:root {
    /* Radius scale */
    --radius: 0.875rem;
    --radius-sm: calc(var(--radius) - 4px);
    --radius-md: calc(var(--radius) - 2px);
    --radius-lg: var(--radius);
    --radius-xl: calc(var(--radius) + 4px);
    --radius-2xl: calc(var(--radius) + 8px);
    --radius-3xl: calc(var(--radius) + 12px);
    --radius-4xl: calc(var(--radius) + 16px);
    /* Color palette — light mode */
    --background: oklch(0.99 0.003 250);
    --foreground: oklch(0.18 0.01 260);
    --card: oklch(1 0 0);
    --card-foreground: oklch(0.18 0.01 260);
    --popover: oklch(1 0 0);
    --popover-foreground: oklch(0.18 0.01 260);
    --primary: #1a4796;
    --primary-foreground: oklch(0.99 0.003 250);
    --primary-glow: #2563eb;
    --accent-green: oklch(0.58 0.17 150);
    --ring: #1a4796;
    --gradient-primary: linear-gradient(135deg, #1a4796, #2563eb);
    --accent-red: oklch(0.6 0.22 25);
    --secondary: oklch(0.96 0.008 260);
    --secondary-foreground: oklch(0.18 0.01 260);
    --muted: oklch(0.96 0.008 260);
    --muted-foreground: oklch(0.5 0.015 260);
    --accent: oklch(0.96 0.008 260);
    --accent-foreground: oklch(0.18 0.01 260);
    --destructive: oklch(0.6 0.22 25);
    --destructive-foreground: oklch(0.99 0.003 250);
    --border: oklch(0.92 0.008 260);
    --input: oklch(0.94 0.008 260);
    --ring: oklch(0.55 0.18 155);
    /* Gradients & shadows */
    --gradient-primary: linear-gradient(135deg, oklch(0.55 0.18 155), oklch(0.72 0.18 150));
    --gradient-card: linear-gradient(160deg, oklch(1 0 0) 0%, oklch(0.97 0.005 260) 100%);
    --shadow-card: 0 8px 32px -8px oklch(0 0 0 / 0.12);
    --shadow-soft: 0 2px 12px -2px oklch(0 0 0 / 0.08);
    /* Brand green (signup CTA) */
    --brand-green: #4CAF50;
    --brand-green-dark: #43A047;
    /* Shared page layout */
    --page-max-width: 28rem;
    --header-padding-y: 1.5rem;
    --header-padding-x: 1.25rem;
}
