:root{--ink:#1b1b1b;--brand:#12275f;--brand2:#1e3f8f;--focus:#ffbf47;--ok:#1a6b2f;--warn:#7a4a00;--bad:#9b0000;--muted:#4a4a4a}
*{box-sizing:border-box}body{margin:0;font:1rem/1.5 system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:#f4f6fa}
.skip{position:absolute;left:-999px;top:0;background:#000;color:#fff;padding:.5rem 1rem;z-index:99}.skip:focus{left:0}
.demo-banner{background:var(--bad);color:#fff;padding:.8rem 1rem;text-align:center;border-bottom:5px solid #000}
.demo-banner strong{font-size:1.1rem;display:block}
header.site{background:var(--brand);color:#fff;padding:1rem 1.5rem}header.site .agency{margin:0;font-size:.95rem;opacity:.95}
header.site .title{margin:.2rem 0 0;font-size:1.4rem;font-weight:700}
nav.top{background:var(--brand2)}nav.top ul{list-style:none;margin:0 auto;padding:0 1rem;display:flex;flex-wrap:wrap;max-width:76rem}
nav.top a{display:block;color:#fff;padding:.7rem 1rem;text-decoration:none;font-weight:600}nav.top a[aria-current=page]{background:#0a1a45;text-decoration:underline}
nav.top a:hover{text-decoration:underline}
main{max-width:76rem;margin:auto;padding:1.5rem}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;box-shadow:0 0 0 6px #000}
a{color:#0b3a9e}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem}
.card{background:#fff;border:1px solid #8a94a6;border-radius:8px;padding:1rem 1.25rem;margin-bottom:1rem}
.card h2,.card h3{margin-top:0}
.pill{display:inline-block;padding:.05rem .6rem;border-radius:999px;font-weight:700;color:#fff;font-size:.85rem;background:#444}
.ok{background:var(--ok)}.warn{background:var(--warn)}.bad{background:var(--bad)}.info{background:var(--brand2)}
table{border-collapse:collapse;width:100%;background:#fff}th,td{border:1px solid #8a94a6;padding:.45rem .6rem;text-align:left;vertical-align:top}th{background:#e3e8f3}
caption{text-align:left;font-weight:700;padding:.4rem 0}
.filters{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;background:#fff;border:1px solid #8a94a6;border-radius:8px;padding:1rem;margin-bottom:1rem}
label{font-weight:600;display:block}input,select,textarea{font:inherit;padding:.4rem;border:2px solid #555;border-radius:4px;min-width:12rem}
textarea{width:100%;min-height:6rem}
button,.btn{font:inherit;font-weight:700;background:var(--brand);color:#fff;border:2px solid var(--brand);border-radius:4px;padding:.45rem 1rem;cursor:pointer;text-decoration:none;display:inline-block}
button.secondary,.btn.secondary{background:#fff;color:var(--brand)}
.tabs{display:flex;gap:.25rem;flex-wrap:wrap;border-bottom:3px solid var(--brand);margin-bottom:1rem}
.tabs button{border-radius:4px 4px 0 0;background:#fff;color:var(--brand)}.tabs button[aria-selected=true]{background:var(--brand);color:#fff}
.notice{border-left:6px solid var(--brand2);background:#e8eefc;padding:.75rem 1rem;margin:1rem 0}
.success{border-left:6px solid var(--ok);background:#e6f4ea;padding:.75rem 1rem;margin:1rem 0}
.muted{color:var(--muted)}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
footer.site{background:var(--brand);color:#fff;padding:1.25rem 1.5rem;margin-top:2rem}footer.site a{color:#fff}
.kpi{font-size:2rem;font-weight:800;margin:0}
pre.redact{background:#fff;border:1px solid #888;padding:1rem;white-space:pre-wrap}.blk{background:#000;color:#000;user-select:none}
@media print{.demo-banner,nav,footer,.noprint{display:none}body{background:#fff}}
