:root{--text:#6b6375;--text-h:#08060d;--text-muted:#676173;--bg:#fff;--surface:#fff;--surface-muted:#f4f4f4;--surface-subtle:#fafafa;--hover-bg:#e5e7eb;--border:#e5e4e7;--panel-border:#ddd;--table-outer-padding:8px;--font-weight-regular:400;--font-weight-heading:500;--font-weight-bold:700;--page-heading-size:56px;--section-heading-size:24px;--compact-heading-size:20px;--page-heading-margin:32px;--page-description-spacing:28px;--section-heading-spacing:8px;--content-spacing:16px;--grouped-section-spacing:28px;--panel-padding:20px;--panel-radius:12px;--label-font-weight:700;--form-control-font-size:14px;--form-control-font-weight:400;--form-control-line-height:1.4;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--link:#1d4ed8;--active-link:#4c1d95;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--text-muted:#c4bdcf;--bg:#16171d;--surface:#1f2028;--surface-muted:#202129;--surface-subtle:#262832;--hover-bg:#2e303a;--border:#2e303a;--panel-border:#3a3d4a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--link:#93c5fd;--active-link:#ddd6fe;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}:root[data-theme=light]{--text:#6b6375;--text-h:#08060d;--text-muted:#676173;--bg:#fff;--surface:#fff;--surface-muted:#f4f4f4;--surface-subtle:#fafafa;--hover-bg:#e5e7eb;--border:#e5e4e7;--panel-border:#ddd;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--link:#1d4ed8;--active-link:#4c1d95;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px}:root[data-theme=dark]{--text:#9ca3af;--text-h:#f3f4f6;--text-muted:#c4bdcf;--bg:#16171d;--surface:#1f2028;--surface-muted:#202129;--surface-subtle:#262832;--hover-bg:#2e303a;--border:#2e303a;--panel-border:#3a3d4a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--link:#93c5fd;--active-link:#ddd6fe;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1440px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{color:var(--text);background:var(--bg);margin:0}h1,h2,h3{font-family:var(--heading);font-weight:var(--font-weight-heading);color:var(--text-h)}h1{font-size:var(--page-heading-size);letter-spacing:-1.68px;margin:var(--page-heading-margin) 0;line-height:1.1}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{font-size:var(--section-heading-size);letter-spacing:-.24px;margin:0 0 var(--section-heading-spacing);line-height:118%}@media (width<=1024px){h2{font-size:20px}}h3{margin:0 0 var(--section-heading-spacing);font-size:var(--compact-heading-size);line-height:1.2}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.data-table .json-cell{white-space:pre-wrap;overflow-wrap:anywhere;max-width:460px;font-size:12px;display:block}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-layout{height:100vh;display:flex}.app-content{text-align:left;flex-direction:column;flex:1;min-width:0;padding:40px;display:flex;overflow:auto}.sidebar{--sidebar-width:170px;width:var(--sidebar-width);min-width:var(--sidebar-width);max-width:var(--sidebar-width);flex:0 0 var(--sidebar-width);text-align:left;box-sizing:border-box;background:#f4f4f4;border-right:1px solid #ddd;flex-direction:column;align-items:stretch;gap:12px;padding:16px 12px;transition:width .18s,min-width .18s,max-width .18s,flex-basis .18s;display:flex;overflow:auto}.sidebar-depth-1{--sidebar-width:210px}.sidebar-depth-2{--sidebar-width:280px}.sidebar-logo{justify-content:center;margin-bottom:10px;display:flex}.sidebar-logo img{width:100%;max-width:118px;height:auto;display:block}.sidebar-auth{margin-bottom:10px}.sidebar-account{overflow-wrap:anywhere;margin-bottom:8px;font-size:13px}.sidebar-nav,.sidebar-group,.sidebar-subnav{flex-direction:column;display:flex}.sidebar-nav{gap:8px}.sidebar-group{gap:6px}.sidebar-group-row{grid-template-columns:minmax(0,1fr) 28px;align-items:center;gap:4px;display:grid}.sidebar-link{color:#1d4ed8;overflow-wrap:anywhere;text-align:left;border-radius:4px;min-width:0;padding:4px 6px;line-height:1.25}.sidebar-section-button{font:inherit;cursor:pointer;background:0 0;border:0;text-decoration:underline}.sidebar-link.active{color:#4c1d95;background:#fff;outline:2px solid #333;text-decoration-thickness:2px}.sidebar-toggle{color:#55516b;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:inline-flex}.sidebar-toggle:hover,.sidebar-toggle:focus-visible{background:#fff;border-color:#c7c4d0}.sidebar-toggle-icon{border-bottom:2px solid;border-right:2px solid;width:8px;height:8px;transition:transform .15s;transform:rotate(-45deg)}.sidebar-toggle[aria-expanded=true] .sidebar-toggle-icon{transform:rotate(45deg)}.sidebar-subnav{gap:6px;padding-left:12px}@media (width<=600px){.app-layout{flex-direction:column;height:auto;min-height:100vh}.sidebar,.sidebar-depth-1,.sidebar-depth-2{border-right:0;border-bottom:1px solid var(--panel-border);flex-basis:auto;width:100%;min-width:0;max-width:none;overflow:visible}.app-content{box-sizing:border-box;width:100%;padding:24px 16px;overflow:visible}}.global-search-trigger{border:1px solid var(--panel-border);background:var(--surface);width:100%;min-height:34px;color:var(--text-muted);cursor:pointer;font:inherit;text-align:left;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.global-search-trigger:hover,.global-search-trigger:focus-visible{background:var(--hover-bg);color:var(--text-h)}.global-search-trigger kbd{border:1px solid var(--panel-border);background:var(--surface-subtle);color:var(--text-muted);font:inherit;white-space:nowrap;border-radius:4px;padding:2px 5px;font-size:11px}.global-search-backdrop{z-index:50;background:#11182773;justify-content:center;align-items:flex-start;padding:72px 20px 20px;display:flex;position:fixed;inset:0}.global-search-dialog{border:1px solid var(--panel-border);background:var(--surface);width:min(760px,100%);max-height:calc(100vh - 104px);color:var(--text);border-radius:8px;overflow:auto;box-shadow:0 24px 80px #00000047}.global-search-header{border-bottom:1px solid var(--panel-border);justify-content:space-between;align-items:center;gap:8px;padding:16px 18px 12px;display:flex}.global-search-header h2{color:var(--text-h);margin:0;font-size:20px}.global-search-close{border:1px solid var(--panel-border);background:var(--surface-subtle);color:var(--text);cursor:pointer;font:inherit;border-radius:5px;padding:5px 9px;font-size:13px}.global-search-field{gap:7px;padding:16px 18px;display:grid}.global-search-field span,.global-search-suggestions>span{color:var(--text-muted);font-size:13px;font-weight:700}.global-search-field input{border:1px solid var(--panel-border);background:var(--surface);width:100%;min-height:42px;color:var(--text);font:inherit;box-sizing:border-box;border-radius:6px;padding:8px 10px;font-size:16px}.global-search-results{gap:6px;padding:0 12px 14px;display:grid}.global-search-result{width:100%;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;gap:5px;padding:11px 12px;display:grid}.global-search-result:hover,.global-search-result.active{border-color:var(--panel-border);background:var(--surface-subtle)}.global-search-result-breadcrumb{color:var(--text-muted);font-size:12px;font-weight:700}.global-search-result strong{color:var(--text-h);font-size:17px}.global-search-result p{color:var(--text-muted);margin:0;line-height:1.45}.global-search-result mark{color:#7c2d12;background:#fef3c7;border-radius:3px;padding:0 2px}.global-search-empty,.global-search-suggestions{padding:0 18px 18px}.global-search-empty strong{color:var(--text-h)}.global-search-empty p{color:var(--text-muted);margin:6px 0 10px}.global-search-empty div,.global-search-suggestions div{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.global-search-empty button,.global-search-suggestions button{border:1px solid var(--panel-border);background:var(--surface-subtle);color:var(--link);cursor:pointer;font:inherit;border-radius:999px;padding:5px 9px;font-size:13px}.global-search-empty button:hover,.global-search-suggestions button:hover{background:var(--hover-bg)}.breadcrumbs{color:#676173;margin:0 0 18px;font-size:14px;font-weight:700}.breadcrumbs ol{flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0;list-style:none;display:flex}.breadcrumbs li{align-items:center;gap:6px;display:inline-flex}.breadcrumbs li:not(:last-child):after{content:"/";color:#9ca3af}.breadcrumbs a{color:#1d4ed8}.breadcrumbs span[aria-current=page]{color:#111827}.app-footer{color:#676173;border-top:1px solid #ddd;justify-content:space-between;align-items:center;gap:12px;margin-top:40px;padding-top:16px;font-size:13px;display:flex}.build-info{color:#55516b;white-space:nowrap;font-family:inherit}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}.generic-table{--table-border-color:var(--panel-border);--table-cell-padding:8px;width:calc(100% - (2 * var(--table-outer-padding)));margin:var(--table-outer-padding);border:1px solid var(--table-border-color);border-collapse:collapse;box-sizing:border-box;background:#fff}.page-description{margin-bottom:var(--page-description-spacing)}.overview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.overview-card{min-height:150px;color:inherit;background:#fff;border:1px solid #ddd;border-radius:6px;flex-direction:column;justify-content:space-between;padding:16px;text-decoration:none;display:flex}.overview-card:hover{box-shadow:var(--shadow);border-color:#93c5fd}.overview-card span{color:#55516b;font-size:20px;font-weight:var(--font-weight-bold)}.overview-card p{margin-top:18px;font-size:14px}.overview-back-link{margin:0 0 16px;font-size:14px}.overview-detail{max-width:820px}.overview-detail ul{margin:18px 0 0;padding-left:22px}.overview-detail li{margin-bottom:10px}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:28px;display:grid}.summary-refresh{margin:0 0 18px}.filter-panel{text-align:left;background:#fff;border:1px solid #ddd;border-radius:6px;flex-wrap:wrap;align-items:end;gap:10px;margin:0 0 16px;padding:12px;display:flex}.filter-panel label{gap:4px;min-width:150px;display:grid}.filter-panel label:last-of-type{min-width:260px}.filter-panel span{color:#676173;font-size:13px;font-weight:var(--label-font-weight)}.filter-panel input,.filter-panel select{color:#666;height:32px;font:inherit;background:#fff;border:1px solid #ccc;border-radius:4px;padding:5px 7px;font-size:14px}.filter-count{white-space:nowrap;margin-left:auto;padding-bottom:6px}.summary-panel{background:#fff;border:1px solid #ddd;border-radius:6px;flex-direction:column;justify-content:space-between;min-height:94px;padding:16px;display:flex}.summary-panel span{color:#676173;text-transform:uppercase;font-size:13px;font-weight:700}.summary-panel strong{color:#55516b;overflow-wrap:anywhere;font-size:28px;line-height:1.1}.summary-panel.warning{background:#fffbeb;border-color:#f59e0b}.summary-panel.warning span,.summary-panel.warning strong{color:#92400e}.trend-section{margin-top:8px}.section-heading{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.section-heading h2{font-size:var(--compact-heading-size);margin:0}.device-trend-list{gap:14px;display:grid}.device-trend-panel{background:#fff;border:1px solid #ddd;border-radius:6px;padding:16px}.device-trend-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.device-trend-heading>div{min-width:0}.device-trend-heading h3{margin:0}.device-trend-heading span{color:#676173;font-size:14px;font-weight:700}.device-trend-charts{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.device-trend-chart{min-width:0}.device-trend-chart-header{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.device-trend-chart-header span{color:#676173;font-size:13px;font-weight:700}.device-trend-chart-header strong{color:#55516b;font-size:16px}.device-trend-chart svg{width:100%;height:110px;display:block;overflow:visible}.trend-grid-line{stroke:#e5e7eb;stroke-width:1px}.trend-line{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.trend-point{cursor:pointer}.trend-point:focus{stroke:#111827;stroke-width:2px;outline:none}.device-trend-chart text{fill:#676173;font-size:14px}.trend-axis{color:#676173;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;margin-top:8px;font-size:12px;font-weight:700;display:grid}.trend-axis span{text-align:center;flex-direction:column;align-items:center;min-width:0;line-height:1.1;display:flex}.trend-axis small{color:#8a8492;font:inherit;font-size:11px}.account-table th{color:#55516b;width:220px}.account-table td{overflow-wrap:anywhere}.settings-entry-row{grid-template-columns:minmax(120px,180px) minmax(220px,520px) auto;align-items:start;gap:8px;max-width:760px;margin:0 0 12px;display:grid}.settings-table{width:840px;max-width:calc(100% - (2 * var(--table-outer-padding)));table-layout:fixed}.footer-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;display:flex}.footer-links a{color:#1d4ed8;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:background-color .15s,color .15s;display:inline-flex}.footer-links a:hover,.footer-links a:focus-visible{background:var(--surface);color:var(--active-link)}.footer-links svg{fill:currentColor;width:20px;height:20px}.contact-panel{background:#fff;border:1px solid #ddd;border-radius:8px;max-width:640px;padding:24px}.contact-panel .generic-btn{align-items:center;gap:8px;margin-top:8px;text-decoration:none;display:inline-flex}.contact-panel .generic-btn svg{fill:currentColor;flex:none;width:20px;height:20px}.settings-code-column{width:160px}.settings-actions-column{width:260px}.settings-description-column{width:420px}.settings-actions{grid-template-columns:repeat(2,96px);align-items:stretch;gap:6px;display:grid}.settings-actions .edit-btn,.settings-actions .copy-btn,.settings-actions .delete-btn{margin:0}.device-actions-column{width:226px}.device-actions{grid-template-columns:repeat(2, var(--device-action-width));--device-action-height:34px;--device-action-width:104px;gap:6px;width:max-content;display:grid}.settings-table input{min-width:0}.help-grid{grid-template-columns:repeat(3,minmax(220px,1fr));gap:16px;display:grid}.help-card{min-height:120px;color:inherit;background:#fff;border:1px solid #ddd;border-radius:6px;padding:16px;text-decoration:none;display:block}.help-card:hover{background:#fafafa;border-color:#b8b5c8}.help-card span{color:#111827;font-size:18px;font-weight:var(--font-weight-bold);margin-bottom:8px;display:block}.help-card p{color:#55516b;margin:0;line-height:1.45}.help-page-link{margin:0 0 22px}.help-subsection{margin-top:34px}.help-subsection h2{color:#111827;margin:0 0 16px}.settings-section{margin-bottom:var(--grouped-section-spacing)}.help-detail{gap:18px;display:grid}.help-detail section{border-bottom:1px solid #e5e7eb;padding-bottom:18px}.help-detail h2{color:#111827;margin:0 0 10px}.help-detail ul{color:#55516b;margin:0;padding-left:22px;line-height:1.55}.account-preferences{margin-top:var(--grouped-section-spacing);padding:var(--panel-padding);border:1px solid var(--panel-border);border-radius:var(--panel-radius);background:var(--surface)}.account-preferences h2{color:#111827;margin:0 0 16px}.account-preferences-grid{grid-template-columns:repeat(3,minmax(180px,1fr));gap:14px 18px;display:grid}.account-preferences-grid label{color:#55516b;font-weight:var(--label-font-weight);flex-direction:column;gap:6px;display:flex}.account-preferences-grid span{font-size:14px}.account-actions{align-items:center;gap:14px;margin-top:18px;display:flex}.save-message{color:#166534;font-size:14px;font-weight:700}@media (width<=900px){.overview-grid,.summary-grid,.device-trend-charts,.account-preferences-grid,.settings-entry-row,.help-grid{grid-template-columns:1fr}}.generic-table tr{background:#fff}.generic-table .delete-btn{color:#991b1b;cursor:pointer;background:#fee2e2;border:1px solid #fca5a5;border-radius:4px;padding:4px 8px}.generic-table .delete-btn:disabled{cursor:not-allowed;opacity:.55;color:#6b7280;background:#f3f4f6;border-color:#d1d5db}.generic-table .edit-btn{color:#1e40af;cursor:pointer;background:#dbeafe;border:1px solid #93c5fd;border-radius:4px;margin-right:5px;padding:4px 8px}.generic-table .edit-btn:hover{color:#fff;background:#93c5fd}.generic-table .copy-btn{color:#374151;cursor:pointer;background:#f3f4f6;border:1px solid #d1d5db;border-radius:4px;margin-right:5px;padding:4px 8px}.generic-table .copy-btn:hover{background:#e5e7eb}.last-connected{color:#334155;white-space:nowrap;background:#f8fafc;border:1px solid #cbd5e1;border-radius:4px;align-items:center;min-height:26px;padding:2px 8px;font-weight:700;display:inline-flex}.last-connected.warning{color:#92400e;background:#fef3c7;border-color:#f59e0b}.device-status-link{color:#1d4ed8;white-space:nowrap;background:#eff6ff;border:1px solid #86b7fe;border-radius:6px;align-items:center;min-height:34px;padding:6px 10px;font-size:13px;font-weight:700;line-height:1.15;text-decoration:none;display:inline-flex}.device-status-link:hover{background:#dbeafe;border-color:#60a5fa}.device-status-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.generic-btn{cursor:pointer;border-radius:4px;margin:5px;padding:6px 7px}.generic-table .delete-btn:hover{color:#fff;background:#fca5a5}.generic-table .device-actions .copy-btn,.generic-table .device-actions .edit-btn,.generic-table .device-actions .claim-btn,.generic-table .device-actions .delete-btn,.generic-table .device-actions .device-status-link,.generic-table .settings-actions .copy-btn,.generic-table .settings-actions .edit-btn,.generic-table .settings-actions .delete-btn{width:100%;height:34px;font:inherit;text-align:center;white-space:nowrap;box-shadow:none;border-radius:6px;margin:0;padding:6px 10px;font-size:13px;font-weight:700;line-height:1.15;transition:background-color .15s,border-color .15s,color .15s,transform .15s}.generic-table .device-actions .device-action-control{box-sizing:border-box;width:var(--device-action-width);height:var(--device-action-height);justify-content:center;align-items:center;padding:6px 8px;font-size:12px;display:inline-flex}.generic-table .device-actions .copy-btn:hover,.generic-table .device-actions .edit-btn:hover,.generic-table .device-actions .claim-btn:hover,.generic-table .device-actions .delete-btn:hover,.generic-table .device-actions .device-status-link:hover,.generic-table .settings-actions .copy-btn:hover,.generic-table .settings-actions .edit-btn:hover,.generic-table .settings-actions .delete-btn:hover{transform:translateY(-1px)}.generic-table .device-actions .copy-btn:focus-visible,.generic-table .device-actions .edit-btn:focus-visible,.generic-table .device-actions .claim-btn:focus-visible,.generic-table .device-actions .delete-btn:focus-visible,.generic-table .device-actions .device-status-link:focus-visible,.generic-table .settings-actions .copy-btn:focus-visible,.generic-table .settings-actions .edit-btn:focus-visible,.generic-table .settings-actions .delete-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.generic-table .device-actions .copy-btn,.generic-table .settings-actions .copy-btn{background:var(--surface-subtle);color:var(--text-h);border-color:var(--panel-border)}.generic-table .device-actions .edit-btn,.generic-table .settings-actions .edit-btn{color:#1e40af;background:#dbeafe;border-color:#93c5fd}.generic-table .device-actions .device-status-link{color:#155e75;background:#ecfeff;border-color:#67e8f9}.generic-table .device-actions .claim-btn{color:#6b21a8;cursor:pointer;background:#f3e8ff;border:1px solid #d8b4fe}.generic-table .device-actions .delete-btn,.generic-table .settings-actions .delete-btn{color:#991b1b;background:#fee2e2;border-color:#fca5a5}.generic-table .device-actions .copy-btn:hover,.generic-table .settings-actions .copy-btn:hover{background:var(--hover-bg)}.generic-table .device-actions .edit-btn:hover,.generic-table .settings-actions .edit-btn:hover{color:#1e3a8a;background:#bfdbfe}.generic-table .device-actions .device-status-link:hover{color:#164e63;background:#cffafe;border-color:#22d3ee}.generic-table .device-actions .claim-btn:hover{color:#581c87;background:#e9d5ff;border-color:#c084fc}.generic-table .device-actions .delete-btn:hover,.generic-table .settings-actions .delete-btn:hover{color:#7f1d1d;background:#fecaca}.generic-table th,.generic-table td{border:1px solid var(--table-border-color);padding:var(--table-cell-padding);font-size:14px;text-align:left!important}.generic-table th{font-weight:var(--font-weight-bold);background:#fafafa}.activity-table{table-layout:fixed}.activity-date-column{width:220px}.activity-type-column{width:110px}.activity-action-column{width:140px}.activity-message-column{width:auto}.activity-table td{overflow-wrap:anywhere}.sort-header{width:100%;color:inherit;font:inherit;font-weight:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;padding:0;display:inline-flex}.sort-header span:last-child{color:#8a8492;font-size:10px}.credential-cell{white-space:nowrap;text-overflow:ellipsis;width:340px;min-width:340px;max-width:340px;overflow:hidden}.id-cell{opacity:.3}.id-cell:hover{opacity:1}.payload-cell{vertical-align:top}.payload-toggle{color:#334155;min-width:72px;min-height:30px;font:inherit;cursor:pointer;background:#f8fafc;border:1px solid #cbd5e1;border-radius:4px;justify-content:center;align-items:center;margin-bottom:8px;padding:5px 10px;font-size:13px;display:inline-flex}.payload-toggle:hover{background:#e2e8f0}.payload-json{max-height:140px;display:block;overflow:auto}.payload-json.expanded{max-height:none}.generic-inputs input,.generic-inputs select{box-sizing:border-box;background:#fff;border:1px solid #ccc;border-radius:4px;width:100%;height:32px;padding:5px;font-size:14px;color:#666!important;font-family:inherit!important}.generic-inputs textarea{box-sizing:border-box;resize:vertical;background:#fff;border:1px solid #ccc;border-radius:4px;width:100%;min-height:72px;padding:5px;font-size:14px;color:#666!important;font-family:inherit!important}.character-count{color:var(--text-muted);text-align:right;margin-top:4px;display:block}.generic-inputs select option{color:#666}.device-editor{padding:var(--panel-padding);border:1px solid var(--panel-border);border-radius:var(--panel-radius);background:var(--surface)}.device-editor-grid{gap:var(--content-spacing);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.device-editor-field{min-width:0}.device-editor-field>small,.device-editor-field>.error-message{margin:4px 0 0;display:block}.in-control-field{border:1px solid var(--panel-border);background:var(--surface);cursor:text;border-radius:4px;flex-direction:column;justify-content:center;min-height:48px;padding:5px 8px 4px;display:flex}.in-control-label{color:var(--text-muted);font-size:11px;font-weight:var(--label-font-weight);line-height:1.2}.generic-inputs .in-control-field input,.generic-inputs .in-control-field select,.generic-inputs .in-control-field textarea{background:0 0;border:0;border-radius:0;outline:0;height:auto;min-height:24px;padding:0}.generic-inputs .in-control-field textarea{min-height:68px;padding-top:2px}.in-control-field:focus-within{border-color:var(--link);box-shadow:0 0 0 1px var(--link)}.device-editor-description{grid-column:1/-1}.device-editor-actions{margin-top:var(--content-spacing);gap:8px;display:flex}@media (width<=600px){.device-editor-grid{grid-template-columns:1fr}.device-editor-description{grid-column:auto}}.device-tables{gap:20px;margin-top:24px;display:grid}.device-table-section{padding:var(--panel-padding);border:1px solid var(--panel-border);border-radius:var(--panel-radius);background:var(--surface);overflow-x:auto}.device-table-section h2{font-size:var(--compact-heading-size);margin:0 0 4px}.device-table-section>p{color:var(--text-muted);margin:0 0 14px;font-size:13px}.device-table-section .generic-table{width:100%;margin:0}.device-summary-table tbody tr{cursor:pointer}.device-summary-table tbody tr:hover,.device-summary-table tbody tr:focus-visible{background:var(--hover-bg);outline:none}.device-summary-table tbody tr.selected{background:color-mix(in srgb, #4f7cff 12%, var(--surface))}.device-summary-table tbody tr.selected td:first-child{font-weight:700;box-shadow:inset 4px 0 #4f7cff}.device-detail-table{min-width:900px}.device-location-map{margin-top:18px}.device-location-map-heading{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:8px;display:flex}.device-location-map-heading h3{margin:0;font-size:16px}.device-location-map-heading a,.device-map-attribution a{color:var(--accent)}.device-location-map iframe{border:1px solid var(--panel-border);border-radius:6px;width:100%;height:320px;display:block}.device-table-section>.device-map-attribution,.device-map-attribution{color:var(--text-muted);margin:6px 0 0;font-size:12px}.device-map-unavailable{margin-top:18px}.page-status{margin:12px 0 18px;line-height:1.35}.error-message{color:#b00020;font-size:13px}.secret-notice{color:#1e3a8a;background:#eff6ff;border:1px solid #93c5fd;border-radius:6px;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 18px;padding:10px 12px;display:flex}.secret-notice strong{color:#1e40af}td .error-message{margin:4px 0 0}.pagination-row{align-items:center;gap:12px;margin-top:20px;display:flex}.firmware-table-wrap{margin-top:var(--grouped-section-spacing);overflow-x:auto}.firmware-table{min-width:1050px}.current-release-row{background:color-mix(in srgb, #177245 9%, var(--surface))}.firmware-status{white-space:nowrap;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:700;display:inline-block}.firmware-status.current{color:#177245;background:#dff7e9}.firmware-status.historical{background:var(--surface-subtle);color:var(--text-muted)}.firmware-error{margin-top:var(--content-spacing);padding:var(--panel-padding);border-radius:var(--panel-radius);color:#991b1b;background:#fef2f2;border:1px solid #fca5a5}.firmware-error p{margin:5px 0 0}.sidebar{background:var(--surface-muted);border-right-color:var(--panel-border)}.sidebar-link{color:var(--link)}.sidebar-link:hover{background:var(--hover-bg)}.sidebar-link.active{background:var(--surface);color:var(--active-link)}.sidebar-toggle{color:var(--text-muted)}.sidebar-toggle:hover,.sidebar-toggle:focus-visible{background:var(--surface)}.breadcrumbs,.app-footer,.build-info,.filter-panel span,.summary-panel span,.summary-panel strong,.device-trend-heading span,.device-trend-chart-header span,.device-trend-chart-header strong,.trend-axis,.account-table th,.overview-card span,.help-card p,.help-detail ul,.account-preferences-grid label{color:var(--text-muted)}.breadcrumbs a,.footer-links a{color:var(--link)}.breadcrumbs span[aria-current=page],.help-card span,.help-subsection h2,.help-detail h2,.account-preferences h2{color:var(--text-h)}.app-footer,.contact-panel,.overview-card,.filter-panel,.summary-panel,.device-trend-panel,.help-card,.generic-inputs input,.generic-inputs select,.generic-inputs textarea{border-color:var(--panel-border)}.overview-card,.contact-panel,.filter-panel,.summary-panel,.device-trend-panel,.help-card,.generic-table,.generic-table tr,.generic-inputs input,.generic-inputs select,.generic-inputs textarea{background:var(--surface)}.generic-table th,.help-card:hover{background:var(--surface-subtle)}.generic-inputs input,.generic-inputs select,.generic-inputs textarea,.generic-inputs select option{color:var(--text)!important}.generic-inputs select option{background:var(--surface)}[data-theme=dark] .trend-grid-line{stroke:var(--panel-border)}[data-theme=dark] .trend-point:focus{stroke:var(--text-h)}[data-theme=dark] .device-trend-chart text{fill:var(--text-muted)}.rule-workspace{grid-template-columns:minmax(220px,.7fr) minmax(420px,1.6fr);align-items:start;gap:24px;margin-top:24px;display:grid}.ai-rule-builder{border-radius:var(--panel-radius);background:color-mix(in srgb, #4f7cff 7%, var(--surface));border:1px solid #a5b4fc;gap:10px;margin-top:24px;padding:20px;display:grid}.ai-rule-builder h2,.ai-rule-builder p{margin:3px 0 0}.ai-rule-builder p,.ai-rule-builder small{color:var(--text-muted)}.ai-rule-builder label{font-weight:var(--label-font-weight)}.ai-rule-input-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.ai-rule-input-row textarea{box-sizing:border-box;border:1px solid var(--panel-border);background:var(--surface);width:100%;color:inherit;font:inherit;resize:vertical;border-radius:7px;padding:10px 12px}.ai-rule-input-row button{min-height:42px;margin:0}.ai-interpretation{background:color-mix(in srgb, #4f7cff 8%, var(--surface));border:2px solid #4f7cff;border-radius:10px;gap:12px;padding:18px;scroll-margin-top:20px;display:grid}.ai-interpretation:focus{outline-offset:3px;outline:3px solid #4f7cff4d}.ai-interpretation-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.ai-interpretation-heading h3{margin:3px 0 0;font-size:1.15rem}.ai-source-request,.ai-interpretation-note{margin:0}.ai-source-request{color:var(--text-muted);font-style:italic}.ai-interpretation-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;display:grid}.ai-interpretation-grid div{border:1px solid var(--panel-border);background:var(--surface);border-radius:8px;padding:10px}.ai-interpretation-grid dt{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:700}.ai-interpretation-grid dd{text-transform:capitalize;margin:4px 0 0;font-weight:700}.ai-interpretation-note{color:var(--text-muted);font-size:.86rem}.rule-type-picker,.rule-editor,.saved-rules{border:1px solid var(--panel-border);border-radius:var(--panel-radius);background:var(--surface)}.rule-type-picker{gap:8px;padding:16px;display:grid}.rule-type-picker h2{font-size:var(--compact-heading-size);margin:0 0 8px}.rule-type-picker button{text-align:left;color:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;gap:3px;padding:12px;display:grid}.rule-type-picker button:hover,.rule-type-picker button.selected{background:#4f7cff1a;border-color:#4f7cff}.rule-type-picker button span,.saved-rule-main small,.rule-enable small{color:var(--text-muted);font-size:.82rem;line-height:1.35}.rule-editor{gap:18px;padding:24px;display:grid}.rule-editor label{font-weight:var(--label-font-weight);gap:7px;display:grid}.rule-editor input:not([type=checkbox]),.rule-editor select,.rule-editor textarea{box-sizing:border-box;border:1px solid var(--panel-border);background:var(--surface);width:100%;color:inherit;border-radius:7px;padding:10px 12px;font-family:inherit;font-size:.9rem;font-weight:400;line-height:1.4}.rule-editor textarea{resize:vertical}.rule-editor-heading,.rule-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.rule-editor-heading h2{margin:3px 0 0}.eyebrow{color:#4f7cff;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700}.version-badge{border:1px solid var(--panel-border);white-space:nowrap;border-radius:999px;padding:4px 9px;font-size:.78rem}.rule-form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.input-with-unit{align-items:center;display:flex}.input-with-unit input{border-radius:7px 0 0 7px!important}.input-with-unit>span{border:1px solid var(--panel-border);color:var(--text-muted);border-left:0;border-radius:0 7px 7px 0;align-self:stretch;align-items:center;padding:0 12px;font-weight:400;display:flex}.rule-enable{background:#4f7cff14;border-radius:8px;align-items:flex-start;padding:14px;gap:10px!important;display:flex!important}.rule-enable input{margin-top:3px}.rule-enable span{gap:3px;display:grid}.rule-enable small{font-weight:400}.generic-btn.secondary{color:inherit;border:1px solid var(--panel-border);background:0 0}.success-message{color:#177245}.saved-rules{padding:var(--panel-padding);margin-top:26px}.saved-rules .section-heading h2{margin:0}.rule-list{gap:8px;margin-top:16px;display:grid}.saved-rule{box-sizing:border-box;text-align:left;border:1px solid var(--panel-border);width:100%;color:inherit;cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:14px;padding:13px;display:flex}.saved-rule:hover{border-color:#4f7cff}.saved-rule-main{flex:1;gap:3px;display:grid}.saved-rule-main small{text-transform:capitalize}.saved-rule-actions{gap:8px;margin-left:8px;display:flex}.saved-rule-actions button{white-space:nowrap}.rule-view-tabs{gap:6px;margin-top:10px;display:flex}.rule-view-tabs button{border:1px solid var(--panel-border);color:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:5px 12px}.rule-view-tabs button.active{background:#4f7cff1f;border-color:#4f7cff}.danger-btn{color:#b42318;cursor:pointer;background:0 0;border:1px solid #c73b3b;border-radius:6px;padding:8px 12px}.danger-btn:hover{background:#c73b3b1a}.danger-btn:disabled{cursor:not-allowed;opacity:.55}.rule-status{text-align:center;color:#596273;background:#eef0f3;border-radius:999px;min-width:55px;padding:4px 8px;font-size:.72rem}.rule-status.enabled{color:#177245;background:#dff7e9}.rule-status.archived{color:#625b71;background:#f2f0f5}.generic-inputs input:not([type=checkbox]),.generic-inputs select,.generic-inputs textarea,.filter-panel input:not([type=checkbox]),.filter-panel select,.filter-panel textarea,.rule-editor input:not([type=checkbox]),.rule-editor select,.rule-editor textarea{font-family:inherit;font-size:var(--form-control-font-size);font-weight:var(--form-control-font-weight);line-height:var(--form-control-line-height)}@media (width<=900px){.rule-workspace{grid-template-columns:1fr}.rule-type-picker{grid-template-columns:1fr 1fr}.rule-type-picker h2{grid-column:1/-1}.ai-interpretation-grid{grid-template-columns:1fr 1fr}}@media (width<=600px){.rule-type-picker,.rule-form-row,.ai-rule-input-row,.ai-interpretation-grid{grid-template-columns:1fr}.saved-rule{flex-wrap:wrap;align-items:flex-start}.saved-rule-actions{width:100%;margin-left:0}}.alerts-page .section-heading{align-items:flex-start}.alert-list{gap:14px;margin-top:20px;display:grid}.alert-card{border:1px solid var(--panel-border);background:var(--surface);border-radius:10px;padding:18px}.alert-card-heading{align-items:center;gap:12px;display:flex}.alert-card-heading>div{flex:1}.alert-card-heading h2,.alert-card-heading p{margin:0}.alert-card-heading h2{font-size:var(--compact-heading-size)}.alert-card-heading p{color:var(--text-muted);margin-top:3px}.alert-severity,.alert-state{text-transform:capitalize;border-radius:999px;padding:4px 9px;font-size:.75rem}.alert-severity.information{color:#2457a6;background:#e8f1ff}.alert-severity.warning{color:#8a5a00;background:#fff4d6}.alert-severity.critical,.alert-state.open{color:#b42318;background:#fde8e8}.alert-state.resolved{color:#177245;background:#dff7e9}.alert-summary{font-size:1.05rem}.alert-metadata{flex-wrap:wrap;gap:28px;display:flex}.alert-metadata div{gap:2px;display:grid}.alert-metadata dt{color:var(--text-muted);font-size:.78rem}.alert-metadata dd{margin:0}.alert-card details pre{background:var(--surface-subtle);border-radius:7px;padding:12px;overflow:auto}
