:root{--bg:#f5f7f6;--card:#fff;--ink:#16302b;--mut:#5a6b66;--line:#d9e2de;--pri:#0f5c4a;--pri2:#0b4638;--acc:#c8962b;--ok:#1b7f4b;--warn:#b5700f;--bad:#b3261e;--okbg:#e5f4ec;--warnbg:#fdf0da;--badbg:#fbe6e4}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0f1816;--card:#16231f;--ink:#e6efec;--mut:#9db1ab;--line:#2a3d37;--pri:#4fb99a;--pri2:#7fd1b6;--acc:#e0b050;--ok:#5fc78f;--warn:#e3a851;--bad:#f08a82;--okbg:#17352a;--warnbg:#3a2d12;--badbg:#3d1d1a}}
*{box-sizing:border-box}
html{scroll-padding-top:70px}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 "Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;text-wrap:pretty}
h1,h2,h3{line-height:1.25;text-wrap:balance;margin:0 0 .5em}
h1{font-size:1.6rem}h2{font-size:1.25rem}h3{font-size:1.05rem}
p{margin:0 0 .8em}
a{color:var(--pri)}
.wrap{max-width:1180px;margin:0 auto;padding:0 16px}
.skip{position:absolute;left:-999px;top:0;background:var(--pri);color:#fff;padding:8px 12px;z-index:50}.skip:focus{left:8px;top:8px}
.top{background:var(--pri2);color:#fff;position:sticky;top:0;z-index:20}
.bar{display:flex;align-items:center;gap:16px;min-height:60px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:700;padding:6px 0}
.brand small{display:block;font-weight:400;font-size:.72rem;opacity:.8}
.logo{display:grid;place-items:center;width:38px;height:38px;border-radius:8px;background:var(--acc);color:#10231e;font-weight:800}
nav{display:flex;gap:2px;flex-wrap:wrap;margin-left:auto}
nav a{color:#e3f0eb;text-decoration:none;padding:8px 11px;border-radius:6px;font-size:.93rem}
nav a:hover{background:rgba(255,255,255,.12)}
nav a[aria-current=page]{background:#fff;color:var(--pri2);font-weight:600}
.menu-btn{display:none;margin-left:auto;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.5);border-radius:6px;padding:8px 14px;font:inherit}
main{padding-top:22px;padding-bottom:40px}
main:focus,main:focus-visible{outline:0}
.foot{color:var(--mut);font-size:.82rem;padding-bottom:30px}
.demo{background:var(--warnbg);color:var(--warn);border-bottom:1px solid var(--line);text-align:center;padding:8px 16px;font-size:.9rem}
.demo button{margin-left:8px}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:18px;margin-bottom:16px}
.grid{display:grid;gap:14px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 16px}
.kpi b{display:block;font-size:1.6rem;line-height:1.2}
.kpi span{color:var(--mut);font-size:.85rem}
.kpi.bad b{color:var(--bad)}.kpi.ok b{color:var(--ok)}
.lead{color:var(--mut);max-width:70ch}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.sp{justify-content:space-between}
button,.btn{font:inherit;border:1px solid var(--pri);background:var(--pri);color:#fff;border-radius:7px;padding:8px 16px;cursor:pointer;text-decoration:none;display:inline-block}
button.sec,.btn.sec{background:transparent;color:var(--pri)}
button.danger{background:transparent;border-color:var(--bad);color:var(--bad)}
button.sm{padding:3px 10px;font-size:.85rem}
button:hover{filter:brightness(1.1)}
:focus-visible{outline:3px solid var(--acc);outline-offset:2px}
label{display:block;font-size:.88rem;font-weight:600;margin-bottom:3px}
label small{font-weight:400;color:var(--mut)}
input,select,textarea{width:100%;font:inherit;padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:var(--card);color:var(--ink)}
textarea{min-height:70px}
.fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px 14px}
.fields h3{grid-column:1/-1;margin:10px 0 0;padding-top:10px;border-top:1px solid var(--line);color:var(--pri)}
.fields h3:first-child{border:0;margin-top:0;padding-top:0}
.tw{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:.92rem}
th,td{border-bottom:1px solid var(--line);padding:8px 8px;text-align:left;vertical-align:top}
th{background:rgba(15,92,74,.07);font-weight:600;white-space:nowrap}
td.n,th.n{text-align:right;font-variant-numeric:tabular-nums}
.tag{display:inline-block;padding:2px 9px;border-radius:99px;font-size:.8rem;font-weight:600}
.tag.ok{background:var(--okbg);color:var(--ok)}.tag.warn{background:var(--warnbg);color:var(--warn)}.tag.bad{background:var(--badbg);color:var(--bad)}.tag.mut{background:var(--line);color:var(--mut)}
.bar-row{display:grid;grid-template-columns:150px 1fr 70px;gap:10px;align-items:center;margin:6px 0;font-size:.9rem}
.bar-row .bt{background:var(--line);border-radius:5px;height:14px;position:relative;overflow:hidden}
.bar-row .bf{height:100%;background:var(--pri);border-radius:5px}
.bar-row .bf.bad{background:var(--bad)}.bar-row .bf.warn{background:var(--acc)}
.floor{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--ink)}
.score{font-size:3rem;font-weight:800;line-height:1}
.note{background:var(--warnbg);color:var(--ink);border-left:4px solid var(--acc);padding:10px 14px;border-radius:6px;font-size:.9rem;margin-bottom:14px}
.empty{color:var(--mut);padding:18px;text-align:center;border:1px dashed var(--line);border-radius:8px}
.cn{display:grid;grid-template-columns:240px 1fr;gap:26px;align-items:start}
.cn nav.side{flex-direction:column;margin:0;position:sticky;top:76px}
.cn nav.side a{color:var(--ink);border-radius:6px;padding:7px 10px}
.cn nav.side a:hover{background:var(--line)}
.cn nav.side a[aria-current=page]{background:var(--pri);color:#fff}
.art h2{margin-top:1.4em}.art h2:first-child{margin-top:0}
.art ol,.art ul{padding-left:1.3em}.art li{margin-bottom:.4em}
.art .tip{background:var(--okbg);border-left:4px solid var(--ok);padding:10px 14px;border-radius:6px;margin:12px 0}
.art .warnbox{background:var(--warnbg);border-left:4px solid var(--acc);padding:10px 14px;border-radius:6px;margin:12px 0}
#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:10px 18px;border-radius:8px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:60}
#toast.on{opacity:1}
.printonly{display:none}
@media (max-width:860px){
 .g3,.g4{grid-template-columns:repeat(2,minmax(0,1fr))}
 .menu-btn{display:block}
 nav{display:none;width:100%;margin:0 0 10px}nav.open{display:flex;flex-direction:column}
 .cn{grid-template-columns:1fr}.cn nav.side{position:static;flex-direction:row;flex-wrap:wrap}
 .bar-row{grid-template-columns:1fr 60px}.bar-row .bt{grid-column:1/-1;order:3}
}
@media (max-width:560px){.g2,.g3,.g4{grid-template-columns:1fr}}
@media print{
 .top,.foot,.demo,.noprint,#toast,.skip{display:none!important}
 body{background:#fff;color:#000;font-size:11pt}
 .card,.kpi{border-color:#999;break-inside:avoid}
 .printonly{display:block}
 main{padding:0}
}
