/* Écrans « Administration et portefeuille » (lot E de l'overhaul graphique, voir
 * `docs/maquettes/overhaul/DIRECTION.md`) : liste des missions, portefeuille, administration
 * de la plateforme, organisme. Les classes `kc-*` génériques (table, carte, grille, badge,
 * bouton, KPI, panneau `#kc-aside`) viennent du socle `kc-admin.css` ; cette feuille ne porte
 * que ce qui est propre aux écrans de ce lot.
 *
 * Les anciennes règles de ce fichier (`.tableau-administration`, `.choix-role`,
 * `.liste-invitations`, `.invitation-formulaire`, `.appartenances-compte`, `.etat-actif` /
 * `.etat-inactif`, jetons `--pas-*` / `--md-sys-color-*`) ont disparu : `administration.html`
 * et `organisme.html` sont passés au système `kc-` avant ce lot (commit `afc1f65`), et plus
 * aucun gabarit du dépôt ne porte ces classes — elles étaient du code mort.
 */

/* ====================== Mes missions (`dossiers.html`) ======================
 * Premier écran après connexion, exigence de Bruno : une carte par mission, en grille pleine
 * largeur, plutôt que la liste empilée d'avant — l'état et l'avancement se lisent d'un coup
 * d'œil sur un portefeuille de plusieurs dizaines de dossiers. */

.kc-grid--dossiers {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr));
}

/* Le message « sans mandat de créateur » : `.kc-card__body` (kc-admin.css) pose le même
   padding sur les quatre côtés, mais le `<p>` qu'il contient garde sa marge basse par défaut
   du navigateur — elle s'ajoute au padding, pas à sa place, et laissait un vide disproportionné
   sous le texte alors que rien d'autre ne suit dans la carte. */
.kc-card--message-sans-mandat .kc-card__body > p:last-child {
  margin-bottom: 0;
}

.kc-card--dossier .kc-card__title {
  font-size: var(--kc-font-size-lg);
}

/* 2.5.8 : hauteur de ligne ~21 px, sous les 24 px requis — même technique que
   `.kc-sidebar-dossier a` (kc-admin.css) : `padding-block`/`margin-block` négatif égal,
   `inline-block` requis pour que la marge négative compense réellement le padding (#168). */
.kc-card--dossier .kc-card__title a {
  display: inline-block;
  padding-block: var(--pas-1);
  margin-block: calc(var(--pas-1) * -1);
  color: inherit;
  text-decoration: none;
}

.kc-card--dossier .kc-card__title a:hover,
.kc-card--dossier .kc-card__title a:focus-visible {
  color: var(--kc-color-primary);
}

.kc-dossier-avancement {
  margin-block-start: var(--kc-space-3);
}

.kc-dossier-avancement__legende {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--kc-space-2);
  margin: var(--kc-space-2) 0 0;
  font-size: var(--kc-font-size-sm);
  color: var(--kc-color-text-soft);
}

.kc-dossier-reprise {
  margin: var(--kc-space-3) 0 0;
  font-size: var(--kc-font-size-sm);
  color: var(--kc-color-text);
}

.kc-dossier-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--kc-space-3);
}

.kc-dossier-faits {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--kc-space-4);
}

.kc-dossier-faits dt {
  font-size: var(--kc-font-size-xs);
  color: var(--kc-color-text-muted);
}

.kc-dossier-faits dd {
  margin: 0;
  font-size: var(--kc-font-size-sm);
  color: var(--kc-color-text);
}

.kc-dossier-footer-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--kc-space-2);
}

/* US-14.7 : les trois prochaines actions ouvertes, listées sous la reprise — une liste
 * simple, sans puce ronde, pour rester lisible à côté des autres `<p>` de la carte. */
.kc-dossier-prochaines-actions {
  margin: var(--kc-space-2) 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--kc-space-1);
  font-size: var(--kc-font-size-sm);
  color: var(--kc-color-text);
}

/* Le badge « Décisions en attente » devient un lien vers la file à trancher (US-14.7) :
 * même apparence que la pastille non cliquable, avec un repère visuel au survol/focus. */
.kc-dossier-faits dd a.kc-badge {
  text-decoration: none;
}

.kc-dossier-faits dd a.kc-badge:hover,
.kc-dossier-faits dd a.kc-badge:focus-visible {
  text-decoration: underline;
}

/* Le portefeuille porte deux dimensions (client, tri) : chacune a besoin de son repère,
 * comme `.pilotage--risques .kc-toolbar__filtres-titre` (`ecrans-risques.css`) pour la même
 * raison — sans lui, deux rangées de puces sans en-tête se lisent comme une seule liste. */
