:root{color:#172231;font-synthesis:none;--navy:#072a55;--blue:#0876c9;--red:#e31619;--line:#dce4ec;--muted:#627083;background:#f5f8fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,.button{color:#22344a;cursor:pointer;background:#fff;border:1px solid #cbd6e2;border-radius:5px;padding:9px 14px;font-size:13px;font-weight:650;text-decoration:none}button:hover,.button:hover{border-color:var(--blue)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #8dc8f4}.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.danger{background:var(--red);border-color:var(--red);color:#fff}.danger-outline{color:var(--red);border-color:#f3aaaa}.approve{color:#fff;background:#099c4c;border-color:#099c4c}.ghost{color:var(--blue);border-color:#0000}.link{color:#086bc1;background:0 0;border:0;padding:0}.icon-btn{background:0 0;border:0;padding:5px 8px}.loading{min-height:100vh;color:var(--navy);place-items:center;font-weight:700;display:grid}.app{grid-template-rows:60px 1fr;grid-template-columns:220px 1fr;min-height:100vh;display:grid}.topbar{border-bottom:1px solid var(--line);z-index:20;background:#fff;grid-column:1/-1;justify-content:space-between;align-items:center;padding:0 22px;display:flex;position:sticky;top:0}.brand-lockup{color:var(--navy);align-items:center;gap:12px;display:flex}.brand-lockup strong{color:#0769bf;letter-spacing:-1px;font-size:27px}.brand-lockup span{text-transform:uppercase;border-left:1px solid var(--line);padding-left:12px;font-size:10px;font-weight:800;line-height:1.1}.user{align-items:center;gap:10px;font-size:12px;display:flex}.user span:nth-child(2){flex-direction:column;display:flex}.user small{color:var(--muted)}.avatar{border:1px solid var(--line);border-radius:50%;place-items:center;width:32px;height:32px;font-weight:800;display:grid}.user button{color:var(--muted);border:0;padding:6px}.sidebar{color:#fff;background:linear-gradient(#083b76,#062853);flex-direction:column;grid-area:2/1;min-height:calc(100vh - 60px);padding:18px 10px;display:flex;position:sticky;top:60px}.side-brand{flex-direction:column;margin:8px 10px 22px;font-size:29px;font-weight:900;display:flex}.side-brand small{margin-top:3px;font-size:10px;font-weight:500}.sidebar nav{gap:4px;display:grid}.sidebar nav button{color:#fff;text-align:left;background:0 0;border:0;align-items:center;gap:13px;padding:11px 12px;font-size:13px;display:flex}.sidebar nav button span{text-align:center;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.nav-icon{width:20px;height:20px;display:block}.verification-panel{gap:18px;max-width:760px;display:grid}.verification-search{border:1px solid var(--line);background:#fff;align-items:end;gap:12px;padding:22px;display:flex}.verification-search label{flex:1}.verification-search button{white-space:nowrap;min-height:39px}.verification-result{border:1px solid var(--line);background:#fff;border-left:4px solid #a25b00;gap:17px;padding:22px;display:grid}.verification-result.valid{border-left-color:#078642}.verification-result.invalid{border-left-color:#b20f18}.verification-result h2{color:var(--navy);margin:12px 0 3px;font-size:20px}.verification-result p{color:var(--muted);margin:0}.verification-result>span{color:var(--muted)}.verification-result dl{border-top:1px solid var(--line);grid-template-columns:160px 1fr;margin:0;display:grid}.verification-result dt,.verification-result dd{border-bottom:1px solid var(--line);margin:0;padding:9px 0}.verification-result dt{font-weight:750}.verification-link{color:#0876c9;font-weight:750;text-decoration:none}.verification-link:hover{text-decoration:underline}@media (width<=680px){.verification-search{flex-direction:column;align-items:stretch}.verification-result dl{grid-template-columns:1fr}.verification-result dt{border-bottom:0;padding-bottom:0}.verification-result dd{padding-top:3px}}.sidebar nav button.active{background:#0876c9}.version{color:#a9c6e0;border-top:1px solid #47709b;margin-top:auto;padding:14px 10px 0;font-size:11px}.content{grid-column:2;min-width:0;padding:28px 30px}.page-head{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.page-head h1{color:#111a25;letter-spacing:-.3px;margin:0;font-size:23px}.page-head p{color:var(--muted);margin:5px 0 0;font-size:13px}.metrics{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px;display:grid}.metric{border:1px solid var(--line);border-left:3px solid var(--blue);background:#fff;flex-direction:column;min-height:105px;padding:15px 16px;display:flex}.metric>span{font-size:12px}.metric strong{color:var(--blue);margin:7px 0 2px;font-size:23px}.metric small{color:var(--muted);font-size:11px}.metric.green{border-left-color:#12a653}.metric.green strong{color:#118b49}.metric.amber{border-left-color:#eb8600}.metric.amber strong{color:#d87500}.metric.red{border-left-color:var(--red)}.metric.red strong{color:var(--red)}.table-panel{border:1px solid var(--line);background:#fff}.filters{border-bottom:1px solid var(--line);gap:10px;padding:18px;display:flex}.search{border:1px solid #cbd6e2;border-radius:5px;align-items:center;gap:8px;min-width:380px;height:37px;padding:0 11px;display:flex}.search input{border:0;outline:0;flex:1;min-width:0;font-size:12px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;color:#253345;border-bottom:1px solid var(--line);white-space:nowrap;background:#f8fafc;padding:12px 13px}td{vertical-align:middle;border-bottom:1px solid #e6ebf0;padding:12px 13px}tbody tr:hover,tbody tr.selected{background:#edf6ff}td small{color:var(--muted);margin-top:3px;display:block}.empty{text-align:center;color:var(--muted);padding:55px}.empty b,.empty span{margin:4px;display:block}.status{white-space:nowrap;color:#465568;background:#eef2f5;border-radius:4px;padding:4px 7px;font-size:10px;font-weight:750;display:inline-block}.status.valid,.status.fit{color:#08783a;background:#e5f6eb}.status.awaiting_approval,.status.expiring{color:#9a5500;background:#fff0db;border:1px solid #f5c27b}.status.revoked,.status.unfit{color:#b20f18;background:#fde7e8}.drawer{z-index:12;border-left:1px solid var(--line);background:#fff;width:365px;height:calc(100vh - 60px);padding:20px;position:fixed;top:60px;right:0;overflow:auto;box-shadow:-9px 0 28px #0c2a4514}.drawer header{justify-content:space-between;align-items:start;display:flex}.drawer h2{margin:0 0 7px;font-size:16px}.drawer .close{border:0;padding:0 5px;font-size:25px}.drawer h3{border-top:1px solid var(--line);margin:18px 0 10px;padding-top:14px;font-size:12px}.drawer dl{grid-template-columns:42% 58%;margin:10px 0;font-size:11px;line-height:1.8;display:grid}.drawer dt{font-weight:650}.drawer dd{margin:0}.outcome{color:#d55b00;text-transform:uppercase;font-size:13px;font-weight:800}.assessments{gap:8px;display:grid}.assessments>div{justify-content:space-between;align-items:center;font-size:11px;display:flex}.timeline{border-left:2px solid #bdd1e3;margin-left:5px;padding-left:16px;list-style:none}.timeline li{margin:0 0 15px;position:relative}.timeline li:before{content:"";background:#0876c9;border-radius:50%;width:8px;height:8px;position:absolute;top:3px;left:-21px}.timeline b,.timeline small{font-size:11px;display:block}.timeline small{color:var(--muted);margin-top:3px}.drawer footer{background:#fff;gap:8px;padding:14px 0 20px;display:grid;position:sticky;bottom:-20px}.drawer footer .button{text-align:center}.certificate-form{gap:16px;max-width:1050px;display:grid}.certificate-form fieldset{border:1px solid var(--line);background:#fff;padding:20px}.certificate-form legend{color:var(--navy);padding:0 7px;font-weight:800}.form-grid,.assessment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.assessment-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px}.certificate-form label{color:#304054;flex-direction:column;gap:7px;font-size:12px;font-weight:700;display:flex}.certificate-form input,.certificate-form select,.certificate-form textarea{color:#142335;background:#fff;border:1px solid #c6d2df;border-radius:5px;padding:10px}.certificate-form .wide{grid-column:1/-1}.certificate-form .checkbox{flex-direction:row;align-items:center;margin-top:27px}.certificate-form .checkbox input{width:18px;height:18px}.form-actions{justify-content:flex-end;gap:10px;display:flex}.error{color:#a30e17;background:#fdeced;border:1px solid #f5b3b7;border-radius:5px;padding:10px;font-size:12px}.login-page{background:linear-gradient(135deg,#062853 0 48%,#f4f8fc 48%);place-items:center;min-height:100vh;display:grid}.login-card{border-top:5px solid var(--red);background:#fff;width:min(420px,100% - 32px);padding:38px;box-shadow:0 20px 60px #001c3866}.login-card h1{color:var(--navy);margin:28px 0 6px;font-size:25px}.login-card>p{color:var(--muted);font-size:13px}.login-card form{gap:15px;margin:23px 0;display:grid}.login-card label{gap:7px;font-size:12px;font-weight:700;display:grid}.login-card input{border:1px solid #cbd6e2;padding:11px}.login-card small{color:var(--muted)}.coming{border:1px solid var(--line);background:#fff;padding:40px}.coming h1{color:var(--navy)}code{white-space:pre-wrap;font-size:10px}.approval-examiner{color:var(--navy);background:#eef6fd;border:1px solid #c9dff1;gap:7px;margin-top:16px;padding:13px;font-size:11px;font-weight:750;display:grid}.approval-examiner select,.examiner-form input,.examiner-form select{background:#fff;border:1px solid #b8c8d8;padding:9px}.approval-examiner small,.examiner-form label small{color:var(--muted);font-weight:500;line-height:1.45}.examiner-layout{grid-template-columns:340px minmax(0,1fr);align-items:start;gap:18px;display:grid}.examiner-form{border:1px solid var(--line);background:#fff;gap:15px;padding:20px;display:grid}.examiner-form h2{color:var(--navy);margin:0;font-size:16px}.examiner-form label{color:#304054;gap:7px;font-size:12px;font-weight:700;display:grid}.examiner-form input[type=file]{font-size:11px}.security-note{border-left:3px solid var(--blue);color:var(--muted);background:#f5f8fb;margin:0;padding:11px;font-size:11px;line-height:1.5}@media (width<=980px){.examiner-layout{grid-template-columns:1fr}.app{grid-template-columns:72px 1fr}.sidebar{padding:14px 8px}.side-brand{margin:8px 4px 20px;font-size:16px}.side-brand small,.sidebar nav button:not(.active){font-size:0}.sidebar nav button{justify-content:center}.sidebar nav button.active{font-size:0}.sidebar nav button span{font-size:20px}.version{display:none}.metrics,.assessment-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=680px){.app{display:block}.topbar{height:58px}.topbar .brand-lockup span,.user span:nth-child(2),.user button{display:none}.sidebar{z-index:30;background:var(--navy);height:64px;min-height:0;padding:6px;position:fixed;inset:auto 0 0}.side-brand,.version{display:none}.sidebar nav{justify-content:space-around;display:flex}.sidebar nav button{display:none}.sidebar nav button:nth-child(-n+5){flex-direction:column;gap:1px;padding:4px 7px;display:flex;font-size:8px!important}.sidebar nav button span{font-size:18px}.content{padding:18px 14px 82px}.page-head{align-items:flex-start}.page-head p{display:none}.page-head h1{font-size:19px}.metrics{grid-template-columns:repeat(2,1fr);gap:8px}.metric{min-height:90px;padding:11px}.metric strong{font-size:19px}.filters{flex-wrap:wrap}.search{width:100%;min-width:100%}.drawer{z-index:40;width:100%;height:100vh;top:0}.form-grid,.assessment-grid{grid-template-columns:1fr}.login-page{background:var(--navy)}}.box-record{gap:7px;font-size:11px;display:grid}.box-record small{color:var(--muted)}.box-record .box-error{color:#b20f18}.status.uploaded{color:#08783a;background:#e5f6eb}.status.failed{color:#b20f18;background:#fde7e8}.status.pending,.status.uploading{color:#9a5500;background:#fff0db}.box-overview{gap:18px;display:grid}.connection,.box-note{border:1px solid var(--line);background:#fff;align-items:center;gap:13px;padding:20px;display:flex}.connection-dot{background:#8795a5;border-radius:50%;width:13px;height:13px}.connection-dot.connected{background:#10a054;box-shadow:0 0 0 5px #10a05420}.connection div{flex-direction:column;display:flex}.connection small{color:var(--muted);margin-top:3px}.box-counts{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.box-note{display:block}.box-note h2{color:var(--navy);margin:0 0 8px;font-size:15px}.box-note p{color:var(--muted);margin:6px 0;font-size:12px}@media (width<=680px){.box-counts{grid-template-columns:1fr}.connection,.box-note{padding:16px}}
