/* PlanningTS — design tokens (D1). Source de vérité visuelle : le mockup validé.
   Aucune couleur ne doit être écrite en dur ailleurs : ajouter un token ici. */
:root {
  /* Encre et texte */
  --color-ink: #111318;
  --color-ink-soft: #2a3045;
  --color-muted: #566078;          /* ≥ 4,5:1 sur blanc et sur --color-app-bg */

  /* Surfaces */
  --color-sidebar: #17233f;
  --color-sidebar-hover: rgba(255, 255, 255, .09);
  --color-sidebar-text: #e9edf9;
  --color-sidebar-muted: #aab4d0;
  --color-app-bg: #e9ecff;     /* lavande du mockup ; texte muted ≥ 4,5:1 dessus */
  --color-surface: #ffffff;
  --color-border: #e3e6f3;
  --color-border-strong: #8a93ab;  /* contours de champs de formulaire (≥ 3:1) */

  /* Couleurs de marque */
  --color-lime: #cfff32;
  --color-orange: #ff641f;
  --color-green: #00b978;
  --color-blue: #1769e8;
  --color-pink: #ff9aac;
  --color-yellow: #ffd84d;

  /* États */
  --color-danger: #d92d20;
  --color-danger-soft: #ffe1de;
  --color-warning: #b45309;
  --color-warning-soft: #fff0c2;
  --color-success: #0a7d53;
  --color-success-soft: #dcf6e8;
  --color-info-soft: #e7eeff;
  --color-badge: #e5383b;          /* pastille de comptage (blanc dessus : 4,6:1) */
  --color-focus: #1769e8;          /* anneau de focus : visible sur blanc et sur lavande */

  /* Cartes KPI */
  --kpi-pink: #ffe3ee;
  --kpi-yellow: #fff0b8;
  --kpi-blue: #d9f2ff;
  --kpi-green: #ddf6e7;

  /* Calendrier */
  --color-weekend: #f7eefb;
  --color-weekend-head: #fbe3f1;
  --color-today: #fff6cc;
  --color-off: #eef1f7;

  /* Shifts et absences (texte toujours --color-ink : contraste ≥ 9:1) */
  --shift-jour: #aaf0c6;
  --shift-ouv: #ffe487;
  --shift-ferm: #d8b7ff;
  --shift-coupe: #afcfff;
  --shift-form: #b9d4ff;
  --shift-vac: #ffb7c7;
  --shift-mal: #ffb0b0;
  --shift-off: #eef1f7;
  --shift-teal: #a6ece3;
  --shift-orange: #ffc89a;
  --shift-lime: #e3ff85;

  /* Rayons */
  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 24px;
  --radius-xl: 30px;
  --radius-pill: 999px;

  /* Ombres */
  --shadow-soft: 0 8px 30px rgba(20, 30, 60, .06);
  --shadow-card: 0 1px 2px rgba(20, 30, 60, .05);
  --shadow-pop: 0 14px 40px rgba(20, 30, 60, .18);

  /* Espacements et mise en page */
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --sidebar-width: 224px;
  --topbar-height: 62px;
  --page-pad: 28px;

  /* Typographie : pile locale (aucun téléchargement) ; titres arrondis quand le système les fournit */
  --font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-display: ui-rounded, "SF Pro Rounded", "Arial Rounded MT Bold", "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;

  /* Animation */
  --dur: 150ms;
  --ease: cubic-bezier(.2, .7, .2, 1);

  /* Mascottes */
  --mascot-orange: var(--color-orange);
  --mascot-green: var(--color-green);
  --mascot-blue: var(--color-blue);
  --mascot-pink: var(--color-pink);

  /* Avatars (initiales) */
  --avatar-1: #ffd1bd; --avatar-2: #b9efd2; --avatar-3: #c4dbff; --avatar-4: #ffc4d1; --avatar-5: #ffe48a; --avatar-6: #dcc6ff;
}

@media (prefers-reduced-motion: reduce) {
  :root { --dur: 0ms; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0ms !important; animation-duration: 0ms !important; }
}
