*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}#root{min-height:100%}body{font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-surface=console]{--radius-xs: 3px;--radius-sm: 5px;--radius-md: 7px;--radius-lg: 10px;--radius-full: 999px;--font-sans: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;--t-11: 11px;--t-12: 12px;--t-13: 13px;--t-15: 15px;--t-18: 18px;--t-24: 24px;--s-4: 4px;--s-8: 8px;--s-12: 12px;--s-16: 16px;--s-20: 20px;--s-24: 24px;--s-32: 32px;--s-48: 48px;--primary: #4f8df7;--primary-hover: #6ba0ff;--primary-active: #3d7fe8;--primary-bg: rgba(79, 141, 247, .12);--primary-bg-strong: rgba(79, 141, 247, .18);--primary-border: rgba(79, 141, 247, .32);--primary-fg: #ffffff;--healthy: #22c55e;--healthy-bg: rgba(34, 197, 94, .13);--healthy-border: rgba(34, 197, 94, .3);--warning: #f59e0b;--warning-bg: rgba(245, 158, 11, .13);--warning-border: rgba(245, 158, 11, .3);--critical: #ef4444;--critical-bg: rgba(239, 68, 68, .13);--critical-border: rgba(239, 68, 68, .32);--offline: #71717a;--offline-bg: rgba(113, 113, 122, .16);--offline-border: rgba(113, 113, 122, .32);--unknown: #a78bfa;--unknown-bg: rgba(167, 139, 250, .13);--unknown-border: rgba(167, 139, 250, .3);--info: #38bdf8;--info-bg: rgba(56, 189, 248, .13);--info-border: rgba(56, 189, 248, .3);background:var(--bg-0);color:var(--fg);font-family:var(--font-sans);font-size:var(--t-13);line-height:1.45;font-feature-settings:"cv11","ss01","ss03";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-surface=console][data-theme=dark]{--bg-0: #0a0a0b;--bg-1: #111114;--bg-2: #17171b;--bg-3: #1e1e23;--bg-4: #26262c;--bg-5: #2e2e36;--border: #24242a;--border-strong: #33333b;--fg: #ececee;--fg-muted: #9a9aa3;--fg-dim: #6b6b75;--fg-faint: #4a4a52;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 12px rgba(0, 0, 0, .5);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .6);--selection: rgba(79, 141, 247, .28)}[data-surface=console][data-theme=light]{--bg-0: #f6f6f7;--bg-1: #ffffff;--bg-2: #f2f2f4;--bg-3: #e8e8ec;--bg-4: #dedee3;--bg-5: #d2d2d8;--border: #e4e4e9;--border-strong: #d0d0d7;--fg: #18181b;--fg-muted: #52525b;--fg-dim: #71717a;--fg-faint: #a1a1aa;--shadow-sm: 0 1px 2px rgba(20, 20, 30, .06);--shadow-md: 0 4px 12px rgba(20, 20, 30, .08);--shadow-lg: 0 16px 40px rgba(20, 20, 30, .12);--selection: rgba(79, 141, 247, .22)}[data-surface=console] ::selection{background:var(--selection)}[data-surface=console] .page-shell{min-height:100vh}[data-surface=console] .page-bar{position:sticky;top:0;z-index:50;background:color-mix(in oklab,var(--bg-0) 92%,transparent);backdrop-filter:saturate(160%) blur(8px);-webkit-backdrop-filter:saturate(160%) blur(8px);border-bottom:1px solid var(--border)}[data-surface=console] .page-bar-inner{max-width:1400px;margin:0 auto;padding:0 32px;height:52px;display:flex;align-items:center;gap:16px}[data-surface=console] .page-bar .brand{display:flex;align-items:center;gap:10px;font-size:var(--t-13);font-weight:600;letter-spacing:-.01em}[data-surface=console] .page-bar .brand-mark{width:22px;height:22px;border-radius:6px;background:linear-gradient(135deg,var(--primary) 0%,#8b5cf6 100%);display:grid;place-items:center;color:#fff;font-size:11px;font-weight:700;box-shadow:inset 0 0 0 1px #ffffff2e}[data-surface=console] .page-bar .crumb{color:var(--fg-dim);font-size:var(--t-12)}[data-surface=console] .page-bar .crumb b{color:var(--fg-muted);font-weight:500}[data-surface=console] .page-bar .spacer{flex:1}[data-surface=console] .page-bar .meta{display:flex;align-items:center;gap:12px;color:var(--fg-dim);font-size:var(--t-11);font-family:var(--font-mono)}[data-surface=console] .page-main{max-width:1400px;margin:0 auto;padding:40px 32px 120px}[data-surface=console] .h-hero{font-size:var(--t-24);letter-spacing:-.02em;font-weight:600;margin:0 0 6px;color:var(--fg)}[data-surface=console] .h-hero-sub{color:var(--fg-muted);font-size:var(--t-13);max-width:720px;margin:0 0 32px}[data-surface=console] .section{margin-top:56px}[data-surface=console] .section-head{display:flex;align-items:baseline;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--border);margin-bottom:24px}[data-surface=console] .section-head .num{font-family:var(--font-mono);font-size:var(--t-11);color:var(--fg-faint);letter-spacing:.04em}[data-surface=console] .section-head .title{font-size:var(--t-18);font-weight:600;letter-spacing:-.01em}[data-surface=console] .section-head .desc{color:var(--fg-dim);font-size:var(--t-12);margin-left:auto}[data-surface=console] .grid-card{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px}[data-surface=console] .card-label{display:flex;align-items:center;justify-content:space-between;font-size:var(--t-11);color:var(--fg-dim);text-transform:uppercase;letter-spacing:.08em;font-weight:500;margin-bottom:14px}[data-surface=console] .card-label .tag-pill{font-family:var(--font-mono);text-transform:none;letter-spacing:0;color:var(--fg-faint);font-size:var(--t-11);padding:2px 6px;border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--bg-2)}[data-surface=console] .swatch-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}[data-surface=console] .swatch{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-1)}[data-surface=console] .swatch .chip{height:56px;border-bottom:1px solid var(--border)}[data-surface=console] .swatch .body{padding:8px 10px}[data-surface=console] .swatch .name{font-size:var(--t-12);font-weight:500}[data-surface=console] .swatch .hex{font-family:var(--font-mono);font-size:var(--t-11);color:var(--fg-dim);margin-top:2px}[data-surface=console] .ramp-row{display:grid;grid-template-columns:80px 64px 1fr 200px;gap:16px;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--border)}[data-surface=console] .ramp-row:last-child{border-bottom:none}[data-surface=console] .ramp-row .px{font-family:var(--font-mono);color:var(--fg-dim);font-size:var(--t-11)}[data-surface=console] .ramp-row .name{color:var(--fg-muted);font-size:var(--t-12)}[data-surface=console] .ramp-row .meta{color:var(--fg-faint);font-size:var(--t-11);font-family:var(--font-mono);text-align:right}[data-surface=console] .space-row{display:grid;grid-template-columns:64px 64px 1fr 180px;gap:14px;align-items:center;padding:8px 0}[data-surface=console] .space-row .tok{font-family:var(--font-mono);font-size:var(--t-12);color:var(--fg-muted)}[data-surface=console] .space-row .px{font-family:var(--font-mono);font-size:var(--t-11);color:var(--fg-dim)}[data-surface=console] .space-row .bar{height:10px;background:var(--primary-bg-strong);border-radius:var(--radius-xs);border-left:1px solid var(--primary-border);border-right:1px solid var(--primary-border)}[data-surface=console] .space-row .use{color:var(--fg-dim);font-size:var(--t-11);text-align:right}[data-surface=console] .showcase{display:grid;gap:16px}[data-surface=console] .showcase.col-2{grid-template-columns:1fr 1fr}[data-surface=console] .showcase.col-3{grid-template-columns:repeat(3,1fr)}[data-surface=console] .showcase.col-4{grid-template-columns:repeat(4,1fr)}[data-surface=console] .state-grid{display:grid;grid-template-columns:88px 1fr;gap:10px 16px;align-items:center}[data-surface=console] .state-label{font-size:var(--t-11);color:var(--fg-dim);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em}[data-surface=console] kbd,[data-surface=console] .kbd{font-family:var(--font-mono);font-size:10.5px;padding:1px 5px;border:1px solid var(--border-strong);background:var(--bg-2);color:var(--fg-muted);border-radius:var(--radius-xs);box-shadow:0 1px 0 var(--border);line-height:1.4;display:inline-flex;align-items:center;min-width:16px;justify-content:center}[data-surface=console] .kbd-combo{display:inline-flex;gap:3px;align-items:center}[data-surface=console] .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:28px;padding:0 10px;font:inherit;font-size:var(--t-12);font-weight:500;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;transition:background 80ms ease,border-color 80ms ease,color 80ms ease;white-space:nowrap;-webkit-user-select:none;user-select:none}[data-surface=console] .btn:focus-visible{outline:2px solid var(--primary);outline-offset:1px}[data-surface=console] .btn[disabled],[data-surface=console] .btn.is-disabled{cursor:not-allowed;opacity:.5;pointer-events:none}[data-surface=console] .btn .kbd{background:#ffffff14;border-color:#ffffff26;color:inherit;box-shadow:none}[data-surface=console] .btn-primary{background:var(--primary);color:var(--primary-fg);border-color:color-mix(in oklab,var(--primary) 80%,black)}[data-surface=console] .btn-primary.is-hover,[data-surface=console] .btn-primary:hover{background:var(--primary-hover)}[data-surface=console] .btn-primary.is-active,[data-surface=console] .btn-primary:active{background:var(--primary-active)}[data-surface=console] .btn-secondary{background:var(--bg-3);color:var(--fg);border-color:var(--border-strong)}[data-surface=console] .btn-secondary.is-hover,[data-surface=console] .btn-secondary:hover{background:var(--bg-4)}[data-surface=console] .btn-secondary.is-active,[data-surface=console] .btn-secondary:active{background:var(--bg-5)}[data-surface=console] .btn-secondary .kbd{background:var(--bg-2);border-color:var(--border-strong);color:var(--fg-dim);box-shadow:none}[data-surface=console] .btn-ghost{background:transparent;color:var(--fg-muted)}[data-surface=console] .btn-ghost.is-hover,[data-surface=console] .btn-ghost:hover{background:var(--bg-3);color:var(--fg)}[data-surface=console] .btn-ghost.is-active,[data-surface=console] .btn-ghost:active{background:var(--bg-4)}[data-surface=console] .btn-danger{background:var(--critical);color:#fff;border-color:color-mix(in oklab,var(--critical) 75%,black)}[data-surface=console] .btn-danger.is-hover,[data-surface=console] .btn-danger:hover{background:color-mix(in oklab,var(--critical) 88%,white)}[data-surface=console] .btn-danger.is-active,[data-surface=console] .btn-danger:active{background:color-mix(in oklab,var(--critical) 80%,black)}[data-surface=console] .btn-sm{height:24px;padding:0 8px;font-size:var(--t-11)}[data-surface=console] .btn-icon{width:28px;padding:0}[data-surface=console] .btn-icon.btn-sm{width:24px}[data-surface=console] .btn-group{display:inline-flex;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-2);padding:2px;gap:2px}[data-surface=console] .btn-group .seg{height:22px;padding:0 10px;display:inline-flex;align-items:center;gap:5px;font-size:var(--t-11);font-weight:500;border-radius:var(--radius-xs);color:var(--fg-muted);cursor:pointer;border:1px solid transparent;background:none;font-family:inherit;-moz-appearance:none;appearance:none;-webkit-appearance:none}[data-surface=console] .btn-group .seg:hover{color:var(--fg)}[data-surface=console] .btn-group .seg.is-active{background:var(--bg-4);color:var(--fg);border-color:var(--border-strong);box-shadow:var(--shadow-sm)}[data-surface=console] .status-badge{display:inline-flex;align-items:center;gap:6px;height:20px;padding:0 7px;font-size:var(--t-11);font-weight:500;border-radius:var(--radius-xs);border:1px solid transparent;font-feature-settings:"tnum";letter-spacing:.01em}[data-surface=console] .status-badge .dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}[data-surface=console] .status-badge.is-healthy{background:var(--healthy-bg);color:var(--healthy);border-color:var(--healthy-border)}[data-surface=console] .status-badge.is-healthy .dot{background:var(--healthy);box-shadow:0 0 0 2px color-mix(in oklab,var(--healthy) 25%,transparent)}[data-surface=console] .status-badge.is-warning{background:var(--warning-bg);color:var(--warning);border-color:var(--warning-border)}[data-surface=console] .status-badge.is-warning .dot{background:var(--warning);box-shadow:0 0 0 2px color-mix(in oklab,var(--warning) 25%,transparent)}[data-surface=console] .status-badge.is-critical{background:var(--critical-bg);color:var(--critical);border-color:var(--critical-border)}[data-surface=console] .status-badge.is-critical .dot{background:var(--critical);box-shadow:0 0 0 2px color-mix(in oklab,var(--critical) 25%,transparent)}[data-surface=console] .status-badge.is-offline{background:var(--offline-bg);color:var(--offline);border-color:var(--offline-border)}[data-surface=console] .status-badge.is-offline .dot{background:var(--offline)}[data-surface=console] .status-badge.is-unknown{background:var(--unknown-bg);color:var(--unknown);border-color:var(--unknown-border)}[data-surface=console] .status-badge.is-unknown .dot{background:var(--unknown)}[data-surface=console] .status-badge.is-info{background:var(--info-bg);color:var(--info);border-color:var(--info-border)}[data-surface=console] .status-badge.is-info .dot{background:var(--info)}[data-surface=console] .status-badge.is-pulse .dot:after{content:"";display:block;width:100%;height:100%;border-radius:50%;background:currentColor;opacity:.55;animation:pulse 1.6s ease-out infinite}[data-surface=console] .input{display:flex;align-items:center;gap:8px;height:30px;padding:0 10px;background:var(--bg-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--fg);font-size:var(--t-12);transition:border-color 80ms,background 80ms,box-shadow 80ms;min-width:200px}[data-surface=console] .input .ic{color:var(--fg-dim);flex-shrink:0}[data-surface=console] .input input{all:unset;flex:1;min-width:0;font:inherit;color:inherit;caret-color:var(--primary)}[data-surface=console] .input input::placeholder{color:var(--fg-faint)}[data-surface=console] .input.is-hover,[data-surface=console] .input:hover{border-color:var(--border-strong);background:var(--bg-3)}[data-surface=console] .input.is-focus,[data-surface=console] .input:focus-within{border-color:var(--primary);background:var(--bg-2);box-shadow:0 0 0 3px var(--primary-bg)}[data-surface=console] .input.is-disabled{opacity:.5;pointer-events:none}[data-surface=console] .input.is-error{border-color:var(--critical);box-shadow:0 0 0 3px var(--critical-bg)}[data-surface=console] .nav-item{display:flex;align-items:center;gap:9px;height:28px;padding:0 8px;font-size:var(--t-12);font-weight:500;color:var(--fg-muted);border-radius:var(--radius-sm);cursor:pointer;position:relative}[data-surface=console] .nav-item .ic{color:var(--fg-dim);flex-shrink:0}[data-surface=console] .nav-item .count{margin-left:auto;font-family:var(--font-mono);font-size:10.5px;color:var(--fg-faint);padding:1px 5px;border-radius:var(--radius-xs);background:var(--bg-2)}[data-surface=console] .nav-item:hover,[data-surface=console] .nav-item.is-hover{background:var(--bg-2);color:var(--fg)}[data-surface=console] .nav-item:hover .ic,[data-surface=console] .nav-item.is-hover .ic{color:var(--fg-muted)}[data-surface=console] .nav-item.is-active{background:var(--primary-bg);color:var(--primary)}[data-surface=console] .nav-item.is-active .ic{color:var(--primary)}[data-surface=console] .nav-item.is-active .count{background:var(--primary-bg-strong);color:var(--primary)}[data-surface=console] .nav-item.is-active:before{content:"";position:absolute;left:-10px;top:4px;bottom:4px;width:2px;background:var(--primary);border-radius:2px}[data-surface=console] .nav-item.is-disabled{opacity:.4;pointer-events:none}[data-surface=console] .breadcrumb{display:inline-flex;align-items:center;gap:4px;font-size:var(--t-12);color:var(--fg-dim)}[data-surface=console] .breadcrumb a,[data-surface=console] .breadcrumb .crumb{color:var(--fg-muted);padding:2px 6px;border-radius:var(--radius-xs);cursor:pointer;text-decoration:none}[data-surface=console] .breadcrumb a:hover,[data-surface=console] .breadcrumb .crumb:hover{background:var(--bg-2);color:var(--fg)}[data-surface=console] .breadcrumb .sep{color:var(--fg-faint)}[data-surface=console] .breadcrumb .here{color:var(--fg);padding:2px 6px;font-weight:500}[data-surface=console] .breadcrumb .scope-pill{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-xs)}[data-surface=console] .breadcrumb .scope-pill .ic{color:var(--fg-dim)}[data-surface=console] .tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);padding:0 4px}[data-surface=console] .tabs .tab{position:relative;display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;font-size:var(--t-12);font-weight:500;color:var(--fg-muted);cursor:pointer;border-radius:var(--radius-sm) var(--radius-sm) 0 0;bottom:-1px;background:none;border:none;font-family:inherit;-moz-appearance:none;appearance:none;-webkit-appearance:none}[data-surface=console] .tabs .tab .ic{color:var(--fg-dim)}[data-surface=console] .tabs .tab .count{font-family:var(--font-mono);font-size:10.5px;padding:1px 5px;border-radius:var(--radius-xs);background:var(--bg-3);color:var(--fg-dim)}[data-surface=console] .tabs .tab:hover,[data-surface=console] .tabs .tab.is-hover{color:var(--fg)}[data-surface=console] .tabs .tab.is-active{color:var(--fg);border-bottom:1.5px solid var(--primary)}[data-surface=console] .tabs .tab.is-active .ic{color:var(--fg)}[data-surface=console] .tabs .tab.is-disabled{opacity:.4;pointer-events:none}[data-surface=console] .check{width:14px;height:14px;border-radius:var(--radius-xs);border:1px solid var(--border-strong);background:var(--bg-2);display:inline-grid;place-items:center;color:#fff;flex-shrink:0;cursor:pointer;transition:background 80ms,border-color 80ms}[data-surface=console] .check:hover,[data-surface=console] .check.is-hover{border-color:var(--fg-dim);background:var(--bg-3)}[data-surface=console] .check.is-checked,[data-surface=console] .check.is-indeterminate{background:var(--primary);border-color:var(--primary)}[data-surface=console] .check.is-disabled{opacity:.5;pointer-events:none}[data-surface=console] .agent-row{display:grid;grid-template-columns:28px 1.7fr 1fr 1fr 100px 96px 72px 80px 80px 28px;gap:12px;align-items:center;padding:0 14px;height:36px;border-bottom:1px solid var(--border);font-size:var(--t-12);color:var(--fg);background:var(--bg-1)}[data-surface=console] .agent-row.head{background:var(--bg-2);color:var(--fg-dim);font-size:var(--t-11);text-transform:uppercase;letter-spacing:.06em;font-weight:500;height:30px}[data-surface=console] .agent-row:hover:not(.head){background:var(--bg-2)}[data-surface=console] .agent-row.is-selected{background:var(--primary-bg)}[data-surface=console] .agent-row.is-selected:hover{background:var(--primary-bg-strong)}[data-surface=console] .agent-row .host{display:flex;flex-direction:column;line-height:1.25}[data-surface=console] .agent-row .host .name{font-weight:500}[data-surface=console] .agent-row .host .meta{color:var(--fg-dim);font-size:var(--t-11);font-family:var(--font-mono)}[data-surface=console] .agent-row .mono{font-family:var(--font-mono);font-size:var(--t-11);color:var(--fg-muted)}[data-surface=console] .agent-row .num{font-family:var(--font-mono);font-feature-settings:"tnum";font-size:var(--t-12)}[data-surface=console] .agent-row .right{text-align:right}[data-surface=console] .table-shell{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-1)}[data-surface=console] .table-shell .agent-row:last-child{border-bottom:none}[data-surface=console] .action-bar{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg-2);border-bottom:1px solid var(--border);font-size:var(--t-12)}[data-surface=console] .action-bar .count-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;background:var(--primary-bg);color:var(--primary);border:1px solid var(--primary-border);border-radius:var(--radius-xs);font-weight:500}[data-surface=console] .action-bar .sep{width:1px;height:18px;background:var(--border);margin:0 2px}[data-surface=console] .action-bar .clear-btn{margin-left:auto;color:var(--fg-dim);background:none;border:none;cursor:pointer;font:inherit;font-size:var(--t-11);padding:4px 6px;border-radius:var(--radius-xs)}[data-surface=console] .action-bar .clear-btn:hover{color:var(--fg);background:var(--bg-3)}[data-surface=console] .metric-tile{padding:14px 16px;background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-md);position:relative}[data-surface=console] .metric-tile .m-label{display:flex;align-items:center;gap:6px;font-size:var(--t-11);color:var(--fg-dim);font-weight:500;letter-spacing:.03em;text-transform:uppercase;margin-bottom:8px}[data-surface=console] .metric-tile .m-label .ic{color:var(--fg-faint)}[data-surface=console] .metric-tile .m-value{font-size:var(--t-24);font-weight:600;letter-spacing:-.02em;font-family:var(--font-mono);font-feature-settings:"tnum";line-height:1.1}[data-surface=console] .metric-tile .m-value .unit{font-size:var(--t-13);color:var(--fg-dim);font-weight:500;margin-left:3px}[data-surface=console] .metric-tile .m-foot{margin-top:6px;display:flex;align-items:center;gap:8px;font-size:var(--t-11);color:var(--fg-dim)}[data-surface=console] .metric-tile .delta{display:inline-flex;align-items:center;gap:2px;font-family:var(--font-mono)}[data-surface=console] .metric-tile .delta.up{color:var(--healthy)}[data-surface=console] .metric-tile .delta.down{color:var(--critical)}[data-surface=console] .metric-tile .delta.flat{color:var(--fg-dim)}[data-surface=console] .sparkline{display:block;width:100%;height:28px;margin-top:4px}[data-surface=console] .toast{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:var(--bg-2);border:1px solid var(--border-strong);border-left-width:3px;border-radius:var(--radius-md);box-shadow:var(--shadow-md);min-width:320px;max-width:420px;font-size:var(--t-12)}[data-surface=console] .toast .ic{flex-shrink:0;margin-top:1px}[data-surface=console] .toast .body{flex:1;min-width:0}[data-surface=console] .toast .title{font-weight:500;color:var(--fg)}[data-surface=console] .toast .desc{color:var(--fg-muted);font-size:var(--t-11);margin-top:2px}[data-surface=console] .toast .close{background:none;border:none;cursor:pointer;color:var(--fg-dim);padding:2px;border-radius:var(--radius-xs)}[data-surface=console] .toast .close:hover{background:var(--bg-3);color:var(--fg)}[data-surface=console] .toast .actions{display:flex;gap:6px;margin-top:8px}[data-surface=console] .toast.t-success{border-left-color:var(--healthy)}[data-surface=console] .toast.t-success .ic{color:var(--healthy)}[data-surface=console] .toast.t-warning{border-left-color:var(--warning)}[data-surface=console] .toast.t-warning .ic{color:var(--warning)}[data-surface=console] .toast.t-error{border-left-color:var(--critical)}[data-surface=console] .toast.t-error .ic{color:var(--critical)}[data-surface=console] .toast.t-info{border-left-color:var(--info)}[data-surface=console] .toast.t-info .ic{color:var(--info)}[data-surface=console] .modal-stage{position:relative;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:24px;height:280px;overflow:hidden;background-image:linear-gradient(var(--bg-3) 1px,transparent 1px),linear-gradient(90deg,var(--bg-3) 1px,transparent 1px);background-size:16px 16px}[data-surface=console] .modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0000008c;display:grid;place-items:center;padding:24px}[data-surface=console] .modal{width:440px;background:var(--bg-1);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden;margin:0 auto}[data-surface=console] .modal-head{display:flex;align-items:center;gap:10px;padding:14px 16px 0}[data-surface=console] .modal-head .ic{color:var(--critical)}[data-surface=console] .modal-head .title{font-size:var(--t-13);font-weight:600}[data-surface=console] .modal-head .close{margin-left:auto;background:none;border:none;color:var(--fg-dim);cursor:pointer;padding:4px;border-radius:var(--radius-xs)}[data-surface=console] .modal-head .close:hover{background:var(--bg-3);color:var(--fg)}[data-surface=console] .modal-body{padding:8px 16px 16px;font-size:var(--t-12);color:var(--fg-muted)}[data-surface=console] .modal-body .target-line{font-family:var(--font-mono);font-size:var(--t-12);padding:8px 10px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--fg);margin:10px 0}[data-surface=console] .modal-foot{display:flex;gap:8px;justify-content:flex-end;padding:12px 16px;background:var(--bg-2);border-top:1px solid var(--border)}[data-surface=console] .drawer-stage{position:relative;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:0;height:360px;overflow:hidden;display:flex}[data-surface=console] .drawer-stage .ghost-bg{flex:1;padding:16px;background-image:linear-gradient(var(--bg-3) 1px,transparent 1px),linear-gradient(90deg,var(--bg-3) 1px,transparent 1px);background-size:14px 14px;opacity:.6}[data-surface=console] .drawer{width:360px;background:var(--bg-1);border-left:1px solid var(--border-strong);display:flex;flex-direction:column;box-shadow:-16px 0 30px #00000059}[data-surface=console] .drawer-head{padding:12px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px}[data-surface=console] .drawer-head .ic{color:var(--healthy)}[data-surface=console] .drawer-head .h-title{font-size:var(--t-13);font-weight:600}[data-surface=console] .drawer-head .h-sub{font-size:var(--t-11);color:var(--fg-dim);font-family:var(--font-mono)}[data-surface=console] .drawer-head .close{margin-left:auto;background:none;border:none;color:var(--fg-dim);cursor:pointer;padding:4px;border-radius:var(--radius-xs)}[data-surface=console] .drawer-head .close:hover{background:var(--bg-3);color:var(--fg)}[data-surface=console] .drawer-body{flex:1;overflow:auto;padding:12px 16px;font-size:var(--t-12)}[data-surface=console] .drawer-kv{display:grid;grid-template-columns:100px 1fr;gap:6px 12px;padding:8px 0;border-bottom:1px dashed var(--border)}[data-surface=console] .drawer-kv .k{color:var(--fg-dim);font-size:var(--t-11)}[data-surface=console] .drawer-kv .v{color:var(--fg);font-family:var(--font-mono);font-size:var(--t-11)}[data-surface=console] .empty{border:1px dashed var(--border-strong);border-radius:var(--radius-md);padding:28px 24px;text-align:center;background:var(--bg-1);display:flex;flex-direction:column;align-items:center;gap:6px}[data-surface=console] .empty .ic-wrap{width:44px;height:44px;border-radius:50%;background:var(--bg-2);display:grid;place-items:center;color:var(--fg-muted);margin-bottom:6px}[data-surface=console] .empty .e-title{font-size:var(--t-13);font-weight:600}[data-surface=console] .empty .e-desc{font-size:var(--t-12);color:var(--fg-muted);max-width:280px}[data-surface=console] .empty .actions{display:flex;gap:8px;margin-top:10px}[data-surface=console] .skel{background:linear-gradient(90deg,var(--bg-2) 0%,var(--bg-3) 50%,var(--bg-2) 100%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:var(--radius-xs);display:block}[data-surface=console] .icon-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}[data-surface=console] .icon-cell{background:var(--bg-1);padding:14px 8px 8px;display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--fg-muted)}[data-surface=console] .icon-cell:hover{background:var(--bg-2);color:var(--fg)}[data-surface=console] .icon-cell .lbl{font-family:var(--font-mono);font-size:10px;color:var(--fg-dim);text-align:center;word-break:break-all}[data-surface=console] .row-flex{display:flex;align-items:center;gap:8px}[data-surface=console] .row-flex-wrap{display:flex;align-items:center;gap:8px;flex-wrap:wrap}[data-surface=console] .legend{display:flex;gap:16px;padding-top:12px;border-top:1px solid var(--border);margin-top:12px;color:var(--fg-dim);font-size:var(--t-11)}[data-surface=console] .legend .item{display:inline-flex;align-items:center;gap:5px}[data-surface=console] .legend .dot{width:6px;height:6px;border-radius:50%}[data-surface=console] .note{font-size:var(--t-11);color:var(--fg-dim);margin-top:10px;font-style:italic}[data-surface=console] .anchor-nav{position:fixed;right:24px;top:80px;width:180px;padding:8px;background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--t-11);display:none}@media (min-width: 1620px){[data-surface=console] .anchor-nav{display:block}}[data-surface=console] .anchor-nav a{display:block;padding:4px 8px;color:var(--fg-dim);text-decoration:none;border-radius:var(--radius-xs)}[data-surface=console] .anchor-nav a:hover{background:var(--bg-2);color:var(--fg)}[data-surface=console] .anchor-nav .ahead{color:var(--fg-faint);font-family:var(--font-mono);padding:6px 8px 2px;text-transform:uppercase;letter-spacing:.06em}[data-surface=console] .pill-toggle{display:inline-flex;padding:2px;background:var(--bg-2);border:1px solid var(--border-strong);border-radius:var(--radius-full);gap:2px}[data-surface=console] .pill-toggle button{all:unset;padding:3px 10px;font-size:var(--t-11);font-weight:500;color:var(--fg-dim);border-radius:var(--radius-full);cursor:pointer;display:inline-flex;align-items:center;gap:5px}[data-surface=console] .pill-toggle button.is-active{background:var(--bg-4);color:var(--fg);box-shadow:var(--shadow-sm)}@keyframes pulse{0%{transform:scale(1);opacity:.55}to{transform:scale(2.6);opacity:0}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}[data-surface=portal]{--radius-xs: 4px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 999px;--font-sans: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;--t-11: 11px;--t-12: 12px;--t-13: 13px;--t-14: 14px;--t-16: 16px;--t-18: 18px;--t-22: 22px;--t-28: 28px;--t-40: 40px;--s-4: 4px;--s-8: 8px;--s-12: 12px;--s-16: 16px;--s-20: 20px;--s-24: 24px;--s-32: 32px;--s-48: 48px;--s-64: 64px;--brand: #4f8df7;--brand-hover: #6ba0ff;--brand-active: #3d7fe8;--brand-fg: #ffffff;--brand-bg: rgba(79, 141, 247, .1);--brand-bg-strong: rgba(79, 141, 247, .18);--brand-border: rgba(79, 141, 247, .32);--healthy: #22c55e;--healthy-bg: rgba(34, 197, 94, .13);--healthy-border: rgba(34, 197, 94, .3);--warning: #f59e0b;--warning-bg: rgba(245, 158, 11, .13);--warning-border: rgba(245, 158, 11, .3);--critical: #ef4444;--critical-bg: rgba(239, 68, 68, .13);--critical-border: rgba(239, 68, 68, .32);--offline: #71717a;--offline-bg: rgba(113, 113, 122, .13);--offline-border: rgba(113, 113, 122, .3);--info: #38bdf8;--info-bg: rgba(56, 189, 248, .13);--info-border: rgba(56, 189, 248, .3);--unknown: #a78bfa;--unknown-bg: rgba(167, 139, 250, .13);--unknown-border: rgba(167, 139, 250, .3);background:var(--bg-0);color:var(--fg);font-family:var(--font-sans);font-size:var(--t-14);line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-surface=portal][data-theme=light]{--bg-0: #f7f7f8;--bg-1: #ffffff;--bg-2: #f4f4f6;--bg-3: #ececef;--bg-4: #e2e2e7;--bg-5: #d4d4da;--border: #e6e6eb;--border-strong: #d5d5dc;--fg: #18181b;--fg-muted: #4f4f58;--fg-dim: #71717a;--fg-faint: #a1a1aa;--shadow-sm: 0 1px 2px rgba(20, 20, 30, .05);--shadow-md: 0 4px 14px rgba(20, 20, 30, .08);--shadow-lg: 0 18px 44px rgba(20, 20, 30, .1);--shadow-brand: 0 6px 20px rgba(79, 141, 247, .22);--selection: rgba(79, 141, 247, .2)}[data-surface=portal][data-theme=dark]{--bg-0: #0b0b0e;--bg-1: #131318;--bg-2: #191920;--bg-3: #20202a;--bg-4: #2a2a34;--bg-5: #33333e;--border: #25252d;--border-strong: #33333d;--fg: #ececee;--fg-muted: #a8a8b2;--fg-dim: #7b7b86;--fg-faint: #54545e;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .45);--shadow-md: 0 6px 18px rgba(0, 0, 0, .55);--shadow-lg: 0 20px 50px rgba(0, 0, 0, .65);--shadow-brand: 0 6px 24px rgba(79, 141, 247, .42);--selection: rgba(79, 141, 247, .28)}[data-surface=portal] ::selection{background:var(--selection)}[data-surface=portal] .page-shell{min-height:100vh}[data-surface=portal] .page-bar{position:sticky;top:0;z-index:50;background:color-mix(in oklab,var(--bg-0) 88%,transparent);backdrop-filter:saturate(160%) blur(10px);-webkit-backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid var(--border)}[data-surface=portal] .page-bar-inner{max-width:1400px;margin:0 auto;padding:0 32px;height:60px;display:flex;align-items:center;gap:16px}[data-surface=portal] .brand{display:flex;align-items:center;gap:10px;font-size:var(--t-14);font-weight:600;letter-spacing:-.01em}[data-surface=portal] .brand-mark{width:26px;height:26px;border-radius:7px;background:var(--brand);display:grid;place-items:center;color:var(--brand-fg);font-size:13px;font-weight:700;box-shadow:inset 0 0 0 1px #ffffff26}[data-surface=portal] .crumb{color:var(--fg-dim);font-size:var(--t-13)}[data-surface=portal] .crumb b{color:var(--fg-muted);font-weight:500}[data-surface=portal] .spacer{flex:1}[data-surface=portal] .top-meta{display:flex;align-items:center;gap:12px;color:var(--fg-dim);font-size:var(--t-12);font-family:var(--font-mono)}[data-surface=portal] .page-main{max-width:1400px;margin:0 auto;padding:48px 32px 140px}[data-surface=portal] .h-hero{font-size:var(--t-28);letter-spacing:-.02em;font-weight:600;margin:0 0 8px;color:var(--fg)}[data-surface=portal] .h-hero-sub{color:var(--fg-muted);font-size:var(--t-14);max-width:760px;margin:0 0 36px}[data-surface=portal] .section{margin-top:64px}[data-surface=portal] .section-head{display:flex;align-items:baseline;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--border);margin-bottom:28px}[data-surface=portal] .section-head .num{font-family:var(--font-mono);font-size:var(--t-12);color:var(--fg-faint);letter-spacing:.04em}[data-surface=portal] .section-head .title{font-size:var(--t-22);font-weight:600;letter-spacing:-.01em}[data-surface=portal] .section-head .desc{color:var(--fg-dim);font-size:var(--t-13);margin-left:auto}[data-surface=portal] .grid-card{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-lg);padding:22px}[data-surface=portal] .card-label{display:flex;align-items:center;justify-content:space-between;font-size:var(--t-12);color:var(--fg-dim);text-transform:uppercase;letter-spacing:.08em;font-weight:600;margin-bottom:16px}[data-surface=portal] .card-label .tag-pill{font-family:var(--font-mono);text-transform:none;letter-spacing:0;color:var(--fg-faint);font-size:var(--t-11);padding:2px 7px;border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--bg-2);font-weight:500}[data-surface=portal] .showcase{display:grid;gap:18px}[data-surface=portal] .showcase.col-2{grid-template-columns:1fr 1fr}[data-surface=portal] .showcase.col-3{grid-template-columns:repeat(3,1fr)}[data-surface=portal] .showcase.col-4{grid-template-columns:repeat(4,1fr)}[data-surface=portal] .state-grid{display:grid;grid-template-columns:96px 1fr;gap:14px 18px;align-items:center}[data-surface=portal] .state-label{font-size:var(--t-11);color:var(--fg-dim);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em}[data-surface=portal] .row-flex-wrap{display:flex;align-items:center;gap:10px;flex-wrap:wrap}[data-surface=portal] .row-flex{display:flex;align-items:center;gap:10px}[data-surface=portal] .pbtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;padding:0 16px;font:inherit;font-size:var(--t-14);font-weight:500;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:background .1s,border-color .1s,color .1s,transform 80ms,box-shadow .12s;white-space:nowrap;-webkit-user-select:none;user-select:none}[data-surface=portal] .pbtn:focus-visible{outline:3px solid var(--brand-bg-strong);outline-offset:2px}[data-surface=portal] .pbtn[disabled],[data-surface=portal] .pbtn.is-disabled{cursor:not-allowed;opacity:.5;pointer-events:none}[data-surface=portal] .pbtn-lg{height:44px;padding:0 22px;font-size:var(--t-16);border-radius:var(--radius-md)}[data-surface=portal] .pbtn-sm{height:30px;padding:0 12px;font-size:var(--t-13)}[data-surface=portal] .pbtn-icon{width:36px;padding:0}[data-surface=portal] .pbtn-icon.pbtn-lg{width:44px}[data-surface=portal] .pbtn-icon.pbtn-sm{width:30px}[data-surface=portal] .pbtn-primary{background:var(--brand);color:var(--brand-fg);box-shadow:var(--shadow-sm)}[data-surface=portal] .pbtn-primary:hover,[data-surface=portal] .pbtn-primary.is-hover{background:var(--brand-hover);box-shadow:var(--shadow-brand)}[data-surface=portal] .pbtn-primary:active,[data-surface=portal] .pbtn-primary.is-active{background:var(--brand-active);transform:translateY(1px)}[data-surface=portal] .pbtn-secondary{background:var(--bg-1);color:var(--fg);border-color:var(--border-strong);box-shadow:var(--shadow-sm)}[data-surface=portal] .pbtn-secondary:hover,[data-surface=portal] .pbtn-secondary.is-hover{background:var(--bg-2);border-color:var(--fg-faint)}[data-surface=portal] .pbtn-secondary:active,[data-surface=portal] .pbtn-secondary.is-active{background:var(--bg-3)}[data-surface=portal] .pbtn-ghost{background:transparent;color:var(--fg-muted)}[data-surface=portal] .pbtn-ghost:hover,[data-surface=portal] .pbtn-ghost.is-hover{background:var(--bg-2);color:var(--fg)}[data-surface=portal] .pbtn-ghost:active,[data-surface=portal] .pbtn-ghost.is-active{background:var(--bg-3)}[data-surface=portal] .pbtn-danger{background:var(--critical);color:#fff;box-shadow:0 4px 14px #ef44444d}[data-surface=portal] .pbtn-danger:hover,[data-surface=portal] .pbtn-danger.is-hover{background:color-mix(in oklab,var(--critical) 88%,white)}[data-surface=portal] .pbtn-danger:active,[data-surface=portal] .pbtn-danger.is-active{background:color-mix(in oklab,var(--critical) 80%,black)}[data-surface=portal] .pbtn-link{background:transparent;color:var(--brand);padding:0;font-weight:500;height:auto;gap:5px}[data-surface=portal] .pbtn-link:hover{color:var(--brand-hover);text-decoration:underline;text-underline-offset:3px}[data-surface=portal] .device-card{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;display:grid;grid-template-rows:auto auto 1fr auto;gap:14px;box-shadow:var(--shadow-sm);transition:box-shadow .12s,border-color .12s,transform .12s;position:relative;min-height:230px}[data-surface=portal] .device-card:hover,[data-surface=portal] .device-card.is-hover{box-shadow:var(--shadow-md);border-color:var(--border-strong)}[data-surface=portal] .device-card.is-focused{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-bg)}[data-surface=portal] .device-card.is-restricted{opacity:.62}[data-surface=portal] .device-card .dc-head{display:flex;align-items:flex-start;gap:12px}[data-surface=portal] .device-card .dc-icon{width:38px;height:38px;border-radius:9px;background:var(--bg-2);color:var(--fg-muted);display:grid;place-items:center;flex-shrink:0}[data-surface=portal] .device-card .dc-name{font-size:var(--t-16);font-weight:600;letter-spacing:-.01em;line-height:1.3}[data-surface=portal] .device-card .dc-meta{font-size:var(--t-13);color:var(--fg-dim);font-family:var(--font-mono)}[data-surface=portal] .device-card .dc-menu{margin-left:auto;width:28px;height:28px;border-radius:var(--radius-sm);display:grid;place-items:center;color:var(--fg-dim);cursor:pointer;background:none;border:none;font:inherit;-moz-appearance:none;appearance:none;-webkit-appearance:none}[data-surface=portal] .device-card .dc-menu:hover{background:var(--bg-2);color:var(--fg)}[data-surface=portal] .device-card .dc-status-row{display:flex;align-items:center;gap:8px}[data-surface=portal] .device-card .dc-status-text{font-size:var(--t-13);color:var(--fg-muted)}[data-surface=portal] .device-card .dc-status-text b{color:var(--fg);font-weight:500}[data-surface=portal] .device-card .dc-spec{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;padding:12px;background:var(--bg-2);border-radius:var(--radius-md);font-size:var(--t-12)}[data-surface=portal] .device-card .dc-spec .k{color:var(--fg-dim)}[data-surface=portal] .device-card .dc-spec .v{color:var(--fg);font-family:var(--font-mono);font-size:var(--t-12);text-align:right}[data-surface=portal] .device-card .dc-actions{display:flex;gap:8px;align-items:center;padding-top:4px}[data-surface=portal] .device-card .dc-actions .pbtn-primary{flex:1}[data-surface=portal] .pstatus{display:inline-flex;align-items:center;gap:7px;height:24px;padding:0 10px;font-size:var(--t-13);font-weight:500;border-radius:var(--radius-full);border:1px solid transparent}[data-surface=portal] .pstatus .dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}[data-surface=portal] .pstatus.is-healthy{background:var(--healthy-bg);color:color-mix(in oklab,var(--healthy) 82%,black);border-color:var(--healthy-border)}[data-surface=portal] .pstatus.is-warning{background:var(--warning-bg);color:color-mix(in oklab,var(--warning) 72%,black);border-color:var(--warning-border)}[data-surface=portal] .pstatus.is-critical{background:var(--critical-bg);color:color-mix(in oklab,var(--critical) 78%,black);border-color:var(--critical-border)}[data-surface=portal] .pstatus.is-offline{background:var(--offline-bg);color:color-mix(in oklab,var(--offline) 60%,black);border-color:var(--offline-border)}[data-surface=portal] .pstatus.is-info{background:var(--info-bg);color:color-mix(in oklab,var(--info) 72%,black);border-color:var(--info-border)}[data-surface=portal] .pstatus.is-unknown{background:var(--unknown-bg);color:color-mix(in oklab,var(--unknown) 72%,black);border-color:var(--unknown-border)}[data-surface=portal] .pstatus .dot.is-healthy{background:var(--healthy)}[data-surface=portal] .pstatus .dot.is-warning{background:var(--warning)}[data-surface=portal] .pstatus .dot.is-critical{background:var(--critical)}[data-surface=portal] .pstatus .dot.is-offline{background:var(--offline)}[data-surface=portal] .pstatus .dot.is-info{background:var(--info)}[data-surface=portal] .pstatus .dot.is-unknown{background:var(--unknown)}[data-surface=portal][data-theme=dark] .pstatus.is-healthy{color:color-mix(in oklab,var(--healthy) 60%,white)}[data-surface=portal][data-theme=dark] .pstatus.is-warning{color:color-mix(in oklab,var(--warning) 60%,white)}[data-surface=portal][data-theme=dark] .pstatus.is-critical{color:color-mix(in oklab,var(--critical) 55%,white)}[data-surface=portal][data-theme=dark] .pstatus.is-offline{color:color-mix(in oklab,var(--offline) 55%,white)}[data-surface=portal][data-theme=dark] .pstatus.is-info{color:color-mix(in oklab,var(--info) 60%,white)}[data-surface=portal][data-theme=dark] .pstatus.is-unknown{color:color-mix(in oklab,var(--unknown) 60%,white)}[data-surface=portal] .pstatus.is-pulse .dot{position:relative}[data-surface=portal] .pstatus.is-pulse .dot:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:currentColor;opacity:.55;animation:pulse 1.6s ease-out infinite}[data-surface=portal] .session-banner{display:flex;align-items:center;gap:16px;padding:14px 20px;background:var(--brand);color:var(--brand-fg);border-radius:var(--radius-md);box-shadow:var(--shadow-brand);position:relative;overflow:hidden}[data-surface=portal] .session-banner.t-critical{background:var(--critical);box-shadow:0 6px 24px #ef44445c}[data-surface=portal] .session-banner.t-warning{background:var(--warning);color:#1a1308;box-shadow:0 6px 20px #f59e0b5c}[data-surface=portal] .session-banner:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent);animation:banner-sweep 6s ease-in-out infinite;pointer-events:none}[data-surface=portal] .session-banner .sb-icon{width:36px;height:36px;border-radius:50%;background:#ffffff2e;display:grid;place-items:center;flex-shrink:0}[data-surface=portal] .session-banner .sb-body{flex:1;min-width:0}[data-surface=portal] .session-banner .sb-title{font-size:var(--t-14);font-weight:600;display:flex;align-items:center;gap:8px}[data-surface=portal] .session-banner .sb-sub{font-size:var(--t-12);opacity:.88;font-family:var(--font-mono);display:flex;align-items:center;gap:6px}[data-surface=portal] .session-banner .live-dot{width:7px;height:7px;border-radius:50%;background:#fff;animation:blink 1.4s ease-in-out infinite}[data-surface=portal] .session-banner .sb-actions{display:flex;gap:8px}[data-surface=portal] .session-banner .sb-btn{height:34px;padding:0 16px;border-radius:var(--radius-md);font:inherit;font-size:var(--t-13);font-weight:600;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:7px}[data-surface=portal] .session-banner .sb-btn.is-ghost{background:#ffffff29;color:inherit}[data-surface=portal] .session-banner .sb-btn.is-ghost:hover{background:#ffffff40}[data-surface=portal] .session-banner .sb-btn.is-solid{background:#fff;color:var(--brand)}[data-surface=portal] .session-banner .sb-btn.is-solid:hover{background:#ffffffeb}[data-surface=portal] .session-banner.t-critical .sb-btn.is-solid{color:var(--critical)}[data-surface=portal] .sh-row{display:grid;grid-template-columns:36px 1.6fr 1.4fr 90px 1fr 110px 28px;gap:14px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--border);font-size:var(--t-14);background:var(--bg-1)}[data-surface=portal] .sh-row:hover:not(.head){background:var(--bg-2)}[data-surface=portal] .sh-row.head{background:var(--bg-2);color:var(--fg-dim);font-size:var(--t-12);text-transform:uppercase;letter-spacing:.06em;font-weight:600;padding:10px 18px}[data-surface=portal] .sh-row .sh-icon{width:32px;height:32px;border-radius:8px;background:var(--bg-2);display:grid;place-items:center;color:var(--fg-muted)}[data-surface=portal] .sh-row.head .sh-icon{background:transparent}[data-surface=portal] .sh-row .sh-when .day{color:var(--fg)}[data-surface=portal] .sh-row .sh-when .time{color:var(--fg-dim);font-size:var(--t-12);font-family:var(--font-mono)}[data-surface=portal] .sh-row .sh-device{font-weight:500}[data-surface=portal] .sh-row .sh-by{color:var(--fg-muted);display:flex;align-items:center;gap:8px}[data-surface=portal] .sh-row .sh-avatar{width:22px;height:22px;border-radius:50%;background:var(--brand-bg-strong);color:var(--brand);display:grid;place-items:center;font-size:11px;font-weight:600}[data-surface=portal] .sh-row .sh-dur{font-family:var(--font-mono);font-size:var(--t-13);color:var(--fg)}[data-surface=portal] .sh-shell{border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-1)}[data-surface=portal] .sh-shell .sh-row:last-child{border-bottom:none}[data-surface=portal] .chip-pair{display:inline-flex;align-items:stretch;background:var(--bg-1);border:1px solid var(--border-strong);border-radius:var(--radius-full);padding:3px;box-shadow:var(--shadow-sm);font-size:var(--t-13)}[data-surface=portal] .chip-pair>div{display:flex;align-items:center;gap:7px;padding:4px 12px;border-radius:var(--radius-full)}[data-surface=portal] .chip-pair .cp-user{color:var(--fg)}[data-surface=portal] .chip-pair .cp-arrow{color:var(--fg-faint);padding:0 2px;align-self:center}[data-surface=portal] .chip-pair .cp-device{color:var(--brand);background:var(--brand-bg)}[data-surface=portal] .chip-pair .cp-avatar{width:20px;height:20px;border-radius:50%;background:var(--bg-3);display:grid;place-items:center;font-size:10px;font-weight:600;color:var(--fg-muted)}[data-surface=portal] .chip-pair .cp-x{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:var(--fg-dim);margin-left:2px;cursor:pointer;background:none;border:none;font:inherit;-moz-appearance:none;appearance:none;-webkit-appearance:none}[data-surface=portal] .chip-pair .cp-x:hover{background:var(--bg-3);color:var(--critical)}[data-surface=portal] .chip-pair.is-pending{border-style:dashed}[data-surface=portal] .chip-pair.is-pending .cp-device{color:var(--warning);background:var(--warning-bg)}[data-surface=portal] .trust-caption{display:inline-flex;align-items:flex-start;gap:8px;padding:8px 12px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--t-13);color:var(--fg-muted);line-height:1.45}[data-surface=portal] .trust-caption .ic{color:var(--fg-dim);margin-top:1px;flex-shrink:0}[data-surface=portal] .trust-caption.is-positive{background:var(--healthy-bg);border-color:var(--healthy-border);color:color-mix(in oklab,var(--healthy) 72%,black)}[data-surface=portal] .trust-caption.is-positive .ic{color:var(--healthy)}[data-surface=portal] .trust-caption.is-warning{background:var(--warning-bg);border-color:var(--warning-border);color:color-mix(in oklab,var(--warning) 60%,black)}[data-surface=portal] .trust-caption.is-warning .ic{color:var(--warning)}[data-surface=portal][data-theme=dark] .trust-caption.is-positive{color:color-mix(in oklab,var(--healthy) 50%,white)}[data-surface=portal][data-theme=dark] .trust-caption.is-warning{color:color-mix(in oklab,var(--warning) 60%,white)}[data-surface=portal] .pnav-item{display:flex;align-items:center;gap:12px;height:44px;padding:0 14px;font-size:var(--t-14);font-weight:500;color:var(--fg-muted);border-radius:var(--radius-md);cursor:pointer;position:relative}[data-surface=portal] .pnav-item .ic{color:var(--fg-dim);flex-shrink:0}[data-surface=portal] .pnav-item .count{margin-left:auto;font-size:var(--t-12);color:var(--fg-faint);padding:1px 8px;border-radius:var(--radius-full);background:var(--bg-2)}[data-surface=portal] .pnav-item:hover,[data-surface=portal] .pnav-item.is-hover{background:var(--bg-2);color:var(--fg)}[data-surface=portal] .pnav-item:hover .ic,[data-surface=portal] .pnav-item.is-hover .ic{color:var(--fg-muted)}[data-surface=portal] .pnav-item.is-active{background:var(--brand-bg);color:var(--brand)}[data-surface=portal] .pnav-item.is-active .ic{color:var(--brand)}[data-surface=portal] .pnav-item.is-active .count{background:var(--brand-bg-strong);color:var(--brand);font-weight:600}[data-surface=portal] .pnav-item.is-disabled{opacity:.45;pointer-events:none}[data-surface=portal] .ptile{padding:22px;background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);position:relative;min-height:132px;display:flex;flex-direction:column;gap:8px}[data-surface=portal] .ptile .tile-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;margin-bottom:4px}[data-surface=portal] .ptile.t-healthy .tile-icon{background:var(--healthy-bg);color:var(--healthy)}[data-surface=portal] .ptile.t-warning .tile-icon{background:var(--warning-bg);color:var(--warning)}[data-surface=portal] .ptile.t-critical .tile-icon{background:var(--critical-bg);color:var(--critical)}[data-surface=portal] .ptile.t-brand .tile-icon{background:var(--brand-bg);color:var(--brand)}[data-surface=portal] .ptile.t-info .tile-icon{background:var(--info-bg);color:var(--info)}[data-surface=portal] .ptile .tile-value{font-size:var(--t-40);font-weight:600;letter-spacing:-.03em;line-height:1;color:var(--fg)}[data-surface=portal] .ptile .tile-label{font-size:var(--t-14);color:var(--fg-muted)}[data-surface=portal] .ptile .tile-cta{margin-top:6px;font-size:var(--t-13);color:var(--brand);font-weight:500;display:inline-flex;align-items:center;gap:4px;cursor:pointer}[data-surface=portal] .ptile .tile-cta:hover{text-decoration:underline;text-underline-offset:3px}[data-surface=portal] .ptile.t-critical .tile-cta{color:var(--critical)}[data-surface=portal] .ptile.t-warning .tile-cta{color:color-mix(in oklab,var(--warning) 65%,black)}[data-surface=portal][data-theme=dark] .ptile.t-warning .tile-cta{color:var(--warning)}[data-surface=portal] .help-card{position:relative;padding:24px 24px 24px 96px;background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;min-height:132px;display:flex;flex-direction:column;justify-content:center;gap:6px}[data-surface=portal] .help-card:before{content:"";position:absolute;left:24px;top:50%;transform:translateY(-50%);width:56px;height:56px;border-radius:14px;background:var(--brand-bg);box-shadow:inset 0 0 0 1px var(--brand-border)}[data-surface=portal] .help-card .ic-wrap{position:absolute;left:38px;top:50%;transform:translateY(-50%);color:var(--brand)}[data-surface=portal] .help-card .hc-title{font-size:var(--t-16);font-weight:600;letter-spacing:-.01em}[data-surface=portal] .help-card .hc-desc{font-size:var(--t-13);color:var(--fg-muted);margin-bottom:4px}[data-surface=portal] .help-card .hc-actions{display:flex;gap:8px;margin-top:4px}[data-surface=portal] .help-card.t-quiet{background:var(--bg-2);box-shadow:none}[data-surface=portal] .pempty{border-radius:var(--radius-lg);padding:56px 32px;text-align:center;background:var(--bg-1);border:1px dashed var(--border-strong);display:flex;flex-direction:column;align-items:center;gap:8px}[data-surface=portal] .pempty .ic-wrap{width:64px;height:64px;border-radius:18px;background:var(--brand-bg);color:var(--brand);display:grid;place-items:center;margin-bottom:10px}[data-surface=portal] .pempty .pe-title{font-size:var(--t-18);font-weight:600;letter-spacing:-.01em}[data-surface=portal] .pempty .pe-desc{font-size:var(--t-14);color:var(--fg-muted);max-width:380px;line-height:1.55}[data-surface=portal] .pempty .actions{display:flex;gap:8px;margin-top:14px}[data-surface=portal] .ptopbar-stage{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}[data-surface=portal] .ptopbar{display:flex;align-items:center;gap:16px;height:64px;padding:0 20px;border-bottom:1px solid var(--border);background:var(--bg-1)}[data-surface=portal] .ptopbar .pt-logo{display:flex;align-items:center;gap:12px;font-weight:600;letter-spacing:-.01em}[data-surface=portal] .ptopbar .pt-logo .mark{width:30px;height:30px;border-radius:8px;background:var(--brand);display:grid;place-items:center;color:var(--brand-fg);font-weight:700}[data-surface=portal] .ptopbar .pt-divider{width:1px;height:22px;background:var(--border)}[data-surface=portal] .ptopbar .pt-tenant{display:flex;flex-direction:column;line-height:1.15}[data-surface=portal] .ptopbar .pt-tenant .label{font-size:11px;color:var(--fg-dim);text-transform:uppercase;letter-spacing:.06em}[data-surface=portal] .ptopbar .pt-tenant .name{font-size:var(--t-14);font-weight:500}[data-surface=portal] .ptopbar .pt-search{flex:1;max-width:420px;display:flex;align-items:center;gap:8px;height:38px;padding:0 12px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--fg-dim);font-size:var(--t-14)}[data-surface=portal] .ptopbar .pt-spacer{flex:1}[data-surface=portal] .ptopbar .pt-bell,[data-surface=portal] .ptopbar .pt-user{display:flex;align-items:center;gap:10px;padding:4px 10px 4px 4px;border-radius:var(--radius-full);cursor:pointer;transition:background .1s}[data-surface=portal] .ptopbar .pt-bell{width:38px;height:38px;justify-content:center;padding:0;position:relative;color:var(--fg-muted)}[data-surface=portal] .ptopbar .pt-bell:hover,[data-surface=portal] .ptopbar .pt-user:hover{background:var(--bg-2)}[data-surface=portal] .ptopbar .pt-bell-dot{position:absolute;top:7px;right:9px;width:8px;height:8px;border-radius:50%;background:var(--critical);box-shadow:0 0 0 2px var(--bg-1)}[data-surface=portal] .ptopbar .pt-avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#6ba0ff,#4f8df7);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:600}[data-surface=portal] .ptopbar .pt-user-meta{display:flex;flex-direction:column;line-height:1.2}[data-surface=portal] .ptopbar .pt-user-meta .n{font-size:var(--t-13);font-weight:500}[data-surface=portal] .ptopbar .pt-user-meta .r{font-size:11px;color:var(--fg-dim)}[data-surface=portal] .ptopbar-body{height:96px;background:var(--bg-2);background-image:linear-gradient(var(--bg-3) 1px,transparent 1px),linear-gradient(90deg,var(--bg-3) 1px,transparent 1px);background-size:18px 18px;opacity:.7}[data-surface=portal] .modal-stage{position:relative;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:0;height:460px;overflow:hidden;background-image:linear-gradient(var(--bg-3) 1px,transparent 1px),linear-gradient(90deg,var(--bg-3) 1px,transparent 1px);background-size:18px 18px}[data-surface=portal] .modal-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#14141e73;display:grid;place-items:center;padding:24px}[data-surface=portal][data-theme=dark] .modal-overlay{background:#0000009e}[data-surface=portal] .pmodal{width:480px;max-width:100%;background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}[data-surface=portal] .pmodal .pm-hero{padding:24px 24px 16px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}[data-surface=portal] .pmodal .pm-hero .ic-wrap{width:56px;height:56px;border-radius:16px;background:var(--brand-bg);color:var(--brand);display:grid;place-items:center;margin-bottom:4px;box-shadow:inset 0 0 0 1px var(--brand-border)}[data-surface=portal] .pmodal .pm-title{font-size:var(--t-18);font-weight:600;letter-spacing:-.01em}[data-surface=portal] .pmodal .pm-target{font-family:var(--font-mono);font-size:var(--t-13);color:var(--fg-muted)}[data-surface=portal] .pmodal .pm-body{padding:4px 24px 16px}[data-surface=portal] .pmodal .pm-trust-list{display:flex;flex-direction:column;gap:8px}[data-surface=portal] .pmodal .pm-foot{display:flex;gap:10px;justify-content:stretch;padding:14px 20px;background:var(--bg-2);border-top:1px solid var(--border)}[data-surface=portal] .pmodal .pm-foot .pbtn{flex:1}[data-surface=portal] .duo{display:grid;grid-template-columns:1fr 1fr;gap:16px}[data-surface=portal] .duo .duo-cell{border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;position:relative}[data-surface=portal] .duo .duo-cell .duo-label{position:absolute;top:12px;right:14px;font-size:11px;font-family:var(--font-mono);color:var(--fg-faint);text-transform:uppercase;letter-spacing:.06em}[data-surface=portal] .duo-cell[data-mode=dark]{background:#131318;border-color:#25252d;color:#ececee;--bg-0: #0b0b0e;--bg-1: #131318;--bg-2: #191920;--bg-3: #20202a;--bg-4: #2a2a34;--border: #25252d;--border-strong: #33333d;--fg: #ececee;--fg-muted: #a8a8b2;--fg-dim: #7b7b86;--fg-faint: #54545e;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .45);--shadow-md: 0 6px 18px rgba(0, 0, 0, .55);--shadow-brand: 0 6px 24px rgba(79, 141, 247, .42)}[data-surface=portal] .duo-cell[data-mode=light]{background:#fff;border-color:#e6e6eb;color:#18181b;--bg-0: #f7f7f8;--bg-1: #ffffff;--bg-2: #f4f4f6;--bg-3: #ececef;--bg-4: #e2e2e7;--border: #e6e6eb;--border-strong: #d5d5dc;--fg: #18181b;--fg-muted: #4f4f58;--fg-dim: #71717a;--fg-faint: #a1a1aa;--shadow-sm: 0 1px 2px rgba(20, 20, 30, .05);--shadow-md: 0 4px 14px rgba(20, 20, 30, .08);--shadow-brand: 0 6px 20px rgba(79, 141, 247, .22)}[data-surface=portal] .pill-toggle{display:inline-flex;padding:3px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-full);gap:3px}[data-surface=portal] .pill-toggle button{all:unset;padding:5px 14px;font-size:var(--t-13);font-weight:500;color:var(--fg-dim);border-radius:var(--radius-full);cursor:pointer;display:inline-flex;align-items:center;gap:6px}[data-surface=portal] .pill-toggle button.is-active{background:var(--bg-1);color:var(--fg);box-shadow:var(--shadow-sm)}[data-surface=portal] .note{font-size:var(--t-13);color:var(--fg-dim);margin-top:14px;line-height:1.55}[data-surface=portal] .note.is-tight{margin-top:8px}[data-surface=portal] .legend{display:flex;gap:18px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--border);margin-top:14px;color:var(--fg-dim);font-size:var(--t-12)}[data-surface=portal] .pgrid-devices{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}[data-surface=portal] .stage{padding:18px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-lg)}[data-surface=portal] .brand-pick{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}[data-surface=portal] .brand-pick button{all:unset;cursor:pointer;aspect-ratio:3 / 1;border-radius:var(--radius-md);border:2px solid transparent;box-shadow:inset 0 0 0 1px #00000014;display:grid;place-items:center;color:#fff;font-size:11px;font-family:var(--font-mono);letter-spacing:.02em}[data-surface=portal] .brand-pick button.is-active{border-color:var(--fg)}@keyframes connect-pulse{0%,to{box-shadow:var(--shadow-sm)}50%{box-shadow:0 0 0 4px var(--brand-bg)}}@keyframes banner-sweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes blink{0%,to{opacity:1}50%{opacity:.35}}[data-surface=console] .app{width:100%;height:100vh;display:grid;grid-template-columns:232px 1fr;grid-template-rows:48px 1fr;grid-template-areas:"side topbar" "side main";background:var(--bg-0);color:var(--fg);overflow:hidden;position:relative}[data-surface=console] .side{grid-area:side;background:var(--bg-1);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}[data-surface=console] .side-brand{display:flex;align-items:center;gap:10px;height:48px;padding:0 14px;border-bottom:1px solid var(--border);cursor:pointer}[data-surface=console] .side-brand:hover{background:var(--bg-2)}[data-surface=console] .side-brand .mark{width:24px;height:24px;border-radius:6px;background:linear-gradient(135deg,var(--primary) 0%,#8b5cf6 100%);color:#fff;font-weight:700;font-size:12px;display:grid;place-items:center;box-shadow:inset 0 0 0 1px #ffffff2e;flex-shrink:0}[data-surface=console] .side-brand .org{display:flex;flex-direction:column;line-height:1.15;flex:1;min-width:0}[data-surface=console] .side-brand .org .n{font-size:13px;font-weight:600;letter-spacing:-.005em}[data-surface=console] .side-brand .org .r{font-size:10.5px;color:var(--fg-dim);font-family:var(--font-mono)}[data-surface=console] .side-brand .chev{color:var(--fg-dim)}[data-surface=console] .side-nav{flex:1;overflow-y:auto;padding:10px 10px 16px 14px;display:flex;flex-direction:column;gap:2px}[data-surface=console] .side-section-label{font-size:10px;color:var(--fg-faint);text-transform:uppercase;letter-spacing:.08em;padding:10px 8px 4px;font-weight:600}[data-surface=console] a.nav-item{text-decoration:none}[data-surface=console] .side-foot{border-top:1px solid var(--border);padding:8px 10px;display:flex;flex-direction:column;gap:6px}[data-surface=console] .side-user{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer;position:relative;width:100%;background:none;border:none;font:inherit;color:inherit;text-align:left}[data-surface=console] .side-user:hover{background:var(--bg-2)}[data-surface=console] .side-user .avatar{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--primary),#8b5cf6);color:#fff;font-size:11px;font-weight:600;display:grid;place-items:center;flex-shrink:0}[data-surface=console] .side-user .u-meta{display:flex;flex-direction:column;line-height:1.2;flex:1;min-width:0}[data-surface=console] .side-user .u-meta .n{font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-surface=console] .side-user .u-meta .r{font-size:10.5px;color:var(--fg-dim)}[data-surface=console] .side-user .more{color:var(--fg-dim)}[data-surface=console] .topbar{grid-area:topbar;display:flex;align-items:center;gap:12px;padding:0 18px;background:var(--bg-1);border-bottom:1px solid var(--border);height:48px}[data-surface=console] .topbar .scope-trigger{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 10px;background:var(--bg-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer;font-size:12px;transition:background 80ms,border-color 80ms;color:var(--fg);font-family:inherit}[data-surface=console] .topbar .scope-trigger:hover{background:var(--bg-3);border-color:var(--fg-faint)}[data-surface=console] .topbar .scope-trigger .ic{color:var(--fg-dim)}[data-surface=console] .topbar .scope-trigger .scope-name{font-weight:500}[data-surface=console] .topbar .scope-trigger .scope-divider{color:var(--fg-faint)}[data-surface=console] .topbar .scope-trigger .scope-sub{color:var(--fg-muted)}[data-surface=console] .topbar .scope-trigger .chev{color:var(--fg-dim)}[data-surface=console] .topbar .scope-trigger.is-root{background:transparent;border-color:var(--border)}[data-surface=console] .topbar .crumb{display:inline-flex;align-items:center;gap:4px;color:var(--fg-muted);font-size:12px}[data-surface=console] .topbar .crumb .here{color:var(--fg);font-weight:500}[data-surface=console] .topbar .crumb .sep{color:var(--fg-faint);margin:0 2px}[data-surface=console] .topbar .spacer{flex:1}[data-surface=console] .topbar .kbar{display:flex;align-items:center;gap:8px;height:30px;padding:0 10px;background:var(--bg-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:320px;color:var(--fg-dim);font-size:12px;cursor:pointer;transition:background 80ms;font-family:inherit}[data-surface=console] .topbar .kbar:hover{background:var(--bg-3)}[data-surface=console] .topbar .kbar .placeholder{flex:1;text-align:left}[data-surface=console] .topbar .icon-btn{width:30px;height:30px;display:grid;place-items:center;border-radius:var(--radius-sm);color:var(--fg-muted);cursor:pointer;position:relative;transition:background 80ms,color 80ms;background:none;border:none}[data-surface=console] .topbar .icon-btn:hover{background:var(--bg-3);color:var(--fg)}[data-surface=console] .topbar .icon-btn .dot{position:absolute;top:6px;right:7px;width:7px;height:7px;border-radius:50%;background:var(--critical);box-shadow:0 0 0 2px var(--bg-1)}[data-surface=console] .topbar .role-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;background:var(--warning-bg);color:var(--warning);border:1px solid var(--warning-border);border-radius:var(--radius-xs);font-size:11px;font-weight:500}[data-surface=console] .main{grid-area:main;overflow:auto;background:var(--bg-0)}[data-surface=console] .page-pad{padding:24px 28px 40px}[data-surface=console] .page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}[data-surface=console] .page-head h1{margin:0;font-size:22px;font-weight:600;letter-spacing:-.02em}[data-surface=console] .page-head .sub{margin-top:4px;color:var(--fg-muted);font-size:12px}[data-surface=console] .page-head .actions{display:flex;gap:8px;align-items:center}[data-surface=console] .kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}[data-surface=console] .panel{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}[data-surface=console] .panel-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}[data-surface=console] .panel-head .h-left{display:flex;align-items:center;gap:10px}[data-surface=console] .panel-head .h-title{font-size:13px;font-weight:600;letter-spacing:-.005em}[data-surface=console] .panel-head .h-meta{font-size:11px;color:var(--fg-dim);font-family:var(--font-mono)}[data-surface=console] .grid-2-1{display:grid;grid-template-columns:1.75fr 1fr;gap:14px}[data-surface=console] .alert-row{display:grid;grid-template-columns:14px 90px 1.6fr 1.2fr .7fr 60px;gap:12px;align-items:center;padding:0 16px;height:36px;border-bottom:1px solid var(--border);font-size:12px}[data-surface=console] .alert-row:hover{background:var(--bg-2)}[data-surface=console] .alert-row:last-child{border-bottom:none}[data-surface=console] .alert-row .sev{width:10px;height:10px;border-radius:2px;flex-shrink:0}[data-surface=console] .alert-row .sev.is-critical{background:var(--critical);box-shadow:0 0 0 2px color-mix(in oklab,var(--critical) 25%,transparent)}[data-surface=console] .alert-row .sev.is-warning{background:var(--warning)}[data-surface=console] .alert-row .sev.is-info{background:var(--info)}[data-surface=console] .alert-row .when{font-family:var(--font-mono);font-size:11px;color:var(--fg-dim)}[data-surface=console] .alert-row .title{font-weight:500}[data-surface=console] .alert-row .meta{color:var(--fg-muted);font-size:11px}[data-surface=console] .alert-row .scope{color:var(--fg-dim)}[data-surface=console] .alert-row .status{text-align:right;color:var(--fg-dim);font-size:11px;font-family:var(--font-mono)}[data-surface=console] .activity-feed{padding:4px 0}[data-surface=console] .activity-row{display:grid;grid-template-columns:14px 70px 1fr;gap:10px;align-items:center;padding:8px 16px;font-size:12px;border-bottom:1px dashed var(--border)}[data-surface=console] .activity-row:last-child{border-bottom:none}[data-surface=console] .activity-row .ic-wrap{color:var(--fg-dim)}[data-surface=console] .activity-row .when{font-family:var(--font-mono);font-size:11px;color:var(--fg-dim)}[data-surface=console] .activity-row .who{color:var(--fg-muted)}[data-surface=console] .activity-row .who b{color:var(--fg);font-weight:500}[data-surface=console] .pop{position:absolute;background:var(--bg-1);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:100;overflow:hidden}[data-surface=console] .tenant-pop{top:52px;left:248px;width:460px;max-height:540px;display:flex;flex-direction:column}[data-surface=console] .pop-search{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border)}[data-surface=console] .pop-search input{all:unset;flex:1;font:inherit;font-size:13px;color:var(--fg);caret-color:var(--primary)}[data-surface=console] .pop-search input::placeholder{color:var(--fg-faint)}[data-surface=console] .pop-search .ic{color:var(--fg-dim)}[data-surface=console] .pop-section-label{padding:10px 14px 6px;font-size:10px;color:var(--fg-faint);text-transform:uppercase;letter-spacing:.08em;font-weight:600;display:flex;justify-content:space-between}[data-surface=console] .pop-list{flex:1;overflow-y:auto;padding-bottom:4px}[data-surface=console] .tenant-row{display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:center;padding:7px 14px;cursor:pointer;font-size:12px;position:relative;width:100%;background:none;border:none;color:var(--fg);text-align:left;font-family:inherit}[data-surface=console] .tenant-row:hover{background:var(--bg-2)}[data-surface=console] .tenant-row.is-active{background:var(--primary-bg)}[data-surface=console] .tenant-row.is-active:before{content:"";position:absolute;left:0;width:2px;height:100%;background:var(--primary)}[data-surface=console] .tenant-row .t-icon{width:22px;height:22px;border-radius:var(--radius-xs);background:var(--bg-3);display:grid;place-items:center;color:var(--fg-muted)}[data-surface=console] .tenant-row .t-name{font-weight:500}[data-surface=console] .tenant-row .t-meta{font-size:11px;color:var(--fg-dim);font-family:var(--font-mono)}[data-surface=console] .tenant-row .t-count{font-family:var(--font-mono);font-size:11px;color:var(--fg-dim);padding:1px 6px;background:var(--bg-2);border-radius:var(--radius-xs);border:1px solid var(--border)}[data-surface=console] .tenant-row.is-active .t-count{background:var(--primary-bg-strong);color:var(--primary);border-color:var(--primary-border)}[data-surface=console] .tenant-row .t-expand{width:16px;color:var(--fg-faint);display:inline-flex;align-items:center;justify-content:center}[data-surface=console] .site-row{display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:center;padding:5px 14px 5px 42px;cursor:pointer;font-size:12px;color:var(--fg-muted);width:100%;background:none;border:none;text-align:left;font-family:inherit}[data-surface=console] .site-row:hover{background:var(--bg-2);color:var(--fg)}[data-surface=console] .site-row.is-active{background:var(--primary-bg);color:var(--primary)}[data-surface=console] .site-row .ic{color:var(--fg-faint)}[data-surface=console] .pop-foot{padding:8px 12px;border-top:1px solid var(--border);background:var(--bg-2);display:flex;align-items:center;gap:8px;font-size:11px;color:var(--fg-dim)}[data-surface=console] .pop-foot .kbd-tip{display:flex;gap:4px;align-items:center}[data-surface=console] .pop-foot .spacer{flex:1}[data-surface=console] .pop-foot .add-btn{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;background:var(--bg-3);color:var(--fg);border:1px solid var(--border-strong);border-radius:var(--radius-xs);font-size:11px;cursor:pointer;font-family:inherit}[data-surface=console] .pop-foot .add-btn:hover{background:var(--bg-4)}[data-surface=console] .scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:90}[data-surface=console] .palette{position:fixed;top:88px;left:50%;transform:translate(-50%);width:680px;max-height:540px;background:var(--bg-1);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:100;display:flex;flex-direction:column;overflow:hidden}[data-surface=console] .pal-search{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border)}[data-surface=console] .pal-search .ic{color:var(--fg-dim)}[data-surface=console] .pal-search input{all:unset;flex:1;font:inherit;font-size:15px;color:var(--fg);caret-color:var(--primary)}[data-surface=console] .pal-search input::placeholder{color:var(--fg-faint)}[data-surface=console] .pal-search .scope-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-xs);font-size:11px;color:var(--fg-muted);font-family:var(--font-mono)}[data-surface=console] .pal-list{flex:1;overflow-y:auto;padding-bottom:4px}[data-surface=console] .pal-section{padding:10px 14px 4px;font-size:10px;color:var(--fg-faint);text-transform:uppercase;letter-spacing:.08em;font-weight:600}[data-surface=console] .pal-item{display:grid;grid-template-columns:22px 1fr auto;gap:12px;align-items:center;padding:7px 14px;cursor:pointer;font-size:13px;width:100%;background:none;border:none;color:var(--fg);text-align:left;font-family:inherit}[data-surface=console] .pal-item:hover,[data-surface=console] .pal-item.is-active{background:var(--bg-2)}[data-surface=console] .pal-item.is-active{background:var(--primary-bg)}[data-surface=console] .pal-item.is-active .ic-wrap{color:var(--primary)}[data-surface=console] .pal-item .ic-wrap{width:22px;height:22px;border-radius:var(--radius-xs);background:var(--bg-2);display:grid;place-items:center;color:var(--fg-muted)}[data-surface=console] .pal-item.is-active .ic-wrap{background:var(--primary-bg-strong)}[data-surface=console] .pal-item .label{font-weight:500}[data-surface=console] .pal-item .crumb-meta{font-size:11px;color:var(--fg-dim);margin-left:8px;font-weight:400}[data-surface=console] .pal-item .kbd-side{font-family:var(--font-mono);font-size:10.5px;color:var(--fg-dim);display:inline-flex;gap:4px}[data-surface=console] .pal-foot{padding:8px 14px;border-top:1px solid var(--border);background:var(--bg-2);display:flex;align-items:center;gap:14px;font-size:11px;color:var(--fg-dim)}[data-surface=console] .pal-foot .tip{display:flex;align-items:center;gap:5px}[data-surface=console] .pal-foot .spacer{flex:1}[data-surface=console] .pal-foot .branding{font-family:var(--font-mono);font-size:10px;color:var(--fg-faint)}[data-surface=console] .user-pop{bottom:60px;left:12px;width:220px;padding:4px 0}[data-surface=console] .user-pop .u-head{padding:10px 14px;border-bottom:1px solid var(--border)}[data-surface=console] .user-pop .u-head .n{font-size:13px;font-weight:600}[data-surface=console] .user-pop .u-head .e{font-size:11px;color:var(--fg-dim);font-family:var(--font-mono)}[data-surface=console] .user-pop .u-sep{height:1px;background:var(--border);margin:4px 0}[data-surface=console] .user-pop .u-item{display:flex;align-items:center;gap:10px;padding:7px 14px;cursor:pointer;font-size:12px;color:var(--fg);width:100%;background:none;border:none;text-align:left;font-family:inherit}[data-surface=console] .user-pop .u-item:hover{background:var(--bg-2)}[data-surface=console] .user-pop .u-item .ic{color:var(--fg-dim)}[data-surface=console] .user-pop .u-item .right{margin-left:auto;color:var(--fg-faint);font-family:var(--font-mono);font-size:10.5px}[data-surface=console] .user-pop .u-item.is-danger,[data-surface=console] .user-pop .u-item.is-danger .ic{color:var(--critical)}[data-surface=console] .err-banner{display:flex;align-items:center;gap:12px;padding:8px 16px;background:linear-gradient(180deg,color-mix(in oklab,var(--critical) 22%,var(--bg-1)) 0%,var(--bg-1) 100%);border-bottom:1px solid var(--critical-border);font-size:12px}[data-surface=console] .err-banner .ic-wrap{width:22px;height:22px;border-radius:var(--radius-xs);background:var(--critical-bg);color:var(--critical);display:grid;place-items:center;flex-shrink:0}[data-surface=console] .err-banner .b-title{font-weight:500}[data-surface=console] .err-banner .b-meta{color:var(--fg-muted)}[data-surface=console] .err-banner .b-actions{margin-left:auto;display:flex;gap:6px}[data-surface=console] .role-banner{display:flex;align-items:center;gap:8px;padding:4px 10px;background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning);border-radius:var(--radius-xs);font-size:11px;font-weight:500}[data-surface=console] .activity-circle{width:22px;height:22px;border-radius:50%;background:var(--bg-2);display:grid;place-items:center;color:var(--fg-muted)}[data-surface=console] .activity-circle.is-script{color:var(--info);background:var(--info-bg)}[data-surface=console] .activity-circle.is-reboot{color:var(--warning);background:var(--warning-bg)}[data-surface=console] .activity-circle.is-patch{color:var(--healthy);background:var(--healthy-bg)}[data-surface=console] .activity-circle.is-alert{color:var(--critical);background:var(--critical-bg)}[data-surface=console] .activity-circle.is-system{color:var(--unknown);background:var(--unknown-bg)}[data-surface=console] .skel-row{height:14px;background:linear-gradient(90deg,var(--bg-2) 0%,var(--bg-3) 50%,var(--bg-2) 100%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:3px}[data-surface=console] .toaster{position:fixed;bottom:16px;right:16px;z-index:200;display:flex;flex-direction:column;gap:10px}[data-surface=portal] .pa-app{width:100%;height:100vh;display:grid;grid-template-columns:248px 1fr;grid-template-rows:60px 1fr;grid-template-areas:"side top" "side main";background:var(--bg-0);color:var(--fg);overflow:hidden;position:relative;font-size:var(--t-14);line-height:1.55}[data-surface=portal] .pa-side{grid-area:side;background:var(--bg-1);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}[data-surface=portal] .pa-brand{display:flex;align-items:center;gap:12px;padding:18px 18px 14px}[data-surface=portal] .pa-brand .mark{width:36px;height:36px;border-radius:9px;background:var(--brand);color:var(--brand-fg);display:grid;place-items:center;font-weight:700;font-size:15px;box-shadow:inset 0 0 0 1px #ffffff26;flex-shrink:0}[data-surface=portal] .pa-brand .body{display:flex;flex-direction:column;line-height:1.2}[data-surface=portal] .pa-brand .body .nm{font-weight:600;letter-spacing:-.01em;font-size:var(--t-14)}[data-surface=portal] .pa-brand .body .sub{font-size:11px;color:var(--fg-dim);font-family:var(--font-mono)}[data-surface=portal] .pa-tenant{margin:0 12px 14px;padding:10px 12px;background:var(--bg-2);border-radius:var(--radius-md);display:flex;align-items:center;gap:10px}[data-surface=portal] .pa-tenant .ic{color:var(--fg-muted);flex-shrink:0}[data-surface=portal] .pa-tenant .body{line-height:1.2;min-width:0}[data-surface=portal] .pa-tenant .body .label{font-size:10px;color:var(--fg-dim);text-transform:uppercase;letter-spacing:.06em;font-weight:500}[data-surface=portal] .pa-tenant .body .nm{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-surface=portal] .pa-nav{flex:1;overflow-y:auto;padding:4px 12px;display:flex;flex-direction:column;gap:4px}[data-surface=portal] .pa-nav .sep{height:1px;background:var(--border);margin:8px 6px}[data-surface=portal] a.pnav-item{text-decoration:none}[data-surface=portal] .pa-foot{padding:12px;border-top:1px solid var(--border);display:flex;align-items:center;gap:10px}[data-surface=portal] .pa-foot .avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#6ba0ff,var(--brand));color:#fff;display:grid;place-items:center;font-size:12px;font-weight:600;flex-shrink:0}[data-surface=portal] .pa-foot .body{line-height:1.2;flex:1;min-width:0}[data-surface=portal] .pa-foot .body .nm{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-surface=portal] .pa-foot .body .role{font-size:11px;color:var(--fg-dim);font-family:var(--font-mono)}[data-surface=portal] .pa-foot .more{color:var(--fg-dim);cursor:pointer;background:none;border:none}[data-surface=portal] .pa-foot .more:hover{color:var(--fg)}[data-surface=portal] .pa-top{grid-area:top;display:flex;align-items:center;gap:14px;padding:0 24px;background:var(--bg-1);border-bottom:1px solid var(--border)}[data-surface=portal] .pa-top .crumb{display:inline-flex;align-items:center;gap:6px;color:var(--fg-muted);font-size:var(--t-13)}[data-surface=portal] .pa-top .crumb .here{color:var(--fg);font-weight:500}[data-surface=portal] .pa-top .crumb .sep{color:var(--fg-faint)}[data-surface=portal] .pa-top .spacer{flex:1}[data-surface=portal] .pa-top .pt-search{display:flex;align-items:center;gap:8px;width:340px;height:36px;padding:0 12px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--fg-dim);font-size:var(--t-13)}[data-surface=portal] .pa-top .pt-search input{all:unset;flex:1;font:inherit;caret-color:var(--brand);color:var(--fg)}[data-surface=portal] .pa-top .pt-search input::placeholder{color:var(--fg-faint)}[data-surface=portal] .pa-top .icon-btn{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:var(--fg-muted);cursor:pointer;position:relative;transition:background .1s;background:none;border:none}[data-surface=portal] .pa-top .icon-btn:hover{background:var(--bg-2);color:var(--fg)}[data-surface=portal] .pa-top .icon-btn .dot{position:absolute;top:7px;right:9px;width:8px;height:8px;border-radius:50%;background:var(--critical);box-shadow:0 0 0 2px var(--bg-1)}[data-surface=portal] .pa-main{grid-area:main;overflow:auto;background:var(--bg-0);position:relative}[data-surface=portal] .pp-pad{padding:32px 40px 48px;max-width:1280px;margin:0 auto}[data-surface=portal] .pp-head{margin-bottom:28px}[data-surface=portal] .pp-head .eyebrow{font-size:12px;color:var(--fg-dim);font-family:var(--font-mono);margin-bottom:4px}[data-surface=portal] .pp-head h1{margin:0;font-size:var(--t-28);letter-spacing:-.02em;font-weight:600}[data-surface=portal] .pp-head .sub{color:var(--fg-muted);font-size:var(--t-14);margin-top:6px;max-width:720px}[data-surface=portal] .pp-head .actions{display:flex;gap:8px;margin-top:16px}[data-surface=portal] .pp-panel{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}[data-surface=portal] .pp-panel-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--border)}[data-surface=portal] .pp-panel-head .h-left{display:flex;align-items:center;gap:12px}[data-surface=portal] .pp-panel-head .h-title{font-size:16px;font-weight:600;letter-spacing:-.01em}[data-surface=portal] .pp-panel-head .h-meta{font-size:12px;color:var(--fg-dim)}[data-surface=portal] .pp-session-band{padding:14px 24px 0}
