:root{--violet-50:#f5f3ff;--violet-100:#ede9fe;--violet-200:#ddd6fe;--violet-300:#c4b5fd;--violet-400:#a78bfa;--violet-500:#8b5cf6;--violet-600:#7c3aed;--violet-700:#6d28d9;--violet-800:#5b21b6;--violet-900:#4c1d95;--violet-950:#3b0764;--slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-300:#cbd5e1;--slate-400:#94a3b8;--slate-500:#64748b;--slate-600:#475569;--slate-700:#334155;--slate-800:#1e293b;--slate-900:#0f172a;--success-text:#059669;--success-bg:#ecfdf5;--success-border:#a7f3d0;--warning-text:#d97706;--warning-bg:#fffbeb;--warning-border:#fde68a;--error-text:#dc2626;--error-bg:#fef2f2;--error-border:#fca5a5;--info-text:#2563eb;--info-bg:#eff6ff;--info-border:#bfdbfe;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:9999px;--shadow-sm:0 1px 2px 0 rgba(15,23,42,.05);--shadow-card:0 2px 8px -2px rgba(91,33,182,.08);--shadow-active:0 8px 16px -4px rgba(91,33,182,.12);--shadow-drawer:0 -4px 20px rgba(15,23,42,.12);--font-sans:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--slate-50);color:var(--slate-900);line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow-x:hidden;width:100%}@media (max-width:767px){body{padding-bottom:72px}.mobile-bottom-nav{display:flex!important;position:fixed!important;bottom:0!important;left:0!important;right:0!important;width:100%!important;height:64px!important;z-index:9999!important;background-color:#fff!important;border-top:1px solid #e2e8f0!important;box-shadow:0 -4px 16px rgba(15,23,42,.08)!important}.desktop-right-panel,.desktop-sidebar-nav{display:none!important}}@media (min-width:768px){body{padding-bottom:0}.mobile-bottom-nav{display:none!important}.desktop-sidebar-nav{display:flex!important}}@media (min-width:1024px){.desktop-right-panel{display:flex!important}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--violet-800)!important;outline-offset:2px!important}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.animate-fade-in{animation:fadeIn .2s ease-out forwards}.animate-slide-up{animation:slideUp .25s cubic-bezier(.16,1,.3,1) forwards}