:root {
  /* Product defaults for brandable accents */
  --product-primary-default: #243d63;
  --product-primary-rgb-default: 36, 61, 99;
  --product-primary-soft-default: #e7edf7;
  --product-accent-default: #1fc5a8;
  --product-accent-soft-default: #d5f5ee;
  --product-logo-default: "/static/assets/img/LogoInsureApp.png";

  /* Neutrals */
  --color-gray-50: #f8fafc;
  --color-gray-100: #f1f5f9;
  --color-gray-200: #e2e8f0;
  --color-gray-300: #cbd5e1;
  --color-gray-400: #94a3b8;
  --color-gray-500: #64748b;
  --color-gray-600: #475569;
  --color-gray-700: #334155;
  --color-gray-800: #1e293b;
  --color-gray-900: #0f172a;

  /* Semantic */
  --color-success: #16a34a;
  --color-warning: #f59e0b;
  --color-danger: #dc2626;
  --color-info: #0284c7;

  /* Surfaces & text (product-owned, never tenant-overridden) */
  --color-bg-app: #f3f5fb;
  --color-surface: #ffffff;
  --color-surface-alt: #f9fafb;
  --color-border-subtle: #e4e8f7;
  --color-text-main: #111827;
  --color-text-muted: #6b7280;
  --color-text-inverse: #ffffff;

  /* Typography */
  --font-family-heading: "Exo 2", "Montserrat", system-ui, -apple-system, sans-serif;
  --font-family-body: "Inter", "Montserrat", system-ui, -apple-system, sans-serif;

  --font-size-1: 0.75rem;
  --font-size-2: 0.875rem;
  --font-size-3: 0.9375rem;
  --font-size-4: 1rem;
  --font-size-5: 1.125rem;
  --font-size-6: 1.375rem;
  --font-size-7: 1.75rem;
  --font-size-8: 2rem;

  --line-height-tight: 1.2;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.65;

  --letter-spacing-tight: -0.01em;
  --letter-spacing-normal: 0;
  --letter-spacing-wide: 0.08em;

  /* 8px spacing scale */
  --space-0: 0;
  --space-1: 0.5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 2rem;
  --space-5: 2.5rem;
  --space-6: 3rem;
  --space-7: 3.5rem;
  --space-8: 4rem;
  --space-9: 4.5rem;
  --space-10: 5rem;

  /* Radius */
  --radius-sm: 0.375rem;
  --radius-md: 0.5rem;
  --radius-lg: 0.875rem;
  --radius-pill: 9999px;

  /* Elevation */
  --elevation-1: 0 1px 2px rgba(15, 23, 42, 0.06);
  --elevation-2: 0 8px 20px rgba(15, 23, 42, 0.08);
  --elevation-3: 0 14px 32px rgba(15, 23, 42, 0.1);
  --elevation-4: 0 24px 60px rgba(15, 23, 42, 0.14);

  /* Z-index */
  --z-1: 10;
  --z-2: 100;
  --z-3: 1000;
  --z-4: 2000;
  --z-5: 5000;

  /* Legacy aliases (product-owned) */
  --success: var(--color-success);
  --warning: var(--color-warning);
  --danger: var(--color-danger);
  --text-main: var(--color-text-main);
  --text-muted: var(--color-text-muted);
  --text-light: var(--color-text-inverse);
  --text-dark: var(--color-gray-900);
  --background: var(--color-bg-app);
  --surface: var(--color-surface);
  --surface-alt: var(--color-surface-alt);
  --corner-radius: var(--radius-md);
  --corner-radius-pill: var(--radius-pill);
  --soft-shadow: var(--elevation-2);
  --font-heading: var(--font-family-heading);
  --font-body: var(--font-family-body);
  --font-page-title: var(--font-size-8);
  --font-section-title: var(--font-size-6);
  --font-ui-heading: var(--font-size-5);
  --font-standard: var(--font-size-3);
  --font-form: var(--font-size-2);
  --font-meta: var(--font-size-1);

  /* Bootstrap structural tokens */
  --bs-border-radius: var(--radius-md);
  --bs-border-radius-sm: var(--radius-sm);
  --bs-border-radius-lg: var(--radius-lg);
  --bs-border-radius-xl: var(--radius-lg);
  --bs-border-radius-xxl: var(--radius-lg);
  --bs-border-radius-pill: var(--radius-pill);
  --bs-btn-border-radius: var(--radius-md);
  --bs-btn-border-radius-sm: var(--radius-sm);
  --bs-btn-border-radius-lg: var(--radius-lg);
}
