:root{--page-head-height: 5rem;--container-padding: 5vw;--container-width: 68.125rem}.app-container{display:flex;flex-direction:column;min-height:100vh;background-color:#fefafc;overflow:hidden}.header{position:fixed;top:0;left:0;width:100%;display:flex;z-index:90;background-color:#fff;border-bottom-width:1px;border-bottom-style:solid;border-color:#e5e7eb;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;transition-property:background-color,border-color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;--tw-border-opacity: 1;border-color:rgb(228 230 230 / var(--tw-border-opacity));height:var(--page-head-height);--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-border-opacity))}.header.is-page-scrolling{background-color:#f8fafc;border-color:#475569;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.header nav{flex-grow:1;display:flex}svg:not(:root){overflow-clip-margin:content-box;overflow:hidden}.nav-logo{width:100%;display:block}.container{margin-left:auto;margin-right:auto;max-width:calc(var(--container-width, 68.125rem) + (var(--container-padding, 0px)) * 2);padding-left:5vw;padding-right:var(--container-padding);width:100%;flex-grow:1;display:flex;max-width:none;align-items:center;justify-content:space-between}.logo-link{align-self:center;width:180px;transition:transform .2s ease}@media (min-width: 40em){.logo-link{width:200px}}.logo-link:hover{transform:scale(1.05)}.main-section{display:flex;padding-top:var(--page-head-height)}.chat-section{width:50%;padding:1rem;border-right:1px solid #e5e7eb}.chat-container{height:calc(100vh - 8rem);display:flex;flex-direction:column}.messages-container{flex:1;overflow-y:auto;margin-bottom:1rem}.message{padding:.75rem;border-radius:.5rem;max-width:80%;margin-bottom:1rem}.user-message{background-color:#dbeafe;margin-left:auto}.assistant-message{background-color:#f3f4f6}.loading-message{background-color:#f3f4f6;padding:.75rem;border-radius:.5rem;max-width:80%}.quick-prompts{margin-bottom:1rem}.quick-prompts-select{width:100%;padding:.5rem;border:1px solid #d1d5db;border-radius:.5rem}.chat-input-container{display:flex;gap:.5rem}.chat-input{flex:1;padding:.5rem;border:1px solid #d1d5db;border-radius:.5rem}.send-button{align-items:center;align-self:start;background-color:#ee3224;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;justify-content:center;line-height:1.1;min-width:10rem;padding:1.15em 1.8em;text-align:center;text-transform:uppercase;transition:background .2s,color .2s;vertical-align:middle;border:none}.send-button:hover{background-color:#ee3224;color:#ffffff80}.logs-button{background-color:#4b5563;color:#fff;border:none;padding:.6em 1.2em;font-size:.8rem;font-weight:600;cursor:pointer;border-radius:4px}.logs-button:hover{background-color:#374151}.logs-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:999}.logs-modal{background:#ffffff;border-radius:8px;padding:1rem 1.5rem;width:80%;max-width:800px;max-height:80vh;display:flex;flex-direction:column}.logs-modal h3{margin-top:0}.logs-for{margin:0 0 .5rem;font-size:.9rem;color:#374151}.logs-container{background:#f9fafb;border:1px solid #e5e7eb;padding:.5rem;border-radius:4px;flex:1;margin-bottom:1rem;font-family:monospace}.close-modal{align-self:flex-end;background:#ee3224;color:#fff;border:none;padding:.5rem 1rem;cursor:pointer;border-radius:4px}.close-modal:hover{background:#c72013}.log-line{margin-bottom:.5rem;font-family:monospace;white-space:pre-wrap}.log-time{color:#6b7280;font-weight:500}.log-entry{margin-bottom:1rem;padding:.75rem;border:1px solid #e5e7eb;border-radius:.5rem;background-color:#fff;box-shadow:0 1px 3px #0000001a}.log-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid #f3f4f6}.log-time{color:#6b7280;font-weight:500;font-size:.875rem}.log-step{background-color:#3b82f6;color:#fff;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:600}.log-type{background-color:#10b981;color:#fff;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:600;text-transform:uppercase}.log-type[data-type=token_usage],.log-type:contains("token-usage"){background-color:#f59e0b}.progress-event.token-usage{border-left-color:#f59e0b;background-color:#fef3c7}.log-content{display:flex;flex-direction:column;gap:.5rem}.log-text{font-weight:500;color:#1f2937;line-height:1.5}.log-json{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:.25rem;padding:.5rem;margin:.25rem 0;font-size:.75rem;max-height:200px;overflow-y:auto;white-space:pre-wrap;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.log-details{margin:.25rem 0;font-size:.875rem;color:#374151;border-left:2px solid #e5e7eb;padding:.25rem 0 .25rem .5rem}.log-details strong{color:#1f2937;font-weight:600}.log-details.error{border-left-color:#ef4444;color:#dc2626}.log-details.error strong{color:#b91c1c}.log-arguments,.log-result{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.375rem;padding:.5rem;margin-top:.25rem;font-family:monospace;font-size:.75rem;color:#475569;max-height:200px;overflow-y:auto;white-space:pre-wrap}.table-section{width:50%;padding:1rem}.table-container{height:calc(100vh - 8rem);overflow-y:auto}.data-table{width:100%;border-collapse:collapse}.table-header{background-color:#f9fafb}.table-header th{padding:.75rem;text-align:left;border-bottom:1px solid #e5e7eb}.table-row{transition:background-color .2s}.table-row:hover{background-color:#f9fafb}.table-cell{padding:.75rem;border-bottom:1px solid #e5e7eb}.status-badge{padding:.25rem .5rem;font-size:.875rem;border-radius:9999px}.status-completed{background-color:#dcfce7;color:#166534}.status-pending{background-color:#fef9c3;color:#854d0e}.markdown-content{line-height:1.6}.markdown-content h1,.markdown-content h2,.markdown-content h3{color:#1f2937;margin-top:1rem}.markdown-content h1:first-child,.markdown-content h2:first-child,.markdown-content h3:first-child{margin-top:0}.markdown-content ul,.markdown-content ol{padding-left:1.5rem}.markdown-content li{margin-bottom:.25rem}.markdown-content p:last-child{margin-bottom:0}.markdown-content img{margin:.5rem 0;border-radius:.375rem;box-shadow:0 1px 3px #0000001a}.markdown-content code{font-family:Courier New,Courier,monospace}.markdown-content pre{margin:1rem 0;font-family:Courier New,Courier,monospace}.markdown-content blockquote{border-left:4px solid #e5e7eb;padding-left:1rem;margin:1rem 0;font-style:italic;color:#6b7280}.container{justify-content:space-between;align-items:center}.header-buttons{display:flex;gap:1.25rem;align-items:center;padding:.5rem 0}.server-select option[value=python],.server-select option[value=go]{font-weight:500}*/ .header-btn{background-color:#ee3224;color:#fff;border:none;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;cursor:pointer;border-radius:.5rem;transition:all .2s ease;white-space:nowrap;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;position:relative;overflow:hidden}.header-btn:hover{background-color:#c72013;transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.header-btn:active{transform:translateY(0);box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.header-btn:focus{outline:none;box-shadow:0 0 0 3px #ee32244d}.credentials-btn{background:linear-gradient(135deg,#ee3224 0%,#c72013 100%)}.credentials-btn:hover{background:linear-gradient(135deg,#c72013 0%,#a0180f 100%)}.oauth-btn{background:linear-gradient(135deg,#059669 0%,#047857 100%);font-weight:700}.oauth-btn:hover{background:linear-gradient(135deg,#047857 0%,#065f46 100%)}.oauth-btn.oauth-active{background:linear-gradient(135deg,#10b981 0%,#059669 100%);animation:pulse 2s infinite}.oauth-btn.oauth-expired{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%)}.oauth-btn.oauth-none{background:linear-gradient(135deg,#6b7280 0%,#4b5563 100%)}@keyframes pulse{0%,to{box-shadow:0 0 #10b981b3}50%{box-shadow:0 0 0 10px #10b98100}}.charts-enabled{background:linear-gradient(135deg,#10b981 0%,#059669 100%);animation:chartsPulse 2s infinite}.charts-enabled:hover{background:linear-gradient(135deg,#059669 0%,#047857 100%)}.charts-disabled{background:linear-gradient(135deg,#dc2626 0%,#b91c1c 100%)}.charts-disabled:hover{background:linear-gradient(135deg,#b91c1c 0%,#991b1b 100%)}@keyframes chartsPulse{0%,to{box-shadow:0 0 #10b981b3}50%{box-shadow:0 0 0 10px #10b98100}}.request-btn{background-color:#059669}.request-btn:hover{background-color:#047857}.feedback-btn{background-color:#dc2626}.feedback-btn:hover{background-color:#b91c1c}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:999}.modal{background:#ffffff;border-radius:8px;padding:1.5rem;width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal h3{margin-top:0;margin-bottom:1rem;font-size:1.25rem;font-weight:600;color:#1f2937}.modal-content{flex:1;margin-bottom:1rem;padding:1rem;background-color:#f9fafb;border-radius:.375rem;border:1px solid #e5e7eb}.modal-content p{color:#6b7280;margin:0}.request-modal{max-width:900px;width:95%;max-height:90vh}.questions-content{background-color:transparent;border:none;padding:0;max-height:65vh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#d1d5db #f9fafb}.questions-content::-webkit-scrollbar{width:8px}.questions-content::-webkit-scrollbar-track{background:#f9fafb;border-radius:4px}.questions-content::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.questions-content::-webkit-scrollbar-thumb:hover{background:#9ca3af}.loading-state,.empty-state{text-align:center;padding:2rem;color:#6b7280}.questions-grid{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.question-item{background:#ffffff;border:1px solid #e5e7eb;border-radius:.375rem;padding:.75rem;box-shadow:0 1px 2px #0000000d}.question-content{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.question-text{flex:1;font-weight:500;color:#1f2937;margin-right:.75rem;line-height:1.3;font-size:.9rem}.question-votes{display:flex;align-items:center;background:#f3f4f6;min-width:50px}.votes-count{font-size:1.1rem;font-weight:700;color:#059669}.votes-label{font-size:.7rem;color:#6b7280}.upvote-section{display:flex;gap:.5rem;align-items:flex-end}.notes-input{flex:1;border:1px solid #d1d5db;border-radius:.25rem;resize:vertical;min-height:8px;font-family:inherit;font-size:.8rem}.notes-input:focus{outline:none;border-color:#059669;box-shadow:0 0 0 1px #059669}.upvote-btn{background-color:#059669;color:#fff;border:none;padding:.375rem .75rem;border-radius:.25rem;font-weight:600;cursor:pointer;transition:background-color .2s,opacity .2s;white-space:nowrap;min-height:36px;font-size:.8rem}.upvote-btn:hover:not(.disabled){background-color:#047857}.upvote-btn.disabled{background-color:#9ca3af;cursor:not-allowed;opacity:.6}.new-question-section{border-top:1px solid #e5e7eb;padding-top:1.5rem;margin-top:1.5rem}.new-question-section h4{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:#1f2937}.new-question-section p{color:#6b7280;margin:0}.new-question-form{margin-top:1rem}.form-row{margin-bottom:1rem;display:flex;gap:1rem}.form-group{flex:1}.form-group.half{flex:.5}.form-group label{display:block;margin-bottom:.25rem;font-weight:600;color:#374151;font-size:.875rem}.form-group textarea,.form-group select{width:100%;padding:.5rem;border:1px solid #d1d5db;border-radius:.375rem;font-family:inherit;font-size:.875rem;resize:vertical;box-sizing:border-box}.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#059669;box-shadow:0 0 0 1px #059669}.form-group select{height:42px;resize:none}.form-actions{display:flex;justify-content:flex-end;margin-top:1.5rem}.submit-question-btn{background-color:#059669;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.375rem;font-weight:600;cursor:pointer;transition:background-color .2s,opacity .2s;font-size:.875rem}.submit-question-btn:hover:not(:disabled){background-color:#047857}.submit-question-btn:disabled{background-color:#9ca3af;cursor:not-allowed;opacity:.6}.feedback-modal{max-width:700px;width:90%}.feedback-content{background-color:transparent;border:none;padding:0}.feedback-instructions{background-color:#f0f9ff;border:1px solid #0ea5e9;border-radius:.5rem;padding:1rem;margin-bottom:1.5rem}.feedback-instructions p{margin:0;color:#0f172a;line-height:1.5;font-size:.9rem}.feedback-form{display:flex;flex-direction:column}.feedback-form-group{margin-bottom:1rem}.feedback-form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#374151;font-size:1rem}.feedback-textarea{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:.5rem;font-family:inherit;font-size:.9rem;resize:vertical;min-height:150px;box-sizing:border-box}.feedback-textarea:focus{outline:none;border-color:#dc2626;box-shadow:0 0 0 1px #dc2626}.feedback-textarea::-moz-placeholder{color:#9ca3af}.feedback-textarea::placeholder{color:#9ca3af}.feedback-actions{display:flex;justify-content:flex-end;margin-top:1rem}.submit-feedback-btn{background-color:#dc2626;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;cursor:pointer;transition:background-color .2s,opacity .2s;font-size:.9rem}.submit-feedback-btn:hover:not(:disabled){background-color:#b91c1c}.submit-feedback-btn:disabled{background-color:#9ca3af;cursor:not-allowed;opacity:.6}.progress-tool-complete,.progress-tool-running{flex-direction:row;align-items:center;box-shadow:0 1px 3px #0000001a;transition:all .2s ease}.progress-tool-complete:hover,.progress-tool-running:hover{box-shadow:0 2px 6px #00000026;transform:translateY(-1px)}.progress-tool-start,.progress-tool-end{flex-direction:row;align-items:center}.progress-event-header{display:flex;align-items:center;width:100%}.progress-icon{margin-right:.5rem;font-size:1rem;flex-shrink:0}.progress-text{flex:1;font-weight:500}.progress-planning{color:#6c757d}.progress-tool-start{color:#0d6efd}.progress-tool-start .progress-icon{animation:spin 1s linear infinite}.progress-tool-end{color:#198754}.progress-tool-complete{color:#0d6efd;background-color:#f8f9ff;border-left:3px solid #0d6efd;padding:.5rem .75rem;border-radius:.25rem;margin:.25rem 0}.progress-tool-running{color:#fd7e14;background-color:#fff8f0;border-left:3px solid #fd7e14;padding:.5rem .75rem;border-radius:.25rem;margin:.25rem 0}.progress-tool-error{color:#dc3545;font-weight:500}.progress-tool-progress{color:#fd7e14}.progress-reasoning{color:#6f42c1}.progress-token-usage{color:#20c997}.progress-error{color:#dc3545;font-weight:500}.progress-default{color:#495057}.event-details{margin-left:1.5rem;margin-top:.25rem;width:calc(100% - 1.5rem);background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;overflow:hidden;transition:all .2s ease}.event-details-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background-color:#f8f9fa;border-bottom:1px solid #dee2e6;font-size:.8rem;color:#495057}.event-details-toggle{background:none;border:none;cursor:pointer;padding:.25rem;border-radius:.25rem;transition:background-color .2s ease;font-size:.875rem}.event-details-toggle:hover{background-color:#e9ecef}.event-details-content{max-height:0;overflow:hidden;transition:max-height .3s ease;background-color:#fff}.event-details.expanded .event-details-content{max-height:300px;overflow-y:auto}.event-details-content pre{margin:0;padding:.75rem;font-size:.75rem;line-height:1.4;color:#495057;background-color:#f8f9fa;border-radius:0;white-space:pre-wrap;word-break:break-word;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.progress-tool-start .event-details{border-left:3px solid #0d6efd}.progress-tool-end .event-details{border-left:3px solid #198754}.progress-tool-error .event-details{border-left:3px solid #dc3545}.progress-tool-progress .event-details{border-left:3px solid #fd7e14}@media (max-width: 768px){.event-details{margin-left:1rem;width:calc(100% - 1rem)}.event-details-content pre{font-size:.7rem;padding:.5rem}.progress-event{padding:.25rem 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.streaming-message{border-left:3px solid #0d6efd;background-color:#f8f9ff}.typing-cursor{display:inline-block;background-color:#0d6efd;width:2px;margin-left:2px;animation:blink 1s infinite}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@media (max-width: 768px){.header-buttons{flex-direction:column;gap:.5rem}.server-selector{width:100%;flex-direction:column;gap:.25rem}.server-select{width:100%;min-width:unset}.header-btn{font-size:.75rem;padding:.4rem .8rem}.modal{width:95%;padding:1rem}.request-modal{width:98%}.question-content{flex-direction:column;gap:.75rem}.question-votes{align-self:flex-start}.upvote-section{flex-direction:column;gap:.5rem}.upvote-btn{width:100%}.form-row{flex-direction:column;gap:.75rem}.form-group.half{flex:1}.form-actions{justify-content:center}.submit-question-btn{width:100%}.feedback-modal{width:95%}.feedback-actions{justify-content:center}.submit-feedback-btn{width:100%}}@media (max-width: 768px){.header-buttons{gap:.75rem;flex-wrap:wrap;justify-content:center}.header-btn{padding:.5rem 1rem;font-size:.8rem}.logo-link{width:140px}.container{padding-left:2vw;padding-right:2vw;flex-direction:column;gap:.5rem}}@media (max-width: 480px){.header-buttons{gap:.5rem}.header-btn{padding:.5rem .75rem;font-size:.75rem}.logo-link{width:120px}}.credentials-modal{max-width:800px;max-height:80vh;overflow-y:auto}.credentials-notice{background-color:#e3f2fd;color:#1565c0;padding:12px 16px;border-radius:6px;margin-bottom:20px;font-size:14px;border-left:4px solid #2196f3}.context-id-section{background-color:#f8f9fa;padding:16px;border-radius:6px;margin-bottom:20px;border:1px solid #e9ecef}.context-id-section label{display:block;margin-bottom:8px;font-weight:600;color:#495057}.context-id-display{display:flex;align-items:center;gap:8px;margin-bottom:8px}.context-id-display code{background-color:#f8f9fa;padding:8px 12px;border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;color:#6c757d;border:1px solid #dee2e6;flex:1;-webkit-user-select:all;-moz-user-select:all;user-select:all}.copy-btn{background-color:#007bff;color:#fff;border:none;padding:8px 12px;border-radius:4px;cursor:pointer;font-size:16px;line-height:1;transition:background-color .2s}.copy-btn:hover{background-color:#0056b3}.context-id-hint{font-size:12px;color:#6c757d;margin:0;font-style:italic}.credentials-content{padding:20px 0}.credentials-tabs{display:flex;flex-direction:column;gap:30px}.credential-section{border:1px solid #e0e0e0;border-radius:8px;padding:20px;background-color:#f9f9f9}.credential-section h4{margin:0 0 15px;display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600}.status-badge{font-size:12px;padding:4px 8px;border-radius:4px;font-weight:500}.status-badge.active{background-color:#d4edda;color:#155724}.status-badge.inactive{background-color:#f8d7da;color:#721c24}.credential-fields{display:flex;flex-direction:column;gap:15px}.field-group{display:flex;flex-direction:column;gap:5px}.field-group label{font-weight:500;color:#333;font-size:14px}.field-group input{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.field-group input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.field-actions{display:flex;gap:10px;margin-top:10px}.save-btn{background-color:#28a745;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s}.save-btn:hover:not(:disabled){background-color:#218838}.save-btn:disabled{background-color:#6c757d;cursor:not-allowed}.clear-btn{background-color:#dc3545;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s}.clear-btn:hover{background-color:#c82333}.credentials-btn{background-color:#17a2b8;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s}.credentials-btn:hover{background-color:#138496}.credential-hint{font-size:.75rem;color:#6b7280;margin-top:4px;padding:4px 8px;background-color:#f9fafb;border-radius:4px;border:1px solid #e5e7eb;font-family:Monaco,Menlo,Ubuntu Mono,monospace;cursor:pointer;-webkit-user-select:all;-moz-user-select:all;user-select:all;transition:background-color .2s}.credential-hint:hover{background-color:#f3f4f6;border-color:#d1d5db}.credential-copy-btn{font-size:12px;color:#666;padding:6px 10px;background:#f8f9fa;border-radius:4px;font-family:Courier New,monospace;border:1px solid #e9ecef;text-align:left;cursor:pointer;transition:all .2s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.credential-copy-btn:hover{background:#e9ecef;border-color:#007bff;color:#007bff}.credential-copy-btn:active{background:#007bff;color:#fff;transform:scale(.98)}.oauth-btn{background:linear-gradient(135deg,#4CAF50,#45a049);color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .3s ease;font-weight:500}.oauth-btn:hover{background:linear-gradient(135deg,#45a049,#3d8b40);transform:translateY(-1px);box-shadow:0 4px 8px #4caf504d}.oauth-btn:active{transform:translateY(0);box-shadow:0 2px 4px #4caf5033}.oauth-btn.oauth-active{background:linear-gradient(135deg,#28a745,#218838);color:#fff}.oauth-btn.oauth-active:hover{background:linear-gradient(135deg,#218838,#1e7e34);box-shadow:0 4px 8px #28a7454d}.oauth-btn.oauth-expired{background:linear-gradient(135deg,#ffc107,#e0a800);color:#212529}.oauth-btn.oauth-expired:hover{background:linear-gradient(135deg,#e0a800,#d39e00);box-shadow:0 4px 8px #ffc1074d}.oauth-btn.oauth-none{background:linear-gradient(135deg,#007bff,#0056b3);color:#fff}.oauth-btn.oauth-none:hover{background:linear-gradient(135deg,#0056b3,#004085);box-shadow:0 4px 8px #007bff4d}.oauth-status-section{margin-bottom:20px;padding:15px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.oauth-status-section h5{margin:0 0 10px;color:#495057;font-size:14px;font-weight:600}.oauth-status{padding:10px;border-radius:6px;font-size:13px}.oauth-status.active{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.oauth-status.expired{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.oauth-status.no-token{background:#fff3cd;border:1px solid #ffeaa7;color:#856404;padding:10px;border-radius:6px;font-size:13px}.oauth-status p{margin:5px 0}.oauth-status code{background:rgba(0,0,0,.1);padding:2px 6px;border-radius:4px;font-family:Courier New,monospace;font-size:12px}.clear-oauth-btn{background:#dc3545;color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:12px;cursor:pointer;margin-top:8px;transition:background .3s ease}.clear-oauth-btn:hover{background:#c82333}.clear-oauth-btn:active{transform:translateY(1px)}.oauth-manual-section{margin-top:1.5rem;padding:1rem;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px}.oauth-manual-section h5{margin:0 0 .5rem;color:#495057;font-size:1rem;font-weight:600}.oauth-manual-hint{margin:0 0 1rem;color:#6c757d;font-size:.875rem;font-style:italic}.oauth-manual-section .field-group{margin-bottom:1rem}.oauth-manual-section .field-group:last-child{margin-bottom:0}.oauth-manual-section textarea{resize:vertical;min-height:80px;background-color:#fff;border:1px solid #ced4da;border-radius:4px;padding:.75rem;font-family:Consolas,Monaco,Courier New,monospace;font-size:12px;line-height:1.4;color:#495057;transition:border-color .15s ease-in-out}.oauth-manual-section textarea:focus{border-color:#80bdff;outline:none;box-shadow:0 0 0 2px #007bff40}.oauth-manual-section textarea::-moz-placeholder{color:#6c757d;font-style:italic}.oauth-manual-section textarea::placeholder{color:#6c757d;font-style:italic}.oauth-manual-section input[type=number]{width:200px;background-color:#fff}.oauth-manual-section small{color:#666;font-size:12px}.chart-section{width:50%;padding:1rem;border-left:1px solid #e5e7eb;background-color:#fff;height:calc(100vh - 8rem);display:flex;flex-direction:column}.chart-container{height:calc(100vh - 8rem);display:flex;flex-direction:column;overflow:hidden}.chart-wrapper{flex:1;position:relative;min-height:300px}.chart-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#6b7280}.loading-spinner{font-size:2rem;margin-bottom:1rem;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.chart-error{display:flex;align-items:center;justify-content:center;height:100%;color:#dc2626;text-align:center;padding:2rem}.chart-placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:#6b7280;text-align:center;padding:2rem;font-size:1.1rem}.no-chart{display:flex;align-items:center;justify-content:center;height:100%;color:#6b7280;text-align:center;padding:2rem;font-style:italic}.no-chart-message{background-color:#f3f4f6;padding:1rem;border-radius:.5rem;border:1px solid #e5e7eb}@media (max-width: 768px){.chart-section{width:100%;border-left:none;border-top:1px solid #e5e7eb}.chart-container{height:calc(100vh - 8rem)}.chart-wrapper{min-height:250px}}.multi-chart-container{display:flex;flex-direction:column;gap:2rem;padding:1rem;overflow-y:auto;max-height:calc(100vh - 8rem)}.chart-item{border:1px solid #e5e7eb;border-radius:8px;padding:1rem;background:white;box-shadow:0 1px 3px #0000001a}.simple-table-container{width:100%;height:100%;display:flex;flex-direction:column}.simple-table-container h4{margin:0 0 1rem;color:#1e293b;font-size:1.1rem;font-weight:600;border-bottom:2px solid #3b82f6;padding-bottom:.5rem}.table-wrapper{flex:1;border-radius:4px;overflow:hidden}.table-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#6b7280;text-align:center;padding:2rem}.table-placeholder h4{margin-bottom:1rem;color:#374151}.table-placeholder p{color:#6b7280;font-style:italic}.chart-insights{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem;margin-top:1rem}.chart-insights h4{color:#1e293b;font-size:1.1rem;font-weight:600;margin-bottom:1rem;border-bottom:2px solid #3b82f6;padding-bottom:.5rem}.chart-insights ul{list-style:none;padding:0;margin:0}.chart-insights li{padding:.75rem 0;border-bottom:1px solid #e2e8f0;color:#374151;line-height:1.5}.chart-insights li:last-child{border-bottom:none}.chart-insights li:before{content:"💡";margin-right:.5rem;color:#3b82f6}.chart-summary{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;padding:1.5rem;margin-top:1rem}.chart-summary h4{color:#0c4a6e;font-size:1.1rem;font-weight:600;margin-bottom:1rem;border-bottom:2px solid #0ea5e9;padding-bottom:.5rem}.chart-summary p{color:#0c4a6e;line-height:1.6;margin:0;font-size:.95rem}.progress-tool-complete .progress-text,.progress-tool-running .progress-text{font-weight:600;line-height:1.5}.progress-tool-complete .progress-icon,.progress-tool-running .progress-icon{font-size:1.1rem;margin-right:.75rem}.truncated-output-display{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border:2px solid #0ea5e9;border-radius:12px;padding:1.5rem;margin:1rem 0;box-shadow:0 4px 6px -1px #0ea5e91a,0 2px 4px -1px #0ea5e90f;position:relative;overflow:hidden}.truncated-output-display:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#0ea5e9,#3b82f6,#8b5cf6)}.truncated-header{display:flex;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #bae6fd}.truncated-icon{font-size:1.5rem;margin-right:.75rem;animation:pulse 2s infinite}.truncated-label{font-size:1.1rem;font-weight:600;color:#0c4a6e;text-transform:uppercase;letter-spacing:.05em}.truncated-content{color:#1e293b;line-height:1.6;margin-bottom:1rem}.file-path-highlight{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border:1px solid #f59e0b;border-radius:6px;padding:.25rem .5rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9rem;color:#92400e;font-weight:600;display:inline-block;margin:.25rem 0;box-shadow:0 1px 3px #f59e0b33}.truncation-notice{background:#fef2f2;border:1px solid #fecaca;border-radius:4px;padding:.25rem .5rem;color:#dc2626;font-weight:500;font-style:italic}.tools-section{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:4px;padding:.5rem;color:#166534;font-weight:500;margin:.5rem 0}.file-actions{background:#ffffff;border:1px solid #e2e8f0;border-radius:8px;padding:1rem;margin-top:1rem}.file-info{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #e2e8f0}.file-info{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;gap:1rem}.file-info strong{color:#0c4a6e}.copy-path-btn{background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;padding:.375rem .75rem;font-size:.8rem;color:#374151;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.25rem}.copy-path-btn:hover{background:#e5e7eb;border-color:#9ca3af;color:#1f2937}.copy-path-btn:active{transform:scale(.95)}.download-section{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #e2e8f0}.download-btn{background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;box-shadow:0 2px 4px #10b98133}.download-btn:hover{background:linear-gradient(135deg,#059669 0%,#047857 100%);transform:translateY(-2px);box-shadow:0 4px 8px #10b9814d}.download-btn:active{transform:translateY(0)}.download-btn:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.download-info{margin-top:.5rem;color:#6b7280;font-size:.8rem}.compact-download{margin-top:8px;margin-bottom:4px}.compact-download-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #0000001a}.compact-download-btn:hover{background:linear-gradient(135deg,#059669 0%,#047857 100%);transform:translateY(-1px);box-shadow:0 2px 6px #00000026}.compact-download-btn:active{transform:translateY(0);box-shadow:0 1px 2px #0000001a}.structured-tool-outputs{margin-top:1rem;padding:1rem;background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border:1px solid #0ea5e9;border-radius:8px}.structured-tool-outputs .download-section{border:none;padding:0;margin:0}.structured-tool-outputs .download-section strong{color:#0c4a6e;font-size:1rem;margin-bottom:.75rem;display:block}.tool-downloads{display:flex;flex-direction:column;gap:1rem}.tool-download-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:white;border:1px solid #e2e8f0;border-radius:6px;box-shadow:0 1px 3px #0000001a}.tool-info{display:flex;flex-direction:column;gap:.25rem;flex:1}.data-structure{color:#475569;font-size:.8rem}.output-size{color:#64748b;font-size:.75rem;font-style:italic}.query-info{margin-top:.5rem;padding:.5rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px;border-left:3px solid #3b82f6}.query-label{display:block;font-weight:600;color:#1e40af;font-size:.75rem;margin-bottom:.25rem}.sql-query{display:block;background:#1e293b;color:#e2e8f0;padding:.5rem;border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.7rem;line-height:1.4;white-space:pre-wrap;word-break:break-word;max-width:100%;overflow-x:auto}.download-actions{display:flex;flex-direction:column;gap:.5rem;width:100%}.download-header{display:flex;justify-content:space-between;align-items:center;width:100%}.tool-info-inline{display:flex;flex-direction:column;gap:.25rem;flex:1}.download-actions .download-btn{padding:.5rem 1rem;font-size:.8rem;min-width:120px}@media (max-width: 768px){.tool-download-item{flex-direction:column;align-items:flex-start;gap:.75rem}.download-actions{align-items:flex-start;width:100%}.download-header{flex-direction:column;align-items:flex-start;gap:.5rem}.download-actions .download-btn{width:100%;justify-content:center}}.file-tools{color:#374151}.tool-hint{display:block;margin-bottom:.75rem;color:#059669;font-weight:500}.tool-examples{display:flex;flex-direction:column;gap:.5rem}.tool-examples code{background:#f1f5f9;border:1px solid #cbd5e1;border-radius:4px;padding:.5rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.85rem;color:#334155;cursor:pointer;transition:all .2s ease}.tool-examples code:hover{background:#e2e8f0;border-color:#94a3b8;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.tool-examples code:active{transform:translateY(0)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@media (max-width: 768px){.truncated-output-display{padding:1rem;margin:.5rem 0}.truncated-header{flex-direction:column;align-items:flex-start;gap:.5rem}.tool-examples{gap:.25rem}.tool-examples code{font-size:.8rem;padding:.375rem}}.download-success-notification,.download-error-notification{position:fixed;top:20px;right:20px;z-index:1000;animation:slideInRight .3s ease-out}.download-success-notification{background:linear-gradient(135deg,#10b981 0%,#059669 100%);border:1px solid #059669}.download-error-notification{background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);border:1px solid #dc2626}.notification-content{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;border-radius:8px;color:#fff;font-weight:500;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;min-width:300px}.notification-icon{font-size:1.2rem}.notification-text{flex:1;font-size:.9rem}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOutRight{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.chat-message{margin-bottom:1rem;padding:1rem;border-radius:.5rem;background-color:#f8f9fa;border:1px solid #e9ecef}.chat-message.user{background-color:#e3f2fd;border-color:#2196f3;margin-left:2rem}.chat-message.assistant{background-color:#f3e5f5;border-color:#9c27b0;margin-right:2rem}.chat-message.system{background-color:#fff3e0;border-color:#ff9800}.message-header{display:flex;align-items:center;margin-bottom:.5rem;font-weight:600;color:#495057}.message-role{margin-right:.5rem;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;text-transform:uppercase;background-color:#6c757d;color:#fff}.message-role.user{background-color:#2196f3}.message-role.assistant{background-color:#9c27b0}.message-role.system{background-color:#ff9800}.message-timestamp{margin-left:auto;font-size:.75rem;color:#6c757d}.progress-events{margin-top:10px;padding:10px;background-color:#f8f9fa;border-radius:8px;border-left:4px solid #007bff}.progress-event{display:flex;align-items:center;margin-bottom:8px;font-size:14px;color:#495057}.progress-event:last-child{margin-bottom:0}.event-icon{margin-right:8px;font-size:16px}.event-text{flex:1}.message-content{margin-top:10px;line-height:1.6}html,body,#root{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;margin:0;padding:0;background-color:#f0f2f5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{display:flex;flex-direction:column}.chatpanel{width:50%;background-color:#25549b}.force-row{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important}.tool-result{padding:1rem;border-radius:.5rem;background-color:#fff;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a;margin-bottom:1rem}.result-table{width:100%;border-collapse:collapse}.result-table th,.result-table td{border:1px solid #d1d5db;padding:.5rem;text-align:left;font-size:.875rem}.result-table th{background-color:#f9fafb;font-weight:600}.grid-placeholder{height:100%;display:flex;align-items:center;justify-content:center;color:#9ca3af;font-style:italic;padding:1rem}::-webkit-scrollbar{width:.5rem;height:.5rem}::-webkit-scrollbar-track{background-color:#f3f4f6;border-radius:.25rem}::-webkit-scrollbar-thumb{background-color:#9ca3af;border-radius:.25rem}::-webkit-scrollbar-thumb:hover{background-color:#6b7280}.custom-header-bg{background-color:#fff0}
