:root{--bg: #fafafa;--bg-elev: #ffffff;--bg-sunken: #f5f5f5;--bg-hover: #f3f3f3;--bg-active: #ededed;--border: #e8e8e6;--border-strong:#d4d4d2;--border-focus: #0a0a0a;--text-1: #0a0a0a;--text-2: #525252;--text-3: #8a8a87;--text-4: #b5b5b1;--accent: #dc2626;--accent-hover: #b91c1c;--accent-soft: #fef2f2;--accent-border:#fecaca;--ok: #15803d;--ok-soft: #ecfdf5;--ok-border: #bbf7d0;--warn: #b45309;--warn-soft: #fffbeb;--warn-border: #fde68a;--info: #0369a1;--info-soft: #f0f9ff;--info-border: #bae6fd;--crit: #b91c1c;--crit-soft: #fef2f2;--crit-border: #fecaca;--neutral: #525252;--neutral-soft: #f5f5f5;--neutral-border:#e5e5e5;--tag-violet: #7c5cb8;--tag-violet-soft: #f6f4fb;--tag-violet-border: #e3dcef;--tag-rose: #b06088;--tag-rose-soft: #faf2f5;--tag-rose-border: #ebd5dd;--sev-critical: #991b1b;--sev-high: #c2410c;--sev-medium: #b45309;--sev-low: #0369a1;--sev-info: #525252;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-8: 32px;--s-10: 40px;--s-12: 48px;--r-1: 4px;--r-2: 6px;--r-3: 8px;--r-4: 10px;--r-5: 12px;--r-6: 16px;--r-full: 999px;--font-sans: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--sidebar-w: 240px;--row-h: 44px;--header-h: 52px;--shadow-1: 0 1px 2px rgba(15, 15, 15, .04), 0 0 0 1px rgba(15, 15, 15, .04);--shadow-2: 0 4px 16px rgba(15, 15, 15, .06), 0 0 0 1px rgba(15, 15, 15, .05);--shadow-3: 0 12px 32px rgba(15, 15, 15, .1), 0 0 0 1px rgba(15, 15, 15, .06);--shadow-modal: 0 24px 60px rgba(15, 15, 15, .18), 0 0 0 1px rgba(15, 15, 15, .08)}body[data-density=tight]{--row-h: 36px;--s-3: 8px;--s-4: 12px;--s-5: 14px;--s-6: 18px}body[data-density=comfortable]{--row-h: 44px}body[data-density=spacious]{--row-h: 56px;--s-3: 14px;--s-4: 20px;--s-5: 24px;--s-6: 32px}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{font-family:var(--font-sans);font-size:14px;line-height:1.5;color:var(--text-1);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11","ss01","ss03"}button{font-family:inherit}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}::selection{background:#0a0a0a;color:#fff}*{scrollbar-width:thin;scrollbar-color:#d4d4d2 transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:#d4d4d2;border-radius:999px}*::-webkit-scrollbar-thumb:hover{background:#b5b5b1}*::-webkit-scrollbar-track{background:transparent}.app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;height:100vh;width:100vw;overflow:hidden}.sidebar{background:var(--bg);display:flex;flex-direction:column;padding:var(--s-3) var(--s-3);gap:var(--s-2);overflow-y:auto}.sidebar-user{display:flex;align-items:center;gap:var(--s-2);padding:8px var(--s-2);border-radius:var(--r-2);cursor:pointer;position:relative;-webkit-user-select:none;user-select:none}.sidebar-user:hover{background:var(--bg-hover)}.sidebar-user .avatar{width:26px;height:26px;border-radius:6px;background:var(--text-1);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:600;letter-spacing:.02em;flex-shrink:0}.sidebar-user .user-meta{flex:1;min-width:0;line-height:1.25}.sidebar-user .user-meta .nm{font-weight:500;font-size:13px;color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user .user-meta .em{font-size:11.5px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user .user-chevron{color:var(--text-3);display:flex;flex-shrink:0}.user-dropdown{position:absolute;top:calc(100% + 4px);left:var(--s-3);right:var(--s-3);background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-3);box-shadow:var(--shadow-2);z-index:50;padding:6px;display:flex;flex-direction:column;gap:2px;animation:dropdown-in .12s ease}.user-dropdown .dd-item{display:flex;align-items:center;gap:var(--s-2);padding:7px var(--s-2);border-radius:var(--r-2);font-size:13px;color:var(--text-1);cursor:pointer}.user-dropdown .dd-item:hover{background:var(--bg-hover)}.user-dropdown .dd-item .ico{color:var(--text-3);display:flex;width:14px}.user-dropdown .dd-item.danger,.user-dropdown .dd-item.danger .ico{color:var(--accent)}.user-dropdown .dd-item.disabled{color:var(--text-4);cursor:not-allowed}.user-dropdown .dd-item.disabled:hover{background:transparent}.user-dropdown .dd-item.disabled .ico{color:var(--text-4)}.user-dropdown .dd-sep{height:1px;background:var(--border);margin:4px 0}.user-dropdown .dd-meta{padding:6px var(--s-2);font-size:11px;color:var(--text-3);font-family:var(--font-mono)}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.sidebar-brand{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-2);border-radius:var(--r-2);cursor:pointer}.sidebar-brand:hover{background:var(--bg-hover)}.brand-mark{width:24px;height:24px;display:grid;place-items:center;color:var(--text-1);flex-shrink:0}.brand-mark svg{display:block}.brand-mark .accent{color:var(--accent)}.brand-name{font-weight:600;font-size:14px;letter-spacing:-.01em}.brand-chevron{margin-left:auto;color:var(--text-3);display:flex}.sidebar-quick{display:flex;align-items:center;gap:var(--s-1);padding:0 var(--s-1)}.sidebar-quick .qbtn{flex:1;height:32px;border:1px solid var(--border);background:var(--bg-elev);border-radius:var(--r-2);color:var(--text-2);display:flex;align-items:center;gap:var(--s-2);padding:0 var(--s-3);cursor:pointer;font-size:13px}.sidebar-quick .qbtn:hover{background:var(--bg-hover);color:var(--text-1)}.sidebar-quick .qbtn .kbd{margin-left:auto;font-family:var(--font-mono);font-size:11px;color:var(--text-3);background:var(--bg);border:1px solid var(--border);padding:1px 5px;border-radius:3px}.sidebar-quick .qbtn-icon{flex:0 0 32px;width:32px;justify-content:center;padding:0}.sidebar-section{display:flex;flex-direction:column;margin-top:var(--s-2)}.sidebar-section-header{display:flex;align-items:center;gap:var(--s-2);padding:6px var(--s-2);font-size:12px;color:var(--text-3);font-weight:500;letter-spacing:.01em;cursor:pointer;border-radius:var(--r-2);-webkit-user-select:none;user-select:none}.sidebar-section-header:hover{background:var(--bg-hover);color:var(--text-2)}.sidebar-section-header .chev{width:12px;height:12px;display:flex;align-items:center;justify-content:center;transition:transform .15s ease;color:var(--text-3)}.sidebar-section-header.collapsed .chev{transform:rotate(-90deg)}.sidebar-section-header .sec-ico{width:14px;height:14px;display:flex;align-items:center;justify-content:center;color:var(--text-2)}.sidebar-nav-item{display:flex;align-items:center;gap:var(--s-2);padding:6px var(--s-2) 6px 28px;border-radius:var(--r-2);font-size:13px;color:var(--text-2);cursor:pointer;text-decoration:none;position:relative}.sidebar-nav-item:hover{background:var(--bg-hover);color:var(--text-1)}.sidebar-nav-item.active{background:var(--bg-active);color:var(--text-1);font-weight:500}.sidebar-nav-item .ico{width:14px;height:14px;color:var(--text-3);display:flex}.sidebar-nav-item.active .ico{color:var(--text-1)}.sidebar-nav-item .count{margin-left:auto;font-family:var(--font-mono);font-size:11px;color:var(--text-3)}.sidebar-footer{margin-top:auto;padding-top:var(--s-3);border-top:1px solid var(--border);display:flex;align-items:center;gap:var(--s-2)}.sidebar-footer .avatar{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#d4d4d2,#a3a3a3);display:grid;place-items:center;color:#fff;font-size:11px;font-weight:600}.sidebar-footer .meta{font-size:12px}.sidebar-footer .meta .nm{color:var(--text-1);font-weight:500}.sidebar-footer .meta .em{color:var(--text-3);font-size:11px}.sidebar-version{margin-top:auto;padding:var(--s-3) var(--s-2) var(--s-1);font-size:11px;color:var(--text-3);-webkit-user-select:text;user-select:text}.main{display:flex;flex-direction:column;min-width:0;background:var(--bg-elev);border-radius:12px 0 0;border-left:1px solid var(--border);overflow:hidden}.topbar{height:var(--header-h);display:flex;align-items:center;padding:0 var(--s-5);border-bottom:1px solid var(--border);gap:var(--s-3);flex-shrink:0;background:var(--bg-elev)}.crumbs{display:flex;align-items:center;gap:var(--s-2);font-size:13px}.crumbs .crumb{color:var(--text-2);display:flex;align-items:center;gap:var(--s-2);text-decoration:none;padding:2px 6px;border-radius:var(--r-1)}.crumbs .crumb:hover{background:var(--bg-hover);color:var(--text-1);cursor:pointer}.crumbs .crumb.terminal{color:var(--text-1);font-weight:500}.crumbs .crumb-sep{color:var(--text-4)}.crumbs .crumb-ico{color:var(--text-2);display:flex}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:var(--s-2)}.dev-toggle{appearance:none;background:transparent;border:1px solid var(--border);border-radius:var(--r-full);padding:4px 6px 4px 10px;display:inline-flex;align-items:center;gap:var(--s-2);cursor:pointer;color:var(--text-2);font:inherit;font-size:12px;line-height:1;transition:background .12s ease,color .12s ease,border-color .12s ease}.dev-toggle:hover{background:var(--bg-hover);color:var(--text-1)}.dev-toggle .dev-toggle-label{font-weight:500;letter-spacing:.01em}.dev-toggle .dev-toggle-track{width:26px;height:14px;border-radius:var(--r-full);background:var(--border-strong);position:relative;transition:background .15s ease;flex-shrink:0}.dev-toggle .dev-toggle-thumb{position:absolute;top:1px;left:1px;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0f0f0f2e;transition:transform .15s ease}.dev-toggle.on .dev-toggle-track{background:var(--text-1)}.dev-toggle.on .dev-toggle-thumb{transform:translate(12px)}.dev-toggle:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.page{flex:1;overflow-y:auto;display:flex;flex-direction:column}.page-head{padding:var(--s-6) var(--s-8) var(--s-4);border-bottom:1px solid var(--border);display:flex;align-items:flex-start;gap:var(--s-4)}.page-head h1{margin:0;font-size:20px;font-weight:600;letter-spacing:-.015em;color:var(--text-1)}.page-head .desc{margin-top:var(--s-1);font-size:13px;color:var(--text-3)}.page-head-actions{margin-left:auto;display:flex;gap:var(--s-2);align-items:center}.page-toolbar{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-3) var(--s-8);border-bottom:1px solid var(--border);background:var(--bg-elev);position:sticky;top:0;z-index:5}.page-toolbar.subdued{background:var(--bg)}.page-body{padding:0 var(--s-8) var(--s-12);flex:1}.btn{display:inline-flex;align-items:center;gap:var(--s-2);height:32px;padding:0 var(--s-3);border-radius:var(--r-2);border:1px solid transparent;background:transparent;font-size:13px;font-weight:500;color:var(--text-1);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:background .1s ease,border-color .1s ease,color .1s ease}.btn:disabled{opacity:.5;cursor:not-allowed}.btn .ico{display:flex}.btn-primary{background:var(--text-1);color:#fff;border-color:var(--text-1)}.btn-primary:hover:not(:disabled){background:#2a2a2a;border-color:#2a2a2a}.btn-secondary{background:var(--bg-elev);border-color:var(--border-strong);color:var(--text-1)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover)}.btn-ghost{color:var(--text-2)}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-1)}.btn-danger{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-danger:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-icon{width:32px;padding:0;justify-content:center}.btn-sm{height:26px;font-size:12px;padding:0 10px}.btn-sm.btn-icon{width:26px;padding:0}.tabs{display:inline-flex;background:var(--bg-sunken);border-radius:var(--r-3);padding:3px;gap:2px}.tabs .tab{height:28px;padding:0 var(--s-3);border-radius:var(--r-2);font-size:13px;color:var(--text-2);border:none;background:transparent;cursor:pointer;font-weight:500;display:inline-flex;align-items:center;gap:var(--s-2)}.tabs .tab:hover{color:var(--text-1)}.tabs .tab.active{background:var(--bg-elev);color:var(--text-1);box-shadow:0 1px 2px #0000000f,0 0 0 1px #0000000a}.search{display:inline-flex;align-items:center;height:32px;border:1px solid var(--border);background:var(--bg-elev);border-radius:var(--r-2);padding:0 var(--s-3);gap:var(--s-3);color:var(--text-3);min-width:240px}.search:focus-within{border-color:var(--border-strong);box-shadow:0 0 0 3px #0a0a0a0a}.search input{border:none;outline:none;background:transparent;flex:1;font-size:13px;color:var(--text-1)}.search input::placeholder{color:var(--text-3)}.pill{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;font-size:12px;border-radius:var(--r-full);background:var(--bg-sunken);color:var(--text-2);border:1px solid transparent;font-weight:500;white-space:nowrap}.pill .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.pill.ok{background:var(--ok-soft);color:var(--ok);border-color:var(--ok-border)}.pill.warn{background:var(--warn-soft);color:var(--warn);border-color:var(--warn-border)}.pill.info{background:var(--info-soft);color:var(--info);border-color:var(--info-border)}.pill.crit{background:var(--crit-soft);color:var(--crit);border-color:var(--crit-border)}.pill.neutral{background:var(--neutral-soft);color:var(--neutral);border-color:var(--neutral-border)}.pill.violet{background:var(--tag-violet-soft);color:var(--tag-violet);border-color:var(--tag-violet-border)}.pill.rose{background:var(--tag-rose-soft);color:var(--tag-rose);border-color:var(--tag-rose-border)}.pill.stopping{background:var(--warn-soft);color:var(--warn);border-color:var(--warn-border);animation:pill-stopping 1.4s ease-in-out infinite}.pill.stopping .dot{animation:dot-stopping 1s ease-in-out infinite}@keyframes pill-stopping{0%,to{opacity:1}50%{opacity:.65}}@keyframes dot-stopping{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.6);opacity:.4}}.pill.mono{font-family:var(--font-mono);font-size:11px}.tag{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 6px;font-size:11px;font-family:var(--font-mono);border-radius:var(--r-1);background:var(--bg-sunken);color:var(--text-2);border:1px solid var(--border)}.sev{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px 0 6px;font-size:11.5px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;border-radius:var(--r-1);color:#fff}.sev .sev-bar{width:4px;height:12px;border-radius:1px;background:#ffffff8c}.sev.critical{background:var(--sev-critical)}.sev.high{background:var(--sev-high)}.sev.medium{background:var(--sev-medium)}.sev.low{background:var(--sev-low)}.sev.info{background:var(--sev-info)}.tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.tbl thead th{text-align:left;font-size:11.5px;font-weight:500;color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--border);background:var(--bg-elev);position:sticky;top:0;white-space:nowrap}.tbl tbody td{padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--border);height:var(--row-h);vertical-align:middle}.tbl tbody tr{cursor:pointer}.tbl tbody tr:hover td{background:var(--bg-hover)}.tbl tbody tr.selected td{background:var(--bg-active)}.tbl tbody tr:last-child td{border-bottom:none}.tbl .mono{font-family:var(--font-mono);font-size:12px;color:var(--text-1)}.tbl .muted{color:var(--text-3)}.tbl .num{font-variant-numeric:tabular-nums}.tbl-card{border:1px solid var(--border);border-radius:var(--r-4);overflow:hidden;background:var(--bg-elev);margin-top:var(--s-4)}.score-cell{font-family:var(--font-mono);font-size:12px;font-variant-numeric:tabular-nums}.score-cell.score-high{color:var(--crit);font-weight:600}.score-cell.score-medium{color:var(--warn);font-weight:500}.score-cell.score-low{color:var(--text-3)}.score-help{display:inline-flex;align-items:center;margin-left:4px;color:var(--text-3);cursor:help;vertical-align:middle}.score-help:hover{color:var(--text-1)}.tooltip-bubble{background:var(--bg-elev);color:var(--text-1);border:1px solid var(--border);border-radius:var(--r-3);box-shadow:0 8px 24px -8px #0a0a0a2e,0 2px 6px -2px #0a0a0a14;padding:var(--s-3);font-size:12px;line-height:1.45;pointer-events:none;z-index:9999}.tooltip-bubble .tip-title{font-weight:600;color:var(--text-1);margin-bottom:6px;font-size:12px}.tooltip-bubble .tip-row{display:flex;align-items:center;gap:8px;padding:3px 0}.tooltip-bubble .tip-swatch{font-family:var(--font-mono);font-size:11px;font-weight:600;padding:1px 6px;border-radius:10px;min-width:64px;text-align:center;border:1px solid transparent}.tooltip-bubble .tip-swatch.high{color:var(--crit);background:var(--crit-soft);border-color:var(--crit-border)}.tooltip-bubble .tip-swatch.medium{color:var(--warn);background:var(--warn-soft);border-color:var(--warn-border)}.tooltip-bubble .tip-swatch.low{color:var(--text-3);background:var(--bg);border-color:var(--border)}.tooltip-bubble .tip-meta{color:var(--text-2);font-size:11.5px}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-4);padding:var(--s-5)}.card-head{display:flex;align-items:center;gap:var(--s-2);font-weight:500;margin-bottom:var(--s-3)}.card-head h3{margin:0;font-size:14px;font-weight:600}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--s-12) var(--s-8);color:var(--text-3);text-align:center}.empty .empty-ico{width:48px;height:48px;display:grid;place-items:center;border-radius:var(--r-3);background:var(--bg-sunken);color:var(--text-3);margin-bottom:var(--s-4)}.empty h3{margin:0 0 var(--s-1);color:var(--text-1);font-size:15px;font-weight:600}.empty p{margin:0 0 var(--s-4);font-size:13px;max-width:360px}.modal-overlay{position:fixed;inset:0;background:#0a0a0a4d;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;display:grid;place-items:center;animation:fade-in .15s ease}.modal{background:var(--bg-elev);border-radius:var(--r-5);box-shadow:var(--shadow-modal);width:560px;max-width:calc(100vw - 32px);max-height:calc(100vh - 64px);display:flex;flex-direction:column;overflow:hidden;animation:modal-in .18s cubic-bezier(.2,.8,.2,1)}.modal-head{padding:var(--s-5) var(--s-5) var(--s-3);display:flex;align-items:center}.modal-head h2{margin:0;font-size:15px;font-weight:600}.modal-head .modal-sub{font-size:12px;color:var(--text-3);margin-top:2px}.modal-body{padding:var(--s-3) var(--s-5);overflow-y:auto}.modal-foot{padding:var(--s-4) var(--s-5);border-top:1px solid var(--border);background:var(--bg);display:flex;gap:var(--s-2);justify-content:flex-end}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--s-4)}.field label{font-size:12px;font-weight:500;color:var(--text-2)}.field .hint{font-size:11.5px;color:var(--text-3)}.input,.textarea,.select{width:100%;padding:8px var(--s-3);border:1px solid var(--border-strong);border-radius:var(--r-2);background:var(--bg-elev);font-size:13px;color:var(--text-1);outline:none;transition:border-color .1s,box-shadow .1s;font-family:inherit}.input.mono{font-family:var(--font-mono)}.input:focus,.textarea:focus,.select:focus{border-color:var(--text-1);box-shadow:0 0 0 3px #0a0a0a0d}.textarea{min-height:96px;resize:vertical}.radio-group{display:flex;gap:var(--s-2);flex-wrap:wrap}.radio{flex:1;min-width:0;padding:var(--s-3);border:1px solid var(--border);border-radius:var(--r-3);cursor:pointer;display:flex;flex-direction:column;gap:2px;background:var(--bg-elev);transition:border-color .1s,background .1s}.radio:hover{border-color:var(--border-strong)}.radio.selected{border-color:var(--text-1);background:var(--bg-elev);box-shadow:inset 0 0 0 1px var(--text-1)}.radio .rtitle{font-size:13px;font-weight:500}.radio .rsub{font-size:11.5px;color:var(--text-3)}.drawer-overlay{position:fixed;inset:0;background:#0a0a0a33;z-index:99;animation:fade-in .15s ease}.drawer{position:fixed;top:0;right:0;bottom:0;width:520px;max-width:100vw;background:var(--bg-elev);border-left:1px solid var(--border);box-shadow:-16px 0 40px #0a0a0a1f;z-index:100;display:flex;flex-direction:column;animation:drawer-in .22s cubic-bezier(.2,.8,.2,1)}@keyframes drawer-in{0%{transform:translate(40px);opacity:0}to{transform:none;opacity:1}}.drawer-head{padding:var(--s-5);border-bottom:1px solid var(--border);display:flex;align-items:flex-start;gap:var(--s-3)}.drawer-head h2{margin:0;font-size:16px;font-weight:600;font-family:var(--font-mono);letter-spacing:-.01em}.drawer-head .drawer-sub{font-size:12px;color:var(--text-3);margin-top:2px}.drawer-body{flex:1;min-height:0;overflow-y:auto;padding:var(--s-5);display:flex;flex-direction:column}.drawer-foot{padding:var(--s-4) var(--s-5);border-top:1px solid var(--border);display:flex;gap:var(--s-2)}.kv{display:grid;grid-template-columns:120px 1fr;padding:var(--s-2) 0;font-size:13px;border-bottom:1px dashed var(--border)}.kv:last-child{border-bottom:none}.kv .k{color:var(--text-3);font-size:12px}.kv .v{color:var(--text-1)}.kv .v.mono{font-family:var(--font-mono);font-size:12px}.section-title{font-size:11px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;margin:var(--s-5) 0 var(--s-2)}.section-title:first-child{margin-top:0}.asset-detail{display:flex;flex-direction:column;flex:1;min-height:0}.asset-detail-raw{flex:1;min-height:0;display:flex;flex-direction:column}.asset-detail-raw .asset-detail-raw-block{flex:1;min-height:0;max-height:none}.filter-bar{display:flex;flex-wrap:wrap;gap:var(--s-2);align-items:center}.filter-chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px 0 8px;border:1px dashed var(--border-strong);background:var(--bg-elev);border-radius:var(--r-full);font-size:12px;color:var(--text-2);cursor:pointer;white-space:nowrap}.filter-chip:hover{border-color:var(--text-1);color:var(--text-1)}.filter-chip.active{border-style:solid;background:var(--bg-elev);color:var(--text-1);border-color:var(--border-strong)}.filter-chip .fc-label{color:var(--text-3)}.filter-chip.active .fc-label{color:var(--text-2)}.filter-chip .fc-val{font-family:var(--font-mono);font-size:11px;background:var(--bg-sunken);padding:2px 5px;border-radius:3px}.filter-chip .fc-x{color:var(--text-3)}.filter-chip .fc-x:hover{color:var(--accent)}.popover{position:absolute;z-index:50;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-3);box-shadow:var(--shadow-3);padding:6px;min-width:200px;max-height:320px;overflow-y:auto}.popover-item{padding:6px var(--s-3);border-radius:var(--r-2);font-size:13px;cursor:pointer;display:flex;align-items:center;gap:var(--s-2);color:var(--text-1)}.popover-item:hover{background:var(--bg-hover)}.popover-item.selected{background:var(--bg-active)}.popover-item.selected:hover{background:var(--bg-hover)}.popover-item .pi-key{margin-left:auto;font-family:var(--font-mono);font-size:11px;color:var(--text-3)}.popover-section{font-size:11px;color:var(--text-3);padding:6px var(--s-3) 2px;text-transform:uppercase;letter-spacing:.05em}.popover.popover-search{padding:0;display:flex;flex-direction:column;max-height:360px}.popover-search-bar{display:flex;align-items:center;gap:var(--s-2);padding:8px 10px;border-bottom:1px solid var(--border);color:var(--text-3);flex-shrink:0}.popover-search-bar input{border:none;outline:none;background:transparent;flex:1;font-size:13px;color:var(--text-1);min-width:0}.popover-search-bar input::placeholder{color:var(--text-3)}.popover-list{padding:6px;overflow-y:auto;flex:1;min-height:0}.popover-empty{padding:16px 12px;text-align:center;font-size:12px;color:var(--text-3)}.progress-shell{border:1px solid var(--border);border-radius:var(--r-4);padding:var(--s-5);background:var(--bg-elev)}.progress-stages{display:flex;align-items:center;gap:var(--s-3);margin-bottom:var(--s-4)}.stage{flex:1;display:flex;flex-direction:column;gap:6px}.stage-head{display:flex;align-items:center;justify-content:space-between;font-size:12px}.stage-head .name{color:var(--text-2);font-weight:500}.stage-head .pct{color:var(--text-3);font-family:var(--font-mono);font-size:11px}.stage-bar{height:4px;background:var(--bg-sunken);border-radius:2px;overflow:hidden;position:relative}.stage-bar .fill{position:absolute;inset:0;background:var(--text-1);width:0;transition:width .4s ease}.stage.complete .stage-head .name{color:var(--ok)}.stage.complete .stage-bar .fill{background:var(--ok)}.stage.running .stage-bar .fill{background:linear-gradient(90deg,var(--info),var(--info) 70%,var(--text-3));background-size:200% 100%;animation:shimmer 2s linear infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.pipeline-timeline{position:relative;margin-top:var(--s-4);padding:var(--s-3);border:1px solid var(--border);border-radius:var(--r-3);background:var(--bg)}.pipeline-timeline.timeline-empty{padding:var(--s-3) var(--s-4)}.timeline-svg{display:block;width:100%}.timeline-row-bg{fill:transparent}.pipeline-timeline svg .timeline-row-bg:nth-of-type(2n){fill:var(--bg-sunken);opacity:.4}.timeline-line{stroke:var(--info);stroke-width:3;stroke-linecap:butt;pointer-events:none}.timeline-queue-line{stroke:var(--text-4);stroke-width:1.5;stroke-linecap:round;stroke-dasharray:2 3;pointer-events:none}.timeline-queue-tail{stroke:var(--text-4);stroke-width:1.25;stroke-linecap:round;stroke-dasharray:2 3;pointer-events:none}.timeline-dot.scheduled{fill:var(--bg);stroke:var(--text-4);stroke-width:1.25;pointer-events:none}.timeline-hit{stroke:transparent;stroke-width:12;stroke-linecap:round}.timeline-dot{fill:var(--info);pointer-events:none}.timeline-dot.start{fill:var(--bg-elev);stroke:var(--text-3);stroke-width:1.5}.timeline-dot.end{fill:var(--info);stroke:none}.timeline-dot.hollow{fill:var(--bg-elev);stroke:var(--info);stroke-width:1.5}.timeline-label{fill:var(--text-2);font-family:var(--font-mono);font-size:11px;pointer-events:none;dominant-baseline:alphabetic}.timeline-group.g-ok .timeline-line{stroke:var(--info)}.timeline-group.g-ok .timeline-dot.end{fill:var(--info)}.timeline-group.g-crit .timeline-line{stroke:var(--crit)}.timeline-group.g-crit .timeline-dot.end{fill:var(--crit)}.timeline-group.g-crit .timeline-dot.end.hollow{fill:var(--bg-elev);stroke:var(--crit)}.timeline-group.g-crit .timeline-dot.start{stroke:var(--crit)}.timeline-group.g-muted .timeline-line{stroke:var(--text-4)}.timeline-group.g-muted .timeline-dot.end{fill:var(--text-4)}.timeline-group.g-muted .timeline-dot.end.hollow{fill:var(--bg-elev);stroke:var(--text-4)}.timeline-group.g-info .timeline-line{stroke:var(--info)}.timeline-group.g-info .timeline-dot.end{fill:var(--info)}.timeline-group.g-info .timeline-dot.end.hollow{fill:var(--bg-elev);stroke:var(--info)}.timeline-group:hover .timeline-label{fill:var(--text-1);font-weight:500}.timeline-group.pending .timeline-line{stroke-dasharray:5 4;animation:timeline-pending-dash .9s linear infinite}@keyframes timeline-pending-dash{to{stroke-dashoffset:-18}}.timeline-tick-line{stroke:var(--border);stroke-width:1;stroke-dasharray:2 3;pointer-events:none}.timeline-tick line{stroke:var(--text-3);stroke-width:1}.timeline-tick text{fill:var(--text-3);font-family:var(--font-mono);font-size:10px}.timeline-axis-svg{display:block;width:100%;margin-top:2px;border-top:1px solid var(--border)}.timeline-scroll{scrollbar-gutter:stable}.event-history{margin-top:var(--s-5);border:1px solid var(--border);border-radius:var(--r-3);background:var(--bg-elev);overflow:hidden}.event-history-empty{padding:var(--s-3) var(--s-4);background:var(--bg);border:1px solid var(--border);border-radius:var(--r-3);margin-top:var(--s-5)}.event-history.embedded,.event-history-empty.embedded{margin-top:0;border:none;border-radius:0;background:transparent}.event-history.embedded .event-list{max-height:calc(70vh - 130px)}.event-history.embedded .event-history-toolbar{background:transparent;padding-left:0;padding-right:0}.event-history-toolbar{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--border);background:var(--bg)}.event-toolbar-btn{height:24px;padding:0 10px;font-size:11px;font-family:var(--font-sans);background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-1);cursor:pointer;color:var(--text-1)}.event-toolbar-btn:hover:not(:disabled){background:var(--bg-hover)}.event-toolbar-btn:disabled{opacity:.5;cursor:not-allowed}.event-toolbar-btn.on{background:var(--text-1);color:var(--bg-elev);border-color:var(--text-1)}.event-list{max-height:560px;overflow-y:auto;font-size:12px;scrollbar-gutter:stable}.event-list-head{display:grid;grid-template-columns:60px 130px 220px 1fr;gap:var(--s-3);padding:6px var(--s-3);position:sticky;top:0;background:var(--bg);border-bottom:1px solid var(--border);font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;z-index:1}.event-row{display:grid;grid-template-columns:60px 130px 220px 1fr;gap:var(--s-3);padding:6px var(--s-3);border-bottom:1px solid var(--border);cursor:pointer;align-items:baseline}.event-row:hover{background:var(--bg-hover)}.event-row.open{background:var(--bg-sunken)}.event-row.err{background:var(--crit-soft)}.event-row.err:hover{background:var(--crit-soft);filter:brightness(.97)}.event-row.pending .event-col-summary:after{content:"· pending";color:var(--text-3);margin-left:6px;font-style:italic}.event-row:focus-visible{outline:2px solid var(--border-focus);outline-offset:-2px}.event-caret{display:inline-block;width:12px;color:var(--text-3);margin-right:2px}.event-col-id{color:var(--text-2)}.event-col-time{font-size:11px;color:var(--text-2)}.event-col-type{display:flex;align-items:center;gap:var(--s-2);min-width:0}.event-type-name{font-size:11.5px;color:var(--text-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-col-summary{color:var(--text-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-row.open .event-col-summary{white-space:normal}.event-cat{display:inline-block;font-family:var(--font-mono);font-size:10px;padding:1px 6px;border-radius:var(--r-1);background:var(--neutral-soft);border:1px solid var(--neutral-border);color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.event-cat-workflow{color:var(--info);background:var(--info-soft);border-color:var(--info-border)}.event-cat-workflow_task{color:var(--text-2);background:var(--bg-sunken);border-color:var(--border)}.event-cat-activity{color:var(--tag-violet);background:var(--tag-violet-soft);border-color:var(--tag-violet-border)}.event-cat-signal{color:var(--tag-rose);background:var(--tag-rose-soft);border-color:var(--tag-rose-border)}.event-cat-timer{color:var(--warn);background:var(--warn-soft);border-color:var(--warn-border)}.event-cat-marker{color:var(--text-3);background:var(--bg-sunken);border-color:var(--border)}.event-cat-child_workflow{color:var(--info);background:var(--info-soft);border-color:var(--info-border)}.event-detail{background:var(--bg);border-bottom:1px solid var(--border);padding:var(--s-3) var(--s-3) var(--s-3) calc(var(--s-3) + 60px + var(--s-3))}.event-detail-columns{display:grid;grid-template-columns:minmax(260px,1fr) minmax(360px,2fr);gap:var(--s-5)}.event-detail-col{min-width:0}.event-detail-section-title{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);margin-bottom:var(--s-2)}.event-attr-list{display:grid;grid-template-columns:max-content 1fr;gap:4px var(--s-3);margin:0;font-size:11.5px}.event-attr-list dt{color:var(--text-3)}.event-attr-list dd{margin:0;color:var(--text-1);word-break:break-word}.event-payloads{display:flex;flex-direction:column;gap:var(--s-3)}.event-payload .event-payload-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.event-payload .code-block{max-height:280px;overflow:auto}.timeline-tooltip{position:absolute;z-index:5;background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:var(--r-2);padding:var(--s-2) var(--s-3);font-size:12px;line-height:1.4;box-shadow:var(--shadow-2);pointer-events:none;min-width:180px;max-width:320px}.timeline-tooltip .muted{color:var(--text-3)}.skel{display:inline-block;background:linear-gradient(90deg,var(--bg-sunken),var(--bg-hover),var(--bg-sunken));background-size:200% 100%;animation:shimmer 1.4s linear infinite;border-radius:4px;height:12px;vertical-align:middle}.skel.tall{height:16px}.skel.tiny{height:10px}tr.skel-row{cursor:default}tr.skel-row:hover{background:transparent}.live-log{font-family:var(--font-mono);font-size:11.5px;background:#0a0a0a;color:#d4d4d2;padding:var(--s-3);border-radius:var(--r-3);max-height:240px;overflow-y:auto;margin-top:var(--s-4);line-height:1.6}.live-log .ts{color:#737373;margin-right:var(--s-2)}.live-log .ok{color:#4ade80}.live-log .warn{color:#facc15}.live-log .err{color:#f87171}.timeline{position:relative;padding-left:16px}.timeline:before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:1px;background:var(--border)}.timeline-group{margin-bottom:var(--s-6)}.timeline-group-label{font-size:11px;color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--s-3);padding-left:0;display:flex;align-items:center;gap:var(--s-2);margin-left:-16px}.timeline-group-label:before{content:"";display:block;width:11px;height:11px;border-radius:50%;background:var(--bg-elev);border:2px solid var(--text-1)}.timeline-item{position:relative;padding:var(--s-3) var(--s-4);margin-bottom:var(--s-2);border:1px solid var(--border);border-radius:var(--r-3);background:var(--bg-elev);cursor:pointer;transition:border-color .1s,background .1s}.timeline-item:hover{border-color:var(--border-strong);background:var(--bg-elev)}.timeline-item:before{content:"";position:absolute;left:-16px;top:22px;width:11px;height:11px;border-radius:50%;background:var(--bg-elev);border:2px solid var(--text-3)}.timeline-item.critical:before{border-color:var(--sev-critical)}.timeline-item.high:before{border-color:var(--sev-high)}.timeline-item.medium:before{border-color:var(--sev-medium)}.timeline-item.low:before{border-color:var(--sev-low)}.timeline-item .ti-head{display:flex;align-items:center;gap:var(--s-2);margin-bottom:4px}.timeline-item .ti-title{font-weight:500;font-size:13.5px;color:var(--text-1)}.timeline-item .ti-time{margin-left:auto;font-size:11.5px;color:var(--text-3);font-family:var(--font-mono)}.timeline-item .ti-body{font-size:12.5px;color:var(--text-2);margin-bottom:6px}.timeline-item .ti-meta{display:flex;gap:var(--s-2);flex-wrap:wrap;font-size:11.5px;color:var(--text-3)}.timeline-item .ti-meta .target{font-family:var(--font-mono);color:var(--text-2)}.agent-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--s-4);padding-top:var(--s-4)}.agent-card{border:1px solid var(--border);border-radius:var(--r-4);padding:var(--s-5);background:var(--bg-elev);display:flex;flex-direction:column;gap:var(--s-3);cursor:pointer;transition:border-color .1s,transform .1s}.agent-card:hover{border-color:var(--border-strong)}.agent-card .ac-head{display:flex;align-items:flex-start;gap:var(--s-3)}.agent-card .ac-icon{width:36px;height:36px;border-radius:var(--r-3);background:var(--bg-sunken);display:grid;place-items:center;color:var(--text-1);font-family:var(--font-mono);font-weight:600;font-size:14px;flex-shrink:0}.agent-card .ac-title{font-weight:600;font-size:14px}.agent-card .ac-sub{font-size:12px;color:var(--text-3);font-family:var(--font-mono)}.agent-card .ac-desc{font-size:12.5px;color:var(--text-2);line-height:1.5}.agent-card .ac-meta{display:flex;gap:var(--s-3);align-items:center;padding-top:var(--s-3);border-top:1px solid var(--border);font-size:11.5px;color:var(--text-3);font-family:var(--font-mono)}.agent-card .ac-meta .m-item{display:flex;gap:4px;align-items:center}.scope-list{display:flex;flex-direction:column;gap:var(--s-2);padding-top:var(--s-4)}.scope-card{border:1px solid var(--border);border-radius:var(--r-4);padding:var(--s-4) var(--s-5);background:var(--bg-elev);cursor:pointer;display:flex;align-items:center;gap:var(--s-4);transition:border-color .1s}.scope-card:hover{border-color:var(--border-strong)}.scope-card .sc-mark{width:36px;height:36px;border-radius:var(--r-3);background:var(--bg-sunken);display:grid;place-items:center;color:var(--text-2);font-family:var(--font-mono);font-size:14px;flex-shrink:0}.scope-card .sc-main{flex:1;min-width:0}.scope-card .sc-name{font-weight:500;font-size:14px}.scope-card .sc-desc{font-size:12px;color:var(--text-3);margin-top:2px}.scope-card .sc-stats{display:flex;gap:var(--s-4);flex-shrink:0;align-items:flex-start}.scope-card .sc-stat{text-align:right;display:flex;flex-direction:column}.scope-card .sc-stat .n{font-size:14px;font-weight:600;font-family:var(--font-mono);display:flex;align-items:center;justify-content:flex-end;height:20px}.scope-card .sc-stat .n.na{color:var(--text-3);font-weight:500}.scope-card .sc-stat .l{font-size:11px;color:var(--text-3)}.stats-strip{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--border);border-radius:var(--r-4);background:var(--bg-elev);overflow:hidden}.stats-strip .stat{padding:var(--s-4);border-right:1px solid var(--border)}.stats-strip .stat:last-child{border-right:none}.stats-strip .stat .label{font-size:11px;color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.stats-strip .stat .value{font-size:24px;font-weight:600;font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.stats-strip .stat .sub{font-size:11.5px;color:var(--text-3);margin-top:2px}.live-dot{width:8px;height:8px;border-radius:50%;background:var(--ok);position:relative}.live-dot:after{content:"";position:absolute;inset:-3px;border-radius:50%;background:var(--ok);opacity:.4;animation:ripple 1.6s ease-out infinite}@keyframes ripple{0%{transform:scale(.6);opacity:.5}to{transform:scale(1.6);opacity:0}}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-4)}.detail-grid .full{grid-column:1 / -1}.code-block{font-family:var(--font-mono);font-size:11.5px;background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--r-2);padding:var(--s-3);white-space:pre-wrap;word-break:break-all;color:var(--text-1);line-height:1.55;max-height:200px;overflow-y:auto}.code-block .json-key{color:var(--info)}.code-block .json-string{color:var(--ok)}.code-block .json-number{color:var(--warn)}.code-block .json-bool{color:var(--info)}.code-block .json-null{color:var(--text-3)}.settings-modal{background:var(--bg-elev);border-radius:var(--r-5);box-shadow:var(--shadow-modal);width:min(1040px,calc(100vw - 48px));height:min(720px,calc(100vh - 48px));display:grid;grid-template-columns:220px 1fr;overflow:hidden;animation:modal-in .18s cubic-bezier(.2,.8,.2,1)}.settings-rail{background:var(--bg);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:var(--s-4) var(--s-3);overflow-y:auto}.settings-rail-head{display:flex;align-items:center;padding:0 var(--s-2) var(--s-4)}.settings-rail-head h2{margin:0;font-size:14px;font-weight:600;letter-spacing:-.01em;flex:1}.settings-nav{display:flex;flex-direction:column;gap:var(--s-4)}.settings-nav-group{display:flex;flex-direction:column;gap:2px}.settings-nav-label{font-size:11px;font-weight:500;color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;padding:4px var(--s-2) 6px}.settings-nav-item{display:flex;align-items:center;gap:var(--s-2);padding:7px var(--s-2);background:transparent;border:none;border-radius:var(--r-2);font-size:13px;color:var(--text-2);cursor:pointer;text-align:left;font-family:inherit}.settings-nav-item:hover{background:var(--bg-hover);color:var(--text-1)}.settings-nav-item.active{background:var(--bg-active);color:var(--text-1);font-weight:500}.settings-nav-item .ico{color:var(--text-3);display:flex}.settings-nav-item.active .ico{color:var(--text-1)}.settings-content{overflow-y:auto;padding:var(--s-6) var(--s-8)}.settings-pane{display:flex;flex-direction:column}.settings-pane-head{display:flex;align-items:flex-start;margin-bottom:var(--s-5);gap:var(--s-4)}.settings-pane-head h3{margin:0;font-size:18px;font-weight:600;letter-spacing:-.015em}.settings-pane-head p{margin:4px 0 0;font-size:13px;color:var(--text-3)}.settings-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-4);padding:var(--s-5);margin-bottom:var(--s-5)}.settings-card-head{display:flex;align-items:flex-start;margin-bottom:var(--s-4);gap:var(--s-3)}.settings-card-title{font-weight:600;font-size:14px}.settings-card-sub{font-size:12px;color:var(--text-3);margin-top:2px}.settings-group-title{font-size:11px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;margin:var(--s-5) 0 var(--s-2)}.settings-group-title:first-child{margin-top:0}.pwd-strength{display:flex;align-items:center;gap:var(--s-2);margin-top:6px}.pwd-meter{display:flex;gap:3px;flex:1;max-width:200px}.pwd-tick{flex:1;height:3px;background:var(--bg-sunken);border-radius:2px}.pwd-tick.s1{background:var(--crit)}.pwd-tick.s2{background:var(--warn)}.pwd-tick.s3{background:var(--info)}.pwd-tick.s4{background:var(--ok)}.pwd-label{font-size:11px;color:var(--text-3);font-weight:500}.pwd-label.s1{color:var(--crit)}.pwd-label.s2{color:var(--warn)}.pwd-label.s3{color:var(--info)}.pwd-label.s4{color:var(--ok)}.checkbox-row{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-2);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-row input{accent-color:var(--text-1)}.session-list{display:flex;flex-direction:column}.session-row{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) 0;border-bottom:1px solid var(--border)}.session-row:last-child{border-bottom:none}.session-ico{width:32px;height:32px;border-radius:var(--r-2);background:var(--bg-sunken);display:grid;place-items:center;color:var(--text-2);flex-shrink:0}.session-meta{flex:1;min-width:0}.user-avatar-sm{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#d4d4d2,#a3a3a3);display:grid;place-items:center;color:#fff;font-size:11px;font-weight:600;flex-shrink:0}.role-pill{display:inline-flex;align-items:center;height:22px;padding:0 10px;border-radius:var(--r-full);font-size:11.5px;font-weight:500}.lab-banner{display:flex;align-items:center;gap:var(--s-2);padding:10px 14px;background:var(--warn-soft);border:1px solid var(--warn-border);border-radius:var(--r-3);color:var(--warn);font-size:12px;margin-bottom:var(--s-5)}.lab-list{padding:0}.lab-row{display:flex;align-items:center;gap:var(--s-4);padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--border)}.lab-row:last-child{border-bottom:none}.level-pill{display:inline-flex;align-items:center;height:18px;padding:0 7px;border-radius:var(--r-1);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.level-stable{background:var(--ok-soft);color:var(--ok)}.level-beta{background:var(--info-soft);color:var(--info)}.level-experimental{background:var(--warn-soft);color:var(--warn)}.toggle{width:32px;height:18px;background:var(--border-strong);border-radius:999px;border:none;position:relative;cursor:pointer;padding:0;flex-shrink:0;transition:background .15s ease}.toggle.on{background:var(--text-1)}.toggle-thumb{position:absolute;top:2px;left:2px;width:14px;height:14px;background:#fff;border-radius:50%;transition:transform .18s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px #0003}.toggle.on .toggle-thumb{transform:translate(14px)}.row{display:flex;align-items:center;gap:var(--s-2)}.spacer{flex:1}.mono{font-family:var(--font-mono)}.muted{color:var(--text-3)}.nowrap{white-space:nowrap}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.login{display:grid;grid-template-columns:1.05fr 1fr;height:100vh;width:100vw;background:var(--bg)}@media(max-width:880px){.login{grid-template-columns:1fr}.login-left{display:none}}.login-left{position:relative;background-color:#f6f6f3;color:var(--text-1);overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:28px 32px;border-right:1px solid var(--border)}.login-left:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,transparent 30%,rgba(246,246,243,.85) 100%);pointer-events:none;z-index:1}.ll-brand{position:relative;display:flex;align-items:center;gap:10px;font-weight:600;font-size:15px;letter-spacing:-.01em;z-index:3}.ll-graphic{position:absolute;inset:0;z-index:0;pointer-events:none}.ll-graphic svg{display:block;width:100%;height:100%}.ll-foot{position:relative;display:flex;align-items:center;gap:12px;font-family:var(--font-mono);font-size:11px;color:var(--text-3);z-index:3}.ll-foot .spacer{flex:1}.login-right{display:flex;align-items:center;justify-content:center;padding:48px;position:relative}.login-form{width:100%;max-width:360px;display:flex;flex-direction:column;gap:0}.login-form .lf-head{margin-bottom:32px}.login-form h1{font-size:28px;font-weight:500;letter-spacing:-.025em;margin:0 0 6px;line-height:1.15}.login-form .lf-sub{font-size:13.5px;color:var(--text-2);line-height:1.5}.login-form .field{margin-bottom:16px}.login-form .field label{display:block;font-size:12px;font-weight:500;color:var(--text-2);margin-bottom:6px}.login-form .field .input-wrap{position:relative}.login-form .field input{width:100%;height:38px;padding:0 12px;font-size:13.5px;background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:var(--r-2);color:var(--text-1);outline:none;transition:border-color .1s ease,box-shadow .1s ease;font-family:inherit}.login-form .field input:focus{border-color:var(--text-1);box-shadow:0 0 0 3px #0a0a0a0f}.login-form .field input::placeholder{color:var(--text-4)}.login-form .field.has-error input{border-color:var(--accent);background:var(--accent-soft)}.login-form .field.has-error input:focus{box-shadow:0 0 0 3px #dc26261f}.login-form .field-row-meta{display:flex;align-items:center;margin-top:6px;font-size:12px}.login-form .field-row-meta .err{color:var(--accent);display:flex;align-items:center;gap:5px}.login-form .check{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-2);cursor:pointer;-webkit-user-select:none;user-select:none;margin:4px 0 24px;position:relative}.login-form .check input{position:absolute;opacity:0;pointer-events:none}.login-form .check .box{width:16px;height:16px;border:1px solid var(--border-strong);border-radius:3px;display:grid;place-items:center;background:var(--bg-elev);transition:all .1s ease}.login-form .check input:checked+.box{background:var(--text-1);border-color:var(--text-1)}.login-form .check input:checked+.box svg{display:block}.login-form .check .box svg{display:none;color:#fff}.login-form .submit{width:100%;height:40px;border:1px solid var(--text-1);background:var(--text-1);color:#fff;font-family:inherit;font-size:13.5px;font-weight:500;border-radius:var(--r-2);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .15s ease,opacity .15s ease}.login-form .submit:hover:not(:disabled){background:#1a1a1a}.login-form .submit:disabled{opacity:.75;cursor:progress}.login-form .submit .spin{width:12px;height:12px;border:1.5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.icon-spin{animation:spin .8s linear infinite;transform-origin:center}
