.cost-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:600;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fbbf24;color:#92400e}.cost-badge-compact{padding:4px 8px;font-size:.8rem}.cost-badge-icon{font-size:1rem;line-height:1}.cost-badge-amount{font-family:Courier New,monospace;font-weight:700}.cost-badge-detailed{flex-direction:column;align-items:stretch;padding:var(--space-3) var(--space-4);gap:var(--space-2);max-width:300px}.cost-badge-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1)}.cost-badge-title{font-size:var(--font-size-sm);font-weight:700;color:#92400e}.cost-badge-breakdown{display:flex;flex-direction:column;gap:4px}.cost-badge-row{display:flex;justify-content:space-between;align-items:center;font-size:.8rem}.cost-badge-label{color:#78350f;font-weight:500}.cost-badge-value{font-family:Courier New,monospace;font-weight:700;color:#92400e}.cost-badge-total{margin-top:4px;padding-top:6px;border-top:1px solid #fbbf24;font-size:.85rem}.cost-badge-total .cost-badge-label,.cost-badge-total .cost-badge-value{font-weight:700;color:#78350f}.data-table-container{display:flex;flex-direction:column;height:100%;font-family:system-ui,-apple-system,sans-serif}.table-controls{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--color-border, #e5e7eb);margin-bottom:0}.search-wrapper{display:flex;align-items:center;background:#f3f4f6;border-radius:6px;padding:6px 12px;width:300px}.search-icon{color:#9ca3af;margin-right:8px}.search-input{border:none;background:transparent;outline:none;width:100%;font-size:14px}.pagination-info{font-size:13px;color:#6b7280}.table-wrapper{flex:1;overflow:auto;border:1px solid var(--color-border, #e5e7eb);border-radius:8px;box-shadow:0 1px 3px #0000000d;margin-top:16px;position:relative;max-height:calc(100vh - 400px)}table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}th{background:#f9fafb;color:#374151;font-weight:600;text-align:left;padding:12px 16px;border-bottom:1px solid #e5e7eb;white-space:nowrap;cursor:pointer;transition:background .2s;-webkit-user-select:none;user-select:none;position:sticky;top:0;z-index:2}th:hover{background:#f3f4f6}.th-content{display:flex;align-items:center;gap:6px}.sort-icon{display:flex;align-items:center;color:#9ca3af}.sort-icon .inactive{opacity:0;transition:opacity .2s}th:hover .sort-icon .inactive{opacity:.5}td{padding:12px 16px;border-bottom:1px solid #f3f4f6;color:#4b5563}tbody tr:nth-child(2n){background-color:#fafafa}tbody tr:hover{background-color:#f3f4f6}.pager{display:flex;justify-content:flex-end;align-items:center;padding:12px 0;gap:12px;border-top:1px solid var(--color-border, #e5e7eb);margin-top:auto}.page-indicator{font-size:13px;color:#6b7280}button.ghost{background:none;border:none;color:#6b7280;cursor:pointer;display:flex;align-items:center;gap:4px;font-size:13px;padding:6px 12px;border-radius:4px;transition:all .2s}button.ghost:hover:not(:disabled){background:#f3f4f6;color:#111827}:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--color-primary: #8b5cf6;--color-primary-dark: #7c3aed;--color-secondary: #4f46e5;--color-text-primary: #0f172a;--color-text-secondary: #6b7280;--color-text-muted: #9ca3af;--color-background: #f5f6fb;--color-surface: #ffffff;--color-border: #d1d5db;--color-border-light: #e5e7eb;--color-sidebar: #111827;--color-sidebar-text: #e5e7eb;--color-status-registered-bg: #e0f2fe;--color-status-registered-text: #0c4a6e;--color-status-training-bg: #fef3c7;--color-status-training-text: #92400e;--color-status-trained-bg: #dcfce7;--color-status-trained-text: #166534;--color-status-failed-bg: #fee2e2;--color-status-failed-text: #b91c1c;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-10: 40px;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-3xl: 24px;--radius-full: 999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--font-size-xs: .75rem;--font-size-sm: .85rem;--font-size-base: .95rem;--font-size-lg: 1rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;color:var(--color-text-primary)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--color-background);overflow:hidden}html{height:100%}.app-shell{display:grid;grid-template-columns:260px 1fr;height:100vh;background:var(--color-background)}.sidebar{background:var(--color-sidebar);color:var(--color-sidebar-text);padding:var(--space-6) var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.sidebar-header{display:flex;flex-direction:column;gap:var(--space-4)}.sidebar-header h1{margin:0;font-size:1.4rem}.sidebar-logo{line-height:1.2}.sidebar-user{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:999px;background:#1f2937e6;border:1px solid rgba(148,163,184,.5)}.sidebar-user-avatar{width:28px;height:28px;border-radius:999px;background:#4f46e540;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700}.sidebar-user-meta{display:flex;flex-direction:column;min-width:0}.sidebar-user-email{font-size:.8rem;color:var(--color-sidebar-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.sidebar-user-role{font-size:.7rem;color:#d1d5dbcc;text-transform:uppercase;letter-spacing:.05em}.sidebar-signout{border:none;background:transparent;color:var(--color-sidebar-text);font-size:.75rem;padding:4px 10px;border-radius:999px;cursor:pointer;border:1px solid rgba(148,163,184,.5);transition:background .15s ease,color .15s ease,border-color .15s ease;margin-left:auto}.sidebar-signout:hover{background:#f8fafc1a;border-color:var(--color-primary)}.nav{display:flex;flex-direction:column;gap:8px}.nav button{border:none;background:transparent;color:inherit;padding:var(--space-3) var(--space-3);border-radius:var(--radius-md);font-weight:600;text-align:left;cursor:pointer;transition:all .2s ease;position:relative}.nav button:hover{background:#ffffff0d}.nav button.active{background:#ffffff1a;border-left:3px solid var(--color-primary);padding-left:calc(var(--space-3) - 3px)}.nav button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.content{display:flex;flex-direction:column;background:var(--color-background);overflow:auto}.content-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-6) var(--space-8) var(--space-3)}.content-header h2{margin:0}.content-body{padding:0 var(--space-8) var(--space-8);overflow:visible;flex:1;max-width:1600px;width:100%;margin:0 auto}.panel{background:var(--color-surface);border-radius:var(--radius-3xl);padding:var(--space-6) var(--space-7);box-shadow:var(--shadow-lg);margin-bottom:var(--space-5)}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.panel-header p{margin:var(--space-1) 0 0;color:var(--color-text-secondary)}.search-input{border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:var(--space-3) var(--space-4);font-size:var(--font-size-base);transition:border-color .2s ease}.search-input:focus{outline:none;border-color:var(--color-primary)}.data-table{width:100%;border-collapse:collapse}.data-table thead{position:sticky;top:0;background:var(--color-surface);z-index:1}.data-table th{text-align:left;padding:var(--space-3);border-bottom:2px solid var(--color-border-light);font-weight:600;color:var(--color-text-primary)}.data-table td{text-align:left;padding:var(--space-3);border-bottom:1px solid #f0f4f8}.data-table tbody tr{transition:background-color .15s ease}.data-table tbody tr:hover{background-color:#f9fafb}.data-table tbody tr:nth-child(2n){background-color:#fafbfc}.data-table tbody tr:nth-child(2n):hover{background-color:#f3f4f6}.link-button{border:none;background:transparent;text-align:left;cursor:pointer}.link-button span{display:block;font-size:.85rem;color:#6b7280}.badge{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600}.badge.secondary{background:#e0e7ff;color:#1d4ed8}.badge.status-registered{background:var(--color-status-registered-bg);color:var(--color-status-registered-text)}.badge.status-training{background:var(--color-status-training-bg);color:var(--color-status-training-text)}.badge.status-trained{background:var(--color-status-trained-bg);color:var(--color-status-trained-text)}.badge.status-queued{background:var(--color-border-light);color:var(--color-text-primary)}.badge.status-running{background:var(--color-status-training-bg);color:var(--color-status-training-text)}.badge.status-completed{background:var(--color-status-trained-bg);color:var(--color-status-trained-text)}.badge.status-failed{background:var(--color-status-failed-bg);color:var(--color-status-failed-text)}.job-summary{margin-top:4px;font-size:.8rem;color:var(--color-text-secondary);display:flex;flex-wrap:wrap;gap:8px}.stats-card{display:flex;flex-direction:column;gap:6px}.stats-bar{background:#f1f5f9;height:6px;border-radius:999px;overflow:hidden}.stats-fill{height:100%;background:linear-gradient(90deg,#8b5cf6,#4f46e5)}.stats-labels{display:flex;justify-content:space-between;font-size:.85rem}.stats-labels.subtle{color:#6b7280}.action-row{display:flex;gap:8px;flex-wrap:wrap}button.primary{background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));border:none;color:var(--color-surface);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);cursor:pointer;font-weight:600;transition:opacity .2s ease,transform .1s ease}button.primary:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}button.primary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button.primary:disabled{opacity:.5;cursor:not-allowed}button.ghost{border:1px solid var(--color-border);border-radius:var(--radius-md);background:transparent;padding:var(--space-2) var(--space-4);cursor:pointer;font-weight:600;transition:all .2s ease}button.ghost.danger{color:#b91c1c;border-color:#fecdd3}button.ghost.danger:hover:not(:disabled){background:#fee2e2;border-color:#fca5a5}button.ghost:hover:not(:disabled){background:var(--color-background);border-color:var(--color-primary)}button.ghost:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button.ghost:disabled{opacity:.5;cursor:not-allowed}.muted{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.artifact-path{font-size:.8rem;color:#475569;margin-top:4px}.artifact-links{display:flex;gap:8px;flex-wrap:wrap}.artifact-links a{font-size:.8rem}.pager{display:flex;justify-content:flex-end;gap:12px;margin-top:12px;font-weight:600}.onboard-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.onboard-form .full-row{grid-column:1 / -1}.onboard-form label{display:flex;flex-direction:column;gap:6px;font-weight:600}.onboard-form input,.onboard-form select,textarea{border:1px solid #d1d5db;border-radius:12px;padding:10px;font-size:.95rem;background:#fff}.alert{border-radius:12px;padding:12px 16px;margin-bottom:16px;font-weight:600}.alert.success{background:#dcfce7;color:#166534}.alert.error{background:#fee2e2;color:#b91c1c}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a4d;z-index:10}.dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(500px,90vw);max-height:80vh;overflow:auto;background:#fff;border-radius:20px;padding:24px;box-shadow:0 30px 80px #0f172a40;z-index:11}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.dialog textarea{width:100%;min-height:120px;margin-top:12px}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:12px}.query-card{background:#fff;border-radius:20px;padding:24px;box-shadow:0 25px 70px #13193c1f}.query-card textarea{width:100%;min-height:140px;border:1px solid #dbe2ff;border-radius:16px;padding:16px;font-size:1rem;resize:vertical}.progress-track{width:100%;height:6px;background:#edf2ff;border-radius:999px;overflow:hidden;margin:12px 0}.progress-indicator{height:100%;background:linear-gradient(90deg,#7c3aed,#2563eb);width:0%;transition:width .4s ease}.progress-indicator.active{animation:pulse 1.4s infinite ease-in-out}@keyframes pulse{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.status-line{margin-top:10px;color:#5f6a92;font-size:.95rem}.results-card{background:#fff;border-radius:20px;padding:24px;box-shadow:0 25px 70px #13193c1f}.results-card header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.sql-preview{background:#0f172a;color:#e9f0ff;padding:16px;border-radius:14px;overflow-x:auto;margin-bottom:16px}.table-wrapper{margin-top:16px;overflow-x:auto}.table-wrapper table{width:100%;border-collapse:collapse;font-size:.9rem}.table-wrapper th,.table-wrapper td{border:1px solid #e2e8f0;padding:8px 10px;text-align:left}.table-note{margin-top:8px;color:#64748b;font-size:.85rem}.database-switcher{display:flex;flex-direction:column;gap:4px;font-weight:600;color:#374151}.database-switcher select{border-radius:10px;border:1px solid #cdd5ff;padding:8px 10px;font-size:.95rem}.mcp-chat-section{background:#fff;border-radius:20px;padding:24px;box-shadow:0 25px 70px #13193c1f;margin-top:20px}.mcp-chat-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.mcp-chat-header h3{margin:0}.mcp-status{padding:4px 10px;border-radius:999px;font-size:.8rem;font-weight:600}.mcp-status.connected{background:#dcfce7;color:#166534}.mcp-status.disconnected{background:#fee2e2;color:#b91c1c}.mcp-messages{max-height:400px;overflow-y:auto;margin-bottom:16px;display:flex;flex-direction:column;gap:12px}.mcp-message{padding:12px;border-radius:12px;width:100%;align-self:stretch}.mcp-message.user{background:#eef2ff}.mcp-message.assistant{background:#f1f5f9}.mcp-message.system{background:#fef3c7;font-size:.9rem}.mcp-input-row{display:flex;gap:8px}.mcp-input-row input{flex:1;border:1px solid #d1d5db;border-radius:12px;padding:10px 14px;font-size:.95rem}.auth-shell{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--color-background);padding:16px}.auth-card{background:var(--color-surface);border-radius:var(--radius-3xl);padding:32px 28px;box-shadow:var(--shadow-xl);width:min(420px,100%)}.auth-card h1{margin-top:0;margin-bottom:4px}.auth-card p{margin-top:0;margin-bottom:16px;color:var(--color-text-secondary)}.auth-toggle{display:inline-flex;border-radius:999px;border:1px solid var(--color-border-light);padding:2px;margin-bottom:16px}.auth-toggle button{border:none;background:transparent;padding:6px 14px;border-radius:999px;cursor:pointer;font-weight:600;font-size:.9rem;color:var(--color-text-secondary)}.auth-toggle button.active{background:var(--color-primary);color:#fff}.auth-form{display:flex;flex-direction:column;gap:10px}.auth-form label{display:flex;flex-direction:column;gap:4px;font-weight:600}.auth-form input{border-radius:10px;border:1px solid var(--color-border);padding:8px 10px;font-size:.95rem}@media (max-width: 960px){.app-shell{grid-template-columns:220px 1fr}}@media (max-width: 720px){.app-shell{grid-template-columns:1fr}.sidebar{flex-direction:row;flex-wrap:wrap}.content-header{flex-direction:column;align-items:flex-start}}.samples-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;z-index:40}.samples-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:20px;box-shadow:0 25px 70px #13193c40;padding:24px;width:min(640px,90vw);max-height:80vh;overflow:auto;z-index:41}.samples-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.samples-modal-header h2{margin:0}.samples-modal-body{display:flex;flex-direction:column;gap:12px}.sample-category{background:#fff;border-radius:12px;border:1px solid #e5e7eb;overflow:hidden}.category-toggle{width:100%;border:none;background:#fff;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;font-weight:600;cursor:pointer;font-size:.95rem}.category-toggle:hover{background:#f9fafb}.sample-list{display:flex;flex-direction:column;gap:8px;padding:0 16px 12px}.sample-list button{border:1px solid #e0e7ff;background:#f8f9ff;border-radius:10px;padding:10px 12px;text-align:left;font-size:.92rem;cursor:pointer;transition:background .2s ease,border .2s ease}.sample-list button:hover{background:#dde5ff;border-color:#94a3ff}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:var(--radius-md)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-row{height:48px;margin-bottom:var(--space-2)}.skeleton-text{height:16px;margin-bottom:var(--space-2)}.empty-state{text-align:center;padding:var(--space-10) var(--space-6);color:var(--color-text-secondary)}.empty-state-icon{font-size:3rem;margin-bottom:var(--space-4);opacity:.5}.empty-state h3{margin:0 0 var(--space-2);color:var(--color-text-primary)}.empty-state p{margin:0 0 var(--space-4);font-size:var(--font-size-base)}.copy-button{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;font-size:var(--font-size-sm);font-weight:600;transition:all .2s ease}.copy-button:hover{background:var(--color-background);border-color:var(--color-primary)}.copy-button.copied{background:var(--color-status-trained-bg);border-color:var(--color-status-trained-text);color:var(--color-status-trained-text)}.query-history{margin-top:var(--space-4);padding:var(--space-4);background:var(--color-background);border-radius:var(--radius-lg)}.query-history h4{margin:0 0 var(--space-3);font-size:var(--font-size-base);color:var(--color-text-primary)}.query-history-list{display:flex;flex-direction:column;gap:var(--space-2);max-height:200px;overflow-y:auto}.query-history-item{padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);text-align:left;transition:all .2s ease}.query-history-item:hover{border-color:var(--color-primary);background:#f9fafb}.timestamp{font-size:var(--font-size-xs);color:var(--color-text-muted)}.chat-actions{display:flex;gap:var(--space-2);margin-bottom:var(--space-3)}.message-timestamp{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--space-1)}.keyboard-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--space-2)}.keyboard-hint kbd{padding:2px 6px;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:monospace;font-size:var(--font-size-xs)}.expanded-row-parent{background-color:#f8fafc!important;border-bottom:none!important}.expanded-row-content td{padding:0!important;border-bottom:1px solid #e2e8f0;background-color:#f8fafc}.job-details-expand{padding:16px 24px 24px 56px}.details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.details-header h4{margin:0;font-size:.95rem;color:#475569}.stats-summary{width:300px}.objects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.object-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:10px;display:flex;align-items:center;gap:10px;font-size:.85rem;position:relative;overflow:hidden}.object-card.status-completed{border-left:3px solid var(--color-status-trained-text)}.object-card.status-failed{border-left:3px solid var(--color-status-failed-text)}.object-card.status-processing{border-left:3px solid var(--color-secondary)}.object-card.status-pending{border-left:3px solid #cbd5e1}.object-icon{width:24px;height:24px;border-radius:50%;background:#f1f5f9;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#64748b}.object-card.status-completed .object-icon{background:#dcfce7;color:#166534}.object-card.status-failed .object-icon{background:#fee2e2;color:#b91c1c}.object-card.status-processing .object-icon{background:#e0e7ff;color:#4f46e5}.object-info{flex:1;min-width:0}.object-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#1e293b}.object-type{font-size:.75rem;color:#64748b;text-transform:uppercase}.object-error{position:absolute;bottom:2px;right:4px;font-size:.7rem;color:#ef4444;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.progress-cell{display:flex;flex-direction:column;gap:4px;width:100%}.progress-text{display:flex;justify-content:space-between;font-size:.75rem}.progress-bar{height:4px;background:#e2e8f0;border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:var(--color-secondary);border-radius:2px;overflow:hidden}.progress-fill.error{background:var(--color-status-failed-text)}.error-text{color:#ef4444;cursor:help}.query-layout{display:flex;height:calc(100vh - 60px);gap:0;overflow:hidden;background:#fff}.query-left-pane{width:350px;min-width:300px;max-width:500px;background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;padding:var(--space-6);flex-shrink:0}.query-right-pane{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#fff;min-width:0}.query-controls{display:flex;flex-direction:column;gap:var(--space-4)}.query-controls label{display:flex;flex-direction:column;gap:var(--space-2);font-weight:500;font-size:14px}.query-controls form{display:flex;flex-direction:column;gap:var(--space-3)}.query-controls select,.query-controls textarea{width:100%;padding:var(--space-3);border:1px solid var(--color-border);border-radius:6px;font-family:inherit;font-size:14px}.query-controls textarea{min-height:120px;max-height:200px;resize:vertical;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace}.query-actions{display:flex;gap:var(--space-2)}.query-actions button{flex:1}.query-progress{height:4px;background:var(--color-border);border-radius:2px;overflow:hidden;position:relative}.query-progress-bar{height:100%;background:var(--color-primary);transition:width .3s ease;border-radius:2px}.query-progress-bar.active{animation:progress-pulse 1.5s ease-in-out infinite}@keyframes progress-pulse{0%,to{opacity:1}50%{opacity:.6}}.query-status-text{font-size:12px;color:var(--color-text-muted);margin-top:var(--space-1)}.query-history-section{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.query-history-section h4{font-size:14px;font-weight:600;margin:0 0 var(--space-3) 0;display:flex;align-items:center;gap:var(--space-2);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;color:var(--color-text)}.query-history-section h4:hover{color:var(--color-primary)}.query-history-list{display:flex;flex-direction:column;gap:var(--space-2)}.query-history-item{padding:var(--space-2) var(--space-3);background:#fff;border:1px solid var(--color-border);border-radius:4px;text-align:left;font-size:13px;cursor:pointer;transition:all .2s;color:var(--color-text);white-space:normal;overflow:visible;word-break:break-word}.query-history-item:hover{background:var(--color-primary-light);border-color:var(--color-primary)}.results-scroll-container{flex:1;overflow:hidden;display:flex;flex-direction:column}.results-header{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border);background:#fff;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);flex-shrink:0}.results-header-info{display:flex;align-items:center;gap:var(--space-3)}.results-header-info h3{margin:0;font-size:16px;font-weight:600}.results-header-info p{margin:0;font-size:14px;color:var(--color-text-muted)}.results-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.results-toggle{display:flex;gap:0;border:1px solid var(--color-border);border-radius:6px;overflow:hidden}.results-toggle button{padding:var(--space-2) var(--space-4);border:none;background:#fff;border-right:1px solid var(--color-border);cursor:pointer;font-size:13px;font-weight:500;transition:all .2s}.results-toggle button:last-child{border-right:none}.results-toggle button.active{background:var(--color-primary);color:#fff}.results-toggle button:hover:not(.active){background:var(--color-surface)}.sql-preview-section{border-bottom:1px solid var(--color-border);background:#fff;flex-shrink:0}.sql-preview-header{padding:var(--space-3) var(--space-6);display:flex;align-items:center;gap:var(--space-2);cursor:pointer;-webkit-user-select:none;user-select:none;background:#f0f7ff;border-bottom:1px solid #e0e7ff;font-size:14px;font-weight:600;color:var(--color-primary)}.sql-preview-header:hover{background:#e0e7ff}.sql-preview-content{padding:0;background:#2d2d2d;color:#f8f8f2;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:13px;overflow:hidden;transition:all .2s ease}.sql-preview-content pre{margin:0;padding:var(--space-4) var(--space-6);white-space:pre-wrap;word-break:break-all}.sql-preview-content.collapsed pre{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;opacity:.7}.results-content{padding:var(--space-6);flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}@media (max-width: 1024px){.query-layout{flex-direction:column;height:auto;min-height:calc(100vh - 60px);overflow:visible}.query-left-pane{width:100%;max-width:none;border-right:none;border-bottom:1px solid var(--color-border);max-height:none;overflow:visible}.query-right-pane{min-height:500px;overflow:visible}.results-scroll-container{overflow:visible}.results-header{position:static;flex-direction:column;align-items:flex-start}.results-actions{width:100%;justify-content:space-between}}@media (max-width: 640px){.query-left-pane,.results-header,.sql-preview-header,.sql-preview-content pre,.results-content{padding:var(--space-4)}.results-actions{flex-direction:column;width:100%}.results-actions button,.results-actions a{width:100%}}html,body,#root{overflow:hidden;height:100vh}:root{--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-secondary: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--gradient-accent: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);--gradient-success: linear-gradient(135deg, #43e97b 0%, #38f9d7 100%);--gradient-subtle: linear-gradient(135deg, #667eea15 0%, #764ba215 100%);--glass-bg: rgba(255, 255, 255, .7);--glass-bg-dark: rgba(15, 23, 42, .7);--glass-border: rgba(255, 255, 255, .18);--glass-shadow: 0 8px 32px 0 rgba(31, 38, 135, .15);--backdrop-blur: blur(10px);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-elevated: 0 20px 60px -15px rgba(0, 0, 0, .3);--shadow-float: 0 10px 40px -10px rgba(99, 102, 241, .3);--shadow-glow: 0 0 20px rgba(99, 102, 241, .4);--transition-fast: .15s;--transition-base: .2s;--transition-slow: .3s;--transition-slower: .5s;--ease-smooth: cubic-bezier(.4, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55)}button.primary{position:relative;overflow:hidden;background:var(--gradient-primary)!important;box-shadow:var(--shadow-md);transition:all var(--transition-base) var(--ease-smooth)!important}button.primary:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease}button.primary:hover:not(:disabled){transform:translateY(-2px)!important;box-shadow:var(--shadow-float)!important;opacity:1!important}button.primary:hover:not(:disabled):before{width:300px;height:300px}button.primary:active:not(:disabled){transform:translateY(0)!important;box-shadow:var(--shadow-md)!important}button.primary:disabled{box-shadow:none}button.ghost{box-shadow:var(--shadow-sm);transition:all var(--transition-base) var(--ease-smooth)!important}button.ghost:hover:not(:disabled){background:var(--gradient-subtle)!important;transform:translateY(-1px);box-shadow:var(--shadow-md)}button.ghost:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.panel-enhanced{position:relative;background:var(--color-surface);border-radius:var(--radius-3xl);padding:2px;background:var(--gradient-primary);box-shadow:var(--shadow-float)}.panel-enhanced-content{background:var(--color-surface);border-radius:calc(var(--radius-3xl) - 2px);padding:var(--space-6) var(--space-7)}.stats-fill-enhanced{height:100%;background:var(--gradient-primary);border-radius:999px;transition:width var(--transition-slow) var(--ease-smooth)}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.1)}}.pulse-dot{animation:pulse-dot 2s ease-in-out infinite}.typing-indicator{display:flex;gap:4px;padding:12px 16px;background:var(--color-background);border-radius:var(--radius-lg);width:fit-content;margin:8px 0}.typing-dot{width:8px;height:8px;border-radius:50%;background:var(--color-text-muted);animation:typing 1.4s ease-in-out infinite}.typing-dot:nth-child(1){animation-delay:0s}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.7}30%{transform:translateY(-10px);opacity:1}}.app-shell-fixed{display:flex;flex-direction:column;height:100vh;background:var(--color-background);overflow:hidden}.top-header{height:64px;background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-6);flex-shrink:0;z-index:10;box-shadow:var(--shadow-sm)}.top-header-left{display:flex;align-items:center;gap:var(--space-8)}.top-header-logo h1{font-size:1.25rem;font-weight:700;background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin:0;letter-spacing:-.02em}.top-nav{display:flex;gap:var(--space-2)}.top-nav-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);color:var(--color-text-muted);font-weight:500;transition:all var(--transition-fast);background:transparent;border:none;cursor:pointer;font-size:.9rem}.top-nav-item:hover{background:var(--color-background-subtle);color:var(--color-text)}.top-nav-item.active{background:var(--gradient-subtle);color:var(--color-primary)}.top-header-right{display:flex;align-items:center;gap:var(--space-4)}.user-profile{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);transition:background var(--transition-fast)}.user-profile:hover{background:var(--color-background-subtle)}.user-avatar{width:32px;height:32px;border-radius:50%;background:var(--gradient-secondary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;box-shadow:var(--shadow-sm)}.user-info{display:flex;flex-direction:column;line-height:1.2}.user-name{font-size:.875rem;font-weight:500;color:var(--color-text)}.user-role{font-size:.75rem;color:var(--color-text-muted)}.logout-button{padding:var(--space-2);color:var(--color-text-muted);border-radius:var(--radius-md);transition:all var(--transition-fast)}.logout-button:hover{background:var(--color-background-subtle);color:var(--color-error)}.content-fixed{display:flex;flex-direction:column;height:100%;overflow:hidden;flex:1}.content-header-fixed{display:none}.content-body-fixed{flex:1;overflow-y:auto;padding:var(--space-6)}.mcp-message iframe{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.mcp-message h1,.mcp-message h2{font-size:1.25rem!important;margin:.5rem 0!important;font-weight:600!important}.mcp-message h3{font-size:1rem!important;margin:.5rem 0!important}
