/* FITCOACH V14 — Habillage vert sombre et navigation par rubriques.
   Les éléments métiers conservent leurs IDs et leurs handlers V13. */
:root{color-scheme:dark;--fc-bg:#101711;--fc-side:#172018;--fc-card:#1d2a20;--fc-soft:#223226;--fc-edge:#394d3a;--fc-text:#f3f7f0;--fc-muted:#b4c5af;--fc-green:#a5da80;--fc-green-dim:#2d482d;--fc-warn:#e6cb84;--fc-error:#f7b5a8;font-family:system-ui,-apple-system,'Segoe UI',sans-serif;background:var(--fc-bg);color:var(--fc-text)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--fc-bg);color:var(--fc-text)}
.fc-app{display:grid;grid-template-columns:235px minmax(0,1fr);min-height:100vh}
.fc-sidebar{background:var(--fc-side);border-right:1px solid #334534;padding:24px 14px;position:sticky;top:0;height:100vh;align-self:start;display:flex;flex-direction:column}
.fc-brand{font-size:27px;font-weight:900;letter-spacing:-1.4px;padding:0 11px 25px;color:#f8fff5}.fc-brand span{color:var(--fc-green)}
.fc-sidebar-caption{padding:0 12px 10px;color:#91ab8d;font-size:10px;font-weight:750;letter-spacing:1.7px}
.fc-nav{display:flex;flex-direction:column;gap:5px}
.fc-nav a{display:flex;align-items:center;gap:11px;padding:12px 13px;border-radius:11px;color:#d2dfce;font-weight:650;font-size:14px;text-decoration:none;border:1px solid transparent;transition:background .15s}
.fc-nav a>span{width:21px;font-size:18px;text-align:center;font-weight:500}.fc-nav a:hover{background:#2b3a2c;color:white}
.fc-nav a[aria-current=page]{background:var(--fc-green);color:#162914}
.fc-nav a:focus-visible,.fc-actionlink:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--fc-green);outline-offset:2px}
.fc-side-foot{margin-top:auto;color:#819b7c;font-size:12px;line-height:1.8;padding:20px 13px}.fc-side-foot strong{color:#b4caaa}
main.fc-main{max-width:1200px;width:100%;margin:0 auto;padding:26px clamp(16px,3.5vw,44px) 48px;min-width:0}
.fc-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;color:#7ea878;font-weight:750;letter-spacing:1.3px;font-size:10px;border-bottom:1px solid #28392b;padding:0 0 19px}
.fc-top-status{letter-spacing:.3px;color:#9db494;font-weight:600}
.fc-view[hidden]{display:none!important}.fc-page-intro{padding:28px 0 9px}.fc-eyebrow{font-size:11px;font-weight:800;color:#9ad475;letter-spacing:2px;text-transform:uppercase}.fc-page-intro h1{font-size:clamp(27px,3.5vw,37px);letter-spacing:-1px;line-height:1.15;margin:10px 0 11px;color:#f5f9f3}.fc-page-intro p{color:var(--fc-muted);line-height:1.6;font-size:14px;max-width:740px;margin:0 0 20px}
.fc-app .card,.fc-app .fc-panel,.fc-dash-stat,.fc-collapsible{background:var(--fc-card);border:1px solid var(--fc-edge);border-radius:17px;box-shadow:none;color:var(--fc-text)}
.fc-app .card{padding:20px;margin:15px 0}.fc-app .card h2,.fc-app .fc-panel h2{color:#f0f7ed;font-size:18px;letter-spacing:-.25px}.fc-app h3{color:#eaf5e6}.fc-app .muted{color:#adbea9;font-size:13px;line-height:1.55}
.fc-app p{line-height:1.6}.fc-app a:not(.fc-nav a){color:#b8ec98}.fc-app a:hover{text-decoration-thickness:2px}
.fc-app input,.fc-app select,.fc-app textarea{background:#142017;border:1px solid #53694e;color:#f0f5ec;border-radius:10px;padding:11px;font:inherit}.fc-app input::placeholder{color:#a0b09b;opacity:1}.fc-app input[type=checkbox]{width:18px;height:18px;accent-color:#a5da80;flex-shrink:0;padding:0}
.fc-app select option{color:#f1f7ed;background:#142017}.fc-app label{color:#d2dfce}.fc-app button,.fc-app a.link{background:var(--fc-green);color:#172719;border:1px solid #a5da80;border-radius:10px;font-weight:750;padding:10px 13px;cursor:pointer}.fc-app button:hover,.fc-app a.link:hover{filter:brightness(1.06)}.fc-app button.secondary,.fc-app button.fc-light,.fc-app a.link.secondary,.fc-app button.light{background:var(--fc-green-dim);color:#d4eac8;border:1px solid #496f42}
.fc-app button:disabled{opacity:.6;cursor:default}.fc-app .badge{background:#305233;color:#c1efa6}.fc-app .pill,.fc-app .tag,.fc-app .q-pill,.fc-app .v8-chip{background:#2d482d;color:#cdf1b8}.fc-app .fc-feedback article{background:#223b29}.fc-app .fc-message,.fc-app .status,.fc-app .beta-status,.fc-app .v10-status{background:#243c2a;border:1px solid #49734c;color:#d5ecd1}.fc-app .fc-error,.fc-app .status.error,.fc-app .beta-status.error,.fc-app .v10-status.error{background:#4b2826;border-color:#91524b;color:#ffe4dc}
.fc-app .notice,.fc-app .beta-alert,.fc-app .fc-warning,.fc-app .v10-notice{background:#3b3423;color:#f5e1b4;border:1px solid #77603c;border-left:4px solid #cfac61}.fc-app .v8-feedback,.fc-app .v8-advice-card,.fc-app .volnote,.fc-app .volstat,.fc-app .goalbox,.fc-app .v10-panel,.fc-app .ex-notice,.fc-app .exdetails,.fc-app .v8-mount,.fc-app .q-stat div,.fc-app .q-summary,.fc-app .session,.fc-app .catalogitem,.fc-app .v10-hero,.fc-app .voltrack,.fc-app .v8-result{background:#233529;border:1px solid #3e5741;color:#d8e7d2;border-radius:12px}.fc-app .v8-mount h4,.fc-app .volstat strong,.fc-app .q-stat b,.fc-app .volrow strong{color:#b3e497}.fc-app .volbar{background:#96c96f}
.fc-app .v8-feedback.warn,.fc-app .q-summary.warn{background:#403828;border-color:#70593a;color:#f1d4a0}.fc-app .v8-feedback.pain{background:#4b292a;border-color:#8f5151;color:#f2b8b8}
.fc-app .catalogquick button{background:#243d2a;border:1px solid #416742;color:#c7ecb0}.fc-app .catalogquick button.active{background:var(--fc-green);color:#172719}
.fc-app .catalogitem .tag{background:#29442e;color:#d1ecc8}.fc-app .catalogitem .tag.special{background:#453a22;color:#ebd8a0}.fc-app .catalogitem strong{color:#f1f7ee}
.fc-app .session,.fc-app .v8-advice-card,.fc-app .catalogitem,.fc-app .volrow{margin-top:12px}.fc-app .session h3{font-size:17px;margin-bottom:10px}.fc-app .exercise{border-color:#3b533f}.fc-app .volrow{border-color:#3b533f}.fc-app .voltrack{overflow:hidden}.fc-app .v8-series input{background:#142017;border:1px solid #53694e}
.fc-app .v10-feedback-card{background:#213b28;border-color:#96ce70;color:#dbeacb}.fc-app .v10-hero p,.fc-app .v8-advice-card p,.fc-app .catalogitem p{color:#bed0b8}.fc-app .v10-hero{padding:16px}.fc-app .v10-symbol{color:var(--fc-green)}
.fc-app .fc-actions,.fc-app .beta-actions{gap:9px}
.fc-home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:8px 0 16px}.fc-dash-stat{padding:21px}.fc-dash-stat>span{color:#adbea6;font-size:13px;display:block}.fc-dash-stat strong{display:block;color:#a5da80;font-size:clamp(25px,3vw,33px);font-weight:850;letter-spacing:-.9px;margin:8px 0}.fc-dash-stat small{font-size:11px;line-height:1.5;color:#90a68a}
.fc-dash-columns{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:15px;margin-bottom:20px}.fc-panel{padding:21px}.fc-panel-top{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:12px}.fc-panel h2{margin:0}.fc-actionlink{font-size:12px;font-weight:750;text-decoration:none}.fc-panel-copy{color:#b5c9b0;font-size:13px;margin:9px 0}.fc-list>div{padding:13px 0;border-top:1px solid #354a39;display:flex;gap:12px;align-items:center;justify-content:space-between}.fc-list strong{font-size:14px;color:#eaf4e6}.fc-list small{color:#a1b99c;white-space:nowrap}.fc-safety-note{font-size:12px;color:#b2c7ad;border:1px dashed #536c4a;border-radius:11px;padding:12px;margin-top:24px}
.fc-collapsible{padding:0;margin:15px 0;overflow:hidden}.fc-collapsible>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 20px;font-size:14px;font-weight:780;color:#d9eecf;cursor:pointer}.fc-collapsible>summary::-webkit-details-marker{display:none}.fc-collapsible>summary>span{font-size:19px;color:#afd38c}.fc-collapsible[open]>summary{border-bottom:1px solid #3b503c}.fc-collapsible .card{margin:0!important;border:0!important;border-radius:0!important}
.fc-coach-intro p{color:#bdcdb5;font-size:13px}.fc-coach-intro h2{margin:0}
.fc-app .catalogbar{display:grid;grid-template-columns:1.25fr repeat(3,minmax(0,.7fr));gap:10px}.fc-app .cataloggrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fc-app .catalogitem{padding:17px}.fc-catalog-top{display:flex;justify-content:space-between;align-items:start;gap:8px}.fc-catalog-top strong{font-size:15px!important}.fc-featured{font-size:10px;padding:4px 7px;border-radius:6px;background:#574b29;color:#f7e9bd;font-weight:800;white-space:nowrap}.fc-muscle{margin:13px 0 4px;border-top:1px solid #3f5a42;padding-top:11px}.fc-muscle span{display:block;color:#9bca87;letter-spacing:1px;font-weight:800;font-size:10px}.fc-muscle strong{display:block;font-size:13px!important;color:#e0f0d8;margin:6px 0}.fc-exercise-more{margin-top:13px;border-top:1px solid #3f5a42;padding-top:11px}.fc-exercise-more summary{color:#ade98e;font-size:12px;cursor:pointer;font-weight:750}.fc-exercise-more p{font-size:12px;color:#c3d6bf;margin:9px 0}
.fc-app .cataloghelp,.fc-app .catalogresults{color:#adc7a4}.fc-app #catalogResults{min-height:65px}
footer{background:#111912;color:#718f70;text-align:center;padding:17px 12px;font-size:11px;border-top:1px solid #253b29}
@media(max-width:980px){.fc-app .catalogbar{grid-template-columns:repeat(2,minmax(0,1fr))}.fc-dash-columns{grid-template-columns:1fr}}
@media(max-width:760px){.fc-app{display:block}.fc-sidebar{height:auto;position:sticky;top:0;z-index:20;padding:12px 12px 8px;border-right:0;border-bottom:1px solid #354e34}.fc-brand{font-size:23px;padding:0 5px 9px}.fc-sidebar-caption,.fc-side-foot{display:none}.fc-nav{display:flex;flex-direction:row;overflow-x:auto;gap:6px;padding:1px 0 4px;scrollbar-width:thin}.fc-nav a{flex:0 0 auto;white-space:nowrap;padding:10px 12px;font-size:12px}.fc-nav a>span{font-size:15px;width:16px}.fc-app main.fc-main{padding:17px 15px 38px}.fc-page-intro{padding:22px 0 8px}.fc-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fc-app .cataloggrid{grid-template-columns:1fr}.fc-app .card{padding:16px}.fc-list>div{flex-wrap:wrap}.fc-collapsible .card{padding:17px}.fc-app .row{grid-template-columns:1fr}.fc-app .v8-three{grid-template-columns:1fr}}
@media(max-width:480px){.fc-app .catalogbar{grid-template-columns:1fr}.fc-dash-stat{padding:15px}.fc-dash-stat strong{font-size:25px}.fc-home-grid{gap:9px}.fc-app .v8-series{grid-template-columns:30px repeat(3,minmax(0,1fr));gap:4px}.fc-app .v8-series input{padding:8px 5px}.fc-top-status{display:none}}
@media print{.fc-sidebar,.fc-top,.fc-page-intro,.fc-collapsible>summary{display:none!important}.fc-app{display:block}.fc-app main.fc-main{padding:0}.fc-view:not(#fc-page-programme){display:none!important}#fc-page-programme{display:block!important}.fc-app .card{background:white;color:black}.fc-collapsible{display:block;border:0}}

.fc-app .q-session,.fc-app .ex-info,.fc-app .v8-series-head,.fc-app .vollegend{color:#afc9a6}.fc-app .fc-exercise-media img{width:100%;max-height:190px;object-fit:contain;border-radius:9px;margin:10px 0}

/* V15 : suppression des derniers fonds clairs et variantes accessibles. */
.fc-app #betaOnboarding .beta-banner,.fc-app .beta-banner{background:#223529!important;color:#e9f5e6!important;border:1px solid #48684a!important;border-radius:13px}
.fc-app #betaOnboarding .beta-banner h3,.fc-app .beta-banner h3{color:#eaf7e6!important}
.fc-app #betaOnboarding .beta-banner p,.fc-app .beta-banner p{color:#c1d6bc!important}
.fc-app #betaOnboarding .beta-small,.fc-app #betaOnboarding .beta-check{color:#d5e4cd!important}
.fc-app #betaOnboarding .beta-alert{background:#3b3423!important;color:#f5e1b4!important;border:1px solid #77603c!important}
.fc-app #betaOnboarding .beta-actions button{color:#172719}
.fc-variant-label{font-size:12px!important;color:#c9e2b7!important;margin:12px 0 5px!important}
.fc-app .fc-variant-select{max-width:350px;display:block;margin:0 0 12px;background:#142017;color:#f0f5ec}
.fc-variants{margin-top:12px;padding:12px;background:#1b2c20;border:1px solid #3b5e40;border-radius:10px;font-size:12px;line-height:1.6;color:#c9dfc3}
.fc-variants> b{color:#a5da80}.fc-variants ul{padding-left:18px;margin:7px 0}.fc-variants li{padding:2px 0}.fc-variants li strong{color:#f0f7ec!important;font-size:12px!important}

.fc-variant-emphasis{display:inline-block;color:#aed695;margin:3px 0 5px;font-size:11px}

/* V16 — Fiche de présentation coach intégrée au site réel. */
.fc-coach-profile{background:#1d2a20;border:1px solid #394d3a;border-radius:17px;padding:25px 27px;margin:14px 0;color:#eff6ec;overflow:hidden}
.fc-coach-profile-head{display:flex;align-items:center;gap:24px}.fc-coach-photo{width:155px;height:185px;object-fit:cover;object-position:center 17%;border-radius:14px;border:1px solid #4c6c49;flex-shrink:0}.fc-coach-identity h2{font-size:31px!important;margin:9px 0 5px!important}.fc-coach-identity p{color:#d1e4cc;margin:0 0 15px}.fc-coach-experience{display:inline-block;padding:8px 11px;border-radius:9px;background:#2b452d;color:#c7e9b4;font-size:12px;font-weight:750;border:1px solid #476648}.fc-coach-divider{height:1px;background:#3c533f;margin:22px 0 19px}.fc-coach-profile h3{color:#a5da80!important;text-transform:uppercase;letter-spacing:1.2px;font-size:12px;margin:0 0 13px}.fc-coach-bio{color:#cbd9c5;line-height:1.8;font-size:14px;max-width:900px}.fc-coach-bio p{margin:0 0 11px}.fc-coach-bio strong{color:#e7f5df}
@media(max-width:550px){.fc-coach-profile{padding:17px}.fc-coach-profile-head{gap:13px;align-items:flex-start}.fc-coach-photo{width:104px;height:130px}.fc-coach-identity h2{font-size:25px!important}.fc-coach-experience{font-size:11px}.fc-coach-bio{font-size:13px}}

/* V19 : formulaires de suivi d'abord, options secondaires repliables. */
.fc-app .fc-exercise-options{margin:12px 0 3px;border:1px solid #3e5741;background:#1b2c20;border-radius:10px;overflow:hidden}
.fc-app .fc-exercise-options summary{padding:12px 14px;color:#b2df93;font-weight:700;font-size:13px;cursor:pointer;list-style-position:inside}
.fc-app .fc-exercise-options[open] summary{border-bottom:1px solid #3e5741}
.fc-app .fc-exercise-options-body{padding:12px 14px 16px}
.fc-app .v8-mount{margin-top:14px}
.fc-app .v8-series input{min-width:0}
.fc-app #betaSplitInfo{display:block;margin-top:5px;line-height:1.4}
@media(max-width:620px){.fc-app .fc-exercise-options-body{padding:10px}.fc-app .v8-series{gap:5px}.fc-app .v8-series input{padding:8px 5px}}
.fc-app #fcProgramSettings [hidden]{display:none!important}
