/* U47 : Relire comparé à la séance de la montre (`relire_seance.py`). Classes à moi : rp-seance-*.
   Dash charge les feuilles par ordre alphabétique : celle-ci passe AVANT rp.css, donc les règles
   qui doivent l'emporter sur .rp-table ont une classe de plus. */

/* --- Dans la carte sombre : la carte du parcours et l'envoi de la séance ------------------- */
.rp-bloc-sombre .rp-trace.rp-trace-sombre { max-height: 220px; width: 100%; object-fit: contain; }
.rp-seance-depot {
  margin-top: var(--rp-espace-3);
  border: 2px dashed var(--rp-sombre-texte-secondaire);
  border-radius: var(--rp-rayon-moyen);
  padding: var(--rp-espace-4);
  text-align: center;
  cursor: pointer;
  color: var(--rp-sombre-texte);
  min-height: 44px;
}
.rp-seance-depot:hover { border-color: var(--rp-sombre-accent); }
.rp-seance-choisir { color: var(--rp-sombre-accent); font-weight: 600; }
.rp-seance-phrase { margin: var(--rp-espace-2) 0 0; }

/* U47 (2) : les séances envoyées à la montre pour cette course, la dernière en tête. */
.rp-seance-portees { display: flex; flex-direction: column; gap: var(--rp-espace-2); margin-top: var(--rp-espace-2); }
.rp-seance-portee {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--rp-espace-1) var(--rp-espace-2);
  width: 100%;
  min-height: 44px;
  padding: var(--rp-espace-2) var(--rp-espace-3);
  border: 1px solid var(--rp-sombre-ligne);
  border-radius: var(--rp-rayon-moyen);
  background: transparent;
  color: var(--rp-sombre-texte);
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.rp-seance-portee:hover, .rp-seance-portee:focus-visible { border-color: var(--rp-sombre-accent); }
.rp-seance-portee-titre { font-weight: 600; }
.rp-seance-portee-quand { font-size: var(--rp-taille-secondaire); color: var(--rp-sombre-texte-secondaire); }
.rp-seance-portee-lien { margin-left: auto; color: var(--rp-sombre-accent); font-weight: 600; }
.rp-seance-ou-depose { margin-top: var(--rp-espace-3); }

/* --- Le tableau, étape par étape ----------------------------------------------------------- */
.rp-seance-titre { font-size: var(--rp-taille-secondaire); color: var(--rp-texte-secondaire); }
.rp-seance-resume {
  margin: 0;
  font-family: var(--rp-police-titres);
  font-size: var(--rp-taille-titre-bloc);
  line-height: 1.3;
}
.rp-seance-cadre { overflow-x: auto; }
.rp-table.rp-seance-table th, .rp-table.rp-seance-table td { padding-right: var(--rp-espace-3); }
.rp-table.rp-seance-table td { vertical-align: top; padding-top: var(--rp-espace-3); padding-bottom: var(--rp-espace-3); }
.rp-table.rp-seance-table td.rp-seance-etape { white-space: normal; min-width: 150px; }
.rp-seance-nom { font-weight: 600; font-size: var(--rp-taille-corps); }
.rp-seance-note { font-size: var(--rp-taille-mention); color: var(--rp-texte-secondaire); }
.rp-seance-ou { font-family: var(--rp-police-chiffres); font-size: var(--rp-taille-mention); color: var(--rp-texte-secondaire); margin-top: 2px; }
.rp-table.rp-seance-table td.rp-seance-cible { white-space: normal; font-weight: 600; min-width: 76px; }
/* Ce que la cible suit ressort : la valeur en grand et en gras, la colonne teintée. */
.rp-seance-vise { font-weight: 600; font-size: var(--rp-taille-titre-bloc); color: var(--rp-accent-fonce); line-height: 1.1; }
.rp-table.rp-seance-table td.rp-seance-col-vise { background: rgba(31, 95, 102, 0.07); }
.rp-table.rp-seance-table td.rp-seance-courbes { white-space: normal; }
.rp-seance-courbe { display: flex; align-items: center; gap: var(--rp-espace-1); }
.rp-seance-courbe .rp-schema { width: 80px; height: auto; display: block; }
.rp-seance-courbe-libelle { font-size: var(--rp-taille-mention); color: var(--rp-texte-secondaire); width: 34px; }
.rp-table.rp-seance-table td.rp-seance-verdict { white-space: normal; min-width: 92px; padding-right: 0; }
.rp-seance-ecart { font-weight: 600; }
.rp-seance-ecart-note { font-size: var(--rp-taille-mention); color: var(--rp-texte-secondaire); }
.rp-seance-tenue .rp-seance-ecart::before { content: "✓ "; color: var(--rp-accent); }
/* Couleur de sens en surligné de ligne, jamais seule : le mot reste écrit (§2.7). */
.rp-seance-ligne-tenue td.rp-seance-etape { box-shadow: inset 3px 0 0 var(--rp-accent); padding-left: var(--rp-espace-2); }
.rp-seance-mention { font-size: var(--rp-taille-mention); }

