:root{color-scheme:light;--navy:#082f56;--ink:#132e48;--blue:#00699b;--green:#4c721b;--lime:#75a929;--paper:#f1f6fa;--line:#ccdce8;--muted:#496176;--white:#fff}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.top{background:var(--navy);color:white;border-bottom:4px solid var(--lime)}
.top-inner{max-width:1140px;margin:auto;min-height:74px;padding:11px 24px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.brand{color:white;text-decoration:none;display:flex;align-items:center;gap:12px;line-height:1.2}
.brand img{background:white;border-radius:13px;padding:4px}
.brand small{display:block;font-size:.69rem;color:#b5d8f2;letter-spacing:.14em;margin-top:5px}
nav{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
nav a{color:#fff;font-size:.89rem}
nav button{font-size:.89rem}
.shell{max-width:1050px;padding:27px 24px 38px;margin:auto;display:grid;gap:18px}
.shell.setup{max-width:640px}
body[data-area="Staff workspace"] .shell{max-width:780px}
h1,h2,h3,p{margin:0}
h1{font-size:clamp(2rem,5vw,3.1rem);line-height:1.12;letter-spacing:-.046em}
h2{font-size:1.24rem;line-height:1.28;letter-spacing:-.018em}
h3{font-size:1.05rem}
.intro{display:grid;gap:8px;margin:8px 0 2px}
.intro>p:last-child,.muted,.connection p{color:var(--muted)}
.eyebrow{font-weight:750;font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:var(--blue)}
.card,.feature,.metric{background:white;border:1px solid var(--line);border-radius:16px;padding:20px 23px;box-shadow:0 2px 8px #082f5608}
.card{display:grid;gap:15px;min-width:0}
.feature{display:flex;gap:18px;justify-content:space-between;align-items:center;background:#e4f2fb;border-color:#b6d7ed;border-left:5px solid var(--blue)}
.feature p,.row p{margin-top:4px}
.metrics,.tiles,.filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.filters{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end}
.metric{display:grid;gap:3px;border-top:3px solid var(--lime)}
.metric strong{font-size:1.85rem;line-height:1.1;color:var(--navy)}
.metric span{color:var(--muted);font-size:.92rem}
.row{display:flex;gap:12px;align-items:center;border-top:1px solid var(--line);padding-top:13px}
.row>div:first-child{flex:1;min-width:0;overflow-wrap:anywhere}
.pill{border-radius:20px;padding:4px 10px;background:#f9edce;color:#694700;font-size:.81rem;white-space:nowrap}
.pill.done{background:#eaf4d9;color:#325a17}
label{display:grid;gap:5px;font-weight:640;min-width:0}
input,textarea,select,button{font:inherit}
input,textarea,select{width:100%;min-height:45px;padding:8px 10px;border:1px solid #92aabd;border-radius:8px;background:white;color:var(--ink)}
textarea{resize:vertical}
button,.button{width:fit-content;min-height:44px;border:1px solid transparent;border-radius:8px;padding:8px 14px;background:var(--navy);color:#fff;font-weight:680;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-align:center}
button:hover,.button:hover{background:#005d8c}
button.secondary{background:white;color:var(--navy);border-color:#a7c2d7}
button.secondary:hover{background:#e4f2fb}
button:disabled{opacity:.55;cursor:wait}
:focus-visible{outline:3px solid #087fb7;outline-offset:3px}
.top :focus-visible{outline-color:#9fda58}
.tiles button{width:100%;min-height:64px}
.actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center}
details{background:#f4f8fb;border-radius:10px;padding:10px 13px}
summary{cursor:pointer;font-weight:700;padding:5px 0}
details label{margin-top:12px}
fieldset{border:1px solid var(--line);border-radius:8px}
.check{display:flex;align-items:center;gap:10px;margin:3px 0}
.check input{width:21px;min-height:21px}
.status{max-width:1000px;margin:12px auto 0;padding:10px 16px;color:#204e21;background:#edf7e4;border-radius:9px}
.status.error{color:#7b1924;background:#ffebef}
.status:empty{display:none}
.save-state{color:var(--muted);font-weight:620}
.observations,.observation-list,.observation{display:grid;gap:10px}
.observation{border:1px solid var(--line);border-radius:10px;padding:12px}
.report-fields{margin:0;display:grid;gap:12px}
.report-fields>div{border-bottom:1px solid var(--line);padding-bottom:10px}
dt{font-weight:680}
dd{margin:3px 0;white-space:pre-wrap;overflow-wrap:anywhere}
.preserve{white-space:pre-wrap}
footer{text-align:center;padding:14px 24px 25px;color:var(--muted);font-size:.82rem}
@media(max-width:640px){.shell,.top-inner{padding-left:14px;padding-right:14px}.top-inner{align-items:flex-start}.top nav{justify-content:flex-end}.card,.feature,.metric{padding:15px}.filters,.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.feature{align-items:flex-start}.row{flex-wrap:wrap}.row>div:first-child{min-width:55%}.status{margin-inline:14px}.metrics{gap:6px}.metric span{font-size:.79rem}}
@media(max-width:360px){.tiles,.filters{grid-template-columns:1fr}.brand strong{font-size:.86rem}.brand img{width:39px;height:39px}}