.ecran-dossiers .kc-toolbar__filtres-titre {
  display: inline-flex;
  align-items: center;
  font-size: var(--kc-font-size-xs);
  font-weight: var(--kc-weight-medium);
  color: var(--kc-color-text-soft);
  margin-inline-end: var(--kc-space-1);
}

/* ====================== Vue d'ensemble du dossier (`dossier_complet.html`) ======================
 * La CSP du dépôt écarte tout `style=""` : la première section de chaque groupe ne retire plus
 * sa marge supérieure en ligne. `margin-block-start: 0` sur la section ne suffit pas seule — la
 * marge par défaut du navigateur sur son premier `<h2>` enfant « collapse » à travers une
 * section sans bordure ni padding et resterait visible ; on l'annule donc sur l'en-tête
 * lui-même, pas seulement sur son conteneur. */

.kc-section-groupe--premiere {
  margin-block-start: 0;
}

.kc-section-groupe--premiere > h2 {
  margin-block-start: 0;
}

/* ====================== Administration de la plateforme (`administration.html`) ======================
 * `.ecran` (ecrans-corpus.css) pose `overflow-wrap: anywhere` sur toute la page, hérité par les
 * cellules de ces deux tables. Avec l'ajout de la colonne « Mandat de créateur », la colonne
 * Compte se resserre et un identifiant de compte (« demo-admin-plateforme ») se coupait en
 * plein milieu (« demo-admin-platefor/me ») — mesuré à 1440 px et 1280 px, Refs #109. Même
 * défaut déjà corrigé ailleurs dans ce dépôt (ecrans-donnees-personnelles.css, kc-admin.css
 * « Tables à colonnes fixes ») par le même remède : `overflow-wrap: normal` restaure le
 * défaut du navigateur, qui ne replie qu'aux coupures normales (espace, trait d'union) —
 * jamais en plein mot. Scopé aux deux tables de cet écran, pas au sélecteur partagé
 * `.ecran` de ecrans-corpus.css. */
.kc-table--administration-comptes th,
.kc-table--administration-comptes td,
.kc-table--administration-habilitations th,
.kc-table--administration-habilitations td {
  overflow-wrap: normal;
}

/* La table des comptes débordait son conteneur à 1280 px et 1440 px (`scrollWidth >
 * clientWidth` mesuré sur `.kc-table-defilement`, Refs #109) : en `table-layout: auto`
 * (défaut), une colonne garde sa largeur de contenu préférée même quand la table dépasse son
 * conteneur, au lieu de la réduire — l'en-tête « Dernière connexion » (`white-space: nowrap`,
 * règle partagée de `.kc-table thead th`) et `.kc-list-meta` (« Personnel de plateforme »,
 * « Aucune mission »…, `white-space: nowrap` elle aussi) imposaient chacune une largeur
 * minimale que la somme des sept colonnes ne pouvait plus tenir une fois « Mandat de
 * créateur » ajoutée. Même patron que `.kc-table--soa`/`--plan`/`--risques` (kc-admin.css,
 * « Tables à colonnes fixes ») : `table-layout: fixed` fait respecter un `<colgroup>` en
 * pourcentages plutôt que la largeur de contenu, et les deux surcharges `white-space: normal`
 * ci-dessous laissent l'en-tête et le texte méta se replier normalement dans la largeur ainsi
 * imposée, plutôt que de déborder ou de maintenir la table entière plus large que son
 * conteneur. Scopé à cette seule table — `.kc-list-meta` ailleurs dans le dépôt reste
 * `nowrap`. */
.kc-table--administration-comptes {
  table-layout: fixed;
}

.kc-table--administration-comptes thead th,
.kc-table--administration-comptes .kc-list-meta,
.kc-table--administration-comptes .kc-table__date {
  white-space: normal;
}

/* État/Second facteur réélargies (#211 avait resserré 9→7 %/18→15 % pour loger Courriel) :
 * « Actif » (5 lettres) et « 2FA non configurée » (19) s'y coupaient à 1280 px — repris sur
 * Connexion/Action (texte déjà pliable : date courte, bouton court) ; Appartenances reste à
 * son 12 % d'origine — son en-tête, un seul mot sans point de coupure, débordait sur son
 * voisin dès qu'on y touchait. Colonnes sans pastille ni bouton jamais mesurées par la règle
 * de troncature du contrôleur. Budget total inchangé (100 %, constat du contrôleur lot
 * 3/#211). */
.kc-col-administration-compte { width: 13%; }
.kc-col-administration-etat { width: 9%; }
.kc-col-administration-2fa { width: 18%; }
.kc-col-administration-courriel { width: 12%; }
.kc-col-administration-mandat { width: 14%; }
.kc-col-administration-appartenances { width: 12%; }
.kc-col-administration-connexion { width: 11%; }
.kc-col-administration-action { width: 11%; }

