:root{text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Avenir Next,Segoe UI,Trebuchet MS,sans-serif;font-weight:400;line-height:1.4}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{color:#0f172a;background:#f6f8fc}:root{--bg-app:#e8f1fb;--bg-shell:#ffffffeb;--bg-shell-strong:#fff;--bg-surface:#fff;--bg-surface-soft:#f0f7ff;--border:#c9daf0;--border-strong:#2563c847;--text-primary:#0f172a;--text-secondary:#475569;--text-tertiary:#64748b;--text-on-dark:#0f172a;--text-on-dark-muted:#64748b;--brand:#2563c8;--brand-light:#3b82e8;--brand-dark:#1d4fa8;--brand-glow:#60a5fa;--accent:var(--brand-light);--accent-strong:var(--brand);--accent-hover:var(--brand-dark);--accent-soft:#2563c81f;--accent-soft-strong:#2563c833;--accent-ring:#2563c852;--accent-gradient:linear-gradient(135deg, var(--brand-light) 0%, var(--brand) 55%, var(--brand-dark) 100%);--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--shadow-md:0 10px 28px #1d4e9e1f;--shadow-brand:0 4px 14px #2563c847;--shadow-glow:0 0 0 1px #2563c824, 0 16px 40px #1d4e9e24;--font-display:"Avenir Next", "Segoe UI", "Trebuchet MS", sans-serif}*{box-sizing:border-box;font-family:var(--font-display)}body{background:radial-gradient(circle at 12% -5%, #3b82f62e, transparent 42%), radial-gradient(circle at 88% 0%, #60a5fa1f, transparent 38%), linear-gradient(180deg, #f8fbff 0%, var(--bg-app) 100%);color:var(--text-primary);margin:0}.auth-screen{background:radial-gradient(circle at 15% 0%, #3b82f633, transparent 38%), radial-gradient(circle at 85% 15%, #60a5fa24, transparent 32%), linear-gradient(180deg, #f4f9ff 0%, var(--bg-app) 100%);justify-content:center;align-items:center;min-height:100vh;padding:1.25rem;display:flex}.auth-card{width:100%;max-width:440px;box-shadow:var(--shadow-glow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff5;border:1px solid #dbe5f4e6;border-radius:1.25rem;flex-direction:column;gap:1.5rem;padding:2rem;display:flex}.auth-header{text-align:center}.auth-brand-shell{background:linear-gradient(135deg,#3b82f633,#60a5fa24);border:1px solid #2563c840;border-radius:1rem;justify-content:center;align-items:center;width:4.75rem;height:4.75rem;margin-bottom:1rem;display:inline-flex}.brand-mark{background-image:url(/SA%20logo%20with%20transp%20bkgd.png);background-position:50%;background-repeat:no-repeat;background-size:contain;display:inline-block}.brand-mark--lg{width:4.1rem;height:4.1rem}.brand-mark--xl{width:5.9rem;height:5.9rem}.sidebar-brand-lockup{align-items:center;gap:.5rem;display:flex}.sidebar-home-btn{text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:0}.sidebar-brand-text{min-width:0}.auth-heading{color:var(--text-primary);margin:0 0 .5rem;font-size:1.5rem;font-weight:700}.auth-copy,.auth-footer{color:var(--text-secondary);font-size:.875rem}.auth-form{flex-direction:column;gap:1rem;display:flex}.auth-field{position:relative}.auth-field-icon{color:var(--text-tertiary);position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.auth-footer{text-align:center}.auth-link{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.auth-form .form-control::placeholder{color:#94a3b8;opacity:1}.auth-form select.form-control.auth-select-empty{color:#94a3b8}.auth-form select.form-control:not(.auth-select-empty){color:#0f172a}.auth-org-row{align-items:stretch;gap:.5rem;display:flex}.auth-org-row .form-control{flex:1;min-width:0}.auth-org-action-btn{color:#475569;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #e2e8f0;border-radius:.375rem;flex-shrink:0;justify-content:center;align-self:stretch;align-items:center;gap:.35rem;padding:0 .875rem;font-size:.8125rem;font-weight:500;line-height:1;transition:border-color .2s,color .2s,background-color .2s;display:inline-flex}.auth-org-action-btn:hover{color:var(--accent-strong);background:#1d8bff0f;border-color:#0f6fff73}.auth-readonly-field{cursor:default;color:#475569!important;background:#f8fafc!important}.auth-field-hint{color:#64748b;margin:.35rem 0 0;font-size:.75rem}.auth-field-hint--error{color:#dc2626}.invite-link-banner{background:#f0fdfa;border:1px solid #99f6e4;border-radius:8px;margin-top:.75rem;padding:.75rem}.invite-link-banner-label{color:#0f766e;margin:0 0 .5rem;font-size:.75rem;font-weight:600}.invite-link-banner-row{align-items:center;gap:.5rem;display:flex}.invite-link-banner-row .form-control{flex:1;font-size:.8rem}.auth-org-action-btn:focus-visible{border-color:var(--accent-strong);outline:none;box-shadow:0 0 0 2px #0f6fff2e}.app-layout{height:100vh;display:flex;overflow:hidden}.sidebar{width:240px;min-width:240px;color:var(--text-primary);border-right:1px solid var(--border-strong);background:linear-gradient(#fff 0%,#f2f8ff 100%);flex-direction:column;transition:transform .25s,width .25s,min-width .25s,opacity .2s;display:flex;box-shadow:4px 0 24px #1d4e9e0f}.sidebar-header{border-bottom:1px solid var(--border);background:linear-gradient(#ffffffe6,#f0f7ff99);padding:1.25rem 1rem}.sidebar-brand{letter-spacing:.05em;color:var(--text-secondary);margin-bottom:.25rem;font-size:.7rem;font-weight:600}.sidebar-title{color:var(--text-primary);align-items:center;gap:.5rem;margin:0;font-size:1.125rem;font-weight:700;display:flex}.sidebar-home-btn:hover .sidebar-title,.sidebar-home-btn:hover .sidebar-brand{color:var(--brand-dark)}.sidebar-desc{color:var(--text-secondary);margin-top:.5rem;font-size:.75rem;line-height:1.4}.sidebar-nav{flex-direction:column;flex:1;gap:.65rem;min-height:0;padding:.75rem .65rem 1rem;display:flex;overflow-y:auto}.sidebar-nav-section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--brand-light);margin:0;padding:.35rem .75rem .2rem;font-size:.625rem;font-weight:700}.sidebar-nav-section-toggle{cursor:pointer;letter-spacing:.06em;text-transform:uppercase;width:100%;color:var(--brand-light);text-align:left;background:0 0;border:none;border-radius:.375rem;justify-content:space-between;align-items:center;gap:.5rem;margin:0;padding:.45rem .75rem;font-size:.6875rem;font-weight:700;transition:background-color .15s,color .15s;display:flex}.sidebar-nav-section-toggle:hover{background-color:var(--accent-soft);color:var(--accent-strong)}.sidebar-nav-section-toggle.has-active,.sidebar-nav-section-toggle.is-expanded{color:var(--brand-dark)}.sidebar-nav-section-chevron{opacity:.65;flex-shrink:0;transition:transform .2s}.sidebar-nav-section-toggle.is-expanded .sidebar-nav-section-chevron{transform:rotate(180deg)}.sidebar-nav-subitems{border-left:2px solid #e2e8f0;flex-direction:column;gap:.15rem;margin:.1rem 0 .25rem .65rem;padding:.15rem 0 .15rem .55rem;display:flex}.nav-btn-sub{gap:.6rem;padding:.42rem .65rem;font-size:.8125rem}.sidebar-nav-section-items{flex-direction:column;gap:.2rem;display:flex}.nav-btn{cursor:pointer;width:100%;color:var(--text-secondary);text-align:left;box-sizing:border-box;background:0 0;border:none;border-radius:.375rem;align-items:center;gap:.75rem;padding:.5rem .75rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.nav-btn-external .nav-btn-label{flex:1;min-width:0}.nav-btn-external-icon{opacity:.45;flex-shrink:0;margin-left:auto}.nav-btn-external:hover .nav-btn-external-icon{opacity:.75}.nav-btn:hover{background-color:var(--accent-soft);color:var(--accent-strong)}.nav-btn.active,.nav-btn.active-global,.nav-btn.active-org{background:linear-gradient(90deg, var(--accent-soft-strong) 0%, #2563c814 100%);color:var(--brand-dark);box-shadow:inset 3px 0 0 var(--brand-light);font-weight:600}.sidebar-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:.5rem;padding:.65rem .75rem;display:flex;position:relative}.sidebar-account-profile{background:var(--bg-surface-soft);border-radius:.5rem;flex:1;align-items:center;gap:.65rem;min-width:0;padding:.5rem .55rem;display:flex}.sidebar-logout-menu-btn{flex-shrink:0;width:2rem;height:2rem}.sidebar-account-trigger{background:var(--bg-surface-soft);cursor:pointer;text-align:left;border:none;border-radius:.5rem;align-items:center;gap:.65rem;width:100%;padding:.5rem .55rem;transition:background-color .2s;display:flex}.sidebar-account-trigger:hover,.sidebar-account-trigger[aria-expanded=true]{background:var(--accent-soft)}.sidebar-account-menu{box-sizing:border-box;background:var(--bg-surface);border:1px solid var(--border);border-radius:.5rem;padding:.2rem;box-shadow:0 4px 12px #1d4e9e1a}.sidebar-account-menu-item{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:.375rem;align-items:center;gap:.45rem;padding:.45rem .6rem;font-size:.8125rem;font-weight:500;display:flex}.sidebar-account-menu-item:hover{background:var(--accent-soft);color:var(--accent-strong)}.user-avatar{background:var(--accent-gradient);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;font-size:.75rem;font-weight:700;display:flex;box-shadow:0 2px 8px #2563c859}.user-info .user-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;max-width:8.5rem;font-size:.8125rem;font-weight:500;overflow:hidden}.user-info .user-role{color:var(--text-secondary);text-transform:capitalize;font-size:.7rem}.main-area{flex-direction:column;flex:1;display:flex;overflow:hidden}.top-header{border-bottom:1px solid var(--border-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(90deg,#fff 0%,#f4f9ff 100%);flex-shrink:0;justify-content:space-between;align-items:center;height:3.5rem;padding:0 1.5rem;display:flex}.top-header-left{align-items:center;gap:.75rem;min-width:0;display:flex}.hamburger-btn{border:1px solid var(--border);width:2.25rem;height:2.25rem;color:var(--text-primary);cursor:pointer;background:#fff;border-radius:.375rem;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:all .2s;display:inline-flex}.hamburger-btn:hover{background-color:var(--accent-soft);border-color:var(--accent-ring);color:var(--brand)}.hamburger-btn svg{width:1.125rem;height:1.125rem}.breadcrumb{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.8125rem;font-weight:500;display:flex}.breadcrumb .active-global,.breadcrumb .active-org,.breadcrumb .breadcrumb-current{color:var(--accent-strong)}.breadcrumb-link{font:inherit;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:0;font-size:.8125rem;font-weight:500}.breadcrumb-link:hover{color:var(--accent-strong);text-decoration:underline}.header-actions{color:var(--text-secondary);align-items:center;gap:1rem;display:flex}.icon-btn{border:1px solid var(--border);width:2.25rem;height:2.25rem;color:var(--text-primary);cursor:pointer;background:#fff;border-radius:.375rem;justify-content:center;align-items:center;padding:0;line-height:0;transition:all .2s;display:inline-flex;position:relative}.icon-btn:hover{background-color:var(--accent-soft);border-color:var(--accent-ring);color:var(--brand)}.icon-btn.active-header-btn{border-color:var(--accent-ring);color:var(--brand-dark);box-shadow:var(--shadow-brand);background:linear-gradient(#3b82f629,#2563c81a)}.icon-btn svg{stroke-width:2px;width:1.125rem;height:1.125rem}.icon-btn-caret{opacity:.8;margin-left:.05rem;width:.7rem!important;height:.7rem!important}.header-dropdown{position:relative}.header-dropdown-menu{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:30;background:#fffffffa;border:1px solid #dbe5f4f2;border-radius:.85rem;min-width:17rem;padding:.4rem;position:absolute;top:calc(100% + .55rem);right:0;box-shadow:0 18px 40px #0f172a1f}.header-dropdown-menu--portal{z-index:10100;position:fixed}.header-dropdown-item{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:.7rem;align-items:center;gap:.75rem;padding:.75rem .8rem;transition:background-color .2s,color .2s,transform .2s;display:flex}.header-dropdown-item:hover{color:var(--accent-strong);background:#1d8bff14}.header-dropdown-item.active{color:var(--accent-strong);background:#1d8bff1f}.header-dropdown-item-icon{width:2rem;height:2rem;color:var(--accent-strong);background:#1d8bff14;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.header-dropdown-item-title{font-size:.875rem;font-weight:700;line-height:1.2}.header-dropdown-item-copy{color:var(--text-secondary);margin-top:.15rem;font-size:.72rem}.notification-dot{background-color:#ef4444;border-radius:9999px;width:.375rem;height:.375rem;position:absolute;top:.35rem;right:.35rem;box-shadow:0 0 0 2px #fff}.role-badge{text-overflow:ellipsis;white-space:nowrap;border-radius:9999px;max-width:min(20rem,42vw);padding:.25rem .625rem;font-size:.7rem;font-weight:600;overflow:hidden}.role-badge.global,.role-badge.org{color:var(--brand-dark);border:1px solid var(--accent-ring);background:linear-gradient(135deg,#3b82f62e,#2563c81f);box-shadow:0 1px 4px #2563c81f}.dashboard-content{background:radial-gradient(circle at 100% 0,#60a5fa1a,#0000 40%),linear-gradient(165deg,#e8f1fb 0%,#f4f9ff 40%,#fff 100%);flex-direction:column;flex:1;min-height:0;padding:1rem 1.25rem;display:flex;overflow:hidden}.app-view-panel{flex-direction:column;flex:1;min-height:0;display:none;overflow:hidden}.app-view-panel.is-active{display:flex}:is(.dashboard-content:has(.app-view-panel.is-active .id-reference-page),.dashboard-content:has(.app-view-panel.is-active .device-data-page),.dashboard-content:has(.app-view-panel.is-active .analytics-page--fill)){min-height:0;overflow:hidden}.app-layout.sidebar-collapsed .sidebar{opacity:0;pointer-events:none;width:0;min-width:0;transform:translate(-100%)}.sidebar-backdrop{display:none}.container{flex-direction:column;flex:1;gap:1rem;width:100%;max-width:1152px;min-height:0;margin:0 auto;display:flex}.container.home-page{gap:.75rem;min-height:0;overflow:hidden}.insights-dashboard{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:1rem;min-height:0;display:flex;overflow:auto}.insights-portfolio{flex-direction:row;align-items:stretch;gap:1.25rem;min-height:min(720px,100vh - 10rem)}.insights-portfolio-map-panel{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden;box-shadow:0 1px 3px #0f172a0f}.insights-portfolio-map-wrap{background:linear-gradient(#f8fbff 0%,#eef4fc 100%);flex:1;min-height:420px;padding:.75rem}.insights-portfolio-map{width:100%;height:100%;min-height:400px}.insights-state{transition:opacity .15s}.insights-site-marker{cursor:pointer}.insights-site-marker-btn{color:#16a34a;cursor:pointer;filter:drop-shadow(0 1px 2px #0f172a40);background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:0;display:flex;transform:translate(-11px,-22px)}.insights-site-marker.is-inactive .insights-site-marker-btn{color:#64748b}.insights-site-marker-btn:hover{color:#15803d;transform:translate(-11px,-22px)scale(1.08)}.insights-site-marker-label{fill:#334155;pointer-events:none;font-size:11px;font-weight:600}.insights-portfolio-legend{color:#64748b;background:#fafbfc;border-top:1px solid #f1f5f9;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem 1rem;font-size:.75rem;display:flex}.insights-temp-legend{align-items:center;gap:.5rem;display:flex}.insights-temp-gradient{background:linear-gradient(90deg,#3b82f6 0%,#22c55e 35%,#eab308 65%,#ef4444 100%);border-radius:999px;width:120px;height:8px}.insights-site-legend{gap:1rem;display:flex}.insights-site-legend .dot{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:.35rem;display:inline-block}.insights-site-legend .dot--active{background:#16a34a}.insights-site-legend .dot--inactive{background:#94a3b8}.insights-portfolio-kpis{flex-direction:column;flex:0 0 min(280px,32vw);justify-content:center;gap:2.5rem;padding:1.5rem 1rem;display:flex}.insights-portfolio-kpi-value{color:#0f172a;letter-spacing:-.02em;font-size:clamp(1.75rem,3vw,2.35rem);font-weight:700;line-height:1.1}.insights-portfolio-kpi-label{letter-spacing:.08em;text-transform:uppercase;color:#64748b;margin-top:.35rem;font-size:.7rem;font-weight:700}.insights-portfolio-kpi-note{color:#94a3b8;margin:0;font-size:.78rem;line-height:1.45}.insights-site-dashboard{padding-bottom:1.5rem}.insights-site-header{flex-wrap:wrap;align-items:flex-start;gap:1rem;display:flex}.insights-back-btn{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:.375rem;align-items:center;gap:.35rem;padding:.4rem .75rem;font-size:.8125rem;font-weight:500;display:inline-flex}.insights-back-btn:hover{background:#f8fafc;border-color:#cbd5e1}.insights-site-header-main h2{color:#0f172a;margin:0 0 .25rem;font-size:1.35rem;font-weight:700}.insights-site-header-main p{color:#64748b;margin:0;font-size:.875rem}.insights-status-pill{text-transform:capitalize;border-radius:999px;padding:.1rem .45rem;font-size:.72rem;font-weight:600;display:inline-block}.insights-status-pill--active{color:#15803d;background:#dcfce7}.insights-status-pill--inactive{color:#64748b;background:#f1f5f9}.insights-site-dashboard--v2 .insights-site-hero{border-bottom:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.25rem;padding:.25rem 0 .5rem;display:flex}.insights-site-hero-left{flex-direction:column;gap:.75rem;min-width:0;display:flex}.insights-site-hero-left h2{color:#0f172a;margin:0 0 .2rem;font-size:1.5rem;font-weight:700}.insights-site-hero-left p{color:#64748b;flex-wrap:wrap;align-items:center;gap:.35rem;margin:0;font-size:.875rem;display:flex}.insights-hero-sep{color:#cbd5e1}.insights-site-hero-score{flex-direction:column;flex-shrink:0;align-items:center;gap:.35rem;display:flex}.insights-site-hero-score-title{letter-spacing:.06em;text-transform:uppercase;color:#64748b;font-size:.7rem;font-weight:700}.dash-score-gauge{width:128px;height:128px;position:relative}.dash-score-gauge-svg{width:128px;height:128px}.dash-score-gauge-track{fill:none;stroke:#e2e8f0;stroke-width:10px}.dash-score-gauge-progress{fill:none;stroke-width:10px;stroke-linecap:round}.dash-score-gauge--good .dash-score-gauge-progress{stroke:var(--dash-semantic-good)}.dash-score-gauge--warn .dash-score-gauge-progress{stroke:var(--dash-semantic-warn)}.dash-score-gauge--bad .dash-score-gauge-progress{stroke:var(--dash-semantic-bad)}.dash-score-gauge-center{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.dash-score-gauge-value{color:#0f172a;font-size:1.75rem;font-weight:800;line-height:1}.dash-score-gauge-label{color:#64748b;margin-top:.15rem;font-size:.72rem;font-weight:600}.dash-score-gauge-caption{color:#94a3b8;text-align:center;max-width:140px;margin:.25rem 0 0;font-size:.68rem;line-height:1.35}.dash-metric-strip{grid-template-columns:repeat(6,minmax(0,1fr));gap:.65rem;display:grid}.dash-metric-tile{background:#fff;border:1px solid #e2e8f0;border-left:3px solid #cbd5e1;border-radius:.5rem;flex-direction:column;gap:.2rem;padding:.75rem .85rem;display:flex}.dash-metric-tile--good{border-left-color:#16a34a}.dash-metric-tile--warn{border-left-color:#d97706}.dash-metric-tile--neutral{border-left-color:#3b82f6}.dash-metric-tile-label{letter-spacing:.04em;text-transform:uppercase;color:#64748b;font-size:.7rem;font-weight:700}.dash-metric-tile-value{color:#0f172a;font-size:1.15rem;font-weight:700}.dash-metric-tile-detail{color:#94a3b8;font-size:.72rem;line-height:1.35}.insights-section-heading{color:#0ea5e9;align-items:flex-start;gap:.65rem;margin-bottom:.65rem;display:flex}.insights-section-heading .insights-section-title{margin:0}.insights-section-sub{color:#64748b;margin:.15rem 0 0;font-size:.78rem}.insights-section--panels{grid-template-columns:1fr 1fr .9fr;gap:.75rem;display:grid}.dash-panel-card{background:#fff;border:1px solid #e2e8f0;border-radius:.65rem;flex-direction:column;min-height:220px;display:flex;overflow:hidden}.dash-panel-card-header{color:#475569;background:#fafbfc;border-bottom:1px solid #f1f5f9;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.dash-panel-card-header h3{color:#0f172a;flex:1;margin:0;font-size:.9rem;font-weight:700}.dash-panel-badge{color:#475569;background:#f1f5f9;border-radius:999px;padding:.15rem .45rem;font-size:.7rem;font-weight:600}.dash-panel-badge--warn{color:#c2410c;background:#fff7ed}.dash-panel-list{flex:1;margin:0;padding:0;list-style:none;overflow:auto}.dash-panel-row{border-bottom:1px solid #f8fafc;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.65rem 1rem;font-size:.8125rem;display:flex}.dash-panel-row strong{color:#0f172a;font-weight:600;display:block}.dash-panel-row span{color:#64748b;font-size:.75rem}.dash-panel-row time{color:#94a3b8;white-space:nowrap;font-size:.72rem}.dash-panel-row--critical{background:#fef2f2}.dash-panel-row--warning{background:#fffbeb}.dash-panel-empty{color:#94a3b8;padding:1rem;font-size:.8125rem}.dash-billing-summary{flex:1;padding:1rem 1.1rem 1.1rem}.dash-billing-amount{color:#0f172a;letter-spacing:-.02em;font-size:1.85rem;font-weight:800}.dash-billing-summary>p{color:#64748b;margin:.25rem 0 1rem;font-size:.78rem}.dash-billing-meta{flex-direction:column;gap:.55rem;margin:0;display:flex}.dash-billing-meta div{justify-content:space-between;gap:.5rem;font-size:.8125rem;display:flex}.dash-billing-meta dt{color:#64748b;font-weight:500}.dash-billing-meta dd{color:#0f172a;margin:0;font-weight:600}.insights-site-footer-notes{color:#94a3b8;flex-wrap:wrap;gap:.75rem 1.25rem;padding:.75rem 0 .25rem;font-size:.72rem;display:flex}.insights-site-footer-notes span{align-items:center;gap:.35rem;display:inline-flex}.insights-section-title{color:#0f172a;margin:0 0 .75rem;font-size:1rem;font-weight:700}.insights-kpi-grid{gap:.75rem;display:grid}.insights-kpi-grid--5{grid-template-columns:repeat(5,minmax(0,1fr))}.insights-chart-grid{gap:.75rem;display:grid}.insights-chart-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.insights-chart-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-kpi-card{background:#fff;border:1px solid #e2e8f0;border-radius:.65rem;padding:1rem 1.1rem;box-shadow:0 1px 2px #0f172a0a}.dash-kpi-card-top{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.dash-kpi-card-label{color:#334155;font-size:.8125rem;font-weight:600}.dash-kpi-card-icon{color:#2563eb;background:#eff6ff;border-radius:.5rem;justify-content:center;align-items:center;width:2rem;height:2rem;display:inline-flex}.dash-kpi-card--amber .dash-kpi-card-icon{color:#d97706;background:#fffbeb}.dash-kpi-card--red .dash-kpi-card-icon{color:#dc2626;background:#fef2f2}.dash-kpi-card--green .dash-kpi-card-icon{color:#16a34a;background:#f0fdf4}.dash-kpi-card-value{color:#0f172a;letter-spacing:-.02em;margin-top:.65rem;font-size:1.65rem;font-weight:700}.dash-chart-card{background:#fff;border:1px solid #e2e8f0;border-radius:.65rem;flex-direction:column;min-height:280px;display:flex;overflow:hidden;box-shadow:0 1px 2px #0f172a0a}.dash-chart-card-header{padding:.85rem 1rem .25rem}.dash-chart-card-header--split{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.dash-chart-card-header h3{color:#0f172a;margin:0;font-size:.95rem;font-weight:700}.dash-chart-card-header p{color:#94a3b8;margin:.2rem 0 0;font-size:.75rem}.dash-chart-card-body{flex:1;padding:0 .5rem .75rem}.dash-line-chart{width:100%;height:auto}.dash-line-chart-grid{stroke:#f1f5f9;stroke-width:1px}.dash-line-chart-axis{fill:#94a3b8;font-size:10px}.dash-line-chart-empty{color:#94a3b8;justify-content:center;align-items:center;min-height:180px;font-size:.8125rem;display:flex}.dash-line-chart-crosshair{stroke:#cbd5e1;stroke-width:1px;stroke-dasharray:4 3;pointer-events:none}.dash-line-chart-tooltip rect{fill:#0f172aeb}.dash-line-chart-tooltip-label{fill:#cbd5e1;font-size:9px}.dash-line-chart-tooltip-value{fill:#f8fafc;font-size:10px;font-weight:600}.dash-donut-select{color:#334155;background:#fff;border:1px solid #e2e8f0;border-radius:.375rem;padding:.3rem .5rem;font-size:.8125rem}.dash-donut-wrap{flex-wrap:wrap;justify-content:center;align-items:center;gap:1.25rem;padding:.5rem 1rem 1rem;display:flex}.dash-donut-chart{width:min(240px,100%);height:auto}.dash-donut-center-value{fill:#0f172a;font-size:18px;font-weight:700}.dash-donut-center-label{fill:#64748b;font-size:11px;font-weight:600}.dash-donut-legend{flex-direction:column;gap:.45rem;min-width:140px;margin:0;padding:0;list-style:none;display:flex}.dash-donut-legend li{color:#64748b;grid-template-columns:12px 1fr auto;align-items:center;gap:.45rem;font-size:.78rem;display:grid}.dash-donut-legend strong{color:#0f172a;font-weight:600}.dash-donut-swatch{border-radius:2px;width:10px;height:10px}.insights-muted{color:#64748b;font-size:.875rem}.dash-simple{--dash-semantic-good:#16a34a;--dash-semantic-good-text:#15803d;--dash-semantic-good-bg:#22c55e;--dash-semantic-good-surface:#f0fdf4;--dash-semantic-warn:#d97706;--dash-semantic-warn-text:#b45309;--dash-semantic-warn-bg:#f59e0b;--dash-semantic-warn-surface:#fffbeb;--dash-semantic-bad:#dc2626;--dash-semantic-bad-text:#b91c1c;--dash-semantic-bad-bg:#ef4444;--dash-semantic-bad-surface:#fef2f2;--dash-semantic-neutral:#64748b;--dash-semantic-neutral-text:#475569;--dash-semantic-neutral-surface:#f1f5f9;--dash-card-radius:.65rem;--dash-card-padding:.85rem 1rem 1rem;--dash-card-shadow:0 1px 2px #0f172a0a;flex-direction:column;flex:1;gap:1.25rem;min-height:0;padding-bottom:1rem;display:flex;overflow:auto}.dash-card{border-radius:var(--dash-card-radius);box-shadow:var(--dash-card-shadow);background:#fff;border:1px solid #e2e8f0;flex-direction:column;min-height:0;display:flex}.dash-card--compact{min-height:auto}.dash-card--gauge .dash-card-body{justify-content:center;align-items:center;min-height:220px;display:flex}.dash-card-header{padding:var(--dash-card-padding);padding-bottom:.35rem}.dash-card-header--split{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.dash-card-title{color:#0f172a;margin:0;font-size:.95rem;font-weight:700}.dash-card-subtitle{color:#94a3b8;margin:.2rem 0 0;font-size:.75rem;line-height:1.4}.dash-card-body{padding:0 var(--dash-card-padding);flex:1;min-height:0;padding-bottom:1rem}.dash-card-body--chart{padding-left:.5rem;padding-right:.5rem}.dash-card-body--flush{padding-bottom:.75rem;padding-left:0;padding-right:0}.dash-semantic-text--good{color:var(--dash-semantic-good-text)}.dash-semantic-text--warn{color:var(--dash-semantic-warn-text)}.dash-semantic-text--bad{color:var(--dash-semantic-bad-text)}.dash-semantic-text--neutral{color:var(--dash-semantic-neutral-text)}.dash-semantic-bg--good{background:var(--dash-semantic-good-bg)}.dash-semantic-bg--warn{background:var(--dash-semantic-warn-bg)}.dash-semantic-bg--bad{background:var(--dash-semantic-bad-bg)}.dash-semantic-fill--good{background:var(--dash-semantic-good)}.dash-semantic-fill--warn{background:var(--dash-semantic-warn)}.dash-semantic-fill--bad{background:var(--dash-semantic-bad)}.dash-semantic-pill--good{background:var(--dash-semantic-good-surface);color:var(--dash-semantic-good-text)}.dash-semantic-pill--warn{background:var(--dash-semantic-warn-surface);color:var(--dash-semantic-warn-text)}.dash-semantic-pill--bad{background:var(--dash-semantic-bad-surface);color:var(--dash-semantic-bad-text)}.dash-semantic-pill--neutral{background:var(--dash-semantic-neutral-surface);color:var(--dash-semantic-neutral-text)}.dash-kpi-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;display:grid}.dash-simple .dash-kpi-card{border-radius:var(--dash-card-radius);box-shadow:var(--dash-card-shadow);background:#fff;border:1px solid #e2e8f0;flex-direction:column;justify-content:center;min-height:104px;padding:.8rem .95rem;display:flex}.dash-kpi-card-inner{-moz-column-gap:.45rem;grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1fr) 76px;align-items:center;gap:.1rem .45rem;display:grid}.dash-kpi-label{color:#64748b;text-transform:uppercase;letter-spacing:.04em;grid-area:1/1;font-size:.68rem;font-weight:600;line-height:1.2}.dash-kpi-sparkline-wrap{opacity:.95;grid-area:1/2/3;place-self:center end}.dash-kpi-value-line{flex-wrap:wrap;grid-area:2/1;align-items:baseline;gap:.3rem;margin:0;line-height:1.1;display:flex}.dash-kpi-value{color:#0f172a;letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:700}.dash-kpi-suffix{color:#64748b;white-space:nowrap;font-size:.78rem;font-weight:600}.dash-kpi-meta{flex-wrap:wrap;grid-area:3/1/auto/-1;align-items:center;gap:.3rem;min-height:1rem;margin-top:.15rem;display:flex}.dash-kpi-hint{color:#94a3b8;font-size:.7rem;line-height:1.3}.dash-kpi-meta-sep{color:#cbd5e1;font-size:.7rem}.dash-kpi-delta{white-space:nowrap;font-size:.7rem;font-weight:600;line-height:1.3}.dash-sparkline{flex-shrink:0;display:block}.dash-sparkline path{stroke:currentColor}.dash-sparkline--good{color:var(--dash-semantic-good)}.dash-sparkline--warn{color:var(--dash-semantic-warn)}.dash-sparkline--bad{color:var(--dash-semantic-bad)}.dash-sparkline--neutral{color:var(--dash-semantic-neutral)}.dash-score-bars{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.dash-score-bars-meta{justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.25rem;font-size:.78rem;display:flex}.dash-score-bars-label{color:#334155;font-weight:500}.dash-score-bars-track{background:#f1f5f9;border-radius:999px;height:8px;overflow:hidden}.dash-score-bars-fill{border-radius:999px;min-width:2px;height:100%}.dash-card-grid{gap:.65rem;display:grid}.dash-card-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-select{color:#334155;background:#fff;border:1px solid #e2e8f0;border-radius:.375rem;padding:.3rem .5rem;font-size:.8125rem}.dash-billing-panel{flex-direction:column;gap:.65rem;display:flex}.dash-datetime-range{border-radius:var(--dash-card-radius);box-shadow:var(--dash-card-shadow);background:#fff;border:1px solid #e2e8f0;flex-wrap:wrap;align-items:flex-end;gap:.65rem .85rem;padding:.75rem 1rem;display:flex}.dash-datetime-range-field{flex-direction:column;gap:.25rem;min-width:min(220px,100%);display:flex}.dash-datetime-range-label{color:#64748b;text-transform:uppercase;letter-spacing:.03em;font-size:.72rem;font-weight:600}.dash-datetime-range-input{color:#334155;background:#fff;border:1px solid #e2e8f0;border-radius:.375rem;min-width:200px;padding:.4rem .55rem;font-size:.8125rem}.dash-datetime-range-input:focus{border-color:#93c5fd;outline:2px solid #bfdbfe}.dash-datetime-range-sep{color:#94a3b8;padding-bottom:.45rem;font-size:.78rem;font-weight:600}.dash-datetime-range--compact{box-shadow:none;background:0 0;border:none;gap:.35rem .5rem;padding:0}.dash-datetime-range--compact .dash-datetime-range-field{min-width:0}.dash-datetime-range--compact .dash-datetime-range-label{font-size:.65rem}.dash-datetime-range--compact .dash-datetime-range-input{min-width:7.5rem;padding:.28rem .4rem;font-size:.75rem}.dash-datetime-range--compact .dash-datetime-range-sep{padding-bottom:.35rem;font-size:.72rem}.dash-datahall-breakdown{padding:.25rem 0 0}.dash-datahall-bar{border-radius:6px;height:28px;margin-bottom:.85rem;display:flex;overflow:hidden}.dash-datahall-bar-segment{min-width:4px}.dash-datahall-legend{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.dash-datahall-legend li{color:#64748b;grid-template-columns:12px 1fr auto;align-items:center;gap:.45rem;font-size:.78rem;display:grid}.dash-datahall-legend strong{color:#0f172a}.dash-datahall-total{color:#94a3b8;margin:.75rem 0 0;font-size:.78rem}.dash-card--empty{justify-content:center;min-height:240px}.dash-customer-panel{grid-template-columns:1.2fr 1fr;gap:.65rem;display:grid}.dash-alarms-split,.dash-stale-split{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:stretch;gap:.65rem;display:grid}.dash-alarms-split>.dash-card,.dash-stale-split>.dash-card{min-width:0;height:320px;max-height:320px}.dash-ops-stack{flex-direction:column;gap:.85rem;display:flex}.dash-ops-stack .dash-card{flex-direction:column;display:flex}.dash-ops-stack .dash-card-body{flex-direction:column;flex:1;min-height:0;display:flex}.dash-ops-stack .dash-card-body--table{padding-bottom:.75rem}.dash-card-table-scroll{flex:1;min-height:0;overflow:auto}.dash-ops-stack .dash-card-body--chart{flex-direction:column;min-height:0;display:flex}.dash-ops-stack .dash-line-chart{flex:1;height:auto;min-height:0}.dash-ops-stack .dash-simple-table{width:100%;display:table}.dash-ops-stack .dash-card-header--split{flex-wrap:wrap;align-items:center}.dash-ops-stack .dash-stacked-legend{flex-wrap:wrap;gap:.5rem .85rem}.dash-view-toggle{background:#f1f5f9;border-radius:.5rem;gap:.15rem;padding:.15rem;display:inline-flex}.dash-view-toggle-btn{color:#64748b;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:.375rem;padding:.3rem .65rem;font-size:.72rem;font-weight:600}.dash-view-toggle-btn.is-active{color:#0f172a;background:#fff;box-shadow:0 1px 2px #0f172a14}.dash-efficiency-panel{flex-direction:column;gap:.65rem;display:flex}.dash-efficiency-toolbar{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.dash-efficiency-scope-note{color:#94a3b8;margin:0;font-size:.78rem;line-height:1.45}.dash-stale-scope-hint{color:#94a3b8;margin:0 0 .65rem;font-size:.75rem}.dash-heatmap-pct{font-size:.78rem;font-weight:700}.dash-line-chart-bare{padding:0 .5rem}.dash-simple-header{flex-wrap:wrap;align-items:flex-start;gap:1rem;display:flex}.dash-simple-title h1{color:#0f172a;margin:0 0 .25rem;font-size:1.35rem;font-weight:700}.dash-simple-title p{color:#64748b;align-items:center;gap:.5rem;margin:0;font-size:.875rem;display:flex}.dash-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;display:grid}.dash-simple-tip{color:#94a3b8;margin:0;font-size:.78rem}.dash-section{flex-direction:column;gap:.65rem;display:flex}.dash-section+.dash-section{margin-top:.25rem}.dash-section-title{color:#64748b;text-transform:uppercase;letter-spacing:.06em;margin:0 0 .15rem;font-size:.8rem;font-weight:700}.dash-performance-grid{grid-template-columns:minmax(180px,220px) 1fr 1fr;align-items:stretch;gap:.65rem;display:grid}.dash-performance-gauge{background:#fff;border:1px solid #e2e8f0;border-radius:.65rem;justify-content:center;align-items:center;min-height:280px;padding:1rem;display:flex}.dash-panel{background:#fff;border:1px solid #e2e8f0;border-radius:.65rem;padding:.85rem 1rem 1rem}.dash-panel-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem;display:flex}.dash-panel-header--split{align-items:center}.dash-panel-kpi{flex-direction:column;gap:.1rem;display:flex}.dash-panel-kpi-label{color:#64748b;text-transform:uppercase;letter-spacing:.03em;font-size:.75rem;font-weight:600}.dash-panel-kpi-value{color:#0f172a;font-size:2rem;font-weight:700;line-height:1.1}.dash-panel-kpi-value--warn{color:#c2410c}.dash-panel-kpi-hint{color:#94a3b8;font-size:.78rem}.dash-heatmap-wrap{overflow-x:auto}.dash-heatmap{border-collapse:collapse;width:100%;font-size:.78rem}.dash-heatmap th,.dash-heatmap td{text-align:center;border-bottom:1px solid #f1f5f9;padding:.35rem .4rem}.dash-heatmap th[scope=row]{text-align:left;color:#334155;white-space:nowrap;text-overflow:ellipsis;max-width:220px;font-weight:500;overflow:hidden}.dash-heatmap thead th{color:#94a3b8;font-size:.72rem;font-weight:600}.dash-heatmap-cell{border-radius:3px;width:18px;height:18px;display:inline-block}.dash-heatmap-legend{color:#64748b;flex-wrap:wrap;gap:.65rem;margin:0;padding:0;font-size:.72rem;list-style:none;display:flex}.dash-heatmap-legend li{align-items:center;gap:.35rem;display:inline-flex}.dash-simple-charts--pair{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-line-chart-ref{stroke-width:1.5px;stroke-dasharray:6 4}.dash-line-chart-ref-label{font-size:9px;font-weight:600}.dash-chart-card--compact{min-height:260px}.dash-radar-body{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;display:flex}.dash-radar-chart{width:min(220px,100%);height:auto}.dash-radar-ring{fill:none;stroke:#e2e8f0;stroke-width:1px}.dash-radar-spoke{stroke:#e2e8f0;stroke-width:1px}.dash-radar-fill{fill:#4f46e533;stroke:#4f46e5;stroke-width:2px}.dash-radar-dot{fill:#4f46e5;stroke:#fff;stroke-width:1.5px}.dash-radar-label{fill:#64748b;font-size:8px;font-weight:600}.dash-radar-legend{color:#64748b;flex-direction:column;gap:.3rem;min-width:120px;margin:0;padding:0;font-size:.75rem;list-style:none;display:flex}.dash-radar-legend li{justify-content:space-between;gap:.5rem;display:flex}.dash-radar-legend strong{color:#0f172a}.dash-zone-breakdown{padding:.5rem 1rem 1rem}.dash-zone-bar{border-radius:6px;height:28px;margin-bottom:.85rem;display:flex;overflow:hidden}.dash-zone-bar-segment{min-width:4px}.dash-zone-legend{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.dash-zone-legend li{color:#64748b;grid-template-columns:12px 1fr auto;align-items:center;gap:.45rem;font-size:.78rem;display:grid}.dash-zone-legend strong{color:#0f172a}.dash-zone-total{color:#94a3b8;margin:.75rem 0 0;font-size:.78rem}.dash-stacked-legend{color:#64748b;flex-wrap:wrap;gap:.75rem;margin:0;padding:0 .5rem .5rem;font-size:.72rem;list-style:none;display:flex}.dash-stacked-legend li{align-items:center;gap:.35rem;display:inline-flex}.dash-telemetry-grid{grid-template-columns:1.2fr 1fr;gap:.65rem;display:grid}.dash-telemetry-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:.65rem;min-height:240px;padding:.75rem 1rem 1rem}.dash-telemetry-table-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.dash-telemetry-table-toolbar h3{color:#0f172a;margin:0;font-size:.9rem;font-weight:700}.dash-telemetry-filter{border:1px solid #e2e8f0;border-radius:.375rem;min-width:180px;padding:.35rem .55rem;font-size:.8125rem}.dash-alarms-table-wrap{min-width:0}.dash-subheading{color:#334155;margin:0 0 .5rem;font-size:.85rem;font-weight:600}.dash-severity-pill{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:.15rem .45rem;font-size:.68rem;font-weight:700;display:inline-block}.dash-freshness{font-weight:600}.dash-th-sort{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.dash-th-sort:hover{color:#0f172a}.dash-simple-table--sortable th{white-space:nowrap}.dash-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;display:grid}.dash-metric-grid .dash-stat-card{padding:.85rem 1rem}.dash-metric-card{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;transition:box-shadow .15s;overflow:hidden}.dash-metric-card.is-expanded{grid-column:span 2;box-shadow:0 4px 14px #0f172a14}.dash-metric-card-toggle{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:flex-start;gap:.5rem;width:100%;padding:.85rem 1rem;display:flex}.dash-metric-card-toggle:hover{background:#f8fafc}.dash-metric-card-summary{flex-direction:column;gap:.15rem;min-width:0;display:flex}.dash-metric-card-label{color:#64748b;font-size:.75rem;font-weight:500}.dash-metric-card-value{color:#0f172a;font-size:1.5rem;font-weight:700;line-height:1.2}.dash-metric-card-hint{color:#94a3b8;font-size:.72rem;line-height:1.35}.dash-metric-card--good .dash-metric-card-value{color:#15803d}.dash-metric-card--warn .dash-metric-card-value{color:#c2410c}.dash-metric-card--bad .dash-metric-card-value{color:#dc2626}.dash-metric-card-icon{color:#94a3b8;flex-shrink:0;margin-top:.1rem;display:inline-flex}.dash-metric-card-pie{border-top:1px solid #f1f5f9;padding:0 .75rem .85rem}.dash-metric-card-detail{color:#475569;background:#f8fafc;border-radius:.375rem;margin:.5rem 0 0;padding:.5rem .65rem;font-size:.78rem}.dash-pie{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;padding-top:.5rem;display:flex}.dash-pie-svg{flex-shrink:0}.dash-pie-slice{transition:opacity .15s}.dash-pie-center-value{fill:#0f172a;font-size:13px;font-weight:700}.dash-pie-center-label{fill:#64748b;font-size:8px;font-weight:600}.dash-pie-legend{flex-direction:column;gap:.25rem;min-width:120px;margin:0;padding:0;list-style:none;display:flex}.dash-pie-legend-btn{cursor:pointer;color:#64748b;text-align:left;background:0 0;border:none;border-radius:.25rem;grid-template-columns:10px 1fr auto;align-items:center;gap:.4rem;width:100%;padding:.25rem .35rem;font-size:.75rem;display:grid}.dash-pie-legend-btn:hover,.dash-pie-legend-btn.is-active{color:#0f172a;background:#f1f5f9}.dash-pie-swatch{border-radius:2px;width:8px;height:8px}.dash-pie-legend-value{color:#334155;font-weight:600}.dash-stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;flex-direction:column;gap:.15rem;padding:.85rem 1rem;display:flex}.dash-stat-card-label{color:#64748b;font-size:.75rem;font-weight:500}.dash-stat-card-value{color:#0f172a;font-size:1.5rem;font-weight:700;line-height:1.2}.dash-stat-card-hint{color:#94a3b8;font-size:.72rem;line-height:1.35}.dash-stat-card--good .dash-stat-card-value{color:#15803d}.dash-stat-card--warn .dash-stat-card-value{color:#c2410c}.dash-stat-card--bad .dash-stat-card-value{color:#dc2626}.dash-simple-charts{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}.dash-simple-charts .dash-chart-card{min-height:240px}.dash-simple-issues{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}.dash-simple-issue-col{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;padding:.85rem 1rem 1rem}.dash-simple-issue-col h3{color:#0f172a;margin:0 0 .65rem;font-size:.9rem;font-weight:600}.dash-simple-empty{color:#94a3b8;margin:0;font-size:.8125rem}.dash-simple-table{border-collapse:collapse;width:100%;font-size:.8125rem}.dash-simple-table th{text-align:left;color:#64748b;border-bottom:1px solid #f1f5f9;padding:.35rem .5rem .35rem 0;font-weight:600}.dash-simple-table td{color:#334155;border-bottom:1px solid #f8fafc;padding:.45rem .5rem .45rem 0}.dash-simple-table tr:last-child td{border-bottom:none}@media (width<=1100px){.dash-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-performance-grid,.dash-card-grid--2,.dash-customer-panel,.dash-alarms-split,.dash-stale-split{grid-template-columns:1fr}.dash-alarms-split>.dash-card,.dash-stale-split>.dash-card{height:auto;max-height:none}.dash-stat-grid,.dash-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-metric-card.is-expanded{grid-column:span 2}.dash-simple-charts,.dash-simple-issues{grid-template-columns:1fr}}@media (width<=640px){.dash-kpi-strip{grid-template-columns:1fr}.dash-simple .dash-kpi-card{min-height:0}}@media (width<=1200px){.insights-portfolio{flex-direction:column;min-height:0}.insights-portfolio-kpis{flex-flow:wrap;flex:none;gap:2rem;padding:0 .5rem .5rem}.dash-metric-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.insights-section--panels{grid-template-columns:1fr}.insights-kpi-grid--5{grid-template-columns:repeat(3,minmax(0,1fr))}.insights-chart-grid--3,.insights-chart-grid--2{grid-template-columns:1fr}}@media (width<=768px){.dash-metric-strip,.insights-kpi-grid--5{grid-template-columns:repeat(2,minmax(0,1fr))}}.home-map-card{flex-direction:column;flex:auto;min-height:0;display:flex}.home-map-header h3{align-items:center;gap:.4rem;display:inline-flex}.home-map-wrap{background:linear-gradient(#f7fbff 0%,#edf5ff 100%);border-top:1px solid #f1f5f9;flex:1;min-height:240px;padding:.5rem;overflow:hidden}.home-map-svg{width:100%;height:100%;min-height:240px}.home-map-bg{fill:#f8fbff}.home-map-state{fill:#dce8f8;stroke:#fff;stroke-width:1.1px;transition:fill .15s}.home-map-state.has-sites{fill:#60a5fa}.home-map-marker circle{fill:#2563c8;stroke:#fff;stroke-width:2px}.home-map-marker text{fill:#fff;pointer-events:none;font-size:9px;font-weight:700}.home-map-hint{color:#94a3b8;border-top:1px solid #f1f5f9;margin:0;padding:.5rem 1rem .75rem;font-size:.75rem}.home-map-site-pin{cursor:pointer}.home-map-site-pin-btn{cursor:pointer;background:0 0;border:none;margin:0;padding:0;display:block;transform:translate(-10px,-10px)}.home-map-site-pin-btn:hover .home-map-site-pin-circle{fill:#1d4ed8;stroke:#fff;stroke-width:2.5px}.home-map-site-pin-circle{fill:#2563c8;stroke:#fff;stroke-width:2px;transition:fill .15s}.home-map-site-pin-icon{fill:#fff;pointer-events:none;font-size:10px;font-weight:700}.home-sites-card{flex-direction:column;flex:0 auto;min-height:0;display:flex;overflow:hidden}.home-sites-card .card-body.home-sites-list{-webkit-overflow-scrolling:touch;flex:1;min-height:0;max-height:min(280px,34vh);padding-top:.75rem;padding-bottom:.75rem;overflow-y:auto}.home-sites-list{flex-direction:column;gap:.4rem;display:flex}.home-site-row{border:1px solid #e2e8f0;border-radius:.35rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.45rem .55rem;display:flex}.home-site-row--clickable{text-align:left;cursor:pointer;background:#fff;width:100%;transition:background .15s,border-color .15s}.home-site-row--clickable:hover{background:#f8fafc;border-color:#cbd5e1}.home-site-name{color:#0f172a;font-size:.8125rem;font-weight:600}.home-site-location,.home-muted{color:#64748b;font-size:.78rem}.portfolio-page,.portfolio-shell,.portfolio-dashboard-shell{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.portfolio-dashboard-shell{overflow:auto}.portfolio-hero{flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.85rem;display:flex}.portfolio-hero-title{color:#0f172a;letter-spacing:-.02em;margin:0 0 .2rem;font-size:1.35rem;font-weight:700}.portfolio-hero-subtitle{color:#64748b;max-width:42rem;margin:0;font-size:.85rem;line-height:1.45}.portfolio-hero-stats{flex-wrap:wrap;gap:.5rem;display:flex}.portfolio-stat{color:#64748b;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;align-items:center;gap:.4rem;padding:.45rem .75rem;display:flex;box-shadow:0 1px 2px #0f172a0a}.portfolio-stat-value{color:#0f172a;font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:700}.portfolio-stat-label{text-transform:uppercase;letter-spacing:.03em;font-size:.72rem;font-weight:600}.portfolio-grid{flex-direction:column;flex:1;min-height:0;display:flex}.portfolio-map-panel{background:#fff;border:1px solid #e2e8f0;border-radius:.65rem;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden;box-shadow:0 1px 2px #0f172a0a}.portfolio-map-body{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.portfolio-sites-panel{background:#fff;border:1px solid #e2e8f0;border-radius:.65rem;flex-direction:column;min-height:0;display:flex;overflow:hidden;box-shadow:0 1px 2px #0f172a0a}.portfolio-panel-header,.portfolio-sites-panel-header{border-bottom:1px solid #f1f5f9;flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.portfolio-panel-title,.portfolio-sites-title{color:#0f172a;align-items:center;gap:.4rem;margin:0;font-size:.95rem;font-weight:700;display:inline-flex}.portfolio-sites-subtitle{color:#94a3b8;margin:.15rem 0 0;font-size:.75rem}.portfolio-panel-badge{color:#475569;background:#f1f5f9;border-radius:999px;padding:.2rem .55rem;font-size:.72rem;font-weight:600}.portfolio-map-wrap{background:linear-gradient(165deg,#f4f9ff 0%,#e9f1fb 55%,#e3ecf8 100%);flex-direction:column;flex:1;min-height:0;display:flex}.portfolio-map-stage{flex:1;min-height:320px;display:flex;position:relative}.portfolio-map-svg{flex:1;width:100%;min-height:320px;display:block}.portfolio-map-overlay{pointer-events:none;z-index:2;position:absolute;inset:0}.portfolio-map-state{fill:#dce8f5;stroke:#fff;stroke-width:1.2px;transition:fill .25s}.portfolio-map-state--active{fill:#93c5fd}.portfolio-map-state--open{fill:#3b82f6}.portfolio-state-pin{cursor:pointer;pointer-events:auto;color:#1d4ed8;z-index:3;filter:drop-shadow(0 4px 10px #1d4ed847);background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;width:44px;height:44px;margin:0;padding:0;transition:color .2s,filter .2s;display:flex;position:absolute;transform:translate(-50%,-50%)}.portfolio-state-pin:hover{color:#1e40af;filter:drop-shadow(0 6px 14px #1d4ed861);z-index:4}.portfolio-state-pin.is-open{color:#1e3a8a;filter:drop-shadow(0 8px 18px #1e3a8a73);z-index:5}.portfolio-state-pin-shadow{display:none}.portfolio-state-pin-icon{display:block}.portfolio-state-pin-count{color:#1d4ed8;pointer-events:none;font-size:.72rem;font-weight:800;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-72%)}.portfolio-state-popover-root{z-index:20;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.portfolio-state-popover-backdrop{cursor:default;pointer-events:auto;background:0 0;border:none;padding:0;position:absolute;inset:0}.portfolio-state-popover{pointer-events:auto;z-index:21;background:#fff;border:1px solid #e2e8f0;border-radius:.85rem;flex-direction:column;width:min(380px,100% - 2rem);max-height:min(420px,100% - 2rem);display:flex;position:relative;overflow:hidden;box-shadow:0 24px 48px #0f172a29,0 8px 16px #0f172a14}.portfolio-state-popover-header{background:linear-gradient(#f8fbff 0%,#fff 100%);border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:flex-start;gap:.5rem;padding:.85rem .85rem .65rem;display:flex}.portfolio-state-popover-heading{align-items:flex-start;gap:.55rem;min-width:0;display:flex}.portfolio-state-popover-badge{color:#fff;letter-spacing:.04em;background:#1d4ed8;border-radius:.4rem;flex-shrink:0;justify-content:center;align-items:center;min-width:2rem;padding:.2rem .45rem;font-size:.72rem;font-weight:800;display:inline-flex}.portfolio-state-popover-title{color:#0f172a;margin:0;font-size:.9rem;font-weight:700;line-height:1.2}.portfolio-state-popover-subtitle{color:#64748b;margin:.15rem 0 0;font-size:.72rem;line-height:1.35}.portfolio-state-popover-close{color:#64748b;cursor:pointer;background:#f1f5f9;border:none;border-radius:.4rem;flex-shrink:0;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;padding:0;transition:background .15s,color .15s;display:inline-flex}.portfolio-state-popover-close:hover{color:#0f172a;background:#e2e8f0}.portfolio-state-popover-list{flex:1;min-height:0;max-height:300px;margin:0;padding:.4rem;list-style:none;overflow-y:auto}.portfolio-state-popover-item{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:.5rem;align-items:center;gap:.55rem;width:100%;padding:.55rem .5rem;transition:background .15s;display:flex}.portfolio-state-popover-item:hover{background:#f1f5f9}.portfolio-state-popover-item-icon{color:#2563eb;background:#eff6ff;border-radius:.4rem;flex-shrink:0;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;display:inline-flex}.portfolio-state-popover-item-body{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.portfolio-state-popover-item-name{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:600;overflow:hidden}.portfolio-state-popover-item-location{color:#64748b;white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;overflow:hidden}.portfolio-state-popover-item-chevron{color:#94a3b8;flex-shrink:0;transition:transform .15s,color .15s}.portfolio-state-popover-item:hover .portfolio-state-popover-item-chevron{color:#2563eb;transform:translate(2px)}.portfolio-state-popover-tail{display:none}.portfolio-map-pin-btn{cursor:pointer;background:0 0;border:none;margin:0;padding:0;display:block;transform:translate(-11px,-11px)}.portfolio-map-pin-ring{fill:#fff;stroke:#16a34a;stroke-width:2.5px}.portfolio-map-pin-dot{fill:#16a34a}.portfolio-map-pin.is-highlighted .portfolio-map-pin-ring{stroke:#15803d;stroke-width:3px}.portfolio-map-pin.is-highlighted .portfolio-map-pin-dot{fill:#15803d}.portfolio-map-pin-pulse{fill:none;stroke:#22c55e;stroke-width:2px;opacity:.45;animation:1.6s ease-out infinite portfolio-pin-pulse}@keyframes portfolio-pin-pulse{0%{r:8;opacity:.55}to{r:18;opacity:0}}.portfolio-map-legend{color:#64748b;background:#ffffffb8;border-top:1px solid #e2e8f0d9;flex-wrap:wrap;flex-shrink:0;gap:.75rem 1.25rem;padding:.55rem 1rem;font-size:.72rem;display:flex}.portfolio-map-legend-item{align-items:center;gap:.35rem;display:inline-flex}.portfolio-map-legend-swatch{border-radius:3px;width:12px;height:12px}.portfolio-map-legend-swatch--state{background:#5b9cf5}.portfolio-map-legend-pin{color:#16a34a}.portfolio-sites-search{flex-shrink:0;padding:.65rem 1rem 0;position:relative}.portfolio-sites-search-icon{color:#94a3b8;pointer-events:none;position:absolute;top:calc(50% + .15rem);left:1.55rem;transform:translateY(-50%)}.portfolio-sites-search-input{color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;width:100%;padding:.5rem .65rem .5rem 2rem;font-size:.8125rem;transition:border-color .15s,background .15s,box-shadow .15s}.portfolio-sites-search-input:focus{background:#fff;border-color:#93c5fd;outline:none;box-shadow:0 0 0 3px #3b82f61f}.portfolio-sites-list{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:.4rem;min-height:0;padding:.65rem 1rem 1rem;display:flex;overflow-y:auto}.portfolio-site-row{cursor:pointer;text-align:left;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;justify-content:space-between;align-items:center;gap:.65rem;width:100%;padding:.7rem .75rem;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.portfolio-site-row:hover,.portfolio-site-row.is-highlighted{background:#f8fbff;border-color:#93c5fd;box-shadow:0 2px 8px #2563eb14}.portfolio-site-row-main{flex-direction:column;gap:.12rem;min-width:0;display:flex}.portfolio-site-row-name{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:600;overflow:hidden}.portfolio-site-row-location{color:#64748b;white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.portfolio-site-row-end{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.portfolio-site-status{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:.15rem .45rem;font-size:.65rem;font-weight:700}.portfolio-site-status--active{color:#15803d;background:#f0fdf4}.portfolio-site-status--inactive{color:#64748b;background:#f1f5f9}.portfolio-site-row-chevron{color:#94a3b8}.portfolio-site-row:hover .portfolio-site-row-chevron{color:#2563eb}.portfolio-sites-empty{color:#94a3b8;text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:2rem 1rem;display:flex}.portfolio-sites-empty p{margin:0;font-size:.85rem}.portfolio-site-row--skeleton{pointer-events:none;background:#fafbfc;border-color:#f1f5f9}.portfolio-skeleton{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%) 0 0/200% 100%;border-radius:4px;animation:1.2s ease-in-out infinite portfolio-shimmer}.portfolio-skeleton--title{width:55%;height:14px;margin-bottom:.35rem}.portfolio-skeleton--meta{width:38%;height:10px}@keyframes portfolio-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (width<=1024px){.portfolio-map-panel{min-height:360px}}@media (width<=640px){.portfolio-hero-stats{width:100%}.portfolio-stat{flex:1;justify-content:center;min-width:0}}.page-title,.stats-grid,.fixed-form-card{flex-shrink:0}.page-title h2{color:#0f172a;margin:0;font-size:1.25rem;font-weight:700}.page-title p{color:#64748b;margin:0;font-size:.875rem}.site-management-page.container{gap:.75rem}.site-management-page .master-detail-grid{grid-template-columns:3.6fr 8.4fr}.site-management-page .site-create-bar{grid-template-columns:1fr 1fr .8fr auto;align-items:flex-end;gap:.75rem;padding:.75rem 1rem;display:grid}.site-management-page .site-create-bar label{color:#64748b;margin-bottom:.2rem;font-size:.72rem;font-weight:600}.site-management-page .site-create-btn{white-space:nowrap;width:auto;height:36px;padding:0 1rem}.site-management-page .detail-panel.site-detail-panel{gap:0;min-height:0;overflow:hidden}.site-management-page .site-detail-card,.edge-opc-page .site-detail-card{border:1px solid #e2e8f0;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.site-management-page .site-panel-top,.edge-opc-page .site-panel-top{background:linear-gradient(#f8fafc 0%,#fff 100%);border-bottom:1px solid #e2e8f0;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.85rem 1rem;display:flex}.site-management-page .site-panel-tabs{background:#fff;border-bottom:1px solid #e2e8f0;flex-shrink:0;gap:.35rem;padding:.45rem 1rem 0;display:flex}.site-management-page .site-panel-tab{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:.4rem .4rem 0 0;padding:.45rem .75rem;font-size:.8125rem;font-weight:700}.site-management-page .site-panel-tab:hover{color:var(--brand-dark);background:#f8fafc}.site-management-page .site-panel-tab.is-active{color:var(--brand-dark);box-shadow:inset 0 -2px 0 var(--brand-light);background:#eef6ff}.site-management-page .site-panel-title,.edge-opc-page .site-panel-title{color:#0f172a;margin:0;font-size:1.05rem;font-weight:700;line-height:1.3}.site-management-page .site-panel-title-row,.edge-opc-page .site-panel-title-row{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.site-management-page .site-panel-chips,.edge-opc-page .site-panel-chips{flex-wrap:wrap;gap:.35rem;margin-top:.35rem;display:flex}.site-management-page .site-chip,.edge-opc-page .site-chip{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;align-items:center;gap:.3rem;padding:.15rem .5rem;font-size:.68rem;font-weight:600;display:inline-flex}.site-management-page .site-chip-status--active,.edge-opc-page .site-chip-status--active{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.site-management-page .site-chip-status--maintenance,.edge-opc-page .site-chip-status--maintenance,.site-management-page .site-chip-status--idle,.edge-opc-page .site-chip-status--idle{color:#b45309;background:#fffbeb;border-color:#fde68a}.site-management-page .site-chip-status--offline,.edge-opc-page .site-chip-status--offline{color:#64748b;background:#f8fafc;border-color:#cbd5e1}.site-management-page .site-save-btn,.edge-opc-page .site-save-btn{flex-shrink:0;width:auto;height:30px;padding:0 .8rem;font-size:.8rem}.site-management-page .site-panel-body,.edge-opc-page .site-panel-body{flex-direction:column;flex:1;gap:.85rem;min-height:0;padding:.75rem 1rem .85rem;display:flex;overflow-y:auto}.site-management-page .site-panel-section,.edge-opc-page .site-panel-section{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;padding:.65rem .75rem .75rem;box-shadow:0 1px 2px #0f172a0a}.site-management-page .site-section-title,.edge-opc-page .site-section-title{text-transform:uppercase;letter-spacing:.04em;color:#64748b;align-items:center;gap:.35rem;margin:0 0 .55rem;font-size:.78rem;font-weight:700;display:flex}.site-management-page .site-section-title-row,.edge-opc-page .site-section-title-row{justify-content:space-between;align-items:center;margin-bottom:.55rem;display:flex}.site-management-page .site-section-title-row .site-section-title,.edge-opc-page .site-section-title-row .site-section-title{margin-bottom:0}.site-management-page .site-details-grid{grid-template-columns:1.5fr 1fr 1fr minmax(4.25rem,.6fr);gap:.45rem .65rem;display:grid}.site-management-page .site-location-city,.site-management-page .site-location-state{min-width:0}.site-management-page .site-location-state .form-control{width:100%;min-width:0}@media (width<=960px){.site-management-page .site-details-grid{grid-template-columns:1fr 1fr}}.site-management-page .site-panel-section:first-of-type{flex-shrink:0;padding-bottom:.55rem}.site-management-page .site-details-grid label,.site-management-page .site-edge-add-panel label,.edge-opc-page .site-edge-add-panel label{color:#64748b;margin-bottom:.2rem;font-size:.72rem;font-weight:600}.site-management-page .site-details-grid .form-control,.site-management-page .site-edge-add-panel .form-control,.edge-opc-page .site-edge-add-panel .form-control,.site-management-page .site-create-bar .form-control{padding:.38rem .6rem;font-size:.8125rem}.site-management-page .form-control::placeholder{color:#cbd5e1;opacity:1}.site-management-page .site-opc-edit-row .form-control::placeholder{color:#cbd5e1;opacity:1}.site-management-page .site-opc-section,.site-management-page .site-edge-section,.site-management-page .site-location-section,.edge-opc-page .site-opc-section{flex-direction:column;flex:1;min-height:0;display:flex}.site-management-page .site-edge-add-panel,.edge-opc-page .site-edge-add-panel{background:#fff;border:1px solid #e2e8f0;border-radius:.4rem;grid-template-columns:minmax(120px,.85fr) minmax(160px,1.4fr) auto;align-items:flex-end;gap:.5rem;margin-bottom:.55rem;padding:.65rem .75rem;display:grid;box-shadow:0 1px 2px #0f172a0a}.site-management-page .site-edge-add-btn,.edge-opc-page .site-edge-add-btn{white-space:nowrap;width:auto;height:32px;padding:0 .7rem;line-height:1}.site-management-page .site-edge-list,.edge-opc-page .site-edge-list{flex-direction:column;gap:.4rem;display:flex}.site-management-page .site-edge-row,.edge-opc-page .site-edge-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.4rem;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.6rem;padding:.55rem .65rem;display:grid}.site-management-page .site-edge-main,.edge-opc-page .site-edge-main{flex-direction:column;gap:.15rem;min-width:0;display:flex}.site-management-page .site-edge-name,.edge-opc-page .site-edge-name{color:#0f172a;font-size:.82rem;font-weight:700}.site-management-page .site-edge-meta,.edge-opc-page .site-edge-meta{color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.site-management-page .site-edge-actions,.edge-opc-page .site-edge-actions{white-space:nowrap;gap:.2rem;display:inline-flex}.site-management-page .site-opc-url-input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem!important}.site-management-page .site-opc-add-btn{white-space:nowrap;width:auto;height:32px;padding:0 .7rem;line-height:1}.site-management-page .site-opc-table-wrap,.edge-opc-page .site-opc-table-wrap{border:1px solid #e2e8f0;border-radius:.4rem;flex:1;min-height:0;overflow:auto}.site-management-page .site-opc-table,.edge-opc-page .site-opc-table{border-collapse:collapse;width:100%;font-size:.8125rem}.site-management-page .site-opc-table thead,.edge-opc-page .site-opc-table thead{z-index:1;background:#f8fafc;position:sticky;top:0}.site-management-page .site-opc-table th,.edge-opc-page .site-opc-table th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:#64748b;border-bottom:1px solid #e2e8f0;padding:.4rem .6rem;font-size:.68rem;font-weight:700}.site-management-page .site-opc-table th:last-child,.edge-opc-page .site-opc-table th:last-child{text-align:right;width:72px}.site-management-page .site-opc-table td,.edge-opc-page .site-opc-table td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:.45rem .6rem}.site-management-page .site-opc-table tbody tr:last-child td,.edge-opc-page .site-opc-table tbody tr:last-child td{border-bottom:none}.site-management-page .site-opc-table tbody tr:hover td,.edge-opc-page .site-opc-table tbody tr:hover td{background:#fafbfc}.site-management-page .site-opc-cell-name{min-width:100px}.site-management-page .site-opc-cell-status{min-width:7.5rem;max-width:11rem}.site-management-page .site-opc-name,.edge-opc-page .site-opc-name{color:#0f172a;font-weight:600}.site-management-page .site-opc-pill,.edge-opc-page .site-opc-pill{border-radius:999px;padding:.12rem .45rem;font-size:.68rem;font-weight:600;display:inline-block}.site-management-page .site-opc-pill.is-active,.edge-opc-page .site-opc-pill.is-active{color:#047857;background:#ecfdf5}.site-management-page .site-opc-pill.is-inactive,.edge-opc-page .site-opc-pill.is-inactive{color:#64748b;background:#f1f5f9}.site-management-page .site-opc-pill.is-idle,.edge-opc-page .site-opc-pill.is-idle{color:#b45309;background:#fffbeb}.site-management-page .site-opc-pill.is-error,.edge-opc-page .site-opc-pill.is-error{color:#b91c1c;background:#fef2f2}.site-management-page .site-opc-cell-url code,.edge-opc-page .site-opc-cell-url code{text-overflow:ellipsis;white-space:nowrap;color:#475569;background:0 0;max-width:100%;padding:0;font-size:.72rem;display:block;overflow:hidden}.site-management-page .site-opc-cell-actions{text-align:right;white-space:nowrap}.site-management-page .site-opc-cell-actions .site-icon-btn+.site-icon-btn{margin-left:.2rem}.site-management-page .site-opc-table-empty,.edge-opc-page .site-opc-table-empty{text-align:center;color:#94a3b8;margin:0;padding:1rem;font-size:.8rem}.site-management-page .site-edge-events-section{margin-top:.75rem}.site-management-page .site-section-title-actions{align-items:center;gap:.45rem;display:flex}.site-management-page .site-edge-logs-btn{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:.375rem;align-items:center;gap:.3rem;padding:.28rem .55rem;font-size:.72rem;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.site-management-page .site-edge-logs-btn:hover{color:#0f172a;background:#f8fafc;border-color:#cbd5e1}.edge-opc-page{height:100%;min-height:0}.edge-opc-layout{grid-template-columns:minmax(260px,.34fr) minmax(0,1fr);gap:.85rem;height:100%;min-height:0;display:grid}.edge-opc-sites,.edge-opc-panel{border:1px solid #e2e8f0;min-height:0;overflow:hidden}.edge-opc-page .site-panel-top{align-items:center;padding:.72rem 1rem}.edge-opc-refresh-btn{background:#fff;border-color:#cbd5e1;width:34px;height:34px}.edge-opc-site-btn{text-align:left;cursor:pointer;width:100%}.edge-opc-site-meta{color:#64748b;flex-wrap:wrap;align-items:center;gap:.45rem;margin-top:.25rem;font-size:.7rem;display:flex}.edge-opc-site-status{align-items:center;gap:.25rem;font-weight:600;display:inline-flex}.edge-opc-site-status:before{content:"";background:currentColor;border-radius:999px;width:.25rem;height:.25rem}.edge-opc-site-status--active{color:#059669}.edge-opc-site-status--idle,.edge-opc-site-status--maintenance{color:#b45309}.edge-opc-site-status--offline{color:#64748b}.edge-opc-body{flex-direction:column;flex:auto;gap:.85rem;min-height:0;display:flex;overflow:hidden}.edge-opc-body>.site-panel-section{flex:0 0 calc(50% - .425rem);min-height:0;max-height:calc(50% - .425rem)}.edge-opc-page .site-edge-section,.edge-opc-page .site-opc-section{flex-direction:column;min-height:0;display:flex;overflow:hidden}.edge-opc-page .site-edge-add-panel{flex-shrink:0;grid-template-columns:minmax(140px,.8fr) minmax(220px,1.4fr) auto;margin-bottom:.45rem;padding:.5rem .6rem}.edge-opc-edge-table-wrap{border:1px solid #e2e8f0;border-radius:.4rem;flex:auto;min-height:0;overflow:auto}.edge-opc-edge-table{min-width:720px}.edge-opc-edge-table th:first-child,.edge-opc-edge-table td:first-child{width:6.25rem}.edge-opc-edge-table th:nth-child(2),.edge-opc-edge-table td:nth-child(2){width:13rem}.edge-opc-edge-table th:nth-child(4),.edge-opc-edge-table td:nth-child(4){width:7rem}.edge-opc-edge-table th:last-child,.edge-opc-edge-table td:last-child{text-align:right;width:9.25rem}.edge-opc-page .site-edge-name{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.76rem;font-weight:600;line-height:1.15;display:block;overflow:hidden}.edge-opc-edge-description{color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:.67rem;line-height:1.25;overflow:hidden}.edge-opc-edge-id{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.3rem;flex:none;align-items:center;height:18px;padding:0 .38rem;font-size:.62rem;font-weight:600;display:inline-flex}.edge-opc-edge-actions{justify-content:flex-end;align-items:center;gap:.25rem;width:100%;display:inline-flex}.edge-opc-status-btn{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:.35rem;min-width:52px;height:24px;padding:0 .42rem;font-size:.66rem;font-weight:600}.edge-opc-status-btn.is-active{color:#64748b;background:#fff;border-color:#e2e8f0}.edge-opc-status-btn:not(.is-active){color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.edge-opc-delete-btn{width:24px;height:24px}.edge-opc-logs-btn:disabled{opacity:.4;cursor:not-allowed}.edge-opc-page .site-opc-table-wrap{flex:auto;min-height:0;max-height:none;overflow:auto}.edge-opc-table{min-width:740px}.edge-opc-table th:last-child{text-align:left;width:15rem}.edge-opc-table td:last-child{width:15rem}.edge-opc-assign-control{grid-template-columns:minmax(10rem,13rem) 1.25rem;align-items:center;gap:.4rem;display:grid}.edge-opc-assign-control .form-control{height:32px;padding:.35rem .55rem;font-size:.8rem}.edge-opc-assign-control svg{color:#10b981}.edge-opc-assign-state{color:#10b981;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;display:inline-flex}:is(.site-management-page,.edge-opc-page) .site-modal-backdrop{z-index:1000;background:#0f172a73;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}:is(.site-management-page,.edge-opc-page) .site-modal{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;flex-direction:column;width:min(720px,100%);max-height:min(85vh,680px);display:flex;box-shadow:0 25px 50px -12px #00000040}:is(.site-management-page,.edge-opc-page) .site-edge-logs-modal{min-height:min(520px,85vh)}:is(.site-management-page,.edge-opc-page) .site-edge-logs-modal .site-modal-body{flex:1;min-height:360px}:is(.site-management-page,.edge-opc-page) .site-modal-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;border-radius:.75rem .75rem 0 0;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.1rem 1.25rem;display:flex}:is(.site-management-page,.edge-opc-page) .site-modal-title{color:#0f172a;margin:0 0 .2rem;font-size:1.05rem;font-weight:700}:is(.site-management-page,.edge-opc-page) .site-modal-subtitle{color:#64748b;margin:0;font-size:.75rem}:is(.site-management-page,.edge-opc-page) .site-modal-header-actions{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.site-management-page .site-edge-logs-filter-select{color:#334155;background:#fff;border:1px solid #e2e8f0;border-radius:.35rem;max-width:7.5rem;padding:.25rem .4rem;font-size:.72rem}:is(.site-management-page,.edge-opc-page) .site-modal-body{flex:1;min-height:0;overflow-y:auto}.site-management-page .site-form-modal{width:min(440px,100%)}.site-management-page .site-modal-form{flex-direction:column;gap:.9rem;padding:1.1rem 1.25rem;display:flex}.site-management-page .site-modal-footer{border-top:1px solid #e2e8f0;flex-shrink:0;justify-content:flex-end;gap:.6rem;padding:.85rem 1.25rem;display:flex}.site-management-page .site-modal-footer .btn-primary,.site-management-page .site-modal-footer .btn-secondary{width:auto;height:36px;padding:0 1rem}:is(.site-management-page,.edge-opc-page) .site-edge-logs-modal .site-edge-events-wrap{background:0 0;border:none;border-radius:0;max-height:none}:is(.site-management-page,.edge-opc-page) .site-spin-icon{animation:.8s linear infinite site-spin}@keyframes site-spin{to{transform:rotate(360deg)}}:is(.site-management-page,.edge-opc-page) .site-edge-events-hint{color:#94a3b8;margin:-.25rem 0 .65rem;font-size:.72rem}:is(.site-management-page,.edge-opc-page) .site-edge-events-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;max-height:280px;position:relative;overflow-y:auto}:is(.site-management-page,.edge-opc-page) .site-edge-events-empty{text-align:center;color:#94a3b8;margin:0;padding:2.5rem 1.25rem;font-size:.85rem}:is(.site-management-page,.edge-opc-page) .site-edge-events-placeholder{visibility:hidden;min-height:360px}:is(.site-management-page,.edge-opc-page) .site-edge-events-list--dimmed{opacity:.45;pointer-events:none}:is(.site-management-page,.edge-opc-page) .site-edge-events-list{margin:0;padding:.35rem 0;list-style:none}:is(.site-management-page,.edge-opc-page) .site-edge-event{border-bottom:1px solid #f1f5f9;border-left:3px solid #0000;grid-template-columns:8.5rem 1fr;align-items:start;gap:.85rem;padding:.85rem 1.15rem;display:grid}:is(.site-management-page,.edge-opc-page) .site-edge-event--error{background:linear-gradient(90deg,#fef2f2 0%,#fff 28%);border-left-color:#ef4444}:is(.site-management-page,.edge-opc-page) .site-edge-event--warn,:is(.site-management-page,.edge-opc-page) .site-edge-event--warning{background:linear-gradient(90deg,#fffbeb 0%,#fff 28%);border-left-color:#f59e0b}:is(.site-management-page,.edge-opc-page) .site-edge-event--info{background:linear-gradient(90deg,#eff6ff 0%,#fff 28%);border-left-color:#3b82f6}:is(.site-management-page,.edge-opc-page) .site-edge-event:last-child{border-bottom:none}:is(.site-management-page,.edge-opc-page) .site-edge-event-time{color:#64748b;font-variant-numeric:tabular-nums;padding-top:.1rem;font-size:.72rem;line-height:1.35}:is(.site-management-page,.edge-opc-page) .site-edge-event-time time{white-space:normal;display:block}:is(.site-management-page,.edge-opc-page) .site-edge-event-content{min-width:0}:is(.site-management-page,.edge-opc-page) .site-edge-event-head{flex-wrap:wrap;align-items:center;gap:.4rem .55rem;margin-bottom:.35rem;display:flex}:is(.site-management-page,.edge-opc-page) .site-edge-event-server{color:#0f172a;font-size:.78rem;font-weight:700}:is(.site-management-page,.edge-opc-page) .site-edge-event-server--site{color:#475569}:is(.site-management-page,.edge-opc-page) .site-edge-event-category{letter-spacing:.02em;text-transform:uppercase;color:#64748b;background:#f1f5f9;border-radius:999px;padding:.12rem .45rem;font-size:.65rem;font-weight:600}:is(.site-management-page,.edge-opc-page) .site-edge-event-message{color:#334155;word-break:break-word;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.375rem;margin:0;padding:.45rem .55rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8rem;line-height:1.45}:is(.site-management-page,.edge-opc-page) .site-edge-event--error .site-edge-event-category{color:#b91c1c;background:#fee2e2}:is(.site-management-page,.edge-opc-page) .site-edge-event--warn .site-edge-event-category,:is(.site-management-page,.edge-opc-page) .site-edge-event--warning .site-edge-event-category{color:#b45309;background:#fef3c7}:is(.site-management-page,.edge-opc-page) .site-edge-event--info .site-edge-event-category{color:#1d4ed8;background:#dbeafe}@media (width<=540px){.site-management-page .site-edge-event,.edge-opc-page .site-edge-event{grid-template-columns:1fr;gap:.35rem}}.site-management-page .site-opc-row-editing td{background:#f8fafc;padding:.5rem .6rem}.site-management-page .site-opc-edit-row{grid-template-columns:minmax(90px,.75fr) minmax(80px,.55fr) minmax(140px,2fr) auto;align-items:center;gap:.4rem;display:grid}.site-management-page .site-opc-edit-row .form-control{color:#0f172a;background-color:#fff;border-color:#cbd5e1}.site-management-page .site-opc-edit-row .form-control::placeholder{color:#94a3b8}.site-management-page .site-icon-btn,.edge-opc-page .site-icon-btn{cursor:pointer;color:#475569;vertical-align:middle;background:#fff;border:1px solid #e2e8f0;border-radius:.35rem;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:inline-flex}.site-management-page .site-icon-btn-muted:hover,.edge-opc-page .site-icon-btn-muted:hover{background:#f1f5f9;border-color:#cbd5e1}.site-management-page .site-icon-btn-danger,.edge-opc-page .site-icon-btn-danger{color:#dc2626;border-color:#fecaca}.site-management-page .site-icon-btn-danger:hover:not(:disabled),.edge-opc-page .site-icon-btn-danger:hover:not(:disabled){background:#fef2f2}.site-management-page .site-icon-btn-danger:disabled,.edge-opc-page .site-icon-btn-danger:disabled{opacity:.35;cursor:not-allowed}.site-management-page .site-opc-edit-actions{gap:.25rem;display:flex}@media (width<=900px){.edge-opc-layout,.site-management-page .site-create-bar,.site-management-page .site-edge-add-panel,.site-management-page .site-opc-add-panel,.site-management-page .site-opc-edit-row{grid-template-columns:1fr}.site-management-page .site-opc-add-btn,.site-management-page .site-edge-add-btn,.site-management-page .site-create-btn{width:100%}.site-management-page .site-panel-top{flex-direction:column;align-items:stretch}}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;margin-bottom:.25rem;display:grid}.stat-card{border:1px solid var(--border);background:#fff;border-radius:.5rem;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex;box-shadow:0 2px 8px #1d4e9e0f}.stat-label{color:#64748b;margin:0 0 .25rem;font-size:.8125rem;font-weight:500}.stat-value{color:#0f172a;margin:0;font-size:1.5rem;font-weight:700}.stat-icon{border-radius:50%;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:flex}.stat-icon.global,.stat-icon.org{color:var(--brand);background:linear-gradient(135deg,#3b82f638,#2563c824)}.card{border:1px solid var(--border);background:#fff;border-radius:.5rem;overflow:hidden;box-shadow:0 2px 10px #1d4e9e12}.card-error{opacity:.85;border-color:#fecaca}.card-header{background-color:#f8fafc;border-bottom:1px solid #f1f5f9;flex-shrink:0;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;display:flex}.card-error .card-header{background-color:#fef2f2}.card-header h3{color:#1e293b;text-transform:capitalize;margin:0;font-size:.9rem;font-weight:600}.subtitle{color:#64748b;margin:.125rem 0 0;font-size:.7rem}.subtitle span{color:var(--accent-strong);font-weight:500}.badge{color:#475569;white-space:nowrap;background-color:#e2e8f0;border-radius:9999px;padding:.125rem .375rem;font-size:.7rem;font-weight:500;display:inline-block}.badge-primary{color:var(--accent-strong);background-color:#d9f0ff}.badge-error{color:#dc2626;background-color:#fee2e2}.card-body{padding:1.25rem}.master-detail-grid{flex:1;grid-template-columns:4fr 8fr;gap:1rem;min-height:0;display:grid}.device-list{flex-direction:column;height:100%;min-height:0;display:flex}.device-list-content{flex-direction:column;flex:1;gap:.5rem;padding:.75rem;display:flex;overflow-y:auto}.detail-panel{flex-direction:column;gap:1rem;height:100%;min-height:0;display:flex}.table-card{flex-direction:column;flex:1;min-height:0;display:flex}.table-container{flex:1;padding:0;overflow-y:auto}.global-admin-page .page-title h2{margin-bottom:.2rem;font-size:1.1rem}.global-admin-page .page-title p{font-size:.8125rem}.global-admin-page .stats-grid{gap:.625rem;margin-bottom:0}.global-admin-page .stat-card{padding:.75rem .9rem}.global-admin-page .stat-value{font-size:1.25rem}.global-admin-page .stat-icon{width:2.2rem;height:2.2rem}.global-admin-page .fixed-form-card .card-body{padding:.75rem .95rem}.global-admin-page .fixed-form-card .card-header{padding:.6rem 1rem}.global-admin-page .detail-panel{overflow:hidden}.global-admin-page .attributes-card{min-height:180px}.global-admin-page .attributes-card .table-container{height:clamp(150px,24vh,240px);overflow-y:auto}.global-admin-page .attribute-form-card{flex-shrink:0}.global-admin-page .attribute-form-card .card-header{padding:.6rem 1rem}.global-admin-page .attribute-form-card .card-body{padding:.7rem .95rem .8rem}.global-admin-page .attribute-form-card .form-grid-half{gap:.75rem}.global-admin-page .attribute-form-card .form-grid-half[style]{margin-top:.6rem!important}.csv-text-actions{flex-shrink:0;align-items:center;gap:.35rem;display:inline-flex}.csv-text-actions .icon-btn,.device-data-export-btn{border-radius:.375rem;width:2rem;height:2rem}.csv-text-actions .icon-btn svg,.device-data-export-btn svg{width:1rem;height:1rem}.csv-text-actions-file-input{display:none}.csv-import-overlay{z-index:1000;background-color:#0f172a73;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.csv-import-dialog{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;width:100%;max-width:760px;max-height:min(90vh,720px);display:flex;box-shadow:0 25px 50px -12px #00000040}.csv-import-dialog-header{border-bottom:1px solid #f1f5f9;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1.25rem;display:flex}.csv-import-dialog-title{color:#0f172a;margin:0 0 .25rem;font-size:1.125rem;font-weight:700}.csv-import-dialog-subtitle{color:#64748b;word-break:break-all;margin:0;font-size:.8125rem}.csv-import-dialog-body{flex:1;padding:1rem 1.25rem;overflow-y:auto}.csv-import-fatal{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:.75rem 1rem;font-size:.875rem}.csv-import-summary{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.csv-import-chip{color:#475569;background:#f1f5f9;border-radius:999px;align-items:center;padding:.25rem .65rem;font-size:.75rem;font-weight:600;display:inline-flex}.csv-import-chip--ok{color:#047857;background:#ecfdf5}.csv-import-chip--skip{color:#475569;background:#f8fafc}.csv-import-chip--updated{color:#1d4ed8;background:#eff6ff}.csv-import-chip--warn{color:#c2410c;background:#fff7ed}.csv-import-section{margin-top:1rem}.csv-import-section h3{margin:0 0 .5rem;font-size:.875rem;font-weight:700}.csv-import-section--created h3{color:#047857}.csv-import-section--skipped h3{color:#475569}.csv-import-section--updated h3{color:#1d4ed8}.csv-import-section--failed h3{color:#c2410c}.csv-import-table{border-collapse:collapse;width:100%;font-size:.8125rem}.csv-import-table th,.csv-import-table td{text-align:left;vertical-align:top;border-bottom:1px solid #f1f5f9;padding:.5rem .65rem}.csv-import-table th{z-index:auto;box-shadow:none;text-transform:none;letter-spacing:normal;white-space:normal;color:#64748b;background:#f8fafc;font-weight:600;position:static;top:auto}.device-item{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:.375rem;justify-content:space-between;align-items:center;padding:.75rem;transition:all .2s;display:flex}.device-item:hover{border-color:#cbd5e1}.device-item.selected-global{background-color:#eef2ff;border-color:#8edcff;box-shadow:0 0 0 1px #8edcff}.device-item.selected-org{background-color:#ecfdf5;border-color:#a7f3d0;box-shadow:0 0 0 1px #a7f3d0}.device-item.disabled{opacity:.6}.device-info{align-items:flex-start;gap:.75rem;display:flex}.device-icon{color:#64748b;background-color:#f1f5f9;border-radius:.375rem;justify-content:center;align-items:center;padding:.375rem;display:flex}.device-icon svg{width:1.125rem;height:1.125rem}.device-item.selected-global .device-icon,.device-item.selected-org .device-icon{background-color:var(--accent-soft-strong);color:var(--brand)}.device-name{color:#1e293b;align-items:center;gap:.375rem;margin:0 0 .125rem;font-size:.875rem;font-weight:500;display:flex}.device-item.selected-global .device-name,.device-item.selected-org .device-name{color:var(--accent-hover)}.device-item.selected-org .device-name{color:#064e3b}.tag-disabled{color:#475569;letter-spacing:.05em;background-color:#e2e8f0;border-radius:.125rem;padding:.125rem .25rem;font-size:.6rem;font-weight:600}.device-desc{color:#64748b;margin:0;font-size:.75rem}.device-toggle{flex-shrink:0;margin-left:.5rem}table{border-collapse:collapse;text-align:left;width:100%}th{z-index:10;text-transform:uppercase;letter-spacing:.05em;color:#64748b;white-space:nowrap;background-color:#f8fafc;padding:.5rem 1rem;font-size:.7rem;font-weight:600;position:sticky;top:0;box-shadow:0 1px #f1f5f9}th.text-center,td.text-center{text-align:center}th.text-right,td.text-right{text-align:right}td{color:#64748b;border-bottom:1px solid #f1f5f9;padding:.625rem 1rem;font-size:.8125rem}.table-row:hover{background-color:#f8fafc80}.table-row.disabled{opacity:.5;background-color:#f8fafc}.cell-name{color:#1e293b;font-weight:500}.type-badge{color:#475569;background-color:#f1f5f9;border-radius:.25rem;align-items:center;padding:.125rem .375rem;font-size:.7rem;font-weight:500;display:inline-flex}.table-input{background-color:#fff;border:1px solid #e2e8f0;border-radius:.25rem;outline:none;width:100%;min-width:100px;padding:.25rem .5rem;font-size:.75rem;transition:all .2s}.table-input:focus{border-color:var(--accent-strong);box-shadow:0 0 0 2px #0f6fff2e}.table-input:disabled{color:#94a3b8;cursor:not-allowed;background-color:#0000;border-color:#0000}.form-grid{grid-template-columns:repeat(12,1fr);align-items:end;gap:1rem;display:grid}.form-grid-half{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-col-4{grid-column:span 4}.form-col-6{grid-column:span 6}.form-col-2{grid-column:span 2}.form-group{margin-bottom:1rem}.mb-0{margin-bottom:0}.form-group label{color:#334155;margin-bottom:.375rem;font-size:.8125rem;font-weight:500;display:block}.form-control{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.375rem;outline:none;width:100%;padding:.5rem .75rem;font-size:.8125rem;transition:all .2s}.form-control:focus{border-color:var(--brand-light);box-shadow:0 0 0 3px var(--accent-soft)}.btn-primary{background:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:.375rem;justify-content:center;align-items:center;gap:.375rem;width:100%;padding:.5rem .75rem;font-size:.8125rem;font-weight:600;transition:background .15s,box-shadow .15s,transform .15s;display:flex;box-shadow:0 1px 2px #0f172a14}.btn-primary:hover{background:var(--brand-dark)}.btn-primary:active{box-shadow:none;transform:translateY(1px)}.btn-secondary{color:#334155;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #cbd5e1;border-radius:.375rem;padding:.4rem .85rem;font-size:.8125rem;font-weight:600}.btn-secondary:hover{background:#f8fafc;border-color:#94a3b8}.alias-display{justify-content:space-between;align-items:center;gap:.5rem;min-height:24px;display:flex}.alias-text{color:#0f172a;font-weight:500}.alias-empty{color:#94a3b8;font-size:.75rem;font-style:italic}.edit-mode{align-items:center;gap:.25rem;display:flex}.action-btn{cursor:pointer;color:#64748b;background:0 0;border:none;border-radius:.25rem;justify-content:center;align-items:center;padding:.25rem;transition:all .2s;display:flex}.action-btn:hover{color:#0f172a;background-color:#f1f5f9}.action-btn.save{color:#059669}.action-btn.save:hover{background-color:#d1fae5}.action-btn.cancel{color:#ef4444}.action-btn.cancel:hover{background-color:#fee2e2}.alias-display .action-btn{opacity:0}.alias-display:hover .action-btn{opacity:1}.table-row.disabled .alias-display:hover .action-btn{opacity:0;cursor:default}.device-provisioning-page .org-attributes-table .alias-display .action-btn{opacity:1}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.empty-state{text-align:center;color:#64748b;padding:1.5rem;font-size:.8125rem}.page-loader{color:#64748b;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.75rem;min-height:min(50vh,420px);display:flex}.page-loader--compact{min-height:160px}.page-loader-icon{color:var(--accent-strong)}.page-loader-text{margin:0;font-size:.875rem;font-weight:400}.loading-overlay-host{min-height:120px;position:relative}.loading-overlay{z-index:5;border-radius:inherit;background:#ffffffd1;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;display:flex;position:absolute;inset:0}.loading-overlay-icon{color:var(--accent-strong)}.loading-overlay-label{color:#64748b;font-size:.8125rem;font-weight:400}.toggle-btn{cursor:pointer;border:none;border-radius:9999px;align-items:center;width:2rem;height:1.125rem;padding:0;transition:background-color .2s;display:inline-flex;position:relative}.toggle-btn.on{background:var(--accent-gradient);box-shadow:0 1px 6px #2563c859}.toggle-btn.off{background-color:#e2e8f0}.toggle-btn.disabled-toggle{opacity:.5;cursor:not-allowed}.toggle-knob{background-color:#fff;border-radius:50%;width:.75rem;height:.75rem;transition:transform .2s;display:inline-block;transform:translate(.1875rem)}.toggle-btn.on .toggle-knob{transform:translate(1.0625rem)}@media (width<=1100px){.global-admin-page .attributes-card .table-container{height:clamp(140px,22vh,210px)}}@media (width<=900px){.app-layout{height:auto;min-height:100dvh;position:relative;overflow:hidden auto}.sidebar{z-index:50;opacity:1;pointer-events:none;width:min(82vw,280px);min-width:min(82vw,280px);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.app-layout.sidebar-open .sidebar{pointer-events:auto;transform:translate(0)}.app-layout.sidebar-collapsed .sidebar{opacity:1;pointer-events:none;width:min(82vw,280px);min-width:min(82vw,280px);transform:translate(-100%)}.sidebar-backdrop{opacity:0;pointer-events:none;z-index:40;background:#0f172a24;border:none;padding:0;transition:opacity .2s;display:block;position:fixed;inset:0}.app-layout.sidebar-open .sidebar-backdrop{opacity:1;pointer-events:auto}.top-header{gap:.5rem;height:3.25rem;padding:0 .75rem}.top-header-left{gap:.5rem}.breadcrumb{white-space:nowrap;font-size:.75rem;overflow:hidden}.header-actions{gap:.45rem}.role-badge{display:none}.dashboard-content{padding:.75rem;overflow:visible}.container{flex:none;gap:.75rem;min-height:auto}.stats-grid,.master-detail-grid,.form-grid,.form-grid-half{grid-template-columns:1fr}.form-col-4,.form-col-6,.form-col-2{grid-column:span 1}.card-header{padding:.65rem .85rem}.card-body{padding:.85rem}.master-detail-grid{flex:none;min-height:auto}.detail-panel,.device-list{height:auto;min-height:auto}.device-list-content{max-height:none;overflow:visible}.table-card{min-height:0}.table-container{-webkit-overflow-scrolling:touch;overflow:auto}.global-admin-page .attributes-card .table-container{height:auto;max-height:300px}.global-admin-page .attribute-form-card .form-grid-half[style]{margin-top:.5rem!important}.org-admin-page .device-list-content{max-height:none;overflow:visible}.org-admin-page .table-container{max-height:none}.org-admin-page .card-header h3{font-size:.95rem}}@media (width<=640px){.top-header{padding:0 .6rem}.breadcrumb span:first-child,.breadcrumb svg{display:none}.icon-btn,.hamburger-btn{width:2.05rem;height:2.05rem}.page-title h2{font-size:1.15rem}.page-title p{font-size:.9rem;line-height:1.35}.stat-card{padding:.85rem .95rem}.org-admin-page .page-title h2{font-size:1.1rem}.org-admin-page .page-title p{font-size:.84rem;line-height:1.45}.org-admin-page .card{border-radius:.65rem}.org-admin-page .card-body{padding:.75rem}.org-admin-page .org-attributes-table{border-collapse:separate;border-spacing:0}.org-admin-page .org-attributes-table thead{display:none}.org-admin-page .org-attributes-table tbody{flex-direction:column;gap:.65rem;display:flex}.org-admin-page .org-attributes-table .table-row{background:#fff;border:1px solid #e2e8f0;border-radius:.625rem;display:block;overflow:hidden}.org-admin-page .org-attributes-table td{justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem .75rem;font-size:.9rem;display:flex}.org-admin-page .org-attributes-table td:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.04em;color:#64748b;flex-shrink:0;font-size:.72rem;font-weight:600}.org-admin-page .org-attributes-table td.cell-name{color:#1e293b;align-items:flex-start;font-size:1rem}.org-admin-page .org-attributes-table td.alias-col .alias-display,.org-admin-page .org-attributes-table td.alias-col .edit-mode{justify-content:flex-end;width:100%}.org-admin-page .org-attributes-table td.text-center,.org-admin-page .org-attributes-table td.text-right{text-align:right}.org-admin-page .org-attributes-table td.text-center .toggle-btn,.org-admin-page .org-attributes-table td.text-right .toggle-btn{margin-left:auto}.org-admin-page .org-attributes-table .table-row.disabled{background-color:#f8fafc}}.container.id-reference-page{flex:1;gap:.75rem;max-width:none;height:100%;min-height:0;padding-bottom:0;font-weight:400;overflow:hidden}.id-reference-page .id-ref-alert{flex-shrink:0}.id-reference-page button{font-weight:inherit}.id-reference-page .id-ref-search-input,.id-reference-page .id-ref-picker,.id-reference-page .id-ref-copy{font-weight:400}.id-reference-page--loading{justify-content:center;align-items:center;min-height:280px;display:flex}.id-ref-loading,.id-ref-loading-inline{color:var(--text-secondary);justify-content:center;align-items:center;gap:.5rem;padding:2rem 1rem;font-size:.875rem;display:flex}.id-ref-loading-inline{justify-content:flex-start;padding:1.25rem 0}.id-ref-alert{border-radius:.5rem;padding:.65rem .9rem;font-size:.8125rem}.id-ref-alert--error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.id-ref-board{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.id-ref-board-toolbar{background:linear-gradient(#fafbfc 0%,#fff 100%);border-bottom:1px solid #e2e8f0;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem 1rem;padding:.75rem 1rem;display:flex}.id-ref-board-search{background:#fff;border:1px solid #e2e8f0;border-radius:.375rem;flex:240px;align-items:center;gap:.5rem;max-width:360px;padding:.4rem .65rem;display:flex}.id-ref-board-search:focus-within{border-color:#1d8bff73;box-shadow:0 0 0 2px #1d8bff1f}.id-ref-board-search svg{color:var(--text-tertiary);flex-shrink:0}.id-ref-search-input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:.8125rem}.id-ref-search-input::placeholder{color:var(--text-tertiary)}.id-ref-board-hint{color:var(--text-tertiary);white-space:nowrap;align-items:center;gap:.35rem;margin:0;font-size:.75rem;font-weight:400;display:inline-flex}.id-ref-board-columns{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.35fr);min-height:0;display:grid;overflow:hidden}.id-ref-col{border-right:1px solid #e2e8f0;flex-direction:column;min-height:0;max-height:100%;display:flex;overflow:hidden}.id-ref-col:last-child{border-right:none}.id-ref-col-head{z-index:1;background:#f8fafc;border-bottom:1px solid #f1f5f9;flex-shrink:0;align-items:center;gap:.5rem;padding:.65rem 1rem;display:flex}.id-ref-col-head h3{color:#334155;text-transform:none;flex:1;margin:0;font-size:.8125rem;font-weight:500}.id-ref-step{color:#475569;background:#e2e8f0;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:1.35rem;height:1.35rem;font-size:.65rem;font-weight:600;display:inline-flex}.id-ref-col-head .id-ref-step+h3{flex:0 auto}.id-ref-picker.is-selected .id-ref-col-head .id-ref-step{color:#047857;background:#10b98133}.id-ref-col:has(.id-ref-picker.is-selected) .id-ref-step{color:#047857;background:#10b98133}.id-ref-col-body{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:.35rem;min-height:0;padding:.5rem;display:flex;overflow:hidden auto}.id-ref-col-body--detail{gap:.875rem;padding:1rem 1.15rem 1.15rem}.id-ref-picker{cursor:pointer;text-align:left;width:100%;font:inherit;background:0 0;border:1px solid #0000;border-radius:.375rem;align-items:center;gap:.65rem;padding:.65rem .75rem;transition:background .15s,border-color .15s,box-shadow .15s;display:flex}.id-ref-picker:hover{background:#f8fafc;border-color:#e2e8f0}.id-ref-picker.is-selected{background:#10b98114;border-color:#10b98159;box-shadow:inset 3px 0 #10b981}.id-ref-picker-icon{color:#64748b;background:#f1f5f9;border-radius:.375rem;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;display:flex}.id-ref-picker.is-selected .id-ref-picker-icon{color:#059669;background:#10b98126}.id-ref-picker-text{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.id-ref-picker-title{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:500;overflow:hidden}.id-ref-picker-sub{color:#64748b;white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;font-weight:400;overflow:hidden}.id-ref-copy{color:#334155;font:inherit;cursor:pointer;background:#fff;border:1px solid #dbe5f4;border-radius:.3rem;flex-shrink:0;align-items:center;gap:.35rem;padding:.25rem .5rem;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.id-ref-copy--ghost{background:0 0;border-color:#0000;padding:.2rem .35rem}.id-ref-picker:hover .id-ref-copy--ghost,.id-ref-copy--ghost:hover{background:#fff;border-color:#e2e8f0}.id-ref-copy:hover{color:var(--accent-strong);background:#f8fbff;border-color:#1d8bff59}.id-ref-copy.is-copied{color:#047857;background:#10b98114;border-color:#10b98166}.id-ref-copy-value{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.8125rem;font-weight:400;line-height:1}.id-ref-crumb{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.8125rem;display:flex}.id-ref-crumb-current{color:#1e293b;font-weight:500}.id-ref-meta-grid{background:#fafbfc;border:1px solid #e2e8f0;border-radius:.375rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 1rem;padding:.85rem 1rem;display:grid}.id-ref-meta-field{flex-direction:column;gap:.3rem;min-width:0;display:flex}.id-ref-meta-field--text{grid-column:1/-1}.id-ref-meta-field-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);font-size:.65rem;font-weight:500}.id-ref-meta-field-value{color:#334155;font-size:.8125rem;font-weight:400}.id-ref-empty{text-align:center;color:var(--text-tertiary);margin:0;padding:1.25rem .75rem;font-size:.8125rem;line-height:1.45}.id-ref-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:.375rem;overflow-x:auto}.id-ref-table{border-collapse:collapse;width:100%;font-size:.8125rem}.id-ref-table thead th{text-transform:uppercase;letter-spacing:.04em;color:#64748b;text-align:left;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:.5rem 1rem;font-size:.7rem;font-weight:500}.id-ref-table tbody td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:.6rem 1rem}.id-ref-table tbody tr:last-child td{border-bottom:none}.id-ref-table tbody tr:hover td{background:#fafbfc}.id-ref-cell-name{color:#1e293b;font-weight:400}.id-ref-cell-path{color:#64748b;text-overflow:ellipsis;max-width:220px;font-family:ui-monospace,Menlo,monospace;font-size:.75rem;overflow:hidden}.id-ref-csv-block{background:#fafbfc;border:1px dashed #cbd5e1;border-radius:.375rem;margin-top:.5rem;padding:.65rem .75rem}.id-ref-csv-toggle{font:inherit;color:#475569;cursor:pointer;background:0 0;border:none;align-items:center;gap:.4rem;padding:0;font-size:.8125rem;font-weight:500;display:inline-flex}.id-ref-csv-toggle:hover{color:var(--accent-strong)}.id-ref-code-block{color:#334155;background:#fff;border:1px solid #e2e8f0;border-radius:.35rem;margin:.65rem 0 0;padding:.75rem .85rem;font-family:ui-monospace,Menlo,monospace;font-size:.75rem;line-height:1.5;overflow-x:auto}@media (width<=1100px){.id-ref-board-columns{grid-template-rows:minmax(0,1fr) minmax(0,1.25fr);grid-template-columns:1fr 1fr}.id-ref-col--detail{border-top:1px solid #e2e8f0;border-right:none;grid-column:1/-1}.id-ref-col:nth-child(2){border-right:none}}@media (width<=768px){.dashboard-content:has(.app-view-panel.is-active .id-reference-page){overflow-y:auto}.container.id-reference-page{height:auto;min-height:100%;overflow:visible}.id-ref-board{flex:none;min-height:min(70vh,100vh - 12rem)}.id-ref-board-columns{grid-template-rows:minmax(0,1fr) minmax(0,1fr) minmax(0,1.4fr);grid-template-columns:1fr;min-height:min(70vh,100vh - 14rem)}.id-ref-col{border-bottom:1px solid #e2e8f0;border-right:none;max-height:none}.id-ref-col:last-child{border-bottom:none}.id-ref-col--detail{grid-row:auto}.id-ref-meta-grid{grid-template-columns:1fr}.id-ref-board-hint{display:none}}.searchable-select{width:100%;position:relative}.searchable-select-trigger{text-align:left;cursor:pointer;background:#fff;justify-content:space-between;align-items:center;gap:.5rem;width:100%;display:flex}.searchable-select-trigger:disabled{cursor:not-allowed;opacity:.65}.searchable-select-value{text-overflow:ellipsis;white-space:nowrap;color:#0f172a;flex:1;min-width:0;font-size:.875rem;overflow:hidden}.searchable-select-value.is-placeholder{color:#94a3b8}.searchable-select-icons{color:#64748b;flex-shrink:0;align-items:center;gap:.15rem;display:inline-flex}.searchable-select-clear{color:#94a3b8;border-radius:.25rem;justify-content:center;align-items:center;padding:.15rem;display:inline-flex}.searchable-select-clear:hover{color:#475569;background:#f1f5f9}.searchable-select-chevron{transition:transform .15s}.searchable-select.is-open .searchable-select-chevron{transform:rotate(180deg)}.searchable-select-menu{z-index:40;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;flex-direction:column;display:flex;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden;box-shadow:0 10px 24px #0f172a1f}.searchable-select-menu--portal{width:max-content;position:fixed;top:auto;right:auto}.searchable-select-search{color:#94a3b8;border-bottom:1px solid #f1f5f9;align-items:center;gap:.5rem;padding:.5rem .65rem;display:flex}.searchable-select-search-input{color:#0f172a;background:0 0;border:none;outline:none;flex:1;font-size:.8125rem}.searchable-select-options{flex:1;min-height:0;max-height:none;margin:0;padding:.35rem;list-style:none;overflow-y:auto}.searchable-select-option{text-align:left;cursor:pointer;width:100%;font:inherit;background:0 0;border:none;border-radius:.375rem;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.45rem .55rem;display:flex}.searchable-select-option:hover{background:#f8fafc}.searchable-select-option.is-selected{background:#1d8bff14}.searchable-select-option-label{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.8125rem;overflow:hidden}.searchable-select-option-hint{color:#94a3b8;font-size:.7rem}.searchable-select-empty{color:#94a3b8;text-align:center;padding:.75rem .55rem;font-size:.8125rem}.container.device-data-page{flex:1;min-height:0;font-weight:400;overflow:hidden}.device-data-page button{font-weight:inherit}.device-data-page .fixed-form-card{flex-shrink:0;overflow:visible}.device-data-page .device-data-toolbar{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex;overflow:visible}.device-data-page .device-data-field{flex:180px;min-width:200px}.device-data-page .device-data-field--compact{flex:0 0 110px;min-width:100px}.device-data-page .device-data-scope-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:1rem;margin-top:.75rem;display:grid}.device-data-page .device-data-scope{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:.8125rem;overflow:hidden}.device-data-page .device-data-api-link{color:#64748b;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;text-align:right;background:0 0;border:none;justify-self:end;width:100%;min-width:0;max-width:100%;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;overflow:hidden}.device-data-page .device-data-api-link:hover{color:var(--accent-strong);text-decoration:underline}.device-data-page .device-data-api-link.is-copied{color:#047857;text-decoration:none}.device-data-page .device-data-grafana-card{background:linear-gradient(135deg,#1d8bff0f 0%,#fff 55%);border:1px solid #1d8bff33;flex-shrink:0}.device-data-page .device-data-grafana-body{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 1.25rem;padding:1rem 1.25rem;display:flex}.device-data-page .device-data-grafana-copy{flex:280px;align-items:flex-start;gap:.85rem;min-width:0;display:flex}.device-data-page .device-data-grafana-icon{width:2.5rem;height:2.5rem;color:var(--accent-strong);background:#1d8bff1f;border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;display:flex}.device-data-page .device-data-grafana-title{color:#0f172a;margin:0 0 .35rem;font-size:.9375rem;font-weight:600}.device-data-page .device-data-grafana-desc{color:var(--text-secondary);margin:0;font-size:.8125rem;line-height:1.45}.device-data-page .device-data-grafana-desc code{background:#f1f5f9;border-radius:.25rem;padding:.1rem .35rem;font-size:.75rem}.device-data-page .device-data-grafana-actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.device-data-page .device-data-grafana-btn{align-items:center;gap:.45rem;padding:.5rem 1rem;text-decoration:none;display:inline-flex}.device-data-page .device-data-grafana-external{opacity:.85}.device-data-page .device-data-grafana-link-secondary{color:#475569;border-radius:.375rem;padding:.45rem .65rem;font-size:.8125rem;text-decoration:none}.device-data-page .device-data-grafana-link-secondary:hover{color:#0f172a;background:#f1f5f9}.device-data-page .device-data-scope strong{color:#334155;font-weight:500}.device-data-page .form-label{font-weight:500}.device-data-page .device-data-table-panel{flex:auto;min-height:0;display:flex}.device-data-page .device-data-table-card{flex-direction:column;flex:1;width:100%;min-height:0;display:flex}.device-data-page .device-data-table-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem 1rem;display:flex}.device-data-page .device-data-table-header h3{text-transform:none;margin:0;font-size:.9rem;font-weight:500}.device-data-page .device-data-table-header-right{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.device-data-page .device-data-table-meta{color:var(--text-tertiary);white-space:nowrap;font-size:.75rem;font-weight:400}.device-data-page .device-data-refresh-btn{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:.375rem;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.8125rem;font-weight:500;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.device-data-page .device-data-refresh-btn:hover:not(:disabled){color:#0f172a;background:#f8fafc;border-color:#cbd5e1}.device-data-page .device-data-refresh-btn:disabled{opacity:.55;cursor:not-allowed}.device-data-page .device-data-table-scroll{background:#fff;flex:1;min-height:0;overflow:auto}.device-data-page .device-data-table{border-collapse:separate;border-spacing:0;text-align:left;width:100%}.device-data-page .device-data-table thead th{z-index:2;text-transform:uppercase;letter-spacing:.04em;color:#64748b;box-shadow:none;white-space:nowrap;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:.5rem .75rem;font-size:.68rem;font-weight:500;position:sticky;top:0}.device-data-page .device-data-table tbody td{color:#475569;vertical-align:top;background:#fff;border-bottom:1px solid #f1f5f9;padding:.55rem .75rem;font-size:.8125rem;font-weight:400}.device-data-page .device-data-table tbody tr:hover td{background:#fafbfc}.device-data-page .device-data-device-cell{min-width:10rem}.device-data-page .device-data-device-name{color:#0f172a;font-size:.8125rem;font-weight:400;line-height:1.35;display:block}.device-data-page .device-data-device-id{color:var(--text-tertiary);margin-top:.2rem;font-size:.7rem;line-height:1.3;display:block}.device-data-page .device-data-pagination{background:#fafbfc;border-top:1px solid #f1f5f9;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem 1.25rem;display:flex}.device-data-page .device-data-page-meta{color:var(--text-secondary);font-size:.8125rem}.device-data-page .device-data-pagination-actions{align-items:center;gap:.5rem;display:flex}.device-data-alert{text-align:center;border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;padding:.55rem 1rem;font-size:.875rem;display:flex}.device-data-alert--error{color:#991b1b;background:#fef2f2f2;border:1px solid #ef444459}.device-data-alert--ok{color:#047857;background:#ecfdf5fa;border:1px solid #10b98159;font-weight:500}.page-notice{border-radius:.5rem;flex-shrink:0;align-items:flex-start;gap:.5rem;padding:.65rem 1rem;font-size:.875rem;line-height:1.4;display:flex}.page-notice-icon{flex-shrink:0;margin-top:.1rem}.page-notice-text{flex:1;min-width:0}.page-notice-dismiss{color:inherit;opacity:.65;cursor:pointer;background:0 0;border:none;border-radius:.25rem;flex-shrink:0;justify-content:center;align-items:center;margin:-.15rem -.25rem 0 0;padding:.15rem;display:inline-flex}.page-notice-dismiss:hover{opacity:1;background:#0000000f}.page-notice--error{color:#991b1b;background:#fef2f2f2;border:1px solid #ef444459}.page-notice--success{color:#047857;background:#ecfdf5fa;border:1px solid #10b98159}.page-notice--warning{color:#92400e;background:#fffbebfa;border:1px solid #f59e0b66}.page-notice--info{color:#1e40af;background:#eff6fffa;border:1px solid #3b82f659}.auth-notice{margin-bottom:.75rem}.provisioning-toolbar-select{min-width:220px;max-width:280px}.site-map-page.container{gap:.75rem;height:100%;overflow:hidden}.site-map-toolbar{flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.site-map-toolbar h2{color:#1e293b;margin:0;font-size:.95rem;font-weight:700}.site-map-toolbar p{color:#64748b;margin:.15rem 0 0;font-size:.72rem}.site-map-toolbar-actions{flex-shrink:0;align-items:center;gap:.65rem;display:flex}.site-map-site-select{width:14rem}.site-map-page-select{width:11rem}.site-map-page-actions{align-items:center;gap:.25rem;margin-left:-.3rem;display:inline-flex}.site-map-page-actions button{color:#475569;cursor:pointer;background:#fff;border:1px solid #dbeafe;border-radius:.375rem;justify-content:center;align-items:center;width:1.9rem;height:1.9rem;display:inline-flex}.site-map-page-actions button:hover:not(:disabled){color:var(--brand-dark);background:#eff6ff;border-color:#93c5fd}.site-map-page-actions .site-map-page-delete:hover:not(:disabled){color:#b91c1c;background:#fef2f2;border-color:#fecaca}.site-map-page-actions button:disabled{cursor:not-allowed;opacity:.45}.site-map-canvas-page{color:var(--brand-dark);background:#eff6ff;border-radius:.25rem;margin-left:.4rem;padding:.05rem .4rem;font-size:.7rem;font-style:normal;font-weight:600}.site-map-page-modal{width:min(420px,100%)}.site-map-page-modal-field{display:block}.site-map-page-modal-field span{color:#475569;margin-bottom:.35rem;font-size:.75rem;font-weight:600;display:block}.site-map-page-modal-field input{color:#0f172a;border:1px solid #cbd5e1;border-radius:.375rem;width:100%;height:36px;padding:0 .6rem;font-size:.85rem}.site-map-page-modal-field input:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #4f46e51f}.site-map-page-modal-error{color:#b91c1c;margin:.6rem 0 0;font-size:.75rem}.site-map-save-btn{white-space:nowrap;width:auto;height:36px;padding:0 .9rem}.site-map-workspace{flex:1;grid-template-columns:minmax(15rem,18rem) 1fr;gap:.75rem;min-height:0;display:grid;overflow:hidden}.site-map-rail{flex-direction:column;min-height:0;display:flex;overflow:hidden}.site-map-selected-panel{background:linear-gradient(#fff 0%,#f8fbff 100%);border-bottom:1px solid #e2e8f0;flex-direction:column;flex:1;min-height:0;display:flex}.site-map-unplaced-panel{background:#fff;flex-direction:column;flex:0 0 2.8rem;min-height:2.8rem;max-height:2.8rem;transition:flex-basis .16s,max-height .16s;display:flex}.site-map-unplaced-panel.is-open{flex-basis:50%;max-height:50%}.site-map-unplaced-actions{align-items:center;gap:.5rem;display:inline-flex}.site-map-rail-head,.site-map-canvas-head{color:#475569;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem .85rem;font-size:.72rem;font-weight:700;display:flex}.site-map-rail-list{flex-direction:column;flex:1;gap:.45rem;min-height:0;padding:.65rem;display:flex;overflow-y:auto}.site-map-unplaced-search{padding:.55rem .65rem 0}.site-map-unplaced-search input{color:#0f172a;background:#f8fafc;border:1px solid #dbeafe;border-radius:.45rem;outline:none;width:100%;height:2rem;padding:0 .65rem;font-size:.72rem}.site-map-unplaced-search input:focus{background:#fff;border-color:#93c5fd;box-shadow:0 0 0 3px #2563c81f}.site-map-palette-device{color:#1e293b;text-align:left;cursor:grab;background:#fff;border:1px solid #dbeafe;border-radius:.45rem;align-items:center;gap:.55rem;width:100%;padding:.55rem;display:flex;box-shadow:0 1px 2px #0f172a0a}.site-map-palette-device.is-selected{background:#eff6ff;border-color:#2563c8;box-shadow:0 0 0 3px #2563c824}.site-map-palette-device:disabled{cursor:default;opacity:.75}.site-map-palette-device strong,.site-map-device-card strong{color:#1e293b;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:600;display:block;overflow:hidden}.site-map-palette-device small,.site-map-device-card span{color:#64748b;text-overflow:ellipsis;white-space:nowrap;margin-top:.08rem;font-size:.64rem;display:block;overflow:hidden}.site-map-empty{color:#94a3b8;margin:.25rem;font-size:.78rem;line-height:1.45}.site-map-selected-clear{color:#2563c8;font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:700}.site-map-selected-body{flex-direction:column;flex:1;gap:.5rem;min-height:0;padding:.55rem;display:flex;overflow:hidden}.site-map-selected-card{background:#fffffff2;border:1px solid #dbeafe;border-radius:.65rem;flex-direction:column;flex:1;min-height:0;padding:.5rem;display:flex;box-shadow:0 6px 16px #1d4e9e14}.site-map-selected-card-head{justify-content:space-between;align-items:flex-start;gap:.65rem;display:flex}.site-map-selected-card-head button{color:#64748b;cursor:pointer;background:#f1f5f9;border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:1.35rem;height:1.35rem;padding:0;display:inline-flex}.site-map-selected-card-head button:hover{color:#dc2626;background:#fee2e2}.site-map-selected-title h3{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:.76rem;font-weight:700;line-height:1.25;overflow:hidden}.site-map-selected-title span{color:#2563c8;background:#eff6ff;border-radius:999px;width:fit-content;max-width:100%;margin:0 0 0 .35rem;padding:.08rem .45rem;font-size:.65rem;font-weight:700;display:inline-flex}.site-map-selected-meta{color:#64748b;border-top:1px solid #e2e8f0;justify-content:space-between;gap:.5rem;margin-top:.45rem;padding-top:.4rem;font-size:.68rem;display:flex}.site-map-selected-values{flex-direction:column;flex:1;gap:.15rem;min-height:0;max-height:none;margin-top:.35rem;display:flex;overflow-y:auto}.site-map-selected-row{border-bottom:1px solid #eef2f7;grid-template-columns:minmax(0,1fr) 3.7rem 2.4rem 2.35rem;align-items:center;gap:.4rem;min-height:1.34rem;padding:.18rem 0;font-size:.64rem;display:grid}.site-map-selected-row-head{z-index:1;color:#94a3b8;text-transform:uppercase;letter-spacing:.03em;background:#fffffffa;min-height:1.15rem;font-size:.58rem;font-weight:700;position:sticky;top:0}.site-map-selected-row span{text-overflow:ellipsis;white-space:nowrap;color:#64748b;min-width:0;overflow:hidden}.site-map-selected-row strong{text-overflow:ellipsis;color:#0f172a;text-align:right;min-width:0;font-size:.65rem;overflow:hidden}.site-map-data-status{border-radius:999px;justify-content:center;justify-self:center;align-items:center;width:.78rem;height:.78rem;padding:0;font-size:.58rem;font-style:normal;font-weight:800;line-height:1;display:inline-flex}.site-map-data-status.is-good{color:#fff;background:#22c55e}.site-map-data-status.is-bad{color:#fff;background:#ef4444}.site-map-data-status.is-alarm{color:#fff;background:#f97316}.site-map-data-status.is-unknown{color:#fff;background:#cbd5e1}.site-map-selected-empty{color:#94a3b8;padding:.75rem;font-size:.78rem;line-height:1.45}.site-map-selected-empty p{margin:0}.site-map-canvas-shell{flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.site-map-canvas-shell.is-expanded{z-index:10000;border-radius:.75rem;position:fixed;inset:1rem;box-shadow:0 24px 70px #0f172a47}.site-map-canvas-tools{align-items:center;gap:.35rem;margin-left:auto;display:inline-flex}.site-map-canvas-tools button{color:#475569;cursor:pointer;background:#fff;border:1px solid #dbeafe;border-radius:.375rem;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;display:inline-flex}.site-map-canvas-tools button:hover:not(:disabled){color:var(--brand-dark);background:#eff6ff;border-color:#93c5fd}.site-map-canvas-tools button:disabled{cursor:not-allowed;opacity:.45}.site-map-zoom-label{text-align:center;color:#64748b;min-width:2.5rem;font-size:.72rem;font-weight:700}.site-map-canvas-scroll{background:#f8fafc;flex:1;min-height:0;padding:.75rem;overflow:auto}.site-map-canvas-zoom-frame{position:relative}.site-map-canvas{transform-origin:0 0;background:linear-gradient(#2563c80e 1px,#0000 1px) 0 0/32px 32px,linear-gradient(90deg,#2563c80e 1px,#0000 1px) 0 0/32px 32px,linear-gradient(#f8fbff 0%,#eef6ff 100%) 0 0/100% 100%;border:1px solid #c9daf0;border-radius:.65rem;width:5000px;height:3200px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #fffc}.site-map-placeholder{color:#94a3b8;text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;display:flex;position:absolute;inset:0}.site-map-placeholder p{margin:0;font-size:.875rem}.site-map-device-card{color:#0f172a;cursor:grab;-webkit-user-select:none;user-select:none;background:#fffffff2;border:1px solid #93c5fd;border-radius:.55rem;align-items:center;padding:.5rem 1.55rem .5rem .7rem;display:flex;position:absolute;box-shadow:0 8px 18px #1d4e9e1f}.site-map-device-card:active,.site-map-palette-device:active{cursor:grabbing}.site-map-device-card.is-selected{background:linear-gradient(#fff 0%,#eff6ff 100%);border-color:#2563c8;box-shadow:0 0 0 4px #2563c833,0 12px 26px #1d4e9e2e}.site-map-device-icon{width:2rem;height:2rem;color:var(--brand-dark);background:#eff6ff;border-radius:.45rem;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.site-map-device-copy{flex:1;min-width:0}.site-map-device-card .site-map-device-type{color:#2563c8;background:#eff6ff;border-radius:999px;width:fit-content;max-width:100%;margin-top:.18rem;padding:.06rem .36rem;font-size:.62rem;font-weight:600;display:inline-flex}.site-map-device-remove{color:#dc2626;cursor:pointer;background:#fee2e2;border:none;border-radius:999px;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;padding:0;display:inline-flex;position:absolute;top:.22rem;right:.22rem}.site-map-device-popover{z-index:1000;background:#fffffffa;border:1px solid #c9daf0;border-radius:.65rem;width:260px;max-height:230px;padding:.75rem;position:absolute;overflow:hidden;box-shadow:0 16px 34px #1d4e9e2e}.site-map-device-popover:before{content:"";background:#fffffffa;border-bottom:1px solid #c9daf0;border-left:1px solid #c9daf0;width:12px;height:12px;position:absolute;top:1rem;left:-7px;transform:rotate(45deg)}.site-map-device-popover--left:before{left:auto;right:-7px;transform:rotate(225deg)}.site-map-device-popover--below:before{top:-7px;left:1rem;transform:rotate(135deg)}.site-map-device-popover--above:before{top:auto;bottom:-7px;left:1rem;transform:rotate(315deg)}.site-map-device-popover-head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.site-map-device-popover-head h3{color:#0f172a;margin:0;font-size:.85rem;font-weight:700}.site-map-device-popover-head span{color:#2563c8;background:#eff6ff;border-radius:999px;margin-top:.3rem;padding:.08rem .42rem;font-size:.65rem;font-weight:600;display:inline-flex}.site-map-device-popover-head button{color:#64748b;cursor:pointer;background:#f1f5f9;border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:1.45rem;height:1.45rem;padding:0;display:inline-flex}.site-map-device-popover-meta{color:#64748b;border-top:1px solid #eef2f7;justify-content:space-between;gap:.5rem;margin-top:.65rem;padding-top:.55rem;font-size:.68rem;display:flex}.site-map-device-popover-values{gap:.25rem;max-height:118px;margin-top:.55rem;padding-right:.15rem;display:grid;overflow-y:auto}.site-map-device-popover-row{background:#f8fafc;border-radius:.4rem;grid-template-columns:1fr auto auto;align-items:center;gap:.5rem;padding:.35rem .45rem;font-size:.72rem;display:grid}.site-map-device-popover-row span{color:#64748b}.site-map-device-popover-row strong{color:#0f172a;font-size:.74rem}.site-map-device-popover-row em{color:#059669;font-size:.65rem;font-style:normal;font-weight:600}.site-map-device-popover-row em.quality-bad,.site-map-device-popover-row em.quality-unknown{color:#dc2626}.site-map-device-popover-row em.quality-uncertain{color:#b45309}.site-map-device-popover-empty{color:#94a3b8;margin:0;padding:.75rem .45rem;font-size:.72rem}@media (width<=960px){.site-map-toolbar,.site-map-toolbar-actions{flex-direction:column;align-items:stretch}.site-map-site-select,.site-map-page-select,.site-map-save-btn{width:100%}.site-map-page-actions{justify-content:flex-end;margin-left:0}.site-map-workspace{grid-template-columns:1fr;overflow:auto}.site-map-rail{max-height:12rem}}.device-provisioning-page{gap:.75rem}.provisioning-scope-bar.provisioning-filter-bar{box-shadow:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff85;border-color:#c9daf0b3}.provisioning-filter-bar .provisioning-context-url{color:var(--text-tertiary);background:#ffffffb8;border-color:#c9daf0a6}.provisioning-filter-bar .searchable-select-trigger{background:#ffffffd9;border-color:#c9daf0bf}.provisioning-scope-bar{background:var(--bg-surface);border:1px solid var(--border);border-radius:.5rem;flex-shrink:0;padding:.75rem 1rem;box-shadow:0 1px 3px #0f172a0a}.provisioning-scope-fields{grid-template-columns:minmax(9rem,13rem) minmax(9rem,13rem) minmax(12rem,1fr);align-items:end;gap:.75rem 1rem;width:100%;min-width:0;display:grid}@media (width<=720px){.provisioning-scope-fields{grid-template-columns:1fr}}.provisioning-scope-bar .provisioning-field--endpoint,.provisioning-scope-bar .provisioning-field--endpoint-group{min-width:0}.provisioning-endpoint-row{align-items:stretch;gap:.5rem;min-width:0;display:flex}.provisioning-endpoint-row .provisioning-context-url{flex:1;min-width:0;margin:0}.provisioning-udt-ref-btn{color:#334155;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #cbd5e1;border-radius:.375rem;flex-shrink:0;align-items:center;gap:.35rem;height:36px;padding:0 .75rem;font-size:.8125rem;font-weight:600;display:inline-flex}.provisioning-udt-ref-btn:hover:not(:disabled){background:#f8fafc;border-color:#94a3b8}.provisioning-udt-ref-btn:disabled{opacity:.5;cursor:not-allowed}.udt-catalog-dialog{max-width:min(92vw,680px)}.udt-catalog-dialog-body{min-height:0;padding:.75rem 1rem 1rem;overflow:hidden}.udt-catalog-empty{color:#475569!important;background:#f8fafc!important;border-color:#e2e8f0!important}.udt-catalog-panels{background:#fff;border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:minmax(10rem,38%) 1fr;height:min(52vh,420px);min-height:200px;display:grid;overflow:hidden}.udt-catalog-types{-webkit-overflow-scrolling:touch;background:#f8fafc;border-right:1px solid #e2e8f0;flex-direction:column;min-height:0;display:flex;overflow:hidden auto}.udt-catalog-type-item{text-align:left;cursor:pointer;color:#475569;background:0 0;border-top:none;border-bottom:1px solid #f1f5f9;border-left:3px solid #0000;border-right:none;justify-content:space-between;align-items:center;gap:.5rem;width:100%;padding:.65rem .75rem;font-size:.8125rem;display:flex}.udt-catalog-type-item:hover{color:#0f172a;background:#f1f5f9}.udt-catalog-type-item.is-selected{color:#0f172a;background:#fff;border-left-color:#14b8a6;font-weight:600}.udt-catalog-type-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.udt-catalog-type-count{color:#64748b;background:#e2e8f0;border-radius:999px;flex-shrink:0;padding:.1rem .4rem;font-size:.6875rem;font-weight:600}.udt-catalog-type-item.is-selected .udt-catalog-type-count{color:#0f766e;background:#ccfbf1}.udt-catalog-detail{-webkit-overflow-scrolling:touch;min-width:0;min-height:0;padding:.75rem 1rem;overflow:hidden auto}.udt-catalog-detail-title{color:#0f172a;margin:0 0 .65rem;font-size:.875rem;font-weight:700}.udt-catalog-table{border:1px solid #f1f5f9;border-radius:6px;overflow:hidden}.udt-catalog-id{color:#0f766e;width:5rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700}.provisioning-scope-bar .provisioning-field--endpoint .provisioning-context-url{width:100%;margin:0}.provisioning-field{flex-direction:column;gap:.35rem;min-width:0;display:flex}.provisioning-field-label{color:var(--text-secondary);font-size:.75rem;font-weight:600}.provisioning-field-control{width:100%;min-width:0}.provisioning-context-url{box-sizing:border-box;min-height:2.25rem;color:var(--text-secondary);background:var(--bg-surface-soft);border:1px solid var(--border);white-space:nowrap;cursor:default;-webkit-user-select:text;user-select:text;-webkit-overflow-scrolling:touch;scrollbar-width:thin;border-radius:.375rem;margin:0;padding:.5rem .65rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;line-height:1.25rem;overflow:auto hidden}.provisioning-context-url:focus{outline:2px solid var(--brand-light,#93c5fd);outline-offset:1px}.provisioning-context-url:focus:not(:focus-visible){outline:none}.provisioning-context-url:focus-visible{outline:2px solid var(--brand-light,#93c5fd);outline-offset:1px}.provisioning-context-alert{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:.375rem;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-top:.85rem;padding:.6rem .75rem;font-size:.8125rem;display:flex}.provisioning-context-alert svg{color:#d97706;flex-shrink:0}.provisioning-context-alert-btn{color:var(--brand-dark);cursor:pointer;background:#fff;border:1px solid #fcd34d;border-radius:.375rem;margin-left:auto;padding:.3rem .65rem;font-size:.75rem;font-weight:600}.provisioning-context-alert-btn:hover{background:#fef3c7}.provisioning-placeholder{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:280px;padding:2.5rem 1.5rem;display:flex}.provisioning-placeholder-icon{color:var(--brand-light);margin-bottom:1rem}.provisioning-placeholder-icon--warn{color:#d97706}.provisioning-placeholder-title{color:var(--text-primary);margin:0 0 .5rem;font-size:1.05rem;font-weight:600}.provisioning-placeholder-text{max-width:26rem;color:var(--text-secondary);margin:0;font-size:.875rem;line-height:1.5}.provisioning-steps{flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:1rem;display:flex}.provisioning-steps-sep{color:#cbd5e1;flex-shrink:0}.provisioning-step{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:999px;align-items:center;gap:.45rem;padding:.35rem .65rem;font-size:.8125rem;display:inline-flex}.provisioning-step:disabled{cursor:default;opacity:.55}.provisioning-step.is-active{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.provisioning-step.is-done:not(.is-active){color:#334155}.provisioning-step-num{background:#f1f5f9;border-radius:999px;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;font-size:.72rem;font-weight:700;display:inline-flex}.provisioning-step.is-active .provisioning-step-num{background:#dbeafe}.provisioning-step-actions{justify-content:flex-end;gap:.65rem;margin-top:1rem;padding-top:.5rem;display:flex}.provisioning-step-context{align-items:baseline;gap:.35rem;margin-bottom:.75rem;font-size:.875rem;display:flex}.provisioning-step-context-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}.provisioning-step-context-meta{color:#64748b}.provisioning-customer-panel .card-header h3{margin:0}.provisioning-customer-sub{color:#94a3b8;margin:.15rem 0 0;font-size:.75rem}.provisioning-customer-body{padding:.85rem 1rem 1rem}.provisioning-customer-hint{color:#94a3b8;margin:.45rem 0 0;font-size:.75rem;line-height:1.45}.device-list-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.device-list-header-title{align-items:center;gap:.5rem;display:flex}.device-list-filter{flex:1;min-width:10rem;max-width:14rem}.device-list-filter-select{width:100%}.customer-management-page .customer-create-bar{grid-template-columns:1fr 1fr auto;align-items:flex-end;gap:.75rem;padding:.75rem 1rem;display:grid}.customer-management-page .customer-create-bar label{color:#64748b;margin-bottom:.2rem;font-size:.72rem;font-weight:600}.customer-management-page .customer-create-btn{white-space:nowrap;align-items:center;gap:.35rem;width:auto;height:36px;padding:0 1rem;display:inline-flex}@media (width<=720px){.customer-management-page .customer-create-bar{grid-template-columns:1fr}.customer-management-page .customer-create-btn{justify-content:center;width:100%}}.customer-management-page .detail-panel{align-self:start;height:auto}.customer-detail-dl{grid-template-columns:1fr 1fr;gap:.6rem 1rem;margin:0;display:grid}.customer-detail-dl div{gap:.2rem;display:grid}.customer-detail-dl dt{color:#64748b;font-size:.72rem;font-weight:600}.customer-detail-dl dd{color:#0f172a;margin:0;font-size:.8125rem}.customer-status-pill{border-radius:999px;align-items:center;gap:.3rem;width:fit-content;padding:.1rem .5rem;font-size:.72rem;font-weight:600;display:inline-flex}.customer-status-pill--active{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.customer-status-pill--inactive{color:#64748b;background:#f8fafc;border:1px solid #cbd5e1}.customer-active-toggle{color:#334155;align-items:center;gap:.45rem;font-size:.875rem;display:inline-flex}.provisioning-customer-inline{align-items:center;gap:.5rem;max-width:18rem;margin-top:.55rem;display:flex}.provisioning-customer-inline-label{color:#94a3b8;white-space:nowrap;font-size:.72rem;font-weight:600}.device-metadata-page{flex-direction:column;gap:.65rem;min-height:0;display:flex}.device-metadata-page .page-title{margin-bottom:0}.device-metadata-page .device-metadata-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.device-metadata-page .device-metadata-header-site{flex-shrink:0;align-items:center;gap:.5rem;width:15rem;display:flex}.device-metadata-page .device-metadata-header-site label{color:#64748b;flex-shrink:0;font-size:.8125rem;font-weight:600}.device-metadata-page .device-metadata-header-site>div{flex:1}@media (width<=720px){.device-metadata-page .device-metadata-site-card{width:100%}}.device-metadata-page .master-detail-grid{flex:1;grid-template-columns:5fr 7fr;min-height:0}.device-metadata-page .device-metadata-detail-panel{height:100%}.device-metadata-page .device-metadata-form{flex-direction:column;gap:.85rem;display:flex}.device-metadata-page .device-metadata-form-row{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}.device-metadata-page .device-metadata-description{resize:vertical;font-family:inherit}.device-metadata-page .device-metadata-save-btn{white-space:nowrap;align-items:center;gap:.35rem;width:auto;height:34px;padding:0 .9rem;display:inline-flex}@media (width<=720px){.device-metadata-page .device-metadata-form-row{grid-template-columns:1fr}.device-metadata-page .device-metadata-datahall-add{margin-left:0}}.metric-bindings-page{flex-direction:column;gap:.75rem;min-height:0;padding-bottom:1rem;display:flex;overflow-y:auto}.metric-bindings-page .page-title p{max-width:48rem}.metric-bindings-scope-row{flex-wrap:wrap;gap:1rem;display:flex}.metric-bindings-scope-row .form-group{width:15rem}.metric-bindings-formula-body{padding:.9rem 1.25rem 1.1rem}.metric-bindings-formula-desc{color:#64748b;margin:0 0 .9rem;font-size:.8125rem}.metric-bindings-slot-block{border-top:1px solid #f1f5f9;padding:.75rem 0}.metric-bindings-slot-block:first-of-type{border-top:none;padding-top:0}.metric-bindings-slot-heading{align-items:baseline;gap:.5rem;margin-bottom:.5rem;display:flex}.metric-bindings-slot-label{color:#0f172a;font-size:.85rem;font-weight:600}.metric-bindings-slot-summed{color:var(--brand-dark);font-size:.72rem;font-weight:600}.metric-bindings-slot-unbound{color:#b45309;margin:0 0 .6rem;font-size:.8125rem}.metric-bindings-bound-list{flex-direction:column;gap:.3rem;margin:0 0 .6rem;padding:0;list-style:none;display:flex}.metric-bindings-bound-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.375rem;align-items:center;gap:.6rem;padding:.4rem .65rem;display:flex}.metric-bindings-bound-name{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.8125rem;overflow:hidden}.metric-bindings-remove-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:.3rem;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.metric-bindings-remove-btn:hover{color:#dc2626;background:#fef2f2}.metric-bindings-add-row{align-items:center;gap:.5rem;display:flex}.metric-bindings-add-field{flex:1;min-width:0}.metric-bindings-add-btn{white-space:nowrap;flex-shrink:0;align-items:center;gap:.3rem;width:auto;height:34px;padding:0 .85rem;display:inline-flex}@media (width<=720px){.metric-bindings-add-row{flex-wrap:wrap}.metric-bindings-add-field{width:100%}}.metric-bindings-page .metric-bindings-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.metric-bindings-page .metric-bindings-title{align-items:center;gap:.4rem;display:flex}.metric-bindings-new-formula-btn{white-space:nowrap;align-items:center;gap:.35rem;width:auto;height:34px;padding:0 .9rem;display:inline-flex}.metric-bindings-create-layout{flex-direction:column;gap:.75rem;min-width:0;display:flex}.metric-bindings-create-bar{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;align-items:center;gap:.75rem;min-height:3rem;padding:.5rem .85rem;display:flex}.metric-bindings-back-btn{color:#475569;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #e2e8f0;border-radius:.375rem;flex-shrink:0;align-items:center;gap:.35rem;height:2rem;padding:0 .65rem;font-size:.8125rem;font-weight:500;display:inline-flex}.metric-bindings-back-btn:hover{color:#0f172a;background:#f8fafc;border-color:#cbd5e1}.metric-bindings-create-bar-title{color:#0f172a;flex:1;min-width:0;margin:0;font-size:1rem;font-weight:700}.metric-bindings-new-formula-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.75rem;display:grid}.metric-bindings-form-col,.metric-bindings-expr-col{flex-direction:column;gap:1rem;min-width:0;display:flex}@media (width<=860px){.metric-bindings-new-formula-grid{grid-template-columns:1fr;gap:1rem}}.metric-bindings-builder{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;flex-direction:column;gap:.5rem;margin-bottom:.5rem;padding:.65rem;display:flex}.metric-bindings-builder-palette{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.metric-bindings-palette-label{text-transform:uppercase;letter-spacing:.03em;color:#94a3b8;flex-shrink:0;width:4.5rem;font-size:.7rem;font-weight:600}.metric-bindings-palette-empty{color:#94a3b8;font-size:.78rem;font-style:italic}.metric-bindings-chip{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:.375rem;font-size:.8125rem;line-height:1;transition:background .12s,border-color .12s}.metric-bindings-chip--var{color:var(--brand-dark);background:#eff6ff;border-color:#bfdbfe;padding:.3rem .55rem;font-family:monospace}.metric-bindings-chip--var:hover{background:#dbeafe}.metric-bindings-chip--op{color:#334155;width:2rem;height:2rem;font-weight:600}.metric-bindings-chip--op:hover{background:#f1f5f9;border-color:#94a3b8}.metric-bindings-expression-field{position:relative}.metric-bindings-expression-field .metric-bindings-expression-input{padding-right:2.25rem}.metric-bindings-expression-input.is-invalid{border-color:#fca5a5}.metric-bindings-expression-input.is-valid{border-color:#86efac}.metric-bindings-expression-clear{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:.25rem;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;display:inline-flex;position:absolute;top:50%;right:.4rem;transform:translateY(-50%)}.metric-bindings-expression-clear:hover{color:#dc2626;background:#fef2f2}.metric-bindings-expression-status{align-items:center;gap:.3rem;margin:.3rem 0 0;font-size:.75rem;display:flex}.metric-bindings-expression-status.is-error{color:#dc2626}.metric-bindings-expression-status.is-ok{color:#047857}.metric-bindings-new-formula-body{flex-direction:column;gap:1rem;padding:1.25rem 1.5rem;display:flex}.metric-bindings-new-formula-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.metric-bindings-field-hint{color:#94a3b8;margin:.3rem 0 0;font-size:.72rem}.metric-bindings-field-hint code{background:#f1f5f9;border-radius:.25rem;padding:.05rem .3rem}.metric-bindings-create-actions{gap:.6rem;padding-top:.25rem;display:flex}.metric-bindings-var-row{align-items:center;gap:.5rem;margin-bottom:.4rem;display:flex}.metric-bindings-var-row input{flex:1;min-width:0}.metric-bindings-var-remove{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:.375rem;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.metric-bindings-var-remove:hover:not(:disabled){color:#dc2626;background:#fef2f2;border-color:#fecaca}.metric-bindings-var-remove:disabled{opacity:.4;cursor:not-allowed}.metric-bindings-var-add{color:var(--brand);cursor:pointer;background:0 0;border:none;align-items:center;gap:.3rem;padding:.2rem 0;font-size:.8125rem;font-weight:600;display:inline-flex}.metric-bindings-var-add:hover{color:var(--brand-dark)}.metric-bindings-expression-input{font-family:monospace}.metric-bindings-expression-hint{color:#94a3b8;margin:.3rem 0 0;font-size:.72rem}.metric-bindings-create-btn{width:auto;height:36px;padding:0 1rem}.metric-bindings-formula-delete{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:.3rem;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.metric-bindings-formula-delete:hover:not(:disabled){color:#dc2626;background:#fef2f2}.metric-bindings-scope-actions{align-items:flex-end;gap:.5rem;margin-left:auto;display:flex}.metric-bindings-validate-btn,.metric-bindings-run-btn{white-space:nowrap;align-items:center;gap:.35rem;width:auto;height:34px;padding:0 .85rem;display:inline-flex}.metric-bindings-readiness{flex-direction:column;gap:.4rem;padding:0 1.25rem .85rem;display:flex}.metric-bindings-readiness-row{color:#64748b;align-items:center;gap:.45rem;font-size:.8125rem;display:flex}.metric-bindings-readiness-row.is-ready{color:#047857}.metric-bindings-readiness-row.is-not-ready{color:#b45309}.metric-bindings-run-result{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.375rem;margin:0 1.25rem .85rem;padding:.65rem .85rem;font-size:.8125rem}.metric-bindings-run-result p{color:#0f172a;margin:0 0 .4rem;font-weight:600}.metric-bindings-run-result-row{color:#334155}.metric-vars-form{flex-direction:column;gap:1rem;max-width:46rem;display:flex}.metric-vars-unit-input{max-width:14rem}.metric-vars-scope-hint{color:#64748b;border-top:1px solid #f1f5f9;margin:.75rem 1.25rem 0;padding-top:.75rem;font-size:.78rem}.metric-vars-card-title{align-items:center;gap:.55rem;min-width:0;display:flex}.metric-vars-card-title h3{margin:0}.metric-vars-key{color:#475569;background:#f1f5f9;border-radius:.25rem;padding:.1rem .4rem;font-family:monospace;font-size:.72rem}.metric-vars-unit{color:var(--brand-dark);background:#eef2ff;border-radius:.25rem;padding:.1rem .4rem;font-size:.72rem;font-weight:600}.metric-vars-agg{color:#475569;white-space:nowrap;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:.25rem;padding:.1rem .45rem;font-size:.72rem;font-weight:600;display:inline-block}.metric-bindings-form-col-note{margin-top:1rem;line-height:1.5}.metric-formulas-expression{color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.375rem;margin:0 0 .9rem;padding:.6rem .8rem;font-family:monospace;font-size:.85rem;display:block;overflow-x:auto}.metric-formulas-vars{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.metric-formulas-var-chips{flex-wrap:wrap;gap:.4rem;display:flex}.metric-formulas-var-chip{border:1px solid #0000;border-radius:999px;align-items:center;gap:.3rem;padding:.15rem .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.metric-formulas-var-chip.is-bound{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.metric-formulas-var-chip.is-unbound{color:#b45309;background:#fffbeb;border-color:#fde68a}.metric-formulas-var-chip.is-missing{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.metric-formulas-hint{color:#94a3b8;margin:.9rem 0 0;font-size:.76rem;line-height:1.5}.metric-scope-bar{z-index:20;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fffffff0;border:1px solid #e2e8f0;border-radius:.5rem;flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1rem;padding:.7rem 1rem;display:flex;position:sticky;top:0;box-shadow:0 1px 2px #0f172a0d}.metric-scope-bar-fields{flex-wrap:wrap;gap:.9rem;display:flex}.metric-scope-field{flex-direction:column;gap:.25rem;width:13.5rem;display:flex}.metric-scope-field>label{color:#64748b;font-size:.72rem;font-weight:600}.metric-scope-bar-actions{align-items:flex-end;gap:.5rem;margin-left:auto;display:flex}.metric-table-card{padding:0;overflow-x:auto}.metric-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:860px;font-size:.85rem}.metric-table col.mt-col-variable{width:20%}.metric-table col.mt-col-key{width:15%}.metric-table col.mt-col-unit{width:7%}.metric-table col.mt-col-combine{width:10%}.metric-table col.mt-col-devices{width:36%}.metric-table col.mt-col-actions{width:12%}.metric-table thead th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:#94a3b8;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:.7rem 1rem;font-size:.72rem;font-weight:600}.metric-table tbody td{vertical-align:middle;color:#334155;border-bottom:1px solid #f1f5f9;padding:.75rem 1rem}.metric-table tbody tr:last-child td{border-bottom:none}.metric-table-name{color:#0f172a;font-weight:600}.metric-table-sub{color:#94a3b8;margin-top:.15rem;font-size:.75rem}.metric-table-muted{color:#cbd5e1}.metric-table-warn{color:#b45309;font-weight:500}.metric-table-devices{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.metric-table-device-pill{color:#475569;text-overflow:ellipsis;white-space:nowrap;background:#f1f5f9;border-radius:.25rem;max-width:100%;padding:.1rem .45rem;font-size:.72rem;overflow:hidden}.metric-table-device-more{color:#94a3b8;font-size:.72rem}.metric-table-actions-col{text-align:right;white-space:nowrap}.metric-table .metric-vars-key{text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;max-width:100%;display:inline-block;overflow:hidden}.metric-table-actions{justify-content:flex-end;align-items:center;gap:.4rem;display:flex}.metric-table-assign-btn{align-items:center;gap:.35rem;width:auto;height:32px;padding:0 .7rem;display:inline-flex}@keyframes metric-drawer-fade{0%{opacity:0}to{opacity:1}}.metric-drawer-empty{color:#94a3b8;font-size:.85rem}.metric-drawer-devices{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.metric-drawer-device{border:1px solid #e2e8f0;border-radius:.4rem;overflow:hidden}.metric-drawer-device-header{cursor:pointer;color:#0f172a;text-align:left;background:#fff;border:none;align-items:center;gap:.5rem;width:100%;padding:.6rem .75rem;font-size:.85rem;display:flex}.metric-drawer-device-header:hover{background:#f8fafc}.metric-drawer-chevron{color:#94a3b8;flex-shrink:0;transition:transform .15s}.metric-drawer-chevron.is-open{transform:rotate(180deg)}.metric-drawer-device-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.metric-drawer-device-badge{color:#fff;background:var(--brand);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:1.1rem;height:1.1rem;padding:0 .35rem;font-size:.7rem;font-weight:700;display:inline-flex}.metric-drawer-attrs{border-top:1px solid #f1f5f9;flex-direction:column;gap:.1rem;padding:.3rem .75rem .6rem 2rem;display:flex}.metric-drawer-attrs-loading{color:#94a3b8;margin:.4rem 0;font-size:.78rem}.metric-drawer-attr{color:#334155;cursor:pointer;align-items:center;gap:.5rem;padding:.3rem 0;font-size:.82rem;display:flex}.metric-drawer-attr input{flex-shrink:0}.metric-drawer-attr-name{font-weight:500}.metric-drawer-attr-path{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;max-width:12rem;margin-left:auto;font-family:monospace;font-size:.72rem;overflow:hidden}.metric-drawer-footer{border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:.85rem 1.25rem;display:flex}.metric-drawer-count{color:#64748b;font-size:.8rem}.metric-drawer-done{width:auto;height:34px;padding:0 1.1rem}.metric-bindings-result-card{margin-bottom:1rem}.metric-bindings-result-card .metric-bindings-readiness{padding:.85rem 1rem}.metric-bindings-result-card .metric-bindings-run-result{margin:0 1rem .85rem}.metric-formula-insert{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.5rem;display:flex}.metric-formula-insert-select{width:18rem;max-width:100%}.metric-formula-insert-ops{gap:.25rem;display:flex}.metric-formula-op{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:.3rem;justify-content:center;align-items:center;width:1.9rem;height:1.9rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;display:inline-flex}.metric-formula-op:hover{color:#334155;background:#f8fafc}.metric-decompose-options{gap:1.1rem;padding:.15rem 0;display:flex}.metric-decompose-option{color:#334155;cursor:pointer;align-items:center;gap:.4rem;font-size:.85rem;display:inline-flex}.metric-decompose-tag{text-transform:uppercase;letter-spacing:.03em;color:#0369a1;background:#e0f2fe;border-radius:.25rem;padding:.1rem .4rem;font-size:.68rem;font-weight:600}.metric-run-scope{color:#64748b;font-weight:400}.metric-formula-expr-line{align-items:center;gap:.45rem;margin:0 0 .85rem;display:flex}.metric-formula-expr-eq{color:#94a3b8;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9rem}.metric-formula-expr-code{color:#0f172a;background:#f8fafc;border:1px solid #eef2f6;border-radius:.35rem;padding:.35rem .6rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9rem;overflow-x:auto}.expr-builder{cursor:text;background:#fff;border:1px solid #cbd5e1;border-radius:.375rem;flex-wrap:wrap;align-items:center;gap:.35rem;min-height:42px;padding:.35rem .5rem;display:flex}.expr-builder.is-invalid{border-color:#f87171}.expr-builder.is-valid{border-color:#34d399}.expr-builder:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #4f46e51f}.expr-builder-placeholder{color:#94a3b8;pointer-events:none;padding:0 .15rem;font-size:.9rem}.expr-token{cursor:pointer;border:none;border-radius:4px;padding:.15rem .45rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;line-height:1.3;transition:background .12s,color .12s}.expr-token--var{color:#4f46e5;background:#4f46e51a}.expr-token--op,.expr-token--num{color:#334155;background:#f1f5f9}.expr-token:hover{color:#dc2626;background:#dc26261a}.expr-builder-field{color:#0f172a;background:0 0;border:none;outline:none;flex:1;min-width:3rem;padding:.15rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.metric-modal-backdrop{z-index:1000;background:#0f172a73;justify-content:center;align-items:center;padding:1rem;animation:.15s metric-drawer-fade;display:flex;position:fixed;inset:0}.metric-modal{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;flex-direction:column;width:min(600px,100%);max-height:min(85vh,720px);animation:.16s metric-modal-pop;display:flex;box-shadow:0 25px 50px -12px #00000040}@keyframes metric-modal-pop{0%{opacity:0;transform:translateY(6px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}.metric-modal-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;border-radius:.75rem .75rem 0 0;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.1rem 1.25rem;display:flex}.metric-modal-title{color:#0f172a;margin:0 0 .25rem;font-size:1.05rem;font-weight:700}.metric-modal-subtitle{color:#64748b;flex-wrap:wrap;align-items:center;gap:.4rem;margin:0;font-size:.78rem;display:flex}.metric-modal-close{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:.3rem;flex-shrink:0;padding:.2rem}.metric-modal-close:hover{color:#0f172a;background:#eef2f6}.metric-modal-toolbar{border-bottom:1px solid #f1f5f9;flex-shrink:0;padding:.85rem 1.25rem .6rem}.metric-modal-search{color:#94a3b8;border:1px solid #cbd5e1;border-radius:.375rem;align-items:center;gap:.5rem;padding:.45rem .65rem;display:flex}.metric-modal-search:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #4f46e51f}.metric-modal-search input{color:#0f172a;background:0 0;border:none;outline:none;flex:1;font-size:.85rem}.metric-modal-hint{color:#94a3b8;margin-top:.5rem;font-size:.75rem;line-height:1.5;display:block}.metric-modal-body{flex:1;min-height:0;padding:.85rem 1.25rem;overflow-y:auto}.metric-modal-footer{border-top:1px solid #e2e8f0;flex-shrink:0;justify-content:space-between;align-items:center;padding:.85rem 1.25rem;display:flex}@media (width<=900px){.metric-bindings-new-formula-row{grid-template-columns:1fr}.metric-bindings-scope-actions,.metric-scope-bar-actions{width:100%;margin-left:0}.metric-scope-field{width:100%}}.provisioning-customer-inline-select{flex:1;min-width:0}.provisioning-detail-header{border-bottom:1px solid #f1f5f9;flex-direction:column;align-items:stretch;gap:0;padding-bottom:.65rem}.provisioning-detail-head{border-bottom:1px solid #eef2f7;justify-content:space-between;align-items:flex-start;gap:.75rem;width:100%;padding-bottom:.65rem;display:flex}.provisioning-detail-title{flex:1;min-width:0}.provisioning-detail-title h3{white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.provisioning-device-customer-row{align-items:center;gap:.75rem;width:100%;padding:.55rem 0 0;display:flex}.provisioning-device-customer-row.is-saving{opacity:.7;pointer-events:none}.provisioning-device-customer-label{color:#64748b;flex-shrink:0;font-size:.75rem;font-weight:600}.provisioning-device-customer-select{flex:1;min-width:10rem;max-width:16rem}.provisioning-device-role-select{flex:1;min-width:9rem;max-width:13rem}.provisioning-device-customer-row.is-unassigned .provisioning-device-customer-select .searchable-select-value.is-placeholder{color:#94a3b8;font-style:italic}.provisioning-device-customer-row.is-assigned .provisioning-device-customer-select .searchable-select-value{color:#0f766e;font-weight:600}.provisioning-panel-title h3{margin:0;font-size:.9375rem}.provisioning-panel-sub{color:var(--text-tertiary);margin:.15rem 0 0;font-size:.7rem;font-weight:500}.provisioning-add-scope-bar{flex-shrink:0;padding:.55rem .85rem;position:relative}.provisioning-add-scope-bar.is-busy{opacity:.92}.provisioning-add-scope-fields{grid-template-columns:minmax(6rem,.85fr) minmax(8rem,1.2fr) minmax(8rem,1.35fr) auto;align-items:end;gap:.45rem .65rem;width:100%}.provisioning-add-scope-bar .provisioning-field{gap:.28rem}.provisioning-add-scope-bar .provisioning-field-label{font-size:.7rem;line-height:1.1}.provisioning-field-label--spacer{visibility:hidden;-webkit-user-select:none;user-select:none}.provisioning-add-scope-bar .form-control,.provisioning-add-scope-bar .searchable-select-trigger{min-height:2rem;padding:.38rem .55rem;font-size:.8125rem}.provisioning-add-scope-actions-wrap{min-width:0}.provisioning-add-scope-actions{flex-wrap:nowrap;align-items:center;gap:.35rem;display:flex}.provisioning-add-scope-actions .provisioning-add-btn{height:2rem;min-height:2rem;font-size:.8125rem;padding:0 .65rem!important}.provisioning-add-scope-actions .provisioning-add-btn:not(.provisioning-add-btn--secondary){min-width:5.25rem;padding:0 .95rem!important}.provisioning-add-scope-actions .provisioning-add-btn--secondary{min-width:2rem;padding:0 .55rem!important}@media (width<=960px){.provisioning-add-scope-fields{grid-template-columns:1fr 1fr}.provisioning-add-scope-actions-wrap{grid-column:1/-1}.provisioning-add-scope-actions{justify-content:flex-end}.provisioning-field-label--spacer{display:none}}@media (width<=560px){.provisioning-add-scope-fields{grid-template-columns:1fr}}.device-provisioning-page .device-list-content{padding:.6rem .65rem}.device-provisioning-page .device-item-meta{justify-content:space-between;align-items:center;gap:.5rem;min-width:0;display:flex}.device-provisioning-page .device-item-meta .device-desc{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;overflow:hidden}.device-provisioning-page .device-item-delete{flex-shrink:0}.provisioning-add-btn{flex-shrink:0;align-items:center;gap:.35rem;display:inline-flex;width:auto!important;padding:0 .85rem!important}.provisioning-add-btn--secondary{padding:0 .65rem!important}.provisioning-add-btn:disabled{opacity:.7;cursor:not-allowed}.provisioning-list-empty,.provisioning-detail-empty{text-align:center;color:var(--text-tertiary);flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:12rem;padding:2rem 1rem;display:flex}.provisioning-list-empty svg,.provisioning-detail-empty svg{color:#cbd5e1;margin-bottom:.75rem}.provisioning-list-empty p,.provisioning-detail-empty p{margin:0;font-size:.875rem}.provisioning-list-empty-hint{color:var(--text-tertiary)!important;margin-top:.35rem!important;font-size:.8125rem!important}.provisioning-detail-empty-title{font-weight:600;color:var(--text-secondary)!important;margin-bottom:.25rem!important}.provisioning-udt-select{flex:auto;min-width:9rem}.udt-templates-page{gap:.75rem}.udt-scope-fields{grid-template-columns:minmax(12rem,20rem) minmax(16rem,1fr)}.udt-template-create{flex-direction:column;gap:.35rem;min-width:0;display:flex}.udt-template-create-row{gap:.5rem;min-width:0;display:flex}.udt-template-create-row .form-control{min-width:0}.udt-template-create-row .provisioning-add-btn{white-space:nowrap}.analytics-page.container{gap:.75rem;overflow:auto}.analytics-page--fill{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.pue-actual-table .pue-actual-col-num{white-space:nowrap;width:9%}.pue-actual-table .pue-actual-col-when{white-space:nowrap;width:13%}.pue-actual-row--nodata td{opacity:.55}.pue-actual-page .dash-card-subtitle,.pue-actual-page .analytics-cell-meta,.pue-actual-page .analytics-cell-pue-hint,.pue-actual-page .analytics-panel-hint{color:#64748b}.pue-actual-nodata{color:#64748b;font-size:.8125rem}.pue-actual-default{color:#94a3b8;margin-left:.15rem}.pue-actual-empty{text-align:center;color:#64748b;margin:0;padding:1.5rem 1rem;font-size:.85rem}.pue-actual-meta{color:#64748b;margin:.3rem 0 0;font-size:.75rem}.pue-actual-tile-meta{color:#64748b;margin-top:.15rem;font-size:.7rem;display:block}.pue-actual-source{color:#64748b;align-items:center;gap:.4rem;margin:.25rem 0 0;font-size:.75rem;display:flex}.pue-actual-source code{color:#475569;background:#f1f5f9;border-radius:.25rem;padding:.05rem .35rem;font-size:.72rem}.analytics-billing-portfolio-page{flex-direction:column;flex:1;gap:.75rem;min-height:0;display:flex}.analytics-billing-portfolio-page .page-title{flex-shrink:0;margin-bottom:0}.analytics-billing-portfolio-layout{flex-direction:column;flex:1;gap:.75rem;min-height:0;display:flex}.analytics-billing-portfolio-layout .analytics-stat-row{flex-shrink:0}.analytics-site-layout{flex-direction:column;gap:.75rem;min-width:0;display:flex}.analytics-site-bar{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;align-items:center;gap:.75rem;min-height:3rem;padding:.5rem .85rem;display:flex}.analytics-site-back{color:#475569;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #e2e8f0;border-radius:.375rem;flex-shrink:0;align-items:center;gap:.35rem;height:2rem;padding:0 .65rem;font-size:.8125rem;font-weight:500;display:inline-flex}.analytics-site-back:hover{color:#0f172a;background:#f8fafc;border-color:#cbd5e1}.analytics-site-bar-title{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;margin:0;font-size:.9375rem;font-weight:700;line-height:1.25;overflow:hidden}.analytics-site-bar-name{font-weight:700}.analytics-site-bar-meta{color:#64748b;font-weight:500}.analytics-site-bar-dot{color:#cbd5e1;margin:0 .35rem;font-weight:400}.analytics-site-bar-controls{flex-shrink:0;align-items:center;gap:.45rem;display:flex}.analytics-site-bar .dash-view-toggle{flex-shrink:0;padding:.15rem}.analytics-site-bar .dash-view-toggle-btn{padding:.35rem .6rem;font-size:.75rem;line-height:1.2}.analytics-site-select{color:#334155;box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:.375rem;min-width:5.5rem;height:2rem;padding:0 .55rem;font-size:.75rem;font-weight:600}.analytics-stat-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.analytics-stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;padding:.85rem 1rem}.analytics-stat-label{color:#64748b;margin-bottom:.3rem;font-size:.75rem;font-weight:600;display:block}.analytics-stat-value{color:#0f172a;font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:1.4rem;font-weight:700}.analytics-stat-of{color:#94a3b8;font-size:.95rem;font-weight:600}.analytics-stat-value--range{font-size:1.1rem}.analytics-stat-sep{color:#cbd5e1;margin:0 .3rem;font-weight:500}.analytics-panel{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;min-height:0;overflow:hidden}.analytics-panel-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1.25rem;display:flex}.analytics-panel-hint{color:#94a3b8;font-size:.75rem;font-weight:500}.analytics-panel-header h3{color:#0f172a;margin:0;font-size:.8125rem;font-weight:700}.analytics-table-wrap{overflow-x:auto}.analytics-panel--scroll-list{flex-direction:column;min-width:0;display:flex}.analytics-table-wrap--scroll{-webkit-overflow-scrolling:touch;max-height:min(28rem,100vh - 19rem);overflow:auto}.analytics-table-wrap--scroll .analytics-data-table thead th{z-index:1;position:sticky;top:0;box-shadow:0 1px #e2e8f0}.analytics-data-table{border-collapse:collapse;table-layout:auto;width:100%;font-size:.8125rem}.analytics-data-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:#64748b;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:.55rem 1.25rem;font-size:.65rem;font-weight:600}.analytics-data-table td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:.65rem 1.25rem}.analytics-data-table tbody tr:last-child td{border-bottom:none}.analytics-data-table--halls{table-layout:fixed}.analytics-data-table--halls .analytics-col-hall{white-space:nowrap;width:14%}.analytics-data-table--halls .analytics-col-pue{width:26%}.analytics-data-table--halls .analytics-col-target{width:14%}.analytics-data-table--halls .analytics-col-trend{width:18%}.analytics-data-table--halls .analytics-cell-name{white-space:nowrap;font-size:.8125rem;font-weight:600}.analytics-data-row--clickable{cursor:pointer}.analytics-data-row--clickable:hover,.analytics-data-row--clickable:focus-visible{box-shadow:inset 0 0 0 9999px #f8fafc}.analytics-data-row--clickable:focus-visible{outline:none}.analytics-data-row--clickable:focus-visible td:first-child{box-shadow:inset 3px 0 #3b82f6}.analytics-col-site{width:42%}.analytics-col-hall{width:18%}.analytics-col-pue{width:22%}.analytics-col-target{width:12%}.analytics-col-trend{width:14%}.analytics-col-trend-cell{vertical-align:middle}.analytics-data-table--halls .analytics-col-trend,.analytics-data-table--halls th.analytics-col-trend{text-align:left}.analytics-col-trend-cell .analytics-sparkline{margin:0}.analytics-col-action{text-align:right;width:2.5rem;padding-left:.25rem!important;padding-right:.75rem!important}.analytics-cell-name{color:#0f172a;font-weight:600;line-height:1.3;display:block}.analytics-cell-meta{color:#94a3b8;margin-top:.15rem;font-size:.75rem;line-height:1.3;display:block}.analytics-cell-pue{font-variant-numeric:tabular-nums;font-size:.875rem;font-weight:700;line-height:1.2;display:block}.analytics-cell-pue-hint{color:#94a3b8;-webkit-user-select:none;user-select:none;margin-top:.15rem;font-size:.72rem;line-height:1.3;display:block}.analytics-cell-num{font-variant-numeric:tabular-nums;color:#475569;font-weight:600}.analytics-pue-value--good .analytics-cell-pue,.analytics-pue-value--good.analytics-metric-value{color:#15803d}.analytics-pue-value--warn .analytics-cell-pue,.analytics-pue-value--warn.analytics-metric-value{color:#b45309}.analytics-pue-value--bad .analytics-cell-pue,.analytics-pue-value--bad.analytics-metric-value{color:#dc2626}.analytics-row-chevron{color:#cbd5e1}.analytics-data-row--clickable:hover .analytics-row-chevron{color:#64748b}.analytics-sparkline{display:block}.analytics-pue-site{flex-direction:column;gap:.75rem;min-width:0;display:flex}.analytics-site-grid{grid-template-columns:minmax(260px,.9fr) minmax(0,1.35fr);align-items:stretch;gap:.75rem;display:grid}.analytics-site-grid .dash-card,.analytics-panel,.analytics-site-bar{border-radius:.5rem}.analytics-site-grid .dash-card{height:100%;overflow:hidden}.analytics-metric-card .dash-card-header,.analytics-pue-chart-card .dash-card-header{padding:.9rem 1rem .35rem}.analytics-pue-chart-card .dash-card-header--split,.analytics-billing-chart-card .dash-card-header--split,.analytics-wue-chart-card .dash-card-header--split{flex-wrap:wrap;align-items:flex-end;gap:.5rem .75rem}.analytics-metric-card .dash-card-title,.analytics-pue-chart-card .dash-card-title{font-size:.875rem}.analytics-metric-card .dash-card-subtitle,.analytics-pue-chart-card .dash-card-subtitle{font-size:.75rem}.analytics-metric-card .dash-card-body{flex-direction:column;flex:1;min-height:0;padding:.5rem 1rem 1rem;display:flex}.analytics-metric-body{flex-direction:column;flex:1;gap:.75rem;min-height:0;display:flex}.analytics-metric-main{flex-shrink:0}.analytics-metric-row{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.analytics-metric-value{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:2.1rem;font-weight:700;line-height:1}.analytics-metric-badge{border-radius:999px;padding:.2rem .55rem;font-size:.72rem;font-weight:600;line-height:1.3}.analytics-metric-badge--good{color:#15803d;background:#ecfdf5}.analytics-metric-badge--warn{color:#b45309;background:#fffbeb}.analytics-metric-badge--bad{color:#dc2626;background:#fef2f2}.analytics-metric-sub{color:#64748b;margin:.45rem 0 0;font-size:.8125rem;line-height:1.45}.analytics-metric-loads{border-top:1px solid #f1f5f9;grid-template-columns:1fr 1fr;gap:.65rem;margin-top:auto;padding-top:.85rem;display:grid}.analytics-metric-loads .dash-metric-tile{padding:.7rem .75rem}.analytics-metric-loads .dash-metric-tile-label{font-size:.72rem}.analytics-metric-loads .dash-metric-tile-value{font-size:1.05rem}.analytics-pue-chart-body{padding:0 .65rem .85rem 1rem!important}.analytics-pue-chart-body .dash-line-chart{aspect-ratio:520/200;width:100%;height:auto;display:block}.analytics-wue-chart-card .dash-card-header,.analytics-wue-chart-card .dash-card-title,.analytics-wue-chart-card .dash-card-subtitle{padding:inherit}.analytics-metric-card .analytics-wue-chart-card .dash-card-header,.analytics-wue-chart-card .dash-card-header{padding:.9rem 1rem .35rem}.analytics-wue-chart-body{padding:0 .65rem .85rem 1rem!important}.analytics-wue-chart-body .dash-line-chart{aspect-ratio:520/200;width:100%;height:auto;display:block}@media (width<=900px){.analytics-stat-row,.analytics-site-grid{grid-template-columns:1fr}.analytics-site-grid .dash-card{min-height:0}.analytics-col-site{width:36%}.analytics-col-pue{width:24%}}@media (width<=768px){.analytics-site-bar{flex-wrap:wrap;align-items:flex-start;row-gap:.5rem}.analytics-site-bar-title{white-space:normal;flex:100%;order:3}.analytics-site-bar-controls{order:2;margin-left:auto}}@media (width<=640px){.analytics-site-bar-controls{flex-wrap:wrap;flex:100%;margin-left:0}.analytics-data-table--sites .analytics-col-trend,.analytics-data-table--sites thead .analytics-col-trend{display:none}.analytics-data-table--sites .analytics-col-site{width:50%}}.analytics-billing-site{flex-direction:column;gap:.75rem;min-width:0;display:flex}.analytics-billing-portfolio-grid{flex:1;grid-template-columns:1fr 1fr;align-items:stretch;gap:.75rem;min-height:0;display:grid}.analytics-billing-portfolio-grid .analytics-panel--scroll-list{flex-direction:column;min-width:0;height:100%;min-height:0;display:flex}.analytics-billing-portfolio-grid .analytics-panel-header{flex-shrink:0}.analytics-billing-portfolio-grid .analytics-table-wrap--scroll{flex:1;min-height:0;max-height:none;overflow:auto}.analytics-data-table--pue-sites .analytics-col-site{width:46%}.analytics-data-table--pue-sites .analytics-col-pue{width:30%}.analytics-data-table--pue-sites .analytics-col-target{width:18%}@media (width<=900px){.analytics-billing-portfolio-grid{grid-template-columns:1fr}}.analytics-col-kwh{width:22%}.analytics-col-kw{width:14%}.analytics-col-share{width:12%}.analytics-col-customer{width:24%}.analytics-cell-power{font-variant-numeric:tabular-nums;color:#0f766e;font-size:.875rem;font-weight:700;line-height:1.2;display:block}.analytics-power-value{color:#0f766e}.analytics-metric-badge--power{color:#0f766e;background:#ecfdf5}.analytics-data-table--billing-sites .analytics-col-site{width:46%}.analytics-data-table--billing-sites .analytics-col-kwh{width:28%}.analytics-data-table--billing-sites .analytics-col-kw{width:20%}.analytics-data-table--customers{table-layout:fixed}.analytics-data-table--customers .analytics-col-customer{width:32%;min-width:9rem}.analytics-data-table--customers td.analytics-col-customer .analytics-cell-name{white-space:nowrap;display:inline}.analytics-data-table--customers .analytics-col-kwh{width:26%}.analytics-data-table--customers .analytics-col-kw{width:18%}.analytics-data-table--customers .analytics-col-share{width:14%}.analytics-col-sites{width:10%}.analytics-data-table--billing-customers .analytics-col-customer{width:42%}.analytics-data-table--billing-customers .analytics-col-kwh{width:30%}.analytics-data-table--billing-customers .analytics-col-kw{width:22%}.analytics-billing-chart-body{padding:0 .65rem .85rem 1rem!important}.analytics-billing-chart-body .dash-line-chart{aspect-ratio:520/200;width:100%;height:auto;display:block}.analytics-metric-card .analytics-billing-chart-card .dash-card-header,.analytics-billing-chart-card .dash-card-header{padding:.9rem 1rem .35rem}.alarm-table{min-width:900px}.al-col-name{width:22%}.al-col-target{width:17%}.al-col-condition{width:30%}.al-col-sev{width:10%}.al-col-open{width:8%}.al-col-actions{width:13%}.al-col-sev2{width:10%}.al-col-rule{width:26%}.al-col-device{width:22%}.al-col-value{width:13%}.al-col-when{width:16%}.al-col-ack{width:13%}.alarm-rule-name{color:#0f172a;font-weight:600}.alarm-cell-meta{color:#64748b;margin-top:.15rem;font-size:.75rem}.alarm-condition-cell{color:#334155;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8125rem}.alarm-value{color:#0f172a;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8125rem}.alarm-coverage-toggle{color:#2563eb;cursor:pointer;background:0 0;border:0;margin-top:.2rem;padding:0;font-size:.75rem}.alarm-coverage-toggle:hover{text-decoration:underline}.alarm-coverage-row td{background:#f8fafc}.alarm-actions-cell{text-align:right;white-space:nowrap}.is-disabled-row{opacity:.55}.alarm-sev{text-transform:uppercase;letter-spacing:.02em;border-radius:999px;padding:.15rem .5rem;font-size:.6875rem;font-weight:700;display:inline-block}.alarm-sev--critical{color:#b91c1c;background:#fef2f2}.alarm-sev--warning{color:#b45309;background:#fffbeb}.alarm-sev--info{color:#1d4ed8;background:#eff6ff}.alarm-ack-badge{color:#047857;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;display:inline-flex}.alarm-summary-row{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.alarm-summary-spacer{flex:1}.alarm-summary-card{background:#fff;border:1px solid #e2e8f0;border-left-width:3px;border-radius:8px;flex-direction:column;gap:.1rem;min-width:6.5rem;padding:.6rem .9rem;display:flex}.alarm-summary-card--critical{border-left-color:#dc2626}.alarm-summary-card--warning{border-left-color:#f59e0b}.alarm-summary-card--info{border-left-color:#3b82f6}.alarm-summary-label{text-transform:uppercase;letter-spacing:.03em;color:#64748b;font-size:.6875rem;font-weight:700}.alarm-summary-value{color:#0f172a;font-size:1.375rem;font-weight:700}.alarm-filter{width:auto;min-width:9rem}.alarm-rules-page .card-header .btn-primary,.alarm-modal .metric-modal-footer .btn-primary,.alarm-modal .metric-modal-footer .btn-secondary,.alarm-events-page .btn-secondary{width:auto;padding:.45rem .9rem}.alarm-rules-page .card,.alarm-events-page .card{flex-direction:column;flex:1;min-height:0;display:flex}.alarm-modal{width:min(680px,100%)}.alarm-modal-form{flex-direction:column;flex:1;min-height:0;display:flex}.alarm-modal-body{flex-direction:column;gap:.85rem;display:flex}.alarm-modal-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:.5rem .75rem;font-size:.8125rem}.alarm-field{flex-direction:column;flex:1;gap:.3rem;min-width:0;display:flex}.alarm-field>span{color:#475569;font-size:.75rem;font-weight:600}.alarm-field--narrow{flex:0 9rem}.alarm-field--check{flex-direction:row;flex:none;align-self:flex-end;align-items:center;gap:.4rem;padding-bottom:.5rem}.alarm-field-row{flex-wrap:wrap;align-items:flex-start;gap:.75rem;display:flex}.alarm-condition{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.75rem}.alarm-condition-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.6rem;display:flex}.alarm-condition-head>span{text-transform:uppercase;letter-spacing:.03em;color:#475569;font-size:.75rem;font-weight:700}.alarm-type-toggle{width:auto;min-width:11rem}.alarm-scope-hint{color:#64748b;margin:-.35rem 0 0;font-size:.75rem;line-height:1.45}.alarm-condition-hint{color:#64748b;margin:.6rem 0 0;font-size:.75rem;line-height:1.45}.site-management-page .site-panel-tab .badge{margin-left:.4rem}.site-management-page .site-panel-section[hidden]{display:none}.site-management-page .site-location-section{flex:1;min-height:0}.site-management-page .loc-row-name{align-items:center;gap:.4rem;min-height:1.75rem;display:flex;position:relative}.site-management-page .loc-row-guide{pointer-events:none;background:#e2e8f0;width:1px;position:absolute;top:-.5rem;bottom:-.5rem}.site-management-page .loc-row-caret{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;padding:0;display:inline-flex}.site-management-page .loc-row-caret:hover{color:#0f172a;background:#e2e8f0}.site-management-page .loc-row-caret--leaf{cursor:default}.site-management-page .loc-row-labels{flex-wrap:wrap;align-items:center;gap:.4rem;min-width:0;display:flex}.site-management-page .loc-row-code{color:#64748b;background:#f1f5f9;border-radius:3px;padding:.05rem .35rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem}.site-management-page .loc-row-title{color:#0f172a;font-weight:600}.site-management-page .loc-row--depth-2 .loc-row-title,.site-management-page .loc-row--depth-3 .loc-row-title,.site-management-page .loc-row--depth-4 .loc-row-title{color:#334155}.site-management-page .loc-row:hover>td{background:#f8fafc}.loc-row-menu-root{display:inline-flex}.loc-row-menu{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:.25rem;box-shadow:0 10px 24px #0f172a24}.loc-row-menu-item{color:#334155;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:.5rem;width:100%;padding:.45rem .55rem;font-size:.8125rem;display:flex}.loc-row-menu-item:hover:not(:disabled){background:#f1f5f9}.loc-row-menu-item:disabled{color:#94a3b8;cursor:not-allowed}.loc-row-menu-item.is-danger:not(:disabled){color:#dc2626}.loc-row-menu-item.is-danger:hover:not(:disabled){background:#fef2f2}.site-management-page .site-opc-table--fixed,.site-management-page .site-edge-table--fixed,.site-management-page .site-target-table--fixed,.site-management-page .site-loc-table--fixed{table-layout:fixed;width:100%;min-width:0}.site-management-page .site-opc-table-wrap{overflow-x:hidden}.site-management-page .opc-col-name{width:16%}.site-management-page .opc-col-conn{width:12%}.site-management-page .opc-col-endpoint{width:38%}.site-management-page .opc-col-edge{width:22%}.site-management-page .opc-col-actions{width:12%}.site-management-page .edge-col-id{width:6%}.site-management-page .edge-col-name{width:17%}.site-management-page .edge-col-desc{width:29%}.site-management-page .edge-col-status{width:13%}.site-management-page .edge-col-serves{width:15%}.site-management-page .edge-col-actions{width:20%}.site-management-page .loc-col-name{width:44%}.site-management-page .loc-col-pue{width:13%}.site-management-page .loc-col-devices{width:11%}.site-management-page .loc-col-status{width:14%}.site-management-page .loc-col-actions{width:18%}.site-management-page .site-opc-table--fixed .site-opc-cell-url code{white-space:normal;overflow-wrap:anywhere;word-break:break-word;text-overflow:clip;line-height:1.4;overflow:visible}.site-management-page .site-opc-table--fixed .site-opc-cell-name,.site-management-page .site-opc-table--fixed .site-opc-cell-status{min-width:0;max-width:none}.site-management-page .site-opc-table--fixed td,.site-management-page .site-edge-table--fixed td{vertical-align:middle}.site-management-page .site-opc-cell-muted{color:#64748b;overflow-wrap:anywhere}.site-management-page .site-edge-table--fixed td:first-child{white-space:nowrap}.site-management-page .site-opc-table--fixed .edge-opc-assign-control select{max-width:100%}.site-map-freshness{align-items:center;gap:.35rem;font-size:.7rem;font-weight:600;display:inline-flex}.site-map-freshness:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.site-map-freshness.is-live{color:#15803d}.site-map-freshness.is-stale{color:#b45309}.site-map-freshness.is-loading{color:#94a3b8}.udt-panel-title{align-items:center;gap:.5rem;min-width:0;display:flex}.udt-panel-type{white-space:nowrap;flex-shrink:0;margin:0}.udt-panel-type:after{content:"—";color:#cbd5e1;margin-left:.5rem;font-weight:400}.udt-panel-id{color:#94a3b8;white-space:nowrap;flex-shrink:0;font-size:.7rem}.udt-panel-empty{color:#94a3b8;font-size:.8125rem;font-style:italic}.udt-header-select{min-width:9rem;max-width:15rem}.udt-attrs-btn{white-space:nowrap;align-items:center;gap:.35rem;width:auto;padding:.4rem .7rem;display:inline-flex}.udt-attrs-modal{width:min(720px,100%)}.udt-config-tags-modal{width:min(560px,100%)}.udt-config-tags-loading{color:#64748b;align-items:center;gap:.5rem;padding:1rem 0;font-size:.85rem;display:flex}.udt-config-tags-grid{grid-template-columns:minmax(8rem,1fr) minmax(10rem,1.4fr);align-items:center;gap:.45rem .6rem;display:grid}.udt-config-tags-head{text-transform:uppercase;letter-spacing:.03em;color:#64748b;font-size:.72rem;font-weight:600}.udt-config-tags-grid input{color:#0f172a;border:1px solid #cbd5e1;border-radius:.375rem;width:100%;height:34px;padding:0 .55rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem}.udt-config-tags-grid input:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #4f46e51f}.udt-config-tags-grid input:disabled{color:#64748b;background:#f8fafc}.udt-config-tags-value{align-items:center;gap:.4rem;display:flex}.udt-config-tags-inuse{color:var(--brand-dark);background:#eff6ff;border-radius:.25rem;flex-shrink:0;padding:.1rem .35rem;font-size:.65rem;font-weight:600}.udt-config-tags-error,.udt-config-tags-result{margin:.7rem 0 0;font-size:.78rem;line-height:1.5}.udt-config-tags-error{color:#b91c1c}.udt-config-tags-result{color:#15803d}.udt-config-tags-actions{align-items:center;gap:.5rem;display:inline-flex}.udt-path-editor{flex-direction:column;gap:.3rem;min-width:0;display:flex}.udt-path-preview{color:#64748b;flex-wrap:wrap;align-items:baseline;gap:.35rem;margin:0;font-size:.72rem;display:flex}.udt-path-preview code{color:#0f172a;word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.udt-path-preview em{color:#94a3b8;font-style:normal}.udt-path-preview.is-error{color:#b91c1c}.udt-attrs-body{padding:0 1.25rem .5rem}.udt-attrs-table{table-layout:fixed;width:100%}.udt-attrs-table .ua-col-name{width:42%}.udt-attrs-table .ua-col-type{width:18%}.udt-attrs-table .ua-col-org,.udt-attrs-table .ua-col-toggle{width:20%}.udt-attrs-table .site-opc-cell-muted{color:#64748b}.udt-attrs-table tr.is-disabled-row .site-opc-name{color:#64748b;font-weight:500}.udt-attrs-table tr.is-disabled-row td{background:#f8fafc}.udt-attrs-table tr.is-disabled-row .site-opc-name:after{content:"off";color:#475569;text-transform:uppercase;letter-spacing:.03em;background:#e2e8f0;border-radius:3px;margin-left:.5rem;padding:.05rem .3rem;font-size:.625rem;font-weight:700}.udt-attrs-modal .metric-modal-footer .metric-modal-hint{color:#64748b;font-size:.75rem}.udt-attrs-modal .metric-modal-footer .btn-primary{width:auto;padding:.45rem 1.1rem}.udt-templates-page .stats-grid{gap:.6rem;margin-bottom:0}.udt-templates-page .stat-card{padding:.5rem .85rem}.udt-templates-page .stat-label{margin-bottom:.05rem;font-size:.7rem}.udt-templates-page .stat-value{font-size:1.1rem}.udt-templates-page .stat-icon{width:1.85rem;height:1.85rem}.udt-templates-page .stat-icon svg{width:15px;height:15px}.udt-templates-page .udt-scope-bar{padding:.55rem .85rem}.udt-templates-page .provisioning-field-label{font-size:.7rem}.provisioning-list-head{align-items:center;gap:.5rem;display:flex}.bulk-export-modal{width:min(560px,100%)}.bulk-export-selectall{color:#475569;cursor:pointer;align-items:center;gap:.4rem;margin-top:.5rem;font-size:.75rem;display:inline-flex}.bulk-export-list{margin:0;padding:0;list-style:none}.bulk-export-row{cursor:pointer;border-radius:6px;grid-template-columns:auto 1fr auto;align-items:center;gap:.6rem;padding:.4rem .25rem;display:grid}.bulk-export-row:hover{background:#f8fafc}.bulk-export-name{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;font-weight:600;overflow:hidden}.bulk-export-udt{color:#94a3b8;white-space:nowrap;font-size:.7rem}.bulk-export-count{color:#64748b;font-size:.75rem}.bulk-export-actions{gap:.5rem;display:flex}.bulk-export-modal .btn-primary,.bulk-export-modal .btn-secondary{width:auto;padding:.45rem .9rem}.audit-log-page .audit-log-filter-card{flex-shrink:0;margin-bottom:1rem}.audit-log-page .audit-log-toolbar{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex;overflow:visible}.audit-log-page .audit-log-field{flex:150px;min-width:150px}.audit-log-page .audit-log-field--wide{flex:1.4 190px;min-width:190px}.audit-log-page .audit-log-field--compact{flex:0 0 120px;min-width:110px}.audit-log-page .audit-log-field--search{flex:1.2 200px;min-width:200px}.audit-log-page .audit-log-search{align-items:stretch;gap:.35rem;display:flex}.audit-log-page .audit-log-search input{box-sizing:border-box;color:#334155;background:#fff;border:1px solid #e2e8f0;border-radius:.375rem;flex:1;min-width:0;height:37px;padding:0 .6rem;font-size:.8125rem}.audit-log-page .audit-log-search input:focus{border-color:#93c5fd;outline:none;box-shadow:0 0 0 2px #3b82f626}.audit-log-page .audit-log-search .btn-secondary{flex:none;justify-content:center;align-items:center;width:auto;height:37px;padding:0 .7rem;display:inline-flex}.audit-log-page .audit-log-toolbar-footer{border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.75rem;padding-top:.7rem;display:flex}.audit-log-page .audit-log-clear{align-items:center;gap:.35rem;width:auto;padding:.3rem .65rem;font-size:.8125rem;display:inline-flex}.audit-log-page .audit-log-count{color:#64748b;align-items:center;gap:.35rem;font-size:.8125rem;display:inline-flex}.audit-log-page .audit-log-count strong{color:#334155;font-weight:600}.audit-log-page .audit-log-row{cursor:pointer}.audit-log-page .audit-log-row:hover{background:#f8fafc}.audit-log-page .audit-log-actor-role,.audit-log-page .audit-log-target-id,.audit-log-page .audit-log-ip{color:#64748b;font-size:.75rem}.audit-log-page .audit-log-summary{color:#475569;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem}.audit-log-page .audit-log-failed{color:#b91c1c;font-weight:600}.audit-log-page .audit-log-detail-cell{background:#f8fafc;padding:.75rem 1rem}.audit-log-page .audit-log-detail-cell pre{white-space:pre-wrap;word-break:break-word;margin:0;font-size:.75rem}.audit-log-page .audit-log-pager{flex-shrink:0;justify-content:flex-end;align-items:center;gap:.5rem;padding:.6rem 1rem;display:flex}.audit-log-page .audit-log-pager .btn-secondary{align-items:center;gap:.3rem;width:auto;display:inline-flex}.audit-log-page .audit-log-table-card{flex-direction:column;flex:1;min-height:0;display:flex}.audit-log-page .audit-log-table-card .table-container{flex:1;min-width:0;padding:0;overflow:auto}.audit-log-page .audit-log-table{width:100%;min-width:980px}.audit-log-page .audit-log-when{white-space:nowrap}.audit-log-page .audit-log-empty{text-align:center;color:#64748b;padding:2rem}.audit-log-page .audit-log-user-agent{color:#64748b;margin-top:.5rem;font-size:.72rem}.audit-log-page{flex-direction:column;height:100%;display:flex}.audit-log-page .audit-log-review-bar{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;padding:.55rem .9rem;display:flex}.audit-log-page .audit-log-review-status{color:#475569;align-items:center;gap:.45rem;min-width:0;font-size:.8125rem;display:inline-flex}.audit-log-page .audit-log-review-status strong{color:#0f172a;font-weight:600}.audit-log-page .audit-log-review-btn{flex:none;align-items:center;gap:.35rem;width:auto;padding:.35rem .7rem;font-size:.8125rem;display:inline-flex}.audit-log-page .audit-log-findings{flex-shrink:0;margin-bottom:.75rem}.audit-log-page .audit-log-findings .card-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.audit-log-page .audit-log-findings-hint{color:#94a3b8;font-size:.75rem}.audit-log-page .audit-log-findings-body{flex-direction:column;gap:.4rem;padding:.6rem .9rem;display:flex}.audit-log-page .audit-log-finding{text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-left-width:3px;border-radius:.4rem;align-items:flex-start;gap:.6rem;width:100%;padding:.55rem .7rem;display:flex}.audit-log-page .audit-log-finding:hover{background:#f8fafc}.audit-log-page .audit-log-finding--high{border-left-color:#dc2626}.audit-log-page .audit-log-finding--high .audit-log-finding-icon{color:#dc2626}.audit-log-page .audit-log-finding--medium{border-left-color:#d97706}.audit-log-page .audit-log-finding--medium .audit-log-finding-icon{color:#d97706}.audit-log-page .audit-log-finding--info{border-left-color:#94a3b8}.audit-log-page .audit-log-finding--info .audit-log-finding-icon{color:#64748b}.audit-log-page .audit-log-finding-icon{flex:none;margin-top:1px}.audit-log-page .audit-log-finding-text{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.audit-log-page .audit-log-finding-title{color:#0f172a;font-size:.8125rem;font-weight:600}.audit-log-page .audit-log-finding-why{color:#64748b;font-size:.75rem}.audit-log-page .audit-log-finding-detail{color:#94a3b8;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem}.audit-log-page .audit-log-finding-when{color:#94a3b8;white-space:nowrap;flex:none;font-size:.72rem}.audit-log-page .audit-log-findings .card-header h3{text-transform:none}.audit-log-page .audit-log-allclear{color:#15803d;background:#f0fdf4;border:1px solid #d1fae5;border-radius:.5rem;flex-shrink:0;align-items:center;gap:.45rem;margin-bottom:.75rem;padding:.5rem .9rem;font-size:.8125rem;display:flex}.audit-log-page .audit-log-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.audit-log-page .audit-log-header-text{min-width:0}.audit-log-page .audit-log-title-icon{vertical-align:-3px;margin-right:.5rem}.audit-log-page .audit-log-review-bar{background:0 0;border:0;flex:none;align-items:center;gap:.6rem;margin:0;padding:0;display:inline-flex}.audit-log-page .audit-log-table th,.audit-log-page .audit-log-table td{vertical-align:middle;padding-top:.4rem;padding-bottom:.4rem}.audit-log-page .audit-log-table td{font-size:.8125rem}.audit-log-page .audit-log-summary{white-space:nowrap;text-overflow:ellipsis;max-width:0;overflow:hidden}.audit-log-page .audit-log-actor{align-items:baseline;gap:.4rem;min-width:0;display:flex}.audit-log-page .audit-log-actor-email{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.audit-log-page .audit-log-actor-role{color:#94a3b8;text-transform:none;flex:none;font-size:.68rem}.audit-log-page .audit-log-failed-badge{color:#b91c1c;margin-left:.35rem;font-size:.68rem}.audit-log-page .audit-log-findings-body{gap:.3rem;padding:.5rem .75rem}.audit-log-page .audit-log-finding{align-items:center;padding:.4rem .6rem}.audit-log-page .audit-log-finding-text{flex-flow:wrap;align-items:baseline;gap:.45rem}.audit-log-page .audit-log-finding-why{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.audit-log-page .audit-log-allclear{margin-bottom:.6rem;padding:.4rem .9rem}.audit-log-page .audit-log-filter-card{margin-bottom:.6rem}.audit-log-page .audit-log-filter-card .card-body{padding:.7rem 1.25rem}.audit-log-page .audit-log-toolbar-footer{margin-top:.55rem;padding-top:.5rem}.audit-log-page .audit-log-pager{justify-content:flex-start}.audit-log-page .audit-log-pager-spacer{flex:1}.audit-log-page .audit-log-toolbar-footer{display:none}.audit-log-page .audit-log-table{table-layout:fixed;min-width:1040px}.audit-log-page .audit-col-when,.audit-log-page .audit-log-page .audit-col-when{width:165px}.audit-log-page .audit-log-table td{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.audit-log-page .audit-log-summary{max-width:none}.audit-log-page .audit-log-detail-cell,.audit-log-page .audit-log-detail-cell pre{white-space:pre-wrap;overflow:visible}.audit-log-page .audit-col-when{width:150px}.audit-log-page .audit-col-who{width:255px}.audit-log-page .audit-col-from{width:130px}.audit-log-page .audit-log-detail-meta{color:#64748b;flex-wrap:wrap;gap:.75rem;margin-bottom:.5rem;font-size:.72rem;display:flex}.audit-log-page .audit-col-action{width:215px}.audit-log-page .audit-col-target{width:200px}.audit-log-page .audit-log-table{min-width:1140px}.device-data-export-modal{width:min(560px,100%)}.device-data-export-modal .metric-modal-title{align-items:center;gap:.4rem;display:flex}.dd-export-presets{flex-wrap:wrap;gap:.4rem;margin-bottom:.9rem;display:flex}.dd-export-preset{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:.35rem .65rem;font-size:.75rem;font-weight:600;transition:background .12s,border-color .12s,color .12s}.dd-export-preset:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.dd-export-preset.is-active{border-color:var(--brand);color:var(--brand-dark);background:#2563c814}.dd-export-preset:disabled{opacity:.55;cursor:not-allowed}.dd-export-range{align-items:flex-end}.dd-export-range .dash-datetime-range-input{min-width:11rem;padding:.4rem .5rem;font-size:.8125rem}.dd-export-tz{color:#94a3b8;margin:.55rem 0 0;font-size:.72rem}.dd-export-estimate{color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.4rem;margin-top:.9rem;padding:.6rem .75rem;font-size:.8125rem}.dd-export-estimate strong{color:#0f172a}.dd-export-estimate-muted{color:#64748b;align-items:center;gap:.35rem;display:inline-flex}.dd-export-estimate-bad{color:#b91c1c;font-weight:600}.dd-export-warning{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:.4rem;align-items:flex-start;gap:.45rem;margin-top:.65rem;padding:.6rem .75rem;font-size:.78rem;line-height:1.45;display:flex}.dd-export-warning svg{flex-shrink:0;margin-top:.1rem}.dd-export-warning--block{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.dd-export-progress{color:#64748b;font-size:.78rem}.provisioning-billing-check{color:#334155;white-space:nowrap;cursor:pointer;align-items:center;gap:.35rem;margin-left:.75rem;font-size:.78rem;font-weight:600;display:inline-flex}.provisioning-billing-check.is-disabled{color:#cbd5e1;cursor:not-allowed}.provisioning-billing-check input:disabled{cursor:not-allowed}.provisioning-billing-check svg{color:var(--brand)}.provisioning-billing-check.is-disabled svg{color:#cbd5e1}.provisioning-billing-btn{color:var(--brand-dark);cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #cbd5e1;border-radius:.375rem;align-items:center;gap:.35rem;margin-left:.45rem;padding:.32rem .65rem;font-size:.75rem;font-weight:600;display:inline-flex}.provisioning-billing-btn:hover:not(:disabled){border-color:var(--brand);background:#2563c80f}.provisioning-billing-btn:disabled{opacity:.5;cursor:not-allowed}.power-billing-modal{width:min(720px,100%)}.power-billing-modal .metric-modal-title{align-items:center;gap:.4rem;display:flex}.power-billing-muted{color:#94a3b8;align-items:center;gap:.35rem;margin:0;font-size:.8rem;display:inline-flex}.power-billing-table{border-collapse:collapse;width:100%;font-size:.8rem}.power-billing-table th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:#94a3b8;padding:0 .5rem .35rem 0;font-size:.68rem;font-weight:600}.power-billing-table td{vertical-align:middle;border-top:1px solid #f1f5f9;padding:.3rem .5rem .3rem 0}.power-billing-table tr.is-billing td{background:#2563c80a}.power-billing-check{color:#334155;cursor:pointer;align-items:center;gap:.4rem;font-weight:600;display:inline-flex}.power-billing-count{color:#94a3b8;font-size:.7rem;font-weight:500}.power-billing-reading{color:#64748b;font-family:monospace;font-size:.72rem}.power-billing-table .searchable-select{min-width:12rem}.power-billing-note{color:#94a3b8;font-size:.75rem}.site-map-links{pointer-events:none;position:absolute;inset:0;overflow:visible}.site-map-link{pointer-events:auto}.site-map-link-line{stroke:#64748b;stroke-width:1.25px;opacity:1;transition:stroke .12s}.site-map-link-hit{stroke:#0000;stroke-width:14px}.site-map-link:hover .site-map-link-line{stroke:#dc2626}.site-map-link-preview{stroke:var(--brand);stroke-width:1.75px;stroke-dasharray:5 4;opacity:.85}.site-map-link-delete{opacity:0;cursor:pointer;transition:opacity .12s}.site-map-link:hover .site-map-link-delete{opacity:1}.site-map-link-delete circle{fill:#fff;stroke:#fca5a5;stroke-width:1.5px}.site-map-link-delete path{stroke:#dc2626;stroke-width:1.75px;stroke-linecap:round}.site-map-link-delete:hover circle{fill:#fef2f2}.site-map-device-connector{cursor:crosshair;opacity:0;background:#fff;border:1.5px solid #94a3b8;border-radius:50%;width:10px;height:10px;transition:opacity .12s,border-color .12s;position:absolute;top:50%;right:-5px;transform:translateY(-50%)}.site-map-device-card:hover .site-map-device-connector{opacity:1}.site-map-device-connector:hover{border-color:var(--brand);background:#eff6ff}.site-map-device-card.is-link-source .site-map-device-connector{opacity:1;border-color:var(--brand)}.site-map-device-card.is-link-target{border-color:var(--brand);box-shadow:0 0 0 2px #2563c847}.customer-keys-btn{color:var(--brand-dark);cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #cbd5e1;border-radius:.35rem;align-items:center;gap:.3rem;padding:.3rem .6rem;font-size:.74rem;font-weight:600;display:inline-flex}.customer-keys-btn:hover{border-color:var(--brand);background:#2563c80f}.customer-keys-modal{width:min(660px,100%)}.customer-keys-modal .metric-modal-footer{gap:1rem}.customer-keys-modal .metric-modal-footer .btn-primary{white-space:nowrap;flex:none;width:auto;min-width:6rem}.customer-keys-modal .metric-modal-title{align-items:center;gap:.4rem;display:flex}.customer-key-issued{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:.45rem;margin-bottom:.9rem;padding:.7rem .8rem}.customer-key-issued-head{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.customer-key-issued-label{color:#166534;margin:0 0 .45rem;font-size:.76rem;font-weight:600}.customer-key-issued-dismiss{color:#4d7c5a;cursor:pointer;background:0 0;border:none;border-radius:.25rem;flex:none;padding:.1rem;display:inline-flex}.customer-key-issued-dismiss:hover{color:#166534;background:#dcfce7}.customer-key-issued-row{align-items:center;gap:.5rem;display:flex}.customer-key-issued-row .btn-secondary{align-items:center;gap:.35rem;display:inline-flex}.customer-key-issued-row code{white-space:nowrap;background:#fff;border:1px solid #d1fae5;border-radius:.3rem;flex:1;min-width:0;padding:.35rem .5rem;font-size:.76rem;overflow-x:auto}.customer-key-create{gap:.5rem;margin-bottom:.9rem;display:flex}.customer-key-create .form-control{flex:auto;min-width:0}.customer-key-create .btn-primary{white-space:nowrap;flex:none;width:auto}.customer-key-table{border-collapse:collapse;width:100%;font-size:.8rem}.customer-key-table th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:#94a3b8;padding:0 .5rem .3rem 0;font-size:.68rem}.customer-key-table td{border-top:1px solid #f1f5f9;padding:.35rem .5rem .35rem 0}.customer-key-prefix{font-family:var(--mono);color:#475569;font-size:.75rem}.customer-key-muted{color:#64748b;white-space:nowrap;align-items:center;gap:.3rem;font-size:.75rem;display:inline-flex}.customer-key-usage{color:#475569;border-top:1px solid #e2e8f0;margin-top:1.1rem;padding-top:.85rem;font-size:.78rem}.customer-key-usage h4{color:#0f172a;margin:0 0 .3rem;font-size:.85rem}.customer-key-usage p{margin:0 0 .4rem}.customer-key-usage code{font-family:var(--mono);color:#0f172a;background:#eef2f7;border-radius:.2rem;padding:.05rem .28rem;font-size:.72rem}.customer-key-meta{border:1px solid #e2e8f0;border-radius:.5rem;margin:.75rem 0 0;overflow:hidden}.customer-key-meta>div{background:#f8fafc;gap:.75rem;padding:.45rem .7rem;display:flex}.customer-key-meta>div+div{border-top:1px solid #e2e8f0}.customer-key-meta dt{color:#475569;flex:0 0 6.5rem;font-size:.73rem;font-weight:600}.customer-key-meta dd{min-width:0;margin:0;overflow-x:auto}.customer-key-usage .customer-key-meta dd code{font-family:var(--mono);color:#0f172a;white-space:nowrap;background:0 0;padding:0;font-size:.72rem}.customer-key-label,.customer-key-params-label{letter-spacing:.05em;text-transform:uppercase;color:#94a3b8;margin-bottom:.3rem;font-size:.65rem;font-weight:700;display:block}.customer-key-params-label{margin:.65rem 0 .15rem}.customer-key-call+.customer-key-call{margin-top:.5rem}.customer-key-call-label{color:#64748b;margin-bottom:.2rem;font-size:.71rem;font-weight:600;display:block}.customer-key-endpoints{flex-direction:column;gap:.75rem;margin-top:.9rem;display:flex}.customer-key-endpoint{background:#fff;border:1px solid #e2e8f0;border-radius:.55rem}.customer-key-endpoint[open]{padding-bottom:.75rem}.customer-key-endpoint>:not(summary){margin-left:.8rem;margin-right:.8rem}.customer-key-endpoint-head{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:.55rem;flex-wrap:wrap;align-items:center;gap:.45rem;padding:.6rem .8rem;list-style:none;display:flex}.customer-key-endpoint-head::-webkit-details-marker{display:none}.customer-key-endpoint-head:before{content:"▸";color:#94a3b8;flex:none;font-size:.7rem}.customer-key-endpoint[open] .customer-key-endpoint-head:before{content:"▾"}.customer-key-endpoint-head:hover{background:#f8fafc}.customer-key-method{font-family:var(--mono);letter-spacing:.04em;color:#166534;background:#dcfce7;border-radius:.25rem;flex:none;align-self:center;padding:.1rem .35rem;font-size:.65rem;font-weight:700}.customer-key-usage .customer-key-path{font-family:var(--mono);color:#0f172a;background:0 0;padding:0;font-size:.84rem;font-weight:700}.customer-key-endpoint-title{color:#475569;margin-left:auto;font-size:.76rem}.api-code{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.45rem;position:relative}.api-code pre{white-space:pre;margin:0;padding:.65rem 2.6rem .65rem .75rem;font-size:.735rem;line-height:1.65;overflow-x:auto}.api-code code{font-family:var(--mono);font-size:inherit;background:0 0;padding:0}.api-code .tok-cmd{color:#0f172a;font-weight:700}.api-code .tok-url{color:#1d4ed8}.api-code .tok-flag{color:#7c3aed;font-weight:600}.api-code .tok-str{color:#0f766e}.api-code-copy{z-index:1;color:#64748b;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:.3rem;justify-content:center;align-items:center;width:1.6rem;height:1.6rem;padding:0;display:inline-flex;position:absolute;top:.4rem;right:.4rem}.api-code-copy:hover{color:var(--brand-dark);border-color:var(--brand)}.customer-key-endpoint-note{color:#64748b;margin:.5rem 0 0;font-size:.73rem;line-height:1.5}.customer-key-params{margin:.55rem 0 0}.customer-key-param{border-top:1px solid #f1f5f9;gap:.6rem;padding:.28rem 0;display:flex}.customer-key-param dt{flex-wrap:wrap;flex:0 0 10rem;align-items:baseline;gap:.3rem;display:flex}.customer-key-usage .customer-key-param dt code{color:#0f172a;background:0 0;padding:0;font-size:.72rem;font-weight:600}.customer-key-param dd{color:#64748b;flex:auto;margin:0;font-size:.73rem;line-height:1.5}.customer-key-req{letter-spacing:.03em;text-transform:uppercase;color:#b45309;font-size:.6rem;font-weight:700}.customer-key-response{margin-top:.55rem}.customer-key-response summary{color:var(--brand-dark);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.3rem;font-size:.73rem;font-weight:600;list-style:none;display:inline-flex}.customer-key-response summary::-webkit-details-marker{display:none}.customer-key-response summary:before{content:"▸";color:#94a3b8;font-size:.7rem}.customer-key-response[open] summary:before{content:"▾"}.customer-key-response pre{font-family:var(--mono);color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.45rem;margin:.4rem 0 0;padding:.65rem .75rem;font-size:.715rem;line-height:1.6;overflow-x:auto}.customer-key-limits{color:#64748b;margin:.55rem 0 0;font-size:.72rem}.customer-key-count{color:#475569;font-size:.76rem}
