*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.app-layout{display:flex;flex-direction:column;min-height:100vh}.app-header{align-items:center;background-color:#1a3a5c;display:flex;justify-content:space-between;padding:.75rem 1.5rem}.app-header nav{display:flex;gap:1.5rem}.app-header-user{align-items:center;display:flex}.logout-button{background:#0000;border:1px solid #fff;border-radius:4px;color:#fff;cursor:pointer;font-size:.875rem;padding:.35rem .75rem}.logout-button:hover{background:#ffffff26}.app-header nav a{color:#fff;font-weight:500;text-decoration:none}.app-header nav a:hover{text-decoration:underline}.app-main{flex:1 1;margin:0 auto;max-width:1200px;padding:1.5rem;width:100%}h1{color:#1a3a5c;margin-bottom:1rem}.race-events-filters{align-items:flex-end;background:#fff;border-radius:6px;box-shadow:0 1px 3px #0000001a;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding:1rem}.race-events-filters label{color:#555;display:flex;flex-direction:column;font-size:.85rem;font-weight:600;gap:.25rem}.race-events-filters input,.race-events-filters select{border:1px solid #ccc;border-radius:4px;font-size:.9rem;min-width:140px;padding:.4rem .5rem}.clear-filters-btn{background:#e0e0e0;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;padding:.4rem .75rem}.clear-filters-btn:hover{background:#d0d0d0}.race-events-table{background:#fff;border-collapse:collapse;border-radius:6px;box-shadow:0 1px 3px #0000001a;overflow:hidden;width:100%}.race-events-table th{background:#1a3a5c;color:#fff;font-size:.9rem;padding:.75rem 1rem;text-align:left}.race-events-table td{border-bottom:1px solid #eee;font-size:.9rem;padding:.75rem 1rem}.race-event-row{cursor:pointer;transition:background .15s}.race-event-row:hover{background:#eef3f8}.race-event-row:focus{outline:2px solid #1a3a5c;outline-offset:-2px}.error-message{background:#fdecea;border-radius:4px;color:#c0392b;padding:.75rem}.compliance-page{margin:0 auto;max-width:900px}.compliance-header{margin-bottom:1.5rem}.compliance-back-btn{background:none;border:none;color:#1a3a5c;cursor:pointer;display:inline-block;font-size:.9rem;margin-bottom:.5rem;padding:.25rem 0}.compliance-back-btn:hover{text-decoration:underline}.compliance-section{background:#fff;border-radius:6px;box-shadow:0 1px 3px #0000001a;margin-bottom:1.5rem;padding:1rem 1.25rem}.compliance-section-title{border-bottom:2px solid #e8edf2;color:#1a3a5c;font-size:1.1rem;margin-bottom:.75rem;padding-bottom:.5rem}.compliance-requirements-list{display:flex;flex-direction:column;gap:.75rem}.compliance-requirement{border:1px solid #e8edf2;border-radius:4px;padding:.6rem .75rem}.compliance-requirement-header{align-items:center;display:flex;gap:.6rem}.compliance-status-icon{align-items:center;border-radius:50%;display:inline-flex;flex-shrink:0;font-size:.85rem;font-weight:700;height:24px;justify-content:center;width:24px}.compliance-status-icon.met{background:#d4edda;color:#155724}.compliance-status-icon.unmet{background:#f8d7da;color:#721c24}.compliance-requirement-desc{font-size:.9rem}.compliance-progress{margin-top:.4rem;padding-left:2.1rem}.compliance-progress-bar{background:#e9ecef;border-radius:5px;height:10px;margin-bottom:.2rem;overflow:hidden}.compliance-progress-fill{border-radius:5px;height:100%;transition:width .3s ease}.compliance-progress-fill.met{background:#28a745}.compliance-progress-fill.unmet{background:#dc3545}.compliance-count,.compliance-progress-text{color:#666;font-size:.8rem}.compliance-count{margin-top:.3rem;padding-left:2.1rem}.compliance-success-banner{align-items:center;background:#d4edda;border:1px solid #c3e6cb;border-radius:6px;color:#155724;display:flex;font-size:.95rem;font-weight:600;gap:.75rem;margin-bottom:1.5rem;padding:.85rem 1.25rem}.compliance-success-icon{align-items:center;background:#155724;border-radius:50%;color:#fff;display:inline-flex;flex-shrink:0;font-size:1rem;height:28px;justify-content:center;width:28px}.compliance-expiration-warnings{background:#fff3cd;border:1px solid #ffc107;border-radius:6px;margin-bottom:1.5rem;padding:1rem 1.25rem}.compliance-expiration-title{color:#856404;font-size:1rem;margin-bottom:.5rem}.compliance-expiration-list{display:flex;flex-direction:column;gap:.4rem;list-style:none}.compliance-expiration-item{align-items:center;background:#ffc1071a;border-radius:4px;color:#856404;display:flex;font-size:.9rem;justify-content:space-between;padding:.4rem .5rem}.compliance-expiration-item.critical{background:#f8d7da;color:#721c24}.compliance-expiration-type{font-weight:600}.compliance-expiration-days{font-size:.85rem;white-space:nowrap}.compliance-download-btn{background:#1a3a5c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem}.compliance-download-btn:hover{background:#254d73}.compliance-download-btn:disabled{cursor:not-allowed;opacity:.6}.crew-page{display:flex;flex-direction:column;gap:1.5rem}.add-crew-btn{align-self:flex-start;background:#1a3a5c;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:background .2s}.add-crew-btn:hover{background:#2c5282}.form-field{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem}.form-field label{color:#555;font-size:.85rem;font-weight:600}.form-field input,.form-field select{border:1px solid #ccc;border-radius:4px;font-size:.9rem;padding:.5rem}.field-error{color:#c0392b;font-size:.8rem}.success-message{background:#d4edda;border-radius:4px;color:#155724;font-size:.9rem;margin-bottom:.5rem;padding:.5rem .75rem}.crew-table{background:#fff;border-collapse:collapse;border-radius:6px;box-shadow:0 1px 3px #0000001a;overflow:hidden;width:100%}.crew-table th{background:#1a3a5c;color:#fff;text-align:left}.crew-table td,.crew-table th{font-size:.9rem;padding:.75rem 1rem}.crew-table td{border-bottom:1px solid #eee}.verification-badge{border-radius:10px;display:inline-block;font-size:.8rem;font-weight:600;padding:.15rem .5rem}.verification-badge.verified{background:#d4edda;color:#155724}.verification-badge.unverified{background:#f8d7da;color:#721c24}.csv-drop-zone{border:2px dashed #ccc;border-radius:6px;cursor:pointer;margin-bottom:1rem;padding:2rem;text-align:center;transition:border-color .2s,background .2s}.csv-drop-zone.dragging{background:#eef3f8;border-color:#1a3a5c}.document-upload-page{margin-bottom:2rem}.drop-zone{border:2px dashed #ccc;border-radius:6px;cursor:pointer;margin-bottom:1rem;padding:2rem;text-align:center;transition:border-color .2s,background .2s}.drop-zone.dragging{background:#eef3f8;border-color:#1a3a5c}.progress-bar{background:#e9ecef;border-radius:5px;height:10px;margin-bottom:.5rem;overflow:hidden}.progress-bar-fill{background:#1a3a5c;border-radius:5px;height:100%;transition:width .3s ease}.document-list-page{margin-top:1rem}.document-section{background:#fff;border-radius:6px;box-shadow:0 1px 3px #0000001a;margin-bottom:1.5rem;padding:1rem 1.25rem}.document-row{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:.6rem 0}.document-row:last-child{border-bottom:none}.document-info{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.document-type,.status-badge{font-weight:600}.status-badge{border-radius:10px;display:inline-block;font-size:.8rem;padding:.15rem .5rem}.status-verified{background:#d4edda;color:#155724}.status-pending{background:#fff3cd;color:#856404}.status-failed{background:#f8d7da;color:#721c24}.status-expired{background:#e2e3e5;color:#383d41}.document-expiration{color:#666;font-size:.85rem}.expiration-warning{color:#856404;font-size:.8rem;font-weight:600}.expiration-warning.expired{color:#721c24}.document-actions{display:flex;flex-shrink:0;gap:.5rem}.delete-btn,.download-btn,.view-btn{border:none;border-radius:4px;cursor:pointer;font-size:.85rem;padding:.35rem .75rem}.view-btn{background:#28a745;color:#fff}.view-btn:hover{background:#218838}.view-btn:disabled{cursor:not-allowed;opacity:.6}.download-btn{background:#1a3a5c;color:#fff}.download-btn:hover{background:#254d73}.delete-btn{background:#dc3545;color:#fff}.delete-btn:hover{background:#c82333}.document-viewer{max-height:90vh;max-width:90vw;width:900px}.document-viewer .modal-body{align-items:center;background:#f5f5f5;display:flex;height:calc(90vh - 60px);justify-content:center;padding:0}.document-iframe{border:none;height:100%;width:100%}.document-image{max-height:100%;max-width:100%;object-fit:contain}.modal-close{background:none;border:none;color:#666;cursor:pointer;font-size:1.75rem;line-height:1;padding:0}.modal-close:hover{color:#333}.documents-table{border-collapse:collapse;font-size:.9rem;width:100%}.documents-table td,.documents-table th{border-bottom:1px solid #e0e0e0;padding:.75rem;text-align:left}.documents-table th{background:#f5f7fa;color:#1a3a5c;font-weight:600}.documents-table tr:hover{background:#f9fafb}.documents-table .document-actions{display:flex;gap:.5rem;justify-content:flex-start}.table-responsive{overflow-x:auto}.text-danger{color:#dc3545;font-weight:500}.text-warning{color:#e67e22;font-weight:500}.empty-section{color:#888;font-style:italic}.admin-layout{display:flex;gap:1.5rem}.admin-nav{background:#fff;border-radius:6px;box-shadow:0 1px 3px #0000001a;flex-shrink:0;padding:1rem;width:220px}.admin-nav h2{border-bottom:2px solid #e8edf2;color:#1a3a5c;font-size:1.1rem;margin-bottom:.75rem;padding-bottom:.5rem}.admin-nav ul{display:flex;flex-direction:column;gap:.25rem;list-style:none}.admin-nav a{border-radius:4px;color:#333;display:block;font-size:.9rem;padding:.5rem .75rem;text-decoration:none}.admin-nav a:hover{background:#eef3f8}.admin-nav a.active{background:#1a3a5c;color:#fff}.admin-content{flex:1 1;min-width:0}.form-actions{display:flex;gap:.5rem;margin-top:.5rem}.form-actions button{border:none;border-radius:4px;cursor:pointer;font-size:.9rem;padding:.5rem 1rem}.form-actions button:first-child,.form-actions button[type=submit]{background:#1a3a5c;color:#fff}.form-actions button:first-child:hover,.form-actions button[type=submit]:hover{background:#254d73}.form-actions button:disabled{cursor:not-allowed;opacity:.6}.info-message{background:#d1ecf1;border-radius:4px;color:#0c5460;font-size:.85rem;margin-bottom:.75rem;padding:.5rem .75rem}.global-documents-table,.requirements-edit-table,.requirements-table{background:#fff;border-collapse:collapse;border-radius:6px;box-shadow:0 1px 3px #0000001a;margin-bottom:1rem;overflow:hidden;width:100%}.global-documents-table th,.requirements-edit-table th,.requirements-table th{background:#1a3a5c;color:#fff;font-size:.85rem;padding:.6rem .75rem;text-align:left}.global-documents-table td,.requirements-edit-table td,.requirements-table td{border-bottom:1px solid #eee;font-size:.85rem;padding:.6rem .75rem}.category-section{background:#fff;border-radius:6px;box-shadow:0 1px 3px #0000001a;margin-bottom:1rem;overflow:hidden}.category-header{align-items:center;cursor:pointer;display:flex;gap:.75rem;padding:.75rem 1rem;transition:background .15s}.category-header:hover{background:#f8f9fa}.requirement-count{color:#666;font-size:.85rem}.expand-indicator{color:#888;font-size:.8rem;margin-left:auto}.category-details{padding:0 1rem 1rem}.category-meta{color:#666;display:flex;font-size:.85rem;gap:1.5rem;margin-bottom:.75rem}.edit-form{border-top:1px solid #eee;margin-top:1rem;padding-top:1rem}.qualification-matrix-page{max-width:100%}.qualification-matrix-header{margin-bottom:1rem}.qualification-matrix-back-btn{background:none;border:none;color:#1a3a5c;cursor:pointer;display:inline-block;font-size:.9rem;margin-bottom:.5rem;padding:.25rem 0}.qualification-matrix-back-btn:hover{text-decoration:underline}.matrix-legend{display:flex;font-size:.85rem;gap:1.5rem;margin-bottom:1rem}.legend-item{align-items:center;display:flex;gap:.35rem}.legend-icon{align-items:center;border-radius:4px;display:inline-flex;font-size:.75rem;height:22px;justify-content:center;width:22px}.matrix-table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.qualification-matrix-table{background:#fff;border-collapse:collapse;border-radius:6px;box-shadow:0 1px 3px #0000001a;overflow:hidden;width:100%}.qualification-matrix-table th{background:#1a3a5c;color:#fff;font-size:.85rem;padding:.6rem .75rem;text-align:left;white-space:nowrap}.qualification-matrix-table td{border-bottom:1px solid #eee;font-size:.85rem;padding:.6rem .75rem;text-align:center}.qualification-matrix-table td:first-child{text-align:left;white-space:nowrap}.document-upload-section{background:#fff;border-radius:6px;box-shadow:0 1px 3px #0000001a;margin-top:1.5rem;padding:1rem 1.25rem}.login-page{align-items:center;background:#f5f5f5;display:flex;justify-content:center;min-height:100vh}@media screen and (max-width:767px){.app-header{align-items:stretch;flex-direction:column;gap:.5rem;padding:.75rem 1rem}.app-header nav{flex-direction:column;gap:0}.app-header nav a{align-items:center;border-bottom:1px solid #ffffff26;display:block;display:flex;font-size:1rem;min-height:44px;padding:.75rem .5rem}.app-header-user{justify-content:space-between;padding-top:.5rem}.logout-button{font-size:1rem;min-height:44px;min-width:44px;padding:.5rem 1rem}.app-main{padding:1rem .75rem}.race-events-filters{align-items:stretch;flex-direction:column}.race-events-filters label{width:100%}.race-events-filters input,.race-events-filters select{font-size:1rem;min-height:44px;width:100%}.clear-filters-btn{font-size:1rem;min-height:44px}.crew-table,.global-documents-table,.race-events-table,.requirements-edit-table,.requirements-table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}.crew-table td,.crew-table th,.race-events-table td,.race-events-table th{padding:.6rem .75rem;white-space:nowrap}.form-field input,.form-field select{font-size:1rem;min-height:44px;width:100%}.form-actions{flex-direction:column}.form-actions button{font-size:1rem;min-height:44px;width:100%}.csv-drop-zone,.drop-zone{font-size:1rem;min-height:120px;padding:2.5rem 1rem}.csv-drop-zone p,.drop-zone p{font-size:1rem}.document-row{align-items:flex-start;flex-direction:column;gap:.5rem;padding:.75rem 0}.document-actions{width:100%}.delete-btn,.download-btn{flex:1 1;font-size:1rem;min-height:44px;text-align:center}.admin-layout{flex-direction:column}.admin-nav{width:100%}.admin-nav ul{flex-direction:row;flex-wrap:wrap;gap:.5rem}.admin-nav a{align-items:center;background:#eef3f8;border-radius:4px;display:flex;font-size:.9rem;justify-content:center;min-height:44px;padding:.5rem .75rem;text-align:center}.admin-nav a.active{background:#1a3a5c;color:#fff}.compliance-page{max-width:100%}.compliance-download-btn{margin-top:.5rem;width:100%}.compliance-back-btn,.compliance-download-btn{font-size:1rem;min-height:44px}.compliance-expiration-item{align-items:flex-start}.category-meta,.compliance-expiration-item{flex-direction:column;gap:.25rem}.category-header h3{font-size:.95rem}.matrix-legend{flex-wrap:wrap;gap:.75rem}.qualification-matrix-back-btn{font-size:1rem;min-height:44px}.compliance-progress-bar,.progress-bar{width:100%}.login-page>div{margin:1rem;width:100%}}@media screen and (min-width:768px) and (max-width:1023px){.app-main{padding:1.25rem}.app-header{padding:.75rem 1.25rem}.app-header nav{gap:1rem}.race-events-filters{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr 1fr}.clear-filters-btn{grid-column:1/-1;justify-self:start}.admin-layout{display:flex;gap:1rem}.admin-nav{flex-shrink:0;width:180px}.admin-content{flex:1 1;min-width:0}.documents-page{grid-gap:1.5rem;align-items:start;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}.crew-page>div:first-of-type,.crew-page>form{display:inline-block}.compliance-page{max-width:100%}.category-meta{gap:1.5rem}.category-meta,.form-actions{flex-direction:row}.form-actions button{width:auto}}@media screen and (min-width:1024px){.app-main{max-width:1200px;padding:1.5rem 2rem}.app-header{padding:.75rem 2rem}.app-header nav{gap:1.5rem}.race-events-filters{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1rem}.admin-layout{display:flex;gap:1.5rem}.admin-nav{align-self:flex-start;flex-shrink:0;position:-webkit-sticky;position:sticky;top:1rem;width:220px}.admin-content{flex:1 1;min-width:0}.documents-page{grid-gap:2rem;align-items:start;display:grid;gap:2rem;grid-template-columns:1fr 1.5fr}.compliance-page{max-width:900px}.form-actions{flex-direction:row}.form-actions button{width:auto}.category-meta{flex-direction:row;gap:1.5rem}}@media (pointer:coarse){.csv-drop-zone,.drop-zone{border-width:3px;min-height:130px;padding:2.5rem 1.5rem}.category-header,.race-event-row,a,button{min-height:44px}.race-event-row td{padding:.85rem 1rem}input[type=checkbox],input[type=radio]{height:22px;width:22px}input[type=file]{min-height:44px;padding:.5rem}}@media print{.admin-nav,.app-header,.compliance-back-btn,.compliance-download-btn,.document-actions,.form-actions{display:none}.app-main{max-width:100%;padding:0}.compliance-section,.document-section{box-shadow:none;break-inside:avoid;page-break-inside:avoid}}.help-button{align-items:center;background:#0000;border:1px solid #fff;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;height:28px;justify-content:center;margin-right:1rem;width:28px}.help-button:hover{background:#ffffff26}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;max-height:80vh;max-width:600px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:1rem 1.25rem}.modal-header h2{color:#1a3a5c;font-size:1.25rem;margin:0}.modal-close-btn{background:none;border:none;color:#666;cursor:pointer;font-size:1.5rem;line-height:1;padding:0}.modal-close-btn:hover{color:#333}.regulations-question-form{padding:1.25rem}.regulations-question-form label{color:#555;display:block;font-size:.9rem;margin-bottom:.5rem}.regulations-question-form textarea{border:1px solid #ccc;border-radius:4px;font-family:inherit;font-size:.95rem;min-height:80px;padding:.75rem;resize:vertical;width:100%}.regulations-question-form textarea:focus{border-color:#1a3a5c;outline:none}.regulations-question-form .form-actions{margin-top:.75rem}.regulations-question-form button[type=submit]{background:#1a3a5c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.95rem;padding:.6rem 1.5rem}.regulations-question-form button[type=submit]:hover:not(:disabled){background:#254d73}.regulations-question-form button[type=submit]:disabled{cursor:not-allowed;opacity:.6}.regulations-answer{padding:0 1.25rem 1.25rem}.regulations-answer h3{color:#1a3a5c;font-size:1rem;margin-bottom:.75rem}.regulations-answer .answer-text{background:#f8f9fa;border-radius:4px;font-size:.9rem;line-height:1.6;padding:1rem;white-space:pre-wrap}.regulations-answer .answer-sources{color:#666;font-size:.85rem;margin-top:.75rem}.modal-footer{background:#f8f9fa;border-top:1px solid #eee;padding:.75rem 1.25rem}.modal-footer .disclaimer{color:#888;font-size:.8rem;font-style:italic;margin:0}@media screen and (max-width:767px){.modal-content{margin:.5rem;max-height:90vh}.help-button{height:44px;min-height:44px;min-width:44px;width:44px}}.delete-confirm-modal{max-width:400px;padding:1.5rem}.delete-confirm-modal h3{color:#1a3a5c;margin-bottom:1rem}.delete-confirm-modal p{color:#333;margin-bottom:.75rem}.delete-confirm-modal .warning-text{color:#dc3545;font-size:.9rem;font-weight:500}.delete-confirm-modal .form-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}.race-events-table .action-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.race-events-table .action-buttons button{border:none;border-radius:4px;cursor:pointer;font-size:.85rem;padding:.35rem .6rem}.race-events-table .action-buttons button:not(.delete-btn){background:#1a3a5c;color:#fff}.race-events-table .action-buttons button:not(.delete-btn):hover{background:#254d73}.event-help-modal{max-width:700px}.event-question-form{padding:1.25rem}.event-question-form label{color:#555;display:block;font-size:.9rem;margin-bottom:.5rem}.event-question-form textarea{border:1px solid #ccc;border-radius:4px;font-family:inherit;font-size:.95rem;min-height:80px;padding:.75rem;resize:vertical;width:100%}.event-question-form textarea:focus{border-color:#1a3a5c;outline:none}.event-question-form .form-actions{margin-top:.75rem}.event-question-form button[type=submit]{background:#1a3a5c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.95rem;padding:.6rem 1.5rem}.event-question-form button[type=submit]:hover:not(:disabled){background:#254d73}.event-question-form button[type=submit]:disabled{cursor:not-allowed;opacity:.6}.event-answer{padding:0 1.25rem 1.25rem}.event-answer h3{color:#1a3a5c;font-size:1rem;margin-bottom:.75rem}.event-answer .answer-text{background:#f8f9fa;border-radius:4px;font-size:.9rem;line-height:1.6;padding:1rem;white-space:pre-wrap}.event-answer .answer-sources{font-size:.85rem;margin-top:.75rem}.source-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.source-badge{border-radius:4px;font-size:.8rem;padding:.25rem .5rem}.badge-nor{background:#e3f2fd;color:#1565c0}.badge-si{background:#e8f5e9;color:#2e7d32}.badge-sr{background:#fff3e0;color:#e65100}.badge-rrs{background:#e8eaf6;color:#3949ab}.badge-amendment{background:#fce4ec;color:#c2185b}.badge-default{background:#f5f5f5;color:#616161}.event-document-status{margin-top:1rem}.document-status-item{align-items:center;border-bottom:1px solid #eee;display:flex;gap:.75rem;padding:.5rem 0}.document-status-item:last-child{border-bottom:none}.document-status-label{font-weight:500;min-width:150px}.status-processing{color:#f57c00}.status-complete{color:#388e3c}.status-failed{color:#d32f2f}.status-not-uploaded{color:#9e9e9e;font-style:italic}.section-count{color:#666;font-size:.85rem}.extracted-requirements{border-top:2px solid #e0e0e0;margin-top:1.5rem;padding-top:1rem}.extracted-requirements h4{color:#1a3a5c;margin-bottom:1rem}.requirements-table{font-size:.9rem}.requirements-table td,.requirements-table th{padding:.75rem}.requirements-table tr:hover{background:#fafafa}.requirements-table .category-crew{color:#1976d2}.requirements-table .category-boat{color:#388e3c}.requirements-table .requirement-description{color:#666;font-size:.85rem;max-width:400px}.requirements-table .required-count{font-weight:500;text-align:center}.delete-doc-btn{background:#0000;border:none;cursor:pointer;font-size:1rem;margin-left:.5rem;opacity:.6;padding:.25rem .5rem;transition:opacity .2s}.delete-doc-btn:hover{opacity:1}.delete-doc-btn:disabled{cursor:not-allowed;opacity:.3}.ask-event-btn{align-items:center;background:#1a3a5c;border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-flex;font-size:.9rem;gap:.5rem;padding:.5rem 1rem}.ask-event-btn:hover{background:#254d73}.ask-event-btn svg{height:16px;width:16px}.compliance-dashboard .page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.race-summary-header{background:linear-gradient(135deg,#1a3a5c,#2d5a87);border-radius:12px;box-shadow:0 4px 6px #0000001a;color:#fff;margin-bottom:1.5rem;padding:1.5rem}.race-summary-header .race-title{color:#fff;font-size:1.75rem;font-weight:600;margin:0 0 1rem}.race-info-cards{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.race-info-cards .info-card{background:#ffffff26;border-radius:8px;display:flex;flex-direction:column;min-width:120px;padding:.75rem 1.25rem}.race-info-cards .info-label{font-size:.75rem;letter-spacing:.5px;margin-bottom:.25rem;opacity:.8;text-transform:uppercase}.race-info-cards .info-value{font-size:1.1rem;font-weight:600}.race-info-cards .category-value{color:#fbbf24}.source-indicator{margin-top:.5rem}.source-badge{border-radius:12px;display:inline-block;font-size:.75rem;font-weight:500;padding:.25rem .75rem}.source-badge.nor{background:#10b98133;color:#6ee7b7}.source-badge.race_record{background:#fbbf2433;color:#fcd34d}.btn-ask{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem}.btn-ask:hover{background:#218838}.requirements-table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden;width:100%}.requirements-table td,.requirements-table th{border-bottom:1px solid #e0e0e0;padding:.75rem 1rem;text-align:left}.requirements-table th{background:#f5f5f5;color:#333;font-size:.85rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.requirements-table tbody tr:hover{background:#f9f9f9}.requirements-table tbody tr.status-complete{background:#f0fff4}.requirements-table tbody tr.status-partial{background:#fffbeb}.requirements-table tbody tr.status-missing{background:#fff5f5}.requirements-table .status-cell{text-align:center;width:50px}.requirements-table .status-icon{align-items:center;border-radius:50%;display:inline-flex;font-weight:700;height:28px;justify-content:center;width:28px}.requirements-table .status-icon.status-complete{background:#10b981;color:#fff}.requirements-table .status-icon.status-partial{background:#f59e0b;color:#fff}.requirements-table .status-icon.status-missing{background:#ef4444;color:#fff}.requirements-table .doc-type-cell{font-weight:500;white-space:nowrap}.requirements-table .description-cell{color:#555;font-size:.9rem;max-width:400px}.requirements-table .progress-cell{font-weight:500;text-align:center;white-space:nowrap}.requirements-table .linked-docs-cell{font-size:.85rem}.requirements-table .linked-docs-list{list-style:none;margin:0;padding:0}.requirements-table .linked-docs-list li{align-items:center;display:flex;gap:.5rem;padding:.25rem 0}.requirements-table .crew-name{font-weight:500}.requirements-table .no-docs{color:#999}.requirements-section h3{color:#1a3a5c;margin-bottom:1rem}.boat-info-page{max-width:600px}.boat-empty-state{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:2rem;text-align:center}.boat-empty-state p{color:#666;margin-bottom:1rem}.boat-form{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.boat-form .form-group{margin-bottom:1rem}.boat-form label{color:#333;display:block;font-weight:500;margin-bottom:.5rem}.boat-form input,.boat-form select{border:1px solid #ccc;border-radius:4px;font-size:1rem;padding:.5rem;width:100%}.boat-form input:focus,.boat-form select:focus{border-color:#1a3a5c;outline:none}.boat-form .field-error{color:#dc3545;display:block;font-size:.85rem;margin-top:.25rem}.boat-details{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.boat-details .detail-row{border-bottom:1px solid #eee;display:flex;padding:.75rem 0}.boat-details .detail-row:last-of-type{border-bottom:none}.boat-details .detail-label{color:#666;flex-shrink:0;font-weight:500;width:120px}.boat-details .detail-value{color:#333}.primary-button{background:#1a3a5c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem}.primary-button:hover{background:#254d73}.primary-button:disabled{background:#ccc;cursor:not-allowed}.secondary-button{background:#fff;border:1px solid #ccc;border-radius:4px;color:#333;cursor:pointer;font-size:.9rem;margin-left:.5rem;padding:.5rem 1rem}.secondary-button:hover{background:#f5f5f5}.build-crew-page{max-width:900px}.build-crew-page .page-header{margin-bottom:1.5rem}.build-crew-page .page-description{color:#666;margin-top:.5rem}.event-dropdown{margin-bottom:1.5rem}.event-dropdown label{color:#333;display:block;font-weight:500;margin-bottom:.5rem}.event-dropdown select{background:#fff;border:1px solid #ccc;border-radius:4px;font-size:1rem;max-width:400px;padding:.75rem;width:100%}.event-dropdown select:focus{border-color:#1a3a5c;outline:none}.crew-section{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.crew-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.crew-section-header h2{color:#1a3a5c;font-size:1.25rem;margin:0}.add-crew-table,.crew-cert-table{border-collapse:collapse;width:100%}.add-crew-table td,.add-crew-table th,.crew-cert-table td,.crew-cert-table th{border-bottom:1px solid #eee;padding:.75rem;text-align:left}.add-crew-table th,.crew-cert-table th{background:#f5f7fa;color:#1a3a5c;font-size:.9rem;font-weight:600}.add-crew-table .actions-col,.add-crew-table .cert-col,.crew-cert-table .actions-col,.crew-cert-table .cert-col{text-align:center;width:80px}.cert-tick{color:#28a745;font-size:1.1rem;font-weight:700}.btn-remove-crew{background:none;border:none;cursor:pointer;font-size:1.1rem;opacity:.7;padding:.25rem .5rem;transition:opacity .2s}.btn-remove-crew:hover:not(:disabled){opacity:1}.btn-remove-crew:disabled{cursor:not-allowed;opacity:.4}.btn-add-crew{background:#1a3a5c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;padding:.35rem .75rem}.btn-add-crew:hover:not(:disabled){background:#254d73}.btn-add-crew:disabled{background:#ccc;cursor:not-allowed}.crew-table-empty{color:#666;padding:2rem;text-align:center}.crew-table-empty p{margin:.5rem 0}.add-crew-modal{max-width:700px}.add-crew-modal .modal-body{max-height:400px;overflow-y:auto}.add-crew-empty{color:#666;padding:2rem;text-align:center}.select-event-prompt{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;color:#666;padding:3rem;text-align:center}.error-banner{align-items:center;background:#fdecea;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;display:flex;justify-content:space-between;margin-bottom:1rem;padding:1rem}.error-banner p{margin:0}.btn-retry{background:#721c24;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;padding:.35rem .75rem}.btn-retry:hover{background:#5a161d}.actions-inline{display:flex;gap:.25rem;justify-content:center}.btn-icon{background:none;border:none;border-radius:4px;cursor:pointer;font-size:1rem;line-height:1;padding:.25rem}.btn-icon:hover{background:#f0f0f0}.btn-icon:disabled{cursor:not-allowed;opacity:.5}.crew-form-modal{max-width:600px;width:90%}.crew-form-modal .form-row{display:flex;gap:1rem}.crew-form-modal .form-row .form-field{flex:1 1}.crew-form-modal .form-field{margin-bottom:1rem}.crew-form-modal .form-field label{display:block;font-size:.9rem;font-weight:500;margin-bottom:.25rem}.crew-form-modal .form-field input,.crew-form-modal .form-field select{border:1px solid #ccc;border-radius:4px;font-size:1rem;padding:.5rem;width:100%}.crew-form-modal h4{color:#1a3a5c;font-size:.95rem;margin:1rem 0 .5rem}.crew-form-modal .field-error{color:#dc3545;display:block;font-size:.8rem;margin-top:.25rem}.verified-badge{color:#28a745;font-size:.85rem}.classification-result{background:linear-gradient(135deg,#f8fafc,#eef3f8);border:1px solid #d1dce6;border-radius:12px;box-shadow:0 2px 8px #1a3a5c14;margin-bottom:1.5rem;padding:1.5rem}.classification-result h3{align-items:center;border-bottom:2px solid #1a3a5c;color:#1a3a5c;display:flex;font-size:1.1rem;gap:.5rem;margin-bottom:1rem;padding-bottom:.75rem}.classification-result h3:before{content:"📄";font-size:1.2rem}.classification-details{grid-gap:.75rem;display:grid;gap:.75rem}.classification-row{align-items:center;background:#fff;border-left:3px solid #1a3a5c;border-radius:8px;display:flex;padding:.5rem .75rem}.classification-row .label{color:#5a6c7d;font-size:.9rem;font-weight:600;min-width:140px}.classification-row .value{color:#1a3a5c;font-weight:500}.classification-row .value.confidence-high,.classification-row .value.confidence-very-high{background:#d4edda;border-radius:12px;color:#0d6e3f;font-size:.85rem;padding:.2rem .6rem}.classification-row .value.confidence-medium{background:#fff3cd;border-radius:12px;color:#856404;font-size:.85rem;padding:.2rem .6rem}.classification-row .value.confidence-low{background:#f8d7da;border-radius:12px;color:#721c24;font-size:.85rem;padding:.2rem .6rem}.classification-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:.85rem;font-weight:600;gap:.4rem;margin-top:.75rem;padding:.4rem .8rem}.classification-badge.crew{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border:1px solid #90caf9;color:#1565c0}.classification-badge.crew:before{content:"👤"}.classification-badge.boat{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border:1px solid #a5d6a7;color:#2e7d32}.classification-badge.boat:before{content:"⛵"}.selected-file{background:#fff;border:1px solid #d1dce6;border-radius:12px;box-shadow:0 2px 6px #0000000f;margin-bottom:1rem;padding:1.25rem}.selected-file .file-info{align-items:center;border-bottom:1px solid #eee;display:flex;gap:.75rem;margin-bottom:1rem;padding-bottom:1rem}.selected-file .file-name{color:#1a3a5c;font-size:1rem;font-weight:600}.selected-file .file-size{color:#6c757d;font-size:.9rem}.selected-file .file-actions{display:flex;gap:.75rem}.btn-upload{align-items:center;background:linear-gradient(135deg,#1a3a5c,#2c5282);border:none;border-radius:8px;box-shadow:0 2px 4px #1a3a5c4d;color:#fff;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease}.btn-upload:before{content:"✓";font-size:1rem}.btn-upload:hover:not(:disabled){background:linear-gradient(135deg,#2c5282,#3d6a9f);box-shadow:0 4px 8px #1a3a5c59;transform:translateY(-1px)}.btn-upload:disabled{background:#a0aec0;box-shadow:none;cursor:not-allowed}.btn-cancel{align-items:center;background:#fff;border:2px solid #d1dce6;border-radius:8px;color:#6c757d;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease}.btn-cancel:before{content:"✕";font-size:.9rem}.btn-cancel:hover{background:#f8f9fa;border-color:#adb5bd;color:#495057}.classifying-indicator{align-items:center;background:#eef3f8;border-radius:8px;color:#1a3a5c;display:flex;font-weight:500;gap:.75rem;margin-bottom:1rem;padding:1rem}.loading-spinner.small{animation:spin .8s linear infinite;border:2px solid #d1dce6;border-radius:50%;border-top-color:#1a3a5c;height:20px;width:20px}@keyframes spin{to{transform:rotate(1turn)}}.match-hint{background:#d4edda;border-radius:6px;color:#0d6e3f;display:inline-block;font-size:.85rem;margin-top:.5rem;padding:.4rem .6rem}.match-hint:before{content:"✓ "}.warning-message{background:#fff3cd;border-radius:6px;color:#856404;font-size:.9rem;margin-top:.75rem;padding:.5rem .75rem}
/*# sourceMappingURL=main.f0d1caca.css.map*/