:root{--primary-50:#eef2ff;--primary-100:#e0e7ff;--primary-200:#c7d2fe;--primary-300:#a5b4fc;--primary-400:#818cf8;--primary-500:#6366f1;--primary-600:#4f46e5;--primary-700:#4338ca;--primary-800:#3730a3;--primary-900:#312e81;--accent-cyan:#06b6d4;--accent-violet:#8b5cf6;--accent-pink:#ec4899;--accent-emerald:#10b981;--accent-amber:#f59e0b;--accent-rose:#f43f5e;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", Consolas, Monaco, monospace;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-smooth:.35s cubic-bezier(.16, 1, .3, 1)}[data-theme=dark],:root{--bg-app:#090c15;--bg-sidebar:#0f1422;--bg-card:#131a2abf;--bg-card-hover:#1c263ed9;--bg-input:#131a2c;--bg-input-focus:#18223a;--bg-bubble-self:#4f46e5;--bg-bubble-other:#182033;--bg-glass:#0f1422bf;--bg-glass-card:#161e30a6;--bg-hover:#ffffff0f;--bg-active:#6366f126;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--text-dim:#475569;--text-inverse:#090c15;--border-subtle:#ffffff14;--border-card:#ffffff1f;--border-focus:#6366f199;--border-glow:#6366f140;--shadow-sm:0 2px 4px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 12px 32px #0000008c;--shadow-glow:0 0 24px #6366f140;--shadow-card:0 4px 20px -2px #00000080;--status-online:#10b981;--status-offline:#64748b;--status-busy:#f43f5e}[data-theme=light]{--bg-app:#f8fafc;--bg-sidebar:#fff;--bg-card:#ffffffd9;--bg-card-hover:#fff;--bg-input:#f1f5f9;--bg-input-focus:#e2e8f0;--bg-bubble-self:#4f46e5;--bg-bubble-other:#f1f5f9;--bg-glass:#ffffffd9;--bg-glass-card:#fffc;--bg-hover:#0000000a;--bg-active:#6366f11a;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--text-dim:#94a3b8;--text-inverse:#fff;--border-subtle:#00000012;--border-card:#00000014;--border-focus:#6366f180;--border-glow:#6366f12e;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 12px 30px #0000001f;--shadow-glow:0 0 20px #6366f126;--shadow-card:0 4px 16px #0000000f;--status-online:#10b981;--status-offline:#94a3b8;--status-busy:#ef4444}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes slideInBottom{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseSubtle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.92)}}@keyframes typingBounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fade-in{animation:.2s cubic-bezier(.16,1,.3,1) forwards fadeIn}.animate-scale-in{animation:.25s cubic-bezier(.16,1,.3,1) forwards fadeInScale}.animate-slide-up{animation:.3s cubic-bezier(.16,1,.3,1) forwards slideInBottom}.animate-spin{animation:1s linear infinite spin}.typing-dot{background-color:currentColor;border-radius:50%;width:5px;height:5px;animation:1.4s ease-in-out infinite both typingBounce;display:inline-block}.typing-dot:first-child{animation-delay:-.32s}.typing-dot:nth-child(2){animation-delay:-.16s}.typing-dot:nth-child(3){animation-delay:0s}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-app);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.5;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#94a3b833}::-webkit-scrollbar-thumb:hover{background:#94a3b866}.glass-panel{background:var(--bg-glass);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-subtle)}.glass-card{background:var(--bg-glass-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:transform var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast)}.glass-card:hover{border-color:var(--border-focus);box-shadow:var(--shadow-glow), var(--shadow-md)}.btn{font-family:var(--font-sans);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;outline:none;justify-content:center;align-items:center;gap:.5rem;padding:.55rem 1.1rem;font-size:.875rem;font-weight:500;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background:linear-gradient(135deg, var(--primary-500) 0%, var(--primary-600) 100%);color:#fff;box-shadow:0 2px 8px #6366f159}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg, var(--primary-600) 0%, var(--primary-700) 100%);transform:translateY(-1px);box-shadow:0 4px 14px #6366f180}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border-subtle)}.btn-secondary:hover:not(:disabled){border-color:var(--border-card);background:#ffffff1a;transform:translateY(-1px)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.btn-danger{color:var(--accent-rose);background:#f43f5e26;border:1px solid #f43f5e4d}.btn-danger:hover:not(:disabled){background:var(--accent-rose);color:#fff}.btn-icon{border-radius:var(--radius-md);color:var(--text-secondary);padding:.5rem}.btn-icon:hover{color:var(--text-primary);background:var(--bg-hover)}.input-base{background-color:var(--bg-input);width:100%;color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-family:var(--font-sans);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background-color var(--transition-fast);outline:none;padding:.6rem .9rem;font-size:.875rem}.input-base:focus{background-color:var(--bg-input-focus);border-color:var(--border-focus);box-shadow:0 0 0 3px #6366f133}.input-base::placeholder{color:var(--text-muted)}.badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.03em;border:1px solid #0000;align-items:center;gap:.35rem;padding:.2rem .55rem;font-size:.725rem;font-weight:600;display:inline-flex}.badge-primary{color:var(--primary-400);background:#6366f126;border-color:#6366f14d}.badge-cyan{color:var(--accent-cyan);background:#06b6d426;border-color:#06b6d44d}.badge-emerald{color:var(--accent-emerald);background:#10b98126;border-color:#10b9814d}.badge-violet{color:var(--accent-violet);background:#8b5cf626;border-color:#8b5cf64d}.badge-rose{color:var(--accent-rose);background:#f43f5e26;border-color:#f43f5e4d}.modal-overlay{-webkit-backdrop-filter:blur(6px);z-index:1000;background:#000000a6;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-sidebar);border:1px solid var(--border-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:100%;max-width:520px;max-height:90vh;position:relative;overflow-y:auto}#root{flex-direction:column;min-height:100vh;display:flex}
