/* Page métier « coach sportif » : complète css/metier.css (chargé avant).
   Deux blocs :
   1. Le thème .m-app--coach : uniquement des variables --app-* (comme les thèmes en fin de metier.css).
   2. Les pièces d'écran propres à l'appli de coaching (préfixe .c-*), absentes du socle : elles reprennent
      les formes de l'appli réelle (fond très sombre, dégradé bleu-gris → indigo, titres en capitales italiques,
      cartes à liseré, menu flottant). Tailles en --u, comme le socle. Aucun style en ligne, aucune animation.
   Source de vérité des écrans : l'appli de coaching construite par Tonappli (public/css/appli.css). Noms et montants fictifs. */

/* =====================================================================
   1. Thème
   ===================================================================== */
/* Coaching : fond nuit, cartes à peine éclairées, un seul accent (dégradé #66769F → #5543BE).
   Les teintes « rgba » de l'appli sont ramenées à des couleurs pleines (calculées sur le fond) pour les mélanges du socle.
   Catégories c1 à c6 : appel découverte, appel bilan, autre, fait, en attente, à éviter. */
.m-app--coach {
  --app-fond: #0B0C14; --app-fond-2: #1A1B24; --app-fond-3: #2B2D3A; --app-carte: #15161F;
  --app-encre: #F3F4FA; --app-doux: #A0A2AD; --app-trait: #2A2C38;
  --app-accent: #5543BE; --app-accent-vif: #ABA6EC; --app-accent-clair: #221F45; --app-sur-accent: #FFFFFF;
  --app-fort: #31334A; --app-sur-fort: #F3F4FA; --app-ok: #6FD49A;
  --app-police: -apple-system, "SF Pro Text", "Inter", system-ui, "Segoe UI", Roboto, sans-serif;
  --app-police-titre: -apple-system, "SF Pro Text", "Inter", system-ui, "Segoe UI", Roboto, sans-serif;
  --app-titre-graisse: 800; --app-titre-espace: .02em; --app-titre-casse: uppercase; --app-sur-espace: .06em; --app-btn-espace: 0em; --app-gras: 650;
  --app-r: 4; --app-r-bouton: 999px;
  --app-c1: #B3A6FF; --app-c2: #8FA3D6; --app-c3: #7FC8B8; --app-c4: #6FD49A; --app-c5: #F3C06B; --app-c6: #FF9196;
  --app-degrade: linear-gradient(120deg, #66769F 0%, #5543BE 100%);
  --app-lueur: radial-gradient(120% 34% at 50% -6%, rgb(102 118 159 / .3), rgb(85 67 190 / .1) 45%, transparent 72%);
  --app-champ: #07080E; --app-place: #6F717C; --app-feuille: #13141F; --app-onglets: #161724;
  --app-alerte: #F3C06B; --app-alerte-fond: #2B2520; --app-ok-fond: #192827; --app-mal: #FF9196; --app-mal-fond: #2D1F26;
}

/* =====================================================================
   2. Pièces d'écran de l'appli de coaching
   ===================================================================== */
/* Écran entier : la lueur bleu-gris en haut, comme dans l'appli */
.m-app.c-ecran { background: var(--app-lueur), var(--app-fond); }

/* Icônes au trait (SVG dans la page, couleurs ici) */
.m-app--coach .c-ic { flex: none; display: block; width: calc(var(--u) * 4.6); height: calc(var(--u) * 4.6); fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.m-app--coach .c-ic--s { width: calc(var(--u) * 3.6); height: calc(var(--u) * 3.6); }
.m-app--coach .c-chev { width: calc(var(--u) * 3.8); height: calc(var(--u) * 3.8); color: var(--app-doux); }

/* ---------- Cadre : en-tête, contenu, menu flottant ---------- */
.m-app--coach .c-hd { flex: none; display: flex; align-items: center; justify-content: space-between; gap: calc(var(--u) * 2); padding: var(--app-haut, calc(var(--u) * 5)) calc(var(--u) * 4) calc(var(--u) * 2.4); }
.m-app--coach .c-marque { display: flex; align-items: center; gap: calc(var(--u) * 2.4); min-width: 0; font-size: calc(var(--u) * 4.6); font-weight: 700; font-style: italic; letter-spacing: .01em; text-transform: uppercase; white-space: nowrap; }
.m-app--coach .c-lg { flex: none; display: grid; place-items: center; width: calc(var(--u) * 7.6); height: calc(var(--u) * 7.6); border-radius: calc(var(--u) * 2.3); background: var(--app-degrade); color: #fff; font-size: calc(var(--u) * 3.6); font-weight: 900; font-style: italic; letter-spacing: 0; }
.m-app--coach .c-rond { flex: none; display: grid; place-items: center; width: calc(var(--u) * 10); height: calc(var(--u) * 10); border: 1px solid var(--app-trait); border-radius: 50%; background: var(--app-fond-2); color: var(--app-encre); }
.m-app--coach .c-main { position: relative; flex: 1; min-height: 0; display: flex; flex-direction: column; gap: calc(var(--u) * 2.6); padding: calc(var(--u) * 1) calc(var(--u) * 4) 0; overflow: hidden; }
.m-app--coach .c-main--form { padding-bottom: calc(var(--u) * 5); }
.m-app--coach .c-tabbar { position: absolute; z-index: 2; left: calc(var(--u) * 3); right: calc(var(--u) * 3); bottom: calc(var(--u) * 3); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; height: calc(var(--u) * 15.5); padding: calc(var(--u) * 1.5); border: 1px solid var(--app-trait); border-radius: calc(var(--u) * 8); background: var(--app-onglets); box-shadow: 0 calc(var(--u) * 4) calc(var(--u) * 9) calc(var(--u) * -3) rgb(0 0 0 / .7); }
.m-app--coach .c-tabbar--3 { left: 12%; right: 12%; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.m-app--coach .c-tab { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: calc(var(--u) * .7); min-width: 0; border-radius: calc(var(--u) * 6.5); color: var(--app-doux); font-size: calc(var(--u) * 2.8); font-weight: 650; white-space: nowrap; }
.m-app--coach .c-tab .c-ic { width: calc(var(--u) * 5.4); height: calc(var(--u) * 5.4); }
.m-app--coach .c-tab.on { background: var(--app-fond-2); color: var(--app-accent-vif); }
.m-app--coach .c-count { position: absolute; top: calc(var(--u) * .6); left: calc(50% + var(--u) * 1.4); min-width: calc(var(--u) * 4.6); height: calc(var(--u) * 4.6); padding: 0 calc(var(--u) * 1.2); border-radius: calc(var(--u) * 2.3); background: var(--app-degrade); color: #fff; font-size: calc(var(--u) * 2.8); font-weight: 800; line-height: calc(var(--u) * 4.6); text-align: center; transform: skewX(-8deg); }

/* ---------- Textes : titres en capitales italiques, sur-titres de section ---------- */
.m-app--coach .c-titre { display: block; font-size: calc(var(--u) * 6.8); font-weight: 850; font-style: italic; line-height: 1.08; letter-spacing: -.005em; text-transform: uppercase; }
.m-app--coach .c-titre--s { font-size: calc(var(--u) * 4.6); line-height: 1.15; }
.m-mini .m-app--coach .c-titre { font-size: calc(var(--u) * 5.4); }
.m-mini .m-app--coach .c-titre--s { font-size: calc(var(--u) * 4); }
.m-app--coach .c-sec { display: flex; align-items: center; justify-content: space-between; gap: calc(var(--u) * 2); margin-top: calc(var(--u) * 1.2); padding: 0 calc(var(--u) * 1); color: var(--app-doux); font-size: calc(var(--u) * 3.1); font-weight: 800; font-style: italic; letter-spacing: .06em; text-transform: uppercase; }
.m-app--coach .c-lead { color: var(--app-doux); font-size: calc(var(--u) * 3.4); line-height: 1.4; }
.m-app--coach .c-texte { font-size: calc(var(--u) * 3.3); line-height: 1.4; }
.m-app--coach .c-aide { color: var(--app-doux); font-size: calc(var(--u) * 3); line-height: 1.4; }
.m-app--coach .c-aide--centre { text-align: center; }
.m-app--coach .c-lab { color: var(--app-doux); font-size: calc(var(--u) * 3.1); font-weight: 600; }
.m-app--coach .c-q { display: block; font-size: calc(var(--u) * 3.4); font-weight: 750; line-height: 1.3; }
.m-app--coach .c-retour { display: flex; align-self: flex-start; align-items: center; gap: calc(var(--u) * 1); padding-right: calc(var(--u) * 2.4); color: var(--app-doux); font-size: calc(var(--u) * 3.4); font-weight: 600; }
/* Encart d'installation sur l'écran d'accueil (vitrine) */
.m-app--coach .c-install { display: flex; align-items: center; gap: calc(var(--u) * 3); padding: calc(var(--u) * 3.4) calc(var(--u) * 4); border: 1px solid var(--app-trait); border-radius: calc(var(--u) * 4.6); background: var(--app-accent-clair); font-size: calc(var(--u) * 3.2); line-height: 1.4; }
.m-app--coach .c-install .c-ic { color: var(--app-accent-vif); }
.m-app--coach .c-attention { color: var(--app-alerte); }

/* ---------- Cartes, listes, accordéons ---------- */
.m-app--coach .c-carte { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); align-content: start; gap: calc(var(--u) * 2.4); padding: calc(var(--u) * 4); border: 1px solid var(--app-trait); border-radius: calc(var(--u) * 5.8); background: var(--app-carte); }
.m-app--coach .c-liste { gap: 0; padding: calc(var(--u) * .6) calc(var(--u) * 4.4); }
/* Liseré d'accent à gauche (« tuile sport » de l'appli) */
.m-app--coach .c-liseret::before { content: ""; position: absolute; left: -1px; top: calc(var(--u) * 4); bottom: calc(var(--u) * 4); width: calc(var(--u) * .8); border-radius: 0 calc(var(--u) * .8) calc(var(--u) * .8) 0; background: var(--app-degrade); }
.m-app--coach .c-li { display: flex; align-items: center; gap: calc(var(--u) * 2.8); min-height: calc(var(--u) * 13.5); padding: calc(var(--u) * 2.2) 0; }
.m-app--coach .c-li + .c-li, .m-app--coach .c-li + .c-sous { border-top: 1px solid var(--app-trait); }
.m-app--coach .c-av { flex: none; display: grid; place-items: center; width: calc(var(--u) * 9.6); height: calc(var(--u) * 9.6); border-radius: 50%; background: var(--app-accent-clair); color: var(--app-accent-vif); font-size: calc(var(--u) * 3.3); font-weight: 700; }
.m-app--coach .c-lt { flex: 1; min-width: 0; display: grid; gap: calc(var(--u) * .4); }
.m-app--coach .c-lt > b { overflow: hidden; font-size: calc(var(--u) * 3.9); font-weight: 650; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.m-app--coach .c-lt > span { overflow: hidden; color: var(--app-doux); font-size: calc(var(--u) * 3.1); line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.m-app--coach .c-lt--long > b, .m-app--coach .c-lt--long > span { overflow: visible; white-space: normal; }
.m-app--coach .c-lv { flex: none; font-size: calc(var(--u) * 3.8); font-weight: 750; font-variant-numeric: tabular-nums; white-space: nowrap; }
.m-app--coach .c-quand { flex: none; color: var(--app-doux); font-size: calc(var(--u) * 2.9); white-space: nowrap; }
.m-app--coach .c-sous { display: flex; flex-wrap: wrap; justify-content: space-between; gap: calc(var(--u) * .5) calc(var(--u) * 2); padding: calc(var(--u) * 2.4) 0 calc(var(--u) * 1.4); color: var(--app-doux); font-size: calc(var(--u) * 3); }
.m-app--coach .c-acc { position: relative; border: 1px solid var(--app-trait); border-radius: calc(var(--u) * 4.6); background: var(--app-carte); }
.m-app--coach .c-acc-h { display: flex; align-items: center; gap: calc(var(--u) * 2.4); min-height: calc(var(--u) * 12.5); padding: calc(var(--u) * 2.2) calc(var(--u) * 3.6); }
.m-app--coach .c-acc-h::after { content: ""; flex: none; width: calc(var(--u) * 1.9); height: calc(var(--u) * 1.9); margin: 0 calc(var(--u) * .6) 0 auto; border-right: 2px solid var(--app-doux); border-bottom: 2px solid var(--app-doux); transform: rotate(45deg) translate(-25%, -25%); }
.m-app--coach .c-acc.ouvert > .c-acc-h::after { transform: rotate(-135deg) translate(-25%, -25%); }
.m-app--coach .c-acc-b { display: grid; grid-template-columns: minmax(0, 1fr); gap: calc(var(--u) * 2.2); padding: 0 calc(var(--u) * 3.6) calc(var(--u) * 3.2); }
.m-app--coach .c-acc.c-liseret::before { top: calc(var(--u) * 3); bottom: auto; height: calc(var(--u) * 6.5); }
.m-app--coach .c-vide { padding: calc(var(--u) * 4) calc(var(--u) * 3); border: 1px dashed var(--app-trait); border-radius: calc(var(--u) * 4.4); color: var(--app-doux); font-size: calc(var(--u) * 3.2); text-align: center; }

/* ---------- Boutons, puces, segments, pastilles ---------- */
.m-app--coach .c-btn { display: flex; align-items: center; justify-content: center; gap: calc(var(--u) * 2); min-height: calc(var(--u) * 11.5); padding: calc(var(--u) * 2) calc(var(--u) * 4); border: 0; border-radius: calc(var(--u) * 3.2); background: var(--app-degrade); color: #fff; font-size: calc(var(--u) * 3.8); font-weight: 600; line-height: 1.2; text-align: center; }
.m-app--coach .c-btn--doux { border: 1px solid var(--app-trait); background: var(--app-fond-2); color: var(--app-encre); }
.m-app--coach .c-btn--lien { min-height: calc(var(--u) * 9); padding-top: 0; padding-bottom: 0; background: none; color: var(--app-accent-vif); }
.m-app--coach .c-btn--petit { display: inline-flex; min-height: calc(var(--u) * 8); padding: calc(var(--u) * 1.4) calc(var(--u) * 3); border-radius: calc(var(--u) * 2.4); font-size: calc(var(--u) * 3.1); white-space: nowrap; }
.m-app--coach .c-btn--bas { margin-top: auto; }
.m-app--coach .c-btn .c-ic { width: calc(var(--u) * 4.4); height: calc(var(--u) * 4.4); }
/* Paiement marqué reçu : le bouton devient une pastille verte */
.m-app--coach .c-btn--recu[aria-pressed="true"] { background: var(--app-ok-fond); color: var(--app-ok); }
.m-app--coach .c-chips { display: flex; flex-wrap: wrap; gap: calc(var(--u) * 1.5); }
.m-app--coach .c-chip { display: inline-flex; align-items: center; gap: calc(var(--u) * 1); min-height: calc(var(--u) * 8); padding: 0 calc(var(--u) * 2.8); border: 1px solid var(--app-trait); border-radius: 999px; background: var(--app-fond-2); color: var(--app-encre); font-size: calc(var(--u) * 3.1); font-weight: 600; line-height: 1.2; white-space: nowrap; }
.m-app--coach .c-chip.on { border-color: transparent; background: var(--app-degrade); color: #fff; }
.m-app--coach .c-chip--non { border-color: var(--app-mal); background: var(--app-mal-fond); color: var(--app-mal); text-decoration: line-through; }
.m-app--coach .c-chip .c-ic { width: calc(var(--u) * 3.4); height: calc(var(--u) * 3.4); }
.m-app--coach .c-chip > span { display: inline-flex; align-items: center; gap: calc(var(--u) * 1); }
/* Créneau à l'essai : retiré, il redevient une puce en pointillés « + 19:00 » */
.m-app--coach .c-chip--essai[aria-pressed="false"] { border-style: dashed; background: none; color: var(--app-accent-vif); }
.m-app--coach .c-seg { display: flex; gap: 2px; padding: calc(var(--u) * .7); border: 1px solid var(--app-trait); border-radius: calc(var(--u) * 3); background: var(--app-fond-2); }
.m-app--coach .c-seg > * { flex: 1; padding: calc(var(--u) * 1.9) calc(var(--u) * 1); border-radius: calc(var(--u) * 2.2); color: var(--app-doux); font-size: calc(var(--u) * 3.2); font-weight: 650; text-align: center; white-space: nowrap; }
.m-app--coach .c-seg > .on { background: var(--app-fort); color: var(--app-encre); }
.m-app--coach .c-pill { display: inline-flex; align-items: center; padding: calc(var(--u) * .5) calc(var(--u) * 2.2); border-radius: 999px; background: var(--app-fond-2); color: var(--app-doux); font-size: calc(var(--u) * 2.8); font-weight: 650; line-height: 1.3; white-space: nowrap; vertical-align: middle; }
.m-app--coach .c-pill--ok { background: var(--app-ok-fond); color: var(--app-ok); }
.m-app--coach .c-pill--attente { background: var(--app-alerte-fond); color: var(--app-alerte); }
.m-app--coach .c-pill--neuf { background: var(--app-degrade); color: #fff; transform: skewX(-8deg); }
.m-app--coach .c-band { display: flex; gap: calc(var(--u) * 1.8); margin: 0 calc(var(--u) * -4); padding: calc(var(--u) * .4) calc(var(--u) * 4) calc(var(--u) * .8); overflow: hidden; }
.m-app--coach .c-band--fin { justify-content: flex-end; }
.m-app--coach .c-band > span { flex: none; display: inline-flex; align-items: center; gap: calc(var(--u) * 1.6); height: calc(var(--u) * 9.4); padding: 0 calc(var(--u) * 3.2); border: 1px solid var(--app-trait); border-radius: 999px; background: var(--app-fond-2); color: var(--app-doux); font-size: calc(var(--u) * 3.3); font-weight: 650; white-space: nowrap; }
.m-app--coach .c-band > .on { border-color: transparent; background: var(--app-accent-clair); color: var(--app-encre); }
.m-app--coach .c-n { min-width: calc(var(--u) * 5.2); padding: 0 calc(var(--u) * 1.4); border-radius: calc(var(--u) * 2.2); background: var(--app-fond-3); color: var(--app-encre); font-size: calc(var(--u) * 2.8); line-height: calc(var(--u) * 4.8); text-align: center; }
.m-app--coach .on > .c-n { background: var(--app-degrade); color: #fff; transform: skewX(-8deg); }
.m-app--coach .c-alerte, .m-app--coach .c-bon { padding: calc(var(--u) * 2.6) calc(var(--u) * 3.4); border-radius: calc(var(--u) * 3.4); font-size: calc(var(--u) * 3.2); line-height: 1.4; }
.m-app--coach .c-alerte { background: var(--app-alerte-fond); color: var(--app-alerte); }
.m-app--coach .c-bon { background: var(--app-ok-fond); color: var(--app-ok); }
.m-app--coach .c-cred { display: flex; align-items: center; gap: calc(var(--u) * 2.4); color: var(--app-doux); font-size: calc(var(--u) * 3.2); line-height: 1.35; }
.m-app--coach .c-cred .c-ic { color: var(--app-accent-vif); }

/* ---------- Formulaire d'inscription (une question, ou quelques questions proches, par écran) ---------- */
.m-app--coach .c-avance { display: flex; align-items: center; gap: calc(var(--u) * 2.2); color: var(--app-doux); font-size: calc(var(--u) * 2.9); font-variant-numeric: tabular-nums; }
.m-app--coach .c-avance > i { flex: 1; height: calc(var(--u) * 1.8); border-radius: calc(var(--u) * 1); background: var(--app-fond-2); overflow: hidden; transform: skewX(-20deg); }
.m-app--coach .c-avance > i::before { content: ""; display: block; width: var(--p, 50%); height: 100%; background: var(--app-degrade); }
.m-app--coach .c-opts { display: grid; grid-template-columns: minmax(0, 1fr); gap: calc(var(--u) * 1.8); }
.m-app--coach .c-opt { display: flex; align-items: center; gap: calc(var(--u) * 2.6); min-height: calc(var(--u) * 11); padding: calc(var(--u) * 1.8) calc(var(--u) * 3.2); border: 1px solid var(--app-trait); border-radius: calc(var(--u) * 4); background: var(--app-carte); font-size: calc(var(--u) * 3.4); font-weight: 650; line-height: 1.25; }
.m-app--coach .c-opt::before { content: ""; flex: none; display: grid; place-items: center; width: calc(var(--u) * 5); height: calc(var(--u) * 5); border: 1.5px solid var(--app-place); border-radius: 50%; color: #fff; font-size: calc(var(--u) * 3.2); font-weight: 800; line-height: 1; }
.m-app--coach .c-opt.on { border-color: var(--app-accent-vif); background: var(--app-accent-clair); }
.m-app--coach .c-opt.on::before { content: "✓"; border-color: transparent; background: var(--app-degrade); }
.m-app--coach .c-opt > span { flex: 1; min-width: 0; display: grid; gap: calc(var(--u) * .3); }
.m-app--coach .c-opt > span > span { color: var(--app-doux); font-size: calc(var(--u) * 2.9); font-weight: 500; }
.m-app--coach .c-opt > em { flex: none; font-weight: 750; white-space: nowrap; }
.m-app--coach .c-field { display: grid; gap: calc(var(--u) * 1.3); }
.m-app--coach .c-champs2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: calc(var(--u) * 2.4); }
.m-app--coach .c-champ { display: block; padding: calc(var(--u) * 2.6) calc(var(--u) * 3); border: 1px solid var(--app-trait); border-radius: calc(var(--u) * 3.4); background: var(--app-champ); color: var(--app-encre); font-size: calc(var(--u) * 3.3); line-height: 1.3; }
.m-app--coach .c-champ--manque { border-style: dashed; border-color: var(--app-alerte); color: var(--app-place); }
.m-app--coach .c-combo { display: flex; align-items: stretch; min-height: calc(var(--u) * 12); border: 1px solid var(--app-trait); border-radius: calc(var(--u) * 3.6); background: var(--app-champ); font-size: calc(var(--u) * 3.6); }
.m-app--coach .c-combo > span { display: flex; align-items: center; gap: calc(var(--u) * 1.4); padding: 0 calc(var(--u) * 3.4); }
.m-app--coach .c-combo > span:first-child { flex: none; border-right: 1px solid var(--app-trait); font-weight: 650; }
.m-app--coach .c-combo > span + span { flex: 1; min-width: 0; color: var(--app-place); }
.m-app--coach .c-case { display: flex; align-items: flex-start; gap: calc(var(--u) * 2.4); padding: 0; border: 0; background: none; color: var(--app-encre); font-size: calc(var(--u) * 3.1); line-height: 1.35; text-align: left; }
.m-app--coach .c-case::before { content: ""; flex: none; display: grid; place-items: center; width: calc(var(--u) * 5); height: calc(var(--u) * 5); border: 1.5px solid var(--app-place); border-radius: calc(var(--u) * 1.3); color: #fff; font-size: calc(var(--u) * 3.4); font-weight: 800; line-height: 1; }
.m-app--coach .c-case.on::before, .m-app--coach .c-case[aria-checked="true"]::before { content: "✓"; border-color: transparent; background: var(--app-degrade); }
.m-frag .m-app--coach .c-case { padding: calc(var(--u) * 1.2) 0; }
.m-app--coach .c-jours { display: flex; gap: calc(var(--u) * 1.8); overflow: hidden; }
.m-app--coach .c-jours > * { flex: none; display: grid; justify-items: center; gap: calc(var(--u) * .3); width: calc(var(--u) * 13.5); padding: calc(var(--u) * 2) 0; border: 1px solid var(--app-trait); border-radius: calc(var(--u) * 3.8); background: var(--app-carte); color: var(--app-doux); font-size: calc(var(--u) * 2.8); line-height: 1.2; }
.m-app--coach .c-jours b { color: var(--app-encre); font-size: calc(var(--u) * 4.6); }
.m-app--coach .c-jours > .on { border-color: transparent; background: var(--app-degrade); color: #fff; }
.m-app--coach .c-jours > .on b { color: #fff; }
.m-app--coach .c-heures { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: calc(var(--u) * 1.8); }
.m-app--coach .c-heures > * { padding: calc(var(--u) * 2.6) 0; border: 1px solid var(--app-trait); border-radius: calc(var(--u) * 3); background: var(--app-carte); font-size: calc(var(--u) * 3.4); font-weight: 700; font-variant-numeric: tabular-nums; text-align: center; }
.m-app--coach .c-heures > .on { border-color: transparent; background: var(--app-degrade); color: #fff; }

/* ---------- Chiffre clé, barres, légendes ---------- */
.m-app--coach .c-kfig { display: grid; gap: calc(var(--u) * .6); padding: 0 calc(var(--u) * 1); }
.m-app--coach .c-carte.c-kfig { gap: calc(var(--u) * .8); padding: calc(var(--u) * 4); }
.m-app--coach .c-kf-l { color: var(--app-doux); font-size: calc(var(--u) * 3.4); }
.m-app--coach .c-kf-v { display: block; font-size: calc(var(--u) * 10); font-weight: 800; font-style: italic; line-height: 1.05; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.m-app--coach .c-kf-v--m { font-size: calc(var(--u) * 8.4); }
.m-app--coach .c-kf-u { font-size: calc(var(--u) * 4); letter-spacing: 0; }
.m-app--coach .c-kf-s { color: var(--app-doux); font-size: calc(var(--u) * 3.1); line-height: 1.35; }
.m-app--coach .c-barre { display: block; height: calc(var(--u) * 1.9); margin-top: calc(var(--u) * 1); border-radius: 999px; background: var(--app-fond-2); overflow: hidden; }
.m-app--coach .c-barre > i { display: block; width: var(--p, 50%); height: 100%; border-radius: inherit; background: var(--app-degrade); }
.m-app--coach .c-hbars { display: grid; gap: calc(var(--u) * 1.8); padding: calc(var(--u) * 1) 0 calc(var(--u) * 3); }
.m-app--coach .c-hbars > div { display: grid; grid-template-columns: calc(var(--u) * 13) minmax(0, 1fr) calc(var(--u) * 7); align-items: center; gap: calc(var(--u) * 2.4); font-size: calc(var(--u) * 3); }
.m-app--coach .c-hbars > div > span:first-child { color: var(--app-doux); }
.m-app--coach .c-hbars .c-barre { margin: 0; }
.m-app--coach .c-leg { display: flex; flex-wrap: wrap; gap: calc(var(--u) * 1) calc(var(--u) * 3); color: var(--app-doux); font-size: calc(var(--u) * 2.8); }
.m-app--coach .c-leg > span { display: inline-flex; align-items: center; gap: calc(var(--u) * 1.2); white-space: nowrap; }
.m-app--coach .c-leg > span::before { content: ""; width: calc(var(--u) * 2.4); height: calc(var(--u) * 2.4); border-radius: calc(var(--u) * .7); background: var(--app-degrade); }
.m-app--coach .c-leg > .l-neutre::before { background: var(--app-fond-2); box-shadow: inset 0 0 0 1px var(--app-trait); }
.m-app--coach .c-leg > .l-non::before { background: var(--app-mal-fond); box-shadow: inset 0 0 0 1px var(--app-mal); }
/* Courbe du poids : tracé dans la page, couleurs ici */
.m-app--coach .c-courbe { display: block; width: 100%; height: auto; overflow: visible; }
.m-app--coach .c-courbe .gl { stroke: var(--app-trait); stroke-width: 1; }
.m-app--coach .c-courbe .ln { fill: none; stroke: var(--app-accent-vif); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.m-app--coach .c-courbe .pt { fill: var(--app-accent-vif); }
.m-app--coach .c-courbe text { fill: var(--app-doux); font-family: var(--app-police); font-size: 10px; }

/* ---------- Programme, repas, performances ---------- */
.m-app--coach .c-ex { display: flex; align-items: flex-start; gap: calc(var(--u) * 2.4); padding: calc(var(--u) * 2.4) 0; }
.m-app--coach .c-ex + .c-ex { border-top: 1px solid var(--app-trait); }
.m-app--coach .c-ex-n { flex: none; display: grid; place-items: center; width: calc(var(--u) * 6.2); height: calc(var(--u) * 6.2); border-radius: calc(var(--u) * 1.9); background: var(--app-accent-clair); color: var(--app-accent-vif); font-size: calc(var(--u) * 3); font-weight: 800; transform: skewX(-8deg); }
.m-app--coach .c-ex-b { flex: 1; min-width: 0; display: grid; gap: calc(var(--u) * .4); }
.m-app--coach .c-ex-b > b { font-size: calc(var(--u) * 3.6); font-weight: 650; line-height: 1.25; }
.m-app--coach .c-ex-b > span { color: var(--app-doux); font-size: calc(var(--u) * 3); line-height: 1.3; }
.m-app--coach .c-ex-b > .c-fait { color: var(--app-ok); }
.m-app--coach .c-ex.fait .c-ex-b > b { color: var(--app-doux); text-decoration: line-through; }
.m-app--coach .c-ex-a { position: relative; flex: none; display: grid; gap: calc(var(--u) * 1); }
.m-app--coach .c-ex-a--ligne { grid-auto-flow: column; }
.m-app--coach .c-ex-a > span { padding: calc(var(--u) * 1.5) calc(var(--u) * 2.4); border-radius: calc(var(--u) * 2.2); background: var(--app-fond-2); color: var(--app-accent-vif); font-size: calc(var(--u) * 2.9); font-weight: 700; text-align: center; white-space: nowrap; }
.m-app--coach .c-coche { flex: none; display: grid; place-items: center; width: calc(var(--u) * 6.2); height: calc(var(--u) * 6.2); margin-top: calc(var(--u) * .3); border: 1.5px solid var(--app-place); border-radius: calc(var(--u) * 1.6); background: var(--app-fond-2); color: #fff; font-size: calc(var(--u) * 3.6); font-weight: 800; line-height: 1; }
.m-app--coach .c-coche.on { border-color: transparent; background: var(--app-degrade); }
.m-app--coach .c-ev { font-weight: 800; }
.m-app--coach .c-ev.plus { color: var(--app-ok); }
.m-app--coach .c-perf { display: grid; grid-template-columns: 1.05fr 1.25fr 1.2fr .75fr; font-size: calc(var(--u) * 3); }
.m-app--coach .c-perf > * { min-width: 0; padding: calc(var(--u) * 1.6) calc(var(--u) * 1.2) calc(var(--u) * 1.6) 0; border-top: 1px solid var(--app-trait); line-height: 1.3; }
.m-app--coach .c-perf > .h { padding-top: 0; border-top: 0; color: var(--app-doux); font-size: calc(var(--u) * 2.7); font-weight: 650; }
.m-app--coach .c-perf > .plus { color: var(--app-ok); font-weight: 700; }
.m-app--coach .c-perf i { display: block; color: var(--app-doux); font-size: calc(var(--u) * 2.5); font-weight: 500; }

/* ---------- Fiche client : identité, onglets internes ---------- */
.m-app--coach .c-who { display: flex; align-items: center; gap: calc(var(--u) * 3); }
.m-app--coach .c-who > .c-av { width: calc(var(--u) * 11.5); height: calc(var(--u) * 11.5); font-size: calc(var(--u) * 4); }
.m-app--coach .c-who .c-lt > b { font-size: calc(var(--u) * 5.4); font-weight: 850; font-style: italic; line-height: 1.1; text-transform: uppercase; }
.m-app--coach .c-who--s .c-lt > b { font-size: calc(var(--u) * 4.6); }
.m-app--coach .c-itabs { display: flex; gap: calc(var(--u) * 1); margin: 0 calc(var(--u) * -4); padding: 0 calc(var(--u) * 3); border-bottom: 1px solid var(--app-trait); overflow: hidden; }
.m-app--coach .c-itabs--fin { justify-content: flex-end; }
.m-app--coach .c-itabs > span { flex: none; position: relative; padding: calc(var(--u) * 2.4) calc(var(--u) * 2.2); color: var(--app-doux); font-size: calc(var(--u) * 3.4); font-weight: 700; }
.m-app--coach .c-itabs > .on { color: var(--app-encre); }
.m-app--coach .c-itabs > .on::after { content: ""; position: absolute; left: calc(var(--u) * 1.8); right: calc(var(--u) * 1.8); bottom: -1px; height: calc(var(--u) * .8); border-radius: 2px; background: var(--app-degrade); transform: skewX(-20deg); }

/* ---------- Agenda : semaine, créneaux ---------- */
.m-app--coach .c-semaine { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: calc(var(--u) * 1); text-align: center; }
.m-app--coach .c-semaine > .h { color: var(--app-place); font-size: calc(var(--u) * 2.7); }
.m-app--coach .c-semaine > :not(.h) { display: grid; place-items: center; height: calc(var(--u) * 10); border: 1px solid var(--app-trait); border-radius: calc(var(--u) * 2.6); background: var(--app-carte); font-size: calc(var(--u) * 3.3); font-weight: 650; }
.m-app--coach .c-semaine > .sel { border-color: transparent; background: var(--app-degrade); color: #fff; }
.m-app--coach .c-slot { display: flex; align-items: center; gap: calc(var(--u) * 2.6); padding: calc(var(--u) * 1.6) 0; color: var(--app-doux); font-size: calc(var(--u) * 3.2); }
.m-app--coach .c-slot > b { color: var(--app-encre); font-weight: 750; font-variant-numeric: tabular-nums; }
.m-app--coach .c-slot > i { flex: none; align-self: stretch; width: calc(var(--u) * 1); border: 1px dashed var(--app-trait); border-radius: 2px; }

/* ---------- Messages ---------- */
.m-app--coach .c-fil { display: flex; flex-direction: column; gap: calc(var(--u) * 2); }
.m-app--coach .c-jour { align-self: center; color: var(--app-place); font-size: calc(var(--u) * 2.9); }
.m-app--coach .c-bulle { position: relative; align-self: flex-start; max-width: 80%; padding: calc(var(--u) * 2.2) calc(var(--u) * 3.2); border-radius: calc(var(--u) * 4.6) calc(var(--u) * 4.6) calc(var(--u) * 4.6) calc(var(--u) * 1.5); background: var(--app-fond-2); font-size: calc(var(--u) * 3.6); line-height: 1.4; }
.m-app--coach .c-bulle--moi { align-self: flex-end; border-radius: calc(var(--u) * 4.6) calc(var(--u) * 4.6) calc(var(--u) * 1.5) calc(var(--u) * 4.6); background: var(--app-degrade); color: #fff; }
.m-app--coach .c-bulle > span { display: block; margin-top: calc(var(--u) * .7); font-size: calc(var(--u) * 2.6); opacity: .7; text-align: right; }
.m-app--coach .c-compo { position: absolute; z-index: 1; left: 0; right: 0; bottom: calc(var(--u) * 20); display: grid; grid-template-columns: minmax(0, 1fr); gap: calc(var(--u) * 2); padding: calc(var(--u) * 3) calc(var(--u) * 4) calc(var(--u) * 1); background: linear-gradient(transparent, var(--app-fond) 22%); }
.m-app--coach .c-rapides { display: flex; gap: calc(var(--u) * 1.4); overflow: hidden; }
.m-app--coach .c-rapides > span { flex: none; padding: calc(var(--u) * 2) calc(var(--u) * 3); border: 1px solid var(--app-trait); border-radius: 999px; background: var(--app-feuille); font-size: calc(var(--u) * 3.1); font-weight: 600; white-space: nowrap; }
.m-app--coach .c-saisie { display: flex; align-items: center; gap: calc(var(--u) * 2); }
.m-app--coach .c-saisie > span:first-child { flex: 1; min-width: 0; height: calc(var(--u) * 11.5); padding: 0 calc(var(--u) * 3.6); border: 1px solid var(--app-trait); border-radius: 999px; background: var(--app-champ); color: var(--app-place); font-size: calc(var(--u) * 3.5); line-height: calc(var(--u) * 11.5); }
.m-app--coach .c-envoi { flex: none; display: grid; place-items: center; width: calc(var(--u) * 11.5); height: calc(var(--u) * 11.5); border-radius: 50%; background: var(--app-degrade); color: #fff; }

/* ---------- Bulles de notification autour du téléphone (calque du site) : icône au trait ---------- */
.m-bulle.m-app--coach .c-ic { width: 1.15rem; height: 1.15rem; stroke-width: 2; }
