/* admin : écran lot 4 (session B) — page-header, onglets, menu « … », formulaires en dialogue, aperçu des logs */

.adm { min-width: 0; }
.adm .page-header { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); flex-wrap: wrap; margin-bottom: var(--space-4); }
.adm .page-header h1 { margin: 0; font-size: var(--text-xl); font-weight: var(--weight-semibold); line-height: var(--leading-tight); color: var(--text); }
.adm .page-header-actions { display: flex; align-items: center; gap: var(--space-2); }
.adm .page-header-actions:empty { display: none; }
.adm .page-subtitle { margin: var(--space-1) 0 0; color: var(--text-2); font-size: var(--text-md); overflow-wrap: anywhere; }

/* Onglets (tablist) : fondu latéral quand la rangée défile (classes posées par admin.js) */
.adm .tabs.a-gauche { -webkit-mask-image: linear-gradient(to right, transparent 0, #000 2rem); mask-image: linear-gradient(to right, transparent 0, #000 2rem); }
.adm .tabs.a-droite { -webkit-mask-image: linear-gradient(to left, transparent 0, #000 2rem); mask-image: linear-gradient(to left, transparent 0, #000 2rem); }
.adm .tabs.a-gauche.a-droite { -webkit-mask-image: linear-gradient(to right, transparent 0, #000 2rem, #000 calc(100% - 2rem), transparent 100%); mask-image: linear-gradient(to right, transparent 0, #000 2rem, #000 calc(100% - 2rem), transparent 100%); }
/* Onglets (tablist) */
.adm .tabs { display: flex; gap: var(--space-1); margin-bottom: var(--space-6); border-bottom: var(--border-width) solid var(--border); overflow-x: auto; scrollbar-width: none; }
.adm .tabs::-webkit-scrollbar { display: none; }
.adm .tab {
  display: inline-flex; align-items: center; gap: var(--space-2); height: var(--control-h-lg); padding: 0 var(--space-3);
  margin-bottom: -1px; border: 0; border-bottom: 2px solid transparent; background: none; font-family: inherit; font-size: var(--text-md);
  color: var(--text-2); font-weight: var(--weight-medium); white-space: nowrap; cursor: pointer;
}
.adm .tab:hover { color: var(--text); }
.adm .tab[aria-selected="true"] { color: var(--text); border-bottom-color: var(--accent-solid); }
.adm .tab:focus-visible { outline: var(--focus-width) solid var(--focus-ring); outline-offset: -2px; border-radius: var(--radius-sm); }
#adm-panneau:focus { outline: none; }
#adm-notice:not(:empty) { margin-bottom: var(--space-4); }
.adm-notice-text { margin: 0; overflow-wrap: anywhere; }
.adm-intro { margin: 0 0 var(--space-4); max-width: 46rem; color: var(--text-2); font-size: var(--text-md); line-height: var(--leading-normal); }

/* Boutons secondaires (classe utilisée par les composants Dialog / States) */
.adm .btn-secondary, .dialog .btn-secondary {
  background: var(--bg); color: var(--text); border-color: var(--border-control);
}
.adm .btn-secondary:hover:not(:disabled), .dialog .btn-secondary:hover:not(:disabled) { background: var(--bg-subtle); }
.adm .page-header-actions .btn, .dialog .adm-form-actions .btn { min-height: var(--control-h-lg); }

/* Cellules */
.adm .table code { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--text-2); }
.adm .col-actions-cell { display: inline-flex; justify-content: flex-end; }
@media (min-width: 641px) { .adm .table th:last-child, .adm .table td:not([data-label]) { width: 1%; } }
/* Cartes (≤ 640 px) : le menu « … » reste en haut à droite de la carte */
@media (max-width: 640px) {
  .adm .table-stack tbody tr { position: relative; }
  .adm .table-stack td.col-main { padding-right: var(--touch, 44px); }
  .adm .table-stack td:not([data-label]) { position: absolute; top: var(--space-1); right: var(--space-1); }
  .adm .table-stack .cell-title { min-height: 0; }
}
.adm .table td[data-label="Nouveaux"] .adm-nouveaux { font-weight: var(--weight-semibold); color: var(--success-text); }

/* Bouton « … » */
.adm-more {
  display: inline-grid; place-items: center; width: var(--control-h); height: var(--control-h); padding: 0;
  border: 0; border-radius: var(--radius-md); background: none; color: var(--text-2);
  font-size: var(--text-lg); font-weight: var(--weight-semibold); line-height: 1; letter-spacing: 0.05em; cursor: pointer;
}
.adm-more:hover, .adm-more[aria-expanded="true"] { background: var(--bg-muted); color: var(--text); }
.adm-more:focus-visible { outline: var(--focus-width) solid var(--focus-ring); outline-offset: var(--focus-offset); }
@media (max-width: 768px), (pointer: coarse) { .adm-more { width: var(--touch, 44px); height: var(--touch, 44px); } }

/* Lien d'ouverture de l'aperçu (journal) */
.adm-lien {
  display: inline-flex; align-items: center; min-height: var(--control-h); padding: 0; border: 0; background: none;
  font: inherit; font-weight: var(--weight-medium); color: var(--accent-solid); text-align: left; cursor: pointer; overflow-wrap: anywhere;
}
.adm-lien:hover { text-decoration: underline; }
.adm-lien:focus-visible { outline: var(--focus-width) solid var(--focus-ring); outline-offset: 2px; border-radius: var(--radius-sm); }
@media (max-width: 1023px), (pointer: coarse) { .adm-lien { min-height: var(--touch, 44px); min-width: var(--touch, 44px); } }
.adm .table .cell-sub { white-space: normal; }

/* Formulaires en dialogue : une seule colonne */
.dialog-footer:empty { display: none; }
.adm-form { display: grid; gap: 0; min-width: 0; }
.adm-form .form-group { margin-bottom: var(--space-4); }
.adm-form input[type="color"] { width: 4rem; height: var(--control-h-lg); padding: 2px; cursor: pointer; }
.adm-aide { margin: var(--space-1) 0 0; font-size: var(--text-sm); color: var(--text-2); line-height: var(--leading-snug); }
.adm-form-error {
  margin: 0 0 var(--space-4); padding: var(--space-3) var(--space-4); border-radius: var(--radius-md);
  border-left: 4px solid var(--danger-solid); background: var(--danger-bg); color: var(--danger-text); font-size: var(--text-md); overflow-wrap: anywhere;
}
.adm-form-error[hidden] { display: none; }
.adm-form [aria-invalid="true"] { border-color: var(--danger-solid); }
.adm-form-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-2); }
@media (max-width: 640px), (pointer: coarse) {
  .dialog .adm-form-actions .btn { min-height: var(--touch, 44px); }
  .dialog .adm-form input, .dialog .adm-form select { min-height: var(--touch, 44px); }
}
@media (max-width: 640px) {
  .adm-form-actions { flex-direction: column-reverse; }
  .adm-form-actions .btn { width: 100%; }
  .adm .page-header-actions, .adm .page-header-actions .btn { width: 100%; }
}

/* Choix des responsables */
.adm-choix { margin: 0 0 var(--space-4); padding: 0; border: var(--border-width) solid var(--border); border-radius: var(--radius-md); max-height: 18rem; overflow: auto; min-width: 0; }
.adm-case { display: flex; align-items: center; gap: var(--space-3); min-height: var(--touch, 44px); padding: var(--space-2) var(--space-3); border-bottom: var(--border-width) solid var(--border); cursor: pointer; }
.adm-case:last-child { border-bottom: 0; }
.adm-case:hover { background: var(--bg-subtle); }
.adm-case input { width: 1.125rem; height: 1.125rem; flex: none; margin: 0; }
.adm-case > span { display: grid; min-width: 0; }
.adm-case-nom { font-weight: var(--weight-medium); overflow-wrap: anywhere; }
.adm-case-sub { font-size: var(--text-xs); color: var(--text-2); }

/* Aperçu d'un log */
.adm-dl { margin: 0; display: grid; gap: 0; }
.adm-dl-ligne { display: grid; grid-template-columns: 9rem minmax(0, 1fr); gap: var(--space-3); padding: var(--space-2) 0; border-bottom: var(--border-width) solid var(--border); align-items: center; }
.adm-dl dt { color: var(--text-2); font-size: var(--text-sm); }
.adm-dl dd { margin: 0; overflow-wrap: anywhere; }
.adm-sous-titre { margin: var(--space-5) 0 var(--space-2); font-size: var(--text-md); font-weight: var(--weight-semibold); }
.adm-erreurs { margin: 0; padding-left: var(--space-5); display: grid; gap: var(--space-2); font-size: var(--text-sm); line-height: var(--leading-normal); overflow-wrap: anywhere; }
@media (max-width: 480px) { .adm-dl-ligne { grid-template-columns: minmax(0, 1fr); gap: var(--space-1); } }

/* En-têtes de table : neutralise le style « majuscules » hérité de styles.css */
.adm .table thead th { text-transform: none; letter-spacing: 0; font-size: var(--text-sm); font-weight: var(--weight-medium); }
/* Journal : la date figure déjà dans sa colonne, hors carte */
@media (min-width: 641px) { .adm .adm-lien + .cell-sub { display: none; } }

/* Cibles de 44 px sur tablette et écran tactile */
@media (max-width: 1023px), (pointer: coarse) {
  .adm .tab { height: var(--touch, 44px); }
  .adm .page-header-actions .btn { min-height: var(--touch, 44px); }
}
