:root{--bg-primary: #e8eaed;--bg-secondary: #f0f1f3;--bg-chat: #e2e4e8;--bg-sidebar: #eaecef;--text-primary: #2d3142;--text-secondary: #5a6178;--text-muted: #9098a9;--accent: #6366f1;--accent-hover: #4f46e5;--accent-light: #ebebff;--border: #dcdfe5;--user-bubble: linear-gradient(135deg, #6366f1 0%, #818cf8 100%);--user-text: #ffffff;--assistant-bubble: #ffffff;--success: #10b981;--danger: #ef4444;--warning: #f59e0b;--shadow: 0 1px 3px rgba(0,0,0,.04), 0 1px 2px rgba(0,0,0,.02);--shadow-md: 0 4px 12px -2px rgba(0,0,0,.06), 0 2px 6px -2px rgba(0,0,0,.04);--shadow-lg: 0 12px 32px -4px rgba(0,0,0,.08), 0 4px 12px -4px rgba(0,0,0,.04);--shadow-xl: 0 24px 48px -8px rgba(0,0,0,.12);--radius: 16px;--radius-sm: 12px;--radius-xs: 8px;--transition: .2s cubic-bezier(.4, 0, .2, 1);--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}[data-theme=dark]{--bg-primary: #0f1117;--bg-secondary: #1a1d2e;--bg-chat: #111420;--bg-sidebar: #141726;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--accent-light: #1e1b4b;--border: #2d3348;--assistant-bubble: #1e2235;--user-bubble: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);--shadow: 0 1px 3px rgba(0,0,0,.5);--shadow-md: 0 4px 6px rgba(0,0,0,.4);--shadow-lg: 0 10px 25px rgba(0,0,0,.6);--shadow-xl: 0 20px 40px rgba(0,0,0,.7)}[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] .explorer-sql{background:#0f1117}[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}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}#root{height:100vh}::-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}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.app{display:flex;height:100vh}.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-sessions{flex:1;overflow-y:auto;padding:.5rem}.session-group{margin-bottom:.75rem}.session-date{font-size:.7rem;color:var(--text-muted);padding:.25rem .5rem;text-transform:uppercase;letter-spacing:.05em}.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}.header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:var(--bg-secondary);border-bottom:1px solid var(--border);box-shadow:0 1px 4px #00000008;z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);min-height:56px}.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}.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 1rem;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;max-width:860px;margin:0 auto;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:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease}.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-lg);z-index:10000}.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){.sidebar{display:none}.message-user,.message-assistant{max-width:95%}.messages{padding:1rem}.input-bar{padding:.5rem 1rem}.dp-columns{grid-template-columns:1fr}}.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-tabs{display:flex;gap:.25rem;margin-bottom:1rem;border-bottom:1px solid var(--border);padding-bottom:.5rem}.tp-tab{padding:.4rem .8rem;border:none;border-radius:6px;background:transparent;color:var(--text-muted);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s}.tp-tab:hover{background:var(--bg-chat);color:var(--text-primary)}.tp-tab.active{background:var(--accent-light);color:var(--accent)}.tp-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,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-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:#dcfce7;color:#166534;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:#fee2e2;color:#991b1b;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}.join-panel-actions{display:flex;align-items:center;gap:.5rem}.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-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}.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}.dp-loading{font-size:.82rem;color:var(--text-muted);text-align:center;padding:2rem}.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:1rem;background:var(--bg-chat);transition:border-color .2s,box-shadow .2s}.dp-product-card:hover{border-color:var(--accent);box-shadow:var(--shadow-lg)}.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:#fee2e2;color:#dc2626}.pop-popular{background:#fef3c7;color:#d97706}.pop-active{background:#dcfce7;color:#16a34a}.pop-used{background:var(--accent-light);color:var(--accent)}.pop-new{background:var(--bg-chat);color:var(--text-muted);border:1px solid var(--border)}[data-theme=dark] .pop-hot{background:#450a0a;color:#fca5a5}[data-theme=dark] .pop-popular{background:#451a03;color:#fbbf24}[data-theme=dark] .pop-active{background:#064e3b;color:#6ee7b7}.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:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:.75rem}.dp-card-stat{display:flex;flex-direction:column;align-items:center;padding:.4rem;background:var(--bg-secondary);border-radius:6px;border:1px solid var(--border)}.dp-stat-value{font-size:.85rem;font-weight:700;color:var(--accent)}.dp-stat-label{font-size:.6rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.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-panel-actions{display:flex;align-items:center;gap:.5rem}.dp-products-list{display:flex;flex-direction:column;gap:.75rem}.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:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tp-log-sql code{font-family:SF Mono,Fira Code,monospace;font-size:.68rem;color:var(--accent);cursor:help}.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}.catalog-body{display:flex;flex:1;overflow:hidden}.catalog-list{width:200px;flex-shrink:0;border-right:1px solid var(--border);overflow-y:auto;padding:.5rem}.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}.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-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)}.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}.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:#dcfce7;color:#166534;border:1px solid #bbf7d0}.conn-test-result.error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}[data-theme=dark] .conn-test-result.success{background:#064e3b;color:#6ee7b7}[data-theme=dark] .conn-test-result.error{background:#450a0a;color:#fca5a5}.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{margin-top:1.25rem;padding:.75rem;border:1px dashed var(--border);border-radius:var(--radius-sm);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}.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-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)}.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-secondary);border-bottom:1px solid var(--border);flex:1;overflow-y:auto;padding:1rem 1.5rem}.val-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.val-header h2{font-size:1rem;font-weight:700}.val-controls{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.val-progress{font-size:.78rem;color:var(--text-muted);font-style:italic}.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:.3rem .5rem;font-size:.78rem}.val-q-id{font-weight:600;color:var(--text-muted);min-width:24px}.val-q-text{color:var(--text-primary)}.val-summary{display:flex;gap:1rem;margin-bottom:1rem}.val-stat{display:flex;flex-direction:column;align-items:center;padding:.5rem 1rem;border:1px solid var(--border);border-radius:8px;min-width:70px}.val-stat-num{font-size:1.3rem;font-weight:700}.val-stat span:last-child{font-size:.65rem;color:var(--text-muted);text-transform:uppercase}.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:var(--radius-sm)}.val-results-table{width:100%;border-collapse:collapse;font-size:.75rem}.val-results-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}.val-results-table td{padding:.4rem .5rem;border-bottom:1px solid var(--border)}.val-row-fail td{background:#fef2f2}.val-row-error td{background:#fffbeb}[data-theme=dark] .val-row-fail td{background:#1a0505}[data-theme=dark] .val-row-error td{background:#1a1505}.val-badge{font-size:.65rem;font-weight:700;padding:.15rem .4rem;border-radius:4px}.val-badge-pass{background:#dcfce7;color:#166534}.val-badge-fail{background:#fee2e2;color:#991b1b}.val-badge-error{background:#fef3c7;color:#92400e}[data-theme=dark] .val-badge-pass{background:#064e3b;color:#6ee7b7}[data-theme=dark] .val-badge-fail{background:#450a0a;color:#fca5a5}[data-theme=dark] .val-badge-error{background:#451a03;color:#fbbf24}.val-cat-badge{font-size:.62rem;padding:.1rem .4rem;border-radius:4px;font-weight:600}.val-cat-simple{background:#dcfce7;color:#166534}.val-cat-medium{background:#fef3c7;color:#92400e}.val-cat-complex{background:var(--accent-light);color:var(--accent)}.val-id{font-weight:600;font-family:monospace}.val-question{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.val-expected,.val-got{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:monospace;font-size:.68rem}.val-time{white-space:nowrap}.val-cancel-btn{border-color:var(--danger);color:var(--danger)}.val-cancel-btn:hover{background:var(--danger);color:#fff}.val-comparison{margin-bottom:1rem}.val-comparison h3{font-size:.85rem;font-weight:600;margin-bottom:.5rem}.val-comp-table{width:100%;border-collapse:collapse;font-size:.78rem;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.val-comp-table th{padding:.5rem;background:var(--bg-chat);font-weight:600;text-align:left}.val-comp-table td{padding:.4rem .5rem;border-top:1px solid var(--border)}.val-comp-best td{background:#f0fdf4}[data-theme=dark] .val-comp-best td{background:#052e16}.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)}.val-expanded-row td{padding:0!important}.val-sql-compare{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;padding:.75rem;background:var(--bg-chat);border-top:1px solid var(--border)}.val-sql-block strong{font-size:.68rem;color:var(--text-muted);text-transform:uppercase;display:block;margin-bottom:.3rem}.val-sql-block pre{font-family:SF Mono,monospace;font-size:.7rem;color:var(--accent);background:var(--bg-secondary);padding:.5rem;border-radius:4px;white-space:pre-wrap;word-break:break-all;border:1px solid var(--border)}.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-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:#ef444414;border:1px solid rgba(239,68,68,.3);color:#dc2626}.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(200px,1fr));gap:.75rem}.gov-group-card{padding:1rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-chat)}.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)}.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}.login-card{flex:unset!important;max-width:100%!important;align-self:unset!important}}.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-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:1rem 0;gap:.25rem;overflow-y:auto;flex-shrink:0;box-shadow:2px 0 8px #00000008}.nav-item{display:flex;flex-direction:column;align-items:center;gap:.25rem;width:56px;padding:.65rem .35rem;border:none;border-radius:var(--radius-xs);background:transparent;color:var(--text-muted);cursor:pointer;transition:all var(--transition);position:relative}.nav-item:hover{background:var(--accent-light);color:var(--accent);transform:translateY(-1px)}.nav-item.nav-active{background:var(--accent-light);color:var(--accent);box-shadow:inset 3px 0 0 var(--accent);font-weight:700}.nav-item.nav-active svg{stroke-width:2.2}.nav-label{font-size:.58rem;font-weight:600;text-align:center;line-height:1.2;letter-spacing:.02em}.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(300px,1fr));gap:1rem}.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}.agent-status-active{background:#dcfce7;color:#166534}[data-theme=dark] .agent-status-active{background:#064e3b;color:#6ee7b7}.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:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:1rem}.val-tab{padding:8px 20px;font-size:13px;font-weight:600;border:none;background:none;cursor:pointer;color:var(--text-muted);border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s}.val-tab:hover{color:var(--text-primary)}.val-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.val-custom-tests{animation:fadeIn .3s ease}.custom-test-form{background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;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-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:8px;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)}.custom-test-hint{font-size:11px;color:var(--text-muted);font-style:italic}.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}.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}.lineage-graph{background:var(--bg-secondary);border:1.5px solid var(--border);border-radius:var(--radius);padding:24px;margin-bottom:24px}.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-xs);cursor:pointer;transition:all .2s;background:var(--bg-primary);min-width:140px}.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 #6366f11a}.node-icon{width:32px;height:32px;border-radius:8px;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}.node-meta{font-size:10px;color:var(--text-muted);white-space:nowrap}.lineage-empty-node{font-size:12px;color:var(--text-muted);font-style:italic;padding:8px 14px}.lineage-connector{display:flex;justify-content:center;padding:4px 0}.connector-line{width:2px;height:20px;background:var(--border);border-radius:1px;position:relative}.connector-line:after{content:"▼";position:absolute;bottom:-8px;left:-5px;font-size:8px;color:var(--border)}.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:#10b9811a;color:#10b981;font-weight:700;letter-spacing:.05em}.badge-alert{color:#f59e0b;font-size:12px}.lineage-detail-sidebar{width:240px;min-width:240px;background:var(--bg-secondary);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:16px;overflow-y:auto;max-height:500px;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:4px;word-break:break-word}.detail-type{font-size:10px;text-transform:uppercase;color:var(--text-muted);font-weight:600;letter-spacing:.05em;padding:2px 6px;background:var(--bg-primary);border-radius:4px}.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:4px 8px;border-radius:4px;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);padding:20px}.lineage-impact-section h3{font-size:14px;font-weight:700;margin-bottom:4px}.lineage-impact-selector{margin-bottom:16px}.lineage-impact-selector select{padding:8px 12px;border:1.5px solid var(--border);border-radius:var(--radius-xs);font-size:13px;width:100%;max-width:400px;background:var(--bg-primary)}.lineage-impact-results{animation:fadeIn .3s ease}.impact-header h4{font-size:13px;font-weight:600;margin-bottom:12px}.impact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.impact-card{border-radius:var(--radius-xs);padding:14px;text-align:center}.impact-card.safe{background:#10b9810f;border:1px solid rgba(16,185,129,.2)}.impact-card.impacted{background:#ef44440f;border:1px solid rgba(239,68,68,.2)}.impact-count{font-size:24px;font-weight:800;display:block}.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}.impact-item{font-size:11px;padding:3px 8px;background:#00000008;border-radius:4px;margin-top:4px}.context-panel{background:var(--bg-primary);flex:1;overflow-y:auto;overflow-x:hidden;padding:1.5rem 2rem;max-width:100%}.context-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.context-header h2{font-size:1.15rem;font-weight:800;display:flex;align-items:center;gap:8px}.context-form{background:var(--bg-secondary);border:1.5px solid var(--accent);border-radius:var(--radius);padding:20px;margin-bottom:20px;animation:fadeIn .3s ease;overflow:hidden;max-width:100%;box-sizing:border-box}.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:var(--accent-light);color:var(--accent);padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600;text-transform:capitalize}.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:10px;background:#10b9811a;color:#059669;font-weight:600}.embed-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);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-alert-banner{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#f59e0b14;border:1px solid rgba(245,158,11,.3);border-radius:var(--radius-xs);margin-bottom:16px;font-size:13px;font-weight:600;color:#d97706}.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:#f59e0b;background:#f59e0b05}.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:#059669;background:#10b9811a}.kpi-change.down{color:#dc2626;background:#ef44441a}.kpi-threshold-alert{font-size:11px;padding:4px 8px;border-radius:6px;margin-bottom:6px;font-weight:600}.kpi-threshold-alert.below{color:#dc2626;background:#ef444414}.kpi-threshold-alert.above{color:#d97706;background:#f59e0b14}.kpi-threshold-ok{font-size:11px;color:#059669;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-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:#fef3c7;border-color:#f59e0b;color:#92400e}.founder-metrics{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.75rem;margin-bottom:1.5rem}.f-metric{display:flex;flex-direction:column;align-items:center;padding:.6rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-chat)}.f-num{font-size:1.2rem;font-weight:700;color:var(--accent)}.f-metric span:last-child{font-size:.6rem;color:var(--text-muted);text-transform:uppercase}.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:#f59e0b}.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-secondary)}.explorer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.explorer-header h2{font-size:1.3rem;font-weight:700}.explorer-tabs{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:16px}.explorer-tab{padding:8px 20px;font-size:13px;font-weight:600;border:none;background:none;cursor:pointer;color:var(--text-muted);border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s}.explorer-tab:hover{color:var(--text-primary)}.explorer-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.saved-analyses{animation:fadeIn .3s ease}.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:flex;flex-direction:column;gap:12px}.analysis-card{border:1.5px solid var(--border);border-radius:var(--radius-xs);padding:14px;background:var(--bg-secondary);transition:all .2s}.analysis-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md)}.analysis-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.analysis-card-header h4{font-size:14px;font-weight:700}.analysis-meta{font-size:11px;color:var(--text-muted)}.analysis-sql{font-size:11px;background:var(--bg-primary);border-radius:6px;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:SF Mono,Fira Code,monospace}.analysis-card-actions{display:flex;gap:6px}.explorer-controls{margin-bottom:16px}.explorer-ds-select{width:100%;padding:10px 14px;border-radius:8px;border:1px solid var(--border);background:var(--bg-primary);font-size:14px}.selected-tables-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.table-chip{display:flex;align-items:center;gap:4px;background:var(--accent-light);border:1px solid var(--accent);border-radius:6px;padding:4px 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}.table-chip button:hover{opacity:1}.table-fields-group{margin-bottom:12px}.table-fields-title{font-size:11px;font-weight:700;color:var(--accent);text-transform:uppercase;margin-bottom:4px;padding:4px 6px;background:var(--accent-light);border-radius:4px}.explorer-workspace{display:grid;grid-template-columns:220px 1fr;gap:16px}.explorer-fields-panel{background:var(--bg-primary);border-radius:10px;padding:12px;border:1px solid var(--border);overflow-y:auto;max-height:70vh}.explorer-fields-panel h4{font-size:12px;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;letter-spacing:.5px}.explorer-field-list{display:flex;flex-direction:column;gap:2px}.explorer-field{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:6px;cursor:grab;font-size:13px;transition:background .15s;-webkit-user-select:none;user-select:none}.explorer-field:hover{background:var(--accent-light, rgba(99,102,241,.08))}.explorer-field.field-selected{background:#6366f11f;border-left:3px solid var(--accent)}.field-type-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:11px;font-weight:700;background:#6366f11a;color:var(--accent)}.field-type-icon.field-type-integer,.field-type-icon.field-type-real{background:#10b9811a;color:#10b981}.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}.explorer-builder{display:flex;flex-direction:column;gap:12px}.explorer-drop-zone{background:var(--bg-primary);border:2px dashed var(--border);border-radius:10px;padding:12px;min-height:80px}.explorer-drop-zone h4{font-size:12px;text-transform:uppercase;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:6px;padding:4px 8px;font-size:12px}.selected-field-chip span:first-child{font-weight:600}.chip-table-tag{font-size:9px;padding:1px 4px;border-radius:3px;background:var(--accent);color:#fff;font-weight:600;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-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{background:var(--bg-primary);border-radius:8px;padding:10px}.explorer-derived h4{font-size:12px;text-transform:uppercase;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:6px;padding:6px 10px;font-size:12px;margin-bottom:4px}.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:#00000008;padding:2px 6px;border-radius:3px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.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:6px;border:1px solid var(--accent);margin-top:6px}.derived-form input,.derived-form select{padding:6px 10px;border-radius:5px;border:1px solid var(--border);font-size:12px;background:var(--bg-primary)}.derived-form-hint{font-size:10px;color:var(--text-muted);font-style:italic}.derived-error{font-size:11px;color:#ef4444;font-weight:500}.derived-form-actions{display:flex;gap:6px}.derived-values-preview{background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;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{background:var(--bg-primary);border-radius:8px;padding:10px}.explorer-filters h4{font-size:12px;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;display:flex;align-items:center;gap:8px}.explorer-joins{background:var(--bg-primary);border-radius:8px;padding:10px;border:1px solid rgba(99,102,241,.2)}.explorer-joins h4{font-size:12px;text-transform:uppercase;color:var(--accent);margin-bottom:8px;display:flex;align-items:center;gap:8px}.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)}.join-eq{font-weight:700;color:var(--accent);font-size:14px}.btn-sm{font-size:11px;padding:2px 8px;border-radius:4px;background:var(--accent);color:#fff;border:none;cursor:pointer}.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)}.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);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:6px;box-shadow:0 4px 12px #0000001a;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);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;background:var(--bg-primary);border-radius:8px;padding:8px 12px}.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}.opt-group select,.opt-group input{padding:4px 8px;border-radius:5px;border:1px solid var(--border);font-size:12px;background:var(--bg-secondary)}.opt-group input[type=number]{width:70px}.explorer-sql{background:#1e1e2e;border-radius:8px;padding:12px}.explorer-sql h4{color:#a6adc8;font-size:11px;margin-bottom:6px;text-transform:uppercase}.explorer-sql pre{color:#cdd6f4;font-size:12px;font-family:JetBrains Mono,Fira Code,monospace;white-space:pre-wrap;margin:0}.explorer-actions{display:flex;align-items:center;gap:10px}.result-count{font-size:12px;color:var(--text-muted);margin-left:auto}.explorer-error{background:#fef2f2;color:#dc2626;padding:8px 12px;border-radius:6px;font-size:13px;border:1px solid #fecaca}.explorer-results{overflow-x:auto;max-height:50vh;overflow-y:auto;border-radius:8px;border:1px solid var(--border);margin-top:8px}.explorer-table{width:100%;border-collapse:collapse;font-size:12px}.explorer-table th{background:var(--bg-primary);padding:8px 10px;text-align:left;font-weight:600;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-muted);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-primary);border-radius:8px;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);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:#10b981;font-weight:600;text-align:center!important}.pivot-header-total{background:#f59e0b14!important;color:#f59e0b;font-weight:700;text-align:center!important}.pivot-row-label{font-weight:600;background:#6366f108}.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)}.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:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;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}}