/* Téléphone : un bloc par étape, chaque case dit ce qu'elle porte. */
@media (max-width: 767px) {
  .rp-table.rp-seance-table thead { display: none; }
  .rp-table.rp-seance-table,
  .rp-table.rp-seance-table tbody { display: block; }
  .rp-table.rp-seance-table tr.rp-seance-ligne {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--rp-espace-2) var(--rp-espace-3);
    padding: var(--rp-espace-4) var(--rp-espace-2);
    border-bottom: 1px solid var(--rp-ligne);
  }
  .rp-table.rp-seance-table td {
    display: flex;
    flex-direction: column;
    gap: 2px;
    border: 0;
    padding: 0;
    white-space: normal;
    min-width: 0;
  }
  .rp-table.rp-seance-table td::before {
    content: attr(data-label);
    color: var(--rp-texte-secondaire);
    font-size: var(--rp-taille-mention);
  }
  .rp-table.rp-seance-table td.rp-seance-col-vise { background: transparent; }
  .rp-table.rp-seance-table td.rp-seance-etape,
  .rp-table.rp-seance-table td.rp-seance-courbes { grid-column: 1 / -1; }
  .rp-table.rp-seance-table td.rp-seance-courbes { flex-direction: row; gap: var(--rp-espace-4); }
  .rp-table.rp-seance-table td.rp-seance-verdict { grid-column: 2 / -1; }
  .rp-table.rp-seance-table td.rp-seance-etape::before,
  .rp-table.rp-seance-table td.rp-seance-courbes::before,
  .rp-table.rp-seance-table td.rp-seance-verdict::before { content: none; }
  .rp-seance-ligne-tenue td.rp-seance-etape { box-shadow: none; padding-left: 0; }
  .rp-seance-ligne-tenue { box-shadow: inset 3px 0 0 var(--rp-accent); }
  .rp-seance-cadre { overflow-x: visible; }
}

/* --- U55 : le plan de cette sortie (Relire, colonne de droite) ------------------------------ */
.rp-ratt-texte { margin: var(--rp-espace-2) 0; }
.rp-ratt-gestes[hidden], .rp-ratt [hidden] { display: none; }
.rp-ratt-gestes { display: flex; flex-wrap: wrap; gap: var(--rp-espace-2); align-items: center; }
.rp-ratt-geste {
  background: transparent;
  border: 0;
  padding: 0;
  min-height: 32px;
  color: var(--rp-texte-secondaire);
  font-size: var(--rp-taille-secondaire);
  text-decoration: underline;
  cursor: pointer;
}
.rp-ratt-geste:hover, .rp-ratt-geste:focus-visible { color: inherit; }
#rp-ratt-choix-boite { margin-bottom: var(--rp-espace-2); }

/* U56 : vide, le bloc demande le fichier ; une séance comparée, il la nomme et propose de la
   changer. La ligne du plan de la sortie, discrète, dans « Le parcours, section par section ». */
.rp-seance-choix[hidden], .rp-seance-changer[hidden], .rp-ratt[hidden] { display: none; }
.rp-seance-actuelle { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--rp-espace-2); }
.rp-seance-actuelle .rp-seance-phrase { margin: 0; }
.rp-seance-changer.rp-ratt-geste { color: var(--rp-sombre-accent); text-decoration: underline; }
.rp-seance-choix { display: flex; flex-direction: column; gap: var(--rp-espace-1); }
.rp-ratt .rp-ratt-texte { margin: 0; color: var(--rp-texte-secondaire); font-size: var(--rp-taille-secondaire); }
.rp-ratt .rp-ratt-texte .rp-ratt-geste { min-height: 0; text-decoration: underline; }
