:root{--color-primary: #0277BD;--color-primary-hover: #01579B;--color-primary-light: #E1F5FE;--color-background: #FFFFFF;--color-surface: #FFFFFF;--color-surface-grey: #F7F7F8;--color-border: #E0E0E0;--color-text: #263238;--color-text-secondary: rgba(38, 50, 56, .7);--color-text-muted: #6B7A82;--color-user-message: #E1F5FE;--color-ai-message: #F7F7F8;--color-input-background: #FFFFFF;--color-input-border: #E0E0E0;--color-input-focus: #0277BD;--color-danger: #c33;--color-danger-hover: #a22;--color-error-bg: #fee;--color-error-border: #fcc;--color-on-primary: #FFFFFF;--color-overlay: rgba(0, 0, 0, .5);--color-code-bg: rgba(0, 0, 0, .08);--color-pre-bg: rgba(0, 0, 0, .06);--shadow-header: 0 1px 3px rgba(0, 0, 0, .08);--shadow-card: 3px 3px 4px rgba(0, 0, 0, .1);--shadow-input: 3px 3px 8px rgba(0, 0, 0, .1);--shadow-container: 0 2px 12px rgba(0, 0, 0, .1);--shadow-sidebar: -2px 0 8px rgba(0, 0, 0, .2);--color-send-button: #B3D9F5;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--font-size-message: 16px;--font-size-ai-message: 14px;--font-size-timestamp: 12px;--font-size-input: 16px;--font-size-button: 16px;--font-size-welcome-title: 20px;--font-size-welcome-subtitle: 18px;--font-size-disclaimer: 12px;--font-size-caption: 12px;--font-size-body-sm: 14px;--font-size-heading-sm: 18px;--font-size-icon: 1rem;--font-size-icon-sm: 1.125rem;--font-size-icon-lg: 24px;--font-size-chip: 13px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--line-height-message: 1.5;--spacing-unit: 4px;--spacing-small: 8px;--spacing-medium: 16px;--spacing-large: 24px;--spacing-message-padding: 12px 16px;--spacing-message-gap: 8px;--spacing-input-padding: 12px 16px;--spacing-container-padding: 16px;--spacing-welcome-padding: 32px;--border-radius-frame: 2px;--border-radius-small: 8px;--border-radius-medium: 12px;--border-radius-large: 16px;--border-radius-message: 18px;--border-radius-input: 24px;--border-radius-button: 24px}body{font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-background);color:var(--color-text)}#app{width:100%;height:100vh;overflow:hidden}.btn{display:inline-flex;align-items:center;justify-content:center;border:none;background:none;cursor:pointer;transition:background-color .2s,border-color .2s,transform .2s;font-family:var(--font-family);font-size:var(--font-size-button);font-weight:var(--font-weight-medium);color:var(--color-text);box-sizing:border-box}.btn-primary{padding:var(--spacing-input-padding);background-color:var(--color-primary);color:var(--color-on-primary);border-radius:var(--border-radius-button)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{padding:var(--spacing-input-padding);background-color:var(--color-input-background);border:1px solid var(--color-border);border-radius:var(--border-radius-medium)}.btn-secondary:hover{background-color:var(--color-primary-light);border-color:var(--color-primary)}.btn-secondary.active{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.btn-ghost{background:none;border:none;padding:4px 8px;border-radius:4px}.btn-ghost:hover{background-color:var(--color-surface-grey)}.btn-ghost.active{background-color:var(--color-primary-light)}.btn-danger{padding:6px 12px;background-color:var(--color-danger);color:var(--color-on-primary);border-radius:6px;font-size:var(--font-size-chip);font-weight:var(--font-weight-medium)}.btn-danger:hover{background-color:var(--color-danger-hover)}.btn-chip{padding:6px 12px;background-color:var(--color-input-background);border:1px solid var(--color-border);border-radius:var(--border-radius-input);font-size:var(--font-size-chip);white-space:nowrap}.btn-chip:hover{background-color:var(--color-primary-light);border-color:var(--color-primary);transform:translateY(-1px)}.btn-icon{width:32px;height:32px;padding:0;border-radius:4px;font-size:var(--font-size-icon-md);line-height:1}.btn-sm{padding:8px 16px;font-size:var(--font-size-body-sm)}.btn-icon-text{gap:6px}.input{padding:var(--spacing-input-padding);background-color:var(--color-input-background);border:1px solid var(--color-input-border);font-size:var(--font-size-input);color:var(--color-text);font-family:var(--font-family);outline:none;transition:border-color .2s,box-shadow .2s;box-sizing:border-box;box-shadow:var(--shadow-input)}.input::placeholder{color:var(--color-text-secondary)}.input:focus{border-color:var(--color-input-focus)}.input:disabled{opacity:.5;cursor:not-allowed}.input-pill{border-radius:var(--border-radius-input)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{width:100%;min-height:100vh;background-color:var(--color-background)}.loading{display:flex;align-items:center;justify-content:center;min-height:100vh;color:var(--color-text-secondary)}.chat-header[data-v-34083f7b]{display:flex;justify-content:space-between;align-items:center;min-height:56px;padding:var(--spacing-medium) var(--spacing-large);background-color:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-header)}.chat-title-row[data-v-34083f7b]{display:flex;align-items:center;gap:var(--spacing-small)}.chat-title[data-v-34083f7b]{font-size:var(--font-size-welcome-title);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0}.chat-title-status[data-v-34083f7b]{width:8px;height:8px;border-radius:50%;background-color:var(--color-on-primary);border:2px solid var(--color-primary-light);flex-shrink:0}.header-actions[data-v-34083f7b]{display:flex;align-items:center;gap:4px}.header-btn[data-v-34083f7b]{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:8px;border:none;background:none;border-radius:4px;cursor:pointer;transition:background-color .2s;flex-shrink:0}.header-btn-primary[data-v-34083f7b]{background-color:var(--color-primary);color:var(--color-on-primary)}.header-btn-primary[data-v-34083f7b]:hover{background-color:var(--color-primary-hover)}.header-btn-icon[data-v-34083f7b]{color:var(--color-text-secondary)}.header-btn-icon[data-v-34083f7b]:hover{background-color:var(--color-background);color:var(--color-text)}.header-btn-icon.active[data-v-34083f7b]{background-color:var(--color-primary-light);color:var(--color-primary)}.header-btn svg[data-v-34083f7b]{width:20px;height:20px}.user-email[data-v-34083f7b]{font-size:12px;color:var(--color-text-secondary);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-container[data-v-e2c6248d]{display:flex;flex-direction:column;height:100%;width:100%;background-color:var(--color-background)}.history-header[data-v-e2c6248d]{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-large) var(--spacing-large) var(--spacing-medium)}.history-header h2[data-v-e2c6248d]{font-size:var(--font-size-welcome-title);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0}.history-list[data-v-e2c6248d]{flex:1;overflow-y:auto;padding:0 var(--spacing-large) var(--spacing-large)}.history-item[data-v-e2c6248d]{padding:var(--spacing-medium);margin-bottom:var(--spacing-small);background-color:var(--color-input-background);border:1px solid var(--color-border);border-radius:var(--border-radius-medium);cursor:pointer;transition:all .2s ease}.history-item[data-v-e2c6248d]:hover{background-color:var(--color-primary-light);border-color:var(--color-primary);box-shadow:var(--shadow-card)}.history-item.active[data-v-e2c6248d]{background-color:var(--color-primary-light);border-color:var(--color-primary)}.history-item-title[data-v-e2c6248d]{font-size:var(--font-size-body-sm);font-weight:var(--font-weight-medium);color:var(--color-text);margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-item-date[data-v-e2c6248d]{font-size:var(--font-size-caption);color:var(--color-text-secondary)}.history-empty[data-v-e2c6248d]{padding:var(--spacing-large);text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-body-sm)}.welcome-screen[data-v-e8be8445]{display:flex;align-items:center;justify-content:center;flex:1;padding:32px}.welcome-content[data-v-e8be8445]{text-align:center;max-width:600px}.welcome-title[data-v-e8be8445]{font-size:var(--font-size-welcome-title);font-weight:var(--font-weight-semibold);color:var(--color-text);margin-bottom:var(--spacing-small)}.welcome-subtitle[data-v-e8be8445]{font-size:var(--font-size-welcome-subtitle);color:var(--color-text-secondary);margin-bottom:var(--spacing-welcome-padding)}.suggested-questions[data-v-e8be8445]{display:flex;flex-direction:column;gap:12px}.chart-container[data-v-a2a9af6b]{width:100%;height:300px;margin-top:16px;padding:16px;background-color:var(--color-ai-message);border-radius:8px;border:1px solid var(--color-border)}.chart-container[data-v-a2a9af6b] canvas{background-color:var(--color-ai-message)!important}.visualization-container[data-v-ed67aa7f]{margin-top:12px}.message-wrapper[data-v-6840d10e]{display:flex;flex-direction:column;align-items:flex-start;max-width:70%;margin:var(--spacing-message-gap) var(--spacing-medium)}.user-message-wrapper[data-v-6840d10e]{align-self:flex-end;align-items:flex-end}.ai-message-wrapper[data-v-6840d10e]{align-self:flex-start;align-items:flex-start}.message-bubble[data-v-6840d10e]{max-width:100%;padding:var(--spacing-message-padding);word-wrap:break-word;animation:fadeIn-6840d10e .3s ease-in}.user-message[data-v-6840d10e]{background-color:var(--color-user-message);color:var(--color-text);border-radius:var(--border-radius-message) var(--border-radius-message) 0 var(--border-radius-message)}.ai-message[data-v-6840d10e]{background-color:var(--color-ai-message);color:var(--color-text);border-radius:var(--border-radius-message) var(--border-radius-message) var(--border-radius-message) 0}.error-message[data-v-6840d10e]{background-color:var(--color-error-bg);color:var(--color-danger);border:1px solid var(--color-error-border);border-radius:var(--border-radius-message) var(--border-radius-message) 0 var(--border-radius-message)}.message-text[data-v-6840d10e]{font-size:var(--font-size-message);line-height:var(--line-height-message);white-space:pre-wrap}.ai-message .message-text[data-v-6840d10e]{font-size:var(--font-size-ai-message, 14px)}.markdown-content[data-v-6840d10e]{white-space:normal;word-wrap:break-word;overflow-wrap:break-word}.markdown-content[data-v-6840d10e] h1,.markdown-content[data-v-6840d10e] h2,.markdown-content[data-v-6840d10e] h3,.markdown-content[data-v-6840d10e] h4,.markdown-content[data-v-6840d10e] h5,.markdown-content[data-v-6840d10e] h6{margin-top:.5em;margin-bottom:.5em;font-weight:var(--font-weight-semibold);line-height:1.3}.markdown-content[data-v-6840d10e] h1{font-size:1.5em}.markdown-content[data-v-6840d10e] h2{font-size:1.3em}.markdown-content[data-v-6840d10e] h3{font-size:1.1em}.markdown-content[data-v-6840d10e] p{margin:.5em 0;line-height:1.6}.markdown-content[data-v-6840d10e] p:first-child{margin-top:0}.markdown-content[data-v-6840d10e] p:last-child{margin-bottom:0}.markdown-content[data-v-6840d10e] br{display:none}.markdown-content[data-v-6840d10e] pre br,.markdown-content[data-v-6840d10e] code br{display:inline}.markdown-content[data-v-6840d10e] ul,.markdown-content[data-v-6840d10e] ol{margin:.5em 0;padding-left:1.5em}.markdown-content[data-v-6840d10e] li{margin:.25em 0}.markdown-content[data-v-6840d10e] code{background-color:var(--color-code-bg);padding:.2em .4em;border-radius:3px;color:var(--color-text);font-family:Courier New,monospace;font-size:.9em}.markdown-content[data-v-6840d10e] pre{background-color:var(--color-pre-bg);padding:.75em 1em;border-radius:6px;overflow-x:auto;margin:.75em 0;border:1px solid var(--color-border)}.markdown-content[data-v-6840d10e] pre code{background-color:transparent;padding:0}.markdown-content[data-v-6840d10e] blockquote{border-left:3px solid var(--color-border);padding-left:1em;margin:.75em 0;color:var(--color-text-secondary)}.markdown-content[data-v-6840d10e] strong{font-weight:var(--font-weight-semibold)}.markdown-content[data-v-6840d10e] em{font-style:italic}.markdown-content[data-v-6840d10e] a{color:var(--color-primary);text-decoration:underline}.markdown-content[data-v-6840d10e] a:hover{color:var(--color-primary-hover)}.markdown-content[data-v-6840d10e] table{border-collapse:collapse;margin:.75em 0;width:100%}.markdown-content[data-v-6840d10e] th,.markdown-content[data-v-6840d10e] td{border:1px solid var(--color-border);padding:.5em;text-align:left}.markdown-content[data-v-6840d10e] th{font-weight:var(--font-weight-semibold);background-color:var(--color-background)}.message-header[data-v-6840d10e]{position:relative}.message-actions[data-v-6840d10e]{position:absolute;top:-8px;right:-8px;display:flex;gap:4px;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-medium);padding:4px;box-shadow:var(--shadow-card);z-index:10}.message-meta[data-v-6840d10e]{display:flex;align-items:center;gap:var(--spacing-small);margin-top:2px;padding:0 2px}.user-message-wrapper .message-meta[data-v-6840d10e]{justify-content:flex-end}.ai-message-wrapper .message-meta[data-v-6840d10e]{justify-content:flex-start}.message-timestamp[data-v-6840d10e]{font-size:var(--font-size-timestamp);color:var(--color-text-secondary)}.feedback-indicator[data-v-6840d10e]{font-size:var(--font-size-body-sm);opacity:.8}.message-visualizations[data-v-6840d10e]{margin-top:12px;width:100%}@keyframes fadeIn-6840d10e{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-list[data-v-ead8f15e]{flex:1;overflow-y:auto;padding:var(--spacing-container-padding) 0;background-color:var(--color-background)}.messages-container[data-v-ead8f15e]{display:flex;flex-direction:column;min-height:100%}.loading-indicator[data-v-ead8f15e]{padding:16px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.typing-dots[data-v-ead8f15e]{display:flex;gap:4px;padding:var(--spacing-message-padding);background-color:var(--color-ai-message);border-radius:var(--border-radius-message)}.loading-text[data-v-ead8f15e]{font-size:var(--font-size-caption);color:var(--color-text-secondary);padding-left:var(--spacing-message-padding);font-style:italic}.typing-dots span[data-v-ead8f15e]{width:8px;height:8px;border-radius:50%;background-color:var(--color-text-secondary);animation:typing-ead8f15e 1.4s infinite}.typing-dots span[data-v-ead8f15e]:nth-child(2){animation-delay:.2s}.typing-dots span[data-v-ead8f15e]:nth-child(3){animation-delay:.4s}@keyframes typing-ead8f15e{0%,60%,to{transform:translateY(0);opacity:.7}30%{transform:translateY(-10px);opacity:1}}.chat-input-container[data-v-501548f6]{padding:var(--spacing-container-padding);background-color:var(--color-background)}.chat-input-pill[data-v-501548f6]{display:flex;flex-direction:column;padding:var(--spacing-medium);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-large);box-shadow:var(--shadow-input);transition:box-shadow .3s ease}.chat-input-pill[data-v-501548f6]:hover{box-shadow:0 4px 16px #0000001f}.chat-input-field[data-v-501548f6]{width:100%;min-width:0;padding:var(--spacing-small) 0;border:none;background:none;font-size:var(--font-size-input);font-family:var(--font-family);color:var(--color-text);outline:none}.chat-input-actions[data-v-501548f6]{display:flex;align-items:center;justify-content:space-between;margin-top:var(--spacing-small)}.chat-input-actions-right[data-v-501548f6]{display:flex;align-items:center;gap:var(--spacing-small)}.chat-input-field[data-v-501548f6]::placeholder{color:var(--color-text-muted)}.chat-input-field[data-v-501548f6]:disabled{opacity:.6;cursor:not-allowed}.input-icon[data-v-501548f6]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:none;background:none;color:var(--color-text-muted);cursor:pointer;border-radius:50%;transition:color .2s,background-color .2s;flex-shrink:0}.input-icon[data-v-501548f6]:hover{color:var(--color-text);background-color:var(--color-background)}.input-icon svg[data-v-501548f6]{font-size:var(--font-size-icon-sm)}.send-button-circle[data-v-501548f6]{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:none;border-radius:50%;flex-shrink:0;background-color:var(--color-primary);color:var(--color-on-primary);cursor:pointer;transition:background-color .2s,opacity .2s}.send-button-circle[data-v-501548f6]:hover:not(:disabled){background-color:var(--color-primary-hover)}.send-button-circle[data-v-501548f6]:disabled{opacity:.5;cursor:not-allowed}.send-button-circle svg[data-v-501548f6]{width:1em;height:1em;font-size:var(--font-size-icon)}.chat-input-disclaimer[data-v-501548f6]{margin:var(--spacing-small) 0 0;font-size:var(--font-size-disclaimer);color:var(--color-text-muted);text-align:center;line-height:1.4}.follow-on-questions[data-v-37a4b4fc]{padding:var(--spacing-medium) var(--spacing-container-padding) 0;border-top:1px solid var(--color-border);background-color:var(--color-background)}.questions-label[data-v-37a4b4fc]{font-size:var(--font-size-caption);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.questions-list[data-v-37a4b4fc]{display:flex;flex-wrap:nowrap;gap:var(--spacing-small);overflow-x:auto;overflow-y:hidden;padding:4px 0;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.questions-list[data-v-37a4b4fc]::-webkit-scrollbar{height:6px}.questions-list[data-v-37a4b4fc]::-webkit-scrollbar-track{background:transparent}.questions-list[data-v-37a4b4fc]::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:3px}.questions-list[data-v-37a4b4fc]::-webkit-scrollbar-thumb:hover{background-color:var(--color-text-secondary)}.questions-list .btn[data-v-37a4b4fc]{flex-shrink:0;white-space:nowrap}.chat-container[data-v-91a59814]{display:flex;flex-direction:column;height:100vh;max-width:600px;margin:0 auto;background-color:var(--color-background);border-radius:var(--border-radius-frame);border:1px solid var(--color-border);box-shadow:var(--shadow-container);position:relative;overflow:hidden}.chat-content[data-v-91a59814]{display:flex;flex-direction:column;flex:1;overflow:hidden;position:relative}.content-view[data-v-91a59814]{display:flex;flex-direction:column;flex:1;overflow:hidden;width:100%;height:100%}.error-message-container[data-v-91a59814]{padding:8px 16px}.error-message[data-v-91a59814]{padding:12px 16px;background-color:var(--color-error-bg);color:var(--color-danger);border-radius:8px;font-size:var(--font-size-body-sm);display:flex;justify-content:space-between;align-items:center;gap:12px}.error-text[data-v-91a59814]{flex:1}.slide-fade-enter-active[data-v-91a59814],.slide-fade-leave-active[data-v-91a59814]{transition:all .3s cubic-bezier(.4,0,.2,1)}.slide-fade-enter-from[data-v-91a59814]{opacity:0;transform:translate(20px)}.slide-fade-leave-to[data-v-91a59814]{opacity:0;transform:translate(-20px)}.callback-view[data-v-1de831f8]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:16px;font-size:var(--font-size-body, 1rem);color:var(--color-text-secondary, #666)}.spinner[data-v-1de831f8]{width:32px;height:32px;border:3px solid var(--color-border, #ddd);border-top-color:var(--color-primary, #4f46e5);border-radius:50%;animation:spin-1de831f8 .8s linear infinite}@keyframes spin-1de831f8{to{transform:rotate(360deg)}}.login-view[data-v-791cd6a1]{display:flex;align-items:center;justify-content:center;min-height:100vh;background-color:var(--color-background)}.login-card[data-v-791cd6a1]{padding:32px;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-frame, 12px);box-shadow:var(--shadow-container);text-align:center;max-width:360px}.login-title[data-v-791cd6a1]{font-size:var(--font-size-welcome-title, 1.5rem);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0 0 8px}.login-subtitle[data-v-791cd6a1]{font-size:var(--font-size-body);color:var(--color-text-secondary);margin:0 0 24px}.login-btn[data-v-791cd6a1]{width:100%;padding:12px 24px;font-size:1rem;font-weight:500;color:#fff;background-color:var(--color-primary);border:none;border-radius:8px;cursor:pointer;transition:background-color .2s}.login-btn[data-v-791cd6a1]:hover:not(:disabled){background-color:var(--color-primary-hover)}.login-btn[data-v-791cd6a1]:disabled{opacity:.7;cursor:not-allowed}.login-error[data-v-791cd6a1]{padding:12px;margin-bottom:16px;background-color:var(--color-error-bg, #fef2f2);color:var(--color-error, #b91c1c);border-radius:8px;font-size:.9rem}
