/**
 * Santé Pro-RH - Design Tokens
 * Source de vérité: docs/design_system_santeprorh.v2.json
 * 
 * Tokens CSS :root + overrides Bootstrap
 * Usage: @import url('assets/css/sprh.tokens.css');
 */

:root {
  /* ===============================
     Brand & palette (tokens)
     =============================== */
  --sprh-primary: #0E5DA8;
  --sprh-primary-dark: #0A4F8C;
  --sprh-primary-darker: #0F2F4A;
  --sprh-primary-soft: #E8F1FB;

  --sprh-accent: #13A36F;
  --sprh-accent-dark: #0F8E5E;
  --sprh-accent-soft: #E7F7F0;

  --sprh-bg: #F4F6F9;
  --sprh-surface: #FFFFFF;
  --sprh-surface-alt: #F8FAFC;
  --sprh-border: #E6ECF2;
  --sprh-text: #1E2A38;
  --sprh-muted: #5A6B7B;
  --sprh-muted2: #7A8A99;

  --sprh-success: #13A36F;
  --sprh-warning: #F2A900;
  --sprh-danger: #D64545;
  --sprh-info: #0E5DA8;

  /* RGB helpers (for rgba) */
  --sprh-primary-rgb: 14, 93, 168;
  --sprh-success-rgb: 19, 163, 111;
  --sprh-warning-rgb: 242, 169, 0;
  --sprh-danger-rgb: 214, 69, 69;
  --sprh-muted-rgb: 90, 107, 123;

  /* ===============================
     Typography
     =============================== */
  --sprh-font-sans: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --sprh-font-display: Poppins, Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --sprh-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;

  --sprh-font-size-xs: 12px;
  --sprh-font-size-sm: 13px;
  --sprh-font-size-base: 14px;
  --sprh-font-size-lg: 16px;
  --sprh-font-size-xl: 18px;
  --sprh-font-size-2xl: 22px;
  --sprh-font-size-3xl: 28px;

  --sprh-line-height: 1.45;

  --sprh-font-weight-regular: 400;
  --sprh-font-weight-medium: 500;
  --sprh-font-weight-semibold: 600;
  --sprh-font-weight-bold: 700;

  /* ===============================
     Radii (max 12px per design system)
     =============================== */
  --sprh-radius-sm: 6px;
  --sprh-radius-md: 8px;
  --sprh-radius-lg: 10px;
  --sprh-radius-xl: 12px;
  /* Alias legacy (charte: max 12px) */
  --sprh-radius-full: var(--sprh-radius-xl);

  /* ===============================
     Shadows (subtle, institutional)
     =============================== */
  --sprh-shadow-card: 0 4px 12px rgba(0, 0, 0, 0.04);
  --sprh-shadow-hover: 0 6px 16px rgba(0, 0, 0, 0.08);
  --sprh-shadow-focus: 0 0 0 3px rgba(14, 93, 168, 0.18);

  /* ===============================
     Surface system (semantic, no new hex)
     =============================== */
  --sprh-surface-primary: var(--sprh-surface);
  --sprh-surface-elevated: var(--sprh-surface);
  --sprh-border-subtle: var(--sprh-border);
  --sprh-shadow-soft: var(--sprh-shadow-card);
  --sprh-sticky-offset: 0px;

  /* ===============================
     Spacing (8px grid)
     =============================== */
  --sprh-space-xs: 4px;
  --sprh-space-sm: 8px;
  --sprh-space-md: 16px;
  --sprh-space-lg: 24px;
  --sprh-space-xl: 32px;
  --sprh-space-2xl: 40px;

  /* ===============================
     Motion
     =============================== */
  --sprh-duration-fast: 120ms;
  --sprh-duration: 180ms;
  --sprh-easing: cubic-bezier(0.2, 0, 0, 1);

  /* ===============================
     Status system (RH workflow)
     =============================== */
  /* Mappings dérivés des tokens (aucun nouvel hex) */
  --sprh-status-soumis: var(--sprh-muted);
  --sprh-status-preselection: var(--sprh-primary);
  --sprh-status-en_formation: var(--sprh-warning);
  --sprh-status-shortlist: var(--sprh-primary-dark);
  --sprh-status-place: var(--sprh-success);
  --sprh-status-rejete: var(--sprh-danger);
  --sprh-status-suivi: var(--sprh-accent-dark);
}

/* ===============================
   Bootstrap overrides (via CSS vars)
   =============================== */
:root {
  --bs-body-font-family: var(--sprh-font-sans);
  --bs-body-font-size: var(--sprh-font-size-base);
  --bs-body-line-height: var(--sprh-line-height);
  --bs-body-color: var(--sprh-text);
  --bs-body-bg: var(--sprh-bg);

  --bs-primary: var(--sprh-primary);
  --bs-secondary: var(--sprh-muted);
  --bs-success: var(--sprh-success);
  --bs-info: var(--sprh-info);
  --bs-warning: var(--sprh-warning);
  --bs-danger: var(--sprh-danger);

  --bs-link-color: var(--sprh-primary);
  --bs-link-hover-color: var(--sprh-primary-dark);

  --bs-border-color: var(--sprh-border);
  --bs-border-radius: var(--sprh-radius-md);
  --bs-border-radius-sm: var(--sprh-radius-sm);
  --bs-border-radius-lg: var(--sprh-radius-xl);
  --bs-border-radius-xl: var(--sprh-radius-xl);
  --bs-border-radius-xxl: var(--sprh-radius-xl);
  --bs-border-radius-pill: var(--sprh-radius-full);

  --bs-focus-ring-color: rgba(var(--sprh-primary-rgb), 0.25);
}

/* Base typography */
html {
  font-size: var(--sprh-font-size-base);
}

body {
  font-family: var(--sprh-font-sans);
  background: var(--sprh-bg);
  color: var(--sprh-text);
  line-height: var(--sprh-line-height);
  font-variant-numeric: tabular-nums;
}

/* Legacy aliases (for backward compatibility) */
:root {
  --sprh-blue: var(--sprh-primary);
  --sprh-blue-dark: var(--sprh-primary-dark);
  --sprh-blue-darker: var(--sprh-primary-darker);
  --sprh-blue-soft: var(--sprh-primary-soft);
  --sprh-green: var(--sprh-accent);
  --sprh-green-dark: var(--sprh-accent-dark);
  --sprh-green-soft: var(--sprh-accent-soft);
  --sprh-red: var(--sprh-danger);
  --sprh-card: var(--sprh-surface);
  --sprh-sidebar: var(--sprh-primary-darker);
  /* Legacy variables used in public pages (aliases to v2 tokens) */
  --sprh-slate: var(--sprh-muted);
  --sprh-mist: var(--sprh-bg);
  --sprh-shadow: var(--sprh-shadow-card);
}
