:root{--primary:#6366f1;--primary-glow:rgba(99, 102, 241, 0.25);--secondary:#22d3ee;--secondary-glow:rgba(34, 211, 238, 0.25);--accent:#a78bfa;--bg-primary:#0a0e1a;--bg-secondary:#111827;--bg-card:rgba(17, 24, 39, 0.65);--bg-glass:rgba(255, 255, 255, 0.04);--border:rgba(255, 255, 255, 0.08);--border-strong:rgba(255, 255, 255, 0.15);--surface:rgba(17, 24, 39, 0.85);--surface-raised:#151c2e;--text-main:#f1f5f9;--text-muted:#94a3b8;--text-dim:#64748b;--success:#34d399;--warning:#fbbf24;--error:#f87171;--info:#6366f1;--shadow-tech:0 4px 24px rgba(0, 0, 0, 0.4);--glow-primary:0 0 20px rgba(99, 102, 241, 0.15);--radius-xl:14px;--radius-lg:12px;--radius-md:10px;--radius-sm:6px;--page-gutter:clamp(16px, 2.5vw, 32px)}*{margin:0;padding:0;box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{font-family:Inter,"Segoe UI","Microsoft YaHei",system-ui,sans-serif;color:var(--text-main);background-color:var(--bg-primary);background-image:radial-gradient(ellipse at 20% 50%,rgba(99,102,241,.08) 0,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(34,211,238,.06) 0,transparent 50%),radial-gradient(ellipse at 60% 80%,rgba(167,139,250,.05) 0,transparent 50%);min-height:100vh;line-height:1.6}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:rgba(255,255,255,.08);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.15)}.app.shell-app{display:grid;grid-template-columns:240px 1fr;min-height:100vh;background:#f8fafc;transition:grid-template-columns .4s cubic-bezier(.4, 0, .2, 1)}body.sidebar-collapsed .app.shell-app{grid-template-columns:80px 1fr;grid-template-columns:96px minmax(0,1fr)}.sidebar{position:sticky;height:100vh;background:#fff;border-right:1px solid rgba(15,23,42,.05);display:flex;flex-direction:column;z-index:100;transition:.4s cubic-bezier(.4, 0, .2, 1)}.sidebar-head{margin-bottom:32px;padding:0;display:flex;justify-content:center;width:100%}.sidebar-logo{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;text-align:center}.sidebar-logo-icon{width:44px;height:44px;flex-shrink:0;border-radius:12px;background:linear-gradient(135deg,var(--primary),var(--secondary));display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px var(--primary-glow);transition:transform .3s}.nav{display:flex;flex-direction:column;gap:6px}.nav-item{width:100%;display:flex;align-items:center;gap:12px;border-radius:var(--radius-md);border:none;background:0 0;color:var(--text-muted);font-size:13.5px;cursor:pointer;text-align:left;margin-bottom:2px;position:relative}.nav-item:hover{color:var(--text-main)}.nav-item.active{color:var(--secondary);box-shadow:0 0 20px rgba(99,102,241,.1)}.nav-item.active::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:20px;background:linear-gradient(180deg,var(--primary),var(--secondary));border-radius:0 3px 3px 0}body.sidebar-collapsed .nav-item{justify-content:center;transform:none}body.sidebar-collapsed .nav-item:hover{transform:scale(1.05)}.nav-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center}.nav-label{white-space:nowrap;transition:opacity .3s}.sidebar-controls{margin-top:auto;padding-top:16px;border-top:1px solid var(--border)}.sidebar-collapse{position:absolute;right:-13px;top:32px;height:26px;background:var(--surface);border:1px solid var(--border-strong);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);z-index:10;color:var(--text-muted);transition:.3s}.sidebar-collapse:hover{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 0 10px var(--primary-glow)}.main.shell-main{flex:1;display:flex;flex-direction:column;min-width:0;height:100vh;overflow-y:auto;overflow-x:hidden}.title-bar.shell-titlebar{padding:16px 28px;background:rgba(15,20,35,.6);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;z-index:50}.title-brand-block{display:flex;flex-direction:column;gap:8px}.title-brand-top{display:flex;align-items:center;gap:12px}.traffic-lights{display:flex;gap:6px}.traffic-light{width:10px;height:10px;border-radius:50%}.tl-red{background:#ff5f56}.tl-yellow{background:#ffbd2e}.tl-green{background:#27c93f}.title-bar-divider{width:1px;height:14px;background:var(--border-strong)}.page-kicker{color:var(--text-dim);text-transform:uppercase;letter-spacing:.1em}.title-copy h1{font-size:17px;font-weight:700;color:var(--text-main);letter-spacing:-.3px}.title-copy p{font-size:13px;color:var(--text-muted)}#pageSubtitle,.dashboard-quick-note,.dashboard-section-note,.helper,.hint,.list-filter-note,.room-subnote,.section-title p,.settings-side-head p,.status-modal-note,.title-copy p{display:none!important}.title-bar h1{font-weight:800;letter-spacing:-.03em}.title-bar p{color:var(--muted)}.title-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end}.content{width:100%;max-width:var(--page-max);margin:0 auto;padding:22px var(--page-gutter) 28px}.page{display:none;animation:.22s fadeIn}.page.active{display:block}.banner{display:none;margin:0;padding:14px 16px;border-radius:16px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);font-size:14px;line-height:1.6}.banner.show{display:block}.banner.info{background:var(--blue-soft);border-color:rgba(37,99,235,.16);color:#18458e}.banner.success{background:var(--green-soft);border-color:rgba(31,143,82,.18);color:#1a6d3f}.banner.warning{background:var(--orange-soft);border-color:rgba(220,124,31,.18);color:#9b5510}.banner.error{background:var(--red-soft);border-color:rgba(197,66,66,.18);color:#8d2b2b}#messageBox{position:fixed;top:8px;right:8px;z-index:99999;width:min(420px,calc(100vw - 24px))}#licenseBanner{width:min(calc(100% - (var(--page-gutter) * 2)),var(--page-max));margin:0 auto}.status-modal{inset:0;align-items:center;justify-content:center}.status-modal-card{background:var(--surface);border-radius:var(--radius-xl);box-shadow:0 20px 50px rgba(0,0,0,.2);display:flex;flex-direction:column;position:relative;will-change:transform,opacity}@keyframes modalEnter{from{opacity:0;transform:scale(.96) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.auth-overlay{position:fixed;inset:0;z-index:99998;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(8,14,24,.55)}.auth-overlay.show{display:flex}.auth-card{width:min(100%,460px);padding:28px;border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(244,248,252,.98));border:1px solid rgba(255,255,255,.8);box-shadow:0 30px 60px rgba(15,23,42,.24)}.auth-head h2{font-size:30px;font-weight:900;letter-spacing:-.04em}.auth-head p{margin-top:8px;color:var(--muted);font-size:14px;line-height:1.7}.auth-tabs{margin-top:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.auth-tab{min-height:40px;border:none;border-radius:14px;background:rgba(22,45,74,.06);color:var(--muted);font-weight:800;cursor:pointer}.auth-tab.active{background:linear-gradient(135deg,#0f8f8c,#2563eb);color:#fff}.auth-panel{display:none;margin-top:18px}.auth-panel.active{display:block}.auth-form{display:grid;gap:12px}.auth-form label{display:grid;gap:6px;font-size:13px;font-weight:700;color:var(--text)}.auth-form input{width:100%;min-height:44px;padding:9px 12px;border-radius:12px;border:1px solid var(--line-strong);background:#fff;color:var(--text);outline:0}.auth-actions{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-top:4px;flex-wrap:wrap}.auth-note{margin-top:14px;padding:10px 12px;border-radius:14px;background:rgba(22,45,74,.05);color:var(--muted);font-size:12px;line-height:1.7}.auth-error{margin-top:12px;min-height:20px;color:var(--red);font-size:13px;font-weight:700}.user-chip{display:inline-flex;align-items:center;gap:8px;border-radius:999px;border:1px solid var(--line);color:var(--text);font-weight:700}.user-chip-name{color:var(--text)}.user-chip-logout{color:var(--red);background:var(--red-soft);border:1px solid rgba(197,66,66,.16);border-radius:999px;line-height:1.2}.user-chip.hidden{display:none}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;font-weight:700;border:1px solid var(--line);color:var(--muted)}.badge.green{background:var(--green-soft);border-color:rgba(31,143,82,.18);color:var(--green)}.badge.orange{background:var(--orange-soft);border-color:rgba(220,124,31,.18);color:var(--orange)}.badge.red{background:var(--red-soft);border-color:rgba(197,66,66,.18);color:var(--red)}.badge.blue{background:var(--blue-soft);border-color:rgba(37,99,235,.16);color:var(--blue)}.license-badge-trigger{cursor:pointer;user-select:none;transition:transform .18s,box-shadow .18s,background .18s}.license-badge-trigger:hover{transform:translateY(-1px)}.license-badge-trigger:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(37,99,235,.18)}.btn,button,input,select,textarea{font:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 14px;border:none;border-radius:12px;cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background:linear-gradient(135deg,#0b7c79,#1d4ed8);color:#fff;box-shadow:0 14px 26px rgba(29,78,216,.24)}.btn-secondary{background:linear-gradient(180deg,#eef4ff,#dbe7ff);color:#16367a;border:1px solid rgba(37,99,235,.24);box-shadow:0 10px 18px rgba(59,130,246,.12)}.btn-soft{background:var(--accent-soft);color:var(--accent)}.btn-danger{background:var(--red-soft);color:var(--red)}.btn-warning{background:var(--orange-soft);color:var(--orange)}.btn:disabled{cursor:not-allowed;opacity:.55;transform:none;box-shadow:none}.btn-sm{min-height:30px;padding:4px 12px;font-size:12px;font-weight:600;border-radius:8px;white-space:nowrap}.card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);backdrop-filter:blur(10px);background:var(--bg-card);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius-xl);padding:18px;transition:border-color .2s,box-shadow .2s}.card:hover{border-color:rgba(255,255,255,.1);box-shadow:0 4px 20px rgba(0,0,0,.2)}.widget{background:var(--bg-card);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius-xl);padding:18px;transition:transform .25s,box-shadow .25s,border-color .2s}.widget:hover{transform:translateY(-3px);box-shadow:0 8px 30px rgba(0,0,0,.3);border-color:rgba(255,255,255,.1)}.widget::before{display:none}.widget::after{content:"";position:absolute;right:-20px;top:-20px;width:70px;height:70px;border-radius:50%;background:rgba(255,255,255,.07)}.widget-ac{background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff}.widget-light{background:linear-gradient(135deg,#059669,#34d399);color:#fff}.widget-fan{background:linear-gradient(135deg,#0891b2,#22d3ee);color:#fff}.widget-room{background:linear-gradient(135deg,#7c3aed,#a78bfa);color:#fff}.widget-license{background:linear-gradient(135deg,#0d9488,#2dd4bf);color:#fff}.widget strong{color:#fff}.widget label{color:rgba(255,255,255,.6)}.widget small{color:rgba(255,255,255,.8)}.panel-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px;margin-bottom:18px}.panel-stack{display:grid;gap:18px}.room-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.room-card{padding:18px;background:var(--bg-card);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius-xl);display:flex;flex-direction:column;gap:20px;transition:.3s cubic-bezier(.4, 0, .2, 1);position:relative;overflow:hidden}.room-card:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(0,0,0,.3);border-color:rgba(255,255,255,.1)}.room-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.room-head-copy{display:flex;flex-direction:column;gap:4px}.room-head h3{font-size:18px;font-weight:800;color:var(--text-main);letter-spacing:-.02em}.room-head p{font-size:12px;color:var(--text-dim)}.room-meta-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.meta-chip{padding:16px;border-radius:var(--radius-md);background:var(--bg-glass);border:1px solid var(--border);display:flex;flex-direction:column;gap:8px;transition:.2s}.meta-chip:hover{background:rgba(255,255,255,.08);border-color:var(--border-strong)}.meta-chip span{font-size:11px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}.meta-chip strong{font-size:16px;font-weight:800;color:var(--text-main);line-height:1.2}.room-card-badge{padding:4px 10px;border-radius:6px;font-size:11px;font-weight:800;text-transform:uppercase}.action-row,.button-row{display:flex;flex-wrap:wrap;gap:8px}.button-row.center{justify-content:center}.button-row.end{justify-content:flex-end}.stack-gap{margin-top:14px}.hint{color:var(--muted);font-size:12px;line-height:1.6}.info-item{display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}.fan-card-grid,.light-room-grid,.thermostat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.fan-panel,.light-room-panel,.thermostat-card{padding:18px;display:grid;gap:14px}.fan-top,.light-room-top,.thermostat-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.fan-name,.light-room-name,.thermostat-name{font-size:18px;font-weight:800;letter-spacing:-.03em}.muted{color:var(--muted)}.thermostat-body{display:grid;grid-template-columns:148px 1fr;gap:18px;align-items:center}.thermostat-ring{position:relative;width:148px;height:148px}.thermostat-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.thermostat-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.thermostat-center strong{font-size:34px;line-height:1;font-weight:800;letter-spacing:-.04em}.thermostat-center span{font-size:12px;color:var(--muted);margin-top:6px}.key-values{display:grid;gap:10px}.key-value{padding:12px 14px;border-radius:14px;background:var(--surface-soft);border:1px solid var(--line);font-size:13px}.key-value label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}.select,input[type=number],input[type=password],input[type=text],select{width:100%;min-height:40px;padding:9px 12px;border-radius:12px;border:1px solid var(--line-strong);background:#fff;color:var(--text);outline:0}input[type=number]:focus,input[type=password]:focus,input[type=text]:focus,select:focus{border-color:rgba(37,99,235,.28);box-shadow:0 0 0 4px rgba(37,99,235,.1)}.mode-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.temperature-controls{display:flex;align-items:center;gap:10px}.temp-btn{width:42px;height:42px;border:none;border-radius:50%;cursor:pointer;background:var(--surface-soft);color:var(--text);font-size:20px;box-shadow:inset 0 0 0 1px var(--line)}.temp-btn:hover{background:var(--accent-soft);color:var(--accent)}.light-room-grid{gap:16px}.light-list{display:grid;gap:10px}.light-item{padding:14px;border-radius:16px;background:var(--surface-soft);border:1px solid var(--line);display:grid;gap:10px}.light-item.on{background:linear-gradient(135deg,#fff8eb,#fff3d8)}.light-item-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.light-item-title strong{font-size:15px}.slider{width:100%;accent-color:var(--orange)}.fan-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.mini-stat{padding:12px;border-radius:14px;background:var(--surface-soft);border:1px solid var(--line)}.mini-stat span{display:block;font-size:12px;color:var(--muted)}.mini-stat strong{display:block;margin-top:6px;font-size:16px}.log-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:16px}.search-input{max-width:260px}.filter-pill{border:none;border-radius:999px;padding:8px 14px;cursor:pointer;background:#fff;color:var(--muted);box-shadow:inset 0 0 0 1px var(--line)}.filter-pill.active{background:var(--text);color:#fff;box-shadow:none}.log-card{overflow:hidden}.log-table{width:100%;border-collapse:collapse;font-size:13px}.log-table td,.log-table th{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.log-table th{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:rgba(255,255,255,.72)}.log-table tr:last-child td{border-bottom:none}.settings-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.settings-workspace{display:grid;gap:16px}.settings-main-shell{display:grid;grid-template-columns:320px minmax(0,1fr);gap:16px;align-items:start}.settings-main-shell.system-mode{grid-template-columns:280px minmax(0,1fr)}.settings-workspace-side{display:grid;gap:16px;position:sticky;top:88px}.settings-workspace-main{display:grid;gap:14px;min-width:0}.settings-workspace-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px}.settings-workspace-hero h2{margin-top:8px;font-size:30px;font-weight:900;letter-spacing:-.04em}.settings-workspace-hero p{margin-top:8px;max-width:760px;font-size:13px;line-height:1.7;color:var(--muted)}.settings-hero-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;font-weight:700;color:#7c8aa0}.settings-hero-breadcrumb span{color:#a0acbd}.settings-overview-card{padding:18px;display:grid;gap:14px}.settings-side-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.settings-side-head h3{font-size:16px;font-weight:800;letter-spacing:-.02em}.settings-side-head p{margin-top:6px;font-size:12px;line-height:1.6;color:var(--muted)}.settings-room-meta-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.settings-side-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.settings-side-metric{padding:12px 14px;border-radius:16px;border:1px solid rgba(111,129,161,.1);background:linear-gradient(180deg,#fbfcfe,#f3f6fb);display:grid;gap:6px}.settings-side-metric span{font-size:12px;color:#8793a7}.settings-side-metric strong{font-size:16px;line-height:1.3;color:#233043;overflow-wrap:anywhere}.settings-side-metric.blue{background:linear-gradient(180deg,#f4f7ff,#ebf1ff)}.settings-side-metric.violet{background:linear-gradient(180deg,#f7f4ff,#f0edff)}.settings-side-metric.mint{background:linear-gradient(180deg,#f2fcf7,#e9faf1)}.settings-side-metric.amber{background:linear-gradient(180deg,#fff8ee,#fff2de)}.settings-room-preview{border-radius:20px;overflow:hidden;background:#111827;border:1px solid rgba(17,24,39,.08);box-shadow:0 18px 36px rgba(20,35,60,.12)}.settings-room-preview img{width:100%;aspect-ratio:1.18/1;object-fit:cover;display:block}.settings-device-list,.settings-mode-list{display:grid;gap:10px}.settings-device-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:16px;background:#f8fafc;border:1px solid rgba(111,129,161,.08)}.settings-device-row strong{display:block;font-size:14px;color:#233043}.settings-device-row small{display:block;margin-top:5px;font-size:12px;line-height:1.5;color:#8693a6}.settings-device-badge{display:inline-flex;align-items:center;justify-content:center;min-width:76px;min-height:30px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}.settings-device-badge.state-cool,.settings-device-badge.state-green,.settings-device-badge.state-on{background:#ebf8f2;color:#1f9a64}.settings-device-badge.state-heat{background:#fff4e6;color:#dc7c1f}.settings-device-badge.state-dry{background:#eef4ff;color:#3b82f6}.settings-device-badge.state-off{background:#f3f5f8;color:#7d8ba0}.settings-device-badge.state-offline{background:#fff1f1;color:#d45c5c}.settings-mode-option{position:relative;display:flex;align-items:flex-start;gap:12px;padding:14px;border-radius:16px;background:#f8fafc;border:1px solid rgba(111,129,161,.08)}.settings-mode-option.active{background:linear-gradient(180deg,#eef4ff,#f6f9ff);border-color:rgba(59,130,246,.18);box-shadow:0 12px 24px rgba(59,130,246,.08)}.settings-mode-option input{margin-top:3px}.settings-mode-option strong{display:block;font-size:14px;color:#233043}.settings-mode-option span{display:block;margin-top:5px;font-size:12px;line-height:1.6;color:#8592a6}.settings-side{display:grid;gap:16px;align-self:start;position:sticky;top:96px}.settings-card{padding:18px}.settings-card h3{font-size:17px;font-weight:800;letter-spacing:-.03em}.settings-card .sub{margin-top:8px;font-size:12px;color:var(--muted);line-height:1.6}.settings-nav{align-self:start;position:static;display:flex;flex-wrap:nowrap;gap:8px;padding:10px;z-index:1;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;border-radius:20px}.settings-nav-btn{width:auto;min-width:0;flex:0 0 auto;border:none;cursor:pointer;text-align:left;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:999px;background:rgba(248,250,252,.92);color:var(--muted);box-shadow:inset 0 0 0 1px var(--line);white-space:nowrap;transition:background .18s,color .18s,box-shadow .18s,transform .18s}.settings-nav-btn.active{color:var(--text);background:linear-gradient(135deg,rgba(59,130,246,.16),rgba(99,102,241,.14));box-shadow:inset 0 0 0 1px rgba(37,99,235,.18),0 10px 20px rgba(37,99,235,.08)}.settings-nav-btn:hover{background:rgba(37,99,235,.06);color:var(--text);transform:translateY(-1px)}.settings-nav-icon{width:14px;text-align:center;font-size:13px}.settings-nav-label{font-size:12px;font-weight:700;letter-spacing:.01em}.settings-system-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.info-list{display:grid;gap:10px}.info-item{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}.info-item:last-child{padding-bottom:0;border-bottom:none}.info-item span{color:var(--muted)}.info-item strong{text-align:right;overflow-wrap:anywhere;font-weight:700}.mono{font-size:12px}.season-btns{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.season-btn{border:none;border-radius:14px;padding:14px;text-align:left;cursor:pointer;color:#fff;box-shadow:var(--shadow)}.season-btn.summer{background:linear-gradient(135deg,#dc7c1f,#f59e0b)}.season-btn.winter{background:linear-gradient(135deg,#2563eb,#60a5fa)}.season-btn strong{display:block;font-size:15px}.season-btn span{display:block;margin-top:8px;font-size:12px;opacity:.84;line-height:1.6}[data-theme=dark] .settings-nav-btn:hover{background:rgba(148,163,184,.1)}.settings-content-shell{display:grid;gap:12px;min-width:0}.settings-subpage{display:none}.settings-subpage.active{display:grid;gap:12px;animation:.2s fadeIn}.settings-page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:0;padding:4px 2px}.settings-page-head h3{font-size:22px;font-weight:800;letter-spacing:-.03em}.settings-page-head p{margin-top:4px;font-size:12px;color:var(--muted)}.settings-block{padding:18px}.settings-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.settings-page-stack{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.settings-linkage-shell{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 12px;align-items:center;margin:0 0 12px;padding:14px 16px;border-radius:18px;border:1px solid rgba(37,99,235,.1);background:linear-gradient(180deg,rgba(246,249,255,.98),rgba(255,255,255,.98))}.settings-linkage-title{font-size:12px;font-weight:800;color:var(--text);white-space:nowrap}.settings-linkage-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.settings-linkage-head h4{font-size:15px;font-weight:800}.settings-linkage-head p{margin-top:4px;font-size:12px;color:var(--muted)}.settings-linkage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.settings-linkage-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-linkage-shell .field{gap:6px}.settings-linkage-shell .field label{font-size:11px}.settings-linkage-shell select{min-height:36px}.settings-two-col>*{min-width:0}.settings-two-col .span-2{grid-column:1/-1}.settings-diagnostics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.settings-diagnostics-grid>*{min-width:0}.settings-diagnostics-grid .span-2{grid-column:1/-1}.settings-stat-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.settings-stat{padding:10px 12px;border-radius:14px;background:var(--surface-soft);border:1px solid var(--line)}.settings-stat span{display:block;font-size:12px;color:var(--muted)}.settings-stat strong{display:block;margin-top:6px;font-size:18px;font-weight:800}.editor-stack,.field-stack{display:grid;gap:10px}.room-list{display:grid;gap:8px;margin-top:14px}.room-item{border:none;width:100%;text-align:left;cursor:pointer;border-radius:14px;padding:12px 14px;background:var(--surface-soft);color:var(--text);box-shadow:inset 0 0 0 1px var(--line)}.room-item.active{background:linear-gradient(135deg,var(--accent-soft),var(--blue-soft));box-shadow:inset 0 0 0 1px rgba(37,99,235,.14)}.room-item strong{display:block}.room-item small{display:block;margin-top:6px;color:var(--muted);line-height:1.5}.editor-card{padding:14px}.editor-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap;margin-bottom:16px}.editor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.editor-section{border:1px solid var(--line);border-radius:16px;padding:14px;background:var(--surface-soft);min-width:0}.editor-section h4{font-size:15px;font-weight:800;margin-bottom:10px;letter-spacing:-.02em}.field{display:grid;gap:8px}.field label{font-size:13px;color:var(--muted)}.inline-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.helper{overflow-wrap:anywhere}.code-block{margin:0;padding:14px;border-radius:14px;background:#0f172a;color:#dbeafe;overflow:auto;white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:1.6;border:1px solid rgba(148,163,184,.22)}#roomQuickSelect{min-width:260px;max-width:100%}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:260px;overflow:auto;padding-right:4px}.linkage-target-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.check-card{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:#fff;border:1px solid var(--line);font-size:13px}.linkage-target-card{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:14px;background:#fff;border:1px solid var(--line);font-size:13px}.linkage-target-card input{margin-top:2px}.linkage-target-card strong{display:block;font-size:13px;font-weight:800}.linkage-target-card span{display:block;margin-top:4px;font-size:12px;color:var(--muted);line-height:1.45}.toggle-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:#fff;border:1px solid var(--line);font-size:13px}.helper{font-size:12px;color:var(--muted);line-height:1.6}.helper.stack-gap{margin-top:14px}.field-textarea{min-height:120px;resize:vertical}.panel-title{font-size:20px;font-weight:800;letter-spacing:-.03em;color:#1e293b}.empty-state{padding:48px 22px;text-align:center;color:var(--muted);background:var(--surface);border-radius:var(--radius-lg);border:1px dashed rgba(22,45,74,.18)}.empty-state strong{display:block;font-size:16px;color:var(--text);margin-bottom:8px}.chip-list{display:flex;flex-wrap:wrap;gap:8px}.list-filter-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:12px 0 14px;padding:12px;border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,250,252,.98));border:1px solid rgba(148,163,184,.16)}.list-filter-note{grid-column:1/-1;font-size:12px;color:var(--muted)}.list-filter-empty{padding:24px;text-align:center;color:var(--muted)}.chip{padding:7px 10px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:12px;color:var(--muted)}.theme-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.theme-card{padding:16px;border-radius:16px;border:1px solid var(--line);background:#fff;cursor:pointer;text-align:center;transition:transform .18s,border-color .18s,box-shadow .18s}.theme-card:hover{transform:translateY(-1px)}.theme-card.active{border-color:rgba(37,99,235,.28);box-shadow:inset 0 0 0 1px rgba(37,99,235,.12)}.theme-card .theme-icon{font-size:26px;line-height:1}.theme-card .theme-name{margin-top:10px;font-size:13px;font-weight:700}[data-theme=dark]{--bg-primary:#0a0e1a;--surface:#151c2e;--surface-raised:#1e293b;--bg-card:rgba(30, 41, 59, 0.7);--border:rgba(255, 255, 255, 0.1);--border-strong:rgba(255, 255, 255, 0.2);--text-main:#f8fafc;--text-muted:#94a3b8;--accent:#38bdf8}[data-theme=dark] body{background-color:var(--bg-primary);color:var(--text-main);background-image:radial-gradient(circle at 0 0,rgba(56,189,248,.08) 0,transparent 40%),radial-gradient(circle at 100% 100%,rgba(99,102,241,.08) 0,transparent 40%)}[data-theme=dark] .sidebar{background:rgba(15,23,42,.95)!important;border-right:1px solid var(--border)!important}[data-theme=dark] .nav-item:hover{background:rgba(255,255,255,.08);color:var(--accent)}[data-theme=dark] .nav-item.active{background:rgba(56,189,248,.15);color:#38bdf8;border-right:2px solid #38bdf8}[data-theme=dark] .title-bar.shell-titlebar{background:rgba(15,23,42,.8);border-bottom:1px solid var(--border);backdrop-filter:blur(10px)}[data-theme=dark] .auth-panel,[data-theme=dark] .card,[data-theme=dark] .dashboard-log-feed,[data-theme=dark] .dashboard-suite-card,[data-theme=dark] .device-status-card,[data-theme=dark] .energy-panel,[data-theme=dark] .license-panel,[data-theme=dark] .light-entity-card,[data-theme=dark] .light-item,[data-theme=dark] .ref-about-card,[data-theme=dark] .ref-settings-card,[data-theme=dark] .room-card,[data-theme=dark] .room-item,[data-theme=dark] .sample-light-card,[data-theme=dark] .settings-side-metric,[data-theme=dark] .status-modal-section,[data-theme=dark] .suite-room-card,[data-theme=dark] .widget{background:#1e293b!important;border:1px solid rgba(255,255,255,.1)!important;box-shadow:0 4px 20px rgba(0,0,0,.4)!important;color:#f1f5f9!important}[data-theme=dark] .ref-settings-block-title{color:#38bdf8!important;border-bottom-color:rgba(255,255,255,.1)!important}[data-theme=dark] .ref-input{background:#0f172a!important;border-color:rgba(255,255,255,.15)!important;color:#f8fafc!important}[data-theme=dark] .ref-input:focus{border-color:#38bdf8!important;box-shadow:0 0 0 2px rgba(56,189,248,.2)!important}[data-theme=dark] .ref-pill{background:rgba(255,255,255,.05)!important;border-color:rgba(255,255,255,.1)!important;color:#cbd5e1!important}[data-theme=dark] .ref-pill.mint{background:rgba(16,185,129,.15)!important;color:#34d399!important}[data-theme=dark] .ref-setting-label{color:#f1f5f9!important}[data-theme=dark] .ref-setting-desc{color:#94a3b8!important}[data-theme=dark] .dashboard-suite-title,[data-theme=dark] .device-status-center strong,[data-theme=dark] .room-head h3,[data-theme=dark] .sample-light-card-name,[data-theme=dark] .sample-light-card-state,[data-theme=dark] .sample-light-slider-head strong,[data-theme=dark] .suite-room-name,[data-theme=dark] .widget strong{color:var(--text-main)!important}[data-theme=dark] .device-status-center span,[data-theme=dark] .device-status-legend div,[data-theme=dark] .room-head p,[data-theme=dark] .suite-room-sub,[data-theme=dark] .widget label,[data-theme=dark] .widget small{color:var(--text-muted)!important}[data-theme=dark] .suite-room-header{background:rgba(255,255,255,.02)!important;border-bottom-color:var(--border)!important}[data-theme=dark] .suite-room-mark{background:rgba(255,255,255,.05)!important;border-color:var(--border)!important;color:var(--text-main)!important;box-shadow:none!important}[data-theme=dark] .light-entity-card.on,[data-theme=dark] .sample-light-card.on{background:rgba(245,158,11,.1)!important;border-color:rgba(245,158,11,.3)!important}[data-theme=dark] .dashboard-suite-pill,[data-theme=dark] .sample-light-slider-wrap{background:rgba(255,255,255,.04)!important;border-color:var(--border)!important;color:var(--text-muted)!important}[data-theme=dark] .sample-light-type-btn{background:rgba(255,255,255,.05)!important;border-color:var(--border)!important;color:var(--text-muted)!important}[data-theme=dark] .status-modal-section-icon{background:rgba(255,255,255,.05)!important;border-color:var(--border)!important;color:var(--text-main)!important}[data-theme=dark] .device-status-card h3,[data-theme=dark] .light-item-title strong,[data-theme=dark] .room-item strong,[data-theme=dark] .settings-side-metric strong,[data-theme=dark] .status-modal-section h4{color:var(--text-main)!important}[data-theme=dark] .meta-chip{background:rgba(255,255,255,.03);border-color:var(--border)}[data-theme=dark] .room-light-item,[data-theme=dark] .status-modal-light-card{background:rgba(15,20,35,.6)!important;border-color:var(--border)!important}[data-theme=dark] .room-light-item.on,[data-theme=dark] .status-modal-light-card.on{background:rgba(245,158,11,.08)!important;border-color:rgba(245,158,11,.25)!important;box-shadow:0 0 15px rgba(245,158,11,.1)!important}[data-theme=dark] .dashboard-log-item{background:rgba(255,255,255,.02)!important;border-color:var(--border)!important}[data-theme=dark] .dashboard-log-item:hover{background:rgba(255,255,255,.05)!important}[data-theme=dark] .status-modal-card{background:#111827!important;border-color:var(--border-strong)!important;box-shadow:0 10px 40px rgba(0,0,0,.5)!important}[data-theme=dark] .btn-secondary{background:rgba(255,255,255,.05)!important;border-color:var(--border)!important;color:var(--text-main)!important}[data-theme=dark] .dashboard-energy-card,[data-theme=dark] .dashboard-quick-card,[data-theme=dark] .dashboard-scene-card,[data-theme=dark] .energy-history-card{background:#1e293b!important;border:1px solid rgba(255,255,255,.1)!important;color:#f8fafc!important}[data-theme=dark] .dashboard-quick-tab{background:rgba(255,255,255,.05)!important;border-color:rgba(255,255,255,.1)!important;color:#94a3b8!important}[data-theme=dark] .dashboard-quick-tab.active{background:#38bdf8!important;color:#fff!important}[data-theme=dark] .dashboard-quick-btn{background:rgba(255,255,255,.05)!important;color:#f8fafc!important;border:1px solid rgba(255,255,255,.1)!important}[data-theme=dark] .dashboard-quick-btn:hover{background:rgba(255,255,255,.1)!important}[data-theme=dark] .dashboard-scene-item{background:rgba(255,255,255,.03)!important;border:1px solid rgba(255,255,255,.08)!important}[data-theme=dark] .dashboard-scene-item:hover{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.15)!important}[data-theme=dark] .dashboard-scene-icon{background:rgba(255,255,255,.05)!important;color:#38bdf8!important}[data-theme=dark] .dashboard-scene-copy span{color:#94a3b8!important}[data-theme=dark] .shell-titlebar{background:rgba(15,23,42,.8)!important;border-bottom:1px solid rgba(255,255,255,.1)!important;backdrop-filter:blur(20px)!important}[data-theme=dark] .title-bar-right .badge,[data-theme=dark] .title-bar-right .top-chip,[data-theme=dark] .title-bar-right .top-user{background:rgba(30,41,59,.7)!important;border:1px solid rgba(255,255,255,.1)!important;color:#f8fafc!important}[data-theme=dark] .title-bar-right .top-chip-icon{background:rgba(56,189,248,.1)!important;color:#38bdf8!important}[data-theme=dark] .title-bar-right .top-chip-copy strong{color:#f8fafc!important}[data-theme=dark] .title-bar-right .top-chip-copy span{color:#94a3b8!important}[data-theme=dark] .title-bar-right .top-user-copy strong{color:#f8fafc!important}[data-theme=dark] .title-bar-right .title-refresh{background:#38bdf8!important;color:#fff!important;border:none!important}[data-theme=dark] .energy-summary-card{background:rgba(255,255,255,.02)!important;border:1px solid rgba(255,255,255,.1)!important}[data-theme=dark] .energy-summary-val{color:#38bdf8!important}[data-theme=dark] .energy-summary-label{color:#94a3b8!important}[data-theme=dark] .panel-title{color:#f8fafc!important}[data-theme=dark] .panel-link-btn{color:#94a3b8!important;background:rgba(255,255,255,.05)!important}[data-theme=dark] .panel-link-btn:hover{background:rgba(255,255,255,.1)!important;color:#38bdf8!important}[data-theme=dark] .dashboard-quick-tabs{background:rgba(15,23,42,.5)!important;border:1px solid rgba(255,255,255,.05)!important;padding:2px;border-radius:12px}[data-theme=dark] .dashboard-quick-note{color:#64748b!important}[data-theme=dark] .dashboard-scene-item.amber,[data-theme=dark] .dashboard-scene-item.blue,[data-theme=dark] .dashboard-scene-item.gray,[data-theme=dark] .dashboard-scene-item.green{background:rgba(30,41,59,.4)!important}[data-theme=dark] .dashboard-scene-item.blue .dashboard-scene-icon{background:rgba(99,102,241,.15)!important;color:#818cf8!important}[data-theme=dark] .dashboard-scene-item.amber .dashboard-scene-icon{background:rgba(245,158,11,.15)!important;color:#fbbf24!important}[data-theme=dark] .dashboard-scene-item.gray .dashboard-scene-icon{background:rgba(148,163,184,.15)!important;color:#94a3b8!important}[data-theme=dark] .dashboard-scene-item.green .dashboard-scene-icon{background:rgba(16,185,129,.15)!important;color:#34d399!important}[data-theme=dark] .dashboard-quick-btn.blue{background:rgba(99,102,241,.15)!important;color:#818cf8!important}[data-theme=dark] .dashboard-quick-btn.amber{background:rgba(245,158,11,.15)!important;color:#fbbf24!important}[data-theme=dark] .dashboard-quick-btn.green{background:rgba(16,185,129,.15)!important;color:#34d399!important}[data-theme=dark] .dashboard-quick-btn.gray{background:rgba(148,163,184,.15)!important;color:#94a3b8!important}[data-theme=dark] .dashboard-quick-btn.primary{background:#38bdf8!important;color:#0f172a!important}[data-theme=dark] .dashboard-energy-actions .panel-link-btn{background:rgba(255,255,255,.05)!important;color:#94a3b8!important}[data-theme=dark] .dashboard-energy-actions .panel-link-btn:hover{background:rgba(255,255,255,.1)!important;color:#f8fafc!important}[data-theme=dark] .dashboard-scene-copy strong{color:#f1f5f9!important}[data-theme=dark] .dashboard-scene-copy small{color:#64748b!important}[data-theme=dark] .dashboard-energy-chart{background:rgba(15,23,42,.5)!important;border:1px solid rgba(255,255,255,.05)!important}[data-theme=dark] .dashboard-temp-panel{background:rgba(15,23,42,.4)!important;border:1px solid rgba(255,255,255,.05)!important;border-radius:12px}[data-theme=dark] .dashboard-temp-top span{color:#94a3b8!important}[data-theme=dark] .dashboard-temp-top strong{color:#f8fafc!important}[data-theme=dark] .dashboard-temp-row span{color:#64748b!important}[data-theme=dark] .dashboard-bottom-grid .dashboard-log-stat,[data-theme=dark] .dashboard-log-stat{background:linear-gradient(180deg,#1e293b,#0f172a)!important;border-color:rgba(255,255,255,.1)!important;box-shadow:none!important}[data-theme=dark] .dashboard-bottom-grid .dashboard-log-stat:hover,[data-theme=dark] .dashboard-log-stat:hover{border-color:#38bdf8!important;background:linear-gradient(180deg,#25334a,#152033)!important}[data-theme=dark] .dashboard-bottom-grid .dashboard-log-stat strong,[data-theme=dark] .dashboard-log-stat strong{color:#f1f5f9!important}[data-theme=dark] .dashboard-bottom-grid .dashboard-log-stat small,[data-theme=dark] .dashboard-bottom-grid .dashboard-log-stat span,[data-theme=dark] .dashboard-log-stat small,[data-theme=dark] .dashboard-log-stat span{color:#94a3b8!important}[data-theme=dark] .dashboard-log-stat.warn{background:linear-gradient(180deg,rgba(245,158,11,.1),rgba(245,158,11,.05))!important;border-color:rgba(245,158,11,.3)!important}[data-theme=dark] .dashboard-log-stat.warn strong{color:#fbbf24!important}[data-theme=dark] .dashboard-bottom-grid .dashboard-energy-stat,[data-theme=dark] .dashboard-energy-stat{background:#1e293b!important;border:1px solid rgba(255,255,255,.1)!important;color:#f8fafc!important}[data-theme=dark] .dashboard-bottom-grid .dashboard-energy-stat:hover,[data-theme=dark] .dashboard-energy-stat:hover{background:#2d3b50!important;border-color:#38bdf8!important;box-shadow:0 4px 12px rgba(0,0,0,.4)!important}[data-theme=dark] .dashboard-energy-stat.primary{background:rgba(56,189,248,.1)!important;border-color:rgba(56,189,248,.2)!important}[data-theme=dark] .dashboard-energy-stat strong{color:#f8fafc!important}[data-theme=dark] .dashboard-energy-stat small,[data-theme=dark] .dashboard-energy-stat span{color:#94a3b8!important}[data-theme=dark] .dashboard-energy-card,[data-theme=dark] .dashboard-energy-foot{background:0 0!important;color:#f8fafc!important}[data-theme=dark] .dot-bg{opacity:.1}[data-theme=tech]{--primary:#00f2ff;--bg-primary:#020617;--bg-card:rgba(15, 23, 42, 0.8);--border:rgba(0, 242, 255, 0.2);--border-strong:#00f2ff;--radius-xl:0px;--radius-lg:0px;--radius-md:0px}[data-theme=tech] body{background-image:linear-gradient(rgba(0,242,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,242,255,.05) 1px,transparent 1px);background-size:50px 50px}[data-theme=tech] .card,[data-theme=tech] .device-status-card,[data-theme=tech] .room-card,[data-theme=tech] .widget{background:var(--bg-card)!important;border:1px solid var(--border)!important;position:relative;clip-path:polygon(0 10px,10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px));box-shadow:inset 0 0 20px rgba(0,242,255,.05)!important}[data-theme=tech] .card::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--primary),transparent)}[data-theme=tech] .nav-item{border-radius:0;clip-path:polygon(10% 0,100% 0,90% 100%,0% 100%);margin:4px 0;transition:.3s}[data-theme=tech] .nav-item.active{background:rgba(0,242,255,.15);color:var(--primary);border:1px solid var(--primary);text-shadow:0 0 8px var(--primary)}[data-theme=tech] .btn-primary{border-radius:0;background:0 0;border:1px solid var(--primary);color:var(--primary);text-transform:uppercase;letter-spacing:1px;position:relative;overflow:hidden}[data-theme=tech] .btn-primary:hover{background:var(--primary);color:#000;box-shadow:0 0 15px var(--primary)}[data-theme=apple]{--primary:#007aff;--bg-primary:#f2f2f7;--bg-card:rgba(255, 255, 255, 0.7);--border:rgba(0, 0, 0, 0.05);--radius-xl:28px;--radius-lg:20px;--text-main:#000000}[data-theme=apple] body{background:linear-gradient(135deg,#f5f5f7 0,#e5e5ea 100%)}[data-theme=apple] .sidebar{background:rgba(255,255,255,.4)!important;backdrop-filter:blur(50px) saturate(200%)!important;border-right:.5px solid rgba(0,0,0,.1)!important}[data-theme=apple] .nav-item{border-radius:14px;margin:2px 8px;padding:10px 16px}[data-theme=apple] .nav-item.active{background:#fff;color:var(--primary);box-shadow:0 4px 12px rgba(0,0,0,.08);border:none}[data-theme=apple] .card,[data-theme=apple] .device-status-card,[data-theme=apple] .room-card,[data-theme=apple] .widget{background:var(--bg-card)!important;border:.5px solid rgba(255,255,255,.5)!important;box-shadow:0 10px 30px rgba(0,0,0,.03)!important;backdrop-filter:blur(25px) saturate(160%)!important;border-radius:var(--radius-xl)!important;transition:transform .4s cubic-bezier(.1, .8, .2, 1)}[data-theme=apple] .card:hover{transform:scale(1.02);box-shadow:0 20px 40px rgba(0,0,0,.06)!important}[data-theme=apple] .btn{border-radius:99px;font-weight:500;transition:.2s}[data-theme=apple] .btn-primary{background:var(--primary);box-shadow:0 4px 10px rgba(0,122,255,.2)}[data-theme=apple] .ref-input{background:rgba(0,0,0,.03)!important;border:none!important;border-radius:10px!important;padding:8px 12px!important}[data-theme=apple] .badge{border-radius:99px;padding:4px 12px;font-weight:600}[data-theme=wisdom]{--primary:#3b82f6;--secondary:#00f2ff;--bg-primary:#f8fafc;--bg-secondary:#ffffff;--bg-card:rgba(255, 255, 255, 0.85);--text-main:#1e293b;--text-muted:#64748b;--border:rgba(15, 23, 42, 0.05);--radius-xl:32px}[data-theme=wisdom] body{background:linear-gradient(135deg,#f0f4f8 0,#fff 100%);color:var(--text-main)}[data-theme=wisdom] .sidebar{background:var(--bg-card)!important;backdrop-filter:blur(12px)!important;border-right:1px solid var(--border)!important}[data-theme=wisdom] .nav-item{border-radius:12px;margin:4px 12px}[data-theme=wisdom] .nav-item.active{background:rgba(59,130,246,.05)!important;color:var(--primary)!important;border-left:4px solid var(--secondary)!important}[data-theme=wisdom] .card,[data-theme=wisdom] .device-status-card,[data-theme=wisdom] .room-card,[data-theme=wisdom] .widget{background:var(--bg-card)!important;backdrop-filter:blur(12px)!important;border:1px solid rgba(255,255,255,.5)!important;border-radius:var(--radius-xl)!important;box-shadow:0 8px 32px 0 rgba(31,38,135,.07)!important;transition:.3s cubic-bezier(.4, 0, .2, 1)!important}[data-theme=wisdom] .card:hover{box-shadow:0 12px 48px 0 rgba(31,38,135,.12)!important;transform:translateY(-4px)!important;border-color:var(--secondary)!important}[data-theme=wisdom] .title-bar.shell-titlebar{background:rgba(255,255,255,.7)!important;backdrop-filter:blur(20px)!important;border-bottom:1px solid var(--border)!important}[data-theme=wisdom] .btn-primary{background:var(--primary)!important;border-radius:12px!important;box-shadow:0 4px 14px 0 rgba(59,130,246,.39)!important}[data-theme=wisdom] .badge{border-radius:99px!important}[data-theme=ocean],[data-theme=tech]{--accent:#0f8f8c;--accent-soft:rgba(15,143,140,.14);--blue:#0284c7;--blue-soft:rgba(2,132,199,.12)}.dashboard-shell,.energy-shell,.room-shell,.settings-layout{display:grid;gap:18px;width:100%;max-width:var(--page-max);margin:0 auto}.dashboard-focus-grid{display:grid;grid-template-columns:1fr;gap:18px;margin-bottom:18px}.device-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.device-status-card{padding:18px;display:grid;grid-template-columns:112px 1fr;gap:14px;align-items:center;background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(245,248,252,.96));transition:transform .18s,box-shadow .18s,border-color .18s}.device-status-card.link-card{cursor:pointer}.device-status-card.link-card:hover{transform:translateY(-2px);box-shadow:0 22px 42px rgba(20,35,60,.12);border-color:rgba(37,99,235,.16)}.device-status-ring{position:relative;width:112px;height:112px}.device-status-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.device-status-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.device-status-center strong{font-size:24px;line-height:1;font-weight:800;letter-spacing:-.04em}.device-status-center span{margin-top:6px;font-size:11px;color:var(--muted)}.device-status-card h3{font-size:16px;font-weight:800;letter-spacing:-.03em}.device-status-legend{display:grid;gap:8px;margin-top:10px}.device-status-legend div{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted)}.dot{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:8px;background:var(--dot-color,currentColor)}.dot.blue{--dot-color:#2563eb}.dot.blue-soft{--dot-color:#9fb9ff}.dot.green{--dot-color:#1f8f52}.dot.red{--dot-color:#c54242}.dot.orange{--dot-color:#dc7c1f}.dot.orange-soft{--dot-color:#f5d29c}.dot.cyan{--dot-color:#0f8f8c}.dot.cyan-soft{--dot-color:#8dd6d2}.legend-label{display:inline-flex;align-items:center}.issue-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.issue-overview-card{padding:16px;border-radius:16px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,250,252,.98));display:grid;gap:10px}.issue-overview-card.warn{border-color:rgba(220,124,31,.18);background:linear-gradient(180deg,rgba(255,250,245,.98),rgba(255,246,238,.98))}.issue-overview-card.danger{border-color:rgba(197,66,66,.18);background:linear-gradient(180deg,rgba(255,247,247,.98),rgba(255,242,242,.98))}.issue-overview-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.issue-overview-title{font-size:13px;font-weight:800;letter-spacing:-.02em}.issue-overview-count{font-size:28px;line-height:1;font-weight:800;letter-spacing:-.05em}.issue-overview-desc{font-size:12px;color:var(--muted)}.issue-overview-meta{font-size:12px;color:var(--text)}.issue-overview-log{grid-column:span 2;min-height:0}.issue-overview-log .dashboard-log-feed{height:100%;min-height:184px}.energy-panel,.license-panel,.room-summary-card{padding:18px}.energy-panel{display:grid;gap:14px}.card-topline,.energy-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.energy-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.energy-metric{padding:12px 14px;border-radius:14px;background:var(--surface-soft);border:1px solid var(--line)}.energy-metric.metric-action{cursor:pointer;transition:transform .18s,box-shadow .18s,border-color .18s}.energy-metric.metric-action:hover{transform:translateY(-2px);box-shadow:0 16px 28px rgba(20,35,60,.1);border-color:rgba(37,99,235,.18)}.energy-metric span{display:block;font-size:12px;color:var(--muted)}.energy-metric strong{display:block;margin-top:6px;font-size:20px;font-weight:800;letter-spacing:-.04em}.energy-metric-note{display:block;margin-top:6px}.energy-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.energy-price-quick{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 8px;border-radius:999px;background:rgba(255,255,255,.78);border:1px solid rgba(22,45,74,.08)}.energy-price-quick label{font-size:11px;color:var(--muted);white-space:nowrap}.energy-price-quick input{width:82px;min-height:30px;padding-block:6px;border-radius:999px}.energy-price-quick .btn{min-height:30px;padding-inline:10px;border-radius:999px;font-size:12px}.energy-price-toggle{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 10px;border:none;border-radius:999px;background:rgba(255,255,255,.78);box-shadow:inset 0 0 0 1px rgba(22,45,74,.08);color:var(--muted);cursor:pointer;font-size:12px;font-weight:700}.energy-price-toggle:hover{color:var(--text)}.energy-price-popover{display:none}.energy-price-popover.show{display:flex}.power-chart{width:100%;height:216px;border-radius:18px;background:linear-gradient(180deg,#f8fbff,#eef4fb);border:1px solid rgba(37,99,235,.1);padding:14px 14px 10px}.power-chart canvas{width:100%;height:100%;display:block}.power-chart-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.power-chart-title{font-size:13px;font-weight:700;color:var(--text)}.power-chart-tabs{display:flex;gap:4px;background:rgba(17,32,51,.04);border-radius:10px;padding:3px}.power-chart-tab{padding:4px 10px;border:0;border-radius:8px;background:0 0;color:var(--muted);font-size:11px;font-weight:700;cursor:default}.power-chart-tab.active{background:#fff;color:var(--text);box-shadow:0 1px 2px rgba(15,23,42,.08)}.power-chart-canvas-wrap{position:relative;width:100%;height:156px}.daily-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.daily-summary-card{padding:14px;border-radius:16px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,250,252,.98))}.daily-summary-card span{display:block;font-size:12px;color:var(--muted)}.daily-summary-card strong{display:block;margin-top:8px;font-size:24px;font-weight:800;letter-spacing:-.04em}.daily-summary-chart{width:100%;height:240px;border-radius:18px;background:linear-gradient(180deg,#fcfdff,#f3f7fb);border:1px solid rgba(37,99,235,.1);padding:14px}.weather-forecast-panel{display:flex;flex-direction:column;gap:24px}.weather-current-main{display:flex;align-items:center;background:var(--bg-glass);border-radius:var(--radius-lg);border:1px solid var(--border)}.weather-current-temp{display:flex;align-items:baseline;gap:4px}.weather-current-temp strong{font-weight:800;color:var(--text-main);line-height:1}.weather-current-temp span{font-size:18px;font-weight:600;color:var(--text-muted)}.weather-current-desc h3{font-weight:700;color:var(--text-main)}.weather-current-desc p{font-size:13px;color:var(--text-dim)}.weather-current-side{margin-left:auto;display:grid;justify-items:end}.weather-side-pill{color:var(--text-main);font-weight:800}.weather-detail-item{background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius-md);text-align:center;display:flex;flex-direction:column}.weather-detail-item label{font-weight:700;color:var(--text-dim);text-transform:uppercase}.weather-detail-item strong{font-weight:800;color:var(--text-main)}.weather-brief-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.weather-alert-item,.weather-brief-card,.weather-index-item{padding:16px;background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius-md)}.weather-alert-item strong,.weather-brief-card label,.weather-index-item strong{display:block;font-size:12px;font-weight:800;color:var(--text-main);margin-bottom:6px}.weather-alert-item p,.weather-brief-card p,.weather-index-item p{font-size:13px;line-height:1.55;color:var(--text-muted)}.weather-section-head{display:flex;align-items:center;justify-content:space-between}.weather-section-head h2{font-size:15px;font-weight:800;color:var(--text-main)}.weather-alert-list,.weather-index-grid{display:grid;gap:12px}.weather-index-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.weather-forecast-list{display:flex;flex-direction:column;gap:8px}.weather-forecast-day{display:grid;grid-template-columns:100px 1fr 100px;align-items:center;background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius-md);transition:.2s}.weather-forecast-day:hover{background:rgba(255,255,255,.05);border-color:var(--border-strong)}.forecast-date{font-size:13px;color:var(--text-muted)}.forecast-text{font-size:14px;font-weight:700;color:var(--text-main)}.forecast-temp{font-size:13px;color:var(--secondary);text-align:right}@media (max-width:900px){.weather-brief-grid,.weather-current-main,.weather-details-grid,.weather-index-grid{grid-template-columns:1fr}.weather-current-main{flex-direction:column;align-items:flex-start}.weather-current-side{margin-left:0;justify-items:start}}.dashboard-log-feed{height:auto;max-height:180px;border-radius:0;background:0 0;backdrop-filter:none;border:none;box-shadow:none;overflow:hidden;position:relative;display:flex;flex-direction:column;padding:0}.dashboard-log-head{padding:0 0 4px;background:0 0;border-bottom:none;display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.dashboard-log-title{font-size:10px;font-weight:600;color:var(--text-dim);letter-spacing:.05em;text-transform:uppercase;opacity:.4}.dashboard-log-scroll{flex:1;overflow-y:auto;font-family:Consolas,Monaco,'Courier New',monospace}.dashboard-log-list{display:flex;flex-direction:column;gap:0}.dashboard-log-item{display:block;line-height:1.4;font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-log-item.warn{color:#fbbf24}.dashboard-log-item.info{color:#60a5fa}.dashboard-log-item.ok{color:#4ade80}.dashboard-log-time{opacity:.6;margin-right:6px}.dashboard-log-source{opacity:.8;margin-right:4px}.dashboard-log-source::before{content:"[";opacity:.4;margin-right:2px}.dashboard-log-source::after{content:"]";opacity:.4;margin-left:2px}.dashboard-log-room{margin-right:4px}.dashboard-log-text{font-weight:400}.dashboard-log-text::before{content:"→ ";opacity:.5;margin:0 4px}.dashboard-log-empty{color:var(--text-dim)}.status-modal-chart{width:100%;height:280px;border-radius:18px;background:linear-gradient(180deg,#fcfdff,#f3f7fb);border:1px solid rgba(37,99,235,.1);padding:14px}.status-modal-chart canvas{width:100%;height:100%;display:block}.status-modal-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:16px}.status-modal-stat{background:var(--surface-soft);border:1px solid var(--line)}.status-modal-single{display:grid;gap:16px}.status-modal-single .status-modal-section{min-height:0}.status-modal-note{font-size:12px;color:var(--muted);line-height:1.6}.status-modal{position:fixed;inset:0;z-index:1000;background:rgba(15,23,42,.4);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:24px;animation:.3s fadeIn}.status-modal.show{display:flex}.status-modal-card{width:min(1200px,100%);max-height:min(850px,90vh);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg),0 0 40px rgba(0,0,0,.1);display:flex;flex-direction:column;overflow:hidden;animation:.4s cubic-bezier(.16,1,.3,1) slideUp}.status-modal-head{padding:24px 32px;background:var(--bg);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:flex-start}.status-modal-head-copy{display:flex;flex-direction:column;gap:4px}.status-modal-kicker{font-size:10px;font-weight:800;color:var(--primary);text-transform:uppercase;letter-spacing:.1em}.status-modal-head h3{font-size:24px;font-weight:800;color:var(--text-main);letter-spacing:-.02em}.status-modal-head p{font-size:14px;color:var(--text-muted)}.status-modal-close{width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s}.status-modal-close:hover{background:var(--error);color:#fff;border-color:var(--error)}#statusModalBody{flex:1;overflow-y:auto;padding:32px;scrollbar-width:thin}#statusModalBody::-webkit-scrollbar{width:6px}#statusModalBody::-webkit-scrollbar-thumb{background:rgba(15,23,42,.1);border-radius:10px}.status-modal-summary{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:16px;margin-bottom:16px}.status-modal-topbar{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:start;margin-bottom:14px;padding:12px 14px;border-radius:18px;background:linear-gradient(135deg,#f8fbff,#eef6ff);border:1px solid rgba(37,99,235,.1)}.status-modal-topbar-copy{min-width:0}.status-modal-topbar-copy strong{display:block;font-size:13px;font-weight:800;color:var(--text)}.status-modal-topbar-copy span{display:block;margin-top:4px;font-size:11px;color:var(--muted);line-height:1.45}.status-modal-topbar-chips{display:flex;flex-wrap:wrap;gap:8px}.status-modal-hero{padding:18px;border-radius:22px;background:linear-gradient(135deg,#0f172a,#1e3a8a 55%,#2563eb);color:#fff;box-shadow:0 20px 42px rgba(37,99,235,.2)}.status-modal-hero p{margin-top:8px;font-size:13px;line-height:1.7;color:rgba(255,255,255,.82)}.status-modal-chiplist{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.status-modal-chip{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);font-size:12px;font-weight:700}.status-modal-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.status-modal-stat{padding:16px;border-radius:18px;background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid var(--line)}.status-modal-stat span{display:block;font-size:12px;color:var(--muted)}.status-modal-stat strong{display:block;margin-top:8px;font-size:22px;font-weight:900;letter-spacing:-.04em}.status-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.status-modal-section{padding:14px;border-radius:18px;border:1px solid rgba(148,163,184,.16);background:linear-gradient(180deg,#fff,#f7f9fc);box-shadow:0 12px 28px rgba(15,23,42,.05)}.status-modal-section h4{font-size:15px;font-weight:800;margin-bottom:12px}.status-modal-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.status-modal-section-head h4{margin-bottom:0}.status-modal-section-copy{display:flex;align-items:center;gap:8px;min-width:0}.status-modal-section-icon{width:28px;height:28px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.72);border:1px solid rgba(148,163,184,.14);font-size:14px}.status-modal-section-head p{margin-top:4px;font-size:11px;color:var(--muted)}.status-modal-section.ac-cool{border-color:rgba(37,99,235,.16);box-shadow:0 20px 38px rgba(37,99,235,.1)}.status-modal-section.ac-heat{border-color:rgba(220,124,31,.16);box-shadow:0 20px 38px rgba(220,124,31,.1)}.status-modal-section.ac-dry{border-color:rgba(15,143,140,.16);box-shadow:0 20px 38px rgba(15,143,140,.1)}.status-modal-section.ac-off,.status-modal-section.ac-offline{border-color:rgba(107,123,144,.16)}.status-modal-section.light-on{border-color:rgba(220,124,31,.18);box-shadow:0 20px 38px rgba(220,124,31,.1);background:linear-gradient(180deg,#fffaf0,#fff6e8)}.status-modal-section.fresh-on{border-color:rgba(15,143,140,.18);box-shadow:0 20px 38px rgba(15,143,140,.1)}.status-modal-list{display:grid;gap:10px}.status-modal-item{display:flex;justify-content:space-between;gap:12px;font-size:13px;padding:10px 0;border-bottom:1px solid var(--line)}.status-modal-item:last-child{border-bottom:none;padding-bottom:0}.status-modal-empty{font-size:13px;color:var(--muted)}.diagnostics-modal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.diagnostics-modal-grid .code-block{max-height:min(58vh,640px);overflow:auto}@media (max-width:900px){.diagnostics-modal-grid{grid-template-columns:1fr}}.status-modal-actions,.status-modal-inline-actions{display:flex;flex-wrap:wrap;gap:8px}.status-modal-inline-actions{margin-top:12px}.status-modal-device-stack{display:grid;gap:12px}.status-modal-subgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.status-modal-kv{padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.74);border:1px solid var(--line)}.status-modal-kv span{display:block;font-size:11px;color:var(--muted)}.status-modal-kv strong{display:block;margin-top:6px;font-size:14px;line-height:1.45}.status-modal-kv .room-light-item{display:grid;gap:10px;padding:14px;border-radius:var(--radius-lg);background:var(--bg-glass);border:1px solid var(--border);transition:.25s}.room-light-item.on{background:rgba(99,102,241,.08);box-shadow:0 0 15px rgba(99,102,241,.1)}.status-modal-light-grid{display:grid;gap:8px;max-height:280px;overflow:auto}.status-modal-light-card{display:grid;gap:8px;padding:12px;border-radius:var(--radius-md);background:var(--bg-glass);border:1px solid var(--border);transition:.25s}.status-modal-light-card.on{background:rgba(99,102,241,.08);border-color:rgba(99,102,241,.3);box-shadow:0 0 15px rgba(99,102,241,.1)}.status-modal-light-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.status-modal-light-meta{font-size:12px;color:var(--muted)}.status-modal-computer-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.status-modal-computer{padding:10px 12px;border-radius:14px;background:var(--surface-soft);border:1px solid var(--line);font-size:12px}.status-modal-computer strong{display:block;margin-top:6px;font-size:14px}.status-modal-toggle{position:relative;width:44px;height:24px;border-radius:999px;border:1px solid rgba(148,163,184,.2);background:#e5e7eb;cursor:pointer;transition:background .2s,border-color .2s,transform .15s;flex-shrink:0}.status-modal-toggle:hover{transform:translateY(-1px)}.status-modal-toggle::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(15,23,42,.18);transition:transform .2s}.status-modal-toggle.on::after{transform:translateX(20px)}.status-modal-toggle.light.on{background:#f5a623;border-color:rgba(220,124,31,.28)}.status-modal-toggle.ac.on{background:#3b82f6;border-color:rgba(37,99,235,.28)}.status-modal-toggle.fresh.on{background:#10b981;border-color:rgba(15,143,140,.28)}.status-modal-toggle.disabled{opacity:.45;cursor:not-allowed;transform:none}.status-modal-section.compact-computer,.status-modal-section.compact-light{grid-column:1/-1}.room-command-modal{display:grid;gap:12px}.room-command-header{display:grid;gap:10px;padding:14px;border-radius:18px;background:linear-gradient(135deg,#0f172a,#12335f 58%,#2563eb);color:#fff;box-shadow:0 18px 38px rgba(37,99,235,.18)}.room-command-headline{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.room-command-title strong{display:block;font-size:18px;font-weight:900;letter-spacing:-.04em}.room-command-title span{display:block;margin-top:5px;font-size:11px;color:rgba(255,255,255,.76)}.room-command-badges{display:flex;flex-wrap:wrap;gap:8px}.room-command-badge{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 10px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.14);font-size:11px;font-weight:700;color:#fff}.room-command-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.room-command-stat{padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1)}.room-command-stat span{display:block;font-size:10px;color:rgba(255,255,255,.68)}.room-command-stat strong{display:block;margin-top:6px;font-size:15px;font-weight:800;color:#fff}.room-command-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-items:start}.room-device-card{display:grid;gap:10px;padding:12px;border-radius:16px;border:1px solid rgba(148,163,184,.16);background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 8px 20px rgba(15,23,42,.05);min-height:0}.room-device-card.ac-cool{border-color:rgba(37,99,235,.16);background:linear-gradient(180deg,#f8fbff,#f3f8ff)}.room-device-card.ac-heat{border-color:rgba(220,124,31,.16);background:linear-gradient(180deg,#fffaf4,#fff6ed)}.room-device-card.ac-dry,.room-device-card.fresh-on{border-color:rgba(15,143,140,.16);background:linear-gradient(180deg,#f4fffc,#effcf8)}.room-device-card.light-on{border-color:rgba(245,166,35,.18);background:linear-gradient(180deg,#fffaf2,#fff7eb)}.room-device-card.offline{opacity:.82}.room-device-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.room-device-copy{display:flex;align-items:flex-start;gap:8px;min-width:0}.room-device-icon{width:28px;height:28px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.84);border:1px solid rgba(148,163,184,.12);font-size:13px;flex-shrink:0}.room-device-copy h4{margin:0;font-size:13px;font-weight:800}.room-device-copy p{margin-top:3px;font-size:10px;line-height:1.45;color:var(--muted)}.room-device-pills{display:flex;flex-wrap:wrap;gap:6px}.room-device-pill{display:inline-flex;align-items:center;min-height:26px;padding:0 8px;border-radius:999px;background:rgba(255,255,255,.75);border:1px solid var(--line);font-size:10px;font-weight:700}.room-device-actions{display:flex;flex-wrap:wrap;gap:6px}.room-device-selects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.room-device-selects .field label,.room-inline-range label{font-size:10px}.room-inline-range{display:grid;gap:4px}.room-computer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:6px}.room-computer-card{padding:8px 10px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.76)}.room-computer-card span{display:block;font-size:10px;color:var(--muted)}.room-computer-card strong{display:block;margin-top:4px;font-size:12px;line-height:1.4;word-break:break-all}.room-computer-card small{display:block;margin-top:3px;font-size:10px;color:var(--muted)}.room-light-list{display:grid;gap:6px;max-height:260px;overflow:auto}.room-light-item{display:grid;gap:6px;padding:8px 10px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.78)}.room-light-item.on{border-color:rgba(245,166,35,.18);background:linear-gradient(180deg,#fffaf2,#fff8ef)}.room-light-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.room-light-title strong{display:block;font-size:12px}.room-light-title span{display:block;margin-top:3px;font-size:10px;color:var(--muted);line-height:1.4;word-break:break-all}.room-subnote{font-size:10px;line-height:1.5;color:var(--muted)}.power-legend{display:flex;flex-wrap:wrap;gap:8px}.power-legend .chip{background:rgba(37,99,235,.06)}.issue-panel{gap:10px}.issue-panel .energy-header{align-items:center;gap:10px}.issue-panel .chip-list{gap:6px}.issue-panel .issue-overview-grid{gap:10px}.issue-panel .issue-overview-card{padding:14px;gap:8px}.issue-panel .issue-overview-count{font-size:24px}.issue-panel .room-detail-btn{min-height:28px;padding:0 10px}.issue-panel .dashboard-log-feed{min-height:160px}.issue-panel .dashboard-log-head{padding:10px 12px 8px}.issue-panel .dashboard-log-scroll{height:calc(100% - 42px);padding:6px 12px 10px}.issue-panel .dashboard-log-list{gap:8px}.issue-panel .dashboard-log-item{gap:10px;padding:8px 10px}.room-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:18px}.room-summary-card{display:grid;gap:16px}.suite-room-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:18px}.suite-room-card{overflow:hidden;padding:0;border:1px solid rgba(15,23,42,.08);background:#fff;border-radius:24px;display:flex;flex-direction:column;transition:.3s cubic-bezier(.4, 0, .2, 1);box-shadow:0 4px 12px rgba(15,23,42,.03)}.suite-room-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px -12px rgba(15,23,42,.12);border-color:rgba(37,99,235,.1)}.suite-room-header{padding:20px 24px;background:#f8fafc;border-bottom:1px solid rgba(15,23,42,.05);display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.suite-room-title{display:flex;flex-direction:column;gap:4px;min-width:0}.suite-room-title-row{display:flex;align-items:center;gap:12px}.suite-room-mark{width:32px;height:32px;border-radius:10px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;box-shadow:0 2px 6px rgba(15,23,42,.05)}.suite-room-name{font-size:18px;font-weight:800;color:#0f172a;letter-spacing:-.01em}.suite-room-sub{font-size:12px;color:#64748b;font-weight:500}.suite-room-badges{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.suite-room-devices{display:grid;grid-template-columns:repeat(2,1fr);gap:0;background:#fff;border-bottom:1px solid rgba(15,23,42,.05)}.suite-room-device{display:flex;flex-direction:column;gap:12px}.suite-room-device:nth-child(odd){border-right:1px solid rgba(15,23,42,.03)}.suite-room-device:first-child,.suite-room-device:nth-child(2){border-bottom:1px solid rgba(15,23,42,.03)}.suite-room-device.on{background:#fcfdfe}.suite-room-device.on.light{background:#fffdf5}.suite-room-device.on.ac-cool{background:#f5faff}.suite-room-device.on.ac-heat{background:#fffaf5}.suite-room-device.on.fresh{background:#f5fdfa}.suite-room-device-head{display:flex;justify-content:space-between;align-items:center}.suite-room-device-label{display:flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.05em}.suite-room-device-copy{display:flex;flex-direction:column;gap:2px}.suite-room-device-copy strong{font-size:14px;font-weight:700;color:#1e293b}.suite-room-device-copy span{font-size:11px;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suite-room-pc-status{display:flex;align-items:center;justify-content:flex-end;gap:4px;min-height:22px;max-width:156px;flex-wrap:wrap}.suite-room-pc-dot{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;line-height:1;border-radius:5px;background:#f8fafc;border:1px solid rgba(148,163,184,.18);transition:background .2s,color .2s,border-color .2s;flex:0 0 auto}.suite-room-pc-dot svg{width:12px;height:12px}.suite-room-pc-dot.is-online{background:rgba(16,185,129,.12);border-color:rgba(16,185,129,.2);color:#059669}.suite-room-pc-dot.is-offline{background:#f8fafc;border-color:rgba(148,163,184,.14);color:#94a3b8}.suite-room-pc-status.is-empty{justify-content:flex-end}.suite-room-pc-count{margin-left:2px;font-size:11px;font-weight:700;color:#64748b}.suite-room-pc-empty{font-size:12px;font-weight:700;color:#94a3b8}.suite-room-switch{position:relative;width:40px;height:22px;background:#cbd5e1;border-radius:99px;cursor:pointer;transition:.3s;border:none}.suite-room-switch::after{content:'';position:absolute;top:3px;left:3px;width:16px;height:16px;background:#fff;border-radius:50%;transition:.3s;box-shadow:0 2px 4px rgba(0,0,0,.1)}.suite-room-switch.on{background:#10b981}.suite-room-switch.on.ac{background:#2563eb}.suite-room-switch.on.light{background:#f59e0b}.suite-room-switch.on.fresh{background:#10b981}.suite-room-switch.on::after{transform:translateX(18px)}.suite-room-footer{padding:16px 20px;display:flex;justify-content:space-between;align-items:center;background:#fff}.suite-room-footer-note{font-size:11px;color:#94a3b8;font-weight:500}.suite-room-detail{padding:6px 14px;background:#f1f5f9;border:none;border-radius:8px;color:#475569;font-size:12px;font-weight:600;cursor:pointer;transition:.2s}.suite-room-detail:hover{background:#e2e8f0;color:#0f172a}.room-card-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}.room-card-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.room-entity-control-btn{min-height:38px;padding:0 14px;border-radius:12px;border:1px solid rgba(37,99,235,.16);background:linear-gradient(135deg,rgba(37,99,235,.1),rgba(15,143,140,.1));color:#0f172a;cursor:pointer;font-size:13px;font-weight:800;transition:transform .15s,box-shadow .15s,border-color .15s}.room-entity-control-btn:hover{transform:translateY(-1px);box-shadow:0 14px 24px rgba(37,99,235,.12)}.room-runtime-grid{display:grid;gap:10px}.room-device-panel-grid{display:grid;grid-template-columns:1fr;gap:12px}.room-device-panel{position:relative;overflow:hidden;display:grid;gap:12px;padding:14px;border-radius:20px;border:1px solid rgba(148,163,184,.16);background:linear-gradient(180deg,#fff,#f7f9fc);min-width:0}.room-device-panel::after{content:"";position:absolute;inset:auto -28px -30px auto;width:110px;height:110px;border-radius:50%;background:rgba(148,163,184,.08);transition:background .2s,transform .2s}.room-device-panel.active::after{transform:scale(1.08)}.room-device-panel.state-cool{border-color:rgba(37,99,235,.18);box-shadow:0 18px 32px rgba(37,99,235,.1)}.room-device-panel.state-cool::after{background:rgba(37,99,235,.12)}.room-device-panel.state-heat{border-color:rgba(220,124,31,.18);box-shadow:0 18px 32px rgba(220,124,31,.1)}.room-device-panel.state-heat::after{background:rgba(220,124,31,.12)}.room-device-panel.state-dry{border-color:rgba(15,143,140,.18);box-shadow:0 18px 32px rgba(15,143,140,.1)}.room-device-panel.state-dry::after{background:rgba(15,143,140,.12)}.room-device-panel.state-on{border-color:rgba(220,124,31,.18);box-shadow:0 18px 32px rgba(220,124,31,.1);background:linear-gradient(180deg,#fffaf0,#fff6e8)}.room-device-panel.state-on::after{background:rgba(245,166,35,.18)}.room-device-panel.state-green{border-color:rgba(15,143,140,.18);box-shadow:0 18px 32px rgba(15,143,140,.1)}.room-device-panel.state-green::after{background:rgba(15,143,140,.14)}.room-device-panel.state-off,.room-device-panel.state-offline{border-color:rgba(148,163,184,.18)}.room-device-panel-actions,.room-device-panel-head,.room-device-panel-meta{position:relative;z-index:1}.room-device-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.room-device-panel-title strong{display:block;font-size:15px;font-weight:800}.room-device-panel-title span{display:block;margin-top:4px;font-size:12px;color:var(--muted);line-height:1.5}.room-device-panel-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.room-device-panel-stat{padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.72);border:1px solid var(--line)}.room-device-panel-stat label{display:block;font-size:11px;color:var(--muted)}.room-device-panel-stat strong{display:block;margin-top:6px;font-size:13px;line-height:1.45}.room-device-panel-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}.room-runtime-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border-radius:16px;border:1px solid var(--line);background:linear-gradient(180deg,#fff,#f7f9fc)}.room-runtime-copy{min-width:0}.room-runtime-copy strong{display:block;font-size:14px;font-weight:800;color:var(--text)}.room-runtime-copy span{display:block;margin-top:4px;font-size:12px;color:var(--muted)}.room-runtime-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;align-items:center}.capsule-toggle{position:relative;width:62px;height:34px;border:1px solid var(--line);border-radius:999px;background:rgba(107,123,144,.1);cursor:pointer;transition:background .18s,border-color .18s,transform .15s}.capsule-toggle:hover{transform:translateY(-1px)}.capsule-toggle::before{content:"";position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(15,23,42,.14);transition:left .18s}.capsule-toggle.on.blue{background:rgba(37,99,235,.18);border-color:rgba(37,99,235,.26)}.capsule-toggle.on.orange{background:rgba(220,124,31,.2);border-color:rgba(220,124,31,.28)}.capsule-toggle.on.green{background:rgba(31,143,82,.2);border-color:rgba(31,143,82,.28)}.capsule-toggle.on.cyan{background:rgba(15,143,140,.18);border-color:rgba(15,143,140,.26)}.capsule-toggle.on::before{left:31px}.capsule-toggle-label{font-size:11px;font-weight:700;color:var(--muted);min-width:24px;text-align:center}.capsule-toggle.on+.capsule-toggle-label{color:var(--text)}.room-detail-btn{min-height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--text);cursor:pointer;font-size:12px;font-weight:700;transition:transform .15s,background .15s,border-color .15s}.room-detail-btn:hover{transform:translateY(-1px);background:var(--surface-soft)}.mini-action{min-height:30px;padding:0 10px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--muted);cursor:pointer;font-size:12px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:transform .15s,background .15s,border-color .15s,color .15s;white-space:nowrap}.mini-action:hover{transform:translateY(-1px)}.mini-action.blue{background:rgba(37,99,235,.08);color:var(--blue);border-color:rgba(37,99,235,.14)}.mini-action.orange{background:rgba(220,124,31,.1);color:var(--orange);border-color:rgba(220,124,31,.14)}.mini-action.green{background:rgba(31,143,82,.1);color:var(--green);border-color:rgba(31,143,82,.14)}.mini-action.cyan{background:rgba(15,143,140,.1);color:var(--accent);border-color:rgba(15,143,140,.14)}.mini-action.gray{background:rgba(107,123,144,.08);color:#6b7b90;border-color:rgba(107,123,144,.14)}.icon-action{width:38px;min-width:38px;height:38px;padding:0;border-radius:12px;font-size:16px}.room-mode-strip{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.mode-chip{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 14px;border:none;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--text);cursor:pointer;box-shadow:var(--shadow)}.mode-chip:hover{transform:translateY(-1px)}.mode-chip span{font-size:16px}.compact-ac-grid,.light-device-grid,.light-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.compact-ac-card,.light-device-card,.light-summary-card{padding:16px;gap:12px}.compact-ac-card{background:linear-gradient(180deg,#fff,#f7f9fc)}.compact-ac-card::after,.compact-ac-card::before,.light-device-card::after{display:none}.compact-ac-head,.light-device-head,.light-room-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.compact-ac-name,.light-room-name{font-size:17px;font-weight:800;line-height:1.2}.compact-ac-meta,.light-device-title span{color:var(--muted)}.compact-ac-hero,.light-device-meter{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.chip-list.compact,.compact-ac-statebar,.compact-ac-stats{display:flex;flex-wrap:wrap;gap:8px}.compact-ac-stat{background:var(--surface-soft);border:1px solid var(--line);color:var(--muted)}.compact-ac-footer,.light-device-actions{display:grid;gap:10px}.light-device-meter{grid-template-columns:auto 1fr}.compact-ac-actions,.light-room-actions,.toolbar-actions{display:flex;flex-wrap:wrap;gap:8px}.room-device-bindings{display:grid;gap:8px}.room-device-binding{padding:10px 12px;border-radius:14px;background:linear-gradient(180deg,#fff,#f7f9fc);border:1px solid var(--line)}.room-device-binding span{display:block;font-size:12px;color:var(--muted)}.room-device-binding strong{display:block;margin-top:6px;font-size:13px;line-height:1.55;word-break:break-word}.room-device-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.room-device-mini{padding:10px 12px;border-radius:14px;background:var(--surface-soft);border:1px solid var(--line);font-size:12px}.room-device-mini strong{display:block;margin-top:4px;font-size:14px;color:var(--text)}.compact-ac-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:18px}.compact-ac-card{display:grid;gap:14px;min-width:0;background:radial-gradient(circle at top right,rgba(255,255,255,.92),rgba(255,255,255,0) 34%),linear-gradient(180deg,#fff,#f5f8fc)}.compact-ac-card::after{content:"";inset:auto -36px -42px auto;filter:blur(6px);transition:transform .3s,opacity .3s,background .3s}.compact-ac-card.is-running::after{transform:scale(1.08);opacity:1}.compact-ac-card.state-cool::after{background:rgba(37,99,235,.12)}.compact-ac-card.state-heat::after{background:rgba(220,124,31,.14)}.compact-ac-card.state-dry::after{background:rgba(15,143,140,.14)}.compact-ac-card.state-off::after,.compact-ac-card.state-offline::after{background:rgba(107,123,144,.1)}.compact-ac-card::before{content:"";inset:0;pointer-events:none;opacity:0;transition:opacity .3s}.compact-ac-card.is-running::before{opacity:1}.compact-ac-card.state-cool::before{background:linear-gradient(120deg,rgba(37,99,235,.04),rgba(125,211,252,.12),rgba(37,99,235,.04));background-size:220% 220%;animation:7s linear infinite coolSweep}.compact-ac-card.state-heat::before{background:radial-gradient(circle at 20% 20%,rgba(251,191,36,.12),transparent 34%),radial-gradient(circle at 78% 72%,rgba(220,124,31,.12),transparent 28%);animation:4s ease-in-out infinite heatGlow}.compact-ac-card.state-dry::before{background:linear-gradient(180deg,rgba(15,143,140,.08),rgba(148,210,189,.02));animation:5.6s ease-in-out infinite dryFloat}.compact-ac-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;position:relative;z-index:1}.compact-ac-name{font-size:18px;font-weight:800;letter-spacing:-.03em;line-height:1.2;overflow-wrap:anywhere}.compact-ac-meta{margin-top:6px;font-size:12px;color:var(--muted);line-height:1.5;overflow-wrap:anywhere}.compact-ac-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:14px;align-items:stretch;position:relative;z-index:1}.compact-ac-display{display:grid;gap:12px;padding:16px;border-radius:20px;background:rgba(255,255,255,.76);border:1px solid rgba(148,163,184,.16);backdrop-filter:blur(6px)}.compact-ac-statebar{display:flex;justify-content:space-between;align-items:center;gap:10px}.compact-ac-mode-chip{display:inline-flex;align-items:center;gap:8px;min-width:0;padding:8px 12px;border-radius:999px;background:rgba(15,23,42,.06);color:var(--text);font-size:12px;font-weight:700}.compact-ac-mode-dot{width:10px;height:10px;border-radius:50%;background:currentColor;box-shadow:0 0 0 5px rgba(255,255,255,.35)}.compact-ac-room-code{font-size:12px;color:var(--muted);white-space:nowrap}.compact-ac-reading{display:grid;gap:8px}.compact-ac-temp{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.compact-ac-temp strong{font-size:46px;line-height:.9;font-weight:900;letter-spacing:-.08em}.compact-ac-card.is-running .compact-ac-temp strong{animation:2.8s ease-in-out infinite acPulse}.compact-ac-setpoint{padding-bottom:6px;font-size:13px;color:var(--muted)}.compact-ac-visual{height:10px;border-radius:999px;background:rgba(148,163,184,.16);overflow:hidden}.compact-ac-visual span{display:block;height:100%;width:58%;border-radius:inherit;background:linear-gradient(90deg,rgba(37,99,235,.55),rgba(125,211,252,.9))}.compact-ac-card.state-heat .compact-ac-visual span{background:linear-gradient(90deg,rgba(220,124,31,.58),rgba(251,191,36,.92))}.compact-ac-card.state-dry .compact-ac-visual span{background:linear-gradient(90deg,rgba(15,143,140,.58),rgba(94,234,212,.9))}.compact-ac-card.state-off .compact-ac-visual span,.compact-ac-card.state-offline .compact-ac-visual span{width:22%;background:linear-gradient(90deg,rgba(107,123,144,.48),rgba(148,163,184,.78))}.compact-ac-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-content:start}.compact-ac-stat{min-width:0;padding:11px 12px;border-radius:16px;background:rgba(255,255,255,.78);border:1px solid rgba(148,163,184,.16);font-size:12px;line-height:1.5;overflow-wrap:anywhere}.compact-ac-stat label{display:block;margin-bottom:5px;font-size:11px;color:var(--muted)}.compact-ac-footer{position:relative;z-index:1;display:grid;gap:12px}.compact-ac-card.state-cool{box-shadow:0 18px 38px rgba(37,99,235,.1)}.compact-ac-card.state-heat{box-shadow:0 18px 38px rgba(220,124,31,.1)}.compact-ac-card.state-dry{box-shadow:0 18px 38px rgba(15,143,140,.1)}@keyframes acPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}@keyframes coolSweep{0%{background-position:0 50%}100%{background-position:100% 50%}}@keyframes heatGlow{0%,100%{transform:scale(1);opacity:.88}50%{transform:scale(1.03);opacity:1}}@keyframes dryFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}.room-action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:14px}.light-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-bottom:16px}.light-summary-card{padding:16px;display:grid;gap:10px}.light-device-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.light-device-card{display:grid;gap:12px;background:linear-gradient(180deg,#fff,#f7f9fc)}.light-device-card.on{border-color:rgba(220,124,31,.18);box-shadow:0 18px 38px rgba(220,124,31,.1);background:linear-gradient(180deg,#fff9ef,#fff5e2)}.light-device-card::after{content:"";inset:-18px auto auto -18px}.light-device-card.on::after{background:rgba(245,166,35,.18);animation:3.2s ease-in-out infinite lightGlow}@keyframes lightGlow{0%,100%{transform:scale(1);opacity:.8}50%{transform:scale(1.08);opacity:1}}.light-device-head{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.light-device-title strong{display:block;font-size:15px}.light-device-title span{display:block;margin-top:4px;font-size:11px;color:var(--muted)}.light-device-meter{position:relative;z-index:1;display:grid;grid-template-columns:74px 1fr;gap:12px;align-items:center}.light-meter-ring{position:relative;width:74px;height:74px}.light-meter-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.light-meter-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.light-meter-center strong{font-size:18px;line-height:1;font-weight:800}.light-meter-center span{margin-top:4px;font-size:10px;color:var(--muted)}.light-device-actions{position:relative;z-index:1}.light-device-footer{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:11px;color:var(--muted)}.compact-ac-grid,.fan-card-grid,.light-device-grid{grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:20px}.compact-ac-card,.fan-panel,.light-device-card{position:relative;overflow:hidden;display:grid;gap:18px;min-height:620px;padding:24px;border-radius:32px;border:1px solid rgba(66,95,136,.42);background:radial-gradient(circle at top right,rgba(60,115,255,.16),transparent 28%),radial-gradient(circle at bottom left,rgba(34,211,238,.08),transparent 30%),linear-gradient(180deg,#0d1625 0,#101b2d 48%,#111f34 100%);box-shadow:0 28px 68px rgba(3,10,22,.42),inset 0 1px 0 rgba(255,255,255,.04);color:#edf4ff}.compact-ac-card::before,.fan-panel::before,.light-device-card::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 22%);opacity:.9}.compact-ac-card::after,.fan-panel::after,.light-device-card::after{content:"";position:absolute;inset:auto -110px -140px auto;width:280px;height:280px;border-radius:50%;background:rgba(59,130,246,.12);filter:blur(20px);opacity:.55}.light-device-card::after{background:rgba(255,189,89,.14)}.fan-panel::after{background:rgba(45,212,191,.12)}.showcase-card-head{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.showcase-card-brand{display:flex;align-items:flex-start;gap:16px;min-width:0}.showcase-device-orb{width:64px;height:64px;flex:none;border-radius:22px;display:flex;align-items:center;justify-content:center;font-size:28px;color:#fff6d6;background:linear-gradient(135deg,rgba(255,208,84,.32),rgba(255,176,32,.82));box-shadow:0 18px 34px rgba(255,176,32,.28),inset 0 1px 0 rgba(255,255,255,.18)}.showcase-device-orb.ac{color:#e9f4ff;background:linear-gradient(135deg,rgba(59,130,246,.34),rgba(30,95,255,.82));box-shadow:0 18px 34px rgba(59,130,246,.24),inset 0 1px 0 rgba(255,255,255,.18)}.showcase-device-orb.fan{color:#eafff6;background:linear-gradient(135deg,rgba(45,212,191,.34),rgba(16,185,129,.82));box-shadow:0 18px 34px rgba(16,185,129,.24),inset 0 1px 0 rgba(255,255,255,.18)}.showcase-card-title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.showcase-card-title{font-size:18px;font-weight:900;letter-spacing:-.04em;color:#f8fbff}.showcase-card-subtitle{margin-top:6px;font-size:13px;color:rgba(205,220,241,.76);line-height:1.5;overflow-wrap:anywhere}.showcase-live-pill{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:0 14px;border-radius:999px;border:1px solid rgba(45,212,191,.18);background:rgba(16,185,129,.18);color:#54f0b4;font-size:13px;font-weight:800}.showcase-live-pill::before{content:"";width:10px;height:10px;border-radius:50%;background:currentColor;box-shadow:0 0 0 6px rgba(84,240,180,.12)}.showcase-live-pill.standby{border-color:rgba(96,165,250,.16);background:rgba(59,130,246,.16);color:#8ec5ff}.showcase-live-pill.offline{border-color:rgba(248,113,113,.18);background:rgba(239,68,68,.14);color:#ff9c9c}.showcase-menu{width:42px;height:42px;border:none;border-radius:14px;background:rgba(255,255,255,.04);color:rgba(229,238,255,.72);font-size:24px;line-height:1;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(148,163,184,.18)}.showcase-menu:hover{background:rgba(255,255,255,.08);color:#fff}.ac-showcase-hero,.fan-showcase-hero,.light-showcase-hero{position:relative;z-index:1;display:grid;gap:18px}.ac-showcase-hero{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.light-showcase-hero{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}.fan-showcase-hero{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr)}.ac-showcase-readings,.light-showcase-metrics{display:grid;gap:14px}.showcase-reading-card{padding:18px 18px 16px;border-radius:22px;border:1px solid rgba(98,126,165,.24);background:linear-gradient(180deg,rgba(17,31,51,.86),rgba(13,25,43,.94));box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.showcase-reading-card.accent{background:linear-gradient(180deg,rgba(67,45,18,.72),rgba(20,22,31,.94))}.showcase-reading-card span{display:block;font-size:13px;color:rgba(193,209,231,.78)}.showcase-reading-card strong{display:block;margin-top:10px;font-size:54px;line-height:.9;font-weight:900;letter-spacing:-.08em;color:#fff}.showcase-reading-card strong em{margin-left:6px;font-style:normal;font-size:30px;color:rgba(226,236,250,.88)}.showcase-reading-card small{display:block;margin-top:10px;font-size:13px;color:rgba(184,205,232,.82)}.showcase-reading-card.target strong{color:#6aa8ff}.showcase-card .temperature-controls{margin-top:14px;gap:12px}.showcase-card .temp-btn{width:48px;height:48px;border-radius:18px;background:rgba(255,255,255,.04);color:#e8f1ff;box-shadow:inset 0 0 0 1px rgba(148,163,184,.18)}.showcase-card .temp-btn:hover{background:rgba(96,165,250,.18);color:#fff}.showcase-comfort-pill{display:flex;align-items:center;gap:10px;min-height:58px;padding:0 18px;border-radius:20px;background:rgba(17,41,54,.76);border:1px solid rgba(71,161,145,.24);color:#89f5c6}.showcase-comfort-pill.active{box-shadow:0 12px 26px rgba(16,185,129,.14)}.showcase-comfort-dot{width:14px;height:14px;border-radius:50%;background:currentColor;box-shadow:0 0 0 8px rgba(137,245,198,.1)}.ac-showcase-stage,.fan-showcase-stage,.light-preview-stage{position:relative;overflow:hidden;border-radius:28px;border:1px solid rgba(112,141,179,.24);background:linear-gradient(180deg,rgba(17,28,44,.92),rgba(11,21,36,.96));box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}.ac-showcase-stage{min-height:292px;padding:24px}.ac-unit-shell{position:absolute;top:24px;right:22px;width:72%;height:90px;border-radius:24px 24px 18px 18px;background:linear-gradient(180deg,#dde8f7,#afc4df 78%,#8296b7);box-shadow:0 18px 42px rgba(2,12,28,.28)}.ac-unit-shell::before{content:"";position:absolute;inset:auto 18px 14px 18px;height:10px;border-radius:999px;background:linear-gradient(90deg,rgba(96,165,250,.08),rgba(96,165,250,.34),rgba(96,165,250,.08))}.ac-unit-display{position:absolute;top:16px;right:20px;min-width:74px;min-height:34px;padding:0 10px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#132131;color:#8ad7ff;font-size:18px;font-weight:800}.ac-airflow,.fan-airflow{position:absolute;display:flex;gap:12px}.ac-airflow{right:34px;top:112px;width:62%;height:138px}.ac-airflow span,.fan-airflow span{flex:1;border-radius:999px;background:linear-gradient(180deg,rgba(104,195,255,.62),rgba(104,195,255,0));filter:blur(1.5px);animation:2.8s ease-in-out infinite showcaseAirflow}.ac-airflow span:nth-child(2),.fan-airflow span:nth-child(2){animation-delay:.2s}.ac-airflow span:nth-child(3),.fan-airflow span:nth-child(3){animation-delay:.4s}.ac-airflow span:nth-child(4),.fan-airflow span:nth-child(4){animation-delay:.6s}.ac-stage-power{position:absolute;right:22px;bottom:22px;min-width:126px;min-height:54px;padding:0 24px;border:none;border-radius:20px;background:linear-gradient(180deg,rgba(31,64,112,.82),rgba(25,50,91,.92));color:#6aa8ff;font-size:18px;font-weight:800;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(124,164,214,.16)}.ac-showcase-stage.heat .ac-airflow span{background:linear-gradient(180deg,rgba(255,184,77,.56),rgba(255,184,77,0))}.ac-showcase-stage.heat .ac-stage-power{color:#ffba57}.ac-showcase-stage.dry .ac-airflow span{background:linear-gradient(180deg,rgba(45,212,191,.52),rgba(45,212,191,0))}.ac-showcase-stage.dry .ac-stage-power{color:#78f5df}.ac-showcase-stage.offline .ac-airflow span,.compact-ac-card.state-off .ac-airflow span,.compact-ac-card.state-offline .ac-airflow span{background:linear-gradient(180deg,rgba(148,163,184,.36),rgba(148,163,184,0))}.showcase-control-strip{position:relative;z-index:1;display:grid;gap:12px}.showcase-control-strip.ac{grid-template-columns:repeat(4,minmax(0,1fr))}.showcase-control-strip.fan{grid-template-columns:repeat(3,minmax(0,1fr))}.showcase-control-box{min-width:0;padding:14px 16px;border-radius:20px;border:1px solid rgba(98,126,165,.24);background:rgba(14,25,42,.9)}.showcase-control-box label{display:block;margin-bottom:8px;font-size:12px;color:rgba(189,205,226,.72)}.showcase-static-value{min-height:42px;display:flex;align-items:center;color:#f7fbff;font-size:16px;font-weight:700}.showcase-card input[type=number],.showcase-card input[type=text],.showcase-card select{min-height:42px;border-radius:14px;border-color:rgba(113,142,180,.22);background:rgba(255,255,255,.04);color:#f8fbff}.showcase-card input[type=number]:focus,.showcase-card input[type=text]:focus,.showcase-card select:focus{border-color:rgba(96,165,250,.42);box-shadow:0 0 0 4px rgba(59,130,246,.14)}.showcase-card option{background:#122036;color:#f8fbff}.showcase-bottom-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.showcase-bottom-panel{padding:18px;border-radius:24px;border:1px solid rgba(98,126,165,.22);background:linear-gradient(180deg,rgba(14,24,40,.92),rgba(13,22,35,.96))}.showcase-panel-title{font-size:15px;font-weight:800;color:#f7fbff}.showcase-status-layout{margin-top:16px;display:grid;grid-template-columns:112px 1fr;gap:18px;align-items:center}.showcase-status-ring{position:relative;width:112px;height:112px}.showcase-status-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.showcase-status-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.showcase-status-center strong{font-size:24px;line-height:1;font-weight:900;color:#fff}.showcase-status-center span{margin-top:6px;font-size:11px;color:rgba(191,206,229,.72)}.light-showcase-summary,.showcase-key-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.showcase-key-item{min-width:0;padding:12px 14px;border-radius:18px;border:1px solid rgba(98,126,165,.18);background:rgba(255,255,255,.03)}.showcase-key-item span{display:block;font-size:12px;color:rgba(187,205,228,.72)}.showcase-key-item strong{display:block;margin-top:6px;font-size:18px;font-weight:800;color:#fff;overflow-wrap:anywhere}.showcase-trend-card{position:relative;margin-top:16px;min-height:176px;border-radius:22px;overflow:hidden;background:linear-gradient(180deg,rgba(96,165,250,.07),rgba(96,165,250,.02)),repeating-linear-gradient(180deg,rgba(148,163,184,.06) 0 1px,transparent 1px 42px),linear-gradient(180deg,rgba(10,20,35,.86),rgba(11,18,28,.96))}.showcase-trend-svg{position:absolute;inset:16px 16px 18px 16px;width:calc(100% - 32px);height:calc(100% - 34px)}.showcase-trend-area{fill:rgba(96,165,250,.18)}.showcase-trend-line{fill:none;stroke:#60a5fa;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.showcase-trend-point{fill:#60a5fa;stroke:#d8ecff;stroke-width:3}.showcase-trend-card.heat .showcase-trend-area{fill:rgba(245,158,11,.16)}.showcase-trend-card.heat .showcase-trend-line{stroke:#fbbf24;fill:none}.showcase-trend-card.heat .showcase-trend-point{fill:#fbbf24;stroke:#ffe3a4}.showcase-trend-card.dry .showcase-trend-area{fill:rgba(45,212,191,.16)}.showcase-trend-card.dry .showcase-trend-line{stroke:#2dd4bf;fill:none}.showcase-trend-card.dry .showcase-trend-point{fill:#2dd4bf;stroke:#d8fff5}.showcase-trend-card.offline .showcase-trend-area{fill:rgba(148,163,184,.12)}.showcase-trend-card.offline .showcase-trend-line{stroke:#94a3b8;fill:none}.showcase-trend-card.offline .showcase-trend-point{fill:#94a3b8;stroke:#d7dee8}.showcase-trend-label{position:absolute;top:18px;right:18px;min-width:92px;min-height:40px;padding:0 16px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:rgba(59,130,246,.24);color:#e8f3ff;font-size:16px;font-weight:800;box-shadow:inset 0 0 0 1px rgba(112,166,231,.18)}.showcase-action-row{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.showcase-ghost-btn{min-height:50px;padding:0 22px;border:none;border-radius:18px;background:linear-gradient(180deg,rgba(37,53,82,.92),rgba(24,38,63,.96));color:#f7fbff;font-size:16px;font-weight:800;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(112,141,179,.18)}.showcase-ghost-btn.preview{position:absolute;right:18px;bottom:18px}.showcase-card .mini-action{background:rgba(255,255,255,.05);color:#f4f8ff;border-color:rgba(116,145,183,.16)}.showcase-card .mini-action.blue{background:rgba(37,99,235,.18);color:#9dc8ff;border-color:rgba(96,165,250,.18)}.showcase-card .mini-action.orange{background:rgba(255,176,32,.16);color:#ffd277;border-color:rgba(255,188,72,.18)}.showcase-card .mini-action.cyan{background:rgba(16,185,129,.16);color:#82f3c4;border-color:rgba(45,212,191,.18)}.showcase-card .mini-action.gray{background:rgba(100,116,139,.16);color:#d3deee;border-color:rgba(148,163,184,.18)}.showcase-card .field label,.showcase-card .hint{color:rgba(191,206,229,.72)}.showcase-card .slider{accent-color:#ffc247}.showcase-progress{margin-top:14px;height:8px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}.showcase-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ffcc6b,#ff9e2e)}.showcase-progress.dual span{background:linear-gradient(90deg,#ffb84d,#7dc7ff)}.light-preview-stage{min-height:292px;padding:18px}.light-preview-room{position:absolute;inset:18px;border-radius:24px;background:radial-gradient(circle at 50% 10%,rgba(255,197,102,.18),transparent 36%),linear-gradient(180deg,rgba(50,35,20,.98),rgba(21,18,21,.98));box-shadow:inset 0 0 0 1px rgba(255,208,135,.12)}.light-preview-strip{position:absolute;left:9%;right:9%;height:4px;border-radius:999px;background:linear-gradient(90deg,rgba(255,203,114,0),rgba(255,197,108,.96),rgba(255,203,114,0));box-shadow:0 0 18px rgba(255,189,89,.42)}.light-preview-strip.top{top:16px}.light-preview-strip.middle{top:90px}.light-preview-desks{position:absolute;left:14%;right:14%;bottom:16px;height:108px;border-radius:20px 20px 14px 14px;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.18)),linear-gradient(180deg,rgba(78,60,38,.86),rgba(31,24,22,.98));box-shadow:inset 0 -22px 32px rgba(0,0,0,.28),0 20px 30px rgba(0,0,0,.18)}.light-preview-overlay{position:absolute;left:18px;bottom:18px;padding:14px 16px;border-radius:18px;background:rgba(15,14,18,.72);backdrop-filter:blur(8px)}.light-preview-overlay span{display:block;font-size:12px;color:rgba(226,236,250,.72)}.light-preview-overlay strong{display:block;margin-top:6px;font-size:18px;color:#fff}.light-scene-strip{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.light-scene-chip{min-height:92px;padding:14px 16px;border:none;border-radius:20px;display:grid;justify-items:center;align-content:center;gap:8px;background:rgba(255,255,255,.04);color:#edf4ff;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(112,141,179,.14)}.light-scene-chip span{font-size:24px;line-height:1}.light-scene-chip strong{font-size:16px;font-weight:800}.light-scene-chip.active{background:linear-gradient(180deg,rgba(92,64,19,.82),rgba(49,38,24,.94));color:#ffd277;box-shadow:inset 0 0 0 1px rgba(255,194,73,.26),0 14px 26px rgba(255,174,53,.12)}.light-showcase-foot{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:16px}.light-showcase-actions,.light-showcase-summary{display:grid;gap:12px}.showcase-slider-field{padding:14px 16px;border-radius:20px;border:1px solid rgba(98,126,165,.18);background:rgba(255,255,255,.03)}.light-showcase-card.tone-cool .light-preview-room{background:radial-gradient(circle at 50% 10%,rgba(125,199,255,.22),transparent 36%),linear-gradient(180deg,rgba(21,34,52,.98),rgba(17,20,31,.98))}.light-showcase-card.tone-cool .light-preview-strip{background:linear-gradient(90deg,rgba(124,199,255,0),rgba(124,199,255,.96),rgba(124,199,255,0));box-shadow:0 0 18px rgba(124,199,255,.36)}.light-showcase-card.tone-sleep .light-preview-room{background:radial-gradient(circle at 50% 10%,rgba(148,163,184,.1),transparent 34%),linear-gradient(180deg,rgba(17,24,39,.98),rgba(8,12,20,.98))}.light-showcase-card.tone-sleep .light-preview-strip{background:linear-gradient(90deg,rgba(148,163,184,0),rgba(148,163,184,.42),rgba(148,163,184,0));box-shadow:none}.fan-showcase-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fan-showcase-stage{min-height:332px;padding:20px}.fan-unit-shell{position:absolute;top:20px;right:36px;width:220px;height:96px;border-radius:24px 24px 18px 18px;background:linear-gradient(180deg,#36475d,#1d2938 76%,#121b28);box-shadow:0 18px 42px rgba(2,12,28,.34)}.fan-unit-shell::before{content:"";position:absolute;left:16px;right:16px;bottom:18px;height:8px;border-radius:999px;background:linear-gradient(90deg,rgba(45,212,191,.06),rgba(45,212,191,.46),rgba(45,212,191,.06))}.fan-airflow{left:88px;top:112px;width:58%;height:156px}.fan-airflow span{background:linear-gradient(180deg,rgba(34,211,238,.62),rgba(34,211,238,0))}.fan-floating-leaf{position:absolute;width:20px;height:20px;border-radius:18px 2px;background:linear-gradient(135deg,#31d399,#0f9f73);box-shadow:0 0 18px rgba(49,211,153,.28);animation:4s ease-in-out infinite showcaseLeafFloat}.fan-floating-leaf::before{content:"";position:absolute;inset:3px 9px 3px 9px;border-radius:999px;background:rgba(255,255,255,.36)}.leaf-a{left:96px;top:182px;transform:rotate(-18deg)}.leaf-b{left:152px;top:220px;transform:rotate(18deg);animation-delay:.5s}.leaf-c{left:212px;top:198px;transform:rotate(-10deg);animation-delay:1s}.fan-score-badge{position:absolute;right:18px;bottom:18px;width:170px;padding:16px 14px;border-radius:22px;background:linear-gradient(180deg,rgba(6,36,39,.82),rgba(6,27,30,.94));box-shadow:inset 0 0 0 1px rgba(45,212,191,.14)}.fan-score-badge .showcase-status-ring{margin:0 auto;width:136px;height:136px}.fan-score-badge .showcase-status-center strong{font-size:46px}.fan-score-badge .showcase-status-center span{font-size:13px}.fan-score-text{margin-top:12px;text-align:center;font-size:13px;line-height:1.6;color:#8df1c9}@keyframes showcaseAirflow{0%,100%{transform:translateY(0) scaleY(1);opacity:.55}50%{transform:translateY(8px) scaleY(1.08);opacity:1}}@keyframes showcaseLeafFloat{0%,100%{transform:translate3d(0,0,0) rotate(-12deg)}50%{transform:translate3d(16px,-10px,0) rotate(10deg)}}@media (max-width:1480px){.compact-ac-grid,.fan-card-grid,.light-device-grid{grid-template-columns:repeat(auto-fit,minmax(380px,1fr))}}@media (max-width:1180px){.ac-showcase-hero,.fan-showcase-hero,.light-showcase-foot,.light-showcase-hero,.showcase-bottom-grid{grid-template-columns:1fr}.showcase-control-strip.ac,.showcase-control-strip.fan{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:860px){.compact-ac-grid,.fan-card-grid,.light-device-grid{grid-template-columns:1fr}.compact-ac-card,.fan-panel,.light-device-card{min-height:0;padding:20px;border-radius:26px}.fan-showcase-metrics,.light-scene-strip,.light-showcase-summary,.showcase-control-strip.ac,.showcase-control-strip.fan,.showcase-key-stats{grid-template-columns:1fr}.showcase-status-layout{grid-template-columns:1fr;justify-items:center;text-align:center}.showcase-action-row{align-items:stretch}.showcase-ghost-btn{width:100%}.fan-score-badge{position:relative;right:auto;bottom:auto;width:100%;margin-top:192px}}.mono{font-family:Consolas,SFMono-Regular,monospace}@keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (max-width:1240px){.widget-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-focus-grid,.panel-grid{grid-template-columns:1fr}.device-status-grid{grid-template-columns:1fr 1fr}.issue-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.issue-overview-log{grid-column:1/-1}.daily-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1024px){.sidebar{width:92px;padding-inline:10px}.brand{padding-inline:4px}.brand-copy,.nav-item span:last-child,.sidebar-foot{display:none}.nav-item{justify-content:center;padding-inline:0}.settings-side{position:static}.settings-main-shell{grid-template-columns:minmax(0,1fr)}.settings-workspace-side{position:static}.settings-workspace-hero{flex-direction:column;align-items:flex-start}.settings-nav{position:static;padding:8px}.room-device-panel-grid,.status-modal-summary{grid-template-columns:1fr}.suite-room-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}@media (max-width:860px){.content,.title-bar{padding-inline:18px}.widget-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.check-grid,.editor-grid,.fan-stats,.inline-fields,.mode-row,.settings-linkage-grid.compact,.thermostat-body{grid-template-columns:1fr}#roomQuickSelect{min-width:100%}.compact-ac-hero,.compact-ac-stats,.daily-summary-grid,.device-status-card,.device-status-grid,.energy-metrics,.issue-overview-grid,.light-device-meter,.room-card-hero,.settings-diagnostics-grid,.settings-room-meta-row,.settings-side-metric-grid,.settings-stat-row,.settings-system-grid,.settings-two-col,.status-modal-grid,.status-modal-stats,.status-modal-subgrid{grid-template-columns:1fr}.room-card-badges{justify-content:flex-start}.suite-room-footer,.suite-room-header{padding-inline:16px}.suite-room-devices{grid-template-columns:1fr}.suite-room-badges{justify-content:flex-start}.status-modal-card{width:min(100%,720px);padding:14px}.status-modal-grid{grid-template-columns:1fr}.status-modal-topbar-chips{justify-content:flex-start}.room-command-grid,.room-command-stats,.room-device-selects{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.app{display:block}.sidebar{width:auto;flex-direction:row;align-items:center;overflow:auto;padding:14px 12px}.nav{display:flex}.nav-item{min-width:56px}.title-bar{position:static;flex-direction:column;align-items:flex-start}.title-actions{justify-content:flex-start}.fan-card-grid,.light-room-grid,.room-meta-grid,.thermostat-grid,.widget-grid{grid-template-columns:1fr}.log-table{display:block;overflow:auto}.compact-ac-grid,.daily-summary-grid,.device-status-grid,.issue-overview-grid,.light-device-grid,.light-summary-grid,.room-summary-grid,.settings-nav,.status-modal-computer-list,.suite-room-grid{gap:8px}.settings-workspace-hero{padding:18px 16px}.settings-overview-card{padding:16px}.issue-overview-log{grid-column:auto}.suite-room-title-row{align-items:flex-start}.suite-room-footer{flex-direction:column;align-items:flex-start}.status-modal{padding:12px}.status-modal-card{max-height:calc(100vh - 24px);padding:14px;border-radius:20px}.status-modal-head{margin-bottom:14px;padding-bottom:12px}.status-modal-topbar{padding:10px 12px}.room-command-headline{flex-direction:column;align-items:flex-start}.room-command-grid,.room-command-stats,.room-device-selects{grid-template-columns:1fr}}.app{gap:18px;padding:18px}.sidebar{position:sticky;top:18px;width:190px;min-height:calc(100vh - 36px);padding:14px;border-radius:30px;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(247,250,255,.92));color:var(--text);border:1px solid rgba(255,255,255,.78);box-shadow:0 22px 48px rgba(25,45,85,.08)}.brand{padding:4px 8px 12px}.brand-mark{width:50px;height:50px;padding:0;border-radius:18px;background:0 0;box-shadow:none}.brand-mark svg{width:100%;height:100%;display:block}.brand-copy{display:grid;gap:4px}.brand-title{font-size:18px;color:#283243}.brand-sub{margin-top:0;font-size:12px;color:#7d8ba0;letter-spacing:0;text-transform:none}.nav{gap:8px}.nav-item{min-height:50px;padding:0 14px;border-radius:16px;color:#67768c;font-weight:700;transition:background .18s,color .18s,box-shadow .18s}.nav-item:hover{transform:none;background:#f7f9fd;color:#3b4d65}.nav-item.active{background:linear-gradient(180deg,#eef3ff,#eef4ff);color:#4f74ff;box-shadow:inset 0 0 0 1px rgba(90,119,255,.12)}.nav-icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center}.nav-icon svg{width:100%;height:100%}.sidebar-summary{margin-top:auto;padding:18px 16px;border-radius:24px;background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid rgba(86,104,142,.08);box-shadow:none}.sidebar-summary-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px;font-weight:800;color:#2c3546}.sidebar-summary-dot{width:10px;height:10px;border-radius:50%;background:#d7deec}.sidebar-summary-dot.excellent{background:#31c47a}.sidebar-summary-dot.good{background:#57a2ff}.sidebar-summary-dot.warn{background:#ffb43b}.sidebar-summary-dot.danger{background:#ff6b6b}.sidebar-summary-list{display:grid;gap:12px;margin-top:14px}.sidebar-summary-list div{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;color:#728196}.sidebar-summary-list strong{color:#263142;font-size:14px}.sidebar-collapse{width:100%;min-height:42px;margin-top:10px;border:none;border-radius:999px;background:rgba(239,243,249,.92);color:#6d7b90;font-weight:700;cursor:default}.title-bar{position:static;padding:2px 8px 0;border:none;background:0 0;backdrop-filter:none}.page-kicker{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:999px;background:rgba(87,116,255,.1);color:#5b74ff;font-size:11px;font-weight:700;width:max-content}.title-bar h1{font-size:27px;color:#1f2b3d}.title-bar p{margin-top:4px;font-size:13px;color:#7a889d}.title-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:nowrap;min-width:0}.title-meta-block,.title-meta-panel,.title-meta-row,.title-metric-strip{display:flex;align-items:center;gap:6px;min-width:0}.title-metric-strip{flex-shrink:0;gap:4px}.top-chip{border-radius:var(--radius-md);background:var(--bg-glass);border:1px solid var(--border);display:flex;align-items:center;transition:.3s cubic-bezier(.4, 0, .2, 1);position:relative;overflow:hidden}.top-chip:hover{background:rgba(255,255,255,.08);border-color:var(--border-strong);transform:translateY(-1px)}.top-chip-icon{display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.05);color:var(--secondary)}.top-chip-copy{display:flex;flex-direction:column;line-height:1.2}.top-chip-copy strong{color:var(--text-main)}.top-chip-copy span{font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em}.top-chip-ambient .top-chip-icon{color:var(--secondary)}.top-chip-time .top-chip-icon{color:var(--primary);background:rgba(99,102,241,.1)}.top-chip-status .top-chip-icon{color:var(--success);background:rgba(52,211,153,.1)}.title-metric-strip{display:flex;align-items:center;gap:12px;flex-wrap:nowrap}.title-meta-panel{flex:1;display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:4px 8px;border-radius:var(--radius-md);background:var(--bg-glass);border:1px solid var(--border);backdrop-filter:blur(10px)}.title-meta-block{flex-shrink:0;gap:6px}.title-meta-label{font-size:10px;font-weight:700;color:#8a97ab;white-space:nowrap}.title-meta-row{gap:4px}.top-chip,.top-user{display:flex;align-items:center;gap:10px;padding:8px 12px;min-height:48px;border-radius:18px;background:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.78);box-shadow:0 16px 34px rgba(25,45,85,.05)}.top-chip{max-width:unset;min-width:unset!important;flex-shrink:0;height:auto;min-height:unset}.top-chip-copy{display:flex;flex-direction:row;align-items:center;gap:12px;overflow:hidden}.top-chip-copy strong{white-space:nowrap;font-weight:800;color:var(--text-main)}.top-chip-copy span{display:flex;align-items:center;gap:8px;color:var(--text-muted);white-space:nowrap}.top-chip-copy span::before{content:"";display:block;width:1px;height:12px;background:var(--border-subtle);opacity:.5}.top-chip-copy small{display:flex;align-items:center;gap:12px}.top-chip-copy small i{font-style:normal;display:flex;align-items:center;gap:4px}.top-chip-copy small i::before{content:"";display:block;width:1px;height:12px;background:var(--border-subtle);opacity:.5}.top-chip-side{display:none!important}.weather-forecast-panel{display:flex;flex-direction:column;gap:16px;background:var(--bg-surface);color:var(--text-main)}.weather-current-main{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-radius:20px;border:none;box-shadow:0 10px 25px rgba(37,99,235,.2)}.weather-current-temp strong{font-size:56px;color:#fff}.weather-current-temp span{color:rgba(255,255,255,.8)}.weather-current-desc h3{font-size:24px;color:#fff}.weather-current-desc p{color:rgba(255,255,255,.7)}.weather-current-side{display:flex;flex-direction:column;gap:8px;align-items:flex-end}.weather-side-pill{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.2);color:#fff;backdrop-filter:blur(4px);padding:4px 10px;border-radius:8px;font-size:12px}.weather-details-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.weather-detail-item{padding:14px;background:var(--bg-glass);border:1px solid var(--border-subtle);border-radius:16px;transition:.2s;display:flex;flex-direction:column;align-items:center;gap:4px}.weather-detail-item label{font-size:11px;color:var(--text-muted)}.weather-detail-item strong{font-size:16px;color:var(--text-main)}.weather-detail-item:hover{background:var(--bg-hover);transform:translateY(-2px)}.weather-forecast-list{display:grid;gap:10px}.weather-forecast-day{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;padding:14px 20px;background:var(--bg-glass);border:1px solid var(--border-subtle);border-radius:14px;font-size:14px}.forecast-date{font-weight:600;color:var(--text-main)}.forecast-text{color:var(--text-muted);text-align:center}.forecast-temp{font-weight:700;color:var(--text-main);font-family:var(--font-mono)}.weather-alert-item{border-left:4px solid #ef4444;background:rgba(239,68,68,.05);padding:12px;border-radius:0 12px 12px 0}.weather-alert-item strong{color:#ef4444;display:block;margin-bottom:4px}.weather-alert-item p{font-size:13px;color:var(--text-muted)}.top-chip-icon{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#f5f8ff,#edf4ff);color:#7b8797;flex-shrink:0}.top-chip-icon svg{width:18px;height:18px}.top-chip-copy{display:grid;gap:2px;min-width:0}.top-chip-copy strong{font-size:15px;line-height:1;color:#243042}.top-chip-copy span{font-size:11px;color:#7b889c}.top-status-stack{display:flex;align-items:center;flex-wrap:nowrap;gap:3px}.badge{min-height:24px;padding:0 8px;background:rgba(255,255,255,.84);box-shadow:none;font-size:10px}.top-user{gap:6px;flex-shrink:0;min-height:24px;border:none;border-radius:0;box-shadow:none}.top-user-copy{display:flex;align-items:center;gap:6px;white-space:nowrap}.top-user-copy strong{color:#283243;line-height:1}.top-user-copy span{font-size:10px;color:#8a97ab;line-height:1}.user-chip{background:#f5f7fb;border-color:rgba(86,104,142,.08);padding:3px 8px;font-size:10px}.user-chip-logout{padding:1px 6px}.title-refresh{min-height:28px;padding:0 10px;flex-shrink:0;font-size:11px}.title-refresh.btn-primary{box-shadow:none}.content{max-width:none;padding:12px 8px 28px}.card{border-radius:28px;background:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.82);box-shadow:0 24px 52px rgba(20,35,60,.07);backdrop-filter:blur(18px)}.dashboard-home{display:grid;gap:18px}.dashboard-summary-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;padding:10px}.dashboard-summary-tile{display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:center;padding:18px 18px 18px 16px;border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(246,249,255,.92))}.dashboard-summary-icon{position:relative;width:64px;height:64px;display:grid;place-items:center;color:#5f7cff}.dashboard-summary-icon svg{width:64px;height:64px;transform:rotate(-90deg)}.dashboard-summary-ring-track{stroke:rgba(127,143,170,.16);stroke-width:6}.dashboard-summary-ring-progress{stroke:currentColor;stroke-width:6;stroke-linecap:round}.dashboard-summary-ring-center{position:absolute;inset:0;display:grid;align-content:center;justify-items:center;gap:1px;text-align:center}.dashboard-summary-ring-center strong{font-size:12px;line-height:1;color:#213043}.dashboard-summary-ring-center span{font-size:10px;line-height:1;color:#90a0b5}.dashboard-summary-tile.blue .dashboard-summary-icon{color:#5f7cff}.dashboard-summary-tile.cool .dashboard-summary-icon{color:#4f8dff}.dashboard-summary-tile.amber .dashboard-summary-icon{color:#f2a62d}.dashboard-summary-tile.green .dashboard-summary-icon{color:#31be8b}.dashboard-summary-tile.violet .dashboard-summary-icon{color:#7b7cff}.dashboard-summary-tile.mint .dashboard-summary-icon{color:#3cc99a}.dashboard-summary-copy{display:grid;gap:4px}.dashboard-summary-copy span{font-size:13px;color:#8a97ab}.dashboard-summary-copy strong{font-size:22px;line-height:1.1;letter-spacing:-.04em;color:#1f2a3d}.dashboard-summary-copy small{font-size:12px;color:#7b889c}.dashboard-main-grid{display:grid;gap:18px;--dashboard-board-height:344px}.dashboard-bottom-grid,.dashboard-top-grid{display:grid;grid-template-columns:minmax(0,1.85fr) 390px;gap:18px;align-items:stretch}.dashboard-control-stack{display:grid;gap:14px;grid-template-rows:repeat(2,minmax(0,1fr));height:100%}.dashboard-alert-card,.dashboard-energy-card,.dashboard-env-card,.dashboard-log-card,.dashboard-quick-card,.dashboard-room-board,.dashboard-scene-card{padding:16px}.dashboard-log-card,.dashboard-quick-card,.dashboard-room-board,.dashboard-scene-card{min-height:var(--dashboard-board-height)}.dashboard-quick-card,.dashboard-room-board,.dashboard-scene-card{padding:14px}.dashboard-bottom-grid .dashboard-energy-card,.dashboard-bottom-grid .dashboard-log-card,.dashboard-control-stack .dashboard-quick-card,.dashboard-control-stack .dashboard-scene-card{height:100%}.dashboard-control-stack .dashboard-quick-card,.dashboard-control-stack .dashboard-scene-card{min-height:0}.dashboard-bottom-grid .dashboard-energy-card,.dashboard-bottom-grid .dashboard-log-card{min-height:var(--dashboard-board-height)}.dashboard-energy-tabs,.dashboard-panel-tools{display:flex;align-items:center;gap:10px}.dashboard-panel-tools{flex-wrap:wrap;justify-content:flex-end}.dashboard-energy-tab,.dashboard-quick-tab,.dashboard-view-chip{min-height:34px;padding:0 12px;border:none;border-radius:999px;background:#f5f8fc;color:#8a97aa;font-size:12px;font-weight:700}.dashboard-energy-tab.active,.dashboard-quick-tab.active,.dashboard-view-chip.active{background:#edf2ff;color:#3b82f6}.dashboard-sort-wrap{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 6px 0 12px;border-radius:999px;background:#f5f8fc;border:1px solid rgba(111,129,161,.1)}.dashboard-sort-wrap span{font-size:11px;font-weight:700;color:#8a97aa;white-space:nowrap}.dashboard-sort-select{min-width:108px;min-height:30px;padding:0 26px 0 8px;border:none;border-radius:999px;background:#fff;color:#42536b;font-size:12px;font-weight:700;outline:0;cursor:pointer}.panel-link-btn{border:none;background:0 0;color:#8896aa;font-size:12px;font-weight:700;cursor:pointer}.panel-link-btn:hover{color:#5b74ff}.dashboard-more-btn{width:100%;min-height:40px;margin-top:12px;border:none;border-radius:16px;background:#f7f9fd;color:#6e7d92;font-weight:700;cursor:pointer}.dashboard-scene-card{display:grid;grid-template-rows:auto 1fr;gap:10px}.dashboard-scene-list{display:grid;grid-template-rows:repeat(4,minmax(0,1fr));gap:8px}.dashboard-scene-item{border:none;display:grid;grid-template-columns:40px 1fr;gap:10px;align-items:center;padding:10px;border-radius:16px;background:linear-gradient(180deg,#fff,#f7faff);box-shadow:inset 0 0 0 1px rgba(113,134,170,.1);cursor:pointer;text-align:left;color:inherit;height:100%}.dashboard-scene-icon{width:32px;height:32px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800}.dashboard-scene-item.blue .dashboard-scene-icon{background:#edf2ff;color:#5f77ff}.dashboard-scene-item.amber .dashboard-scene-icon{background:#fff5df;color:#edaa34}.dashboard-scene-item.gray .dashboard-scene-icon{background:#f2f5f9;color:#77859a}.dashboard-scene-item.green .dashboard-scene-icon{background:#ebfbf3;color:#2fb785}.dashboard-scene-copy{display:grid;gap:3px}.dashboard-scene-copy strong{font-size:14px;color:#1e293b}.dashboard-scene-copy small{font-size:11px;color:#7d8ba0}.dashboard-bottom-grid{display:grid;grid-template-columns:1.2fr 0.8fr;gap:20px;margin-top:20px}.dashboard-energy-card{padding:20px;display:flex!important;flex-direction:column!important;gap:20px!important;background:#fff;border-radius:24px;border:1px solid rgba(15,23,42,.08)}.dashboard-energy-card .energy-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.dashboard-energy-card .panel-title{font-size:18px;font-weight:800;color:#1e293b;margin:0}.dashboard-energy-actions{display:flex;gap:8px;align-items:center}.dashboard-energy-actions .panel-link-btn{padding:6px 12px;background:#f1f5f9;border:none;border-radius:8px;color:#475569;font-size:12px;font-weight:600;cursor:pointer;transition:.2s}.dashboard-energy-actions .panel-link-btn:hover{background:#e2e8f0;color:#1e293b}.dashboard-energy-body{display:grid;grid-template-columns:200px 1fr;gap:24px;align-items:center}.dashboard-energy-highlight{padding:24px;background:linear-gradient(135deg,#f0f9ff 0,#e0f2fe 100%);border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid rgba(37,99,235,.1)}.dashboard-energy-value{font-size:44px;font-weight:900;color:#3b82f6;line-height:1}.dashboard-energy-unit{font-size:14px;font-weight:700;color:#64748b;margin-top:4px;text-transform:uppercase}.dashboard-energy-highlight p{margin:12px 0 0;font-size:13px;font-weight:600;color:#475569}.dashboard-energy-meta{margin-top:16px;padding-top:16px;border-top:1px dashed rgba(37,99,235,.2);width:100%;display:flex;flex-direction:column;gap:4px}.dashboard-energy-meta span{font-size:11px;color:#64748b;font-weight:500}.dashboard-energy-chart{height:180px;position:relative;background:#f8fafc;border-radius:20px;padding:12px;border:1px solid rgba(15,23,42,.04)}.dashboard-energy-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.dashboard-energy-stat{padding:16px;background:#f8fafc;border:1px solid rgba(15,23,42,.04);border-radius:16px;display:flex;flex-direction:column;gap:4px;text-align:left;cursor:pointer;transition:.2s}.dashboard-energy-stat:hover{background:#fff;border-color:#2563eb;box-shadow:0 4px 12px rgba(37,99,235,.08);transform:translateY(-2px)}.dashboard-energy-stat.primary{background:#eff6ff;border-color:rgba(37,99,235,.1)}.dashboard-energy-stat span{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase}.dashboard-energy-stat strong{font-size:20px;font-weight:800;color:#1e293b}.dashboard-energy-stat small{font-size:10px;color:#94a3b8}.dashboard-energy-price-wrap{position:relative}.dashboard-energy-price-popover{position:absolute;top:100%;right:0;margin-top:8px;background:#fff;padding:16px;border-radius:16px;box-shadow:0 20px 40px rgba(0,0,0,.12);border:1px solid rgba(15,23,42,.1);display:none;z-index:100;min-width:200px;flex-direction:column;gap:10px}.dashboard-energy-price-popover.show{display:flex}.dashboard-energy-price-popover label{font-size:12px;font-weight:700;color:#64748b}.dashboard-energy-price-popover input{padding:8px 12px;border-radius:8px;border:1px solid #e2e8f0;font-size:14px;font-weight:600}.dashboard-section-note{font-style:italic;font-size:12px;line-height:1.7;color:#8a97aa}@media (max-width:1024px){.dashboard-bottom-grid{grid-template-columns:1fr}}@media (max-width:640px){.dashboard-energy-body,.dashboard-energy-stat-grid{grid-template-columns:1fr}}.dashboard-energy-mini{padding:12px 14px;border-radius:16px;background:#f8fafc;border:1px solid rgba(111,129,161,.08)}.dashboard-energy-mini span{display:block;font-size:12px;color:#8794a7}.dashboard-energy-mini strong{display:block;margin-top:8px;font-size:18px;color:#263042}.dashboard-alert-card,.dashboard-env-card,.dashboard-log-card,.dashboard-quick-card{display:grid;gap:14px}.dashboard-quick-card{grid-template-rows:auto auto auto 1fr;align-content:start;gap:10px}.dashboard-env-body{display:grid;gap:16px}.dashboard-gauge{position:relative;width:194px;height:194px;margin:0 auto}.dashboard-gauge svg{width:100%;height:100%;transform:rotate(140deg)}.dashboard-gauge-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.dashboard-gauge-center strong{font-size:44px;line-height:1;font-weight:900;color:#31c47a}.dashboard-gauge.good .dashboard-gauge-center strong{color:#5b74ff}.dashboard-gauge.warn .dashboard-gauge-center strong{color:#f0a32b}.dashboard-gauge.danger .dashboard-gauge-center strong{color:#ff6b6b}.dashboard-gauge-center span{margin-top:8px;font-size:14px;color:#7c899d}.dashboard-gauge-center small{margin-top:4px;font-size:12px;color:#94a0b2}.dashboard-env-metrics{display:grid;gap:12px}.dashboard-env-metrics div{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px;color:#7d8ba0}.dashboard-env-metrics strong{font-size:16px;color:#243042}.dashboard-env-issues{display:grid;gap:10px}.dashboard-env-issue{border:1px solid rgba(111,129,161,.08);min-height:42px;padding:0 14px;border-radius:14px;background:#f8fafc;display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:700;color:#4d5d74;cursor:pointer}.dashboard-env-issue.warn{background:#fff9ee;color:#d08d21}.dashboard-env-issue.danger{background:#fff3f3;color:#d95d5d}.dashboard-env-issue.info{background:#eef4ff;color:#5670ff}.dashboard-env-empty{padding:14px;border-radius:16px;background:#f8fafc;color:#7d8ba0;font-size:13px}.dashboard-quick-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.dashboard-quick-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.dashboard-quick-target{font-size:16px;font-weight:800;color:#253143}.dashboard-quick-meta{margin-top:3px;font-size:12px;color:#7f8ca0}.dashboard-master-switch{position:relative;width:52px;height:30px;border:none;border-radius:999px;background:#e8eef7;cursor:pointer;flex-shrink:0}.dashboard-master-switch span{position:absolute;top:4px;left:4px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(27,42,71,.12);transition:transform .2s}.dashboard-master-switch.on{background:#5d79ff}.dashboard-master-switch.on span{transform:translateX(22px)}.dashboard-quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.dashboard-quick-btn{min-height:34px;padding:0 10px;border:none;border-radius:16px;background:#f5f8fc;color:#607088;font-size:12px;font-weight:700;cursor:pointer}.dashboard-quick-btn.primary{background:#5f79ff;color:#fff}.dashboard-quick-btn.blue{background:#edf2ff;color:#5f77ff}.dashboard-quick-btn.amber{background:#fff4dd;color:#eda42f}.dashboard-quick-btn.green{background:#ebfbf3;color:#2fb886}.dashboard-quick-btn.gray{background:#f2f5f9;color:#738297}.dashboard-quick-btn.soft{background:#eef6ff;color:#4c8fff}.dashboard-quick-btn.wide{width:100%}.dashboard-temp-panel{display:grid;gap:6px;padding:10px;border-radius:16px;background:#f8fafc;border:1px solid rgba(111,129,161,.08)}.dashboard-temp-top{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;color:#7e8ca0}.dashboard-temp-top strong{font-size:16px;color:#243042}.dashboard-temp-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;font-size:12px;color:#8d99ac}.dashboard-temp-row input{accent-color:#5f79ff}.dashboard-quick-note{font-size:11px;line-height:1.6;color:#8a97aa}.dashboard-log-stats{display:flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:8px}.dashboard-log-chip{display:inline-flex;align-items:center;min-height:28px;padding:0 12px;border-radius:999px;background:#f5f8fc;color:#7a879b;font-size:12px;font-weight:700;white-space:nowrap}.dashboard-log-chip.warn{background:#fff4e8;color:#dd8a1f}.dashboard-log-card{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:14px}.dashboard-log-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dashboard-log-stat{padding:14px 16px;border-radius:16px;background:linear-gradient(180deg,#fff,#f7faff);border:1px solid rgba(111,129,161,.1);display:grid;gap:6px;cursor:pointer;transition:.2s}.dashboard-log-stat:hover{transform:translateY(-2px);border-color:rgba(95,119,255,.24);box-shadow:0 8px 20px rgba(31,42,68,.1)}.dashboard-log-stat.warn{background:linear-gradient(180deg,#fffaf2,#fff4e8);border-color:rgba(221,138,31,.14)}.dashboard-log-stat span{font-size:12px;font-weight:700;color:#8a97aa;letter-spacing:.02em}.dashboard-log-stat strong{font-size:28px;line-height:1;color:#223042;font-weight:800}.dashboard-log-stat small{font-size:11px;line-height:1.5;color:#8a97aa}.dashboard-log-spotlight{padding:14px;border-radius:18px;background:linear-gradient(135deg,#f8fbff,#eef5ff);border:1px solid rgba(95,119,255,.12);display:grid;gap:8px}.dashboard-log-spotlight.ok{background:linear-gradient(135deg,#f3fcf8,#ecfbf3);border-color:rgba(47,184,134,.16)}.dashboard-log-spotlight.warn{background:linear-gradient(135deg,#fffaf2,#fff4e8);border-color:rgba(221,138,31,.16)}.dashboard-log-spotlight-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.dashboard-log-spotlight-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8a97aa}.dashboard-log-spotlight-room{font-size:15px;font-weight:800;color:#243042}.dashboard-log-spotlight-text{font-size:12px;line-height:1.7;color:#617188}.dashboard-log-panel-feed{min-height:0;height:100%;border-radius:18px;background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid rgba(111,129,161,.1);overflow:hidden}.dashboard-log-modal-feed{height:min(62vh,560px);min-height:320px}.dashboard-bottom-grid .dashboard-energy-card{gap:8px;grid-template-rows:auto minmax(0,1fr) auto;align-content:start;height:auto;min-height:var(--dashboard-board-height);max-height:none;overflow:visible}.dashboard-bottom-grid .dashboard-energy-card .energy-header{gap:8px;align-items:center}.dashboard-bottom-grid .dashboard-energy-actions{gap:8px}.dashboard-bottom-grid .dashboard-energy-actions .panel-link-btn{font-size:11px}.dashboard-bottom-grid .dashboard-energy-toolbar{gap:10px}.dashboard-bottom-grid .dashboard-energy-entity-trigger{padding:10px 12px;gap:2px}.dashboard-bottom-grid .dashboard-energy-entity-trigger strong{font-size:18px}.dashboard-bottom-grid .dashboard-energy-entity-trigger small{font-size:11px;line-height:1.45}.dashboard-bottom-grid .dashboard-energy-body{grid-template-columns:170px minmax(0,1fr);gap:10px;min-height:0;align-items:stretch}.dashboard-bottom-grid .dashboard-energy-highlight{padding:12px;gap:4px;justify-content:center}.dashboard-bottom-grid .dashboard-energy-value{font-size:38px}.dashboard-bottom-grid .dashboard-energy-unit{font-size:14px}.dashboard-bottom-grid .dashboard-energy-highlight p{margin-top:0;font-size:11px}.dashboard-bottom-grid .dashboard-energy-meta{gap:4px;margin-top:4px;font-size:11px}.dashboard-bottom-grid .dashboard-energy-chart{min-height:152px;padding:10px}.dashboard-bottom-grid .dashboard-energy-chart canvas{height:130px}.dashboard-bottom-grid .dashboard-energy-foot,.dashboard-bottom-grid .dashboard-energy-stat-grid{gap:8px}.dashboard-bottom-grid .dashboard-energy-stat{padding:11px 12px;gap:4px}.dashboard-bottom-grid .dashboard-energy-stat strong{font-size:19px}.dashboard-bottom-grid .dashboard-energy-stat small{font-size:10px;line-height:1.35}.dashboard-bottom-grid .dashboard-section-note{display:none}.dashboard-bottom-grid .dashboard-log-card{gap:10px;grid-template-rows:auto auto minmax(0,1fr);display:grid;height:auto;min-height:var(--dashboard-board-height);max-height:none;overflow:visible}.dashboard-bottom-grid .dashboard-log-card .energy-header{align-items:center;flex-wrap:nowrap}.dashboard-bottom-grid .dashboard-log-feed{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:visible}.dashboard-bottom-grid .dashboard-log-card .panel-title,.dashboard-bottom-grid .dashboard-log-stats .panel-link-btn{white-space:nowrap}.dashboard-bottom-grid .dashboard-log-overview{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.dashboard-bottom-grid .dashboard-log-stat{border:1px solid rgba(111,129,161,.1);background:linear-gradient(180deg,#fff,#f7faff);color:inherit;cursor:pointer;display:grid;grid-template-columns:1fr;justify-items:center;text-align:center;gap:2px;min-height:54px;padding:6px 4px;transition:transform .16s,border-color .16s,box-shadow .16s}.dashboard-bottom-grid .dashboard-log-stat:hover{transform:translateY(-1px);border-color:rgba(95,119,255,.24);box-shadow:0 8px 18px rgba(31,42,68,.08)}.dashboard-bottom-grid .dashboard-log-stat span{font-size:9px;line-height:1.1;white-space:nowrap}.dashboard-bottom-grid .dashboard-log-stat strong{font-size:17px;line-height:1;white-space:nowrap}.dashboard-bottom-grid .dashboard-log-stat small{display:block;font-size:9px;line-height:1.1;white-space:nowrap}.dashboard-bottom-grid .dashboard-log-spotlight{padding:12px;gap:6px}.dashboard-bottom-grid .dashboard-log-spotlight-room{font-size:14px}.dashboard-bottom-grid .dashboard-log-spotlight-text{line-height:1.55}.dashboard-bottom-grid .dashboard-log-scroll{padding:10px;flex:1;min-height:0;overflow-y:auto}.dashboard-bottom-grid .dashboard-log-list{gap:6px}.dashboard-bottom-grid .dashboard-log-item{padding:8px 10px;gap:4px}.dashboard-log-scroll{height:100%;padding:14px;overflow:auto}.dashboard-log-list{display:grid;gap:10px}.dashboard-log-item{display:grid;grid-template-columns:auto auto auto minmax(0,1fr);align-items:center;gap:12px;padding:12px 16px;border-radius:12px;border:1px solid rgba(111,129,161,.08);background:rgba(255,255,255,.95);transition:.2s}.dashboard-log-item:hover{background:#fff;transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,0,0,.06);border-color:rgba(111,129,161,.16)}.dashboard-log-item.warn{border-left:4px solid #ef4444;background:linear-gradient(to right,rgba(239,68,68,.03),rgba(255,255,255,.95))}.dashboard-log-item.warn:hover{background:linear-gradient(to right,rgba(239,68,68,.05),#fff)}.dashboard-log-item.info{border-left:4px solid #3b82f6;background:linear-gradient(to right,rgba(59,130,246,.03),rgba(255,255,255,.95))}.dashboard-log-item.info:hover{background:linear-gradient(to right,rgba(59,130,246,.05),#fff)}.dashboard-log-item.ok{border-left:4px solid #10b981;background:linear-gradient(to right,rgba(16,185,129,.03),rgba(255,255,255,.95))}.dashboard-log-item.ok:hover{background:linear-gradient(to right,rgba(16,185,129,.05),#fff)}.dashboard-log-item-line{display:flex;align-items:center;justify-content:space-between;gap:12px}.dashboard-log-time{color:#94a3b8;font-size:12px;font-weight:600;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;white-space:nowrap;min-width:60px}.dashboard-log-source{display:inline-flex;align-items:center;height:22px;padding:0 10px;border-radius:6px;background:#f1f5f9;color:#64748b;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;min-width:50px;justify-content:center}.dashboard-log-room{font-size:13px;font-weight:700;color:#1e293b;display:flex;align-items:center;gap:6px;white-space:nowrap;min-width:80px}.dashboard-log-room::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.5}.dashboard-log-text{font-size:13px;line-height:1.6;color:#475569;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-log-empty{padding:32px 20px;text-align:center;color:#7d8ba0;font-size:14px}@keyframes dashboard-cool-spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes dashboard-light-breathe{0%,100%{transform:scale(1);filter:drop-shadow(0 0 0 rgba(237,164,47,0))}50%{transform:scale(1.12);filter:drop-shadow(0 0 7px rgba(237,164,47,.42))}}@keyframes dashboard-pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.08);opacity:.78}}@keyframes dashboard-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-1px)}}@media (max-width:1500px){.dashboard-room-grid,.dashboard-summary-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:1280px){.app{display:block;padding:16px}.sidebar{position:static;width:auto;min-height:auto;margin-bottom:18px}.brand-copy{display:grid}.nav{grid-template-columns:repeat(3,minmax(0,1fr))}.nav-item{justify-content:flex-start}.nav-item span:last-child{display:inline}.main{display:block}.title-bar{padding:0 0 12px;flex-direction:column;align-items:flex-start}.title-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}.title-meta-panel,.title-metric-strip{width:100%}.title-meta-panel{justify-content:space-between;flex-wrap:wrap}.title-meta-row{flex:1 1 100%;justify-content:space-between;flex-wrap:wrap}.content{padding:8px 0 22px}.dashboard-bottom-grid,.dashboard-energy-body,.dashboard-top-grid{grid-template-columns:1fr}.dashboard-control-stack{grid-template-rows:none;height:auto}.dashboard-bottom-grid .dashboard-energy-card,.dashboard-bottom-grid .dashboard-log-card{height:auto;min-height:auto;max-height:none}.dashboard-bottom-grid .dashboard-section-note{display:block}.dashboard-energy-stat-grid,.dashboard-energy-toolbar{grid-template-columns:1fr}.dashboard-room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-log-card,.dashboard-quick-card,.dashboard-room-board,.dashboard-scene-card{min-height:auto}}@media (max-width:860px){.nav{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar-summary{display:none}.title-refresh,.top-chip,.top-user{width:100%}.title-meta-block,.title-metric-strip{flex-wrap:wrap}.top-status-stack{width:100%;grid-template-columns:1fr 1fr;display:grid}.dashboard-energy-foot,.dashboard-energy-stat-grid,.dashboard-quick-actions,.dashboard-room-grid,.dashboard-suite-pills,.dashboard-summary-strip{grid-template-columns:1fr}.dashboard-quick-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-log-stats{justify-content:flex-start}.dashboard-bottom-grid .dashboard-log-overview,.dashboard-log-overview{grid-template-columns:1fr 1fr}.dashboard-panel-tools{width:100%;justify-content:flex-start}}@media (max-width:640px){.app{padding:12px}.sidebar{padding:12px;border-radius:24px}.brand{padding-inline:4px}.nav{grid-template-columns:1fr}.title-bar h1{font-size:26px}.top-status-stack{grid-template-columns:1fr}.dashboard-summary-strip{grid-template-columns:1fr;padding:12px}.dashboard-summary-tile{grid-template-columns:56px 1fr}.dashboard-energy-card,.dashboard-env-card,.dashboard-log-card,.dashboard-quick-card,.dashboard-room-board,.dashboard-scene-card{padding:16px}.dashboard-bottom-grid .dashboard-log-overview,.dashboard-log-overview{grid-template-columns:1fr}.dashboard-sort-wrap{width:100%;justify-content:space-between}.dashboard-sort-select{min-width:128px;flex:1}.dashboard-gauge{width:170px;height:170px}.dashboard-gauge-center strong{font-size:38px}.dashboard-energy-actions{flex-wrap:wrap}.dashboard-energy-price-popover{right:auto;left:0}.dashboard-energy-toolbar{grid-template-columns:1fr}.dashboard-energy-price-quick{justify-content:flex-start}}body .sidebar{border-radius:28px;background:radial-gradient(circle at top left,rgba(50,128,255,.18),transparent 34%),linear-gradient(180deg,#07131f 0,#0b1c2e 45%,#0e2740 100%)!important;color:#dbe8f7!important;border:1px solid rgba(148,176,211,.14);box-shadow:0 28px 64px rgba(3,10,18,.42)!important}body .sidebar::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.05),transparent 38%);pointer-events:none}body .brand{position:relative;z-index:1;padding:6px 8px 12px}body .brand-mark{box-shadow:0 16px 28px rgba(27,127,255,.28)}body .brand-copy{display:grid;gap:4px;min-width:0;transition:opacity .18s,transform .18s,width .18s}body .brand-sub{letter-spacing:.06em;text-transform:uppercase}body .nav{position:relative;z-index:1;gap:8px}body .nav-item{background:0 0!important;color:rgba(219,232,247,.72)!important}body .nav-item:hover{transform:none!important;background:rgba(255,255,255,.06)!important;color:#fff!important}body .nav-item.active{background:linear-gradient(135deg,rgba(18,141,192,.34),rgba(55,105,255,.34))!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 10px 18px rgba(5,14,24,.18)}body .nav-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 20px}body .nav-label{transition:opacity .18s,transform .18s,width .18s}body .sidebar-collapse{z-index:3;display:inline-flex;align-items:center;justify-content:center;cursor:pointer!important;box-shadow:0 12px 22px rgba(3,10,18,.28);transform:translateY(-50%);transition:background .18s,border-color .18s,transform .18s,box-shadow .18s}body .sidebar-collapse:hover{box-shadow:0 16px 28px rgba(3,10,18,.34);transform:translateY(-50%) scale(1.04)}body.sidebar-collapsed .sidebar{padding:28px 12px;width:96px}body.sidebar-collapsed .brand{justify-content:center}body.sidebar-collapsed .brand-mark{width:46px;height:46px}body.sidebar-collapsed .brand-copy,body.sidebar-collapsed .nav-label{opacity:0;width:0;overflow:hidden;transform:translateX(-8px);pointer-events:none}body.sidebar-collapsed .nav-item{justify-content:center;width:52px;margin:0 auto;padding:0;border-radius:18px}body.sidebar-collapsed .nav{gap:10px}body.sidebar-collapsed .sidebar-collapse{right:-16px}@media (max-width:1024px){body:not(.sidebar-collapsed) .sidebar{width:248px;padding-inline:14px}body:not(.sidebar-collapsed) .brand-copy{display:grid!important}body:not(.sidebar-collapsed) .nav-label{display:inline!important}body:not(.sidebar-collapsed) .nav-item{justify-content:flex-start!important;padding-inline:14px!important}}@media (max-width:640px){body .sidebar{width:auto!important;min-height:0;flex-direction:row;align-items:center;gap:10px;padding:12px!important;border-radius:24px;overflow:auto}body .brand{padding:0 4px 0 0}body .nav{display:flex!important;align-items:center}body .nav-item{min-width:54px}body .sidebar-collapse{position:static;top:auto;right:auto;margin:0 0 0 auto;flex:0 0 auto;transform:none}body .sidebar-collapse:hover{transform:scale(1.04)}body.sidebar-collapsed .brand-copy,body.sidebar-collapsed .nav-label{display:none!important}}body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Segoe UI","Microsoft YaHei",system-ui,sans-serif;background:radial-gradient(circle at top left,rgba(59,130,246,.1),transparent 30%),radial-gradient(circle at right center,rgba(139,92,246,.08),transparent 28%),linear-gradient(180deg,#f2f3f7 0,#eceff4 100%);overflow-x:hidden}body #pageSubtitle,body .room-subnote,body .status-modal-note,body .title-copy p{display:block!important}body .app.shell-app{display:grid;grid-template-columns:232px minmax(0,1fr);align-items:stretch;gap:0}body .sidebar{position:relative;gap:14px;color:var(--text);backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%)}body .sidebar-logo{display:flex;align-items:center}body .sidebar-logo-icon{display:flex;align-items:center;justify-content:center;box-shadow:0 10px 22px rgba(79,70,229,.2)}body .sidebar-logo-text{display:grid}body .sidebar-logo-text-title{letter-spacing:-.02em}body .shell-brand{align-items:flex-start;padding:10px 8px 14px;border-radius:16px;background:rgba(255,255,255,.58);border:1px solid rgba(255,255,255,.6);box-shadow:0 8px 24px rgba(15,23,42,.04)}body .brand-mark{width:36px;height:36px;border-radius:12px;background:linear-gradient(135deg,#111827,#334155);box-shadow:none;font-size:11px;letter-spacing:.08em}body .brand-title{font-size:14px;color:rgba(17,24,39,.88)}body .brand-sub{margin-top:4px;font-size:11px;line-height:1.5;color:rgba(17,24,39,.48);letter-spacing:0;text-transform:none}body .nav-item{gap:10px}body .nav-item.active{box-shadow:none}body .nav-icon{display:inline-flex;align-items:center;justify-content:center}body .sidebar-foot{display:grid;gap:4px}body .shell-main{display:grid;grid-template-rows:auto minmax(0,1fr);background:0 0}body .shell-titlebar{align-items:center;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%)}body .title-bar-left,body .title-bar-right{display:flex;align-items:center;gap:14px}body .title-bar-right{justify-content:flex-end;flex:1;flex-wrap:wrap}body .traffic-lights{display:flex;align-items:center}body .traffic-light{display:block}body .tl-red{background:#ff5f57}body .tl-yellow{background:#febc2e}body .tl-green{background:#28c840}body .page-kicker{text-transform:uppercase;letter-spacing:.12em}body .title-copy p{margin-top:4px;font-size:12px;color:rgba(17,24,39,.48);line-height:1.5}body .top-chip{border-radius:14px;background:rgba(255,255,255,.78);border:1px solid rgba(17,24,39,.06);box-shadow:0 8px 22px rgba(15,23,42,.04)}body .top-chip-icon{width:30px;height:30px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:rgba(59,130,246,.08);color:#2563eb}body .top-chip-time .top-chip-icon{background:rgba(15,23,42,.06);color:rgba(17,24,39,.62)}body .top-chip-copy{display:grid;gap:2px}body .top-chip-copy strong{color:rgba(17,24,39,.88)}body .top-chip-copy span{color:rgba(17,24,39,.48)}body .title-meta-panel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:10px;box-shadow:0 8px 22px rgba(15,23,42,.04)}body .title-meta-block{display:contents}body .title-meta-row,body .top-status-stack{display:contents}body .title-meta-panel .badge,body .title-meta-panel .top-user{display:flex;align-items:center;justify-content:center;gap:10px;min-width:0;min-height:42px;padding:0 14px;border-radius:14px;background:rgba(255,255,255,.92);border:1px solid rgba(17,24,39,.06);box-shadow:none}body .title-meta-panel .badge{width:100%;justify-content:center;padding:0 14px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body .title-meta-panel .top-user{justify-content:space-between}body .title-meta-panel .top-user-copy{display:flex;align-items:center;justify-content:center;flex:1;min-width:0}body .title-meta-panel .top-user-copy strong{font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body .title-meta-panel .top-user-copy span{display:none}body .title-meta-panel .user-chip{min-height:30px;padding:0 10px;background:rgba(17,24,39,.04)}body .title-meta-panel .title-refresh{width:100%;min-height:42px;padding-inline:14px;justify-content:center;box-shadow:none}body .banner{margin:16px auto 0}body #messageBox{width:min(360px,calc(100vw - 24px))}body .status-modal-card{overflow:auto;background:rgba(252,252,253,.96);border:1px solid rgba(255,255,255,.72);box-shadow:0 36px 80px rgba(15,23,42,.2);animation:.26s roomModalIn}@keyframes roomModalIn{from{opacity:0;transform:scale(.975) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}body .status-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid rgba(17,24,39,.06)}body .status-modal-head-copy{display:grid;gap:4px}body .status-modal-kicker{font-size:10px;font-weight:600;color:rgba(17,24,39,.42);text-transform:uppercase;letter-spacing:.14em}body .status-modal-head h3{font-size:22px;font-weight:700;color:rgba(17,24,39,.92);letter-spacing:-.04em}body .status-modal-head p{font-size:12px;color:rgba(17,24,39,.46);line-height:1.55}body .status-modal-close{width:32px;height:32px;border-radius:999px;border:1px solid rgba(17,24,39,.08);background:rgba(255,255,255,.84);color:rgba(17,24,39,.62)}body .status-modal-close:hover{background:#fff}body .status-modal-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}body .status-modal-stat{padding:14px;border-radius:16px;background:#fff;border:1px solid rgba(17,24,39,.06);box-shadow:0 8px 24px rgba(15,23,42,.04)}body .status-modal-stat span{display:block;font-size:11px;color:rgba(17,24,39,.44)}body .status-modal-stat strong{display:block;margin-top:8px;font-size:22px;font-weight:700;letter-spacing:-.04em;color:rgba(17,24,39,.9)}body .status-modal-chart{margin-top:14px;padding:16px;border-radius:18px;background:#fff;border:1px solid rgba(17,24,39,.06);box-shadow:0 8px 24px rgba(15,23,42,.04)}body .status-modal-empty{padding:14px 16px;border-radius:16px;background:rgba(17,24,39,.03);border:1px dashed rgba(17,24,39,.1);font-size:13px;color:rgba(17,24,39,.48)}body .status-modal-toggle{width:42px;height:24px;border-radius:999px;border:1px solid rgba(17,24,39,.1);background:#e5e7eb}body .status-modal-toggle::after{top:2px;left:2px;width:18px;height:18px}body .status-modal-toggle.on::after{transform:translateX(18px)}body .room-command-modal{display:grid;gap:16px}body .room-command-overview{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:14px}body .room-command-hero{padding:18px 20px;border-radius:22px;background:radial-gradient(circle at top right,rgba(96,165,250,.18),transparent 32%),linear-gradient(135deg,#fff 0,#f5f7fb 100%);border:1px solid rgba(17,24,39,.06);box-shadow:0 12px 30px rgba(15,23,42,.05)}body .room-command-kicker{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:999px;background:rgba(59,130,246,.08);color:#2563eb;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}body .room-command-title{margin-top:12px}body .room-command-title strong{display:block;font-size:30px;line-height:1.05;font-weight:700;color:rgba(17,24,39,.92);letter-spacing:-.05em}body .room-command-title span{display:block;margin-top:8px;font-size:12px;color:rgba(17,24,39,.46)}body .room-command-description{margin-top:14px;font-size:13px;line-height:1.7;color:rgba(17,24,39,.56)}body .room-command-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}body .room-command-badge{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.78);border:1px solid rgba(17,24,39,.06);font-size:11px;font-weight:600;color:rgba(17,24,39,.62)}body .room-command-quickstats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}body .room-command-quickstat{padding:16px;border-radius:18px;background:rgba(255,255,255,.84);border:1px solid rgba(17,24,39,.06);box-shadow:0 10px 26px rgba(15,23,42,.04)}body .room-command-quickstat span{display:block;font-size:11px;color:rgba(17,24,39,.44)}body .room-command-quickstat strong{display:block;margin-top:10px;font-size:26px;font-weight:700;line-height:1.05;color:rgba(17,24,39,.9);letter-spacing:-.04em}body .room-command-quickstat small{font-size:13px;font-weight:500;color:rgba(17,24,39,.42)}body .room-command-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;align-items:start}body .room-device-card{grid-column:span 4;display:grid;gap:12px;padding:16px;border-radius:20px;background:rgba(255,255,255,.88);border:1px solid rgba(17,24,39,.06);box-shadow:0 12px 30px rgba(15,23,42,.04)}body .room-device-card.wide{grid-column:span 6}body .room-device-card-computers{background:radial-gradient(circle at top right,rgba(59,130,246,.1),transparent 32%),linear-gradient(180deg,#fff 0,#f7f9fc 100%)}body .room-device-card.ac-cool{background:linear-gradient(180deg,#f7fbff 0,#edf5ff 100%);border-color:rgba(59,130,246,.14)}body .room-device-card.ac-heat{background:linear-gradient(180deg,#fffaf4 0,#fff2e7 100%);border-color:rgba(245,158,11,.16)}body .room-device-card.ac-dry,body .room-device-card.fresh-on{background:linear-gradient(180deg,#f3fffb 0,#eafbf6 100%);border-color:rgba(16,185,129,.16)}body .room-device-card.light-on{background:linear-gradient(180deg,#fffaf3 0,#fff5e8 100%);border-color:rgba(245,158,11,.16)}body .room-device-card.offline{opacity:.78}body .room-device-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}body .room-device-copy{display:flex;align-items:flex-start;gap:10px;min-width:0}body .room-device-icon{width:34px;height:34px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.86);border:1px solid rgba(17,24,39,.06);font-size:16px;box-shadow:0 8px 20px rgba(15,23,42,.04)}body .room-device-copy h4{margin:0;font-size:15px;font-weight:700;color:rgba(17,24,39,.92)}body .room-device-copy p{margin-top:4px;font-size:12px;line-height:1.6;color:rgba(17,24,39,.48)}body .room-device-panel{display:grid;gap:12px}body .room-terminal-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}body .room-terminal-stat{padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.76);border:1px solid rgba(17,24,39,.06)}body .room-terminal-stat span{display:block;font-size:11px;color:rgba(17,24,39,.42)}body .room-terminal-stat strong{display:block;margin-top:8px;font-size:20px;font-weight:700;letter-spacing:-.04em}body .room-computer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}body .room-computer-card{display:grid;gap:10px;padding:14px;border-radius:16px;border:1px solid rgba(17,24,39,.06);background:rgba(255,255,255,.9)}body .room-computer-card.online{border-color:rgba(16,185,129,.18);background:linear-gradient(180deg,#f6fffb 0,#effcf6 100%)}body .room-computer-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}body .room-computer-identity strong{display:block;font-size:14px;font-weight:700;color:rgba(17,24,39,.9)}body .room-computer-identity span{display:block;margin-top:5px;font-size:11px;line-height:1.5;color:rgba(17,24,39,.42);word-break:break-all}body .room-computer-meta{padding:10px 12px;border-radius:14px;background:rgba(17,24,39,.03);border:1px solid rgba(17,24,39,.05)}body .room-computer-meta span{display:block;font-size:10px;color:rgba(17,24,39,.42);text-transform:uppercase;letter-spacing:.1em}body .room-computer-meta strong{display:block;margin-top:6px;font-size:13px;line-height:1.5;word-break:break-all}body .room-device-pills{display:flex;flex-wrap:wrap;gap:8px}body .room-device-pill{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:999px;background:rgba(255,255,255,.86);border:1px solid rgba(17,24,39,.06);font-size:11px;font-weight:600;color:rgba(17,24,39,.6)}body .room-device-actions{display:flex;flex-wrap:wrap;gap:8px}body .room-device-selects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}body .room-device-field,body .room-device-selects .field,body .room-inline-range{padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.72);border:1px solid rgba(17,24,39,.06)}body .room-device-field label,body .room-device-selects .field label,body .room-inline-range label{display:block;margin-bottom:8px;font-size:11px;color:rgba(17,24,39,.44)}body .room-inline-range{display:grid;gap:8px}body .temperature-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:18px;background:rgba(255,255,255,.72);border:1px solid rgba(17,24,39,.06)}body .temp-btn{width:38px;height:38px;border-radius:999px;background:#fff;box-shadow:none}body .room-control-summary{display:grid;gap:2px;text-align:center;flex:1}body .room-control-summary span{font-size:11px;color:rgba(17,24,39,.42)}body .room-control-summary strong{font-size:22px;font-weight:700;letter-spacing:-.04em}body .room-light-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;max-height:none;overflow:visible}body .room-light-item{display:grid;gap:10px;padding:14px;border-radius:16px;background:rgba(255,255,255,.88);border:1px solid rgba(17,24,39,.06)}body .room-light-item.on{background:linear-gradient(180deg,#fffaf3 0,#fff6eb 100%);border-color:rgba(245,158,11,.16)}body .room-light-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}body .room-light-title strong{display:block;font-size:13px;font-weight:700;color:rgba(17,24,39,.9)}body .room-light-title span{display:block;margin-top:4px;font-size:11px;line-height:1.55;color:rgba(17,24,39,.46);word-break:break-all}body .room-subnote{padding:12px 14px;border-radius:16px;background:rgba(17,24,39,.03);border:1px dashed rgba(17,24,39,.08);font-size:11px;line-height:1.6;color:rgba(17,24,39,.46)}body .mini-action{min-height:34px;border-radius:12px}body .icon-action{min-width:34px;min-height:34px;border-radius:12px}body .badge{min-height:28px;padding:0 10px;border-radius:999px;font-size:11px}body .sidebar-collapse{box-shadow:0 12px 24px rgba(15,23,42,.1)}body .sidebar-collapse:hover{background:#fff!important;box-shadow:0 14px 26px rgba(15,23,42,.14)}@media (max-width:1180px){body .room-command-overview{grid-template-columns:1fr}body .room-device-card{grid-column:span 6}body .room-device-card.wide{grid-column:span 12}}@media (max-width:860px){body .shell-titlebar{align-items:flex-start}body .title-bar-left,body .title-bar-right{width:100%;justify-content:space-between;flex-wrap:wrap}body .title-meta-panel{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}body .room-command-grid{grid-template-columns:1fr}body .room-device-card,body .room-device-card.wide{grid-column:1}body .room-device-selects,body .room-terminal-stats,body .status-modal-meta{grid-template-columns:1fr}}@media (max-width:640px){body .title-meta-panel{grid-template-columns:1fr}body .sidebar{width:auto!important;padding:12px!important;border-right:none;border-bottom:1px solid rgba(17,24,39,.06)}body .sidebar-logo{display:none}body .shell-brand{min-width:max-content;padding:8px 10px}body .content{padding:14px 14px 24px}body .banner{width:calc(100% - 28px)}body .status-modal{padding:10px}body .status-modal-card{width:calc(100vw - 20px);max-height:calc(100vh - 20px);padding:14px;border-radius:20px}body .status-modal-head h3{font-size:18px}body .room-command-title strong{font-size:24px}body .room-command-quickstats,body .room-computer-grid,body .room-light-list{grid-template-columns:1fr}body .temperature-controls{padding-inline:10px}}.ref-settings-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;width:100%;max-width:var(--page-max);margin:0 auto}#page-settings{padding-top:0!important}.ref-settings-topbar{position:sticky;top:0;z-index:100;width:calc(100% + (var(--viewport-shell-pad-x) * 2));margin-left:calc(var(--viewport-shell-pad-x) * -1);margin-right:calc(var(--viewport-shell-pad-x) * -1);padding:16px var(--viewport-shell-pad-x);background:rgba(255,255,255,.85);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border-bottom:1px solid rgba(0,0,0,.05);box-shadow:0 4px 20px -5px rgba(0,0,0,.03);margin-bottom:24px;border-radius:0;display:flex;justify-content:center}.ref-settings-menu{display:flex;align-items:center;gap:6px;padding:4px;background:rgba(0,0,0,.03);border-radius:14px;overflow-x:auto;scrollbar-width:none;max-width:100%}.ref-settings-menu::-webkit-scrollbar{display:none}.ref-settings-menu-btn{position:relative;height:38px;padding:0 16px;display:flex;align-items:center;gap:8px;border:none;border-radius:10px;background:0 0;color:rgba(0,0,0,.5);font-size:13.5px;font-weight:600;white-space:nowrap;cursor:pointer;transition:.25s cubic-bezier(.4, 0, .2, 1)}.ref-settings-menu-btn:hover{color:rgba(0,0,0,.8);background:rgba(0,0,0,.04)}.ref-settings-menu-btn.active{color:#3b82f6;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.02)}.ref-settings-menu-icon{font-size:15px;filter:grayscale(1) opacity(.6);transition:.2s}.ref-settings-menu-btn.active .ref-settings-menu-icon{filter:grayscale(0) opacity(1);transform:scale(1.1)}[data-theme=dark] .ref-settings-topbar{background:rgba(15,23,42,.8);border-bottom-color:rgba(255,255,255,.05)}[data-theme=dark] .ref-settings-menu{background:rgba(255,255,255,.05)}[data-theme=dark] .ref-settings-menu-btn.active{box-shadow:0 4px 12px rgba(0,0,0,.2)}.ref-settings-content{min-width:0;display:grid;gap:16px}.ref-settings-page{display:grid;gap:16px;animation:.22s forwards fadeSlideIn}.notify-page{display:grid;gap:16px}.ref-settings-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:nowrap}.ref-settings-header-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.ref-settings-header-extra{display:flex;align-items:center}.ref-settings-header .sc-title{font-size:13px;font-weight:700;color:rgba(29,29,43,.82);white-space:nowrap}[data-theme=dark] .ref-settings-header .sc-title{color:#f1f5f9!important}.ref-settings-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.ref-settings-actions .btn{min-height:38px;padding:0 15px;font-weight:700}.ref-settings-actions .btn-secondary{background:linear-gradient(180deg,#eef4ff,#d4e3ff);color:#183b8c;border:1px solid rgba(37,99,235,.28);box-shadow:0 12px 20px rgba(59,130,246,.14)}.ref-settings-actions .btn-primary{background:linear-gradient(135deg,#0b7c79,#1d4ed8);box-shadow:0 14px 24px rgba(29,78,216,.26)}.notify-header-pills{display:flex;flex-wrap:nowrap;gap:8px}.ref-settings-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.ref-settings-stat{padding:16px;border-radius:16px;border:1px solid rgba(17,24,39,.05);background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 8px 20px rgba(20,35,60,.04)}.ref-settings-stat.blue{background:linear-gradient(180deg,#f4f7ff,#edf3ff)}.ref-settings-stat.mint{background:linear-gradient(180deg,#f2fcf7,#ebfaf1)}.ref-settings-stat.amber{background:linear-gradient(180deg,#fff9ef,#fff2df)}.ref-settings-stat span{display:block;font-size:11px;color:rgba(29,29,43,.42)}.ref-settings-stat strong{display:block;margin-top:8px;font-size:18px;line-height:1.35;font-weight:700;color:#1d1d2b;overflow-wrap:anywhere}.ref-settings-card{border-radius:18px;border:1px solid rgba(17,24,39,.05);background:#fff;box-shadow:0 14px 28px rgba(20,35,60,.05);overflow:hidden}.notify-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.notify-card{min-width:0}.notify-card-span-2{grid-column:1/-1}.notify-card-body{display:grid;gap:12px;padding:16px 20px 20px}.notify-strip{display:grid;gap:10px;padding:12px 20px 16px}.notify-summary{font-size:11px;line-height:1.55;color:rgba(29,29,43,.52)}.notify-strip-pills{display:flex;flex-wrap:wrap;gap:8px}.notify-preview-text{margin:14px 20px 20px;padding:16px 18px;border-radius:14px;background:#f8fafc;border:1px solid rgba(17,24,39,.06);white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:1.7;color:#1d1d2b}.notify-qr-wrap{display:flex;justify-content:center;padding:16px 20px 0}.notify-qr-image{width:min(220px,100%);aspect-ratio:1/1;object-fit:contain;border-radius:14px;background:#fff;padding:10px;border:1px solid rgba(148,163,184,.25);box-shadow:0 10px 24px rgba(15,23,42,.08)}.notify-divider{height:1px;background:rgba(17,24,39,.08)}.ref-settings-block-title{padding:18px 20px 0;font-size:13px;font-weight:700;color:rgba(29,29,43,.8)}.ref-setting-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 20px;border-bottom:1px solid rgba(17,24,39,.04)}.ref-setting-row:last-child{border-bottom:none}.ref-setting-row.align-start{align-items:flex-start}.ref-setting-row.tight{padding-block:14px}.ref-setting-row.is-hidden{display:none}.ref-setting-copy{flex:1 1 auto;min-width:0}.ref-setting-label{font-size:13px;font-weight:600;color:rgba(29,29,43,.78)}.ref-setting-desc{margin-top:4px;font-size:11px;line-height:1.6;color:rgba(29,29,43,.44)}.ref-setting-control{flex:0 0 auto;min-width:min(520px,56%);display:flex;justify-content:flex-end}.ref-linkage-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.ref-setting-pair-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.ref-setting-pair-grid .ref-setting-row{min-width:0}.ref-input{width:100%;min-height:40px;padding:9px 12px;background:#fff;border:1.5px solid #d1d5db;border-radius:10px;color:#000!important;font-size:14px;font-weight:600;outline:0;transition:border-color .18s,box-shadow .18s;-webkit-appearance:none;appearance:none}select.ref-input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%234b5563'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:36px}.ref-input::placeholder{color:#9ca3af}.ref-input:focus{border-color:#93c5fd;box-shadow:0 0 0 3px rgba(59,130,246,.12)}.ref-input-sm{width:auto;min-width:112px}.ref-textarea{min-height:92px;resize:vertical;line-height:1.6}.ref-switch{position:relative;display:inline-flex;align-items:center;width:44px;height:24px}.ref-switch input{position:absolute;inset:0;opacity:0;cursor:pointer}.ref-switch span{width:44px;height:24px;border-radius:999px;background:#d9dde5;transition:background .2s}.ref-switch span::after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.16);transition:transform .2s}.ref-switch input:checked+span{background:#34c759}.ref-switch input:checked+span::after{transform:translateX(20px)}.ref-pill{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;background:#f3f4f6;color:rgba(29,29,43,.62);font-size:12px;font-weight:600;max-width:100%}.ref-pill.blue{background:#eff6ff;color:#2563eb}.ref-pill.mint{background:#ecfdf5;color:#0f8f5c}.ref-pill.amber{background:#fff7ed;color:#d97706}.ref-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}.ref-choice-grid.wide{grid-template-columns:repeat(3,minmax(0,1fr));padding:16px 20px 20px}.ref-choice-card{position:relative;display:flex;align-items:flex-start;gap:10px;padding:12px;border-radius:14px;background:#f8fafc;border:1px solid rgba(17,24,39,.06);cursor:pointer}.ref-choice-card input{margin-top:3px}.ref-choice-card strong{display:block;font-size:12px;font-weight:700;color:#1d1d2b}.ref-choice-card span{display:block;margin-top:5px;font-size:11px;line-height:1.5;color:rgba(29,29,43,.44);overflow-wrap:anywhere}.ref-inline-stack{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.ref-inline-check{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 10px;border-radius:10px;background:#f3f4f6;color:rgba(29,29,43,.66);font-size:12px;font-weight:600}.ref-button-row{gap:10px;flex-wrap:wrap}.ref-note{font-size:11px;line-height:1.6;color:rgba(29,29,43,.42)}.ref-note-prewrap{white-space:pre-wrap;word-break:break-word}.ref-match-trigger{width:100%;border:1px solid rgba(17,24,39,.08);border-radius:16px;background:linear-gradient(180deg,#fbfcfe,#f4f7fb);padding:12px 14px;display:grid;gap:6px;text-align:left;cursor:pointer;transition:transform .16s,border-color .16s,box-shadow .16s}.ref-match-trigger:hover{transform:translateY(-1px);border-color:rgba(37,99,235,.18);box-shadow:0 12px 24px rgba(37,99,235,.1)}.ref-match-trigger strong{font-size:13px;color:#1d1d2b}.ref-match-trigger span{font-size:11px;line-height:1.5;color:rgba(29,29,43,.46)}.ref-match-trigger.is-empty,.ref-match-trigger:disabled{cursor:not-allowed;box-shadow:none;transform:none;opacity:.82}.ref-settings-chip-row{width:100%;display:flex;flex-wrap:wrap;gap:10px}.ref-settings-chip{display:grid;gap:4px;min-width:160px;padding:10px 12px;border-radius:14px;background:#f8fafc;border:1px solid rgba(17,24,39,.06)}.ref-settings-chip strong{font-size:12px;color:#1d1d2b}.ref-settings-chip small{font-size:11px;color:rgba(29,29,43,.46);overflow-wrap:anywhere}.ref-preview-copy{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px 0;font-size:11px;color:rgba(29,29,43,.46)}.ref-preview-copy strong{font-size:12px;color:#1d1d2b}.ref-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px 20px 20px}.ref-preview-card{display:grid;gap:6px;padding:14px;border-radius:16px;border:1px solid rgba(17,24,39,.06);background:linear-gradient(180deg,#fbfcfe,#f4f7fb)}.ref-preview-card strong{font-size:12px;color:#1d1d2b}.ref-preview-card span{font-size:11px;line-height:1.5;color:rgba(29,29,43,.46);overflow-wrap:anywhere}.ref-preview-empty{grid-column:1/-1;padding:14px;border-radius:14px;background:#f8fafc;color:rgba(29,29,43,.46);font-size:12px}.ref-helper{padding-inline:4px}.ref-theme-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.ref-theme-card{border:2px solid #eef0f4;border-radius:18px;padding:16px;text-align:left;background:#fff;box-shadow:0 12px 24px rgba(20,35,60,.05);transition:border-color .18s,transform .18s,box-shadow .18s}.ref-theme-card:hover{transform:translateY(-2px)}.ref-theme-card.active{border-color:#3b82f6;box-shadow:0 18px 32px rgba(59,130,246,.12)}.ref-theme-preview{width:100%;height:88px;border-radius:12px;border:1px solid rgba(17,24,39,.06)}.ref-theme-preview.light{background:linear-gradient(180deg,#fff,#f4f6f8)}.ref-theme-preview.dark{background:linear-gradient(180deg,#1e293b,#0f172a)}.ref-theme-preview.ocean{background:linear-gradient(135deg,#e0f2fe,#baf3ee 45%,#dbeafe)}.ref-theme-name{margin-top:12px;font-size:13px;font-weight:700;color:#1d1d2b}.ref-theme-desc{margin-top:5px;font-size:11px;line-height:1.6;color:rgba(29,29,43,.44)}.ref-about-card{display:grid;justify-items:center;gap:8px;padding:30px 20px;border-radius:20px;border:1px solid rgba(17,24,39,.05);background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 16px 32px rgba(20,35,60,.05)}.ref-about-logo{width:72px;height:72px;display:flex;align-items:center;justify-content:center;border-radius:18px;background:linear-gradient(135deg,#3b82f6,#6366f1);color:#fff;font-size:24px;font-weight:800;box-shadow:0 12px 24px rgba(59,130,246,.18)}.ref-about-name{font-size:18px;font-weight:800;color:#1d1d2b}.ref-about-sub,.ref-about-ver{font-size:12px;color:rgba(29,29,43,.5)}[data-theme=dark] .ref-about-card,[data-theme=dark] .ref-settings-card,[data-theme=dark] .ref-settings-nav,[data-theme=dark] .ref-theme-card,[data-theme=tech] .ref-about-card,[data-theme=tech] .ref-settings-card,[data-theme=tech] .ref-settings-nav,[data-theme=tech] .ref-theme-card{background:rgba(23,32,51,.94);border-color:rgba(148,163,184,.12);box-shadow:none}[data-theme=dark] .ref-about-name,[data-theme=dark] .ref-choice-card strong,[data-theme=dark] .ref-match-trigger strong,[data-theme=dark] .ref-preview-card strong,[data-theme=dark] .ref-preview-copy strong,[data-theme=dark] .ref-setting-label,[data-theme=dark] .ref-settings-chip strong,[data-theme=dark] .ref-settings-nav-head strong,[data-theme=dark] .ref-settings-stat strong,[data-theme=dark] .ref-theme-name,[data-theme=tech] .ref-about-name,[data-theme=tech] .ref-choice-card strong,[data-theme=tech] .ref-match-trigger strong,[data-theme=tech] .ref-preview-card strong,[data-theme=tech] .ref-preview-copy strong,[data-theme=tech] .ref-setting-label,[data-theme=tech] .ref-settings-chip strong,[data-theme=tech] .ref-settings-nav-head strong,[data-theme=tech] .ref-settings-stat strong,[data-theme=tech] .ref-theme-name{color:#e2e8f0}[data-theme=dark] .ref-about-sub,[data-theme=dark] .ref-about-ver,[data-theme=dark] .ref-choice-card span,[data-theme=dark] .ref-match-trigger span,[data-theme=dark] .ref-note,[data-theme=dark] .ref-preview-card span,[data-theme=dark] .ref-preview-copy,[data-theme=dark] .ref-preview-empty,[data-theme=dark] .ref-setting-desc,[data-theme=dark] .ref-settings-chip small,[data-theme=dark] .ref-settings-nav-head span,[data-theme=dark] .ref-settings-stat span,[data-theme=dark] .ref-theme-desc,[data-theme=tech] .ref-about-sub,[data-theme=tech] .ref-about-ver,[data-theme=tech] .ref-choice-card span,[data-theme=tech] .ref-match-trigger span,[data-theme=tech] .ref-note,[data-theme=tech] .ref-preview-card span,[data-theme=tech] .ref-preview-copy,[data-theme=tech] .ref-preview-empty,[data-theme=tech] .ref-setting-desc,[data-theme=tech] .ref-settings-chip small,[data-theme=tech] .ref-settings-nav-head span,[data-theme=tech] .ref-settings-stat span,[data-theme=tech] .ref-theme-desc{color:#94a3b8}[data-theme=dark] .ref-settings-menu-btn,[data-theme=tech] .ref-settings-menu-btn{color:#94a3b8;background:rgba(15,23,42,.72);border-color:rgba(148,163,184,.12)}[data-theme=dark] .ref-settings-menu-btn:hover,[data-theme=tech] .ref-settings-menu-btn:hover{background:rgba(148,163,184,.08);color:#e2e8f0}[data-theme=dark] .ref-settings-menu-btn.active,[data-theme=tech] .ref-settings-menu-btn.active{background:rgba(59,130,246,.18);color:#93c5fd}[data-theme=dark] .ref-choice-card,[data-theme=dark] .ref-inline-check,[data-theme=dark] .ref-match-trigger,[data-theme=dark] .ref-preview-card,[data-theme=dark] .ref-preview-empty,[data-theme=dark] .ref-settings-chip,[data-theme=dark] .ref-settings-stat,[data-theme=tech] .ref-choice-card,[data-theme=tech] .ref-inline-check,[data-theme=tech] .ref-match-trigger,[data-theme=tech] .ref-preview-card,[data-theme=tech] .ref-preview-empty,[data-theme=tech] .ref-settings-chip,[data-theme=tech] .ref-settings-stat{background:rgba(15,23,42,.72);border-color:rgba(148,163,184,.12)}[data-theme=dark] .ref-input,[data-theme=dark] .ref-pill,[data-theme=tech] .ref-input,[data-theme=tech] .ref-pill{background:rgba(15,23,42,.72);border-color:rgba(148,163,184,.14);color:#f3f4f6}@media (max-width:1200px){.ref-settings-topbar{padding:14px 14px 12px}.ref-settings-menu{overflow:auto;padding-bottom:4px;flex-wrap:nowrap}.ref-settings-menu-btn{flex:0 0 auto}}@media (max-width:900px){.notify-layout,.ref-linkage-grid{grid-template-columns:1fr}.notify-card-span-2{grid-column:auto}.ref-setting-pair-grid{grid-template-columns:1fr}.ref-settings-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.ref-setting-row{flex-direction:column;align-items:flex-start}.ref-setting-control{width:100%;min-width:0}.ref-choice-grid,.ref-choice-grid.wide,.ref-preview-grid,.ref-theme-grid{grid-template-columns:1fr}.ref-settings-header{flex-direction:column}.ref-settings-actions{justify-content:flex-start}.ref-settings-actions .btn{flex:1 1 160px}.notify-header-pills{margin-top:0}}@media (max-width:640px){.ref-settings-stats{grid-template-columns:1fr}.ref-settings-topbar{padding:14px 12px}.ref-settings-card{border-radius:16px}.ref-setting-row{padding:14px 16px}.notify-card-body{padding:14px 16px 16px}.notify-strip{padding:10px 16px 14px}.notify-preview-text{margin:14px 16px 16px;padding:14px}.notify-qr-wrap{padding:14px 16px 0}}.ref-device-page{display:grid;gap:16px}.ref-ac-grid,.ref-fan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:16px}.ref-light-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}.sample-light-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.sample-light-page .section-title{margin-bottom:8px}.sample-light-overview,.sample-light-page .chip-list{display:none}.sample-light-filter-shell .list-filter-bar{margin-top:0;margin-bottom:2px;padding:0;border:none;background:0 0;box-shadow:none}.sample-light-filter-shell .field{gap:6px}.sample-light-filter-shell .field label{font-size:11px;color:var(--text-muted);font-weight:600}.sample-light-filter-shell .field input{padding:8px 14px;border:1px solid var(--border);border-radius:var(--radius-xs);font-size:12px;background:var(--bg-white);color:var(--text-primary);outline:0;transition:border-color .2s,box-shadow .2s}.sample-light-filter-shell .field input::placeholder{color:var(--text-muted)}.sample-light-filter-shell .field input:focus{border-color:var(--accent-light);box-shadow:0 0 0 3px rgba(108,92,231,.08)}.sample-light-filter-shell .list-filter-note{font-size:11px;color:var(--text-muted)}.sample-light-card{padding:20px;background:#fff;border-radius:24px;border:1px solid rgba(15,23,42,.08);display:flex;flex-direction:column;gap:16px;transition:.3s cubic-bezier(.4, 0, .2, 1);cursor:pointer;position:relative;overflow:hidden;box-shadow:0 4px 12px rgba(15,23,42,.03)}.sample-light-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px -12px rgba(15,23,42,.12);border-color:rgba(37,99,235,.1)}.sample-light-card.on{background:#fffdf5;border-color:rgba(245,158,11,.1)}.sample-light-card.offline{opacity:.6;filter:grayscale(1)}.sample-light-card-header{display:flex;justify-content:space-between;align-items:center;width:100%}.sample-light-card-name{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:700;color:#0f172a}.sample-light-card.on .sample-light-card-dot{background:#f59e0b;box-shadow:0 0 10px rgba(245,158,11,.5)}.sample-light-card-toggle{cursor:pointer;flex-shrink:0}.sample-light-card-toggle::after{content:'';box-shadow:0 2px 4px rgba(0,0,0,.1)}.sample-light-card-body{display:flex;flex-direction:column;gap:4px}.sample-light-card-state{font-size:18px;font-weight:800;color:#1e293b}.sample-light-card.on .sample-light-card-state{color:#b45309}.sample-light-card-info{font-size:12px;color:#94a3b8;font-weight:500}.sample-light-type-btns{display:flex;gap:4px;margin-top:8px;flex-wrap:wrap}.sample-light-type-btn{padding:3px 9px;border-radius:var(--radius-xs);font-size:10px;cursor:pointer;border:1px solid #e8eaf2;background:#fff;color:#9499b3;transition:.2s;font-weight:500}.sample-light-type-btn:hover{border-color:#a29bfe;color:#6c5ce7}.sample-light-type-btn.active{background:linear-gradient(135deg,#e67e22,#f0a500);color:#fff;border-color:transparent}.sample-light-slider-wrap{margin-top:10px;padding:10px 12px;border-radius:12px;background:#f8f9fc;border:1px solid #f0f1f7}.sample-light-slider-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;font-size:11px;color:#5c6077}.sample-light-slider-head strong{color:#1a1d2e;font-size:12px}.sample-light-log-btn{margin-top:8px;font-size:11px;color:#6c5ce7;cursor:pointer;transition:color .2s;border:none;background:0 0;padding:0}.sample-light-log-btn:hover{color:#a29bfe}.light-entity-card{padding:14px;border:1px solid rgba(17,24,39,.05);box-shadow:0 10px 24px rgba(15,23,42,.05)}.light-entity-card.on{background:linear-gradient(135deg,#fff8eb,#fffdf8);box-shadow:0 12px 28px rgba(245,158,11,.1)}.light-entity-card.offline{opacity:.76}.light-entity-card .sample-light-card-header{margin-bottom:0;align-items:center}.light-entity-card .sample-light-card-name{flex:1 1 auto;display:flex;align-items:flex-start;gap:8px;min-width:0}.sample-light-card-dot{width:8px;height:8px;margin-top:5px;border-radius:50%;flex-shrink:0;background:#d1d5db}.sample-light-card-dot.on{background:#f59e0b;box-shadow:0 0 0 5px rgba(245,158,11,.14),0 0 10px rgba(245,158,11,.34)}.sample-light-card-dot.off{background:#cbd5e1}.sample-light-card-dot.offline{background:#94a3b8}.sample-light-card-toggle{position:relative;width:44px;height:24px;border:none;border-radius:999px;background:#dfe4ea;flex-shrink:0;transition:background .22s,box-shadow .22s}.sample-light-card-toggle::after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(15,23,42,.18);transition:transform .22s}.sample-light-card-toggle.on{background:#34c759;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}.sample-light-card-toggle.on::after{transform:translateX(20px)}.sample-light-card-toggle:disabled{cursor:not-allowed;opacity:.7}.sample-light-chip-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:8px}.sample-light-chip{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:7px;background:#fff;border:1px solid rgba(226,232,240,.9);font-size:10px;font-weight:600;color:#6b7280}.sample-light-chip.room{background:#f8fafc}.light-entity-card .sample-light-card-info{margin:4px 0}.light-entity-card .sample-light-card-foot,.light-entity-card .sample-light-card-hint,.light-entity-card .sample-light-card-info,.light-entity-card .sample-light-card-link,.light-entity-card-glow{display:none}.sample-light-slider-wrap.entity{margin-top:10px}.brightness-slider{width:100%;height:6px;border-radius:999px;-webkit-appearance:none;appearance:none;background:#e5e7eb;outline:0;cursor:pointer}.brightness-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:#f59e0b;box-shadow:0 1px 3px rgba(0,0,0,.2);cursor:pointer}.sample-light-color-wrap{margin-top:10px;padding-top:10px;border-top:1px solid rgba(241,245,249,.95)}.color-temp-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.ct-btn{padding:4px 10px;border-radius:6px;font-size:11px;font-weight:500;background:#fff;color:#6b7280;border:1px solid #e5e7eb;transition:.15s}.ct-btn:hover{border-color:#fbbf24;color:#d97706}.ct-btn.active{background:#f59e0b;color:#fff;border-color:#f59e0b;box-shadow:0 4px 12px rgba(245,158,11,.18)}.sample-light-slider-head strong.tone-warm{color:#d97706}.sample-light-slider-head strong.tone-neutral{color:#475569}.sample-light-slider-head strong.tone-cool{color:#2563eb}.sample-light-inline-note{margin-top:10px;font-size:11px;color:#94a3b8}.ref-device-card{--ref-card-accent:rgba(59,130,246,.08);position:relative;overflow:hidden;padding:0;border-radius:24px;border:1px solid rgba(17,24,39,.06);background:#fff;box-shadow:0 18px 36px rgba(15,23,42,.08);animation:.48s cubic-bezier(.2,.8,.2,1) both refCardEnter;animation-delay:calc(var(--stagger,0) * 55ms);transition:transform .24s,box-shadow .24s}.ref-device-card::after{content:"";position:absolute;right:-54px;bottom:-64px;width:180px;height:180px;border-radius:50%;background:var(--ref-card-accent);filter:blur(10px);opacity:.9;transition:transform .24s,opacity .24s}.ref-device-card:hover{transform:translateY(-4px);box-shadow:0 24px 48px rgba(15,23,42,.12)}.ref-device-card:hover::after{transform:scale(1.08)}.ref-ac-card{--ref-card-accent:rgba(59,130,246,.10)}.ref-ac-card.state-heat{--ref-card-accent:rgba(245,158,11,.12)}.ref-ac-card.state-dry{--ref-card-accent:rgba(20,184,166,.10)}.ref-ac-card.state-off,.ref-ac-card.state-offline{--ref-card-accent:rgba(148,163,184,.12)}.ref-ac-card::before{content:""}.ref-light-card{--ref-card-accent:rgba(245,158,11,.10)}.ref-light-card.tone-cool{--ref-card-accent:rgba(59,130,246,.08)}.ref-light-card.tone-sleep{--ref-card-accent:rgba(148,163,184,.08)}.ref-fan-card{--ref-card-accent:rgba(16,185,129,.10)}.ref-card-header{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:16px 18px 14px}.ref-ac-card-header{overflow:hidden;background:linear-gradient(135deg,#374151,#1f2937);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),inset 0 -1px 0 rgba(255,255,255,.03)}.ref-ac-card.state-cool .ref-ac-card-header{background:linear-gradient(135deg,#11315f,#172554 72%)}.ref-ac-card.state-heat .ref-ac-card-header{background:linear-gradient(135deg,#6c1f1f,#431407 72%)}.ref-ac-card.state-dry .ref-ac-card-header{background:linear-gradient(135deg,#115e59,#134e4a 72%)}.ref-ac-card.state-off .ref-ac-card-header,.ref-ac-card.state-offline .ref-ac-card-header{background:linear-gradient(135deg,#475569,#334155 72%)}.ref-ac-card-header::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .28s,transform .28s}.ref-ac-card.is-running .ref-ac-card-header::before{opacity:1}.ref-ac-card.state-cool .ref-ac-card-header::before{background:linear-gradient(115deg,rgba(191,219,254,.02) 12%,rgba(125,211,252,.26) 34%,rgba(255,255,255,0) 54%);background-size:220% 220%;animation:5.4s linear infinite refAcHeaderSweep}.ref-ac-card.state-heat .ref-ac-card-header::before{background:linear-gradient(115deg,rgba(254,202,202,.02) 12%,rgba(253,186,116,.22) 34%,rgba(255,255,255,0) 56%);background-size:220% 220%;animation:4.2s linear infinite refAcHeaderSweep}.ref-ac-card.state-dry .ref-ac-card-header::before{background:linear-gradient(115deg,rgba(153,246,228,.02) 12%,rgba(45,212,191,.2) 34%,rgba(255,255,255,0) 56%);background-size:220% 220%;animation:5.8s linear infinite refAcHeaderSweep}.ref-ac-card-header .ref-card-name{color:rgba(255,255,255,.96)}.ref-ac-card-header .ref-card-sub{color:rgba(255,255,255,.62)}.ref-ac-card.is-running .ref-ac-card-header .ref-card-name{text-shadow:0 0 12px rgba(255,255,255,.12)}.ref-ac-card.is-running .ref-metric-ring{animation:none!important}.ref-light-card-header{background:linear-gradient(180deg,#fffdf7,#fff);border-bottom:1px solid rgba(245,158,11,.08)}.ref-fan-card-header{background:linear-gradient(180deg,#f7fffb,#fff);border-bottom:1px solid rgba(16,185,129,.08)}.ref-card-name{font-size:16px;font-weight:800;letter-spacing:-.02em;color:#1d1d2b;overflow-wrap:anywhere}.ref-card-sub{margin-top:4px;font-size:12px;line-height:1.5;color:rgba(29,29,43,.56);overflow-wrap:anywhere}.ref-card-header-side{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-shrink:0;flex-wrap:wrap}.ref-ac-mode-badge{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 10px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.1);color:rgba(255,255,255,.92);box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}.ref-ac-card.is-running .ref-ac-mode-badge{animation:2.4s ease-in-out infinite refAcBadgePulse}.ref-ac-mode-badge.state-cool{background:rgba(125,211,252,.14);border-color:rgba(125,211,252,.28);color:#dbeafe}.ref-ac-mode-badge.state-heat{background:rgba(253,186,116,.16);border-color:rgba(253,186,116,.28);color:#ffedd5}.ref-ac-mode-badge.state-dry{background:rgba(94,234,212,.14);border-color:rgba(94,234,212,.24);color:#ccfbf1}.ref-ac-mode-badge.state-off,.ref-ac-mode-badge.state-offline{background:rgba(226,232,240,.12);border-color:rgba(226,232,240,.18);color:#e2e8f0}.ref-icon-button{width:34px;height:34px;border:none;border-radius:10px;background:rgba(255,255,255,.72);color:#6b7280;font-size:20px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .16s,color .16s,transform .16s}.ref-ac-card-header .ref-icon-button{background:rgba(255,255,255,.12);color:rgba(255,255,255,.84)}.ref-icon-button:hover{transform:translateY(-1px);background:rgba(15,23,42,.08);color:#1f2937}.ref-ac-card-header .ref-icon-button:hover{background:rgba(255,255,255,.18);color:#fff}.ref-card-body{position:relative;z-index:1;display:grid;gap:14px;padding:16px 18px 18px}.ref-live-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap;border:1px solid rgba(148,163,184,.16);background:#f8fafc;color:#64748b}.ref-live-pill::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}.ref-live-pill.running{background:#ecfdf5;border-color:rgba(16,185,129,.18);color:#059669}.ref-live-pill.standby{background:#f3f4f6;border-color:rgba(107,114,128,.14);color:#6b7280}.ref-live-pill.offline{background:#fef2f2;border-color:rgba(239,68,68,.16);color:#dc2626}@keyframes refAcCoolSweep{0%{background-position:0 50%,0 0}100%{background-position:220% 50%,0 0}}@keyframes refAcHeatSweep{0%,100%{background-position:0 0,0 50%;transform:scale(1)}50%{background-position:0 0,210% 50%;transform:scale(1.015)}}@keyframes refAcDrySweep{0%,100%{background-position:0 0,0 50%;transform:translateY(0)}50%{background-position:0 0,210% 50%;transform:translateY(-2px)}}@keyframes refAcHeaderSweep{0%{background-position:0 50%}100%{background-position:220% 50%}}@keyframes refAcBadgePulse{0%,100%{transform:translateY(0);box-shadow:inset 0 0 0 1px rgba(255,255,255,.03),0 0 0 rgba(255,255,255,0)}50%{transform:translateY(-1px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.03),0 8px 18px rgba(15,23,42,.12)}}.ref-ac-main,.ref-fan-main,.ref-light-main{display:grid;grid-template-columns:112px minmax(0,1fr);gap:16px;align-items:center}.ref-metric-ring{position:relative;width:112px;height:112px}.ref-metric-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.ref-metric-ring-track{fill:none;stroke:rgba(148,163,184,.18);stroke-width:8}.ref-metric-ring-fill{fill:none;stroke-width:8;stroke-linecap:round;transition:stroke-dasharray .3s}.ref-metric-ring-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.ref-metric-ring-center strong{font-size:20px;line-height:1;font-weight:800;color:#1d1d2b}.ref-metric-ring-center span{margin-top:5px;font-size:10px;color:#7c8898}.ref-reading-stack{display:grid;gap:10px}.ref-reading-main{font-size:32px;line-height:.94;font-weight:900;letter-spacing:-.05em;color:#1d1d2b}.ref-reading-sub{font-size:12px;color:#748295}.ref-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ref-info-item{padding:10px 12px;border-radius:14px;background:#f8fafc;border:1px solid rgba(148,163,184,.14)}.ref-info-item span{display:block;font-size:11px;color:#7c8898}.ref-info-item strong{display:block;margin-top:5px;font-size:13px;color:#1f2937;overflow-wrap:anywhere}.ref-ac-temp-controls{display:flex;align-items:center;justify-content:center;gap:14px;padding:12px;border-radius:18px;background:#f7f9fc;border:1px solid rgba(148,163,184,.14)}.ref-ac-temp-controls.static{justify-content:flex-start}.ref-round-btn{width:38px;height:38px;border:none;border-radius:50%;background:#fff;color:#475569;font-size:20px;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(15,23,42,.08);cursor:pointer;transition:transform .16s,background .16s,color .16s}.ref-round-btn:hover{transform:translateY(-1px);background:#eff6ff;color:#2563eb}.ref-temp-display{min-width:148px;text-align:center}.ref-temp-display span{display:block;font-size:11px;color:#7c8898}.ref-temp-display strong{display:block;margin-top:4px;font-size:18px;color:#1d1d2b}.ref-mode-row{display:flex;flex-wrap:wrap;gap:8px}.ref-mode-row.muted{padding:0}.ref-mode-note{font-size:12px;color:#7c8898}.ref-mode-btn{min-height:34px;padding:0 12px;border-radius:999px;border:1px solid rgba(148,163,184,.18);background:#f3f4f6;color:#64748b;font-size:12px;font-weight:700;cursor:pointer;transition:transform .16s,background .16s,border-color .16s,color .16s}.ref-mode-btn:hover{transform:translateY(-1px);background:#e5e7eb}.ref-mode-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff;box-shadow:0 10px 22px rgba(59,130,246,.18)}.ref-mode-row.light .ref-mode-btn.active{background:#f59e0b;border-color:#f59e0b;box-shadow:0 10px 22px rgba(245,158,11,.16)}.ref-mode-row.fan .ref-mode-btn.active{background:#10b981;border-color:#10b981;box-shadow:0 10px 22px rgba(16,185,129,.16)}.ref-card-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}.ref-select-field{min-width:180px;flex:1 1 180px;display:grid;gap:6px}.ref-select-field label,.ref-slider-field label{font-size:11px;color:#7c8898}.ref-select{width:100%;min-height:40px;padding:0 12px;border-radius:12px;border:1px solid rgba(148,163,184,.18);background:#fff;color:#1f2937;outline:0}.ref-select:focus{border-color:rgba(59,130,246,.36);box-shadow:0 0 0 3px rgba(59,130,246,.1)}.ref-static-field{min-height:40px;padding:10px 12px;border-radius:12px;background:#f8fafc;border:1px solid rgba(148,163,184,.14);font-size:12px;color:#334155;display:flex;align-items:center}.ref-card-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.ref-action-btn{min-height:34px;padding:0 12px;border-radius:10px;border:1px solid rgba(148,163,184,.18);background:#f8fafc;color:#475569;font-size:12px;font-weight:700;display:inline-flex;align-items:center;gap:6px;cursor:pointer;transition:transform .16s,background .16s,box-shadow .16s,border-color .16s}.ref-action-btn:hover{transform:translateY(-1px);box-shadow:0 10px 20px rgba(15,23,42,.08)}.ref-action-btn.blue{background:#eff6ff;border-color:rgba(59,130,246,.18);color:#2563eb}.ref-action-btn.orange{background:#fff7ed;border-color:rgba(245,158,11,.18);color:#d97706}.ref-action-btn.cyan{background:#ecfeff;border-color:rgba(20,184,166,.18);color:#0f8f8c}.ref-action-btn.gray{background:#f3f4f6;border-color:rgba(107,114,128,.14);color:#64748b}.ref-action-btn.green{background:#ecfdf5;border-color:rgba(16,185,129,.18);color:#059669}.ref-fan-heading,.ref-light-heading{display:flex;align-items:center;gap:12px;min-width:0}.ref-light-dot{width:10px;height:10px;border-radius:50%;background:#d1d5db;flex:none}.ref-light-dot.on{background:#f59e0b;box-shadow:0 0 0 0 rgba(245,158,11,.32);animation:2.4s ease-in-out infinite refPulseGlow}.ref-chip-entity-row{display:flex;flex-wrap:wrap;gap:8px}.ref-entity-chip{padding:5px 10px;border-radius:999px;border:1px solid rgba(148,163,184,.16);background:#f8fafc;color:#64748b;font-size:11px;font-weight:700}.ref-entity-chip.on{background:#fff7ed;border-color:rgba(245,158,11,.18);color:#d97706}.ref-entity-chip.more{background:#eef2ff;border-color:rgba(99,102,241,.18);color:#4f46e5}.ref-slider-field{display:grid;gap:8px;padding:12px 14px;border-radius:16px;background:#fffaf0;border:1px solid rgba(245,158,11,.14)}.ref-note-box{padding:12px 14px;border-radius:16px;background:#f8fafc;border:1px solid rgba(148,163,184,.14);font-size:12px;line-height:1.7;color:#64748b}.ref-fan-icon{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#d1fae5,#6ee7b7);color:#047857;box-shadow:0 12px 24px rgba(16,185,129,.16);flex:none}.ref-fan-rotor{display:block;font-size:20px;line-height:1}.ref-fan-icon.running .ref-fan-rotor{animation:2.4s linear infinite refFanSpin}.ref-fan-card.is-running .ref-metric-ring,.ref-light-card.on .ref-metric-ring{animation:3s ease-in-out infinite refBreathe}@keyframes refCardEnter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes refPulseGlow{0%,100%{box-shadow:0 0 0 0 rgba(245,158,11,.28)}50%{box-shadow:0 0 0 10px rgba(245,158,11,0)}}@keyframes refFanSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes refBreathe{0%,100%{transform:scale(1)}50%{transform:scale(1.03)}}@media (max-width:1100px){.ref-ac-grid,.ref-fan-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.sample-light-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:780px){.ref-ac-main,.ref-fan-main,.ref-light-main{grid-template-columns:1fr;justify-items:center;text-align:center}.ref-reading-stack{width:100%}.ref-card-footer{align-items:stretch}.ref-card-actions{justify-content:flex-start}}@media (max-width:560px){.ref-ac-grid,.ref-fan-grid,.ref-light-grid,.sample-light-grid{grid-template-columns:1fr}.sample-light-overview{padding:14px 16px}.ref-card-body,.ref-card-header{padding-left:14px;padding-right:14px}.ref-card-header{flex-direction:column;align-items:flex-start}.ref-card-header-side{width:100%;justify-content:space-between}.ref-info-grid{grid-template-columns:1fr}.ref-ac-temp-controls{flex-wrap:wrap}.ref-action-btn{flex:1 1 calc(50% - 4px);justify-content:center}}@media (prefers-reduced-motion:reduce){.ref-device-card,.ref-device-card::after,.ref-fan-card.is-running .ref-metric-ring,.ref-fan-icon.running .ref-fan-rotor,.ref-light-card.on .ref-metric-ring,.ref-light-dot.on{animation:none!important;transition:none!important}}body,html{max-width:100%;overflow-x:hidden}body canvas,body img,body svg{max-width:100%}body .badge,body .banner,body .card,body .content,body .nav-item,body .nav-label,body .page,body .ref-setting-control,body .ref-setting-copy,body .ref-settings-content,body .shell-app,body .shell-main,body .status-modal-card,body .title-actions,body .title-bar,body .title-bar-left,body .title-bar-right,body .title-meta-block,body .title-meta-panel,body .title-meta-row,body .title-metric-strip,body .top-chip,body .top-chip-copy,body .top-status-stack,body .top-user,body .top-user-copy{min-width:0}body .button-row,body .ref-card-actions,body .ref-inline-stack,body .title-actions,body .title-meta-block,body .title-meta-panel,body .title-meta-row,body .title-metric-strip,body .top-status-stack{flex-wrap:wrap}body .badge,body .nav-label,body .ref-card-name,body .ref-card-sub,body .title-copy h1,body .title-copy p,body .title-metric-strip .top-chip-copy,body .top-chip-copy,body .top-chip-copy span,body .top-chip-copy strong,body .top-user-copy,body .top-user-copy span,body .top-user-copy strong{white-space:normal;overflow-wrap:anywhere;word-break:break-word}body .card,body .ref-device-card,body .status-modal-card{max-width:100%}@media (min-width:1920px){body #licenseBanner,body .banner,body .content{max-width:min(1920px,calc(100vw - 48px))}}@media (min-width:2400px){body #licenseBanner,body .banner,body .content{max-width:min(2200px,calc(100vw - 64px))}}@media (max-width:1366px){body .shell-titlebar{padding:12px 16px}body .title-copy h1{font-size:clamp(18px,2vw,24px)}body .content{width:min(calc(100% - 28px),100%);padding:16px 0 24px}body #licenseBanner,body .banner{width:calc(100% - 28px)}}@media (max-width:1280px){body .app.shell-app{display:block;padding:16px}body .sidebar,body.sidebar-collapsed .sidebar{position:static;width:auto!important;min-height:auto;margin:0 0 16px;padding:14px!important;border-right:none;border-bottom:1px solid rgba(17,24,39,.06);border-radius:28px}body.sidebar-collapsed .brand-copy,body.sidebar-collapsed .nav-label{display:block!important;width:auto!important;overflow:visible!important}body .nav,body.sidebar-collapsed .nav{grid-template-columns:repeat(3,minmax(0,1fr))}body .nav-item,body.sidebar-collapsed .nav-item{width:100%!important;min-height:46px;justify-content:flex-start!important}body .sidebar-collapse{margin-left:auto}body .shell-titlebar{position:static;padding:0 0 14px;gap:12px}body .title-actions,body .title-bar-left,body .title-bar-right,body .title-meta-panel,body .title-metric-strip{width:100%}body .title-actions,body .title-bar-right,body .title-metric-strip{justify-content:flex-start}body .title-meta-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px}body .title-meta-panel .badge,body .title-meta-panel .title-refresh,body .title-meta-panel .top-user,body .top-chip{width:100%}body .content{width:100%;max-width:none;padding:8px 0 24px}body #licenseBanner,body .banner{width:100%;max-width:none}body .dashboard-room-grid,body .dashboard-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}body .ref-settings-layout,body .room-command-overview{grid-template-columns:1fr}body .ref-settings-nav{position:static}}@media (max-width:900px){body .nav,body.sidebar-collapsed .nav{grid-template-columns:repeat(2,minmax(0,1fr))}body .title-bar-left,body .title-bar-right{align-items:flex-start}body .title-metric-strip{display:grid;grid-template-columns:1fr}body .dashboard-energy-foot,body .dashboard-energy-stat-grid,body .dashboard-room-grid,body .dashboard-summary-strip,body .ref-choice-grid,body .ref-choice-grid.wide,body .ref-settings-stats,body .ref-theme-grid,body .room-command-grid,body .room-device-selects,body .room-terminal-stats,body .status-modal-meta,body .title-meta-panel{grid-template-columns:1fr}body .ref-setting-row{flex-direction:column;align-items:stretch}body .ref-setting-control{width:100%;min-width:0}body .status-modal-card{width:min(100%,calc(100vw - 24px))}}@media (max-width:640px){body .app.shell-app{padding:10px}body .sidebar,body.sidebar-collapsed .sidebar{padding:12px!important;margin-bottom:12px}body .sidebar-logo{display:none}body .shell-brand{max-width:100%;min-width:0}body .nav,body.sidebar-collapsed .nav{grid-template-columns:1fr}body .nav-item,body.sidebar-collapsed .nav-item{min-width:0}body .shell-titlebar{padding-bottom:12px}body .title-bar-divider,body .traffic-lights{display:none}body .title-copy h1{font-size:22px}body .title-copy p{font-size:11px}body .title-meta-panel{grid-template-columns:1fr}body .content{padding:6px 0 20px}body #licenseBanner,body .banner{width:100%}body .dashboard-room-grid,body .dashboard-summary-strip,body .ref-ac-grid,body .ref-fan-grid,body .ref-info-grid,body .ref-light-grid,body .room-computer-grid,body .room-light-list{grid-template-columns:1fr}body .status-modal{padding:10px}body .status-modal-card{width:calc(100vw - 20px);max-height:calc(100vh - 20px);padding:14px;border-radius:20px}body .room-command-title strong{font-size:22px}body .ref-card-body,body .ref-card-header{padding-left:14px;padding-right:14px}body .ref-card-header{flex-direction:column;align-items:flex-start}body .ref-card-header-side{width:100%;justify-content:space-between}body .ref-ac-main,body .ref-fan-main,body .ref-light-main{grid-template-columns:1fr;justify-items:center;text-align:center}body .ref-reading-stack,body .ref-select-field,body .ref-temp-display{width:100%;min-width:0}body .ref-ac-temp-controls{flex-wrap:wrap}body .ref-card-actions{justify-content:stretch}body .ref-action-btn{flex:1 1 100%;justify-content:center}}@media (max-width:480px){body .title-meta-panel .badge,body .title-meta-panel .title-refresh,body .title-meta-panel .top-user,body .top-chip{min-height:40px;padding-inline:10px}body .top-chip-copy strong{font-size:12px}body .badge,body .top-chip-copy span,body .top-user-copy strong{font-size:11px}body .title-copy h1{font-size:20px}}body .title-bar-right{align-items:center}body .title-metric-strip{display:flex;align-items:center}body .top-chip{min-height:44px;height:44px;padding:0 12px;display:flex;align-items:center;gap:10px;flex-shrink:0;width:auto;max-width:none}body .top-chip-copy{display:flex;flex-direction:row;align-items:center;gap:6px;min-width:0;flex-wrap:nowrap}body .top-chip-copy strong{font-size:13px;font-weight:700;white-space:nowrap;color:var(--text-main,#111827);flex-shrink:0}body .top-chip-copy small,body .top-chip-copy span{font-size:11px;white-space:nowrap;color:var(--text-muted,#6b7280);display:flex;align-items:center;flex-shrink:0}body .top-chip-copy small::before,body .top-chip-copy span::before{content:"·";margin:0 6px;opacity:.5}body .top-chip-side{display:none!important}body .title-meta-panel{display:flex;align-items:stretch;flex-wrap:wrap}body .title-meta-block,body .title-meta-row,body .top-status-stack{display:flex;align-items:stretch;min-width:0}body .title-bar-right .badge,body .title-bar-right .top-chip,body .title-bar-right .top-user{background:rgba(255,255,255,.88);border:1px solid rgba(17,24,39,.06);box-shadow:none}body .title-bar-right .top-chip-copy{display:flex;align-items:center}body .title-bar-right .top-chip-time .top-chip-copy span{padding-left:8px;border-left:1px solid rgba(17,24,39,.08)}body .title-bar-right .badge{display:inline-flex;align-items:center;justify-content:center}body .title-bar-right .top-user{justify-content:space-between;gap:10px}body .title-bar-right .top-user-copy{justify-content:flex-start}body .title-bar-right .top-user-copy span{display:none!important}body .title-bar-right .title-refresh{padding-inline:16px}@media (max-width:1366px){body .title-bar-right{width:100%;justify-content:flex-start}body .title-meta-panel{width:100%}}@media (max-width:900px){body .title-meta-block,body .title-meta-panel,body .title-meta-row,body .top-status-stack{width:100%}body .title-bar-right .badge,body .title-bar-right .title-refresh,body .title-bar-right .top-chip,body .title-bar-right .top-user{flex:1 1 calc(50% - 4px)}}@media (max-width:640px){body .title-meta-block,body .title-meta-row,body .top-status-stack{flex-direction:column}body .title-bar-right .badge,body .title-bar-right .title-refresh,body .title-bar-right .top-chip,body .title-bar-right .top-user{flex:1 1 100%}body .title-bar-right .top-chip{padding-inline:12px}body .title-bar-right .top-chip-copy{justify-content:space-between;gap:10px}body .title-bar-right .top-chip-copy span{white-space:normal}body .title-bar-right .top-chip-time .top-chip-copy{flex-wrap:wrap}body .title-bar-right .top-chip-time .top-chip-copy span{padding-left:0;border-left:none}}body .shell-titlebar{display:grid;grid-template-columns:minmax(260px,380px) minmax(0,1fr);gap:16px 18px;border:1px solid var(--line);box-shadow:0 22px 48px rgba(15,23,42,.08);backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%)}[data-theme=dark] body .shell-titlebar{box-shadow:0 22px 48px rgba(2,6,23,.3)}body .title-bar-left{position:relative;z-index:1;align-items:stretch;gap:16px}body .title-brand-block{display:grid;align-content:center}body .title-brand-top{display:flex;align-items:center;flex-wrap:wrap}body .traffic-lights{gap:6px;border-radius:999px;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}[data-theme=dark] body .traffic-lights{box-shadow:none}body .title-copy{display:grid}body .page-kicker{text-transform:uppercase;letter-spacing:.18em}body .title-copy h1{letter-spacing:-.05em;color:var(--text)}body #pageSubtitle{max-width:38ch;color:var(--muted)}body .title-bar-right{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:12px}body .title-status-cluster{display:grid;gap:10px;border-radius:22px;box-shadow:inset 0 1px 0 rgba(255,255,255,.76)}[data-theme=dark] body .title-status-cluster{box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}body .title-metric-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}body .title-meta-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));align-items:stretch}body .title-action-cluster{display:flex;align-items:stretch;justify-content:flex-end;gap:10px;flex:0 0 auto}body .title-meta-block,body .title-meta-row,body .top-status-stack{display:flex;align-items:center;gap:8px;flex-wrap:wrap}body .title-meta-label{align-items:center;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}[data-theme=dark] body .title-meta-label{background:rgba(148,163,184,.12)}body .title-bar-right .top-chip{gap:10px;gap:12px;box-shadow:0 10px 24px rgba(15,23,42,.06)}[data-theme=dark] body .title-bar-right .top-chip-icon{color:#93c5fd}[data-theme=dark] body .title-bar-right .top-chip-ambient .top-chip-icon{color:#f7c56d}body .title-bar-right .top-chip-time .top-chip-icon{background:linear-gradient(180deg,rgba(148,163,184,.18),rgba(148,163,184,.08));color:#556274}body .title-bar-right .top-chip-copy{display:grid;gap:4px}body .title-bar-right .top-chip-copy strong{color:var(--text)}body .title-bar-right .top-chip-copy span{color:var(--muted)}body .title-bar-right .badge{border:1px solid var(--line)}body .title-bar-right .top-user{gap:12px;box-shadow:0 14px 30px rgba(15,23,42,.16)}body .title-bar-right .top-user::before{content:"";flex:0 0 38px;border:1px solid rgba(255,255,255,.16);display:none}body .title-bar-right .top-user-copy{display:grid;gap:3px}body .title-bar-right .user-chip{font-weight:700;color:#fff;border:1px solid rgba(255,255,255,.16)}body .title-bar-right .title-refresh{flex:0 0 auto;padding-inline:20px;white-space:nowrap;box-shadow:0 14px 30px rgba(37,99,235,.22)}body .dashboard-home{gap:14px}body .dashboard-summary-strip{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;padding:8px}body .dashboard-summary-tile{grid-template-columns:52px 1fr;gap:10px;min-height:86px;padding:12px 14px;border-radius:18px}body .dashboard-summary-icon,body .dashboard-summary-icon svg{width:52px;height:52px}body .dashboard-summary-ring-progress,body .dashboard-summary-ring-track{stroke-width:5}body .dashboard-summary-ring-center strong{font-size:11px}body .dashboard-summary-ring-center span{font-size:9px}body .dashboard-summary-copy{gap:2px}body .dashboard-summary-copy span{font-size:11px;line-height:1.15}body .dashboard-summary-copy strong{font-size:18px;line-height:1.05}body .dashboard-summary-copy small{font-size:11px;line-height:1.2}body .dashboard-main-grid{gap:14px;--dashboard-board-height:312px}body .dashboard-bottom-grid,body .dashboard-top-grid{grid-template-columns:minmax(0,1fr) minmax(300px,340px);gap:14px}body .dashboard-control-stack{gap:12px}body .dashboard-energy-card,body .dashboard-log-card,body .dashboard-quick-card,body .dashboard-room-board,body .dashboard-scene-card{padding:12px}@media (max-width:1280px){body .shell-titlebar{grid-template-columns:1fr;padding:18px 20px}body .title-bar-right{grid-template-columns:1fr;align-items:stretch}body .title-meta-block,body .title-meta-panel,body .title-meta-row,body .top-status-stack{flex-wrap:wrap;min-width:0}body .title-action-cluster{justify-content:flex-start;flex-wrap:wrap}body .dashboard-bottom-grid,body .dashboard-top-grid{grid-template-columns:1fr}}@media (max-width:1920px){body .shell-titlebar{grid-template-columns:minmax(240px,340px) minmax(0,1fr)}body .content{padding-inline:20px}body #licenseBanner,body .banner{width:calc(100% - 40px)}}@media (max-width:1600px){body .shell-titlebar{grid-template-columns:minmax(220px,300px) minmax(0,1fr);padding:16px 20px}body .title-bar-right{grid-template-columns:1fr}body .title-action-cluster{justify-content:flex-start}body .dashboard-bottom-grid,body .dashboard-top-grid{grid-template-columns:minmax(0,1fr) 300px}}@media (max-width:900px){body .shell-titlebar{padding:16px 16px 18px;border-radius:26px}body .title-copy h1{font-size:24px}body #pageSubtitle{max-width:none}body .title-action-cluster,body .title-meta-block,body .title-meta-panel,body .title-metric-strip,body .top-status-stack{width:100%}body .title-metric-strip{grid-template-columns:1fr}body .title-action-cluster{justify-content:flex-start;flex-wrap:wrap}body .title-bar-right .title-refresh,body .title-bar-right .top-user{flex:1 1 calc(50% - 4px)}}@media (max-width:640px){body .shell-titlebar{padding:14px;gap:14px}body .title-bar-divider,body .traffic-lights{display:none}body .title-copy h1{font-size:22px}body .title-bar-right{gap:8px}body .title-meta-label{width:100%;justify-content:center}body .title-bar-right .title-refresh,body .title-bar-right .top-user{flex:1 1 100%}body .title-bar-right .badge,body .title-bar-right .top-chip{min-height:52px}body .title-bar-right .top-chip-copy strong{font-size:15px}}body .status-modal{background:rgba(15,23,42,.42)}body .status-modal-card.light-control-modal,body .status-modal-card.room-sample-modal{border:1px solid rgba(255,255,255,.4);background:rgba(248,250,252,.9);box-shadow:0 32px 84px -12px rgba(15,23,42,.18)}body .status-modal-card.light-control-modal{padding:0;border-radius:32px}body .room-sample-modal-page{display:flex;flex-direction:column;height:100%;gap:24px;padding:32px;font-family:var(--font-main)}body .room-sample-header{display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.6);border:1px solid rgba(15,23,42,.05);box-shadow:0 8px 32px -8px rgba(15,23,42,.04)}body .room-sample-logo-mark{background:#1e293b;align-items:center;justify-content:center;color:#fff;font-size:24px;box-shadow:0 12px 24px -6px rgba(15,23,42,.2)}body .room-sample-time-info .time{font-weight:800;color:#1e293b;letter-spacing:-.04em}body .room-sample-close{font-size:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s}body .room-sample-close:hover{transform:rotate(90deg)}body .room-sample-device-card{box-shadow:0 4px 24px -6px rgba(15,23,42,.04);transition:.3s cubic-bezier(.16, 1, .3, 1);display:flex;flex-direction:column}body .room-sample-device-card:hover{transform:translateY(-4px);box-shadow:0 20px 48px -12px rgba(15,23,42,.08)}body .room-sample-status-bar{background:rgba(15,23,42,.04)}body .room-sample-device-card.is-active .room-sample-status-bar{background:var(--brand-primary,#2563eb)}body .room-sample-card-head{display:flex;align-items:center;justify-content:space-between}body .room-sample-card-icon{display:flex;align-items:center;justify-content:center;color:#475569}body .room-sample-toggle{position:relative;border:none;cursor:pointer;transition:.3s cubic-bezier(.16, 1, .3, 1)}body .room-sample-toggle::after{content:"";position:absolute;top:4px;left:4px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.1);transition:.3s cubic-bezier(.16, 1, .3, 1)}body .room-sample-toggle.on{background:#22c55e}body .room-sample-toggle.on::after{transform:translateX(20px)}body .room-sample-card-content{flex:1}body .room-sample-terminal-item{padding:16px;border-radius:18px;background:rgba(15,23,42,.02);border:1px solid rgba(15,23,42,.04);transition:.2s}body .room-sample-terminal-item.is-on{background:rgba(34,197,94,.05);border-color:rgba(34,197,94,.1)}body .room-sample-light-item{background:#f8fafc;border:1px solid rgba(15,23,42,.05);transition:.2s}body .room-sample-light-item.is-on{background:rgba(234,179,8,.05);border-color:rgba(234,179,8,.15)}body .room-sample-btn{font-weight:600;font-size:14px;background:rgba(15,23,42,.05);color:#475569;cursor:pointer;transition:.2s}body .room-sample-btn:hover{background:rgba(15,23,42,.08);transform:translateY(-1px)}body .room-sample-btn.blue{background:rgba(37,99,235,.1)}body .room-sample-btn.green{background:rgba(22,163,74,.1)}body .light-entity-card{position:relative;min-height:128px;display:grid;align-content:space-between;gap:12px;padding:18px;border:none;border-radius:28px;background:linear-gradient(145deg,#f9fbff 0,#eef2f8 100%);box-shadow:22px 22px 40px rgba(148,163,184,.16),-14px -14px 28px rgba(255,255,255,.92),inset 1px 1px 0 rgba(255,255,255,.9);cursor:pointer;overflow:hidden}body .light-entity-card:hover{transform:translateY(-3px);box-shadow:26px 26px 46px rgba(148,163,184,.2),-16px -16px 30px rgba(255,255,255,.92),inset 1px 1px 0 rgba(255,255,255,.92)}body .light-entity-card:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(96,165,250,.26),22px 22px 40px rgba(148,163,184,.16),-14px -14px 28px rgba(255,255,255,.92)}body .light-entity-card.on{background:linear-gradient(145deg,#fffaf0 0,#f6ecd7 100%)}body .light-entity-card.offline{opacity:.72;filter:saturate(.88)}body .light-entity-card-glow{display:none}body .light-entity-card .sample-light-card-header{position:relative;z-index:1;margin-bottom:0;align-items:center}body .light-entity-card .sample-light-card-name{display:flex;align-items:flex-start;gap:10px;font-size:15px;font-weight:700;line-height:1.45}body .sample-light-card-body{position:relative;z-index:1;display:grid;gap:0}body .sample-light-card-state{font-size:20px;line-height:1.2;font-weight:800;letter-spacing:-.04em;color:#18212f}body .light-entity-card.on .sample-light-card-state{color:#9a6700}body .sample-light-card-foot,body .sample-light-card-hint,body .sample-light-card-info,body .sample-light-card-link{display:none}body .sample-light-card-toggle{background:linear-gradient(145deg,#dbe3ef,#f9fbff);box-shadow:inset 1px 1px 0 rgba(255,255,255,.9),inset -1px -1px 0 rgba(148,163,184,.24)}body .sample-light-card-toggle.on{background:linear-gradient(145deg,#ffd76a,#f5b041);box-shadow:inset 1px 1px 0 rgba(255,255,255,.38),0 10px 18px rgba(245,158,11,.24)}body .ref-device-card{border:none;background:linear-gradient(150deg,#f8fbff 0,#eef3f9 100%);box-shadow:22px 22px 44px rgba(148,163,184,.18),-16px -16px 34px rgba(255,255,255,.95),inset 1px 1px 0 rgba(255,255,255,.88)}body .ref-ac-card-header,body .ref-fan-card-header,body .ref-light-card-header{position:relative;overflow:hidden;border-bottom:none;box-shadow:inset 1px 1px 0 rgba(255,255,255,.12),inset -1px -1px 0 rgba(15,23,42,.08)}body .ref-ac-card-header::after{content:"";position:absolute;inset:auto -12% -48% auto;width:58%;height:190%;border-radius:48%;pointer-events:none;opacity:.78;filter:blur(16px)}body .ref-ac-card.state-cool .ref-ac-card-header::after{background:radial-gradient(circle at center,rgba(96,165,250,.56) 0,rgba(191,219,254,.08) 44%,rgba(255,255,255,0) 70%);animation:8.4s ease-in-out infinite alternate appleAcCoolDrift}body .ref-ac-card.state-heat .ref-ac-card-header::after{background:radial-gradient(circle at center,rgba(248,113,113,.48) 0,rgba(251,191,36,.08) 44%,rgba(255,255,255,0) 70%);animation:7.4s ease-in-out infinite alternate appleAcHeatDrift}body .ref-ac-card.state-dry .ref-ac-card-header::after{background:radial-gradient(circle at center,rgba(45,212,191,.44) 0,rgba(125,211,252,.08) 44%,rgba(255,255,255,0) 70%);animation:9.2s ease-in-out infinite alternate appleAcCoolDrift}body .ref-ac-card.state-off .ref-ac-card-header::after,body .ref-ac-card.state-offline .ref-ac-card-header::after{background:radial-gradient(circle at center,rgba(148,163,184,.34) 0,rgba(255,255,255,0) 68%);animation:none}body .ref-card-body{padding:18px 20px 20px}body .room-sample-modal-page{gap:18px}body .room-sample-header{border-radius:26px;background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(235,240,248,.92));box-shadow:inset 1px 1px 0 rgba(255,255,255,.88),inset -1px -1px 0 rgba(148,163,184,.16)}body .room-sample-logo-mark{width:52px;height:52px;border-radius:18px;background:linear-gradient(145deg,#111827,#334155);box-shadow:10px 10px 20px rgba(148,163,184,.16),-6px -6px 16px rgba(255,255,255,.92)}body .room-sample-time-info .time{font-size:26px}body .room-sample-close{box-shadow:8px 8px 18px rgba(148,163,184,.18),-5px -5px 14px rgba(255,255,255,.92)}body .room-sample-quick-actions{gap:12px}body .room-sample-summary-item{border:none;border-radius:22px;background:linear-gradient(145deg,#f8fbff,#e8edf5);box-shadow:14px 14px 26px rgba(148,163,184,.14),-10px -10px 18px rgba(255,255,255,.92),inset 1px 1px 0 rgba(255,255,255,.88)}body .room-sample-btn{min-height:42px;padding:0 18px;border:none;border-radius:999px;background:linear-gradient(145deg,#f8fbff,#e9eef6);box-shadow:10px 10px 20px rgba(148,163,184,.16),-7px -7px 16px rgba(255,255,255,.9)}body .room-sample-btn.blue{background:linear-gradient(145deg,#dbebff,#bfdcff);color:#1d4ed8}body .room-sample-btn.green{background:linear-gradient(145deg,#dff8ef,#c8f1e2);color:#047857}body .room-sample-btn.red{background:linear-gradient(145deg,#ffe3de,#ffd2ca);color:#c2410c}body .room-sample-btn.orange{background:linear-gradient(145deg,#ffefcb,#ffe2a8);color:#b45309}body .room-sample-btn.dark{background:linear-gradient(145deg,#223049,#111827)}body .room-sample-btn.soft{background:linear-gradient(145deg,#dff6f6,#c9f0ef);color:#0f766e}body .room-sample-device-grid{gap:20px}body .room-sample-device-card{box-shadow:20px 20px 38px rgba(148,163,184,.18),-14px -14px 28px rgba(255,255,255,.92),inset 1px 1px 0 rgba(255,255,255,.88)}body .room-sample-device-card.is-active{box-shadow:24px 24px 42px rgba(148,163,184,.18),-16px -16px 30px rgba(255,255,255,.94),inset 1px 1px 0 rgba(255,255,255,.92)}body .room-sample-status-bar{height:6px;background:linear-gradient(90deg,rgba(203,213,225,.5),rgba(226,232,240,.84))}body .room-sample-card-icon{box-shadow:10px 10px 20px rgba(148,163,184,.16),-6px -6px 16px rgba(255,255,255,.88)}body .room-sample-toggle{box-shadow:inset 1px 1px 0 rgba(255,255,255,.88),inset -1px -1px 0 rgba(148,163,184,.18)}body .room-sample-air-stat,body .room-sample-status-row,body .room-sample-terminal-item{background:linear-gradient(145deg,#f6f9fe,#e9eef6);box-shadow:inset 1px 1px 0 rgba(255,255,255,.9),inset -1px -1px 0 rgba(148,163,184,.14)}body .room-sample-ac-temp-circle{border:none;background:linear-gradient(145deg,#f9fbff,#e8eef7);box-shadow:16px 16px 28px rgba(148,163,184,.18),-10px -10px 20px rgba(255,255,255,.96),inset 1px 1px 0 rgba(255,255,255,.94)}body .room-sample-ac-temp-circle::after{inset:10px;border-style:solid;border-width:1px}body .room-sample-light-list{display:grid;gap:12px}body .room-sample-light-item{border:none;border-radius:20px;background:linear-gradient(145deg,#f8fbff,#eaeff7);box-shadow:10px 10px 18px rgba(148,163,184,.14),-7px -7px 14px rgba(255,255,255,.92)}body .room-sample-light-item.is-on{background:linear-gradient(145deg,#fff7e7,#f9edd0)}body .room-sample-light-main{padding:14px 16px}body .room-sample-light-copy{min-width:0;display:grid;gap:4px}body .room-sample-light-meta{font-size:12px;line-height:1.5;color:#64748b;overflow-wrap:anywhere}body .room-sample-light-controls{gap:10px}body .room-sample-light-detail-btn{min-height:34px;padding:0 14px;border:none;border-radius:999px;background:linear-gradient(145deg,#eef3fa,#fdfefe);box-shadow:inset 1px 1px 0 rgba(255,255,255,.94),inset -1px -1px 0 rgba(148,163,184,.16);font-size:12px;font-weight:700;color:#475569;cursor:pointer}body .apple-light-modal{display:grid;gap:16px;color:#162031;font-family:"SF Pro Display","Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}body .apple-light-hero{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px;border-radius:28px;overflow:hidden;background:linear-gradient(145deg,#475569,#0f172a);box-shadow:inset 1px 1px 0 rgba(255,255,255,.08),18px 18px 34px rgba(15,23,42,.18)}body .apple-light-hero.cool{background:linear-gradient(145deg,#123668,#10203f 68%)}body .apple-light-hero.warm{background:linear-gradient(145deg,#7c3a12,#4a2307 68%)}body .apple-light-hero.neutral{background:linear-gradient(145deg,#35506f,#15243d 68%)}body .apple-light-hero.offline,body .apple-light-hero.sleep{background:linear-gradient(145deg,#475569,#1e293b 68%)}body .apple-light-hero::after{content:"";position:absolute;top:-46%;right:-10%;width:52%;height:200%;border-radius:48%;background:radial-gradient(circle at center,rgba(255,255,255,.24) 0,rgba(255,255,255,0) 68%);filter:blur(10px);opacity:.9;animation:8s ease-in-out infinite alternate appleLightHeroSweep;pointer-events:none}body .apple-light-hero-copy{position:relative;z-index:1}body .apple-light-kicker{display:inline-flex;align-items:center;min-height:28px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12);font-size:11px;font-weight:700;letter-spacing:.06em;color:rgba(255,255,255,.78);text-transform:uppercase}body .apple-light-hero h3{margin-top:12px;font-size:28px;line-height:1.08;font-weight:800;color:#fff;letter-spacing:-.04em}body .apple-light-hero p{margin-top:8px;font-size:13px;line-height:1.6;color:rgba(255,255,255,.72)}body .apple-light-hero-actions{position:relative;z-index:1;display:flex;align-items:center;gap:10px}body .apple-light-close,body .apple-light-power{min-height:40px;border:none;border-radius:999px;cursor:pointer;font-weight:700}body .apple-light-power{min-width:88px;padding:0 18px;background:rgba(255,255,255,.12);color:#fff;box-shadow:inset 1px 1px 0 rgba(255,255,255,.14)}body .apple-light-power.on{background:linear-gradient(145deg,#ffd76a,#f5b041);color:#7c2d12}body .apple-light-power:disabled{opacity:.58;cursor:not-allowed}body .apple-light-close{width:40px;background:rgba(255,255,255,.12);color:#fff;font-size:22px}body .apple-light-panel{display:grid;gap:14px;border-radius:28px;background:linear-gradient(145deg,#f7fbff,#e8edf5);box-shadow:20px 20px 38px rgba(148,163,184,.16),-14px -14px 28px rgba(255,255,255,.94),inset 1px 1px 0 rgba(255,255,255,.92)}body .apple-light-summary-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}body .apple-light-control-block,body .apple-light-summary-pill{border-radius:22px;background:linear-gradient(145deg,#f8fbff,#eaf0f7);box-shadow:inset 1px 1px 0 rgba(255,255,255,.96),inset -1px -1px 0 rgba(148,163,184,.16)}body .apple-light-summary-pill{display:grid;gap:6px;padding:14px 16px}body .apple-light-summary-pill span{font-size:11px;font-weight:600;color:#64748b}body .apple-light-summary-pill strong{font-size:14px;line-height:1.45;color:#1e293b}body .apple-light-control-block{padding:16px}body .apple-light-control-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}body .apple-light-control-head h4{font-size:15px;font-weight:800;color:#1e293b}body .apple-light-control-head p{margin-top:4px;font-size:12px;line-height:1.6;color:#64748b}body .apple-light-control-head strong{font-size:14px;color:#0f172a}body .apple-light-control-head .tone-warm{color:#d97706}body .apple-light-control-head .tone-neutral{color:#475569}body .apple-light-control-head .tone-cool{color:#2563eb}body .apple-light-range-shell{position:relative;height:14px;border-radius:999px;background:linear-gradient(145deg,#dde6f1,#f9fbff);overflow:hidden;box-shadow:inset 2px 2px 4px rgba(148,163,184,.18),inset -2px -2px 4px rgba(255,255,255,.96)}body .apple-light-range-fill{position:absolute;inset:0 auto 0 0;border-radius:999px}body .apple-light-range-fill.warm{background:linear-gradient(90deg,#f5b041,#fde68a)}body .apple-light-range-fill.tone{background:linear-gradient(90deg,#f59e0b 0,#f8fafc 50%,#60a5fa 100%)}body .apple-light-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}body .apple-light-color-preset-row,body .apple-light-preset-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}body .apple-light-preset{min-height:34px;padding:0 14px;border:none;border-radius:999px;background:linear-gradient(145deg,#eef3fa,#fff);box-shadow:inset 1px 1px 0 rgba(255,255,255,.94),inset -1px -1px 0 rgba(148,163,184,.16);font-size:12px;font-weight:700;color:#475569;cursor:pointer}body .apple-light-preset.is-active{background:linear-gradient(145deg,#dbeafe,#bfdbfe);color:#1d4ed8}body .apple-light-color-preset{width:34px;height:34px;border:none;border-radius:50%;background:var(--swatch);box-shadow:6px 6px 12px rgba(148,163,184,.16),-4px -4px 10px rgba(255,255,255,.94),inset 1px 1px 0 rgba(255,255,255,.58);cursor:pointer}body .apple-light-color-preset.is-active{box-shadow:0 0 0 3px rgba(59,130,246,.22),6px 6px 12px rgba(148,163,184,.18),-4px -4px 10px rgba(255,255,255,.94)}body .apple-light-inline-note{padding:14px 16px;border-radius:18px;background:linear-gradient(145deg,#f8fbff,#e8edf5);color:#64748b;font-size:13px;line-height:1.7}@keyframes appleAcCoolDrift{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-14%,8%,0) scale(1.12)}}@keyframes appleAcHeatDrift{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-10%,10%,0) scale(1.16)}}@keyframes appleLightHeroSweep{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-12%,6%,0) scale(1.08)}}@media (max-width:900px){body .apple-light-summary-row{grid-template-columns:1fr}}@media (max-width:768px){body .status-modal-card.light-control-modal,body .status-modal-card.room-sample-modal{width:min(100vw - 16px,100%);max-height:calc(100vh - 16px);padding:12px;border-radius:24px}body .room-sample-header{flex-direction:column;align-items:flex-start}body .room-sample-header-right{width:100%;justify-content:space-between}body .room-sample-device-grid{grid-template-columns:1fr}body .apple-light-control-block,body .apple-light-panel,body .room-sample-card-content,body .room-sample-card-head{padding-left:16px;padding-right:16px}body .room-sample-light-main{align-items:flex-start}body .room-sample-light-controls{flex-direction:column;align-items:flex-end}body .apple-light-hero{flex-direction:column}body .apple-light-hero-actions{width:100%;justify-content:space-between}}body .shell-titlebar{position:static;overflow:visible;grid-template-columns:minmax(260px,max-content) minmax(0,1fr);gap:10px 16px;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}body .title-bar-left{align-items:center;gap:10px}body .title-brand-block{display:flex;align-items:center;gap:10px}body .title-brand-top{display:flex;align-items:center;gap:10px;flex-wrap:nowrap}[data-theme=dark] body .traffic-lights{background:0 0;border:none}body .title-bar-divider{width:1px;height:16px;background:rgba(17,24,39,.08)}body .title-copy{display:flex;align-items:baseline;flex-wrap:wrap}body .page-kicker{display:inline-flex;align-items:center;letter-spacing:.02em;width:max-content}[data-theme=dark] body .page-kicker{color:#8fb0ff;background:rgba(87,116,255,.14)}body .title-bar-right{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap}body .title-status-cluster{display:flex;align-items:center;gap:6px}[data-theme=dark] body .title-status-cluster{background:0 0;border:none;box-shadow:none}body .title-meta-panel,body .title-metric-strip{display:flex;align-items:center;gap:6px}body .title-metric-strip{flex-shrink:0}body .title-meta-panel{flex:1;display:flex;align-items:center;justify-content:flex-end;gap:12px;border-radius:var(--radius-md);background:var(--bg-glass);border:1px solid var(--border);backdrop-filter:blur(10px)}.top-user{padding:6px 12px;background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;align-items:center;gap:10px;transition:.2s}.top-user:hover{background:rgba(255,255,255,.08)}.top-user-copy strong{font-size:13px;font-weight:700;color:var(--text-main)}.title-refresh{width:36px;height:36px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.3s;border:none;box-shadow:0 4px 12px var(--primary-glow)}.title-refresh:hover{transform:rotate(180deg) scale(1.1);box-shadow:0 6px 16px var(--primary-glow)}.title-refresh svg{width:18px;height:18px}body .title-meta-block,body .title-meta-row,body .top-status-stack{display:flex;align-items:center;gap:4px;flex-wrap:nowrap}body .title-meta-label{min-height:auto;padding:0;border-radius:0;background:0 0;letter-spacing:0;text-transform:none;white-space:nowrap}body .title-action-cluster{display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto}body .title-bar-right .top-chip{gap:6px;box-shadow:0 16px 34px rgba(25,45,85,.05)}body .title-bar-right .top-chip-copy{display:flex;align-items:center;white-space:nowrap}[data-theme=dark] body .title-bar-right .top-chip-copy strong{color:var(--text)}body .title-bar-right .top-user{gap:6px;box-shadow:none}body .title-bar-right .top-user-copy{display:flex;align-items:center;gap:6px;white-space:nowrap}[data-theme=dark] body .title-bar-right .top-user-copy strong{color:var(--text)}body .title-bar-right .user-chip{font-size:10px;color:inherit;background:#f5f7fb;border-color:rgba(86,104,142,.08)}[data-theme=dark] body .title-bar-right .user-chip{background:rgba(148,163,184,.1);border-color:rgba(148,163,184,.14)}body .title-bar-right .title-refresh{box-shadow:none}@media (max-width:1280px){body .shell-titlebar{grid-template-columns:1fr;padding:2px 0 10px}body .title-bar-right,body .title-meta-panel{justify-content:flex-start}}@media (max-width:900px){body .title-copy{align-items:flex-start;flex-direction:column;gap:4px}body .title-action-cluster,body .title-meta-panel,body .title-metric-strip,body .title-status-cluster{width:100%;flex-wrap:wrap}body .title-meta-block,body .top-status-stack{flex-wrap:wrap}body .title-bar-right .badge,body .title-bar-right .title-refresh,body .title-bar-right .top-chip,body .title-bar-right .top-user{flex:0 0 auto}}@media (max-width:640px){body .shell-titlebar{padding:0 0 8px;gap:8px}body .title-bar-divider,body .traffic-lights{display:none}body .title-copy h1{font-size:24px}body .title-bar-right{gap:6px}body .title-action-cluster,body .title-meta-panel,body .title-metric-strip{width:100%}body .title-bar-right .badge,body .title-bar-right .title-refresh,body .title-bar-right .top-chip,body .title-bar-right .top-user{flex:1 1 auto}}body .app.shell-app{display:grid;grid-template-columns:232px minmax(0,1fr);align-items:stretch}body .shell-main{display:grid;grid-template-rows:auto minmax(0,1fr)}body .content{padding:18px 24px 28px}body .shell-titlebar{grid-template-columns:minmax(240px,340px) minmax(0,1fr)}body .title-bar-right{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}body .title-status-cluster{display:grid}body .title-meta-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));align-items:stretch;justify-content:stretch;flex:none}body .title-meta-block,body .title-meta-row,body .top-status-stack{display:contents}body .title-action-cluster{justify-content:flex-end;align-items:stretch;flex-wrap:wrap}body .dashboard-summary-strip{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}body .dashboard-bottom-grid,body .dashboard-top-grid{grid-template-columns:minmax(0,1fr) minmax(300px,340px)}@media (max-width:1920px){body .content{padding-inline:20px}body #licenseBanner,body .banner{width:calc(100% - 40px)}}@media (max-width:1600px){body .shell-titlebar{grid-template-columns:1fr;padding:8px 8px 0}body .title-bar-right{grid-template-columns:1fr}body .title-action-cluster{justify-content:flex-start}body .dashboard-bottom-grid,body .dashboard-top-grid{grid-template-columns:minmax(0,1fr)}}.status-modal-card.room-sample-modal{width:min(1200px,95vw);max-height:min(850px,90vh);background:rgba(255,255,255,.95);backdrop-filter:blur(20px);border-radius:32px;border:1px solid rgba(255,255,255,.5);box-shadow:0 40px 100px -20px rgba(15,23,42,.25);display:flex;flex-direction:column;overflow:hidden}.room-sample-modal-page{padding:0;height:100%;display:flex;flex-direction:column;font-family:system-ui,-apple-system,sans-serif;color:#1e293b}.room-sample-header{padding:32px 40px;background:rgba(255,255,255,.5);border-bottom:1px solid rgba(15,23,42,.06);display:flex;justify-content:space-between;align-items:center}.room-sample-header-left{display:flex;align-items:center;gap:20px}.room-sample-logo-mark{width:64px;height:64px;border-radius:20px;background:linear-gradient(135deg,#3b82f6,#2563eb);display:flex;align-items:center;justify-content:center;color:#fff;font-size:28px;box-shadow:0 12px 24px -6px rgba(37,99,235,.3)}.room-sample-header-title h2{font-size:26px;font-weight:800;letter-spacing:-.02em;margin:0}.room-sample-header-title p{font-size:14px;color:#64748b;margin:4px 0 0}.room-sample-time-info{text-align:right}.room-sample-time-info .time{font-size:32px;font-weight:800;color:#1e293b;font-variant-numeric:tabular-nums;line-height:1}.room-sample-time-info .date{font-size:13px;color:#64748b;margin-top:4px}.room-sample-content-scroll{flex:1;overflow-y:auto;padding:32px 40px 40px}.room-sample-device-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:24px}.room-sample-device-card{background:#fff;border-radius:28px;border:1px solid rgba(15,23,42,.08);box-shadow:0 4px 20px -4px rgba(15,23,42,.04);transition:.4s cubic-bezier(.16, 1, .3, 1);display:flex;flex-direction:column}.room-sample-device-card:hover{transform:translateY(-6px);box-shadow:0 24px 48px -12px rgba(15,23,42,.12);border-color:rgba(37,99,235,.2)}.room-sample-card-head{padding:24px 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(15,23,42,.03)}.room-sample-card-info{display:flex;align-items:center;gap:16px}.room-sample-card-icon{width:52px;height:52px;border-radius:16px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;font-size:24px;color:#475569;transition:.3s}.room-sample-device-card.is-active .room-sample-card-icon{background:rgba(37,99,235,.1);color:#2563eb;box-shadow:0 4px 14px rgba(108,92,231,.25)}.room-sample-card-label h3{margin:0 0 2px;font-size:15px;font-weight:700}.room-sample-card-label span{color:#64748b}.room-sample-card-content{flex:1}.room-sample-toggle::after{content:"";position:absolute;top:4px;left:4px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.1);transition:.3s cubic-bezier(.16, 1, .3, 1)}.room-sample-toggle.on{background:#22c55e}.room-sample-toggle.on::after{transform:translateX(24px)}.room-sample-status-row{display:flex;align-items:center;justify-content:space-between}.room-sample-status-item{display:flex;align-items:center;color:#64748b}.room-sample-status-dot.on{background:#22c55e;box-shadow:0 0 12px rgba(34,197,94,.5)}.room-sample-terminal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:12px}.room-sample-terminal-item{background:#f8fafc;border:1px solid rgba(15,23,42,.05);display:flex;flex-direction:column;align-items:center;text-align:center}.room-sample-terminal-item.is-on{background:rgba(34,197,94,.06);border-color:rgba(34,197,94,.1)}.room-sample-terminal-item strong{font-weight:700;color:#1e293b}.room-sample-terminal-item span{color:#64748b;margin-top:2px}.room-sample-light-item{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#f8fafc;border:1px solid rgba(15,23,42,.04)}.room-sample-light-item.is-on{background:rgba(234,179,8,.05);border-color:rgba(234,179,8,.1)}.room-sample-light-info{display:flex;align-items:center}.room-sample-device-card.is-active.cool .room-sample-card-icon{background:rgba(116,185,255,.15);box-shadow:0 4px 14px rgba(116,185,255,.25)}.room-sample-device-card.is-active.heat .room-sample-card-icon{background:rgba(230,126,34,.15);box-shadow:0 4px 14px rgba(230,126,34,.25)}.room-sample-device-card.is-active.light .room-sample-card-icon{background:var(--sample-green-bg);box-shadow:0 4px 14px rgba(0,184,148,.25)}.room-sample-device-card.is-active.fan .room-sample-card-icon{background:rgba(0,206,201,.15);box-shadow:0 4px 14px rgba(0,206,201,.25)}.room-sample-card-label{min-width:0}.room-sample-card-label span{font-size:12px;color:var(--sample-faint);line-height:1.4}.room-sample-card-meta{font-size:12px;font-weight:700;color:var(--sample-faint)}.room-sample-toggle{position:relative;width:44px;height:24px;border:none;border-radius:999px;background:#d1d5e4;cursor:pointer;flex-shrink:0;transition:.3s}.room-sample-toggle::before{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.12);transition:transform .3s}.room-sample-toggle.on{box-shadow:0 2px 8px rgba(108,92,231,.25)}.room-sample-toggle.on::before{transform:translateX(20px)}.room-sample-toggle.on.ac{background:linear-gradient(135deg,var(--sample-accent),var(--sample-cyan))}.room-sample-toggle.on.light{background:linear-gradient(135deg,var(--sample-green),#55efc4)}.room-sample-toggle.on.fan{background:linear-gradient(135deg,var(--sample-cyan),#81ecec)}.room-sample-toggle.disabled{opacity:.4;cursor:not-allowed}.room-sample-card-content{padding:20px}.room-sample-status-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;background:var(--sample-bg);border-radius:12px;margin-bottom:18px}.room-sample-status-item,.room-sample-status-side{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--sample-sub);font-weight:500}.room-sample-status-dot{width:8px;height:8px;border-radius:50%;background:#d1d5e4}.room-sample-status-dot.on{background:var(--sample-green);box-shadow:0 0 6px rgba(0,184,148,.4)}.room-sample-ac-temp-display{display:flex;align-items:center;justify-content:center;gap:20px;margin:20px 0}.room-sample-ac-temp-circle{width:120px;height:120px;border-radius:50%;border:4px solid #f1f5f9;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;box-shadow:0 8px 24px -6px rgba(15,23,42,.06);position:relative;transition:.3s}.room-sample-device-card.is-active.cool .room-sample-ac-temp-circle{border-color:#3b82f6;background:rgba(59,130,246,.05)}.room-sample-device-card.is-active.heat .room-sample-ac-temp-circle{border-color:#f97316;background:rgba(249,115,22,.05)}.room-sample-ac-temp-circle::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1px dashed currentColor;opacity:.24}.room-sample-temp-val{font-size:36px;font-weight:700;color:var(--sample-accent)}.room-sample-device-card.is-active.cool .room-sample-temp-val{color:var(--sample-blue)}.room-sample-device-card.is-active.heat .room-sample-temp-val{color:var(--sample-orange)}.room-sample-temp-unit{font-size:12px;color:var(--sample-faint);margin-top:2px}.room-sample-air-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}.room-sample-air-stat{background:#f8fafc;border:1px solid rgba(15,23,42,.04);transition:.2s}.room-sample-air-stat:hover{background:#f1f5f9}.room-sample-air-stat-value{display:block;color:#1e293b;line-height:1.2}.room-sample-air-stat-label{display:block;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.room-sample-ac-temp-btn{width:38px;height:38px;border-radius:50%;border:1.5px solid var(--sample-border);background:var(--sample-white);color:var(--sample-sub);cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px rgba(26,29,46,.04);transition:.2s}.room-sample-ac-temp-btn:hover{background:var(--sample-accent);border-color:var(--sample-accent);color:#fff;box-shadow:0 3px 12px rgba(108,92,231,.25)}.room-sample-ac-readings{text-align:center;margin-bottom:16px}.room-sample-ac-readings span{display:block;font-size:12px;color:var(--sample-faint)}.room-sample-ac-readings strong{display:block;margin-top:4px;font-size:14px;font-weight:700}.room-sample-temp-presets{display:flex;justify-content:center;gap:8px;margin-bottom:18px;flex-wrap:wrap}.room-sample-temp-preset{padding:6px 14px;border-radius:8px;border:1px solid var(--sample-border);background:var(--sample-white);font-size:12px;font-weight:600;color:var(--sample-faint);cursor:pointer;transition:.2s}.room-sample-temp-preset.is-active{background:linear-gradient(135deg,var(--sample-accent),#7c6cf0);border-color:transparent;color:#fff;box-shadow:0 2px 8px rgba(108,92,231,.2)}.room-sample-mode-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.room-sample-mode-tag{padding:10px 8px;border-radius:8px;border:1px solid var(--sample-border);background:var(--sample-white);color:var(--sample-faint);font-size:12px;font-weight:500;text-align:center;cursor:pointer;transition:.2s}.room-sample-mode-tag.is-active{background:linear-gradient(135deg,var(--sample-accent),#7c6cf0);color:#fff;border-color:transparent;box-shadow:0 2px 8px rgba(108,92,231,.2)}.room-sample-mode-tag.is-active.cool{background:linear-gradient(135deg,var(--sample-blue),#a8d4ff)}.room-sample-mode-tag.is-active.heat{background:linear-gradient(135deg,var(--sample-orange),var(--sample-amber))}.room-sample-season-btns{display:flex;gap:12px;margin-top:16px}.room-sample-season-btn{flex:1;padding:14px;border-radius:8px;text-align:center;cursor:pointer;transition:.25s;font-size:13px;font-weight:600;border:1.5px solid var(--sample-border);background:var(--sample-white)}.room-sample-season-btn span{display:block;margin-top:4px;font-size:11px;font-weight:400;opacity:.7}.room-sample-season-btn.summer{background:linear-gradient(135deg,rgba(108,92,231,.04),rgba(0,206,201,.04));color:var(--sample-accent);border-color:rgba(108,92,231,.15)}.room-sample-season-btn.winter{background:linear-gradient(135deg,rgba(253,203,110,.06),rgba(230,126,34,.04));color:var(--sample-amber-dark);border-color:rgba(253,203,110,.25)}.room-sample-light-list{display:flex;flex-direction:column;gap:10px}.room-sample-light-item{background:var(--sample-bg);border-radius:12px;overflow:hidden;transition:.2s}.room-sample-light-item.is-on{background:linear-gradient(135deg,var(--sample-green-bg),rgba(0,184,148,.03))}.room-sample-light-main{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;cursor:pointer}.room-sample-light-main::-webkit-details-marker{display:none}.room-sample-light-info{display:flex;align-items:center;gap:12px;min-width:0}.room-sample-light-icon{width:36px;height:36px;border-radius:10px;background:var(--sample-muted);display:flex;align-items:center;justify-content:center;flex-shrink:0}.room-sample-light-item.is-on .room-sample-light-icon{background:var(--sample-green);color:#fff;box-shadow:0 0 12px rgba(0,184,148,.3)}.room-sample-light-name{font-size:14px;font-weight:600}.room-sample-light-controls{display:flex;align-items:center;gap:12px}.room-sample-brightness-display{min-width:48px;text-align:right;font-size:14px;font-weight:600;color:var(--sample-faint);font-variant-numeric:tabular-nums}.room-sample-inline-toggle-row{display:flex;align-items:center;gap:10px;flex-shrink:0}.room-sample-expand-marker{color:var(--sample-faint);font-size:13px;transition:transform .2s}.room-sample-light-item[open] .room-sample-expand-marker{transform:rotate(180deg)}.room-sample-light-details{padding:0 16px 16px}.room-sample-light-meta-row{display:flex;justify-content:space-between;gap:12px;padding:12px 0 10px;border-top:1px solid var(--sample-border-light);font-size:12px;color:var(--sample-faint)}.room-sample-brightness-control{display:grid;gap:8px}.room-sample-brightness-head{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--sample-sub)}.room-sample-brightness-head strong{color:var(--sample-green)}.room-sample-brightness-slider-wrap{position:relative;height:8px;background:var(--sample-muted);border-radius:4px;overflow:hidden}.room-sample-brightness-slider-fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,var(--sample-green),#55efc4);border-radius:4px}.room-sample-brightness-slider{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.room-sample-inline-note{font-size:12px;color:var(--sample-faint);line-height:1.55}.room-sample-air-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px}.room-sample-air-stat{text-align:center;padding:14px 8px;background:var(--sample-bg);border-radius:8px}.room-sample-air-stat-value{font-size:22px;font-weight:700;color:var(--sample-cyan)}.room-sample-air-stat-label{font-size:11px;color:var(--sample-faint);margin-top:4px}.room-sample-speed-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px}.room-sample-speed-btn{padding:12px 8px;border:1px solid var(--sample-border);border-radius:8px;background:var(--sample-white);cursor:pointer;text-align:center;transition:.2s}.room-sample-speed-btn.is-active{border-color:var(--sample-cyan);background:rgba(0,206,201,.1);box-shadow:0 2px 8px rgba(0,206,201,.15)}.room-sample-speed-icon{width:24px;height:24px;margin:0 auto 6px;display:flex;align-items:center;justify-content:center;color:var(--sample-faint)}.room-sample-speed-btn.is-active .room-sample-speed-icon,.room-sample-speed-btn.is-active .room-sample-speed-name{color:var(--sample-cyan)}.room-sample-speed-name{font-size:11px;font-weight:600;color:var(--sample-faint)}.room-sample-fan-mode-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.room-sample-fan-mode-btn{padding:10px;border:1px solid var(--sample-border);border-radius:8px;background:var(--sample-white);cursor:pointer;text-align:center;font-size:12px;font-weight:600;color:var(--sample-sub)}.room-sample-fan-mode-btn.is-active{border-color:var(--sample-cyan);background:rgba(0,206,201,.1);color:var(--sample-cyan)}.room-sample-terminal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.room-sample-terminal-item{padding:14px;border-radius:12px;background:var(--sample-bg);display:grid;gap:6px}.room-sample-terminal-item.is-on{background:linear-gradient(135deg,var(--sample-accent-bg),rgba(0,206,201,.06))}.room-sample-terminal-item strong{font-size:14px}.room-sample-terminal-item span{font-size:12px;color:var(--sample-faint);overflow-wrap:anywhere}.room-sample-terminal-item em{font-style:normal;font-size:12px;font-weight:600;color:var(--sample-sub)}.room-sample-empty{font-size:13px;color:var(--sample-faint);line-height:1.6}@media (max-width:1280px){body .app.shell-app,body.sidebar-collapsed .app.shell-app{display:block}body #licenseBanner,body .banner,body .content{width:100%;max-width:none}.room-sample-device-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.room-sample-device-card.terminal{grid-column:1/-1}}@media (max-width:900px){.status-modal-card.room-sample-modal{width:min(100%,calc(100vw - 20px));max-height:calc(100vh - 20px);padding:14px}.room-sample-header{flex-direction:column;align-items:flex-start}.room-sample-header-right{width:100%;justify-content:space-between}.room-sample-device-grid{grid-template-columns:1fr}.room-sample-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.room-sample-summary-item.wide{grid-column:1/-1}.room-sample-air-stats,.room-sample-fan-mode-row,.room-sample-mode-grid,.room-sample-speed-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.room-sample-season-btns{flex-direction:column}}@media (max-width:640px){.room-sample-modal-page{gap:16px}.room-sample-summary-strip{grid-template-columns:1fr}.room-sample-summary-item.wide{grid-column:auto}.room-sample-quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.room-sample-btn{justify-content:center}.room-sample-air-stats,.room-sample-fan-mode-row,.room-sample-mode-grid,.room-sample-quick-actions,.room-sample-speed-grid{grid-template-columns:1fr}.room-sample-ac-temp-display{gap:12px}.room-sample-ac-temp-circle{width:94px;height:94px}.room-sample-temp-val{font-size:30px}}body .app.shell-app{display:grid;grid-template-columns:clamp(220px,14vw,248px) minmax(0,1fr);min-height:100vh;align-items:stretch}body .sidebar{position:sticky;align-self:start;min-height:100vh;height:100vh}body .shell-main{display:grid;grid-template-rows:auto auto auto minmax(0,1fr)}body .content{width:100%;max-width:none;padding:18px clamp(16px,1.45vw,24px) 28px}body #licenseBanner,body .banner{width:auto;max-width:none}body .shell-titlebar{grid-template-columns:minmax(240px,max-content) minmax(0,1fr)}body .title-bar-right{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}body .title-status-cluster{display:grid}body .title-meta-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(124px,1fr));align-items:stretch;justify-content:stretch}body .chip-list,body .dashboard-panel-tools,body .ref-settings-header,body .section-title,body .settings-page-head,body .title-action-cluster,body .toolbar-actions{flex-wrap:wrap}body .card,body .compact-ac-grid,body .dashboard-home,body .dashboard-main-grid,body .dashboard-suite-card,body .fan-card-grid,body .light-device-grid,body .light-summary-grid,body .page,body .ref-ac-grid,body .ref-device-card,body .ref-device-page,body .ref-fan-grid,body .ref-settings-content,body .ref-settings-layout,body .ref-settings-page,body .room-command-grid,body .room-shell,body .room-summary-grid,body .sample-light-card,body .sample-light-grid,body .settings-block,body .settings-content-shell,body .settings-diagnostics-grid,body .settings-linkage-grid.compact,body .settings-main-shell,body .settings-two-col,body .suite-room-card,body .suite-room-grid{min-width:0}body .dashboard-summary-strip{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}body .dashboard-main-grid{gap:16px}body .dashboard-bottom-grid,body .dashboard-top-grid{grid-template-columns:minmax(0,1fr) minmax(320px,360px);gap:16px;align-items:stretch}body .dashboard-energy-card,body .dashboard-log-card,body .dashboard-quick-card,body .dashboard-room-board,body .dashboard-scene-card{min-width:0}body .suite-room-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}body .ref-ac-grid,body .ref-fan-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}body .sample-light-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}body .compact-ac-grid,body .fan-card-grid,body .light-device-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr))}body .light-summary-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}body .ref-settings-nav{position:sticky}body .settings-main-shell,body .settings-main-shell.system-mode{grid-template-columns:minmax(280px,320px) minmax(0,1fr)}body .settings-side,body .settings-workspace-side{position:sticky}@media (max-width:1500px){body .dashboard-bottom-grid,body .dashboard-top-grid,body .ref-settings-layout,body .settings-main-shell,body .settings-main-shell.system-mode{grid-template-columns:1fr}body .dashboard-control-stack{grid-template-rows:none;height:auto}body .ref-settings-nav,body .settings-side,body .settings-workspace-side{position:static;top:auto}}@media (max-width:1180px){body .app.shell-app,body.sidebar-collapsed .app.shell-app{grid-template-columns:1fr}body .sidebar,body.sidebar-collapsed .sidebar{position:static;width:100%!important;min-height:auto;height:auto;margin:0 0 16px;padding:14px!important;border-right:none;border-bottom:1px solid rgba(17,24,39,.06);border-radius:28px;overflow:visible}body.sidebar-collapsed .brand-copy,body.sidebar-collapsed .nav-label{display:block!important;width:auto!important;overflow:visible!important}body .nav,body.sidebar-collapsed .nav{grid-template-columns:repeat(3,minmax(0,1fr))}body .nav-item,body.sidebar-collapsed .nav-item{width:100%!important;min-height:46px;justify-content:flex-start!important}body .sidebar-collapse{margin-left:auto}body .shell-titlebar{grid-template-columns:1fr;padding:0 0 12px}body .title-bar-right{grid-template-columns:1fr}body .title-action-cluster,body .title-meta-panel{justify-content:flex-start}body .dashboard-room-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:900px){body .nav,body.sidebar-collapsed .nav{grid-template-columns:repeat(2,minmax(0,1fr))}body .title-copy{align-items:flex-start;flex-direction:column;gap:4px}body .title-action-cluster,body .title-meta-panel,body .title-metric-strip{width:100%}body .title-metric-strip{grid-template-columns:1fr}body .dashboard-room-grid,body .sample-light-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body .room-command-grid,body .settings-diagnostics-grid,body .settings-linkage-grid.compact,body .settings-two-col,body .suite-room-devices{grid-template-columns:1fr}}@media (max-width:640px){body .app.shell-app{gap:0}body .sidebar,body.sidebar-collapsed .sidebar{padding:12px!important;margin-bottom:12px}body .sidebar-logo{display:none}body .nav,body.sidebar-collapsed .nav{grid-template-columns:1fr}body .shell-titlebar{padding:0 0 8px;gap:8px}body .content{padding:10px 10px 20px}body #licenseBanner,body .banner{margin-left:10px;margin-right:10px}body .compact-ac-grid,body .dashboard-room-grid,body .fan-card-grid,body .light-device-grid,body .light-summary-grid,body .ref-ac-grid,body .ref-fan-grid,body .room-summary-grid,body .sample-light-grid,body .suite-room-devices,body .suite-room-grid{grid-template-columns:1fr}}body .shell-titlebar{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:12px;padding:2px 0 8px}[data-theme=dark] body .shell-titlebar{background:0 0}body .title-bar-left{flex:1 1 auto;display:flex;align-items:center}body .title-brand-block{display:flex;align-items:center;flex-wrap:nowrap}body .title-brand-top{flex:0 0 auto}body .title-copy{display:flex;align-items:center;gap:10px;flex:1 1 auto;flex-wrap:nowrap}body .title-copy h1{letter-spacing:-.03em;flex:0 0 auto}[data-theme=dark] body .title-copy h1{color:var(--text)}body #pageSubtitle{margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#728097;font-size:12px;line-height:1;font-weight:600;display:none!important}[data-theme=dark] body #pageSubtitle{color:rgba(203,213,225,.82)}body .title-bar-right{flex:0 1 auto;display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}body .title-bar-right::-webkit-scrollbar{display:none}body .title-action-cluster,body .title-meta-block,body .title-meta-panel,body .title-metric-strip,body .title-status-cluster,body .top-status-stack{display:flex;align-items:center;flex-wrap:nowrap}body .title-action-cluster,body .title-metric-strip,body .title-status-cluster{flex:0 0 auto}body .title-bar-right .title-refresh,body .title-bar-right .top-chip,body .title-bar-right .top-user,body .title-meta-panel{min-height:36px;border-radius:12px;border:1px solid rgba(218,226,239,.95);background:rgba(255,255,255,.92);box-shadow:0 12px 28px rgba(31,43,61,.06)}[data-theme=dark] body .title-bar-right .title-refresh,[data-theme=dark] body .title-bar-right .top-chip,[data-theme=dark] body .title-bar-right .top-user,[data-theme=dark] body .title-meta-panel{border-color:rgba(148,163,184,.16);background:rgba(23,32,51,.9);box-shadow:none}body .title-meta-panel{flex:0 0 auto;justify-content:flex-start}body .title-meta-label{color:#7b889c;font-size:10px;line-height:1;font-weight:700}body .title-bar-right .top-chip-copy{gap:6px}body .title-bar-right .badge{box-shadow:none}[data-theme=dark] body .title-bar-right .badge{color:var(--text)}[data-theme=dark] body .title-bar-right .title-refresh{border-color:#6c84ff;background:linear-gradient(135deg,#5b74ff 0,#4262f1 100%);color:#fff}@media (max-width:1280px){body .shell-titlebar{flex-wrap:wrap;align-items:flex-start}body .title-bar-right{width:100%;justify-content:flex-start}}@media (max-width:900px){body .title-copy{flex-direction:column;align-items:flex-start;gap:4px}body #pageSubtitle{white-space:normal}body .title-action-cluster,body .title-meta-panel,body .title-metric-strip,body .title-status-cluster{width:100%;flex-wrap:wrap}}@media (max-width:640px){body .shell-titlebar{gap:8px;padding:0 0 8px}body .title-bar-divider,body .traffic-lights{display:none}body .title-copy h1{font-size:20px}body .title-bar-right .title-refresh,body .title-bar-right .top-chip,body .title-bar-right .top-user,body .title-meta-panel{width:100%}}:root{--viewport-shell-max:min(1880px,calc(100vw - 28px));--viewport-scale:1;--viewport-shell-gap:calc(18px * var(--viewport-scale));--viewport-shell-pad-x:calc(22px * var(--viewport-scale));--viewport-sidebar-width:clamp(132px,7.4vw,146px);--viewport-sidebar-collapsed:clamp(56px,3.45vw,64px);--sidebar-pad-y:clamp(12px,.74vw,14px);--sidebar-pad-x:clamp(6px,.42vw,8px);--sidebar-gap:clamp(6px,.42vw,8px);--sidebar-logo-gap:clamp(6px,.42vw,8px);--sidebar-logo-pad-top:clamp(4px,.21vw,4px);--sidebar-logo-pad-x:clamp(5px,.32vw,6px);--sidebar-logo-pad-bottom:clamp(6px,.42vw,8px);--sidebar-logo-size:clamp(32px,1.85vw,36px);--sidebar-logo-radius:clamp(10px,.63vw,12px);--sidebar-logo-icon-size:clamp(20px,1.15vw,22px);--sidebar-title-size:clamp(12px,.68vw,13px);--sidebar-sub-size:clamp(8px,.47vw,9px);--sidebar-nav-gap:clamp(4px,.26vw,5px);--sidebar-item-height:clamp(38px,2.15vw,42px);--sidebar-item-pad-y:clamp(8px,.47vw,9px);--sidebar-item-pad-right:clamp(8px,.52vw,10px);--sidebar-item-pad-left:clamp(10px,.63vw,12px);--sidebar-item-radius:clamp(12px,.68vw,13px);--sidebar-accent-left:clamp(5px,.32vw,6px);--sidebar-accent-inset:clamp(8px,.47vw,9px);--sidebar-icon-size:clamp(16px,.89vw,17px);--sidebar-label-size:clamp(11px,.63vw,12px);--sidebar-foot-pad-top:clamp(6px,.42vw,8px);--sidebar-foot-pad-x:clamp(5px,.32vw,6px);--sidebar-foot-size:clamp(9px,.52vw,10px);--viewport-dashboard-board-height:calc(304px * var(--viewport-scale));--viewport-dashboard-side-width:calc(372px * var(--viewport-scale));--viewport-grid-card-min:calc(320px * var(--viewport-scale));--viewport-device-card-min:calc(336px * var(--viewport-scale));--viewport-sidebar-width:clamp(120px,6.5vw,132px);--viewport-sidebar-collapsed:clamp(64px,3.6vw,72px)}body .app.shell-app{display:grid;grid-template-columns:var(--viewport-sidebar-width) minmax(0,1fr);min-height:100dvh;background:0 0}body.sidebar-collapsed .app.shell-app{grid-template-columns:var(--viewport-sidebar-collapsed) minmax(0,1fr)}body .sidebar{position:sticky;align-self:start;padding:var(--sidebar-pad-y) var(--sidebar-pad-x) clamp(10px,.52vw,10px);gap:var(--sidebar-gap)}body .sidebar-logo{display:flex;align-items:center;gap:var(--sidebar-logo-gap);padding:var(--sidebar-logo-pad-top) var(--sidebar-logo-pad-x) var(--sidebar-logo-pad-bottom)}body .sidebar-logo-icon{width:var(--sidebar-logo-size);height:var(--sidebar-logo-size);flex:0 0 var(--sidebar-logo-size);border-radius:var(--sidebar-logo-radius);display:flex;align-items:center;justify-content:center;box-shadow:0 12px 24px rgba(37,99,235,.18)}body .sidebar-logo-icon svg{width:var(--sidebar-logo-icon-size);height:var(--sidebar-logo-icon-size)}body .sidebar-logo-icon.has-custom-logo{padding:4px;background:#fff}body .sidebar-logo-image{display:block;width:100%;height:100%;object-fit:contain;border-radius:inherit}body .sidebar-logo-text{display:grid;gap:1px;transition:opacity .18s,transform .18s,width .18s}body .sidebar-logo-text-title{font-size:var(--sidebar-title-size);letter-spacing:-.03em}body .sidebar-logo-text-sub{font-size:var(--sidebar-sub-size);letter-spacing:.12em;text-transform:uppercase}body .nav{gap:var(--sidebar-nav-gap)}body .nav-item{position:relative;min-height:var(--sidebar-item-height);padding:var(--sidebar-item-pad-y) var(--sidebar-item-pad-right) var(--sidebar-item-pad-y) var(--sidebar-item-pad-left);border-radius:var(--sidebar-item-radius);border:1px solid transparent;font-weight:600;transition:background .18s,color .18s,border-color .18s,box-shadow .18s}body .nav-item.active{border-color:rgba(37,99,235,.14);box-shadow:0 10px 24px rgba(37,99,235,.1)}body .nav-item.active::before{content:"";position:absolute;left:var(--sidebar-accent-left);top:var(--sidebar-accent-inset);bottom:var(--sidebar-accent-inset);width:2px;border-radius:999px;background:linear-gradient(180deg,#2563eb,#14b8a6)}body .nav-item.active .nav-icon{color:#2563eb;transform:scale(1.04)}body .nav-icon{width:var(--sidebar-icon-size);height:var(--sidebar-icon-size);display:inline-flex;align-items:center;justify-content:center;flex:0 0 var(--sidebar-icon-size);transition:transform .18s,color .18s}body .nav-icon svg{width:100%;height:100%}body .nav-label{font-size:var(--sidebar-label-size)}body .sidebar-foot{display:grid;padding:var(--sidebar-foot-pad-top) var(--sidebar-foot-pad-x) 0;font-size:var(--sidebar-foot-size)}body.sidebar-collapsed .sidebar-logo{justify-content:center;padding-inline:0}body.sidebar-collapsed .sidebar-logo-text{opacity:0;width:0;overflow:hidden;transform:translateX(-8px);pointer-events:none}body .shell-main{min-width:0;min-height:100dvh;display:grid;grid-template-rows:auto auto auto minmax(0,1fr)}body .shell-titlebar{position:sticky;padding:10px var(--viewport-shell-pad-x) 8px;gap:12px 18px;grid-template-columns:minmax(280px,400px) minmax(0,1fr);background:rgba(244,247,251,.88);backdrop-filter:blur(16px)}body .title-bar-right{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;justify-content:stretch}body .title-status-cluster{display:grid;align-content:start}body .title-metric-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}body .title-meta-panel{display:flex;flex-wrap:wrap;align-items:center}body .title-action-cluster{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap}body .content{width:min(100%,var(--viewport-shell-max));max-width:var(--viewport-shell-max);margin:0 auto;padding:14px var(--viewport-shell-pad-x) 22px;display:grid;gap:var(--viewport-shell-gap);align-content:start}body .dashboard-home,body .page.active,body .ref-device-page,body .ref-settings-layout,body .ref-settings-page,body .room-shell,body .settings-content-shell,body .settings-diagnostics-grid,body .settings-linkage-grid.compact,body .settings-page,body .settings-two-col{display:grid;gap:var(--viewport-shell-gap);min-width:0}body #licenseBanner,body .banner{width:min(100%,var(--viewport-shell-max));max-width:var(--viewport-shell-max);margin-left:auto;margin-right:auto}body .section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}body .chip-list,body .dashboard-panel-tools,body .ref-settings-header,body .settings-page-head,body .toolbar-actions{flex-wrap:wrap;gap:10px}body .dashboard-summary-strip{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}body .dashboard-main-grid{gap:var(--viewport-shell-gap);--dashboard-board-height:var(--viewport-dashboard-board-height)}body .dashboard-bottom-grid,body .dashboard-top-grid{grid-template-columns:minmax(0,1fr) var(--viewport-dashboard-side-width);gap:var(--viewport-shell-gap);align-items:stretch}body .dashboard-control-stack{grid-template-rows:repeat(2,minmax(0,1fr));gap:14px}body .dashboard-room-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}body .dashboard-alert-card,body .dashboard-energy-card,body .dashboard-env-card,body .dashboard-log-card,body .dashboard-quick-card,body .dashboard-room-board,body .dashboard-scene-card{min-height:var(--dashboard-board-height);height:auto!important;max-height:none!important}body .dashboard-bottom-grid .dashboard-energy-card,body .dashboard-bottom-grid .dashboard-log-card{height:auto!important;min-height:var(--dashboard-board-height);max-height:none!important;overflow:visible}body .suite-room-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--viewport-grid-card-min)),1fr));gap:16px}body .suite-room-devices{grid-template-columns:repeat(2,minmax(0,1fr))}body .compact-ac-grid,body .fan-card-grid,body .ref-ac-grid,body .ref-fan-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--viewport-device-card-min)),1fr));gap:16px}body .light-device-grid,body .light-summary-grid,body .sample-light-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,232px),1fr));gap:12px}body .room-summary-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr))}body .ref-settings-layout{display:block;min-width:0}body .settings-main-shell,body .settings-main-shell.system-mode{grid-template-columns:minmax(280px,320px) minmax(0,1fr);align-items:start}body .settings-two-col{grid-template-columns:repeat(2,minmax(0,1fr))}body .ref-settings-nav,body .settings-side,body .settings-workspace-side{position:sticky;top:88px}body .status-modal{padding:14px}body .status-modal-card{width:min(1520px,calc(100vw - 28px));max-height:calc(100dvh - 28px);padding:14px;border-radius:24px}body .status-modal-card.light-control-modal{width:min(880px,calc(100vw - 24px));max-height:calc(100dvh - 24px)}body .room-sample-quick-actions{display:none!important}body .room-sample-summary-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}body .room-sample-device-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}body .room-sample-card-content{padding:16px}body .room-sample-card-content.light-cluster{display:grid;align-content:start;gap:14px}body .room-sample-light-scene-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}body .room-sample-light-scene-btn{min-height:38px;border:none;border-radius:12px;background:rgba(15,23,42,.05);color:#334155;font-size:12px;font-weight:800;cursor:pointer;transition:transform .16s,background .16s,color .16s}body .room-sample-light-scene-btn:hover{transform:translateY(-1px)}body .room-sample-light-scene-btn.primary{background:linear-gradient(135deg,#22c55e,#14b8a6);color:#fff}body .room-sample-light-scene-btn.danger{background:linear-gradient(135deg,#f97316,#ef4444);color:#fff}body .room-sample-light-cluster-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}body .room-sample-light-cluster-btn{min-width:0;display:grid;gap:6px;align-content:center;justify-items:start;text-align:left;cursor:pointer}body .room-sample-light-cluster-btn:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(15,23,42,.06)}body .room-sample-light-cluster-btn.offline{opacity:.62}body .room-sample-light-cluster-btn:disabled{cursor:not-allowed;transform:none;box-shadow:none}body .room-sample-light-cluster-name{width:100%;line-height:1.45;overflow-wrap:anywhere}body .room-sample-light-cluster-state{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;font-weight:800}body .room-sample-light-cluster-btn.on .room-sample-light-cluster-state{background:rgba(34,197,94,.14)}body .room-sample-light-cluster-btn.offline .room-sample-light-cluster-state{background:rgba(148,163,184,.14)}body .apple-light-modal{gap:14px}body .apple-light-panel{padding:16px}@media (max-height:1080px){:root{--viewport-dashboard-board-height:clamp(228px,24dvh,282px)}body .sidebar{padding-top:14px;padding-bottom:12px}body .content{padding-top:12px;padding-bottom:18px}body .status-modal,body .status-modal-card,body .status-modal-card.light-control-modal,body .status-modal-card.room-sample-modal{max-height:calc(100dvh - 18px)}}@media (max-width:1680px){body .dashboard-summary-strip{grid-template-columns:repeat(3,minmax(0,1fr))}body .dashboard-bottom-grid,body .dashboard-top-grid{grid-template-columns:minmax(0,1fr) minmax(300px,340px)}body .dashboard-room-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:1440px){body .dashboard-bottom-grid,body .dashboard-top-grid,body .ref-settings-layout,body .settings-main-shell,body .settings-main-shell.system-mode{grid-template-columns:1fr}body .dashboard-control-stack{grid-template-rows:none}body .ref-settings-nav,body .settings-side,body .settings-workspace-side{position:static;top:auto}}@media (max-width:1180px){body .app.shell-app,body.sidebar-collapsed .app.shell-app{grid-template-columns:1fr}body .sidebar,body.sidebar-collapsed .sidebar{position:static;width:100%!important;min-height:auto;height:auto;padding:14px!important;margin:0 0 14px;overflow:visible}body .nav,body.sidebar-collapsed .nav{grid-template-columns:repeat(3,minmax(0,1fr))}body .shell-titlebar{grid-template-columns:1fr;padding-top:8px}body .title-bar-right{grid-template-columns:1fr}body .dashboard-room-grid,body .dashboard-summary-strip{grid-template-columns:repeat(3,minmax(0,1fr))}body .room-sample-device-grid{grid-template-columns:1fr}body .room-sample-light-cluster-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:900px){body .nav,body.sidebar-collapsed .nav{grid-template-columns:repeat(2,minmax(0,1fr))}body .room-command-grid,body .settings-diagnostics-grid,body .settings-linkage-grid.compact,body .settings-two-col,body .title-bar-right,body .title-metric-strip{grid-template-columns:1fr}body .dashboard-room-grid,body .dashboard-summary-strip,body .sample-light-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body .room-sample-summary-strip,body .suite-room-devices{grid-template-columns:1fr}body .room-sample-light-cluster-grid,body .room-sample-light-scene-row{grid-template-columns:1fr 1fr}body .room-sample-summary-item.wide{grid-column:auto}body .status-modal-card{width:min(100%,calc(100vw - 20px))}}@media (max-width:640px){body .sidebar,body.sidebar-collapsed .sidebar{padding:12px!important;margin-bottom:12px}body .sidebar-logo{display:none}body .nav,body.sidebar-collapsed .nav{grid-template-columns:1fr}body .shell-titlebar{padding:6px 0 8px;gap:8px}body .content{padding:10px 10px 18px}body .compact-ac-grid,body .dashboard-room-grid,body .dashboard-summary-strip,body .fan-card-grid,body .light-device-grid,body .light-summary-grid,body .ref-ac-grid,body .ref-fan-grid,body .room-summary-grid,body .sample-light-grid,body .suite-room-grid{grid-template-columns:1fr}body .status-modal{padding:10px}body .room-sample-light-cluster-grid,body .room-sample-light-scene-row{grid-template-columns:1fr}body .status-modal-card,body .status-modal-card.light-control-modal,body .status-modal-card.room-sample-modal{width:min(100%,calc(100vw - 20px));max-height:calc(100dvh - 20px);border-radius:20px;padding:12px}}body .shell-titlebar{position:sticky!important;top:0;z-index:40;display:grid!important;grid-template-columns:minmax(260px,380px) minmax(0,1fr)!important;align-items:center!important;gap:14px!important;min-height:64px!important;padding:10px clamp(16px,1.25vw,24px)!important;margin:0!important;border:0!important;border-bottom:1px solid rgba(148,163,184,.16)!important;background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(247,250,255,.74)),radial-gradient(circle at 8% 0,rgba(59,130,246,.1),transparent 28%)!important;backdrop-filter:blur(20px) saturate(1.35)!important;box-shadow:0 12px 36px rgba(15,23,42,.06)!important}[data-theme=dark] body .shell-titlebar{background:linear-gradient(135deg,rgba(15,23,42,.92),rgba(23,32,51,.82)),radial-gradient(circle at 8% 0,rgba(96,165,250,.16),transparent 28%)!important;border-bottom-color:rgba(148,163,184,.14)!important;box-shadow:none!important}body .title-bar-left{min-width:0!important;display:flex!important;align-items:center!important}body .title-brand-block{min-width:0!important;display:flex!important;align-items:center!important;gap:12px!important;flex-wrap:nowrap!important}body .title-brand-top{flex:0 0 auto!important;display:flex!important;align-items:center!important;gap:8px!important}body .traffic-lights{display:flex!important;align-items:center!important;gap:5px!important;width:auto!important;min-width:auto!important;padding:0!important;background:0 0!important;border:0!important;box-shadow:none!important}body .traffic-light{width:9px!important;height:9px!important;border-radius:999px!important}body .title-bar-divider{display:none!important}body .page-kicker{min-height:26px!important;height:26px!important;padding:0 10px!important;border-radius:999px!important;display:inline-flex!important;align-items:center!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:150px!important;font-size:9px!important;font-weight:800!important;letter-spacing:.08em!important;color:#64748b!important;background:rgba(15,23,42,.045)!important;border:1px solid rgba(148,163,184,.14)!important;box-shadow:none!important}body .title-copy{min-width:0!important;display:flex!important;align-items:baseline!important;gap:8px!important;flex:1 1 auto!important;flex-direction:row!important}body .title-copy h1{margin:0!important;min-width:0!important;max-width:180px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:21px!important;line-height:1!important;font-weight:900!important;letter-spacing:-.04em!important;color:#172033!important}body .title-bar-right{min-width:0!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;flex-wrap:nowrap!important;overflow:hidden!important;padding:0!important}body .title-status-cluster{min-width:0!important;flex:1 1 auto!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;flex-wrap:nowrap!important;padding:0!important;border:0!important;background:0 0!important;box-shadow:none!important}body .title-metric-strip{min-width:0!important;flex:0 1 auto!important;display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:nowrap!important}body .title-meta-panel{min-width:0!important;flex:0 1 auto!important;display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:nowrap!important;padding:0!important;border:0!important;background:0 0!important;box-shadow:none!important}body .title-meta-block{min-width:0!important;display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:nowrap!important}body .title-meta-label{display:none!important}body .top-status-stack{min-width:0!important;display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:nowrap!important}body .title-action-cluster{flex:0 0 auto!important;min-width:0!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;flex-wrap:nowrap!important}body .title-bar-right .badge,body .title-bar-right .title-refresh,body .title-bar-right .top-chip,body .title-bar-right .top-user{flex:0 0 auto!important;width:auto!important;min-width:0!important;min-height:38px!important;height:38px!important;border-radius:999px!important;border:1px solid rgba(148,163,184,.16)!important;background:rgba(255,255,255,.74)!important;color:#263244!important;box-shadow:0 8px 24px rgba(15,23,42,.045)!important;backdrop-filter:blur(14px)!important}body .title-bar-right .top-chip{display:flex!important;align-items:center!important;gap:8px!important;padding:0 12px!important}body .title-bar-right .top-chip-icon{width:20px!important;height:20px!important;border-radius:999px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0!important;color:#3b82f6!important;background:rgba(59,130,246,.1)!important}body .title-bar-right .top-chip-ambient .top-chip-icon{color:#0f766e!important;background:rgba(20,184,166,.11)!important}body .title-bar-right .top-chip-icon svg{width:14px!important;height:14px!important}body .title-bar-right .top-chip-copy,body .title-bar-right .top-user-copy{min-width:0!important;display:flex!important;align-items:baseline!important;gap:5px!important;flex-direction:row!important}body .title-bar-right .top-chip-copy strong,body .title-bar-right .top-user-copy strong{min-width:0!important;font-size:13px!important;line-height:1!important;font-weight:900!important;color:#111827!important;white-space:nowrap!important}body .title-bar-right .top-chip-copy span,body .title-bar-right .top-user-copy span{font-size:10px!important;line-height:1!important;font-weight:700!important;color:#7b8798!important;white-space:nowrap!important}body .title-bar-right .badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;max-width:160px!important;padding:0 12px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:11px!important;font-weight:800!important}.license-modal-shell{display:grid;gap:12px}.license-modal-overview{display:grid;gap:10px;padding:14px 16px;border-radius:16px;background:linear-gradient(180deg,#f8fbff 0,#f1f5f9 100%);border:1px solid rgba(148,163,184,.18)}.license-modal-overview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.license-modal-kicker{display:inline-flex;margin-bottom:6px;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#2563eb}.license-modal-overview h4{margin:0;font-size:18px;line-height:1.1}.license-modal-overview p{margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.license-modal-summary-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.license-modal-summary-item{display:grid;gap:4px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.82);border:1px solid rgba(148,163,184,.14);min-width:0}.license-modal-summary-item span{font-size:11px;color:rgba(17,24,39,.46);line-height:1}.license-modal-summary-item strong{display:block;min-width:0;font-size:13px;font-weight:800;color:#0f172a;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.license-modal-alert{padding:10px 12px;border-radius:12px;font-size:12px;font-weight:600;line-height:1.5;border:1px solid rgba(148,163,184,.18);background:#fff}.license-modal-alert.green{background:#ecfdf5;border-color:rgba(16,185,129,.2);color:#047857}.license-modal-alert.orange{background:#fff7ed;border-color:rgba(249,115,22,.2);color:#c2410c}.license-modal-alert.red{background:#fef2f2;border-color:rgba(239,68,68,.18);color:#b91c1c}.license-modal-alert.blue{background:#eff6ff;border-color:rgba(59,130,246,.2);color:#1d4ed8}.license-modal-grid{display:grid;grid-template-columns:minmax(340px,420px) minmax(0,1fr);gap:12px;align-items:start}.license-modal-form-card{display:grid;gap:10px}.license-modal-form-card.attention{border-color:rgba(249,115,22,.24);box-shadow:0 10px 24px rgba(249,115,22,.08)}.license-modal-section-note{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.license-modal-actions{justify-content:flex-end;gap:8px}.license-modal-login{display:grid;gap:12px}.license-modal-login p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}body .status-modal-card.license-status-modal{width:min(880px,calc(100vw - 32px))!important;max-height:min(760px,calc(100vh - 24px))!important}body .status-modal-card.license-status-modal #statusModalBody{padding-top:0}body .status-modal-card.license-status-modal .status-modal-head{align-items:center;gap:10px;margin-bottom:12px;padding-bottom:10px}body .status-modal-card.license-status-modal .status-modal-head-copy{gap:2px}body .status-modal-card.license-status-modal .status-modal-kicker{display:none}body .status-modal-card.license-status-modal .status-modal-head h3{font-size:18px;line-height:1.1}body .status-modal-card.license-status-modal .status-modal-head p{display:none}body .status-modal-card.license-status-modal .status-modal-section h4{font-size:15px;line-height:1.2}[data-theme=dark] .license-modal-overview{background:linear-gradient(180deg,rgba(30,41,59,.86) 0,rgba(17,24,39,.94) 100%);border-color:rgba(148,163,184,.16)}[data-theme=dark] .license-modal-kicker{color:#60a5fa}[data-theme=dark] .license-modal-summary-item{background:rgba(15,23,42,.34);border-color:rgba(148,163,184,.14)}[data-theme=dark] .license-modal-summary-item span{color:#9aa9bf}[data-theme=dark] .license-modal-summary-item strong{color:#f8fafc}[data-theme=dark] .license-modal-alert{background:rgba(15,23,42,.58)}[data-theme=dark] .license-modal-alert.green{color:#86efac}[data-theme=dark] .license-modal-alert.orange{color:#fdba74}[data-theme=dark] .license-modal-alert.red{color:#fca5a5}[data-theme=dark] .license-modal-alert.blue{color:#93c5fd}@media (max-width:900px){.license-modal-grid{grid-template-columns:minmax(0,1fr)}.license-modal-summary-row{grid-template-columns:repeat(2,minmax(0,1fr))}}body .title-bar-right .top-user{position:relative!important;display:flex!important;align-items:center!important;gap:8px!important;padding:0 12px 0 34px!important}body .title-bar-right .top-user::before{content:""!important;position:absolute!important;left:12px!important;width:14px!important;height:14px!important;border-radius:999px!important;background:linear-gradient(135deg,#22c55e,#14b8a6)!important;box-shadow:0 0 0 4px rgba(34,197,94,.12)!important}body .title-bar-right .user-chip{min-height:24px!important;height:24px!important;padding:0 8px!important;border-radius:999px!important}body .title-bar-right .title-refresh{display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0 16px!important;border-color:rgba(59,130,246,.32)!important;background:linear-gradient(135deg,#2563eb,#14b8a6)!important;color:#fff!important;font-size:12px!important;font-weight:900!important}[data-theme=dark] body .title-bar-right .badge,[data-theme=dark] body .title-bar-right .top-chip,[data-theme=dark] body .title-bar-right .top-user{border-color:rgba(148,163,184,.16)!important;background:rgba(30,41,59,.72)!important;color:#e5edf8!important;box-shadow:none!important}[data-theme=dark] body .title-bar-right .top-chip-copy strong,[data-theme=dark] body .title-bar-right .top-user-copy strong,[data-theme=dark] body .title-copy h1{color:#f8fafc!important}@media (max-width:1500px){body .shell-titlebar{grid-template-columns:minmax(220px,300px) minmax(0,1fr)!important}body .page-kicker,body .title-bar-right .top-chip-copy span,body .title-bar-right .top-user-copy span{display:none!important}body .title-bar-right .badge{max-width:128px!important}}@media (max-width:1180px){body .shell-titlebar{grid-template-columns:1fr!important;align-items:start!important;min-height:auto!important}body .title-bar-right{justify-content:flex-start!important;overflow-x:auto!important;scrollbar-width:none!important}body .title-status-cluster{justify-content:flex-start!important}}@media (max-width:760px){body .shell-titlebar{padding:8px 10px!important}body .title-brand-top,body .traffic-lights{display:none!important}body .title-copy h1{max-width:100%!important;font-size:20px!important}body .title-bar-right{gap:6px!important}body .title-bar-right .badge,body .title-bar-right .title-refresh,body .title-bar-right .top-chip,body .title-bar-right .top-user{height:34px!important;min-height:34px!important}}body .status-modal-card.room-sample-modal{background:linear-gradient(180deg,#fcfcfd 0,#f3f5f7 100%)!important;box-shadow:0 28px 60px rgba(15,23,42,.16)!important}body .room-sample-modal-page{color:#111827!important;display:grid!important;gap:14px!important;font-family:"PingFang SC","Microsoft YaHei","Segoe UI",sans-serif!important}body .room-sample-header{padding:0 2px!important;align-items:center!important}body .room-sample-header-left{min-width:0!important}body .room-sample-header-right{margin-left:auto!important;gap:10px!important}body .room-sample-ac-readings,body .room-sample-ac-temp-display,body .room-sample-air-stats,body .room-sample-fan-mode-row,body .room-sample-header-title p,body .room-sample-light-scene-row,body .room-sample-logo-mark,body .room-sample-mode-grid,body .room-sample-season-btns,body .room-sample-speed-grid,body .room-sample-status-bar,body .room-sample-status-row,body .room-sample-summary-strip,body .room-sample-temp-presets,body .room-sample-time-info{display:none!important}body .room-sample-header-title h2{margin:0!important;font-size:22px!important;font-weight:700!important;letter-spacing:.02em!important;color:#111827!important}body .room-sample-close{width:38px!important;height:38px!important;border-radius:999px!important;background:rgba(255,255,255,.92)!important;border:1px solid rgba(15,23,42,.08)!important;box-shadow:none!important;color:#4b5563!important}body .room-sample-close:hover{transform:none!important;background:#fff!important;color:#111827!important}body .room-sample-device-grid{grid-template-columns:1fr!important;gap:12px!important}body .room-sample-device-card{border-radius:22px!important;border:1px solid rgba(15,23,42,.08)!important;background:rgba(255,255,255,.92)!important;box-shadow:none!important;overflow:hidden!important}body .room-sample-device-card:hover{transform:none!important;border-color:rgba(15,23,42,.08)!important;box-shadow:none!important}body .room-sample-device-card.is-active{box-shadow:none!important}body #roomSampleAcCard.is-active{border-color:rgba(59,130,246,.26)!important;background:linear-gradient(180deg,#fff 0,#f6faff 100%)!important}body #roomSampleLightCard.is-active{border-color:rgba(245,158,11,.28)!important;background:linear-gradient(180deg,#fff 0,#fffaf0 100%)!important}body #roomSampleFanCard.is-active{border-color:rgba(16,185,129,.24)!important;background:linear-gradient(180deg,#fff 0,#f2fbf7 100%)!important}body .room-sample-card-head{padding:18px 18px 16px!important;border-bottom:none!important;gap:12px!important}body .room-sample-card-info{gap:12px!important}body .room-sample-card-icon{width:42px!important;height:42px!important;border-radius:14px!important;background:#f3f4f6!important;box-shadow:none!important;font-size:18px!important}body #roomSampleAcCard .room-sample-card-icon{background:#eff6ff!important}body #roomSampleLightCard .room-sample-card-icon{background:#fff7ed!important}body #roomSampleFanCard .room-sample-card-icon{background:#ecfdf5!important}body .fan-icon-animate{animation:none!important}body .room-sample-card-label{display:flex!important;align-items:center!important;min-height:42px!important}body .room-sample-card-label h3{margin:0!important;font-size:16px!important;font-weight:700!important;color:#111827!important}body .room-sample-card-label span{display:none!important}body .room-sample-toggle{width:52px!important;height:30px!important;border-radius:999px!important;background:#d9dee5!important;box-shadow:none!important}body .room-sample-toggle::before{top:3px!important;left:3px!important;width:24px!important;height:24px!important;box-shadow:0 2px 6px rgba(15,23,42,.14)!important}body .room-sample-toggle.on::before{transform:translateX(22px)!important}body .room-sample-toggle.on.ac{background:#2563eb!important}body .room-sample-toggle.on.light{background:#f59e0b!important}body .room-sample-toggle.on.fan{background:#10b981!important}body .room-sample-toggle.disabled{opacity:.45!important}body #roomSampleAcCard .room-sample-card-content,body #roomSampleFanCard .room-sample-card-content{display:none!important}body #roomSampleLightCard .room-sample-card-content{padding:0 18px 18px!important}body .room-sample-light-cluster-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(136px,1fr))!important;gap:10px!important}body .room-sample-light-cluster-btn{min-height:72px!important;padding:14px 16px!important;border-radius:16px!important;border:1px solid rgba(15,23,42,.08)!important;background:#fff!important;box-shadow:none!important;align-items:flex-start!important;justify-content:space-between!important;gap:8px!important;transition:border-color .2s,background .2s,color .2s!important}body .room-sample-light-cluster-btn:hover{transform:none!important;border-color:rgba(15,23,42,.16)!important}body .room-sample-light-cluster-btn.on{background:#fff7ed!important;border-color:rgba(245,158,11,.34)!important}body .room-sample-light-cluster-btn.off{background:#fff!important;border-color:rgba(15,23,42,.08)!important}body .room-sample-light-cluster-btn.offline{background:#f3f4f6!important;border-color:rgba(148,163,184,.18)!important}body .room-sample-light-cluster-name{font-size:14px!important;font-weight:600!important;color:#111827!important}body .room-sample-light-cluster-state{min-width:auto!important;padding:0!important;border:none!important;background:0 0!important;font-size:12px!important;color:#6b7280!important;text-align:left!important}body .room-sample-light-cluster-btn.on .room-sample-light-cluster-state{color:#b45309!important}body .room-sample-light-cluster-btn.offline .room-sample-light-cluster-name,body .room-sample-light-cluster-btn.offline .room-sample-light-cluster-state{color:#9ca3af!important}body .room-sample-empty{padding:4px 0 0!important;color:#6b7280!important;font-size:13px!important}@media (max-width:768px){body .status-modal-card.room-sample-modal{width:min(calc(100vw - 20px),720px)!important;max-height:calc(100vh - 20px)!important;padding:14px!important;border-radius:22px!important}body .room-sample-header-title h2{font-size:18px!important}body .room-sample-card-head{padding:16px!important}body #roomSampleLightCard .room-sample-card-content{padding:0 16px 16px!important}body .room-sample-light-cluster-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}body .status-modal-card.room-sample-modal{box-shadow:0 28px 80px rgba(15,23,42,.18)!important}body .room-smart-modal-page{--smart-surface:rgba(255,255,255,.82);--smart-surface-strong:#ffffff;--smart-border:rgba(148,163,184,.18);--smart-text:#0f172a;--smart-sub:#64748b;--smart-blue:#2563eb;--smart-blue-soft:rgba(37,99,235,.10);--smart-amber:#f59e0b;--smart-amber-soft:rgba(245,158,11,.10);--smart-green:#10b981;--smart-green-soft:rgba(16,185,129,.10);display:grid;grid-template-columns:minmax(0,1fr);gap:14px;width:100%;height:100%;min-height:0;overflow:auto;padding-right:4px;align-content:start;color:var(--smart-text);font-family:"PingFang SC","Microsoft YaHei","Segoe UI",sans-serif}body .room-smart-modal-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px;padding:4px 4px 0}body .room-smart-modal-title{min-width:0;display:grid;gap:6px}body .room-smart-modal-title h2{margin:0;font-size:clamp(24px,2vw,30px);font-weight:800;letter-spacing:-.03em;color:var(--smart-text);line-height:1.08}body .room-smart-modal-title span{display:inline-flex;align-items:center;width:fit-content;max-width:100%;min-height:34px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.82);border:1px solid rgba(148,163,184,.16);font-size:13px;font-weight:600;color:var(--smart-sub);box-sizing:border-box}body .room-smart-close{width:40px;height:40px;border:none;border-radius:999px;background:rgba(255,255,255,.92);color:#475569;font-size:24px;line-height:1;cursor:pointer;box-shadow:0 8px 20px rgba(15,23,42,.08);transition:background .2s,color .2s,transform .2s}body .room-smart-close:hover{background:#fff;color:#111827;transform:translateY(-1px)}body .room-smart-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"ac" "fresh" "light";gap:12px;width:100%;align-items:start}body .room-smart-summary-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;padding:2px 2px 0;width:100%}body .room-smart-summary-strip .chip{display:flex;align-items:center;min-height:42px;padding:10px 12px;border-radius:16px;background:rgba(255,255,255,.76);border:1px solid rgba(148,163,184,.16);font-size:12px;font-weight:700;color:#475569;box-shadow:0 8px 20px rgba(15,23,42,.04);overflow-wrap:anywhere}body #roomSmartAcCard{grid-area:ac}body #roomSmartLightCard{grid-area:light}body #roomSmartFreshCard{grid-area:fresh}body .room-smart-card{border-radius:24px;border:1px solid var(--smart-border);background:var(--smart-surface);box-shadow:0 10px 28px rgba(15,23,42,.06);backdrop-filter:blur(16px);overflow:hidden;min-width:0}body .room-smart-card.is-active.ac{border-color:rgba(37,99,235,.24);background:linear-gradient(180deg,rgba(255,255,255,.94) 0,rgba(239,246,255,.94) 100%)}body .room-smart-card.is-active.light{border-color:rgba(245,158,11,.26);background:linear-gradient(180deg,rgba(255,255,255,.94) 0,rgba(255,251,235,.94) 100%)}body .room-smart-card.is-active.fresh{border-color:rgba(16,185,129,.24);background:linear-gradient(180deg,rgba(255,255,255,.94) 0,rgba(240,253,244,.94) 100%)}body .room-smart-card.is-offline{opacity:.8}body .room-smart-card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:18px 18px 14px}body .room-smart-card-copy{display:flex;align-items:center;gap:12px;min-width:0;flex:1 1 auto}body .room-smart-card-icon{width:46px;height:46px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:20px;background:#f1f5f9;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}body .room-smart-card.ac .room-smart-card-icon{background:var(--smart-blue-soft)}body .room-smart-card.light .room-smart-card-icon{background:var(--smart-amber-soft)}body .room-smart-card.fresh .room-smart-card-icon{background:var(--smart-green-soft)}body .room-smart-card-copy h3{margin:0;font-size:17px;font-weight:700;color:var(--smart-text);overflow-wrap:anywhere}body .room-smart-card-copy p{margin:4px 0 0;font-size:13px;color:var(--smart-sub);overflow-wrap:anywhere}body .room-smart-inline-toggle{position:relative;width:54px;height:32px;border:none;border-radius:999px;background:#d8dee7;cursor:pointer;flex-shrink:0;margin-left:auto;transition:background .2s,opacity .2s,transform .2s}body .room-smart-inline-toggle::before{content:"";position:absolute;top:4px;left:4px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(15,23,42,.16);transition:transform .2s}body .room-smart-inline-toggle.on::before{transform:translateX(22px)}body .room-smart-inline-toggle.on.ac{background:var(--smart-blue)}body .room-smart-inline-toggle.on.light{background:var(--smart-amber)}body .room-smart-inline-toggle.on.fresh{background:var(--smart-green)}body .room-smart-inline-toggle.disabled{opacity:.45;cursor:not-allowed}body .room-smart-card-body{display:grid;gap:12px;padding:0 18px 18px}body .room-smart-fresh-shell,body .room-smart-thermostat{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:14px;padding:20px;border-radius:22px;border:1px solid rgba(148,163,184,.14);background:rgba(255,255,255,.72);min-width:0}body .room-smart-thermostat.is-active{background:linear-gradient(135deg,rgba(37,99,235,.14),rgba(59,130,246,.06));border-color:rgba(37,99,235,.2)}body .room-smart-fresh-shell.is-active{background:linear-gradient(135deg,rgba(16,185,129,.14),rgba(52,211,153,.06));border-color:rgba(16,185,129,.2)}body .room-smart-fresh-main,body .room-smart-thermostat-meta{display:grid;gap:6px;min-width:0}body .room-smart-fresh-main span,body .room-smart-fresh-meta,body .room-smart-thermostat-meta span{font-size:12px;color:var(--smart-sub)}body .room-smart-fresh-main strong,body .room-smart-thermostat-meta strong{font-size:clamp(32px,3.4vw,42px);line-height:1;letter-spacing:-.03em;color:var(--smart-text)}body .room-smart-fresh-main strong{font-size:28px}body .room-smart-thermostat-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}body .room-smart-step-btn{width:100%;height:54px;border:none;border-radius:18px;background:#fff;color:#334155;font-size:28px;cursor:pointer;box-shadow:0 8px 18px rgba(15,23,42,.08);transition:transform .15s,background .2s,color .2s}body .room-smart-step-btn:hover:not(:disabled){background:var(--smart-blue);color:#fff;transform:translateY(-1px)}body .room-smart-step-btn:disabled{opacity:.45;cursor:not-allowed}body .room-smart-inline-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:0}body .room-smart-inline-metrics span{display:flex;align-items:center;justify-content:flex-start;min-height:32px;padding:0 12px;border-radius:14px;background:rgba(255,255,255,.72);border:1px solid rgba(148,163,184,.14);font-size:12px;font-weight:600;color:var(--smart-sub);text-align:left}body .room-smart-control-row{display:grid;gap:12px;margin-top:0}body .room-smart-details{margin-top:12px;border:1px solid rgba(148,163,184,.16);border-radius:18px;background:rgba(255,255,255,.68);overflow:hidden}body .room-smart-details summary{list-style:none}body .room-smart-details summary::-webkit-details-marker{display:none}body .room-smart-details-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;cursor:pointer}body .room-smart-details-summary strong{display:block;font-size:14px;color:var(--smart-text)}body .room-smart-details-summary span{display:block;margin-top:4px;font-size:12px;color:var(--smart-sub)}body .room-smart-details-arrow{margin-top:0!important;color:#94a3b8!important;font-size:18px!important;transition:transform .2s}body .room-smart-details[open] .room-smart-details-arrow{transform:rotate(180deg)}body .room-smart-details-body{display:grid;gap:12px;padding:0 16px 16px}body .room-smart-field{display:grid;gap:8px}body .room-smart-field span{font-size:12px;color:var(--smart-sub)}body .room-smart-field select{width:100%;height:48px;padding:0 14px;border:1px solid rgba(148,163,184,.2);border-radius:16px;background:#fff;color:var(--smart-text);font-size:15px;outline:0}body .room-smart-card.ac .room-smart-card-body{gap:14px}body .room-smart-card.ac .room-smart-inline-metrics{order:3}body .room-smart-card.ac .room-smart-inline-metrics span:nth-child(3){display:none}body .room-smart-card.ac .room-smart-control-row{order:2}body .room-smart-card.fresh .room-smart-card-body{gap:14px}body .room-smart-card.fresh .room-smart-inline-metrics{display:none}body .room-smart-card.fresh .room-smart-fresh-shell{grid-template-columns:minmax(0,1fr)}body .room-smart-fresh-meta{display:inline-flex;align-items:center;justify-content:center;width:fit-content;max-width:100%;min-height:40px;padding:0 14px;border-radius:999px;border:1px solid rgba(148,163,184,.16);background:rgba(255,255,255,.88);font-weight:600;text-align:center}body .room-smart-fresh-shell.is-active .room-smart-fresh-meta{border-color:rgba(16,185,129,.22);background:rgba(255,255,255,.96);color:#047857}body .room-smart-light-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}body .room-smart-light-item{display:block;width:100%;margin:0;border-radius:18px;border:1px solid rgba(148,163,184,.16);background:rgba(255,255,255,.72);overflow:hidden}body .room-smart-light-item.is-on{border-color:rgba(245,158,11,.26);background:linear-gradient(180deg,rgba(255,255,255,.86) 0,rgba(255,251,235,.82) 100%)}body .room-smart-light-item.is-offline{background:rgba(241,245,249,.92)}body .room-smart-light-item summary{list-style:none}body .room-smart-light-item summary::-webkit-details-marker{display:none}body .room-smart-light-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;cursor:pointer}body .room-smart-light-summary.static{cursor:default}body .room-smart-light-summary-copy{display:flex;align-items:center;gap:12px;min-width:0}body .room-smart-light-icon{width:38px;height:38px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(245,158,11,.1);font-size:16px}body .room-smart-light-text{min-width:0}body .room-smart-light-text strong{display:block;font-size:14px;color:var(--smart-text)}body .room-smart-light-text span{display:block;margin-top:4px;font-size:12px;color:var(--smart-sub)}body .room-smart-light-summary-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}body .room-smart-light-arrow{color:#94a3b8;font-size:18px;transition:transform .2s}body .room-smart-light-item[open] .room-smart-light-arrow{transform:rotate(180deg)}body .room-smart-light-body{display:grid;gap:14px;padding:0 16px 16px}body .room-smart-range-block,body .room-smart-subsection{display:grid;gap:10px;padding-top:12px;border-top:1px solid rgba(148,163,184,.14)}body .room-smart-range-head{display:flex;align-items:center;justify-content:space-between;gap:12px}body .room-smart-range-head span{font-size:12px;color:var(--smart-sub)}body .room-smart-range-head strong{font-size:13px;color:var(--smart-text)}body .room-smart-range-block input[type=range]{width:100%;accent-color:#f59e0b}body .room-smart-chip-row,body .room-smart-color-row{display:flex;flex-wrap:wrap;gap:8px}body .room-smart-chip{min-height:34px;padding:0 12px;border-radius:999px;border:1px solid rgba(148,163,184,.16);background:#fff;color:#475569;font-size:12px;cursor:pointer}body .room-smart-chip.is-active{border-color:rgba(245,158,11,.28);background:#fff7ed;color:#b45309}body .room-smart-color-dot{width:28px;height:28px;border:none;border-radius:50%;background:var(--swatch);cursor:pointer;box-shadow:inset 0 0 0 1px rgba(15,23,42,.08)}body .room-smart-color-dot.is-active{box-shadow:0 0 0 2px #fff,0 0 0 4px rgba(15,23,42,.16)}body .room-smart-empty,body .room-smart-note{padding:0 18px 18px;font-size:13px;color:var(--smart-sub)}body .room-smart-note{padding-top:12px}@media (max-width:768px){body .status-modal-card.room-sample-modal{width:min(calc(100vw - 16px),820px)!important;max-height:calc(100vh - 16px)!important;padding:14px!important;border-radius:24px!important}body .room-smart-modal-title h2{font-size:20px}body .room-smart-modal-title span{width:100%}body .room-smart-card-body,body .room-smart-card-head{padding-left:14px;padding-right:14px}body .room-smart-card-body{padding-bottom:14px}body .room-smart-fresh-shell,body .room-smart-thermostat{padding:14px}body .room-smart-thermostat-meta strong{font-size:30px}body .room-smart-light-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}}@media (max-width:560px){body .room-smart-modal-page{gap:12px;padding-right:0}body .room-smart-modal-head{grid-template-columns:minmax(0,1fr)}body .room-smart-close{justify-self:end}body .room-smart-summary-strip{grid-template-columns:minmax(0,1fr)}body .room-smart-card-head{align-items:flex-start}body .room-smart-inline-metrics{grid-template-columns:minmax(0,1fr)}body .room-smart-fresh-meta{width:100%}body .room-smart-light-list{grid-template-columns:minmax(0,1fr)}}body .room-hub-modal{--hub-bg:#f8fafc;--hub-card:#ffffff;--hub-primary:#2563eb;--hub-primary-soft:rgba(37, 99, 235, 0.08);--hub-success:#10b981;--hub-warning:#f59e0b;--hub-border:rgba(15, 23, 42, 0.08);--hub-text-main:#0f172a;--hub-text-sub:#64748b;display:flex;flex-direction:column;gap:24px;width:100%;color:var(--hub-text-main);font-family:"PingFang SC","Microsoft YaHei",sans-serif}body .room-hub-hero{display:flex;justify-content:space-between;align-items:center;padding:8px 4px}body .room-hub-hero-copy h2{margin:0;font-size:28px;font-weight:800;letter-spacing:-.02em}body .room-hub-hero-copy p{margin:4px 0 0;font-size:14px;color:var(--hub-text-sub);display:flex;align-items:center;gap:8px}body .room-hub-close{width:40px;height:40px;border-radius:12px;border:1px solid var(--hub-border);background:#fff;color:var(--hub-text-sub);font-size:24px;cursor:pointer;transition:.2s;display:flex;align-items:center;justify-content:center}body .room-hub-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}body .room-hub-stat{background:var(--hub-card);padding:16px;border-radius:20px;border:1px solid var(--hub-border);display:flex;align-items:center;gap:12px;transition:.3s}body .room-hub-stat-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;background:var(--hub-bg)}body .room-hub-stat.blue .room-hub-stat-icon{background:var(--hub-primary-soft);color:var(--hub-primary)}body .room-hub-stat.green .room-hub-stat-icon{background:rgba(16,185,129,.08);color:var(--hub-success)}body .room-hub-stat.amber .room-hub-stat-icon{background:rgba(245,158,11,.08);color:var(--hub-warning)}body .room-hub-stat-copy{display:flex;flex-direction:column}body .room-hub-stat-copy span{font-size:12px;color:var(--hub-text-sub);font-weight:600}body .room-hub-stat-copy strong{font-size:18px;font-weight:700}body .room-hub-sections{display:grid;grid-template-columns:1.2fr 0.8fr;gap:20px}.hub-card-unified{background:var(--hub-card);border-radius:24px;border:1px solid var(--hub-border);padding:24px;display:flex;flex-direction:column;gap:20px}.hub-card-unified-head{display:flex;justify-content:space-between;align-items:center}.hub-card-unified-title{display:flex;align-items:center;gap:12px}.hub-card-unified-title .icon{width:36px;height:36px;border-radius:10px;background:var(--hub-bg);display:flex;align-items:center;justify-content:center;font-size:18px}.hub-card-unified-title h3{margin:0;font-size:17px;font-weight:700}.ac-unified-display{display:flex;flex-direction:column;align-items:center;padding:20px 0;gap:12px;position:relative}.ac-unified-temp-circle{width:160px;height:160px;border-radius:50%;background:#fff;border:8px solid var(--hub-bg);box-shadow:0 10px 25px rgba(0,0,0,.05);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:.4s cubic-bezier(.17, .67, .83, .67)}.is-active.is-cool .ac-unified-temp-circle{border-color:var(--hub-primary-soft);color:var(--hub-primary)}.is-active.is-heat .ac-unified-temp-circle{border-color:rgba(249,115,22,.1);color:#f97316}.ac-unified-temp-circle strong{font-size:48px;font-weight:900;line-height:1;margin-bottom:2px}.ac-unified-temp-circle span{font-size:12px;font-weight:700;opacity:.6}.ac-unified-steppers{display:flex;gap:40px;margin-top:-20px;z-index:2}.ac-unified-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--hub-border);background:#fff;color:var(--hub-text-main);font-size:20px;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.05);transition:.2s}.ac-unified-btn:hover:not(:disabled){transform:scale(1.1);border-color:var(--hub-primary);color:var(--hub-primary)}.ac-unified-modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(60px,1fr));gap:8px;width:100%}.ac-mode-pill{padding:10px 4px;border-radius:14px;background:var(--hub-bg);border:1.5px solid transparent;font-size:11px;font-weight:700;color:var(--hub-text-sub);cursor:pointer;text-align:center;transition:.2s}.ac-mode-pill.is-active{background:#fff;border-color:var(--hub-primary);color:var(--hub-primary);box-shadow:0 4px 10px var(--hub-primary-soft)}.unified-device-list{display:flex;flex-direction:column;gap:12px}.unified-device-item{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--hub-bg);border-radius:16px;border:1px solid transparent;transition:.2s}.unified-device-item.is-active{background:#fff;border-color:var(--hub-border);box-shadow:0 4px 8px rgba(0,0,0,.02)}.unified-device-info{display:flex;align-items:center;gap:12px}.unified-device-icon{font-size:18px;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.unified-device-text{display:flex;flex-direction:column}.unified-device-text strong{font-size:14px;font-weight:700}.unified-device-text span{font-size:12px;color:var(--hub-text-sub)}.hub-switch{position:relative;width:50px;height:26px;background:#cbd5e1;border-radius:99px;cursor:pointer;transition:.3s;border:none}.hub-switch::after{content:'';position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;transition:.3s;box-shadow:0 2px 4px rgba(0,0,0,.1)}.hub-switch.is-on{background:var(--hub-success)}.hub-switch.is-on::after{transform:translateX(24px)}.hub-switch.blue.is-on{background:var(--hub-primary)}body .status-modal-card.room-sample-modal{max-height:90vh!important;background:var(--hub-bg)!important;box-shadow:0 25px 50px -12px rgba(0,0,0,.2)!important}@media (max-width:900px){body .room-hub-sections{grid-template-columns:1fr}body .room-hub-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){body .room-hub-stats{grid-template-columns:1fr}body .room-hub-hero{flex-direction:column;align-items:flex-start;gap:16px}body .room-hub-close{position:absolute;top:24px;right:24px}}.hub-card-premium{background:#fff;border-radius:28px;border:1px solid rgba(15,23,42,.08);box-shadow:0 10px 30px -5px rgba(15,23,42,.04);overflow:hidden;display:flex;flex-direction:column;transition:.4s cubic-bezier(.16, 1, .3, 1);width:100%}.hub-card-premium:hover{transform:translateY(-4px);box-shadow:0 20px 48px -12px rgba(15,23,42,.08);border-color:rgba(15,23,42,.1)}.hub-card-premium.is-active{border-color:rgba(15,23,42,.12);box-shadow:0 15px 40px -10px rgba(15,23,42,.1)}.ac-card-premium{background:#fff;border-radius:28px;border:1px solid rgba(15,23,42,.08);box-shadow:0 10px 30px -5px rgba(15,23,42,.04);overflow:hidden;display:flex;flex-direction:column;transition:.4s cubic-bezier(.16, 1, .3, 1);position:relative;width:100%}.ac-card-premium.is-active{border-color:rgba(37,99,235,.15);box-shadow:0 20px 50px -12px rgba(37,99,235,.12)}.ac-card-premium.is-cool.is-active{background:linear-gradient(180deg,#fff,#f0f7ff)}.ac-card-premium.is-heat.is-active{background:linear-gradient(180deg,#fff,#fff7ed)}.ac-card-header-new{padding:24px 28px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(15,23,42,.03)}.ac-card-info-group{display:flex;align-items:center;gap:14px}.ac-card-icon-box{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px;background:#f1f5f9;color:#64748b;transition:.3s}.ac-card-premium.is-active .ac-card-icon-box{background:#2563eb;color:#fff;box-shadow:0 8px 16px -4px rgba(37,99,235,.4)}.ac-card-title-stack h3{font-size:18px;font-weight:800;margin:0;color:#1e293b}.ac-card-title-stack p{font-size:13px;color:#64748b;margin:2px 0 0;font-weight:500}.ac-card-gauge-area{padding:32px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;min-height:240px}.ac-temp-main-display{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:180px;height:180px;border-radius:50%;background:#fff;border:1px solid rgba(15,23,42,.06);box-shadow:0 12px 40px -10px rgba(15,23,42,.08);transition:.5s cubic-bezier(.16, 1, .3, 1);z-index:1}.ac-card-premium.is-active .ac-temp-main-display{border-width:0;box-shadow:0 15px 45px -12px rgba(15,23,42,.15)}.ac-temp-label{font-size:11px;font-weight:800;color:#94a3b8;text-transform:uppercase;letter-spacing:.1em}.ac-temp-value-big{font-size:64px;font-weight:900;color:#1e293b;line-height:1;letter-spacing:-.05em;margin:4px 0}.ac-temp-room-info{font-size:13px;font-weight:600;color:#64748b;background:#f1f5f9;padding:4px 12px;border-radius:999px;margin-top:8px}.ac-stepper-overlay{position:absolute;top:50%;left:20px;right:20px;transform:translateY(-50%);display:flex;justify-content:space-between;pointer-events:none;z-index:2}.ac-step-btn-new{width:52px;height:52px;border-radius:50%;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 4px 12px rgba(0,0,0,.05);display:flex;align-items:center;justify-content:center;font-size:24px;color:#1e293b;cursor:pointer;pointer-events:auto;transition:.2s}.ac-step-btn-new:hover:not(:disabled){transform:scale(1.1);box-shadow:0 8px 20px rgba(0,0,0,.1);border-color:#2563eb;color:#2563eb}.ac-step-btn-new:disabled{opacity:.3;cursor:not-allowed}.ac-controls-bottom{padding:0 28px 28px;display:flex;flex-direction:column;gap:20px}.ac-mode-selector-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:10px}.ac-mode-btn-new{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px 8px;border-radius:18px;background:#f8fafc;border:1.5px solid transparent;cursor:pointer;transition:.2s}.ac-mode-btn-new .icon{font-size:18px}.ac-mode-btn-new .label{font-size:11px;font-weight:700;color:#64748b}.ac-mode-btn-new:hover{background:#f1f5f9}.ac-mode-btn-new.is-active{background:#fff;border-color:#2563eb;box-shadow:0 4px 12px rgba(37,99,235,.1)}.ac-mode-btn-new.is-active .label{color:#2563eb}.ac-settings-row{display:flex;gap:12px}.ac-setting-field{flex:1;display:flex;flex-direction:column;gap:6px}.ac-setting-field label{font-size:11px;font-weight:800;color:#94a3b8;text-transform:uppercase;padding-left:4px}.ac-custom-select{height:44px;padding:0 14px;border-radius:14px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2364748b'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E") right 12px center/14px no-repeat #f1f5f9;border:none;font-size:13px;font-weight:700;color:#1e293b;cursor:pointer;appearance:none}.fresh-card-premium{background:#fff;border-radius:28px;border:1px solid rgba(15,23,42,.08);box-shadow:0 10px 30px -5px rgba(15,23,42,.04);overflow:hidden;padding:24px 28px;display:flex;flex-direction:column;gap:20px;width:100%}.fresh-card-premium.is-active{border-color:rgba(34,197,94,.15);box-shadow:0 20px 50px -12px rgba(34,197,94,.12);background:linear-gradient(180deg,#fff,#f0fdf4)}.room-hub-meta-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.room-hub-meta-pill{padding:6px 12px;background:rgba(15,23,42,.04);border-radius:999px;font-size:12px;font-weight:600;color:#64748b}body .room-hub-toggle{position:relative;width:56px;height:32px;border:none;border-radius:999px;background:#d7dee8;cursor:pointer;flex:0 0 auto;transition:background .2s,opacity .2s}body .room-hub-toggle::before{content:"";position:absolute;top:4px;left:4px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(15,23,42,.16);transition:transform .2s}body .room-hub-toggle.on::before{transform:translateX(24px)}body .room-hub-toggle.ac.on{background:var(--hub-blue)}body .room-hub-toggle.light.on{background:var(--hub-amber)}body .room-hub-toggle.fresh.on{background:var(--hub-green)}body .room-hub-toggle.disabled{opacity:.45;cursor:not-allowed}body .room-hub-panel-body{display:grid;gap:12px;padding:0 18px 18px}body .room-hub-climate-shell,body .room-hub-fresh-shell{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:stretch;padding:18px;border-radius:20px;border:1px solid rgba(148,163,184,.14);background:rgba(255,255,255,.8)}body .room-hub-climate-shell.is-active{background:linear-gradient(135deg,rgba(37,99,235,.12),rgba(37,99,235,.04));border-color:rgba(37,99,235,.18)}body .room-hub-fresh-shell.is-active{background:linear-gradient(135deg,rgba(16,185,129,.12),rgba(16,185,129,.04));border-color:rgba(16,185,129,.18)}body .room-hub-climate-main,body .room-hub-fresh-main{display:grid;gap:6px;min-width:0}body .room-hub-micro-label{font-size:12px;color:var(--hub-sub)}body .room-hub-climate-main strong,body .room-hub-fresh-main strong{font-size:44px;line-height:1;letter-spacing:-.05em}body .room-hub-climate-main small,body .room-hub-fresh-main small{font-size:13px;color:var(--hub-sub)}body .room-hub-stepper{display:grid;grid-template-columns:repeat(2,84px);gap:10px;align-content:end}body .room-hub-step-btn{width:84px;height:56px;border:none;border-radius:18px;background:#fff;color:#334155;font-size:30px;cursor:pointer;box-shadow:0 10px 24px rgba(15,23,42,.08);transition:transform .15s,background .2s,color .2s}body .room-hub-step-btn:hover:not(:disabled){background:var(--hub-blue);color:#fff;transform:translateY(-1px)}body .room-hub-step-btn:disabled{opacity:.45;cursor:not-allowed}body .room-hub-field{display:grid;gap:8px}body .room-hub-field span{font-size:12px;color:var(--hub-sub)}body .room-hub-field select{width:100%;height:48px;padding:0 14px;border-radius:16px;border:1px solid rgba(148,163,184,.18);background:#fff;color:var(--hub-text);font-size:14px;outline:0}body #roomSmartAcCard .room-hub-panel-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}body #roomSmartAcCard .room-hub-toggle{margin-top:2px}body #roomSmartAcCard .room-hub-climate-shell{grid-template-columns:minmax(0,1fr) 92px;gap:16px;align-items:center}body #roomSmartAcCard .room-hub-climate-main{align-content:start}body #roomSmartAcCard .room-hub-stepper{grid-template-columns:minmax(0,1fr);align-self:stretch}body #roomSmartAcCard .room-hub-step-btn{width:100%;min-height:58px}body #roomSmartAcCard .room-hub-climate-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}body .room-hub-meta-row{display:flex;flex-wrap:wrap;gap:8px}body .room-hub-meta-pill{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.84);border:1px solid rgba(148,163,184,.14);font-size:12px;font-weight:600;color:var(--hub-sub)}body .room-hub-empty,body .room-hub-note{padding:14px 16px;border-radius:16px;background:rgba(248,250,252,.92);border:1px dashed rgba(148,163,184,.18);font-size:13px;color:var(--hub-sub)}body .room-hub-lights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}body .room-hub-light-card{border-radius:18px;border:1px solid rgba(148,163,184,.14);background:rgba(255,255,255,.82);overflow:hidden}body .room-hub-light-card.is-on{border-color:rgba(245,158,11,.22);background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,249,237,.96))}body .room-hub-light-card.is-offline{opacity:.74}body .room-hub-light-card summary{list-style:none}body .room-hub-light-card summary::-webkit-details-marker{display:none}body .room-hub-light-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;cursor:pointer}body .room-hub-light-summary.static{cursor:default}body .room-hub-light-copy{display:flex;align-items:center;gap:12px;min-width:0}body .room-hub-light-icon{width:38px;height:38px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(245,158,11,.1);color:var(--hub-amber);flex:0 0 auto}body .room-hub-light-text{min-width:0}body .room-hub-light-text strong{display:block;font-size:14px}body .room-hub-light-text span{display:block;margin-top:4px;font-size:12px;color:var(--hub-sub)}body .room-hub-light-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}body .room-hub-chevron{color:#94a3b8;font-size:18px;transition:transform .18s}body .room-hub-light-card[open] .room-hub-chevron{transform:rotate(180deg)}body .room-hub-light-body{display:grid;gap:12px;padding:0 16px 16px}body .room-hub-range-block,body .room-hub-subsection{display:grid;gap:10px;padding-top:12px;border-top:1px solid rgba(148,163,184,.14)}body .room-hub-range-head{display:flex;align-items:center;justify-content:space-between;gap:12px}body .room-hub-range-head span{font-size:12px;color:var(--hub-sub)}body .room-hub-range-head strong{font-size:13px}body .room-hub-range-block input[type=range]{width:100%;accent-color:var(--hub-amber)}body .room-hub-chip-row,body .room-hub-color-row{display:flex;flex-wrap:wrap;gap:8px}body .room-hub-chip{min-height:34px;padding:0 12px;border-radius:999px;border:1px solid rgba(148,163,184,.16);background:#fff;color:#475569;font-size:12px;cursor:pointer}body .room-hub-chip.is-active{border-color:rgba(245,158,11,.24);background:#fff7ed;color:#b45309}body .room-hub-color-dot{width:28px;height:28px;border:none;border-radius:50%;background:var(--swatch);cursor:pointer;box-shadow:inset 0 0 0 1px rgba(15,23,42,.08)}body .room-hub-color-dot.is-active{box-shadow:0 0 0 2px #fff,0 0 0 4px rgba(15,23,42,.16)}@media (max-width:960px){body .room-hub-stats{grid-template-columns:repeat(2,minmax(0,1fr))}body .room-hub-climate-shell,body .room-hub-fresh-shell{grid-template-columns:minmax(0,1fr)}body .room-hub-stepper{grid-template-columns:repeat(2,minmax(0,1fr))}body .room-hub-step-btn{width:100%}body #roomSmartAcCard .room-hub-climate-controls{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){body .room-hub-hero{grid-template-columns:minmax(0,1fr)}body .room-hub-close{justify-self:end}body .room-hub-stats{grid-template-columns:minmax(0,1fr)}body .room-hub-panel-head{align-items:flex-start;flex-wrap:wrap}body #roomSmartAcCard .room-hub-panel-head{grid-template-columns:minmax(0,1fr)}body #roomSmartAcCard .room-hub-toggle{justify-self:start}body .room-hub-panel-body{padding:0 14px 14px}body .room-hub-climate-shell,body .room-hub-fresh-shell{padding:14px}body .room-hub-climate-main strong,body .room-hub-fresh-main strong{font-size:36px}body .room-hub-lights-grid{grid-template-columns:minmax(0,1fr)}}body .status-modal-card.room-sample-modal{padding:16px!important;border-radius:28px!important;background:radial-gradient(circle at top left,rgba(37,99,235,.1),transparent 24%),radial-gradient(circle at top right,rgba(16,185,129,.09),transparent 22%),linear-gradient(180deg,#f8fafc 0,#edf2f7 100%)!important;border:1px solid rgba(148,163,184,.18)!important;box-shadow:0 32px 90px rgba(15,23,42,.18)!important}body .suite-control-modal{--suite-surface:rgba(255,255,255,.80);--suite-surface-strong:#ffffff;--suite-border:rgba(148,163,184,.16);--suite-text:#0f172a;--suite-sub:#64748b;--suite-blue:#2563eb;--suite-blue-soft:rgba(37,99,235,.10);--suite-green:#10b981;--suite-green-soft:rgba(16,185,129,.10);--suite-amber:#f59e0b;--suite-amber-soft:rgba(245,158,11,.10);position:relative;display:grid;grid-template-rows:auto minmax(0,1fr);color:var(--suite-text);font-family:"PingFang SC","Microsoft YaHei","Segoe UI",sans-serif}body .suite-control-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:4px 4px 0}body .suite-control-header-copy{min-width:0}body .suite-control-header-kicker{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;background:rgba(15,23,42,.05);color:var(--suite-sub);font-size:11px;letter-spacing:.12em;text-transform:uppercase}body .suite-control-header h2{margin:10px 0 0;font-size:28px;line-height:1.1;letter-spacing:-.03em}body .suite-control-header p{margin:6px 0 0;font-size:13px;color:var(--suite-sub)}body .suite-control-close{width:40px;height:40px;border:none;border-radius:999px;background:rgba(255,255,255,.92);color:#475569;font-size:24px;line-height:1;cursor:pointer;box-shadow:0 10px 24px rgba(15,23,42,.08);transition:transform .18s,background .18s,color .18s}body .suite-control-close-floating{position:static;justify-self:end;z-index:1}body .suite-control-close:hover{transform:translateY(-1px);background:#fff;color:#0f172a}body .suite-control-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.1fr) minmax(0,.95fr);grid-template-areas:"climate lights fresh";gap:14px;align-items:stretch}body .suite-control-panel{border-radius:24px;border:1px solid var(--suite-border);background:var(--suite-surface);box-shadow:0 12px 30px rgba(15,23,42,.06);backdrop-filter:blur(18px);overflow:hidden}body .suite-control-panel.is-offline{opacity:.78}body .suite-control-panel.climate.is-active{background:linear-gradient(180deg,rgba(255,255,255,.92) 0,rgba(239,246,255,.92) 100%);border-color:rgba(37,99,235,.22)}body .suite-control-panel.fresh.is-active{background:linear-gradient(180deg,rgba(255,255,255,.92) 0,rgba(240,253,244,.92) 100%);border-color:rgba(16,185,129,.22)}body .suite-control-panel.lights{grid-area:lights;display:grid;grid-template-rows:auto minmax(0,1fr)}body .suite-control-panel.lights.is-active{border-color:rgba(245,158,11,.24)}body .suite-control-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px}body .suite-control-panel-title span{display:block;font-size:11px;line-height:1;letter-spacing:.12em;text-transform:uppercase;color:#94a3b8}body .suite-control-panel-title h3{margin:8px 0 0;font-size:18px;line-height:1.2}body .suite-control-panel-meta{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.72);border:1px solid var(--suite-border);font-size:12px;color:var(--suite-sub)}body .suite-control-switch{position:relative;width:54px;height:32px;border:none;border-radius:999px;background:#d7dde6;cursor:pointer;flex-shrink:0;transition:background .2s,opacity .2s}body .suite-control-switch::before{content:"";position:absolute;top:4px;left:4px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(15,23,42,.14);transition:transform .2s}body .suite-control-switch.on::before{transform:translateX(22px)}body .suite-control-switch.on.climate{background:var(--suite-blue)}body .suite-control-switch.on.fresh{background:var(--suite-green)}body .suite-control-switch.on.light{background:var(--suite-amber)}body .suite-control-switch.disabled{opacity:.45;cursor:not-allowed}body .suite-control-climate-core,body .suite-control-fresh-core{display:grid;gap:12px;padding:0 18px 14px}body .suite-control-climate-core{grid-template-columns:minmax(0,1fr) 82px;align-items:stretch}body .suite-control-fresh-core{padding-bottom:12px}body .suite-control-fresh-stage,body .suite-control-temp-stage{display:grid;gap:6px;padding:18px;border-radius:22px;border:1px solid rgba(148,163,184,.14);background:rgba(255,255,255,.74)}body .suite-control-climate-core .suite-control-temp-stage{background:linear-gradient(135deg,rgba(37,99,235,.14),rgba(37,99,235,.04));border-color:rgba(37,99,235,.18)}body .suite-control-fresh-stage{background:linear-gradient(135deg,rgba(16,185,129,.14),rgba(16,185,129,.04));border-color:rgba(16,185,129,.18)}body .suite-control-temp-kicker{font-size:12px;color:var(--suite-sub)}body .suite-control-fresh-stage strong,body .suite-control-temp-stage strong{font-size:42px;line-height:1;letter-spacing:-.04em}body .suite-control-fresh-stage strong{font-size:28px}body .suite-control-temp-room{font-size:13px;color:var(--suite-sub)}body .suite-control-temp-buttons{display:flex;flex-direction:column;gap:10px}body .suite-control-step{flex:1 1 0;height:44px;border:none;border-radius:16px;background:#fff;color:#334155;font-size:22px;cursor:pointer;box-shadow:0 10px 20px rgba(15,23,42,.08);transition:transform .15s,background .2s,color .2s}body .suite-control-step:hover:not(:disabled){background:var(--suite-blue);color:#fff;transform:translateY(-1px)}body .suite-control-step:disabled{opacity:.45;cursor:not-allowed}body .suite-control-chipbar{display:flex;flex-wrap:wrap;gap:8px;padding:0 18px 14px}body .suite-control-chip{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.72);border:1px solid rgba(148,163,184,.14);font-size:12px;color:var(--suite-sub)}body .suite-control-disclosure{margin:0 18px 18px;border:1px solid rgba(148,163,184,.14);border-radius:18px;background:rgba(255,255,255,.68);overflow:hidden}body .suite-control-disclosure summary{list-style:none}body .suite-control-disclosure summary::-webkit-details-marker{display:none}body .suite-control-disclosure-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;cursor:pointer}body .suite-control-disclosure-copy strong{display:block;font-size:14px}body .suite-control-disclosure-copy span{display:block;margin-top:4px;font-size:12px;color:var(--suite-sub)}body .suite-control-disclosure-arrow{color:#94a3b8;font-size:18px;transition:transform .18s}body .suite-control-disclosure[open] .suite-control-disclosure-arrow{transform:rotate(180deg)}body .suite-control-disclosure-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 16px 16px}body .suite-control-panel.climate .suite-control-disclosure-body,body .suite-control-panel.fresh .suite-control-disclosure-body{grid-template-columns:1fr}body .suite-control-panel.climate{grid-area:climate}body .suite-control-panel.fresh{grid-area:fresh}body .suite-control-field{display:grid;gap:8px}body .suite-control-field.single{grid-column:1/-1}body .suite-control-field span{font-size:12px;color:var(--suite-sub)}body .suite-control-field select{width:100%;height:42px;padding:0 14px;border:1px solid rgba(148,163,184,.18);border-radius:14px;background:#fff;color:var(--suite-text);font-size:14px;outline:0}body .suite-control-mode-wrap{padding:0 18px 18px}body .suite-control-lights-body{display:grid;min-height:0;padding:0 18px 18px}body .suite-control-light-list{display:grid;gap:10px;min-height:0;padding-right:4px}body .suite-control-light-card{border-radius:18px;border:1px solid rgba(148,163,184,.14);background:rgba(255,255,255,.72);overflow:hidden}body .suite-control-light-card.is-on{border-color:rgba(245,158,11,.22);background:linear-gradient(180deg,rgba(255,255,255,.86) 0,rgba(255,251,235,.82) 100%)}body .suite-control-light-card.is-offline{opacity:.78}body .suite-control-light-card summary{list-style:none}body .suite-control-light-card summary::-webkit-details-marker{display:none}body .suite-control-light-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;cursor:pointer}body .suite-control-light-summary.static{cursor:default}body .suite-control-light-head-left{display:flex;align-items:center;gap:12px;min-width:0}body .suite-control-light-mark{width:14px;height:14px;border-radius:50%;background:#cbd5e1;box-shadow:inset 0 0 0 3px rgba(255,255,255,.85)}body .suite-control-light-mark.is-on{background:var(--suite-amber)}body .suite-control-light-copy strong{display:block;font-size:14px}body .suite-control-light-copy span{display:block;margin-top:4px;font-size:12px;color:var(--suite-sub)}body .suite-control-light-head-right{display:flex;align-items:center;gap:10px;flex-shrink:0}body .suite-control-light-arrow{color:#94a3b8;font-size:18px;transition:transform .18s}body .suite-control-light-card[open] .suite-control-light-arrow{transform:rotate(180deg)}body .suite-control-light-body{display:grid;gap:12px;padding:0 16px 16px}body .suite-control-light-section,body .suite-control-slider-block{display:grid;gap:10px;padding-top:12px;border-top:1px solid rgba(148,163,184,.14)}body .suite-control-slider-head{display:flex;align-items:center;justify-content:space-between;gap:12px}body .suite-control-slider-head span{font-size:12px;color:var(--suite-sub)}body .suite-control-slider-head strong{font-size:13px}body .suite-control-slider-block input[type=range]{width:100%;accent-color:#f59e0b}body .suite-control-color-row,body .suite-control-pill-row{display:flex;flex-wrap:wrap;gap:8px}body .suite-control-pill{min-height:34px;padding:0 12px;border-radius:999px;border:1px solid rgba(148,163,184,.16);background:#fff;color:#475569;font-size:12px;cursor:pointer}body .suite-control-pill.is-active{border-color:rgba(245,158,11,.26);background:#fff7ed;color:#b45309}body .suite-control-color{width:28px;height:28px;border:none;border-radius:50%;background:var(--swatch);cursor:pointer;box-shadow:inset 0 0 0 1px rgba(15,23,42,.08)}body .suite-control-color.is-active{box-shadow:0 0 0 2px #fff,0 0 0 4px rgba(15,23,42,.16)}body .suite-control-empty,body .suite-control-note{padding:0 18px 18px;font-size:13px;color:var(--suite-sub)}@media (max-width:900px){body .status-modal-card.room-sample-modal{width:min(calc(100vw - 18px),1100px)!important;padding:14px!important}body .suite-control-modal{height:min(88vh,860px)}body .suite-control-layout{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto auto}body .suite-control-disclosure-body{grid-template-columns:1fr}body .suite-control-climate-core{grid-template-columns:minmax(0,1fr) 82px}}@media (max-width:640px){body .status-modal-card.room-sample-modal{width:min(calc(100vw - 12px),1100px)!important;max-height:calc(100vh - 12px)!important;border-radius:22px!important;padding:12px!important}body .suite-control-modal{height:min(90vh,920px)}body .suite-control-header h2{font-size:22px}body .suite-control-climate-core,body .suite-control-fresh-core,body .suite-control-lights-body,body .suite-control-panel-head{padding-left:14px;padding-right:14px}body .suite-control-disclosure,body .suite-control-empty,body .suite-control-note{margin-left:14px;margin-right:14px}body .suite-control-temp-stage strong{font-size:36px}body .suite-control-fresh-stage strong{font-size:24px}body .suite-control-climate-core{grid-template-columns:1fr}body .suite-control-temp-buttons{flex-direction:row}}body .app.shell-app{display:grid!important;grid-template-columns:var(--viewport-sidebar-width) minmax(0,1fr)!important;align-items:stretch}body.sidebar-collapsed .app.shell-app{grid-template-columns:var(--viewport-sidebar-collapsed) minmax(0,1fr)!important}body .sidebar{position:sticky!important;top:0;align-self:start;width:100%!important;min-width:0;min-height:100dvh;height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;padding:14px 8px 10px!important;overflow:hidden;color:var(--text);border-right:1px solid rgba(255,255,255,.55);box-shadow:none;backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%)}body .sidebar-head{display:grid;align-content:start}body .sidebar-body{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:8px}body .sidebar-logo{display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px 6px 16px;text-align:center}body .sidebar-logo-icon{width:42px;height:42px;flex:0 0 42px;border-radius:14px;background:linear-gradient(135deg,#0f172a,#2563eb);display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 12px 24px rgba(37,99,235,.15)}body .sidebar-logo-icon svg{width:26px;height:26px}body .sidebar-logo-text{display:grid;gap:2px;min-width:0}body .sidebar-logo-text-title{font-size:14px;font-weight:900;line-height:1.2;color:#2563eb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.02em}body .sidebar-logo-text-sub{font-size:10px;font-weight:800;letter-spacing:.15em;color:#64748b;white-space:nowrap;text-transform:uppercase}body .nav{display:grid!important;grid-template-columns:1fr!important;align-content:start;gap:4px;min-height:0}body .nav-item{width:100%;min-width:0;min-height:42px;display:grid!important;grid-template-columns:18px minmax(0,1fr);align-items:center;justify-items:start;column-gap:8px;padding:9px 10px 9px 12px!important;border-radius:13px;text-align:left}body .nav-icon{width:18px;height:18px;flex:0 0 18px}body .nav-label{display:block!important;width:100%;min-width:0;font-size:12px;font-weight:600;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;writing-mode:horizontal-tb!important;word-break:keep-all;overflow-wrap:normal}body .sidebar-foot{display:grid;gap:3px;margin-top:auto;padding:8px 6px 0;border-top:1px solid rgba(15,23,42,.06);color:rgba(17,24,39,.42);font-size:10px;line-height:1.5}body .sidebar-controls{display:flex;justify-content:flex-end;align-items:center;padding-top:6px}body .sidebar-collapse{position:static!important;top:auto!important;right:auto!important;width:34px;height:34px;min-height:34px;margin:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(17,24,39,.08)!important;border-radius:10px;background:#fff!important;color:rgba(17,24,39,.56)!important;box-shadow:0 10px 18px rgba(15,23,42,.08);transform:none!important}body .sidebar-collapse:hover{transform:none!important;border-color:rgba(59,130,246,.18)!important;box-shadow:0 12px 22px rgba(15,23,42,.12)}body .sidebar-collapse svg{width:16px;height:16px;transition:transform .18s}body.sidebar-collapsed .sidebar{padding-inline:8px!important}body.sidebar-collapsed .sidebar-logo{padding-inline:0;gap:0}body.sidebar-collapsed .nav-label,body.sidebar-collapsed .sidebar-foot,body.sidebar-collapsed .sidebar-logo-text{display:none!important}body.sidebar-collapsed .sidebar-body{grid-template-rows:auto}body.sidebar-collapsed .nav{gap:8px}body.sidebar-collapsed .nav-item{grid-template-columns:1fr;justify-items:center;min-height:44px;padding-inline:0!important}body.sidebar-collapsed .sidebar-controls{justify-content:center}body.sidebar-collapsed .sidebar-collapse svg{transform:rotate(180deg)}@media (max-width:900px){body .app.shell-app,body.sidebar-collapsed .app.shell-app{grid-template-columns:1fr!important}body .sidebar,body.sidebar-collapsed .sidebar{position:static!important;min-height:auto;height:auto;margin:0 0 14px;padding:12px!important;border-right:none;border-bottom:1px solid rgba(17,24,39,.06);border-radius:24px}body .sidebar-body{grid-template-rows:auto auto;gap:10px}body .nav,body.sidebar-collapsed .nav{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px}body .nav-item,body.sidebar-collapsed .nav-item{grid-template-columns:18px minmax(0,1fr);justify-items:start;min-height:44px;padding:10px 12px!important}body .nav-label,body .sidebar-foot,body .sidebar-logo-text,body.sidebar-collapsed .nav-label,body.sidebar-collapsed .sidebar-foot,body.sidebar-collapsed .sidebar-logo-text{display:block!important}body .sidebar-controls,body.sidebar-collapsed .sidebar-controls{display:none}}@media (max-width:640px){body .sidebar-logo{display:none}body .nav,body.sidebar-collapsed .nav{grid-template-columns:1fr!important}}body .section-title>div:first-child{min-width:0}body .section-title-tools{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;min-width:0}body .room-title-tools{max-width:min(100%,760px)}body .room-page-sort-wrap{flex:0 0 auto}body .room-page-sort-select{min-width:116px}body .section-title-tools .chip-list{justify-content:flex-end}body .list-filter-bar.compact-filter{display:flex;align-items:center;gap:6px;width:auto;max-width:min(100%,520px);margin:0;padding:6px;border-radius:12px;background:rgba(255,255,255,.9);border:1px solid rgba(148,163,184,.18);box-shadow:none}body .list-filter-bar.compact-filter .filter-search-icon{position:relative;flex:0 0 26px;width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:var(--surface-soft);color:var(--muted);font-size:15px;line-height:1}body .list-filter-bar.compact-filter .filter-search-icon::before{content:"";width:10px;height:10px;border:2px solid currentColor;border-radius:50%;transform:translate(-2px,-2px)}body .list-filter-bar.compact-filter .filter-search-icon::after{content:"";position:absolute;width:7px;height:2px;border-radius:999px;background:currentColor;transform:translate(5px,5px) rotate(45deg)}body .list-filter-bar.compact-filter .field{min-width:128px;max-width:180px;gap:0}body .list-filter-bar.compact-filter .field label,body .list-filter-bar.compact-filter .list-filter-note{display:none!important}body .list-filter-bar.compact-filter .field input{width:100%;height:30px;padding:0 10px;border:1px solid rgba(148,163,184,.28);border-radius:8px;background:#fff;color:var(--text);font-size:12px;outline:0}body .list-filter-bar.compact-filter .field input::placeholder{color:var(--muted)}body .list-filter-bar.compact-filter .field input:focus{border-color:rgba(37,99,235,.48);box-shadow:0 0 0 3px rgba(37,99,235,.09)}body .list-filter-bar.compact-filter .field select{width:100%;height:30px;padding:0 28px 0 10px;border-radius:10px;border:1px solid rgba(148,163,184,.32);background-color:rgba(255,255,255,.94);color:var(--text);outline:0}body .list-filter-bar.compact-filter .field select:focus{border-color:rgba(37,99,235,.48);box-shadow:0 0 0 3px rgba(37,99,235,.09)}body .toolbar-actions .list-filter-bar.compact-filter{order:-1}html:not([data-theme=dark]) body .section-title h2{color:rgba(15,23,42,.94)}html:not([data-theme=dark]) body .field label,html:not([data-theme=dark]) body .helper,html:not([data-theme=dark]) body .info-item span,html:not([data-theme=dark]) body .key-value label,html:not([data-theme=dark]) body .license-modal-login p,html:not([data-theme=dark]) body .license-modal-overview p,html:not([data-theme=dark]) body .license-modal-section-note,html:not([data-theme=dark]) body .list-filter-note,html:not([data-theme=dark]) body .mini-stat span,html:not([data-theme=dark]) body .ref-info-item span,html:not([data-theme=dark]) body .ref-select-field label,html:not([data-theme=dark]) body .ref-slider-field label,html:not([data-theme=dark]) body .room-item small,html:not([data-theme=dark]) body .room-subnote,html:not([data-theme=dark]) body .sample-light-filter-shell .field label,html:not([data-theme=dark]) body .sample-light-filter-shell .list-filter-note,html:not([data-theme=dark]) body .section-title p,html:not([data-theme=dark]) body .settings-card .sub,html:not([data-theme=dark]) body .settings-device-row small,html:not([data-theme=dark]) body .settings-side-metric span,html:not([data-theme=dark]) body .title-bar p,html:not([data-theme=dark]) body .title-bar-right .top-chip-copy span,html:not([data-theme=dark]) body .title-bar-right .top-user-copy span,html:not([data-theme=dark]) body .top-chip-copy small,html:not([data-theme=dark]) body .top-chip-copy span{color:rgba(51,65,85,.78)}html:not([data-theme=dark]) body .info-item strong,html:not([data-theme=dark]) body .license-modal-form-card h4,html:not([data-theme=dark]) body .license-modal-overview,html:not([data-theme=dark]) body .license-modal-overview h4,html:not([data-theme=dark]) body .license-modal-summary-item,html:not([data-theme=dark]) body .license-modal-summary-item strong,html:not([data-theme=dark]) body .status-modal-card,html:not([data-theme=dark]) body .status-modal-head h3,html:not([data-theme=dark]) body .status-modal-section,html:not([data-theme=dark]) body .status-modal-section h4,html:not([data-theme=dark]) body .status-modal-section-head h4,html:not([data-theme=dark]) body .status-modal-stat strong{color:#0f172a}html:not([data-theme=dark]) body .status-modal-card .field label,html:not([data-theme=dark]) body .status-modal-card .info-item span,html:not([data-theme=dark]) body .status-modal-card .status-modal-head p,html:not([data-theme=dark]) body .status-modal-card .status-modal-section-head p,html:not([data-theme=dark]) body .status-modal-card .status-modal-stat span{color:rgba(51,65,85,.78)}html:not([data-theme=dark]) body .section-title p{line-height:1.6}html:not([data-theme=dark]) body .chip{color:rgba(30,41,59,.82);background:rgba(255,255,255,.96);border-color:rgba(100,116,139,.18)}html:not([data-theme=dark]) body .list-filter-bar.compact-filter{background:rgba(255,255,255,.96);border-color:rgba(100,116,139,.22)}html:not([data-theme=dark]) body .list-filter-bar.compact-filter .filter-search-icon{background:rgba(241,245,249,.96);color:rgba(51,65,85,.82)}html:not([data-theme=dark]) body .list-filter-bar.compact-filter .field input,html:not([data-theme=dark]) body .list-filter-bar.compact-filter .field select{color:rgba(15,23,42,.92)}html:not([data-theme=dark]) body .list-filter-bar.compact-filter .field input::placeholder{color:rgba(100,116,139,.86)}@media (max-width:900px){body .section-title-tools,body .toolbar-actions{justify-content:flex-start}body .list-filter-bar.compact-filter{width:100%;max-width:100%}body .list-filter-bar.compact-filter .field{flex:1 1 0;max-width:none}}@media (max-width:640px){body .list-filter-bar.compact-filter{flex-wrap:wrap}body .list-filter-bar.compact-filter .field{flex:1 1 150px}}body .ref-device-page-ac .ref-ac-grid{grid-template-columns:repeat(auto-fit,minmax(238px,1fr));gap:12px}body .ref-ac-mini-card{cursor:pointer;overflow:hidden;border-radius:18px;box-shadow:0 12px 28px rgba(15,23,42,.08)}body .ref-ac-mini-card:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(15,23,42,.12)}body .ref-ac-mini-card .ref-ac-card-header{min-height:76px;padding:12px 14px;align-items:center}body .ref-ac-mini-card .ref-card-name{font-size:15px}body .ref-ac-mini-card .ref-card-sub{max-width:170px;margin-top:2px;font-size:11px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body .ref-ac-mini-card .ref-card-header-side{gap:6px}body .ref-ac-mini-card .ref-live-pill{display:none}body .ref-ac-mini-card .ref-ac-mode-badge{min-height:26px;padding:0 8px}body .ref-ac-mini-body{gap:10px;padding:12px 14px 14px}body .ref-ac-mini-main{display:flex;align-items:center;justify-content:space-between;gap:10px}body .ref-ac-mini-current{min-width:0}body .ref-ac-mini-current span{display:block;font-size:11px;color:#7c8898}body .ref-ac-mini-current strong{display:block;margin-top:2px;font-size:22px;line-height:1;font-weight:900;letter-spacing:0;color:#111827}body .ac-mini-power-btn{flex:0 0 auto;min-width:68px;height:34px;padding:0 11px;border:none;border-radius:999px;background:#f3f4f6;color:#64748b;font-size:12px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer}body .ac-mini-power-btn span{width:8px;height:8px;border-radius:50%;background:currentColor}body .ac-mini-power-btn.on{background:#ecfdf5;color:#059669}body .ac-mini-power-btn:disabled,body .ref-round-btn:disabled{cursor:not-allowed;opacity:.45;transform:none}body .ref-ac-mini-temp{gap:10px;justify-content:space-between;padding:8px 10px;border-radius:14px}body .ref-ac-mini-temp .ref-round-btn{width:32px;height:32px;font-size:18px}body .ref-ac-mini-temp .ref-temp-display{min-width:0;flex:1 1 auto}body .ref-ac-mini-temp .ref-temp-display strong{font-size:16px}body .ac-control-modal-page{display:grid;gap:14px}body .ac-control-modal-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:16px;background:#f8fafc;border:1px solid rgba(148,163,184,.16)}body .ac-control-modal-summary.state-cool{background:#eff6ff;border-color:rgba(59,130,246,.18)}body .ac-control-modal-summary.state-heat{background:#fff7ed;border-color:rgba(245,158,11,.2)}body .ac-control-modal-summary.state-dry{background:#f0fdfa;border-color:rgba(20,184,166,.2)}body .ac-control-modal-summary strong{display:block;font-size:17px;color:#111827}body .ac-control-modal-summary span{display:block;margin-top:3px;font-size:12px;color:#64748b;overflow-wrap:anywhere}@media (max-width:900px){body .ref-device-page-ac .ref-ac-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}@media (max-width:560px){body .ref-device-page-ac .ref-ac-grid{grid-template-columns:1fr}body .ref-ac-mini-card .ref-card-header{flex-direction:row;align-items:center}body .ref-ac-mini-card .ref-card-header-side{width:auto}body .ac-control-modal-summary{align-items:flex-start;flex-direction:column}}body .ref-device-page-fan .ref-fan-grid{grid-template-columns:repeat(auto-fit,minmax(238px,1fr));gap:12px}body .ref-fan-mini-card{cursor:pointer;overflow:hidden;border-radius:18px;box-shadow:0 12px 28px rgba(15,23,42,.08)}body .ref-fan-mini-card:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(15,23,42,.12)}body .ref-fan-mini-card .ref-fan-card-header{min-height:76px;padding:12px 14px;align-items:center}body .ref-fan-mini-card .ref-fan-icon{width:34px;height:34px;border-radius:10px}body .ref-fan-mini-card .ref-fan-rotor{font-size:17px}body .ref-fan-mini-card .ref-card-name{font-size:15px}body .ref-fan-mini-card .ref-card-sub{max-width:170px;margin-top:2px;font-size:11px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body .ref-fan-mini-card .ref-live-pill{display:none}body .ref-fan-mini-body{padding:12px 14px 14px}body .ref-fan-mini-main{display:flex;align-items:center;justify-content:space-between;gap:10px}body .ref-fan-mini-current{min-width:0}body .ref-fan-mini-current span{display:block;font-size:11px;color:#7c8898}body .ref-fan-mini-current strong{display:block;margin-top:2px;font-size:22px;line-height:1;font-weight:900;letter-spacing:0;color:#111827;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body .fresh-mini-power-btn{flex:0 0 auto;min-width:68px;height:34px;padding:0 11px;border:none;border-radius:999px;background:#f3f4f6;color:#64748b;font-size:12px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer}body .fresh-mini-power-btn span{width:8px;height:8px;border-radius:50%;background:currentColor}body .fresh-mini-power-btn.on{background:#ecfdf5;color:#059669}body .fresh-mini-power-btn:disabled{cursor:not-allowed;opacity:.45}body .fresh-control-modal-page{display:grid;gap:14px}body .fresh-control-modal-summary,body .fresh-control-power-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:16px;background:#f8fafc;border:1px solid rgba(148,163,184,.16)}body .fresh-control-modal-summary.is-running{background:#ecfdf5;border-color:rgba(16,185,129,.18)}body .fresh-control-modal-summary.state-offline{background:#f8fafc;border-color:rgba(148,163,184,.18)}body .fresh-control-modal-summary strong,body .fresh-control-power-row strong{display:block;font-size:17px;color:#111827}body .fresh-control-modal-summary span,body .fresh-control-power-row span{display:block;margin-top:3px;font-size:12px;color:#64748b;overflow-wrap:anywhere}body .fresh-control-range{display:grid;gap:10px;padding:14px 16px;border-radius:16px;background:#f0fdfa;border:1px solid rgba(16,185,129,.18)}body .fresh-control-range-head{display:flex;align-items:center;justify-content:space-between;gap:12px}body .fresh-control-range-head span{font-size:12px;color:#64748b}body .fresh-control-range-head strong{font-size:16px;color:#047857}body .fresh-control-range input[type=range]{width:100%;accent-color:#10b981}@media (max-width:900px){body .ref-device-page-fan .ref-fan-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}@media (max-width:560px){body .ref-device-page-fan .ref-fan-grid{grid-template-columns:1fr}body .ref-fan-mini-card .ref-card-header{flex-direction:row;align-items:center}body .fresh-control-modal-summary,body .fresh-control-power-row{align-items:flex-start;flex-direction:column}}body .status-modal{box-sizing:border-box;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;padding:clamp(8px,1.5vw,18px)!important;overflow:hidden}body .status-modal-card.room-sample-modal{box-sizing:border-box;container-type:inline-size;container-name:suite-modal;display:flex;flex-direction:column;min-width:0;width:min(1280px,calc(100vw - 24px))!important;max-width:calc(100vw - 24px)!important;height:auto!important;max-height:calc(100dvh - 24px)!important;padding:clamp(10px,1.4vw,16px)!important;overflow:hidden!important}body .status-modal-card.room-sample-modal #statusModalBody{display:flex;flex:1 1 auto;max-width:100%;min-height:0;min-width:0;overflow:hidden}body .suite-control-modal{flex:1 1 auto;min-height:0;min-width:0;height:100%!important;max-height:none;grid-template-rows:auto minmax(0,1fr);gap:10px;overflow:auto;overscroll-behavior:contain}body .suite-control-layout{display:grid;grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"climate" "lights" "fresh"!important;width:100%;max-width:100%;box-sizing:border-box;min-height:0;min-width:0;flex:1 1 auto;overflow:visible;overscroll-behavior:contain;padding:4px 2px 2px 0;align-content:start;align-items:start}body .suite-control-panel{box-sizing:border-box;min-height:0;min-width:0;max-width:100%}body .suite-control-climate-core,body .suite-control-disclosure-summary,body .suite-control-fresh-core,body .suite-control-light-summary,body .suite-control-lights-body,body .suite-control-panel-head,body .suite-control-slider-head{min-width:0;max-width:100%;box-sizing:border-box}body .suite-control-disclosure-copy,body .suite-control-light-copy,body .suite-control-panel-title{min-width:0}body .suite-control-disclosure-copy span,body .suite-control-disclosure-copy strong,body .suite-control-light-copy span,body .suite-control-light-copy strong,body .suite-control-panel-title h3{overflow-wrap:anywhere}body .suite-control-panel.climate,body .suite-control-panel.fresh{overflow:visible}body .suite-control-panel.lights{grid-area:lights;min-height:0;overflow:visible}body .suite-control-panel.climate{grid-area:climate}body .suite-control-panel.fresh{grid-area:fresh}body .suite-control-light-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-height:none;height:auto;overflow:visible;align-content:start}body .suite-control-light-card{height:fit-content}body .suite-control-panel.climate .suite-control-climate-core,body .suite-control-panel.climate .suite-control-empty,body .suite-control-panel.climate .suite-control-note,body .suite-control-panel.fresh .suite-control-empty,body .suite-control-panel.fresh .suite-control-fresh-core,body .suite-control-panel.fresh .suite-control-note{padding-bottom:18px}@container suite-modal (max-width:1180px){body .suite-control-layout{gap:12px}body .suite-control-light-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@container suite-modal (max-width:980px){body .suite-control-layout{grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"climate" "lights" "fresh"!important;gap:12px}body .suite-control-panel.climate,body .suite-control-panel.fresh,body .suite-control-panel.lights{overflow:visible}body .suite-control-light-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){body .status-modal{align-items:stretch;padding:8px!important}body .status-modal-card.room-sample-modal{width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important;border-radius:22px!important}body .suite-control-modal{height:100%!important;max-height:calc(100dvh - 40px)}body .suite-control-layout{grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"climate" "lights" "fresh"!important;align-content:start}body .suite-control-panel.climate,body .suite-control-panel.fresh,body .suite-control-panel.lights{grid-column:auto;grid-row:auto;min-height:0;overflow:visible}body .suite-control-lights-body,body .suite-control-panel.lights{display:block}body .suite-control-light-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px),(max-height:720px){body .status-modal{align-items:stretch;padding:6px!important}body .status-modal-card.room-sample-modal{width:calc(100vw - 12px)!important;max-width:calc(100vw - 12px)!important;max-height:calc(100dvh - 12px)!important;padding:10px!important;border-radius:18px!important}body .status-modal-card.license-status-modal{width:calc(100vw - 12px)!important;max-width:calc(100vw - 12px)!important;max-height:calc(100dvh - 12px)!important;padding:14px!important;border-radius:20px!important}.license-modal-overview{padding:12px}.license-modal-overview-head{flex-direction:column;align-items:flex-start}.license-modal-grid,.license-modal-summary-row{grid-template-columns:minmax(0,1fr)}.license-modal-actions .btn{flex:1 1 0}body .suite-control-modal{height:100%!important;max-height:calc(100dvh - 32px)}body .suite-control-close{width:34px;height:34px;font-size:22px}body .suite-control-layout{gap:10px}body .suite-control-panel-head{flex-wrap:wrap;padding:14px!important}body .suite-control-panel-meta{flex:0 1 auto;min-width:0}body .suite-control-disclosure-summary,body .suite-control-light-summary{gap:10px;padding:12px 14px}body .suite-control-light-head-left{min-width:0}body .suite-control-light-head-right{flex:0 0 auto;max-width:100%}body .suite-control-chipbar,body .suite-control-climate-core,body .suite-control-fresh-core,body .suite-control-lights-body{padding-left:14px!important;padding-right:14px!important}body .suite-control-fresh-stage,body .suite-control-temp-stage{padding:14px;border-radius:18px}body .suite-control-disclosure{margin:0 14px 14px!important}body .suite-control-light-list{grid-template-columns:minmax(0,1fr);gap:10px}}body .title-bar-right .top-chip.top-chip-ambient{min-width:210px!important;max-width:246px!important;height:38px!important;min-height:38px!important;padding:0 12px!important;border-radius:999px!important;background:rgba(255,255,255,.74)!important;border:1px solid rgba(148,163,184,.16)!important;box-shadow:0 8px 24px rgba(15,23,42,.045)!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important}body .title-bar-right .top-chip.top-chip-ambient.weather-ready{background:rgba(255,255,255,.82)!important;border-color:rgba(56,189,248,.18)!important;box-shadow:0 10px 24px rgba(14,165,233,.08)!important}body .title-bar-right .top-chip.top-chip-ambient .top-chip-icon{width:20px!important;height:20px!important;border-radius:999px!important;background:rgba(245,158,11,.1)!important;color:#d97706!important;box-shadow:none!important}body .title-bar-right .top-chip.top-chip-ambient.weather-ready .top-chip-icon{color:#0891b2!important;background:rgba(14,165,233,.12)!important}body .title-bar-right .top-chip.top-chip-ambient .top-chip-icon svg{width:14px!important;height:14px!important}body .title-bar-right .top-chip.top-chip-ambient .top-chip-copy{min-width:0!important;display:flex!important;flex-direction:row!important;align-items:center!important;gap:6px!important;flex:1 1 auto!important}body .title-bar-right .top-chip.top-chip-ambient .top-chip-copy strong{font-size:13px!important;line-height:1!important;font-weight:900!important;color:inherit!important;white-space:nowrap!important}body .title-bar-right .top-chip.top-chip-ambient .top-chip-copy span{display:flex!important;align-items:center!important;font-size:11px!important;line-height:1!important;color:rgba(17,24,39,.52)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}body .title-bar-right .top-chip.top-chip-ambient .top-chip-copy span::before{content:"·";margin-right:6px;opacity:.6}body .title-bar-right .top-chip.top-chip-ambient .top-chip-copy small{display:none!important}[data-theme=dark] body .title-bar-right .top-chip.top-chip-ambient{background:rgba(30,41,59,.92)!important;border-color:rgba(56,189,248,.18)!important;box-shadow:0 10px 24px rgba(2,6,23,.22)!important}[data-theme=dark] body .title-bar-right .top-chip.top-chip-ambient .top-chip-copy strong{color:#e5eefb!important}[data-theme=dark] body .title-bar-right .top-chip.top-chip-ambient .top-chip-copy span{color:#9fb0c8!important}[data-theme=dark] body .title-bar-right .top-chip.top-chip-ambient .top-chip-copy small{color:#7f93b2!important}.dashboard-room-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px}.dashboard-suite-card{border:none;width:100%;padding:10px;border-radius:20px;background:linear-gradient(180deg,#fff,#f7faff);box-shadow:inset 0 0 0 1px rgba(113,134,170,.1);cursor:pointer;display:grid;gap:8px;text-align:left;color:inherit;transition:transform .18s,box-shadow .18s}.dashboard-suite-card:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1px rgba(98,122,255,.12),0 16px 34px rgba(32,53,94,.08)}.dashboard-suite-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.dashboard-suite-title{font-size:15px;font-weight:800;color:#233043}.dashboard-suite-badge{min-height:26px;padding:0 12px;border-radius:999px;font-size:11px;font-weight:800;display:inline-flex;align-items:center;gap:6px;transition:.3s;position:relative;overflow:hidden}.dashboard-suite-badge::before{content:"";width:6px;height:6px;border-radius:50%;display:inline-block}.dashboard-suite-badge.occupied{color:#10b981;background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.2)}.dashboard-suite-badge.occupied::before{background:#10b981;box-shadow:0 0 8px #10b981;animation:2s infinite badge-pulse-green}.dashboard-suite-badge.idle{color:var(--text-muted);background:rgba(255,255,255,.05);border:1px solid var(--border)}.dashboard-suite-badge.idle::before{background:var(--text-dim);box-shadow:none;animation:none}@keyframes badge-pulse-blue{0%{transform:scale(1);opacity:1;box-shadow:0 0 0 0 rgba(37,99,235,.7)}70%{transform:scale(1.1);opacity:.8;box-shadow:0 0 0 6px rgba(37,99,235,0)}100%{transform:scale(1);opacity:1;box-shadow:0 0 0 0 rgba(37,99,235,0)}}@keyframes badge-pulse-green{0%{transform:scale(1);opacity:1;box-shadow:0 0 0 0 rgba(16,185,129,.7)}70%{transform:scale(1.1);opacity:.8;box-shadow:0 0 0 6px rgba(16,185,129,0)}100%{transform:scale(1);opacity:1;box-shadow:0 0 0 0 rgba(16,185,129,0)}}.dashboard-suite-visual{min-height:112px;display:flex;align-items:center;justify-content:center}.dashboard-suite-isometric{position:relative;width:min(100%,210px);aspect-ratio:1/.9;overflow:visible;background-position:center;background-repeat:no-repeat;background-size:contain;box-shadow:none;filter:drop-shadow(0 14px 24px rgba(16,24,40,.16));isolation:isolate}.dashboard-suite-isometric::before{display:none}.dashboard-suite-isometric::after{content:"";position:absolute;left:16%;right:16%;bottom:-8px;height:18px;border-radius:999px;background:radial-gradient(circle,rgba(30,41,59,.22) 0,rgba(30,41,59,.08) 42%,rgba(30,41,59,0) 78%);filter:blur(10px);pointer-events:none;z-index:-1}.dashboard-suite-isometric.occupied{background-image:url("/api/netcafe/开灯.png")}.dashboard-suite-isometric.idle{background-image:url("/api/netcafe/关灯.png")}.dashboard-suite-pills{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.dashboard-suite-pill{min-height:28px;padding:0 6px;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:6px;background:#f7f9fd;border:1px solid rgba(111,129,161,.1);color:#7f8ba0;font-size:11px;font-weight:700}.dashboard-suite-pill-icon{width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transform-origin:center}.dashboard-suite-pill svg{width:13px;height:13px}.dashboard-suite-pill.cool{color:#5e86ff}.dashboard-suite-pill.blue{color:#5c76ff}.dashboard-suite-pill.amber{color:#ec9f24}.dashboard-suite-pill.green{color:#32b784}.dashboard-suite-pill.state-cool{background:#eef4ff;border-color:rgba(79,141,255,.14);color:#4f8dff}.dashboard-suite-pill.state-cool .dashboard-suite-pill-icon{animation:2.8s linear infinite dashboard-cool-spin}.dashboard-suite-pill.state-heat{background:#fff4e4;border-color:rgba(237,164,47,.16);color:#ed9a27}.dashboard-suite-pill.state-heat .dashboard-suite-pill-icon{animation:3.8s linear infinite dashboard-cool-spin}.dashboard-suite-pill.state-dry{background:#eefafc;border-color:rgba(72,176,193,.18);color:#1f9bb0}.dashboard-suite-pill.state-dry .dashboard-suite-pill-icon{animation:1.9s ease-in-out infinite dashboard-float}.dashboard-suite-pill.amber.state-on{background:#fff4dd;border-color:rgba(237,164,47,.18);color:#eda42f}.dashboard-suite-pill.amber.state-on .dashboard-suite-pill-icon{animation:1.8s ease-in-out infinite dashboard-light-breathe}.dashboard-suite-pill.blue.state-online{background:#edf2ff;border-color:rgba(95,119,255,.14);color:#5f77ff}.dashboard-suite-pill.blue.state-online .dashboard-suite-pill-icon{animation:1.7s ease-in-out infinite dashboard-pulse}.dashboard-suite-pill.green.state-green{background:#ebfbf3;border-color:rgba(47,184,134,.18);color:#2fb886}.dashboard-suite-pill.green.state-green .dashboard-suite-pill-icon{animation:3.6s linear infinite dashboard-cool-spin}.dashboard-suite-pill.amber.state-off,.dashboard-suite-pill.blue.state-idle,.dashboard-suite-pill.green.state-off,.dashboard-suite-pill.state-idle,.dashboard-suite-pill.state-off{background:#f2f5f9;border-color:rgba(116,130,151,.1);color:#8996a9}.dashboard-suite-pill.amber.state-offline,.dashboard-suite-pill.blue.state-offline,.dashboard-suite-pill.green.state-offline,.dashboard-suite-pill.state-offline{background:#f4f6f8;border-color:rgba(148,163,184,.12);color:#a0acbc;opacity:.82}.suite-room-devices{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:16px;background:linear-gradient(180deg,#f8fafc,#f1f5f9);border-radius:16px}.suite-room-device{padding:16px;display:flex;flex-direction:column;gap:14px;border-radius:14px;background:#fff;border:1px solid rgba(15,23,42,.08);transition:.3s cubic-bezier(.4, 0, .2, 1);position:relative;overflow:hidden}.suite-room-device::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#e2e8f0,#cbd5e1);opacity:0;transition:opacity .3s}.suite-room-device:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(15,23,42,.12);border-color:rgba(99,102,241,.2)}.suite-room-device:hover::before{opacity:1}.suite-room-device.on{background:linear-gradient(135deg,#fff,#f0f9ff);border-color:rgba(59,130,246,.15)}.suite-room-device.on::before{background:linear-gradient(90deg,#3b82f6,#6366f1,#8b5cf6);opacity:1}.suite-room-device.on:hover{box-shadow:0 12px 32px rgba(59,130,246,.18)}.suite-room-device-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.suite-room-device-label{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;color:#475569;letter-spacing:.01em}.suite-room-device-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:18px;border-radius:10px;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);flex-shrink:0;transition:.3s}.suite-room-device-icon svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;color:#64748b;transition:.3s}.suite-room-device.on .suite-room-device-icon{background:linear-gradient(135deg,#dbeafe,#bfdbfe);box-shadow:0 4px 12px rgba(59,130,246,.15);transform:scale(1.05)}.suite-room-device.on .suite-room-device-icon svg{color:#3b82f6}.suite-room-device-status{padding:4px 10px;border-radius:999px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;display:inline-flex;align-items:center;gap:6px;transition:.3s}.suite-room-device-status::before{content:"";width:6px;height:6px;border-radius:50%;display:inline-block}.suite-room-device.on .suite-room-device-status{background:rgba(16,185,129,.12);color:#059669;border:1px solid rgba(16,185,129,.2)}.suite-room-device.on .suite-room-device-status::before{background:#10b981;box-shadow:0 0 8px rgba(16,185,129,.6);animation:2s ease-in-out infinite device-pulse}.suite-room-device:not(.on) .suite-room-device-status{background:rgba(148,163,184,.08);color:#94a3b8;border:1px solid rgba(148,163,184,.15)}.suite-room-device:not(.on) .suite-room-device-status::before{background:#cbd5e1}@keyframes device-pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.7}}.suite-room-device-copy{display:flex;flex-direction:column;gap:8px;min-width:0}.suite-room-device-name{font-size:15px;font-weight:800;color:#1e293b;letter-spacing:-.01em;line-height:1.3}.suite-room-device.on .suite-room-device-name{color:#0f172a}.suite-room-device-meta{display:flex;align-items:center;gap:12px;font-size:12px;color:#64748b;flex-wrap:wrap}.suite-room-device-meta-item{display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:6px;background:rgba(241,245,249,.8);font-weight:600}.suite-room-device.on .suite-room-device-meta-item{background:rgba(219,234,254,.5);color:#3b82f6}.suite-room-device.light.on .suite-room-device-icon{background:linear-gradient(135deg,#fef3c7,#fde68a);box-shadow:0 4px 12px rgba(245,158,11,.2)}.suite-room-device.light.on .suite-room-device-icon svg{color:#f59e0b}.suite-room-device.ac-cool.on .suite-room-device-icon{background:linear-gradient(135deg,#dbeafe,#93c5fd);box-shadow:0 4px 12px rgba(59,130,246,.25)}.suite-room-device.ac-cool.on .suite-room-device-icon svg{color:#3b82f6}.suite-room-device.ac-heat.on .suite-room-device-icon{background:linear-gradient(135deg,#fed7aa,#fdba74);box-shadow:0 4px 12px rgba(249,115,22,.25)}.suite-room-device.ac-heat.on .suite-room-device-icon svg{color:#f97316}.suite-room-device.fresh.on .suite-room-device-icon{background:linear-gradient(135deg,#ccfbf1,#99f6e4);box-shadow:0 4px 12px rgba(20,184,166,.25)}.suite-room-device.fresh.on .suite-room-device-icon svg{color:#14b8a6}.suite-room-device.on.light .suite-room-device-icon svg{animation:2s ease-in-out infinite light-glow}@keyframes light-glow{0%,100%{filter:drop-shadow(0 0 2px rgba(245, 158, 11, .4))}50%{filter:drop-shadow(0 0 6px rgba(245, 158, 11, .8))}}.suite-room-device.on.ac-cool .suite-room-device-icon svg{animation:3s linear infinite ac-cool-spin}@keyframes ac-cool-spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.suite-room-device.on.ac-heat .suite-room-device-icon svg{animation:1.5s ease-in-out infinite ac-heat-pulse}@keyframes ac-heat-pulse{0%,100%{transform:scale(1);filter:drop-shadow(0 0 2px rgba(249, 115, 22, .4))}50%{transform:scale(1.1);filter:drop-shadow(0 0 6px rgba(249, 115, 22, .8))}}.suite-room-device.on.fresh .suite-room-device-icon svg{animation:2s ease-in-out infinite fresh-flow}@keyframes fresh-flow{0%,100%{transform:translateX(0)}50%{transform:translateX(3px)}}.suite-room-device.on:not(.light):not(.ac-cool):not(.ac-heat):not(.fresh) .suite-room-device-icon svg{animation:3s ease-in-out infinite computer-blink}@keyframes computer-blink{0%,100%,90%{opacity:1}95%{opacity:.6}}.top-chip-ambient{position:relative;background:linear-gradient(135deg,#667eea 0,#764ba2 100%);border:none!important;box-shadow:0 8px 24px rgba(102,126,234,.25)!important;overflow:hidden;transition:.3s cubic-bezier(.4, 0, .2, 1);cursor:pointer}.top-chip-ambient::before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0,transparent 70%);animation:8s ease-in-out infinite weather-shimmer}@keyframes weather-shimmer{0%,100%{transform:translate(0,0);opacity:.3}50%{transform:translate(-20%,-20%);opacity:.6}}.top-chip-ambient:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(102,126,234,.35)!important}.top-chip-ambient .top-chip-icon{width:42px;height:42px;background:rgba(255,255,255,.2);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);color:#fff;position:relative;z-index:1}.top-chip-ambient .top-chip-icon svg{width:22px;height:22px;filter:drop-shadow(0 2px 4px rgba(0, 0, 0, .1));animation:3s ease-in-out infinite weather-icon-float}.top-chip-ambient .top-chip-copy{position:relative;z-index:1}.top-chip-ambient .top-chip-copy strong{font-size:20px;font-weight:800;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.15);letter-spacing:-.02em}.top-chip-ambient .top-chip-copy span{font-size:12px;font-weight:600;color:rgba(255,255,255,.85);text-shadow:0 1px 4px rgba(0,0,0,.1)}.top-chip-ambient .top-chip-copy small{font-size:11px;font-weight:500;color:rgba(255,255,255,.7);margin-top:2px;display:block}.top-chip-ambient.weather-sunny{background:linear-gradient(135deg,#f093fb 0,#f5576c 100%);box-shadow:0 8px 24px rgba(240,147,251,.3)!important}.top-chip-ambient.weather-cloudy{background:linear-gradient(135deg,#4facfe 0,#00f2fe 100%);box-shadow:0 8px 24px rgba(79,172,254,.3)!important}.top-chip-ambient.weather-rainy{background:linear-gradient(135deg,#43e97b 0,#38f9d7 100%);box-shadow:0 8px 24px rgba(67,233,123,.3)!important}.top-chip-ambient.weather-snowy{background:linear-gradient(135deg,#a8edea 0,#fed6e3 100%);box-shadow:0 8px 24px rgba(168,237,234,.3)!important}@keyframes weather-icon-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}[data-theme=dark] .top-chip-ambient{background:linear-gradient(135deg,#667eea 0,#764ba2 100%);box-shadow:0 8px 24px rgba(102,126,234,.4)!important}[data-theme=dark] .top-chip-ambient:hover{box-shadow:0 12px 32px rgba(102,126,234,.5)!important}@media (max-width:768px){.suite-room-devices{grid-template-columns:1fr;gap:10px;padding:12px}.suite-room-device{padding:14px}.suite-room-device-icon{width:32px;height:32px;font-size:16px}.top-chip-ambient{min-height:36px;padding:0 12px}.top-chip-ambient .top-chip-icon{width:36px;height:36px}.top-chip-ambient .top-chip-icon svg{width:18px;height:18px}.top-chip-ambient .top-chip-copy strong{font-size:16px}.top-chip-ambient .top-chip-copy span{font-size:11px}}.brand-logo-preset-grid{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.brand-logo-preset-card{border:1px solid rgba(148,163,184,.18);background:rgba(255,255,255,.68);border-radius:16px;padding:10px;display:flex;align-items:center;justify-content:center;text-align:center;cursor:pointer;transition:border-color .18s,box-shadow .18s,transform .18s;width:80px;height:80px}.brand-logo-preset-card:hover{transform:translateY(-1px);border-color:rgba(59,130,246,.24);box-shadow:0 14px 28px rgba(15,23,42,.08)}.brand-logo-preset-card.active{border-color:rgba(37,99,235,.32);box-shadow:0 0 0 1px rgba(37,99,235,.18),0 16px 28px rgba(37,99,235,.1);background:linear-gradient(180deg,rgba(239,246,255,.96),rgba(255,255,255,.92))}.brand-logo-preset-thumb{width:100%;height:100%;border-radius:12px;overflow:hidden;background:0 0;display:flex;align-items:center;justify-content:center;padding:4px}.brand-logo-preset-thumb img{width:100%;height:100%;display:block;object-fit:contain}.brand-logo-preset-copy{display:none}body .dashboard-bottom-grid .dashboard-log-card,body .dashboard-log-card{gap:8px;grid-template-rows:auto auto minmax(0,1fr);height:auto!important;min-height:var(--dashboard-board-height);max-height:none!important;overflow:visible}body .dashboard-bottom-grid .dashboard-log-overview,body .dashboard-log-overview{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}body .dashboard-bottom-grid .dashboard-log-stat,body .dashboard-log-stat{min-width:0;min-height:54px;padding:8px 10px;border-radius:12px;gap:2px}body .dashboard-bottom-grid .dashboard-log-stat span,body .dashboard-log-stat span{line-height:1}body .dashboard-bottom-grid .dashboard-log-stat strong,body .dashboard-log-stat strong{font-size:18px}body .dashboard-bottom-grid .dashboard-log-stat small,body .dashboard-log-stat small{line-height:1.2}body .dashboard-log-panel-feed{display:flex;flex-direction:column;align-self:stretch;flex:1 1 auto;min-height:0;height:100%;border:none;border-radius:0;background:0 0;box-shadow:none;overflow:visible}body .dashboard-bottom-grid .dashboard-log-feed,body .dashboard-log-feed{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;height:100%;max-height:none;overflow:visible}body .dashboard-bottom-grid .dashboard-log-scroll,body .dashboard-log-scroll{display:flex;flex:1 1 auto;height:100%;min-height:0;padding:8px;overflow-y:auto;overflow-x:hidden;align-self:stretch}body .dashboard-bottom-grid .dashboard-log-list,body .dashboard-log-list{display:grid;width:100%;min-height:100%;align-content:start;gap:8px}body .dashboard-bottom-grid .dashboard-log-item,body .dashboard-log-item{display:grid;grid-template-columns:auto auto auto minmax(0,1fr);align-items:center;gap:8px 12px;padding:10px 14px;border-radius:10px;border:1px solid rgba(111,129,161,.08);box-shadow:none;min-height:42px}body .dashboard-log-room{min-width:0;white-space:nowrap}body .dashboard-log-text{min-width:0;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body .dashboard-log-item .dashboard-log-chip,body .dashboard-log-item .dashboard-log-time{line-height:1.1}@media (max-width:1280px){body .dashboard-bottom-grid .dashboard-log-overview,body .dashboard-log-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:860px){body .dashboard-bottom-grid .dashboard-log-item,body .dashboard-log-item{grid-template-columns:auto auto;align-items:flex-start}body .dashboard-log-room{grid-column:1/2}body .dashboard-log-text{grid-column:1/-1;white-space:normal;overflow:visible;text-overflow:clip}}
.ref-automation-device-card,
.settings-automation-group {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.settings-automation-action-band {
  display: grid;
  gap: 14px;
  padding: 16px 18px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 250, 252, 0.92));
}

.ref-settings-card.settings-automation-action-band {
  background: linear-gradient(180deg, rgba(17, 24, 39, 0.82), rgba(15, 23, 42, 0.78));
  border-color: rgba(148, 163, 184, 0.12);
}

.settings-automation-action-title {
  margin: 0;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 800;
  color: #1e293b;
}

.ref-settings-card .settings-automation-action-title {
  color: rgba(241, 245, 249, 0.96);
}

.settings-automation-device-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.settings-automation-device-block {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
  padding: 14px;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  background: rgba(255, 255, 255, 0.74);
}

.ref-automation-device-card.settings-automation-device-block {
  background: rgba(15, 23, 42, 0.4);
  border-color: rgba(148, 163, 184, 0.12);
}

.settings-automation-device-title {
  margin: 0;
  font-size: 13px;
  line-height: 1.35;
  font-weight: 800;
  color: #334155;
}

.ref-settings-card .settings-automation-device-title {
  color: rgba(226, 232, 240, 0.92);
}

.ref-automation-device-card {
  gap: 16px;
}

.settings-automation-group {
  padding-top: 4px;
}

.settings-automation-group + .settings-automation-group {
  border-top: 1px solid rgba(148, 163, 184, 0.18);
  padding-top: 14px;
}

.settings-automation-group-title {
  margin: 0;
  font-size: 13px;
  line-height: 1.4;
  font-weight: 700;
  color: rgba(226, 232, 240, 0.9);
}

.ref-settings-card .settings-automation-group-title {
  color: rgba(203, 213, 225, 0.92);
}

.settings-automation-group-body {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

@media (max-width: 1120px) {
  .settings-automation-device-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .settings-automation-action-band {
    padding: 14px;
  }

  .settings-automation-device-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .settings-automation-device-block {
    padding: 12px;
  }
}

/* --- Responsive overrides (1.html shell + pages, no JS changes) --- */

@media (max-width: 1200px) {
  .title-bar.shell-titlebar,
  .title-bar {
    flex-wrap: wrap;
    gap: 12px;
    align-items: flex-start;
  }

  .title-bar-right {
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
    min-width: 0;
    width: 100%;
  }

  .title-status-cluster {
    flex-wrap: wrap;
    min-width: 0;
  }

  .title-metric-strip {
    flex-wrap: wrap;
    min-width: 0;
  }

  .title-action-cluster {
    flex-wrap: wrap;
    gap: 10px;
    min-width: 0;
  }
}

@media (max-width: 900px) {
  :root {
    --page-gutter: clamp(12px, 3.5vw, 24px);
  }

  html {
    padding-left: env(safe-area-inset-left, 0);
    padding-right: env(safe-area-inset-right, 0);
  }

  body {
    padding-bottom: env(safe-area-inset-bottom, 0);
  }

  .app.shell-app {
    display: flex !important;
    flex-direction: column;
    min-height: 100vh;
    min-height: 100dvh;
    width: 100%;
    max-width: 100vw;
    overflow-x: hidden;
  }

  .sidebar {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    flex: 0 0 auto;
    border-right: none;
    border-bottom: 1px solid var(--border, rgba(255, 255, 255, 0.08));
  }

  .sidebar-head {
    padding: 10px 12px;
  }

  .sidebar-body {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 8px;
    padding: 0 8px 10px;
    min-width: 0;
  }

  .sidebar .nav {
    display: flex;
    flex-direction: row;
    flex: 1 1 auto;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    gap: 8px;
    padding: 4px 4px 8px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }

  .sidebar .nav-item {
    flex: 0 0 auto;
    white-space: nowrap;
    min-height: 44px;
    padding: 10px 14px;
  }

  .sidebar-controls {
    flex: 0 0 auto;
    align-self: center;
    padding-bottom: 4px;
  }

  .main.shell-main,
  .main {
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  .content {
    min-width: 0;
    padding-left: var(--page-gutter);
    padding-right: var(--page-gutter);
    overflow-x: auto;
    overscroll-behavior-x: contain;
  }

  .title-bar.shell-titlebar,
  .title-bar {
    flex-direction: column;
    align-items: stretch;
    padding-left: var(--page-gutter);
    padding-right: var(--page-gutter);
  }

  .title-bar-left,
  .title-bar-right {
    width: 100%;
    min-width: 0;
  }

  .title-bar-right {
    justify-content: flex-start;
  }

  .title-brand-block {
    min-width: 0;
  }

  .title-copy h1 {
    font-size: clamp(1.15rem, 4.2vw, 1.5rem);
    word-break: break-word;
  }

  .title-copy p {
    font-size: 0.85rem;
    line-height: 1.45;
  }

  .title-metric-strip {
    width: 100%;
    flex-wrap: wrap;
  }

  .top-chip {
    flex: 1 1 auto;
    min-width: min(100%, 160px);
  }

  .title-action-cluster {
    width: 100%;
    justify-content: stretch;
    gap: 10px;
  }

  .title-action-cluster .btn.title-refresh {
    flex: 1 1 auto;
    min-height: 44px;
  }

  .ref-settings-layout.ref-settings-layout-topnav {
    display: flex !important;
    flex-direction: column;
    min-width: 0;
  }

  .ref-settings-topbar {
    width: 100%;
    min-width: 0;
  }

  .ref-settings-menu {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    gap: 8px;
    padding-bottom: 6px;
    -webkit-overflow-scrolling: touch;
  }

  .ref-settings-menu-btn {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .notify-layout {
    display: flex !important;
    flex-direction: column;
    gap: 12px;
  }

  .notify-card-span-2 {
    grid-column: auto !important;
  }

  .dashboard-main-grid,
  .dashboard-top-grid,
  .dashboard-bottom-grid,
  .dashboard-room-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  body:not(.room-panel-page) .suite-room-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  .dashboard-energy-stat-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)) !important;
  }

  .dashboard-suite-card {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .hub-card-unified,
  .hub-card-premium,
  .room-hub-panel-light {
    min-width: 0;
    max-width: 100%;
  }

  .ref-settings-content,
  .ref-settings-page {
    min-width: 0;
    max-width: 100%;
  }

  .ref-settings-card {
    min-width: 0;
    max-width: 100%;
  }

  .code-block,
  pre.code-block {
    max-width: 100%;
    overflow-x: auto;
  }

  .status-modal-card {
    width: min(100%, calc(100vw - 24px)) !important;
    max-height: min(90dvh, 92vh) !important;
    overflow-y: auto !important;
    margin: 12px !important;
  }

  .status-modal-head {
    flex-wrap: wrap;
    gap: 10px;
  }
}

@media (max-width: 640px) {
  .title-meta-panel {
    width: 100%;
  }

  .top-user {
    width: 100%;
    min-width: 0;
  }

  .top-chip {
    min-width: 0;
    width: 100%;
  }

  .title-action-cluster .top-user {
    order: -1;
  }

  .dashboard-panel-tools {
    flex-wrap: wrap;
    gap: 8px;
  }

  .dashboard-sort-wrap {
    flex: 1 1 100%;
    min-width: 0;
  }

  .dashboard-sort-select {
    width: 100%;
    max-width: 100%;
  }

  .suite-room-title-row {
    flex-wrap: wrap;
  }

  .suite-room-footer,
  .suite-room-header {
    flex-wrap: wrap;
    gap: 8px;
  }

  .ref-settings-chip-row {
    flex-wrap: wrap;
  }

  .ref-inline-stack {
    flex-direction: column;
    align-items: stretch;
  }
}
