:root{--bg: #0a1626;--bg-deep: #061021;--bg-elev: rgba(12, 24, 44, .55);--bg-card: rgba(16, 32, 58, .42);--surface: rgba(20, 38, 68, .45);--surface-2: rgba(28, 50, 84, .55);--surface-3: rgba(40, 68, 102, .55);--surface-solid: #0f1f37;--surface-solid-2: #142747;--border: rgba(125, 200, 255, .1);--border-hover: rgba(125, 200, 255, .2);--border-strong: rgba(125, 200, 255, .2);--border-bright: rgba(125, 200, 255, .34);--text: #eaf3ff;--text-1: #cee0f4;--text-dim: rgba(220, 234, 250, .66);--text-mute: rgba(200, 220, 240, .46);--brand: #5dd9ff;--brand-hover: #7be3ff;--brand-contrast: #04111f;--brand-glow: rgba(93, 217, 255, .45);--accent: #5dd9ff;--accent-2: #38c2ff;--accent-3: #7be3ff;--accent-cyan: #5dd9ff;--accent-amber: #ffcc66;--ok: #5ee6b4;--warn: #ffcc66;--err: #ff8a8a;--info: #7fcbef;--danger: #ff8a8a;--success: #5ee6b4;--glow: 0 0 0 1px rgba(125, 200, 255, .1), 0 8px 32px -8px rgba(0, 20, 50, .7);--glow-strong: 0 0 0 1px rgba(125, 200, 255, .3), 0 0 60px -10px rgba(93, 217, 255, .4);--glow-soft: 0 0 24px -6px rgba(93, 217, 255, .25);--font-base: "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", ui-monospace, Menlo, Consolas, monospace;--font-display: "Inter", var(--font-base);--radius-sm: 5px;--radius: 8px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px;--row-h: 38px;--pad: 16px;--pad-lg: 22px;--gap: 16px;--shadow-card: inset 0 1px 0 rgba(255, 255, 255, .04), 0 1px 2px rgba(0, 0, 0, .4), 0 8px 32px -12px rgba(0, 15, 40, .5)}.admin-banner{background:linear-gradient(90deg,#5dd9ff,#38c2ff,#2a8cd6);color:#04111f;text-align:center;font-size:11px;font-weight:700;letter-spacing:3px;padding:5px 0;text-transform:uppercase;box-shadow:0 4px 16px -4px #5dd9ff73}::selection{background:#5dd9ff47;color:var(--text)}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#7dc8ff14;border-radius:10px;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:#7dc8ff38;border:2px solid transparent;background-clip:padding-box}*{box-sizing:border-box}html,body,#app{height:100%;margin:0;padding:0}body{font-family:var(--font-base);background:var(--bg);color:var(--text);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--accent-cyan);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer}input,textarea{font-family:inherit;color:inherit;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;outline:none;transition:border-color .15s}input:focus,textarea:focus{border-color:var(--brand)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border-radius:var(--radius-sm);border:1px solid transparent;font-weight:500;font-size:14px;transition:all .15s;background:transparent;color:var(--text)}.btn-primary{background:var(--brand);color:var(--brand-contrast);font-weight:600}.btn-primary:hover{background:var(--brand-hover);box-shadow:0 0 12px var(--brand-glow)}.btn-primary:disabled{background:var(--text-mute);color:var(--brand-contrast);cursor:not-allowed;box-shadow:none}.btn-ghost{border-color:var(--border);color:var(--text-dim)}.btn-ghost:hover{border-color:var(--border-hover);color:var(--text)}.page{max-width:1200px;margin:0 auto}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.page-head h1{font-size:24px;margin:0;color:var(--text)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px 24px;margin-bottom:16px}.card h2{font-size:15px;margin:0 0 14px;color:var(--text)}.btn-sm{padding:6px 12px;font-size:12px}.btn-xs{padding:4px 10px;font-size:11px}.btn-danger{background:#ff55771f;color:var(--danger);border:1px solid rgba(255,85,119,.4)}.btn-danger:hover{background:#f573}.err-block{background:#ff557714;border:1px solid rgba(255,85,119,.4);color:var(--danger);padding:10px 12px;border-radius:var(--radius-sm);font-size:13px;margin-bottom:16px}.t{width:100%;border-collapse:collapse;font-size:13px}.t th{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);font-weight:500;color:var(--text-mute);font-size:12px;text-transform:uppercase;letter-spacing:.6px}.t td{padding:12px;border-bottom:1px solid var(--border);vertical-align:top}.t tr.row-disabled td{opacity:.5}.t .ts{font-family:var(--font-mono);font-size:12px;color:var(--text-mute)}.t .actions{display:flex;gap:6px}.t .empty{text-align:center;padding:32px;color:var(--text-mute)}.badge{padding:2px 8px;border-radius:99px;font-size:11px;font-weight:500}.badge.ok{background:#34d3991f;color:var(--success)}.badge.bad{background:#ff55771f;color:var(--danger)}.badge.admin{background:#5e9eff29;color:var(--brand)}.app-shell{height:100%;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:14px;padding:12px 20px;border-bottom:1px solid var(--border);background:var(--bg-elev)}.topbar-brand{display:flex;align-items:center;gap:10px}.topbar-brand-text{font-family:var(--font-mono);font-weight:600;letter-spacing:1.5px;color:var(--text)}.topbar-nav-links{display:flex;gap:4px;margin-left:12px}.topbar-nav-links a{padding:6px 12px;font-size:13px;color:var(--text-dim);border-radius:var(--radius-sm);text-decoration:none}.topbar-nav-links a:hover{background:rgb(from var(--brand) r g b / .08);color:var(--text)}.topbar-nav-links a.active{background:rgb(from var(--brand) r g b / .16);color:var(--brand)}.topbar-spacer{flex:1}.user-link{font-size:13px;color:var(--text-dim)}.user-pill{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-dim);padding:6px 10px;border:1px solid var(--border);border-radius:20px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-pill .dot{width:6px;height:6px;border-radius:50%;background:var(--success);box-shadow:0 0 6px var(--success)}.app-main{flex:1;min-height:0;overflow-y:auto;padding:24px;display:flex;flex-direction:column}.app-main-flush{padding:0;overflow:hidden}.login-shell{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:0 24px 48px;background:radial-gradient(ellipse at top,rgb(from var(--brand) r g b / .12),transparent 60%),var(--bg)}.login-shell .admin-banner{width:100%;margin-bottom:48px}.login-card{width:100%;max-width:420px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:32px;box-shadow:var(--shadow-card);margin-top:12vh}.login-brand-row{display:flex;align-items:center;gap:12px;margin-bottom:16px}.login-brand-en{font-family:var(--font-mono);font-weight:700;letter-spacing:2px;color:var(--brand)}.login-brand-cn{font-size:12px;color:var(--text-mute);letter-spacing:4px}.login-hint-top{font-size:12px;color:var(--text-mute);margin-bottom:20px;padding:10px 12px;background:var(--bg-elev);border-left:2px solid var(--brand);border-radius:4px}.login-form label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--text-dim)}.login-submit{margin-top:4px}.login-err{background:#ff55771a;border:1px solid rgba(255,85,119,.4);color:var(--danger);padding:8px 10px;border-radius:var(--radius-sm);font-size:13px}.dash{max-width:1100px;margin:0 auto}.dash-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.dash-head h1{font-size:24px;margin:0;color:var(--text)}.dep-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.dep{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px}.dep-name{font-family:var(--font-mono);font-size:12px;color:var(--text-mute);letter-spacing:1.5px;margin-bottom:6px}.dep-status{font-size:18px;font-weight:600;text-transform:uppercase}.dep-status.ok{color:var(--success)}.dep-status.muted{color:var(--text-mute)}.dep-status.bad{color:var(--danger)}.dep-error{margin-top:6px;font-size:11px;color:var(--danger);font-family:var(--font-mono);word-break:break-all}.dash-hint{margin:0 0 14px;font-size:12px;color:var(--text-mute)}.dash-hint code{background:var(--bg-elev);padding:1px 6px;border-radius:3px;font-family:var(--font-mono)}.dash-todo{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.dash-todo li{padding:8px 12px;background:var(--bg-elev);border-radius:var(--radius-sm);font-size:13px;color:var(--text-dim)}.dash-todo li:before{content:"○ ";color:var(--brand)}.crud-row{display:flex;gap:8px;align-items:center}.crud-row input{flex:1;padding:8px 12px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text)}.crud-row input:focus{outline:none;border-color:var(--brand)}.tenant-name{font-weight:500;color:var(--text);cursor:text}.tenant-tid{margin-left:10px;font-family:var(--font-mono);font-size:11px;color:var(--text-mute)}.inline-edit{padding:4px 8px;background:var(--bg-elev);border:1px solid var(--brand);border-radius:3px;color:var(--text);font-size:13px;width:240px}.inline-edit:focus{outline:none}.crud-link{color:var(--brand);text-decoration:none;cursor:pointer}.crud-link:hover{text-decoration:underline}.filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.filters select,.filters input{padding:6px 12px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:13px}.filters input{flex:1;min-width:220px}.filters select:focus,.filters input:focus{outline:none;border-color:var(--brand)}.chk{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-dim);cursor:pointer}.user-email{font-weight:500;color:var(--text)}.user-sub{font-size:11px;color:var(--text-mute);margin-top:2px}.user-sub.mono{font-family:var(--font-mono)}.user-tn{color:var(--text)}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:24px 28px;width:440px;max-width:90vw}.modal h3{font-size:16px;margin:0 0 16px;color:var(--text)}.modal label{display:block;font-size:12px;color:var(--text-mute);margin-bottom:14px}.modal label.chk{display:flex;align-items:center;gap:8px;color:var(--text-dim);font-size:13px}.modal input,.modal select{display:block;width:100%;margin-top:4px;padding:8px 12px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:13px}.modal input:focus,.modal select:focus{outline:none;border-color:var(--brand)}.modal-seg{border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px;margin:0 0 14px}.modal-seg legend{font-size:11px;color:var(--text-mute);padding:0 6px}.modal-seg-opt{display:inline-flex;align-items:center;gap:6px;margin:0 14px 0 0;font-size:13px;color:var(--text-dim)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.modal-hint{font-size:12px;color:var(--text-mute);margin:4px 0 14px;line-height:1.6}.kb-shell{max-width:1100px;margin:0 auto;width:100%}.kb-head{display:flex;align-items:center;gap:16px;margin-bottom:16px}.kb-head h1{font-size:22px;margin:0;color:var(--text)}.kb-tabs{display:flex;gap:4px;margin-left:12px}.kb-tabs button{background:transparent;border:1px solid var(--border);color:var(--text-dim);padding:6px 12px;font-size:13px;border-radius:var(--radius-sm);font-family:inherit}.kb-tabs button.active{background:rgb(from var(--brand) r g b / .16);color:var(--brand);border-color:rgb(from var(--brand) r g b / .4)}.kb-head .kb-refresh{margin-left:auto}.kb-upload-bar{display:flex;align-items:center;margin-bottom:8px}.kb-global-toggle{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none}.kb-global-toggle.checked{color:var(--accent-amber)}.kb-dropzone{border:2px dashed var(--border);border-radius:var(--radius);padding:32px 24px;text-align:center;cursor:pointer;background:var(--bg-elev);transition:all .15s;margin-bottom:16px}.kb-dropzone:hover{border-color:var(--brand);background:rgb(from var(--brand) r g b / .05)}.kb-dropzone.global{border-color:var(--accent-amber);background:#ffb84d0d}.kb-dropzone.uploading{cursor:progress;border-style:solid;border-color:var(--brand)}.kb-dz-icon{font-size:32px;margin-bottom:8px}.kb-dz-text{color:var(--text);font-size:14px}.kb-global-hint{display:block;margin-top:4px;color:var(--accent-amber);font-size:12px}.kb-dz-sub{margin-top:6px;color:var(--text-mute);font-size:12px}.kb-dz-progress{color:var(--text);font-size:14px}.kb-bar{margin:8px auto 0;width:60%;height:4px;background:var(--border);border-radius:2px;overflow:hidden}.kb-bar-fill{height:100%;background:var(--brand);transition:width .2s}.kb-doc-list{display:flex;flex-direction:column;gap:8px}.kb-empty{text-align:center;padding:40px 0;color:var(--text-mute);font-size:13px}.kb-doc{display:flex;align-items:center;gap:16px;padding:12px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm)}.kb-doc-main{flex:1;min-width:0}.kb-doc-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--text);margin-bottom:4px}.kb-doc-title>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kb-badge-global{font-size:10px;padding:1px 6px;border-radius:3px;font-family:var(--font-mono);letter-spacing:1px;background:#ffb84d26;color:var(--accent-amber)}.kb-doc-meta{display:flex;gap:12px;font-size:11px;color:var(--text-mute);font-family:var(--font-mono);align-items:center;flex-wrap:wrap}.kb-filename{color:var(--text-dim)}.kb-status{padding:1px 6px;border-radius:3px}.kb-status.ok{background:#4dffaa1f;color:var(--success)}.kb-status.bad{background:#ff55771f;color:var(--danger)}.kb-status.running{background:#ffb84d26;color:var(--accent-amber)}.kb-err-inline{color:var(--danger)}.kb-doc-actions{display:flex;gap:6px}.kb-model{color:var(--text-mute)}.eval-shell{max-width:1100px;margin:0 auto;width:100%}.eval-head{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}.eval-head h1{font-size:22px;margin:0}.eval-hint{color:var(--text-mute);font-size:13px}.eval-input-head{display:flex;align-items:center;gap:12px;margin-bottom:8px}.eval-label-strong{font-weight:600;color:var(--text)}.eval-spacer{flex:1}.eval-topk{font-size:12px;color:var(--text-dim);display:inline-flex;align-items:center}.eval-input-card textarea{width:100%;font-family:var(--font-mono);font-size:13px;background:var(--bg-elev);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px;resize:vertical}.eval-syntax-hint{margin-top:6px;font-size:11px;color:var(--text-mute);line-height:1.6}.eval-syntax-hint code{background:var(--bg-elev);padding:1px 5px;border-radius:3px;font-family:var(--font-mono)}.eval-summary{display:flex;gap:24px;font-size:13px;padding:12px 16px}.eval-summary .ok{color:var(--success)}.eval-summary .bad{color:var(--danger)}.eval-summary .warn{color:var(--accent-amber)}.eval-results{display:flex;flex-direction:column;gap:10px}.eval-row{background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px}.eval-row.status-ok{border-left-color:var(--success)}.eval-row.status-bad{border-left-color:var(--danger)}.eval-row.status-warn{border-left-color:var(--accent-amber)}.eval-row-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.eval-row-num{font-family:var(--font-mono);color:var(--text-mute);font-size:11px}.eval-dot{width:8px;height:8px;border-radius:50%}.eval-dot.status-ok{background:var(--success)}.eval-dot.status-bad{background:var(--danger)}.eval-dot.status-warn{background:var(--accent-amber)}.eval-q{flex:1;font-size:14px;color:var(--text);font-weight:500}.eval-latency{font-family:var(--font-mono);font-size:11px;color:var(--text-mute)}.eval-meta{display:flex;flex-wrap:wrap;gap:14px;font-size:11px;color:var(--text-dim);font-family:var(--font-mono);margin-bottom:6px}.eval-meta b{color:var(--text)}.eval-warn-text{color:var(--accent-amber)}.eval-note{font-style:italic}.eval-keywords{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.eval-kw{font-size:11px;padding:2px 8px;border-radius:3px;font-family:var(--font-mono)}.eval-kw.hit{background:#4dffaa1f;color:var(--success)}.eval-kw.miss{background:#ff55771f;color:var(--danger)}.eval-loading{color:var(--text-mute);font-size:12px;padding:4px 0}.eval-err{color:var(--danger);font-size:12px}.eval-empty{font-size:12px;color:var(--text-mute);font-style:italic}.eval-hits{display:flex;flex-direction:column;gap:6px}.eval-hit{background:var(--bg-elev);border:1px solid var(--border);border-radius:4px;padding:8px 10px}.eval-hit-head{display:flex;align-items:center;gap:8px;margin-bottom:4px;font-size:11px;font-family:var(--font-mono)}.eval-rank{color:var(--text-mute)}.eval-score{color:var(--accent-cyan);font-weight:600}.eval-doc-title{color:var(--text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eval-chunk-idx{color:var(--text-mute)}.eval-badge{font-size:9.5px;padding:1px 5px;border-radius:3px;letter-spacing:.5px}.eval-badge.global{background:#ffb84d26;color:var(--accent-amber)}.eval-badge.source{background:rgb(from var(--brand) r g b / .15);color:var(--brand)}.eval-hit-content{font-size:12px;color:var(--text-dim);line-height:1.6;white-space:pre-wrap;word-break:break-word;max-height:120px;overflow-y:auto}.chat-shell{display:flex;height:100%;min-height:0;background:var(--bg)}.chat-main{flex:1;display:flex;flex-direction:column;min-width:0}.chat-header{border-bottom:1px solid var(--border);padding:12px 20px 8px}.chat-title-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.chat-title{font-size:15px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-meta{font-family:var(--font-mono);font-size:12px;color:var(--text-mute)}.rag-bar{display:flex;align-items:center;gap:8px;font-size:12px;flex-wrap:wrap}.rag-label{color:var(--text-mute);font-family:var(--font-mono)}.rag-chk{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border:1px solid var(--border);border-radius:14px;cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-mute);font-size:11.5px}.rag-chk.on{background:rgb(from var(--brand) r g b / .14);border-color:rgb(from var(--brand) r g b / .4);color:var(--text)}.rag-chk input{margin:0}.rag-spacer{flex:1}.chat-scroller{flex:1;overflow-y:auto;padding:12px 28px;display:flex;flex-direction:column}.chat-welcome{margin:auto;text-align:center;color:var(--text-dim);max-width:560px}.chat-welcome h2{font-size:22px;color:var(--text);margin-bottom:8px;font-weight:500}.chat-welcome p{margin-bottom:12px;font-size:13px}.chat-welcome ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}.chat-welcome li{background:var(--bg-card);border:1px solid var(--border);padding:10px 14px;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;transition:all .15s}.chat-welcome li:hover{border-color:var(--brand);background:rgb(from var(--brand) r g b / .06)}.chat-welcome .hint{margin-top:16px;font-size:11px;color:var(--text-mute)}.chat-err{margin-top:8px;padding:8px 12px;border-radius:var(--radius-sm);background:#ff557714;border:1px solid rgba(255,85,119,.4);color:var(--danger);font-size:13px}.chat-input-bar{border-top:1px solid var(--border);padding:12px 20px 16px;background:var(--bg-elev)}.chat-input-bar textarea{width:100%;resize:none;min-height:60px;background:var(--bg-card);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px;font-family:inherit}.chat-input-bar textarea:focus{border-color:var(--brand);outline:none}.chat-input-actions{margin-top:8px;display:flex;justify-content:flex-end;gap:8px}.session-sidebar{width:240px;flex-shrink:0;border-right:1px solid var(--border);background:var(--bg-elev);display:flex;flex-direction:column}.session-new-btn{margin:12px;padding:10px 12px;background:var(--brand);color:var(--brand-contrast);border:none;border-radius:var(--radius-sm);font-weight:600;font-size:14px;cursor:pointer}.session-new-btn:hover{background:var(--brand-hover);box-shadow:0 0 12px var(--brand-glow)}.session-list{flex:1;overflow-y:auto;padding:0 8px 12px}.session-item{padding:10px 12px;border-radius:var(--radius-sm);margin-bottom:4px;cursor:pointer;transition:background .12s}.session-item:hover{background:rgb(from var(--brand) r g b / .08)}.session-item.active{background:rgb(from var(--brand) r g b / .16)}.session-item-row{display:flex;align-items:center;gap:6px}.session-item .title{flex:1;font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-item .meta{font-size:11px;color:var(--text-mute);margin-top:2px;font-family:var(--font-mono)}.session-rename-input{flex:1;background:var(--bg);border:1px solid var(--brand);border-radius:4px;color:var(--text);font-size:13px;padding:2px 6px;outline:none;font-family:inherit}.session-actions{display:flex;gap:2px;opacity:0;transition:opacity .12s}.session-item:hover .session-actions,.session-item.active .session-actions{opacity:1}.session-icon-btn{background:transparent;border:none;color:var(--text-mute);font-size:12px;width:22px;height:22px;border-radius:4px;cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center}.session-icon-btn:hover{background:var(--bg-elev);color:var(--text)}.session-icon-btn.session-icon-danger:hover{color:var(--danger, #ff6868)}.session-empty{padding:24px 12px;text-align:center;font-size:12px;color:var(--text-mute);line-height:1.7}.bubble-row{display:flex;gap:12px;padding:10px 0;align-items:flex-start}.bubble-row.user{flex-direction:row-reverse}.bubble-avatar{width:32px;height:32px;border-radius:50%;background:var(--bg-elev);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--text-dim);flex-shrink:0;font-weight:600}.bubble-row.user .bubble-avatar{background:var(--brand);color:var(--brand-contrast);border-color:var(--brand)}.bubble{max-width:78%;background:var(--bg-card);border:1px solid var(--border);padding:10px 14px;border-radius:12px;position:relative}.bubble-row.user .bubble{background:rgb(from var(--brand) r g b / .08);border-color:rgb(from var(--brand) r g b / .25)}.bubble-content{line-height:1.7;font-size:14px;color:var(--text)}.bubble-row.user .bubble-content{white-space:pre-wrap;word-break:break-word}.bubble-content.md{word-break:break-word}.bubble-cursor{display:inline-block;margin-left:2px;color:var(--brand);animation:bubble-blink 1s steps(2) infinite}@keyframes bubble-blink{to{opacity:0}}.bubble-footer{margin-top:6px;font-size:11px;color:var(--text-mute);font-family:var(--font-mono);display:flex;align-items:center;gap:10px}.bubble-footer .tools{color:var(--accent-cyan)}.bubble-regen-btn{background:transparent;border:1px solid var(--border);color:var(--text-dim);font-size:11px;padding:2px 8px;border-radius:4px;cursor:pointer;font-family:var(--font-mono)}.bubble-regen-btn:hover{border-color:var(--brand);color:var(--brand)}.lang-switch{background:var(--bg-elev);border:1px solid var(--border);color:var(--text-dim);padding:4px 8px;border-radius:6px;font-size:12px;font-family:var(--font-mono);cursor:pointer;outline:none;margin-right:6px}.lang-switch:hover{border-color:var(--brand);color:var(--text)}.md-body h1,.md-body h2,.md-body h3,.md-body h4{margin:14px 0 8px;font-weight:600;color:var(--text);line-height:1.35}.md-body h1{font-size:18px}.md-body h2{font-size:16px;border-bottom:1px solid var(--border);padding-bottom:4px}.md-body h3{font-size:14px;color:var(--text-dim)}.md-body p{margin:6px 0}.md-body p:first-child{margin-top:0}.md-body p:last-child{margin-bottom:0}.md-body ul,.md-body ol{margin:6px 0 6px 4px;padding-left:22px}.md-body li{margin:2px 0}.md-body li>p{margin:2px 0}.md-body strong{color:var(--text);font-weight:600}.md-body em{color:var(--text-dim);font-style:italic}.md-body del{color:var(--text-mute)}.md-body table{display:block;overflow-x:auto;width:max-content;max-width:100%;border-collapse:collapse;margin:10px 0;font-size:13px;border:1px solid var(--border);border-radius:6px}.md-body thead{background:rgb(from var(--brand) r g b / .08)}.md-body th,.md-body td{padding:7px 12px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:left;vertical-align:top;white-space:nowrap}.md-body th:last-child,.md-body td:last-child{border-right:0}.md-body tr:last-child td{border-bottom:0}.md-body th{font-weight:600;color:var(--text)}.md-body tbody tr:hover{background:#ffffff06}.md-body code{font-family:var(--font-mono);font-size:12.5px;background:var(--bg-elev);border:1px solid var(--border);padding:1px 5px;border-radius:4px;color:var(--accent-cyan)}.md-body pre{background:var(--bg-elev);border:1px solid var(--border);border-radius:6px;padding:10px 12px;overflow-x:auto;margin:8px 0}.md-body pre code{background:transparent;border:0;padding:0;color:var(--text);font-size:12.5px;line-height:1.55}.md-body blockquote{margin:8px 0;padding:4px 12px;border-left:3px solid var(--brand);background:rgb(from var(--brand) r g b / .05);color:var(--text-dim)}.md-body a{color:var(--accent-cyan);text-decoration:none}.md-body a:hover{text-decoration:underline}.md-body hr{border:0;border-top:1px solid var(--border);margin:12px 0}.tool-card{align-self:stretch;margin:4px 0;background:rgb(from var(--brand) r g b / .04);border:1px dashed var(--border-hover);border-radius:var(--radius-sm);font-size:12px;color:var(--text-dim)}.tool-card-head{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;-webkit-user-select:none;user-select:none;flex-wrap:wrap}.tool-card-head .icon{color:var(--brand)}.tool-card-head .tname{font-family:var(--font-mono);color:var(--brand);font-weight:500}.tool-card-status{margin-left:6px;padding:1px 6px;border-radius:4px;font-size:11px}.tool-card-status.running{background:#ffb84d26;color:var(--accent-amber)}.tool-card-status.done{background:#4dffaa1f;color:var(--success)}.kb-stats-line{font-family:var(--font-mono);font-size:10.5px;color:var(--text-mute)}.tool-card-caret{margin-left:auto;font-size:10px}.tool-card-body{padding:0 12px 10px}.tool-card-block{margin-top:8px}.tool-card-label{font-size:11px;color:var(--text-mute);margin-bottom:4px;font-family:var(--font-mono);letter-spacing:1px}.tool-card pre{margin:0;padding:8px 10px;background:var(--bg);border:1px solid var(--border);border-radius:4px;overflow:auto;max-height:280px;font-family:var(--font-mono);font-size:11.5px;color:var(--text);white-space:pre-wrap;word-break:break-word}.citations{margin-top:8px;padding:8px 12px;background:rgb(from var(--brand) r g b / .06);border-left:2px solid var(--brand);border-radius:4px;font-size:12px}.citations-head{font-family:var(--font-mono);font-size:11px;color:var(--text-mute);letter-spacing:1px;margin-bottom:4px}.citations ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}.citations li{display:flex;gap:6px;align-items:center;color:var(--text-dim);line-height:1.5}.citations .num{color:var(--text-mute);font-family:var(--font-mono);flex-shrink:0}.citations .title{color:var(--brand);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.citations .title:hover{text-decoration:underline}.citations .chunk{color:var(--text-mute);font-family:var(--font-mono);font-size:10px;flex-shrink:0}.citations .err{margin-top:4px;color:var(--danger);font-size:11px}.trace-drawer{width:360px;flex-shrink:0;border-left:1px solid var(--border);background:var(--bg-elev);display:flex;flex-direction:column}.trace-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border);font-family:var(--font-mono);font-size:12px;letter-spacing:1px;color:var(--text-dim)}.trace-drawer-body{flex:1;overflow-y:auto;padding:8px 12px 12px}.trace-empty{color:var(--text-mute);font-size:12px;padding:16px 0;text-align:center}.trace-row{background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:4px;padding:8px 10px;margin-bottom:6px;font-size:11.5px}.trace-row.kind-user_input{border-left-color:var(--text-mute)}.trace-row.kind-llm_tool_request{border-left-color:var(--accent-amber)}.trace-row.kind-tool_result{border-left-color:var(--brand)}.trace-row.kind-llm_final{border-left-color:var(--success)}.trace-row.kind-llm_error,.trace-row.kind-max_steps_exceeded{border-left-color:var(--danger)}.trace-head-row{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);margin-bottom:4px}.trace-head-row .kind{font-weight:600;color:var(--text)}.trace-head-row .tool{color:var(--brand)}.trace-head-row .latency{color:var(--text-mute)}.trace-head-row .step{margin-left:auto;color:var(--text-mute);font-size:10px}.trace-payload{margin:0;padding:6px 8px;background:var(--bg);border:1px solid var(--border);border-radius:3px;font-family:var(--font-mono);font-size:10.5px;color:var(--text-dim);max-height:200px;overflow:auto;white-space:pre-wrap;word-break:break-word}body{background:var(--bg-deep);font-family:var(--font-base);color:var(--text);font-feature-settings:"cv11","ss01","ss03"}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;background:radial-gradient(ellipse 1200px 800px at 22% 18%,rgba(60,150,230,.18),transparent 60%),radial-gradient(ellipse 900px 600px at 85% 90%,rgba(93,217,255,.12),transparent 60%),radial-gradient(ellipse 700px 500px at 75% 12%,rgba(120,90,200,.1),transparent 70%),linear-gradient(180deg,#0a1830,#061021 65%,#050d1d);pointer-events:none}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background-image:linear-gradient(rgba(125,200,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(125,200,255,.025) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse 1200px 800px at 50% 30%,rgba(0,0,0,.7),transparent 80%);-webkit-mask-image:radial-gradient(ellipse 1200px 800px at 50% 30%,rgba(0,0,0,.7),transparent 80%);pointer-events:none}.glass-card{background:#10203a6b;border:1px solid var(--border);border-radius:var(--radius-md);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);box-shadow:var(--shadow-card);position:relative}.glass-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(140deg,rgba(125,200,255,.06) 0%,transparent 25%,transparent 75%,rgba(125,200,255,.03) 100%);pointer-events:none}.kbd{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border:1px solid var(--border-strong);border-radius:4px;font:500 10.5px/1 var(--font-mono);color:var(--text-dim);background:#14264499;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.admin-chip{display:inline-flex;align-items:center;gap:6px;height:20px;padding:0 8px;border-radius:4px;font:500 10.5px/1 var(--font-mono);color:var(--text-dim);background:#14264480;border:1px solid var(--border);letter-spacing:.04em;text-transform:uppercase;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.admin-chip.warn{color:#ffdb8a;background:#ffcc6614;border-color:#ffcc6638}.admin-chip.ok{color:#86f0c8;background:#5ee6b414;border-color:#5ee6b438}.admin-chip.accent{color:var(--accent);background:#5dd9ff14;border-color:#5dd9ff42}.admin-dot{width:7px;height:7px;border-radius:50%;flex:none}.admin-dot.ok{background:var(--ok);box-shadow:0 0 8px #5ee6b4b3}.admin-dot.warn{background:var(--warn);box-shadow:0 0 8px #ffcc66b3}.admin-dot.err{background:var(--err);box-shadow:0 0 8px #ff8a8ab3}.admin-dot.accent{background:var(--accent);box-shadow:0 0 10px #5dd9ffcc}@keyframes admin-pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.9)}}.admin-pulse{animation:admin-pulse-dot 1.6s ease-in-out infinite}.admin-cyan-rail{position:absolute;left:-10px;top:7px;bottom:7px;width:2px;background:var(--accent);border-radius:2px;box-shadow:0 0 12px #5dd9ffcc}.mono{font-family:var(--font-mono);font-feature-settings:"ss02","zero"}.tnum{font-variant-numeric:tabular-nums}.ant-table-cell code,.ant-table-cell .ant-tag code{font-family:var(--font-mono);font-feature-settings:"ss02","zero";font-size:inherit;color:inherit;background:transparent;padding:0;letter-spacing:0}.dash-kpi-link{text-decoration:none!important;transition:background .18s ease,transform .18s ease}.dash-kpi-link:hover{background:#7dc8ff0f;transform:translateY(-1px)}.dash-kpi-link:hover .ant-statistic-title{color:var(--brand)}.ant-modal .ant-modal-content,.ant-drawer .ant-drawer-content{backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);border:1px solid var(--border);box-shadow:0 24px 80px -20px #000c1eb3,inset 0 1px #ffffff0a}.ant-modal .ant-modal-header,.ant-drawer .ant-drawer-header{border-bottom:1px solid var(--border);background:transparent}.ant-modal .ant-modal-footer{border-top:1px solid var(--border);padding-top:12px}.ant-dropdown .ant-dropdown-menu,.ant-select-dropdown,.ant-picker-dropdown .ant-picker-panel-container,.ant-cascader-dropdown,.ant-popover .ant-popover-inner,.ant-tooltip .ant-tooltip-inner{border:1px solid var(--border-strong);box-shadow:0 12px 40px -12px #000c1eb3,inset 0 1px #ffffff08;backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%)}.ant-notification-notice{border:1px solid var(--border-strong);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%)}.ant-message-notice-content{border:1px solid var(--border-strong);backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);padding:9px 14px!important}.ant-spin .ant-spin-dot-item{background-color:var(--brand)}.ant-spin-text{color:var(--text-dim)!important;text-shadow:0 0 8px rgba(93,217,255,.35)}.ant-empty .ant-empty-image{opacity:.55;filter:drop-shadow(0 4px 12px rgba(93,217,255,.1))}.ant-empty .ant-empty-description{color:var(--text-mute);font-size:12px}.ant-pagination .ant-pagination-item{border:1px solid var(--border);transition:border-color .16s,background .16s}.ant-pagination .ant-pagination-item:hover{border-color:var(--border-bright)}.ant-pagination .ant-pagination-item:hover a{color:var(--brand-hover)!important}.ant-pagination .ant-pagination-item-active{border-color:var(--brand)!important;box-shadow:0 0 12px -4px #5dd9ff73}.ant-pagination .ant-pagination-item-active a{color:var(--brand)!important}.ant-pagination .ant-pagination-prev .ant-pagination-item-link,.ant-pagination .ant-pagination-next .ant-pagination-item-link{border:1px solid var(--border)!important}.ant-table-wrapper .ant-table{background:transparent}.ant-table-wrapper .ant-table-thead>tr>th,.ant-table-wrapper .ant-table-tbody>tr>td{font-size:13px;line-height:1.5}.ant-table-wrapper .ant-table-thead>tr>th{font-weight:700;color:var(--text)!important;letter-spacing:.02em;text-transform:none;text-align:center!important;padding-block:13px!important;background:linear-gradient(180deg,#0c182cc7,#0c182c9e)!important;border-bottom:1px solid rgba(125,200,255,.26)!important}.ant-table-wrapper .ant-table-thead>tr>th:after{content:"";position:absolute;inset:auto 0 -1px 0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(93,217,255,.22) 50%,transparent 100%);pointer-events:none}.ant-table-wrapper .ant-table-tbody>tr.ant-table-row:hover>td{background:#7dc8ff0d!important}.ant-table-wrapper .ant-table-tbody>tr.ant-table-row.ant-table-row-selected>td{background:#5dd9ff1a!important}.ant-tabs .ant-tabs-ink-bar{box-shadow:0 0 12px #5dd9ff99;height:2px!important}.ant-btn-primary{font-weight:600}.ant-btn-primary:not(:disabled):hover{box-shadow:0 6px 20px -4px #5dd9ff8c!important}.ant-btn-default:not(:disabled):focus-visible,.ant-btn-primary:not(:disabled):focus-visible{outline:2px solid rgba(93,217,255,.5);outline-offset:2px}.ant-input:focus,.ant-input-focused,.ant-input-affix-wrapper:focus-within,.ant-select-focused .ant-select-selector,.ant-picker-focused{box-shadow:0 0 0 2px #5dd9ff33,0 0 24px -6px #5dd9ff59!important}.ant-form-item-explain-error{font-size:11px;color:var(--err)!important;margin-top:4px}.ant-tag-success{background:#5ee6b41a;border-color:#5ee6b44d;color:#86f0c8}.ant-tag-warning{background:#ffcc661a;border-color:#ffcc664d;color:#ffdb8a}.ant-tag-error{background:#ff8a8a1a;border-color:#ff8a8a4d;color:#ff9d9d}.ant-tag-processing,.ant-tag-blue{background:#5dd9ff1a;border-color:#5dd9ff4d;color:var(--brand-hover)}.ant-switch-checked{box-shadow:0 0 12px -4px #5dd9ff8c}.ant-divider-horizontal{border-block-start-color:var(--border)!important}.ant-steps .ant-steps-item-process .ant-steps-item-icon{box-shadow:0 0 16px -4px #5dd9ff8c}.ant-card-hoverable:hover{border-color:var(--border-bright)!important;box-shadow:0 12px 36px -16px #000c1ea6,0 0 0 1px var(--border-bright)!important}.ant-statistic-content-value,.ant-statistic-content-prefix,.ant-statistic-content-suffix{font-variant-numeric:tabular-nums}.mdv-op-btn.ant-btn{width:64px!important;min-width:64px!important;max-width:64px!important;height:26px!important;min-height:26px!important;max-height:26px!important;padding:0!important;font-size:12px!important;font-weight:500!important;line-height:24px!important;box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;letter-spacing:.02em}.mdv-op-btn.ant-btn,.mdv-op-btn.ant-btn-primary,.mdv-op-btn.ant-btn-dangerous{border-width:1px!important}.mdv-op-btn.mdv-op-btn-sm.ant-btn{width:56px!important;min-width:56px!important;max-width:56px!important;height:24px!important;min-height:24px!important;max-height:24px!important;font-size:11px!important;line-height:22px!important;letter-spacing:.01em}.ant-table-cell-fix-right,.ant-table-cell-fix-right-first{background:linear-gradient(180deg,#0c182ceb,#0c182ce0)!important}.ant-table-cell-fix-right-first:before{content:"";position:absolute;inset:0 auto 0 -8px;width:8px;background:linear-gradient(90deg,transparent,rgba(0,0,0,.28));pointer-events:none}.trc{display:flex;align-items:center;gap:10px;padding:14px 16px;margin:8px 0 12px;background:linear-gradient(180deg,#0c182c73,#0c182c40);border:1px solid rgba(125,200,255,.18);border-radius:8px;overflow-x:auto;min-height:80px}.trc-empty{padding:18px;margin:8px 0 12px;text-align:center;color:var(--text-mute);font-size:12px;border:1px dashed rgba(125,200,255,.18);border-radius:8px}.trc-node{display:inline-flex;align-items:center;gap:10px;padding:8px 14px 8px 10px;border:1px solid var(--border);border-radius:10px;background:#0c182ca6;min-width:170px;flex-shrink:0;transition:border-color .25s ease,box-shadow .25s ease,opacity .25s ease;position:relative}.trc-node-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#5dd9ff52,#b266ff52);border:1px solid rgba(125,200,255,.22);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:12px;font-weight:700;color:var(--text);letter-spacing:.04em;flex-shrink:0}.trc-node-text{display:flex;flex-direction:column;min-width:0}.trc-node-name{font-family:var(--font-mono);font-size:13px;color:var(--text);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.trc-node-meta{font-size:10.5px;color:var(--text-mute);font-family:var(--font-mono);letter-spacing:.02em;line-height:1.3}.trc-node-status{margin-left:4px;font-size:15px;display:inline-flex;align-items:center;flex-shrink:0}.trc-node-pending{opacity:.45}.trc-node-active{border-color:var(--brand);box-shadow:0 0 18px -2px #5dd9ff8c;animation:trc-pulse 1.05s ease-in-out infinite alternate}.trc-node-active .trc-node-status,.trc-node-active .trc-node-name{color:var(--brand)}.trc-node-failed{border-color:#ff505073;opacity:.55}.trc-node-failed .trc-node-status{color:#ff5d5d}.trc-node-failed .trc-node-name{text-decoration:line-through;text-decoration-color:#ff5d5d8c;color:var(--text-dim)}.trc-node-success{border-color:#52c41a;box-shadow:0 0 20px -2px #52c41a8c}.trc-node-success .trc-node-status{color:#6fd14a}.trc-node-success .trc-node-name{color:#b6f08a}@keyframes trc-pulse{0%{box-shadow:0 0 10px -2px #5dd9ff4d}to{box-shadow:0 0 24px -2px #5dd9ffd9}}.trc-link{width:44px;height:18px;position:relative;flex-shrink:0;display:inline-flex;align-items:center}.trc-link:before{content:"";position:absolute;left:0;right:14px;top:50%;height:2px;margin-top:-1px;background-image:repeating-linear-gradient(90deg,var(--border) 0 6px,transparent 6px 10px);background-size:10px 100%}.trc-link-arrow{position:absolute;right:0;top:50%;transform:translateY(-55%);color:var(--text-mute);font-size:18px;font-weight:700;line-height:1;transition:color .25s ease}.trc-link-flow:before{background-image:repeating-linear-gradient(90deg,var(--brand) 0 6px,transparent 6px 10px);animation:trc-dash .45s linear infinite;box-shadow:0 0 6px -1px #5dd9ff99}.trc-link-flow .trc-link-arrow{color:var(--brand);text-shadow:0 0 6px rgba(93,217,255,.7)}@keyframes trc-dash{0%{background-position:0 0}to{background-position:10px 0}}.tr-edit-table{display:inline-block;max-width:100%;margin:4px 0}.tr-edit-table .ant-table-container{width:max-content;max-width:100%}.trc-head{display:flex;align-items:center;gap:10px;margin:14px 0 0}.trc-edit-btn.ant-btn{height:26px;padding:0 12px;border-radius:13px;font-size:12px;font-weight:500;display:inline-flex;align-items:center;gap:4px;background:#0c182ca6;border:1px solid var(--border);color:var(--text-dim);letter-spacing:.02em}.trc-edit-btn.ant-btn:hover{border-color:var(--brand);color:var(--brand);background:#5dd9ff14}.trc-edit-btn .anticon{font-size:12px}.trc-task-name{font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--text);padding:4px 12px;border-radius:13px;background:#5dd9ff14;border:1px solid rgba(93,217,255,.22);letter-spacing:.02em}.trc-task-purpose.ant-tag{margin:0;height:26px;padding:0 12px;border-radius:13px;font-size:12px;font-weight:500;display:inline-flex;align-items:center;background:#b266ff1a;color:#d4b5ff;border:1px solid rgba(178,102,255,.32);letter-spacing:.02em}.models-shell.ant-card>.ant-card-body{padding:6px 12px 10px}.models-shell .ant-card{background:transparent;border:none;box-shadow:none}.models-shell .ant-card>.ant-card-head{padding:0;border-bottom:1px dashed rgba(125,200,255,.18);min-height:36px}.models-shell .ant-card>.ant-card-body{padding-left:0;padding-right:0}.provider-inline-panel{position:relative;margin:4px 4px 10px;padding:14px 18px 12px;border-radius:10px;background:#5dd9ff0f;border:1px solid rgba(93,217,255,.2)}.provider-inline-panel-success{background:linear-gradient(180deg,#52c41a1a,#52c41a0a);border-color:#52c41a59}.provider-inline-panel-error{background:linear-gradient(180deg,#ff50501a,#ff50500a);border-color:#ff505059}.provider-inline-panel-pricing{background:linear-gradient(180deg,#b266ff1a,#b266ff0a);border-color:#b266ff52}.provider-inline-panel-title{display:flex;align-items:center;gap:8px;font-size:12px;font-family:var(--font-mono);font-weight:600;color:var(--text-dim);letter-spacing:.04em;text-transform:uppercase;margin-bottom:10px;padding-right:32px}.provider-inline-panel-success .provider-inline-panel-title{color:#7be07b}.provider-inline-panel-error .provider-inline-panel-title{color:#ff7a7a}.provider-inline-panel-pricing .provider-inline-panel-title{color:#d4b5ff}.provider-inline-panel-close.ant-btn{position:absolute;top:8px;right:8px;width:24px;height:24px;padding:0;border-radius:6px;color:var(--text-mute);display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent}.provider-inline-panel-close.ant-btn:hover{color:var(--text);background:#ffffff0d;border-color:#7dc8ff38}.provider-inline-panel .ant-table{background:transparent!important}.provider-inline-panel .ant-table-thead>tr>th{background:#0000002e!important}.provider-inline-panel .ant-table-tbody>tr>td{background:transparent!important}.mdv-cap-tag.ant-tag{height:22px;margin:0;padding:0 8px;font-size:11px;font-weight:500;line-height:20px;border-radius:11px;display:inline-flex;align-items:center;letter-spacing:.02em}.mdv-status-tag.ant-tag{width:64px;min-width:64px;max-width:64px;height:26px;min-height:26px;max-height:26px;padding:0;margin:0;font-size:12px;font-weight:500;line-height:24px;border-radius:13px;border-width:1px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;letter-spacing:.02em}*:focus-visible{outline:2px solid rgba(93,217,255,.55);outline-offset:2px;border-radius:4px}@keyframes admin-rail-breath{0%,to{box-shadow:0 0 8px #5dd9ff8c;opacity:.95}50%{box-shadow:0 0 14px #7be3ffd9;opacity:1}}.admin-sider{border-right:1px solid var(--border);position:sticky;top:52px;height:calc(100vh - 52px);overflow:hidden;background:linear-gradient(180deg,#0a16269e,#0a16266b);backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);display:flex;flex-direction:column}.admin-sider:before{content:"";position:absolute;inset:0 0 auto 0;height:220px;background:radial-gradient(ellipse 60% 80% at 0% 0%,rgba(93,217,255,.1) 0%,transparent 70%);pointer-events:none}.admin-sider:after{content:"";position:absolute;inset:0 -1px 0 auto;width:1px;background:linear-gradient(180deg,transparent 0%,rgba(93,217,255,.18) 25%,rgba(93,217,255,.08) 75%,transparent 100%);pointer-events:none}.admin-sider-menu{flex:1;overflow:auto;padding:12px 0 16px;position:relative;z-index:1}.admin-sider .ant-menu{font-size:13px}.admin-sider .ant-menu-item,.admin-sider .ant-menu-submenu-title{position:relative;margin:2px 8px!important;height:36px!important;line-height:36px!important;border-radius:8px!important;transition:background .18s cubic-bezier(.4,0,.2,1),color .18s cubic-bezier(.4,0,.2,1),transform .16s cubic-bezier(.4,0,.2,1)}.admin-sider .ant-menu-item .anticon,.admin-sider .ant-menu-submenu-title .anticon{font-size:14px;transition:color .18s,transform .18s}.admin-sider .ant-menu-item:hover,.admin-sider .ant-menu-submenu-title:hover{transform:translate(1px)}.admin-sider .ant-menu-item:hover .anticon,.admin-sider .ant-menu-submenu-title:hover .anticon{color:var(--brand-hover)}.admin-sider .ant-menu-sub.ant-menu-inline{background:transparent!important;padding:2px 0 4px}.admin-sider .ant-menu-sub .ant-menu-item{height:32px!important;line-height:32px!important;font-size:12.5px;color:var(--text-dim)!important}.admin-sider .ant-menu-item-selected{background:linear-gradient(90deg,#5dd9ff29,#5dd9ff0a)!important;color:var(--brand)!important;font-weight:600}.admin-sider .ant-menu-item-selected:before{content:"";position:absolute;left:-8px;top:7px;bottom:7px;width:2.5px;border-radius:2px;background:linear-gradient(180deg,#7be3ff,#38c2ff);animation:admin-rail-breath 2.6s ease-in-out infinite}.admin-sider .ant-menu-item-selected .anticon{color:var(--brand)!important;filter:drop-shadow(0 0 6px rgba(93,217,255,.55))}.admin-sider .ant-menu-submenu-arrow{color:var(--text-mute)!important;transition:transform .2s cubic-bezier(.4,0,.2,1),color .2s}.admin-sider .ant-menu-submenu-open>.ant-menu-submenu-title .ant-menu-submenu-arrow{color:var(--brand)!important}.admin-sider .ant-menu-submenu-selected>.ant-menu-submenu-title{color:var(--text)!important}.admin-sider .ant-menu-submenu-selected>.ant-menu-submenu-title .anticon{color:var(--brand-hover)!important}.admin-sider .ant-menu-item+.ant-menu-submenu,.admin-sider .ant-menu-submenu+.ant-menu-submenu,.admin-sider .ant-menu-submenu+.ant-menu-item{position:relative}.admin-sider .ant-menu-item+.ant-menu-submenu:before,.admin-sider .ant-menu-submenu+.ant-menu-submenu:before,.admin-sider .ant-menu-submenu+.ant-menu-item:before{content:"";position:absolute;top:-1px;left:18px;right:18px;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(125,200,255,.08) 50%,transparent 100%);pointer-events:none}.admin-sider-menu::-webkit-scrollbar{width:4px}.admin-sider-menu::-webkit-scrollbar-thumb{background:#7dc8ff1a;border-radius:2px;border:0}.admin-sider-menu::-webkit-scrollbar-thumb:hover{background:#7dc8ff33}.admin-syshealth{padding:12px 14px 14px;border-top:1px solid var(--border);font-size:11px;color:var(--text-dim);flex-shrink:0;background:linear-gradient(180deg,#06102100,#0610218c);position:relative}.admin-syshealth:before{content:"";position:absolute;top:-1px;left:14px;right:14px;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(93,217,255,.16) 50%,transparent 100%);pointer-events:none}.admin-syshealth__row{display:flex;align-items:center;gap:8px;padding:4px 6px;margin:0 -6px;border-radius:4px;transition:background .16s}.admin-syshealth__row:hover{background:#7dc8ff0d}.admin-syshealth__row+.admin-syshealth__row{margin-top:1px}.admin-syshealth__label{flex:1;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-mute)}.admin-syshealth__value{font-size:10.5px;letter-spacing:.02em}.admin-syshealth__value--ok{color:var(--ok)}.admin-syshealth__value--fail{color:var(--err)}.admin-syshealth__value--disabled{color:var(--text-mute)}.admin-syshealth__build{margin-top:10px;padding-top:8px;border-top:1px dashed rgba(125,200,255,.08);font-size:9.5px;color:#b4c8dc57;letter-spacing:.08em;text-transform:uppercase}@keyframes admin-topbar-shine{0%{transform:translate(-160%) skew(-18deg);opacity:0}35%{opacity:.55}60%{opacity:.4}to{transform:translate(360%) skew(-18deg);opacity:0}}@keyframes admin-topbar-accent{0%,to{background-position:0% 0}50%{background-position:200% 0}}@keyframes admin-online-pulse{0%,to{box-shadow:0 0 #5ee6b4a6}50%{box-shadow:0 0 0 5px #5ee6b400}}.admin-topbar{position:sticky;top:0;z-index:10;height:52px;padding:0 20px 0 0;display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--border);backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);background:linear-gradient(180deg,#0a16269e,#0a162680)}.admin-topbar:before{content:"";position:absolute;inset:0 0 auto 0;height:1.5px;background:linear-gradient(90deg,transparent 0%,rgba(125,200,255,.55) 20%,rgba(123,227,255,.9) 50%,rgba(125,200,255,.55) 80%,transparent 100%);background-size:200% 100%;animation:admin-topbar-accent 8s ease-in-out infinite;pointer-events:none}.admin-topbar:after{content:"";position:absolute;inset:auto 0 -1px 0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(93,217,255,.12) 30%,rgba(93,217,255,.12) 70%,transparent 100%);pointer-events:none}.admin-topbar__logo{width:240px;height:100%;padding:0 18px;display:flex;align-items:center;gap:12px;border-right:1px solid var(--border);background:radial-gradient(ellipse 80% 100% at 0% 50%,rgba(93,217,255,.1) 0%,transparent 75%);flex-shrink:0;position:relative;z-index:1}.admin-topbar__logo-mark{position:relative;width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#7be3ff,#38c2ff 48%,#2a8cd6);box-shadow:0 0 0 1px #78dcff4d,0 6px 18px -6px #5dd9ff8c,inset 0 1px #fff6,inset 0 -2px 6px #0010264d;color:#04111f;flex-shrink:0;overflow:hidden}.admin-topbar__logo-shine{position:absolute;top:0;left:0;width:30%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.55) 50%,transparent 100%);animation:admin-topbar-shine 5.5s ease-in-out 1.2s infinite;pointer-events:none}.admin-topbar__logo-text{line-height:1.1;flex:1;min-width:0}.admin-topbar__logo-title{font-family:var(--font-display);font-weight:700;font-size:14px;letter-spacing:.18em;background:linear-gradient(135deg,#eaf3ff,#fff 35%,#7be3ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.admin-topbar__logo-subtitle{font-size:9.5px;color:var(--text-mute);letter-spacing:.22em;text-transform:uppercase;margin-top:4px;font-weight:500;font-family:var(--font-mono)}.admin-topbar__breadcrumb{display:flex;align-items:center;gap:16px;font-size:12.5px;padding-left:4px;height:100%}.admin-topbar__breadcrumb-row{display:inline-flex;align-items:center;gap:4px}.admin-topbar__breadcrumb-parent{color:var(--text-mute);letter-spacing:.02em;transition:color .16s}.admin-topbar__breadcrumb-parent:hover{color:var(--text-dim)}.admin-topbar__breadcrumb-cur{color:var(--text);font-weight:600;letter-spacing:.01em;position:relative}.admin-topbar__breadcrumb-cur:before{content:"";position:absolute;left:-10px;top:50%;transform:translateY(-50%);width:4px;height:4px;border-radius:50%;background:var(--brand);box-shadow:0 0 8px #5dd9ffbf}.admin-topbar__spacer{flex:1}.admin-cmdk-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:280px;height:32px;padding:0 12px;border-radius:8px;border:1px solid var(--border-strong);background:#14264473;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text-dim);font-size:12px;cursor:pointer;transition:border-color .16s,background .16s,color .16s}.admin-cmdk-trigger:hover{border-color:var(--border-bright);background:#28466e8c;color:var(--text-1)}.admin-cmdk-trigger__hint{display:flex;align-items:center;gap:8px}.admin-cmdk-trigger__keys{display:flex;gap:3px}.admin-userpill{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:4px 10px 4px 4px;border-radius:999px;border:1px solid transparent;transition:border-color .18s,background .18s,transform .18s}.admin-userpill:hover{background:#7dc8ff0f;border-color:#7dc8ff33;transform:translateY(-1px)}.admin-userpill__avatar{position:relative;width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#7be3ff,#5dd9ff,#2a8cd6);color:#04111f;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;box-shadow:0 0 0 1px #7dc8ff52,0 0 18px -4px #5dd9ff73,inset 0 1px #fff6;flex-shrink:0}.admin-userpill__online{position:absolute;right:-1px;bottom:-1px;width:9px;height:9px;border-radius:50%;background:var(--ok);border:2px solid rgba(10,22,38,.95);animation:admin-online-pulse 2.2s ease-in-out infinite}.admin-userpill__text{line-height:1.2;min-width:0}.admin-userpill__name{font-size:12px;color:var(--text);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-userpill__meta{font-size:10px;color:#b4c8dc75;font-family:var(--font-mono)}.admin-userpill__caret{font-size:10px;color:#dceafa8c;margin-left:2px}.admin-content{padding:10px;background:transparent;min-height:calc(100vh - 52px)}.admin-content--flush{padding:0}.view{width:100%;margin:0}.view-title{font-size:20px;line-height:1.3;font-weight:700;color:var(--text);letter-spacing:.01em;margin:0}.view-subtitle{font-size:13px;line-height:1.5;color:var(--text-dim);margin:4px 0 0}.view-section-title{font-size:14px;line-height:1.35;font-weight:600;color:var(--text);margin:0 0 12px;display:flex;align-items:center;gap:8px}.view-section-title__hint{font-family:var(--font-mono);font-size:11px;color:var(--text-mute);font-weight:400;letter-spacing:.04em}.view-meta{font-size:11px;font-family:var(--font-mono);color:var(--text-mute);letter-spacing:.04em}.view-hero{padding:18px 22px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.view-hero__main{display:flex;flex-direction:column;gap:4px;min-width:0}.view-hero__actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.view-section{margin-bottom:var(--gap)}.view-section:last-child{margin-bottom:0}.view-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:var(--gap)}.view-toolbar__spacer{flex:1}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--gap)}.kpi-grid--narrow{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.dep-card{border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;background:var(--bg-card);backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%);transition:border-color .18s}.dep-card--ok{border-color:#5ee6b44d;background:#5ee6b40a}.dep-card--err{border-color:#ff8a8a4d;background:#ff8a8a0a}.dep-card--warn{border-color:#ffcc664d;background:#ffcc660a}.dep-card__row{display:flex;align-items:center;justify-content:space-between;gap:8px}.dep-card__name{font-weight:600;font-size:13px;color:var(--text);display:flex;align-items:center;gap:6px}.dep-card__error{font-size:11px;color:var(--err);margin-top:6px;word-break:break-all}.view-empty{padding:40px 20px;text-align:center;color:var(--text-mute);font-size:12px}.view-empty__icon{font-size:28px;opacity:.4;margin-bottom:8px}.view-error,.view-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:32px 20px;text-align:center;border:1px dashed var(--border);border-radius:var(--radius);background:var(--bg-card);color:var(--text-dim);font-size:12px}.view-error{border-color:#ff8a8a4d;background:#ff8a8a0a;color:#ff9d9d}.view-error__title,.view-loading__title{font-size:13px;color:var(--text);font-weight:600}.view-error__hint{font-size:11px;color:var(--text-mute);max-width:480px}.login-shell{min-height:100vh;display:flex;flex-direction:column;align-items:center;background:radial-gradient(ellipse 1200px 800px at 22% 18%,rgba(60,150,230,.18),transparent 60%),radial-gradient(ellipse 900px 600px at 85% 90%,rgba(93,217,255,.12),transparent 60%),linear-gradient(180deg,#0a1830,#061021 65%,#050d1d)}.login-shell__center{flex:1;display:flex;align-items:center;justify-content:center;width:100%;padding:40px 16px}.login-card{width:100%;max-width:420px;background:linear-gradient(180deg,#10203a8c,#0b1626bf);border:1px solid rgba(125,200,255,.22);border-radius:16px;padding:36px 32px 32px;box-shadow:0 24px 64px #000f2899,0 0 0 1px #7dc8ff14 inset,0 0 60px -10px #5dd9ff40;backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%)}.login-card__header{display:flex;align-items:center;gap:14px;margin-bottom:24px}.login-card__logo{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#7be3ff,#38c2ff,#2a8cd6);box-shadow:0 6px 22px #5dd9ff73,inset 0 1px #ffffff4d;color:#04111f;flex-shrink:0}.login-card__brand{font-weight:700;font-size:18px;letter-spacing:1.5px;background:linear-gradient(135deg,#eaf3ff,#5dd9ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.login-card__subtitle{font-size:12px;opacity:.6;margin-top:2px}.login-card__intro{font-size:12px;opacity:.6;margin-bottom:24px}.login-card__intro a{color:var(--brand)}.login-form{display:flex;flex-direction:column;gap:14px}.login-form__label{display:block;font-size:12px;opacity:.7;margin-bottom:6px;letter-spacing:.5px}.login-form__submit{margin-top:4px;height:44px;font-weight:600;letter-spacing:1px;background:linear-gradient(180deg,#6fdfff,#38c2ff)!important;border:1px solid rgba(180,230,255,.5)!important;color:#04111f!important;box-shadow:0 6px 22px -4px #5dd9ff80,inset 0 1px #ffffff59!important}.login-form__submit:not(:disabled):hover{box-shadow:0 8px 28px -4px #5dd9ff99,inset 0 1px #fff6!important}.login-card__audit-note{margin-top:24px;padding-top:16px;border-top:1px solid rgba(255,255,255,.06);font-size:11px;opacity:.45;display:flex;align-items:center;justify-content:center;gap:6px}
