/* ADIA Tempo — espace administrateur.
   Compléments aux classes communes de css/app.css (.carte, .bouton, .pastille, .tableau, .champ…).
   Toutes les classes de ce fichier sont préfixées .adm- ; les variables viennent de app.css, avec
   une valeur de repli pour que l'écran reste lisible si une variable manque. */

.adm-bloc { padding: 20px; margin-bottom: 18px; }
.adm-bloc h2 { margin: 0 0 10px; font-size: 1.15rem; }
.adm-bloc h3 { margin: 18px 0 8px; font-size: 1rem; color: var(--navy, #123B63); }
.adm-entete-bloc { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; }
.adm-entete-bloc h2 { margin: 0; }
.adm-grille-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.adm-grille-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.adm-champ-large { grid-column: 1 / -1; }
.adm-mention { margin: 16px 0 0; padding-top: 12px; border-top: 1px solid var(--line, #DFE6ED); font-size: .9rem; color: var(--muted, #5D6B7A); }

/* Listes d'objets : chaque ligne porte ses actions */
.adm-liste { list-style: none; margin: 0; padding: 0; }
.adm-ligne { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; padding: 12px 0; border-top: 1px solid var(--line, #DFE6ED); }
.adm-liste > .adm-ligne:first-child { border-top: 0; }
.adm-ligne-texte { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1 1 240px; }
.adm-ligne-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.adm-inactif .adm-ligne-texte { opacity: .65; }
.adm-defilement { overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* Mise en route */
.adm-mise-en-route { border-left: 4px solid var(--accent-vif, #8FBC8F); }
.adm-etapes { list-style: none; margin: 0 0 12px; padding: 0; display: grid; gap: 8px; }
.adm-etapes li { display: flex; align-items: center; gap: 10px; }
.adm-etapes li.fait { color: var(--muted, #5D6B7A); }
.adm-coche { display: inline-flex; width: 24px; height: 24px; align-items: center; justify-content: center; border-radius: 50%;
  background: var(--panel-2, #F1F5F9); color: var(--accent, #4F7D57); font-weight: 700; flex: none; }
.adm-etapes li.fait .adm-coche { background: var(--accent-doux, #E6F3EC); }
.adm-validation { padding-top: 12px; border-top: 1px solid var(--line, #DFE6ED); }

/* Choix de période */
.adm-filtres { display: flex; align-items: flex-end; gap: 14px; flex-wrap: wrap; margin-bottom: 12px; }
.adm-periode { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.adm-segments { display: inline-flex; border: 1px solid var(--line, #DFE6ED); border-radius: 10px; overflow: hidden; background: var(--panel, #fff); }
.adm-segment { padding: 8px 14px; border: 0; background: transparent; color: var(--ink, #16212E); font: inherit; cursor: pointer; }
.adm-segment + .adm-segment { border-left: 1px solid var(--line, #DFE6ED); }
.adm-segment.actif { background: var(--navy, #123B63); color: var(--navy-ink, #fff); }
.adm-periode-texte { min-width: 180px; text-align: center; font-weight: 600; }
.adm-champ-ligne { flex-direction: row; align-items: center; gap: 6px; }

/* Mot de passe provisoire : affiché une seule fois */
.adm-secret { border-left: 4px solid var(--ambre, #8A6300); }
.adm-secret-ligne { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 8px 0; }
.adm-secret code { font-size: 1.15rem; padding: 6px 10px; border-radius: 8px; background: var(--panel-2, #F1F5F9); letter-spacing: .04em; user-select: all; }

/* Formulaires */
.adm-formulaire { display: grid; grid-template-columns: minmax(0, 1fr); min-width: 0; gap: 14px; padding: 16px; margin: 0 0 16px; border: 1px dashed var(--line, #DFE6ED); border-radius: 12px; background: var(--panel-2, #F1F5F9); }
.adm-formulaire > * { min-width: 0; }
.adm-case { display: flex; flex-direction: row; align-items: flex-start; gap: 8px; flex-wrap: wrap; font-weight: 500; }
.adm-case input[type=checkbox], .adm-case input[type=radio] { margin-top: 4px; accent-color: var(--accent, #4F7D57); }
.adm-case .aide { flex-basis: 100%; }
.adm-champ-duree { display: flex; flex-direction: column; gap: 6px; }
.adm-h-min { display: flex; align-items: center; gap: 6px; }
.adm-h-min input { width: 72px; }
.adm-inline { display: grid; gap: 10px; padding: 12px; margin: 8px 0; border-radius: 10px; background: var(--accent-doux, #E6F3EC); border: 1px solid var(--accent-vif, #8FBC8F); }
.adm-inline-champs { display: flex; gap: 12px; flex-wrap: wrap; align-items: flex-end; }
.adm-inline-champs .champ { flex: 1 1 180px; }
.adm-mini { padding: 3px 8px; font-size: .8rem; }
.adm-actions-fixes { position: sticky; bottom: 0; padding: 12px 0; background: var(--ground, #F6F8F7); }
.adm-notice { width: 100%; font: inherit; line-height: 1.5; padding: 10px 12px; border: 1px solid var(--line, #DFE6ED); border-radius: 10px; background: var(--panel, #fff); color: var(--ink, #16212E); resize: vertical; }

/* Contrats */
.adm-contrats .adm-contrat-ligne { border-top: 1px solid var(--line, #DFE6ED); padding: 6px 0; }
.adm-contrats .adm-contrat-ligne:first-child { border-top: 0; }
.adm-clos .adm-ligne-texte { opacity: .7; }
.adm-details { margin: 6px 0 10px; }
.adm-details summary { cursor: pointer; color: var(--accent, #4F7D57); font-weight: 600; }
.adm-dl { display: grid; grid-template-columns: minmax(160px, 220px) 1fr; gap: 6px 14px; margin: 10px 0 0; }
.adm-dl dt { color: var(--muted, #5D6B7A); }
.adm-dl dd { margin: 0; }
.adm-paliers { list-style: none; margin: 0 0 8px; padding: 0; display: grid; gap: 8px; }
.adm-paliers li { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.adm-paliers input[type=number] { width: 70px; }
.adm-tri-etats th { text-align: left; font-weight: 600; }
.adm-tri-etats td { white-space: nowrap; }
.adm-tri-etats th[scope=row] { min-width: 120px; }
.adm-planning { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.adm-planning-jour { padding: 10px; border-radius: 10px; background: var(--panel, #fff); border: 1px solid var(--line, #DFE6ED); display: grid; gap: 6px; align-content: start; }
.adm-planning-tete { display: flex; justify-content: space-between; align-items: center; gap: 6px; flex-wrap: wrap; }
.adm-creneau { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.adm-creneau input[type=time] { width: 104px; }
.adm-total-planning { margin: 8px 0 0; }

/* Relevé */
.adm-fiche-tete { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }
.adm-fiche-tete h1 { margin: 0 0 4px; }
.adm-semaine { margin: 14px 0 22px; padding-top: 14px; border-top: 2px solid var(--line, #DFE6ED); }
.adm-semaine-tete { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.adm-semaine-tete h3 { margin: 0 0 6px; }
.adm-pastilles { display: flex; gap: 6px; flex-wrap: wrap; }
.adm-recap { margin: 12px 0; padding: 12px 14px; border-radius: 12px; background: var(--panel-2, #F1F5F9); }
.adm-chiffres { display: flex; gap: 18px; flex-wrap: wrap; margin-bottom: 8px; }
.adm-chiffres > div { display: flex; flex-direction: column; min-width: 90px; }
.adm-chiffres strong { font-size: 1.1rem; }
.adm-explication { margin: 8px 0 0; padding-left: 18px; line-height: 1.5; }
.adm-releve td { vertical-align: top; }
.adm-releve tr.adm-incomplet td:first-child { border-left: 3px solid var(--ambre, #8A6300); }
.adm-releve tr.adm-jour-vise td { background: var(--accent-doux, #E6F3EC); }
.adm-tr-zone td { padding: 0 8px; background: transparent; }
.adm-pointages, .adm-anomalies { list-style: none; margin: 0 0 6px; padding: 0; display: grid; gap: 4px; }
.adm-pointages li { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.adm-anomalies li { color: var(--ambre, #8A6300); }

/* Demandes */
.adm-demande { padding: 14px 0; border-top: 1px solid var(--line, #DFE6ED); display: grid; gap: 10px; }
.adm-demande:first-child { border-top: 0; }
.adm-demande-tete { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; align-items: flex-start; }
.adm-contexte { font-size: .95rem; }
.adm-pointage { display: inline-block; padding: 2px 8px; border-radius: 999px; background: var(--panel-2, #F1F5F9); margin: 2px 2px 2px 0; }
.adm-pointage-vise { background: var(--ambre-doux, #FDF3DC); color: var(--ambre, #8A6300); font-weight: 600; }
.adm-decision { margin: 0; }

/* Exports */
.adm-legende { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.adm-legende li { display: flex; align-items: baseline; gap: 10px; }
.adm-legende .pastille { flex: none; }

/* Réglages */
.adm-logo { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 14px; }
.adm-logo-apercu { width: 96px; height: 96px; display: flex; align-items: center; justify-content: center; border-radius: 16px;
  border: 1px solid var(--line, #DFE6ED); background: var(--panel, #fff); overflow: hidden; text-align: center; font-size: .8rem; padding: 6px; }
.adm-logo-apercu img { max-width: 100%; max-height: 100%; object-fit: contain; }
.adm-logo-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.adm-apercu-purge ul { margin: 6px 0; padding-left: 18px; }

/* Journal */
.adm-journal { list-style: none; margin: 0; padding: 0; }
.adm-journal li { display: grid; grid-template-columns: 120px 1fr; gap: 12px; padding: 10px 0; border-top: 1px solid var(--line, #DFE6ED); }
.adm-journal li:first-child { border-top: 0; }
.adm-journal-quand { color: var(--ink, #16212E); font-variant-numeric: tabular-nums; }
.adm-diff { list-style: none; margin: 6px 0 0; padding: 0; display: grid; gap: 2px; font-size: .92rem; }
.adm-diff-cle { color: var(--muted, #5D6B7A); }
.adm-diff-cle::after { content: ' :'; }
.adm-fleche { color: var(--accent, #4F7D57); padding: 0 4px; }
.adm-motif { margin-top: 4px; font-style: italic; color: var(--muted, #5D6B7A); }

/* Équipe : le choix de la couleur de repère (§13) — la palette vient de partage/constantes.js, chaque
   bouton reçoit sa teinte en variable inline (--teinte) ; l'affichage d'une personne colorée est .adm-personne. */
.adm-palette { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; width: 100%; padding: 10px 12px; border-radius: 10px; background: var(--panel-2, #F1F5F9); }
.adm-palette-choix { width: 34px; height: 34px; padding: 0; border-radius: 50%; border: 3px solid var(--panel, #fff); cursor: pointer;
  background: var(--teinte, #ccc); box-shadow: 0 0 0 1px var(--line, #DFE6ED); transition: transform .1s ease; }
.adm-palette-choix:hover:not(:disabled) { transform: scale(1.08); }
.adm-palette-choix.actuelle { box-shadow: 0 0 0 2px var(--ink, #16212E); cursor: default; }
.adm-palette-choix:disabled { opacity: 1; }
.adm-compte { align-items: flex-start; }
.adm-etat-code { display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.adm-code-verrouille { color: var(--ambre, #8A6300); font-weight: 600; }

/* Tableau de bord : compteur d'heures et « Cette semaine » (agenda d'équipe, §12) */
.adm-compteur { display: flex; flex-direction: column; line-height: 1.3; white-space: nowrap; font-variant-numeric: tabular-nums; }
.adm-compteur .adm-compteur-attente { font-size: .82rem; color: var(--muted, #5D6B7A); font-weight: 400; }
.adm-agenda-equipe th, .adm-agenda-equipe td { padding: 8px 8px; vertical-align: middle; }
.adm-agenda-equipe th.adm-jour-aujourdhui, .adm-agenda-equipe td.adm-jour-aujourdhui { background: var(--accent-doux, #E6F3EC); }
.adm-agenda-equipe td.adm-agenda-personne { white-space: nowrap; font-weight: 600; }
.adm-agenda-case { display: inline-block; padding: 3px 8px; border-radius: 8px; font-size: .9rem; white-space: nowrap; font-variant-numeric: tabular-nums; }
.adm-agenda-case.adm-agenda-prevu { color: var(--ink, #16212E); }
.adm-agenda-case.adm-agenda-absent { background: var(--ambre-doux, #FDF3DC); color: var(--ambre, #8A6300); font-weight: 600; }
.adm-agenda-case.adm-agenda-recuperation { background: var(--bleu-doux, #E4ECF5); color: var(--bleu, #123B63); font-weight: 600; }
.adm-agenda-case.adm-agenda-rien { color: var(--muted, #5D6B7A); background: transparent; }
.adm-agenda-planifie { border-left: 3px solid var(--accent-vif, #8FBC8F); }
.adm-agenda-legende { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 8px; font-size: .9rem; color: var(--muted, #5D6B7A); }

/* Écran étroit */
@media (max-width: 720px) {
  .adm-bloc { padding: 14px; }
  .adm-grille-2, .adm-grille-3 { grid-template-columns: 1fr; }
  .adm-dl { grid-template-columns: 1fr; }
  .adm-dl dt { margin-top: 6px; }
  .adm-journal li { grid-template-columns: 1fr; gap: 4px; }
  .adm-periode-texte { min-width: 0; }
  .adm-chiffres { gap: 12px; }
  /* Smartphone : les trois choix d'une règle d'absence passent sous le libellé, rien ne déborde de l'écran. */
  .adm-tri-etats, .adm-tri-etats tbody, .adm-tri-etats tr, .adm-tri-etats th, .adm-tri-etats td { display: block; width: 100%; }
  .adm-tri-etats tr { padding: 8px 0; border-top: 1px solid var(--line, #DFE6ED); }
  .adm-tri-etats th[scope=row] { min-width: 0; padding: 0 0 4px; border: 0; }
  .adm-tri-etats td { white-space: normal; padding: 2px 0; border: 0; }
}

/* Exports : volet « Envoyer au comptable » et historique (§14) */
.adm-volet-envoi { display: grid; gap: 12px; margin: 12px 0 16px; padding: 16px; border-radius: 12px; border: 1px solid var(--line, #DFE6ED); background: var(--panel-2, #F1F5F9); }
.adm-volet-envoi > * { min-width: 0; }
.adm-volet-envoi h3 { margin: 6px 0 0; }
.adm-volet-envoi .champ textarea { font: inherit; }
.adm-volet-envoi[aria-busy="true"] { opacity: .7; }
.adm-semaines-envoi .adm-ligne { padding: 8px 0; }
.adm-semaines-provisoires { margin: 6px 0 10px; padding-left: 18px; display: grid; gap: 4px; }
.adm-semaines-provisoires li { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.adm-historique-envois .adm-ligne-texte { gap: 3px; }

/* Une personne avec sa couleur d'équipe (§13) : fond doux + point de la teinte, le prénom toujours écrit. */
.adm-personne { display: inline-flex; align-items: center; gap: 6px; padding: 2px 10px 2px 6px; border-radius: 999px; color: var(--ink, #16212E); font-weight: 600; max-width: 100%; }
.adm-personne-point { width: 10px; height: 10px; border-radius: 50%; background: var(--teinte, var(--accent-vif, #8FBC8F)); flex: none; }

/* Réglages : postes de pointage (§15) */
.adm-postes .bandeau .ligne-actions { margin-top: 10px; }
.adm-postes h3 { margin-top: 16px; }

/* Une case à cocher ou un bouton radio dans un .champ (comptable, archivage, pauses du contrat) : la règle commune
   « .champ input » lui donnait toute la largeur et 46 px de haut, ce qui la posait seule sur sa ligne, loin de son
   libellé. Elle reprend sa taille naturelle et le libellé reste à côté. */
.adm-case input[type=checkbox], .adm-case input[type=radio] { width: 20px; height: 20px; min-height: 0; padding: 0; margin-top: 2px; flex: none; }

/* Mode sombre : le bleu profond (--navy) y devient une couleur de fond, presque celle de la page ; les sous-titres
   des blocs (« Les semaines de la période », « Historique des envois », « Les postes du cabinet »…) reprennent
   la couleur du texte pour rester lisibles. */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .adm-bloc h3 { color: var(--ink, #E6EBE8); }
}
:root[data-theme="dark"] .adm-bloc h3 { color: var(--ink, #E6EBE8); }

/* Fiche assistante (0.4.0) : en-tête teinté, onglets de la fiche, compteur d'heures (§11), agenda du mois (§12).
   Préfixes propres à la fiche : .adm-fiche-, .adm-cpt-, .adm-cal-. La couleur de repère (§13) vient de
   partage/constantes.js (teinte et versions douces calculées par couleurDouce) et arrive en variables inline :
   --adm-fiche-teinte, --adm-fiche-douce (fond clair), --adm-fiche-douce-sombre (fond sombre). La pastille précède
   toujours le prénom : elle n'est jamais le seul signal. */
.adm-fiche-couleur { display: inline-block; width: 14px; height: 14px; border-radius: 50%; flex: none; margin-right: 10px;
  background: var(--adm-fiche-teinte, transparent); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .12); }
.adm-fiche-fond { background: var(--adm-fiche-douce, var(--panel-2, #F1F5F9)); }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .adm-fiche-fond { background: var(--adm-fiche-douce-sombre, var(--panel-2, #1E2B28)); }
}
:root[data-theme="dark"] .adm-fiche-fond { background: var(--adm-fiche-douce-sombre, var(--panel-2, #1E2B28)); }
.adm-fiche-teinte { padding: 12px 16px; border-radius: 12px; border-left: 6px solid var(--adm-fiche-teinte, transparent); }
.adm-fiche-nom { display: flex; align-items: center; }
.adm-fiche-onglets { display: flex; gap: 2px; margin: 0 0 16px; border-bottom: 1px solid var(--line, #DFE6ED); overflow-x: auto; scrollbar-width: none; }
.adm-fiche-onglets::-webkit-scrollbar { display: none; }
.adm-fiche-onglet { padding: 10px 14px; border: 0; border-bottom: 3px solid transparent; background: transparent; color: var(--muted, #5D6B7A);
  font: inherit; font-weight: 600; white-space: nowrap; cursor: pointer; }
.adm-fiche-onglet:hover { color: var(--ink, #16212E); }
.adm-fiche-onglet.actif { color: var(--ink, #16212E); border-bottom-color: var(--accent-vif, #8FBC8F); }

/* Compteur d'heures */
.adm-cpt-chiffres { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin: 10px 0 14px; }
.adm-cpt-chiffre { display: grid; gap: 2px; align-content: start; padding: 12px 14px; border-radius: 12px; background: var(--panel-2, #F1F5F9); }
.adm-cpt-chiffre strong { font-size: 1.6rem; font-variant-numeric: tabular-nums; }
.adm-cpt-chiffre .aide { margin-top: 2px; }
.adm-cpt-formulaire h3 { margin-top: 0; }
.adm-cpt-conversion { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 10px 12px; border-radius: 10px;
  background: var(--panel, #fff); border: 1px solid var(--line, #DFE6ED); }
.adm-cpt-conversion .champ { display: flex; flex-direction: row; align-items: center; gap: 6px; margin: 0; font-weight: 500; }
.adm-cpt-conversion input { width: 84px; }
.adm-cpt-conversion [hidden] { display: none; }
.adm-cpt-mouvements tr.adm-cpt-annule td { color: var(--muted, #5D6B7A); }
.adm-cpt-mouvements tr.adm-cpt-annule td:nth-child(-n+3) { text-decoration: line-through; }
.adm-cpt-semaines td { white-space: nowrap; }

/* Agenda : la grille du mois (sept colonnes qui ne débordent jamais : minmax(0, 1fr)) */
.adm-cal-entete, .adm-cal-grille { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.adm-cal-entete { margin: 12px 0 4px; font-size: 12.5px; text-transform: uppercase; letter-spacing: .05em; color: var(--muted, #5D6B7A); font-weight: 600; text-align: center; }
.adm-cal-jour { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-height: 88px; min-width: 0; padding: 6px;
  border: 1px solid var(--line, #DFE6ED); border-radius: 10px; background: var(--panel, #fff); color: var(--ink, #16212E);
  font: inherit; font-size: .78rem; line-height: 1.3; text-align: left; cursor: pointer; overflow: hidden; }
.adm-cal-jour > span { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.adm-cal-jour:hover { border-color: var(--accent-vif, #8FBC8F); }
.adm-cal-jour[aria-pressed="true"] { border-color: var(--accent, #4F7D57); box-shadow: inset 0 0 0 1px var(--accent, #4F7D57); }
.adm-cal-num { font-weight: 700; font-size: .95rem; }
.adm-cal-aujourdhui .adm-cal-num { display: inline-flex; width: 24px; height: 24px; align-items: center; justify-content: center; border-radius: 50%;
  background: var(--navy, #123B63); color: var(--navy-ink, #E8EEF6); }
.adm-cal-passe { background: var(--panel-2, #F1F5F9); }
.adm-cal-repos { opacity: .8; }
.adm-cal-planifie { border-left: 3px solid var(--bleu, #123B63); }
.adm-cal-horaires { color: var(--ink, #16212E); white-space: normal !important; }
.adm-cal-mention { color: var(--bleu, #123B63); font-weight: 600; }
.adm-cal-abs { color: var(--ambre, #8A6300); font-weight: 600; }
.adm-cal-travaille { color: var(--vert, #2F6B45); font-weight: 600; font-variant-numeric: tabular-nums; }
.adm-cal-anomalie { color: var(--rouge, #B3402F); }
.adm-cal-vide { min-height: 88px; }
.adm-cal-legende { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 8px; font-size: .85rem; }
.adm-cal-totaux { margin-top: 12px; }
.adm-cal-volet { margin-top: 14px; padding: 14px; border-radius: 12px; border: 1px solid var(--accent-vif, #8FBC8F); background: var(--accent-doux, #E6F3EC); }
.adm-cal-volet h3 { margin: 0; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.adm-cal-volet .adm-formulaire { background: var(--panel, #fff); }
.adm-cal-volet .adm-liste { margin: 6px 0; }
.adm-cal-creneaux { display: grid; gap: 6px; }

@media (max-width: 720px) {
  .adm-cpt-chiffre strong { font-size: 1.3rem; }
  .adm-cal-jour { min-height: 60px; padding: 4px; font-size: .68rem; gap: 1px; }
  .adm-cal-vide { min-height: 60px; }
  .adm-cal-horaires { display: none; }
  .adm-cal-entete { font-size: 11px; letter-spacing: 0; }
  .adm-cal-volet { padding: 12px; }
}

/* Écrans transversaux (0.4.0, écrans 2) : sur smartphone, la note du compteur passe à la ligne et la cellule
   d'actions d'un tableau empilé (Supprimer + motif) prend toute la largeur, sans colonne de libellé vide. */
.adm-compteur .adm-compteur-attente { white-space: normal; }
@media (max-width: 640px) {
  .tableau.empilable td.adm-cellule-actions[data-libelle=""] { display: block; }
  .tableau.empilable td.adm-cellule-actions[data-libelle=""]::before { display: none; }
}
