:root{--bg-primary:#0b0f19;--bg-secondary:#111827;--bg-elevated:#1f2937;--bg-muted:#151c28;--accent-primary:#0a84ff;--accent-success:#30d158;--accent-warning:#ff9f0a;--accent-danger:#ff453a;--text-primary:#f9fafb;--text-secondary:#9ca3af;--text-muted:#6b7280;--border-subtle:#ffffff0f;--border-strong:#ffffff1f;--shadow-card:0 18px 40px #00000047;--radius:8px;--bg-deep:var(--bg-primary);--bg-panel:var(--bg-secondary);--bg-card:var(--bg-elevated);--bg-glass:#111827eb;--border-glow:#0a84ff52;--accent-teal:var(--accent-success);--accent-orange:var(--accent-warning);--accent-danger-legacy:var(--accent-danger);--accent-blue:var(--accent-primary);--shadow-glow:0 0 0 1px #0a84ff24}*{box-sizing:border-box}#root,body,html{margin:0;min-height:100%;padding:0}html{color-scheme:dark}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(hsla(0,0%,100%,.022) 1px,#0000 0),linear-gradient(90deg,hsla(0,0%,100%,.022) 1px,#0000 0),#0b0f19;background:linear-gradient(hsla(0,0%,100%,.022) 1px,#0000 1px),linear-gradient(90deg,hsla(0,0%,100%,.022) 1px,#0000 1px),var(--bg-primary);background-size:64px 64px;color:#f9fafb;color:var(--text-primary);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:hidden}button,input,select,textarea{font:inherit}button{color:inherit}input,select,textarea{background:#0b0f19b8;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:8px;border-radius:var(--radius);color:#f9fafb;color:var(--text-primary);outline:none}select{color-scheme:dark}select optgroup,select option{background-color:#111827;background-color:var(--bg-secondary);color:#f9fafb;color:var(--text-primary)}select option:checked{background-color:#0a84ff;background-color:var(--accent-primary);color:#fff}select option:disabled{background-color:#111827;background-color:var(--bg-secondary);color:#6b7280;color:var(--text-muted)}input:focus,select:focus,textarea:focus{border-color:#0a84ffb3;box-shadow:0 0 0 3px #0a84ff24}.sd-mono,code{font-family:SFMono-Regular,Cascadia Code,Roboto Mono,ui-monospace,monospace;overflow-wrap:anywhere}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.52}}@keyframes spin{to{transform:rotate(1turn)}}.animate-fade-in,.animate-slide-in{animation:fadeIn .35s ease-out forwards}.glass-card{background:linear-gradient(180deg,#1f2937d1,#111827f0);border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:8px;border-radius:var(--radius);box-shadow:0 18px 40px #00000047;box-shadow:var(--shadow-card)}.glass-card:hover{border-color:#0a84ff2e;transition:border-color .2s ease}.glow-text{text-shadow:none}.sd-shell{background:radial-gradient(circle at 80% 0,#0a84ff14,#0000 32rem);display:flex;min-height:100vh}.sd-sidebar{background:#0b0f19f5;border-right:1px solid #ffffff0f;border-right:1px solid var(--border-subtle);box-shadow:18px 0 50px #00000047;display:flex;flex-direction:column;inset:0 auto 0 0;position:fixed;width:248px;z-index:40}.sd-brand{align-items:center;border-bottom:1px solid #ffffff0f;border-bottom:1px solid var(--border-subtle);display:flex;gap:12px;min-height:72px;padding:18px 20px}.sd-brand-mark{background:linear-gradient(135deg,#0a84ff,#3ba3ff);border-radius:8px;color:#fff;display:grid;font-size:.9rem;font-weight:800;height:32px;place-items:center;width:32px}.sd-brand-name{color:#f9fafb;color:var(--text-primary);font-size:.95rem;font-weight:760}.sd-brand-subtitle{color:#6b7280;color:var(--text-muted);font-size:.64rem;font-weight:700;letter-spacing:.24em;margin-top:2px;text-transform:uppercase}.sd-nav{flex:1 1;overflow-y:auto;padding:18px 12px}.sd-nav-group+.sd-nav-group{margin-top:24px}.sd-nav-label{color:#6b7280;color:var(--text-muted);font-size:.64rem;font-weight:800;letter-spacing:.24em;margin:0 8px 9px;text-transform:uppercase}.sd-nav-item{grid-gap:8px;align-items:center;background:#0000;border:1px solid #0000;border-radius:7px;color:#9ca3af;color:var(--text-secondary);cursor:pointer;display:grid;font-size:.86rem;gap:8px;grid-template-columns:24px 1fr auto;margin:2px 0;padding:9px 10px;text-align:left;width:100%}.sd-nav-item:hover{background:#ffffff0a;color:#f9fafb;color:var(--text-primary)}.sd-nav-item.is-active{background:linear-gradient(90deg,#0a84ff38,#0a84ff14);border-color:#0a84ff42;color:#f9fafb;color:var(--text-primary)}.sd-nav-icon{border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:6px;color:#9ca3af;color:var(--text-secondary);display:grid;font-size:.72rem;font-weight:800;height:22px;place-items:center;width:22px}.sd-nav-icon svg{height:15px;width:15px}.sd-nav-item.is-active .sd-nav-icon{background:#0a84ff3d;border-color:#0a84ff73;color:#fff}.sd-nav-badge{background:#ff453a2e;border-radius:999px;color:#ff453a;color:var(--accent-danger);font-size:.7rem;font-weight:800;line-height:20px;min-width:20px;text-align:center}.sd-sidebar-footer{border-top:1px solid #ffffff0f;border-top:1px solid var(--border-subtle);padding:14px 16px}.sd-user-card{align-items:center;display:flex;gap:10px;min-width:0}.sd-user-avatar{background:#1f2937;background:var(--bg-elevated);border-radius:999px;color:#f9fafb;color:var(--text-primary);display:grid;flex:0 0 auto;font-size:.78rem;font-weight:800;height:34px;place-items:center;width:34px}.sd-user-copy{min-width:0}.sd-user-name{color:#f9fafb;color:var(--text-primary);font-size:.82rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-user-role{color:#6b7280;color:var(--text-muted);font-size:.72rem;text-transform:capitalize}.sd-sign-out{background:#ff453a14;border:1px solid #ff453a2e;border-radius:7px;color:#ff8a83;cursor:pointer;font-size:.78rem;font-weight:700;margin-top:12px;padding:8px 10px;width:100%}.sd-workspace{display:flex;flex:1 1;flex-direction:column;margin-left:248px;min-width:0}.sd-topbar{background:#0b0f19db;border-bottom:1px solid #ffffff0f;border-bottom:1px solid var(--border-subtle);gap:16px;justify-content:space-between;min-height:58px;padding:0 24px;position:-webkit-sticky;position:sticky;top:0;z-index:30}.sd-breadcrumb,.sd-topbar{align-items:center;display:flex}.sd-breadcrumb{color:#f9fafb;color:var(--text-primary);font-size:.84rem;gap:9px;min-width:0;white-space:nowrap}.sd-breadcrumb span:last-child{color:#9ca3af;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis}.sd-breadcrumb-divider{color:#6b7280;color:var(--text-muted)}.sd-topbar-actions{gap:10px;margin-left:auto}.sd-search,.sd-topbar-actions{align-items:center;display:flex}.sd-search{background:#111827c7;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:7px;gap:8px;padding:0 10px;width:min(330px,32vw)}.sd-search span{color:#6b7280;color:var(--text-muted);font-size:.72rem}.sd-search input{background:#0000;border:0;box-shadow:none;color:#f9fafb;color:var(--text-primary);font-size:.82rem;min-width:0;padding:9px 0;width:100%}.sd-sidebar-switcher,.sd-workspace-switcher{align-items:center;background:#111827c7;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:7px;display:flex;gap:8px;min-width:0;padding:6px 8px}.sd-sidebar-switcher{align-items:stretch;flex-direction:column;margin:0 12px 12px}.sd-sidebar-switcher span,.sd-workspace-switcher span{color:#6b7280;color:var(--text-muted);font-size:.64rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase}.sd-sidebar-switcher select,.sd-workspace-switcher select{background:#0000;border:0;box-shadow:none;color:#f9fafb;color:var(--text-primary);font-size:.78rem;font-weight:700;max-width:220px;min-width:0}.sd-sidebar-switcher select{background:#0b0f1994;max-width:none;padding:8px;width:100%}.sd-live-pill,.sd-plan-pill,.sd-role-pill,.sd-sidebar-switcher select{border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:7px}.sd-live-pill,.sd-plan-pill,.sd-role-pill{align-items:center;background:#111827c7;color:#9ca3af;color:var(--text-secondary);display:inline-flex;font-size:.72rem;font-weight:800;gap:7px;letter-spacing:.12em;min-height:34px;padding:0 12px;text-transform:uppercase}.sd-plan-pill{background:#0a84ff14;border-color:#0a84ff38;color:#9fd0ff}.sd-plan-pill small{color:#6b7280;color:var(--text-muted);font-size:.66rem}.sd-live-pill span{background:#ff9f0a;background:var(--accent-warning);border-radius:999px;height:8px;width:8px}.sd-live-pill.is-live{color:#b5f6c9}.sd-live-pill.is-live span{background:#30d158;background:var(--accent-success);box-shadow:0 0 0 5px #30d1581f}.sd-live-pill.is-stale{color:#ffd59c}.sd-impersonation-banner{align-items:center;background:#ff9f0a14;border-bottom:1px solid #ff9f0a33;color:#ffd59a;display:flex;font-size:.82rem;font-weight:700;gap:12px;justify-content:space-between;padding:10px 24px}.sd-impersonation-banner button{background:#ff9f0a1f;border:1px solid #ff9f0a3d;border-radius:7px;color:#ffd59a;cursor:pointer;font-size:.76rem;font-weight:850;padding:7px 10px}.sd-main{margin:0 auto;padding:28px 24px 40px;width:min(100%,1500px)}.sd-page-stack{display:flex;flex-direction:column;gap:14px}.sd-page-header{align-items:flex-end;display:flex;gap:20px;justify-content:space-between}.sd-heading{min-width:0}.sd-eyebrow{color:#0a84ff;color:var(--accent-primary);font-size:.68rem;font-weight:800;letter-spacing:.28em;margin-bottom:8px;text-transform:uppercase}.sd-heading h1{color:#f9fafb;color:var(--text-primary);font-size:clamp(1.45rem,2.4vw,2rem);font-weight:760;letter-spacing:0;margin:0}.sd-heading p{color:#9ca3af;color:var(--text-secondary);font-size:.92rem;margin:6px 0 0}.sd-filter-row,.sd-page-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.sd-link-button,.sd-primary-button,.sd-secondary-button{border-radius:7px;cursor:pointer;font-size:.82rem;font-weight:740}.sd-primary-button{background:#0a84ff;background:var(--accent-primary);border:1px solid #0a84ffd1;color:#fff;padding:10px 15px}.sd-secondary-button{background:#111827d1;border:1px solid #ffffff1f;border:1px solid var(--border-strong);color:#f9fafb;color:var(--text-primary);padding:10px 15px}.sd-link-button{background:#0000;border:0;color:#0a84ff;color:var(--accent-primary);padding:0}.sd-filter-row label{align-items:center;background:#111827b8;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:7px;display:flex;gap:8px;padding:6px 8px}.sd-filter-row span{color:#6b7280;color:var(--text-muted);font-size:.68rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.sd-filter-row select{background:#0000;border:0;box-shadow:none;color:#f9fafb;color:var(--text-primary);font-size:.82rem;min-width:132px;padding:4px 2px}.sd-kpi-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.sd-kpi-card,.sd-panel{background:linear-gradient(180deg,#1f2937d1,#111827eb);border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:8px;border-radius:var(--radius);box-shadow:0 18px 40px #00000047;box-shadow:var(--shadow-card)}.sd-kpi-card{min-height:128px;overflow:hidden;padding:18px;position:relative}.sd-kpi-card:before{background:#0a84ff;background:var(--accent-primary);content:"";height:2px;inset:0 0 auto;position:absolute}.sd-kpi-success:before{background:#30d158;background:var(--accent-success)}.sd-kpi-danger:before{background:#ff453a;background:var(--accent-danger)}.sd-kpi-warning:before{background:#ff9f0a;background:var(--accent-warning)}.sd-kpi-label,.sd-panel-header h2{color:#9ca3af;color:var(--text-secondary);font-size:.72rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}.sd-kpi-value{align-items:baseline;color:#f9fafb;color:var(--text-primary);display:flex;font-family:SFMono-Regular,Cascadia Code,Roboto Mono,ui-monospace,monospace;font-size:2rem;font-weight:760;gap:7px;margin-top:10px}.sd-kpi-value span{color:#9ca3af;color:var(--text-secondary);font-size:.78rem;font-weight:700}.sd-kpi-detail{color:#30d158;color:var(--accent-success);font-family:SFMono-Regular,Cascadia Code,Roboto Mono,ui-monospace,monospace;font-size:.78rem;margin-top:8px}.sd-kpi-danger .sd-kpi-detail{color:#ff453a;color:var(--accent-danger)}.sd-kpi-warning .sd-kpi-detail{color:#ff9f0a;color:var(--accent-warning)}.sd-kpi-footer{align-items:flex-end;color:#6b7280;color:var(--text-muted);display:flex;font-size:.72rem;gap:10px;justify-content:space-between;margin-top:12px}.sd-mini-spark{flex:0 0 auto;height:34px;width:96px}.sd-overview-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:minmax(0,2.2fr) minmax(290px,.92fr)}.sd-overview-grid-secondary{grid-template-columns:minmax(300px,.9fr) minmax(0,1.85fr)}.sd-panel{min-width:0;overflow:hidden}.sd-chart-panel{padding:16px}.sd-panel-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;padding:16px 16px 0}.sd-chart-panel .sd-panel-header{padding:0}.sd-panel-header h2{margin:0}.sd-panel-header p{color:#9ca3af;color:var(--text-secondary);font-size:.82rem;margin:6px 0 0}.sd-state-chip,.sd-status-pill,.sd-streaming-badge{align-items:center;background:#30d15814;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:999px;color:#30d158;color:var(--accent-success);display:inline-flex;flex:0 0 auto;font-size:.72rem;font-weight:800;gap:6px;padding:5px 9px;white-space:nowrap}.sd-status-pill span,.sd-streaming-badge span{background:currentColor;border-radius:999px;height:7px;width:7px}.sd-chart-summary{align-items:baseline;color:#0a84ff;color:var(--accent-primary);display:flex;font-family:SFMono-Regular,Cascadia Code,Roboto Mono,ui-monospace,monospace;gap:8px;margin:18px 0 -8px}.sd-chart-summary span{font-size:1.45rem;font-weight:800}.sd-chart-summary small{color:#6b7280;color:var(--text-muted);font-size:.74rem}.sd-sites-panel{display:flex;flex-direction:column}.sd-site-list{margin-top:10px}.sd-empty-row,.sd-site-row{align-items:center;border-top:1px solid #ffffff0f;border-top:1px solid var(--border-subtle);display:flex;gap:12px;justify-content:space-between;padding:13px 16px}.sd-site-row strong{color:#f9fafb;color:var(--text-primary);display:block;font-size:.88rem}.sd-site-row span{color:#6b7280;color:var(--text-muted);display:block;font-size:.74rem;margin-top:3px}.sd-site-row b{color:#9ca3af;color:var(--text-secondary);font-size:.95rem}.sd-sites-panel .sd-link-button{margin:auto 16px 16px auto}.sd-alert-panel .sd-panel-header{align-items:center}.sd-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto;overscroll-behavior-x:contain;padding:12px 16px 16px;scrollbar-width:thin}.sd-table{border-collapse:collapse;font-size:.82rem;min-width:620px;width:100%}.sd-table,.sd-table th{color:#9ca3af;color:var(--text-secondary)}.sd-table th{font-size:.66rem;font-weight:800;letter-spacing:.2em;text-align:left;text-transform:uppercase}.sd-table td,.sd-table th{border-bottom:1px solid #ffffff0f;border-bottom:1px solid var(--border-subtle);padding:11px 10px}.sd-table td strong{color:#f9fafb;color:var(--text-primary);display:block;font-size:.85rem}.sd-table td span{color:#6b7280;color:var(--text-muted);display:block;font-size:.73rem;margin-top:3px}.sd-state-chip{background:#ff453a1a;border-color:#ff453a38;color:#ff453a;color:var(--accent-danger);padding:4px 8px}.sd-status-pill.is-online{border-color:#30d15833;color:#30d158;color:var(--accent-success)}.sd-status-pill.is-offline{background:#ff453a14;border-color:#ff453a33;color:#ff453a;color:var(--accent-danger)}.sd-status-pill.is-maintenance{background:#ff9f0a14;border-color:#ff9f0a33;color:#ff9f0a;color:var(--accent-warning)}.sd-table td>.sd-audit-severity,.sd-table td>.sd-state-chip,.sd-table td>.sd-status-label,.sd-table td>.sd-status-pill,.sd-table td>.sd-team-role-badge,.sd-table td>.sd-team-self-label{display:inline-flex;margin-top:0;white-space:nowrap}.sd-table td .sd-status-pill span{display:inline-block;margin-top:0}.sd-device-table td:nth-child(4){max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-alert-history-card-list,.sd-audit-card-list,.sd-fleet-card-list,.sd-recent-alert-card-list,.sd-report-card-list,.sd-report-schedule-card-list,.sd-team-invite-card-list,.sd-team-member-card-list{display:none}.sd-mobile-empty-card{background:#0b0f1957;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:8px;border-radius:var(--radius);color:#6b7280;color:var(--text-muted);font-size:.82rem;padding:14px;text-align:center}.sd-mobile-overlay{background:#00000094;border:0;cursor:pointer;inset:0;position:fixed;z-index:35}.sd-menu-button{align-items:center;background:#111827d1;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:8px;cursor:pointer;display:none;flex:0 0 auto;flex-direction:column;gap:4px;height:38px;justify-content:center;width:38px}.sd-menu-button span{background:#f9fafb;background:var(--text-primary);border-radius:999px;height:2px;width:17px}.sd-mobile-tabs{grid-gap:6px;background:#0b0f19f0;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:10px;bottom:10px;box-shadow:0 18px 40px #00000047;box-shadow:var(--shadow-card);display:grid;gap:6px;grid-template-columns:repeat(4,1fr);left:10px;padding:7px;position:fixed;right:10px;z-index:32}.sd-mobile-tabs button{background:#0000;border:1px solid #0000;border-radius:7px;color:#9ca3af;color:var(--text-secondary);cursor:pointer;font-size:.72rem;font-weight:760;min-height:42px;position:relative}.sd-mobile-tabs button.is-active{background:#0a84ff29;border-color:#0a84ff52;color:#f9fafb;color:var(--text-primary)}.sd-mobile-tabs strong{background:#ff453a;background:var(--accent-danger);border-radius:999px;color:#fff;font-size:.64rem;line-height:17px;min-width:17px;position:absolute;right:5px;top:2px}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:999px}@media (max-width:1180px){.sd-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sd-overview-grid,.sd-overview-grid-secondary{grid-template-columns:1fr}}@media (max-width:860px){body{background-size:48px 48px}.sd-sidebar{transform:translateX(-104%);transition:transform .22s ease}.sd-sidebar.is-open{transform:translateX(0)}.sd-workspace{margin-left:0}.sd-topbar{background:#0b0f19fa;box-shadow:0 10px 28px #0000003d;min-height:58px;padding:0 12px}.sd-menu-button{display:flex}.sd-breadcrumb{flex:1 1;font-size:.78rem}.sd-topbar-actions{gap:6px}.sd-role-pill,.sd-search,.sd-workspace-switcher{display:none}.sd-live-pill,.sd-plan-pill{font-size:.66rem;min-height:30px;padding:0 9px}.sd-plan-pill{max-width:132px;min-width:0}.sd-plan-pill span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-main{padding:18px 12px 86px}.sd-impersonation-banner{align-items:stretch;flex-direction:column;padding:10px 12px}.sd-impersonation-banner button{width:100%}.sd-page-header{align-items:stretch;flex-direction:column}.sd-page-actions{display:grid;grid-template-columns:1fr 1fr}.sd-primary-button,.sd-secondary-button{width:100%}.sd-filter-row{display:grid;grid-template-columns:1fr 1fr}.sd-filter-row label{min-width:0}.sd-filter-row select{min-width:0;width:100%}.sd-kpi-grid{display:flex;margin:0 -12px;overflow-x:auto;padding:0 12px 4px;scroll-snap-type:x mandatory}.sd-kpi-card{min-width:184px;scroll-snap-align:start}.sd-kpi-value{font-size:1.62rem}.sd-panel-header{flex-direction:column;padding:14px 14px 0}.sd-chart-panel{padding:14px}.sd-table{min-width:560px}}@media (max-width:520px){.sd-heading h1{font-size:1.45rem}.sd-heading p{font-size:.84rem}.sd-filter-row,.sd-page-actions{grid-template-columns:1fr}}.sd-map-page{display:flex;flex-direction:column;gap:14px}.sd-map-heading,.sd-sync-chip{align-items:center}.sd-sync-chip{background:#111827db;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:999px;color:#9ca3af;color:var(--text-secondary);display:inline-flex;font-size:.75rem;font-weight:800;min-height:34px;padding:0 12px}.sd-sync-chip:before{background:currentColor;border-radius:999px;content:"";height:7px;margin-right:8px;width:7px}.sd-sync-chip.is-synced{background:#30d15814;border-color:#30d1582e;color:#30d158;color:var(--accent-success)}.sd-sync-chip.is-empty{background:#ff9f0a14;border-color:#ff9f0a2e;color:#ff9f0a;color:var(--accent-warning)}.sd-upload-action{align-items:center;display:inline-flex;justify-content:center;overflow:hidden;position:relative}.sd-upload-action input{cursor:pointer;inset:0;opacity:0;position:absolute}.sd-map-stat-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.sd-map-stat{background:linear-gradient(180deg,#1f2937c2,#111827eb);border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:8px;border-radius:var(--radius);min-height:96px;padding:15px}.sd-map-stat span{color:#9ca3af;color:var(--text-secondary);font-size:.68rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.sd-map-stat strong{color:#f9fafb;color:var(--text-primary);display:block;font-family:SFMono-Regular,Cascadia Code,Roboto Mono,ui-monospace,monospace;font-size:1.8rem;margin-top:8px}.sd-map-stat p{color:#6b7280;color:var(--text-muted);font-size:.76rem;margin:5px 0 0}.sd-map-stat.is-blue strong{color:#0a84ff;color:var(--accent-primary)}.sd-map-stat.is-success strong{color:#30d158;color:var(--accent-success)}.sd-map-stat.is-warning strong{color:#ff9f0a;color:var(--accent-warning)}.sd-map-stat.is-danger strong{color:#ff453a;color:var(--accent-danger)}.sd-map-workspace{grid-gap:14px;align-items:start;display:grid;gap:14px;grid-template-columns:minmax(0,1fr) minmax(290px,330px)}.sd-map-canvas-panel{min-height:640px}.sd-map-toolbar{align-items:center;border-bottom:1px solid #ffffff0f;border-bottom:1px solid var(--border-subtle);padding:16px}.sd-map-controls{align-items:center;display:flex;gap:10px}.sd-map-controls label{align-items:center;background:#0b0f19ad;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:7px;display:flex;gap:8px;padding:6px 8px}.sd-map-controls span{color:#6b7280;color:var(--text-muted);font-size:.66rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.sd-map-controls select{background:#0000;border:0;color:#f9fafb;color:var(--text-primary);min-width:170px;padding:4px 2px}.sd-map-empty{display:grid;min-height:520px;overflow:hidden;padding:30px;place-items:center;position:relative;text-align:center}.sd-map-empty-grid{background:linear-gradient(hsla(0,0%,100%,.035) 1px,#0000 0),linear-gradient(90deg,hsla(0,0%,100%,.035) 1px,#0000 0);background-size:34px 34px;inset:0;opacity:.6;position:absolute}.sd-map-empty h3,.sd-map-empty label,.sd-map-empty p{position:relative}.sd-map-empty h3{color:#f9fafb;color:var(--text-primary);margin:0 0 8px}.sd-map-empty p{color:#9ca3af;color:var(--text-secondary);font-size:.9rem;margin:0 auto 18px;max-width:470px}.sd-map-canvas{background:linear-gradient(rgba(10,132,255,.045) 1px,#0000 0),linear-gradient(90deg,rgba(10,132,255,.045) 1px,#0000 0),#0b0f19;background-size:36px 36px;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:8px;border-radius:var(--radius);margin:16px;min-height:560px;overflow:hidden;position:relative;touch-action:none}.sd-map-canvas img{display:block;min-height:560px;object-fit:contain;opacity:.5;-webkit-user-select:none;user-select:none;width:100%}.sd-map-node{background:currentColor;border:1px solid #ffffffc7;border-radius:999px;box-shadow:0 0 0 8px color-mix(in srgb,currentColor 18%,#0000),0 0 24px color-mix(in srgb,currentColor 48%,#0000);color:#30d158;color:var(--accent-success);cursor:grab;display:grid;height:24px;place-items:center;position:absolute;transform:translate(-50%,-50%);width:24px;z-index:12}.sd-map-node span{background:#0b0f19a6;border-radius:inherit;height:9px;width:9px}.sd-map-node.is-dragging{cursor:grabbing;transform:translate(-50%,-50%) scale(1.14);z-index:22}.sd-map-node.is-maintenance{color:#ff9f0a;color:var(--accent-warning)}.sd-map-node.is-offline{color:#ff453a;color:var(--accent-danger)}.sd-map-node-label{background:#0b0f19d1;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:5px;color:#9ca3af;color:var(--text-secondary);font-family:SFMono-Regular,Cascadia Code,Roboto Mono,ui-monospace,monospace;font-size:.68rem;font-weight:800;max-width:130px;overflow:hidden;padding:2px 6px;pointer-events:none;position:absolute;text-overflow:ellipsis;transform:translateX(-50%);white-space:nowrap;z-index:11}.sd-map-hover-card{background:#111827fa;border:1px solid #ffffff1f;border:1px solid var(--border-strong);border-radius:8px;border-radius:var(--radius);box-shadow:0 18px 40px #00000047;box-shadow:var(--shadow-card);padding:12px;pointer-events:none;position:absolute;transform:translate(-50%,calc(-100% - 22px));width:min(250px,calc(100% - 24px));z-index:28}.sd-hover-title{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:8px}.sd-hover-title strong{color:#f9fafb;color:var(--text-primary);font-size:.84rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-hover-row{border-top:1px solid #ffffff0f;border-top:1px solid var(--border-subtle);color:#9ca3af;color:var(--text-secondary);display:flex;font-size:.78rem;gap:12px;justify-content:space-between;padding:7px 0}.sd-hover-row b{color:#f9fafb;color:var(--text-primary);font-family:SFMono-Regular,Cascadia Code,Roboto Mono,ui-monospace,monospace;font-weight:800;white-space:nowrap}.sd-map-hover-card p{color:#6b7280;color:var(--text-muted);font-size:.78rem;margin:8px 0 0}.sd-map-legend{align-items:center;color:#9ca3af;color:var(--text-secondary);display:flex;font-size:.78rem;gap:18px;justify-content:center;padding:0 16px 16px}.sd-map-legend span{align-items:center;display:inline-flex;gap:7px}.sd-map-status-dot{background:#30d158;background:var(--accent-success);border-radius:999px;box-shadow:0 0 0 5px #30d1581a;display:inline-block;height:9px;width:9px}.sd-map-status-dot.is-maintenance{background:#ff9f0a;background:var(--accent-warning);box-shadow:0 0 0 5px #ff9f0a1a}.sd-map-status-dot.is-offline{background:#ff453a;background:var(--accent-danger);box-shadow:0 0 0 5px #ff453a1a}.sd-node-inspector{position:-webkit-sticky;position:sticky;top:74px}.sd-inspector-body{padding:16px}.sd-inspector-title{align-items:center;display:flex;gap:12px}.sd-inspector-title h3{color:#f9fafb;color:var(--text-primary);font-size:1.15rem;margin:0}.sd-inspector-title p{color:#6b7280;color:var(--text-muted);font-family:SFMono-Regular,Cascadia Code,Roboto Mono,ui-monospace,monospace;font-size:.74rem;margin:4px 0 0}.sd-node-inspector .sd-status-pill{margin-top:14px;text-transform:capitalize}.sd-inspector-reading{border-bottom:1px solid #ffffff0f;border-bottom:1px solid var(--border-subtle);border-top:1px solid #ffffff0f;border-top:1px solid var(--border-subtle);margin-top:18px;padding:18px 0}.sd-inspector-reading strong{color:#f9fafb;color:var(--text-primary);display:block;font-family:SFMono-Regular,Cascadia Code,Roboto Mono,ui-monospace,monospace;font-size:1.9rem;font-weight:800}.sd-inspector-reading span{color:#6b7280;color:var(--text-muted);display:block;font-size:.8rem;margin-top:5px}.sd-inspector-facts{display:flex;flex-direction:column;gap:1px;margin-top:14px}.sd-fact-row{grid-gap:10px;border-bottom:1px solid #ffffff0f;border-bottom:1px solid var(--border-subtle);display:grid;gap:10px;grid-template-columns:82px minmax(0,1fr);padding:9px 0}.sd-fact-row span{color:#6b7280;color:var(--text-muted);font-size:.76rem}.sd-fact-row strong{color:#9ca3af;color:var(--text-secondary);font-size:.78rem;font-weight:700;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.sd-inspector-section-title{color:#9ca3af;color:var(--text-secondary);font-size:.68rem;font-weight:800;letter-spacing:.18em;margin:18px 0 9px;text-transform:uppercase}.sd-inspector-metrics{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr}.sd-metric-tile{align-items:center;background:#0b0f196b;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:7px;display:flex;gap:12px;justify-content:space-between;padding:10px}.sd-metric-tile span{color:#9ca3af;color:var(--text-secondary);font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-metric-tile strong{color:#f9fafb;color:var(--text-primary);font-family:SFMono-Regular,Cascadia Code,Roboto Mono,ui-monospace,monospace;font-size:.9rem;white-space:nowrap}.sd-inspector-empty{align-content:center;display:grid;justify-items:center;min-height:400px;padding:22px;text-align:center}.sd-inspector-empty b{color:#f9fafb;color:var(--text-primary);font-family:SFMono-Regular,Cascadia Code,Roboto Mono,ui-monospace,monospace;font-size:2.2rem}.sd-inspector-empty span{color:#9ca3af;color:var(--text-secondary);font-size:.82rem;font-weight:800;letter-spacing:.14em;margin-top:4px;text-transform:uppercase}.sd-inspector-empty p{color:#6b7280;color:var(--text-muted);font-size:.82rem;line-height:1.5;max-width:230px}.sd-state-chip.is-resolved{background:#30d15814;border-color:#30d1582e;color:#30d158;color:var(--accent-success)}@media (max-width:1180px){.sd-map-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sd-map-workspace{grid-template-columns:1fr}.sd-node-inspector{position:static}}@media (max-width:860px){.sd-map-heading{align-items:stretch}.sd-map-stat-grid{display:flex;margin:0 -12px;overflow-x:auto;padding:0 12px 4px}.sd-map-stat{min-width:170px}.sd-map-toolbar{align-items:stretch}.sd-map-controls,.sd-map-controls label{width:100%}.sd-map-controls select{min-width:0;width:100%}.sd-map-canvas-panel{min-height:auto}.sd-map-canvas{margin:12px}.sd-map-canvas,.sd-map-canvas img{min-height:430px}.sd-map-hover-card{display:none}.sd-map-legend{justify-content:flex-start;overflow-x:auto}}.sd-devices-page{display:flex;flex-direction:column;gap:14px}.sd-devices-workspace{grid-gap:14px;align-items:start;display:grid;gap:14px;grid-template-columns:minmax(0,1fr) minmax(300px,360px)}.sd-device-inspector,.sd-devices-table-panel{min-width:0}.sd-devices-toolbar{align-items:center;border-bottom:1px solid #ffffff0f;border-bottom:1px solid var(--border-subtle);padding:16px}.sd-device-tools{align-items:center;display:flex;gap:10px}.sd-device-tools input,.sd-device-tools select{color:#f9fafb;color:var(--text-primary);font-size:.82rem;min-height:36px;padding:0 10px}.sd-device-tools input{width:min(320px,28vw)}.sd-device-registry-table{min-width:920px}.sd-device-registry-table tr{cursor:pointer}.sd-device-registry-table tbody tr.is-selected,.sd-device-registry-table tbody tr:hover{background:#0a84ff14}.sd-device-registry-table td:nth-child(4){max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-status-label{align-items:center;background:#111827b8;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:999px;color:#9ca3af;color:var(--text-secondary);display:inline-flex;font-size:.72rem;font-weight:800;gap:7px;padding:5px 9px;text-transform:capitalize;white-space:nowrap}.sd-status-label i{background:currentColor;border-radius:999px;height:7px;width:7px}.sd-status-label.is-online{background:#30d15814;border-color:#30d1582e;color:#30d158;color:var(--accent-success)}.sd-status-label.is-maintenance{background:#ff9f0a14;border-color:#ff9f0a2e;color:#ff9f0a;color:var(--accent-warning)}.sd-status-label.is-offline{background:#ff453a14;border-color:#ff453a2e;color:#ff453a;color:var(--accent-danger)}.sd-row-actions{align-items:center;display:flex;flex-wrap:wrap;gap:7px}.sd-row-actions button{background:#ffffff0a;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:6px;color:#9ca3af;color:var(--text-secondary);cursor:pointer;font-size:.72rem;font-weight:800;min-height:34px;padding:6px 8px;white-space:nowrap}.sd-device-inspector{position:-webkit-sticky;position:sticky;top:74px}.sd-device-inspector-body{padding:16px}.sd-key-card{align-items:center;background:#0b0f196b;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:7px;display:flex;gap:8px;padding:10px}.sd-key-card code{color:#ff9f0a;color:var(--accent-warning);flex:1 1;font-size:.78rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-device-quick-actions button,.sd-key-card button{background:#ffffff0a;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:6px;color:#f9fafb;color:var(--text-primary);cursor:pointer;font-size:.76rem;font-weight:800;padding:8px 10px}.sd-mapping-list{display:flex;flex-direction:column;gap:7px}.sd-mapping-list div{grid-gap:8px;background:#0b0f196b;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:7px;display:grid;gap:8px;grid-template-columns:minmax(0,.72fr) minmax(0,1fr);padding:9px}.sd-mapping-list code,.sd-mapping-list strong{font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-mapping-list strong{color:#f9fafb;color:var(--text-primary)}.sd-mapping-list code{color:#6b7280;color:var(--text-muted)}.sd-device-quick-actions{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr;margin-top:16px}.sd-device-quick-actions button:hover,.sd-key-card button:hover,.sd-row-actions button:hover{border-color:#0a84ff52;color:#0a84ff;color:var(--accent-primary)}.sd-device-quick-actions button.is-danger{background:#ff453a14;border-color:#ff453a33;color:#ff8a83}.sd-device-card-list{display:flex;flex-direction:column;gap:9px;padding:12px}.sd-device-row-card{grid-gap:10px;align-items:start;background:#0b0f1961;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:8px;border-radius:var(--radius);color:#f9fafb;color:var(--text-primary);cursor:pointer;display:grid;gap:10px;grid-template-columns:14px minmax(0,1fr) auto;padding:12px;text-align:left}.sd-device-row-card.is-selected{background:#0a84ff1a;border-color:#0a84ff57}.sd-device-row-card code,.sd-device-row-card span,.sd-device-row-card strong{display:block}.sd-device-row-card strong{color:#f9fafb;color:var(--text-primary);font-size:.92rem}.sd-device-row-card span{color:#9ca3af;color:var(--text-secondary);font-size:.76rem;margin-top:3px}.sd-device-row-card code{color:#6b7280;color:var(--text-muted);font-size:.72rem;margin-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-devices-empty{display:grid;justify-items:center;padding:22px;text-align:center}.sd-devices-empty strong{color:#f9fafb;color:var(--text-primary);font-size:.9rem}.sd-devices-empty span{color:#6b7280;color:var(--text-muted);font-size:.78rem;margin-top:5px}.sd-drawer-overlay{background:#0000009e;display:flex;inset:0;justify-content:flex-end;position:fixed;z-index:90}.sd-edit-drawer{background:#1f2937;background:var(--bg-elevated);border-left:1px solid #ffffff0f;border-left:1px solid var(--border-subtle);box-shadow:-20px 0 60px #0006;height:100%;overflow-y:auto;padding:22px;width:min(760px,100%)}.sd-edit-drawer-header{align-items:flex-start;border-bottom:1px solid #ffffff0f;border-bottom:1px solid var(--border-subtle);display:flex;gap:16px;justify-content:space-between;margin-bottom:18px;padding-bottom:16px}.sd-edit-drawer-header span{color:#0a84ff;color:var(--accent-primary);font-size:.68rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.sd-edit-drawer-header h2{color:#f9fafb;color:var(--text-primary);font-size:1.2rem;margin:5px 0 0}.sd-edit-drawer-header button{background:#ffffff0a;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:6px;color:#9ca3af;color:var(--text-secondary);cursor:pointer;font-size:.78rem;font-weight:800;padding:8px 10px}.sd-form-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.sd-field{display:flex;flex-direction:column;gap:6px;min-width:0}.sd-field span{color:#9ca3af;color:var(--text-secondary);font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.sd-field input,.sd-field select{color:#f9fafb;color:var(--text-primary);min-height:38px;padding:0 10px;width:100%}.sd-field input::placeholder,.sd-field textarea::placeholder,.sd-search input::placeholder{color:#9ca3afad;font-style:italic}.sd-field small{font-size:.7rem;font-weight:560}.sd-field small,.sd-form-hint{color:#6b7280;color:var(--text-muted);font-style:italic;line-height:1.45;opacity:.68;transition:color .18s ease,opacity .18s ease}.sd-form-hint{font-size:.72rem;margin:0}.sd-field:focus-within small,.sd-field:hover small,.sd-form-hint:hover{color:#9ca3af;color:var(--text-secondary);opacity:1}.sd-maintenance-toggle{grid-gap:10px;align-items:start;background:#ff9f0a12;border:1px solid #ff9f0a29;border-radius:8px;border-radius:var(--radius);color:#9ca3af;color:var(--text-secondary);cursor:pointer;display:grid;font-size:.82rem;gap:10px;grid-template-columns:auto 1fr;margin:14px 0;padding:12px}.sd-maintenance-toggle input{margin-top:3px}.sd-maintenance-toggle strong{color:#f9fafb;color:var(--text-primary);display:block;margin-bottom:3px}.sd-edit-mapping-stack{display:flex;flex-direction:column;gap:10px}.sd-edit-mapping-card{background:#0b0f195c;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:8px;border-radius:var(--radius);padding:12px}.sd-remove-mapping{background:#0000;border:0;color:#ff8a83;cursor:pointer;font-size:.78rem;font-weight:800;margin-top:10px;padding:0}.sd-drawer-actions{grid-gap:10px;background:#1f2937;background:var(--bg-elevated);border-top:1px solid #ffffff0f;border-top:1px solid var(--border-subtle);bottom:0;display:grid;gap:10px;grid-template-columns:1fr 1fr;margin:20px -22px -22px;padding:14px 22px;position:-webkit-sticky;position:sticky}.sd-drawer-actions button{background:#ffffff0a;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:7px;color:#f9fafb;color:var(--text-primary);cursor:pointer;font-weight:800;min-height:40px}.sd-drawer-actions button:last-child{background:#0a84ff;background:var(--accent-primary);border-color:#0a84ffbd;color:#fff}@media (max-width:1180px){.sd-devices-workspace{grid-template-columns:1fr}.sd-device-inspector{position:static}}@media (max-width:860px){.sd-devices-toolbar{align-items:stretch}.sd-device-tools{display:grid;grid-template-columns:1fr}.sd-device-tools input{width:100%}.sd-device-row-card{grid-template-columns:14px minmax(0,1fr)}.sd-device-row-card .sd-status-label{grid-column:2;justify-self:start}.sd-drawer-actions,.sd-form-grid{grid-template-columns:1fr}}.sd-alerts-page{display:flex;flex-direction:column;gap:14px}.sd-alert-form{padding-bottom:16px}.sd-alert-form-grid{padding:16px}.sd-alert-form-actions{display:flex;justify-content:flex-end;padding:0 16px}.sd-alerts-workspace{grid-gap:14px;align-items:start;display:grid;gap:14px;grid-template-columns:minmax(0,1fr) minmax(290px,340px)}.sd-alert-inspector,.sd-alert-rules-panel{min-width:0}.sd-alerts-toolbar{align-items:center;border-bottom:1px solid #ffffff0f;border-bottom:1px solid var(--border-subtle);padding:16px}.sd-alert-rules-table{min-width:900px}.sd-alert-rules-table tr{cursor:pointer}.sd-alert-rules-table tbody tr.is-selected,.sd-alert-rules-table tbody tr:hover{background:#0a84ff14}.sd-rule-status{align-items:center;background:#111827b8;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:999px;color:#9ca3af;color:var(--text-secondary);display:inline-flex;font-size:.72rem;font-weight:800;gap:7px;padding:5px 9px;white-space:nowrap}.sd-alert-status-dot,.sd-rule-status i{background:currentColor;border-radius:999px;height:7px;width:7px}.sd-rule-status.is-active{background:#30d15814;border-color:#30d1582e;color:#30d158;color:var(--accent-success)}.sd-rule-status.is-paused{background:#ff9f0a14;border-color:#ff9f0a2e;color:#ff9f0a;color:var(--accent-warning)}.sd-alert-status-dot{box-shadow:0 0 0 5px #30d1581a;color:#30d158;color:var(--accent-success);display:inline-block;height:10px;width:10px}.sd-alert-status-dot.is-paused{box-shadow:0 0 0 5px #ff9f0a1a;color:#ff9f0a;color:var(--accent-warning)}.sd-alert-rule-cards{display:flex;flex-direction:column;gap:9px;padding:12px}.sd-alert-rule-card{grid-gap:10px;background:#0b0f1961;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:8px;border-radius:var(--radius);color:#f9fafb;color:var(--text-primary);cursor:pointer;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto;padding:12px;text-align:left}.sd-alert-rule-card.is-selected{background:#0a84ff1a;border-color:#0a84ff57}.sd-alert-rule-card code,.sd-alert-rule-card span,.sd-alert-rule-card strong{display:block}.sd-alert-rule-card strong{color:#f9fafb;color:var(--text-primary);font-size:.92rem}.sd-alert-rule-card span{color:#9ca3af;color:var(--text-secondary);font-size:.76rem;margin-top:3px}.sd-alert-rule-card code{color:#6b7280;color:var(--text-muted);font-size:.78rem;grid-column:1/-1}.sd-alert-rule-card .sd-row-actions{grid-column:1/-1}.sd-alert-inspector{position:-webkit-sticky;position:sticky;top:74px}.sd-alert-inspector-body{padding:16px}.sd-alert-lower-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:minmax(0,1.45fr) minmax(300px,.9fr)}.sd-alert-history-table{min-width:760px}.sd-alert-actual{color:#ff453a;color:var(--accent-danger);font-family:SFMono-Regular,Cascadia Code,Roboto Mono,ui-monospace,monospace}.sd-notification-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;padding:16px}.sd-notification-grid button{align-self:end;background:#0a84ff1a;border:1px solid #0a84ff47;border-radius:7px;color:#0a84ff;color:var(--accent-primary);cursor:pointer;font-size:.78rem;font-weight:800;min-height:38px;padding:0 12px;white-space:nowrap}@media (max-width:1180px){.sd-alert-lower-grid,.sd-alerts-workspace{grid-template-columns:1fr}.sd-alert-inspector{position:static}}@media (max-width:860px){.sd-alert-form-grid{grid-template-columns:1fr}.sd-alert-form-actions{justify-content:stretch}.sd-alert-form-actions .sd-primary-button{width:100%}.sd-notification-grid{grid-template-columns:1fr}}.sd-sites-page{display:flex;flex-direction:column;gap:14px}.sd-sites-workspace{grid-gap:14px;align-items:start;display:grid;gap:14px;grid-template-columns:minmax(0,1fr) minmax(300px,360px)}.sd-site-hierarchy-panel,.sd-site-inspector{min-width:0}.sd-sites-toolbar{align-items:center;border-bottom:1px solid #ffffff0f;border-bottom:1px solid var(--border-subtle);padding:16px}.sd-sites-empty{align-content:center;display:grid;justify-items:center;min-height:300px;padding:28px;text-align:center}.sd-sites-empty h2{color:#f9fafb;color:var(--text-primary);margin:0}.sd-sites-empty p{color:#9ca3af;color:var(--text-secondary);max-width:420px}.sd-site-hierarchy-list{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));padding:16px}.sd-site-card{background:#0b0f1961;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:8px;border-radius:var(--radius);color:#f9fafb;color:var(--text-primary);cursor:pointer;display:flex;flex-direction:column;gap:13px;min-width:0;padding:14px;text-align:left}.sd-site-card.is-selected,.sd-site-card:hover{background:#0a84ff14;border-color:#0a84ff57}.sd-site-card-header{display:flex;gap:12px;justify-content:space-between}.sd-site-card-header strong{color:#f9fafb;color:var(--text-primary);display:block;font-size:.98rem}.sd-site-card-header span{color:#6b7280;color:var(--text-muted);display:block;font-size:.8rem;margin-top:4px}.sd-site-card-header b{color:#0a84ff;color:var(--accent-primary);font-family:SFMono-Regular,Cascadia Code,Roboto Mono,ui-monospace,monospace;font-size:1.2rem}.sd-area-stack{display:flex;flex-direction:column;gap:7px}.sd-area-row{grid-gap:10px;background:#1118279e;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:7px;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto;padding:9px}.sd-area-row span,.sd-area-row strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-area-row strong{color:#f9fafb;color:var(--text-primary);font-size:.82rem}.sd-area-empty,.sd-area-row span{color:#6b7280;color:var(--text-muted);font-size:.74rem;margin-top:3px}.sd-area-row em{align-self:center;background:#30d15814;border-radius:999px;color:#30d158;color:var(--accent-success);font-size:.68rem;font-style:normal;font-weight:800;padding:5px 8px;white-space:nowrap}.sd-site-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.sd-site-area-actions button,.sd-site-card-actions button{background:#ffffff0a;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:6px;color:#9ca3af;color:var(--text-secondary);cursor:pointer;font-size:.74rem;font-weight:800;padding:7px 9px}.sd-site-area-actions button:hover,.sd-site-card-actions button:hover{border-color:#0a84ff52;color:#0a84ff;color:var(--accent-primary)}.sd-site-inspector{position:-webkit-sticky;position:sticky;top:74px}.sd-site-inspector-body{padding:16px}.sd-site-inspector-title{align-items:center;display:flex;gap:12px}.sd-site-inspector-title>span{background:#0a84ff2e;border-radius:8px;color:#0a84ff;color:var(--accent-primary);display:grid;font-weight:900;height:38px;place-items:center;width:38px}.sd-site-inspector-title h3{color:#f9fafb;color:var(--text-primary);font-size:1.1rem;margin:0}.sd-site-inspector-title p{color:#6b7280;color:var(--text-muted);font-size:.8rem;margin:4px 0 0}.sd-site-area-list{display:flex;flex-direction:column;gap:9px}.sd-site-area-item{grid-gap:9px;background:#0b0f1961;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:7px;display:grid;gap:9px;grid-template-columns:minmax(0,1fr) auto;padding:10px}.sd-site-area-item span,.sd-site-area-item strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-site-area-item strong{color:#f9fafb;color:var(--text-primary);font-size:.84rem}.sd-site-area-item span{color:#6b7280;color:var(--text-muted);font-size:.74rem;margin-top:3px}.sd-site-area-item em{align-self:start;color:#0a84ff;color:var(--accent-primary);font-family:SFMono-Regular,Cascadia Code,Roboto Mono,ui-monospace,monospace;font-style:normal;font-weight:800}.sd-site-area-actions{display:flex;gap:8px;grid-column:1/-1}.sd-modal-overlay{align-items:center;justify-content:center}.sd-site-modal{background:#1f2937;background:var(--bg-elevated);border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:8px;border-radius:var(--radius);box-shadow:0 18px 40px #00000047;box-shadow:var(--shadow-card);max-height:min(720px,calc(100vh - 40px));overflow:auto;padding:20px;width:min(460px,calc(100% - 28px))}.sd-form-grid.is-single{grid-template-columns:1fr}.sd-site-modal .sd-drawer-actions{margin:18px -20px -20px;padding:14px 20px;position:static}@media (max-width:1180px){.sd-sites-workspace{grid-template-columns:1fr}.sd-site-inspector{position:static}}@media (max-width:860px){.sd-site-hierarchy-list{grid-template-columns:1fr;padding:12px}}.sd-primary-button:disabled,.sd-secondary-button:disabled{cursor:not-allowed;opacity:.48}.sd-field textarea{color:#f9fafb;color:var(--text-primary);font-family:SFMono-Regular,Cascadia Code,Roboto Mono,ui-monospace,monospace;font-size:.8rem;line-height:1.5;min-height:96px;padding:10px;resize:vertical;width:100%}.sd-row-actions button.is-danger{background:#ff453a14;border-color:#ff453a33;color:#ff8a83}.sd-row-actions button:disabled{cursor:not-allowed;opacity:.45}.sd-kpi-blue:before{background:#0a84ff;background:var(--accent-primary)}.sd-kpi-blue .sd-kpi-detail{color:#0a84ff;color:var(--accent-primary)}.sd-form-span-2{grid-column:1/-1}.sd-inline-alert{background:#111827b8;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:8px;border-radius:var(--radius);color:#9ca3af;color:var(--text-secondary);font-size:.82rem;font-weight:700;padding:11px 12px}.sd-inline-alert.is-warning{background:#ff9f0a14;border-color:#ff9f0a3d;color:#ff9f0a;color:var(--accent-warning)}.sd-inline-alert.is-danger{background:#ff453a17;border-color:#ff453a3d;color:#ff8a83}.sd-checkbox-card{grid-gap:10px;align-items:start;background:#0b0f195c;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:8px;border-radius:var(--radius);cursor:pointer;display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr);padding:10px}.sd-checkbox-card input{margin-top:3px}.sd-checkbox-card small,.sd-checkbox-card strong{display:block}.sd-checkbox-card strong{color:#f9fafb;color:var(--text-primary);font-size:.82rem}.sd-checkbox-card small{color:#6b7280;color:var(--text-muted);font-size:.74rem;line-height:1.4;margin-top:3px}.sd-toast{background:#0b0f19f5;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:8px;border-radius:var(--radius);box-shadow:0 18px 40px #00000047;box-shadow:var(--shadow-card);color:#f9fafb;color:var(--text-primary);font-size:.84rem;font-weight:760;padding:11px 13px}.sd-toast.is-success{border-color:#30d15852;color:#30d158;color:var(--accent-success)}.sd-toast.is-error{border-color:#ff453a52;color:#ff8a83}.sd-mqtt-page,.sd-onboard-page{display:flex;flex-direction:column;gap:14px}.sd-onboard-workspace{grid-gap:14px;align-items:start;display:grid;gap:14px;grid-template-columns:minmax(230px,280px) minmax(0,1fr) minmax(280px,340px)}.sd-onboard-rail,.sd-onboard-summary{min-width:0;position:-webkit-sticky;position:sticky;top:74px}.sd-onboard-progress,.sd-onboard-summary-body{display:flex;flex-direction:column;gap:8px;padding:16px}.sd-onboard-step{grid-gap:10px;background:#0b0f1957;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:8px;border-radius:var(--radius);color:#9ca3af;color:var(--text-secondary);cursor:pointer;display:grid;gap:10px;grid-template-columns:38px minmax(0,1fr);padding:10px;text-align:left;width:100%}.sd-onboard-step:disabled{cursor:default;opacity:1}.sd-onboard-step.is-active{background:#0a84ff1a;border-color:#0a84ff5c}.sd-onboard-step.is-complete{background:#30d15812;border-color:#30d15833}.sd-onboard-step-index{background:#111827bd;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:999px;color:#6b7280;color:var(--text-muted);display:grid;font-family:SFMono-Regular,Cascadia Code,Roboto Mono,ui-monospace,monospace;font-size:.72rem;font-weight:900;height:32px;place-items:center;width:32px}.sd-onboard-step.is-active .sd-onboard-step-index{background:#0a84ff2e;border-color:#0a84ff6b;color:#0a84ff;color:var(--accent-primary)}.sd-onboard-step.is-complete .sd-onboard-step-index{background:#30d15824;border-color:#30d1585c;color:#30d158;color:var(--accent-success)}.sd-onboard-step small,.sd-onboard-step strong{display:block}.sd-onboard-step strong{color:#f9fafb;color:var(--text-primary);font-size:.84rem}.sd-onboard-step small{color:#6b7280;color:var(--text-muted);font-size:.74rem;line-height:1.35;margin-top:3px}.sd-onboard-runbook{border-top:1px solid #ffffff0f;border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:7px;padding:16px}.sd-onboard-runbook strong{color:#9ca3af;color:var(--text-secondary);font-size:.7rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.sd-onboard-runbook span{color:#6b7280;color:var(--text-muted);font-size:.78rem;line-height:1.45}.sd-onboard-stage{min-width:0}.sd-onboard-gateway-block>.sd-panel-header,.sd-onboard-stage>.sd-panel-header{border-bottom:1px solid #ffffff0f;border-bottom:1px solid var(--border-subtle);padding-bottom:14px}.sd-onboard-body{display:flex;flex-direction:column;gap:16px;padding:16px}.sd-onboard-error{background:#ff453a17;border:1px solid #ff453a3d;border-radius:8px;border-radius:var(--radius);color:#ff8a83;font-size:.84rem;font-weight:700;padding:11px 12px}.sd-onboard-protocol-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.sd-onboard-protocol-card{background:#0b0f195c;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:8px;border-radius:var(--radius);color:#9ca3af;color:var(--text-secondary);cursor:pointer;min-height:106px;padding:14px;text-align:left}.sd-onboard-protocol-card.is-selected{background:#0a84ff1f;border-color:#0a84ff6b}.sd-onboard-protocol-card small,.sd-onboard-protocol-card strong{display:block}.sd-onboard-protocol-card strong{color:#f9fafb;color:var(--text-primary);font-size:.94rem}.sd-onboard-protocol-card small{color:#6b7280;color:var(--text-muted);font-size:.78rem;line-height:1.45;margin-top:8px}.sd-onboard-field-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.sd-onboard-gateway-block{background:#ff9f0a0f;border:1px solid #ff9f0a2e;border-radius:8px;border-radius:var(--radius);display:flex;flex-direction:column;gap:14px;padding:14px}.sd-onboard-gateway-block .sd-panel-header{padding:0 0 12px}.sd-onboard-hint{color:#6b7280;color:var(--text-muted);font-size:.75rem;line-height:1.45}.sd-onboard-heartbeat input{max-width:150px}.sd-onboard-actions{border-top:1px solid #ffffff0f;border-top:1px solid var(--border-subtle);display:flex;gap:10px;justify-content:flex-end;padding-top:14px}.sd-onboard-review-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.sd-onboard-credential,.sd-onboard-review-item,.sd-onboard-summary-row,.sd-onboard-topic-card{background:#0b0f195c;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:8px;border-radius:var(--radius)}.sd-onboard-review-item{min-width:0;padding:12px}.sd-onboard-credential span,.sd-onboard-review-item span,.sd-onboard-summary-row span,.sd-onboard-topic-card span{color:#6b7280;color:var(--text-muted);display:block;font-size:.68rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.sd-onboard-review-item code,.sd-onboard-review-item strong{color:#f9fafb;color:var(--text-primary);display:block;font-size:.86rem;margin-top:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-onboard-review-item code{color:#ff9f0a;color:var(--accent-warning)}.sd-onboard-topic-card{min-width:0;padding:14px}.sd-onboard-topic-card code{color:#30d158;color:var(--accent-success);display:block;font-size:.9rem;margin-top:8px;overflow-wrap:anywhere}.sd-onboard-credential{grid-gap:12px;align-items:start;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;min-width:0;padding:12px}.sd-onboard-credential code,.sd-onboard-credential pre{color:#30d158;color:var(--accent-success);display:block;font-size:.82rem;margin:8px 0 0;overflow-wrap:anywhere}.sd-onboard-credential pre{max-height:220px;overflow:auto;white-space:pre-wrap}.sd-onboard-code-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.sd-onboard-code-grid .sd-onboard-credential{grid-template-columns:1fr}.sd-onboard-code-grid .sd-onboard-credential button{justify-self:end}.sd-onboard-qr-row{grid-gap:16px;align-items:center;background:#0b0f195c;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:8px;border-radius:var(--radius);display:grid;gap:16px;grid-template-columns:minmax(0,1fr) auto;padding:14px}.sd-onboard-qr-row span,.sd-onboard-qr-row strong{display:block}.sd-onboard-qr-row strong{color:#f9fafb;color:var(--text-primary)}.sd-onboard-qr-row span{color:#6b7280;color:var(--text-muted);font-size:.8rem;margin-top:5px}.sd-onboard-qr{background:#fff;border-radius:8px;border-radius:var(--radius);padding:8px}.sd-onboard-done{grid-gap:14px;align-content:center;display:grid;gap:14px;justify-items:center;min-height:520px;padding:28px;text-align:center}.sd-onboard-done-mark{background:#30d1581f;border:1px solid #30d15847;border-radius:999px;color:#30d158;color:var(--accent-success);display:grid;font-family:SFMono-Regular,Cascadia Code,Roboto Mono,ui-monospace,monospace;font-weight:900;height:58px;place-items:center;width:58px}.sd-onboard-done h2{color:#f9fafb;color:var(--text-primary);margin:0}.sd-onboard-done p{color:#9ca3af;color:var(--text-secondary);margin:0}.sd-onboard-done .sd-onboard-topic-card{text-align:left;width:min(100%,520px)}.sd-onboard-summary-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:92px minmax(0,1fr);padding:10px}.sd-onboard-summary-row code,.sd-onboard-summary-row strong{color:#9ca3af;color:var(--text-secondary);font-size:.78rem;font-weight:760;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.sd-onboard-summary-row code{color:#ff9f0a;color:var(--accent-warning)}.sd-mqtt-kpi-grid .sd-kpi-card{min-height:118px}.sd-mqtt-kpi-line{background:linear-gradient(90deg,#0000,#30d158);background:linear-gradient(90deg,#0000,var(--accent-success));border-radius:999px;height:2px;width:82px}.sd-mqtt-kpi-line.is-blue{background:linear-gradient(90deg,#0000,#0a84ff);background:linear-gradient(90deg,#0000,var(--accent-primary))}.sd-mqtt-kpi-line.is-green{background:linear-gradient(90deg,#0000,#30d158);background:linear-gradient(90deg,#0000,var(--accent-success))}.sd-mqtt-last-message{font-size:1.45rem}.sd-mqtt-console{grid-gap:14px;align-items:start;display:grid;gap:14px;grid-template-columns:minmax(320px,390px) minmax(0,1fr)}.sd-mqtt-broker-panel,.sd-mqtt-explorer,.sd-mqtt-publisher{min-width:0}.sd-mqtt-broker-panel{max-height:calc(100vh - 104px);overflow:hidden;position:-webkit-sticky;position:sticky;top:74px}.sd-mqtt-connection-form{background:#0a84ff0a;border-bottom:1px solid #ffffff0f;border-bottom:1px solid var(--border-subtle);border-top:1px solid #ffffff0f;border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:11px;padding:14px 16px}.sd-mqtt-form-heading span,.sd-mqtt-form-heading strong{display:block}.sd-mqtt-form-heading strong{color:#f9fafb;color:var(--text-primary);font-size:.92rem}.sd-mqtt-form-heading span{color:#6b7280;color:var(--text-muted);font-size:.76rem;margin-top:3px}.sd-mqtt-form-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) 86px}.sd-mqtt-password-field{position:relative}.sd-mqtt-password-field input{padding-right:64px}.sd-mqtt-password-field button{background:#ffffff0d;border:0;border-radius:5px;color:#9ca3af;color:var(--text-secondary);cursor:pointer;font-size:.72rem;font-weight:800;min-height:28px;padding:0 8px;position:absolute;right:6px;top:28px}.sd-mqtt-form-actions{margin:2px 0 0;padding:0;position:static}.sd-mqtt-connection-list{display:flex;flex-direction:column;gap:10px;max-height:calc(100vh - 250px);overflow:auto;padding:16px}.sd-mqtt-connection-card{background:#0b0f195c;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:8px;border-radius:var(--radius);display:flex;flex-direction:column;gap:11px;padding:12px}.sd-mqtt-connection-card.is-enabled{border-top-color:#30d15857}.sd-mqtt-connection-card.is-disabled{border-top-color:#ff453a52}.sd-mqtt-connection-top{grid-gap:10px;align-items:start;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto}.sd-mqtt-connection-top code,.sd-mqtt-connection-top strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-mqtt-connection-top strong{color:#f9fafb;color:var(--text-primary);font-size:.9rem}.sd-mqtt-connection-top code{color:#6b7280;color:var(--text-muted);font-size:.74rem;margin-top:4px}.sd-mqtt-topic-strip{display:flex;flex-wrap:wrap;gap:6px}.sd-mqtt-message-row header code,.sd-mqtt-summary-fact code,.sd-mqtt-topic-strip code,.sd-mqtt-tree-item code{background:#ff9f0a14;border-radius:5px;color:#ff9f0a;color:var(--accent-warning);font-size:.72rem;padding:4px 7px}.sd-mqtt-connection-meta{color:#6b7280;color:var(--text-muted);display:flex;flex-wrap:wrap;font-size:.74rem;gap:8px}.sd-mqtt-empty{align-content:center;display:grid;justify-items:center;min-height:180px;padding:22px;text-align:center}.sd-mqtt-empty strong{color:#f9fafb;color:var(--text-primary);font-size:.95rem}.sd-mqtt-empty span{color:#6b7280;color:var(--text-muted);font-size:.82rem;margin-top:5px}.sd-mqtt-stream-column{display:flex;flex-direction:column;gap:14px;min-width:0}.sd-mqtt-explorer{display:flex;flex-direction:column;max-height:calc(100vh - 104px);min-height:620px}.sd-mqtt-explorer-header,.sd-mqtt-modal-header,.sd-mqtt-publisher-header{align-items:flex-start;border-bottom:1px solid #ffffff0f;border-bottom:1px solid var(--border-subtle);display:flex;gap:12px;justify-content:space-between;padding:16px}.sd-mqtt-explorer-header h2,.sd-mqtt-modal-header h2,.sd-mqtt-publisher-header h2{color:#f9fafb;color:var(--text-primary);font-size:1rem;margin:0}.sd-mqtt-explorer-header p,.sd-mqtt-publisher-header p{color:#9ca3af;color:var(--text-secondary);font-size:.82rem;margin:5px 0 0}.sd-mqtt-toolbar{align-items:center;border-bottom:1px solid #ffffff0f;border-bottom:1px solid var(--border-subtle);display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px}.sd-mqtt-toolbar button,.sd-mqtt-toolbar input,.sd-mqtt-toolbar select{background:#0b0f197a;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:7px;color:#9ca3af;color:var(--text-secondary);font-size:.76rem;font-weight:800;min-height:34px;padding:0 10px}.sd-mqtt-toolbar button{cursor:pointer}.sd-mqtt-toolbar button.is-primary,.sd-mqtt-toolbar button.is-success{background:#30d15814;border-color:#30d15833;color:#30d158;color:var(--accent-success)}.sd-mqtt-toolbar button.is-warning{background:#ff9f0a14;border-color:#ff9f0a38;color:#ff9f0a;color:var(--accent-warning)}.sd-mqtt-toolbar button.is-danger{background:#ff453a14;border-color:#ff453a38;color:#ff8a83}.sd-mqtt-toolbar-spacer{flex:1 1}.sd-mqtt-toolbar input{font-weight:600;min-width:220px}.sd-mqtt-message-list{display:flex;flex:1 1;flex-direction:column;gap:8px;overflow:auto;padding:12px 16px 16px}.sd-mqtt-message-row{background:#0b0f195c;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:8px;border-radius:var(--radius);cursor:pointer;padding:12px}.sd-mqtt-message-row:hover{background:#0a84ff12;border-color:#0a84ff47}.sd-mqtt-message-row header{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.sd-mqtt-message-row header span{color:#30d158;color:var(--accent-success);font-size:.76rem;font-weight:800}.sd-mqtt-message-row header time{color:#6b7280;color:var(--text-muted);font-size:.72rem;margin-left:auto}.sd-mqtt-message-row header button{background:#ffffff0a;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:5px;color:#9ca3af;color:var(--text-secondary);cursor:pointer;font-size:.68rem;font-weight:800;padding:5px 7px}.sd-mqtt-message-row pre{color:#9ca3af;color:var(--text-secondary);font-family:SFMono-Regular,Cascadia Code,Roboto Mono,ui-monospace,monospace;font-size:.78rem;line-height:1.45;margin:10px 0 0;max-height:120px;overflow:auto;white-space:pre-wrap;word-break:break-word}.sd-mqtt-message-row small{color:#6b7280;color:var(--text-muted);display:block;font-size:.7rem;margin-top:8px;text-align:right}.sd-mqtt-tree-group{background:#0b0f1957;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:8px;border-radius:var(--radius);padding:10px}.sd-mqtt-tree-heading{display:flex;gap:10px;justify-content:space-between;margin-bottom:8px}.sd-mqtt-tree-heading strong{color:#f9fafb;color:var(--text-primary)}.sd-mqtt-tree-group em,.sd-mqtt-tree-heading span{color:#6b7280;color:var(--text-muted);font-size:.74rem;font-style:normal}.sd-mqtt-tree-item{grid-gap:10px;align-items:center;background:#0000;border:0;border-top:1px solid #ffffff0f;border-top:1px solid var(--border-subtle);color:#9ca3af;color:var(--text-secondary);cursor:pointer;display:grid;gap:10px;grid-template-columns:minmax(170px,.45fr) minmax(0,1fr);padding:8px 0;text-align:left;width:100%}.sd-mqtt-tree-item span{color:#6b7280;color:var(--text-muted);font-family:SFMono-Regular,Cascadia Code,Roboto Mono,ui-monospace,monospace;font-size:.74rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-mqtt-publisher{padding-bottom:16px}.sd-mqtt-publisher-header button{background:#ffffff0a;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:999px;color:#9ca3af;color:var(--text-secondary);cursor:pointer;font-size:.72rem;font-weight:800;padding:7px 10px;white-space:nowrap}.sd-mqtt-publisher-header button.is-retained{background:#30d15814;border-color:#30d15833;color:#30d158;color:var(--accent-success)}.sd-mqtt-publisher-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:minmax(150px,.85fr) 110px 86px minmax(220px,1.3fr);padding:14px 16px 10px}.sd-mqtt-publisher .sd-form-hint{padding:0 16px}.sd-mqtt-publisher-grid input,.sd-mqtt-publisher-grid select{min-height:38px;padding:0 10px}.sd-mqtt-publisher-body{grid-gap:10px;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) 104px;padding:0 16px}.sd-mqtt-publisher-body textarea,.sd-mqtt-test-grid textarea{color:#f9fafb;color:var(--text-primary);font-family:SFMono-Regular,Cascadia Code,Roboto Mono,ui-monospace,monospace;font-size:.8rem;line-height:1.5;min-height:102px;padding:10px;resize:vertical;width:100%}.sd-mqtt-publisher-body button{background:#0a84ff;background:var(--accent-primary);border:1px solid #0a84ffb8;border-radius:7px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:850}.sd-mqtt-publisher-body button:disabled{cursor:not-allowed;opacity:.48}.sd-mqtt-modal-overlay{align-items:center;background:#0000009e;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:120}.sd-mqtt-modal{background:#1f2937;background:var(--bg-elevated);border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:8px;border-radius:var(--radius);box-shadow:0 18px 40px #00000047;box-shadow:var(--shadow-card);display:flex;flex-direction:column;max-height:min(820px,calc(100vh - 40px));overflow:hidden;width:min(640px,100%)}.sd-mqtt-modal-wide{width:min(920px,100%)}.sd-mqtt-modal-header span{color:#0a84ff;color:var(--accent-primary);display:block;font-size:.68rem;font-weight:800;letter-spacing:.18em;margin-bottom:5px;text-transform:uppercase}.sd-mqtt-modal-header button{background:#ffffff0a;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:6px;color:#9ca3af;color:var(--text-secondary);cursor:pointer;font-size:.76rem;font-weight:800;padding:8px 10px}.sd-mqtt-modal-body{flex:1 1;overflow:auto;padding:16px}.sd-mqtt-detail-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:12px}.sd-mqtt-summary-fact{background:#0b0f195c;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:8px;border-radius:var(--radius);min-width:0;padding:10px}.sd-mqtt-summary-fact span{color:#6b7280;color:var(--text-muted);display:block;font-size:.66rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.sd-mqtt-summary-fact code,.sd-mqtt-summary-fact strong{color:#f9fafb;color:var(--text-primary);display:block;font-size:.78rem;margin-top:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-mqtt-modal-payload{background:#0b0f1980;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:8px;border-radius:var(--radius);color:#9ca3af;color:var(--text-secondary);font-family:SFMono-Regular,Cascadia Code,Roboto Mono,ui-monospace,monospace;font-size:.8rem;line-height:1.5;margin:0;max-height:360px;overflow:auto;padding:12px;white-space:pre-wrap;word-break:break-word}.sd-mqtt-modal-actions{border-top:1px solid #ffffff0f;border-top:1px solid var(--border-subtle);display:flex;gap:10px;justify-content:flex-end;margin-top:16px;padding-top:14px}.sd-mqtt-virtual-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) minmax(190px,.72fr)}.sd-mqtt-virtual-topic{grid-column:1/-1}.sd-mqtt-section-title{color:#9ca3af;color:var(--text-secondary);font-size:.68rem;font-weight:800;letter-spacing:.18em;margin:18px 0 10px;text-transform:uppercase}.sd-mqtt-mapping-stack{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}.sd-mqtt-mapping-card{background:#0b0f195c;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:8px;border-radius:var(--radius);padding:12px}.sd-mqtt-mapping-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:minmax(120px,.8fr) minmax(150px,1fr) 110px}.sd-mqtt-path-field{grid-column:1/-1}.sd-mqtt-remove-field{background:#0000;border:0;color:#ff8a83;cursor:pointer;font-size:.76rem;font-weight:800;margin-top:10px;padding:0}.sd-mqtt-test-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:minmax(0,1.1fr) minmax(220px,.7fr)}.sd-mqtt-test-result{display:flex;flex-direction:column;gap:10px;min-width:0}.sd-mqtt-test-result pre,.sd-mqtt-test-result span{background:#0b0f1975;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:8px;border-radius:var(--radius);color:#9ca3af;color:var(--text-secondary);font-size:.8rem;margin:0;padding:10px}.sd-mqtt-test-result pre{font-family:SFMono-Regular,Cascadia Code,Roboto Mono,ui-monospace,monospace;overflow:auto;white-space:pre-wrap}.sd-mqtt-test-result span{color:#ff8a83}.sd-mqtt-loading{color:#9ca3af;color:var(--text-secondary);padding:20px}@media (max-width:1240px){.sd-onboard-workspace{grid-template-columns:minmax(210px,260px) minmax(0,1fr)}.sd-onboard-summary{grid-column:1/-1;position:static}}@media (max-width:1180px){.sd-mqtt-console{grid-template-columns:1fr}.sd-mqtt-broker-panel{max-height:none;position:static}.sd-mqtt-connection-list,.sd-mqtt-explorer{max-height:none}}@media (max-width:860px){.sd-onboard-workspace{grid-template-columns:1fr}.sd-onboard-rail,.sd-onboard-summary{position:static}.sd-onboard-progress{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));overflow-x:auto;padding:12px}.sd-onboard-step{min-width:150px}.sd-onboard-code-grid,.sd-onboard-field-grid,.sd-onboard-protocol-grid,.sd-onboard-qr-row,.sd-onboard-review-grid,.sd-onboard-step,.sd-onboard-summary-row{grid-template-columns:1fr}.sd-onboard-summary-row code,.sd-onboard-summary-row strong{text-align:left}.sd-mqtt-modal-actions,.sd-onboard-actions{display:grid;grid-template-columns:1fr}.sd-onboard-credential{grid-template-columns:1fr}.sd-onboard-code-grid .sd-onboard-credential button,.sd-onboard-credential button{justify-self:stretch}.sd-onboard-qr{justify-self:start}.sd-mqtt-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.sd-mqtt-toolbar-spacer{display:none}.sd-mqtt-toolbar button,.sd-mqtt-toolbar input,.sd-mqtt-toolbar select{min-width:0;width:100%}.sd-mqtt-explorer{min-height:520px}.sd-mqtt-message-row header{display:grid;grid-template-columns:1fr auto}.sd-mqtt-message-row header code,.sd-mqtt-message-row header time{grid-column:1/-1;margin-left:0}.sd-mqtt-detail-grid,.sd-mqtt-mapping-grid,.sd-mqtt-publisher-body,.sd-mqtt-publisher-grid,.sd-mqtt-test-grid,.sd-mqtt-tree-item,.sd-mqtt-virtual-grid{grid-template-columns:1fr}.sd-mqtt-publisher-body button{min-height:42px}}@media (max-width:520px){.sd-mqtt-connection-list,.sd-mqtt-message-list,.sd-mqtt-modal-body,.sd-mqtt-toolbar,.sd-onboard-body{padding:12px}.sd-onboard-protocol-card{min-height:auto}.sd-onboard-done{min-height:420px;padding:20px 12px}.sd-mqtt-explorer-header,.sd-mqtt-modal-header,.sd-mqtt-publisher-header{flex-direction:column}.sd-mqtt-connection-top,.sd-mqtt-form-grid{grid-template-columns:1fr}}.sd-audit-page,.sd-export-page,.sd-reports-page{display:flex;flex-direction:column;gap:14px}.sd-report-toast-stack{display:flex;flex-direction:column;gap:8px;position:fixed;right:24px;top:74px;width:min(360px,calc(100vw - 32px));z-index:130}.sd-export-state-value,.sd-report-latest-value{font-size:1.35rem}.sd-reports-workspace{grid-gap:14px;align-items:start;display:grid;gap:14px;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr)}.sd-report-builder,.sd-report-schedule-panel{min-width:0}.sd-export-form-body,.sd-export-summary-body,.sd-report-form-body,.sd-report-schedule-form{display:flex;flex-direction:column;gap:14px;padding:16px}.sd-report-build-summary{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.sd-export-summary-row,.sd-report-build-summary div{background:#0b0f195c;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:8px;border-radius:var(--radius);min-width:0;padding:10px}.sd-export-summary-row span,.sd-report-build-summary span{color:#6b7280;color:var(--text-muted);display:block;font-size:.66rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.sd-export-summary-row strong,.sd-report-build-summary strong{color:#f9fafb;color:var(--text-primary);display:block;font-size:.82rem;margin-top:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-report-schedule-form{border-top:1px solid #ffffff0f;border-top:1px solid var(--border-subtle)}.sd-report-schedule-actions{margin:0;padding:0;position:static}.sd-report-schedule-empty{align-content:center;display:grid;justify-items:center;min-height:320px;padding:24px;text-align:center}.sd-report-schedule-empty strong{color:#f9fafb;color:var(--text-primary);font-size:1rem}.sd-report-schedule-empty span{color:#6b7280;color:var(--text-muted);font-size:.82rem;line-height:1.45;margin-top:6px;max-width:320px}.sd-report-lists-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr}.sd-report-table{min-width:850px}.sd-report-schedule-table{min-width:960px}.sd-table td.sd-empty-row{color:#6b7280;color:var(--text-muted);display:table-cell;padding:28px 16px;text-align:center}.sd-pagination-footer{align-items:center;border-top:1px solid #ffffff0f;border-top:1px solid var(--border-subtle);display:flex;gap:12px;justify-content:space-between;padding:12px 16px 14px}.sd-pagination-footer span{color:#6b7280;color:var(--text-muted);font-size:.8rem}.sd-export-workspace{grid-gap:14px;align-items:start;display:grid;gap:14px;grid-template-columns:minmax(300px,.86fr) minmax(0,1.25fr) minmax(280px,.78fr)}.sd-export-builder-panel,.sd-export-metrics-panel,.sd-export-summary-panel{min-width:0}.sd-export-summary-panel{position:-webkit-sticky;position:sticky;top:74px}.sd-export-device-card{grid-gap:12px;align-items:start;background:#0b0f195c;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:8px;border-radius:var(--radius);display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;padding:12px}.sd-export-device-card small,.sd-export-device-card span,.sd-export-device-card strong{display:block}.sd-export-device-card>div>span{color:#6b7280;color:var(--text-muted);font-size:.68rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.sd-export-device-card strong{color:#f9fafb;color:var(--text-primary);font-size:.94rem;margin-top:6px}.sd-export-device-card small{color:#6b7280;color:var(--text-muted);font-size:.77rem;margin-top:4px}.sd-export-metric-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));padding:16px}.sd-export-metric-group{background:#0b0f1952;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:8px;border-radius:var(--radius);display:flex;flex-direction:column;gap:8px;min-width:0;padding:12px}.sd-export-group-title{color:#9ca3af;color:var(--text-secondary);font-size:.68rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.sd-export-checkbox{grid-gap:9px;align-items:start;background:#11182794;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:7px;cursor:pointer;display:grid;gap:9px;grid-template-columns:auto minmax(0,1fr);padding:9px}.sd-export-checkbox input{margin-top:3px}.sd-export-checkbox small,.sd-export-checkbox strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-export-checkbox strong{color:#f9fafb;color:var(--text-primary);font-size:.82rem}.sd-export-checkbox small{color:#6b7280;color:var(--text-muted);font-family:SFMono-Regular,Cascadia Code,Roboto Mono,ui-monospace,monospace;font-size:.72rem;margin-top:3px}.sd-export-filename,.sd-export-metric-group p{color:#6b7280;color:var(--text-muted);font-size:.82rem;line-height:1.45;margin:0}.sd-export-filename strong{color:#9ca3af;color:var(--text-secondary)}.sd-audit-filter-panel,.sd-audit-log-panel{min-width:0}.sd-audit-filter-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(6,minmax(130px,1fr));padding:16px}.sd-audit-search-field{grid-column:span 2}.sd-audit-system-toggle{align-self:end;grid-column:span 2;min-height:38px}.sd-audit-table{min-width:1160px}.sd-audit-row:hover{background:#0a84ff0f}.sd-audit-row td:nth-child(7){max-width:360px}.sd-audit-table code{color:#ff9f0a;color:var(--accent-warning);font-size:.72rem}.sd-audit-severity{align-items:center;background:#111827b8;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:999px;color:#9ca3af;color:var(--text-secondary);display:inline-flex;font-size:.7rem;font-weight:850;gap:7px;padding:5px 8px;text-transform:uppercase;white-space:nowrap}.sd-audit-severity i{background:currentColor;border-radius:999px;height:7px;width:7px}.sd-audit-severity.is-info{background:#30d15814;border-color:#30d1582e;color:#30d158;color:var(--accent-success)}.sd-audit-severity.is-warning{background:#ff9f0a14;border-color:#ff9f0a33;color:#ff9f0a;color:var(--accent-warning)}.sd-audit-severity.is-critical,.sd-audit-severity.is-error{background:#ff453a14;border-color:#ff453a38;color:#ff453a;color:var(--accent-danger)}.sd-audit-message-cell{display:flex;flex-direction:column;gap:6px;min-width:0}.sd-audit-message-cell span{color:#9ca3af;color:var(--text-secondary);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-audit-message-cell button{align-self:flex-start;background:#0000;border:0;color:#0a84ff;color:var(--accent-primary);cursor:pointer;font-size:.72rem;font-weight:800;padding:0}.sd-audit-metadata-row td{background:#0b0f197a}.sd-audit-metadata-row pre{background:#00000038;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:8px;border-radius:var(--radius);color:#9ca3af;color:var(--text-secondary);font-family:SFMono-Regular,Cascadia Code,Roboto Mono,ui-monospace,monospace;font-size:.78rem;line-height:1.5;margin:0;max-height:300px;overflow:auto;padding:12px;white-space:pre-wrap;word-break:break-word}.sd-audit-pagination{align-items:center;border-top:1px solid #ffffff0f;border-top:1px solid var(--border-subtle);display:flex;gap:12px;justify-content:space-between;padding:14px 16px}.sd-audit-pagination span{color:#6b7280;color:var(--text-muted);font-size:.8rem}@media (max-width:1240px){.sd-export-workspace,.sd-reports-workspace{grid-template-columns:1fr}.sd-export-summary-panel{position:static}.sd-audit-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:860px){.sd-report-toast-stack{left:12px;right:12px;top:66px;width:auto}.sd-audit-filter-grid,.sd-export-metric-grid,.sd-report-build-summary{grid-template-columns:1fr}.sd-audit-search-field,.sd-audit-system-toggle{grid-column:auto}.sd-audit-filter-grid,.sd-export-form-body,.sd-export-metric-grid,.sd-export-summary-body,.sd-report-form-body,.sd-report-schedule-form{padding:12px}.sd-export-device-card,.sd-report-schedule-actions{grid-template-columns:1fr}.sd-audit-pagination,.sd-pagination-footer{display:grid;grid-template-columns:1fr}}@media (max-width:520px){.sd-export-state-value,.sd-report-latest-value{font-size:1.1rem}}.sd-settings-page,.sd-team-page{display:flex;flex-direction:column;gap:14px}.sd-team-message-stack{display:flex;flex-direction:column;gap:8px;position:fixed;right:24px;top:74px;width:min(380px,calc(100vw - 32px));z-index:130}.sd-settings-kpi-value,.sd-team-role-value{font-size:1.24rem;text-transform:uppercase}.sd-team-workspace{grid-gap:14px;align-items:start;display:grid;gap:14px;grid-template-columns:minmax(300px,380px) minmax(0,1fr)}.sd-settings-inspector,.sd-settings-main-panel,.sd-team-invite-panel,.sd-team-members-panel,.sd-team-table-panel{min-width:0}.sd-settings-inspector,.sd-team-invite-panel{position:-webkit-sticky;position:sticky;top:74px}.sd-team-invite-form{display:flex;flex-direction:column;gap:13px;padding:16px}.sd-team-role-preview{background:#0b0f195c;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:8px;border-radius:var(--radius);padding:12px}.sd-team-role-preview span,.sd-team-role-preview strong{display:block}.sd-team-role-preview strong{color:#f9fafb;color:var(--text-primary);font-size:.9rem}.sd-team-role-preview span{color:#6b7280;color:var(--text-muted);font-size:.78rem;line-height:1.45;margin-top:5px}.sd-team-invite-table{min-width:760px}.sd-team-members-table{min-width:840px}.sd-team-members-table code{color:#6b7280;color:var(--text-muted);font-size:.72rem}.sd-team-role-badge{align-items:center;background:#111827b8;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:999px;color:#9ca3af;color:var(--text-secondary);display:inline-flex;font-size:.7rem;font-weight:850;gap:7px;padding:5px 8px;text-transform:uppercase;white-space:nowrap}.sd-team-role-badge i{background:currentColor;border-radius:999px;height:7px;width:7px}.sd-team-role-badge.is-admin{background:#0a84ff1a;border-color:#0a84ff42;color:#0a84ff;color:var(--accent-primary)}.sd-team-role-badge.is-engineer{background:#30d15814;border-color:#30d15833;color:#30d158;color:var(--accent-success)}.sd-team-role-badge.is-operator{background:#ff9f0a14;border-color:#ff9f0a33;color:#ff9f0a;color:var(--accent-warning)}.sd-team-role-badge.is-viewer{background:#ffffff0a;border-color:#ffffff0f;border-color:var(--border-subtle);color:#9ca3af;color:var(--text-secondary)}.sd-team-self-label{background:#30d15814;border:1px solid #30d1582e;border-radius:999px;color:#30d158;color:var(--accent-success);display:inline-flex;font-size:.72rem;font-weight:800;padding:5px 8px}.sd-settings-tabs{align-items:center;background:#111827a8;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:8px;border-radius:var(--radius);display:flex;gap:8px;padding:6px;width:-webkit-fit-content;width:fit-content}.sd-settings-tabs button{background:#0000;border:1px solid #0000;border-radius:7px;color:#9ca3af;color:var(--text-secondary);cursor:pointer;font-size:.78rem;font-weight:850;min-height:34px;padding:0 12px}.sd-settings-tabs button.is-active{background:#0a84ff1f;border-color:#0a84ff4d;color:#0a84ff;color:var(--accent-primary)}.sd-settings-workspace{grid-gap:14px;align-items:start;display:grid;gap:14px;grid-template-columns:minmax(0,1fr) minmax(300px,360px)}.sd-settings-form-body,.sd-settings-inspector-body{display:flex;flex-direction:column;gap:14px;padding:16px}.sd-settings-preview-card,.sd-settings-summary-row{background:#0b0f195c;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:8px;border-radius:var(--radius);min-width:0;padding:12px}.sd-settings-logo-copy span,.sd-settings-preview-card span,.sd-settings-summary-row span{color:#6b7280;color:var(--text-muted);display:block;font-size:.68rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.sd-settings-preview-card strong,.sd-settings-summary-row strong{color:#f9fafb;color:var(--text-primary);display:block;font-family:SFMono-Regular,Cascadia Code,Roboto Mono,ui-monospace,monospace;font-size:.92rem;margin-top:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-settings-number-field small,.sd-settings-preview-card small{color:#6b7280;color:var(--text-muted);display:block;font-size:.78rem;line-height:1.45;margin-top:7px}.sd-settings-number-field input{max-width:150px}.sd-settings-actions{border-top:1px solid #ffffff0f;border-top:1px solid var(--border-subtle);display:flex;justify-content:flex-end;padding-top:14px}.sd-settings-logo-card{grid-gap:16px;align-items:stretch;display:grid;gap:16px;grid-template-columns:minmax(220px,.7fr) minmax(0,1fr)}.sd-settings-logo-preview{background:linear-gradient(hsla(0,0%,100%,.025) 1px,#0000 0),linear-gradient(90deg,hsla(0,0%,100%,.025) 1px,#0000 0),#0b0f196b;background-size:28px 28px;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:8px;border-radius:var(--radius);display:grid;min-height:230px;padding:18px;place-items:center}.sd-settings-logo-preview img{max-height:120px;max-width:min(260px,100%);object-fit:contain}.sd-settings-logo-preview div{grid-gap:10px;color:#6b7280;color:var(--text-muted);display:grid;gap:10px;justify-items:center}.sd-settings-logo-preview div span{background:#0a84ff2e;border-radius:9px;color:#0a84ff;color:var(--accent-primary);display:grid;font-weight:900;height:58px;place-items:center;width:58px}.sd-settings-logo-preview div strong{color:#9ca3af;color:var(--text-secondary)}.sd-settings-logo-copy{background:#0b0f195c;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:8px;border-radius:var(--radius);padding:14px}.sd-settings-logo-copy strong{color:#f9fafb;color:var(--text-primary);display:block;font-size:1rem;margin-top:7px}.sd-settings-logo-copy p{color:#6b7280;color:var(--text-muted);font-size:.82rem;line-height:1.5;margin:8px 0 16px}.sd-settings-logo-actions{display:flex;flex-wrap:wrap;gap:10px}.sd-settings-logo-actions label{align-items:center;display:inline-flex;min-height:39px}.sd-settings-logo-actions input[type=file]{display:none}.sd-settings-danger-button{background:#ff453a17;border:1px solid #ff453a3d;border-radius:7px;color:#ff8a83;cursor:pointer;font-size:.82rem;font-weight:800;padding:10px 13px}.sd-settings-danger-button:disabled{cursor:not-allowed;opacity:.5}@media (max-width:1180px){.sd-settings-workspace,.sd-team-workspace{grid-template-columns:1fr}.sd-settings-inspector,.sd-team-invite-panel{position:static}}@media (max-width:860px){.sd-team-message-stack{left:12px;right:12px;top:66px;width:auto}.sd-settings-tabs{width:100%}.sd-settings-tabs button{flex:1 1}.sd-settings-form-body,.sd-settings-inspector-body,.sd-team-invite-form{padding:12px}.sd-settings-logo-card{grid-template-columns:1fr}.sd-settings-actions,.sd-settings-logo-actions{display:grid;grid-template-columns:1fr}.sd-settings-logo-actions button,.sd-settings-logo-actions label{justify-content:center;width:100%}}@media (max-width:520px){.sd-settings-kpi-value,.sd-team-role-value{font-size:1rem}}@media (max-width:860px){.sd-main{width:100%}.sd-alerts-page,.sd-audit-page,.sd-devices-page,.sd-export-page,.sd-map-page,.sd-mqtt-page,.sd-onboard-page,.sd-page-stack,.sd-reports-page,.sd-settings-page,.sd-sites-page,.sd-team-page{gap:12px}.sd-panel-header{align-items:stretch}.sd-panel-header .sd-link-button,.sd-panel-header .sd-row-actions{align-self:flex-start}.sd-table-wrap{margin-inline:-12px;padding-inline:12px}.sd-alert-history-table-wrap,.sd-audit-table-wrap,.sd-device-fleet-table-wrap,.sd-recent-alert-table-wrap,.sd-report-schedule-table-wrap,.sd-report-table-wrap,.sd-team-invite-table-wrap,.sd-team-members-table-wrap{display:none}.sd-alert-history-card-list,.sd-audit-card-list,.sd-fleet-card-list,.sd-recent-alert-card-list,.sd-report-card-list,.sd-report-schedule-card-list,.sd-team-invite-card-list,.sd-team-member-card-list{display:flex;flex-direction:column;gap:10px;padding:12px}.sd-audit-card,.sd-fleet-card,.sd-mobile-record-card{background:#0b0f195c;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:8px;border-radius:var(--radius);box-shadow:inset 3px 0 0 #0a84ff33;min-width:0;padding:12px}.sd-audit-card header,.sd-fleet-card-header,.sd-mobile-record-header{align-items:center;display:flex;gap:10px;justify-content:space-between}.sd-audit-card time,.sd-fleet-card-header>span:last-child,.sd-mobile-record-header time{color:#6b7280;color:var(--text-muted);font-size:.72rem;line-height:1.35;text-align:right}.sd-fleet-card-title,.sd-mobile-record-title{margin-top:11px}.sd-fleet-card-title span,.sd-fleet-card-title strong,.sd-mobile-record-title span,.sd-mobile-record-title strong{display:block}.sd-fleet-card-title strong,.sd-mobile-record-title strong{color:#f9fafb;color:var(--text-primary);font-size:.98rem;line-height:1.2;overflow-wrap:anywhere}.sd-fleet-card-title span,.sd-mobile-record-title span{color:#6b7280;color:var(--text-muted);font-size:.78rem;line-height:1.35;margin-top:4px}.sd-audit-card-grid,.sd-mobile-fact-grid,.sd-mobile-record-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:11px}.sd-audit-card-fact,.sd-mobile-fact,.sd-mobile-record-fact{background:#11182775;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:7px;min-width:0;padding:9px}.sd-audit-card-fact span,.sd-mobile-fact span,.sd-mobile-record-fact span{color:#6b7280;color:var(--text-muted);display:block;font-size:.64rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase}.sd-audit-card-fact code,.sd-audit-card-fact strong,.sd-mobile-fact code,.sd-mobile-fact strong,.sd-mobile-record-fact code,.sd-mobile-record-fact strong{color:#9ca3af;color:var(--text-secondary);display:block;font-size:.78rem;line-height:1.35;margin-top:6px;overflow-wrap:anywhere}.sd-audit-card-fact code,.sd-mobile-fact code,.sd-mobile-record-fact code{color:#ff9f0a;color:var(--accent-warning)}.sd-mobile-record-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px}.sd-mobile-record-actions button{background:#ffffff0a;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:6px;color:#9ca3af;color:var(--text-secondary);cursor:pointer;font-size:.74rem;font-weight:850;min-height:36px;padding:7px 10px}.sd-mobile-record-actions button.is-danger{background:#ff453a14;border-color:#ff453a38;color:#ff8a83}.sd-audit-card h3{color:#f9fafb;color:var(--text-primary);font-size:.96rem;line-height:1.3;margin:12px 0 0;overflow-wrap:anywhere}.sd-audit-card p{color:#9ca3af;color:var(--text-secondary);font-size:.82rem;line-height:1.45;margin:8px 0 0;overflow-wrap:anywhere}.sd-audit-card>button{background:#0000;border:0;color:#0a84ff;color:var(--accent-primary);cursor:pointer;font-size:.76rem;font-weight:850;margin-top:10px;padding:0}.sd-audit-card pre{background:#00000038;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:7px;color:#9ca3af;color:var(--text-secondary);font-size:.72rem;line-height:1.45;margin:10px 0 0;max-height:240px;overflow:auto;padding:10px;white-space:pre-wrap;word-break:break-word}.sd-device-table td:nth-child(4){max-width:280px;overflow:visible;text-overflow:clip;white-space:normal}.sd-fact-row{grid-template-columns:minmax(92px,.7fr) minmax(0,1fr)}.sd-fact-row strong,.sd-metric-tile span,.sd-metric-tile strong{overflow:visible;overflow-wrap:anywhere;text-overflow:clip;white-space:normal}.sd-metric-tile{align-items:flex-start;flex-direction:column}.sd-edit-drawer{padding:16px}.sd-edit-drawer-header{flex-direction:column}.sd-edit-drawer-header button{align-self:flex-start}.sd-drawer-actions{margin:18px -16px -16px;padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.sd-pagination-footer .sd-row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.sd-pagination-footer .sd-row-actions button{width:100%}.sd-mobile-tabs{padding-bottom:calc(7px + env(safe-area-inset-bottom))}}@media (max-width:520px){.sd-main{padding:16px 10px calc(82px + env(safe-area-inset-bottom))}.sd-topbar{padding:0 10px}.sd-breadcrumb{min-width:0;overflow:hidden}.sd-breadcrumb span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-plan-pill{max-width:112px}.sd-plan-pill small{display:none}.sd-panel-header{padding:12px 12px 0}.sd-table-wrap{margin-inline:-10px;padding:10px 10px 12px}.sd-alert-history-card-list,.sd-audit-card-list,.sd-fleet-card-list,.sd-recent-alert-card-list,.sd-report-card-list,.sd-report-schedule-card-list,.sd-team-invite-card-list,.sd-team-member-card-list{padding:10px}.sd-audit-card-grid,.sd-mobile-fact-grid,.sd-mobile-record-grid{grid-template-columns:1fr}.sd-audit-card header,.sd-fleet-card-header,.sd-mobile-record-header{align-items:flex-start;flex-direction:column}.sd-audit-card time,.sd-fleet-card-header>span:last-child,.sd-mobile-record-header time{text-align:left}.sd-mobile-record-actions{display:grid;grid-template-columns:1fr}.sd-mobile-record-actions button{width:100%}.sd-table{font-size:.78rem;min-width:540px}.sd-table td,.sd-table th{padding:10px 8px}.sd-row-actions button{min-height:36px;padding:7px 9px}.sd-state-chip,.sd-status-label,.sd-status-pill{max-width:100%}.sd-settings-tabs{overflow-x:auto}.sd-settings-tabs button{min-width:-webkit-max-content;min-width:max-content}}.sd-inline-alert.is-success{background:#30d15814;border-color:#30d1583d;color:#30d158;color:var(--accent-success)}.sd-super-shell{background:linear-gradient(hsla(0,0%,100%,.022) 1px,#0000 0),linear-gradient(90deg,hsla(0,0%,100%,.022) 1px,#0000 0),#0b0f19;background:linear-gradient(hsla(0,0%,100%,.022) 1px,#0000 1px),linear-gradient(90deg,hsla(0,0%,100%,.022) 1px,#0000 1px),var(--bg-primary);background-size:64px 64px;color:#f9fafb;color:var(--text-primary);min-height:100vh}.sd-super-sidebar{background:#0b0f19f5;border-right:1px solid #ffffff0f;border-right:1px solid var(--border-subtle);box-shadow:18px 0 50px #00000047;display:flex;flex-direction:column;inset:0 auto 0 0;padding:18px 12px;position:fixed;width:248px;z-index:40}.sd-super-brand{align-items:center;display:flex;gap:11px;padding:0 8px 20px}.sd-super-nav{display:flex;flex:1 1;flex-direction:column;gap:7px}.sd-super-nav-item{grid-gap:10px;align-items:center;background:#0000;border:1px solid #0000;border-radius:7px;color:#9ca3af;color:var(--text-secondary);cursor:pointer;display:grid;font-size:.86rem;font-weight:760;gap:10px;grid-template-columns:24px minmax(0,1fr);min-height:42px;padding:0 11px;text-align:left;width:100%}.sd-super-nav-item.is-active{background:#0a84ff26;border-color:#0a84ff61;color:#f9fafb;color:var(--text-primary)}.sd-super-workspace{margin-left:248px;min-width:0}.sd-super-topbar{align-items:center;background:#0b0f19f0;border-bottom:1px solid #ffffff0f;border-bottom:1px solid var(--border-subtle);display:flex;gap:16px;justify-content:space-between;min-height:58px;padding:0 24px;position:-webkit-sticky;position:sticky;top:0;z-index:30}.sd-super-page{margin:0 auto;padding:28px 24px 40px;width:min(100%,1500px)}.sd-super-notice{align-items:center;display:flex;gap:12px;justify-content:space-between}.sd-super-notice button{background:#0000;border:0;color:currentColor;cursor:pointer;font-size:.76rem;font-weight:850;padding:0}.sd-super-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.sd-super-form-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));padding:16px}.sd-super-create-tenant{grid-template-columns:repeat(5,minmax(0,1fr))}.sd-super-create-tenant .sd-primary-button{align-self:end;width:100%}.sd-super-search{align-items:center;background:#111827b8;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:7px;display:flex;gap:8px;min-width:min(360px,100%);padding:7px 9px}.sd-super-search span{color:#6b7280;color:var(--text-muted);font-size:.68rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase}.sd-super-search input{background:#0000;border:0;box-shadow:none;color:#f9fafb;color:var(--text-primary);flex:1 1;min-width:0;padding:2px}.sd-super-tenant-table{min-width:980px}.sd-mobile-record-fact select,.sd-super-tenant-table select{color:#f9fafb;color:var(--text-primary);min-height:34px;width:100%}.sd-super-tenant-card-list{display:none}.sd-super-metric-grid,.sd-super-plan-distribution,.sd-super-plan-grid{grid-gap:12px;display:grid;gap:12px;padding:16px}.sd-super-plan-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.sd-super-plan-card{background:#0b0f195c;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:8px;border-radius:var(--radius);display:flex;flex-direction:column;gap:14px;min-width:0;padding:14px}.sd-super-plan-card header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.sd-super-plan-card strong{color:#f9fafb;color:var(--text-primary);display:block;font-size:1rem}.sd-super-plan-card span.sd-mono{color:#6b7280;color:var(--text-muted);display:block;font-size:.74rem;margin-top:4px}.sd-super-feature-list{display:flex;flex-wrap:wrap;gap:7px}.sd-super-limit-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.sd-super-feature-badge{background:#ffffff0a;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:999px;color:#6b7280;color:var(--text-muted);font-size:.7rem;font-weight:800;padding:5px 8px}.sd-super-feature-badge.is-active{background:#30d15814;border-color:#30d15833;color:#30d158;color:var(--accent-success)}.sd-super-admin-grid,.sd-super-metrics-layout{grid-gap:14px;align-items:start;display:grid;gap:14px;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr)}.sd-super-analytics-grid{grid-gap:14px;align-items:start;display:grid;gap:14px;grid-template-columns:minmax(0,1.75fr) minmax(300px,.85fr)}.sd-super-chart-panel{min-width:0;overflow:hidden}.sd-super-chart-panel .sd-panel-header{align-items:flex-start}.sd-super-chart-body{min-height:320px;padding:8px 16px 16px}.sd-super-chart-body .sd-mobile-empty-card,.sd-super-donut-chart .sd-mobile-empty-card{display:grid;min-height:220px;place-items:center}.sd-super-chart-stat-strip{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));min-width:min(330px,100%)}.sd-super-chart-panel .recharts-cartesian-axis-tick-value,.sd-super-chart-panel .recharts-legend-item-text{font-family:var(--font-sans)}.sd-super-donut-layout{grid-gap:10px;display:grid;gap:10px;padding:8px 16px 16px}.sd-super-donut-chart{min-height:230px}.sd-super-donut-legend{display:flex;flex-direction:column;gap:8px}.sd-super-donut-legend div{grid-gap:8px;align-items:center;background:#0b0f1961;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:7px;display:grid;gap:8px;grid-template-columns:10px minmax(0,1fr) auto;padding:9px 10px}.sd-super-donut-legend i{border-radius:3px;display:block;height:10px;width:10px}.sd-super-donut-legend span{color:#9ca3af;color:var(--text-secondary);font-size:.8rem;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-super-donut-legend strong{color:#f9fafb;color:var(--text-primary);font-family:var(--font-mono);font-size:.88rem}.sd-super-capacity-list{display:flex;flex-direction:column;gap:16px;padding:18px 16px 20px}.sd-super-capacity-row{display:flex;flex-direction:column;gap:8px;min-width:0}.sd-super-capacity-row>div:first-child{align-items:baseline;display:flex;gap:10px;justify-content:space-between}.sd-super-capacity-row span{color:#9ca3af;color:var(--text-secondary);font-size:.82rem;font-weight:750}.sd-super-capacity-row strong{color:#f9fafb;color:var(--text-primary);font-family:var(--font-mono);font-size:.88rem;white-space:nowrap}.sd-super-capacity-row small{color:#6b7280;color:var(--text-muted);font-size:.74rem}.sd-super-capacity-track{background:#0b0f19b8;border-radius:999px;height:12px;overflow:hidden}.sd-super-capacity-track i{border-radius:inherit;display:block;height:100%;min-width:8px}.sd-super-capacity-track i.is-blue{background:linear-gradient(90deg,#0a84ff,#38bdf8)}.sd-super-capacity-track i.is-success{background:linear-gradient(90deg,#30d158,#86efac)}.sd-super-capacity-track i.is-warning{background:linear-gradient(90deg,#ff9f0a,#fde68a)}.sd-super-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sd-super-plan-distribution{grid-template-columns:1fr}.sd-super-detail,.sd-super-plan-distribution div{background:#0b0f1961;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:7px;min-width:0;padding:11px}.sd-super-detail span,.sd-super-plan-distribution span{color:#6b7280;color:var(--text-muted);display:block;font-size:.66rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase}.sd-super-detail strong,.sd-super-plan-distribution strong{color:#f9fafb;color:var(--text-primary);display:block;font-size:1rem;margin-top:7px;overflow-wrap:anywhere}.sd-super-admin-list,.sd-super-tenant-admin-list,.sd-super-usage-list{display:flex;flex-direction:column;gap:10px;padding:16px}.sd-super-admin-row,.sd-super-usage-row{align-items:center;background:#0b0f1961;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:7px;display:flex;gap:12px;justify-content:space-between;min-width:0;padding:11px}.sd-super-admin-row span,.sd-super-usage-row span{color:#6b7280;color:var(--text-muted);display:block;font-size:.74rem}.sd-super-admin-row strong,.sd-super-usage-row strong{color:#f9fafb;color:var(--text-primary);display:block;overflow-wrap:anywhere}.sd-super-usage-row small{color:#9ca3af;color:var(--text-secondary);overflow-wrap:anywhere}.sd-super-inline-edit{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr)) auto auto;width:100%}.sd-super-inline-edit input{min-width:0}.sd-super-form-stack{display:flex;flex-direction:column;gap:12px;padding:16px}.sd-super-form-stack .sd-primary-button{align-self:flex-start}.sd-super-modal-overlay{align-items:center;background:#0000009e;display:flex;inset:0;justify-content:center;padding:18px;position:fixed;z-index:120}.sd-super-modal{background:#1f2937;background:var(--bg-elevated);border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:8px;border-radius:var(--radius);box-shadow:0 18px 40px #00000047;box-shadow:var(--shadow-card);max-height:min(820px,calc(100vh - 36px));overflow:auto;width:min(720px,100%)}.sd-super-modal-body{display:flex;flex-direction:column;gap:14px;padding:16px}.sd-super-detail-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.sd-super-admin-editor{background:#0b0f1957;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:8px;border-radius:var(--radius);padding-bottom:14px}.sd-super-helper{color:#6b7280;color:var(--text-muted);font-size:.82rem;line-height:1.5;margin:0;padding:0 16px}.sd-super-feature-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.sd-no-features-card{max-width:720px}.sd-no-features-card>p{color:#9ca3af;color:var(--text-secondary);line-height:1.55;margin:0;padding:0 16px 16px}.sd-super-audit-filter-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));padding:16px}.sd-super-audit-actions{align-items:flex-end;display:flex;gap:8px}.sd-super-audit-table{min-width:1120px}.sd-super-audit-table td{vertical-align:top}.sd-pagination-controls{align-items:center;display:flex;gap:8px}.sd-pagination-controls button{background:#111827cc;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:7px;color:#9ca3af;color:var(--text-secondary);cursor:pointer;font-size:.76rem;font-weight:850;padding:8px 10px}.sd-pagination-controls button:disabled{cursor:not-allowed;opacity:.46}.sd-super-audit-card-list{display:none}.sd-super-severity{border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:999px;display:inline-flex;font-size:.68rem;font-weight:850;justify-content:center;letter-spacing:.08em;min-width:72px;padding:5px 8px;text-transform:uppercase}.sd-super-severity.is-info{background:#0a84ff14;border-color:#0a84ff38;color:#9fd0ff}.sd-super-severity.is-warning{background:#ff9f0a1a;border-color:#ff9f0a38;color:#ff9f0a;color:var(--accent-warning)}.sd-super-severity.is-error{background:#ff453a17;border-color:#ff453a3d;color:#ff8a83}.sd-super-severity.is-critical{background:#ff453a29;border-color:#ff453a57;color:#ffb4ae}.sd-super-metadata{margin-top:8px}.sd-super-metadata summary{color:#0a84ff;color:var(--accent-primary);cursor:pointer;font-size:.76rem;font-weight:800}.sd-super-metadata pre{background:#00000042;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:7px;color:#9ca3af;color:var(--text-secondary);font-size:.72rem;line-height:1.45;max-width:min(640px,74vw);overflow:auto;padding:10px}.sd-drawer-actions button.is-danger{background:#ff453a17;border-color:#ff453a3d;color:#ff8a83}@media (max-width:1180px){.sd-super-create-tenant{grid-template-columns:repeat(2,minmax(0,1fr))}.sd-super-create-tenant .sd-primary-button{grid-column:1/-1}.sd-super-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sd-super-admin-grid,.sd-super-analytics-grid,.sd-super-metrics-layout{grid-template-columns:1fr}.sd-super-chart-stat-strip{min-width:0}}@media (max-width:860px){.sd-super-sidebar{transform:translateX(-104%);transition:transform .22s ease}.sd-super-sidebar.is-open{transform:translateX(0)}.sd-super-workspace{margin-left:0}.sd-super-topbar{background:#0b0f19fa;box-shadow:0 10px 28px #0000003d;min-height:58px;padding:0 12px}.sd-super-topbar .sd-secondary-button{display:none}.sd-super-page{padding:18px 12px 86px;width:100%}.sd-super-audit-filter-grid,.sd-super-create-tenant,.sd-super-detail-grid,.sd-super-feature-grid,.sd-super-form-grid,.sd-super-limit-grid,.sd-super-metric-grid{grid-template-columns:1fr}.sd-super-audit-actions{align-items:stretch;flex-direction:column}.sd-super-audit-actions button,.sd-super-search{width:100%}.sd-super-audit-table-wrap,.sd-super-tenant-table-wrap{display:none}.sd-super-audit-card-list,.sd-super-tenant-card-list{display:flex;flex-direction:column;gap:10px;padding:12px}.sd-super-admin-list,.sd-super-audit-filter-grid,.sd-super-capacity-list,.sd-super-chart-body,.sd-super-donut-layout,.sd-super-form-grid,.sd-super-form-stack,.sd-super-metric-grid,.sd-super-modal-body,.sd-super-plan-distribution,.sd-super-plan-grid,.sd-super-tenant-admin-list,.sd-super-usage-list{padding:12px}.sd-super-admin-row,.sd-super-usage-row{align-items:flex-start;flex-direction:column}.sd-super-inline-edit{grid-template-columns:1fr}.sd-super-inline-edit button{width:100%}.sd-super-chart-stat-strip{grid-template-columns:1fr;width:100%}.sd-super-capacity-row>div:first-child{align-items:flex-start;flex-direction:column}.sd-super-modal-overlay{align-items:stretch;padding:12px}.sd-super-modal{max-height:calc(100vh - 24px)}}@media (max-width:520px){.sd-super-page{padding:16px 10px calc(82px + env(safe-area-inset-bottom))}.sd-super-kpi-grid{display:flex;margin:0 -10px;overflow-x:auto;padding:0 10px 4px;scroll-snap-type:x mandatory}.sd-super-kpi-grid .sd-kpi-card{min-width:184px;scroll-snap-align:start}.sd-super-plan-card header{flex-direction:column}.sd-super-form-stack .sd-primary-button{width:100%}}.sd-builder-page,.sd-overview-dashboard-section{display:flex;flex-direction:column;gap:14px}.sd-overview-dashboard-title{margin-top:4px}.sd-overview-dashboard-picker{align-items:center;background:#111827d1;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:7px;display:flex;gap:9px;min-width:min(320px,100%);padding:7px 9px}.sd-overview-dashboard-picker span{color:#6b7280;color:var(--text-muted);font-size:.66rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase}.sd-overview-dashboard-picker select{background:#0000;border:0;box-shadow:none;color:#f9fafb;color:var(--text-primary);flex:1 1;font-size:.82rem;font-weight:780;min-width:0}.sd-builder-loading{color:#9ca3af;color:var(--text-secondary);padding:24px}.sd-builder-toolbar{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:minmax(280px,1fr) minmax(0,auto) auto;padding:16px}.sd-builder-toolbar-main{align-items:center;display:flex;flex-wrap:wrap;gap:12px;min-width:0}.sd-builder-select-label{align-items:center;background:#0b0f198f;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:7px;display:flex;gap:10px;min-width:min(100%,320px);padding:7px 9px}.sd-builder-select-label span{color:#6b7280;color:var(--text-muted);font-size:.66rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase}.sd-builder-select{background:#0000;border:0;box-shadow:none;color:#f9fafb;color:var(--text-primary);flex:1 1;font-size:.84rem;font-weight:740;min-width:0}.sd-builder-state-strip{align-items:center;display:flex;flex-wrap:wrap;gap:7px}.sd-builder-badge{align-items:center;background:#111827b3;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:999px;color:#9ca3af;color:var(--text-secondary);display:inline-flex;font-size:.68rem;font-weight:850;min-height:26px;padding:0 9px;text-transform:uppercase;white-space:nowrap}.sd-builder-badge.is-default,.sd-builder-badge.is-editable{background:#30d15814;border-color:#30d15833;color:#30d158;color:var(--accent-success)}.sd-builder-badge.is-dirty{background:#ff9f0a1a;border-color:#ff9f0a3d;color:#ff9f0a;color:var(--accent-warning)}.sd-builder-badge.is-readonly{background:#0a84ff14;border-color:#0a84ff38;color:#9fd0ff}.sd-builder-badge.is-alarm{background:#ff453a1a;border-color:#ff453a47;color:#ff453a;color:var(--accent-danger)}.sd-builder-badge.is-limit{background:#ff9f0a1a;border-color:#ff9f0a4d;color:#ff9f0a;color:var(--accent-warning)}.sd-builder-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.sd-builder-button,.sd-builder-icon-button,.sd-builder-sound-button{align-items:center;background:#ffffff0a;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:7px;color:#f9fafb;color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:.76rem;font-weight:850;gap:7px;justify-content:center;min-height:34px;padding:7px 10px;white-space:nowrap}.sd-builder-button svg,.sd-builder-sound-button svg{flex:0 0 auto;height:15px;width:15px}.sd-builder-button span,.sd-builder-sound-button span{overflow:hidden;text-overflow:ellipsis}.sd-builder-button:hover,.sd-builder-icon-button:hover,.sd-builder-sound-button:hover{border-color:#0a84ff52;color:#0a84ff;color:var(--accent-primary)}.sd-builder-button.is-create{background:#30d15814;border-color:#30d15842;color:#7cf59b}.sd-builder-button.is-template{background:#0a84ff17;border-color:#0a84ff47;color:#9fd0ff}.sd-builder-button.is-edit{background:#ff9f0a14;border-color:#ff9f0a3d;color:#ffd59a}.sd-builder-button.is-default-action{background:#30d1580f;border-color:#30d15833;color:#30d158;color:var(--accent-success)}.sd-builder-button.is-save{background:#0a84ff24;border-color:#0a84ff70;color:#cfe7ff}.sd-builder-button.is-add{box-shadow:0 10px 26px #0a84ff2e}.sd-builder-button.is-add,.sd-builder-button.is-primary{background:#0a84ff;background:var(--accent-primary);border-color:#0a84ffb8;color:#fff}.sd-builder-button.is-danger,.sd-builder-icon-button.is-danger{background:#ff453a14;border-color:#ff453a3d;color:#ff8a83}.sd-builder-button.is-disabled,.sd-builder-button:disabled{cursor:default;opacity:.45}.sd-builder-sound-button{color:#9ca3af;color:var(--text-secondary)}.sd-builder-sound-button svg{color:#6b7280;color:var(--text-muted)}.sd-builder-sound-button.is-on{background:#ff453a17;border-color:#ff453a47;color:#ff8a83}.sd-builder-sound-button.is-on svg{color:#ff453a;color:var(--accent-danger);filter:drop-shadow(0 0 8px rgba(255,69,58,.48))}.sd-builder-stat-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.sd-builder-stat{background:linear-gradient(180deg,#1f2937bd,#111827eb);border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:8px;border-radius:var(--radius);box-shadow:0 18px 40px #00000047;box-shadow:var(--shadow-card);min-width:0;padding:15px}.sd-builder-stat span{color:#9ca3af;color:var(--text-secondary);font-size:.67rem;font-weight:850;letter-spacing:.18em;text-transform:uppercase}.sd-builder-stat strong{color:#f9fafb;color:var(--text-primary);display:block;font-family:SFMono-Regular,Cascadia Code,Roboto Mono,ui-monospace,monospace;font-size:1.55rem;font-weight:850;margin-top:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-builder-stat p{color:#6b7280;color:var(--text-muted);font-size:.76rem;margin:5px 0 0}.sd-builder-stat.is-blue strong{color:#0a84ff;color:var(--accent-primary)}.sd-builder-stat.is-success strong{color:#30d158;color:var(--accent-success)}.sd-builder-stat.is-danger strong{color:#ff453a;color:var(--accent-danger)}.sd-builder-empty{display:grid;min-height:320px;padding:34px 22px;place-items:center;text-align:center}.sd-builder-empty-mark{background:#0a84ff1f;border:1px solid #0a84ff47;border-radius:10px;color:#9fd0ff;display:grid;font-family:SFMono-Regular,Cascadia Code,Roboto Mono,ui-monospace,monospace;font-size:.82rem;font-weight:900;height:54px;place-items:center;width:54px}.sd-builder-empty h3{color:#f9fafb;color:var(--text-primary);font-size:1rem;margin:14px 0 0}.sd-builder-empty p{color:#9ca3af;color:var(--text-secondary);font-size:.86rem;margin:7px auto 17px;max-width:430px}.sd-builder-empty-actions{display:flex;flex-wrap:wrap;gap:9px;justify-content:center}.sd-builder-canvas{animation:sdBuilderCanvasDrift 18s linear infinite;background:linear-gradient(rgba(10,132,255,.045) 1px,#0000 0),linear-gradient(90deg,rgba(10,132,255,.045) 1px,#0000 0),linear-gradient(180deg,#1f29379e,#111827eb);background-size:36px 36px,36px 36px,auto;overflow:hidden;padding:8px}.sd-builder-grid{min-height:560px}.sd-builder-grid .react-grid-item>.sd-builder-widget{height:100%}.sd-builder-grid .react-grid-item.react-grid-placeholder{background:#0a84ff2e;border:1px solid #0a84ff61;border-radius:8px;border-radius:var(--radius);opacity:1}.sd-builder-grid .react-grid-item.react-draggable-dragging{z-index:20}.sd-builder-grid .react-resizable-handle:after{border-color:#0a84ffb8}.sd-builder-widget{--widget-accent:var(--accent-primary);animation:sdBuilderWidgetIn .38s ease both;background:linear-gradient(180deg,#1f2937b8,#111827f2),#111827;background:linear-gradient(180deg,#1f2937b8,#111827f2),var(--bg-secondary);border:1px solid color-mix(in srgb,var(--widget-accent) 12%,var(--border-subtle));border-radius:8px;border-radius:var(--radius);box-shadow:0 16px 34px #00000038;color:#f9fafb;color:var(--text-primary);display:flex;flex-direction:column;height:100%;min-width:0;overflow:hidden;position:relative;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.sd-builder-widget:before{background:linear-gradient(90deg,#0000,var(--widget-accent),#0000);content:"";height:2px;inset:0 0 auto;opacity:.72;position:absolute}.sd-builder-widget:after{background:radial-gradient(circle at 16% 0,color-mix(in srgb,var(--widget-accent) 10%,#0000),#0000 38%);content:"";inset:0;opacity:.72;pointer-events:none;position:absolute}.sd-builder-widget-type-kpi{--widget-accent:var(--accent-success)}.sd-builder-widget-type-consumption,.sd-builder-widget-type-gps_map,.sd-builder-widget-type-timeseries{--widget-accent:var(--accent-primary)}.sd-builder-widget-type-gauge,.sd-builder-widget-type-tank{--widget-accent:var(--accent-warning)}.sd-builder-widget-type-state,.sd-builder-widget-type-status{--widget-accent:#22d3ee}.sd-builder-widget-type-alerts{--widget-accent:var(--accent-danger)}.sd-builder-widget-type-text{--widget-accent:var(--text-secondary)}.sd-builder-widget.has-active-alarm{--widget-accent:var(--accent-danger);animation:sdBuilderWidgetIn .38s ease both,sdBuilderAlarmPulse 1.8s ease-in-out infinite;border-color:#ff453a6b}.sd-builder-widget:hover{border-color:color-mix(in srgb,var(--widget-accent) 34%,var(--border-subtle));box-shadow:0 20px 42px #00000042;transform:translateY(-1px)}.sd-builder-widget-header{align-items:center;background:#0b0f1942;border-bottom:1px solid #ffffff0f;border-bottom:1px solid var(--border-subtle);display:flex;gap:9px;min-height:56px;padding:10px 12px;position:relative;z-index:2}.sd-builder-drag-handle{grid-gap:3px;cursor:grab;display:grid;flex:0 0 auto;gap:3px;width:18px}.sd-builder-drag-handle span{background:#6b7280;background:var(--text-muted);border-radius:999px;display:block;height:2px;width:15px}.sd-builder-widget-icon{background:color-mix(in srgb,var(--widget-accent) 10%,#0000);border:1px solid color-mix(in srgb,var(--widget-accent) 26%,var(--border-subtle));border-radius:8px;box-shadow:0 0 18px color-mix(in srgb,var(--widget-accent) 12%,#0000);color:var(--widget-accent);display:grid;flex:0 0 auto;height:32px;place-items:center;width:32px}.sd-builder-widget-icon svg{height:17px;width:17px}.sd-builder-widget-title{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.sd-builder-widget-title span{color:var(--widget-accent);font-size:.62rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase}.sd-builder-widget-title strong{color:#f9fafb;color:var(--text-primary);font-size:.86rem;font-weight:760;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-builder-widget-actions{align-items:center;display:flex;gap:5px;justify-content:flex-end}.sd-builder-live-badge{align-items:center;background:color-mix(in srgb,var(--widget-accent) 8%,#0000);border:1px solid color-mix(in srgb,var(--widget-accent) 22%,var(--border-subtle));border-radius:999px;color:#9ca3af;color:var(--text-secondary);display:inline-flex;flex:0 0 auto;font-size:.65rem;font-weight:850;gap:7px;letter-spacing:.08em;min-height:26px;padding:0 8px;text-transform:uppercase;white-space:nowrap}.sd-builder-live-badge span{background:var(--widget-accent);border-radius:999px;box-shadow:0 0 12px color-mix(in srgb,var(--widget-accent) 52%,#0000);height:7px;width:7px}.sd-builder-live-badge.is-unbound{background:#ff9f0a14;border-color:#ff9f0a38;color:#ffd59a}.sd-builder-live-badge.is-unbound span{background:#ff9f0a;background:var(--accent-warning)}.sd-builder-widget-action{background:#ffffff0a;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:7px;color:#9ca3af;color:var(--text-secondary);cursor:pointer;display:grid;height:30px;padding:0;place-items:center;width:30px}.sd-builder-widget-action:hover{border-color:#0a84ff57;color:#0a84ff;color:var(--accent-primary)}.sd-builder-widget-action.is-danger:hover{border-color:#ff453a4d;color:#ff8a83}.sd-builder-widget-action svg{height:15px;width:15px}.sd-builder-alarm-badge{align-items:center;border:1px solid;border-radius:999px;display:inline-flex;font-size:.62rem;font-weight:900;min-height:24px;padding:0 8px;text-transform:uppercase;white-space:nowrap}.sd-builder-alarm-badge.is-critical{background:#ff453a1a;border-color:#ff453a47;color:#ff453a;color:var(--accent-danger)}.sd-builder-alarm-badge.is-warning{background:#ff9f0a1a;border-color:#ff9f0a47;color:#ff9f0a;color:var(--accent-warning)}.sd-builder-widget-body{display:flex;flex:1 1;flex-direction:column;min-height:0;padding:12px;position:relative;z-index:2}.sd-builder-widget-footer{grid-gap:8px;background:#0b0f1933;border-top:1px solid #ffffff0f;border-top:1px solid var(--border-subtle);display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));padding:9px 12px 10px;position:relative;z-index:2}.sd-builder-widget-footer span{color:#9ca3af;color:var(--text-secondary);font-family:SFMono-Regular,Cascadia Code,Roboto Mono,ui-monospace,monospace;font-size:.68rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-builder-widget-footer b{color:#6b7280;color:var(--text-muted);display:block;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.56rem;font-weight:850;letter-spacing:.16em;margin-bottom:2px;text-transform:uppercase}.sd-builder-kpi-content{position:relative}.sd-builder-kpi-content:after{animation:sdBuilderRailPulse 2.3s ease-in-out infinite;background:linear-gradient(90deg,#0000,var(--widget-accent),#0000);border-radius:999px;content:"";height:3px;opacity:.7;width:min(78%,180px)}.sd-builder-gauge-progress{filter:drop-shadow(0 0 8px currentColor);transition:stroke-dasharray .8s ease,stroke .3s ease}.sd-builder-gauge-content{flex-direction:column;gap:7px;min-height:0;width:100%}.sd-builder-gauge-content svg{flex:1 1 auto;max-width:min(100%,430px);min-height:0}.sd-builder-gauge-content.has-alarm-action svg{max-height:calc(100% - 34px)!important}.sd-builder-gauge-ack{align-items:center;background:color-mix(in srgb,#ff453a 15%,#0000);background:color-mix(in srgb,var(--alarm-color,var(--accent-danger)) 15%,#0000);border:1px solid color-mix(in srgb,#ff453a 48%,#ffffff0f);border:1px solid color-mix(in srgb,var(--alarm-color,var(--accent-danger)) 48%,var(--border-subtle));border-radius:7px;color:color-mix(in srgb,#ff453a 82%,#f9fafb);color:color-mix(in srgb,var(--alarm-color,var(--accent-danger)) 82%,var(--text-primary));cursor:pointer;display:inline-flex;flex:0 0 auto;font-size:.68rem;font-weight:900;justify-content:center;letter-spacing:.05em;min-height:26px;padding:0 11px;text-transform:uppercase;white-space:nowrap}.sd-builder-gauge-ack:hover{background:color-mix(in srgb,#ff453a 22%,#0000);background:color-mix(in srgb,var(--alarm-color,var(--accent-danger)) 22%,#0000)}.sd-builder-gauge-ack.is-critical{--alarm-color:var(--accent-danger)}.sd-builder-gauge-ack.is-warning{--alarm-color:var(--accent-warning)}.sd-builder-runtime-content{display:flex;flex:1 1;flex-direction:column;gap:10px;min-height:0}.sd-builder-runtime-head{align-items:flex-start;background:radial-gradient(circle at 12% 0,#30d1581f,#0000 42%),#0b0f1947;border:1px solid hsla(0,0%,100%,.055);border-radius:10px;display:flex;gap:10px;justify-content:space-between;padding:9px 10px}.sd-builder-runtime-head>div:first-child{min-width:0}.sd-builder-runtime-head span{color:#6b7280;color:var(--text-muted);display:block;font-size:.6rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.sd-builder-runtime-head strong{color:#f9fafb;color:var(--text-primary);display:block;font-family:SFMono-Regular,Cascadia Code,Roboto Mono,ui-monospace,monospace;font-size:.72rem;font-weight:850;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-builder-runtime-kpis{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:5px;justify-content:flex-end}.sd-builder-runtime-kpis span{align-items:center;background:color-mix(in srgb,#0a84ff 10%,#0000);background:color-mix(in srgb,var(--runtime-color,var(--accent-primary)) 10%,#0000);border:1px solid color-mix(in srgb,#0a84ff 28%,#ffffff0f);border:1px solid color-mix(in srgb,var(--runtime-color,var(--accent-primary)) 28%,var(--border-subtle));border-radius:999px;color:color-mix(in srgb,#0a84ff 74%,#f9fafb);color:color-mix(in srgb,var(--runtime-color,var(--accent-primary)) 74%,var(--text-primary));display:inline-flex;font-size:.58rem;font-weight:900;letter-spacing:0;min-height:22px;padding:0 7px;white-space:nowrap}.sd-builder-runtime-kpis span.is-on{background:color-mix(in srgb,#30d158 12%,#0000);background:color-mix(in srgb,var(--runtime-color,var(--accent-success)) 12%,#0000);border-color:color-mix(in srgb,#30d158 30%,#ffffff0f);border-color:color-mix(in srgb,var(--runtime-color,var(--accent-success)) 30%,var(--border-subtle));color:color-mix(in srgb,#30d158 78%,#f9fafb);color:color-mix(in srgb,var(--runtime-color,var(--accent-success)) 78%,var(--text-primary))}.sd-builder-runtime-kpis span.is-unknown{background:color-mix(in srgb,#94a3b8 9%,#0000);background:color-mix(in srgb,var(--runtime-color,#94a3b8) 9%,#0000);border-color:color-mix(in srgb,#94a3b8 24%,#ffffff0f);border-color:color-mix(in srgb,var(--runtime-color,#94a3b8) 24%,var(--border-subtle));color:#cbd5e1}.sd-builder-runtime-chart{flex:1 1;min-height:0}.sd-builder-consumption-content{display:flex;flex:1 1;flex-direction:column;gap:10px;min-height:0}.sd-builder-consumption-summary{grid-gap:10px;display:grid;gap:10px;grid-template-columns:minmax(0,1.1fr) minmax(180px,.9fr)}.sd-builder-consumption-warning{align-items:flex-start;background:#ff9f0a14;border:1px solid #ff9f0a38;border-radius:9px;color:#ffd59a;display:flex;font-size:.68rem;gap:8px;line-height:1.35;padding:8px 9px}.sd-builder-consumption-warning strong{color:#ff9f0a;color:var(--accent-warning);flex:0 0 auto;font-size:.58rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.sd-builder-consumption-warning span{min-width:0}.sd-builder-consumption-warning.is-quality{background:#ff9f0a1a;border-color:#ff9f0a4d}.sd-builder-consumption-facts,.sd-builder-consumption-insights span,.sd-builder-consumption-total{background:radial-gradient(circle at 12% 0,#2dd4a81f,#0000 42%),#0b0f194d;border:1px solid hsla(0,0%,100%,.055);border-radius:10px}.sd-builder-consumption-total{min-width:0;padding:10px}.sd-builder-consumption-facts span,.sd-builder-consumption-insights b,.sd-builder-consumption-total span{color:#6b7280;color:var(--text-muted);display:block;font-size:.58rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.sd-builder-consumption-total strong{color:#f9fafb;color:var(--text-primary);font-size:clamp(1.35rem,3vw,2rem);font-weight:880;line-height:1;margin-top:4px}.sd-builder-consumption-total em,.sd-builder-consumption-total strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-builder-consumption-total em{color:#9ca3af;color:var(--text-secondary);font-size:.72rem;font-style:normal;font-weight:760;margin-top:6px}.sd-builder-consumption-facts{grid-gap:6px;display:grid;gap:6px;padding:8px}.sd-builder-consumption-facts span{background:hsla(0,0%,100%,.035);border-radius:7px;min-width:0;padding:6px 8px}.sd-builder-consumption-facts b{color:#f9fafb;color:var(--text-primary);display:block;font-family:SFMono-Regular,Cascadia Code,Roboto Mono,ui-monospace,monospace;font-size:.72rem;font-weight:850;letter-spacing:0;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;text-transform:none;white-space:nowrap}.sd-builder-consumption-chart{flex:1 1;min-height:0}.sd-builder-consumption-insights{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.sd-builder-consumption-insights span{color:#9ca3af;color:var(--text-secondary);font-family:SFMono-Regular,Cascadia Code,Roboto Mono,ui-monospace,monospace;font-size:.68rem;font-weight:760;min-width:0;overflow:hidden;padding:8px;text-overflow:ellipsis;white-space:nowrap}.sd-builder-consumption-insights b{font-family:Inter,ui-sans-serif,system-ui,sans-serif;margin-bottom:3px}.sd-builder-tank-content{padding:1px 0 2px;width:100%}.sd-builder-tank-readout{align-items:flex-end;display:flex;gap:12px;justify-content:space-between;width:min(100%,290px)}.sd-builder-tank-readout div{align-items:baseline;display:flex;gap:5px;min-width:0}.sd-builder-tank-readout strong{color:#f9fafb;color:var(--text-primary);font-size:clamp(1.05rem,2.4vw,1.32rem);font-weight:860;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-builder-tank-readout em,.sd-builder-tank-readout span{color:#6b7280;color:var(--text-muted);font-size:.68rem;font-style:normal;font-weight:760;white-space:nowrap}.sd-builder-tank-readout em{color:color-mix(in srgb,var(--tank-color) 68%,#9ca3af);color:color-mix(in srgb,var(--tank-color) 68%,var(--text-secondary));font-size:.72rem;font-weight:900;letter-spacing:.01em;text-shadow:0 0 12px color-mix(in srgb,var(--tank-color) 24%,#0000)}.sd-builder-tank-stage{grid-gap:14px;align-items:center;display:grid;gap:14px;grid-template-columns:minmax(92px,118px) minmax(96px,1fr);width:min(100%,290px)}.sd-builder-tank-vessel{background:linear-gradient(90deg,#ffffff14,#0000 18%,#0000 82%,#ffffff0f),#0206179e;border:1px solid color-mix(in srgb,var(--tank-color) 28%,#ffffff1a);border-radius:14px 14px 10px 10px;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.035),inset 0 14px 24px hsla(0,0%,100%,.035),0 16px 34px color-mix(in srgb,var(--tank-color) 12%,#0000);height:124px;overflow:hidden;position:relative}.sd-builder-tank-vessel:after,.sd-builder-tank-vessel:before{background:hsla(0,0%,100%,.045);border:1px solid #ffffff14;border-radius:999px;content:"";height:7px;left:18px;position:absolute;right:18px;z-index:4}.sd-builder-tank-vessel:before{top:8px}.sd-builder-tank-vessel:after{bottom:8px}.sd-builder-tank-liquid{background:linear-gradient(180deg,color-mix(in srgb,var(--tank-color) 92%,#fff 8%) 0,var(--tank-color) 64%,color-mix(in srgb,var(--tank-color) 78%,#000 22%) 100%);bottom:0;box-shadow:inset 0 14px 24px #ffffff1f,0 -8px 26px color-mix(in srgb,var(--tank-color) 34%,#0000);height:var(--tank-level);left:0;overflow:hidden;position:absolute;right:0;transition:height .9s cubic-bezier(.2,.82,.2,1),background .3s ease,box-shadow .3s ease}.sd-builder-tank-liquid:after{animation:sdBuilderTankFlow 3.2s linear infinite;background:linear-gradient(115deg,#ffffff2e 0 9%,#0000 9% 20%,#ffffff1f 20% 29%,#0000 29% 45%);background-size:62px 62px;content:"";inset:0;opacity:.42;position:absolute}.sd-builder-tank-wave{animation:sdBuilderTankWave 4.4s ease-in-out infinite;background:color-mix(in srgb,var(--tank-color) 82%,#fff 18%);border-radius:45%;height:24px;left:-35%;opacity:.92;position:absolute;top:-11px;width:170%;z-index:3}.sd-builder-tank-wave.is-back{animation-direction:reverse;animation-duration:6.2s;opacity:.36;top:-8px}.sd-builder-tank-bubble{animation:sdBuilderTankBubble 4s ease-in infinite;background:#ffffffa3;border-radius:999px;bottom:8px;box-shadow:0 0 8px #fff6;height:5px;position:absolute;width:5px;z-index:2}.sd-builder-tank-bubble.is-one{left:26%}.sd-builder-tank-bubble.is-two{animation-delay:1.1s;animation-duration:4.8s;height:4px;left:55%;width:4px}.sd-builder-tank-bubble.is-three{animation-delay:2.2s;animation-duration:3.7s;height:3px;left:72%;width:3px}.sd-builder-tank-markers{display:flex;flex-direction:column;inset:7px 7px;justify-content:space-between;pointer-events:none;position:absolute;z-index:5}.sd-builder-tank-markers span{align-items:center;display:flex;gap:5px}.sd-builder-tank-markers span:after{background:#ffffff1f;content:"";flex:1 1;height:1px}.sd-builder-tank-markers b{color:#f9fafb94;font-family:SFMono-Regular,Cascadia Code,Roboto Mono,ui-monospace,monospace;font-size:.54rem;font-weight:800;text-shadow:0 1px 5px #00000059;width:24px}.sd-builder-tank-highlight{background:linear-gradient(180deg,#ffffff47,#0000 72%);border-radius:999px;bottom:18px;left:12px;opacity:.5;pointer-events:none;position:absolute;top:18px;width:9px;z-index:6}.sd-builder-tank-side{display:flex;flex-direction:column;gap:10px;min-width:0}.sd-builder-tank-state{align-items:center;background:color-mix(in srgb,var(--tank-color) 10%,#0000);border:1px solid color-mix(in srgb,var(--tank-color) 26%,var(--border-subtle));border-radius:999px;color:color-mix(in srgb,var(--tank-color) 72%,#f9fafb);color:color-mix(in srgb,var(--tank-color) 72%,var(--text-primary));display:inline-flex;font-size:.66rem;font-weight:850;gap:7px;max-width:100%;padding:5px 8px;text-transform:uppercase;white-space:nowrap;width:-webkit-fit-content;width:fit-content}.sd-builder-tank-state i{background:var(--tank-color);border-radius:999px;box-shadow:0 0 14px color-mix(in srgb,var(--tank-color) 68%,#0000);height:7px;width:7px}.sd-builder-tank-freshness{color:#6b7280;color:var(--text-muted);font-size:.64rem;font-weight:760;text-transform:uppercase}.sd-builder-tank-freshness.is-stale{color:#ff9f0a;color:var(--accent-warning)}.sd-builder-tank-capacity{display:flex;flex-direction:column;gap:1px}.sd-builder-tank-capacity b{color:#f9fafb;color:var(--text-primary);font-family:SFMono-Regular,Cascadia Code,Roboto Mono,ui-monospace,monospace;font-size:.9rem;font-weight:850}.sd-builder-tank-capacity span{color:#6b7280;color:var(--text-muted);font-size:.64rem;font-weight:760;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.sd-builder-tank-pipe{background:hsla(0,0%,100%,.035);border:1px solid hsla(0,0%,100%,.075);border-radius:999px;height:8px;overflow:hidden;position:relative}.sd-builder-tank-pipe span{animation:sdBuilderTankPipe 1.8s linear infinite;background:linear-gradient(90deg,#0000,var(--tank-color),#0000);border-radius:inherit;inset:1px auto 1px -42%;position:absolute;width:42%}.sd-builder-gps-trail{stroke-dasharray:2 1;animation:sdBuilderGpsTrail 2.4s linear infinite}.sd-builder-gps-current{animation:sdBuilderGpsPulse 1.8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.sd-builder-status-dot{animation:sdBuilderStatusPulse 1.8s ease-in-out infinite}.sd-builder-state-content .sd-builder-status-dot{animation:none}.sd-builder-device-status-content{display:flex;flex:1 1;flex-direction:column;gap:10px;min-height:0}.sd-builder-device-status-summary{grid-gap:10px;align-items:center;background:radial-gradient(circle at 12% 0,#22d3ee24,#0000 42%),#0b0f1952;border:1px solid hsla(0,0%,100%,.055);border-radius:10px;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto minmax(78px,auto);padding:9px 10px}.sd-builder-device-status-summary>div:first-child{min-width:0}.sd-builder-device-status-summary span{color:#6b7280;color:var(--text-muted);display:block;font-size:.6rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.sd-builder-device-status-summary strong{color:#f9fafb;color:var(--text-primary);display:block;font-family:SFMono-Regular,Cascadia Code,Roboto Mono,ui-monospace,monospace;font-size:1rem;font-weight:900;margin-top:3px}.sd-builder-device-health-ring{background:radial-gradient(circle,#111827 0 58%,#0000 59%),conic-gradient(#30d158 var(--health-pct),#ff453a75 0);background:radial-gradient(circle,#111827 0 58%,#0000 59%),conic-gradient(var(--accent-success) var(--health-pct),#ff453a75 0);border-radius:999px;box-shadow:0 0 22px #22d3ee14;display:grid;flex:0 0 auto;height:42px;place-items:center;width:42px}.sd-builder-device-health-ring b{color:#f9fafb;color:var(--text-primary);font-family:SFMono-Regular,Cascadia Code,Roboto Mono,ui-monospace,monospace;font-size:.64rem;font-weight:900}.sd-builder-device-status-counts{grid-gap:4px;display:grid;gap:4px;justify-items:end}.sd-builder-device-status-counts span{align-items:center;border:1px solid;border-radius:999px;display:inline-flex;font-size:.58rem;font-weight:900;letter-spacing:0;min-height:21px;padding:0 7px;text-transform:uppercase;white-space:nowrap}.sd-builder-device-status-counts .is-online{background:#30d15817;border-color:#30d1583d;color:#30d158;color:var(--accent-success)}.sd-builder-device-status-counts .is-offline{background:#ff453a17;border-color:#ff453a3d;color:#ff8a83}.sd-builder-device-status-list{display:flex;flex:1 1;flex-direction:column;gap:7px;min-height:0;overflow-y:auto;padding-right:3px}.sd-builder-device-status-row{grid-gap:8px;align-items:center;background:hsla(0,0%,100%,.025);border:1px solid hsla(0,0%,100%,.045);border-radius:9px;display:grid;gap:8px;grid-template-columns:4px 12px minmax(0,1fr) auto;overflow:hidden;padding:8px;position:relative}.sd-builder-device-status-row:after{background:linear-gradient(90deg,#0000,#ffffff0a,#0000);content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transform:translateX(-100%)}.sd-builder-device-status-row.is-online:after{animation:sdBuilderDeviceSweep 4.8s ease-in-out infinite}.sd-builder-device-status-rail{background:#ff453a;background:var(--accent-danger);border-radius:999px;box-shadow:0 0 14px #ff453a47;height:100%;min-height:34px;width:4px}.sd-builder-device-status-row.is-online .sd-builder-device-status-rail{background:#30d158;background:var(--accent-success);box-shadow:0 0 14px #30d15852}.sd-builder-device-status-row .sd-builder-status-dot{background:#ff7a3d;border-radius:999px;box-shadow:0 0 10px #ff7a3d85;height:9px;width:9px}.sd-builder-device-status-row.is-online .sd-builder-status-dot{background:#30d158;background:var(--accent-success);box-shadow:0 0 12px #30d1588f}.sd-builder-device-status-main{display:flex;flex-direction:column;gap:2px;min-width:0}.sd-builder-device-status-main strong{color:#f9fafb;color:var(--text-primary);font-size:.78rem;font-weight:820;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-builder-device-status-main span{color:#6b7280;color:var(--text-muted);font-size:.66rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-builder-device-status-meta{grid-gap:4px;display:grid;gap:4px;justify-items:end}.sd-builder-device-status-badge{align-items:center;background:#ff453a1a;border:1px solid #ff453a3d;border-radius:6px;color:#ff8a83;display:inline-flex;font-size:.58rem;font-weight:900;min-height:20px;padding:0 6px;text-transform:uppercase}.sd-builder-device-status-row.is-online .sd-builder-device-status-badge{background:#30d1581a;border-color:#30d1583d;color:#30d158;color:var(--accent-success)}.sd-builder-device-status-meta time{color:#6b7280;color:var(--text-muted);font-family:SFMono-Regular,Cascadia Code,Roboto Mono,ui-monospace,monospace;font-size:.62rem;white-space:nowrap}.sd-builder-overview-head{align-items:center;display:flex;gap:14px;justify-content:space-between;padding:16px}.sd-builder-overview-head>div:first-child>span{color:#0a84ff;color:var(--accent-primary);font-size:.68rem;font-weight:850;letter-spacing:.18em}.sd-builder-overview-head h2{color:#f9fafb;color:var(--text-primary);font-size:1rem;margin:5px 0 0}.sd-builder-overview-head p{color:#9ca3af;color:var(--text-secondary);font-size:.82rem;margin:5px 0 0}.sd-builder-page.is-overview-embed{gap:10px}.sd-builder-page.is-overview-embed .sd-builder-canvas{min-height:300px}.sd-builder-page.is-overview-embed .sd-builder-grid{min-height:340px}.sd-builder-mobile-stack{display:flex;flex-direction:column;gap:12px}.sd-builder-mobile-widget{min-width:0}.sd-builder-mobile-widget>.sd-builder-widget{height:100%}.sd-builder-mobile-widget .sd-builder-widget-body{min-height:0;overflow:hidden}.sd-builder-mobile-widget .sd-builder-widget-type-consumption .sd-builder-widget-body,.sd-builder-mobile-widget .sd-builder-widget-type-gauge .sd-builder-widget-body,.sd-builder-mobile-widget .sd-builder-widget-type-gps_map .sd-builder-widget-body,.sd-builder-mobile-widget .sd-builder-widget-type-timeseries .sd-builder-widget-body{padding:10px}.sd-builder-mobile-widget .sd-builder-widget-type-consumption .sd-builder-widget-body,.sd-builder-mobile-widget .sd-builder-widget-type-timeseries .sd-builder-widget-body{min-height:190px}.sd-builder-mobile-widget .sd-builder-widget-type-gauge .sd-builder-widget-body{min-height:205px}.sd-builder-mobile-widget .sd-builder-widget-type-tank .sd-builder-widget-body{min-height:180px}.sd-builder-mobile-widget .sd-builder-widget-type-alerts .sd-builder-widget-body,.sd-builder-mobile-widget .sd-builder-widget-type-status .sd-builder-widget-body{min-height:200px}.sd-builder-mobile-widget .sd-builder-runtime-content{gap:8px}.sd-builder-mobile-widget .sd-builder-runtime-chart{min-height:142px}.sd-builder-mobile-widget .sd-builder-consumption-insights,.sd-builder-mobile-widget .sd-builder-consumption-summary{grid-template-columns:1fr}.sd-builder-mobile-widget .sd-builder-consumption-chart{min-height:136px}.sd-builder-modal-overlay{align-items:center;background:#000000ad;display:flex;inset:0;justify-content:center;padding:18px;position:fixed;z-index:1000}.sd-builder-modal-card{background:#1f2937;background:var(--bg-elevated);border:1px solid #ffffff1f;border:1px solid var(--border-strong);border-radius:8px;border-radius:var(--radius);box-shadow:0 30px 80px #0000007a;color:#f9fafb;color:var(--text-primary);max-height:calc(100vh - 36px);overflow-y:auto;padding:18px;width:min(760px,100%)}.sd-builder-config-card{width:min(680px,100%)}.sd-builder-modal-header{align-items:flex-start;border-bottom:1px solid #ffffff0f;border-bottom:1px solid var(--border-subtle);display:flex;gap:16px;justify-content:space-between;margin-bottom:16px;padding-bottom:14px}.sd-builder-modal-header span{color:#0a84ff;color:var(--accent-primary);font-size:.66rem;font-weight:850;letter-spacing:.18em;text-transform:uppercase}.sd-builder-modal-header h3{color:#f9fafb;color:var(--text-primary);font-size:1.12rem;margin:5px 0 0}.sd-builder-template-save{margin-bottom:14px}.sd-builder-template-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.sd-builder-template-card{background:#0b0f1961;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:8px;border-radius:var(--radius);display:flex;flex-direction:column;min-width:0;padding:13px}.sd-builder-template-head{align-items:flex-start;display:flex;gap:10px;justify-content:space-between}.sd-builder-template-head strong{color:#f9fafb;color:var(--text-primary);font-size:.9rem;min-width:0;overflow:hidden;text-overflow:ellipsis}.sd-builder-template-count{color:#6b7280;color:var(--text-muted);font-size:.72rem;font-weight:800;margin:auto 0 10px}.sd-builder-type-picker{grid-gap:9px;display:grid;gap:9px;grid-template-columns:repeat(auto-fill,minmax(185px,1fr))}.sd-builder-type-button{grid-gap:10px;align-items:start;background:#0b0f1947;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:8px;color:#9ca3af;color:var(--text-secondary);cursor:pointer;display:grid;font-size:.76rem;font-weight:780;gap:10px;grid-template-columns:34px minmax(0,1fr);min-width:0;padding:10px;text-align:left;transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease}.sd-builder-type-button:hover{background:#0a84ff14;border-color:#0a84ff61;color:#f9fafb;color:var(--text-primary);transform:translateY(-1px)}.sd-builder-type-button.is-selected{background:linear-gradient(135deg,#0a84ff2e,#30d15814);border-color:color-mix(in srgb,#0a84ff 58%,#ffffff0f);border-color:color-mix(in srgb,var(--accent-primary) 58%,var(--border-subtle));box-shadow:inset 0 1px 0 #ffffff0d,0 14px 32px #0a84ff1a;color:#f9fafb;color:var(--text-primary)}.sd-builder-type-icon{background:#0a84ff14;border:1px solid #0a84ff3d;border-radius:8px;color:#0a84ff;color:var(--accent-primary);display:grid;flex:0 0 auto;height:34px;place-items:center;width:34px}.sd-builder-type-button.is-selected .sd-builder-type-icon{background:#30d1581f;border-color:#30d15859;color:#30d158;color:var(--accent-success)}.sd-builder-type-icon svg{height:18px;width:18px}.sd-builder-type-copy{grid-gap:3px;display:grid;gap:3px;min-width:0}.sd-builder-type-button strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-builder-type-button small{-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#6b7280;color:var(--text-muted);display:-webkit-box;font-size:.66rem;font-weight:560;line-height:1.28;overflow:hidden}.sd-builder-inline-help{color:#6b7280;color:var(--text-muted);font-size:.7rem;font-style:italic;line-height:1.45;margin:6px 0 0;opacity:.72}.sd-builder-chart-style-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:6px}.sd-builder-chart-style-card{grid-gap:10px;align-items:center;background:#0b0f1947;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:10px;color:#9ca3af;color:var(--text-secondary);cursor:pointer;display:grid;gap:10px;grid-template-columns:54px minmax(0,1fr);min-width:0;padding:10px;text-align:left;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}.sd-builder-chart-style-card:hover{background:#0a84ff12;border-color:#0a84ff57;transform:translateY(-1px)}.sd-builder-chart-style-card.is-selected{background:linear-gradient(135deg,#0a84ff29,#30d1580f);border-color:#0a84ff8f;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.055),0 16px 30px #0a84ff1f}.sd-builder-chart-style-preview{align-items:flex-end;background:linear-gradient(#94a3b812 1px,#0000 0),linear-gradient(90deg,#94a3b812 1px,#0000 0),#050a146b;background-size:100% 13px,13px 100%,auto;border:1px solid #0a84ff2e;border-radius:8px;display:flex;gap:4px;height:42px;padding:8px;position:relative}.sd-builder-chart-style-preview i{border-radius:999px;display:block;flex:1 1}.sd-builder-chart-style-preview.is-line{align-items:center}.sd-builder-chart-style-preview.is-line i,.sd-builder-chart-style-preview.is-step i,.sd-builder-chart-style-preview.is-threshold i{background:#0a84ff;background:var(--accent-primary);box-shadow:0 0 14px #0a84ff59;height:3px}.sd-builder-chart-style-preview.is-line i:first-child,.sd-builder-chart-style-preview.is-threshold i:first-child{transform:translateY(7px) rotate(-18deg)}.sd-builder-chart-style-preview.is-line i:nth-child(2),.sd-builder-chart-style-preview.is-threshold i:nth-child(2){transform:translateY(1px) rotate(-10deg)}.sd-builder-chart-style-preview.is-line i:nth-child(3),.sd-builder-chart-style-preview.is-threshold i:nth-child(3){transform:translateY(-4px) rotate(10deg)}.sd-builder-chart-style-preview.is-line i:nth-child(4),.sd-builder-chart-style-preview.is-threshold i:nth-child(4){transform:translateY(-8px) rotate(18deg)}.sd-builder-chart-style-preview.is-threshold{align-items:center}.sd-builder-chart-style-preview.is-threshold:after,.sd-builder-chart-style-preview.is-threshold:before{border-top:1px dashed;content:"";height:1px;left:6px;opacity:.82;position:absolute;right:6px}.sd-builder-chart-style-preview.is-threshold:before{border-color:#ff453ad1;top:13px}.sd-builder-chart-style-preview.is-threshold:after{border-color:#ff9f0ad1;top:23px}.sd-builder-chart-style-preview.is-step{align-items:center}.sd-builder-chart-style-preview.is-step i{background:#22d3ee;box-shadow:0 0 14px #22d3ee59}.sd-builder-chart-style-preview.is-step i:first-child,.sd-builder-chart-style-preview.is-step i:nth-child(2){transform:translateY(7px)}.sd-builder-chart-style-preview.is-step i:nth-child(3),.sd-builder-chart-style-preview.is-step i:nth-child(4){transform:translateY(-4px)}.sd-builder-chart-style-preview.is-bar i:first-child{background:#0a84ffeb;height:44%}.sd-builder-chart-style-preview.is-bar i:nth-child(2){background:#22d3eee0;height:76%}.sd-builder-chart-style-preview.is-bar i:nth-child(3){background:#0a84ffd1;height:58%}.sd-builder-chart-style-preview.is-bar i:nth-child(4){background:#a78bfadb;height:90%}.sd-builder-chart-style-preview.is-runtime i:first-child{background:#30d158eb;height:70%}.sd-builder-chart-style-preview.is-runtime i:nth-child(2){background:#ff453ae6;height:38%}.sd-builder-chart-style-preview.is-runtime i:nth-child(3){background:#30d158eb;height:88%}.sd-builder-chart-style-preview.is-runtime i:nth-child(4){background:#64748beb;height:52%}.sd-builder-chart-style-copy{grid-gap:3px;display:grid;gap:3px;min-width:0}.sd-builder-chart-style-copy em{color:#0a84ff;color:var(--accent-primary);font-size:.58rem;font-style:normal;font-weight:850;letter-spacing:.16em;text-transform:uppercase}.sd-builder-chart-style-copy strong{color:#f9fafb;color:var(--text-primary);font-size:.82rem;line-height:1.16;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-builder-chart-style-copy small{-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#6b7280;color:var(--text-muted);display:-webkit-box;font-size:.68rem;line-height:1.35;overflow:hidden}.sd-builder-mode-guide{grid-gap:12px;align-items:start;background:radial-gradient(circle at 15% 0,#0a84ff24,#0000 34%),rgba(10,132,255,.045);border:1px solid #0a84ff2e;border-radius:10px;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) minmax(170px,.82fr);margin-top:10px;padding:12px}.sd-builder-mode-guide.is-runtime{background:radial-gradient(circle at 15% 0,#30d1581f,#0000 34%),#0a84ff0a;border-color:#30d1582e}.sd-builder-mode-guide.is-threshold{background:radial-gradient(circle at 15% 0,#ff9f0a21,#0000 34%),rgba(10,132,255,.035);border-color:#ff9f0a2e}.sd-builder-mode-guide.is-step{background:radial-gradient(circle at 15% 0,#22d3ee1f,#0000 34%),rgba(10,132,255,.035);border-color:#22d3ee2e}.sd-builder-mode-guide.is-bar{background:radial-gradient(circle at 15% 0,#a78bfa1f,#0000 34%),rgba(10,132,255,.035);border-color:#a78bfa33}.sd-builder-mode-guide span{color:#0a84ff;color:var(--accent-primary);font-size:.6rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase}.sd-builder-mode-guide.is-runtime span{color:#30d158;color:var(--accent-success)}.sd-builder-mode-guide.is-threshold span{color:#ff9f0a;color:var(--accent-warning)}.sd-builder-mode-guide.is-step span{color:#67e8f9}.sd-builder-mode-guide.is-bar span{color:#c4b5fd}.sd-builder-mode-guide strong{color:#f9fafb;color:var(--text-primary);display:block;font-size:.88rem;margin-top:4px}.sd-builder-mode-guide p{color:#9ca3af;color:var(--text-secondary);font-size:.74rem;line-height:1.45;margin:5px 0 0}.sd-builder-mode-guide ul{grid-gap:5px;color:#9ca3af;color:var(--text-secondary);display:grid;font-size:.72rem;gap:5px;line-height:1.35;margin:0;padding-left:17px}.sd-builder-device-metric-list{grid-gap:8px;background:#0b0f1938;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:10px;display:grid;gap:8px;padding:8px}.sd-builder-device-metric-row{grid-gap:10px;align-items:center;background:hsla(0,0%,100%,.025);border:1px solid hsla(0,0%,100%,.045);border-radius:8px;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) minmax(170px,.8fr);padding:9px}.sd-builder-device-metric-source{display:flex;flex-direction:column;gap:3px;min-width:0}.sd-builder-device-metric-source strong{color:#f9fafb;color:var(--text-primary);font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-builder-device-metric-source span{color:#6b7280;color:var(--text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.68rem;line-height:1.35;overflow-wrap:anywhere}.sd-builder-runtime-rule-list{grid-gap:9px;background:#0b0f1938;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:10px;display:grid;gap:9px;padding:8px}.sd-builder-runtime-rule{grid-gap:8px;background:hsla(0,0%,100%,.025);border:1px solid hsla(0,0%,100%,.045);border-radius:8px;display:grid;gap:8px;padding:9px}.sd-builder-runtime-rule-head{align-items:center;display:flex;gap:10px;justify-content:space-between}.sd-builder-runtime-rule-head span{color:#6b7280;color:var(--text-muted);font-size:.64rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.sd-builder-runtime-rule-grid{grid-gap:8px;align-items:end;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) minmax(128px,.85fr) minmax(0,1fr) 58px}.sd-builder-runtime-rule-grid label{display:flex;flex-direction:column;gap:5px;min-width:0}.sd-builder-runtime-rule-grid label>span{color:#6b7280;color:var(--text-muted);font-size:.6rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.sd-builder-runtime-color{background:#ffffff0a;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:8px;cursor:pointer;height:36px;padding:3px;width:100%}.sd-builder-runtime-color.is-wide{height:38px}.sd-builder-config-note{background:hsla(0,0%,100%,.025);border:1px solid #94a3b81a;border-left:2px solid #0a84ff6b;border-radius:8px;color:#9ca3af;color:var(--text-secondary);font-size:.72rem;line-height:1.45;margin-top:10px;opacity:.82;padding:8px 10px}.sd-builder-config-note.is-warning{background:#ff9f0a12;border-color:#ff9f0a38 #ff9f0a38 #ff9f0a38 #ff9f0a;border-left-color:var(--accent-warning);color:#ffd59a;opacity:1}.sd-builder-modal-actions{display:flex;gap:9px;justify-content:flex-end;margin-top:18px}@media (max-width:1180px){.sd-builder-toolbar{grid-template-columns:1fr}.sd-builder-actions{justify-content:flex-start}.sd-builder-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:860px){.sd-mobile-tabs{grid-template-columns:repeat(auto-fit,minmax(58px,1fr))}.sd-builder-toolbar{padding:14px}.sd-overview-dashboard-picker{min-width:0;width:100%}.sd-builder-actions,.sd-builder-toolbar-main{align-items:stretch;flex-direction:column}.sd-builder-select-label{min-width:0;width:100%}.sd-builder-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.sd-builder-button,.sd-builder-sound-button{justify-content:center;width:100%}.sd-builder-stat-grid{display:flex;margin:0 -12px;overflow-x:auto;padding:0 12px 4px;scroll-snap-type:x mandatory}.sd-builder-stat{min-width:176px;scroll-snap-align:start}.sd-builder-widget-header{align-items:flex-start;flex-wrap:wrap}.sd-builder-widget-actions{justify-content:flex-start;width:100%}.sd-builder-mobile-widget .sd-builder-widget-header{align-items:center;flex-wrap:nowrap;gap:8px;min-height:54px;padding:9px 10px}.sd-builder-mobile-widget .sd-builder-widget-title strong{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;line-height:1.12;overflow:hidden;text-overflow:ellipsis;white-space:normal}.sd-builder-mobile-widget .sd-builder-widget-actions{flex:0 0 auto;justify-content:flex-end;margin-left:auto;width:auto}.sd-builder-mobile-widget .sd-builder-alarm-badge{flex:0 0 auto;margin-left:auto}.sd-builder-drag-handle,.sd-builder-live-badge{display:none}.sd-builder-widget-footer{grid-template-columns:1fr}.sd-builder-mobile-widget .sd-builder-widget-footer{gap:6px;padding:8px 10px 9px}.sd-builder-page.is-overview-embed .sd-builder-overview-head{align-items:stretch;flex-direction:column;padding:14px}.sd-builder-page.is-overview-embed .sd-builder-canvas{min-height:0;padding:8px}.sd-builder-modal-overlay{align-items:stretch;padding:12px}.sd-builder-modal-card{max-height:calc(100vh - 24px)}.sd-builder-type-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.sd-builder-chart-style-grid,.sd-builder-device-metric-row,.sd-builder-mode-guide{grid-template-columns:1fr}.sd-builder-runtime-rule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sd-builder-modal-actions{display:grid;grid-template-columns:1fr}}@media (max-width:520px){.sd-builder-actions{grid-template-columns:1fr}.sd-builder-state-strip{width:100%}.sd-builder-badge{flex:1 1;justify-content:center}.sd-builder-template-grid,.sd-builder-type-picker{grid-template-columns:1fr}.sd-builder-chart-style-card{grid-template-columns:48px minmax(0,1fr)}.sd-builder-chart-style-preview{height:38px}.sd-builder-runtime-rule-grid{grid-template-columns:1fr}.sd-builder-runtime-head{flex-direction:column}.sd-builder-runtime-kpis{justify-content:flex-start}.sd-builder-device-status-summary{grid-template-columns:minmax(0,1fr) auto}.sd-builder-device-status-counts{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));justify-items:stretch}.sd-builder-device-status-counts span{justify-content:center}.sd-builder-device-status-row{grid-template-columns:4px 12px minmax(0,1fr)}.sd-builder-device-status-meta{grid-column:3;grid-template-columns:auto 1fr;justify-items:start}}@keyframes sdBuilderWidgetIn{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes sdBuilderAlarmPulse{0%,to{box-shadow:0 16px 34px #00000038,0 0 0 #ff453a00}50%{box-shadow:0 16px 34px #00000038,0 0 0 4px #ff453a1a}}@keyframes sdBuilderRailPulse{0%,to{opacity:.38;transform:scaleX(.72)}50%{opacity:.9;transform:scaleX(1)}}@keyframes sdBuilderTankFlow{to{background-position:62px 0}}@keyframes sdBuilderTankWave{0%{transform:translateX(-5%) translateY(0) rotate(0deg)}50%{transform:translateX(5%) translateY(2px) rotate(1deg)}to{transform:translateX(-5%) translateY(0) rotate(0deg)}}@keyframes sdBuilderTankBubble{0%{opacity:0;transform:translateY(0) scale(.72)}18%{opacity:.65}to{opacity:0;transform:translateY(-82px) scale(1.18)}}@keyframes sdBuilderTankPipe{0%{transform:translateX(0)}to{transform:translateX(340%)}}@keyframes sdBuilderDeviceSweep{0%,72%{opacity:0;transform:translateX(-100%)}82%{opacity:1}to{opacity:0;transform:translateX(100%)}}@keyframes sdBuilderTankLegacyFlow{0%,to{background-position:0 0}50%{background-position:0 100%}}@keyframes sdBuilderGpsTrail{to{stroke-dashoffset:-12}}@keyframes sdBuilderGpsPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.72;transform:scale(1.45)}}@keyframes sdBuilderStatusPulse{0%,to{transform:scale(1)}50%{transform:scale(1.28)}}@keyframes sdBuilderCanvasDrift{to{background-position:36px 36px,36px 36px,0 0}}@media (prefers-reduced-motion:reduce){.sd-builder-canvas,.sd-builder-device-status-row.is-online:after,.sd-builder-gps-current,.sd-builder-gps-trail,.sd-builder-kpi-content:after,.sd-builder-status-dot,.sd-builder-tank-bubble,.sd-builder-tank-fill,.sd-builder-tank-liquid:after,.sd-builder-tank-pipe span,.sd-builder-tank-wave,.sd-builder-widget,.sd-builder-widget.has-active-alarm{animation:none!important}.sd-builder-gauge-progress,.sd-builder-widget{transition:none!important}}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;will-change:width,height;z-index:1}.react-grid-item.react-draggable-dragging{transition:none;will-change:transform;z-index:3}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;-webkit-user-select:none;-o-user-select:none;user-select:none;z-index:2}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{height:20px;position:absolute;width:20px}.react-grid-item>.react-resizable-handle:after{border-bottom:2px solid #0006;border-right:2px solid #0006;bottom:3px;content:"";height:5px;position:absolute;right:3px;width:5px}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;cursor:sw-resize;left:0;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;cursor:se-resize;right:0}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{cursor:nw-resize;left:0;top:0;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{cursor:ne-resize;right:0;top:0;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e,.react-grid-item>.react-resizable-handle.react-resizable-handle-w{cursor:ew-resize;margin-top:-10px;top:50%}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{cursor:ns-resize;left:50%;margin-left:-10px}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgd2lkdGg9IjYiIGhlaWdodD0iNiI+PHBhdGggZD0iTTYgNkgwVjQuMmg0LjJWMEg2djZaIiBvcGFjaXR5PSIuMzAyIi8+PC9zdmc+);background-origin:content-box;background-position:100% 100%;background-repeat:no-repeat;box-sizing:border-box;height:20px;padding:0 3px 3px 0;position:absolute;width:20px}.react-resizable-handle-sw{bottom:0;cursor:sw-resize;left:0;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;cursor:se-resize;right:0}.react-resizable-handle-nw{cursor:nw-resize;left:0;top:0;transform:rotate(180deg)}.react-resizable-handle-ne{cursor:ne-resize;right:0;top:0;transform:rotate(270deg)}.react-resizable-handle-e,.react-resizable-handle-w{cursor:ew-resize;margin-top:-10px;top:50%}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{cursor:ns-resize;left:50%;margin-left:-10px}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}
/*# sourceMappingURL=main.fd2d05bb.css.map*/