#root,body,html{height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;touch-action:manipulation}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button,input,select,textarea{font-size:16px}body{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.App{text-align:left}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:stretch;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:flex-start;min-height:100vh}.App-link{color:#61dafb}.sprinterPanel{border:0;border-radius:0;box-sizing:border-box;margin:10px 0;padding:0;width:100%}.sprinterPanel>h1{margin:8px 0 14px;text-align:center}.panel-box{background:#0000;border:2px solid #3a3a3a;border-radius:8px;padding:14px}.content,.panel-box{box-sizing:border-box;width:100%}.content{padding:12px 12px calc(76px + env(safe-area-inset-bottom))}.bottom-nav{background:#111;border-top:1px solid #222;bottom:0;display:flex;gap:8px;justify-content:space-around;left:0;padding:8px 8px calc(8px + env(safe-area-inset-bottom));position:fixed;right:0;z-index:1000}.bottom-nav button{background:#1e1e1e;border:1px solid #333;border-radius:8px;color:#ddd;flex:1 1;font-size:18px;max-width:25%;padding:10px 8px}.bottom-nav button.active{background:#2b7cff;border-color:#2b7cff;color:#fff}.mni-display{appearance:none;-webkit-appearance:none;background:#2a2a2a;border:1px solid #ffffff26;border-radius:8px;color:#fff;cursor:pointer;font:inherit;font-size:14px;min-width:56px;padding:8px 12px;text-align:center;transition:all .2s ease}.mni-display:hover{background:#333;border-color:#ffffff40}.mni-display:disabled{cursor:not-allowed;opacity:.6}.mni-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000c;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:9999}.mni-modal{background:linear-gradient(135deg,#1a1a1a,#252525);border:1px solid #ffffff1a;border-radius:16px;box-shadow:0 20px 60px #00000080;max-width:380px;padding:20px;width:100%}.mni-header{gap:12px;justify-content:space-between;margin-bottom:16px}.mni-close,.mni-header{align-items:center;display:flex}.mni-close{background:#ffffff1a;border:none;border-radius:10px;color:#888;cursor:pointer;font:inherit;font-size:18px;height:40px;justify-content:center;line-height:1;transition:all .2s ease;width:40px}.mni-close:hover{background:#ffffff26;color:#fff}.mni-title{color:#fff;font-size:18px;font-weight:600;margin-bottom:0}.mni-label{color:#888;font-size:13px;margin-bottom:8px}.mni-input{background:#1a1a1a;border:1px solid #ffffff26;border-radius:12px;box-sizing:border-box;color:#fff;font:inherit;font-size:24px;font-weight:500;padding:14px 16px;text-align:center;width:100%}.mni-input:focus{border-color:#4a90d9;outline:none}.mni-inputRow{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:56px 1fr 56px}.mni-step{background:#2a2a2a;border:none;border-radius:14px;color:#fff;cursor:pointer;font:inherit;font-size:24px;height:56px;transition:all .2s ease;width:56px}.mni-step:hover{background:#333}.mni-step:active{transform:scale(.95)}.mni-actions{display:flex;gap:10px;margin-top:16px}.mni-btn{background:#2a2a2a;border:none;border-radius:12px;color:#888;cursor:pointer;flex:1 1;font:inherit;font-size:15px;font-weight:500;padding:14px 16px;transition:all .2s ease}.mni-btn:hover{background:#333;color:#aaa}.mni-btn-primary{background:linear-gradient(135deg,#4a90d9,#357abd);color:#fff}.mni-btn-primary:hover{background:linear-gradient(135deg,#5a9fe9,#4589cc);color:#fff}@media (max-width:600px),(pointer:coarse){.mni-overlay{align-items:flex-end;padding:10px}.mni-modal{border-radius:20px 20px 12px 12px;max-width:100%;padding:20px}.mni-input{font-size:28px;padding:16px}.mni-step{font-size:28px;height:64px;width:64px}.mni-inputRow{grid-template-columns:64px 1fr 64px}}.color-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000c;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:9999}.color-modal{background:linear-gradient(135deg,#1a1a1a,#252525);border:1px solid #ffffff1a;border-radius:16px;box-shadow:0 20px 60px #00000080;max-width:380px;padding:20px;width:100%}.color-modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.color-modal-title{color:#fff;font-size:18px;font-weight:600}.color-modal-close{align-items:center;background:#ffffff1a;border:none;border-radius:10px;color:#888;cursor:pointer;display:flex;font-size:18px;height:40px;justify-content:center;transition:all .2s ease;width:40px}.color-modal-close:hover{background:#ffffff26;color:#fff}.color-preview{border:1px solid #ffffff26;border-radius:12px;height:80px;margin-bottom:24px;transition:all .15s ease;width:100%}.color-slider-group{margin-bottom:20px}.color-slider-row{display:flex;justify-content:space-between;margin-bottom:8px}.color-slider-label{color:#888;font-size:14px;letter-spacing:.5px;text-transform:uppercase}.color-slider-value{color:#fff;font-family:monospace;font-size:14px;font-weight:500}.color-slider{-webkit-appearance:none;appearance:none;border:1px solid #ffffff26;border-radius:16px;cursor:pointer;height:32px;outline:none;width:100%}.color-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#fff;border:3px solid #0000004d;border-radius:50%;box-shadow:0 2px 8px #0006;cursor:pointer;height:28px;width:28px}.color-slider::-moz-range-thumb{background:#fff;border:3px solid #0000004d;border-radius:50%;box-shadow:0 2px 8px #0006;cursor:pointer;height:28px;width:28px}.color-modal-done{background:linear-gradient(135deg,#4a90d9,#357abd);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:8px;padding:14px;transition:all .2s ease;width:100%}.color-modal-done:hover{background:linear-gradient(135deg,#5a9fe9,#4589cc)}.color-modal-done:active{transform:scale(.98)}.layer-control{background:linear-gradient(135deg,#1e1e1e,#252525);border:1px solid #ffffff14;border-radius:12px;margin-bottom:12px;overflow:hidden}.layer-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:14px 16px;transition:background .2s ease}.layer-header:hover{background:#ffffff08}.layer-header-open{border-bottom:1px solid #ffffff14}.layer-header-left{align-items:center;display:flex;gap:12px}.layer-status{background:#444;border-radius:50%;height:10px;transition:all .3s ease;width:10px}.layer-status-on{background:#4ade80;box-shadow:0 0 8px #4ade8080}.layer-title{color:#fff;font-size:15px;font-weight:500}.layer-header-right{align-items:center;display:flex;gap:12px}.layer-color-preview{border:1px solid #ffffff26;border-radius:8px;height:28px;width:28px}.layer-chevron{color:#666;font-size:18px;transition:transform .2s ease}.layer-content{padding:16px}.layer-row{align-items:center;border-bottom:1px solid #ffffff0d;display:flex;justify-content:space-between;padding:10px 0}.layer-row:last-child{border-bottom:none}.layer-label{color:#888;font-size:14px}.layer-range-inputs{align-items:center;display:flex;gap:8px}.layer-range-sep{color:#555;font-size:14px}.layer-toggle{background:#333;border:none;border-radius:14px;cursor:pointer;height:28px;padding:3px;position:relative;transition:all .3s ease;width:52px}.layer-toggle-on{background:linear-gradient(135deg,#4a90d9,#357abd)}.layer-toggle-knob{background:#fff;border-radius:50%;box-shadow:0 2px 4px #0000004d;display:block;height:22px;transition:transform .3s ease;width:22px}.layer-toggle-on .layer-toggle-knob{transform:translateX(24px)}.layer-color-button{border:1px solid #fff3;border-radius:10px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;min-width:80px;padding:10px 16px;text-shadow:0 1px 2px #00000080;transition:all .2s ease}.layer-color-button:hover{transform:scale(1.02)}.layer-section{margin-top:16px}.layer-section-title{color:#666;display:block;font-size:13px;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.layer-effect-buttons{display:flex;gap:8px}.layer-effect-btn{background:#2a2a2a;border:1px solid #ffffff1a;border-radius:10px;color:#888;cursor:pointer;flex:1 1;font-size:13px;font-weight:500;padding:12px 8px;transition:all .2s ease}.layer-effect-btn:hover{background:#333;color:#aaa}.layer-effect-btn-active{background:linear-gradient(135deg,#4a90d9,#357abd);border-color:#0000;color:#fff}.lights-panel{display:flex;flex-direction:column;gap:12px;padding:12px}.lights-controls-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}.lights-control-tile{-webkit-tap-highlight-color:transparent;align-items:center;background:#1e1e1e;border:1px solid #333;border-radius:16px;color:#fff;cursor:pointer;display:flex;flex-direction:column;gap:8px;justify-content:center;padding:28px 16px;transition:all .15s ease}.lights-control-tile:active{background:#252525;transform:scale(.97)}.lights-control-tile.active{background:linear-gradient(135deg,#1e2e1e,#1a1a1a);border-color:#3a6}.lights-control-label{color:#ccc;font-size:14px;font-weight:500}.lights-control-status{color:#666;font-size:12px}.lights-control-tile.active .lights-control-status{color:#3a6}.lights-card{background:#1e1e1e;border:1px solid #333;border-radius:12px;padding:16px}.lights-card-header{color:#888;font-size:13px;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.lights-accordion-header{-webkit-tap-highlight-color:transparent;align-items:center;background:none;border:none;color:#888;cursor:pointer;display:flex;font-size:14px;justify-content:space-between;padding:0;width:100%}.lights-accordion-header:active{color:#aaa}.lights-layers-content{border-top:1px solid #333;display:flex;flex-direction:column;gap:12px;margin-top:16px;padding-top:16px}.lights-footer{color:#555;display:flex;font-size:12px;gap:20px;justify-content:center;padding:8px}.battery-panel{gap:12px;padding:12px}.battery-no-device,.battery-panel{display:flex;flex-direction:column}.battery-no-device{align-items:center;color:#888;justify-content:center;padding:48px 24px}.battery-no-device-icon{font-size:48px;margin-bottom:12px;opacity:.5}.battery-no-device-text{font-size:16px}.battery-status-card{align-items:center;background:linear-gradient(135deg,#2a2a2a,#1a1a1a);border:1px solid #333;border-radius:16px;display:flex;gap:24px;padding:24px}.battery-soc-ring{background:conic-gradient(var(--soc-color) calc(var(--soc-percent)*3.6deg),#333 calc(var(--soc-percent)*3.6deg));flex-shrink:0;height:100px;position:relative;width:100px}.battery-soc-inner,.battery-soc-ring{align-items:center;border-radius:50%;display:flex;justify-content:center}.battery-soc-inner{background:#1a1a1a;height:80px;width:80px}.battery-soc-value{color:#fff;font-size:32px;font-weight:600}.battery-soc-unit{color:#888;font-size:16px}.battery-status-info{display:flex;flex-direction:column;gap:4px}.battery-status-text{color:#aaa;font-size:16px;line-height:1.3}.battery-voltage{color:#fff;font-size:28px;font-weight:500}.battery-card{background:#1e1e1e;border:1px solid #333;border-radius:12px;padding:20px;text-align:center}.battery-power-display{align-items:baseline;display:flex;gap:4px;justify-content:center}.battery-power-value{font-size:48px;font-weight:600;line-height:1}.battery-power-unit{color:#888;font-size:24px}.battery-current{color:#888;font-size:14px;margin-top:8px}.battery-stats-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,1fr)}.battery-stat-item{background:#1e1e1e;border:1px solid #333;border-radius:10px;display:flex;flex-direction:column;gap:4px;padding:14px}.battery-stat-label{color:#666;font-size:11px;letter-spacing:.5px;text-transform:uppercase}.battery-stat-value{color:#fff;font-size:18px;font-weight:500}.heater-panel{gap:12px;padding:12px}.heater-no-device,.heater-panel{display:flex;flex-direction:column}.heater-no-device{align-items:center;color:#888;justify-content:center;padding:48px 24px}.heater-no-device-icon{font-size:48px;margin-bottom:12px;opacity:.5}.heater-no-device-text{font-size:16px}.heater-status-card{align-items:center;background:linear-gradient(135deg,#2a2a2a,#1a1a1a);border:1px solid #333;border-radius:16px;display:flex;justify-content:space-between;padding:20px}.heater-status-card.running{background:linear-gradient(135deg,#4a2020,#2a1010);border-color:#6b3030}.heater-status-left{display:flex;flex-direction:column;gap:4px}.heater-temp-display{align-items:baseline;display:flex;gap:2px}.heater-temp-value{color:#fff;font-size:42px;font-weight:600;line-height:1}.heater-temp-unit{color:#aaa;font-size:20px}.heater-status-label{color:#888;font-size:14px;letter-spacing:.5px;text-transform:uppercase}.heater-power-btn{-webkit-tap-highlight-color:transparent;align-items:center;background:#222;border:3px solid #444;border-radius:50%;color:#888;cursor:pointer;display:flex;flex-direction:column;height:80px;justify-content:center;transition:all .2s ease;width:80px}.heater-power-btn.off{border-color:#3a6;color:#3a6}.heater-power-btn.off:active{background:#3a6;color:#fff}.heater-power-btn.on{border-color:#c44;color:#c44}.heater-power-btn.on:active{background:#c44;color:#fff}.heater-power-icon{font-size:28px;line-height:1}.heater-power-text{font-size:10px;letter-spacing:.5px;margin-top:4px;text-transform:uppercase}.heater-error-banner{align-items:center;background:#4a2020;border:1px solid #6b3030;border-radius:10px;color:#f88;display:flex;font-size:14px;gap:8px;padding:12px 16px}.heater-error-icon{font-size:18px}.heater-card{background:#1e1e1e;border:1px solid #333;border-radius:12px;padding:16px}.heater-card-header{color:#888;font-size:13px;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.heater-card-row{align-items:center;display:flex;justify-content:space-between}.heater-card-row .heater-card-header{margin-bottom:0}.heater-stepper{align-items:center;display:flex;gap:16px;justify-content:center}.heater-stepper.compact{gap:12px}.heater-stepper-btn{-webkit-tap-highlight-color:transparent;align-items:center;background:#2a2a2a;border:2px solid #444;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;font-weight:300;height:52px;justify-content:center;transition:all .15s ease;width:52px}.heater-stepper.compact .heater-stepper-btn{font-size:20px;height:44px;width:44px}.heater-stepper-btn:active{background:#444;transform:scale(.95)}.heater-stepper-value{align-items:baseline;display:flex;gap:2px;justify-content:center;min-width:80px}.heater-stepper-number{color:#fff;font-size:32px;font-weight:500}.heater-stepper.compact .heater-stepper-number{font-size:24px}.heater-stepper-unit{color:#888;font-size:16px}.heater-stepper.compact .heater-stepper-unit{font-size:14px}.heater-power-bar{background:#333;border-radius:3px;height:6px;margin-top:16px;overflow:hidden}.heater-power-fill{background:linear-gradient(90deg,#3a6,#fa0 50%,#c44);border-radius:3px;height:100%;transition:width .2s ease}.heater-toggle-btn{-webkit-tap-highlight-color:transparent;border:none;border-radius:20px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 20px;transition:all .15s ease}.heater-toggle-btn.off{background:#333;color:#888}.heater-toggle-btn.on{background:#3a6;color:#fff}.heater-toggle-btn:active{transform:scale(.95)}.heater-temp-control{border-top:1px solid #333;margin-top:12px;padding-top:12px}.heater-card-row+.heater-temp-control{margin-top:16px}.heater-temp-label{color:#666;display:block;font-size:12px;margin-bottom:10px;text-align:center}.heater-stats-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,1fr)}.heater-stat-item{background:#1e1e1e;border:1px solid #333;border-radius:10px;display:flex;flex-direction:column;gap:4px;padding:14px}.heater-stat-label{color:#666;font-size:11px;letter-spacing:.5px;text-transform:uppercase}.heater-stat-value{color:#fff;font-size:18px;font-weight:500}.heater-stat-cost{color:#6b9;font-size:13px}.heater-fuel-value{color:#fff;font-size:24px;font-weight:500;margin-top:4px}.heater-fuel-cost{color:#6b9;font-size:16px;font-weight:400}.heater-reset-btn{-webkit-tap-highlight-color:transparent;background:#2a2a2a;border:1px solid #444;border-radius:8px;color:#aaa;cursor:pointer;font-size:14px;padding:10px 20px}.heater-reset-btn:active{background:#333}.heater-footer{color:#555;display:flex;font-size:12px;gap:20px;justify-content:center;padding:8px}.hotwater-panel{display:flex;flex-direction:column;gap:12px;padding:12px}.hotwater-status-card{align-items:center;background:linear-gradient(135deg,#1a2a3a,#1a1a2a);border:1px solid #2a4a6a;border-radius:16px;display:flex;justify-content:space-between;padding:20px}.hotwater-status-left{display:flex;flex-direction:column;gap:4px}.hotwater-temp-display{align-items:baseline;display:flex;gap:2px}.hotwater-temp-value{color:#fff;font-size:42px;font-weight:600;line-height:1}.hotwater-temp-unit{color:#aaa;font-size:20px}.hotwater-status-label{color:#888;font-size:14px}.hotwater-target-control{align-items:center;display:flex;flex-direction:column;gap:6px}.hotwater-target-label{color:#666;font-size:12px;text-transform:uppercase}.hotwater-card{background:#1e1e1e;border:1px solid #333;border-radius:12px;padding:16px}.hotwater-card-header{color:#888;font-size:13px;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.hotwater-card-row{align-items:center;display:flex;justify-content:space-between}.hotwater-level-display{align-items:center;display:flex;gap:16px}.hotwater-level-bar{background:#333;border-radius:8px;height:80px;overflow:hidden;position:relative;width:40px}.hotwater-level-fill{background:linear-gradient(180deg,#3a8bff,#1a5fd9);border-radius:6px;bottom:0;left:0;position:absolute;right:0;transition:height .3s ease}.hotwater-level-info{display:flex;flex-direction:column;gap:4px}.hotwater-level-value{color:#fff;font-size:28px;font-weight:500}.hotwater-level-warning{color:#c44;font-size:14px}.hotwater-autofill{align-items:center;border-top:1px solid #333;display:flex;justify-content:space-between;margin-top:16px;padding-top:16px}.hotwater-autofill-label{color:#888;font-size:14px}.hotwater-stepper{align-items:center;display:flex;gap:8px}.hotwater-stepper.compact{gap:6px}.hotwater-stepper-btn{-webkit-tap-highlight-color:transparent;align-items:center;background:#2a2a2a;border:2px solid #444;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:20px;height:40px;justify-content:center;transition:all .15s ease;width:40px}.hotwater-stepper-btn.small{font-size:16px;height:32px;width:32px}.hotwater-stepper-btn:active{background:#444;transform:scale(.95)}.hotwater-stepper-value{color:#fff;font-size:18px;font-weight:500;min-width:50px;text-align:center}.hotwater-stepper-value.small{font-size:16px;min-width:40px}.hotwater-controls-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}.hotwater-control-tile{-webkit-tap-highlight-color:transparent;align-items:center;background:#1e1e1e;border:1px solid #333;border-radius:16px;color:#fff;cursor:pointer;display:flex;flex-direction:column;gap:8px;justify-content:center;padding:20px 16px;transition:all .15s ease}.hotwater-control-tile:active{background:#252525;transform:scale(.97)}.hotwater-control-tile.active{background:linear-gradient(135deg,#1e2e1e,#1a1a1a);border-color:#3a6}.hotwater-tile-icon{font-size:28px}.hotwater-tile-label{color:#ccc;font-size:14px;font-weight:500}.hotwater-tile-status{color:#666;font-size:12px}.hotwater-control-tile.active .hotwater-tile-status{color:#3a6}.hotwater-immersion-status{font-size:18px;font-weight:600}.hotwater-immersion-buttons{display:flex;gap:8px}.hotwater-btn{-webkit-tap-highlight-color:transparent;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px;transition:all .15s ease}.hotwater-btn.start{background:#3a6;color:#fff}.hotwater-btn.start:disabled{background:#333;color:#666;cursor:not-allowed}.hotwater-btn.stop{background:#c44;color:#fff}.hotwater-btn.full{margin-top:12px;width:100%}.hotwater-btn:active:not(:disabled){transform:scale(.97)}.hotwater-immersion-timer{align-items:center;border-top:1px solid #333;display:flex;justify-content:space-between;margin-top:12px;padding-top:12px}.hotwater-timer-label{color:#888;font-size:14px}.hotwater-timer-value{color:#3a6;font-size:18px;font-weight:500}.hotwater-timer-input{align-items:center;border-top:1px solid #333;display:flex;gap:8px;margin-top:12px;padding-top:12px}.hotwater-timer-input-label{color:#888;font-size:14px}.hotwater-input{background:#2a2a2a;border:1px solid #444;border-radius:8px;color:#fff;font-size:16px;padding:8px 12px;text-align:center;width:70px}.hotwater-input-unit,.hotwater-timer-input-unit{color:#888;font-size:14px}.hotwater-accordion-header{-webkit-tap-highlight-color:transparent;align-items:center;background:none;border:none;color:#ccc;cursor:pointer;display:flex;font-size:16px;justify-content:space-between;padding:0;width:100%}.hotwater-accordion-header:active{color:#fff}.hotwater-accordion-content{border-top:1px solid #333;display:flex;flex-direction:column;gap:16px;margin-top:16px;padding-top:16px}.hotwater-warning-banner{background:#4a3020;border:1px solid #6b4030;border-radius:8px;color:#fa0;font-size:14px;padding:10px 14px}.hotwater-subsection{background:#252525;border-radius:10px;padding:14px}.hotwater-subsection-header{align-items:center;color:#ccc;display:flex;font-size:14px;justify-content:space-between;margin-bottom:12px}.hotwater-feature-status{background:#333;border-radius:12px;color:#888;font-size:12px;padding:4px 10px}.hotwater-feature-status.enabled{background:#1e3e1e;color:#3a6}.hotwater-feature-row{align-items:center;color:#888;display:flex;font-size:14px;justify-content:space-between;padding:8px 0}.hotwater-feature-value{color:#fff;font-weight:500}.hotwater-enable-row{align-items:center;display:flex;gap:8px}.hotwater-enable-row .hotwater-input{flex:1 1;max-width:80px}.hotwater-stats-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,1fr)}.hotwater-stat-item{background:#252525;border-radius:8px;display:flex;flex-direction:column;gap:4px;padding:12px}.hotwater-stat-item.clickable{-webkit-tap-highlight-color:transparent;cursor:pointer}.hotwater-stat-item.clickable:active{background:#2a2a2a}.hotwater-stat-label{color:#666;font-size:11px;letter-spacing:.5px;text-transform:uppercase}.hotwater-stat-value{color:#fff;font-size:18px}.home-panel{gap:20px;min-height:100%;padding:16px}.home-header,.home-panel{align-items:center;display:flex;flex-direction:column}.home-header{gap:8px;padding:20px 0}.home-logo{height:auto;opacity:.9;width:120px}.home-title{color:#fff;font-size:24px;font-weight:600;margin:0}.home-connect-btn{-webkit-tap-highlight-color:transparent;background:linear-gradient(135deg,#2b7cff,#1a5fd9);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:18px;font-weight:500;max-width:280px;padding:16px 24px;transition:transform .15s ease,box-shadow .15s ease;width:100%}.home-connect-btn:active{transform:scale(.98)}.home-status-bar{align-items:center;background:#1e1e1e;border:1px solid #333;border-radius:20px;display:flex;gap:8px;padding:10px 16px}.home-status-dot{background:#666;border-radius:50%;height:10px;width:10px}.home-status-dot.connected{background:#3a6;box-shadow:0 0 8px #32aa6480}.home-status-text{color:#aaa;flex:1 1;font-size:14px}.home-disconnect-btn{-webkit-tap-highlight-color:transparent;background:#2a2a2a;border:1px solid #444;border-radius:6px;color:#888;cursor:pointer;font-size:12px;padding:6px 12px}.home-disconnect-btn:active{background:#333}.home-actions-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr);width:100%}.home-action-tile{-webkit-tap-highlight-color:transparent;align-items:center;background:#1e1e1e;border:1px solid #333;border-radius:16px;color:#fff;cursor:pointer;display:flex;flex-direction:column;gap:8px;justify-content:center;padding:24px 16px;transition:all .15s ease}.home-action-tile:active{background:#252525;transform:scale(.97)}.home-action-tile.active{background:linear-gradient(135deg,#1e2e1e,#1a1a1a);border-color:#3a6}.home-action-label{color:#ccc;font-size:14px;font-weight:500}.home-action-status{color:#666;font-size:12px}.home-action-tile.active .home-action-status{color:#3a6}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}.dash-navbar{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;gap:16px;padding:8px 12px}.dash-brand{font-weight:600}.dash-tabs{display:flex;gap:8px}.dash-tabs>button{background:#f9fafb;border:1px solid #d1d5db;border-radius:6px;padding:6px 10px}.dash-tabs>button.active{background:#e5e7eb}.dash-status{align-items:center;display:flex;gap:6px;margin-left:auto}.status-dot{background:#888;border-radius:9999px;display:inline-block;height:10px;width:10px}.status-dot.ok{background:#16a34a}.status-dot.off{background:#9ca3af}tr.group-row td{background:#f3f4f6;color:#111827;font-weight:600}
/*# sourceMappingURL=main.8abc695c.css.map*/