:root{--color-primary:#007bff;--color-primary-hover:#0056b3;--color-secondary:#6c757d;--color-success:#28a745;--color-danger:#dc3545;--color-warning:#ffc107;--color-info:#17a2b8;--color-primary-50:#e6f2ff;--color-primary-100:#b3d9ff;--color-primary-200:#80bfff;--color-primary-300:#4da6ff;--color-primary-400:#1a8cff;--color-primary-500:#007bff;--color-primary-600:#0062cc;--color-primary-700:#004a99;--color-primary-800:#003166;--color-primary-900:#001933;--color-white:#fff;--color-gray-50:#f8f9fa;--color-gray-100:#e9ecef;--color-gray-200:#dee2e6;--color-gray-300:#ced4da;--color-gray-400:#adb5bd;--color-gray-500:#6c757d;--color-gray-600:#495057;--color-gray-700:#343a40;--color-gray-800:#212529;--color-gray-900:#1a1a1a;--color-background:var(--color-gray-50);--color-surface:var(--color-white);--color-bg-primary:var(--color-white);--color-bg-secondary:var(--color-gray-50);--color-text-primary:var(--color-gray-900);--color-text-secondary:var(--color-gray-600);--color-text-muted:var(--color-gray-500);--color-border:var(--color-gray-200);--color-border-light:var(--color-gray-100);--color-success-light:#d4edda;--color-danger-light:#f8d7da;--color-warning-light:#fff3cd;--color-info-light:#d1ecf1;--color-surface-elevated:var(--color-white);--color-surface-hover:var(--color-gray-50);--color-surface-pressed:var(--color-gray-100);--color-focus-ring:rgba(0,123,255,.25);--color-overlay:rgba(0,0,0,.5);--font-family-base:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--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;--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;--radius-sm:0.25rem;--radius-md:0.375rem;--radius-lg:0.5rem;--radius-xl:0.75rem;--radius-2xl:1rem;--radius-full:9999px;--shadow-xs:0 1px 2px 0 rgba(0,0,0,.05);--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);--shadow-inner:inset 0 2px 4px 0 rgba(0,0,0,.06);--shadow-elevation-low:0 1px 3px rgba(0,0,0,.12);--shadow-elevation-medium:0 4px 6px rgba(0,0,0,.1);--shadow-elevation-high:0 10px 24px rgba(0,0,0,.15);--shadow-elevation-highest:0 20px 40px rgba(0,0,0,.2);--gradient-primary:linear-gradient(135deg,var(--color-primary-500) 0%,var(--color-primary-700) 100%);--gradient-surface:linear-gradient(180deg,var(--color-white) 0%,var(--color-gray-50) 100%);--transition-fast:150ms ease-in-out;--transition-normal:250ms ease-in-out;--transition-slow:350ms ease-in-out;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-normal);background-color:var(--color-background)}body,h1,h2,h3,h4,h5,h6{color:var(--color-text-primary)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);margin:0}h1{font-size:var(--font-size-4xl);margin-bottom:var(--space-4)}h2{font-size:var(--font-size-3xl)}h2,h3{margin-bottom:var(--space-3)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h4,h5{margin-bottom:var(--space-2)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base);margin-bottom:var(--space-2)}p{margin:0 0 var(--space-4) 0}.text-subtitle,p{line-height:var(--line-height-relaxed);color:var(--color-text-secondary)}.text-subtitle{font-size:var(--font-size-lg)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.text-4xl{font-size:var(--font-size-4xl)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.leading-tight{line-height:var(--line-height-tight)}.leading-normal{line-height:var(--line-height-normal)}.leading-relaxed{line-height:var(--line-height-relaxed)}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-secondary)}.text-success{color:var(--color-success)}.text-danger{color:var(--color-danger)}.text-muted{color:var(--color-text-muted)}.bg-primary{background-color:var(--color-primary)}.bg-secondary{background-color:var(--color-secondary)}.bg-surface{background-color:var(--color-surface)}.bg-background{background-color:var(--color-background)}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.m-1{margin:var(--space-1)}.m-2{margin:var(--space-2)}.m-4{margin:var(--space-4)}.m-6{margin:var(--space-6)}.m-8{margin:var(--space-8)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-40px;left:6px;background:var(--color-primary);color:var(--color-white);padding:8px;text-decoration:none;border-radius:4px;z-index:1000;transition:top .3s}.skip-link:focus{top:6px}