/* Styles propres aux pages « admin » (refonte 2026-09). Tout dans @layer pages ; composants partagés : assets/css/site.css. */
@layer pages {
  /* Tuiles KPI : 2 colonnes téléphone, 3 bureau (6 tuiles = 2 rangées pleines) */
  @media (min-width: 64rem) { .admin-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
  .admin-kpi-accent { border-top: 3px solid var(--red); }
  .admin-kpi-accent .stat-value { color: var(--text); }

  /* Colonne de nom collante : largeur minimale pour rester lisible pendant le défilement */
  .admin-name { min-width: 140px; }
  .admin-name a { color: var(--text); }
  .admin-msg { min-width: 200px; }

  /* Paires clé / valeur (réglages, identité, cotation) */
  .admin-kv { display: flex; flex-direction: column; }
  .admin-kv > div {
    display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 16px;
    padding: 10px 0; border-top: 1px solid var(--border);
  }
  .admin-kv > div:first-child { border-top: 0; padding-top: 0; }
  .admin-kv dt { font-size: 13px; font-weight: 700; color: var(--muted); }
  .admin-kv dd { margin: 0; text-align: right; overflow-wrap: anywhere; min-width: 0; }

  .admin-actions form { margin: 0; }
  .admin-back {
    display: inline-flex; align-items: center; gap: 4px; align-self: flex-start;
    min-height: 38px; font-weight: 600; font-size: 14px;
  }
  .admin-back svg { transform: rotate(90deg); }

  /* Rôle d'un membre */
  .badge-role-admin { background: color-mix(in srgb, var(--red) 16%, transparent); color: var(--red-text); }

  @media (max-width: 63.99rem) { .admin-layout { display: flex; flex-direction: column; gap: 20px; } }
}
