:root{--color-primary-50:#FDF8F6;--color-primary-100:#F2E8E5;--color-primary-200:#EADDD7;--color-primary-300:#E0CEC7;--color-primary-400:#D2BAB0;--color-primary-500:#D97757;--color-primary-600:#C06042;--color-primary-700:#A0492D;--color-primary-800:#853820;--color-primary-900:#682814;--color-secondary-50:#FAFAF9;--color-secondary-100:#F5F5F4;--color-secondary-200:#E7E5E4;--color-secondary-300:#D6D3D1;--color-secondary-400:#A8A29E;--color-secondary-500:#78716C;--color-secondary-600:#57534E;--color-secondary-700:#44403C;--color-secondary-800:#292524;--color-secondary-900:#1C1917;--color-success-50:#F0FDF4;--color-success-100:#DCFCE7;--color-success-200:#BBF7D0;--color-success-300:#86EFAC;--color-success-400:#4ADE80;--color-success-500:#22C55E;--color-success-600:#16A34A;--color-success-700:#15803D;--color-success-800:#166534;--color-success-900:#14532D;--color-warning-50:#FFFBEB;--color-warning-100:#FEF3C7;--color-warning-200:#FDE68A;--color-warning-300:#FCD34D;--color-warning-400:#FBBF24;--color-warning-500:#F59E0B;--color-warning-600:#D97706;--color-warning-700:#B45309;--color-warning-800:#92400E;--color-warning-900:#78350F;--color-error-50:#FEF2F2;--color-error-100:#FEE2E2;--color-error-200:#FECACA;--color-error-300:#FCA5A5;--color-error-400:#F87171;--color-error-500:#EF4444;--color-error-600:#DC2626;--color-error-700:#B91C1C;--color-error-800:#991B1B;--color-error-900:#7F1D1D;--color-neutral-50:#FDFCFB;--color-neutral-100:#F7F6F3;--color-neutral-200:#ECEBE9;--color-neutral-300:#E0DFDC;--color-neutral-400:#9D9D9B;--color-neutral-500:#6B6B68;--color-neutral-600:#4A4A48;--color-neutral-700:#383836;--color-neutral-800:#262625;--color-neutral-900:#1A1A19;--color-background:#FDFCFB;--color-background-secondary:#F7F6F3;--color-surface:#FFFFFF;--color-surface-elevated:#FFFFFF;--color-surface-hover:#F0F0EE;--color-surface-active:#E6E6E4;--color-text-primary:#383836;--color-text-secondary:#6B6B68;--color-text-muted:#9D9D9B;--color-text-inverse:#FFFFFF;--color-border:#E0DFDC;--color-border-light:#ECEBE9;--color-border-medium:#D1D1CF;--color-border-dark:#9D9D9B;--font-family-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell",sans-serif;--font-family-display:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell",sans-serif;--font-family-mono:"JetBrains Mono","Monaco","Consolas","Courier New",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-size-5xl:3rem;--font-size-6xl:3.75rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:500;--font-weight-bold:600;--font-weight-extrabold:700;--line-height-none:1;--line-height-tight:1.25;--line-height-snug:1.4;--line-height-normal:1.6;--line-height-relaxed:1.75;--line-height-loose:2;--letter-spacing-tighter:-0.02em;--letter-spacing-tight:-0.01em;--letter-spacing-normal:0;--letter-spacing-wide:0.01em;--letter-spacing-wider:0.02em;--letter-spacing-widest:0.05em;--space-0:0;--space-px:1px;--space-0-5:0.125rem;--space-1:0.25rem;--space-1-5:0.375rem;--space-2:0.5rem;--space-2-5:0.625rem;--space-3:0.75rem;--space-3-5:0.875rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:1.75rem;--space-8:2rem;--space-9:2.25rem;--space-10:2.5rem;--space-11:2.75rem;--space-12:3rem;--space-14:3.5rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-28:7rem;--space-32:8rem;--space-36:9rem;--space-40:10rem;--space-44:11rem;--space-48:12rem;--space-52:13rem;--space-56:14rem;--space-60:15rem;--space-64:16rem;--space-72:18rem;--space-80:20rem;--space-96:24rem;--radius-none:0;--radius-sm:0.25rem;--radius-base:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-3xl:2rem;--radius-full:9999px;--shadow-xs:0 1px 2px 0 rgba(0,0,0,0.02);--shadow-sm:0 1px 3px 0 rgba(0,0,0,0.05),0 1px 2px 0 rgba(0,0,0,0.03);--shadow-base:0 4px 6px -1px rgba(0,0,0,0.05),0 2px 4px -1px rgba(0,0,0,0.03);--shadow-md:0 10px 15px -3px rgba(0,0,0,0.05),0 4px 6px -2px rgba(0,0,0,0.02);--shadow-lg:0 20px 25px -5px rgba(0,0,0,0.05),0 10px 10px -5px rgba(0,0,0,0.02);--shadow-xl:0 25px 50px -12px rgba(0,0,0,0.15);--shadow-2xl:0 25px 50px -12px rgba(0,0,0,0.15);--shadow-inner:inset 0 2px 4px 0 rgba(0,0,0,0.03);--transition-none:none;--transition-all:all 200ms cubic-bezier(0.4,0,0.2,1);--transition-colors:color 200ms cubic-bezier(0.4,0,0.2,1),background-color 200ms cubic-bezier(0.4,0,0.2,1),border-color 200ms cubic-bezier(0.4,0,0.2,1);--transition-opacity:opacity 200ms cubic-bezier(0.4,0,0.2,1);--transition-shadow:box-shadow 200ms cubic-bezier(0.4,0,0.2,1);--transition-transform:transform 200ms cubic-bezier(0.4,0,0.2,1);--z-index-hide:-1;--z-index-auto:auto;--z-index-base:0;--z-index-docked:10;--z-index-dropdown:1000;--z-index-sticky:1100;--z-index-banner:1200;--z-index-overlay:1300;--z-index-modal:1400;--z-index-popover:1500;--z-index-skipLink:1600;--z-index-toast:1700;--z-index-tooltip:1800;--duration-instant:100ms;--duration-fast:150ms;--duration-normal:200ms;--duration-slow:300ms;--duration-slower:400ms;--duration-slowest: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-smooth:cubic-bezier(0.4,0.0,0.2,1);--ease-bounce:cubic-bezier(0.68,-0.55,0.265,1.55);--ease-spring:cubic-bezier(0.175,0.885,0.32,1.275);--ease-ui:var(--ease-smooth);--ease-dropdown:var(--ease-out);--ease-modal:var(--ease-in-out);--ease-button:var(--ease-out);--breakpoint-xs:0px;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px;--button-height-sm:2rem;--button-height-md:2.5rem;--button-height-lg:3rem;--button-height-xl:3.5rem;--button-padding-sm:var(--space-2) var(--space-3);--button-padding-md:var(--space-3) var(--space-4);--button-padding-lg:var(--space-4) var(--space-6);--button-padding-xl:var(--space-5) var(--space-8);--input-height-sm:2rem;--input-height-md:2.5rem;--input-height-lg:3rem;--input-height-xl:3.5rem;--input-padding-sm:var(--space-2) var(--space-3);--input-padding-md:var(--space-3) var(--space-4);--input-padding-lg:var(--space-4) var(--space-5);--input-padding-xl:var(--space-5) var(--space-6);--card-padding-sm:var(--space-4);--card-padding-md:var(--space-6);--card-padding-lg:var(--space-8);--card-padding-xl:var(--space-10)}[data-theme=dark]{--color-background:#1A1A19;--color-background-secondary:#262625;--color-surface:#262625;--color-surface-elevated:#383836;--color-surface-hover:#383836;--color-surface-active:#4A4A48;--color-text-primary:#F7F6F3;--color-text-secondary:#D6D3D1;--color-text-muted:#9D9D9B;--color-border:#383836;--color-border-light:#4A4A48;--color-border-medium:#6B6B68;--color-border-dark:#9D9D9B;--shadow-xs:0 1px 2px 0 rgba(0,0,0,0.3);--shadow-sm:0 1px 3px 0 rgba(0,0,0,0.4),0 1px 2px 0 rgba(0,0,0,0.3);--shadow-base:0 4px 6px -1px rgba(0,0,0,0.4),0 2px 4px -1px rgba(0,0,0,0.3);--shadow-md:0 10px 15px -3px rgba(0,0,0,0.4),0 4px 6px -2px rgba(0,0,0,0.3);--shadow-lg:0 20px 25px -5px rgba(0,0,0,0.4),0 10px 10px -5px rgba(0,0,0,0.3);--shadow-xl:0 25px 50px -12px rgba(0,0,0,0.5)}@media (min-width:640px){:root{--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}}@media (min-width:768px){:root{--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}}@media (min-width:1024px){:root{--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}}:root{--focus-ring-width:2px;--focus-ring-color:var(--color-primary-500);--focus-ring-offset:2px}@media (prefers-contrast:high){:root{--color-border:#000000;--color-text-primary:#000000;--color-text-secondary:#000000;--shadow-base:0 4px 6px -1px rgba(0,0,0,0.3),0 2px 4px -1px rgba(0,0,0,0.2)}[data-theme=dark]{--color-border:#FFFFFF;--color-text-primary:#FFFFFF;--color-text-secondary:#FFFFFF}}@media (prefers-reduced-motion:reduce){:root{--transition-all:none;--transition-colors:none;--transition-opacity:none;--transition-shadow:none;--transition-transform:none}}@media print{:root{--color-background:#FFFFFF;--color-text-primary:#000000;--color-text-secondary:#000000;--shadow-base:none;--shadow-lg:none;--shadow-xl:none}}*,:after,:before{box-sizing:border-box}body{font-family:var(--font-family-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-colors),color var(--transition-colors)}.text-display-2xl{font-size:var(--font-size-6xl)}.text-display-2xl,.text-display-xl{font-family:var(--font-family-display);font-weight:var(--font-weight-extrabold);line-height:var(--line-height-none);letter-spacing:var(--letter-spacing-tighter);color:var(--color-text-primary)}.text-display-xl{font-size:var(--font-size-5xl)}.text-display-lg{font-family:var(--font-family-display);font-size:var(--font-size-4xl);font-weight:var(--font-weight-extrabold);line-height:var(--line-height-none);letter-spacing:var(--letter-spacing-tighter);color:var(--color-text-primary)}.text-display-md{font-size:var(--font-size-3xl)}.text-display-md,.text-display-sm{font-family:var(--font-family-display);font-weight:var(--font-weight-extrabold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tighter);color:var(--color-text-primary)}.text-display-sm{font-size:var(--font-size-2xl)}.text-heading-xl{font-size:var(--font-size-3xl)}.text-heading-lg,.text-heading-xl{font-family:var(--font-family-sans);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);color:var(--color-text-primary)}.text-heading-lg{font-size:var(--font-size-2xl)}.text-heading-md{font-size:var(--font-size-xl)}.text-heading-md,.text-heading-sm{font-family:var(--font-family-sans);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);letter-spacing:var(--letter-spacing-normal);color:var(--color-text-primary)}.text-heading-sm{font-size:var(--font-size-lg)}.text-body-xl{font-size:var(--font-size-xl)}.text-body-lg,.text-body-xl{font-family:var(--font-family-sans);font-weight:var(--font-weight-normal);line-height:var(--line-height-relaxed);letter-spacing:var(--letter-spacing-normal);color:var(--color-text-primary)}.text-body-lg{font-size:var(--font-size-lg)}.text-body-md{font-size:var(--font-size-base);color:var(--color-text-primary)}.text-body-md,.text-body-sm{font-family:var(--font-family-sans);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-normal)}.text-body-sm{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.text-body-xs{font-family:var(--font-family-sans);font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-normal);color:var(--color-text-muted)}.text-code-lg{font-size:var(--font-size-lg)}.text-code-lg,.text-code-md{font-family:var(--font-family-mono);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-normal);color:var(--color-text-primary)}.text-code-md{font-size:var(--font-size-base)}.text-code-sm{font-family:var(--font-family-mono);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-normal);color:var(--color-text-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-family-sans);font-weight:var(--font-weight-medium);text-decoration:none;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-all);position:relative;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.btn:focus{outline:none;box-shadow:0 0 0 var(--focus-ring-width) var(--focus-ring-color)}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-sm{height:var(--button-height-sm);padding:var(--button-padding-sm);font-size:var(--font-size-sm);border-radius:var(--radius-md)}.btn-md{height:var(--button-height-md);padding:var(--button-padding-md);font-size:var(--font-size-base);border-radius:var(--radius-lg)}.btn-lg{height:var(--button-height-lg);padding:var(--button-padding-lg);font-size:var(--font-size-lg);border-radius:var(--radius-xl)}.btn-xl{height:var(--button-height-xl);padding:var(--button-padding-xl);font-size:var(--font-size-xl);border-radius:var(--radius-2xl)}.btn-primary{background:var(--color-primary-500);color:var(--color-text-inverse);box-shadow:var(--shadow-sm);border:1px solid transparent}.btn-primary:hover{background:var(--color-primary-600);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.btn-secondary{background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);box-shadow:var(--shadow-xs)}.btn-secondary:hover{background:var(--color-surface-hover);border-color:var(--color-primary-300);box-shadow:var(--shadow-sm)}.btn-outline{background:transparent;color:var(--color-primary-600);border:1px solid var(--color-primary-600)}.btn-outline:hover{background:var(--color-primary-50);border-color:var(--color-primary-700)}.btn-ghost{background:transparent;color:var(--color-text-secondary);border:none}.btn-ghost:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.btn-danger{background:var(--color-error-600);color:var(--color-text-inverse);box-shadow:var(--shadow-sm)}.btn-danger:hover{background:var(--color-error-700);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-success{background:var(--color-success-600);color:var(--color-text-inverse);box-shadow:var(--shadow-sm)}.btn-success:hover{background:var(--color-success-700);box-shadow:var(--shadow-md);transform:translateY(-1px)}.input{display:block;width:100%;font-family:var(--font-family-sans);font-size:var(--font-size-base);color:var(--color-text-primary);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-all);outline:none;box-shadow:var(--shadow-xs)}.input::-moz-placeholder{color:var(--color-text-muted)}.input::placeholder{color:var(--color-text-muted)}.input:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 2px var(--color-primary-100);background-color:var(--color-surface)}.input:disabled{opacity:.5;cursor:not-allowed;background-color:var(--color-surface-hover)}.input:invalid{border-color:var(--color-error-500)}.input:invalid:focus{box-shadow:0 0 0 3px var(--color-error-100)}.input-sm{height:var(--input-height-sm);padding:var(--input-padding-sm);font-size:var(--font-size-sm);border-radius:var(--radius-md)}.input-md{height:var(--input-height-md);padding:var(--input-padding-md);font-size:var(--font-size-base);border-radius:var(--radius-lg)}.input-lg{height:var(--input-height-lg);padding:var(--input-padding-lg);font-size:var(--font-size-lg);border-radius:var(--radius-xl)}.input-xl{height:var(--input-height-xl);padding:var(--input-padding-xl);font-size:var(--font-size-xl);border-radius:var(--radius-2xl)}.input-ghost{background:transparent;border:none;box-shadow:none}.input-ghost:focus{border:1px solid var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100)}.card,.input-ghost:focus{background:var(--color-surface)}.card{border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);overflow:hidden;transition:all var(--transition-all)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-sm{padding:var(--card-padding-sm)}.card-md{padding:var(--card-padding-md)}.card-lg{padding:var(--card-padding-lg)}.card-xl{padding:var(--card-padding-xl)}.card-elevated{box-shadow:var(--shadow-lg)}.card-elevated:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px)}.card-glass{background:rgba(255,255,255,.85);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2)}[data-theme=dark] .card-glass{background:rgba(15,23,42,.85);border:1px solid rgba(255,255,255,.1)}.card-interactive{cursor:pointer}.card-interactive:hover{background:var(--color-surface-hover);border-color:var(--color-primary-300)}.badge{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-family-sans);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:var(--line-height-none);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);border:none;white-space:nowrap}.badge-primary{background:var(--color-primary-100);color:var(--color-primary-800)}.badge-secondary{background:var(--color-secondary-100);color:var(--color-secondary-800)}.badge-success{background:var(--color-success-100);color:var(--color-success-800)}.badge-warning{background:var(--color-warning-100);color:var(--color-warning-800)}.badge-error{background:var(--color-error-100);color:var(--color-error-800)}.badge-neutral{background:var(--color-neutral-100);color:var(--color-neutral-800)}.avatar{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-family-sans);font-weight:var(--font-weight-medium);color:var(--color-text-inverse);background:var(--color-primary-500);border-radius:var(--radius-full);overflow:hidden;flex-shrink:0}.avatar-xs{width:1.5rem;height:1.5rem;font-size:var(--font-size-xs)}.avatar-sm{width:2rem;height:2rem;font-size:var(--font-size-sm)}.avatar-md{width:2.5rem;height:2.5rem;font-size:var(--font-size-base)}.avatar-lg{width:3rem;height:3rem;font-size:var(--font-size-lg)}.avatar-xl{width:4rem;height:4rem;font-size:var(--font-size-xl)}.avatar-2xl{width:5rem;height:5rem;font-size:var(--font-size-2xl)}.tooltip{position:relative;display:inline-block}.tooltip-content{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);padding:var(--space-2) var(--space-3);background:var(--color-neutral-900);color:var(--color-text-inverse);font-size:var(--font-size-sm);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-index-tooltip);opacity:0;pointer-events:none;transition:opacity var(--transition-all);white-space:nowrap}.tooltip:hover .tooltip-content{opacity:1}.spinner{display:inline-block;width:1rem;height:1rem;border-top:2px solid var(--color-neutral-200);border:2px solid var(--color-neutral-200);border-top-color:var(--color-primary-500);border-radius:var(--radius-full);animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.skeleton{background:linear-gradient(90deg,var(--color-neutral-100) 25%,var(--color-neutral-200) 50%,var(--color-neutral-100) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}[data-theme=dark] .skeleton{background:linear-gradient(90deg,var(--color-neutral-800) 25%,var(--color-neutral-700) 50%,var(--color-neutral-800) 75%)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.text-gradient{color:var(--color-primary-600);font-weight:var(--font-weight-bold)}.glass{background:rgba(255,255,255,.1);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}[data-theme=dark] .glass{background:rgba(0,0,0,.1);border:1px solid rgba(255,255,255,.1)}.focus-ring{outline:none;box-shadow:0 0 0 var(--focus-ring-width) var(--focus-ring-color)}.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}@media (max-width:640px){.btn-sm{height:2.5rem}.btn-md{height:3rem}.btn-lg{height:3.5rem}.btn-xl{height:4rem}.input-sm{height:2.5rem}.input-md{height:3rem}.input-lg{height:3.5rem}.input-xl{height:4rem}.card-sm{padding:var(--space-3)}.card-md{padding:var(--space-4)}.card-lg{padding:var(--space-5)}.card-xl{padding:var(--space-6)}}@media (hover:none) and (pointer:coarse){.btn:hover,.card:hover{transform:none}.btn:active{transform:scale(.98)}}@media (prefers-reduced-motion:reduce){.btn,.card,.skeleton,.spinner{animation:none;transition:none}}