:root{
  --v5-bg:#06111f;
  --v5-surface:#101e30;
  --v5-surface-2:#12253a;
  --v5-card:#0b1726;
  --v5-card-soft:#0f1d2e;
  --v5-border:#263b53;
  --v5-text:#f3f7fb;
  --v5-muted:#9aacc1;
  --v5-mint:#69e6c7;
  --v5-blue:#6ec9fa;
  --v5-orange:#ffc47c;
  --v5-violet:#b69aff;
  --v5-pink:#ff8ca0;
  --v5-gold:#e7be61;
}

body.v5{
  background:
    radial-gradient(circle at 50% -18%,rgba(55,102,151,.16),transparent 34%),
    linear-gradient(180deg,#071322 0%,#06111f 55%,#050e1a 100%);
  color:var(--v5-text);
  padding-bottom:118px;
}
.v5-hidden{display:none!important}
.v5 .v5-legacy{display:none}
.v5 .v5-workout-legacy.v5-show-legacy,.v5 .v5-progress-legacy.v5-show-legacy{display:block}
.v5-workout-mode .v5-workout-shell{display:none}
.v5-workout-mode .v5-workout-legacy{display:block!important}

.v5 header{
  background:rgba(6,17,31,.93);
  border-bottom:1px solid #203044;
  backdrop-filter:blur(20px) saturate(135%);
  -webkit-backdrop-filter:blur(20px) saturate(135%);
}
.v5 .header-inner{max-width:760px;padding:12px 18px}
.v5 header .brand{display:flex;align-items:center;gap:12px}
.v5 header .brand img{width:46px;height:46px;border-radius:14px;box-shadow:0 8px 25px rgba(0,0,0,.36),0 0 0 1px rgba(255,255,255,.06)}
.v5 header .brand span{display:grid}
.v5 header .brand strong{font-size:22px;line-height:1.1;letter-spacing:-.02em}
.v5 header .brand small{font-size:11px;letter-spacing:.16em;font-weight:800;color:var(--v5-muted);margin-top:4px}
.v5 #settingsShortcut{background:transparent;border:0;color:var(--v5-muted);font-size:24px}

.v5 main{max-width:760px;padding:20px 14px 12px;margin-inline:auto}
.v5-card{
  background:linear-gradient(180deg,rgba(18,34,56,.97),rgba(13,26,43,.97));
  border:1px solid var(--v5-border);
  border-radius:28px;
  padding:24px;
  margin:0 0 18px;
  box-shadow:0 18px 50px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.018);
}
.v5-card h1{font-size:34px;margin:8px 0 4px;letter-spacing:-.03em}
.v5-card h2{font-size:24px;margin:6px 0;letter-spacing:-.02em}
.v5-card h3{font-size:16px;margin:18px 0 10px}
.v5-eyebrow{color:var(--v5-mint);font-size:13px;letter-spacing:.15em;font-weight:900}
.v5-muted{color:var(--v5-muted);margin:5px 0;line-height:1.48}
.v5-source-note{font-size:13px;margin-top:14px}
.v5-chip,.v5-source{display:inline-flex;align-items:center;padding:8px 13px;border-radius:999px;border:1px solid rgba(105,230,199,.36);background:rgba(105,230,199,.08);font-weight:800;letter-spacing:.01em;white-space:nowrap}
.v5-title-row{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}

.mint{color:var(--v5-mint)!important}.blue{color:var(--v5-blue)!important}.orange{color:var(--v5-orange)!important}.violet{color:var(--v5-violet)!important}.pink{color:var(--v5-pink)!important}.gold{color:var(--v5-gold)!important}

