:root,[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0e1a1d;--surface:#16252a;--border:#2a3d42;--text:#f1f5f4;--text-muted:#a7b8bb;--brand:#64e6bd;--solar:#f5b800;--solar-bg:#2a2614;--solar-idle:#6b7a7e;--battery:#34d399;--battery-mid:#fbbf24;--battery-low:#f87171;--grid:#60a5fa;--grid-off:#a78bfa;--heat:#fb923c;--geyser-off:#94a3b8;--geyser-cold:#38bdf8;--warning:#fbbf24;--error:#f87171;--action:#15803d;--danger:#b91c1c;--on-action:#fff;--panel:var(--surface);--line:var(--border);--line-soft:color-mix(in srgb, var(--border) 70%, transparent);--muted:var(--text-muted);--dim:color-mix(in srgb, var(--text-muted) 70%, var(--bg));--mint:var(--brand);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;font-family:DM Sans,Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f7f6;--surface:#fff;--border:#d5dedd;--text:#10201f;--text-muted:#4a5d60;--brand:#0f766e;--solar:#8a5a00;--solar-bg:#fff6dc;--solar-idle:#9aa7a9;--battery:#047857;--battery-mid:#92400e;--battery-low:#b91c1c;--grid:#1d4ed8;--grid-off:#6d28d9;--heat:#c2410c;--geyser-off:#475569;--geyser-cold:#0369a1;--warning:#92400e;--error:#b91c1c;--action:#15803d;--danger:#b91c1c;--on-action:#fff}@media (prefers-color-scheme:light){:root:not([data-theme]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f7f6;--surface:#fff;--border:#d5dedd;--text:#10201f;--text-muted:#4a5d60;--brand:#0f766e;--solar:#8a5a00;--solar-bg:#fff6dc;--solar-idle:#9aa7a9;--battery:#047857;--battery-mid:#92400e;--battery-low:#b91c1c;--grid:#1d4ed8;--grid-off:#6d28d9;--heat:#c2410c;--geyser-off:#475569;--geyser-cold:#0369a1;--warning:#92400e;--error:#b91c1c;--action:#15803d;--danger:#b91c1c;--on-action:#fff}}*{box-sizing:border-box}body{background:radial-gradient(ellipse at 72% -12%, color-mix(in srgb, var(--brand) 16%, transparent), transparent 42%), var(--bg);min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.app-shell{min-height:100vh}.sidebar{background:color-mix(in srgb, var(--bg) 92%, transparent);border-right:1px solid var(--line-soft);z-index:2;flex-direction:column;width:246px;padding:27px 17px 19px;display:flex;position:fixed;inset:0 auto 0 0}.brand{color:var(--text);letter-spacing:-.6px;align-items:center;gap:11px;padding:2px 9px;font-size:17px;font-weight:700;display:flex}.brand-mark{border:1px solid color-mix(in srgb, var(--brand) 45%, var(--border));width:37px;height:37px;color:var(--brand);background:color-mix(in srgb, var(--brand) 14%, var(--bg));border-radius:12px;place-items:center;display:grid}.brand-bracket{color:var(--brand)}.brand small{color:var(--dim);letter-spacing:1.45px;margin-top:3px;font:9px DM Mono,monospace;display:block}.brand-compact{padding:0}.nav-caption{color:var(--text-muted);letter-spacing:1.5px;margin:42px 10px 11px;font:10px DM Mono,monospace}.sidebar nav{gap:5px;display:grid}.nav-item{width:100%;color:var(--text-muted);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;padding:11px 12px;transition:background .16s,color .16s;display:flex;position:relative}.nav-item:hover{color:var(--text);background:color-mix(in srgb, var(--surface) 80%, var(--bg))}.nav-item.active{color:var(--brand);background:linear-gradient(100deg, color-mix(in srgb, var(--brand) 18%, transparent), color-mix(in srgb, var(--brand) 8%, transparent))}.nav-item.active i{background:var(--brand);width:2px;box-shadow:0 0 12px color-mix(in srgb, var(--brand) 60%, transparent);border-radius:2px;position:absolute;top:10px;bottom:10px;left:-17px}.nav-item span{font-size:13px;font-weight:600}.sidebar-bottom{margin-top:auto}.server-indicator{border-top:1px solid var(--line-soft);align-items:center;gap:10px;padding:13px 12px;display:flex}.server-indicator strong,.server-indicator small{display:block}.server-indicator strong{font-size:12px;font-weight:600}.server-indicator small{color:var(--text-muted);margin-top:3px;font-size:13px}.status-dot{background:var(--brand);width:7px;height:7px;box-shadow:0 0 10px color-mix(in srgb, var(--brand) 60%, transparent);border-radius:99px;flex:none;display:inline-block}.status-dot.muted{background:var(--dim);box-shadow:none}.signout{border:1px solid var(--line-soft);width:100%;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:9px;padding:11px 12px;font-size:13px;display:flex}.signout:hover{border-color:var(--border);color:var(--text)}.main-content{max-width:1680px;min-height:100vh;margin-left:246px;padding:0 42px}.topbar{border-bottom:1px solid var(--line-soft);height:59px;color:var(--text-muted);justify-content:space-between;align-items:center;font-size:13px;display:flex}.breadcrumb-muted,.topbar-right{color:var(--text-muted)}.breadcrumb-slash{color:var(--dim);padding:0 9px}.topbar-right{align-items:center;gap:8px;display:flex}.topbar-right .status-dot{width:6px;height:6px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin:35px 0 23px;display:flex}.page-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.install-wrap{position:relative}.install-button{border:1px solid var(--border);min-height:34px;color:var(--text);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:8px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.install-button:hover{border-color:var(--brand);color:var(--brand)}.install-hint{max-width:18rem;color:var(--text-muted);margin-top:8px;font-size:12px;line-height:1.45;display:block}.topbar .install-hint{z-index:6;border:1px solid var(--border);background:var(--surface);border-radius:8px;width:16rem;margin-top:0;padding:8px 10px;position:absolute;top:calc(100% + 8px);right:0}.auth-install{margin-top:16px;display:block}.auth-install .install-button{justify-content:center;width:100%;min-height:42px}.install-on-wall{top:max(12px, env(safe-area-inset-top));z-index:3;text-align:center;width:min(18rem,100vw - 96px);position:absolute;left:50%;transform:translate(-50%)}.install-on-wall .install-button{color:#f4f7fb;background:#071422b8;border-color:#fff3}.install-on-wall .install-button:hover{color:#64e6bd;border-color:#64e6bd}.install-on-wall .install-hint{color:#d5e2ee;text-align:left;background:#071422e0;border-radius:8px;margin-inline:auto;padding:8px 10px}.eyebrow{color:var(--brand);letter-spacing:1.2px;margin:0 0 7px;font:13px DM Mono,monospace}.page-header h1{color:var(--text);letter-spacing:-1.25px;margin:0;font-size:30px;line-height:1.2}.live-label{border:1px solid color-mix(in srgb, var(--brand) 35%, var(--border));color:var(--brand);border-radius:999px;align-items:center;gap:8px;margin-bottom:4px;padding:8px 11px;font-size:13px;display:inline-flex}.live-label i{background:var(--brand);width:6px;height:6px;box-shadow:0 0 9px var(--brand);border-radius:50%}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:15px;display:grid}.stat-card{border:1px solid var(--border);background:linear-gradient(145deg, color-mix(in srgb, var(--surface) 88%, var(--bg)), var(--surface));border-radius:11px;min-height:137px;padding:17px 17px 15px;position:relative;overflow:hidden}.stat-icon{border:1px solid color-mix(in srgb, var(--brand) 35%, var(--border));width:29px;height:29px;color:var(--brand);background:color-mix(in srgb, var(--brand) 12%, var(--bg));border-radius:8px;place-items:center;margin-bottom:13px;display:grid}.stat-card p{color:var(--text-muted);letter-spacing:0;margin:0 0 5px;font-size:13px;font-weight:600}.stat-card strong{color:var(--text);letter-spacing:-.7px;font-size:22px;display:block}.stat-card small{color:var(--text-muted);margin-top:4px;font-size:13px;line-height:1.35;display:block}.stat-card-button{appearance:none;width:100%;color:inherit;text-align:left;cursor:pointer}.stat-card-button:hover,.stat-card-button.expanded{border-color:color-mix(in srgb, var(--brand) 55%, var(--border))}.stat-card-button.expanded{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand) 35%, transparent)}.overview-temp-chart,.overview-flow{margin-bottom:15px}.flow-layout{display:block}.flow-actions{padding:8px 0 0}.power-flow{flex-direction:column;align-items:center;gap:0;padding:16px 8px 18px 16px;display:flex}.flow-panels,.flow-system{width:100%}.flow-panels{grid-template-columns:1fr 1fr;gap:18px;display:grid}.flow-merge{fill:none;width:100%;height:36px;stroke:var(--geyser-off);stroke-width:1.6px}.flow-merge.live{stroke:var(--solar);filter:drop-shadow(0 0 6px color-mix(in srgb, var(--solar) 75%, transparent))}.flow-system{grid-template-columns:minmax(0,1fr) 36px minmax(0,1.05fr) 36px minmax(0,1fr);align-items:center;gap:6px;display:grid}.flow-node.house{width:min(100%,280px);margin-top:4px}.flow-node,.flow-hub{border:1px solid var(--border);background:color-mix(in srgb, var(--bg) 78%, var(--surface));border-radius:14px;align-items:center;gap:12px;min-width:0;padding:14px;display:flex}.flow-card-top{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.flow-pv-body{align-items:center;gap:12px;display:flex}.panel-glyph{width:58px;height:40px;fill:var(--solar);opacity:.9}.sun-glyph{width:18px;height:18px;color:var(--solar);fill:var(--solar);stroke:var(--solar);stroke-width:1.4px}.sun-glyph path{fill:none}.flow-badge{border-radius:12px;flex:none;place-items:center;width:42px;height:42px;display:grid}.flow-badge svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.flow-badge.battery{color:var(--battery);background:color-mix(in srgb, var(--battery) 16%, var(--bg))}.flow-badge.inverter{color:var(--solar);background:var(--solar-bg)}.flow-badge.grid{color:var(--text-muted);background:color-mix(in srgb, var(--text-muted) 14%, var(--bg))}.flow-badge.house{color:var(--grid);background:color-mix(in srgb, var(--grid) 16%, var(--bg))}.flow-node>div>span,.flow-hub>div>span,.flow-card-top span{color:var(--text-muted);letter-spacing:0;font-size:13px;font-weight:600;display:block}.flow-node strong,.flow-hub strong{letter-spacing:-.8px;margin-top:2px;font-size:26px;line-height:1.1;display:block}.flow-node small,.flow-hub small,.flow-node em,.flow-hub em{color:var(--text-muted);margin-top:3px;font-size:13px;font-style:normal;display:block}.flow-node.solar{border-color:color-mix(in srgb, var(--solar) 55%, var(--border));color:var(--solar);background:linear-gradient(180deg, var(--solar-bg), var(--bg));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--solar) 18%, transparent);display:block}.flow-node.solar.live{box-shadow:0 0 22px color-mix(in srgb, var(--solar) 28%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--solar) 35%, transparent)}.flow-node.solar strong{color:var(--solar)}.flow-node.battery{border-color:color-mix(in srgb, var(--battery) 45%, var(--border));background:linear-gradient(180deg, color-mix(in srgb, var(--battery) 14%, var(--bg)), var(--bg))}.flow-node.battery.live{box-shadow:0 0 20px color-mix(in srgb, var(--battery) 24%, transparent)}.flow-node.battery strong{color:var(--battery)}.flow-node.house{border-color:color-mix(in srgb, var(--grid) 45%, var(--border));background:linear-gradient(180deg, color-mix(in srgb, var(--grid) 14%, var(--bg)), var(--bg));justify-content:center}.flow-node.house.live{box-shadow:0 0 18px color-mix(in srgb, var(--grid) 24%, transparent)}.flow-node.house strong{color:var(--grid)}.flow-node.grid{border-color:var(--border);background:color-mix(in srgb, var(--surface) 70%, var(--bg))}.flow-node.grid strong{color:var(--text)}.flow-hub{text-align:left;border-color:color-mix(in srgb, var(--solar) 40%, var(--border));background:linear-gradient(180deg, var(--solar-bg), var(--bg));color:var(--solar);justify-content:center}.flow-hub.live{box-shadow:0 0 24px color-mix(in srgb, var(--solar) 28%, transparent)}.flow-hub strong{color:var(--text)}.flow-link{place-items:center;display:grid}.flow-link svg{fill:none;width:34px;height:34px;stroke:var(--geyser-off);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:4 5}.flow-link.live.battery svg{stroke:var(--battery);filter:drop-shadow(0 0 4px color-mix(in srgb, var(--battery) 80%, transparent))}.flow-link.live.grid svg{stroke:var(--text-muted)}.flow-link.live.house svg{stroke:var(--grid);filter:drop-shadow(0 0 4px color-mix(in srgb, var(--grid) 80%, transparent))}.flow-link.live svg{animation:1s linear infinite flow}.action-card{border:1px solid var(--border);background:var(--surface);border-radius:16px;margin-bottom:15px}.action-control{justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.action-control strong{color:var(--text);letter-spacing:-.2px;font-size:16px;font-weight:600;display:block}.action-control span{max-width:46ch;color:var(--text-muted);margin-top:3px;font-size:14px;line-height:1.4;display:block}.action-control .form-error{margin:8px 0 0}.action-button{cursor:pointer;border:0;border-radius:14px;flex:none;min-height:48px;padding:0 18px;font-size:15px;font-weight:700}.action-button.heat,.action-button.go,.action-button.quiet{border:1.5px solid var(--text-muted);color:var(--text);background:0 0}.action-button.heat:hover,.action-button.go:hover,.action-button.quiet:hover{background:var(--surface)}.hero-row{grid-template-columns:1.35fr 1fr;gap:14px;margin-bottom:15px;display:grid}.hero-tile{border:1px solid var(--border);background:var(--surface);min-height:148px;color:inherit;text-align:left;border-radius:16px;flex-direction:row;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.hero-copy{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;align-items:flex-start;margin:0;padding:0;display:flex}.hero-action{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.hero-action small{color:var(--text-muted);text-align:right;font-size:13px}.hero-action .form-error{text-align:right;max-width:18ch;font-size:13px}.hero-tile span{color:var(--text-muted);font-size:15px;font-weight:600}.hero-tile strong{letter-spacing:-1.6px;margin-top:8px;font-size:52px;line-height:.95;display:block}.hero-tile em{color:var(--text-muted);margin-top:10px;font-size:15px;font-style:normal;display:block}.hero-tile.battery.high strong{color:var(--battery)}.hero-tile.battery.mid strong{color:var(--battery-mid)}.hero-tile.battery.low strong{color:var(--battery-low)}.hero-tile.water strong{color:var(--heat)}.action-button:disabled{opacity:.5;cursor:not-allowed}@keyframes flow{to{stroke-dashoffset:-24px}}@media (prefers-reduced-motion:reduce){.flow-link.live svg{animation:none}}.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.geyser-month{margin-bottom:14px}.automation-intro{max-width:72ch;color:var(--text-muted);margin:0 0 16px;font-size:14px;line-height:1.45}.automation-list{gap:14px;display:grid}.automation-card{border:1px solid var(--border);background:var(--surface);border-radius:16px;padding:18px 20px}.automation-card header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.automation-card h2{color:var(--text);letter-spacing:-.4px;margin:0;font-size:20px}.automation-card p{max-width:68ch;color:var(--text-muted);margin:12px 0 0;font-size:14px;line-height:1.45}.automation-detail{color:var(--text)}.automation-card small{color:var(--text-muted);margin-top:12px;font-size:13px;display:block}.automation-state{border:1px solid var(--border);color:var(--text-muted);border-radius:999px;flex:none;align-items:center;gap:8px;padding:8px 11px;font-size:13px;display:inline-flex}.automation-state i{background:var(--text-muted);border-radius:50%;width:6px;height:6px}.automation-state.charging{color:var(--grid);border-color:color-mix(in srgb, var(--grid) 45%, var(--border))}.automation-state.charging i{background:var(--grid)}.automation-state.watching{color:var(--brand);border-color:color-mix(in srgb, var(--brand) 35%, var(--border))}.automation-state.watching i{background:var(--brand)}.automation-state.holding{color:var(--solar);border-color:color-mix(in srgb, var(--solar) 45%, var(--border))}.automation-state.holding i{background:var(--solar)}.rule-editor{gap:10px;margin-top:14px;display:grid}.rule-editor p{color:var(--text);margin:0;font-size:14px}.rule-row{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;display:flex}.rule-input{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;padding:8px 10px}.rule-name{flex:1;min-width:0;font-size:18px;font-weight:600}.rule-number{width:7ch}.rule-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;display:flex}.rule-check{color:var(--text-muted);align-items:center;gap:8px;font-size:14px;display:inline-flex}.rule-save{justify-content:center;width:auto;margin:0}.settings-span{grid-column:1/-1}.calendar-connect{gap:12px;padding:16px 17px 18px;display:grid}.calendar-connect p{max-width:68ch;color:var(--text-muted);margin:0;font-size:14px;line-height:1.45}.calendar-connect form{gap:10px;display:grid}.calendar-connect .rule-input{width:100%}.calendar-connect .rule-save{justify-self:start}.calendar-sources{margin:0;padding:0;list-style:none}.calendar-sources li{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.calendar-sources span,.month-day-list small{align-items:center;gap:8px;display:inline-flex}.calendar-sources i,.month-day-list small i,.month-legend i{border-radius:50%;flex:none;width:8px;height:8px}.calendar-settings-link{margin:0 17px 16px}.month-board{margin-bottom:14px}.month-toolbar{justify-content:space-between;align-items:center;gap:12px;padding:14px 16px 8px;display:flex}.month-toolbar strong{letter-spacing:-.02em;font-size:18px;font-weight:650}.month-nav{gap:6px;display:flex}.month-nav button{border:1px solid var(--line-soft);min-width:32px;height:32px;color:var(--text);cursor:pointer;background:0 0;border-radius:9px;place-items:center;padding:0 10px;font-size:13px;font-weight:650;display:grid}.month-nav button:hover:not(:disabled){border-color:var(--border)}.month-nav button:disabled{opacity:.4;cursor:default}.month-legend{flex-wrap:wrap;gap:8px 14px;margin:0;padding:0 16px 12px;list-style:none;display:flex}.month-legend li{color:var(--text-muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.month-note,.month-quiet{color:var(--text-muted);margin:0;padding:0 16px 12px;font-size:13px}.month-scroll{overflow-x:auto}.month-grid{min-width:760px}.month-weekdays,.month-dates,.month-timed,.month-allday{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.month-weekdays span{color:var(--text-muted);padding:8px 8px 6px;font-size:12px;font-weight:650}.month-week{border-top:1px solid var(--line-soft)}.month-date{border:0;border-left:1px solid var(--line-soft);width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;padding:7px 8px 2px;display:block}.month-date:first-child,.month-day-events:first-child{border-left:0}.month-date:hover,.month-date.selected{background:color-mix(in srgb, var(--brand) 10%, transparent)}.month-date.outside{color:var(--dim)}.month-date strong{border-radius:99px;place-items:center;min-width:26px;height:26px;font-size:13px;font-weight:650;display:inline-grid}.month-date.today strong{background:var(--brand);color:#10201f}.month-allday{gap:3px 0;padding:2px 0 4px}.month-bar,.month-chip{text-align:left;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border:0;border-radius:4px;min-width:0;font-weight:650;overflow:hidden}.month-bar{margin:0 3px;padding:0 6px;font-size:11px;line-height:18px}.month-bar.continues-before{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:0}.month-bar.continues-after{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:0}.month-timed{align-items:start}.month-day-events{border-left:1px solid var(--line-soft);align-content:start;gap:3px;min-height:78px;padding:2px 4px 8px;display:grid}.month-day-events.selected{background:color-mix(in srgb, var(--brand) 8%, transparent)}.month-chip{padding:2px 5px;font-size:11px;line-height:1.35}.month-chip b{font-weight:700}.month-bar.active,.month-chip.active{outline:2px solid var(--text);outline-offset:1px}.month-more{color:var(--text-muted);text-align:left;cursor:pointer;background:0 0;border:0;padding:1px 5px;font-size:11px;font-weight:650}.month-day{margin-bottom:14px}.month-day-list{margin:0;padding:2px 17px 8px;list-style:none}.month-day-list li{border-bottom:1px solid var(--line-soft);grid-template-columns:8.5rem 1fr;gap:12px;padding:11px 0;display:grid}.month-day-list li.active{background:color-mix(in srgb, var(--brand) 8%, transparent)}.month-day-list time{color:var(--text-muted);font-size:14px}.month-day-list strong{font-size:15px;display:block}.month-day-list small{color:var(--text-muted);font-size:13px}.coming-up{margin-bottom:14px}.coming-list{margin:0;padding:4px 17px 12px;list-style:none}.coming-list li{border-bottom:1px solid var(--line-soft);justify-content:space-between;gap:16px;padding:10px 0;display:flex}.coming-list span{color:var(--text-muted);font-size:13px}.coming-list strong{text-align:right;font-size:14px}.panel{border:1px solid var(--border);background:var(--surface);border-radius:11px;min-width:0;overflow:hidden}.panel-header{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;min-height:64px;padding:13px 17px;display:flex}.panel-header h2{color:var(--text);margin:0;font-size:15px;font-weight:600}.panel-header p{color:var(--text-muted);margin:4px 0 0;font-size:13px}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:162px;padding:25px 26px;display:flex}.empty-icon{border:1px solid var(--border);background:var(--bg);width:40px;height:40px;color:var(--brand);border-radius:12px;place-items:center;margin-bottom:11px;display:grid}.empty-state strong{color:var(--text);font-size:13px;font-weight:600}.empty-state p{max-width:345px;color:var(--text-muted);margin:6px 0 0;font-size:13px;line-height:1.65}.chart-empty{min-height:230px;padding:0 10px;position:relative}.chart-empty-label{color:var(--text-muted);pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex;position:absolute;inset:30px 10px 20px}.chart-empty-label strong{color:var(--text);font-size:13px}.chart-empty-label span{font-size:13px}.telemetry-chart{padding:10px}.chart-loading{min-height:240px;color:var(--text-muted);place-items:center;font-size:13px;display:grid}.principles{padding:6px 18px;display:grid}.principles>div{border-bottom:1px solid var(--line-soft);color:var(--brand);align-items:center;gap:12px;padding:12px 0;display:flex}.principles>div:last-child{border-bottom:0}.principles span,.principles strong,.principles small{display:block}.principles strong{color:var(--text);font-size:13px;font-weight:600}.principles small{color:var(--text-muted);margin-top:4px;font-size:13px}.settings-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.settings-list{margin:0;padding:7px 17px}.settings-list div{border-bottom:1px solid var(--line-soft);justify-content:space-between;gap:20px;padding:13px 0;display:flex}.settings-list div:last-child{border:0}.settings-list dt{color:var(--text-muted);font-size:13px}.settings-list dd{color:var(--text);margin:0;font-size:14px}.geyser-block{margin-bottom:28px}.geyser-message{color:var(--text-muted);margin:-8px 0 16px;font-size:13px}.geyser-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.cloud-state{border:1px solid color-mix(in srgb, var(--brand) 35%, var(--border));color:var(--brand);border-radius:999px;align-items:center;gap:8px;margin-bottom:4px;padding:8px 11px;font-size:13px;display:inline-flex}.cloud-state i{background:var(--brand);border-radius:50%;width:6px;height:6px}.lifecycle-degraded{color:var(--warning);border-color:color-mix(in srgb, var(--warning) 45%, var(--border))}.lifecycle-degraded i{background:var(--warning)}.lifecycle-disconnected,.lifecycle-error{color:var(--error);border-color:color-mix(in srgb, var(--error) 45%, var(--border))}.lifecycle-disconnected i,.lifecycle-error i{background:var(--error)}.lifecycle-connecting,.lifecycle-unconfigured{color:var(--text-muted);border-color:var(--border)}.lifecycle-connecting i,.lifecycle-unconfigured i{background:var(--geyser-off)}.footer{padding:15px 2px max(24px, env(safe-area-inset-bottom));border-top:1px solid var(--line-soft);color:var(--text-muted);justify-content:space-between;gap:15px;margin-top:25px;font-size:13px;display:flex}.footer span span{color:var(--dim);padding:0 5px}.auth-screen{min-height:100vh;padding:max(25px, env(safe-area-inset-top)) 25px max(25px, env(safe-area-inset-bottom));place-items:center;display:grid}.auth-card{border:1px solid var(--border);background:linear-gradient(150deg, var(--surface), var(--bg));width:min(100%,390px);box-shadow:0 25px 80px color-mix(in srgb, var(--bg) 35%, transparent);border-radius:15px;padding:29px}.auth-heading{color:var(--text-muted);align-items:center;gap:8px;margin-top:38px;font-size:13px;display:flex}.auth-card h1{letter-spacing:-1px;margin:14px 0 5px;font-size:27px}.muted{color:var(--text-muted);margin:0;font-size:13px}.auth-card form{gap:15px;margin-top:24px;display:grid}.auth-card label{color:var(--text-muted);gap:7px;font-size:13px;display:grid}.auth-card input{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:8px;padding:11px 12px}.primary-button{border:1px solid var(--action);background:var(--action);color:var(--on-action);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;margin-top:4px;padding:11px 13px;font-size:15px;font-weight:600;display:flex}.primary-button:hover{background:color-mix(in srgb, var(--action) 85%, var(--text))}.primary-button:disabled{opacity:.5;cursor:not-allowed}.auth-foot{color:var(--text-muted);align-items:center;gap:7px;margin-top:24px;font-size:13px;display:flex}.form-error{color:var(--error);margin:0;font-size:13px}.connection-toast{border:1px solid color-mix(in srgb, var(--error) 45%, var(--border));background:color-mix(in srgb, var(--error) 16%, var(--surface));color:var(--error);border-radius:8px;align-items:center;gap:8px;padding:11px 13px;font-size:13px;display:flex;position:fixed;bottom:18px;right:18px}.loading-screen,.load-panel{min-height:180px;color:var(--text-muted);justify-content:center;align-items:center;gap:10px;font-size:13px;display:flex}.loading-screen{min-height:100vh}.load-panel{margin-top:50px}.spinner{border:2px solid color-mix(in srgb, var(--brand) 35%, var(--border));border-top-color:var(--brand);border-radius:50%;width:15px;height:15px;animation:.8s linear infinite spin}.text-button{color:var(--brand);cursor:pointer;background:0 0;border:0;padding:5px 8px;font-size:13px}.theme-choice{gap:8px;padding:14px 17px;display:flex}.theme-choice button{border:1px solid var(--border);min-height:48px;color:var(--text);cursor:pointer;background:0 0;border-radius:12px;padding:0 16px;font-size:14px;font-weight:600}.theme-choice button[aria-pressed=true]{border-color:var(--brand);color:var(--brand);background:color-mix(in srgb, var(--brand) 12%, transparent)}@keyframes spin{to{transform:rotate(360deg)}}.camera-section{flex-direction:column;gap:15px;margin-bottom:15px;display:flex}.camera-section .stats-grid{margin-bottom:0}.camera-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding:15px 17px;display:grid}.camera-tile{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 88%, var(--bg));width:100%;color:inherit;text-align:left;cursor:pointer;border-radius:11px;padding:0;display:block;overflow:hidden}.camera-tile:hover{border-color:color-mix(in srgb, var(--brand) 55%, var(--border))}.camera-tile-offline{cursor:default;opacity:.72}.camera-frame{aspect-ratio:16/9;color:var(--text-muted);background:color-mix(in srgb, var(--bg) 85%, var(--surface));flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex;position:relative}.camera-frame img,.camera-frame video{object-fit:fill;width:100%;height:100%;position:absolute;inset:0}.camera-tile footer{border-top:1px solid var(--line-soft);justify-content:space-between;align-items:baseline;gap:8px;padding:10px 12px;display:flex}.camera-tile footer strong{font-size:14px;font-weight:600}.camera-tile footer small{color:var(--text-muted);font:11px DM Mono,monospace}.camera-pager{justify-content:space-between;align-items:center;gap:12px;padding:0 17px 15px;display:flex}.camera-pager>span{color:var(--text-muted);font:12px DM Mono,monospace}.camera-pager>div{gap:7px;display:flex}.camera-pager button,.camera-order-actions button{border:1px solid var(--line-soft);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:9px;place-items:center;display:grid}.camera-pager button{width:32px;height:32px}.camera-pager button:hover:not(:disabled),.camera-order-actions button:hover:not(:disabled){border-color:var(--border);color:var(--text)}.camera-pager button:disabled,.camera-order-actions button:disabled{opacity:.4;cursor:default}.camera-order{margin:0;padding:7px 17px;list-style:none}.camera-order li{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:16px;padding:9px 0;font-size:14px;display:flex}.camera-order li:last-child{border:0}.camera-order-actions{gap:6px;display:flex}.camera-order-actions button{border-radius:8px;width:30px;height:30px}.camera-order-note{color:var(--text-muted);margin:0;padding:15px 17px;font-size:13px}.camera-overlay{z-index:40;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#000000b8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.camera-overlay-inner{border:1px solid var(--border);background:var(--surface);border-radius:14px;width:min(100%,1100px);overflow:hidden}.camera-overlay-inner header{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;padding:13px 17px;display:flex}.camera-overlay-inner header strong{font-size:15px;font-weight:600}.camera-overlay-inner header button{border:1px solid var(--line-soft);width:34px;height:34px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:9px;place-items:center;display:grid}.camera-overlay-inner header button:hover{border-color:var(--border);color:var(--text)}.camera-overlay-inner>small{color:var(--text-muted);padding:10px 17px;font:12px DM Mono,monospace;display:block}.camera-live-frame{aspect-ratio:16/9;background:#000;width:min(100%,128vh);margin-inline:auto;position:relative}.camera-live{object-fit:fill;width:100%;height:100%;position:absolute;inset:0}.camera-wall-launch{border:1px solid var(--border);min-height:40px;color:var(--text);cursor:pointer;background:0 0;border-radius:10px;align-items:center;gap:8px;padding:0 14px;font-size:14px;font-weight:600;display:inline-flex}.camera-wall-launch:hover{border-color:var(--brand);color:var(--brand)}.camera-wall{z-index:35;color:#f4f7fb;background:#000;position:fixed;inset:0}.camera-wall-grid{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:3px;width:min(100vw,177.778vh);height:min(100vh,56.25vw);display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.camera-wall-cell{background:#000;min-width:0;min-height:0}.camera-wall-stage{background:#05080c;width:100%;height:100%;position:relative}.camera-wall-stage.open{z-index:1;width:min(100vw,177.778vh);height:min(100vh,56.25vw);position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.camera-wall-video{object-fit:fill;background:#000;width:100%;height:100%;position:absolute;inset:0}.camera-wall-missing{color:#b7c6d6;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:14px;display:flex;position:absolute;inset:0}.camera-wall-name{z-index:1;pointer-events:none;background:#0000008c;border-radius:8px;max-width:calc(100% - 72px);padding:5px 9px;font-size:14px;font-weight:650;position:absolute;top:12px;left:12px}.camera-wall-hit{z-index:1;cursor:pointer;background:0 0;border:0;position:absolute;inset:0}.camera-wall-stage:hover{outline-offset:-2px;outline:2px solid #64e6bdbf}.camera-wall-stage.open:hover{outline:0}.camera-wall-close,.camera-wall-exit{top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));z-index:2;color:#f4f7fb;cursor:pointer;background:#071422b8;border:1px solid #fff3;border-radius:10px;place-items:center;width:40px;height:40px;display:grid;position:absolute}.camera-wall-pager{left:50%;bottom:max(14px, env(safe-area-inset-bottom));z-index:2;background:#071422c7;border-radius:999px;align-items:center;gap:8px;padding:6px;display:flex;position:absolute;transform:translate(-50%)}.camera-wall-pager span{color:#f4f7fb;text-align:center;min-width:7.5rem;font:13px DM Mono,monospace}.camera-wall-pager button{color:#f4f7fb;cursor:pointer;background:0 0;border:1px solid #ffffff29;border-radius:999px;place-items:center;width:40px;height:40px;display:grid}.camera-wall-pager button:hover:not(:disabled){border-color:#fff6}.camera-wall-pager button:disabled{opacity:.35;cursor:default}.camera-wall-status{color:#d5e2ee;flex-direction:column;justify-content:center;align-items:center;gap:12px;margin:0;display:flex;position:absolute;inset:0}.camera-wall-status button{color:#f4f7fb;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:9px;min-height:36px;padding:0 14px}@media (width<=700px){.automation-card header{flex-direction:column}.action-control{flex-direction:column;align-items:stretch}.action-button{width:100%}.month-day-list li{grid-template-columns:1fr;gap:2px}.coming-list li{flex-direction:column;align-items:flex-start;gap:2px}.coming-list strong{text-align:left}}.net-tabs{flex-wrap:wrap;gap:6px;margin:0 0 14px;display:flex}.net-tabs button{border:1px solid var(--line-soft);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:650}.net-tabs button.active{color:var(--text);border-color:color-mix(in srgb, var(--brand) 50%, var(--border));background:color-mix(in srgb, var(--brand) 14%, transparent)}.net-live{color:var(--text-muted);align-items:center;gap:8px;font-size:13px;display:inline-flex}.net-live i,.net-pill{display:inline-block}.net-live i{background:var(--dim);border-radius:99px;width:7px;height:7px}.net-live.on i,.net-pill.on{background:var(--brand)}.net-pill{background:color-mix(in srgb, var(--text-muted) 18%, transparent);color:var(--text-muted);border-radius:999px;padding:3px 8px;font-size:12px;font-weight:650}.net-pill.on{color:#10201f}.net-stats{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.net-stats.three{grid-template-columns:repeat(3,minmax(0,1fr))}.net-stats article,.net-stats>button{border:1px solid var(--border);background:var(--surface);text-align:left;border-radius:12px;min-height:96px;padding:12px}.net-stats>button{color:inherit;cursor:pointer}.net-stats span,.net-stats small{color:var(--text-muted);font-size:12px;display:block}.net-stats strong{letter-spacing:-.4px;margin-top:6px;font-size:20px;display:block}.net-split{grid-template-columns:1.2fr .8fr;gap:12px;margin-bottom:14px;display:grid}.net-rank,.net-bars,.net-people{gap:8px;padding:8px 14px 14px;display:grid}.net-rank button,.net-rank>div,.net-bars button,.net-people>button,.net-people>article{border:0;border-bottom:1px solid var(--line-soft);width:100%;color:inherit;text-align:left;background:0 0;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;padding:8px 0;display:grid}.net-rank button,.net-bars button,.net-people>button{cursor:pointer}.net-rank em{color:var(--text-muted);font-variant-numeric:tabular-nums;font-style:normal}.net-rank span,.net-people span,.net-table td{display:grid}.net-rank small,.net-people small,.net-table small{color:var(--text-muted);font-size:12px}.net-bars button{grid-template-columns:1fr}.net-bars i{background:color-mix(in srgb, var(--text-muted) 20%, transparent);border-radius:99px;height:6px;display:block}.net-bars em{background:var(--brand);border-radius:99px;height:6px;display:block}.net-people{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));padding:0}.net-people>button,.net-people>article{border:1px solid var(--border);background:var(--surface);border-radius:12px;grid-template-columns:auto 1fr auto;min-height:74px;padding:12px}.net-controls{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.net-controls select,.net-controls input{border:1px solid var(--line-soft);background:var(--bg);color:var(--text);border-radius:8px;padding:8px 10px}.net-table-wrap{overflow-x:auto}.net-table{border-collapse:collapse;width:100%}.net-table th,.net-table td{border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:top;padding:10px 14px}.net-table th button{color:var(--text-muted);cursor:pointer;background:0 0;border:0;font-size:12px;font-weight:650}.net-table tr{cursor:pointer}.net-chart{padding:8px 8px 12px}.net-tip{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:3px;padding:8px 10px;font-size:12px;display:grid}.calendar-connect label{color:var(--text-muted);gap:4px;font-size:13px;display:grid}@media (width<=1100px){.net-stats,.net-stats.three,.net-split{grid-template-columns:1fr 1fr}}@media (width<=700px){.net-stats,.net-stats.three,.net-split{grid-template-columns:1fr}}.house-display{z-index:30;color:#f4f7fb;background:#071422;flex-direction:column;padding:22px 26px 20px;display:flex;position:fixed;inset:0;overflow:hidden}.house-tools{z-index:1;align-items:center;gap:8px;display:flex;position:absolute;top:16px;right:16px}.house-tools .cast-buttons{align-items:center;gap:8px;margin:0;display:flex}.house-tools .cast-buttons button{color:#f4f7fb;cursor:pointer;background:#0714228c;border:1px solid #fff3;border-radius:10px;height:34px;padding:0 12px;font-size:13px;font-weight:650}.house-tools .cast-buttons button:disabled{opacity:.6;cursor:default}.house-tools .cast-buttons p{color:#d5e2ee;text-align:right;max-width:26ch;margin:0;font-size:12px}.house-exit{color:#f4f7fb;cursor:pointer;background:#07142259;border:1px solid #fff3;border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.cast-buttons{gap:6px;margin-bottom:10px;display:grid}.cast-buttons button{border:1px solid var(--line-soft);color:var(--text);cursor:pointer;background:0 0;border-radius:8px;padding:9px 12px;font-size:13px;font-weight:650}.cast-buttons button:hover:not(:disabled){border-color:var(--border)}.cast-buttons button:disabled{opacity:.6;cursor:default}.cast-buttons p{color:var(--text-muted);margin:0;font-size:12px}.house-hero{background:radial-gradient(at 78% 18%,#ffc457d9,#0000 32%),radial-gradient(at 62% 80%,#c45c2a8c,#0000 46%),linear-gradient(115deg,#16345c 0%,#1d4c78 42%,#c46a3a 100%);border-radius:22px;grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:24px;min-height:210px;padding:22px 26px 20px;display:grid}.house-brand{letter-spacing:.12em;align-items:center;gap:8px;margin:0 0 8px;font-size:13px;font-weight:700;display:inline-flex}.house-clock{letter-spacing:-3px;font-variant-numeric:tabular-nums;font-size:84px;font-weight:700;line-height:.9;display:block}.house-date{margin:10px 0 0;font-size:20px;font-weight:600}.house-weather{justify-items:end;gap:14px;display:grid}.house-pill{background:#07142273;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:650;display:inline-flex}.house-pill.online{background:#14532db8}.house-forecast{text-align:right;grid-template-columns:auto auto;align-items:center;gap:8px 14px;display:grid}.house-forecast svg{color:#ffe08a;grid-row:span 2}.house-forecast strong{letter-spacing:-2px;font-size:54px;line-height:.9}.house-forecast p,.house-forecast ul{margin:0}.house-forecast ul{justify-content:flex-end;gap:12px;padding:0;font-size:14px;list-style:none;display:flex}.house-forecast li{align-items:center;gap:4px;display:inline-flex}.house-forecast.missing{color:inherit;cursor:pointer;text-align:left;background:#07142266;border:0;border-radius:12px;max-width:28ch;padding:14px 16px}.house-hours{gap:6px;min-width:0;margin:0;padding:0 4px 2px;list-style:none;display:flex;overflow-x:auto}.house-hours li{color:#d5e2ee;background:#07142247;border-radius:12px;flex:1 0 48px;align-content:end;justify-items:center;gap:3px;min-width:48px;padding:8px 2px 6px;font-size:12px;font-weight:650;display:grid}.house-hours li.now{color:#f4f7fb;background:#0714228c}.house-hours span{white-space:nowrap}.house-hours strong{color:#f4f7fb;letter-spacing:-.3px;font-size:16px}.house-hours small{color:#d5e2ee;min-height:14px;font-size:11px;font-weight:650}.house-hours svg{color:#ffe08a}.house-stats{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:14px 0;display:grid}.house-stat{background:#0c1c30eb;border:1px solid #ffffff14;border-radius:16px;min-height:132px;padding:14px 14px 18px;position:relative;overflow:hidden}.house-stat p{color:#b7c6d6;align-items:center;gap:8px;margin:0 0 10px;font-size:13px;font-weight:650;display:flex}.house-stat p span{background:#ffffff0f;border-radius:8px;place-items:center;width:28px;height:28px;display:grid}.house-stat strong{letter-spacing:-1px;font-size:32px;display:block}.house-stat small{color:#b7c6d6;margin-top:4px;font-size:13px;display:block}.house-stat i{height:4px;position:absolute;bottom:0;left:0}.house-stat.battery{color:#34d399}.house-stat.battery strong,.house-stat.water strong,.house-stat.solar strong,.house-stat.usage strong,.house-stat.net strong{color:#f4f7fb}.house-stat.water{color:#38bdf8}.house-stat.solar{color:#f5b800}.house-stat.usage{color:#67e8f9}.house-stat.net{color:#60a5fa}.house-agenda{flex:1;grid-template-columns:minmax(190px,.72fr) minmax(220px,.88fr) minmax(420px,2.2fr);align-items:stretch;gap:12px;min-height:0;display:grid}.house-column{background:#0a1828eb;border:1px solid #ffffff14;border-radius:16px;min-width:0;min-height:0;padding:14px 14px 8px;overflow:auto}.house-tomorrow{background:#ffffff0f;border-radius:12px;align-items:center;gap:12px;margin:0 0 12px;padding:12px;display:flex}.house-tomorrow svg{color:#ffe08a;flex:none}.house-tomorrow strong{font-size:18px;display:block}.house-tomorrow p{color:#d5e2ee;align-items:center;gap:4px;margin:4px 0 0;font-size:13px;display:flex}.house-column header{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.house-column header strong{font-size:16px}.house-column header span,.house-empty{color:#b7c6d6;font-size:13px}.house-column ul{margin:0;padding:0;list-style:none}.house-column li{background:#ffffff0a;border-left:3px solid #64e6bd;border-radius:8px;grid-template-columns:7.4rem 1fr;gap:8px;margin:0 0 8px;padding:8px 10px;display:grid}.house-column time{color:#d5e2ee;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px;display:grid}.house-column time small{color:#f4f7fb;font-size:13px;font-weight:650}.house-column li strong,.house-column li small{display:block}.house-column li strong{font-size:14px}.house-column li small{color:#b7c6d6;margin-top:2px;font-size:12px}.house-empty{margin:12px 0 16px}.house-column.fortnight{flex-direction:column;display:flex;overflow:hidden}.house-fortnight{flex-direction:column;flex:1;min-height:0;display:flex}.house-fortnight-weekdays,.house-fortnight-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.house-fortnight-weekdays span{color:#b7c6d6;padding:0 4px 6px;font-size:11px;font-weight:700}.house-fortnight-grid{flex:1;grid-template-rows:1fr 1fr}.house-fortnight-day{border-top:1px solid #ffffff14;border-left:1px solid #ffffff0f;min-width:0;min-height:0;padding:5px 4px;overflow:auto}.house-fortnight-day:nth-child(7n+1){border-left:0}.house-fortnight-day strong{border-radius:99px;place-items:center;min-width:22px;height:22px;padding:0 4px;font-size:12px;font-weight:700;display:inline-grid}.house-fortnight-day.today strong{color:#10201f;background:#64e6bd}.house-fortnight-chip{color:#10201f;white-space:normal;overflow-wrap:break-word;word-wrap:break-word;border-radius:4px;margin-top:3px;padding:2px 4px;font-size:11px;font-weight:700;line-height:1.3;display:block}@media (width<=1100px){.house-display{overflow:auto}.house-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.house-agenda{flex:none;grid-template-columns:1fr}.house-clock{font-size:64px}.house-hero{grid-template-columns:1fr}.house-hours{overflow-x:auto}.house-hours li{flex:0 0 52px}.house-weather{justify-items:start}.house-forecast{text-align:left}.house-forecast ul{justify-content:flex-start}}@media (width<=1050px){.sidebar{width:212px}.main-content{margin-left:212px;padding:0 28px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.sidebar{top:0;width:100%;height:auto;padding:max(11px, env(safe-area-inset-top)) 12px 8px;border-right:0;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bg) 96%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;inset:auto}.brand{padding:0 4px;font-size:15px}.brand-mark{width:32px;height:32px}.brand small,.nav-caption,.sidebar-bottom{display:none}.sidebar nav{scrollbar-width:none;gap:3px;margin-top:11px;display:flex;overflow-x:auto}.nav-item{flex:none;gap:6px;width:auto;padding:8px 9px}.nav-item span{font-size:13px}.nav-item svg{width:15px;height:15px}.nav-item.active i{width:auto;height:2px;inset:auto 9px -8px}.main-content{margin:0;padding:0 15px}.topbar{height:44px}.topbar-status{display:none}.page-header{margin:25px 0 17px}.page-header h1{font-size:26px}.stats-grid{gap:9px}.stat-card{min-height:127px;padding:13px}.stat-card strong{font-size:19px}.overview-grid,.settings-grid,.geyser-stats{grid-template-columns:1fr;gap:10px}.panel-header{min-height:58px;padding:11px 13px}.hero-row{grid-template-columns:1fr}.hero-tile{flex-direction:column;align-items:stretch}.hero-tile strong{font-size:44px}.hero-action{align-items:stretch}.power-flow{padding:14px}.flow-system{grid-template-columns:1fr}.flow-system .flow-link{display:none}.flow-node.house{width:100%}.flow-node strong,.flow-hub strong{font-size:22px}.empty-state{min-height:145px;padding:20px}.footer span:last-child{text-align:right}.camera-grid{grid-template-columns:1fr;gap:10px;padding:13px}.camera-overlay{padding:10px}}@media (width<=380px){.nav-item{padding:8px 7px}.stats-grid{grid-template-columns:1fr 1fr}.stat-card{padding:11px}.live-label{padding:7px 8px}}
