.in-app-shell{--in-app-top-nav-height:76px;background:var(--app-bg);color:var(--app-text);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-family:var(--font-sans,"Inter",system-ui,-apple-system,"Segoe UI",sans-serif);min-height:100vh}.in-app-shell.shell-only{background:#0000;min-height:0}.in-app-shell,.in-app-shell *{box-sizing:border-box}.in-app-top-nav{grid-gap:18px;align-items:center;background:var(--in-app-top-bg);border-bottom:1px solid var(--in-app-border);color:var(--in-app-top-text);display:grid;gap:18px;grid-template-columns:minmax(236px,1fr) minmax(260px,390px) minmax(300px,1fr);height:var(--in-app-top-nav-height);padding:0 22px 0 16px;position:sticky;top:0;z-index:100}.in-app-top-actions,.in-app-top-left{align-items:center;display:flex;min-width:0}.in-app-top-left{gap:10px}.in-app-menu-button{background:var(--in-app-accent);border:0;border-radius:6px;color:#fff;display:inline-flex;width:40px}.in-app-logo-block,.in-app-menu-button{align-items:center;cursor:pointer;height:40px;justify-content:center}.in-app-logo-block{background:var(--in-app-logo-bg);border:0;color:#4b5563;display:flex;font-size:12px;font-weight:800;overflow:hidden;width:130px}.in-app-logo-block:disabled{cursor:default}.in-app-logo-block img{max-height:30px;max-width:88%;object-fit:contain}.in-app-search{align-items:center;display:flex;position:relative}.in-app-search input{background:#fff;border:1px solid color-mix(in srgb,var(--in-app-accent) 70%,#fff);border-radius:999px;color:#111827;font-size:13px;height:30px;outline:none;padding:0 36px 0 14px;width:100%}.in-app-search input:disabled{opacity:1}.in-app-search input:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--in-app-accent) 16%,#0000)}.in-app-search-icon{color:var(--in-app-accent);font-size:18px;pointer-events:none;position:absolute;right:10px}.in-app-top-actions{gap:16px;justify-content:flex-end}.in-app-grid-wrap,.in-app-profile-wrap{min-width:0;position:relative}.in-app-alert-link,.in-app-grid-button,.in-app-icon-button,.in-app-profile{background:#0000;border:0;color:var(--in-app-accent);cursor:pointer}.in-app-grid-button,.in-app-icon-button{align-items:center;display:inline-flex;height:36px;justify-content:center;position:relative;width:36px}.in-app-grid-button .material-symbols-outlined,.in-app-icon-button .material-symbols-outlined{font-size:31px;line-height:1}.in-app-alert-link{color:var(--app-text-muted);font-size:12px;font-weight:800;padding:0;text-decoration:underline;text-underline-offset:3px}.in-app-alert-badge{background:#dc2626;border:2px solid var(--in-app-top-bg);border-radius:999px;color:#fff;font-size:9px;font-weight:900;height:16px;justify-content:center;line-height:1;min-width:16px;padding:0 3px;position:absolute;right:1px;top:1px}.in-app-alert-badge,.in-app-profile{align-items:center;display:inline-flex}.in-app-profile{color:var(--app-text-muted);font-size:13px;gap:6px;max-width:250px;min-width:0}.in-app-profile-icon{color:var(--in-app-accent);flex:0 0 auto;font-size:30px}.in-app-profile-avatar{border-radius:999px;flex:0 0 auto;height:30px;object-fit:cover;width:30px}.in-app-profile-copy{grid-gap:1px;display:grid;gap:1px;min-width:0;text-align:left}.in-app-profile-name,.in-app-profile-role{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.in-app-profile-name{font-size:13px;line-height:1.1}.in-app-profile-role{color:var(--app-text-muted);font-size:11px;line-height:1.1}.in-app-profile-menu{background:var(--app-surface);border:1px solid var(--in-app-border);border-radius:8px;box-shadow:0 18px 42px #11182729;min-width:190px;padding:6px;position:absolute;right:0;top:calc(100% + 10px);z-index:120}.in-app-profile-menu[hidden]{display:none}.in-app-profile-menu-item{align-items:center;background:#0000;border:0;border-radius:6px;color:var(--app-text);cursor:pointer;display:flex;font-size:13px;font-weight:800;gap:8px;padding:10px 12px;text-align:left;width:100%}.in-app-profile-menu-item:hover{background:color-mix(in srgb,var(--in-app-accent) 10%,#fff)}.in-app-profile-menu-item.danger{color:#b91c1c}.in-app-profile-menu-item.danger:hover{background:#dc26261a}.in-app-profile-menu-item.disabled{cursor:not-allowed;opacity:.5}.in-app-profile-menu-icon{flex:0 0 auto;font-size:18px}.in-app-switcher{background:var(--in-app-switcher-bg);border:1px solid var(--in-app-border);border-radius:8px;box-shadow:0 18px 42px #11182729;display:none;gap:8px;grid-template-columns:repeat(3,48px);min-width:96px;padding:10px;position:absolute;right:-8px;top:calc(100% + 10px);z-index:110}.in-app-grid-wrap:focus-within .in-app-switcher,.in-app-grid-wrap:hover .in-app-switcher{display:grid}.in-app-switcher-item{align-items:center;background:#0000;border:0;border-radius:6px;color:var(--app-text);cursor:pointer;display:flex;height:48px;justify-content:center;padding:0;width:48px}.in-app-switcher-item:hover{background:var(--in-app-switcher-hover-bg)}.in-app-switcher-icon{align-items:center;background:color-mix(in srgb,var(--in-app-accent) 10%,#fff);border-radius:6px;color:var(--in-app-accent);display:inline-flex;flex:0 0 auto;height:42px;justify-content:center;width:42px}.in-app-switcher-icon img{max-height:34px;max-width:34px;object-fit:contain}.in-app-body{background:var(--app-bg);display:grid;grid-template-columns:64px minmax(0,1fr);min-height:0}.in-app-body,.in-app-side-nav{height:calc(100vh - var(--in-app-top-nav-height));overflow:hidden}.in-app-side-nav{background:var(--in-app-side-bg);color:#fff;transition:width .18s ease;width:64px}.in-app-side-nav nav{height:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.in-app-shell.shell-only .in-app-side-nav{bottom:0;left:0;position:fixed;top:var(--in-app-top-nav-height);z-index:90}.side-expanded .in-app-body{grid-template-columns:220px minmax(0,1fr)}.side-expanded .in-app-side-nav{width:220px}.in-app-side-children,.in-app-side-list{list-style:none;margin:0;padding:10px 0}.in-app-side-children{display:none;padding:2px 0 8px}.side-expanded .in-app-side-children:not([hidden]){display:block}.in-app-side-item{align-items:center;background:#0000;border:0;border-radius:0;color:#ffffffe6;cursor:pointer;display:grid;grid-template-columns:64px 1fr 28px;min-height:44px;padding:0;text-align:left;width:100%}.in-app-side-item:hover{background:var(--in-app-side-hover-bg)}.in-app-side-item.active{background:var(--in-app-side-active-bg);color:var(--in-app-side-active-text)}.in-app-side-item.disabled{cursor:not-allowed;opacity:.46}.in-app-side-chevron,.in-app-side-icon{font-size:20px;justify-self:center}.in-app-side-label{font-size:13px;font-weight:800;min-width:0;opacity:0;overflow:hidden;text-overflow:ellipsis;transition:opacity .12s ease;white-space:nowrap}.side-expanded .in-app-side-label{opacity:1}.in-app-side-chevron{opacity:0;transform:rotate(-90deg);transition:opacity .12s ease,transform .12s ease}.side-expanded .in-app-side-chevron{opacity:1}.in-app-side-item.expanded .in-app-side-chevron{transform:rotate(0deg)}.in-app-side-children .in-app-side-item{color:#ffffffc7;min-height:36px}.in-app-side-children .in-app-side-icon{font-size:18px}.in-app-main{background:var(--app-bg);color:var(--app-text);min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.in-app-page-toolbar{align-items:center;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:color-mix(in srgb,var(--app-surface-muted) 94%,#0000);border-bottom:1px solid var(--app-border);display:flex;gap:16px;justify-content:space-between;margin-left:64px;min-height:54px;padding:8px 20px;position:sticky;top:var(--in-app-top-nav-height);z-index:80}.side-expanded .in-app-page-toolbar{margin-left:220px}.in-app-page-toolbar__left,.in-app-page-toolbar__right{align-items:center;display:flex;gap:12px;min-width:0}.in-app-page-toolbar__right{margin-left:auto}.in-app-shell.dark{--app-bg:var(--app-dark-bg);--app-surface:var(--app-dark-surface);--app-surface-muted:var(--app-dark-surface-muted);--app-text:var(--app-dark-text);--app-text-muted:var(--app-dark-text-muted);--app-border:var(--app-dark-border);--app-card-bg:var(--app-dark-card-bg);--app-card-text:var(--app-dark-card-text);--in-app-border:var(--app-dark-border);--in-app-logo-bg:#d9d9d9;--in-app-switcher-bg:var(--app-dark-surface);--in-app-switcher-hover-bg:#ffffff14}.in-app-shell.dark,.in-app-shell.dark .in-app-body,.in-app-shell.dark .in-app-main{background:var(--app-bg);color:var(--app-text)}.in-app-shell.dark .bg-white,.in-app-shell.dark .bg-white\/75,.in-app-shell.dark .bg-white\/90{background-color:var(--app-surface);border-color:var(--app-border);color:var(--app-text)}.in-app-shell.dark .bg-\[color\:var\(--muted\)\]{background-color:var(--app-surface-muted);border-color:var(--app-border);color:var(--app-text)}.in-app-shell.dark .text-\[color\:var\(--muted-foreground\)\]{color:var(--app-text-muted)}.in-app-shell.dark .text-red-600{color:#fca5a5}.in-app-shell.dark .text-red-800{color:#fecaca}.in-app-shell.dark .in-app-top-nav{background:var(--in-app-side-bg);border-bottom-color:#ffffff24;box-shadow:0 1px 0 #ffffff14;color:#fff}.in-app-shell.dark .in-app-logo-block{background:var(--in-app-logo-bg);color:#4b5563}.in-app-shell.dark .in-app-alert-link,.in-app-shell.dark .in-app-grid-button,.in-app-shell.dark .in-app-icon-button,.in-app-shell.dark .in-app-profile,.in-app-shell.dark .in-app-profile-icon{color:#fff}.in-app-shell.dark .in-app-profile-role{color:var(--app-text-muted)}.in-app-shell.dark .in-app-search input{background:#fffffff2;border-color:#ffffffb8;color:#111827}.in-app-shell.dark .in-app-alert-badge{border-color:var(--in-app-side-bg)}.in-app-shell.dark .in-app-profile-menu,.in-app-shell.dark .in-app-switcher{background-color:var(--app-surface);border-color:var(--app-border);color:var(--app-text)}.in-app-shell.dark .in-app-profile-menu-item,.in-app-shell.dark .in-app-switcher-icon,.in-app-shell.dark .in-app-switcher-item{color:var(--app-text)}.in-app-shell.dark .in-app-profile-menu-item:hover{background:#ffffff14}.in-app-shell.dark .in-app-profile-menu-item.danger{color:#fca5a5}.in-app-shell.dark .in-app-switcher-icon{background:#ffffff1a}.in-app-shell.dark input,.in-app-shell.dark select,.in-app-shell.dark textarea{background-color:var(--app-surface-muted);border-color:var(--app-border);color:var(--app-text)}.in-app-shell.dark input::placeholder,.in-app-shell.dark textarea::placeholder{color:var(--app-text-muted)}.in-app-shell.dark table,.in-app-shell.dark td,.in-app-shell.dark th{color:inherit}.in-app-shell.dark .app-card,.in-app-shell.dark .dashboard-card,.in-app-shell.dark [data-dashboard-surface],.in-app-shell.is-dark .app-card,.in-app-shell.is-dark .dashboard-card,.in-app-shell.is-dark [data-dashboard-surface],.in-app-shell[data-theme=dark] .app-card,.in-app-shell[data-theme=dark] .dashboard-card,.in-app-shell[data-theme=dark] [data-dashboard-surface]{background:var(--app-dark-card-bg);border-color:var(--app-border);color:var(--app-dark-card-text)}.in-app-shell.is-dark,.in-app-shell[data-theme=dark]{--app-bg:var(--app-dark-bg);--app-surface:var(--app-dark-surface);--app-surface-muted:var(--app-dark-surface-muted);--app-text:var(--app-dark-text);--app-text-muted:var(--app-dark-text-muted);--app-border:var(--app-dark-border);--app-card-bg:var(--app-dark-card-bg);--app-card-text:var(--app-dark-card-text);--in-app-border:var(--app-dark-border);background:var(--app-bg);color:var(--app-text)}.in-app-shell.is-dark .in-app-body,.in-app-shell.is-dark .in-app-main,.in-app-shell[data-theme=dark] .in-app-body,.in-app-shell[data-theme=dark] .in-app-main{background:var(--app-bg);color:var(--app-text)}.in-app-shell.is-dark .bg-white,.in-app-shell.is-dark .bg-white\/75,.in-app-shell.is-dark .bg-white\/90,.in-app-shell[data-theme=dark] .bg-white,.in-app-shell[data-theme=dark] .bg-white\/75,.in-app-shell[data-theme=dark] .bg-white\/90{background-color:var(--app-surface);border-color:var(--app-border);color:var(--app-text)}.in-app-shell.is-dark .bg-\[color\:var\(--muted\)\],.in-app-shell[data-theme=dark] .bg-\[color\:var\(--muted\)\]{background-color:var(--app-surface-muted);border-color:var(--app-border);color:var(--app-text)}.in-app-shell.is-dark .text-\[color\:var\(--muted-foreground\)\],.in-app-shell[data-theme=dark] .text-\[color\:var\(--muted-foreground\)\]{color:var(--app-text-muted)}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 500,"GRAD" 0,"opsz" 24;line-height:1}@media (max-width:820px){.in-app-shell{--in-app-top-nav-height:118px}.in-app-top-nav{gap:10px;grid-template-areas:"left actions" "search search";grid-template-columns:1fr auto;height:auto;min-height:var(--in-app-top-nav-height);padding:10px 12px 12px 16px}.in-app-top-left{grid-area:left}.in-app-search{grid-area:search}.in-app-top-actions{gap:6px;grid-area:actions}.in-app-alert-link,.in-app-profile-copy{display:none}.in-app-body{height:calc(100vh - var(--in-app-top-nav-height))}.in-app-page-toolbar{align-items:flex-start;flex-direction:column}}.dashboard-card,.device-card{background:var(--panel);background:var(--surface-raised,var(--panel));border:1px solid var(--ds-line);border-radius:var(--ds-radius);box-shadow:none;display:flex;flex-direction:column;gap:12px;justify-content:flex-start;padding:16px;transition:background .15s ease,border-color .15s ease}.dashboard-card:hover,.device-card:hover{border-color:var(--ds-line-strong)}.card-header,.device-card-head{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:4px}.dc-name{color:var(--ink-900);color:var(--text,var(--ink-900));font-family:var(--font-sans);font-size:15px;font-weight:600;letter-spacing:-.01em;line-height:1.2}.card-header .edit-btn,.device-card-head .edit-btn{align-items:center;background:#0f172a0a;background:var(--surface-muted,#0f172a0a);border:1px solid var(--ds-line);border-radius:var(--ds-radius-sm);box-shadow:none;color:var(--ink-900);color:var(--text,var(--ink-900));cursor:pointer;display:inline-flex;height:32px;justify-content:center;transition:background .15s ease,border-color .15s ease;-webkit-user-select:none;user-select:none;width:32px}.card-header .edit-btn:hover,.device-card-head .edit-btn:hover{border-color:var(--ds-line-strong)}.card-header .edit-btn:focus-visible,.device-card-head .edit-btn:focus-visible{border-color:color-mix(in oklab,var(--brand-600) 45%,var(--ds-line));box-shadow:0 0 0 2px #6e1d852e;outline:none}.card-header .edit-btn .edit-icon,.device-card-head .edit-btn .edit-icon{height:16px;opacity:.85;pointer-events:none;width:16px}.stat-value{font-feature-settings:"tnum";color:var(--ink-900);color:var(--text,var(--ink-900));font-size:1.5rem;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.02em;line-height:1.05}.stat-sub{color:var(--muted,var(--ink-600))}.status-chip{background:#0f172a0d;background:var(--surface-muted,#0f172a0d);border:1px solid var(--ds-line);border-radius:999px;box-shadow:none;color:var(--ink-900);color:var(--text,var(--ink-900));font-size:12px;gap:6px;padding:3px 8px}.cmd-state-pill,.status-chip{align-items:center;display:inline-flex}.cmd-state-pill{background:none;border:none;border-radius:0;font-size:11px;font-weight:600;gap:4px;letter-spacing:.04em;line-height:1.2;padding:0;text-transform:uppercase}.cmd-state-pill--pending{color:var(--ds-warn)}.cmd-state-pill--locked{color:var(--ink-500)}.dashboard-card--cmd-pending{box-shadow:inset 3px 0 0 var(--ds-warn)}.dashboard-card--read-only:not(.dashboard-card--cmd-pending){background:var(--panel);background:var(--surface-muted,var(--panel))}.dashboard-card--thermo-editable .edit-btn{background:color-mix(in oklab,var(--brand-600) 7%,var(--panel));border-color:color-mix(in oklab,var(--brand-600) 20%,var(--ds-line))}.cmd-interaction-note{border-top:1px solid var(--ds-line);color:var(--ink-600);font-size:11px;font-weight:500;line-height:1.35;margin:10px 0 0;padding-top:12px}.cmd-interaction-note--pending{color:var(--ds-warn)}.cmd-interaction-note--editable,.cmd-interaction-note--readonly{color:var(--ink-500)}.theme-dark .dashboard-card--thermo-editable .edit-btn{background:color-mix(in oklab,var(--brand-400) 12%,var(--panel))}.theme-dark .dashboard-card--read-only:not(.dashboard-card--cmd-pending){background:color-mix(in oklab,var(--ink-900) 10%,var(--panel))}@media (max-width:640px){.dashboard-card,.device-card{padding:12px 14px}.dc-name{font-size:15px}.stat-value{font-size:1.375rem}}:root{--brand-50:#faf5fb;--brand-100:#f3e8f9;--brand-200:#e9d5f3;--brand-300:#d8b4ea;--brand-400:#c084d6;--brand-500:#9d5bbf;--brand-600:#6e1d85;--brand-700:#5b186f;--brand-800:#471358;--ink-900:#111827;--ink-800:#1f2937;--ink-700:#374151;--ink-600:#6b7280;--ink-500:#9ca3af;--ink-400:#d1d5db;--panel:#fff;--panel-b:#e5e7eb;--surface-page:#f8fafc;--surface-raised:#fff;--surface-muted:#f3f4f6;--surface-nested:#f3f4f6;--surface-section:#eef2f7;--hairline:#e5e7eb;--bg-soft:var(--surface-muted);--card-edge:1px solid #0000000a;--shadow-card-elev:0 2px 6px #0000000f;--shadow-card-hover:0 8px 20px #00000014;--shadow-filter-bar:0 1px 3px #0000000d;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 14px #0000001a;--shadow-lg:0 12px 32px #0f172a12;--shadow:var(--shadow-sm);--shadow-brand:0 10px 24px #6e1d851f;--radius:14px;--ds-radius:10px;--ds-radius-sm:8px;--ds-line:var(--hairline);--ds-line-strong:color-mix(in oklab,var(--ink-500) 34%,#0000);--ds-ok:#047857;--ds-warn:#b45309;--ds-alarm:#b91c1c;--ds-offline:#64748b;--font-sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--font-display:"Manrope","Inter",system-ui,sans-serif;--warm-500:#f59e0b;--hot-500:#ef4444;--hot-700:#b91c1c;--panel-a:var(--panel);--accent-500:var(--brand-600);--accent-400:var(--brand-500);--on-accent:#fff;--elev-1:var(--shadow-sm)}*{box-sizing:border-box}#root,body,html{height:100%;width:100%}html{position:relative}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8fafc;background:var(--surface-page);color:#111827;color:var(--ink-900);font-weight:400;margin:0;min-height:100vh;overflow-x:hidden;position:relative;text-rendering:optimizeLegibility}body,button,input,select,textarea{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-family:var(--font-sans)}.add-title,.brand-text,.dc-name,.modal-title,.page-title,.stat-value,.summary-home-title,.summary-metric-value,.summary-stat-value,h1,h2,h3{font-family:Manrope,Inter,system-ui,sans-serif;font-family:var(--font-display)}.animated-background{height:100%;left:0;overflow:hidden;pointer-events:none;position:fixed;top:0;width:100%;z-index:0}.animated-background:before{animation:backgroundShift 12s ease-in-out infinite;background:radial-gradient(circle 800px at 20% 30%,#8b5cf626 0,#0000 70%),radial-gradient(circle 700px at 80% 70%,rgba(236,72,153,.125) 0,#0000 70%),radial-gradient(circle 600px at 50% 50%,#6e1d851a 0,#0000 70%)}.animated-background:after,.animated-background:before{content:"";height:200%;left:-50%;position:absolute;top:-50%;width:200%;will-change:transform}.animated-background:after{animation:backgroundShift2 16s ease-in-out infinite reverse;background:radial-gradient(circle 500px at 60% 20%,#a855f71a 0,#0000 60%),radial-gradient(circle 400px at 30% 80%,#ec489917 0,#0000 60%),radial-gradient(circle 300px at 90% 50%,rgba(139,92,246,.075) 0,#0000 50%)}@keyframes backgroundShift{0%{transform:translate(0) scale(1) rotate(0deg)}25%{transform:translate(10%,-6%) scale(1.2) rotate(5deg)}50%{transform:translate(-8%,8%) scale(.85) rotate(-4deg)}75%{transform:translate(6%,-4%) scale(1.1) rotate(2deg)}to{transform:translate(0) scale(1) rotate(0deg)}}@keyframes backgroundShift2{0%{transform:translate(0) scale(1) rotate(0deg)}33%{transform:translate(-10%,6%) scale(1.25) rotate(-5deg)}66%{transform:translate(8%,-8%) scale(.8) rotate(4deg)}to{transform:translate(0) scale(1) rotate(0deg)}}.auth-error-screen{align-items:center;box-sizing:border-box;display:flex;inset:0;justify-content:center;overflow:auto;padding:20px;pointer-events:auto;position:fixed;z-index:100000}.auth-error-screen .auth-error-card{pointer-events:auto;position:relative;width:100%;z-index:1}.app{background:#0000}.app,.app-content{position:relative;z-index:1}.app{display:flex;flex-direction:row;min-height:100vh;padding:0}.app-content{display:flex;flex:1 1;flex-direction:column;gap:24px;overflow-x:hidden;padding:36px 32px 48px}@media (max-width:768px){.app{flex-direction:row;position:relative}.app>.sidebar:not(.sidebar-open){display:none!important;flex:0 0!important;min-width:0!important;width:0!important}.app-content{flex:1 1 100%!important;margin-left:0!important;max-width:100%!important;min-width:0!important;padding:60px 12px 12px;width:100%!important}.app h1,.in-app-main h1,.page>h1{font-size:20px;margin:0 0 12px}.sidebar-toggle{align-items:center;background:#fff;background:var(--panel);border:1px solid #e5e7eb;border:1px solid var(--panel-b);border-radius:6px;box-shadow:0 1px 4px #0000001a;color:#111827;color:var(--ink-900);cursor:pointer;display:flex!important;font-size:18px;height:44px;justify-content:center;left:12px;min-height:44px;min-width:44px;position:fixed;top:12px;touch-action:manipulation;transition:opacity .2s,visibility .2s;width:44px;z-index:1001}.sidebar-toggle.sidebar-toggle-hidden{display:none!important}.sidebar-toggle:active{background:#fff;background:var(--panel-a,#f8fafc);transform:scale(.95)}.sidebar-overlay{animation:overlayFadeIn .2s ease-out;background:#00000080;display:block!important;inset:0;position:fixed;z-index:999}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.sidebar{bottom:0;box-shadow:2px 0 8px #00000026;display:none!important;flex-basis:0;flex-grow:0;flex-shrink:0;left:-100%;max-width:75vw;position:fixed!important;top:0;transform:translateX(0);transition:left .3s ease-out;width:260px;z-index:1000}.sidebar.sidebar-open{display:flex!important;left:0}.desktop-nav{display:none!important}.sidebar-header{padding:60px 16px 16px}.sidebar-brand{font-size:18px}.sidebar-nav{flex-direction:column;gap:4px;overflow-y:auto;padding:8px}.sidebar-item-wrapper{width:100%}.sidebar-item-button{font-size:15px!important;min-height:44px;padding:12px 16px!important;width:100%!important}.sidebar-item-label{white-space:normal}.sidebar-footer{display:block;font-size:11px;padding:12px 16px}.sidebar-close{align-items:center;background:#fff;background:var(--panel);border:1px solid #e5e7eb;border:1px solid var(--panel-b);border-radius:50%;color:#111827;color:var(--ink-900);cursor:pointer;display:flex;font-size:24px;height:44px;justify-content:center;line-height:1;min-height:44px;min-width:44px;position:absolute;right:16px;top:16px;touch-action:manipulation;width:44px}.sidebar-close:active{background:#fff;background:var(--panel-a,#f8fafc)}.topbar{align-items:flex-start;flex-wrap:wrap;gap:8px;margin-bottom:12px}.topbar-left{align-items:stretch;flex:1 1 100%;flex-direction:column;gap:8px;order:1;width:100%}.topbar-left .brand{align-self:flex-start}.topbar-center{justify-content:flex-start;order:2}.topbar-center,.topbar-right{flex:1 1 100%;margin-left:0;width:100%}.topbar-right{flex-wrap:wrap;justify-content:flex-end;order:3}.brand{flex:0 0 auto;min-width:0}.brand-text{font-size:16px;font-weight:800}.logo-dot{box-shadow:0 0 0 2px #6e1d852e;height:10px;width:10px}.topbar-left .tabs{gap:4px;margin-left:0;width:100%}.tab{flex:1 1;font-size:12px;font-weight:600;min-height:36px;padding:6px 12px}.device-select{align-items:center;flex:1 1 auto;flex-wrap:nowrap;gap:6px;margin-left:0;min-width:0;width:auto}.topbar-center .device-select{flex:1 1 140px;min-width:0}.device-select label{flex-shrink:0;font-size:11px;white-space:nowrap}.device-select select{flex:1 1;font-size:13px;max-width:100%;min-height:44px;min-width:0;overflow:hidden;padding:8px 10px;text-overflow:ellipsis}.theme-toggle{font-size:11px!important;gap:4px!important;min-height:36px;padding:6px 8px!important}.theme-icon{font-size:14px!important}.theme-label{font-size:11px!important}.device-grid{gap:12px;grid-template-columns:1fr}.device-card{padding:12px}.dc-actions{flex-direction:column}.dc-actions .btn{min-height:44px;padding:12px;width:100%}.cards-container{gap:12px;grid-template-columns:1fr!important}.chart-container{padding:12px}.modal{border-radius:0;margin:0;max-width:100vw;padding:16px;width:100vw}.btn{font-size:15px;padding:12px 20px}.btn,.btn.sm{min-height:44px}.btn.sm{padding:10px 16px}}.app h1,.in-app-main h1,.page>h1{color:#111827;color:var(--ink-900);font-size:clamp(28px,4vw,40px);font-weight:800;letter-spacing:-.02em;margin:0 0 22px}.page>h1{font-size:1.375rem;font-weight:600;letter-spacing:-.02em;margin:0 0 16px}.cards-container{grid-gap:28px;display:grid;gap:28px;grid-auto-flow:dense;grid-template-columns:repeat(5,minmax(220px,1fr));margin-bottom:28px;width:100%}@media (max-width:1280px){.cards-container{grid-template-columns:repeat(3,minmax(220px,1fr))}}@media (max-width:820px){.cards-container{grid-template-columns:repeat(1,minmax(220px,1fr))}}.chart-container{margin:16px 0 32px;padding:20px;width:100%}.card,.chart-container{background:#fff;background:var(--surface-raised);border:1px solid #e5e7eb;border:1px solid var(--ds-line);border-radius:10px;border-radius:var(--ds-radius);box-shadow:none}.air-dashboard .air-metric-sub{align-items:flex-start;display:flex;flex-direction:column;gap:3px}.air-dashboard .air-metric-sub-kicker{color:#9ca3af;color:var(--ink-500);font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.air-dashboard .air-metric-sub-line{color:#6b7280;color:var(--ink-600);font-size:12px;font-weight:600;line-height:1.3}.air-dashboard .air-metric-sub-line--temp,.tbhh100-dashboard .air-metric-sub-line--temp{color:var(--thermo-heat)}.air-dashboard .air-metric-sub-line--hum,.tbhh100-dashboard .air-metric-sub-line--hum{color:var(--thermo-cool)}.air-dashboard .air-metric-card--hum,.air-dashboard .air-metric-card--temp{background:#fff;background:var(--surface-raised,var(--panel));border-color:#e5e7eb;border-color:var(--ds-line)}.air-dashboard .air-battery-unavailable-main{color:#9ca3af;color:var(--ink-500);font-size:1.25rem;font-weight:600;letter-spacing:-.01em}.air-dashboard .air-card-battery-unknown{background:#fff;background:var(--surface-raised,var(--panel));border-color:#e5e7eb;border-color:var(--ds-line);border-style:dashed}.air-dashboard-chart-hero.chart-container{background:#0000;border:none;box-shadow:none}.air-dashboard-status-row{align-items:center;display:flex;flex-wrap:wrap;font-size:13px;gap:12px;margin-bottom:16px}.air-dashboard-status-row__sample{color:#6b7280;color:var(--ink-600);font-weight:600}.air-dashboard-status-row__sample.is-stale{color:#b45309;color:var(--ds-warn)}.air-dashboard-status-row__poll{color:#9ca3af;color:var(--ink-500);font-size:12px}.leak-dashboard .leak-card-context,.leak-dashboard .leak-tamper-sub{display:flex;flex-direction:column;gap:4px}.leak-dashboard .leak-tamper-sub{align-items:flex-start}.leak-dashboard .leak-tamper-sub-line{color:#6b7280;color:var(--ink-600);font-size:12px;font-weight:600;line-height:1.4}.leak-dashboard .leak-tamper-sub-line--alert{color:#b91c1c;color:var(--ds-alarm);font-weight:600}.leak-dashboard .leak-tamper-sub-line--muted{color:#9ca3af;color:var(--ink-500);font-size:11px;font-weight:500}.leak-dashboard .leak-card-tamper-alert{background:#fff;background:var(--surface-raised,var(--panel));border-color:#e5e7eb;border-color:var(--ds-line);box-shadow:inset 3px 0 0 #b91c1c;box-shadow:inset 3px 0 0 var(--ds-alarm)}.leak-dashboard .leak-metric-secondary .dc-name{color:#6b7280;color:var(--ink-600);font-size:15px;font-weight:600}.leak-dashboard .leak-metric-secondary .stat-value{font-size:1.25rem;font-weight:700}.leak-dashboard .leak-metric-sub-one{color:#9ca3af;color:var(--ink-500);font-size:11px;font-weight:600;line-height:1.35}.leak-status-main{font-feature-settings:"tnum";font-size:1.5rem;font-variant-numeric:tabular-nums;font-weight:700;line-height:1.1}.leak-status-main--alarm{color:#b91c1c;color:var(--ds-alarm)}.leak-status-main--ok{color:#047857;color:var(--ds-ok)}.leak-events{margin-top:24px}.leak-events__list{background:#fff;background:var(--surface-raised,var(--panel));border:1px solid #e5e7eb;border:1px solid var(--ds-line);border-radius:10px;border-radius:var(--ds-radius);list-style:none;margin:0;overflow:hidden;padding:0}.leak-events__item{align-items:flex-start;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--ds-line);display:flex;gap:10px;padding:12px 14px}.leak-events__item:last-child{border-bottom:none}.leak-events__dot{background:#64748b;background:var(--ds-offline);border-radius:50%;flex-shrink:0;height:8px;margin-top:5px;width:8px}.leak-events__dot--leak{background:#b91c1c;background:var(--ds-alarm)}.leak-events__dot--tamper{background:#b45309;background:var(--ds-warn)}.leak-events__dot--ok{background:#047857;background:var(--ds-ok)}.leak-events__body{flex:1 1;min-width:0}.leak-events__title{color:#111827;color:var(--ink-900);font-size:13px;font-weight:600}.leak-events__meta{font-feature-settings:"tnum";color:#9ca3af;color:var(--ink-500);font-size:12px;font-variant-numeric:tabular-nums;margin-top:2px}.leak-presence-skeleton{background:#f3f4f6;background:var(--surface-muted);height:36px;max-width:180px}.leak-presence-pill,.leak-presence-skeleton{border-radius:8px;border-radius:var(--ds-radius-sm);margin:0 0 16px}.leak-presence-pill{align-items:center;background:#fff;background:var(--surface-raised,var(--panel));border:1px solid #e5e7eb;border:1px solid var(--ds-line);box-shadow:none;color:#374151;color:var(--ink-700);display:inline-flex;font-size:12px;font-weight:600;gap:8px;letter-spacing:.02em;padding:8px 12px;text-transform:uppercase}.leak-presence-pill__dot{border-radius:50%;box-shadow:none;flex-shrink:0;height:8px;width:8px}.leak-presence-pill--online{box-shadow:inset 3px 0 0 #047857;box-shadow:inset 3px 0 0 var(--ds-ok);color:#047857;color:var(--ds-ok)}.leak-presence-pill--online .leak-presence-pill__dot{background:#047857;background:var(--ds-ok)}.leak-presence-pill--stale{box-shadow:inset 3px 0 0 #b45309;box-shadow:inset 3px 0 0 var(--ds-warn);color:#b45309;color:var(--ds-warn)}.leak-presence-pill--stale .leak-presence-pill__dot{background:#b45309;background:var(--ds-warn)}.leak-presence-pill--offline{box-shadow:inset 3px 0 0 #64748b;box-shadow:inset 3px 0 0 var(--ds-offline);color:#6b7280;color:var(--ink-600)}.leak-presence-pill--offline .leak-presence-pill__dot{background:#64748b;background:var(--ds-offline)}.thermo-fill--heat{background:var(--thermo-heat)}.thermo-fill--cool{background:var(--thermo-cool)}.theme-dark .thermo-fill--heat{background:var(--thermo-heat)}.theme-dark .thermo-fill--cool{background:var(--thermo-cool)}.chip{border-radius:8px;border-radius:var(--ds-radius-sm);display:inline-block;font-size:12px;font-weight:600;margin-top:6px;padding:6px 10px}.chip-warm{box-shadow:inset 3px 0 0 #b45309;box-shadow:inset 3px 0 0 var(--ds-warn);color:#b45309;color:var(--ds-warn)}.chip-danger,.chip-hot,.chip-warm{background:#fff;background:var(--surface-raised,var(--panel))}.chip-danger,.chip-hot{box-shadow:inset 3px 0 0 #b91c1c;box-shadow:inset 3px 0 0 var(--ds-alarm);color:#b91c1c;color:var(--ds-alarm)}.footer{display:flex;gap:18px;justify-content:center}.footer-icon{fill:#6b7280;fill:var(--ink-600);height:22px;opacity:.9;width:22px}.footer-icon:hover{opacity:1}.modal-overlay{animation:overlayIn .12s ease-out both;background:#0f172a73;display:grid;inset:0;place-items:center;position:fixed;z-index:1000}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.modal{background:#fff;background:var(--surface-raised,#fff);border:1px solid color-mix(in oklab,#9ca3af 34%,#0000);border:1px solid var(--ds-line-strong);border-radius:10px;border-radius:var(--ds-radius);box-shadow:0 8px 24px #0206171f;color:#111827;color:var(--ink-900);padding:18px 20px;width:min(520px,94vw)}.modal h2,.modal-title{font-size:1rem;font-weight:600;letter-spacing:-.01em;margin:0 0 12px}.modal .modal-input,.modal input[type=number],.modal input[type=text]{background:#f3f4f6;background:var(--surface-muted,#f3f4f6);border:1px solid #e5e7eb;border:1px solid var(--panel-b,var(--hairline));border-radius:8px;border-radius:var(--ds-radius-sm);box-shadow:none;color:#111827;color:var(--ink-900);outline:none;padding:8px 10px;transition:box-shadow .15s,border-color .15s;width:120px}.modal .modal-input:focus,.modal input:focus{border-color:color-mix(in oklab,#6e1d85 45%,#e5e7eb);border-color:color-mix(in oklab,var(--brand-600) 45%,var(--ds-line));box-shadow:0 0 0 2px #6e1d852e}.btn,.option-btn{background:#fff;background:var(--surface-raised);border:1px solid color-mix(in oklab,#9ca3af 34%,#0000);border:1px solid var(--ds-line-strong);border-radius:8px;border-radius:var(--ds-radius-sm);box-shadow:none;color:#111827;color:var(--ink-900);cursor:pointer;font-weight:500;min-height:34px;padding:6px 14px;transition:background .15s,border-color .15s;-webkit-user-select:none;user-select:none}a.btn,a.option-btn{justify-content:center}.auth-home-link,a.btn,a.option-btn{align-items:center;box-sizing:border-box;display:inline-flex;text-decoration:none}.auth-home-link{appearance:none;border:1px solid #e5e7eb;border:1px solid var(--panel-b);border-radius:8px;box-shadow:0 1px 3px #00000014;box-shadow:var(--shadow-sm);color:#374151;color:var(--ink-700,#334155);cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;margin-left:8px;padding:6px 12px;pointer-events:auto;position:relative;transition:box-shadow .2s,background .2s,border-color .2s,color .2s;z-index:2}.auth-home-link,.auth-home-link:hover{background:#fff;background:var(--surface-raised)}.auth-home-link:hover{box-shadow:0 4px 14px #0000001a;box-shadow:var(--shadow-md)}.theme-dark .auth-home-link{background:#0f1320;border-color:#94a3b83d;box-shadow:inset 0 1px 0 #ffffff0a,0 1px 2px #0003;color:#e6ebf5}.theme-dark .auth-home-link:hover{background:#141a2f;border-color:#a8b5c661;box-shadow:inset 0 1px 0 #ffffff0d,0 6px 16px #00000042}.btn:hover,.option-btn:hover{background:#f3f4f6;background:var(--surface-muted)}.btn:focus-visible,.option-btn:focus-visible{border-color:color-mix(in oklab,#6e1d85 45%,#e5e7eb);border-color:color-mix(in oklab,var(--brand-600) 45%,var(--ds-line));box-shadow:0 0 0 2px #6e1d852e;outline:none}.btn.primary,.option-btn.primary{background:#6e1d85;background:var(--brand-600);border-color:#6e1d85;border-color:var(--brand-600);box-shadow:none;color:#fff}.btn.primary:hover{background:#5b186f;background:var(--brand-700);border-color:#5b186f;border-color:var(--brand-700)}.btn.ghost{background:#f3f4f6;background:var(--surface-muted);box-shadow:none;color:#111827;color:var(--ink-900)}.btn.ghost:hover{background:#0f172a0f}.modal.compact{border-radius:10px;border-radius:var(--ds-radius);padding:16px 18px;width:min(380px,92vw)}.modal-title{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-family:var(--font-sans);font-size:1rem;font-weight:600;letter-spacing:-.01em;margin:0 0 10px}.modal-row{align-items:center;display:flex;gap:10px}.modal-actions{display:flex;gap:8px;margin-left:auto}.modal-actions.right{justify-content:flex-end;margin-top:10px}.btn.sm,.option-btn.sm{border-radius:8px;border-radius:var(--ds-radius-sm);font-size:13px;min-height:30px;padding:4px 12px}.segmented{display:flex;gap:4px}.segmented .seg{border-radius:6px;border-radius:calc(var(--ds-radius-sm) - 2px);cursor:pointer;flex:1 1;padding:8px 10px}.segmented .seg:hover{background:#f3f4f6;background:var(--surface-muted)}.segmented .seg.active{background:#6e1d85;background:var(--brand-600);box-shadow:none;color:#fff}.offline-banner{background:#fff7ed;border:1px dashed #f59e0b;border-radius:12px;color:#92400e;margin:0 0 10px;max-width:1200px;padding:10px 12px;width:100%}.humidity-gauge{position:relative}.humidity-gauge .gauge-svg{height:140px;overflow:visible;position:relative;width:100%;z-index:1}.humidity-gauge .gauge-track{stroke:#e8effe;stroke:var(--panel-accent-weak,#e8effe);stroke-width:16;fill:none;opacity:.9}.humidity-gauge .gauge-fill{stroke:#6e1d85;stroke:var(--brand-600,#6e1d85);stroke-width:16;fill:none;stroke-linecap:round}.humidity-gauge .gauge-knob{fill:#6e1d85;fill:var(--brand-600,#6e1d85);stroke:#fff;stroke-width:2;filter:drop-shadow(0 2px 4px rgba(59,70,89,.25))}.humidity-gauge .gauge-value{text-anchor:middle;fill:#111827;fill:var(--ink-900);font-size:20px;font-weight:700}.humidity-gauge .gauge-ends{bottom:4px;color:#6b7280;color:var(--ink-600);display:flex;font-size:12px;justify-content:space-between;left:0;padding:0 20px;position:absolute;right:0;z-index:3}.humidity-gauge--compact .gauge-svg{display:block;height:104px;margin:0 auto;max-width:188px;opacity:.94}.humidity-gauge--compact .gauge-fill,.humidity-gauge--compact .gauge-track{stroke-width:13}.humidity-gauge--compact .gauge-value{font-size:17px}.humidity-gauge--compact .gauge-ends{font-size:11px;padding:0 18px}.thermo-card--feels-secondary .dc-name,.thermo-card--humidity-support .dc-name,.thermo-card--stage-state .dc-name{color:#6b7280;color:var(--ink-600);font-size:15px;font-weight:600}.thermo-card--hvac-state{border-color:color-mix(in oklab,#9ca3af 34%,#0000);border-color:var(--ds-line-strong)}.stagedots.stagedots--thermo-ops{gap:10px;justify-content:center;margin-top:4px}.stagedots.stagedots--thermo-ops .dot{border:2px solid color-mix(in oklab,#9ca3af 34%,#0000);border:2px solid var(--ds-line-strong);box-shadow:none;height:12px;margin-right:0;width:12px}.stagedots.stagedots--thermo-ops .dot.on{border-color:#6e1d85;border-color:var(--brand-600)}.theme-dark .thermo-card--feels-secondary .dc-name,.theme-dark .thermo-card--humidity-support .dc-name,.theme-dark .thermo-card--stage-state .dc-name{color:#9ca3af;color:var(--ink-500)}.thermo-card--stage-state .stat-sub{color:#9ca3af;color:var(--ink-500);font-size:12px;font-weight:500;line-height:1.35}.thermostat-dashboard{--thermo-heat:#c2410c;--thermo-cool:#0369a1;position:relative}.theme-dark .thermostat-dashboard{--thermo-heat:#fb923c;--thermo-cool:#38bdf8}.thermo-status-grid{grid-gap:16px;align-items:stretch;display:grid;gap:16px;grid-auto-rows:minmax(5px,auto);grid-template-columns:repeat(6,1fr);margin-bottom:8px}@media (max-width:720px){.thermo-status-grid{gap:12px;grid-template-columns:1fr;margin-bottom:16px}}.thermo-span-2{grid-column:span 2}.thermo-span-1{grid-column:span 1}.thermo-card-stack{display:flex;flex-direction:column}@media (max-width:720px){.thermo-span-2{grid-column:span 1}}.thermo-title-row{align-items:center;display:inline-flex;gap:8px}.thermo-title-row__icon{font-size:16px;line-height:1;opacity:.9}.thermo-metric{font-feature-settings:"tnum";color:#111827;color:var(--ink-900);font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.02em;line-height:1.05}.thermo-metric--hero{font-size:1.5rem}.thermo-metric--secondary{color:#374151;color:var(--ink-700);font-size:1.25rem}.thermo-metric--mode{font-size:1.25rem}.thermo-metric--ok{color:#047857;color:var(--ds-ok)}.thermo-metric--cool{color:var(--thermo-cool)}.thermo-metric--heat{color:var(--thermo-heat)}.thermo-metric--alarm{color:#b91c1c;color:var(--ds-alarm)}.thermo-metric--warn{color:#b45309;color:var(--ds-warn)}.thermo-metric--muted{color:#9ca3af;color:var(--ink-500)}.thermo-metric--auto{color:#111827;color:var(--ink-900)}.thermo-metric-row{align-items:center;display:inline-flex;gap:6px}.thermo-live-dot{background:#047857;background:var(--ds-ok);border-radius:50%;flex:0 0 auto;height:8px;width:8px}.thermo-accent--ok{box-shadow:inset 3px 0 0 #047857;box-shadow:inset 3px 0 0 var(--ds-ok)}.thermo-accent--cool{box-shadow:inset 3px 0 0 var(--thermo-cool)}.thermo-accent--heat{box-shadow:inset 3px 0 0 var(--thermo-heat)}.thermo-accent--alarm{box-shadow:inset 3px 0 0 #b91c1c;box-shadow:inset 3px 0 0 var(--ds-alarm)}.thermo-accent--warn{box-shadow:inset 3px 0 0 #b45309;box-shadow:inset 3px 0 0 var(--ds-warn)}.thermo-accent--neutral{box-shadow:inset 3px 0 0 #64748b;box-shadow:inset 3px 0 0 var(--ds-offline)}.thermo-accent--idle{box-shadow:inset 3px 0 0 #9ca3af;box-shadow:inset 3px 0 0 var(--ink-500)}.dashboard-card--cmd-pending[class*=thermo-accent]{box-shadow:inset 3px 0 0 #b45309;box-shadow:inset 3px 0 0 var(--ds-warn)}.thermo-card-footer{margin-top:auto;padding-top:4px}.thermo-card-footer--center{display:flex;justify-content:center}.thermo-track{margin-top:12px}.thermo-track+.micro.row.spread{margin-top:6px}.band-legend{margin-top:8px}.thermo-readonly-banner{align-items:center;background:#f3f4f6;background:var(--surface-muted);border:1px solid color-mix(in oklab,#9ca3af 34%,#0000);border:1px solid var(--ds-line-strong);border-radius:8px;border-radius:var(--ds-radius-sm);box-shadow:inset 3px 0 0 #6e1d85;box-shadow:inset 3px 0 0 var(--brand-600);color:#1f2937;color:var(--ink-800,var(--ink-900));display:flex;font-size:14px;gap:8px;margin-bottom:16px;padding:12px 16px}.thermo-readonly-banner__icon{font-size:16px;line-height:1}.thermo-meta-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.thermo-history{margin-top:16px}@media (max-width:720px){.thermo-history{margin-top:12px}}.thermo-history__head{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--ds-line);margin-bottom:10px;padding-bottom:14px}.thermo-history__title{color:#111827;color:var(--ink-900);font-size:1.125rem;font-weight:600;letter-spacing:-.02em;margin:0 0 3px}.thermo-history__subtitle{color:#9ca3af;color:var(--ink-500);font-size:13px;line-height:1.35;margin:0}.thermo-history__toolbar,.thermo-history__tools{align-items:center;display:flex;flex-wrap:wrap;gap:8px 10px}.thermo-history__spacer{flex:1 1 20px;min-width:16px}@media (max-width:720px){.thermo-history__spacer{flex-basis:100%;height:0;min-width:0;width:0}}.thermo-history__views{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.thermo-view-toggle{background:#f3f4f6;background:var(--surface-muted);border:1px solid #e5e7eb;border:1px solid var(--ds-line);border-radius:8px;border-radius:var(--ds-radius-sm);display:inline-flex;gap:4px;padding:3px}.thermo-view-toggle__btn{background:#0000;border:none;border-radius:6px;border-radius:calc(var(--ds-radius-sm) - 2px);color:#6b7280;color:var(--ink-600);cursor:pointer;font-size:13px;font-weight:500;min-height:30px;padding:4px 12px;text-transform:capitalize;touch-action:manipulation}.thermo-view-toggle__btn.is-active{background:#6e1d85;background:var(--brand-600);color:#fff}@media (max-width:720px){.thermo-view-toggle__btn{min-height:44px;padding:10px 16px}}.thermo-history__panel{background:#fff;background:var(--surface-raised);border:1px solid #e5e7eb;border:1px solid var(--ds-line);border-radius:10px;border-radius:var(--ds-radius);box-shadow:none;margin-bottom:16px;padding:8px}.thermo-history__chart{align-items:center;display:flex;min-height:480px}@media (max-width:720px){.thermo-history__chart{min-height:420px}}.thermo-history__footer{align-items:center;background:#0000;border-top:1px solid #e5e7eb;border-top:1px solid var(--ds-line);display:flex;justify-content:space-between;margin-top:8px;padding-top:8px}.thermo-history__footer-meta{color:#9ca3af;color:var(--ink-500);font-size:12px}.thermo-fs-backdrop{background:#0f172a8c;inset:0;position:fixed;z-index:99999}.theme-dark .thermo-fs-backdrop{background:#020617b8}.thermo-fs-shell{display:flex;flex-direction:column;inset:0;padding:24px;pointer-events:none;position:fixed;z-index:100000}@media (max-width:720px){.thermo-fs-shell{padding:8px}}.thermo-fs-panel{background:#fff;background:var(--surface-raised,var(--panel));border:1px solid color-mix(in oklab,#9ca3af 34%,#0000);border:1px solid var(--ds-line-strong);border-radius:10px;border-radius:var(--ds-radius);box-shadow:0 8px 24px #0206172e;display:flex;flex:1 1;flex-direction:column;max-height:100%;max-width:100%;overflow:hidden;padding:16px;pointer-events:auto}@media (max-width:720px){.thermo-fs-panel{padding:8px}}.thermo-fs-header{align-items:flex-start;display:flex;flex-shrink:0;gap:12px;justify-content:space-between;margin-bottom:16px;width:100%}@media (max-width:720px){.thermo-fs-header{gap:6px;margin-bottom:6px}}.thermo-fs-header__copy{flex:1 1 auto;min-width:0;padding-right:12px}.thermo-fs-title{color:#111827;color:var(--ink-900);font-size:1.125rem;font-weight:600;letter-spacing:-.02em;line-height:1.2;margin:0}.thermo-fs-subtitle{color:#9ca3af;color:var(--ink-500);font-size:13px;line-height:1.3;margin:2px 0 0}@media (max-width:720px){.thermo-fs-title{font-size:1rem}.thermo-fs-subtitle{font-size:11px}}.thermo-fs-close{background:#fff;background:var(--surface-raised,var(--panel));border:1px solid color-mix(in oklab,#9ca3af 34%,#0000);border:1px solid var(--ds-line-strong);border-radius:8px;border-radius:var(--ds-radius-sm);box-shadow:none;color:#374151;color:var(--ink-700);cursor:pointer;height:40px;min-height:40px;min-width:40px;width:40px}@media (max-width:720px){.thermo-fs-close{height:44px;min-height:44px;min-width:44px;width:44px}}.thermo-card--humidity-support .humidity-card-body{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;margin-top:2px;min-height:128px;padding:10px 8px 6px}.thermo-card--humidity-support .humidity-card-caption{color:#9ca3af;color:var(--ink-500);font-size:11px;font-weight:600;letter-spacing:.07em;line-height:1.25;margin:8px 0 0;padding:0;text-align:center;text-transform:uppercase}.humidity-ring-gauge{margin:0 auto;max-width:200px;width:100%}.humidity-ring-gauge__svg{display:block;height:auto;overflow:visible;width:100%}.humidity-ring-gauge__track{stroke:color-mix(in oklab,#e5e7eb 50%,#d1d5db);stroke:color-mix(in oklab,var(--panel-b) 50%,var(--ink-400));stroke-width:11;stroke-linecap:round;opacity:.88}.humidity-ring-gauge__fill{stroke:#6e1d85;stroke:var(--brand-600);stroke-width:11;stroke-linecap:round}.humidity-ring-gauge__value{fill:#111827;fill:var(--ink-900);font-family:inherit;font-size:24px;font-weight:700;letter-spacing:-.02em}.humidity-ring-gauge__anchor{fill:#9ca3af;fill:var(--ink-500);font-family:inherit;font-size:10px;font-weight:600;letter-spacing:.05em}.theme-dark .thermo-card--humidity-support .dc-name,.theme-dark .thermo-card--humidity-support .humidity-card-caption{color:#9ca3af;color:var(--ink-500)}.theme-dark .humidity-ring-gauge__track{stroke:color-mix(in oklab,#6b7280 45%,#e5e7eb);stroke:color-mix(in oklab,var(--ink-600) 45%,var(--panel-b));opacity:.95}.theme-dark .humidity-ring-gauge__fill{stroke:#9d5bbf;stroke:var(--brand-500)}.theme-dark .humidity-ring-gauge__value{fill:#f1f5f9;fill:var(--ink-100,#f1f5f9)}.theme-dark .humidity-ring-gauge__anchor{fill:#9ca3af;fill:var(--ink-500)}.stat-sub{color:#6b7280;color:var(--ink-600);font-size:13px;margin-top:4px}.h-ok{color:#111827;color:var(--ink-900)}.h-warm{color:#f59e0b;color:var(--warm-500)}.h-hot{color:#ef4444;color:var(--hot-500)}.h-danger{color:#b91c1c;color:var(--hot-700)}.topbar{align-items:flex-start;gap:16px 24px;justify-content:space-between;margin-bottom:28px}.topbar,.topbar-zone{display:flex;flex-wrap:wrap}.topbar-zone{align-items:center;gap:10px 12px;min-width:0}.topbar-left{flex:1 1 auto;min-width:min(100%,200px)}.topbar-center{flex:1 1 280px;justify-content:center;max-width:100%}.topbar-center .device-select{margin-left:0}.topbar-right{flex:0 1 auto;gap:10px;justify-content:flex-end;margin-left:auto}.brand{align-items:center;display:flex;gap:10px}.logo-dot{background:#6e1d85;background:var(--brand-600);border-radius:50%;box-shadow:0 0 0 2px #6e1d8517;height:14px;width:14px}.brand-text{color:#111827;color:var(--ink-900);font-family:Manrope,Inter,system-ui,sans-serif;font-family:var(--font-display);font-size:26px;font-weight:700;letter-spacing:-.02em}.tabs{display:flex;gap:8px;margin-left:12px}.tab{background:#f3f4f6;background:var(--surface-muted);border:none;border-radius:999px;box-shadow:none;color:#374151;color:var(--ink-700);cursor:pointer;font-size:13px;font-weight:600;padding:8px 14px;transition:background .15s ease,color .15s ease}.tab:hover{background:#0f172a0f;color:#111827;color:var(--ink-900)}.tab.active{background:#6e1d85;background:var(--brand-600);color:#fff}.desktop-nav{align-items:center;display:flex;gap:8px;margin-left:12px}.desktop-nav .nav-link{align-items:center;background:#f3f4f6;background:var(--surface-muted);border:none;border-radius:8px;color:#374151;color:var(--ink-700,#334155);cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:6px 12px;transition:background .2s,color .2s;white-space:nowrap}.desktop-nav .nav-link:hover{background:#0f172a0f;color:#111827;color:var(--ink-900,#0f172a)}.desktop-nav .nav-link svg{flex-shrink:0;height:16px;width:16px}@media (max-width:768px){.desktop-nav{display:none!important}}.device-select{align-items:center;display:flex;gap:8px;margin-left:auto}.topbar .device-select{margin-left:0}.device-select label{color:#9ca3af;color:var(--ink-500,#64748b);font-size:12px;font-weight:500}.theme-light select:not(.device-select select){border:1px solid #e5e7eb!important;border:1px solid var(--hairline)!important}.theme-light select:not(.device-select select),.theme-light select:not(.device-select select) option{background-color:#fff!important;background-color:var(--surface-raised)!important;color:#111827!important;color:var(--ink-900)!important}.theme-dark select:not(.device-select select){border-color:#374151!important}.theme-dark select:not(.device-select select),.theme-dark select:not(.device-select select) option{background-color:#1f2937!important;color:#e5e7eb!important}.device-select select{background:#fff;background:var(--surface-raised);border:none;border-radius:8px;box-shadow:0 1px 3px #00000014;box-shadow:var(--shadow-sm);color:#111827;color:var(--ink-900,#0f172a);cursor:pointer;font-size:13px;font-weight:500;padding:8px 12px;transition:box-shadow .2s,background .2s}.device-select select:hover{background:#fff;background:var(--surface-raised);box-shadow:0 4px 14px #0000001a;box-shadow:var(--shadow-md)}.device-select select:focus{box-shadow:0 0 0 2px #6e1d8533,0 1px 3px #00000014;box-shadow:0 0 0 2px #6e1d8533,var(--shadow-sm);outline:none}.theme-dark .device-select select{background:#fff;background:var(--surface-raised);color:#111827;color:var(--ink-900)}.theme-dark .device-select select option{background:#fff;background:var(--panel);color:#111827;color:var(--ink-900)}.device-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.device-card-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.dc-badge{background:#f3f4f6;background:var(--surface-muted,#0f172a0f);border:none;border-radius:999px;box-shadow:none;color:#374151;color:var(--ink-700);font-size:12px;font-weight:700;padding:4px 10px}.dc-badge.thermostat{background:color-mix(in oklab,#9d5bbf 10%,#fff);background:color-mix(in oklab,var(--brand-500) 10%,var(--surface-raised));color:#471358}.dc-badge.water{background:#ecfdf5;color:#065f46}.dc-badge.air{background:#eef2ff;color:#3730a3}.dc-badge.saya{background:#fefce8;color:#b45309}.dc-line{color:#374151;color:var(--ink-700);display:flex;font-size:13px;gap:8px;justify-content:space-between;padding:4px 0}.dc-line code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.dc-actions{display:flex;gap:8px;margin-top:10px}.device-card.add{color:#64748b;display:grid;place-items:center}.add-inner{text-align:center}.add-inner .plus{font-size:40px;line-height:1}.add-title{font-family:Manrope,Inter,system-ui,sans-serif;font-family:var(--font-display);font-weight:700;margin-top:6px}.add-sub{color:#94a3b8;font-size:12px}.dc-badge.leak{background:#fff1f2;box-shadow:none;color:#7f1d1d}.dc-badge.tbhh100{background:#ecfdf5;color:#065f46}.app-breadcrumb{display:flex!important;opacity:1!important;visibility:visible!important}.theme-dark .app-breadcrumb{color:#94a3b8}.summary-home{--summary-grid-min:280px;max-width:none;min-width:0;width:100%}.summary-home-header{margin-bottom:16px}.summary-home-title{color:#111827;color:var(--ink-900);font-family:Manrope,Inter,system-ui,sans-serif;font-family:var(--font-display);font-size:1.375rem;font-weight:600;letter-spacing:-.02em;margin:0 0 2px}.summary-home-subtitle{color:#6b7280;color:var(--ink-600);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-family:var(--font-sans);font-size:13px;font-weight:500;line-height:1.4;margin:0}.summary-toolbar{display:flex;flex-direction:column;gap:6px;margin-bottom:6px}.summary-toolbar-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:10px 12px;min-width:0;width:100%}.summary-filter-field--search{flex:0 1 42%;flex-basis:42%;max-width:45%;min-width:min(200px,100%)}.summary-filter-field--search .summary-filter-input{min-width:0;width:100%}.summary-toolbar-row>.summary-filter-field:not(.summary-filter-field--search):not(.summary-filter-field--action){flex:1 1 120px;min-width:120px}@media (max-width:900px){.summary-filter-field--search{flex:1 1 100%;flex-basis:100%;max-width:100%}}.summary-filter-field--action{flex:0 0 auto}.summary-filter-spacer{display:block;font-size:11px;line-height:1;min-height:11px}.summary-filter-reset{background:#fff;background:var(--surface-raised);border:1px solid #e5e7eb;border:1px solid var(--ds-line);border-radius:8px;border-radius:var(--ds-radius-sm);box-shadow:none;color:#374151;color:var(--ink-700);cursor:pointer;font-size:13px;font-weight:600;min-height:36px;padding:8px 12px}.summary-filter-reset:hover{background:#f3f4f6;background:var(--surface-muted);color:#111827;color:var(--ink-900)}.summary-filter-reset:focus-visible{outline:2px solid #6e1d8573;outline-offset:2px}.summary-filter-reset:active{transform:translateY(1px)}.summary-toolbar-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px;min-width:0}.summary-toolbar-count,.summary-toolbar-count:active,.summary-toolbar-count:focus,.summary-toolbar-count:hover{align-items:normal;background:#0000!important;border:none!important;border-radius:0!important;box-shadow:none!important;color:#6b7280;color:var(--ink-600);cursor:default!important;display:inline;font-size:12px;font-weight:500;margin:0!important;max-width:100%;min-height:0!important;padding:0!important;pointer-events:none;text-decoration:none;-webkit-user-select:none;user-select:none;white-space:nowrap}.summary-filter-field{display:flex;flex-direction:column;gap:6px;min-width:0}.summary-filter-field label{color:#6b7280;color:var(--ink-600);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:.04em}.summary-filter-input{background:#fff;background:var(--surface-raised);border:1px solid #e5e7eb;border:1px solid var(--ds-line);border-radius:8px;border-radius:var(--ds-radius-sm);box-shadow:none;color:#111827;color:var(--ink-900,#0f172a);font-size:13px;font-weight:500;max-width:100%;min-height:36px;min-width:min(200px,100%);padding:8px 12px;transition:border-color .15s ease,box-shadow .15s ease;width:220px}.summary-filter-input::placeholder{color:#9ca3af;color:var(--ink-500);opacity:.75}.summary-filter-input:focus{border-color:color-mix(in oklab,#6e1d85 45%,#e5e7eb);border-color:color-mix(in oklab,var(--brand-600) 45%,var(--ds-line));box-shadow:0 0 0 2px #6e1d852e;outline:none}.summary-filter-select{background:#fff;background:var(--surface-raised);border:1px solid #e5e7eb;border:1px solid var(--ds-line);border-radius:8px;border-radius:var(--ds-radius-sm);box-shadow:none;color:#111827;color:var(--ink-900,#0f172a);cursor:pointer;font-size:13px;font-weight:500;min-height:36px;min-width:140px;padding:8px 12px;transition:border-color .15s ease,box-shadow .15s ease}.summary-filter-select:focus{border-color:color-mix(in oklab,#6e1d85 45%,#e5e7eb);border-color:color-mix(in oklab,var(--brand-600) 45%,var(--ds-line));box-shadow:0 0 0 2px #6e1d852e;outline:none}.summary-state{background:#fff;background:var(--surface-raised);border:1px solid #e5e7eb;border:1px solid var(--ds-line);border-radius:10px;border-radius:var(--ds-radius);box-shadow:none;margin:4px 0 12px;padding:14px 16px}.summary-state-title{color:#111827;color:var(--ink-900);font-family:Manrope,Inter,system-ui,sans-serif;font-family:var(--font-display);font-size:14px;font-weight:600;letter-spacing:-.01em;margin:0 0 6px}.summary-state-desc{color:#6b7280;color:var(--ink-600);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-family:var(--font-sans);font-size:13px;font-weight:500;line-height:1.45;margin:0}.summary-state--empty{background:color-mix(in oklab,#9ca3af 3%,#fff);background:color-mix(in oklab,var(--ink-500) 3%,var(--surface-raised));border-style:dashed}.summary-state--warning{box-shadow:inset 3px 0 0 #b45309;box-shadow:inset 3px 0 0 var(--ds-warn)}.summary-state--warning .summary-state-desc,.summary-state--warning .summary-state-title{color:#b45309;color:var(--ds-warn)}.summary-grid.summary-grid--skeleton{margin-bottom:8px}.summary-grid--skeleton .skeleton-card{animation:summary-skeleton-pulse 1.4s ease-in-out infinite;border:1px solid #e5e7eb;border:1px solid var(--ds-line);border-radius:10px;border-radius:var(--ds-radius);box-shadow:none;margin:0;min-height:200px}@keyframes summary-skeleton-pulse{0%,to{opacity:1}50%{opacity:.92}}@media (prefers-reduced-motion:reduce){.summary-grid--skeleton .skeleton-card{animation:none}}.summary-section-label{align-items:center;border-top:1px solid #e5e7eb;border-top:1px solid var(--ds-line);display:flex;gap:10px;grid-column:1/-1;margin:0;min-width:0;padding:12px 0 4px}.summary-grid>.summary-section-label:first-child{border-top:none;padding-top:0}.summary-section-label-prefix{color:#d1d5db;color:var(--ink-400);flex-shrink:0;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.summary-section-label-text{color:#6b7280;color:var(--ink-600);flex-shrink:0;font-size:12px;font-weight:700;letter-spacing:-.01em;max-width:min(70vw,520px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.summary-section-label-line{display:none}.theme-dark .summary-filter-input,.theme-dark .summary-filter-select{background:#fff;background:var(--surface-raised);box-shadow:0 1px 3px #00000040;color:#111827;color:var(--ink-900)}.theme-dark .summary-filter-input::placeholder{color:#9ca3af;color:var(--ink-500)}.theme-dark .summary-state{background:color-mix(in oklab,#111827 10%,#fff);background:color-mix(in oklab,var(--ink-900) 10%,var(--panel));border-color:#e5e7eb;border-color:var(--panel-b)}.theme-dark .summary-state--empty{background:color-mix(in oklab,#111827 8%,#fff);background:color-mix(in oklab,var(--ink-900) 8%,var(--panel));border-color:#e5e7eb;border-color:var(--panel-b)}.theme-dark .summary-state-title{color:#111827;color:var(--ink-900)}.theme-dark .summary-state-desc{color:#9ca3af;color:var(--ink-500)}.theme-dark .summary-section-label{border-top-color:color-mix(in oklab,#374151 35%,#0000);border-top-color:color-mix(in oklab,var(--ink-700) 35%,#0000)}.theme-dark .summary-section-label-text{color:#9ca3af;color:var(--ink-500)}@media (max-width:640px){.summary-filter-field{flex:1 1 140px}.summary-filter-input{width:100%}}.summary-stats-row{background:#0000;border:none;box-shadow:none;display:flex;flex-direction:column;gap:6px;margin-bottom:8px;min-width:0;padding:0;width:100%}.summary-stats-primary{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(5,minmax(0,1fr));min-width:0;width:100%}@media (max-width:1100px){.summary-stats-primary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:720px){.summary-stats-primary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:420px){.summary-stats-primary{grid-template-columns:1fr}}.summary-stats-primary .summary-stat{min-width:0;width:100%}.summary-stats-secondary{align-items:center;display:flex;flex-wrap:wrap;gap:4px 20px;min-width:0;padding:2px 2px 0;width:100%}.summary-secondary-chip{align-items:center;background:none;border:none;color:#6b7280;color:var(--ink-600);display:inline-flex;font-size:12px;gap:6px;line-height:1.3;max-width:100%;padding:0}.summary-secondary-chip-icon{color:inherit;display:inline-flex;flex-shrink:0;height:14px;width:14px}.summary-secondary-chip-icon svg{height:14px;width:14px}.summary-secondary-chip-text{min-width:0}.summary-secondary-chip-label{color:inherit;font-weight:600}.summary-secondary-chip-value{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700}.summary-secondary-chip-hint{font-weight:500}.summary-secondary-chip--quiet,.summary-secondary-chip-hint{color:#9ca3af;color:var(--ink-500)}.summary-secondary-chip--battery:not(.summary-secondary-chip--quiet),.summary-secondary-chip--stale:not(.summary-secondary-chip--quiet){color:#b45309;color:var(--ds-warn)}.bc-panel{--bc-accent:var(--ds-offline);background:#fff;background:var(--surface-raised,#fff);border:1px solid #e5e7eb;border:1px solid var(--ds-line);border-radius:10px;border-radius:var(--ds-radius);box-shadow:none;margin-bottom:8px;min-width:0;overflow:hidden;width:100%}.bc-panel--online{--bc-accent:var(--ds-ok)}.bc-panel--warning{--bc-accent:var(--ds-warn)}.bc-panel--offline{--bc-accent:var(--ds-alarm)}.bc-panel--loading{align-items:center;display:flex;gap:10px;padding:14px 16px}.bc-panel--muted .bc-error{color:#9ca3af;color:var(--ink-500,#94a3b8);font-size:12px;margin:0;padding:0 16px 14px}.bc-head{align-items:center;background:#0000;border:none;box-shadow:inset 3px 0 0 var(--bc-accent);color:inherit;cursor:pointer;display:flex;font:inherit;gap:12px;justify-content:space-between;min-height:44px;padding:6px 14px;text-align:left;width:100%}.bc-head--static{cursor:default}.bc-head-left{align-items:center;display:flex;flex-wrap:wrap;gap:10px;min-width:0}.bc-head-title{color:#111827;color:var(--ink-900,#111827);font-size:13px;font-weight:600;letter-spacing:-.01em}.bc-head-sub{color:var(--bc-accent);font-size:12px;font-weight:500}.bc-head-right{align-items:center;display:flex;flex-shrink:0;gap:10px}.bc-head-count{font-size:11px;font-weight:600;white-space:nowrap}.bc-chevron,.bc-head-count{color:#9ca3af;color:var(--ink-500,#94a3b8)}.bc-chevron{display:inline-flex;transition:transform .2s ease}.bc-chevron--open{transform:rotate(180deg)}.bc-dot{background:#64748b;background:var(--ds-offline);border-radius:50%;box-shadow:none;flex-shrink:0;height:8px;width:8px}.bc-dot--online{background:#047857;background:var(--ds-ok)}.bc-dot--warning{background:#b45309;background:var(--ds-warn)}.bc-dot--offline{background:#b91c1c;background:var(--ds-alarm)}.bc-dot--neutral,.bc-dot--pending{background:#9ca3af;background:var(--ink-500)}.bc-list{border-top:1px solid #e5e7eb;border-top:1px solid var(--ds-line);list-style:none;margin:0;padding:0}.bc-item{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--ds-line);display:flex;gap:12px;justify-content:space-between;padding:10px 14px}.bc-item:last-child{border-bottom:none}.bc-item-main{display:flex;flex-direction:column;gap:2px;min-width:0}.bc-item-name-row{align-items:center;display:flex;gap:8px;min-width:0}.bc-item-name{color:#111827;color:var(--ink-900);font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bc-item-since{color:#9ca3af;color:var(--ink-500);font-size:11px}.bc-item-meta{align-items:center;display:flex;flex-shrink:0;gap:8px}.bc-chip{align-items:center;background:#f3f4f6;background:var(--surface-muted);border:1px solid #e5e7eb;border:1px solid var(--ds-line);border-radius:8px;border-radius:var(--ds-radius-sm);display:inline-flex;font-size:11px;font-weight:500;padding:2px 8px}.bc-chip--on{color:#047857;color:var(--ds-ok)}.bc-chip--off{color:#b91c1c;color:var(--ds-alarm)}.bc-item-verdict{color:#9ca3af;color:var(--ink-500);font-size:11px;font-weight:500}.bc-badge{align-items:center;background:none;border:none;border-radius:0;display:inline-flex;font-size:12px;font-weight:600;padding:0}.bc-badge--online{color:#047857;color:var(--ds-ok)}.bc-badge--warning{color:#b45309;color:var(--ds-warn)}.bc-badge--offline{color:#b91c1c;color:var(--ds-alarm)}.bc-badge--neutral,.bc-badge--pending,.bc-item-detail{color:#9ca3af;color:var(--ink-500)}.bc-item-detail{font-size:11px}@media (max-width:640px){.bc-item{align-items:flex-start;flex-direction:column;gap:8px}.bc-item-verdict{align-items:flex-start;max-width:100%;text-align:left}}.ss{display:flex;flex-direction:column;gap:14px}.ss-sub{color:#9ca3af;color:var(--ink-500);font-size:13px;margin-top:2px}.ss-form{grid-gap:12px;align-items:end;background:#f3f4f6;background:var(--surface-muted,#0000);border:1px solid #e5e7eb;border:1px solid var(--ds-line);border-radius:10px;border-radius:var(--ds-radius);box-shadow:none;display:grid;gap:12px;padding:14px}.ss-form--once{grid-template-columns:1.15fr 1fr .9fr 1.05fr .7fr auto}.ss-form--daily{grid-template-columns:1.35fr .9fr 1.05fr .7fr auto}.ss-field{display:flex;flex-direction:column;gap:6px;min-width:0}.ss-field--date{max-width:180px}.ss-field--time{max-width:140px}.ss-field--temp{max-width:120px}.ss-label{color:#6b7280;color:var(--ink-600);font-size:12px;font-weight:600}.ss-input{font-feature-settings:"tnum";background:#fff;background:var(--surface-raised,var(--panel));border:1px solid #e5e7eb;border:1px solid var(--ds-line);border-radius:8px;border-radius:var(--ds-radius-sm);color:#111827;color:var(--ink-900);font-size:13px;font-variant-numeric:tabular-nums;padding:8px 10px;width:100%}.ss-input:focus{border-color:color-mix(in oklab,#9ca3af 34%,#0000);border-color:var(--ds-line-strong,var(--brand-600));box-shadow:0 0 0 2px color-mix(in oklab,#6e1d85 18%,#0000);box-shadow:0 0 0 2px color-mix(in oklab,var(--brand-600) 18%,#0000);outline:none}.ss-form-actions{align-items:center;display:flex;justify-content:flex-end}.ss-empty{background:#0000;border:1px dashed #e5e7eb;border:1px dashed var(--ds-line);border-radius:10px;border-radius:var(--ds-radius);padding:28px 20px;text-align:center}.ss-empty__title{color:#1f2937;color:var(--ink-800);font-size:14px;font-weight:600;margin-bottom:4px}.ss-empty__body{color:#9ca3af;color:var(--ink-500);font-size:13px;margin:0 auto;max-width:36em}.ss-list{background:#fff;background:var(--surface-raised,var(--panel));border:1px solid #e5e7eb;border:1px solid var(--ds-line);border-radius:10px;border-radius:var(--ds-radius);display:flex;flex-direction:column;overflow:hidden}.ss-list-head,.ss-row{grid-gap:10px;align-items:center;display:grid;gap:10px;grid-template-columns:1.9fr .7fr .7fr .65fr .85fr 1.35fr auto;padding:10px 14px}.ss-list-head{background:#f3f4f6;background:var(--surface-muted,#0000);color:#9ca3af;color:var(--ink-500);font-size:11px;font-weight:600}.ss-list-head,.ss-row{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--ds-line)}.ss-row{color:#111827;color:var(--ink-900);font-size:13px}.ss-row:last-child{border-bottom:none}.ss-row__when{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;min-width:0}.ss-row__meta{color:#6b7280;color:var(--ink-600);font-weight:500;text-align:center;text-transform:capitalize}.ss-row__temp{font-feature-settings:"tnum";font-size:14px;font-variant-numeric:tabular-nums;font-weight:700}.ss-row__status,.ss-row__temp{text-align:center}.ss-status{align-items:center;background:none;border:none;color:#9ca3af;color:var(--ink-500);cursor:pointer;display:inline-flex;font:inherit;font-size:12px;font-weight:600;justify-content:center;padding:0}.ss-status--active{color:#047857;color:var(--ds-ok)}.ss-row__last{font-feature-settings:"tnum";color:#9ca3af;color:var(--ink-500);font-size:12px;font-variant-numeric:tabular-nums}.ss-row__actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.ss-btn-delete{color:#b91c1c!important;color:var(--ds-alarm)!important}@media (max-width:900px){.ss-form--daily,.ss-form--once{grid-template-columns:1fr 1fr}.ss-field--date,.ss-field--temp,.ss-field--time{max-width:none}.ss-form-actions{grid-column:1/-1;justify-content:stretch}.ss-form-actions .btn{width:100%}.ss-list-head{display:none}.ss-row{gap:8px 12px;grid-template-columns:1fr 1fr}.ss-row__when{grid-column:1/-1}.ss-row__actions{grid-column:1/-1;justify-content:flex-start}}.summary-content-panel{display:flex;flex-direction:column;gap:0;min-width:0;width:100%}.theme-dark .summary-content-panel{background:#0000;border-radius:0;box-shadow:none;padding:0}.summary-stat{align-items:stretch;background:#fff;background:var(--surface-raised);border:1px solid #e5e7eb;border:1px solid var(--ds-line);border-radius:10px;border-radius:var(--ds-radius);box-shadow:none;flex-direction:column;padding:12px 14px;text-align:left;transition:border-color .15s ease}.summary-stat,.summary-stat-body{display:flex;justify-content:flex-start;min-width:0}.summary-stat-body{align-items:center;flex-direction:row;gap:12px;width:100%}.summary-stat-main{align-items:flex-start;display:flex;flex:1 1;flex-direction:column;min-width:0}.summary-stat-label{color:#6b7280;color:var(--ink-600);font-size:11px;font-weight:600;letter-spacing:.02em;line-height:1.35;margin:0 0 4px;max-width:100%}.summary-stat-value{font-feature-settings:"tnum";color:#111827;color:var(--ink-900);font-family:Manrope,Inter,system-ui,sans-serif;font-family:var(--font-display);font-size:1.5rem;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.02em;line-height:1.05;margin:0}.summary-stat-hint{color:#9ca3af;color:var(--ink-500);display:block;font-size:11px;font-weight:500;line-height:1.35;margin-top:auto;padding-top:6px}.summary-stat-value-row{align-items:baseline;display:flex;flex-wrap:wrap;gap:8px;min-width:0}.summary-stat-pct{font-feature-settings:"tnum";color:#9ca3af;color:var(--ink-500);font-size:11px;font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:.01em;line-height:1;white-space:nowrap}.summary-stat--avgv .summary-stat-value,.summary-stat--neutral .summary-stat-value{color:#111827;color:var(--ink-900)}.summary-stat--online .summary-stat-value{color:#047857;color:var(--ds-ok)}.summary-stat--battery:not(.summary-stat--quiet) .summary-stat-value,.summary-stat--stale:not(.summary-stat--quiet) .summary-stat-value{color:#b45309;color:var(--ds-warn)}.summary-stat--alert:not(.summary-stat--quiet) .summary-stat-value,.summary-stat--offline:not(.summary-stat--quiet) .summary-stat-value{color:#b91c1c;color:var(--ds-alarm)}.summary-stat--battery:not(.summary-stat--quiet),.summary-stat--stale:not(.summary-stat--quiet){box-shadow:inset 3px 0 0 #b45309;box-shadow:inset 3px 0 0 var(--ds-warn)}.summary-stat--alert:not(.summary-stat--quiet),.summary-stat--offline:not(.summary-stat--quiet){box-shadow:inset 3px 0 0 #b91c1c;box-shadow:inset 3px 0 0 var(--ds-alarm)}.summary-stat--quiet .summary-stat-value{color:#6b7280;color:var(--ink-600)}.theme-dark .summary-stat{background:color-mix(in oklab,#111827 10%,#fff);background:color-mix(in oklab,var(--ink-900) 10%,var(--panel));border-color:#e5e7eb;border-color:var(--panel-b)}.theme-dark .summary-stat-label{color:#9ca3af;color:var(--ink-500)}.theme-dark .summary-stat--avgv .summary-stat-value,.theme-dark .summary-stat--neutral .summary-stat-value{color:#111827;color:var(--ink-900)}.theme-dark .summary-stat--quiet .summary-stat-hint,.theme-dark .summary-stat--quiet .summary-stat-value{color:#9ca3af;color:var(--ink-500)}.summary-grid{grid-gap:14px 12px;display:grid;gap:14px 12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--summary-grid-min)),1fr));min-width:0;padding-bottom:24px;width:100%}@media (max-width:420px){.summary-grid{grid-template-columns:1fr}}.summary-card{--summary-ease:cubic-bezier(0.25,0.1,0.25,1);--summary-t:0.18s;-webkit-tap-highlight-color:transparent;background:#fff;background:var(--surface-raised);border:1px solid #e5e7eb;border:1px solid var(--ds-line);border-radius:10px;border-radius:var(--ds-radius);box-shadow:none;display:flex;flex-direction:column;height:auto;min-height:0;min-width:0;overflow:hidden;padding:0;position:relative;text-align:left;transition:border-color var(--summary-t) var(--summary-ease),background-color var(--summary-t) ease;-webkit-user-select:none;user-select:none;width:100%}.summary-card:hover{border-color:color-mix(in oklab,#9ca3af 34%,#0000);border-color:var(--ds-line-strong)}.summary-card--low_battery,.summary-card--normal,.summary-card--offline,.summary-card--stale:not(.summary-card--offline),.summary-card--warning{background:#fff;background:var(--surface-raised);box-shadow:none;filter:none}.summary-card--offline{background:color-mix(in oklab,#9ca3af 3%,#fff);background:color-mix(in oklab,var(--ink-500) 3%,var(--surface-raised))}.theme-dark .summary-card--offline{background:color-mix(in oklab,#111827 8%,#fff);background:color-mix(in oklab,var(--ink-900) 8%,var(--panel))}.summary-card:focus-within{z-index:1}.summary-card-main:focus-visible{outline:none}.summary-card-main:focus-visible .summary-card-inner{border-radius:10px;outline:2px solid #6e1d8573;outline-offset:2px}.summary-card-action:focus-visible{outline:2px solid #6e1d8580;outline-offset:2px}.summary-card:active{background:#f3f4f6;background:var(--surface-muted)}.summary-card-main{-webkit-tap-highlight-color:transparent;background:#0000;border:none;color:inherit;cursor:pointer;display:block;flex:0 1 auto;font:inherit;margin:0;min-width:0;padding:0;text-align:left}.summary-card-main:disabled{cursor:default}.summary-card-inner{padding:12px 14px 6px 15px}.summary-card-accent{background:#64748b;background:var(--ds-offline);height:100%;left:0;position:absolute;top:0;width:3px}.summary-card-head{align-items:center;display:flex;gap:10px;margin-bottom:12px}.summary-card-top{align-items:flex-start;display:flex;gap:10px;margin-bottom:8px}.summary-card-top .summary-card-icon{border-radius:8px;border-radius:var(--ds-radius-sm);height:34px;width:34px}.summary-card-top .summary-card-icon svg{height:18px;width:18px}.summary-card-title-block{display:flex;flex:1 1;flex-direction:column;gap:5px;min-width:0}.summary-card-type-line{align-items:baseline;display:flex;flex-wrap:wrap;font-size:11px;gap:4px 8px;line-height:1.35}.summary-card-location{color:#374151;color:var(--ink-700);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-family:var(--font-sans);font-size:12px;font-weight:500;letter-spacing:0;line-height:1.4}.summary-card-location:after{color:#9ca3af;color:var(--ink-500);content:"·";font-weight:700;margin-left:6px}.summary-card-role{color:#6b7280;color:var(--ink-600);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-family:var(--font-sans);font-weight:500}.summary-card-model-code{background:color-mix(in oklab,#9ca3af 8%,#fff);background:color-mix(in oklab,var(--ink-500) 8%,var(--panel-a));border:1px solid color-mix(in oklab,#e5e7eb 90%,#9ca3af 10%);border:1px solid color-mix(in oklab,var(--panel-b) 90%,var(--ink-500) 10%);border-radius:4px;color:#9ca3af;color:var(--ink-500);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:10px;font-weight:600;letter-spacing:.02em;padding:1px 6px}.theme-dark .summary-card-model-code{background:color-mix(in oklab,#9ca3af 15%,#fff);background:color-mix(in oklab,var(--ink-500) 15%,var(--panel));border-color:#e5e7eb;border-color:var(--panel-b);color:#9ca3af;color:var(--ink-500)}.summary-card-meta-row{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}.summary-card-last-seen-primary{color:#374151;color:var(--ink-700);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-family:var(--font-sans);font-size:12px;font-weight:500;letter-spacing:0}.summary-card-meta-row--historic .summary-card-last-seen-primary{color:#374151;color:var(--ink-700);font-size:12px;font-weight:600}.theme-dark .summary-card-meta-row--historic .summary-card-last-seen-primary{color:#cbd5e1}.summary-card-last-seen-abs{color:#6b7280;color:var(--ink-600);font-size:12px;font-weight:500;letter-spacing:0}.summary-card-last-seen-abs,.summary-status-pill{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-family:var(--font-sans)}.summary-status-pill{align-self:flex-start;border:1px solid #0000;border-radius:999px;flex-shrink:0;font-size:10px;font-weight:700;letter-spacing:.06em;line-height:1.2;max-width:42%;padding:4px 10px;text-align:center;text-transform:uppercase}.summary-status--normal{background:color-mix(in oklab,#10b981 12%,#fff);background:color-mix(in oklab,#10b981 12%,var(--panel-a));border-color:color-mix(in oklab,#10b981 28%,#0000);color:#047857}.summary-status--stale{background:color-mix(in oklab,#f59e0b 14%,#fff);background:color-mix(in oklab,#f59e0b 14%,var(--panel-a));border-color:color-mix(in oklab,#f59e0b 30%,#0000);color:#b45309}.summary-status--lowbat{background:color-mix(in oklab,#eab308 14%,#fff);background:color-mix(in oklab,#eab308 14%,var(--panel-a));border-color:color-mix(in oklab,#eab308 28%,#0000);color:#a16207}.summary-status--warning{background:color-mix(in oklab,#ef4444 12%,#fff);background:color-mix(in oklab,#ef4444 12%,var(--panel-a));border-color:color-mix(in oklab,#ef4444 25%,#0000);color:#b91c1c}.summary-status--offline{background:color-mix(in oklab,#9ca3af 15%,#fff);background:color-mix(in oklab,var(--ink-500) 15%,var(--panel-a));border-color:#e5e7eb;border-color:var(--panel-b);color:#6b7280;color:var(--ink-600)}.theme-dark .summary-status--normal{background:color-mix(in oklab,#10b981 22%,#fff);background:color-mix(in oklab,#10b981 22%,var(--panel));border-color:color-mix(in oklab,#10b981 35%,#0000);color:#6ee7b7}.theme-dark .summary-status--stale{background:color-mix(in oklab,#f59e0b 20%,#fff);background:color-mix(in oklab,#f59e0b 20%,var(--panel));border-color:color-mix(in oklab,#f59e0b 35%,#0000);color:#fcd34d}.theme-dark .summary-status--lowbat{background:color-mix(in oklab,#eab308 18%,#fff);background:color-mix(in oklab,#eab308 18%,var(--panel));border-color:color-mix(in oklab,#eab308 32%,#0000);color:#fde047}.theme-dark .summary-status--warning{background:color-mix(in oklab,#ef4444 18%,#fff);background:color-mix(in oklab,#ef4444 18%,var(--panel));border-color:color-mix(in oklab,#ef4444 32%,#0000);color:#fca5a5}.theme-dark .summary-status--offline{background:color-mix(in oklab,#9ca3af 25%,#fff);background:color-mix(in oklab,var(--ink-500) 25%,var(--panel));border-color:#e5e7eb;border-color:var(--panel-b);color:#cbd5e1}.summary-card--normal .summary-card-accent{background:#047857;background:var(--ds-ok)}.summary-card--low_battery .summary-card-accent,.summary-card--stale .summary-card-accent{background:#b45309;background:var(--ds-warn)}.summary-card--warning .summary-card-accent{background:#b91c1c;background:var(--ds-alarm)}.summary-card--offline .summary-card-accent{background:#64748b;background:var(--ds-offline)}.summary-card-icon{align-items:center;background:#f3f4f6;background:var(--surface-muted);border:1px solid #e5e7eb;border:1px solid var(--ds-line);border-radius:8px;border-radius:var(--ds-radius-sm);color:#6b7280;color:var(--ink-600);display:flex;flex-shrink:0;height:34px;justify-content:center;width:34px}.summary-card-name{line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#111827;color:var(--ink-900);display:-webkit-box;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-family:var(--font-sans);font-size:15px;font-weight:600;letter-spacing:-.01em;line-height:1.25;max-height:2.5em;overflow:hidden;text-overflow:ellipsis;word-break:break-word}.summary-card-metrics{grid-gap:6px 16px;display:grid;gap:6px 16px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:10px;min-width:0}.summary-card-metrics--historic .summary-metric-value{font-weight:600}.summary-metric--missing{opacity:.55}.summary-metric--missing .summary-metric-value{color:#9ca3af;color:var(--ink-500);font-weight:500}.summary-card--offline .summary-metric-value,.summary-card--offline .summary-metric.highlight .summary-metric-value{color:#6b7280;color:var(--ink-600);font-weight:600}.summary-card-footer{border-radius:0 0 10px 10px;border-radius:0 0 var(--ds-radius) var(--ds-radius);border-top:1px solid #e5e7eb;border-top:1px solid var(--ds-line);margin-top:auto;padding:0}.summary-card-actions{align-items:center;display:flex;flex-wrap:wrap;gap:6px 12px;justify-content:flex-start;opacity:1;padding:8px 12px 10px 15px;transform:none}.summary-card-actions:has(.summary-card-action--quick){justify-content:space-between}.summary-card-actions:has(.summary-card-action--danger){justify-content:space-between}.summary-card:focus-within .summary-card-actions,.summary-card:hover .summary-card-actions{opacity:1;transform:translateY(0)}@media (hover:none),(pointer:coarse){.summary-card-actions{opacity:1;transform:none}}.summary-card-action{-webkit-tap-highlight-color:transparent;align-items:center;background:#0000;border:none;border-radius:8px;color:#9ca3af;color:var(--ink-500);cursor:pointer;display:inline-flex;font-size:12px;font-weight:700;gap:6px;letter-spacing:.02em;margin:0;padding:7px 11px;transition:color var(--summary-t) var(--summary-ease),background var(--summary-t) var(--summary-ease),transform var(--summary-t) var(--summary-ease)}.summary-card-action--details:after{content:"→";font-size:13px;font-weight:700}.summary-card-action:focus-visible,.summary-card-action:hover{background:color-mix(in oklab,#6e1d85 9%,#0000);background:color-mix(in oklab,var(--brand-600) 9%,#0000);color:#6e1d85;color:var(--brand-600)}.summary-card-action--quick{background:color-mix(in oklab,#6e1d85 6%,#0000);background:color-mix(in oklab,var(--brand-600) 6%,#0000);color:#6e1d85;color:var(--brand-600)}.summary-card-action--quick:focus-visible,.summary-card-action--quick:hover{background:color-mix(in oklab,#6e1d85 14%,#0000);background:color-mix(in oklab,var(--brand-600) 14%,#0000);color:#5b186f;color:var(--brand-700)}.summary-card-action--danger{background:color-mix(in oklab,#ef4444 10%,#0000);color:#b91c1c}.summary-card-action--danger:focus-visible,.summary-card-action--danger:hover{background:color-mix(in oklab,#ef4444 18%,#0000);color:#991b1b}.summary-card-action--danger:disabled{cursor:not-allowed;opacity:.65}.summary-card--offline .summary-card-action{color:#6b7280;color:var(--ink-600);cursor:pointer}.summary-card--offline .summary-card-action:focus-visible,.summary-card--offline .summary-card-action:hover{background:color-mix(in oklab,#9ca3af 10%,#0000);background:color-mix(in oklab,var(--ink-500) 10%,#0000);color:#374151;color:var(--ink-700)}.summary-metric{align-items:flex-start;background:none;border:none;border-radius:0;display:flex;flex-direction:column;gap:2px;justify-content:flex-start;max-width:100%;min-width:0;overflow:hidden;padding:0}.summary-metric.highlight .summary-metric-value{color:#111827;color:var(--ink-900);font-weight:700}.summary-metric-value{font-feature-settings:"tnum";color:#111827;color:var(--ink-900);font-family:Manrope,Inter,system-ui,sans-serif;font-family:var(--font-display);font-size:15px;font-variant-numeric:tabular-nums;font-weight:700;line-height:1.15}.summary-metric-label,.summary-metric-value{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.summary-metric-label{color:#9ca3af;color:var(--ink-500);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-family:var(--font-sans);font-size:10px;font-weight:500;letter-spacing:.04em;line-height:1.2;text-transform:uppercase}.summary-metric.highlight .summary-metric-label{color:#6b7280;color:var(--ink-600)}.summary-metric.warn .summary-metric-value{color:#b45309;color:var(--ds-warn);font-weight:700}.summary-card-leak .summary-metric.alert .summary-metric-value{color:#b91c1c!important;color:var(--ds-alarm)!important;font-weight:700}.theme-dark .summary-card,.theme-dark .summary-card--low_battery,.theme-dark .summary-card--normal,.theme-dark .summary-card--stale:not(.summary-card--offline),.theme-dark .summary-card--warning{background:#fff;background:var(--panel);border:1px solid #e5e7eb;border:1px solid var(--ds-line);box-shadow:none}.theme-dark .summary-card-action{color:#9ca3af;color:var(--ink-500)}.theme-dark .summary-card-action:focus-visible,.theme-dark .summary-card-action:hover{background:color-mix(in oklab,#9f56bb 14%,#0000);background:color-mix(in oklab,var(--violet-500) 14%,#0000);color:#c07ad4;color:var(--violet-300)}.theme-dark .summary-card-action--quick{background:color-mix(in oklab,#9f56bb 12%,#0000);background:color-mix(in oklab,var(--violet-500) 12%,#0000);color:#c07ad4;color:var(--violet-300)}.theme-dark .summary-card-action--quick:focus-visible,.theme-dark .summary-card-action--quick:hover{background:color-mix(in oklab,#9f56bb 22%,#0000);background:color-mix(in oklab,var(--violet-500) 22%,#0000);color:#f5e9ff}.theme-dark .summary-card-action--danger{background:color-mix(in oklab,#ef4444 18%,#0000);color:#fca5a5}.theme-dark .summary-card-action--danger:focus-visible,.theme-dark .summary-card-action--danger:hover{background:color-mix(in oklab,#ef4444 26%,#0000);color:#fecaca}.theme-dark .summary-metric.highlight .summary-metric-value{color:#111827;color:var(--ink-900);font-weight:700}@media (max-width:400px){.summary-card-metrics{grid-template-columns:1fr}.summary-card-top{flex-wrap:wrap}.summary-status-pill{margin-top:2px;max-width:none;width:100%}}@media (max-width:340px){.summary-stats-row{grid-template-columns:1fr}}.theme-light{--ink-900:#111827;--ink-800:#1f2937;--ink-700:#374151;--ink-600:#6b7280;--ink-500:#9ca3af;--ink-400:#d1d5db;--panel:#fff;--panel-b:#e5e7eb;--surface-page:#f8fafc;--surface-raised:#fff;--surface-muted:#f3f4f6;--surface-nested:#f3f4f6;--surface-section:#eef2f7;--hairline:#e5e7eb;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 14px #0000001a;--shadow-lg:0 12px 32px #0f172a12;--card-edge:1px solid #0000000a;--shadow-card-elev:0 2px 6px #0000000f;--shadow-card-hover:0 8px 20px #00000014;--shadow-filter-bar:0 1px 3px #0000000d}.theme-light body{background:#f8fafc;background:var(--surface-page)}.theme-light .animated-background:before{background:radial-gradient(circle 800px at 20% 30%,#8b5cf659 0,#0000 70%),radial-gradient(circle 700px at 80% 70%,#a855f74d 0,#0000 70%),radial-gradient(circle 600px at 50% 50%,#6e1d8547 0,#0000 70%)}.theme-light .animated-background:after{background:radial-gradient(circle 500px at 60% 20%,#8b5cf640 0,#0000 60%),radial-gradient(circle 400px at 30% 80%,#ec489938 0,#0000 60%),radial-gradient(circle 300px at 90% 50%,#a855f72e 0,#0000 50%)}.theme-light .app-content{gap:12px;padding:40px 36px 52px}.theme-light .topbar{background:#f3f4f6;background:var(--surface-nested);border:1px solid #e5e7eb;border:1px solid var(--hairline);border-radius:16px;box-shadow:0 1px 3px #00000014;box-shadow:var(--shadow-sm);gap:18px 24px;margin-bottom:40px;padding:16px 18px}.theme-light .page,.theme-light .summary-home{background:#0000;border:none;border-radius:0;box-shadow:none;padding:0}.theme-dark .in-app-main h1,.theme-dark .page>h1,.theme-dark .summary-home-title,.theme-light .in-app-main h1,.theme-light .page>h1,.theme-light .summary-home-title{color:#111827;color:var(--ink-900)}.theme-light .summary-home-header{margin-bottom:16px}.theme-light .summary-content-panel{background:#0000;border:none;border-radius:0;box-shadow:none;gap:0;margin-top:0;padding:0}.theme-light .summary-stats-row{gap:8px;margin-bottom:16px}.theme-light .summary-content-panel .summary-grid,.theme-light .summary-content-panel .summary-grid--skeleton{gap:12px}@media (max-width:768px){.theme-light .app-content{gap:12px;padding:16px 16px 24px}.theme-light .topbar{border-radius:18px;margin-bottom:20px;padding:14px}.theme-light .page,.theme-light .summary-home{border-radius:0;padding:0}.theme-light .summary-content-panel{gap:0;padding:0}.theme-light .summary-stats-row{margin-bottom:28px}.theme-light .summary-toolbar{background:#0000;border:none;border-radius:0;box-shadow:none;margin-bottom:24px;padding:0}}.theme-light .auth-home-link,.theme-light .btn.ghost,.theme-light .desktop-nav .nav-link,.theme-light .device-select select,.theme-light .summary-filter-input,.theme-light .summary-filter-select,.theme-light .tab,.theme-light select:not(.device-select select){background:#fff!important;background:var(--surface-raised)!important;border:1px solid #e5e7eb;border:1px solid var(--panel-b);box-shadow:none;color:#374151!important;color:var(--ink-700)!important}.theme-light .auth-home-link,.theme-light .btn,.theme-light .card,.theme-light .chart-container,.theme-light .dashboard-card,.theme-light .desktop-nav .nav-link,.theme-light .device-card,.theme-light .device-select select,.theme-light .option-btn,.theme-light .summary-card,.theme-light .summary-filter-input,.theme-light .summary-filter-select,.theme-light .summary-stat,.theme-light .tab,.theme-light .theme-toggle{transition:background .18s ease,box-shadow .18s ease,border-color .18s ease,transform .18s ease,color .18s ease}.theme-light .auth-home-link:hover,.theme-light .btn.ghost:hover,.theme-light .desktop-nav .nav-link:hover,.theme-light .device-select select:hover,.theme-light .summary-filter-input:hover,.theme-light .summary-filter-select:hover,.theme-light .tab:hover{background:#fff!important;background:var(--surface-raised)!important;border-color:color-mix(in oklab,#9ca3af 34%,#e5e7eb);border-color:color-mix(in oklab,var(--ink-500) 34%,var(--hairline));box-shadow:none;color:#111827!important;color:var(--ink-900)!important}.theme-light .tab.active{background:#6e1d85!important;background:var(--brand-600)!important;border-color:#6e1d85!important;border-color:var(--brand-600)!important;box-shadow:0 1px 2px #6e1d8538,0 2px 8px #6e1d8533;color:#fff!important;font-weight:700}.theme-light .tab.active:hover{background:#5b186f!important;background:var(--brand-700)!important;border-color:#5b186f!important;border-color:var(--brand-700)!important;box-shadow:0 4px 14px #0000001a;box-shadow:var(--shadow-md);color:#fff!important}.theme-light .tab.active:focus-visible{background:#6e1d85!important;background:var(--brand-600)!important;border-color:#6e1d85!important;border-color:var(--brand-600)!important;box-shadow:0 0 0 2px #fff,0 0 0 4px color-mix(in oklab,#6e1d85 45%,#0000);box-shadow:0 0 0 2px #fff,0 0 0 4px color-mix(in oklab,var(--brand-600) 45%,#0000);color:#fff!important}.theme-light .btn,.theme-light .option-btn{border:1px solid color-mix(in oklab,#9ca3af 34%,#0000);border:1px solid var(--ds-line-strong);box-shadow:none}.theme-light .btn.primary,.theme-light .option-btn.primary{border-color:#6e1d85;border-color:var(--brand-600);box-shadow:none}.theme-light .card,.theme-light .chart-container,.theme-light .sched-table .sched-item,.theme-light .stbl-wrap{background:#fff;background:var(--surface-raised);border:1px solid #e5e7eb;border:1px solid var(--ds-line);box-shadow:none}.theme-light .card:hover,.theme-light .chart-container:hover,.theme-light .dashboard-card:hover,.theme-light .device-card:hover,.theme-light .summary-stat:hover{border-color:color-mix(in oklab,#9ca3af 34%,#0000);border-color:var(--ds-line-strong)}.theme-light .modal{border:1px solid color-mix(in oklab,#9ca3af 34%,#0000);border:1px solid var(--ds-line-strong);border-radius:10px;border-radius:var(--ds-radius);box-shadow:0 8px 24px #0f172a1a;padding:18px 20px}.theme-light .modal .modal-input,.theme-light .modal input[type=number],.theme-light .modal input[type=text]{background:#f3f4f6;background:var(--surface-muted);border:1px solid #e5e7eb;border:1px solid var(--hairline);box-shadow:none;width:120px}.theme-light .device-select select:focus,.theme-light .modal .modal-input:focus,.theme-light .modal input:focus,.theme-light .summary-filter-input:focus,.theme-light .summary-filter-select:focus{border-color:color-mix(in oklab,#6e1d85 36%,#e5e7eb);border-color:color-mix(in oklab,var(--brand-600) 36%,var(--panel-b));box-shadow:0 0 0 2px color-mix(in oklab,#6e1d85 15%,#0000),0 1px 3px #00000014;box-shadow:0 0 0 2px color-mix(in oklab,var(--brand-600) 15%,#0000),var(--shadow-sm)}.theme-light .auth-home-link:focus-visible,.theme-light .btn:focus-visible,.theme-light .desktop-nav .nav-link:focus-visible,.theme-light .option-btn:focus-visible,.theme-light .tab:focus-visible,.theme-light .theme-toggle:focus-visible{border-color:color-mix(in oklab,#6e1d85 36%,#e5e7eb);border-color:color-mix(in oklab,var(--brand-600) 36%,var(--panel-b));box-shadow:0 0 0 2px color-mix(in oklab,#6e1d85 15%,#0000),0 1px 3px #00000014;box-shadow:0 0 0 2px color-mix(in oklab,var(--brand-600) 15%,#0000),var(--shadow-sm);outline:none}.theme-light .summary-toolbar{margin-bottom:14px}.theme-light .summary-toolbar-row{gap:10px 14px}.theme-light .dc-line,.theme-light .muted,.theme-light .stat-sub,.theme-light .stbl thead th,.theme-light .summary-filter-field label,.theme-light .summary-home-subtitle,.theme-light .summary-stat-label,.theme-light .summary-state-desc{color:#6b7280;color:var(--ink-600)}.theme-light .brand-text,.theme-light .dc-name,.theme-light .modal h2,.theme-light .modal-title,.theme-light .stat-value,.theme-light .summary-card-name,.theme-light .summary-home-title,.theme-light .summary-state-title{color:#111827;color:var(--ink-900)}.theme-light .summary-state{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--ds-line);border-radius:10px;border-radius:var(--ds-radius);box-shadow:none;margin:4px 0 12px;padding:14px 16px}.theme-light .summary-state--empty{background:#fff}.theme-light .summary-state--warning{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--ds-line);box-shadow:inset 3px 0 0 #b45309;box-shadow:inset 3px 0 0 var(--ds-warn)}.theme-light .summary-stat,.theme-light .summary-stat--quiet{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--ds-line);box-shadow:none;filter:none;transition:border-color .15s ease}.theme-light .summary-stat--battery:not(.summary-stat--quiet),.theme-light .summary-stat--stale:not(.summary-stat--quiet){box-shadow:inset 3px 0 0 #b45309;box-shadow:inset 3px 0 0 var(--ds-warn)}.theme-light .summary-stat--alert:not(.summary-stat--quiet),.theme-light .summary-stat--offline:not(.summary-stat--quiet){box-shadow:inset 3px 0 0 #b91c1c;box-shadow:inset 3px 0 0 var(--ds-alarm)}.theme-light .summary-stat-label{color:#6b7280;color:var(--ink-600)}.theme-light .summary-stat-hint{color:#9ca3af;color:var(--ink-500)}.theme-light .summary-section-label{border-top-color:#e5e7eb;border-top-color:var(--panel-b);padding:12px 0 4px}.theme-light .summary-section-label-prefix{color:#9ca3af;color:var(--ink-500)}.theme-light .summary-section-label-text{color:#374151;color:var(--ink-700)}.theme-light .summary-card,.theme-light .summary-card--low_battery,.theme-light .summary-card--normal,.theme-light .summary-card--stale:not(.summary-card--offline),.theme-light .summary-card--warning{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--ds-line);box-shadow:none;filter:none;height:auto;min-height:0;opacity:1;transition:border-color .15s ease,background-color .15s ease}.theme-light .summary-card--offline{background:#f3f4f6;background:var(--surface-muted)}.theme-light .summary-card--offline:hover,.theme-light .summary-card:hover{border-color:color-mix(in oklab,#9ca3af 34%,#0000);border-color:var(--ds-line-strong);box-shadow:none;transform:none}.theme-light .summary-card-inner{padding:14px 16px 10px 17px}.theme-light .summary-card-icon{background:#f3f4f6;background:var(--surface-muted);border:1px solid #e5e7eb;border:1px solid var(--ds-line);color:#6b7280;color:var(--ink-600)}.theme-light .summary-card-location{color:#374151;color:var(--ink-700)}.theme-light .summary-card-last-seen-abs,.theme-light .summary-card-last-seen-primary,.theme-light .summary-card-meta-row--offline .summary-card-last-seen-primary,.theme-light .summary-card-role{color:#9ca3af;color:var(--ink-500)}.theme-light .summary-card-model-code{background:#f3f4f6;background:var(--surface-muted);border:1px solid #e5e7eb;border:1px solid var(--panel-b);color:#6b7280;color:var(--ink-600)}.theme-light .dc-badge,.theme-light .status-chip,.theme-light .summary-status-pill{background:#f3f4f6;background:var(--surface-muted);border:1px solid #e5e7eb;border:1px solid var(--hairline);box-shadow:none;color:#6b7280;color:var(--ink-600)}.theme-light .summary-status--normal{background:#f0fdf4;border-color:#dcfce7;color:#047857}.theme-light .summary-status--lowbat,.theme-light .summary-status--stale{background:#fff7ed;border-color:#fed7aa;color:#b45309}.theme-light .summary-status--warning{background:#fff7f7;border-color:#fecdd3;color:#b91c1c}.theme-light .summary-status--offline{background:#f3f4f6;background:var(--surface-nested);border-color:#e5e7eb;border-color:var(--hairline);color:#6b7280;color:var(--ink-600)}.theme-light .dc-badge.thermostat{background:#f5f3ff;border-color:#ddd6fe;color:#5b21b6}.theme-light .dc-badge.tbhh100,.theme-light .dc-badge.water{background:#ecfdf5;border-color:#bbf7d0;color:#047857}.theme-light .dc-badge.air{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.theme-light .dc-badge.saya{background:#fff7ed;border-color:#fed7aa;color:#b45309}.theme-light .dc-badge.leak{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.theme-light .summary-card-metrics{gap:6px 16px;margin-bottom:12px}.theme-light .summary-metric-value{color:#111827;color:var(--ink-900);font-weight:700}.theme-light .summary-metric-label{color:#9ca3af;color:var(--ink-500)}.theme-light .summary-card--offline .summary-metric-value,.theme-light .summary-card--offline .summary-metric.highlight .summary-metric-value{color:#374151;color:var(--ink-700)}.theme-light .summary-metric.warn .summary-metric-value{color:#b45309;color:var(--ds-warn)}.live-status-pill{align-items:center;background:none;border:none;border-radius:0;display:inline-flex;font-size:12px;font-weight:500;gap:6px;padding:0;transition:color .18s ease}.live-status-dot{background:currentColor;border-radius:50%;flex:0 0 auto;height:7px;width:7px}.live-status-pill--open{color:#047857;color:var(--ds-ok)}.live-status-pill--connecting{color:#b45309;color:var(--ds-warn)}.live-status-pill--offline{color:#64748b;color:var(--ds-offline)}.theme-light .summary-card-action{color:#6b7280;color:var(--ink-600)}.theme-light .summary-card-action:focus-visible,.theme-light .summary-card-action:hover{background:#f3f4f6;background:var(--surface-muted);color:#1f2937;color:var(--ink-800)}.theme-light .summary-card-action--quick{background:#f3f4f6;background:var(--surface-muted);color:#1f2937;color:var(--ink-800)}.theme-light .summary-card-action--quick:focus-visible,.theme-light .summary-card-action--quick:hover{background:#f3f4f6;background:var(--surface-nested);color:#111827;color:var(--ink-900)}.theme-light .summary-card-action--danger{background:color-mix(in oklab,#ef4444 10%,#0000);color:#b91c1c}.theme-light .summary-card-action--danger:focus-visible,.theme-light .summary-card-action--danger:hover{background:color-mix(in oklab,#ef4444 18%,#0000);color:#991b1b}.theme-light .summary-card-actions{opacity:1;padding:8px 12px 10px 15px}.theme-light .stbl-wrap{border:1px solid #e5e7eb;border:1px solid var(--ds-line);box-shadow:none}.theme-light .stbl thead th{background:#f3f4f6;background:var(--surface-muted);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--ds-line);color:#9ca3af;color:var(--ink-500)}.theme-light .stbl tbody td{border-top:1px solid #e5e7eb;border-top:1px solid var(--ds-line);color:#1f2937;color:var(--ink-800)}.theme-light .stbl tbody tr:hover,.theme-light .stbl.striped tbody tr:hover,.theme-light .stbl.striped tbody tr:nth-child(2n){background:#f3f4f6;background:var(--surface-muted)}.theme-light .pill-ok{box-shadow:inset 3px 0 0 #047857;box-shadow:inset 3px 0 0 var(--ds-ok);color:#047857;color:var(--ds-ok)}.theme-light .pill-muted,.theme-light .pill-ok{background:#fff;background:var(--surface-raised,var(--panel));border-color:#e5e7eb;border-color:var(--ds-line)}.theme-light .pill-muted{box-shadow:inset 3px 0 0 #64748b;box-shadow:inset 3px 0 0 var(--ds-offline);color:#9ca3af;color:var(--ink-500)}.theme-light .segmented,.theme-light .segmented-grid,.theme-light .segslider{background:#f3f4f6;background:var(--surface-muted);border-color:#e5e7eb;border-color:var(--ds-line);box-shadow:none}.theme-light .segmented .seg:hover{background:#0000}.theme-light .segmented .seg.active{background:#6e1d85;background:var(--brand-600);box-shadow:none;color:#fff}.theme-dark{--ink-900:#e5e7eb;--ink-700:#cbd5e1;--ink-600:#a8b5c6;--ink-500:#94a3b8;--panel:#0b1324;--panel-b:#1f2a44;--bg-soft:#0a1020;--shadow:0 10px 25px #00000059,0 3px 8px #00000047;--panel-accent-weak:#1b2740;--panel-a:var(--panel);--accent-500:var(--brand-600);--accent-400:var(--brand-500);--ds-line:var(--panel-b);--ds-line-strong:color-mix(in oklab,var(--ink-500) 45%,#0000);--ds-ok:#6ee7b7;--ds-warn:#fcd34d;--ds-alarm:#fca5a5;--ds-offline:#94a3b8}.theme-dark body{background:radial-gradient(1200px 600px at 20% -10%,#0f172a 0,#0b1324 60%,#0a1020 100%),linear-gradient(#0a1020,#0a1020)}html.theme-dark body.iot-dashboard-shell-active{background:#1f1f24}.theme-dark .animated-background:before{background:radial-gradient(circle 800px at 20% 30%,#8b5cf659 0,#0000 70%),radial-gradient(circle 700px at 80% 70%,#a855f74d 0,#0000 70%),radial-gradient(circle 600px at 50% 50%,#6e1d8547 0,#0000 70%)}.theme-dark .animated-background:after{background:radial-gradient(circle 500px at 60% 20%,#8b5cf640 0,#0000 60%),radial-gradient(circle 400px at 30% 80%,#ec489938 0,#0000 60%),radial-gradient(circle 300px at 90% 50%,#a855f72e 0,#0000 50%)}.theme-dark .tab{background:#fff;background:var(--panel);border-color:#e5e7eb;border-color:var(--panel-b)}.theme-dark .tab.active{background:#6e1d85;background:var(--brand-600);border-color:#6e1d85;border-color:var(--brand-600)}.theme-dark .dashboard-card,.theme-dark .device-card{background:#fff;background:var(--panel);border:1px solid #e5e7eb;border:1px solid var(--ds-line)}.theme-dark .chart-container{background:#fff;background:var(--panel);border-color:#e5e7eb;border-color:var(--ds-line)}.theme-toggle{align-items:center;background:#fff;background:var(--panel,#fff);border:1px solid #e5e7eb;border:1px solid var(--panel-b,#e5e7eb);border-radius:8px;box-shadow:none;color:#374151;color:var(--ink-700,#334155);cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:6px 12px;transition:all .2s}.theme-toggle:hover{background:#fff;background:var(--panel-a,#f8fafc);border-color:#e5e7eb;border-color:var(--panel-b,#e5e7eb);transform:none}.theme-toggle:active{transform:scale(.98)}.theme-icon{font-size:16px;line-height:1;opacity:.8}.theme-label{font-size:13px;opacity:.9}.cards-container .card h3{align-items:center;display:flex;gap:8px}.micro{margin-top:8px}.row.spread{align-items:center;display:flex;justify-content:space-between}.thermo-track{background:color-mix(in oklab,#9ca3af 18%,#fff);background:color-mix(in oklab,var(--ink-500) 18%,var(--panel));border-radius:2px;height:6px;overflow:hidden;position:relative}.thermo-fill{background:#6e1d85;background:var(--brand-600);border-radius:2px;inset:0 auto 0 0;position:absolute;width:0}.theme-dark .thermo-fill{background:#9d5bbf;background:var(--brand-500)}.gbar-track{background:#f3f4f6;background:var(--surface-nested,var(--surface-muted));border:1px solid #e5e7eb;border:1px solid var(--ds-line);border-radius:2px;height:10px;overflow:hidden;position:relative}.gbar-track.with-bands{display:flex}.gbar-band{height:100%}.gbar-band.band-ok{background:#f3f4f6;background:var(--surface-nested,var(--surface-muted))}.gbar-band.band-warm{background:color-mix(in oklab,#b45309 20%,#fff);background:color-mix(in oklab,var(--ds-warn) 20%,var(--panel))}.gbar-band.band-hot{background:color-mix(in oklab,#b91c1c 16%,#fff);background:color-mix(in oklab,var(--ds-alarm) 16%,var(--panel))}.gbar-band.band-danger{background:color-mix(in oklab,#b91c1c 28%,#fff);background:color-mix(in oklab,var(--ds-alarm) 28%,var(--panel))}.gbar-fill{background:#6e1d85;background:var(--brand-600);border-right:1px solid #0206171f;bottom:0;left:0;position:absolute;top:0}.gbar-marker{background:#0f172a;bottom:-3px;opacity:.7;position:absolute;top:-3px;width:2px}.gbar-row{color:#6b7280;color:var(--ink-600);font-size:12px;justify-content:space-between;margin-top:6px}.gbar-val{font-feature-settings:"tnum";color:#111827;color:var(--ink-900);font-variant-numeric:tabular-nums;font-weight:700}.gbar-ends{gap:8px}.segbar{grid-gap:6px;display:grid;grid-template-columns:repeat(auto-fit,minmax(60px,1fr));margin-top:6px}.segbar-item{background:#fff;background:var(--surface-raised);border:1px solid #e5e7eb;border:1px solid var(--ds-line);border-radius:8px;border-radius:var(--ds-radius-sm);color:#374151;color:var(--ink-700);font-size:12px;font-weight:500;padding:6px 8px;text-align:center}.theme-dark .segbar-item{background:#fff;background:var(--panel);color:#9ca3af;color:var(--ink-500)}.segbar-item.active{background:#6e1d85;background:var(--brand-600);border-color:#6e1d85;border-color:var(--brand-600);color:#fff}.stagedots{align-items:center;display:flex;gap:6px;margin-top:8px}.stagedots .dot{border:1px solid #e5e7eb;border:1px solid var(--ds-line);border-radius:999px}.spark{display:block;margin-top:6px}.spark-line{fill:none;stroke:#6e1d85;stroke:var(--brand-600);stroke-width:2}.spark-dot{fill:#6e1d85;fill:var(--brand-600)}.spark-empty{color:#9ca3af;color:var(--ink-500);font-size:12px;margin-top:6px}.theme-dark .gbar-track{background:color-mix(in oklab,#111827 20%,#fff);background:color-mix(in oklab,var(--ink-900) 20%,var(--panel));border-color:#e5e7eb;border-color:var(--ds-line)}.theme-dark .gbar-fill{background:#6e1d85;background:var(--brand-600)}.theme-dark .gbar-marker{background:#e2e8f0}.theme-dark .gbar-band.band-ok{background:color-mix(in oklab,#111827 20%,#fff);background:color-mix(in oklab,var(--ink-900) 20%,var(--panel))}.theme-dark .gbar-band.band-warm{background:color-mix(in oklab,#b45309 30%,#fff);background:color-mix(in oklab,var(--ds-warn) 30%,var(--panel))}.theme-dark .gbar-band.band-hot{background:color-mix(in oklab,#b91c1c 26%,#fff);background:color-mix(in oklab,var(--ds-alarm) 26%,var(--panel))}.theme-dark .gbar-band.band-danger{background:color-mix(in oklab,#b91c1c 40%,#fff);background:color-mix(in oklab,var(--ds-alarm) 40%,var(--panel))}.gbar-row{align-items:center}.gbar-ends,.gbar-row{display:flex;gap:10px}.gbar-ends{margin-left:auto}.segbar-item{cursor:default;opacity:.95}.stagedots .dot{background:color-mix(in oklab,#9ca3af 28%,#fff);background:color-mix(in oklab,var(--ink-500) 28%,var(--panel));border-radius:50%;display:inline-block;height:8px;margin-right:6px;width:8px}.stagedots .dot.on{background:#6e1d85;background:var(--brand-600)}.segbar{align-items:center;display:inline-flex;gap:6px;-webkit-user-select:none;user-select:none;white-space:nowrap}.segbar .segbar-item{background:#fff;background:var(--panel);border:1px solid #e5e7eb;border:1px solid var(--ds-line);border-radius:8px;border-radius:var(--ds-radius-sm);color:#111827;color:var(--ink-900);font-size:12px;font-weight:500;opacity:.95;padding:6px 10px}.segbar .segbar-item.active{background:#6e1d85;background:var(--brand-600);border-color:#6e1d85;border-color:var(--brand-600);color:#fff}.segbar-xs .segbar-item{font-size:11px;padding:3px 8px}.segbar-sm .segbar-item{font-size:12px;padding:5px 9px}.segbar-md .segbar-item{font-size:13px;padding:7px 12px}.theme-dark .segbar .segbar-item{background:#0b1220;border-color:#334155;color:#e2e8f0}.theme-dark .segbar .segbar-item.active{background:#6e1d85;background:var(--brand-600);border-color:#6e1d85;border-color:var(--brand-600);color:#fff}.device-card .segbar{margin-top:8px}.segslider{--count:3;--seg-pad:3px;--seg-h:32px;grid-gap:0;align-items:stretch;background:#f3f4f6;background:var(--surface-muted);border:1px solid #e5e7eb;border:1px solid var(--ds-line);border-radius:8px;border-radius:var(--ds-radius-sm);box-shadow:none;display:grid;gap:0;grid-template-columns:repeat(var(--count),1fr);height:var(--seg-h);isolation:isolate;justify-items:stretch;overflow:hidden;padding:var(--seg-pad);position:relative;-webkit-user-select:none;user-select:none;width:100%}.segslider-xs{--seg-h:26px;--seg-pad:2px}.segslider-sm{--seg-h:32px}.segslider-md{--seg-h:40px}.segslider-thumb{background:#6e1d85;background:var(--brand-600);border-radius:6px;border-radius:calc(var(--ds-radius-sm) - 2px);bottom:var(--seg-pad);box-shadow:none;left:var(--seg-pad);pointer-events:none;position:absolute;top:var(--seg-pad);transition:left .2s ease,width .2s ease;width:0;z-index:0}.segslider-item{align-items:center;background:#0000;border:0;color:#374151;color:var(--ink-700);cursor:default;display:flex;font-size:13px;font-weight:600;height:100%;justify-content:center;line-height:1;min-width:0;overflow:hidden;padding:0 6px;position:relative;text-overflow:ellipsis;white-space:nowrap;z-index:1}.segslider.is-interactive .segslider-item,.segslider[role=tablist] .segslider-item{cursor:pointer}.segslider-xs .segslider-item{font-size:11px}.segslider-md .segslider-item{font-size:14px}.segslider-item.active{color:#fff}.segslider-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.segslider.ghost{background:#f3f4f6;background:var(--surface-muted);border-color:#e5e7eb;border-color:var(--ds-line);box-shadow:none}.device-card .segslider{padding:var(--seg-pad)}.pillgroup{display:inline-flex;flex-wrap:wrap;gap:8px;-webkit-user-select:none;user-select:none}.pillgroup-sm .pill{font-size:12px;padding:6px 12px}.pillgroup-md .pill{font-size:13px;padding:8px 14px}.pill,.pillgroup .pill{align-items:center;background:#fff;background:var(--surface-raised,var(--panel));border:1px solid #e5e7eb;border:1px solid var(--ds-line);border-radius:8px;border-radius:var(--ds-radius-sm);box-shadow:none;color:#374151;color:var(--ink-700);cursor:pointer;display:inline-flex;font-weight:600;justify-content:center;line-height:1}.pill.active,.pillgroup .pill.active{background:#6e1d85;background:var(--brand-600);border-color:#6e1d85;border-color:var(--brand-600);box-shadow:none;color:#fff}.pillgroup.ghost .pill{background:#f3f4f6;background:var(--surface-muted);border-color:#e5e7eb;border-color:var(--ds-line);box-shadow:none;color:#374151;color:var(--ink-700)}.spark-line{stroke:currentColor}.band-legend{align-items:center;color:#6b7280;color:var(--ink-600);display:inline-flex;font-size:12px;gap:12px;margin-top:6px}.band-legend .ldot{border:1px solid color-mix(in oklab,#9ca3af 34%,#0000);border:1px solid var(--ds-line-strong);border-radius:50%;display:inline-block;height:8px;margin-right:6px;width:8px}.band-legend .ldot-ok{background:#f3f4f6;background:var(--surface-nested,var(--surface-muted))}.band-legend .ldot-warm{background:color-mix(in oklab,#b45309 20%,#fff);background:color-mix(in oklab,var(--ds-warn) 20%,var(--panel))}.band-legend .ldot-hot{background:color-mix(in oklab,#b91c1c 16%,#fff);background:color-mix(in oklab,var(--ds-alarm) 16%,var(--panel))}.theme-dark .band-legend .ldot-ok{background:color-mix(in oklab,#111827 20%,#fff);background:color-mix(in oklab,var(--ink-900) 20%,var(--panel))}.theme-dark .band-legend .ldot-warm{background:color-mix(in oklab,#b45309 30%,#fff);background:color-mix(in oklab,var(--ds-warn) 30%,var(--panel))}.theme-dark .band-legend .ldot-hot{background:color-mix(in oklab,#b91c1c 26%,#fff);background:color-mix(in oklab,var(--ds-alarm) 26%,var(--panel))}.segmented{--seg-h:32px;--n:3;align-items:center;background:#f3f4f6;background:var(--surface-muted);border:1px solid #e5e7eb;border:1px solid var(--ds-line);border-radius:8px;border-radius:var(--ds-radius-sm);box-shadow:none;display:grid;grid-template-columns:repeat(var(--n),1fr);height:var(--seg-h);overflow:hidden;padding:3px;position:relative}.seg-md{--seg-h:40px}.segmented .seg-thumb{align-self:stretch;background:#6e1d85;background:var(--brand-600);border-radius:6px;border-radius:calc(var(--ds-radius-sm) - 2px);box-shadow:none;grid-row:1;transition:grid-column 0s,transform .2s ease}.segmented .seg{align-items:center;background:#0000;border:0;color:#374151;color:var(--ink-700);cursor:default;display:flex;font:inherit;font-weight:600;height:100%;justify-content:center;line-height:1;min-width:0;overflow:hidden;padding:0 10px;position:relative;z-index:1}.segmented.interactive .seg{cursor:pointer}.segmented .seg.active .seg-label{color:#fff;font-weight:600}.segmented .seg-label{display:inline-block;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.seg-sm .seg-label{font-size:13px}.segmented .seg-divider{background:#e5e7eb;background:var(--ds-line);bottom:24%;opacity:.7;pointer-events:none;position:absolute;right:0;top:24%;width:1px}@media (max-width:520px){.segmented{padding:2px}.segmented .seg{font-size:13px;padding:0 8px}}.segmented-grid{--seg-h:32px;align-items:center;background:#f3f4f6;background:var(--surface-muted);border:1px solid #e5e7eb;border:1px solid var(--ds-line);border-radius:8px;border-radius:var(--ds-radius-sm);box-shadow:none;display:grid;grid-template-columns:repeat(var(--count),1fr);height:var(--seg-h);overflow:hidden;padding:3px;position:relative;width:100%}.segmented-grid.seg-md{--seg-h:40px}.segmented-grid .seggrid-thumb{align-self:stretch;background:#6e1d85;background:var(--brand-600);border-radius:6px;border-radius:calc(var(--ds-radius-sm) - 2px);box-shadow:none;grid-row:1;transition:grid-column 0s,transform .2s ease}.segmented-grid .segitem{align-items:center;background:#0000;border:0;color:#374151;color:var(--ink-700);cursor:default;display:flex;font:inherit;font-weight:600;height:100%;justify-content:center;line-height:1;min-width:0;padding:0 10px;position:relative;z-index:1}.segmented-grid.interactive .segitem{cursor:pointer}.segmented-grid .segitem-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.segmented-grid .segitem.active .segitem-label{color:#fff;font-weight:600}.segmented-grid .segitem-divider{background:#e5e7eb;background:var(--ds-line);bottom:24%;opacity:.7;pointer-events:none;position:absolute;right:0;top:24%;width:1px}@media (max-width:520px){.segmented-grid{padding:2px}.segmented-grid .segitem{font-size:13px;padding:0 8px}}.trend-delta{border:none;border-radius:0;box-shadow:none;display:inline-block;font-size:12px;font-weight:600;letter-spacing:.01em;padding:2px 0}.trend-delta,.trend-delta.stable{background:#0000;color:#374151;color:var(--ink-700)}.trend-delta.warming{background:#0000;border:none;color:#b91c1c;color:var(--ds-alarm)}.trend-delta.cooling{background:#0000;border:none;color:#5b186f;color:var(--thermo-cool,var(--brand-700))}.theme-dark .trend-delta.stable{background:#0000;border:none;color:#374151;color:var(--ink-700)}.theme-dark .trend-delta.warming{background:#0000;border:none;color:#b91c1c;color:var(--ds-alarm)}.theme-dark .trend-delta.cooling{background:#0000;border:none;color:#c084d6;color:var(--thermo-cool,var(--brand-400))}.scheduler{grid-gap:12px;display:grid;gap:12px}.scheduler-form{grid-gap:12px;align-items:end;display:grid;gap:12px;grid-template-columns:1.5fr repeat(3,1fr) auto}.scheduler-field .modal-input{width:100%}.scheduler-actions{align-items:center;display:flex}@media (max-width:1100px){.scheduler-form{grid-template-columns:1fr 1fr 1fr}.scheduler-actions{grid-column:1/-1}}.scheduler-list{grid-gap:8px;display:grid;gap:8px;list-style:none;margin:0;padding:0}.scheduler-item{grid-gap:12px;align-items:center;background:#ffffff8c;background:var(--card-subtle,#ffffff8c);border:1px solid #0000000f;border-radius:12px;box-shadow:0 1px 2px #0000000a;display:grid;gap:12px;grid-template-columns:2fr 1fr auto 1.5fr auto;padding:10px 12px}.scheduler-item .si-last-text,.scheduler-item .si-temp-text,.scheduler-item .si-when-text{font-weight:600}.scheduler-item .si-actions{display:flex;gap:8px;justify-content:flex-end}@media (max-width:900px){.scheduler-item{gap:6px;grid-template-columns:1fr}.scheduler-item .si-actions{justify-content:flex-start}}.sched{grid-gap:12px;display:grid;gap:12px}.sched-toolbar{grid-gap:12px;align-items:end;display:grid;gap:12px;grid-template-columns:1.6fr 1fr .9fr .7fr auto}.sched-field{grid-gap:6px;display:grid;gap:6px}.sched-actions{display:flex;justify-content:flex-end}.w-sm{max-width:180px}.w-xs{max-width:140px}.w-xxs{max-width:120px}.sched-head{font-size:12px;opacity:.65;padding:0 6px}.st-row{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:2.2fr .9fr .7fr .9fr 1.5fr auto}.st-item{background:#ffffff8c;background:var(--card-subtle,#ffffff8c);border:1px solid #0000000f;border-radius:12px;box-shadow:0 1px 2px #0000000a;padding:10px 12px}.st-actions{display:flex;gap:8px;justify-content:flex-end}.cap{text-transform:capitalize}.strong{font-weight:600}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:12px}@media (max-width:1100px){.sched-toolbar{grid-template-columns:1fr 1fr 1fr}.sched-actions{grid-column:1/-1}.st-row{grid-template-columns:1fr}.st-actions{justify-content:flex-start}}.sched{gap:10px}.sched-toolbar{gap:10px;margin-top:4px}.sched-head{opacity:.7;padding:4px 6px 6px}.st-item{background:#fff;background:var(--panel);border:1px solid #e5e7eb;border:1px solid var(--panel-b);border-radius:14px;border-radius:var(--radius);box-shadow:0 1px 3px #00000014;box-shadow:var(--shadow);padding:8px 10px}.st-row{gap:10px;grid-template-columns:1.6fr .8fr .6fr .9fr 1.2fr auto}.st-actions .btn.sm{font-weight:700}.btn.ghost.sm{background:#fff;border-color:#cbd5e1;color:#374151;color:var(--ink-700)}.theme-dark .btn.ghost.sm{background:#0b1220;border-color:#334155;color:#cbd5e1}.chip{border:1px solid #e5e7eb;border:1px solid var(--ds-line);box-shadow:none}.chip,.chip-ok{background:#fff;background:var(--surface-raised,var(--panel));color:#374151;color:var(--ink-700)}.chip-ok{border-color:#e5e7eb;border-color:var(--ds-line);box-shadow:inset 3px 0 0 #64748b;box-shadow:inset 3px 0 0 var(--ds-offline)}.sched-table{--sched-cols:1.7fr .9fr .6fr .9fr 1.3fr auto}.sched-head,.st-row{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:var(--sched-cols)}.sched-head,.st-item{padding:10px 12px}.sched-head{background:#0000;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--panel-b);margin-top:2px}.sched-list{grid-gap:8px;display:grid;gap:8px;list-style:none;margin:0;padding:0}.sched-table{--sched-cols:1.8fr 0.9fr 0.7fr 1.0fr 1.6fr auto}.sched-table .sched-head,.sched-table .sched-row{grid-gap:12px;align-items:center;box-sizing:border-box;display:grid;gap:12px;grid-template-columns:var(--sched-cols)}.sched-table .sched-head,.sched-table .sched-item{padding:10px 12px}.sched-table .sched-head{background:#0000;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--panel-b);margin-top:2px}.sched-table .sched-item{background:#fff;background:var(--panel);border:1px solid #e5e7eb;border:1px solid var(--panel-b);border-radius:14px;border-radius:var(--radius);box-shadow:0 1px 3px #00000014;box-shadow:var(--shadow)}.sched-table .sched-list{grid-gap:8px;display:grid;gap:8px;list-style:none;margin:0;padding:0}.sched-table{--sched-cols:1.9fr .9fr .6fr 1.0fr 1.6fr auto}.sched-table .sched-row>:nth-child(2),.sched-table .sched-row>:nth-child(3),.sched-table .sched-row>:nth-child(4){text-align:center}.sched-table .sched-row>:nth-child(5){font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sched-table .sched-row>:nth-child(6){justify-self:end}.stbl-wrap{background:#fff;background:var(--surface-raised,var(--panel));border:1px solid #e5e7eb;border:1px solid var(--ds-line);border-radius:10px;border-radius:var(--ds-radius);box-shadow:none;overflow:auto}.stbl{border-collapse:initial;border-spacing:0;font-size:.95rem;table-layout:auto;width:100%}.stbl thead th{background:#f3f4f6;background:var(--surface-muted,var(--panel));border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--ds-line);color:#9ca3af;color:var(--ink-500);font-weight:600;padding:12px 14px;position:sticky;text-align:left;top:0;white-space:nowrap;z-index:2}.stbl tbody td{border-top:1px solid #e5e7eb;border-top:1px solid var(--ds-line);color:#1f2937;color:var(--ink-800,var(--ink-900));padding:12px 14px;vertical-align:middle}.stbl tbody tr:hover{background:#f3f4f6;background:var(--surface-muted)}.stbl .center{text-align:center}.stbl .right{text-align:right}.stbl .nowrap{white-space:nowrap}.stbl .mono{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pill{align-items:center;background:#fff;background:var(--surface-raised,var(--panel));border:1px solid #e5e7eb;border:1px solid var(--ds-line);border-radius:8px;border-radius:var(--ds-radius-sm);box-shadow:none;cursor:pointer;display:inline-flex;font-size:.75rem;font-weight:600;padding:4px 10px}.pill-ok{box-shadow:inset 3px 0 0 #047857;box-shadow:inset 3px 0 0 var(--ds-ok);color:#047857;color:var(--ds-ok)}.pill-muted,.pill-ok{background:#fff;background:var(--surface-raised,var(--panel));border-color:#e5e7eb;border-color:var(--ds-line)}.pill-muted{box-shadow:inset 3px 0 0 #64748b;box-shadow:inset 3px 0 0 var(--ds-offline);color:#9ca3af;color:var(--ink-500)}:root{--muted:#64748b;--text:var(--ink-900)}.muted{color:#64748b;color:var(--muted);font-size:.9em}.sr-only{clip:rect(0,0,1px,1px);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;white-space:nowrap;width:1px}.stbl.striped tbody tr:nth-child(2n){background:#f3f4f6;background:var(--surface-muted)}.stbl.striped tbody tr:hover{background:color-mix(in oklab,#9ca3af 8%,#fff);background:color-mix(in oklab,var(--ink-500) 8%,var(--surface-raised,var(--panel)))}.stbl.compact tbody td,.stbl.compact thead th{padding:10px 12px}.theme-dark .stbl thead th{background:#f3f4f6;background:var(--surface-muted,var(--panel));color:#9ca3af;color:var(--ink-500)}.theme-dark .stbl tbody td,.theme-dark .stbl thead th{border-color:#e5e7eb;border-color:var(--ds-line)}.theme-dark .stbl tbody tr:hover{background:color-mix(in oklab,#9ca3af 10%,#fff);background:color-mix(in oklab,var(--ink-500) 10%,var(--panel))}:root{--violet-300:#c07ad4;--violet-400:#b468cd;--violet-500:#9f56bb;--violet-600:#6e1d85}.theme-dark{--ink-900:#eef2f8;--ink-700:#cdd5e4;--ink-600:#b4bed1;--ink-500:#9aa5bb;--panel:#0f1320;--panel-b:#282e47;--bg-soft:#0a0d18;--surface-page:#0a0d18;--surface-raised:#171c2e;--surface-muted:#ffffff0f;--hairline:#ffffff17;--panel-accent-weak:#151a2d;--text:var(--ink-900);--muted:var(--ink-600);--accent-500:var(--violet-400);--accent-400:var(--violet-500);--on-accent:#fff}html.theme-dark{color-scheme:dark}html.theme-light{color-scheme:light}.theme-dark body{background:radial-gradient(1200px 600px at 18% -12%,#1a1530 0,#101429 60%,#0a0d18 100%),linear-gradient(#0a0d18,#0a0d18)}.theme-dark .btn,.theme-dark .option-btn{background:#fff;background:var(--panel);border:1px solid color-mix(in oklab,#9ca3af 34%,#0000);border:1px solid var(--ds-line-strong);box-shadow:none;color:#111827;color:var(--ink-900)}.theme-dark .btn.primary,.theme-dark .option-btn.primary{background:#9f56bb;background:var(--violet-500);border-color:#9f56bb;border-color:var(--violet-500);box-shadow:none}.theme-dark .btn.primary:hover{background:#b468cd;background:var(--violet-400)}.theme-dark .btn.ghost,.theme-dark .btn.ghost.sm{background:#0f1320;box-shadow:none;color:#e6ebf5}.theme-dark .btn.ghost:hover{background:#141a2f}.theme-dark .tab{background:#ffffff0f;border:none;color:#111827;color:var(--ink-900)}.theme-dark .tab.active{background:#9f56bb;background:var(--violet-500);color:#fff}.theme-dark .chip,.theme-dark .chip-ok{background:#fff;background:var(--surface-raised,var(--panel));border-color:#e5e7eb;border-color:var(--ds-line);color:#374151;color:var(--ink-700)}.theme-dark .modal-overlay{background:#020617a8}.theme-dark .modal{background:#fff;background:var(--panel);border-color:#e5e7eb;border-color:var(--panel-b);color:#111827;color:var(--ink-900)}.theme-dark .modal .modal-input,.theme-dark .modal input{background:#000;border-color:#2c3452;color:#fff}.theme-dark .modal .modal-input:focus,.theme-dark .modal input:focus{border-color:#9f56bb;border-color:var(--violet-500);box-shadow:0 0 0 2px #6e1d8538}.theme-dark .modal input[type=number]{appearance:textfield;-moz-appearance:textfield}.theme-dark .modal input[type=number]::-webkit-inner-spin-button,.theme-dark .modal input[type=number]::-webkit-outer-spin-button{appearance:none!important;display:none!important}.theme-dark .modal h2,.theme-dark .modal-title{color:#fff;font-weight:600}.theme-dark .segmented,.theme-dark .segmented-grid,.theme-dark .segslider{background:#f3f4f6;background:var(--surface-muted);border-color:#e5e7eb;border-color:var(--ds-line);box-shadow:none}.theme-dark .seg-thumb,.theme-dark .seggrid-thumb,.theme-dark .segslider-thumb{background:#6e1d85;background:var(--brand-600);box-shadow:none}.theme-dark .seg .seg-label,.theme-dark .segitem,.theme-dark .segslider-item{color:#374151;color:var(--ink-700)}.theme-dark .segmented .seg.active .seg-label,.theme-dark .segmented-grid .segitem.active .segitem-label,.theme-dark .segslider-item.active{color:#fff}.theme-dark .gbar-track,.theme-dark .thermo-track{background:#19213a;border-color:#2f385b}.theme-dark .gbar-fill,.theme-dark .thermo-fill{background:#b468cd;background:var(--violet-400)}.theme-dark .spark-dot,.theme-dark .spark-line{stroke:#b468cd;stroke:var(--violet-400);fill:#b468cd;fill:var(--violet-400)}.theme-dark .stagedots .dot.on{background:#9f56bb;background:var(--violet-500)}.theme-dark .chart-container,.theme-dark .st-item,.theme-dark .stbl-wrap{background:#fff;background:var(--surface-raised,var(--panel));border:1px solid #e5e7eb;border:1px solid var(--ds-line);box-shadow:none}.theme-dark .stbl tbody tr:hover,.theme-dark .stbl.striped tbody tr:nth-child(2n){background:#f3f4f6;background:var(--surface-muted)}.theme-dark .pill-ok{box-shadow:inset 3px 0 0 #047857;box-shadow:inset 3px 0 0 var(--ds-ok);color:#047857;color:var(--ds-ok)}.theme-dark .pill-muted,.theme-dark .pill-ok{background:#fff;background:var(--surface-raised,var(--panel));border-color:#e5e7eb;border-color:var(--ds-line)}.theme-dark .pill-muted{box-shadow:inset 3px 0 0 #64748b;box-shadow:inset 3px 0 0 var(--ds-offline);color:#9ca3af;color:var(--ink-500)}.theme-dark .logo-dot{background:#9f56bb;background:var(--violet-500);box-shadow:0 0 0 2px #6e1d852e}.topbar .brand .home-btn{align-items:center;background:#fff;background:var(--panel);border:1px solid #e5e7eb;border:1px solid var(--panel-b);border-radius:999px;display:inline-flex;font-size:14px;gap:8px;height:32px;margin-right:10px;padding:0 10px}.topbar .brand .home-btn .home-icon{display:inline-block}.topbar .brand .home-btn .home-label{line-height:1}.sidebar{background:#fff;background:var(--panel);border-right:1px solid #e5e7eb;border-right:1px solid var(--panel-b);display:flex;flex-direction:column;flex-shrink:0;min-height:100vh;position:sticky;top:0;width:256px;z-index:10}@media (min-width:769px){.sidebar{display:flex!important;left:auto!important;position:sticky!important}.sidebar-toggle{display:none!important}}.sidebar-overlay{display:none!important}.sidebar-header{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--panel-b);display:flex;justify-content:center;padding:20px 16px}.sidebar-logo{height:64px;object-fit:contain;width:auto}.sidebar-brand{color:#111827;color:var(--ink-900);font-size:20px;font-weight:700;letter-spacing:-.02em}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:4px;overflow-y:auto;padding:12px}.sidebar-item-wrapper{position:relative}.sidebar-item-line{background:#e5e7eb;background:var(--panel-b);height:1px;left:0;opacity:.8;position:absolute;right:0}.sidebar-item-line-top{top:-1px}.sidebar-item-line-bottom{bottom:-1px}.sidebar-item-button{align-items:center;background:#0000!important;border:none!important;border-radius:8px;box-shadow:none!important;color:#374151!important;color:var(--ink-700)!important;cursor:pointer;display:flex!important;font-size:15px!important;font-weight:500;gap:12px;justify-content:flex-start!important;padding:10px 12px!important;position:relative;text-align:left;transition:all .15s ease;width:100%!important}.sidebar-item-button:hover{background:#f3f4f6!important;background:var(--bg-soft)!important;color:#111827!important;color:var(--ink-900)!important;transform:none!important}.sidebar-item-button.sidebar-item-active{color:#111827!important;color:var(--ink-900)!important;font-weight:600}.sidebar-item-indicator{background:#6e1d85;background:var(--brand-600);border-radius:0 2px 2px 0;height:24px;left:0;position:absolute;top:50%;transform:translateY(-50%);width:2px}.sidebar-item-icon{align-items:center;display:inline-flex;flex-shrink:0;height:20px;justify-content:center;width:20px}.sidebar-item-icon svg{height:100%;width:100%}.sidebar-item-label{flex:1 1}.sidebar-footer{border-top:1px solid #e5e7eb;border-top:1px solid var(--panel-b);color:#9ca3af;color:var(--ink-500);font-size:12px;margin-top:auto;padding:16px;text-align:center}.theme-dark .sidebar{background:#fff;background:var(--panel);border-right-color:#e5e7eb;border-right-color:var(--panel-b)}.theme-dark .sidebar-item-button{color:var(--ink-300)!important}.theme-dark .sidebar-item-button:hover{background:#6e1d851a!important;color:var(--ink-100)!important}.theme-dark .sidebar-item-button.sidebar-item-active{color:var(--ink-100)!important}.theme-dark .sidebar-footer{color:#d1d5db;color:var(--ink-400)}.theme-dark .sidebar-brand{color:var(--ink-100)}.user-info-display{align-items:center;background:#fff;background:var(--panel);border:1px solid #e5e7eb;border:1px solid var(--panel-b);border-radius:8px;display:flex;font-size:13px;gap:10px;margin-left:12px;padding:6px 12px}.user-info-username{color:#111827;color:var(--ink-900);font-weight:500;letter-spacing:-.01em}.user-info-role{border-radius:6px;font-size:11px;font-weight:600;letter-spacing:.02em;padding:3px 8px;text-transform:capitalize;white-space:nowrap}.user-info-role-owner{background:linear-gradient(135deg,#9d5bbf,#6e1d85);background:linear-gradient(135deg,var(--brand-500),var(--brand-600));box-shadow:0 1px 3px #6e1d854d;color:#fff}.user-info-role-admin{background:linear-gradient(135deg,#c084d6,#9d5bbf);background:linear-gradient(135deg,var(--brand-400),var(--brand-500));box-shadow:0 1px 3px #9d5bbf4d;color:#fff}.user-info-role-viewer{background:#e5e7eb;background:var(--panel-b);border:1px solid #e5e7eb;border:1px solid var(--panel-b);color:#374151;color:var(--ink-700)}.theme-dark .user-info-role-owner{background:linear-gradient(135deg,#9d5bbf,#6e1d85);background:linear-gradient(135deg,var(--brand-500),var(--brand-600));box-shadow:0 1px 3px #6e1d8580;color:#fff}.theme-dark .user-info-role-admin{background:linear-gradient(135deg,#c084d6,#9d5bbf);background:linear-gradient(135deg,var(--brand-400),var(--brand-500));box-shadow:0 1px 3px #9d5bbf80;color:#fff}.theme-dark .user-info-role-viewer{background:#e5e7eb;background:var(--panel-b);border:1px solid #e5e7eb;border:1px solid var(--panel-b);color:#6b7280;color:var(--ink-600)}@keyframes user-role-l5-pulse{0%,to{box-shadow:0 0 6px #c084fc8c,0 0 14px #a855f773,0 0 28px #7c3aed40,inset 0 1px 0 #ffffff38;filter:brightness(1)}50%{box-shadow:0 0 10px #e9d5ffa6,0 0 22px #c084fc8c,0 0 40px #8b5cf659,inset 0 1px 0 #ffffff4d;filter:brightness(1.06)}}.user-info-role-level-5.user-info-role-admin{animation:user-role-l5-pulse 2.8s ease-in-out infinite;background:linear-gradient(145deg,#e9d5ff,#c084fc 18%,#a855f7 50%,#7c3aed 82%,#5b21b6);border:1px solid #ffffff59;border-radius:999px;color:#faf5ff;font-size:11px;font-weight:700;letter-spacing:.04em;padding:4px 10px;position:relative;text-shadow:0 0 8px #ffffff73,0 1px 2px #5b21b680;text-transform:none}.theme-dark .user-info-role-level-5.user-info-role-admin{background:linear-gradient(145deg,#ddd6fe,#a78bfa 15%,#8b5cf6 45%,#7c3aed 75%,#4c1d95);border-color:#fff3;color:#fdf4ff;text-shadow:0 0 10px #fae8ff80,0 1px 3px #312e81cc}@media (prefers-reduced-motion:reduce){.user-info-role-level-5.user-info-role-admin{animation:none;box-shadow:0 0 10px #c084fc80,0 0 22px #7c3aed59,inset 0 1px 0 #fff3}}.lazy-image{display:block;height:auto;max-width:100%}.lazy-image-loaded{opacity:1}.lazy-image-error{filter:grayscale(100%);opacity:.5}@media print{@page{size:A4 landscape;margin:1cm}[onClick],[onKeyDown],[onTouchEnd],[onclick],[role=button],[style*="cursor: pointer"],[style*="cursor:pointer"],[tabIndex],a[href],body [onClick],body [onKeyDown],body [onTouchEnd],body [onclick],body [role=button],body [tabIndex],body a[href],body button,body input,body select,body textarea,button,button *,html body [onClick],html body [onKeyDown],html body [onTouchEnd],html body [onclick],html body [role=button],html body [tabIndex],html body a[href],html body button,html body input,html body select,html body textarea,input,input *,select,select *,textarea{background:#0000!important;border:none!important;display:none!important;font-size:0!important;height:0!important;left:-9999px!important;line-height:0!important;margin:0!important;max-height:0!important;max-width:0!important;opacity:0!important;overflow:hidden!important;padding:0!important;position:absolute!important;top:-9999px!important;visibility:hidden!important;width:0!important}.date-picker,.device-select,.export-button,.no-print,.no-print *,.print-button,.pull-to-refresh-indicator,.sched,.sched-field,.sched-toolbar,.scheduler,.scheduler *,.scheduler-actions,.scheduler-field,.scheduler-form,.scheduler-item,.scheduler-list,.sidebar,.sidebar-toggle,.tabs,.topbar,[class*=SetpointScheduler],[class*=btn],[class*=button],[class*=export],[class*=legend]:not([class*=recharts-legend]),[class*=refresh],[class*=scheduler],[class*=sidebar],[class*=toggle],div[style*="background: var(--panel-a"],div[style*="background: var(--panel-a"][style*="borderRadius: 8px"],div[style*="background: var(--panel-a"][style*="padding: 4px"],div[style*="display: flex"][style*="gap: 4px"][style*=background],div[style*="display: flex"][style*=gap],div[style*="var(--panel-a"]{display:none!important;height:0!important;margin:0!important;opacity:0!important;overflow:hidden!important;padding:0!important;visibility:hidden!important;width:0!important}.app-content{margin:0!important;max-width:100%!important;padding:0!important;width:100%!important}.app{background:#fff!important}.animated-background{display:none!important}*{box-shadow:none!important;text-shadow:none!important}.app,.app-content,body,div:not([class*=recharts]):not(svg):not([class*=chart]):not([class*=Card]){background:#fff!important;color:#000!important}.chart-container,.dashboard-card,.device-card,[class*=Card],[class*=chart]{background:#fff!important;border:1px solid #ddd!important;box-shadow:none!important;break-inside:avoid;color:#000!important;margin-bottom:15px!important;page-break-inside:avoid}[class*=recharts-cartesian-axis],[class*=recharts-cartesian-grid],[class*=recharts-legend],[class*=recharts-surface],[class*=recharts-wrapper],[class*=recharts],[class*=recharts] *,svg{background:#0000!important;color:#000!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}svg{display:block!important;height:auto!important;max-width:100%!important;min-height:400px!important;opacity:1!important;page-break-inside:avoid;visibility:visible!important;width:100%!important}svg,svg circle,svg line,svg path,svg polygon,svg polyline,svg rect,svg text{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}svg circle,svg line,svg path,svg polygon,svg polyline,svg rect,svg text{fill:inherit!important;stroke:inherit!important}[class*=ResponsiveContainer],[class*=recharts-wrapper],[style*=ResponsiveContainer],div[style*="position: relative"][style*=height]{display:block!important;height:auto!important;max-height:none!important;min-height:400px!important;opacity:1!important;page-break-inside:avoid;position:static!important;visibility:visible!important;width:100%!important}.print-chart-container,div[style*="position: relative"][style*="width: 100%"]{display:block!important;height:auto!important;max-height:none!important;min-height:500px!important;opacity:1!important;page-break-inside:avoid;position:static!important;visibility:visible!important}.print-chart-container,.print-chart-container *{display:block!important;opacity:1!important;visibility:visible!important}.print-chart-container [class*=ResponsiveContainer],.print-chart-container [class*=recharts],.print-chart-container svg{display:block!important;height:auto!important;min-height:500px!important;opacity:1!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;visibility:visible!important;width:100%!important}.print-chart-container:empty:after{color:#666!important;content:"Chart data not available for print"!important;display:block!important;font-style:italic!important;padding:20px!important;text-align:center!important}[style*="display: flex"]{display:block!important}[style*="flexDirection: row"]{flex-direction:column!important}[style*="gap:"]{gap:0!important}h1,h2,h3,h4,h5,h6{color:#000!important;margin-bottom:5px!important;margin-top:10px!important;page-break-after:avoid}.print-break{page-break-after:always}.print-avoid-break{page-break-inside:avoid}#root,body,html{background:#fff!important;color:#000!important;margin:0!important;padding:0!important}nav[aria-label=Breadcrumb]{color:#000!important;display:block!important;font-size:11pt;margin-bottom:10px}table{border-collapse:collapse;page-break-inside:avoid;width:100%}table td,table th{border:1px solid #000!important;color:#000!important;padding:4px!important}[aria-label*=help],[class*=help],[class*=tooltip],[title]{display:none!important}[style*=currentDate],[style*=formatDisplayDate]{background:#0000!important;color:#000!important}[style*="position: absolute"]:not([style*="Date Display"]){position:static!important}.gauge-svg,.humidity-gauge,.stagedots,.stagedots *,.stagedots .dot,[class*=GaugeBar],[class*=HumidityGauge],[class*=SegmentedSlider],[class*=StageDots],[class*=gauge],[class*=micro],[class*=segmented],[class*=slider],[class*=stage-dots],[class*=stagedots],[role=checkbox],[role=radio],[role=slider],button[role=button]:not(.print-keep),div[class*=dot],div[style*="border-radius: 50%"],div[style*="borderRadius: 50%"],div[style*=background][style*=border][style*=border-radius],div[style*=background][style*=border][style*=borderRadius],div[style*=width][style*=height][style*=borderRadius],input[type=checkbox],input[type=radio],input[type=range],span[class*=dot],svg circle:not([class*=recharts]):not([class*=chart]),svg ellipse:not([class*=recharts]):not([class*=chart]){display:none!important;height:0!important;margin:0!important;opacity:0!important;overflow:hidden!important;padding:0!important;visibility:hidden!important;width:0!important}.dashboard-card>div:has(circle),.dashboard-card>div:has(div[style*="borderRadius: 50%"]),.dashboard-card>div:has(ellipse),.dashboard-card>div[style*="alignItems: center"][style*=paddingTop],.dashboard-card>div[style*="display: flex"][style*="justifyContent: center"],.dashboard-card>div[style*=marginTop][style*=auto],.dashboard-card>div[style*=paddingTop][style*="4px"]{display:none!important}.dashboard-card:has(.scheduler),.dashboard-card:has([class*=scheduler]),.sched,.sched-field,.sched-toolbar,.scheduler,.scheduler *,.scheduler-actions,.scheduler-field,.scheduler-form,.scheduler-item,.scheduler-list,.si-actions,.si-last,.si-status,.si-temp,.si-when,[aria-label*=Delete],[aria-label*=Run],[aria-label*=schedule],[class*=SetpointScheduler],[class*=scheduler],div:has(button:contains("Add schedule")),div:has(button:contains("Delete")),div:has(button:contains("Run now")){display:none!important;height:0!important;margin:0!important;opacity:0!important;overflow:hidden!important;padding:0!important;visibility:hidden!important;width:0!important}[style*=z-index],[style*=zIndex]{z-index:auto!important}}.theme-dark .app-content{gap:12px;padding:40px 36px 52px}.theme-dark .topbar{background:#fff;background:var(--panel);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--panel-b);border-radius:16px;box-shadow:0 1px 2px #0000003d;gap:18px 24px;margin-bottom:40px;padding:16px 18px}.theme-dark .summary-toolbar-row{gap:10px 14px}.theme-dark .summary-stats-row{gap:8px;margin-bottom:16px}.theme-dark .summary-stat:hover{border-color:color-mix(in oklab,#9ca3af 34%,#0000);border-color:var(--ds-line-strong)}.theme-dark .summary-section-label{padding:12px 0 4px}.theme-dark .chart-container:hover,.theme-dark .dashboard-card:hover,.theme-dark .device-card:hover{border-color:color-mix(in oklab,#9ca3af 34%,#0000);border-color:var(--ds-line-strong)}.theme-dark .summary-card{height:auto;min-height:0}.theme-dark .summary-card--normal:hover,.theme-dark .summary-card--offline:hover,.theme-dark .summary-card:hover{border-color:color-mix(in oklab,#9ca3af 34%,#0000);border-color:var(--ds-line-strong)}.theme-dark .summary-card-inner{padding:14px 16px 10px 17px}.theme-dark .summary-card-actions{opacity:1;padding:8px 12px 10px 15px}.theme-dark .summary-card-metrics{gap:6px 16px;margin-bottom:12px}.theme-dark .summary-card--offline .summary-metric.highlight .summary-metric-value,.theme-dark .summary-metric-value{font-weight:600}.theme-dark .summary-home-header{margin-bottom:16px}.theme-dark .summary-toolbar{margin-bottom:14px}.theme-dark .summary-card-footer{border-top-color:#e5e7eb;border-top-color:var(--panel-b)}.dragino-dashboard-shell{margin-bottom:4px}.dragino-dashboard-mode-toggle{align-items:center;background:linear-gradient(135deg,color-mix(in oklab,#6e1d85 12%,#fff),color-mix(in oklab,#9d5bbf 8%,#fff));background:linear-gradient(135deg,color-mix(in oklab,var(--accent-500) 12%,var(--panel-a)),color-mix(in oklab,var(--brand-500,#8b5cf6) 8%,var(--panel-a)));border:1px solid color-mix(in oklab,#6e1d85 28%,#e5e7eb);border:1px solid color-mix(in oklab,var(--accent-500) 28%,var(--panel-b));border-radius:12px;box-shadow:0 1px 3px #00000014;box-shadow:var(--elev-1,0 1px 2px #02061712);display:flex;flex-wrap:wrap;gap:12px 16px;justify-content:space-between;margin-bottom:18px;padding:12px 16px}.dragino-dashboard-mode-toggle-heading{color:#1f2937;color:var(--ink-800);font-size:14px;font-weight:800;letter-spacing:-.02em}.dragino-dashboard-mode-toggle-inner{flex:0 1 auto;max-width:280px;min-width:min(240px,100%)}.dragino-dashboard-mode-toggle-slider{width:100%}.theme-dark .dragino-dashboard-mode-toggle-heading{color:var(--ink-100)}.dragino-simple-dashboard .dragino-simple-lead{color:#6b7280;color:var(--ink-600);font-size:14px;line-height:1.45;margin-bottom:12px}.dragino-simple-status-row{align-items:center;color:#6b7280;color:var(--ink-600);display:flex;flex-wrap:wrap;font-size:13px;gap:8px;margin-bottom:12px}.dragino-simple-status-text{font-weight:500}.dragino-simple-meta-sep{opacity:.45}.dragino-simple-stale{color:#d97706;font-weight:600}.dragino-simple-period{color:#9ca3af;color:var(--ink-500);font-size:13px}.dragino-simple-controls-bar{align-items:center;display:flex;flex-wrap:wrap;gap:12px 16px;justify-content:space-between;margin-bottom:16px}.dragino-simple-controls-range{flex:1 1 auto;max-width:720px;min-width:min(280px,100%)}.dragino-simple-controls-range .dragino-simple-segmented{width:100%}.dragino-simple-controls-source{align-items:center;display:flex;flex:0 0 auto;flex-wrap:wrap;gap:8px}.dragino-simple-controls-source-label{color:#9ca3af;color:var(--ink-500);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.dragino-simple-controls-source .dragino-simple-data-seg{width:118px}.dragino-simple-demo-badge{background:color-mix(in oklab,#6e1d85 14%,#0000);background:color-mix(in oklab,var(--accent-500) 14%,#0000);border:1px solid color-mix(in oklab,#6e1d85 35%,#0000);border:1px solid color-mix(in oklab,var(--accent-500) 35%,#0000);border-radius:999px;color:#7c3aed;color:var(--accent-600,#7c3aed);display:inline-block;font-size:12px;font-weight:700;padding:5px 12px}.theme-dark .dragino-simple-demo-badge{background:color-mix(in oklab,#6e1d85 22%,#0000);background:color-mix(in oklab,var(--accent-500) 22%,#0000);color:#c4b5fd}.dragino-simple-insights{margin-bottom:16px}.dragino-simple-insights-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(5,minmax(0,1fr))}@media (max-width:1200px){.dragino-simple-insights-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:720px){.dragino-simple-insights-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:380px){.dragino-simple-insights-grid{grid-template-columns:1fr}}.dragino-simple-insight-card{background:#fff;background:var(--panel);border:1px solid #e5e7eb;border:1px solid var(--panel-b);border-radius:12px;box-shadow:0 1px 3px #00000014;box-shadow:var(--elev-1,0 1px 2px #0206170f);padding:12px 14px;transition:border-color .15s ease,box-shadow .15s ease}.dragino-simple-insight-card--active{border-color:color-mix(in oklab,#6e1d85 48%,#e5e7eb);border-color:color-mix(in oklab,var(--accent-500,#8b5cf6) 48%,var(--panel-b));box-shadow:0 0 0 1px color-mix(in oklab,#6e1d85 28%,#0000),0 1px 3px #00000014;box-shadow:0 0 0 1px color-mix(in oklab,var(--accent-500,#8b5cf6) 28%,#0000),var(--elev-1,0 1px 2px #0206170f)}.dragino-simple-insight-title{color:#9ca3af;color:var(--ink-500);font-size:11px;font-weight:700;letter-spacing:.04em;margin-bottom:6px;text-transform:uppercase}.dragino-simple-insight-value{font-feature-settings:"tnum";color:#111827;color:var(--ink-900);font-size:clamp(17px,1.65vw,21px);font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:-.02em;line-height:1.25;word-break:break-word}.theme-dark .dragino-simple-insight-value{color:var(--ink-100)}.dragino-simple-chart-card{background:#fff;background:var(--panel);border:1px solid #e5e7eb;border:1px solid var(--panel-b);border-radius:12px;min-height:360px;padding:16px}.dragino-simple-chart-empty,.dragino-simple-chart-loading{align-items:center;color:#6b7280;color:var(--ink-600);display:flex;font-size:14px;justify-content:center;min-height:280px;padding:24px;text-align:center}.dragino-simple-footnote{color:#9ca3af;color:var(--ink-500);font-size:12px;line-height:1.45;margin-top:14px;max-width:720px}.iot-dashboard-shell{--brand-600:#301d5c;--brand-700:#241647}.iot-dashboard-shell .in-app-logo-block{background:#fff;border:1px solid var(--in-app-border);border-radius:8px;height:48px;width:152px}.iot-dashboard-shell .in-app-logo-block img{max-height:42px;max-width:42px}.iot-dashboard-shell .in-app-main{background:#f8fafc;background:var(--surface-page);min-width:0;padding:28px 30px 44px}.theme-dark .iot-dashboard-shell.in-app-shell{--app-bg:var(--surface-page);background:#f8fafc;background:var(--surface-page)}.theme-dark .iot-dashboard-shell .in-app-body,.theme-dark .iot-dashboard-shell .in-app-main{background:#f8fafc;background:var(--surface-page);color:#111827;color:var(--ink-900)}.in-app-shell.dark .dashboard-card,.in-app-shell.dark .device-card,.in-app-shell.is-dark .dashboard-card,.in-app-shell.is-dark .device-card,.in-app-shell[data-theme=dark] .dashboard-card,.in-app-shell[data-theme=dark] .device-card{background:var(--app-dark-card-bg);border-color:var(--app-border);color:var(--app-dark-card-text)}.theme-dark .in-app-shell .dashboard-card,.theme-dark .in-app-shell .device-card{background:#fff;background:var(--panel);border-color:#e5e7eb;border-color:var(--panel-b);color:#111827;color:var(--ink-900)}.iot-dashboard-shell .in-app-search input{border-color:#301d5c5c}.iot-dashboard-shell .in-app-alert-link{color:#0b3c60}.iot-dashboard-shell .in-app-profile-menu{min-width:260px}.iot-dashboard-shell .in-app-profile-menu-item.disabled{background:#f3f8f5;color:#0b3c60;cursor:default;opacity:1}.iot-dashboard-shell .in-app-profile-menu-item.disabled:hover{background:#f3f8f5}.iot-dashboard-shell .in-app-profile-menu-item.danger{color:#b91c1c}.summary-home-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;margin-bottom:2px}.summary-building-select{margin-left:0}.summary-building-select select{border:1px solid #301d5c29;box-shadow:none;min-width:180px}.summary-building-select select:focus{box-shadow:0 0 0 2px #301d5c2e}.logs-page{color:#111827;color:var(--ink-900)}.logs-page .muted,.logs-page code{color:#374151;color:var(--ink-700)}.logs-page input,.logs-page select{background:#fff;background:var(--surface-raised);border-color:#e5e7eb;border-color:var(--panel-b);color:#111827;color:var(--ink-900)}.logs-card,.logs-page button,.logs-table,.logs-table-wrap{color:#111827;color:var(--ink-900)}.logs-table thead th{background:#f3f4f6;background:var(--surface-muted);color:#374151;color:var(--ink-700);font-weight:800}.logs-table tbody td{color:#111827;color:var(--ink-900)}.logs-row--error{color:#7f1d1d}.logs-row--warn{color:#78350f}.theme-light .logs-table thead th{background:#f3f4f6;background:var(--surface-muted);color:#374151;color:var(--ink-700)}.theme-dark .logs-card,.theme-dark .logs-page,.theme-dark .logs-table,.theme-dark .logs-table-wrap{color:#111827;color:var(--ink-900)}.theme-dark .logs-page .muted,.theme-dark .logs-page code,.theme-dark .logs-table thead th{color:#6b7280;color:var(--ink-600)}.theme-dark .logs-page input,.theme-dark .logs-page select{background:#fff;background:var(--surface-raised);border-color:#e5e7eb;border-color:var(--panel-b);color:#111827;color:var(--ink-900)}.theme-dark .logs-page button{color:#111827;color:var(--ink-900)}.theme-dark .logs-table thead th{background:#f3f4f6;background:var(--surface-muted)}.theme-dark .logs-table tbody td{color:#111827;color:var(--ink-900)}.theme-dark .logs-row--error{color:#fecaca}.theme-dark .logs-row--warn{color:#fde68a}@media (max-width:768px){.iot-dashboard-shell .in-app-main{padding:18px 14px 34px}.summary-home-title-row{align-items:flex-start}.summary-building-select,.summary-building-select select{width:100%}}.summary-card-meta-primary{align-items:baseline;display:flex;flex-wrap:wrap;font-size:12px;gap:4px 8px;line-height:1.35;min-height:1.35em}.summary-card-meta-line{color:#374151;color:var(--ink-700);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-family:var(--font-sans);font-size:12px;font-weight:500;line-height:1.4;min-width:0}.summary-card-readings-label{color:#6b7280;color:var(--ink-600);font-size:11px;font-weight:600;letter-spacing:.03em;margin:0 0 6px;text-transform:uppercase}.summary-status-stack{align-items:center;display:flex;flex-wrap:wrap;gap:4px 14px;margin:0 0 8px;min-width:0}.summary-cond-badge,.summary-conn-badge{align-items:center;background:none;border:none;display:inline-flex;font-size:12px;font-weight:600;gap:5px;line-height:1.3;padding:0;white-space:nowrap}.summary-cond-badge--historic{color:#9ca3af;color:var(--ink-500);font-weight:500}.summary-cond--normal,.summary-conn--online{color:#047857;color:var(--ds-ok)}.summary-conn--stale{color:#b45309;color:var(--ds-warn)}.summary-cond--critical,.summary-cond--warning{color:#b91c1c;color:var(--ds-alarm)}.summary-cond--unknown,.summary-conn--offline{color:#6b7280;color:var(--ink-600)}.summary-cond-badge--historic.summary-cond--critical,.summary-cond-badge--historic.summary-cond--normal,.summary-cond-badge--historic.summary-cond--warning{color:#9ca3af;color:var(--ink-500)}.theme-dark .summary-card-meta-line{color:#cbd5e1}.theme-dark .summary-toolbar-count{color:#94a3b8}.summary-card-top-actions{align-self:flex-start;flex-shrink:0;margin-left:auto}.summary-card-action--details{color:#374151;color:var(--ink-700)}.device-card-menu{position:relative}.device-card-menu-trigger{align-items:center;background:#0000;border:none;border-radius:8px;color:#6b7280;color:var(--ink-600);cursor:pointer;display:inline-flex;height:36px;justify-content:center;padding:0;transition:background .15s ease,color .15s ease;width:36px}.device-card-menu-trigger:hover{background:color-mix(in oklab,#9ca3af 12%,#0000);background:color-mix(in oklab,var(--ink-500) 12%,#0000);color:#111827;color:var(--ink-900)}.device-card-menu-trigger:focus-visible{outline:2px solid #6e1d8580;outline-offset:2px}.device-card-menu-trigger:active{background:color-mix(in oklab,#9ca3af 18%,#0000);background:color-mix(in oklab,var(--ink-500) 18%,#0000)}.device-card-menu-trigger:disabled{cursor:not-allowed;opacity:.5}.device-card-menu-list{background:#fff;background:var(--surface-raised,#fff);border:1px solid color-mix(in oklab,#9ca3af 28%,#e5e7eb);border:1px solid color-mix(in oklab,var(--ink-500) 28%,var(--panel-b,#e2e8f0));border-radius:10px;box-shadow:0 16px 40px #00000047,0 4px 12px #00000029;list-style:none;margin:0;min-width:200px;padding:6px;position:fixed;z-index:16000}.theme-dark .device-card-menu-list{background:color-mix(in oklab,#fff 92%,#fff 8%);background:color-mix(in oklab,var(--panel) 92%,#fff 8%);border-color:color-mix(in oklab,#fff 18%,#e5e7eb);border-color:color-mix(in oklab,#fff 18%,var(--panel-b));box-shadow:0 18px 44px #00000073,0 0 0 1px #ffffff0a}.device-card-menu-item{background:#0000;border:none;border-radius:7px;color:#111827;color:var(--ink-900,#0f172a);cursor:pointer;display:block;font-size:13px;font-weight:600;opacity:1;padding:10px 12px;text-align:left;width:100%}.theme-dark .device-card-menu-item{color:#f1f5f9}.device-card-menu-item:focus-visible,.device-card-menu-item:hover{background:color-mix(in oklab,#6e1d85 12%,#0000);background:color-mix(in oklab,var(--brand-600) 12%,#0000);color:#111827;color:var(--ink-900,#0f172a);outline:none}.theme-dark .device-card-menu-item:focus-visible,.theme-dark .device-card-menu-item:hover{color:#fff}.device-card-menu-item:active{background:color-mix(in oklab,#6e1d85 18%,#0000);background:color-mix(in oklab,var(--brand-600) 18%,#0000)}.device-card-menu-item--disabled,.device-card-menu-item:disabled{color:#9ca3af;color:var(--ink-500);cursor:not-allowed;opacity:.45}.theme-dark .device-card-menu-item--disabled,.theme-dark .device-card-menu-item:disabled{color:#94a3b8}.device-card-menu-item--danger{color:#dc2626}.device-card-menu-item--danger:focus-visible,.device-card-menu-item--danger:hover{background:color-mix(in oklab,#ef4444 14%,#0000);color:#b91c1c}.theme-dark .device-card-menu-item--danger{color:#f87171}.confirm-dialog-root{align-items:center;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:14000}.confirm-dialog-backdrop{background:#0f172a8c;inset:0;position:absolute}.confirm-dialog{background:#fff;background:var(--surface-raised,#fff);border:1px solid #e5e7eb;border:1px solid var(--panel-b,#e2e8f0);border-radius:14px;box-shadow:0 20px 50px #00000047;padding:20px 20px 16px;position:relative;width:min(420px,100%);z-index:1}.theme-dark .confirm-dialog{background:#fff;background:var(--panel);border-color:#e5e7eb;border-color:var(--panel-b)}.confirm-dialog-title{color:#111827;color:var(--ink-900);font-size:1.125rem;font-weight:700;margin:0 0 10px}.confirm-dialog-body{color:#374151;color:var(--ink-700);font-size:14px;line-height:1.5;margin:0 0 18px}.confirm-dialog-body p{margin:0}.confirm-dialog-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.confirm-dialog-btn{border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:700;min-height:40px;padding:8px 14px}.confirm-dialog-btn--cancel{background:color-mix(in oklab,#9ca3af 12%,#0000);background:color-mix(in oklab,var(--ink-500) 12%,#0000);color:#1f2937;color:var(--ink-800)}.confirm-dialog-btn--cancel:focus-visible,.confirm-dialog-btn--cancel:hover{background:color-mix(in oklab,#9ca3af 18%,#0000);background:color-mix(in oklab,var(--ink-500) 18%,#0000);outline:none}.confirm-dialog-btn--confirm{background:#6e1d85;background:var(--brand-600,#6e1d85);color:#fff}.confirm-dialog-btn--danger{background:#dc2626}.confirm-dialog-btn--danger:focus-visible,.confirm-dialog-btn--danger:hover{background:#b91c1c;outline:none}.confirm-dialog-btn:disabled{cursor:not-allowed;opacity:.6}.confirm-dialog-btn:focus-visible{outline:2px solid #6e1d8580;outline-offset:2px}.bc-panel--banner.bc-panel--online,.bc-panel--banner.bc-panel--warning{background:#fff;background:var(--surface-raised);border-color:#e5e7eb;border-color:var(--ds-line)}.theme-dark .bc-panel--banner.bc-panel--online,.theme-dark .bc-panel--banner.bc-panel--warning{background:#fff;background:var(--panel);border-color:#e5e7eb;border-color:var(--ds-line)}.bc-head-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.bc-head-toggle-label{color:#6b7280;color:var(--ink-600);font-size:12px;font-weight:600;white-space:nowrap}.bc-head:focus-visible{outline:2px solid #6e1d8573;outline-offset:-2px}.bc-head:hover .bc-head-toggle-label{color:#1f2937;color:var(--ink-800)}@media (max-width:640px){.bc-head-toggle-label{display:none}.summary-toolbar-meta{width:100%}.summary-toolbar-count{max-width:100%;width:auto}}.summary-card-metrics{margin-bottom:2px}.summary-card-footer{margin-top:0}.summary-card-inner{padding-bottom:2px}.summary-card-actions{padding-bottom:8px;padding-top:6px}.summary-home-subtitle{margin-bottom:0}.summary-grid{align-items:start}.summary-card,.theme-dark .summary-card,.theme-light .summary-card{height:auto!important;min-height:0!important}.loading-container{min-height:200px;padding:40px 20px}.loading-container,.loading-fullscreen{align-items:center;display:flex;flex-direction:column;justify-content:center}.loading-fullscreen{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fffffff2;bottom:0;left:0;position:fixed;right:0;top:0;z-index:9999}.theme-dark .loading-fullscreen{background:#0f172af2}.loading-inline{align-items:center;display:inline-flex;gap:8px;padding:8px 0}.spinner{display:inline-block;position:relative}.spinner-small{height:20px;width:20px}.spinner-medium{height:40px;width:40px}.spinner-large{height:60px;width:60px}.spinner-ring{animation:spin 1.2s cubic-bezier(.5,0,.5,1) infinite;border:3px solid #0000;border-radius:50%;border-top:3px solid var(--brand-600,#6e1d85);height:100%;position:absolute;width:100%}.spinner-ring:first-child{animation-delay:-.45s;border-top-color:#6e1d85;border-top-color:var(--brand-600,#6e1d85);opacity:1}.spinner-ring:nth-child(2){animation-delay:-.3s;border-top-color:#9d5bbf;border-top-color:var(--brand-500,#9d5bbf);opacity:.8}.spinner-ring:nth-child(3){animation-delay:-.15s;border-top-color:#c084d6;border-top-color:var(--brand-400,#c084d6);opacity:.6}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-message{font-size:14px;margin-top:16px;text-align:center}.loading-message,.loading-message-inline{color:#64748b;color:var(--ink-600,#64748b);font-weight:500}.loading-message-inline{font-size:13px}.theme-dark .loading-message,.theme-dark .loading-message-inline{color:#94a3b8;color:var(--ink-400,#94a3b8)}.skeleton-card{animation:skeleton-pulse 1.5s ease-in-out infinite;background:#fff;background:var(--panel,#fff);border:1px solid #e5e7eb;border:1px solid var(--panel-b,#e5e7eb);border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:20px}.theme-dark .skeleton-card{background:#0f1320;background:var(--panel,#0f1320);border-color:#282e47;border-color:var(--panel-b,#282e47)}.skeleton-line{animation:skeleton-shimmer 1.5s ease-in-out infinite;background:linear-gradient(90deg,#e5e7eb,#f8fafc 50%,#e5e7eb);background:linear-gradient(90deg,var(--panel-b,#e5e7eb) 0,var(--panel-a,#f8fafc) 50%,var(--panel-b,#e5e7eb) 100%);background-size:200% 100%;border-radius:4px;height:16px;margin-bottom:12px}.theme-dark .skeleton-line{background:linear-gradient(90deg,#1f2a44,#2a3557 50%,#1f2a44);background-size:200% 100%}.skeleton-line.short{width:60%}.skeleton-line.medium{width:80%}.skeleton-line.long{width:100%}.skeleton-title{height:24px;margin-bottom:16px;width:40%}.skeleton-value{height:32px;margin-bottom:8px;width:50%}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.95}}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:32px}@media (max-width:768px){.skeleton-grid{gap:12px;grid-template-columns:1fr}.loading-container{min-height:150px;padding:24px 16px}.loading-message{font-size:13px;margin-top:12px}}
/*# sourceMappingURL=main.bca7e828.css.map*/