/* FitCoach Pulse V24 — refonte visuelle progressive, moteur et navigation existants conservés. */
:root{color-scheme:dark}
html[data-pulse-theme="light"]{color-scheme:light}
.fc-app{--pulse-bg:#101411;--pulse-surface:#1a211b;--pulse-raised:#222b23;--pulse-border:#374239;--pulse-ink:#f5f8f3;--pulse-muted:#adb9ac;--pulse-accent:#b9f269;--pulse-accent-ink:#122014;background:var(--pulse-bg)!important;color:var(--pulse-ink)!important}
.fc-app .fc-main{background:var(--pulse-bg)!important;color:var(--pulse-ink)!important}
.fc-app .fc-sidebar{background:#151b16!important;border-color:#303b30!important}
.fc-app .fc-nav a[aria-current="page"]{background:#303e2e;color:var(--pulse-accent)!important}
.fc-app .fc-nav a:hover{color:var(--pulse-accent)}
.fc-app .fc-top{border-bottom-color:var(--pulse-border);color:var(--pulse-muted)}
.fc-app .fc-top-status{color:var(--pulse-accent)!important}
.fc-app .card,.fc-app .fc-panel,.fc-app .fc-dash-stat,.fc-app .fc-coach-profile,.fc-app .fc-free-day,.fc-app .fc-free-ex,.fc-app .fc-free-manager,.fc-app .session,.fc-app .catalogitem,.fc-app .fc-collapsible,.fc-app .pulse-preferences,.fc-app .pulse-session,.fc-app .pulse-track-form{background:var(--pulse-surface)!important;color:var(--pulse-ink)!important;border:1px solid var(--pulse-border)!important;box-shadow:none!important;border-radius:17px}
.fc-app .fc-page-intro h1,.fc-app h2,.fc-app h3,.fc-app h4,.fc-app .card h2{color:var(--pulse-ink)!important}
.fc-app .muted,.fc-app .fc-panel-copy,.fc-app .fc-page-intro p,.fc-app .fc-coach-bio,.fc-app .fc-free-muted,.fc-app .card p,.fc-app .fc-next-info{color:var(--pulse-muted)!important}
.fc-app button,.fc-app .pulse-track-save{border-radius:11px}
.fc-app button:not(.secondary):not(.fc-light):not(.light),.fc-app .pulse-primary-link,.fc-app .pulse-track-save{background:var(--pulse-accent)!important;color:var(--pulse-accent-ink)!important;border-color:transparent!important;font-weight:800}
.fc-app input,.fc-app select,.fc-app textarea{background:var(--pulse-raised)!important;color:var(--pulse-ink)!important;border:1px solid var(--pulse-border)!important;border-radius:10px}
.fc-app input:focus-visible,.fc-app select:focus-visible,.fc-app button:focus-visible,.fc-app a:focus-visible{outline:3px solid var(--pulse-accent)!important;outline-offset:2px}
.fc-app .fc-eyebrow,.fc-app .fc-featured,.fc-app .pulse-kicker{color:var(--pulse-accent)!important}
.fc-app #fc-page-accueil>.fc-page-intro{display:none}
.pulse-home-top{padding:30px 0 18px}.pulse-kicker,.pulse-next-tag{font-size:11px;letter-spacing:2px;font-weight:850;color:var(--pulse-accent)}
.pulse-home-top h1{font-weight:900;letter-spacing:-1.5px;font-size:clamp(30px,5vw,52px);line-height:1.06;margin:14px 0 4px;max-width:670px}
.pulse-next{border:1px solid #455d3c;background:linear-gradient(135deg,#253726,#19241b);border-radius:21px;padding:clamp(22px,4vw,35px);margin:7px 0 22px}
.pulse-next h2{font-size:clamp(27px,5vw,43px)!important;text-transform:uppercase;letter-spacing:-.7px;line-height:1.08;margin:18px 0 8px}
.pulse-next p{color:#c4d3bf;font-size:14px;line-height:1.5;margin:7px 0 22px}
.pulse-primary-link{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:16px 20px;border-radius:12px;text-decoration:none;font-size:13px;min-height:50px}
.pulse-secondary-line{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:21px 0 12px;font-size:11px;font-weight:800;letter-spacing:1.2px}.pulse-secondary-line a{font-size:12px;color:var(--pulse-accent);letter-spacing:0}
.fc-app #fc-page-accueil .fc-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fc-app #fc-page-accueil .fc-home-grid .fc-dash-stat:nth-child(3){display:none}
.fc-app #fc-page-accueil .fc-dash-columns{display:none}
.pulse-preferences{padding:22px;margin:15px 0 20px}.pulse-preferences h2{margin:0 0 15px}.pulse-pref-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.pulse-pref-grid label{display:block;font-size:13px;font-weight:750;margin-bottom:7px}.pulse-pref-grid input,.pulse-pref-grid select{width:100%;min-height:44px}.pulse-preferences p{font-size:12px;color:var(--pulse-muted)!important}
.pulse-workout{margin:18px 0}.pulse-workout[hidden]{display:none!important}.pulse-workout-heading h2{margin:9px 0 4px}.pulse-workout-heading p{font-size:13px}
.pulse-session{margin:14px 0;overflow:hidden}.pulse-session summary{padding:16px 15px;cursor:pointer;font-weight:800;display:flex;justify-content:space-between;gap:12px;align-items:center;list-style:none}.pulse-session summary::-webkit-details-marker{display:none}.pulse-session summary span{color:var(--pulse-muted);font-size:11px;font-weight:500;text-align:right}.pulse-session-inside{padding:0 12px 12px}
.pulse-track-form{padding:16px;margin:12px 0}.pulse-track-title h3{margin:0;font-size:17px}.pulse-track-title small{display:block;margin:6px 0 14px;color:var(--pulse-muted)}
.pulse-sets-heading,.pulse-set-row{display:grid;grid-template-columns:45px repeat(3,minmax(0,1fr));gap:7px;align-items:center;text-align:center;margin:7px 0}
.pulse-sets-heading{font-size:10px;font-weight:850;letter-spacing:.4px;color:var(--pulse-muted)}
.pulse-set-row>span{font-weight:750;font-size:12px}.pulse-set-row input{text-align:center;width:100%;min-width:0;padding:12px 4px!important;font-size:16px!important}
.pulse-track-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pulse-track-grid label{font-size:12px;color:var(--pulse-muted)}.pulse-track-grid input,.pulse-track-grid select{width:100%;margin-top:5px;min-height:45px}
.pulse-track-save{width:100%;min-height:48px;margin-top:14px}.pulse-track-status{font-size:12px;color:var(--pulse-accent)!important;margin:9px 0 0}.pulse-legal{display:flex;gap:11px;align-items:flex-start;padding:15px;background:var(--pulse-raised);border:1px solid var(--pulse-border);border-radius:12px;margin-top:15px;font-size:13px;line-height:1.5}.pulse-legal input{width:20px;min-width:20px;height:20px;accent-color:#8dc748}
/* Thème clair — mêmes structures et actions. */
html[data-pulse-theme="light"] .fc-app{--pulse-bg:#f4f6ef;--pulse-surface:#fff;--pulse-raised:#f0f3ec;--pulse-border:#dae2d4;--pulse-ink:#1c281d;--pulse-muted:#526552;--pulse-accent:#679b26;--pulse-accent-ink:#fff}
html[data-pulse-theme="light"] .fc-app .fc-sidebar{background:#eef3e9!important;border-color:#d9e4d5!important}
html[data-pulse-theme="light"] .fc-app .fc-nav a{color:#344a37!important}html[data-pulse-theme="light"] .fc-app .fc-nav a[aria-current="page"]{background:#dceccf!important;color:#305c1c!important}
html[data-pulse-theme="light"] .fc-app .pulse-next{background:linear-gradient(135deg,#e3f3d2,#eff8e7);border-color:#b5d3a1}
html[data-pulse-theme="light"] .fc-app .pulse-next p{color:#486047}html[data-pulse-theme="light"] .fc-app .pulse-next h2{color:#1a281a!important}
html[data-pulse-theme="light"] .fc-app .fc-dash-stat strong,html[data-pulse-theme="light"] .fc-app .fc-list strong{color:#305b24!important}
html[data-pulse-theme="light"] .fc-app .fc-coach-profile h3{color:#3a6a26!important}
html[data-pulse-theme="light"] .fc-app .fc-nav-short{color:inherit}
@media(max-width:760px){.pulse-home-top{padding:25px 0 12px}.pulse-next{padding:23px 20px}.pulse-primary-link{width:100%}.fc-app #fc-page-accueil .fc-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pulse-pref-grid{grid-template-columns:1fr}.pulse-sets-heading,.pulse-set-row{gap:4px;grid-template-columns:32px repeat(3,minmax(0,1fr))}.pulse-track-form{padding:11px}.fc-app .fc-sidebar{background:var(--pulse-surface)!important}}
