/* UI tokens — the only place raw values live. Status: provisional values, stable names. */
:root, [data-theme="product"] {
  --ui-font-sans: "Plus Jakarta Sans", system-ui, sans-serif;
  --ui-font-mono: "JetBrains Mono", ui-monospace, monospace;

  --ui-bg: #F5F6FA;
  --ui-surface: #FFFFFF;
  --ui-surface-subtle: #F7F8FB;
  --ui-surface-muted: #F1F2F6;
  --ui-inverse: #0B1035;
  --ui-inverse-deep: #070A24;
  --ui-inverse-raised: #1B2257;
  --ui-inverse-track: #151A44;
  --ui-inverse-border: #3A4386;

  --ui-ink: #12162B;
  --ui-ink-2: #2A2F45;
  --ui-ink-muted: #5E647A;
  --ui-ink-subtle: #8A90A6;
  --ui-ink-inverse: #FFFFFF;
  --ui-ink-inverse-2: #C9CEF0;
  --ui-ink-inverse-muted: #9AA3D6;
  --ui-accent-on-inverse: #7F95FF;

  --ui-border: #E2E5EE;
  --ui-border-strong: #D5D9E5;
  --ui-border-subtle: #EEF0F5;
  --ui-border-hatch: #B9BFD0;

  --ui-accent: #2E5BFF;
  --ui-accent-hover: #1A3FD1;
  --ui-accent-soft: #EAEFFF;
  --ui-accent-soft-border: #C9D5FF;
  --ui-accent-ink: #1E3FBF;
  --ui-on-accent: #FFFFFF;

  --ui-success: #0F7A45;
  --ui-success-strong: #0F5A35;
  --ui-success-soft: #E6F6EE;
  --ui-success-border: #9FD8B8;
  --ui-warning: #8A5300;
  --ui-warning-soft: #FFF4E0;
  --ui-caution-soft: #FEF3C7;
  --ui-caution-ink: #92400E;
  --ui-danger: #C62828;
  --ui-danger-border: #F1C4C4;
  --ui-note-bg: #FFFDF2;

  --ui-fs-display: 42px;
  --ui-fs-h1: 28px;
  --ui-fs-h2: 26px;
  --ui-fs-h3: 20px;
  --ui-fs-h4: 16px;
  --ui-fs-body-lg: 15px;
  --ui-fs-body: 14px;
  --ui-fs-sm: 13px;
  --ui-fs-xs: 12px;
  --ui-fs-eyebrow: 11px;
  --ui-fs-micro: 10px;
  --ui-track-tight: -0.02em;
  --ui-track-display: -0.03em;
  --ui-track-caps: 0.08em;

  --ui-space-1: 4px;  --ui-space-2: 8px;  --ui-space-3: 12px; --ui-space-4: 16px;
  --ui-space-5: 20px; --ui-space-6: 24px; --ui-space-7: 28px; --ui-space-8: 32px;
  --ui-space-9: 40px; --ui-space-10: 48px; --ui-space-11: 56px; --ui-space-12: 64px;
  --ui-page-pad-y: 28px;
  --ui-page-pad-x: 32px;
  --ui-section-gap: 20px;

  --ui-radius-xs: 5px;
  --ui-radius-sm: 8px;
  --ui-radius-md: 10px;
  --ui-radius-lg: 14px;
  --ui-radius-xl: 18px;
  --ui-radius-pill: 999px;
  --ui-badge-radius: var(--ui-radius-pill);

  --ui-shadow-focus-card: 0 6px 24px rgba(46, 91, 255, .08);
  --ui-shadow-raise: 0 1px 2px rgba(18, 22, 43, .05);
  --ui-shadow-drawer: -10px 0 40px rgba(0, 0, 0, .15);
  --ui-shadow-dialog: 0 20px 60px rgba(0, 0, 0, .25);
  --ui-scrim: rgba(7, 10, 36, .35);
  --ui-scrim-strong: rgba(7, 10, 36, .45);
  --ui-focus-ring: 0 0 0 3px rgba(46, 91, 255, .35);

  /* Provider button (spec 012): Google's light-theme sign-in button values (branding guidelines:
     fill, 1px stroke, text); hover and active are subtle tints, which Google leaves open. */
  --ui-provider-surface: #FFFFFF;
  --ui-provider-surface-hover: #F8F9FA;
  --ui-provider-surface-active: #F1F3F4;
  --ui-provider-border: #747775;
  --ui-provider-ink: #1F1F1F;
  --ui-provider-logo-size: 18px;
  --ui-provider-logo-gap: 10px;

  --ui-sidebar-w: 232px;
  --ui-content-max: 1180px;
  --ui-sticky-offset: 76px;
  --ui-drawer-w: 520px;
  --ui-dialog-w: 440px;
  --ui-dialog-w-lg: 560px;
  --ui-board-col-w: 240px;

  --ui-z-topbar: 60;
  --ui-z-drawer: 70;
  --ui-z-dialog: 80;
  --ui-z-toast: 90;

  --ui-hatch: repeating-linear-gradient(45deg, var(--ui-bg) 0 10px, var(--ui-surface) 10px 20px);
}

[data-theme="console"] {
  --ui-bg: #F9FAFB;
  --ui-surface-subtle: #F9FAFB;
  --ui-surface-muted: #F3F4F6;
  --ui-ink: #111827;
  --ui-ink-2: #374151;
  --ui-ink-muted: #6B7280;
  --ui-ink-subtle: #9CA3AF;
  --ui-border: #E5E7EB;
  --ui-border-strong: #D1D5DB;
  --ui-border-subtle: #F3F4F6;
  --ui-accent-soft: #EEF2FF;
  --ui-accent-ink: #3730A3;
  --ui-success: #047857;  /* #059669 was 3.4:1 on --ui-success-soft */

  --ui-fs-h1: 22px;
  --ui-page-pad-y: 24px;
  --ui-page-pad-x: 24px;
  --ui-section-gap: 18px;

  --ui-radius-xs: 4px;
  --ui-radius-sm: 6px;
  --ui-radius-md: 6px;
  --ui-radius-lg: 8px;
  --ui-radius-xl: 10px;
  --ui-badge-radius: var(--ui-radius-xs);
  --ui-sidebar-w: 240px;
  --ui-board-col-w: 230px;
}

/* Persona accents: set by <body data-persona>, override only the accent family. Text on
   --ui-accent and --ui-accent-ink on --ui-accent-soft must stay >= 4.5:1 (tests/test_ui_tokens.py). */
[data-persona="recruiter"] {
  --ui-accent: #4F46E5;
  --ui-accent-hover: #4338CA;
  --ui-accent-soft: #EEF2FF;
  --ui-accent-soft-border: #C7D2FE;
  --ui-accent-ink: #3730A3;
  --ui-accent-on-inverse: #A5B4FC;
  --ui-focus-ring: 0 0 0 3px rgba(79, 70, 229, .35);
  --ui-shadow-focus-card: 0 6px 24px rgba(79, 70, 229, .08);
}

[data-persona="candidate"] {
  --ui-accent: #0F766E;
  --ui-accent-hover: #115E59;
  --ui-accent-soft: #F0FDFA;
  --ui-accent-soft-border: #99F6E4;
  --ui-accent-ink: #115E59;
  --ui-accent-on-inverse: #5EEAD4;
  --ui-focus-ring: 0 0 0 3px rgba(15, 118, 110, .35);
  --ui-shadow-focus-card: 0 6px 24px rgba(15, 118, 110, .08);
}
