/* Le Programme (U66) : la liste et son filtre, les replis du bas. Le filtre ne relit rien : il
   cache les lignes de l'autre nature (`rp-prog-voir-<filtre>` sur la liste). */
.rp-prog-tete { display: flex; align-items: center; justify-content: space-between; gap: var(--rp-espace-3); flex-wrap: wrap; }
.rp-prog-filtre { align-self: flex-start; margin: var(--rp-espace-2) 0; }
.rp-prog-ligne > .rp-zone-ligne { flex: 1 1 auto; min-width: 0; }
.rp-prog-sans-date { margin-top: var(--rp-espace-3); }
.rp-prog-vide { display: none; }
.rp-prog-voir-all .rp-prog-vide-all,
.rp-prog-voir-races .rp-prog-vide-races,
.rp-prog-voir-trainings .rp-prog-vide-trainings { display: block; }
.rp-prog-voir-races .rp-prog-entrainement,
.rp-prog-voir-trainings .rp-prog-course { display: none; }
.rp-prog-bas { gap: var(--rp-espace-2); }
.rp-prog-repli > .rp-zones, .rp-prog-repli > .rp-course-liste { margin-top: var(--rp-espace-2); }

/* Le mois, à droite : un point par plan, de la couleur de sa nature (jetons.py). */
.rp-prog-nav { display: flex; gap: var(--rp-espace-2); flex-wrap: wrap; }
.rp-prog-grille { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 2px; margin-top: var(--rp-espace-2); }
.rp-prog-jour { font-size: var(--rp-taille-mention); color: var(--rp-texte-secondaire); text-align: center; padding: 2px 0; }
.rp-prog-case { min-height: 40px; padding: 2px; border-radius: 4px; background: var(--rp-surface); border: 1px solid var(--rp-ligne-douce); display: flex; flex-direction: column; align-items: center; gap: 2px; font: inherit; color: inherit; width: 100%; }
.rp-prog-hors { background: var(--rp-fond); }
.rp-prog-hors .rp-prog-num { color: var(--rp-texte-secondaire); }
.rp-prog-num { font-family: var(--rp-police-chiffres); font-size: var(--rp-taille-secondaire); }
.rp-prog-aujourdhui { box-shadow: inset 0 0 0 2px var(--rp-accent); }
.rp-prog-aujourdhui .rp-prog-num { color: var(--rp-accent); font-weight: 600; }
.rp-prog-points { display: flex; flex-wrap: wrap; justify-content: center; gap: 2px; }
.rp-prog-point { display: inline-block; width: 8px; height: 8px; border-radius: 50%; flex: 0 0 auto; }
.rp-prog-chosen { background: var(--rp-accent); }
.rp-prog-shortlist { background: var(--rp-sombre-accent); }
.rp-prog-training { background: var(--rp-prudence-texte); }
.rp-prog-legende { display: flex; flex-wrap: wrap; gap: var(--rp-espace-3); margin-top: var(--rp-espace-2); font-size: var(--rp-taille-mention); color: var(--rp-texte-secondaire); }
.rp-prog-legende-item { display: inline-flex; align-items: center; gap: 4px; }

/* Un jour qui a des plans ouvre leur aperçu ; plusieurs plans du jour l'un sous l'autre. */
button.rp-prog-case-plans { cursor: pointer; }
button.rp-prog-case-plans:hover { border-color: var(--rp-accent); }
.rp-apercu-un + .rp-apercu-un { margin-top: var(--rp-espace-4); padding-top: var(--rp-espace-4); border-top: 1px solid var(--rp-ligne-douce); }
.rp-act-plans-gestes .rp-apercu-ouvrir { width: auto; }
