/* Shared design tokens. Page styles own layout, never their own UI palette. */
:root {
    --ui-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --ui-text: #112654;
    --ui-muted: #526580;
    --ui-page: #f5f8fb;
    --ui-surface: #ffffff;
    --ui-subtle: #edf2f7;
    --ui-border: #d4deea;
    --ui-input-border: #7d8fa7;
    --ui-accent: #00776e;
    --ui-accent-hover: #00685f;
    --ui-on-accent: #ffffff;
    --ui-accent-soft: #e6f5f2;
    --ui-focus: #008f86;
    --ui-danger: #b32838;
    --ui-danger-soft: #fff0f1;
    --ui-warning: #865100;
    --ui-warning-soft: #fff4de;
    --ui-info: #155bb5;
    --ui-info-soft: #edf4ff;
    --ui-purple: #6342ac;
    --ui-purple-soft: #f1edfc;
    --ui-shadow: 0 8px 28px #10264812;
    --ui-text-xs: 0.75rem;
    --ui-text-sm: 0.875rem;
    --ui-text-base: 1rem;
    --ui-title: clamp(1.625rem, 2.3vw, 2rem);
    --ui-radius-sm: 6px;
    --ui-radius: 8px;
    --ui-radius-lg: 12px;
    --ui-radius-card: 5px;
    --ui-recruiter-radius: 8px;
    --ui-recruiter-avatar-size: 42px;
    --ui-space-1: 4px;
    --ui-space-2: 8px;
    --ui-space-3: 12px;
    --ui-space-4: 16px;
    --ui-space-5: 24px;
    --ui-space-6: 32px;
    --ui-control-height: 44px;
    --ui-control-compact: 36px;
    --ui-page-gutter: 28px;
    --ui-page-width: 1500px;
    --ui-page-wide: 1800px;
    --ui-header-height: 68px;
    --ui-panel-width: 320px;
    --ui-detail-width: 380px;
}

:root[data-theme="dark"] {
    color-scheme: dark;
    --ui-text: #edf4ff;
    --ui-muted: #b4c3d6;
    --ui-page: #0f1b2b;
    --ui-surface: #18283c;
    --ui-subtle: #22354c;
    --ui-border: #3a506b;
    --ui-input-border: #849ab5;
    --ui-accent: #53ddc9;
    --ui-accent-hover: #83eddd;
    --ui-on-accent: #102b2a;
    --ui-accent-soft: #163c3a;
    --ui-focus: #53ddc9;
    --ui-danger: #ffadb7;
    --ui-danger-soft: #4b2632;
    --ui-warning: #ffd07b;
    --ui-warning-soft: #40351f;
    --ui-info: #a6caff;
    --ui-info-soft: #203854;
    --ui-purple: #d3baff;
    --ui-purple-soft: #352c51;
    --ui-shadow: 0 8px 28px #00000030;
}

:root[data-theme="contrast"] {
    --ui-text: #071b36;
    --ui-muted: #293f59;
    --ui-page: #ffffff;
    --ui-surface: #ffffff;
    --ui-subtle: #edf2f7;
    --ui-border: #53667f;
    --ui-input-border: #293f59;
    --ui-accent: #005b53;
    --ui-accent-hover: #003e38;
    --ui-accent-soft: #e1f7f1;
    --ui-focus: #005b53;
}

/* Recruiter cards prefer 8 px; candidate and admin scales remain independent. */
body.ui-recruiter { --ui-radius-card: var(--ui-recruiter-radius); --ui-avatar-size: var(--ui-recruiter-avatar-size); }

@media (max-width: 820px) {
    :root { --ui-page-gutter: 16px; }
}
