:root{--bg-primary: #f6f7fb;--bg-secondary: #ffffff;--bg-chat: #f2f4f9;--bg-sidebar: #fbfbfd;--text-primary: #101426;--text-secondary: #2b3346;--text-muted: #5c6475;--accent: #6366f1;--accent-hover: #4f46e5;--accent-light: #eef0ff;--accent-soft: rgba(99,102,241,.08);--border: #eaecf2;--border-strong: #dde0ea;--user-bubble: linear-gradient(135deg, #6366f1 0%, #818cf8 100%);--user-text: #ffffff;--assistant-bubble: #ffffff;--success: #10b981;--danger: #ef4444;--warning: #f59e0b;--shadow: 0 1px 2px rgba(16,20,38,.04), 0 1px 3px rgba(16,20,38,.03);--shadow-md: 0 2px 4px rgba(16,20,38,.04), 0 6px 16px -4px rgba(16,20,38,.08);--shadow-lg: 0 8px 24px -6px rgba(16,20,38,.1), 0 2px 8px -4px rgba(16,20,38,.06);--shadow-xl: 0 24px 48px -12px rgba(16,20,38,.16);--radius: 14px;--radius-sm: 10px;--radius-xs: 8px;--transition: .18s cubic-bezier(.4, 0, .2, 1);--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--success-soft: #ecfdf5;--success-ink: #047857;--danger-soft: #fef2f2;--danger-ink: #b91c1c;--warning-soft: #fffbeb;--warning-ink: #b45309;--info: #0ea5e9;--info-soft: #f0f9ff;--info-ink: #0369a1;--violet: #8b5cf6;--violet-soft: #f5f3ff;--code: #f7f8fc;--grad: linear-gradient(135deg, #6366f1 0%, #818cf8 55%, #a78bfa 100%);--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Consolas, monospace}[data-theme=dark]{--bg-primary: #0b0d14;--bg-secondary: #14172233;--bg-secondary: #161a27;--bg-chat: #0f121b;--bg-sidebar: #12151f;--text-primary: #f4f6fb;--text-secondary: #c2cbdc;--text-muted: #8b95aa;--accent-light: #211f45;--accent-soft: rgba(99,102,241,.14);--border: #232838;--border-strong: #2d3348;--assistant-bubble: #171b28;--user-bubble: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);--shadow: 0 1px 3px rgba(0,0,0,.5);--shadow-md: 0 4px 12px rgba(0,0,0,.45);--shadow-lg: 0 12px 28px rgba(0,0,0,.55);--shadow-xl: 0 24px 48px rgba(0,0,0,.65);--success-soft: #0f2a22;--success-ink: #34d399;--danger-soft: #33161a;--danger-ink: #f87171;--warning-soft: #33260c;--warning-ink: #fbbf24;--info: #38bdf8;--info-soft: #0b2533;--info-ink: #7dd3fc;--violet: #a78bfa;--violet-soft: #241c40;--code: #0f1122}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:#1a1d2e;color:#f8fafc;border-color:#2d3348}[data-theme=dark] .catalog-item-name,[data-theme=dark] .catalog-item-meta{color:var(--text-primary)}[data-theme=dark] .catalog-section-title{color:var(--text-muted)}[data-theme=dark] .schema-col-name,[data-theme=dark] .dataset-picker-name{color:var(--text-primary)}[data-theme=dark] .dataset-picker-meta{color:var(--text-secondary)}[data-theme=dark] .tp-log-table th{background:#1a1d2e;color:var(--text-secondary)}[data-theme=dark] .tp-log-table td{border-color:#2d3348}[data-theme=dark] .message-table th{background:#1a1d2e;color:var(--text-secondary)}[data-theme=dark] .message-table td{border-color:#2d3348}[data-theme=dark] .explorer-table th{background:#1a1d2e}[data-theme=dark] .login-screen{background:linear-gradient(135deg,#0f1117,#1a1d2e,#141726)}[data-theme=dark] .login-card{background:#1a1d2e;border-color:#2d3348}[data-theme=dark] .login-field input{background:#0f1117;color:#f8fafc;border-color:#2d3348}[data-theme=dark] .login-test-grid button{background:#1a1d2e;border-color:#2d3348;color:#cbd5e1}[data-theme=dark] code{background:#0f1117;color:#e2e8f0}[data-theme=dark] .follow-up-chip{border-color:#6366f166;background:#6366f114}[data-theme=dark] .suggestion-chip{background:#1a1d2e;border-color:#2d3348;color:var(--text-secondary)}[data-theme=dark] .action-btn,[data-theme=dark] .rls-policy-card{background:#1a1d2e;border-color:#2d3348}[data-theme=dark] .rls-form{background:#0f1117;border-color:#2d3348}} *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}input,select,textarea,button{box-sizing:border-box}body{font-family:var(--font);background:var(--bg-primary);color:var(--text-primary);height:100vh;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.011em;line-height:1.5}body.ttd-public{background:#0a0a1a}body.ttd-public #root{height:100vh;width:100%;overflow:hidden}.ttd-landing{width:100%;height:100vh;overflow-y:auto;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0000001f;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#0003}.ttd-landing{scrollbar-width:auto;scrollbar-color:rgba(255,255,255,.4) transparent}.ttd-landing::-webkit-scrollbar{width:14px}.ttd-landing::-webkit-scrollbar-track{background:#ffffff0d}.ttd-landing::-webkit-scrollbar-thumb{background:#ffffff52;border-radius:10px;border:3px solid transparent;background-clip:padding-box}.ttd-landing::-webkit-scrollbar-thumb:hover{background:#ffffff80;background-clip:padding-box}body.ttd-public .login-screen{height:100vh;overflow-y:auto}#root{height:100vh}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.app-wrapper{display:flex;flex-direction:column;height:100vh}.app{display:flex;flex:1;overflow:hidden}.main-area{flex:1;display:flex;flex-direction:column;overflow:hidden}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.sidebar{width:280px;background:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;transition:width var(--transition)}.sidebar-header{padding:.75rem;display:flex;gap:.5rem;border-bottom:1px solid var(--border)}.sidebar-btn{display:flex;align-items:center;gap:.4rem;padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-primary);font-size:.8rem;cursor:pointer;transition:all var(--transition);transition:all .2s}.sidebar-btn:hover{border-color:var(--accent);color:var(--accent)}.new-chat-btn{flex:1;justify-content:center}.sidebar-header.convs-h{flex-direction:column;gap:.5rem;padding:.75rem}.convs-h .new-chat-btn{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}.convs-h .new-chat-btn:hover{background:var(--accent-hover);color:#fff;border-color:var(--accent-hover)}.convs-search{display:flex;align-items:center;gap:.5rem;width:100%;padding:.45rem .6rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-muted);transition:border-color .15s,box-shadow .15s}.convs-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft, rgba(99,102,241,.08))}.convs-search svg{flex-shrink:0}.convs-search input{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--text-primary);font-size:.8rem}.convs-search input::placeholder{color:var(--text-muted)}.convs-search-clear{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:2px;border:none;background:none;color:var(--text-muted);cursor:pointer;border-radius:4px}.convs-search-clear:hover{color:var(--text-primary);background:var(--bg-chat)}.sidebar-sessions{flex:1;overflow-y:auto;padding:.5rem}.session-group{margin-bottom:.5rem}.session-date{font-size:.66rem;font-weight:700;color:var(--text-muted);padding:.5rem .5rem .25rem;text-transform:uppercase;letter-spacing:.08em;display:block}.session-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:.82rem;cursor:pointer;text-align:left;transition:background .15s}.session-item:hover{background:var(--bg-chat)}.session-item.active{background:var(--accent-light);color:var(--accent)}.session-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:500}.sidebar-empty{font-size:.8rem;color:var(--text-muted);padding:1rem;text-align:center}.session-item.ci{flex-direction:column;align-items:stretch;gap:2px;padding:.5rem .65rem}.session-item.ci .session-title{display:block;font-size:.8rem;font-weight:500;color:var(--text-primary);line-height:1.35;letter-spacing:-.005em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-item.ci.active .session-title,.session-item.ci.on .session-title{color:var(--accent);font-weight:600}.session-item.ci small{display:flex;align-items:center;gap:.4rem;font-size:.66rem;color:var(--text-muted);margin-top:1px;min-width:0}.session-item.ci small svg{flex-shrink:0;opacity:.55}.session-ds{display:inline-flex;align-items:center;gap:.3rem;min-width:0;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-weight:400}.session-ds svg{color:var(--text-muted);opacity:.55}.session-time{flex-shrink:0;margin-left:auto;color:var(--text-muted);font-variant-numeric:tabular-nums}.header{display:flex;align-items:center;justify-content:space-between;padding:.7rem 1.4rem;background:#fffc;border-bottom:1px solid var(--border);box-shadow:none;z-index:10;backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);min-height:58px}[data-theme=dark] .header{background:#161a27cc}.header-left{display:flex;align-items:center;gap:.85rem}.header-right{display:flex;align-items:center;gap:10px}.brand{display:flex;align-items:center;gap:.6rem}.brand h1{font-size:1.1rem;font-weight:800;letter-spacing:-.03em}.dataset-badge{font-size:.72rem;padding:.3rem .85rem;background:var(--accent-light);color:var(--accent);border-radius:20px;font-weight:600;border:1px solid rgba(99,102,241,.15);transition:all var(--transition)}.dataset-badge:hover{background:var(--accent);color:#fff;transform:scale(1.02)}.icon-btn{background:none;border:1px solid var(--border);border-radius:6px;padding:0;width:30px;height:30px;cursor:pointer;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;transition:all .15s}.icon-btn:hover{background:var(--bg-chat);color:var(--accent)}.icon-btn-sm{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:.2rem}.icon-btn-sm:hover{color:var(--danger)}.messages{flex:1;overflow-y:auto;padding:1.5rem 2rem;display:flex;flex-direction:column;gap:1rem;max-width:860px;margin:0 auto;width:100%;align-items:flex-start}.messages{scrollbar-width:none;-ms-overflow-style:none}.messages::-webkit-scrollbar{width:0;height:0;display:none}.welcome{text-align:center;padding:3rem 1rem;animation:fadeIn .5s ease}.welcome h2{margin:1rem 0 .5rem;font-size:1.6rem;font-weight:800;color:var(--text-primary);letter-spacing:-.02em}.welcome p{color:var(--text-secondary);font-size:.9rem;max-width:480px;margin:0 auto 1.5rem;line-height:1.6}.research-badge{font-size:.8rem;color:var(--accent);background:var(--accent-light);padding:.3rem .75rem;border-radius:12px;display:inline-block}.suggestions{margin-top:1.5rem}.suggestions-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.suggestions-grid{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:.75rem}.suggestion-chip{padding:.55rem 1rem;border:1px solid var(--border);border-radius:20px;background:var(--bg-secondary);color:var(--text-secondary);font-size:.8rem;cursor:pointer;transition:all var(--transition);font-weight:500;box-shadow:var(--shadow)}.suggestion-chip:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light);transform:translateY(-2px);box-shadow:var(--shadow-md)}.message{display:flex;gap:.75rem;animation:fadeIn .3s ease;width:100%;min-width:0}.message-user{align-self:flex-end;flex-direction:row-reverse;max-width:75%;margin-right:0}.message-assistant{align-self:flex-start;max-width:100%;min-width:0}.message-avatar{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;margin-top:2px;background:var(--accent-light);border-radius:10px}.message-bubble{padding:1rem 1.25rem;border-radius:var(--radius);box-shadow:var(--shadow);line-height:1.7;font-size:.875rem;animation:fadeIn .3s ease;min-width:0;overflow:visible}.message-user .message-bubble{background:var(--user-bubble);color:var(--user-text);border-bottom-right-radius:6px;box-shadow:var(--shadow-md)}.message-assistant .message-bubble{background:var(--assistant-bubble);color:var(--text-primary);border-bottom-left-radius:6px;border:1px solid var(--border);box-shadow:var(--shadow)}.message-text strong{font-weight:600}.message-text .msg-h3{font-size:.95rem;font-weight:600;margin:.75rem 0 .25rem;color:var(--accent)}.message-text ul{padding-left:1rem;margin:.25rem 0}.message-text li{margin:.15rem 0}.research-tag{font-size:.65rem;background:var(--accent);color:#fff;padding:.15rem .5rem;border-radius:8px;margin-bottom:.5rem;display:inline-block}.message-table-wrap{overflow-x:auto;margin-top:.85rem;border-radius:var(--radius-sm);border:1px solid var(--border);box-shadow:var(--shadow)}.message-table{width:100%;border-collapse:collapse;font-size:.8rem}.message-table th,.message-table td{padding:.6rem 1rem;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}.message-table th{background:var(--bg-primary);font-weight:700;color:var(--text-secondary);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;position:sticky;top:0}.message-table tr:hover td{background:#6366f105}.message-table tr:last-child td{border-bottom:none}.message-table tr:hover td{background:var(--accent-light)}.table-truncated{font-size:.72rem;color:var(--text-muted);text-align:center;padding:.4rem}.message-actions{display:flex;align-items:center;gap:.4rem;margin-top:.75rem;flex-wrap:wrap}.action-btn{display:flex;align-items:center;gap:.35rem;padding:.35rem .7rem;border:1.5px solid var(--border);border-radius:20px;background:var(--bg-secondary);color:var(--text-muted);font-size:.7rem;font-weight:600;cursor:pointer;transition:all var(--transition);letter-spacing:.01em}.action-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light);transform:translateY(-1px);box-shadow:0 2px 8px #6366f11a}.feedback-up:hover{border-color:var(--success);color:var(--success);background:#10b9810f}.feedback-down:hover{border-color:var(--danger);color:var(--danger);background:#ef44440f}.response-time{font-size:.65rem;color:var(--text-muted);margin-left:auto;font-variant-numeric:tabular-nums}.sql-block,.reasoning-block{margin-top:.5rem;padding:.6rem .75rem;border-radius:var(--radius-sm);font-size:.78rem;border:1px solid var(--border)}.sql-block{background:var(--bg-chat)}.sql-block pre{white-space:pre-wrap;word-break:break-all}.sql-block code{font-family:SF Mono,Fira Code,monospace;color:var(--accent)}.reasoning-block{background:var(--accent-light);color:var(--text-secondary)}.reasoning-block p{margin:0}.reasoning-content{font-size:.82rem;line-height:1.6}.reasoning-step{padding:4px 0;border-bottom:1px solid rgba(99,102,241,.08)}.reasoning-step:last-child{border-bottom:none}.reasoning-step-num{color:var(--accent);font-weight:700;margin-right:4px}.reasoning-content strong{color:var(--accent);font-weight:600}.follow-ups{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.75rem;padding-top:.6rem;border-top:1px solid var(--border);align-items:center}.follow-ups-label{font-size:.7rem;color:var(--text-muted);font-weight:500;margin-right:.25rem}.follow-up-chip{padding:.4rem .85rem;border:1px solid rgba(99,102,241,.3);border-radius:18px;background:#6366f10a;color:var(--accent);font-size:.75rem;font-weight:500;cursor:pointer;transition:all var(--transition)}.follow-up-chip:hover{background:var(--accent);color:#fff;transform:translateY(-1px);box-shadow:0 2px 8px #6366f133}.follow-up-custom{display:flex;align-items:center;gap:.25rem;flex:1;min-width:160px}.follow-up-input{flex:1;padding:.3rem .6rem;border:1px solid var(--border);border-radius:16px;background:var(--bg-chat);color:var(--text-primary);font-size:.75rem;outline:none;transition:border-color .2s}.follow-up-input:focus{border-color:var(--accent)}.follow-up-input::placeholder{color:var(--text-muted)}.follow-up-send{background:var(--accent);border:none;border-radius:50%;width:22px;height:22px;color:#fff;font-size:.75rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.follow-up-send:hover{background:var(--accent-hover)}.input-bar{display:flex;align-items:center;gap:.5rem;padding:.7rem 1.5rem;background:var(--bg-secondary);border-top:1px solid var(--border);box-shadow:0 -2px 10px #00000008;flex-shrink:0;box-sizing:border-box;min-width:0;width:100%}.input-bar .send-btn{flex-shrink:0;margin-left:.25rem}.input-bar .model-selector{flex-shrink:0}.research-btn{display:flex;align-items:center;gap:.35rem;padding:.45rem .75rem;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text-muted);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.research-btn:hover{border-color:var(--accent);color:var(--accent)}.research-btn.research-active{background:var(--accent);border-color:var(--accent);color:#fff}.chat-input-research{border-color:var(--accent)}.research-hint{display:flex;align-items:center;gap:.4rem;padding:.3rem 2rem;font-size:.7rem;color:var(--accent);background:var(--accent-light);max-width:100%;margin:0 auto;width:100%}.chat-input{flex:1;min-width:0;padding:.7rem 1rem;border:2px solid var(--border);border-radius:var(--radius);background:var(--bg-secondary);color:var(--text-primary);font-size:.88rem;outline:none;transition:all var(--transition)}.chat-input:focus{border-color:var(--accent);box-shadow:0 0 0 4px #6366f114}.chat-input::placeholder{color:var(--text-muted)}.send-btn{background:linear-gradient(135deg,var(--accent) 0%,#818cf8 100%);border:none;border-radius:var(--radius-xs);padding:.65rem .75rem;cursor:pointer;color:#fff;display:flex;align-items:center;transition:all var(--transition);box-shadow:0 2px 10px #6366f140;flex-shrink:0}.send-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #6366f159}.send-btn:disabled{opacity:.35;cursor:not-allowed}.typing-indicator{display:flex;gap:4px;padding:.25rem 0}.typing-indicator span{width:6px;height:6px;border-radius:50%;background:var(--text-muted);animation:bounce 1.4s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.dataset-panel{background:var(--bg-secondary);border-bottom:1px solid var(--border);padding:1rem 1.5rem;max-height:50vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.dp-header{display:flex;justify-content:space-between;align-items:center}.dp-header h2{font-size:1rem}.dp-desc{font-size:.82rem;color:var(--text-secondary);margin:.5rem 0}.dp-stats{display:flex;gap:1rem;font-size:.75rem;color:var(--text-muted);margin-bottom:1rem}.dp-section{margin-top:1rem}.dp-section h3{font-size:.85rem;margin-bottom:.5rem;color:var(--text-primary)}.dp-section-header{display:flex;justify-content:space-between;align-items:center}.dp-columns{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.5rem}.dp-col-item{padding:.5rem;border:1px solid var(--border);border-radius:var(--radius-sm)}.dp-col-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.dp-col-name{font-size:.78rem;font-weight:600;color:var(--accent)}.dp-col-type{font-size:.65rem;color:var(--text-muted);background:var(--bg-chat);padding:.1rem .4rem;border-radius:4px}.dp-col-desc{font-size:.75rem;color:var(--text-secondary);line-height:1.4}.dp-col-samples{font-size:.68rem;color:var(--text-muted)}.dp-add-kb{display:flex;flex-direction:column;gap:.5rem;margin:.5rem 0}.dp-add-kb input,.dp-add-kb textarea{padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-chat);color:var(--text-primary);font-size:.82rem;outline:none;font-family:inherit}.dp-add-kb input:focus,.dp-add-kb textarea:focus{border-color:var(--accent)}.dp-add-kb-actions{display:flex;gap:.5rem}.dp-kb-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.dp-kb-item{padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm)}.dp-kb-header{display:flex;justify-content:space-between;align-items:center}.dp-kb-item p{font-size:.78rem;color:var(--text-secondary);margin-top:.25rem;line-height:1.4}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#10142670;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease;padding:16px}.modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;width:90%;max-width:440px;box-shadow:var(--shadow-xl);z-index:10000;animation:modalPop .22s cubic-bezier(.34,1.4,.64,1)}@keyframes modalPop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.modal-header h3{font-size:1rem}.modal-body{margin-bottom:1rem}.modal-footer{display:flex;justify-content:flex-end;gap:.5rem}.feedback-rating-display{margin-bottom:.75rem}.feedback-positive{display:flex;align-items:center;gap:.4rem;color:var(--success);font-size:.85rem}.feedback-negative{display:flex;align-items:center;gap:.4rem;color:var(--danger);font-size:.85rem}.feedback-textarea{width:100%;padding:.6rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-chat);color:var(--text-primary);font-size:.85rem;font-family:inherit;resize:vertical;outline:none}.feedback-textarea:focus{border-color:var(--accent)}.btn-primary{padding:.6rem 1.25rem;background:linear-gradient(135deg,var(--accent) 0%,#818cf8 100%);color:#fff;border:none;border-radius:var(--radius-xs);font-size:.82rem;font-weight:600;cursor:pointer;transition:all var(--transition);box-shadow:0 2px 8px #6366f133,0 1px 2px #6366f11a;letter-spacing:.01em}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #6366f14d}.btn-primary:active{transform:translateY(0);box-shadow:0 1px 4px #6366f126}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{padding:.6rem 1.25rem;background:var(--bg-secondary);color:var(--text-secondary);border:1.5px solid var(--border);border-radius:var(--radius-xs);font-size:.82rem;font-weight:500;cursor:pointer;transition:all var(--transition)}.btn-secondary:hover{background:var(--accent-light);border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}@media(max-width:768px){html,body{height:auto;min-height:100%;overflow-y:auto;-webkit-text-size-adjust:100%}.app-wrapper{height:auto;min-height:100vh}.app{flex-direction:column;overflow:visible}.main-area{overflow:visible}.sidebar{display:none}.nav-bar{width:100%!important;flex-direction:row;overflow-x:auto;overflow-y:hidden;border-right:none;border-bottom:1px solid var(--border);padding:6px 8px;gap:4px;-webkit-overflow-scrolling:touch}.nav-bar.nav-expanded{width:100%!important;align-items:center}.nav-bar .nav-group{flex-direction:row;align-items:center;width:auto;gap:4px}.nav-bar .nav-group+.nav-group{margin-top:0;padding-top:0;border-top:none;padding-left:6px;margin-left:2px;border-left:1px solid var(--border)}.nav-bar .nav-group-label{display:none!important}.header{flex-wrap:wrap;gap:8px;padding:.6rem 1rem;min-height:0}.header-left,.header-right{gap:8px;flex-wrap:wrap}.brand h1{font-size:1rem}.chat-container{flex-direction:column;overflow:visible}.chat-main{overflow:visible}.schema-panel{width:100%;min-width:0;max-height:40vh;border-right:none;border-left:none;border-bottom:1px solid var(--border)}.messages{padding:1rem;overflow-y:auto}.message-user,.message-assistant{max-width:95%}.input-bar{padding:.5rem 1rem}.dp-columns{grid-template-columns:1fr}.panel,.telemetry-panel,.governance-panel,.agents-panel{overflow-x:hidden}.message-table-wrap,.tp-log-table-wrap,.dp-columns-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.dp-columns-table{min-width:0}.modal-overlay>*{width:94%;max-width:94%;max-height:90vh;overflow-y:auto}}.chart-container{margin:.75rem 0;border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem;background:var(--bg-chat);overflow-x:auto}.line-chart{width:100%;height:auto;min-height:320px;max-height:400px}.chart-label-x,.chart-label-y{font-size:9px;fill:var(--text-muted);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.telemetry-panel{background:var(--bg-secondary);border-bottom:1px solid var(--border);padding:1rem 1.5rem;flex:1;overflow-y:auto}.tp-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.tp-header h2{font-size:1rem;font-weight:700}.tp-ph{align-items:flex-start;gap:1rem}.tp-ph .tp-ph-text{min-width:0}.tp-ph .tp-ph-text h2{font-size:1.3rem;font-weight:800;letter-spacing:-.02em}.tp-ph .tp-ph-text p{font-size:.8rem;color:var(--text-secondary);line-height:1.5;margin-top:.25rem;max-width:72ch}.tp-tabs{display:flex;gap:.25rem;margin-bottom:1.1rem;border-bottom:1px solid var(--border);padding-bottom:0}.tp-tab{padding:.55rem .9rem;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;border-radius:0;background:transparent;color:var(--text-secondary);font-size:.82rem;font-weight:600;cursor:pointer;transition:color .15s,border-color .15s}.tp-tab:hover{background:transparent;color:var(--text-primary)}.tp-tab.active{background:transparent;color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.tp-content .tp-tabs{border-bottom:1px solid var(--border)}.tp-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-bottom:1.25rem}.tp-metric-card{display:flex;flex-direction:column;align-items:center;padding:.75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-chat)}.tp-metric-value{font-size:1.4rem;font-weight:700;color:var(--accent)}.tp-metric-label{font-size:.7rem;color:var(--text-muted);margin-top:.2rem;text-align:center}.tp-kstrip .tp-metric-card{align-items:flex-start;gap:.3rem;padding:.85rem .95rem;background:var(--bg-secondary)}.tp-kstrip .tp-metric-label{order:-1;margin-top:0;text-align:left;font-weight:500}.tp-kstrip .tp-metric-value{font-size:1.5rem;letter-spacing:-.02em;color:var(--text-primary);line-height:1.05}.tp-kstrip .tp-metric-value small{font-size:.78rem;font-weight:600;color:var(--text-muted);margin-left:1px}.tp-metric-sub{font-size:.68rem;color:var(--text-muted)}.tp-section{margin-bottom:1rem}.tp-section h3{font-size:.82rem;font-weight:600;margin-bottom:.5rem;color:var(--text-secondary)}.tp-feedback-bar{display:flex;height:32px;border-radius:6px;overflow:hidden;border:1px solid var(--border)}.tp-fb-positive{display:flex;align-items:center;justify-content:center;gap:.3rem;background:var(--success-soft);color:var(--success-ink);font-size:.75rem;font-weight:600;min-width:40px;transition:width .3s}.tp-fb-negative{display:flex;align-items:center;justify-content:center;gap:.3rem;background:var(--danger-soft);color:var(--danger-ink);font-size:.75rem;font-weight:600;min-width:40px;transition:width .3s}[data-theme=dark] .tp-fb-positive{background:#064e3b;color:#6ee7b7}[data-theme=dark] .tp-fb-negative{background:#450a0a;color:#fca5a5}.tp-top-questions{display:flex;flex-direction:column;gap:.3rem}.tp-question-row{display:flex;align-items:center;gap:.5rem;padding:.3rem .5rem;border-radius:4px}.tp-question-row:hover{background:var(--bg-chat)}.tp-q-count{font-size:.7rem;font-weight:600;color:var(--accent);min-width:28px}.tp-q-text{font-size:.78rem;color:var(--text-secondary)}.tp-log-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-sm)}.tp-log-table{width:100%;border-collapse:collapse;font-size:.75rem}.tp-log-table th,.tp-log-table td{padding:.4rem .6rem;text-align:left;border-bottom:1px solid var(--border)}.tp-log-table th{background:var(--bg-chat);font-weight:600;color:var(--text-muted);font-size:.7rem;text-transform:uppercase}.tp-log-table tr:last-child td{border-bottom:none}.tp-log-time{white-space:nowrap;color:var(--text-muted);font-size:.7rem}.tp-log-question{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tp-type-badge{padding:.15rem .4rem;border-radius:4px;font-size:.65rem;font-weight:500}.tp-type-query{background:var(--accent-light);color:var(--accent)}.tp-type-research{background:#fef3c7;color:#92400e}.tp-type-feedback{background:#dcfce7;color:#166534}[data-theme=dark] .tp-type-research{background:#451a03;color:#fbbf24}[data-theme=dark] .tp-type-feedback{background:#064e3b;color:#6ee7b7}.tp-feedback-list{display:flex;flex-direction:column;gap:.5rem}.tp-feedback-item{padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm)}.tp-fi-header{display:flex;align-items:center;gap:.5rem}.tp-fi-rating{font-size:1rem}.tp-fi-question{flex:1;font-size:.78rem;color:var(--text-primary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tp-fi-time{font-size:.68rem;color:var(--text-muted);white-space:nowrap}.tp-fi-comment{font-size:.75rem;color:var(--text-secondary);margin-top:.3rem;padding-left:1.5rem;font-style:italic}.tp-empty{font-size:.8rem;color:var(--text-muted);text-align:center;padding:1.5rem}.feedback-confirmed{font-size:.7rem;color:var(--success);font-weight:500;display:flex;align-items:center;gap:.25rem}.research-action{border-color:var(--accent);color:var(--accent)}.research-action:hover{background:var(--accent);color:#fff}.doc-chat{display:flex;flex-direction:column;flex:1;overflow:hidden}.doc-chat-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;border-bottom:1px solid var(--border)}.doc-chat-header h2{font-size:1rem;font-weight:700}.doc-list{display:flex;align-items:center;gap:.5rem;padding:.5rem 1.5rem;border-bottom:1px solid var(--border);overflow-x:auto;flex-shrink:0}.doc-upload-btn{display:flex;align-items:center;gap:.35rem;padding:.4rem .75rem;border:1px dashed var(--accent);border-radius:8px;background:var(--accent-light);color:var(--accent);font-size:.75rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .2s}.doc-upload-btn:hover{background:var(--accent);color:#fff;border-style:solid}.doc-upload-btn:disabled{opacity:.5;cursor:not-allowed}.doc-item{display:flex;align-items:center;gap:.25rem;border-radius:8px;border:1px solid var(--border);overflow:hidden}.doc-item.doc-active{border-color:var(--accent);background:var(--accent-light)}.doc-item-btn{display:flex;align-items:center;gap:.35rem;padding:.35rem .6rem;background:none;border:none;color:var(--text-secondary);font-size:.75rem;cursor:pointer;white-space:nowrap}.doc-active .doc-item-btn{color:var(--accent);font-weight:500}.doc-item-name{max-width:120px;overflow:hidden;text-overflow:ellipsis}.doc-delete-btn{padding:.3rem;background:none;border:none;color:var(--text-muted);cursor:pointer}.doc-delete-btn:hover{color:var(--danger)}.doc-empty{font-size:.75rem;color:var(--text-muted);padding:0 .5rem;white-space:nowrap}.doc-messages{flex:1;overflow-y:auto;padding:1.5rem 2rem;display:flex;flex-direction:column;gap:1rem;max-width:900px;margin:0 auto;width:100%}.doc-welcome{text-align:center;padding:3rem 1rem}.doc-welcome h3{margin:.75rem 0 .5rem;font-size:1.1rem}.doc-welcome p{color:var(--text-secondary);font-size:.85rem}.doc-input-bar{display:flex;align-items:center;gap:.5rem;padding:.75rem 2rem;background:var(--bg-secondary);border-top:1px solid var(--border);max-width:900px;margin:0 auto;width:100%}.icon-btn-active{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.followup-action{border-color:var(--success);color:var(--success)}.followup-action:hover{background:var(--success);color:#fff}.followup-input-block{margin-top:.5rem;padding:.5rem;border:1px solid var(--success);border-radius:var(--radius-sm);background:var(--bg-chat);animation:fadeIn .2s ease}.followup-form{display:flex;align-items:center;gap:.4rem}.followup-input{flex:1;padding:.4rem .75rem;border:1px solid var(--border);border-radius:20px;background:var(--bg-secondary);color:var(--text-primary);font-size:.8rem;outline:none;transition:border-color .2s}.followup-input:focus{border-color:var(--success)}.followup-input::placeholder{color:var(--text-muted)}.followup-send-btn{background:var(--success);border:none;border-radius:50%;width:28px;height:28px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.followup-send-btn:hover{background:#059669}.message-followup{position:relative}.thread-indicator{display:flex;flex-direction:column;align-items:center;width:20px;flex-shrink:0;margin-top:4px}.thread-line{width:2px;height:100%;min-height:30px;background:var(--success);border-radius:1px;opacity:.5}.thread-tree-panel{background:var(--bg-secondary);border-bottom:1px solid var(--border);box-shadow:var(--shadow-lg);max-height:50vh;display:flex;flex-direction:column;overflow:hidden}.thread-tree-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;border-bottom:1px solid var(--border)}.thread-tree-header h2{font-size:1rem;font-weight:700}.thread-tree-body{flex:1;overflow-y:auto;padding:.75rem 1rem}.tree-empty{font-size:.82rem;color:var(--text-muted);text-align:center;padding:2rem}.tree-root{display:flex;flex-direction:column;gap:.25rem}.tree-node{margin-left:0}.tree-node .tree-node{margin-left:1.25rem}.tree-node-row{display:flex;align-items:flex-start;gap:.4rem;padding:.35rem .5rem;border-radius:6px;transition:background .15s}.tree-node-row:hover{background:var(--bg-chat)}.tree-branch{display:flex;align-items:center;gap:.2rem;flex-shrink:0;min-width:28px;font-size:.75rem;color:var(--text-muted)}.tree-connector{font-family:monospace;color:var(--text-muted);font-size:.8rem;white-space:pre}.tree-toggle{background:none;border:none;color:var(--accent);font-size:.85rem;cursor:pointer;padding:0;line-height:1}.tree-toggle:hover{color:var(--accent-hover)}.tree-leaf{font-size:.5rem;color:var(--success)}.tree-content{display:flex;flex-direction:column;gap:.15rem;cursor:pointer;flex:1;min-width:0}.tree-question{font-size:.8rem;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-answer{font-size:.72rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-children-count{font-size:.65rem;color:var(--accent);font-weight:500}.tree-children{border-left:2px solid var(--border);margin-left:.6rem;padding-left:.5rem}.thread-tree-legend{display:flex;align-items:center;gap:1rem;padding:.5rem 1.25rem;border-top:1px solid var(--border);font-size:.68rem;color:var(--text-muted)}.legend-item{display:flex;align-items:center;gap:.3rem}.legend-dot{width:8px;height:8px;border-radius:50%}.root-dot{background:var(--accent)}.followup-dot{background:var(--success)}.dp-columns-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-sm);margin-top:.5rem}.dp-columns-table{width:100%;border-collapse:collapse;font-size:.8rem;min-width:800px}.dp-columns-table th{padding:.6rem .75rem;text-align:left;background:var(--bg-chat);font-weight:600;color:var(--text-secondary);font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border);white-space:nowrap;position:sticky;top:0;z-index:1}.dp-columns-table td{padding:.5rem .75rem;border-bottom:1px solid var(--border);vertical-align:top}.dp-columns-table tr:last-child td{border-bottom:none}.dp-columns-table tr:hover td{background:var(--accent-light)}.col-name-cell code{font-size:.78rem;font-weight:600;color:var(--accent);font-family:SF Mono,Fira Code,monospace}.col-type-cell{white-space:nowrap}.col-view-cell{display:flex;align-items:center;gap:.4rem;cursor:pointer;min-height:24px;padding:.2rem .4rem;border-radius:4px;transition:background .15s;font-size:.78rem;color:var(--text-primary);line-height:1.4}.col-view-cell:hover{background:var(--bg-chat)}.col-view-cell:hover .col-edit-icon{opacity:1}.col-edit-icon{flex-shrink:0;opacity:0;color:var(--text-muted);transition:opacity .15s}.col-placeholder{color:var(--text-muted);font-style:italic;font-size:.72rem}.col-edit-cell{display:flex;align-items:center}.col-edit-input{width:100%;padding:.3rem .5rem;border:1.5px solid var(--accent);border-radius:4px;background:var(--bg-secondary);color:var(--text-primary);font-size:.78rem;font-family:inherit;outline:none;transition:box-shadow .2s}.col-edit-input:focus{box-shadow:0 0 0 2px var(--accent-light)}.col-edit-input::placeholder{color:var(--text-muted);font-style:italic}.spinner-sm{display:inline-block;width:12px;height:12px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ai-suggestions-panel{animation:fadeIn .3s ease}.join-panel{background:var(--bg-secondary);border-bottom:1px solid var(--border);flex:1;overflow-y:auto;padding:1rem 1.5rem}.join-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.join-panel-header h2{font-size:1rem;font-weight:700;display:flex;align-items:center;gap:.4rem}.join-panel-actions{display:flex;align-items:center;gap:.5rem}.panel-collapse-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:5px;background:none;color:var(--text-muted);cursor:pointer;flex-shrink:0}.panel-collapse-btn:hover{background:var(--accent-light);color:var(--accent)}.join-panel.panel-collapsed,.data-products-panel.panel-collapsed{flex:0 0 auto;overflow:hidden}.join-panel.panel-collapsed>*:not(.join-panel-header),.data-products-panel.panel-collapsed>*:not(.dp-panel-header){display:none}.upload-btn{display:flex;align-items:center;gap:.35rem;padding:.4rem .75rem;border:1px dashed var(--accent);border-radius:8px;background:var(--accent-light);color:var(--accent);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s}.upload-btn:hover{background:var(--accent);color:#fff;border-style:solid}.join-section{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border)}.join-section:first-of-type{border-top:none;margin-top:.5rem;padding-top:0}.join-section h3{font-size:.85rem;font-weight:600;margin-bottom:.5rem}.join-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.join-dataset-list{display:flex;flex-wrap:wrap;gap:.5rem}.join-dataset-chip{display:flex;align-items:center;gap:.4rem;padding:.5rem .85rem;border:1.5px solid var(--border);border-radius:8px;background:var(--bg-chat);color:var(--text-secondary);font-size:.8rem;cursor:pointer;transition:all .2s}.join-dataset-chip:hover{border-color:var(--accent);color:var(--accent)}.join-dataset-chip.selected{border-color:var(--accent);background:var(--accent-light);color:var(--accent);font-weight:500}.join-ds-rows{font-size:.65rem;color:var(--text-muted);background:var(--bg-secondary);padding:.1rem .4rem;border-radius:4px}.join-hint{font-size:.78rem;color:var(--text-muted);font-style:italic}.join-condition{position:relative;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem;margin-bottom:.75rem;background:var(--bg-chat)}.join-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:.5rem}.join-side label{display:block;font-size:.68rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.25rem}.join-side select{width:100%;padding:.4rem .6rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.8rem;outline:none;cursor:pointer}.join-side select:focus{border-color:var(--accent)}.join-type-row{margin-bottom:.5rem}.join-type-row label{display:block;font-size:.68rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.3rem}.join-type-options{display:flex;gap:.3rem}.join-type-btn{padding:.3rem .6rem;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-secondary);font-size:.72rem;font-weight:500;cursor:pointer;transition:all .15s}.join-type-btn:hover{border-color:var(--accent);color:var(--accent)}.join-type-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.join-remove-btn{position:absolute;top:.5rem;right:.5rem;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.2rem}.join-remove-btn:hover{color:var(--danger)}.join-execute-btn{display:flex;align-items:center;gap:.4rem;margin-top:.75rem}.join-error{margin-top:.75rem;padding:.5rem .75rem;background:#fee2e2;border:1px solid #fecaca;border-radius:6px;color:#991b1b;font-size:.78rem}[data-theme=dark] .join-error{background:#450a0a;border-color:#7f1d1d;color:#fca5a5}.join-result-stats{display:flex;gap:1rem;margin-bottom:.5rem}.join-stat{font-size:.78rem;font-weight:600;color:var(--accent);background:var(--accent-light);padding:.2rem .6rem;border-radius:12px}.join-preview-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:.5rem;max-height:200px}.join-preview-table{width:100%;border-collapse:separate;border-spacing:0;font-size:12px;font-variant-numeric:tabular-nums;background:var(--bg-secondary);color:var(--text-primary)}.join-preview-table th,.join-preview-table td{padding:7px 12px;text-align:left;white-space:nowrap;max-width:240px;overflow:hidden;text-overflow:ellipsis;border-right:1px solid var(--border);border-bottom:1px solid var(--border);vertical-align:middle}.join-preview-table th:last-child,.join-preview-table td:last-child{border-right:none}.join-preview-table thead th{position:sticky;top:0;z-index:1;background:var(--bg-primary);font-weight:700;color:var(--text-secondary);text-transform:none;letter-spacing:0;box-shadow:inset 0 -1px 0 var(--border);cursor:default}.join-preview-table tbody tr:nth-child(2n) td{background:var(--bg-primary)}.join-preview-table tbody tr:hover td{background:var(--accent-light)}.join-preview-table tbody tr:last-child td{border-bottom:none}.join-preview-table td.num,.join-preview-table th.num{text-align:right;font-variant-numeric:tabular-nums}.join-preview-table td.null-cell{color:var(--text-muted);font-style:italic}.join-sql-hint{font-size:.72rem;color:var(--text-muted);margin-top:.5rem}.join-sql-hint code{font-family:SF Mono,Fira Code,monospace;color:var(--accent);font-size:.7rem}.create-product-section{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border)}.create-product-btn{display:flex;align-items:center;gap:.5rem;width:100%;justify-content:center;padding:.65rem 1.25rem;font-size:.85rem;background:linear-gradient(135deg,var(--accent),#8b5cf6);border:none;border-radius:var(--radius-sm);color:#fff;font-weight:600;cursor:pointer;transition:transform .15s,box-shadow .2s}.create-product-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.create-product-form{border:1px solid var(--accent);border-radius:var(--radius-sm);padding:1rem;background:var(--accent-light);animation:fadeIn .2s ease}.create-product-form h4{font-size:.9rem;font-weight:700;margin-bottom:.25rem;color:var(--text-primary)}.create-product-desc{font-size:.75rem;color:var(--text-secondary);margin-bottom:.75rem}.create-product-fields{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.create-product-field label{display:block;font-size:.7rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.2rem}.create-product-field input,.create-product-field textarea{width:100%;padding:.45rem .7rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.82rem;font-family:inherit;outline:none;transition:border-color .2s}.create-product-field input:focus,.create-product-field textarea:focus{border-color:var(--accent)}.create-product-actions{display:flex;gap:.5rem}.create-product-success{display:flex;align-items:center;gap:.75rem;margin-top:1rem;padding:.75rem 1rem;border:1px solid var(--success);border-radius:var(--radius-sm);background:#dcfce7;animation:fadeIn .3s ease}[data-theme=dark] .create-product-success{background:#064e3b}.create-product-success svg{color:var(--success);flex-shrink:0}.create-product-success strong{font-size:.85rem;color:var(--text-primary)}.create-product-success p{font-size:.72rem;color:var(--text-secondary);margin-top:.15rem}.create-product-success .btn-primary{margin-left:auto;white-space:nowrap;flex-shrink:0}.join-panel-title-area{display:flex;flex-direction:column;gap:.35rem}.join-steps{display:flex;align-items:center;gap:.4rem;font-size:.7rem}.join-step{color:var(--text-muted);font-weight:500}.join-step.active{color:var(--accent);font-weight:600}.join-step-arrow{color:var(--text-muted);font-size:.65rem}.jp-stepper{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-top:2px}.jp-step{display:flex;align-items:center;gap:8px;padding:4px;opacity:.7}.jp-step.current,.jp-step.done{opacity:1}.jp-step-num{flex-shrink:0;width:22px;height:22px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;background:var(--bg-chat);color:var(--text-muted);border:1.5px solid var(--border)}.jp-step.current .jp-step-num{background:var(--accent);color:#fff;border-color:var(--accent)}.jp-step.done .jp-step-num{background:var(--success-soft, var(--accent-light));color:var(--success-ink, var(--accent));border-color:transparent}.jp-step-text{display:flex;flex-direction:column;line-height:1.2}.jp-step-title{font-size:.78rem;font-weight:700;color:var(--text-secondary)}.jp-step.current .jp-step-title{color:var(--text-primary)}.jp-step-sub{font-size:.66rem;color:var(--text-muted);font-weight:500}.jp-step-sep{flex:1;min-width:16px;height:1.5px;background:var(--border);margin:0 2px;border-radius:1px}.jp-step-lead{font-size:.82rem;color:var(--text-secondary);margin-bottom:.75rem}.jp-step-lead strong{color:var(--accent);font-weight:700}.jp-wizard-foot{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.jp-foot-meta{margin-right:auto;font-size:.75rem;color:var(--text-muted);font-weight:500}.jp-field-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:10px}.jp-field-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);overflow:hidden;display:flex;flex-direction:column}.jp-field-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;border-bottom:1px solid var(--border);background:var(--bg-chat)}.jp-field-card-title{display:inline-flex;align-items:center;gap:7px;font-size:.82rem;font-weight:700;color:var(--text-primary);min-width:0}.jp-field-card-title svg{color:var(--text-muted);flex-shrink:0}.jp-field-selectall{border:none;background:none;cursor:pointer;font-size:.72rem;font-weight:600;color:var(--accent);padding:2px 4px;flex-shrink:0}.jp-field-selectall:hover{text-decoration:underline}.jp-field-card-body{display:flex;flex-direction:column;max-height:260px;overflow-y:auto;padding:4px 0}.jp-field-row{display:flex;align-items:center;gap:9px;padding:6px 12px;cursor:pointer;font-size:.8rem;color:var(--text-secondary)}.jp-field-row:hover{background:var(--bg-chat)}.jp-field-row.on{color:var(--text-primary)}.jp-field-row input{width:15px;height:15px;flex-shrink:0;accent-color:var(--accent);cursor:pointer}.jp-field-name{font-family:var(--mono, monospace);font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jp-field-keybadge{margin-left:auto;flex-shrink:0;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--accent);background:var(--accent-light, transparent);border:1px solid var(--accent-soft, var(--border));padding:1px 6px;border-radius:999px}.jp-field-foot-meta{display:flex;align-items:center;gap:10px;margin-top:12px}.jp-field-foot-meta .field-count{margin-left:auto;font-size:.75rem;color:var(--text-muted);font-weight:500}.join-ds-checkbox{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.join-ds-info{display:flex;flex-direction:column;gap:.1rem}.join-ds-name{font-weight:500}.field-select-actions{display:flex;align-items:center;gap:.5rem}.field-count{font-size:.72rem;font-weight:600;color:var(--accent);background:var(--accent-light);padding:.2rem .5rem;border-radius:10px}.field-selection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.4rem;margin:.75rem 0;max-height:280px;overflow-y:auto;padding:.5rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-chat)}.field-checkbox-item{display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-secondary);cursor:pointer;transition:all .15s;-webkit-user-select:none;user-select:none}.field-checkbox-item:hover{border-color:var(--accent)}.field-checkbox-item.checked{border-color:var(--accent);background:var(--accent-light)}.field-checkbox-item input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.field-checkbox-info{display:flex;flex-direction:column;gap:.05rem;min-width:0}.field-checkbox-name{font-size:.78rem;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-checkbox-source{font-size:.62rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.join-preview-section{margin-top:.75rem}.join-preview-section h4{font-size:.8rem;font-weight:600;margin-bottom:.4rem;color:var(--text-secondary)}.create-success-info{flex:1}.create-success-info strong{display:block}.create-success-info p{margin-top:.15rem}.dataset-picker{display:flex;flex-direction:column;gap:.5rem;margin-top:1.5rem;max-width:500px;width:100%}.dataset-picker-item{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);cursor:pointer;transition:all .2s;text-align:left}.dataset-picker-item:hover{border-color:var(--accent);background:var(--accent-light);transform:translateY(-1px);box-shadow:var(--shadow-lg)}.dataset-picker-item svg{flex-shrink:0;color:var(--accent)}.dataset-picker-info{display:flex;flex-direction:column;gap:.2rem;min-width:0}.dataset-picker-name{font-size:.9rem;font-weight:600;color:var(--text-primary)}.dataset-picker-meta{font-size:.72rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}button.dataset-badge{cursor:pointer;border:none;transition:all .15s}button.dataset-badge:hover{background:var(--accent);color:#fff}.field-selection-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-sm);margin:.75rem 0;max-height:350px;overflow-y:auto}.field-selection-table{width:100%;border-collapse:collapse;font-size:.8rem;min-width:600px}.field-selection-table thead{position:sticky;top:0;z-index:2}.field-selection-table th{padding:.55rem .75rem;text-align:left;background:var(--bg-chat);font-weight:600;color:var(--text-secondary);font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border);white-space:nowrap}.field-selection-table td{padding:.45rem .75rem;border-bottom:1px solid var(--border);vertical-align:middle}.field-selection-table tr{cursor:pointer;transition:background .1s}.field-selection-table tbody tr:hover td,.field-selection-table tr.field-row-selected td{background:var(--accent-light)}.field-selection-table tr:last-child td{border-bottom:none}.field-th-check,.field-td-check{width:36px;text-align:center}.field-td-check input,.field-th-check input{width:15px;height:15px;accent-color:var(--accent);cursor:pointer}.field-td-name code{font-size:.78rem;font-weight:600;color:var(--accent);font-family:SF Mono,Fira Code,monospace}.field-td-type{white-space:nowrap}.field-td-source{font-size:.72rem;color:var(--text-muted);white-space:nowrap}.field-td-desc{font-size:.75rem;color:var(--text-secondary);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-products-panel{background:var(--bg-secondary);border-bottom:1px solid var(--border);flex:1;overflow-y:auto;padding:1rem 1.5rem}.dp-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.dp-panel-header h2{font-size:1rem;font-weight:700;display:flex;align-items:center;gap:.4rem}.dp-loading{font-size:.82rem;color:var(--text-muted);text-align:center;padding:2rem}.dp-devmode-hint{display:flex;align-items:center;gap:8px;margin:0 0 .9rem;padding:9px 12px;border-radius:var(--radius-sm);background:var(--accent-light, var(--bg-chat));border:1px solid var(--accent-soft, var(--border));color:var(--text-secondary);font-size:.8rem;line-height:1.5}.dp-devmode-hint svg{flex-shrink:0;color:var(--accent)}.dp-devmode-hint strong{color:var(--text-primary);font-weight:600}.dp-ph{align-items:flex-start;gap:1rem}.dp-ph .dp-ph-text{min-width:0}.dp-ph .dp-ph-text h2{font-size:1.25rem;letter-spacing:-.01em;margin-bottom:.25rem}.dp-ph .dp-ph-text p{font-size:.8rem;color:var(--text-secondary);line-height:1.5;max-width:72ch;margin:0}.dp-sec-t{display:flex;align-items:center;gap:.5rem}.dp-sec-c{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--accent-light);color:var(--accent);font-size:.66rem;font-weight:700}.dp-empty{text-align:center;padding:2rem 1rem;color:var(--text-muted)}.dp-empty svg{margin-bottom:.75rem;color:var(--text-muted)}.dp-empty h3{font-size:.95rem;font-weight:600;color:var(--text-primary);margin-bottom:.4rem}.dp-empty p{font-size:.8rem}.dp-products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:.75rem}.dp-product-card{border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.25rem;background:var(--bg-secondary);box-shadow:var(--shadow);transition:border-color .2s,box-shadow .2s}.dp-product-card:hover{border-color:var(--accent);box-shadow:var(--shadow-lg)}.dp-card-title h4{font-size:.98rem;font-weight:700}.dp-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.dp-card-title{display:flex;align-items:center;gap:.5rem}.dp-card-title svg{color:var(--accent);flex-shrink:0}.dp-card-title h4{font-size:.9rem;font-weight:600;color:var(--text-primary)}.dp-pop-badge{font-size:.62rem;font-weight:600;padding:.15rem .5rem;border-radius:10px;text-transform:uppercase;letter-spacing:.03em}.pop-hot{background:var(--danger-soft);color:var(--danger-ink)}.pop-popular{background:var(--warning-soft);color:var(--warning-ink)}.pop-active{background:var(--success-soft);color:var(--success-ink)}.pop-used{background:var(--accent-light);color:var(--accent)}.pop-new{background:var(--bg-chat);color:var(--text-muted);border:1px solid var(--border)}.dp-card-desc{font-size:.75rem;color:var(--text-secondary);line-height:1.4;margin-bottom:.75rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dp-card-stats{display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:.9rem}.dp-card-stat{display:flex;flex-direction:column;align-items:flex-start;gap:1px}.dp-stat-value{font-size:1.15rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;line-height:1.1}.dp-stat-label{font-size:.64rem;color:var(--text-muted);font-weight:500}.dp-card-meta{display:flex;justify-content:space-between;font-size:.68rem;color:var(--text-muted);margin-bottom:.75rem}.dp-card-action{width:100%;justify-content:center;font-size:.8rem}.dp-edit-row{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.dp-edit-row .btn-secondary{flex:1;min-width:150px;justify-content:center;font-size:.78rem}.dp-card-body{display:flex;flex-direction:column;gap:.85rem;margin-bottom:.85rem}.dp-statstrip{display:flex;flex-wrap:wrap;gap:1.4rem}.dp-stat2{display:flex;flex-direction:column;gap:1px}.dp-stat2-v{font-size:1.15rem;font-weight:800;color:var(--text-primary);letter-spacing:-.02em;line-height:1.1}.dp-stat2-l{font-size:.64rem;color:var(--text-muted);font-weight:500;text-transform:lowercase}.dp-score-good{color:var(--success-ink, #15803d)}.dp-score-ok{color:var(--warning-ink, #b45309)}.dp-score-low{color:var(--danger-ink, #b91c1c)}.dp-howbuilt{background:var(--bg-chat);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px}.dp-howbuilt-label{font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:8px}.dp-lineage{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.dp-lin-node{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:8px;background:var(--bg-secondary);border:1px solid var(--border);font-size:.75rem;font-weight:600;color:var(--text-secondary)}.dp-lin-node svg{color:var(--text-muted);flex-shrink:0}.dp-lin-product{background:var(--accent-light, var(--bg-secondary));border-color:var(--accent-soft, var(--border));color:var(--accent)}.dp-lin-product svg{color:var(--accent)}.dp-lin-join{display:inline-flex;flex-direction:column;align-items:center;gap:1px;line-height:1.1}.dp-lin-jtype{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.dp-lin-key{font-size:.62rem;color:var(--accent);background:var(--accent-light, transparent);padding:1px 5px;border-radius:4px;font-family:var(--mono, monospace)}.dp-lin-arrow{color:var(--text-muted);font-weight:700}.dp-usedby{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.dp-usedby-label{font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-right:2px}.dp-usedby-chip{font-size:.72rem;font-weight:600;padding:3px 9px;border-radius:999px;border:1px solid var(--border);background:var(--bg-chat);color:var(--text-secondary)}.dp-usedby-kpi{color:var(--accent);border-color:var(--accent-soft, var(--border))}.dp-usedby-none{font-size:.72rem;color:var(--text-muted);font-style:italic}.dp-panel-actions{display:flex;align-items:center;gap:.5rem}.dp-products-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:.75rem;align-items:start}.dp-products-list>.catalog-section-title{grid-column:1 / -1}.dp-product-card.expanded{grid-column:1 / -1}.dev-mode-btn{display:flex;align-items:center;gap:.35rem;padding:.35rem .7rem;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-muted);font-size:.72rem;font-weight:500;cursor:pointer;transition:all .15s}.dev-mode-btn:hover{border-color:var(--accent);color:var(--accent)}.dev-mode-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.dp-card-header-right{display:flex;align-items:center;gap:.5rem}.dp-product-card.expanded{border-color:var(--accent)}.dp-dev-columns{margin:.75rem 0;padding-top:.75rem;border-top:1px solid var(--border)}.dp-dev-columns h5{font-size:.78rem;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem}.dp-dev-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-sm);max-height:300px;overflow-y:auto}.dp-dev-table{width:100%;border-collapse:collapse;font-size:.75rem;min-width:700px}.dp-dev-table th{padding:.5rem .6rem;text-align:left;background:var(--bg-secondary);font-weight:600;color:var(--text-muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border);white-space:nowrap;position:sticky;top:0;z-index:1}.dp-dev-table td{padding:.4rem .6rem;border-bottom:1px solid var(--border);vertical-align:middle}.dp-dev-table tr:last-child td{border-bottom:none}.dp-dev-table tr:hover td{background:var(--accent-light)}.dp-saved-indicator{display:inline-flex;align-items:center;gap:.3rem;font-size:.7rem;font-weight:500;color:var(--success);background:#dcfce7;padding:.2rem .6rem;border-radius:12px;animation:fadeIn .3s ease}[data-theme=dark] .dp-saved-indicator{background:#064e3b}.dp-saved-indicator svg{color:var(--success)}.dp-dev-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.dp-dev-header h5{font-size:.78rem;font-weight:600;color:var(--text-secondary)}.tp-log-user{font-size:.72rem;color:var(--text-secondary);white-space:nowrap}.tp-log-sql{max-width:240px;white-space:nowrap}.tp-log-sql code{display:inline-block;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;font-family:SF Mono,Fira Code,monospace;font-size:.68rem;color:var(--accent);cursor:help}.tp-sql-copy-btn:hover{color:var(--accent)!important}.tp-log-dataset{white-space:nowrap}.tp-dataset-badge{font-size:.65rem;font-weight:500;padding:.15rem .45rem;border-radius:8px;background:var(--bg-chat);color:var(--text-secondary);border:1px solid var(--border)}.tp-dataset-product{background:var(--accent-light);color:var(--accent);border-color:var(--accent)}.catalog-panel{background:var(--bg-secondary);border-bottom:1px solid var(--border);flex:1;overflow:hidden;display:flex;flex-direction:column}.catalog-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;border-bottom:1px solid var(--border);flex-shrink:0}.catalog-header h2{font-size:1rem;font-weight:700}.cat-ph{align-items:flex-start}.cat-ph .cat-ph-text{min-width:0}.cat-ph .cat-ph-text h2{font-size:1.25rem;letter-spacing:-.01em;margin-bottom:.25rem}.cat-ph .cat-ph-text p{font-size:.8rem;color:var(--text-secondary);line-height:1.5;max-width:72ch;margin:0}.catalog-body{display:flex;flex:1;overflow:hidden}.catalog-list{width:240px;flex-shrink:0;border-right:1px solid var(--border);overflow-y:auto;padding:.6rem}.cat-search{display:flex;align-items:center;gap:.5rem;padding:.45rem .6rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-muted);margin-bottom:.5rem;transition:border-color .15s,box-shadow .15s}.cat-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft, rgba(99,102,241,.08))}.cat-search svg{flex-shrink:0}.cat-search input{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--text-primary);font-size:.78rem}.cat-search input::placeholder{color:var(--text-muted)}.cat-search-clear{flex-shrink:0;display:flex;border:none;background:none;color:var(--text-muted);cursor:pointer;padding:2px;border-radius:4px}.cat-search-clear:hover{color:var(--text-primary);background:var(--bg-chat)}.cat-chips{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.75rem}.cat-chip{padding:.25rem .65rem;border-radius:999px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-secondary);font-size:.72rem;font-weight:500;cursor:pointer;transition:all .15s}.cat-chip:hover{border-color:var(--accent);color:var(--accent)}.cat-chip.on{background:var(--accent-light);border-color:var(--accent);color:var(--accent);font-weight:600}.catalog-list-empty{font-size:.75rem;color:var(--text-muted);padding:1rem .5rem;text-align:center}.cat-kstrip{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.6rem;margin-bottom:1.1rem}.cat-kpi{display:flex;flex-direction:column;gap:.25rem;padding:.7rem .85rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-primary)}.cat-kpi-k{font-size:.64rem;color:var(--text-muted);font-weight:500}.cat-kpi-v{font-size:1.2rem;font-weight:700;letter-spacing:-.02em;color:var(--text-primary);line-height:1.1}.cat-kpi-v small{font-size:.75rem;font-weight:600;color:var(--text-muted)}.catalog-list h3{font-size:.7rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;padding:.4rem .5rem}.catalog-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .6rem;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);font-size:.78rem;cursor:pointer;text-align:left;transition:all .15s}.catalog-item:hover{background:var(--bg-chat)}.catalog-item.active{background:var(--accent-light);color:var(--accent)}.catalog-item svg{flex-shrink:0}.catalog-item-info{display:flex;flex-direction:column;gap:.1rem;min-width:0;flex:1}.catalog-item-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-item-meta{font-size:.65rem;color:var(--text-muted)}.catalog-item-btn{min-width:0;overflow:hidden}.catalog-item .catalog-delete-btn{flex-shrink:0}.catalog-delete-btn:hover{opacity:1!important;color:var(--danger, #ef4444)}.catalog-detail{flex:1;overflow-y:auto;padding:1rem 1.25rem}.catalog-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:.85rem}.catalog-detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.catalog-detail-header h3{font-size:1rem;font-weight:700;margin-bottom:.25rem}.catalog-detail-desc{font-size:.78rem;color:var(--text-secondary);line-height:1.4;margin-bottom:.4rem}.catalog-detail-stats{display:flex;align-items:center;gap:.75rem;font-size:.72rem;color:var(--text-muted)}.cat-detail-tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-top:.5rem}.cat-detail-tab{border:none;background:none;cursor:pointer;font-size:.82rem;font-weight:600;color:var(--text-secondary);padding:9px 14px;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--transition),border-color var(--transition)}.cat-detail-tab:hover{color:var(--text-primary)}.cat-detail-tab.on{color:var(--accent);border-bottom-color:var(--accent)}.catalog-section{margin-top:1.25rem}.catalog-section h4{font-size:.82rem;font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.catalog-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.catalog-section-header h4{margin-bottom:0}.catalog-preview-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-sm);max-height:220px;overflow-y:auto}.cat-preview-section{margin-top:.75rem;display:flex;flex-direction:column}.cat-preview-wrap-full{max-height:calc(100vh - 360px);min-height:300px}.cat-preview-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.cat-preview-bar-meta{font-size:.72rem;color:var(--text-muted);font-weight:500}.cat-open-explorer{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;padding:6px 12px}.cat-open-explorer svg{color:var(--accent)}.ollama-btn{display:flex;align-items:center;gap:.25rem;padding:.35rem .55rem;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-muted);font-size:.7rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.ollama-btn:hover{border-color:#f59e0b;color:#f59e0b}.ollama-btn.ollama-active{background:#f59e0b;border-color:#f59e0b;color:#fff}.ollama-btn.ollama-unavailable{opacity:.4;cursor:not-allowed}.chat-input-ollama{border-color:var(--accent)}.engine-badge{font-size:.55rem;font-weight:700;padding:.1rem .35rem;border-radius:4px;margin-right:.3rem;text-transform:uppercase;letter-spacing:.03em}.engine-ollama{background:#fef3c7;color:#92400e}[data-theme=dark] .engine-ollama{background:#451a03;color:#fbbf24}.model-selector{display:flex;align-items:center;flex-shrink:0}.model-select{padding:.35rem .5rem;border:1px solid var(--accent);border-radius:6px;background:var(--accent-light);color:var(--text-primary);font-size:.72rem;font-weight:600;outline:none;cursor:pointer;transition:border-color .2s,box-shadow .2s}.model-select:focus{border-color:var(--accent)}.tp-eff-badge{font-size:.75rem;font-weight:600}.tp-eff-yes{color:var(--success)}.tp-eff-no{color:var(--danger)}.tp-log-rec{font-size:.68rem;color:var(--warning);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tp-type-claude{background:var(--accent-light);color:var(--accent)}.tp-type-openai{background:#dcfce7;color:#166534}.tp-type-gemini{background:#dbeafe;color:#1e40af}[data-theme=dark] .tp-type-openai{background:#064e3b;color:#6ee7b7}[data-theme=dark] .tp-type-gemini{background:#1e3a5f;color:#93c5fd}.connectors-panel{background:var(--bg-primary);flex:1;overflow-y:auto;padding:1.5rem 2rem}.conn-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.conn-header h2{font-size:1.15rem;font-weight:800;letter-spacing:-.02em}.conn-header-actions{display:flex;align-items:center;gap:.5rem}.conn-add-form{border:1.5px solid var(--accent);border-radius:var(--radius);padding:1.25rem;margin-bottom:1.25rem;background:var(--bg-secondary);box-shadow:var(--shadow-md)}.conn-add-form h3{font-size:.95rem;font-weight:700;margin-bottom:.85rem}.conn-type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.6rem;margin-bottom:1.25rem}.conn-type-card{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:.8rem;border:1.5px solid var(--border);border-radius:var(--radius-xs);background:var(--bg-secondary);cursor:pointer;transition:all .2s}.conn-type-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-md)}.conn-type-card.selected{border-color:var(--accent);background:var(--accent-light);box-shadow:0 0 0 3px #6366f11a}.conn-type-icon{font-size:1.5rem}.conn-type-name{font-size:.72rem;font-weight:600;color:var(--text-secondary)}.conn-fields{display:flex;flex-direction:column;gap:.6rem}.conn-field label{display:block;font-size:.7rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;margin-bottom:.2rem;letter-spacing:.03em}.conn-field input[type=text],.conn-field input[type=number],.conn-field input[type=password]{width:100%;padding:.5rem .75rem;border:1.5px solid var(--border);border-radius:var(--radius-xs);background:var(--bg-primary);color:var(--text-primary);font-size:.82rem;outline:none}.conn-field input:focus{border-color:var(--accent)}.conn-form-actions{display:flex;gap:.5rem;margin-top:.75rem}.conn-test-result{margin-top:.5rem;padding:.5rem .75rem;border-radius:6px;font-size:.78rem}.conn-test-result.success{background:var(--success-soft);color:var(--success-ink);border:1px solid color-mix(in srgb,var(--success) 30%,transparent)}.conn-test-result.error{background:var(--danger-soft);color:var(--danger-ink);border:1px solid color-mix(in srgb,var(--danger) 30%,transparent)}.conn-upload-card{padding:20px 16px;border:1.5px solid var(--border);border-radius:12px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s,transform .2s;background:var(--bg-secondary)}.conn-upload-card:hover{border-color:var(--accent);background:var(--accent-light);transform:translateY(-2px)}.conn-list{margin-top:1rem}.conn-list h3{font-size:.85rem;font-weight:600;margin-bottom:.5rem}.conn-empty{font-size:.78rem;color:var(--text-muted);font-style:italic}.conn-item{display:flex;align-items:center;justify-content:space-between;padding:.6rem .75rem;border:1px solid var(--border);border-radius:8px;margin-bottom:.5rem;background:var(--bg-chat)}.conn-item-left{display:flex;align-items:center;gap:.6rem}.conn-item-icon{font-size:1.2rem}.conn-item-info{display:flex;flex-direction:column}.conn-item-info strong{font-size:.82rem}.conn-item-meta{font-size:.68rem;color:var(--text-muted)}.conn-item-actions{display:flex;gap:.3rem}.conn-status{font-weight:600}.conn-status-connected{color:var(--success)}.conn-status-disconnected{color:var(--text-muted)}.conn-status-error{color:var(--danger)}.conn-install-hint{font-size:.75rem;color:var(--text-muted)}.conn-install-hint h4{font-size:.78rem;font-weight:600;color:var(--text-secondary);margin-bottom:.3rem}.conn-install-hint code{font-family:SF Mono,monospace;color:var(--accent);font-size:.72rem}.conn-supported-badges{display:inline-block;font-size:.8rem;line-height:1.9;color:var(--text-secondary)}.input-wrapper{position:relative;flex:1;min-width:0;overflow:hidden}.input-wrapper .chat-input{width:100%;box-sizing:border-box}.autocomplete-dropdown{position:absolute;bottom:100%;left:0;right:0;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);max-height:240px;overflow-y:auto;z-index:100;margin-bottom:4px}.autocomplete-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.5rem .75rem;border:none;background:transparent;color:var(--text-primary);font-size:.8rem;cursor:pointer;text-align:left;transition:background .1s}.autocomplete-item:hover{background:var(--accent-light)}.ac-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ac-source{font-size:.65rem;color:var(--text-muted);margin-left:.5rem;white-space:nowrap}.save-action{border-color:var(--accent);color:var(--accent)}.save-action:hover{background:var(--accent);color:#fff}.sidebar-saved{border-bottom:1px solid var(--border);padding:.5rem}.sidebar-saved-toggle{display:flex;align-items:center;gap:.4rem;width:100%;padding:.4rem .5rem;border:none;border-radius:6px;background:transparent;color:var(--accent);font-size:.75rem;font-weight:600;cursor:pointer;transition:background .15s}.sidebar-saved-toggle:hover{background:var(--accent-light)}.sidebar-saved-toggle span{flex:1;text-align:left}.toggle-arrow{transition:transform .2s}.toggle-arrow.open{transform:rotate(180deg)}.sidebar-saved-list{margin-top:.3rem;display:flex;flex-direction:column;gap:.2rem}.saved-query-item{display:flex;align-items:center;gap:.3rem;padding:.4rem .5rem;border-radius:6px;cursor:pointer;transition:background .1s}.saved-query-item:hover{background:var(--accent-light)}.saved-query-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.saved-query-title{font-size:.72rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-query-text{font-size:.65rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-query-delete{flex-shrink:0;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.2rem;border-radius:4px;opacity:0;transition:opacity .15s}.saved-query-item:hover .saved-query-delete{opacity:1}.saved-query-delete:hover{color:var(--danger);background:var(--bg-chat)}.comparison-panel{background:var(--bg-secondary);border-bottom:1px solid var(--border);flex:1;overflow-y:auto;padding:1rem 1.5rem}.comp-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.comp-header h2{font-size:1rem;font-weight:700}.comp-input-area{display:flex;gap:.5rem;align-items:center;margin-bottom:1rem}.comp-dataset-select{padding:.45rem .6rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-chat);color:var(--text-primary);font-size:.8rem;outline:none}.comp-question-input{flex:1;padding:.5rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-chat);color:var(--text-primary);font-size:.85rem;outline:none}.comp-question-input:focus{border-color:var(--accent)}.comp-loading{text-align:center;padding:2rem;color:var(--text-muted)}.comp-loading p{margin-top:.5rem;font-size:.8rem}.comp-summary{margin-bottom:1.5rem}.comp-summary-table{width:100%;border-collapse:collapse;font-size:.78rem}.comp-summary-table th,.comp-summary-table td{padding:.5rem .75rem;border:1px solid var(--border);text-align:left}.comp-summary-table th{background:var(--bg-chat);font-weight:600}.comp-row-error td{opacity:.5}.comp-score{font-weight:700;font-size:.85rem}.comp-details{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:.75rem}.comp-detail-card{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem;background:var(--bg-chat)}.comp-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.comp-detail-time{font-size:.72rem;color:var(--text-muted)}.comp-detail-section{margin-top:.5rem;font-size:.75rem}.comp-detail-section strong{color:var(--text-secondary);font-size:.7rem;text-transform:uppercase}.comp-detail-section ul{padding-left:1rem;margin-top:.2rem}.comp-detail-section li{font-size:.72rem;color:var(--text-secondary)}.comp-sql{font-family:SF Mono,monospace;font-size:.68rem;color:var(--accent);background:var(--bg-secondary);padding:.4rem;border-radius:4px;overflow-x:auto;white-space:pre-wrap;margin-top:.2rem}.comp-error{color:var(--danger);font-size:.78rem}.comp-table-wrap{overflow-x:auto;margin-top:.3rem;max-height:150px}.annotate-active{border-color:var(--warning);color:var(--warning)}.annotations-block{margin-top:.5rem;padding:.5rem;border:1px solid var(--warning);border-radius:var(--radius-sm);background:#fefce8;animation:fadeIn .2s ease}[data-theme=dark] .annotations-block{background:#1c1917}.annotation-item{display:flex;align-items:center;gap:.4rem;padding:.3rem 0;border-bottom:1px solid rgba(0,0,0,.05);font-size:.75rem}.annotation-item:last-of-type{border-bottom:none}.annotation-user{font-weight:600;color:var(--accent);font-size:.68rem;min-width:50px}.annotation-text{flex:1;color:var(--text-primary)}.annotation-delete{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.8rem;padding:0 .2rem}.annotation-delete:hover{color:var(--danger)}.annotation-form{display:flex;gap:.3rem;margin-top:.4rem}.annotation-input{flex:1;padding:.3rem .6rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.75rem;outline:none}.annotation-input:focus{border-color:var(--warning)}.annotation-send{padding:.3rem .6rem;background:var(--warning);color:#fff;border:none;border-radius:6px;font-size:.7rem;font-weight:600;cursor:pointer}.conn-tables{margin-top:.5rem;padding:.5rem .75rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-secondary)}.conn-tables-label{font-size:.7rem;font-weight:600;color:var(--text-muted)}.conn-tables-toggle{display:inline-flex;align-items:center;gap:.4rem;background:none;border:none;padding:.2rem 0;cursor:pointer;color:var(--text-muted);width:100%;text-align:left}.conn-tables-toggle:hover{color:var(--text-secondary)}.conn-tables-toggle svg{flex-shrink:0}.conn-list-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.conn-list-header-actions{display:inline-flex;align-items:center;gap:.35rem}.conn-linkbtn{background:none;border:none;padding:0;cursor:pointer;font-size:.72rem;font-weight:600;color:var(--accent)}.conn-linkbtn:hover{text-decoration:underline}.conn-linkbtn-sep{color:var(--text-muted);font-size:.72rem}.conn-collapse-btn{background:none;border:none;padding:0 .15rem;margin-right:.1rem;cursor:pointer;color:var(--text-muted);display:inline-flex;align-items:center;flex-shrink:0}.conn-collapse-btn:hover{color:var(--text-secondary)}.conn-admin-note{font-size:.75rem;color:var(--text-muted);font-weight:600}.conn-tables-list{display:flex;flex-direction:column;gap:.25rem;margin-top:.3rem;max-height:200px;overflow-y:auto}.conn-table-item{display:flex;align-items:center;justify-content:space-between;padding:.3rem .4rem;border-radius:4px}.conn-table-item:hover{background:var(--accent-light)}.conn-table-name{font-size:.75rem;font-family:SF Mono,monospace;color:var(--text-primary);display:inline-flex;align-items:center;gap:.5rem}.conn-table-badge{font-family:inherit;font-size:.62rem;font-weight:600;padding:.08rem .4rem;border-radius:999px;white-space:nowrap}.conn-table-badge-registered{color:var(--success-ink);background:var(--success-soft)}.conn-table-badge-unregistered{color:var(--text-muted);background:var(--bg-secondary);border:1px solid var(--border)}.action-btn.action-btn-danger{color:var(--danger-ink);border-color:color-mix(in srgb,var(--danger) 35%,transparent)}.action-btn.action-btn-danger:hover{background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 55%,transparent)}.conn-how{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-secondary);margin-bottom:18px;overflow:hidden}.conn-how>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:12px 16px;font-size:.84rem;font-weight:600;color:var(--text-primary)}.conn-how>summary::-webkit-details-marker{display:none}.conn-how .conn-how-chev{color:var(--text-muted);transition:transform .18s ease}.conn-how[open] .conn-how-chev{transform:rotate(90deg)}.conn-how-body{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:0 16px 16px}.conn-how-step{font-size:.8rem;color:var(--text-secondary);line-height:1.5}.conn-how-step b{display:flex;align-items:center;gap:8px;color:var(--text-primary);font-size:.84rem;margin-bottom:4px}.conn-how-step b i{display:grid;place-items:center;width:20px;height:20px;border-radius:999px;background:var(--accent-light);color:var(--accent);font-size:.7rem;font-weight:700;font-style:normal;flex:none}@media(max-width:760px){.conn-how-body{grid-template-columns:1fr}}.conn-sec-t{display:flex;align-items:center;gap:8px}.conn-sec-count{font-size:.72rem;font-weight:700;color:var(--accent);background:var(--accent-light);border-radius:999px;padding:1px 8px;letter-spacing:0}.conn-sec-actions{margin-left:auto;display:inline-flex;align-items:center;gap:.35rem;text-transform:none;letter-spacing:0}.conn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;margin-bottom:8px;align-items:start}.conn-card{padding:18px;display:flex;flex-direction:column;gap:14px}.conn-card.conn-card-expanded{grid-column:1 / -1}.conn-card.conn-card-expanded .conn-tables-list{max-height:360px;column-gap:20px}@media(min-width:900px){.conn-card.conn-card-expanded .conn-tables-list{columns:2}}@media(min-width:1300px){.conn-card.conn-card-expanded .conn-tables-list{columns:3}}.conn-card.conn-card-expanded .conn-table-item{break-inside:avoid}.conn-supported-toggle{display:flex;align-items:center;gap:9px;width:100%;margin-top:18px;padding:11px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);cursor:pointer;font-size:.82rem;font-weight:700;color:var(--text-primary)}.conn-supported-toggle:hover{border-color:var(--accent)}.conn-sup-chev{flex-shrink:0;transition:transform .18s ease;color:var(--text-muted)}.conn-sup-chev.open{transform:rotate(90deg)}.conn-sup-count{font-size:.66rem;font-weight:700;padding:1px 7px;border-radius:999px;background:var(--accent-light);color:var(--accent)}.conn-sup-hint{margin-left:auto;font-size:.72rem;font-weight:500;color:var(--text-muted)}.conn-card-top{display:flex;align-items:center;gap:10px}.conn-card-logo{font-size:1.5rem;flex:none;line-height:1}.conn-card-id{display:flex;flex-direction:column;min-width:0}.conn-card-id strong{font-size:.92rem;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conn-card-type{font-size:.74rem;color:var(--text-muted)}.conn-card-badges{display:flex;flex-wrap:wrap;gap:6px}.conn-tag-ro{background:var(--bg-chat);color:var(--text-secondary);border:1px solid var(--border)}.conn-card-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.conn-stat{display:flex;flex-direction:column;gap:2px;padding:8px 10px;background:var(--bg-primary);border:1px solid var(--border);border-radius:10px}.conn-stat-v{font-size:1.1rem;font-weight:800;letter-spacing:-.02em;color:var(--text-primary)}.conn-stat-k{font-size:.7rem;color:var(--text-muted);font-weight:500}.conn-card-prog{display:flex;flex-direction:column;gap:5px}.conn-card-prog-l{font-size:.7rem;color:var(--text-muted)}.conn-card-actions{display:flex;gap:8px}.conn-card-actions .sg-btn{flex:1}.conn-menu-wrap{margin-left:auto;position:relative;flex:none}.conn-menu-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;border:1px solid transparent;background:none;color:var(--text-muted);cursor:pointer}.conn-menu-btn:hover{background:var(--bg-chat);color:var(--text-primary)}.conn-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:20;min-width:130px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-md);padding:4px;display:flex;flex-direction:column}.conn-menu button{text-align:left;background:none;border:none;cursor:pointer;font-size:.8rem;color:var(--text-primary);padding:7px 10px;border-radius:7px;font-family:inherit}.conn-menu button:hover{background:var(--bg-chat)}.conn-menu button.conn-menu-danger{color:var(--danger-ink)}.conn-menu button.conn-menu-danger:hover{background:var(--danger-soft)}.conn-src-search{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:14px}.conn-src-input{flex:1;min-width:220px}.conn-src-cats{flex-wrap:wrap}.conn-src-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.conn-src-tile{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--bg-primary);cursor:pointer;text-align:left;transition:var(--transition);font-family:inherit}.conn-src-tile:hover:not(:disabled){border-color:var(--accent);background:var(--accent-light);transform:translateY(-2px);box-shadow:var(--shadow)}.conn-src-tile:disabled{cursor:not-allowed;opacity:.55}.conn-src-tile-icon{font-size:1.4rem;line-height:1}.conn-src-tile-name{font-size:.82rem;font-weight:600;color:var(--text-primary)}.conn-src-tile-cat{font-size:.68rem;color:var(--text-muted)}.conn-src-foot{font-size:.78rem;color:var(--text-muted);margin-top:12px;line-height:1.5}.conn-src-foot strong{color:var(--accent);font-weight:600}.conn-drop{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1.5px dashed var(--border-strong, var(--border));border-radius:var(--radius);background:var(--bg-secondary);cursor:pointer;transition:var(--transition)}.conn-drop:hover{border-color:var(--accent);background:var(--accent-light)}.conn-drop-icon{flex:none}.conn-drop-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.conn-drop-text strong{font-size:.9rem;font-weight:700;color:var(--text-primary)}.conn-drop-text span{font-size:.78rem;color:var(--text-muted);line-height:1.45}.ask-again-btn{position:absolute;bottom:-8px;left:-8px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .15s,background .15s;color:var(--text-muted)}.message-user .message-bubble{position:relative}.message-user:hover .ask-again-btn{opacity:1}.ask-again-btn:hover{background:var(--accent-light);color:var(--accent);border-color:var(--accent)}.msg-para{margin:.5rem 0;line-height:1.7}.msg-para:first-child{margin-top:0}.msg-para:last-child{margin-bottom:0}.message-text strong{font-weight:700;color:var(--text-primary)}.validation-panel{background:var(--bg-primary);flex:1;overflow-y:auto;padding:1.5rem 1.75rem 4rem}.val-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}.val-header-main h2{font-size:1.4rem;font-weight:800;letter-spacing:-.03em;color:var(--text-primary)}.val-header-sub{font-size:.82rem;color:var(--text-secondary);margin-top:.25rem;max-width:460px;line-height:1.5}.val-header-right{display:flex;align-items:center;gap:.75rem}.val-controls{display:inline-flex;align-items:center;gap:.5rem;margin:0;background:var(--bg-secondary);border:1px solid var(--border);border-radius:999px;padding:.3rem .4rem .3rem .75rem;box-shadow:var(--shadow)}.val-controls .model-select{border:none;background:transparent;padding:.3rem .4rem;box-shadow:none;font-weight:600}.val-agent-dot{width:8px;height:8px;border-radius:50%;background:var(--success);flex:none}.val-progress{font-size:.78rem;color:var(--text-muted);font-style:italic}.val-progressbar{height:3px;border-radius:3px;background:var(--bg-chat);overflow:hidden;margin-bottom:1rem}.val-progressbar i{display:block;height:100%;width:40%;border-radius:3px;background:linear-gradient(90deg,var(--accent),#a78bfa);animation:valProg 1.2s ease-in-out infinite}@keyframes valProg{0%{transform:translate(-100%)}to{transform:translate(350%)}}.val-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow)}.val-card-h{display:flex;align-items:center;gap:.6rem;padding:.9rem 1.1rem 0}.val-card-h h3{font-size:.9rem;font-weight:700;letter-spacing:-.01em}.val-card-sub{font-size:.76rem;color:var(--text-muted)}.val-clear-history{margin-left:auto}.val-overview{display:grid;grid-template-columns:1.05fr 1.6fr;gap:1rem;margin-bottom:1rem;align-items:start}@media(max-width:1100px){.val-overview{grid-template-columns:1fr}}.val-acc{display:grid;grid-template-columns:auto 1fr;gap:1.4rem;align-items:center;padding:1.1rem}.val-ring{position:relative;width:132px;height:132px;flex:none}.val-ring svg{width:132px;height:132px;transform:rotate(-90deg)}.val-ring-bg{stroke:var(--bg-chat)}.val-ring-fg{stroke:var(--ring-color, var(--accent));transition:stroke-dashoffset .9s cubic-bezier(.4,0,.2,1),stroke .3s}.val-ring-val{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;line-height:1}.val-ring-val b{font-size:1.9rem;font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--text-primary)}.val-ring-val small{display:block;font-size:.62rem;color:var(--text-muted);font-weight:500;margin-top:.15rem;line-height:1}.val-acc-meta .val-verdict{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:600;padding:.25rem .6rem;border-radius:999px;margin-bottom:.55rem}.val-v-good{background:#10b9811f;color:var(--success)}.val-v-warn{background:#f59e0b24;color:var(--warning)}.val-v-bad{background:#ef44441f;color:var(--danger)}.val-acc-meta h4{font-size:.92rem;font-weight:700;letter-spacing:-.01em;line-height:1.35;color:var(--text-primary)}.val-acc-meta p{font-size:.76rem;color:var(--text-muted);margin-top:.25rem}.val-kpis{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--border)}.val-kpi{padding:.75rem 1rem;border-right:1px solid var(--border)}.val-kpi:last-child{border-right:none}.val-kpi-k{font-size:.7rem;color:var(--text-muted);font-weight:500;display:flex;align-items:center;gap:.4rem}.val-kpi-k i{width:7px;height:7px;border-radius:50%;flex:none}.val-kpi-v{font-size:1.2rem;font-weight:800;letter-spacing:-.03em;margin-top:.15rem;color:var(--text-primary)}@media(max-width:700px){.val-kpis{grid-template-columns:repeat(2,1fr)}.val-kpi:nth-child(2){border-right:none}.val-kpi:nth-child(-n+2){border-bottom:1px solid var(--border)}.val-acc{grid-template-columns:1fr;justify-items:center;text-align:center}}.val-cmp{padding:.4rem 1.1rem 1rem}.val-cmp-row{display:grid;grid-template-columns:150px 1fr 70px 60px 80px 90px;gap:.8rem;align-items:center;padding:.65rem 0;border-bottom:1px dashed var(--border)}.val-cmp-row:last-child{border-bottom:none}.val-cmp-head{font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding:.7rem 0 .4rem;border-bottom:1px solid var(--border)}.val-cmp-m{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.78rem}.val-cmp-bestbadge{font-size:.62rem;font-weight:700;color:var(--success);background:#10b9811f;padding:.05rem .4rem;border-radius:5px}.val-cmp-tiebadge{font-size:.62rem;font-weight:700;color:var(--text-muted);background:var(--bg-chat);border:1px solid var(--border);padding:.05rem .4rem;border-radius:5px}.val-barw{display:flex;align-items:center;gap:.6rem}.val-bar{flex:1;height:8px;border-radius:6px;background:var(--bg-chat);overflow:hidden}.val-bar i{display:block;height:100%;border-radius:6px;transition:width .8s cubic-bezier(.4,0,.2,1)}.val-barw b{font-size:.78rem;width:40px;text-align:right;font-variant-numeric:tabular-nums}.val-cmp-num{font-size:.78rem;color:var(--text-secondary);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.val-cmp-best .val-cmp-m{color:var(--text-primary)}.val-cmp-hint{display:flex;gap:.5rem;align-items:flex-start;margin:.4rem 1.1rem 1.1rem;background:var(--accent-soft);border:1px solid var(--accent);border-radius:11px;padding:.7rem .8rem;font-size:.78rem;color:var(--text-secondary);line-height:1.45}.val-comp-pass{color:var(--success);font-weight:600}.val-comp-fail{color:var(--danger)}.val-acc-high{color:var(--success)}.val-acc-mid{color:var(--warning)}.val-acc-low{color:var(--danger)}@media(max-width:900px){.val-cmp-row{grid-template-columns:110px 1fr 60px}.val-cmp-row>:nth-child(n+4){display:none}}.val-tests-card{overflow:hidden}.val-tests-h{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.85rem 1.1rem;border-bottom:1px solid var(--border)}.val-preset{padding:1.1rem}.val-preset-tip{padding:.7rem .9rem;background:var(--accent-soft);border:1px solid var(--accent);border-radius:10px;color:var(--text-secondary);font-size:.78rem;margin-bottom:1rem;line-height:1.5}.val-cases{display:flex;flex-direction:column;gap:1rem}.val-cat-label{font-size:.8rem;font-weight:700;margin-bottom:.4rem}.val-cat-simple{color:var(--success)}.val-cat-medium{color:var(--warning)}.val-cat-complex{color:var(--accent)}.val-questions{display:flex;flex-direction:column;gap:.2rem}.val-question-item{display:flex;gap:.5rem;padding:.4rem .6rem;font-size:.8rem;border-radius:8px;transition:background .15s}.val-question-item:hover{background:var(--bg-chat)}.val-q-id{font-weight:600;color:var(--text-muted);min-width:26px}.val-q-text{color:var(--text-primary)}.val-empty{padding:2.5rem 1.1rem;text-align:center;color:var(--text-muted);font-size:.82rem;line-height:1.6}.val-empty b{display:block;color:var(--text-primary);font-size:.95rem;margin-bottom:.3rem}.val-summary{display:flex;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.val-stat{display:flex;flex-direction:column;align-items:center;padding:.5rem 1rem;border:1px solid var(--border);border-radius:10px;min-width:70px;background:var(--bg-secondary)}.val-stat-num{font-size:1.3rem;font-weight:800}.val-stat span:last-child{font-size:.64rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.val-pass .val-stat-num{color:var(--success)}.val-fail .val-stat-num{color:var(--danger)}.val-error .val-stat-num{color:var(--warning)}.val-results-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:12px}.val-results-table{width:100%;border-collapse:collapse;font-size:.76rem}.val-results-table th{padding:.6rem .75rem;background:var(--bg-chat);font-weight:700;text-align:left;border-bottom:1px solid var(--border);font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);white-space:nowrap}.val-results-table td{padding:.6rem .75rem;border-bottom:1px solid var(--border);vertical-align:middle}.val-results-table tbody tr:last-child td{border-bottom:none}.val-row-pass,.val-row-fail,.val-row-error,.val-row-pending,.val-row-running{transition:background .15s}.val-row-pass:hover td,.val-row-fail:hover td,.val-row-error:hover td,.val-row-pending:hover td,.val-row-running:hover td{background:var(--bg-chat)}.val-row-open td{background:var(--accent-soft)!important}.val-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.68rem;font-weight:600;padding:.2rem .55rem;border-radius:999px;white-space:nowrap}.val-badge-pass{background:#10b9811f;color:var(--success)}.val-badge-fail{background:#ef44441f;color:var(--danger)}.val-badge-error{background:#f59e0b24;color:var(--warning)}.val-badge-pending{background:var(--bg-chat);color:var(--text-muted);border:1px solid var(--border)}.val-badge-running{background:var(--accent-light);color:var(--accent)}[data-theme=dark] .val-badge-pass{background:#34d39929;color:#6ee7b7}[data-theme=dark] .val-badge-fail{background:#f8717129;color:#fca5a5}[data-theme=dark] .val-badge-error{background:#fbbf2429;color:#fbbf24}.val-id{font-weight:600;font-family:var(--mono, monospace);color:var(--text-muted);font-variant-numeric:tabular-nums}.val-question{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:var(--text-primary)}.val-expected,.val-got{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono, monospace);font-size:.68rem;color:var(--text-secondary)}.val-time{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--text-secondary)}.val-match{color:var(--text-secondary)}.val-match-bad{color:var(--danger);font-weight:600}.val-cancel-btn{border-color:var(--danger);color:var(--danger)}.val-cancel-btn:hover{background:var(--danger);color:#fff}.val-expanded-row td{padding:0!important;background:var(--accent-soft)}.val-sql-compare{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;padding:.9rem 1.1rem 1.1rem}@media(max-width:900px){.val-sql-compare{grid-template-columns:1fr}}.val-sql-block strong{font-size:.64rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;display:block;margin-bottom:.35rem}.val-sql-block pre{font-family:var(--mono, "SF Mono", monospace);font-size:.72rem;line-height:1.6;color:var(--text-secondary);background:var(--bg-secondary);padding:.6rem .75rem;border-radius:9px;white-space:pre-wrap;word-break:break-word;border:1px solid var(--border)}.val-diff-mark{background:color-mix(in srgb,var(--warning) 26%,transparent);color:var(--text-primary);border-radius:3px;padding:0 1px}.val-fail-tools{padding:0 1.1rem 1.1rem}.val-fail-actions{display:flex;gap:.5rem;flex-wrap:wrap}.val-explain{margin-top:.7rem;border:1px solid var(--border);border-radius:10px;padding:.75rem .9rem;background:var(--bg-primary)}.val-explain-reason{margin:0 0 .5rem;font-size:.82rem;line-height:1.55;color:var(--text-primary)}.val-explain-fix{margin-top:.4rem}.val-explain-fix-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:.3rem}.val-explain-fix-h strong{font-size:.64rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.val-explain-fix pre{font-family:var(--mono, "SF Mono", monospace);font-size:.72rem;line-height:1.6;color:var(--text-secondary);background:var(--bg-secondary);padding:.55rem .7rem;border-radius:8px;white-space:pre-wrap;word-break:break-word;border:1px solid var(--border);margin:0}.val-explain-err{margin:.3rem 0 0;font-size:.78rem;color:var(--danger)}.val-explain-caveat{margin:.5rem 0 0;font-size:.7rem;color:var(--text-muted);font-style:italic}.val-teach{margin-top:.7rem;border:1px dashed var(--border-strong, var(--border));border-radius:10px;padding:.75rem .9rem;background:var(--accent-soft)}.val-teach-label{display:block;font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.3rem}.val-teach-input{width:100%;margin-top:.3rem;font-family:inherit;font-size:.82rem;line-height:1.5;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;padding:.55rem .7rem;resize:vertical;box-sizing:border-box}.val-teach-actions{display:flex;gap:.5rem;margin-top:.55rem}.val-teach-saved{font-size:.82rem;color:var(--success);display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.btn-link{background:none;border:none;color:var(--accent);cursor:pointer;padding:0;font:inherit;text-decoration:underline}.smart-chart{margin:.85rem 0;padding:1.25rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-secondary);box-shadow:var(--shadow);overflow:hidden}.smart-chart .recharts-cartesian-grid-horizontal line,.smart-chart .recharts-cartesian-grid-vertical line{stroke:var(--border);opacity:.5}.smart-chart .recharts-tooltip-wrapper{z-index:10}.smart-chart .recharts-legend-item-text{color:var(--text-primary)!important;font-size:12px}.role-switcher{display:flex;align-items:center}.role-select{padding:.3rem .5rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-chat);color:var(--text-primary);font-size:.7rem;font-weight:500;outline:none;cursor:pointer}.role-select:focus{border-color:var(--accent)}.governance-panel{background:var(--bg-secondary);border-bottom:1px solid var(--border);flex:1;overflow-y:auto;padding:1rem 1.5rem}.gov-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.gov-header h2{font-size:1rem;font-weight:700}.gov-tabs{display:flex;gap:.25rem;margin-bottom:1rem;border-bottom:1px solid var(--border);padding-bottom:.5rem;flex-wrap:wrap}.gov-ph{align-items:flex-start;gap:1rem}.gov-ph .gov-ph-text{min-width:0}.gov-ph .gov-ph-text h2{font-size:1.3rem;font-weight:800;letter-spacing:-.02em}.gov-ph .gov-ph-text p{font-size:.8rem;color:var(--text-secondary);line-height:1.5;margin-top:.25rem;max-width:76ch}.gov-subnav{gap:.1rem;padding-bottom:0}.gov-subnav .tp-tab{padding:.55rem .85rem;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;border-radius:0;background:transparent;color:var(--text-secondary);font-size:.8rem;font-weight:600;cursor:pointer;transition:color .15s,border-color .15s}.gov-subnav .tp-tab:hover{background:transparent;color:var(--text-primary)}.gov-subnav .tp-tab.active{background:transparent;color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.gov-kstrip{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.75rem}.gov-kstrip .gov-stat-card{align-items:flex-start;gap:.25rem;padding:.85rem .95rem;background:var(--bg-secondary);border-radius:var(--radius-sm);text-align:left}.gov-kstrip .gov-stat-num{order:2;font-size:1.5rem;font-weight:800;letter-spacing:-.02em;color:var(--text-primary);line-height:1.05}.gov-kstrip .gov-stat-card span:last-child{order:1;font-size:.66rem;font-weight:500;text-transform:none;color:var(--text-muted)}.gov-promotions{animation:fadeIn .3s ease}.gov-promotions h3{font-size:14px;font-weight:700;margin-bottom:8px}.promo-import-section{padding:16px;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border);margin-bottom:16px}.promo-result{padding:12px;border-radius:8px;margin-top:10px;font-size:13px}.promo-result p{margin:4px 0 0;font-size:12px}.promo-success{background:#10b98114;border:1px solid rgba(16,185,129,.3);color:#059669}.promo-fail{background:var(--danger-soft);border:1px solid color-mix(in srgb,var(--danger) 30%,transparent);color:var(--danger-ink)}.gov-stats{display:flex;gap:1rem;margin-bottom:1.5rem}.gov-stat-card{display:flex;flex-direction:column;align-items:center;padding:.75rem 1.5rem;border:1px solid var(--border);border-radius:8px}.gov-stat-num{font-size:1.5rem;font-weight:700;color:var(--accent)}.gov-stat-card span:last-child{font-size:.7rem;color:var(--text-muted);text-transform:uppercase}.gov-section{margin-bottom:1.5rem}.gov-section h3{font-size:.85rem;font-weight:600;margin-bottom:.5rem}.gov-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.gov-role-bars{display:flex;flex-direction:column;gap:.4rem}.gov-role-bar{display:flex;align-items:center;gap:.5rem}.gov-role-label{font-size:.75rem;font-weight:600;min-width:80px;text-transform:capitalize}.gov-bar-track{flex:1;height:8px;background:var(--bg-chat);border-radius:4px;overflow:hidden}.gov-bar-fill{height:100%;border-radius:4px;transition:width .3s}.gov-role-count{font-size:.75rem;font-weight:600;min-width:20px}.gov-login-list{display:flex;flex-direction:column;gap:.3rem}.gov-login-item{display:flex;align-items:center;gap:.75rem;padding:.3rem .5rem;font-size:.78rem;border-radius:4px}.gov-login-item:hover{background:var(--bg-chat)}.gov-login-name{font-weight:500;min-width:120px}.gov-login-role{font-size:.68rem;font-weight:600;text-transform:capitalize}.gov-login-time{font-size:.68rem;color:var(--text-muted);margin-left:auto}.gov-empty{font-size:.78rem;color:var(--text-muted)}.gov-add-form{display:flex;flex-wrap:wrap;gap:.5rem;padding:.75rem;border:1px solid var(--accent);border-radius:8px;margin-bottom:1rem;background:var(--accent-light)}.gov-add-form input,.gov-add-form select{padding:.4rem .6rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.8rem;min-width:150px}.gov-form-actions{display:flex;gap:.5rem;width:100%}.gov-welcome-email{padding:.75rem;border:1px solid var(--success);border-radius:8px;margin-bottom:1rem;background:#f0fdf4}[data-theme=dark] .gov-welcome-email{background:#052e16}.gov-welcome-email h4{font-size:.82rem;color:var(--success);margin-bottom:.4rem}.gov-welcome-email p{font-size:.75rem;margin:.2rem 0}.gov-welcome-email pre{font-size:.72rem;background:var(--bg-secondary);padding:.5rem;border-radius:4px;white-space:pre-wrap;margin:.5rem 0}.gov-users-table{width:100%;border-collapse:collapse;font-size:.78rem}.gov-users-table th{padding:.5rem;background:var(--bg-chat);font-weight:600;text-align:left;border-bottom:1px solid var(--border);font-size:.7rem;text-transform:uppercase}.gov-users-table td{padding:.4rem .5rem;border-bottom:1px solid var(--border)}.gov-role-select{border:none;background:transparent;font-size:.75rem;font-weight:600;cursor:pointer}.gov-status{font-size:.65rem;font-weight:600;padding:.1rem .4rem;border-radius:4px}.gov-status-active{background:#dcfce7;color:#166534}.gov-status-disabled{background:#fee2e2;color:#991b1b}[data-theme=dark] .gov-status-active{background:#064e3b;color:#6ee7b7}[data-theme=dark] .gov-status-disabled{background:#450a0a;color:#fca5a5}.gov-time{font-size:.68rem;color:var(--text-muted)}.gov-group-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;align-items:start}.gov-group-card{padding:1rem 1.1rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);box-shadow:var(--shadow);transition:box-shadow var(--transition),border-color var(--transition),transform var(--transition)}.gov-group-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-1px)}.gov-group-card-open{border-color:var(--accent);box-shadow:var(--shadow-md);transform:none}.gov-group-card h4{font-size:.9rem;margin-bottom:.25rem}.gov-group-card p{font-size:.75rem;color:var(--text-muted);margin-bottom:.5rem}.gov-group-count{font-size:.7rem;font-weight:600;color:var(--accent);display:inline-flex;align-items:center;gap:4px}.gov-group-chevron{display:inline-block;font-size:1rem;line-height:1;transition:transform var(--transition)}.gov-group-members{margin-top:.85rem;padding-top:.75rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.4rem;animation:fadeIn .15s ease}.gov-group-member{display:flex;align-items:center;gap:.6rem;padding:.35rem .4rem;border-radius:var(--radius-xs);transition:background var(--transition)}.gov-group-member:hover{background:var(--bg-chat)}.gov-group-member-avatar{width:28px;height:28px;flex-shrink:0;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700}.gov-group-member-info{display:flex;flex-direction:column;min-width:0;flex:1}.gov-group-member-name{font-size:.78rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gov-group-member-email{font-size:.66rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gov-group-member-role{font-size:.62rem;font-weight:600;text-transform:capitalize;color:var(--accent);background:var(--accent-soft);padding:2px 7px;border-radius:999px;flex-shrink:0}.gov-group-member-empty{font-size:.74rem;color:var(--text-muted);padding:.4rem;font-style:italic}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f0f2ff,#e8f4f8,#f5f0ff)}.login-card{background:#fff;border:1px solid rgba(99,102,241,.08);border-radius:20px;padding:2rem 1.75rem;width:100%;max-width:380px;box-shadow:0 20px 60px #6366f114,0 4px 12px #0000000a;animation:fadeIn .4s ease;overflow:hidden}.login-header{text-align:center;margin-bottom:1.25rem}.login-header h1{font-size:1.3rem;font-weight:800;margin:0 0 .25rem;letter-spacing:-.02em}.login-header p{font-size:.82rem;color:#9ca3af;margin:0}.login-form{display:flex;flex-direction:column;gap:.9rem}.login-field label{display:block;font-size:.7rem;font-weight:600;color:#6b7280;margin-bottom:.3rem;text-transform:uppercase;letter-spacing:.03em}.login-field input{width:100%;padding:.65rem .85rem;border:1.5px solid #e5e7eb;border-radius:10px;font-size:.85rem;outline:none;transition:all .2s;background:#f9fafb;box-sizing:border-box}.login-btn{width:100%;padding:.7rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:10px;font-size:.85rem;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 4px 14px #6366f14d;box-sizing:border-box}@media(max-width:860px){.login-screen{flex-direction:column;padding:24px 16px;gap:24px!important;align-items:stretch!important}.login-card{flex:unset!important;max-width:100%!important;width:100%;align-self:unset!important}.login-marketing{max-width:100%!important;flex:unset!important}}@media(max-width:560px){.login-feature-grid{grid-template-columns:1fr!important}.login-screen{padding:20px 14px}.login-card{padding:20px!important}.login-test-grid{grid-template-columns:1fr!important}}@supports (height: 100dvh){@media(max-width:768px){.login-screen,.app-wrapper{min-height:100dvh}}}.login-form{display:flex;flex-direction:column;gap:1rem}.login-field label{display:block;font-size:.72rem;font-weight:600;color:#6b7280;margin-bottom:.35rem;text-transform:uppercase;letter-spacing:.03em}.login-field input{width:100%;padding:.65rem .85rem;border:1.5px solid #e5e7eb;border-radius:10px;font-size:.85rem;outline:none;transition:all var(--transition);background:#f9fafb;box-sizing:border-box}.login-field input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;background:#fff}.login-error{font-size:.78rem;color:#ef4444;background:#fef2f2;padding:.45rem .7rem;border-radius:8px;border:1px solid #fecaca}.login-btn{width:100%;padding:.7rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:10px;font-size:.85rem;font-weight:700;cursor:pointer;transition:all var(--transition);box-shadow:0 4px 14px #6366f14d;box-sizing:border-box}.login-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #6366f166}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.login-test-users{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #f3f4f6}.login-test-users p{font-size:.72rem;color:#9ca3af;margin-bottom:.5rem;font-weight:500}.login-test-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.login-test-grid button{padding:.45rem .6rem;border:1px solid #e5e7eb;border-radius:8px;background:#fafbfe;font-size:.72rem;font-weight:500;cursor:pointer;transition:all var(--transition)}.login-test-grid button:hover{border-color:#6366f1;background:#eef2ff;transform:translateY(-1px)}.login-toggle{text-align:center;font-size:.8rem;color:#9ca3af;margin-top:.5rem}.login-toggle button{background:none;border:none;color:#6366f1;font-weight:600;cursor:pointer;font-size:.8rem;text-decoration:underline}.login-toggle button:hover{color:#4f46e5}.login-link-btn{background:none;border:none;color:#6366f1;font-size:.75rem;font-weight:600;cursor:pointer;padding:0;text-decoration:underline}.login-link-btn:hover{color:#4f46e5}.login-notice{font-size:.78rem;color:#065f46;background:#ecfdf5;padding:.5rem .7rem;border-radius:8px;border:1px solid #a7f3d0;margin-bottom:.75rem}.login-notice-warn{color:#92400e;background:#fffbeb;border-color:#fde68a}.pw-strength{margin-top:.4rem}.pw-bars{display:flex;gap:4px}.pw-bar{flex:1;height:4px;border-radius:2px;background:#e5e7eb;transition:background .2s}.pw-bar.pw-weak{background:#ef4444}.pw-bar.pw-good{background:#f59e0b}.pw-bar.pw-strong{background:#10b981}.pw-strength-row{display:flex;align-items:center;justify-content:space-between;margin-top:.3rem;gap:8px}.pw-label{font-size:.72rem;font-weight:700}.pw-label.pw-weak{color:#ef4444}.pw-label.pw-good{color:#d97706}.pw-label.pw-strong{color:#059669}.pw-hint{font-size:.7rem;color:#9ca3af;text-align:right}.pw-confirm-wrap{position:relative;display:flex;align-items:center}.pw-confirm-wrap input{flex:1}.pw-match{position:absolute;right:12px;font-weight:800;font-size:.9rem;pointer-events:none}.pw-match-ok{color:#10b981}.pw-match-no{color:#ef4444}.pw-match-text{font-size:.7rem;color:#ef4444;margin-top:.25rem;display:block}.login-sso-section{margin-bottom:1rem;display:flex;flex-direction:column;gap:8px}.login-sso-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:10px 16px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;font-size:.82rem;font-weight:500;cursor:pointer;transition:all .15s;color:#374151}.login-sso-btn:hover{border-color:#6366f1;background:#fafbfe;transform:translateY(-1px);box-shadow:0 2px 8px #0000000f}.login-divider{display:flex;align-items:center;gap:12px;margin:8px 0}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:#e5e7eb}.login-divider span{font-size:.7rem;color:#9ca3af;white-space:nowrap}.login-mock-picker{padding:12px;border-radius:10px;border:1px solid #e5e7eb;background:#fafbfe;margin-bottom:12px}.login-mock-picker h4{margin:0 0 8px;font-size:.78rem;font-weight:600}.login-mock-grid{display:flex;flex-direction:column;gap:6px}.login-mock-user{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border:1px solid #e5e7eb;border-radius:6px;background:#fff;cursor:pointer;transition:all .1s}.login-mock-user:hover{border-color:#6366f1;background:#eef2ff}.login-mock-name{font-size:.8rem;font-weight:500}.login-mock-role{font-size:.68rem;color:#6366f1;font-weight:600;text-transform:capitalize;padding:2px 6px;background:#6366f114;border-radius:4px}.login-mock-cancel{margin-top:8px;width:100%;padding:6px;border:1px solid #e5e7eb;border-radius:6px;background:none;font-size:.72rem;cursor:pointer;color:#6b7280}[data-theme=dark] .login-sso-btn{background:var(--bg-secondary);border-color:var(--border);color:var(--text-primary)}[data-theme=dark] .login-sso-btn:hover{border-color:var(--accent);background:var(--bg-primary)}[data-theme=dark] .login-mock-picker{background:var(--bg-secondary);border-color:var(--border)}[data-theme=dark] .login-mock-user{background:var(--bg-primary);border-color:var(--border)}[data-theme=dark] .login-mock-user:hover{border-color:var(--accent);background:#6366f10f}.user-info{display:flex;align-items:center;gap:8px;padding-left:10px;border-left:1px solid var(--border);height:30px}.user-name{font-size:12px;font-weight:500;color:var(--text-secondary)}.user-role-badge{font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;background:var(--accent-light);color:var(--accent);text-transform:capitalize}.logout-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.35rem;border-radius:6px;display:flex;align-items:center;transition:all var(--transition)}.logout-btn:hover{color:var(--danger);background:#fee2e2}.error-boundary{height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary)}.error-boundary-content{text-align:center;max-width:400px;padding:2rem}.error-boundary-content h3{margin:1rem 0 .5rem;font-size:1.2rem}.error-boundary-content p{color:var(--text-secondary);font-size:.85rem;margin-bottom:1.5rem}.error-boundary-content button{padding:.6rem 1.5rem;background:var(--accent);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer}.error-boundary-content button:hover{background:var(--accent-hover)}.nav-bar{width:72px;background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:center;padding:.75rem 0;gap:.2rem;overflow-y:auto;flex-shrink:0;box-shadow:2px 0 8px #00000008;transition:width .2s ease}.nav-bar.nav-expanded{width:200px;align-items:stretch;padding:.75rem .5rem}.nav-toggle{display:flex;align-items:center;justify-content:center;width:100%;padding:.5rem;margin-bottom:.5rem;border:none;border-radius:var(--radius-xs);background:transparent;color:var(--text-muted);cursor:pointer;transition:all var(--transition)}.nav-toggle:hover{background:var(--accent-light);color:var(--accent)}.nav-item{display:flex;flex-direction:column;align-items:center;gap:.25rem;width:56px;padding:.6rem .35rem;border:none;border-radius:var(--radius-xs);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all var(--transition);position:relative}.nav-expanded .nav-item{flex-direction:row;width:100%;gap:.75rem;padding:.6rem .75rem}.nav-item:hover{background:var(--accent-soft);color:var(--accent)}.nav-expanded .nav-item:hover{transform:none}.nav-item.nav-active{background:var(--accent-light);color:var(--accent);font-weight:600}.nav-item.nav-active svg{stroke-width:2.1;stroke:var(--accent)}.nav-item.nav-active:hover{background:var(--accent-light);color:var(--accent)}.nav-expanded .nav-item.nav-active:before{content:"";position:absolute;left:-.5rem;top:.4rem;bottom:.4rem;width:3px;border-radius:0 3px 3px 0;background:var(--accent)}.nav-label{font-size:.58rem;font-weight:500;text-align:center;line-height:1.2;letter-spacing:.01em;color:inherit}.nav-expanded .nav-label{font-size:.82rem;text-align:left}.nav-item.nav-active .nav-label{font-weight:600}.nav-group{display:flex;flex-direction:column;gap:.15rem;width:100%;align-items:center}.nav-expanded .nav-group{align-items:stretch}.nav-group+.nav-group{margin-top:.55rem}.nav-group-label{display:none;font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);padding:.15rem .75rem .3rem}.nav-expanded .nav-group-label{display:block}.nav-bar:not(.nav-expanded) .nav-group+.nav-group{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border)}.agents-panel{background:var(--bg-secondary);flex:1;overflow-y:auto;overflow-x:hidden;padding:1.5rem;max-width:100%;box-sizing:border-box}.agents-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.agents-header h2{font-size:1.1rem;font-weight:700}.agents-header-actions{display:flex;gap:.5rem}.agent-create-form{border:1px solid var(--border);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;background:var(--bg-primary);box-shadow:0 2px 12px #0000000a;overflow:hidden;max-width:100%;box-sizing:border-box}.agent-create-form h3{font-size:.95rem;font-weight:700;margin-bottom:1rem}.agent-form-fields{display:flex;flex-direction:column;gap:.75rem;overflow:hidden}.agent-field label{display:block;font-size:.7rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;margin-bottom:.3rem;letter-spacing:.02em}.agent-field input,.agent-field select,.agent-field textarea{width:100%;padding:.6rem .8rem;border:1.5px solid var(--border);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:.82rem;font-family:inherit;outline:none;box-sizing:border-box;max-width:100%;transition:border-color .2s,box-shadow .2s}.agent-field input:focus,.agent-field select:focus,.agent-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f114}.agent-form-actions{display:flex;gap:.5rem;margin-top:1rem}.agents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(620px,1fr));gap:1rem}@media(max-width:680px){.agents-grid{grid-template-columns:1fr}}.agents-empty{grid-column:1/-1;text-align:center;padding:3rem;color:var(--text-muted);font-size:.85rem}.agent-card{border:1.5px solid var(--border);border-radius:var(--radius);padding:1.1rem;cursor:pointer;transition:all .2s;position:relative;background:var(--bg-secondary);box-shadow:var(--shadow);overflow:hidden}.agent-card:hover{border-color:var(--accent);box-shadow:var(--shadow-lg);transform:translateY(-3px)}.agent-card-header{display:flex;gap:.75rem;align-items:flex-start}.agent-card-icon{flex-shrink:0;width:40px;height:40px;background:var(--accent-light);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--accent)}.agent-card-info{flex:1;min-width:0}.agent-card-info h4{font-size:.9rem;font-weight:600;margin-bottom:.2rem}.agent-card-info p{font-size:.75rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-delete{background:none;border:none;color:var(--text-muted);cursor:pointer;opacity:0;transition:opacity .15s;display:flex;align-items:center;justify-content:center;padding:.35rem .5rem;min-width:28px}.agent-card:hover .agent-delete{opacity:1}.agent-delete:hover{color:var(--danger)}.agent-card-meta{display:flex;gap:.5rem;margin-top:.75rem;align-items:center}.agent-dataset{font-size:.68rem;background:var(--accent-light);color:var(--accent);padding:.15rem .5rem;border-radius:10px;font-weight:500}.agent-usage{font-size:.65rem;color:var(--text-muted)}.agent-status{font-size:.6rem;font-weight:600;padding:.1rem .4rem;border-radius:4px;text-transform:capitalize}.agent-status-active{background:var(--success-soft);color:var(--success-ink)}.anom-ph{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.anom-ph-text{min-width:0}.anom-ph-text h2{font-size:1.3rem;font-weight:800;letter-spacing:-.02em;margin:0}.anom-ph-text p{font-size:.8rem;color:var(--text-secondary);line-height:1.5;margin:.25rem 0 0;max-width:76ch}.anom-ph-act{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.anom-sched-btn{display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap}.anom-config{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-secondary);padding:1rem 1.1rem;margin-bottom:1rem}.anom-kstrip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-bottom:1.1rem}.anom-kpi{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);padding:.85rem .95rem;display:flex;flex-direction:column;gap:.3rem}.anom-kpi-k{font-size:.66rem;color:var(--text-muted);font-weight:500}.anom-kpi-v{font-size:1.5rem;font-weight:800;letter-spacing:-.02em;color:var(--text-primary);line-height:1.05}.anom-kpi-v.accent{color:var(--accent)}.anom-kpi-s{font-size:.68rem;color:var(--text-muted)}.anom-explain{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-secondary);padding:1rem 1.1rem;margin-bottom:1.1rem}.anom-explain-h{display:flex;align-items:center;gap:.45rem;font-size:.82rem;font-weight:700;color:var(--accent);margin-bottom:.6rem}.anom-explain-body{font-size:.84rem;color:var(--text-primary);line-height:1.6;white-space:pre-wrap}.anom-explain-note{display:flex;align-items:flex-start;gap:.45rem;margin-top:.8rem;padding:.6rem .75rem;border-radius:var(--radius-sm);background:var(--warning-soft);color:var(--warning-ink);font-size:.72rem;line-height:1.45}.anom-explain-note svg{flex-shrink:0;margin-top:1px}.anom-flagged-h{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.6rem}.anom-flagged-h h4{font-size:.92rem;font-weight:700;margin:0}.anom-flagged-h span{font-size:.72rem;color:var(--text-muted)}.dq-ph{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.dq-ph-text{min-width:0}.dq-ph-text h2{font-size:1.3rem;font-weight:800;letter-spacing:-.02em;margin:0}.dq-ph-text p{font-size:.8rem;color:var(--text-secondary);line-height:1.5;margin:.25rem 0 0;max-width:78ch}.dq-kstrip{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem;margin-bottom:1.1rem}.dq-kpi{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);padding:.85rem .95rem;display:flex;flex-direction:column;gap:.3rem}.dq-kpi-k{font-size:.66rem;color:var(--text-muted);font-weight:500}.dq-kpi-v{font-size:1.6rem;font-weight:800;letter-spacing:-.02em;color:var(--text-primary);line-height:1.05}.dq-kpi-s{font-size:.68rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis}.dq-table-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-secondary);overflow:visible;margin-bottom:1.25rem}.dq-table-head,.dq-row{display:grid;grid-template-columns:1fr 90px 110px 120px;align-items:center;gap:.75rem;padding:.7rem 1rem}.dq-table-head{border-bottom:1px solid var(--border);font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.dq-th-score,.dq-th-rows{text-align:center}.dq-row{width:100%;border:none;border-bottom:1px solid var(--border);background:transparent;cursor:pointer;text-align:left;color:var(--text-primary);transition:background .1s}.dq-row:last-child{border-bottom:none}.dq-row:hover{background:var(--bg-chat)}.dq-row.on{background:var(--accent-soft, var(--accent-light))}.dq-row-dataset{display:flex;align-items:center;gap:.6rem;min-width:0}.dq-row-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dq-row-name{font-size:.85rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dq-row-score{text-align:center}.dq-score-badge{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:24px;padding:0 7px;border-radius:12px;border:1.5px solid;font-size:.76rem;font-weight:700}.dq-score-none{color:var(--text-muted)}.dq-row-rows{text-align:center;font-size:.72rem;color:var(--text-muted)}.dq-row-act{display:flex;align-items:center;justify-content:flex-end;gap:.5rem}.dq-rescan{font-size:.72rem;font-weight:600;color:var(--accent)}.ag-ph{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.1rem}.ag-ph-text h1{font-size:1.35rem;font-weight:700;letter-spacing:-.01em;margin:0 0 .3rem}.ag-ph-text p{font-size:.82rem;color:var(--text-secondary);max-width:62ch;line-height:1.5;margin:0}.ag-ph .agents-header-actions{flex-shrink:0}.ag-create-btn{display:inline-flex;align-items:center;gap:.4rem}.ag-utabs{display:flex;gap:.25rem;border-bottom:1px solid var(--border);margin-bottom:1.25rem}.ag-utab{display:inline-flex;align-items:center;gap:.45rem;padding:.6rem .9rem;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;color:var(--text-muted);font-weight:500;font-size:.85rem;cursor:pointer;transition:color .15s,border-color .15s}.ag-utab:hover{color:var(--text-primary)}.ag-utab.on{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.ag-utab-c{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--bg-chat);color:var(--text-secondary);font-size:.68rem;font-weight:600}.ag-utab.on .ag-utab-c{background:var(--accent-light);color:var(--accent)}.agent-card.ag{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(190px,1fr);gap:0;padding:0;cursor:default;overflow:hidden}.agent-card.ag:hover{transform:none;border-color:var(--border);box-shadow:var(--shadow-lg)}.agent-card.ag .ag-l{padding:1.1rem 1.2rem;display:flex;flex-direction:column;gap:.9rem;min-width:0}.agent-card.ag .ag-l-top{display:flex;gap:.75rem;align-items:flex-start}.agent-card.ag .agent-card-icon,.agent-card.ag .agent-card-info{cursor:pointer}.ag-name-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.ag-name-row h4{font-size:.95rem;font-weight:700;margin:0}.agent-card.ag .agent-card-info p{white-space:normal;font-size:.78rem;line-height:1.45;margin-top:.25rem}.ag-pill{display:inline-flex;align-items:center;gap:.35rem;font-size:.66rem;font-weight:600;padding:.12rem .5rem;border-radius:20px;text-transform:none}.ag-pill-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.ag-pill-ok{background:var(--success-soft);color:var(--success-ink)}.ag-pill-mute{background:var(--bg-chat);color:var(--text-muted)}.ag-actions-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto}.ag-btn{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:600;padding:.45rem .85rem;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.ag-btn-primary{background:var(--accent);color:#fff}.ag-btn-primary:hover{background:var(--accent-hover)}.ag-btn-sec{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border)}.ag-btn-sec:hover{border-color:var(--accent);color:var(--accent)}.agent-card.ag .ag-r{padding:1.1rem 1.2rem;background:var(--bg-primary);border-left:1px solid var(--border);min-width:0}.ag-kv{display:grid;grid-template-columns:auto 1fr;gap:.45rem .75rem;margin:0;align-items:center}.ag-kv dt{font-size:.68rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em}.ag-kv dd{margin:0;font-size:.78rem;color:var(--text-primary);min-width:0;overflow:hidden;text-overflow:ellipsis}.ag-kpi-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:.9rem 0 .2rem}.ag-kpi-card{display:flex;flex-direction:column;gap:2px;padding:.7rem .8rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-primary);min-width:0}.ag-kpi-label{font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.ag-kpi-value{font-size:1.45rem;font-weight:800;letter-spacing:-.02em;color:var(--text-primary);line-height:1.05}.ag-kpi-sub{font-size:.62rem;color:var(--text-muted)}.ag-insights{margin-top:.9rem;padding-top:.9rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.75rem}.ag-ins-block{display:flex;flex-direction:column;gap:5px}.ag-ins-head{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.ag-ins-chips{display:flex;flex-wrap:wrap;gap:5px}.ag-ins-chip{font-size:.68rem;font-weight:600;color:var(--text-secondary);background:var(--bg-chat);border:1px solid var(--border);border-radius:999px;padding:2px 8px}.ag-ins-chip b{color:var(--accent);margin-left:2px}.ag-ins-top{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.ag-ins-top li{display:flex;align-items:center;gap:8px;font-size:.74rem;color:var(--text-secondary)}.ag-ins-q{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ag-ins-qn{flex-shrink:0;font-size:.64rem;font-weight:700;color:var(--accent);background:var(--accent-light);border-radius:999px;padding:1px 7px}.ag-ins-sub{font-weight:600;text-transform:none;letter-spacing:0;color:var(--text-secondary)}.ag-ins-note{font-size:.64rem;color:var(--text-muted);margin:-1px 0 2px;font-style:italic}.agent-card.ag .agent-card-actions{margin-left:auto}@media(max-width:720px){.agent-card.ag{grid-template-columns:1fr}.agent-card.ag .ag-r{border-left:none;border-top:1px solid var(--border)}}.aa-wrap{padding:1.25rem 1.5rem 2rem;background:var(--bg-primary)}.aa-ph{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.1rem}.aa-ph-text h2{display:flex;align-items:center;gap:.5rem;margin:0 0 .3rem;font-size:1.15rem;font-weight:700;letter-spacing:-.01em}.aa-ph-text p{margin:0;font-size:.82rem;color:var(--text-secondary);max-width:68ch;line-height:1.5}.aa-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:1.25rem;align-items:start}.aa-side{display:flex;flex-direction:column;gap:1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;position:sticky;top:.5rem}.aa-side-label{font-size:.68rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;display:block;margin-bottom:.6rem}.aa-main{display:flex;flex-direction:column;gap:1rem;min-width:0}.aa-agent-list{display:flex;flex-direction:column;gap:.5rem}.aa-agent-card{display:flex;align-items:center;gap:.6rem;width:100%;text-align:left;padding:.6rem .7rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;transition:border-color .15s,background .15s}.aa-agent-card:hover{border-color:var(--accent)}.aa-agent-card.on{border-color:var(--accent);background:var(--accent-soft, var(--accent-light))}.aa-agent-av{flex-shrink:0;width:32px;height:32px;border-radius:8px;background:var(--accent-light);color:var(--accent);display:flex;align-items:center;justify-content:center}.aa-agent-meta{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.aa-agent-name{font-size:.82rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aa-agent-ds{font-size:.68rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aa-agent-check{flex-shrink:0}.aa-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.75rem}.aa-kpi{display:flex;flex-direction:column;gap:.35rem;padding:.8rem .9rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-secondary)}.aa-kpi-k{font-size:.68rem;color:var(--text-muted);font-weight:500}.aa-kpi-v{font-size:1.35rem;font-weight:700;letter-spacing:-.02em;color:var(--text-primary)}.aa-kpi-v small{font-size:.8rem;font-weight:600;color:var(--text-muted);margin-left:1px}@media(max-width:860px){.aa-layout{grid-template-columns:1fr}.aa-side{position:static}}.agent-upload-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.agent-upload-btn{display:flex;align-items:center;gap:.35rem;font-size:.75rem}.agent-doc-status{font-size:.7rem;color:var(--success);font-weight:500}.agent-card-actions{display:flex;gap:.75rem;align-items:center}.agent-card-actions .action-btn{font-size:.85rem;padding:.35rem .5rem;min-width:28px;display:flex;align-items:center;justify-content:center}.agent-card-actions .promote-btn{opacity:0;transition:opacity .15s}.agent-card:hover .promote-btn{opacity:1}.agent-editing{border-color:var(--accent)}.agent-edit-form{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.6rem;overflow:hidden}.agent-edit-form .agent-field textarea{font-size:.78rem;min-height:60px;resize:vertical}.agent-edit-form .agent-field input,.agent-edit-form .agent-field select,.agent-edit-form .agent-field textarea{max-width:100%;box-sizing:border-box}.teach-btn{border-color:#f59e0b;color:#f59e0b}.teach-btn:hover{background:#f59e0b;color:#fff}.teach-block{margin-top:.5rem;padding:.75rem;border:1.5px solid #f59e0b;border-radius:var(--radius-sm);background:#fffbeb;animation:fadeIn .2s ease}[data-theme=dark] .teach-block{background:#1c1917}.teach-block h5{font-size:.82rem;font-weight:600;margin-bottom:.25rem}.teach-desc{font-size:.72rem;color:var(--text-muted);margin-bottom:.5rem}.teach-input{width:100%;padding:.5rem .7rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.8rem;font-family:inherit;outline:none;resize:vertical}.teach-input:focus{border-color:#f59e0b}.teach-actions{display:flex;gap:.5rem;margin-top:.5rem}.val-custom{display:flex;gap:.5rem;margin-bottom:1rem}.val-custom-input{flex:1;padding:.5rem .75rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-chat);color:var(--text-primary);font-size:.82rem;outline:none}.val-custom-input:focus{border-color:var(--accent)}.val-tabs{display:inline-flex;gap:2px;background:var(--bg-chat);border-radius:10px;padding:3px;margin:0;border:none}.val-tab{padding:6px 14px;font-size:13px;font-weight:600;border:none;background:none;cursor:pointer;color:var(--text-secondary);border-radius:8px;transition:all .15s}.val-tab:hover{color:var(--text-primary)}.val-tab.active{color:var(--text-primary);background:var(--bg-secondary);box-shadow:var(--shadow)}.val-custom-tests{animation:fadeIn .3s ease;padding:1.1rem}.custom-test-form{background:var(--bg-primary);border:1px solid var(--border);border-radius:10px;padding:14px;margin-bottom:16px}.custom-test-form h4{font-size:12px;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;letter-spacing:.5px}.custom-test-form-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:0;border:none;background:none;cursor:pointer;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.custom-test-form-toggle:hover{color:var(--text-primary)}.custom-test-form-toggle .ct-chev{transition:transform .18s;flex-shrink:0}.custom-test-form-toggle .ct-chev.open{transform:rotate(90deg)}.custom-test-form-toggle .custom-test-count{margin-left:auto}.custom-test-form-toggle+.custom-test-fields{margin-top:10px}.custom-test-fields{display:flex;flex-direction:column;gap:8px}.custom-test-fields input{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--bg-secondary);color:var(--text-primary)}.custom-test-fields input:focus{border-color:var(--accent);outline:none}.custom-test-form-actions{display:flex;gap:8px;align-items:center}.custom-test-count{font-size:11px;font-weight:500;color:var(--accent);background:var(--accent-light);padding:2px 8px;border-radius:10px;margin-left:8px}.custom-test-model-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;padding:8px 12px;background:var(--bg-secondary);border-radius:6px;border:1px solid var(--border)}.custom-test-model-bar label{font-size:12px;font-weight:600;color:var(--text-muted);flex-shrink:0}.custom-test-model-tip{flex:1;min-width:200px;font-size:11.5px;line-height:1.4;color:var(--text-muted);padding-left:10px;border-left:1px solid var(--border)}@media(max-width:620px){.custom-test-model-tip{flex-basis:100%;border-left:none;padding-left:0}}.val-runhist{margin:2px 0 14px}.val-runhist-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);display:block;margin-bottom:7px}.val-runhist-chips{display:flex;flex-wrap:wrap;gap:8px}.val-runhist-chip{display:inline-flex;align-items:center;gap:10px;text-align:left;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);cursor:pointer;transition:border-color var(--transition),box-shadow var(--transition)}.val-runhist-chip:hover{border-color:var(--accent);box-shadow:var(--shadow)}.val-runhist-acc{font-size:1rem;font-weight:800;color:var(--accent);letter-spacing:-.01em}.val-runhist-meta{display:flex;flex-direction:column;line-height:1.25}.val-runhist-model{font-size:.78rem;font-weight:700;color:var(--text-primary)}.val-runhist-sub{font-size:.68rem;color:var(--text-muted)}.val-model-hint{display:flex;align-items:flex-start;gap:6px;margin:.4rem 0 1.1rem;padding:0;max-width:none;font-size:.78rem;line-height:1.55;color:var(--text-muted);background:none;border:none;border-radius:0}.val-model-hint-icon{flex-shrink:0;line-height:1.55;font-size:.85rem}.val-model-hint strong{color:var(--text-secondary);font-weight:600}.ctx-ph-tip .val-model-hint-icon{line-height:1.55;font-size:.85rem}.custom-test-hint{font-size:11px;color:var(--text-muted);font-style:italic}.ct-row-actions{display:inline-flex;gap:2px}.ct-remove-btn,.ct-edit-btn{display:inline-flex;align-items:center;justify-content:center;padding:4px;border:none;background:transparent;color:var(--text-muted);border-radius:4px;cursor:pointer;transition:color .15s,background .15s}.ct-remove-btn:hover{color:var(--danger);background:var(--danger-light, rgba(220, 38, 38, .1))}.ct-edit-btn:hover{color:var(--accent);background:var(--accent-light)}.ct-edit-row td{padding:10px 12px!important;background:var(--bg-secondary)}.ct-edit-form{display:flex;flex-direction:column;gap:8px}.ct-edit-form label{display:flex;flex-direction:column;gap:3px;font-size:11px;font-weight:600;color:var(--text-muted)}.ct-edit-form input{font-size:12px;padding:6px 8px;border:1px solid var(--border);border-radius:5px;background:var(--bg-primary, #fff);color:var(--text-primary)}.ct-edit-form input:focus{outline:none;border-color:var(--accent)}.ct-edit-opt{font-weight:400;font-style:italic;color:var(--text-muted)}.ct-edit-actions{display:flex;gap:6px;margin-top:2px}.custom-tests-queue{margin-bottom:12px}.custom-tests-queue-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--accent-light);border:1px solid var(--accent);border-radius:8px;font-size:13px;font-weight:600;color:var(--accent)}.custom-tests-queue-actions{display:flex;gap:8px}.custom-tests-list{margin-top:8px}.custom-tests-summary{display:flex;gap:16px;margin-bottom:10px;font-size:12px}.agent-field-hint{font-size:.68rem;color:var(--text-muted);font-style:italic;margin-top:.2rem}.lineage-panel{background:var(--bg-primary);flex:1;overflow-y:auto;overflow-x:hidden;padding:1.5rem 2rem;max-width:100%}.lin-ph{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.lin-ph-main h2{font-size:1.4rem;font-weight:800;letter-spacing:-.03em;display:flex;align-items:center;gap:8px;color:var(--text-primary)}.lin-ph-sub{font-size:.82rem;color:var(--text-secondary);margin-top:.3rem;max-width:640px;line-height:1.5}.lin-ph-right{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.lin-search{position:relative;display:inline-flex;align-items:center}.lin-search svg{position:absolute;left:10px;width:15px;height:15px;color:var(--text-muted);pointer-events:none}.lin-search input{width:230px;max-width:48vw;padding:8px 12px 8px 32px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:13px;background:var(--bg-secondary);color:var(--text-primary);outline:none;transition:border-color .15s,box-shadow .15s}.lin-search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.lin-reset-btn{display:inline-flex;align-items:center;gap:6px;font-size:13px;padding:8px 14px}.lin-reset-btn svg{width:15px;height:15px}.lineage-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.lineage-header h2{font-size:1.15rem;font-weight:800;display:flex;align-items:center;gap:8px}.lin-graph-card{background:var(--bg-secondary);border:1.5px solid var(--border);border-radius:var(--radius);margin-bottom:20px;overflow:hidden;box-shadow:var(--shadow)}.lin-graph-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid var(--border);flex-wrap:wrap}.lin-graph-card-head h3{font-size:.95rem;font-weight:700;color:var(--text-primary)}.lin-graph-card-head .sub{font-size:.74rem;color:var(--text-muted)}.lin-legend{display:flex;flex-wrap:wrap;gap:14px;row-gap:8px;align-items:center;padding:12px 20px;border-top:1px solid var(--border);background:var(--bg-primary)}.lin-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--text-secondary)}.lin-legend-dot{width:11px;height:11px;border-radius:4px;flex-shrink:0;border:1.5px solid var(--border-strong);background:var(--bg-secondary)}.lin-legend-dot.src{border-color:var(--accent);background:var(--accent-light)}.lin-legend-dot.product{border-color:var(--success);background:color-mix(in srgb,var(--success) 14%,transparent)}.lin-legend-dot.agent{border-color:var(--warning);background:color-mix(in srgb,var(--warning) 14%,transparent)}.lin-legend-dot.consumer{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 14%,transparent)}.lin-legend-badge{font-size:9px;font-weight:700}.lin-legend-badge.live{font-size:8px;padding:1px 5px;border-radius:4px;background:color-mix(in srgb,var(--success) 12%,transparent);color:var(--success);letter-spacing:.05em;border:1px solid color-mix(in srgb,var(--success) 30%,transparent)}.lineage-graph{padding:22px 20px}.lineage-layer{margin-bottom:8px}.lineage-layer-label{font-size:10px;font-weight:700;text-transform:uppercase;color:var(--text-muted);letter-spacing:.06em;margin-bottom:8px;padding-left:4px;display:flex;align-items:center;gap:6px}.lineage-nodes{display:flex;flex-wrap:wrap;gap:10px}.lineage-node{display:flex;align-items:center;gap:8px;padding:8px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all .18s;background:var(--bg-primary);min-width:150px}.lineage-node:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-md)}.lineage-node.selected{border-color:var(--accent);background:var(--accent-light);box-shadow:0 0 0 3px var(--accent-soft)}.node-table{border-left:3px solid var(--accent)}.node-product{border-left:3px solid var(--success)}.node-agent{border-left:3px solid var(--warning)}.node-icon{width:32px;height:32px;border-radius:var(--radius-sm);background:var(--accent-light);display:flex;align-items:center;justify-content:center;flex-shrink:0}.node-name{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.node-meta{font-size:10px;color:var(--text-muted);white-space:nowrap;display:block}.lineage-empty-node{font-size:12px;color:var(--text-muted);font-style:italic;padding:8px 14px;border:1.5px dashed var(--border);border-radius:var(--radius-sm);background:var(--bg-primary)}.lineage-connector{display:flex;justify-content:center;padding:4px 0}.connector-line{width:2px;height:20px;background:var(--border-strong);border-radius:1px;position:relative;opacity:.6}.connector-line:after{content:"▼";position:absolute;bottom:-8px;left:-5px;font-size:8px;color:var(--border-strong)}.node-badge{font-size:9px;font-weight:700;flex-shrink:0}.badge-active{color:var(--success)}.badge-idle{color:var(--text-muted);opacity:.4}.badge-live{font-size:8px;padding:1px 5px;border-radius:4px;background:color-mix(in srgb,var(--success) 12%,transparent);color:var(--success);font-weight:700;letter-spacing:.05em}.badge-alert{color:var(--warning);font-size:12px}.lineage-detail-sidebar{width:250px;min-width:250px;background:var(--bg-primary);border:1.5px solid var(--border);border-radius:var(--radius);padding:16px;overflow-y:auto;max-height:520px;box-shadow:var(--shadow);animation:fadeIn .2s ease}.detail-header{margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--border)}.detail-header h4{font-size:14px;font-weight:700;margin-bottom:6px;word-break:break-word;color:var(--text-primary)}.detail-type{font-size:10px;text-transform:uppercase;color:var(--text-muted);font-weight:600;letter-spacing:.05em;padding:2px 8px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:999px}.detail-body{display:flex;flex-direction:column;gap:6px}.detail-stat{font-size:12px;color:var(--text-secondary)}.detail-stat strong{color:var(--text-primary)}.detail-section-title{font-size:10px;font-weight:700;text-transform:uppercase;color:var(--text-muted);margin-top:10px;margin-bottom:4px;letter-spacing:.05em}.detail-columns{display:flex;flex-direction:column;gap:2px}.detail-col{display:flex;justify-content:space-between;align-items:center;padding:5px 8px;border-radius:var(--radius-xs);font-size:11px;cursor:pointer;transition:background .1s}.detail-col:hover{background:var(--accent-light)}.detail-col.active{background:var(--accent-light);color:var(--accent);font-weight:600}.detail-col-type{font-size:9px;color:var(--text-muted);text-transform:uppercase}.lineage-impact-section{background:var(--bg-secondary);border:1.5px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.lin-impact-head{padding:14px 20px;border-bottom:1px solid var(--border)}.lineage-impact-section h3{font-size:.95rem;font-weight:700;color:var(--text-primary)}.lin-impact-sub{font-size:.74rem;color:var(--text-muted);margin-top:2px}.lin-impact-body{padding:18px 20px}.lin-impact-controls{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap;align-items:center}.lin-impact-controls label{font-size:12px;font-weight:600;color:var(--text-secondary)}.lin-impact-select{padding:8px 12px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:13px;background:var(--bg-primary);color:var(--text-primary);min-width:220px;outline:none}.lin-impact-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.lin-impact-hint{font-size:12px;color:var(--text-muted)}.lin-colchips-title{font-size:11px;font-weight:600;color:var(--text-muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em}.lin-colchips{display:flex;flex-wrap:wrap;gap:6px}.lin-colchip{padding:5px 12px;border:1.5px solid var(--border);border-radius:999px;font-size:11px;cursor:pointer;background:var(--bg-primary);color:var(--text-secondary);font-weight:500;transition:all .15s}.lin-colchip:hover{border-color:var(--accent);color:var(--accent)}.lin-colchip.active{border-color:var(--accent);background:var(--accent-light);color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.lineage-impact-results{animation:fadeIn .3s ease;margin-top:16px}.impact-header h4{font-size:13px;font-weight:700;margin-bottom:12px;color:var(--text-primary)}.impact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.impact-card{border-radius:var(--radius);padding:14px;text-align:center;border:1px solid var(--border);background:var(--bg-primary)}.impact-card.safe{background:color-mix(in srgb,var(--success) 6%,transparent);border-color:color-mix(in srgb,var(--success) 22%,transparent)}.impact-card.impacted{background:color-mix(in srgb,var(--danger) 6%,transparent);border-color:color-mix(in srgb,var(--danger) 22%,transparent)}.impact-count{font-size:24px;font-weight:800;display:block;color:var(--text-primary)}.impact-card.safe .impact-count{color:var(--success)}.impact-card.impacted .impact-count{color:var(--danger)}.impact-label{font-size:11px;color:var(--text-muted);font-weight:600;text-transform:uppercase;display:block;margin-top:2px;margin-bottom:8px;letter-spacing:.04em}.impact-item{font-size:11px;padding:3px 8px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-xs);margin-top:4px;color:var(--text-secondary)}.context-panel{background:var(--bg-primary);flex:1;overflow-y:auto;overflow-x:hidden;padding:1.5rem 2rem;max-width:100%;position:relative}.ctx-ph{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.ctx-ph-main h2{font-size:1.4rem;font-weight:800;letter-spacing:-.03em;display:flex;align-items:center;gap:8px;color:var(--text-primary)}.ctx-ph-sub{font-size:.82rem;color:var(--text-secondary);margin-top:.3rem;max-width:820px;line-height:1.5}.ctx-ph-tip{display:flex;align-items:flex-start;gap:6px;margin-top:.55rem;max-width:900px;font-size:.78rem;line-height:1.55;color:var(--text-muted)}.ctx-ph-tip .val-model-hint-icon{flex-shrink:0}.ctx-ph-right{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.ctx-add-btn{display:inline-flex;align-items:center;gap:6px;font-size:13px;padding:8px 16px}.ctx-kstrip{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:14px}.ctx-kpi{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow)}.ctx-kpi-k{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.ctx-kpi-v{font-size:1.7rem;font-weight:800;letter-spacing:-.03em;color:var(--text-primary);margin-top:2px;line-height:1.1}.ctx-kpi-s{font-size:.72rem;color:var(--text-muted);margin-top:2px}.ctx-layout{display:grid;grid-template-columns:236px 1fr;gap:16px;align-items:start;margin-top:14px}@media(max-width:860px){.ctx-layout{grid-template-columns:1fr}}.ctx-filt{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px;display:flex;flex-direction:column;gap:14px;position:sticky;top:8px}.ctx-input-ic{position:relative;display:flex;align-items:center}.ctx-input-ic .ctx-i{position:absolute;left:10px;color:var(--text-muted);pointer-events:none}.ctx-input-ic input{width:100%;padding:.5rem .65rem .5rem 2rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:.82rem;font-family:inherit;outline:none;box-sizing:border-box;transition:border-color var(--transition),box-shadow var(--transition)}.ctx-input-ic input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.ctx-i{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ctx-i.sm{width:15px;height:15px}.ctx-i.xs{width:13px;height:13px;flex:none}.ctx-fg{display:flex;flex-direction:column;gap:4px}.ctx-fg-lbl{font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:2px}.ctx-fo{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:6px 10px;border:1px solid transparent;border-radius:var(--radius-sm);background:none;color:var(--text-secondary);font-size:.78rem;font-weight:500;cursor:pointer;text-align:left;transition:all var(--transition)}.ctx-fo:hover{background:var(--bg-primary);color:var(--text-primary)}.ctx-fo.on{background:var(--accent-light);border-color:var(--accent);color:var(--accent);font-weight:600}.ctx-fo-name{display:inline-flex;align-items:center;gap:6px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ctx-fo-c{flex:none;min-width:18px;height:18px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:.66rem;font-weight:700;background:var(--bg-primary);color:var(--text-muted)}.ctx-fo.on .ctx-fo-c{background:var(--accent);color:#fff}.ctx-clear-filters{align-self:flex-start;background:none;border:none;color:var(--accent);font-size:.74rem;font-weight:600;cursor:pointer;padding:2px 0}.ctx-clear-filters:hover{text-decoration:underline}.ctx-main{min-width:0}.ctx-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:12px}.ctx-view-toggle{display:inline-flex;align-items:center;gap:2px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:999px;padding:3px;box-shadow:var(--shadow)}.ctx-view-toggle button{border:none;background:none;cursor:pointer;color:var(--text-secondary);font-size:.78rem;font-weight:600;padding:.35rem .85rem;border-radius:999px;transition:all var(--transition)}.ctx-view-toggle button:hover{color:var(--text-primary)}.ctx-view-toggle button.on{background:var(--accent);color:#fff;box-shadow:0 2px 8px #6366f140}.ctx-toolbar-meta{font-size:.76rem;color:var(--text-muted)}.ctx-tree-group{margin-bottom:16px}.ctx-tree-head{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--border)}.ctx-tree-name{font-size:.82rem;font-weight:600;color:var(--text-primary)}.ctx-tree-name.unlinked{color:var(--text-muted)}.ctx-tree-count{font-size:.66rem;color:var(--text-muted);background:var(--bg-secondary);border:1px solid var(--border);padding:1px 7px;border-radius:999px;font-weight:700}.ctx-tree-item{margin-left:22px;padding:10px 12px;margin-bottom:6px;border-radius:var(--radius-sm);background:var(--bg-secondary);border:1px solid var(--border);display:flex;align-items:flex-start;gap:8px;transition:border-color var(--transition),box-shadow var(--transition)}.ctx-tree-item:hover{border-color:var(--accent);box-shadow:var(--shadow)}.ctx-tree-item-body{flex:1;min-width:0}.ctx-tree-item-top{display:flex;align-items:center;gap:6px;margin-bottom:3px}.ctx-tree-item-title{font-size:.8rem;font-weight:600;color:var(--text-primary)}.ctx-tree-item-preview{margin:0;font-size:.74rem;color:var(--text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ctx-tree-item-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px;font-size:.66rem;color:var(--text-muted)}.ctx-tree-item-actions{display:flex;gap:4px;flex-shrink:0}.ctx-tree-item-actions button{padding:4px;border:1px solid transparent;border-radius:6px;background:none;cursor:pointer;color:var(--text-muted);display:flex;transition:all var(--transition)}.ctx-tree-item-actions button:hover{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.context-form-field{margin-bottom:12px}.context-form-field label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px;letter-spacing:.03em}.context-form-field input,.context-form-field select,.context-form-field textarea{width:100%;padding:9px 12px;border:1.5px solid var(--border);border-radius:var(--radius-xs);background:var(--bg-primary);font-size:13px;font-family:inherit;color:var(--text-primary);outline:none;transition:border-color .2s;box-sizing:border-box;max-width:100%}.context-form-field input:focus,.context-form-field select:focus,.context-form-field textarea:focus{border-color:var(--accent)}.context-form-field textarea{resize:vertical;min-height:120px;font-family:SF Mono,Fira Code,monospace;font-size:12px;line-height:1.6}.context-char-count{font-size:10px;color:var(--text-muted);float:right;margin-top:4px}.context-agent-grid{display:flex;flex-wrap:wrap;gap:8px}.context-agent-chip{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1.5px solid var(--border);border-radius:20px;font-size:12px;cursor:pointer;transition:all .15s}.context-agent-chip:hover{border-color:var(--accent)}.context-agent-chip.selected{border-color:var(--accent);background:var(--accent-light);color:var(--accent);font-weight:600}.context-agent-chip input{display:none}.context-form-actions{display:flex;gap:8px;margin-top:8px}.context-list{display:flex;flex-direction:column;gap:12px}.context-empty{text-align:center;padding:3rem;color:var(--text-muted)}.context-empty svg{margin-bottom:12px}.context-empty h3{font-size:15px;margin-bottom:6px;color:var(--text-primary)}.context-empty p{font-size:13px}.context-card{background:var(--bg-secondary);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:16px;transition:all .2s}.context-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md)}.context-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.context-card-header h4{font-size:14px;font-weight:700}.context-card-meta{display:flex;gap:8px;align-items:center;margin-top:4px;font-size:11px;color:var(--text-muted)}.context-category-badge{background:#10b9811f;color:var(--success);padding:2px 8px;border-radius:999px;font-size:10px;font-weight:700;text-transform:capitalize;letter-spacing:.01em}.context-category-badge.is-profile{background:var(--accent-light);color:var(--accent)}.context-card-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s}.context-card:hover .context-card-actions{opacity:1}.context-card-actions button{background:none;border:1px solid var(--border);border-radius:6px;padding:4px 6px;cursor:pointer;color:var(--text-muted);transition:all .15s;display:flex}.context-card-actions button:hover{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.context-card-preview{font-size:12px;color:var(--text-secondary);line-height:1.6;margin-bottom:8px}.context-linked-agents{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.context-linked-label{font-size:11px;color:var(--text-muted);font-weight:500}.context-linked-badge{font-size:10px;padding:2px 8px;border-radius:999px;background:var(--accent-light);color:var(--accent);font-weight:600}.ctx-drawer-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#10142670;z-index:900;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:fadeIn .2s ease}.ctx-drawer{position:fixed;top:0;right:0;bottom:0;width:440px;max-width:92vw;background:var(--bg-primary);border-left:1px solid var(--border);box-shadow:var(--shadow-xl);z-index:901;display:flex;flex-direction:column;animation:ctxDrawerIn .22s ease}@keyframes ctxDrawerIn{0%{transform:translate(24px);opacity:.4}to{transform:translate(0);opacity:1}}.ctx-drawer-head{display:flex;align-items:flex-start;gap:12px;padding:18px 20px;border-bottom:1px solid var(--border)}.ctx-drawer-itile{flex:none;width:36px;height:36px;border-radius:var(--radius-sm);background:var(--accent-light);display:flex;align-items:center;justify-content:center}.ctx-drawer-head-txt{flex:1;min-width:0}.ctx-drawer-head-txt h3{font-size:1.05rem;font-weight:800;letter-spacing:-.02em;color:var(--text-primary)}.ctx-drawer-head-txt p{font-size:.76rem;color:var(--text-muted);margin-top:2px;line-height:1.45}.ctx-drawer-body{flex:1;overflow-y:auto;padding:18px 20px}.ctx-drawer-foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--border);background:var(--bg-secondary)}.ctx-tips-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;margin-top:4px}.ctx-tips-lbl{font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:8px}.ctx-tip{display:flex;align-items:flex-start;gap:8px;font-size:.78rem;color:var(--text-secondary);line-height:1.5;margin-bottom:6px}.ctx-tip:last-child{margin-bottom:0}.ctx-tip-g{color:var(--success);font-weight:800;flex:none}.ctx-tip-b{color:var(--danger);font-weight:800;flex:none}.ctx-tip-code{font-family:var(--mono, "JetBrains Mono", "SF Mono", monospace);font-size:.72rem;background:var(--accent-soft);color:var(--accent);padding:1px 5px;border-radius:var(--radius-xs)}.embed-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#10142670;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.embed-modal{background:var(--bg-secondary);border-radius:var(--radius);width:90%;max-width:680px;max-height:85vh;overflow-y:auto;box-shadow:var(--shadow-xl)}.embed-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.embed-modal-header h3{font-size:15px;font-weight:700}.embed-modal-body{padding:20px;display:flex;flex-direction:column;gap:20px}.embed-section h4{font-size:13px;font-weight:700;margin-bottom:6px;display:flex;align-items:center;gap:6px;color:var(--accent)}.embed-section p{font-size:12px;color:var(--text-muted);margin-bottom:8px}.embed-code{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-xs);padding:12px;font-size:11px;font-family:SF Mono,Fira Code,monospace;white-space:pre-wrap;word-break:break-all;overflow-x:auto;max-height:150px;overflow-y:auto;margin-bottom:8px;color:var(--text-secondary);line-height:1.5}.kpi-panel{background:var(--bg-primary);flex:1;overflow-y:auto;padding:1.5rem 2rem}.kpi-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.kpi-header h2{font-size:1.2rem;font-weight:800;letter-spacing:-.02em;display:flex;align-items:center;gap:8px}.kpi-header-actions{display:flex;gap:.5rem;align-items:center}.kpi-ph{align-items:flex-start;gap:1rem}.kpi-ph .kpi-ph-text{min-width:0}.kpi-ph .kpi-ph-text h2{font-size:1.3rem}.kpi-ph .kpi-ph-text p{font-size:.8rem;color:var(--text-secondary);line-height:1.5;margin-top:.3rem;max-width:76ch}.kpi-alert-banner{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--warning-soft);border:1px solid color-mix(in srgb,var(--warning) 30%,transparent);border-radius:var(--radius-xs);margin-bottom:16px;font-size:13px;font-weight:600;color:var(--warning-ink)}.kpi-alert-icon{font-size:18px}.kpi-empty{text-align:center;padding:4rem 2rem}.kpi-empty-icon{font-size:48px;margin-bottom:12px}.kpi-empty h3{font-size:16px;font-weight:700;margin-bottom:8px}.kpi-empty p{font-size:13px;color:var(--text-muted)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.kpi-card{background:var(--bg-secondary);border:1.5px solid var(--border);border-radius:var(--radius);padding:18px;transition:all .2s;overflow:hidden}.kpi-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.kpi-card-alert{border-color:var(--warning);background:color-mix(in srgb,var(--warning) 4%,var(--bg-secondary))}.kpi-card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.kpi-name{font-size:13px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.kpi-card-menu{display:flex;gap:2px;opacity:0;transition:opacity .15s}.kpi-card:hover .kpi-card-menu{opacity:1}.kpi-card-menu button{background:none;border:none;cursor:pointer;font-size:14px;padding:2px 4px;border-radius:4px}.kpi-card-menu button:hover{background:var(--bg-primary)}.kpi-value-row{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}.kpi-value{font-size:28px;font-weight:800;letter-spacing:-.02em;color:var(--text-primary)}.kpi-change{font-size:12px;font-weight:600;padding:2px 8px;border-radius:12px}.kpi-change.up{color:var(--success-ink);background:var(--success-soft)}.kpi-change.down{color:var(--danger-ink);background:var(--danger-soft)}.kpi-threshold-alert{font-size:11px;padding:4px 8px;border-radius:6px;margin-bottom:6px;font-weight:600}.kpi-threshold-alert.below{color:var(--danger-ink);background:var(--danger-soft)}.kpi-threshold-alert.above{color:var(--warning-ink);background:var(--warning-soft)}.kpi-threshold-ok{font-size:11px;color:var(--success-ink);margin-bottom:6px}.kpi-meta{font-size:11px;color:var(--text-muted);display:flex;flex-direction:column;gap:2px}.kpi-refresh-time{font-size:10px;opacity:.7}.kpi-edit-form{display:flex;flex-direction:column;gap:8px;overflow:hidden}.kpi-edit-form input[type=text],.kpi-edit-form input[type=number]{padding:6px 10px;border:1px solid var(--border);border-radius:6px;font-size:12px;background:var(--bg-primary);width:100%;box-sizing:border-box}.kpi-edit-form label{font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;display:block;margin-bottom:2px}.kpi-threshold-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.kpi-alert-toggle{display:flex;align-items:center;gap:6px;font-size:12px;cursor:pointer}.kpi-alert-toggle input{accent-color:var(--accent)}.kpi-edit-actions{display:flex;gap:6px}.pin-action{color:var(--accent)!important;border-color:var(--accent)!important}.pin-action:hover{background:var(--accent)!important;color:#fff!important}.kpi-grids-section{margin-top:2rem;border-top:1px solid var(--border);padding-top:1.5rem}.kpi-grids-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.kpi-grids-header h3{font-size:14px;font-weight:700}.kpi-grid-cards{display:flex;flex-direction:column;gap:16px}.kpi-grid-card{background:var(--bg-secondary);border:1.5px solid var(--border);border-radius:var(--radius);padding:16px;transition:all .2s;overflow:hidden}.kpi-grid-card:hover{box-shadow:var(--shadow-md)}.kpi-grid-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.kpi-grid-card-header h4{font-size:13px;font-weight:700}.kpi-grid-card-menu{display:flex;gap:4px;opacity:0;transition:opacity .15s}.kpi-grid-card:hover .kpi-grid-card-menu{opacity:1}.kpi-grid-card-menu button{background:none;border:1px solid var(--border);cursor:pointer;padding:4px 6px;border-radius:6px;display:flex;align-items:center;transition:all .15s}.kpi-grid-card-menu button:hover{background:var(--accent-light);border-color:var(--accent)}.kpi-grid-table{max-height:250px;overflow:auto;border-radius:8px;border:1px solid var(--border)}.kpi-grid-empty{text-align:center;padding:2rem;color:var(--text-muted);font-size:13px}.founder-panel{background:var(--bg-secondary);flex:1;overflow-y:auto;padding:1.5rem}.founder-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.founder-header h2{font-size:1.1rem;font-weight:700}.founder-panel{--text-muted: #3a4252;--text-secondary: #222a3b}.founder-panel .tp-tab{color:var(--text-primary);font-weight:600}.founder-panel .tp-tab:hover,.founder-panel .tp-tab.active{color:var(--accent)}.founder-panel h4,.founder-panel .founder-card>div>div:first-child{color:var(--text-primary)}.founder-ph{align-items:flex-start;gap:1rem}.founder-ph .founder-ph-text{min-width:0}.founder-ph .founder-ph-text h2{font-size:1.3rem;font-weight:800;letter-spacing:-.02em}.founder-ph .founder-ph-text p{font-size:.8rem;color:var(--text-secondary);line-height:1.5;margin-top:.25rem;max-width:76ch}.founder-feedback-form{border:1.5px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1.5rem;background:var(--bg-secondary);box-shadow:var(--shadow);overflow:hidden;max-width:100%;box-sizing:border-box}.founder-feedback-form h3{font-size:.9rem;margin-bottom:.75rem;font-weight:700}.founder-feedback-form select,.founder-feedback-form textarea{width:100%;padding:.6rem .75rem;border:1.5px solid var(--border);border-radius:var(--radius-xs);background:var(--bg-primary);color:var(--text-primary);font-size:.82rem;font-family:inherit;margin-bottom:.6rem;outline:none;transition:border-color .2s;box-sizing:border-box;max-width:100%}.founder-feedback-form select:focus,.founder-feedback-form textarea:focus{border-color:var(--accent)}.founder-rating{display:flex;align-items:center;gap:.3rem;margin-bottom:.5rem;font-size:.75rem;color:var(--text-muted)}.rating-btn{padding:.2rem .5rem;border:1px solid var(--border);border-radius:4px;background:transparent;cursor:pointer;font-size:.72rem}.rating-btn.active{background:var(--warning-soft);border-color:var(--warning);color:var(--warning-ink)}.founder-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.75rem;margin-bottom:1.5rem}.f-metric{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.85rem .95rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary)}.f-num{order:2;font-size:1.5rem;font-weight:800;letter-spacing:-.02em;color:var(--text-primary);line-height:1.05}.f-metric span:last-child{order:1;font-size:.66rem;color:var(--text-muted);text-transform:none;font-weight:500}.founder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;margin-bottom:1.5rem}.founder-card{padding:1rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-chat)}.founder-card h4{font-size:.82rem;font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.founder-card p{font-size:.75rem;color:var(--text-secondary);margin:.2rem 0}.founder-section{margin-bottom:1.5rem}.founder-section h4{font-size:.85rem;font-weight:600;margin-bottom:.5rem}.founder-fb-item{padding:.5rem;border:1px solid var(--border);border-radius:6px;margin-bottom:.4rem}.founder-fb-header{display:flex;gap:.5rem;align-items:center;margin-bottom:.2rem}.founder-fb-cat{font-size:.62rem;background:var(--accent-light);color:var(--accent);padding:.1rem .4rem;border-radius:4px;font-weight:500}.founder-fb-user{font-size:.68rem;color:var(--text-muted)}.founder-fb-rating{font-size:.7rem;color:var(--warning)}.founder-fb-item p{font-size:.78rem;color:var(--text-primary);margin:0}.founder-sparkline{display:flex;align-items:flex-end;gap:3px;height:60px}.spark-bar{width:16px;background:var(--accent);border-radius:3px 3px 0 0;min-height:4px}.explorer-panel{padding:24px;flex:1;overflow-y:auto;background:var(--bg-chat)}.exp-ph{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:.7rem}.exp-ph-main h2{font-size:1.4rem;font-weight:800;letter-spacing:-.03em;color:var(--text-primary)}.exp-ph-sub{font-size:.82rem;color:var(--text-secondary);margin-top:.25rem;max-width:520px;line-height:1.5}.exp-ph-right{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.exp-seg{display:inline-flex;align-items:center;gap:2px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:999px;padding:3px;box-shadow:var(--shadow)}.exp-seg button{display:inline-flex;align-items:center;gap:.4rem;border:none;background:none;cursor:pointer;color:var(--text-secondary);font-size:.8rem;font-weight:600;padding:.4rem .85rem;border-radius:999px;transition:all var(--transition)}.exp-seg button:hover{color:var(--text-primary)}.exp-seg button.on{background:var(--accent);color:#fff;box-shadow:0 2px 8px #6366f140}.exp-i{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.exp-i.sm{width:14px;height:14px}.exp-count-pill{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;font-size:.68rem;font-weight:700;background:var(--accent-soft);color:var(--accent)}.exp-seg button.on .exp-count-pill{background:#ffffff38;color:#fff}.saved-analyses{animation:fadeIn .3s ease}.saved-toolbar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:.9rem}.saved-toolbar-meta{font-size:.76rem;color:var(--text-muted)}.exp-input-ic{position:relative;display:flex;align-items:center;flex:1;max-width:340px}.exp-input-ic .exp-i{position:absolute;left:10px;color:var(--text-muted);pointer-events:none}.exp-input-ic input{width:100%;padding:.5rem .75rem .5rem 2rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-primary);font-size:.82rem;font-family:inherit;outline:none;transition:border-color var(--transition),box-shadow var(--transition)}.exp-input-ic input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.analysis-empty{text-align:center;padding:3rem 1rem;color:var(--text-muted)}.analysis-empty p:first-child{font-size:14px;font-weight:500;margin-bottom:4px}.analysis-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;align-items:start}.analysis-card{border:1px solid var(--border);border-radius:var(--radius);padding:14px;background:var(--bg-secondary);box-shadow:var(--shadow);transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.analysis-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-1px)}.analysis-card-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:8px}.analysis-card-header h4{font-size:14px;font-weight:700;letter-spacing:-.01em}.analysis-meta{font-size:11px;color:var(--text-muted);white-space:nowrap}.analysis-sql{font-size:11px;background:var(--bg-chat);border:1px solid var(--border);border-radius:var(--radius-xs);padding:8px 10px;overflow-x:auto;white-space:pre-wrap;word-break:break-all;max-height:80px;overflow-y:auto;margin-bottom:8px;color:var(--text-secondary);font-family:JetBrains Mono,SF Mono,Fira Code,monospace}.analysis-card-actions{display:flex;gap:6px}.exp-tip{margin:0 0 .7rem}.exp-build{display:grid;grid-template-columns:300px 1fr;gap:16px;align-items:start}@media(max-width:920px){.exp-build{grid-template-columns:1fr}}.exp-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.exp-fields-card{display:flex;flex-direction:column;max-height:76vh;overflow:hidden}.exp-fields-head{padding:12px 14px;border-bottom:1px solid var(--border)}.exp-lbl{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.exp-select{width:100%;margin-top:5px;padding:.5rem .65rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);font-size:.82rem;font-family:inherit;outline:none;cursor:pointer;transition:border-color var(--transition)}.exp-select:focus{border-color:var(--accent)}.exp-find-field{margin-top:8px;max-width:none}.exp-fields-head .selected-tables-chips{margin-top:8px}.exp-fields-body{padding:8px;overflow-y:auto;flex:1}.exp-fields-empty{font-size:.78rem;color:var(--text-muted);font-style:italic;padding:.75rem .5rem}.exp-fields-foot{font-size:11.5px;color:var(--text-muted);padding:10px 14px 12px;border-top:1px solid var(--border)}.selected-tables-chips{display:flex;flex-wrap:wrap;gap:6px}.table-chip{display:flex;align-items:center;gap:4px;background:var(--accent-light);border:1px solid var(--accent);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;color:var(--accent)}.table-chip button{background:none;border:none;cursor:pointer;font-size:14px;color:var(--accent);opacity:.6;line-height:1}.table-chip button:hover{opacity:1}.table-fields-group{margin-bottom:10px}.table-fields-title{font-size:10.5px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;padding:4px 8px;background:var(--accent-light);border-radius:var(--radius-xs)}.explorer-field-list{display:flex;flex-direction:column;gap:1px}.explorer-field{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius-xs);cursor:pointer;font-size:13px;transition:background var(--transition);-webkit-user-select:none;user-select:none}.explorer-field:hover{background:var(--accent-soft)}.explorer-field.field-selected{background:var(--accent-light);box-shadow:inset 2px 0 0 var(--accent)}.field-type-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:5px;font-size:10px;font-weight:800;background:var(--accent-soft);color:var(--accent);flex:none}.field-type-icon.ft-num{background:#10b9811f;color:var(--success)}.field-type-icon.ft-str{background:var(--accent-soft);color:var(--accent)}.field-type-icon.ft-date{background:#f59e0b24;color:var(--warning)}.field-name{flex:1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-dtype{font-size:10px;color:var(--text-muted);text-transform:uppercase}.exp-builder-card{min-width:0;overflow:hidden;padding:10px}.explorer-builder{display:flex;flex-direction:column;gap:8px}.exp-capsule{display:flex;flex-direction:column;gap:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-secondary);overflow:hidden;box-shadow:var(--shadow)}.cap-empty{padding:14px;font-size:13px}.cap-row{display:flex;align-items:flex-start;gap:12px;padding:6px 14px;border-top:1px solid var(--border);min-height:34px}.cap-row:first-child{border-top:none}.cap-row-block{flex-direction:column;gap:6px}.cap-label{flex:0 0 72px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding-top:5px;display:flex;align-items:center;gap:6px}.cap-row-block>.cap-label{padding-top:0}.cap-pills{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.cap-pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 8px 4px 10px;font-size:12px;font-weight:600;border:1px solid var(--border);background:var(--bg-chat);color:var(--text-primary);max-width:100%}.cap-pill-ic{font-size:11px;color:var(--accent);font-weight:700}.cap-pill-col{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cap-pill-measure{background:var(--accent-light, var(--bg-chat));border-color:var(--accent-soft, var(--border));color:var(--accent)}.cap-pill-measure .cap-pill-col{color:var(--text-secondary);font-weight:500}.cap-pill-dim{background:var(--bg-chat)}.cap-pill-filter.is-editing{outline:2px solid var(--accent-soft, var(--accent))}.cap-pill-agg{border:none;background:transparent;color:var(--accent);font-weight:700;font-size:12px;cursor:pointer;padding:0}.cap-pill-btn{border:none;background:none;cursor:pointer;font:inherit;color:inherit;padding:0}.cap-pill-btn:hover{text-decoration:underline}.cap-pill-x{border:none;background:none;cursor:pointer;font-size:15px;line-height:1;color:var(--text-muted);padding:0 1px}.cap-pill-x:hover{color:var(--danger, #ef4444)}.cap-add{display:inline-flex;align-items:center;border:1px dashed var(--border);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600;color:var(--accent);background:transparent;cursor:pointer}.cap-add:hover{border-color:var(--accent);background:var(--accent-light, transparent)}select.cap-add{-moz-appearance:none;appearance:none;-webkit-appearance:none}.cap-order{gap:8px}.cap-order-sel,.cap-order-dir{padding:5px 8px;border-radius:6px;border:1px solid var(--border);font-size:12px;background:var(--bg-chat);color:var(--text-primary)}.cap-order-dir:disabled{opacity:.5}.cap-order-limit{display:inline-flex;align-items:center;gap:6px;margin-left:6px}.cap-order-limit label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.cap-order-limit input{width:70px;padding:5px 8px;border-radius:6px;border:1px solid var(--border);font-size:12px;background:var(--bg-chat);color:var(--text-primary)}.cap-filter-editor{padding:10px 14px;border-top:1px dashed var(--border);background:var(--bg-chat)}.cap-filter-done{margin-left:4px}.cap-derived-toggle{display:inline-flex;align-items:center;gap:6px;border:none;background:none;cursor:pointer;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:0}.cap-derived-toggle:hover{color:var(--text-primary)}.cap-derived-toggle .exp-sql-chev{transition:transform .18s ease}.cap-derived-toggle .exp-sql-chev.open{transform:rotate(90deg)}.cap-derived-body{display:flex;flex-direction:column;gap:6px;width:100%}.exp-build-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-secondary)}.exp-section-note{font-size:11px;color:var(--text-muted);margin-top:8px;line-height:1.5}.explorer-drop-zone h4{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:8px}.zone-hint{font-weight:400;font-size:11px}.drop-placeholder{color:var(--text-muted);font-size:13px;font-style:italic}.selected-fields-list{display:flex;flex-wrap:wrap;gap:6px}.selected-field-chip{display:flex;align-items:center;gap:6px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-xs);padding:4px 8px;font-size:12px;box-shadow:var(--shadow)}.selected-field-chip span:first-child{font-weight:600}.chip-table-tag{font-size:9px;padding:1px 5px;border-radius:999px;background:var(--accent);color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:.3px}.agg-select{padding:2px 4px;border-radius:4px;border:1px solid var(--border);font-size:11px;background:var(--bg-secondary);color:var(--text-primary)}.gb-check{display:flex;align-items:center;gap:3px;font-size:11px;color:var(--text-muted);cursor:pointer}.gb-check input{width:12px;height:12px}.chip-remove{background:none;border:none;cursor:pointer;font-size:16px;color:var(--text-muted);padding:0 2px;line-height:1}.chip-remove:hover{color:#ef4444}.chip-drag-handle{cursor:grab;color:var(--text-muted);font-size:12px;letter-spacing:-2px;-webkit-user-select:none;user-select:none;opacity:.5}.chip-drag-handle:hover{opacity:1;color:var(--accent)}.selected-field-chip.dragging{opacity:.5;border-style:dashed}.chip-move-btns{display:flex;flex-direction:column;gap:0}.chip-move-btns button{background:none;border:none;cursor:pointer;font-size:10px;padding:0 2px;line-height:1;color:var(--text-muted)}.chip-move-btns button:hover:not(:disabled){color:var(--accent)}.chip-move-btns button:disabled{opacity:.2;cursor:default}.explorer-derived h4{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:8px;display:flex;align-items:center;gap:8px}.derived-chip{display:flex;align-items:center;gap:8px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-xs);padding:6px 10px;font-size:12px;margin-bottom:4px;box-shadow:var(--shadow)}.derived-icon{font-weight:700;color:var(--accent);font-size:14px}.derived-name{font-weight:600}.derived-expr{font-size:10px;color:var(--text-muted);background:var(--bg-chat);border:1px solid var(--border);padding:2px 6px;border-radius:4px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:JetBrains Mono,SF Mono,monospace}.derived-gb-badge{font-size:9px;padding:2px 5px;border-radius:3px;background:var(--accent);color:#fff;font-weight:600}.derived-form{display:flex;flex-direction:column;gap:6px;padding:10px;background:var(--bg-secondary);border-radius:var(--radius-xs);border:1px solid var(--accent);margin-top:6px;box-shadow:var(--shadow)}.derived-form input,.derived-form select{padding:6px 10px;border-radius:5px;border:1px solid var(--border);font-size:12px;background:var(--bg-secondary);color:var(--text-primary)}.derived-form-hint{font-size:10px;color:var(--text-muted);font-style:italic}.derived-error{font-size:11px;color:var(--danger);font-weight:500}.derived-form-actions{display:flex;gap:6px}.derived-values-preview{background:var(--bg-chat);border:1px solid var(--border);border-radius:var(--radius-xs);padding:8px 10px}.derived-values-label{font-size:11px;font-weight:600;color:var(--text-muted);display:block;margin-bottom:4px}.derived-values-list{display:flex;flex-wrap:wrap;gap:4px;max-height:120px;overflow-y:auto}.derived-value-tag{font-size:11px;padding:2px 8px;border-radius:4px;background:var(--accent-light);color:var(--accent);font-weight:500;border:1px solid rgba(99,102,241,.15)}.derived-value-more{font-size:10px;color:var(--text-muted);font-style:italic;padding:2px 6px}.explorer-filters h4{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:8px;display:flex;align-items:center;gap:8px}.cap-row.explorer-joins .cap-label{color:var(--accent)}.join-row{display:flex;gap:6px;margin-bottom:6px;align-items:center;flex-wrap:wrap}.join-row select{padding:5px 8px;border-radius:5px;border:1px solid var(--border);font-size:11px;background:var(--bg-secondary);color:var(--text-primary)}.join-eq{font-weight:700;color:var(--accent);font-size:14px}.btn-sm{font-size:11px;padding:3px 9px;border-radius:var(--radius-xs);background:var(--accent);color:#fff;border:none;cursor:pointer;font-weight:600;transition:background var(--transition)}.btn-sm:hover{background:var(--accent-hover)}.filter-row{display:flex;gap:6px;margin-bottom:6px;align-items:center}.filter-row select,.filter-row input{padding:5px 8px;border-radius:5px;border:1px solid var(--border);font-size:12px;background:var(--bg-secondary);color:var(--text-primary)}.filter-row select{max-width:140px}.filter-row input{flex:1;min-width:80px}.filter-remove{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:16px}.filter-remove:hover{color:#ef4444}.multi-select-container{position:relative;flex:1;min-width:120px}.multi-select-summary{padding:5px 8px;border-radius:5px;border:1px solid var(--border);font-size:12px;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;min-height:28px}.multi-select-placeholder{color:var(--text-muted);font-style:italic}.multi-select-container:hover .multi-select-dropdown,.multi-select-container:focus-within .multi-select-dropdown{display:block}.multi-select-dropdown{display:none;position:absolute;top:100%;left:0;right:0;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-xs);box-shadow:var(--shadow-lg);max-height:200px;overflow-y:auto;z-index:100;margin-top:2px;padding:4px 0}.multi-select-option{display:flex;align-items:center;gap:8px;padding:6px 10px;font-size:12px;cursor:pointer;transition:background .1s;line-height:1.4}.multi-select-option:hover{background:var(--accent-light)}.multi-select-option input[type=checkbox]{width:14px;height:14px;min-width:14px;accent-color:var(--accent);margin:0;cursor:pointer}.multi-select-option span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multi-select-loading{padding:8px 10px;font-size:11px;color:var(--text-muted);font-style:italic;display:block}.between-inputs{display:flex;align-items:center;gap:6px;flex:1}.between-inputs input{flex:1;padding:5px 8px;border-radius:5px;border:1px solid var(--border);font-size:12px;background:var(--bg-secondary);color:var(--text-primary);min-width:0}.between-and{font-size:11px;font-weight:600;color:var(--text-muted);white-space:nowrap}.explorer-options{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.opt-group{display:flex;align-items:center;gap:6px;font-size:12px}.opt-group label{font-weight:600;color:var(--text-muted);text-transform:uppercase;font-size:11px;letter-spacing:.04em}.opt-group select,.opt-group input{padding:4px 8px;border-radius:5px;border:1px solid var(--border);font-size:12px;background:var(--bg-secondary);color:var(--text-primary)}.opt-group input[type=number]{width:70px}.explorer-sql{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.explorer-sql-toggle{display:flex;align-items:center;gap:8px;width:100%;background:var(--bg-subtle, var(--bg-secondary));border:none;cursor:pointer;padding:9px 12px;font-size:11px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;text-align:left}.explorer-sql-toggle:hover{color:var(--text-primary)}.explorer-sql-toggle .exp-sql-chev{flex-shrink:0;transition:transform .18s ease;color:var(--text-muted)}.explorer-sql.is-open .explorer-sql-toggle .exp-sql-chev{transform:rotate(90deg)}.explorer-sql-toggle .exp-sql-hint{margin-left:auto;font-size:10px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--text-muted)}.explorer-sql pre{color:#cdd6f4;background:#1e1e2e;font-size:12px;font-family:JetBrains Mono,Fira Code,monospace;white-space:pre-wrap;margin:0;padding:12px;border-top:1px solid var(--border)}.explorer-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 12px;background:var(--bg-chat);border:1px solid var(--border);border-radius:var(--radius-sm)}.result-count{font-size:12px;font-weight:600;color:var(--text-secondary);margin-left:auto}.explorer-error{background:#ef444414;color:var(--danger);padding:8px 12px;border-radius:var(--radius-xs);font-size:13px;border:1px solid rgba(239,68,68,.25)}.explorer-results{overflow-x:auto;max-height:50vh;overflow-y:auto;border-radius:var(--radius-sm);border:1px solid var(--border);margin-top:8px}.exp-result-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding:8px 10px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg-secondary);z-index:2}.exp-result-meta{font-size:12px;font-weight:600;color:var(--text-primary)}.exp-result-sub{color:var(--text-muted);font-weight:500}.exp-view-seg{display:inline-flex;align-items:center;gap:2px;background:var(--bg-chat);border:1px solid var(--border);border-radius:8px;padding:2px}.exp-view-seg button{display:inline-flex;align-items:center;gap:.35rem;border:none;background:none;cursor:pointer;color:var(--text-secondary);font-size:.74rem;font-weight:600;padding:.3rem .6rem;border-radius:6px;transition:all .15s}.exp-view-seg button:hover{color:var(--text-primary)}.exp-view-seg button.on{background:var(--bg-secondary);color:var(--accent);box-shadow:var(--shadow)}.exp-chart{padding:16px 18px}.exp-chart-title{font-size:.82rem;font-weight:700;color:var(--text-primary);margin-bottom:14px}.exp-bar-row{display:grid;grid-template-columns:150px 1fr auto;gap:12px;align-items:center;margin:9px 0;font-size:.8rem}.exp-bar-label{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exp-bar-track{height:20px;border-radius:6px;background:var(--bg-chat);position:relative;overflow:hidden}.exp-bar-track i{position:absolute;inset:0 auto 0 0;border-radius:6px;background:linear-gradient(90deg,var(--accent),var(--violet, #a78bfa))}.exp-bar-val{font-variant-numeric:tabular-nums;font-weight:600;text-align:right;color:var(--text-primary);min-width:48px}@media(max-width:600px){.exp-bar-row{grid-template-columns:1fr auto}.exp-bar-track{grid-column:1 / -1;order:3}}.exp-result-sql{margin:0;padding:14px 16px;font-family:var(--mono, monospace);font-size:12px;line-height:1.6;color:var(--text-primary);white-space:pre-wrap;word-break:break-word;background:var(--code, var(--bg-chat))}.explorer-table{width:100%;border-collapse:collapse;font-size:12px}.explorer-table th{background:var(--bg-chat);color:var(--text-secondary);padding:8px 10px;text-align:left;font-weight:700;border-bottom:2px solid var(--border);position:sticky;top:0;z-index:1}.explorer-table td{padding:6px 10px;border-bottom:1px solid var(--border);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.explorer-table tr:hover td{background:#6366f10a}.null-val{color:var(--text-muted);font-size:11px}.results-toolbar{display:flex;gap:0;margin-bottom:8px;border-bottom:2px solid var(--border)}.results-tab{padding:6px 16px;font-size:12px;font-weight:600;border:none;background:none;cursor:pointer;color:var(--text-secondary);border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s}.results-tab:hover{color:var(--text-primary)}.results-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.pivot-section{padding:8px 0}.pivot-config{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px;padding:10px;background:var(--bg-chat);border-radius:var(--radius-sm);border:1px solid var(--border)}.pivot-field{display:flex;flex-direction:column;gap:3px}.pivot-field label{font-size:10px;font-weight:600;text-transform:uppercase;color:var(--text-muted);letter-spacing:.5px}.pivot-field select{padding:5px 8px;border-radius:5px;border:1px solid var(--border);font-size:12px;background:var(--bg-secondary);color:var(--text-primary);min-width:120px}.pivot-table-wrap{overflow-x:auto;max-height:400px;overflow-y:auto}.pivot-table{border:1px solid var(--border)}.pivot-header-row{background:var(--accent-light)!important;color:var(--accent);font-weight:700}.pivot-header-col{background:#10b98114!important;color:var(--success);font-weight:600;text-align:center!important}.pivot-header-total{background:#f59e0b14!important;color:var(--warning);font-weight:700;text-align:center!important}.pivot-row-label{font-weight:600;background:var(--accent-soft)}.pivot-cell{text-align:right;font-variant-numeric:tabular-nums}.pivot-total{text-align:right;font-weight:600;background:#f59e0b0a;font-variant-numeric:tabular-nums}.pivot-footer td{border-top:2px solid var(--border)}.chat-container{flex:1;display:flex;flex-direction:row;overflow:hidden;position:relative}.chat-main{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.chat-main .input-bar{overflow:visible;min-width:0}.schema-panel{width:200px;min-width:200px;background:var(--bg-secondary);border-right:1px solid var(--border);padding:12px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;flex-shrink:0}.schema-header{display:flex;justify-content:space-between;align-items:center}.schema-header h4{font-size:13px;font-weight:700;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schema-close{padding:2px;opacity:.5}.schema-close:hover{opacity:1}.schema-meta{display:flex;gap:10px;font-size:11px;color:var(--text-muted)}.schema-columns{display:flex;flex-direction:column;gap:1px}.schema-col{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:4px;font-size:12px;cursor:default}.schema-col:hover{background:#6366f10f}.schema-type-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.schema-type-dot.type-num{background:#10b981}.schema-type-dot.type-text{background:#6366f1}.schema-type-dot.type-date{background:#f59e0b}.schema-col-name{flex:1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schema-col-type{font-size:10px;color:var(--text-muted);text-transform:uppercase;flex-shrink:0;max-width:80px;overflow:hidden;text-overflow:ellipsis}.schema-toggle{position:absolute;left:0;top:50%;transform:translateY(-50%);z-index:5;background:var(--bg-secondary);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:0 8px 8px 0;padding:10px 12px 10px 10px;cursor:pointer;display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--accent);box-shadow:var(--shadow-md);transition:all .2s;opacity:1;writing-mode:horizontal-tb}.schema-toggle span{white-space:nowrap}.schema-toggle:hover{background:var(--accent-light);box-shadow:var(--shadow-lg);transform:translateY(-50%) translate(2px)}.schema-panel-right{border-right:none;border-left:1px solid var(--border)}.schema-toggle-right{left:auto;right:0;border-left:1px solid var(--border);border-right:3px solid var(--accent);border-radius:8px 0 0 8px;padding:10px 10px 10px 12px}.schema-toggle-right:hover{transform:translateY(-50%) translate(-2px)}.rls-panel{padding:16px 0}.rls-panel h3{font-size:1.1rem;font-weight:700;margin-bottom:4px}.rls-desc{font-size:13px;color:var(--text-muted);margin-bottom:16px}.rls-section{margin-bottom:24px}.rls-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.rls-section-header h4{font-size:14px;font-weight:600}.rls-form{background:var(--bg-primary);border-radius:8px;padding:12px;margin-bottom:12px;border:1px solid var(--border)}.rls-form-row{display:flex;gap:8px;margin-bottom:8px}.rls-form-row select,.rls-form-row input{flex:1;padding:7px 10px;border-radius:6px;border:1px solid var(--border);font-size:13px;background:var(--bg-secondary)}.rls-form-actions{display:flex;gap:8px;margin-top:8px}.rls-empty{font-size:13px;color:var(--text-muted);font-style:italic}.rls-policy-list{display:flex;flex-direction:column;gap:8px}.rls-policy-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;padding:10px 12px}.rls-policy-card.rls-disabled{opacity:.5}.rls-policy-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.rls-policy-header strong{flex:1}.rls-policy-dataset{font-size:11px;color:var(--text-muted)}.rls-type-badge{font-size:10px;padding:2px 6px;border-radius:4px;font-weight:600;text-transform:uppercase}.rls-type-tenant{background:#dbeafe;color:#1d4ed8}.rls-type-role{background:#fef3c7;color:#92400e}.rls-type-row_filter{background:#ede9fe;color:#5b21b6}.rls-type-column{background:#fce7f3;color:#9d174d}.rls-policy-detail{font-size:12px;color:var(--text-secondary);display:flex;gap:12px;flex-wrap:wrap}.rls-policy-detail span{background:var(--bg-secondary);padding:2px 6px;border-radius:4px}.rls-policy-actions{display:flex;align-items:center;gap:10px;margin-top:6px}.rls-toggle{display:flex;align-items:center;gap:4px;font-size:12px;cursor:pointer}.rls-toggle input{width:14px;height:14px}.rls-delete{background:none;border:none;color:#ef4444;cursor:pointer;font-size:12px;padding:2px 6px}.rls-delete:hover{text-decoration:underline}.rls-tenant-table{width:100%;border-collapse:collapse;font-size:12px;margin-top:8px}.rls-tenant-table th{text-align:left;padding:6px 8px;border-bottom:2px solid var(--border);font-weight:600;color:var(--text-muted);text-transform:uppercase;font-size:11px}.rls-tenant-table td{padding:6px 8px;border-bottom:1px solid var(--border)}.rls-tenant-table code{background:var(--bg-primary);padding:1px 4px;border-radius:3px;font-size:11px}.btn-sm{font-size:12px;padding:4px 10px}.catalog-section-title{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:8px 8px 4px;margin:0}.dataset-picker-section{width:100%;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:12px 4px 4px;margin-top:8px}.dataset-picker-section:first-child{margin-top:0}.dataset-picker-connected{border-left:3px solid var(--accent)!important}.tp-type-agent{background:#6366f11a;color:var(--accent)}.tp-type-chat{background:#10b9811a;color:var(--success)}.col-action-btn{background:none;border:1px solid transparent;border-radius:4px;cursor:pointer;color:var(--text-muted);font-size:16px;font-weight:700;padding:2px 6px;line-height:1;opacity:.4;transition:all .15s}.col-action-btn:hover{opacity:1;color:var(--accent);border-color:var(--border);background:var(--accent-light)}.col-action-menu{position:absolute;top:100%;right:0;z-index:100;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-lg);padding:4px;min-width:160px;animation:fadeIn .15s ease}.col-action-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;border-radius:6px;background:none;color:var(--text-primary);font-size:13px;cursor:pointer;text-align:left;transition:background .1s}.col-action-menu button:hover{background:var(--accent-light);color:var(--accent)}.virtual-column-row{background:#8b5cf608}.virtual-column-row td{border-top:1px dashed rgba(139,92,246,.2)}.virtual-badge{display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;border-radius:4px;padding:1px 5px;margin-left:6px;letter-spacing:.02em;vertical-align:middle}.transform-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#10142670;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:16px;animation:fadeIn .2s ease}.transform-modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;width:90%;max-width:480px;max-height:80vh;overflow-y:auto;box-shadow:var(--shadow-xl)}.transform-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.transform-modal-header h4{font-size:1rem;font-weight:600;margin:0}.transform-modal-header code{color:var(--accent);font-size:.9rem}.transform-type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.transform-type-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-secondary);color:var(--text-primary);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.transform-type-btn:hover{border-color:var(--accent);background:var(--accent-light);color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-md)}.transform-type-icon{font-size:20px}.transform-form{display:flex;flex-direction:column;gap:14px}.transform-form-row{display:flex;flex-direction:column;gap:4px}.transform-form-row label{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.transform-form-row input,.transform-form-row select{padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-size:14px;outline:none;transition:border-color .15s}.transform-form-row input:focus,.transform-form-row select:focus{border-color:var(--accent)}.transform-type-badge{font-size:13px;color:var(--accent);font-weight:500}.transform-expression{display:block;padding:8px 12px;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;font-size:12px;font-family:SF Mono,Fira Code,monospace;color:var(--accent);word-break:break-all}.transform-error{padding:8px 12px;background:#ef44440f;border:1px solid rgba(239,68,68,.2);border-radius:8px;color:var(--danger);font-size:13px}.transform-form-actions{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding-top:12px;border-top:1px solid var(--border)}.stream-status{display:flex;align-items:center;gap:8px;padding:8px 12px;margin-bottom:8px;background:var(--accent-light);border-radius:8px;font-size:13px;color:var(--accent);font-weight:500;animation:fadeIn .3s ease}.stream-pulse{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:pulse 1.2s ease-in-out infinite}.stream-status-text{flex:1}.stream-sql{animation:fadeIn .4s ease;border-color:var(--accent);background:#6366f10a}.stream-sql code{color:var(--accent)}.message-table-wrap{max-height:320px;overflow:auto;transition:max-height .3s ease}.message-table-wrap.table-expanded{max-height:none}.table-expand-btn{display:block;width:100%;padding:8px;background:var(--bg-primary);border:none;border-top:1px solid var(--border);color:var(--accent);font-size:12px;font-weight:600;cursor:pointer;text-align:center;transition:background .15s}.table-expand-btn:hover{background:var(--accent-light)}.plan-features-panel{padding:1rem;animation:fadeIn .3s ease}.plan-features-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.plan-features-header h3{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700}.plan-features-actions{display:flex;align-items:center;gap:12px}.plan-features-msg{font-size:12px;color:var(--success);font-weight:500}.plan-features-save{padding:6px 16px;border-radius:6px;font-size:12px;font-weight:600;border:none;cursor:pointer;background:var(--accent);color:#fff;transition:all .2s}.plan-features-save:disabled{background:var(--border);color:var(--text-muted);cursor:default}.plan-features-save:not(:disabled):hover{background:var(--accent-dark, #4f46e5)}.plan-features-table-wrap{overflow-x:auto;margin-bottom:1.5rem}.plan-features-table{width:100%;border-collapse:collapse;font-size:12px}.plan-features-table th{padding:8px 12px;text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:var(--bg-chat);border-bottom:2px solid var(--border)}.plan-features-table .plan-col{text-align:center;width:120px}.plan-features-table .pro-col{background:#6366f10a}.plan-features-table td{padding:6px 12px;border-bottom:1px solid var(--border)}.plan-features-table .category-row td{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);padding:12px 12px 4px;background:var(--bg-secondary);border:none}.plan-features-table .feature-label{font-size:12px}.plan-checkbox{display:flex;align-items:center;justify-content:center;cursor:pointer}.plan-checkbox input{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.plan-limits-section{margin-top:1rem}.plan-limits-section h4{font-size:13px;font-weight:700;margin-bottom:4px}.plan-limits-note{font-size:11px;color:var(--text-muted);margin-bottom:8px}.limit-input{width:70px;padding:4px 6px;border:1px solid var(--border);border-radius:4px;font-size:12px;text-align:center;background:var(--bg-secondary);color:var(--text-primary)}.limit-input:focus{border-color:var(--accent);outline:none}.plan-features-loading{padding:2rem;text-align:center;color:var(--text-muted);font-size:13px}.feature-locked{position:relative;opacity:.5;pointer-events:none}.feature-locked:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg-secondary);opacity:.6;border-radius:8px}.feature-lock-badge{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;padding:12px 20px;text-align:center;box-shadow:0 4px 12px #00000014;pointer-events:all}.feature-lock-badge svg{margin-bottom:4px}.feature-lock-badge p{font-size:12px;font-weight:600;margin-bottom:4px}.feature-lock-badge span{font-size:11px;color:var(--text-muted)}.upgrade-btn{display:inline-block;margin-top:8px;padding:5px 14px;background:var(--accent);color:#fff;border-radius:6px;font-size:11px;font-weight:600;text-decoration:none;cursor:pointer;border:none}.invite-btn,.upgrade-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:30px;padding:0 12px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap;box-sizing:border-box}.invite-btn{border:1px solid var(--border);color:var(--text-secondary);background:transparent}.invite-btn:hover{border-color:var(--accent);color:var(--accent)}.invite-btn svg,.upgrade-btn svg{flex-shrink:0;width:12px;height:12px}.upgrade-btn{border:1px solid var(--accent);background:var(--accent);color:#fff}.upgrade-btn:hover{background:var(--accent-hover, #4f46e5);border-color:var(--accent-hover, #4f46e5)}.annual-upsell-banner{background:linear-gradient(135deg,#6366f10f,#8b5cf60a);border:1px solid rgba(99,102,241,.2);border-radius:var(--radius-sm);margin:0 1.5rem .75rem;padding:12px 16px;animation:fadeIn .4s ease}.annual-upsell-content{display:flex;align-items:center;gap:12px}.annual-upsell-icon{flex-shrink:0;width:36px;height:36px;background:var(--accent-light);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--accent)}.annual-upsell-text{flex:1;display:flex;flex-direction:column;gap:2px}.annual-upsell-text strong{font-size:13px;font-weight:700;color:var(--text-primary)}.annual-upsell-text span{font-size:12px;color:var(--text-secondary)}.annual-upsell-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.annual-upsell-switch{padding:6px 14px;background:var(--accent);color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}.annual-upsell-switch:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 2px 8px #6366f140}.annual-upsell-switch:disabled{opacity:.6;cursor:not-allowed;transform:none}.annual-upsell-dismiss{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:color .15s}.annual-upsell-dismiss:hover{color:var(--text-primary)}.annual-upsell-early{margin-top:8px;padding-top:8px;border-top:1px solid rgba(99,102,241,.1);font-size:11px;color:var(--accent);font-weight:500}@media(max-width:768px){.annual-upsell-content{flex-wrap:wrap}.annual-upsell-actions{width:100%;justify-content:flex-end}}.sg-ph{display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:20px}.sg-ph h1,.sg-ph h2{font-size:1.5rem;font-weight:800;letter-spacing:-.035em;display:flex;align-items:center;gap:10px;color:var(--text-primary)}.sg-ph p{color:var(--text-secondary);margin-top:4px;font-size:.875rem;max-width:720px;line-height:1.5}.sg-ph-act{margin-left:auto;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.sg-eyebrow{font-size:.75rem;font-weight:600;color:var(--accent);display:flex;align-items:center;gap:6px;margin-bottom:6px}.sg-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;padding:9px 16px;font-weight:600;font-size:.84rem;transition:var(--transition);white-space:nowrap;line-height:1.2;border:none;cursor:pointer;font-family:inherit}.sg-btn-primary{background:var(--grad);color:#fff;box-shadow:0 6px 16px -4px #6366f180}.sg-btn-primary:hover{transform:translateY(-1px);box-shadow:0 10px 20px -6px #6366f199}.sg-btn-primary:disabled{opacity:.6;transform:none;cursor:not-allowed;box-shadow:none}.sg-btn-sec{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary)}.sg-btn-sec:hover{border-color:var(--border-strong);background:var(--bg-chat)}.sg-btn-ghost{color:var(--accent);padding:6px 10px;background:none}.sg-btn-ghost:hover{background:var(--accent-soft)}.sg-btn-danger{color:var(--danger-ink);background:var(--bg-secondary);border:1px solid var(--border)}.sg-btn-danger:hover{background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 35%,transparent)}.sg-btn-sm{padding:6px 11px;font-size:.78rem;border-radius:8px}.sg-btn-xs{padding:4px 9px;font-size:.75rem;border-radius:7px}.sg-btn-block{width:100%}.sg-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.sg-card-h{display:flex;align-items:center;gap:10px;padding:16px 18px 0;flex-wrap:wrap}.sg-card-h h3{font-size:.9rem;font-weight:700;letter-spacing:-.015em;color:var(--text-primary)}.sg-card-h .sg-sub{font-size:.78rem;color:var(--text-muted)}.sg-card-h .sg-r{margin-left:auto;display:flex;gap:8px;align-items:center}.sg-card-b{padding:16px 18px}.sg-card-hover{transition:box-shadow var(--transition),transform var(--transition),border-color var(--transition)}.sg-card-hover:hover{box-shadow:var(--shadow-md);transform:translateY(-1px);border-color:var(--border-strong)}.sg-sec-t{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin:22px 0 10px;display:flex;align-items:center;gap:8px}.sg-grid{display:grid;gap:14px}.sg-g2{grid-template-columns:repeat(2,minmax(0,1fr))}.sg-g3{grid-template-columns:repeat(3,minmax(0,1fr))}.sg-g4{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1100px){.sg-g4,.sg-g3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.sg-g2,.sg-g3,.sg-g4{grid-template-columns:1fr}}.sg-kstrip{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:18px;overflow:hidden}.sg-kstrip .sg-kpi{padding:14px 18px;border-right:1px solid var(--border)}.sg-kstrip .sg-kpi:last-child{border-right:none}.sg-kpi-k{font-size:.75rem;color:var(--text-muted);font-weight:500;display:flex;align-items:center;gap:6px}.sg-kpi-v{font-size:1.375rem;font-weight:800;letter-spacing:-.035em;margin-top:2px;display:flex;align-items:baseline;gap:6px;color:var(--text-primary)}.sg-kpi-v small{font-size:.78rem;font-weight:500;color:var(--text-muted);letter-spacing:0}.sg-kpi-s{font-size:.75rem;color:var(--text-secondary);margin-top:2px}.sg-up{color:var(--success-ink)}.sg-down{color:var(--danger-ink)}.sg-pill{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:999px;white-space:nowrap;line-height:1.5}.sg-pill .sg-d{width:6px;height:6px;border-radius:50%;background:currentColor}.sg-p-ok{background:var(--success-soft);color:var(--success-ink)}.sg-p-bad{background:var(--danger-soft);color:var(--danger-ink)}.sg-p-warn{background:var(--warning-soft);color:var(--warning-ink)}.sg-p-info{background:var(--info-soft);color:var(--info-ink)}.sg-p-acc{background:var(--accent-light);color:var(--accent)}.sg-p-vio{background:var(--violet-soft);color:var(--violet)}.sg-p-mute{background:var(--bg-chat);color:var(--text-secondary);border:1px solid var(--border)}.sg-tag{display:inline-flex;align-items:center;gap:4px;font-size:.66rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:1px 6px;border-radius:5px;white-space:nowrap}.sg-type{font-family:var(--mono);font-size:.69rem;font-weight:500;color:var(--text-secondary);background:var(--bg-chat);border:1px solid var(--border);padding:1px 6px;border-radius:5px;white-space:nowrap}.sg-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:var(--bg-secondary);border-radius:999px;padding:5px 11px;font-size:.78rem;font-weight:500;color:var(--text-secondary);transition:var(--transition);white-space:nowrap;cursor:pointer}.sg-chip:hover{border-color:var(--border-strong);color:var(--text-primary)}.sg-chip.on{background:var(--accent-light);border-color:color-mix(in srgb,var(--accent) 30%,transparent);color:var(--accent);font-weight:600}.sg-chips{display:flex;flex-wrap:wrap;gap:6px}.sg-seg{display:inline-flex;border:1px solid var(--border);border-radius:9px;overflow:hidden;background:var(--bg-secondary)}.sg-seg button{padding:6px 11px;font-size:.78rem;font-weight:600;color:var(--text-secondary);display:flex;gap:6px;align-items:center;white-space:nowrap;border:none;background:none;cursor:pointer}.sg-seg button.on{background:var(--accent-light);color:var(--accent)}.sg-seg button+button{border-left:1px solid var(--border)}.sg-utabs{display:flex;gap:22px;border-bottom:1px solid var(--border);margin-bottom:18px;overflow-x:auto}.sg-utab{padding:10px 0;font-weight:600;font-size:.84rem;color:var(--text-muted);border-bottom:2px solid transparent;margin-bottom:-1px;display:flex;gap:7px;align-items:center;white-space:nowrap;background:none;border-top:none;border-left:none;border-right:none;cursor:pointer}.sg-utab:hover{color:var(--text-primary)}.sg-utab.on{color:var(--text-primary);border-bottom-color:var(--accent)}.sg-utab .sg-c{font-size:.68rem;background:var(--bg-chat);color:var(--text-secondary);padding:0 6px;border-radius:999px}.sg-utab.on .sg-c{background:var(--accent-light);color:var(--accent)}.sg-field{display:flex;flex-direction:column;gap:5px;min-width:0}.sg-field label,.sg-lbl{font-size:.75rem;font-weight:600;color:var(--text-secondary)}.sg-input,.sg-select,.sg-textarea{width:100%;background:var(--bg-secondary);border:1px solid var(--border);border-radius:9px;padding:8px 11px;font-size:.84rem;outline:none;transition:var(--transition);color:var(--text-primary);font-family:inherit}.sg-input:focus,.sg-select:focus,.sg-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.sg-textarea{resize:vertical;min-height:80px;line-height:1.55}.sg-input-ic{position:relative}.sg-input-ic svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-muted)}.sg-input-ic .sg-input{padding-left:32px}.sg-tbl-wrap{overflow-x:auto}table.sg-tbl{width:100%;border-collapse:collapse}.sg-tbl thead th{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);text-align:left;padding:10px 14px;border-bottom:1px solid var(--border);white-space:nowrap;background:var(--bg-secondary);position:sticky;top:0;z-index:1}.sg-tbl tbody td{padding:11px 14px;border-bottom:1px solid var(--border);vertical-align:middle}.sg-tbl tbody tr:last-child td{border-bottom:none}.sg-tbl tbody tr.sg-click{cursor:pointer;transition:background var(--transition)}.sg-tbl tbody tr.sg-click:hover{background:var(--bg-chat)}.sg-tbl td.sg-num,.sg-tbl th.sg-num{text-align:right;font-variant-numeric:tabular-nums}.sg-itile{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;flex:none;background:linear-gradient(135deg,#6366f121,#8b5cf621);color:var(--accent);box-shadow:inset 0 0 0 1px #6366f11a}.sg-itile.sm{width:28px;height:28px;border-radius:8px}.sg-itile.g{background:var(--success-soft);color:var(--success-ink);box-shadow:none}.sg-itile.a{background:var(--warning-soft);color:var(--warning-ink);box-shadow:none}.sg-itile.r{background:var(--danger-soft);color:var(--danger-ink);box-shadow:none}.sg-itile.b{background:var(--info-soft);color:var(--info-ink);box-shadow:none}.sg-itile.v{background:var(--violet-soft);color:var(--violet);box-shadow:none}.sg-empty{padding:44px 20px;text-align:center;color:var(--text-secondary)}.sg-empty .sg-itile{margin:0 auto 14px}.sg-empty h4{font-size:.97rem;color:var(--text-primary);font-weight:700;letter-spacing:-.015em}.sg-empty p{font-size:.84rem;margin:4px auto 16px;max-width:420px}.sg-note{display:flex;gap:10px;align-items:flex-start;border-radius:11px;padding:10px 12px;font-size:.8rem;color:var(--text-secondary);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 18%,transparent)}.sg-note svg{color:var(--accent);margin-top:1px;flex:none}.sg-note b{color:var(--text-primary)}.sg-note.warn{background:var(--warning-soft);border-color:color-mix(in srgb,var(--warning) 30%,transparent)}.sg-note.warn svg{color:var(--warning-ink)}.sg-note.ok{background:var(--success-soft);border-color:color-mix(in srgb,var(--success) 30%,transparent)}.sg-note.ok svg{color:var(--success-ink)}pre.sg-code{font-family:var(--mono);font-size:.78rem;line-height:1.65;padding:12px 14px;background:var(--code);border:1px solid var(--border);border-radius:10px;white-space:pre-wrap;word-break:break-word;color:var(--text-secondary);overflow-x:auto}.sg-spin{width:12px;height:12px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:sg-sp .7s linear infinite;display:inline-block}@keyframes sg-sp{to{transform:rotate(360deg)}}.sg-skel{background:linear-gradient(90deg,var(--bg-chat),var(--border),var(--bg-chat));background-size:200% 100%;animation:sg-sk 1.2s infinite;border-radius:6px}@keyframes sg-sk{to{background-position:-200% 0}}.sg-bar{height:6px;border-radius:6px;background:var(--bg-chat);overflow:hidden}.sg-bar i{display:block;height:100%;border-radius:6px;background:var(--accent);transition:width .6s cubic-bezier(.4,0,.2,1)}.chat-welcome{max-width:760px;margin:0 auto;padding-top:3.5vh}.chat-hero-tile{width:52px;height:52px;margin:0 auto 16px;border-radius:16px;display:grid;place-items:center;color:var(--accent);background:linear-gradient(135deg,#6366f124,#8b5cf624);box-shadow:inset 0 0 0 1px #6366f11f}.chat-hero-h{font-size:1.7rem;font-weight:800;letter-spacing:-.035em;color:var(--text-primary);margin:0}.chat-hero-sub{font-size:.92rem;color:var(--text-secondary);margin:.5rem auto 0;max-width:520px;line-height:1.55}.chat-hero-sugg{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:1.25rem}.chat-hero-tip{text-align:left;max-width:620px;margin:1.25rem auto 0}.chat-welcome .dataset-picker{margin-top:1.5rem}.chat-welcome .dataset-picker-item{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.chat-welcome .dataset-picker-item:hover{border-color:var(--accent);background:var(--accent-light);box-shadow:var(--shadow-md);transform:translateY(-1px)}.chat-welcome .dataset-picker-section{text-align:left}.chat-launcher{width:100%;max-width:920px;margin:2.25rem auto 0;text-align:left;display:flex;flex-direction:column;gap:1.75rem}.chat-launcher-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:-.5rem}.chat-launcher-kicker{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.launcher-upload-btn{margin-left:auto;display:inline-flex;align-items:center;gap:7px;cursor:pointer;font-size:.78rem;font-weight:600;color:var(--accent);background:var(--accent-light, var(--bg-chat));border:1px solid var(--accent-soft, var(--border));border-radius:999px;padding:7px 14px;transition:border-color var(--transition),box-shadow var(--transition)}.launcher-upload-btn:hover{border-color:var(--accent);box-shadow:var(--shadow)}.launcher-upload-btn svg{color:var(--accent)}.chat-launcher-tabs{display:inline-flex;gap:3px;background:var(--bg-chat);border:1px solid var(--border);border-radius:999px;padding:4px}.chat-launcher-tab{border:none;background:none;cursor:pointer;font-size:.8rem;font-weight:600;color:var(--text-secondary);padding:7px 16px;border-radius:999px;display:inline-flex;align-items:center;gap:7px;transition:color var(--transition),background var(--transition)}.chat-launcher-tab:hover{color:var(--text-primary)}.chat-launcher-tab.on{background:var(--bg-secondary);color:var(--accent);box-shadow:var(--shadow)}.chat-launcher-tabcount{font-size:.62rem;font-weight:700;min-width:16px;height:16px;padding:0 5px;border-radius:8px;background:var(--accent-light);color:var(--accent);display:inline-flex;align-items:center;justify-content:center}.chat-launcher-tab.on .chat-launcher-tabcount{background:var(--accent);color:#fff}.launcher-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.launcher-upload{cursor:pointer}.launcher-ds-groups{display:flex;flex-direction:column;gap:1.1rem}.launcher-ds-group{display:flex;flex-direction:column;gap:10px}.launcher-ds-grouphead{display:flex;align-items:center;gap:7px;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.launcher-ds-groupcount{font-size:.6rem;font-weight:700;min-width:16px;height:16px;padding:0 5px;border-radius:8px;background:var(--accent-light);color:var(--accent);display:inline-flex;align-items:center;justify-content:center}.launcher-card{position:relative;display:flex;align-items:flex-start;gap:14px;text-align:left;padding:18px;border:1px solid var(--border);border-radius:var(--radius-lg, 16px);background:var(--bg-secondary);cursor:pointer;box-shadow:var(--shadow);transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.launcher-card:hover:not(:disabled){border-color:var(--accent);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.launcher-card:disabled{opacity:.55;cursor:not-allowed}.launcher-card-ic{flex-shrink:0;width:42px;height:42px;border-radius:12px;background:var(--accent-light);color:var(--accent);display:inline-flex;align-items:center;justify-content:center}.launcher-card-ic svg{color:var(--accent)}.launcher-plus{background:var(--bg-chat);border:1px dashed var(--border)}.launcher-card-body{display:flex;flex-direction:column;gap:5px;min-width:0;padding-top:1px}.launcher-card-title{font-size:.95rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em;line-height:1.3}.launcher-card-meta{font-size:.72rem;color:var(--accent);font-weight:600}.launcher-card-desc{font-size:.78rem;color:var(--text-muted);line-height:1.5;margin-top:2px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.launcher-recommended{align-self:flex-start;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);background:var(--accent-light);padding:3px 9px;border-radius:999px;margin-bottom:1px}.launcher-card.is-recommended{border-color:var(--accent);background:linear-gradient(180deg,var(--accent-light) 0%,var(--bg-secondary) 44%);box-shadow:0 0 0 1px var(--accent) inset,var(--shadow-md)}.launcher-card.is-recommended .launcher-card-ic{background:var(--accent)}.launcher-card.is-recommended .launcher-card-ic svg{color:#fff}.launcher-create{border-style:dashed;background:var(--bg-chat)}.launcher-empty{font-size:.82rem;color:var(--text-muted);font-style:italic;padding:10px 2px;grid-column:1 / -1}.launcher-recent{display:flex;flex-direction:column;gap:12px}.launcher-recent-head{display:flex;align-items:center;justify-content:space-between}.launcher-viewall{border:none;background:none;cursor:pointer;font-size:.75rem;font-weight:600;color:var(--accent)}.launcher-viewall:hover{text-decoration:underline}.launcher-recent-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.launcher-recent-card{display:flex;flex-direction:column;gap:5px;text-align:left;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-secondary);cursor:pointer;box-shadow:var(--shadow);transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.launcher-recent-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-1px)}.launcher-recent-title{font-size:.84rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.35}.launcher-recent-meta{font-size:.7rem;color:var(--text-muted)}.tp-ph .tp-ph-text h2,.gov-ph .gov-ph-text h2,.anom-ph-text h2,.dq-ph-text h2,.dp-ph .dp-ph-text h2,.cat-ph .cat-ph-text h2,.kpi-ph .kpi-ph-text h2,.founder-ph .founder-ph-text h2,.aa-ph-text h2,.conn-header h2,.lin-ph-main h2,.ctx-ph-main h2,.exp-ph-main h2,.ag-ph-text h1{font-size:1.3rem;font-weight:800;letter-spacing:-.02em;line-height:1.25}.tp-ph .tp-ph-text p,.gov-ph .gov-ph-text p,.anom-ph-text p,.dq-ph-text p,.dp-ph .dp-ph-text p,.cat-ph .cat-ph-text p,.kpi-ph .kpi-ph-text p,.founder-ph .founder-ph-text p,.aa-ph-text p,.lin-ph-sub,.ctx-ph-sub,.exp-ph-sub,.ag-ph-text p{font-size:.82rem;font-weight:400;color:var(--text-secondary);line-height:1.5;margin-top:.3rem}
