:root{color-scheme:light;--bg: #f3f5f9;--surface: #ffffff;--surface-2: #f8fafc;--text: #0f172a;--muted: #5b6475;--border: #e2e8f0;--grid: #eef2f6;--hover: rgba(37, 99, 235, .06);--accent: #2563eb;--accent-text: #ffffff;--accent-soft: #e8f0fe;--side-bg: #ffffff;--top-bg: rgba(15, 23, 42, .92);--top-text: #f1f5f9;--series-1: #2563eb;--series-2: #ef4444;--series-3: #10b981;--series-4: #f59e0b;--good: #059669;--good-bg: #ecfdf5;--bad: #dc2626;--bad-bg: #fef2f2;--warn: #b45309;--warn-bg: #fffbeb;--info-bg: #eff6ff;--shadow: 0 1px 3px rgba(15, 23, 42, .04), 0 4px 12px rgba(15, 23, 42, .03);--shadow-hover: 0 4px 16px rgba(15, 23, 42, .08), 0 1px 3px rgba(15, 23, 42, .04);--ai-grad: linear-gradient(135deg, #2563eb 0%, #6366f1 55%, #0ea5e9 100%);--hero-grad: linear-gradient(135deg, rgba(37, 99, 235, .06) 0%, rgba(99, 102, 241, .05) 50%, rgba(16, 185, 129, .06) 100%);--radius: 12px;font-family:Inter,system-ui,-apple-system,Segoe UI,Hiragino Sans,Noto Sans JP,sans-serif}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #0b0f17;--surface: #131924;--surface-2: #192130;--text: #e8ecf4;--muted: #94a3b8;--border: #242f42;--grid: #1e2838;--hover: rgba(96, 165, 250, .1);--accent: #60a5fa;--accent-text: #0b0f17;--accent-soft: rgba(59, 130, 246, .16);--side-bg: #0f141e;--top-bg: rgba(9, 13, 20, .88);--top-text: #f1f5f9;--series-1: #3b82f6;--series-2: #f87171;--series-3: #34d399;--series-4: #fbbf24;--good: #34d399;--good-bg: rgba(16, 185, 129, .14);--bad: #f87171;--bad-bg: rgba(239, 68, 68, .15);--warn: #fbbf24;--warn-bg: rgba(245, 158, 11, .15);--info-bg: rgba(59, 130, 246, .14);--shadow: 0 2px 8px rgba(0, 0, 0, .28);--shadow-hover: 0 6px 20px rgba(0, 0, 0, .42);--hero-grad: linear-gradient(135deg, rgba(59, 130, 246, .12) 0%, rgba(99, 102, 241, .1) 50%, rgba(16, 185, 129, .1) 100%)}}:root[data-theme=dark]{color-scheme:dark;--bg: #0b0f17;--surface: #131924;--surface-2: #192130;--text: #e8ecf4;--muted: #94a3b8;--border: #242f42;--grid: #1e2838;--hover: rgba(96, 165, 250, .1);--accent: #60a5fa;--accent-text: #0b0f17;--accent-soft: rgba(59, 130, 246, .16);--side-bg: #0f141e;--top-bg: rgba(9, 13, 20, .88);--top-text: #f1f5f9;--series-1: #3b82f6;--series-2: #f87171;--series-3: #34d399;--series-4: #fbbf24;--good: #34d399;--good-bg: rgba(16, 185, 129, .14);--bad: #f87171;--bad-bg: rgba(239, 68, 68, .15);--warn: #fbbf24;--warn-bg: rgba(245, 158, 11, .15);--info-bg: rgba(59, 130, 246, .14);--shadow: 0 2px 8px rgba(0, 0, 0, .28);--shadow-hover: 0 6px 20px rgba(0, 0, 0, .42);--hero-grad: linear-gradient(135deg, rgba(59, 130, 246, .12) 0%, rgba(99, 102, 241, .1) 50%, rgba(16, 185, 129, .1) 100%)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:22px;margin:0;font-weight:650;letter-spacing:-.01em}h2{font-size:16px;margin:0 0 12px}h3{font-size:14px;margin:0;font-weight:600}.mono,code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px}.muted{color:var(--muted)}.error{color:var(--bad)}.ok{color:var(--good)}.warn{color:var(--warn)}.bad-text{color:var(--bad)}.nowrap{white-space:nowrap}.clip{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;vertical-align:bottom}td.clip{display:table-cell;max-width:320px}.spacer{flex:1}.small{font-size:12px}.pad{padding:12px 0}.gap-s{gap:6px!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.topbar{display:flex;align-items:center;gap:12px;padding:0 20px;height:52px;background:var(--top-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08);color:var(--top-text);position:sticky;top:0;z-index:20}.topbar select{background:transparent;color:var(--top-text);border-color:#ffffff2e}.topbar .ghost{color:var(--top-text);border-color:#ffffff40}.topbar button,.topbar select{align-self:center;height:32px;padding-top:0;padding-bottom:0;display:inline-flex;align-items:center;font-size:13px}.topbar .icon-btn{width:32px;justify-content:center;padding:0}.brand{font-weight:700;display:inline-flex;align-items:center;gap:8px;letter-spacing:.01em;color:var(--top-text);text-decoration:none}.brand:hover{text-decoration:none}.logo{color:#6f95ff;font-size:16px}.topbar-tenant{display:inline-flex;align-items:center;gap:8px;min-width:0;font-size:13px}.topbar-sep{color:#e9ecf259}.topbar-site{display:inline-flex;align-items:center;gap:6px;color:var(--top-text);text-decoration:none;min-width:0;white-space:nowrap}a.topbar-site:hover{text-decoration:underline}.topbar-host{color:#e9ecf2a6;font-size:12px}.who{color:#e9ecf2bf;font-size:13px}.icon-btn{padding:4px 10px;font-size:15px;line-height:1}.content{padding:0}.content>.card.narrow,.content>p{margin:24px auto}.content>.tenants-page{margin:20px 0}.shell-grid{display:grid;grid-template-columns:236px 1fr;min-height:calc(100vh - 52px)}.shell-grid.nav-collapsed{grid-template-columns:60px 1fr}.shell-grid.resizing{-webkit-user-select:none;user-select:none;cursor:col-resize}.sidebar{background:var(--side-bg);border-right:1px solid var(--border);padding:14px 12px;display:flex;flex-direction:column;gap:10px;position:sticky;top:52px;height:calc(100vh - 52px);overflow-y:auto;overflow-x:hidden}.sidebar.collapsed{padding:14px 8px;align-items:center;gap:10px}.sidebar .back{padding:2px 10px}.sidebar.collapsed .back{padding:2px 0;text-align:center}.nav-head-row{display:flex;align-items:center;justify-content:space-between;gap:4px;width:100%}.sidebar.collapsed .nav-head-row{justify-content:center;margin-bottom:2px}.sidebar-toggle{width:26px;height:26px;border-radius:6px;border:1px solid transparent;color:var(--muted);flex:none}.sidebar-toggle:hover{background:var(--hover);color:var(--text);border-color:var(--border)}.nav-group{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}.sidebar.collapsed .nav-group{align-items:center;margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid var(--border)}.sidebar.collapsed .nav-group:last-child{border-bottom:none}.nav-title{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:6px 10px}.nav-item{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:7px;color:var(--text);font-size:13.5px;position:relative}.sidebar.collapsed .nav-item{justify-content:center;width:38px;height:36px;padding:0}.nav-item:hover{background:var(--hover);text-decoration:none}.nav-item.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.nav-icon{width:18px;display:inline-flex;align-items:center;justify-content:center;opacity:.85;flex:none}.inline-icon-text{display:inline-flex;align-items:center;gap:4px;vertical-align:middle}.nav-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-item .count{margin-left:auto;background:var(--bad);color:#fff;border-radius:999px;padding:0 7px;font-size:11px}.sidebar.collapsed .nav-item .count{position:absolute;top:2px;right:2px;margin:0;padding:0 4px;font-size:10px;line-height:14px;min-width:14px;text-align:center}.role-line{margin-top:auto;padding:0 10px}.main-col{padding:20px 24px 88px;min-width:0;display:flex;flex-direction:column;gap:16px}.page-head{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.crumb{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:4px}.crumb b{color:var(--text);font-weight:600}.page-grid{display:flex;flex-direction:column;gap:16px}.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:16px}.segmented{display:inline-flex;border:1px solid var(--border);border-radius:8px;background:var(--surface);overflow:hidden}.seg{background:transparent;border:none;border-right:1px solid var(--border);color:var(--muted);padding:6px 12px;border-radius:0;font-size:13px}.seg:last-child{border-right:none}.seg.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:15px 18px 12px;display:flex;flex-direction:column;gap:3px;min-height:116px;box-shadow:var(--shadow);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.kpi:hover{transform:translateY(-1px);box-shadow:var(--shadow-hover);border-color:#2563eb47}.kpi-label{font-size:12px;font-weight:500;color:var(--muted);letter-spacing:.01em}.kpi-value{font-size:27px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.kpi-foot{font-size:12px}.kpi-delta{font-weight:600;font-variant-numeric:tabular-nums;display:inline-flex;align-items:center;gap:2px}.kpi-delta.good{color:var(--good)}.kpi-delta.bad{color:var(--bad)}.spark{margin-top:auto}.panel,.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.panel{padding:16px 18px;display:flex;flex-direction:column;gap:12px;min-width:0}.panel-head{display:flex;align-items:center;gap:8px}.card{padding:18px 20px;display:flex;flex-direction:column;gap:12px}.card.narrow{max-width:420px;margin:56px auto;width:100%}.card.highlight{border-color:var(--accent)}.card.danger{border-color:var(--bad-bg)}.legend-row{display:flex;flex-wrap:wrap;gap:16px;font-size:12.5px;color:var(--muted)}.legend-item{display:inline-flex;align-items:center;gap:6px}.legend-item b{color:var(--text);font-variant-numeric:tabular-nums}.sw{display:inline-block;width:10px;height:10px;border-radius:3px}.chart-tip{background:var(--surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:10px;padding:9px 12px;font-size:12px;box-shadow:0 8px 24px #0f172a24;min-width:150px}.tip-row{display:flex;align-items:center;gap:6px}.tip-row b{margin-left:auto;font-variant-numeric:tabular-nums}.table-wrap{overflow-x:auto}.table-wrap.scroll{max-height:260px;overflow-y:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:middle}th{font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600;white-space:nowrap}table.compact th,table.compact td{padding:7px 8px}table.events td{padding:7px 10px}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}table.top td.key{position:relative;max-width:0;width:100%}table.top .share{position:absolute;left:0;top:4px;bottom:4px;background:linear-gradient(90deg,#2563eb29,#6366f10f);border-left:2px solid var(--accent);border-radius:4px;transition:width .25s ease}table.top .key span{position:relative;padding-left:6px}tbody tr{transition:background .12s ease}tbody tr:hover{background:var(--hover)}.recos{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.recos li+li .reco{border-top:1px solid var(--border)}.reco{display:flex;align-items:center;gap:12px;padding:10px 12px;border-left:3px solid transparent;color:var(--text)}a.reco:hover{text-decoration:none;background:var(--hover)}.reco-icon{font-size:16px;width:22px;display:inline-flex;align-items:center;justify-content:center;flex:none}.reco-icon.lvl-critical{color:var(--bad)}.reco-icon.lvl-warning{color:var(--warn)}.reco-icon.lvl-info{color:var(--accent)}.reco-icon.lvl-good{color:var(--good)}.reco-text{display:flex;flex-direction:column;gap:1px;font-size:13px}.reco.lvl-critical{border-left:3px solid var(--bad)}.reco.lvl-warning{border-left:3px solid var(--warn)}.reco.lvl-info{border-left:3px solid var(--accent)}.reco.lvl-good{border-left:3px solid var(--good)}.chev{margin-left:auto;color:var(--muted);font-size:18px}.row{display:flex;align-items:center;gap:12px}.row.wrap{flex-wrap:wrap}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}label.check,label.chip{flex-direction:row;align-items:center;gap:6px;color:var(--text)}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:7px;padding:7px 10px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}input[type=checkbox],input[type=radio]{padding:0;accent-color:var(--accent)}textarea{font-family:ui-monospace,Menlo,monospace;font-size:12.5px}fieldset{border:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}legend{font-size:13px;color:var(--muted);padding:0;margin-bottom:4px}fieldset.mode{flex-direction:row;gap:16px;align-items:center;flex-wrap:wrap}.chips{display:flex;flex-wrap:wrap;gap:12px}.stack{display:flex;flex-direction:column;gap:12px;border:none;padding:0;margin:0;min-width:0}.hint{font-size:12px;color:var(--muted)}fieldset:disabled input,fieldset:disabled textarea{opacity:.7}button{font:inherit;cursor:pointer;border-radius:7px;padding:7px 14px;border:1px solid var(--accent);background:var(--accent);color:var(--accent-text);align-self:flex-start;font-weight:500;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}button:disabled{opacity:.5;cursor:default}button.ghost{background:transparent;color:var(--accent)}button.small{padding:3px 9px;font-size:12px;gap:4px}button.danger{background:var(--bad);border-color:var(--bad);color:#fff}button.link{background:none;border:none;color:var(--accent);padding:0;font-size:13px;gap:4px}.filebtn{display:inline-flex;flex-direction:row;align-items:center;cursor:pointer;border:1px solid var(--accent);color:var(--accent);border-radius:7px;padding:7px 14px;font-size:14px}.filebtn input{display:none}.badge{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap;vertical-align:middle}.badge.monitor,.badge.sev-medium,.badge.v-monitor_would_block{background:var(--warn-bg);color:var(--warn)}.badge.enforce,.badge.v-allowed{background:var(--good-bg);color:var(--good)}.badge.v-blocked,.badge.bad,.badge.sev-high{background:var(--bad-bg);color:var(--bad)}.badge.neutral,.badge.sev-low{background:var(--surface-2);color:var(--muted);border:1px solid var(--border)}.back{font-size:13px;display:inline-flex;align-items:center;gap:4px}.count{margin-left:6px;background:var(--bad);color:#fff;border-radius:999px;padding:0 6px;font-size:11px}.secret{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--surface-2);border:1px solid var(--border);border-radius:7px;padding:8px 10px}.secret .label{font-size:12px;color:var(--muted);min-width:90px}.secret code{word-break:break-all;flex:1}.instructions{margin:0;display:flex;flex-direction:column;gap:8px}.instructions div{display:grid;grid-template-columns:150px 1fr;gap:8px}.instructions dt{color:var(--muted);font-size:12px}.instructions dd{margin:0;word-break:break-all}.findings{display:flex;flex-direction:column}.finding+.finding{border-top:1px solid var(--border)}.finding{border-left:4px solid var(--border);padding:12px 14px;display:flex;flex-direction:column;gap:6px}.finding.sev-high{border-left-color:var(--bad)}.finding.sev-medium{border-left-color:var(--warn)}.finding p{margin:0}.finding .ai{background:var(--surface-2);border-radius:6px;padding:8px 10px;display:flex;flex-direction:column;gap:4px}.finding .ai .label{font-size:12px;color:var(--muted);display:inline-flex;gap:6px;align-items:center}.dot{width:8px;height:8px;border-radius:50%;background:var(--muted);display:inline-block}.dot.on{background:var(--good)}pre.config{margin:0;max-height:360px;overflow:auto;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:10px;font-size:12px;white-space:pre}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border)}.tenants-page{padding:0 24px;display:flex;flex-direction:column;gap:16px}@media (max-width: 900px){.shell-grid,.shell-grid.nav-collapsed,.shell-grid.with-ai,.shell-grid.nav-collapsed.with-ai{grid-template-columns:1fr}.sidebar,.sidebar.collapsed{position:static;height:auto;border-right:none;border-bottom:1px solid var(--border);align-items:stretch;padding:12px}.sidebar-toggle{display:none}.sidebar nav{display:flex;gap:8px;overflow-x:auto}.nav-group,.sidebar.collapsed .nav-group{flex-direction:row;margin:0;padding:0;border-bottom:none}.nav-title{display:none}.nav-item,.sidebar.collapsed .nav-item{white-space:nowrap;width:auto;height:auto;padding:7px 10px}.role-line{display:none}.main-col{padding:16px 16px 84px}.two,.instructions div{grid-template-columns:1fr}.topbar{padding:0 12px}.topbar-host,.who{display:none}}.user-menu{position:relative}.avatar{width:32px;height:32px;border-radius:50%;padding:0;display:inline-flex;align-items:center;justify-content:center;background:#2a5bd7;border:2px solid rgba(255,255,255,.25);color:#fff;font-weight:700;font-size:14px;align-self:center}.avatar:hover,.avatar[aria-expanded=true]{border-color:#fff}.avatar.static{border:none;flex:none}.menu-pop{position:absolute;right:0;top:calc(100% + 8px);width:280px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 32px #0000002e;padding:8px;z-index:20;display:flex;flex-direction:column;gap:4px}.menu-account{display:flex;align-items:center;gap:10px;padding:8px;border-bottom:1px solid var(--border);margin-bottom:4px}.menu-who{display:flex;flex-direction:column;min-width:0}.menu-section{padding:6px 8px;display:flex;flex-direction:column;gap:6px}.menu-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.menu-options{display:flex;gap:4px;flex-wrap:wrap}.menu-pop .opt{flex:1;background:transparent;color:var(--text);border:1px solid var(--border);padding:5px 8px;font-size:12.5px;border-radius:7px;align-self:stretch;justify-content:center;white-space:nowrap}.menu-pop .opt:hover{background:var(--hover)}.menu-pop .opt.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent);font-weight:600}.menu-logout{margin-top:4px;border-top:1px solid var(--border)!important;background:transparent;color:var(--bad);border:none;border-radius:0 0 8px 8px;padding:10px 8px;text-align:left;align-self:stretch}.menu-logout:hover{background:var(--bad-bg)}.sub-card{border-top:1px solid var(--border);padding:14px 0 4px;display:flex;flex-direction:column;gap:10px}.sub-card .row{align-items:flex-end}.sub-card>.row:first-child{align-items:center}.grow{flex:1;min-width:200px}.danger-text{color:var(--bad)!important}.badge.warn-badge{background:var(--warn-bg);color:var(--warn)}.save-bar{position:sticky;bottom:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 16px;background:var(--surface);border:1px solid var(--accent);border-radius:var(--radius);box-shadow:var(--shadow)}.save-bar .preview{flex-basis:100%;display:flex;flex-direction:column;gap:4px}fieldset.stack>.card{margin:0}.row-actions{display:inline-flex;gap:4px;justify-content:flex-end}.status-bar{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 16px}.status-item{display:inline-flex;align-items:center;gap:8px;color:inherit;text-decoration:none}a.status-item:hover strong,a.status-item:hover .mono{text-decoration:underline}.kpis.kpis-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width: 900px){.kpis.kpis-4{grid-template-columns:repeat(2,minmax(0,1fr))}}.minor-stats{display:flex;flex-wrap:wrap;gap:4px 20px;margin:-4px 2px 0}.minor-stats strong{color:var(--text);font-weight:600}.summary-card{color:inherit;text-decoration:none;transition:border-color .15s}.summary-card:hover{border-color:var(--accent, var(--muted))}.summary-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;margin:0;padding:4px 16px 16px}.summary-card dd{margin:2px 0 0;font-size:15px}.meter{display:inline-block;width:80px;height:6px;border-radius:3px;background:var(--surface-2);overflow:hidden;vertical-align:middle}.meter>span{display:block;height:100%;background:var(--s1, var(--accent))}.ai-fab{position:fixed;right:24px;bottom:24px;z-index:35;display:inline-flex;align-items:center;gap:7px;padding:11px 20px;border-radius:999px;background:var(--ai-grad);color:#fff;border:1px solid rgba(255,255,255,.2);font-weight:600;font-size:13.5px;box-shadow:0 8px 24px #2563eb5c,0 2px 6px #0000001f;transition:transform .16s ease,box-shadow .16s ease}.ai-fab:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 12px 28px #2563eb75,0 4px 10px #0000002e}.ai-fab-icon{font-size:15px;line-height:1}.shell-grid.with-ai{grid-template-columns:236px minmax(0,1fr) var(--ai-width, 380px)}.shell-grid.nav-collapsed.with-ai{grid-template-columns:60px minmax(0,1fr) var(--ai-width, 380px)}.ai-slot{position:sticky;top:52px;height:calc(100vh - 52px);border-left:1px solid var(--border);background:var(--surface)}.ai-slot.hidden{display:none}.ai-resizer{position:absolute;left:-4px;top:0;bottom:0;width:8px;cursor:col-resize;z-index:15}.ai-resizer:after{content:"";position:absolute;left:3px;top:0;bottom:0;width:2px;background:transparent;transition:background .15s}.ai-resizer:hover:after,.shell-grid.resizing .ai-resizer:after{background:var(--accent)}.ai-panel{display:flex;flex-direction:column;height:100%;min-height:0}.ai-head{display:flex;align-items:center;gap:6px;padding:10px 14px;border-bottom:1px solid var(--border);min-width:0}.ai-head strong{white-space:nowrap}.ai-context{padding:1px 7px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);font-size:11.5px;min-width:0}.ai-msgs{flex:1;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:10px}.ai-empty{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.ai-starter{text-align:left;white-space:normal}.ai-msg{padding:8px 12px;border-radius:10px;max-width:100%;overflow-wrap:anywhere}.ai-msg p{margin:0 0 6px}.ai-msg p:last-child{margin-bottom:0}.ai-msg.user{align-self:flex-end;background:var(--accent-bg, var(--surface-2));border:1px solid var(--border);white-space:pre-wrap}.ai-msg.assistant{align-self:stretch;width:100%;background:transparent;padding:2px 0;border-radius:0}.ai-msg.error{background:var(--bad-bg);color:var(--bad);padding:8px 12px;border-radius:10px}.ai-msg.pending{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.ai-msg .md ul{margin:0 0 6px;padding-left:18px}.ai-msg code{font-family:var(--mono, monospace);font-size:12px;background:var(--surface-2);border:1px solid var(--border);padding:0 4px;border-radius:4px}.ai-steps{margin-bottom:6px}.ai-steps ol{margin:4px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:4px}.ai-input{padding:10px 14px 6px;border-top:1px solid var(--border)}.ai-input-box{position:relative;display:flex;align-items:center;width:100%}.ai-input-box textarea{flex:1;width:100%;resize:none;padding-right:42px;font-family:inherit;font-size:13px;line-height:1.45}.ai-input-box textarea::placeholder{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.ai-send-btn{position:absolute;right:6px;bottom:6px;width:28px;height:28px}.ai-note{padding:0 14px 10px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11.5px}.dots:after{content:"…";animation:blink 1.2s infinite}@keyframes blink{50%{opacity:.3}}@media (max-width: 1100px){.shell-grid.with-ai{grid-template-columns:236px minmax(0,1fr)}.shell-grid.nav-collapsed.with-ai{grid-template-columns:60px minmax(0,1fr)}.ai-slot{position:fixed;right:0;top:52px;width:min(var(--ai-width, 400px),100vw);z-index:40;box-shadow:var(--shadow)}}.ai-proposal{margin-top:8px;padding:10px 12px;border:1px dashed var(--border);border-radius:8px;background:var(--surface);display:flex;flex-direction:column;gap:6px}.ai-proposal.applied{border-style:solid;border-color:var(--good)}.ai-proposal.dismissed{opacity:.6}.ai-proposal pre{margin:4px 0 0;max-height:200px;overflow:auto;background:var(--surface-2);padding:6px;border-radius:6px}input.invalid{border-color:var(--bad)}.hint.error{color:var(--bad)}.icon-btn{width:36px;height:36px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:none}.icon-btn.stop{background:var(--text);color:var(--surface);border-color:var(--text)}.ai-working{display:inline-flex;align-items:center;gap:8px}.ai-wave{display:inline-flex;align-items:center;gap:2px;height:14px}.ai-wave i{width:3px;height:100%;border-radius:2px;background:var(--accent, var(--muted));animation:ai-wave 1s ease-in-out infinite}.ai-wave i:nth-child(2){animation-delay:.15s}.ai-wave i:nth-child(3){animation-delay:.3s}.ai-wave i:nth-child(4){animation-delay:.45s}@keyframes ai-wave{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}@media (prefers-reduced-motion: reduce){.ai-wave i{animation:none;transform:scaleY(.6)}}.ai-thought{color:var(--muted);font-style:italic;white-space:pre-wrap}.ai-steps li{list-style:none}.ai-steps ol{padding-left:0}.md .md-h{font-weight:650;margin:10px 0 4px}.md .md-h1{font-size:16px}.md .md-h2{font-size:15px}.md .md-h:first-child{margin-top:0}.md ol{margin:0 0 6px;padding-left:20px}.md pre{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:8px;overflow-x:auto;margin:0 0 6px;font-size:12px}.md pre code{background:none;border:none;padding:0}.md blockquote{margin:0 0 6px;padding-left:10px;border-left:3px solid var(--border);color:var(--muted)}.md hr{border:none;border-top:1px solid var(--border);margin:8px 0}.md-table{overflow-x:auto;margin:0 0 8px}.md-table table{border-collapse:collapse;font-size:12px;width:100%}.md-table th,.md-table td{border:1px solid var(--border);padding:4px 6px;text-align:left;vertical-align:top}.md-table th{background:var(--surface);font-weight:600}.icon-only{width:30px;height:30px;padding:0;display:inline-flex;align-items:center;justify-content:center}.icon-only.active{background:var(--surface-2)}.ai-history{flex:1;overflow-y:auto;padding:8px 10px}.ai-history ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.ai-history li{display:flex;align-items:center;gap:4px;border-radius:8px}.ai-history li:hover,.ai-history li.current{background:var(--surface-2)}.ai-conv{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;background:none;border:none;color:inherit;text-align:left;cursor:pointer}.ai-conv .clip{max-width:100%}.ai-msgs[hidden]{display:none}.form-section{display:flex;flex-direction:column;gap:12px}.form-section+.form-section{border-top:1px solid var(--border);padding-top:16px;margin-top:4px}.form-section>h3{margin:0}.ad-hero{padding:14px 18px;transition:background .25s ease,border-color .25s ease}.ad-hero.ad-hero-on{background:var(--hero-grad);border-color:#2563eb52}.ad-pulse{width:10px;height:10px;border-radius:50%;background:var(--muted);display:inline-block;flex:none}.ad-pulse.on{background:var(--good);box-shadow:0 0 #10b98199;animation:ad-pulse-anim 1.8s infinite}@keyframes ad-pulse-anim{0%{box-shadow:0 0 #10b9818c}70%{box-shadow:0 0 0 8px #10b98100}to{box-shadow:0 0 #10b98100}}.ad-stepper{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;position:relative}@media (max-width: 1100px){.ad-stepper{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 640px){.ad-stepper{grid-template-columns:repeat(2,minmax(0,1fr))}}button.ad-step{width:100%;text-align:left;font-weight:400;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:10px 12px;display:flex;align-items:center;gap:10px;position:relative;overflow:hidden;transition:transform .15s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}button.ad-step:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:var(--shadow-hover)}button.ad-step.done{border-color:#10b98173;background:var(--good-bg)}button.ad-step.current{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent-soft),0 4px 14px #2563eb29}button.ad-step.current:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);transform:translate(-100%);animation:ad-shimmer 2s infinite;pointer-events:none}@keyframes ad-shimmer{to{transform:translate(100%)}}button.ad-step.selected{box-shadow:0 0 0 2px var(--accent);border-color:var(--accent)}.ad-step-icon{width:30px;height:30px;border-radius:8px;background:var(--surface);border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;flex:none;color:var(--muted);box-shadow:0 1px 2px #0000000a}.ad-step.done .ad-step-icon{color:var(--good);border-color:#10b98166}.ad-step.current .ad-step-icon{color:var(--accent);border-color:var(--accent)}.ad-step-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.ad-step-row{display:flex;align-items:center;justify-content:space-between;gap:4px;width:100%}.ad-step-badge{font-size:10.5px;font-weight:600;padding:0 6px;border-radius:999px;background:var(--surface);border:1px solid var(--border);color:var(--muted);line-height:17px}.ad-step.done .ad-step-badge{color:var(--good);border-color:#10b98166}.ad-step.current .ad-step-title{color:var(--accent)}.ad-step-title{font-size:12.5px;font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ad-step-desc{font-size:11px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ad-empty{display:flex;align-items:center;gap:10px;padding:18px 8px}.ad-stream{display:flex;flex-direction:column;gap:9px;max-height:380px;overflow-y:auto;padding-left:14px;border-left:2px solid var(--border);margin-left:6px}.ad-log{position:relative;background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:9px;padding:9px 12px;display:flex;flex-direction:column;gap:4px;transition:border-color .15s ease,background .15s ease}.ad-log:before{content:"";position:absolute;left:-21px;top:14px;width:9px;height:9px;border-radius:50%;background:var(--accent);border:2px solid var(--surface)}.ad-log.ad-log-attack{border-left-color:var(--bad)}.ad-log.ad-log-attack:before{background:var(--bad)}.ad-log.ad-log-blocked,.ad-log.ad-log-ok{border-left-color:var(--good)}.ad-log.ad-log-blocked:before,.ad-log.ad-log-ok:before{background:var(--good)}.ad-log.ad-log-warn{border-left-color:var(--warn)}.ad-log.ad-log-warn:before{background:var(--warn)}.ad-log-detail{padding-left:2px;line-height:1.4}.ad-shields{display:flex;flex-direction:column;gap:10px;max-height:380px;overflow-y:auto}.ad-shield-card{background:var(--surface-2);border:1px solid var(--border);border-left:4px solid var(--good);border-radius:10px;padding:11px 14px;display:flex;flex-direction:column;gap:7px;transition:box-shadow .15s ease,transform .15s ease}.ad-shield-card:hover{box-shadow:var(--shadow-hover)}.ad-shield-target{font-weight:600;font-size:13px;background:var(--surface);padding:1px 7px;border-radius:5px;border:1px solid var(--border)}.ad-verify-bar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:7px 11px;margin-top:2px}.ad-verify-col{display:flex;flex-direction:column;gap:1px}.ad-eff-meter{width:100%;height:5px;border-radius:999px;background:var(--border);overflow:hidden;margin-top:2px}.ad-eff-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--good),#10b981);transition:width .35s ease}.m-badge{display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:700;padding:1px 6px;border-radius:5px;margin-right:6px;letter-spacing:.02em}.m-GET,.m-HEAD{background:var(--info-bg);color:var(--accent)}.m-POST,.m-PUT,.m-PATCH{background:var(--warn-bg);color:var(--warn)}.m-DELETE{background:var(--bad-bg);color:var(--bad)}.st-code{display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;font-weight:600;padding:1px 6px;border-radius:5px}.st-2xx{background:var(--good-bg);color:var(--good)}.st-3xx{background:var(--info-bg);color:var(--accent)}.st-4xx,.st-5xx{background:var(--bad-bg);color:var(--bad)}.ip-pill{display:inline-block;padding:1px 7px;border-radius:5px;background:var(--surface-2);border:1px solid var(--border);font-size:12px}.rep-wrap{max-width:940px;margin:0 auto;padding:28px 22px 64px;display:flex;flex-direction:column;gap:18px;color:var(--text)}.rep-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px}.rep-head{display:flex;flex-direction:column;gap:8px;background:var(--hero-grad);border:1px solid rgba(37,99,235,.25);border-radius:14px;padding:20px 22px;box-shadow:var(--shadow)}.rep-brand-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.rep-brand{font-weight:700;color:var(--accent, #2563eb);display:inline-flex;align-items:center;gap:6px;font-size:14px;letter-spacing:.01em}.rep-cert-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;background:var(--good-bg);color:var(--good);border:1px solid rgba(16,185,129,.35);font-size:11.5px;font-weight:700;letter-spacing:.03em}.rep-head h1{margin:0;font-size:25px;letter-spacing:-.02em}.rep-sim{background:var(--warn-bg, #fffbeb);color:var(--warn, #9a6400);border:1px solid rgba(245,158,11,.35);border-radius:8px;padding:8px 12px;font-size:13px}.rep-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.rep-stat{border:1px solid var(--border);border-radius:12px;padding:15px 16px;background:var(--surface);box-shadow:var(--shadow)}.rep-stat-v{font-size:26px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.rep-stat-l{font-size:12px;color:var(--muted);margin-top:3px}.rep-stat.good .rep-stat-v{color:var(--good, #059669)}.rep-stat.bad .rep-stat-v{color:var(--bad, #dc2626)}.rep-card{border:1px solid var(--border);border-radius:12px;padding:18px 20px;background:var(--surface);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px}.rep-card h2{margin:0;font-size:15.5px;font-weight:650}.rep-timeline{list-style:none;padding:0 0 0 14px;border-left:2px solid var(--border);margin:0 0 0 6px;display:flex;flex-direction:column;gap:12px}.rep-timeline li{display:flex;align-items:center;flex-wrap:wrap;gap:10px;position:relative}.tl-dot{position:absolute;left:-20px;width:10px;height:10px;border-radius:50%;background:var(--muted);border:2px solid var(--surface);box-shadow:0 0 0 2px var(--border)}.tl-first_probe .tl-dot{background:#f59e0b;box-shadow:0 0 0 2px #f59e0b4d}.tl-detected .tl-dot{background:#2563eb;box-shadow:0 0 0 2px #2563eb4d}.tl-rule_signed .tl-dot{background:#7c3aed;box-shadow:0 0 0 2px #7c3aed4d}.tl-blocked .tl-dot{background:#059669;box-shadow:0 0 0 2px #0596694d}.tl-time{color:var(--muted);font-size:12px;min-width:135px}.tl-delta{font-size:11px;font-weight:600;padding:1px 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent)}.rep-legend{display:flex;gap:16px;color:var(--muted)}.rep-legend .sw{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:middle}.sw-a{background:#2563eb}.sw-w{background:#f59e0b}.sw-b{background:#ef4444}.rep-table{border-collapse:collapse;width:100%;font-size:13px}.rep-table th,.rep-table td{border-bottom:1px solid var(--border);padding:8px 10px;text-align:left}.rep-tag{display:inline-block;font-size:11.5px;font-weight:600;padding:2px 9px;border-radius:999px;background:var(--accent-soft);color:var(--accent)}.rep-defenses,.rep-findings{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.rep-defenses li{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--good);border-radius:8px;padding:8px 12px}.rep-rule{font-weight:600}.rep-findings li{border:1px solid var(--border);border-left:4px solid var(--border);border-radius:8px;padding:10px 12px;background:var(--surface-2);display:flex;flex-direction:column;gap:4px}.rep-findings li.sev-high{border-left-color:var(--bad, #dc2626)}.rep-findings li.sev-medium{border-left-color:var(--warn, #f59e0b)}.rep-foot{text-align:center;padding-top:8px}.report-link{overflow-wrap:anywhere}@media print{.no-print{display:none!important}.rep-wrap{max-width:none}.rep-card,.rep-stat{break-inside:avoid;box-shadow:none}}.auth-layout{display:grid;grid-template-columns:1.08fr 1fr;min-height:calc(100vh - 52px);background:var(--bg)}.auth-showcase{position:relative;overflow:hidden;padding:52px 56px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#0b1120,#111c35 55%,#0d1629);color:#f1f5f9;border-right:1px solid var(--border)}.auth-showcase:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(to right,rgba(148,163,184,.06) 1px,transparent 1px),linear-gradient(to bottom,rgba(148,163,184,.06) 1px,transparent 1px);background-size:36px 36px;-webkit-mask-image:radial-gradient(ellipse 80% 75% at 50% 45%,#000 40%,transparent 100%);mask-image:radial-gradient(ellipse 80% 75% at 50% 45%,#000 40%,transparent 100%);pointer-events:none}.auth-showcase-glow{position:absolute;width:540px;height:540px;top:-120px;left:-100px;border-radius:50%;background:radial-gradient(circle,rgba(59,130,246,.24) 0%,rgba(99,102,241,.14) 45%,transparent 70%);filter:blur(28px);pointer-events:none}.auth-showcase-inner{position:relative;z-index:1;max-width:480px;display:flex;flex-direction:column;gap:20px}.auth-hero-pill{align-self:flex-start;display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.02em;color:#93c5fd;background:#3b82f624;border:1px solid rgba(96,165,250,.28)}.auth-hero-heading{font-size:25px;line-height:1.3;font-weight:700;letter-spacing:-.02em;margin:0;color:#fff}.auth-features{display:flex;flex-direction:column;gap:10px}.auth-feature{display:flex;align-items:center;gap:14px;padding:12px 15px;border-radius:12px;background:#ffffff09;border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color .18s ease,background .18s ease}.auth-feature:hover{background:#ffffff0e;border-color:#60a5fa59}.auth-feature-icon{width:36px;height:36px;border-radius:9px;background:#3b82f62e;border:1px solid rgba(96,165,250,.32);color:#60a5fa;display:inline-flex;align-items:center;justify-content:center;flex:none;margin-top:1px}.auth-feature h3{font-size:14px;font-weight:600;color:#f8fafc;margin:0 0 3px}.auth-feature p{margin:0;font-size:12.5px;line-height:1.5;color:#94a3b8}.auth-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.auth-metric{display:flex;flex-direction:column;gap:2px}.auth-metric-val{font-size:14px;font-weight:700;color:#34d399}.auth-metric-lbl{font-size:11.5px;color:#94a3b8}.auth-console{border-radius:12px;background:#090e1ac7;border:1px solid rgba(96,165,250,.25);box-shadow:0 12px 28px #00000059,inset 0 1px #ffffff0f;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.auth-console-head{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#ffffff0a;border-bottom:1px solid rgba(255,255,255,.07);font-size:11px}.auth-console-dots{display:inline-flex;gap:5px}.auth-console-dots i{width:8px;height:8px;border-radius:50%;background:#94a3b859}.auth-console-dots i:nth-child(1){background:#f87171}.auth-console-dots i:nth-child(2){background:#fbbf24}.auth-console-dots i:nth-child(3){background:#34d399}.auth-console-title{color:#94a3b8;font-size:11px}.auth-console-live{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:700;letter-spacing:.06em;color:#34d399}.auth-console-body{padding:10px 12px;display:flex;flex-direction:column;gap:7px;font-size:11.5px}.auth-console-row{display:flex;align-items:center;gap:8px}.auth-console-row .c-tag{font-size:10px;font-weight:700;padding:1px 6px;border-radius:4px;min-width:48px;text-align:center}.auth-console-row .c-tag.ok{background:#10b9812e;color:#34d399}.auth-console-row .c-tag.bad{background:#ef444433;color:#f87171}.auth-console-row .c-tag.ai{background:#6366f13d;color:#a5b4fc}.auth-console-row .c-path{color:#e2e8f0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-console-row .c-meta{margin-left:auto;color:#64748b;font-size:11px;white-space:nowrap}.auth-pane{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:36px 24px;background-image:radial-gradient(rgba(37,99,235,.11) 1px,transparent 1px);background-size:24px 24px}.auth-pane-glow{position:absolute;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(37,99,235,.1) 0%,rgba(99,102,241,.06) 45%,transparent 70%);filter:blur(20px);pointer-events:none}.auth-card{position:relative;overflow:hidden;width:100%;max-width:420px;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:30px 28px 22px;box-shadow:0 20px 50px #0f172a14,0 4px 12px #0f172a0a;display:flex;flex-direction:column;gap:18px}.auth-card-accent{position:absolute;top:0;left:0;right:0;height:4px;background:var(--ai-grad)}.auth-card-head{display:flex;align-items:center;gap:14px}.auth-head-text{display:flex;flex-direction:column;gap:1px}.auth-kicker{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}.auth-card-head h1{font-size:22px;margin:0}.auth-logo-mark{width:44px;height:44px;border-radius:12px;background:var(--ai-grad);color:#fff;display:inline-flex;align-items:center;justify-content:center;flex:none;box-shadow:0 8px 18px #2563eb47}.auth-steps{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;background:var(--surface-2);border:1px solid var(--border)}.auth-step-pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--muted)}.auth-step-pill.active{color:var(--accent);font-weight:600}.auth-step-pill.done{color:var(--good);font-weight:600}.auth-step-dot{width:7px;height:7px;border-radius:50%;background:var(--border)}.auth-step-pill.active .auth-step-dot{background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.auth-step-pill.done .auth-step-dot{background:var(--good)}.auth-step-line{flex:1;height:1px;background:var(--border)}.auth-trust-row{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;padding-top:14px;border-top:1px solid var(--border)}.auth-trust-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);font-size:11px;font-weight:500;color:var(--muted)}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px}.auth-tab{width:100%;justify-content:center;padding:8px 12px;border-radius:7px;border:1px solid transparent;background:transparent;color:var(--muted);font-size:13px;font-weight:600;transition:all .15s ease}.auth-tab:hover{color:var(--text)}.auth-tab.active{background:var(--surface);color:var(--accent);border-color:var(--border);box-shadow:0 1px 3px #0000000f}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-form>p{margin:0}.auth-field{display:flex;flex-direction:column;gap:6px;font-weight:500;color:var(--text)}.auth-input-wrap{position:relative;display:flex;align-items:center}.auth-input-icon{position:absolute;left:12px;color:var(--muted);pointer-events:none}.auth-input-wrap input{width:100%;padding:10px 38px 10px 36px;border-radius:9px;font-size:14px;background:var(--surface-2);transition:border-color .15s ease,background .15s ease}.auth-input-wrap input:focus{background:var(--surface)}.auth-eye-btn{position:absolute;right:6px;width:28px;height:28px;padding:0;border:none;background:transparent;color:var(--muted);justify-content:center;align-self:center}.auth-eye-btn:hover{color:var(--text)}.auth-submit{width:100%;justify-content:center;padding:10px 16px;border-radius:9px;font-weight:600;font-size:14px;align-self:stretch;box-shadow:0 4px 12px #2563eb38;transition:transform .12s ease,box-shadow .12s ease}.auth-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #2563eb4d}.auth-alert{padding:9px 12px;border-radius:8px;font-size:13px;line-height:1.4}.auth-alert.error{background:var(--bad-bg);color:var(--bad);border:1px solid rgba(220,38,38,.25)}.auth-alert.ok{background:var(--good-bg);color:var(--good);border:1px solid rgba(16,185,129,.25)}.auth-sent-banner{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:var(--good-bg);border:1px solid rgba(16,185,129,.28)}.auth-otp-section{display:flex;flex-direction:column;gap:8px}.auth-otp-label{font-size:12.5px;color:var(--muted)}.auth-otp-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.auth-otp-box{width:100%;height:50px;padding:0;text-align:center;font-size:20px;font-weight:700;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;border-radius:10px;background:var(--surface-2);border:1.5px solid var(--border);transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.auth-otp-box.filled{border-color:var(--accent);background:var(--surface)}.auth-otp-box:focus{background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.auth-otp-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:2px}.auth-sso{display:flex;flex-direction:column;gap:12px}.auth-divider{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth-sso-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}.auth-sso-btn{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 10px;border-radius:9px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-weight:500;font-size:13px;text-decoration:none;transition:background .15s ease,border-color .15s ease}.auth-sso-btn:hover{background:var(--hover);border-color:var(--accent);text-decoration:none}.auth-card-foot{display:flex;align-items:flex-start;gap:8px;padding-top:14px;border-top:1px solid var(--border);line-height:1.4}.menu-action{margin-top:2px;border-top:1px solid var(--border)!important;background:transparent;color:var(--text);border:none;border-radius:6px;padding:9px 8px;text-align:left;align-self:stretch}.menu-action:hover{background:var(--hover)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0f172a8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px}.modal-card{width:100%;max-width:560px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:14px;padding:20px 22px;box-shadow:0 20px 48px #00000047;display:flex;flex-direction:column;gap:14px;max-height:85vh}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-foot{display:flex;align-items:center;gap:10px;padding-top:10px;border-top:1px solid var(--border)}.sess-list{display:flex;flex-direction:column;gap:8px;overflow-y:auto;max-height:360px}.sess-item{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:10px;background:var(--surface-2);border:1px solid var(--border)}.sess-item.current{border-color:#10b98173;background:var(--good-bg)}.sess-icon{width:36px;height:36px;border-radius:9px;background:var(--surface);border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;flex:none;color:var(--muted)}.sess-item.current .sess-icon{color:var(--good);border-color:#10b98159}.sess-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.sess-empty{padding:18px 12px;text-align:center;background:var(--surface-2);border-radius:8px;border:1px dashed var(--border)}@media (max-width: 960px){.auth-layout{grid-template-columns:1fr}.auth-showcase{order:2;padding:36px 24px;border-right:none;border-top:1px solid var(--border)}.auth-pane{order:1;padding:28px 16px}}
