@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;font-size:16px;line-height:1.5;font-weight:400;color-scheme:dark;color:#f1f5f9;background-color:#0f172a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{height:100%}body{margin:0;min-height:100vh;background:linear-gradient(135deg,#0f172a,#1e293b,#0f172a);background-attachment:fixed;overflow-x:hidden}#root{min-height:100vh}a{font-weight:500;color:#dc2626;text-decoration:none;transition:color .2s ease}a:hover{color:#ef4444}button{font-family:inherit;cursor:pointer;border:none;outline:none;transition:all .2s ease}button:focus-visible{outline:2px solid #dc2626;outline-offset:2px}input,textarea{font-family:inherit;font-size:inherit}img{max-width:100%;height:auto}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#334155;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#475569}::selection{background-color:#dc2626;color:#fff}:focus-visible{outline:2px solid #dc2626;outline-offset:2px}:focus:not(:focus-visible){outline:none}@media print{body{background:#fff;color:#000}}:root{--primary: #dc2626;--primary-dark: #b91c1c;--primary-light: #ef4444;--secondary: #1e40af;--secondary-dark: #1e3a8a;--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--bg-chat: #0f172a;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--msg-user-bg: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%);--msg-bot-bg: #1e293b;--msg-error-bg: #7f1d1d;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -2px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .3), 0 4px 6px -4px rgba(0, 0, 0, .3);--shadow-glow: 0 0 20px rgba(220, 38, 38, .3);--border-color: #334155;--border-radius: 12px;--border-radius-lg: 20px;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh;overflow:hidden}#root{max-width:100%;margin:0;padding:0;text-align:left}.app-container{display:flex;flex-direction:column;height:100vh;max-width:1400px;margin:0 auto;background:var(--bg-primary)}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:linear-gradient(180deg,var(--bg-secondary) 0%,transparent 100%);border-bottom:1px solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:100}.header-left{flex:1}.logo-container{display:flex;align-items:center;gap:.75rem}.logo-icon{width:48px;height:48px;background:var(--msg-user-bg);border-radius:var(--border-radius);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:var(--shadow-glow)}.logo-text h1{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,var(--primary-light) 0%,#fbbf24 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2}.logo-text .subtitle{font-size:.75rem;color:var(--text-secondary);font-weight:500}.header-center{flex:1;display:flex;justify-content:center}.agent-badge{padding:.5rem 1rem;background:var(--bg-tertiary);border-radius:20px;font-size:.85rem;font-weight:500;color:var(--text-secondary);border:1px solid var(--border-color);transition:var(--transition-normal)}.agent-badge.quote_agent{background:linear-gradient(135deg,#065f46,#047857);color:#fff;border-color:#059669}.agent-badge.contract_agent{background:linear-gradient(135deg,#1e40af,#3b82f6);color:#fff;border-color:#2563eb}.agent-badge.support_agent{background:linear-gradient(135deg,#7c2d12,#c2410c);color:#fff;border-color:#ea580c}.header-right{flex:1;display:flex;align-items:center;justify-content:flex-end;gap:1rem}.connection-status{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--text-secondary);padding:.4rem .8rem;background:var(--bg-tertiary);border-radius:20px}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted);animation:pulse 2s infinite}.connection-status.connected .status-dot{background:#22c55e;box-shadow:0 0 8px #22c55e}.connection-status.error .status-dot{background:#ef4444;box-shadow:0 0 8px #ef4444}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.new-chat-btn{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:var(--transition-normal)}.new-chat-btn:hover{background:var(--primary);border-color:var(--primary);box-shadow:var(--shadow-glow)}.messages-container{flex:1;overflow-y:auto;padding:1.5rem;background:var(--bg-chat);scroll-behavior:smooth}.messages-container::-webkit-scrollbar{width:8px}.messages-container::-webkit-scrollbar-track{background:transparent}.messages-container::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}.messages-container::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.messages-wrapper{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:1.5rem}.message{display:flex;gap:1rem;animation:messageIn .3s ease-out}@keyframes messageIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.user{flex-direction:row-reverse}.message-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--bg-tertiary);color:var(--text-secondary)}.message.user .message-avatar{background:var(--msg-user-bg);color:#fff}.message.bot .message-avatar{background:linear-gradient(135deg,var(--secondary) 0%,var(--secondary-dark) 100%);color:#fff}.message-content{max-width:70%;display:flex;flex-direction:column;gap:.25rem}.message.user .message-content{align-items:flex-end}.message-header{display:flex;align-items:center;gap:.75rem;padding:0 .5rem}.message.user .message-header{flex-direction:row-reverse}.message-sender{font-size:.8rem;font-weight:600;color:var(--text-secondary)}.message-time{font-size:.7rem;color:var(--text-muted)}.message-text{padding:1rem 1.25rem;border-radius:var(--border-radius-lg);line-height:1.6;font-size:.95rem;overflow-wrap:anywhere;word-break:break-word}.message.bot .message-text{background:var(--msg-bot-bg);color:var(--text-primary);border-bottom-left-radius:4px;border:1px solid var(--border-color)}.message.user .message-text{background:var(--msg-user-bg);color:#fff;border-bottom-right-radius:4px;box-shadow:var(--shadow-md)}.message.error .message-text{background:var(--msg-error-bg);border-color:#991b1b}.message-text strong{font-weight:600;color:inherit}.message-text em{font-style:italic}.message-text a{color:#93c5fd;text-decoration:underline;word-break:break-all}.message-meta{display:flex;gap:.5rem;padding:0 .5rem;margin-top:.25rem}.cost-badge{font-size:.7rem;color:var(--text-muted);background:var(--bg-tertiary);padding:.2rem .5rem;border-radius:4px}.message.loading .message-content{min-width:80px}.typing-indicator{display:flex;align-items:center;gap:.4rem;padding:1rem 1.25rem;background:var(--msg-bot-bg);border-radius:var(--border-radius-lg);border-bottom-left-radius:4px;border:1px solid var(--border-color)}.typing-indicator span{width:8px;height:8px;background:var(--text-muted);border-radius:50%;animation:typing 1.4s infinite ease-in-out both}.typing-indicator span:nth-child(1){animation-delay:0s}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1;background:var(--primary)}}.input-container{padding:1rem 1.5rem 1.5rem;background:linear-gradient(0deg,var(--bg-secondary) 0%,transparent 100%);border-top:1px solid var(--border-color)}.input-wrapper{max-width:900px;margin:0 auto;display:flex;gap:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:.5rem;transition:var(--transition-normal)}.input-wrapper:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #dc262633}.input-wrapper textarea{flex:1;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:1rem;font-family:inherit;padding:.75rem;resize:none;max-height:120px;line-height:1.5}.input-wrapper textarea::placeholder{color:var(--text-muted)}.input-wrapper textarea:disabled{opacity:.5;cursor:not-allowed}.send-btn{width:48px;height:48px;border-radius:var(--border-radius);background:var(--msg-user-bg);border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition-normal);flex-shrink:0}.send-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:var(--shadow-glow)}.send-btn:active:not(:disabled){transform:scale(.95)}.send-btn:disabled{opacity:.4;cursor:not-allowed;background:var(--bg-tertiary)}.input-footer{max-width:900px;margin:.75rem auto 0;display:flex;justify-content:space-between;align-items:center;font-size:.7rem;color:var(--text-muted);padding:0 .5rem}.session-id{font-family:monospace}.powered-by{opacity:.7}@media(max-width:768px){.chat-header{flex-wrap:wrap;gap:.75rem;padding:.75rem 1rem}.header-left,.header-right{flex:unset;width:100%}.header-center{order:3;flex:unset;width:100%;justify-content:flex-start}.header-right{justify-content:space-between}.new-chat-btn span{display:none}.messages-container{padding:1rem}.message-content{max-width:85%}.logo-text h1{font-size:1.25rem}.input-container{padding:.75rem 1rem 1rem}.input-footer{flex-direction:column;gap:.25rem;align-items:flex-start}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.app-container{animation:fadeIn .5s ease-out}.message:hover .message-time{opacity:1}.message .message-time{opacity:.7;transition:var(--transition-fast)}::selection{background:var(--primary);color:#fff}.app-container.login-page{align-items:center;justify-content:center;padding:1rem}.login-card{width:100%;max-width:380px;padding:2rem;background:var(--bg-secondary);border-radius:var(--border-radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-lg)}.login-header{text-align:center;margin-bottom:1.5rem}.login-header h1{font-size:1.75rem;color:var(--text-primary);margin-bottom:.25rem}.login-header p{font-size:.9rem;color:var(--text-secondary)}.login-form label{display:block;margin-bottom:1rem;font-size:.875rem;color:var(--text-secondary)}.login-form input{width:100%;margin-top:.35rem;padding:.75rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-primary);font-size:1rem}.login-form input::placeholder{color:var(--text-muted)}.login-form input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #dc262633}.login-error{color:var(--primary-light);font-size:.875rem;margin-bottom:.75rem}.login-btn{width:100%;padding:.75rem 1rem;margin-top:.5rem;background:var(--msg-user-bg);border:none;border-radius:var(--border-radius);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:var(--transition-fast)}.login-btn:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.login-btn:disabled{opacity:.7;cursor:not-allowed}.logout-btn{padding:.5rem .75rem;margin-left:.5rem;background:transparent;border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-secondary);font-size:.875rem;cursor:pointer;transition:var(--transition-fast)}.logout-btn:hover{color:var(--text-primary);border-color:var(--text-muted)}
