:root{--space-0:0;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.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;--space-20:5rem;--space-24:6rem;--space-button-padding-x:var(--space-6);--space-button-padding-y:var(--space-3);--space-button-padding-sm-x:var(--space-4);--space-button-padding-sm-y:var(--space-2);--space-button-gap:var(--space-2);--space-card-padding:var(--space-6);--space-card-gap:var(--space-4);--space-badge-padding-x:var(--space-3);--space-badge-padding-y:var(--space-1);--space-input-padding-x:var(--space-4);--space-input-padding-y:var(--space-3);--space-section-gap:var(--space-8);--space-page-padding:var(--space-10);--space-page-padding-mobile:var(--space-6);--space-header-padding:var(--space-6);--space-grid-gap:var(--space-6);--space-grid-gap-sm:var(--space-4);--font-sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;--font-mono:"Courier New","SF Mono",Monaco,Consolas,monospace;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--letter-spacing-tight:-0.02em;--letter-spacing-normal:0;--letter-spacing-wide:0.05em;--font-page-title:var(--font-weight-bold) var(--font-size-4xl) /var(--line-height-tight) var(--font-sans);--font-section-title:var(--font-weight-semibold) var(--font-size-lg) /var(--line-height-normal) var(--font-sans);--font-card-title:var(--font-weight-semibold) var(--font-size-lg) /var(--line-height-normal) var(--font-sans);--font-body:var(--font-weight-normal) var(--font-size-base) /var(--line-height-normal) var(--font-sans);--font-body-sm:var(--font-weight-normal) var(--font-size-sm) /var(--line-height-normal) var(--font-sans);--font-label:var(--font-weight-medium) var(--font-size-xs) /var(--line-height-normal) var(--font-sans);--font-stat-value:var(--font-weight-bold) var(--font-size-4xl) /var(--line-height-tight) var(--font-sans);--font-badge:var(--font-weight-medium) var(--font-size-xs) /var(--line-height-tight) var(--font-sans);--font-mono:var(--font-weight-normal) var(--font-size-sm) /var(--line-height-normal) var(--font-mono);--shadow-xs:0 1px 2px 0 rgba(0,0,0,0.05);--shadow-sm:0 1px 3px 0 rgba(0,0,0,0.1),0 1px 2px -1px rgba(0,0,0,0.1);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -2px rgba(0,0,0,0.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -4px rgba(0,0,0,0.1);--shadow-xl:0 20px 25px -5px rgba(0,0,0,0.1),0 8px 10px -6px rgba(0,0,0,0.1);--shadow-2xl:0 25px 50px -12px rgba(0,0,0,0.25);--shadow-inner:inset 0 2px 4px 0 rgba(0,0,0,0.05);--shadow-none:0 0 0 0 rgba(0,0,0,0);--shadow-primary:0 4px 14px 0 rgba(59,130,246,0.4);--shadow-success:0 4px 14px 0 rgba(16,185,129,0.4);--shadow-warning:0 4px 14px 0 rgba(251,191,36,0.4);--shadow-danger:0 4px 14px 0 rgba(239,68,68,0.4);--shadow-dark-xs:0 1px 2px 0 rgba(0,0,0,0.3);--shadow-dark-sm:0 1px 3px 0 rgba(0,0,0,0.4),0 1px 2px -1px rgba(0,0,0,0.4);--shadow-dark-md:0 4px 6px -1px rgba(0,0,0,0.5),0 2px 4px -2px rgba(0,0,0,0.5);--shadow-dark-lg:0 10px 15px -3px rgba(0,0,0,0.6),0 4px 6px -4px rgba(0,0,0,0.6);--shadow-dark-xl:0 20px 25px -5px rgba(0,0,0,0.7),0 8px 10px -6px rgba(0,0,0,0.7);--shadow-dark-2xl:0 25px 50px -12px rgba(0,0,0,0.8);--shadow-card:var(--shadow-md);--shadow-card-hover:var(--shadow-lg);--shadow-modal:var(--shadow-2xl);--shadow-dropdown:var(--shadow-lg);--shadow-button:var(--shadow-sm);--shadow-button-hover:var(--shadow-md);--shadow-focus:0 0 0 3px rgba(59,130,246,0.5)}[data-theme=dark]{--shadow-card:var(--shadow-dark-md);--shadow-card-hover:var(--shadow-dark-lg);--shadow-modal:var(--shadow-dark-2xl);--shadow-dropdown:var(--shadow-dark-lg);--shadow-button:var(--shadow-dark-sm);--shadow-button-hover:var(--shadow-dark-md)}:root{--radius-none:0;--radius-xs:0.125rem;--radius-sm:0.25rem;--radius-md:0.375rem;--radius-lg:0.5rem;--radius-xl:0.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--radius-full:9999px;--radius-button:var(--radius-md);--radius-button-sm:var(--radius-sm);--radius-button-lg:var(--radius-lg);--radius-card:var(--radius-lg);--radius-modal:var(--radius-xl);--radius-input:var(--radius-md);--radius-badge:var(--radius-full);--radius-avatar:var(--radius-full);--radius-dropdown:var(--radius-lg);--radius-tooltip:var(--radius-md);--radius-tag:var(--radius-sm);--radius-image:var(--radius-lg);--duration-instant:0ms;--duration-fast:150ms;--duration-normal:200ms;--duration-slow:300ms;--duration-slower:500ms;--ease-linear:linear;--ease-in:cubic-bezier(0.4,0,1,1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-in-out:cubic-bezier(0.4,0,0.2,1);--ease-bounce:cubic-bezier(0.68,-0.55,0.265,1.55);--ease-smooth:cubic-bezier(0.25,0.46,0.45,0.94);--transition-button:all var(--duration-fast) var(--ease-out);--transition-card:all var(--duration-normal) var(--ease-smooth);--transition-dropdown:all var(--duration-fast) var(--ease-out);--transition-modal:all var(--duration-normal) var(--ease-out);--transition-tooltip:all var(--duration-fast) var(--ease-out);--transition-color:color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out);--transition-transform:transform var(--duration-normal) var(--ease-smooth);--transition-all:all var(--duration-normal) var(--ease-smooth)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideInRight{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slideInLeft{0%{transform:translateX(-100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slideInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}@keyframes scaleOut{0%{transform:scale(1);opacity:1}to{transform:scale(.95);opacity:0}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}.animate-fade-in{animation:fadeIn var(--duration-normal) var(--ease-out)}.animate-slide-in-right{animation:slideInRight var(--duration-normal) var(--ease-smooth)}.animate-slide-in-up{animation:slideInUp var(--duration-normal) var(--ease-smooth)}.animate-scale-in{animation:scaleIn var(--duration-fast) var(--ease-out)}.animate-spin{animation:spin 1s var(--ease-linear) infinite}.animate-pulse{animation:pulse 2s var(--ease-in-out) infinite}.animate-bounce{animation:bounce 1s var(--ease-in-out) infinite}.animate-shake{animation:shake .5s var(--ease-in-out)}