/* ==========================================================================
   SpeakPro Academy — administration : en-tête commun + harmonisation premium
   Pages : admin-dashboard, admin-contenu, admin-apprenants, admin-coachs,
   admin-challenge, admin-inscriptions, admin-activation (+ onglets partagés
   avec admin-parrainage et admin-notifications).
   Présentation uniquement : aucun identifiant ni comportement n'est modifié.
   ========================================================================== */
:root{ --ad2-ivory:#FBF8F3; --ad2-paper:#F4EEE6; --ad2-line:#E5DBCF; --ad2-line-2:#EFE7DC; --ad2-ink:#1E2430; --ad2-ink-2:#4A505B; --ad2-mute:#6B707A; --ad2-copper:#A9552F; --ad2-copper-2:#8E4626; --ad2-navy:#10233F; --ad2-ok:#2F7D4F; --ad2-err:#B3261E; }

/* --- Onglets de l'administration (composant partagé) --- */
.sp-adm-tabs{ display:flex; gap:6px; overflow-x:auto; scrollbar-width:none; -webkit-overflow-scrolling:touch; padding:2px 0; }
.sp-adm-tabs::-webkit-scrollbar{ display:none; }
.sp-adm-tabs a{ flex-shrink:0; font-size:13px; font-weight:600; padding:8px 14px; border-radius:999px; background:#fff; color:var(--ad2-ink-2) !important; border:1px solid var(--ad2-line); text-decoration:none !important; white-space:nowrap; transition:border-color .15s ease, color .15s ease; }
.sp-adm-tabs a:hover{ border-color:var(--ad2-ink); color:var(--ad2-ink) !important; }
.sp-adm-tabs a[aria-current="page"]{ background:var(--ad2-ink); border-color:var(--ad2-ink); color:#fff !important; }
.sp-adm-tabs a:focus-visible{ outline:3px solid rgba(169,85,47,.4); outline-offset:2px; }

/* --- En-tête des pages d'administration autonomes --- */
body.sp-admin{ background:var(--ad2-ivory) !important; color:var(--ad2-ink); }
body.sp-admin .sp-adm-head{ position:sticky; top:0; z-index:200; background:rgba(255,255,255,.96); backdrop-filter:saturate(1.2) blur(6px); border-bottom:1px solid var(--ad2-line); }
body.sp-admin .sp-adm-head .nav{ position:static; border-bottom:0; box-shadow:none; background:transparent; }
body.sp-admin .sp-adm-head .nav-in{ max-width:1200px; }
body.sp-admin .sp-adm-head .brand-tag{ color:var(--ad2-copper); font-weight:700; letter-spacing:.08em; text-transform:uppercase; font-size:10.5px; }
body.sp-admin .sp-adm-site{ margin-left:auto; font-size:13.5px; font-weight:700; color:var(--ad2-ink) !important; text-decoration:none; padding:9px 16px; border:1.5px solid #CDBFAE; border-radius:999px; white-space:nowrap; }
body.sp-admin .sp-adm-site:hover{ border-color:var(--ad2-ink); }
body.sp-admin .sp-adm-sub{ max-width:1200px; margin:0 auto; padding:0 24px 12px; }
@media (max-width:860px){
  body.sp-admin .sp-adm-head .nav-links, body.sp-admin .sp-adm-head .nav-toggle{ display:none !important; }
  body.sp-admin .sp-adm-sub{ padding:0 16px 10px; }
  body.sp-admin .sp-adm-site{ padding:8px 12px; font-size:12.5px; }
}

/* Anciennes barres de navigation remplacées */
body.sp-admin .aa-nav, body.sp-admin .ec-nav, body.sp-admin .db-nav{ display:none !important; }

/* --- Conteneurs --- */
body.sp-admin .db-wrap, body.sp-admin .aa-wrap, body.sp-admin .ec-wrap{ max-width:1100px; padding:36px 24px 80px; }
body.sp-admin .admin-wrap{ max-width:880px; }
body.sp-admin section{ background:transparent; }

/* --- Bandeau de titre (remplace l'ancien dégradé bleu) --- */
body.sp-admin .admin-hero{
  background:var(--ad2-paper) !important; color:var(--ad2-ink) !important; text-align:left !important;
  padding:40px 24px 34px !important; margin-bottom:0 !important; border-bottom:1px solid var(--ad2-line);
}
body.sp-admin .admin-hero > *{ max-width:1100px; margin-left:auto; margin-right:auto; }
body.sp-admin .admin-hero .eyebrow{
  display:flex; justify-content:flex-start !important; align-items:center; gap:12px; background:none !important; border:0; box-shadow:none; padding:0;
  font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--ad2-copper) !important;
}
body.sp-admin .admin-hero .eyebrow::before{ content:""; width:28px; height:1.5px; background:var(--ad2-copper); }
body.sp-admin .admin-hero h1{ color:var(--ad2-ink) !important; font-family:var(--display-serif); font-weight:500; letter-spacing:-.02em; font-size:clamp(30px,4vw,42px) !important; line-height:1.06; margin:12px auto 0 !important; }
body.sp-admin .admin-hero p{ color:var(--ad2-ink-2) !important; font-size:15px !important; line-height:1.6; margin-top:10px !important; }
body.sp-admin .admin-hero a{ color:var(--ad2-copper) !important; font-weight:600; }
body.sp-admin .admin-photo-wrap{ display:none; }

/* --- Titres de contenu --- */
body.sp-admin main h1, body.sp-admin .db-wrap h1, body.sp-admin .aa-header h1, body.sp-admin .ec-wrap h1, body.sp-admin #admin-content > h1, body.sp-admin #admin-content h1{
  font-family:var(--display-serif); font-weight:500; letter-spacing:-.02em; color:var(--ad2-ink) !important; font-size:clamp(28px,3.4vw,38px) !important; line-height:1.08; margin:0 0 6px !important;
}
body.sp-admin h2, body.sp-admin .db-section h2{ font-family:var(--display-serif); font-weight:500; color:var(--ad2-ink); letter-spacing:-.01em; }
body.sp-admin .db-section h2{ font-size:22px; margin:30px 0 12px; }
body.sp-admin .sp-adm-intro{ color:var(--ad2-ink-2); font-size:15px; margin:6px 0 26px; }

/* --- Onglets internes et filtres --- */
body.sp-admin .admin-tabs{ padding:18px 0 !important; gap:6px; }
body.sp-admin .admin-tab, body.sp-admin .filter-chip{
  border:1px solid var(--ad2-line); background:#fff; color:var(--ad2-ink-2); border-radius:999px; font-weight:600; font-size:13px; padding:8px 14px;
}
body.sp-admin .admin-tab.active, body.sp-admin .filter-chip.active-chip{ background:var(--ad2-ink); border-color:var(--ad2-ink); color:#fff; }

/* --- Cartes, tuiles, listes --- */
body.sp-admin .db-stats{ gap:0; border-top:2px solid var(--ad2-ink); background:transparent; }
body.sp-admin .db-stat{ background:transparent; box-shadow:none; border-radius:0; text-align:left; padding:16px 16px 6px 0; }
body.sp-admin .db-stat + .db-stat{ padding-left:16px; border-left:1px solid var(--ad2-line); }
body.sp-admin .db-stat .num{ font-family:var(--display-serif); font-weight:600; font-size:30px; color:var(--ad2-ink); }
body.sp-admin .db-stat .label{ font-size:12.5px; color:var(--ad2-mute); }
body.sp-admin .db-activity, body.sp-admin .aa-table, body.sp-admin .ec-card, body.sp-admin .ac-card,
body.sp-admin .data-row, body.sp-admin .student-row{
  background:#fff; border:1px solid var(--ad2-line); border-radius:16px; box-shadow:none;
}
body.sp-admin .db-item{ border-bottom-color:var(--ad2-line-2); padding:14px 18px; font-size:14px; }
body.sp-admin .db-item:hover{ background:#FDFBF8; }
body.sp-admin .db-note{ background:var(--ad2-paper); border-left:2px solid var(--ad2-copper); border-radius:0 12px 12px 0; color:var(--ad2-ink-2); font-size:13px; }
body.sp-admin .aa-row{ border-bottom-color:var(--ad2-line-2); font-size:14px; padding:14px 18px; }
body.sp-admin .aa-row.head{ background:#FDFBF8; color:var(--ad2-mute); letter-spacing:.06em; }
body.sp-admin .ac-card h3, body.sp-admin .ec-title{ color:var(--ad2-ink); }
body.sp-admin .ec-card, body.sp-admin .ac-card{ padding:20px; }

/* --- Formulaires --- */
body.sp-admin input[type="text"], body.sp-admin input[type="email"], body.sp-admin input[type="number"], body.sp-admin input[type="url"],
body.sp-admin input[type="date"], body.sp-admin input[type="datetime-local"], body.sp-admin input[type="search"], body.sp-admin input:not([type]),
body.sp-admin select, body.sp-admin textarea{
  border:1.5px solid var(--ad2-line) !important; border-radius:10px !important; background:#fff; color:var(--ad2-ink); font-family:inherit;
}
body.sp-admin input:focus, body.sp-admin select:focus, body.sp-admin textarea:focus{ outline:none; border-color:var(--ad2-copper) !important; box-shadow:0 0 0 3px rgba(169,85,47,.14); }
body.sp-admin label{ color:var(--ad2-ink-2); }

/* --- Boutons --- */
body.sp-admin .ec-save, body.sp-admin .ac-save, body.sp-admin .sp-adm-btn{
  background:var(--ad2-copper) !important; color:#fff !important; border:0; border-radius:999px !important; font-weight:700; padding:10px 18px !important; box-shadow:none;
}
body.sp-admin .ec-save:hover, body.sp-admin .ac-save:hover{ background:var(--ad2-copper-2) !important; }
body.sp-admin button:focus-visible, body.sp-admin a:focus-visible{ outline:3px solid rgba(169,85,47,.4); outline-offset:2px; }

/* --- États : chargement, accès refusé --- */
body.sp-admin #admin-loading{ color:var(--ad2-mute) !important; }
body.sp-admin #admin-access-denied{ max-width:520px; margin:40px auto !important; background:#fff !important; border:1px solid var(--ad2-line) !important; border-radius:20px !important; box-shadow:none !important; padding:40px 28px !important; text-align:center; }
body.sp-admin #admin-access-denied h1{ font-family:var(--display-serif); font-weight:500; font-size:26px !important; color:var(--ad2-ink) !important; }
body.sp-admin .sp-adm-lock{ width:48px; height:48px; margin:0 auto 14px; border-radius:14px; background:var(--ad2-paper); color:var(--ad2-copper); display:flex; align-items:center; justify-content:center; }

@media (max-width:640px){
  body.sp-admin .db-wrap, body.sp-admin .aa-wrap, body.sp-admin .ec-wrap{ padding:24px 16px 60px; }
  body.sp-admin .db-stat{ padding:14px 10px 6px 0; }
  body.sp-admin .db-stat + .db-stat{ padding-left:10px; }
  body.sp-admin .db-stats .db-stat:nth-child(2n+1){ padding-left:0; border-left:0; }
  body.sp-admin .admin-hero{ padding:28px 16px 24px !important; }
}
body.sp-admin .db-tag{ display:inline-block; min-width:92px; margin-right:10px; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--ad2-copper); }
/* Tuiles de chiffres (activations) */
body.sp-admin .sp-adm-stats{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:2px solid var(--ad2-ink); }
body.sp-admin .sp-adm-stat{ padding:14px 14px 4px 0; }
body.sp-admin .sp-adm-stat + .sp-adm-stat{ padding-left:14px; border-left:1px solid var(--ad2-line); }
body.sp-admin .sp-adm-stat .num{ font-family:var(--display-serif); font-weight:600; font-size:30px; color:var(--ad2-ink); }
body.sp-admin .sp-adm-stat .label{ font-size:12.5px; color:var(--ad2-mute); margin-top:2px; }
@media (max-width:640px){ body.sp-admin .sp-adm-stats{ grid-template-columns:1fr 1fr; } body.sp-admin .sp-adm-stat:nth-child(3){ padding-left:0; border-left:0; } body.sp-admin .sp-adm-stat:nth-child(n+3){ border-top:1px solid var(--ad2-line); } }
/* Cartes génériques et blocs de formulaire des pages admin */
body.sp-admin .card, body.sp-admin .quiz-card{ background:#fff; border:1px solid var(--ad2-line); border-radius:18px; box-shadow:none; }
body.sp-admin .card:hover{ transform:none; box-shadow:none; }
body.sp-admin .card h3{ font-family:var(--display-serif); font-weight:500; font-size:22px; color:var(--ad2-ink); }
body.sp-admin .admin-tabs{ max-width:1100px; margin:0 auto; padding:18px 24px !important; }
body.sp-admin .btn-primary{ background:var(--ad2-copper); box-shadow:none; }
body.sp-admin .btn-outline{ box-shadow:none; border-color:#CDBFAE; }

/* Espace coach : tuiles et raccourcis (réutilise l'en-tête d'administration) */
body.sp-coach section{ padding-top:36px !important; }
body.sp-coach .wrap-narrow{ max-width:980px; }
body.sp-coach #coach-dashboard > h1, body.sp-coach section h1{ font-family:var(--display-serif); font-weight:500; letter-spacing:-.02em; color:var(--ad2-ink); font-size:clamp(28px,3.6vw,40px) !important; }
body.sp-coach .grid-3 .card[style*="text-align:center"]{ text-align:left !important; border:0; border-radius:0; background:transparent; padding:14px 14px 4px 0 !important; }
body.sp-coach .grid-3:first-of-type{ border-top:2px solid var(--ad2-ink); gap:0; }
body.sp-coach .grid-3 .card[style*="text-align:center"] + .card{ padding-left:16px !important; border-left:1px solid var(--ad2-line); }
body.sp-coach .grid-3 .card [id^="stat-"]{ font-family:var(--display-serif) !important; font-weight:600 !important; font-size:32px !important; color:var(--ad2-ink) !important; }
body.sp-coach div[style*="background:var(--blue-tint)"]{ background:#fff !important; border:1px solid var(--ad2-line); border-left:2px solid var(--ad2-copper); border-radius:0 16px 16px 0 !important; }
body.sp-coach .section-head h2{ font-family:var(--display-serif); font-weight:500; font-size:24px !important; }
body.sp-coach .card-feature{ background:#fff; border:1px solid var(--ad2-line); border-radius:18px; box-shadow:none; }
body.sp-coach .card-feature:hover{ border-color:var(--ad2-ink); transform:none; box-shadow:none; }
body.sp-coach .card-feature .icon-wrap::before{ display:none; }
body.sp-coach .card-feature .icon{ width:44px; height:44px; border-radius:12px; background:var(--ad2-paper) !important; color:var(--ad2-copper); display:flex; align-items:center; justify-content:center; transform:none !important; }
body.sp-coach .card-feature h3{ font-family:var(--display); font-size:17px; font-weight:700; color:var(--ad2-ink); }
body.sp-coach .card-feature p{ color:var(--ad2-ink-2); }
@media (max-width:860px){ body.sp-coach .grid-3:first-of-type{ grid-template-columns:1fr 1fr 1fr; } }
@media (max-width:560px){ body.sp-coach .grid-3:first-of-type .card{ padding:12px 8px 4px 0 !important; } body.sp-coach .grid-3 .card [id^="stat-"]{ font-size:24px !important; } }
body.sp-admin div[style*="background:var(--gray-panel)"]{ background:#fff !important; border:1px solid var(--ad2-line); border-radius:18px !important; }
body.sp-admin div[style*="background:#FBF1E4"], body.sp-admin div[style*="background:#FFF7E6"]{ border-radius:0 14px 14px 0 !important; border:0 !important; border-left:2px solid var(--ad2-copper) !important; background:var(--ad2-paper) !important; }
@media (max-width:480px){
  body.sp-admin .sp-adm-head .brand{ font-size:14.5px; }
  body.sp-admin .sp-adm-head .brand-tag{ font-size:9.5px; }
  body.sp-admin .sp-adm-site{ padding:7px 10px; font-size:12px; }
  body.sp-admin .sp-adm-head .nav-in{ gap:8px; }
}

/* Tableau de bord : activité (2/3) + accès rapides (1/3), façon Polaris Layout */
body.sp-admin .db-layout{ display:grid; grid-template-columns:minmax(0,2fr) minmax(240px,1fr); gap:32px; align-items:start; margin-top:12px; }
body.sp-admin .db-layout .db-section h2, body.sp-admin .db-side h2{ font-size:22px; margin:18px 0 12px; }
body.sp-admin .db-quick{ list-style:none; margin:0; padding:0; background:#fff; border:1px solid var(--ad2-line); border-radius:16px; overflow:hidden; }
body.sp-admin .db-quick li + li{ border-top:1px solid var(--ad2-line-2); }
body.sp-admin .db-quick a{ display:flex; flex-direction:column; gap:2px; padding:14px 18px; text-decoration:none; color:var(--ad2-ink); position:relative; padding-right:40px; }
body.sp-admin .db-quick a::after{ content:"→"; position:absolute; right:18px; top:50%; transform:translateY(-50%); color:var(--ad2-copper); }
body.sp-admin .db-quick a:hover{ background:#FDFBF8; }
body.sp-admin .db-quick span{ font-weight:600; font-size:14.5px; }
body.sp-admin .db-quick small{ font-size:12px; color:var(--ad2-mute); }
@media (max-width:900px){ body.sp-admin .db-layout{ grid-template-columns:1fr; gap:8px; } }
/* Le pied de page conserve sa typographie d'origine dans les espaces admin / coach */
body.sp-admin .ft-col h2{ font-family:var(--display); font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:#E9A27F; }
/* Espace coach : actions rapides en liste, sur trois colonnes en grand écran */
body.sp-coach .sp-coach-quick{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
body.sp-coach .sp-coach-quick li + li{ border-top:0; border-left:1px solid var(--ad2-line-2); }
body.sp-coach .sp-coach-quick a{ height:100%; padding:20px 44px 20px 20px; }
@media (max-width:760px){ body.sp-coach .sp-coach-quick{ grid-template-columns:1fr; } body.sp-coach .sp-coach-quick li + li{ border-left:0; border-top:1px solid var(--ad2-line-2); } }
