:root { color-scheme: light; --page:#f4f6f9; --surface:#fff; --ink:#192d45; --muted:#52657a; --line:#dbe3ec; --accent:#176b78; --accent-strong:#115663; --tint:#e9f4f5; --focus:#aa6400; --danger:#a52126; --danger-bg:#fff0ef; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--page); font-size:15px; line-height:1.55; }
a { color:var(--accent-strong); text-underline-offset:3px; }
button,input,select { font:inherit; }
button,a,input,select,summary,[tabindex] { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid var(--focus); outline-offset:3px; }
[hidden] { display:none !important; }
.skip-link { position:fixed; z-index:10; top:8px; left:8px; padding:10px 16px; background:var(--surface); transform:translateY(-150%); }
.skip-link:focus { transform:none; }
.page-header { display:flex; align-items:center; justify-content:space-between; padding:20px max(24px,calc((100vw - 1220px)/2)); background:var(--surface); border-bottom:1px solid var(--line); }
.page-header nav { display:flex; flex-wrap:wrap; align-items:center; gap:20px; }
.brand { display:flex; align-items:center; gap:11px; font-size:20px; font-weight:750; color:var(--ink); text-decoration:none; letter-spacing:.02em; }
.brand-mark { display:grid; place-items:center; width:34px; height:34px; background:var(--ink); color:#fff; border-radius:8px; font-size:23px; }
.brand-caption { display:block; font-size:10px; text-transform:uppercase; font-weight:600; letter-spacing:.16em; color:var(--muted); line-height:1; }
nav a { font-weight:650; text-decoration:none; font-size:13px; }
.page { max-width:1268px; margin:auto; padding:42px 24px 44px; }
.heading-row { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:34px; }
.eyebrow { margin:0 0 7px; color:var(--accent-strong); font-size:11px; font-weight:750; letter-spacing:.14em; text-transform:uppercase; }
h1 { font-size:clamp(28px,4vw,37px); line-height:1.2; letter-spacing:-.03em; margin:0 0 10px; font-weight:730; }
h2 { font-size:17px; line-height:1.35; margin:0; font-weight:700; }
.intro { margin:0; color:var(--muted); max-width:620px; }
.identity { font-size:12px; color:var(--muted); background:var(--surface); border:1px solid var(--line); padding:9px 13px; border-radius:20px; white-space:nowrap; }
.project-section { margin-bottom:27px; }
.section-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:15px; }
.section-heading>span { color:var(--muted); font-size:12px; }
.project-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; }
.project-card { display:block; background:var(--surface); border:1px solid var(--line); padding:18px 20px; border-radius:12px; text-decoration:none; color:var(--ink); transition:border-color .15s; }
.project-card:hover { border-color:var(--accent); }
.project-code { display:block; font-size:10px; text-transform:uppercase; letter-spacing:.09em; font-weight:700; color:var(--muted); margin-bottom:9px; }
.project-name { display:flex; justify-content:space-between; gap:10px; font-size:18px; font-weight:700; margin-bottom:12px; }
.project-action { color:var(--accent-strong); font-size:12px; font-weight:650; }
.supporting { color:var(--muted); font-size:12px; margin:10px 0 0; }
.filters { display:flex; flex-wrap:wrap; align-items:flex-end; gap:16px; background:var(--surface); border:1px solid var(--line); padding:19px 20px; border-radius:12px; }
.field { display:flex; flex-direction:column; gap:6px; min-width:155px; }
label { font-size:12px; font-weight:650; }
.small-label { color:var(--muted); font-weight:450; }
input,select { color:var(--ink); border:1px solid #b5c3d2; border-radius:6px; background:var(--surface); min-height:39px; padding:7px 10px; }
.filter-actions { display:flex; gap:9px; margin-left:auto; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:39px; padding:8px 14px; border:1px solid var(--line); border-radius:6px; color:var(--ink); background:var(--surface); font-size:13px; font-weight:650; cursor:pointer; text-decoration:none; }
.button:hover { border-color:var(--accent); }
.button.primary { border-color:var(--accent-strong); background:var(--accent-strong); color:#fff; }
.button.primary:hover { background:var(--accent); }
.button:disabled { opacity:.55; cursor:wait; }
.status-row { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:12px 1px 16px; }
.status-row p { margin:0; font-size:12px; color:var(--muted); }
.totals { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; margin-bottom:24px; }
.metric { background:var(--surface); border:1px solid var(--line); padding:20px; border-radius:12px; display:flex; flex-direction:column; }
.metric.featured { background:var(--tint); border-color:#bcd8db; }
.metric>span { font-size:12px; color:var(--muted); font-weight:600; }
.metric strong { font-size:27px; font-variant-numeric:tabular-nums; line-height:1.35; margin:7px 0; letter-spacing:-.025em; }
.metric small { font-size:11px; color:var(--muted); }
.table-panel { background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:20px; margin-bottom:16px; overflow:hidden; }
.table-scroll { overflow-x:auto; }
table { width:100%; border-collapse:collapse; font-size:12px; white-space:nowrap; }
th { text-align:left; color:var(--muted); background:var(--page); font-weight:650; font-size:11px; padding:12px 13px; border-bottom:1px solid var(--line); }
td { padding:14px 13px; border-bottom:1px solid var(--line); }
tbody tr:last-child td { border-bottom:0; }
.numeric { text-align:right; font-variant-numeric:tabular-nums; }
.cell-primary { display:block; font-weight:600; white-space:normal; min-width:100px; }
.cell-secondary { display:block; color:var(--muted); font-size:10px; margin-top:2px; white-space:normal; }
.unknown { color:var(--danger); }
.empty-state { text-align:center; padding:30px 20px; font-size:13px; color:var(--muted); margin:0; }
summary { font-size:14px; font-weight:650; cursor:pointer; }
summary span { color:var(--muted); font-size:12px; font-weight:450; }
.detail-note { margin:12px 0 15px; }
.coverage { color:var(--muted); border-left:3px solid #b8c6d5; padding:2px 0 2px 18px; margin-top:27px; max-width:900px; }
.coverage h2 { color:var(--ink); font-size:13px; }
.coverage p { font-size:12px; margin:6px 0; }
.rate-warning { color:var(--danger); font-weight:600; }
.notice { border:1px solid var(--line); background:var(--surface); border-radius:10px; padding:20px; margin:0 0 20px; }
.notice h2 { margin-bottom:8px; }
.notice p { margin:0 0 16px; color:var(--muted); }
.error { border-color:#e3bfc0; background:var(--danger-bg); color:var(--danger); font-size:13px; }
.page-footer { max-width:1268px; padding:22px 24px; margin:auto; border-top:1px solid var(--line); color:var(--muted); display:flex; justify-content:space-between; gap:12px; font-size:11px; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:900px) { .project-grid,.totals { grid-template-columns:repeat(2,minmax(0,1fr)); } .heading-row { align-items:flex-start; } .identity { white-space:normal; } .metric strong { font-size:25px; } }
@media (max-width:560px) { .page { padding-top:28px; } .heading-row { flex-direction:column; gap:17px; margin-bottom:26px; } .section-heading { align-items:flex-start; flex-direction:column; gap:4px; } .project-grid { gap:10px; } .project-card,.metric { padding:15px; } .project-name { font-size:16px; } .filters { padding:16px; gap:12px; } .field { min-width:0; flex:1 1 140px; } .filter-actions { width:100%; margin-left:0; } .filter-actions .button { flex:1; } .table-panel { padding:16px 12px; } .status-row { flex-direction:column; align-items:flex-start; gap:3px; } .metric strong { font-size:22px; } .page-footer { flex-direction:column; } }
@media (prefers-reduced-motion:reduce) { * { transition:none !important; } }
@media (prefers-color-scheme:dark) { :root { color-scheme:dark; --page:#111d2b; --surface:#192737; --ink:#edf2f8; --muted:#b0bfd0; --line:#334559; --accent:#4cb9c7; --accent-strong:#79cfda; --tint:#173c45; --focus:#ffb45b; --danger:#ffadb2; --danger-bg:#381f29; } .brand-mark { background:#d7e8f4; color:#192d45; } .button.primary { background:#176b78; color:#fff; border-color:#51adbc; } .button.primary:hover { background:#205864; } input,select { border-color:#62748a; } .metric.featured { border-color:#386670; } .error { border-color:#89525e; } }

.brand-logo { width:170px; height:44px; padding:8px 10px; object-fit:contain; background:#10263a; border-radius:7px; }
@media(max-width:640px) { .brand-logo { width:120px; } }
