:root{color-scheme:light;--navy:#071b38;--blue:#173f70;--silver:#e5e9ef;--paper:#fff;--ink:#182b43;--muted:#55657a;--line:#cbd4df;--bg:#f2f5f8;--danger:#9f2933;--green:#20654c;font-family:Segoe UI,Arial,sans-serif;font-size:16px;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}a{color:var(--blue)}button{border:1px solid var(--blue);background:var(--blue);color:white;border-radius:7px;padding:.65rem 1rem;cursor:pointer;font-weight:600}button:hover{background:#0c2c53}button:disabled{opacity:.5;cursor:not-allowed}.secondary{background:white;color:var(--blue);border-color:#adbacb}.secondary:hover{background:#eaf0f7}.danger{background:var(--danger);border-color:var(--danger)}:focus-visible{outline:3px solid #3a91d8;outline-offset:3px}input,select,textarea{padding:.7rem;border:1px solid #aebccc;border-radius:6px;background:white;color:var(--ink);max-width:100%}input:not([type=checkbox]),textarea{width:100%}input[type=checkbox]{width:1.1rem;height:1.1rem;accent-color:var(--blue)}label{font-size:.9rem;font-weight:600;display:block;margin-bottom:.35rem}textarea{min-height:95px;resize:vertical}h1{font-size:1.9rem;letter-spacing:-.04em;margin:.3rem 0 1rem}h2{font-size:1.15rem;margin:.4rem 0 .8rem}p{line-height:1.55}footer{text-align:right;color:var(--muted);font-size:.73rem;padding:1.3rem 1.8rem;border-top:1px solid var(--line);background:#eef1f5}.masthead{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;background:linear-gradient(110deg,#04152e,#12355e);color:white;border-bottom:4px solid #bcc6d4}.brand{color:white;text-decoration:none;font-size:1.65rem;letter-spacing:-.03em}.brand strong{font-weight:400;color:#e6ebf2}.badge{font-size:.75rem;padding:.4rem .6rem;border:1px solid #6e829d;border-radius:5px;letter-spacing:.03em}.eyebrow,.nav-label{font-size:.7rem;letter-spacing:.12em;font-weight:700;color:var(--muted);margin:.2rem 0 .8rem}.workspace{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:calc(100vh - 130px)}.sidebar{background:#fff;border-right:1px solid var(--line);padding:1.5rem 1rem}.sidebar nav{display:flex;flex-direction:column;gap:.25rem}.sidebar nav button{text-align:left;background:transparent;color:var(--ink);border-color:transparent;font-size:.88rem;padding:.7rem}.sidebar nav button:hover{background:#edf1f6}.sidebar nav button[aria-current=page]{background:#e7eef8;color:#113a6b;border-left:3px solid #214f85}.nav-label{padding:1.2rem .7rem .1rem}#logout{border-top:1px solid var(--line);padding-top:1rem;margin-top:1.5rem}#logout button{width:100%}.content{padding:2rem;max-width:1650px;width:100%;min-width:0}.page-heading{display:flex;gap:1rem;justify-content:space-between;align-items:center}.quarter-control{min-width:210px}.quarter-control select{width:100%}.access{font-size:.82rem;color:var(--muted);margin:.25rem 0 1.2rem}.toolbar{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;padding:1rem;background:#e7ebf1;border:1px solid var(--line);border-radius:10px;margin-bottom:1.2rem}.search{display:flex;gap:.5rem;flex:1 1 240px}.search input{min-width:130px}.toolbar label{margin:0;font-size:.8rem}.toolbar #register-filters{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.toolbar button{font-size:.85rem}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:1rem}.card{border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 2px 4px #0a244508;overflow:hidden;padding:1.2rem}.card h2{overflow-wrap:anywhere}.card dl{display:grid;grid-template-columns:minmax(95px,40%) minmax(0,1fr);gap:.4rem .6rem;font-size:.86rem;margin:1rem 0}.card dt{color:var(--muted)}.card dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.card .actions{display:flex;gap:.5rem;flex-wrap:wrap;border-top:1px solid #e4e9f0;padding-top:.8rem}.card .actions button{font-size:.8rem;padding:.5rem .7rem}.card .tag{font-size:.72rem;color:var(--muted);background:#eef2f7;padding:.25rem .45rem;border-radius:4px}.dashboard-card{display:block;text-align:left;padding:1.4rem;background:white;color:var(--ink);border:1px solid var(--line);min-height:110px}.dashboard-card:hover{background:#e9eff7}.dashboard-card strong{display:block;margin-bottom:.6rem}.dashboard-card span{font-size:.8rem;color:var(--muted)}.pagination{display:flex;justify-content:flex-end;gap:1rem;align-items:center;margin:1.2rem 0;font-size:.85rem}.notice,#notice{padding:.85rem 1rem;border-left:4px solid #a77816;background:#fff6df;border-radius:4px;margin:1rem 0;overflow-wrap:anywhere}.muted{color:var(--muted);font-size:.85rem}.release-note{margin-top:2rem}.login-card{max-width:480px;margin:5vh auto;padding:2.4rem;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 35px #08203e0a}.login-card form>input{margin-bottom:1rem}.login-card button{width:100%;margin-top:1rem}.login-card details{margin-top:1rem;font-size:.82rem}.login-card details input{margin-top:.4rem}.validation-summary-valid{display:none}.validation-summary-errors{color:var(--danger);font-size:.85rem}.profile-form{max-width:620px;background:white;padding:1.5rem;border:1px solid var(--line);border-radius:10px}.field{margin-bottom:1rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}.form-grid .wide{grid-column:1/-1}.form-actions{display:flex;gap:.7rem;justify-content:flex-end;margin-top:1rem;flex-wrap:wrap}dialog{width:min(760px,calc(100vw - 28px));max-height:90vh;overflow:auto;border:1px solid #9eacbf;border-radius:12px;padding:1.6rem;box-shadow:0 20px 80px #06172c44;color:var(--ink)}dialog::backdrop{background:#071b3866}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.dialog-header button{padding:.4rem .7rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}#report{background:white;padding:2rem;margin:1rem;border:1px solid var(--line)}#report table{width:100%;border-collapse:collapse;font-size:.8rem}#report th,#report td{padding:.55rem;border:1px solid #cad4df;text-align:left;vertical-align:top;overflow-wrap:anywhere}#report th{background:#e9edf2}#report .table-scroll{overflow:auto}body.report-open .workspace{display:none}[hidden],.toolbar #register-filters[hidden]{display:none!important}
.compliance-launch{display:flex;gap:1rem;justify-content:space-between;align-items:center;padding:1rem 1.2rem;background:linear-gradient(110deg,#e4ebf4,#fff);border:1px solid var(--line);border-radius:10px;margin:1rem 0 1.4rem}.compliance-launch p{margin:.4rem 0 0}.compliance-launch button{flex-shrink:0}.pack-section{margin-top:2rem;border-top:2px solid var(--line);padding-top:1rem}#report li{margin:.35rem 0}#report h2{break-after:avoid}
.workspace-tools{display:flex;align-items:flex-end;gap:.8rem;flex-wrap:wrap}.camera-dialog{max-width:600px}.camera-dialog video{display:block;width:100%;max-height:48vh;object-fit:contain;background:#071b38;border-radius:8px}.camera-dialog form{border-top:1px solid var(--line);margin-top:1.4rem;padding-top:1rem}.camera-dialog .search input{min-width:0}.camera-dialog .search button{flex-shrink:0}
.photo-panel{border-top:1px solid var(--line);margin-top:1rem;padding-top:.8rem}.photo-heading{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.photo-heading h3{font-size:.95rem;margin:.3rem 0}.photo-heading button{font-size:.75rem;padding:.35rem .5rem}.photo-slots{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:.6rem}.photo-slot{display:flex;flex-direction:column;gap:.4rem;flex:1 1 90px;max-width:180px;min-width:0}.photo-slot>button{font-size:.75rem;padding:.4rem .5rem}.photo-thumbnail{display:block;width:100%;height:100px;padding:0!important;background:var(--silver);border:1px solid var(--line);overflow:hidden}.photo-thumbnail img{width:100%;height:100%;object-fit:cover;display:block}.photo-state{font-size:.8rem;margin:.2rem 0;color:var(--muted)}.photo-dialog{max-width:760px}.photo-display,.photo-camera{display:block;width:100%;max-height:60vh;object-fit:contain;margin:1rem auto;background:var(--navy);border-radius:8px}.photo-dialog input[type=file]{margin:.5rem 0}.photo-dialog .form-actions{justify-content:flex-start}.photo-panel>.muted{margin:.5rem 0}.photo-dialog button{min-height:40px}
@media(max-width:850px){.workspace{grid-template-columns:190px minmax(0,1fr)}.content{padding:1.2rem}.sidebar{padding:1rem .6rem}.page-heading{align-items:flex-start;flex-direction:column}.quarter-control{width:100%}.masthead{padding:0 1rem}.badge{font-size:.65rem}.compliance-launch{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.workspace{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--line);padding:.7rem}.sidebar>.eyebrow,.sidebar .nav-label{display:none}.sidebar nav{display:flex;flex-direction:row;overflow:auto;gap:.3rem}.sidebar nav button{white-space:nowrap}.sidebar #logout{border:0;margin:.5rem 0 0;padding:0;text-align:right}.sidebar #logout button{width:auto;font-size:.75rem;padding:.4rem .7rem}.content{padding:1rem}.masthead{height:68px}.brand{font-size:1.4rem}.badge{max-width:130px;text-align:center}.form-grid{grid-template-columns:1fr}.login-card{margin:1.5rem .8rem;padding:1.6rem}.toolbar{padding:.7rem}.cards{grid-template-columns:1fr}h1{font-size:1.65rem}footer{text-align:center;padding:1rem}.pagination{justify-content:space-between}.quarter-control{min-width:0}}
.privacy-policy{max-width:900px;margin:2rem auto;padding:2rem;background:white;border:1px solid var(--line);border-radius:12px;overflow-wrap:anywhere}.privacy-policy h2{margin-top:1.8rem}.privacy-policy li{line-height:1.6;margin:.7rem 0}.privacy-policy p{line-height:1.7}footer a{display:inline-block;margin-bottom:.6rem}
@media(max-width:700px){.privacy-policy{margin:1rem .75rem;padding:1.25rem}.privacy-policy ul{padding-left:1.3rem}}
#workspace-menu>summary{display:none}.staff-views .actions{display:flex;gap:.5rem;flex-wrap:wrap}
@media(max-width:700px){
 .workspace{display:block}.sidebar{padding:.6rem 1rem;border-right:0;border-bottom:1px solid var(--line)}
 #workspace-menu>summary{display:flex;justify-content:space-between;align-items:center;min-height:44px;cursor:pointer;font-weight:700;color:var(--blue);list-style:none}
 #workspace-menu>summary::-webkit-details-marker{display:none}#workspace-menu[open]>summary{margin-bottom:.6rem;border-bottom:1px solid var(--line)}
 .navigation-content>.eyebrow{display:none}.sidebar nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;gap:.35rem}
 .sidebar nav button{white-space:normal;min-height:48px;padding:.7rem;text-align:left;overflow-wrap:anywhere}
 .sidebar .nav-label{display:block;grid-column:1/-1;margin:0;padding:.7rem .4rem .2rem}
 .sidebar #logout{margin:.7rem 0 0;padding:.5rem 0 0;border-top:1px solid var(--line)}.sidebar #logout button{width:100%;min-height:44px;font-size:.9rem}
 .masthead{height:auto;min-height:64px;padding:.75rem 1rem;gap:.75rem}.brand{font-size:1.4rem;flex-shrink:0}.badge{max-width:150px;text-align:center;overflow-wrap:anywhere}
 .content{padding:1rem;min-width:0}.page-heading,.workspace-tools{width:100%;align-items:stretch}.page-heading>div{min-width:0}.workspace-tools{display:grid;grid-template-columns:minmax(0,1fr)}
 .quarter-control{min-width:0;width:100%}h1{font-size:1.6rem;overflow-wrap:anywhere}.access{line-height:1.5}
 button,summary{touch-action:manipulation}button,select,input:not([type=checkbox]){min-height:44px}
 .toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;padding:.75rem}.toolbar .search,.toolbar #archived-label,.toolbar #register-filters{grid-column:1/-1}
 .search{min-width:0}.search input{min-width:0}.search button{flex-shrink:0}.toolbar #register-filters{display:grid;grid-template-columns:auto minmax(0,1fr)}.toolbar select{width:100%;min-width:0}
 .compliance-launch{padding:1rem;gap:.7rem}.compliance-launch button{width:100%}.compliance-launch p{line-height:1.45}
 .cards,.form-grid{grid-template-columns:minmax(0,1fr)}.card,.profile-form{padding:1rem;min-width:0}.card .actions button{min-height:44px;flex:1 1 130px}.staff-views .actions>button{flex:1 1 130px}
 .pagination{gap:.5rem;flex-wrap:wrap;justify-content:space-between}.pagination button{padding:.6rem}.pagination span{font-size:.8rem}
 dialog{width:calc(100% - 16px);max-height:calc(100dvh - 24px);padding:1rem}.dialog-header{align-items:flex-start}.dialog-header h2{min-width:0;overflow-wrap:anywhere}.dialog-header button{flex-shrink:0;min-height:44px}
 .form-actions>button{flex:1 1 140px}#history-form{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center}#history-form button{grid-column:1/-1}
 .photo-heading{flex-wrap:wrap}.photo-heading button,.photo-slot>button{min-height:44px}.photo-slot{flex-basis:80px}.photo-dialog input[type=file]{font-size:.85rem;min-width:0}
 #report{margin:.5rem;padding:1rem;min-width:0}#report table{min-width:600px}#report .table-scroll{max-width:100%;overflow-x:auto}.login-card{margin:1rem .75rem;padding:1.4rem}footer{text-align:center;padding:1rem}
}
@media print{html,body{background:#fff!important}body>*{display:none!important}body>#report{display:block!important;border:0;margin:0;padding:0}#report[hidden]{display:none!important}#report .no-print{display:none!important}#report .table-scroll{overflow:visible}#report .pack-section{break-inside:avoid-page}#report .pack-section:has(table){break-inside:auto}#report .pack-section h2+p{break-after:avoid}#report table{table-layout:fixed;font-size:9pt;min-width:0}#report tr{break-inside:avoid}#report th{background:white}a{color:#000} @page{size:A4 landscape;margin:12mm}}
