.visitor-counter{text-align:right;width:fit-content;color:var(--text-muted,#adb7c9);margin:0 0 .6rem auto;font-size:.72rem;display:block;position:relative}.visitor-help{display:none}.visitor-counter:focus .visitor-help,.visitor-counter:hover .visitor-help{display:block}.dashboard-chat{border:1px solid var(--border,#394459);border-radius:12px;margin:1rem 0;overflow:hidden}.chat-toggle{text-align:left;width:100%;padding:.8rem 1rem}.chat-body{padding:1rem}.chat-body .muted{font-size:.85rem}.chat-messages{max-height:300px;padding:0;list-style:none;overflow:auto}.chat-messages li{border-bottom:1px solid var(--border,#394459);padding:.6rem 0}.chat-messages time{color:var(--text-muted,#adb7c9);font-size:.75rem}.chat-messages p{white-space:pre-wrap;overflow-wrap:anywhere;margin:.3rem 0}.chat-body form{gap:.6rem;display:grid}.chat-body label{gap:.3rem;display:grid}.chat-body input,.chat-body textarea{box-sizing:border-box;width:100%;max-width:100%;font:inherit;color:inherit;background:var(--panel,#172033);border:1px solid var(--border,#526079);border-radius:6px;padding:.6rem}.chat-body form button{justify-self:start}.configuration-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:.8rem;display:grid}.configuration-grid article{border:1px solid var(--border,#394459);border-radius:8px;padding:.8rem}.configuration-grid p{margin:.35rem 0}.configuration-grid small{overflow-wrap:anywhere;display:block}.manual-list{padding-left:1.2rem}.manual-list li{margin:1rem 0}.manual-list small{display:block}.chat-toggle,.chat-body button{color:#e5f0fc;cursor:pointer;font:inherit;background:#172b40;border:1px solid #456079;border-radius:6px;padding:.6rem .9rem}.chat-toggle{border:0;border-radius:0}.chat-body button:disabled{opacity:.6;cursor:default}main .dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:20px}.dashboard-grid .dashboard-sensors,.dashboard-grid .dashboard-primary,.dashboard-grid .dashboard-secondary{display:contents}.dashboard-grid .card{min-width:0;margin:0}.dashboard-grid .home-sensor-card,.dashboard-grid .station-compact{flex-direction:column;gap:0;padding:24px;display:flex}.dashboard-grid .sensor-link,.dashboard-grid .weather-open{margin-top:auto;padding-top:20px}.overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0;display:grid}.overview-metrics>div{min-width:0}.overview-metrics dt{color:#a8c1d3;margin-bottom:6px;font-size:12px}.overview-metrics dd{overflow-wrap:anywhere;margin:0;font-size:16px;font-weight:600}.overview-metrics small{color:#a8c1d3;margin-top:4px;font-size:11px;font-weight:400;display:block}.overview-chart{min-width:0;height:130px;margin:14px 0 24px}.overview-chart h3,.overview-extra h3{margin-bottom:10px;font-size:13px}.overview-chart .mini-chart{height:100px}.dashboard-grid .quiet-note{display:none}.dashboard-grid .hpm-card-link{flex-direction:column;height:100%;display:flex}.dashboard-grid .hpm-card-link>.sensor-link{margin-top:auto}.dashboard-grid .year-comparison{grid-column:1/-1}.dashboard-grid .card-heading{min-height:32px}.dashboard-grid .state:empty{display:none}@media (width<=700px){main .dashboard-grid{grid-template-columns:minmax(0,1fr)}.dashboard-grid .home-sensor-card,.dashboard-grid .station-compact{padding:20px}}.dashboard-sensors .card{padding:18px 22px}.dashboard-sensors .card-heading{margin-bottom:6px}.dashboard-sensors .sensor-main-value,.dashboard-sensors .weather-value{margin:4px 0;font-size:28px}.dashboard-sensors .sensor-detail{margin:5px 0}.dashboard-sensors p{margin-top:5px;margin-bottom:5px}.dashboard-sensors .overview-chart{height:86px;margin:8px 0}.dashboard-sensors .overview-chart .mini-chart{height:60px}.dashboard-sensors .overview-chart h3{margin:0;font-size:11px}.dashboard-sensors .pressure-outlook{border:0;margin:0;padding:8px 0}.dashboard-sensors .pressure-outlook small{display:none}.dashboard-sensors .pressure-outlook p{font-size:12px}.dashboard-sensors .sensor-link,.dashboard-sensors .weather-open{padding-top:10px}.water-comparison{margin:12px 0 6px}.water-bar-row{grid-template-columns:58px minmax(0,1fr) 58px;align-items:center;gap:10px;margin:10px 0;font-size:12px;display:grid}.water-bar-row strong{text-align:right}.water-bar-track{background:#1b3040;border-radius:5px;height:14px;overflow:hidden}.water-bar-track>span{border-radius:inherit;background:#60cce4;height:100%;display:block}.water-bar-row:nth-of-type(2) .water-bar-track>span{background:#9caec3}.water-periods{color:#a8c1d3;font-size:12px}.dashboard-sensors .compact-source{color:#a8c1d3;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;font-size:11px;display:flex}.dashboard-sensors .compact-weather .pressure-outlook>div{display:none}.dashboard-sensors .compact-weather .pressure-outlook{padding:0}.dashboard-sensors .compact-weather .overview-chart{height:70px}.dashboard-sensors .compact-weather .overview-chart .mini-chart{height:50px}.dashboard-sensors .compact-weather .weather-details{flex-wrap:wrap;gap:12px;margin:4px 0;display:flex}.dashboard-sensors .water-overview>.chart-note{font-size:10px}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#070e19;--surface:#111d2d;--surface-deep:#09121e;--border:#24364d;--text:#f5f7ff;--secondary:#b3c5df;--muted:#9bb0cc;--blue:#1684ff;--cyan:#2bdff0;--green:#2ae4b2;--amber:#f6c56d;--red:#ff8d97;--radius:22px;--radius-small:16px;--space:20px;--shadow:inset 0 1px 0 #a8cbff08, 0 10px 28px #0003;font-synthesis:none;background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,system-ui,sans-serif;font-weight:400}*{box-sizing:border-box}body{background:radial-gradient(ellipse at 20% 0%, #16325655, transparent 45%), var(--bg);min-width:320px;margin:0}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.35;cursor:default}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}h1,h2,h3,p{margin:0}h1{letter-spacing:-1px;font-size:28px;font-weight:650;line-height:1.25}h2{letter-spacing:-.25px;font-size:17px;font-weight:600}h3{font-size:14px;font-weight:500}svg{flex-shrink:0}.main{min-width:0;max-width:1140px;margin:auto;padding:24px 16px 114px}.sidebar,.desktop-topline{display:none}.page-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.page-header p{color:var(--secondary);margin-top:8px;font-size:14px;line-height:1.5}.header-symbol{color:var(--blue);border:1px solid var(--border);background:#12254055;border-radius:50%;width:44px;height:44px;padding:10px}.card{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(140deg, var(--surface), var(--surface-deep));box-shadow:var(--shadow);min-width:0;padding:20px}.card-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.status{white-space:normal;background:#96b0cf0d;border-radius:30px;align-items:center;gap:5px;width:fit-content;padding:6px 9px;font-size:11px;font-weight:600;line-height:1.4;display:inline-flex}.status.healthy{color:var(--green);background:#13d69512}.status.warning,.warning{color:var(--amber)}.status.error{color:var(--red);background:#fc637310}.status.unknown,.status.not_connected{color:var(--secondary)}.dashboard-grid,.dashboard-primary,.dashboard-secondary{align-content:start;gap:18px;min-width:0;display:grid}.power-card{background:radial-gradient(ellipse at 50% 45%, #003e6530, transparent 60%), linear-gradient(140deg, var(--surface), var(--surface-deep));padding-bottom:16px;overflow:hidden}.power-card .card-heading{margin-bottom:0}.gauge{aspect-ratio:280/242;width:min(100%,260px);margin:6px auto -8px;position:relative}.gauge>svg{width:100%;height:100%;overflow:visible}.gauge-track,.gauge-arc{fill:none;stroke-linecap:round;stroke-width:12px}.gauge-outline{fill:none;stroke:var(--blue);stroke-width:.6px;opacity:.4}.gauge-inner{fill:#06142733;stroke:#247bb855;stroke-width:.8px}.gauge-track{stroke:#163c69}.gauge-arc{stroke:url(#gauge-color);filter:drop-shadow(0 0 6px #15bdffa0)}.gauge-empty{opacity:.12}.gauge-value{flex-direction:column;align-items:center;gap:10px;display:flex;position:absolute;inset:37% 0 10%}.gauge-value>svg{color:var(--cyan);filter:drop-shadow(0 0 7px #0af)}.gauge-value strong{letter-spacing:-1.7px;font-variant-numeric:tabular-nums;font-size:38px;font-weight:650;line-height:1.15}.gauge-value span{color:var(--secondary);font-size:13px}.power-foot{color:var(--muted);justify-content:space-between;gap:8px;margin-top:8px;font-size:10px;display:flex}.power-foot span:last-child{align-items:center;gap:4px;display:flex}.daily-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.daily-card{box-shadow:none;border-radius:20px;flex-direction:column;align-items:flex-start;gap:8px;padding:13px 10px;display:flex}.daily-card h3{max-width:7ch;min-height:34px;font-size:12px;line-height:1.4}.daily-card strong{letter-spacing:-.4px;font-size:18px}.daily-card small{color:var(--muted);font-size:10px;line-height:1.5}.icon-bubble{border-radius:50%;place-items:center;width:37px;height:37px;display:grid}.blue{color:var(--blue);background:#1472ff15}.green{color:var(--green);background:#10cda317}.amber{color:var(--amber);background:#ebb34516}.subheading{color:var(--muted);margin-top:5px;font-size:11px}.unit-label{color:var(--muted);background:#8da4c10d;border-radius:8px;padding:6px 10px;font-size:12px}.chart{min-width:0;height:225px;margin:0 -8px}.mini-chart{height:44px;margin:0}.chart-tooltip{border:1px solid var(--border);background:var(--surface-deep);color:var(--secondary);border-radius:12px;padding:10px 14px;font-size:12px}.chart-tooltip strong{color:var(--cyan);margin-top:5px;display:block}.chart-legend{color:var(--secondary);align-items:center;gap:8px;margin-top:12px;font-size:11px;display:flex}.chart-legend>span{background:var(--blue);border-radius:50%;width:7px;height:7px}.chart-note{color:var(--muted);margin-top:12px;font-size:11px;line-height:1.7}.weather-icon{color:#92caff}.weather-value{letter-spacing:-1px;align-items:center;gap:20px;margin:22px 0;font-size:36px;font-weight:550;display:flex}.weather-value>span{letter-spacing:0;color:var(--secondary);font-size:11px;font-weight:400;line-height:1.7}.weather-details{color:var(--secondary);gap:26px;font-size:12px;display:flex}.weather-details>span{align-items:center;gap:8px;display:flex}.weather-card>.status{margin-top:14px}.quiet-note{color:var(--cyan);align-items:center;gap:14px;padding:6px 12px;display:flex}.quiet-note p{color:var(--secondary);font-size:12px;line-height:1.7}.quiet-note span{color:var(--muted);font-size:11px}.navigation{z-index:10;padding:9px 10px calc(9px + env(safe-area-inset-bottom));border-top:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0b1526f5;border-radius:22px 22px 0 0;grid-template-columns:repeat(4,1fr);gap:4px;display:grid;position:fixed;bottom:0;left:0;right:0}.navigation a{min-height:54px;color:var(--muted);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:7px;font-size:10px;display:flex}.navigation a[aria-current=page]{color:#70d5ff;background:#1988ff0c}.navigation a[aria-current=page]>svg{filter:drop-shadow(0 0 7px #1988ff)}.page-footer{color:var(--muted);justify-content:center;align-items:center;gap:7px;margin-top:35px;font-size:10px;display:flex}.footer-dot{background:var(--muted);border-radius:50%;width:4px;height:4px}.state{color:var(--secondary);align-items:center;gap:8px;padding:18px 0;font-size:12px;line-height:1.7;display:flex}.state.warning{color:var(--amber)}.skeleton{background:linear-gradient(90deg,#0000,#2986de10,#0000);border-radius:12px;min-height:70px}.analysis-controls{margin-bottom:18px}.segmented{border:1px solid var(--border);background:#09111f;border-radius:16px;padding:4px;display:flex}.segmented button{color:var(--secondary);background:0 0;border:0;border-radius:12px;flex:1;min-height:44px;font-size:14px}.segmented button[aria-pressed=true]{color:#fff;background:linear-gradient(145deg,#20bbef,#1254ed);box-shadow:0 2px 14px #167bff44}.date-navigation{justify-content:space-between;align-items:center;margin-top:15px;display:flex}.icon-button{min-width:44px;min-height:44px;color:var(--secondary);border:1px solid var(--border);background:#142237;border-radius:50%;place-items:center;display:grid}.date-navigation input{min-height:44px;color:var(--secondary);background:0 0;border:0;max-width:190px}.metric-select{flex-wrap:wrap;gap:9px;margin:4px 0 12px;display:flex}.metric-select button{border:1px solid var(--border);min-height:44px;color:var(--secondary);background:0 0;border-radius:30px;padding:0 18px;font-size:12px}.metric-select button[aria-pressed=true]{color:var(--cyan);background:#28dced0d;border-color:#28dced66}.single-energy{flex-direction:column;align-items:center;gap:12px;padding:40px 0;display:flex}.single-energy strong{color:var(--cyan);font-size:44px;font-weight:600}.single-energy span{color:var(--muted);font-size:13px}.analysis-cards{grid-template-columns:1fr 1fr;gap:14px;margin-top:18px;display:grid}.metric-value{margin-top:15px;font-size:26px;display:block}.quiet-copy{color:var(--muted);margin:22px 4px;font-size:12px;line-height:1.8}.systems-grid{gap:16px;display:grid}.system-card{align-items:flex-start;gap:17px;display:flex}.installation-illustration{filter:drop-shadow(0 8px 10px #0005);flex-shrink:0;width:78px;height:92px}.system-card h2{margin-bottom:8px}.system-card p{color:var(--secondary);margin-top:11px;font-size:12px;line-height:1.6}.system-card small{color:var(--muted);margin-top:5px;font-size:11px;line-height:1.7;display:block}.intro-copy{color:var(--secondary);margin-top:15px;font-size:14px;line-height:1.8}.info-list{margin:20px 0 0}.info-list>div{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:17px 0;font-size:12px;display:flex}.info-list dt{color:var(--muted)}.info-list dd{text-align:right;margin:0}.about-card{color:var(--green);gap:18px;margin-top:20px;display:flex}.about-card h2{color:var(--text)}.about-card p{color:var(--secondary);margin-top:8px;font-size:12px;line-height:1.8}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:30;background:var(--surface);border:2px solid var(--cyan);padding:12px;position:fixed;top:-80px;left:20px}.skip-link:focus{top:15px}@media (width>=600px){.main{padding:40px 30px 120px}.daily-card{padding:18px}.daily-card h3{font-size:14px}.daily-card strong{font-size:23px}.systems-grid{grid-template-columns:1fr 1fr}.analysis-controls{max-width:600px}.chart{height:270px}.mini-chart{height:60px}}.battery-details-link{align-items:center;min-height:44px;padding:6px 0;display:inline-flex}@media (width>=1000px){.app-shell{padding-left:230px}.sidebar{border-right:1px solid var(--border);background:#0a1322;width:230px;padding:36px 24px;display:block;position:fixed;top:0;bottom:0;left:0}.brand{letter-spacing:-.5px;align-items:center;gap:10px;font-size:19px;font-weight:650;display:flex}.brand-icon{color:var(--cyan)}.brand small{letter-spacing:1px;color:var(--muted);margin-top:8px;font-size:7px;display:block}.sidebar-caption{color:var(--muted);letter-spacing:1.6px;margin:58px 10px 0;font-size:9px}.navigation{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;flex-direction:column;gap:7px;width:198px;padding:0;display:flex;inset:162px auto auto 16px}.navigation a{flex-direction:row;justify-content:flex-start;gap:15px;min-height:48px;padding:0 16px;font-size:13px}.navigation a[aria-current=page]{background:linear-gradient(90deg,#156ee02c,#156ee00a);border:1px solid #2669aa44}.main{padding:28px 36px 36px}.desktop-topline{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:38px;font-size:11px;display:flex}.page-header{margin-bottom:30px}h1{font-size:35px}.dashboard-grid{grid-template-columns:minmax(300px,.92fr) minmax(310px,1.08fr);gap:24px}.dashboard-primary,.dashboard-secondary{gap:20px}.card{padding:24px}.daily-cards{gap:10px}.daily-card{padding:17px 12px}.daily-card h3{font-size:12px}.daily-card strong{font-size:20px}.gauge{width:min(100%,280px)}.gauge-value strong{font-size:43px}.chart{height:230px}.mini-chart{height:55px}.page-footer{margin-top:45px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.battery-section{gap:16px;min-width:0;display:grid}.battery-section .table-scroll{max-width:100%;overflow-x:auto}.battery-section th,.battery-section td{text-align:left;padding:12px 8px}.battery-section summary{cursor:pointer;min-height:44px;padding:12px 0}.auth-shell{place-items:center;min-height:100dvh;padding:24px 16px;display:grid}.auth-card{text-align:center;width:min(100%,390px);padding:30px 24px}.auth-emblem{width:64px;height:64px;color:var(--cyan);background:var(--surface);border-radius:50%;place-items:center;margin-bottom:20px;display:inline-grid}.auth-card>p{color:var(--secondary);margin:10px 0 26px}.auth-card form{text-align:left;gap:12px;display:grid}.auth-card label{color:var(--secondary);font-size:13px}.auth-card input{border:1px solid var(--border);background:var(--bg);width:100%;min-width:0;min-height:48px;color:var(--text);border-radius:12px;padding:10px 12px}.auth-card button,.logout-row button{border:1px solid var(--blue);color:#fff;background:#126bd4;border-radius:12px;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:10px 20px;display:flex}.auth-error,.logout-row p{color:var(--amber);font-size:13px;line-height:1.5}.auth-card small{color:var(--muted);margin-top:24px;font-size:11px;display:block}.logout-row{margin-bottom:20px}.year-select{color:var(--muted);align-items:center;gap:12px;display:flex}.year-select select,.history-jump{border:1px solid var(--border);color:#edf4ff;min-height:44px;font:inherit;background:#101d30;border-radius:12px;padding:10px 14px}.history-jump{width:100%}.history-table{border-collapse:collapse;width:100%;font-size:14px}.history-table th,.history-table td{text-align:right;border-bottom:1px solid var(--border);padding:9px 2px}.history-table th:first-child{text-align:left;font-weight:400}details summary{cursor:pointer;min-height:44px;padding-block:12px}.energy-totals{margin-block:14px}.energy-totals .daily-card h3{overflow-wrap:anywhere;max-width:none}.energy-totals .daily-card strong{overflow-wrap:anywhere;max-width:100%;font-size:clamp(15px,4.3vw,23px)}.energy-money{color:var(--text);font-size:13px}.energy-chart-card,.forecast-card,.contract-settings{margin-block:18px}.period-title{color:var(--secondary);margin-block:12px}.chart-legend{flex-wrap:wrap}.chart-legend .draw-key{background:var(--blue)}.chart-legend .return-key{background:var(--green)}.flow-legend{margin-block:16px}.gauge-value strong.green{color:var(--green);background:0 0}.gauge-value strong.blue{color:var(--cyan);background:0 0}.insight-cards{gap:12px;margin-block:18px;display:grid}.insight-cards>.card{align-items:flex-start;gap:16px;display:flex}.insight-cards>.card>div{flex:1;min-width:0}.insight-cards svg{background:0 0;margin-top:5px}.history-table{table-layout:fixed;font-size:12px}.history-table th,.history-table td{overflow-wrap:anywhere}.contract-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.contract-settings label{color:var(--secondary);flex-direction:column;gap:6px;font-size:13px;display:flex}.contract-settings input,.contract-settings select,.contract-settings button{width:100%;min-width:0;min-height:44px;font:inherit;color:var(--text);background:var(--surface-deep);border:1px solid var(--border);border-radius:10px;padding:10px}.contract-settings button{width:auto;margin-block:8px}.contract-settings fieldset{border:1px solid var(--border);border-radius:12px;min-width:0;margin:12px 0;padding:12px}.contract-settings legend{color:var(--secondary);font-size:13px}.contract-settings h3{margin-top:22px}.contract-settings .confirm-contract{flex-direction:row;align-items:center;margin-block:14px}.confirm-contract input{flex-shrink:0;width:44px;height:44px}@media (width<=430px){.contract-grid{grid-template-columns:minmax(0,1fr)}}@media (width>=900px){.energy-totals .daily-card{padding:20px}}.hpm-card-link{color:inherit;min-height:44px;text-decoration:none;display:block}.hpm-kpis{grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:16px;display:grid}.hpm-kpis dt{font-size:.85rem}.hpm-kpis dd{margin:4px 0 0;font-size:1.2rem;font-weight:600}.hpm-periods{flex-wrap:wrap;gap:8px;margin-block:16px;display:flex}.hpm-periods button{min-height:44px;padding:8px 16px}.hpm-periods [aria-pressed=true]{outline:2px solid #67e8f9}.hpm-chart{width:100%;min-width:0}.hpm-table{overflow-x:auto}.hpm-table th,.hpm-table td{text-align:left;white-space:nowrap;padding:12px}.hpm-card-link:focus-visible,.hpm-table:focus-visible{outline-offset:4px;outline:2px solid #67e8f9}.combined-energy-chart{width:100%;min-width:0;height:340px;margin-top:18px}.axis-units{color:var(--blue);justify-content:space-between;margin-top:18px;font-size:12px;display:flex}.axis-units span:last-child{color:var(--amber)}.chart-legend .gas-key{background:var(--amber);border-radius:3px;width:18px;height:4px;display:inline-block}.history-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.period-picker{align-items:center;gap:8px;max-width:100%;display:flex}.period-picker input,.period-picker select,select,input[type=month]{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:10px;max-width:100%;min-height:44px;padding:10px}.period-picker input,.period-picker select{flex:1;min-width:140px}select:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.year-comparison section{margin-top:22px}.year-comparison h3{font-weight:650}.year-comparison h3 small{color:var(--muted);margin-top:6px;display:block}.comparison-grid{grid-template-columns:1fr 1fr;gap:16px;margin-top:12px;display:grid}.comparison-grid>div{background:var(--surface-deep);border-radius:14px;min-width:0;padding:16px}.comparison-grid h4{margin:0 0 10px}.comparison-grid strong{font-size:22px}.comparison-grid p{margin-top:9px;font-size:13px;line-height:1.6}.comparison-grid small{color:var(--muted);margin-top:8px;display:block}.battery-section>details{min-width:0}.battery-section .info-list>div{overflow-wrap:anywhere;min-width:0}.main>.card .metric-value{overflow-wrap:anywhere}.learning-steps{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px;display:grid}.learning-steps>div{background:var(--surface-deep);border-radius:14px;padding:18px}.main>.card{margin-bottom:22px}.main>.card>p{max-width:90ch;margin-top:14px;line-height:1.7}.main>.card>h2{margin-bottom:14px}.main>.card details{margin-top:18px}.main>.card label{margin:18px 0;display:block}.main .table-scroll{max-width:100%;overflow:auto}.main table{border-collapse:collapse;width:100%}.main th,.main td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:12px;font-size:13px}.main summary{cursor:pointer;min-height:44px;padding:12px 0;line-height:1.5}.main p a,.main .card-heading>a,.system-card a{color:var(--cyan);text-underline-offset:4px;text-decoration:underline}.hpm-card{background:linear-gradient(130deg, #132b3c, var(--surface));border-color:#2b5067}.hpm-card-link>p{margin-top:14px;line-height:1.6}.hpm-meters{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:22px;display:grid}.value-meter{text-align:center;flex-direction:column;align-items:center;min-width:0;display:flex;position:relative}.value-meter svg{width:100%;max-width:130px;height:80px}.value-meter strong{z-index:1;margin-top:-26px;font-size:18px}.value-meter>span{margin-top:12px;font-size:13px}.value-meter small{color:var(--muted);margin-top:5px;font-size:10px;line-height:1.5}.hpm-kpis{margin-top:20px}.mobile-weather,.mobile-menu-button{display:none}.sidebar-weather{position:absolute;inset:520px 14px 18px;overflow:auto}.sidebar-weather .card{border-radius:16px;padding:15px}.sidebar-weather h2{font-size:14px}.sidebar-weather .metric-value{font-size:25px}.sidebar-weather p{font-size:11px;line-height:1.6}@media (width<=999px){.mobile-weather{grid-column:1/-1;display:block}.navigation{grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;display:grid}.navigation a{min-width:0;padding:8px 1px;font-size:10px}.navigation .secondary-nav{display:none}.mobile-menu-button{color:var(--muted);font:inherit;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:48px;font-size:10px;display:flex}.navigation.menu-open .secondary-nav{background:var(--surface);grid-row:1;display:flex}.navigation.menu-open .secondary-nav:nth-of-type(4){grid-column:1}.navigation.menu-open .secondary-nav:nth-of-type(5){grid-column:2}.navigation.menu-open .secondary-nav:nth-of-type(6){grid-column:3}.battery-section>details{min-width:0}.battery-section .info-list>div{overflow-wrap:anywhere;min-width:0}.main>.card .metric-value{overflow-wrap:anywhere}.learning-steps{grid-template-columns:1fr}.sidebar-weather{display:none}.history-toolbar{align-items:stretch}.period-picker{justify-content:center;width:100%}.hpm-meters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=480px){.comparison-grid{grid-template-columns:1fr}.combined-energy-chart{height:300px}.year-comparison .card-heading{flex-direction:column;align-items:flex-start;gap:12px}.history-toolbar .segmented{width:100%;display:flex}.history-toolbar .segmented button{flex:1;min-height:44px;padding:10px}.main .energy-totals{margin-top:18px}.chart-legend{flex-wrap:wrap;line-height:1.8}}.main{max-width:1600px}.dashboard-grid>.energy-totals{grid-column:1/-1}.energy-totals:has(.solar-kpi){grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.solar-kpi strong{font-size:24px}.solar-kpi small{overflow-wrap:anywhere;display:block}.inverter-card{flex-direction:column;gap:10px;display:flex}.weather-value{font-size:34px}.weather-extrema{color:var(--muted);font-size:12px}.daily-report .report-stats{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;margin:18px 0;display:grid}.report-stats>div{background:#6496aa14;border-radius:12px;padding:12px}.report-stats strong{margin-top:6px;display:block}.report-controls button,.report-events button{color:#dcecf7;cursor:pointer;background:#172f40;border:1px solid #355368;border-radius:8px;padding:8px 12px}.report-controls input{color:#dcecf7;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#112737;border:1px solid #355368;border-radius:8px;padding:7px}.report-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.report-events{padding-left:20px}.report-events button{text-align:left;margin:4px 0}.daily-report p,.daily-report li{line-height:1.65}.report-quality{flex-wrap:wrap;gap:10px;display:flex}.temperature-scroll{overflow:auto}.dashboard-chat{z-index:80;background:#101e2d;border:1px solid #355369;border-radius:14px;width:380px;max-width:calc(100vw - 32px);margin:0;position:fixed;bottom:18px;right:22px;overflow:hidden;box-shadow:0 15px 60px #0008}.chat-toggle{text-align:left;color:#e5f6ff;background:#183348;border:0;width:100%;padding:14px}.dashboard-chat.is-open .chat-body{flex-direction:column;height:470px;max-height:calc(100dvh - 130px);padding:12px;display:flex}.chat-status{margin:0 0 8px;font-size:12px}.chat-messages{flex-direction:column;flex:1;gap:8px;min-height:70px;padding:8px;display:flex;overflow:auto}.chat-messages li{overflow-wrap:anywhere;background:#203549;border-radius:12px;align-self:flex-start;max-width:90%;padding:9px 12px}.chat-messages li.own{background:#164941;align-self:flex-end}.chat-messages time{font-size:10px;display:block}.chat-messages p{white-space:pre-wrap;margin:4px 0}.chat-body form{flex-shrink:0;gap:6px;display:grid}.chat-body input,.chat-body textarea{width:100%;min-width:0}.chat-body textarea{resize:none}.chat-body .chat-name{font-size:12px}.chat-body .chat-error{margin:3px 0;font-size:12px}@media (width>=1200px){.energy-totals:has(.solar-kpi){grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=767px){.dashboard-chat{width:auto;bottom:82px;left:12px;right:12px}.dashboard-chat.is-open{top:16px;bottom:82px}.dashboard-chat.is-open .chat-body{height:calc(100% - 50px);max-height:none}.daily-card strong{font-size:22px}}.weather-open{color:#acd9cd;margin-top:14px;font-size:12px;text-decoration:none;display:inline-block}.weather-open:hover{text-decoration:underline}.sidebar-rail{display:contents}@media (width>=1000px){.sidebar-rail{border-right:1px solid var(--border);background:#0a1322;width:230px;display:block;position:fixed;inset:0 auto 0 0;overflow-y:auto}.sidebar-rail .sidebar{border:0;width:auto;padding:36px 24px 12px;position:static}.sidebar-rail .navigation{width:auto;margin:0 16px;position:static}.sidebar-rail .sidebar-weather{margin:20px 14px;position:static;overflow:visible}.sidebar-weather .weather-value{white-space:nowrap;flex-direction:column;align-items:flex-start;gap:6px;font-size:28px}.sidebar-weather .weather-value>span{font-size:11px}.sidebar-weather .weather-details{flex-wrap:wrap;gap:8px}.sidebar-weather .weather-details>span{white-space:nowrap}}@media (width<=999px){.navigation.menu-open .secondary-nav:nth-of-type(n){grid-area:auto}}.dashboard-sensors{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.dashboard-sensors>.card{min-width:0;margin:0}.home-sensor-card .card-heading svg,.sensor-system-card .card-heading svg{color:#82cbdf;flex-shrink:0}.sensor-main-value{margin:16px 0 8px;font-size:34px;font-weight:600}.home-sensor-card>p,.sensor-system-card>p{color:var(--muted);font-size:12px}.sensor-detail{justify-content:space-between;gap:12px;margin:16px 0;font-size:13px;display:flex}.sensor-link{color:#acd9cd;margin-top:14px;font-size:12px;display:inline-block}.systems-grid>.sensor-system-card{display:block}.sensor-system-card .card-heading{margin-bottom:14px}.inverter-end-label{color:var(--muted);font-size:12px}@media (width<=600px){.dashboard-sensors{grid-template-columns:1fr}}.inverter-card>strong{font-size:30px;font-weight:600}.indoor-weather{background:var(--surface,#80a0b414);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin:14px 0;padding:12px 14px;display:flex}.indoor-weather small{opacity:.7;margin-top:3px;font-size:11px;display:block}.indoor-weather strong{white-space:nowrap;font-size:22px}.pressure-outlook{border:1px solid #80a0b440;border-radius:12px;margin:14px 0;padding:14px}.pressure-outlook>div{flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:12px;display:flex}.pressure-outlook p{margin:10px 0 6px;font-size:15px;font-weight:600}.pressure-outlook small{opacity:.8;font-size:11px;line-height:1.6;display:block}@media (width<=999px){.dashboard-chat{bottom:calc(82px + env(safe-area-inset-bottom))}.navigation.menu-open{z-index:90}}
