:root{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Arial,sans-serif;font-synthesis:none;--green:#29ca3c;--green-bright:#35e544;--blue:#0aaeff;--gold:#ffb31d;--radius:20px;--ease:cubic-bezier(.22,.7,.2,1)}*{box-sizing:border-box}html{background:#dfe9f9}body{margin:0;min-width:300px;transition:background .5s,color .5s;background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent}body[data-theme=day]{--bg:#e9f0fc;--text:#0b2036;--muted:#5d7085;--card:rgba(255,255,255,.78);--border:rgba(255,255,255,.84);--soft:#dce6f4;--nav:rgba(250,253,255,.94);--hero-bg:#b6d7fb;--shadow:0 8px 24px rgba(50,88,132,.12);--badge:linear-gradient(135deg,rgba(15,35,52,.78),rgba(16,39,58,.93));--badge-text:#fff;--icon:#273b54;--line:#d4e0f0}body[data-theme=night]{--bg:#061924;--text:#f5fbff;--muted:#a6b8c9;--card:linear-gradient(135deg,rgba(23,51,66,.9),rgba(8,29,42,.96));--border:rgba(173,215,235,.19);--soft:#153747;--nav:rgba(12,38,50,.95);--hero-bg:#061c30;--shadow:0 8px 26px rgba(0,0,0,.21);--badge:linear-gradient(135deg,rgba(6,23,33,.88),rgba(8,29,43,.96));--badge-text:#fff;--icon:#e6f5ff;--line:rgba(184,215,230,.14)}button,input,select{font:inherit}button{cursor:pointer;border:0}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #15a8f8;outline-offset:3px}.sprite{position:absolute;width:0;height:0;overflow:hidden}.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.icon.tiny{width:12px;height:12px}.green{color:#21c93c}.green-text{color:#14b735}.app{width:min(100%,430px);min-height:100dvh;margin:0 auto;padding:0 10px 100px;background:var(--bg);box-shadow:0 0 70px #07213212;transition:background .5s}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;padding:13px 5px 7px;gap:10px;position:relative;z-index:10}.identity{display:flex;align-items:center;gap:10px;min-width:0}.identity h1{font-size:22px;font-weight:750;letter-spacing:-.8px;line-height:1.16;margin:0;white-space:nowrap}.online{display:flex;align-items:center;gap:7px;margin-top:6px;color:#0eae37;font-size:12px;font-weight:650}.dot{display:inline-block;width:8px;height:8px;background:#17cf42;border-radius:50%;box-shadow:0 0 0 3px #21d5501a}.brand{position:relative;display:grid;place-items:center;color:#24c949;width:37px;height:37px}.brand>.icon{width:36px;height:36px;stroke-width:2.1}.brand-bolt{position:absolute;left:12px;top:12px;display:grid;place-items:center;background:var(--bg);color:#22d541;width:17px;height:18px}.brand-bolt .icon{width:17px;height:17px;stroke-width:2}.top-actions{display:flex;gap:7px}.square-btn{width:37px;height:37px;display:grid;place-items:center;color:var(--icon);background:var(--card);border:1px solid var(--border);border-radius:13px;box-shadow:var(--shadow);position:relative}.square-btn .icon{width:19px;height:19px}.notice-dot{position:absolute;width:7px;height:7px;border-radius:50%;background:#20d743;right:5px;top:4px;box-shadow:0 0 0 2px var(--card)}.page{display:none}.page.active{display:block}.hero{position:relative;isolation:isolate;overflow:hidden;width:100%;aspect-ratio:393/392;border-radius:23px 23px 10px 10px;background:linear-gradient(180deg,var(--hero-bg) 0%,#7aabdb 48%,var(--bg) 100%);transition:background .6s}.hero-photo{position:absolute;bottom:-1%;left:0;width:100%;height:auto;display:block;pointer-events:none;z-index:1;filter:saturate(1.02);transition:filter .8s}.hero-tint{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,rgba(225,241,255,.12),transparent 30%,transparent 69%,var(--bg) 100%)}body[data-theme=night] .hero-photo{filter:brightness(.55) saturate(1.25) contrast(1.13)}body[data-theme=night] .hero-tint{background:linear-gradient(180deg,rgba(2,15,33,.53),rgba(0,17,32,.08) 35%,rgba(0,19,32,.08) 70%,var(--bg) 100%)}.hero-bottom-shade{position:absolute;z-index:4;bottom:0;height:16%;left:0;right:0;background:linear-gradient(0deg,var(--bg),transparent);pointer-events:none}.sky-sun{position:absolute;z-index:1;left:-19px;top:50px;width:80px;height:80px;border-radius:50%;background:radial-gradient(circle,#fff7b0 0%,#ffe396 11%,rgba(255,219,103,.33) 35%,transparent 70%);filter:blur(1px);opacity:.78;transition:opacity .7s}.sky-moon{position:absolute;z-index:2;right:25px;top:35px;width:25px;height:25px;border-radius:50%;background:#d9eaff;box-shadow:0 0 16px #cee6ffbf;opacity:0;transition:opacity .7s}.stars{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;opacity:0;background-image:radial-gradient(1px 1px at 10% 13%,white 90%,transparent),radial-gradient(1px 1px at 41% 17%,white 90%,transparent),radial-gradient(1px 1px at 66% 7%,white 90%,transparent),radial-gradient(1px 1px at 91% 22%,white 90%,transparent),radial-gradient(1px 1px at 27% 28%,white 90%,transparent);transition:opacity .7s}body[data-theme=night] .sky-moon,body[data-theme=night] .stars{opacity:.85}body[data-theme=night] .sky-sun{opacity:0}.flow-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:3;pointer-events:none;overflow:visible}.flow-route{fill:none;stroke-width:3.1;stroke-linecap:round;stroke-linejoin:round;opacity:.75;filter:url(#flowGlow);transition:opacity .25s}.flow-route.pv{stroke:#ffc134}.flow-route.grid{stroke:#18b9ff}.flow-route.battery,.flow-route.load{stroke:#49f45d}.flow-route.idle{opacity:.1;filter:none}.flow-particle{filter:url(#flowGlow);transition:opacity .2s}.scene-tag{position:absolute;z-index:5;display:flex;align-items:center;gap:5px;padding:7px 8px;background:var(--badge);border:1px solid rgba(241,251,255,.47);border-radius:16px;color:var(--badge-text);box-shadow:0 4px 16px #03172142,inset 0 1px #ffffff3d;min-width:0;text-align:left;backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px);transition:transform .18s,box-shadow .18s}.scene-tag:active{transform:scale(.97)}.scene-tag>.icon{width:21px;height:21px;stroke-width:2}.scene-tag>span{display:flex;flex-direction:column;gap:1px}.scene-tag small{font-size:10px;font-weight:550;white-space:nowrap;color:#ffffffd6}.scene-tag strong{font-size:15px;line-height:1.1;font-weight:750;letter-spacing:-.35px;white-space:nowrap}.pv-tag{top:12px;left:8px}.pv-tag>.icon{color:#ffbd1b}.grid-tag{top:12px;right:8px}.grid-tag>.icon{color:#d9f1ff}.inverter-tag{left:49%;top:54%;min-width:114px;transform:translate(-10%)}.inverter-tag>.icon{color:#52f57b}.inverter-tag:active{transform:translate(-10%) scale(.97)}.battery-tag{left:8px;top:78%}.battery-tag>.icon{color:#6dfb7b}.load-tag{right:8px;top:78%}.load-tag>.icon{color:#f6fdff}.modebar{display:flex;align-items:center;gap:5px;justify-content:space-between;padding:6px 5px 9px;white-space:nowrap;overflow:auto;scrollbar-width:none}.modebar::-webkit-scrollbar{display:none}.mode-label{font-size:9px;letter-spacing:.6px;color:var(--muted);font-weight:800}.mode-pill{border-radius:100px;background:var(--soft);color:var(--muted);padding:6px 9px;font-size:10px;font-weight:700;border:1px solid var(--border);white-space:nowrap}.mode-pill.active{background:linear-gradient(120deg,#39d650,#0f9d39);color:#fff;box-shadow:0 2px 8px #21c94640}.card{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:var(--radius);transition:background .5s,border-color .5s}.stats-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:12px 5px;gap:0;overflow:hidden}.stat{background:transparent;min-width:0;color:var(--text);display:flex;flex-direction:column;align-items:center;gap:4px;padding:2px;border-right:1px solid var(--line)}.stat:last-child{border-right:0}.stat .icon{width:21px;height:21px;stroke-width:2}.stat small{font-size:9px;white-space:nowrap;color:var(--muted);font-weight:550}.stat b{font-size:13px;letter-spacing:-.3px;white-space:nowrap;font-weight:760}.chart-card{margin-top:10px;padding:14px 13px 12px}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:6px}.card-title{display:flex;align-items:center;gap:6px;min-width:0}.card-title .icon{width:18px;height:18px}.card-title h2{font-size:14px;letter-spacing:-.35px;line-height:1.15;margin:0;font-weight:760;white-space:nowrap}.tabs{display:flex;align-items:center;gap:2px;padding:2px;border-radius:30px;background:var(--soft)}.tab{font-size:10px;padding:6px 8px;background:transparent;color:var(--muted);border-radius:30px;font-weight:650}.tab.active{background:linear-gradient(135deg,#43e557,#0da52e);color:#fff;box-shadow:0 2px 5px #1ba23230}.chart-totals{display:flex;align-items:flex-end;justify-content:space-between;margin:13px 0 4px;gap:10px}.chart-totals>div:first-child{display:flex;flex-direction:column;gap:0}.chart-totals strong{font-size:29px;font-weight:800;line-height:1;letter-spacing:-1.3px}.chart-totals strong em{font-size:14px;letter-spacing:0;font-style:normal;font-weight:650}.chart-totals span{color:var(--muted);font-size:10px;margin-top:5px}.balance{text-align:right;display:flex;flex-direction:column;gap:4px}.balance small{font-size:10px;color:var(--muted)}.balance strong{font-size:16px;color:#17bd39;letter-spacing:-.4px}.chart-viewport{position:relative;width:100%;height:139px;margin-top:2px}.chart-viewport svg{display:block;width:100%;height:100%;color:var(--text);touch-action:pan-y;overflow:visible}.chart-time{position:absolute;top:0;left:50%;transform:translate(-50%);font-size:9px;font-weight:700;background:var(--card);border:1px solid var(--border);padding:3px 6px;border-radius:20px;pointer-events:none;box-shadow:var(--shadow)}.axis-labels{display:flex;justify-content:space-between;padding:0 4px 0 19px;font-size:10px;color:var(--muted)}.legend{display:flex;gap:14px;align-items:center;justify-content:center;margin-top:10px;font-size:10px;color:var(--muted);flex-wrap:wrap}.legend>span{display:flex;align-items:center;gap:5px}.legend b{font-size:10px;color:var(--text)}.legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%}.legend-dot.pv{background:#38db2b}.legend-dot.load{background:#0ca9ff}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:10px}.kpi{min-width:0;display:flex;flex-direction:column;align-items:center;gap:5px;padding:11px 3px;color:var(--text);min-height:88px}.kpi .icon{width:20px;height:20px}.kpi b{font-size:13px;white-space:nowrap;letter-spacing:-.3px}.kpi:first-child b{color:#1bc343}.kpi span{font-size:9px;color:var(--muted);white-space:nowrap}.bottom-nav{position:fixed;z-index:30;bottom:max(8px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);width:min(calc(100% - 20px),410px);height:68px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;padding:5px;border-radius:23px;background:var(--nav);border:1px solid var(--border);box-shadow:0 10px 25px #03182629;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted);border-radius:18px;background:transparent;min-width:0}.nav-item .icon{width:21px;height:21px}.nav-item span{font-size:9px;letter-spacing:-.2px;white-space:nowrap}.nav-item.active{color:#083416;background:linear-gradient(140deg,#8cf28d,#32d957);box-shadow:0 1px 10px #2ddc5357;font-weight:750}.secondary{padding:12px 1px}.section-header{padding:6px 5px 16px}.section-header h2{font-size:26px;line-height:1.1;letter-spacing:-.8px;margin:0 0 5px;font-weight:800;color:var(--text)}.secondary .card{margin-bottom:11px;padding:16px}.secondary h3{font-size:15px;margin:0 0 14px;font-weight:760}.flow-breakdown .flow-row,.metric-list .metric-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line);font-size:13px;gap:8px}.flow-row strong,.metric-row strong{white-space:nowrap}.flow-row .swatch{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:8px}.explanation{font-size:12px;line-height:1.5;color:var(--muted)}.history-head{display:flex;align-items:center;justify-content:space-between}.history-head h3{margin:0}.text-btn{background:transparent;color:#12ad3d;font-size:12px;font-weight:700}.history-item{padding:12px 0;border-top:1px solid var(--line);display:flex;align-items:flex-start;gap:10px}.history-item:first-child{margin-top:12px}.history-item .history-mark{width:9px;height:9px;background:#32c957;border-radius:50%;margin-top:4px;flex:none}.history-item strong{font-size:12px;display:block}.history-item small{font-size:11px;color:var(--muted);display:block;margin-top:4px}.device-card{padding:15px;margin-bottom:10px;display:flex;align-items:center;gap:12px}.device-card .device-icon{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;color:#24c948;background:#2fd14a1f}.device-card strong{font-size:14px}.device-card small{font-size:11px;color:var(--muted);display:block;margin-top:4px}.device-card .chevron{margin-left:auto;color:var(--muted)}.settings-card .setting-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 0;border-top:1px solid var(--line)}.setting-row:first-of-type{border-top:0}.setting-row b,.range-setting b{font-size:13px;display:block}.setting-row small{font-size:10px;color:var(--muted);display:block;margin-top:4px}.setting-row select{background:var(--soft);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:8px;font-size:12px}.toggle{background:#8097a7;border-radius:50px;width:43px;height:25px;display:flex;align-items:center;padding:3px;flex:none;transition:background .2s}.toggle span{width:19px;height:19px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 4px #0002}.toggle.on{background:#23c84d}.toggle.on span{transform:translate(18px)}.range-setting{padding:14px 0;border-top:1px solid var(--line)}.range-setting>div{display:flex;justify-content:space-between;gap:8px;margin-bottom:10px}.range-setting strong{font-size:13px;color:#21c747}.range-setting input{width:100%;accent-color:#2ed54a}.settings-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.secondary-btn{background:var(--soft);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:12px 6px;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:5px}.secondary-btn .icon{width:16px;height:16px}.disclaimer{font-size:11px;line-height:1.5;color:var(--muted);margin:14px 0 0}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000e198a;z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.detail-sheet{position:fixed;bottom:0;left:50%;transform:translate(-50%);z-index:51;width:min(100%,430px);border-radius:24px 24px 0 0;background:var(--bg);padding:19px 20px max(26px,env(safe-area-inset-bottom));box-shadow:0 -10px 30px #0014;color:var(--text);max-height:78dvh;overflow-y:auto}.sheet-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.sheet-head small{font-size:10px;color:var(--muted);letter-spacing:1px}.sheet-head h2{font-size:22px;margin:4px 0 0}.sheet-metric{font-size:37px;font-weight:800;letter-spacing:-1.5px;margin:4px 0 10px}.sheet-desc{font-size:13px;line-height:1.6;color:var(--muted)}.sheet-flow{margin-top:15px;padding:12px;border-radius:12px;background:var(--card);border:1px solid var(--border);font-size:12px;line-height:1.7}.toast{position:fixed;left:50%;bottom:95px;transform:translate(-50%,15px);padding:10px 15px;border-radius:12px;background:#123449;color:#fff;font-size:12px;z-index:70;max-width:calc(100vw - 40px);text-align:center;box-shadow:0 6px 25px #0003;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translate(-50%)}[hidden]{display:none!important}@media (max-width:370px){.app{padding-left:7px;padding-right:7px}.topbar{height:75px}.identity h1{font-size:19px}.top-actions{gap:4px}.square-btn{width:32px;height:32px}.scene-tag{padding:5px 6px;border-radius:12px;gap:4px}.scene-tag>.icon{width:17px;height:17px}.scene-tag small{font-size:9px}.scene-tag strong{font-size:12px}.inverter-tag{min-width:95px}.mode-label{display:none}.modebar{justify-content:space-around}.stat b{font-size:11px}.stat small{font-size:8px}.chart-card{padding:12px 9px}.card-title h2{font-size:12px}.tab{font-size:9px;padding:5px 6px}.kpi{padding:10px 2px}.kpi b{font-size:11px}.kpi span,.nav-item span{font-size:8px}}@media (min-width:431px){.app{border-left:1px solid var(--border);border-right:1px solid var(--border)}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}html{background:#061a27}body[data-theme=night]{--bg:#061924;--text:#f4f9fc;--muted:#a8c1d0;--card:linear-gradient(145deg,rgba(19,48,65,.95),rgba(8,28,39,.97));--border:rgba(170,216,238,.22);--soft:#173647;--nav:rgba(10,33,46,.97);--hero-bg:#08243b;--shadow:0 6px 18px rgba(0,0,0,.2);--line:rgba(184,215,230,.15)}body[data-theme=day]{--bg:#d4e4f6;--text:#132a3c;--muted:#526a82;--card:linear-gradient(145deg,rgba(245,249,255,.94),rgba(224,236,250,.94));--border:rgba(255,255,255,.8);--soft:#d7e6f6;--nav:rgba(240,248,255,.97);--hero-bg:#a6cef2;--shadow:0 5px 18px rgba(42,74,117,.12);--line:rgba(60,93,132,.13)}.app{width:min(100%,430px);padding:0 0 105px;background:linear-gradient(180deg,var(--bg),var(--bg));overflow:hidden}.topbar{height:80px;padding:12px 15px 8px;background:linear-gradient(180deg,#072334e6,#0723345c);color:#fff}body[data-theme=day] .topbar{background:linear-gradient(180deg,#a8c8ef,#9fc4ed);color:#12283b}.identity h1{font-size:21px;letter-spacing:-.5px}.online{font-size:11px;color:#1ae443}body[data-theme=day] .online{color:#0d9f35}.square-btn{width:36px;height:36px;border-radius:12px;background:#18384a94;border-color:#fff3;color:#f0f8ff;box-shadow:inset 0 1px #ffffff1a}body[data-theme=day] .square-btn{background:#f3faff80;border-color:#fff9;color:#203c54}.hero{width:100%;height:auto;aspect-ratio:595/535;border-radius:0;background:var(--hero-bg);margin-top:-1px}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-size:100% 100%;background-repeat:no-repeat;pointer-events:none;transition:opacity .65s ease}.hero-bg-day{background-image:url(assets/hero-day.webp);opacity:0}.hero-bg-night{background-image:url(assets/hero-night.webp);opacity:1}body[data-theme=day] .hero-bg-day{opacity:1}body[data-theme=day] .hero-bg-night{opacity:0}.hero-tint{z-index:1;background:linear-gradient(180deg,transparent 72%,var(--bg) 100%);opacity:.15}body[data-theme=day] .hero-tint{background:linear-gradient(180deg,transparent 78%,var(--bg) 100%);opacity:.15}.hero-bottom-shade{height:10%;background:linear-gradient(0deg,var(--bg),transparent);opacity:.25;z-index:3}.flow-svg{z-index:2}.flow-route{stroke-width:3.4;opacity:.18;filter:url(#flowGlow)}.flow-route.pv{stroke:#ffb516}.flow-route.grid{stroke:#12aaff}.flow-route.battery,.flow-route.load{stroke:#4bff4e}.flow-route.idle{opacity:0}.flow-particle{filter:url(#flowGlow)}.scene-tag{z-index:5;border-radius:18px;background:linear-gradient(145deg,#102531f0,#081b25f7);color:#fff;border:1px solid rgba(225,246,255,.43);box-shadow:0 2px 10px #00000059,inset 0 1px #ffffff29;padding:5px 8px;gap:5px;min-height:0;justify-content:center}body[data-theme=day] .scene-tag{background:linear-gradient(145deg,#173041ed,#092233f5);color:#fff}.scene-tag small{font-size:clamp(9px,2.45vw,11px);line-height:1.1;font-weight:600;color:#f2f7fb}.scene-tag strong{font-size:clamp(13px,3.7vw,17px);font-weight:800;line-height:1.15}.scene-tag>.icon{width:21px;height:21px}.pv-tag{left:14.4%;top:3.1%;width:37.6%;height:13.9%}.grid-tag{left:62.5%;right:auto;top:3.1%;width:33%;height:13.9%}.inverter-tag{left:50.2%;top:46.3%;width:23%;height:13.5%;transform:none}.inverter-tag:active{transform:scale(.97)}.battery-tag{left:3.6%;top:73%;width:23%;height:13.5%}.load-tag{left:62.6%;right:auto;top:72.5%;width:33%;height:14.2%}.stats-strip{margin:-4px 12px 0;padding:10px 4px;border-radius:17px;position:relative;z-index:4}.stat{gap:4px}.stat .icon{width:19px;height:19px}.stat small{font-size:9px}.stat b{font-size:12px}.chart-card{margin:12px 12px 0;padding:14px 12px 12px;border-radius:21px}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:4px}.card-title{gap:5px}.card-title h2{font-size:13px;letter-spacing:-.25px}.tabs{gap:0;padding:2px;background:#7096ac1f}.tab{font-size:9px;padding:6px 7px;white-space:nowrap}.chart-totals{margin:12px 3px 0;align-items:center}.chart-totals strong{font-size:33px;letter-spacing:-1.1px}.chart-totals strong em{font-size:15px}.chart-totals span{font-size:11px}.balance small{font-size:10px}.balance strong{font-size:16px}.chart-viewport{height:126px;margin-top:8px}.chart-time{top:0}.axis-labels{padding:0 2px 0 17px}.legend{margin-top:9px;gap:12px}.kpis{margin:10px 12px 0;gap:7px}.kpi{min-height:85px;padding:11px 3px}.bottom-nav{width:min(calc(100% - 24px),406px);bottom:max(8px,env(safe-area-inset-bottom));height:65px;border-radius:27px}.secondary{padding:12px}.section-header h2{color:var(--text)}.scenario-settings{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.scenario-settings .mode-pill{padding:10px 5px;font-size:11px}.setting-note{font-size:11px;line-height:1.4;color:var(--muted);margin:12px 0 0}@media (max-width:370px){.topbar{height:72px;padding:10px 10px 7px}.identity h1{font-size:19px}.top-actions{gap:4px}.square-btn{width:32px;height:32px}.scene-tag{padding:3px 4px;border-radius:12px}.scene-tag small{font-size:8px}.scene-tag strong{font-size:12px}.scene-tag>.icon{width:16px;height:16px}.chart-card{margin:9px 8px 0;padding:12px 9px}.card-title h2{font-size:12px}.tab{font-size:9px;padding:5px}.stats-strip,.kpis{margin-left:8px;margin-right:8px}.stat b{font-size:11px}}@media (min-width:431px){.app{border:1px solid var(--border)}}.card-heading{flex-wrap:wrap;row-gap:8px}.card-title{flex:1 1 100%}.card-title h2{font-size:14px}.tabs{margin-left:auto}.chart-totals{margin-top:8px}.chart-viewport{height:116px;margin-top:5px}body[data-theme=day]{--bg:#bfd8f0;--card:linear-gradient(145deg,rgba(223,236,250,.95),rgba(191,216,239,.93));--soft:#c2d9f0;--nav:rgba(224,239,253,.98);--border:rgba(255,255,255,.7)}body[data-theme=day] .topbar{background:linear-gradient(180deg,#94bce6,#a6c9ed)}.app{position:relative;background:var(--bg)}.topbar{position:absolute;top:0;left:0;right:0;z-index:25;height:77px;background:transparent!important;border:0;box-shadow:none}body[data-theme=day] .topbar{color:#122b3f}body[data-theme=night] .topbar{color:#f7fcff}#page-home{position:relative}.hero{height:auto;aspect-ratio:595/672;margin:0;isolation:isolate;overflow:hidden;background:var(--bg)}.hero-bg{background-size:100% 100%;background-position:top center;top:0;right:0;bottom:0;left:0;transition:opacity .65s ease}.hero-tint{background:none!important;opacity:0}.hero-bottom-shade{height:15%;bottom:0;background:linear-gradient(to bottom,transparent,var(--bg));opacity:.65;pointer-events:none}.flow-svg{z-index:4;overflow:visible}.flow-route{stroke-width:5;opacity:.95;stroke-linecap:round;stroke-linejoin:round;filter:url(#flowGlow);transition:opacity .3s ease}.flow-route.idle{opacity:0!important}.flow-route.pv{stroke:#ffc334}.flow-route.grid{stroke:#1cbbff}.flow-route.battery,.flow-route.load{stroke:#50ef63}.flow-particle{filter:url(#flowGlow);stroke:#fff;stroke-width:.7px}.scene-tag{z-index:8;backdrop-filter:blur(11px);-webkit-backdrop-filter:blur(11px);background:linear-gradient(145deg,#0a212df2,#091d27f7);border:1px solid rgba(190,224,238,.45);box-shadow:0 4px 16px #0015,inset 0 1px #ffffff1a}body[data-theme=day] .scene-tag{background:linear-gradient(145deg,#123041f5,#092233fa);color:#fff}.pv-tag{left:10.6%;top:20.5%;width:41.1%;height:11%}.grid-tag{left:62.1%;top:20.5%;width:33.3%;height:11%}.inverter-tag{left:49.8%;top:55%;width:23%;height:10.5%}.battery-tag{left:3.8%;top:76.3%;width:23.4%;height:10%}.load-tag{left:62.7%;top:75.7%;width:33%;height:10.8%}.stats-strip{margin:-16px 12px 0;position:relative;z-index:12}.chart-card{margin-top:12px}.chart-totals{margin-top:9px}.chart-viewport{height:128px}.chart-totals{display:flex;justify-content:space-between;align-items:end;gap:10px}.chart-viewport{width:100%}.kpis{margin-top:12px;margin-bottom:18px}.bottom-nav{z-index:45}body[data-theme=day]{--bg:#b8d6ec;--card:linear-gradient(145deg,rgba(21,54,75,.95),rgba(12,40,57,.97));--text:#f6fbff;--muted:#b6d0e0;--soft:#244c65;--border:rgba(177,219,242,.35);--nav:rgba(14,45,63,.96);--line:rgba(196,226,240,.15)}body[data-theme=night]{--bg:#061924;--card:linear-gradient(145deg,rgba(18,46,62,.97),rgba(9,30,42,.98));--nav:rgba(9,33,46,.96)}@media (max-width:370px){.pv-tag{width:39%}.grid-tag{width:35%;left:61%}.scene-tag strong{font-size:12px}.scene-tag small{font-size:9px}}:root{--radius:20px}body[data-theme=night]{--bg:#061924;--text:#f5fbff;--muted:#a9c1d0;--card:linear-gradient(150deg,rgba(21,49,65,.95),rgba(8,29,42,.97));--border:rgba(173,219,239,.21);--soft:#193a4b;--nav:rgba(10,34,47,.97)}body[data-theme=day]{--bg:#b7d5e9;--text:#f6fbff;--muted:#c3d9e9;--card:linear-gradient(150deg,rgba(22,56,77,.94),rgba(11,37,55,.96));--border:rgba(204,236,249,.29);--soft:#2a5670;--nav:rgba(12,43,62,.97)}.app{min-height:100dvh;padding-bottom:105px}.topbar{height:76px;padding:12px 15px 8px;z-index:35}.topbar h1{font-size:21px}.hero{aspect-ratio:595/672;overflow:hidden}.hero-bg{background-size:cover;background-position:center top;filter:saturate(1.08)}.hero-bottom-shade{height:21%;opacity:1;background:linear-gradient(0deg,var(--bg) 0%,rgba(6,25,36,.65) 34%,transparent 100%)}body[data-theme=day] .hero-bottom-shade{background:linear-gradient(0deg,var(--bg) 0%,rgba(183,213,233,.2) 50%,transparent 100%)}.flow-svg{z-index:5;pointer-events:none}.flow-route,.flow-route.pv,.flow-route.grid,.flow-route.battery,.flow-route.load{stroke:#d2e2eb57;stroke-width:2.2;opacity:.65;filter:none;fill:none}body[data-theme=day] .flow-route{stroke:#22354380}.flow-route.idle{opacity:.4!important}.flow-active{fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:5 14;filter:url(#flowGlow);animation:energyFlow var(--flow-duration,.6s) linear infinite;opacity:1;pointer-events:none}.flow-active.pv{stroke:#ffc32e}.flow-active.grid{stroke:#20c3ff}.flow-active.battery,.flow-active.load{stroke:#54f970}.flow-active.reverse{animation-direction:reverse}.flow-active.idle{opacity:0}@keyframes energyFlow{to{stroke-dashoffset:-38}}.flow-particle{filter:url(#flowGlow)}.scene-tag{border-radius:17px;box-shadow:0 5px 14px #00000052,inset 0 1px #ffffff1f;border-color:#c7e9fa52}.scene-tag small{font-size:clamp(9px,2.45vw,11px);font-weight:580}.scene-tag strong{font-size:clamp(12px,3.7vw,17px)}.pv-tag{left:10.5%;top:19.7%;width:41.5%;height:12%}.grid-tag{left:61.7%;top:19.7%;width:34%;height:12%}.inverter-tag{left:49.5%;top:54.5%;width:24%;height:11.4%}.battery-tag{left:3.2%;top:75.2%;width:24.5%;height:12%}.load-tag{left:62.2%;top:75.1%;width:34%;height:12.1%}.stats-strip{margin-top:-17px;z-index:12}.chart-card{padding:14px 12px 13px}.card-heading{flex-wrap:nowrap;align-items:center;gap:7px}.card-title{flex:1 1 auto;min-width:0}.card-title h2{font-size:13px;line-height:1.2;white-space:normal}.card-title .icon{width:16px;height:16px}.period-picker{position:relative;flex:none;z-index:18}.period-trigger{display:flex;align-items:center;justify-content:center;gap:7px;min-width:88px;padding:8px 10px 8px 13px;background:linear-gradient(145deg,#2a586bed,#133647f2);color:#fff;border:1px solid rgba(174,225,244,.23);border-radius:14px;font-size:12px;font-weight:720;box-shadow:inset 0 1px #ffffff1a}.period-trigger .icon{width:15px;height:15px;stroke-width:2.4;transition:transform .18s}.period-trigger[aria-expanded=true] .icon{transform:rotate(180deg)}.period-menu{position:absolute;right:0;top:calc(100% + 7px);width:138px;padding:5px;border-radius:14px;background:#112d3c;color:#f4faff;border:1px solid rgba(188,228,245,.25);box-shadow:0 14px 30px #00000059;z-index:70;display:flex;flex-direction:column;gap:2px}.period-menu[hidden]{display:none!important}.period-menu button{padding:10px 12px;border-radius:9px;background:transparent;color:#d5e6ef;text-align:left;font-size:12px;font-weight:650}.period-menu button:hover,.period-menu button:focus-visible,.period-menu button.active{background:#31cf4e2e;color:#6df47f}.chart-totals{margin-top:10px;align-items:center}.chart-totals strong{font-size:32px}.chart-viewport{height:128px;margin-top:6px}.axis-labels{font-size:10px}.legend{margin-top:8px}.page.secondary{padding:92px 12px 95px;min-height:100dvh}.section-header{margin:0 0 16px}.section-header h2{font-size:25px;color:#fff;font-weight:760;margin:0 0 4px;letter-spacing:-.6px}.section-header p{font-size:12px;color:var(--muted);margin:0}.secondary .card{padding:15px;margin-bottom:11px}.secondary h3{font-size:14px}.analytics-chart-card{padding:15px 13px 16px!important}.analytics-chart-head{display:flex;justify-content:space-between;align-items:center;gap:9px;margin-bottom:16px}.analytics-chart-head h3{margin:4px 0 0;font-size:15px;line-height:1.2;color:#fff}.eyebrow{font-size:9px;letter-spacing:1.1px;font-weight:800;color:#9fbacb}.analytics-head-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 8px}.analytics-head-metrics>div{display:flex;flex-direction:column;gap:4px;padding:9px 11px;border-radius:12px;background:#89c1de12;border:1px solid rgba(166,209,231,.12)}.analytics-head-metrics span{font-size:10px;color:var(--muted)}.analytics-head-metrics strong{font-size:19px;color:#f7fcff;font-weight:760}.analytics-head-metrics>div:first-child strong{color:#60ef6b}.analytics-chart-wrap{height:178px;position:relative;margin-top:12px}.analytics-chart-wrap svg{width:100%;height:100%;display:block;overflow:visible;touch-action:pan-y;color:#eaf7ff}.analytics-time{position:absolute;top:1px;transform:translate(-50%);font-size:10px;color:#e7faff;background:#183b4d;border:1px solid rgba(200,230,245,.3);border-radius:20px;padding:3px 7px;pointer-events:none}.analytics-axis{padding-left:14px}.analytics-legend{display:flex;gap:15px;justify-content:center;align-items:center;font-size:11px;color:#c3d8e3;margin-top:12px}.analytics-legend span{display:flex;gap:6px;align-items:center}.analytics-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 11px}.secondary .analytics-mini{margin:0;display:flex;flex-direction:column;gap:6px;padding:14px 12px}.analytics-mini small{font-size:10px;color:var(--muted)}.analytics-mini strong{font-size:18px;color:#fff}.analytics-mini:first-child strong{color:#4ee763}.analytics-mini span{font-size:10px;color:var(--muted)}.flow-row span{display:flex;align-items:center;gap:8px}.flow-row strong{white-space:nowrap}.devices-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:77px}.devices-status{display:flex;align-items:center;gap:8px;font-size:14px;color:#f5fcff}.devices-status .dot{width:9px;height:9px}.devices-summary p{font-size:10px;color:var(--muted);margin:6px 0 0}.devices-demo{font-size:10px;letter-spacing:.9px;color:#8fb3c5;border:1px solid rgba(190,222,235,.22);border-radius:9px;padding:6px 8px}.devices-section-label{font-size:10px;letter-spacing:1.2px;font-weight:800;color:#95b5c6;margin:20px 2px 11px}.device-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:11px}.secondary .device-tile{margin:0;min-width:0;min-height:157px;display:flex;flex-direction:column;align-items:stretch;gap:6px;position:relative;padding:13px 12px;text-align:left;color:var(--text);transition:transform .2s,border-color .2s}.device-tile:active{transform:scale(.98)}.device-tile.device-wide{grid-column:1/-1;min-height:142px}.device-top{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:8px}.device-icon{width:36px;height:36px;border-radius:12px;background:#43d95e21;color:#5de66e;display:grid;place-items:center}.device-icon .icon{width:21px;height:21px}.device-state{display:flex;align-items:center;gap:5px;font-size:9px;color:#bcd2dc;white-space:nowrap}.device-state i{width:6px;height:6px;border-radius:50%;background:#47df66;box-shadow:0 0 6px #3fd95d66}.device-tile>strong{font-size:12px;line-height:1.25;font-weight:670;color:#f2fbff}.device-value{font-size:23px;font-weight:790;line-height:1.1;letter-spacing:-.6px;color:#fff}.device-tile small{font-size:10px;color:#a8c2d0;line-height:1.3;max-width:90%}.device-chevron{position:absolute;right:11px;bottom:12px;width:15px;height:15px;color:#8eafbf}.devices-routing{margin-top:13px}.devices-routing-title{display:flex;align-items:center;gap:7px;color:#fff;font-size:13px}.devices-routing-title .icon{color:#58eb72;width:18px;height:18px}.devices-routing p{font-size:12px;color:#c4d9e3;margin:10px 0 14px;line-height:1.4}.devices-scenarios{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.devices-scenarios .mode-pill{font-size:10px;padding:9px 3px;white-space:normal;line-height:1.2}.nav-item span{font-size:9px;letter-spacing:-.2px}.nav-item .icon{width:22px;height:22px}.kpi span{font-size:9px}.kpi b{font-size:13px}@media (max-width:370px){.topbar h1{font-size:18px}.card-title h2{font-size:12px}.period-trigger{min-width:76px;padding:7px 8px;font-size:11px}.scene-tag small{font-size:8px}.scene-tag strong{font-size:12px}.scene-tag>.icon{width:16px;height:16px}.stat small{font-size:8px}.stat b{font-size:10px}.nav-item span{font-size:8px}.device-tile small{font-size:9px}}@media (prefers-reduced-motion:reduce){.flow-active{animation:none}}body.flow-paused .flow-active{animation-play-state:paused;opacity:0}.speed-setting{margin-top:10px;padding-top:13px;border-top:1px solid var(--line)}.speed-setting>small{display:block;margin-top:7px;color:var(--muted);font-size:11px;line-height:1.4}body[data-theme=day]{--bg:#edf6ff;--text:#14253c;--muted:#637a91;--card:linear-gradient(155deg,rgba(255,255,255,.98),rgba(246,251,255,.97));--border:rgba(183,207,226,.74);--soft:#e9f2fb;--nav:rgba(252,254,255,.98);--line:rgba(142,169,192,.27);--icon:#213a53;--shadow:0 5px 19px rgba(32,80,119,.1) }body[data-theme=night]{--bg:#061924;--text:#f4fbff;--muted:#a6bfcd;--card:linear-gradient(150deg,rgba(21,49,65,.97),rgba(8,29,42,.99))}html{background:var(--bg)}body[data-theme=day] .app{background:linear-gradient(180deg,#f2f8ff,#e9f4ff 57%,#f4f9ff)}.app{max-width:430px;padding:0 10px 104px}.topbar,.topbar[style]{position:relative!important;inset:auto!important;height:77px!important;padding:13px 7px 10px!important;z-index:40;background:transparent!important}body[data-theme=day] .topbar,body[data-theme=day] .topbar h1{color:#0e2238}body[data-theme=day] .square-btn{background:#fff;color:#1a344b;border-color:#dbe9f6;box-shadow:0 4px 13px #345b7e1a}body[data-theme=day] .brand-bolt{background:#edf6ff}.hero{aspect-ratio:572/507!important;width:100%;margin:2px 0 0!important;border-radius:23px!important;overflow:hidden;box-shadow:0 12px 24px #193f5c1f;background:#a9dafa;border:1px solid rgba(210,232,247,.55)}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-size:100% 100%!important;background-position:center center!important;background-repeat:no-repeat;filter:none!important;opacity:0;transition:opacity .55s ease}.hero-bg-day{background-image:url(assets/hero-day.webp)}.hero-bg-night{background-image:url(assets/hero-night.webp)}body[data-theme=day] .hero-bg-day,body[data-theme=night] .hero-bg-night{opacity:1}body[data-theme=day] .hero-bg-night,body[data-theme=night] .hero-bg-day{opacity:0}.hero-bottom-shade{height:8%!important;background:linear-gradient(0deg,rgba(2,25,39,.07),transparent)!important;opacity:.6!important}body[data-theme=day] .hero-bottom-shade{background:linear-gradient(0deg,rgba(235,246,255,.08),transparent)!important}.flow-svg{top:0;right:0;bottom:0;left:0;z-index:7;pointer-events:none}.flow-route,.flow-active{stroke:transparent!important;opacity:0!important;filter:none!important;animation:none!important}.flow-particle{filter:drop-shadow(0 0 3px white) drop-shadow(0 0 5px currentColor);stroke:#fff;stroke-width:.8px}.scene-tag{z-index:9;box-shadow:0 2px 9px #02162530;border-radius:18px;padding:4px 7px;min-height:0;background:linear-gradient(145deg,#163345fa,#0d2738fa)!important;border:1px solid rgba(224,242,255,.55)!important;color:#fff!important;-webkit-backdrop-filter:none;backdrop-filter:none}body[data-theme=day] .scene-tag{background:linear-gradient(145deg,#284c60f7,#173a4df7)!important}.scene-tag small{font-size:clamp(8px,2.6vw,10px);color:#f4f9ff}.scene-tag strong{font-size:clamp(12px,3.7vw,16px);color:#fff}.pv-tag{left:2.1%;top:3.4%;width:42.4%;height:15%}.grid-tag{left:61.6%;top:3.4%;width:36.4%;height:15%}.inverter-tag{left:45%;top:42.8%;width:28%;height:14%}.battery-tag{left:2%;top:70.6%;width:25.8%;height:13.5%}.load-tag{left:67.4%;top:70.6%;width:30.5%;height:13.5%}.scene-tag .icon{width:18px;height:18px}.stats-strip{position:relative;margin:10px 0 0!important;z-index:11;padding:12px 5px;border-radius:19px}body[data-theme=day] .stats-strip{background:#fff;box-shadow:0 4px 14px #1d4b6f17}.chart-card{margin-top:12px;border-radius:19px}body[data-theme=day] .card,body[data-theme=day] .card-title h2,body[data-theme=day] .chart-totals strong{color:#13283d}body[data-theme=day] .period-trigger{background:#edf5fd;color:#17364e;border:1px solid #d2e4f2;box-shadow:0 3px 10px #264e701a}body[data-theme=day] .period-menu{background:#fff;color:#14283d;border:1px solid #d7e5f0;box-shadow:0 12px 30px #1d497030}body[data-theme=day] .period-menu button{color:#263c51}body[data-theme=day] .period-menu button.active{background:#dff9e7;color:#10853b}body[data-theme=day] .chart-time{background:#f1f7fc;color:#18364e;border:1px solid #c6dcea}body[data-theme=day] .kpi{background:#fff;color:#1b3045}body[data-theme=day] .kpi b{color:#1c3044}body[data-theme=day] .kpi:first-child b{color:#119b38}body[data-theme=day] .bottom-nav{background:#fffffff7;border:1px solid #dbe9f2;box-shadow:0 4px 18px #2554771f}body[data-theme=day] .nav-item{color:#4a5e70}body[data-theme=day] .nav-item.active{background:linear-gradient(140deg,#cbf9cf,#91e99f);color:#0b7027;box-shadow:0 3px 12px #21a7472b}body[data-theme=day] .nav-item.active span{color:#0b7027}.page.secondary{padding:14px 4px 100px!important;min-height:calc(100dvh - 77px)}body[data-theme=day] .section-header h2{color:#142c43}body[data-theme=day] .section-header p{color:#5d7488}body[data-theme=day] .secondary h3,body[data-theme=day] .analytics-chart-head h3,body[data-theme=day] .devices-routing-title{color:#1c344a}body[data-theme=day] .eyebrow,body[data-theme=day] .devices-section-label{color:#6d8497}body[data-theme=day] .analytics-head-metrics>div{background:#f3f8fd;border:1px solid #dbe8f2}body[data-theme=day] .analytics-head-metrics strong,body[data-theme=day] .analytics-mini strong,body[data-theme=day] .device-value{color:#132d42}body[data-theme=day] .analytics-head-metrics>div:first-child strong,body[data-theme=day] .analytics-mini:first-child strong{color:#11a53d}body[data-theme=day] .analytics-chart-wrap svg{color:#274960}body[data-theme=day] .analytics-time{background:#eff7ff;color:#1b3b55;border:1px solid #c7dceb}body[data-theme=day] .analytics-legend{color:#3f5a71}body[data-theme=day] .devices-status,body[data-theme=day] .device-tile>strong,body[data-theme=day] .devices-routing-title{color:#19384f}body[data-theme=day] .device-state,body[data-theme=day] .device-tile small{color:#59758b}body[data-theme=day] .device-icon{background:#e7f9e9;color:#16a840}body[data-theme=day] .devices-routing p{color:#4e6b80}body[data-theme=day] .settings-card h3{color:#18334b}body[data-theme=day] .settings-card b{color:#173149}body[data-theme=day] .secondary .card{box-shadow:0 4px 15px #28567d14}@media (max-width:360px){.hero{border-radius:17px!important}.scene-tag{padding:3px 4px;border-radius:12px}.scene-tag small{font-size:7px}.scene-tag strong{font-size:11px}.scene-tag .icon{width:15px;height:15px}.stats-strip{padding:10px 3px}.topbar h1{font-size:18px}}.app{padding-left:0!important;padding-right:0!important;position:relative;overflow:hidden}.app:has(#page-home.active) .topbar{position:absolute!important;top:0!important;left:0!important;right:0!important;z-index:50!important;height:78px!important;padding:15px 16px 8px!important;background:transparent!important;box-shadow:none!important}.app:not(:has(#page-home.active)) .topbar{position:relative!important;top:auto!important;left:auto!important;right:auto!important;height:78px!important;padding:15px 16px 8px!important}body[data-theme=day] .app:has(#page-home.active) .topbar{color:#112b40}body[data-theme=night] .app:has(#page-home.active) .topbar{color:#fff}body[data-theme=day] .app:has(#page-home.active) .square-btn{background:#ffffffab;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}body[data-theme=night] .app:has(#page-home.active) .square-btn{background:#0c273aa6;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}.hero{--scene-sky:clamp(67px,20.979vw,90px);--scene-photo:clamp(284px,88.636vw,381px);--scene-fade:clamp(51px,18.18vw,78px);position:relative;width:100%;height:calc(var(--scene-sky) + var(--scene-photo) + var(--scene-fade));aspect-ratio:auto!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:hidden;background:var(--bg)!important}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-size:100% 100%!important;background-position:center top!important;border:0;border-radius:0!important;filter:none!important}.hero-scene{position:absolute;z-index:6;top:var(--scene-sky);left:0;width:100%;height:var(--scene-photo);pointer-events:none}.hero-scene .scene-tag{pointer-events:auto}.hero-scene .flow-svg{top:0;right:0;bottom:0;left:0;z-index:7;width:100%;height:100%}.hero-tint{display:none!important}.hero-bottom-shade{position:absolute;z-index:10;left:0;right:0;bottom:0;height:22%!important;opacity:1!important;pointer-events:none;background:linear-gradient(to bottom,transparent 0%,var(--bg) 98%)!important}body[data-theme=day] .hero-bottom-shade{background:linear-gradient(to bottom,transparent 0%,#edf6ff 98%)!important}body[data-theme=night] .hero-bottom-shade{background:linear-gradient(to bottom,transparent 0%,#061924 98%)!important}.stats-strip{margin:-25px 12px 0!important;position:relative;z-index:12}body[data-theme=day] .app{background:#edf6ff}body[data-theme=night] .app{background:#061924}.secondary{padding:14px 12px 100px!important}.chart-card,.kpis{margin-left:12px;margin-right:12px}.app:has(#page-home.active) .brand-bolt{background:transparent!important}@media (max-width:360px){.app:has(#page-home.active) .topbar{height:72px!important;padding:10px 11px 6px!important}.hero{--scene-sky:clamp(67px,20.979vw,76px)}}.hero-scene .flow-route,.hero-scene .flow-route.pv,.hero-scene .flow-route.grid,.hero-scene .flow-route.battery,.hero-scene .flow-route.load{fill:none!important;stroke:#deedf587!important;stroke-width:1.7!important;opacity:.72!important;filter:none!important;stroke-linecap:round;stroke-linejoin:round}body[data-theme=day] .hero-scene .flow-route{stroke:#17384b80!important}.hero-scene .flow-active{fill:none!important;opacity:.88!important;stroke-width:3.4!important;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:4 29!important;filter:url(#flowGlow)!important;animation:energyFlow var(--flow-duration,5.83s) linear infinite!important}.hero-scene .flow-active.pv{stroke:#ffce45!important}.hero-scene .flow-active.grid{stroke:#45cfff!important}.hero-scene .flow-active.battery,.hero-scene .flow-active.load{stroke:#6bf477!important}.hero-scene .flow-active.idle{opacity:0!important}.hero-scene .flow-active.reverse{animation-direction:reverse!important}body.flow-paused .hero-scene .flow-active{animation-play-state:paused!important;opacity:0!important}.hero-scene .flow-particle{filter:drop-shadow(0 0 3px #fff);stroke:#fff;stroke-width:.45px}.scene-equipment{color:#b8cdd8;pointer-events:none}body[data-theme=day] .scene-equipment{color:#627d91}.hero-bg{background-repeat:no-repeat!important}@media (prefers-reduced-motion:reduce){.hero-scene .flow-active{animation:none!important;opacity:0!important}}body[data-theme=day] .scene-tag,body[data-theme=day] .scene-tag.pv-tag,body[data-theme=day] .scene-tag.grid-tag,body[data-theme=day] .scene-tag.inverter-tag,body[data-theme=day] .scene-tag.battery-tag,body[data-theme=day] .scene-tag.load-tag{background:#fafdfff0!important;border:1px solid rgba(255,255,255,.96)!important;color:#10263b!important;box-shadow:0 6px 19px #1a40652b,inset 0 1px #fffffff2!important;backdrop-filter:blur(13px)!important;-webkit-backdrop-filter:blur(13px)!important}body[data-theme=day] .scene-tag small,body[data-theme=day] .scene-tag strong{color:#10263b!important}body[data-theme=day] .scene-tag.pv-tag>.icon{color:#e5a600!important}body[data-theme=day] .scene-tag.grid-tag>.icon{color:#426b8a!important}body[data-theme=day] .scene-tag.load-tag>.icon{color:#16324b!important}body[data-theme=day] .scene-tag.battery-tag strong{color:#159a35!important}body[data-theme=day] .app{background:#f2f8ff!important}body[data-theme=day] .card,body[data-theme=day] .kpi{background:#fffffff7!important;color:#10283f!important}body[data-theme=day] .topbar{color:#122a41!important}body[data-theme=day] .hero-bottom-shade{height:28%!important;background:linear-gradient(180deg,transparent,rgba(242,248,255,.18) 36%,#f2f8ff 100%)!important}body[data-theme=night] .hero-bottom-shade{height:28%!important;background:linear-gradient(180deg,transparent,rgba(6,25,36,.14) 36%,#061924 100%)!important}.scene-equipment polygon{filter:drop-shadow(0 1px 1px rgba(0,0,0,.18))}.hero-scene .flow-route{stroke-width:1.4!important;opacity:.35!important}.hero-scene .flow-active{stroke-width:2.6!important;stroke-dasharray:3 35!important;opacity:.76!important}.hero-scene .flow-particle{opacity:.9}.hero,.hero-bg{border:0!important;border-radius:0!important}@media (max-width:370px){body[data-theme=day] .scene-tag{padding:3px 5px!important}}.battery-tag{height:auto!important;min-height:14%!important;top:72%!important;left:2%!important;width:29%!important;flex-direction:column!important;align-items:flex-start!important;gap:2px!important;padding:6px 8px!important}.battery-tag>span{width:100%}.battery-flow-status{display:block!important;font-size:clamp(8px,2.25vw,10px)!important;line-height:1.2!important;font-weight:650!important;white-space:nowrap!important;color:#a4ffba!important;margin-top:2px!important}body[data-theme=day] .battery-flow-status{color:#16884b!important}.hero-scene #route-battery{stroke-width:2.5!important;opacity:.75!important}.hero-scene #active-battery{stroke-width:4!important;stroke-dasharray:5 23!important;opacity:.95!important}.hero-scene .battery-level-bar{transition:opacity .2s ease}@media (max-width:360px){.battery-tag{width:31%!important;padding:4px 6px!important}.battery-flow-status{font-size:8px!important}}.hero{--scene-sky:clamp(75px,21.37vw,92px);--scene-photo:clamp(292px,88.6vw,380px);--scene-fade:clamp(52px,14vw,64px);background:var(--bg)!important}.hero-bg{background-size:cover!important;background-position:center top!important;top:0!important;right:0!important;bottom:0!important;left:0!important;filter:none!important}.hero-bg-day{background-image:url(assets/hero-day.webp)!important}.hero-bg-night{background-image:url(assets/hero-night.webp)!important}.hero-bottom-shade{z-index:5!important;height:32%!important}body[data-theme=day] .hero-bottom-shade{background:linear-gradient(to bottom,transparent 0%,rgba(242,248,255,.04) 14%,rgba(242,248,255,.56) 61%,#f2f8ff 100%)!important}body[data-theme=night] .hero-bottom-shade{background:linear-gradient(to bottom,transparent 0%,rgba(6,25,36,.04) 14%,rgba(6,25,36,.52) 61%,#061924 100%)!important}.hero-scene .flow-svg{z-index:6!important}.hero-scene .scene-tag{z-index:12!important}.scene-tag,.scene-tag.pv-tag,.scene-tag.grid-tag,.scene-tag.inverter-tag,.scene-tag.battery-tag,.scene-tag.load-tag{background:#0a1d2a6e!important;border:1px solid rgba(233,250,255,.25)!important;box-shadow:0 4px 14px #04152326,inset 0 1px #ffffff1a!important;backdrop-filter:blur(11px)!important;-webkit-backdrop-filter:blur(11px)!important;color:#f8fcff!important;border-radius:14px!important;padding:7px 9px!important}body[data-theme=day] .scene-tag,body[data-theme=day] .scene-tag.pv-tag,body[data-theme=day] .scene-tag.grid-tag,body[data-theme=day] .scene-tag.inverter-tag,body[data-theme=day] .scene-tag.battery-tag,body[data-theme=day] .scene-tag.load-tag{background:#fcfeff80!important;border:1px solid rgba(255,255,255,.66)!important;color:#132c40!important;box-shadow:0 4px 16px #123a571f,inset 0 1px #ffffff8c!important}.scene-tag small{font-size:clamp(9px,2.4vw,10px)!important;font-weight:600!important;color:#f2f9ffd9!important}body[data-theme=day] .scene-tag small{color:#37576a!important}.scene-tag strong{font-size:clamp(13px,3.6vw,15px)!important}.pv-tag{top:9px!important;left:12px!important}.grid-tag{top:9px!important;right:12px!important}.inverter-tag{left:48%!important;top:44%!important;transform:none!important;min-width:0!important;gap:5px!important}.inverter-tag:active{transform:scale(.97)!important}.inverter-tag>.icon{width:18px!important;height:18px!important;color:#7ef29b!important}.battery-tag{left:10px!important;top:46%!important;width:27%!important;min-height:0!important;align-items:stretch!important;gap:2px!important;padding:7px 8px!important}.battery-flow-status{font-size:clamp(8px,2.1vw,10px)!important;color:#a9ffbe!important;white-space:normal!important;line-height:1.2!important}body[data-theme=day] .battery-flow-status{color:#168e47!important}.load-tag{top:73%!important;right:10px!important}.battery-meter{display:grid!important;grid-template-columns:repeat(10,minmax(0,1fr));gap:2px!important;width:100%!important;margin-top:5px!important}.battery-meter i{position:relative;display:block;height:6px;border-radius:2px;background:#9dbead3d;overflow:hidden}.battery-meter i:after{content:"";position:absolute;inset:0 auto 0 0;width:var(--fill,0%);background:linear-gradient(180deg,#9cffb0,#20d95e);border-radius:2px;box-shadow:0 0 3px #29e46633}body[data-theme=day] .battery-meter i{background:#14633824}.battery-object,.inverter-object{opacity:.98}body[data-theme=day] .grid-tower{color:#4e778c;opacity:.5}body[data-theme=night] .grid-tower{color:#b8d4e7;opacity:.58}.hero-scene .flow-route{stroke-width:1.5!important;opacity:.42!important}.hero-scene #route-battery{stroke-width:2.4!important;opacity:.7!important}.hero-scene #active-battery{stroke-width:4.1!important;stroke-dasharray:5 24!important;opacity:1!important;filter:drop-shadow(0 0 4px rgba(73,250,108,.95))!important}.hero-scene #active-battery.idle{opacity:0!important}.hero-scene .battery-halo{fill:none;stroke:#0016127a;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;opacity:.6;pointer-events:none}body[data-theme=night] .hero-scene .battery-halo{stroke:#000f11a6}@media (max-width:360px){.hero{--scene-sky:72px;--scene-photo: 88.6vw ;--scene-fade:76px}.scene-tag,.scene-tag.pv-tag,.scene-tag.grid-tag,.scene-tag.inverter-tag,.scene-tag.battery-tag,.scene-tag.load-tag{padding:5px 6px!important}.scene-tag small{font-size:8px!important}.scene-tag strong{font-size:12px!important}.battery-tag{width:28%!important;left:6px!important}.battery-flow-status{font-size:8px!important}.battery-meter{gap:1px!important}.inverter-tag{left:47%!important}}.device-battery-progress{height:5px;border-radius:5px;background:#5a936c30;overflow:hidden;margin-top:8px;width:100%}.device-battery-progress span{display:block;height:100%;background:linear-gradient(90deg,#19b753,#77ed89);border-radius:5px;transition:width .25s}.hero-scene .flow-route,.hero-scene #route-battery{stroke:#e3f3fa85!important;stroke-width:1.6!important;opacity:.6!important;filter:none!important}body[data-theme=day] .hero-scene .flow-route{stroke:#16394699!important}.hero-scene .flow-active,.hero-scene .flow-particle{display:none!important}.energy-ribbons{pointer-events:none}.energy-ribbon{pointer-events:none;transition:opacity .12s ease}.energy-ribbon-halo{fill:none;stroke-width:10;opacity:.25;stroke-linecap:round;stroke-linejoin:round;filter:url(#flowGlow)}.energy-ribbon-core{fill:none;stroke-width:4.4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 3px rgba(255,255,255,.8))}.energy-ribbon-tip{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.85}body[data-theme=day] .energy-ribbon-halo{opacity:.35}body[data-theme=night] .energy-ribbon-core{stroke-width:4.8}.hero-scene .scene-tag{padding:5px 7px!important;border-radius:12px!important;gap:5px!important;min-width:0!important;min-height:0!important;height:auto!important;line-height:1.05!important}.hero-scene .scene-tag small{font-size:clamp(8px,2.15vw,9.5px)!important;line-height:1.1!important}.hero-scene .scene-tag strong{font-size:clamp(12px,3.45vw,14px)!important;line-height:1.12!important}.hero-scene .scene-tag>.icon{width:16px!important;height:16px!important}.pv-tag{left:12px!important;top:8px!important;width:auto!important;max-width:45%!important}.grid-tag{right:12px!important;left:auto!important;top:8px!important;width:auto!important;max-width:44%!important}.inverter-tag{left:48%!important;top:44%!important;width:auto!important;max-width:32%!important;transform:none!important}.battery-tag{left:10px!important;top:45%!important;width:116px!important;max-width:31%!important;padding:6px 7px!important}.load-tag{right:10px!important;top:73%!important;width:auto!important;max-width:36%!important}.battery-flow-status{font-size:clamp(8px,2.1vw,9.5px)!important;white-space:nowrap!important;margin-top:2px!important}.battery-meter{gap:2px!important;margin-top:4px!important}.battery-meter i{height:7px!important;border-radius:2px!important}.battery-level-bar{filter:drop-shadow(0 0 2px rgba(76,255,123,.6));transition:opacity .18s ease}.battery-object[data-flow=charging] .battery-level-bar{animation:batteryBreathe 1.8s ease-in-out infinite alternate}.battery-object[data-flow=discharging] .battery-level-bar{animation:batteryBreathe 2.4s ease-in-out infinite alternate-reverse}@keyframes batteryBreathe{0%{filter:drop-shadow(0 0 1px #4beb74)}to{filter:drop-shadow(0 0 5px #8bffac)}}.stats-strip{margin:-63px 12px 0!important;position:relative;z-index:16}.flow-toolbar{margin:7px 12px 0;display:flex;align-items:center;gap:6px;justify-content:space-between;position:relative;z-index:16;min-width:0}.flow-toolbar-title{display:flex;align-items:center;gap:3px;color:var(--muted);font-size:10px;font-weight:700;white-space:nowrap}.flow-toolbar-title .icon{width:14px;height:14px;color:#21c949}.flow-toolbar-options{display:flex;align-items:center;gap:3px;min-width:0}.flow-chip{padding:6px;border-radius:8px;font-size:9px;font-weight:720;white-space:nowrap;background:var(--soft);border:1px solid var(--border);color:var(--text);transition:background .2s,color .2s}.flow-chip.active{background:#23c94e29;border-color:#23c94e80;color:#149d39}body[data-theme=night] .flow-chip.active{color:#79f89b}.flow-chip:active{transform:scale(.96)}.soc-live-preview{display:flex;align-items:center;gap:12px;padding:10px 12px;margin-top:9px;border:1px solid var(--line);border-radius:12px;background:#6aa7ba11}.soc-preview-battery{position:relative;width:95px;flex:none;border:2px solid var(--muted);border-radius:8px;padding:7px 5px}.soc-preview-battery:after{content:"";position:absolute;right:-6px;top:32%;height:35%;width:4px;border-radius:0 3px 3px 0;background:var(--muted)}.soc-preview-segments{display:flex;gap:2px;height:24px}.soc-preview-segments i{position:relative;flex:1;min-width:0;border-radius:2px;background:#769b9233;overflow:hidden}.soc-preview-segments i:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:var(--fill,0%);background:linear-gradient(0deg,#1dbd51,#8dff9d);box-shadow:0 0 3px #5bfa87}.soc-preview-caption{display:flex;flex-direction:column;gap:3px;min-width:0}.soc-preview-caption strong{font-size:17px;color:#16b34b}.soc-preview-caption small{font-size:10px;color:var(--muted)}@media (max-width:370px){.flow-toolbar{gap:3px;margin-left:7px;margin-right:7px}.flow-toolbar-title{font-size:9px}.flow-chip{font-size:8px;padding:5px 4px}.stats-strip{margin-top:-57px!important}.battery-tag{width:109px!important}}.hero-scene #route-pv.has-power{stroke:#ffc53eb8!important;opacity:.8!important;stroke-width:2.1!important;filter:drop-shadow(0 0 3px #ffce45)!important}.hero-scene #route-grid.has-power{stroke:#3eceffb3!important;opacity:.8!important;stroke-width:2.1!important;filter:drop-shadow(0 0 3px #45cfff)!important}.hero-scene #route-battery.has-power{stroke:#3ef17cd1!important;opacity:.9!important;stroke-width:2.8!important;filter:drop-shadow(0 0 5px #34fa89)!important}.hero-scene #route-load.has-power{stroke:#c9fb69b8!important;opacity:.8!important;stroke-width:2.1!important;filter:drop-shadow(0 0 3px #a9ff70)!important}@media (prefers-reduced-motion:reduce){.battery-object .battery-level-bar{animation:none!important}}body[data-theme=day]{--bg:#f2f8ff;--text:#132c40;--muted:#536c80;--card:rgba(255,255,255,.89);--soft:#e4eff8;--border:rgba(255,255,255,.91);--line:rgba(39,83,113,.13);--nav:rgba(250,253,255,.96);--badge-text:#173448}body[data-theme=night]{--bg:#061924;--text:#f3f9ff;--muted:#a8bfd0;--card:linear-gradient(145deg,rgba(18,46,62,.96),rgba(9,30,42,.97));--soft:#153747;--border:rgba(173,215,235,.18);--nav:rgba(9,33,46,.96);--badge-text:#f3f9ff}.hero,.hero-bg{border-radius:0!important;border:0!important}body[data-theme=day] .hero-bottom-shade{background:linear-gradient(to bottom,transparent 0%,rgba(242,248,255,.05) 20%,rgba(242,248,255,.63) 66%,#f2f8ff 100%)!important}body[data-theme=night] .hero-bottom-shade{background:linear-gradient(to bottom,transparent 0%,rgba(6,25,36,.06) 20%,rgba(6,25,36,.66) 66%,#061924 100%)!important}.topbar{color:var(--text)!important;background:transparent!important;box-shadow:none!important}body[data-theme=day] .identity h1{color:#132c40!important;text-shadow:0 1px 8px rgba(255,255,255,.6)}body[data-theme=night] .identity h1{color:#f4faff!important;text-shadow:0 2px 12px rgba(1,13,25,.45)}body[data-theme=day] .brand,body[data-theme=day] .brand-bolt{color:#14853f!important}body[data-theme=night] .brand,body[data-theme=night] .brand-bolt{color:#75f3a0!important}body[data-theme=day] .brand-bolt{background:#f2f8ffbf!important}body[data-theme=night] .brand-bolt{background:#061924a6!important}body[data-theme=day] .square-btn{color:#16354a!important;background:#ffffffa1!important;border-color:#ffffffd9!important}body[data-theme=night] .square-btn{color:#eefaff!important;background:#081d2ba8!important;border-color:#c5e5f345!important}.hero-scene .scene-tag,.hero-scene .scene-tag.pv-tag,.hero-scene .scene-tag.grid-tag,.hero-scene .scene-tag.inverter-tag,.hero-scene .scene-tag.battery-tag,.hero-scene .scene-tag.load-tag{border-radius:11px!important;box-shadow:0 3px 11px #0013221f!important;gap:0!important;padding:5px 8px!important;min-width:0!important;text-align:left!important;align-items:flex-start!important;justify-content:flex-start!important;backdrop-filter:blur(9px)!important;-webkit-backdrop-filter:blur(9px)!important}body[data-theme=day] .hero-scene .scene-tag,body[data-theme=day] .hero-scene .scene-tag.pv-tag,body[data-theme=day] .hero-scene .scene-tag.grid-tag,body[data-theme=day] .hero-scene .scene-tag.inverter-tag,body[data-theme=day] .hero-scene .scene-tag.battery-tag,body[data-theme=day] .hero-scene .scene-tag.load-tag{background:#ffffffb0!important;color:#132b3e!important;border:1px solid rgba(255,255,255,.84)!important}body[data-theme=night] .hero-scene .scene-tag,body[data-theme=night] .hero-scene .scene-tag.pv-tag,body[data-theme=night] .hero-scene .scene-tag.grid-tag,body[data-theme=night] .hero-scene .scene-tag.inverter-tag,body[data-theme=night] .hero-scene .scene-tag.battery-tag,body[data-theme=night] .hero-scene .scene-tag.load-tag{background:#071b27b3!important;color:#f2fbff!important;border:1px solid rgba(190,227,242,.22)!important}.hero-scene .scene-tag>.icon{display:none!important}.hero-scene .scene-tag small{font-size:clamp(8px,2.1vw,9px)!important;font-weight:620!important;line-height:1.15!important;letter-spacing:.02px}.hero-scene .scene-tag strong{font-size:clamp(12px,3.4vw,14px)!important;font-weight:770!important;line-height:1.16!important;letter-spacing:-.15px}body[data-theme=day] .hero-scene .scene-tag small{color:#496578!important}body[data-theme=night] .hero-scene .scene-tag small{color:#b5cbd9!important}.hero-scene .pv-tag strong{color:#13a83f!important}.hero-scene .grid-tag strong{color:#0a9bcd!important}body[data-theme=night] .hero-scene .grid-tag strong{color:#6bdfff!important}.hero-scene .battery-tag strong{color:#19bd55!important}body[data-theme=night] .hero-scene .battery-tag strong{color:#76fba0!important}.hero-scene .load-tag strong{color:#d58d05!important}body[data-theme=night] .hero-scene .load-tag strong{color:#ffd05c!important}.grid-flow-state{display:block;margin-top:2px;white-space:nowrap;font-size:clamp(8px,2vw,9px);font-weight:650;color:#258cb2}body[data-theme=night] .grid-flow-state{color:#80dfff}.pv-tag{left:9px!important;top:7px!important;max-width:42%!important}.grid-tag{right:9px!important;top:7px!important;max-width:43%!important}.inverter-tag{left:50%!important;top:44%!important;max-width:27%!important}.battery-tag{left:8px!important;top:47%!important;width:114px!important;max-width:32%!important}.load-tag{right:9px!important;top:74%!important;max-width:33%!important}.energy-streams{pointer-events:none}.energy-stream{pointer-events:none;transition:opacity .16s ease}.stream-halo{stroke-width:11;stroke-linecap:round;stroke-linejoin:round;opacity:.52;filter:url(#flowGlow)}.stream-core{stroke-width:3.9;stroke-linecap:round;stroke-linejoin:round;opacity:1;filter:drop-shadow(0 0 3px rgba(255,255,255,.7))}body[data-theme=day] .stream-halo{opacity:.36}body[data-theme=night] .stream-halo{opacity:.63}.energy-ribbons{display:none!important}.hero-scene #route-grid.has-power{stroke:#1fb7ffe6!important;stroke-width:3.2!important;opacity:1!important;filter:drop-shadow(0 0 5px rgba(42,211,255,.95))!important}.hero-scene #route-battery.has-power{stroke:#23eb78eb!important;stroke-width:3.1!important;opacity:1!important;filter:drop-shadow(0 0 5px rgba(36,248,135,.9))!important}.app{padding-bottom:calc(74px + env(safe-area-inset-bottom))!important}.kpis{margin-top:8px!important;margin-bottom:0!important}.chart-card{margin-bottom:0!important}.flow-toolbar{margin-top:5px!important;margin-bottom:0!important}.stats-strip{margin-top:-68px!important}.bottom-nav{height:61px!important;bottom:max(5px,env(safe-area-inset-bottom))!important}.nav-item{gap:2px!important}@media (max-width:370px){.stats-strip{margin-top:-59px!important}.battery-tag{width:109px!important}.grid-tag{max-width:46%!important}}@media (prefers-reduced-motion:reduce){.energy-stream{display:none!important}}.hero-scene .flow-route,.hero-scene #route-grid.has-power,.hero-scene #route-battery.has-power{stroke:#5a7f9152!important;stroke-width:1.2!important;opacity:.55!important;filter:none!important}body[data-theme=night] .hero-scene .flow-route{stroke:#c0dcec42!important}.energy-streams .plasma-route{pointer-events:none;transition:opacity .3s ease}.energy-streams .plasma-track{stroke-width:2.2;opacity:.31;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 2px currentColor)}.energy-streams .plasma-track-glint{stroke-width:.8;opacity:.52;stroke-linecap:round;stroke-linejoin:round}.energy-streams .plasma-pulse-halo{opacity:.78}.energy-streams .plasma-pulse-body{opacity:.95;filter:drop-shadow(0 0 2px rgba(255,255,255,.85))}.energy-streams .plasma-pulse-highlight{stroke:#fff;stroke-width:.8;fill:none;opacity:.93;stroke-linecap:round}.energy-streams .energy-port{filter:drop-shadow(0 0 3px rgba(200,244,255,.75));transition:opacity .25s ease}.energy-streams .port-source{filter:drop-shadow(0 0 5px rgba(255,255,255,.92))}body[data-theme=day] .energy-streams .plasma-track{opacity:.42}body[data-theme=night] .energy-streams .plasma-track{opacity:.48}.hero-scene .grid-tower{color:#a7c6d9!important;opacity:.96!important;filter:drop-shadow(0 1px 2px rgba(2,25,41,.95)) drop-shadow(0 0 2px rgba(22,170,245,.5))}body[data-theme=day] .hero-scene .grid-tower{color:#b6d2e0!important;opacity:1!important;filter:drop-shadow(0 1px 2px rgba(2,32,49,.98)) drop-shadow(0 0 3px rgba(0,119,184,.9))}.hero-scene .grid-tower .tower-power-symbol{stroke:#51ceff;fill:#37bfff4d}.hero-scene .battery-tag{left:9px!important;top:58%!important;width:101px!important;max-width:29%!important;min-height:0!important;height:auto!important;padding:6px 8px!important;gap:2px!important}.hero-scene .battery-tag .battery-flow-status,.hero-scene .battery-tag .battery-meter{display:none!important}body[data-theme=day] .hero-scene .battery-tag,body[data-theme=day] .hero-scene .battery-tag strong,body[data-theme=day] .hero-scene .battery-tag small{color:#102738!important}body[data-theme=night] .hero-scene .battery-tag,body[data-theme=night] .hero-scene .battery-tag strong,body[data-theme=night] .hero-scene .battery-tag small{color:#f6fbff!important}@media (max-width:370px){.hero-scene .battery-tag{left:7px!important;top:57%!important;width:93px!important}}@media (prefers-reduced-motion:reduce){.energy-streams .plasma-pulse{display:none!important}}.hero-scene .battery-object{transform-box:view-box;opacity:.97}.hero-scene .grid-tower{opacity:.78!important;filter:drop-shadow(0 1px 1px rgba(2,24,37,.5))!important}body[data-theme=day] .hero-scene .grid-tower{color:#6f8794!important;opacity:.84!important;filter:drop-shadow(0 1px 1px rgba(5,40,61,.45))!important}body[data-theme=night] .hero-scene .grid-tower{color:#aec5d0!important;opacity:.86!important}.hero-scene .grid-tower .tower-power-symbol{stroke:#8bcde8;fill:#4ba2c624}.hero-scene .flow-svg{overflow:visible!important}.energy-streams .energy-port{filter:drop-shadow(0 0 2px rgba(235,255,255,.8))}.hero-scene .battery-tag{top:58%!important;left:9px!important}.hero-scene .grid-tag{right:72px!important;top:7px!important;max-width:27%!important}@media (max-width:370px){.hero-scene .grid-tag{right:62px!important;max-width:29%!important}}:root{--ui-speed:.15s;--ui-ease:cubic-bezier(.2,.72,.3,1)}html,body,.app{scroll-behavior:auto!important}body,.app{transition:background-color var(--ui-speed) ease,color var(--ui-speed) ease!important}.card{transition:background-color var(--ui-speed) ease,border-color var(--ui-speed) ease!important}.hero,.hero-bg{transition:opacity var(--ui-speed) linear!important}.hero-bg{will-change:opacity}.hero-tint,.hero-bottom-shade{transition:none!important}.square-btn,.mode-pill,.flow-chip,.period-trigger,.period-menu button,.nav-item,.theme-option,.secondary-btn,.stat,.kpi,.device-tile{touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background-color .12s ease,color .12s ease,border-color .12s ease,transform 90ms ease,box-shadow .12s ease!important}button:active{filter:brightness(.96)}.square-btn:active,.mode-pill:active,.flow-chip:active,.theme-option:active,.secondary-btn:active,.period-trigger:active{transform:scale(.955)}.nav-item:active{transform:scale(.97)}.toggle{touch-action:manipulation;transition:background-color .12s ease!important}.toggle span{transition:transform .12s var(--ui-ease)!important}.toast{transition:opacity .13s ease,transform .13s ease!important}.top-actions{align-items:center;gap:7px}.quick-theme-btn{position:relative}.quick-theme-btn .icon{width:20px;height:20px}body[data-theme=day] .quick-theme-btn{background:#ffffffdb;color:#133b57;border-color:#fffffff2}body[data-theme=night] .quick-theme-btn{background:#1c3f51f0;color:#dbeeff;border-color:#a9d7ea59}.settings-appearance{padding-bottom:13px}.theme-setting{padding:9px 0 12px;border-top:1px solid var(--line)}.theme-setting-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}.theme-setting-head b{font-size:13px;color:var(--text)!important;font-weight:720}.theme-setting-head small{display:block;font-size:11px;line-height:1.3;color:var(--muted);margin-top:4px}.theme-setting-icon{width:21px;height:21px;color:var(--muted)}.theme-segments{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:4px;gap:4px;border:1px solid var(--border);border-radius:16px;background:var(--soft)}.theme-option{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px 5px;border-radius:12px;background:transparent;color:var(--muted);font-size:12px;font-weight:680;white-space:nowrap}.theme-option .icon{width:17px;height:17px}.theme-option.active{background:var(--card);border:1px solid var(--border);box-shadow:0 3px 10px #00172b17;color:var(--text)}body[data-theme=day] .theme-option.active{background:#fffffff2;color:#173348;border-color:#fff}body[data-theme=night] .theme-option.active{background:#2a5367;color:#f5fbff;border-color:#bfe5f742}.theme-option:focus-visible{outline:2px solid #20a8ed;outline-offset:2px}.settings-card .setting-row{min-height:59px}.settings-card .toggle{width:49px;height:29px;padding:3px}.settings-card .toggle span{width:23px;height:23px}.settings-card .toggle.on span{transform:translate(20px)}.settings-card input[type=range]{height:24px;touch-action:pan-y}.settings-card input[type=range]::-webkit-slider-thumb{cursor:grab}.settings-card .mode-pill{min-height:42px}body[data-theme=day] .settings-card h3,body[data-theme=day] .theme-setting-head b{color:#16324b!important}@media (max-width:370px){.top-actions{gap:4px}.quick-theme-btn{width:32px;height:32px}.theme-option{font-size:11px;gap:4px}.theme-option .icon{width:15px;height:15px}}@media (prefers-reduced-motion:reduce){.hero-bg,.toggle span,.theme-option{transition:none!important}}.scenario-settings.scenario-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.scenario-grid .scenario-choice{display:flex;align-items:center;justify-content:flex-start;gap:9px;text-align:left;min-width:0;min-height:58px;padding:9px 11px;border-radius:14px;border:1px solid var(--border);background:var(--soft);color:var(--text)}.scenario-grid .scenario-choice .icon{width:19px;height:19px;flex:none;color:var(--muted)}.scenario-grid .scenario-choice span{display:flex;flex-direction:column;gap:3px;min-width:0}.scenario-grid .scenario-choice b{font-size:12px;font-weight:760;white-space:nowrap}.scenario-grid .scenario-choice small{font-size:10px;font-weight:500;white-space:nowrap;color:var(--muted)}.scenario-grid .scenario-choice.active{background:#1eb84b21;border-color:#26ca55b3;box-shadow:inset 0 0 0 1px #21be5126;color:var(--text)}.scenario-grid .scenario-choice.active .icon{color:#18c850}.scenario-grid .scenario-choice.active small{color:var(--muted)}body[data-theme=night] .scenario-grid .scenario-choice.active{background:#1ba94f33}@media (max-width:350px){.scenario-grid .scenario-choice{padding:9px 7px;gap:5px}.scenario-grid .scenario-choice b{font-size:11px}.scenario-grid .scenario-choice small{font-size:9px}}.daily-summary,.daily-history{margin-top:14px;padding:18px 16px!important;overflow:hidden}.daily-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.daily-head h3{margin:0;font-size:17px;font-weight:750;letter-spacing:-.35px}.daily-head>span{font-size:12px;color:var(--muted,#8ba0a9);white-space:nowrap}.daily-check{color:#22b85e;font-size:23px;margin-right:5px}.daily-notice,.daily-footnote{font-size:11px;line-height:1.5;color:var(--muted,#8ba0a9);margin:6px 0 12px}.daily-footnote{margin:12px 0 0}.daily-stats>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid rgba(135,159,178,.2)}.daily-stats>div:last-child{border:0}.daily-stats span{font-size:13px;line-height:1.35;min-width:0}.daily-stats strong{font-size:14px;font-weight:740;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.daily-table-scroll{overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.daily-table{width:100%;min-width:565px;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}.daily-table th,.daily-table td{padding:11px 7px;text-align:right;white-space:nowrap;border-bottom:1px solid rgba(135,159,178,.22)}.daily-table th:first-child,.daily-table td:first-child{text-align:left}.daily-table th{color:var(--muted,#8ba0a9);font-weight:650;font-size:11px;line-height:1.35}.daily-table tr.current{background:#4691e71c}.daily-table .positive{color:#20aa5c;font-weight:720}.daily-table .negative{color:#e05d64;font-weight:720}@media (max-width:400px){.daily-summary,.daily-history{padding:14px 12px!important}.daily-stats span{font-size:12px}.daily-stats strong{font-size:13px}}.daily-history{overflow:visible!important}.daily-table-scroll{overflow:visible!important;max-width:100%;width:100%;-webkit-overflow-scrolling:auto}.daily-table{width:100%!important;min-width:0!important;table-layout:fixed;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:clamp(9px,2.7vw,11.5px)!important}.daily-table th,.daily-table td{min-width:0!important;padding:9px 2px!important;text-align:center!important;white-space:nowrap!important;letter-spacing:-.2px}.daily-table th{font-size:clamp(8px,2.35vw,10.5px)!important;font-weight:720;line-height:1.2}.daily-table th small{display:block;font-size:clamp(7px,1.9vw,9px);font-weight:500;letter-spacing:-.15px;color:var(--muted)}.daily-table th:first-child,.daily-table td:first-child{width:16%;text-align:left!important}.daily-table th:nth-child(2),.daily-table td:nth-child(2){width:15%}.daily-table th:nth-child(3),.daily-table td:nth-child(3){width:16%}.daily-table th:nth-child(4),.daily-table td:nth-child(4){width:16%}.daily-table th:nth-child(5),.daily-table td:nth-child(5){width:17%}.daily-table th:nth-child(6),.daily-table td:nth-child(6){width:20%}.daily-table tr.current{border-radius:8px;background:#4292e71f}.daily-table td:last-child{font-weight:690;color:var(--text)}.daily-history .daily-notice{margin-bottom:9px}@media (max-width:365px){.daily-history{padding:13px 8px!important}.daily-table{font-size:9.3px!important}.daily-table th{font-size:8.2px!important}.daily-table th,.daily-table td{padding:8px 1px!important}.daily-table th small{font-size:7px}}.analytics-history-link{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;border-radius:12px;border:1px solid var(--line);background:var(--soft);color:var(--text);padding:12px 10px;margin-top:12px;text-align:left;font-size:12px;font-weight:700;min-height:44px}.analytics-history-link .icon{width:17px;height:17px;color:#13a6db}.analytics-history-link span{flex:1}.app .topbar{background:linear-gradient(105deg,#123c5a,#1a5277)!important;color:#f8fcff!important;border-radius:0 0 13px 13px;box-shadow:0 3px 15px #0528461f!important;padding-left:12px!important;padding-right:10px!important}body[data-theme=night] .app .topbar{background:linear-gradient(110deg,#092534,#123749)!important}.app .topbar .identity h1{color:#fff!important;text-shadow:0 1px 9px rgba(0,10,25,.4)!important}.app .topbar .brand,.app .topbar .brand-bolt{color:#8df9b4!important}.app .topbar .brand-bolt{background:transparent!important}.app .topbar .square-btn{background:#ffffff26!important;color:#fff!important;border:1px solid rgba(255,255,255,.27)!important;box-shadow:none!important}.app .topbar .online{color:#b4f4ce!important}.notice-counter{position:absolute;right:-3px;top:-5px;min-width:17px;height:17px;padding:0 3px;border-radius:10px;background:#f45155;color:#fff;display:grid;place-items:center;font-size:10px;font-weight:800;box-shadow:0 0 0 2px #174967}.flow-toolbar{margin:10px 12px!important;padding:0!important;min-height:30px;align-items:center!important}.flow-toolbar-options{flex:1;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px!important}.flow-toolbar .flow-chip{width:100%;min-width:0;min-height:29px;padding:5px 2px!important;font-size:clamp(8px,2.15vw,10px)!important;line-height:1.1}.flow-toolbar-title{margin-right:3px}@media (max-width:355px){.flow-toolbar{margin-left:6px!important;margin-right:6px!important;gap:3px!important}.flow-toolbar-title{font-size:9px!important}.flow-toolbar .flow-chip{font-size:7.5px!important}}.outage-overview{padding:15px!important}.outage-overview-title{display:flex;align-items:center;gap:10px}.overview-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;flex:none}.overview-icon.available{background:#18c25a1f;color:#16b456}.overview-icon.unavailable{background:#f34d561f;color:#ee505e}.overview-icon .icon{width:24px;height:24px}.outage-overview-title>div{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.outage-overview-title small{font-size:10px;letter-spacing:.9px;color:var(--muted);font-weight:700}.outage-overview-title strong{font-size:17px;font-weight:780}.outage-live{font-size:10px;color:var(--muted);background:var(--soft);border-radius:20px;padding:5px 8px}.outage-overview-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.outage-overview-metrics>div{border-radius:12px;background:var(--soft);padding:12px 9px;display:flex;flex-direction:column;gap:5px;min-width:0}.outage-overview-metrics small{font-size:10px;line-height:1.25;color:var(--muted)}.outage-overview-metrics strong{font-size:17px;font-weight:770;white-space:nowrap}.outage-overview p,.history-disclaimer{font-size:10.5px;color:var(--muted);line-height:1.5;margin:12px 0 0}.history-controls{padding:16px 13px!important}.history-controls .history-head h3{font-size:15px;margin:0}.history-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:14px;margin-bottom:10px;background:var(--soft);border-radius:13px;padding:4px}.history-filter{background:transparent;color:var(--muted);font-size:11px;font-weight:700;min-height:36px;border-radius:10px;padding:7px 4px}.history-filter.active{background:var(--card);color:var(--text);box-shadow:0 2px 9px #001a2a1a;border:1px solid var(--border)}.history-day-label{font-size:11px;font-weight:800;letter-spacing:.2px;color:var(--muted);margin:18px 0 5px;padding:0 3px}.event-row{display:flex;align-items:flex-start;gap:11px;padding:12px 1px;border-bottom:1px solid var(--line)}.event-row:last-child{border-bottom:0}.event-icon,.notice-icon{width:37px;height:37px;display:grid;place-items:center;flex:none;border-radius:12px;background:#50849b1c;color:#54899e}.event-icon .icon,.notice-icon .icon{width:20px;height:20px;stroke-width:2.1}.event-row.grid-off .event-icon,.event-row.grid-active .event-icon,.notice-row.grid-off .notice-icon{color:#e64b5b;background:#e8434f1f}.event-row.grid-on .event-icon,.notice-row.grid-on .notice-icon{color:#18ba66;background:#18ba661f}.event-row.battery .event-icon,.notice-row.battery .notice-icon{color:#16b65c;background:#1bc25621}.event-main{flex:1;min-width:0}.event-heading{display:flex;justify-content:space-between;gap:6px;align-items:flex-start}.event-heading strong{font-size:12.5px;line-height:1.3;font-weight:760;min-width:0}.event-heading time{font-size:11px;color:var(--muted);font-weight:740;white-space:nowrap}.event-main p{font-size:11px;line-height:1.4;color:var(--muted);margin:5px 0}.event-origin{display:inline-block;font-size:9px;color:var(--muted);background:var(--soft);padding:3px 6px;border-radius:5px}.history-empty{padding:20px 0;color:var(--muted);font-size:12px;text-align:center}.history-simulator{display:flex;flex-direction:column;gap:12px;padding:14px!important}.history-simulator>div:first-child{display:flex;flex-direction:column;gap:4px}.history-simulator b{font-size:13px}.history-simulator small{font-size:10px;color:var(--muted);line-height:1.4}.history-simulator-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.test-grid-btn{border-radius:11px;min-height:40px;font-size:11px;font-weight:760;border:1px solid var(--border);background:var(--soft);color:var(--text)}.test-grid-btn.off{color:#e9515d}.test-grid-btn.on{color:#19b85e}.test-grid-btn:disabled{opacity:.35;cursor:default}.history-disclaimer{margin:10px 7px 0}.notice-sheet-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 10px;font-size:12px;color:var(--muted)}.notice-list{display:flex;flex-direction:column;gap:2px}.notice-row{display:flex;gap:10px;padding:13px 2px;border-bottom:1px solid var(--line)}.notice-row.unread{background:#2996e80e;border-radius:10px;padding-left:6px;padding-right:6px}.notice-row>div{flex:1;min-width:0}.notice-title{display:flex;justify-content:space-between;gap:6px;align-items:flex-start}.notice-title b{font-size:12px;line-height:1.35}.notice-title small{font-size:10px;color:var(--muted);white-space:nowrap}.notice-row p{font-size:11px;color:var(--text);margin:6px 0;line-height:1.45}.notice-row>div>small{font-size:10px;color:var(--muted)}.notice-history-link{margin-top:14px}@media (prefers-reduced-motion:reduce){.event-row,.notice-row,.history-filter{transition:none!important}}.topbar .brand-v24{width:35px!important;height:38px!important;flex:none!important;display:grid!important;place-items:center!important;background:none!important;border:none!important;box-shadow:none!important}.brand-v24 .brand-mark{width:34px;height:34px;display:block;overflow:visible}.brand-v24 .mark-house{stroke:currentColor;fill:none}.brand-v24 .mark-energy{fill:#20d467;stroke:none}.topbar .identity{gap:8px!important}.topbar .identity h1{font-size:19px!important;font-weight:730!important;letter-spacing:-.55px!important;line-height:1.13!important;text-shadow:none!important}.topbar .online{margin-top:5px!important;font-size:11px!important}.topbar .top-actions{gap:6px!important}.topbar .square-btn{width:35px!important;height:35px!important;border-radius:12px!important;box-shadow:none!important;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}body[data-theme=day] .app:not(:has(#page-home.active)) .topbar{background:transparent!important;color:#153149!important;border-bottom:1px solid rgba(27,74,109,.075)!important}body[data-theme=night] .app:not(:has(#page-home.active)) .topbar{background:transparent!important;color:#eff8ff!important;border-bottom:1px solid rgba(181,216,237,.075)!important}body[data-theme=day] .app:has(#page-home.active) .topbar{background:linear-gradient(180deg,#f0f9ff33,#f0f9ff00)!important;color:#0e2b40!important}body[data-theme=night] .app:has(#page-home.active) .topbar{background:linear-gradient(180deg,#000f1947,#000f1900)!important;color:#f3faff!important}body[data-theme=day] .topbar .identity h1{color:#102d42!important}body[data-theme=night] .topbar .identity h1{color:#f3faff!important}body[data-theme=day] .topbar .brand-v24{color:#153c54!important}body[data-theme=night] .topbar .brand-v24{color:#effaff!important}body[data-theme=day] .topbar .square-btn{background:#ffffff57!important;border:1px solid rgba(255,255,255,.57)!important;color:#173c56!important}body[data-theme=night] .topbar .square-btn{background:#0b23334a!important;border:1px solid rgba(185,226,242,.19)!important;color:#eefaff!important}@media (max-width:360px){.topbar .identity h1{font-size:17px!important}.topbar .brand-v24{width:30px!important}.brand-v24 .brand-mark{width:29px;height:29px}.topbar .square-btn{width:32px!important;height:32px!important}.topbar .top-actions{gap:4px!important}}input[type=url]{background:var(--soft);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:9px 10px;font-size:12px}.notice-sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:12px;color:var(--muted)}.hero-bg-day{background-image:url(/images/hero-day.webp)!important}.hero-bg-night{background-image:url(/images/hero-night.webp)!important}
