@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");:root{--color-bg:#0f0f14;--color-bg-secondary:#1a1a24;--color-bg-chat:#141420;--color-surface:#1e1e2e;--color-surface-hover:#252538;--color-border:hsla(0,0%,100%,.08);--color-border-focus:rgba(99,102,241,.5);--color-text:#e8e8f0;--color-text-secondary:#9ca3af;--color-text-muted:#6b7280;--color-primary:#6366f1;--color-primary-light:#818cf8;--color-primary-dark:#4f46e5;--color-primary-glow:rgba(99,102,241,.2);--color-accent:#a78bfa;--color-accent-glow:rgba(167,139,250,.15);--color-user-bubble:linear-gradient(135deg,#6366f1,#8b5cf6);--color-ai-bubble:#1e1e2e;--color-success:#34d399;--color-warning:#fbbf24;--color-error:#f87171;--font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:0.9375rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:0.75rem;--spacing-lg:1rem;--spacing-xl:1.5rem;--spacing-2xl:2rem;--radius-sm:0.5rem;--radius-md:0.75rem;--radius-lg:1rem;--radius-xl:1.25rem;--radius-full:9999px;--shadow-sm:0 1px 2px rgba(0,0,0,.3);--shadow-md:0 4px 6px -1px rgba(0,0,0,.4);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.5);--shadow-glow:0 0 20px var(--color-primary-glow);--transition-fast:150ms ease;--transition-normal:250ms ease;--transition-slow:400ms ease}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;font-family:var(--font-family);font-size:16px;line-height:1.6;color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.chat-container,body,html{background:var(--color-bg)}.chat-container{display:flex;flex-direction:column;height:100vh;max-width:100%;overflow:hidden}.chat-header{gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-xl);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.chat-header,.chat-header__logo{display:flex;align-items:center;flex-shrink:0}.chat-header__logo{width:40px;height:40px;border-radius:var(--radius-md);background:var(--color-user-bubble);justify-content:center;font-size:var(--font-size-lg);font-weight:700;color:#fff}.chat-header__info{flex:1 1;min-width:0}.chat-header__title{font-size:var(--font-size-base);font-weight:600;color:var(--color-text);line-height:1.3}.chat-header__subtitle{font-size:var(--font-size-xs);color:var(--color-text-secondary);display:flex;align-items:center;gap:var(--spacing-xs)}.chat-header__status{width:6px;height:6px;border-radius:var(--radius-full);background:var(--color-success);display:inline-block;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.chat-messages{flex:1 1;overflow-y:auto;padding:var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-lg);scroll-behavior:smooth;background:var(--color-bg-chat)}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}.chat-messages::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.15)}.message{display:flex;gap:var(--spacing-md);max-width:85%;animation:messageIn .3s ease-out}@keyframes messageIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message--user{align-self:flex-end;flex-direction:row-reverse}.message--assistant{align-self:flex-start}.message__avatar{width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);flex-shrink:0;margin-top:2px}.message--user .message__avatar{background:var(--color-surface);color:var(--color-text-secondary)}.message--assistant .message__avatar{background:var(--color-user-bubble);color:#fff;font-weight:600}.message__bubble{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-lg);font-size:var(--font-size-base);line-height:1.6;word-break:break-word}.message--user .message__bubble{background:var(--color-user-bubble);color:#fff;border-bottom-right-radius:var(--spacing-xs)}.message--assistant .message__bubble{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-bottom-left-radius:var(--spacing-xs)}.message__bubble p{margin-bottom:var(--spacing-sm)}.message__bubble p:last-child{margin-bottom:0}.message__bubble ol,.message__bubble ul{padding-left:var(--spacing-xl);margin-bottom:var(--spacing-sm)}.message__bubble li{margin-bottom:var(--spacing-xs)}.message__bubble strong{color:var(--color-primary-light);font-weight:600}.typing-indicator{display:flex;gap:4px;padding:var(--spacing-md) var(--spacing-lg);align-items:center}.typing-indicator__dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--color-text-muted);animation:typingBounce 1.4s ease-in-out infinite}.typing-indicator__dot:nth-child(2){animation-delay:.2s}.typing-indicator__dot:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}.welcome-message{text-align:center;padding:var(--spacing-2xl);animation:fadeIn .5s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.welcome-message__icon{width:64px;height:64px;border-radius:var(--radius-lg);background:var(--color-user-bubble);display:flex;align-items:center;justify-content:center;font-size:1.75rem;margin:0 auto var(--spacing-lg);box-shadow:var(--shadow-glow)}.welcome-message__title{font-size:var(--font-size-xl);font-weight:700;margin-bottom:var(--spacing-sm);background:linear-gradient(135deg,var(--color-primary-light),var(--color-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.welcome-message__text{color:var(--color-text-secondary);font-size:var(--font-size-sm);max-width:360px;margin:0 auto var(--spacing-xl)}.welcome-message__suggestions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);justify-content:center}.welcome-message__suggestion{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-family)}.welcome-message__suggestion:hover{border-color:var(--color-primary);color:var(--color-primary-light);background:var(--color-primary-glow);transform:translateY(-1px)}.chat-input{padding:var(--spacing-lg) var(--spacing-xl);background:var(--color-bg-secondary);border-top:1px solid var(--color-border);flex-shrink:0}.chat-input__form{display:flex;gap:var(--spacing-md);align-items:flex-end;max-width:800px;margin:0 auto}.chat-input__field{flex:1 1;padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-base);font-family:var(--font-family);outline:none;resize:none;min-height:44px;max-height:120px;line-height:1.5;transition:border-color var(--transition-fast)}.chat-input__field::placeholder{color:var(--color-text-muted)}.chat-input__field:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-glow)}.chat-input__submit{width:44px;height:44px;border-radius:var(--radius-md);border:none;background:var(--color-user-bubble);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);flex-shrink:0;font-size:1.1rem}.chat-input__submit:hover:not(:disabled){transform:scale(1.05);box-shadow:var(--shadow-glow)}.chat-input__submit:active:not(:disabled){transform:scale(.95)}.chat-input__submit:disabled{opacity:.5;cursor:not-allowed}.chat-input__hint{text-align:center;font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--spacing-sm)}.chat-input__submit--stop{background:var(--color-error);animation:fadeIn .2s ease-out}.chat-input__submit--stop:hover{background:#ef4444}.message__bubble--error{border-color:hsla(0,91%,71%,.3)!important;background:hsla(0,91%,71%,.08)!important;color:var(--color-error)!important}@media (max-width:640px){.chat-header{padding:var(--spacing-md) var(--spacing-lg)}.chat-messages{padding:var(--spacing-lg)}.message{max-width:92%}.chat-input{padding:var(--spacing-md) var(--spacing-lg)}.welcome-message__suggestions{flex-direction:column;align-items:center}}.typing-indicator-container{display:flex;flex-direction:column;gap:var(--spacing-xs);align-items:flex-start}.typing-status-text{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-style:italic;font-weight:500;animation:fadeIn .3s ease-out}.message--typing .message__bubble{background:var(--color-surface);border:1px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-lg)}.message--typing .typing-indicator{padding:0;height:20px}.call-manager-btn{padding:6px 12px;background:rgba(99,102,241,.15);border:1px solid var(--color-primary);border-radius:var(--radius-sm);color:var(--color-primary-light);font-family:var(--font-family);font-size:var(--font-size-xs);font-weight:500;cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast);flex-shrink:0;white-space:nowrap}.call-manager-btn:hover{background:var(--color-primary);color:#fff;transform:translateY(-1px)}.manager-badge{padding:6px 12px;background:rgba(52,211,153,.1);border:1px solid var(--color-success);border-radius:var(--radius-sm);color:var(--color-success);font-size:var(--font-size-xs);font-weight:500;flex-shrink:0;white-space:nowrap;display:flex;align-items:center;gap:var(--spacing-xs)}.admin-container{display:flex;flex-direction:column;height:100vh;padding:var(--spacing-xl);background:var(--color-bg);font-family:var(--font-family);color:var(--color-text);overflow-y:auto}.admin-header{margin-bottom:var(--spacing-xl);border-bottom:1px solid var(--color-border);padding-bottom:var(--spacing-md)}.admin-title{font-size:var(--font-size-lg);font-weight:700;background:linear-gradient(135deg,#a78bfa,#6366f1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:var(--spacing-xs)}.admin-subtitle{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.admin-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-xl);box-shadow:var(--shadow-md)}.admin-card,.admin-control-row{margin-bottom:var(--spacing-lg)}.admin-control-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.admin-control-label{font-size:var(--font-size-base);font-weight:600}.admin-control-desc{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:2px}.switch{position:relative;display:inline-block;width:50px;height:26px;flex-shrink:0}.switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--color-bg-chat);border:1px solid var(--color-border);border-radius:34px}.slider,.slider:before{position:absolute;transition:.3s}.slider:before{content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:var(--color-text-secondary);border-radius:50%}input:checked+.slider{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-color:var(--color-primary-light)}input:checked+.slider:before{transform:translateX(24px);background-color:#fff;box-shadow:0 0 8px hsla(0,0%,100%,.5)}.admin-status-badge{display:inline-flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:600;padding:8px 16px;border-radius:var(--radius-sm);margin-top:var(--spacing-md);width:100%;justify-content:center}.admin-status-badge--active{background:rgba(52,211,153,.1);color:var(--color-success);border:1px solid rgba(52,211,153,.2)}.admin-status-badge--disabled{background:hsla(0,91%,71%,.1);color:var(--color-error);border:1px solid hsla(0,91%,71%,.2)}.admin-status-badge--loading{background:hsla(0,0%,100%,.05);color:var(--color-text-secondary);border:1px solid var(--color-border)}.admin-error-box{background:hsla(0,91%,71%,.1);border:1px solid var(--color-error);color:var(--color-error);padding:var(--spacing-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm);margin-bottom:var(--spacing-lg);line-height:1.4}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid hsla(0,0%,100%,.1);border-left:2px solid var(--color-primary-light);animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}