:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#root{width:100vw;height:100vh;margin:0;padding:0;overflow:hidden}:root{--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--bg-input: #ffffff;--input-bg: #ffffff;--bg-user-message: #2563eb;--bg-agent-message: #f1f5f9;--bg-hover: #e2e8f0;--bg-sidebar: #fafbfc;--text-primary: #1e293b;--text-secondary: #64748b;--text-tertiary: #94a3b8;--text-muted: #94a3b8;--text-inverse: #ffffff;--border-color: #e2e8f0;--border-focus: #2563eb;--shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--accent-primary: #2563eb;--accent-hover: #1d4ed8;--accent-success: #10b981;--accent-warning: #f59e0b;--accent-error: #ef4444;--error-color: #ef4444;--error-bg: #fee2e2;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}[data-theme=dark]{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--bg-input: #1e293b;--input-bg: #1e293b;--bg-user-message: #3b82f6;--bg-agent-message: #1e293b;--bg-hover: #334155;--bg-sidebar: #1a202c;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-tertiary: #64748b;--text-muted: #64748b;--text-inverse: #0f172a;--border-color: #334155;--border-focus: #3b82f6;--shadow: 0 1px 3px 0 rgb(0 0 0 / .3), 0 1px 2px -1px rgb(0 0 0 / .3);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .3), 0 4px 6px -4px rgb(0 0 0 / .3);--error-color: #f87171;--error-bg: #991b1b}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease;height:100vh;overflow:hidden}.app-container{display:flex;height:100vh;background-color:var(--bg-primary);transition:background-color .3s ease}.sidebar{width:300px;background-color:var(--bg-sidebar);border-right:1px solid var(--border-color);display:flex;flex-direction:column;transition:all .3s ease}.sidebar.collapsed{width:50px;min-width:50px}.sidebar-header{padding:.75rem .5rem;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;gap:.25rem}.new-chat-btn{background-color:var(--accent-primary);color:#fff;border:none;border-radius:.5rem;padding:.75rem 1rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;width:100%}.new-chat-btn:hover{background-color:#1d4ed8}.sidebar.collapsed .new-chat-btn{padding:.5rem;justify-content:center;min-width:unset}.sidebar.collapsed .new-chat-btn .btn-text{display:none}.chat-history{flex:1;overflow-y:auto;padding:.5rem}.chat-item{padding:.75rem;border-radius:.5rem;margin-bottom:.25rem;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.chat-item:hover{background-color:var(--bg-hover)}.chat-item.active{background-color:var(--accent-primary);color:#fff}.chat-item-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.chat-item-title{font-size:.875rem;font-weight:500;flex:1;truncate:ellipsis;white-space:nowrap;overflow:hidden}.chat-edit-btn{background:none;border:none;padding:.25rem;cursor:pointer;font-size:.875rem;color:var(--text-muted);opacity:0;transition:all .2s ease;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:.25rem}.chat-item:hover .chat-edit-btn{opacity:1}.chat-edit-btn:hover{background-color:#0000001a;color:var(--text-primary)}.chat-item.active .chat-edit-btn{color:#ffffffb3}.chat-item.active .chat-edit-btn:hover{background-color:#fff3;color:#fff}.chat-title-input{width:100%;padding:.25rem .5rem;font-size:.875rem;font-weight:500;border:1px solid var(--border-color);border-radius:.25rem;background-color:var(--bg-primary);color:var(--text-primary);outline:none}.chat-title-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px #3b82f61a}.chat-item.active .chat-title-input{background-color:#fff;color:var(--text-primary)}.chat-item-preview{font-size:.75rem;color:var(--text-muted);truncate:ellipsis;white-space:nowrap;overflow:hidden}.chat-item.active .chat-item-preview{color:#fffc}.sidebar.collapsed .chat-item-title,.sidebar.collapsed .chat-item-preview{display:none}.sidebar.collapsed .chat-item{padding:.5rem;display:flex;justify-content:center;align-items:center;min-height:40px}.sidebar-toggle{background:none;border:none;padding:.25rem;border-radius:.375rem;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-size:1.25rem;line-height:1}.sidebar-toggle:hover{background-color:var(--bg-hover);color:var(--text-primary)}.chat-container{flex:1;display:flex;flex-direction:column;height:100vh}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);background-color:var(--bg-secondary);transition:all .3s ease}.agent-info{display:flex;align-items:center;gap:.75rem}.agent-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--accent-primary),#3b82f6);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.875rem}.agent-avatar:before{content:"AI"}.agent-details h3{font-size:1rem;font-weight:600;color:var(--text-primary)}.user-email-container{display:flex;align-items:center;gap:.5rem;margin-top:.125rem}.user-email{font-size:.75rem;color:var(--text-muted)}.sign-out-btn{background:none;border:none;padding:.125rem .375rem;font-size:.7rem;color:var(--accent-primary);cursor:pointer;text-decoration:underline;transition:all .2s ease;display:flex;align-items:center;gap:.25rem}.sign-out-btn:hover{color:var(--accent-hover);text-decoration:none}.agent-info-icon{display:inline-flex;align-items:center;position:relative}.info-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background-color:transparent;border:1.5px solid var(--text-muted);color:var(--text-muted);font-size:.7rem;cursor:help;transition:all .2s ease;opacity:.7;padding:.15rem}.info-icon:hover{border-color:var(--accent-primary);color:var(--accent-primary);background-color:#2563eb0d;opacity:1;transform:scale(1.05)}.agent-tooltip{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:.5rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;padding:.75rem;box-shadow:0 4px 12px #00000026;z-index:1000;min-width:250px;max-width:350px;pointer-events:none}.agent-tooltip-title{font-size:.75rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.agent-tooltip-content{font-size:.875rem;color:var(--text-secondary);line-height:1.5}.agent-status{font-size:.75rem;color:var(--accent-success);display:flex;align-items:center;gap:.25rem}.status-dot{width:6px;height:6px;border-radius:50%;background-color:var(--accent-success)}.header-actions{display:flex;align-items:center;gap:.5rem}.action-btn{background:none;border:none;padding:.5rem;border-radius:.375rem;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.action-btn:hover{background-color:var(--bg-hover);color:var(--text-primary)}.messages-container{flex:1;overflow-y:auto;padding:1rem;background-color:var(--bg-primary);scroll-behavior:smooth}.message{display:flex;margin-bottom:1rem;animation:fadeInUp .3s ease}.message.user{justify-content:flex-end}.message.agent{justify-content:flex-start}.message-bubble{max-width:70%;padding:.75rem 1rem;border-radius:1rem;font-size:.875rem;line-height:1.5;word-wrap:break-word;position:relative}.message.user .message-bubble{background-color:var(--bg-user-message);color:var(--text-inverse);border-bottom-right-radius:.25rem}.message.agent .message-bubble{background-color:var(--bg-agent-message);color:var(--text-primary);border-bottom-left-radius:.25rem;border:1px solid var(--border-color)}.message-time{font-size:.6875rem;color:var(--text-muted);margin-top:.25rem;text-align:right}.message.agent .message-time{text-align:left}.typing-indicator{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;margin-left:0;margin-bottom:1rem;max-width:fit-content;background-color:var(--bg-agent-message);border-radius:1rem 1rem 1rem .25rem;border:1px solid var(--border-color)}.typing-dots{display:flex;gap:.25rem}.typing-dot{width:6px;height:6px;border-radius:50%;background-color:var(--text-muted);animation:typingAnimation 1.4s infinite ease-in-out}.typing-dot:nth-child(1){animation-delay:-.32s}.typing-dot:nth-child(2){animation-delay:-.16s}.input-container{padding:1rem 1.5rem;border-top:1px solid var(--border-color);background-color:var(--bg-secondary);transition:all .3s ease}.input-wrapper{display:flex;align-items:flex-end;gap:.75rem;background-color:var(--bg-input);border:1px solid var(--border-color);border-radius:1.5rem;padding:.75rem 1rem;transition:all .2s ease}.input-wrapper:focus-within{border-color:var(--border-focus);box-shadow:0 0 0 3px #2563eb1a}.message-input{flex:1;border:none;outline:none;background:transparent;color:var(--text-primary);font-size:.875rem;line-height:1.5;resize:none;min-height:20px;max-height:100px}.message-input::placeholder{color:var(--text-muted)}.input-actions{display:flex;align-items:center;gap:.5rem}.send-btn{background-color:var(--accent-primary);color:#fff;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.send-btn:hover{background-color:#1d4ed8;transform:scale(1.05)}.send-btn:disabled{background-color:var(--text-muted);cursor:not-allowed;transform:none}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes typingAnimation{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}@media (max-width: 768px){.sidebar{position:fixed;left:-300px;z-index:100;height:100vh;transition:left .3s ease}.sidebar.open{left:0}.sidebar-overlay{position:fixed;inset:0;background-color:#00000080;z-index:99;opacity:0;visibility:hidden;transition:all .3s ease}.sidebar-overlay.visible{opacity:1;visibility:visible}.chat-container{width:100%}.chat-header{padding:.75rem 1rem}.messages-container{padding:.75rem}.input-container{padding:.75rem 1rem}.message-bubble{max-width:85%;font-size:.8125rem}.mobile-menu-btn{display:block}}.mobile-menu-btn{display:none;background:none;border:none;padding:.5rem;border-radius:.375rem;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.mobile-menu-btn:hover{background-color:var(--bg-hover);color:var(--text-primary)}.theme-toggle{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:1.5rem;padding:.25rem;display:flex;cursor:pointer;transition:all .3s ease;position:relative;width:60px;height:30px}.theme-toggle-slider{width:22px;height:22px;background-color:var(--accent-primary);border-radius:50%;transition:transform .3s ease;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.6875rem}[data-theme=dark] .theme-toggle-slider{transform:translate(30px)}.theme-toggle-slider svg{font-size:.75rem}.quick-actions{display:flex;gap:.5rem;padding:.75rem 1rem;overflow-x:auto;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.quick-action{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;padding:.5rem .75rem;font-size:.75rem;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;white-space:nowrap;display:flex;align-items:center;gap:.375rem}.quick-action:hover{background-color:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.quick-action-icon{width:12px;height:12px;border-radius:2px;background-color:var(--accent-primary);opacity:.7}.quick-action:hover .quick-action-icon{background-color:#fff;opacity:1}.error-message{background-color:#f8d7da;color:#721c24;padding:.75rem;border-radius:.5rem;margin-bottom:1rem;border:1px solid #f5c6cb}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
