@font-face{font-family:Archivo;src:url(fonts/archivo-var.woff2) format('woff2');font-weight:100 900;font-display:swap}:root{--navy:#01216c;--navy-deep:#00164a;--ink:#17243c;--muted:#657188;--line:#e2e7ef;--bg:#f5f7fb;--blue:#315de0;--green:#176e4c;--amber:#956019;--red:#b33439}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Archivo,system-ui,sans-serif;font-size:15px;line-height:1.55}a{color:var(--navy);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{touch-action:manipulation}button,a,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #6889f1;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:32px;letter-spacing:-1.1px;line-height:1.2;font-weight:650;margin-bottom:10px}h2{font-size:19px;letter-spacing:-.4px;font-weight:620;margin-bottom:14px}h3{font-size:16px}p{margin-bottom:16px}.muted,.help{color:var(--muted)}.help{font-size:13px;line-height:1.6}.icon{width:22px;height:22px;flex-shrink:0;vertical-align:middle}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;clip:rect(0,0,0,0);overflow:hidden}.skip{position:fixed;left:20px;top:-60px;background:white;padding:12px;z-index:100}.skip:focus{top:10px}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;padding:30px 18px 20px;background:var(--navy);color:white;display:flex;flex-direction:column;z-index:5;overflow-y:auto}.brand{display:flex;align-items:center;gap:11px;color:inherit;font-weight:680;font-size:23px;line-height:1.15;letter-spacing:-.5px;padding:0 10px}.brand:hover{text-decoration:none}.brand small{display:block;font-size:9px;letter-spacing:1.8px;font-weight:450;margin-top:6px;color:#c8d6fa}.brand-mark{display:flex;align-items:center;justify-content:center;width:42px;height:46px;border:1px solid #5a78bc;border-radius:14px;background:#19387d}.brand-mark .icon{width:27px;height:27px}.nav-label{font-size:9px;letter-spacing:1.8px;color:#93abdc;padding:0 14px;margin:39px 0 14px}.sidebar nav{display:grid;gap:5px}.sidebar nav a{color:#c8d5f3;display:flex;align-items:center;gap:12px;border-radius:9px;padding:12px;font-size:13px}.sidebar nav a:hover{background:#16377e;text-decoration:none;color:white}.sidebar nav a[aria-current=page]{background:#254785;color:white}.sidebar nav .icon{width:20px;height:20px}.sidebar-foot{display:flex;align-items:center;gap:11px;padding:23px 10px 0;margin-top:auto;border-top:1px solid #29427e}.sidebar-foot a{color:white;font-size:13px}.sidebar-foot small{display:block;color:#9cb4e4;font-size:11px}.avatar{height:36px;width:36px;display:grid;place-items:center;background:#294984;border:1px solid #5671a8;border-radius:50%;font-size:14px}.shell{margin-left:244px}.topbar{height:84px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px;gap:16px}.top-title{font-size:12px;color:var(--muted)}.site-switch{display:flex;align-items:center;gap:8px}.site-switch select{width:235px;max-width:42vw;font-size:12px;background:#f8faff;border-color:#e1e6f0}.main{max-width:1580px;margin:auto;padding:34px 38px 40px}.footer{max-width:1580px;padding:0 38px 28px;margin:auto;font-size:10px;display:flex;justify-content:space-between;color:#7b8497;gap:14px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:8px 0 27px}.page-heading .muted{font-size:13px;margin-bottom:0;max-width:760px}.eyebrow{font-size:10px;letter-spacing:1.6px;color:var(--muted);font-weight:600;margin-bottom:9px;text-transform:uppercase}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:10px 16px;border:1px solid #d9e1ee;background:#fff;color:var(--navy);border-radius:8px;font-size:12px;font-weight:580;cursor:pointer;white-space:nowrap;line-height:1.5}.btn:hover{background:#eff3fc;text-decoration:none}.btn.primary{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:0 3px 6px #01216c0d}.btn.primary:hover{background:#163d8c}.btn.small{font-size:11px;min-height:34px;padding:7px 11px}.btn .icon{width:17px;height:17px}.text-link{font-size:12px;display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.text-link .icon{height:16px;width:16px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:25px}.stat{border:1px solid var(--line);border-radius:12px;background:#fff;padding:21px 23px;box-shadow:0 3px 8px #10285803}.stat>span{font-size:12px;color:#5f6a7f}.stat strong{display:block;font-size:35px;line-height:1.4;font-weight:600;letter-spacing:-1px;margin:7px 0 1px}.stat em{font-size:20px;font-weight:400;font-style:normal;color:#9aa5b8;letter-spacing:0}.stat small{font-size:11px;color:#7c8799}.card{background:white;border:1px solid var(--line);border-radius:12px;padding:24px;margin-bottom:22px;box-shadow:0 2px 5px #16325b02;min-width:0}.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px}.card-head h2{margin:0}.card-head .eyebrow{margin:0 0 6px}.count{border-radius:7px;padding:4px 9px;background:#eff3fa;font-size:11px;color:#5e6e8c}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,1fr);gap:22px}.attention-banner{display:flex;align-items:center;gap:16px;background:#fff7e9;border:1px solid #f0debc;border-radius:10px;padding:17px 21px;color:#845a22;margin-bottom:24px}.attention-banner:hover{background:#fff2dc;text-decoration:none}.attention-banner div{flex:1}.attention-banner strong{font-size:13px;display:block}.attention-banner span{font-size:11px;color:#927144;display:block;margin-top:2px}.schedule-row{display:flex;align-items:center;gap:13px;padding:18px 0;border-top:1px solid #edf0f5}.schedule-row time{font-size:12px;color:#8490a5;width:43px;flex-shrink:0}.schedule-row strong{font-size:12px;font-weight:580;display:block}.schedule-row small{font-size:10px;color:#8290a5;display:block}.grow{flex:1;min-width:0}.badge{display:inline-flex;align-items:center;justify-content:center;gap:5px;border-radius:5px;font-size:10px;font-weight:560;line-height:1.5;padding:5px 8px;white-space:nowrap;background:#eef2f7;color:#63718a}.badge:before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}.badge.pass,.badge.recorded,.badge.resolved{color:#1e7651;background:#eaf5ee}.badge.warn,.badge.pending{color:#91621e;background:#fff3dd}.badge.fail,.badge.overdue{color:#b23d40;background:#fceced}.quick-card{background:#fbfcff}.quick-links{display:grid;gap:1px}.quick-links a{display:flex;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #e9eef7;font-size:12px}.quick-links a:last-child{border:0}.quick-links a>.icon:first-child{background:#edf2fd;border-radius:7px;box-sizing:content-box;padding:7px;width:19px;height:19px;color:#4d6fae}.quick-links span{flex:1}.quick-links a>.icon:last-child{width:16px;height:16px;color:#9ba8c1}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}th{font-weight:500;color:#8a94a5;font-size:10px;padding:10px 12px 13px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:16px 12px;border-bottom:1px solid #edf0f6;vertical-align:middle}tr:last-child td{border-bottom:0}td strong{font-size:12px;font-weight:550}td small{display:block;font-size:10px;color:#8a94a6;margin-top:4px}td.reading{font-size:19px;font-weight:550;white-space:nowrap}td.reading span{font-size:11px;font-weight:400;color:#8a95a7;margin-left:3px}.notice{border:1px solid #dfe6f4;border-radius:9px;padding:14px 17px;margin-bottom:20px;font-size:12px;background:#edf3ff;line-height:1.7}.notice a{text-decoration:underline;font-weight:550}.notice.amber{background:#fff8ea;border-color:#efdfbf;color:#835d29}.notice.danger{background:#fff0f0;border-color:#edc9cb;color:#9b3339}.notice.success{background:#edf8f1;border-color:#cbe6d7;color:#226a49}.empty{text-align:center;padding:40px 18px}.empty>.icon{height:38px;width:38px;padding:8px;background:#f0f5fd;color:#6c85ad;border-radius:12px;box-sizing:content-box;margin-bottom:17px}.empty h3{margin-bottom:7px}.empty p{font-size:12px;max-width:400px;margin:0 auto 18px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px;font-size:12px}.field>span{font-weight:550;color:#384760}.field small{font-size:11px;color:#8793a7;font-weight:400}input,select,textarea{color:var(--ink);width:100%;background:white;border:1px solid #d9e1ec;padding:11px 12px;border-radius:7px;min-height:43px;font-size:13px;max-width:100%}input::placeholder,textarea::placeholder{color:#a6afbf}textarea{resize:vertical;line-height:1.6}input[type=checkbox]{width:17px;height:17px;min-height:17px;accent-color:var(--navy);flex-shrink:0;margin:0}.checkline{display:flex;gap:10px;align-items:flex-start;font-size:12px;margin:18px 0;cursor:pointer}.checkline input{margin-top:2px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.entry-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:24px}.entry-aside .card{padding:24px}.guide-card{background:#edf2fc;border-color:#dfe6f4}.guide-card>.icon{color:#5c77b1;margin-bottom:15px}.guide-card p{font-size:13px;line-height:1.8;color:#5b6d8d}.guide-card .help{font-size:11px}hr{border:0;border-top:1px solid #d6e0f1;margin:22px 0}.type-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:23px}.type-tabs a{font-size:11px;border:1px solid #dde4ef;color:#687791;padding:8px 12px;border-radius:7px;background:white}.type-tabs a:hover{text-decoration:none;background:#edf3fd}.type-tabs a[aria-current]{background:var(--navy);color:white;border-color:var(--navy)}.limit-tag{display:inline-block;font-size:11px;font-weight:500;background:#eef3fb;color:#61789e;border-radius:6px;padding:7px 10px}.record-reading{font-size:55px;letter-spacing:-2px;font-weight:580;margin:2px 0 8px}.record-reading>span{font-size:24px;letter-spacing:0;font-weight:400;color:#8590a5;margin-left:5px}.details{font-size:12px}.details>div{display:grid;grid-template-columns:160px 1fr;gap:12px;padding:11px 0;border-bottom:1px solid #edf0f6}.details dt{color:#8a94a6}.details dd{margin:0;overflow-wrap:anywhere}.timeline{list-style:none;padding:0 0 0 8px;margin:20px 0 0}.timeline li{position:relative;padding:0 0 27px 24px;border-left:1px solid #dce4f0;font-size:13px}.timeline li:last-child{border-left:0;padding-bottom:0}.timeline-dot{position:absolute;top:4px;left:-4px;background:#6a84ba;width:7px;height:7px;border-radius:50%;box-shadow:0 0 0 4px white}.timeline small{display:block;color:#8b95a6;font-size:10px;margin:4px 0 12px}.timeline p{font-size:12px;margin-bottom:9px}.timeline .event-data{font-size:10px;color:#8993a4}.event-data strong{color:#64718a;font-weight:500}details>summary{cursor:pointer;font-size:13px;font-weight:550;color:#415475;list-style-position:outside}details[open]>summary{margin-bottom:22px}.editor{border-top:1px solid var(--line);padding:20px 3px}.editor:last-child{padding-bottom:2px}.editor form{max-width:700px}.days{display:flex;flex-wrap:wrap;gap:15px}.days label{display:flex;align-items:center;gap:7px;font-size:12px}fieldset{border:1px solid var(--line);border-radius:8px;margin:0 0 20px;padding:15px}legend{font-size:11px;padding:0 6px;color:#6f7c94}.limits-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.limits-grid .card{margin:0 0 0;padding:22px}.limits-grid{margin-bottom:24px}.limits-grid h2{font-size:16px}.limits-grid details{margin-top:14px}.limits-grid details summary{font-size:11px}.limits-grid form{margin-top:20px}.filter-form{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}.filter-form .field{flex:1;margin:0;min-width:145px}.filter-form .btn{margin-bottom:0}.filter-form input,.filter-form select{font-size:12px}.report-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:22px}.report-actions .help{margin-left:8px}.pagination{display:flex;gap:12px;justify-content:flex-end;margin-bottom:24px}.review-note{padding:18px 0;border-top:1px solid var(--line);font-size:13px}.review-note p{margin:10px 0}.review-note .help{font-size:10px;overflow-wrap:anywhere}.prose{max-width:960px;font-size:13px;line-height:1.8}.prose h2{margin-top:30px}.prose h2:first-child{margin-top:0}.prose li{padding-bottom:8px}.narrow{max-width:640px}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:10px;max-width:650px}.public{background:#f3f6fc}.auth-wrap{width:100%;max-width:650px;padding:65px 30px;margin:auto}.auth-brand{color:var(--navy);justify-content:center;margin-bottom:35px}.auth-brand .brand-mark{color:white;background:var(--navy)}.auth-brand small{color:#7387ae}.auth-card{background:white;border:1px solid var(--line);border-radius:17px;padding:39px;box-shadow:0 15px 50px #16397808}.auth-card h1{font-size:31px}.auth-card .muted{font-size:13px;line-height:1.8}.auth-card .btn{width:100%;margin:5px 0 20px}.auth-card .help{margin-bottom:0;font-size:11px;text-align:center}.auth-foot{text-align:center;font-size:11px;color:#8896ad;margin:24px 0}.installer .card{margin-bottom:20px}.check-status{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:12px 0;font-size:12px}.print-toolbar{display:flex;gap:12px;margin-bottom:30px}.public:has(.report-title) .auth-wrap{max-width:1100px;padding-top:30px}.report-title{border-bottom:2px solid var(--navy);padding-bottom:20px;margin-bottom:25px}.report-record{padding:20px 0;border-bottom:1px solid var(--line);break-inside:avoid;font-size:12px}.report-record h2{font-size:17px}.report-event{padding:10px 0 0 15px;border-left:2px solid #dce5f6}.report-record p{margin-bottom:9px}.report-record .help{overflow-wrap:anywhere;font-size:10px}
@media(min-width:1550px){.main{padding-top:45px}.dashboard-grid{grid-template-columns:1.9fr 1fr}}
@media(max-width:1150px){.sidebar{width:208px;padding-inline:12px}.shell{margin-left:208px}.main{padding:28px 25px}.topbar{padding:0 25px}.stats{gap:12px}.stat{padding:17px}.stat strong{font-size:30px}.dashboard-grid,.entry-grid{grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr)}.schedule-row{gap:9px}.schedule-row .badge{font-size:9px;padding:4px 6px}.limits-grid{grid-template-columns:repeat(2,1fr)}.card{padding:20px}}
@media(max-width:900px){.sidebar{position:relative;width:auto;padding:18px 20px}.brand{padding:0}.nav-label,.sidebar-foot{display:none}.sidebar nav{display:flex;gap:5px;overflow-x:auto;padding-top:18px}.sidebar nav a{white-space:nowrap;flex-shrink:0;padding:9px;font-size:11px}.sidebar nav .icon{width:17px;height:17px}.shell{margin:0}.topbar{height:65px}.main{padding:24px}.page-heading{align-items:flex-start}h1{font-size:28px}.top-title{font-size:10px}.dashboard-grid,.entry-grid{grid-template-columns:1fr}.entry-aside{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.entry-aside .card{margin-bottom:0}.entry-aside:has(form){display:block}.entry-aside:has(form) .card{margin-bottom:20px}}
@media(max-width:580px){.sidebar{padding:19px 17px 12px}.brand{font-size:20px}.brand-mark{width:34px;height:38px;border-radius:11px}.brand small{font-size:8px}.sidebar nav{margin:0 -7px;padding-top:19px}.sidebar nav a{font-size:10px}.topbar{padding:10px 17px;height:auto;min-height:61px}.top-title{display:none}.site-switch{width:100%}.site-switch select{width:100%;max-width:none}.main{padding:23px 17px}.page-heading{display:block;margin:5px 0 22px}.page-heading .btn{margin-top:17px}.page-heading h1{font-size:28px}.stats{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.stat{padding:16px}.stat>span{font-size:10px}.stat strong{font-size:29px}.stat small{font-size:9px}.stat em{font-size:17px}.card{padding:19px 16px;margin-bottom:18px;border-radius:10px}.dashboard-grid{gap:0}.schedule-row{gap:9px;flex-wrap:wrap;padding:16px 0}.schedule-row time{width:35px;font-size:10px}.schedule-row strong{font-size:11px}.schedule-row small{font-size:9px}.schedule-row .btn{font-size:10px;padding:6px 9px}.schedule-row .badge{font-size:8px}.schedule-row .badge:before{display:none}.schedule-row .grow{min-width:95px}.attention-banner{padding:14px;gap:10px}.attention-banner span{font-size:10px}.attention-banner strong{font-size:12px}.attention-banner>.icon:last-child{display:none}.card-head h2{font-size:17px}.card-head .text-link{font-size:10px}.entry-grid{gap:0}.entry-aside{display:block}.entry-aside .card{margin-bottom:18px}.entry-card .card-head{display:block}.entry-card .card-head h2{margin-bottom:12px}.form-grid{grid-template-columns:1fr}.type-tabs{gap:6px}.type-tabs a{font-size:10px;padding:7px 9px}.limits-grid{grid-template-columns:1fr;gap:15px}.limits-grid .card{margin:0}.footer{padding:0 17px 25px;display:block}.footer span{display:block;margin-top:5px}.report-actions .help{margin:0;width:100%}.auth-wrap{padding:35px 19px}.auth-card{padding:28px 22px}.auth-brand{margin-bottom:27px}.filter-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.filter-form .field{min-width:0}.filter-form .btn{grid-column:1/-1}.details>div{grid-template-columns:1fr;gap:4px}.check-status{font-size:11px}.notice{padding:12px;font-size:11px}}
@media print{@page{size:A4;margin:15mm}body,.public{background:white;font-size:10pt}.print-toolbar,.sidebar,.topbar,.footer,.notice,.skip{display:none!important}.shell{margin:0}.main,.auth-wrap,.public:has(.report-title) .auth-wrap{max-width:none;padding:0}.report-record{break-inside:auto}.report-title h1{font-size:24pt}a{color:inherit}table{font-size:9pt}th,td{padding:7px}h2,h3{break-after:avoid}pre,.help{overflow-wrap:anywhere}.badge{border:1px solid #bbb;color:#222!important;background:white!important}.report-record .help{font-size:8pt}}
/* Tables and the mobile menu scroll inside their own containers. */
body{overflow-x:hidden}.card{overflow-wrap:anywhere}input,select,textarea{min-width:0}
