*{box-sizing:border-box;margin:0;padding:0}:root{--primary:#1a3c5e;--primary-light:#2563eb;--primary-dark:#0f2440;--accent:#e8a835;--bg:#f0f4f8;--white:#fff;--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-400:#94a3b8;--gray-500:#64748b;--gray-700:#334155;--gray-900:#0f172a;--red:#ef4444;--green:#22c55e;--shadow:0 1px 3px #00000014;--shadow-md:0 4px 12px #0000001a;--shadow-lg:0 10px 30px #0000001f;--radius:12px;--radius-lg:16px}body{background:var(--bg);color:var(--gray-900);-webkit-font-smoothing:antialiased;height:100dvh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;overflow:hidden}#root{height:100dvh}.loading-screen{background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:16px;height:100vh;display:flex}.spinner{border:3px solid var(--gray-200);border-top-color:var(--primary);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-container{background:linear-gradient(160deg, var(--primary-dark) 0%, var(--primary) 50%, #1e4a7a 100%);justify-content:center;align-items:center;height:100dvh;padding:16px;display:flex}.login-card{background:var(--white);border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow-lg);padding:40px 36px}.login-logo{text-align:center;margin-bottom:32px}.logo-img{height:48px;margin-bottom:12px}.login-subtitle{color:var(--gray-500);justify-content:center;align-items:center;gap:8px;font-size:15px;display:flex}.guven-badge{background:var(--primary);color:#fff;border-radius:12px;padding:2px 10px;font-size:13px;font-weight:600}.login-card form{flex-direction:column;gap:12px;display:flex}.login-card input{border:1.5px solid var(--gray-200);background:var(--gray-50);border-radius:10px;outline:none;padding:13px 16px;font-size:15px;transition:border-color .2s,box-shadow .2s}.login-card input:focus{border-color:var(--primary);background:var(--white);box-shadow:0 0 0 3px #1a3c5e1a}.login-card button[type=submit]{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:10px;margin-top:4px;padding:13px;font-size:15px;font-weight:600;transition:background .2s,transform .1s}.login-card button[type=submit]:hover{background:var(--primary-light)}.login-card button[type=submit]:active{transform:scale(.98)}.login-card button:disabled{opacity:.6;cursor:not-allowed}.error-msg{color:var(--red);text-align:center;background:#fef2f2;border-radius:8px;padding:8px;font-size:14px}.toggle-auth{text-align:center;color:var(--primary-light);cursor:pointer;margin-top:20px;font-size:14px}.login-footer{border-top:1px solid var(--gray-200);color:var(--gray-400);justify-content:center;gap:16px;margin-top:24px;padding-top:16px;font-size:12px;display:flex}.chat-container{background:var(--white);max-width:900px;height:100dvh;box-shadow:var(--shadow-lg);flex-direction:column;margin:0 auto;display:flex}.chat-header{background:var(--primary);color:#fff;flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.header-left{align-items:center;gap:10px;display:flex}.header-logo{filter:brightness(0)invert();height:28px}.header-title h2{font-size:17px;font-weight:700;line-height:1.1}.header-sub{opacity:.7;font-size:11px}.status-dot{background:var(--green);border-radius:50%;width:8px;height:8px;margin-left:4px;animation:2s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.header-right{align-items:center;gap:10px;display:flex}.user-name{opacity:.85;font-size:13px}.btn-icon{color:#fff;cursor:pointer;background:#ffffff1f;border:none;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;transition:background .2s;display:flex}.btn-icon:hover{background:#ffffff38}.btn-logout{color:#fff;cursor:pointer;background:#ffffff1f;border:none;border-radius:6px;padding:6px 12px;font-size:12px;transition:background .2s}.btn-logout:hover{background:#ffffff38}.messages-area{background:var(--gray-50);flex-direction:column;flex:1;gap:10px;padding:20px;display:flex;overflow-y:auto}.welcome-msg{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:48px 20px;display:flex}.welcome-avatar{background:var(--white);width:72px;height:72px;box-shadow:var(--shadow-md);border-radius:50%;justify-content:center;align-items:center;margin-bottom:8px;display:flex}.welcome-logo{height:36px}.welcome-msg h3{color:var(--gray-900);font-size:20px;font-weight:700}.welcome-msg>p{color:var(--gray-500);max-width:420px;font-size:14px;line-height:1.5}.suggestions{flex-wrap:wrap;justify-content:center;gap:8px;max-width:500px;margin-top:16px;display:flex}.suggestion-chip{background:var(--white);border:1.5px solid var(--gray-200);cursor:pointer;color:var(--gray-700);border-radius:20px;padding:9px 16px;font-size:13px;transition:all .2s}.suggestion-chip:hover{border-color:var(--primary);color:var(--primary);background:#f0f5ff}.message{display:flex}.message.user{justify-content:flex-end}.message.assistant{justify-content:flex-start}.message.system{justify-content:center}.bubble{border-radius:var(--radius);word-wrap:break-word;max-width:78%;padding:12px 16px;line-height:1.5;position:relative}.message.user .bubble{background:var(--primary);color:#fff;border-bottom-right-radius:4px}.message.assistant .bubble{background:var(--white);color:var(--gray-900);border:1px solid var(--gray-200);box-shadow:var(--shadow);border-bottom-left-radius:4px}.bubble p{font-size:14.5px;line-height:1.6}.bubble .timestamp{opacity:.5;text-align:right;margin-top:6px;font-size:10px;display:block}.system-bubble{text-align:center;color:#991b1b!important;background:#fef2f2!important;border:1px solid #fecaca!important;max-width:90%!important}.markdown-content{font-size:14.5px;line-height:1.6}.markdown-content p{margin-bottom:8px}.markdown-content p:last-child{margin-bottom:0}.markdown-content strong{color:var(--gray-900);font-weight:600}.markdown-content ul,.markdown-content ol{margin:6px 0;padding-left:20px}.markdown-content li{margin-bottom:3px;font-size:14px}.markdown-content a{color:var(--primary-light);text-underline-offset:2px;text-decoration:underline}.markdown-content h1,.markdown-content h2,.markdown-content h3{margin:10px 0 4px;font-size:15px;font-weight:700}.markdown-content code{background:var(--gray-100);border-radius:4px;padding:1px 5px;font-size:13px}.markdown-content blockquote{border-left:3px solid var(--primary);color:var(--gray-500);margin:8px 0;padding-left:12px}.bubble.loading{gap:5px;padding:16px 24px;display:flex}.bubble.loading .dot{background:var(--gray-300);border-radius:50%;width:8px;height:8px;animation:1.2s infinite bounce}.bubble.loading .dot:nth-child(2){animation-delay:.15s}.bubble.loading .dot:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-8px)}}.btn-play{color:var(--primary-light);cursor:pointer;background:#2563eb14;border:1px solid #2563eb26;border-radius:6px;align-items:center;gap:6px;margin-top:8px;padding:6px 12px;font-size:13px;transition:background .2s;display:inline-flex}.btn-play:hover{background:#2563eb26}.redirect-link{background:var(--primary);color:#fff;border-radius:10px;align-items:center;gap:8px;margin-top:10px;padding:10px 18px;font-size:13px;font-weight:600;text-decoration:none;transition:background .2s;display:inline-flex}.redirect-link:hover{background:var(--primary-light)}.sources{flex-wrap:wrap;gap:5px;margin-top:6px;display:flex}.source-tag{background:var(--gray-50);border:1px solid var(--gray-200);color:var(--gray-400);border-radius:4px;padding:2px 7px;font-size:10px}.confidence-bar{align-items:center;gap:5px;margin-top:6px;display:flex}.confidence-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.confidence-text{color:var(--gray-400);font-size:10px}.feedback-row{align-items:center;gap:4px;margin-top:8px;display:flex}.btn-feedback{border:1px solid var(--gray-200);color:var(--gray-300);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;padding:0;transition:all .2s;display:flex}.btn-feedback:hover:not(:disabled){border-color:var(--gray-300);color:var(--gray-500)}.btn-feedback:disabled{cursor:default;opacity:.5}.btn-feedback.active-good{color:#22c55e;background:#dcfce7;border-color:#22c55e;opacity:1!important}.btn-feedback.active-bad{color:#ef4444;background:#fef2f2;border-color:#ef4444;opacity:1!important}.feedback-thanks{color:var(--gray-400);margin-left:4px;font-size:10px}.input-area{border-top:1px solid var(--gray-200);background:var(--white);flex-shrink:0;gap:8px;padding:14px 20px;display:flex}.input-area.terminated{border-top:2px solid var(--red);background:#fef2f2;justify-content:center}.input-area.terminated p{color:#991b1b;font-size:14px;font-weight:600}.input-area input{border:1.5px solid var(--gray-200);background:var(--gray-50);border-radius:24px;outline:none;flex:1;padding:12px 18px;font-size:15px;transition:border-color .2s,box-shadow .2s}.input-area input:focus{border-color:var(--primary);background:var(--white);box-shadow:0 0 0 3px #1a3c5e14}.btn-voice,.btn-send{cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;transition:all .2s;display:flex}.btn-voice{background:var(--gray-100);color:var(--gray-500)}.btn-voice:hover{background:var(--gray-200)}.btn-voice.recording{background:var(--red);color:#fff;animation:1s infinite pulse-rec}@keyframes pulse-rec{0%,to{box-shadow:0 0 #ef444466}50%{box-shadow:0 0 0 10px #ef444400}}.btn-send{background:var(--primary);color:#fff}.btn-send:hover{background:var(--primary-light)}.btn-send:disabled,.btn-voice:disabled{opacity:.35;cursor:not-allowed}.messages-area::-webkit-scrollbar{width:5px}.messages-area::-webkit-scrollbar-track{background:0 0}.messages-area::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}@media (width<=768px){.chat-container{max-width:100%}.bubble{max-width:88%}.chat-header{padding:10px 14px}.messages-area{padding:14px}.input-area{padding:10px 14px}.welcome-msg{padding:32px 16px}.user-name{display:none}.header-logo{height:24px}.header-title h2{font-size:15px}.suggestion-chip{padding:7px 12px;font-size:12px}.login-card{padding:32px 24px}.logo-img{height:40px}}@media (width<=380px){.btn-voice,.btn-send{width:38px;height:38px}.input-area input{padding:10px 14px;font-size:14px}.header-sub{display:none}.suggestions{gap:6px}.suggestion-chip{padding:6px 10px;font-size:11px}}
