/* Shared display controls and today's compact energy panel. */
:root{--teal:#69c7d4;--chart-grid:#a4c0e325;--battery-track:#2b3d51;--daily-surface:#15243880}
.theme-toggle{font-size:14px;min-height:40px;white-space:nowrap;padding:8px 13px}
.login-theme{position:absolute;top:22px;right:22px}
/* Focused pages keep live status, historical analysis and planning distinct. */
body[data-view] #app>.section{display:none!important;margin-top:0}
body[data-view="explorer"] #app>#explorer,body[data-view="insights"] #app>#insights,body[data-view="optimization"] #app>#optimization,body[data-view="shadow"] #app>#shadow,body[data-view="costs"] #app>#costs,body[data-view="sources"] #app>#sources{display:block!important}
body[data-view]:not([data-view="overview"]) #app>:is(.hero-grid,.overview-suggestions){display:none!important}
#explorer[data-period="day"]>.period-metrics{display:none}
.analytics-chart-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:24px 0 0;padding:5px;border:1px solid var(--line);border-radius:14px;width:fit-content;background:var(--daily-surface)}
.analytics-chart-tabs button{font-size:14px;border:0;background:transparent;padding:10px 19px;color:var(--muted)}
.analytics-chart-tabs button[aria-pressed="true"]{background:var(--card);color:var(--text);box-shadow:0 2px 9px #19325312}
.analytics-details{margin-top:16px;padding:20px 24px}
.analytics-details>summary{font-size:16px;font-weight:500;cursor:pointer;line-height:1.6}
.analytics-details>summary>span{display:block;margin-left:19px;font-size:13px;font-weight:400;color:var(--muted)}
.analytics-details>div>.timeline-card{border:0;background:none;box-shadow:none;padding:0;margin-top:20px}
.selection-details{margin-top:12px;color:var(--muted);font-size:13px}
.selection-details summary{cursor:pointer;line-height:1.6}
.log-interval-label{font-size:13px;color:var(--muted);padding:7px 9px;align-self:center}
.window-workspace .window-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
.window-workspace .window-metric{padding:16px}
.window-workspace .window-metric strong{font-size:27px}
.window-workspace .window-breakdown{display:grid;grid-template-columns:1fr 1fr;font-size:13px}
#charts>.window-cursor{position:static;box-shadow:none;font-size:13px;min-height:70px}
.timeline-card>.smallprint{margin-bottom:0}
@media(max-width:650px){.window-workspace .window-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.window-workspace .window-breakdown{grid-template-columns:1fr}.analytics-chart-tabs{width:100%;gap:3px}.analytics-chart-tabs button{flex:1;padding:9px;font-size:13px}.analytics-details{padding:18px}.window-workspace .window-metric strong{font-size:23px}}
.hero-grid{align-items:start;grid-template-columns:minmax(0,1.7fr) minmax(345px,1fr)}
.battery-card{padding:24px;display:block}
.battery-top h3{margin:0}.battery-ring{width:150px;height:150px;margin:20px auto 14px;background:conic-gradient(from 220deg,var(--mint) calc(var(--soc)*.8%),var(--battery-track) 0 80%,transparent 0)}
.battery-stats{display:flex;flex-direction:row;gap:12px}.battery-stats span{font-size:13px}
.reserve-note{font-size:13px;padding-top:12px;margin-top:14px;gap:12px;flex-wrap:wrap}
.today-summary{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}
.today-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.today-heading h3{margin:0;font-size:16px}.today-heading>span{font-size:12px;color:var(--muted)}
.today-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.today-metric{min-width:0;padding:14px 13px;border:1px solid var(--line);border-radius:14px;background:var(--daily-surface)}
.today-metric>span{display:block;font-size:14px;color:var(--muted);line-height:1.4}
.today-metric>strong{display:block;font-size:25px;line-height:1.3;font-weight:500;letter-spacing:-.8px;margin:7px 0 4px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.today-metric>strong small{font-size:13px;color:var(--muted);letter-spacing:0;font-weight:400}
.today-metric>small{font-size:12px;color:var(--muted);line-height:1.5;display:block}
.today-peak{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 15px}
.today-peak>strong{grid-column:2;grid-row:1/3;margin:0}.today-peak>small{grid-column:1}
.today-footnote{font-size:12px;line-height:1.6;color:var(--muted);margin-top:13px}
.today-method{margin-top:10px;color:var(--muted);font-size:12px;line-height:1.65}
.today-method summary{font-size:13px;cursor:pointer}.today-method p{margin:10px 0 0}

/* Pearl glass, cool gradients and darker chart inks for the light version. */
:root[data-theme="light"]{color-scheme:light;--bg:#f3f7fb;--card:#ffffffc9;--text:#192a40;--muted:#586b80;--line:#526d9029;--mint:#08785e;--blue:#245cc3;--purple:#7050b4;--gold:#94620c;--pink:#b23767;--teal:#087b86;--chart-grid:#5e769b29;--battery-track:#dde7ee;--daily-surface:#f6f9fcd9}
:root[data-theme="light"] body{background:radial-gradient(ellipse at 90% 0%,#d6e5ff99,transparent 46%),radial-gradient(ellipse at 30% 38%,#dcf5ee99,transparent 42%),var(--bg)}
:root[data-theme="light"] .sidebar{background:#f9fcffd9;border-color:#526d9020}
:root[data-theme="light"] .card{background:linear-gradient(135deg,#ffffffed,#f9fcffd4);box-shadow:0 12px 36px #304d7410,0 1px 2px #304d7407}
:root[data-theme="light"] :is(button,input,select){background:#ffffffbd}
:root[data-theme="light"] :is(button,select):hover{background:#e9f2f7;border-color:#8dbab2}
:root[data-theme="light"] nav a:is(:hover,.active){background:#e3f1ed;color:var(--mint)}
:root[data-theme="light"] .brandmark{border-color:#63a89466;box-shadow:inset 0 0 18px #5cb39c14}
:root[data-theme="light"] :is(.side-bottom,.side-bottom small,footer,.flow-caption){color:var(--muted)}
:root[data-theme="light"] .pill{background:#ecf7f2;border-color:#9bcabb77}
:root[data-theme="light"] .battery-ring:before{background:#fafdfd;box-shadow:inset 0 0 28px #8bcabb13}
:root[data-theme="light"] :is(.segmented,.opt-band-track){background:#eaf0f5}
:root[data-theme="light"] .segmented button{background:transparent}
:root[data-theme="light"] .segmented button.active{background:#fff;box-shadow:0 2px 7px #1f416f10}
:root[data-theme="light"] :is(.chart-tip,.window-metric,.rate-window,.shadow-plan,.opt-calc-result){background:#f3f8fcc9;border-color:var(--line)}
:root[data-theme="light"] :is(.overview-suggestions,.shadow-state,.battery-timeline,.opt-earning){background:linear-gradient(120deg,#e8f5f0c9,#eaf1ffd9);border-color:var(--line)}
:root[data-theme="light"] .shadow-focus{background:radial-gradient(ellipse at top right,#f6e4b663,transparent 70%),#ffffffcc}
:root[data-theme="light"] .shadow-plan.grid_charge{background:#f1edf8b3;border-color:#7050b433}
:root[data-theme="light"] :is(.window-breakdown b,.window-cursor>b,.timeline-legend button,.rate-columns h4){color:var(--text)}
:root[data-theme="light"] .timeline-legend .off{color:#718198}
:root[data-theme="light"] #charts>.window-cursor{background:#fffffff2;border-color:#849eb755;box-shadow:0 10px 30px #24416212}
:root[data-theme="light"] th{background:#eaf1f7;color:var(--muted)}
:root[data-theme="light"] tr:hover td{background:#eaf2f84d}
:root[data-theme="light"] .notice{background:#fcf6e7;color:#785610;border-color:#d2af602f}
:root[data-theme="light"] :is(.chart-label,.timeline-label){fill:var(--muted)}
:root[data-theme="light"] .timeline-svg [stroke="#8cdbff"]{stroke:#08739f}
:root[data-theme="light"] .timeline-svg [fill="#8cdbff"]{fill:#08739f}
:root[data-theme="light"] .timeline-svg [stroke="#b6ceff"]{stroke:#4d60ac}
:root[data-theme="light"] .timeline-svg [fill="#b6ceff"]{fill:#4d60ac}
:root[data-theme="light"] :is(.chart-wrap,.timeline-svg) line:is([stroke="#a4c0e315"],[stroke="#b9d7f321"]){stroke:var(--chart-grid)}
:root[data-theme="light"] :is(.crosshair,.time-cursor){stroke:#354f70}
:root[data-theme="light"] .selection-window{fill:#285fc30b;stroke:#285fc3}
:root[data-theme="light"] :is(.selection-left,.selection-right){fill:#e4ebf59c}
:root[data-theme="light"] .day-bar{background:#7eaae6}
:root[data-theme="light"] .day-bar:is(:hover,.active){background:var(--mint)}
:root[data-theme="light"] .login-page .login-card{background:linear-gradient(130deg,#ffffffed,#edf7f9e8)}
:root[data-theme="light"] .login-card button{background:var(--mint);color:white}
/* Preserve the existing night-time house artwork within its own dark viewport. */
:root[data-theme="light"] .house-stage{--mint:#77efcf;--blue:#86b8ff;--purple:#b2a2ff;--gold:#f5cd79;--muted:#b2c1d3;--text:#f0f5fd;background:#111b2c;border-radius:18px;overflow:hidden}
:root[data-theme="light"] .house-stage .hotspot{background:#152235e8;border-color:#bddbfa55;box-shadow:0 8px 18px #0002}
:root[data-theme="light"] .house-stage .hotspot.selected{border-color:currentColor}
:root[data-theme="light"] .house-stage .hotspot:hover{background:#253a50}
:root[data-theme="light"] .house-stage .inverter-device{background:transparent}
:root[data-theme="light"] .house-card{padding-bottom:3px}

@media(max-width:1200px){.hero-grid{grid-template-columns:minmax(0,1.4fr) minmax(320px,1fr)}.battery-card{padding:20px}.today-metric{padding:12px}.today-metric>strong{font-size:23px}}
@media(max-width:1000px){.hero-grid{grid-template-columns:1fr}.battery-card{display:block}.today-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.today-peak{grid-column:span 2}.battery-ring{margin:18px auto}.battery-stats{justify-content:center;gap:50px}}
@media(max-width:650px){.today-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.today-peak{grid-column:1/-1}.battery-card{padding:20px}.header-right{flex-wrap:wrap;justify-content:flex-end}.header-right>.pill{display:none}.theme-toggle{font-size:13px;min-height:36px;padding:7px 10px}.battery-ring{width:150px;height:150px}.today-heading>span{font-size:12px}}
@media(max-width:380px){header{gap:12px}h1{font-size:22px}.header-right{gap:5px}.theme-toggle{padding:7px}.today-metric>strong{font-size:22px}.today-metric>span{font-size:14px}}
