:root{--primary-50:#f0f4ff;--primary-100:#dde6ff;--primary-200:#b8ccff;--primary-300:#8aacff;--primary-400:#6690ff;--primary-500:#466afa;--primary-600:#3a58db;--primary-700:#2e46b0;--primary-800:#233585;--primary-900:#182460;--neutral-0:#fff;--neutral-50:#f8fafc;--neutral-100:#f1f5f9;--neutral-200:#e2e8f0;--neutral-300:#cbd5e1;--neutral-400:#94a3b8;--neutral-500:#64748b;--neutral-600:#475569;--neutral-700:#334155;--neutral-800:#1e293b;--neutral-900:#0f172a;--success-50:#f0fdf4;--success-100:#dcfce7;--success-500:#22c55e;--success-600:#16a34a;--danger-50:#fef2f2;--danger-100:#fee2e2;--danger-500:#ef4444;--danger-600:#dc2626;--warning-50:#fffbeb;--warning-100:#fef3c7;--warning-500:#f59e0b;--warning-600:#d97706;--info-50:#eff6ff;--info-500:#3b82f6;--shadow-xs:0 1px 2px #0f172a0a;--shadow-sm:0 1px 3px #0f172a0f,0 1px 2px #0f172a0a;--shadow-md:0 4px 6px -1px #0f172a0f,0 2px 4px -2px #0f172a0a;--shadow-lg:0 10px 15px -3px #0f172a0f,0 4px 6px -4px #0f172a0a;--shadow-xl:0 20px 25px -5px #0f172a14,0 8px 10px -6px #0f172a0a;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:16px;--radius-full:9999px;--font-family:Arial,Helvetica,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-size-xs:.75rem;--font-size-sm:.8125rem;--font-size-base:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--sidebar-width:260px;--sidebar-collapsed-width:72px;--header-height:64px;--mobile-nav-height:64px;--transition-fast:.15s ease;--transition-base:.2s ease;--transition-slow:.3s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--neutral-700);background-color:#f9fafb;min-height:100vh;font-weight:400;line-height:1.6}a{color:var(--primary-500);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--primary-600)}button{font-family:var(--font-family);cursor:pointer;font-size:inherit;background:0 0;border:none}input,textarea,select{font-family:var(--font-family);font-size:var(--font-size-base)}img{max-width:100%;height:auto;display:block}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--neutral-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--neutral-400)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.card{background:var(--neutral-0);border-radius:var(--radius-2xl);transition:box-shadow var(--transition-base);border:none;box-shadow:0 20px 25px -5px #0000000f,0 8px 10px -6px #0000000a,0 0 #d1d5db80}.card:hover{box-shadow:0 25px 50px -12px #0000001f}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2)var(--space-4);border-radius:var(--radius-md);font-weight:500;font-size:var(--font-size-base);transition:all var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none;line-height:1.5;display:inline-flex}.btn-primary{color:#fff;border-radius:var(--radius-md);background:linear-gradient(to bottom right,#3b82f6,#2563eb)}.btn-primary:hover{background:linear-gradient(to bottom right,#2563eb,#1d4ed8);box-shadow:0 4px 12px #2563eb59}.btn-primary:active{transform:translateY(0);box-shadow:0 1px 3px #2563eb33}.btn-secondary{background:var(--neutral-0);color:var(--neutral-700);border:1px solid var(--neutral-200)}.btn-secondary:hover{background:var(--neutral-50);border-color:var(--neutral-300)}.btn-ghost{color:var(--neutral-600);background:0 0}.btn-ghost:hover{background:var(--neutral-100);color:var(--neutral-900)}.btn-danger{background:var(--danger-500);color:#fff}.btn-danger:hover{background:var(--danger-600)}.btn-sm{padding:var(--space-1)var(--space-3);font-size:var(--font-size-sm)}.btn-lg{padding:var(--space-3)var(--space-6);font-size:var(--font-size-md)}.btn-icon{padding:var(--space-2);width:36px;height:36px}.badge{padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--font-size-xs);align-items:center;font-weight:600;line-height:1.4;display:inline-flex}.badge-primary{background:var(--primary-100);color:var(--primary-700)}.badge-success{background:var(--success-100);color:var(--success-600)}.badge-danger{background:var(--danger-100);color:var(--danger-600)}.badge-warning{background:var(--warning-100);color:var(--warning-600)}.badge-neutral{background:var(--neutral-100);color:var(--neutral-600)}.input{width:100%;padding:var(--space-2)var(--space-3);border:1px solid var(--neutral-200);border-radius:var(--radius-md);background:var(--neutral-0);color:var(--neutral-900);font-size:var(--font-size-base);transition:all var(--transition-fast);outline:none}.input:focus{border-color:var(--primary-400);box-shadow:0 0 0 3px #3b63e01f}.input::placeholder{color:var(--neutral-400)}.trend-up{color:var(--success-500)}.trend-down{color:var(--danger-500)}.trend-neutral{color:var(--neutral-400)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in{animation:fadeIn var(--transition-base)ease-out}.animate-slide-up{animation:slideUp var(--transition-slow)ease-out}.animate-scale-in{animation:scaleIn var(--transition-base)ease-out}.skeleton{background:linear-gradient(90deg,var(--neutral-100)25%,var(--neutral-200)50%,var(--neutral-100)75%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.5s infinite shimmer}@media (max-width:1024px){:root{--sidebar-width:var(--sidebar-collapsed-width)}}@media (max-width:768px){:root{--sidebar-width:0px;--header-height:56px}body{padding-bottom:var(--mobile-nav-height)}}
