@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f8fafc;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg-primary:#070a13;--bg-secondary:#0f1424;--bg-sidebar:#0a0d18;--border-color:#ffffff12;--border-hover:#ffffff26;--primary-gradient:linear-gradient(135deg, #8b5cf6 0%, #6366f1 100%);--secondary-gradient:linear-gradient(135deg, #06b6d4 0%, #3b82f6 100%);--danger-gradient:linear-gradient(135deg, #ef4444 0%, #b91c1c 100%);--glow-shadow:0 0 20px #6366f126;--text-main:#f8fafc;--text-muted:#94a3b8;--text-dark:#64748b;--glass-bg:#0f142499;--glass-border:#ffffff0d;background-color:#0b0f19;font-family:Plus Jakarta Sans,Outfit,system-ui,-apple-system,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}body{background:radial-gradient(circle at top right, #6366f114, transparent 40%), radial-gradient(circle at bottom left, #06b6d414, transparent 45%), var(--bg-primary);place-items:center;min-width:320px;min-height:100vh;margin:0;display:flex;overflow:hidden}#root{width:100vw;height:100vh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#fff3}.app-container{background:0 0;width:100vw;height:100vh;display:flex;overflow:hidden}.sidebar{background-color:var(--bg-sidebar);border-right:1px solid var(--border-color);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:10;flex-direction:column;flex-shrink:0;width:320px;height:100%;transition:all .3s;display:flex}.sidebar-header{border-bottom:1px solid var(--border-color);flex-direction:column;gap:16px;padding:24px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand-icon{background:var(--primary-gradient);color:#fff;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;font-weight:700;display:flex;box-shadow:0 0 15px #8b5cf666}.brand-title{background:linear-gradient(135deg,#fff 0%,#a5b4fc 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:20px;font-weight:700}.new-chat-btn{background:var(--primary-gradient);color:#fff;cursor:pointer;box-shadow:var(--glow-shadow);border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-size:14px;font-weight:600;transition:all .25s;display:flex}.new-chat-btn:hover{transform:translateY(-2px);box-shadow:0 0 25px #6366f159}.new-chat-btn:active{transform:translateY(0)}.thread-list{flex-direction:column;flex:1;gap:8px;padding:16px 12px;display:flex;overflow-y:auto}.thread-item{cursor:pointer;group:hover;background:#ffffff05;border:1px solid #0000;border-radius:12px;justify-content:space-between;align-items:center;padding:12px 16px;transition:all .2s;display:flex}.thread-item:hover{border-color:var(--border-color);background:#ffffff0d}.thread-item.active{background:#6366f11f;border-color:#6366f14d;box-shadow:inset 0 0 12px #6366f10d}.thread-details{flex-direction:column;flex:1;gap:4px;display:flex;overflow:hidden}.thread-title{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:550;overflow:hidden}.thread-meta{color:var(--text-muted);align-items:center;gap:6px;font-size:11px;display:flex}.doc-tag{color:#22d3ee;white-space:nowrap;text-overflow:ellipsis;background:#06b6d41f;border:1px solid #06b6d433;border-radius:4px;max-width:120px;padding:1px 6px;font-size:10px;font-weight:600;overflow:hidden}.delete-thread-btn{color:var(--text-dark);cursor:pointer;opacity:.5;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.thread-item:hover .delete-thread-btn{opacity:1}.delete-thread-btn:hover{color:#ef4444;background:#ef444426}.main-panel{background:0 0;flex-direction:column;flex:1;height:100%;display:flex;position:relative}.header-bar{border-bottom:1px solid var(--border-color);background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:5;justify-content:space-between;align-items:center;height:56px;padding:0 32px;display:flex}.header-title-container{flex-direction:column;display:flex}.header-title{color:var(--text-main);font-size:16px;font-weight:600}.header-subtitle{color:var(--text-muted);font-size:12px}.chat-window{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.empty-state{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:24px;max-width:600px;margin:0 auto;padding:40px;display:flex}.empty-state-icon{color:#6366f1;width:80px;height:80px;box-shadow:var(--glow-shadow);background:#6366f114;border:1px solid #6366f126;border-radius:24px;justify-content:center;align-items:center;font-size:36px;animation:4s ease-in-out infinite float;display:flex}.empty-state-title{background:linear-gradient(135deg,#fff 0%,#a5b4fc 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:28px;font-weight:700}.empty-state-desc{color:var(--text-muted);font-size:15px;line-height:1.6}.empty-actions{gap:16px;width:100%;display:flex}.empty-card{background:var(--glass-bg);border:1px solid var(--border-color);cursor:pointer;border-radius:16px;flex-direction:column;flex:1;align-items:center;gap:10px;padding:20px;transition:all .25s;display:flex}.empty-card:hover{border-color:#6366f14d;transform:translateY(-4px);box-shadow:0 8px 30px #6366f11a}.empty-card-icon{font-size:24px}.empty-card-title{color:var(--text-main);font-size:14px;font-weight:600}.empty-card-desc{color:var(--text-muted);font-size:12px}.upload-bar-section{align-items:center;gap:16px;display:flex}.upload-button-wrapper{position:relative}.file-input{display:none}.upload-label{color:#22d3ee;cursor:pointer;background:#06b6d41a;border:1px solid #06b6d433;border-radius:10px;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s;display:flex}.upload-label:hover{background:#06b6d433;border-color:#06b6d466}.upload-loading{color:#22d3ee;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.spinner{border:2px solid #06b6d433;border-top-color:#22d3ee;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}.messages-container{flex-direction:column;flex:1;gap:24px;padding:32px;display:flex;overflow-y:auto}.message-wrapper{width:100%;display:flex}.message-wrapper.user{justify-content:flex-end}.message-wrapper.assistant{justify-content:flex-start}.message-bubble{border-radius:18px;max-width:75%;padding:16px 20px;font-size:15px;line-height:1.6;position:relative;box-shadow:0 4px 15px #0000001a}.message-wrapper.user .message-bubble{background:var(--primary-gradient);color:#fff;border-bottom-right-radius:4px;box-shadow:0 4px 20px #8b5cf640}.message-wrapper.assistant .message-bubble{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-main);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom-left-radius:4px}.message-time{color:#ffffff80;text-align:right;margin-top:6px;font-size:10px;display:block}.typing-bubble{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px 16px 16px 4px;align-items:center;gap:6px;width:fit-content;padding:12px 18px;display:flex}.typing-dot{background:var(--text-muted);border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite pulse}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}.input-panel{border-top:1px solid var(--border-color);background:0 0;padding:8px 32px}.input-container{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;align-items:center;padding:4px 10px;transition:all .25s;display:flex;box-shadow:0 8px 30px #0003}.input-container:focus-within{box-shadow:0 8px 30px #6366f126, var(--glow-shadow);border-color:#6366f180}.chat-textarea{color:var(--text-main);resize:none;background:0 0;border:none;outline:none;flex:1;height:30px;max-height:120px;padding:4px 8px;font-family:inherit;font-size:14px;line-height:1.4}.send-btn{background:var(--primary-gradient);cursor:pointer;color:#fff;width:30px;height:30px;box-shadow:var(--glow-shadow);border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .25s;display:flex}.send-btn:hover{transform:scale(1.05)}.send-btn:active{transform:scale(.95)}.send-btn:disabled{color:var(--text-muted);box-shadow:none;cursor:not-allowed;background:#ffffff0d}.error-banner{color:#fca5a5;background:#ef444426;border:1px solid #ef44444d;border-radius:10px;justify-content:space-between;align-items:center;margin:16px 32px 0;padding:12px 24px;font-size:13px;display:flex}.error-close{color:inherit;cursor:pointer;background:0 0;border:none;font-size:14px;font-weight:700}.rag-alert{color:#22d3ee;background:#06b6d41a;border:1px solid #06b6d433;border-radius:8px;align-items:center;gap:8px;margin:0 32px;padding:8px 16px;font-size:12px;display:flex}.attach-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;padding:4px;font-size:16px;transition:all .2s;display:flex}.attach-btn:hover:not(.disabled){color:var(--text-main);background:#ffffff0f}.attach-btn.disabled{opacity:.3;cursor:not-allowed}.doc-preview-container{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.doc-preview-close{color:#22d3ee;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:16px;font-weight:700;transition:all .2s;display:flex}.doc-preview-close:hover{color:#ef4444;background:#ef444433}.upload-loading-pill{color:#22d3ee;align-items:center;gap:8px;margin-bottom:10px;font-size:12px;font-weight:600;display:flex}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:.5;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}.auth-page{background:radial-gradient(circle at 10% 20%, #6366f126 0%, transparent 45%), radial-gradient(circle at 90% 80%, #06b6d426 0%, transparent 45%), var(--bg-primary);justify-content:center;align-items:center;width:100vw;height:100vh;display:flex}.auth-card{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);width:440px;box-shadow:0 20px 50px #0000004d, var(--glow-shadow);border-radius:24px;flex-direction:column;gap:28px;padding:40px;animation:6s ease-in-out infinite float;display:flex}.auth-header-section{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.auth-logo{background:var(--primary-gradient);width:72px;height:72px;box-shadow:var(--glow-shadow);color:#fff;border-radius:18px;justify-content:center;align-items:center;font-size:40px;display:flex}.auth-title-text{background:linear-gradient(135deg,#fff 0%,#cbd5e1 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:24px;font-weight:700}.auth-subtitle-text{color:var(--text-muted);font-size:13px}.auth-form-group{flex-direction:column;gap:24px;display:flex}.input-wrapper{flex-direction:column;gap:8px;display:flex}.input-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.input-field{border:1px solid var(--border-color);color:var(--text-main);background:#0f1424cc;border-radius:12px;outline:none;padding:14px 16px;font-family:inherit;font-size:14px;transition:all .25s}.input-field:focus{border-color:#6366f199;box-shadow:0 0 15px #6366f133}.auth-submit-btn{background:var(--primary-gradient);color:#fff;cursor:pointer;box-shadow:var(--glow-shadow);border:none;border-radius:12px;justify-content:center;align-items:center;padding:14px;font-size:15px;font-weight:600;transition:all .25s;display:flex}.auth-submit-btn:hover{transform:translateY(-2px);box-shadow:0 0 25px #6366f159}.auth-submit-btn:active{transform:translateY(0)}.auth-submit-btn:disabled{color:var(--text-muted);box-shadow:none;cursor:not-allowed;background:#ffffff0d}.auth-footer{color:var(--text-muted);border-top:1px solid var(--border-color);flex-direction:column;align-items:center;gap:12px;padding-top:20px;font-size:13px;display:flex}.auth-link{color:#8b5cf6;cursor:pointer;font-weight:600;text-decoration:none;transition:all .2s}.auth-link:hover{color:#a78bfa;text-shadow:0 0 8px #a78bfa66}.step-container{justify-content:center;gap:12px;margin-bottom:8px;display:flex}.step-dot{background:#ffffff1a;border-radius:50%;width:10px;height:10px;transition:all .3s}.step-dot.active{background:#22d3ee;transform:scale(1.2);box-shadow:0 0 10px #06b6d499}.otp-box-preview{text-align:center;color:#22d3ee;background:#06b6d41a;border:1px dashed #06b6d44d;border-radius:8px;padding:12px;font-size:14px;font-weight:700}.logout-container{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px;display:flex}.username-display{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:13px;font-weight:600;overflow:hidden}.logout-btn{color:#ef4444;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px 12px;font-size:13px;font-weight:600;transition:all .2s}.logout-btn:hover{background:#ef44441f}.mode-toggle-bullets{gap:10px;margin-bottom:12px;padding:0 4px;display:flex}.mode-toggle-btn{color:var(--text-muted);cursor:pointer;background:#ffffff08;border:1px solid #ffffff14;border-radius:20px;padding:8px 16px;font-size:12px;font-weight:600;transition:all .25s}.mode-toggle-btn:hover{color:var(--text-main);background:#ffffff12;border-color:#ffffff26}.mode-toggle-btn.active{background:var(--primary-gradient);color:#fff;border-color:#0000;box-shadow:0 0 15px #8b5cf659}.doc-preview-container{margin-bottom:10px;padding:0 4px;display:flex}.doc-preview-pill{color:#e9d5ff;background:linear-gradient(135deg,#1e1b4b 0%,#311042 100%);border:1px solid #8b5cf64d;border-radius:12px;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:500;display:flex;box-shadow:0 4px 12px #00000040}.message-wrapper.system-doc-upload{justify-content:center;width:100%;margin:18px 0;display:flex}.doc-uploaded-card{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:linear-gradient(135deg,#1e1b4b80 0%,#31104280 100%);border:1px solid #8b5cf640;border-radius:16px;align-items:center;gap:16px;width:90%;max-width:520px;padding:16px 20px;animation:6s ease-in-out infinite float;display:flex;position:relative;box-shadow:0 10px 30px #0000004d}.doc-uploaded-card .doc-icon{color:#a78bfa;background:#8b5cf626;border-radius:12px;justify-content:center;align-items:center;padding:10px;font-size:28px;display:flex}.doc-uploaded-card .doc-info{flex-direction:column;flex:1;gap:4px;display:flex}.doc-uploaded-card .doc-title{color:#f3f4f6;word-break:break-all;font-size:14px;font-weight:600}.doc-uploaded-card .doc-status{color:#22d3ee;font-size:11px;font-weight:500}.doc-uploaded-card .doc-time{color:var(--text-muted);align-self:flex-end;font-size:10px}.message-bubble.doc-upload-bubble{color:#e2fbf8!important;background:linear-gradient(135deg,#0d9488 0%,#0f766e 100%)!important;border:1px solid #14b8a666!important;box-shadow:0 4px 20px #0d94884d!important}.message-bubble.draft-bubble{opacity:.65;box-shadow:none!important;background:linear-gradient(135deg,#451a03 0%,#1e1b4b 100%)!important;border:1px dashed #fef08a66!important}.messages-container{color:#1f2937!important;background-color:#fff!important}.empty-state-title{background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%)!important;-webkit-text-fill-color:transparent!important;-webkit-background-clip:text!important}.empty-state-desc{color:#4b5563!important}.message-wrapper.user .message-bubble{background:var(--primary-gradient)!important;color:#fff!important;box-shadow:0 4px 15px #8b5cf633!important}.message-wrapper.assistant .message-bubble{color:#1f2937!important;background-color:#f3f4f6!important;border:1px solid #e5e7eb!important;box-shadow:0 2px 8px #0000000a!important}.message-wrapper.assistant .message-time{color:#6b7280!important}.typing-bubble{background-color:#f3f4f6!important;border:1px solid #e5e7eb!important}.typing-dot{background:#9ca3af!important}
