@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.p.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.p.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.p.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Space Grotesk Fallback;src:local("Arial");ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.00%;size-adjust:109.69%}.__className_7394d9{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.__variable_7394d9{--font-space-grotesk:"Space Grotesk","Space Grotesk Fallback"}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.p.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_1b85de{font-family:Inter,Inter Fallback;font-style:normal}.__variable_1b85de{--font-inter:"Inter","Inter Fallback"}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-s.p.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-s.p.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_308571{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.__variable_308571{--font-plex-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}:root{--brand-primary:#6867ff;--brand-primary-hover:#828afd;--brand-accent:#00e7c5;--brand-accent-strong:#078f79;--brand-primary-100:#f3f5ff;--brand-primary-200:#e2e6ff;--brand-primary-300:#cad1fe;--brand-primary-400:#a6b0ff;--brand-primary-500:#828afd;--brand-primary-600:#625ffb;--brand-primary-700:#4b46c7;--brand-primary-800:#34328e;--brand-primary-900:#222456;--brand-accent-100:#eef8f5;--brand-accent-200:#d7eee7;--brand-accent-300:#b1e0d3;--brand-accent-400:#6fccb6;--brand-accent-500:#0eb197;--brand-accent-600:#078f79;--brand-accent-700:#016e5d;--brand-accent-800:#034e41;--brand-accent-900:#01342b;--state-success:#4f8a1f;--state-success-bg:#b7ff45;--state-warn:#a5680b;--state-warn-bg:rgba(245,165,36,0.08);--state-danger:#d6455f;--font-heading:"Space Grotesk",ui-sans-serif,system-ui,sans-serif;--font-body:"Inter",ui-sans-serif,system-ui,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,monospace;--radius-control:0.75rem;--radius-card:1.35rem;--product-accent:var(--brand-primary);color-scheme:light;--zinc-50:#fafafa;--zinc-100:#f4f4f5;--zinc-200:#e4e4e7;--zinc-300:#d4d4d8;--zinc-400:#a1a1aa;--zinc-500:#71717a;--zinc-600:#52525b;--zinc-700:#3f3f46;--zinc-800:#27272a;--zinc-900:#18181b;--bg:var(--zinc-50);--bg-tint:radial-gradient(1100px 520px at 8% -8%,var(--brand-primary-100) 0%,transparent 62%);--surface:#ffffff;--surface-2:var(--zinc-50);--surface-3:var(--zinc-100);--border:var(--zinc-200);--border-strong:var(--zinc-300);--text:var(--zinc-900);--text-muted:var(--zinc-500);--accent:var(--brand-primary);--accent-strong:var(--brand-primary-700);--accent-soft:var(--brand-primary-100);--accent-text:#ffffff;--ok:var(--state-success);--ok-bg:color-mix(in oklab,var(--state-success-bg) 22%,#ffffff);--warn:var(--state-warn);--warn-bg:color-mix(in oklab,var(--state-warn) 9%,#ffffff);--danger:var(--state-danger);--danger-bg:color-mix(in oklab,var(--state-danger) 9%,#ffffff);--info:var(--brand-primary-700);--info-bg:var(--brand-primary-100);--e-pv:var(--brand-accent-600);--e-pv-soft:var(--brand-accent-100);--e-pv-track:var(--brand-accent-200);--e-bess:var(--brand-primary-600);--e-bess-soft:var(--brand-primary-100);--e-bess-track:var(--brand-primary-200);--e-grid:var(--zinc-700);--e-grid-soft:var(--zinc-100);--e-grid-track:var(--zinc-200);--e-load:var(--zinc-400);--e-loss:var(--state-danger);--radius:var(--radius-control);--radius-lg:var(--radius-card);--shadow-sm:0 1px 2px color-mix(in oklab,var(--zinc-900) 5%,transparent),0 1px 3px color-mix(in oklab,var(--zinc-900) 4%,transparent);--shadow-md:0 2px 4px color-mix(in oklab,var(--zinc-900) 5%,transparent),0 12px 32px color-mix(in oklab,var(--zinc-900) 7%,transparent);--shadow-electric:0 1px 2px color-mix(in oklab,var(--brand-primary) 10%,transparent),0 14px 38px color-mix(in oklab,var(--brand-primary) 16%,transparent);--ring:0 0 0 3px color-mix(in oklab,var(--brand-primary) 22%,transparent);--font-heading:var(--font-space-grotesk),ui-sans-serif,system-ui,sans-serif;--font-body:var(--font-inter),ui-sans-serif,system-ui,sans-serif;--font-mono:var(--font-plex-mono),ui-monospace,monospace;--mono:var(--font-mono)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--text);font:15px/1.55 var(--font-body);font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0 0 .5rem;line-height:1.2;font-weight:600;font-family:var(--font-heading);letter-spacing:-.02em}h1{font-size:1.5rem}h2{font-size:1.15rem}h3{font-size:1rem}p{margin:0 0 .75rem}.kv dd.mono,code,table td.mono{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mono{font-family:var(--mono);font-size:.88em}.shell{display:flex;min-height:100vh}.sidebar{width:240px;flex:0 0 240px;background:var(--surface);border-right:1px solid var(--border);padding:1rem .7rem;display:flex;flex-direction:column;gap:1rem;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{display:flex;align-items:center;gap:.6rem;padding:.35rem .5rem .75rem;border-bottom:1px solid var(--border)}.brand-mark{width:32px;height:32px;flex:none;border-radius:9px;background:linear-gradient(145deg,var(--accent) 0,var(--accent-strong) 100%);color:var(--accent-text);display:grid;place-items:center;box-shadow:var(--shadow-sm)}.brand-text{min-width:0;line-height:1.2}.brand-text strong{display:block;font-size:.95rem;letter-spacing:-.01em}.brand-text small{display:block;font-size:.75rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav{gap:1rem}.nav,.nav-group{display:flex;flex-direction:column}.nav-group{gap:1px}.nav-group>h3{margin:0 0 .3rem .6rem;font-size:.68rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--text-muted)}.nav a{display:flex;align-items:center;gap:.6rem;padding:.45rem .6rem;border-radius:8px;color:var(--text);font-size:.9rem;position:relative;transition:background .12s ease,color .12s ease}.nav a svg{flex:none;opacity:.65}.nav a:hover{background:var(--surface-2);text-decoration:none}.nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent);font-weight:600}.nav a[aria-current=page] svg{opacity:1}.nav a[aria-current=page]:before{content:"";position:absolute;left:-.7rem;top:50%;transform:translateY(-50%);width:3px;height:1.1rem;border-radius:0 3px 3px 0;background:var(--accent)}.sidebar-foot{margin-top:auto;padding:.75rem .5rem 0;border-top:1px solid var(--border);font-size:.8rem;color:var(--text-muted);display:flex;flex-direction:column;gap:.6rem;overflow-wrap:anywhere}.mode-chip{display:flex;align-items:center;gap:.45rem;padding:.4rem .55rem;border-radius:8px;background:var(--ok-bg);color:var(--ok);font-size:.75rem;font-weight:600;line-height:1.3}.mode-chip svg{flex:none}.main{flex:1 1 auto;padding:1.75rem 2rem 4rem;max-width:1240px;background:var(--bg-tint);background-repeat:no-repeat;min-width:0}.page-head{margin-bottom:1.5rem}.page-head h1{font-size:1.7rem;letter-spacing:-.025em}.page-head p{color:var(--text-muted);margin:0}@media (max-width:760px){.shell{flex-direction:column}.sidebar{width:auto;flex:none;height:auto;position:static;border-right:none;border-bottom:1px solid var(--border)}.nav{gap:.5rem}.nav,.nav-group{flex-direction:row;flex-wrap:wrap}.nav-group{gap:.25rem}.nav a[aria-current=page]:before,.nav-group>h3{display:none}.main{padding:1.25rem 1rem 3rem}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.15rem 1.25rem;margin-bottom:1rem}.card>:last-child{margin-bottom:0}.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.85rem;padding-bottom:.6rem;border-bottom:1px solid var(--border)}.card-head h2{margin:0;font-size:1.02rem;letter-spacing:-.01em}.grid{grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.grid,.kv{display:grid}.kv{grid-template-columns:minmax(120px,max-content) 1fr;grid-gap:.35rem 1rem;gap:.35rem 1rem;font-size:.92rem}.kv dt{color:var(--text-muted)}.kv dd{margin:0;overflow-wrap:anywhere}.field{display:block;margin-bottom:.9rem}.field>span{display:block;font-size:.85rem;color:var(--text-muted);margin-bottom:.25rem}input[type=email],input[type=number],input[type=password],input[type=text],select{width:100%;padding:.62rem .8rem;border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface);color:var(--text);font:inherit;font-size:.95rem;transition:border-color .14s ease,box-shadow .14s ease}input:focus,select:focus{outline:none;border-color:var(--brand-primary);box-shadow:var(--ring)}button:focus-visible{outline:none;box-shadow:var(--ring)}.checkline{display:flex;align-items:flex-start;gap:.5rem;font-size:.9rem;margin-bottom:.9rem}.checkline input{margin-top:.2rem}button{font:inherit;font-size:.93rem;padding:.55rem 1rem;border-radius:var(--radius-control);border:1px solid color-mix(in oklab,var(--zinc-900) 10%,transparent);background:var(--surface);color:var(--text);cursor:pointer;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease,transform .14s ease}button:hover:not(:disabled){border-color:color-mix(in oklab,var(--brand-primary) 40%,transparent)}button:disabled{opacity:.55;cursor:not-allowed}button.primary{background:var(--brand-primary);border-color:var(--brand-primary);color:var(--accent-text);font-weight:600;box-shadow:var(--shadow-electric)}button.primary:hover:not(:disabled){background:var(--brand-primary-hover);border-color:var(--brand-primary-hover);transform:translateY(-1px)}button.primary:active:not(:disabled){transform:none}button.linkish{background:none;border:none;color:var(--accent);padding:0;text-align:left}.actions{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}.badge{display:inline-block;padding:.1rem .5rem;border-radius:999px;font-size:.78rem;font-weight:600;border:1px solid transparent}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.danger{background:var(--danger-bg);color:var(--danger)}.badge.neutral{background:var(--surface-2);color:var(--text-muted);border-color:var(--border)}.notice{border:1px solid var(--border);border-left-width:3px;border-radius:6px;padding:.7rem .85rem;font-size:.9rem;margin-bottom:1rem}.notice.ok{border-left-color:var(--ok);background:var(--ok-bg)}.notice.warn{border-left-color:var(--warn);background:var(--warn-bg)}.notice.danger{border-left-color:var(--danger);background:var(--danger-bg)}.notice>:last-child{margin-bottom:0}.muted{color:var(--text-muted)}.small{font-size:.85rem}.warnish{color:var(--warn);border-left:2px solid var(--warn);padding-left:.6rem}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.92rem}td,th{text-align:left;padding:.5rem .7rem;border-bottom:1px solid var(--border);white-space:nowrap}th{color:var(--text-muted);font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.03em}tbody tr:last-child td{border-bottom:none}.centered{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.centered .card{width:100%;max-width:380px;margin:0}.flow-pv,.meter-pv,.stat-pv,.tone-pv,.trend-pv{--tone:var(--e-pv);--tone-soft:var(--e-pv-soft);--tone-track:var(--e-pv-track)}.flow-bess,.meter-bess,.stat-bess,.tone-bess,.trend-bess{--tone:var(--e-bess);--tone-soft:var(--e-bess-soft);--tone-track:var(--e-bess-track)}.flow-grid,.meter-grid,.stat-grid,.tone-grid,.trend-grid{--tone:var(--e-grid);--tone-soft:var(--e-grid-soft);--tone-track:var(--e-grid-track)}.flow-load,.meter-load,.stat-load,.tone-load,.trend-load{--tone:var(--e-load);--tone-soft:var(--zinc-100);--tone-track:var(--zinc-200)}.meter-neutral{--tone:var(--zinc-400);--tone-soft:var(--zinc-100);--tone-track:var(--zinc-200)}.stat-neutral{--tone:var(--zinc-500);--tone-soft:var(--zinc-100);--tone-track:var(--zinc-200)}.eyebrow{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-body);font-size:.68rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase}.eyebrow,.unit{color:var(--text-muted)}.unit{font-size:.5em;font-weight:500;margin-left:.3em;letter-spacing:0}.counter-value,.flow-node-value,.hero-value,.meter-value,.readout-value,.ring-value,.stat-value{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.live{display:flex;flex-direction:column;gap:1rem}.live>*{margin-bottom:0}.live>.card,.live>.kpi-row,.live>.live-grid{animation:rise .52s cubic-bezier(.2,.7,.2,1) both}.live>:nth-child(3){animation-delay:60ms}.live>:nth-child(4){animation-delay:.12s}.live>:nth-child(5){animation-delay:.18s}.live>:nth-child(6){animation-delay:.24s}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.live-hero{position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem 2rem;flex-wrap:wrap;padding:1.5rem 1.75rem;border-radius:calc(var(--radius-card) + .2rem);border:1px solid var(--brand-primary-200);background:radial-gradient(640px 300px at 100% 0,var(--brand-primary-100),transparent 70%),radial-gradient(520px 260px at 0 120%,var(--brand-accent-100),transparent 70%),var(--surface);box-shadow:var(--shadow-electric)}.live-hero h1{font-size:clamp(1.6rem,2.4vw,2.2rem);letter-spacing:-.03em;margin:.35rem 0 .2rem}.live-eyebrow{color:var(--brand-primary-700)}.live-clock{margin-left:.35rem;padding-left:.6rem;border-left:1px solid var(--brand-primary-300);color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.06em}.live-hero-meta{margin:0;font-size:.85rem;color:var(--text-muted)}.live-hero-actions{display:flex;align-items:center;gap:.6rem;margin-top:.9rem;flex-wrap:wrap}.live-hero-figure{display:flex;flex-direction:column;align-items:flex-end;text-align:right;gap:.1rem}.hero-value{font-family:var(--font-body);font-size:clamp(3rem,5.5vw,4.4rem);font-weight:650;letter-spacing:-.045em;line-height:1;color:var(--text)}.hero-value .unit{font-size:.34em}.hero-direction{font-size:.88rem;font-weight:600}.hero-direction.out{color:var(--brand-accent-700)}.hero-direction.in{color:var(--brand-primary-700)}.hero-direction.flat{color:var(--text-muted)}@media (max-width:760px){.live-hero{align-items:flex-start;padding:1.2rem}.live-hero-figure{align-items:flex-start;text-align:left}}.live-pulse{position:relative;width:10px;height:10px;display:inline-block}.live-pulse-core,.live-pulse-ring{position:absolute;inset:0;border-radius:50%;background:var(--brand-accent-500)}.live-pulse-ring{animation:pulse-ring 1.4s cubic-bezier(.2,.6,.3,1) forwards}.live-pulse.paused .live-pulse-core{background:var(--zinc-400)}@keyframes pulse-ring{0%{transform:scale(1);opacity:.55}to{transform:scale(3.2);opacity:0}}.source-tag{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .8rem;border-radius:999px;font-size:.7rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.source-tag.modelled{background:var(--warn);color:var(--accent-text);box-shadow:0 6px 18px color-mix(in oklab,var(--warn) 28%,transparent)}.source-tag.field{background:var(--ok-bg);color:var(--ok);border:1px solid}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:1rem;gap:1rem}.stat{position:relative;overflow:hidden;min-height:150px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.stat:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:color-mix(in oklab,var(--tone) 35%,var(--border))}.stat.alert{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-bg)}.stat-body{position:relative;display:flex;flex-direction:column;gap:.2rem;padding:1rem 1.15rem 3rem}.stat-head{display:flex;align-items:center;gap:.55rem}.stat-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:var(--tone-soft);color:var(--tone)}.stat.alert .stat-icon{background:var(--danger-bg);color:var(--danger)}.stat-value{margin-top:.35rem;font-size:2.15rem;font-weight:650;letter-spacing:-.04em;line-height:1.05}.stat.alert .stat-value{color:var(--danger)}.stat-sub{font-size:.78rem;color:var(--text-muted)}.stat-trail{position:absolute;inset:auto 0 0 0;width:100%;height:40px;pointer-events:none}.stat-trail-stop-top{stop-color:var(--tone);stop-opacity:.2}.stat-trail-stop-bottom{stop-color:var(--tone);stop-opacity:0}.stat-trail-line{fill:none;stroke:var(--tone);stroke-opacity:.6;stroke-width:1.6;vector-effect:non-scaling-stroke}.live-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));grid-gap:1rem;gap:1rem}.live-grid>.card{margin-bottom:0}.live-unit{display:grid;grid-template-columns:minmax(300px,auto) 1fr;grid-gap:2rem;gap:2rem;align-items:start}@media (max-width:1080px){.live-unit{grid-template-columns:1fr}}.dials{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}.ring{margin:0;display:flex;flex-direction:column;align-items:center;gap:.1rem;max-width:100%}.ring svg{max-width:100%;height:auto;overflow:visible}.ring-sweep{transition:stroke-dashoffset .9s cubic-bezier(.2,.8,.2,1),stroke .4s ease,opacity .3s ease}.ring-value{font-family:var(--font-body);font-size:34px;font-weight:650;letter-spacing:-.04em;fill:var(--text)}.ring-value.near{fill:var(--warn)}.ring-sub{font-size:12.5px}.ring-state,.ring-sub{fill:var(--text-muted)}.ring-state{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.ring-state.on{fill:var(--brand-primary-700)}.ring-limit{font-size:10.5px;font-weight:600;fill:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.readouts{gap:1.1rem;min-width:0}.meter,.readouts{display:flex;flex-direction:column}.meter{gap:.4rem}.meter-head{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem}.meter-value{font-size:1.15rem;font-weight:650;letter-spacing:-.02em}.meter-value.outside{color:var(--danger)}.meter-value .unit{font-size:.7em}.meter-track{position:relative;height:10px;border-radius:999px;background:var(--tone-soft);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--tone) 12%,transparent)}.meter-band{background:var(--tone-track)}.meter-band,.meter-fill{position:absolute;top:0;bottom:0;border-radius:999px}.meter-fill{left:0;background:linear-gradient(90deg,color-mix(in oklab,var(--tone) 35%,transparent),var(--tone));transition:width .9s cubic-bezier(.2,.8,.2,1)}.meter-thumb{position:absolute;top:50%;width:16px;height:16px;border-radius:50%;background:var(--surface);border:3px solid var(--tone);transform:translate(-50%,-50%);box-shadow:0 2px 8px color-mix(in oklab,var(--tone) 35%,transparent);transition:left .9s cubic-bezier(.2,.8,.2,1),border-color .3s ease}.meter-thumb.outside{border-color:var(--danger)}.meter-scale{display:flex;justify-content:space-between;gap:.5rem;font-size:.68rem;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.meter-note{font-style:italic}.readout-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:.9rem 1rem;gap:.9rem 1rem;padding-top:.9rem;border-top:1px solid var(--border)}.readout{display:flex;flex-direction:column;gap:.15rem}.readout-value{font-size:1.02rem;font-weight:600}.readout-value .unit{font-size:.75em}.identity{margin:0;padding:.55rem .8rem;border-radius:var(--radius-control);background:var(--e-bess-soft);color:var(--brand-primary-800);font-family:var(--font-mono);font-size:.82rem;white-space:pre;overflow-x:auto}.counters{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:.75rem;gap:.75rem;margin-top:1.1rem}.counter{display:flex;flex-direction:column-reverse;gap:.2rem;padding:.8rem .95rem;border-radius:var(--radius-control);background:var(--surface-2);border:1px solid var(--border)}.counter-value{font-size:1.3rem;font-weight:650;letter-spacing:-.02em}.counter-value .unit{font-size:.65em}.flow svg{width:100%;height:auto;display:block}.flow-conduit{fill:none;stroke:var(--zinc-200);stroke-linecap:round;transition:stroke .4s ease,stroke-width .6s ease}.flow-path.live .flow-conduit{stroke:color-mix(in oklab,var(--tone) 45%,transparent)}.flow-glow{fill:none;stroke:var(--tone);stroke-opacity:.1;stroke-linecap:round}.flow-particle{fill:var(--tone);filter:drop-shadow(0 0 3px color-mix(in oklab,var(--tone) 60%,transparent))}.flow-node-card{fill:var(--surface);stroke:var(--border);stroke-width:1;filter:drop-shadow(0 4px 10px color-mix(in oklab,var(--zinc-900) 7%,transparent));transition:stroke .3s ease}.flow-node.live .flow-node-card{stroke:color-mix(in oklab,var(--tone) 55%,transparent);stroke-width:1.5}.flow-node-badge{fill:var(--tone-soft)}.flow-node-icon{color:var(--tone)}.flow-node-title{font-size:9.5px;font-weight:700;letter-spacing:.13em;fill:var(--text-muted)}.flow-node-value{font-family:var(--font-body);font-size:17px;font-weight:650;letter-spacing:-.02em;fill:var(--text)}.flow-node-unit{font-size:11px;font-weight:500;fill:var(--text-muted)}.flow-soc-track{fill:var(--e-bess-track)}.flow-soc-fill{fill:var(--e-bess);transition:width .9s cubic-bezier(.2,.8,.2,1)}.flow-hub-core{fill:var(--surface);stroke:var(--zinc-300);stroke-width:1.5}.flow-hub.live .flow-hub-core{stroke:var(--brand-primary-400)}.flow-hub-label{font-size:9px;font-weight:700;letter-spacing:.14em;fill:var(--text-muted)}.flow-hub-halo{fill:var(--brand-primary-300);transform-box:fill-box;transform-origin:center;animation:hub-breathe 2.6s ease-in-out infinite}@keyframes hub-breathe{0%,to{transform:scale(1);opacity:.28}50%{transform:scale(1.42);opacity:0}}.flow-curtail rect{fill:var(--danger-bg);stroke:var(--danger);stroke-width:1}.flow-curtail text{font-size:11px;font-weight:700;fill:var(--danger)}.trend-plot{position:relative}.trend-plot svg{width:100%;height:auto;display:block;overflow:visible;border-radius:var(--radius-control)}.trend-plot svg:focus-visible{outline:none;box-shadow:var(--ring)}.trend-rule{stroke:var(--zinc-100);stroke-width:1}.trend-zero{stroke:var(--zinc-300);stroke-width:1}.trend-tick{font-size:10.5px;fill:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.trend-line{fill:none;stroke:var(--tone);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.trend-end{fill:var(--tone);stroke:var(--surface);stroke-width:2}.trend-cross{stroke:var(--zinc-400);stroke-width:1}.trend-dot{fill:var(--surface);stroke:var(--tone);stroke-width:2.5}.trend-waiting{font-size:12px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;fill:var(--text-muted)}.trend-tip{position:absolute;top:.25rem;transform:translateX(-50%);pointer-events:none;display:flex;flex-direction:column;gap:.2rem;min-width:150px;padding:.55rem .7rem;border-radius:var(--radius-control);background:var(--zinc-900);color:var(--zinc-50);font-size:.75rem;box-shadow:var(--shadow-md)}.trend-tip-time{color:var(--zinc-400);font-size:.68rem;letter-spacing:.08em}.trend-tip-row{display:flex;align-items:center;gap:.45rem}.trend-tip-row b{margin-left:auto;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.trend-legend{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.1rem;margin-top:.7rem;font-size:.8rem;color:var(--text-muted)}.trend-legend b{margin-left:.35rem;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.swatch{display:inline-block;width:12px;height:3px;border-radius:2px;margin-right:.4rem;vertical-align:middle;background:var(--tone)}@media (prefers-reduced-motion:reduce){.flow-hub-halo,.live-pulse-ring,.live>.card,.live>.kpi-row,.live>.live-grid{animation:none}.flow-soc-fill,.meter-fill,.meter-thumb,.ring-sweep,.stat{transition:none}}button.ghost{background:transparent;border:1px solid var(--border-strong);color:var(--text);border-radius:var(--radius);padding:.35rem .7rem;cursor:pointer}.form-panel,button.ghost:hover{background:var(--surface-2)}.form-panel{border-radius:var(--radius);padding:1rem;margin-bottom:1rem}.form-panel h3{margin-top:0}.inline-select{background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius);padding:.3rem .5rem;font:inherit;font-size:.85rem}.row-actions{display:flex;gap:.4rem;white-space:nowrap}button.ghost.small{padding:.2rem .5rem;font-size:.82rem}button.ghost.danger{color:var(--danger);border-color:var(--danger)}button.ghost.danger:hover{background:var(--danger-bg)}select{padding:.45rem .55rem}select,textarea{background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius);font:inherit}textarea{padding:.5rem .6rem;resize:vertical;width:100%}textarea.mono{font-family:var(--mono);font-size:.85rem}pre{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem}.tornado{display:flex;flex-direction:column;gap:.35rem}.tornado-row{display:grid;grid-template-columns:minmax(120px,1fr) 3fr minmax(110px,auto);align-items:center;grid-gap:.75rem;gap:.75rem}.tornado-label{font-size:.85rem}.tornado-track{position:relative;height:18px;background:var(--surface-2);border-radius:3px}.tornado-bar{position:absolute;top:2px;height:14px;border-radius:2px}.tornado-bar.up{background:var(--ok)}.tornado-bar.down{background:var(--danger)}.tornado-centre{position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--border-strong)}.tornado-value{text-align:right;white-space:nowrap}.tone-danger{color:var(--danger)}.form-section{margin:1rem 0 .5rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border);padding-bottom:.25rem}.form-section:first-child{margin-top:0}.fleet-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:.9rem;gap:.9rem;margin-bottom:1.25rem}.fleet-stat{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.15rem 1.15rem 1rem;display:flex;flex-direction:column;gap:.15rem}.fleet-stat:before{content:"";position:absolute;left:1.15rem;top:0;width:2.2rem;height:3px;border-radius:0 0 3px 3px;background:var(--fleet-tone,var(--zinc-300))}.fleet-value{font-size:1.95rem;font-weight:650;letter-spacing:-.03em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.1}.fleet-unit{font-size:.85rem;font-weight:500;color:var(--text-muted)}.fleet-label{font-size:.73rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-weight:600}.fleet-note{font-size:.78rem;color:var(--text-muted)}.plant-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:.75rem;gap:.75rem}.plant-card{display:flex;flex-direction:column;gap:.25rem;padding:.85rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);color:var(--text);transition:border-color .14s ease,transform .14s ease,box-shadow .14s ease}.plant-card:hover{text-decoration:none;border-color:var(--accent);transform:translateY(-1px);box-shadow:var(--shadow-md)}.plant-card-head{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.plant-card-name{font-weight:650;letter-spacing:-.01em}.plant-card-meta{font-size:.8rem;color:var(--text-muted)}.plant-card-go{margin-top:.35rem;font-size:.8rem;font-weight:600;color:var(--accent)}.chip{font-size:.66rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:.12rem .4rem;border-radius:5px}.chip-warn{background:var(--warn-bg);color:var(--warn)}.chip-muted{background:var(--surface-3);color:var(--text-muted)}.row-action{display:inline-block;font-size:.78rem;font-weight:600;padding:.1rem .45rem;border-radius:6px;background:var(--accent-soft);color:var(--accent)}.row-action:hover{text-decoration:none;background:var(--accent);color:var(--accent-text)}.kpi{position:relative;display:flex;flex-direction:column;gap:.2rem;padding:1rem 1.15rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-sm)}.kpi:before{content:"";position:absolute;left:1.15rem;top:0;width:2.2rem;height:3px;border-radius:0 0 3px 3px;background:var(--zinc-300)}.kpi-ok:before{background:var(--ok)}.kpi-accent:before{background:var(--accent)}.kpi-danger:before{background:var(--danger)}.kpi-label{font-size:.68rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--text-muted)}.kpi-value{font-size:1.9rem;font-weight:650;letter-spacing:-.035em;line-height:1.1}.kpi-unit{font-size:.45em;font-weight:500}.kpi-sub,.kpi-unit{color:var(--text-muted)}.kpi-sub{font-size:.78rem}.counter-label{font-size:.68rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--text-muted)}.counter-unit{font-size:.65em;font-weight:500;color:var(--text-muted)}.login{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);background:var(--bg)}.login-brand{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:2.5rem;padding:3rem 3.25rem;color:var(--zinc-50);background:radial-gradient(700px 480px at 110% -10%,color-mix(in oklab,var(--brand-accent-500) 45%,transparent),transparent 65%),radial-gradient(640px 520px at -20% 120%,color-mix(in oklab,var(--brand-primary-500) 55%,transparent),transparent 65%),var(--brand-primary-900)}.login-brand:after{content:"";position:absolute;inset:0;background-image:linear-gradient(115deg,transparent 0 48%,color-mix(in oklab,var(--zinc-50) 7%,transparent) 48% 48.4%,transparent 48.4% 100%);background-size:46px 46px;-webkit-mask-image:linear-gradient(180deg,transparent,#000 40%,#000 70%,transparent);mask-image:linear-gradient(180deg,transparent,#000 40%,#000 70%,transparent);pointer-events:none}.login-brand>*{position:relative;z-index:1}.login-mark{width:44px;height:44px;border-radius:13px;background:linear-gradient(145deg,var(--brand-accent-500),var(--brand-primary-600))}.login-eyebrow{color:var(--brand-accent-300)}.login-brand h1{margin:.6rem 0 .9rem;font-size:clamp(2.2rem,3.8vw,3.2rem);letter-spacing:-.035em;color:#ffffff}.login-brand-copy p{max-width:30rem;margin:0;font-size:1.05rem;line-height:1.6;color:var(--brand-primary-200)}.login-points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem;font-size:.92rem;color:var(--brand-primary-100)}.login-points li{display:flex;align-items:center;gap:.7rem}.login-points li:before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--brand-accent-400);box-shadow:0 0 0 4px color-mix(in oklab,var(--brand-accent-400) 22%,transparent)}.login-panel{display:grid;place-items:center;padding:2.5rem 1.5rem}.login-card{width:min(420px,100%);padding:2.25rem 2.1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-md);animation:rise .52s cubic-bezier(.2,.7,.2,1) both}.login-card h2{font-size:1.5rem;margin:0 0 .35rem}.login-card form{display:flex;flex-direction:column;gap:.9rem;margin-top:1.4rem}.login-submit{height:3rem;margin-top:.4rem;font-weight:600}@media (max-width:860px){.login{grid-template-columns:1fr}.login-brand{padding:2rem 1.5rem;gap:1.5rem}.login-points{display:none}}@media (prefers-reduced-motion:reduce){.login-card{animation:none}}