/* Place2Marché — espace administrateur. S'ajoute à p2m.css (jetons et composants). */

body.p2m-admin { background: var(--lin-050); }

.p2m-admin__cadre { display: grid; grid-template-columns: 264px minmax(0, 1fr); min-height: 100vh; }

/* ---------- Barre latérale ---------- */
.p2m-admin__lateral { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; gap: var(--espace-5); padding: var(--espace-5) var(--espace-4); overflow-y: auto; }
.p2m-admin__marque { display: flex; align-items: center; gap: 10px; padding: 4px 8px 0; }
.p2m-admin__marque img { height: 32px; width: auto; display: block; }
.p2m-admin__badge-admin { padding: 3px 8px 2px; border-radius: var(--rayon-sm); background: var(--rouge-600); color: var(--blanc); font: 800 13px/1 var(--font-display); letter-spacing: .06em; text-transform: uppercase; transform: rotate(-3deg); }

.p2m-admin__nav { display: flex; flex-direction: column; gap: 2px; flex: 1; }
.p2m-admin__groupe { margin: var(--espace-4) 8px 6px; font: 700 13px/1 var(--font-display); letter-spacing: .1em; text-transform: uppercase; color: var(--marine-300); }
.p2m-admin__nav a { display: flex; align-items: center; gap: 10px; min-height: 42px; padding: 0 12px; border-radius: var(--rayon-pill); color: var(--blanc); font: 500 14px/1.2 var(--font-sans); }
.p2m-admin__nav a:hover { background: var(--marine-800); }
.p2m-admin__nav a[aria-current="page"] { background: var(--blanc); color: var(--marine-900); font-weight: 600; }
.p2m-admin__nav a .p2m-icone { font-size: 15px; }
.p2m-admin__compteur { margin-left: auto; min-width: 24px; height: 22px; padding: 0 7px; display: grid; place-items: center; border-radius: var(--rayon-pill); background: var(--rouge-600); color: var(--blanc); font: 700 13px/1 var(--font-display); }

.p2m-admin__moi { display: flex; flex-direction: column; gap: 10px; padding-top: var(--espace-4); border-top: 1px solid var(--marine-800); font-size: 13px; }
.p2m-admin__moi-nom { display: flex; align-items: center; gap: 8px; color: var(--blanc); font-weight: 600; }
.p2m-admin__lien-site { color: var(--marine-300); }
.p2m-admin__lien-site:hover { color: var(--blanc); text-decoration: underline; }

/* ---------- Contenu ---------- */
.p2m-admin__principal { min-width: 0; display: flex; flex-direction: column; }
.p2m-admin__haut-mobile { display: none; }
.p2m-admin__contenu { padding: var(--espace-6) var(--espace-7) var(--espace-8); display: flex; flex-direction: column; gap: var(--espace-5); min-width: 0; }
.p2m-admin__entete { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--espace-4); }
.p2m-admin__entete .p2m-titre-1 { font-size: 48px; line-height: 46px; }
.p2m-admin__sous-titre { margin-top: 6px; color: var(--marine-600); font-size: 15px; }
.p2m-admin__actions { display: flex; flex-wrap: wrap; gap: var(--espace-2); }

/* Panneau blanc */
.p2m-panneau { background: var(--blanc); border-radius: var(--rayon-lg); box-shadow: var(--ombre-ticket); min-width: 0; }
.p2m-panneau__tete { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--espace-3); padding: 18px 22px; border-bottom: 1px solid var(--marine-150); }
.p2m-panneau__tete h2 { font: 800 22px/1.1 var(--font-display); text-transform: uppercase; color: var(--marine-900); }
.p2m-panneau__corps { padding: 20px 22px; }
.p2m-panneau__corps--plein { padding: 0; }

/* Compteurs du tableau de bord */
.p2m-chiffres { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--espace-4); }
.p2m-chiffre { padding: 18px 22px 20px; background: var(--blanc); border-radius: var(--rayon-lg); box-shadow: var(--ombre-ticket); min-width: 0; }
.p2m-chiffre__valeur { display: block; font: 800 52px/1 var(--font-display); color: var(--marine-900); font-variant-numeric: tabular-nums; }
.p2m-chiffre__libelle { display: block; margin-top: 6px; font-size: 14px; font-weight: 600; color: var(--marine-900); }
.p2m-chiffre__detail { display: block; font-size: 13px; color: var(--marine-600); }

.p2m-admin__colonnes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--espace-4); align-items: start; }
.p2m-admin__colonnes--auto { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); }

/* Listes courtes (tableau de bord) */
.p2m-liste { list-style: none; margin: 0; padding: 0; }
.p2m-liste li { display: flex; flex-direction: column; gap: 2px; padding: 12px 22px; border-bottom: 1px solid var(--marine-100); }
.p2m-liste li:last-child { border-bottom: 0; }
.p2m-liste strong { font-weight: 600; color: var(--marine-900); }
.p2m-liste span { font-size: 13px; color: var(--marine-600); }
.p2m-liste__vide { padding: 18px 22px; color: var(--marine-600); font-size: 14px; }

