.file-upload-wrapper{display:flex;flex-direction:column;align-items:center;gap:0}.file-upload{border:2px dashed #ccc;border-radius:8px;padding:24px;text-align:center;cursor:pointer;transition:border-color .2s,background-color .2s;width:100%;box-sizing:border-box}.file-upload:hover,.file-upload--dragging{border-color:#4a90d9;background-color:#f0f7ff}.file-upload__input{display:none}.file-upload__text{margin:0;color:#666;font-size:14px}.file-upload-divider{display:flex;align-items:center;width:100%;margin:12px 0}.file-upload-divider:before,.file-upload-divider:after{content:"";flex:1;border-bottom:1px solid #ddd}.file-upload-divider span{padding:0 12px;color:#999;font-size:13px}.file-upload-sample-btn{padding:8px 20px;border:1px solid #4a90d9;border-radius:6px;background:transparent;color:#4a90d9;font-size:14px;cursor:pointer;transition:background-color .2s,color .2s}.file-upload-sample-btn:hover:not(:disabled){background-color:#4a90d9;color:#fff}.file-upload-sample-btn:disabled{opacity:.6;cursor:not-allowed}.query-editor{display:flex;flex-direction:column;gap:8px}.query-editor__textarea{font-family:Courier New,Courier,monospace;font-size:14px;padding:12px;border:1px solid #ddd;border-radius:6px;resize:vertical;outline:none;line-height:1.5}.query-editor__textarea:focus{border-color:#4a90d9;box-shadow:0 0 0 2px #4a90d933}.query-editor__actions{display:flex;justify-content:flex-end}.query-editor__run-btn{padding:8px 20px;background:#4a90d9;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:background .2s}.query-editor__run-btn:hover:not(:disabled){background:#357abd}.query-editor__run-btn:disabled{opacity:.5;cursor:not-allowed}.results-table{display:flex;flex-direction:column;gap:8px}.results-table__toolbar{display:flex;align-items:center}.results-table__global-search{width:100%;max-width:360px;padding:6px 10px;font-size:13px;border:1px solid #ddd;border-radius:4px;outline:none}.results-table__global-search:focus{border-color:#4a90d9;box-shadow:0 0 0 2px #4a90d933}.results-table__summary{font-size:13px;color:#666}.results-table__scroll{overflow-x:auto;border:1px solid #ddd;border-radius:6px}.results-table__table{width:100%;border-collapse:collapse;font-size:13px}.results-table__table th,.results-table__table td{padding:8px 12px;text-align:left;border-bottom:1px solid #eee;white-space:nowrap}.results-table__table th{background:#f5f5f5;font-weight:600;position:sticky;top:0;padding:4px;vertical-align:top}.results-table__col-header{display:flex;align-items:center;width:100%;padding:4px 8px;background:none;border:none;font:inherit;font-weight:600;cursor:pointer;border-radius:3px;white-space:nowrap}.results-table__col-header:hover{background:#e8e8e8}.results-table__sort-icon{color:#999;font-size:12px;flex-shrink:0}.results-table__sort-icon--active{color:#4a90d9}.results-table__col-filter{display:block;width:calc(100% - 8px);margin:4px auto 2px;padding:3px 6px;font-size:11px;border:1px solid #ddd;border-radius:3px;outline:none}.results-table__col-filter:focus{border-color:#4a90d9;box-shadow:0 0 0 1px #4a90d933}.results-table__table tbody tr:hover{background:#f9f9f9}.result-markdown{display:flex;flex-direction:column;gap:8px}.result-markdown__summary{font-size:13px;color:#666}.result-markdown__content{border:1px solid #ddd;border-radius:6px;overflow-x:auto}.result-markdown__content pre{margin:0;padding:16px;font-size:13px;line-height:1.5;white-space:pre;overflow-x:auto}.result-markdown__content code{font-family:SF Mono,Cascadia Code,Fira Code,Menlo,Consolas,monospace}.sidebar{background:#f8f9fa;border-right:1px solid #ddd;padding:16px;overflow-y:auto;overflow-x:hidden}.sidebar--collapsed{padding:0;border-right:none;visibility:hidden;width:0}.sidebar__title{margin:0 0 12px;font-size:14px;text-transform:uppercase;letter-spacing:.5px;color:#666}.sidebar__empty{font-size:13px;color:#999}.sidebar__list{list-style:none;padding:0;margin:0}.sidebar__item{margin-bottom:4px}.sidebar__table-header{display:flex;align-items:center;gap:4px}.sidebar__toggle{background:none;border:none;cursor:pointer;font-size:10px;padding:2px 4px;color:#666}.sidebar__table-name{background:none;border:none;cursor:pointer;font-size:13px;font-weight:600;color:#333;padding:2px 4px;border-radius:3px;text-align:left}.sidebar__table-name:hover{background:#e8e8e8}.sidebar__row-count{font-size:11px;color:#999;margin-left:auto}.sidebar__columns{list-style:none;padding:4px 0 4px 24px;margin:0}.sidebar__column{display:flex;justify-content:space-between;font-size:12px;padding:2px 0}.sidebar__col-name{color:#333}.sidebar__col-type{color:#999;font-style:italic}.error-message{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fef2f2;border:1px solid #fca5a5;border-radius:6px;color:#b91c1c;font-size:14px}.error-message__text{flex:1;white-space:pre-wrap;word-break:break-word}.error-message__dismiss{background:none;border:none;font-size:20px;cursor:pointer;color:#b91c1c;padding:0 4px;line-height:1}.error-message__dismiss:hover{opacity:.7}.chat-input{display:flex;gap:8px;padding:12px 16px;border-top:1px solid #e5e7eb;background:#fff}.chat-input__textarea{flex:1;padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-family:inherit;resize:none;line-height:1.4;max-height:150px}.chat-input__textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 2px #6366f126}.chat-input__textarea:disabled{background:#f9fafb;color:#9ca3af}.chat-input__send{align-self:flex-end;padding:8px 16px;background:#6366f1;color:#fff;border:none;border-radius:8px;font-size:14px;cursor:pointer;white-space:nowrap}.chat-input__send:hover:not(:disabled){background:#4f46e5}.chat-input__send:disabled{opacity:.5;cursor:not-allowed}.inline-query{margin:8px 0;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;font-size:12px}.inline-query--error{border-color:#fca5a5}.inline-query__sql{padding:6px 10px;background:#f3f4f6;border-bottom:1px solid #e5e7eb;overflow-x:auto}.inline-query__sql code{font-size:12px;color:#4b5563;white-space:pre-wrap;word-break:break-all}.inline-query__error{padding:8px 10px;color:#b91c1c;background:#fef2f2}.inline-query__table-wrapper{overflow-x:auto;max-height:300px;overflow-y:auto}.inline-query__table{width:100%;border-collapse:collapse;font-size:12px}.inline-query__table th,.inline-query__table td{padding:4px 8px;text-align:left;border-bottom:1px solid #f3f4f6;white-space:nowrap}.inline-query__table th{background:#f9fafb;font-weight:600;color:#374151;position:sticky;top:0}.inline-query__table td{color:#4b5563}.inline-query__meta{padding:4px 10px;font-size:11px;color:#9ca3af;background:#f9fafb;border-top:1px solid #e5e7eb}.message-bubble{padding:10px 14px;border-radius:10px;margin-bottom:10px}.message-bubble--user{background:#eef2ff;margin-left:32px}.message-bubble--assistant{background:#fff;border:1px solid #e5e7eb;margin-right:32px}.message-bubble__header{font-size:11px;font-weight:600;color:#6b7280;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.message-bubble__content{font-size:14px;line-height:1.5;color:#1f2937}.message-bubble__content p{margin:0 0 8px}.message-bubble__content p:last-child{margin-bottom:0}.message-bubble__content pre{background:#f3f4f6;padding:8px 12px;border-radius:6px;overflow-x:auto;font-size:12px}.message-bubble__content code{background:#f3f4f6;padding:1px 4px;border-radius:3px;font-size:13px}.message-bubble__content pre code{background:none;padding:0}.message-bubble__typing{color:#9ca3af;font-style:italic}.message-bubble__tools{margin-top:8px}.message-bubble__segments{display:flex;flex-direction:column;gap:10px}.message-bubble__segment{border-radius:6px;padding:8px 12px}.message-bubble__segment--thinking{background:#f9fafb;border-left:3px solid #d1d5db}.message-bubble__segment--answer{background:#f0fdf4;border-left:3px solid #22c55e}.message-bubble__segment-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#9ca3af;margin-bottom:4px}.message-bubble__segment-label--answer{color:#16a34a}.message-bubble__segment-content{font-size:14px;line-height:1.5;color:#1f2937}.message-bubble__segment-content p{margin:0 0 8px}.message-bubble__segment-content p:last-child{margin-bottom:0}.message-bubble__segment-content pre{background:#f3f4f6;padding:8px 12px;border-radius:6px;overflow-x:auto;font-size:12px}.message-bubble__segment-content code{background:#f3f4f6;padding:1px 4px;border-radius:3px;font-size:13px}.message-bubble__segment-content pre code{background:none;padding:0}.message-bubble__collapsible{cursor:default}.message-bubble__collapsible-summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;user-select:none}.message-bubble__collapsible-summary::-webkit-details-marker{display:none}.message-bubble__collapsible-summary:before{content:"▶";font-size:9px;color:#9ca3af;transition:transform .15s ease;flex-shrink:0}.message-bubble__collapsible[open]>.message-bubble__collapsible-summary:before{transform:rotate(90deg)}.message-bubble__collapsible-summary .message-bubble__segment-label{margin-bottom:0;flex-shrink:0}.message-bubble__collapsible-preview{font-size:12px;color:#9ca3af;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.message-bubble__collapsible[open]>.message-bubble__collapsible-summary .message-bubble__collapsible-preview{display:none}.message-bubble__thinking-body{display:flex;flex-direction:column;gap:8px;margin-top:8px}.message-bubble__tool-segment{margin:2px 0}.agent-panel{display:flex;flex-direction:column;flex:1;min-height:0;background:#f9fafb}.agent-panel__header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #e5e7eb;background:#fff}.agent-panel__title{font-size:15px;font-weight:700;color:#1f2937}.agent-panel__clear{padding:4px 10px;font-size:12px;background:none;border:1px solid #d1d5db;border-radius:6px;color:#6b7280;cursor:pointer}.agent-panel__clear:hover{background:#f3f4f6;color:#374151}.agent-panel__messages{flex:1;overflow-y:auto;padding:16px}.agent-panel__empty{text-align:center;color:#9ca3af;font-size:14px;margin-top:40px;padding:0 20px;line-height:1.5}.app{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.app--sidebar-collapsed{grid-template-columns:0px 1fr}.app__sidebar-wrapper{position:relative;overflow:visible}.app__sidebar-toggle{position:fixed;left:236px;top:50%;transform:translateY(-50%);z-index:10;width:28px;height:28px;border-radius:50%;border:1px solid #ddd;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:10px;color:#666;box-shadow:0 1px 3px #0000001a;transition:left .2s ease}.app--sidebar-collapsed .app__sidebar-toggle{left:0}.app__sidebar-toggle:hover{background:#f0f0f0;color:#333}.app__header{display:flex;align-items:center;justify-content:space-between}.app__main{display:flex;flex-direction:column;gap:16px;padding:24px;max-width:1200px}.app__title{margin:0;font-size:22px;font-weight:700;color:#333}.app__agent-toggle{padding:6px 14px;font-size:13px;font-weight:600;border:1px solid #6366f1;border-radius:8px;background:#fff;color:#6366f1;cursor:pointer;white-space:nowrap}.app__agent-toggle:hover{background:#eef2ff}.app__agent-toggle--active{background:#6366f1;color:#fff}.app__agent-toggle--active:hover{background:#4f46e5}.app__agent-wrapper{display:flex;flex-direction:column;height:100vh}.app__agent-wrapper .app__header{padding:16px 24px;border-bottom:1px solid #e5e7eb;flex-shrink:0}.app-loading,.app-error{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:16px;color:#666}.app-error{color:#b91c1c}.api-key-dialog__overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.api-key-dialog{background:#fff;border-radius:12px;padding:24px;width:420px;max-width:90vw;box-shadow:0 8px 30px #00000026}.api-key-dialog__title{margin:0 0 8px;font-size:18px;font-weight:700;color:#1f2937}.api-key-dialog__desc{margin:0 0 16px;font-size:13px;color:#6b7280;line-height:1.4}.api-key-dialog__input{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-family:monospace;box-sizing:border-box}.api-key-dialog__input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 2px #6366f126}.api-key-dialog__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.api-key-dialog__cancel{padding:8px 16px;font-size:13px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#374151;cursor:pointer}.api-key-dialog__cancel:hover{background:#f3f4f6}.api-key-dialog__save{padding:8px 16px;font-size:13px;font-weight:600;border:none;border-radius:8px;background:#6366f1;color:#fff;cursor:pointer}.api-key-dialog__save:hover:not(:disabled){background:#4f46e5}.api-key-dialog__save:disabled{opacity:.5;cursor:not-allowed}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;color:#333;background:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}
