/* MAM Design System — generated from tokens.json */
:root, [data-theme="light"] {
  --mam-red: #F23F40;
  --mam-navy: #021F3B;
  --mam-blush: #FFD4CF;
  --mam-cream: #FFF8E5;
  --mam-white: #FFFFFF;
  --mam-red-ink: #D31B1C;
  --mam-red-text: #F13031;
  --mam-amber: #FFB53E;
  --mam-amber-tint: #FFF0D6;
  --mam-blush-stroke: #FCD3CF;
  --mam-palm: #657652;
  --mam-odyssey: #23617E;
  --mam-lagoon: #94BEBB;
  --mam-palm-tint: #E8EAE5;
  --mam-odyssey-tint: #E4EBF2;
  --mam-navy-muted: #C9D3DC;
  --app-bg: #FFFCF5;
  --app-preview-bg: #FFFEFA;
  --app-surface: var(--mam-white);
  --app-surface-2: #FFF8EF;
  --app-hover: #FAF0E6;
  --app-placeholder: #F1EAE0;
  --app-sidebar: var(--mam-navy);
  --app-on-sidebar: var(--mam-cream);
  --app-on-sidebar-muted: var(--mam-navy-muted);
  --app-inverse: var(--mam-navy);
  --app-on-inverse: var(--mam-cream);
  --app-inverse-accent: var(--mam-blush);
  --app-scrim: rgba(2,31,59,0.45);
  --app-dialog-edge: rgba(0,0,0,0);
  --app-text: var(--mam-navy);
  --app-text-muted: #5C7185;
  --app-text-faint: #64717D;
  --app-symbol: var(--mam-navy);
  --app-accent: var(--mam-red-ink);
  --app-on-accent: var(--mam-cream);
  --app-accent-quiet: var(--mam-blush);
  --app-highlight: var(--mam-blush);
  --app-on-highlight: var(--mam-navy);
  --app-highlight-border: var(--mam-blush-stroke);
  --app-quiet-text: #A8141A;
  --app-border: var(--mam-blush-stroke);
  --app-border-strong: #F7BDB6;
  --app-focus: var(--mam-red-ink);
  --app-focus-sidebar: var(--mam-blush);
  --app-focus-inverse: var(--mam-blush);
  --app-success: var(--mam-palm);
  --app-success-bg: var(--mam-palm-tint);
  --app-success-text: #4F5E3F;
  --app-info: var(--mam-odyssey);
  --app-info-bg: var(--mam-odyssey-tint);
  --app-info-text: var(--mam-odyssey);
  --app-warning: var(--mam-amber);
  --app-warning-bg: var(--mam-amber-tint);
  --app-warning-text: var(--mam-navy);
  --app-danger: var(--mam-red-ink);
  --app-danger-bg: var(--mam-blush);
  --app-danger-text: var(--mam-navy);
  --data-1: var(--mam-odyssey);
  --data-2: var(--mam-lagoon);
  --data-2-edge: #4C7C78;
  --data-3: var(--mam-amber);
  --data-3-edge: #9A6500;
  --data-4: var(--mam-palm);
  --data-5: var(--mam-navy);
  --data-heat-1: var(--mam-odyssey-tint);
  --data-heat-2: #A9C1CF;
  --data-heat-3: #6F98AE;
  --data-heat-4: var(--mam-odyssey);
  --block-red: var(--mam-red);
  --app-shadow-card: 8px 11px 4px 0 rgba(211,27,28,.1);
}
[data-theme="dark"] {
  --app-bg: #0A1624;
  --app-preview-bg: var(--app-bg);
  --app-surface: #12243A;
  --app-surface-2: #0E1D30;
  --app-hover: #1B3150;
  --app-placeholder: #1E3350;
  --app-sidebar: #050F1A;
  --app-on-sidebar: var(--mam-cream);
  --app-on-sidebar-muted: #A8B5C2;
  --app-inverse: var(--mam-cream);
  --app-on-inverse: var(--mam-navy);
  --app-inverse-accent: #A3161A;
  --app-scrim: rgba(0,0,0,0.6);
  --app-dialog-edge: var(--app-border-strong);
  --app-text: #F4EFE4;
  --app-text-muted: #A8B5C2;
  --app-text-faint: #A9B6C3;
  --app-symbol: var(--mam-blush);
  --app-accent: #FF8E84;
  --app-on-accent: var(--mam-navy);
  --app-accent-quiet: #4A2530;
  --app-highlight: #4A2530;
  --app-on-highlight: var(--mam-blush);
  --app-highlight-border: #6A3540;
  --app-quiet-text: #FF8E84;
  --app-border: #2E4560;
  --app-border-strong: #4A6280;
  --app-focus: #FF8A7F;
  --app-focus-sidebar: var(--mam-blush);
  --app-focus-inverse: #A3161A;
  --app-success: #9DB27F;
  --app-success-bg: #1C2A1E;
  --app-success-text: #B5C99A;
  --app-info: #5AA6CC;
  --app-info-bg: #10293B;
  --app-info-text: #9CCBE3;
  --app-warning: var(--mam-amber);
  --app-warning-bg: #33270F;
  --app-warning-text: #FFD58A;
  --app-danger: #FF8E84;
  --app-danger-bg: #3D1C22;
  --app-danger-text: #FFC9C2;
  --data-1: #5AA6CC;
  --data-2: var(--mam-lagoon);
  --data-2-edge: var(--mam-lagoon);
  --data-3: var(--mam-amber);
  --data-3-edge: var(--mam-amber);
  --data-4: #9DB27F;
  --data-5: #C9D3DC;
  --data-heat-1: #1A3A52;
  --data-heat-2: #23587A;
  --data-heat-3: #2F6F94;
  --data-heat-4: #9CCBE3;
  --block-red: var(--mam-red);
  --app-shadow-card: 8px 11px 4px 0 rgba(0,0,0,.4);
}
[data-theme="contrast"] {
  --app-bg: #FFFFFF;
  --app-preview-bg: var(--app-bg);
  --app-surface: #FFFFFF;
  --app-surface-2: #F5F1EA;
  --app-hover: #EFE9DF;
  --app-placeholder: #DCD5CB;
  --app-sidebar: var(--mam-navy);
  --app-on-sidebar: #FFFFFF;
  --app-on-sidebar-muted: #E3E9EF;
  --app-inverse: var(--mam-navy);
  --app-on-inverse: #FFFFFF;
  --app-inverse-accent: var(--mam-blush);
  --app-scrim: rgba(2,31,59,0.6);
  --app-text: var(--mam-navy);
  --app-text-muted: #33465A;
  --app-text-faint: #33465A;
  --app-symbol: var(--mam-navy);
  --app-accent: #8B0E0F;
  --app-on-accent: #FFFFFF;
  --app-accent-quiet: var(--mam-blush);
  --app-highlight: var(--mam-blush);
  --app-on-highlight: var(--mam-navy);
  --app-highlight-border: #8B0E0F;
  --app-quiet-text: #8B0E0F;
  --app-border: #7D6A66;
  --app-border-strong: #4D3B38;
  --app-focus: #8B0E0F;
  --app-focus-sidebar: var(--mam-blush);
  --app-focus-inverse: var(--mam-blush);
  --app-success: #34402A;
  --app-success-bg: var(--mam-palm-tint);
  --app-success-text: #34402A;
  --app-info: #163C4F;
  --app-info-bg: var(--mam-odyssey-tint);
  --app-info-text: #163C4F;
  --app-warning: #9A6500;
  --app-warning-bg: var(--mam-amber-tint);
  --app-warning-text: var(--mam-navy);
  --app-danger: #8B0E0F;
  --app-danger-bg: var(--mam-blush);
  --app-danger-text: var(--mam-navy);
  --data-1: #1B4E66;
  --data-2: #4C7C78;
  --data-3: #9A6500;
  --data-4: #4A5A3A;
  --data-5: var(--mam-navy);
  --block-red: #8B0E0F;
  --app-shadow-card: 0 0 0 1px #4D3B38;
}
[data-theme="dark-contrast"] {
  --app-bg: #050B14;
  --app-preview-bg: var(--app-bg);
  --app-surface: #0B1626;
  --app-surface-2: #08111E;
  --app-hover: #1A2C45;
  --app-placeholder: #1F3049;
  --app-sidebar: #02070D;
  --app-on-sidebar: #FFFFFF;
  --app-on-sidebar-muted: #D5DEE7;
  --app-inverse: var(--mam-cream);
  --app-on-inverse: var(--mam-navy);
  --app-inverse-accent: #8B0E0F;
  --app-scrim: rgba(0,0,0,0.75);
  --app-dialog-edge: var(--app-border-strong);
  --app-text: #FFFFFF;
  --app-text-muted: #D5DEE7;
  --app-text-faint: #C9D3DC;
  --app-symbol: var(--mam-blush);
  --app-accent: #FFA59C;
  --app-on-accent: var(--mam-navy);
  --app-accent-quiet: #3A121B;
  --app-highlight: #3A121B;
  --app-on-highlight: #FFE3DF;
  --app-highlight-border: #FFA59C;
  --app-quiet-text: #FFA59C;
  --app-border: #8A9BB0;
  --app-border-strong: #B8C6D4;
  --app-focus: #FFA59C;
  --app-focus-sidebar: var(--mam-blush);
  --app-focus-inverse: #8B0E0F;
  --app-success: #C5D8AA;
  --app-success-bg: #1C2A1E;
  --app-success-text: #D2E3BA;
  --app-info: #9CCBE3;
  --app-info-bg: #10293B;
  --app-info-text: #BFE0F0;
  --app-warning: var(--mam-amber);
  --app-warning-bg: #33270F;
  --app-warning-text: #FFE2A8;
  --app-danger: #FFA59C;
  --app-danger-bg: #3D1C22;
  --app-danger-text: #FFDAD5;
  --data-1: #7FBCDC;
  --data-2: #A9D0CD;
  --data-2-edge: #A9D0CD;
  --data-3: var(--mam-amber);
  --data-3-edge: var(--mam-amber);
  --data-4: #B5C99A;
  --data-5: #E3E9EF;
  --data-heat-1: #1A3A52;
  --data-heat-2: #23587A;
  --data-heat-3: #2F6F94;
  --data-heat-4: #9CCBE3;
  --block-red: #8B0E0F;
  --app-shadow-card: 0 0 0 1px #B8C6D4;
}
:root {
  --ui-size-xs: 0.75rem;
  --ui-size-sm: 0.8125rem;
  --ui-size: 0.9375rem;
  --ui-size-md: 1.0625rem;
  --ui-size-lg: 1.25rem;
  --ui-size-title: 1.5625rem;
  --u: 4px;
  --control-h: 44px;
  --control-h-sm: 36px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --space-16: 64px;
  --radius-field: 12px;
  --radius-card: 12px;
  --radius-photo: 25px;
  --radius-button: 14px;
  --radius-pill: 999px;
  --dur-fast: 120ms;
  --dur-base: 200ms;
  --dur-enter: 300ms;
  --dur-exit: 200ms;
  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --ease-enter: cubic-bezier(0, 0, 0, 1);
  --ease-exit: cubic-bezier(0.3, 0, 1, 1);
  --z-base: 0;
  --z-sticky: 10;
  --z-nav: 20;
  --z-toast: 40;
  --z-scrim: 90;
  --z-dialog: 100;
  --bp-compact: 720px;
  --bp-wide: 1024px;
  --icon-xs: 0.75rem;
  --icon-sm: 1rem;
  --icon-md: 1.25rem;
  --icon-lg: 1.5rem;
  --icon-xl: 1.75rem;
  --font-display: "Sora", system-ui, sans-serif;
  --font-sans: "Manrope", system-ui, sans-serif;
}
.type-page-title { font-family: var(--font-display); font-size: 4.5rem; line-height: 1; font-weight: 800; letter-spacing: -0.03em; }
.type-block-head { font-family: var(--font-display); font-size: 3.6rem; line-height: 1; font-weight: 800; letter-spacing: -0.03em; }
.type-kpi { font-family: var(--font-display); font-size: 2.75rem; line-height: 1; font-weight: 800; letter-spacing: -0.03em; }
.type-title { font-family: var(--font-display); font-size: 1.875rem; line-height: 1.2; font-weight: 600; letter-spacing: -0.02em; }
.type-section { font-family: var(--font-display); font-size: 1.5625rem; line-height: 1.2; font-weight: 600; letter-spacing: -0.02em; }
.type-card-title { font-family: var(--font-display); font-size: 1.25rem; line-height: 1.3; font-weight: 500; letter-spacing: -0.01em; }
.type-body-lg { font-family: var(--font-sans); font-size: 1.0625rem; line-height: 1.5; font-weight: 400; }
.type-body { font-family: var(--font-sans); font-size: 0.9375rem; line-height: 1.5; font-weight: 400; }
.type-ui { font-family: var(--font-sans); font-size: 0.8125rem; line-height: 1.5; font-weight: 500; }
.type-caption { font-family: var(--font-sans); font-size: 0.75rem; line-height: 1.5; font-weight: 500; }
.type-eyebrow { font-family: var(--font-sans); font-size: 0.75rem; line-height: 1.5; font-weight: 700; letter-spacing: 0.06em; }
.type-micro { font-family: var(--font-sans); font-size: 0.75rem; line-height: 1.5; font-weight: 800; letter-spacing: 0.06em; }
