@font-face{font-family:PlusJakarta;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/plus-jakarta-variable.woff2) format("woff2")}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/jetbrains-mono-variable.woff2) format("woff2")}:root,:root[data-theme=dark]{color-scheme:dark;--bg: #05070a;--panel: #0b0f15;--rail: #070a0e;--raised: #0e1319;--surface-2: #151b24;--surface-3: #1c232f;--surface-tinted: #0c1118;--surface-active: rgba(52, 226, 130, .12);--surface-active-strong: rgba(52, 226, 130, .2);--surface-info: #0d1a2a;--border: #1b232e;--border-soft: #161d27;--border-info: #1d3b52;--border-2: #25303d;--scrollbar: #232d3a;--scrollbar-hover: #34414f;--text: #e7f1ea;--text-strong: #f3f8f4;--muted: #9aa6b2;--dim: #5c6671;--on-mint: #04140b;--mint: #34e282;--primary: #34e282;--primary-hover: #4bf096;--primary-soft: #5cf0a6;--sky: #22d3a8;--indigo: #818cf8;--accent-green: #34e282;--accent-blue: #38bdf8;--accent-purple: #a78bfa;--brand-gradient: linear-gradient(135deg, #34e282 0%, #22d3a8 55%, #38bdf8 100%);--gradient-gb: linear-gradient(90deg, #34e282 0%, #22d3a8 50%, #38bdf8 100%);--brand-ink: #04140b;--success: #34e282;--warn: #fb923c;--danger: #f87171;--crit: #f87171;--high: #fb923c;--med: #facc15;--low: #60a5fa;--info: #9ca3af;--font-ui: "PlusJakarta", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--mono: var(--font-mono);--font-size-base: 14px;--fs-2xs: 9px;--fs-xs: 10px;--fs-sm: 11px;--fs-base: 13px;--fs-md: 14px;--fs-lg: 16px;--fs-xl: 20px;--fs-2xl: 26px;--fs-stat: 2.2rem;--fs-label: .7rem;--fw-normal: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--fw-black: 800;--lh-tight: 1.2;--lh-snug: 1.35;--lh-normal: 1.5;--lh-relaxed: 1.65;--ls-tight: -.02em;--ls-heading: -.01em;--ls-label: .06em;--ls-wide: .12em;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--t-fast: .15s;--t-med: .25s;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-smooth: cubic-bezier(.4, 0, .2, 1);--transition: all var(--t-fast) var(--ease-smooth);--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 16px;--r-pill: 999px;--shadow-xs: 0 1px 2px rgba(0,0,0,.4);--shadow-sm: 0 1px 3px rgba(0,0,0,.5), 0 1px 2px rgba(0,0,0,.4);--shadow-md: 0 4px 12px rgba(0,0,0,.55), 0 2px 4px rgba(0,0,0,.4);--shadow-lift: 0 8px 24px rgba(0,0,0,.6), 0 3px 8px rgba(0,0,0,.45);--shadow-card: var(--shadow-sm);--shadow-modal: 0 16px 48px rgba(0,0,0,.65);--ring: 0 0 0 3px rgba(52, 226, 130, .22)}:root[data-theme=light]{color-scheme:light;--bg: #f6f8fb;--panel: #ffffff;--rail: #ffffff;--raised: #ffffff;--surface-2: #f1f5f9;--surface-3: #e7edf5;--surface-tinted: #f8fafc;--surface-active: rgba(37, 99, 235, .08);--surface-active-strong: rgba(37, 99, 235, .14);--surface-info: #eff6ff;--border: #e2e8f0;--border-soft: #eef0f4;--border-info: #bfdbfe;--border-2: #d4dde8;--scrollbar: #cbd5e1;--scrollbar-hover: #94a3b8;--text: #0f172a;--text-strong: #0f172a;--muted: #475569;--dim: #94a3b8;--on-mint: #ffffff;--mint: #2563eb;--primary: #2563eb;--primary-hover: #1d4ed8;--primary-soft: #3b82f6;--sky: #0ea5e9;--indigo: #4f46e5;--accent-green: #10b981;--accent-blue: #3b82f6;--accent-purple: #7c3aed;--brand-gradient: linear-gradient(135deg, #10b981 0%, #22c55e 45%, #3b82f6 100%);--gradient-gb: linear-gradient(90deg, #10b981 0%, #22c55e 45%, #3b82f6 100%);--brand-ink: #ffffff;--success: #10b981;--warn: #f59e0b;--danger: #ef4444;--shadow-xs: 0 1px 2px rgba(16,24,40,.04);--shadow-sm: 0 1px 3px rgba(16,24,40,.06), 0 1px 2px rgba(16,24,40,.04);--shadow-md: 0 4px 12px rgba(16,24,40,.08), 0 2px 4px rgba(16,24,40,.04);--shadow-lift: 0 8px 24px rgba(16,24,40,.1), 0 3px 8px rgba(16,24,40,.06);--shadow-card: var(--shadow-sm);--shadow-modal: 0 24px 48px rgba(15,23,42,.14), 0 6px 12px rgba(15,23,42,.07);--ring: 0 0 0 3px rgba(37, 99, 235, .15)}@media (prefers-color-scheme: light){:root:not([data-theme]){color-scheme:light;--bg: #f6f8fb;--panel: #ffffff;--rail: #ffffff;--raised: #ffffff;--surface-2: #f1f5f9;--surface-3: #e7edf5;--surface-tinted: #f8fafc;--surface-active: rgba(37, 99, 235, .08);--surface-active-strong: rgba(37, 99, 235, .14);--surface-info: #eff6ff;--border: #e2e8f0;--border-soft: #eef0f4;--border-info: #bfdbfe;--border-2: #d4dde8;--scrollbar: #cbd5e1;--scrollbar-hover: #94a3b8;--text: #0f172a;--text-strong: #0f172a;--muted: #475569;--dim: #94a3b8;--mint: #2563eb;--primary: #2563eb;--primary-hover: #1d4ed8;--primary-soft: #3b82f6;--sky: #0ea5e9;--indigo: #4f46e5;--accent-green: #10b981;--accent-blue: #3b82f6;--accent-purple: #7c3aed;--brand-gradient: linear-gradient(135deg, #10b981 0%, #22c55e 45%, #3b82f6 100%);--gradient-gb: linear-gradient(90deg, #10b981 0%, #22c55e 45%, #3b82f6 100%);--brand-ink: #ffffff;--success: #10b981;--warn: #f59e0b;--danger: #ef4444;--shadow-xs: 0 1px 2px rgba(16,24,40,.04);--shadow-sm: 0 1px 3px rgba(16,24,40,.06), 0 1px 2px rgba(16,24,40,.04);--shadow-md: 0 4px 12px rgba(16,24,40,.08), 0 2px 4px rgba(16,24,40,.04);--shadow-lift: 0 8px 24px rgba(16,24,40,.1), 0 3px 8px rgba(16,24,40,.06);--shadow-card: var(--shadow-sm);--shadow-modal: 0 24px 48px rgba(15,23,42,.14), 0 6px 12px rgba(15,23,42,.07);--ring: 0 0 0 3px rgba(37, 99, 235, .15)}}.glow-c{filter:drop-shadow(0 0 8px rgba(248,113,113,.7))}.glow-h{filter:drop-shadow(0 0 6px rgba(251,146,60,.6))}.glow-m{filter:drop-shadow(0 0 5px rgba(250,204,21,.5))}.glow-ok{filter:drop-shadow(0 0 6px rgba(52,226,130,.5))}.glow-target{filter:drop-shadow(0 0 14px rgba(52,226,130,.8))}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-ui);font-size:var(--font-size-base);line-height:var(--lh-normal);letter-spacing:-.006em;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}input,textarea,select{font:inherit;color:inherit}a{color:inherit;text-decoration:none}code,.mono{font-family:var(--font-mono)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar);border-radius:var(--r-pill);border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-hover);background-clip:padding-box}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar) transparent}:focus-visible{outline:2px solid var(--mint);outline-offset:2px;border-radius:var(--r-sm)}.hidden{display:none!important}.card,.surface-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:var(--sp-5)}.card--pad-lg{padding:var(--sp-6)}.card--interactive{cursor:pointer;transition:transform var(--t-fast) var(--ease-smooth),box-shadow var(--t-fast) var(--ease-smooth),border-color var(--t-fast) var(--ease-smooth)}.card--interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift);border-color:var(--border-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:8px 14px;border-radius:var(--r-sm);font-size:var(--fs-base);font-weight:var(--fw-semibold);letter-spacing:-.005em;border:1px solid transparent;cursor:pointer;transition:background var(--t-fast) var(--ease-smooth),color var(--t-fast) var(--ease-smooth),border-color var(--t-fast) var(--ease-smooth),box-shadow var(--t-fast) var(--ease-smooth),transform var(--t-fast) var(--ease-smooth)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--on-mint);box-shadow:var(--shadow-xs)}.btn-primary:not(:disabled):hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-secondary{background:var(--surface-2);color:var(--text);border-color:var(--border)}.btn-secondary:not(:disabled):hover{background:var(--surface-3);border-color:var(--border-2)}.btn-ghost{background:transparent;color:var(--muted)}.btn-ghost:not(:disabled):hover{background:var(--surface-2);color:var(--text)}.field{width:100%;padding:9px 12px;border-radius:var(--r-sm);background:var(--panel);border:1px solid var(--border);color:var(--text);font-size:var(--fs-base);transition:border-color var(--t-fast) var(--ease-smooth),box-shadow var(--t-fast) var(--ease-smooth)}.field::placeholder{color:var(--dim)}.field:focus,.field:focus-visible{outline:none;border-color:var(--primary);box-shadow:var(--ring)}textarea.field{resize:vertical}.badge{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-sm);font-weight:var(--fw-semibold);letter-spacing:var(--ls-label);padding:3px 10px;border-radius:var(--r-pill);background:var(--surface-2);color:var(--muted)}.badge-dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.badge-primary{background:var(--surface-active);color:var(--primary)}.badge-blue{background:color-mix(in srgb,var(--accent-blue) 14%,transparent);color:var(--accent-blue)}.badge-green{background:color-mix(in srgb,var(--accent-green) 16%,transparent);color:var(--accent-green)}.badge-purple{background:color-mix(in srgb,var(--accent-purple) 16%,transparent);color:var(--accent-purple)}.badge-success{background:color-mix(in srgb,var(--success) 16%,transparent);color:var(--success)}.badge-warn{background:color-mix(in srgb,var(--warn) 16%,transparent);color:var(--warn)}.badge-danger{background:color-mix(in srgb,var(--danger) 16%,transparent);color:var(--danger)}.switch{position:relative;display:inline-block;width:38px;height:22px;flex:none}.switch input{position:absolute;opacity:0;width:0;height:0}.switch-track{position:absolute;inset:0;border-radius:var(--r-pill);background:var(--surface-3);border:1px solid var(--border);transition:background var(--t-fast) var(--ease-smooth),border-color var(--t-fast) var(--ease-smooth)}.switch-track:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:var(--shadow-xs);transition:transform var(--t-fast) var(--ease-smooth)}.switch input:checked+.switch-track{background:var(--primary);border-color:var(--primary)}.switch input:checked+.switch-track:after{transform:translate(16px)}.switch input:focus-visible+.switch-track{box-shadow:var(--ring)}.menu{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-md);padding:var(--sp-1)}.menu-item{display:flex;align-items:center;gap:var(--sp-2);width:100%;text-align:left;padding:8px 10px;border-radius:var(--r-sm);font-size:var(--fs-base);color:var(--text);transition:background var(--t-fast) var(--ease-smooth),color var(--t-fast) var(--ease-smooth)}.menu-item:hover{background:var(--surface-2)}.menu-item.active{background:var(--surface-active);color:var(--primary)}.tab{padding:10px 16px;font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--muted);border-bottom:2px solid transparent;transition:color var(--t-fast) var(--ease-smooth),border-color var(--t-fast) var(--ease-smooth)}.tab:hover{color:var(--text)}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.divider{height:1px;background:var(--border);border:0;margin:var(--sp-3) 0}.stat-num{font-size:var(--fs-stat);font-weight:var(--fw-bold);line-height:var(--lh-tight);letter-spacing:var(--ls-tight);color:var(--text-strong)}.stat-label{font-size:var(--fs-label);font-weight:var(--fw-semibold);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--dim)}.summary-bar{height:11px;border-radius:var(--r-pill);background:var(--surface-3);overflow:hidden;display:flex}.summary-bar--gradient{background:var(--gradient-gb)}.summary-bar>.summary-seg{height:100%}.summary-seg-green{background:var(--accent-green)}.summary-seg-teal{background:color-mix(in srgb,var(--accent-green) 50%,var(--accent-blue))}.summary-seg-blue{background:var(--accent-blue)}.summary-seg-purple{background:var(--accent-purple)}.summary-legend{display:flex;flex-wrap:wrap;gap:var(--sp-4);margin-top:var(--sp-3)}.summary-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--muted)}.summary-legend-dot{width:8px;height:8px;border-radius:50%;flex:none}.summary-legend-pct{color:var(--text-strong);font-weight:var(--fw-semibold)}.progress{height:6px;border-radius:var(--r-pill);background:var(--surface-3);overflow:hidden}.progress>.progress-fill{height:100%;background:var(--gradient-gb);border-radius:var(--r-pill);transition:width var(--t-med) var(--ease-smooth)}.timeline-track{position:relative;width:3px;border-radius:var(--r-pill);background:var(--gradient-gb)}.app-shell{display:grid;grid-template-columns:var(--rail-w, 220px) 1fr;height:100vh;overflow:hidden;position:relative}.rail{background:var(--rail);border-right:1px solid var(--border);display:flex;flex-direction:column;height:100vh;overflow:hidden;min-height:0}.rail-scroll{flex:1 1 0;min-height:0;overflow-y:auto;padding-top:0}.rail-view-all{display:block;width:calc(100% - 20px);margin:6px 10px 8px;padding:6px 10px;font-size:10px;font-family:var(--font-mono);text-align:center;color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:5px;cursor:pointer;transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast)}.rail-view-all:hover{background:var(--surface-active);color:var(--mint);border-color:var(--mint)}.brand{padding:16px 16px 14px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--border)}.brand-logo{width:100%;max-width:172px;height:auto;display:none}:root[data-theme=light] .brand-logo-light{display:block}:root[data-theme=dark] .brand-logo-dark{display:block}:root:not([data-theme]) .brand-logo-dark{display:block}@media (prefers-color-scheme: light){:root:not([data-theme]) .brand-logo-dark{display:none}:root:not([data-theme]) .brand-logo-light{display:block}}.brand-mark{width:26px;height:26px;border-radius:var(--r-md);background:var(--brand-gradient);display:grid;place-items:center;font-weight:800;color:var(--brand-ink);font-size:13px}.brand-name{font-weight:700;font-size:14px;letter-spacing:-.01em}.brand-sub{font-size:9px;color:var(--dim);margin-top:1px;font-family:var(--font-mono)}.rail-section{padding:14px 10px 2px}.rail-label{font-size:var(--fs-2xs);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--dim);padding:0 8px 6px;font-weight:var(--fw-semibold)}.rail-item{width:100%;display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:var(--r-sm);font-size:12px;color:var(--muted);transition:background var(--t-fast) var(--ease-smooth),color var(--t-fast) var(--ease-smooth);text-align:left}.rail-item:hover{background:var(--surface-2);color:var(--text)}.rail-item.active{background:var(--surface-active);color:var(--mint)}.rail-item.active .ri-dot{background:var(--mint)}.ri-dot{width:5px;height:5px;border-radius:50%;background:var(--border-2);flex-shrink:0}.ri-icon{width:14px;text-align:center;opacity:.8;font-size:12px}.ri-label{flex:1}.ri-count{font-family:var(--font-mono);font-size:9px;color:var(--dim);background:var(--surface-2);padding:1px 5px;border-radius:3px}.rail-item.active .ri-count{color:var(--mint);background:var(--surface-active-strong)}.rail-add{width:calc(100% - 20px);margin:4px 10px 0;font-size:11px;padding:6px 8px;background:var(--raised);border:1px dashed var(--border-2);border-radius:var(--r-sm);color:var(--muted);transition:color var(--t-fast) var(--ease-smooth),border-color var(--t-fast) var(--ease-smooth),background var(--t-fast) var(--ease-smooth)}.rail-add:hover{color:var(--mint);border-color:var(--mint);background:var(--surface-active)}.env-item{display:flex;align-items:center;gap:8px;padding:5px 10px;font-size:11px;color:var(--muted);cursor:pointer;border-radius:4px;margin:1px 0}.env-item:hover{background:var(--surface-2)}.env-item.active{background:var(--surface-active)}.env-icon{width:18px;height:18px;border-radius:4px;display:grid;place-items:center;font-size:9px;font-weight:700;flex-shrink:0;font-family:var(--font-mono)}.env-aws{background:color-mix(in srgb,var(--high) 18%,var(--bg));color:var(--high)}.env-az{background:color-mix(in srgb,var(--low) 18%,var(--bg));color:var(--low)}.env-gh{background:var(--surface-2);color:var(--muted)}.env-gcp{background:color-mix(in srgb,#34d399 18%,var(--bg));color:#34d399}.env-okta{background:color-mix(in srgb,#c084fc 18%,var(--bg));color:#c084fc}.env-tgt{background:color-mix(in srgb,var(--crit) 18%,var(--bg));color:var(--crit)}.env-name{flex:1;font-family:var(--font-mono);font-size:11px}.env-status{font-size:9px;color:var(--mint)}.env-status.warn{color:var(--high)}.conv-item{display:flex;flex-direction:column;padding:6px 10px;font-size:11px;cursor:pointer;border-radius:4px;margin:1px 0}.conv-title{color:var(--text);font-size:12px}.conv-meta{color:var(--dim);font-size:10px;font-family:var(--font-mono);margin-top:1px}.conv-empty{padding:8px 10px;font-size:11px;color:var(--dim);font-family:var(--font-mono)}.rail-footer{margin-top:auto;border-top:1px solid var(--border);padding:10px;display:flex;align-items:stretch;gap:6px}.user-pill{flex:1;min-width:0;display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:var(--r-sm);background:var(--raised);border:1px solid var(--border);cursor:pointer;transition:background var(--t-fast) var(--ease-smooth),border-color var(--t-fast) var(--ease-smooth),box-shadow var(--t-fast) var(--ease-smooth)}.user-pill:hover{background:var(--surface-2);border-color:var(--border-2);box-shadow:var(--shadow-xs)}.user-mark{width:22px;height:22px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--mint) 16%,transparent);color:var(--mint);display:grid;place-items:center;font-weight:var(--fw-bold);font-size:10px}.user-info{flex:1;min-width:0}.user-name{font-size:11px;font-weight:600}.user-sub{font-size:9px;color:var(--dim);font-family:var(--font-mono)}.theme-switcher{flex:0 0 auto;width:36px;display:grid;place-items:center;border-radius:7px;background:var(--raised);border:1px solid var(--border);color:var(--muted);cursor:pointer;transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast)}.theme-switcher:hover{background:var(--surface-2);color:var(--mint);border-color:var(--mint)}.theme-switcher svg{display:block}.theme-switcher .ts-sun{display:block}.theme-switcher .ts-moon{display:none}:root[data-theme=light] .theme-switcher .ts-sun{display:none}:root[data-theme=light] .theme-switcher .ts-moon{display:block}.main{display:grid;grid-template-rows:44px 1fr;height:100vh;overflow:hidden}.topbar{border-bottom:1px solid var(--border);background:var(--rail);display:flex;align-items:center;padding:0 14px;gap:14px}.tb-crumb{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--muted);font-family:var(--font-mono)}.tb-crumb .now{color:var(--text)}.tb-pill{display:flex;align-items:center;gap:6px;font-size:10px;padding:3px 9px;border-radius:var(--r-pill);background:var(--raised);border:1px solid var(--border-soft);font-family:var(--font-mono)}.tb-pill .dot{width:6px;height:6px;border-radius:50%;background:var(--mint)}.tb-pill .dot.warn{background:var(--high)}.tb-spacer{flex:1}.tb-credits{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted);font-family:var(--font-mono)}.tb-bar{width:50px;height:4px;background:var(--surface-3);border-radius:var(--r-pill);overflow:hidden}.tb-fill{width:36%;height:100%;background:var(--gradient-gb);border-radius:var(--r-pill)}.tb-icon{width:34px;height:34px;border-radius:var(--r-md);display:grid;place-items:center;color:var(--muted);border:1px solid transparent;transition:background var(--t-fast) var(--ease-smooth),color var(--t-fast) var(--ease-smooth),border-color var(--t-fast) var(--ease-smooth),box-shadow var(--t-fast) var(--ease-smooth)}.tb-icon svg{width:19px;height:19px}.tb-icon:hover{background:var(--surface-2);color:var(--text);border-color:var(--border);box-shadow:var(--shadow-xs)}.three-pane{display:grid;grid-template-columns:var(--chat-w, 360px) 1fr var(--assets-w, 300px);height:100%;overflow:hidden}.pane-resizer{position:absolute;width:9px;z-index:40;cursor:col-resize;touch-action:none}.pane-resizer:after{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;transform:translate(-50%);background:transparent;transition:background var(--t-fast)}.pane-resizer:hover:after,.pane-resizer.dragging:after{background:var(--mint)}.pane-resizer-rail{left:var(--rail-w, 220px);margin-left:-4px;top:0;bottom:0}.pane-resizer-chat{left:calc(var(--rail-w, 220px) + var(--chat-w, 360px));margin-left:-4px;top:44px;bottom:0}.pane-resizer-assets{right:var(--assets-w, 300px);margin-right:-4px;top:44px;bottom:0}body.resizing{cursor:col-resize;user-select:none}.chat-pane{border-right:1px solid var(--border);background:var(--panel);display:grid;grid-template-rows:38px 1fr auto;overflow:hidden}.chat-tabs{display:flex;border-bottom:1px solid var(--border);background:var(--rail)}.chat-tab{flex:1;padding:10px;font-size:11px;font-weight:var(--fw-semibold);color:var(--muted);border-bottom:2px solid transparent;letter-spacing:var(--ls-label);transition:color var(--t-fast) var(--ease-smooth),border-color var(--t-fast) var(--ease-smooth)}.chat-tab:hover{color:var(--text)}.chat-tab.active{color:var(--mint);border-bottom-color:var(--mint)}.chat-thread{overflow-y:auto;padding:14px 14px 0;scroll-behavior:smooth}.chat-empty{display:grid;place-items:center;padding:40px 14px;color:var(--dim);font-size:12px;font-family:var(--font-mono);text-align:center}.msg{margin-bottom:var(--sp-4)}.msg-head{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:6px;font-size:var(--fs-sm);color:var(--muted)}.msg-who{font-weight:var(--fw-semibold);color:var(--text)}.msg-who.user{color:var(--accent-blue)}.msg-who.ai{color:var(--primary)}.msg-time{font-family:var(--font-mono);color:var(--dim);font-size:var(--fs-xs)}.msg-body{color:var(--text);font-size:12.5px;line-height:var(--lh-relaxed);white-space:pre-wrap}.msg-body p{margin-bottom:8px}.msg-body p:last-child{margin-bottom:0}.msg.streaming .msg-body:after{content:"▌";color:var(--primary);animation:cursor-blink 1s steps(2) infinite;margin-left:1px}@keyframes cursor-blink{50%{opacity:0}}.exec-block{background:var(--surface-tinted);border:1px solid var(--border-soft);border-radius:var(--r-md);margin:var(--sp-3) 0;font-family:var(--font-mono);font-size:var(--fs-sm);overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow var(--t-fast) var(--ease-smooth),border-color var(--t-fast) var(--ease-smooth)}.exec-block:hover{box-shadow:var(--shadow-md);border-color:var(--border)}.exec-head{padding:var(--sp-2) var(--sp-3);background:var(--raised);border-bottom:1px solid var(--border-soft);display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-xs);color:var(--muted);letter-spacing:var(--ls-label)}.exec-head .tag{background:var(--surface-active-strong);color:var(--primary);padding:2px var(--sp-2);border-radius:var(--r-pill);font-weight:var(--fw-semibold);letter-spacing:0}.exec-head .env{color:var(--accent-purple)}.exec-head .status{margin-left:auto}.exec-cmd{padding:var(--sp-2) var(--sp-3);color:var(--primary)}.exec-out{padding:var(--sp-2) var(--sp-3);background:var(--bg);border-top:1px solid var(--border-soft);color:var(--muted);white-space:pre-wrap;max-height:160px;overflow-y:auto}.gate{margin:var(--sp-3) 0;padding:var(--sp-4);background:var(--surface-info);border:1px solid var(--border-info);border-radius:var(--r-md);box-shadow:var(--shadow-sm)}.gate-head{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--accent-blue);font-weight:var(--fw-semibold);margin-bottom:6px}.gate-desc{font-size:var(--fs-sm);color:var(--muted);margin-bottom:var(--sp-3);line-height:var(--lh-snug)}.gate-row{display:flex;gap:var(--sp-2);flex-wrap:wrap}.gate-btn{font-size:var(--fs-sm);padding:6px var(--sp-3);border-radius:var(--r-sm);background:var(--surface-2);color:var(--muted);font-weight:var(--fw-medium);border:1px solid var(--border);transition:background var(--t-fast) var(--ease-smooth),color var(--t-fast) var(--ease-smooth),border-color var(--t-fast) var(--ease-smooth),box-shadow var(--t-fast) var(--ease-smooth),transform var(--t-fast) var(--ease-smooth)}.gate-btn.primary{background:var(--primary);color:var(--on-mint);border-color:transparent;box-shadow:var(--shadow-xs)}.gate-btn:hover{background:var(--surface-3);border-color:var(--border-2);transform:translateY(-1px)}.gate-btn.primary:hover{background:var(--primary-hover);box-shadow:var(--shadow-sm)}.gate-btn.chosen{background:var(--surface-active-strong);color:var(--primary);border-color:transparent}.skill-cite{display:inline-flex;align-items:center;gap:4px;font-size:10px;padding:1px 6px;border-radius:3px;background:var(--border-soft);color:var(--indigo);font-family:var(--font-mono);margin:0 1px}.chat-input-area{border-top:1px solid var(--border);padding:10px;background:var(--rail)}.chat-input-wrap{background:var(--raised);border:1px solid var(--border);border-radius:var(--r-md);padding:8px;transition:border-color var(--t-fast) var(--ease-smooth),box-shadow var(--t-fast) var(--ease-smooth)}.chat-input-wrap:focus-within{border-color:var(--primary);box-shadow:var(--ring)}.chat-input{width:100%;background:transparent;border:0;outline:0;font-size:12.5px;resize:none;color:var(--text);min-height:36px;max-height:120px;line-height:1.5}.chat-input::placeholder{color:var(--dim)}.chat-input-actions{display:flex;align-items:center;gap:8px;margin-top:6px;flex-wrap:wrap}.input-pill{font-size:10px;padding:3px 9px;border-radius:var(--r-pill);background:var(--surface-2);color:var(--muted);font-family:var(--font-mono);border:1px solid var(--border-soft);transition:background var(--t-fast) var(--ease-smooth),color var(--t-fast) var(--ease-smooth),border-color var(--t-fast) var(--ease-smooth)}.input-pill.active{background:var(--surface-active-strong);color:var(--mint);border-color:transparent}.input-pill:hover{color:var(--text);border-color:var(--border-2)}.input-spacer{flex:1}.send-btn{font-size:11px;padding:6px 14px;border-radius:var(--r-sm);background:var(--primary);color:var(--on-mint);font-weight:var(--fw-semibold);box-shadow:var(--shadow-xs);transition:background var(--t-fast) var(--ease-smooth),transform var(--t-fast) var(--ease-smooth),box-shadow var(--t-fast) var(--ease-smooth)}.send-btn:not(:disabled):hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.send-btn:disabled{opacity:.4;cursor:not-allowed}.graph-pane{background:var(--bg);position:relative;overflow:hidden;display:grid;grid-template-rows:auto 1fr auto}.graph-head{padding:10px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px}.graph-title{font-size:13px;font-weight:600}.graph-sub{font-size:11px;color:var(--muted);font-family:var(--font-mono)}.graph-modes{display:flex;gap:2px;background:var(--raised);padding:2px;border-radius:5px;margin-left:auto}.gm-btn{font-size:10px;padding:4px 9px;border-radius:4px;color:var(--muted);font-weight:500;letter-spacing:.03em}.gm-btn.active{background:var(--surface-active);color:var(--mint)}.gm-btn:hover{color:var(--text)}.graph-canvas{position:relative;background:radial-gradient(circle at 30% 40%,color-mix(in srgb,var(--mint) 4%,transparent),transparent 50%),radial-gradient(circle at 70% 60%,rgba(56,189,248,.04),transparent 50%);display:grid;place-items:center}.graph-placeholder{text-align:center;color:var(--dim);font-family:var(--font-mono);font-size:11px}.graph-placeholder .big{font-size:18px;color:var(--muted);margin-bottom:6px;font-family:var(--font-ui);font-weight:600}.graph-foot{border-top:1px solid var(--border);padding:8px 16px;display:flex;align-items:center;gap:18px;font-size:11px;color:var(--muted);font-family:var(--font-mono)}.gf-stat{display:flex;align-items:center;gap:6px}.gf-stat b{color:var(--text);font-weight:600}.gf-dot{width:8px;height:8px;border-radius:50%}.assets-pane{border-left:1px solid var(--border);background:var(--rail);overflow-y:auto;display:flex;flex-direction:column}.ap-section{border-bottom:1px solid var(--border);padding:12px 14px}.ap-label{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text);font-weight:700;margin-bottom:10px}.ap-sev-row{display:grid;grid-template-columns:1fr 1fr;gap:6px}.ap-sev{background:var(--surface-tinted);border:1px solid var(--border-soft);border-radius:5px;padding:8px 10px;display:flex;align-items:center;gap:10px}.ap-sev-mark{width:22px;height:22px;border-radius:5px;display:grid;place-items:center;font-weight:700;font-size:11px}.sev-c .ap-sev-mark{background:color-mix(in srgb,var(--crit) 18%,var(--bg));color:var(--crit)}.sev-h .ap-sev-mark{background:color-mix(in srgb,var(--high) 18%,var(--bg));color:var(--high)}.sev-m .ap-sev-mark{background:color-mix(in srgb,var(--med) 18%,var(--bg));color:var(--med)}.sev-l .ap-sev-mark{background:color-mix(in srgb,var(--low) 18%,var(--bg));color:var(--low)}.ap-sev-num{font-family:var(--font-mono);font-size:16px;font-weight:800}.ap-sev-lbl{font-size:10px;color:var(--muted);font-weight:600;letter-spacing:.02em}.ap-asset{display:flex;align-items:center;gap:9px;padding:7px 8px;margin:0 -8px;border-radius:5px;cursor:pointer;font-size:11px}.ap-asset:hover{background:var(--raised)}.ap-asset .dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.ap-asset .name{font-family:var(--font-mono);font-size:11px;color:var(--text);flex:1}.ap-asset .meta{font-size:10px;color:var(--dim);font-family:var(--font-mono)}.ap-find{padding:8px;margin:6px 0;background:var(--surface-tinted);border:1px solid var(--border-soft);border-radius:5px;cursor:pointer}.ap-find:hover{border-color:var(--border-2)}.ap-find-head{display:flex;align-items:center;gap:6px;margin-bottom:4px}.ap-find-id{font-family:var(--font-mono);font-size:10px;color:var(--dim)}.ap-find-cvss{font-family:var(--font-mono);font-size:10px;font-weight:600;margin-left:auto}.ap-find-title{font-size:11.5px;color:var(--text);line-height:1.4}.ap-find-meta{font-size:10px;color:var(--muted);margin-top:4px;font-family:var(--font-mono)}.sev-pill{display:inline-block;font-size:9px;padding:1px 6px;border-radius:3px;font-weight:600;letter-spacing:.04em}.sev-Critical{background:color-mix(in srgb,var(--crit) 18%,var(--bg));color:var(--crit)}.sev-High{background:color-mix(in srgb,var(--high) 18%,var(--bg));color:var(--high)}.sev-Medium{background:color-mix(in srgb,var(--med) 18%,var(--bg));color:var(--med)}.sev-Low{background:color-mix(in srgb,var(--low) 18%,var(--bg));color:var(--low)}.sev-Info{background:var(--surface-2);color:var(--info)}.ap-empty{padding:8px;font-size:11px;color:var(--dim);font-family:var(--font-mono)}.modal-bg{position:fixed;inset:0;background:#0f172a73;backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center;z-index:100}.modal-bg.open{display:flex}.modal{background:var(--panel);border:1px solid var(--border-soft);border-radius:var(--r-lg);padding:var(--sp-6);width:520px;max-width:90vw;max-height:86vh;overflow-y:auto;box-shadow:var(--shadow-modal)}.modal-title{font-size:var(--fs-lg);font-weight:var(--fw-bold);letter-spacing:var(--ls-heading);margin-bottom:var(--sp-1)}.modal-sub{font-size:var(--fs-base);color:var(--muted);line-height:var(--lh-snug);margin-bottom:var(--sp-5)}.modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:18px}.modal-tile{padding:var(--sp-4);background:var(--surface-tinted);border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;text-align:left;display:flex;align-items:center;gap:10px;transition:border-color var(--t-fast) var(--ease-smooth),box-shadow var(--t-fast) var(--ease-smooth),transform var(--t-fast) var(--ease-smooth),background var(--t-fast) var(--ease-smooth)}.modal-tile:hover{border-color:var(--border-2);transform:translateY(-2px);box-shadow:var(--shadow-md)}.modal-tile.sel{border-color:var(--primary);background:var(--surface-active);box-shadow:var(--ring)}.modal-icon{width:32px;height:32px;border-radius:var(--r-sm);display:grid;place-items:center;font-weight:var(--fw-bold);font-size:11px;font-family:var(--font-mono)}.modal-tile .info{flex:1}.modal-tile .t{font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--text-strong)}.modal-tile .s{font-size:var(--fs-xs);color:var(--muted);font-family:var(--font-mono)}.modal-field{margin-bottom:var(--sp-3)}.modal-field label{display:block;font-size:var(--fs-label);color:var(--dim);text-transform:uppercase;letter-spacing:var(--ls-label);font-weight:var(--fw-semibold);margin-bottom:var(--sp-1)}.modal-input,.modal-textarea,.modal-select{width:100%;padding:9px 12px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);font-size:var(--fs-base);font-family:var(--font-mono);transition:border-color var(--t-fast) var(--ease-smooth),box-shadow var(--t-fast) var(--ease-smooth)}.modal-input:focus,.modal-textarea:focus,.modal-select:focus{outline:0;border-color:var(--primary);box-shadow:var(--ring)}.modal-textarea{resize:vertical;min-height:90px}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:18px}.modal-btn{font-size:var(--fs-base);padding:9px 16px;border-radius:var(--r-sm);font-weight:var(--fw-semibold);letter-spacing:-.005em;border:1px solid transparent;transition:background var(--t-fast) var(--ease-smooth),color var(--t-fast) var(--ease-smooth),transform var(--t-fast) var(--ease-smooth),box-shadow var(--t-fast) var(--ease-smooth),border-color var(--t-fast) var(--ease-smooth)}.modal-btn.ghost{background:var(--surface-2);color:var(--text);border-color:var(--border)}.modal-btn.ghost:hover{background:var(--surface-3);border-color:var(--border-2)}.modal-btn.primary{background:var(--primary);color:var(--on-mint);box-shadow:var(--shadow-xs)}.modal-btn.primary:not(:disabled):hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.modal-btn:disabled{opacity:.45;cursor:not-allowed}.modal-err{margin-top:var(--sp-2);padding:9px 11px;background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger);border-radius:var(--r-sm);font-size:var(--fs-sm);font-family:var(--font-mono)}.modal-ok{margin-top:var(--sp-2);padding:9px 11px;background:color-mix(in srgb,var(--success) 16%,transparent);color:var(--success);border-radius:var(--r-sm);font-size:var(--fs-sm);font-family:var(--font-mono)}.mp-popover{position:absolute;background:var(--panel);border:1px solid var(--border-soft);border-radius:var(--r-lg);box-shadow:var(--shadow-lift);width:320px;max-height:360px;z-index:50;display:flex;flex-direction:column;overflow:hidden}.mp-search{padding:var(--sp-2);border-bottom:1px solid var(--border)}.mp-search input{width:100%;padding:7px 10px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-sm);font-size:var(--fs-base);font-family:var(--font-mono);transition:border-color var(--t-fast) var(--ease-smooth),box-shadow var(--t-fast) var(--ease-smooth)}.mp-search input:focus{outline:0;border-color:var(--primary);box-shadow:var(--ring)}.mp-list{flex:1;overflow-y:auto;padding:var(--sp-1)}.mp-item{padding:7px 10px;cursor:pointer;border-radius:var(--r-sm);font-size:var(--fs-base);font-family:var(--font-mono);color:var(--muted);display:flex;align-items:center;gap:8px;transition:background var(--t-fast) var(--ease-smooth),color var(--t-fast) var(--ease-smooth)}.mp-item:hover{background:var(--surface-2);color:var(--text)}.mp-item.active{background:var(--surface-active);color:var(--primary)}.mp-item .pub{font-size:var(--fs-xs);color:var(--dim);margin-left:auto}.mp-empty{padding:var(--sp-4);text-align:center;color:var(--dim);font-size:var(--fs-sm);font-family:var(--font-mono)}.mp-toggle{padding:10px 12px;border-top:1px solid var(--border);display:flex;align-items:center;gap:8px;font-size:var(--fs-sm);color:var(--muted);background:var(--surface-tinted)}.mp-toggle input{accent-color:var(--primary)}.agents-panel{overflow-y:auto;padding:14px;color:var(--text);font-size:12.5px}.agents-empty{color:var(--dim);font-family:var(--font-mono);font-size:11px;padding:16px;text-align:center}.agents-list{display:flex;flex-direction:column;gap:6px}.agent-row{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;background:var(--surface-tinted);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:12px;cursor:pointer}.agent-row:hover{border-color:var(--mint)}.agent-name{font-family:var(--font-mono);font-size:11px}.agent-pill{font-size:10px;padding:2px 8px;border-radius:10px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em}.agent-pill-idle{background:var(--surface-3);color:var(--muted)}.agent-pill-running{background:#38bdf82e;color:var(--sky)}.agent-pill-blocked{background:#fbbf242e;color:#fbbf24}.agent-pill-done{background:color-mix(in srgb,var(--mint) 18%,transparent);color:var(--mint)}.agent-pill-failed{background:#f871712e;color:#f87171}.agents-detail-head{display:flex;align-items:center;gap:10px;padding-bottom:8px;border-bottom:1px solid var(--border);margin-bottom:10px}.agents-back{background:transparent;color:var(--muted);font-size:11px;border:1px solid var(--border);padding:4px 8px;border-radius:4px}.agents-detail-title{font-family:var(--font-mono);font-size:12px;color:var(--mint)}.agents-log{background:var(--rail);border:1px solid var(--border);border-radius:6px;padding:8px;font-family:var(--font-mono);font-size:11px;color:var(--muted);height:240px;overflow-y:auto}.agent-log-line{white-space:pre-wrap;padding:1px 0}.reports-modal{position:fixed;inset:0;display:none;place-items:center;background:#0f172a73;backdrop-filter:blur(6px);z-index:50}.reports-modal.open{display:grid}.reports-modal-inner{background:var(--panel);border:1px solid var(--border-soft);border-radius:var(--r-lg);padding:var(--sp-6);min-width:360px;color:var(--text);font-family:var(--font-mono);font-size:var(--fs-base);box-shadow:var(--shadow-modal)}.reports-modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-4)}.reports-modal-title{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text-strong)}.reports-status{color:var(--muted);font-size:var(--fs-sm);margin:var(--sp-2) 0}.reports-status.ready{color:var(--success);font-weight:var(--fw-semibold)}.reports-status.failed{color:var(--danger);font-weight:var(--fw-semibold)}.reports-progress{height:6px;background:var(--surface-3);border-radius:var(--r-pill);overflow:hidden;margin:var(--sp-3) 0}.reports-progress>span{display:block;height:100%;background:var(--gradient-gb);border-radius:var(--r-pill);width:30%;transition:width var(--t-med) var(--ease-smooth)}.reports-actions{display:flex;gap:var(--sp-2);margin-top:var(--sp-3)}.reports-actions a,.reports-actions button{font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:var(--fw-semibold);padding:8px 14px;border-radius:var(--r-sm);background:var(--surface-2);color:var(--text);border:1px solid var(--border);text-decoration:none;cursor:pointer;transition:background var(--t-fast) var(--ease-smooth),border-color var(--t-fast) var(--ease-smooth),transform var(--t-fast) var(--ease-smooth),box-shadow var(--t-fast) var(--ease-smooth)}.reports-actions button:not(:disabled):hover{background:var(--surface-3);border-color:var(--border-2);transform:translateY(-1px)}.reports-actions a[aria-disabled=true]{opacity:.5;pointer-events:none}.reports-download{background:var(--primary)!important;color:var(--on-mint)!important;border-color:transparent!important;box-shadow:var(--shadow-xs)}.reports-download:hover{background:var(--primary-hover)!important;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.live:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--mint);margin-right:6px;animation:pulse-dot 1.4s ease-in-out infinite;vertical-align:middle}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.toast-stack{position:fixed;top:16px;right:16px;z-index:9999;display:flex;flex-direction:column;gap:8px;max-width:380px;pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--r-md);font-family:var(--font-ui);font-size:var(--fs-base);background:var(--panel);border:1px solid var(--border-soft);color:var(--text);box-shadow:var(--shadow-lift);animation:toast-enter .2s var(--ease-out);transition:opacity .2s var(--ease-smooth),transform .2s var(--ease-smooth)}.toast.toast-leave{opacity:0;transform:translate(20px)}.toast-body{flex:1;line-height:1.4;white-space:pre-line}.toast-actions{display:flex;align-items:center;gap:6px}.toast-action{font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:var(--fw-semibold);padding:4px 10px;border-radius:var(--r-sm);background:var(--surface-active);color:var(--primary);border:1px solid transparent;cursor:pointer;transition:background var(--t-fast) var(--ease-smooth)}.toast-action:hover{background:var(--surface-active-strong)}.toast-close{font-size:16px;line-height:1;background:transparent;color:var(--muted);border:none;cursor:pointer;padding:0 4px;transition:color var(--t-fast) var(--ease-smooth)}.toast-close:hover{color:var(--text)}.toast-info{border-left:3px solid var(--accent-blue)}.toast-success{border-left:3px solid var(--success)}.toast-warning{border-left:3px solid var(--high);background:color-mix(in srgb,var(--high) 12%,var(--panel))}.toast-error{border-left:3px solid var(--crit);background:color-mix(in srgb,var(--crit) 12%,var(--panel))}.toast-error .toast-body{color:var(--crit)}@keyframes toast-enter{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion: reduce){.toast,.toast.toast-leave{transition:none;animation:none}}.history-backdrop{position:fixed;inset:0;background:#0f172a73;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:100}.history-panel{background:var(--panel);border:1px solid var(--border-soft);border-radius:var(--r-lg);width:640px;max-width:92vw;height:70vh;max-height:720px;display:flex;flex-direction:column;box-shadow:var(--shadow-modal);overflow:hidden}.history-panel .modal-head{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border)}.history-panel .modal-head .modal-title{margin:0;font-size:var(--fs-lg);font-weight:var(--fw-semibold);letter-spacing:var(--ls-heading)}.history-panel .modal-close{font-size:22px;line-height:1;color:var(--muted);width:30px;height:30px;border-radius:var(--r-sm);display:grid;place-items:center;transition:background var(--t-fast) var(--ease-smooth),color var(--t-fast) var(--ease-smooth)}.history-panel .modal-close:hover{background:var(--surface-2);color:var(--text)}.history-toolbar{display:flex;align-items:center;gap:10px;padding:var(--sp-3) var(--sp-5);border-bottom:1px solid var(--border)}.history-filter{flex:1;font-family:var(--font-ui);font-size:var(--fs-base);padding:8px 12px;border-radius:var(--r-sm);background:var(--panel);border:1px solid var(--border);color:var(--text);transition:border-color var(--t-fast) var(--ease-smooth),box-shadow var(--t-fast) var(--ease-smooth)}.history-filter::placeholder{color:var(--dim)}.history-filter:focus-within,.history-filter:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.history-count{font-size:var(--fs-xs);font-family:var(--font-mono);color:var(--dim)}.history-body{flex:1;overflow-y:auto;padding:var(--sp-2) var(--sp-3)}.history-empty{padding:30px 20px;text-align:center;color:var(--dim);font-family:var(--font-ui);font-size:var(--fs-base)}.history-list{list-style:none;padding:0;margin:0}.history-row{margin:2px 0}.history-row-btn{display:block;width:100%;text-align:left;padding:9px 11px;border-radius:var(--r-sm);background:transparent;transition:background var(--t-fast) var(--ease-smooth);cursor:pointer}.history-row-btn:hover{background:var(--surface-2)}.history-row-title{font-size:var(--fs-base);font-weight:var(--fw-medium);color:var(--text-strong);margin-bottom:2px}.history-row-meta{font-size:var(--fs-xs);color:var(--dim);font-family:var(--font-mono);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.org-switcher{position:relative;padding:6px 10px;border-top:1px solid var(--border)}.org-switcher-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:var(--r-sm);background:var(--surface-tinted);border:1px solid var(--border);color:var(--text);font-size:var(--fs-sm);cursor:pointer;transition:background var(--t-fast) var(--ease-smooth),border-color var(--t-fast) var(--ease-smooth)}.org-switcher-btn:hover{background:var(--surface-2);border-color:var(--border-2)}.org-switcher-btn:disabled{cursor:default;opacity:.8}.org-switcher-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:var(--fw-semibold)}.org-switcher-caret{color:var(--dim);flex-shrink:0}.org-switcher-menu{position:absolute;bottom:calc(100% + 6px);left:10px;right:10px;background:var(--panel);border:1px solid var(--border-soft);border-radius:var(--r-md);box-shadow:var(--shadow-lift);padding:var(--sp-1);z-index:50;max-height:320px;overflow-y:auto}.org-switcher-item,.org-switcher-action{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:var(--r-sm);font-size:var(--fs-base);color:var(--text);background:transparent;cursor:pointer;text-align:left;transition:background var(--t-fast) var(--ease-smooth),color var(--t-fast) var(--ease-smooth)}.org-switcher-item:hover,.org-switcher-action:hover{background:var(--surface-2)}.org-switcher-item.active{background:var(--surface-active);color:var(--primary)}.org-switcher-action{color:var(--muted);font-family:var(--font-mono)}.org-role{font-size:var(--fs-2xs);color:var(--dim);font-family:var(--font-mono)}.org-switcher-sep{height:1px;background:var(--border);margin:var(--sp-1) 0}.member-role-select{font-family:var(--font-mono);font-size:var(--fs-sm);padding:6px 8px;border-radius:var(--r-sm);background:var(--panel);border:1px solid var(--border);color:var(--text);transition:border-color var(--t-fast) var(--ease-smooth),box-shadow var(--t-fast) var(--ease-smooth)}.member-role-select:focus{outline:0;border-color:var(--primary);box-shadow:var(--ring)}.member-row{display:flex;align-items:center;gap:8px;width:100%}.member-id{flex:1;font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text);overflow:hidden;text-overflow:ellipsis}.msg-prose{line-height:1.55}.msg-prose:empty{display:none}.msg-prose>*:first-child{margin-top:0}.msg-prose>*:last-child{margin-bottom:0}.msg-prose p{margin:6px 0}.msg-prose strong{font-weight:700;color:var(--text)}.msg-prose a{color:var(--mint);text-decoration:underline}.msg-prose ul,.msg-prose ol{margin:6px 0;padding-left:20px}.msg-prose li{margin:2px 0}.msg-prose h1,.msg-prose h2,.msg-prose h3{margin:10px 0 6px;font-weight:700;line-height:1.3}.msg-prose h1{font-size:16px}.msg-prose h2{font-size:15px}.msg-prose h3{font-size:14px}.msg-prose code{font-family:var(--font-mono);font-size:11px;background:var(--surface-2);padding:1px 5px;border-radius:4px}.msg-prose pre{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:8px 10px;overflow-x:auto;margin:6px 0}.msg-prose pre code{background:none;padding:0}.msg-prose blockquote{border-left:3px solid var(--border-2);margin:6px 0;padding:2px 0 2px 10px;color:var(--muted)}.msg-prose table{border-collapse:collapse;margin:8px 0;width:100%;font-size:11px}.msg-prose th,.msg-prose td{border:1px solid var(--border);padding:5px 8px;text-align:left;vertical-align:top}.msg-prose th{background:var(--surface-2);font-weight:700;color:var(--text)}.msg-prose tr:nth-child(2n) td{background:color-mix(in srgb,var(--surface-2) 45%,transparent)}.chat-spinner{width:14px;height:14px;flex:0 0 auto;border:2px solid var(--border-2);border-top-color:var(--mint);border-radius:50%;display:inline-block;animation:chat-spin .7s linear infinite}.chat-spinner[hidden]{display:none}@keyframes chat-spin{to{transform:rotate(360deg)}}.send-btn.stop{background:color-mix(in srgb,var(--crit) 16%,var(--bg));color:var(--crit);border-color:var(--crit)}.ap-label{display:flex;align-items:center;gap:6px}.ap-sev-click{cursor:pointer;transition:background var(--t-fast),outline-color var(--t-fast)}.ap-sev-click:hover{background:var(--surface-2)}.ap-sev.active{outline:1.5px solid var(--mint);outline-offset:-1px;border-radius:8px}.ap-pager{display:inline-flex;align-items:center;gap:4px;margin-left:auto}.ap-pg-btn{width:18px;height:18px;line-height:1;padding:0;border-radius:4px;background:var(--surface-2);border:1px solid var(--border);color:var(--text);cursor:pointer;font-size:13px;display:grid;place-items:center}.ap-pg-btn:hover:not(:disabled){background:var(--surface-active);color:var(--mint)}.ap-pg-btn:disabled{opacity:.35;cursor:default}.ap-pg-info{font-size:9px;color:var(--dim);font-family:var(--font-mono);white-space:nowrap}.continue-btn{margin-top:6px;padding:6px 14px;border-radius:7px;background:var(--mint);color:#04110d;border:none;cursor:pointer;font-weight:700;font-size:12px}.continue-btn:hover{filter:brightness(1.05)}.continue-btn:disabled{opacity:.5;cursor:default}.ap-asset{display:flex;align-items:center;gap:6px;cursor:pointer}.ap-asset-caret{color:var(--dim);font-size:9px;width:9px;flex:0 0 auto}.ap-asset.expanded .ap-asset-caret{color:var(--mint)}.ap-asset-fcount{margin-left:auto;font-size:9px;font-family:var(--font-mono);color:var(--dim);background:var(--surface-2);padding:1px 6px;border-radius:8px}.ap-asset-findings{margin:1px 0 5px 18px;border-left:1px solid var(--border);padding-left:8px;display:flex;flex-direction:column;gap:2px}.ap-asset-find{display:flex;align-items:center;gap:6px;padding:3px 4px;font-size:10px;border-radius:4px}.ap-asset-find:hover{background:var(--surface-2)}.ap-asset-find .dot{width:6px;height:6px;border-radius:50%;flex:0 0 auto}.ap-asset-find .t{flex:1;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-asset-find .c{font-family:var(--font-mono);font-size:9px;color:var(--dim)}.ap-subempty{font-size:10px;color:var(--dim);padding:3px 4px;font-family:var(--font-mono)}.starters{padding:var(--sp-2) var(--sp-1)}.starters-label{font-size:var(--fs-2xs);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--dim);padding:0 var(--sp-1) var(--sp-2);font-weight:var(--fw-semibold)}.starters-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2)}.starter-card{text-align:left;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-lg);background:var(--panel);border:1px solid var(--border);cursor:pointer;box-shadow:var(--shadow-sm);transition:background var(--t-fast) var(--ease-smooth),border-color var(--t-fast) var(--ease-smooth),box-shadow var(--t-fast) var(--ease-smooth),transform var(--t-fast) var(--ease-smooth)}.starter-card:hover{border-color:var(--border-2);transform:translateY(-2px);box-shadow:var(--shadow-lift)}.starter-title{font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--text-strong)}.starter-desc{font-size:var(--fs-xs);color:var(--dim);margin-top:2px}.starter-form{grid-column:1 / -1;display:flex;gap:var(--sp-2);flex-wrap:wrap}.starter-input{flex:1;min-width:120px;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);background:var(--panel);border:1px solid var(--border);color:var(--text);font-size:var(--fs-base);transition:border-color var(--t-fast) var(--ease-smooth),box-shadow var(--t-fast) var(--ease-smooth)}.starter-input::placeholder{color:var(--dim)}.starter-input:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.starter-run{padding:var(--sp-2) var(--sp-4);border-radius:var(--r-sm);background:var(--primary);color:var(--on-mint);border:none;cursor:pointer;font-weight:var(--fw-semibold);font-size:var(--fs-base);box-shadow:var(--shadow-xs);transition:background var(--t-fast) var(--ease-smooth),transform var(--t-fast) var(--ease-smooth),box-shadow var(--t-fast) var(--ease-smooth)}.starter-run:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.cmd-output-panel{flex:1 1 auto;min-height:0;overflow-y:auto;padding:var(--sp-3)}.cmd-output-empty{color:var(--dim);font-size:var(--fs-base);padding:var(--sp-4) var(--sp-2);line-height:var(--lh-normal)}.cmd-output-head{font-size:var(--fs-2xs);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--dim);font-weight:var(--fw-semibold);padding:0 2px var(--sp-2)}.cmd-output-list{display:flex;flex-direction:column;gap:var(--sp-2)}.cmd-card{border:1px solid var(--border);border-radius:var(--r-md);background:var(--panel);overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow var(--t-fast) var(--ease-smooth),border-color var(--t-fast) var(--ease-smooth),transform var(--t-fast) var(--ease-smooth)}.cmd-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-2);transform:translateY(-1px)}.cmd-card-head{width:100%;display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:none;border:none;cursor:pointer;text-align:left;color:var(--text);transition:background var(--t-fast) var(--ease-smooth)}.cmd-card-head:hover{background:var(--surface-2)}.cmd-seq{flex:none;width:18px;height:18px;border-radius:var(--r-sm);background:var(--surface-2);color:var(--dim);font-size:var(--fs-xs);font-weight:var(--fw-bold);display:grid;place-items:center}.cmd-text{flex:1 1 auto;font-family:var(--mono, ui-monospace, monospace);font-size:var(--fs-sm);color:var(--primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmd-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--dim)}.cmd-dot.ok{background:var(--accent-green)}.cmd-dot.fail{background:var(--danger)}.cmd-dot.rejected{background:var(--warn)}.cmd-meta{flex:none;font-size:var(--fs-xs);color:var(--dim)}.cmd-caret{flex:none;color:var(--dim);font-size:var(--fs-xs);transition:transform var(--t-fast) var(--ease-smooth)}.cmd-card.open .cmd-caret{transform:rotate(180deg)}.cmd-out{display:none;margin:0;padding:var(--sp-3);border-top:1px solid #1c2433;background:#0b0f16;color:#cfe8da;font-family:var(--mono, ui-monospace, monospace);font-size:var(--fs-sm);line-height:var(--lh-snug);white-space:pre-wrap;word-break:break-word;max-height:320px;overflow-y:auto}.cmd-card.open .cmd-out{display:block}.reports-field{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.reports-field-label{font-size:var(--fs-label);color:var(--dim);text-transform:uppercase;letter-spacing:var(--ls-label);font-weight:var(--fw-semibold)}.reports-template{padding:8px 11px;border-radius:var(--r-sm);background:var(--panel);border:1px solid var(--border);color:var(--text);font-size:var(--fs-base);transition:border-color var(--t-fast) var(--ease-smooth),box-shadow var(--t-fast) var(--ease-smooth)}.reports-template:focus{outline:0;border-color:var(--primary);box-shadow:var(--ring)}.reports-scope{font-size:var(--fs-sm);color:var(--dim);margin-bottom:var(--sp-3)}.rail-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.rail-new-chat{font-size:11px;font-weight:var(--fw-semibold);color:var(--mint);padding:3px 8px;border-radius:var(--r-sm);transition:background var(--t-fast) var(--ease-smooth)}.rail-new-chat:hover{background:var(--surface-active)}.conv-item{display:flex;flex-direction:row;align-items:stretch;gap:2px;padding:0;border-radius:var(--r-md);margin:1px 0;transition:background var(--t-fast) var(--ease-smooth)}.conv-item:hover{background:var(--surface-2)}.conv-item.active{background:var(--surface-active)}.conv-open{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;text-align:left;padding:7px 8px;border-radius:var(--r-md)}.conv-del{flex:none;width:24px;opacity:0;color:var(--dim);font-size:16px;line-height:1;border-radius:var(--r-sm);transition:opacity var(--t-fast),color var(--t-fast)}.conv-item:hover .conv-del,.conv-del:focus-visible{opacity:1}.conv-del:hover{color:var(--crit);background:var(--surface-3)}.conv-item.confirming{align-items:center;background:var(--surface-2);padding:0 4px}.conv-confirm-label{flex:1 1 auto;font-size:11px;color:var(--muted);padding:7px 6px}.conv-confirm-yes{color:var(--crit);font-size:11px;font-weight:700;padding:4px 8px;border-radius:var(--r-sm)}.conv-confirm-yes:hover{background:#f8717124}.conv-confirm-no{color:var(--muted);font-size:11px;padding:4px 8px}.history-clear-all{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--danger);padding:7px 12px;border-radius:var(--r-sm);border:1px solid var(--border);white-space:nowrap;transition:background var(--t-fast) var(--ease-smooth),border-color var(--t-fast) var(--ease-smooth)}.history-clear-all:hover,.history-clear-all.armed{background:color-mix(in srgb,var(--danger) 12%,transparent);border-color:var(--danger)}.history-clear-all.armed{font-weight:var(--fw-bold)}.history-row{display:flex;align-items:stretch;gap:4px}.history-row-btn{flex:1 1 auto;min-width:0}.history-row-del{flex:none;font-size:var(--fs-sm);color:var(--dim);padding:0 12px;border-radius:var(--r-sm);white-space:nowrap;transition:color var(--t-fast) var(--ease-smooth),background var(--t-fast) var(--ease-smooth)}.history-row:hover .history-row-del{color:var(--muted)}.history-row-del:hover,.history-row-del.armed{color:var(--danger);font-weight:var(--fw-semibold);background:color-mix(in srgb,var(--danger) 10%,transparent)}.chat-session-thread{display:block}.conv-item.streaming .conv-title:after{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--mint);margin-left:6px;vertical-align:middle;animation:conv-pulse 1.4s ease-in-out infinite}@keyframes conv-pulse{0%,to{opacity:.35}50%{opacity:1}}.settings-overlay{position:fixed;inset:0;z-index:300;display:grid;place-items:center;background:color-mix(in srgb,var(--panel) 30%,rgba(0,0,0,.55));pointer-events:none}.settings-overlay[hidden]{display:none}.settings-panel{position:relative;pointer-events:auto;width:calc(100vw - 6vmin);height:calc(100vh - 6vmin);max-width:1180px;max-height:920px;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--border-2);border-radius:var(--r-xl);box-shadow:var(--shadow-modal);padding:clamp(20px,3vmin,36px);color:var(--text);overflow:hidden}.settings-close{position:absolute;top:16px;right:18px;z-index:1;width:34px;height:34px;border-radius:var(--r-md);display:grid;place-items:center;font-size:16px;line-height:1;color:var(--muted);background:var(--surface-2);border:1px solid var(--border);transition:color var(--t-fast),border-color var(--t-fast),background var(--t-fast)}.settings-close:hover{color:var(--text);border-color:var(--border-2);background:var(--surface-active)}.settings-head{font-size:22px;font-weight:800;letter-spacing:-.01em;margin-bottom:18px}.settings-group{margin-bottom:22px}.settings-group:last-child{margin-bottom:0}.settings-label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);font-weight:600;margin-bottom:10px}.settings-seg{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:5px;max-width:480px}.seg-opt{font-size:14px;font-weight:600;padding:11px 8px;border-radius:var(--r-sm);color:var(--muted)}.seg-opt:hover{color:var(--text)}.seg-opt.active{background:var(--mint);color:var(--on-mint)}.settings-hint{font-size:12.5px;color:var(--dim);margin-top:9px;line-height:1.45}.settings-row{display:flex;align-items:center;gap:9px}.settings-num{width:88px;padding:10px 12px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border);color:var(--text);font-size:16px;font-weight:600;transition:border-color var(--t-fast) var(--ease-smooth),box-shadow var(--t-fast) var(--ease-smooth)}.settings-num:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.settings-unit{font-size:13px;color:var(--muted);margin-right:6px}.settings-preset{font-size:13px;font-weight:600;padding:9px 14px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border);color:var(--muted)}.settings-preset:hover{color:var(--mint);border-color:var(--mint)}.settings-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:20px;flex:none}.settings-tab{flex:0 0 auto;min-width:120px;padding:12px 22px;font-size:14px;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;letter-spacing:.02em}.settings-tab:hover{color:var(--text)}.settings-tab.active{color:var(--mint);border-bottom-color:var(--mint)}.settings-body{flex:1 1 auto;min-height:0;overflow-y:auto}.settings-tabpane[hidden]{display:none}.settings-tabpane{max-width:1040px;margin:0 auto}.pks-tierbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.pks-tier-label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);font-weight:600}.pks-tier-badge{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 11px;border-radius:999px;background:var(--surface-2);color:var(--muted)}.pks-tier-badge.pks-tier-pro{background:var(--surface-active);color:var(--mint)}.pks-tier-badge.pks-tier-max{background:var(--surface-active-strong);color:var(--mint)}.pks-tier-badge.pks-tier-ultra{background:var(--mint);color:var(--on-mint)}.pks-group-head{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);font-weight:600;margin:16px 0 9px}.pks-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px;align-items:start}.pks-pack{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-tinted);overflow:hidden;box-shadow:var(--shadow-xs);transition:box-shadow var(--t-fast) var(--ease-smooth),border-color var(--t-fast) var(--ease-smooth),transform var(--t-fast) var(--ease-smooth)}.pks-pack:hover{box-shadow:var(--shadow-sm);border-color:var(--border-2);transform:translateY(-2px)}.pks-pack-locked{opacity:.88}.pks-pack-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:13px 15px;cursor:default;list-style:none}details.pks-pack>summary.pks-pack-head{cursor:pointer}details.pks-pack>summary.pks-pack-head::-webkit-details-marker{display:none}.pks-pack-main{display:flex;flex-direction:column;gap:4px;min-width:0}.pks-pack-title{font-size:15px;font-weight:600;color:var(--text)}.pks-pack-desc{font-size:12.5px;color:var(--muted);line-height:1.45}.pks-pack-meta{display:flex;align-items:center;gap:10px;flex:none}.pks-pack-count{font-size:11.5px;color:var(--dim);font-family:var(--font-mono);white-space:nowrap}.pks-badge{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:3px 10px;border-radius:999px;white-space:nowrap}.pks-badge-on{background:var(--surface-active);color:var(--mint)}.pks-badge-locked{background:var(--surface-2);color:var(--muted);display:inline-flex;align-items:center;gap:5px}.pks-lock{font-size:10px}.pks-pack-body{padding:0 15px 13px}.pks-tools{list-style:none;display:flex;flex-direction:column;gap:5px}.pks-tool{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 11px;border-radius:var(--r-sm);background:var(--surface-2)}.pks-tool-bin{font-size:13px;font-family:var(--font-mono);color:var(--text)}.pks-tool-status{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 9px;border-radius:999px}.pks-tool-installed{color:var(--mint);background:var(--surface-active)}.pks-tool-installable{color:var(--med);background:#facc151f}.pks-tool-missing{color:var(--dim);background:var(--surface-tinted)}.pks-tools-empty{font-size:12.5px;color:var(--dim);font-style:italic}.pks-upsell{padding:0 15px 12px;font-size:12.5px;color:var(--muted);line-height:1.45}.pks-upsell strong{color:var(--mint);font-weight:700}.pks-empty,.pks-loading{padding:28px 8px;text-align:center;color:var(--dim);font-size:14px;grid-column:1 / -1}.data-section{max-width:760px;margin:0 auto}.data-admin-only{padding:34px 20px;text-align:center;color:var(--dim);font-size:14px;line-height:1.5}.data-empty{padding:22px 14px;text-align:center;color:var(--dim);font-size:13.5px;line-height:1.45}.data-group-head{display:flex;align-items:center;justify-content:space-between;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);font-weight:600;margin:4px 0 12px}.data-eng-list{display:flex;flex-direction:column;gap:6px}.data-eng-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-tinted)}.data-eng-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.data-eng-name{font-size:13.5px;font-weight:600;color:var(--text)}.data-eng-meta{font-size:11.5px;color:var(--dim);font-family:var(--font-mono)}.data-eng-actions{display:flex;align-items:center;gap:7px;flex:none}.data-btn{font-size:12.5px;font-weight:600;padding:7px 14px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border);color:var(--muted)}.data-btn:hover{color:var(--mint);border-color:var(--mint)}.data-btn-danger{color:var(--crit)}.data-btn-danger:hover{color:var(--crit);border-color:var(--crit);background:color-mix(in srgb,var(--crit) 10%,transparent)}.data-danger{margin-top:28px;padding:16px 18px;border:1px solid color-mix(in srgb,var(--crit) 45%,var(--border));border-radius:var(--r-md);background:color-mix(in srgb,var(--crit) 6%,transparent)}.data-danger-head{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--crit);font-weight:700;margin-bottom:8px}.data-danger-desc{font-size:12.5px;color:var(--muted);line-height:1.5;margin-bottom:14px}.data-danger-desc strong{color:var(--text)}.data-danger-actions{display:flex;align-items:center;gap:9px}.purge-panel{width:520px;height:auto;max-height:86vh}.purge-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:16px;overflow-y:auto}.purge-target{font-size:var(--fs-base);color:var(--muted);line-height:var(--lh-relaxed)}.purge-preview{padding:13px 15px;border-radius:var(--r-md);border:1px solid color-mix(in srgb,var(--crit) 35%,var(--border));background:color-mix(in srgb,var(--crit) 6%,transparent)}.purge-preview-loading{font-size:var(--fs-base);color:var(--dim)}.purge-preview-head{font-size:var(--fs-base);font-weight:var(--fw-bold);color:var(--danger);margin-bottom:var(--sp-2)}.purge-preview-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-1)}.purge-preview-list li{font-size:var(--fs-base);color:var(--text);font-family:var(--font-mono)}.purge-preview-error{font-size:var(--fs-base);color:var(--danger)}.purge-export-opt{display:flex;align-items:center;gap:8px;font-size:var(--fs-base);color:var(--muted);cursor:pointer}.purge-export-opt input{accent-color:var(--primary)}.purge-confirm-field{display:flex;flex-direction:column;gap:7px}.purge-confirm-label{font-size:var(--fs-base);color:var(--muted)}.purge-phrase{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--danger);padding:2px 6px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--danger) 12%,transparent)}.purge-confirm-input{width:100%}.purge-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:2px}.purge-cancel{font-size:var(--fs-base);font-weight:var(--fw-semibold);padding:9px 16px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--border);color:var(--text);transition:background var(--t-fast) var(--ease-smooth),border-color var(--t-fast) var(--ease-smooth)}.purge-cancel:hover{background:var(--surface-3);border-color:var(--border-2)}.purge-cancel:hover{color:var(--text)}.purge-delete{font-size:var(--fs-base);font-weight:var(--fw-semibold);padding:9px 18px;border-radius:var(--r-sm);background:var(--danger);border:1px solid transparent;color:#fff;box-shadow:var(--shadow-xs);transition:filter var(--t-fast) var(--ease-smooth),transform var(--t-fast) var(--ease-smooth),box-shadow var(--t-fast) var(--ease-smooth)}.purge-delete:disabled{opacity:.45;cursor:not-allowed}.purge-delete:not(:disabled):hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.bill-section{max-width:560px;margin:0 auto}.bill-balance-wrap{text-align:center;padding:12px 0 22px}.bill-balance-label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);font-weight:600}.bill-balance{font-size:3rem;font-weight:800;color:var(--text);letter-spacing:-.02em;margin-top:4px}.bill-balance small{font-size:14px;color:var(--muted);font-weight:500;margin-left:8px;letter-spacing:0}.bill-plan{padding:16px 18px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-tinted)}.bill-plan-row{display:flex;align-items:center;gap:10px}.bill-tier-badge{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 11px;border-radius:999px;background:var(--surface-2);color:var(--muted)}.bill-tier-badge.bill-tier-pro{background:var(--surface-active);color:var(--mint)}.bill-tier-badge.bill-tier-max{background:var(--surface-active-strong);color:var(--mint)}.bill-tier-badge.bill-tier-ultra{background:var(--mint);color:var(--on-mint)}.bill-status{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 10px;border-radius:999px}.bill-status-active{color:var(--mint);background:var(--surface-active)}.bill-status-pastdue{color:var(--high);background:#fb923c1f}.bill-status-canceled{color:var(--crit);background:#f871711f}.bill-status-other{color:var(--muted);background:var(--surface-2)}.bill-renew{font-size:13px;color:var(--muted);margin-top:10px}.bill-note{margin-top:14px;padding:12px 14px;font-size:12.5px;line-height:1.45;color:var(--med);background:var(--surface-info);border-left:2px solid var(--border-info);border-radius:var(--r-sm)}.bill-note[hidden]{display:none}.bill-actions{display:flex;flex-direction:column;gap:10px;margin-top:18px}.bill-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 16px;font-size:14px;font-weight:600;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface-2);color:var(--text);transition:border-color var(--t-fast),color var(--t-fast),background var(--t-fast)}.bill-btn:hover{border-color:var(--mint);color:var(--mint)}.bill-btn-primary{background:var(--mint);color:var(--on-mint);border-color:var(--mint)}.bill-btn-primary:hover{background:var(--sky);border-color:var(--sky);color:var(--on-mint)}.acct-section{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;align-items:start;padding:4px 0}.acct-col-main{display:flex;flex-direction:column}.acct-col-side{display:flex;flex-direction:column;min-width:0}@media (min-width: 760px){.acct-section{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:32px}}.acct-header{display:flex;align-items:center;gap:16px;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--border)}.acct-avatar{flex:none;width:56px;height:56px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--mint) 16%,transparent);color:var(--mint);font-weight:800;font-size:20px;letter-spacing:.02em}.acct-id{min-width:0}.acct-name{font-size:18px;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acct-email{font-size:13.5px;color:var(--muted);font-family:var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:4px}.acct-email[hidden]{display:none}.acct-balance-wrap{text-align:center;padding:18px 0 20px;margin-bottom:18px;border-bottom:1px solid var(--border)}.acct-balance-label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);font-weight:600}.acct-balance{font-size:3rem;font-weight:800;color:var(--text);letter-spacing:-.02em;margin-top:6px}.acct-balance small{font-size:14px;color:var(--muted);font-weight:500;margin-left:8px;letter-spacing:0}.acct-rows{display:flex;flex-direction:column;gap:4px}.acct-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 4px}.acct-row[hidden]{display:none}.acct-row-label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);font-weight:600}.acct-row-val{display:inline-flex;align-items:center;gap:8px;min-width:0}.acct-org-name{font-size:14px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.acct-tier-badge{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 11px;border-radius:999px;background:var(--surface-2);color:var(--muted)}.acct-tier-badge.acct-tier-pro{background:var(--surface-active);color:var(--mint)}.acct-tier-badge.acct-tier-max{background:var(--surface-active-strong);color:var(--mint)}.acct-tier-badge.acct-tier-ultra{background:var(--mint);color:var(--on-mint)}.acct-role-badge{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:3px 10px;border-radius:999px;background:var(--surface-2);color:var(--muted)}.acct-role-badge[hidden]{display:none}.acct-role-badge.acct-role-administrator{background:var(--surface-active-strong);color:var(--mint)}.acct-role-badge.acct-role-contributor{background:var(--surface-active);color:var(--mint)}.acct-role-badge.acct-role-reader{background:var(--surface-2);color:var(--muted)}.acct-signout{margin-top:20px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;font-size:14px;font-weight:600;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface-2);color:var(--text);transition:border-color var(--t-fast),color var(--t-fast),background var(--t-fast)}.acct-signout:hover{border-color:var(--crit);color:var(--crit)}.acct-signout:disabled{opacity:.6;cursor:default}.acct-signout-icon{font-size:15px;line-height:1}.acct-ledger{display:flex;flex-direction:column}.acct-ledger[hidden]{display:none}.acct-ledger-title{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);font-weight:600;margin-bottom:12px}.acct-ledger-list{display:flex;flex-direction:column;gap:4px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-tinted);padding:6px}.acct-ledger-row{display:grid;grid-template-columns:auto auto 1fr;align-items:baseline;gap:12px;padding:11px 12px;border-radius:var(--r-sm)}.acct-ledger-row+.acct-ledger-row{border-top:1px solid var(--border)}.acct-ledger-date{font-size:12px;color:var(--dim);font-family:var(--font-mono);white-space:nowrap}.acct-ledger-type{font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:2px 9px;border-radius:999px;white-space:nowrap;justify-self:start;background:var(--surface-2);color:var(--muted)}.acct-ledger-type.acct-ledger-grant{background:var(--surface-active);color:var(--mint)}.acct-ledger-type.acct-ledger-spend{background:var(--surface-2);color:var(--muted)}.acct-ledger-type.acct-ledger-refund{background:#facc151f;color:var(--med)}.acct-ledger-main{display:flex;flex-direction:column;gap:3px;min-width:0}.acct-ledger-amount{font-size:14px;font-weight:700;font-family:var(--font-mono);color:var(--text);white-space:nowrap}.acct-ledger-amount.acct-ledger-pos{color:var(--mint)}.acct-ledger-amount.acct-ledger-neg{color:var(--muted)}.acct-ledger-desc{font-size:12.5px;color:var(--muted);line-height:1.4;overflow:hidden;text-overflow:ellipsis}.skill-palette{position:fixed;inset:0;z-index:400;background:#0f172a73;backdrop-filter:blur(6px);display:flex;align-items:flex-start;justify-content:center;padding-top:12vh}.skill-palette[hidden]{display:none}.skp-panel{width:min(640px,92vw);max-height:70vh;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--border-soft);border-radius:var(--r-lg);box-shadow:var(--shadow-modal);overflow:hidden}.skp-input{padding:15px 18px;font-size:var(--fs-md);border:none;border-bottom:1px solid var(--border);background:transparent;color:var(--text);outline:none}.skp-input::placeholder{color:var(--dim)}.skp-results{overflow-y:auto;padding:var(--sp-1)}.skp-row{width:100%;text-align:left;padding:9px 11px;border-radius:var(--r-sm);display:flex;flex-direction:column;gap:3px;transition:background var(--t-fast) var(--ease-smooth)}.skp-row.active,.skp-row:hover{background:var(--surface-2)}.skp-row-main{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.skp-title{font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--text-strong)}.skp-mod{flex:none;font-size:var(--fs-xs);color:var(--primary);font-family:var(--font-mono)}.skp-row-sub{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.skp-slug{font-size:var(--fs-xs);color:var(--dim);font-family:var(--font-mono)}.skp-tag{font-size:var(--fs-2xs);color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:1px 6px;font-family:var(--font-mono)}.skp-tag.skp-mitre{color:var(--high)}.skp-empty{padding:var(--sp-4);color:var(--dim);font-size:var(--fs-base);text-align:center}.graph-pane .graph-canvas{position:relative;overflow:hidden;outline:none;background:radial-gradient(circle at 28% 32%,rgba(70,110,200,.16),transparent 55%),radial-gradient(circle at 74% 70%,rgba(40,120,165,.13),transparent 55%),linear-gradient(160deg,#0c1430,#080e1f)}.graph-pane .graph-canvas canvas{position:absolute;inset:0;display:block}.graph-pane.mode-attack-path .graph-canvas{background:radial-gradient(circle at 50% 45%,rgba(248,113,113,.12),transparent 60%),linear-gradient(160deg,#0c1430,#080e1f)}.graph-pane.mode-timeline .graph-canvas{background:repeating-linear-gradient(90deg,rgba(120,150,220,.06) 0 1px,transparent 1px 48px),linear-gradient(160deg,#0c1430,#080e1f)}.graph-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--dim);font-family:var(--font-mono);font-size:11px;text-align:center;pointer-events:none;z-index:1}.graph-empty .big{font-size:18px;color:var(--muted);margin-bottom:6px;font-family:var(--font-ui);font-weight:600}.graph-glow-c{filter:drop-shadow(0 0 8px rgba(248,113,113,.7))}.graph-glow-h{filter:drop-shadow(0 0 6px rgba(251,146,60,.6))}.graph-glow-m{filter:drop-shadow(0 0 5px rgba(250,204,21,.5))}.graph-glow-l{filter:drop-shadow(0 0 5px rgba(96,165,250,.5))}.graph-glow-target{filter:drop-shadow(0 0 14px color-mix(in srgb,var(--mint) 80%,transparent))}@keyframes pulse-r{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.7;transform:scale(1.18)}}.graph-pulse-ring{pointer-events:none;animation:pulse-r 1.8s ease-in-out infinite;transform-origin:center}@keyframes graph-dash{to{stroke-dashoffset:-16}}.graph-attack-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:4;overflow:visible}.graph-attack-path{stroke:var(--crit);stroke-width:2.5;fill:none;stroke-dasharray:8 8;stroke-linecap:round;animation:graph-dash .6s linear infinite;filter:drop-shadow(0 0 5px rgba(248,113,113,.75));pointer-events:none}.graph-refresh-btn{position:absolute;top:10px;right:10px;z-index:6;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:color-mix(in srgb,#0c1430 72%,transparent);border:1px solid rgba(120,150,220,.28);color:#aab8e0;font-size:15px;line-height:1;cursor:pointer;backdrop-filter:blur(6px);transition:background .15s,border-color .15s,color .15s}.graph-refresh-btn:hover{background:color-mix(in srgb,#16204a 88%,transparent);border-color:#7896dc8c;color:#dbe4ff}.graph-refresh-btn.spinning{animation:graph-refresh-spin .6s linear infinite}@keyframes graph-refresh-spin{to{transform:rotate(360deg)}}.graph-ctx-menu{position:fixed;z-index:200;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-1);display:flex;flex-direction:column;gap:1px;box-shadow:var(--shadow-md);min-width:200px}.graph-ctx-menu button{text-align:left;padding:8px 10px;font-size:11px;color:var(--text);border-radius:var(--r-sm);font-family:var(--font-ui);letter-spacing:.01em;transition:background var(--t-fast) var(--ease-smooth),color var(--t-fast) var(--ease-smooth)}.graph-ctx-menu button:hover{background:var(--surface-2);color:var(--mint)}.graph-modes .gm-btn:focus-visible{outline:1px solid var(--mint);outline-offset:1px}.graph-update-pill{display:inline-flex;align-items:center;gap:6px;margin:6px 0;padding:3px 10px;border-radius:var(--r-pill);font-family:var(--font-mono);font-size:10px;background:var(--surface-active-strong);color:var(--mint);letter-spacing:.04em}.graph-update-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--mint);box-shadow:0 0 4px var(--mint)}.graph-findings-menu{min-width:200px;max-width:280px;max-height:320px;overflow-y:auto;padding:6px}.gfm-head{font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--dim);font-weight:600;padding:4px 8px 6px;border-bottom:1px solid var(--border);margin-bottom:4px}.gfm-item{width:100%;display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:var(--r-sm);text-align:left;color:var(--text);font-size:12px}.gfm-item:hover{background:var(--surface-2)}.gfm-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--info)}.gfm-dot.sev-Critical{background:var(--crit)}.gfm-dot.sev-High{background:var(--high)}.gfm-dot.sev-Medium{background:var(--med)}.gfm-dot.sev-Low{background:var(--low)}.gfm-dot.sev-Info,.gfm-dot.sev-None{background:var(--info)}.gfm-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gfm-empty{font-size:11px;color:var(--dim);padding:8px}.graph-timeline{position:absolute;inset:0;overflow-x:auto;overflow-y:hidden;display:flex;align-items:center;padding:0 24px;z-index:3;background:var(--bg)}.graph-timeline[hidden]{display:none}.gtl-track{display:flex;align-items:center;min-width:min-content;margin:auto 0}.gtl-link{flex:none;width:30px;height:5px;border-radius:var(--r-pill);background:var(--gradient-gb);background-attachment:fixed}.gtl-node{flex:none;display:flex;align-items:center;gap:9px;padding:9px 14px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--panel);box-shadow:var(--shadow-sm);cursor:pointer;max-width:210px;transition:border-color var(--t-fast) var(--ease-smooth),background var(--t-fast) var(--ease-smooth),box-shadow var(--t-fast) var(--ease-smooth),transform var(--t-fast) var(--ease-smooth)}.gtl-node:hover{border-color:var(--border-2);background:var(--panel);box-shadow:var(--shadow-lift);transform:translateY(-2px)}.gtl-seq{flex:none;width:22px;height:22px;border-radius:50%;background:var(--gradient-gb);color:var(--brand-ink);font-size:10px;font-weight:var(--fw-bold);display:grid;place-items:center;box-shadow:var(--shadow-xs)}.gtl-dot{flex:none;width:9px;height:9px;border-radius:50%;background:var(--info)}.gtl-dot.sev-Critical{background:var(--crit)}.gtl-dot.sev-High{background:var(--high)}.gtl-dot.sev-Medium{background:var(--med)}.gtl-dot.sev-Low{background:var(--low)}.gtl-dot.sev-Info,.gtl-dot.sev-None{background:var(--info)}.gtl-main{display:flex;flex-direction:column;min-width:0;text-align:left}.gtl-label{font-size:12px;font-weight:var(--fw-semibold);color:var(--text-strong);letter-spacing:var(--ls-heading);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gtl-kind{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--dim);white-space:nowrap}.gtl-empty{color:var(--dim);font-size:12px;font-family:var(--font-mono);margin:auto;text-align:center}.graph-attack-panel{position:absolute;left:14px;bottom:14px;width:264px;max-height:62%;overflow-y:auto;z-index:4;background:color-mix(in srgb,var(--panel) 92%,transparent);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-3) var(--sp-4);box-shadow:var(--shadow-modal)}.graph-attack-panel[hidden]{display:none}.gap-title{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--crit);font-weight:700;margin-bottom:8px}.gap-path{margin-bottom:10px}.gap-path:last-child{margin-bottom:0}.gap-path-head{font-size:10px;color:var(--dim);font-family:var(--font-mono);margin-bottom:4px}.gap-hop{display:flex;flex-direction:column;padding:4px 8px;border-left:2px solid var(--crit);background:var(--surface-2);border-radius:var(--r-sm)}.gap-node{font-size:11.5px;font-weight:600;color:var(--text)}.gap-mitre{font-size:9.5px;color:var(--high);font-family:var(--font-mono)}.gap-arrow{display:block;text-align:center;font-size:11px;color:var(--crit);line-height:1.3}.gap-empty{font-size:11px;color:var(--dim);font-family:var(--font-mono);line-height:1.5}.ap-section .ap-label{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.ap-count{font-family:var(--font-mono);font-size:9px;color:var(--dim);text-transform:none;letter-spacing:.04em}.ap-sev{transition:border-color var(--t-fast),background var(--t-fast)}.ap-sev:hover{border-color:var(--border-2)}.ap-find-actions{display:flex;align-items:center;gap:6px;margin-top:8px}.ap-status-select{flex:1;font-size:10px;font-family:var(--font-mono);padding:4px 6px;background:var(--panel);border:1px solid var(--border-soft);border-radius:4px;color:var(--text);cursor:pointer;letter-spacing:.02em}.ap-status-select:hover{border-color:var(--border-2)}.ap-status-select:focus{outline:1px solid var(--mint);outline-offset:1px}.ap-fix-btn{font-size:10px;padding:5px 9px;border-radius:4px;background:var(--brand-gradient);color:var(--brand-ink);font-weight:600;letter-spacing:.04em;border:0;cursor:pointer;white-space:nowrap}.ap-fix-btn:hover{filter:brightness(1.08)}.ap-fix-btn:disabled{opacity:.55;cursor:not-allowed}.ap-asset{transition:background var(--t-fast)}.ap-asset.selected{background:var(--surface-active)}.ap-find{transition:border-color var(--t-fast),background var(--t-fast)}.ap-find.selected{border-color:var(--mint);background:var(--surface-active)}.sev-Info{background:var(--border-soft);color:var(--info)}.sev-None{background:var(--border-soft);color:var(--dim)}.ap-reset{font-size:10px;font-weight:600;color:var(--mint);background:var(--surface-active);border:1px solid transparent;border-radius:var(--r-sm);padding:1px 8px;margin-left:6px;cursor:pointer}.ap-reset:hover{border-color:var(--mint)}.three-pane>.graph-pane,.three-pane>.soc-pane{grid-column:2;grid-row:1}.soc-pane{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--panel);border-left:1px solid var(--border);border-right:1px solid var(--border);overflow:hidden}.soc-head{padding:var(--sp-4) var(--sp-5) var(--sp-3);border-bottom:1px solid var(--border-soft);flex:none}.soc-title{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4)}.soc-title-main{font-size:var(--fs-lg);font-weight:var(--fw-bold);letter-spacing:var(--ls-heading);color:var(--text-strong)}.soc-badge{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--ls-label);padding:2px 8px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--success) 16%,transparent);color:var(--success)}.soc-badge--mock{background:color-mix(in srgb,var(--warn) 16%,transparent);color:var(--warn)}.soc-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-3)}.soc-stat{background:var(--surface-tinted);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4)}.soc-stat-num{font-size:var(--fs-2xl);font-weight:var(--fw-bold);line-height:var(--lh-tight);letter-spacing:var(--ls-tight);color:var(--text-strong)}.soc-stat-lbl{font-size:var(--fs-label);font-weight:var(--fw-semibold);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--dim);margin-top:2px}.soc-stat--crit .soc-stat-num{color:var(--crit)}.soc-stat--high .soc-stat-num{color:var(--high)}.soc-tabs{display:flex;gap:var(--sp-1);padding:0 var(--sp-5);border-bottom:1px solid var(--border);flex:none}.soc-tab{padding:10px 14px;font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--t-fast) var(--ease-smooth),border-color var(--t-fast) var(--ease-smooth)}.soc-tab:hover{color:var(--text)}.soc-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.soc-body{flex:1;min-height:0;overflow-y:auto;padding:var(--sp-4) var(--sp-5)}.soc-empty{color:var(--dim);font-size:var(--fs-base);text-align:center;padding:var(--sp-8) var(--sp-4)}.soc-sev-pill{display:inline-flex;align-items:center;font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-label);padding:2px 6px;border-radius:var(--r-sm);flex:none}.soc-mitre{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);margin-top:var(--sp-2)}.soc-mitre-label{font-size:var(--fs-2xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--dim)}.soc-mitre-chip{font-family:var(--font-mono);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);padding:2px 7px;border-radius:var(--r-sm);background:var(--surface-3);border:1px solid var(--border-2);color:var(--muted);text-decoration:none;transition:color var(--t-fast) var(--ease-smooth),border-color var(--t-fast) var(--ease-smooth)}.soc-mitre-chip:hover{color:var(--accent-blue);border-color:var(--accent-blue)}.soc-triage{margin:var(--sp-1) var(--sp-3) var(--sp-3);padding:var(--sp-3);background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-sm)}.soc-triage--pending{opacity:.85}.soc-triage-label{display:block;font-size:var(--fs-2xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--primary);margin-bottom:var(--sp-2)}.soc-triage--pending .soc-triage-label{color:var(--dim)}.soc-triage-text{font-size:var(--fs-sm);line-height:var(--lh-normal);color:var(--muted);margin:0}.soc-triage-text--empty{color:var(--dim);font-style:italic}.soc-alert-feed{display:flex;flex-direction:column;gap:var(--sp-2)}.soc-alert{background:var(--surface-tinted);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;transition:border-color var(--t-fast) var(--ease-smooth),background var(--t-fast) var(--ease-smooth)}.soc-alert:hover,.soc-alert--open{border-color:var(--border-2)}.soc-alert--pending{border-left:3px solid var(--dim)}.soc-alert-row{display:flex;align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-3);background:transparent;border:0;text-align:left;cursor:pointer;color:inherit}.soc-alert-row:hover{background:var(--surface-2)}.soc-alert-caret{flex:none;font-size:var(--fs-sm);color:var(--dim)}.soc-verdict--pending{font-style:italic}.soc-alert-icon{display:grid;place-items:center;width:32px;height:32px;flex:none;border:1px solid;border-radius:var(--r-sm);font-size:var(--fs-lg)}.soc-alert-main{flex:1;min-width:0;display:block}.soc-alert-title{display:block;font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.soc-alert-meta{display:flex;align-items:center;gap:var(--sp-2);margin-top:3px;font-size:var(--fs-sm);color:var(--muted)}.soc-meta-sep:before{content:""}.soc-alert-meta .soc-meta-sep+.soc-meta-sep:before,.soc-alert-meta .soc-meta-time:before{content:"·";margin-right:var(--sp-2);color:var(--dim)}.soc-meta-time{margin-left:auto;color:var(--dim)}.soc-verdict{flex:none;font-size:var(--fs-2xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-label);padding:4px 10px;border-radius:var(--r-pill)}.soc-incident-list{display:flex;flex-direction:column;gap:var(--sp-3)}.soc-incident{background:var(--surface-tinted);border:1px solid var(--border);border-left:3px solid var(--border-2);border-radius:var(--r-md);padding:var(--sp-4);cursor:pointer;transition:border-color var(--t-fast) var(--ease-smooth),background var(--t-fast) var(--ease-smooth)}.soc-incident:hover{background:var(--surface-2)}.soc-incident:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.soc-clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.soc-incident-head{display:flex;align-items:center;gap:var(--sp-2)}.soc-incident-title{flex:1;min-width:0;font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--text-strong)}.soc-incident-status{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--ls-label);padding:2px 8px;border-radius:var(--r-pill);background:var(--surface-3);color:var(--muted);flex:none}.soc-status--investigating{background:color-mix(in srgb,var(--warn) 16%,transparent);color:var(--warn)}.soc-status--contained{background:color-mix(in srgb,var(--accent-blue) 16%,transparent);color:var(--accent-blue)}.soc-status--closed{background:color-mix(in srgb,var(--success) 16%,transparent);color:var(--success)}.soc-incident-narrative{margin-top:var(--sp-2);font-size:var(--fs-base);line-height:var(--lh-normal);color:var(--muted)}.soc-incident-foot{display:flex;align-items:center;gap:var(--sp-4);margin-top:var(--sp-3);font-size:var(--fs-sm);color:var(--dim)}.soc-incident-count{margin-left:auto}.soc-rec{display:flex;align-items:center;gap:var(--sp-3);margin-top:var(--sp-3);padding:var(--sp-3);background:var(--surface-info);border:1px solid var(--border-info);border-radius:var(--r-sm)}.soc-rec-label{font-size:var(--fs-2xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--accent-blue);flex:none}.soc-rec-text{flex:1;min-width:0;font-size:var(--fs-sm);color:var(--text)}.soc-rec-btn{flex:none;font-size:var(--fs-sm);font-weight:var(--fw-semibold);padding:5px 12px;border-radius:var(--r-sm);background:var(--surface-3);color:var(--muted);border:1px solid var(--border)}.soc-rec-btn:disabled{opacity:.55;cursor:not-allowed}.soc-asset-list{display:flex;flex-direction:column;gap:var(--sp-2)}.soc-asset{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3);background:var(--surface-tinted);border:1px solid var(--border);border-radius:var(--r-md)}.soc-asset:hover{background:var(--surface-2);border-color:var(--border-2)}.soc-asset-dot{width:9px;height:9px;border-radius:50%;flex:none}.soc-asset-main{flex:1;min-width:0}.soc-asset-name{font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--text);font-family:var(--font-mono)}.soc-asset-meta{font-size:var(--fs-sm);color:var(--muted);margin-top:2px}.soc-asset-stat{text-align:right;flex:none}.soc-asset-status{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--muted)}.soc-status--online{color:var(--success)}.soc-status--at-risk{color:var(--crit)}.soc-status--offline{color:var(--dim)}.soc-asset-seen{font-size:var(--fs-sm);color:var(--dim);margin-top:1px}.soc-asset-alerts{display:grid;place-items:center;min-width:26px;height:26px;padding:0 6px;flex:none;font-size:var(--fs-sm);font-weight:var(--fw-bold);border-radius:var(--r-pill);background:var(--surface-3);color:var(--muted)}.soc-map-placeholder{display:grid;place-items:center;text-align:center;height:100%;min-height:240px;color:var(--dim);gap:var(--sp-1)}.soc-map-icon{font-size:40px;color:var(--muted)}.soc-map-title{font-size:var(--fs-lg);font-weight:var(--fw-bold);color:var(--muted)}.soc-map-sub{font-size:var(--fs-base);max-width:320px;color:var(--dim)}.soc-detail{display:flex;flex-direction:column;gap:var(--sp-4)}.soc-back{align-self:flex-start;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--muted);background:transparent;border:0;padding:2px 0;cursor:pointer}.soc-back:hover{color:var(--text)}.soc-detail-head{border-left:3px solid var(--border-2);padding-left:var(--sp-3)}.soc-detail-head-top{display:flex;align-items:center;gap:var(--sp-2)}.soc-detail-title{flex:1;min-width:0;margin:0;font-size:var(--fs-lg);font-weight:var(--fw-bold);letter-spacing:var(--ls-heading);color:var(--text-strong)}.soc-detail-time{margin-top:var(--sp-1);font-size:var(--fs-sm);color:var(--dim)}.soc-detail-sec{display:flex;flex-direction:column;gap:var(--sp-2)}.soc-detail-sec-h{display:flex;align-items:center;gap:var(--sp-2);margin:0;font-size:var(--fs-2xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--dim)}.soc-detail-sec-n{font-size:var(--fs-2xs);font-weight:var(--fw-bold);padding:1px 6px;border-radius:var(--r-pill);background:var(--surface-3);color:var(--muted)}.soc-detail-narrative{margin:0;font-size:var(--fs-base);line-height:var(--lh-normal);color:var(--text)}.soc-detail-empty{font-size:var(--fs-sm);color:var(--dim)}.soc-rec-note{margin:var(--sp-1) 0 0;font-size:var(--fs-2xs);color:var(--dim)}.soc-corr-list{display:flex;flex-direction:column;gap:var(--sp-2)}.soc-corr{background:var(--surface-tinted);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}.soc-corr--open{border-color:var(--border-2)}.soc-corr-row{display:flex;align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-2) var(--sp-3);background:transparent;border:0;text-align:left;cursor:pointer;color:inherit}.soc-corr-row:hover{background:var(--surface-2)}.soc-corr-icon{display:grid;place-items:center;width:24px;height:24px;flex:none;border:1px solid;border-radius:var(--r-sm);font-size:var(--fs-base)}.soc-corr-title{flex:1;min-width:0;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.soc-affected{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.soc-affected-chip{font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:var(--fw-semibold);padding:3px 9px;border-radius:var(--r-sm);background:var(--surface-3);border:1px solid var(--border-2);color:var(--muted)}.soc-action-list{display:flex;flex-direction:column;gap:var(--sp-2)}.soc-action{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-3);background:var(--surface-tinted);border:1px solid var(--border);border-radius:var(--r-md)}.soc-action--proposed{border-color:var(--border-info);background:var(--surface-info)}.soc-action--escalated{border-color:color-mix(in srgb,var(--warn) 40%,var(--border))}.soc-action--failed{border-color:color-mix(in srgb,var(--crit) 40%,var(--border))}.soc-action-head{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.soc-action-kind{font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--text-strong)}.soc-action-target{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--ls-label);padding:1px 7px;border-radius:var(--r-pill);border:1px solid var(--border-2)}.soc-action-target--platform{background:color-mix(in srgb,var(--accent-blue) 14%,transparent);color:var(--accent-blue);border-color:transparent}.soc-action-target--host{background:color-mix(in srgb,var(--warn) 14%,transparent);color:var(--warn);border-color:transparent}.soc-action-status{font-size:var(--fs-2xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-label);padding:2px 8px;border-radius:var(--r-pill)}.soc-action-controls{margin-left:auto;display:flex;gap:var(--sp-2)}.soc-action-btn{font-size:var(--fs-sm);font-weight:var(--fw-semibold);padding:4px 12px;border-radius:var(--r-sm);border:1px solid var(--border-2);background:var(--surface-3);color:var(--muted);cursor:pointer}.soc-action-btn:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.soc-action-btn:disabled{opacity:.55;cursor:not-allowed}.soc-action-btn--approve{background:color-mix(in srgb,var(--success) 18%,transparent);color:var(--success);border-color:transparent}.soc-action-btn--approve:hover:not(:disabled){background:color-mix(in srgb,var(--success) 28%,transparent);color:var(--success)}.soc-action-btn--reject{background:color-mix(in srgb,var(--crit) 14%,transparent);color:var(--crit);border-color:transparent}.soc-action-btn--reject:hover:not(:disabled){background:color-mix(in srgb,var(--crit) 24%,transparent);color:var(--crit)}.soc-action-reason{margin:0;font-size:var(--fs-sm);line-height:var(--lh-normal);color:var(--muted)}.soc-action-reason--escalated{color:var(--warn)}.soc-action-result{margin:0;padding:var(--sp-2) var(--sp-3);font-family:var(--font-mono);font-size:var(--fs-2xs);line-height:var(--lh-normal);color:var(--text);background:var(--surface-3);border:1px solid var(--border);border-radius:var(--r-sm);white-space:pre-wrap;word-break:break-word;overflow-x:auto}.soc-action-note{margin:0;font-size:var(--fs-2xs);color:var(--dim)}.login-shell{min-height:100vh;display:grid;grid-template-columns:1fr 480px;background:radial-gradient(circle at 25% 35%,color-mix(in srgb,var(--mint) 6%,transparent),transparent 55%),radial-gradient(circle at 75% 70%,rgba(56,189,248,.05),transparent 55%),var(--bg)}@media (max-width: 900px){.login-shell{grid-template-columns:1fr}.login-hero{padding:32px 24px 0}.login-pane{padding:24px}}.login-hero{display:flex;flex-direction:column;padding:56px 64px;gap:28px}.login-brand{display:flex;align-items:center;gap:14px}.login-mark{width:56px;height:56px;border-radius:var(--r-lg);background:var(--brand-gradient);display:grid;place-items:center;font-weight:800;color:var(--brand-ink);font-size:28px;box-shadow:0 8px 24px color-mix(in srgb,var(--mint) 25%,transparent)}.login-brand-name{font-size:26px;font-weight:700;letter-spacing:-.02em}.login-brand-sub{font-size:11px;color:var(--mint);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;margin-top:4px}.login-logo{display:block;height:46px;width:auto;max-width:300px}.login-card-brand{margin-bottom:18px}.login-card-brand .login-logo{height:34px}[data-theme=light] .login-logo--dark,[data-theme=dark] .login-logo--light{display:none}.login-tagline{font-size:36px;font-weight:700;line-height:1.15;letter-spacing:-.02em;max-width:580px}.login-tagline em{font-style:normal;background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.login-subtagline{font-size:15px;color:var(--muted);max-width:540px;line-height:1.55}.login-bullets{display:flex;flex-direction:column;gap:14px;margin-top:auto;font-family:var(--font-mono);font-size:12px;color:var(--muted)}.login-bullet{display:flex;align-items:center;gap:10px}.login-bullet-dot{width:6px;height:6px;border-radius:50%;background:var(--mint);flex-shrink:0;box-shadow:0 0 8px color-mix(in srgb,var(--mint) 60%,transparent)}.login-pane{background:var(--rail);border-left:1px solid var(--border);padding:56px 48px;display:flex;flex-direction:column;justify-content:center}.login-card{max-width:380px;margin:0 auto;width:100%}.login-card h2{font-size:18px;font-weight:700;margin-bottom:4px}.login-card-sub{font-size:12px;color:var(--muted);margin-bottom:22px}.sso-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:18px}.sso-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;border-radius:var(--r-sm);background:var(--panel);border:1px solid var(--border);color:var(--text);font-size:12px;font-weight:500;box-shadow:var(--shadow-xs);transition:border-color var(--t-fast) var(--ease-smooth),background var(--t-fast) var(--ease-smooth),box-shadow var(--t-fast) var(--ease-smooth),transform var(--t-fast) var(--ease-smooth)}.sso-btn:hover{border-color:var(--border-2);background:var(--surface-2);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.sso-icon{width:16px;height:16px;display:grid;place-items:center;font-weight:700;font-family:var(--font-mono);border-radius:var(--r-sm);font-size:9px}.sso-google{background:#fff;color:#1a1a1a}.sso-apple{background:#fff;color:#000}.sso-github{background:#24292f;color:#fff}.sso-microsoft{background:#00a4ef;color:#fff}.sso-facebook{background:#1877f2;color:#fff}.sso-discord{background:#5865f2;color:#fff}.login-divider{display:flex;align-items:center;gap:10px;margin:18px 0;font-size:10px;color:var(--dim);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--border)}.login-form{display:flex;flex-direction:column;gap:10px}.login-field{display:flex;flex-direction:column;gap:5px}.login-field label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.login-input{width:100%;padding:11px 12px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);font-size:13px;font-family:var(--font-mono);transition:border-color var(--t-fast) var(--ease-smooth),box-shadow var(--t-fast) var(--ease-smooth)}.login-input:focus{outline:0;border-color:var(--primary);box-shadow:var(--ring)}.login-btn{width:100%;padding:12px 14px;background:var(--brand-gradient);color:var(--brand-ink);font-weight:700;font-size:13px;border-radius:var(--r-sm);margin-top:4px;box-shadow:var(--shadow-xs);transition:filter var(--t-fast) var(--ease-smooth),box-shadow var(--t-fast) var(--ease-smooth),transform var(--t-fast) var(--ease-smooth)}.login-btn:hover{filter:brightness(1.06);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.login-btn:disabled{opacity:.5;cursor:not-allowed}.login-stay{display:flex;align-items:center;gap:8px;margin-top:6px;cursor:pointer;font-size:12px;color:var(--muted);user-select:none}.login-stay-input{width:14px;height:14px;accent-color:var(--mint);cursor:pointer}.login-toggle{display:flex;justify-content:space-between;align-items:center;margin-top:14px;font-size:11px;color:var(--muted)}.login-toggle a,.login-toggle button{color:var(--mint);font-size:11px;background:none;border:0;cursor:pointer}.login-toggle a:hover,.login-toggle button:hover{text-decoration:underline}.totp-shell{display:flex;flex-direction:column;gap:14px}.totp-input{width:100%;padding:14px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-sm);font-family:var(--font-mono);font-size:22px;text-align:center;letter-spacing:.4em;transition:border-color var(--t-fast) var(--ease-smooth),box-shadow var(--t-fast) var(--ease-smooth)}.totp-input:focus{outline:0;border-color:var(--primary);box-shadow:var(--ring)}.login-error{margin-bottom:14px;padding:9px 12px;background:color-mix(in srgb,var(--crit) 18%,var(--bg));color:var(--crit);border-radius:var(--r-sm);font-size:11px;font-family:var(--font-mono)}.login-ok{margin-bottom:14px;padding:9px 12px;background:var(--surface-active-strong);color:var(--mint);border-radius:var(--r-sm);font-size:11px;font-family:var(--font-mono)}.login-foot{margin-top:22px;font-size:10px;color:var(--dim);font-family:var(--font-mono);text-align:center;line-height:1.5}.login-foot a{color:var(--muted)}.login-foot a:hover{color:var(--mint)}