/* Tableaux */
.p2m-tableau-cadre { position: relative; overflow-x: auto; }
.p2m-tableau { width: 100%; border-collapse: collapse; font-size: 14px; }
.p2m-tableau th { text-align: left; padding: 12px 16px; font: 700 14px/1 var(--font-display); letter-spacing: .06em; text-transform: uppercase; color: var(--marine-600); border-bottom: 2px solid var(--marine-150); white-space: nowrap; }
.p2m-tableau td { padding: 14px 16px; border-bottom: 1px solid var(--marine-100); vertical-align: top; }
.p2m-tableau tr:last-child td { border-bottom: 0; }
.p2m-tableau tbody tr:hover td { background: var(--marine-050); }
.p2m-tableau .p2m-num { text-align: right; font-variant-numeric: tabular-nums; }
.p2m-tableau td small { display: block; color: var(--marine-600); font-size: 12px; margin-top: 2px; }
.p2m-tableau__actions { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
.p2m-tableau__texte { max-width: 34em; white-space: pre-line; }
.p2m-supprime { color: var(--marine-500); text-decoration: line-through; }

/* Barre de recherche et filtres */
.p2m-admin__filtres { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--espace-3); }
.p2m-admin__onglets { display: flex; flex-wrap: wrap; gap: 4px; padding: 4px; background: var(--blanc); border: 2px solid var(--marine-900); border-radius: var(--rayon-pill); }
.p2m-admin__onglets a { padding: 8px 16px; border-radius: var(--rayon-pill); font: 700 15px/1 var(--font-display); letter-spacing: .04em; text-transform: uppercase; color: var(--marine-900); }
.p2m-admin__onglets a[aria-current="page"] { background: var(--marine-900); color: var(--blanc); }
.p2m-admin__recherche { flex: 1 1 280px; max-width: 420px; }
.p2m-admin__recherche .p2m-champ-bouton { height: 48px; }

.p2m-admin__pagination { display: flex; align-items: center; justify-content: space-between; gap: var(--espace-3); padding: 14px 22px; border-top: 1px solid var(--marine-150); font-size: 13px; color: var(--marine-600); }

.p2m-admin__vide { padding: 40px 22px; text-align: center; color: var(--marine-600); }
.p2m-admin__vide .p2m-titre-3 { margin-bottom: 6px; }

/* Formulaires en ligne (ajout d'un métier, d'un administrateur) */
.p2m-form-ligne { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--espace-4); align-items: end; }
.p2m-form-ligne .p2m-btn { height: 52px; }
.p2m-form-ligne__message { grid-column: 1 / -1; }
.p2m-form-ligne__message:empty { display: none; }
.p2m-form-pile { display: flex; flex-direction: column; gap: var(--espace-4); max-width: 520px; }

.p2m-admin__note { font-size: 13px; color: var(--marine-600); }
.p2m-admin__note a { color: var(--rouge-600); text-decoration: underline; }

/* Renommage en ligne */
.p2m-renommer { display: flex; gap: 6px; align-items: center; }
.p2m-renommer input { width: 100%; min-width: 0; height: 34px; padding: 0 12px; border: 2px solid var(--marine-150); border-radius: var(--rayon-pill); font: 400 14px var(--font-sans); color: var(--marine-900); }
.p2m-renommer input:focus { outline: 0; border-color: var(--marine-900); }

/* ---------- Connexion administrateur ---------- */
body.p2m-admin-connexion { min-height: 100vh; display: flex; flex-direction: column; }
.p2m-admin-connexion__fond { flex: 1; display: grid; grid-template-columns: minmax(0, 440px); justify-content: center; align-items: center; padding: var(--espace-7) var(--espace-4); }
.p2m-admin-connexion__carte { width: 100%; max-width: 440px; padding: 36px 36px 32px; background: var(--blanc); border-radius: var(--rayon-xl); box-shadow: var(--ombre-lg); color: var(--marine-900); display: flex; flex-direction: column; gap: 20px; }
.p2m-admin-connexion__logo { display: flex; align-items: center; gap: 12px; }
.p2m-admin-connexion__logo img { height: 34px; width: auto; }
.p2m-admin-connexion .p2m-bandeau { flex: none; }

/* ---------- Mobile ---------- */
@media (max-width: 1100px) {
  .p2m-chiffres { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .p2m-admin__colonnes, .p2m-admin__colonnes--auto { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 900px) {
  .p2m-admin__cadre { grid-template-columns: minmax(0, 1fr); }
  .p2m-admin__lateral { position: fixed; z-index: 30; left: 0; top: 0; bottom: 0; width: min(300px, 86vw); height: auto; transform: translateX(-105%); transition: transform .2s ease; box-shadow: var(--ombre-lg); }
  .p2m-admin__lateral.est-ouvert { transform: none; }
  .p2m-admin__haut-mobile { display: flex; align-items: center; gap: 14px; padding: 10px var(--espace-4); }
  .p2m-admin__haut-mobile img { height: 26px; width: auto; }
  .p2m-admin__contenu { padding: var(--espace-5) var(--espace-4) var(--espace-7); }
  .p2m-admin__entete .p2m-titre-1 { font-size: 38px; line-height: 38px; }
}
@media (max-width: 520px) {
  .p2m-chiffres { grid-template-columns: minmax(0, 1fr); }
  .p2m-admin-connexion__carte { padding: 28px 22px; }
}
