/* Registres métier : huit tables génériques sur les composants `kc-` (`kc-admin.css`).
 *
 * `kc-admin.css` porte déjà la table responsive (carte empilée sous 640 px, défilement
 * horizontal confiné à `.kc-table-defilement` au-dessus), les en-têtes `white-space: nowrap`
 * et les badges. Ce fichier n'ajoute que ce qui dépend du contenu propre aux registres :
 * une largeur minimale par type de colonne, pour qu'une colonne étroite (une date, un choix
 * court) ne s'écrase pas à côté d'une colonne longue (une description, une action corrective).
 */

body.theme-md .ecran-registres .kc-table th,
body.theme-md .ecran-registres .kc-table td {
  min-inline-size: 8rem;
}

/* Colonnes de texte long (`TypeColonne.TEXTE_LONG` — description, cause, action corrective,
 * participants...) : une largeur minimale plus généreuse, et le retour à la ligne à l'intérieur
 * du mot seulement en dernier recours — jamais sur les en-têtes, dont `kc-admin.css` fixe déjà
 * `white-space: nowrap`. */
body.theme-md .ecran-registres .kc-table-corps {
  min-inline-size: 16rem;
  overflow-wrap: break-word;
}

body.theme-md .ecran-registres .kc-table-correction {
  min-inline-size: 14rem;
}

body.theme-md .ecran-registres .liste-appuis {
  display: grid;
  gap: var(--kc-space-2);
  margin: 0;
  padding-inline-start: var(--kc-space-4);
}

/* Le tri par colonne est un lien simple, sans script : la CSP du dépôt (`script-src 'self'`
 * sans inline) laisse ce choix côté serveur, qui rend la page déjà triée. */
body.theme-md .ecran-registres .kc-table th a.tri-colonne {
  color: inherit;
  font: inherit;
  text-decoration: none;
}

body.theme-md .ecran-registres .kc-table th a.tri-colonne:hover,
body.theme-md .ecran-registres .kc-table th a.tri-colonne:focus-visible {
  text-decoration: underline;
}

body.theme-md .ecran-registres .kc-table th[aria-sort="ascending"] a.tri-colonne::after {
  content: " \25B2";
}

body.theme-md .ecran-registres .kc-table th[aria-sort="descending"] a.tri-colonne::after {
  content: " \25BC";
}

/* La correction d'une ligne est un détail replié, sans script — un bouton `kc-btn` pour le
 * résumé afin qu'il se lise comme une action, pas comme un texte de table. */
body.theme-md .ecran-registres details > summary {
  cursor: pointer;
  list-style: none;
}

body.theme-md .ecran-registres details > summary::-webkit-details-marker {
  display: none;
}

body.theme-md .ecran-registres details[open] > summary {
  margin-block-end: var(--kc-space-2);
}

@media (max-width: 639.98px) {
  /* Sous 640 px, `kc-admin.css` bascule déjà la table en cartes empilées (une ligne, un bord,
   * les en-têtes masqués au profit de `data-label`) : les largeurs minimales ci-dessus ne
   * doivent plus contraindre une colonne devenue une ligne pleine largeur. */
  body.theme-md .ecran-registres .kc-table th,
  body.theme-md .ecran-registres .kc-table td,
  body.theme-md .ecran-registres .kc-table-corps,
  body.theme-md .ecran-registres .kc-table-correction {
    min-inline-size: 0;
  }
}

