@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600;700&display=swap";.sidebar{width:280px;height:100vh;background:var(--paper);border-right:1px solid var(--line);display:flex;flex-direction:column;position:fixed;left:0;top:0;z-index:50;transition:width .28s cubic-bezier(.4,0,.2,1),transform var(--transition-base);transform:translate(0)}.sidebar-edge-toggle{position:absolute;top:76px;right:-15px;width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:var(--bg);color:var(--ink-3);display:grid;place-items:center;cursor:pointer;z-index:60;box-shadow:0 2px 8px #3c301e24;transition:color .15s,border-color .15s,background .15s}body[data-theme=dark] .sidebar-edge-toggle{box-shadow:0 2px 8px #00000073}.sidebar-edge-toggle:hover{color:var(--teal-d);border-color:var(--teal);background:var(--teal-tint)}.sidebar-edge-toggle svg{transition:transform .28s cubic-bezier(.4,0,.2,1);transform:rotate(180deg)}.layout.sidebar-collapsed .sidebar-edge-toggle svg{transform:rotate(0)}@media(max-width:1024px){.sidebar-edge-toggle{display:none}}.layout.sidebar-collapsed .sidebar{width:80px;overflow:hidden}.layout.sidebar-collapsed .brand-copy,.layout.sidebar-collapsed .nav-section-title,.layout.sidebar-collapsed .nav-item span,.layout.sidebar-collapsed .user-info,.layout.sidebar-collapsed .sidebar-footer button,.layout.sidebar-collapsed .hierarchy-tree{display:none}.layout.sidebar-collapsed .brand-icon{margin-right:0}.layout.sidebar-collapsed .nav-item{justify-content:center;padding:var(--spacing-sm)}.layout.sidebar-collapsed .avatar{margin:0 auto}.sidebar-header{height:70px;display:flex;align-items:center;gap:.75rem;padding:0 var(--spacing-lg);border-bottom:1px solid var(--line);text-decoration:none}.layout.sidebar-collapsed .sidebar-header{justify-content:center;padding:0}.brand-icon{width:40px;height:40px;background:#0b0c0e;color:#e7e9ee;border:1px solid rgba(255,255,255,.08);border-radius:12px;display:flex;align-items:center;justify-content:center;flex:none;box-shadow:0 8px 20px #6366f147}.brand-copy{display:flex;flex-direction:column;min-width:0}.brand-text{font-family:var(--tg-font-ui, "Space Grotesk", system-ui, sans-serif);font-size:1.25rem;font-weight:600;letter-spacing:-.03em;color:var(--ink);line-height:1.1}.brand-sub{font-family:var(--tg-font-mono, "IBM Plex Mono", ui-monospace, monospace);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-top:2px}.sidebar-content{flex:1;padding:var(--spacing-lg) var(--spacing-md);overflow-y:auto;display:flex;flex-direction:column;gap:var(--spacing-xl)}.nav-section-title{font-size:.68rem;text-transform:uppercase;letter-spacing:.11em;color:var(--ink-3);font-weight:700;padding:0 var(--spacing-md);margin-bottom:var(--spacing-sm);white-space:nowrap}.layout.sidebar-collapsed .nav-section-title{display:block;height:1px;padding:0;margin:14px 16px;background:var(--line);overflow:hidden;text-indent:-999px}.nav-links{display:flex;flex-direction:column;gap:4px}.nav-item{display:flex;align-items:center;gap:var(--spacing-md);padding:.6rem var(--spacing-md);text-decoration:none;color:var(--ink-2);border-radius:11px;font-size:.9rem;font-weight:500;transition:color .15s,background .15s;position:relative;overflow:hidden}.nav-item:hover{background:var(--teal-tint);color:var(--teal-d)}.nav-item.active{background:var(--teal-tint);color:var(--teal-d);font-weight:600}.sidebar-footer{padding:var(--spacing-md);border-top:1px solid var(--line)}.user-profile{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast)}.user-profile:hover{background:var(--bg-hover)}.avatar{width:38px;height:38px;border-radius:11px;background:var(--ink);color:var(--paper);border:none;display:flex;align-items:center;justify-content:center;overflow:hidden;font-family:var(--tg-font-ui, "Space Grotesk", system-ui, sans-serif);font-weight:600;font-size:.95rem;flex:none}body[data-theme=dark] .avatar{background:var(--tg-gradient);color:#08090b}.avatar img{width:100%;height:100%;object-fit:cover}.user-info{flex:1;overflow:hidden}.user-name{display:block;font-size:.85rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{display:block;font-size:.75rem;color:var(--text-tertiary)}.sidebar-content::-webkit-scrollbar{width:4px}.sidebar-content::-webkit-scrollbar-track{background:transparent}.sidebar-content::-webkit-scrollbar-thumb{background:var(--bg-elevated);border-radius:4px}.sidebar-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:40;display:none}@media(max-width:1024px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay{display:block}}body[data-theme=light] .nav-item:hover{background:#6366f10f}body[data-theme=light] .nav-item.active{background:var(--accent-tint);color:var(--accent-strong)}body[data-theme=light] .nav-item.active:before{background:var(--accent)}.impersonation-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 1rem;font-size:.85rem;color:#1a1206;background:linear-gradient(90deg,#f59e0b,#fbbf24);border-bottom:2px solid #b45309;box-shadow:0 2px 6px #00000026;z-index:60}.impersonation-banner.is-write{color:#fff;background:linear-gradient(90deg,#dc2626,#ef4444);border-bottom-color:#991b1b}.impersonation-banner__info{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;min-width:0}.impersonation-banner__icon{flex-shrink:0}.impersonation-banner__text{overflow:hidden;text-overflow:ellipsis}.impersonation-banner__mode{display:inline-flex;align-items:center;gap:.25rem;padding:.1rem .5rem;border-radius:999px;font-weight:600;font-size:.72rem;background:#0000002e}.impersonation-banner__exit{display:inline-flex;align-items:center;gap:.35rem;flex-shrink:0;padding:.35rem .75rem;font-size:.8rem;font-weight:600;color:inherit;background:#ffffffd9;border:1px solid rgba(0,0,0,.25);border-radius:6px;cursor:pointer}.impersonation-banner__exit:hover:not(:disabled){background:#fff}.impersonation-banner__exit:disabled{opacity:.6;cursor:default}.layout{display:flex;min-height:100vh;background:var(--bg-primary)}.layout-main{flex:1;margin-left:280px;display:flex;flex-direction:column;min-width:0;transition:margin-left var(--transition-base)}.layout.sidebar-collapsed .layout-main{margin-left:80px}.layout-header{height:70px;background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:40;padding:0 var(--spacing-xl);display:flex;align-items:center}.header-content{width:100%;display:flex;align-items:center;justify-content:space-between}.breadcrumbs{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--text-tertiary);font-size:.9rem}.breadcrumb-item{display:flex;align-items:center;gap:var(--spacing-sm)}.breadcrumb-separator{color:var(--text-tertiary);font-size:.8rem}.breadcrumb-current{color:var(--text-primary);font-weight:500}.search-bar{position:relative;width:300px}.search-bar input{width:100%;background:var(--bg);border:1px solid var(--line);padding:.6rem var(--spacing-md);padding-left:38px;border-radius:999px;color:var(--text-primary);font-size:.875rem;transition:all var(--transition-fast)}.search-bar input:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-tint)}.search-bar input{padding-right:58px}.search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none}.search-kbd{position:absolute;right:12px;top:50%;transform:translateY(-50%);padding:2px 7px;border:1px solid var(--line);border-radius:6px;color:var(--text-tertiary);font-family:var(--tg-font-mono, "IBM Plex Mono", ui-monospace, monospace);font-size:.66rem;letter-spacing:.04em;pointer-events:none}.search-results{position:absolute;top:calc(100% + 6px);left:0;right:0;max-height:340px;overflow-y:auto;padding:6px;background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);z-index:60}.search-result{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);width:100%;padding:.55rem var(--spacing-md);border:none;border-radius:9px;background:transparent;color:var(--ink-2);font:inherit;font-size:.875rem;font-weight:500;text-align:left;cursor:pointer}.search-result.active{background:var(--teal-tint);color:var(--teal-d)}.search-result small{color:var(--text-tertiary);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.search-empty{padding:.7rem var(--spacing-md);color:var(--text-tertiary);font-size:.85rem}.action-btn{width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:var(--paper);border:1px solid var(--line);color:var(--ink-2);border-radius:12px;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.action-btn:hover{background:var(--teal-tint);border-color:var(--teal);color:var(--teal-d)}.notification-bell,.notification-bell .action-btn{position:relative}.notification-badge{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--status-error);color:#fff;font-size:.65rem;font-weight:700;line-height:1;pointer-events:none}.notification-panel{position:absolute;top:calc(100% + 8px);right:0;width:360px;max-width:calc(100vw - 32px);background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);z-index:60;overflow:hidden}.notification-panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:.8rem var(--spacing-md);border-bottom:1px solid var(--line)}.notification-panel-head strong{font-size:.9rem;color:var(--ink)}.notification-mark-all{display:inline-flex;align-items:center;gap:5px;border:none;background:transparent;color:var(--teal-d);font:inherit;font-size:.75rem;font-weight:600;cursor:pointer}.notification-list{max-height:380px;overflow-y:auto}.notification-item{display:flex;align-items:flex-start;gap:10px;width:100%;padding:.7rem var(--spacing-md);border:none;border-bottom:1px solid var(--line);background:transparent;font:inherit;text-align:left;cursor:pointer}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:var(--bg-hover)}.notification-item.unread{background:var(--teal-tint)}.notification-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:9px;flex:none;margin-top:2px}.notification-icon.sev-critical{color:var(--status-error);background:#ef44441f}.notification-icon.sev-warning{color:var(--status-warning);background:#f59e0b24}.notification-icon.sev-info{color:var(--status-info);background:#22d3ee1f}.notification-copy{display:grid;gap:2px;min-width:0}.notification-title{font-size:.85rem;font-weight:600;color:var(--ink)}.notification-body{font-size:.78rem;color:var(--ink-2);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.notification-time{font-size:.7rem;color:var(--text-tertiary)}.notification-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex:none;margin:6px 0 0 auto}.notification-empty{padding:1.4rem var(--spacing-md);color:var(--text-tertiary);font-size:.85rem;text-align:center}.menu-toggle{display:block;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;margin-right:var(--spacing-md);transition:color var(--transition-fast)}.menu-toggle:hover{color:var(--text-primary)}.main-content{padding:var(--spacing-xl);flex:1}@media(max-width:1024px){.layout-main{margin-left:0}.menu-toggle{display:block}.search-bar{display:none}}.sensor-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:22px;cursor:pointer;transition:border-color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-base);position:relative;overflow:hidden;display:flex;flex-direction:column}.sensor-card:hover{border-color:var(--teal);box-shadow:var(--shadow-md);transform:translateY(-3px)}.sensor-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at top right,rgba(var(--primary-rgb),.1),transparent 40%);opacity:0;transition:opacity var(--transition-base)}.sensor-card:hover:before{opacity:1}.sensor-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-lg);z-index:1}.header-info{display:flex;gap:var(--spacing-md)}.sensor-icon{width:40px;height:40px;border-radius:10px;background:var(--accent-tint);display:flex;align-items:center;justify-content:center;color:var(--accent-strong)}.sensor-details{display:flex;flex-direction:column}.sensor-name{font-size:1rem;font-weight:600;color:var(--text-primary);line-height:1.2;margin-bottom:2px}.sensor-path{font-size:.75rem;color:var(--text-tertiary)}.status-badge{font-size:.65rem;padding:2px 8px;border-radius:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.status-badge.live{background:var(--accent-tint);color:var(--accent-strong);border:1px solid rgba(var(--primary-rgb),.18)}.status-badge.sim{background:var(--bg-hover);color:var(--text-tertiary);border:1px solid var(--border-color)}.sensor-value-container{margin-top:auto;z-index:1}.main-value{font-size:2.5rem;font-weight:700;color:var(--text-primary);letter-spacing:-.03em;line-height:1;margin-bottom:var(--spacing-xs);display:flex;align-items:baseline;gap:4px}.unit{font-size:1rem;color:var(--text-tertiary);font-weight:500}.sensor-meta{display:flex;justify-content:space-between;align-items:center;margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border-color)}.last-update{font-size:.75rem;color:var(--text-tertiary)}.sparkline-container{height:30px;width:60px;display:flex;align-items:flex-end;gap:2px;opacity:.5}.spark-bar{width:100%;background:var(--accent);border-radius:2px}body[data-theme=light] .sensor-card{background:var(--bg-secondary)}body[data-theme=light] .sensor-card:hover{border-color:var(--accent);box-shadow:var(--shadow-lg)}body[data-theme=light] .sensor-card:before{background:radial-gradient(circle at top right,rgba(99,102,241,.08),transparent 40%)}body[data-theme=light] .sensor-icon{background:var(--accent-tint);color:var(--accent-strong)}body[data-theme=light] .status-badge.live{background:var(--accent-tint);color:var(--accent-strong);border-color:transparent}body[data-theme=light] .status-badge.sim{background:#f0ece1;color:#978f7e;border-color:#e4ddcf}body[data-theme=light] .spark-bar{background:var(--accent)}.dashboard{animation:fadeIn var(--transition-slow) ease-out;padding-bottom:var(--spacing-2xl)}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--border-color)}.dashboard-title h2{margin:0;font-size:2.4rem;font-weight:600;letter-spacing:-.01em;display:flex;align-items:center;gap:var(--spacing-md);color:var(--text-primary)}.dashboard-subtitle{color:var(--text-secondary);font-size:.95rem;margin-top:var(--spacing-sm);font-weight:400}.dashboard-stats{display:flex;gap:var(--spacing-md)}.stat-card{background:var(--surface-raised-bg);border:1px solid var(--surface-raised-border);border-radius:var(--radius-lg);padding:var(--spacing-md) var(--spacing-xl);display:flex;flex-direction:column;align-items:flex-start;min-width:140px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base);box-shadow:var(--surface-raised-shadow-soft),var(--surface-inset-highlight)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--surface-raised-shadow),var(--surface-inset-highlight)}.stat-label{font-size:.7rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--spacing-sm);font-weight:600}.stat-value{font-size:1.5rem;font-weight:700;line-height:1}.stat-value.primary{color:var(--text-primary)}.stat-value.success{color:var(--status-success);text-shadow:0 0 20px rgba(16,185,129,.3)}.stat-value.info{color:var(--status-info)}.empty-state{background:var(--surface-raised-bg);border:1px dashed var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-2xl);text-align:center;color:var(--text-secondary);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);box-shadow:var(--surface-raised-shadow-soft),var(--surface-inset-highlight)}.grid{display:grid;gap:20px}.grid-4{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}@media(max-width:768px){.dashboard-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-lg)}.dashboard-stats{width:100%;overflow-x:auto;padding-bottom:var(--spacing-sm)}}body[data-theme=light] .stat-value.success{color:var(--accent);text-shadow:none}body[data-theme=light] .stat-value.info{color:var(--text-tertiary)}.page-header{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 1.5rem;padding:.9rem 1.15rem;margin-bottom:1.25rem;border:1px solid var(--border-color);border-radius:14px;background:var(--bg-secondary)}.page-header-identity{display:flex;align-items:center;gap:.7rem;min-width:0;flex:1 1 auto}.page-header-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;border-radius:9px;background:rgba(var(--primary-rgb),.12);color:var(--primary-400)}.page-header-copy{min-width:0}.page-header-copy h1{margin:0;font-size:1.3rem;line-height:1.25;letter-spacing:-.01em;color:var(--text-primary)}.page-header-copy p{margin:.15rem 0 0;font-size:.82rem;line-height:1.4;color:var(--text-secondary)}.page-header-stats{display:flex;align-items:stretch;flex-wrap:wrap;gap:.5rem}.page-header-stat{display:flex;align-items:baseline;gap:.4rem;padding:.35rem .7rem;border:1px solid var(--border-color);border-radius:9px;background:var(--bg-primary);font:inherit;text-align:left}button.page-header-stat{cursor:pointer}button.page-header-stat:hover{border-color:var(--border-color-hover)}.page-header-stat-value{font-size:1.05rem;font-weight:600;line-height:1;color:var(--text-primary);font-variant-numeric:tabular-nums}.page-header-stat-label{font-size:.75rem;color:var(--text-secondary);white-space:nowrap}.page-header-stat.tone-danger{border-left:3px solid var(--status-error, #ef4444)}.page-header-stat.tone-danger .page-header-stat-value{color:var(--status-error, #ef4444)}.page-header-stat.tone-warning{border-left:3px solid var(--warn, #d99a52)}.page-header-stat.tone-warning .page-header-stat-value{color:var(--warn, #d99a52)}.page-header-stat.tone-success{border-left:3px solid var(--ok, #2f9e6f)}.page-header-stat.tone-info{border-left:3px solid var(--primary-400)}.page-header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}@media(max-width:720px){.page-header{align-items:flex-start;flex-direction:column;gap:.75rem}.page-header-stats{width:100%}}.sev-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 7px;border:1px solid currentColor;border-radius:4px;font-family:var(--tg-font-mono),ui-monospace,monospace;font-size:.66rem;font-weight:500;letter-spacing:.06em;white-space:nowrap;vertical-align:middle}.sev-chip svg{flex-shrink:0}.sev-critical{color:var(--status-error, #ef4444)}.sev-high{color:var(--warn, #d99a52)}.sev-medium{color:var(--status-warning, #f59e0b)}.sev-low{color:var(--status-info, #22d3ee)}.sev-acknowledged{color:var(--primary-400, #818cf8)}.sev-resolved{color:var(--ok, #10b981)}.sev-shelved{color:var(--off, #8a8273)}.sev-stale{color:var(--text-secondary);border-style:dashed}.home-page{display:flex;flex-direction:column}.home-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:1rem}.home-panel{display:flex;flex-direction:column;gap:.75rem;padding:1rem 1.1rem;border:1px solid var(--border-color);border-radius:12px;background:var(--bg-secondary)}.home-panel.tone-alarm{border-left:3px solid var(--status-error)}.home-panel.tone-data{border-left:3px solid var(--status-success)}.home-panel header{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.home-panel h2{margin:0;font-size:.95rem;font-weight:600;color:var(--text-primary)}.home-link{display:inline-flex;align-items:center;gap:2px;font-size:.78rem;color:var(--text-secondary);text-decoration:none}.home-link:hover{color:var(--text-primary)}.home-stats{display:flex;flex-wrap:wrap;gap:.5rem}.home-stat{display:inline-flex;align-items:baseline;gap:.35rem;padding:.3rem .6rem;border:1px solid var(--border-color);border-left-width:3px;border-radius:9px;background:var(--bg-primary);font-size:.75rem;color:var(--text-secondary);white-space:nowrap}.home-stat b{font-size:1rem;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.home-stat.critical{border-left-color:var(--status-error)}.home-stat.critical b{color:var(--status-error)}.home-stat.high{border-left-color:var(--warn)}.home-stat.high b{color:var(--warn)}.home-stat.ok{border-left-color:var(--status-success)}.home-stat.ok b{color:var(--status-success)}.home-rows{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none}.home-rows li,.home-links a{display:flex;align-items:center;gap:.6rem;min-height:34px;padding:0 .65rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);font-size:.8rem;color:var(--text-secondary);text-decoration:none}.home-links li{padding:0;border:none;background:none;min-height:0}.home-links a:hover{border-color:var(--border-color-hover);color:var(--text-primary)}.home-row-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.home-row-name em{font-style:normal;color:var(--text-tertiary)}.home-row-time{font-family:var(--tg-font-mono),ui-monospace,monospace;font-size:.68rem;color:var(--text-tertiary);font-variant-numeric:tabular-nums;white-space:nowrap}.home-state{margin:0;font-size:.82rem;color:var(--text-secondary)}.home-state.is-error{color:var(--status-error)}.home-empty{align-items:center;text-align:center;gap:.9rem;padding:2.5rem 1.5rem;color:var(--text-secondary)}.home-empty h2{margin-bottom:.35rem}.home-empty p{margin:0;max-width:46ch;font-size:.85rem}.home-cta{display:inline-flex;align-items:center;height:36px;padding:0 1rem;border:1px solid var(--accent);border-radius:9px;background:var(--accent-tint);color:var(--text-primary);font-size:.85rem;font-weight:600;text-decoration:none}.home-pinned-section{margin-bottom:1.5rem}.home-pinned-header{margin-bottom:1rem}.home-pinned-header h2{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.home-pinned-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.home-pinned-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1rem;text-decoration:none!important;color:inherit;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:all var(--transition-fast)}.home-pinned-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary-400),var(--primary-600));opacity:.8;transition:opacity var(--transition-fast)}.home-pinned-card:hover{transform:translateY(-2px);border-color:var(--primary-500);box-shadow:var(--shadow-sm);background:var(--surface-raised-bg)}.home-pinned-card h3{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:var(--text-primary)}.pinned-asset-tag{display:inline-block;padding:.2rem .5rem;background-color:var(--accent-tint);color:var(--accent-strong);border-radius:9999px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem;width:fit-content}.pinned-card-footer{margin-top:auto;display:flex;justify-content:space-between;align-items:center;font-size:.75rem;font-weight:500;color:var(--primary-500)}.dashboard-list-container{padding:var(--spacing-xl);min-height:100vh}.dashboard-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl)}.dashboard-list-header h1{font-size:1.5rem;font-weight:700;display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:0}.dashboard-list-header p{color:var(--text-tertiary);margin-top:.25rem;font-size:.875rem}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-lg)}.dashboard-card{background:var(--surface-raised-bg);border:1px solid var(--surface-raised-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);position:relative;transition:all var(--transition-base);cursor:pointer;display:flex;flex-direction:column;box-shadow:var(--surface-raised-shadow-soft),var(--surface-inset-highlight);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);text-decoration:none!important;color:inherit;overflow:hidden}.dashboard-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary-400),var(--primary-600));opacity:.7;transition:opacity var(--transition-fast)}.dashboard-card:hover:before{opacity:1}.dashboard-card:hover{border-color:var(--primary-500);transform:translateY(-4px);box-shadow:var(--shadow-lg)}.dashboard-card-actions{position:absolute;top:.75rem;right:.75rem;display:flex;gap:.25rem;opacity:0;transition:opacity var(--transition-fast)}.dashboard-card:hover .dashboard-card-actions{opacity:1}.dash-delete-btn,.dash-pin-btn{background:transparent;border:none;color:var(--text-tertiary);padding:.5rem;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.dash-delete-btn:hover{color:var(--status-error);background-color:#ef44441a}.dash-pin-btn:hover{color:var(--primary-500);background-color:rgba(var(--primary-rgb),.1)}.dash-pin-btn.is-pinned{color:var(--primary-500);opacity:1}.dashboard-card:has(.dash-pin-btn.is-pinned) .dashboard-card-actions{opacity:1}.dashboard-card-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-sm)}.dashboard-card-desc{color:var(--text-secondary);font-size:.875rem;line-height:1.5;margin-bottom:var(--spacing-lg);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;height:2.75rem}.asset-tag{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;background-color:var(--accent-tint);color:var(--accent-strong);border:1px solid rgba(var(--primary-rgb),.2);border-radius:9999px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-lg);width:fit-content}.dashboard-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:var(--spacing-md);border-top:1px solid var(--border-color);font-size:.75rem;color:var(--text-tertiary)}.open-dash-link{display:flex;align-items:center;gap:.25rem;font-weight:600;color:var(--primary-400);transition:transform var(--transition-fast)}.dashboard-card:hover .open-dash-link{transform:translate(4px)}.empty-dashboards{grid-column:1 / -1;padding:var(--spacing-2xl);text-align:center;border:2px dashed var(--border-color);border-radius:var(--radius-xl);background:var(--surface-raised-bg-soft);box-shadow:var(--surface-raised-shadow-soft),var(--surface-inset-highlight)}.empty-icon-circle{width:64px;height:64px;background-color:var(--bg-tertiary);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto var(--spacing-lg);color:var(--text-tertiary)}.create-dash-inline-btn{background:transparent;border:none;color:var(--primary-400);font-weight:600;cursor:pointer;margin-top:var(--spacing-md)}.create-dash-inline-btn:hover{text-decoration:underline}.dashboard-loading{display:flex;align-items:center;justify-content:center;padding:var(--spacing-2xl);color:var(--text-tertiary)}.widget-card{background:var(--surface-raised-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:12px;padding:var(--spacing-md);height:100%;display:flex;flex-direction:column;position:relative;transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.widget-card:hover{border-color:var(--primary-500);box-shadow:var(--shadow-md);transform:translateY(-2px)}.widget-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-sm);padding:0 var(--spacing-xs);gap:.75rem}.widget-header-copy{min-width:0;display:flex;flex-direction:column;gap:.45rem;flex:1}.widget-title{font-size:1.05rem;font-weight:600;color:var(--text-primary);margin-bottom:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:80%;letter-spacing:.02em}.widget-subheader{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.widget-mode-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.22rem .5rem;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-secondary)}.widget-mode-badge.live{color:#065f46;background:#d1fae5;border-color:#a7f3d0}.widget-mode-badge.timeseries{color:var(--accent-strong);background:var(--accent-tint);border-color:rgba(var(--primary-rgb),.2)}.widget-mode-badge.feed{color:#92400e;background:#fef3c7;border-color:#fde68a}.widget-inline-control{display:inline-flex;align-items:center;gap:.35rem;color:var(--text-secondary);font-size:.74rem}.widget-inline-control select{border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-primary);border-radius:.55rem;padding:.18rem .45rem;font-size:.74rem}.widget-inline-note{color:var(--text-tertiary);font-size:.74rem}.widget-actions{display:flex;gap:.25rem;opacity:0;transition:opacity var(--transition-fast);position:absolute;top:.5rem;right:.5rem;background-color:var(--bg-elevated);padding:.25rem;border-radius:var(--radius-sm);z-index:10;box-shadow:var(--shadow-lg)}.widget-card:hover .widget-actions{opacity:1}.action-btn{background:transparent;border:none;color:var(--text-tertiary);padding:.375rem;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.action-btn:hover{background-color:var(--bg-hover);color:var(--text-primary)}.action-btn.edit:hover{color:var(--status-info)}.action-btn.delete:hover{color:var(--status-error)}.widget-content{flex:1;min-height:0;position:relative;display:flex;flex-direction:column;justify-content:center}.widget-loading,.widget-error,.widget-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-tertiary);font-size:.875rem;text-align:center;padding:var(--spacing-md)}.widget-error{color:var(--status-error)}.single-stat-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}.single-stat-value{font-size:3rem;font-weight:700;color:var(--accent);font-family:var(--font-mono);line-height:1;text-shadow:0 0 20px rgba(var(--primary-rgb),.24)}.single-stat-label{font-size:.75rem;color:var(--text-tertiary);margin-top:var(--spacing-xs);text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gauge-overlay{position:absolute;top:65%;left:0;right:0;text-align:center;pointer-events:none}.gauge-value{font-size:1.75rem;font-weight:700;color:var(--text-primary);line-height:1}.gauge-label{font-size:.625rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-top:.125rem}.alarm-widget-shell{height:100%;display:flex;flex-direction:column;gap:.75rem;min-height:0}.alarm-widget-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.alarm-widget-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;flex:1}.alarm-summary-pill{border:1px solid var(--border-color);background:var(--bg-tertiary);border-radius:.9rem;padding:.65rem .5rem;text-align:center}.alarm-summary-pill-label{font-size:.625rem;text-transform:uppercase;letter-spacing:.16em;color:var(--text-tertiary)}.alarm-summary-pill-value{font-size:1rem;font-weight:700;color:var(--text-primary);margin-top:.2rem}.alarm-widget-density{display:flex;align-items:center;gap:.45rem;font-size:.75rem;color:var(--text-secondary);white-space:nowrap}.alarm-widget-density select{border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-primary);border-radius:.65rem;padding:.25rem .5rem;font-size:.75rem}.alarm-widget-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;padding-right:.15rem}.alarm-widget-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border:1px solid var(--border-color);background:var(--bg-tertiary);border-radius:.9rem;padding:.7rem .8rem}.alarm-widget-copy{min-width:0;flex:1}.alarm-widget-title{font-size:.8rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alarm-widget-subtitle{font-size:.72rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:.15rem}.alarm-widget-severity{flex-shrink:0;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:.3rem .45rem;border-radius:999px;background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border-color)}.alarm-widget-severity.critical{color:#b91c1c;background:#fee2e2;border-color:#fecaca}.alarm-widget-severity.high{color:#c2410c;background:#ffedd5;border-color:#fed7aa}.alarm-widget-severity.medium{color:#a16207;background:#fef3c7;border-color:#fde68a}.alarm-widget-severity.low{color:#0369a1;background:#e0f2fe;border-color:#bae6fd}.donut-widget-shell{height:100%;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(180px,.9fr);gap:.9rem;align-items:center}.donut-widget-chart{height:100%;min-height:180px}.donut-widget-list{display:flex;flex-direction:column;gap:.5rem;max-height:100%;overflow:auto;padding-right:.1rem}.donut-widget-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.85rem;padding:.6rem .75rem}.donut-widget-key{display:inline-flex;align-items:center;gap:.45rem;color:var(--text-secondary);font-size:.8rem;min-width:0}.donut-widget-dot{width:.55rem;height:.55rem;border-radius:999px;flex-shrink:0}.donut-widget-value{color:var(--text-primary);font-size:.82rem;font-weight:700}.progress-widget-shell{display:flex;flex-direction:column;justify-content:center;gap:.85rem;height:100%}.progress-widget-header{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.progress-widget-label{color:var(--text-secondary);font-size:.82rem;margin-bottom:.25rem}.progress-widget-value{color:var(--text-primary);font-size:1.8rem;font-weight:800;line-height:1}.progress-widget-value span{font-size:.9rem;font-weight:500;color:var(--text-tertiary)}.progress-widget-target{font-size:.76rem;color:var(--text-tertiary);border:1px solid var(--border-color);border-radius:999px;padding:.3rem .55rem;white-space:nowrap}.progress-track{position:relative;height:.9rem;border-radius:999px;background:#94a3b829;overflow:hidden}.progress-fill{height:100%;border-radius:inherit}.progress-fill.progress-good{background:linear-gradient(90deg,#22c55e,#10b981)}.progress-fill.progress-warning{background:linear-gradient(90deg,#f59e0b,#f97316)}.progress-fill.progress-critical{background:linear-gradient(90deg,#ef4444,#dc2626)}.progress-target-marker{position:absolute;top:-.2rem;bottom:-.2rem;width:2px;background:#f8fafcf2;box-shadow:0 0 0 2px #0f172a59}.progress-widget-scale{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;color:var(--text-tertiary);font-size:.72rem}.sensor-table-widget{display:flex;flex-direction:column;gap:.55rem;height:100%;min-height:0}.sensor-table-head,.sensor-table-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr) auto;gap:.75rem;align-items:center}.sensor-table-head{color:var(--text-tertiary);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;padding:0 .2rem}.sensor-table-body{display:flex;flex-direction:column;gap:.45rem;overflow:auto;min-height:0}.sensor-table-row{border:1px solid var(--border-color);background:var(--bg-tertiary);border-radius:.9rem;padding:.7rem .8rem}.sensor-table-name{color:var(--text-primary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}.sensor-table-name small{display:block;color:var(--text-tertiary);font-size:.68rem;margin-top:.15rem}.sensor-table-reading{color:var(--text-primary);font-weight:700;font-size:.82rem}.sensor-table-badge{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;border-radius:999px;padding:.35rem .55rem;border:1px solid var(--border-color);color:var(--text-secondary)}.sensor-table-badge.normal{color:#065f46;background:#d1fae5;border-color:#a7f3d0}.sensor-table-badge.warning{color:#92400e;background:#fef3c7;border-color:#fde68a}.sensor-table-badge.critical{color:#991b1b;background:#fee2e2;border-color:#fecaca}@media(max-width:1100px){.donut-widget-shell{grid-template-columns:1fr}}.kpi-widget{display:flex;flex-direction:column;justify-content:space-between;height:100%;width:100%;position:relative;overflow:hidden}.kpi-content{padding:var(--spacing-md);z-index:1}.kpi-value{font-size:2.5rem;font-weight:700;line-height:1.1;margin-bottom:.25rem}.kpi-label{font-size:.875rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.kpi-sparkline{position:absolute;bottom:0;left:0;width:100%;height:60%;z-index:0;opacity:.7}.gauge-widget{height:100%;display:flex;align-items:center;justify-content:center;position:relative;width:100%}.gauge-overlay{position:absolute;bottom:10%;left:50%;transform:translate(-50%);text-align:center}.gauge-value{font-size:2rem;font-weight:700;line-height:1}.gauge-label{font-size:.75rem;color:var(--text-secondary);margin-top:.25rem;text-transform:uppercase;font-weight:600}.status-widget{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;width:100%;border-radius:var(--radius-md);transition:background-color .3s ease}.status-icon{margin-bottom:var(--spacing-sm)}.status-label{font-size:1.25rem;font-weight:700;color:#fff}.status-subtitle{font-size:.875rem;color:#fffc;margin-top:.25rem}.modal-overlay{position:fixed;inset:0;background-color:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md)}.modal-container{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-width:480px;padding:var(--spacing-lg);box-shadow:var(--shadow-lg);animation:scaleIn .2s ease-out;max-height:90vh;display:flex;flex-direction:column}.widget-modal-container{max-width:780px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);flex-shrink:0}.modal-header h2{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:0}.close-btn{background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;padding:.25rem;transition:color var(--transition-fast)}.close-btn:hover{color:var(--text-primary)}.modal-body{display:flex;flex-direction:column;gap:var(--spacing-lg);overflow-y:auto;padding-right:4px}.input-label{display:block;font-size:.875rem;font-weight:500;color:var(--text-secondary);margin-bottom:.375rem}.type-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm)}.enhanced-type-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.type-option{padding:.75rem;border-radius:var(--radius-md);border:1px solid var(--border-color);background-color:var(--bg-tertiary);color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-base);text-align:left;display:flex;flex-direction:column;gap:.25rem;min-height:92px}.type-option:hover{background-color:var(--bg-hover);border-color:var(--border-color-hover)}.type-option.selected{background-color:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.type-option-title{font-size:.9rem;font-weight:700}.type-option-description{font-size:.78rem;color:inherit;opacity:.85;line-height:1.35}.widget-picker-intro{background:linear-gradient(135deg,rgba(var(--primary-rgb),.12),var(--amber-tint));border:1px solid rgba(var(--primary-rgb),.18);border-radius:14px;padding:.95rem 1rem}.widget-picker-intro h3{margin:0 0 .25rem;color:var(--text-primary);font-size:1rem}.widget-picker-intro p{margin:0;color:var(--text-secondary);font-size:.86rem;line-height:1.45}.widget-selection-hint{margin-top:.6rem;color:var(--text-secondary);font-size:.84rem;line-height:1.45}.modal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-lg);flex-shrink:0}.btn-cancel{background:transparent;border:1px solid var(--border-color);color:var(--text-primary);padding:.5rem 1.25rem;border-radius:var(--radius-md);font-weight:600;cursor:pointer}.btn-cancel:hover{background-color:var(--bg-hover)}.btn-save{background:var(--gradient-primary);color:var(--accent-contrast);padding:.5rem 1.25rem;border-radius:var(--radius-md);border:none;font-weight:600;cursor:pointer;box-shadow:0 4px 12px rgba(var(--primary-rgb),.2)}.btn-save:hover{opacity:.9;transform:translateY(-1px)}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px;opacity:0}.react-grid-item:hover>.react-resizable-handle{opacity:1}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.dashboard-view-container{padding:var(--spacing-lg);min-height:100vh;padding-bottom:5rem}.dashboard-view-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.header-left{display:flex;align-items:center;gap:var(--spacing-md)}.header-right{display:flex;align-items:center;gap:.75rem}.global-controls{display:flex;align-items:center;gap:.75rem;background:var(--surface-primary);padding:.35rem .5rem;border-radius:var(--radius-md);border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.dashboard-search{display:flex;align-items:center;gap:.5rem;background:transparent;padding:.25rem .5rem;min-width:180px;color:var(--text-tertiary);border-right:1px solid var(--border-color)}.dashboard-search input{background:transparent;border:none;outline:none;color:var(--text-primary);width:100%;font-size:.825rem}.dashboard-search input::placeholder{color:var(--text-tertiary)}.auto-refresh-toggle{display:flex;align-items:center;gap:.4rem;color:var(--text-secondary);font-size:.825rem;cursor:pointer;padding:0 .5rem;border-right:1px solid var(--border-color)}.auto-refresh-toggle:hover{color:var(--text-primary)}.time-range-select{background-color:transparent;border:none;color:var(--text-primary);font-size:.825rem;padding:.25rem .5rem;cursor:pointer;outline:none}.add-widget-btn{background-color:var(--primary-600);color:#fff;border:none;padding:.5rem .85rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;transition:background-color var(--transition-fast);box-shadow:var(--shadow-sm)}.add-widget-btn:hover{background-color:var(--primary-700)}.back-link{color:var(--text-tertiary);transition:color var(--transition-fast);display:flex;align-items:center}.back-link:hover{color:var(--text-primary)}.dashboard-title-group h1{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:0}.dashboard-description{color:var(--text-tertiary);font-size:.875rem;margin-top:.25rem}.dashboard-widgets-container{width:100%}.secondary-ghost-btn{border:1px solid var(--border-color);background:var(--surface-raised-bg-soft);color:var(--text-primary);border-radius:999px;padding:.55rem .85rem;display:inline-flex;align-items:center;gap:.45rem;cursor:pointer;transition:all var(--transition-fast)}.secondary-ghost-btn:hover{border-color:rgba(var(--primary-rgb),.45);transform:translateY(-1px)}.dashboard-empty-state{min-height:360px;border:1px dashed var(--border-color);background:var(--surface-raised-bg-soft);border-radius:18px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:2rem;color:var(--text-secondary)}.dashboard-empty-icon{width:56px;height:56px;border-radius:18px;display:inline-flex;align-items:center;justify-content:center;background:var(--accent-tint);color:var(--accent);margin-bottom:1rem}.dashboard-empty-state h3{color:var(--text-primary);margin-bottom:.5rem}.dashboard-empty-state p{max-width:620px;margin-bottom:1rem}.dashboard-empty-actions{display:flex;gap:.8rem;flex-wrap:wrap;justify-content:center}.react-grid-item{transition:all .2s ease;transition-property:left,top}.react-grid-item.cssTransforms{transition-property:transform}.react-grid-item.resizing{z-index:1;will-change:width,height}.react-grid-item>.react-resizable-handle-e,.react-grid-item>.react-resizable-handle-se,.react-grid-item>.react-resizable-handle-s{opacity:0;transition:opacity var(--transition-fast)}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform;opacity:.9}.react-grid-item:hover>.react-resizable-handle-e,.react-grid-item:hover>.react-resizable-handle-se,.react-grid-item:hover>.react-resizable-handle-s,.react-grid-item.resizing>.react-resizable-handle-e,.react-grid-item.resizing>.react-resizable-handle-se,.react-grid-item.resizing>.react-resizable-handle-s{opacity:1}.react-grid-item>.react-resizable-handle-e{right:4px;top:50%;transform:translateY(-50%);width:10px;height:40px}.react-grid-item>.react-resizable-handle-s{bottom:4px;left:50%;transform:translate(-50%);width:40px;height:10px}.react-grid-item>.react-resizable-handle-se{right:4px;bottom:4px}.widget-wrapper{height:100%;width:100%}.add-widget-btn{background:var(--gradient-primary);color:var(--accent-contrast);padding:.625rem 1.25rem;border-radius:var(--radius-md);border:none;font-weight:600;display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;transition:all var(--transition-base);box-shadow:0 4px 12px rgba(var(--primary-rgb),.3)}.add-widget-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(var(--primary-rgb),.4)}@media(max-width:960px){.dashboard-quick-actions{flex-direction:column;align-items:flex-start}.quick-actions-buttons{justify-content:flex-start}}@media(max-width:768px){.dashboard-view-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.header-right,.global-controls{width:100%}.dashboard-search{min-width:0;flex:1}}.machine-table{border-collapse:collapse}.machine-table th{color:var(--text-tertiary);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.machine-table td{font-size:.875rem}.machine-table tr{transition:background-color var(--transition-base)}.text-success{color:var(--status-success)}.badge-secondary{background:#ffffff1a;color:var(--text-primary)}.data-explorer{display:flex;flex-direction:column;height:calc(100vh - 64px);background:var(--bg-primary);color:var(--text-primary);overflow:hidden;font-family:var(--tg-font-ui, "Space Grotesk", system-ui, sans-serif)}.explorer-header{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1.5rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-sm);z-index:50}.header-left,.header-right{display:flex;align-items:center;gap:1.25rem}.logo-section{display:flex;align-items:center;gap:.75rem;margin-right:1rem}.mode-toggle{display:flex;background:var(--bg-tertiary);padding:.25rem;border-radius:8px;gap:.25rem}.mode-btn{display:flex;align-items:center;gap:.5rem;padding:.4rem .85rem;border-radius:6px;font-size:.75rem;font-weight:600;color:var(--text-secondary);transition:all .2s;border:none;background:transparent;cursor:pointer}.mode-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.mode-btn.active{background:var(--bg-elevated);color:var(--primary-400);box-shadow:var(--shadow-sm)}.viz-switch{display:flex;gap:.25rem;padding-left:1rem;border-left:1px solid var(--border-color)}.viz-btn{padding:.5rem;color:var(--text-tertiary);border-radius:6px;transition:all .2s;background:transparent;border:none;cursor:pointer}.viz-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.viz-btn.active{color:var(--primary-400);background:var(--bg-elevated)}.secondary-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem .9rem;font-size:.75rem;font-weight:600;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .2s}.secondary-btn:hover{background:var(--bg-tertiary);border-color:var(--border-color-hover)}.refresh-control{display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px}.refresh-control select{background:transparent;border:none;color:var(--text-secondary);font-size:.75rem;outline:none;cursor:pointer}.run-btn{display:flex;align-items:center;gap:.6rem;padding:.5rem 1.25rem;background:var(--gradient-primary);color:#fff;border:none;border-radius:6px;font-weight:700;font-size:.8rem;letter-spacing:.025em;cursor:pointer;box-shadow:0 4px 14px #4f46e54d;transition:all .2s}.run-btn:hover{transform:translateY(-1px);opacity:.9}.explorer-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.explorer-viz-area{flex:1;min-height:200px;padding:1.5rem;position:relative;background:var(--bg-primary)}.explorer-editor-area{height:40%;min-height:280px;background:var(--bg-secondary);border-top:1px solid var(--border-color);display:flex}.builder-container{display:flex;flex:1;overflow-x:auto;padding:.75rem;gap:.75rem}.builder-column{min-width:260px;max-width:260px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;display:flex;flex-direction:column;overflow:hidden}.col-header{padding:.75rem 1rem;background:var(--bg-tertiary);font-size:.7rem;font-weight:800;text-transform:uppercase;color:var(--text-tertiary);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color)}.col-search{padding:.5rem;position:relative;display:flex;align-items:center}.col-search svg{position:absolute;left:1rem;color:var(--text-tertiary)}.col-search input{width:100%;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;padding:.4rem .5rem .4rem 2rem;color:var(--text-primary);font-size:.8rem;outline:none}.col-search input:focus{border-color:var(--primary-400)}.col-list{flex:1;overflow-y:auto;padding:.25rem}.col-item{padding:.5rem .75rem;font-size:.8rem;color:var(--text-secondary);border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:.75rem;transition:all .15s;margin-bottom:2px}.col-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.col-item.active{background:var(--bg-elevated);color:var(--primary-400);font-weight:500}.col-item.locked{background:var(--bg-hover);border:1px dashed var(--border-color);cursor:not-allowed!important;opacity:.8}.col-item input[type=checkbox]{appearance:none;width:16px;height:16px;border:2px solid var(--border-color);border-radius:4px;cursor:pointer;position:relative}.col-item input[type=checkbox]:checked{background:var(--primary-500);border-color:var(--primary-500)}.col-item input[type=checkbox]:checked:after{content:"✓";position:absolute;color:#fff;font-size:11px;top:50%;left:50%;transform:translate(-50%,-50%)}.options-col .options-body{padding:1.25rem;display:flex;flex-direction:column;gap:1.25rem;flex:1;overflow-y:auto}.opt-group{display:flex;flex-direction:column;gap:.5rem}.opt-group label{font-size:.65rem;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.opt-group select{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);padding:.6rem;border-radius:6px;outline:none;font-size:.8rem}.flux-editor-container{flex:1;display:flex;flex-direction:column;padding:1rem}.editor-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding:0 .5rem}.flux-textarea{flex:1;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary);font-family:var(--tg-font-mono, "IBM Plex Mono", ui-monospace, monospace);font-size:.85rem;padding:1.5rem;resize:none;outline:none;line-height:1.6}.placeholder-msg{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-tertiary)}.viz-table-container{width:100%;height:100%;overflow:auto;border-radius:12px;background:var(--bg-secondary);border:1px solid var(--border-color)}.viz-table-container table{width:100%;border-collapse:separate;border-spacing:0;font-size:.75rem}.viz-table-container th{position:sticky;top:0;background:var(--bg-tertiary);padding:1rem;text-align:left;font-weight:700;color:var(--text-tertiary);border-bottom:1px solid var(--border-color);z-index:5}.viz-table-container td{padding:.85rem 1rem;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.viz-table-container tr:hover td{background:var(--bg-hover)}.gauge-card{background:var(--bg-secondary);border-radius:16px;padding:1.5rem;display:flex;flex-direction:column;align-items:center;border:1px solid var(--border-color);transition:transform .2s}.gauge-card:hover{transform:translateY(-4px);border-color:var(--border-color-hover)}.gauge-value{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.75rem;font-weight:800;color:var(--text-primary);padding-bottom:10px}.gauge-label{margin-top:1rem;font-size:.65rem;font-weight:800;text-transform:uppercase;color:var(--text-tertiary);text-align:center;letter-spacing:.05em;max-width:160px}.modal-overlay,.drawer-overlay{position:fixed;inset:0;z-index:1000;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center}.drawer-overlay{justify-content:flex-end;align-items:stretch}.modal-content{width:500px;max-width:90vw;border-radius:12px;overflow:hidden;background:var(--bg-secondary);border:1px solid var(--border-color)}.drawer-content{width:400px;max-width:90vw;height:100%;display:flex;flex-direction:column;background:var(--bg-secondary);border-left:1px solid var(--border-color);box-shadow:-5px 0 25px #0000004d}.modal-header,.drawer-header{padding:1.25rem 1.5rem;display:flex;justify-content:space-between;align-items:center;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.modal-header h3,.drawer-header h3{margin:0;font-size:1.1rem;font-weight:700;color:var(--text-primary)}.modal-body,.drawer-body{padding:1.5rem;flex:1;overflow-y:auto}.modal-footer{padding:1rem 1.5rem;display:flex;justify-content:flex-end;gap:1rem;background:var(--bg-tertiary);border-top:1px solid var(--border-color)}.saved-query-card{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;margin-bottom:1rem;display:flex;align-items:center;padding:1rem;transition:all .2s;cursor:pointer}.saved-query-card:hover{background:var(--bg-elevated);border-color:var(--primary-400);transform:translate(-4px)}.query-info{flex:1}.query-name{font-weight:700;font-size:.95rem;color:var(--text-primary);margin-bottom:.25rem}.query-desc{font-size:.8rem;color:var(--text-tertiary);margin-bottom:.5rem}.query-meta{font-size:.7rem;color:var(--primary-400);font-weight:600}.saved-query-card .delete-btn{padding:.5rem;color:var(--text-tertiary);border-radius:8px;background:transparent;border:none;cursor:pointer;transition:all .2s}.saved-query-card .delete-btn:hover{color:#ef4444;background:#ef44441a}.animate-slide-in-right{animation:slideInRight .3s cubic-bezier(.16,1,.3,1) forwards}.custom-scroll::-webkit-scrollbar{width:6px;height:6px}.custom-scroll::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:10px}.custom-scroll::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.settings-panel{animation:fadeIn var(--transition-slow) ease-out}.settings-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-xl);gap:var(--spacing-lg)}.settings-header h2{margin:0;font-size:2rem}.settings-header p{color:var(--text-secondary);margin-top:var(--spacing-xs)}.settings-section{background:var(--surface-raised-bg);border:1px solid var(--surface-raised-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);margin-bottom:var(--spacing-lg);box-shadow:var(--surface-raised-shadow-soft),var(--surface-inset-highlight);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.settings-section h3{margin:0 0 var(--spacing-lg) 0;font-size:1.25rem;color:var(--text-primary)}.mode-selector{display:flex;gap:var(--spacing-lg)}.radio-option{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:var(--surface-raised-bg-soft);border:1px solid var(--surface-raised-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--surface-inset-highlight)}.radio-option:has(input:checked){border-color:var(--primary-400);background:var(--accent-tint)}.radio-option input[type=radio]{width:auto;margin:0}.radio-option span{font-weight:500}.protocols-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.protocol-card{background:var(--surface-raised-bg-soft);border:1px solid var(--surface-raised-border);border-radius:var(--radius-md);padding:var(--spacing-lg);box-shadow:var(--surface-inset-highlight)}.protocol-header{display:flex;justify-content:space-between;align-items:center}.protocol-info{display:flex;align-items:center;gap:var(--spacing-md)}.protocol-info h4{margin:0;font-size:1rem;font-weight:600}.toggle-switch{position:relative;width:50px;height:26px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--bg-secondary);border:1px solid var(--border-color);transition:var(--transition-base);border-radius:26px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:var(--text-tertiary);transition:var(--transition-base);border-radius:50%}input:checked+.toggle-slider{background-color:var(--accent);border-color:var(--accent)}input:checked+.toggle-slider:before{transform:translate(24px);background-color:var(--accent-contrast)}.protocol-settings{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border-color)}.setting-row{display:flex;justify-content:space-between;padding:var(--spacing-xs) 0;font-size:.875rem}.setting-key{color:var(--text-secondary);font-weight:500}.setting-value{color:var(--text-primary);font-family:Courier New,monospace}.settings-footer{margin-top:var(--spacing-xl)}.warning-message{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);background:#f59e0b1a;border:1px solid var(--status-warning);border-radius:var(--radius-md);color:var(--status-warning)}.warning-message p{margin:0}@media(max-width:768px){.settings-header,.mode-selector{flex-direction:column}.protocol-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}}.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.network-discovery-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.network-discovery-modal{background:var(--bg-secondary);width:100%;max-width:42rem;border-radius:var(--radius-xl);display:flex;flex-direction:column;box-shadow:var(--shadow-lg);border:1px solid var(--border-color);animation:scaleIn .2s cubic-bezier(.16,1,.3,1)}.network-discovery-header{flex:none;display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--border-color);background:var(--bg-tertiary);border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl)}.network-discovery-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:var(--spacing-sm);margin:0}.network-discovery-icon{color:var(--accent)}.network-discovery-close{background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color var(--transition-base)}.network-discovery-close:hover{color:var(--text-primary)}.network-discovery-body{padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-lg)}.network-discovery-step{display:flex;flex-direction:column;gap:var(--spacing-sm)}.network-discovery-label{font-size:.875rem;font-weight:600;color:var(--text-secondary)}.network-discovery-select{width:100%;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:.75rem 1rem;color:var(--text-primary);transition:all var(--transition-base);font-size:.875rem;appearance:none}.network-discovery-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.network-discovery-select:disabled{opacity:.5;cursor:not-allowed}.network-discovery-actions{display:flex;justify-content:flex-end}.network-discovery-btn{display:inline-flex;align-items:center;gap:var(--spacing-sm)}.network-discovery-divider{padding-top:var(--spacing-md);border-top:1px solid var(--border-color);animation:fade-in-up .3s ease-out}.network-discovery-empty{padding:var(--spacing-lg);border:1px dashed var(--border-color);border-radius:var(--radius-lg);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-tertiary)}.network-discovery-empty-icon{margin-bottom:var(--spacing-sm);color:var(--accent);animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.network-discovery-empty-text{font-size:.875rem;margin:0}.network-discovery-device-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.network-discovery-device{padding:var(--spacing-md);border-radius:var(--radius-lg);border:2px solid var(--border-color);background:var(--bg-tertiary);cursor:pointer;transition:all var(--transition-base);display:flex;justify-content:space-between;align-items:center}.network-discovery-device:hover{border-color:var(--border-color-hover)}.network-discovery-device.selected{border-color:var(--accent);background:var(--accent-tint)}.device-name{font-weight:700;color:var(--text-primary)}.device-details{font-size:.875rem;color:var(--text-secondary);font-family:monospace}.network-discovery-footer{flex:none;padding:var(--spacing-lg);border-top:1px solid var(--border-color);background:var(--bg-tertiary);display:flex;justify-content:flex-end;gap:var(--spacing-md);border-bottom-left-radius:var(--radius-xl);border-bottom-right-radius:var(--radius-xl)}.btn-cancel{padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;color:var(--text-tertiary);background:transparent;border:none;cursor:pointer;transition:color var(--transition-base)}.btn-cancel:hover{color:var(--text-primary)}button:disabled{opacity:.5;cursor:not-allowed}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.asset-designer{display:flex;height:calc(100vh - 80px);background:var(--bg-primary);overflow:hidden;position:relative;border-radius:var(--radius-lg);border:1px solid var(--border-color)}.designer-sidebar{width:272px;min-width:272px;background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;gap:0;overflow-y:auto;z-index:10;scrollbar-width:thin;scrollbar-color:var(--border-color) transparent}.bb-card{padding:14px 14px 10px;border-bottom:1px solid var(--border-color);flex-shrink:0}.bb-head{font-size:.68rem;font-weight:800;letter-spacing:.1em;color:var(--text-muted);margin-bottom:4px}.bb-hint{font-size:.72rem;color:var(--text-muted);opacity:.6;margin:0 0 10px}.bb-list{display:flex;flex-direction:column;gap:4px}.bb-row{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:var(--radius-sm);background:var(--bg-tertiary);border:1px solid transparent;transition:border-color .15s,background .15s}.bb-row:hover{border-color:var(--border-color);background:var(--bg-hover)}.bb-reorder{display:flex;flex-direction:column;gap:0;opacity:0;transition:opacity .15s}.bb-row:hover .bb-reorder{opacity:1}.bb-reorder button{background:none;border:none;padding:1px 2px;color:var(--text-muted);cursor:pointer;line-height:1;display:flex;align-items:center}.bb-reorder button:hover{color:var(--primary-400)}.bb-reorder button:disabled{opacity:.2;cursor:default}.bb-label{flex:1;font-size:.82rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bb-delete{background:none;border:none;padding:3px;color:var(--text-muted);cursor:pointer;opacity:0;transition:opacity .15s,color .15s;display:flex;align-items:center}.bb-row:hover .bb-delete{opacity:1}.bb-delete:hover{color:#ef4444}.bb-add{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;padding:2px 8px;font-size:.72rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all .15s;white-space:nowrap}.bb-add:hover{background:var(--primary-500);border-color:var(--primary-500);color:#fff}.bb-newtype{display:flex;align-items:center;gap:6px;margin-top:8px;width:100%;background:none;border:1px dashed var(--border-color);border-radius:var(--radius-sm);padding:6px 10px;font-size:.75rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all .15s}.bb-newtype:hover{border-color:var(--primary-400);color:var(--primary-400);background:var(--bg-hover)}.type-pill{border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;color:#ffffffeb;flex-shrink:0;border:1.5px solid rgba(0,0,0,.18);-webkit-user-select:none;user-select:none}.type-creator{margin-top:8px;padding:10px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm)}.property-group{margin-bottom:10px}.property-group label{display:block;font-size:.7rem;font-weight:600;color:var(--text-muted);margin-bottom:3px;text-transform:uppercase;letter-spacing:.05em}.property-group input,.property-group select,.type-creator input,.type-creator select{width:100%;background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);padding:6px 10px;border-radius:var(--radius-sm);font-size:.85rem}.property-group input:focus,.property-group select:focus,.type-creator input:focus{outline:none;border-color:var(--primary-400)}.inspector-card{padding:14px 14px 12px;flex:1;display:flex;flex-direction:column;gap:0;min-height:0}.inspector-head{font-size:.68rem;font-weight:800;letter-spacing:.1em;color:var(--text-muted);margin-bottom:10px}.inspector-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;padding:20px 0}.inspector-empty p{font-size:.85rem;color:var(--text-muted);margin:0}.inspector-hint{font-size:.75rem!important;opacity:.6}.inspector-id{display:flex;align-items:center;gap:10px;margin-bottom:12px;min-width:0}.inspector-name{font-size:.95rem;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inspector-type{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;opacity:.85;margin-top:1px}.inspector-fields{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.inspector-field label{display:block;font-size:.68rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px}.inspector-field input{width:100%;background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);padding:5px 9px;border-radius:var(--radius-sm);font-size:.85rem;transition:border-color .15s}.inspector-field input:focus{outline:none;border-color:var(--primary-400)}.inspector-static{font-size:.8rem;color:var(--text-muted);padding:4px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inspector-live-value{display:flex;align-items:baseline;gap:4px;padding:4px 0}.inspector-value-num{font-size:1.1rem;font-weight:700;color:var(--primary-400);font-family:JetBrains Mono,Fira Mono,monospace;letter-spacing:-.02em}.inspector-value-unit{font-size:.72rem;color:var(--text-muted)}.inspector-no-data{font-size:.78rem;color:var(--text-muted);opacity:.55;font-style:italic}.mono{font-family:JetBrains Mono,Fira Mono,monospace;font-size:.72rem!important}.inspector-rels{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.rel-block{display:flex;flex-direction:column;gap:5px}.rel-label{font-size:.65rem;font-weight:800;letter-spacing:.1em;color:var(--text-muted);text-transform:uppercase}.rel-label-row{display:flex;align-items:center;justify-content:space-between}.rel-toggle{background:none;border:none;font-size:.7rem;font-weight:600;color:var(--primary-400);cursor:pointer;padding:0;transition:color .15s}.rel-toggle:hover{color:var(--primary-300)}.rel-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px 4px 5px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:100px;font-size:.78rem;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .15s;text-align:left;max-width:100%}.rel-chip:hover{border-color:var(--primary-400);background:var(--bg-hover)}.rel-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px}.rel-arrow{color:var(--text-muted);font-size:1rem;line-height:1}.rel-chips{display:flex;flex-wrap:wrap;gap:4px}.rel-chip-sm{padding:3px 6px 3px 4px;font-size:.72rem}.rel-more{font-size:.72rem;color:var(--text-muted);padding:3px 4px;align-self:center}.inspector-actions{display:flex;flex-direction:column;gap:6px;margin-top:auto;padding-top:8px}.btn-action{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:7px 12px;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;cursor:pointer;border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-muted);transition:all .15s}.btn-action:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--text-muted)}.btn-primary-action{border-color:var(--primary-500);color:var(--primary-400);background:rgba(var(--primary-rgb, 59, 130, 246),.07)}.btn-primary-action:hover{background:var(--primary-500);color:#fff;border-color:var(--primary-500)}.btn-confirm{border-color:#22c55e;color:#22c55e;background:#22c55e12}.btn-confirm:hover{background:#22c55e;color:#fff;border-color:#22c55e}.btn-danger-action{border-color:#ef4444;color:#ef4444;background:#ef444412}.btn-danger-action:hover{background:#ef4444;color:#fff;border-color:#ef4444}.designer-canvas{flex:1;position:relative;overflow:hidden;background:var(--bg-primary)}.disc-node-wrapper{position:relative;display:flex;flex-direction:column;align-items:center;background:transparent;outline:none!important}.disc-circle{border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;border:2px solid rgba(0,0,0,.22);box-shadow:0 2px 8px #00000047,0 0 0 0 transparent;transition:box-shadow .18s,transform .18s;cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0}.disc-circle:hover{transform:scale(1.06);box-shadow:0 4px 14px #00000059}.disc-selected{box-shadow:0 0 0 3px #ffffffd9,0 4px 14px #0006!important}.disc-expanded{border-color:#ffffff80!important}.disc-short{font-size:inherit;font-weight:800;color:#ffffffe6;letter-spacing:.02em;pointer-events:none;line-height:1}.disc-badge{position:absolute;top:-2px;right:-2px;width:9px;height:9px;border-radius:50%;background:#f59e0b;border:1.5px solid var(--bg-primary)}.disc-status-dot{position:absolute;bottom:-1px;right:-1px;width:8px;height:8px;border-radius:50%;border:1.5px solid var(--bg-primary)}.disc-label{margin-top:5px;font-size:.72rem;font-weight:600;color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border-color);padding:1px 6px;border-radius:4px;white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis;text-align:center;pointer-events:none;opacity:.88}.disc-handle{width:8px!important;height:8px!important;background:var(--primary-400)!important;border:2px solid var(--bg-primary)!important;opacity:0;transition:opacity .2s,transform .2s}.disc-node-wrapper:hover .disc-handle{opacity:1}.disc-handle:hover{transform:scale(1.5)!important}.react-flow__node.selected>.disc-node-wrapper>.disc-circle,.react-flow__node-disc.selected .disc-circle{box-shadow:0 0 0 3px #ffffffd9,0 4px 14px #0006!important}.react-flow__node:focus,.react-flow__node.selected{outline:none!important}.react-flow__edge-path{stroke-width:1.5!important}.react-flow__controls{box-shadow:none!important}.react-flow__controls-button{background:var(--bg-secondary)!important;border:1px solid var(--border-color)!important;color:var(--text-primary)!important;border-bottom:none!important;fill:var(--text-primary)!important}.react-flow__controls-button:last-child{border-bottom:1px solid var(--border-color)!important}.statsbar{position:absolute;top:10px;left:10px;z-index:5;display:flex;align-items:center;gap:0;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:5px 10px;font-size:.7rem;color:var(--text-muted);gap:10px;pointer-events:none;box-shadow:0 2px 8px #0000001f}.stat{display:flex;flex-direction:column;align-items:center;gap:1px;line-height:1.2}.stat-num{font-size:.85rem;font-weight:700;color:var(--text-primary);line-height:1}.stat-muted .stat-num{color:var(--text-muted)}.stat-sep{width:1px;height:24px;background:var(--border-color);margin:0 2px}.graph-legend{position:absolute;bottom:48px;left:10px;z-index:5;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:8px 10px;pointer-events:auto;box-shadow:0 2px 8px #0000001f}.graph-legend-collapsed{display:flex;align-items:center;gap:6px;padding:6px 10px;font:inherit;font-size:.78rem;color:var(--text-secondary);cursor:pointer}.graph-legend-collapsed:hover{border-color:var(--border-color-hover)}.legend-close{position:absolute;top:5px;right:5px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;border-radius:4px;background:none;color:var(--text-tertiary);cursor:pointer}.legend-close:hover{background:var(--bg-hover);color:var(--text-primary)}.legend-title{font-size:.62rem;font-weight:800;letter-spacing:.1em;color:var(--text-muted);margin-bottom:6px;text-transform:uppercase}.legend-row{display:flex;align-items:center;gap:6px;font-size:.72rem;color:var(--text-muted);margin-bottom:3px}.legend-row:last-child{margin-bottom:0}.canvas-controls{position:absolute;bottom:10px;right:10px;z-index:5;display:flex;align-items:center;gap:2px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:4px 6px;box-shadow:0 2px 8px #0000001f}.canvas-controls button{background:none;border:none;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--text-muted);border-radius:4px;cursor:pointer;transition:all .15s}.canvas-controls button.canvas-controls-wide{width:auto;gap:6px;padding:0 10px;font-size:.78rem;font-weight:600;color:var(--text-secondary)}.canvas-controls button:hover{background:var(--bg-hover);color:var(--text-primary)}.canvas-controls-sep{width:1px;height:20px;background:var(--border-color);margin:0 2px}.popover-overlay{position:absolute;inset:0;z-index:1000;background:#0000001a;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.parent-selection-popover{position:absolute;left:276px;width:260px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:0 20px 25px -5px #00000080,0 10px 10px -5px #0006;display:flex;flex-direction:column;overflow:hidden;pointer-events:auto;z-index:1001}.popover-header{background:var(--bg-tertiary);padding:12px 16px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.popover-list{max-height:300px;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:4px}.popover-item{width:100%;display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-md);transition:all .2s ease;text-align:left;background:transparent;border:1px solid transparent;color:var(--text-primary);cursor:pointer}.popover-item:hover{background:var(--bg-hover);border-color:var(--border-color);transform:translate(4px)}.popover-item-icon{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);flex-shrink:0}.popover-arrow{position:absolute;left:-6px;top:20px;width:12px;height:12px;background:var(--bg-tertiary);border-left:1px solid var(--border-color);border-bottom:1px solid var(--border-color);transform:rotate(45deg)}.animate-popover-in{animation:popover-in .25s cubic-bezier(.16,1,.3,1)}@keyframes popover-in{0%{opacity:0;transform:translate(-12px) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}.disc-circle{border:2px solid rgba(20,16,10,.1);box-shadow:0 4px 14px #1f6f5c33}body[data-theme=dark] .disc-circle{border-color:#ffffff24;box-shadow:0 4px 14px #0006}.disc-circle:hover{box-shadow:0 6px 18px #1f6f5c4d}.disc-selected,.react-flow__node.selected>.disc-node-wrapper>.disc-circle,.react-flow__node-disc.selected .disc-circle{box-shadow:0 0 0 3px var(--primary-tint, #e4efea),0 6px 18px #1f6f5c52!important}body[data-theme=dark] .disc-selected{box-shadow:0 0 0 3px #4fb89c4d,0 6px 18px #00000073!important}.disc-expanded{border-color:#6366f173!important}.disc-short{font-family:IBM Plex Mono,ui-monospace,monospace;font-weight:700;color:#fff}body[data-theme=dark] .disc-short{color:#08090b}.disc-badge{background:var(--amber, #c1762a)}.disc-label{background:var(--bg-secondary);border-color:var(--border-color);border-radius:6px;font-weight:600;opacity:1}.inspector-value-num{font-family:var(--tg-font-ui, "Space Grotesk", system-ui, sans-serif);font-weight:600;color:var(--primary-400)}.mono{font-family:IBM Plex Mono,ui-monospace,monospace}.statsbar,.graph-legend,.canvas-controls{box-shadow:0 2px 8px #3c301e1a;border-radius:10px}body[data-theme=dark] .statsbar,body[data-theme=dark] .graph-legend,body[data-theme=dark] .canvas-controls{box-shadow:0 2px 8px #0006}.stat-num{font-family:var(--tg-font-ui, "Space Grotesk", system-ui, sans-serif);font-weight:600}.type-pill{border:1.5px solid rgba(20,16,10,.08)}body[data-theme=dark] .type-pill{border-color:#ffffff1f}.asset-designer{border-radius:18px}.hx-page{display:flex;flex-direction:column;gap:0;height:calc(100vh - 6rem)}.hx-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid var(--line)}.hx-head h2{font-family:var(--tg-font-ui, "Space Grotesk", system-ui, sans-serif);font-weight:500;letter-spacing:-.01em;font-size:30px;line-height:1.1;color:var(--ink);display:flex;align-items:center;gap:12px;margin:0}.hx-head .sub{color:var(--ink-2);font-size:14px;margin:6px 0 0}.hx-actions{display:flex;gap:14px;align-items:center}.hx-viewtoggle{display:inline-flex;align-items:center;gap:2px;background:var(--paper-2);border:1px solid var(--line);border-radius:999px;padding:3px}.hx-viewtoggle button{display:inline-flex;align-items:center;gap:7px;border:none;background:transparent;color:var(--ink-2);font-family:inherit;font-size:13px;font-weight:600;padding:7px 14px;border-radius:999px;cursor:pointer;transition:color .15s,background .15s}.hx-viewtoggle button:hover{color:var(--ink)}.hx-viewtoggle button.on{background:var(--paper);color:var(--teal-d);box-shadow:0 1px 3px #3c301e1a}body[data-theme=dark] .hx-viewtoggle button.on{box-shadow:0 1px 3px #0006}.hx-legend{display:flex;gap:16px;align-items:center}.hx-leg{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--ink-2)}.hx-maphint{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.04em;color:var(--ink-3)}.hx-pill{border-radius:8px;display:grid;place-items:center;flex:none;color:#fff}body[data-theme=dark] .hx-pill{color:#08090b}.hx-pill.loc{background:var(--t-loc)}.hx-pill.plt{background:var(--t-plt)}.hx-pill.mch{background:var(--t-mch)}.hx-pill.sen{background:var(--t-sen)}.hx-dot{width:8px;height:8px;border-radius:50%;flex:none}.hx-dot.ok{background:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 18%,transparent)}.hx-dot.warn{background:var(--warn)}.hx-dot.off{background:var(--off)}.hx-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;flex:1;min-height:0}.hx-col{background:var(--paper);border:1px solid var(--line);border-radius:16px;display:flex;flex-direction:column;overflow:hidden;transition:opacity .25s ease}.hx-col.disabled{opacity:.5;pointer-events:none}.hx-col-top{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line)}.hx-col-top .lab{display:flex;align-items:center;gap:9px;font-weight:700;font-size:13px;letter-spacing:.02em}.hx-col-top .cnt{font-size:11px;font-family:IBM Plex Mono,monospace;color:var(--ink-3)}.hx-col-top.loc .lab{color:var(--t-loc)}.hx-col-top.plt .lab{color:var(--t-plt)}.hx-col-top.mch .lab{color:var(--t-mch)}.hx-col-top.sen .lab{color:var(--t-sen)}.hx-col-actions{display:flex;align-items:center;gap:10px}.hx-col-add{width:26px;height:26px;border-radius:8px;border:1px solid var(--line);background:var(--bg);color:var(--ink-3);display:grid;place-items:center;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.hx-col-add:hover{color:var(--teal-d);border-color:var(--teal);background:var(--teal-tint)}.hx-col-body{padding:8px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.hx-item{display:flex;align-items:center;gap:10px;padding:11px;border-radius:10px;cursor:pointer;border:1px solid transparent;transition:background .15s,border-color .15s}.hx-item:hover{background:var(--paper-2)}.hx-item.sel{background:var(--teal-tint);border-color:color-mix(in srgb,var(--teal) 25%,transparent)}.hx-item .nm{font-weight:600;font-size:13.5px;color:var(--ink)}.hx-item.sel .nm{color:var(--teal-d)}.hx-item .d{font-size:11px;color:var(--ink-3);margin-top:1px}.hx-item .chev{margin-left:auto;color:var(--ink-3);display:grid;place-items:center;opacity:0;transition:opacity .15s,transform .15s}.hx-item:hover .chev,.hx-item.sel .chev{opacity:1}.hx-item.sel .chev{transform:translate(2px);color:var(--teal-d)}.hx-col-empty{flex:1;display:grid;place-items:center;color:var(--ink-3);font-size:13px;text-align:center;padding:20px}.hx-sensor-item{display:block;padding:12px;border:1px solid var(--line);border-radius:11px;margin-bottom:3px}.hx-sensor-item .top{display:flex;align-items:center;gap:9px}.hx-sensor-item .top .nm{font-weight:600;font-size:13px;color:var(--ink)}.hx-sensor-item .top .val{margin-left:auto;font-family:var(--tg-font-ui, "Space Grotesk", system-ui, sans-serif);font-weight:600;font-size:17px;color:var(--ink)}.hx-sensor-item .top .val .u{font-family:var(--tg-font-ui, "Space Grotesk", system-ui, sans-serif);font-size:10px;font-weight:600;color:var(--ink-3);margin-left:2px}.hx-sensor-item .det{display:flex;gap:14px;margin-top:9px;font-size:11px;color:var(--ink-3);font-family:IBM Plex Mono,monospace}.hx-map-wrap{flex:1;min-height:0;display:flex}.hx-map-wrap .asset-designer{flex:1;min-height:0;height:100%}@media(max-width:1024px){.hx-cols{grid-template-columns:repeat(2,1fr);height:auto}}.asset-scope-picker{display:flex;flex-direction:column;gap:var(--spacing-sm)}.asset-scope-picker.disabled{opacity:.6;pointer-events:none}.asp-mode{display:flex;gap:var(--spacing-sm)}.asp-mode-option{display:flex;align-items:center;gap:.4rem;flex:1;padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;font-size:.85rem;color:var(--text-secondary);background:var(--bg-secondary);transition:border-color .15s,color .15s,background .15s}.asp-mode-option.active{border-color:var(--accent);color:var(--text-primary);background:var(--accent-tint)}.asp-mode-option input{accent-color:var(--accent)}.asp-search{display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-secondary)}.asp-search input{flex:1;border:none;background:transparent;color:var(--text-primary);outline:none;font-size:.85rem}.asp-tree{max-height:240px;overflow-y:auto;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);padding:.25rem 0}.asp-row{display:flex;align-items:center;gap:.25rem;padding-right:.5rem;border-radius:var(--radius-sm)}.asp-row.selected{background:var(--accent-tint)}.asp-caret{display:inline-flex;align-items:center;justify-content:center;width:18px;height:22px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;flex-shrink:0}.asp-caret-spacer{width:14px;display:inline-block}.asp-label{display:flex;align-items:center;gap:.5rem;flex:1;padding:.3rem .4rem;border:none;background:transparent;color:var(--text-primary);cursor:pointer;text-align:left;font-size:.85rem;border-radius:var(--radius-sm)}.asp-label:disabled{cursor:default;color:var(--text-secondary);opacity:.7}.asp-row.selected .asp-label{color:var(--text-primary);font-weight:600}.asp-row:not(.not-selectable):hover .asp-label:not(:disabled){background:var(--bg-tertiary)}.asp-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asp-type{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:.05rem .35rem;flex-shrink:0}.asp-empty{padding:1rem;text-align:center;color:var(--text-secondary);font-size:.85rem}.asp-preview{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);padding:.6rem .75rem;display:flex;flex-direction:column;gap:.3rem}.asp-preview-empty{color:var(--text-secondary);font-size:.8rem;font-style:italic}.asp-preview-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.asp-preview-path{display:flex;align-items:center;flex-wrap:wrap;gap:.15rem;font-size:.9rem;color:var(--text-primary)}.asp-preview-sep{color:var(--text-secondary);vertical-align:middle;margin:0 .1rem}.asp-preview-leaf{font-weight:600;color:var(--accent)}.asp-preview-counts{font-size:.82rem;color:var(--text-secondary)}.asp-preview-note{font-size:.75rem;color:var(--text-secondary);font-style:italic}.user-management-container{padding:var(--spacing-lg)}.management-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.management-header h1{font-size:1.5rem;font-weight:700;display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:0}.header-actions{display:flex;align-items:center;gap:var(--spacing-md)}.role-filter-select{background-color:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:var(--radius-md);padding:.5rem .75rem}.add-btn{background:var(--gradient-primary);color:var(--accent-contrast);padding:.5rem 1rem;border-radius:var(--radius-md);display:flex;align-items:center;gap:.5rem;border:none;font-weight:600;cursor:pointer;transition:all var(--transition-base)}.add-btn:hover{transform:translateY(-1px);opacity:.9}.table-container{background:var(--surface-raised-bg);border:1px solid var(--surface-raised-border);border-radius:var(--radius-lg);padding:var(--spacing-md);overflow-x:auto;box-shadow:var(--surface-raised-shadow-soft),var(--surface-inset-highlight);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.management-table{width:100%;border-collapse:collapse}.management-table th{text-align:left;padding:var(--spacing-md);border-bottom:1px solid var(--border-color);color:var(--text-tertiary);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.management-table td{padding:var(--spacing-md);border-bottom:1px solid var(--border-color);font-size:.875rem}.management-table tr:hover{background-color:var(--bg-hover)}.role-badge{padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}.role-badge.master{background-color:#9333ea33;color:#d8b4fe}.role-badge.tenant{background-color:#10b98133;color:#6ee7b7}.quota-text{font-size:.875rem;color:var(--text-tertiary)}.action-icon-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:.25rem;transition:color var(--transition-fast)}.action-icon-btn:hover.edit{color:var(--status-info)}.action-icon-btn:hover.delete{color:var(--status-error)}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;padding:var(--spacing-md)}.modal-content{background:var(--surface-raised-bg);border:1px solid var(--surface-raised-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);width:100%;max-width:32rem;max-height:90vh;overflow-y:auto;box-shadow:var(--surface-raised-shadow),var(--surface-inset-highlight);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.modal-title{font-size:1.25rem;font-weight:700;margin-bottom:var(--spacing-lg)}.form-group{margin-bottom:var(--spacing-md)}.form-label{display:block;font-size:.875rem;color:var(--text-secondary);margin-bottom:.25rem}.form-input,.form-select,.form-textarea{width:100%}.form-help{font-size:.75rem;color:var(--status-info);margin-top:.25rem;display:flex;align-items:center;gap:.25rem}.quota-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);border-top:1px solid var(--border-color);padding-top:var(--spacing-md);margin-top:var(--spacing-md)}.quota-item label{display:block;font-size:.75rem;color:var(--text-tertiary);margin-bottom:.25rem}.permissions-section{border-top:1px solid var(--border-color);padding-top:var(--spacing-md);margin-top:var(--spacing-md)}.permissions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.permissions-header h3{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:0}.inherited-badge{font-size:.625rem;background-color:var(--accent-tint);color:var(--accent-strong);padding:.125rem .5rem;border-radius:999px;border:1px solid rgba(var(--primary-rgb),.3);display:flex;align-items:center;gap:.25rem}.permission-list{display:flex;flex-direction:column;gap:.5rem}.permission-item{display:flex;align-items:center;gap:.5rem;cursor:pointer}.permission-label{font-size:.875rem;color:var(--text-secondary)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-xl);border-top:1px solid var(--border-color);padding-top:var(--spacing-md)}.cancel-btn{background:transparent;border:none;color:var(--text-primary);padding:.5rem 1rem;border-radius:var(--radius-md);cursor:pointer}.cancel-btn:hover{background-color:var(--bg-hover)}.save-btn{background:var(--gradient-primary);color:var(--accent-contrast);padding:.5rem 1rem;border-radius:var(--radius-md);border:none;font-weight:600;cursor:pointer}.save-btn:hover{opacity:.9}.role-management-container{padding:var(--spacing-lg)}.role-page-subtitle{margin-top:.5rem;color:var(--text-secondary);max-width:54rem}.role-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-md)}.role-card{background:var(--surface-raised-bg);border:1px solid var(--surface-raised-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:border-color var(--transition-base),box-shadow var(--transition-base);box-shadow:var(--surface-raised-shadow-soft),var(--surface-inset-highlight);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.role-card:hover{border-color:rgba(var(--primary-rgb),.5);box-shadow:var(--shadow-md)}.role-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-md)}.role-name{font-size:1.125rem;font-weight:600;display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.role-description{font-size:.875rem;color:var(--text-secondary)}.scope-badge{font-size:.625rem;background-color:var(--accent-tint);color:var(--accent-strong);padding:.125rem .375rem;border-radius:var(--radius-sm);border:1px solid rgba(var(--primary-rgb),.2)}.role-summary-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:var(--spacing-sm)}.role-summary-pill{font-size:.72rem;color:var(--text-secondary);background:var(--surface-raised-bg-soft);border:1px solid var(--surface-raised-border);border-radius:999px;padding:.25rem .55rem}.permissions-tag-container{margin-top:var(--spacing-md);padding-top:var(--spacing-sm);border-top:1px solid var(--border-color)}.permissions-label{font-size:.75rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-sm)}.permissions-tags{display:flex;flex-wrap:wrap;gap:.5rem}.perm-tag{font-size:.75rem;background:var(--surface-raised-bg-soft);color:var(--text-secondary);padding:.25rem .5rem;border-radius:var(--radius-sm);border:1px solid var(--surface-raised-border)}.more-tags{font-size:.75rem;color:var(--text-tertiary);background-color:var(--bg-hover);padding:.25rem .5rem;border-radius:var(--radius-sm)}.empty-state{grid-column:1 / -1;padding:var(--spacing-2xl) var(--spacing-md);text-align:center;background-color:rgba(var(--bg-secondary-rgb),.5);border:2px dashed var(--border-color);border-radius:var(--radius-xl);color:var(--text-tertiary)}.empty-icon{margin-bottom:var(--spacing-md);opacity:.2}.role-modal-content{width:min(980px,calc(100vw - 2rem))}.role-description-input{height:5rem;resize:none}.permissions-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:var(--spacing-md)}.permissions-toolbar-copy{margin-top:.25rem;color:var(--text-secondary);font-size:.875rem}.permission-search-shell{display:inline-flex;align-items:center;gap:.5rem;min-width:260px;padding:.7rem .85rem;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--surface-raised-bg-soft);color:var(--text-secondary)}.permission-search-input{width:100%;background:transparent;border:none;outline:none;color:var(--text-primary);font:inherit}.role-selection-tags{margin-bottom:var(--spacing-md)}.perm-list-scroll{max-height:28rem;overflow-y:auto;padding-right:var(--spacing-sm)}.permission-section-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.permission-section-card{border:1px solid var(--surface-raised-border);background:var(--surface-raised-bg-soft);border-radius:var(--radius-lg);padding:var(--spacing-md)}.permission-section-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:var(--spacing-md)}.permission-section-header h4{margin:0;font-size:1rem;font-weight:600}.permission-section-header p{margin:.35rem 0 0;color:var(--text-secondary);font-size:.875rem}.permission-section-actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.permission-count-pill{font-size:.75rem;color:var(--text-secondary);background:var(--accent-tint);border:1px solid rgba(var(--primary-rgb),.18);border-radius:999px;padding:.25rem .55rem}.permission-toggle-btn{background:transparent;border:none;color:var(--accent);font:inherit;cursor:pointer;padding:0}.permission-option-list{display:flex;flex-direction:column;gap:.65rem}.perm-checkbox-item{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-sm);border-radius:var(--radius-md);cursor:pointer;border:1px solid transparent;transition:all var(--transition-fast)}.perm-checkbox-item:hover{background-color:var(--bg-hover);border-color:var(--border-color)}.permission-option-card.selected{border-color:rgba(var(--primary-rgb),.4);background:var(--accent-tint)}.permission-option-card.disabled{cursor:not-allowed;opacity:.55}.permission-option-card.disabled:hover{background:transparent;border-color:transparent}.custom-checkbox{width:1.25rem;height:1.25rem;border-radius:var(--radius-sm);border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.custom-checkbox.checked{background-color:var(--status-info);border-color:var(--status-info)}.permission-option-copy{min-width:0;display:flex;flex-direction:column;gap:.25rem}.permission-option-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.permission-option-description{margin:0;color:var(--text-secondary);font-size:.84rem}.permission-option-id{display:inline-block;width:fit-content;margin-top:.1rem;color:var(--text-tertiary);background:#ffffff0a;border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:.15rem .35rem;font-size:.75rem}.permission-tier-badge{font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:.18rem .45rem;border:1px solid transparent}.permission-tier-badge.base{color:var(--accent);background:var(--accent-tint);border-color:rgba(var(--primary-rgb),.22)}.permission-tier-badge.advanced{color:#f59e0b;background:#f59e0b1f;border-color:#f59e0b38}.permission-empty-state{padding:var(--spacing-lg)}@media(max-width:900px){.permissions-toolbar,.permission-section-header{flex-direction:column}.permission-search-shell{width:100%;min-width:0}}.alarms-page{--alarm-ink: #0f172a;--alarm-muted: #526077;--alarm-soft: #7a879b;--alarm-line: rgba(148, 163, 184, .18);--alarm-line-strong: rgba(148, 163, 184, .28);--alarm-surface: rgba(255, 255, 255, .82);--alarm-surface-solid: #ffffff;--alarm-surface-soft: rgba(248, 250, 252, .92);--alarm-shadow: 0 24px 60px rgba(15, 23, 42, .08);--alarm-shadow-soft: 0 14px 34px rgba(15, 23, 42, .05);display:flex;flex-direction:column;gap:1.5rem;padding-bottom:1.25rem}.alarms-hero{position:relative;display:grid;grid-template-columns:1.18fr 1fr;gap:1.5rem;padding:2.2rem;border:1px solid rgba(255,255,255,.72);border-radius:34px;background:linear-gradient(135deg,#fffffff7,#f4f7fbeb),radial-gradient(circle at top right,rgba(251,146,60,.12),transparent 30%),radial-gradient(circle at bottom left,rgba(71,85,105,.08),transparent 32%);box-shadow:0 34px 80px #0f172a14,inset 0 1px #ffffffeb;overflow:hidden}.alarms-hero:after{content:"";position:absolute;inset:auto -8% -28% auto;width:320px;height:320px;border-radius:999px;background:radial-gradient(circle,rgba(30,41,59,.08),transparent 68%);pointer-events:none}.alarms-kicker{margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;color:#ea580c;font-weight:700}.alarms-hero h1{margin:0;font-size:clamp(2.6rem,4.1vw,3.9rem);line-height:.94;letter-spacing:-.055em;color:var(--alarm-ink)}.alarms-subtitle{max-width:37rem;margin:1rem 0 0;color:var(--alarm-muted);font-size:1.03rem;line-height:1.7}.alarm-stat-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.stat-card,.card-shell{border:1px solid rgba(255,255,255,.78);border-radius:30px;background:linear-gradient(180deg,#fffffff2,#f6f8fbe6);box-shadow:var(--alarm-shadow),inset 0 1px #fffffff0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.stat-card{display:flex;align-items:center;gap:1rem;min-height:142px;padding:1.2rem 1.15rem}.stat-card p,.detail-item span,.panel-header p,.alarm-row p,.rule-row p,.muted-copy,.rule-editor-header p,.form-grid small{color:var(--alarm-muted);margin:0}.stat-card strong{display:block;margin-top:.3rem;font-size:2.2rem;line-height:1;letter-spacing:-.05em;color:var(--alarm-ink)}.stat-card.danger .stat-icon,.severity-chip.critical,.severity-chip.high{background:#ef44441c;color:#dc2626}.stat-card.info .stat-icon,.severity-chip.medium{background:#3b82f61f;color:#2563eb}.stat-card.warning .stat-icon,.severity-chip.low{background:#f59e0b21;color:#d97706}.stat-card.neutral .stat-icon{background:#1e293b14;color:var(--alarm-ink)}.stat-icon{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;box-shadow:inset 0 1px #ffffffb3}.alarm-toolbar,.rules-panel,.alarm-list-panel,.alarm-detail-panel{padding:1.25rem}.alarm-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-radius:28px}.filter-stack{display:flex;flex-direction:column;gap:.7rem;flex:1}.toolbar-label{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--alarm-soft);font-weight:700}.filter-row,.detail-actions{display:flex;gap:.75rem;flex-wrap:wrap}.filter-row>*{flex:1 1 180px}.alarm-toolbar select,.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid var(--alarm-line);background:linear-gradient(180deg,#f8fafcf5,#fffffffa);color:var(--alarm-ink);border-radius:16px;padding:.9rem 1rem;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.alarm-toolbar select:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:none;border-color:#47556957;box-shadow:0 0 0 4px #94a3b81f}.form-grid textarea{min-height:110px;resize:vertical}.primary-btn,.secondary-btn{border:0;border-radius:999px;padding:.84rem 1.24rem;font-weight:700;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}.primary-btn:hover,.secondary-btn:hover,.alarm-row:hover,.rule-row:hover{transform:translateY(-1px)}.primary-btn{background:linear-gradient(135deg,#111827,#334155);color:#fff;box-shadow:0 18px 32px #0f172a2e}.primary-btn:disabled,.secondary-btn:disabled{opacity:.65;cursor:not-allowed;transform:none;box-shadow:none}.secondary-btn{background:#f8fafcf0;color:var(--alarm-ink);border:1px solid var(--alarm-line);display:inline-flex;align-items:center;gap:.5rem;box-shadow:var(--alarm-shadow-soft)}.alarms-grid{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(340px,1.1fr);gap:1.3rem}.panel-header,.rule-editor-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.1rem}.panel-header h2,.rule-editor-header h3,.alarm-detail h3,.timeline h4{margin:0;color:var(--alarm-ink);letter-spacing:-.04em}.panel-header h2{font-size:2rem}.rule-editor-header h3{font-size:2.2rem}.rule-editor-header p{max-width:24rem;text-align:right;line-height:1.6}.alarm-list,.rule-list,.timeline{display:flex;flex-direction:column;gap:.85rem}.alarm-row,.rule-row,.timeline-item{width:100%;border:1px solid var(--alarm-line);background:linear-gradient(180deg,#ffffffe0,#f7f9fcf2);border-radius:22px;padding:1rem 1.05rem;text-align:left;box-shadow:inset 0 1px #ffffffb8}.alarm-row,.rule-row{cursor:pointer}.alarm-row.selected{border-color:#47556959;background:linear-gradient(180deg,#fffffff7,#f1f5f9f0);box-shadow:0 18px 36px #0f172a14,inset 0 0 0 1px #4755691f}.alarm-row,.alarm-row-top,.timeline-item{display:flex;justify-content:space-between;gap:1rem}.alarm-row{align-items:center}.alarm-row strong,.rule-row strong,.detail-item strong,.timeline-item strong{color:var(--alarm-ink)}.alarm-row-top{align-items:center;margin-bottom:.38rem}.alarm-row-side{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.alarm-row-arrow{color:var(--alarm-soft)}.badge,.severity-chip{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.34rem .72rem;font-size:.73rem;font-weight:700;letter-spacing:.02em}.badge.active{background:#ef44441f;color:#dc2626}.badge.acknowledged{background:#3b82f61f;color:#2563eb}.badge.resolved{background:#22c55e1f;color:#16a34a}.detail-hero{display:flex;justify-content:space-between;gap:1rem;margin-bottom:1.1rem;padding:1.15rem;border:1px solid var(--alarm-line);border-radius:24px;background:linear-gradient(180deg,#ffffffe0,#f5f7faf0)}.detail-hero h3{margin-top:.8rem;margin-bottom:.35rem;font-size:1.65rem}.detail-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-bottom:1rem}.detail-item{border:1px solid var(--alarm-line);border-radius:18px;padding:.95rem;background:linear-gradient(180deg,#f8fafcf5,#fffffffa);display:flex;flex-direction:column;gap:.4rem}.detail-item span{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--alarm-soft);font-weight:700}.panel-count{min-width:2.5rem;height:2.5rem;border-radius:999px;display:grid;place-items:center;background:#f8fafcf2;color:var(--alarm-ink);font-weight:700;border:1px solid var(--alarm-line);box-shadow:inset 0 1px #ffffffc2}.timeline h4{margin-bottom:.35rem;font-size:1rem;text-transform:uppercase;letter-spacing:.12em;color:var(--alarm-soft)}.timeline-item{align-items:flex-start}.timeline-item span{color:var(--alarm-soft);white-space:nowrap}.rules-layout{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(360px,1.15fr);gap:1rem}.rule-row{display:flex;justify-content:space-between;align-items:center;gap:1rem}.rule-editor{border:1px solid var(--alarm-line);border-radius:28px;background:linear-gradient(180deg,#ffffffe6,#f6f8fbf0);padding:1.2rem;box-shadow:inset 0 1px #ffffffc7}.rule-pill-row{display:flex;gap:.55rem;flex-wrap:wrap;margin-bottom:1.1rem}.rule-pill{display:inline-flex;align-items:center;padding:.38rem .76rem;border-radius:999px;background:#f8fafceb;border:1px solid var(--alarm-line);color:var(--alarm-muted);font-size:.77rem;font-weight:700}.rule-pill.active{background:#11182714;border-color:#11182724;color:#111827}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.95rem;margin-bottom:1rem}.form-grid label{display:flex;flex-direction:column;gap:.48rem;color:var(--alarm-muted);font-weight:600}.form-grid small{font-size:.78rem;line-height:1.5}.full-span{grid-column:1 / -1}.toggle-row{align-items:flex-start}.toggle-row input{width:18px;height:18px;margin-top:.2rem}.empty-state{min-height:230px;display:grid;place-items:center;text-align:center;color:var(--alarm-muted);border:1px dashed var(--alarm-line-strong);border-radius:24px;background:linear-gradient(180deg,#f8fafcc7,#ffffffd1);padding:1.25rem}.rule-validation-banner{margin-bottom:1rem;padding:.95rem 1rem;border-radius:18px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.22);color:#b45309;font-weight:700}[data-theme=dark] .alarms-page{--alarm-ink: var(--text-primary);--alarm-muted: var(--text-secondary);--alarm-soft: var(--text-tertiary);--alarm-line: rgba(255, 255, 255, .1);--alarm-line-strong: rgba(255, 255, 255, .18);--alarm-surface: rgba(26, 32, 44, .9);--alarm-surface-solid: var(--bg-secondary);--alarm-surface-soft: rgba(45, 55, 72, .88);--alarm-shadow: 0 24px 60px rgba(0, 0, 0, .28);--alarm-shadow-soft: 0 14px 34px rgba(0, 0, 0, .22)}[data-theme=dark] .alarms-hero{border-color:#ffffff14;background:linear-gradient(135deg,#1a202cfa,#111827f5),radial-gradient(circle at top right,var(--amber-tint),transparent 30%),radial-gradient(circle at bottom left,rgba(var(--primary-rgb),.12),transparent 32%);box-shadow:0 34px 80px #0000004d,inset 0 1px #ffffff0a}[data-theme=dark] .alarms-hero:after{background:radial-gradient(circle,rgba(148,163,184,.12),transparent 68%)}[data-theme=dark] .alarms-kicker{color:#fb923c}[data-theme=dark] .stat-card,[data-theme=dark] .card-shell,[data-theme=dark] .rule-editor,[data-theme=dark] .alarm-row,[data-theme=dark] .rule-row,[data-theme=dark] .timeline-item,[data-theme=dark] .detail-hero,[data-theme=dark] .detail-item,[data-theme=dark] .empty-state{border-color:#ffffff14;background:linear-gradient(180deg,#2d3748f5,#1a202cf5);box-shadow:var(--alarm-shadow-soft),inset 0 1px #ffffff0a}[data-theme=dark] .alarm-toolbar select,[data-theme=dark] .form-grid input,[data-theme=dark] .form-grid select,[data-theme=dark] .form-grid textarea,[data-theme=dark] .secondary-btn,[data-theme=dark] .panel-count,[data-theme=dark] .rule-pill{background:linear-gradient(180deg,#2d3748f0,#1a202cfa);color:var(--alarm-ink);border-color:#ffffff1a}[data-theme=dark] .alarm-row.selected{border-color:#60a5fa5c;background:linear-gradient(180deg,#334155fa,#1e293bfa);box-shadow:0 18px 36px #00000047,inset 0 0 0 1px #60a5fa29}[data-theme=dark] .primary-btn{background:linear-gradient(135deg,#e2e8f0,#94a3b8);color:#0f172a;box-shadow:0 18px 32px #00000038}[data-theme=dark] .badge.active{background:#f8717129;color:#fca5a5}[data-theme=dark] .badge.acknowledged{background:#60a5fa2e;color:#93c5fd}[data-theme=dark] .badge.resolved{background:#4ade8029;color:#86efac}[data-theme=dark] .stat-card.danger .stat-icon,[data-theme=dark] .severity-chip.critical,[data-theme=dark] .severity-chip.high{background:#f871712e;color:#fca5a5}[data-theme=dark] .stat-card.info .stat-icon,[data-theme=dark] .severity-chip.medium{background:#60a5fa2e;color:#93c5fd}[data-theme=dark] .stat-card.warning .stat-icon,[data-theme=dark] .severity-chip.low{background:#fbbf242e;color:#fcd34d}[data-theme=dark] .stat-card.neutral .stat-icon{background:#94a3b829;color:var(--alarm-ink)}[data-theme=dark] .rule-pill.active{background:#60a5fa24;border-color:#60a5fa38;color:#bfdbfe}[data-theme=dark] .rule-validation-banner{background:#f59e0b24;border-color:#f59e0b47;color:#fbbf24}@media(max-width:1080px){.alarms-hero,.alarms-grid,.rules-layout{grid-template-columns:1fr}.rule-editor-header{flex-direction:column}.rule-editor-header p{text-align:left;max-width:none}}@media(max-width:720px){.alarms-page{gap:1rem}.alarms-hero,.card-shell,.rule-editor{border-radius:24px}.alarms-hero{padding:1.4rem}.alarm-stat-grid,.detail-meta,.form-grid{grid-template-columns:1fr}.alarm-toolbar,.detail-hero,.timeline-item,.rule-row{flex-direction:column}.alarm-row{align-items:flex-start}.alarm-row-side,.panel-count{align-self:flex-start}}body[data-theme=light] .alarms-page{--alarm-ink: #0b0c0e;--alarm-muted: #6b7280;--alarm-soft: #9aa0ab;--alarm-line: #e6e8ec;--alarm-line-strong: #d8dbe2;--alarm-surface: #ffffff;--alarm-surface-solid: #ffffff;--alarm-surface-soft: #eef0f4;--alarm-shadow: 0 16px 40px rgba(30, 40, 80, .1);--alarm-shadow-soft: 0 8px 22px rgba(30, 40, 80, .06)}body[data-theme=dark] .alarms-page{--alarm-ink: #e7e9ee;--alarm-muted: #8a8f9a;--alarm-soft: #6f7480;--alarm-line: #23252b;--alarm-line-strong: rgba(99, 102, 241, .28);--alarm-surface: rgba(20, 21, 24, .88);--alarm-surface-solid: #141518;--alarm-surface-soft: rgba(29, 31, 37, .92);--alarm-shadow: 0 24px 60px rgba(0, 0, 0, .34);--alarm-shadow-soft: 0 14px 34px rgba(0, 0, 0, .24)}body[data-theme=light] .alarms-hero,body[data-theme=dark] .alarms-hero{border-color:var(--alarm-line);background:linear-gradient(135deg,var(--alarm-surface),var(--alarm-surface-soft)),radial-gradient(circle at top right,var(--amber-tint),transparent 30%),radial-gradient(circle at bottom left,rgba(var(--primary-rgb),.12),transparent 32%);box-shadow:var(--alarm-shadow),var(--surface-inset-highlight)}body[data-theme=light] .alarms-hero:after,body[data-theme=dark] .alarms-hero:after{background:radial-gradient(circle,rgba(var(--primary-rgb),.12),transparent 68%)}body[data-theme=light] .alarms-kicker,body[data-theme=dark] .alarms-kicker{color:var(--accent)}body[data-theme=light] .primary-btn,body[data-theme=dark] .primary-btn{background:var(--gradient-primary);color:var(--accent-contrast);box-shadow:0 14px 30px rgba(var(--primary-rgb),.22)}body[data-theme=light] .alarm-toolbar select:focus,body[data-theme=light] .form-grid input:focus,body[data-theme=light] .form-grid select:focus,body[data-theme=light] .form-grid textarea:focus,body[data-theme=dark] .alarm-toolbar select:focus,body[data-theme=dark] .form-grid input:focus,body[data-theme=dark] .form-grid select:focus,body[data-theme=dark] .form-grid textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(var(--primary-rgb),.14)}body[data-theme=light] .alarm-row.selected,body[data-theme=dark] .alarm-row.selected{border-color:rgba(var(--primary-rgb),.36);background:linear-gradient(180deg,var(--alarm-surface-solid),var(--alarm-surface-soft));box-shadow:0 18px 36px rgba(var(--primary-rgb),.1),inset 0 0 0 1px rgba(var(--primary-rgb),.14)}body[data-theme=light] .rule-pill.active,body[data-theme=dark] .rule-pill.active{background:var(--accent-tint);border-color:rgba(var(--primary-rgb),.22);color:var(--accent-strong)}body[data-theme=light] .badge.acknowledged,body[data-theme=dark] .badge.acknowledged,body[data-theme=light] .stat-card.info .stat-icon,body[data-theme=light] .severity-chip.medium,body[data-theme=dark] .stat-card.info .stat-icon,body[data-theme=dark] .severity-chip.medium{background:var(--accent-tint);color:var(--accent-strong)}.badge.shelved{background:#f59e0b24;color:#b45309}[data-theme=dark] .badge.shelved{background:#f59e0b38;color:#fbbf24}.rule-badges{display:inline-flex;align-items:center;gap:.45rem;flex-shrink:0}.comment-composer{display:flex;flex-direction:column;gap:.6rem;margin-top:.35rem}.comment-composer textarea{min-height:4.2rem;resize:vertical}.comment-composer .secondary-btn{align-self:flex-end}.shelve-panel{display:flex;flex-direction:column;gap:.7rem;border:1px solid var(--alarm-line);border-radius:22px;padding:1rem 1.05rem;margin-bottom:1rem}.shelve-status{display:flex;align-items:flex-start;gap:.6rem}.shelve-status svg{flex-shrink:0;margin-top:.2rem;color:#b45309}.shelve-controls{display:flex;flex-wrap:wrap;gap:.6rem}.shelve-controls input{flex:1 1 12rem}.shelve-panel .secondary-btn{align-self:flex-start}.field-invalid{border-color:var(--status-error)!important}.field-error{margin-top:.3rem;font-size:.75rem;color:var(--status-error)}.pdf-designer-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000b3;z-index:9999;display:flex;justify-content:center;align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.pdf-designer-modal{width:95vw;height:90vh;background:var(--bg-secondary, #1e1e2d);border-radius:12px;display:flex;flex-direction:column;overflow:hidden;color:var(--text-primary, #fff);border:1px solid var(--border-color, #333)}.pdf-designer-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:var(--bg-tertiary, #151521);border-bottom:1px solid var(--border-color, #333)}.pdf-actions{display:flex;gap:12px}.pdf-actions .secondary-btn{background:var(--bg-secondary, #1e1e2d);color:var(--text-primary, #fff);border:1px solid var(--border-color, #333);padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.pdf-actions .secondary-btn:hover{background:var(--bg-elevated, #2d3748);border-color:var(--text-secondary, #a0a0b0)}.pdf-actions .primary-btn{background:var(--brand-color, #3b82f6);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 6px #0000001a}.pdf-actions .primary-btn:hover{opacity:.9;transform:translateY(-1px)}.btn-sm{padding:.4rem .8rem!important;font-size:.8rem!important}.pdf-designer-body{display:flex;flex:1;overflow:hidden}.pdf-sidebar{width:250px;background:var(--bg-tertiary, #151521);border-right:1px solid var(--border-color, #333);padding:1.5rem;overflow-y:auto}.pdf-sidebar.properties{border-right:none;border-left:1px solid var(--border-color, #333)}.pdf-sidebar h3{font-size:14px;margin-bottom:1.5rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #a0a0b0)}.tool-grid{display:flex;flex-direction:column;gap:8px}.tool-btn{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-secondary, #1e1e2d);border:1px solid var(--border-color, #333);color:var(--text-primary, #fff);border-radius:6px;cursor:pointer;transition:all .2s}.tool-btn:hover:not(:disabled){background:var(--brand-color, #3b82f6);border-color:var(--brand-color, #3b82f6)}.tool-btn:disabled{opacity:.5;cursor:not-allowed}.pdf-canvas-container{flex:1;background:#0f0f16;display:flex;justify-content:center;align-items:flex-start;padding:2rem;overflow:auto}.pdf-canvas{background:#fff;box-shadow:0 10px 30px #00000080;position:relative;color:#000}.pdf-element{background:#0000000d;display:flex;align-items:center;justify-content:center}.pdf-element:hover{outline:1px solid rgba(59,130,246,.5)}.pdf-element.selected{z-index:100}.pdf-var{color:#4a5568;background:#edf2f7;padding:2px 6px;border-radius:4px;border:1px dashed #cbd5e0}.pdf-placeholder{display:flex;flex-direction:column;align-items:center;color:#a0aec0;gap:4px}.pdf-datablock{width:100%;height:100%;border:2px solid #2d3748;display:flex;flex-direction:column}.db-header{display:flex;background:#e2e8f0;border-bottom:2px solid #2d3748}.db-body{flex:1;display:flex;align-items:center;justify-content:center;color:#718096;font-style:italic;background:repeating-linear-gradient(45deg,#f7fafc,#f7fafc 10px,#edf2f7 10px 20px)}.prop-row{display:flex;gap:8px;margin-bottom:8px}.prop-group{display:flex;flex-direction:column;gap:4px;flex:1}.prop-group label{font-size:11px;color:var(--text-secondary, #a0a0b0);text-transform:uppercase}.prop-group input,.prop-group select,.prop-group textarea{background:var(--bg-secondary, #1e1e2d);border:1px solid var(--border-color, #333);color:var(--text-primary, #fff);padding:6px 8px;border-radius:4px;font-size:12px}.prop-group input[readonly],.prop-group textarea[readonly]{opacity:.7;background:var(--bg-tertiary, #111)}.reports-page{padding:2rem;max-width:1200px;margin:0 auto}.reports-hero{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.reports-hero h2{font-size:1.75rem;font-weight:700;margin-bottom:.25rem;color:var(--text-primary)}.reports-kicker{font-size:.8rem;text-transform:uppercase;letter-spacing:1px;color:var(--brand-color);font-weight:600}.reports-subtitle{color:var(--text-secondary)}.reports-grid{min-height:400px;padding:1.5rem}.config-list{display:flex;flex-direction:column;gap:1rem}.config-row{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;transition:all .2s}.config-row:hover{border-color:var(--brand-color);transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.config-info{display:flex;flex-direction:column}.config-info strong{font-size:1.1rem;margin-bottom:.25rem}.config-info span{font-size:.85rem;color:var(--text-secondary)}.config-actions{display:flex;gap:.75rem;align-items:center}.run-btn{background:#10b981;color:#fff}.run-btn:hover:not(:disabled){background:#059669}.drawer-overlay{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;justify-content:flex-end;animation:fadeIn .3s ease}.drawer-overlay.closing{animation:fadeOut .3s ease forwards}.drawer-panel{width:600px;max-width:100vw;background:var(--bg-primary);height:100vh;box-shadow:-4px 0 24px #0003;display:flex;flex-direction:column;animation:slideInRight .3s cubic-bezier(.16,1,.3,1);border-left:1px solid var(--border-color)}.drawer-panel.closing{animation:slideOutRight .3s cubic-bezier(.16,1,.3,1) forwards}.drawer-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.drawer-header h2{font-size:1.4rem;color:var(--text-primary);margin-bottom:.2rem}.drawer-header .subtitle{font-size:.85rem;color:var(--text-secondary)}.drawer-body{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.config-section-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;display:flex;overflow:hidden;flex-shrink:0}.section-badge{background:rgba(var(--brand-rgb),.1);color:var(--brand-color);width:48px;flex-shrink:0;display:flex;align-items:flex-start;justify-content:center;padding-top:1.25rem;font-size:1.2rem;font-weight:700;border-right:1px solid var(--border-color)}.section-content{flex:1;padding:1.25rem}.section-content h3{margin-top:0;margin-bottom:1rem;font-size:1.1rem;color:var(--text-primary)}.drawer-footer{padding:1.25rem 1.5rem;border-top:1px solid var(--border-color);background:var(--bg-secondary);display:flex;justify-content:flex-end;gap:1rem}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideOutRight{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.report-builder{max-width:600px;width:95%}.generate-modal{max-width:500px}.radio-group{display:flex;gap:1rem}.radio-card{flex:1;border:1px solid var(--border-color);padding:1rem;border-radius:8px;cursor:pointer;display:flex;align-items:flex-start;gap:.75rem;transition:all .2s}.radio-card input{margin-top:.2rem}.radio-card.active{border-color:var(--brand-color);background:rgba(var(--brand-rgb),.05)}.radio-card.mini{padding:.75rem;align-items:center}.radio-card.mini input{margin-top:0}.sensor-picker{margin-bottom:1.5rem;border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.picker-header{background:var(--bg-secondary);padding:.75rem 1rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color)}.picker-header label{margin-bottom:0}.sensor-list{max-height:200px;overflow-y:auto}.sensor-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;cursor:pointer;border-bottom:1px solid var(--border-color)}.sensor-item:last-child{border-bottom:none}.sensor-item:hover{background:var(--bg-secondary)}.sensor-item small{color:var(--text-secondary);margin-left:.25rem}.custom-template-box{margin-top:1rem;padding:1rem;background:rgba(var(--brand-rgb),.03);border:1px dashed var(--brand-color);border-radius:8px}.upload-zone{position:relative;padding:1.5rem;border:1px dashed var(--text-secondary);border-radius:8px;text-align:center;cursor:pointer;background:var(--bg-primary);transition:all .2s}.upload-zone:hover{border-color:var(--brand-color)}.upload-zone input{position:absolute;inset:0;opacity:0;cursor:pointer}.upload-content{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--text-secondary)}.mt-divider{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.input-with-icon{position:relative}.input-with-icon svg{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--text-secondary)}.input-with-icon input{padding-left:2.5rem}.secondary-btn{background:var(--bg-tertiary, #2d3748);color:var(--text-primary, #fff);border:1px solid var(--border-color, #333);padding:.6rem 1.25rem;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center}.secondary-btn:hover:not(:disabled){background:var(--bg-elevated, #3a4454);border-color:var(--text-secondary, #94a3b8);transform:translateY(-1px)}.secondary-btn:disabled{opacity:.5;cursor:not-allowed}.primary-btn{background:var(--brand-color, #3b82f6);color:#fff;border:none;padding:.6rem 1.25rem;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #3b82f633}.primary-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px);box-shadow:0 6px 16px #3b82f64d}.primary-btn:disabled{background:var(--bg-tertiary, #2d3748);color:var(--text-tertiary, #64748b);cursor:not-allowed;box-shadow:none}.page-tabs{display:flex;align-items:stretch;gap:.25rem;margin:-.5rem 0 1.25rem;border-bottom:1px solid var(--border-color);overflow-x:auto}.page-tab{padding:.55rem .9rem;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--text-secondary);font-size:.88rem;text-decoration:none;white-space:nowrap;cursor:pointer}.page-tab:hover{color:var(--text-primary)}.page-tab.active{color:var(--text-primary);font-weight:600;border-bottom-color:var(--primary-500)}.analytics-page{display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem}.analytics-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.75rem;border:1px solid var(--surface-raised-border);border-radius:1rem;background:radial-gradient(circle at top right,rgba(var(--primary-rgb),.15),transparent 35%),radial-gradient(circle at bottom left,rgba(34,197,94,.16),transparent 32%),var(--surface-raised-bg);box-shadow:var(--surface-raised-shadow-soft),var(--surface-inset-highlight)}.analytics-hero-compact{align-items:stretch}.analytics-hero-copy{display:flex;flex-direction:column;gap:1rem}.analytics-eyebrow{margin-bottom:.35rem;font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.analytics-subtitle{max-width:62rem;color:var(--text-secondary)}.analytics-hero-actions{display:flex;flex-wrap:wrap;gap:.75rem}.analytics-status-stack{display:grid;gap:.75rem;min-width:260px}.analytics-status-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.6rem;margin-bottom:1.25rem}.analytics-status-strip .analytics-status-card{padding:.6rem .8rem;border-radius:10px}.analytics-status-strip .analytics-status-card strong{font-size:.9rem}.analytics-status-card{display:flex;flex-direction:column;gap:.3rem;padding:.85rem 1rem;border:1px solid var(--surface-raised-border);border-radius:.9rem;background:#0f172a47}.analytics-status-label{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.status-text-positive{color:#22c55e}.status-text-negative{color:#ef4444}.analytics-link-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem .95rem;border:1px solid rgba(var(--primary-rgb),.28);border-radius:999px;background:rgba(var(--primary-rgb),.12);color:var(--text-primary);text-decoration:none;transition:transform .14s ease,border-color .14s ease,background .14s ease}.analytics-link-pill:hover{transform:translateY(-1px);border-color:rgba(var(--primary-rgb),.45);background:rgba(var(--primary-rgb),.18)}.analytics-link-pill-secondary{border-color:#22c55e3d;background:#22c55e1a}.analytics-link-pill-secondary:hover{border-color:#22c55e66;background:#22c55e29}.analytics-hero-badge,.analytics-range-picker{display:inline-flex;align-items:center;flex-wrap:nowrap;gap:.15rem;padding:.2rem;border:1px solid var(--border-color);border-radius:9px;background:var(--bg-primary);color:var(--text-primary)}.analytics-range-picker button{border:none;background:transparent;color:var(--text-secondary);cursor:pointer;font:inherit;font-size:.85rem;padding:.3rem .7rem;border-radius:7px;white-space:nowrap}.analytics-range-picker button.active{background:rgba(var(--primary-rgb),.18);color:var(--text-primary);font-weight:600}.analytics-metric-grid,.analytics-content-grid{display:grid;gap:1rem}.analytics-metric-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.analytics-content-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.analytics-content-grid-tight{grid-template-columns:1.3fr .9fr}.analytics-metric-card,.analytics-panel{border:1px solid var(--surface-raised-border);border-radius:1rem;background:var(--surface-raised-bg);box-shadow:var(--surface-raised-shadow-soft),var(--surface-inset-highlight)}.analytics-metric-card{display:flex;flex-direction:column;gap:.65rem;padding:1.25rem}.metric-icon{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:.75rem;background:#ffffff0f}.metric-label{color:var(--text-secondary);font-size:.9rem}.metric-value{font-size:1.7rem;line-height:1.1}.metric-note{margin:0;color:var(--text-secondary);font-size:.86rem}.tone-danger .metric-icon{color:#ef4444}.tone-warning .metric-icon{color:#f59e0b}.tone-info .metric-icon{color:var(--accent)}.tone-accent .metric-icon{color:#22c55e}.analytics-panel{padding:1.25rem}.analytics-panel-span{grid-column:1 / -1}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.panel-header h2{margin-bottom:0;font-size:1.15rem}.panel-summary{margin:.25rem 0 0;color:var(--text-secondary);font-size:.92rem}.panel-kicker{margin-bottom:.25rem;font-size:.76rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--text-tertiary)}.chart-shell{height:260px}.analytics-loading,.analytics-empty,.analytics-gate-state{display:flex;align-items:center;justify-content:center;gap:.75rem;min-height:180px;border:1px dashed var(--border-color);border-radius:1rem;color:var(--text-secondary);background:#ffffff05}.analytics-empty-large{min-height:320px}.ranking-list,.insight-list,.flag-grid,.flag-list,.job-list,.anomaly-list,.incident-list,.pareto-list,.series-list,.timeline-list{display:flex;flex-direction:column;gap:.85rem}.series-list{max-height:340px;overflow-y:auto;padding-right:.5rem}.ranking-card,.flag-card,.job-card,.anomaly-card,.incident-card,.pareto-row,.flag-row,.series-card,.timeline-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.95rem 1rem;border:1px solid var(--border-color);border-radius:.9rem;background:#ffffff08;color:inherit;text-decoration:none}.series-card{cursor:pointer;transition:border-color .14s ease,background .14s ease}.series-card:hover{border-color:rgba(var(--primary-rgb),.4);background:rgba(var(--primary-rgb),.08)}.series-card.selected{border-color:var(--accent);background:rgba(var(--primary-rgb),.15)}.ranking-card strong,.flag-card strong,.job-card strong,.anomaly-card strong,.incident-card strong,.pareto-row strong,.flag-row strong,.series-card strong,.timeline-row strong{display:block;margin-bottom:.15rem}.ranking-card p,.flag-card p,.job-card p,.anomaly-card p,.incident-card p,.pareto-row p,.flag-row p,.series-card p,.timeline-row p{margin:0;color:var(--text-secondary)}.pareto-meta,.incident-meta{display:flex;flex-wrap:wrap;gap:.65rem;color:var(--text-secondary)}.incident-badges{display:inline-flex;flex-wrap:wrap;gap:.45rem}.analytics-inline-note{color:var(--text-secondary);font-size:.9rem}.ranking-card-static{cursor:default}.flag-row{padding-left:0;padding-right:0;border:none;border-bottom:1px solid var(--border-color);border-radius:0;background:transparent}.flag-row:last-child{padding-bottom:0;border-bottom:none}.flag-meta,.job-meta{margin:0;color:var(--text-secondary)}.insight-card{padding:1rem;border-radius:.95rem;border:1px solid var(--border-color);background:#ffffff08}.insight-card strong{display:block;margin-bottom:.25rem}.pagination-bar{display:flex;align-items:center;justify-content:space-between;gap:.85rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.pagination-summary,.pagination-page-indicator{color:var(--text-secondary);font-size:.9rem}.pagination-actions{display:inline-flex;align-items:center;gap:.75rem}.pagination-button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.6rem .85rem;border:1px solid var(--border-color);border-radius:999px;background:#ffffff0a;color:var(--text-primary);cursor:pointer;transition:border-color .14s ease,background .14s ease,opacity .14s ease}.pagination-button:hover:not(:disabled){border-color:rgba(var(--primary-rgb),.4);background:rgba(var(--primary-rgb),.08)}.pagination-button:disabled{opacity:.45;cursor:not-allowed}.severity-warning{border-color:#f59e0b59;background:#f59e0b14}.severity-info{border-color:rgba(var(--primary-rgb),.28);background:rgba(var(--primary-rgb),.08)}.flag-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.flag-card{align-items:flex-start;flex-direction:column}.flag-key{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem;color:var(--text-primary)}.flag-state{display:inline-flex;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.flag-card.enabled .flag-state{background:#22c55e26;color:#22c55e}.flag-card.disabled .flag-state{background:#ef444421;color:#ef4444}.status-pill{display:inline-flex;align-items:center;justify-content:center;padding:.3rem .65rem;border-radius:999px;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.status-pill.succeeded,.status-pill.info{background:#22c55e26;color:#22c55e}.status-pill.failed{background:#ef44441f;color:#ef4444}.status-pill-neutral{background:#94a3b826;color:var(--text-primary)}.severity-pill-critical,.severity-pill-high{color:#f97316}.severity-pill-medium,.severity-pill-warning{color:#f59e0b}.severity-pill-low,.severity-pill-info{color:var(--accent)}.severity-pill-unknown{color:#cbd5f5}.status-pill.running,.status-pill.warning{background:#f59e0b24;color:#f59e0b}@media(max-width:900px){.analytics-hero{flex-direction:column}.analytics-status-stack{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-content-grid-tight{grid-template-columns:1fr}}body[data-theme=light] .analytics-hero,body[data-theme=dark] .analytics-hero{background:radial-gradient(circle at top right,rgba(var(--primary-rgb),.16),transparent 35%),radial-gradient(circle at bottom left,var(--amber-tint),transparent 32%),var(--surface-raised-bg)}body[data-theme=light] .analytics-eyebrow,body[data-theme=dark] .analytics-eyebrow,body[data-theme=light] .tone-info .metric-icon,body[data-theme=dark] .tone-info .metric-icon,body[data-theme=light] .severity-pill-low,body[data-theme=light] .severity-pill-info,body[data-theme=dark] .severity-pill-low,body[data-theme=dark] .severity-pill-info{color:var(--accent)}body[data-theme=light] .analytics-status-card,body[data-theme=light] .analytics-hero-badge,body[data-theme=light] .analytics-range-picker,body[data-theme=light] .ranking-card,body[data-theme=light] .flag-card,body[data-theme=light] .job-card,body[data-theme=light] .anomaly-card,body[data-theme=light] .incident-card,body[data-theme=light] .pareto-row,body[data-theme=light] .series-card,body[data-theme=light] .timeline-row,body[data-theme=light] .insight-card{background:#fbf9f4d1}body[data-theme=dark] .analytics-status-card,body[data-theme=dark] .analytics-hero-badge,body[data-theme=dark] .analytics-range-picker,body[data-theme=dark] .ranking-card,body[data-theme=dark] .flag-card,body[data-theme=dark] .job-card,body[data-theme=dark] .anomaly-card,body[data-theme=dark] .incident-card,body[data-theme=dark] .pareto-row,body[data-theme=dark] .series-card,body[data-theme=dark] .timeline-row,body[data-theme=dark] .insight-card{background:#6366f10f}body[data-theme=light] .analytics-link-pill,body[data-theme=dark] .analytics-link-pill,body[data-theme=light] .pagination-button:hover:not(:disabled),body[data-theme=dark] .pagination-button:hover:not(:disabled),body[data-theme=light] .series-card:hover,body[data-theme=dark] .series-card:hover{border-color:rgba(var(--primary-rgb),.4);background:var(--accent-tint)}body[data-theme=light] .analytics-link-pill-secondary,body[data-theme=dark] .analytics-link-pill-secondary,body[data-theme=light] .analytics-range-picker button.active,body[data-theme=dark] .analytics-range-picker button.active,body[data-theme=light] .series-card.selected,body[data-theme=dark] .series-card.selected{border-color:rgba(var(--primary-rgb),.38);background:var(--accent-tint)}@media(max-width:640px){.analytics-page{padding:1rem}.analytics-content-grid{grid-template-columns:1fr}.ranking-card,.job-card,.anomaly-card,.incident-card,.pareto-row,.flag-row,.series-card,.timeline-row{flex-direction:column;align-items:flex-start}.incident-meta,.pareto-meta,.incident-badges{flex-direction:column;align-items:flex-start;gap:.3rem}.analytics-status-stack{grid-template-columns:1fr}.pagination-bar,.pagination-actions{flex-direction:column;align-items:stretch}}.analytics-single-value{display:flex;flex:1;flex-direction:column;justify-content:center;gap:.5rem;padding:1.25rem .25rem}.analytics-single-value strong{font-size:2.9rem;font-weight:700;line-height:1;color:var(--text-primary);font-variant-numeric:tabular-nums}.analytics-single-label{align-self:flex-start;padding:2px 8px;border:1px solid currentColor;border-radius:4px;font-family:var(--tg-font-mono),ui-monospace,monospace;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase}.analytics-single-label.sev-critical{color:var(--status-error)}.analytics-single-label.sev-high{color:var(--warn)}.analytics-single-label.sev-medium{color:var(--status-warning)}.analytics-single-label.sev-low{color:var(--status-info)}.analytics-single-value p{margin:0;font-size:.82rem;color:var(--text-secondary);max-width:42ch}.usage-container{padding:var(--spacing-lg)}.usage-header{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.usage-header h1{font-size:1.5rem;font-weight:700;display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:0;color:var(--text-primary)}.usage-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.usage-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-lg);display:flex;flex-direction:column}.usage-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-lg)}.icon-box{padding:var(--spacing-sm);background-color:var(--bg-tertiary);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.usage-label{color:var(--text-tertiary);font-size:.875rem;font-weight:500;margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.05em}.usage-numbers{display:flex;align-items:baseline;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.current-value{font-size:2.25rem;font-weight:700;color:var(--text-primary);line-height:1}.max-value{color:var(--text-tertiary);font-size:.875rem}.progress-bar-bg{width:100%;height:.5rem;background-color:var(--bg-tertiary);border-radius:999px;overflow:hidden;margin-bottom:.5rem}.progress-bar-fill{height:100%;border-radius:999px;transition:width 1s ease-in-out}.usage-footer-stats{display:flex;justify-content:space-between;font-size:.625rem;text-transform:uppercase;font-weight:700;color:var(--text-tertiary);letter-spacing:.05em}.usage-info-banner{display:flex;align-items:center;gap:var(--spacing-md);background-color:var(--accent-tint);border:1px solid rgba(var(--primary-rgb),.2);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.info-icon-box{background-color:rgba(var(--primary-rgb),.1);padding:var(--spacing-md);border-radius:50%;color:var(--accent);flex-shrink:0}.info-text h4{color:var(--accent-strong);font-size:1rem;font-weight:600;margin-bottom:.25rem}.info-text p{color:var(--accent);font-size:.875rem;opacity:.8;margin-bottom:0}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.near-limit-pulse{animation:pulse 2s infinite;color:var(--status-error)}.org-management-container{padding:var(--spacing-lg)}.org-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-lg)}.org-card{background:var(--surface-raised-bg);border:1px solid var(--surface-raised-border);border-radius:var(--radius-xl);padding:var(--spacing-lg);transition:all var(--transition-base);position:relative;overflow:hidden;box-shadow:var(--surface-raised-shadow-soft),var(--surface-inset-highlight);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.org-card:hover{border-color:rgba(var(--primary-rgb),.5);box-shadow:var(--shadow-md);transform:translateY(-2px)}.org-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-md)}.org-name{font-size:1.125rem;font-weight:700;color:var(--text-primary)}.org-domain{font-size:.875rem;color:var(--text-tertiary)}.org-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.stat-box{background:var(--surface-raised-bg-soft);padding:var(--spacing-md);border-radius:var(--radius-md);border:1px solid var(--surface-raised-border);box-shadow:var(--surface-inset-highlight)}.stat-label{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.75rem;color:var(--text-tertiary);margin-bottom:var(--spacing-xs)}.stat-value{font-size:.875rem;font-weight:600;color:var(--text-primary)}.org-footer{margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:var(--text-tertiary)}.plan-badge{color:var(--status-info);font-weight:600}.search-container{position:relative;width:16rem}.search-input{width:100%;padding-left:2.5rem!important}.search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none}.tenant-admin-page{padding:var(--spacing-lg, 1.5rem);display:flex;flex-direction:column;gap:1.25rem}.tenant-admin-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;padding:1.25rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary)}.tenant-admin-eyebrow{margin:0 0 .35rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:700}.tenant-admin-hero h1{display:flex;align-items:center;gap:.55rem;margin:0;color:var(--text-primary);font-size:1.55rem}.tenant-admin-hero p:last-child{max-width:760px;margin:.45rem 0 0;color:var(--text-secondary);line-height:1.5}.tenant-admin-card-link,.tenant-admin-quick-link{display:inline-flex;align-items:center;gap:.35rem;color:var(--accent, var(--status-info));text-decoration:none;font-weight:700}.tenant-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.tenant-admin-attention{padding:1rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary)}.tenant-admin-attention-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.85rem}.tenant-admin-attention-header h2{margin:0;color:var(--text-primary);font-size:1.05rem}.tenant-admin-attention-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.tenant-admin-attention-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.8rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);text-decoration:none}.tenant-admin-attention-item:hover{border-color:var(--accent, var(--status-info))}.tenant-admin-attention-value{min-width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;font-weight:800;background:var(--bg-tertiary)}.tenant-admin-attention-item strong,.tenant-admin-attention-item small{display:block}.tenant-admin-attention-item strong{font-size:.85rem}.tenant-admin-attention-item small{margin-top:.15rem;color:var(--text-secondary);font-size:.74rem;line-height:1.35}.tenant-admin-attention-item.tone-danger .tenant-admin-attention-value{color:var(--status-error);background:#ef444424}.tenant-admin-attention-item.tone-warning .tenant-admin-attention-value{color:var(--status-warning);background:#f59e0b26}.tenant-admin-attention-item.tone-info .tenant-admin-attention-value{color:var(--status-info);background:#5aa59324}.tenant-admin-attention-item.tone-success .tenant-admin-attention-value{color:var(--status-success);background:#10b98124}.tenant-admin-card{min-height:210px;display:flex;flex-direction:column;gap:1rem;padding:1rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary)}.tenant-admin-card.wide{grid-column:span 2}.tenant-admin-card-header{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.tenant-admin-card-title{display:flex;align-items:center;gap:.65rem}.tenant-admin-card-title h2{margin:0;color:var(--text-primary);font-size:1rem}.tenant-admin-card-icon{width:38px;height:38px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:var(--status-info);background:#5aa59324}.tenant-admin-card-link{font-size:.8rem;white-space:nowrap}.tenant-admin-card-state{flex:1;display:flex;align-items:center;justify-content:center;gap:.45rem;min-height:120px;border:1px dashed var(--border-color);border-radius:8px;color:var(--text-secondary);background:var(--bg-primary)}.tenant-admin-card-state.error{color:var(--status-error)}.tenant-admin-metric-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.tenant-admin-metric{padding:.85rem;border-radius:8px;background:var(--bg-primary);border:1px solid var(--border-color)}.tenant-admin-metric strong,.tenant-admin-large-number{display:block;color:var(--text-primary);font-size:2rem;line-height:1}.tenant-admin-metric.success strong{color:var(--status-success)}.tenant-admin-metric span,.tenant-admin-muted{color:var(--text-secondary);font-size:.8rem}.tenant-admin-large-number{margin-top:.5rem;font-size:3rem}.tenant-admin-detail-list,.tenant-admin-status-grid{display:grid;gap:.55rem}.tenant-admin-detail{display:flex;justify-content:space-between;align-items:center;padding:.65rem .75rem;border-radius:8px;background:var(--bg-primary);color:var(--text-secondary)}.tenant-admin-detail strong,.tenant-admin-status strong{color:var(--text-primary)}.tenant-admin-detail.tone-success strong,.tenant-admin-status.tone-success strong{color:var(--status-success)}.tenant-admin-detail.tone-warning strong,.tenant-admin-status.tone-warning strong{color:var(--status-warning)}.tenant-admin-status.tone-danger strong{color:var(--status-error)}.tenant-admin-detail.tone-info strong{color:var(--status-info)}.tenant-admin-status{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border-color);color:var(--text-secondary)}.tenant-admin-status:last-child{border-bottom:0}.tenant-admin-usage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.tenant-admin-usage{padding:.8rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary)}.tenant-admin-usage>div:first-child{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;color:var(--text-secondary);font-size:.82rem}.tenant-admin-usage strong{color:var(--text-primary)}.tenant-admin-progress{height:7px;margin-top:.65rem;border-radius:999px;background:var(--bg-tertiary);overflow:hidden}.tenant-admin-progress span{display:block;height:100%;border-radius:inherit;background:var(--status-info)}.tenant-admin-activity-list{display:flex;flex-direction:column;gap:.65rem}.tenant-admin-activity{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem .8rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary)}.tenant-admin-activity strong{display:block;color:var(--text-primary);font-size:.88rem}.tenant-admin-activity span,.tenant-admin-activity-meta{color:var(--text-secondary);font-size:.78rem}.tenant-admin-activity-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.2rem;white-space:nowrap}.tenant-admin-links{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem}.tenant-admin-quick-link{justify-content:space-between;padding:.8rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary)}.tenant-admin-quick-link span{color:var(--status-info)}@media(max-width:1180px){.tenant-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tenant-admin-links{grid-template-columns:repeat(3,minmax(0,1fr))}.tenant-admin-attention-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.tenant-admin-hero{align-items:stretch;flex-direction:column}.tenant-admin-grid,.tenant-admin-links,.tenant-admin-attention-grid,.tenant-admin-usage-grid{grid-template-columns:1fr}.tenant-admin-card.wide{grid-column:auto}.tenant-admin-card-header,.tenant-admin-attention-header,.tenant-admin-activity{flex-direction:column;align-items:flex-start}.tenant-admin-activity-meta{align-items:flex-start}}.aa-page{padding:var(--spacing-lg, 1.5rem);display:flex;flex-direction:column;gap:1.25rem;height:100%}.aa-header h1{display:flex;align-items:center;gap:.5rem;margin:0;color:var(--text-primary);font-size:1.4rem}.aa-header p{margin:.35rem 0 0;color:var(--text-secondary);font-size:.88rem}.aa-spin{animation:aa-spin 1s linear infinite}@keyframes aa-spin{to{transform:rotate(360deg)}}.aa-body{display:grid;grid-template-columns:minmax(260px,340px) 1fr;gap:1rem;align-items:start}@media(max-width:900px){.aa-body{grid-template-columns:1fr}}.aa-tree-panel,.aa-detail{border:1px solid var(--border-color);border-radius:var(--radius-lg, .75rem);background:var(--bg-secondary);padding:.75rem}.aa-search{display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem;border:1px solid var(--border-color);border-radius:var(--radius-md, .5rem);color:var(--text-secondary);margin-bottom:.5rem}.aa-search input{flex:1;border:none;background:transparent;color:var(--text-primary);outline:none;font-size:.85rem}.aa-tree{max-height:60vh;overflow-y:auto}.aa-tree-row{display:flex;align-items:center;gap:.25rem;border-radius:var(--radius-sm, .375rem)}.aa-tree-row.selected{background:var(--accent-tint)}.aa-caret{display:inline-flex;align-items:center;justify-content:center;width:18px;height:26px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;flex-shrink:0}.aa-caret-spacer{width:14px;display:inline-block}.aa-tree-label{display:flex;align-items:center;gap:.5rem;flex:1;padding:.35rem .4rem;border:none;background:transparent;color:var(--text-primary);cursor:pointer;text-align:left;font-size:.85rem;border-radius:var(--radius-sm, .375rem);min-width:0}.aa-tree-row:hover .aa-tree-label{background:var(--bg-tertiary)}.aa-tree-row.selected .aa-tree-label{font-weight:600}.aa-tree-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aa-tree-type{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm, .375rem);padding:.02rem .3rem;flex-shrink:0}.aa-tree-count{margin-left:auto;min-width:20px;height:18px;padding:0 .3rem;display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;border-radius:999px;color:var(--accent-contrast, #fff);background:var(--accent);flex-shrink:0}.aa-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.aa-path{display:flex;align-items:center;flex-wrap:wrap;gap:.15rem;font-size:.95rem;color:var(--text-primary)}.aa-path-sep{color:var(--text-secondary);margin:0 .1rem;vertical-align:middle}.aa-path-leaf{font-weight:600;color:var(--accent)}.aa-scope-preview{margin-top:.3rem;font-size:.8rem;color:var(--text-secondary)}.aa-section-title{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin:0 0 .6rem}.aa-grant-list{display:flex;flex-direction:column;gap:.5rem}.aa-grant-row{display:flex;justify-content:space-between;align-items:center;padding:.6rem .75rem;border:1px solid var(--border-color);border-radius:var(--radius-md, .5rem);background:var(--bg-primary, var(--bg-tertiary))}.aa-grant-row strong{color:var(--text-primary);font-weight:600;font-size:.88rem}.aa-role-badge{margin-left:.5rem;font-size:.72rem;padding:.1rem .45rem;border-radius:999px;background:var(--accent-tint);color:var(--text-primary)}.aa-grant-btn,.aa-revoke-btn,.aa-cancel-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .8rem;border-radius:var(--radius-md, .5rem);font-size:.83rem;cursor:pointer;border:1px solid var(--border-color)}.aa-grant-btn{background:var(--accent);color:var(--accent-contrast, #fff);border-color:var(--accent);font-weight:600}.aa-grant-btn:disabled{opacity:.55;cursor:default}.aa-revoke-btn{background:transparent;color:var(--status-error, #ef4444);border-color:transparent}.aa-revoke-btn:hover{border-color:var(--status-error, #ef4444)}.aa-revoke-btn:disabled{opacity:.5;cursor:default}.aa-cancel-btn{background:var(--bg-secondary);color:var(--text-secondary)}.aa-inherited-row{border-style:dashed}.aa-via{margin-left:.5rem;font-size:.76rem;color:var(--text-secondary);font-style:italic}.aa-manage-btn{display:inline-flex;align-items:center;padding:.35rem .7rem;border:1px solid var(--border-color);border-radius:var(--radius-md, .5rem);background:transparent;color:var(--accent);font-size:.8rem;cursor:pointer}.aa-manage-btn:hover{border-color:var(--accent)}.aa-needs-scope{color:var(--status-warning, #d97706)!important}.aa-needs-scope strong{color:var(--status-warning, #d97706)}.aa-inherited{margin-top:1.25rem;padding:.85rem;border:1px dashed var(--border-color);border-radius:var(--radius-md, .5rem)}.aa-inherited-title{display:flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.aa-inherited p{margin:.3rem 0;font-size:.82rem;color:var(--text-secondary)}.aa-inherited strong{color:var(--text-primary)}.aa-note{font-style:italic}.aa-empty,.aa-empty-sm{color:var(--text-secondary);display:flex;align-items:center;gap:.5rem}.aa-empty{padding:2.5rem;justify-content:center;border:1px dashed var(--border-color);border-radius:var(--radius-lg, .75rem)}.aa-empty-sm{padding:1.25rem .5rem;font-size:.85rem}.aa-detail-empty{justify-content:center}.aa-error{color:var(--status-error, #ef4444)}.aa-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:50}.aa-modal{width:min(440px,92vw);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg, .75rem);padding:1.25rem}.aa-modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.aa-modal-head h2{margin:0;font-size:1.05rem;color:var(--text-primary)}.aa-icon-btn{border:none;background:transparent;color:var(--text-secondary);cursor:pointer}.aa-field{display:block;margin-bottom:.85rem}.aa-field span{display:block;font-size:.8rem;color:var(--text-secondary);margin-bottom:.3rem}.aa-field select{width:100%;padding:.5rem .6rem;border:1px solid var(--border-color);border-radius:var(--radius-md, .5rem);background:var(--bg-primary, var(--bg-tertiary));color:var(--text-primary);font-size:.85rem}.aa-modal-warn{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--status-warning, #d97706);background:#f59e0b1a;border-radius:var(--radius-md, .5rem);padding:.55rem .7rem;margin:.5rem 0}.aa-modal-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1rem}.eht{border:1px solid var(--border-color);border-radius:var(--radius-lg, .75rem);background:var(--bg-secondary);padding:.85rem 1rem}.eht-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}.eht-title{display:flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;color:var(--text-primary)}.eht-ranges{display:flex;gap:.3rem}.eht-range{padding:.25rem .6rem;border:1px solid var(--border-color);border-radius:999px;background:transparent;color:var(--text-secondary);font-size:.78rem;cursor:pointer}.eht-range.active{border-color:var(--accent);background:var(--accent-tint);color:var(--text-primary)}.eht-state{display:flex;align-items:center;justify-content:center;gap:.5rem;height:200px;color:var(--text-secondary);font-size:.85rem}.eht-error{color:var(--status-error, #ef4444)}.eht-spin{animation:eht-spin 1s linear infinite}@keyframes eht-spin{to{transform:rotate(360deg)}}.eht-note{margin:.5rem 0 0;font-size:.74rem;color:var(--text-secondary)}.edge-devices-page{--edge-success-text: #bbf7d0;--edge-success-bg: rgba(22, 163, 74, .16);--edge-warning-text: #fde68a;--edge-warning-bg: rgba(113, 63, 18, .22);--edge-warning-border: rgba(250, 204, 21, .35);--edge-danger-text: #fecaca;--edge-danger-bg: rgba(127, 29, 29, .22);--edge-danger-border: rgba(248, 113, 113, .35);--edge-muted-text: #8a8f9a;--edge-muted-bg: rgba(99, 102, 241, .12);--edge-code-text: #e7e9ee;--edge-code-bg: rgba(11, 12, 14, .72);--edge-soft-panel-bg: rgba(99, 102, 241, .08);--edge-hero-step-bg: rgba(20, 21, 24, .56);--edge-hero-step-pill-bg: rgba(99, 102, 241, .12);min-height:100%;padding:var(--spacing-lg);color:var(--text-primary);display:flex;flex-direction:column;gap:var(--spacing-lg)}body[data-theme=light] .edge-devices-page{--edge-success-text: #166534;--edge-success-bg: #dcfce7;--edge-warning-text: #92400e;--edge-warning-bg: #fffbeb;--edge-warning-border: #fcd34d;--edge-danger-text: #991b1b;--edge-danger-bg: #fef2f2;--edge-danger-border: #fecaca;--edge-muted-text: #6b7280;--edge-muted-bg: #eef0f4;--edge-code-text: #0b0c0e;--edge-code-bg: #f4f5f7;--edge-soft-panel-bg: rgba(238, 240, 244, .86);--edge-hero-step-bg: rgba(255, 255, 255, .72);--edge-hero-step-pill-bg: rgba(11, 12, 14, .05)}.edge-hero{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:var(--spacing-lg);align-items:center;padding:clamp(1.5rem,3vw,2.5rem);border:1px solid var(--surface-raised-border);border-radius:1.6rem;background:radial-gradient(circle at 12% 18%,rgba(var(--primary-rgb),.2),transparent 26%),radial-gradient(circle at 88% 12%,var(--amber-tint),transparent 30%),var(--surface-raised-bg);box-shadow:var(--surface-raised-shadow-soft),var(--surface-inset-highlight)}.edge-eyebrow{margin:0 0 .65rem;color:var(--status-info);font-size:.75rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.edge-hero h1,.edge-modal h2,.edge-panel-header h2{margin:0;color:var(--text-primary)}.edge-hero h1{font-size:clamp(2.2rem,5vw,4.2rem);letter-spacing:-.07em;line-height:.95}.edge-hero-copy{max-width:46rem;margin:.8rem 0 0;color:var(--text-secondary);font-size:1rem;line-height:1.7}.edge-hero-steps{display:grid;gap:.55rem;min-width:15rem;padding:.8rem;border:1px solid var(--surface-raised-border);border-radius:1.2rem;background:var(--edge-hero-step-bg)}.edge-hero-steps span{padding:.55rem .75rem;border-radius:999px;color:var(--text-secondary);background:var(--edge-hero-step-pill-bg);font-size:.8rem;font-weight:800}.edge-primary-btn,.edge-ghost-btn,.edge-device-actions button,.edge-secret-block button,.edge-command-header button,.edge-icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1px solid transparent;border-radius:999px;font-weight:800;transition:all var(--transition-base)}.edge-primary-btn{min-height:2.7rem;padding:0 1.2rem;color:var(--accent-contrast);background:var(--gradient-primary);box-shadow:0 16px 36px rgba(var(--primary-rgb),.24)}.edge-primary-btn:hover:not(:disabled),.edge-ghost-btn:hover,.edge-device-actions button:hover,.edge-secret-block button:hover,.edge-command-header button:hover{transform:translateY(-1px)}.edge-primary-btn:disabled{cursor:not-allowed;opacity:.6}.edge-primary-btn.danger{color:#fff7ed;background:linear-gradient(135deg,#fb7185,#f97316);box-shadow:0 16px 36px #f871713d}.edge-primary-btn.full{width:100%}.edge-ghost-btn,.edge-device-actions button,.edge-secret-block button,.edge-command-header button{min-height:2.3rem;padding:0 .9rem;color:var(--text-primary);background:var(--surface-raised-bg-soft);border-color:var(--surface-raised-border)}.edge-device-actions button.danger{color:var(--edge-danger-text);border-color:var(--edge-danger-border);background:var(--edge-danger-bg)}.edge-device-actions button.active{color:var(--accent-contrast);background:var(--gradient-primary);border-color:rgba(var(--primary-rgb),.5)}.edge-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--spacing-md)}.edge-summary-card,.edge-device-panel,.edge-device-card,.edge-modal{border:1px solid var(--surface-raised-border);background:var(--surface-raised-bg);box-shadow:var(--surface-raised-shadow-soft),var(--surface-inset-highlight);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.edge-summary-card{position:relative;overflow:hidden;padding:var(--spacing-lg);border-radius:var(--radius-xl)}.edge-summary-card:after{content:"";position:absolute;inset:auto 1rem 1rem auto;width:4.5rem;height:4.5rem;border-radius:999px;background:#94a3b814;pointer-events:none}.edge-summary-card span,.edge-device-facts span{display:block;color:var(--text-tertiary);font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.edge-summary-card strong{display:block;margin-top:.45rem;font-size:2rem;letter-spacing:-.05em}.edge-summary-card.tone-success:after{background:#22c55e24}.edge-summary-card.tone-warning:after{background:#f59e0b24}.edge-summary-card.tone-danger:after{background:#ef444424}.edge-summary-card.tone-info:after{background:rgba(var(--primary-rgb),.14)}.edge-summary-card.tone-muted:after{background:#94a3b81a}.edge-summary-card.tone-success strong{color:#86efac}.edge-summary-card.tone-warning strong{color:#fbbf24}.edge-summary-card.tone-danger strong{color:#fca5a5}.edge-summary-card.tone-info strong{color:var(--accent)}.edge-summary-card.tone-muted strong{color:var(--edge-muted-text)}body[data-theme=light] .edge-summary-card.tone-success strong{color:#15803d}body[data-theme=light] .edge-summary-card.tone-warning strong{color:#b45309}body[data-theme=light] .edge-summary-card.tone-danger strong{color:#b91c1c}body[data-theme=light] .edge-summary-card.tone-info strong{color:#0369a1}.edge-device-panel{border-radius:var(--radius-xl);padding:var(--spacing-lg)}.edge-panel-header,.edge-modal-header,.edge-command-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md)}.edge-panel-header p{margin:.35rem 0 0;color:var(--text-tertiary)}.edge-device-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(21rem,1fr));gap:var(--spacing-md);margin-top:var(--spacing-lg)}.edge-device-card{display:grid;grid-template-columns:1fr;gap:var(--spacing-md);align-items:stretch;padding:var(--spacing-lg);border-radius:var(--radius-lg);transition:transform .18s ease,border-color .18s ease,background .18s ease}.edge-device-card:hover,.edge-device-card.selected{transform:translateY(-2px);border-color:rgba(var(--primary-rgb),.42)}.edge-device-card.selected{background:radial-gradient(circle at top right,rgba(var(--primary-rgb),.14),transparent 32%),var(--surface-raised-bg)}.edge-device-main,.edge-device-title-row,.edge-device-actions,.edge-secret-label,.edge-warning{display:flex;align-items:center;gap:var(--spacing-sm)}.edge-device-icon{display:grid;place-items:center;width:3.1rem;height:3.1rem;border-radius:1.1rem;color:var(--accent);background:var(--accent-tint);border:1px solid rgba(var(--primary-rgb),.28)}.edge-device-title-row h3{margin:0;font-size:1.05rem}.edge-inline-edit{display:flex;align-items:center;gap:.4rem}.edge-inline-edit input{width:min(16rem,52vw);height:2.35rem}.edge-inline-edit button{display:grid;place-items:center;width:2.2rem;height:2.2rem;border:1px solid var(--surface-raised-border);border-radius:999px;color:var(--text-primary);background:var(--surface-raised-bg-soft)}.edge-device-meta{margin:.3rem 0 0;color:var(--text-tertiary);font-size:.85rem}.edge-status-pill{padding:.25rem .65rem;border-radius:999px;font-size:.7rem;font-weight:900}.edge-status-pill.enabled{color:var(--edge-success-text);background:var(--edge-success-bg)}.edge-status-pill.disabled{color:var(--edge-muted-text);background:var(--edge-muted-bg)}.edge-status-pill.online{color:var(--edge-success-text);background:var(--edge-success-bg)}.edge-status-pill.offline{color:var(--edge-danger-text);background:var(--edge-danger-bg)}.edge-status-pill.unknown{color:var(--edge-warning-text);background:var(--edge-warning-bg)}.edge-device-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--spacing-sm)}.edge-device-facts>div{min-height:4.4rem;padding:.8rem;border:1px solid var(--surface-raised-border);border-radius:var(--radius-md);background:var(--surface-raised-bg-soft)}.edge-device-facts strong{display:block;margin-top:.3rem;font-size:.9rem;word-break:break-word}.edge-device-actions{flex-wrap:wrap;padding-top:var(--spacing-sm);border-top:1px solid var(--surface-raised-border)}.edge-empty{display:grid;place-items:center;gap:var(--spacing-sm);min-height:16rem;color:var(--text-tertiary);text-align:center}.edge-empty.compact{min-height:9rem}.edge-empty h3,.edge-empty p{margin:0}.edge-modal{width:min(92vw,42rem);max-height:90vh;overflow:auto;border-radius:var(--radius-xl);padding:var(--spacing-xl)}.edge-secret-modal{width:min(94vw,54rem)}.edge-icon-btn{width:2.5rem;height:2.5rem;color:var(--text-secondary);background:var(--surface-raised-bg-soft);border-color:var(--surface-raised-border)}.edge-form{display:grid;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.edge-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-sm)}.edge-form label{display:grid;gap:.45rem;color:var(--text-secondary);font-size:.84rem;font-weight:700}.edge-protocol-picker{display:grid;gap:var(--spacing-md);padding:var(--spacing-md);border:1px solid var(--surface-raised-border);border-radius:var(--radius-lg);background:var(--surface-raised-bg-soft)}.edge-protocol-picker h3,.edge-protocol-picker p{margin:0}.edge-protocol-picker h3{font-size:.95rem}.edge-protocol-picker p{margin-top:.3rem;color:var(--text-tertiary);font-size:.82rem}.edge-protocol-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-sm)}.edge-protocol-option{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:.65rem!important;padding:.85rem;border:1px solid var(--surface-raised-border);border-radius:var(--radius-md);background:var(--edge-soft-panel-bg);cursor:pointer}.edge-protocol-option span,.edge-protocol-option small{display:block}.edge-protocol-option small{margin-top:.18rem;color:var(--text-tertiary);font-size:.72rem}.edge-checkbox-row{display:flex!important;grid-template-columns:none;align-items:center;gap:.65rem!important}.edge-modal-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.edge-warning{margin:var(--spacing-lg) 0;padding:1rem;border:1px solid var(--edge-warning-border);border-radius:var(--radius-lg);color:var(--edge-warning-text);background:var(--edge-warning-bg)}.edge-warning.danger{border-color:var(--edge-danger-border);color:var(--edge-danger-text);background:var(--edge-danger-bg)}.edge-confirm-modal{width:min(92vw,34rem)}.edge-secret-block,.edge-command-block{margin-bottom:var(--spacing-lg);padding:var(--spacing-md);border:1px solid var(--surface-raised-border);border-radius:var(--radius-lg);background:var(--surface-raised-bg-soft)}.edge-secret-block code{display:block;margin:.8rem 0;padding:.9rem;border-radius:var(--radius-md);color:var(--edge-code-text);background:var(--edge-code-bg);word-break:break-all}.edge-command-block pre{margin:.9rem 0 0;padding:1rem;overflow:auto;border-radius:var(--radius-md);color:var(--edge-code-text);background:var(--edge-code-bg);font-size:.82rem;line-height:1.65}.edge-channel-panel{overflow:hidden}.edge-workspace-empty{display:grid;place-items:center;min-height:16rem;text-align:center;color:var(--text-secondary)}.edge-workspace-empty h2,.edge-workspace-empty p{margin:0}.edge-live-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:var(--spacing-sm);margin-top:var(--spacing-lg)}.edge-live-status-grid .edge-summary-card{padding:var(--spacing-md)}.edge-live-status-grid .edge-summary-card strong{font-size:1.1rem}.edge-panel-actions{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.edge-workspace-tabs{display:inline-flex;gap:.35rem;margin-top:var(--spacing-lg);padding:.35rem;border:1px solid var(--surface-raised-border);border-radius:999px;background:var(--surface-raised-bg-soft)}.edge-workspace-tabs button{min-height:2.3rem;padding:0 1rem;border:1px solid transparent;border-radius:999px;color:var(--text-secondary);background:transparent;font-weight:900}.edge-workspace-tabs button.active{color:var(--accent-contrast);border-color:rgba(var(--primary-rgb),.55);background:var(--gradient-primary)}.edge-commands-panel,.edge-connections-panel{display:grid;gap:var(--spacing-lg);margin-top:var(--spacing-lg)}.edge-command-actions{display:flex;justify-content:space-between;gap:var(--spacing-lg);padding:var(--spacing-lg);border:1px solid var(--surface-raised-border);border-radius:var(--radius-lg);background:var(--surface-raised-bg-soft)}.edge-command-actions h3,.edge-command-actions p{margin:0}.edge-command-actions p:not(.edge-eyebrow){margin-top:.35rem;max-width:42rem;color:var(--text-tertiary);line-height:1.6}.edge-command-action-buttons{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-sm);flex-wrap:wrap}.edge-command-table{min-width:78rem}.edge-command-result{display:grid;gap:.5rem;min-width:14rem}.edge-command-result pre{max-width:28rem;max-height:18rem;margin:0;overflow:auto;padding:.85rem;border-radius:var(--radius-md);color:var(--edge-code-text);background:var(--edge-code-bg);font-size:.75rem;line-height:1.55}.edge-command-result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.75rem}.edge-command-error-block{display:grid;gap:.35rem;padding:.85rem;border:1px solid var(--edge-danger-border);border-radius:var(--radius-md);color:var(--edge-danger-text);background:#ef444414}.edge-command-error-block p,.edge-command-error-block small{margin:0}.edge-muted-text{color:var(--text-tertiary);font-size:.82rem}.edge-channel-toolbar{display:grid;grid-template-columns:minmax(14rem,.8fr) minmax(0,1.2fr);gap:var(--spacing-md);align-items:center;margin-top:var(--spacing-lg)}.edge-status-filters{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:flex-end}.edge-status-filters button{min-height:2.2rem;padding:0 .8rem;border:1px solid var(--surface-raised-border);border-radius:999px;color:var(--text-secondary);background:var(--surface-raised-bg-soft);font-size:.78rem;font-weight:800}.edge-status-filters button.active{color:var(--accent-contrast);border-color:rgba(var(--primary-rgb),.55);background:var(--gradient-primary)}.edge-channel-table-wrap{margin-top:var(--spacing-lg);overflow:auto;border:1px solid var(--surface-raised-border);border-radius:var(--radius-lg)}.edge-channel-table{width:100%;border-collapse:collapse;min-width:68rem}.edge-channel-table th,.edge-channel-table td{padding:.95rem;border-bottom:1px solid var(--surface-raised-border);color:var(--text-secondary);text-align:left;vertical-align:middle}.edge-channel-table th{color:var(--text-tertiary);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;background:var(--surface-raised-bg-soft)}.edge-channel-table tr:last-child td{border-bottom:none}.edge-channel-table code{color:var(--edge-code-text);font-size:.8rem;word-break:break-word}.edge-channel-status,.edge-channel-identity,.edge-channel-stack{display:grid;gap:.25rem}.edge-channel-status{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .65rem;border-radius:999px;color:var(--text-primary);background:#94a3b81f;font-size:.78rem;font-weight:900}.edge-channel-status.connected{color:var(--edge-success-text);background:var(--edge-success-bg)}.edge-channel-status.reconnecting{color:var(--edge-warning-text);background:var(--edge-warning-bg)}.edge-channel-status.failed{color:var(--edge-danger-text);background:var(--edge-danger-bg)}.edge-channel-identity strong,.edge-channel-stack strong{color:var(--text-primary)}.edge-channel-stack small{color:var(--text-tertiary)}.edge-health-dot{display:inline-block;width:.55rem;height:.55rem;margin-right:.45rem;border-radius:999px;background:#94a3b8}.edge-health-dot.connected{background:#22c55e}.edge-health-dot.reconnecting,.edge-health-dot.uncertain{background:#f59e0b}.edge-health-dot.failed,.edge-health-dot.bad{background:#ef4444}.edge-health-dot.disabled{background:#64748b}.edge-table-action{min-height:2rem;padding:0 .75rem;border:1px solid var(--surface-raised-border);border-radius:999px;color:var(--text-primary);background:var(--surface-raised-bg-soft);font-weight:800}.edge-table-action.danger{color:var(--edge-danger-text);border-color:var(--edge-danger-border)}.edge-table-action:disabled{cursor:not-allowed;opacity:.55}.edge-row-actions{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.edge-error-cell{max-width:18rem;color:var(--edge-danger-text)!important;white-space:normal;overflow-wrap:anywhere}.edge-import-modal{width:min(96vw,72rem)}.edge-checklist{margin-bottom:var(--spacing-lg);padding:1rem 1.25rem;border:1px solid var(--surface-raised-border);border-radius:var(--radius-lg)}.edge-checklist-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.edge-checklist-header h3{margin:0;font-size:.95rem}.edge-checklist-progress{color:var(--text-secondary);font-size:.8rem;font-weight:700}.edge-checklist-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.6rem;margin:0;padding:0;list-style:none}.edge-checklist-steps li{display:flex;gap:.6rem;align-items:flex-start;padding:.55rem .7rem;border-radius:var(--radius-md);border:1px solid var(--surface-raised-border)}.edge-checklist-steps li.done{border-color:var(--edge-success-border, var(--surface-raised-border))}.edge-checklist-steps li.done .edge-checklist-icon{color:var(--edge-success-text, #1a7f37)}.edge-checklist-steps li.pending .edge-checklist-icon{color:var(--edge-warning-text, #9a6700)}.edge-checklist-icon{display:inline-flex;margin-top:.15rem}.edge-checklist-steps li>div{display:grid;gap:.1rem}.edge-checklist-steps li strong{font-size:.84rem}.edge-checklist-steps li span{color:var(--text-secondary);font-size:.78rem}.edge-checklist-steps li small{color:var(--text-secondary);font-size:.72rem;font-style:italic}.edge-runtime-info-row{display:flex;flex-wrap:wrap;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg);padding:.65rem 1.25rem;border:1px solid var(--surface-raised-border);border-radius:var(--radius-lg)}.edge-runtime-info-row>div{display:grid;gap:.1rem}.edge-runtime-info-row span{color:var(--text-secondary);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.edge-runtime-info-row strong{font-size:.86rem}.edge-import-csv-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--spacing-md);margin-top:var(--spacing-lg);padding:.75rem 1rem;border:1px dashed var(--surface-raised-border);border-radius:var(--radius-lg)}.edge-csv-upload{display:inline-flex;align-items:center;gap:.45rem;cursor:pointer}.edge-link-btn{border:none;background:none;padding:0;color:var(--edge-accent, var(--text-secondary));font-size:.84rem;font-weight:700;cursor:pointer;text-decoration:underline}.edge-import-csv-hint{color:var(--text-secondary);font-size:.78rem}.edge-import-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(18rem,.85fr);gap:var(--spacing-lg);margin-top:var(--spacing-lg)}.edge-import-editor{display:grid;gap:.55rem;color:var(--text-secondary);font-size:.84rem;font-weight:800}.edge-import-editor textarea{min-height:28rem;resize:vertical;padding:1rem;border:1px solid var(--surface-raised-border);border-radius:var(--radius-lg);color:var(--edge-code-text);background:var(--edge-code-bg);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;line-height:1.6}.edge-import-preview{padding:var(--spacing-md);border:1px solid var(--surface-raised-border);border-radius:var(--radius-lg);background:var(--surface-raised-bg-soft)}.edge-import-preview h3,.edge-import-preview h4,.edge-import-preview p{margin-top:0}.edge-preview-list,.edge-import-errors{display:grid;gap:var(--spacing-sm)}.edge-preview-list div,.edge-import-errors div{padding:.85rem;border:1px solid var(--surface-raised-border);border-radius:var(--radius-md);background:var(--edge-soft-panel-bg)}.edge-preview-list strong,.edge-preview-list span,.edge-import-errors strong{display:block}.edge-preview-list span{margin-top:.25rem;color:var(--text-tertiary);font-size:.8rem}.edge-preview-list small{display:block;margin-top:.25rem;color:var(--text-tertiary)}.edge-import-errors{margin-top:var(--spacing-md)}.edge-import-errors ul{margin:.55rem 0 0;padding-left:1.2rem;color:var(--edge-danger-text)}@media(max-width:1000px){.edge-hero{grid-template-columns:1fr}.edge-panel-header{flex-direction:column}.edge-summary-grid,.edge-live-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.edge-device-card{grid-template-columns:1fr}.edge-device-actions{justify-content:flex-start;flex-wrap:wrap}.edge-import-layout,.edge-channel-toolbar{grid-template-columns:1fr}.edge-command-actions{flex-direction:column}.edge-form-grid{grid-template-columns:1fr}.edge-command-action-buttons,.edge-status-filters{justify-content:flex-start}}@media(max-width:640px){.edge-protocol-grid,.edge-device-facts,.edge-live-status-grid,.edge-summary-grid{grid-template-columns:1fr}}.operations-page{display:grid;grid-template-columns:minmax(280px,340px) 1fr;gap:18px;height:calc(100vh - 72px);padding:18px;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.ops-tree-panel,.ops-main-panel,.ops-section,.ops-card{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:8px}.ops-tree-panel,.ops-main-panel{min-height:0;overflow:auto}.ops-panel-header,.ops-dashboard-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border-bottom:1px solid var(--border-color)}.ops-panel-header h1,.ops-dashboard-header h2{margin:2px 0 0;font-size:22px;line-height:1.2}.ops-eyebrow,.ops-card-label,.ops-updated,.ops-muted,.ops-list-row small,.ops-live-value small,.ops-table small{color:var(--text-secondary)}.ops-eyebrow{font-size:12px;text-transform:uppercase;font-weight:700}.ops-icon-button,.ops-tree-toggle,.ops-tree-label,.ops-child-card,.ops-trend-buttons button{border:0;background:transparent;color:inherit;cursor:pointer}.ops-icon-button{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--border-color);border-radius:8px}.ops-tree{padding:10px}.ops-tree-row{display:grid;grid-template-columns:22px 1fr 12px auto;align-items:center;gap:7px;min-height:38px;padding:4px 6px;border-radius:7px}.ops-tree-row.selected{background:#00a8841f}.ops-tree-toggle{width:22px;height:22px}.ops-tree-label{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.ops-tree-label span,.ops-list-row strong,.ops-live-value span,.ops-table strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.ops-tree-label small{color:var(--text-secondary);font-size:11px}.ops-tree-children{margin-left:18px;border-left:1px solid var(--border-color)}.ops-dot{width:10px;height:10px;border-radius:999px}.ops-dot.healthy,.ops-status.healthy{background:#00a88426;color:#00a884}.ops-dot.warning,.ops-status.warning{background:#f59e0b2b;color:#d97706}.ops-dot.critical,.ops-status.critical{background:#ef444429;color:#ef4444}.ops-dot.unknown,.ops-status.unknown{background:#94a3b829;color:#94a3b8}.ops-tree-count{min-width:20px;padding:2px 6px;border-radius:999px;background:#ef44441f;color:#ef4444;font-size:11px;text-align:center}.ops-main-panel{padding:0 0 18px}.ops-health-grid{display:grid;grid-template-columns:minmax(260px,1.4fr) repeat(3,minmax(140px,1fr));gap:12px;padding:16px}.ops-card{min-height:96px;padding:14px}.ops-health-card{display:flex;gap:12px}.ops-card-icon,.ops-metric svg{color:#00a884}.ops-health-line{display:flex;align-items:center;gap:8px;margin:8px 0}.ops-status{display:inline-flex;align-items:center;min-height:24px;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:700}.ops-metric{display:grid;align-content:space-between}.ops-metric strong{font-size:26px}.ops-section{margin:0 16px 16px;padding:14px}.ops-section-title{margin-bottom:12px;font-size:14px;font-weight:800}.ops-child-grid,.ops-live-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.ops-child-card,.ops-live-value{display:grid;gap:7px;padding:12px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);text-align:left}.ops-child-card span,.ops-child-card small{color:var(--text-secondary)}.ops-two-column{display:grid;grid-template-columns:1fr 1fr}.ops-list{display:grid;gap:10px}.ops-list-row{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;min-width:0}.ops-list-row>div{display:grid;gap:3px;min-width:0}.ops-live-value.stale{opacity:.72;border-color:#f59e0b73}.ops-table-wrap{overflow:auto}.ops-table{width:100%;border-collapse:collapse}.ops-table th,.ops-table td{padding:10px;border-bottom:1px solid var(--border-color);text-align:left;vertical-align:top}.ops-table td:first-child{display:grid;gap:3px}.ops-trend-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.ops-trend-buttons button{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:7px 10px;border:1px solid var(--border-color);border-radius:8px}.ops-trend-buttons button.active{border-color:#00a884;color:#00a884}.ops-chart{height:240px}.ops-empty{margin:24px;padding:28px;border:1px dashed var(--border-color);border-radius:8px;color:var(--text-secondary)}@media(max-width:980px){.operations-page,.ops-two-column,.ops-health-grid{grid-template-columns:1fr}.operations-page{height:auto;overflow:visible}}.ops-tabs{display:flex;gap:2px;border-bottom:1px solid var(--border-color);margin-bottom:.25rem}.ops-tab{display:inline-flex;align-items:center;gap:7px;padding:.55rem .9rem;border:none;border-bottom:2px solid transparent;background:none;font:inherit;font-size:.88rem;color:var(--text-secondary);cursor:pointer}.ops-tab:hover{color:var(--text-primary)}.ops-tab.active{color:var(--text-primary);font-weight:600;border-bottom-color:var(--primary-500)}.ops-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--status-error);color:#fff;font-size:.68rem;font-weight:600;font-variant-numeric:tabular-nums}.ah-container{padding:var(--spacing-lg, 1.5rem);display:flex;flex-direction:column;gap:1.25rem}.ah-header{display:flex;align-items:center;justify-content:space-between}.ah-header h1{display:flex;align-items:center;gap:.5rem;font-size:1.4rem;color:var(--text-primary)}.ah-refresh{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .8rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;font-size:.85rem}.ah-refresh:disabled{opacity:.6;cursor:default}.ah-spin{animation:ah-spin 1s linear infinite}@keyframes ah-spin{to{transform:rotate(360deg)}}.ah-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem}.ah-card{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-secondary)}.ah-card-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-md);background:var(--bg-tertiary);color:var(--text-secondary);flex-shrink:0}.ah-card.warning .ah-card-icon{background:#f59e0b2b;color:#d97706}.ah-card.critical .ah-card-icon{background:#ef444429;color:#ef4444}.ah-card-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);line-height:1.1}.ah-card-label{font-size:.78rem;color:var(--text-secondary)}.ah-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.ah-filters{display:flex;gap:.4rem;flex-wrap:wrap}.ah-chip{padding:.35rem .85rem;border:1px solid var(--border-color);border-radius:999px;background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;font-size:.82rem}.ah-chip.active{border-color:var(--accent);background:var(--accent-tint);color:var(--text-primary)}.ah-search{display:flex;align-items:center;gap:.5rem;padding:.4rem .7rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-secondary)}.ah-search input{border:none;background:transparent;color:var(--text-primary);outline:none;font-size:.85rem;min-width:180px}.ah-table-wrap{border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-secondary)}.ah-table{width:100%;border-collapse:collapse;font-size:.85rem}.ah-table th{text-align:left;padding:.65rem .9rem;color:var(--text-secondary);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary)}.ah-table td{padding:.6rem .9rem;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.ah-table tbody tr:last-child td{border-bottom:none}.ah-table tbody tr:hover td{background:var(--bg-tertiary)}.ah-num{text-align:right}.ah-asset-name{display:inline-flex;align-items:center;gap:.5rem}.ah-asset-name a{color:var(--text-primary);text-decoration:none}.ah-asset-name a:hover{color:var(--accent);text-decoration:underline}.ah-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.ah-dot.healthy{background:#00a884}.ah-dot.warning{background:#d97706}.ah-dot.critical{background:#ef4444}.ah-dot.unknown{background:#94a3b8}.ah-pill{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.72rem;font-weight:600}.ah-pill.healthy{background:#00a88426;color:#00a884}.ah-pill.warning{background:#f59e0b2b;color:#d97706}.ah-pill.critical{background:#ef444429;color:#ef4444}.ah-pill.unknown{background:#94a3b829;color:#94a3b8}.ah-muted{color:var(--text-secondary)}.ah-warn{color:#d97706}.ah-bad{color:#ef4444;font-weight:600}.ah-empty{padding:2.5rem;text-align:center;color:var(--text-secondary);border:1px dashed var(--border-color);border-radius:var(--radius-lg)}.ah-error{color:#ef4444}.ah-empty-row{text-align:center;color:var(--text-secondary);padding:2rem}.derived-page{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:18px;height:calc(100vh - 72px);padding:18px;color:var(--text-primary);background:var(--bg-primary)}.derived-list,.derived-editor,.derived-section{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:8px}.derived-list,.derived-editor{min-height:0;overflow:auto}.derived-header,.derived-section-title,.derived-runtime{display:flex;align-items:center;justify-content:space-between;gap:12px}.derived-header{padding:16px;border-bottom:1px solid var(--border-color)}.derived-header h1,.derived-header h2,.derived-section h3{margin:0}.derived-eyebrow,.derived-empty,.derived-list-item small,.derived-list-item em,.derived-status-card small,.derived-runtime small{color:var(--text-secondary)}.derived-eyebrow{display:block;margin-bottom:4px;font-size:12px;text-transform:uppercase;font-weight:700}.derived-list-item,.derived-actions button,.derived-section-title button,.derived-icon-button{border:1px solid var(--border-color);background:var(--bg-tertiary);color:inherit;border-radius:8px}.derived-list-item{display:grid;width:calc(100% - 24px);margin:12px;padding:12px;text-align:left;cursor:pointer}.derived-list-item.active{border-color:var(--accent-color)}.derived-icon-button{display:grid;place-items:center;width:34px;height:34px}.derived-actions{display:flex;gap:8px;flex-wrap:wrap}.derived-actions button,.derived-section-title button{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;cursor:pointer}.derived-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px}.derived-form-grid label,.derived-source-row label{display:grid;gap:6px;font-size:13px;color:var(--text-secondary)}.derived-form-grid input,.derived-form-grid select,.derived-form-grid textarea,.derived-source-row input{width:100%;min-width:0;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);padding:9px 10px}.derived-form-grid textarea{min-height:96px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.derived-wide{grid-column:1 / -1}.derived-section{margin:16px;padding:16px}.derived-source-row{display:grid;grid-template-columns:minmax(120px,180px) 1fr auto auto;gap:10px;align-items:center;margin-top:10px}.derived-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:12px}.derived-status-card{display:grid;gap:4px;border:1px solid var(--border-color);border-radius:8px;padding:12px}.derived-preview{color:var(--success-color, #22c55e)}.derived-error{color:var(--danger-color, #ef4444);margin-top:8px}.derived-empty{padding:16px}@media(max-width:900px){.derived-page,.derived-form-grid,.derived-source-row{grid-template-columns:1fr}}.landing-page{--landing-bg: var(--tg-board);--landing-bg-soft: var(--tg-edit);--landing-glass: rgba(20, 21, 24, .74);--landing-glass-strong: rgba(20, 21, 24, .9);--landing-border: var(--tg-line);--landing-text: var(--tg-ink);--landing-muted: var(--tg-muted);--landing-accent: var(--tg-g1a);--landing-accent-strong: var(--tg-g1b);--landing-accent-contrast: #08090b;--landing-shadow: var(--tg-shadow);min-height:100vh;background:radial-gradient(50% 28rem at 50% -8rem,var(--tg-glow),transparent 70%),linear-gradient(180deg,var(--landing-bg) 0%,var(--landing-bg-soft) 56%,#08090b 100%);color:var(--landing-text);font-family:var(--tg-font-ui, "Space Grotesk", system-ui, sans-serif)}body[data-theme=light] .landing-page{--landing-bg: var(--tg-board);--landing-bg-soft: #eef0f4;--landing-glass: rgba(255, 255, 255, .78);--landing-glass-strong: rgba(255, 255, 255, .92);--landing-border: var(--tg-line);--landing-text: var(--tg-ink);--landing-muted: var(--tg-muted);--landing-accent: var(--tg-g1a);--landing-accent-strong: var(--tg-g1b);--landing-accent-contrast: #08090b;--landing-shadow: var(--tg-shadow);background:radial-gradient(50% 28rem at 50% -8rem,var(--tg-glow),transparent 70%),linear-gradient(180deg,var(--tg-board) 0%,#eef0f4 56%,#e9ebef 100%)}.landing-page h1,.landing-page h2,.landing-page h3,.landing-page p{margin:0}.landing-page h1,.landing-page h2,.landing-page h3,.landing-page strong{color:var(--landing-text)}.landing-nav,.landing-shell{width:min(100%,1120px);margin:0 auto;padding-inline:clamp(1rem,3vw,2rem)}.landing-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.75rem}.landing-brand{display:inline-flex;align-items:center;gap:.75rem;color:inherit;text-decoration:none}.landing-brand-mark{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:.75rem;background:#0b0c0e;color:#e7e9ee;border:1px solid rgba(255,255,255,.08);box-shadow:0 10px 26px #6366f147}.landing-brand-copy{display:grid;gap:.08rem}.landing-brand-copy strong{font-size:1rem;font-weight:600;letter-spacing:-.03em}.landing-brand-copy span{color:var(--landing-muted);font-family:var(--tg-font-mono, "IBM Plex Mono", ui-monospace, monospace);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase}.landing-nav-actions{display:flex;align-items:center;gap:.65rem}.landing-nav-link,.landing-nav-button,.landing-primary-action,.landing-secondary-action{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.6rem;padding:.7rem 1.35rem;border-radius:999px;text-decoration:none;font:inherit;font-size:.92rem;font-weight:600;transition:background .16s ease,border-color .16s ease,transform .16s ease}.landing-nav-link{padding-inline:.9rem}.landing-nav-link{color:var(--landing-muted);font-weight:600}.landing-nav-link:hover{color:var(--landing-text)}.landing-nav-button,.landing-primary-action{border:1px solid transparent;background:var(--tg-gradient);color:#08090b;box-shadow:0 10px 28px #6366f152}.landing-secondary-action{border:1px solid var(--landing-border);background:#ffffff0a;color:var(--landing-text)}body[data-theme=light] .landing-secondary-action{background:#ffffff6b}.landing-secondary-action:hover,.landing-nav-button:hover,.landing-primary-action:hover{transform:translateY(-1px)}.landing-shell{display:flex;flex-direction:column}.landing-hero{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(320px,.96fr);gap:clamp(2rem,5vw,4rem);align-items:center;padding:clamp(3rem,8vw,6rem) 0 clamp(3rem,7vw,5rem)}.landing-hero-copy{display:grid;gap:1rem;max-width:44rem}.landing-eyebrow,.landing-section-kicker{color:var(--landing-accent);font-family:var(--tg-font-mono, "IBM Plex Mono", ui-monospace, monospace);font-size:.76rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase}.landing-eyebrow{display:inline-flex;align-items:center;gap:.6rem}.landing-eyebrow .rule{width:1.6rem;height:1px;background:var(--tg-gradient);opacity:.55}.landing-hero-copy h1{max-width:13ch;font-size:clamp(3rem,6vw,4rem);font-weight:600;letter-spacing:-.035em;line-height:.96}.landing-hero-copy h1 em{font-style:normal;background:var(--tg-gradient);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.landing-summary{max-width:36rem;color:var(--landing-muted);font-size:clamp(1.02rem,1.45vw,1.16rem);line-height:1.62}.landing-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.25rem}.landing-preview{position:relative;display:grid;gap:.85rem;padding:1.15rem;border:1px solid var(--landing-border);border-radius:1.125rem;background:var(--landing-glass);box-shadow:var(--landing-shadow);backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%)}.landing-preview:before{content:"";position:absolute;inset:-22% -16%;z-index:-1;background:radial-gradient(closest-side,var(--tg-glow),transparent 72%);opacity:.16;pointer-events:none}.landing-preview-top,.landing-focus-row,.landing-preview-main>div{border:1px solid var(--landing-border);border-radius:.5rem;background:var(--landing-glass-strong)}.landing-preview-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem .95rem}.landing-preview-top span,.landing-preview-main span,.landing-focus-row span{color:var(--landing-muted);font-size:.8rem}.landing-preview-main{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.landing-preview-main>div{padding:.95rem}.landing-preview-main strong{display:block;margin-top:.3rem;font-size:1.75rem;line-height:1}.landing-focus-row{display:flex;align-items:flex-start;gap:.75rem;padding:.95rem}.landing-focus-row svg,.landing-feature-icon,.landing-workflow-list svg{color:var(--landing-accent-strong);flex-shrink:0}.landing-focus-row strong{display:block;margin-top:.24rem;line-height:1.38}.landing-section,.landing-cta{border-top:1px solid var(--landing-border);padding:clamp(2.35rem,5vw,4rem) 0}.landing-section-heading{display:grid;gap:.6rem;max-width:39rem;margin-bottom:clamp(1.75rem,4vw,2.75rem)}.landing-section-heading h2,.landing-cta h2{font-size:clamp(2rem,3.5vw,3.2rem);font-weight:600;letter-spacing:-.026em;line-height:1.04}.landing-section-heading p{color:var(--landing-muted);line-height:1.62}.landing-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.landing-feature-card{display:grid;gap:.6rem;padding:1.5rem;border:1px solid var(--landing-border);border-radius:.75rem;background:var(--landing-glass);transition:transform .16s ease,border-color .16s ease}.landing-feature-card:hover{transform:translateY(-2px);border-color:var(--landing-accent)}.landing-feature-card h3{font-size:1.05rem;font-weight:750}.landing-feature-card p{color:var(--landing-muted);line-height:1.55}.landing-feature-icon{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:.5rem;background:#6366f124}body[data-theme=light] .landing-feature-icon{background:#6366f11c}.landing-cta{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-bottom:4rem}@media(max-width:920px){.landing-hero{grid-template-columns:1fr;padding-top:2.25rem}.landing-feature-grid{grid-template-columns:1fr}.landing-preview{max-width:35rem}}@media(max-width:680px){.landing-nav{align-items:flex-start;flex-direction:column;padding-block:1rem}.landing-nav-actions{width:100%;flex-wrap:wrap}.landing-nav-button{flex:1}.landing-hero-copy h1{font-size:clamp(2.65rem,12vw,4rem)}.landing-preview-main{grid-template-columns:1fr}.landing-cta{align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){.landing-secondary-action,.landing-nav-button,.landing-primary-action{transition:none}}.platform-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr;background:var(--bg-primary);color:var(--text-primary)}.platform-sidebar{display:flex;flex-direction:column;gap:24px;padding:22px 16px;border-right:1px solid var(--border-color);background:var(--bg-secondary)}.platform-brand{display:flex;align-items:center;gap:12px;padding:8px 10px}.platform-brand-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#0b0c0e;color:#e7e9ee;border:1px solid rgba(255,255,255,.08);box-shadow:0 8px 20px #6366f147}.platform-brand span,.platform-account span{display:block;color:var(--text-secondary);font-size:13px}.platform-brand div>span{color:var(--text-primary);font-family:var(--tg-font-ui, "Space Grotesk", system-ui, sans-serif);font-size:18px;font-weight:600;letter-spacing:-.03em}.platform-brand strong{display:block;color:var(--text-secondary);font-family:var(--tg-font-mono, "IBM Plex Mono", ui-monospace, monospace);letter-spacing:.18em;font-size:10px}.platform-nav{display:flex;flex-direction:column;gap:6px}.platform-nav a,.platform-account button,.platform-back-link{display:inline-flex;align-items:center;gap:10px;color:var(--text-primary);text-decoration:none}.platform-nav a{min-height:42px;padding:0 12px;border-radius:6px}.platform-nav a.active,.platform-nav a:hover{background:var(--bg-tertiary)}.platform-account{margin-top:auto;display:grid;gap:10px;padding:10px}.platform-account button,.platform-form button{border:0;border-radius:6px;min-height:40px;padding:0 14px;background:var(--accent);color:var(--accent-contrast);cursor:pointer}.platform-main{min-width:0;padding:24px}.platform-auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg-primary);color:var(--text-primary)}.platform-back-link{position:fixed;left:24px;top:22px;color:var(--text-secondary)}.platform-auth-panel{width:min(420px,100%);display:grid;gap:18px;padding:28px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary)}.platform-enroll-panel{width:min(520px,100%)}.platform-auth-mark{width:52px;height:52px;display:grid;place-items:center;border-radius:14px;background:#0b0c0e;color:#e7e9ee;border:1px solid rgba(255,255,255,.08);box-shadow:0 10px 26px #6366f147}.platform-kicker{margin:0;color:var(--text-secondary);font-size:13px;text-transform:uppercase}.platform-auth-panel h1{margin:0;font-size:28px}.platform-form{display:grid;gap:14px}.platform-form label{display:grid;gap:7px;color:var(--text-secondary);font-size:13px}.platform-form label span{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 12px;border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);background:var(--bg-primary)}.platform-form input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--text-primary)}.platform-form button{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600}.platform-form button:disabled{cursor:not-allowed;opacity:.65}.platform-qr-wrap{display:grid;grid-template-columns:176px 1fr;gap:16px;align-items:center}.platform-qr-wrap img{width:176px;height:176px;border:1px solid var(--border-color);border-radius:6px;background:#fff}.platform-qr-wrap div{display:grid;gap:8px}.platform-qr-wrap span{color:var(--text-secondary);font-size:13px}.platform-qr-wrap code{word-break:break-word;padding:10px;border-radius:6px;background:var(--bg-primary)}@media(max-width:760px){.platform-shell{grid-template-columns:1fr}.platform-sidebar{position:static}.platform-main{padding:16px}.platform-qr-wrap{grid-template-columns:1fr}}.platform-org-page{display:grid;gap:18px}.platform-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.platform-page-header h1{margin:4px 0 0;font-size:28px}.platform-toolbar{display:flex;align-items:center;gap:10px}.platform-search{min-width:260px;min-height:40px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary)}.platform-search input,.platform-toolbar select,.platform-quota-form input,.platform-lifecycle-box textarea{border:0;outline:0;background:transparent;color:var(--text-primary)}.platform-search input{min-width:0;width:100%}.platform-toolbar select{min-height:40px;padding:0 10px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary)}.platform-org-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start}.platform-table-wrap,.platform-detail-panel{border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);overflow:hidden}.platform-org-table{width:100%;border-collapse:collapse}.platform-org-table th,.platform-org-table td{padding:12px 14px;border-bottom:1px solid var(--border-color);text-align:left;vertical-align:middle;font-size:13px}.platform-org-table th{color:var(--text-secondary);font-weight:600;background:var(--bg-tertiary)}.platform-org-table tr{cursor:pointer}.platform-org-table tbody tr:hover,.platform-org-table tbody tr.selected{background:var(--bg-hover)}.platform-org-table td strong,.platform-org-table td span{display:block}.platform-org-table td span{margin-top:2px;color:var(--text-secondary)}.platform-status{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:700}.platform-status-active{color:var(--status-success);background:#10b9811f}.platform-status-trial{color:var(--status-warning);background:#f59e0b24}.platform-status-suspended{color:var(--status-error);background:#ef444424}.platform-detail-panel{display:grid;gap:16px;padding:16px}.platform-detail-title{display:flex;align-items:center;gap:12px}.platform-detail-title h2{margin:0;font-size:20px}.platform-detail-title span{color:var(--text-secondary);font-size:13px}.platform-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.platform-metric{display:grid;gap:4px;padding:10px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary)}.platform-metric span,.platform-quota-form label,.platform-lifecycle-box p{color:var(--text-secondary);font-size:12px}.platform-metric strong{font-size:18px}.platform-quota-form,.platform-lifecycle-box{display:grid;gap:10px}.platform-quota-form h3,.platform-lifecycle-box h3{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:15px}.platform-quota-form label{display:grid;grid-template-columns:1fr 110px;align-items:center;gap:8px}.platform-quota-form input,.platform-lifecycle-box textarea{width:100%;min-height:36px;padding:0 10px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary)}.platform-lifecycle-box textarea{min-height:82px;padding:10px;resize:vertical}.platform-quota-form button,.platform-lifecycle-box button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:6px;background:var(--accent);color:var(--accent-contrast);cursor:pointer}.platform-lifecycle-box button{background:var(--status-error);color:#fff}.platform-lifecycle-box button:has(svg+*){width:100%}.platform-empty{padding:18px;color:var(--text-secondary)}.platform-feature-page{display:grid;gap:18px}.platform-feature-summary{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 14px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary)}.platform-feature-summary div{display:flex;align-items:center;gap:10px;min-width:0}.platform-feature-summary span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.platform-feature-summary strong{color:var(--text-secondary);font-size:13px;white-space:nowrap}.platform-feature-page .platform-table-wrap{overflow:auto}.platform-feature-table{width:100%;min-width:860px;border-collapse:collapse}.platform-feature-table th,.platform-feature-table td{padding:12px 14px;border-bottom:1px solid var(--border-color);text-align:left;vertical-align:middle;font-size:13px}.platform-feature-table th{color:var(--text-secondary);font-weight:600;background:var(--bg-tertiary)}.platform-feature-table td strong,.platform-feature-table td span{display:block}.platform-feature-table td strong{word-break:break-word}.platform-feature-table td span{margin-top:2px;color:var(--text-secondary)}.platform-feature-category-row td{color:var(--text-secondary);font-size:12px;font-weight:700;text-transform:uppercase;background:var(--bg-primary)}.platform-source{display:inline-flex!important;align-items:center;min-height:24px;width:max-content;padding:0 8px;border-radius:999px;font-size:12px;font-weight:700}.platform-source-default{color:var(--text-secondary);background:var(--bg-primary)}.platform-source-global{color:var(--status-warning);background:#f59e0b24}.platform-source-tenant{color:var(--status-success);background:#10b9811f}.platform-override-controls{display:grid;grid-template-columns:72px 72px 36px;gap:6px;align-items:center}.platform-override-controls button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);cursor:pointer}.platform-override-controls button.active{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast)}.platform-override-controls button:disabled{cursor:not-allowed;opacity:.55}@media(max-width:1120px){.platform-org-layout{grid-template-columns:1fr}}@media(max-width:760px){.platform-page-header,.platform-toolbar{align-items:stretch;flex-direction:column}.platform-search{min-width:0}.platform-feature-summary{align-items:flex-start;flex-direction:column;padding:12px 14px}}.platform-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .85rem;font-size:.85rem;font-weight:600;color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer}.platform-btn:hover:not(:disabled){background:var(--bg-hover)}.platform-btn:disabled{opacity:.5;cursor:default}.audit-filters{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0}.audit-filters select{padding:.45rem .6rem;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;font-size:.85rem}.audit-date{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;color:var(--text-secondary)}.audit-date input{padding:.4rem .5rem;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;font-size:.82rem}.audit-search{display:inline-flex;align-items:center;gap:.4rem;flex:1 1 240px;padding:0 .6rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px}.audit-search input{flex:1;border:none;background:transparent;color:var(--text-primary);padding:.45rem 0;outline:none;font-size:.85rem}.audit-table-wrap{overflow-x:auto;border:1px solid var(--border-color);border-radius:10px}.audit-table{width:100%;border-collapse:collapse;font-size:.83rem}.audit-table th,.audit-table td{text-align:left;padding:.55rem .75rem;border-bottom:1px solid var(--border-color);white-space:nowrap}.audit-table th{color:var(--text-secondary);font-weight:600;background:var(--bg-tertiary)}.audit-empty{text-align:center;color:var(--text-secondary);padding:2rem}.audit-row-impersonation{background:#f59e0b14}.audit-row-auth-failure{background:#dc262614}.audit-badge{display:inline-block;padding:.12rem .5rem;border-radius:999px;font-size:.72rem;font-weight:600;background:var(--bg-tertiary);border:1px solid var(--border-color)}.audit-badge-impersonation{background:#f59e0b2e;border-color:#b45309}.audit-badge-auth{background:#3b82f629}.audit-badge-auth-failure{background:#dc26262e;border-color:#991b1b;color:#fff}.audit-link{background:none;border:none;color:var(--accent);cursor:pointer;padding:.2rem}.audit-pager{display:flex;align-items:center;gap:1rem;justify-content:center;margin:1rem 0;font-size:.85rem;color:var(--text-secondary)}.platform-drawer-backdrop{position:fixed;inset:0;background:#00000073;display:flex;justify-content:flex-end;z-index:80}.platform-drawer{width:min(540px,92vw);height:100%;overflow-y:auto;background:var(--bg-primary);border-left:1px solid var(--border-color);padding:1.25rem}.platform-drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.platform-drawer-head button{background:none;border:none;color:var(--text-secondary);cursor:pointer}.audit-detail{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;font-size:.85rem;margin-bottom:1rem}.audit-detail dt{color:var(--text-secondary)}.audit-detail dd{margin:0;color:var(--text-primary);word-break:break-all}.audit-json{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:.75rem;font-size:.78rem;white-space:pre-wrap;word-break:break-word;max-height:50vh;overflow:auto}.platform-support-page{display:grid;gap:18px}.support-header{gap:18px}.support-header h1{display:inline-flex;align-items:center;gap:10px}.support-search{min-width:min(520px,100%);display:grid;grid-template-columns:auto minmax(180px,1fr) auto;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary)}.support-search input{min-width:0;border:0;outline:0;color:var(--text-primary);background:transparent}.support-search button,.support-primary-btn{border-color:transparent;background:var(--accent);color:var(--accent-contrast)}.support-layout{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:18px;align-items:start}.support-results,.support-section,.support-org-band,.support-metric{border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary)}.support-results{min-height:320px;overflow:hidden}.support-panel-title,.support-section h3{display:flex;align-items:center;gap:8px;margin:0;padding:12px 14px;border-bottom:1px solid var(--border-color);font-size:.9rem}.support-section h3 span{margin-left:auto;color:var(--text-secondary);font-size:.78rem}.support-result-list{display:grid;max-height:68vh;overflow-y:auto}.support-result-list button{display:grid;gap:4px;width:100%;padding:12px 14px;border:0;border-bottom:1px solid var(--border-color);color:var(--text-primary);text-align:left;background:transparent;cursor:pointer}.support-result-list button:hover,.support-result-list button.selected{background:var(--bg-tertiary)}.support-result-kind{width:fit-content;padding:2px 7px;border:1px solid var(--border-color);border-radius:999px;color:var(--text-secondary);font-size:.7rem}.support-result-list small,.support-row span,.support-row small,.support-audit-row span,.support-audit-row small,.support-org-band p{color:var(--text-secondary)}.support-diagnostics{display:grid;gap:18px;min-width:0}.support-org-band{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px}.support-org-band h2{margin:8px 0 4px;font-size:1.35rem}.support-org-band p{margin:0}.support-status{display:inline-flex;align-items:center;width:fit-content;min-height:24px;padding:2px 8px;border:1px solid var(--border-color);border-radius:999px;color:var(--text-secondary);font-size:.74rem;font-weight:700}.support-status.good{color:var(--status-success);border-color:#22c55e80;background:#22c55e1a}.support-status.warn{color:var(--status-warning);border-color:#f59e0b80;background:#f59e0b1a}.support-status.bad{color:var(--status-error);border-color:#ef444480;background:#ef44441a}.support-metric-grid{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px}.support-metric{display:grid;gap:6px;min-height:96px;padding:12px}.support-metric svg{color:var(--accent)}.support-metric span{color:var(--text-secondary);font-size:.76rem}.support-metric strong{font-size:1.05rem}.support-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.support-section-grid.wide{grid-template-columns:repeat(2,minmax(0,1fr))}.support-row-list,.support-audit-list{display:grid}.support-row,.support-audit-row{display:grid;gap:6px;padding:12px 14px;border-bottom:1px solid var(--border-color)}.support-row:last-child,.support-audit-row:last-child{border-bottom:0}.support-row>div,.support-audit-row>div{display:grid;gap:3px;min-width:0}.support-row strong,.support-audit-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.support-row .support-status{justify-self:start}.support-audit-row pre{max-height:120px;overflow:auto;margin:0;padding:8px;border-radius:6px;background:var(--bg-tertiary);color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;font-size:.72rem}.support-empty{padding:18px 14px;color:var(--text-secondary);font-size:.86rem}.support-empty.large{min-height:320px;display:grid;place-items:center;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary)}.support-empty.compact{padding:16px 14px}.support-modal-backdrop{justify-content:center;align-items:center}.support-impersonation-modal{width:min(520px,calc(100vw - 32px));display:grid;gap:14px;padding:18px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);box-shadow:0 20px 70px #00000059}.support-impersonation-modal label{display:grid;gap:7px;color:var(--text-secondary);font-size:.84rem}.support-impersonation-modal select,.support-impersonation-modal textarea{width:100%;border:1px solid var(--border-color);border-radius:8px;padding:10px;color:var(--text-primary);background:var(--bg-secondary)}.support-checkbox{grid-template-columns:auto 1fr;align-items:center}.support-checkbox span,.support-target-note,.support-modal-actions{display:flex;align-items:center;gap:8px}.support-target-note{padding:10px;border-radius:8px;background:var(--bg-secondary);color:var(--text-secondary);font-size:.86rem}.support-modal-actions{justify-content:flex-end}@media(max-width:1180px){.support-metric-grid{grid-template-columns:repeat(3,minmax(140px,1fr))}}@media(max-width:920px){.support-layout,.support-section-grid,.support-section-grid.wide{grid-template-columns:1fr}.support-result-list{max-height:260px}}@media(max-width:640px){.support-search{min-width:0;grid-template-columns:auto minmax(0,1fr)}.support-search button{grid-column:1 / -1;justify-content:center}.support-org-band{align-items:stretch;flex-direction:column}.support-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.health-pill{display:inline-flex;align-items:center;min-height:24px;width:max-content;padding:0 10px;border-radius:999px;font-size:12px;font-weight:700}.health-ok{color:var(--status-success);background:#10b9811f}.health-warn{color:var(--status-warning);background:#f59e0b24}.health-down{color:var(--status-error);background:#ef444424}.health-section{display:grid;gap:10px}.health-section h2{margin:0;font-size:13px;font-weight:700;text-transform:uppercase;color:var(--text-secondary)}.health-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.health-tile{display:grid;gap:6px;padding:12px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary)}.health-tile span{color:var(--text-secondary);font-size:12px}.health-tile strong{font-size:20px}.health-grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}.health-link{color:var(--accent);text-decoration:none}.health-link:hover{text-decoration:underline}.health-exceptions{display:grid;gap:8px}.health-exception{display:grid;gap:4px;padding:10px 12px;border:1px solid var(--border-color);border-left:3px solid var(--status-error);border-radius:6px;background:var(--bg-secondary)}.health-exception code{font-size:12px;color:var(--text-secondary);word-break:break-word}@media(max-width:980px){.health-grid2{grid-template-columns:1fr}}.login-b2{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr;grid-template-rows:minmax(100vh,1fr);background:var(--bg);color:var(--ink);font-family:var(--tg-font-ui, "Space Grotesk", system-ui, sans-serif)}.lg-stage{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:50px 52px;background:radial-gradient(50% 60% at 50% 20%,var(--tg-glow),transparent 70%),var(--tg-board);color:var(--tg-ink)}body[data-theme=dark] .lg-stage{background:radial-gradient(50% 60% at 50% 20%,var(--tg-glow),transparent 70%),var(--tg-board);color:var(--tg-ink)}.lg-stage:after{content:"";position:absolute;right:-130px;bottom:-150px;width:400px;height:400px;border-radius:50%;background:#6366f11a}.lg-stage:before{content:"";position:absolute;right:-50px;top:-90px;width:260px;height:260px;border-radius:50%;border:1px solid var(--tg-line)}.lg-top{position:absolute;top:50px;left:52px;right:52px;display:flex;align-items:center;justify-content:space-between;gap:1rem;z-index:2}.lg-chip{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--tg-muted);border:1px solid var(--tg-line);border-radius:999px;padding:7px 13px;text-decoration:none;background:transparent;font-family:inherit;cursor:pointer;transition:background .15s ease,color .15s ease}.lg-chip:hover{background:var(--tg-chip);color:var(--tg-ink)}body[data-theme=dark] .lg-chip{color:var(--tg-muted)}.lg-mid{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center}.lg-biglogo{display:grid;place-items:center;margin-bottom:24px;color:var(--tg-ink);filter:drop-shadow(0 12px 32px var(--tg-glow))}.lg-bname{font-family:var(--tg-font-ui, "Space Grotesk", system-ui, sans-serif);font-weight:600;font-size:22px;letter-spacing:-.03em;color:var(--tg-ink)}body[data-theme=dark] .lg-bname{color:var(--tg-ink)}.lg-mid h1{font-family:var(--tg-font-ui, "Space Grotesk", system-ui, sans-serif);font-weight:600;font-size:46px;line-height:1.08;letter-spacing:-.03em;color:var(--tg-ink);margin:22px 0 16px}body[data-theme=dark] .lg-mid h1{color:var(--tg-ink)}.lg-mid h1 em{font-style:normal;background:var(--tg-gradient);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.login-b2.dark .lg-mid h1 em{color:transparent}.lg-sum{max-width:410px;margin:0;font-size:16px;line-height:1.6;color:var(--tg-muted)}body[data-theme=dark] .lg-sum{color:var(--tg-muted)}.lg-form{display:flex;align-items:center;justify-content:center;padding:52px;background:var(--bg)}.lg-card{width:100%;max-width:400px}.lg-eye{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--teal)}.lg-card h2{font-family:var(--tg-font-ui, "Space Grotesk", system-ui, sans-serif);font-weight:600;letter-spacing:-.02em;font-size:31px;line-height:1.08;color:var(--ink);margin:12px 0 10px}.lg-lead{font-size:14px;line-height:1.55;color:var(--ink-2);margin:0 0 26px}.lg-field{margin-bottom:18px}.lg-field label{display:block;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:8px}.lg-input{display:flex;align-items:center;gap:11px;height:50px;padding:0 15px;border:1px solid var(--line-2);border-radius:12px;background:var(--paper);color:var(--ink-3);transition:border-color .16s ease,box-shadow .16s ease,color .16s ease}.lg-input:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-tint);color:var(--teal)}.lg-input svg{flex:none}.lg-input input{width:100%;height:100%;padding:0;border:0;background:transparent;box-shadow:none;color:var(--ink);font:inherit;font-size:15px}.lg-input input:focus{outline:none;box-shadow:none;border:0}.lg-input input::placeholder{color:var(--ink-3)}.lg-submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:8px;padding:15px;border:none;border-radius:999px;background:var(--tg-gradient);color:#08090b;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .16s ease,transform .16s ease}body[data-theme=dark] .lg-submit{color:#08090b}.lg-submit:hover:not(:disabled){transform:translateY(-1px)}.lg-submit:disabled{cursor:not-allowed;opacity:.65}.lg-foot{display:flex;align-items:center;gap:16px;margin-top:24px;font-size:12.5px;color:var(--ink-3)}.lg-foot .d{width:4px;height:4px;border-radius:50%;background:var(--line-2)}@media(max-width:900px){.login-b2{grid-template-columns:1fr;grid-template-rows:auto auto}.lg-stage{min-height:60vh;padding:84px 32px 48px}.lg-top{top:24px;left:24px;right:24px}.lg-mid h1{font-size:38px}}@media(max-width:540px){.lg-form{padding:32px 24px}.lg-foot{flex-wrap:wrap;gap:10px}}:root{--primary-hue: 239;--primary-sat: 84%;--primary-light: 67%;--primary-200: #c7d2fe;--primary-300: #a5b4fc;--primary-400: #818cf8;--primary-500: #6366f1;--primary-600: #4f46e5;--primary-700: #3730a3;--primary-rgb: 99, 102, 241;--gradient-primary: linear-gradient(120deg, #6366f1 0%, #22d3ee 100%);--gradient-success: linear-gradient(120deg, #6366f1 0%, #22d3ee 100%);--gradient-warning: linear-gradient(135deg, #d69a54 0%, #c1762a 100%);--gradient-danger: linear-gradient(135deg, #fa709a 0%, #fee140 100%);--status-success: #10b981;--status-warning: #f59e0b;--status-error: #ef4444;--status-info: #22d3ee;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--tg-board: #0b0c0e;--tg-card: #141518;--tg-edit: #0e0f12;--tg-line: #23252b;--tg-chip: rgba(255, 255, 255, .05);--tg-ink: #e7e9ee;--tg-muted: #8a8f9a;--tg-g1a: #6366f1;--tg-g1b: #22d3ee;--tg-gradient: linear-gradient(120deg, var(--tg-g1a), var(--tg-g1b));--tg-glow: rgba(99, 102, 241, .2);--tg-shadow: 0 30px 80px rgba(0, 0, 0, .55);--tg-font-ui: "Space Grotesk", system-ui, sans-serif;--tg-font-mono: "IBM Plex Mono", ui-monospace, monospace;--bg-primary: var(--tg-board);--bg-secondary: var(--tg-card);--bg-tertiary: var(--tg-edit);--bg-elevated: #1d1f25;--bg-header: rgba(11, 12, 14, .88);--bg-hover: rgba(99, 102, 241, .08);--text-primary: var(--tg-ink);--text-secondary: var(--tg-muted);--text-tertiary: #6f7480;--border-color: var(--tg-line);--border-color-hover: rgba(99, 102, 241, .36);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .28);--shadow-md: 0 4px 12px rgba(0, 0, 0, .34);--shadow-lg: 0 18px 44px rgba(0, 0, 0, .42);--surface-raised-bg: linear-gradient(180deg, rgba(20, 21, 24, .98), rgba(14, 15, 18, .98));--surface-raised-bg-soft: linear-gradient(180deg, rgba(29, 31, 37, .84), rgba(20, 21, 24, .94));--surface-raised-border: var(--tg-line);--surface-raised-shadow: var(--tg-shadow);--surface-raised-shadow-soft: 0 12px 30px rgba(0, 0, 0, .32);--surface-inset-highlight: inset 0 1px 0 rgba(255, 255, 255, .05);--accent: #6366f1;--accent-strong: #22d3ee;--accent-tint: rgba(99, 102, 241, .16);--accent-contrast: #08090b;--amber: #22d3ee;--amber-tint: rgba(34, 211, 238, .14);--bg: var(--bg-primary);--paper: var(--bg-secondary);--paper-2: var(--bg-tertiary);--ink: var(--text-primary);--ink-2: var(--text-secondary);--ink-3: var(--text-tertiary);--line: var(--border-color);--line-2: var(--border-color-hover);--teal: var(--accent);--teal-d: var(--accent-strong);--teal-tint: var(--accent-tint);--t-loc: #a5b4fc;--t-plt: #818cf8;--t-mch: #22d3ee;--t-sen: #67e8f9;--ok: #46c08a;--warn: #d99a52;--off: #8a8273}[data-theme=light]{--tg-board: #f4f5f7;--tg-card: #ffffff;--tg-edit: #ffffff;--tg-line: #e6e8ec;--tg-chip: rgba(11, 12, 14, .04);--tg-ink: #0b0c0e;--tg-muted: #6b7280;--tg-g1a: #6366f1;--tg-g1b: #0891b2;--tg-glow: rgba(99, 102, 241, .13);--tg-shadow: 0 24px 60px rgba(30, 40, 80, .12);--bg-primary: var(--tg-board);--bg-secondary: var(--tg-card);--bg-tertiary: #eef0f4;--bg-elevated: #e6e8ec;--bg-header: rgba(255, 255, 255, .9);--bg-hover: rgba(99, 102, 241, .06);--text-primary: var(--tg-ink);--text-secondary: var(--tg-muted);--text-tertiary: #9aa0ab;--border-color: var(--tg-line);--border-color-hover: rgba(99, 102, 241, .26);--shadow-sm: 0 1px 2px rgba(30, 40, 80, .04);--shadow-md: 0 2px 6px rgba(30, 40, 80, .06);--shadow-lg: var(--tg-shadow);--surface-raised-bg: linear-gradient(180deg, #ffffff, #f4f5f7);--surface-raised-bg-soft: linear-gradient(180deg, #ffffff, #f8f9fb);--surface-raised-border: var(--tg-line);--surface-raised-shadow: var(--tg-shadow);--surface-raised-shadow-soft: 0 8px 22px rgba(30, 40, 80, .06);--surface-inset-highlight: inset 0 1px 0 rgba(255, 255, 255, .6);--accent: #6366f1;--accent-strong: #0891b2;--accent-tint: rgba(99, 102, 241, .12);--accent-contrast: #ffffff;--amber: #0891b2;--amber-tint: rgba(8, 145, 178, .1);--primary-200: #c7d2fe;--primary-300: #a5b4fc;--primary-400: #6366f1;--primary-500: #6366f1;--primary-600: #4f46e5;--primary-700: #3730a3;--primary-rgb: 99, 102, 241;--gradient-primary: linear-gradient(120deg, #6366f1 0%, #0891b2 100%);--t-loc: #4f46e5;--t-plt: #6366f1;--t-mch: #0891b2;--t-sen: #0e7490;--ok: #2f9e6f;--warn: #c1762a;--off: #9a9385;--status-success: #047857;--status-warning: #b45309;--status-error: #c62828;--status-info: #0e7490;--bg: var(--bg-primary);--paper: var(--bg-secondary);--paper-2: var(--bg-tertiary);--ink: var(--text-primary);--ink-2: var(--text-secondary);--ink-3: var(--text-tertiary);--line: var(--border-color);--line-2: var(--border-color-hover);--teal: var(--accent);--teal-d: var(--accent-strong);--teal-tint: var(--accent-tint)}body[data-theme=dark]{--primary-hue: 239;--primary-sat: 84%;--primary-light: 67%;--primary-200: #c7d2fe;--primary-300: #a5b4fc;--primary-400: #818cf8;--primary-500: #6366f1;--primary-600: #4f46e5;--primary-700: #3730a3;--primary-rgb: 99, 102, 241;--gradient-primary: linear-gradient(120deg, #6366f1 0%, #22d3ee 100%)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--tg-font-ui, "Space Grotesk", system-ui, sans-serif);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-base),color var(--transition-base)}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.25;color:var(--text-primary);margin-bottom:var(--spacing-md)}h1{font-size:2.25rem;letter-spacing:-.025em}h2{font-size:1.875rem;letter-spacing:-.025em}h3{font-size:1.5rem}h4{font-size:1.25rem}.card{background:var(--surface-raised-bg);border:1px solid var(--surface-raised-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:transform var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base),background var(--transition-base);box-shadow:var(--surface-raised-shadow-soft),var(--surface-inset-highlight);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.card:hover{transform:translateY(-2px);border-color:var(--border-color-hover);box-shadow:var(--surface-raised-shadow),var(--surface-inset-highlight)}.glass{background:var(--bg-header);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}input,select,textarea{background:var(--surface-raised-bg-soft);border:1px solid var(--surface-raised-border);color:var(--text-primary);padding:.625rem .875rem;border-radius:var(--radius-md);font-family:inherit;font-size:.9rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast),transform var(--transition-fast);box-shadow:var(--surface-inset-highlight)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary-400);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.16)}table{width:100%;border-collapse:separate;border-spacing:0}th{color:var(--text-tertiary);font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;padding:1rem;border-bottom:1px solid var(--border-color)}td{padding:1rem;border-bottom:1px solid var(--border-color);vertical-align:middle}tr:hover td{background-color:var(--bg-hover)}.bg-primary{background-color:var(--bg-primary)!important}.bg-elevated{background-color:var(--bg-elevated)!important}.text-primary{color:var(--text-primary)!important}.text-secondary{color:var(--text-secondary)!important}.text-tertiary{color:var(--text-tertiary)!important}.border-color{border-color:var(--border-color)!important}.bg-gray-950{background-color:var(--bg-primary)!important}.border-b{border-bottom:1px solid var(--border-color)}.border-t{border-top:1px solid var(--border-color)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;border-radius:var(--radius-md);font-weight:600;font-size:.875rem;cursor:pointer;transition:all var(--transition-base);border:none}.btn-primary{background:var(--gradient-primary);color:var(--accent-contrast);box-shadow:0 4px 12px rgba(var(--primary-rgb),.25)}.btn-primary:hover{transform:translateY(-1px);opacity:.95}.btn-secondary{background:var(--surface-raised-bg-soft);color:var(--text-primary);border:1px solid var(--surface-raised-border);box-shadow:var(--surface-raised-shadow-soft),var(--surface-inset-highlight)}.btn-secondary:hover{background:var(--surface-raised-bg);border-color:var(--border-color-hover);transform:translateY(-1px)}.surface-3d,.table-container,.modal-content,.dashboard-card,.org-card,.role-card,.settings-section,.protocol-card,.widget-card{background:var(--surface-raised-bg);border:1px solid var(--surface-raised-border);box-shadow:var(--surface-raised-shadow-soft),var(--surface-inset-highlight);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.surface-3d:hover,.dashboard-card:hover,.org-card:hover,.role-card:hover,.widget-card:hover{box-shadow:var(--surface-raised-shadow),var(--surface-inset-highlight)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--bg-elevated)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}::selection{background:rgba(var(--primary-rgb),.32)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.badge{padding:.25rem .5rem;border-radius:9999px;font-size:.7rem;font-weight:600;text-transform:uppercase}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.p-6{padding:1.5rem}.mb-6{margin-bottom:1.5rem}.text-2xl{font-size:1.5rem}.w-full{width:100%}.h-full{height:100%}.h-screen{height:100vh}.space-y-2>*+*{margin-top:.5rem}.space-y-4>*+*{margin-top:1rem}.space-y-5>*+*{margin-top:1.25rem}.space-y-6>*+*{margin-top:1.5rem}.space-y-8>*+*{margin-top:2rem}.text-right{text-align:right}.rounded-lg{border-radius:var(--radius-lg)}.space-x-2>*+*{margin-left:.5rem}.relative{position:relative}.absolute{position:absolute}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fixed{position:fixed}.inset-0{inset:0}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[101\]{z-index:101}.bg-black\/60{background-color:#0009}.bg-gray-900\/50{background-color:#11182780}.bg-gray-950\/30{background-color:#0307124d}.bg-secondary{background-color:var(--bg-secondary)!important}.bg-tertiary{background-color:var(--bg-tertiary)!important}.backdrop-blur-sm{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.max-w-5xl{max-width:64rem}.max-h-\[90vh\]{max-height:90vh}.overflow-y-auto{overflow-y:auto}.flex-1{flex:1;min-width:0}.flex-none{flex:none}.min-h-0{min-height:0}.justify-center{justify-content:center}.animate-scale-in{animation:scaleIn .2s ease-out forwards}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.p-4{padding:1rem}.rounded-2xl{border-radius:1rem}.rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.border-primary-500{border-color:var(--primary-500)!important}.bg-primary-500\/10{background-color:rgba(var(--primary-rgb),.1)!important}.shadow-primary-500\/10{box-shadow:0 10px 15px -3px rgba(var(--primary-rgb),.1)!important}.border-status-success{border-color:var(--status-success)!important}.bg-status-success\/10{background-color:#10b9811a!important}.shadow-status-success\/10{box-shadow:0 10px 15px -3px #10b9811a!important}.border-color-hover{border-color:var(--border-color-hover)!important}.text-blue-400{color:var(--accent)!important}.text-green-400{color:#4ade80!important}.text-indigo-400,.text-indigo-300\/70,.text-blue-300,.text-blue-400,.text-blue-500,.text-indigo-500{color:var(--accent)!important}.bg-blue-600,.hover\:bg-blue-500:hover,.hover\:bg-blue-700:hover,.bg-indigo-500,.bg-indigo-600\/20{background:var(--gradient-primary)!important;color:var(--accent-contrast)!important}.bg-blue-500\/10,.bg-blue-500\/20,.bg-blue-600\/20,.bg-blue-900\/10,.bg-indigo-500\/10,.bg-indigo-600\/20,.border-indigo-500\/20,.border-blue-500\/20,.border-blue-500\/30,.border-blue-500\/50{background-color:rgba(var(--primary-rgb),.12)!important;border-color:rgba(var(--primary-rgb),.24)!important}.border-indigo-500,.focus\:border-indigo-500:focus,.focus\:ring-indigo-500:focus,.hover\:border-indigo-500\/30:hover{border-color:var(--accent)!important}.shadow-indigo-500\/30,.shadow-\[0_0_20px_rgba\(99\,102\,241\,0\.15\)\]{box-shadow:0 0 20px rgba(var(--primary-rgb),.18)!important}.text-gray-300{color:#d1d5db!important}.text-gray-400{color:#9ca3af!important}.text-gray-500{color:#6b7280!important}.text-gray-600{color:#4b5563!important}.hover\:bg-white\/5:hover{background-color:#ffffff0d}.bg-indigo-500\/10{background-color:rgba(var(--primary-rgb),.1)!important}.shadow-xl{box-shadow:var(--shadow-lg)}.shadow-2xl{box-shadow:0 25px 50px -12px #00000080}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-mono{font-family:var(--tg-font-mono, "IBM Plex Mono", ui-monospace, monospace)}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.opacity-20{opacity:.2}.opacity-60{opacity:.6}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.appearance-none{appearance:none}.outline-none{outline:2px solid transparent;outline-offset:2px}.shadow-inner{box-shadow:inset 0 2px 4px #0000000f}.shadow-sm{box-shadow:0 1px 2px #0000000d}.animate-fade-in{animation:fadeIn .3s ease-out forwards}.animate-fade-in-up{animation:fadeInUp .4s ease-out forwards}.animate-spin{animation:spin 1s linear infinite}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.inset-y-0{top:0;bottom:0}.pointer-events-none{pointer-events:none}.pl-4{padding-left:1rem}.pl-11{padding-left:2.75rem}.pr-4{padding-right:1rem}.top-1{top:.25rem}.left-1{left:.25rem}.translate-x-7{transform:translate(1.75rem)}.translate-x-0{transform:translate(0)}body[data-theme=light] .landing-hero-copy h1,body[data-theme=light] .landing-section h2,body[data-theme=light] .landing-team-band h2,body[data-theme=light] .landing-cta h2,body[data-theme=light] .landing-showcase-hero strong,body[data-theme=light] .login-stage-copy h1,body[data-theme=light] .login-card-header h2,body[data-theme=light] .dashboard-title h2,body[data-theme=light] .main-value,body[data-theme=light] .stat-value,body[data-theme=light] .sensor-name{font-family:var(--tg-font-ui, "Space Grotesk", system-ui, sans-serif);font-weight:500;letter-spacing:-.01em}body[data-theme=light] .main-value,body[data-theme=light] .stat-value{font-weight:600}body[data-theme=dark] .landing-hero-copy h1,body[data-theme=dark] .landing-section h2,body[data-theme=dark] .landing-team-band h2,body[data-theme=dark] .landing-cta h2,body[data-theme=dark] .landing-showcase-hero strong,body[data-theme=dark] .login-stage-copy h1,body[data-theme=dark] .login-card-header h2,body[data-theme=dark] .dashboard-title h2,body[data-theme=dark] .analytics-hero h1,body[data-theme=dark] .analytics-panel h2,body[data-theme=dark] .alarms-hero h1,body[data-theme=dark] .panel-header h2,body[data-theme=dark] .rule-editor-header h3,body[data-theme=dark] .main-value,body[data-theme=dark] .stat-value,body[data-theme=dark] .sensor-name,body[data-theme=light] .analytics-hero h1,body[data-theme=light] .analytics-panel h2,body[data-theme=light] .alarms-hero h1,body[data-theme=light] .panel-header h2,body[data-theme=light] .rule-editor-header h3{font-family:var(--tg-font-ui, "Space Grotesk", system-ui, sans-serif);font-weight:500;letter-spacing:-.01em}body[data-theme=dark] .main-value,body[data-theme=dark] .stat-value{font-weight:600}.bg-slate-950,.bg-gray-950{background-color:var(--bg)!important}.bg-slate-900,.bg-gray-900,.bg-slate-900\/50,.bg-slate-900\/60{background-color:var(--paper)!important}.bg-slate-800,.bg-slate-800\/50,.bg-slate-800\/40{background-color:var(--paper-2)!important}.border-slate-950,.border-slate-900,.border-slate-800,.border-slate-700,.border-gray-800,.border-gray-700{border-color:var(--line)!important}.text-slate-200,.text-slate-300{color:var(--ink)!important}.text-slate-400{color:var(--ink-2)!important}.text-slate-500,.text-slate-600{color:var(--ink-3)!important}.hover\:bg-slate-800:hover,.hover\:bg-slate-700:hover{background-color:var(--teal-tint)!important}.hover\:text-white:hover{color:var(--ink)!important}.derived-header h1,.derived-header h2,.dashboard-list-header h1,.dashboard-title-group h1,.dashboard-view-header h1,.edge-hero h1,.edge-panel-header h2,.edge-device-title-row h3,.edge-checklist-header h3,.explorer-header h1,.explorer-header h2,.drawer-header h3,.management-header h1,.management-header h2,.permissions-header h3,.usage-header h1,.settings-header h2,.ops-dashboard-header h2,.org-card-header h2,.org-card-header h3,.role-card-header h2,.role-card-header h3,.detail-hero h3,.dashboard-card-title{font-family:var(--tg-font-ui, "Space Grotesk", system-ui, sans-serif)!important;font-weight:600;letter-spacing:-.01em}
