/**
 * MyZen — Espace coach [myzen_trainer_area].
 * Transcription de la maquette validée (2026-07-10). Mêmes tokens que
 * myzen-dashboard.css : palette + polices référencent les variables globales
 * du thème (Ativo/VamTam) avec repli, pour coller au site tout en restant
 * autonome.
 *
 * ⚠ Ativo stylise TOUS les <button> en pilules pêche → !important obligatoire
 * sur nos boutons (onglets, Présent/Absent). Cf. myzen-planning-courses.css.
 */
.myzen-coach{
  --mc-ground:var(--e-global-color-vamtam_accent_8,#FAF9F7);
  --mc-surface:#FFFFFF;
  --mc-cream:var(--e-global-color-vamtam_accent_4,#F2E9E3);
  --mc-ink:var(--e-global-color-vamtam_accent_2,#344033);
  --mc-body:#4A443C;
  --mc-muted:var(--e-global-color-vamtam_accent_7,#948B80);
  --mc-accent:var(--e-global-color-vamtam_accent_1,#D45700);
  --mc-accent-soft:#FBEEE4;
  --mc-line:#EBE4DC;
  --mc-ok-ink:#2E6B3E;--mc-ok-bg:#E7F1E9;
  --mc-wait-ink:#9A6A00;--mc-wait-bg:#F8EED6;
  --mc-absent-ink:#767676;--mc-absent-bg:#F0EFEC;
  --mc-display:"Gotu",Georgia,serif;
  --mc-sans:"Archivo",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mc-radius:18px;
  --mc-shadow:0 1px 2px rgba(52,64,51,.04),0 8px 24px -12px rgba(52,64,51,.14);
  max-width:900px;margin:0 auto;color:var(--mc-body);
  font-family:var(--mc-sans);line-height:1.55;
}
.myzen-coach *{box-sizing:border-box;}

/* Le thème imprime son propre titre de page : on le masque sur cette page. */
body:has(.myzen-coach) #sub-header{display:none;}

/* ---------- En-tête ---------- */
.myzen-coach__eyebrow{font-size:12px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--mc-accent);margin:0 0 10px;}
.myzen-coach__greeting{font-family:var(--mc-display);font-weight:500;color:var(--mc-ink);
  font-size:clamp(30px,5vw,46px);line-height:1.05;letter-spacing:-.01em;
  margin:0 0 6px;text-wrap:balance;}
.myzen-coach__sub{color:var(--mc-muted);margin:0 0 26px;font-size:15px;}

/* ---------- Onglets ---------- */
.myzen-coach__tabs{display:flex;gap:4px;border-bottom:1px solid var(--mc-line);margin-bottom:26px;}
.myzen-coach__tab{appearance:none;background:transparent !important;border:none !important;
  font-family:var(--mc-sans);font-size:15px;font-weight:600;color:var(--mc-muted) !important;
  padding:13px 18px !important;cursor:pointer;position:relative;border-radius:0 !important;
  transition:color .15s ease;box-shadow:none !important;}
.myzen-coach__tab:hover{color:var(--mc-ink) !important;}
.myzen-coach__tab[aria-selected="true"]{color:var(--mc-ink) !important;}
.myzen-coach__tab[aria-selected="true"]::after{content:"";position:absolute;left:0;right:0;
  bottom:-1px;height:2px;background:var(--mc-accent);}
.myzen-coach__tab:focus-visible{outline:2px solid var(--mc-accent);outline-offset:-4px;}
.myzen-coach__panel[hidden]{display:none;}

/* ---------- Bandeau prochaine séance ---------- */
.myzen-coach__next{background:var(--mc-cream);border-radius:var(--mc-radius);padding:22px 24px;
  display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px;margin-bottom:34px;}
.myzen-coach__next-when{font-family:var(--mc-display);font-size:40px;line-height:1;
  color:var(--mc-accent);font-variant-numeric:tabular-nums;}
.myzen-coach__next-body{flex:1 1 220px;}
.myzen-coach__next-title{font-family:var(--mc-display);font-size:22px;color:var(--mc-ink);margin:0 0 2px;}
.myzen-coach__next-meta{font-size:14px;color:var(--mc-body);margin:0;}

/* ---------- Groupe de jour ---------- */
.myzen-coach__day{font-family:var(--mc-display);font-size:15px;font-weight:500;color:var(--mc-ink);
  text-transform:uppercase;letter-spacing:.1em;margin:34px 0 12px;
  display:flex;align-items:center;gap:12px;}
.myzen-coach__day::after{content:"";flex:1;height:1px;background:var(--mc-line);}
.myzen-coach__day--today{color:var(--mc-accent);}

/* ---------- Carte séance ---------- */
.myzen-coach-session{background:var(--mc-surface);border:1px solid var(--mc-line);
  border-radius:var(--mc-radius);padding:20px 22px;margin-bottom:14px;box-shadow:var(--mc-shadow);}
.myzen-coach-session__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin:0;}
.myzen-coach-session__time{font-family:var(--mc-display);font-size:26px;color:var(--mc-ink);
  font-variant-numeric:tabular-nums;}
.myzen-coach-session__title{font-size:16px;font-weight:600;color:var(--mc-ink);}
.myzen-coach-session__room{font-size:13px;color:var(--mc-muted);}

.myzen-coach-fill{margin:16px 0 6px;display:flex;align-items:center;gap:12px;}
.myzen-coach-fill__bar{flex:1;height:6px;border-radius:99px;background:var(--mc-absent-bg);overflow:hidden;}
.myzen-coach-fill__val{display:block;height:100%;border-radius:99px;background:var(--mc-accent);}
.myzen-coach-fill__num{font-size:13px;color:var(--mc-muted);font-variant-numeric:tabular-nums;white-space:nowrap;}
.myzen-coach-fill--full .myzen-coach-fill__val{background:var(--mc-ok-ink);}

.myzen-coach-session__recap{display:inline-flex;align-items:center;gap:8px;font-size:13px;
  color:var(--mc-muted);font-variant-numeric:tabular-nums;margin:0 0 4px;}
.myzen-coach-session__recap strong{color:var(--mc-ink);font-weight:600;}

/* ---------- Liste d'inscrits ---------- */
.myzen-coach-session__roster{list-style:none;margin:12px 0 0;padding:0;border-top:1px solid var(--mc-line);}
.myzen-attendee{display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:12px 0;border-bottom:1px solid var(--mc-line);}
.myzen-attendee__name{font-size:15px;color:var(--mc-ink);font-weight:500;}
.myzen-attendee__state{display:block;font-size:12px;color:var(--mc-muted);margin-top:1px;}
.myzen-attendee[data-attendance="present"] .myzen-attendee__state{color:var(--mc-ok-ink);}
.myzen-attendee[data-attendance="absent"] .myzen-attendee__state{color:var(--mc-absent-ink);}

.myzen-attendee__ctrl{display:flex;gap:6px;flex-shrink:0;}
.myzen-coach .myzen-att-btn{appearance:none;font-family:var(--mc-sans);font-size:14px;font-weight:600;
  min-width:96px;min-height:44px;padding:0 16px !important;border-radius:999px !important;cursor:pointer;
  border:1.5px solid var(--mc-line) !important;background:transparent !important;color:var(--mc-muted) !important;
  box-shadow:none !important;transition:background .15s ease,color .15s ease,border-color .15s ease;}
.myzen-coach .myzen-att-btn:hover{border-color:var(--mc-muted) !important;color:var(--mc-ink) !important;}
.myzen-coach .myzen-att-btn:focus-visible{outline:2px solid var(--mc-accent);outline-offset:2px;}
.myzen-coach .myzen-att-btn[disabled]{opacity:.5;cursor:not-allowed;}
.myzen-coach .myzen-att-btn--present.is-active{
  background:var(--mc-ok-bg) !important;border-color:var(--mc-ok-ink) !important;color:var(--mc-ok-ink) !important;}
.myzen-coach .myzen-att-btn--absent.is-active{
  background:var(--mc-absent-bg) !important;border-color:var(--mc-absent-ink) !important;color:var(--mc-absent-ink) !important;}

/* ---------- Liste d'attente ---------- */
.myzen-coach-session__waitlist{margin-top:14px;}
.myzen-coach-session__waitlist summary{cursor:pointer;font-size:13px;font-weight:600;
  color:var(--mc-wait-ink);background:var(--mc-wait-bg);display:inline-flex;align-items:center;gap:8px;
  padding:6px 14px;border-radius:999px;list-style:none;}
.myzen-coach-session__waitlist summary::-webkit-details-marker{display:none;}
.myzen-coach-session__waitlist summary:focus-visible{outline:2px solid var(--mc-accent);outline-offset:2px;}
.myzen-coach-session__waitlist ol{margin:12px 0 0;padding-left:22px;font-size:14px;color:var(--mc-body);}
.myzen-coach-session__waitlist li{padding:3px 0;}

/* ---------- États vides ---------- */
.myzen-coach__empty,.myzen-coach-session__closed{margin:14px 0 0;padding:18px;
  border:1px dashed var(--mc-line);border-radius:14px;text-align:center;
  color:var(--mc-muted);font-size:14px;}

/* ---------- Onglet « Ma semaine » ---------- */
.myzen-coach__tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:34px;}
.myzen-coach__tile{background:var(--mc-surface);border:1px solid var(--mc-line);
  border-radius:var(--mc-radius);padding:22px;box-shadow:var(--mc-shadow);}
.myzen-coach__tile-num{font-family:var(--mc-display);font-size:44px;line-height:1;
  color:var(--mc-accent);font-variant-numeric:tabular-nums;}
.myzen-coach__tile-lab{font-size:13px;color:var(--mc-muted);margin-top:8px;}

.myzen-coach__stitle{font-family:var(--mc-display);font-size:24px;color:var(--mc-ink);
  font-weight:500;margin:0 0 16px;}
.myzen-coach__bars{display:flex;flex-direction:column;gap:14px;}
.myzen-coach__bar-top{display:flex;justify-content:space-between;font-size:14px;margin-bottom:5px;}
.myzen-coach__bar-name{color:var(--mc-ink);font-weight:500;}
.myzen-coach__bar-n{color:var(--mc-muted);font-variant-numeric:tabular-nums;}
.myzen-coach__bar-track{height:8px;border-radius:99px;background:var(--mc-cream);overflow:hidden;}
.myzen-coach__bar-val{display:block;height:100%;border-radius:99px;background:var(--mc-accent);}

/* ---------- Retour d'action ---------- */
.myzen-coach__feedback{margin:0 0 16px;font-size:14px;}
.myzen-coach__feedback:empty{display:none;}
.myzen-coach__feedback.is-success{color:var(--mc-ok-ink);}
.myzen-coach__feedback.is-error{color:#B3261E;}

.myzen-coach__login{font-size:15px;}

@media (max-width:640px){
  .myzen-coach__tiles{grid-template-columns:1fr;}
  .myzen-attendee{flex-direction:column;align-items:stretch;gap:10px;}
  .myzen-attendee__ctrl{width:100%;}
  .myzen-coach .myzen-att-btn{flex:1;min-width:0;}
  .myzen-coach__next-when{font-size:34px;}
}
@media (prefers-reduced-motion:reduce){
  .myzen-coach *{transition:none !important;}
}
