*{box-sizing:border-box}body{color:#1a2433;background:#f4f6f9;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1{margin:0 0 1.25rem;font-size:1.5rem}.muted{color:#6b7686}.error{color:#b42318;background:#fdecec;border-radius:6px;margin:.75rem 0;padding:.6rem .8rem;font-size:.9rem}.loading{padding:2rem}.btn-primary,.btn-secondary{cursor:pointer;border:none;border-radius:6px;padding:.6rem 1rem;font-size:.95rem}.btn-primary{color:#fff;background:#0b3d6b;width:100%;margin-top:1rem}.btn-primary:disabled{opacity:.6}.btn-secondary{color:#c9d6e6;background:0 0;border:1px solid #3a5878;width:100%}.login-page{background:#0b3d6b;justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:#fff;border-radius:10px;flex-direction:column;width:100%;max-width:360px;padding:2rem;display:flex}.login-card label{margin:.75rem 0 .25rem;font-size:.85rem}.login-card input{border:1px solid #cfd6df;border-radius:6px;padding:.55rem .7rem;font-size:.95rem}.login-brand{color:#0b3d6b}.shell{min-height:100vh;display:flex}.sidebar{color:#fff;background:#0b3d6b;flex-direction:column;flex-shrink:0;width:230px;padding:1.25rem 1rem;display:flex}.brand{margin-bottom:1.5rem;font-size:1.1rem;font-weight:700}.nav-link{white-space:nowrap;color:#c9d6e6;border-radius:6px;align-items:center;gap:.75rem;margin-bottom:.25rem;padding:.55rem .75rem;text-decoration:none;display:flex;position:relative}.nav-link:hover{color:#fff;background:#134a7f}.nav-link.active{color:#fff;background:#1d5d9b}.sidebar-footer{margin-top:auto}.user-email{color:#9fb3c8;word-break:break-all;margin-bottom:.5rem;font-size:.8rem}.content{flex:1;min-width:0;padding:2rem}.stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem;display:grid}.stat{background:#fff;border-left:5px solid #cfd6df;border-radius:10px;padding:1.25rem}.stat-value{font-size:2rem;font-weight:700}.stat-label{color:#6b7686;font-size:.9rem}.stat.overdue{border-left-color:#d92d20}.stat.due-soon{border-left-color:#f79009}.stat.current{border-left-color:#12b76a}.stat.not-started{border-left-color:#98a2b3}.small{font-size:.85rem}.back-link{color:#1d5d9b;margin-bottom:.75rem;font-size:.9rem;text-decoration:none;display:inline-block}.card-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.vessel-card{color:inherit;background:#fff;border:1px solid #0000;border-radius:10px;padding:1.25rem;text-decoration:none;transition:border-color .15s}.vessel-card:hover{border-color:#1d5d9b}.vessel-name{margin-bottom:.25rem;font-size:1.1rem;font-weight:700}.vessel-meta{gap:1rem;margin:.9rem 0 .6rem;font-size:.9rem;display:flex}.vessel-badges{flex-wrap:wrap;gap:.4rem;display:flex}.badge{border-radius:999px;padding:.2rem .55rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-red{color:#b42318;background:#fdecec}.badge-amber{color:#b54708;background:#fef4e6}.badge-green{color:#067647;background:#e7f8ef}.badge-grey{color:#475467;background:#eef0f3}.summary{background:#fff;border-radius:10px;margin:1rem 0;padding:.9rem 1.1rem}.table-wrap{background:#fff;border-radius:10px;overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:.92rem}.table th{text-align:left;color:#475467;text-transform:uppercase;letter-spacing:.03em;background:#f0f3f7;padding:.75rem 1rem;font-size:.8rem;font-weight:600}.table td{vertical-align:top;border-top:1px solid #eef0f3;padding:.85rem 1rem}.course-title{margin-top:.3rem;font-weight:600}.btn-link{color:#1d5d9b;cursor:pointer;background:0 0;border:none;margin-top:.4rem;padding:0;font-size:.88rem;font-weight:600}.btn-link:hover{text-decoration:underline}.btn-ghost{color:#1a2433;cursor:pointer;background:0 0;border:1px solid #cfd6df;border-radius:6px;padding:.6rem 1rem;font-size:.95rem}.modal-backdrop{z-index:50;background:#0a192d8c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:12px;flex-direction:column;width:100%;max-width:480px;padding:1.5rem;display:flex}.modal h2{margin:0 0 .4rem;font-size:1.2rem}.modal label{margin:.9rem 0 .3rem;font-size:.85rem;font-weight:600}.modal input[type=file]{font-size:.9rem}.modal textarea{font:inherit;resize:vertical;border:1px solid #cfd6df;border-radius:6px;padding:.55rem .7rem;font-size:.92rem}.modal-detail{background:#f4f6f9;border-radius:8px;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.75rem;padding:.9rem;font-size:.92rem;display:grid}.modal-actions{justify-content:flex-end;gap:.5rem;margin-top:1.25rem;display:flex}.modal-actions .btn-primary{width:auto;margin-top:0}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.toolbar select{font:inherit;background:#fff;border:1px solid #cfd6df;border-radius:6px;padding:.5rem .7rem}.legend{flex-wrap:wrap;gap:.4rem;display:flex}.legend-item{border-radius:6px;padding:.25rem .6rem;font-size:.78rem;font-weight:600}.matrix th{white-space:nowrap;vertical-align:bottom}.th-sub{text-transform:none;letter-spacing:0;color:#6b7686;margin-top:.2rem;font-size:.75rem;font-weight:400}.matrix td{white-space:nowrap}.sticky-col{z-index:1;background:#fff;position:sticky;left:0}.matrix th.sticky-col{background:#f0f3f7}.cell{border-radius:6px;min-width:120px;padding:.45rem .6rem}.cell-label{font-size:.82rem;font-weight:600}.cell-date{opacity:.85;margin-top:.1rem;font-size:.75rem}.cell-green{color:#067647;background:#e7f8ef}.cell-amber{color:#b54708;background:#fef4e6}.cell-red{color:#b42318;background:#fdecec}.cell-grey{color:#667085;background:#eef0f3}.pct{font-weight:700}.pct-bar{background:#eef0f3;border-radius:999px;width:80px;height:6px;margin-top:.3rem;overflow:hidden}.pct-bar div{background:#1d5d9b;height:100%}.cell-btn{text-align:left;width:100%;font:inherit;cursor:pointer;border:none;transition:box-shadow .15s}.cell-btn:hover{box-shadow:inset 0 0 0 2px #1d5d9b}.cell-flash{animation:2s ease-out cellFlash}@keyframes cellFlash{0%{transform:scale(1.04);box-shadow:inset 0 0 0 3px #12b76a}to{transform:scale(1);box-shadow:inset 0 0 #0000}}.modal input[type=date],.modal input[type=number]{font:inherit;border:1px solid #cfd6df;border-radius:6px;padding:.55rem .7rem;font-size:.92rem}.next-due{color:#067647;background:#e7f8ef;border-radius:8px;margin-top:1rem;padding:.7rem .9rem;font-size:.92rem}.section-title{align-items:center;gap:.5rem;margin:2rem 0 .75rem;font-size:1.1rem;display:flex}.mfr-card{background:#fff;border-radius:10px;margin-bottom:1rem;overflow:hidden}.mfr-head{padding:1rem 1.1rem .75rem}.mfr-name{font-size:1.05rem;font-weight:700}.mfr-card .table-wrap{border-radius:0}.mfr-card .course-title{margin-top:0}.mfr-card .table{table-layout:fixed}.mfr-card .table th:first-child{width:30%}.mfr-card .table th:nth-child(2){width:44%}.mfr-card .table th:nth-child(3){width:12%}.mfr-card .table th:nth-child(4){width:14%}.page-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.page-head h1{margin:0}.btn-primary.btn-inline{white-space:nowrap;width:auto;margin-top:0}.summary-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.btn-link-muted{color:#98a2b3;font-size:.8rem;font-weight:500}.btn-link-muted:hover{color:#b42318}.modal-wide{max-width:640px;max-height:90vh;overflow-y:auto}.modal>*{flex-shrink:0}.modal-grid{grid-template-columns:1fr 1fr;gap:0 .75rem;display:grid}.modal-grid>div{flex-direction:column;display:flex}.modal input[type=text],.modal select{font:inherit;background:#fff;border:1px solid #cfd6df;border-radius:6px;padding:.55rem .7rem;font-size:.92rem}.tabs{background:#f0f3f7;border-radius:8px;gap:.25rem;margin:.75rem 0 1rem;padding:.25rem;display:flex}.tab{font:inherit;color:#475467;cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;padding:.5rem;font-size:.9rem}.tab.active{color:#0b3d6b;background:#fff;font-weight:600;box-shadow:0 1px 2px #00000014}.search-input{width:100%;margin-bottom:.75rem}.equip-list{flex-direction:column;gap:.4rem;max-height:320px;display:flex;overflow-y:auto}.equip-option{cursor:pointer;border:1px solid #e4e7ec;border-radius:8px;align-items:center;gap:.75rem;padding:.65rem .8rem;margin:0!important;font-size:.92rem!important;font-weight:400!important;display:flex!important}.equip-option:hover{border-color:#1d5d9b}.equip-option.checked{background:#f0f6fc;border-color:#1d5d9b}.equip-option-body{flex:1}.modal input[type=email]{font:inherit;border:1px solid #cfd6df;border-radius:6px;padding:.55rem .7rem;font-size:.92rem}.stat.compliance{border-left-color:#1d5d9b}.stat.requests{border-left-color:#6941c6}.stat-link{color:inherit;text-decoration:none;transition:transform .15s,box-shadow .15s}.stat-link:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0b3d6b1a}.stat-sub{color:#98a2b3;margin-top:.5rem;font-size:.78rem}.pct-bar-wide{width:100%;margin-top:.6rem}.dash-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:1rem;margin-top:1.5rem;display:grid}@media (width<=1100px){.dash-grid{grid-template-columns:1fr}}.panel{background:#fff;border-radius:10px;overflow:hidden}.panel-head{justify-content:space-between;align-items:center;padding:1rem 1.1rem .75rem;display:flex}.panel-head h2{margin:0;font-size:1.05rem}.panel-link{color:#1d5d9b;font-size:.85rem;font-weight:600;text-decoration:none}.panel-link:hover{text-decoration:underline}.panel-empty{padding:0 1.1rem 1.1rem}.panel .table-wrap{border-radius:0}.clickable-row{cursor:pointer}.table tbody tr.clickable-row:hover td{background:#eef3f9}.action-list{flex-direction:column;display:flex}.action-item{border-top:1px solid #eef0f3;align-items:flex-start;gap:.75rem;padding:.8rem 1.1rem;display:flex}.action-item .badge{flex-shrink:0;margin-top:.1rem}.action-body{flex:1;min-width:0}.action-date{text-align:right;white-space:nowrap}.text-red{color:#b42318;font-weight:600}.text-amber{color:#b54708;font-weight:600}.dropdown{position:relative}.dropdown-overlay{z-index:40;position:fixed;inset:0}.dropdown-menu{z-index:41;background:#fff;border-radius:10px;width:260px;padding:.35rem;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #0b3d6b29}.dropdown-menu button{text-align:left;width:100%;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.6rem .75rem;display:block}.dropdown-menu button:hover:not(:disabled){background:#f0f6fc}.dropdown-menu button:disabled{opacity:.45;cursor:not-allowed}.dropdown-menu strong{color:#1a2433;font-size:.92rem;display:block}.dropdown-menu span{color:#6b7686;margin-top:.1rem;font-size:.8rem;display:block}.field-hint{margin:.35rem 0 0}.nav-section{text-transform:uppercase;letter-spacing:.08em;color:#7f9bb8;margin:1.5rem .75rem .4rem;font-size:.7rem}.admin-tag{text-transform:uppercase;letter-spacing:.05em;color:#fff;background:#f79009;border-radius:4px;margin-bottom:.6rem;padding:.15rem .5rem;font-size:.7rem;font-weight:700;display:inline-block}.admin-panel{margin-top:1.5rem}.admin-form{padding:0 1.1rem 1.1rem}.admin-form-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;display:grid}.field{flex-direction:column;display:flex}.field label{margin-bottom:.3rem;font-size:.85rem;font-weight:600}.field input,.field select{font:inherit;background:#fff;border:1px solid #cfd6df;border-radius:6px;padding:.55rem .7rem;font-size:.92rem}.admin-form-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;display:flex}.admin-form .muted.small{margin:.75rem 0 0}.badge-blue{color:#1d5d9b;background:#eaf2fb}.btn-small{padding:.4rem .8rem;font-size:.85rem}.cell-actions{text-align:right;white-space:nowrap}.review-link{margin:0 1rem 0 0;text-decoration:none;display:inline-block}.review{padding-bottom:6rem}.review-title{margin:.5rem 0 .25rem}.notice{color:#067647;background:#e7f8ef;border-radius:6px;margin:.75rem 0;padding:.6rem .8rem;font-size:.9rem}.review-notes{background:#fef4e6;border:1px solid #fcd9a8;border-radius:10px;margin-top:1rem;padding:1rem 1.25rem}.review-notes h2{color:#b54708;margin:0 0 .5rem;font-size:1rem}.review-notes ul{margin:0;padding-left:1.2rem}.review-notes li{margin-bottom:.35rem;font-size:.92rem}.review-panel{margin-top:1rem}.field textarea{font:inherit;resize:vertical;border:1px solid #cfd6df;border-radius:6px;padding:.55rem .7rem;font-size:.92rem}.field-gap{margin-top:.75rem}.chips{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.75rem;display:flex}.chip{color:#1d5d9b;background:#eaf2fb;border-radius:999px;padding:.2rem .6rem;font-size:.8rem;font-weight:600}.flag-list{flex-direction:column;display:flex}.flag{border-top:1px solid #eef0f3;gap:.75rem;padding:.8rem 1.1rem;display:flex}.flag .badge{text-transform:capitalize;flex-shrink:0;height:fit-content}.flag-text{font-style:italic}.lesson{border-top:1px solid #eef0f3;padding:1rem 1.1rem}.lesson-head{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.lesson-head h3{margin:0 0 .5rem;font-size:.98rem}.lesson-content{white-space:pre-wrap;font-size:.93rem;line-height:1.55}.lesson-edit{width:100%;font:inherit;resize:vertical;border:1px solid #1d5d9b;border-radius:6px;padding:.6rem .7rem;font-size:.93rem;line-height:1.5}.key-points{background:#f4f6f9;border-radius:8px;margin:.75rem 0 .5rem;padding:.7rem .9rem;font-size:.9rem}.key-points ul{margin:.3rem 0 0;padding-left:1.2rem}.quiz-list{flex-direction:column;display:flex}.quiz-q{border-top:1px solid #eef0f3;padding:.9rem 1.1rem}.quiz-question{margin-bottom:.4rem;font-weight:600}.quiz-options{margin:0 0 .4rem;padding:0;list-style:none}.quiz-options li{border-radius:6px;padding:.35rem .6rem;font-size:.92rem}.quiz-options li.correct{color:#067647;background:#e7f8ef;font-weight:600}.publish-bar{background:#fff;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem;padding:1rem 1.25rem;display:flex;position:sticky;bottom:0;box-shadow:0 -4px 16px #0b3d6b1a}.confirm-check{cursor:pointer;align-items:flex-start;gap:.5rem;max-width:560px;font-size:.9rem;display:flex}.confirm-check input{margin-top:.2rem}.publish-actions{gap:.5rem;display:flex}.confirm-dialog{max-width:420px}.row-actions{flex-wrap:wrap;gap:.9rem;display:flex}.modal .link-box{margin:1rem 0 0}.vessel-head{margin-bottom:.25rem}.page-actions{gap:.5rem;display:flex}.btn-ghost:disabled{opacity:.5;cursor:not-allowed}@media (width<=860px){.page-actions{width:100%}.page-actions button{flex:1}}.file-picker{cursor:pointer;background:#f9fafb;border:2px dashed #cfd6df;border-radius:10px;align-items:center;gap:.85rem;padding:.85rem 1rem;transition:border-color .15s,background .15s;display:flex}.file-picker:hover,.file-picker:focus-visible{background:#f0f6fc;border-color:#1d5d9b;outline:none}.file-picker.drag-over{background:#eaf2fb;border-color:#1d5d9b}.file-picker.has-file{background:#f0fbf5;border-style:solid;border-color:#12b76a}.file-picker-icon{color:#1d5d9b;background:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex;box-shadow:0 1px 2px #0000000f}.file-picker.has-file .file-picker-icon{color:#067647}.file-picker-text{flex-direction:column;flex:1;min-width:0;display:flex}.file-picker-text strong{white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;overflow:hidden}.file-picker-text span{color:#6b7686;font-size:.8rem}.file-picker-clear{color:#98a2b3;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.25rem .45rem;font-size:1rem}.file-picker-clear:hover{color:#b42318;background:#fdecec}.admin-form-row .file-picker{flex:1;min-width:260px}.company-block{background:#ffffff14;border-radius:8px;margin-bottom:1rem;padding:.6rem .7rem}.company-label{text-transform:uppercase;letter-spacing:.08em;color:#9fb3c8;margin-bottom:.3rem;font-size:.68rem;display:block}.company-name{color:#fff;font-size:.92rem;font-weight:600}.company-picker{color:#fff;width:100%;font:inherit;background:#0b3d6b;border:1px solid #3a5878;border-radius:6px;padding:.4rem .5rem;font-size:.88rem}.invite-row{flex-wrap:wrap;align-items:center;gap:.6rem;padding-top:1rem;display:flex}.invite-row .filter-search{flex:1;min-width:220px}.invite-row select{font:inherit;background:#fff;border:1px solid #cfd6df;border-radius:6px;padding:.55rem .7rem;font-size:.92rem}.link-box{background:#e7f8ef;border:1px solid #a6e9c5;border-radius:8px;flex-direction:column;gap:.6rem;margin:0 1.1rem 1.1rem;padding:.9rem 1rem;display:flex}.link-row{flex-wrap:wrap;gap:.5rem;display:flex}.link-row input{min-width:220px;font:inherit;background:#fff;border:1px solid #cfd6df;border-radius:6px;flex:1;padding:.5rem .7rem;font-size:.85rem}.btn-link.inline-link{font-size:inherit;margin-top:0}.result-list{flex-direction:column;display:flex}.result-item{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;border-top:1px solid #eef0f3;padding:.85rem 1.1rem;display:block}.result-item:hover{background:#f7f9fc}.result-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.3rem;display:flex}.result-snippet{color:#475467;font-size:.9rem;line-height:1.5}.result-snippet mark{color:#1a2433;background:#fef0c7;border-radius:3px;padding:0 .15rem}.session-tabs{margin-bottom:1rem;display:inline-flex}.session-list{flex-direction:column;gap:.6rem;display:flex}.session-card{color:inherit;background:#fff;border:1px solid #e4e7ec;border-radius:10px;align-items:center;gap:1rem;padding:.9rem 1.1rem;text-decoration:none;transition:border-color .15s;display:flex}.session-card:hover{border-color:#1d5d9b}.session-date{color:#0b3d6b;background:#eaf2fb;border-radius:8px;flex-direction:column;align-items:center;min-width:56px;padding:.4rem .5rem;line-height:1.1;display:flex}.session-weekday{text-transform:uppercase;letter-spacing:.05em;font-size:.7rem}.session-day{font-size:1.4rem;font-weight:700}.session-month{text-transform:uppercase;font-size:.75rem}.session-body{flex:1;min-width:0}.session-title-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.2rem;display:flex}.session-side{text-align:right;white-space:nowrap}.session-count{font-size:1.2rem;font-weight:700}.attendee-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-top:.9rem;display:flex}.attendee-head label{margin:0!important}.attendee-actions{gap:.9rem;display:flex}.no-pointer{pointer-events:none}.small-seg{display:inline-flex}.small-seg button{padding:.3rem .6rem;font-size:.8rem}.cell-input{font:inherit;background:#fff;border:1px solid #cfd6df;border-radius:6px;min-width:140px;padding:.4rem .55rem;font-size:.85rem}.cell-input:disabled{color:#98a2b3;background:#f4f6f9}.add-attendees{padding:0 1.1rem 1rem}.signoff-fields{flex-direction:column;flex:1;gap:.5rem;min-width:260px;display:flex}.signoff-fields .cell-input{max-width:280px}.calendar{background:#fff;border:1px solid #e4e7ec;border-radius:10px;padding:1rem}.cal-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem;display:flex}.cal-nav{gap:.35rem;display:flex}.cal-btn{padding:.35rem .75rem}.cal-title{margin:0;font-size:1.1rem}.cal-legend{flex-wrap:wrap;gap:.4rem;display:flex}.cal-legend .cal-chip{cursor:default}.cal-grid{border-top:1px solid #eef0f3;border-left:1px solid #eef0f3;grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.cal-weekday{color:#6b7686;text-transform:uppercase;letter-spacing:.04em;background:#f7f9fc;border-bottom:1px solid #eef0f3;border-right:1px solid #eef0f3;padding:.45rem .5rem;font-size:.75rem;font-weight:600}.cal-cell{border-bottom:1px solid #eef0f3;border-right:1px solid #eef0f3;flex-direction:column;gap:.25rem;min-width:0;min-height:110px;padding:.35rem;display:flex}.cal-cell.clickable{cursor:pointer}.cal-cell.clickable:hover{background:#f7f9fc}.cal-cell.outside{background:#fafbfc}.cal-cell.outside .cal-daynum{color:#c0c7d0}.cal-cell.today .cal-daynum{color:#fff;background:#0b3d6b}.cal-daynum{color:#475467;border-radius:999px;justify-content:center;align-self:flex-start;align-items:center;min-width:1.6rem;height:1.6rem;font-size:.8rem;font-weight:600;display:inline-flex}.cal-chip{width:100%;font:inherit;text-align:left;cursor:pointer;white-space:nowrap;border:none;border-radius:5px;align-items:center;gap:.3rem;padding:.2rem .4rem;font-size:.75rem;display:flex;overflow:hidden}.cal-chip-time{flex-shrink:0;font-weight:700}.cal-chip-title{text-overflow:ellipsis;overflow:hidden}.cal-chip.scheduled{color:#1d5d9b;background:#eaf2fb}.cal-chip.awaiting{color:#b54708;background:#fef4e6}.cal-chip.completed{color:#067647;background:#e7f8ef}.cal-chip.cancelled{color:#98a2b3;background:#eef0f3;text-decoration:line-through}.cal-legend .cal-chip{width:auto}.cal-more{color:#6b7686;padding-left:.3rem;font-size:.72rem}.review-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:1.25rem;display:grid}.review-main{min-width:0}.review-source{margin-top:1rem;position:sticky;top:1rem}.source-link{margin-left:.6rem;font-weight:600}.manual-viewer{background:#fff;border:1px solid #e4e7ec;border-radius:10px;flex-direction:column;max-height:calc(100vh - 2rem);display:flex;overflow:hidden}.viewer-head{border-bottom:1px solid #eef0f3;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .9rem;display:flex}.viewer-title{white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.viewer-controls{background:#f7f9fc;border-bottom:1px solid #eef0f3;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.5rem .9rem;display:flex}.viewer-btn{padding:.25rem .6rem;font-size:.9rem}.viewer-page{color:#475467;align-items:center;gap:.35rem;font-size:.85rem;display:flex}.viewer-page input{width:3rem;font:inherit;text-align:center;border:1px solid #cfd6df;border-radius:5px;padding:.25rem .35rem}.viewer-zoom{color:#475467;align-items:center;gap:.35rem;margin-left:auto;font-size:.8rem;display:flex}.viewer-body{background:#e9edf2;flex:1;padding:.5rem;overflow:auto}.viewer-canvas{background:#fff;margin:0 auto;display:block;box-shadow:0 1px 4px #00000026}.viewer-canvas.rendering{opacity:.6}.flag-check{cursor:pointer;accent-color:#067647;flex-shrink:0;width:1.1rem;height:1.1rem;margin-top:.15rem}.flag.flag-checked{background:#f0fbf5}.text-green{color:#067647;font-weight:600}.review-progress{color:#475467;flex-wrap:wrap;gap:1.25rem;font-size:.85rem;display:flex}.signoff-row{flex-wrap:wrap;gap:.5rem;display:flex}.signoff-row .cell-input{flex:1;min-width:200px;max-width:none}.history-list{flex-direction:column;display:flex}.history-item{border-top:1px solid #eef0f3;padding:.8rem 1.1rem}.history-head{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.25rem;display:flex}.history-date{margin-left:auto}.chip-select{flex-wrap:wrap;gap:.35rem;display:flex}.chip-toggle{color:#475467;font:inherit;cursor:pointer;background:#fff;border:1px solid #cfd6df;border-radius:999px;padding:.3rem .7rem;font-size:.82rem}.chip-toggle:hover{border-color:#1d5d9b}.chip-toggle.active{color:#fff;background:#1d5d9b;border-color:#1d5d9b}.modal-subhead{margin:1.1rem 0 .1rem;font-size:.95rem}.group-preview{color:#0b3d6b;background:#eaf2fb;border-radius:8px;margin-top:1rem;padding:.7rem .9rem;font-size:.9rem}.group-list{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:.8rem;margin-top:1rem;display:grid}.group-card{background:#fff;border:1px solid #e4e7ec;border-radius:10px;flex-direction:column;gap:.5rem;padding:1rem 1.1rem;display:flex}.group-card-head{justify-content:space-between;gap:1rem;display:flex}.group-name{font-size:1.02rem;font-weight:700}.group-count{white-space:nowrap;font-size:1.3rem;font-weight:700}.group-card .chips{margin-top:0}.group-names{line-height:1.5}.req-line{margin-top:.35rem}.req-options{flex-direction:column;gap:.5rem;margin:1rem 0 .5rem;display:flex}.req-option{cursor:pointer;border:1px solid #e4e7ec;border-radius:8px;align-items:flex-start;gap:.7rem;padding:.7rem .8rem;margin:0!important;font-weight:400!important;display:flex!important}.req-option.active{background:#f0f6fc;border-color:#1d5d9b}.req-option input{margin-top:.2rem}.req-groups{margin-top:.5rem}.cell-na{color:#98a2b3;background:repeating-linear-gradient(135deg,#f4f6f9,#f4f6f9 6px,#eef0f3 6px 12px);font-size:.78rem;font-weight:600}.review-layout~.publish-bar,.review-main~.publish-bar{position:static;box-shadow:0 1px 4px #0b3d6b14}@media (width<=1100px){.review-layout{display:block}.review-source{position:static}.manual-viewer{max-height:none}}@media (width<=860px){.calendar{padding:.6rem}.cal-cell{min-height:72px;padding:.2rem}.cal-weekday{text-align:center;padding:.35rem .2rem;font-size:.65rem}.cal-chip{justify-content:center;padding:.15rem .25rem;font-size:.65rem}.cal-chip-title,.cal-legend{display:none}}.modal input[type=time]{font:inherit;border:1px solid #cfd6df;border-radius:6px;padding:.55rem .7rem;font-size:.92rem}@media (width<=860px){.session-card{align-items:flex-start}.session-side{display:none}}.library-head{justify-content:space-between;align-items:center;gap:1rem;margin-top:2rem;display:flex}.library-head .section-title{margin:0}.library-actions{gap:1rem;display:flex}.library-actions .btn-link{margin-top:0}.filter-bar{flex-wrap:wrap;align-items:center;gap:.6rem;margin:.9rem 0 1rem;display:flex}.filter-search{min-width:240px;font:inherit;background:#fff;border:1px solid #cfd6df;border-radius:6px;flex:1;padding:.55rem .8rem;font-size:.92rem}.filter-bar select{font:inherit;background:#fff;border:1px solid #cfd6df;border-radius:6px;padding:.55rem .7rem;font-size:.92rem}.filter-bar .btn-link{margin-top:0}.segmented{background:#e9edf2;border-radius:8px;padding:.2rem;display:flex}.segmented button{font:inherit;color:#475467;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:.4rem .75rem;font-size:.85rem}.segmented button.active{color:#0b3d6b;background:#fff;font-weight:600;box-shadow:0 1px 2px #00000014}.mfr-toggle{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:.75rem;padding:1rem 1.1rem;display:flex}.mfr-toggle:hover{background:#f7f9fc}.mfr-head-text{flex:1;min-width:0}.chevron{color:#1d5d9b;width:1rem;font-size:1.15rem;transition:transform .15s;display:inline-block}.mfr-card{border:1px solid #e4e7ec}.mfr-card.alt{background:#eef3f9;border-color:#dce5f0}.mfr-card.alt .mfr-toggle:hover{background:#e5edf6}.table tbody tr:nth-child(2n) td{background:#f7f9fc}.table-empty td{text-align:center;color:#6b7686;padding:1.5rem}.mobile-bar,.menu-close{display:none}.sidebar-top{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}@media (width<=860px){.shell{flex-direction:column}.mobile-bar{z-index:30;color:#fff;background:#0b3d6b;align-items:center;gap:.75rem;padding:.7rem 1rem;display:flex;position:sticky;top:0}.mobile-brand{margin:0;font-size:1rem}.menu-btn,.menu-close{color:#fff;cursor:pointer;background:0 0;border:none;padding:.25rem .4rem;font-size:1.4rem;line-height:1}.menu-close{display:block}.sidebar{z-index:50;width:270px;max-width:82vw;transition:transform .2s;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%)}.menu-open .sidebar{transform:translate(0)}.sidebar-overlay{z-index:45;background:#0a192d80;position:fixed;inset:0}.content{padding:1rem}h1{font-size:1.3rem}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.stat{padding:.9rem}.stat-value{font-size:1.5rem}.page-head{flex-wrap:wrap}.page-head .btn-inline,.summary-row .btn-inline,.dropdown{width:100%}.dropdown-menu{width:auto;left:0;right:0}.filter-bar{flex-direction:column;align-items:stretch}.filter-search{min-width:0}.segmented{overflow-x:auto}.segmented button{flex:1}.toolbar{flex-direction:column;align-items:stretch}.library-head{flex-wrap:wrap}.card-grid{grid-template-columns:1fr}.table th,.table td{padding:.65rem .75rem}.cell{min-width:100px}.mfr-toggle,.action-item{flex-wrap:wrap}.action-date{text-align:left}.admin-form-row{flex-direction:column;align-items:stretch}.admin-form-row .file-picker{min-width:0}.admin-form-row .btn-inline{width:100%}.modal-backdrop{align-items:flex-end;padding:0}.modal{border-radius:14px 14px 0 0;max-width:100%;max-height:92vh;overflow-y:auto}.modal-grid,.modal-detail{grid-template-columns:1fr}.modal-actions{flex-direction:column-reverse}.modal-actions button{width:100%}.publish-bar{flex-direction:column;align-items:stretch}.publish-actions{flex-direction:column-reverse}.publish-actions button{width:100%}.toast-stack{bottom:1rem;left:1rem;right:1rem}.toast{max-width:none}input,select,textarea{font-size:16px!important}}.crash{justify-content:center;align-items:center;min-height:60vh;padding:1rem;display:flex}.crash-card{text-align:center;background:#fff;border-radius:12px;width:100%;max-width:440px;padding:2rem;box-shadow:0 4px 16px #0b3d6b14}.crash-icon{margin-bottom:.5rem;font-size:2rem}.crash-card h1{margin:0 0 .4rem}.crash-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;margin:1.25rem 0 1rem;display:flex}.crash-details{text-align:left;color:#6b7686;font-size:.8rem}.crash-details pre{white-space:pre-wrap;background:#f4f6f9;border-radius:6px;margin-top:.5rem;padding:.6rem}@media (width<=860px){.mfr-table{table-layout:auto}.mfr-table thead{display:none}.mfr-table,.mfr-table tbody,.mfr-table tr,.mfr-table td{width:100%;display:block}.mfr-table tr{border-top:1px solid #eef0f3;padding:.8rem 1rem}.mfr-table tr:nth-child(2n){background:#f7f9fc}.mfr-table td{border:none;padding:.15rem 0;background:0 0!important}.mfr-table td[data-label=Course]{margin-top:.35rem}.mfr-table td[data-label=Vessels],.mfr-table td[data-label=Completions]{color:#6b7686;width:auto;margin:.4rem 1.25rem 0 0;font-size:.85rem;display:inline-block}.mfr-table td[data-label=Vessels]:before,.mfr-table td[data-label=Completions]:before{content:attr(data-label) ": ";color:#475467;font-weight:600}}.chevron.open{transform:rotate(90deg)}.confirm-dialog p{margin:.25rem 0 0;font-size:.92rem;line-height:1.5}.btn-danger{color:#fff;cursor:pointer;background:#d92d20;border:none;border-radius:6px;padding:.6rem 1rem;font-size:.95rem}.btn-danger:hover{background:#b42318}.toast-stack{z-index:60;flex-direction:column;gap:.5rem;display:flex;position:fixed;bottom:1.25rem;right:1.25rem}.toast{color:#fff;background:#0b3d6b;border-radius:8px;max-width:360px;padding:.75rem 1rem;font-size:.92rem;animation:.2s ease-out toastIn;box-shadow:0 8px 24px #0b3d6b40}.toast-success{background:#067647}.toast-error{background:#b42318}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.response-flag{color:#b54708;margin-top:.2rem;font-weight:600}.stats-kpi{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.stat.readiness{border-left-color:#1d5d9b}.stat.completions{border-left-color:#12b76a}.stat.active-crew{border-left-color:#6941c6}.stat .badge{margin-top:.45rem}.stat-value-row{flex-wrap:wrap;align-items:baseline;gap:.6rem;display:flex}.stat-trend{font-size:.85rem;font-weight:600}.stat-trend.up{color:#067647}.stat-trend.down{color:#b42318}.stat-trend.flat{color:#98a2b3}.att-list{flex-direction:column;display:flex}.att-group{border-top:1px solid #eef0f3;padding:.75rem 1.1rem}.att-head{background:linear-gradient(90deg,#e3eef9 0%,#f0f6fc 55%,#f0f6fc00 100%);border-radius:8px;align-items:center;gap:.6rem;margin:0 -.55rem;padding:.45rem .55rem;display:flex}.att-label{flex:1;min-width:0;font-size:.92rem;font-weight:600}.att-count{border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:1.8rem;height:1.8rem;padding:0 .45rem;font-size:.82rem;font-weight:700;display:inline-flex}.att-red{color:#b42318;background:#fdecec}.att-amber{color:#b54708;background:#fef4e6}.att-blue{color:#1d5d9b;background:#eaf2fb}.att-grey{color:#475467;background:#eef0f3}.att-items{flex-direction:column;margin:.45rem 0 0 2.4rem;display:flex}.att-item{color:inherit;border-radius:6px;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.45rem .6rem;font-size:.88rem;text-decoration:none;display:flex}a.att-item:hover{background:#f0f6fc}.att-main{min-width:0}.att-side{text-align:right;white-space:nowrap;font-size:.8rem}.att-more{color:#1d5d9b;margin:.2rem 0 0 3rem;font-size:.8rem;font-weight:600;text-decoration:none;display:inline-block}.att-more:hover{text-decoration:underline}.att-clear{border-top:1px solid #eef0f3;flex-wrap:wrap;align-items:center;gap:.6rem;padding:1rem 1.1rem 1.2rem;display:flex}@media (width<=860px){.stats-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}.att-items{margin-left:0}.att-item{flex-wrap:wrap}.att-side{text-align:left}.att-more{margin-left:.6rem}}.dash-grid{align-items:start}.dash-col{flex-direction:column;gap:1rem;min-width:0;display:flex}.chart-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1.2fr);gap:1rem;margin-top:1.5rem;display:grid}@media (width<=1100px){.chart-grid{grid-template-columns:1fr}}.panel-body{padding:.25rem 1.1rem 1.1rem}.bar-chart{align-items:flex-end;gap:.6rem;height:190px;display:flex}.bar-col{flex-direction:column;flex:1;align-items:center;min-width:0;height:100%;display:flex}.bar-value{color:#475467;margin-bottom:.25rem;font-size:.8rem;font-weight:700}.bar-track{background:#f4f6f9;border-radius:6px 6px 0 0;flex:1;align-items:flex-end;width:100%;max-width:42px;display:flex;overflow:hidden}.bar-fill{background:#9dbfe2;border-radius:6px 6px 0 0;width:100%;transition:height .4s}.bar-col.current .bar-fill{background:#1d5d9b}.bar-label{color:#6b7686;margin-top:.35rem;font-size:.75rem}.donut-wrap{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}.donut{flex-shrink:0;width:150px;height:150px}.donut-total{fill:#1a2433;font-size:26px;font-weight:700}.donut-caption{fill:#6b7686;font-size:11px}.donut-legend{flex-direction:column;flex:1;gap:.45rem;min-width:170px;display:flex}.legend-row{grid-template-columns:12px 1fr auto 2.8rem;align-items:center;gap:.5rem;font-size:.88rem;display:grid}.legend-row .muted{text-align:right}.legend-dot{border-radius:3px;width:10px;height:10px}.hbar-list{flex-direction:column;gap:.35rem;display:flex}.hbar-row{color:inherit;border-radius:8px;margin:0 -.55rem;padding:.5rem .55rem;text-decoration:none;display:block}.hbar-row:hover{background:#f0f6fc}.hbar-head{justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.35rem;display:flex}.hbar-name{font-size:.92rem;font-weight:600}.hbar-track{background:#eef0f3;border-radius:999px;height:12px;margin-bottom:.3rem;display:flex;overflow:hidden}.hbar-seg{height:100%}.up-list{flex-direction:column;display:flex}.up-item{color:inherit;border-top:1px solid #eef0f3;align-items:center;gap:.9rem;padding:.75rem 1.1rem;text-decoration:none;display:flex}.up-item:hover{background:#f7f9fc}.up-body{flex:1;min-width:0}.up-side{text-align:right;flex-direction:column;align-items:flex-end;gap:.3rem;display:flex}@media (width<=860px){.bar-chart{gap:.35rem;height:150px}.donut-wrap{justify-content:center}.up-item{flex-wrap:wrap}.up-side{text-align:left;align-items:flex-start;width:100%}}.nav-icon{flex-shrink:0;width:20px;height:20px}.brand{white-space:nowrap;align-items:center;gap:.6rem;display:flex}.brand-mark{text-align:center;flex-shrink:0;width:20px}.nav-pin{color:#9fb3c8;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.3rem;line-height:0;display:none}.nav-pin:hover{color:#fff;background:#134a7f}.nav-pin .nav-icon{width:18px;height:18px}.nav-signout{white-space:nowrap;justify-content:center;align-items:center;gap:.5rem;display:flex}.nav-signout .nav-icon{width:18px;height:18px}.company-block{align-items:center;gap:.65rem;display:flex}.company-logo{background:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex;overflow:hidden}.company-logo img{object-fit:contain;max-width:100%;max-height:100%;padding:3px}.company-logo span{color:#0b3d6b;letter-spacing:.02em;font-size:.85rem;font-weight:700}.company-text{flex:1;min-width:0}.company-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (width>=861px){.nav-pin{display:inline-flex}.shell.nav-rail{padding-left:68px}.shell.nav-rail .sidebar{z-index:40;scrollbar-width:none;width:68px;padding:1rem .75rem;transition:width .18s,box-shadow .18s;position:fixed;top:0;bottom:0;left:0;overflow:hidden auto}.shell.nav-rail .sidebar::-webkit-scrollbar{display:none}.shell.nav-rail .brand{margin-bottom:1rem}.shell.nav-rail .company-block{margin-bottom:.75rem}.shell.nav-rail .nav-link{margin-bottom:.15rem;padding:.5rem .75rem}.shell.nav-rail .nav-section{margin-top:1rem}.shell.nav-rail .sidebar:hover,.shell.nav-rail .sidebar:focus-within{width:240px;box-shadow:8px 0 28px #0b3d6b47}.shell.nav-rail .sidebar:not(:hover):not(:focus-within) .nav-label,.shell.nav-rail .sidebar:not(:hover):not(:focus-within) .nav-pin,.shell.nav-rail .sidebar:not(:hover):not(:focus-within) .user-email,.shell.nav-rail .sidebar:not(:hover):not(:focus-within) .admin-tag{display:none}.shell.nav-rail .sidebar:not(:hover):not(:focus-within) .nav-section .nav-label{visibility:hidden;display:inline}.shell.nav-rail .sidebar:not(:hover):not(:focus-within) .nav-signout{padding:.6rem 0}.shell.nav-rail .sidebar:not(:hover):not(:focus-within) .nav-count{margin:0;position:absolute;top:2px;left:26px}.shell.nav-rail .company-block{padding:2px .6rem 2px 2px}.shell.nav-rail .sidebar:not(:hover):not(:focus-within) .company-block{background:0 0}.shell.nav-rail .sidebar:not(:hover):not(:focus-within) .company-text{visibility:hidden}}.op-head{align-items:center;gap:.85rem;min-width:0;display:flex}.op-logo{background:#fff;border:1px solid #e4e7ec;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex;overflow:hidden}.op-logo img{object-fit:contain;max-width:100%;max-height:100%;padding:4px}.op-logo span{color:#0b3d6b;font-weight:700}.logo-btn{white-space:nowrap;cursor:pointer;align-items:center;display:inline-flex}.logo-btn.disabled{opacity:.6;pointer-events:none}.logo-pick{cursor:pointer;color:#6b7686;text-align:center;background:#f9fafb;border:2px dashed #cfd6df;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:.7rem;font-weight:600;line-height:1.1;display:flex;overflow:hidden}.logo-pick:hover{color:#1d5d9b;border-color:#1d5d9b}.logo-pick.has-logo{background:#fff;border-style:solid;border-color:#12b76a}.logo-pick img{object-fit:contain;max-width:100%;max-height:100%;padding:3px}.op-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.op-actions .btn-danger.btn-small{padding:.4rem .8rem;font-size:.85rem}.weak-list{flex-direction:column;display:flex}.weak-item{color:inherit;border-top:1px solid #eef0f3;padding:.75rem 1.1rem;text-decoration:none;display:block}a.weak-item:hover{background:#f7f9fc}.weak-course{color:#6b7686;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:600}.weak-question{margin:.2rem 0 .45rem;font-size:.9rem;line-height:1.4}.weak-bar-row{align-items:center;gap:.75rem;display:flex}.weak-track{background:#eef0f3;border-radius:999px;flex:1;height:8px;overflow:hidden}.weak-fill{border-radius:999px;height:100%}.weak-fill.low{background:#d92d20}.weak-fill.mid{background:#f79009}.weak-fill.ok{background:#12b76a}.weak-pct{white-space:nowrap;font-size:.82rem}.doc-title{font-weight:600}.doc-meta{flex-wrap:wrap;gap:.4rem;margin-top:.35rem;display:flex}.doc-desc{margin:.75rem 0 0;font-size:.92rem;line-height:1.5}.doc-detail-head h2{margin-bottom:.2rem}.doc-detail-grid{background:#f4f6f9;border-radius:8px;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.9rem;padding:.9rem;font-size:.9rem;display:grid}.doc-detail-grid .muted{text-transform:uppercase;letter-spacing:.04em;margin-bottom:.15rem;font-size:.72rem;display:block}.version-list{border:1px solid #eef0f3;border-radius:8px;flex-direction:column;margin-top:.4rem;display:flex;overflow:hidden}.version-row{border-top:1px solid #eef0f3;align-items:center;gap:.75rem;padding:.6rem .8rem;font-size:.9rem;display:flex}.version-row:first-child{border-top:none}.version-body{flex:1;min-width:0}.version-current{margin-left:.45rem}.version-row .btn-link{margin-top:0}.modal .check-row{cursor:pointer;align-items:flex-start;gap:.6rem;margin-top:1rem;font-weight:400;display:flex}.check-row input{margin-top:.2rem}.doc-check-hint{margin-top:.15rem;display:block}.doc-actions{align-items:center}.doc-actions-gap{flex:1}.filter-check{color:#475467;white-space:nowrap;cursor:pointer;align-items:center;gap:.4rem;font-size:.88rem;display:flex}@media (width<=860px){.doc-detail-grid{grid-template-columns:1fr}.doc-actions-gap{display:none}}.ack-summary{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.4rem;display:flex}.ack-summary .pct-bar{flex:1;width:auto;min-width:120px;height:8px;margin:0}.ack-summary .pct-bar div,.ack-cell .pct-bar div{background:#12b76a}.ack-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin:.7rem 0 .45rem;display:flex}.ack-toolbar .btn-link{margin-top:0}.ack-list{border:1px solid #eef0f3;border-radius:8px;max-height:280px;overflow-y:auto}.ack-row{border-top:1px solid #eef0f3;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem .8rem;font-size:.88rem;display:flex}.ack-row:first-child{border-top:none}.ack-row .badge{flex-shrink:0}.ack-cell{min-width:90px}.ack-cell .pct-bar{width:70px}.audit-controls{background:#fff;border-radius:10px;flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-bottom:1rem;padding:1rem 1.1rem;display:flex}.audit-controls .field{min-width:160px}.audit-controls input[type=date]{font:inherit;background:#fff;border:1px solid #cfd6df;border-radius:6px;padding:.55rem .7rem;font-size:.92rem}.audit-quick{flex-wrap:wrap;gap:.35rem;display:flex}.audit-quick .btn-ghost.active{color:#fff;background:#1d5d9b;border-color:#1d5d9b;font-weight:600}.audit-actions{flex-wrap:wrap;gap:.5rem;margin-left:auto;display:flex}.audit-actions .btn-primary{width:auto;margin-top:0}.audit-csv{flex-wrap:wrap;align-items:center;gap:.4rem 1rem;margin:0 0 1rem;font-size:.85rem;display:flex}.audit-csv .btn-link{margin-top:0}.audit-report{color:#1a2433;background:#fff;border-radius:10px;padding:2rem 2.25rem}.audit-cover{border-bottom:3px solid #0b3d6b;justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:1.25rem;padding-bottom:1.25rem;display:flex}.audit-logo{object-fit:contain;max-width:140px;max-height:70px}.audit-kicker{letter-spacing:.08em;text-transform:uppercase;color:#1d5d9b;font-size:.75rem;font-weight:700}.audit-title{color:#0b3d6b;margin:.25rem 0 .6rem;font-size:1.6rem}.audit-meta{grid-template-columns:auto 1fr;gap:.2rem 1rem;margin:0;font-size:.88rem;display:grid}.audit-meta dt{color:#6b7686}.audit-meta dd{margin:0;font-weight:600}.audit-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;margin:1rem 0 .5rem;display:grid}.audit-kpi{border:1px solid #e4e7ec;border-radius:8px;padding:.6rem .75rem}.audit-kpi strong{color:#0b3d6b;font-size:1.3rem;display:block}.audit-kpi span{color:#6b7686;font-size:.78rem}.audit-section{margin-top:1.75rem}.audit-section h2{color:#0b3d6b;border-bottom:1px solid #e4e7ec;margin:0 0 .6rem;padding-bottom:.35rem;font-size:1.1rem}.audit-section h3{margin:1.1rem 0 .4rem;font-size:.95rem}.audit-table{border-collapse:collapse;width:100%;font-size:.8rem}.audit-table th{text-align:left;color:#475467;background:#f0f3f7;border-bottom:1px solid #dfe4ea;padding:.4rem .5rem;font-weight:600}.audit-table td{vertical-align:top;border-bottom:1px solid #eef0f3;padding:.4rem .5rem}.audit-table .muted{font-size:.75rem}.audit-note{color:#6b7686;margin:.4rem 0 .6rem;font-size:.78rem}.audit-session{border:1px solid #e4e7ec;border-radius:8px;margin-bottom:.7rem;padding:.6rem .75rem}.audit-session-head{flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-bottom:.45rem;font-size:.85rem;display:flex}.audit-empty{color:#6b7686;font-size:.85rem}.audit-footer{color:#6b7686;border-top:1px solid #e4e7ec;margin-top:2rem;padding-top:.75rem;font-size:.75rem}@media (width<=860px){.audit-report{padding:1.1rem}.audit-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-cover{flex-direction:column-reverse}.audit-table-wrap{overflow-x:auto}.audit-actions{width:100%;margin-left:0}}@media print{@page{size:A4;margin:14mm}body{background:#fff}.sidebar,.mobile-bar,.sidebar-overlay,.no-print,.toast-stack{display:none!important}.shell,.shell.nav-rail{display:block;padding-left:0!important}.content{padding:0!important}.audit-report{border-radius:0;padding:0}.audit-report *{-webkit-print-color-adjust:exact;print-color-adjust:exact}.audit-section h2,.audit-section h3{break-after:avoid}.audit-table tr,.audit-kpi,.audit-session-head{break-inside:avoid}.audit-table thead{display:table-header-group}.audit-break{break-before:page}}.fb-list{flex-direction:column;gap:.6rem;display:flex}.fb-item{background:#fff;border:1px solid #e4e7ec;border-radius:10px;overflow:hidden}.fb-head{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:.9rem;padding:.9rem 1.1rem;display:flex}.fb-head:hover{background:#f7f9fc}.fb-main{flex:1;min-width:0}.fb-title{flex-wrap:wrap;align-items:center;gap:.5rem;font-weight:600;display:flex}.fb-score{text-align:right;white-space:nowrap}.fb-avg{color:#0b3d6b;font-size:1.25rem;font-weight:700;line-height:1.1}.fb-stars-bar{color:#dfe4ea;letter-spacing:.05em;font-size:.95rem;display:inline-block;position:relative}.fb-stars-bar span{white-space:nowrap;color:#f5a623;position:absolute;top:0;left:0;overflow:hidden}.fb-body{border-top:1px solid #eef0f3;grid-template-columns:220px minmax(0,1fr);gap:1.25rem;padding:.9rem 1.1rem 1.1rem;display:grid}.fb-dist{flex-direction:column;gap:.3rem;font-size:.8rem;display:flex}.fb-dist-row{grid-template-columns:1.6rem 1fr 1.6rem;align-items:center;gap:.4rem;display:grid}.fb-dist-track{background:#eef0f3;border-radius:999px;height:8px;overflow:hidden}.fb-dist-track div{background:#f5a623;height:100%}.fb-comments{flex-direction:column;gap:.7rem;display:flex}.fb-comment{border-left:3px solid #dfe4ea;padding:.2rem 0 .2rem .75rem;font-size:.9rem}.fb-comment-meta{color:#6b7686;margin-bottom:.2rem;font-size:.78rem}.fb-comment-q{color:#475467;text-transform:uppercase;letter-spacing:.04em;margin-top:.35rem;font-size:.72rem;font-weight:600}.fb-empty{padding-top:1.1rem}@media (width<=860px){.fb-body{grid-template-columns:1fr}.fb-head{flex-wrap:wrap}.fb-score{text-align:left}}.nav-report{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;margin-bottom:.6rem}.report-cats{flex-wrap:wrap;gap:.35rem;display:flex}.report-shot img{border:1px solid #e4e7ec;border-radius:8px;max-width:100%;max-height:220px;display:block}.report-shot-actions{align-items:center;gap:1rem;margin-top:.45rem;display:flex}.report-shot-actions .btn-link{margin:0;font-size:.85rem;font-weight:600}.modal .report-shot-actions label.btn-link{cursor:pointer;margin:0}.report-note{color:#6b7686;margin:.9rem 0 0;font-size:.8rem}.report-sent{text-align:center;padding:.5rem 0}.report-sent .modal-actions{justify-content:center}.issue-title{margin:.6rem 0 .2rem}.issue-desc{white-space:pre-wrap;background:#f4f6f9;border-radius:8px;margin-top:.75rem;padding:.8rem .9rem;font-size:.93rem;line-height:1.5}.issue-shot img{border:1px solid #e4e7ec;border-radius:8px;max-width:100%;max-height:320px;display:block}.issue-ua{color:#98a2b3;word-break:break-all;margin:.5rem 0 0;font-size:.72rem}.issue-errors{background:#fdf6f5;border:1px solid #f7d4d0;border-radius:8px;flex-direction:column;gap:.5rem;max-height:200px;padding:.6rem .75rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;display:flex;overflow-y:auto}.issue-snippet{text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:420px;display:-webkit-box;overflow:hidden}.issue-app{margin-top:.25rem}.help-search{width:100%;max-width:520px;font:inherit;background:#fff;border:1px solid #cfd6df;border-radius:8px;margin:.5rem 0 1.25rem;padding:.65rem .9rem;font-size:.95rem}.help-section{margin-bottom:1.5rem}.help-section h2{color:#0b3d6b;margin:0 0 .5rem;font-size:1rem}.help-list{flex-direction:column;gap:.5rem;display:flex}.help-item{background:#fff;border:1px solid #e4e7ec;border-radius:10px;overflow:hidden}.help-head{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;align-items:flex-start;gap:.75rem;padding:.85rem 1rem;display:flex}.help-head:hover{background:#f7f9fc}.help-head strong{margin-bottom:.1rem;display:block}.help-body{padding:0 1rem 1rem 2.75rem;font-size:.92rem;line-height:1.55}.help-body ol{margin:.2rem 0 0;padding-left:1.1rem}.help-body li{margin-bottom:.35rem}.help-tip{color:#0b3d6b;background:#eaf2fb;border-radius:8px;margin-top:.75rem;padding:.6rem .8rem;font-size:.88rem}.help-link{color:#1d5d9b;margin-top:.75rem;font-weight:600;text-decoration:none;display:inline-block}.help-link:hover{text-decoration:underline}.help-stuck{background:#fff;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem;padding:1.1rem;display:flex}.help-stuck .btn-primary{width:auto;margin-top:0}@media (width<=860px){.help-body{padding-left:1rem}}.nav-group{margin:1rem .75rem .3rem}.sidebar>nav{scrollbar-width:thin;scrollbar-color:#ffffff40 transparent;flex:1;min-height:0;overflow:hidden auto}.sidebar>nav::-webkit-scrollbar{width:6px}.sidebar>nav::-webkit-scrollbar-thumb{background:#ffffff40;border-radius:999px}.sidebar-footer{border-top:1px solid #ffffff1a;padding-top:.6rem}@media (width>=861px){.sidebar{align-self:flex-start;height:100vh;position:sticky;top:0}.shell.nav-rail .sidebar{overflow:hidden}.shell.nav-rail .sidebar>nav{scrollbar-width:none}.shell.nav-rail .sidebar>nav::-webkit-scrollbar{display:none}.shell.nav-rail .sidebar:not(:hover):not(:focus-within) .nav-group{border-top:1px solid #ffffff26}}.docs-layout{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:1rem;display:grid}.folder-panel{background:#fff;border:1px solid #e4e7ec;border-radius:10px;max-height:calc(100vh - 2rem);padding:.6rem;position:sticky;top:1rem;overflow-y:auto}.folder-panel-head{justify-content:space-between;align-items:center;padding:.3rem .4rem .5rem;display:flex}.folder-panel-head .btn-link{margin-top:0}.folder-row{width:100%;font:inherit;color:#1a2433;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:center;gap:.5rem;padding:.45rem .75rem;font-size:.9rem;display:flex}.folder-row:hover{background:#f0f6fc}.folder-row.active{color:#0b3d6b;background:#eaf2fb;font-weight:600}.folder-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.folder-count{color:#98a2b3;flex-shrink:0;font-size:.75rem}.docs-main{min-width:0}.folder-bar{background:#fff;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;padding:.7rem 1rem;display:flex}.folder-actions{flex-wrap:wrap;gap:1rem;display:flex}.folder-actions .btn-link{margin-top:0}.doc-video{background:#000;border-radius:8px;width:100%;max-height:360px;margin-top:.9rem;display:block}@media (width<=860px){.docs-layout{grid-template-columns:1fr}.folder-panel{max-height:260px;position:static}}
