:root{
  --fond:#F4F5F7; --carte:#FFFFFF; --encre:#0F172A; --texte:#1F2937; --doux:#4B5563; --muet:#6B7280;
  --bord:#E2E5EA; --bord-fort:#CBD2DB; --bleu:#1F4FD8; --bleu-fonce:#1A3FB0; --bleu-pale:#EEF2FF;
  --ambre:#92400E; --ambre-fond:#FFF8EB; --ambre-bord:#F5D9A8; --rouge:#B42318; --vert:#05603A;
  --r:16px;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--fond);color:var(--encre);font-family:'IBM Plex Sans',system-ui,sans-serif;font-size:15px;line-height:1.5}
a{color:var(--bleu)}a:hover{color:var(--bleu-fonce)}
button,input,select{font:inherit}
h1,h2,h3{font-family:Manrope,sans-serif;letter-spacing:-.02em;margin:0}
h1{font-size:30px;font-weight:800;letter-spacing:-.03em}
h2{font-size:20px;font-weight:800}
.mono{font-family:'IBM Plex Mono',monospace}
.surtitre{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--bleu)}
.surtitre.ambre{color:var(--ambre)}
.chargement{padding:80px 24px;text-align:center;color:var(--muet)}

.coque{display:flex;flex-wrap:wrap;align-items:flex-start;max-width:1440px;margin:0 auto}
.menu{flex:1 1 240px;max-width:100%;padding:24px 16px;display:flex;flex-direction:column;gap:2px}
.logo{display:flex;align-items:center;gap:10px;padding:4px 10px 26px;font-family:Manrope,sans-serif;font-weight:800;font-size:18px;color:var(--encre);text-decoration:none}
.menu a.nav{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 12px;border-radius:10px;color:var(--doux);text-decoration:none}
.menu a.nav:hover{background:#EAEDF2;color:var(--encre)}
.menu a.nav.actif{background:var(--carte);color:var(--encre);font-weight:600;box-shadow:0 1px 2px rgba(15,23,42,.08),inset 3px 0 0 var(--bleu)}
.menu a.nav .lib{flex:1}
.menu .groupe{padding:20px 12px 6px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muet)}
.menu .sous-groupe{padding:8px 12px 2px 42px;font-size:12px;color:var(--muet)}
.menu a.nav.sous{min-height:38px;padding-left:24px;font-size:14px}

.contenu{flex:999 1 560px;min-width:0;padding:28px 32px 64px}
@media (max-width:700px){.contenu{padding:20px 16px 48px}.menu{padding:12px 8px}}

