
.fiche-haut { display: flex; flex-direction: column; gap: var(--e3); }
.fiche-retour { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--e1) var(--e3); }
.fiche-modif { margin-left: auto; font-size: var(--t-label); color: var(--ink-3); text-align: right; }
.fiche-retour .btn { margin-left: calc(-1 * var(--e4)); }
.fiche-pilules { gap: var(--e2); padding: 0 var(--e2); }
.fiche-fleches { display: inline-flex; align-items: center; gap: var(--e1); }
.fiche-rang { min-width: 6ch; text-align: center; font-size: var(--t-label); color: var(--ink-3); }
.fiche-pages { display: flex; max-width: 100%; overflow-x: auto; scrollbar-width: none; padding: var(--e1) var(--e2) 0; }
.fiche-pages::-webkit-scrollbar { display: none; }
.fiche-pages .segments { flex-wrap: nowrap; }
.fiche-pages .segments button { white-space: nowrap; }
.fiche { display: grid; gap: var(--e6); grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; }
.fiche-col { display: flex; flex-direction: column; gap: var(--e5); min-width: 0; container-type: inline-size; }
@media (max-width: 1100px) {
  .fiche { grid-template-columns: minmax(0, 1fr); }
}
.fiche-tuiles { display: grid; gap: var(--e3); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fiche-tuiles .tuile { padding: var(--e4); }
.fiche-tuiles .tuile .val { font-size: 1.5rem; }
@container (max-width: 330px) { .fiche-tuiles { grid-template-columns: minmax(0, 1fr); } }
@container (min-width: 760px) { .fiche-tuiles { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.fiche-donnees { display: flex; flex-direction: column; gap: var(--e5); container-type: inline-size; }
.fiche-donnees-grille { display: grid; gap: var(--e6) var(--e10); grid-template-columns: minmax(0, 1fr); align-items: start; }
@container (min-width: 820px) { .fiche-donnees-grille { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.fiche-donnees-col { display: flex; flex-direction: column; gap: var(--e6); min-width: 0; container-type: inline-size; }
.fiche-donnees-groupe { gap: var(--e3); }
.fiche-prix { display: grid; gap: var(--e4); grid-template-columns: repeat(2, minmax(0, 1fr)); }
@container (min-width: 540px) { .fiche-prix { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.fiche-champs { display: grid; gap: var(--e4); grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); }
.fiche-identite { grid-template-columns: minmax(0, 1fr); align-items: start; }
@container (min-width: 560px) { .fiche-identite { grid-template-columns: minmax(0, 480px) auto; justify-content: start; } }
.carte:has(> .fiche-donnees .instr-panneau) { z-index: 5; }
.instr-choix-vide .instr-sym { color: var(--ink-2); font-weight: 600; }
.plan-instr .instr { flex: 1; min-width: 0; }
.plan-instr .instr-choix { min-height: 52px; padding: var(--e2) var(--e3); }
.plan-instr .instr-choix .instr-sym { font-size: var(--t-corps); }
.instr-choix:disabled { opacity: .55; cursor: not-allowed; }
.instr-choix:disabled:hover { border-color: var(--bord); }
.carte:has(.plan-instr .instr-panneau) { z-index: 5; }
.fiche-heures { position: relative; display: grid; gap: var(--e4); grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); }
.dh { position: relative; }
@container (min-width: 436px) { .dh { position: static; } }
.dh-choix {
  display: flex; align-items: center; gap: var(--e3);
  width: 100%; min-height: 56px; padding: var(--e2) var(--e3);
  border-radius: var(--r-md); border: 1px solid var(--bord);
  background: var(--fond-creux); color: var(--ink);
  font-family: inherit; text-align: left; cursor: pointer;
  transition: border-color var(--tr-vif) var(--doux), background var(--tr-vif) var(--doux), box-shadow var(--tr) var(--doux);
}
.dh-choix:hover { border-color: var(--bord-fort); }
.dh-choix:focus-visible, .dh-choix[aria-expanded="true"] {
  outline: none; border-color: var(--acc); background: var(--surface); box-shadow: 0 0 0 4px var(--acc-voile);
}
.dh-choix > .ico:last-child { flex: none; color: var(--ink-3); transition: rotate var(--tr) var(--doux); }
.dh-choix[aria-expanded="true"] > .ico:last-child { rotate: 180deg; }
.dh-choix:disabled { background: transparent; border-style: dashed; color: var(--ink-2); cursor: not-allowed; }
.dh-choix:disabled:hover { border-color: var(--bord); }
.champ-erreur .dh-choix { border-color: var(--perte); }
.dh-ico {
  flex: none; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%;
  background: var(--surface-3); color: var(--ink-2); box-shadow: inset 0 0 0 1px var(--bord);
}
.dh-choix[aria-expanded="true"] .dh-ico { background: var(--acc-voile); color: var(--acc); }
.dh-txt { display: flex; flex-direction: column; gap: 1px; flex: 1; min-width: 0; }
.dh-l1 { font-size: 1.05rem; font-weight: 700; letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
.dh-l2 { font-size: var(--t-label); color: var(--ink-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dh-choix-vide .dh-l1 { font-size: var(--t-corps); font-weight: 600; color: var(--ink-2); }
.dh-panneau {
  position: absolute; top: calc(100% + 8px); left: 0; z-index: 30;
  width: 100%; max-width: 36rem;
  container-type: inline-size;
  display: flex; flex-direction: column; gap: var(--e3);
  padding: var(--e3);
  border-radius: var(--r-lg); border: 1px solid var(--bord);
  background: var(--surface-pleine); box-shadow: var(--verre-bord), var(--om-3);
}
.dh-fin .dh-panneau { left: auto; right: 0; }
html.anim .dh-panneau { animation: menu-plans-entre .22s var(--entree) both; }
.carte:has(> .fiche-donnees .dh-panneau) { z-index: 5; }
.dh-corps { display: grid; gap: var(--e4); grid-template-columns: minmax(0, 1fr); }
.dh-temps { display: flex; flex-wrap: wrap; align-items: center; gap: var(--e2) var(--e3); }
.dh-temps > .lb { flex-basis: 100%; }
@container (min-width: 440px) {
  .dh-corps { grid-template-columns: minmax(0, 1fr) auto; }
  .dh-temps { flex-direction: column; flex-wrap: nowrap; align-items: flex-start; align-self: start;
    padding-left: var(--e4); border-left: 1px solid var(--bord); }
  .dh-vite { flex-direction: column; align-items: stretch; }
}
.dh-cal-tete { display: flex; align-items: center; justify-content: space-between; gap: var(--e2); margin-bottom: var(--e2); }
.dh-cal-nom { font-weight: 650; font-size: var(--t-corps); }
.dh-grille { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 2px; }
.dh-tete { padding: var(--e1) 0; font-size: var(--t-micro); color: var(--ink-4); text-align: center; letter-spacing: .06em; text-transform: uppercase; }
.dh-jour {
  position: relative; height: 36px; min-width: 0; padding: 0;
  border: 0; border-radius: var(--r-sm); background: transparent;
  color: var(--ink); font-family: inherit; font-size: var(--t-donnee); font-weight: 600; font-variant-numeric: tabular-nums;
  cursor: pointer; transition: background var(--tr-vif) var(--doux);
}
.dh-jour:hover { background: var(--surface-2); }
.dh-jour:focus-visible { outline: 2px solid var(--acc); outline-offset: -2px; }
.dh-jour.dh-auj { color: var(--acc); box-shadow: inset 0 0 0 1px var(--acc); }
.dh-jour[aria-pressed="true"] { background: var(--acc); color: var(--sur-acc); box-shadow: none; }
.dh-jour[aria-pressed="true"]:focus-visible { outline-color: var(--ink); }
.dh-jour.dh-autre::after {
  content: ''; position: absolute; left: 50%; bottom: 4px; width: 4px; height: 4px; margin-left: -2px;
  border-radius: 50%; background: currentColor; opacity: .75;
}
.dh-jour:disabled { color: var(--ink-4); font-weight: 500; background: transparent; box-shadow: none; cursor: not-allowed; }
.dh-hm { display: flex; align-items: center; gap: var(--e1); }
.dh-hm .saisie {
  width: 3.6rem; padding: var(--e2) 0; text-align: center;
  font-size: 1.35rem; font-weight: 700; font-variant-numeric: tabular-nums; letter-spacing: .02em;
}
.dh-sep { font-size: 1.35rem; font-weight: 700; color: var(--ink-3); }
.dh-vite { display: flex; flex-wrap: wrap; gap: var(--e2); }
.dh-pied {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: var(--e2) var(--e3);
  padding-top: var(--e3); border-top: 1px solid var(--bord);
}
.dh-etat { flex: 1 1 14rem; margin: 0; font-size: var(--t-label); color: var(--ink-2); line-height: 1.5; }
.dh-etat-non { color: var(--perte); font-weight: 600; }
.dh-etat-avert { color: var(--alerte); font-weight: 600; }
.fiche .saisie:disabled { background: transparent; border-style: dashed; color: var(--ink-2); cursor: not-allowed; }
.fiche .saisie:disabled:hover { border-color: var(--bord); }
.fiche-parts { display: flex; flex-direction: column; gap: var(--e2); }
.fiche-part { display: grid; gap: var(--e2) var(--e3); align-items: center;
  grid-template-columns: minmax(84px, 1.1fr) repeat(var(--n, 3), minmax(0, 1fr)); }
.fiche-part > * { min-width: 0; }
.fiche-part-tete { font-size: var(--t-label); font-weight: 600; color: var(--ink-3); }
.fiche-part-nom { font-weight: 650; font-size: var(--t-donnee); overflow-wrap: anywhere; }
.fiche-part-total { padding-top: var(--e2); border-top: 1px solid var(--bord); font-weight: 650; font-size: var(--t-donnee); }
@container (max-width: 420px) {
  .fiche-part { grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr)); }
  .fiche-part > :first-child { grid-column: 1 / -1; }
  .fiche-part-tete > :first-child { display: none; }
  .fiche-part-nom { padding-top: var(--e2); }
}
.fiche-estime { display: flex; flex-wrap: wrap; align-items: center; gap: var(--e2) var(--e3); margin: 0; }
.fiche-estime > .sous { flex: 1 1 240px; }
.fiche-correction { display: flex; flex-direction: column; gap: var(--e3); }
.fiche-pied { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: var(--e3); }
.fiche-pied .fiche-manque, .fiche-pied .fiche-pied-gauche { margin-right: auto; }
.pied-gestes { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--e3); }
.fiche-verdict { display: flex; flex-direction: column; gap: var(--e1); }
.fiche-verdict-txt { display: inline-flex; align-items: center; gap: var(--e2); font-size: 1.15rem; font-weight: 750; letter-spacing: -.01em; }
.fiche-groupe { display: flex; flex-direction: column; gap: var(--e2); }
.fiche-groupe-tete { display: flex; align-items: center; justify-content: space-between; gap: var(--e2); }
.fiche-coches { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.fiche-coches li { display: flex; align-items: flex-start; gap: var(--e2); font-size: var(--t-donnee); line-height: 1.45; }
.fiche-coches li > span:first-child { flex: none; display: inline-flex; margin-top: 1px; }
.tension-form { display: flex; flex-direction: column; gap: var(--e4); padding: var(--e4); border: 1px solid var(--bord); border-radius: var(--r-md); }
.tension-form .segments { flex-wrap: wrap; border-radius: var(--r-md); }
.tension-form-pied { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: var(--e3); }
.tension-form-pied > .sous { margin-right: auto; }
.fiche-ut .fin-choix { min-width: 52px; padding: 0 var(--e3); text-align: center; }
.fiche-captures { container-type: inline-size; }
.capt-liste { display: flex; flex-direction: column; gap: var(--e6); }
.capt-ligne { display: grid; gap: var(--e5); grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); align-items: stretch; }
.capt-image { display: block; align-self: start; width: 100%; margin: 0; padding: 0; overflow: hidden; border: 1px solid var(--bord);
  border-radius: var(--r-md); background: var(--surface-3); color: inherit; cursor: zoom-in; }
.capt-image img { display: block; width: 100%; height: auto; max-height: 560px; object-fit: contain; }
.capt-manque { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--e2);
  min-height: 200px; padding: var(--e5); color: var(--ink-3); font-size: var(--t-label); text-align: center; cursor: default; }
.capt-texte { display: flex; flex-direction: column; gap: var(--e2); min-width: 0; }
.capt-tete { display: flex; align-items: center; justify-content: space-between; gap: var(--e2); min-height: 30px; }
.capt-texte textarea { flex: 1 1 auto; min-height: 120px; resize: vertical; }
@container (max-width: 760px) {
  .capt-ligne { grid-template-columns: minmax(0, 1fr); row-gap: var(--e2); }
  .capt-texte { display: contents; }
  .capt-tete { order: -1; }
}
.capt-zone { display: flex; flex-wrap: wrap; align-items: center; gap: var(--e3) var(--e4); padding: var(--e5);
  border: 1.5px dashed var(--bord-fort); border-radius: var(--r-lg); transition: border-color .15s, background-color .15s; }
.capt-zone-ico { display: inline-flex; color: var(--ink-3); }
.capt-zone-txt { flex: 1 1 240px; display: flex; flex-direction: column; gap: var(--e1); min-width: 0; }
.capt-zone-txt p { margin: 0; }
.capt-zone.capt-survol { border-color: var(--acc); background: var(--acc-voile); }
.capt-off { border-style: solid; }
.boite-loupe { width: min(100%, max(520px, calc(min(var(--l, 2560px), (96vh - 210px) * var(--r, 1.7778)) + 2 * var(--e5) + 2px)));
  max-height: 96vh; padding: var(--e5); gap: var(--e3); }
.loupe-cadre { display: flex; justify-content: center; min-height: 0; }
.loupe-img { display: block; max-width: 100%; max-height: calc(96vh - 210px); width: auto; height: auto; border-radius: var(--r-md); }
.loupe-texte { margin: 0; max-height: 18vh; overflow-y: auto; white-space: pre-wrap; }
.recap-tuiles { container-type: inline-size; }
.recap { display: flex; flex-direction: column; gap: var(--e5); }
.recap-col { display: contents; }
.recap-plan { order: 1; }
.recap-recit { order: 2; }
.recap-contexte { order: 3; }
.recap-captures { order: 4; }
.recap-sortie { order: 5; }
.recap-donnees { order: 6; }
@media (min-width: 1101px) {
  .recap { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: var(--e6); align-items: start; }
  .recap-col { display: flex; flex-direction: column; gap: var(--e5); min-width: 0; }
}
.recap-texte { margin: 0; font-size: var(--t-corps); line-height: 1.65; white-space: pre-wrap; overflow-wrap: anywhere; max-width: 72ch; }
.recap-capts { display: flex; flex-direction: column; gap: var(--e6); }
.recap-capt { margin: 0; display: flex; flex-direction: column; gap: var(--e3); min-width: 0; }
.recap-capt figcaption { font-size: var(--t-donnee); line-height: 1.6; color: var(--ink-2); white-space: pre-wrap; overflow-wrap: anywhere; }
