.crossword-page{display:flex;justify-content:center;align-items:center;margin:1rem;max-width:100vw;flex-direction:column}.buttons{display:flex;flex-direction:row;justify-content:space-evenly;gap:1rem}.modal-button{margin-top:1rem;padding:10px 20px;font-size:1rem;color:#fff;background-color:#5b9bd2;border:none;border-radius:5px;cursor:pointer;transition:background-color .3s}.modal-button:hover{background-color:#006bb3}.published-author{margin-top:1rem;font-size:1rem;color:#555;font-style:italic;text-align:center;font-family:Helvetica Neue,Arial,sans-serif}.container{height:100vh}.admin-page{font-family:Times New Roman,Times,serif;max-height:100vh;height:90%;display:flex;flex-direction:column;justify-content:center;align-items:center;margin:auto}.admin-page .login-form{display:flex;flex-direction:column;gap:1rem;background-color:#fff;border:1px solid #ccc;padding:30px;width:320px;border-radius:8px;box-shadow:0 4px 10px #0000001a;text-align:left}.admin-page .login-form h2{margin-bottom:10px;font-size:1.5em;text-align:center}.admin-page .login-form div{display:flex;flex-direction:column;gap:5px}.admin-page .login-form label{font-weight:700;font-size:1em;margin-top:10px}.admin-page .login-form input[type=text],.admin-page .login-form input[type=password]{padding:10px;font-size:1em;border:1px solid #ccc;border-radius:6px;font-family:inherit}.admin-page .login-form button{background-color:#333;color:#fff;padding:10px;border:none;cursor:pointer;font-size:1em;font-family:inherit;border-radius:6px;width:100%;margin-top:15px;transition:ease-in .1s}.admin-page .login-form button:hover{background-color:#555}:root{--primary-color: #333;--light-gray: #ccc;--background-light: #f8f8f8}.navbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:100%;max-width:100vw;padding:10px 20px;background-color:var(--background-light);border-bottom:2px solid var(--light-gray);box-sizing:border-box;overflow:hidden;height:60px}.side-car-grid{display:flex;align-items:center;gap:8px}.crossword-icon{width:30px;height:30px}.small-title{text-transform:uppercase;font-weight:700;font-size:18px;font-family:Arial,sans-serif}.masthead{display:flex;justify-content:center;align-items:center;width:200px}.masthead a{display:flex;justify-content:center;align-items:center}.dth-logo{height:26px}.logout-button{background-color:var(--primary-color);color:#fff;padding:.4rem 1rem;border:none;cursor:pointer;font-size:1em;font-family:inherit;border-radius:4px;transition:background-color .2s ease-in-out;max-width:fit-content;justify-self:end}.logout-button:hover{background-color:#555}@media (max-width: 1000px){.navbar{display:flex;flex-direction:column;justify-content:center;align-items:center;height:80px}.masthead{order:-1}.side-car-grid{justify-content:center}.small-title{font-size:15px}.crossword-icon{width:15px;height:15px}.logout-button{padding:.2rem 1rem;border:none;cursor:pointer;font-size:.7em}}.page-container{display:flex;flex-direction:column;align-items:center;max-width:100%}.saved-container{width:90%;max-width:1000px;margin:1rem auto;background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 10px #00000012}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header h2{margin:0}.published-container{width:90%;max-width:1000px;margin:1rem auto;background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 10px #00000012}.published-columns{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}.card-container{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.crossword-wrap{width:auto;height:auto;display:flex;flex-direction:row;gap:2rem;max-width:800px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;margin-top:1.5rem}.published-list{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem}.published-item{padding:1rem;background-color:#f9f9f9;border-radius:8px;border-left:4px solid #dddddd;box-shadow:0 2px 4px #0000000d;transition:all .2s ease}.published-item.currently-published{border-left-color:#4caf50;background-color:#f1f8e9}.published-info{display:flex;flex-direction:column;gap:.5rem}.published-info h3{margin:0;font-size:1.2rem}.published-info p{margin:0;color:#555}.publish-badge{display:inline-block;background-color:#4caf50;color:#fff;font-size:.8rem;padding:.25rem .5rem;border-radius:4px;align-self:flex-start;margin-top:.5rem}.no-data{color:#888;font-style:italic;margin-top:1.5rem}.preview-btn{background-color:#5b9bd2;color:#fff;font-size:.8rem;padding:.25rem .5rem;margin-top:.5rem;border-radius:4px;align-self:flex-start;border:none;cursor:pointer;text-decoration:none}.preview-btn:hover{background-color:#006bb3}.publish-btn{background-color:#4caf50;color:#fff;font-size:.8rem;padding:.25rem .5rem;margin-top:.5rem;border-radius:4px;align-self:flex-start;border:none;cursor:pointer;text-decoration:none}.publish-btn:hover{background-color:#388e3c}.card{width:300px;display:flex;background-color:#fff;border-radius:8px;box-shadow:0 4px 10px #0000001a;transition:all .3s ease;border:2px solid transparent;height:auto;min-height:300px;height:100%;overflow:hidden}.card.published{border-color:#4caf50}.card-content{padding:1rem;display:flex;flex-direction:column;gap:.75rem;flex:1}.card-title{font-size:1.5rem;font-weight:600;margin:0;padding:0;color:#333}.card-info{background-color:#f9f9f9;border-radius:8px;padding:1rem;border:1px solid #eee;display:flex;flex-direction:column;gap:1rem;overflow-y:auto;max-height:180px}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-label{font-weight:600;color:#555;font-size:1rem}.info-value{color:#333;font-size:.95rem;line-height:1.4}.description-text{overflow:hidden;display:-webkit-box;overflow-y:auto;-webkit-line-clamp:3;-webkit-box-orient:vertical}.card-footer{display:flex;flex-direction:column;gap:.75rem;margin-top:auto}.date-container{display:flex;flex-direction:column;gap:.25rem}.date-label{font-weight:500;color:#555;font-size:.9rem}.date-display{padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem;width:100%;background-color:#f9f9f9;color:#333;font-weight:500;box-sizing:border-box;word-wrap:break-word;overflow-wrap:break-word}.button-container{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.5rem;margin-top:.25rem;width:100%;box-sizing:border-box}.card-button{font-size:.8rem;padding:.5rem;margin-top:.5rem;border:none;border-radius:4px;cursor:pointer;font-weight:500;text-align:center;transition:background-color .2s;color:#fff;width:100%;box-sizing:border-box}.publish-button{background-color:#4caf50}.publish-button:hover:not(:disabled){background-color:#3e8e41}.publish-button:disabled{background-color:#ccc;cursor:not-allowed}.preview-button{background-color:#5b9bd2}.preview-button:hover{background-color:#006bb3}.delete-button{background-color:#f44336}.delete-button:hover:not(:disabled){background-color:#d32f2f}.delete-button:disabled{background-color:#ccc;cursor:not-allowed}.card:hover{transform:translateY(-5px);box-shadow:0 8px 15px #0000001a}.upload-crossword-container{display:flex;flex-direction:column;align-items:center;max-width:100%}.dropzone-card{width:90%;max-width:1000px;margin:1rem auto;background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 10px #00000012}.dropzone-container{display:flex;flex-direction:column;width:100%;margin:0 auto}.discard-button{margin-top:1rem;padding:10px 20px;font-size:1rem;color:#fff;background-color:#e30101;border:none;border-radius:5px;cursor:pointer;transition:background-color .3s}.dicard-button:hover{background-color:#96010d}.crossword-container{display:flex;justify-content:center;align-items:center;width:100%;flex-direction:row;margin:auto}.crossword-wrapper{width:auto;height:auto;display:flex;flex-direction:row;gap:2rem;max-width:800px;padding:2rem}.upload-form{margin-bottom:1.5rem}.input-container{display:flex;flex-direction:column;margin-bottom:1rem;width:100%}.input-container label{font-weight:500;margin-bottom:.5rem;color:#333}.text-input,.textarea-input{font-family:Helvetica Neue,Arial,sans-serif;padding:.6rem .8rem;font-size:.95rem;border:1px solid #ccc;border-radius:4px;background-color:#f8f8f8;transition:border-color .3s,box-shadow .3s;width:600px}.text-input:focus,.textarea-input:focus{outline:none;border-color:#5b9bd2;box-shadow:0 0 0 2px #5b9bd240}.text-input::placeholder,.textarea-input::placeholder{color:#aaa}.date-input{width:180px;padding:.5rem;font-size:.9rem;border:1px solid #ccc;border-radius:4px;background-color:#f8f8f8;font-family:Helvetica Neue,Arial,sans-serif;transition:border-color .3s,box-shadow .3s}.date-input-small:focus{outline:none;border-color:#5b9bd2;box-shadow:0 0 0 2px #5b9bd240}.upload-button:disabled{background-color:#ccc;cursor:not-allowed}.crossword-description{font-style:italic;color:#555;margin-bottom:1.5rem;text-align:center}.save-button{margin-top:1rem;padding:10px 20px;font-size:1rem;color:#fff;background-color:#39cb39;border:none;border-radius:5px;cursor:pointer;transition:background-color .3s}.required{color:#e53935;margin-left:2px}.input-error{border:1px solid #e53935!important;background-color:#e539350d}.error-message{color:#e53935;font-size:.8rem;margin-top:4px;margin-bottom:0}.file-error{margin-top:8px;text-align:center}.dropzone-error .dropzone{border:1px dashed #e53935!important;background-color:#e539350d}@media (max-width: 1000px){.page-title{font-size:1.4rem}.page-description{font-size:.95rem}}.dropzone-wrapper{width:100%;display:flex;flex-direction:column;gap:1rem}.dropzone-base{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:2rem;border:2px dashed #cccccc;border-radius:8px;background-color:#fafafa;color:#666;outline:none;transition:border .2s ease-in-out,background-color .2s ease-in-out;cursor:pointer}.dropzone-base:hover{background-color:#f1f1f1}.dropzone-focused,.dropzone-drag-active{border-color:#2196f3;background-color:#2196f314}.dropzone-reject{border-color:#ff1744;background-color:#ff174414}.dropzone-accept{border-color:#00e676;background-color:#00e6761a}.drop-text{font-size:1.1rem;color:#333;margin:.5rem 0}.drop-subtext{font-size:.9rem;color:#777}.accepted-files-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 6px #0000000d;padding:1rem}.accepted-files-container h4{margin:0 0 .5rem;font-size:1rem;color:#444}.accepted-files-list{list-style:none;padding:0;margin:0}.accepted-files-list li{margin:.25rem 0;font-size:.95rem;color:#555}.loading-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;background:#f9f9f9;font-family:Arial,sans-serif}.loading-container p{margin-top:10px;font-size:16px;color:#333}body,html{margin:0;padding:0;font-family:Helvetica Neue,Arial,sans-serif;background-color:#f8f9fa;color:#333}.preview-page-container{display:flex;flex-direction:column;align-items:center;max-width:100%}.preview-card{width:90%;max-width:1000px;margin:1rem auto;background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 10px #00000012}.page-title{margin-top:0;font-size:1.8rem;font-weight:600;color:#212529;text-align:center;margin-bottom:1rem}.page-description{text-align:center;font-size:1rem;color:#555;margin-bottom:2rem}.footer-buttons{display:flex;flex-direction:row;gap:6px}.upload-button{margin-top:1rem;padding:10px 20px;font-size:1rem;color:#fff;background-color:#5b9bd2;border:none;border-radius:5px;cursor:pointer;transition:background-color .3s}.upload-button:hover{background-color:#006bb3}.published-appearance-preview{margin:1.5rem 0;padding:1.5rem;background-color:#f9f9fa;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000000d}.preview-subtitle{font-size:1rem;font-weight:600;color:#555;margin-bottom:1rem;text-align:center}.published-title-container{max-width:800px;margin:0 auto;text-align:center}.published-title{font-size:2.2rem;font-weight:700;color:#333;margin-bottom:.75rem;line-height:1.2;font-family:Georgia,Times New Roman,Times,serif}.published-description{font-size:1.1rem;line-height:1.5;color:#444;margin:0 auto 1.5rem;max-width:650px;font-family:Helvetica Neue,Arial,sans-serif}
