:root{--navy: #003c71;--petrol: #007681;--teal: #3eb1c8;--sky: #a4dbe8;--amber: #e4a23c;--amber-deep: #c77a1f;--ink: #1c2530;--muted: #5a6472;--subtle: #8a929c;--line: #e7dfd1;--surface: #ffffff;--canvas: #f8f2e8;--navy-wash: #dbe4eb;--danger: #b42318;--danger-soft: #fef3f2;--success: #00656e;--success-soft: #e8f3f4;--warn-soft: #fdf3e2;--ok: #2f7d1f;--ok-line: #8cc77a;--ok-soft: #eef7ea;--watch: #a8640f;--watch-line: #ecc07a;--watch-soft: #fdf4e3;--act: #b42318;--act-line: #eda59c;--act-soft: #fdf0ee;--c-process: #003c71;--c-centre: #6cc24a;--c-control: #333333;--c-permit: #ca3d12;--c-target: #0d6b75;--c-special: #d32f2f;--font-sans: "Roboto", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Arial, sans-serif;--font-slab: "Roboto Slab", ui-serif, Georgia, serif;--font-mono: "Roboto Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--radius-card: 1rem;--radius-control: .625rem;--shadow-raised: 0 1px 2px rgba(16, 24, 40, .04), 0 10px 30px -14px rgba(16, 24, 40, .14);--shadow-float: 0 1px 2px rgba(16, 24, 40, .06), 0 24px 48px -20px rgba(16, 24, 40, .24)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--canvas);color:var(--ink);font:400 1rem/1.55 var(--font-sans);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-slab);color:var(--navy);font-weight:800;letter-spacing:-.012em;margin:0;text-wrap:balance}h1{font-size:clamp(1.4rem,1rem + 1.5vw,2rem);line-height:1.15}h2{font-size:clamp(1.2rem,1rem + .8vw,1.5rem)}h3{font-size:1.15rem;line-height:1.3}p{margin:0;text-wrap:pretty}.muted{color:var(--muted);font-size:.9375rem}button,select,input{font:inherit}:focus-visible{outline:2px solid var(--petrol);outline-offset:2px}.page{max-width:72rem;margin:0 auto;min-height:100vh;background:var(--surface);padding:1.5rem clamp(1rem,3vw,2.75rem) 3rem}@media(min-width:64rem){.page{margin:1.5rem auto;min-height:auto;border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-raised)}}.top{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;align-items:center;justify-content:space-between;padding-bottom:1.25rem;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:1rem}.logo{height:3rem;width:auto}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.btn{border-radius:var(--radius-control);padding:.6rem 1rem;font-weight:500;font-size:.9375rem;cursor:pointer;border:1px solid transparent;transition:filter .15s ease,transform .15s ease}.btn:active{transform:translateY(1px)}.btn .icon{width:1.1rem;height:1.1rem;flex:none}.btn:has(.icon){display:inline-flex;align-items:center;gap:.5rem}.btn.primary{background:var(--navy);color:#fff}.btn.primary:hover{filter:brightness(1.15)}.btn.ghost{background:var(--surface);color:var(--navy);border-color:var(--line)}.btn.ghost:hover{border-color:var(--petrol)}.lang{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:2px}.lang button{border:0;background:none;color:var(--muted);font-size:.75rem;font-weight:700;letter-spacing:.08em;padding:.3rem .6rem;border-radius:999px;cursor:pointer}.lang button.on{background:var(--navy);color:#fff}.source{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin:1rem 0 0;font-size:.875rem;color:var(--ink)}.source .hint{font-size:.8125rem}.pulse{width:.55rem;height:.55rem;border-radius:50%;background:var(--subtle);flex:none}.pulse.on{background:var(--petrol);box-shadow:0 0 #00768180;animation:pulse 2s infinite}@keyframes pulse{70%{box-shadow:0 0 0 7px #00768100}to{box-shadow:0 0 #00768100}}.tag{font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--amber-deep);background:var(--warn-soft);padding:.2rem .5rem;border-radius:999px}.error,.warning{margin-top:1rem;padding:.75rem 1rem;border-radius:var(--radius-control);font-size:.9375rem}.error{background:var(--danger-soft);color:var(--danger)}.warning{background:var(--warn-soft);color:var(--amber-deep)}main{display:grid;gap:1.25rem;margin-top:1.5rem}main>*{min-width:0}.plant{padding-bottom:1rem;border-bottom:1px solid var(--line)}.plant-name{margin:0;font-family:var(--font-slab);font-weight:800;color:var(--navy);font-size:clamp(1.35rem,1.1rem + 1vw,1.75rem);line-height:1.2}.plant-meta{display:flex;flex-wrap:wrap;gap:.35rem 1.25rem;margin:.4rem 0 0;color:var(--muted);font-size:.9375rem}.plant-meta span{display:inline-flex;align-items:center;gap:.4rem}.plant-meta .icon{width:1rem;height:1rem;flex:none;color:var(--petrol)}.selector{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem 1rem}.selector select{font-family:var(--font-slab);font-weight:800;color:var(--navy);font-size:1.25rem;border:1px solid var(--line);border-radius:var(--radius-control);padding:.35rem .6rem;background:var(--surface)}.limit-field{display:inline-flex;align-items:center;gap:.4rem;color:var(--muted);font-size:.9375rem}.limit-field input{width:5.5rem;padding:.25rem .5rem;border:1px solid var(--line);border-radius:var(--radius-control);color:var(--ink);background:var(--surface)}.limit-field input:focus{border-color:var(--petrol)}.verdict{border-radius:var(--radius-card);padding:1.25rem 1.5rem;border:1px solid var(--line);border-left-width:5px}.verdict.level-ok{border-color:var(--ok-line);border-left-color:var(--ok);background:var(--ok-soft)}.verdict.level-watch{border-color:var(--watch-line);border-left-color:var(--watch);background:var(--watch-soft)}.verdict.level-act{border-color:var(--act-line);border-left-color:var(--act);background:var(--act-soft)}.level-ok .badge{color:var(--ok)}.level-watch .badge{color:var(--watch)}.tone-ok,.tone-watch,.tone-act{border-left-width:4px!important}.tone-ok{border-color:var(--ok-line)!important;border-left-color:var(--ok)!important;background:var(--ok-soft)!important}.tone-watch{border-color:var(--watch-line)!important;border-left-color:var(--watch)!important;background:var(--watch-soft)!important}.tone-act{border-color:var(--act-line)!important;border-left-color:var(--act)!important;background:var(--act-soft)!important}.tone-ok .v{color:var(--ok)}.tone-watch .v{color:var(--watch)}.tone-act .v{color:var(--act)}.nowrap{white-space:nowrap}.bullet{position:relative;width:100%;margin-top:1rem}.bullet svg{display:block;max-width:100%;overflow:visible}.bullet-row+.bullet-row{margin-top:.75rem}.bullet-label{display:flex;justify-content:space-between;align-items:center;gap:.75rem;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--petrol)}.bullet .z-ok{fill:#d9eed2}.bullet .z-watch{fill:#f6dfb3}.bullet .z-act{fill:#f6cdc6}.bullet .whisker{stroke:var(--ink);stroke-width:2;stroke-linecap:round}.bullet .dot{stroke:#fff;stroke-width:2.5}.bullet .dot-ok{fill:var(--ok)}.bullet .dot-watch{fill:var(--watch)}.bullet .dot-act{fill:var(--act)}.bullet .dot-none{fill:var(--navy)}.bullet .value{font-family:var(--font-slab);font-weight:800;font-size:15px;fill:var(--navy)}.bullet .limit{stroke:var(--c-permit);stroke-width:2.5}.bullet .tick{font-size:11px;fill:var(--muted);font-family:var(--font-sans)}.bullet .limit-text{fill:var(--c-permit);font-weight:700}.bullet-legend{display:flex;flex-wrap:wrap;gap:.35rem 1.1rem;font-size:.8125rem;color:var(--muted);margin-top:.4rem}.bullet-legend span{display:inline-flex;align-items:center;gap:.4rem}.lg-dot{width:.7rem;height:.7rem;border-radius:50%;background:var(--watch);display:inline-block}.lg-whisker{width:1.1rem;height:.55rem;border-left:2px solid var(--ink);border-right:2px solid var(--ink);background:linear-gradient(var(--ink),var(--ink)) center / 100% 2px no-repeat;display:inline-block}.lg-zones{width:1.6rem;height:.6rem;border-radius:2px;display:inline-block;background:linear-gradient(90deg,#d9eed2 0,#d9eed2 55%,#f6dfb3 55%,#f6dfb3 75%,#f6cdc6 75%)}.small{font-size:.8125rem}.gauge-wrap{position:relative;padding-top:1rem;margin:.35rem 0 .15rem}.gauge-label{position:absolute;top:0;transform:translate(-50%);font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--c-permit);white-space:nowrap}.gauge{position:relative;height:.45rem;border-radius:999px;background:#1c253014;overflow:visible}.gauge>span{position:absolute;top:0;bottom:0;border-radius:999px}.gauge .fill{left:0}.gauge .over{right:0;border-radius:0 999px 999px 0;background:#ca3d1229}.gauge .band{top:-2px;bottom:-2px;opacity:.28}.gauge>i{position:absolute;top:-4px;bottom:-4px;width:2px;margin-left:-1px;background:var(--c-permit)}.tone-ok .gauge .fill,.tone-ok .gauge .band{background:var(--ok)}.tone-watch .gauge .fill,.tone-watch .gauge .band{background:var(--watch)}.tone-act .gauge .fill,.tone-act .gauge .band{background:var(--act)}.delta{font-family:var(--font-sans);font-size:.8125rem;font-weight:700;margin-left:.35rem}.delta.up{color:var(--act)}.delta.down{color:var(--ok)}.verdict-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.badge{font-family:var(--font-slab);font-weight:800;font-size:1.35rem;color:var(--navy)}.level-act .badge{color:var(--danger)}.verdict .headline{margin-top:.7rem;font-size:1.15rem;font-weight:700;color:var(--ink);line-height:1.4}.verdict .do-now{margin-top:.35rem;font-size:1rem}.verdict .do-now strong{color:var(--navy)}.level-act .do-now strong{color:var(--act)}.verdict ul.findings{list-style:none;margin:.85rem 0 0;padding:0;display:grid;gap:.5rem}.verdict ul.findings li{display:grid;grid-template-columns:1.35rem 1fr;gap:.55rem;align-items:start;font-size:.975rem;line-height:1.5}.verdict ul.findings .icon{width:1.25rem;height:1.25rem;margin-top:.12rem}.f-act .icon{color:var(--act)}.f-watch .icon{color:var(--watch)}.f-ok .icon{color:var(--ok)}.f-info .icon{color:var(--muted)}.verdict li strong{color:var(--navy)}.verdict li strong:first-of-type{color:var(--ink)}.verdict .footnote{margin-top:.8rem;font-size:.8125rem;color:var(--muted)}.checks{border:1px solid var(--watch-line);border-left:4px solid var(--watch);border-radius:var(--radius-control);background:var(--watch-soft);padding:.75rem 1rem;font-size:.9375rem}.checks strong:first-child{color:var(--watch)}.checks ul{margin:.35rem 0 0;padding-left:1.15rem}.news{display:flex;justify-content:space-between;align-items:center;gap:1rem;border:1px solid #b9dde2;border-left:4px solid var(--petrol);border-radius:var(--radius-control);background:var(--success-soft);padding:.65rem 1rem;font-size:.9375rem;animation:news-in .4s ease-out}@keyframes news-in{0%{opacity:0;transform:translateY(-4px)}}tr.is-new td{background:var(--success-soft)}tr.is-new td:first-child{box-shadow:inset 4px 0 0 var(--petrol)}button.link{background:none;border:0;padding:0;color:var(--petrol);font-weight:500;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.chips{display:flex;flex-wrap:wrap;gap:.35rem}.chip{display:inline-block;white-space:nowrap;font-size:.8125rem;font-weight:700;padding:.25rem .65rem;border-radius:999px;border:1px solid transparent}.chip.sm{font-size:.6875rem;padding:.12rem .5rem;margin-right:.25rem}.c-ok{background:var(--ok-soft);color:var(--ok);border-color:var(--ok-line)}.c-verify{background:var(--watch-soft);color:var(--watch);border-color:var(--watch-line)}.c-exceedance{background:var(--act);color:#fff}.c-spc{background:var(--surface);color:var(--c-special);border-color:var(--c-special)}.c-unstable{background:var(--navy-wash);color:var(--navy)}.c-unknown{background:var(--surface);color:var(--muted);border-color:var(--line)}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.75rem}.kpi{border:1px solid var(--line);border-radius:var(--radius-control);padding:.85rem 1rem;display:grid;gap:.15rem;background:var(--surface)}.kpi .k{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--petrol)}.kpi .v{font-family:var(--font-slab);font-weight:800;font-size:1.6rem;color:var(--navy);line-height:1.2}.kpi .v small{font-family:var(--font-sans);font-weight:500;font-size:.95rem;color:var(--muted)}.kpi .u{font-size:.8125rem;color:var(--muted)}.card{border:1px solid var(--line);border-radius:var(--radius-card);padding:1.25rem 1.25rem 1rem;background:var(--surface)}.card>h3+.muted,.card-head .muted{margin-top:.25rem}.card-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;align-items:flex-start}.toggle{display:inline-flex;gap:.45rem;align-items:center;font-size:.875rem;color:var(--ink);cursor:pointer}.toggle input{accent-color:var(--petrol);width:1rem;height:1rem}.chart-box{width:100%;margin-top:.75rem}.chart{display:block;max-width:100%;height:auto;overflow:visible}.chart .grid{stroke:var(--line);stroke-width:1}.chart .tick{fill:var(--muted);font-size:11px;font-family:var(--font-sans)}.chart .ref{stroke-width:1.6}.chart .ref-permit{stroke:var(--c-permit);stroke-width:2.2}.chart .ref-control{stroke:var(--c-control);stroke-dasharray:6 4}.chart .ref-centre{stroke:var(--c-centre);stroke-dasharray:3 3;stroke-width:2}.chart .reflabel{font-size:11px;font-weight:700;font-family:var(--font-sans)}.chart .reflabel-permit{fill:var(--c-permit)}.chart .reflabel-control{fill:var(--c-control)}.chart .reflabel-centre{fill:#3f8a26}.chart .series{fill:none;stroke:var(--c-process);stroke-width:2;stroke-linejoin:round}.chart .dot{stroke:#fff;stroke-width:1.5}.chart .dot-normal{fill:var(--c-process)}.chart .dot-alert{fill:var(--c-special)}.chart .dot-muted{fill:var(--subtle)}.chart .halo{fill:none;stroke:var(--c-special);stroke-width:1.5;opacity:.6}.chart .err line{stroke:var(--teal);stroke-width:1.4}.chart .err-muted line{stroke:#c8ccd2}.chart .err-alert line{stroke:#e9a0a0}.chart .bar-normal{fill:var(--sky)}.chart .bar-alert{fill:var(--c-special)}.chart .bar-muted{fill:#d5d9de}.chart .bar-highlight{fill:var(--navy)}.chart .bar-warn{fill:var(--amber)}.chart .zone-normal{fill:var(--petrol);opacity:.1}.chart .zone-over{fill:var(--c-permit);opacity:.11}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.delta{color:var(--muted)}.chart .err-bar line{stroke:var(--ink);stroke-width:1.4}.chart .marker line{stroke:var(--petrol);stroke-width:1.2;stroke-dasharray:2 3}.chart .marker circle{fill:var(--petrol)}.chart .marker text{fill:var(--petrol);font-size:11px;font-weight:700;font-family:var(--font-sans)}.legend{display:flex;flex-wrap:wrap;gap:.35rem 1.1rem;font-size:.8125rem;color:var(--muted);margin-top:.5rem}.legend span{display:inline-flex;align-items:center;gap:.4rem}.lg{display:inline-block;width:1.1rem;height:0;border-top:2px solid}.lg.series{border-color:var(--c-process)}.lg.err{width:0;height:.8rem;border-top:0;border-left:2px solid var(--teal)}.lg.permit{border-color:var(--c-permit);border-top-width:2.5px}.lg.control{border-color:var(--c-control);border-top-style:dashed}.lg.centre{border-color:var(--c-centre);border-top-style:dotted;border-top-width:3px}.lg.alert{width:.7rem;height:.7rem;border:0;border-radius:50%;background:var(--c-special)}.lg.muted{width:.7rem;height:.7rem;border:0;border-radius:50%;background:var(--subtle)}.lg.zone-n,.lg.zone-o{width:1rem;height:.7rem;border:0;border-radius:2px}.lg.zone-n{background:#00768129}.lg.zone-o{background:#ca3d122e}.table-wrap{overflow-x:auto;margin-top:.75rem}table{width:100%;border-collapse:collapse;font-size:.875rem}th{text-align:left;font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--petrol);padding:.5rem .6rem;border-bottom:1px solid var(--line)}td{padding:.55rem .6rem;border-bottom:1px solid var(--line);white-space:nowrap}tr:last-child td{border-bottom:0}.r{text-align:right}.mono{font-family:var(--font-mono);font-size:.8125rem}.annual-figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.75rem;margin-top:.85rem}.annual-figures>div{display:grid;gap:.15rem;padding:.75rem 1rem;border:1px solid var(--line);border-radius:var(--radius-control)}.annual-figures .k{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--petrol)}.annual-figures .v{font-family:var(--font-slab);font-weight:800;font-size:1.45rem;color:var(--navy);line-height:1.2}.annual-figures .v small{font-family:var(--font-sans);font-weight:500;font-size:.9rem;color:var(--muted)}.annual-figures .u{font-size:.8125rem;color:var(--muted)}.explain{margin-top:.75rem;border-top:1px solid var(--line);padding-top:.6rem}.explain summary{cursor:pointer;color:var(--petrol);font-weight:500;font-size:.9375rem}.explain p{margin-top:.5rem;max-width:46rem;font-size:.9375rem;color:var(--ink);line-height:1.6}.action{display:inline-block;margin-top:.9rem;text-decoration:none}.lab-link{margin-left:.35rem;font-size:.75rem;font-weight:500;color:var(--petrol)}.note{display:block;font-size:.75rem;color:var(--petrol);font-weight:500;white-space:normal;max-width:16rem}.foot{display:grid;gap:.4rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.8125rem}.dropzone{position:fixed;top:1rem;right:1rem;bottom:1rem;left:1rem;border:2px dashed var(--petrol);border-radius:var(--radius-card);background:#f8f2e8eb;display:grid;place-items:center;font-family:var(--font-slab);font-weight:800;font-size:1.5rem;color:var(--navy);pointer-events:none}@media(prefers-reduced-motion:reduce){.pulse.on{animation:none}.btn{transition:none}}
