/* 21Dynamics – ESP-only energy balance. Existing login and device controls stay intact. */
.energy-statistics-view { --energy-panel:#111c27; --energy-line:#263746; --energy-muted:#9bb0c2; color-scheme:dark; font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
.energy-statistics-view .dynamics-main { padding:20px 28px 40px; }
.energy-statistics-view .dynamics-header { min-height:64px; grid-template-columns:minmax(0,1fr) auto auto; }
.energy-statistics-view .dynamics-intranet-nav { display:flex; margin:0 0 12px; padding-top:8px; }
.energy-statistics-view .dynamics-intranet-nav a { display:inline-flex; align-items:center; gap:10px; min-height:44px; max-width:100%; box-sizing:border-box; padding:9px 16px; border:1px solid #354b5c; border-radius:12px; background:#142331; color:#dcecf8; font-size:14px; font-weight:700; line-height:1.4; text-decoration:none; }
.energy-statistics-view .dynamics-intranet-nav a:hover { background:#20394c; border-color:#6594b5; }
.energy-statistics-view .dynamics-intranet-nav a:focus-visible { outline:3px solid #8bd3ff; outline-offset:3px; }
.energy-statistics-view .dynamics-header h2 { font-size:22px; letter-spacing:-.6px; }
.energy-statistics-view .dynamics-header small { font-size:11px; }
.energy-statistics-view .dynamics-tabs { margin:16px 0 28px; padding:4px; background:#0d1720; border-color:var(--energy-line); }
.energy-statistics-view .dynamics-tabs button { min-height:44px; padding:10px 20px; font-size:14px; font-weight:650; }
.energy-statistics-view .dynamics-screen[data-dynamics-screen=analysis] { animation:none; }
.energy-statistics-view .dynamics-analysis-hero { padding:0; margin:0 0 22px; border:0; background:none!important; box-shadow:none; }
.energy-statistics-view .dynamics-analysis-hero>header { align-items:center; padding:0; margin-bottom:20px; }
.energy-statistics-view .dynamics-analysis-hero h2 { font-size:clamp(26px,2.5vw,36px); line-height:1.2; letter-spacing:-1px; margin:0; }
.energy-statistics-view .dynamics-analysis-hero .energy-overline { margin:0 0 6px; color:#829eaf; font-size:11px; font-weight:750; letter-spacing:.16em; }
.energy-statistics-view #dynamicsAnalysisQuality { font-size:12px; font-weight:550; color:#aad5c7; padding:8px 12px; border:1px solid #2a4c45; background:#112720; text-transform:none; }
.energy-statistics-view .dynamics-analysis-hero .energy-statistics-controls { display:flex; align-items:center; flex-wrap:wrap; gap:12px; padding:0!important; margin:0!important; border:0!important; background:none!important; box-shadow:none!important; overflow:visible!important; }
.energy-statistics-view .energy-range-buttons { display:flex; flex:1 1 520px; gap:4px; padding:4px; min-width:0; width:auto; background:#101a24; border:1px solid var(--energy-line); border-radius:12px; overflow-x:auto; }
.energy-statistics-view .energy-range-buttons button { flex:1 0 auto; font-size:13px; font-weight:600; min-height:40px; padding:8px 13px; border:0!important; color:#a9bbcc; background:transparent!important; border-radius:8px; }
.energy-statistics-view .energy-range-buttons button.active { color:#08131c!important; background:#d3e7f5!important; box-shadow:none; }
.energy-statistics-view .energy-date-navigation { gap:6px; width:auto; }
.energy-date-picker { color:#b7c9d8; font-size:13px; }.energy-date-picker>summary { padding:12px 15px; border:1px solid var(--energy-line); border-radius:10px; background:#101a24; cursor:pointer; }.energy-date-picker[open] { flex:1 1 100%; }.energy-date-picker[open]>.energy-date-navigation { display:grid!important; grid-template-columns:38px 1fr 1fr 38px; gap:8px; margin-top:10px; max-width:480px; }.energy-date-picker[open]>.energy-date-navigation input { width:100%; }
.energy-statistics-view .energy-date-navigation label span { font-size:11px; }
.energy-statistics-view .energy-date-navigation input { color-scheme:dark; font:inherit; font-size:12px!important; width:130px; min-height:40px; padding:7px 9px; border:1px solid var(--energy-line); background:#101a24!important; color:#dce5ee!important; }
.energy-statistics-view .energy-date-navigation button { min-height:40px; min-width:38px; font-size:14px; background:#101a24!important; }
.energy-statistics-view .energy-period-caption { margin:12px 0 0; font-size:13px; color:#9bb0c2; }
.energy-statistics-view #energyStatisticsKpis { display:grid; grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:14px; margin:0 0 20px; }
.energy-statistics-view .energy-primary-kpi { display:block; min-width:0; padding:22px 24px; border:1px solid var(--energy-line); border-radius:16px; background:var(--energy-panel); }
.energy-primary-kpi>div { display:flex; align-items:center; gap:9px; }
.energy-statistics-view .energy-primary-kpi h3 { margin:0; font-size:14px; font-weight:550; color:#c4d3e0; }
.energy-primary-kpi .energy-kpi-icon { display:grid; place-items:center; width:28px; height:28px; border-radius:8px; background:#152b40; color:#60aaff; font-size:18px; }
.energy-primary-kpi.pv .energy-kpi-icon { color:#41d69a; background:#14302b; }.energy-primary-kpi.export .energy-kpi-icon { color:#efbf58; background:#302c20; }
.energy-primary-kpi.battery .energy-kpi-icon { color:#ad89ff;background:#29223f; }.energy-primary-kpi.autarky .energy-kpi-icon { color:#41d69a;background:#14302b; }.energy-primary-kpi.site .energy-kpi-icon { color:#e1f1ff; }
.energy-statistics-view .energy-primary-kpi.autarky>strong { color:#66e7ac; }
.energy-overview-options { display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:10px; }.energy-overview-options .energy-period-caption { margin:0; }.energy-export-option { display:flex;align-items:center;gap:8px;font-size:14px;color:#b8cddd;min-height:44px;cursor:pointer; }.energy-export-option input { accent-color:#efbf58;width:18px;height:18px; }
.energy-data-notice { margin:12px 0 0;padding:12px 15px;border-left:3px solid #d9ad5f;background:#242319;color:#dec898;font-size:13px;line-height:1.5; }
[data-energy-series=pvDirectKwh] { --series-color:#41d69a; }[data-energy-series=batteryToLoadKwh] { --series-color:#ad89ff; }[data-energy-series=gridToLoadKwh] { --series-color:#60aaff; }
.energy-statistics-view .energy-consumption-sources { margin-top:18px;border:1px solid var(--energy-line);border-radius:18px;background:#111c27!important;box-shadow:none; }
.energy-statistics-view .energy-consumption-sources>header { padding:20px 22px 0;border:0; }.energy-statistics-view .energy-consumption-sources h3 { font-size:19px; }
.energy-statistics-view .energy-consumption-sources .energy-source-visual { padding:20px 22px;display:flex;align-items:center;gap:24px;flex-wrap:wrap; }
.energy-consumption-sources .energy-source-donut { width:160px;height:160px;flex:none; }
/* Keep each value inside its own labelled tile, never beside the next source. */
.energy-statistics-view .energy-consumption-sources .energy-source-legend { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;flex:1 1 520px;min-width:0;max-width:none;width:auto; }
.energy-statistics-view .energy-consumption-sources .energy-source-legend>span { display:grid;grid-template-columns:8px minmax(0,1fr);grid-template-rows:auto 1fr;align-items:start;align-content:start;column-gap:9px;row-gap:8px;min-width:0;padding:16px;border:1px solid #263746;border-radius:12px;background:#0d1721; }
.energy-statistics-view .energy-consumption-sources .energy-source-legend i { grid-column:1;grid-row:1;margin-top:6px; }
.energy-statistics-view .energy-consumption-sources .energy-source-legend b { grid-column:2;grid-row:1;min-width:0;font-size:14px;line-height:1.4;overflow-wrap:anywhere; }
.energy-statistics-view .energy-consumption-sources .energy-source-legend strong { grid-column:2;grid-row:2;justify-self:start;min-width:0;margin:0;font-size:24px;line-height:1.25;overflow-wrap:anywhere; }
.energy-consumption-sources .energy-chart-data-note { flex-basis:100%; }
.energy-statistics-view .energy-consumption-sources .energy-source-legend small { grid-column:2;grid-row:3;color:#aab9c6;font-size:12px;line-height:1.4; }
.energy-statistics-view .energy-primary-kpi>strong { display:block; color:#f4f8fc; margin:14px 0 7px; font-size:clamp(25px,2.5vw,34px); line-height:1.1; font-weight:700; letter-spacing:-.9px; font-variant-numeric:tabular-nums; }
.energy-primary-kpi>p { margin:0; font-size:12px; color:#92a9bb; }
.energy-statistics-view .energy-statistics-analysis-grid { display:grid; grid-template-columns:minmax(0,1fr) 330px!important; gap:18px!important; align-items:start; }
.energy-statistics-view .energy-statistics-chart-card { min-width:0; border:1px solid var(--energy-line); border-radius:18px; background:var(--energy-panel)!important; box-shadow:none; }
.energy-statistics-view .energy-statistics-chart-card>header { align-items:center; flex-wrap:wrap; padding:22px 22px 14px; border:0; gap:16px; }
.energy-statistics-view .energy-statistics-chart-card h3 { font-size:19px; letter-spacing:-.4px; margin:0 0 7px; }
.energy-statistics-view #energyStatisticsChartSubtitle { color:#9bb0c2; font-size:12px; }
.energy-chart-switch { display:flex; padding:4px; border:1px solid #2c4153; border-radius:10px; background:#0c1620; }
.energy-chart-switch button { min-height:36px; padding:7px 13px; border:0; border-radius:7px; background:transparent; color:#9bb0c2; font:inherit; font-size:13px; font-weight:600; cursor:pointer; }
.energy-chart-switch button[aria-pressed=true] { color:#f3f7fb; background:#29465d; }
.energy-statistics-view .energy-stat-chart-legend { display:flex; flex-wrap:wrap; justify-content:flex-start; max-width:none; gap:12px 22px; padding:4px 22px 14px; }
.energy-statistics-view .energy-stat-chart-legend span { font-size:12px; color:#c0d0dd; }
[data-energy-series=siteConsumptionKwh] { --series-color:#f2be62; }[data-energy-series=gridImportKwh] { --series-color:#60aaff; }[data-energy-series=pvGenerationKwh] { --series-color:#20a36b; }[data-energy-series=gridExportKwh] { --series-color:#efbf58; }[data-energy-series=batteryChargeKwh] { --series-color:#ad89ff; }[data-energy-series=batteryDischargeKwh] { --series-color:#42d9d1; }
.energy-statistics-view .energy-stat-chart-legend span:before { content:""; display:inline-block; flex:0 0 12px; background:var(--series-color); width:12px; height:12px; border-radius:3px; }
.energy-statistics-view .energy-statistics-chart-scroll { min-height:0!important; overflow:auto!important; }
.energy-statistics-view .energy-statistics-chart { min-height:0!important; overflow:visible!important; background:transparent!important; }
.energy-statistics-view #energyStatisticsChart>svg { display:block; min-width:0!important; height:340px!important; max-width:none!important; }
.energy-statistics-view .energy-stat-grid text,.energy-statistics-view .energy-chart-date { font-family:inherit; font-size:12px; font-weight:450; fill:#93aabd; }
.energy-statistics-view .energy-stat-grid .energy-axis-tick { font-size:14px; font-weight:500; fill:#b8ccdc; font-variant-numeric:tabular-nums; }
.energy-statistics-view .energy-stat-grid line { stroke:#273949; stroke-width:1; }
.energy-point-marker { opacity:0; pointer-events:none; }.energy-point-hit { cursor:pointer; }
[data-energy-point].selected .energy-point-marker,[data-energy-point]:focus .energy-point-marker { opacity:.55; }
[data-energy-point]:hover .energy-point-hit { fill:#b1d7f0; fill-opacity:.05; }
.energy-statistics-view .energy-chart-data-note { font-size:12px; padding:10px 22px 15px; color:#8ea7bb; }
.energy-chart-readout { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:18px; padding:18px 22px; border-top:1px solid var(--energy-line); background:#0c1620; }
.energy-readout-time strong { display:block; font-size:14px; color:#e3edf5; }.energy-readout-time span { display:block; margin-top:5px; font-size:12px; color:#829dae; }
.energy-chart-readout dl { display:flex; flex-wrap:wrap; gap:20px; margin:0; }.energy-chart-readout dt { font-size:12px; color:var(--series-color); }.energy-chart-readout dd { margin:6px 0 0; color:#edf6fc; font-size:16px; font-weight:650; }
.energy-statistics-view .energy-analysis-sidebar { display:block; }.energy-statistics-view .energy-analysis-battery { border-radius:18px; background:linear-gradient(155deg,#1a2034,#101b27); box-shadow:none; }
.energy-statistics-view .energy-analysis-battery>header { padding:22px 20px 0; }.energy-statistics-view .energy-analysis-battery h3 { font-size:20px; }.energy-statistics-view .energy-analysis-battery .eyebrow { font-size:11px; }
.energy-statistics-view #analysisStorageState { font-size:12px; }.energy-statistics-view .analysis-storage-now { padding:18px 12px; }
.energy-statistics-view .analysis-storage-now small { font-size:10px; }.energy-statistics-view .analysis-storage-now h4 { font-size:14px; }.energy-statistics-view .analysis-storage-now strong { font-size:25px; }.energy-statistics-view .analysis-storage-now p { font-size:12px; }
.energy-statistics-view .analysis-storage-metrics dt { font-size:12px; }.energy-statistics-view .analysis-storage-metrics dd { font-size:17px; }.energy-statistics-view .analysis-storage-stamp { font-size:11px; line-height:1.5; margin:15px 0; }
.energy-statistics-view #analysisStoragePeriod { padding:18px 20px; }.energy-statistics-view #analysisStoragePeriod h4 { font-size:13px; }.energy-statistics-view .analysis-storage-totals span { font-size:12px; }.energy-statistics-view .analysis-storage-totals strong { font-size:18px; }.energy-statistics-view #analysisStoragePeriod p { font-size:12px; line-height:1.5; }
.energy-storage-chart-link { margin-top:8px; min-height:40px; padding:0; border:0; background:none; color:#c5afff; font:inherit; font-size:13px; cursor:pointer; }
.energy-analysis-details { margin-top:18px; border:1px solid var(--energy-line); border-radius:14px; background:#0e1923; }
.energy-analysis-details>summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:17px 20px; cursor:pointer; font-size:14px; color:#d3e2ed; list-style:none; }
.energy-analysis-details>summary:after { content:'+'; color:#9ab0c2; font-size:20px; }.energy-analysis-details[open]>summary:after { content:'−'; }.energy-analysis-details summary small { margin-left:auto; color:#93aabb; font-size:12px; }
.energy-analysis-details-body { padding:0 20px 20px; border-top:1px solid var(--energy-line); }
.energy-statistics-view .energy-analysis-details .energy-statistics-status { font-size:13px; line-height:1.6; padding:15px 0; margin:0; color:#9bb0c2; }
.energy-secondary-kpis>p { font-size:14px; color:#bdcdda; line-height:1.6; }.energy-secondary-kpis dl { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }.energy-secondary-kpis dt { font-size:13px; color:#9ab0c2; }.energy-secondary-kpis dd { margin:6px 0; color:#e7f0f7; font-size:18px; }
.energy-statistics-view .energy-analysis-details .energy-source-card { border:0; border-radius:0; box-shadow:none; background:none!important; }.energy-analysis-details .energy-source-card>header { padding-left:0; }.energy-analysis-details .energy-source-card h3 { font-size:16px; }.energy-analysis-details .energy-source-visual { display:flex; flex-wrap:wrap; align-items:center; gap:24px; padding:18px 0; }.energy-analysis-details .energy-source-legend { min-width:260px; flex:1; }.energy-analysis-details .energy-source-legend b,.energy-analysis-details .energy-source-legend strong { font-size:13px; }
.energy-detail-actions { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-top:20px; }.energy-detail-actions label,.energy-detail-actions button { font-size:13px; }.energy-detail-actions button,.energy-detail-actions select { min-height:40px; }
.energy-statistics-view button:focus-visible,.energy-analysis-details>summary:focus-visible { outline:2px solid #93ceff; outline-offset:3px; }
@media(min-width:1700px){.energy-statistics-view .dynamics-main{max-width:1800px;margin:auto;width:100%}.energy-statistics-view .energy-statistics-analysis-grid{grid-template-columns:minmax(0,1fr) 380px!important}.energy-statistics-view #energyStatisticsChart>svg{height:400px!important}}
@media(max-width:1100px){.energy-statistics-view .energy-statistics-analysis-grid{grid-template-columns:minmax(0,1fr)!important}.energy-statistics-view .energy-analysis-sidebar{grid-row:1}.energy-statistics-view .energy-analysis-battery{display:grid;grid-template-columns:1fr 1fr}.energy-analysis-battery>header{grid-column:1/-1}.energy-statistics-view #analysisStoragePeriod{margin:12px 0 0;border-top:0;border-left:1px solid #2c394b}.energy-statistics-view .energy-date-navigation{margin-left:auto}}
@media(max-width:620px){
 .energy-statistics-view .dynamics-main{padding:12px 14px 100px!important}.energy-statistics-view .dynamics-analysis-hero>header{display:flex;align-items:center;gap:10px;margin-bottom:16px}.energy-statistics-view .dynamics-analysis-hero h2{font-size:27px}.energy-statistics-view #dynamicsAnalysisQuality{font-size:11px;max-width:115px;text-align:center;line-height:1.4}.energy-statistics-view .energy-overline{display:none}
 .energy-statistics-view .energy-range-buttons{flex-basis:100%;padding:4px}.energy-statistics-view .energy-range-buttons button{flex:0 0 auto;min-height:40px;font-size:13px}.energy-statistics-view .energy-period-caption{font-size:12px}.energy-date-picker>summary{padding:8px 12px}.energy-date-picker[open]>.energy-date-navigation{display:grid!important;grid-template-columns:38px minmax(0,1fr) 38px!important}
 .energy-statistics-view #energyStatisticsKpis{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px;margin-bottom:14px}.energy-statistics-view .energy-primary-kpi{padding:13px 10px;border-radius:12px}.energy-primary-kpi>div{display:block}.energy-primary-kpi .energy-kpi-icon{width:24px;height:24px;font-size:16px;margin-bottom:8px}.energy-statistics-view .energy-primary-kpi h3{font-size:12px;line-height:1.4;min-height:34px}.energy-statistics-view .energy-primary-kpi>strong{font-size:19px;letter-spacing:-.6px;line-height:1.4;margin:5px 0 0;overflow-wrap:anywhere}.energy-primary-kpi>p{display:none}
 .energy-statistics-view .energy-analysis-battery{grid-template-columns:1fr 1fr;border-radius:14px}.energy-statistics-view .energy-analysis-battery>header{padding:15px 15px 0}.energy-statistics-view .energy-analysis-battery h3{font-size:17px}.energy-statistics-view .energy-analysis-battery .eyebrow{display:none}.energy-statistics-view .analysis-storage-now{grid-template-columns:90px 1fr;padding:10px 8px;gap:3px;grid-column:1/-1}.energy-statistics-view #analysisStorageLive{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;align-items:center}.analysis-storage-now .marstek-soc-svg{width:90px}.energy-statistics-view .analysis-storage-now>div>small,.energy-statistics-view .analysis-storage-now>div>p{display:none}.energy-statistics-view .analysis-storage-now h4{font-size:12px;margin:5px 0}.energy-statistics-view .analysis-storage-now strong{font-size:20px}.energy-statistics-view .analysis-storage-metrics{grid-template-columns:1fr;padding:0 15px;gap:8px}.energy-statistics-view .analysis-storage-metrics dt{font-size:11px}.energy-statistics-view .analysis-storage-metrics dd{font-size:14px;margin-top:2px}.energy-statistics-view .analysis-storage-stamp{grid-column:1/-1;margin:0 0 10px;font-size:10px}.energy-statistics-view #analysisStoragePeriod{grid-column:1/-1;margin:0;padding:12px 15px;border:0;border-top:1px solid #2c394b}.energy-statistics-view #analysisStoragePeriod h4{font-size:12px;margin-bottom:10px}.energy-statistics-view .analysis-storage-totals strong{font-size:17px}.energy-statistics-view #analysisStoragePeriod p{font-size:11px;margin-bottom:0}.energy-storage-chart-link{font-size:12px;margin-top:3px;min-height:36px}
 .energy-statistics-view .energy-statistics-chart-card>header{padding:17px 15px 10px;display:grid;gap:14px}.energy-statistics-view .energy-statistics-chart-card h3{font-size:18px}.energy-chart-switch{justify-self:start}.energy-chart-switch button{min-height:38px}.energy-statistics-view .energy-stat-chart-legend{padding:5px 15px 12px;gap:14px}.energy-statistics-view .energy-stat-chart-legend span{font-size:11px}.energy-statistics-view #energyStatisticsChart>svg{height:280px!important}.energy-statistics-view .energy-chart-data-note{padding:8px 15px 14px;font-size:11px}.energy-chart-readout{padding:15px;gap:13px}.energy-chart-readout dl{width:100%;justify-content:space-between;gap:8px}.energy-chart-readout dd{font-size:14px}.energy-chart-readout dt{font-size:11px}.energy-analysis-details>summary{padding:15px;font-size:13px}.energy-analysis-details>summary small{display:none}.energy-analysis-details-body{padding:0 15px 15px}.energy-secondary-kpis dl{grid-template-columns:1fr 1fr}.energy-detail-actions{display:grid}
 .energy-statistics-view #analysisStorageLive>.analysis-storage-now{grid-column:auto}
 .energy-statistics-view #energyStatisticsKpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}.energy-statistics-view .energy-primary-kpi{padding:14px}.energy-statistics-view .energy-primary-kpi h3{font-size:14px;min-height:39px}.energy-statistics-view .energy-primary-kpi>strong{font-size:24px}.energy-statistics-view .energy-primary-kpi>p{display:block;font-size:12px;line-height:1.4;margin-top:5px;min-height:34px}.energy-statistics-view .energy-chart-readout dl{display:grid;grid-template-columns:1fr 1fr;gap:16px}.energy-statistics-view .energy-consumption-sources .energy-source-visual{display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;gap:16px;padding:16px}.energy-statistics-view .energy-consumption-sources .energy-source-legend{width:100%;grid-template-columns:minmax(0,1fr);gap:10px}.energy-statistics-view .energy-consumption-sources .energy-source-legend>span{padding:14px}.energy-statistics-view .energy-consumption-sources .energy-source-legend strong{font-size:22px}.energy-overview-options{gap:0}.energy-statistics-view .energy-consumption-sources>header{padding:17px 15px 0}
}
/* Portal overview: one small card, today and now use the same ESP32-only data. */
#dashboardLiveGrid{align-items:start}
#dashboardEnergyCard.dashboard-dynamics-card{grid-column:auto!important;align-self:start;min-height:0;min-width:0;background:#0d1821!important;color:#e7f0f7;border:1px solid #293e4c;border-radius:20px;overflow:hidden;cursor:default}
#dashboardEnergyCard.dashboard-dynamics-card::after{content:none}
#dashboardEnergyCard.dashboard-dynamics-card:hover{transform:none;box-shadow:0 12px 30px #0b172114}
#dashboardEnergyCard.dashboard-dynamics-card.has-error>footer{opacity:1}
#dashboardEnergyCard.dashboard-dynamics-card>header{display:flex;align-items:center;justify-content:space-between;gap:10px;background:linear-gradient(115deg,#122731,#0c2722);padding:14px 16px;border-bottom:1px solid #293e4c}
#dashboardEnergyCard.dashboard-dynamics-card h2{color:#eaf8ff;font-size:17px;line-height:1.3;margin:0;letter-spacing:-.3px}
#dashboardEnergyCard.dashboard-dynamics-card small{color:#a8bdca;font-size:12px;line-height:1.45}
#dashboardEnergyCard.dashboard-dynamics-card .live-state{background:#15382d;color:#6ee0aa;border-color:#2b5246;font-size:11px;flex-shrink:0;padding:5px 8px}
#dashboardEnergyCard.dashboard-dynamics-card .live-state.offline{background:#392f19;color:#edd39b;border-color:#665432}
#dashboardEnergyCard .dashboard-dynamics-today{padding:14px 16px}
#dashboardEnergyCard .dashboard-dynamics-total{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 10px;margin-bottom:12px}
#dashboardEnergyCard .dashboard-dynamics-total>span{font-size:13px;color:#b9cad5}
#dashboardEnergyCard .dashboard-dynamics-total>strong{font-size:25px;color:#f4f8fb;letter-spacing:-.5px;font-variant-numeric:tabular-nums}
#dashboardEnergyCard #dashboardDynamicsKpis{display:grid;grid-template-columns:1.2fr 1fr;gap:12px;margin:0}
#dashboardEnergyCard #dashboardDynamicsKpis>div{min-width:0}
#dashboardEnergyCard #dashboardDynamicsKpis dt{font-size:12px;line-height:1.5;color:#b8c9d5}
#dashboardEnergyCard #dashboardDynamicsKpis dd{font-size:20px;line-height:1.45;font-weight:750;margin:2px 0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
#dashboardEnergyCard #dashboardDynamicsKpis small{display:block;font-size:11px}
#dashboardEnergyCard .pv strong,#dashboardEnergyCard .pv dd{color:#45d7a0}
#dashboardEnergyCard .grid strong,#dashboardEnergyCard .grid dd{color:#77b8ff}
#dashboardEnergyCard .dashboard-dynamics-live{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 16px;padding:12px 0;border-top:1px solid #293e4c}
#dashboardEnergyCard .dashboard-dynamics-live>div{min-width:0}
#dashboardEnergyCard .dashboard-dynamics-live small{display:block;font-size:12px}
#dashboardEnergyCard .dashboard-dynamics-live strong{display:block;font-size:19px;line-height:1.6;letter-spacing:-.4px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
#dashboardEnergyCard #energyPvForecastCompact{display:grid;gap:2px;margin:0 16px 12px;padding:10px 12px;background:linear-gradient(110deg,#103329,#102536);border:1px solid #285751;border-radius:12px}
#dashboardEnergyCard #energyPvForecastCompact summary{display:grid;gap:2px;cursor:pointer;list-style:none}
#dashboardEnergyCard #energyPvForecastCompact summary::-webkit-details-marker{display:none}
#dashboardEnergyCard #energyPvForecastCompact small{display:flex;justify-content:space-between;color:#58dba4;font-size:11px}
#dashboardEnergyCard #energyPvForecastCompact strong{font-size:14px;color:#f1f7fa;line-height:1.45}
#dashboardEnergyCard #energyPvForecastCompact span{font-size:12px;color:#b6cdd5;line-height:1.45}
#dashboardEnergyCard #energyPvForecastCompact p{font-size:12px;line-height:1.6;margin:10px 0 0;padding-top:10px;border-top:1px solid #285751;color:#b6cdd5}
#dashboardEnergyCard #energyMessage{margin:0 16px 12px;padding:8px 10px;border-radius:8px;background:#332c1d;color:#edcf8e;font-size:12px;line-height:1.45}
#dashboardEnergyCard.dashboard-dynamics-card>footer{display:block;padding:8px 16px;border-top:1px solid #293e4c;background:#0a141b}
#dashboardEnergyCard #energyUpdated{display:block;font-size:10px;line-height:1.4;color:#91a8b7}
#dashboardEnergyCard .dashboard-dynamics-actions{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}
#dashboardEnergyCard .dashboard-dynamics-actions>details{min-width:0;flex:1}
#dashboardEnergyCard .dashboard-dynamics-actions summary{cursor:pointer;color:#b5c7d4;font-size:12px;line-height:40px;min-height:40px}
#dashboardEnergyCard .dashboard-dynamics-actions label{display:flex;gap:7px;align-items:center;color:#b5c7d4;font-size:12px;min-height:40px}
#dashboardEnergyCard #dashboardDynamicsExport{color:#b5c7d4;font-size:12px;line-height:1.5;margin:5px 0}
#dashboardEnergyCard.dashboard-dynamics-card>footer button{display:block!important;min-height:40px;background:transparent;color:#8ccfff;border:0;padding:8px 0;font-size:12px;white-space:nowrap}
#dashboardEnergyCard :is(button,summary,input):focus-visible{outline:2px solid #77cfff;outline-offset:3px;border-radius:5px}
#dashboardEnergyCard [hidden]{display:none!important}
@media(max-width:650px){#dashboardEnergyCard .dashboard-dynamics-actions summary,#dashboardEnergyCard.dashboard-dynamics-card>footer button{min-height:44px;line-height:28px}}

/* Keep all series labels readable, including on narrow screens. */
.energy-statistics-view .energy-stat-chart-legend span { font-size:14px; line-height:1.5; gap:8px; }
.home-display-status { display:block; font-size:12px; line-height:1.45; white-space:normal; overflow-wrap:anywhere; }
.energy-statistics-view .home-display-status[data-state=delayed],#dashboardEnergyCard .home-display-status[data-state=delayed] { color:#efc47e; }
.energy-statistics-view .node-home .home-display-status { font-size:11px; }
