@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap);:root{--bg-color:#0d0f17;--panel-bg:#191c2999;--dropdown-bg:#1e2130;--panel-border:#ffffff14;--text-main:#f0f2f5;--text-muted:#9ba1a6;--primary-color:#6366f1;--primary-hover:#4f46e5;--danger-color:#ef4444;--danger-hover:#dc2626;--input-bg:#ffffff0d;--input-border:#ffffff1a;--glass-blur:blur(12px);--shadow-sm:0 4px 6px -1px #0003;--shadow-lg:0 10px 15px -3px #0000004d;--transition:all 0.3s cubic-bezier(0.4,0,0.2,1)}[data-theme=light]{--bg-color:#f1f5f9;--panel-bg:#fffc;--dropdown-bg:#fff;--panel-border:#0000001a;--text-main:#0f172a;--text-muted:#64748b;--primary-color:#4f46e5;--primary-hover:#4338ca;--danger-color:#ef4444;--danger-hover:#dc2626;--input-bg:#fffffff2;--input-border:#0000001a}*{box-sizing:border-box;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;background-color:#0d0f17;background-color:var(--bg-color);background-image:radial-gradient(circle at 15% 50%,#6366f114,#0000 25%),radial-gradient(circle at 85% 30%,#a855f714,#0000 25%);color:#f0f2f5;color:var(--text-main);overflow:hidden}#root,body{height:100vh;height:100dvh}#root{display:flex;flex-direction:column}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#fff3}.glass-panel{backdrop-filter:blur(12px);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:blur(12px);-webkit-backdrop-filter:var(--glass-blur);background:#191c2999;background:var(--panel-bg);border:1px solid #ffffff14;border:1px solid var(--panel-border);box-shadow:0 4px 6px -1px #0003;box-shadow:var(--shadow-sm)}input,select,textarea{background:#ffffff0d;background:var(--input-bg);border:1px solid #ffffff1a;border:1px solid var(--input-border);border-radius:.5rem;color:#f0f2f5;color:var(--text-main);font-size:.95rem;outline:none;padding:.75rem 1rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}input:focus,select:focus,textarea:focus{border-color:#6366f1;border-color:var(--primary-color);box-shadow:0 0 0 2px #6366f133}input:disabled,select:disabled,textarea:disabled{background:#ffffff05;cursor:not-allowed;opacity:.6}button{align-items:center;border:none;border-radius:.5rem;cursor:pointer;display:inline-flex;font-weight:500;gap:.5rem;justify-content:center;padding:.75rem 1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.btn-primary{background:#6366f1;background:var(--primary-color);box-shadow:0 4px 14px 0 #6366f163;color:#fff}.btn-primary:hover{background:#4f46e5;background:var(--primary-hover);transform:translateY(-1px)}.btn-danger{background:#ef4444;background:var(--danger-color);color:#fff}.btn-danger:hover{background:#dc2626;background:var(--danger-hover)}.btn-icon{background:#ffffff0d;background:var(--input-bg);border:1px solid #ffffff1a;border:1px solid var(--input-border);border-radius:50%;color:#9ba1a6;color:var(--text-muted);padding:.5rem}.btn-icon:hover{background:#ffffff1a;color:#f0f2f5;color:var(--text-main)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .4s ease-out forwards}.login-container{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:1rem}.login-card{border-radius:1.25rem;gap:2rem;max-width:420px;padding:2.5rem;width:100%}.login-card,.login-header{display:flex;flex-direction:column}.login-header{align-items:center;gap:.5rem;text-align:center}.logo-icon{align-items:center;background:#6366f11a;border:1px solid #6366f133;border-radius:50%;box-shadow:0 0 20px #6366f133;display:flex;height:64px;justify-content:center;margin-bottom:1rem;width:64px}.login-header h2{color:var(--text-main);font-size:1.75rem;font-weight:600;letter-spacing:-.025em}.login-header p{color:var(--text-muted);font-size:.95rem}.login-form{display:flex;flex-direction:column;gap:1.5rem}.error-message{background:#ef44441a;border:1px solid #ef444433;border-radius:.5rem;color:#fca5a5;font-size:.875rem;padding:.75rem 1rem;text-align:center}.input-group{display:flex;flex-direction:column;gap:.5rem}.input-group label{color:#cbd5e1;font-size:.875rem;font-weight:500}.input-wrapper{align-items:center;display:flex;position:relative}.input-wrapper input{padding-left:2.5rem;width:100%}.input-icon{color:var(--text-muted);left:.75rem;position:absolute}.login-btn{font-size:1rem;margin-top:.5rem;padding:.875rem;width:100%}.login-btn:disabled{cursor:not-allowed;opacity:.7}.text-indigo-400{color:#818cf8}.dashboard-layout{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden;position:relative;width:100vw}.sidebar-container{backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);background:var(--panel-bg);border-right:1px solid var(--panel-border);display:flex;flex-direction:column;height:100%;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:10}.chat-sidebar-container{width:300px}.chat-sidebar-container.closed{border-right:none;opacity:0;transform:translateX(-100%);width:0}.settings-sidebar-container{border-left:1px solid var(--panel-border);border-right:none;width:320px}.settings-sidebar-container.closed{border-left:none;opacity:0;transform:translateX(100%);width:0}.dashboard-content{display:flex;flex:1 1;overflow:hidden;position:relative;width:100%}.main-content-container{background:#0000;display:flex;flex:1 1;flex-direction:column;height:100%;min-width:0;transition:all .3s ease}.app-header{align-items:center;background:var(--panel-bg);border-bottom:1px solid var(--panel-border);display:flex;flex-shrink:0;height:60px;justify-content:space-between;padding:0 1rem;position:relative;width:100%;z-index:30}.logo-text{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#818cf8,#c084fc);background-clip:text;-webkit-background-clip:text;font-size:1.1rem;font-weight:600}@media (max-width:1024px){.sidebar-container{bottom:0;height:100%;position:absolute;top:0;z-index:20}.chat-sidebar-container{left:0}.settings-sidebar-container{right:0}}.chat-sidebar{display:flex;flex-direction:column;height:100%}.sidebar-header{align-items:center;border-bottom:1px solid var(--panel-border);display:flex;justify-content:space-between;padding:1.5rem}.sidebar-header h3{color:var(--text-main);font-size:1.1rem;font-weight:600;margin:0}.flex-center{align-items:center;display:flex}.mr-2{margin-right:.5rem}.w-full{width:100%}.text-primary{color:var(--primary-color)}.mobile-only{display:none}@media (max-width:1024px){.mobile-only{display:inline-flex}}.sidebar-actions{padding:1rem 1.5rem}.chat-list{display:flex;flex:1 1;flex-direction:column;gap:.25rem;overflow-y:auto;padding:.5rem 1rem}.chat-item{align-items:center;border-radius:.5rem;color:var(--text-muted);cursor:pointer;display:flex;gap:.75rem;padding:.75rem 1rem;transition:var(--transition)}.chat-item:hover{background:#ffffff0d;color:var(--text-main)}.chat-item.active{background:#6366f126;border-left:3px solid var(--primary-color);color:var(--primary-color);font-weight:500}.truncate{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.delete-btn{align-items:center;background:#0000;border:none;border-radius:.25rem;color:var(--text-muted);cursor:pointer;display:none;justify-content:center;padding:.25rem;transition:var(--transition)}.chat-item:hover .delete-btn{display:flex}.delete-btn:hover{background:#ef44441a;color:#ef4444}.empty-state{color:var(--text-muted);font-size:.9rem;padding:2rem 1rem;text-align:center}.chat-area{background:var(--bg-color);display:flex;flex-direction:column;height:100%}.chat-area.empty{align-items:center;justify-content:center}.flex-1{flex:1 1}.flex-col{display:flex;flex-direction:column}.h-full{height:100%}.relative{position:relative}.overflow-y-auto{overflow-y:auto}.p-4{padding:1rem}.empty-chat-state{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;gap:1rem;max-width:400px;text-align:center}.placeholder-logo{filter:invert(1);height:64px;opacity:.5;width:64px}.empty-chat-state h2{color:var(--text-main);font-size:1.5rem;margin:0}.empty-messages{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center}.messages-container{display:flex;flex-direction:column;gap:1.5rem;height:calc(100vh - 100px);padding:2rem;scroll-behavior:smooth}@media (max-width:1024px){.messages-container{height:calc(100vh - 160px)}}.message-wrapper{display:flex;gap:1rem;max-width:85%}.message-wrapper.user{align-self:flex-end;flex-direction:row-reverse}.message-wrapper.bot{align-self:flex-start}.avatar{align-items:center;border-radius:.5rem;display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.user .avatar{background:#6366f133;color:#a5b4fc}.bot .avatar{background:#a855f733;color:#d8b4fe}.message-content{display:flex;flex-direction:column;gap:.5rem;min-width:0}.message-bubble{border-radius:1rem;font-size:.95rem;line-height:1.5;padding:.85rem 1.15rem;white-space:pre-wrap;word-break:break-word}.user .message-bubble{background:var(--primary-color);border-top-right-radius:.25rem;box-shadow:0 4px 6px -1px #6366f133;color:#fff}.bot .message-bubble{background:var(--panel-bg);border:1px solid var(--panel-border);border-top-left-radius:.25rem;color:var(--text-main)}.message-attachments{display:flex;flex-wrap:wrap;gap:.5rem}.attachment-pill{align-items:center;background:#0003;border-radius:1rem;display:inline-flex;font-size:.75rem;gap:.35rem;padding:.35rem .65rem}.user .attachment-pill{background:#ffffff26;color:#ffffffe6}.bot .attachment-pill{background:var(--input-bg);border:1px solid var(--input-border);color:var(--text-muted)}.attachment-pill.ref{color:#34d399}.input-area{margin:0 auto;max-width:1000px;padding:0 2rem 2rem;width:100%}@media (max-width:768px){.input-area{padding:0 1rem 4rem}}.input-form{display:flex;flex-direction:column;gap:.5rem}.active-attachments{display:flex;flex-wrap:wrap;gap:.25rem;padding-bottom:.1rem}.active-attachment-pill{align-items:center;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:.25rem;color:var(--text-main);display:flex;font-size:.65rem;gap:.15rem;padding:.15rem .3rem .15rem .4rem}.active-attachment-pill.ref-pill{border-color:#34d3994d}.remove-btn{background:#0000;border-radius:.25rem;color:var(--text-muted);margin-left:.25rem;padding:.15rem}.remove-btn:hover{background:#ffffff1a;color:var(--danger-color)}.input-bar{align-items:flex-start;border-radius:.75rem;display:flex;flex-direction:column;padding:.5rem}.input-actions-left{align-items:center;border-bottom:.25px dashed var(--panel-border);display:flex;gap:.15rem;margin-bottom:.2rem;padding-bottom:.2rem;width:100%}.input-actions-main{align-items:flex-end;display:flex;width:100%}.reply-type-dropdown{background:#0000;border:1px solid var(--panel-border);border-radius:.35rem;color:var(--text-muted);cursor:pointer;font-size:.7rem;margin-left:.15rem;outline:none;padding:.1rem .3rem}.reply-type-dropdown:focus{border-color:var(--primary-color);color:var(--text-main)}.reply-type-dropdown option{background:var(--panel-bg);color:var(--text-main)}.action-btn{background:#0000;border-radius:.25rem;color:var(--text-muted);padding:.15rem}.action-btn:hover{background:#ffffff14;color:var(--text-main)}.action-btn.active{background:#6366f126;color:var(--primary-color)}.main-input{background:#0000;border:none;color:var(--text-main);flex:1 1;font-size:1rem;padding:.5rem}.main-input.multiline{max-height:150px;min-height:40px;overflow-y:auto;padding-top:.65rem;resize:none}.main-input:focus{box-shadow:none}.send-btn{background:#0000;border-radius:.75rem;color:var(--text-muted);padding:.65rem .85rem}.send-btn.active{background:var(--primary-color);color:#fff}.send-btn.active:hover{background:var(--primary-hover)}.info-dropdown{animation:fadeIn .2s ease-out forwards;background:var(--dropdown-bg);border:1px solid var(--panel-border);border-radius:.75rem;bottom:calc(100% + 10px);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;left:0;overflow:hidden;position:absolute;width:250px;z-index:100}.dropdown-header{border-bottom:1px solid var(--panel-border);color:var(--text-muted);font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.75rem 1rem;text-transform:uppercase}.dropdown-empty{color:var(--text-muted);font-size:.85rem;padding:1.5rem 1rem;text-align:center}.dropdown-item{align-items:center;color:var(--text-main);cursor:pointer;display:flex;font-size:.85rem;gap:.5rem;padding:.75rem 1rem;transition:background .2s}.dropdown-item:hover{background:#ffffff0d}.dropdown-item.selected{background:#34d3991a}.indicator{background:#34d399;border-radius:50%;height:8px;margin-left:auto;width:8px}.typing-indicator{align-items:center;display:flex;gap:5px;min-width:54px;padding:10px 14px}.typing-indicator span{animation:typing-bounce 1.2s ease-in-out infinite;background:#9ca3af;background:var(--text-muted,#9ca3af);border-radius:50%;display:inline-block;height:8px;width:8px}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,80%,to{opacity:.4;transform:translateY(0)}40%{opacity:1;transform:translateY(-6px)}}.settings-sidebar{display:flex;flex-direction:column;height:100%}.settings-content{flex:1 1;gap:1.25rem;overflow-y:auto;padding:1.5rem}.settings-content,.settings-group{display:flex;flex-direction:column}.settings-group{gap:.5rem}.settings-group label{color:var(--text-muted);font-size:.85rem;font-weight:500}.settings-group input,.settings-group select{font-size:.9rem;padding:.65rem 1rem}.btn-success{background:#10b981!important;box-shadow:0 4px 14px 0 #10b98163!important}.mt-4{margin-top:1rem}.divider{background:var(--panel-border);height:1px;margin:1rem 0}.info-section{display:flex;flex-direction:column}.info-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:.5rem 0;-webkit-user-select:none;user-select:none}.info-header h4{color:var(--text-main);font-size:.95rem;font-weight:500;margin:0}.transition-transform{transition:transform .3s ease}.rotate-90{transform:rotate(90deg)}.info-content{gap:1rem;padding-top:1rem}.info-content,.info-list{display:flex;flex-direction:column}.info-list{gap:.5rem;max-height:200px;overflow-y:auto}.info-item{background:#ffffff0d;border:1px solid var(--panel-border);border-radius:.375rem;color:var(--text-main);font-size:.85rem;gap:.5rem;justify-content:space-between;padding:.5rem .75rem}.info-delete-btn,.info-item{align-items:center;display:flex}.info-delete-btn{background:none;border:none;border-radius:.25rem;color:var(--text-muted);cursor:pointer;flex-shrink:0;justify-content:center;opacity:.6;padding:.25rem;transition:all .2s ease}.info-delete-btn:hover{background:#ef44441a;color:#ef4444;opacity:1}.empty-text{color:var(--text-muted);font-size:.85rem;font-style:italic;margin:0}.hidden{display:none}.btn-secondary{background:var(--input-bg);border:1px solid var(--input-border);color:var(--text-main)}.btn-secondary:hover{background:#ffffff1a}.select-file-btn{font-size:.85rem;padding:.65rem}.sidebar-footer{border-top:1px solid var(--panel-border);padding:1.5rem}.logout-btn{background:#ef44441a;border:1px solid #ef444433;box-shadow:none;color:#ef4444}.logout-btn:hover{background:#ef4444;color:#fff}