@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:#0f172a;transition:background .4s}.node-connector-line--done{background:#1e293b}.node-card{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:10px;border:1px solid #0f172a;background:#080d18;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:#1e293b;background:#0d1525}.node-icon{width:36px;height:36px;border-radius:8px;background:#0f172a;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;filter:grayscale(1) opacity(.3);border:1px solid #1e293b;transition:all .3s ease}.node-icon--active{background:var(--node-icon-bg);filter:none;border-color:var(--node-color)}.node-icon--done{background:#1e293b;filter:none}.node-labels{flex:1;min-width:0}.node-label{font-size:12px;font-weight:600;letter-spacing:.3px;color:#334155}.node-label--active{color:var(--node-color)}.node-label--done{color:#cbd5e1}.node-desc{font-size:10px;color:#475569;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.node-desc-running{color:var(--node-color-faded)}.node-desc-done{color:#10b981}.node-status{flex-shrink:0}.node-active-dot{width:8px;height:8px;border-radius:50%;background:var(--node-color)}.node-done-check{color:#10b981;font-size:14px}.node-error-mark{color:#f43f5e;font-size:14px}.node-pending-dot{width:8px;height:8px;border-radius:50%;background:#1e293b}.plotly-chart-error{padding:20px;color:#f43f5e;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:#0a0f1e;border:1px solid #1e293b;color:#f8fafc;font-size:13px;line-height:1.6;word-wrap:break-word}.message-bubble--user{background:#f59e0b;border:none;color:#030812}.message-loading{display:flex;align-items:center;gap:8px}.loading-dot{width:8px;height:8px;border-radius:50%;background:#64748b;animation:pulse 1.5s ease-in-out infinite}.loading-text{color:#64748b}.message-results{margin-left:40px;padding:16px;background:#0a0f1e;border:1px solid #1e293b;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:#080d18;border:1px solid #1e293b;border-radius:8px;flex:0 1 auto}.metric-chip-name{font-size:9px;color:#475569;letter-spacing:.5px;margin-bottom:4px}.metric-chip-value{font-size:18px;font-weight:700;color:#f8fafc;font-family:Syne,sans-serif;margin-bottom:2px}.metric-chip-delta{font-size:10px;color:#64748b;display:flex;align-items:center;gap:3px}.metric-chip-delta--up{color:#10b981}.metric-chip-delta--down{color:#f43f5e}.charts-grid{display:grid;grid-template-columns:1fr;gap:12px}.chart-item{background:#080d18;border:1px solid #1e293b;border-radius:10px;padding:8px;min-height:500px}.insights-list{display:flex;flex-direction:column;gap:8px}.insight-item{padding:10px 12px;background:#080d18;border:1px solid #1e293b;border-left-width:3px;border-left-style:solid;border-radius:8px}.insight-item--high{border-left-color:#f43f5e}.insight-item--medium{border-left-color:#f59e0b}.insight-item--low{border-left-color:#10b981}.insight-item-title{font-size:11px;font-weight:600;color:#e2e8f0;margin-bottom:4px}.insight-item-desc{font-size:11px;color:#64748b;line-height:1.5}.message-timestamp{font-size:11px;color:#475569;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:#94a3b8;line-height:1.5}.clarification-chips{display:none;flex-wrap:wrap;gap:6px}.clarification-chip{padding:6px 12px;background:#0f172a;border:1px solid #f59e0b66;border-radius:20px;color:#f59e0b;font-size:11px;font-family:inherit;cursor:pointer;transition:background .15s,border-color .15s;text-align:left}.clarification-chip:hover{background:#1e293b;border-color:#f59e0b}.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:#f59e0b}.chat-empty-desc{font-size:13px;color:#64748b;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:#0a0f1e;border:1px solid #1e293b;border-radius:8px;color:#cbd5e1;cursor:pointer;transition:all .2s;font-family:inherit}.sample-btn:hover:not(:disabled){border-color:#f59e0b;color:#f59e0b}.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:#0a0f1e;border:1px solid #1e293b;border-radius:10px;padding:12px 14px;color:#f8fafc;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:focus:not(:disabled){border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b14}.chat-textarea:disabled{opacity:.6;cursor:not-allowed}.send-btn{width:44px;height:44px;border-radius:10px;background:#334155;border:none;color:#94a3b8;font-size:16px;cursor:not-allowed;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.send-btn--active{background:#f59e0b;color:#030812;cursor:pointer}.send-btn-pulse{width:5px;height:5px;border-radius:50%;background:#f59e0b;animation:pulse 1s ease-in-out infinite}.excel-uploaded{background:#0a0f1e;border:1px solid #1e3a5f;border-radius:10px;padding:12px 14px;font-size:12px}.excel-uploaded-header{display:flex;justify-content:space-between;align-items:flex-start}.excel-filename{color:#38bdf8;font-weight:500;margin-bottom:4px}.excel-sheet-row{color:#64748b;margin-top:2px}.excel-sheet-meta{color:#334155;margin-left:6px}.excel-remove-btn{background:none;border:none;color:#475569;cursor:pointer;font-size:14px;padding:0 2px;line-height:1;transition:color .15s}.excel-remove-btn:hover{color:#ef4444}.excel-dropzone{border:1px dashed #1e293b;border-radius:10px;padding:20px 14px;text-align:center;cursor:pointer;background:#0a0f1e;transition:all .2s}.excel-dropzone--dragging{border-color:#38bdf8;background:#38bdf80a}.excel-dropzone--uploading{cursor:not-allowed;opacity:.6}.dropzone-icon{font-size:20px;margin-bottom:6px}.dropzone-text{font-size:11px;color:#64748b;line-height:1.5}.dropzone-ext{color:#334155}.dropzone-file-input{display:none}.reports-panel{width:240px;flex-shrink:0;border-left:1px solid #0f172a;background:#030812;display:flex;flex-direction:column;overflow:hidden}.reports-panel-header{padding:20px 16px 0;flex-shrink:0}.reports-loading{padding:16px;font-size:11px;color:#334155;text-align:center}.reports-scroll{flex:1;overflow-y:auto;padding:12px 10px 20px;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:#1e293b;border-radius:2px}.reports-category-label{font-size:9px;color:#1e3a5f;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 #0f172a;background:#0a0f1e;color:#64748b;cursor:pointer;text-align:left;transition:all .15s;font-family:inherit}.report-btn:hover:not(:disabled){border-color:#1e293b;background:#0d1526;color:#94a3b8}.report-btn:disabled{opacity:.4;cursor:not-allowed}.report-btn--active{border-color:#f59e0b!important;background:#f59e0b12!important;color:#f59e0b!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:#334155;line-height:1.4;white-space:normal}.app-layout{display:flex;flex-direction:column;height:100vh}.app-header{border-bottom:1px solid #0f172a;padding:14px 28px;display:flex;align-items:center;justify-content:space-between;background:#030812;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:#f59e0b}.app-logo-badge{margin-left:12px;font-size:10px;color:#334155;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:#0a0f1e;border:1px solid #1e293b;font-size:11px}.status-dot{width:6px;height:6px;border-radius:50%;background:#334155}.status-dot--running{background:#f59e0b;box-shadow:0 0 8px #f59e0b;animation:pulse 1.2s ease-in-out infinite}.status-dot--done{background:#10b981}.status-label{color:#64748b}.app-body{display:flex;flex:1;overflow:hidden}.app-sidebar{width:280px;flex-shrink:0;border-right:1px solid #0f172a;background:#030812;display:flex;flex-direction:column;overflow:hidden;padding:20px 18px;gap:20px}.sidebar-label{font-size:10px;color:#334155;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 #1e293b;background:#0a0f1e;color:#64748b;cursor:pointer;transition:all .2s;letter-spacing:.5px;font-family:inherit}.datasource-btn--active{border-color:#f59e0b;background:#f59e0b14;color:#f59e0b}.excel-uploader-wrapper{margin-top:10px}.pipeline-section{flex:1;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:#020817}.app-footer{flex-shrink:0;border-top:1px solid #0f172a;padding:20px 32px 24px;background:#030812}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:#020817;color:#f8fafc;font-family:DM Mono,monospace;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:#0a0f1e}::-webkit-scrollbar-thumb{background:#1e293b;border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#334155}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}
