/* FBY member presentation. No workout or account rules are changed here. */
.client-shell{--panel:#191c1e;--line:#303336;--muted:#b6b4af;background:#111315;color:#f3f0e9}
.client-shell main{max-width:1200px;width:100%;margin:0 auto;padding-top:26px}
.client-sidebar{background:#151719;border-color:#2b2d30}
.client-brand{position:relative;isolation:isolate;padding-bottom:20px}
.client-brand img{mask-image:none;-webkit-mask-image:none;mix-blend-mode:screen;border-radius:0}
.client-brand::after{content:"";position:absolute;bottom:0;left:50%;width:44px;height:2px;transform:translateX(-50%);background:linear-gradient(90deg,#b47d28,var(--gold),#b47d28)}
.client-sidebar nav button{border-radius:10px;gap:14px;min-height:48px}
.app-nav-icon{width:21px;height:21px;flex:0 0 21px}
.client-sidebar nav button[aria-current]{background:#24221b;border-color:#454035}
.client-shell .app-heading{margin:28px 0 24px}
.client-shell .app-heading h1{font-family:Arial,Helvetica,sans-serif;text-transform:none;letter-spacing:-1px;line-height:1.13;font-size:clamp(30px,3.4vw,44px);margin-bottom:14px}
.client-shell .app-heading>p:not(.eyebrow){max-width:620px;font-size:15px;line-height:1.65}
.client-shell .app-heading .keep-building{color:var(--gold);font-size:13px;font-weight:700;margin-top:12px}
.client-shell .eyebrow{font-size:11px;letter-spacing:.15em;margin-bottom:12px}
.client-shell h2{font-size:24px;line-height:1.25;letter-spacing:-.4px}
.client-shell .app-panel,.client-shell .macro-stat{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:24px}
.client-shell .app-panel{margin-bottom:20px}
.client-shell .button,.client-shell .outline-button{border-radius:9px;min-height:44px;line-height:1.4}
.client-shell .text-button{min-height:44px;line-height:1.4}
.client-shell input,.client-shell select,.client-shell textarea{background:#121517;border-color:#45484b;border-radius:8px;font-size:16px;padding:12px;line-height:1.4}
.client-shell input[type=checkbox]{accent-color:var(--gold);padding:0}
.client-shell label{font-size:13px;line-height:1.5}
.client-shell .form-help{line-height:1.6}
.client-shell .exercise{border:1px solid var(--line);background:#191c1e;padding:22px;border-radius:14px;margin:16px 0}
.client-shell .exercise h3{font-size:20px;line-height:1.35}
.client-shell #session-panel{background:transparent;border:0;padding:0;outline:2px solid var(--day-accent);outline-offset:8px;transition:outline-color .2s}
.client-shell .set-row{gap:8px}
.client-shell .set-row input[type=number]{padding:11px 4px;font-variant-numeric:tabular-nums}
.client-shell .set-row.completed{border-radius:8px;background:#263123}
.client-shell .set-heading{font-size:10px;letter-spacing:.05em}
.client-shell .progression-note{font-size:12px;line-height:1.6}
.client-shell .coach-note{border-color:var(--line);padding-top:16px;margin-top:18px}
.client-shell details{border-color:var(--line)}
.client-shell summary{line-height:1.5;padding-top:6px;padding-bottom:6px}
.client-shell .ramp-up-note{border-left:0;padding:14px 0 0;border-top:1px solid var(--line);margin-top:16px}
.client-shell .session-summary,.client-shell .exercise-setting,.client-shell .history-entry{border-radius:12px}
.client-shell .guide-item{gap:16px;flex-wrap:wrap}
.client-shell .guide-item .outline-button{white-space:normal}
.client-shell .dashboard-progress{margin-bottom:22px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.dashboard-progress>div{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted)}
.dashboard-progress progress{display:block;width:100%;height:5px;margin-top:12px;border:0;border-radius:4px;overflow:hidden;appearance:none;background:#303336;accent-color:var(--gold)}
.dashboard-progress progress::-webkit-progress-bar{background:#303336}
.dashboard-progress progress::-webkit-progress-value{background:var(--gold)}
.dashboard-progress progress::-moz-progress-bar{background:var(--gold)}
.dashboard-progress .mesocycle-progress-label{margin-top:20px}
.dashboard-progress .mesocycle-win{color:var(--gold);font-size:13px;font-weight:700;margin:14px 0 0}
.client-shell #today-session-card{border-color:#454035}
.client-shell .dashboard-start{width:100%;margin-top:12px}
.client-shell .welcome-walkthrough{padding:26px;background:#1d1c18;border:1px solid #514329;border-radius:14px;margin:0 0 28px;max-width:620px}
.client-shell .welcome-walkthrough h2{font-size:30px;line-height:1.18;margin:0 0 17px}
.client-shell .welcome-walkthrough h2 span{color:var(--gold)}
.client-shell .welcome-walkthrough>p:not(.eyebrow){color:var(--muted);line-height:1.65;font-size:14px}
.welcome-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:22px 0 14px}
.client-shell .welcome-walkthrough .welcome-footnote{font-size:12px;margin-bottom:0}
.welcome-footnote a{color:inherit;text-underline-offset:3px}
#walkthrough-status:empty{display:none}
@media(max-width:500px){.client-shell .welcome-walkthrough{padding:20px}.welcome-actions{flex-direction:column;align-items:stretch}.welcome-actions .button,.welcome-actions .text-button{text-align:center}.welcome-actions .text-button{border:0}}
.client-shell .phase-transition{border:0;margin-top:0;padding-top:8px;width:100%}
.client-shell .phase-transition h2{font-size:32px;line-height:1.15;margin:20px 0 14px}
.client-shell .phase-transition h2 span{color:var(--gold)}
.client-shell .phase-transition>p{color:var(--muted);font-size:14px;line-height:1.7;margin-bottom:24px}
.client-shell .phase-transition .phase-complete-label{color:#80bb97;font-size:11px;font-weight:700;letter-spacing:.12em;margin:0}
.phase-complete-label>span{margin-right:8px}
.client-shell .phase-transition>.button{display:block;width:100%;margin:0;min-height:48px;text-align:left;padding:14px 18px}
.client-shell .phase-recovery{border-top:1px solid var(--line);margin-top:26px;padding-top:8px}
.client-shell .phase-recovery summary{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:76px;list-style:none;color:var(--ink);font-size:14px}
.phase-recovery summary::-webkit-details-marker{display:none}
.phase-recovery summary small{display:block;color:var(--muted);font-size:12px;margin-top:5px}
.phase-chevron{color:var(--muted)}
.phase-recovery[open] .phase-chevron{transform:rotate(180deg)}
.client-shell .phase-recovery p{color:var(--muted);font-size:14px;line-height:1.7}
.client-shell .phase-recovery .outline-button{width:100%;text-align:left;margin:0;min-height:48px}
.client-shell .prototype-tag{border-radius:6px;font-size:10px}
.client-shell .app-topline{gap:10px;flex-wrap:wrap}
.client-shell .app-footer{font-size:11px}
dialog{border-radius:16px}
dialog .button,dialog .outline-button{border-radius:8px;min-height:44px}
@media(max-width:700px){
 .client-shell main{padding:20px 18px 104px}
 .client-sidebar{padding:14px 18px}
 .client-brand{justify-content:center;padding-bottom:12px}
 .client-brand img{width:60px}
 .client-brand span{font-size:10px;line-height:1.5}
 .client-sidebar nav{position:fixed;bottom:0;left:0;right:0;z-index:30;margin:0;background:#151719;border-top:1px solid #303336;padding:8px 12px calc(8px + env(safe-area-inset-bottom));grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
 .client-sidebar nav button{display:flex;flex-direction:column;justify-content:center;gap:6px;padding:8px 2px;min-height:56px;font-size:11px}
 .client-shell .app-panel{padding:20px}
 .client-shell .app-heading{margin-top:20px}
 .client-shell .app-heading h1{font-size:32px}
 .client-shell .exercise{padding:16px}
 .client-shell .input-pair{gap:12px}
 .client-shell .set-row{grid-template-columns:20px minmax(62px,1.35fr) minmax(40px,1fr) minmax(38px,.85fr) 28px;gap:4px}
 .client-shell .set-row input[type=number]{padding:10px 2px}
 .client-shell #program-overview{gap:12px}
 .client-shell .macro-stat{padding:16px}
 .client-shell .macro-stat strong{font-size:24px}
 .client-shell .app-footer{margin-top:28px}
}
@media(prefers-reduced-motion:reduce){.client-shell *{scroll-behavior:auto!important}}
