*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-container{align-items:center;background:linear-gradient(135deg,#1e3c72,#2a5298);display:flex;justify-content:center;min-height:100vh;padding:2rem}.login-card{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:400px;padding:3rem;text-align:center;width:100%}.login-card h1{color:#1e3c72;font-size:2rem;margin-bottom:.5rem}.login-card .subtitle{color:#666;font-size:1rem;margin-bottom:1.5rem}.login-card .description{color:#888;line-height:1.6;margin-bottom:2rem}.google-sign-in-button{align-items:center;background:#fff;border:1px solid #dadce0;border-radius:8px;color:#3c4043;cursor:pointer;display:flex;font-size:16px;font-weight:500;gap:12px;justify-content:center;padding:12px 24px;transition:all .2s;width:100%}.google-sign-in-button:hover:not(:disabled){border-color:#dadce0;box-shadow:0 2px 8px #00000026}.google-sign-in-button:disabled{cursor:not-allowed;opacity:.6}.google-icon{height:20px;width:20px}.layout{background-color:#f5f5f5;display:flex;flex-direction:column;min-height:100vh}.layout-header{background:linear-gradient(135deg,#1e3c72,#2a5298);box-shadow:0 2px 4px #0000001a;color:#fff;padding:1rem 0;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-content{align-items:center;display:flex;gap:2rem;justify-content:space-between;margin:0 auto;max-width:1400px;padding:0 2rem}.logo{color:#fff;text-decoration:none}.logo h1{font-size:1.5rem;font-weight:700;margin:0}.main-nav{display:flex;flex:1 1;gap:1rem;justify-content:center}.nav-link{border-radius:6px;color:#ffffffe6;font-weight:500;padding:.5rem 1rem;text-decoration:none;transition:all .2s}.nav-link:hover{background:#ffffff1a;color:#fff}.nav-link.active{background:#fff3;color:#fff}.user-menu{align-items:center;display:flex;gap:1rem}.user-email{font-size:.9rem;opacity:.9}.sign-out-button{background:#fff3;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .2s}.sign-out-button:hover{background:#ffffff4d}.layout-main{flex:1 1;padding:0}@media (max-width:768px){.header-content{flex-direction:column;gap:1rem}.main-nav{justify-content:space-around;width:100%}.user-menu{justify-content:space-between;width:100%}}.dashboard{display:flex;flex-direction:column;min-height:100vh}.dashboard-main{flex:1 1;margin:0 auto;max-width:1200px;padding:2rem;width:100%}.welcome-section h2{color:#1e3c72;margin-bottom:.5rem}.welcome-section>p{color:#666;margin-bottom:2rem}.feature-cards{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:2rem}.feature-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:2rem;transition:transform .2s,box-shadow .2s}.feature-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.feature-card h3{color:#1e3c72;margin-bottom:.5rem}.feature-card p{color:#666;line-height:1.6;margin-bottom:1.5rem}.card-button{background:#1e3c72;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem;transition:background .2s;width:100%}.card-button:hover{background:#2a5298}.bulk-update-modal{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.bulk-update-content{background:#fff;border-radius:8px;max-height:90vh;max-width:800px;overflow-y:auto;padding:2rem;width:90%}.bulk-update-content h3{color:#1e3c72;margin-bottom:.5rem;margin-top:0}.bulk-update-description{color:#666;font-size:.95rem;margin-bottom:1.5rem}.bulk-update-table-container{border:1px solid #ddd;border-radius:6px;margin-bottom:1.5rem;max-height:400px;overflow-y:auto}.bulk-update-table{border-collapse:collapse;width:100%}.bulk-update-table thead{background:#f5f5f5;position:-webkit-sticky;position:sticky;top:0;z-index:10}.bulk-update-table th{border-bottom:2px solid #ddd;color:#333;font-weight:600;padding:.75rem;text-align:left}.bulk-update-table td{border-bottom:1px solid #eee;padding:.75rem}.bulk-update-table tbody tr:hover{background:#f9f9f9}.current-days{color:#666;font-weight:500;text-align:center}.days-input{border:1px solid #ddd;border-radius:4px;padding:.5rem;text-align:center;width:100px}.days-input:focus{border-color:#1e3c72;outline:none}.bulk-update-actions{display:flex;gap:1rem;justify-content:flex-end}.soldier-profile-modal{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:2000}.soldier-profile-content{background:#fff;border-radius:8px;box-shadow:0 10px 40px #0003;max-height:90vh;max-width:800px;overflow-y:auto;width:100%}.profile-header{align-items:center;background:linear-gradient(135deg,#1e3c72,#2a5298);border-bottom:2px solid #eee;color:#fff;display:flex;justify-content:space-between;padding:1.5rem}.profile-header h2{color:#fff;margin:0}.close-button{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:2rem;height:40px;justify-content:center;transition:background .2s;width:40px}.close-button:hover{background:#ffffff4d}.profile-sections{padding:1.5rem}.profile-section{margin-bottom:2rem}.profile-section:last-child{margin-bottom:0}.profile-section h3{color:#1e3c72;font-size:1.2rem;margin-bottom:1rem}.info-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.info-item{background:#f9f9f9;border-radius:6px;padding:.75rem}.info-item strong{color:#1e3c72;margin-right:.5rem}.days-since-duty-item{display:flex;flex-direction:column;gap:.5rem}.days-display,.days-edit-controls{align-items:center;display:flex;gap:.5rem}.days-input-inline{border:1px solid #ddd;border-radius:4px;font-size:.9rem;padding:.4rem;text-align:center;width:80px}.days-input-inline:focus{border-color:#1e3c72;outline:none}.btn-edit-inline{background:#0000;border:none;cursor:pointer;font-size:1rem;opacity:.6;padding:.25rem;transition:opacity .2s}.btn-edit-inline:hover{opacity:1}.btn-cancel-small,.btn-save-small{border:none;border-radius:4px;cursor:pointer;font-size:.85rem;padding:.4rem .8rem;transition:all .2s}.btn-save-small{background:#4caf50;color:#fff}.btn-save-small:hover{background:#45a049}.btn-cancel-small{background:#e0e0e0;color:#333}.btn-cancel-small:hover{background:#d0d0d0}.appointment-form-card{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:6px;margin-bottom:1.5rem;padding:1.5rem}.appointment-form-card h4{color:#1e3c72;margin-bottom:1rem;margin-top:0}.appointments-list{display:flex;flex-direction:column;gap:1rem}.appointment-card{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;padding:1rem}.appointment-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.appointment-header strong{color:#1e3c72;margin-right:.5rem}.exception-badge{background:#ffccbc;border-radius:4px;color:#d84315;display:inline-block;font-size:.85rem;font-weight:600;margin-left:.5rem;padding:.2rem .5rem}.appointment-actions{display:flex;gap:.5rem}.appointment-dates{color:#666;font-size:.9rem;margin-bottom:.5rem}.appointment-notes{border-top:1px solid #e0e0e0;color:#666;font-size:.85rem;font-style:italic;margin-top:.5rem;padding-top:.5rem}.btn-primary-small,.btn-secondary-small{border:none;border-radius:4px;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .2s}.btn-primary-small{background:#1e3c72;color:#fff}.btn-primary-small:hover{background:#2a5298}.btn-secondary-small{background:#e0e0e0;color:#333}.btn-secondary-small:hover{background:#d0d0d0}.btn-delete-small,.btn-edit-small{border:none;border-radius:4px;cursor:pointer;font-size:.85rem;padding:.4rem .8rem;transition:all .2s}.btn-edit-small{background:#2196f3;color:#fff}.btn-edit-small:hover{background:#1976d2}.loading{padding:2rem}.form-group input,.form-group label,.form-group select,.form-group textarea{font-size:.9rem}.soldiers-container{margin:0 auto;max-width:1400px;padding:2rem}.soldiers-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.header-actions{align-items:center;display:flex;gap:1rem}.soldiers-header h2{color:#1e3c72;margin:0}.btn-primary{background:#1e3c72;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:background .2s}.btn-primary:hover{background:#2a5298}.btn-secondary{background:#e0e0e0;border:none;border-radius:6px;color:#333;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:background .2s}.btn-secondary:hover{background:#d0d0d0}.soldier-form-modal{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.soldier-form-content{background:#fff;border-radius:8px;max-height:90vh;max-width:800px;overflow-y:auto;padding:2rem;width:90%}.soldier-form-content h3{color:#1e3c72;margin-bottom:1.5rem;margin-top:0}.form-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.form-group input,.form-group textarea{border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:.5rem}.form-group input:focus,.form-group textarea:focus{border-color:#1e3c72;outline:none}.form-actions{margin-top:1.5rem}.soldiers-list{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:1.5rem}.soldiers-table{border-collapse:collapse;width:100%}.soldiers-table thead{background:#f5f5f5}.soldiers-table th{border-bottom:2px solid #ddd;color:#333;font-weight:600;padding:1rem;text-align:left}.soldiers-table td{border-bottom:1px solid #eee;padding:1rem}.soldiers-table tbody tr:hover{background:#f9f9f9}.btn-delete,.btn-edit{border:none;border-radius:4px;cursor:pointer;font-size:.9rem;margin-right:.5rem;padding:.5rem 1rem;transition:all .2s}.btn-edit{background:#2196f3;color:#fff}.btn-edit:hover{background:#1976d2}.btn-delete{background:#f44336;color:#fff}.btn-delete:hover{background:#d32f2f}.field-help{color:#666;display:block;font-size:.85rem;font-style:italic;margin-top:.25rem}.days-badge{border-radius:12px;padding:.25rem .75rem}.days-badge.low{background:#c8e6c9;color:#2e7d32}.days-badge.medium{background:#fff9c4;color:#f57f17}.days-badge.high{background:#ffccbc;color:#d84315}.forms-list-container{margin:0 auto;max-width:1400px;padding:2rem}.forms-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.forms-header h2{color:#1e3c72;margin:0}.forms-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.form-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:1.5rem;transition:transform .2s,box-shadow .2s}.form-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.form-card-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.form-card-header h3{color:#1e3c72;font-size:1.2rem;margin:0}.status-badge{border-radius:12px;font-size:.85rem;font-weight:500;padding:.25rem .75rem;text-transform:capitalize}.status-draft{background:#fff3cd;color:#856404}.status-completed{background:#d4edda;color:#155724}.status-submitted{background:#cce5ff;color:#004085}.form-card-body{margin-bottom:1rem}.form-card-body p{color:#666;font-size:.9rem;margin:.5rem 0}.form-card-actions{border-top:1px solid #eee;display:flex;gap:.5rem;padding-top:1rem}.empty-state{background:#fff;border-radius:8px;padding:3rem}.da6-form-container{margin:0 auto;max-width:1200px;padding:2rem}.form-header{align-items:center;border-bottom:2px solid #eee;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.form-header h2{color:#1e3c72;margin:0}.form-content{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:2rem}.form-section{margin-bottom:2rem}.form-section:last-child{margin-bottom:0}.form-section h3{color:#1e3c72;font-size:1.3rem}.form-row,.form-section h3,.section-header{margin-bottom:1rem}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.form-group{display:flex;flex-direction:column}.form-group label{color:#333;font-weight:500;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:1rem;padding:.5rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#1e3c72;outline:none}.assignments-list{display:flex;flex-direction:column;gap:1rem}.assignment-card{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;padding:1.5rem}.assignment-header{align-items:center;border-bottom:1px solid #ddd;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.5rem}.assignment-header h4{color:#1e3c72;font-size:1.1rem;margin:0}.btn-delete-small{background:#f44336;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:.4rem .8rem;transition:background .2s}.btn-delete-small:hover{background:#d32f2f}.empty-state{background:#f9f9f9;border-radius:6px}.loading{color:#666;padding:3rem;text-align:center}.section-description{font-size:.95rem;margin-bottom:1.5rem}.soldiers-selection-grid{background:#f9f9f9;border-radius:6px;display:flex;flex-direction:column;gap:.5rem;max-height:500px;overflow-y:auto;padding:1rem}.soldier-selection-item{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:4px;display:flex;justify-content:space-between;padding:.75rem;transition:all .2s}.soldier-selection-item:hover{background:#f5f5f5;border-color:#1e3c72}.soldier-item-actions{align-items:center;display:flex;gap:.5rem}.appointments-badge{align-items:center;background:#e3f2fd;border-radius:12px;color:#1976d2;display:inline-flex;font-size:.85rem;font-weight:500;gap:.25rem;padding:.25rem .5rem}.unavailable-badge{cursor:help;font-size:1.2rem}.btn-profile{background:#1e3c72;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;padding:.4rem .8rem;transition:background .2s}.btn-profile:hover{background:#2a5298}.select-all-checkbox{align-items:center;background:#e3f2fd;border-radius:6px;color:#1e3c72;cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.5rem 1rem}.select-all-checkbox input[type=checkbox]{cursor:pointer;height:18px;width:18px}.soldier-checkbox-item{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;display:flex;gap:.75rem;padding:.75rem;transition:all .2s}.soldier-checkbox-item:hover{background:#f0f0f0;border-color:#1e3c72}.soldier-checkbox-item input[type=checkbox]{cursor:pointer;height:18px;width:18px}.soldier-label{color:#333;flex:1 1;font-size:.95rem}.exception-codes-reference{background:#e3f2fd;border:1px solid #90caf9;border-radius:6px;margin-bottom:1.5rem;padding:1rem}.exception-codes-reference h4{color:#1e3c72;font-size:1rem;margin-bottom:.75rem;margin-top:0}.exception-codes-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.exception-code-item{color:#333;font-size:.85rem}.exception-code-item strong{color:#1e3c72;margin-right:.25rem}.exceptions-table-container{border:1px solid #ddd;border-radius:6px;max-height:600px;overflow-x:auto;overflow-y:auto}.exceptions-table{background:#fff;border-collapse:collapse;font-size:.85rem;width:100%}.exceptions-table thead{background:#1e3c72;color:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:10}.exceptions-table th{border:1px solid #2a5298;font-weight:600;min-width:50px;padding:.5rem;text-align:center}.exceptions-table th:first-child{background:#1e3c72;left:0;min-width:200px;position:-webkit-sticky;position:sticky;text-align:left;z-index:11}.weekend-header{background:#fff9e6!important;color:#856404!important}.soldier-name-cell{background:#f5f5f5;border-right:2px solid #ddd;font-weight:500;left:0;padding:.5rem;position:-webkit-sticky;position:sticky;white-space:nowrap;z-index:5}.exceptions-table td{border:1px solid #e0e0e0;padding:.25rem;text-align:center}.weekend-cell{background:#fff9e6}.exception-select{background:#fff;border:1px solid #ddd;border-radius:3px;cursor:pointer;font-size:.8rem;padding:.25rem;width:100%}.exception-select:focus{border-color:#1e3c72;box-shadow:0 0 0 2px #1e3c721a;outline:none}.exception-select option{padding:.25rem}.cross-roster-exception{background:#fff3cd!important}.exception-select.cross-roster{background:#fff3cd;border-color:#ffc107;font-weight:500}.form-section-subsection{border-top:1px solid #e0e0e0;margin-top:1.5rem;padding-top:1.5rem}.form-section-subsection h4{color:#1e3c72;font-size:1.1rem;margin-bottom:.5rem}.form-section-subsection h5{color:#1e3c72;font-size:.95rem;font-weight:600;margin-bottom:.75rem}.rank-requirements-table-container{border:1px solid #ddd;border-radius:6px;max-height:500px;overflow-x:auto;overflow-y:auto}.rank-requirements-table{background:#fff;border-collapse:collapse;font-size:.9rem;width:100%}.rank-requirements-table thead{background:#1e3c72;color:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:10}.rank-requirements-table th{border:1px solid #2a5298;font-weight:600;padding:.75rem;text-align:left}.rank-requirements-table tbody tr{border-bottom:1px solid #e0e0e0}.rank-requirements-table tbody tr:hover{background:#f5f5f5}.rank-category-header{background:#e3f2fd!important;font-weight:600}.rank-category-header td{border-bottom:2px solid #90caf9;color:#1e3c72;padding:.75rem}.rank-code-cell{padding:.5rem .75rem;text-align:center;width:80px}.rank-name-cell{color:#333;padding:.5rem .75rem}.rank-quantity-cell{padding:.5rem .75rem;width:120px}.rank-quantity-input{border:1px solid #ddd;border-radius:4px;font-size:.9rem;padding:.5rem;text-align:center;width:100%}.rank-quantity-input:focus{border-color:#1e3c72;box-shadow:0 0 0 2px #1e3c721a;outline:none}.rank-requirements-list{margin-bottom:2rem}.rank-requirements-list h5{color:#1e3c72;font-size:1rem;margin-bottom:1rem}.rank-requirement-item{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;margin-bottom:1rem;padding:1rem}.requirement-main{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.75rem}.requirement-quantity{border:1px solid #ddd;border-radius:4px;padding:.5rem;text-align:center;width:60px}.requirement-label{color:#666;font-weight:500}.requirement-group-select,.requirement-range-select{border:1px solid #ddd;border-radius:4px;font-size:.9rem;padding:.5rem}.requirement-preferences{border-top:1px solid #e0e0e0;display:flex;flex-direction:column;gap:.5rem;padding-top:.75rem}.requirement-preferences label{color:#666;display:flex;flex-direction:column;font-size:.85rem;gap:.25rem}.fallback-ranks-input,.preferred-ranks-input{border:1px solid #ddd;border-radius:4px;font-size:.9rem;padding:.5rem}.rank-exclusions{border-top:1px solid #e0e0e0;margin-top:2rem;padding-top:1.5rem}.rank-exclusions h5{color:#1e3c72;font-size:1rem;margin-bottom:.5rem}.exclusions-section{display:flex;flex-direction:column;gap:1rem}.exclusion-groups{display:flex;flex-direction:column;gap:.5rem}.exclusion-groups>label:first-child{color:#333;font-weight:600;margin-bottom:.5rem}.exclusion-checkbox{align-items:center;cursor:pointer;display:flex;gap:.5rem}.exclusion-checkbox input[type=checkbox]{cursor:pointer;height:18px;width:18px}.exclusion-ranks{display:flex;flex-direction:column;gap:.5rem}.exclusion-ranks label{color:#333;display:flex;flex-direction:column;font-weight:500;gap:.25rem}.excluded-ranks-input{border:1px solid #ddd;border-radius:4px;font-size:.9rem;padding:.5rem}.da6-form-view{background:#fff;margin:0 auto;max-width:100%;min-height:calc(100vh - 80px);padding:2rem}.form-view-header{align-items:center;border-bottom:3px solid #1e3c72;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.form-view-header h1{color:#1e3c72;font-size:2rem;font-weight:700;margin:0}.form-actions-header{display:flex;gap:1rem}.form-actions-header button.active{background:#1e3c72;border-color:#1e3c72;color:#fff}.roster-info{background:#f5f5f5;border-radius:6px;margin-bottom:2rem;padding:1rem}.info-row{display:flex;justify-content:space-between;margin-bottom:.5rem}.info-row:last-child{margin-bottom:0}.info-row span{color:#333;font-size:.95rem}.roster-container{border:2px solid #ddd;border-radius:6px;margin-bottom:2rem;overflow-x:auto}.roster-table-wrapper{min-width:100%}.roster-table{background:#fff;border-collapse:collapse;font-size:.85rem;width:100%}.roster-table thead{background:#1e3c72;color:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:10}.roster-table th{border:1px solid #2a5298;font-weight:600;min-width:40px;padding:.5rem;text-align:center}.grade-col{background:#2a5298;width:80px}.name-col{background:#2a5298;text-align:left!important;width:200px}.days-col{background:#2a5298;text-align:center!important;width:120px}.date-col{padding:.25rem!important;width:35px}.date-header{align-items:center;display:flex;flex-direction:column}.month-label{font-size:.7rem;font-weight:700;margin-bottom:2px}.day-number{font-size:.85rem}.roster-table tbody tr{border-bottom:1px solid #e0e0e0}.roster-table tbody tr:hover{background:#f9f9f9}.grade-cell{background:#e8eaf6;border-right:2px solid #ddd;color:#1e3c72;font-weight:600;text-align:center;vertical-align:middle}.name-cell{font-weight:500;white-space:nowrap}.days-cell,.name-cell{background:#f5f5f5;border-right:2px solid #ddd;padding:.5rem}.days-cell{text-align:center;vertical-align:middle}.days-badge{border-radius:4px;display:inline-block;font-size:.85rem;font-weight:600;padding:.25rem .5rem}.days-badge.low{background:#d4edda;color:#155724}.days-badge.medium{background:#fff3cd;color:#856404}.days-badge.high{background:#f8d7da;color:#721c24}.assignment-cell{border:1px solid #e0e0e0;font-size:.85rem;font-weight:500;height:35px;min-width:35px;padding:.25rem;position:relative;text-align:center;vertical-align:middle}.assignment-cell.weekend{background:#fff9e6}.assignment-cell.assigned{background:#c5cae9;font-weight:600}.assignment-cell.exception{background:#ffccbc;color:#d84315;font-weight:600}.assignment-mark{color:#1e3c72;display:inline-block;font-size:.9rem}.assignment-cell.exception .assignment-mark{color:#d84315}.form-footer{align-items:center;border-top:2px solid #ddd;display:flex;justify-content:space-between;padding-top:1rem}.status-badge-large{border-radius:6px;font-weight:600;padding:.5rem 1rem;text-transform:uppercase}.status-badge-large.status-draft{background:#fff3cd;color:#856404}.status-badge-large.status-completed{background:#d4edda;color:#155724}.status-badge-large.status-submitted{background:#cce5ff;color:#004085}.form-meta{color:#666;display:flex;font-size:.9rem;gap:1.5rem}.error,.loading{color:#666;padding:3rem;text-align:center}.error{color:#d32f2f}.compact-list-container{border:2px solid #ddd;border-radius:6px;margin-bottom:2rem;overflow-x:auto}.compact-list-table{background:#fff;border-collapse:collapse;font-size:.9rem;width:100%}.compact-list-table thead{background:#1e3c72;color:#fff}.compact-list-table th{border:1px solid #2a5298;font-weight:600;padding:.75rem 1rem;text-align:left}.compact-list-table tbody tr{border-bottom:1px solid #e0e0e0}.compact-list-table tbody tr:hover{background:#f9f9f9}.compact-list-table td{border:1px solid #e0e0e0;padding:.75rem 1rem}.compact-date{color:#1e3c72;font-weight:500;white-space:nowrap}.compact-duty{color:#333;font-weight:500}.compact-soldiers{color:#555}@media print{.form-actions-header,.form-footer,.form-view-header{display:none}.compact-list-container,.roster-container{border:none;overflow:visible}.roster-table{font-size:.75rem}.assignment-cell{height:30px}.compact-list-table{font-size:.8rem}.compact-list-table td,.compact-list-table th{padding:.5rem}.compact-list-table tbody tr{page-break-inside:avoid}}.settings-container{margin:0 auto;max-width:1200px;padding:2rem}.settings-header{margin-bottom:2rem}.settings-header h2{color:#333;margin:0}.settings-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem;padding:2rem}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.section-header h3{color:#333;margin:0}.section-description{color:#666;font-size:.9rem;margin:.5rem 0}.federal-holidays-section{background:#f5f5f5;border-radius:6px;margin-bottom:2rem;padding:1.5rem}.federal-holidays-section h4{color:#333;margin-top:0}.holiday-form{background:#f9f9f9;border-radius:6px;margin-bottom:1.5rem;padding:1.5rem}.holiday-form h4{color:#333;margin-top:0}.holidays-list{margin-top:1.5rem}.holidays-table{border-collapse:collapse;margin-top:1rem;width:100%}.holidays-table td,.holidays-table th{border-bottom:1px solid #ddd;padding:.75rem;text-align:left}.holidays-table th{background-color:#f5f5f5;color:#333;font-weight:600}.holidays-table tr:hover{background-color:#f9f9f9}.holidays-table input[type=date],.holidays-table input[type=text]{border:1px solid #ddd;border-radius:4px;font-size:.9rem;padding:.5rem;width:100%}.empty-state{color:#666;padding:2rem;text-align:center}.empty-state p{margin:0}.form-actions{display:flex;gap:1rem;margin-top:1rem}.btn-delete-small{font-size:.85rem;padding:.25rem .5rem}.setup-required{align-items:center;background:linear-gradient(135deg,#1e3c72,#2a5298);display:flex;justify-content:center;min-height:100vh;padding:2rem}.setup-card{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:700px;padding:3rem;width:100%}.setup-card h1{color:#f44336;font-size:2rem;margin-bottom:1rem}.setup-message{color:#666;font-size:1.1rem;line-height:1.6;margin-bottom:2rem}.setup-instructions{background:#f5f5f5;border-radius:8px;margin-top:1.5rem;padding:1.5rem}.setup-instructions h2{color:#1e3c72;font-size:1.3rem;margin-bottom:1rem}.setup-instructions ol{color:#333;line-height:1.8;margin-left:1.5rem}.setup-instructions li{margin-bottom:1rem}.setup-instructions code{background:#e0e0e0;border-radius:4px;font-family:Courier New,monospace;font-size:.9em;padding:2px 6px}.setup-instructions pre{background:#2d2d2d;border-radius:6px;color:#f8f8f2;font-size:.9rem;margin:.5rem 0;overflow-x:auto;padding:1rem}.setup-note{background:#e3f2fd;border-left:4px solid #2196f3;border-radius:4px;color:#1976d2;margin-top:1.5rem;padding:1rem}.setup-note code{background:#ffffff80;border-radius:4px;padding:2px 6px}.loading-container{align-items:center;background:linear-gradient(135deg,#1e3c72,#2a5298);display:flex;justify-content:center;min-height:100vh}.loading-spinner{color:#fff;font-size:1.2rem}
/*# sourceMappingURL=main.50b81465.css.map*/