input.vDateField, input.vTimeField{
  width:initial!important;
}
/* --- Sections repliables --- */
.enregistrement-section {
  border: 1px solid var(--bordure);
  border-radius: var(--rayon);
  margin-bottom: 1rem;
  background: var(--fond);
}

.enregistrement-fond{
  background: var(--fond);
}

.enregistrement-section-titre {
  cursor: pointer;
  padding: .3rem .4rem;
  font-weight: 600;
  background: var(--fond);
  border-radius: var(--rayon);
  user-select: none;
}
.enregistrement-section-titre span{
  font-weight: normal;
  margin-left: 5px;
}

.enregistrement-section[open] .enregistrement-section-titre {
  border-bottom: 1px solid var(--bordure);
  border-radius: var(--rayon) var(--rayon) 0 0;
}

.enregistrement-section-titre:hover { background: var(--fond-contraste); }
details.enregistrement-section > summary::-webkit-details-marker { display: none; }
details.enregistrement-section > summary {
list-style: none;
}
/* --- Grille label / champ --- */
.enregistrement-grille { padding: 0rem 1rem; }
.enregistrement-champ {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: .5rem 1.25rem;
  align-items: start;
  padding: .6rem 0;
  border-bottom: 1px dashed var(--fond-contraste);
}
.enregistrement-champ:last-child { border-bottom: 0; }
.enregistrement-champ-label label {
  font-weight: 500;
  padding-top: .45rem;   /* aligne le label sur la 1re ligne du champ */
  display: inline-block;
}

/* --- Contrôles uniformes --- */
.controle {
  box-sizing: border-box;
  width: 100%;
  max-width: 420px;
  padding: .45rem .6rem;
  border: 1px solid var(--bordure);
  border-radius: var(--rayon);
  font-size: .9rem;
  background: var(--carte);
}
textarea.controle { max-width: calc( 100% - 20px ); resize: vertical; }

/*input.vDateField.controle { max-width: 9rem; }
input.vTimeField.controle { max-width: 7rem; }*/

.controle:focus {
  outline: none;
  border-color: var(--champs);
  box-shadow: 0 0 0 3px var(--focus);
}

/* --- Cases à cocher : plus grandes, cliquables --- */
.enregistrement-case { width: 1.25rem; height: 1.25rem; accent-color: var(--champs); margin-top: .5rem; }


.enregistrement-champ-saisie {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.errorlist {
  list-style: none;
  margin: .35rem 0 0;
  padding: 5px;
  color: var(--texte-inverse);
  font-size: .85rem;
}
.enregistrement-champ-erreur .controle { border-color: var(--erreur); }
.enregistrement-champ-erreur { background: var(--fond-erreur-doux); border-radius: var(--rayon); padding-inline: .5rem; }
.enregistrement-aide { margin: .3rem 0 0; font-size: .85rem; color: var(--texte-doux); }

/* Poste rempli par « Proposer la composition d'origine » : la valeur affichée ne
   vient pas de la base. Même filet que .consignes-info, pour que le bandeau et les
   champs qu'il annonce se répondent. */
.enregistrement-champ-propose {
  background: var(--fond-focus);
  box-shadow: inset 3px 0 0 var(--champs);
  /* le filet mord sur la grille : on décale la ligne sans décaler ses voisines,
     donc padding à gauche et marge négative de la même valeur. */
  padding-left: .6rem;
  margin-left: -.6rem;
}


.enregistrement-parametres input[type="text"],
.enregistrement-parametres input[type="number"],
.enregistrement-parametres select {
  width: 100%;
  box-sizing: border-box;
  padding: .3rem .45rem;
  border: 1px solid var(--bordure);
  border-radius: var(--rayon);
  background: var(--carte);
  font: inherit;
}

/* --- Responsive --- */
@media (max-width: 720px) {
  .enregistrement-champ { grid-template-columns: 1fr; }
  .enregistrement-champ-label label { padding-top: 0; }
}