.pile{display:flex;flex-direction:column;gap:22px}
.grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.carte{background:var(--carte);border:1px solid var(--bord);border-radius:var(--r);padding:22px;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.carte.offre-bleu{background:var(--bleu-pale);border-color:#C7D2FE}
.carte.offre-ambre{background:var(--ambre-fond);border-color:var(--ambre-bord)}
.carte .ligne{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.doux{color:var(--doux)}.petit{font-size:13px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border:0;border-radius:10px;font-weight:600;cursor:pointer;text-decoration:none;background:var(--bleu);color:#fff}
.btn:hover{filter:brightness(.92);color:#fff}
.btn.sombre{background:var(--encre)}
.btn.contour{background:var(--carte);color:var(--encre);border:1px solid var(--bord-fort);font-weight:500}
.btn.contour:hover{background:#F3F5F9;filter:none;color:var(--encre)}
.btn:disabled{opacity:.6;cursor:wait}

label.champ{display:flex;flex-direction:column;gap:6px;color:var(--doux);font-size:14px}
input.saisie{min-height:48px;padding:0 14px;border:1px solid var(--bord-fort);border-radius:10px;background:#fff;color:var(--encre);font-size:15px}
input.saisie:focus{outline:2px solid var(--bleu);outline-offset:1px;border-color:var(--bleu)}
input.code{font-family:'IBM Plex Mono',monospace;font-size:24px;letter-spacing:.3em;max-width:240px}
.message{border-radius:10px;padding:12px 16px;font-size:14px}
.message.ok{background:#ECFDF3;border:1px solid #A6F4C5;color:var(--vert)}
.message.erreur{background:#FEF3F2;border:1px solid #FDA29B;color:var(--rouge)}

.connexion{min-height:100vh;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:64px;padding:48px 20px;background:linear-gradient(135deg,#E8EEFC 0%,var(--fond) 55%)}
.connexion .intro{max-width:440px;display:flex;flex-direction:column;gap:18px}
.connexion .intro h1{font-size:40px;line-height:1.1}
.connexion .boite{width:min(420px,100%);background:var(--carte);border:1px solid var(--bord);border-radius:20px;padding:32px;display:flex;flex-direction:column;gap:18px}

.verrou{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.cadre-outil{width:100%;min-height:80vh;border:1px solid var(--bord);border-radius:var(--r);background:#fff}
.vide{border:1px dashed var(--bord-fort);border-radius:var(--r);padding:40px 24px;text-align:center;color:var(--doux);background:var(--carte)}
.etiquette{font-size:12px;font-weight:600;border-radius:99px;padding:2px 10px;background:#F1F3F6;color:#334155}

/* contenus */
.sr{position:absolute;left:-9999px}
.barre{height:6px;background:#E6E8EC;border-radius:99px;overflow:hidden}.barre>div{height:100%;background:var(--bleu);border-radius:99px}
details.module{background:var(--carte);border:1px solid var(--bord);border-radius:14px}
details.module summary{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 18px;cursor:pointer;list-style:none;font-weight:600}
details.module summary::-webkit-details-marker{display:none}
.module-label{color:var(--bleu);margin-right:6px}
.lecons{border-top:1px solid #EEF0F3;padding:6px}
a.lecon{display:flex;align-items:center;gap:12px;min-height:44px;padding:6px 12px;border-radius:8px;color:var(--encre);text-decoration:none}
a.lecon:hover{background:#F3F5F9;color:var(--encre)}
.pastille{width:22px;height:22px;flex:none;border-radius:99px;background:#F1F3F6;display:inline-flex;align-items:center;justify-content:center;font-size:12px;color:#15803D}
.pastille.ok{background:#DCFCE7}
.badge-maj{font-size:11px;font-weight:600;color:#92400E;background:#FEF3C7;border-radius:99px;padding:2px 8px;white-space:nowrap}
.lecteur{position:relative;aspect-ratio:16/9;background:#0B1220;border-radius:16px;overflow:hidden}
.lecteur iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.note{display:flex;gap:12px;align-items:flex-start;border-radius:12px;padding:14px 16px;font-size:14px}
.note.alerte{background:#FFFBEB;border:1px solid #FCD34D;color:#78350F}
.note.info{background:#EFF6FF;border:1px solid #BFDBFE;color:#1E3A8A}
.note svg{flex:none;margin-top:2px}.note-titre{font-weight:600}
.texte-lecon p{margin:0 0 10px}.texte-lecon p:last-child{margin:0}
a.piece{display:flex;gap:8px;align-items:center;min-height:40px}
.recherche{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--bord-fort);border-radius:10px;padding:0 12px;min-height:44px;flex:0 1 340px}
.recherche input{flex:1;min-width:0;border:0;outline:none;background:transparent}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{min-height:36px;padding:0 14px;border-radius:99px;border:1px solid var(--bord-fort);background:#fff;color:var(--texte);cursor:pointer;font-size:13px;display:inline-flex;align-items:center;text-decoration:none}
.chip.on{background:var(--encre);border-color:var(--encre);color:#fff;font-weight:600}
a.ligne-coaching{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:14px;border-radius:10px;color:var(--encre);text-decoration:none}
a.ligne-coaching:hover{background:#F3F5F9;color:var(--encre)}
.carte.direct{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.deux-colonnes{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start}
.deux-colonnes>.pile{flex:3 1 520px}
.chapitres{flex:2 1 300px;padding:8px;max-height:760px;overflow-y:auto}
button.chapitre{display:flex;gap:12px;width:100%;text-align:left;border:0;background:transparent;border-radius:8px;padding:9px 10px;cursor:pointer;color:var(--texte);font-size:14px}
button.chapitre .mono{color:var(--muet);flex:none;font-size:13px}
button.chapitre:hover{background:#F3F5F9}
button.chapitre.on{background:var(--bleu-pale);font-weight:600}button.chapitre.on .mono{color:var(--bleu)}
.onglets{display:flex;gap:6px;border-bottom:1px solid var(--bord)}
.onglet{min-height:44px;padding:0 14px;background:transparent;border:0;cursor:pointer;color:var(--doux)}
.onglet.on{color:var(--encre);font-weight:600;box-shadow:inset 0 -2px 0 var(--bleu)}
.liste-onglet{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px;color:var(--texte)}
.repartition{display:flex;height:18px;border-radius:6px;overflow:hidden;gap:2px}
.legende{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13px;color:var(--doux)}
.legende i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px}
table.tableau{width:100%;border-collapse:collapse;font-size:14px;min-width:620px}
.tableau th{text-align:left;color:var(--muet);font-size:12px;text-transform:uppercase;letter-spacing:.05em;font-weight:500;padding:14px 16px}
.tableau td{padding:12px 16px;border-top:1px solid #EEF0F3}
.tableau th:not(:first-child),.tableau td:not(:first-child){text-align:right}
.tableau td.vendu{color:#B45309;font-weight:600}

/* onglets des coachings */
.liste-onglet[hidden]{display:none}
/* segments Sommet / Creux */
.segments{display:inline-flex;gap:4px;background:#E6E8EC;border-radius:10px;padding:4px}
.segments a{min-height:36px;display:inline-flex;align-items:center;padding:0 16px;border-radius:8px;color:var(--doux);text-decoration:none;font-size:14px}
.segments a.on{background:#fff;color:var(--encre);font-weight:600;box-shadow:0 1px 2px rgba(15,23,42,.1)}
/* leçon + sommaire */
.vue-lecon{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start}
.lecon-principale{flex:3 1 560px;min-width:0}
.sommaire{flex:1 1 300px;max-width:100%;padding:8px;position:sticky;top:16px;max-height:calc(100vh - 32px);overflow-y:auto}
.sommaire-tete{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px}
#btn-sommaire{display:none}
.sommaire details summary{cursor:pointer;padding:10px;font-weight:600;font-size:14px;border-radius:8px}
.sommaire details summary:hover{background:#F3F5F9}
.sommaire a.lecon{font-size:14px;min-height:40px}
.sommaire a.lecon.courante{background:var(--bleu-pale);font-weight:600}
/* barre mobile */
.barre-mobile{display:none}
@media (max-width:900px){
  .barre-mobile{display:flex;position:sticky;top:0;z-index:20;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;background:rgba(244,245,247,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--bord)}
  .barre-mobile .logo{padding:0}
  .menu{display:none;position:fixed;top:61px;left:0;right:0;bottom:0;z-index:19;background:var(--fond);overflow-y:auto;padding:12px 16px 32px}
  .menu.ouvert{display:flex}
  .logo-bureau{display:none}
  .contenu{padding:20px 16px 48px}
  h1{font-size:26px}
  .sommaire{position:static;max-height:none;order:-1;flex-basis:100%}
  #btn-sommaire{display:inline-flex}
  .sommaire-corps{display:none}.sommaire-corps.ouvert{display:block}
  .chapitres{max-height:none}
  .chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}
  .chip{flex:none}
  a.ligne-coaching{padding:12px 8px}
  .connexion{gap:28px;padding:28px 16px}
  .connexion .intro h1{font-size:28px}
  .connexion .boite{padding:22px}
}

/* outils et contacts */
.grille-outils{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.fiche-outil{display:flex;flex-direction:column;gap:10px}
.fiche-outil .fiche-tete{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.fiche-outil h3{font-size:18px;font-weight:800}
.fiche-outil p{margin:0}
.fiche-outil .details{white-space:pre-line;font-size:14px;color:var(--texte);background:#F8F9FB;border-radius:10px;padding:10px 12px}
.fiche-outil>div:last-child{margin-top:auto}
.texte-lecon .btn{color:#fff}

/* liste des coachings : grille alignée */
a.ligne-coaching{display:grid;grid-template-columns:56px minmax(0,1fr) 110px 120px;gap:16px;align-items:center}
.lc-num{color:var(--muet);font-size:13px}
.lc-sujet{font-weight:600}
.lc-pres,.lc-date{color:var(--doux);font-size:13px}
.lc-date{text-align:right}
.badge-attente{font-size:11px;font-weight:600;color:#1E3A8A;background:#DBEAFE;border-radius:99px;padding:2px 8px;white-space:nowrap}
@media (max-width:900px){
  a.ligne-coaching{grid-template-columns:40px minmax(0,1fr);row-gap:2px;column-gap:10px}
  .lc-pres{grid-column:2}
  .lc-date{grid-column:2;text-align:left}
  .lc-pres,.lc-date{display:inline}
}

/* administration */
a.ligne-admin{display:grid;grid-template-columns:56px minmax(0,1fr) 110px 130px 110px;gap:12px;align-items:center;padding:12px;border-radius:10px;color:var(--encre);text-decoration:none}
a.ligne-admin:hover{background:#F3F5F9;color:var(--encre)}
a.ligne-admin[hidden]{display:none}
.etat{font-size:12px;font-weight:600;border-radius:99px;padding:2px 10px;justify-self:start}
.etat.ok{background:#DCFCE7;color:#05603A}.etat.ko{background:#FEF3F2;color:#B42318}
.grille-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.grille-form.deux{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
textarea.saisie.zone{min-height:auto;padding:12px 14px;line-height:1.5;resize:vertical;font-family:inherit}
select.saisie{min-height:48px;padding:0 10px;border:1px solid var(--bord-fort);border-radius:10px;background:#fff}
label.champ.case{flex-direction:row;align-items:center;gap:10px;color:var(--texte);min-height:44px}
label.champ.case input{width:18px;height:18px}
.note-admin{display:grid;grid-template-columns:220px 160px minmax(0,1fr) auto;gap:8px;align-items:center}
.ligne-recente{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:8px 0;border-top:1px solid #EEF0F3}
.v-panneau{display:flex;flex-direction:column;gap:10px}
.v-panneau[hidden]{display:none}
@media (max-width:900px){
  a.ligne-admin{grid-template-columns:40px minmax(0,1fr);row-gap:4px}
  a.ligne-admin>span:nth-child(n+3){grid-column:2}
  .note-admin{grid-template-columns:1fr}
}
.remplir{display:flex;flex-direction:column;gap:8px;background:var(--bleu-pale);border:1px solid #C7D2FE;border-radius:12px;padding:14px}
.remplir .btn{align-self:flex-start}
.saisie.propose{background:#FFFBEB;border-color:#FCD34D}

/* ressources « Pour aller plus loin » */
.ressources{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
a.ressource{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--bord);border-radius:12px;background:#fff;color:var(--encre);text-decoration:none;transition:border-color .15s,box-shadow .15s}
a.ressource:hover{border-color:var(--bleu);box-shadow:0 2px 8px rgba(31,79,216,.08);color:var(--encre)}
.ressource-titre{font-weight:600;line-height:1.35}
.ressource-domaine{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--bleu)}
.texte-lecon a{font-weight:500}

/* administration : structure */
.admin{display:flex;flex-wrap:wrap;gap:28px;align-items:flex-start}
.admin-nav{flex:0 0 220px;position:sticky;top:20px;display:flex;flex-direction:column;gap:2px;background:var(--carte);border:1px solid var(--bord);border-radius:var(--r);padding:10px}
.admin-nav .groupe-a{padding:14px 10px 4px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muet)}
.admin-nav .groupe-a:first-child{padding-top:4px}
a.anav{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:40px;padding:0 10px;border-radius:8px;color:var(--doux);text-decoration:none;font-size:14px}
a.anav:hover{background:#F3F5F9;color:var(--encre)}
a.anav.actif{background:var(--bleu-pale);color:var(--bleu-fonce);font-weight:600}
.compte{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--muet);background:#EEF0F3;border-radius:99px;padding:1px 8px}
a.anav.actif .compte{background:#DCE4FD;color:var(--bleu-fonce)}
.admin-corps{flex:1 1 560px;min-width:0}
.titre-bloc{font-size:17px}
@media (max-width:1100px){.admin-nav{flex:1 1 100%;position:static;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;padding:6px}.admin-nav .groupe-a{display:none}a.anav{flex:none;white-space:nowrap}}

/* filtres, tuiles, pagination */
.filtres{display:flex;flex-wrap:wrap;gap:8px}
.filtre{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px;border-radius:99px;border:1px solid var(--bord-fort);background:var(--carte);color:var(--doux);font-size:14px;cursor:pointer;text-decoration:none}
.filtre:hover{color:var(--encre)}
.filtre.on{background:var(--encre);border-color:var(--encre);color:#fff}
.filtre.on .compte{background:rgba(255,255,255,.18);color:#fff}
.tuiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}
.tuile{background:var(--carte);border:1px solid var(--bord);border-radius:12px;padding:14px 16px}
.tuile-n{font-family:Manrope,sans-serif;font-weight:800;font-size:26px;letter-spacing:-.02em}
.pagination{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:14px}
.badge-fond{font-size:11px;font-weight:600;color:#92400E;background:#FEF3C7;border-radius:99px;padding:2px 8px;white-space:nowrap}
.etat.equipe{background:var(--bleu-pale);color:var(--bleu-fonce)}

/* pastilles de droits */
.droit-tag{display:inline-block;font-size:12px;font-weight:600;border-radius:6px;padding:2px 8px;background:#EEF0F3;color:var(--texte);white-space:nowrap}
.p-formation-ci{background:var(--bleu-pale);color:var(--bleu-fonce)}
.p-accompagnement{background:#FEF3C7;color:#92400E}
.p-formation-gratuite{background:#ECFDF3;color:var(--vert)}

/* fiche coaching */
.barre-enreg{position:sticky;bottom:0;z-index:5;display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:12px 16px;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border:1px solid var(--bord);border-radius:12px;box-shadow:0 -4px 16px rgba(15,23,42,.06)}
.encart-fondamental{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;border-radius:var(--r);background:var(--ambre-fond);border:1px solid var(--ambre-bord);cursor:pointer}
.encart-fondamental input{width:20px;height:20px;margin-top:2px;accent-color:#B45309}
.puces{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.puce{display:inline-flex;align-items:center;gap:4px;background:var(--bleu-pale);color:var(--bleu-fonce);border-radius:99px;padding:3px 4px 3px 12px;font-size:13px;max-width:100%}
.puce button{border:0;background:transparent;color:inherit;font-size:16px;line-height:1;cursor:pointer;width:24px;height:24px;border-radius:99px}
.puce button:hover{background:#DCE4FD}
.saisie-puces{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:48px;padding:6px 10px;border:1px solid var(--bord-fort);border-radius:10px;background:#fff;cursor:text}
.saisie-puces:focus-within{outline:2px solid var(--bleu);outline-offset:1px;border-color:var(--bleu)}
.saisie-puces input{flex:1 1 200px;min-width:120px;border:0;outline:none;min-height:34px;background:transparent}
.saisie-puces.propose,.puces.propose{background:#FFFBEB;border-radius:10px}
.liste-choix{max-height:320px;overflow-y:auto;border:1px solid var(--bord);border-radius:10px}
label.choix{display:grid;grid-template-columns:20px 64px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 12px;border-top:1px solid #EEF0F3;cursor:pointer;font-size:14px}
label.choix:first-child{border-top:0}
label.choix:hover{background:#F7F8FA}
label.choix[hidden]{display:none}
label.choix input{width:17px;height:17px}
label.choix:has(input:checked){background:var(--bleu-pale)}
.choix-sujet{overflow:hidden;text-overflow:ellipsis}
.pres{font-size:11px;font-weight:600;border-radius:99px;padding:2px 8px;white-space:nowrap;background:#EEF0F3;color:var(--doux)}
.pres-mickael{background:#DBEAFE;color:#1E3A8A}.pres-thibaut{background:#FCE7F3;color:#9D174D}
.zone-danger{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;border-color:#FDA29B}
.btn.danger{color:var(--rouge);border-color:#FDA29B}
.btn.danger:hover{background:#FEF3F2;color:var(--rouge)}
.btn.danger-plein{background:var(--rouge)}
.btn.mini{min-height:34px;padding:0 12px;font-size:13px}
input.saisie.mini{min-height:34px;padding:0 8px;font-size:13px}

/* élèves */
a.ligne-eleve{display:grid;grid-template-columns:40px minmax(0,1.4fr) minmax(0,1.6fr) 130px 120px;gap:14px;align-items:center;padding:10px 12px;border-radius:10px;color:var(--encre);text-decoration:none}
a.ligne-eleve:hover{background:#F3F5F9;color:var(--encre)}
.le-nom{display:flex;flex-direction:column;min-width:0}.le-nom>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.le-droits{display:flex;flex-wrap:wrap;gap:4px}
.avatar{width:40px;height:40px;border-radius:99px;background:#E6EBF5;color:var(--bleu-fonce);display:grid;place-items:center;font-family:Manrope,sans-serif;font-weight:800;font-size:14px}
.avatar.grand{width:64px;height:64px;font-size:22px;flex:none}
.entete-eleve{display:flex;gap:18px;align-items:flex-start}
.grille-admin{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:22px;align-items:start}
.ligne-droit{display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr) auto;gap:6px 14px;align-items:center;padding:12px 0;border-top:1px solid #EEF0F3}
.ligne-droit:first-child{border-top:0}
.ligne-droit.expire{opacity:.7}
.ld-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.ajout-droit{display:flex;flex-wrap:wrap;gap:8px;padding-top:12px;border-top:1px dashed var(--bord-fort)}
.ajout-droit>*{flex:1 1 160px}.ajout-droit .btn{flex:0 0 auto}
.ligne-prog{display:grid;grid-template-columns:minmax(0,1fr) 120px 64px;gap:12px;align-items:center}
.ligne-seance{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;align-items:center;padding:10px 0;border-top:1px solid #EEF0F3}
.sea-video{display:flex;gap:6px;flex-wrap:wrap}
.ligne-journal{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:12px;padding:8px 0;border-top:1px solid #EEF0F3;font-size:14px}
.ligne-journal.large{grid-template-columns:150px minmax(0,1.4fr) minmax(0,1fr) minmax(0,.8fr);padding:10px 12px}
.ligne-journal:first-of-type{border-top:0}
.action-compte{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-top:1px solid #EEF0F3}
.action-compte:first-of-type{border-top:0}
.action-compte>div{flex:1 1 220px}
.zone-danger-rgpd{border-color:#FDA29B}
.zone-danger-rgpd summary{cursor:pointer;color:var(--rouge)}
fieldset.choix-droits{border:1px solid var(--bord);border-radius:10px;padding:8px 14px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
fieldset.choix-droits legend{color:var(--doux);font-size:14px;padding:0 6px}

/* tableau éditable */
.te-entete{display:grid;gap:8px;padding:0 0 6px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muet)}
.te-ligne{display:grid;gap:8px;align-items:start;padding:8px 0;border-top:1px solid #EEF0F3;transition:background .3s}
.te-ligne .saisie{min-height:40px;width:100%;font-size:14px}
.te-ligne textarea.saisie{min-height:40px}
.te-lib{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.te-check{display:flex;align-items:center;gap:8px;min-height:40px}
.te-check input{width:18px;height:18px}
.te-act{display:flex;gap:6px;align-items:center;justify-content:flex-end;min-height:40px}
.te-ligne.modifiee{background:#FFFBEB}
.te-ligne.modifiee [data-a=ok]{background:var(--bleu);color:#fff;border-color:var(--bleu)}
.te-ligne.enregistree{background:#ECFDF3}
.te-ligne.nouvelle{background:#F7F9FF}
.te-pied{padding-top:12px}
.te-cartes .te-lignes{display:flex;flex-direction:column;gap:12px}
.te-cartes .te-ligne{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));background:var(--carte);border:1px solid var(--bord);border-radius:var(--r);padding:16px}
.te-cartes .te-ligne.modifiee{background:#FFFBEB}.te-cartes .te-ligne.nouvelle{background:#F7F9FF}
.te-cartes .te-lib{position:static;width:auto;height:auto;clip:auto;font-size:13px;color:var(--doux);display:block;margin-bottom:4px}
.te-cartes .te-cel.large{grid-column:1/-1}
.te-cartes .te-act{grid-column:1/-1}

@media (max-width:900px){
  .grille-admin{grid-template-columns:1fr}
  a.ligne-eleve{grid-template-columns:40px minmax(0,1fr);row-gap:4px}
  a.ligne-eleve>span:nth-child(n+3){grid-column:2}
  .te-entete{display:none}
  .te-ligne:not(.te-cartes .te-ligne){grid-template-columns:1fr 1fr !important}
  .te-ligne .te-lib{position:static;width:auto;height:auto;clip:auto;font-size:12px;color:var(--doux);display:block;margin-bottom:2px}
  .te-act{grid-column:1/-1;justify-content:flex-start}
  .ligne-journal,.ligne-journal.large{grid-template-columns:1fr}
  label.choix{grid-template-columns:20px 56px minmax(0,1fr)}
  label.choix .pres{display:none}
}
.admin-corps .recherche{flex:none}
.admin-corps .recherche input{min-height:42px}

/* Replays coaching premium */
a.ligne-coaching.ligne-premium{grid-template-columns:52px minmax(0,1fr) 110px}
.date-bloc{display:flex;flex-direction:column;align-items:center;justify-content:center;width:46px;height:46px;border-radius:10px;background:#FEF3C7;color:#92400E;line-height:1}
.date-bloc .jour{font-size:18px;font-weight:700}
.date-bloc .mois{font-family:'IBM Plex Mono',monospace;font-size:10px;text-transform:uppercase;margin-top:3px}
.ligne-premium .lc-date{color:#B45309;font-weight:600}
.ligne-premium .vu{color:#15803D}
h2.annee{font-size:15px;font-family:'IBM Plex Mono',monospace;color:var(--muet);letter-spacing:.06em}
a.une-premium{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;text-decoration:none;color:var(--encre);border-left:4px solid #D97706}
a.une-premium strong{flex:1 1 260px;font-size:18px}
a.une-premium .surtitre{flex-basis:100%}
@media (max-width:700px){a.ligne-coaching.ligne-premium{grid-template-columns:46px minmax(0,1fr);row-gap:2px}.ligne-premium .lc-date{grid-column:2;text-align:left}}
.date-bloc.neutre{background:#EEF2F7;color:var(--encre)}
.seances-autres{flex:1 1 300px;min-width:0}
.seances-autres a.ligne-coaching.ligne-premium{grid-template-columns:46px minmax(0,1fr);padding:10px 8px}
.seances-autres .lc-date{display:none}

/* Fichiers à télécharger */
.fichiers{display:grid;grid-template-columns:1fr;gap:10px}
.fichier{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--bord);border-radius:12px;background:#fff;min-width:0}
.fichier-ico{flex:none;width:44px;height:52px;border-radius:8px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:7px;font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:700;color:#fff;background:#64748B;clip-path:polygon(0 0,72% 0,100% 22%,100% 100%,0 100%)}
.fichier-ico.t-pdf{background:#DC2626}.fichier-ico.t-xlsx,.fichier-ico.t-xls{background:#15803D}.fichier-ico.t-docx,.fichier-ico.t-doc{background:#1D4ED8}.fichier-ico.t-pptx,.fichier-ico.t-ppt{background:#C2410C}
.fichier-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.fichier-txt strong{line-height:1.3;overflow-wrap:anywhere}
.fichier-actions{display:flex;gap:8px;flex:none}
.fichier-actions .btn{min-height:36px;padding:0 12px;font-size:14px}
@media (max-width:520px){.fichier{flex-wrap:wrap}.fichier-actions{width:100%}.fichier-actions .btn{flex:1}}

/* Barre sous la vidéo : mêmes dimensions pour tous les boutons */
.barre-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center}
.barre-actions-nav{display:flex;flex-wrap:wrap;gap:10px}
.barre-actions .btn{min-height:44px;padding:0 18px;font-size:15px}
.btn.fait{border-color:#86EFAC;background:#F0FDF4;color:#15803D}
@media (max-width:520px){.barre-actions>.btn,.barre-actions-nav{flex:1 1 100%}.barre-actions-nav .btn{flex:1}}
.fichier-actions .btn{min-height:40px}

/* Statut vu / à voir */
.vu-rond{width:22px;height:22px;flex:none;border-radius:99px;border:2px solid #CBD5E1;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;background:#fff}
.vu-rond.ok{border-color:#16A34A;background:#16A34A}
a.ligne-coaching.avec-vu{grid-template-columns:56px minmax(0,1fr) 110px 120px 28px}
.lc-vu{display:flex;justify-content:flex-end}
@media (max-width:700px){a.ligne-coaching.avec-vu{grid-template-columns:40px minmax(0,1fr) 28px}.avec-vu .lc-vu{grid-column:3;grid-row:1}}

/* Replays sur le côté de la page d'un coaching */
.replays-cote{display:flex;flex-direction:column}
.segments-plein{display:flex;margin:0 8px 8px}
.segments-plein button{flex:1}
.replay-cote{display:flex;align-items:flex-start;gap:4px;border-radius:8px}
.replay-cote:hover{background:#F3F5F9}
.replay-cote.courante{background:var(--bleu-pale)}
.replay-cote a{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;padding:9px 10px 9px 2px;color:var(--encre);text-decoration:none}
.replay-cote.courante .rc-sujet{font-weight:600}
.rc-sujet{font-size:14px;line-height:1.35}
button.vu-bascule{flex:none;border:0;background:transparent;padding:9px 6px 9px 8px;cursor:pointer;display:flex}
button.vu-bascule:hover .vu-rond{border-color:#16A34A}
.segments button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border:0;border-radius:8px;background:transparent;color:var(--doux);font:inherit;font-size:14px;cursor:pointer}
.segments button.on{background:#fff;color:var(--encre);font-weight:600;box-shadow:0 1px 2px rgba(15,23,42,.1)}
.lecon-principale .chapitres{max-height:340px}
@media (min-width:1101px){
  .vue-lecon>.sommaire{display:flex;flex-direction:column;overflow:hidden;height:calc(100vh - 32px)}
  .sommaire .sommaire-corps{flex:1;min-height:0;overflow-y:auto}
  .replays-cote .sommaire-corps{display:flex;flex-direction:column;overflow:hidden}
  .replays-cote #liste-cote{overflow-y:auto;min-height:0;flex:1}
}

/* Chargement : n'apparaît que si l'attente dure */
.attente{animation:apparaitre .2s ease .6s both}
@keyframes apparaitre{from{opacity:0}to{opacity:1}}

/* Texte des leçons : listes, intertitres, encadré « À retenir » */
.texte-lecon ul{margin:0 0 12px;padding-left:22px;display:flex;flex-direction:column;gap:6px}
.texte-lecon ul:last-child{margin-bottom:0}
.texte-lecon h3{font-size:16px;margin:0 0 10px}
.a-retenir{margin-top:14px;padding:16px 18px;border-radius:12px;background:var(--bleu-pale);border-left:4px solid var(--bleu)}
.a-retenir .surtitre{margin-bottom:8px}
.a-retenir:first-child{margin-top:0}
.video-legende{font-size:17px;display:flex;gap:10px;align-items:baseline}
.video-legende .mono{font-size:12px;color:var(--muet)}
.video-bloc+.video-bloc{margin-top:8px}

/* Leçon / replay + colonne de droite : largeur fixe et confortable pour la colonne */
@media (min-width:1101px){
  .vue-lecon{flex-wrap:nowrap}
  .vue-lecon>.lecon-principale{flex:1 1 auto;min-width:0}
  .vue-lecon>.sommaire{flex:0 0 380px}
}
@media (min-width:901px) and (max-width:1100px){
  .vue-lecon>.sommaire{flex-basis:100%;position:static;max-height:none}
  .sommaire .sommaire-corps{max-height:420px;overflow-y:auto}
}

/* Page d'un replay : épurée */
.vue-coaching .barre-actions .btn{gap:8px}
.fichier-ico.mini{width:22px;height:26px;font-size:7px;padding-bottom:4px;border-radius:4px}
.btn-support .doux{font-weight:400}
.panneau-cote[hidden],.panneau-onglet[hidden]{display:none}
.panneau-cote[data-v="chapitres"]{overflow-y:auto;min-height:0;flex:1}
.replays-cote .panneau-cote[data-v="replays"]{display:flex;flex-direction:column;min-height:0;flex:1}
.replays-cote .panneau-cote[data-v="replays"][hidden]{display:none}
.replays-cote .sommaire-tete .segments-plein{flex:1;margin:0}
.liste-onglet li.en-plus{display:none}
.liste-onglet.tout li.en-plus{display:list-item}
.lien-btn{background:none;border:0;padding:0;color:var(--bleu);font:inherit;font-weight:600;cursor:pointer;align-self:flex-start}
.chapitres-mobile{display:none;padding:6px}
.chapitres-mobile summary{cursor:pointer;font-weight:600;padding:10px}
.liste-onglet a,.note a{font-weight:600}
@media (max-width:900px){
  .chapitres-mobile{display:block}
  #vue-cote{display:none}
  .replays-cote .panneau-cote[data-v="chapitres"]{display:none}
}
.titre-mobile{display:none}
.vue-coaching .barre-actions .btn,.onglet{white-space:nowrap}
.onglets{overflow-x:auto;scrollbar-width:none}
@media (max-width:900px){.titre-mobile{display:block}}
@media (max-width:520px){
  .vue-coaching .barre-actions>.barre-actions-nav:first-child{flex-direction:column}
  .vue-coaching .barre-actions>.barre-actions-nav:first-child .btn{width:100%}
}

/* Administration : tableau de bord et formations */
.grille-sections{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.actions-section{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.carte-section{min-height:170px}
.texte-alerte{color:var(--rouge);font-weight:600}
.grille-cours{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
a.carte-cours{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:var(--encre)}
a.carte-cours:hover{border-color:var(--bleu)}
.grille-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.module-admin{padding:0;overflow:hidden}
.module-tete{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;background:#F7F8FA;border-bottom:1px solid var(--bord)}
.module-noms{display:flex;flex-wrap:wrap;gap:8px;flex:1;min-width:0}
input.saisie.petite,select.saisie.petite{min-height:40px;font-size:14px}
.saisie.large{flex:1 1 240px;min-width:0}
.module-noms .saisie:first-child{flex:0 0 150px}
input.saisie.enregistre{border-color:#16A34A;box-shadow:0 0 0 3px #DCFCE7}
.lecons-admin{padding:6px}
.ligne-lecon{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:8px}
.ligne-lecon:hover{background:#F3F5F9}
.ll-titre{flex:1;min-width:0;color:var(--encre);text-decoration:none;font-weight:500}
.ll-badges{display:flex;gap:4px;flex:none}
.mini-badge{font-size:12px;padding:2px 7px;border-radius:99px;background:#EEF2F7;color:var(--doux);white-space:nowrap}
.mini-badge.vide-badge{background:#FEF3F2;color:#B42318}
.ordre-btns{display:inline-flex;gap:2px;flex:none}
.icone-btn{width:30px;height:30px;border:1px solid var(--bord);border-radius:6px;background:#fff;cursor:pointer;color:var(--doux);font-size:14px}
.icone-btn:disabled{opacity:.35;cursor:default}
.btn.petit-btn{min-height:36px;padding:0 12px;font-size:14px}
.ajout-ligne{display:flex;flex-wrap:wrap;gap:8px;padding:10px 14px;border-top:1px solid var(--bord)}
.carte.ajout-ligne{border-top:1px solid var(--bord)}
.h-section{font-size:17px}
.ligne-video,.ligne-ressource{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.ligne-note{display:grid;grid-template-columns:220px 160px minmax(0,1fr) auto;gap:8px;align-items:start}
.ajout-video summary{list-style:none;display:inline-flex}
.ajout-video summary::-webkit-details-marker{display:none}
.barre-outils{display:flex;flex-wrap:wrap;gap:6px}
.outil-ed{min-height:34px;padding:0 10px;border:1px solid var(--bord);border-radius:8px;background:#fff;cursor:pointer;font:inherit;font-size:13px}
.outil-ed:hover{border-color:var(--bleu)}
.editeur{min-height:180px;padding:14px 16px;border:1px solid var(--bord-fort);border-radius:10px;background:#fff;outline:none}
.editeur:focus{border-color:var(--bleu);box-shadow:0 0 0 3px var(--bleu-pale)}
.barre-progression{height:8px;border-radius:99px;background:#EEF2F7;overflow:hidden}.barre-progression>div{height:100%;width:0;background:var(--bleu)}
@media (max-width:700px){.ligne-note{grid-template-columns:1fr}.ll-badges{display:none}.module-noms .saisie:first-child{flex:1 1 100%}}

/* Portefeuilles (élève) */
.pf-liste{padding:6px 10px}
.pf-ligne{display:grid;grid-template-columns:minmax(150px,1.1fr) minmax(120px,2fr) 70px minmax(110px,1fr) 120px;gap:14px;align-items:center;padding:11px 6px;border-bottom:1px solid #EEF0F3}
.pf-ligne:last-child{border-bottom:0}
.pf-entete{padding-top:8px;padding-bottom:8px;text-transform:uppercase;letter-spacing:.04em;font-size:11px}
.pf-nom{display:flex;align-items:baseline;gap:8px;min-width:0}
.pf-nom strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pf-barre{height:10px;border-radius:99px;background:#EEF2F7;overflow:hidden}
.pf-barre span{display:block;height:100%;border-radius:99px;background:var(--bleu)}
.pf-stable .pf-barre span{background:#94A3B8}
.pf-pct{font-weight:700;text-align:right;font-variant-numeric:tabular-nums}
.pf-detail{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.pf-vendu{font-size:12px;font-weight:600;color:#05603A;background:#DCFCE7;border-radius:99px;padding:2px 8px}
.pf-prix{text-align:right;color:var(--doux);white-space:nowrap}
.pf-prix-lib{display:none;font-family:'IBM Plex Sans',sans-serif}
.pf-mvt{display:grid;grid-template-columns:110px 120px minmax(0,1fr) 70px minmax(0,1.5fr);gap:12px;align-items:center;padding:10px}
.etiquette-sens{font-size:12px;font-weight:600;border-radius:99px;padding:2px 10px;justify-self:start;background:#EEF2F7;color:var(--doux)}
.etiquette-sens.s-achat{background:#DBEAFE;color:#1E3A8A}.etiquette-sens.s-vente{background:#DCFCE7;color:#05603A}
@media (max-width:760px){
  .pf-entete{display:none}
  .pf-ligne{grid-template-columns:minmax(0,1fr) 64px;row-gap:6px}
  .pf-barre{grid-column:1 / -1;grid-row:2}
  .pf-pct{grid-column:2;grid-row:1}
  .pf-detail{grid-column:1;grid-row:3}
  .pf-prix{grid-column:1 / -1;grid-row:3;justify-self:end}
  .pf-prix-lib{display:inline}
  .pf-mvt{grid-template-columns:auto auto minmax(0,1fr) auto}
  .pf-mvt>:last-child{grid-column:1 / -1}
}

/* Portefeuilles (admin) */
.entete-bloc{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px}
.total-pf{font-size:14px;padding:6px 12px;border-radius:99px}
.total-pf.ok{background:#DCFCE7;color:#05603A}.total-pf.ko{background:#FEF3C7;color:#92400E}
.pos-table{container-type:inline-size}
.pos-ligne{display:grid;grid-template-columns:62px minmax(100px,1.4fr) 70px 72px 72px 72px minmax(90px,1fr) 34px;gap:6px;align-items:center;padding:4px;border-radius:8px}
.pos-ligne.modifiee{background:#FFFBEB}
.pos-entete{padding:2px 4px 6px;text-transform:uppercase;letter-spacing:.04em;font-size:11px}
.pos-champ{display:contents}
.pos-champ span{display:none}
.pos-champ .saisie{width:100%;min-width:0}
@container (max-width:680px){
  .pos-entete{display:none}
  .pos-ligne{grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--bord);margin-bottom:8px;padding:8px}
  .pos-ligne .ordre-btns{grid-column:1 / 3;grid-row:1}
  .pos-ligne .suppr{grid-column:4;grid-row:1;justify-self:end}
  .pos-champ{display:flex;flex-direction:column;gap:3px}
  .pos-champ span{display:block;font-size:11px;color:var(--muet)}
  .c-projet{grid-column:1 / 4}.c-ticker{grid-column:4}
}
.saisie.num{text-align:right;font-variant-numeric:tabular-nums}
.icone-btn.suppr:hover{border-color:#FDA29B;color:#B42318}
.mvt-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px}
.mvt-form .large{grid-column:span 2}
.pf-mvt.admin{grid-template-columns:110px 120px minmax(0,1fr) 70px minmax(0,1.5fr) 34px;border-bottom:1px solid #EEF0F3}
@media (max-width:760px){.mvt-form{grid-template-columns:1fr 1fr}.mvt-form .large,.mvt-form .btn{grid-column:1 / -1}.pf-mvt.admin{grid-template-columns:auto auto minmax(0,1fr) 34px}.pf-mvt.admin>:nth-child(4),.pf-mvt.admin>:nth-child(5){grid-column:1 / -1}}

/* Portefeuilles (élève), sur le modèle de l'ancienne interface */
.pf-tete{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px}
.pf-titre{font-size:24px}.pf-titre span{color:#0891B2}
.pf-stable-box{border:1.5px solid #F59E0B;background:#FFFBEB;border-radius:12px;padding:10px 18px}
.pf-stable-box .mono{text-transform:uppercase;letter-spacing:.06em;color:#92400E;font-size:11px}
.pf-stable-n{font-family:'IBM Plex Mono',monospace;font-size:22px;font-weight:700;color:#B45309}
.pf-grille{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;align-items:start}
.pf-graphe{display:flex;flex-direction:column;align-items:center;gap:16px;padding:20px}
.pf-anneau{width:190px;height:190px}
.pf-anneau-n{font-family:'IBM Plex Mono',monospace;font-size:20px;font-weight:700;fill:#0891B2}
.pf-anneau-l{font-size:11px;fill:var(--muet)}
.pf-anneau circle{transition:stroke-width .15s}.pf-anneau circle:hover{stroke-width:26}
.pf-legende{list-style:none;margin:0;padding:0;width:100%;display:flex;flex-direction:column;gap:6px;font-size:13px}
.pf-legende li{display:flex;align-items:center;gap:8px}
.pf-legende i{width:9px;height:9px;border-radius:50%;flex:none}
.pf-legende span:nth-child(2){flex:1}
.pf-table-c{padding:0;overflow-x:auto}
.pf-table{width:100%;border-collapse:collapse;font-size:14px}
.pf-table th{padding:12px 14px;text-align:left;font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muet);border-bottom:1px solid var(--bord);white-space:nowrap}
.pf-table td{padding:10px 14px;border-bottom:1px solid #EEF0F3;vertical-align:middle}
.pf-table tr:last-child td{border-bottom:0}
.pf-table tbody tr:hover{background:#F8FAFC}
.pf-table .num{text-align:right;white-space:nowrap}
.pf-crypto{display:flex;align-items:center;gap:12px}
.pf-logo{width:30px;height:30px;border-radius:50%;object-fit:cover;flex:none;background:#fff}
.pf-logo-txt{display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff}
.pf-barre-c{display:flex;align-items:center;gap:10px;min-width:160px}
.pf-barre-c .pf-barre{flex:1;height:6px}
.pf-pct-c{font-weight:600;min-width:58px;text-align:right}
.pf-vendu-c{color:#DC2626;font-weight:600}
.pf-sec{font-family:'IBM Plex Mono',monospace;font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--muet);font-weight:600}
.pf-ordre{display:flex;align-items:center;gap:18px;background:var(--carte);border:1px solid var(--bord);border-radius:12px;padding:14px 18px}
.pf-ordre-date{width:84px;flex:none}
.pf-ordre-corps{flex:1;min-width:0}
.pf-dest{flex:none;font-size:12px;font-weight:600;color:#05603A;background:#ECFDF3;border:1px solid #ABEFC6;border-radius:6px;padding:2px 9px}
@media (max-width:1100px){.pf-grille{grid-template-columns:1fr}.pf-graphe{flex-direction:row;flex-wrap:wrap;justify-content:center}.pf-legende{width:auto;flex:1 1 200px;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}
@media (max-width:600px){
  .pf-table thead{display:none}
  .pf-table tr{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:10px 12px;border-bottom:1px solid #EEF0F3}
  .pf-table td{padding:0;border:0}
  .pf-table td:nth-child(2){display:none}
  .pf-table td:nth-child(4){grid-column:2;grid-row:3}
  .pf-table td:nth-child(3){grid-column:1 / -1;grid-row:2}
  .pf-table td:nth-child(4) .doux{display:none}
  .pf-table td:nth-child(5){grid-column:2;grid-row:1}
  .pf-ordre{flex-wrap:wrap;gap:6px 12px;padding:12px 14px}
  .pf-ordre-date{width:auto}
  .pf-ordre-corps{flex-basis:100%;order:3}
}

/* Visionnage (fiche élève) */
.vi-tuiles{grid-template-columns:repeat(3,minmax(0,1fr))}
.vi-tuiles .tuile-n{font-size:22px}
.vi-fait{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;padding:8px 12px;border-radius:8px;background:#F7F8FA}
.vi-table-c{overflow-x:auto;border:1px solid var(--bord);border-radius:10px}
.vi-table td{font-size:13px}
.vi-av{display:flex;align-items:center;gap:8px;min-width:120px}.vi-av .barre{flex:1}
@media (max-width:600px){.vi-tuiles{grid-template-columns:1fr 1fr}}
.vi-saut{color:#B45309;margin-top:2px}
.vi-liste{border:1px solid var(--bord);border-radius:10px}
.vi-ligne{padding:10px 12px;border-bottom:1px solid #EEF0F3;display:flex;flex-direction:column;gap:6px}
.vi-ligne:last-child{border-bottom:0}
.vi-ligne[hidden]{display:none}
.vi-tete{display:flex;flex-direction:column;gap:1px}
.vi-chiffres{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px}
.vi-chiffres .vi-av{flex:1 1 140px}
/* Fiche élève en onglets */
.eleve-chiffres{grid-template-columns:repeat(4,minmax(0,1fr))}
.eleve-chiffres .tuile-n{font-size:20px}
.tuile.tuile-alerte .tuile-n{color:var(--rouge)}
.onglets-eleve{position:sticky;top:0;z-index:4;background:var(--fond);margin-top:4px}
.panneau-eleve[hidden]{display:none}
.panneau-eleve>.carte,.panneau-eleve>form{max-width:980px}
.grille-eleve{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:16px;align-items:start}
@media (max-width:760px){.eleve-chiffres{grid-template-columns:1fr 1fr}.grille-eleve{grid-template-columns:1fr}}
a.anav.sous{padding-left:24px;min-height:34px;font-size:13px}

/* Choix d'une vidéo Bunny (éditeur de leçon) */
.bunny-choix{display:flex;flex-wrap:wrap;gap:8px}
.bunny-choix select{flex:0 1 260px}
.bunny-liste{margin-top:8px;border:1px solid var(--bord);border-radius:10px;max-height:420px;overflow-y:auto;color:var(--encre)}
.bunny-ligne{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid #EEF0F3}
.bunny-ligne:last-of-type{border-bottom:0}
.bunny-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.bunny-txt strong{font-size:14px;font-weight:500;overflow-wrap:anywhere}
.bunny-pages{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid var(--bord);position:sticky;bottom:0;background:#fff}

/* Tunnels de vente (admin) */
.tunnel-flux{display:flex;flex-wrap:wrap;align-items:stretch;gap:10px}
.etape-tunnel{flex:1 1 220px;max-width:300px;display:flex;flex-direction:column;gap:6px;padding:14px;border:1px solid var(--bord);border-radius:12px;background:#fff}
.et-tete{display:flex;justify-content:space-between;gap:6px;align-items:center}
.et-actions{display:flex;gap:6px;margin-top:auto;padding-top:6px}
.fleche-tunnel{align-self:center;color:var(--muet);font-size:20px}
.badge-type{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--c);background:color-mix(in srgb,var(--c) 12%,white);border-radius:99px;padding:3px 9px}
.etat.brouillon{background:#F1F5F9;color:#475569}
.bloc-admin{display:flex;flex-direction:column;gap:12px}
.bloc-tete{display:flex;justify-content:space-between;align-items:center;gap:8px}
.faq-ligne{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) 34px;gap:6px;align-items:start;margin-top:6px}
.saisie-prefixe{display:flex;align-items:center;border:1px solid var(--bord-fort);border-radius:10px;background:#fff;overflow:hidden}
.saisie-prefixe span{padding:0 4px 0 12px;color:var(--muet);font-family:'IBM Plex Mono',monospace}
.saisie-prefixe .saisie{border:0;flex:1;min-width:0}
@media (max-width:700px){.faq-ligne{grid-template-columns:1fr 34px}.faq-ligne textarea{grid-column:1}.fleche-tunnel{display:none}.etape-tunnel{max-width:none}}

/* Remboursement (fiche élève) */
.rb-carte.rb-ok{border-color:#ABEFC6}.rb-carte.rb-ko{border-color:#FECDCA}
.rb-critere{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid #EEF0F3}
.rb-critere:last-of-type{border-bottom:0}
.rb-critere .rb-icone{font-weight:700}.rb-critere.ok .rb-icone{color:#15803D}.rb-critere.ko .rb-icone{color:#B42318}
.choix-offres{display:flex;flex-direction:column;gap:4px;margin-top:6px}
.champ-image{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.champ-image .saisie{flex:1 1 260px}.apercu-img{width:56px;height:56px;object-fit:contain;border:1px solid var(--bord);border-radius:8px;background:#F7F8FA}
