:root{--color-bg:255 255 255;--color-bg-secondary:249 250 251;--color-bg-tertiary:243 244 246;--color-surface:255 255 255;--color-surface-hover:249 250 251;--color-border:229 231 235;--color-border-light:243 244 246;--color-text-primary:17 24 39;--color-text-secondary:107 114 128;--color-text-muted:156 163 175;--color-text-inverse:255 255 255;--color-primary:37 99 235;--color-primary-light:59 130 246;--color-primary-dark:29 78 216;--color-primary-bg:239 246 255;--color-success:22 163 74;--color-success-light:34 197 94;--color-success-bg:240 253 244;--color-warning:217 119 6;--color-warning-light:245 158 11;--color-warning-bg:255 251 235;--color-danger:220 38 38;--color-danger-light:239 68 68;--color-danger-bg:254 242 242;--color-info:2 132 199;--color-info-light:14 165 233;--color-info-bg:240 249 255;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--shadow-xs:0 1px 2px 0 rgba(0,0,0,.02);--shadow-sm:0 1px 3px 0 rgba(0,0,0,.04),0 1px 2px -1px rgba(0,0,0,.04);--shadow-md:0 4px 6px -1px rgba(0,0,0,.05),0 2px 4px -2px rgba(0,0,0,.04);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.06),0 4px 6px -4px rgba(0,0,0,.04);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.06),0 8px 10px -6px rgba(0,0,0,.04);--font-sans:"Poppins",system-ui,-apple-system,sans-serif;--font-mono:"JetBrains Mono","Fira Code",monospace;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:200ms cubic-bezier(0.4,0,0.2,1);--transition-slow:300ms cubic-bezier(0.4,0,0.2,1)}.dark{--color-bg:3 7 18;--color-bg-secondary:11 15 29;--color-bg-tertiary:17 24 39;--color-surface:17 24 39;--color-surface-hover:24 31 46;--color-border:31 41 55;--color-border-light:24 31 46;--color-text-primary:243 244 246;--color-text-secondary:156 163 175;--color-text-muted:107 114 128;--color-text-inverse:17 24 39;--color-primary-bg:17 24 39;--color-success-bg:5 25 15;--color-warning-bg:25 20 5;--color-danger-bg:25 5 5;--color-info-bg:5 15 25;--shadow-xs:0 1px 2px 0 rgba(0,0,0,.3);--shadow-sm:0 1px 3px 0 rgba(0,0,0,.3),0 1px 2px -1px rgba(0,0,0,.3);--shadow-md:0 4px 6px -1px rgba(0,0,0,.35),0 2px 4px -2px rgba(0,0,0,.3);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.4),0 4px 6px -4px rgba(0,0,0,.3);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.45),0 8px 10px -6px rgba(0,0,0,.3)}@keyframes fade-in-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slide-in-right{0%{opacity:0;transform:translateX(12px)}to{opacity:1;transform:translateX(0)}}@keyframes slide-in-left{0%{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.7}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin-slow{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-fade-in-up{animation:fade-in-up .4s cubic-bezier(.16,1,.3,1) both}.animate-fade-in{animation:fade-in .3s ease both}.animate-scale-in{animation:scale-in .3s cubic-bezier(.16,1,.3,1) both}.animate-slide-down{animation:slide-down .25s cubic-bezier(.16,1,.3,1) both}.animate-pulse-soft{animation:pulse-soft 2s ease-in-out infinite}.stagger>*{animation:fade-in-up .4s cubic-bezier(.16,1,.3,1) both}.stagger-1>*{animation-delay:calc(var(--i, 0) * 30ms)}.stagger-2>*{animation-delay:calc(var(--i, 0) * 50ms)}.stagger-3>*{animation-delay:calc(var(--i, 0) * 80ms)}.row-enter{animation:fade-in-up .3s cubic-bezier(.16,1,.3,1) both}.card-lift{transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1)}.card-lift:hover{transform:translateY(-2px);box-shadow:0 8px 25px -5px rgba(0,0,0,.08),0 4px 10px -5px rgba(0,0,0,.04)}.dark .card-lift:hover{box-shadow:0 8px 25px -5px rgba(0,0,0,.3),0 4px 10px -5px rgba(0,0,0,.2)}tr.row-hover{transition:background-color .15s ease}.skeleton-shimmer{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.4) 50%,transparent);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.dark .skeleton-shimmer{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.05) 50%,transparent);background-size:200% 100%}