:root{color-scheme:light;--bg:#f5f9ff;--card:#ffffff;--card2:#f0f6ff;--ink:#0f2a47;--mut:#4b6480;--line:#d6e4f5;--brand:#08796d;--brand2:#1976d2;--good:#0c8a5f;--bad:#d23b30;--warn:#f2a213;--chip:#e4eefb;--hero1:#ffffff;--hero2:#e8f2ff;--hero3:#dcf6ef;--link:#1565c0;--shadow:0 1px 2px rgba(16,42,71,.06),0 8px 24px rgba(25,118,210,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.6 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--link);text-underline-offset:3px}
.wrap{max-width:1180px;margin:auto;padding:0 22px}
.top{background:linear-gradient(120deg,var(--hero1) 0%,var(--hero2) 55%,var(--hero3) 120%);color:var(--ink);border-bottom:4px solid;border-image:linear-gradient(90deg,#0e9f8e,#1976d2 55%,#f2a213) 1}
.top .wrap{padding:30px 22px 26px}.top a{color:var(--link)}
.eyebrow{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;font-weight:750;color:var(--brand);margin:0 0 8px}
h1{margin:0;font-size:clamp(1.7rem,4vw,2.4rem);letter-spacing:-.025em;line-height:1.15;color:var(--ink)}
h2{font-size:1.18rem;margin:34px 0 12px;letter-spacing:-.01em;padding-left:12px;border-left:4px solid var(--brand)}h3{font-size:1rem;margin:0 0 8px}
.sub{max-width:780px;color:var(--mut);margin:10px 0 0}
nav.crumbs{font-size:.88rem;margin-bottom:12px}
.grid{display:grid;gap:14px}.g4{grid-template-columns:repeat(auto-fit,minmax(172px,1fr))}.g3{grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}.g2{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px;box-shadow:var(--shadow)}
.kpi{border-top:3px solid var(--brand2)}.kpi b{display:block;font-size:1.5rem;letter-spacing:-.02em;line-height:1.25;margin-top:2px}.kpi span{color:var(--mut);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;font-weight:650}
.kpi small{display:block;color:var(--mut);margin-top:3px;font-size:.8rem}
.pos{color:var(--good)}.neg{color:var(--bad)}
.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.7rem;font-weight:750;letter-spacing:.06em;background:var(--chip);color:var(--ink)}
.b-PAPER{background:#b9e0d3;color:#0a4f3e}.b-REJECTED,.b-NOEDGE{background:#e8c4c0;color:#7d2620}.b-CANDIDATE{background:#ead7a4;color:#6b4c0f}.b-PARKED{background:#c3d0db;color:#34495c}
.good{background:#b9e0d3;color:#0a4f3e}.bad{background:#e8c4c0;color:#7d2620}.warn{background:#ead7a4;color:#6b4c0f}.pending{background:var(--chip);color:var(--mut)}
.scard{display:flex;flex-direction:column;gap:8px;text-decoration:none;color:inherit;transition:transform .12s,border-color .12s,box-shadow .12s;border-top:4px solid var(--brand2)}
.scard:hover{transform:translateY(-2px);border-color:var(--brand)}.scard h3{margin:0;font-size:1.12rem}.scard p{margin:0;color:var(--mut);font-size:.9rem}
.mini{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:4px}.mini div{background:var(--chip);border-radius:10px;padding:6px 10px}.mini b{display:block;font-size:1.05rem}.mini span{font-size:.7rem;color:var(--mut)}
svg.spark{width:100%;height:46px}
.tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.tab,.btn{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;padding:6px 15px;font:inherit;font-size:.88rem;cursor:pointer;transition:background .1s}
.tab:hover,.btn:hover{background:var(--chip)}.tab[aria-selected=true],.btn.on{background:var(--brand2);border-color:var(--brand2);color:#eef5fb}
.tab:disabled{opacity:.55;cursor:not-allowed}
.ctrl{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:8px 0 4px}
.ctrl label{font-size:.76rem;color:var(--mut);display:flex;flex-direction:column;gap:3px;text-transform:uppercase;letter-spacing:.05em;font-weight:650}
select,input[type=date],input[type=search],input[type=month]{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:8px;padding:6px 8px;font:inherit;text-transform:none;letter-spacing:0;font-weight:400}
table{border-collapse:collapse;width:100%;font-size:.88rem}th,td{padding:7px 10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
th{background:var(--chip);position:sticky;top:0;font-weight:700;color:var(--ink)}th.s{cursor:pointer}td.n,th.n{text-align:right;font-variant-numeric:tabular-nums}
tr:nth-child(even) td{background:rgba(18,48,74,.035)}
.tw{overflow:auto;max-height:520px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.mt td{border:0;text-align:center;font-size:.8rem;padding:6px 4px;min-width:52px}.mt th{text-align:center;position:static}.mt tr:nth-child(even) td{background:none}
.chart{position:relative;height:320px}.chart.s{height:240px}
.note{padding:12px 16px;border:1px solid #c9a85a;border-left:5px solid var(--warn);border-radius:10px;background:var(--card2);font-size:.9rem}
.sealed{padding:30px;text-align:center;border:2px dashed var(--line);border-radius:14px;color:var(--mut)}
.gate{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--line)}.gate:last-child{border:0}.gate .badge{min-width:68px;text-align:center}
ul.tight{margin:6px 0 0;padding-left:20px}ul.tight li{margin:3px 0}
.kv{display:grid;grid-template-columns:auto 1fr;gap:5px 16px;font-size:.88rem}.kv dt{color:var(--mut)}.kv dd{margin:0}
.verdict{border-left:6px solid var(--warn)}.verdict.good{border-color:var(--good)}.verdict.bad{border-color:var(--bad)}.verdict.warn{border-color:var(--warn)}
pre.log{margin:0;padding:12px;max-height:340px;overflow:auto;font-size:.8rem;background:var(--card2);border:1px solid var(--line);border-radius:10px;white-space:pre-wrap}
code{background:var(--chip);padding:1px 5px;border-radius:5px;font-size:.92em}
footer{margin-top:44px;background:linear-gradient(120deg,var(--hero2),var(--hero3));color:var(--mut);padding:22px 0 40px;font-size:.84rem;border-top:3px solid var(--brand)}footer a{color:var(--link)}
.sec{scroll-margin-top:10px}.toc{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:.88rem;margin:16px 0 0}.toc a{text-decoration:none;border-bottom:1px solid rgba(169,216,242,.4)}
@media(max-width:600px){.wrap{padding:0 14px}}

.brandbar{display:inline-block;margin:0 0 16px}.brandbar img{height:44px;width:auto;display:block}
footer .flogo{display:inline-block;margin:0 0 12px}footer .flogo img{height:34px;width:auto;display:block}
