@import"https://fonts.googleapis.com/css2?family=DM+Mono:ital,wght@0,300;0,400;0,500;1,400&family=Syne:wght@400;700;800&display=swap";.agent-graph{display:flex;flex-direction:column;gap:4px}.node-connector{display:flex;justify-content:flex-start;padding-left:30px;height:10px}.node-connector-line{width:1px;height:100%;background:var(--border-faint);transition:background .4s}.node-connector-line--done{background:var(--border-subtle)}.node-card{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:10px;border:1px solid var(--border-faint);background:var(--bg-deep);transition:all .3s ease}.node-card--active{border-color:var(--node-color);background:var(--node-color-bg);box-shadow:0 0 16px var(--node-color-shadow)}.node-card--done{border-color:var(--border-subtle);background:var(--bg-node-done)}.node-icon{width:36px;height:36px;border-radius:8px;background:var(--border-faint);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;filter:grayscale(1) opacity(.3);border:1px solid var(--border-subtle);transition:all .3s ease}.node-icon--active{background:var(--node-icon-bg);filter:none;border-color:var(--node-color)}.node-icon--done{background:var(--border-subtle);filter:none}.node-labels{flex:1;min-width:0}.node-label{font-size:12px;font-weight:600;letter-spacing:.3px;color:var(--text-whisper)}.node-label--active{color:var(--node-color)}.node-label--done{color:var(--text-muted)}.node-desc{font-size:10px;color:var(--text-ghost);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.node-desc-running{color:var(--node-color-faded)}.node-desc-done{color:var(--status-success)}.node-status{flex-shrink:0}.node-active-dot{width:8px;height:8px;border-radius:50%;background:var(--node-color)}.node-done-check{color:var(--status-success);font-size:14px}.node-error-mark{color:var(--status-danger);font-size:14px}.node-pending-dot{width:8px;height:8px;border-radius:50%;background:var(--border-subtle)}.plotly-chart-error{padding:20px;color:var(--status-danger);font-size:12px}.plotly-chart-container{width:100%;height:480px;padding-top:16px}.plotly-chart-container--table{height:auto!important;min-height:200px;padding-top:0;overflow-x:auto;overflow-y:hidden}.chat-message{display:flex;justify-content:flex-start;margin-bottom:20px;gap:12px}.chat-message--user{justify-content:flex-end}.message-avatar{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,#f59e0b,#ef4444);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.message-content{max-width:92%;display:flex;flex-direction:column;gap:8px}.message-bubble{padding:12px 16px;border-radius:12px;background:var(--bg-elevated);border:1px solid var(--border-subtle);color:var(--text-primary);font-size:13px;line-height:1.6;word-wrap:break-word}.message-bubble--user{background:var(--accent);border:none;color:#030812}.message-loading{display:flex;align-items:center;gap:8px}.loading-dot{width:8px;height:8px;border-radius:50%;background:var(--text-faint);animation:pulse 1.5s ease-in-out infinite}.loading-text{color:var(--text-faint)}.message-results{margin-left:40px;padding:16px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:12px;display:flex;flex-direction:column;gap:14px}.message-results--user{margin-left:0}.metrics-row{display:flex;gap:8px;flex-wrap:wrap}.metric-chip{padding:10px 12px;background:var(--bg-deep);border:1px solid var(--border-subtle);border-radius:8px;flex:0 1 auto}.metric-chip-name{font-size:9px;color:var(--text-ghost);letter-spacing:.5px;margin-bottom:4px}.metric-chip-value{font-size:18px;font-weight:700;color:var(--text-primary);font-family:Syne,sans-serif;margin-bottom:2px}.metric-chip-delta{font-size:10px;color:var(--text-faint);display:flex;align-items:center;gap:3px}.metric-chip-delta--up{color:var(--status-success)}.metric-chip-delta--down{color:var(--status-danger)}.charts-grid{display:grid;grid-template-columns:1fr;gap:12px}.chart-item{background:var(--bg-deep);border:1px solid var(--border-subtle);border-radius:10px;padding:8px;min-height:500px}.insights-list{display:flex;flex-direction:column;gap:8px}.insight-item{padding:10px 12px;background:var(--bg-deep);border:1px solid var(--border-subtle);border-left-width:3px;border-left-style:solid;border-radius:8px}.insight-item--high{border-left-color:var(--status-danger)}.insight-item--medium{border-left-color:var(--accent)}.insight-item--low{border-left-color:var(--status-success)}.insight-item-title{font-size:11px;font-weight:600;color:var(--text-secondary);margin-bottom:4px}.insight-item-desc{font-size:11px;color:var(--text-faint);line-height:1.5}.message-timestamp{font-size:11px;color:var(--text-ghost);margin-top:4px}.clarification-block{margin-top:8px;display:flex;flex-direction:column;gap:10px}.clarification-questions{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px}.clarification-question{font-size:12px;color:var(--text-dim);line-height:1.5}.clarification-chips{display:none;flex-wrap:wrap;gap:6px}.clarification-chip{padding:6px 12px;background:var(--bg-elevated);border:1px solid rgba(245,158,11,.4);border-radius:20px;color:var(--accent);font-size:11px;font-family:inherit;cursor:pointer;transition:background .15s,border-color .15s;text-align:left}.clarification-chip:hover{background:var(--border-subtle);border-color:var(--accent)}.chat-window{flex:1;overflow-y:auto;padding:24px 32px;display:flex;flex-direction:column;gap:0}.chat-empty{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:24px;text-align:center}.chat-empty-icon{width:60px;height:60px;border-radius:12px;background:linear-gradient(135deg,#f59e0b,#ef4444);display:flex;align-items:center;justify-content:center;font-size:32px}.chat-empty-title{font-size:24px;font-family:Syne,sans-serif;margin-bottom:8px}.chat-empty-title .accent{color:var(--accent)}.chat-empty-desc{font-size:13px;color:var(--text-faint);margin:0}.chat-spacer{margin-top:auto}.chat-loading-gap{height:20px}.chat-input-wrapper{display:flex;flex-direction:column;gap:12px}.sample-questions{display:flex;gap:8px;flex-wrap:wrap}.sample-btn{padding:8px 12px;font-size:12px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-muted);cursor:pointer;transition:all .2s;font-family:inherit}.sample-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.sample-btn:disabled{cursor:not-allowed;opacity:.5}.input-row{display:flex;gap:8px;align-items:flex-end}.input-wrapper{flex:1;position:relative}.chat-textarea{width:100%;min-height:44px;max-height:200px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:10px;padding:12px 14px;color:var(--text-primary);font-size:13px;font-family:inherit;resize:none;outline:none;line-height:1.5;transition:border-color .2s,box-shadow .2s;display:block}.chat-textarea::placeholder{color:var(--text-faint)}.chat-textarea:focus:not(:disabled){border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.chat-textarea:disabled{opacity:.6;cursor:not-allowed}.send-btn{width:44px;height:44px;border-radius:10px;background:var(--btn-inactive-bg);border:none;color:var(--btn-inactive-color);font-size:16px;cursor:not-allowed;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.send-btn--active{background:var(--accent);color:#030812;cursor:pointer}.send-btn-pulse{width:5px;height:5px;border-radius:50%;background:var(--accent);animation:pulse 1s ease-in-out infinite}.conv-sidebar{width:220px;flex-shrink:0;border-right:1px solid var(--border-faint);background:var(--bg-surface);display:flex;flex-direction:column;overflow:hidden;transition:width .25s ease}.conv-sidebar--collapsed{width:40px}.conv-sidebar--collapsed .conv-list{display:none}.conv-header{display:flex;align-items:center;justify-content:space-between;padding:16px 10px 10px;flex-shrink:0;gap:6px}.conv-header-actions{display:flex;align-items:center;gap:4px;margin-left:auto}.conv-collapse-btn{width:20px;height:20px;border-radius:4px;border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-dim);font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;font-family:inherit;flex-shrink:0}.conv-collapse-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-subtle)}.conv-header-label{font-size:10px;color:var(--text-whisper);letter-spacing:1.5px}.new-chat-btn{width:24px;height:24px;border-radius:6px;border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-dim);font-size:16px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;font-family:inherit}.new-chat-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-subtle)}.conv-list{flex:1;overflow-y:auto;padding:0 8px 12px;display:flex;flex-direction:column;gap:2px}.conv-list::-webkit-scrollbar{width:4px}.conv-list::-webkit-scrollbar-track{background:transparent}.conv-list::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:2px}.conv-empty{font-size:11px;color:var(--text-whisper);text-align:center;padding:24px 8px}.conv-item{width:100%;text-align:left;padding:8px 10px;border-radius:8px;border:1px solid transparent;background:transparent;cursor:pointer;font-family:inherit;transition:all .15s;position:relative}.conv-item:hover:not(.conv-item--active){background:var(--bg-elevated);border-color:var(--border-faint)}.conv-item:hover .conv-delete-btn{opacity:1}.conv-item--active{background:var(--accent-subtle);border-color:var(--accent)}.conv-item-title{font-size:11px;color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px}.conv-item--active .conv-item-title{color:var(--accent)}.conv-item-meta{display:flex;align-items:center;justify-content:space-between;margin-top:3px;font-size:10px;color:var(--text-whisper)}.conv-delete-btn{opacity:0;background:transparent;border:none;color:var(--text-ghost);cursor:pointer;font-size:14px;line-height:1;padding:0 2px;border-radius:4px;transition:all .15s;font-family:inherit}.conv-delete-btn:hover{color:var(--status-danger)}.reports-panel{flex:1;display:flex;flex-direction:column;overflow:hidden;border-top:1px solid var(--border-faint);min-height:0}.reports-panel-header{padding:12px 0 0;flex-shrink:0}.reports-loading{padding:16px;font-size:11px;color:var(--text-whisper);text-align:center}.reports-scroll{flex:1;overflow-y:auto;padding:8px 0 16px;display:flex;flex-direction:column;gap:18px}.reports-scroll::-webkit-scrollbar{width:4px}.reports-scroll::-webkit-scrollbar-track{background:transparent}.reports-scroll::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:2px}.reports-category-label{font-size:9px;color:var(--text-category);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:6px;padding-left:6px}.reports-category{display:flex;flex-direction:column;gap:4px}.report-btn{width:100%;display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border-radius:8px;border:1px solid var(--border-faint);background:var(--bg-elevated);color:var(--text-faint);cursor:pointer;text-align:left;transition:all .15s;font-family:inherit}.report-btn:hover:not(:disabled){border-color:var(--border-subtle);background:var(--report-btn-hover);color:var(--text-dim)}.report-btn:disabled{opacity:.4;cursor:not-allowed}.report-btn--active{border-color:var(--accent)!important;background:var(--accent-hover)!important;color:var(--accent)!important}.report-btn--active .report-btn-desc{color:#f59e0b99}.report-btn-icon{font-size:7px;margin-top:3px;flex-shrink:0;opacity:.5}.report-btn--active .report-btn-icon{opacity:1}.report-btn-text{display:flex;flex-direction:column;gap:2px;min-width:0}.report-btn-title{font-size:11px;font-weight:500;line-height:1.3;letter-spacing:.2px}.report-btn-desc{font-size:9px;color:var(--text-whisper);line-height:1.4;white-space:normal}.app-layout{display:flex;flex-direction:column;height:100vh}.app-header{border-bottom:1px solid var(--border-faint);padding:14px 28px;display:flex;align-items:center;justify-content:space-between;background:var(--bg-surface);flex-shrink:0}.app-logo{display:flex;align-items:center;gap:12px}.app-logo-icon{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,#f59e0b,#ef4444);display:flex;align-items:center;justify-content:center;font-size:15px}.app-logo-title{font-family:Syne,sans-serif;font-weight:800;font-size:17px;letter-spacing:-.5px}.app-logo-title .accent{color:var(--accent)}.app-logo-badge{margin-left:12px;font-size:10px;color:var(--text-whisper);letter-spacing:2px}.app-header-right{display:flex;align-items:center;gap:16px}.status-pill{display:flex;align-items:center;gap:6px;padding:4px 12px;border-radius:20px;background:var(--bg-elevated);border:1px solid var(--border-subtle);font-size:11px}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--border-medium)}.status-dot--running{background:var(--accent);box-shadow:0 0 8px var(--accent);animation:pulse 1.2s ease-in-out infinite}.status-dot--done{background:var(--status-success)}.status-label{color:var(--text-faint)}.theme-toggle{width:32px;height:32px;border-radius:8px;border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-dim);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}.app-body{display:flex;flex:1;overflow:hidden}.app-sidebar{width:280px;flex-shrink:0;border-right:1px solid var(--border-faint);background:var(--bg-surface);display:flex;flex-direction:column;overflow:hidden;padding:20px 18px;gap:20px}.sidebar-label{font-size:10px;color:var(--text-whisper);letter-spacing:1.5px;margin-bottom:10px}.sidebar-label--pipeline{margin-bottom:12px}.datasource-buttons{display:flex;gap:6px}.datasource-btn{flex:1;padding:7px 0;font-size:11px;border-radius:8px;border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-faint);cursor:pointer;transition:all .2s;letter-spacing:.5px;font-family:inherit}.datasource-btn--active{border-color:var(--accent);background:var(--accent-subtle);color:var(--accent)}.excel-uploader-wrapper{margin-top:10px}.pipeline-section{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.pipeline-scroll{flex:1;overflow:auto}.app-main{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-base)}.app-footer{flex-shrink:0;border-top:1px solid var(--border-faint);padding:20px 32px 24px;background:var(--bg-surface)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}:root,[data-theme=dark]{--bg-base: #020817;--bg-surface: #030812;--bg-elevated: #0a0f1e;--bg-deep: #080d18;--bg-node-done: #0d1525;--bg-error: #1a0a0a;--border-faint: #0f172a;--border-subtle: #1e293b;--border-medium: #334155;--text-primary: #f8fafc;--text-secondary: #e2e8f0;--text-muted: #cbd5e1;--text-dim: #94a3b8;--text-faint: #64748b;--text-ghost: #475569;--text-whisper: #334155;--text-category: #1e3a5f;--text-empty: #1e293b;--accent: #f59e0b;--accent-subtle: rgba(245, 158, 11, .08);--accent-hover: rgba(245, 158, 11, .07);--status-success: #10b981;--status-danger: #f43f5e;--btn-inactive-bg: #334155;--btn-inactive-color: #94a3b8;--report-btn-hover: #0d1526;--chart-font: #94a3b8;--chart-title: #cbd5e1;--chart-grid: #1e293b;--chart-legend: #64748b;--chart-label: #cbd5e1;--scrollbar-track: #0a0f1e;--scrollbar-thumb: #1e293b;--scrollbar-hover: #334155;color-scheme:dark}[data-theme=light]{--bg-base: #f8fafc;--bg-surface: #ffffff;--bg-elevated: #f1f5f9;--bg-deep: #e8edf5;--bg-node-done: #e8edf5;--bg-error: #fff0f0;--border-faint: #e2e8f0;--border-subtle: #cbd5e1;--border-medium: #94a3b8;--text-primary: #0f172a;--text-secondary: #1e293b;--text-muted: #1e293b;--text-dim: #334155;--text-faint: #475569;--text-ghost: #64748b;--text-whisper: #64748b;--text-category: #2563eb;--text-empty: #64748b;--accent: #f59e0b;--accent-subtle: rgba(245, 158, 11, .1);--accent-hover: rgba(245, 158, 11, .09);--status-success: #059669;--status-danger: #e11d48;--btn-inactive-bg: #e2e8f0;--btn-inactive-color: #64748b;--report-btn-hover: #f1f5f9;--chart-font: #475569;--chart-title: #334155;--chart-grid: #e2e8f0;--chart-legend: #64748b;--chart-label: #334155;--scrollbar-track: #f1f5f9;--scrollbar-thumb: #cbd5e1;--scrollbar-hover: #94a3b8;color-scheme:light}body{background:var(--bg-base);color:var(--text-primary);font-family:DM Mono,monospace;-webkit-font-smoothing:antialiased;transition:background .2s,color .2s}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-hover)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}
