:root {
  --bg:#EAEEF4;
  --white:#FFFFFF;
  --surf:#F5F8FC;
  --surf2:#DDE8FF;
  --bd:#DBE3EE;
  --bd2:#C2CEDD;
  --tx:#1F2A3A;
  --tx2:#2D3748;
  --tx3:#6B7A90;
  --tx4:#8AA0BD;
  --acc:#2563EB;
  --acc-lt:#DDE8FF;
  --acc-mid:#A9C4FB;
  --M:#1D4ED8;  --M-bg:#D6E4FF; --M-bd:#D6E4FF;
  --A:#946109;  --A-bg:#FCEFC0; --A-bd:#FCEFC0;
  --N:#B4480F;  --N-bg:#FFD6AD; --N-bd:#FFD6AD;
  --J:#8A5A1B;  --J-bg:#F1DDBF; --J-bd:#F1DDBF;
  --R:#6B7280;  --R-bg:#F9FAFB; --R-bd:#E5E7EB;
  --hdr-bg:#143A63; --hdr-tx:#FFFFFF;
  --rail-bg:#143A63;
  --chip-active-bg:#143A63;
  --chip-active-tx:#FFFFFF;
  --vac-col:#FBBF24;
  --we-bg:#EDE9FE; --we-tx:#4C1D95;
  --fer-bg:#FFF7ED; --fer-tx:#92400E;
  --today-bg:#DDE8FF;
  --shadow-sm:0 1px 2px rgba(15,30,60,.04);
  --shadow-md:0 8px 32px rgba(15,30,60,.14);
  --r:14px; --r-sm:3px;
}

/* ── MODE SOMBRE ── */
.dark {
  --bg:var(--rail-bg);
  --white:#0F1C30;
  --surf:#142440;
  --surf2:#173456;
  --bd:#26384F;
  --bd2:#34496A;
  --tx:#E7EEF8;
  --tx2:#A8B2CC;
  --tx3:#8AA0BD;
  --tx4:#4A5270;
  --acc:#5B94F7;
  --acc-lt:#173456;
  --acc-mid:#263555;
  --hdr-bg:#0C1F3A; --hdr-tx:#E7EEF8;
  --rail-bg:#0C1F3A;
  /* --rail-bg devient ici identique à --bg (même couleur que le fond de
     page) — utiliser --rail-bg comme fond d'une puce "active" la rendrait
     invisible, fondue dans l'arrière-plan. Blanc pur (comme les puces NON
     sélectionnées en mode clair, --white:#FFFFFF) + texte sombre, nettement
     détaché du fond sombre, tout en gardant --rail-bg strictement identique
     en mode clair (aucun changement de rendu clair). */
  --chip-active-bg:#FFFFFF;
  --chip-active-tx:#09101B;
  --we-bg:#2A2550; --we-tx:#A78BFA;
  --fer-bg:#2A1A0A; --fer-tx:#FBA86A; --today-bg:#1A2D50;
  --shadow-sm:none;
  --shadow-md:none;
}

/* Transition douce sur tous les éléments clés */
body, .rail, .topbar, .optionsbar, .phone-topbar,
select, .btn, .zbtn {
  transition: background-color .25s ease, color .2s ease, border-color .2s ease;
}

/* Les cadres semestres conservent TOUJOURS les couleurs UI du mode clair
   (lisibilité du planning et rendu PDF identiques quel que soit le thème). */
.sem-wrap {
  --bg:#EAEEF4;
  --white:#FFFFFF;
  --surf:#F5F8FC;
  --surf2:#DDE8FF;
  --bd:#DBE3EE;
  --bd2:#C2CEDD;
  --tx:#1F2A3A;
  --tx2:#2D3748;
  --tx3:#6B7A90;
  --tx4:#8AA0BD;
  --acc:#2563EB;
  --acc-lt:#DDE8FF;
  --acc-mid:#A9C4FB;
  --fer-bg:#FFF7ED; --fer-tx:#92400E;
  --today-bg:#DDE8FF;
  background: #ffffff !important;
  border-color: #DBE3EE !important;
  color: #1F2A3A !important;
}
