:root{--bg:#f8fafc;--bg-subtle:#f1f5f9;--card:#fff;--sidebar:#020617;--sidebar-hover:hsla(0,0%,100%,.06);--sidebar-active:rgba(108,92,231,.15);--primary:#6c5ce7;--primary-hover:#5a4bd6;--primary-light:#a5b4fc;--primary-bg:rgba(108,92,231,.08);--secondary:#00b894;--secondary-hover:#00a381;--secondary-bg:rgba(0,184,148,.08);--warning:#f59e0b;--warning-bg:rgba(245,158,11,.08);--danger:#ef4444;--danger-hover:#dc2626;--danger-bg:rgba(239,68,68,.08);--success:#10b981;--success-bg:rgba(16,185,129,.08);--info:#3b82f6;--info-bg:rgba(59,130,246,.08);--border:#e2e8f0;--border-hover:#cbd5e1;--border-focus:#6c5ce7;--border-width:1px;--border-width-strong:2px;--focus-ring-width:3px;--text-primary:#0f172a;--text-secondary:#64748b;--text-muted:#94a3b8;--text-inverse:#fff;--text-link:#6c5ce7;--radius:16px;--radius-sm:10px;--radius-xs:6px;--radius-full:9999px;--shadow-card:0 8px 30px rgba(15,23,42,.06);--shadow-hover:0 12px 40px rgba(15,23,42,.1);--shadow-sm:0 1px 3px rgba(15,23,42,.04);--shadow-md:0 4px 16px rgba(15,23,42,.08);--shadow-lg:0 20px 60px rgba(15,23,42,.12);--shadow-drawer:-8px 0 40px rgba(15,23,42,.1);--font:"Inter",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--text-xs:11px;--text-sm:13px;--text-base:14px;--text-md:16px;--text-lg:18px;--text-xl:22px;--text-2xl:28px;--text-3xl:36px;--leading-tight:1.25;--leading-normal:1.5;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--transition:200ms cubic-bezier(0.4,0,0.2,1);--transition-slow:350ms cubic-bezier(0.4,0,0.2,1);--transition-bounce:400ms cubic-bezier(0.34,1.56,0.64,1);--sidebar-width:280px;--topbar-height:64px;--content-max:1440px;--drawer-width:520px;--z-dropdown:100;--z-sticky:200;--z-overlay:300;--z-modal:400;--z-toast:500}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideRight{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes slideLeft{0%{transform:translateX(0)}to{transform:translateX(100%)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes skeletonPulse{0%,to{opacity:.4}50%{opacity:1}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}