.v5-dashboard .v5-eyebrow{display:flex;justify-content:space-between;align-items:center;gap:12px}
.v5-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}
.v5-dashboard-grid article,.v5-macro-grid>div,.v5-body-grid>div{
  background:linear-gradient(155deg,#0a1726,#081321);
  border:1px solid #28405a;
  border-radius:22px;
  padding:18px;
}
.v5-dashboard-grid span,.v5-macro-grid span,.v5-body-grid span,.v5-three-stats span,.v5-sport-grid span{color:var(--v5-muted);display:block}
.v5-dashboard-grid strong{display:block;font-size:30px;margin:10px 0 6px}
.v5-dashboard-grid small,.v5-macro-grid small,.v5-body-grid small{color:var(--v5-muted)}
.v5-progress{height:7px;background:#25364b;border-radius:999px;overflow:hidden;margin-top:14px}
.v5-progress i{display:block;height:100%;border-radius:inherit;background:var(--v5-mint);box-shadow:0 0 12px rgba(105,230,199,.22)}
.v5-progress.orange i{background:var(--v5-orange)}.v5-progress.blue i{background:var(--v5-blue)}.v5-progress.violet i{background:var(--v5-violet)}.v5-progress.pink i{background:var(--v5-pink)}
.v5-triple{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin:20px 0}
.v5-triple button{background:#091523;color:var(--v5-text);border:1px solid #28405a;border-radius:19px;padding:14px;text-align:left}
.v5-triple span{display:block;color:var(--v5-muted);font-size:13px}
.v5-triple strong{display:block;font-size:22px;margin-top:8px}

.v5-primary,.v5-secondary,.v5-mini-action{appearance:none;border-radius:18px;font:inherit;font-weight:850;cursor:pointer;transition:transform .14s ease,filter .14s ease,border-color .14s ease}
.v5-primary:active,.v5-secondary:active,.v5-mini-action:active{transform:scale(.985)}
.v5-primary{width:100%;padding:17px;border:0;background:linear-gradient(135deg,#77ead1,#56d0c2);color:#05202a;font-size:18px;box-shadow:0 10px 25px rgba(55,197,173,.14)}
.v5-secondary{padding:12px 16px;background:#14263a;border:1px solid #35506a;color:var(--v5-text)}
.v5-next .v5-secondary{margin-top:16px}
.v5-tags{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}
.v5-tags span{padding:9px 12px;border:1px solid #49566d;border-radius:999px;color:var(--v5-orange);background:rgba(255,196,124,.08);font-weight:800}

.v5-session-list{display:grid;gap:14px;margin-bottom:18px}
.v5-session-card{display:flex;width:100%;text-align:left;background:linear-gradient(150deg,#101d2d,#0b1726);border:1px solid #29415b;border-radius:28px;padding:22px;color:var(--v5-text);gap:18px}
.v5-session-card.recommended{border-color:#3b8e78;background:linear-gradient(150deg,#10302e,#0c2427);box-shadow:inset 0 0 0 1px rgba(105,230,199,.05)}
.v5-session-card>b{width:52px;height:52px;flex:0 0 52px;border-radius:16px;display:grid;place-items:center;background:rgba(255,255,255,.08);font-size:32px}
.v5-session-card>span{display:grid;gap:7px}
.v5-session-card strong{font-size:23px}
.v5-session-card small{font-size:15px;color:var(--v5-muted)}
.v5-session-card em{font-style:normal;font-weight:850;color:var(--v5-mint);margin-top:12px}
.v5-session-card i{font-style:normal;color:var(--v5-muted);font-size:12px}

.v5-tabs{display:flex;gap:8px;overflow:auto;padding:0 4px 18px;scrollbar-width:none}
.v5-tabs::-webkit-scrollbar{display:none}
.v5-tabs button{white-space:nowrap;border:1px solid #2b4058;border-radius:999px;padding:12px 18px;background:#0e1b2a;color:var(--v5-muted);font:inherit}
.v5-tabs button.active{background:#163d39;border-color:#55d4b6;color:var(--v5-mint);font-weight:850}
.v5-workout-tabs{margin-top:-3px}

.v5-cal-main{display:flex;align-items:baseline;gap:8px;margin:22px 0 10px;flex-wrap:wrap}
.v5-cal-main>strong{font-size:44px}
.v5-cal-main>span{font-size:24px;color:var(--v5-muted)}
.v5-cal-main>b{margin-left:auto;color:var(--v5-mint)}
.v5-macro-grid,.v5-body-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}
.v5-macro-grid strong,.v5-body-grid strong{display:block;font-size:25px;margin:8px 0}
.v5-meals,.v5-three-stats,.v5-sport-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}
.v5-meals span{color:var(--v5-muted)}.v5-meals b{display:block;color:var(--v5-text);margin-top:5px}
.v5-water-line{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:22px}
.v5-water-line strong{font-size:30px}
.v5-three-stats strong,.v5-sport-grid strong{display:block;font-size:21px;margin-top:6px}
.v5-manual-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.v5-mini-action{padding:13px;background:#13283b;color:var(--v5-text);border:1px solid #304b64}

.v5-sleep-main{display:flex;align-items:baseline;gap:12px;margin:22px 0 14px}.v5-sleep-main strong{font-size:42px}.v5-sleep-main span{color:var(--v5-muted)}
.v5-sleep-phases{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.v5-sleep-phases>div{background:#091523;border:1px solid #28405a;border-radius:16px;padding:12px}.v5-sleep-phases span{display:block;color:var(--v5-muted);font-size:12px}.v5-sleep-phases b{display:block;margin-top:7px;font-size:15px}

.v5-spark{color:var(--v5-mint);min-height:150px}.v5-spark svg{width:100%;height:150px}.v5-spark svg .mint{color:var(--v5-mint)}
.v5-bars{height:150px;display:grid;grid-template-columns:repeat(7,1fr);gap:8px;align-items:end;padding-top:12px}
.v5-bars>div{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px}
.v5-bars i{width:min(30px,70%);min-height:4px;border-radius:8px 8px 3px 3px;background:currentColor;box-shadow:0 0 15px rgba(255,196,124,.1)}
.v5-bars i.orange{background:var(--v5-orange)}.v5-bars i.blue{background:var(--v5-blue)}.v5-bars i.mint{background:var(--v5-mint)}.v5-bars i.violet{background:var(--v5-violet)}
.v5-bars span{font-size:11px;color:var(--v5-muted);text-transform:capitalize}

.v5-details{padding:0;overflow:hidden}
.v5-details summary{list-style:none;cursor:pointer;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.v5-details summary::-webkit-details-marker{display:none}
.v5-details summary span{display:grid;gap:4px}.v5-details summary small{color:var(--v5-muted)}.v5-details summary b{color:var(--v5-mint);font-size:13px}
.v5-details[open] summary{border-bottom:1px solid var(--v5-border)}
.v5-details-body{padding:4px 24px 24px}

.v5-photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.v5-photo-pair figure{margin:0;border:1px solid #2b4058;border-radius:20px;overflow:hidden;background:#091523}
.v5-photo-pair img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block}
.v5-photo-pair figcaption{padding:10px;color:var(--v5-muted)}
.v5-photo-empty,.v5-empty{grid-column:1/-1;padding:28px;border:1px dashed #35506a;border-radius:18px;color:var(--v5-muted);text-align:center}
.v5-back{margin-bottom:14px}

/* Coup d’œil CCPM dans Progrès */
.v565-ccpm-panel{border-color:rgba(231,190,97,.34);background:linear-gradient(155deg,rgba(32,37,48,.98),rgba(15,28,43,.98))}
.v565-ccpm-status{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;border:1px solid rgba(255,196,124,.4);background:rgba(255,196,124,.09);color:var(--v5-orange);font-size:12px;font-weight:850;white-space:nowrap}
.v565-ccpm-status.ok{border-color:rgba(105,230,199,.4);background:rgba(105,230,199,.09);color:var(--v5-mint)}
.v565-ccpm-status.warning{border-color:rgba(255,140,160,.42);background:rgba(255,140,160,.09);color:var(--v5-pink)}
.v565-ccpm-summary{display:grid;grid-template-columns:minmax(135px,.7fr) minmax(0,1.8fr);gap:12px;margin-top:18px}
.v565-ccpm-summary>div:first-child,.v565-ccpm-metrics>div{background:#091523;border:1px solid #30465f;border-radius:18px;padding:14px}
.v565-ccpm-summary span,.v565-ccpm-summary small,.v565-ccpm-priority span,.v565-ccpm-priority small{display:block;color:var(--v5-muted)}
.v565-ccpm-summary>div:first-child strong{display:block;color:var(--v5-gold);font-size:28px;margin:9px 0 5px}
.v565-ccpm-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.v565-ccpm-metrics>div{padding:12px;min-width:0}
.v565-ccpm-metrics span{font-size:13px}.v565-ccpm-metrics span small{font-size:11px;margin-top:2px}
.v565-ccpm-metrics strong{display:block;font-size:20px;margin:9px 0 4px}.v565-ccpm-metrics b{font-size:12px;color:var(--v5-mint)}
.v565-ccpm-priority{margin-top:12px;padding:13px 14px;border-radius:16px;background:rgba(231,190,97,.075);border:1px solid rgba(231,190,97,.2)}
.v565-ccpm-priority strong{display:block;margin:4px 0;color:var(--v5-gold)}
.v565-ccpm-action{width:100%;margin-top:12px}

/* Catalogue Machines 5.0 */
.v5-machine-tools{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:20px}
.v5-machine-tools input{min-width:0;background:#081522;color:var(--v5-text);border:1px solid #2c435c;border-radius:16px;padding:13px 15px;font:inherit;outline:none}
.v5-machine-tools input:focus{border-color:#53cdb3;box-shadow:0 0 0 3px rgba(105,230,199,.08)}
.v5-machine-filters{padding:14px 0 0}
.v5-machine-grid{display:grid;gap:12px;margin-bottom:20px}
.v5-machine-card{width:100%;display:grid;grid-template-columns:150px 1fr;gap:0;padding:0;text-align:left;border:1px solid #29415b;border-radius:24px;overflow:hidden;background:linear-gradient(145deg,#0e1d2e,#091624);color:var(--v5-text)}
.v5-machine-card img{width:150px;height:100%;min-height:150px;object-fit:cover;background:#101b28}
.v5-machine-copy{display:grid;align-content:center;gap:7px;padding:16px 18px}
.v5-machine-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.v5-machine-top strong{font-size:20px}.v5-machine-top i{font-style:normal;font-size:12px;font-weight:900;border-radius:999px;padding:5px 8px;background:rgba(255,255,255,.06)}
.v5-machine-copy>small{color:var(--v5-muted);font-size:14px}
.v5-machine-meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:2px}.v5-machine-meta b{font-size:15px;color:var(--v5-mint)}.v5-machine-meta em{font-style:normal;color:var(--v5-muted);font-size:12px}
.v5-photo-status{font-size:11px;color:var(--v5-blue);font-weight:800}.v5-photo-status.personal{color:var(--v5-mint)}

/* Fiche machine : visuel Technogym par défaut remplacé par la photo locale */
.v5 .machine-library-sheet,.v5 .machine-guide-sheet{background:linear-gradient(180deg,#102034,#0a1625);border-color:#2c435d;border-radius:28px}
.v5 .machine-library-sheet{max-height:min(91vh,900px);overflow:auto}
.v5 .machine-library-grid{grid-template-columns:1fr 1fr}
.v5 .machine-library-button{border-radius:18px;background:#0b1827;border:1px solid #29415b;color:var(--v5-text);min-height:88px}
.v5 .machine-library-button small{color:var(--v5-muted)}
.machine-guide-photo-hero{position:relative;margin:14px 0 12px;border-radius:22px;overflow:hidden;border:1px solid #304b65;background:#081421;min-height:220px}
.machine-guide-photo-hero img{width:100%;height:280px;object-fit:cover;display:block}
.machine-guide-photo-hero span{position:absolute;right:12px;bottom:12px;border:1px solid rgba(255,255,255,.22);background:rgba(4,13,22,.8);backdrop-filter:blur(12px);color:#f4f7fb;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800}
.v5 .machine-guide-personal-photo{display:none!important}
.v5 .machine-guide-photo-empty{min-height:auto;display:block;border:0;background:transparent;padding:0;text-align:left;color:var(--v5-muted)}
.v5 .machine-guide-photo-empty span{display:none}.v5 .machine-guide-photo-empty p{margin:0 0 8px;font-size:13px}
.v5 .machine-guide-photo-actions{grid-template-columns:1fr auto}.v5 #machineGuidePhotoButton{background:#143b38;border-color:#47bca5;color:var(--v5-mint)}
.v5 .machine-guide-kicker{color:var(--v5-mint)}
.v5 .machine-guide-aliases span,.v5 .machine-guide-muscles div span{border-color:rgba(105,230,199,.24);background:rgba(105,230,199,.07)}

/* Pendant une séance : lisibilité renforcée sans changer le contenu */
.v5-workout-mode #workout{padding-bottom:24px}
.v5-workout-mode .v5-workout-legacy>.v5-back{position:sticky;top:78px;z-index:15;width:100%;backdrop-filter:blur(14px);background:rgba(15,34,53,.94)}
.v5-workout-mode .workout-card,.v5-workout-mode .exercise-card,.v5-workout-mode .card{border-radius:22px;border-color:#29415b}
.v5-workout-mode .guided-exercise-card,.v5-workout-mode .exercise-card{box-shadow:0 15px 35px rgba(0,0,0,.12)}
.v5-workout-mode button.primary{min-height:48px;border-radius:16px}

/* CCPM harmonisé */
.v5 #ccpm>.v5-ccpm-intro{margin-bottom:18px}
.v5 #ccpm>.card{border-radius:26px;border-color:#29415b;background:#101e30}

/* Modale fatigue/douleur */
.v5-modal{position:fixed;inset:0;background:rgba(1,8,15,.72);z-index:9999;display:grid;place-items:end center;padding:18px}
.v5-modal.hidden{display:none}
.v5-modal-sheet{width:min(100%,560px);background:#102034;border:1px solid #35506a;border-radius:28px;padding:24px;position:relative}
.v5-modal-sheet label{display:grid;gap:7px;margin:16px 0;color:var(--v5-muted)}
.v5-modal-sheet input{background:#081421;border:1px solid #35506a;color:var(--v5-text);border-radius:14px;padding:14px;font-size:18px}
.v5-modal-x{position:absolute;right:18px;top:15px;border:0;background:transparent;color:var(--v5-muted);font-size:28px}

/* Navigation iPhone */
.v5 nav{max-width:760px;left:50%;transform:translateX(-50%);right:auto;width:calc(100% - 24px);bottom:10px;border:1px solid #29415b;border-radius:28px;background:rgba(14,28,44,.96);padding:8px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 16px 42px rgba(0,0,0,.38)}
.v5 nav button{border-radius:22px;padding:11px 5px;color:var(--v5-muted)}
.v5 nav button.active{background:#17423d;color:var(--v5-mint)}
.v5 nav .nav-icon{font-size:23px}.v5 nav button span:last-child{font-size:12px}

/* Saisies automatiques retirées de l'interface 5.0 */
.v5 .progression-weight-entry,.v5 .nutrition-manual-details,.v5 .sleep-manual-row,.v5 .hydration-actions,
.v5 #quickWeightInput,.v5 #saveQuickWeight,.v5 #progressWeightInput,.v5 #saveProgressWeight{display:none!important}

@media(max-width:620px){
  .v5 .machine-library-grid{grid-template-columns:1fr}
  .machine-guide-photo-hero img{height:235px}
}
@media(max-width:520px){
  .v5 main{padding:16px 12px}.v5-card{padding:20px;border-radius:25px}.v5-card h1{font-size:31px}
  .v5-dashboard-grid{gap:10px}.v5-dashboard-grid article{padding:15px}.v5-dashboard-grid strong{font-size:27px}
  .v5-cal-main>strong{font-size:40px}.v5-body-grid,.v5-macro-grid{gap:10px}.v5-body-grid>div,.v5-macro-grid>div{padding:15px}
  .v5-meals,.v5-three-stats,.v5-sport-grid{grid-template-columns:1fr 1fr 1fr}.v5-water-line{grid-template-columns:1fr}.v5-photo-pair{grid-template-columns:1fr 1fr}
  .v5-session-card{padding:18px}.v5-session-card strong{font-size:21px}
  .v5-sleep-phases{grid-template-columns:1fr 1fr}.v5-manual-row{grid-template-columns:1fr}
  .v5-machine-tools{grid-template-columns:1fr}.v5-machine-tools .v5-secondary{width:100%}
  .v5-machine-card{grid-template-columns:116px 1fr;border-radius:21px}.v5-machine-card img{width:116px;min-height:145px}.v5-machine-copy{padding:14px}.v5-machine-top strong{font-size:18px}
  .v565-ccpm-summary{grid-template-columns:1fr}.v565-ccpm-metrics{grid-template-columns:repeat(3,1fr)}
  .v5-title-row{align-items:flex-start}.v5-chip,.v5-source{font-size:12px;padding:7px 10px}
}
@media(max-width:390px){
  .v565-ccpm-metrics{grid-template-columns:1fr}.v565-ccpm-metrics>div{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:10px}.v565-ccpm-metrics strong{grid-column:2;grid-row:1;margin:0}.v565-ccpm-metrics b{grid-column:1/-1;margin-top:4px}
}
@media(max-width:390px){
  .v5 .header-inner{padding-inline:13px}.v5 header .brand img{width:42px;height:42px}.v5 header .brand strong{font-size:20px}.v5 header .brand small{font-size:10px}
  .v5-triple{grid-template-columns:1fr 1fr}.v5-triple button:first-child{grid-column:1/-1}
  .v5-dashboard-grid{grid-template-columns:1fr 1fr}.v5-dashboard-grid strong{font-size:24px}
  .v5-meals,.v5-three-stats,.v5-sport-grid{grid-template-columns:1fr}.v5-photo-pair{grid-template-columns:1fr}
  .v5-machine-card{grid-template-columns:105px 1fr}.v5-machine-card img{width:105px}.v5-machine-top{align-items:flex-start}.v5-machine-top i{display:none}
}
@media(prefers-reduced-motion:reduce){.v5-primary,.v5-secondary,.v5-mini-action{transition:none}}

/* 5.0.1 — correction défilement iPhone et historiques Santé */
html.v5-scroll-fix, html:has(body.v5){
  scroll-padding-top:calc(82px + env(safe-area-inset-top));
  overscroll-behavior-y:auto;
}
body.v5{
  overflow-x:hidden!important;
  overflow-y:visible!important;
  min-height:100dvh;
  -webkit-overflow-scrolling:touch;
}
.v5 main,.v5 .page,.v5 .page.active{
  overflow:visible!important;
  min-height:1px;
}
.v5 .page.active{scroll-margin-top:calc(82px + env(safe-area-inset-top))}
.v5-history-card .v5-details-body{padding-top:16px}
.v5-history-list{display:grid;gap:0;margin-top:16px;border:1px solid #29415b;border-radius:18px;overflow:hidden;background:#091523}
.v5-history-list>div{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;border-top:1px solid #21364d}
.v5-history-list>div:first-child{border-top:0}
.v5-history-list span{color:var(--v5-muted);text-transform:capitalize}
.v5-history-list strong{font-size:15px}
@media(max-width:390px){.v5-history-card .v5-three-stats{grid-template-columns:1fr 1fr}.v5-history-card .v5-three-stats>div:last-child{grid-column:1/-1}}

/* 5.0.5 — correctif définitif du haut de page sous le header fixe */
body.v5{
  --v5-header-height:108px;
}
body.v5 main{
  padding-top:calc(var(--v5-header-height) + 16px)!important;
}
body.v5 .page.active{
  scroll-margin-top:calc(var(--v5-header-height) + 8px)!important;
}
@supports(padding:max(0px)){
  body.v5 main{
    padding-top:calc(var(--v5-header-height) + 16px)!important;
  }
}

/* v5.0.5 — Score Sommeil Babou */
.v5-score-breakdown{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:16px 0}
.v5-score-breakdown>div{background:#091523;border:1px solid #29415b;border-radius:16px;padding:12px;text-align:center}
.v5-score-breakdown span{display:block;color:var(--v5-muted);font-size:11px;min-height:28px}
.v5-score-breakdown strong{display:block;margin-top:6px;font-size:17px;color:var(--v5-violet)}
@media(max-width:520px){.v5-score-breakdown{grid-template-columns:1fr 1fr}.v5-score-breakdown>div:last-child{grid-column:1/-1}}
.v5-machine-no-photo{min-height:118px;display:flex;align-items:center;justify-content:center;padding:18px;text-align:center;background:linear-gradient(145deg,#0d1a2b,#122238);color:#8fa4bb;font-size:.78rem;font-weight:700;letter-spacing:.02em}
.v5-machine-no-photo.hidden{display:none}

/* 5.0.8 — choix explicite de durée avant séance */
.v5-session-card>span{min-width:0;flex:1}
.v5-duration-choice{display:grid;gap:7px;margin-top:12px}
.v5-duration-choice small{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--v5-muted)}
.v5-duration-choice select{width:100%;appearance:none;border:1px solid #34506c;border-radius:14px;background:#0a1726;color:var(--v5-text);font:inherit;font-weight:800;padding:12px 40px 12px 14px;background-image:linear-gradient(45deg,transparent 50%,#69e6c7 50%),linear-gradient(135deg,#69e6c7 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 12px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat}
.v5-session-launch{margin-top:10px;width:100%}
.v5-format-help{display:block;line-height:1.35;margin-top:2px}
@media(max-width:520px){.v5-session-card{align-items:flex-start}.v5-session-card>span{width:calc(100% - 70px)}}

/* Babou Coach 5.1 — export bilan ChatGPT */
.v51-chatgpt-export{margin-bottom:calc(92px + env(safe-area-inset-bottom));}
.v51-export-label{display:grid;gap:7px;margin:18px 0 12px;font-weight:700;color:var(--v5-text,#f7f9ff);}
.v51-export-label select{width:100%;min-height:48px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:inherit;padding:0 14px;font:inherit;}
.v51-copy-button{width:100%;min-height:52px;font-weight:800;}
.v51-export-status{margin:10px 0 0;line-height:1.45;}
.v51-planning-card{border-color:rgba(74,222,128,.24)}
.v51-planning-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.v51-planning-actions .v51-open-calendar{grid-column:1/-1}
@media(max-width:520px){.v51-planning-actions{grid-template-columns:1fr}.v51-planning-actions .v51-open-calendar{grid-column:auto}}
.v52-adaptive-plan{margin-top:18px}
.v52-plan-status{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(255,255,255,.035)}
.v52-plan-status.ready{border-color:rgba(74,222,128,.3);background:rgba(74,222,128,.075)}
.v52-plan-status.partial{border-color:rgba(251,191,36,.3);background:rgba(251,191,36,.075)}
.v52-plan-status span{color:var(--v5-muted);font-size:13px}
.v52-plan-list{display:grid;gap:9px;margin-top:10px}
.v52-plan-list article{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:center;padding:12px;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:#091523}
.v52-plan-list article>b{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:rgba(255,255,255,.07);font-size:19px}
.v52-plan-list article>div{display:grid;gap:2px}
.v52-plan-list small,.v52-plan-list em{color:var(--v5-muted);font-size:12px;font-style:normal;line-height:1.35}
.v52-edit-plan{justify-self:start;margin-top:7px;padding:7px 10px;border:1px solid rgba(91,218,176,.34);border-radius:10px;background:rgba(91,218,176,.09);color:var(--v5-mint);font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.v52-edit-plan:active{transform:translateY(1px)}
.v52-session-A{color:var(--v5-orange)}.v52-session-B{color:var(--v5-mint)}.v52-session-C{color:var(--v5-violet)}
.v52-fixed-rule{margin:12px 0 0;padding:10px 12px;border-radius:14px;background:rgba(139,92,246,.1);color:#cdbbff;font-size:13px;line-height:1.4}
.v52-planned-slot{display:block!important;margin:7px 0;color:var(--v5-mint)!important;font-weight:800;font-style:normal!important}
.v52-planned-slot.unplanned{color:var(--v5-muted)!important}
