:root{--bg:#f5f4ee;--panel:#fbfcf7;--ink:#192c29;--muted:#56605a;--line:#d9ddd2;--soft:#e9ece3;--brand:#253f33;--lime:#d6ed82;--gold:#877037;--ok:#3f6b3a;--watch:#9a6b12;--act:#a8402a;--s1:#2a78d6;--s2:#eb6834;--s3:#1baf7a;--s4:#eda100}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Bahnschrift,"Trebuchet MS",sans-serif;font-size:14px;line-height:1.5}
h2,h3,p{margin:0}
.top{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;padding:12px 28px;background:var(--bg);border-bottom:1px solid var(--line)}
.brand{display:inline-flex;align-items:center;text-decoration:none}
.brand-logo{height:30px;width:auto;overflow:visible}
.plant{display:flex;flex-direction:column;font-size:12px;color:var(--muted)}.plant h1{margin:0;color:var(--ink);font-size:14px;font-weight:600;letter-spacing:0}
.periods{display:inline-flex;border:1px solid #839085;border-radius:3px;overflow:hidden;margin-left:auto}
.periods button{border:0;background:transparent;padding:8px 14px;font:inherit;font-size:13px;color:var(--ink);cursor:pointer}
.periods button[aria-pressed="true"]{background:var(--brand);color:#fff}
.plabel{font-size:12px;color:var(--muted);min-width:170px}
.synthetic{font-size:11px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;background:var(--lime);padding:5px 10px;border-radius:2px}
.layout{display:grid;grid-template-columns:200px minmax(0,1fr);max-width:1480px;margin:auto}
.side{position:sticky;top:64px;align-self:start;display:flex;flex-direction:column;gap:2px;padding:24px 12px 24px 28px}
.side a{padding:10px 12px;border-radius:3px;text-decoration:none;color:var(--muted);font-size:13px}
.side a:hover,.side a[aria-current="page"]{background:#e7eadf;color:var(--ink)}
.module{display:none}.module.on{display:block}
.mkt{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.mkt>div{min-width:0}
.mkt table td:first-child{white-space:normal}
.spark{width:96px;height:24px;display:inline-block;vertical-align:middle}.spark polyline{fill:none;stroke:var(--brand);stroke-width:1.5}
.src{font-size:11px;color:var(--muted)}
@media (max-width:1100px){.mkt{grid-template-columns:1fr}}
main{padding:8px 28px 60px;min-width:0}
.module{padding:26px 0 10px;border-bottom:1px solid var(--line);scroll-margin-top:64px}
.module>h2{font-size:30px;font-weight:500;letter-spacing:-.04em;margin-bottom:14px}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;margin-bottom:14px}
.tile{position:relative;background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--line);padding:12px 14px;border-radius:3px}
.tile h3{font-size:12px;font-weight:500;color:var(--muted);padding-right:60px}
.tile .val{font-size:26px;font-weight:500;letter-spacing:-.03em;margin:4px 0 2px;font-variant-numeric:tabular-nums}
.tile .note{font-size:11px;color:var(--muted)}
.tile .meta{display:flex;flex-wrap:wrap;gap:2px 10px;font-size:11px;color:var(--muted)}
.delta.good{color:var(--ok)}.delta.bad{color:var(--act)}
.badge{position:absolute;top:10px;right:10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:2px 6px;border-radius:2px}
.s-ok{border-top-color:var(--ok)}.s-ok .badge{background:#e3ecd9;color:var(--ok)}
.s-watch{border-top-color:var(--watch)}.s-watch .badge{background:#f4e9d2;color:var(--watch)}
.s-act{border-top-color:var(--act)}.s-act .badge{background:#f4e0da;color:var(--act)}
.s-na .badge{background:#eee;color:var(--muted)}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:3px;padding:14px 16px;margin-bottom:12px;min-width:0}
.panel>h3{font-size:15px;font-weight:600;margin-bottom:2px}
.sub{font-size:12px;color:var(--muted);margin:2px 0 8px}
svg{width:100%;height:auto;display:block;font-family:inherit;overflow:visible}
.gridl{stroke:var(--line)}.ax{font-size:11px;fill:var(--muted)}.lab{font-size:12px;fill:var(--ink)}.vl{font-size:11px;fill:var(--muted)}
.bar{fill:var(--brand)}.bar.watch{fill:var(--watch)}.bar.act{fill:var(--act)}.bar.muted{fill:#b8c5bb}
.target{stroke:var(--gold);stroke-dasharray:5 4;stroke-width:1.5}
.ln{fill:none;stroke-width:1.6}.ln.plant{stroke:var(--ink);stroke-width:2.6}.ln.L1{stroke:var(--s1)}.ln.L2{stroke:var(--s2)}.ln.L3{stroke:var(--s3)}.ln.L4{stroke:var(--s4)}
.lab.plant{font-weight:600}
.legend{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:var(--muted);margin:0 0 6px}.legend i{display:inline-block;width:14px;height:3px;border-radius:2px;margin-right:5px;vertical-align:middle}
.hit{fill:transparent}.hit:hover{fill:var(--ink);fill-opacity:.12}
.spec{stroke:var(--act);stroke-width:1.2}.ctl{stroke:var(--gold);stroke-dasharray:4 3}.cl{stroke:var(--muted)}
.xl{fill:none;stroke:var(--brand);stroke-width:1.4}.pt{fill:var(--brand)}.pt.flag{fill:var(--act)}
.whisk{stroke:var(--muted)}.box{fill:#dfe6d4;stroke:var(--brand)}.box.hot{fill:#f4e0da;stroke:var(--act)}.med{stroke:var(--ink);stroke-width:2}
.tbl{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:12.5px;font-variant-numeric:tabular-nums}
th{text-align:left;font-weight:600;color:var(--muted);border-bottom:1px solid var(--line);padding:6px 8px;cursor:pointer;white-space:nowrap}
th[data-dir="asc"]::after{content:" ▲"}th[data-dir="desc"]::after{content:" ▼"}
td{padding:6px 8px;border-bottom:1px solid var(--soft);white-space:nowrap}
.num{text-align:right}
.bad{color:var(--act);font-weight:600}.good{color:var(--ok)}
tr.top5 td:first-child{box-shadow:inset 3px 0 var(--ok)}tr.bot5 td:first-child{box-shadow:inset 3px 0 var(--act)}
.exlist{list-style:none;margin:0;padding:0}
.ex{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--soft)}
.ex .sev{flex:0 0 26px;height:26px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:12px}
.ex a{color:var(--ink)}.ex p{color:var(--muted);font-size:13px}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 10px}
.chips button,.filters select{border:1px solid #839085;background:transparent;border-radius:3px;padding:5px 10px;font:inherit;font-size:12px;color:var(--ink);cursor:pointer}
.chips button[aria-pressed="true"]{background:var(--brand);color:#fff}
.capab{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;margin:6px 0 10px}.capab b{font-weight:600}
.filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:8px;font-size:12px;color:var(--muted)}
details summary{cursor:pointer;color:var(--muted);font-size:13px;padding:8px 0}
.foot{font-size:12px;color:var(--muted);padding:24px 0}
button:focus-visible,a:focus-visible,select:focus-visible,th:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
@media (max-width:900px){.top{position:static;gap:8px 14px}.plant span{display:none}.periods button{padding:10px 12px}.layout{grid-template-columns:1fr}.side{position:static;flex-direction:row;flex-wrap:wrap;padding:10px 16px}.grid2{grid-template-columns:1fr}main{padding:8px 16px 48px}.top{padding:10px 16px}.periods{margin-left:0}.plabel{min-width:0}}
.mh{font-size:13px;font-weight:600;margin:4px 0 6px}
.more{display:inline-flex;align-items:center;min-height:44px;color:var(--ink)}
