:root{color-scheme:light;--cl-orange: #ff7a1a;--cl-orange-strong: #e85f00;--cl-orange-soft: #fff0e5;--cl-ink: #171717;--cl-ink-soft: #303030;--cl-muted: #6f6f76;--cl-line: #ece7e2;--cl-bg: #fff8f2;--cl-surface: #ffffff;--cl-surface-warm: #fffaf6;--cl-success: #157a52;--cl-warning: #b86500;--cl-danger: #b13d3d;--cl-radius-sm: 10px;--cl-radius-md: 16px;--cl-radius-lg: 24px;--cl-shadow-card: 0 18px 48px rgba(47, 32, 20, .12);--cl-shadow-button: 0 10px 24px rgba(255, 122, 26, .24);--cl-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html{min-width:320px;background:var(--cl-bg);scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--cl-ink);background:var(--cl-bg);font-family:var(--cl-font);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(255,122,26,.28);outline-offset:3px}a{color:inherit}h1,h2,h3,p{margin:0}#root{min-height:100vh}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.app-shell{min-height:100vh;display:grid;grid-template-columns:280px minmax(0,1fr);background:radial-gradient(circle at top left,rgba(255,122,26,.16),transparent 34%),linear-gradient(135deg,#fff8f2,#fff 48%,#fff3e8)}.side-rail{position:sticky;top:0;height:100vh;display:grid;grid-template-rows:auto 1fr auto;gap:26px;border-right:1px solid rgba(236,231,226,.86);background:#ffffffe0;padding:24px}.brand-lockup,.nav-list a,.rail-status,.toolbar-row,.house-menu-button,.icon-button,.overview-card,.room-row{border-radius:var(--cl-radius-md)}.brand-lockup{display:flex;align-items:center;gap:12px}.brand-lockup strong,.brand-lockup small,.section-head h2,.section-head p,.room-row strong,.room-row small{display:block}.brand-lockup strong{font-size:1.08rem}.brand-lockup small{color:var(--cl-muted);margin-top:2px}.brand-mark{width:50px;height:50px;display:grid;place-items:center;border-radius:17px;color:var(--cl-surface);background:var(--cl-orange);box-shadow:var(--cl-shadow-button)}.nav-list{display:grid;align-content:start;gap:8px}.nav-list a{display:flex;align-items:center;gap:10px;color:var(--cl-ink-soft);padding:12px;text-decoration:none}.nav-list a.active,.nav-list a:hover{color:var(--cl-orange-strong);background:var(--cl-orange-soft)}.rail-status{display:grid;gap:4px;border:1px solid var(--cl-line);background:var(--cl-surface-warm);padding:14px}.rail-status span,.rail-status small{color:var(--cl-muted)}.rail-status span{font-size:.78rem;font-weight:800;text-transform:uppercase}.main-stage{min-width:0;padding:clamp(20px,4vw,42px)}.main-stage,.section-panel,.smart-plug-card,.setup-card,.provisioning-card,.claim-card,.phase-form,.schedule-card,.automation-card{min-width:0}.brand-header,.section-panel,.smart-plug-card,.schedule-card,.automation-card,.discovered-device,.energy-focus-card,.room-row{overflow-wrap:anywhere}.brand-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:20px}.brand-header h1{max-width:720px;margin-top:5px;color:var(--cl-ink);font-size:clamp(2rem,5vw,4.2rem);line-height:.96}.brand-header p:not(.eyebrow){max-width:640px;margin-top:12px;color:var(--cl-muted);line-height:1.55}.eyebrow{color:var(--cl-orange-strong);font-size:.78rem;font-weight:850;letter-spacing:0;text-transform:uppercase}.header-actions,.toolbar-row,.house-menu-button,.icon-button,.overview-card,.room-row{display:flex;align-items:center}.skip-link{position:fixed;top:12px;left:12px;z-index:20;transform:translateY(-160%);border-radius:var(--cl-radius-sm);background:var(--cl-ink);color:#fff;padding:10px 14px;font-weight:850;text-decoration:none}.skip-link:focus{transform:translateY(0)}.header-actions{gap:10px;flex-wrap:wrap;justify-content:flex-end}.primary-button,.ghost-button,.house-menu-button,.icon-button{min-height:44px;border:0;font-weight:800}.primary-button,.ghost-button,.house-menu-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:var(--cl-radius-md);padding:0 16px}.primary-button{color:#fff;background:var(--cl-orange);box-shadow:var(--cl-shadow-button)}.primary-button:hover{background:var(--cl-orange-strong)}.primary-button.danger-button{background:var(--cl-danger);box-shadow:0 10px 24px #b13d3d2e}.primary-button.danger-button:hover{background:#963333}.ghost-button,.house-menu-button,.icon-button{color:var(--cl-ink-soft);background:var(--cl-surface);border:1px solid var(--cl-line)}.ghost-button:hover,.house-menu-button:hover,.icon-button:hover{border-color:#ff7a1a5c;color:var(--cl-orange-strong)}.ghost-button.danger-text{color:var(--cl-danger)}.ghost-button.danger-text:hover{border-color:#b13d3d52;background:#fff0f0;color:var(--cl-danger)}.toolbar-row{gap:10px;margin-bottom:18px}.status-strip{display:inline-flex;align-items:center;min-height:34px;margin:0 0 16px;border:1px solid rgba(255,122,26,.3);border-radius:var(--cl-radius-md);background:var(--cl-orange-soft);color:var(--cl-orange-strong);padding:0 12px;font-size:.9rem;font-weight:800}.active-page-label{width:max-content;display:inline-flex;align-items:center;gap:7px;margin-bottom:16px;border:1px solid rgba(255,122,26,.28);border-radius:999px;background:var(--cl-orange-soft);color:var(--cl-orange-strong);padding:8px 12px;font-size:.84rem;font-weight:850}.page-view{display:grid;gap:16px}.compact-page-grid{grid-template-columns:minmax(0,760px)}.house-switcher{min-width:0;display:flex;gap:8px;flex:1;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}.house-switcher.empty{align-items:center;min-height:48px;color:var(--cl-muted);font-weight:850}.house-switcher button{min-width:170px;display:grid;gap:3px;border:1px solid var(--cl-line);border-radius:var(--cl-radius-md);background:#ffffffe0;color:var(--cl-ink);padding:12px 14px;text-align:left}.house-switcher button.active{border-color:#ff7a1a75;background:var(--cl-orange-soft)}.house-switcher small{color:var(--cl-muted)}.house-menu-button{flex:0 0 auto}.house-menu-select{position:relative}.house-menu-select select{min-width:150px;max-width:220px;appearance:none;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:800;padding:0 18px 0 0}.house-menu-select select:disabled{cursor:not-allowed;color:var(--cl-muted)}.house-menu-select svg:last-child{pointer-events:none}.icon-button{width:44px;justify-content:center}.overview-grid,.content-grid{display:grid;gap:16px}.overview-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.overview-card,.section-panel{border:1px solid rgba(236,231,226,.92);background:#ffffffeb;box-shadow:var(--cl-shadow-card)}.overview-card{gap:14px;min-height:138px;padding:16px}.overview-icon{width:44px;height:44px;display:grid;place-items:center;flex:0 0 auto;border-radius:14px}.overview-card.orange .overview-icon{color:var(--cl-orange-strong);background:var(--cl-orange-soft)}.overview-card.green .overview-icon{color:var(--cl-success);background:#e7f6ef}.overview-card.blue .overview-icon{color:#2767b1;background:#eaf2ff}.overview-card.violet .overview-icon{color:#7b4ab8;background:#f1eafd}.overview-card p,.overview-card small,.section-head>p,.room-row small,.empty-state small{color:var(--cl-muted)}.overview-card p{font-weight:800}.overview-card strong{display:block;margin:4px 0;font-size:clamp(1.45rem,2.4vw,2.1rem)}.content-grid{grid-template-columns:minmax(320px,1fr) minmax(360px,1.15fr);align-items:start}.section-panel{display:grid;gap:16px;border-radius:var(--cl-radius-lg);padding:18px;scroll-margin-top:18px}.section-panel.wide-panel{grid-column:1 / -1}.section-head{display:grid;gap:10px}.section-head h2{margin-top:3px;font-size:clamp(1.25rem,2vw,1.65rem)}.section-head>p{line-height:1.45}.room-list,.house-room-manager,.compact-resource-form,.resource-summary-grid,.resource-chip-row{display:grid;gap:10px}.house-room-manager{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.house-room-manager>.empty-state,.house-room-manager>.resource-summary-grid,.house-room-manager>.resource-chip-row,.house-room-manager>.setup-status{grid-column:1 / -1}.compact-resource-form{grid-template-columns:1fr;align-items:stretch;border:1px solid var(--cl-line);border-radius:var(--cl-radius-md);background:var(--cl-surface-warm);padding:12px}.compact-resource-form strong,.compact-resource-form small,.compact-resource-form label,.compact-resource-form label span{display:block}.compact-resource-form small,.compact-resource-form label{color:var(--cl-muted)}.compact-resource-form label{display:grid;gap:6px;font-size:.84rem;font-weight:800}.compact-resource-form input,.compact-resource-form select{min-width:0;min-height:42px;border:1px solid var(--cl-line);border-radius:var(--cl-radius-sm);background:#fff;color:var(--cl-ink);padding:0 12px}.dashboard-alert-stack{display:grid;gap:10px;margin-bottom:16px}.dashboard-voltage-alert{display:grid;gap:4px;border:1px solid rgba(177,61,61,.3);border-radius:var(--cl-radius-md);background:#fff3f3;color:var(--cl-danger);padding:12px 14px}.dashboard-voltage-alert strong,.dashboard-voltage-alert span{display:block}.dashboard-voltage-alert span{color:var(--cl-ink-soft)}.compact-resource-form .primary-button{width:100%}.resource-summary-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.resource-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--cl-line);border-radius:var(--cl-radius-md);background:#fff;color:var(--cl-ink);padding:12px;text-align:left}.resource-summary.active,.resource-summary:hover{border-color:#ff7a1a75;background:var(--cl-orange-soft)}.resource-summary-main{min-width:0;flex:1;display:flex;align-items:center;gap:10px;border:0;background:transparent;color:inherit;padding:0;text-align:left}.resource-summary svg{color:var(--cl-orange-strong)}.resource-summary strong,.resource-summary small{display:block}.resource-summary small{color:var(--cl-muted)}.resource-chip-row{display:flex;flex-wrap:wrap}.resource-chip-row span{border-radius:999px;background:var(--cl-orange-soft);color:var(--cl-orange-strong);padding:7px 10px;font-size:.84rem;font-weight:850}.device-quick-actions,.device-room-head,.smart-plug-card,.plug-power-row,.plug-metric,.plug-card-footer{border-radius:var(--cl-radius-md)}.device-quick-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(255,122,26,.28);background:var(--cl-orange-soft);padding:12px}.device-quick-actions strong,.device-quick-actions small,.device-room-head strong,.device-room-head small,.plug-title-lockup strong,.plug-title-lockup small,.plug-power-row span,.plug-power-row strong,.plug-power-row small{display:block}.device-quick-actions small,.device-room-head small,.plug-title-lockup small,.plug-location-row span,.plug-power-row span,.plug-power-row small,.plug-card-footer{color:var(--cl-muted)}.device-quick-actions>div:last-child{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.device-room-groups{display:grid;gap:18px}.device-room-group{display:grid;gap:12px}.device-room-head{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--cl-line);background:var(--cl-surface-warm);padding:12px}.device-room-head span{color:var(--cl-orange-strong);font-weight:850}.smart-plug-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(265px,1fr));gap:12px}.smart-plug-card{display:grid;gap:14px;border:1px solid var(--cl-line);background:#fff;padding:14px}.smart-plug-card.online.relay-on{border-color:#157a523d}.smart-plug-card.offline{background:snow}.plug-card-head,.plug-head-meta,.plug-title-lockup,.plug-location-row,.plug-cost-pill,.status-pill,.power-toggle{display:flex;align-items:center}.plug-card-head{justify-content:space-between;gap:12px}.plug-head-meta{justify-content:flex-end;gap:8px;flex-wrap:wrap}.plug-title-lockup{min-width:0;gap:10px}.plug-title-lockup>div{min-width:0}.plug-title-lockup strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plug-card-icon{width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto;border-radius:14px;color:var(--cl-orange-strong);background:var(--cl-orange-soft)}.status-pill{flex:0 0 auto;gap:5px;border-radius:999px;background:var(--cl-surface-warm);color:var(--cl-muted);padding:6px 9px;font-size:.8rem;font-weight:850;text-transform:capitalize}.status-pill.online{background:#e7f6ef;color:var(--cl-success)}.status-pill.offline{background:#fff0f0;color:var(--cl-danger)}.plug-cost-pill{gap:6px;border-radius:999px;background:var(--cl-orange-soft);color:var(--cl-orange-strong);padding:6px 9px}.plug-cost-pill small,.plug-cost-pill strong{display:block;line-height:1.05}.plug-cost-pill small{color:var(--cl-muted);font-size:.7rem;font-weight:800}.plug-cost-pill strong{font-size:.86rem}.plug-location-row{gap:8px;flex-wrap:wrap}.plug-location-row span{display:inline-flex;align-items:center;gap:5px;border-radius:999px;background:var(--cl-surface-warm);padding:6px 9px;font-size:.84rem;font-weight:800}.plug-power-row{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--cl-line);background:var(--cl-surface-warm);padding:12px}.plug-power-row strong{margin:2px 0;color:var(--cl-ink);font-size:1.75rem;line-height:1}.plug-power-row small{overflow-wrap:anywhere}.power-toggle{min-width:92px;min-height:42px;justify-content:center;gap:7px;border:1px solid transparent;border-radius:999px;font-weight:850}.power-toggle.on{color:#fff;background:var(--cl-orange);box-shadow:var(--cl-shadow-button)}.power-toggle.off{color:var(--cl-ink-soft);background:#fff;border-color:var(--cl-line)}.power-toggle:disabled{cursor:not-allowed;color:var(--cl-muted);background:var(--cl-line);box-shadow:none}.plug-metrics-grid{display:grid;gap:9px}.plug-metric{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;border-top:1px solid var(--cl-line);padding-top:9px}.plug-metric svg{color:var(--cl-orange-strong)}.plug-metric span{color:var(--cl-muted)}.plug-metric strong{text-align:right}.plug-card-footer{display:flex;align-items:center;gap:7px;border-top:1px solid var(--cl-line);padding-top:10px;font-size:.88rem;font-weight:750}.device-edit-form{display:grid;gap:12px;border-top:1px solid var(--cl-line);padding-top:12px}.device-edit-modal{width:min(720px,100%);max-height:calc(100vh - 48px);display:grid;gap:16px;overflow-y:auto;border:1px solid rgba(236,231,226,.92);border-radius:var(--cl-radius-lg);background:#fff;box-shadow:0 24px 80px #14120f38;padding:18px}.modal-device-edit-form{border-top:0;padding-top:0}.device-edit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.device-edit-grid label{display:grid;gap:6px;color:var(--cl-muted);font-size:.84rem;font-weight:800}.device-edit-grid input,.device-edit-grid select{min-width:0;min-height:42px;border:1px solid var(--cl-line);border-radius:var(--cl-radius-sm);background:#fff;color:var(--cl-ink);padding:0 12px}.device-edit-grid input:focus,.device-edit-grid select:focus{border-color:#ff7a1a94;outline:3px solid rgba(255,122,26,.14)}.device-edit-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.device-delete-warning{display:grid;gap:9px;border:1px solid rgba(177,61,61,.22);border-radius:var(--cl-radius-md);background:#fff8f8;padding:12px}.device-delete-warning strong,.device-delete-warning small{display:block}.device-delete-warning small{color:var(--cl-muted)}.device-delete-warning>div{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.energy-insights,.energy-breakdown,.schedule-manager,.automation-rules,.phase-list,.phase-form{display:grid;gap:12px}.energy-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.energy-stat,.energy-focus-card,.energy-breakdown,.phase-form,.schedule-card,.automation-card{border-radius:var(--cl-radius-md)}.energy-stat{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;border:1px solid var(--cl-line);background:var(--cl-surface-warm);padding:12px}.energy-stat>span,.schedule-icon,.automation-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:12px;background:var(--cl-orange-soft);color:var(--cl-orange-strong)}.energy-stat small,.energy-stat strong,.energy-stat em,.energy-focus-card small,.energy-focus-card strong,.mini-section-head strong,.mini-section-head small,.schedule-card strong,.schedule-card small,.schedule-card em,.automation-card strong,.automation-card small,.automation-card em{display:block}.energy-stat small,.energy-stat em,.energy-focus-card small,.energy-bar-row span,.mini-section-head small,.phase-form label,.schedule-card small,.schedule-card em,.automation-card small,.automation-card em{color:var(--cl-muted)}.energy-stat strong{margin:2px 0;font-size:1.25rem}.energy-stat em,.schedule-card em,.automation-card em{font-style:normal}.energy-focus-card{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(255,122,26,.28);background:var(--cl-orange-soft);padding:13px}.energy-focus-card span{color:var(--cl-orange-strong);font-weight:850}.energy-breakdown,.phase-form{border:1px solid var(--cl-line);background:var(--cl-surface-warm);padding:13px}.mini-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.energy-bar-row{display:grid;gap:7px}.energy-bar-row>div:first-child{display:flex;justify-content:space-between;gap:12px}.energy-bar-track{height:9px;overflow:hidden;border-radius:999px;background:#fff}.energy-bar-track span{display:block;height:100%;border-radius:inherit;background:var(--cl-orange)}.rules-tab-row{display:inline-flex;gap:6px;border:1px solid var(--cl-line);border-radius:var(--cl-radius-md);background:#fff;padding:5px}.rules-tab-row button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:var(--cl-radius-sm);background:transparent;color:var(--cl-muted);padding:0 12px;font-weight:850}.rules-tab-row button.active{color:#fff;background:var(--cl-orange)}.rule-template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.rule-template-card{display:grid;align-content:start;gap:8px;min-height:150px;border:1px solid var(--cl-line);border-radius:var(--cl-radius-md);background:#fff;color:var(--cl-ink);padding:13px;text-align:left}.rule-template-card.active,.rule-template-card:hover{border-color:#ff7a1a70;background:var(--cl-orange-soft)}.rule-template-card span{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:#ff7a1a1f;color:var(--cl-orange-strong)}.rule-template-card strong,.rule-template-card small{display:block}.rule-template-card small{color:var(--cl-muted);line-height:1.4}.rule-builder-form{gap:12px}.schedule-template-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.schedule-template-row button{display:flex;align-items:flex-start;gap:10px;min-height:92px;border:1px solid var(--cl-line);border-radius:var(--cl-radius-md);background:#fff;color:var(--cl-ink);padding:13px;text-align:left}.schedule-template-row button.active,.schedule-template-row button:hover{border-color:#ff7a1a70;background:var(--cl-orange-soft)}.schedule-template-row button>svg{color:var(--cl-orange-strong)}.schedule-template-row strong,.schedule-template-row small{display:block}.schedule-template-row small{margin-top:3px;color:var(--cl-muted);line-height:1.35}.sun-cycle-summary{min-height:42px;display:flex;align-items:center;gap:8px;border:1px solid var(--cl-line);border-radius:var(--cl-radius-sm);background:#fff;color:var(--cl-orange-strong);padding:0 12px;font-weight:850}.rule-days-panel{border:1px solid var(--cl-line);border-radius:var(--cl-radius-md);background:#fff}.rule-days-panel{display:grid;gap:10px;padding:12px}.day-chip-grid{display:flex;flex-wrap:wrap;gap:7px}.group-device-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}.group-device-grid label{display:flex;align-items:center;gap:10px;border:1px solid var(--cl-line);border-radius:var(--cl-radius-md);background:#fff;color:var(--cl-ink);padding:10px}.group-device-grid label.active{border-color:#ff7a1a70;background:var(--cl-orange-soft)}.group-device-grid input{width:18px;height:18px;accent-color:var(--cl-orange)}.group-device-grid strong,.group-device-grid small{display:block}.group-device-grid small{color:var(--cl-muted)}.day-chip-grid button{min-width:46px;min-height:34px;border:1px solid var(--cl-line);border-radius:999px;background:#fff;color:var(--cl-muted);font-weight:850}.day-chip-grid button.active{border-color:#ff7a1a70;background:var(--cl-orange);color:#fff}.energy-chart-page,.chart-controls-card,.chart-control-groups,.chart-summary-grid,.chart-panel{display:grid;gap:12px}.chart-controls-card,.chart-summary-card,.chart-panel{border:1px solid var(--cl-line);border-radius:var(--cl-radius-md);background:var(--cl-surface-warm)}.chart-controls-card{grid-template-columns:minmax(0,1fr) auto;align-items:start;padding:14px}.chart-controls-card h2{margin-top:3px;font-size:1.55rem}.chart-controls-card p{margin-top:6px;color:var(--cl-muted);line-height:1.45}.chart-control-groups{justify-items:end}.chart-segmented-control{display:inline-flex;flex-wrap:wrap;gap:5px;border:1px solid var(--cl-line);border-radius:var(--cl-radius-md);background:#fff;padding:5px}.chart-segmented-control button{min-height:34px;border:0;border-radius:var(--cl-radius-sm);background:transparent;color:var(--cl-muted);padding:0 12px;font-size:.9rem;font-weight:850}.chart-segmented-control button.active{color:#fff;background:var(--cl-success)}.chart-selector-grid{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.chart-selector-grid label{display:grid;gap:6px;color:var(--cl-muted);font-size:.84rem;font-weight:800}.chart-selector-grid span{display:block}.chart-selector-grid select{min-width:0;min-height:42px;border:1px solid var(--cl-line);border-radius:var(--cl-radius-sm);background:#fff;color:var(--cl-ink);padding:0 12px}.chart-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.chart-summary-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:12px}.chart-summary-card.muted{background:#f6f7f4;color:var(--cl-muted)}.chart-summary-card>span{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:#157a521a;color:var(--cl-success)}.chart-summary-card.muted>span{background:#5b6a5e1a;color:var(--cl-muted)}.chart-summary-card small,.chart-summary-card strong,.chart-summary-card em{display:block}.chart-summary-card small,.chart-summary-card em{color:var(--cl-muted)}.chart-summary-card strong{margin:2px 0;font-size:1.2rem}.chart-summary-card em{font-style:normal;font-size:.84rem}.chart-panel{padding:14px}.chart-panel-head{align-items:start}.chart-title-row,.chart-panel-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.chart-live-badge{display:inline-flex;align-items:center;min-height:24px;border:1px solid rgba(255,122,26,.34);border-radius:999px;background:var(--cl-orange-soft);color:var(--cl-orange-strong);padding:0 9px;font-size:.76rem;font-weight:900}.chart-scope-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:#157a521a;color:var(--cl-success);padding:7px 10px;font-size:.84rem;font-weight:850}.chart-export-button{min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--cl-line);border-radius:999px;background:#fff;color:var(--cl-ink-soft);padding:0 11px;font-size:.84rem;font-weight:850}.chart-export-button:hover:not(:disabled){border-color:#ff7a1a5c;color:var(--cl-orange-strong)}.chart-export-button:disabled{cursor:not-allowed;opacity:.52}.energy-chart-shell{display:grid;gap:12px}.energy-chart-canvas{min-width:0;overflow-x:auto;border:1px solid var(--cl-line);border-radius:var(--cl-radius-md);background:linear-gradient(180deg,#fffffff5,#fffaf6e6),#fff;padding:10px}.energy-chart-canvas svg{display:block;width:100%;min-width:640px;height:auto}.chart-grid-line line{stroke:#157a521f}.chart-grid-line text,.chart-x-label{fill:var(--cl-muted);font-size:11px;font-weight:750}.chart-future-region{fill:#5b6a5e0f}.chart-area-path{fill:#157a521f;transition:opacity .18s ease}.chart-area-path.power{fill:#ff7a1a1c}.chart-area-path.current{fill:#157a521a}.chart-area-path.voltage{fill:#2669b41a}.chart-line-path{fill:none;stroke:var(--cl-success);stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2;transition:stroke .18s ease}.chart-line-path.power{stroke:var(--cl-orange)}.chart-line-path.current{stroke:var(--cl-success)}.chart-line-path.voltage{stroke:#2669b4}.chart-point-hit{cursor:pointer}.chart-point-hit:focus{outline:none}.chart-point-guide{opacity:0;stroke:#3030303d;stroke-dasharray:3 5}.chart-hover-marker{fill:#fff;stroke:var(--cl-orange);stroke-width:2.4;filter:drop-shadow(0 4px 8px rgba(47,32,20,.16))}.chart-hover-marker.live{fill:var(--cl-orange);stroke:#fff}.chart-point-target{fill:transparent}.chart-point-hit:hover .chart-point-guide,.chart-point-hit.active .chart-point-guide{opacity:1}.chart-energy-bar{fill:#157a52c7;transition:height .18s ease,opacity .18s ease,y .18s ease}.chart-energy-bar.live,.chart-energy-bar.active{fill:var(--cl-orange)}.chart-energy-bar:not(.active){opacity:.82}.chart-energy-hover-rule{stroke:#ff7a1a80;stroke-dasharray:3 4}.chart-now-line{stroke:var(--cl-orange-strong);stroke-dasharray:5 4;stroke-width:1.35}.chart-now-label{fill:var(--cl-orange-strong);font-size:11px;font-weight:900}.energy-chart-tooltip{display:grid;gap:3px;border:1px solid rgba(21,122,82,.2);border-radius:var(--cl-radius-md);background:#fff;padding:12px}.energy-chart-tooltip span,.energy-chart-tooltip small{display:block;color:var(--cl-muted)}.energy-chart-tooltip strong{font-size:1.1rem}.chart-data-note{display:grid;gap:3px;border:1px solid rgba(255,122,26,.24);border-radius:var(--cl-radius-md);background:var(--cl-orange-soft);color:var(--cl-orange-strong);padding:10px 12px}.chart-data-note small{color:var(--cl-ink-soft)}.chart-breakdown-panel{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;border:1px solid var(--cl-line);border-radius:var(--cl-radius-md);background:#fff;padding:12px}.chart-breakdown-panel>div{min-width:0;display:grid;gap:3px}.chart-breakdown-panel small{color:var(--cl-muted);font-size:.78rem;font-weight:800}.chart-breakdown-panel strong{color:var(--cl-ink);font-size:.98rem}.chart-loading-state,.chart-error-state,.chart-empty-state{min-height:260px;display:grid;place-items:center;align-content:center;gap:8px;border:1px dashed rgba(21,122,82,.24);border-radius:var(--cl-radius-md);background:#fff;color:var(--cl-muted);text-align:center;padding:22px}.chart-loading-state svg,.chart-error-state svg,.chart-empty-state svg{color:var(--cl-success)}.chart-loading-state strong,.chart-error-state strong,.chart-empty-state strong{color:var(--cl-ink)}.phase-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.phase-form label{display:grid;gap:6px;font-size:.84rem;font-weight:800}.phase-form input,.phase-form select{min-width:0;min-height:42px;border:1px solid var(--cl-line);border-radius:var(--cl-radius-sm);background:#fff;color:var(--cl-ink);padding:0 12px}.phase-form input:focus,.phase-form select:focus{border-color:#ff7a1a94;outline:3px solid rgba(255,122,26,.14)}.schedule-card,.automation-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--cl-line);background:#fff;padding:12px}.schedule-card em,.automation-card em{display:inline-flex;align-items:center;gap:5px;margin-top:6px}.small-toggle{min-width:82px;min-height:36px;border:1px solid var(--cl-line);border-radius:999px;background:var(--cl-surface-warm);color:var(--cl-muted);font-weight:850}.small-toggle.active{border-color:#157a523d;background:#e7f6ef;color:var(--cl-success)}.rule-card-actions{display:flex;align-items:center;gap:8px}.small-icon-button{width:38px;height:38px;display:inline-grid;place-items:center;border:1px solid var(--cl-line);border-radius:999px;background:var(--cl-surface-warm);color:var(--cl-muted)}.small-icon-button:hover{border-color:#ff7a1a70;color:var(--cl-orange-strong)}.small-icon-button.danger:hover{border-color:#b13d3d52;background:#fff0f0;color:var(--cl-danger)}.delete-rule-dialog{width:min(460px,100%);display:grid;gap:14px;border:1px solid rgba(177,61,61,.22);border-radius:var(--cl-radius-lg);background:#fff;box-shadow:0 24px 80px #14120f3d;padding:20px}.delete-rule-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;background:#fff0f0;color:var(--cl-danger)}.delete-rule-dialog h2{margin-top:4px;font-size:1.45rem}.delete-rule-dialog p:not(.eyebrow){margin-top:8px;color:var(--cl-muted);line-height:1.5}.delete-rule-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.room-row{display:grid;grid-template-columns:minmax(0,1fr) auto;justify-content:space-between;gap:14px;border:1px solid var(--cl-line);background:var(--cl-surface-warm);padding:13px}.room-row span{color:var(--cl-orange-strong);font-weight:850}.room-device-strip{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.room-device-card{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--cl-line);border-radius:var(--cl-radius-sm);background:#fff;color:var(--cl-ink);padding:10px;cursor:pointer}.room-device-card:hover,.room-device-card:focus-visible{border-color:#ff7a1a70;outline:none}.room-device-card strong,.room-device-card small{display:block}.room-device-card small{color:var(--cl-muted);text-transform:capitalize}.mini-power-toggle{min-width:66px;min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid var(--cl-line);border-radius:999px;background:#fff;color:var(--cl-muted);font-weight:850}.mini-power-toggle.on{border-color:transparent;background:var(--cl-orange);color:#fff}.mini-power-toggle:disabled{cursor:not-allowed;background:var(--cl-line)}.empty-state{min-height:190px;display:grid;place-items:center;align-content:center;gap:8px;border:1px dashed var(--cl-line);border-radius:var(--cl-radius-md);background:var(--cl-surface-warm);color:var(--cl-orange-strong);padding:20px;text-align:center}.empty-state.compact{min-height:150px}.empty-state strong,.empty-state small{display:block}.empty-state strong{color:var(--cl-ink)}.smart-onboarding,.setup-card,.provisioning-card,.claim-card,.setup-steps,.discovered-device-list{display:grid;gap:12px}.smart-onboarding{gap:14px}.onboarding-status-bar,.onboarding-step-card,.setup-card,.provisioning-card,.claim-card,.setup-status,.discovered-device,.discovery-empty.compact{border-radius:var(--cl-radius-md)}.onboarding-status-bar{display:grid;gap:5px;border:1px solid rgba(255,122,26,.28);background:var(--cl-orange-soft);padding:14px}.onboarding-status-bar small,.onboarding-step-card strong,.onboarding-step-card small,.setup-card-head strong,.setup-card-head small,.provisioning-card-head strong,.provisioning-card-head small,.claim-card-head strong,.claim-card-head small,.setup-card small,.provisioning-card small,.claim-card small,.setup-status small,.discovered-device small{display:block}.onboarding-status-bar small,.onboarding-step-card small,.setup-card small,.provisioning-card small,.claim-card small,.setup-status small,.discovered-device small{color:var(--cl-muted)}.mode-pill{width:max-content;border-radius:999px;background:#fff;color:var(--cl-orange-strong);padding:5px 10px;font-size:.76rem;font-weight:850;text-transform:uppercase}.mode-pill.api{color:var(--cl-success)}.mode-pill.api-error{color:var(--cl-danger)}.onboarding-step-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.onboarding-step-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;border:1px solid var(--cl-line);background:var(--cl-surface-warm);padding:12px}.onboarding-step-card svg{color:var(--cl-muted);margin-top:2px}.onboarding-step-card.success{border-color:#157a523d;background:#effaf5}.onboarding-step-card.success svg{color:var(--cl-success)}.onboarding-step-card.loading{border-color:#ff7a1a47;background:var(--cl-orange-soft)}.onboarding-step-card.loading svg{color:var(--cl-orange-strong)}.onboarding-step-card.error svg{color:var(--cl-danger)}.spin-icon{animation:spin .95s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.setup-card,.provisioning-card,.claim-card{border:1px solid var(--cl-line);background:var(--cl-surface-warm);padding:14px}.setup-card-head,.provisioning-card-head,.claim-card-head,.setup-action-row{display:flex;align-items:center}.setup-card-head,.provisioning-card-head,.claim-card-head{justify-content:space-between;gap:12px}.setup-card-head{justify-content:flex-start}.setup-icon{width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto;border-radius:14px;background:var(--cl-orange-soft);color:var(--cl-orange-strong)}.setup-steps{margin:0;padding-left:20px;color:var(--cl-ink-soft);line-height:1.45}.setup-action-row{gap:8px;flex-wrap:wrap}.compact-button{min-height:38px;padding-inline:12px}.setup-status{display:grid;gap:3px;border:1px solid var(--cl-line);padding:12px}.setup-status.reachable{border-color:#157a523d;background:#effaf5}.setup-status.reachable strong{color:var(--cl-success)}.setup-status.warning{border-color:#b86d1242;background:#fff7e6}.setup-status.warning strong{color:#9a5a0f}.setup-status.unreachable{border-color:#b13d3d38;background:#fff0f0}.setup-status.unreachable strong{color:var(--cl-danger)}.provisioning-card-head>span,.claim-card-head>span{border-radius:999px;background:#fff;color:var(--cl-orange-strong);padding:6px 10px;font-size:.82rem;font-weight:850}.provisioning-grid,.assignment-grid{display:grid;gap:10px}.provisioning-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.assignment-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr)}.assignment-create-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.modal-resource-form{grid-template-columns:1fr}.modal-resource-form .primary-button{width:100%}.provisioning-grid label,.assignment-grid label{display:grid;gap:6px;color:var(--cl-muted);font-size:.84rem;font-weight:800}.provisioning-grid input,.assignment-grid input,.assignment-grid select{min-width:0;min-height:42px;border:1px solid var(--cl-line);border-radius:var(--cl-radius-sm);background:#fff;color:var(--cl-ink);padding:0 12px}.provisioning-grid input:focus,.assignment-grid input:focus,.assignment-grid select:focus{border-color:#ff7a1a94;outline:3px solid rgba(255,122,26,.14)}.password-input-wrap{position:relative;display:grid}.password-input-wrap input{padding-right:46px}.password-visibility-button{position:absolute;top:50%;right:6px;width:34px;height:34px;display:grid;place-items:center;transform:translateY(-50%);border:0;border-radius:10px;background:transparent;color:var(--cl-muted)}.password-visibility-button:hover,.password-visibility-button:focus{background:var(--cl-orange-soft);color:var(--cl-orange-strong)}.password-visibility-button:focus{outline:2px solid rgba(255,122,26,.24);outline-offset:1px}.wide-action{width:100%}.discovered-device{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--cl-line);background:#fff;color:var(--cl-ink);padding:12px;text-align:left}.discovered-device:hover,.discovered-device.active{border-color:#ff7a1a75;background:var(--cl-orange-soft)}.discovered-device:disabled{cursor:not-allowed;opacity:.62}.discovered-device:disabled:hover{border-color:var(--cl-line);background:#fff}.discovered-device span,.discovered-device strong,.discovered-device small{display:block}.discovered-device em{color:var(--cl-orange-strong);font-style:normal;font-weight:850}.discovery-empty.compact{min-height:126px;border:1px dashed var(--cl-line);background:#fff}.modal-backdrop{position:fixed;inset:0;z-index:40;display:grid;place-items:center;overflow-y:auto;background:#14120f6b;padding:24px}.onboarding-modal{width:min(980px,100%);max-height:calc(100vh - 48px);display:grid;gap:16px;overflow-y:auto;border:1px solid rgba(236,231,226,.92);border-radius:var(--cl-radius-lg);background:radial-gradient(circle at top left,rgba(255,122,26,.12),transparent 30%),#fff;box-shadow:0 24px 80px #14120f38;padding:18px}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border-bottom:1px solid var(--cl-line);padding-bottom:14px}.modal-head h2{margin-top:3px;font-size:clamp(1.35rem,3vw,2rem)}.wizard-onboarding{gap:14px}.wizard-progress{grid-template-columns:repeat(5,minmax(0,1fr))}.onboarding-step-card.active{border-color:#ff7a1a61;background:var(--cl-orange-soft)}.onboarding-step-card.active svg{color:var(--cl-orange-strong)}.wizard-stage-card{min-height:330px;align-content:start}.wizard-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:auto;border-top:1px solid var(--cl-line);padding-top:12px}.completion-card{min-height:260px;justify-items:center;align-content:center;text-align:center}.completion-card strong,.completion-card small{display:block}.completion-card strong{font-size:1.25rem}.completion-card small{max-width:520px;margin-top:6px;color:var(--cl-muted);line-height:1.45}.completion-icon{width:74px;height:74px;display:grid;place-items:center;border-radius:24px;background:#e7f6ef;color:var(--cl-success)}@media(max-width:1180px){.app-shell{grid-template-columns:1fr}.side-rail{position:static;height:auto;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:center}.nav-list{grid-column:1 / -1;grid-template-columns:repeat(6,minmax(0,1fr))}.rail-status{justify-self:end;max-width:320px}.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-summary-grid,.chart-breakdown-panel{grid-template-columns:repeat(3,minmax(0,1fr))}.onboarding-step-grid,.assignment-create-grid,.assignment-grid,.chart-controls-card,.chart-selector-grid,.smart-plug-grid{grid-template-columns:1fr}.chart-control-groups{justify-items:stretch}.chart-segmented-control{width:100%}.chart-segmented-control button{flex:1 1 0}.wizard-progress{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){.brand-header,.toolbar-row,.content-grid{display:grid;grid-template-columns:1fr}.header-actions{justify-content:stretch}.primary-button,.ghost-button,.house-menu-button,.icon-button{width:100%}.provisioning-grid,.energy-stat-grid,.chart-breakdown-panel,.chart-summary-grid,.device-edit-grid,.phase-form-grid{grid-template-columns:1fr}.setup-action-row,.device-quick-actions,.device-room-head,.plug-power-row,.plug-head-meta,.energy-focus-card,.mini-section-head,.setup-card-head,.provisioning-card-head,.claim-card-head{display:grid}.chart-panel-actions,.chart-export-button{width:100%}.device-quick-actions>div:last-child{justify-content:stretch}.device-quick-actions .ghost-button{width:100%}.schedule-card,.automation-card{grid-template-columns:auto minmax(0,1fr)}.house-room-manager,.compact-resource-form{grid-template-columns:1fr}.compact-resource-form .primary-button{width:100%}.schedule-card .small-toggle{grid-column:1 / -1;width:100%}.automation-card .small-toggle{width:100%}.rule-card-actions{grid-column:1 / -1;width:100%}.discovered-device{grid-template-columns:1fr}.discovered-device em,.plug-metric strong{text-align:left}.modal-backdrop{align-items:start;padding:14px}.onboarding-modal{max-height:none}}@media(max-width:640px){.main-stage,.side-rail{padding:16px}.side-rail,.nav-list,.overview-grid{grid-template-columns:1fr}.nav-list a{min-height:42px}.house-switcher{display:grid;overflow:visible}.house-switcher button{min-width:0}.overview-card,.room-row{align-items:flex-start}.overview-card,.plug-card-head,.plug-head-meta,.plug-metric{display:grid;grid-template-columns:1fr}.overview-icon,.plug-card-icon{margin-bottom:2px}.status-pill,.plug-cost-pill,.power-toggle{width:100%;justify-content:center}.wizard-progress{grid-template-columns:1fr}.wizard-footer{display:grid}}@media(max-width:420px){.brand-header h1{font-size:1.85rem;line-height:1.02}.section-panel{padding:14px}.plug-power-row strong{font-size:1.45rem}.energy-stat{grid-template-columns:1fr}}
