:root{--bg: #12130f;--card: #1d1e19;--line: #33342c;--fg: #e8e6dc;--dim: #9c9a90;--ok: #5dcaa5;--warn: #ef9f27;--crit: #e24b4a;--on-accent: #0c130f;--overlay: rgba(0, 0, 0, .65);--shadow-pop: 0 12px 28px rgba(0, 0, 0, .45)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.6 system-ui,sans-serif}.center{display:flex;align-items:center;justify-content:center;height:100vh;color:var(--dim)}.auth-page{display:flex;align-items:center;justify-content:center;height:100vh}.auth-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:32px;width:320px;display:flex;flex-direction:column;gap:14px}.auth-card h1{font-size:18px;font-weight:500;margin:0 0 8px}.auth-card label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--dim)}.auth-card input{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:10px;color:var(--fg);font-size:14px}.auth-card button,.admin-page button{background:var(--ok);color:var(--on-accent);border:none;border-radius:8px;padding:10px;font-weight:600;cursor:pointer}:root input:-webkit-autofill,:root input:-webkit-autofill:hover,:root input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 100px var(--panel, var(--card)) inset;box-shadow:0 0 0 100px var(--panel, var(--card)) inset;-webkit-text-fill-color:var(--fg);caret-color:var(--fg)}.error{color:var(--crit);font-size:13px}.admin-page{padding:24px}.admin-page header{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;margin-bottom:24px}.admin-page h1{font-size:18px;font-weight:500;margin:0}.admin-page .who{font-size:13px;color:var(--dim);display:flex;gap:10px;align-items:center}.admin-page section{margin-bottom:32px}.admin-page h2{font-size:14px;font-weight:500;color:var(--dim);margin-bottom:10px}table{width:100%;border-collapse:collapse;background:var(--card);border-radius:12px}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);font-size:13px}th{color:var(--dim);font-weight:500}select{background:var(--bg);color:var(--fg);border:1px solid var(--line);border-radius:6px;padding:6px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--dim)}.dot.on{background:var(--ok)}.dim{color:var(--dim)}.empty-state{color:var(--dim);background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px;margin-bottom:20px}.widget-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-bottom:20px}.widget-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px}.widget-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.widget-head-main{display:flex;align-items:center;gap:8px;min-width:0}.widget-head-text{min-width:0}.widget-label{font-size:14px;font-weight:500;overflow-wrap:break-word}.widget-device{font-size:12px;color:var(--dim);display:flex;align-items:center;gap:6px;margin-top:4px;white-space:nowrap;overflow:hidden}.widget-device .dot{flex-shrink:0}.widget-device-name{overflow:hidden;text-overflow:ellipsis}.widget-icon{flex-shrink:0}.widget-icon-badge{--w-accent: var(--ok);flex-shrink:0;width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;color:var(--w-accent);background:color-mix(in srgb,var(--w-accent) 15%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--w-accent) 28%,transparent)}.widget-actions{display:flex;gap:2px}.widget-card .widget-icon-btn{background:none;border:none;color:var(--dim);font-size:13px;line-height:1;cursor:pointer;padding:3px 4px;border-radius:6px;font-weight:400}.widget-card .widget-icon-btn:hover:not(:disabled){color:var(--fg);background:var(--bg)}.widget-card .widget-icon-btn:disabled{opacity:.3;cursor:default}.widget-card .widget-icon-btn.widget-remove:hover:not(:disabled){color:var(--crit)}.widget-value{font-size:26px;font-weight:600}.widget-value-compact{font-size:12px;font-weight:400;color:var(--dim);word-break:break-all}.widget-unit{font-size:13px;color:var(--dim);margin-left:4px;font-weight:400}.widget-toggle{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:500}.widget-toggle-btn{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:8px 12px;color:var(--fg);cursor:pointer}.widget-toggle-btn:hover{border-color:var(--ok)}.gauge-track{height:6px;background:var(--bg);border:1px solid var(--line);border-radius:4px;margin-top:10px;overflow:hidden}.gauge-fill{height:100%;background:var(--ok);transition:width .3s}.gauge-fill.tone-warn{background:var(--warn)}.gauge-fill.tone-crit{background:var(--crit)}.gauge-range{display:flex;justify-content:space-between;font-size:11px;color:var(--dim);margin-top:4px}.widget-gauge-circular{position:relative;width:108px;height:108px;margin:4px auto 0}.gauge-track-ring{stroke:var(--bg)}.gauge-fill-ring{stroke:var(--ok);transition:stroke-dashoffset .4s ease}.gauge-fill-ring.tone-warn{stroke:var(--warn)}.gauge-fill-ring.tone-crit{stroke:var(--crit)}.gauge-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.gauge-center .widget-value{font-size:22px}.widget-chart svg{width:100%;height:64px;display:block}input[type=range]{width:100%;accent-color:var(--ok);background:transparent}.widget-dimmer{display:flex;flex-direction:column;gap:10px}.widget-card .widget-rgbw-preview{display:flex;align-items:center;gap:12px;width:100%;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px;cursor:pointer;color:var(--fg);font-weight:400;text-align:left}.widget-card .widget-rgbw-preview:hover{border-color:var(--ok)}.rgbw-swatch{width:34px;height:34px;border-radius:8px;border:1px solid var(--line);flex-shrink:0}.rgbw-summary{display:flex;flex-direction:column;gap:2px;font-size:13px}.rgbw-state{font-weight:500}.rgbw-summary .dim{font-size:12px}.lp-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;align-items:flex-start;justify-content:center;padding:24px;overflow-y:auto;z-index:50}.lp-modal{background:var(--bg);border:1px solid var(--line);border-radius:16px;padding:20px;width:min(880px,100%);display:flex;flex-direction:column;gap:16px}.lp-head{display:flex;justify-content:space-between;align-items:flex-start}.lp-head h2{font-size:17px;font-weight:500;margin:0 0 4px}.lp-power{display:grid;grid-template-columns:1fr 1fr;gap:12px}.admin-page .lp-power-btn{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px;color:var(--dim);font-size:15px;font-weight:500;cursor:pointer}.admin-page .lp-power-btn.on{background:color-mix(in srgb,var(--ok) 12%,transparent);border-color:var(--ok);color:var(--ok)}.admin-page .lp-power-btn.off{color:var(--fg)}.lp-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 720px){.lp-grid{grid-template-columns:1fr}}.lp-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px}.lp-card h3{font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin:0 0 16px}.lp-wheel{position:relative;margin:0 auto;border-radius:50%;max-width:100%;touch-action:none;background:radial-gradient(circle closest-side,#fff,#fff0 75%),conic-gradient(from 0deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.lp-wheel-handle{position:absolute;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px #00000059;pointer-events:none}.lp-hex{display:flex;align-items:center;gap:12px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.lp-hex-swatch{width:40px;height:40px;border-radius:10px;border:1px solid var(--line);flex-shrink:0}.lp-hex input{flex:1;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:12px;color:var(--fg);font-size:16px}.lp-channel{display:flex;align-items:center;gap:10px;margin-bottom:12px}.lp-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.lp-channel-label{width:46px;font-size:13px;color:var(--dim)}.lp-channel input[type=range]{flex:1}.lp-channel-value{width:46px;text-align:right;font-size:13px;color:var(--dim);font-variant-numeric:tabular-nums}.lp-divider{height:1px;background:var(--line);margin:16px 0}.lp-presets{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.admin-page .lp-presets button{border:1px solid;border-radius:10px;padding:14px 10px;color:var(--fg);font-size:13px;font-weight:500;cursor:pointer}.lp-effects{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.admin-page .lp-effects button{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:14px 10px;color:var(--dim);font-size:13px;font-weight:500;cursor:pointer}.admin-page .lp-effects button.active{border-color:var(--ok);color:var(--ok);background:color-mix(in srgb,var(--ok) 10%,transparent)}.add-widget-toggle{background:var(--card);color:var(--fg);border:1px dashed var(--line);border-radius:10px;padding:12px 16px;cursor:pointer;font-size:13px}.add-widget-form,.edit-widget-form{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:14px;max-width:360px}.add-widget-form label,.edit-widget-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--dim)}.add-widget-form input,.add-widget-form select,.edit-widget-form input,.edit-widget-form select{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:8px;color:var(--fg);font-size:14px}.add-widget-form .field,.edit-widget-form .field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--dim)}.icon-picker{position:relative}.icon-picker .icon-picker-trigger{width:100%;display:flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:8px;color:var(--fg);font-size:14px;font-weight:400;cursor:pointer;text-align:left}.icon-picker .icon-picker-trigger:hover{border-color:var(--dim)}.icon-picker-caret{margin-left:auto;color:var(--dim);font-size:11px}.icon-picker-panel{position:absolute;top:calc(100% + 6px);left:0;right:0;min-width:296px;z-index:20;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px;box-shadow:var(--shadow-pop)}.icon-picker-panel .icon-picker-search{width:100%;box-sizing:border-box;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:7px 8px;color:var(--fg);font-size:13px}.icon-picker-panel .icon-picker-clear{width:100%;margin-top:8px;background:none;border:1px dashed var(--line);border-radius:8px;padding:6px;color:var(--dim);font-size:12px;font-weight:400;cursor:pointer}.icon-picker-panel .icon-picker-clear:hover{color:var(--fg);border-color:var(--dim)}.icon-picker-scroll{max-height:260px;overflow-y:auto;margin-top:10px}.icon-picker-group+.icon-picker-group{margin-top:12px}.icon-picker-group-title{font-size:11px;color:var(--dim);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.icon-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:4px}.icon-picker-panel .icon-picker-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:none;border:1px solid transparent;border-radius:8px;color:var(--dim);cursor:pointer;padding:0}.icon-picker-panel .icon-picker-cell:hover{color:var(--fg);background:var(--bg)}.icon-picker-panel .icon-picker-cell.selected{color:var(--ok);border-color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,transparent)}.icon-picker-empty{font-size:12px;color:var(--dim);padding:12px 4px}.color-picker{display:flex;gap:8px}.color-picker .color-swatch{width:26px;height:26px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}.color-picker .color-swatch.selected{border-color:var(--fg)}.range-fields{display:flex;gap:10px}.range-fields label{flex:1}.form-actions{display:flex;gap:10px}.form-actions .secondary{background:var(--bg);color:var(--fg);border:1px solid var(--line)}.widget-card .widget-climate-preview{display:flex;align-items:center;gap:12px;width:100%;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px;cursor:pointer;color:var(--fg);font-weight:400;text-align:left}.widget-card .widget-climate-preview:hover{border-color:var(--ok)}.wc-setpoint{font-size:26px;font-weight:600;line-height:1.1}.wc-meta{display:flex;flex-direction:column;gap:2px;font-size:13px;min-width:0}.wc-current{color:var(--fg)}.cp-modal{width:min(680px,100%)}.cp-dial-card{display:flex;flex-direction:column;gap:12px}.cp-dial-row{display:flex;align-items:center;justify-content:center;gap:14px;min-width:0}.admin-page .cp-bump{width:56px;height:56px;flex-shrink:0;border-radius:50%;background:var(--bg);border:1px solid var(--line);color:var(--fg);font-size:26px;line-height:1;font-weight:400;cursor:pointer}.admin-page .cp-bump:hover:not(:disabled){border-color:var(--ok);color:var(--ok)}.admin-page .cp-bump:disabled{opacity:.35;cursor:default}.cp-dial{position:relative;width:260px;max-width:100%;aspect-ratio:1;min-width:0}.cp-dial svg{width:100%;height:100%;display:block}.cp-dial-track{stroke:var(--bg)}.cp-dial-fill{stroke:var(--ok);transition:stroke-dasharray .35s ease}.cp-dial-fill.idle{stroke:var(--line)}.cp-dial-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.cp-dial-caption{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}.cp-dial-value{font-size:clamp(32px,12vw,46px);font-weight:600;line-height:1}.cp-deg{font-size:.45em;color:var(--dim);margin-left:2px;font-weight:400}.cp-heating{font-size:12px;color:var(--dim);margin-top:4px}.cp-heating.on{color:var(--warn)}.cp-setpoint-slider{width:100%}.cp-readouts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.cp-readout{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:4px}.cp-readout-label{font-size:12px;color:var(--dim)}.cp-readout-value{font-size:22px;font-weight:600}.cp-valve{display:flex;flex-direction:column;gap:8px}.cp-valve-head{display:flex;justify-content:space-between;font-size:13px;color:var(--dim)}.cp-valve-head strong{color:var(--fg);font-size:15px}@media (max-width: 560px){.cp-dial-row{flex-wrap:wrap;gap:10px}.cp-dial{order:-1;flex:0 0 100%;width:100%;max-width:240px;margin:0 auto}.admin-page .cp-bump{flex:1 1 0;width:auto;max-width:170px;height:54px;border-radius:14px}}.admin-page button.device-delete{background:none;border:1px solid var(--line);color:var(--dim);font-weight:400;font-size:12px;padding:5px 10px;border-radius:8px}.admin-page button.device-delete:hover{color:var(--crit);border-color:var(--crit)}.status-ecg{width:48px;height:20px;display:block}.status-ecg path{fill:none;stroke:var(--crit);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.9}.status-ecg.on path{stroke:var(--ok);opacity:1;stroke-dasharray:100;animation:ecg-sweep 2.2s linear infinite}@keyframes ecg-sweep{0%{stroke-dashoffset:100}to{stroke-dashoffset:-100}}@media (prefers-reduced-motion: reduce){.status-ecg.on path{animation:none;stroke-dasharray:none}}.admin-page table td:nth-child(2){white-space:nowrap}.admin-page button.user-active{background:color-mix(in srgb,var(--crit) 15%,transparent);border:1px solid var(--crit);color:var(--crit);font-size:12px;font-weight:500;padding:4px 10px;border-radius:20px}.admin-page button.user-active.on{background:color-mix(in srgb,var(--ok) 15%,transparent);border-color:var(--ok);color:var(--ok)}.admin-page a{color:var(--fg);text-decoration:none;border-bottom:1px solid var(--line)}.admin-page a:hover{color:var(--ok);border-bottom-color:var(--ok)}.device-count{position:relative;cursor:default;border-bottom:1px dotted var(--dim)}.device-list{display:none;position:absolute;top:calc(100% + 8px);left:0;z-index:30;min-width:170px;max-height:220px;overflow-y:auto;flex-direction:column;gap:4px;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:8px 10px;box-shadow:var(--shadow-pop);white-space:nowrap;font-size:12px;color:var(--fg)}.device-count:hover .device-list,.device-count:focus-within .device-list{display:flex}:root{--panel: #1d1e19;--switch-off: #33342c}.theme-switcher{position:relative}.theme-switcher .theme-trigger{width:38px;height:38px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:var(--card);color:var(--fg);border:1px solid var(--line);border-radius:50%;font-weight:400;cursor:pointer;transition:border-color .15s,color .15s,box-shadow .15s}.theme-switcher .theme-trigger:hover,.theme-switcher .theme-trigger[aria-expanded=true]{color:var(--ok);border-color:var(--ok)}.theme-panel{position:absolute;top:calc(100% + 10px);right:0;z-index:60;width:min(330px,calc(100vw - 32px));background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:12px;box-shadow:var(--shadow-pop);color:var(--fg)}.theme-panel-title{font-size:12px;letter-spacing:.04em;color:var(--dim);margin:2px 6px 10px}.theme-options{display:flex;flex-direction:column;gap:6px}.theme-panel .theme-option{display:flex;align-items:center;gap:12px;width:100%;padding:8px;background:none;border:1px solid transparent;border-radius:14px;box-shadow:none;color:var(--fg);font-weight:400;text-align:left;cursor:pointer}.theme-panel .theme-option:hover{background:color-mix(in srgb,var(--fg) 6%,transparent)}.theme-panel .theme-option.selected{border-color:var(--ok);background:color-mix(in srgb,var(--ok) 10%,transparent)}.theme-switcher .theme-trigger:focus-visible,.theme-panel .theme-option:focus-visible{outline:2px solid var(--ok);outline-offset:2px}.theme-option-text{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.35}.theme-option-name{font-size:14px;font-weight:600}.theme-option-hint{font-size:12px;color:var(--dim)}.theme-option-check{color:var(--ok);flex-shrink:0}.theme-thumb{flex-shrink:0;width:78px;height:56px;border-radius:11px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:8px 7px;box-shadow:inset 0 0 0 1px #80808047}.tt-card{display:flex;flex-direction:column;gap:4px;padding:5px;border-radius:7px}.tt-dot{display:block;width:7px;height:7px;border-radius:50%}.tt-line{display:block;width:80%;height:3px;border-radius:2px}.tt-pill{display:block;width:72%;height:6px;border-radius:999px;margin-top:auto}.theme-thumb-classic{background:#12130f}.theme-thumb-classic .tt-card{background:#1d1e19;box-shadow:inset 0 0 0 1px #33342c}.theme-thumb-classic .tt-dot,.theme-thumb-classic .tt-pill{background:#5dcaa5}.theme-thumb-classic .tt-line{background:#e8e6dc73}.theme-thumb-glass{background:radial-gradient(60px 40px at 15% 0%,rgba(144,131,255,.6),transparent 70%),radial-gradient(50px 40px at 100% 100%,rgba(255,82,217,.45),transparent 70%),#050508}.theme-thumb-glass .tt-card{background:linear-gradient(180deg,#24242e,#07070b);box-shadow:inset 0 1px #ffffff52,inset 0 0 0 1px #ffffff1f,0 5px 9px -4px #46c8ff}.theme-thumb-glass .tt-card-alt{box-shadow:inset 0 1px #ffffff52,inset 0 0 0 1px #ffffff1f,0 5px 9px -4px #ff52d9}.theme-thumb-glass .tt-dot{background:#9083ff;box-shadow:0 0 5px #9083ff}.theme-thumb-glass .tt-line{background:#ffffff80}.theme-thumb-glass .tt-pill{background:linear-gradient(90deg,#46c8ff,#9083ff,#ff52d9,#ff9b40)}.theme-thumb-botanical{background:linear-gradient(160deg,#4d8062,#1d3a2a)}.theme-thumb-botanical .tt-card{background:#ffffff26;box-shadow:inset 0 0 0 1px #ffffff38}.theme-thumb-botanical .tt-dot{background:#a6ecc4}.theme-thumb-botanical .tt-line{background:#eef5ea8c}.theme-thumb-botanical .tt-pill{background:#f4e9cc}.theme-thumb-vision{background:radial-gradient(44px 44px at 0% 92%,rgba(246,170,92,.75),transparent 70%),#ece6de}.theme-thumb-vision .tt-card{background:#fff;box-shadow:0 4px 8px -4px #46321966}.theme-thumb-vision .tt-card-alt{background:linear-gradient(160deg,#fbd9b0,#e6832a)}.theme-thumb-vision .tt-dot,.theme-thumb-vision .tt-pill{background:#1f7a5a}.theme-thumb-vision .tt-line{background:#1d1d1f59}.theme-thumb-vision .tt-card-alt .tt-dot{background:#fff}.theme-thumb-vision .tt-card-alt .tt-line{background:#fffc}:where([data-theme=glass],[data-theme=botanical],[data-theme=vision]) body{min-height:100vh;-webkit-font-smoothing:antialiased;background-attachment:fixed}:where([data-theme=glass],[data-theme=botanical],[data-theme=vision]) .widget-grid{gap:18px}:where([data-theme=glass],[data-theme=botanical],[data-theme=vision]) .widget-card{position:relative;border-radius:24px;padding:18px;transition:box-shadow .2s,border-color .2s}:where([data-theme=glass],[data-theme=botanical],[data-theme=vision]) .widget-label{font-size:15px;font-weight:600;letter-spacing:-.01em}:where([data-theme=glass],[data-theme=botanical],[data-theme=vision]) .widget-value{font-weight:650;letter-spacing:-.02em;font-variant-numeric:tabular-nums}:where([data-theme=glass],[data-theme=botanical],[data-theme=vision]) .widget-icon-badge{width:36px;height:36px;border-radius:50%}:where([data-theme=glass],[data-theme=botanical],[data-theme=vision]) .widget-toggle{flex-direction:row-reverse;justify-content:space-between;font-size:15px}:where([data-theme=glass],[data-theme=botanical],[data-theme=vision]) .widget-card .widget-toggle-btn{width:100%;padding:8px 8px 8px 16px;background:var(--bg);border:1px solid var(--line);border-radius:999px;box-shadow:none;color:var(--fg);font-weight:500}:where([data-theme=glass],[data-theme=botanical],[data-theme=vision]) .widget-toggle .dot{position:relative;flex-shrink:0;width:48px;height:28px;border-radius:999px;background:var(--switch-off);box-shadow:inset 0 1px 3px #0000004d;transition:background-color .2s}:where([data-theme=glass],[data-theme=botanical],[data-theme=vision]) .widget-toggle .dot.on{background:var(--ok)}:where([data-theme=glass],[data-theme=botanical],[data-theme=vision]) .widget-toggle .dot:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--knob, #fff);box-shadow:0 2px 5px #0000004d;transition:transform .22s cubic-bezier(.3,.7,.4,1)}:where([data-theme=glass],[data-theme=botanical],[data-theme=vision]) .widget-toggle .dot.on:after{background:var(--knob-on, var(--knob, #fff));transform:translate(20px)}:where([data-theme=glass],[data-theme=botanical],[data-theme=vision]) :is(.admin-page,.auth-card) button:not([class]){border-radius:999px;padding:10px 18px}:where([data-theme=glass],[data-theme=botanical],[data-theme=vision]) .form-actions .secondary{border-radius:999px;padding:10px 18px}:where([data-theme=glass],[data-theme=botanical],[data-theme=vision]) .admin-page .add-widget-toggle{color:var(--fg);font-weight:500;border-radius:999px;padding:12px 20px}:where([data-theme=glass],[data-theme=botanical],[data-theme=vision]) :is(.add-widget-form,.edit-widget-form){border-radius:22px}:where([data-theme=glass],[data-theme=botanical],[data-theme=vision]) :is(.add-widget-form,.edit-widget-form) :is(input,select){border-radius:12px;padding:10px 12px}:where([data-theme=glass],[data-theme=botanical],[data-theme=vision]) .icon-picker .icon-picker-trigger{border-radius:12px;padding:10px 12px}:where([data-theme=glass],[data-theme=botanical],[data-theme=vision]) .icon-picker-panel{background:var(--panel);border-radius:16px}:where([data-theme=glass],[data-theme=botanical],[data-theme=vision]) .device-list{background:var(--panel)}:where([data-theme=glass],[data-theme=botanical],[data-theme=vision]) .empty-state{border-radius:20px}:where([data-theme=glass],[data-theme=botanical],[data-theme=vision]) table{border-radius:18px}:where([data-theme=glass],[data-theme=botanical],[data-theme=vision]) .auth-card{border-radius:26px;padding:36px 32px}:where([data-theme=glass],[data-theme=botanical],[data-theme=vision]) .auth-card input{border-radius:12px}:where([data-theme=glass],[data-theme=botanical],[data-theme=vision]) .widget-card :is(.widget-rgbw-preview,.widget-climate-preview){border-radius:18px}:where([data-theme=glass],[data-theme=botanical],[data-theme=vision]) .rgbw-swatch{border-radius:50%}:where([data-theme=glass],[data-theme=botanical],[data-theme=vision]) .lp-modal{border-radius:28px}:where([data-theme=glass],[data-theme=botanical],[data-theme=vision]) .lp-card{border-radius:20px}:where([data-theme=glass],[data-theme=botanical],[data-theme=vision]) .cp-readout{border-radius:18px}:where([data-theme=glass],[data-theme=botanical],[data-theme=vision]) .admin-page .lp-power-btn{border-radius:999px}:where([data-theme=glass],[data-theme=botanical],[data-theme=vision]) .admin-page :is(.lp-effects,.lp-presets) button{border-radius:999px}:where([data-theme=glass],[data-theme=botanical],[data-theme=vision]) .lp-hex input{border-radius:14px}:where([data-theme=glass],[data-theme=botanical],[data-theme=vision]) :is(input,select,button):focus-visible{outline:2px solid var(--ok);outline-offset:2px}@media (prefers-reduced-motion: reduce){:where([data-theme=glass],[data-theme=botanical],[data-theme=vision]) .widget-toggle .dot,:where([data-theme=glass],[data-theme=botanical],[data-theme=vision]) .widget-toggle .dot:after{transition:none}}:root[data-theme=glass]{color-scheme:dark;--bg: #0c0c12;--card: #111118;--panel: #101017;--line: rgba(255, 255, 255, .12);--fg: #f5f5fa;--dim: #9d9db2;--ok: #9083ff;--warn: #ffa846;--crit: #ff5577;--on-accent: #ffffff;--overlay: rgba(3, 3, 7, .72);--shadow-pop: 0 24px 60px rgba(0, 0, 0, .7);--switch-off: #1c1c26;--neon: linear-gradient(100deg, #46c8ff, #9083ff 35%, #ff52d9 68%, #ff9b40);--glow: #9083ff;--glass-fill: linear-gradient(180deg, rgba(255, 255, 255, .11) 0%, rgba(255, 255, 255, .03) 42%, rgba(255, 255, 255, 0) 60%), linear-gradient(180deg, #17171f 0%, #07070b 100%)}:where([data-theme=glass]) body{font-family:SF Pro Display,Inter,system-ui,sans-serif;background:radial-gradient(900px 620px at 8% -8%,rgba(144,131,255,.22),transparent 62%),radial-gradient(760px 540px at 102% 4%,rgba(255,82,217,.14),transparent 60%),radial-gradient(900px 640px at 50% 112%,rgba(70,200,255,.13),transparent 62%),#050508}:where([data-theme=glass]) .admin-page header{padding:10px 10px 10px 22px;border:1px solid transparent;border-radius:999px;background:var(--glass-fill) padding-box,var(--neon) border-box;box-shadow:inset 0 1px #ffffff38,0 18px 40px -22px #9083ffb3}:where([data-theme=glass]) .admin-page h1{font-weight:600;letter-spacing:-.01em}:where([data-theme=glass]) .widget-grid>:nth-child(5n+1){--glow: #46c8ff}:where([data-theme=glass]) .widget-grid>:nth-child(5n+2){--glow: #ff52d9}:where([data-theme=glass]) .widget-grid>:nth-child(5n+3){--glow: #6dff9a}:where([data-theme=glass]) .widget-grid>:nth-child(5n+4){--glow: #9083ff}:where([data-theme=glass]) .widget-grid>:nth-child(5n+5){--glow: #ff9b40}:where([data-theme=glass]) .widget-card{border:1px solid rgba(255,255,255,.13);background:radial-gradient(120% 55% at 50% 118%,color-mix(in srgb,var(--glow) 42%,transparent),transparent 62%),var(--glass-fill);box-shadow:inset 0 1px #ffffff42,0 22px 44px -24px color-mix(in srgb,var(--glow) 75%,transparent),0 2px 8px #0000008c}:where([data-theme=glass]) .widget-card:hover{border-color:#ffffff3d}:where([data-theme=glass]) .widget-icon-badge{background:radial-gradient(circle at 32% 24%,#ffffff57,#fff0 46%),linear-gradient(180deg,#1f1f2a,#09090e);box-shadow:inset 0 0 0 1px #ffffff29,0 0 16px -3px color-mix(in srgb,var(--w-accent) 80%,transparent)}:where([data-theme=glass]) .gauge-track-ring{stroke:#1b1b25}:where([data-theme=glass]) .widget-gauge-circular svg{filter:drop-shadow(0 0 6px color-mix(in srgb,var(--ok) 60%,transparent))}:where([data-theme=glass]) .widget-chart svg{filter:drop-shadow(0 0 4px rgba(144,131,255,.85))}:where([data-theme=glass]) :is(.admin-page,.auth-card) button:not([class]){color:#fff;border:1px solid transparent;background:linear-gradient(180deg,#ffffff2e,#fff0 55%) padding-box,linear-gradient(180deg,#1d1d27,#09090d) padding-box,var(--neon) border-box;box-shadow:inset 0 1px #ffffff4d,0 10px 26px -12px #9083ffe6;transition:box-shadow .2s}:where([data-theme=glass]) :is(.admin-page,.auth-card) button:not([class]):hover{box-shadow:inset 0 1px #ffffff4d,0 12px 30px -8px #ff52d9cc}:where([data-theme=glass]) .form-actions .secondary{background:#ffffff0d;border:1px solid var(--line);color:var(--fg)}:where([data-theme=glass]) .admin-page .add-widget-toggle{background:#ffffff08;border:1px dashed rgba(255,255,255,.22)}:where([data-theme=glass]) .admin-page .add-widget-toggle:hover{border-color:#ff52d9}:where([data-theme=glass]) .widget-card :is(.widget-rgbw-preview,.widget-climate-preview,.widget-toggle-btn){background:radial-gradient(100% 70% at 50% 125%,color-mix(in srgb,var(--glow) 38%,transparent),transparent 65%),#08080d;border:1px solid rgba(255,255,255,.1);box-shadow:inset 0 1px #ffffff0f}:where([data-theme=glass]) .widget-card :is(.widget-rgbw-preview,.widget-climate-preview,.widget-toggle-btn):hover{border-color:color-mix(in srgb,var(--glow) 70%,transparent)}:where([data-theme=glass]) .widget-toggle .dot.on{box-shadow:inset 0 1px 2px #ffffff4d,0 0 14px color-mix(in srgb,var(--ok) 80%,transparent)}:where([data-theme=glass]) :is(.add-widget-form,.edit-widget-form,.empty-state,.auth-card){background:var(--glass-fill);border:1px solid rgba(255,255,255,.13);box-shadow:inset 0 1px #fff3,0 24px 50px -30px #9083ff99}:where([data-theme=glass]) table{background:var(--glass-fill);box-shadow:inset 0 1px #ffffff24}:where([data-theme=glass]) .lp-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}:where([data-theme=glass]) .lp-modal{border:1px solid transparent;background:linear-gradient(180deg,#13131b,#07070b) padding-box,var(--neon) border-box;box-shadow:0 40px 90px -30px #9083ff8c,inset 0 1px #fff3}:where([data-theme=glass]) .lp-card{background:#ffffff09;border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px #ffffff14}:where([data-theme=glass]) .admin-page .lp-power-btn{background:var(--glass-fill);border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px #fff3}:where([data-theme=glass]) .admin-page .lp-power-btn.on{color:#fff;border-color:var(--ok);background:linear-gradient(180deg,#9083ff61,#9083ff14);box-shadow:inset 0 1px #ffffff40,0 0 24px -4px var(--ok)}:where([data-theme=glass]) .admin-page .lp-effects button{background:#0a0a10}:where([data-theme=glass]) .admin-page .lp-effects button.active{color:#fff;border-color:transparent;background:linear-gradient(#15151d,#15151d) padding-box,var(--neon) border-box;box-shadow:0 0 20px -6px #ff52d9}:where([data-theme=glass]) .admin-page .cp-bump{background:var(--glass-fill);border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 1px #ffffff40}:where([data-theme=glass]) .cp-dial svg{filter:drop-shadow(0 0 8px color-mix(in srgb,var(--ok) 65%,transparent))}:where([data-theme=glass]) .cp-readout{background:var(--glass-fill);box-shadow:inset 0 1px #ffffff24}:where([data-theme=glass]) .theme-switcher .theme-trigger{color:#fff;border:1px solid transparent;background:linear-gradient(180deg,#1d1d27,#09090d) padding-box,var(--neon) border-box;box-shadow:0 0 18px -6px #9083ff}:where([data-theme=glass]) .theme-panel{background:linear-gradient(180deg,#15151d,#08080c);border-color:#ffffff24}@media (max-width: 560px){:where([data-theme=glass]) .admin-page header{border-radius:26px;padding:14px 16px}}:root[data-theme=botanical]{color-scheme:dark;--bg: rgba(6, 24, 13, .34);--card: rgba(255, 255, 255, .08);--panel: #2c5039;--line: rgba(255, 255, 255, .14);--fg: #eef5ea;--dim: rgba(230, 242, 226, .66);--ok: #a6ecc4;--warn: #f6c46e;--crit: #ff9585;--on-accent: #1d3a28;--overlay: rgba(10, 26, 16, .55);--shadow-pop: 0 26px 60px -18px rgba(3, 14, 7, .75);--switch-off: rgba(0, 0, 0, .3);--knob: #f4ead0;--cream: #f4e9cc;--frost: linear-gradient(180deg, rgba(255, 255, 255, .13), rgba(255, 255, 255, .04))}:where([data-theme=botanical]) body{font-family:Avenir Next,Nunito Sans,Segoe UI,system-ui,sans-serif;background:radial-gradient(1100px 760px at 88% 8%,rgba(160,205,150,.32),transparent 62%),radial-gradient(900px 700px at -5% 105%,rgba(8,26,15,.6),transparent 60%),linear-gradient(165deg,#44765a,#2d5640 42%,#1c3829)}:where([data-theme=botanical]) .admin-page h1{font-weight:500;letter-spacing:.12em;color:var(--cream)}:where([data-theme=botanical]) .widget-card{background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.1)),var(--frost);border:1px solid rgba(255,255,255,.14);border-radius:28px;box-shadow:inset 0 1px #fff3,0 26px 44px -26px #041209b3}:where([data-theme=botanical]) .widget-card:hover{border-color:#ffffff42}:where([data-theme=botanical]) .widget-icon-badge{background:#06160c73;box-shadow:inset 0 1px #ffffff24,0 6px 14px -8px #0009}:where([data-theme=botanical]) .gauge-track-ring{stroke:#00000040}:where([data-theme=botanical]) .widget-card :is(.widget-rgbw-preview,.widget-climate-preview,.widget-toggle-btn){background:#081c0f57;border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px #ffffff0f}:where([data-theme=botanical]) .widget-card :is(.widget-rgbw-preview,.widget-climate-preview,.widget-toggle-btn):hover{border-color:#f4e9cc80}:where([data-theme=botanical]) :is(.admin-page,.auth-card) button:not([class]){background:var(--cream);color:#1d3a28;border:none;box-shadow:0 8px 20px -10px #0000008c,inset 0 1px #ffffffb3}:where([data-theme=botanical]) :is(.admin-page,.auth-card) button:not([class]):hover{background:#fff6dd}:where([data-theme=botanical]) .form-actions .secondary{background:#ffffff14;border:1px solid rgba(255,255,255,.2);color:var(--fg)}:where([data-theme=botanical]) .admin-page .add-widget-toggle{background:#ffffff0f;border:1px dashed rgba(255,255,255,.3)}:where([data-theme=botanical]) .admin-page .add-widget-toggle:hover{border-color:var(--cream)}:where([data-theme=botanical]) :is(.add-widget-form,.edit-widget-form,.empty-state,.auth-card){background:var(--frost);border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 1px #ffffff2e,0 26px 44px -26px #041209b3}:where([data-theme=botanical]) table{background:var(--frost);box-shadow:inset 0 1px #ffffff24}:where([data-theme=botanical]) .lp-overlay{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}:where([data-theme=botanical]) .lp-modal{background:linear-gradient(170deg,#467456f7,#1f3c2bfa);border:1px solid rgba(255,255,255,.16);box-shadow:0 40px 90px -30px #000000b3,inset 0 1px #ffffff2e}:where([data-theme=botanical]) .lp-card{background:#ffffff12;border:1px solid rgba(255,255,255,.1)}:where([data-theme=botanical]) .admin-page .lp-power-btn{background:#ffffff0f}:where([data-theme=botanical]) .admin-page .lp-power-btn.on{background:var(--cream);color:#1d3a28;border-color:var(--cream)}:where([data-theme=botanical]) .admin-page .lp-effects button{background:#0000002e}:where([data-theme=botanical]) .admin-page .lp-effects button.active{background:var(--cream);color:#1d3a28;border-color:var(--cream)}:where([data-theme=botanical]) .admin-page .cp-bump{background:#ffffff14}:where([data-theme=botanical]) .cp-readout{background:var(--frost)}:where([data-theme=botanical]) .theme-switcher .theme-trigger{background:#ffffff1a;border-color:#ffffff38;color:var(--cream)}:where([data-theme=botanical]) .theme-panel{background:linear-gradient(170deg,#3a6a4c,#24452f)}:root[data-theme=vision]{color-scheme:light;--bg: #f1eee9;--card: #fcfbf9;--panel: #fcfbf9;--line: rgba(40, 30, 15, .09);--fg: #1d1d1f;--dim: #6f6c68;--ok: #1f7a5a;--warn: #d27b1e;--crit: #d33f3f;--on-accent: #ffffff;--overlay: rgba(232, 226, 217, .55);--shadow-pop: 0 28px 60px -22px rgba(70, 50, 25, .35);--switch-off: #e2ded7;--knob: #ffffff;--soft: 0 1px 2px rgba(70, 50, 25, .06), 0 22px 44px -24px rgba(70, 50, 25, .3);--green-grad: linear-gradient(165deg, #2b8a68 0%, #16604a 48%, #0b3b2d 100%);--orange-grad: linear-gradient(160deg, #fbd9b0 0%, #f4ab5f 48%, #e6832a 100%);--green-btn: linear-gradient(180deg, #2a8465, #1b6a50)}:where([data-theme=vision]) body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Helvetica Neue,system-ui,sans-serif;background:radial-gradient(520px 520px at -4% 62%,rgba(246,170,92,.55),transparent 65%),radial-gradient(560px 480px at 104% 92%,rgba(46,125,90,.18),transparent 65%),radial-gradient(700px 500px at 80% -10%,rgba(255,255,255,.9),transparent 60%),linear-gradient(135deg,#ede4d8,#e8e3dc)}:where([data-theme=vision]) .admin-page{width:min(1320px,calc(100% - 48px));margin:24px auto;padding:30px;background:#faf9f6db;border:1px solid rgba(255,255,255,.85);border-radius:34px;box-shadow:0 50px 100px -50px #46321973,inset 0 1px #fff}:where([data-theme=vision]) .admin-page header{padding:10px 10px 10px 22px;margin-bottom:30px;background:#fff;border-radius:999px;box-shadow:var(--soft)}:where([data-theme=vision]) .admin-page h1{font-size:22px;font-weight:700;letter-spacing:-.025em}:where([data-theme=vision]) .widget-card{background:var(--card);border:1px solid rgba(255,255,255,.95);border-radius:26px;box-shadow:var(--soft)}:where([data-theme=vision]) .widget-card:hover{box-shadow:0 1px 2px #4632190f,0 28px 50px -24px #46321961}:where([data-theme=vision]) .widget-icon-badge{border-radius:13px;background:#fff;box-shadow:0 6px 14px -6px #46321947,inset 0 0 0 1px #281e0f0d}:where([data-theme=vision]) .widget-grid>.widget-card:is(:nth-child(5n+2),:nth-child(5n+4)){--fg: #ffffff;--dim: rgba(255, 255, 255, .82);--bg: rgba(255, 255, 255, .2);--line: rgba(255, 255, 255, .3);--ok: #ffffff;--switch-off: rgba(0, 0, 0, .18);color:var(--fg);border-color:transparent}:where([data-theme=vision]) .widget-grid>.widget-card:nth-child(5n+2){--knob-on: #e6832a;background:var(--orange-grad);box-shadow:0 26px 50px -24px #d678288c}:where([data-theme=vision]) .widget-grid>.widget-card:nth-child(5n+4){--knob-on: #16604a;background:var(--green-grad);box-shadow:0 26px 50px -24px #0f503a99}:where([data-theme=vision]) .widget-grid>.widget-card:is(:nth-child(5n+2),:nth-child(5n+4)) .widget-icon-badge{background:#ffffff38;box-shadow:inset 0 0 0 1px #ffffff4d}:where([data-theme=vision]) .widget-card :is(.widget-rgbw-preview,.widget-climate-preview,.widget-toggle-btn){background:var(--bg);border:1px solid transparent;box-shadow:inset 0 1px 2px #0000000d}:where([data-theme=vision]) .widget-card :is(.widget-rgbw-preview,.widget-climate-preview,.widget-toggle-btn):hover{border-color:var(--line)}:where([data-theme=vision]) :is(.admin-page,.auth-card) button:not([class]){background:var(--green-btn);color:#fff;border:none;box-shadow:0 10px 20px -10px #1b6a50a6,inset 0 1px #ffffff38}:where([data-theme=vision]) :is(.admin-page,.auth-card) button:not([class]):hover{box-shadow:0 14px 26px -10px #1b6a50bf,inset 0 1px #ffffff38}:where([data-theme=vision]) .form-actions .secondary{background:#f4e9d8;color:#3b2f1e;border:1px solid rgba(0,0,0,.04)}:where([data-theme=vision]) .admin-page .add-widget-toggle{background:#fff;border:1px dashed rgba(40,30,15,.18);box-shadow:var(--soft)}:where([data-theme=vision]) :is(.add-widget-form,.edit-widget-form,.empty-state){background:#fff;border:1px solid transparent;box-shadow:var(--soft)}:where([data-theme=vision]) :is(.add-widget-form,.edit-widget-form) :is(input,select){border-color:transparent;box-shadow:inset 0 1px 2px #0000000f}:where([data-theme=vision]) .auth-card{background:#fcfbf9eb;border:1px solid #fff;box-shadow:0 50px 100px -40px #46321973}:where([data-theme=vision]) table{background:#fff;box-shadow:var(--soft)}:where([data-theme=vision]) .lp-overlay{--fg: #1d1d1f;--dim: #6f6c68;--bg: #f1eee9;--line: rgba(40, 30, 15, .09);--ok: #1f7a5a;--switch-off: #e2ded7;color:var(--fg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}:where([data-theme=vision]) .lp-modal{background:#faf9f6;border:1px solid #fff;box-shadow:0 50px 100px -40px #46321973}:where([data-theme=vision]) .lp-card{background:#fff;border:1px solid transparent;box-shadow:var(--soft)}:where([data-theme=vision]) .admin-page .lp-power-btn{background:#fff;border:1px solid transparent;box-shadow:var(--soft)}:where([data-theme=vision]) .admin-page .lp-power-btn.on{background:var(--green-btn);color:#fff;border-color:transparent}:where([data-theme=vision]) .admin-page .lp-effects button{background:var(--bg);border-color:transparent}:where([data-theme=vision]) .admin-page .lp-effects button.active{background:var(--green-btn);color:#fff;border-color:transparent}:where([data-theme=vision]) .admin-page .cp-bump{background:#fff;border:1px solid transparent;box-shadow:var(--soft)}:where([data-theme=vision]) .cp-readout{background:#fff;border:1px solid transparent;box-shadow:var(--soft)}:where([data-theme=vision]) .theme-switcher .theme-trigger{background:#fff;border-color:transparent;box-shadow:var(--soft)}:where([data-theme=vision]) .theme-panel{border-color:transparent}@media (max-width: 560px){:where([data-theme=vision]) .admin-page{width:calc(100% - 20px);margin:10px auto;padding:16px;border-radius:26px}:where([data-theme=vision]) .admin-page header{border-radius:24px;padding:12px 12px 12px 18px}}:root{--hero: linear-gradient(135deg, #3e9c7d 0%, #1f5c48 100%);--hero-fg: #ffffff;--hero-dim: rgba(255, 255, 255, .78);--hero-ink: #1f5c48;--bar-strong: #2b7a61;--live: #6dffb0;--hatch: color-mix(in srgb, var(--dim) 45%, transparent)}:root[data-theme=glass]{--hero: linear-gradient(135deg, #5b4dff 0%, #b54be0 55%, #ff5fa2 100%);--hero-ink: #5b4dff;--bar-strong: #ff52d9}:root[data-theme=botanical]{--hero: linear-gradient(135deg, #f7eed6 0%, #dccb9b 100%);--hero-fg: #1d3a28;--hero-dim: rgba(29, 58, 40, .72);--hero-ink: #f4e9cc;--bar-strong: #f4e9cc;--live: #1f8a55}:root[data-theme=vision]{--hero: linear-gradient(165deg, #2b8a68 0%, #16604a 48%, #0b3b2d 100%);--hero-ink: #16604a;--bar-strong: #0f4a39}.a-svg{flex-shrink:0}.admin-shell{display:grid;grid-template-columns:248px minmax(0,1fr);gap:20px;align-items:start;min-height:100vh}.admin-shell .a-side{position:sticky;top:24px;height:calc(100vh - 48px);display:flex;flex-direction:column;gap:2px;padding:22px 14px 14px;overflow-y:auto}.admin-shell .a-side>*{flex-shrink:0}:where([data-theme=vision]) .admin-shell .a-side{height:calc(100vh - 108px)}.a-brand{display:flex;align-items:center;gap:10px;padding:0 8px 14px}.a-brand-mark{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--hero);color:var(--hero-fg)}.a-brand-name{font-size:22px;font-weight:700;letter-spacing:-.02em}.a-side-label{padding:16px 12px 6px;font-size:12px;letter-spacing:.04em;color:var(--dim)}.a-nav{display:flex;flex-direction:column;gap:2px}.admin-shell .a-nav-link{position:relative;display:flex;align-items:center;gap:12px;width:100%;padding:11px 12px;border:none;border-radius:12px;background:none;box-shadow:none;color:var(--dim);font:inherit;font-size:15px;font-weight:500;text-align:left;text-decoration:none;cursor:pointer}.admin-shell .a-nav-link:hover{color:var(--fg);background:color-mix(in srgb,var(--fg) 6%,transparent)}.admin-shell .a-nav-link.active{color:var(--fg);font-weight:650}.admin-shell .a-nav-link.active .a-svg{color:var(--ok)}.admin-shell .a-nav-link.active:before{content:"";position:absolute;left:-14px;top:8px;bottom:8px;width:4px;border-radius:0 4px 4px 0;background:var(--ok)}.a-nav-text{flex:1;min-width:0}.a-badge{min-width:24px;padding:1px 7px;border-radius:999px;background:color-mix(in srgb,var(--fg) 10%,transparent);color:var(--fg);font-size:11px;font-weight:700;text-align:center}.a-badge-alert{background:var(--hero);color:var(--hero-fg)}.a-side-status{margin-top:auto;display:flex;align-items:center;gap:12px;padding:14px;border-radius:16px;background:repeating-radial-gradient(circle at 100% 130%,transparent 0 18px,color-mix(in srgb,var(--hero-fg) 8%,transparent) 18px 20px),var(--hero);color:var(--hero-fg)}.a-side-status-title{font-size:14px;font-weight:600;line-height:1.3}.a-side-status-sub{font-size:12px;color:var(--hero-dim)}.a-live-dot{width:10px;height:10px;flex-shrink:0;border-radius:50%;background:var(--crit)}.a-live-dot.on{background:var(--live);animation:a-pulse 2s ease-out infinite}@keyframes a-pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--live) 55%,transparent)}70%{box-shadow:0 0 0 9px transparent}to{box-shadow:0 0 0 0 transparent}}.a-main{min-width:0;display:flex;flex-direction:column;gap:20px}.admin-shell .a-topbar{display:flex;align-items:center;gap:12px;padding:12px 14px}.a-search{flex:1;max-width:460px;min-width:0;height:48px;display:flex;align-items:center;gap:10px;padding:0 8px 0 16px;border-radius:999px;background:var(--bg);border:1px solid var(--line);color:var(--dim);cursor:text}.a-search:focus-within{border-color:var(--ok)}.admin-shell .a-search input{flex:1;min-width:0;padding:0;background:none;border:none;outline:none;color:var(--fg);font:inherit;font-size:15px}.admin-shell .a-search input:focus-visible{outline:none}.a-search kbd{padding:5px 9px;border-radius:8px;background:color-mix(in srgb,var(--fg) 8%,transparent);color:var(--dim);font:600 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.a-top-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.admin-shell .a-icon-btn{position:relative;width:44px;height:44px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:50%;background:var(--bg);border:1px solid var(--line);box-shadow:none;color:var(--fg);font-weight:400;cursor:pointer}.admin-shell .a-icon-btn:hover{border-color:var(--ok);color:var(--ok)}.admin-shell .a-topbar .theme-switcher .theme-trigger{width:44px;height:44px}.admin-shell .a-menu-btn,.admin-shell .a-side-close{display:none}.a-bell-count{position:absolute;top:-4px;right:-4px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--crit);color:#fff;font-size:11px;font-weight:700;line-height:19px;text-align:center}.a-profile{display:flex;align-items:center;gap:10px;padding-left:4px;min-width:0}.a-profile-text{min-width:0}.a-profile-name{font-size:15px;font-weight:600;line-height:1.25}.a-profile-mail{font-size:13px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.a-avatar{width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;color:#1d1d1f;font-size:17px;font-weight:700}.a-avatar.sm{width:36px;height:36px;font-size:14px}.a-error{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 8px 8px 16px;border-radius:14px;border:1px solid color-mix(in srgb,var(--crit) 35%,transparent);background:color-mix(in srgb,var(--crit) 12%,transparent);color:var(--crit);font-size:14px}.admin-shell .a-error .a-icon-btn{width:30px;height:30px;background:none;border:none;color:inherit}.a-page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;padding:4px 4px 0}.admin-shell .a-title{margin:0;font-size:clamp(28px,3.6vw,40px);font-weight:700;letter-spacing:-.03em;line-height:1.1}.a-subtitle{margin:6px 0 0;font-size:15px;color:var(--dim)}.a-head-actions{display:flex;flex-wrap:wrap;gap:10px}.admin-shell .a-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 22px;border-radius:999px;box-shadow:none;font:inherit;font-size:15px;font-weight:600;white-space:nowrap;text-decoration:none;cursor:pointer}.admin-shell .a-btn-primary{background:var(--hero);color:var(--hero-fg);border:1px solid transparent}.admin-shell .a-btn-primary:hover{filter:brightness(1.08)}.admin-shell .a-btn-outline{background:transparent;color:var(--fg);border:1.5px solid color-mix(in srgb,var(--fg) 70%,transparent)}.admin-shell .a-btn-outline:hover{border-color:var(--ok);color:var(--ok)}.admin-shell .a-btn-block{width:100%}.a-grid{display:grid;gap:18px;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-areas:"s1 s2 s3 s4" "act act pend devs" "users users gauge live"}@media (max-width: 1180px){.a-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"s1 s2" "s3 s4" "act act" "pend devs" "users users" "gauge live"}}@media (max-width: 640px){.a-grid{gap:12px;grid-template-areas:"s1 s2" "s3 s4" "act act" "pend pend" "devs devs" "users users" "gauge gauge" "live live"}}.admin-shell .a-card{min-width:0;margin:0;display:flex;flex-direction:column;gap:14px;padding:20px 22px}.a-card-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 10px}.a-card-head>:first-child{min-width:0}.admin-shell .a-card-title{margin:0;color:var(--fg);font-size:19px;font-weight:600;letter-spacing:-.01em}.a-card-sub{font-size:13px;color:var(--dim)}.a-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:120px;color:var(--dim);font-size:14px;text-align:center}.a-empty-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--ok) 15%,transparent);color:var(--ok)}.admin-shell .a-stat{gap:6px;min-height:176px;padding:18px}.a-stat-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.admin-shell .a-stat-label{min-width:0;margin:0;color:inherit;font-size:16px;font-weight:500;overflow-wrap:break-word}.admin-shell .a-arrow{width:40px;height:40px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--fg) 75%,transparent);color:var(--fg);text-decoration:none;transition:background-color .15s,color .15s}.admin-shell .a-arrow:hover{background:var(--fg);color:var(--panel);border-color:var(--fg)}.a-stat-value{margin-top:auto;font-size:clamp(40px,4.6vw,60px);font-weight:650;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}.a-stat-note{display:flex;align-items:center;gap:8px;font-size:14px}.a-stat-note.ok{color:var(--ok)}.a-stat-note.warn{color:var(--warn)}.a-chip{padding:0 6px;border:1px solid currentColor;border-radius:6px;font-size:11px;font-weight:700;line-height:17px}.admin-shell .a-hero{background:var(--hero);color:var(--hero-fg);border-color:transparent}.admin-shell .a-hero .a-stat-note{color:var(--hero-dim)}.admin-shell .a-hero .a-arrow{background:var(--hero-fg);color:var(--hero-ink);border-color:transparent}.a-bars{margin-top:auto;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(6px,1.4vw,16px)}.a-bar-col{display:flex;flex-direction:column;align-items:center;gap:10px}.a-bar-track{position:relative;width:100%;height:170px;display:flex;align-items:flex-end;justify-content:center}.a-bar{width:100%;max-width:64px;border-radius:999px;transition:height .4s ease}.a-bar-ok{background:var(--ok)}.a-bar-today{background:var(--bar-strong)}.a-bar-empty{background:repeating-linear-gradient(135deg,var(--hatch) 0 4px,transparent 4px 10px);box-shadow:inset 0 0 0 1.5px var(--hatch)}.a-bar-peak{position:absolute;left:50%;transform:translate(-50%);padding:1px 7px;border-radius:8px;border:1px solid var(--line);background:var(--panel);color:var(--ok);font-size:11px;font-weight:700;white-space:nowrap}.a-bar-day{font-size:13px;color:var(--dim)}.a-bar-day.today{color:var(--fg);font-weight:600}.a-pending-mail{color:var(--ok);font-size:clamp(19px,1.9vw,25px);font-weight:650;letter-spacing:-.02em;line-height:1.2;overflow-wrap:anywhere}.admin-shell .a-pending .a-btn{margin-top:auto}.admin-shell .a-more{align-self:center;border:none;color:var(--dim);font-size:13px}.a-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.a-list-row{display:flex;align-items:center;gap:12px;min-width:0;padding:7px 0}.a-list-text{flex:1;min-width:0}.a-list-title,.a-list-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.a-list-title{font-size:15px;font-weight:550}.a-list-sub{font-size:12.5px;color:var(--dim)}.a-list-empty{padding:12px 0;font-size:14px;color:var(--dim)}.a-dev-icon{width:38px;height:38px;flex-shrink:0;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--fg) 7%,transparent);color:var(--dim)}.a-dev-icon.on{background:color-mix(in srgb,var(--ok) 15%,transparent);color:var(--ok)}.a-list .status-ecg{width:36px;flex-shrink:0}.admin-shell .a-pill-link{display:inline-flex;align-items:center;gap:2px;padding:4px 6px 4px 12px;border-radius:999px;border:1.5px solid color-mix(in srgb,var(--fg) 70%,transparent);color:var(--fg);font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap}.admin-shell .a-pill-link:hover{border-color:var(--ok);color:var(--ok)}.a-tag{flex-shrink:0;padding:2px 9px;border:1px solid currentColor;border-radius:7px;font-size:11.5px;font-weight:600}.a-tag.ok{color:var(--ok);background:color-mix(in srgb,var(--ok) 10%,transparent)}.a-tag.warn{color:var(--warn);background:color-mix(in srgb,var(--warn) 10%,transparent)}.a-gauge-wrap{position:relative;width:100%;max-width:300px;margin:0 auto}.a-gauge-wrap svg{display:block;width:100%;height:auto}.a-gauge-fill{stroke:var(--ok);transition:stroke-dasharray .5s ease}.a-hatch-line{fill:var(--hatch)}.a-gauge-center{position:absolute;left:0;right:0;bottom:0;text-align:center}.a-gauge-value{font-size:clamp(36px,3.8vw,50px);font-weight:700;letter-spacing:-.04em;line-height:1}.a-gauge-label{font-size:13px;color:var(--ok)}.a-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;font-size:13px;color:var(--dim)}.a-legend span{display:inline-flex;align-items:center;gap:7px}.a-legend i{display:inline-block;width:14px;height:14px;border-radius:50%}.a-legend i.ok{background:var(--ok)}.a-legend i.hatch{background:repeating-linear-gradient(135deg,var(--hatch) 0 2px,transparent 2px 5px);box-shadow:inset 0 0 0 1.5px var(--hatch)}.admin-shell .a-live{container-type:inline-size;justify-content:space-between;min-height:210px;border-color:transparent;color:var(--hero-fg);background:repeating-radial-gradient(circle at 105% 125%,transparent 0 22px,color-mix(in srgb,var(--hero-fg) 7%,transparent) 22px 24px),var(--hero)}.admin-shell .a-live .a-card-title{color:var(--hero-fg)}.a-live-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.a-live-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;background:color-mix(in srgb,var(--hero-fg) 16%,transparent);font-size:11px;font-weight:700;letter-spacing:.06em}.a-live-time{font-size:clamp(26px,19cqi,64px);font-weight:650;letter-spacing:-.02em;line-height:1;text-align:center;font-variant-numeric:tabular-nums}.a-live-sub{font-size:13px;color:var(--hero-dim);text-align:center}.admin-shell .a-table-card{gap:0;padding:6px 8px}.admin-shell .a-table-card table{background:transparent;box-shadow:none}.admin-shell .a-table-card th{padding:14px 10px;font-size:12.5px}.admin-shell .a-table-card td{padding:12px 10px;font-size:14px}.admin-shell .a-table-card tr:last-child td{border-bottom:none}.a-live-cell{max-width:320px;font-size:12px;color:var(--dim);overflow-wrap:anywhere}.a-user-cell{display:inline-flex;align-items:center;gap:10px}.admin-shell .a-table-btn{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:6px 13px;line-height:1.25;text-align:left;border-radius:999px;border:1px solid var(--line);background:transparent;box-shadow:none;color:var(--fg);font:inherit;font-size:13px;font-weight:500;cursor:pointer}.admin-shell .a-table-btn:hover{border-color:var(--ok);color:var(--ok)}.a-table-empty{padding:28px;text-align:center;color:var(--dim)}.a-fw-picker{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--dim)}.admin-shell .a-fw-picker select{height:40px;border-radius:999px;padding:0 12px}.a-filters{display:flex;flex-wrap:wrap;gap:8px}.admin-shell .a-filter{height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:transparent;box-shadow:none;color:var(--dim);font:inherit;font-size:14px;font-weight:500;cursor:pointer}.admin-shell .a-filter:hover{color:var(--fg)}.admin-shell .a-filter.active{background:var(--fg);border-color:transparent;color:var(--panel)}@media (max-width: 900px){.admin-shell{grid-template-columns:minmax(0,1fr)}.admin-shell .a-side{position:fixed;top:0;bottom:0;left:0;z-index:80;width:min(290px,86vw);height:auto;border-radius:0 22px 22px 0;transform:translate(-105%);transition:transform .25s ease}:where([data-theme=vision]) .admin-shell .a-side{height:auto}:where([data-theme=botanical]) .admin-shell .a-side{background:linear-gradient(170deg,#3a6a4c,#24452f)}.admin-shell .a-side.open{transform:none}.a-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:75;background:var(--overlay)}.admin-shell .a-menu-btn,.admin-shell .a-side-close{display:inline-flex}.admin-shell .a-side-close{margin-left:auto}.a-profile-text,.a-search kbd{display:none}}@media (max-width: 1280px){.a-table-scroll{overflow-x:auto}.a-table-scroll .device-list{position:static;margin-top:6px;box-shadow:none}}@media (max-width: 560px){.admin-shell{gap:12px}.a-main{gap:14px}.admin-shell .a-topbar{gap:8px;padding:8px}.a-search{height:44px;padding-left:12px}.admin-shell .a-icon-btn,.admin-shell .a-topbar .theme-switcher .theme-trigger{width:40px;height:40px}.admin-shell .a-card{padding:16px}.admin-shell .a-stat{min-height:132px;padding:14px}.admin-shell .a-stat-label{font-size:14px}.admin-shell .a-stat .a-arrow{display:none}.a-bar-track{height:130px}}@media (prefers-reduced-motion: reduce){.a-live-dot.on{animation:none}.admin-shell .a-side{transition:none}}
