@import"https://rsms.me/inter/inter.css";.logo[data-v-423285a2]{display:inline-flex;align-items:center;gap:10px;color:var(--color-primary)}.mark[data-v-423285a2]{height:var(--logo-h, 32px);width:auto;max-width:calc(var(--logo-h, 32px) * 3);display:block;object-fit:contain;flex-shrink:0}.wordmark[data-v-423285a2]{font-size:1.05rem;font-weight:600;letter-spacing:-.01em;white-space:nowrap;color:var(--color-text)}.layout[data-v-c3cfb44a]{display:grid;grid-template-columns:var(--sidebar-rail) 1fr;min-height:100vh}.sidebar[data-v-c3cfb44a]{background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;width:var(--sidebar-rail);overflow:hidden;transition:width .18s ease;z-index:10}.sidebar[data-v-c3cfb44a]:hover,.sidebar[data-v-c3cfb44a]:focus-within{width:var(--sidebar-width);box-shadow:var(--shadow)}.sidebar-head[data-v-c3cfb44a]{padding:var(--space-3);display:flex;align-items:center;border-bottom:1px solid var(--color-border);height:var(--topbar-height)}.brand-link[data-v-c3cfb44a]{display:inline-flex;align-items:center;gap:var(--space-3);text-decoration:none;color:inherit;white-space:nowrap}.brand-name[data-v-c3cfb44a]{font-weight:600;font-size:.95rem;opacity:0;transition:opacity .18s ease}.sidebar:hover .brand-name[data-v-c3cfb44a],.sidebar:focus-within .brand-name[data-v-c3cfb44a]{opacity:1}.nav[data-v-c3cfb44a]{flex:1;padding:var(--space-3) var(--space-2);display:flex;flex-direction:column;gap:4px}.nav-item[data-v-c3cfb44a]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius);color:var(--color-text-muted);text-decoration:none;font-size:.875rem;font-weight:500;transition:background .15s,color .15s;white-space:nowrap;position:relative}.nav-item[data-v-c3cfb44a]:hover{background:var(--color-surface-hover);color:var(--color-text)}.nav-item.active[data-v-c3cfb44a]{background:var(--color-primary-soft);color:var(--color-primary)}.nav-item.active[data-v-c3cfb44a]:before{content:"";position:absolute;left:-10px;top:8px;bottom:8px;width:3px;background:var(--color-primary);border-radius:var(--radius-pill)}.nav-item.alert[data-v-c3cfb44a]{color:var(--color-danger)}.nav-item.alert.active[data-v-c3cfb44a]{background:var(--color-danger-soft)}.nav-item .label[data-v-c3cfb44a]{opacity:0;transition:opacity .18s ease;flex:1}.sidebar:hover .nav-item .label[data-v-c3cfb44a],.sidebar:focus-within .nav-item .label[data-v-c3cfb44a]{opacity:1}.nav-item .ext-icon[data-v-c3cfb44a]{opacity:0;transition:opacity .18s ease;color:var(--color-text-subtle)}.sidebar:hover .nav-item .ext-icon[data-v-c3cfb44a],.sidebar:focus-within .nav-item .ext-icon[data-v-c3cfb44a]{opacity:.6}.nav-badge[data-v-c3cfb44a]{background:var(--color-danger);color:#fff;font-size:.7rem;font-weight:700;padding:1px 7px;border-radius:var(--radius-pill);min-width:18px;text-align:center;opacity:0;transition:opacity .18s ease}.sidebar:hover .nav-badge[data-v-c3cfb44a],.sidebar:focus-within .nav-badge[data-v-c3cfb44a]{opacity:1}.sidebar-foot[data-v-c3cfb44a]{padding:var(--space-3);border-top:1px solid var(--color-border);display:flex;align-items:center;gap:var(--space-2)}.user-row[data-v-c3cfb44a]{display:flex;align-items:center;gap:var(--space-2);flex:1;min-width:0}.avatar[data-v-c3cfb44a]{width:36px;height:36px;border-radius:var(--radius-pill);background:var(--color-primary-soft);color:var(--color-primary);display:grid;place-items:center;font-size:.8rem;font-weight:700;flex-shrink:0}.user-meta[data-v-c3cfb44a]{min-width:0;opacity:0;transition:opacity .18s ease}.sidebar:hover .user-meta[data-v-c3cfb44a],.sidebar:focus-within .user-meta[data-v-c3cfb44a]{opacity:1}.user-name[data-v-c3cfb44a]{font-size:.875rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role[data-v-c3cfb44a]{font-size:.7rem;color:var(--color-text-muted)}.logout-btn[data-v-c3cfb44a]{background:transparent;border:1px solid var(--color-border);border-radius:var(--radius);width:36px;height:36px;display:grid;place-items:center;color:var(--color-text-muted);cursor:pointer;flex-shrink:0;transition:background .15s,color .15s,border-color .15s}.logout-btn[data-v-c3cfb44a]:hover{background:var(--color-danger-soft);color:var(--color-danger);border-color:var(--color-danger)}.main[data-v-c3cfb44a]{min-width:0;display:flex;flex-direction:column}.topbar[data-v-c3cfb44a]{height:var(--topbar-height);background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-6);position:sticky;top:0;z-index:5}.topbar-title[data-v-c3cfb44a]{margin:0;font-size:1.05rem;font-weight:600;letter-spacing:-.01em}.topbar-meta[data-v-c3cfb44a]{display:flex;align-items:center;gap:var(--space-3)}.pill[data-v-c3cfb44a]{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--radius-pill);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;background:var(--color-surface-hover);color:var(--color-text-muted)}.pill.local[data-v-c3cfb44a]{background:var(--color-success-soft);color:var(--color-success)}.pill-dot[data-v-c3cfb44a]{width:6px;height:6px;border-radius:50%;background:currentColor}.content[data-v-c3cfb44a]{padding:var(--space-6) var(--space-8);flex:1;min-width:0}@media(max-width:768px){.layout[data-v-c3cfb44a]{grid-template-columns:var(--sidebar-rail) 1fr}.sidebar[data-v-c3cfb44a]:hover,.sidebar[data-v-c3cfb44a]:focus-within{width:var(--sidebar-width);position:fixed}.content[data-v-c3cfb44a]{padding:var(--space-4)}.topbar[data-v-c3cfb44a]{padding:0 var(--space-4)}}.login-page[data-v-2dda62da]{min-height:100vh;display:grid;place-items:center;padding:var(--space-6);background:radial-gradient(circle at top,var(--color-primary-soft),transparent 60%),var(--color-bg)}.login-card-wrap[data-v-2dda62da]{width:100%;max-width:380px}.brand-block[data-v-2dda62da]{text-align:center;margin-bottom:var(--space-6);display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.brand-name[data-v-2dda62da]{margin:var(--space-2) 0 0;font-size:1.5rem;font-weight:600;letter-spacing:-.02em}.tagline[data-v-2dda62da]{margin:0;font-size:.875rem;color:var(--color-text-muted);text-transform:lowercase}.login-card[data-v-2dda62da]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.login-card h2[data-v-2dda62da]{margin:0;font-size:1.125rem;font-weight:600}.field[data-v-2dda62da]{display:flex;flex-direction:column;gap:var(--space-1)}.lbl[data-v-2dda62da]{font-size:.8rem;font-weight:500;color:var(--color-text-muted)}.submit[data-v-2dda62da]{margin-top:var(--space-2);height:42px;font-weight:600}.err[data-v-2dda62da]{margin:0;padding:var(--space-2) var(--space-3);background:var(--color-danger-soft);color:var(--color-danger);border-radius:var(--radius);font-size:.85rem}.footer[data-v-2dda62da]{text-align:center;margin:var(--space-6) 0 0;font-size:.75rem;color:var(--color-text-subtle)}.page-header[data-v-1d769b5d]{margin-bottom:var(--space-5)}.table-wrap[data-v-1d769b5d]{overflow-x:auto}.row[data-v-1d769b5d]{cursor:pointer;transition:background .1s}.row:hover td[data-v-1d769b5d]{background:var(--color-surface-hover)}.name[data-v-1d769b5d]{font-weight:500}.hint[data-v-1d769b5d]{margin-top:var(--space-3);font-size:.85rem}.hint code[data-v-1d769b5d]{display:inline-block;margin-top:var(--space-1);padding:var(--space-1) var(--space-2);background:var(--color-surface-2);border-radius:var(--radius-sm)}.tile[data-v-aecb7bbc]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);margin:calc(-1 * var(--space-2)) calc(-1 * var(--space-2)) 0;background:transparent;border:none;border-radius:var(--radius);font:inherit;color:inherit;cursor:pointer;text-align:left;width:calc(100% + var(--space-4));transition:background .15s}.tile[data-v-aecb7bbc]:hover{background:var(--color-surface-hover)}.tile[data-v-aecb7bbc]:active{transform:scale(.995)}.tile.pending[data-v-aecb7bbc]{opacity:.6;cursor:wait}.tile-icon[data-v-aecb7bbc]{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--color-surface-hover);color:var(--color-text-muted);flex-shrink:0;transition:background .2s,color .2s,box-shadow .2s}.tile.on .tile-icon[data-v-aecb7bbc]{background:#fef3c7;color:#b45309;box-shadow:0 0 0 4px #f59e0b1f}@media(prefers-color-scheme:dark){.tile.on .tile-icon[data-v-aecb7bbc]{background:#4a3b0e;color:#fde68a}}.tile-text[data-v-aecb7bbc]{flex:1;min-width:0}.tile-name[data-v-aecb7bbc]{margin:0;font-size:.95rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile-sub[data-v-aecb7bbc]{margin:2px 0 0;font-size:.78rem;color:var(--color-text-muted)}.vendor[data-v-aecb7bbc]{color:var(--color-text-subtle);font-size:.72rem}.switch[data-v-aecb7bbc]{flex-shrink:0;width:44px;height:26px;border-radius:999px;background:var(--color-border-strong);position:relative;transition:background .2s}.switch.on[data-v-aecb7bbc]{background:#f59e0b}.switch-knob[data-v-aecb7bbc]{position:absolute;top:2px;left:2px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s}.switch.on .switch-knob[data-v-aecb7bbc]{transform:translate(18px)}.head[data-v-aecb7bbc]{display:flex;align-items:center;gap:var(--space-3)}.icon[data-v-aecb7bbc]{width:38px;height:38px;display:grid;place-items:center;border-radius:var(--radius);background:var(--color-surface-hover);color:var(--color-text-muted);transition:background .2s,color .2s}.icon.on[data-v-aecb7bbc]{background:#fef3c7;color:#b45309}@media(prefers-color-scheme:dark){.icon.on[data-v-aecb7bbc]{background:#4a3b0e;color:#fde68a}}.name[data-v-aecb7bbc]{margin:0;font-size:.95rem;font-weight:600}.sub[data-v-aecb7bbc]{margin:0;font-size:.75rem;color:var(--color-text-muted)}.grid[data-v-aecb7bbc]{display:grid;gap:var(--space-2);grid-template-columns:1fr 1fr}.ch[data-v-aecb7bbc]{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-hover);cursor:pointer;font:inherit;color:inherit;text-align:left;transition:background .15s,border-color .15s,transform .05s}.ch[data-v-aecb7bbc]:hover{background:var(--color-surface-2)}.ch[data-v-aecb7bbc]:active{transform:scale(.97)}.ch.on[data-v-aecb7bbc]{background:#fef9c3;border-color:#facc15;color:#5b4400}@media(prefers-color-scheme:dark){.ch.on[data-v-aecb7bbc]{background:#3a2e0e;border-color:#a87f0a;color:#fde68a}}.ch.pending[data-v-aecb7bbc]{opacity:.5;cursor:wait}.ch-icon[data-v-aecb7bbc]{opacity:.6}.ch.on .ch-icon[data-v-aecb7bbc]{opacity:1}.ch-label[data-v-aecb7bbc]{font-size:.78rem;opacity:.8}.ch-state[data-v-aecb7bbc]{font-size:1.05rem;font-weight:700}.head[data-v-a011ec90]{display:flex}.title[data-v-a011ec90]{display:flex;gap:.6rem;align-items:center}h3[data-v-a011ec90]{margin:0;font-size:1rem}.sub[data-v-a011ec90]{margin:0;font-size:.75rem;color:#888}.readings[data-v-a011ec90]{display:flex;gap:1.25rem;justify-content:center;padding:.4rem 0 .2rem}.reading[data-v-a011ec90]{display:flex;flex-direction:column;align-items:center}.rd-label[data-v-a011ec90]{display:inline-flex;align-items:center;gap:4px;font-size:.7rem;color:#888;text-transform:uppercase;letter-spacing:.04em}.rd-val[data-v-a011ec90]{font-size:.95rem;font-weight:600;font-variant-numeric:tabular-nums}.dial-wrap[data-v-a011ec90]{display:flex;justify-content:center;margin-top:.2rem;margin-bottom:-.4rem}.dial[data-v-a011ec90]{width:100%;max-width:240px;touch-action:none;-webkit-user-select:none;user-select:none}.arc-bg[data-v-a011ec90]{stroke:#7f7f7f2e}.arc-fg[data-v-a011ec90]{transition:stroke .15s}.knob[data-v-a011ec90]{cursor:grab;filter:drop-shadow(0 1px 3px rgba(0,0,0,.2))}.knob[data-v-a011ec90]:active{cursor:grabbing}.dial-hr[data-v-a011ec90]{text-anchor:middle;font-size:12px;font-weight:500;font-family:inherit;fill:#888}.dial-hr-unit[data-v-a011ec90]{font-size:9px;fill:#aaa}.dial-mode[data-v-a011ec90]{text-anchor:middle;font-size:13px;font-weight:600;font-family:inherit;transition:fill .3s}.dial-temp[data-v-a011ec90]{text-anchor:middle;font-size:44px;font-weight:200;font-variant-numeric:tabular-nums;font-family:inherit;fill:currentColor}.dial-deci[data-v-a011ec90]{font-size:28px;font-weight:300}.dial-unit[data-v-a011ec90]{font-size:16px;fill:#888}.bumps[data-v-a011ec90]{display:flex;gap:.5rem;justify-content:center;margin-bottom:.5rem}.bump[data-v-a011ec90]{width:38px;height:38px;border-radius:50%;border:1px solid rgba(127,127,127,.25);background:#7f7f7f0d;color:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center}.bump[data-v-a011ec90]:hover{background:#7f7f7f1f}.modes[data-v-a011ec90]{display:flex;gap:.3rem;flex-wrap:wrap}.mode-btn[data-v-a011ec90]{flex:1;min-width:60px;padding:5px 10px;border:1px solid rgba(127,127,127,.25);background:transparent;color:inherit;border-radius:8px;font:inherit;font-size:.8rem;cursor:pointer;text-transform:capitalize}.mode-btn.on[data-v-a011ec90]{background:var(--accent, var(--color-primary));border-color:var(--accent, var(--color-primary));color:#fff;font-weight:600}.fan[data-v-a011ec90]{display:flex;align-items:center;gap:.5rem;margin-top:.4rem;padding-top:.4rem;border-top:1px solid rgba(127,127,127,.12)}.fan-label[data-v-a011ec90]{font-size:.7rem;color:#888;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}.fan-pills[data-v-a011ec90]{display:flex;gap:3px;flex:1}.fan-btn[data-v-a011ec90]{flex:1;padding:4px 6px;border:1px solid rgba(127,127,127,.2);background:transparent;color:inherit;border-radius:6px;font:inherit;font-size:.75rem;cursor:pointer;text-transform:capitalize}.fan-btn.on[data-v-a011ec90]{background:#7f7f7f2e;font-weight:600}.head[data-v-5e2defc6]{display:flex}.title[data-v-5e2defc6]{display:flex;gap:.6rem;align-items:center}.icon[data-v-5e2defc6]{font-size:1.4rem;width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#7f7f7f1a}h3[data-v-5e2defc6]{margin:0;font-size:1rem}.sub[data-v-5e2defc6]{margin:0;font-size:.75rem;color:#888}.big[data-v-5e2defc6]{display:flex;align-items:baseline;gap:.2rem;padding:.4rem 0}.big .num[data-v-5e2defc6]{font-size:2.5rem;font-weight:300;line-height:1;font-variant-numeric:tabular-nums}.big .unit[data-v-5e2defc6]{font-size:1rem;color:#888}.key[data-v-5e2defc6]{font-size:.75rem;color:#888;text-transform:lowercase;margin-top:-.2rem}.empty[data-v-5e2defc6]{color:#888;font-style:italic}.secondary[data-v-5e2defc6]{display:flex;flex-direction:column;gap:.25rem;padding-top:.4rem;border-top:1px solid rgba(127,127,127,.1);font-size:.85rem}.sec-item[data-v-5e2defc6]{display:flex;gap:.4rem;align-items:center}.sec-key[data-v-5e2defc6]{color:#888;flex:1}.sec-val[data-v-5e2defc6]{font-weight:600;font-variant-numeric:tabular-nums}.head[data-v-472f142d]{display:flex}.title[data-v-472f142d]{display:flex;gap:.6rem;align-items:center}.icon[data-v-472f142d]{font-size:1.4rem;width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#7f7f7f1a}h3[data-v-472f142d]{margin:0;font-size:1rem}.sub[data-v-472f142d]{margin:0;font-size:.75rem;color:#888}.toggle[data-v-472f142d]{background:none;border:none;color:var(--color-primary);cursor:pointer;padding:0;font:inherit;font-size:.85rem;text-align:left}.json[data-v-472f142d]{background:#7f7f7f0f;padding:.5rem;border-radius:6px;font-size:.7rem;max-height:200px;overflow:auto;margin:0}.head[data-v-63b11ba4]{display:flex}.title[data-v-63b11ba4]{display:flex;gap:.6rem;align-items:center}.icon[data-v-63b11ba4]{font-size:1.4rem;width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#fef3c7;color:#b45309}@media(prefers-color-scheme:dark){.icon[data-v-63b11ba4]{background:#4a3b0e;color:#fbbf24}}h3[data-v-63b11ba4]{margin:0;font-size:1rem}.sub[data-v-63b11ba4]{margin:0;font-size:.75rem;color:#888;display:flex;align-items:center;gap:4px}.warn[data-v-63b11ba4]{color:#c92a2a;display:inline-flex;align-items:center;gap:2px}.flow[data-v-63b11ba4]{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.5rem 0}.row[data-v-63b11ba4]{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:.4rem;align-items:center;width:100%}.node[data-v-63b11ba4]{display:flex;flex-direction:column;align-items:center;gap:2px;padding:.5rem .4rem;border-radius:10px;background:#7f7f7f12;border:1px solid rgba(127,127,127,.15);font-size:.85rem}.node strong[data-v-63b11ba4]{font-variant-numeric:tabular-nums}.node.active[data-v-63b11ba4]{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary) 33}.node.pv[data-v-63b11ba4]{background:#fef9c3;border-color:#fde047}@media(prefers-color-scheme:dark){.node.pv[data-v-63b11ba4]{background:#3a2e0e;border-color:#a87f0a}}.node.pv.active[data-v-63b11ba4]{border-color:#f59e0b;box-shadow:0 0 8px #f59e0b66}.node.house.active[data-v-63b11ba4]{border-color:#6b7280;box-shadow:none}.node.grid.active[data-v-63b11ba4]{border-color:var(--color-primary)}.node.grid.exporting[data-v-63b11ba4]{border-color:#16a34a;box-shadow:0 0 6px #16a34a55}.node.bat.active[data-v-63b11ba4]{border-color:#f59e0b}.muted[data-v-63b11ba4]{color:#888;font-size:.7rem}.arrow[data-v-63b11ba4]{display:flex;align-items:center;justify-content:center;color:#ccc;min-width:16px;min-height:16px}.arrow.vertical.flowing[data-v-63b11ba4],.arrow.horizontal.flowingLeft[data-v-63b11ba4],.arrow.horizontal.flowingRight[data-v-63b11ba4]{color:var(--color-primary);animation:pulse-63b11ba4 1.5s ease-in-out infinite}.arrow.horizontal.flowingRight[data-v-63b11ba4]{color:#16a34a}@keyframes pulse-63b11ba4{0%,to{opacity:.4}50%{opacity:1}}.day-totals[data-v-63b11ba4]{display:grid;grid-template-columns:repeat(4,1fr);gap:.3rem;padding:.4rem 0;border-top:1px solid rgba(127,127,127,.12);border-bottom:1px solid rgba(127,127,127,.12);margin:.2rem 0}.day-totals>div[data-v-63b11ba4]{display:flex;flex-direction:column;align-items:center;font-size:.85rem}.dt-label[data-v-63b11ba4]{font-size:.65rem;color:#888;text-transform:uppercase;letter-spacing:.04em}.day-totals strong[data-v-63b11ba4]{font-variant-numeric:tabular-nums;font-size:.9rem}.footer-line[data-v-63b11ba4]{display:flex;justify-content:space-between;align-items:center;font-size:.78rem}.modetag[data-v-63b11ba4]{background:#7f7f7f26;padding:2px 10px;border-radius:999px;font-weight:600}.temp[data-v-63b11ba4]{font-variant-numeric:tabular-nums}.modes[data-v-63b11ba4]{display:flex;gap:.3rem;flex-wrap:wrap;margin-top:.4rem}.mode-btn[data-v-63b11ba4]{flex:1;min-width:60px;padding:5px 8px;border:1px solid rgba(127,127,127,.25);background:transparent;color:inherit;border-radius:8px;font:inherit;font-size:.78rem;cursor:pointer}.mode-btn[data-v-63b11ba4]:disabled{opacity:.5;cursor:wait}.mode-btn[data-v-63b11ba4]:hover:not(:disabled){background:#7f7f7f14}.advanced[data-v-63b11ba4]{margin-top:.4rem;border-top:1px solid rgba(127,127,127,.12);padding-top:.4rem;font-size:.8rem}.advanced summary[data-v-63b11ba4]{cursor:pointer;color:#666;-webkit-user-select:none;user-select:none;padding:.2rem 0}.advanced summary[data-v-63b11ba4]:hover{color:var(--color-primary)}.advanced[open] summary[data-v-63b11ba4]{margin-bottom:.4rem;color:var(--color-primary)}.setting[data-v-63b11ba4]{margin-bottom:.6rem}.setting[data-v-63b11ba4]:last-child{margin-bottom:0}.setting-head[data-v-63b11ba4]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.2rem}.setting-head strong[data-v-63b11ba4]{font-variant-numeric:tabular-nums}.slider-row[data-v-63b11ba4]{display:flex;gap:.4rem;align-items:center}.slider-row input[type=range][data-v-63b11ba4]{flex:1;min-width:0}.apply-btn[data-v-63b11ba4]{padding:4px 10px;border:1px solid var(--color-primary);background:transparent;color:var(--color-primary);border-radius:6px;font:inherit;font-size:.75rem;cursor:pointer}.apply-btn[data-v-63b11ba4]:disabled{opacity:.5;cursor:wait}.apply-btn[data-v-63b11ba4]:hover:not(:disabled){background:var(--color-primary);color:#fff}.uplot,.uplot *,.uplot *:before,.uplot *:after{box-sizing:border-box}.uplot{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5;width:min-content}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{position:relative;-webkit-user-select:none;user-select:none}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{display:block;position:relative;width:100%;height:100%}.u-axis{position:absolute}.u-legend{font-size:14px;margin:auto;text-align:center}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{background:#00000012;position:absolute;pointer-events:none}.u-cursor-x,.u-cursor-y{position:absolute;left:0;top:0;pointer-events:none;will-change:transform}.u-hz .u-cursor-x,.u-vt .u-cursor-y{height:100%;border-right:1px dashed #607D8B}.u-hz .u-cursor-y,.u-vt .u-cursor-x{width:100%;border-bottom:1px dashed #607D8B}.u-cursor-pt{position:absolute;top:0;left:0;border-radius:50%;border:0 solid;pointer-events:none;will-change:transform;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}.chart-wrap[data-v-0222c45f]{margin-top:.5rem;border-top:1px solid rgba(127,127,127,.15);padding-top:.5rem}header[data-v-0222c45f]{display:flex;align-items:center;gap:.5rem;font-size:.8rem;margin-bottom:.4rem}select[data-v-0222c45f]{background:transparent;border:1px solid rgba(127,127,127,.3);color:inherit;padding:2px 6px;border-radius:4px;font:inherit}.range button[data-v-0222c45f]{background:transparent;border:1px solid rgba(127,127,127,.3);color:inherit;padding:2px 8px;border-radius:4px;cursor:pointer;font:inherit}.range button.on[data-v-0222c45f]{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.muted[data-v-0222c45f]{color:#888;margin-left:auto}.err[data-v-0222c45f]{color:#c92a2a;margin-left:auto}.chart[data-v-0222c45f]{width:100%;min-height:180px}.device-card[data-v-8c5052d3]{position:relative;background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm);transition:box-shadow .15s,transform .15s,border-color .15s;display:flex;flex-direction:column;gap:var(--space-3);border:1px solid var(--color-border)}.device-card[data-v-8c5052d3]:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.device-card.status-offline[data-v-8c5052d3]{opacity:.78}.device-card.status-never[data-v-8c5052d3]{border-style:dashed}.status-dot[data-v-8c5052d3]{position:absolute;top:10px;right:10px;width:8px;height:8px;border-radius:50%;background:var(--color-text-subtle);z-index:1}.card-tools[data-v-8c5052d3]{position:absolute;top:8px;right:24px;display:flex;align-items:center;gap:4px;z-index:1}.card-tools.installer-only[data-v-8c5052d3]{display:none}.card-tools>.hide-badge[data-v-8c5052d3],.card-tools>.edit-btn[data-v-8c5052d3]{opacity:0;transition:opacity .15s}.device-card:hover .card-tools>.hide-badge[data-v-8c5052d3],.device-card:hover .card-tools>.edit-btn[data-v-8c5052d3],.device-card:focus-within .card-tools>.hide-badge[data-v-8c5052d3],.device-card:focus-within .card-tools>.edit-btn[data-v-8c5052d3]{opacity:1}.zone-badge[data-v-8c5052d3]{background:var(--color-primary-soft);color:var(--color-primary);font-size:.65rem;font-weight:700;padding:1px 6px;border-radius:var(--radius-pill);letter-spacing:.04em}.hide-badge[data-v-8c5052d3]{display:inline-flex;align-items:center;gap:3px;padding:1px 6px;border-radius:var(--radius-pill);background:var(--color-surface-hover);color:var(--color-text-muted);font-size:.65rem;opacity:1}.device-card .hide-badge[data-v-8c5052d3]{opacity:1}.edit-btn[data-v-8c5052d3]{background:var(--color-surface-hover);border:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:var(--color-text-muted);cursor:pointer;transition:background .15s,color .15s}.edit-btn[data-v-8c5052d3]:hover{background:var(--color-primary);color:#fff}.status-dot.fresh[data-v-8c5052d3]{background:var(--color-success);box-shadow:0 0 6px #16a34a73}.status-dot.stale[data-v-8c5052d3]{background:var(--color-warning)}.status-dot.offline[data-v-8c5052d3]{background:var(--color-danger)}.status-dot.never[data-v-8c5052d3]{background:var(--color-text-subtle)}.card-footer[data-v-8c5052d3]{border-top:1px solid var(--color-border);padding-top:var(--space-3);margin-top:auto}.meta-line[data-v-8c5052d3]{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1);font-size:.75rem}.meta-chip[data-v-8c5052d3]{background:var(--color-surface-hover);padding:2px 8px;border-radius:var(--radius-pill);white-space:nowrap;display:inline-flex;align-items:center;gap:3px;color:var(--color-text-muted)}.meta-chip.age.stale[data-v-8c5052d3]{background:var(--color-warning-soft);color:var(--color-warning)}.meta-chip.age.offline[data-v-8c5052d3],.meta-chip.age.never[data-v-8c5052d3]{background:var(--color-danger-soft);color:var(--color-danger)}.chart-btn[data-v-8c5052d3]{margin-left:auto;background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:4px 8px;cursor:pointer;font:inherit;color:var(--color-text-muted);display:inline-flex;align-items:center;transition:background .15s,color .15s,border-color .15s}.chart-btn[data-v-8c5052d3]:hover{background:var(--color-surface-hover);color:var(--color-text)}.chart-btn.on[data-v-8c5052d3]{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-on)}.room-line[data-v-8c5052d3]{margin-bottom:var(--space-2)}.room-btn[data-v-8c5052d3]{background:none;border:1px dashed var(--color-border-strong);border-radius:var(--radius-sm);padding:3px 10px;cursor:pointer;font:inherit;font-size:.78rem;color:var(--color-text-muted);display:inline-flex;align-items:center;gap:4px;transition:background .15s,color .15s}.room-btn[data-v-8c5052d3]:hover{background:var(--color-surface-hover);color:var(--color-text)}.room-btn.unset[data-v-8c5052d3]{font-style:italic}.room-line input[data-v-8c5052d3]{width:100%;padding:4px 8px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:inherit;font:inherit;font-size:.85rem}.action[data-v-c98c896f]{border:1px solid rgba(127,127,127,.18);border-radius:10px;padding:.6rem .8rem;background:#7f7f7f08}.action-head[data-v-c98c896f]{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}.action-head strong[data-v-c98c896f]{flex:1}.room[data-v-c98c896f]{font-size:.7rem;background:#7f7f7f26;padding:1px 8px;border-radius:999px}.rm[data-v-c98c896f]{background:none;border:none;cursor:pointer;color:#c92a2a;display:inline-flex;align-items:center}.kv-list[data-v-c98c896f]{display:flex;flex-direction:column;gap:.4rem}.kv[data-v-c98c896f]{display:flex;align-items:center;gap:.4rem}.kv label[data-v-c98c896f]{flex:1;display:flex;align-items:center;gap:.5rem;font-size:.85rem}.k[data-v-c98c896f]{width:110px;color:#888;text-transform:capitalize;font-size:.78rem}.toggle[data-v-c98c896f]{display:flex;gap:4px}.toggle-btn[data-v-c98c896f]{padding:3px 12px;border:1px solid rgba(127,127,127,.3);background:transparent;border-radius:6px;cursor:pointer;font:inherit;color:inherit;font-size:.8rem}.toggle-btn.on[data-v-c98c896f]{background:#16a34a;color:#fff;border-color:#16a34a}select[data-v-c98c896f],input[type=text][data-v-c98c896f]{flex:1;padding:4px 8px;border:1px solid rgba(127,127,127,.25);border-radius:6px;background:transparent;font:inherit;font-size:.85rem;color:inherit}.num-row[data-v-c98c896f]{display:flex;gap:4px;align-items:center}.num-row input[data-v-c98c896f]{width:70px;padding:4px 6px;border:1px solid rgba(127,127,127,.25);border-radius:6px;background:transparent;font:inherit;font-size:.85rem;color:inherit;text-align:center}.bump[data-v-c98c896f]{width:26px;height:26px;border-radius:50%;border:1px solid rgba(127,127,127,.3);background:transparent;color:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center}.dropk[data-v-c98c896f]{background:none;border:none;cursor:pointer;color:#888;font-size:1.1rem;line-height:1;padding:0 6px}.dropk[data-v-c98c896f]:hover{color:#c92a2a}.modal-bg[data-v-4b469bdd]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:flex-start;justify-content:center;z-index:100;padding-top:5vh}.modal[data-v-4b469bdd]{background:#fff;width:95%;max-width:520px;max-height:88vh;border-radius:14px;box-shadow:0 8px 32px #0003;display:flex;flex-direction:column}@media(prefers-color-scheme:dark){.modal[data-v-4b469bdd]{background:#1d2026;box-shadow:0 8px 32px #0009}}header[data-v-4b469bdd]{display:flex;align-items:center;padding:.8rem 1rem;border-bottom:1px solid rgba(127,127,127,.15)}header h3[data-v-4b469bdd]{margin:0;flex:1}.close[data-v-4b469bdd]{background:none;border:none;cursor:pointer;color:inherit;display:inline-flex;align-items:center}.row[data-v-4b469bdd]{padding:.8rem 1rem}.name-row[data-v-4b469bdd]{display:flex;gap:.5rem}.icon-pick[data-v-4b469bdd]{width:60px;text-align:center;font-size:1.2rem;background:#7f7f7f14;border:1px solid rgba(127,127,127,.25);border-radius:8px;padding:.5rem;color:inherit}.name-row input[data-v-4b469bdd]{flex:1;padding:.5rem .7rem;border:1px solid rgba(127,127,127,.25);border-radius:8px;font:inherit;background:transparent;color:inherit}.hint[data-v-4b469bdd]{padding:0 1rem;font-size:.85rem;color:#888;margin:0 0 .5rem}.empty[data-v-4b469bdd]{color:#888;font-style:italic;padding:.5rem;text-align:center}.actions-list[data-v-4b469bdd]{flex:1;overflow-y:auto;padding:0 1rem .5rem;display:flex;flex-direction:column;gap:.5rem}.schedule-area[data-v-4b469bdd]{padding:0 1rem .5rem}.sched-row[data-v-4b469bdd]{display:flex;align-items:center;gap:.5rem;font-size:.85rem;padding:.4rem .6rem;background:#7f7f7f0d;border-radius:8px}.time-input[data-v-4b469bdd]{padding:3px 8px;border:1px solid rgba(127,127,127,.25);border-radius:6px;background:transparent;color:inherit;font:inherit}.time-input[data-v-4b469bdd]:disabled{opacity:.5}.hint.mini[data-v-4b469bdd]{font-size:.75rem;padding:0 .5rem;margin-top:.2rem}.add-area[data-v-4b469bdd]{padding:0 1rem .8rem}.add-btn[data-v-4b469bdd]{width:100%;padding:.5rem .85rem;border:1px dashed rgba(127,127,127,.3);background:transparent;border-radius:8px;cursor:pointer;font:inherit;color:var(--color-primary);display:inline-flex;align-items:center;justify-content:center;gap:4px}.add-btn[data-v-4b469bdd]:disabled{opacity:.4;cursor:not-allowed}.picker[data-v-4b469bdd]{display:flex;flex-direction:column;gap:.3rem}.pick-row[data-v-4b469bdd]{display:flex;align-items:center;gap:.5rem;padding:.5rem .7rem;border:1px solid rgba(127,127,127,.18);border-radius:8px;background:transparent;color:inherit;cursor:pointer;font:inherit;text-align:left}.pick-row[data-v-4b469bdd]:hover{background:#7f7f7f14}.pick-row strong[data-v-4b469bdd]{flex:1;font-size:.9rem}.pick-row .room[data-v-4b469bdd]{font-size:.7rem;background:#7f7f7f26;padding:1px 8px;border-radius:999px}footer[data-v-4b469bdd]{display:flex;gap:.5rem;justify-content:flex-end;padding:.8rem 1rem;border-top:1px solid rgba(127,127,127,.15)}.link[data-v-4b469bdd]{background:none;border:none;color:var(--color-primary);cursor:pointer;font:inherit;padding:.4rem .8rem}.primary[data-v-4b469bdd]{background:var(--color-primary);color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;font:inherit;font-weight:600;cursor:pointer}.primary[data-v-4b469bdd]:disabled{opacity:.5;cursor:not-allowed}.scenes[data-v-e73a4dc8]{margin-bottom:1.25rem}.scenes-title[data-v-e73a4dc8]{font-size:.95rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#555;margin:0 0 .6rem}@media(prefers-color-scheme:dark){.scenes-title[data-v-e73a4dc8]{color:#ccc}}.scenes-row[data-v-e73a4dc8]{display:flex;flex-wrap:wrap;gap:.5rem}.scene-card[data-v-e73a4dc8]{display:flex;align-items:center;border:1px solid rgba(127,127,127,.25);background:#fff;border-radius:999px;overflow:hidden}@media(prefers-color-scheme:dark){.scene-card[data-v-e73a4dc8]{background:#1d2026}}.scene-card.running[data-v-e73a4dc8]{background:var(--color-primary);border-color:var(--color-primary)}.scene-card.running .scene-action[data-v-e73a4dc8]{color:#fff}.scene-main[data-v-e73a4dc8]{display:flex;align-items:center;gap:.4rem;padding:.5rem .85rem;background:transparent;border:none;color:inherit;cursor:pointer;font:inherit;font-size:.9rem}.scene-main[data-v-e73a4dc8]:hover{background:#7f7f7f14}.scene-card.running .scene-main[data-v-e73a4dc8]{color:#fff}.scene-icon[data-v-e73a4dc8]{font-size:1rem}.scene-name[data-v-e73a4dc8]{font-weight:500}.sched-badge[data-v-e73a4dc8]{display:inline-flex;align-items:center;gap:3px;font-size:.72rem;background:#7f7f7f26;color:#555;padding:1px 6px;border-radius:999px;margin-left:4px}@media(prefers-color-scheme:dark){.sched-badge[data-v-e73a4dc8]{color:#aaa}}.scene-card.running .sched-badge[data-v-e73a4dc8]{background:#fff3;color:#fff}.scene-action[data-v-e73a4dc8]{background:none;border:none;border-left:1px solid rgba(127,127,127,.18);width:28px;height:100%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:inherit}.scene-action[data-v-e73a4dc8]:hover{background:#7f7f7f1f}.scene-action.del[data-v-e73a4dc8]:hover{background:#fde0e0;color:#c92a2a}@media(prefers-color-scheme:dark){.scene-action.del[data-v-e73a4dc8]:hover{background:#3a1010;color:#f88}}.scene-card.add[data-v-e73a4dc8]{padding:.5rem .85rem;border-style:dashed;color:var(--color-primary);font-weight:600;cursor:pointer;background:transparent;display:inline-flex;align-items:center;gap:4px;font:inherit;font-size:.9rem}.scene-card.add[data-v-e73a4dc8]:hover{background:#2563eb14}.overview[data-v-7a91daa4]{margin-bottom:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.hero[data-v-7a91daa4]{text-align:center}.hero-title[data-v-7a91daa4]{font-size:1.05rem;font-weight:500;margin:0 0 var(--space-4);color:var(--color-text-muted);letter-spacing:-.01em}.modes[data-v-7a91daa4]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);max-width:520px;margin:0 auto}.mode-card[data-v-7a91daa4]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-4);cursor:pointer;font:inherit;color:inherit;text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);transition:background .15s,border-color .15s,box-shadow .15s,transform .05s;box-shadow:var(--shadow-sm)}.mode-card[data-v-7a91daa4]:hover{background:var(--color-surface-hover);box-shadow:var(--shadow)}.mode-card[data-v-7a91daa4]:active{transform:translateY(1px)}.mode-icon[data-v-7a91daa4]{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--color-surface-hover);color:var(--color-text-muted);transition:background .2s,color .2s}.mode-icon.cool[data-v-7a91daa4]{color:#6366f1}.mode-icon.heat[data-v-7a91daa4]{color:#f97316}.mode-card.programmed .mode-icon.cool[data-v-7a91daa4]{background:#eef2ff}.mode-card.programmed .mode-icon.heat[data-v-7a91daa4]{background:#ffedd5}.mode-card.on[data-v-7a91daa4]{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-soft)}.mode-card.on .mode-icon.cool[data-v-7a91daa4]{background:#6366f1;color:#fff;box-shadow:0 4px 14px #6366f166}.mode-card.on .mode-icon.heat[data-v-7a91daa4]{background:#f97316;color:#fff;box-shadow:0 4px 14px #f9731666}@media(prefers-color-scheme:dark){.mode-card.programmed .mode-icon.cool[data-v-7a91daa4]{background:#6366f126}.mode-card.programmed .mode-icon.heat[data-v-7a91daa4]{background:#f9731626}}.mode-name[data-v-7a91daa4]{font-size:1.05rem;font-weight:600}.mode-sub[data-v-7a91daa4]{font-size:.78rem;color:var(--color-text-muted)}.off-link[data-v-7a91daa4]{margin:var(--space-3) auto 0;background:none;border:none;font:inherit;font-size:.8rem;color:var(--color-text-muted);cursor:pointer;display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-pill);transition:background .15s,color .15s}.off-link[data-v-7a91daa4]:hover{background:var(--color-danger-soft);color:var(--color-danger)}.opts-card[data-v-7a91daa4]{padding:0}.opts-head[data-v-7a91daa4]{padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--color-border)}.opts-head h3[data-v-7a91daa4]{margin:0;font-size:.95rem;font-weight:600}.opts-rows[data-v-7a91daa4]{display:flex;flex-direction:column}.opt-row[data-v-7a91daa4]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);background:transparent;border:none;border-bottom:1px solid var(--color-border);font:inherit;color:inherit;text-align:left;cursor:pointer;transition:background .15s}.opt-row[data-v-7a91daa4]:last-child{border-bottom:none}.opt-row[data-v-7a91daa4]:hover:not(.disabled){background:var(--color-surface-hover)}.opt-row.disabled[data-v-7a91daa4]{cursor:not-allowed;opacity:.6}.opt-icon[data-v-7a91daa4]{width:36px;height:36px;border-radius:var(--radius);display:grid;place-items:center;background:var(--color-surface-hover);color:var(--color-text-muted);transition:background .2s,color .2s}.opt-row.on .opt-icon.aire[data-v-7a91daa4]{background:#6366f126;color:#6366f1}.opt-row.on .opt-icon.suelo[data-v-7a91daa4]{background:#f9731626;color:#f97316}.opt-label[data-v-7a91daa4]{flex:1;font-size:.92rem;font-weight:500}.opt-sw[data-v-7a91daa4]{width:44px;height:26px;border-radius:999px;background:var(--color-border-strong);position:relative;transition:background .2s;flex-shrink:0}.opt-sw.on[data-v-7a91daa4]{background:var(--color-primary)}.opt-sw-knob[data-v-7a91daa4]{position:absolute;top:2px;left:2px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s}.opt-sw.on .opt-sw-knob[data-v-7a91daa4]{transform:translate(18px)}.opts-err[data-v-7a91daa4]{color:var(--color-danger);font-size:.78rem;padding:var(--space-2) var(--space-5);margin:0}.opt-sub[data-v-7a91daa4]{display:grid;grid-template-columns:1fr auto;gap:4px var(--space-3);padding:var(--space-2) var(--space-5) var(--space-3) calc(var(--space-5) + 36px + var(--space-3));background:var(--color-surface-2);border-bottom:1px solid var(--color-border)}.opt-sub-label[data-v-7a91daa4]{font-size:.85rem;color:var(--color-text);align-self:center}.opt-sub-control[data-v-7a91daa4]{display:inline-flex;align-items:center;gap:4px;align-self:center}.hum-input[data-v-7a91daa4]{width:64px;height:30px;padding:0 8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:.85rem;text-align:right}.hum-unit[data-v-7a91daa4]{font-size:.85rem;color:var(--color-text-muted)}.opt-sub-hint[data-v-7a91daa4]{grid-column:1 / -1;font-size:.72rem;color:var(--color-text-subtle)}.list-card[data-v-7a91daa4]{padding:0}.list-head[data-v-7a91daa4]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border)}.list-head h3[data-v-7a91daa4]{margin:0;font-size:.95rem;font-weight:600}.count[data-v-7a91daa4]{background:var(--color-surface-hover);color:var(--color-text-muted);font-size:.75rem;font-weight:600;padding:2px 10px;border-radius:var(--radius-pill)}.rows[data-v-7a91daa4]{display:flex;flex-direction:column}.row[data-v-7a91daa4]{background:transparent;border:none;border-bottom:1px solid var(--color-border);font:inherit;color:inherit;text-align:left;cursor:pointer;padding:var(--space-3) var(--space-5);display:flex;align-items:center;gap:var(--space-3);transition:background .15s}.row[data-v-7a91daa4]:last-child{border-bottom:none}.row[data-v-7a91daa4]:hover{background:var(--color-surface-hover)}.row-icon[data-v-7a91daa4]{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--color-surface-hover);color:var(--color-text-muted);flex-shrink:0}.row-icon.heat[data-v-7a91daa4]{background:#ffedd5;color:#c2410c}.row-icon.cool[data-v-7a91daa4]{background:#eef2ff;color:#4f46e5}.row.demanding .row-icon.heat[data-v-7a91daa4]{box-shadow:0 0 0 3px #f973162e}.row.demanding .row-icon.cool[data-v-7a91daa4]{box-shadow:0 0 0 3px #6366f12e}@media(prefers-color-scheme:dark){.row-icon.heat[data-v-7a91daa4]{background:#f9731626;color:#fb923c}.row-icon.cool[data-v-7a91daa4]{background:#6366f126;color:#a5b4fc}}.row-text[data-v-7a91daa4]{flex:1;min-width:0}.row-name[data-v-7a91daa4]{font-size:.92rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room[data-v-7a91daa4]{color:var(--color-text-subtle);font-weight:400;font-size:.78rem}.row-sub[data-v-7a91daa4]{font-size:.75rem;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.row-actions[data-v-7a91daa4]{display:flex;gap:4px}.mini[data-v-7a91daa4]{width:26px;height:26px;border-radius:6px;border:1px solid var(--color-border);background:transparent;color:var(--color-text-muted);cursor:pointer;display:grid;place-items:center;transition:background .15s,color .15s,border-color .15s}.mini[data-v-7a91daa4]:hover{background:var(--color-surface-hover);color:var(--color-text)}.mini.on[data-v-7a91daa4]{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-on)}.chev[data-v-7a91daa4]{color:var(--color-text-subtle);flex-shrink:0}@media(max-width:560px){.row-actions[data-v-7a91daa4]{display:none}}.backdrop[data-v-92ff6d24]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:grid;place-items:center;padding:var(--space-4);z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal[data-v-92ff6d24]{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:540px;max-height:90vh;display:flex;flex-direction:column}.head[data-v-92ff6d24]{display:flex;align-items:flex-start;justify-content:space-between;padding:var(--space-5);border-bottom:1px solid var(--color-border)}.head h2[data-v-92ff6d24]{margin:0;font-size:1.1rem}.sub[data-v-92ff6d24]{margin:4px 0 0;color:var(--color-text-muted);font-size:.8rem}.sub code[data-v-92ff6d24]{background:var(--color-surface-hover);padding:1px 6px;border-radius:var(--radius-sm)}.x[data-v-92ff6d24]{background:transparent;border:none;cursor:pointer;color:var(--color-text-muted);width:32px;height:32px;border-radius:var(--radius);display:grid;place-items:center}.x[data-v-92ff6d24]:hover{background:var(--color-surface-hover);color:var(--color-text)}.body[data-v-92ff6d24]{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4);overflow-y:auto;flex:1}.field[data-v-92ff6d24]{display:flex;flex-direction:column;gap:var(--space-1)}.lbl[data-v-92ff6d24]{font-size:.78rem;font-weight:500;color:var(--color-text-muted)}.hint[data-v-92ff6d24]{font-size:.72rem;color:var(--color-text-subtle)}textarea.input[data-v-92ff6d24]{resize:vertical;min-height:60px;padding:var(--space-2);height:auto}.channels .chan-table[data-v-92ff6d24]{display:flex;flex-direction:column;gap:4px}.chan-row[data-v-92ff6d24]{display:grid;grid-template-columns:44px 64px 1fr 1.4fr;gap:6px;align-items:center}.chan-head[data-v-92ff6d24]{font-size:.7rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;padding:0 2px}.chan-name[data-v-92ff6d24]{font-family:var(--font-mono);font-weight:600;font-size:.85rem;padding:0 4px}.input.small[data-v-92ff6d24]{height:30px;padding:0 6px;font-size:.8rem}.icons[data-v-92ff6d24]{display:flex;flex-wrap:wrap;gap:4px;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius);max-height:120px;overflow-y:auto}.icon-pick[data-v-92ff6d24]{background:var(--color-surface-hover);border:1px solid transparent;color:var(--color-text-muted);padding:3px 9px;border-radius:var(--radius-sm);cursor:pointer;font:inherit;font-size:.72rem;transition:background .1s,color .1s,border-color .1s}.icon-pick[data-v-92ff6d24]:hover{background:var(--color-surface-2);color:var(--color-text)}.icon-pick.on[data-v-92ff6d24]{background:var(--color-primary-soft);color:var(--color-primary);border-color:var(--color-primary)}.check-row[data-v-92ff6d24]{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);background:var(--color-surface-hover);border-radius:var(--radius)}.check-row input[data-v-92ff6d24]{margin-top:3px}.check-row strong[data-v-92ff6d24]{display:block;font-size:.9rem;font-weight:600}.foot[data-v-92ff6d24]{padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border);display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;background:var(--color-surface-2);border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.spacer[data-v-92ff6d24]{flex:1}.btn-danger-ghost[data-v-92ff6d24]{border-color:var(--color-border);color:var(--color-danger)}.btn-danger-ghost[data-v-92ff6d24]:hover{background:var(--color-danger-soft);border-color:var(--color-danger)}.btn-danger[data-v-92ff6d24]{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.btn-danger[data-v-92ff6d24]:hover{filter:brightness(.92)}.danger-zone[data-v-92ff6d24]{display:flex;align-items:flex-start;gap:var(--space-2);background:var(--color-danger-soft);border:1px solid var(--color-danger);padding:var(--space-3);border-radius:var(--radius);flex-basis:100%;flex-wrap:wrap}.warn-ic[data-v-92ff6d24]{color:var(--color-danger);flex-shrink:0;margin-top:2px}.warn-text[data-v-92ff6d24]{flex:1;min-width:200px}.warn-text strong[data-v-92ff6d24]{color:var(--color-danger);font-size:.85rem}.warn-text .hint[data-v-92ff6d24]{display:block;margin-top:2px;font-size:.72rem}.force[data-v-92ff6d24]{display:inline-flex;gap:4px;align-items:center;font-size:.78rem;margin-top:var(--space-2)}.err[data-v-92ff6d24]{background:var(--color-danger-soft);color:var(--color-danger);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);margin:0;font-size:.85rem}.topline[data-v-66c1bb5a]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.link[data-v-66c1bb5a]{background:none;border:none;color:var(--color-primary);cursor:pointer;padding:0;font:inherit;display:inline-flex;align-items:center;gap:3px}.link.danger[data-v-66c1bb5a]{color:#c92a2a}.pair[data-v-66c1bb5a]{background:var(--color-primary);color:#fff;border:none;padding:.5rem .9rem;border-radius:8px;font-weight:600;cursor:pointer;font-size:.9rem;display:inline-flex;align-items:center;gap:4px}.pair[data-v-66c1bb5a]:disabled{opacity:.6;cursor:wait}.hero[data-v-66c1bb5a]{margin-bottom:1.25rem}.hero h1[data-v-66c1bb5a]{margin:0;font-size:1.6rem}.sub[data-v-66c1bb5a]{color:#888;font-size:.9rem;margin:0}.err[data-v-66c1bb5a]{color:#c92a2a}.flash[data-v-66c1bb5a]{background:#fffbe6;border:1px solid #f1d977;color:#5e4900;padding:.5rem .75rem;border-radius:6px;margin-bottom:1rem}@media(prefers-color-scheme:dark){.flash[data-v-66c1bb5a]{background:#2a2210;border-color:#5e4900;color:#f1d977}}.tunnel[data-v-66c1bb5a]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;border-radius:10px;background:#eef2ff;border:1px solid #c7d2fe;margin-bottom:1rem}.tunnel.idle[data-v-66c1bb5a]{background:#7f7f7f0d;border-color:#7f7f7f26}@media(prefers-color-scheme:dark){.tunnel[data-v-66c1bb5a]{background:#1e253a;border-color:#2a3556}.tunnel.idle[data-v-66c1bb5a]{background:#ffffff0a;border-color:#ffffff14}}.tunnel .muted[data-v-66c1bb5a]{font-size:.8rem;color:#888}.tunnel .cmd[data-v-66c1bb5a]{display:inline-block;margin-top:.3rem;padding:4px 8px;background:#0000000f;border-radius:4px;font-size:.85rem;cursor:pointer;-webkit-user-select:all;user-select:all}@media(prefers-color-scheme:dark){.tunnel .cmd[data-v-66c1bb5a]{background:#ffffff0f}}.room-section[data-v-66c1bb5a]{margin-bottom:1.5rem}.room-title[data-v-66c1bb5a]{font-size:.95rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#555;margin:0 0 .6rem;display:flex;align-items:center;gap:.4rem}.room-title.unassigned[data-v-66c1bb5a]{color:#999;font-weight:500;font-style:italic}.room-count[data-v-66c1bb5a]{background:#7f7f7f26;font-size:.75rem;padding:1px 8px;border-radius:999px;font-weight:600;color:#555}@media(prefers-color-scheme:dark){.room-title[data-v-66c1bb5a]{color:#ccc}.room-title.unassigned[data-v-66c1bb5a]{color:#777}.room-count[data-v-66c1bb5a]{color:#ccc}}.cards-grid[data-v-66c1bb5a]{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}.empty[data-v-66c1bb5a]{padding:3rem 1rem;text-align:center;color:#888}.sub[data-v-53034806]{color:#888;font-size:.9rem;margin-bottom:1rem}.err[data-v-53034806]{color:#c92a2a}.counts[data-v-53034806]{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.pill[data-v-53034806]{padding:4px 12px;border-radius:999px;font-size:.85rem;font-weight:600;background:#7f7f7f1a}.pill.online[data-v-53034806]{background:#d4f5dd;color:#06753a}.pill.degraded[data-v-53034806]{background:#fff4cc;color:#8a6800}.pill.down[data-v-53034806]{background:#fde0e0;color:#9c1a1a}.pill.never[data-v-53034806]{background:#7f7f7f26;color:#555}.pill.total[data-v-53034806]{background:#e0e7ff;color:#1e3a8a}@media(prefers-color-scheme:dark){.pill.online[data-v-53034806]{background:#0e3a1f;color:#6ee29a}.pill.degraded[data-v-53034806]{background:#3a2e0e;color:#f1d977}.pill.down[data-v-53034806]{background:#3a1010;color:#f88}.pill.never[data-v-53034806]{background:#ffffff0d;color:#aaa}.pill.total[data-v-53034806]{background:#1e253a;color:#a5b4fc}}.badge[data-v-53034806]{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase}.badge.online[data-v-53034806]{background:#d4f5dd;color:#06753a}.badge.degraded[data-v-53034806]{background:#fff4cc;color:#8a6800}.badge.down[data-v-53034806]{background:#fde0e0;color:#9c1a1a}.badge.never_seen[data-v-53034806]{background:#7f7f7f26;color:#555}@media(prefers-color-scheme:dark){.badge.online[data-v-53034806]{background:#0e3a1f;color:#6ee29a}.badge.degraded[data-v-53034806]{background:#3a2e0e;color:#f1d977}.badge.down[data-v-53034806]{background:#3a1010;color:#f88}}.config[data-v-3f48e070]{max-width:960px}.page-head[data-v-3f48e070]{margin-bottom:var(--space-6)}.page-head h1[data-v-3f48e070]{font-size:1.5rem}.sub[data-v-3f48e070]{color:var(--color-text-muted);font-size:.9rem;margin:var(--space-1) 0 0}.grid[data-v-3f48e070]{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.card-head[data-v-3f48e070]{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);color:var(--color-primary)}.card-head h2[data-v-3f48e070]{margin:0;font-size:.95rem;font-weight:600;color:var(--color-text)}dl[data-v-3f48e070]{display:grid;grid-template-columns:max-content 1fr;gap:var(--space-1) var(--space-4);margin:0;font-size:.875rem}dt[data-v-3f48e070]{color:var(--color-text-muted)}dd[data-v-3f48e070]{margin:0}code[data-v-3f48e070]{background:var(--color-surface-hover);padding:1px 6px;border-radius:var(--radius-sm);font-size:.85em}.muted[data-v-3f48e070]{color:var(--color-text-muted);font-size:.875rem;margin:0 0 var(--space-3)}.hint[data-v-3f48e070]{font-size:.75rem;color:var(--color-text-subtle);margin:var(--space-2) 0 0}.btn[data-v-3f48e070]{width:max-content}details summary[data-v-3f48e070]{cursor:pointer;font-size:.875rem;color:var(--color-text-muted)}.ua[data-v-3f48e070]{display:block;margin-top:var(--space-2);padding:var(--space-2);font-size:.7rem;word-break:break-all;background:var(--color-surface-hover);border-radius:var(--radius-sm)}.automations[data-v-18823724]{display:flex;flex-direction:column;gap:var(--space-4)}.head[data-v-18823724]{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.head h1[data-v-18823724]{font-size:1.4rem;margin:0}.sub[data-v-18823724]{color:var(--color-text-muted);font-size:.85rem;margin:4px 0 0}.runner-pill[data-v-18823724]{display:inline-flex;align-items:center;gap:6px;background:var(--color-surface);border:1px solid var(--color-border);padding:4px 10px;border-radius:var(--radius-pill);font-size:.78rem;color:var(--color-text-muted)}.runner-pill .dot[data-v-18823724]{width:8px;height:8px;border-radius:50%;background:var(--color-danger)}.runner-pill .dot.on[data-v-18823724]{background:var(--color-success);box-shadow:0 0 6px #16a34a80}.link-btn[data-v-18823724]{background:none;border:none;padding:2px 4px;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm)}.link-btn[data-v-18823724]:hover{background:var(--color-surface-hover);color:var(--color-text)}.err[data-v-18823724],.info[data-v-18823724]{display:inline-flex;align-items:center;gap:6px;padding:var(--space-2) var(--space-3);border-radius:var(--radius);font-size:.85rem;margin:0}.err[data-v-18823724]{background:var(--color-danger-soft);color:var(--color-danger)}.info[data-v-18823724]{background:var(--color-success-soft);color:var(--color-success)}.layout[data-v-18823724]{display:grid;grid-template-columns:240px 1fr;gap:var(--space-4);min-height:460px}.files[data-v-18823724]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;flex-direction:column}.files-head[data-v-18823724]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);font-weight:600;font-size:.85rem}.btn-icon[data-v-18823724]{background:var(--color-surface-hover);border:none;width:24px;height:24px;display:grid;place-items:center;border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-muted)}.btn-icon[data-v-18823724]:hover{background:var(--color-primary);color:#fff}.files ul[data-v-18823724]{list-style:none;margin:0;padding:var(--space-2);overflow-y:auto;flex:1}.file[data-v-18823724]{width:100%;background:transparent;border:none;text-align:left;cursor:pointer;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);display:flex;align-items:center;gap:var(--space-2);font:inherit;color:inherit;font-size:.85rem}.file[data-v-18823724]:hover{background:var(--color-surface-hover)}.file.active[data-v-18823724]{background:var(--color-primary-soft);color:var(--color-primary);font-weight:500}.fname[data-v-18823724]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fsize[data-v-18823724]{color:var(--color-text-subtle);font-size:.7rem}.empty[data-v-18823724]{padding:var(--space-4);text-align:center;color:var(--color-text-subtle);font-size:.8rem}.editor-wrap[data-v-18823724]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:hidden}.editor-head[data-v-18823724]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-surface-2);font-size:.85rem}.editor-head code[data-v-18823724]{background:transparent;padding:0;font-weight:600}.dirty[data-v-18823724]{color:var(--color-warning)}.spacer[data-v-18823724]{flex:1}.code[data-v-18823724]{flex:1;width:100%;border:none;background:var(--color-surface);color:var(--color-text);font-family:var(--font-mono);font-size:.85rem;line-height:1.55;padding:var(--space-4);resize:none;outline:none;min-height:360px;-moz-tab-size:4;tab-size:4}.placeholder[data-v-18823724]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);color:var(--color-text-subtle)}.logs-panel[data-v-18823724]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-3)}.logs-panel summary[data-v-18823724]{cursor:pointer;font-size:.85rem;color:var(--color-text-muted);display:inline-flex;align-items:center;gap:6px;-webkit-user-select:none;user-select:none}.logs[data-v-18823724]{margin:var(--space-3) 0 0;padding:var(--space-3);background:#0f1115;color:#c9d1d9;border-radius:var(--radius);font-family:var(--font-mono);font-size:.72rem;max-height:240px;overflow:auto;white-space:pre-wrap;word-break:break-word}@media(max-width:720px){.layout[data-v-18823724]{grid-template-columns:1fr}.files[data-v-18823724]{max-height:200px}}:root{--color-cc-blue: #2563eb;--color-cc-blue-dark: #1e3a8a;--color-cc-blue-light: #93c5fd;--color-cc-blue-soft: #dbeafe;--color-bg: #f5f6f8;--color-surface: #ffffff;--color-surface-2: #fafbfb;--color-surface-hover: #f1f3f5;--color-text: #1a1a1a;--color-text-muted: #6b6b6b;--color-text-subtle: #9b9b9b;--color-border: rgba(0, 0, 0, .08);--color-border-strong: rgba(0, 0, 0, .16);--color-primary: var(--color-cc-blue);--color-primary-hover: var(--color-cc-blue-dark);--color-primary-soft: var(--color-cc-blue-soft);--color-primary-on: #ffffff;--color-success: #16a34a;--color-success-soft: #d4f5dd;--color-warning: #ef9a3d;--color-warning-soft: #fef3c7;--color-danger: #dc2626;--color-danger-soft: #fde0e0;--color-info: #0ea5e9;--font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "JetBrains Mono", SFMono-Regular, ui-monospace, "Cascadia Mono", Menlo, Consolas, monospace;--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 3px rgba(0, 0, 0, .06);--shadow: 0 2px 4px rgba(0, 0, 0, .04), 0 4px 12px rgba(0, 0, 0, .06);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .08);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--sidebar-rail: 64px;--sidebar-width: 240px;--topbar-height: 56px;font-family:var(--font-sans);font-feature-settings:"cv02","cv03","cv04","cv11";color-scheme:light dark;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@supports (font-variation-settings: normal){:root{font-family:"Inter var",var(--font-sans)}}@media(prefers-color-scheme:dark){:root{--color-bg: #0f1115;--color-surface: #1a1d23;--color-surface-2: #20232a;--color-surface-hover: #262a32;--color-text: #e8e8e8;--color-text-muted: #9b9b9b;--color-text-subtle: #6b6b6b;--color-border: rgba(255, 255, 255, .08);--color-border-strong: rgba(255, 255, 255, .16);--color-primary-soft: rgba(37, 99, 235, .15);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 2px 6px rgba(0, 0, 0, .45);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5)}}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:14px;line-height:1.5}#app{height:100%}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-hover)}button{font-family:inherit;font-size:inherit}code,pre{font-family:var(--font-mono);font-size:.85em}h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.01em}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1rem}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}.app{max-width:1280px;margin:0 auto;padding:var(--space-6) var(--space-5)}.sub{color:var(--color-text-muted);font-size:.875rem;margin:var(--space-1) 0 0}.muted{color:var(--color-text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:0 var(--space-4);height:36px;border:1px solid transparent;border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);cursor:pointer;font-weight:500;font-size:.875rem;transition:background .15s,border-color .15s,transform .05s}.btn:hover{background:var(--color-surface-hover)}.btn:active{transform:translateY(1px)}.btn[disabled]{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:var(--color-primary-on);border-color:var(--color-primary)}.btn-primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-ghost{background:transparent;border-color:var(--color-border)}.btn-link{background:none;border:none;color:var(--color-primary);cursor:pointer;padding:0;font:inherit;height:auto}.btn-link:hover{color:var(--color-primary-hover);text-decoration:underline}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5);transition:box-shadow .15s}.card:hover{box-shadow:var(--shadow)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:var(--radius-pill);font-size:.75rem;font-weight:600;background:var(--color-border);color:var(--color-text)}.badge.online{background:var(--color-success-soft);color:var(--color-success)}.badge.offline{background:var(--color-danger-soft);color:var(--color-danger)}.input{width:100%;padding:0 var(--space-3);height:36px;border:1px solid var(--color-border-strong);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);transition:border-color .15s,box-shadow .15s}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.err{color:var(--color-danger);font-size:.875rem;margin:var(--space-2) 0}.empty{text-align:center;padding:var(--space-12) var(--space-4);color:var(--color-text-muted)}table{width:100%;border-collapse:collapse;background:var(--color-surface);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}th,td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--color-border);font-variant-numeric:tabular-nums}th{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);font-weight:600;background:var(--color-surface-2)}tr:last-child td{border-bottom:none}
