/* =====================================================================
   Suivi · direction visuelle 2 (« calme et doux »)
   Une police (Manrope), le bleu nuit pour agir, la couleur pour dire quelque chose
   (type de séance, état), des teintes légères pour que rien ne soit plat.
   Chargé après app.css : redéfinit les jetons, puis harmonise les composants.
   ===================================================================== */
@font-face{font-family:"Manrope";src:url(fonts/manrope-latin.woff2) format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:"Manrope";src:url(fonts/manrope-latin-ext.woff2) format("woff2");font-weight:200 800;font-display:swap;unicode-range:U+0100-024F,U+1E00-1EFF,U+2000-206F,U+20A0-20CF,U+2100-214F,U+2190-21FF,U+2C60-2C7F,U+A720-A7FF}

/* ---------- Jetons ---------- */
:root{
  --serif:"Manrope",-apple-system,"Segoe UI",sans-serif; --sans:"Manrope",-apple-system,"Segoe UI",sans-serif; --mono:"Manrope",-apple-system,"Segoe UI",sans-serif;
  --paper:#F2F4F3; --paper2:#EAEEED; --hl:#E7EBF2; --ink:#1A2433; --ink2:#5B6676; --ink3:#98A1AD; --rule:#E6E9EC; --rule2:#D5DADF;
  --sand:#EDF0F1; --sand2:#DDE2E5; --sepia:#5B6676; --cream:#FFFFFF; --sheet:#FFFFFF; --card:#FFFFFF;
  --red:#D64532; --red-bg:#FBE9E6; --green:#2E8B57; --amber:#C98A12; --amber-s:#FBF2DE;
  --act:#23324F; --act-soft:#E7EBF2; --acc:var(--act); --on-acc:#fff; --soft:var(--act-soft); --soft2:#DCE2EC;
  --t-bilan:#6C4FD6; --t-bilan-s:#EFEBFC; --t-maj:#D9661C; --t-maj-s:#FCEEE4; --t-suivi:#2E8B57; --t-suivi-s:#E4F3EA;
  --tint:#E6EEF0;
  --shadow:0 1px 2px rgba(26,36,51,.05),0 8px 22px rgba(26,36,51,.06); --shadow2:0 2px 6px rgba(26,36,51,.08),0 14px 34px rgba(26,36,51,.12);
  --r1:14px; --r2:20px;
  --field:color-mix(in srgb,var(--ink) 6%,var(--card));
}
/* Une teinte très légère en haut de chaque écran, selon l'endroit */
:root[data-ctx]{--acc:var(--act)}
:root[data-ctx="menu"],:root[data-ctx="list"],:root[data-ctx="day"]{--tint:#E3EEEC}
:root[data-ctx="patient"]{--tint:#E5EAF4}
:root[data-ctx="sess-bilan"]{--tint:var(--t-bilan-s)}
:root[data-ctx="sess-maj"]{--tint:var(--t-maj-s)}
:root[data-ctx="sess-suivi"]{--tint:var(--t-suivi-s)}
:root[data-ctx="set"]{--tint:#ECEFF2}

@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --paper:#121417; --paper2:#191C20; --hl:#22262D; --ink:#E8ECF1; --ink2:#A3ADBA; --ink3:#6E7886; --rule:#262B32; --rule2:#343A43;
  --sand:#1E2227; --sand2:#2C3138; --sepia:#A3ADBA; --cream:#1C1F24; --sheet:#1C1F24; --card:#1C1F24;
  --red:#F06A57; --red-bg:#3A1F1C; --green:#4CC07F; --amber:#E2A73A; --amber-s:#3A3020;
  --act:#9DB4EA; --act-soft:#253048; --on-acc:#0F1420; --soft2:#2E3A55;
  --t-bilan:#A58DF0; --t-bilan-s:#2A2342; --t-maj:#F08E4C; --t-maj-s:#3B2A1E; --t-suivi:#5BC88B; --t-suivi-s:#1C3327;
  --tint:#1A2124; --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 22px rgba(0,0,0,.28); --shadow2:0 2px 8px rgba(0,0,0,.45),0 16px 36px rgba(0,0,0,.4);
  color-scheme:dark}
  :root:not([data-theme="light"])[data-ctx="patient"]{--tint:#1A1F2B}
  :root:not([data-theme="light"])[data-ctx="sess-bilan"]{--tint:#211C30} :root:not([data-theme="light"])[data-ctx="sess-maj"]{--tint:#2A2019} :root:not([data-theme="light"])[data-ctx="sess-suivi"]{--tint:#17261E}
}
:root[data-theme="dark"]{
  --paper:#121417; --paper2:#191C20; --hl:#22262D; --ink:#E8ECF1; --ink2:#A3ADBA; --ink3:#6E7886; --rule:#262B32; --rule2:#343A43;
  --sand:#1E2227; --sand2:#2C3138; --sepia:#A3ADBA; --cream:#1C1F24; --sheet:#1C1F24; --card:#1C1F24;
  --red:#F06A57; --red-bg:#3A1F1C; --green:#4CC07F; --amber:#E2A73A; --amber-s:#3A3020;
  --act:#9DB4EA; --act-soft:#253048; --on-acc:#0F1420; --soft2:#2E3A55;
  --t-bilan:#A58DF0; --t-bilan-s:#2A2342; --t-maj:#F08E4C; --t-maj-s:#3B2A1E; --t-suivi:#5BC88B; --t-suivi-s:#1C3327;
  --tint:#1A2124; --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 22px rgba(0,0,0,.28); --shadow2:0 2px 8px rgba(0,0,0,.45),0 16px 36px rgba(0,0,0,.4);
  color-scheme:dark}
:root[data-theme="dark"][data-ctx="patient"]{--tint:#1A1F2B}
:root[data-theme="dark"][data-ctx="sess-bilan"]{--tint:#211C30} :root[data-theme="dark"][data-ctx="sess-maj"]{--tint:#2A2019} :root[data-theme="dark"][data-ctx="sess-suivi"]{--tint:#17261E}

/* ---------- Base ---------- */
body{font-family:var(--sans);font-feature-settings:"tnum" 1,"lnum" 1;font-synthesis:none;letter-spacing:-.003em}
.scr{background:linear-gradient(180deg,var(--tint) 0,var(--tint) 90px,var(--paper) 300px)}
.top{background:color-mix(in srgb,var(--tint) 88%,transparent);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px)}
.h1,.h2,.head .h1,.head .h2{font-family:var(--sans);font-weight:750;letter-spacing:-.022em;color:var(--ink)}
.h2{font-size:29px;line-height:1.1}
.head .meta{font:500 14px var(--sans);color:var(--ink2);letter-spacing:0}
.head .motif{font-weight:600;color:var(--ink)}
/* plus de capitales espacées ni de « machine à écrire » pour les petits libellés */
.sec2,.exg-h,.letter,.grp,.lab2,.ex-h,.tgrp,.hs-g,.k,.mv-cur span,.stats small,.jr2 .d small{text-transform:none!important;letter-spacing:0!important;font-family:var(--sans)!important}
.sec2,.exg-h,.grp,.lab2,.tgrp,.hs-g{font-size:13.5px!important;font-weight:700!important;color:var(--ink2)!important}

/* ---------- Boutons : plein, doux, texte ---------- */
.btn{background:var(--act);color:var(--on-acc);border-radius:var(--r1);font-weight:700;letter-spacing:0;box-shadow:none;min-height:48px}
.btn.out{background:var(--act-soft);color:var(--act);box-shadow:none}
.btn.red{background:var(--red-bg);color:var(--red)}
.btn:active,.pill:active,.rbtn:active,.acts button:active,.tsel button:active,.exs-a button:active,.exd-a button:active,.play:active,.dayplay:active{transform:scale(.97)}
.btn,.pill,.rbtn,.acts button,.exs-a button,.exd-a button,.chips button,.where button,.big3 button,.nums button,.seg button{transition:transform .12s ease,background-color .15s ease,color .15s ease,box-shadow .15s ease}
.link{text-decoration:none;color:var(--act);font-weight:650}
.link.red{color:var(--red)}
.pill{background:var(--act-soft);color:var(--act);border:0;border-radius:999px;font-weight:700;box-shadow:none}
.pill.due{background:var(--amber-s);color:var(--amber)}
.rbtn{background:var(--act-soft);color:var(--act);box-shadow:none}
.iconb{color:var(--ink)}
.acts button{background:var(--act-soft);color:var(--act);box-shadow:none;border-radius:var(--r1);font-weight:700}
.acts button.main{background:var(--act);color:var(--on-acc)}
.acts button.red{background:var(--red-bg);color:var(--red)}
.exs-a button{background:var(--act-soft);color:var(--act);border-radius:var(--r1)}
.exs-a button.main{background:var(--act);color:var(--on-acc)}
.exd-a button{background:var(--act-soft);color:var(--act);border-radius:var(--r1)}
.exd-a button.red{background:var(--red-bg);color:var(--red)}
.datebtn,.chip-d{background:var(--card);color:var(--ink);box-shadow:var(--shadow);border:0;border-radius:999px;font-weight:700}

/* ---------- Cartes : blanches, arrondies, sans icône décorative ---------- */
.card2,.acc,.pain,.pain2,.plan,.notes-card,.motif-l,.margin,.todo2,.tcard,.exbig,.lst2,.stats button,.jr2,.prow-card{border-radius:var(--r2)}
.card2,.acc,.pain,.pain2,.plan,.notes-card,.todo2,.lst2,.jr2{background:var(--card);box-shadow:var(--shadow);border:0}
.c2h .aic,.acc-h .aic,.ic.aic{display:none!important}
.c2h .c2t .t,.acc-h .t{font:700 16.5px var(--sans)!important;color:var(--ink)!important;font-style:normal!important}
.c2h .c2t .t small,.acc-h .s{font:500 13px var(--sans)!important;color:var(--ink2)!important}
.acc-h .s.red{color:var(--amber)!important}
.acc-h{background:var(--card)}
.chartbox{background:transparent!important;box-shadow:none!important;border:0!important;padding-left:0!important;padding-right:0!important}

/* ---------- Choix : segments, pastilles, échelle EN ---------- */
.seg{background:color-mix(in srgb,var(--ink) 7%,var(--paper));border-radius:13px;padding:3px}
.seg button{border-radius:10px;font-weight:650;color:var(--ink2)}
.seg button.on{background:var(--card);color:var(--ink);box-shadow:0 1px 3px rgba(26,36,51,.12);font-weight:750}
.seg3 button.on small{background:var(--act-soft);color:var(--act)}
.chips button,.where button{background:var(--field);border:0;color:var(--ink);border-radius:999px;font-weight:650;min-height:38px}
.chips button.on,.where button.on{background:var(--act);color:var(--on-acc)}
.big3 button{background:var(--field);border:0;border-radius:var(--r1);color:var(--ink);font-weight:700}
.big3 button.c-ok.on{background:var(--green);color:#fff}
.big3 button.c-pain.on{background:var(--amber);color:#fff}
.big3 button.c-no.on{background:var(--ink2);color:#fff}
.nums,.pain .nums,.smt-en .nums,.mk .nums,.ensh .nums{display:grid;grid-template-columns:repeat(11,1fr);gap:4px;border:0!important;margin-top:4px}
.nums button,.pain .nums button,.smt-en .nums button,.mk .nums button{height:38px;border-radius:10px;background:var(--field);color:var(--ink);font:700 14px var(--sans)}
.nums button.on,.pain .nums button.on,.smt-en .nums button.on,.mk .nums button.on{background:var(--act);color:var(--on-acc)}
.nums button.pv{box-shadow:inset 0 0 0 2px var(--soft2)}
.ensh .nums{grid-template-columns:repeat(6,1fr);gap:8px}
.ensh .nums button{height:54px;border-radius:var(--r1);font-size:20px}
.smt-en .nums button{height:34px;font-size:13px}
.words{display:flex;gap:6px;border:0;margin-top:8px}
.words button{flex:1;height:36px;border-radius:999px;background:var(--field);color:var(--ink);font-weight:650;text-decoration:none!important}
.words button.on{background:var(--act);color:var(--on-acc)}
.tw{gap:6px;align-items:center}
.tw .lab{font-weight:700;color:var(--ink2);padding:0 4px 0 0;min-width:120px}
.tw button{border:0;border-radius:999px;background:var(--field);color:var(--ink);font-weight:650;padding:0 13px;min-height:36px}
.tw button.on{background:var(--act);color:var(--on-acc)}
.tw button.on.g{background:var(--green);color:#fff}
.tw button.on.r{background:var(--red);color:#fff}

/* ---------- États ---------- */
.stb.none{border:2px solid var(--rule2)}
.stb.ok{background:var(--green)}
.stb.pain{background:var(--amber)}
.stb.no{background:var(--ink3);color:#fff}
.margin{border-left:4px solid var(--amber)!important;background:var(--card);box-shadow:var(--shadow)}
.margin .bul{color:var(--amber)!important}
.margin .ttl{font:700 16px var(--sans)!important}
.td-more .dot{background:var(--amber)}
.rp-in{border-left-color:var(--amber)}

/* ---------- Données : chiffres lisibles, pas de machine à écrire ---------- */
.exr .l .ds,.pr2 .ds,.ex-sum .mono,.hs-e span,.exd-d b{font-family:var(--sans)!important;font-weight:700;color:var(--ink)!important}
.stats button{background:var(--card);box-shadow:var(--shadow);border:0}
.stats small{font:600 12px var(--sans)!important;color:var(--ink2)!important}
.stats b{font:750 21px var(--sans)!important;letter-spacing:-.01em;color:var(--ink)!important}
.stats button:nth-child(1){background:linear-gradient(160deg,color-mix(in srgb,#E2584A 13%,var(--card)),var(--card) 72%)}
.stats button:nth-child(2){background:linear-gradient(160deg,color-mix(in srgb,#4A6FD0 13%,var(--card)),var(--card) 72%)}
.stats button:nth-child(3){background:linear-gradient(160deg,color-mix(in srgb,#2E8B57 14%,var(--card)),var(--card) 72%)}
.stats button:nth-child(4){background:linear-gradient(160deg,color-mix(in srgb,#C98A12 13%,var(--card)),var(--card) 72%)}

/* ---------- Fenêtres ---------- */
.ov{background:rgba(18,24,34,.38)}
.sheet{border-radius:26px 26px 0 0;background:var(--sheet);box-shadow:0 -10px 40px rgba(26,36,51,.18);animation:rise2 .32s cubic-bezier(.2,1.1,.3,1)}
@keyframes rise2{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
.sh-h{background:var(--sheet)!important;border:0!important;padding:18px 14px 6px 20px!important}
.sh-h::before{content:"";position:absolute;left:50%;top:7px;width:38px;height:5px;margin-left:-19px;border-radius:3px;background:var(--rule2)}
.sh-h h2{font:750 21px var(--sans)!important;letter-spacing:-.015em;color:var(--ink)}
.toast{background:var(--ink);color:var(--paper);border-radius:var(--r1);font-weight:600;box-shadow:var(--shadow2)}
.toast button{text-decoration:none;background:color-mix(in srgb,var(--paper) 16%,transparent);padding:6px 10px;border-radius:10px}
@media (prefers-reduced-motion:reduce){.sheet{animation:none}*{transition:none!important}}

/* ---------- Barre du bas (séance) ---------- */
.vb-mic{background:var(--act)!important;color:var(--on-acc)!important;box-shadow:0 8px 20px color-mix(in srgb,var(--act) 35%,transparent)!important}
.vb-mic.on{background:var(--red)!important;color:#fff!important}
.vb-ok{background:var(--ink)!important;color:var(--paper)!important}
.vb-plus{background:var(--card)!important;color:var(--ink)!important;box-shadow:var(--shadow)!important}

/* =================== Écrans =================== */
/* Initiales colorées selon le type de séance prévu : la couleur dit quelque chose */
.av2{width:56px;height:56px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font:750 19px var(--sans);letter-spacing:.01em}
.av2.sm{width:40px;height:40px;font-size:14px}
.av2.t-bilan{background:var(--t-bilan-s);color:var(--t-bilan)}
.av2.t-maj{background:var(--t-maj-s);color:var(--t-maj)}
.av2.t-suivi,.av2.t-transition{background:var(--t-suivi-s);color:var(--t-suivi)}

/* Accueil */
.mm2 .date{font:600 14px var(--sans);color:var(--ink2);margin:8px 4px 0}
.mm2 .hello{font:750 31px/1.1 var(--sans);letter-spacing:-.022em;margin:2px 4px 16px}
.lst2 .hr .ic{display:none}
.lst2 .hr{min-height:56px;padding:10px 16px}
.lst2 .hr .l b{font-weight:650;font-size:16px}
.hr2 .l b{font-weight:700;font-size:16px}
.hr2 .play{background:var(--act);color:var(--on-acc)}
.lst2{overflow:hidden}

/* Liste des patients */
.row .mini{display:none}
.row .nm{font:700 16.5px var(--sans)!important;letter-spacing:-.005em}
.row .mt{font-size:13.5px}
.row .rt{font:600 12.5px var(--sans)!important;color:var(--ink3)!important}
.row .rt b{font:750 16px var(--sans)!important;color:var(--ink)!important}
.row .tick{background:var(--amber)!important;left:4px;width:3px;border-radius:2px}
.letter{font:750 13px var(--sans)!important;color:var(--ink2)!important}

/* Fiche : en-tête compact avec initiales */
.ph-head{display:flex;align-items:center;gap:14px;padding-top:10px}
.ph-t{min-width:0}
.ph-head .h1{font-size:27px;line-height:1.1}
.ph-head .motif{font-size:15px;margin-top:2px;font-weight:600}
.ph-head .meta{font-size:13px;margin-top:2px;color:var(--ink3)}

/* Lettre de programme : carré arrondi, plein selon la difficulté */
.gl{border:0!important;border-radius:8px;background:var(--act-soft);color:var(--act);font:800 13px var(--sans)!important}
.gl.f{background:var(--act);color:var(--on-acc)}
.gl.h{background:color-mix(in srgb,var(--act) 55%,var(--card));color:#fff}
.gl.h span{background:none;padding:0;color:inherit}
.gl.n{background:var(--field);color:var(--ink3)}
.pr2 .tg,.pr2 .mvh{display:none!important}
.pr2 .nm{font-weight:650}

/* Séance : types plus compacts, couleurs du thème */
.tsel{gap:8px;margin-bottom:12px}
.tsel button{min-height:64px;border-radius:18px;gap:4px}
.tsel .ic{width:30px;height:30px}
.tsel .ic svg{width:17px;height:17px}
.tsel .ts-bilan{--c:var(--t-bilan);--cs:var(--t-bilan-s)}
.tsel .ts-maj{--c:var(--t-maj);--cs:var(--t-maj-s)}
.tsel .ts-suivi{--c:var(--t-suivi);--cs:var(--t-suivi-s)}
.tsel button.on{color:#fff}
.tsel button.on .ic{color:#fff}
.enb{background:var(--act);color:var(--on-acc);border-radius:13px}
.enb.empty{border:0;background:var(--act-soft);color:var(--act);font-weight:750}
.prow .ic{background:var(--red-bg);color:var(--red)}
.pain.q2 .tw{flex-wrap:wrap}
.pain.q2 .tw .lab{flex-basis:100%;min-width:0;padding:6px 0 2px}
.plan-l{border:0!important;text-decoration:none!important;color:var(--act)!important;font-weight:650}
.mk-set{background:var(--paper2)}
.exg-h{padding-top:12px}

/* Volets fermés : une seule carte, une ligne par volet */
.volgrp{margin:12px 12px 0;background:var(--card);border-radius:var(--r2);box-shadow:var(--shadow);overflow:hidden}
.volgrp .swp+.swp .acc{border-top:1px solid var(--rule)}
.volgrp .acc{margin:0!important;box-shadow:none!important;border-radius:0!important}
.volgrp .acc-h{min-height:54px}
.volgrp .swp .swc{background:var(--card)}

/* Onglet Séances : cartes plus légères */
.jr2 .tp{border-radius:999px}
.jr2 .ch i{background:var(--field);color:var(--ink2);font-style:normal}
.jr2 .x{-webkit-line-clamp:1}

/* Petites aides et notes */
.note-s{color:var(--ink2)}
.vhint,.vfeed{display:none}
.exd .chips{margin-left:0!important;margin-right:0!important;padding:0!important}
.rp-in{padding:12px 12px 12px 14px}
.rp-in .l b{font-size:15px;font-weight:700}
.todo2{margin-bottom:10px}
.ss .ss-head{padding-bottom:10px}

/* Étiquettes à choisir (programme, objectifs) */
.tags2 .tg2{border:0!important;background:var(--field)!important;color:var(--ink)!important;border-radius:999px!important;font-weight:650}
.tags2 .tg2.on{background:var(--act)!important;color:var(--on-acc)!important}
.tags2 .tg2.dash{background:transparent!important;box-shadow:inset 0 0 0 1.5px var(--rule2)}
.chk button .bx{border-radius:7px}
.theme-card{margin:12px 12px 0}.theme-card .c2b{padding:0 14px 14px}

/* =================== Accueil épuré =================== */
.hm{background:linear-gradient(180deg,var(--tint) 0,var(--paper) 55vh)}
.hm-in{padding:0 20px;min-height:calc(100dvh - 70px - var(--top));display:flex;flex-direction:column;justify-content:center;padding-bottom:12vh;transition:padding .25s ease}
.hm-in.typing{justify-content:flex-start;padding-top:10px;padding-bottom:20px}
.hm-hi{text-align:center;margin-bottom:22px}
.hm-hi .date{font:600 14.5px var(--sans);color:var(--ink2)}
.hm-hi .hello{font:750 34px/1.1 var(--sans);letter-spacing:-.025em;margin-top:4px}
.hm-search{display:flex;align-items:center;gap:10px;height:58px;padding:0 16px;border-radius:20px;background:var(--card);box-shadow:var(--shadow2);color:var(--ink3)}
.hm-search input{flex:1;min-width:0;border:0;background:transparent;font:600 17px var(--sans);color:var(--ink);outline:none;-webkit-appearance:none}
.hm-search input::placeholder{color:var(--ink3);font-weight:500}
.hm-search input::-webkit-search-cancel-button{display:none}
.hm-search button{width:30px;height:30px;border-radius:50%;background:var(--field);color:var(--ink2);display:flex;align-items:center;justify-content:center}
.hm-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}
.hm-tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 6px 14px;border-radius:20px;background:color-mix(in srgb,var(--card) 70%,transparent);box-shadow:var(--shadow);text-align:center;transition:transform .12s ease}
.hm-tile:active{transform:scale(.96)}
.hm-tile .hm-ic{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--act-soft);color:var(--act);margin-bottom:4px}
.hm-tile:nth-child(1) .hm-ic{background:var(--t-suivi-s);color:var(--t-suivi)}
.hm-tile:nth-child(2) .hm-ic{background:var(--t-bilan-s);color:var(--t-bilan)}
.hm-tile b{font:700 15px var(--sans)}
.hm-tile small{font:500 12.5px var(--sans);color:var(--ink2)}
.hm-badge{position:absolute;top:10px;right:14px;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--amber);color:#fff;font:700 11.5px/20px var(--sans);font-style:normal}
.hm-res{margin-top:14px;background:var(--card);border-radius:20px;box-shadow:var(--shadow);overflow:hidden;animation:fadeup .18s ease}
@keyframes fadeup{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.hm-row{display:flex;align-items:center;gap:10px;padding:10px 14px;border-top:1px solid var(--rule)}
.hm-row:first-child{border-top:0}
.hm-row .m{flex:1;min-width:0;display:flex;align-items:center;gap:12px;text-align:left}
.hm-row .l{min-width:0}
.hm-row .l b{display:block;font:700 16px var(--sans)}
.hm-row .l small{display:block;font:500 13px var(--sans);color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hm-row .play{width:40px;height:40px;border-radius:50%;background:var(--act);color:var(--on-acc);display:flex;align-items:center;justify-content:center;flex:none}
.hm-row .play.done{background:var(--act-soft);color:var(--act)}
.hm-empty{padding:18px;text-align:center;color:var(--ink2);font-weight:500;display:flex;flex-direction:column;align-items:center;gap:6px}
/* Choix du programme (nouvel exercice) */
.ex-progs{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}
.ex-progs button{border:0!important;background:var(--field)!important;border-radius:var(--r1)!important;min-height:60px}
.ex-progs button b{font:800 17px var(--sans)!important;color:var(--ink)}
.ex-progs button span{font:600 11.5px var(--sans);color:var(--ink2)}
.ex-progs button.on{background:var(--act)!important}
.ex-progs button.on b,.ex-progs button.on span{color:var(--on-acc)!important}
.ex-progs.pst{margin:0 20px 4px}
.ex-to .lb{font:700 13.5px var(--sans)!important;color:var(--ink2)!important}
/* Séances à venir */
.jl-h{font:700 13.5px var(--sans);color:var(--ink2);margin:16px 16px 6px}
.jr2 .tp.fut{background:var(--act-soft)!important;color:var(--act)!important;margin-left:6px}
.jr2.fut{background:color-mix(in srgb,var(--act) 5%,var(--card))!important;box-shadow:inset 0 0 0 1.5px var(--act-soft),var(--shadow)!important}
.chip-d.fut{background:var(--act);color:var(--on-acc)}
