:root{
  --bg:#edf3f1;--bg-soft:#f5f8f7;--panel:#ffffff;--panel-2:#f7faf9;--line:#dce7e3;
  --text:#13211d;--muted:#73827d;--faint:#9ba9a4;--accent:#35b779;--accent-2:#159f68;
  --green:#35b779;--yellow:#e9b72d;--purple:#8b68d7;--orange:#ef8a38;--cyan:#2baec1;
  --red:#dc6672;--blue:#5489d8;--shadow:0 16px 44px rgba(39,75,64,.08);--shadow-soft:0 8px 24px rgba(39,75,64,.06);
  --radius:22px;--radius-sm:15px;--page:1380px;color-scheme:light;
}
:root[data-theme="dark"]{
  --bg:#0b1214;--bg-soft:#0f181b;--panel:#121d20;--panel-2:#162326;--line:#27373a;
  --text:#edf5f2;--muted:#91a39e;--faint:#61736e;--accent:#52d395;--accent-2:#36bd7e;
  --green:#52d395;--yellow:#f3c94c;--purple:#aa86ef;--orange:#ff9d50;--cyan:#4dc7d4;
  --red:#ff7d8d;--blue:#70a5ed;--shadow:0 18px 55px rgba(0,0,0,.24);--shadow-soft:0 8px 24px rgba(0,0,0,.18);color-scheme:dark;
}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:radial-gradient(circle at 8% 0%,color-mix(in srgb,var(--accent) 8%,transparent),transparent 28%),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;min-height:100vh}.page{max-width:var(--page);margin:0 auto;padding:24px 28px 64px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:4px 0 14px}.brand-lockup{display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;border-radius:14px;background:linear-gradient(145deg,var(--accent),var(--accent-2));display:grid;place-items:center;font-weight:900;color:#07150f;box-shadow:0 10px 28px color-mix(in srgb,var(--accent) 25%,transparent)}.brand-copy h1,.topbar h1{margin:0;font-size:clamp(27px,3vw,36px);letter-spacing:-.045em}.brand-copy p,.topbar p{margin:4px 0 0;color:var(--muted);font-size:13px}.top-actions{display:flex;align-items:flex-end;flex-direction:column;gap:9px}.nav{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.nav a,.theme-toggle{color:var(--muted);text-decoration:none;border:1px solid transparent;border-radius:11px;padding:8px 11px;font-size:13px;background:transparent;cursor:pointer;font:inherit}.nav a:hover,.nav a.active{color:var(--text);background:var(--panel);border-color:var(--line);box-shadow:var(--shadow-soft)}.theme-toggle{width:38px;display:inline-grid;place-items:center;border-color:var(--line);background:var(--panel);color:var(--text)}.nav-with-theme{display:flex;align-items:center;gap:6px}.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);margin-right:7px;box-shadow:0 0 0 4px color-mix(in srgb,var(--green) 12%,transparent)}.status{color:var(--muted);font-size:12px}.eyebrow{color:var(--accent-2);font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.cards{display:grid;gap:14px}.hero{grid-template-columns:repeat(5,minmax(0,1fr));margin:14px 0}.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.tomorrow{grid-template-columns:repeat(3,minmax(0,1fr))}.insight-four{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:14px}.card,.mini,.panel{background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 96%,var(--accent) 4%),var(--panel));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft)}.card,.mini{padding:18px}.card span,.mini span,.action span,.metric-label{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.075em;font-weight:700}.card strong,.mini strong,.action strong{display:block;font-size:clamp(23px,2.4vw,31px);line-height:1.08;margin-top:8px;letter-spacing:-.035em}.card small,.mini small{display:block;color:var(--muted);margin-top:6px;line-height:1.35}.panel{padding:20px;margin-top:16px}.panel-head,.action{display:flex;justify-content:space-between;align-items:center;gap:18px}.panel h2{margin:0;font-size:20px;letter-spacing:-.025em}.panel h3{margin:14px 0 8px;font-size:14px}.panel-head small{color:var(--muted);text-align:right}.badge{padding:6px 10px;border-radius:999px;background:color-mix(in srgb,var(--green) 11%,transparent);color:var(--green);border:1px solid color-mix(in srgb,var(--green) 30%,var(--line));font-size:12px}.dashboard-intro{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.75fr);gap:16px;margin-top:10px}.status-hero{min-height:178px;display:flex;flex-direction:column;justify-content:space-between;padding:24px}.status-hero h2{font-size:clamp(26px,4vw,43px);line-height:1.05;margin:8px 0 10px;letter-spacing:-.05em}.status-hero p{margin:0;color:var(--muted);max-width:760px;line-height:1.5}.status-chip{display:inline-flex;align-items:center;gap:7px;width:max-content;padding:7px 10px;border-radius:999px;background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));color:var(--accent-2);font-size:12px;font-weight:800}.weather-card{padding:22px;display:flex;flex-direction:column;justify-content:space-between;min-height:178px}.weather-main{display:flex;align-items:end;gap:12px}.weather-main strong{font-size:42px;letter-spacing:-.05em}.weather-icon{font-size:36px}.weather-meta{color:var(--muted);font-size:13px;line-height:1.5}.phase-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.phase-cell{border:1px solid var(--line);background:var(--panel-2);border-radius:15px;padding:13px 15px}.phase-cell span{display:block;color:var(--muted);font-size:11px;font-weight:800}.phase-cell strong{display:block;margin-top:4px;font-size:21px}.phase-cell small{display:block;margin-top:3px;color:var(--faint);font-size:11px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:16px}.dashboard-grid .panel{margin-top:16px}.span-2{grid-column:1/-1}.timeline-shell{position:relative;margin-top:18px;padding-top:30px}.timeline-axis{display:flex;justify-content:space-between;color:var(--faint);font-size:10px;margin:0 0 7px}.timeline-track{position:relative;height:74px;background:var(--panel-2);border:1px solid var(--line);border-radius:17px;overflow:hidden}.timeline-segment{position:absolute;top:9px;bottom:9px;border-radius:10px;min-width:2px;display:flex;align-items:center;justify-content:center;padding:0 8px;overflow:hidden;white-space:nowrap;color:#fff;font-size:11px;font-weight:800;text-shadow:0 1px 2px rgba(0,0,0,.2)}.timeline-segment.charge{background:var(--cyan)}.timeline-segment.discharge{background:var(--purple)}.timeline-segment.export{background:var(--orange)}.timeline-segment.hold{background:var(--blue)}.timeline-segment.self-use{background:var(--green)}.timeline-segment.curtail{background:var(--yellow);color:#4a3900;text-shadow:none}.now-marker{position:absolute;top:0;bottom:-6px;width:2px;background:var(--text);z-index:5;pointer-events:none}.now-marker::before{content:"Nu";position:absolute;top:-25px;left:50%;transform:translateX(-50%);background:var(--text);color:var(--panel);border-radius:7px;padding:3px 6px;font-size:10px;font-weight:800}.timeline-empty{display:grid;place-items:center;height:100%;color:var(--muted);font-size:13px}.timeline-legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px;color:var(--muted);font-size:11px}.legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:5px}.chart-panel canvas,#chart,#priceChart,#energyChart,#valueChart{width:100%;display:block}.chart-panel canvas,#priceChart,#energyChart{height:300px}.chart-wrap{position:relative;min-height:300px}.chart-wrap canvas{height:300px}.chart-foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:11px;margin-top:8px}.economic-stack{display:grid;gap:10px;margin-top:16px}.economic-row{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.economic-row:last-child{border-bottom:0}.economic-row span{color:var(--muted);font-size:13px}.economic-row strong{font-size:16px}.positive{color:var(--green)!important}.negative{color:var(--red)!important}.neutral{color:var(--text)!important}.quality-line{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:.9rem;margin-top:12px}.period-tabs{display:flex;gap:7px;flex-wrap:wrap}.period-tabs button{border:1px solid var(--line);background:var(--panel-2);color:var(--muted);border-radius:999px;padding:8px 14px;cursor:pointer}.period-tabs button.active{background:var(--text);color:var(--panel);border-color:var(--text)}.value-hero{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:14px;margin-top:16px}.value-main strong{font-size:2.35rem}.proof-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.proof-table{width:100%;border-collapse:collapse}.proof-table th,.proof-table td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:right;font-size:13px}.proof-table th:first-child,.proof-table td:first-child{text-align:left}.quarter-list{display:grid;gap:8px}.quarter-row{display:grid;grid-template-columns:90px 1.3fr repeat(3,minmax(90px,.7fr));gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2)}.quarter-row small{color:var(--muted)}.quality{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.75rem;background:var(--panel-2);border:1px solid var(--line)}.empty{color:var(--muted);padding:18px 0}#chart{height:420px;margin-top:12px}.legend{display:flex;gap:16px;flex-wrap:wrap;color:var(--muted);font-size:12px;margin-top:10px}.action p{margin:0;color:var(--text)}.error{color:var(--red);white-space:pre-wrap}.validation-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.insight-steps{margin-top:8px}.kv{border:1px solid var(--line);border-radius:13px;overflow:hidden;background:var(--panel-2)}.kv-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(140px,1fr);gap:12px;padding:9px 11px;border-bottom:1px solid var(--line);font:12px ui-monospace,SFMono-Regular,Consolas,monospace}.kv-row:last-child{border-bottom:0}.kv-row span:first-child{color:var(--muted)}.kv-row strong{font-weight:600;text-align:right;word-break:break-word}.warn{color:var(--yellow)}.ok{color:var(--green)}.hint-line{color:var(--muted);font-size:13px;line-height:1.5;margin:14px 0 0}details{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}summary{cursor:pointer;color:var(--muted);font-size:13px}.raw{overflow:auto;max-height:360px;background:var(--bg-soft);border:1px solid var(--line);border-radius:12px;padding:12px;font:11px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--text);white-space:pre-wrap}.overview-banner{margin-top:10px;padding:16px 18px;border-radius:16px;border:1px solid var(--line);background:var(--panel-2);color:var(--muted);font-size:13px}.overview-banner strong{color:var(--text)}
@media(max-width:1100px){.hero{grid-template-columns:repeat(3,1fr)}.value-hero{grid-template-columns:repeat(3,1fr)}.dashboard-grid{grid-template-columns:1fr}.dashboard-grid .span-2{grid-column:auto}}
@media(max-width:900px){.hero,.compact,.insight-four{grid-template-columns:repeat(2,1fr)}.tomorrow,.validation-grid,.proof-grid{grid-template-columns:1fr 1fr}.dashboard-intro{grid-template-columns:1fr}.value-hero{grid-template-columns:repeat(2,1fr)}.quarter-row{grid-template-columns:70px 1fr 1fr}.quarter-row .hide-mobile{display:none}}
@media(max-width:680px){.page{padding:14px 14px 48px}.topbar{align-items:flex-start;flex-direction:column;gap:12px}.top-actions{align-items:flex-start;width:100%}.nav-with-theme{width:100%}.nav{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;max-width:calc(100vw - 70px);padding-bottom:2px}.nav a{white-space:nowrap}.hero{grid-template-columns:repeat(2,minmax(0,1fr))}.hero .card:last-child{grid-column:1/-1}.compact,.tomorrow,.validation-grid,.insight-four,.proof-grid{grid-template-columns:1fr}.brand-copy h1,.topbar h1{font-size:28px}.card strong,.mini strong{font-size:24px}.phase-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.phase-cell{padding:10px 8px;text-align:center}.phase-cell strong{font-size:17px}.phase-cell small{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-hero,.weather-card{min-height:auto}.timeline-track{height:66px}.timeline-segment{font-size:9px;padding:0 4px}.chart-panel canvas,#priceChart,#energyChart{height:240px}#chart{height:320px}.action,.panel-head{align-items:flex-start;flex-direction:column}.panel-head small{text-align:left}.kv-row{grid-template-columns:1fr}.kv-row strong{text-align:left}.value-hero{grid-template-columns:1fr}.quarter-row{grid-template-columns:60px 1fr}.quarter-row .mobile-hide{display:none}}
