#root,body,html{height:100%;width:100%}body{background-color:#fff;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#999}::selection{background-color:#06c;color:#fff}::-moz-selection{background-color:#06c;color:#fff}.sidebar-toggle{background:var(--primary);border:none;border-radius:8px;color:#fff;cursor:pointer;display:none;left:16px;padding:8px;position:fixed;top:16px;z-index:1000}.sidebar{background:#fff;border-right:2px solid #000;display:flex;flex-direction:column;overflow-y:auto;transition:transform .3s ease;width:280px}.sidebar-header{background:linear-gradient(135deg,#fff,#f5f5f5);border-bottom:2px solid #000;padding:20px 16px}.logo-container{align-items:center;display:flex;gap:12px}.logo-placeholder{align-items:center;background:#000;border-radius:8px;display:flex;flex-shrink:0;font-size:24px;height:40px;justify-content:center;width:40px}.logo-text{flex:1 1}.sidebar-title{color:#000;font-size:18px;font-weight:800;letter-spacing:-.5px;margin:0}.sidebar-subtitle{color:#666;display:block;font-size:11px;font-weight:600;letter-spacing:.5px;margin-top:2px;text-transform:uppercase}.new-conversation-btn{align-items:center;background:var(--primary);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;margin:16px;padding:12px 16px;transition:background .2s}.new-conversation-btn:hover{background:var(--primary-dark)}.sidebar-nav{flex:1 1;overflow-y:auto;padding:16px 0}.nav-section{margin-bottom:16px}.nav-title{color:var(--text-secondary);font-size:12px;font-weight:600;margin-bottom:8px;padding:0 16px;text-transform:uppercase}.nav-list{list-style:none}.nav-list li{margin:0}.nav-list a{color:var(--text-primary);display:block;font-size:14px;padding:10px 16px;text-decoration:none;transition:background .2s}.nav-list a:hover{background:var(--secondary)}.sidebar-footer{border-top:1px solid var(--border);padding:16px}.settings-btn{align-items:center;background:var(--secondary);border:none;border-radius:8px;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:10px 12px;transition:background .2s;width:100%}.settings-btn:hover{background:#e0e0e0}.settings-panel{background:var(--secondary);border-radius:8px;margin-top:12px;padding:12px}.settings-group{margin-bottom:12px}.settings-group label{color:var(--text-primary);display:block;font-size:12px;font-weight:600;margin-bottom:6px}.token-input{border:1px solid var(--border);border-radius:4px;font-size:12px;margin-bottom:8px;padding:8px}.save-token-btn{background:var(--primary);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:8px;transition:background .2s;width:100%}.save-token-btn:hover{background:var(--primary-dark)}.token-help{color:var(--text-secondary);font-size:11px;margin-bottom:0;margin-top:8px}.token-help a{color:var(--primary);font-weight:600;text-decoration:none}.token-help a:hover{text-decoration:underline}.logout-btn{align-items:center;background:var(--error);border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:6px;justify-content:center;padding:8px;transition:background .2s;width:100%}.logout-btn:hover{background:#d91e3f}.auth-status{margin-top:12px}.auth-badge{align-items:center;border-radius:4px;display:flex;font-size:12px;font-weight:600;gap:6px;justify-content:center;padding:8px}.auth-badge.authenticated{background:#d4edda;color:#155724}.auth-badge.disconnected{background:#f8d7da;color:#721c24}@media (max-width:768px){.sidebar-toggle{display:flex}.sidebar{height:100vh;left:0;position:fixed;top:0;transform:translateX(-100%);z-index:999}.sidebar.open{transform:translateX(0)}}.voice-input-btn{align-items:center;background:none;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:8px;transition:all .2s}.voice-input-btn:hover:not(:disabled){background:#f0f0f0;border-color:var(--primary);color:var(--text-primary)}.voice-input-btn:disabled{cursor:not-allowed;opacity:.5}.voice-input-btn.recording{animation:pulse 1s infinite;background:var(--error);border-color:var(--error);color:#fff}.voice-playback{margin:8px 0;max-width:300px;width:100%}.voice-playback::-webkit-media-controls-panel{background-color:#f0f0f0}.voice-playback::-webkit-media-controls-play-button{background-color:var(--primary);border-radius:50%}.voice-message-handler{align-items:center;display:flex;gap:8px;margin-top:8px}.voice-play-btn{align-items:center;background:linear-gradient(135deg,#f0f7ff,#e8f1ff);border:2px solid var(--border);border-radius:50%;color:var(--accent);cursor:pointer;display:flex;flex-shrink:0;font-size:0;height:36px;justify-content:center;transition:all .3s ease;width:36px}.voice-play-btn:hover:not(:disabled){background:linear-gradient(135deg,#e0f0ff,#d8e8ff);border-color:var(--accent);transform:scale(1.05)}.voice-play-btn:active:not(:disabled){transform:scale(.95)}.voice-play-btn.playing{animation:pulse-voice 1.5s ease-in-out infinite;background:linear-gradient(135deg,#ff6b6b,#ff5252);border-color:#ff5252;color:#fff}.voice-play-btn:disabled{cursor:not-allowed;opacity:.6}.voice-play-btn svg{height:18px;width:18px}.voice-play-btn .spinner{animation:spin 1s linear infinite}@keyframes pulse-voice{0%,to{box-shadow:0 0 0 0 #ff6b6bb3}50%{box-shadow:0 0 0 8px #ff6b6b00}}.playback-progress{background:var(--border-light);border-radius:2px;flex:1 1;height:4px;min-width:60px;overflow:hidden}.progress-bar{background:linear-gradient(90deg,var(--accent) 0,#06c 100%);border-radius:2px;height:100%;transition:width .1s linear}.message-bubble.assistant .voice-indicator{align-items:center;background:linear-gradient(135deg,#f0f7ff,#e8f1ff);border:1px solid #d0e8ff;border-radius:6px;color:var(--accent);display:inline-flex;font-size:12px;gap:6px;margin-top:8px;padding:6px 12px}.voice-indicator svg{height:14px;width:14px}@media (max-width:768px){.voice-message-handler{gap:6px}.voice-play-btn{height:32px;width:32px}.voice-play-btn svg{height:16px;width:16px}.playback-progress{min-width:40px}}@media (prefers-color-scheme:dark){.voice-play-btn{background:linear-gradient(135deg,#1a3a52,#0f2a3f);border-color:var(--border)}.voice-play-btn:hover:not(:disabled){background:linear-gradient(135deg,#1f4a62,#143a4f)}.playback-progress{background:var(--border)}.message-bubble.assistant .voice-indicator{background:linear-gradient(135deg,#1a3a52,#0f2a3f);border-color:#2a5a82}}.emoji-picker{animation:slideIn .2s ease-out;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:400px;position:absolute;width:320px;z-index:1000}.emoji-picker.top{bottom:100%;margin-bottom:8px}.emoji-picker.bottom{margin-top:8px;top:100%}.emoji-picker-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:12px 16px}.emoji-picker-header h3{color:var(--text-primary);font-size:14px;font-weight:600;margin:0}.emoji-picker-close{align-items:center;background:none;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:4px;transition:all .2s ease}.emoji-picker-close:hover{background:var(--bg-hover);color:var(--text-primary)}.emoji-picker-categories{border-bottom:1px solid var(--border-color);display:flex;gap:4px;overflow-x:auto;padding:8px 12px}.emoji-category-btn{background:none;border:none;border-radius:6px;cursor:pointer;flex-shrink:0;font-size:18px;padding:6px 8px;transition:all .2s ease}.emoji-category-btn:hover{background:var(--bg-hover)}.emoji-category-btn.active{background:var(--accent);color:#fff}.emoji-picker-grid{grid-gap:4px;display:grid;flex:1 1;gap:4px;grid-template-columns:repeat(8,1fr);overflow-y:auto;padding:12px}.emoji-btn{align-items:center;aspect-ratio:1;background:none;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:24px;justify-content:center;padding:6px;transition:all .2s ease}.emoji-btn:hover{background:var(--bg-hover);transform:scale(1.2)}.emoji-btn:active{transform:scale(.95)}.emoji-picker-grid::-webkit-scrollbar{width:6px}.emoji-picker-grid::-webkit-scrollbar-track{background:#0000}.emoji-picker-grid::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.emoji-picker-grid::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}@media (max-width:640px){.emoji-picker{max-height:350px;width:280px}.emoji-picker-grid{grid-template-columns:repeat(6,1fr)}.emoji-btn{font-size:20px}}.message-reactions-container{margin-top:8px;position:relative}.message-reactions{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.reaction-btn{align-items:center;background:var(--bg-hover);border:1px solid var(--border-color);border-radius:16px;cursor:pointer;display:flex;font-size:14px;gap:4px;justify-content:center;min-width:32px;padding:4px 8px;transition:all .2s ease}.reaction-btn:hover{background:var(--bg-secondary);border-color:var(--accent);transform:scale(1.05)}.reaction-btn.user-reacted{background:var(--accent);background:linear-gradient(135deg,var(--accent) 0,var(--accent-light) 100%);border-color:var(--accent);color:#fff}.reaction-btn.user-reacted:hover{box-shadow:0 0 12px rgba(var(--accent-rgb),.3);transform:scale(1.1)}.reaction-emoji{font-size:16px;line-height:1}.reaction-count{font-size:12px;font-weight:600;line-height:1;min-width:16px;text-align:center}.add-reaction-btn{align-items:center;background:var(--bg-hover);border:1px solid var(--border-color);border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.add-reaction-btn:hover{background:var(--accent);border-color:var(--accent);color:#fff;transform:scale(1.1)}.add-reaction-btn:active{transform:scale(.95)}.reaction-btn[title]{position:relative}.reaction-btn[title]:hover:after{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;bottom:100%;color:var(--text-primary);content:attr(title);font-size:12px;left:50%;margin-bottom:4px;padding:4px 8px;pointer-events:none;position:absolute;transform:translateX(-50%);white-space:nowrap;z-index:100}@keyframes reactionPop{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.reaction-btn{animation:reactionPop .3s ease-out}@media (max-width:640px){.message-reactions{gap:4px}.reaction-btn{font-size:12px;min-width:28px;padding:3px 6px}.reaction-emoji{font-size:14px}.reaction-count{font-size:10px}.add-reaction-btn{height:28px;width:28px}.add-reaction-btn svg{height:14px;width:14px}}@media (prefers-color-scheme:dark){.reaction-btn{background:#ffffff0d;border-color:#ffffff1a}.reaction-btn:hover{background:#ffffff1a}.reaction-btn.user-reacted{background:linear-gradient(135deg,var(--accent) 0,var(--accent-light) 100%)}}.message-bubble{animation:slideIn .3s ease-out;display:flex;flex-direction:column;margin-bottom:8px;position:relative}.turn-indicator{color:#999;font-size:11px;font-weight:600;margin-bottom:4px;padding-left:4px;text-transform:uppercase}.message-bubble.user{align-items:flex-end}.message-bubble.assistant{align-items:flex-start}.message-content{word-wrap:break-word;border-radius:18px;max-width:70%;padding:12px 16px}.message-bubble.user .message-content{background:var(--bg-user);border-bottom-right-radius:4px;color:#fff}.message-bubble.user .message-text{color:#fff}.message-bubble.assistant .message-content{background:var(--bg-assistant);border-bottom-left-radius:4px;color:var(--text-primary)}.message-text{line-height:1.4;margin:0}.explainability-section{border-top:1px solid #0000001a;margin-top:12px;padding-top:12px}.explainability-toggle{align-items:center;background:#0000;border:none;color:var(--text-secondary);cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:8px;padding:0;transition:color .2s}.explainability-toggle:hover{color:var(--text-primary)}.explainability-icon{font-size:14px}.explainability-label{letter-spacing:.5px;text-transform:uppercase}.explainability-content{animation:slideDown .3s ease-out;display:flex;flex-direction:column;gap:12px;margin-top:12px}.explainability-item{background:#00000005;border-radius:4px;display:flex;flex-direction:column;font-size:12px;gap:6px;padding:8px}.explainability-item-label{color:var(--text-primary);font-size:11px;font-weight:600;letter-spacing:.5px}.explainability-item-text{color:var(--text-secondary);line-height:1.4;margin:0}.explainability-item-code{background:#0000000d;border-radius:3px;color:#d63384;font-family:Courier New,monospace;font-size:11px;padding:4px 6px;word-break:break-all}.results-less-button,.results-more-button{background:#0066cc1a;border:1px solid #0066cc4d;border-radius:4px;color:var(--primary);cursor:pointer;display:block;font-size:12px;font-weight:600;margin-top:8px;padding:8px 12px;text-align:center;transition:all .2s;width:100%}.results-less-button:hover,.results-more-button:hover{background:#06c3;border-color:#0066cc80;color:var(--primary)}.confidence-badge{border-radius:12px;font-size:11px;font-weight:600;padding:2px 8px}.confidence-badge.high{background:#d4edda;color:#155724}.confidence-badge.medium{background:#fff3cd;color:#856404}.confidence-badge.low{background:#f8d7da;color:#721c24}.results-list{display:flex;flex-direction:column;gap:8px}.result-item{background:#0000000d;border-radius:8px;font-size:12px;padding:8px}.result-title{color:var(--text-primary);font-weight:600;margin-bottom:4px}.result-content{color:var(--text-secondary);line-height:1.3;margin-bottom:4px}.result-meta{color:#00000080;display:flex;font-size:11px;justify-content:space-between}.result-source{background:#0000001a;border-radius:4px;padding:2px 6px}.result-score{font-weight:600}.results-more{font-style:italic;padding:8px;text-align:center}.message-footer,.results-more{color:var(--text-secondary);font-size:12px}.message-footer{align-items:center;display:flex;gap:6px;margin-top:4px}.message-bubble.user .message-footer{justify-content:flex-end;padding-right:4px}.message-bubble.assistant .message-footer{justify-content:flex-start;padding-left:4px}.message-time{font-size:11px}.status-icon{height:14px;width:14px}.status-icon.sent{color:#ffffffb3}.status-icon.completed{color:var(--success)}.status-icon.error{color:var(--error)}.status-icon.streaming{color:var(--primary)}.metadata-item{margin-bottom:8px}.metadata-item:last-child{margin-bottom:0}.metadata-label{color:var(--text-primary);display:block;font-weight:600;margin-bottom:4px}.metadata-tags{display:flex;flex-wrap:wrap;gap:6px}.metadata-tag{border-radius:12px;display:inline-block;font-size:11px;font-weight:500;padding:3px 8px;white-space:nowrap}.operator-tag{background:#e3f2fd;border:1px solid #90caf9;color:#1976d2}.tool-tag{background:#f3e5f5;border:1px solid #ce93d8;color:#7b1fa2}.executed-operator-tag{background:#e8f5e9;border:1px solid #81c784;color:#2e7d32}.operator-stats-container{display:flex;flex-direction:column;gap:10px}.operator-stat-item{background:#00000008;border-left:3px solid #06c;border-radius:6px;display:flex;flex-direction:column;gap:6px;padding:8px}.operator-stat-header{align-items:center;display:flex;gap:8px;justify-content:space-between}.operator-stat-name{color:var(--text-primary);font-size:12px;font-weight:600}.operator-stat-badge{border-radius:10px;display:inline-block;font-size:10px;font-weight:600;padding:2px 6px;white-space:nowrap}.operator-stat-badge.executed{background:#d4edda;color:#155724}.operator-stat-badge.not-executed{background:#f8d7da;color:#721c24}.operator-stat-bar-container{background:#00000014;border-radius:4px;height:20px;overflow:hidden;position:relative;width:100%}.operator-stat-bar{align-items:center;background:linear-gradient(90deg,#06c,#0052a3);border-radius:4px;display:flex;height:100%;justify-content:flex-end;min-width:2px;padding-right:4px;transition:width .3s ease}.operator-stat-bar:after{background:linear-gradient(90deg,#0000,#fff3);border-radius:4px;bottom:0;content:"";left:0;position:absolute;right:0;top:0}.operator-stat-details{align-items:center;color:var(--text-secondary);display:flex;font-size:11px;justify-content:space-between}.operator-stat-count{font-weight:500}.operator-stat-percentage{color:#06c;font-weight:600}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.explanation-list{display:flex;flex-direction:column;gap:4px;margin-left:4px}.explanation-list-item{color:var(--text-secondary);font-size:12px;line-height:1.4}.message-actions{align-items:center;display:flex;margin-left:8px;margin-top:4px;position:relative}.message-action-btn{align-items:center;background:none;border:none;border-radius:4px;color:#999;cursor:pointer;display:flex;justify-content:center;padding:4px 8px;transition:all .2s ease}.message-action-btn:hover{background:#0000000d;color:#666}.message-action-menu{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 8px #0000001a;left:0;margin-top:4px;min-width:140px;position:absolute;top:100%;z-index:1000}.action-menu-item{align-items:center;background:none;border:none;color:#333;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:8px 12px;text-align:left;transition:all .2s ease;width:100%}.action-menu-item:hover{background:#f5f5f5;color:#000}.action-menu-item.delete{color:#d32f2f}.action-menu-item.delete:hover{background:#ffebee;color:#c62828}.pinned-indicator{align-items:center;color:#ff9800;display:flex;margin-left:4px}@media (max-width:768px){.message-content{max-width:85%}.explanation-section{margin-top:8px;padding-top:8px}.explanation-item{padding:6px}.message-action-menu{min-width:120px}}.feedback-section{align-items:center;background:#00000008;border:1px solid #00000014;border-radius:8px;display:flex;gap:10px;margin-top:12px;padding:8px 12px}.feedback-label{color:var(--text-secondary);font-size:13px;font-weight:500}.feedback-buttons{display:flex;gap:6px}.feedback-btn{align-items:center;background:var(--secondary);border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.feedback-btn:hover:not(:disabled){transform:scale(1.1)}.feedback-btn.thumbs-up:hover:not(:disabled){background:#31a24c26;color:var(--success)}.feedback-btn.thumbs-down:hover:not(:disabled){background:#f0284926;color:var(--error)}.feedback-btn.active.thumbs-up{background:#22c55e!important;box-shadow:0 2px 8px #22c55e66;color:#fff!important;transform:scale(1.1)}.feedback-btn.active.thumbs-down{background:#ef4444!important;box-shadow:0 2px 8px #ef444466;color:#fff!important;transform:scale(1.1)}.feedback-btn:disabled{cursor:not-allowed}.feedback-btn.disabled{opacity:.4;pointer-events:none}.feedback-btn .spinner{animation:spin 1s linear infinite}.feedback-thanks{animation:fadeIn .3s ease-out;border-radius:4px;font-size:13px;font-weight:500;padding:4px 8px}.feedback-thanks.positive{background:#22c55e1a;color:#22c55e}.feedback-thanks.negative{background:#ef44441a;color:#ef4444}.attachment-preview-container{background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-sm);overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.attachment-preview-container:hover{box-shadow:var(--shadow-md)}.attachment-preview-image{border-radius:8px;max-height:300px;max-width:300px;overflow:hidden;position:relative;width:100%}.attachment-preview-image img{display:block;height:100%;object-fit:cover;width:100%}.attachment-preview-video{border-radius:8px;max-width:300px;overflow:hidden;position:relative;width:100%}.attachment-preview-video video{background:#000;display:block;height:auto;width:100%}.attachment-preview-audio{background:linear-gradient(135deg,#f0f4ff,#e6f0ff);border-radius:8px;padding:16px;position:relative}.attachment-preview-audio audio{height:40px;width:100%}.attachment-preview-file{align-items:center;background:linear-gradient(135deg,#f8f9fa,#fff);border-radius:8px;display:flex;gap:12px;padding:12px}.attachment-preview-icon{align-items:center;background:var(--accent-light);border-radius:8px;color:var(--accent);display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.attachment-preview-info{flex:1 1;min-width:0}.attachment-preview-name{color:var(--text-primary);font-size:13px;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-preview-size{color:var(--text-secondary);font-size:12px;margin:4px 0 0}.attachment-preview-remove{align-items:center;background:#0009;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;opacity:0;position:absolute;right:8px;top:8px;transition:all .2s;width:32px}.attachment-preview-container:hover .attachment-preview-remove{opacity:1}.attachment-preview-remove:hover{background:#f02849cc;transform:scale(1.1)}.attachment-preview-remove:active{transform:scale(.95)}@media (max-width:768px){.attachment-preview-image,.attachment-preview-video{max-height:250px;max-width:250px}.attachment-preview-file{gap:10px;padding:10px}.attachment-preview-icon{height:40px;width:40px}.attachment-preview-name{font-size:12px}.attachment-preview-size{font-size:11px}.attachment-preview-remove{height:28px;width:28px}}@media (max-width:480px){.attachment-preview-image,.attachment-preview-video{max-height:200px;max-width:200px}.attachment-preview-file{gap:8px;padding:8px}.attachment-preview-icon{height:36px;width:36px}.attachment-preview-name{font-size:11px}.attachment-preview-size{font-size:10px}}.ask-bar-container{background:linear-gradient(135deg,#fff,#f8f9fa);border-top:1px solid var(--border-light);box-shadow:var(--shadow-sm);padding:20px 24px}.ask-bar-container,.attachments-preview{display:flex;flex-direction:column;gap:12px}.attachments-preview{max-height:400px;overflow-y:auto;padding:0}.attachments-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.ask-bar{align-items:flex-end;display:flex;gap:12px}.ask-bar-input-group{align-items:center;display:flex;flex:1 1;position:relative}.ask-bar-input{background:#fff;border:1px solid var(--border);border-radius:28px;box-shadow:var(--shadow-sm);color:var(--text-primary);font-family:inherit;font-size:15px;max-height:120px;outline:none;padding:14px 18px;resize:none;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.ask-bar-input::placeholder{color:var(--text-tertiary)}.ask-bar-input:focus{background:#fff;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.ask-bar-input:disabled{background:var(--border-light);color:var(--text-tertiary);cursor:not-allowed}.ask-bar-actions{gap:8px}.ask-bar-actions,.ask-bar-btn{align-items:center;display:flex}.ask-bar-btn{background:#fff;border:1px solid var(--border);border-radius:50%;box-shadow:var(--shadow-sm);color:var(--text-secondary);cursor:pointer;flex-shrink:0;height:44px;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);width:44px}.ask-bar-btn:hover:not(:disabled){background:var(--secondary);box-shadow:var(--shadow-md);color:var(--text-primary);transform:translateY(-2px)}.ask-bar-btn:active:not(:disabled){transform:translateY(0)}.ask-bar-btn:disabled{background:var(--border-light);box-shadow:var(--shadow-sm);color:var(--text-tertiary);cursor:not-allowed}.attachment-btn{color:var(--accent)}.attachment-btn:hover:not(:disabled){background:var(--accent-light);color:var(--accent)}.voice-btn{color:var(--accent)}.voice-btn:hover:not(:disabled){background:var(--accent-light);color:var(--accent)}.voice-btn.recording{animation:pulse 1s infinite;background:var(--error);border-color:var(--error);color:#fff}.voice-btn.recording:hover{background:#d91e3f}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.send-btn{background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border:none;color:#fff}.send-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-dark) 0,#000 100%);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.send-btn:active:not(:disabled){transform:translateY(0)}.send-btn:disabled{background:var(--border);border:none;color:var(--text-tertiary)}@media (max-width:768px){.ask-bar-container{gap:10px;padding:16px}.ask-bar{gap:10px}.ask-bar-btn{height:40px;width:40px}.ask-bar-input{font-size:14px;padding:12px 16px}.attachment-item{padding:10px}.attachment-name{font-size:12px}.attachment-size{font-size:11px}}@media (max-width:480px){.ask-bar-container{gap:8px;padding:12px}.ask-bar{gap:8px}.ask-bar-btn{height:36px;width:36px}.ask-bar-input{font-size:13px;padding:10px 14px}.ask-bar-actions{gap:6px}}.voice-avatar-container{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:12px;box-shadow:var(--shadow-md);gap:20px;padding:24px}.voice-avatar,.voice-avatar-container{align-items:center;display:flex;flex-direction:column}.voice-avatar{gap:16px;width:100%}.avatar-circle{align-items:center;background:linear-gradient(135deg,var(--accent) 0,#0052a3 100%);border-radius:50%;box-shadow:var(--shadow-lg);color:#fff;display:flex;height:120px;justify-content:center;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:120px}.voice-avatar.recording .avatar-circle{animation:recordingPulse 1.5s ease-in-out infinite}.voice-avatar.playing .avatar-circle{animation:playingPulse 1s ease-in-out infinite}@keyframes recordingPulse{0%,to{box-shadow:var(--shadow-lg);transform:scale(1)}50%{box-shadow:0 0 0 8px #f0284933;transform:scale(1.05)}}@keyframes playingPulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.avatar-icon{animation:fadeIn .3s ease-in-out;height:48px;width:48px}.recording-indicator{animation:blink 1s infinite;background:#f44;border-radius:50%;height:16px;position:absolute;right:12px;top:12px;width:16px}@keyframes blink{0%,49%,to{opacity:1}50%,99%{opacity:.3}}.recording-pulse{animation:expandPulse 1.5s ease-out infinite;border:2px solid #ff444480;border-radius:50%;height:100%;position:absolute;width:100%}@keyframes expandPulse{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.3)}}.playing-indicator{animation:playingBlink .6s infinite;background:#4caf50;border-radius:50%;height:16px;position:absolute;right:12px;top:12px;width:16px}@keyframes playingBlink{0%,49%,to{opacity:1}50%,99%{opacity:.3}}.avatar-status{text-align:center}.status-label{color:var(--text-primary);font-size:14px;font-weight:600;margin:0}.status-time{color:var(--text-secondary);font-size:12px;margin:4px 0 0}.avatar-actions{gap:12px;width:100%}.avatar-actions,.avatar-btn{display:flex;justify-content:center}.avatar-btn{align-items:center;background:#fff;border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-sm);color:var(--text-primary);cursor:pointer;font-size:13px;font-weight:600;gap:6px;padding:10px 20px;transition:all .3s cubic-bezier(.4,0,.2,1)}.avatar-btn:hover:not(:disabled){background:var(--secondary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.avatar-btn:active:not(:disabled){transform:translateY(0)}.avatar-btn:disabled{cursor:not-allowed;opacity:.6}.stop-btn{background:var(--error);border-color:var(--error);color:#fff}.stop-btn:hover{background:#d91e3f;border-color:#d91e3f}.play-btn{background:var(--accent);border-color:var(--accent);color:#fff}.play-btn:hover:not(:disabled){background:#0052a3;border-color:#0052a3}.waveform-container{padding:12px 0;width:100%}.waveform,.waveform-container{display:flex;justify-content:center}.waveform{align-items:center;gap:4px;height:40px}.waveform-bar{animation:waveformAnimation .6s ease-in-out infinite;background:linear-gradient(180deg,var(--accent) 0,#0052a3 100%);border-radius:2px;height:8px;width:3px}@keyframes waveformAnimation{0%,to{height:8px}50%{height:24px}}@media (max-width:768px){.voice-avatar-container{gap:16px;padding:20px}.avatar-circle{height:100px;width:100px}.avatar-icon{height:40px;width:40px}.status-label{font-size:13px}.status-time{font-size:11px}.avatar-btn{font-size:12px;padding:8px 16px}}@media (max-width:480px){.voice-avatar-container{gap:12px;padding:16px}.avatar-circle{height:80px;width:80px}.avatar-icon{height:32px;width:32px}.avatar-actions{gap:8px}.avatar-btn{font-size:11px;padding:6px 12px}.waveform{gap:3px;height:32px}.waveform-bar{width:2px}}.chat-window{border-left:1px solid var(--border-light);flex:1 1;flex-direction:column}.chat-header,.chat-window{background:linear-gradient(135deg,#fff,#f8f9fa);box-shadow:var(--shadow-sm);display:flex}.chat-header{align-items:center;border-bottom:1px solid var(--border-light);gap:12px;justify-content:space-between;padding:20px 24px}.drawer-toggle-btn{align-items:center;background:none;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:6px;transition:all .2s}.drawer-toggle-btn:hover{background:#e8e8e8;color:var(--text-primary)}.chat-header h2{color:var(--text-primary);flex:1 1;font-size:18px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-info{align-items:center;display:flex;gap:16px}.message-count{font-size:12px}.messages-container{background:linear-gradient(135deg,#fff,#f8f9fa);display:flex;flex:1 1;flex-direction:column;gap:16px;overflow-y:auto;padding:24px}.messages-container::-webkit-scrollbar{width:8px}.messages-container::-webkit-scrollbar-track{background:#0000}.messages-container::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.messages-container::-webkit-scrollbar-thumb:hover{background:#999}.empty-chat{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;height:100%;justify-content:center;text-align:center}.empty-chat h3{color:var(--text-primary);font-size:20px;margin-bottom:8px}.error-banner{border-radius:8px;gap:12px;margin:0 20px}.input-area{align-items:center;background:linear-gradient(135deg,#fff,#f8f9fa);border-top:1px solid var(--border-light);display:flex;gap:12px;padding:20px 24px}.input-area,.message-input{box-shadow:var(--shadow-sm)}.message-input{background:#fff;border:1px solid var(--border);border-radius:28px;color:var(--text-primary);flex:1 1;font-family:inherit;font-size:15px;outline:none;padding:14px 18px;transition:all .3s cubic-bezier(.4,0,.2,1)}.message-input::placeholder{color:var(--text-tertiary)}.message-input:focus{background:#fff;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.message-input:disabled{background:var(--border-light);color:var(--text-tertiary);cursor:not-allowed}.send-button{align-items:center;background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border:none;border-radius:50%;box-shadow:var(--shadow-md);color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:44px;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);width:44px}.send-button:hover:not(:disabled){box-shadow:var(--shadow-lg);transform:translateY(-2px)}.send-button:active:not(:disabled){transform:translateY(0)}.send-button:disabled{background:var(--border);box-shadow:var(--shadow-sm);cursor:not-allowed}.voice-avatar-section{background:linear-gradient(135deg,#fff,#f8f9fa);border-top:1px solid var(--border-light);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:16px;padding:20px 24px}.voice-actions{display:flex;gap:12px;justify-content:center}.voice-action-btn{background:#fff;border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow-sm);color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .3s cubic-bezier(.4,0,.2,1)}.voice-action-btn:hover:not(:disabled){box-shadow:var(--shadow-md);transform:translateY(-2px)}.voice-action-btn:active:not(:disabled){transform:translateY(0)}.voice-action-btn:disabled{cursor:not-allowed;opacity:.6}.cancel-btn{background:var(--border-light);color:var(--text-secondary)}.cancel-btn:hover:not(:disabled){background:var(--border);color:var(--text-primary)}.submit-btn{background:linear-gradient(135deg,var(--accent) 0,#0052a3 100%);border-color:var(--accent);color:#fff}.submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#0052a3,#003d7a);border-color:#0052a3}.submit-btn:disabled{background:var(--border);border-color:var(--border);color:var(--text-tertiary)}.spinner{animation:spin 1s linear infinite}.transcription-display{background:linear-gradient(135deg,#f0f7ff,#e8f1ff);border:1px solid #d0e8ff;border-radius:8px;margin-bottom:12px;padding:12px 16px}.transcription-label{color:var(--text-secondary);font-size:12px;font-weight:600;letter-spacing:.5px;margin:0 0 6px;text-transform:uppercase}.transcription-text{word-wrap:break-word;color:var(--text-primary);font-size:14px;line-height:1.5;margin:0;white-space:pre-wrap}.search-toggle-btn{align-items:center;background:none;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:6px;transition:all .2s}.search-toggle-btn:hover{background:#e8e8e8;color:var(--text-primary)}.chat-search-bar{background:#f8f9fa;border-bottom:1px solid var(--border-light);display:flex;flex-direction:column;gap:8px;padding:12px 24px}.search-input-wrapper{align-items:center;background:#fff;border:1px solid var(--border-light);border-radius:8px;display:flex;gap:8px;padding:8px 12px;transition:all .2s}.search-input-wrapper:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #4299e11a}.search-icon{color:var(--text-secondary);flex-shrink:0}.search-input{background:#0000;border:none;color:var(--text-primary);flex:1 1;font-size:14px;outline:none}.search-clear-btn,.search-input::placeholder{color:var(--text-secondary)}.search-clear-btn{align-items:center;background:none;border:none;border-radius:4px;cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:4px;transition:all .2s}.search-clear-btn:hover{background:#e8e8e8;color:var(--text-primary)}.search-results-info{color:var(--text-secondary);font-size:12px;padding:0 4px}@media (max-width:768px){.chat-window{border-left:none}.chat-header,.input-area,.messages-container{padding:12px 16px}.chat-search-bar{padding:8px 16px}}.drawer-overlay{animation:fadeIn .3s ease-in-out;background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.conversations-drawer{background:#fff;box-shadow:-2px 0 8px #00000026;display:flex;flex-direction:column;height:100vh;overflow:hidden;position:fixed;right:0;top:0;transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);width:380px;z-index:1000}.conversations-drawer.open{transform:translateX(0)}.drawer-header{align-items:center;background:#fafafa;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;justify-content:space-between;padding:16px}.drawer-header h3{color:var(--text-primary);font-size:18px;font-weight:600;margin:0}.close-btn{align-items:center;background:none;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:4px;transition:all .2s}.close-btn:hover{background:#f0f0f0;color:var(--text-primary)}.drawer-content{flex:1 1;overflow-x:hidden;overflow-y:auto;padding:8px}.drawer-content::-webkit-scrollbar{width:8px}.drawer-content::-webkit-scrollbar-track{background:#0000}.drawer-content::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.drawer-content::-webkit-scrollbar-thumb:hover{background:#999}.empty-list{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;height:100%;justify-content:center;padding:40px 20px;text-align:center}.empty-list svg{margin-bottom:12px;opacity:.5}.empty-list p{font-size:14px}.conversation-item{align-items:center;border:1px solid #0000;cursor:pointer;display:flex;gap:8px;justify-content:space-between;padding:12px}.conversation-item:hover{background:#f8f8f8;border-color:var(--border)}.conversation-item.active{background:#f0f0f0;border-color:var(--primary);box-shadow:0 0 0 2px #0000001a}.conv-content{flex:1 1;min-width:0}.conv-title{margin-bottom:4px}.conv-preview{color:var(--text-secondary);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edit-input{border:1px solid var(--primary);border-radius:4px;font-family:var(--font-family);font-size:14px;padding:6px 8px;width:100%}.edit-input:focus{box-shadow:0 0 0 2px #0000001a;outline:none}.conv-meta{align-items:flex-end;display:flex;flex-direction:column;gap:4px}.conv-date{font-size:12px}.conv-count,.conv-date{color:var(--text-secondary)}.conv-count{background:var(--secondary);border-radius:10px;font-size:11px;font-weight:600;padding:2px 6px}.conv-actions{display:flex;flex-shrink:0;gap:4px}.action-btn{align-items:center;background:none;border:1px solid #0000;border-radius:4px;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:6px;transition:all .2s}.action-btn:hover{background:#f0f0f0;border-color:var(--border);color:var(--text-primary)}.action-btn.delete:hover{color:var(--error)}.delete-confirm{display:flex;gap:4px}.confirm-btn{border:1px solid var(--border);border-radius:4px;cursor:pointer;font-size:11px;font-weight:600;padding:4px 8px;transition:all .2s}.confirm-btn.yes{background:var(--error);border-color:var(--error);color:#fff}.confirm-btn.yes:hover{opacity:.9}.confirm-btn.no{background:#fff;color:var(--text-primary)}.confirm-btn.no:hover{background:#f0f0f0}.drawer-footer{background:#fafafa;border-top:1px solid var(--border);flex-shrink:0;padding:12px 16px}.conversation-count{color:var(--text-secondary);font-size:12px;font-weight:600}@media (max-width:768px){.conversations-drawer{max-width:100%;width:100%}}@media (max-width:480px){.conversations-drawer{width:100%}.drawer-header{padding:12px}.drawer-content{padding:6px}.conversation-item{gap:6px;padding:10px}.conv-title{font-size:13px}.conv-preview{font-size:11px}.action-btn{padding:4px}}@keyframes slideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@media (prefers-reduced-motion:reduce){.conversations-drawer,.drawer-overlay{animation:none;transition:none}}.dashboard{background:#fff;display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:24px}.dashboard-header{margin-bottom:32px}.dashboard-header h1{color:var(--text-primary);font-size:28px;font-weight:700;margin:0 0 8px}.dashboard-header .subtitle{color:var(--text-secondary);font-size:14px;margin:0}.dashboard-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:32px}.stat-card{align-items:center;background:linear-gradient(135deg,#f5f5f5,#fafafa);border:1px solid var(--border);border-radius:8px;display:flex;gap:16px;padding:20px;transition:all .2s}.stat-card:hover{border-color:#999;box-shadow:0 2px 8px #00000014}.stat-icon{flex-shrink:0;font-size:32px}.stat-content{flex:1 1}.stat-content h3{color:var(--text-secondary);font-size:12px;font-weight:600;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.stat-value{color:var(--text-primary);font-size:24px;font-weight:700;margin:0}.dashboard-section{background:#fff;border:1px solid var(--border);border-radius:8px;padding:20px}.dashboard-section h2{color:var(--text-primary);font-size:18px;font-weight:600;margin:0 0 16px}.conversations-preview{background:#fafafa;border-radius:6px;padding:12px}.conversations-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.conversation-preview-item{align-items:center;background:#fff;border:1px solid var(--border);border-radius:6px;display:flex;justify-content:space-between;padding:12px;transition:all .2s}.conversation-preview-item:hover{background:#f8f8f8;border-color:#999}.conv-title{color:var(--text-primary);flex:1 1;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv-meta{background:var(--secondary);border-radius:10px;color:var(--text-secondary);flex-shrink:0;font-size:12px;margin-left:12px;padding:4px 8px}@media (max-width:768px){.dashboard{padding:16px}.dashboard-header h1{font-size:24px}.dashboard-grid{gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat-card{padding:16px}.stat-icon{font-size:24px}.stat-value{font-size:20px}}@media (max-width:480px){.dashboard{padding:12px}.dashboard-header h1{font-size:20px}.dashboard-grid{grid-template-columns:1fr}.stat-card{padding:12px}.stat-icon{font-size:20px}.stat-value{font-size:18px}.dashboard-section{padding:16px}}.conversations-page{background:#fff;display:flex;flex-direction:column;height:100%;overflow:hidden}.conversations-header{background:linear-gradient(135deg,#f5f5f5,#fafafa);border-bottom:1px solid var(--border);flex-shrink:0;padding:24px}.conversations-header h1{color:var(--text-primary);font-size:28px;font-weight:700;margin:0 0 8px}.conversations-header .subtitle{color:var(--text-secondary);font-size:14px;margin:0}.error-banner{border-bottom:1px solid #fcc;flex-shrink:0;padding:12px 24px}.conversations-list{flex:1 1;overflow-y:auto;padding:16px 24px}.conversations-list::-webkit-scrollbar{width:8px}.conversations-list::-webkit-scrollbar-track{background:#0000}.conversations-list::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.conversations-list::-webkit-scrollbar-thumb:hover{background:#999}.empty-state{height:100%}.empty-state svg{color:var(--text-secondary);margin-bottom:16px;opacity:.5}.empty-state h3{color:var(--text-primary);font-size:18px;font-weight:600;margin:0 0 8px}.empty-state p{font-size:14px;margin:0}.conversation-item{background:#fff;border:1px solid var(--border);border-radius:8px;margin-bottom:12px;overflow:hidden;transition:all .2s}.conversation-item:hover{border-color:#999;box-shadow:0 2px 8px #00000014}.conversation-item-header{align-items:center;background:#fafafa;cursor:pointer;display:flex;justify-content:space-between;padding:16px;transition:background .2s}.conversation-item-header:hover{background:#f5f5f5}.header-content{gap:16px;justify-content:space-between}.header-content,.header-title{align-items:center;display:flex;flex:1 1}.header-title{gap:12px}.header-title svg{color:var(--text-secondary);flex-shrink:0}.header-title h3{color:var(--text-primary);font-size:16px;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-meta{align-items:center;display:flex;flex-shrink:0;gap:16px}.message-count{background:var(--secondary);border-radius:12px;font-weight:600;padding:4px 8px}.date,.message-count{color:var(--text-secondary);font-size:13px}.date{align-items:center;display:flex;gap:6px}.conversation-item-content{background:#fff;border-top:1px solid var(--border);padding:16px}.empty-message{color:var(--text-secondary);font-size:14px;margin:0;padding:20px;text-align:center}.messages-list{display:flex;flex-direction:column;gap:12px}.message-item{background:#f9f9f9;border-left:3px solid var(--border);border-radius:6px;padding:12px}.message-item.user{background:#f0f0f0;border-left-color:var(--primary)}.message-item.assistant{background:#f9f9f9;border-left-color:var(--secondary)}.message-role{color:var(--text-secondary);font-size:12px;font-weight:700;margin-bottom:6px;text-transform:uppercase}.message-text{color:var(--text-primary);font-size:14px;line-height:1.5;margin-bottom:8px;word-break:break-word}.message-time{color:var(--text-secondary);font-size:12px}@media (max-width:768px){.conversations-header{padding:16px}.conversations-header h1{font-size:24px}.conversations-list{padding:12px 16px}.header-content{gap:8px}.header-content,.header-meta{align-items:flex-start;flex-direction:column}.header-meta{width:100%}.conversation-item-content,.conversation-item-header{padding:12px}}@media (max-width:480px){.conversations-header{padding:12px}.conversations-header h1{font-size:20px}.conversations-list{padding:8px 12px}.conversation-item{margin-bottom:8px}.header-title h3{font-size:14px}.date,.message-count{font-size:12px}.message-text{font-size:13px}}.metrics{background:#fff;display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:24px}.metrics-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:32px}.header-controls{align-items:center;display:flex;gap:12px}.refresh-select{background:#fff;border:1px solid var(--border);border-radius:6px;cursor:pointer;font-size:14px;padding:8px 12px;transition:all .2s}.refresh-select:focus,.refresh-select:hover{border-color:var(--primary)}.refresh-select:focus{box-shadow:0 0 0 3px #0066cc1a;outline:none}.metrics-header h1{color:var(--text-primary);font-size:28px;font-weight:700;margin:0 0 8px}.metrics-header .subtitle{color:var(--text-secondary);font-size:14px;margin:0}.refresh-btn{background:var(--primary);border:none;border-radius:6px;color:#fff;cursor:pointer;flex-shrink:0;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s}.refresh-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.refresh-btn:disabled{cursor:not-allowed;opacity:.6}.error-banner{background:#fee;border:1px solid #fcc;border-radius:6px;color:var(--error);font-size:14px;gap:8px;margin-bottom:24px;padding:12px 16px}.error-banner,.loading-state{align-items:center;display:flex}.loading-state{color:var(--text-secondary);flex-direction:column;height:300px;justify-content:center;text-align:center}.loading-state .spinner{animation:spin 2s linear infinite;margin-bottom:16px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.metrics-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:32px}.metric-card{background:linear-gradient(135deg,#f5f5f5,#fafafa);border:1px solid var(--border);border-radius:8px;padding:20px;transition:all .2s}.metric-card:hover{border-color:#999;box-shadow:0 2px 8px #00000014}.metric-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.metric-header h3{font-size:12px;font-weight:600;letter-spacing:.5px;margin:0;text-transform:uppercase}.metric-header h3,.metric-header svg{color:var(--text-secondary)}.metric-value{color:var(--text-primary);font-size:24px;font-weight:700}.status-badge{font-size:12px}.status-badge.healthy{background:#d4edda;color:#155724}.status-badge.warning{background:#fff3cd;color:#856404}.status-badge.error{background:#f8d7da;color:#721c24}.status-badge.unknown{background:#e2e3e5;color:#383d41}.metrics-section{margin-bottom:32px}.metrics-section h2{color:var(--text-primary);font-size:18px;font-weight:600;margin:0 0 16px}.health-card{background:linear-gradient(135deg,#f5f5f5,#fafafa);border:1px solid var(--border);border-radius:8px;gap:20px;padding:24px}.health-card,.health-icon{align-items:center;display:flex}.health-icon{background:#fff;border-radius:50%;height:60px;justify-content:center;width:60px}.health-info h3{color:var(--text-secondary);font-size:14px;font-weight:600;margin:0 0 8px;text-transform:uppercase}.health-status{font-size:24px;font-weight:700;margin:0}.agent-stats-table{border:1px solid var(--border);border-radius:8px;overflow-x:auto}.agent-stats-table table{background:#fff;border-collapse:collapse;width:100%}.agent-stats-table th{background:#f5f5f5;color:var(--text-secondary);font-size:12px;font-weight:600;text-align:left;text-transform:uppercase}.agent-stats-table td,.agent-stats-table th{border-bottom:1px solid var(--border);padding:12px 16px}.agent-stats-table td{font-size:14px}.agent-stats-table tr:last-child td{border-bottom:none}.agent-name{color:var(--text-primary);font-weight:600}.success-badge{background:#d4edda;border-radius:4px;color:#155724;display:inline-block;font-size:12px;font-weight:600;padding:4px 8px}.info-section{background:#f9f9f9;border:1px solid var(--border);border-radius:8px;padding:20px}.info-box{background:#fff;border:1px solid var(--border);border-radius:6px;padding:16px}.info-box p{color:var(--text-secondary);font-size:14px;line-height:1.6;margin:0 0 12px}.info-box p:last-child{margin-bottom:0}.info-box a{color:var(--primary);font-weight:600;text-decoration:none}.info-box a:hover{text-decoration:underline}.info-box ul{margin:12px 0 0;padding-left:20px}.info-box li{color:var(--text-secondary);font-size:14px;margin:6px 0}.metrics-footer{border-top:1px solid var(--border);color:var(--text-secondary);font-size:12px;margin-top:24px;padding-top:16px;text-align:right}.metrics-footer p{margin:0}@media (max-width:768px){.metrics{padding:16px}.metrics-header{align-items:flex-start;flex-direction:column}.metrics-header h1{font-size:24px}.metrics-grid{gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.metric-card{padding:16px}.metric-value{font-size:20px}}@media (max-width:480px){.metrics{padding:12px}.metrics-header h1{font-size:20px}.metrics-grid{grid-template-columns:1fr}.metric-card{padding:12px}.metric-value{font-size:18px}.metrics-info{padding:16px}}.settings-container{background:#f8f9fa;margin:0 auto;max-width:1200px;min-height:100vh;padding:40px 20px}.settings-header{border-bottom:2px solid #e9ecef;margin-bottom:40px;padding-bottom:30px;text-align:center}.settings-header h1{color:#1a1a1a;font-size:2.8rem;font-weight:700;letter-spacing:-.5px;margin:0 0 12px}.settings-header p{color:#6c757d;font-size:1.05rem;font-weight:400;margin:0}.settings-error{align-items:center;background-color:#fff5f5;border:1px solid #feb2b2;border-left:4px solid #f56565;border-radius:6px;color:#c53030;display:flex;font-weight:500;gap:10px;margin-bottom:20px;padding:14px 16px}.settings-error:before{content:"⚠️";font-size:1.2rem}.settings-success{align-items:center;background-color:#f0fdf4;border:1px solid #bbf7d0;border-left:4px solid #22c55e;border-radius:6px;color:#166534;display:flex;font-weight:500;gap:10px;margin-bottom:20px;padding:14px 16px}.settings-success:before{content:"✅";font-size:1.2rem}.settings-tabs{background:#0000;border-bottom:2px solid #e9ecef;display:flex;gap:8px;margin-bottom:0;overflow-x:auto;padding:0}.tab-button{background:#0000;border:none;border-bottom:3px solid #0000;color:#6c757d;cursor:pointer;flex:0 1 auto;font-size:1rem;font-weight:600;padding:16px 24px;position:relative;top:2px;transition:all .25s ease;white-space:nowrap}.tab-button:hover{background:#0000;color:#495057}.tab-button.active{background:#0000;border-bottom-color:#0d6efd;color:#0d6efd}.settings-content{background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 1px 3px #00000014;margin-top:20px;min-height:400px;padding:40px}.settings-loading{color:#7f8c8d;font-size:1.1rem;padding:40px;text-align:center}@media (max-width:768px){.settings-container{padding:10px}.settings-header h1{font-size:1.8rem}.settings-content{padding:15px}.settings-tabs{flex-wrap:wrap}.tab-button{flex:0 1 auto;font-size:.9rem;padding:12px 15px}}.settings-tokens{position:relative}.tokens-section h2{color:#1a1a1a;font-size:1.6rem;font-weight:700;gap:12px;letter-spacing:-.3px}.token-status,.tokens-section h2{align-items:center;display:flex;margin-bottom:28px}.token-status{border:1px solid;border-radius:8px;box-shadow:0 1px 3px #0000000d;gap:16px;padding:18px 20px}.token-status.valid{background-color:#f0fdf4;border-color:#bbf7d0}.token-status.invalid{background-color:#fef2f2;border-color:#fecaca}.status-icon{flex-shrink:0;font-size:1.5rem}.status-content{flex:1 1}.status-message{color:#1a1a1a;font-size:1.05rem;font-weight:600;margin:0}.status-expires{color:#6c757d;font-size:.9rem;font-weight:400;margin:6px 0 0}.status-buttons{display:flex;flex-shrink:0;gap:12px}.btn-get-token,.btn-refresh{background:#0d6efd;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:10px 18px;transition:all .25s ease;white-space:nowrap}.btn-get-token{background:#198754}.btn-get-token:hover:not(:disabled){background:#157347;box-shadow:0 2px 6px #1987544d;transform:translateY(-1px)}.btn-refresh:hover:not(:disabled){background:#0b5ed7;box-shadow:0 2px 6px #0d6efd4d;transform:translateY(-1px)}.btn-get-token:disabled,.btn-refresh:disabled{cursor:not-allowed;opacity:.6;transform:none}.tokens-list{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:24px}.tokens-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.tokens-header h3{color:#1a1a1a;font-size:1.2rem;font-weight:700;margin:0}.btn-create{background:#198754;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:11px 20px;transition:all .25s ease}.btn-create:hover:not(:disabled){background:#157347;box-shadow:0 2px 6px #1987544d;transform:translateY(-1px)}.btn-create:disabled{cursor:not-allowed;opacity:.6;transform:none}.token-form{background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 1px 3px #0000000d;margin-bottom:24px;padding:20px}.token-input{border:1px solid #dee2e6;border-radius:6px;box-sizing:border-box;font-family:inherit;font-size:1rem;margin-bottom:14px;padding:12px 14px;transition:all .25s ease;width:100%}.token-input:focus{background-color:#f8f9ff;border-color:#0d6efd;box-shadow:0 0 0 3px #0d6efd1a;outline:none}.form-buttons{display:flex;gap:12px}.btn-cancel,.btn-save{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:.95rem;font-weight:600;padding:11px 16px;transition:all .25s ease}.btn-save{background:#198754}.btn-save:hover:not(:disabled){background:#157347;box-shadow:0 2px 6px #1987544d;transform:translateY(-1px)}.btn-cancel{background:#dc3545}.btn-cancel:hover:not(:disabled){background:#bb2d3b;box-shadow:0 2px 6px #dc35454d;transform:translateY(-1px)}.btn-cancel:disabled,.btn-save:disabled{cursor:not-allowed;opacity:.6;transform:none}.no-tokens{color:#6c757d;font-size:1rem;font-style:italic;padding:32px 20px;text-align:center}.tokens-table{background:#fff;border-collapse:collapse;border-radius:6px;overflow:hidden;width:100%}.tokens-table thead{background:#f8f9fa}.tokens-table th{border-bottom:2px solid #dee2e6;color:#1a1a1a;font-weight:700;text-align:left}.tokens-table td,.tokens-table th{font-size:.95rem;padding:14px 16px}.tokens-table td{border-bottom:1px solid #e9ecef;color:#495057}.tokens-table tbody tr:hover{background:#f8f9fa}.btn-revoke{background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 14px;transition:all .25s ease}.btn-revoke:hover:not(:disabled){background:#bb2d3b;box-shadow:0 2px 6px #dc35454d;transform:translateY(-1px)}.btn-revoke:disabled{cursor:not-allowed;opacity:.6;transform:none}.loading-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffffe6;color:#1a1a1a;font-weight:600;z-index:10}@media (max-width:768px){.tokens-header{align-items:stretch;flex-direction:column;gap:10px}.btn-create{width:100%}.tokens-table{font-size:.9rem}.tokens-table td,.tokens-table th{padding:8px}}.settings-ontology{position:relative}.ontology-section h2{align-items:center;color:#2c3e50;display:flex;font-size:1.5rem;gap:10px;margin-bottom:20px}.ontology-selector{background:#f8f9fa;border-radius:6px;margin-bottom:25px;padding:15px}.ontology-selector label{color:#2c3e50;display:block;font-weight:600;margin-bottom:8px}.ontology-select{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:1rem;padding:10px;transition:border-color .3s ease;width:100%}.ontology-select:hover{border-color:#3498db}.ontology-select:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.ontology-select:disabled{cursor:not-allowed;opacity:.5}.ontology-editor{background:#fff;border:1px solid #ddd;border-radius:6px;overflow:hidden}.editor-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #ddd;display:flex;justify-content:space-between;padding:20px}.editor-header h3{color:#2c3e50;font-size:1.2rem;margin:0}.editor-buttons{display:flex;gap:10px}.btn-cancel,.btn-edit,.btn-save{border:none;border-radius:4px;cursor:pointer;font-weight:500;padding:10px 16px;transition:all .3s ease;white-space:nowrap}.btn-edit{background:#3498db;color:#fff}.btn-edit:hover:not(:disabled){background:#2980b9}.btn-save{background:#27ae60;color:#fff}.btn-save:hover:not(:disabled){background:#229954}.btn-cancel{background:#e74c3c;color:#fff}.btn-cancel:hover:not(:disabled){background:#c0392b}.btn-cancel:disabled,.btn-edit:disabled,.btn-save:disabled{cursor:not-allowed;opacity:.5}.ontology-fields{padding:20px}.field-group{margin-bottom:20px}.field-group:last-child{margin-bottom:0}.field-group label{color:#2c3e50;display:block;font-weight:600;margin-bottom:8px}.field-group p{background:#f8f9fa;border-radius:4px;color:#555;margin:0;padding:10px}.field-input,.field-textarea{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-family:inherit;font-size:1rem;padding:10px;transition:border-color .3s ease;width:100%}.field-input:focus,.field-textarea:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.field-textarea{min-height:80px;resize:vertical}.status-badge{border-radius:20px;display:inline-block;font-size:.9rem;font-weight:600;padding:6px 12px;text-transform:uppercase}.status-badge.approved{background:#d4edda;color:#155724}.status-badge.pending{background:#fff3cd;color:#856404}.status-badge.draft{background:#e2e3e5;color:#383d41}.entity-types-list,.relationship-types-list{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-top:10px}.entity-type-item,.relationship-type-item{background:#f8f9fa;border:1px solid #ddd;border-left:4px solid #3498db;border-radius:4px;padding:12px}.entity-type-item strong,.relationship-type-item strong{color:#2c3e50;display:block;margin-bottom:5px}.entity-type-item p,.relationship-type-item p{color:#7f8c8d;font-size:.9rem;margin:0}.no-selection{color:#7f8c8d;font-style:italic;padding:40px;text-align:center}.loading-overlay{align-items:center;background:#fffc;border-radius:6px;bottom:0;color:#2c3e50;display:flex;font-weight:500;justify-content:center;left:0;position:absolute;right:0;top:0}@media (max-width:768px){.editor-header{align-items:flex-start;flex-direction:column;gap:15px}.editor-buttons{flex-wrap:wrap;width:100%}.btn-cancel,.btn-edit,.btn-save{flex:1 1;min-width:100px}.entity-types-list,.relationship-types-list{grid-template-columns:1fr}.ontology-fields{padding:15px}}*{box-sizing:border-box;margin:0;padding:0}:root{--primary:#000;--primary-dark:#1a1a1a;--primary-light:#333;--secondary:#f5f5f5;--accent:#06c;--accent-light:#e6f0ff;--text-primary:#000;--text-secondary:#666;--text-tertiary:#999;--border:#e0e0e0;--border-light:#f0f0f0;--bg-user:#000;--bg-assistant:#f0f0f0;--bg-gradient-start:#fff;--bg-gradient-end:#f8f9fa;--success:#31a24c;--error:#f02849;--warning:#f57c00;--info:#06c;--font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-mono:"Monaco","Menlo","Ubuntu Mono",monospace;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px #0000001a;--shadow-lg:0 10px 15px #0000001a;--shadow-xl:0 20px 25px #0000001a}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#fff,#f8f9fa);background:linear-gradient(135deg,var(--bg-gradient-start) 0,var(--bg-gradient-end) 100%);color:#000;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-family:var(--font-family);line-height:1.6}.app-container{height:100vh}.app-container,.main-content{background:linear-gradient(135deg,#fff,#f8f9fa);background:linear-gradient(135deg,var(--bg-gradient-start) 0,var(--bg-gradient-end) 100%);display:flex;overflow:hidden}.main-content{flex:1 1;flex-direction:column}.chat-layout{background:linear-gradient(135deg,#fff,#f8f9fa);background:linear-gradient(135deg,var(--bg-gradient-start) 0,var(--bg-gradient-end) 100%);display:flex;flex:1 1;overflow:hidden;position:relative}.empty-state{align-items:center;background:linear-gradient(135deg,#ffffffe6,#f8f9fae6);color:#666;color:var(--text-secondary);display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:40px 20px;text-align:center}.empty-state h2{color:#000;color:var(--text-primary);font-size:28px;font-weight:700;margin-bottom:16px}.empty-state p{color:#666;color:var(--text-secondary);font-size:16px;margin-bottom:24px;max-width:400px}@media (max-width:768px){.app-container,.chat-layout{flex-direction:column}}
/*# sourceMappingURL=main.b96de24b.css.map*/