/* Graphite Blue Final handoff. Shared tokens also theme the existing dialogs. */
:root{color-scheme:dark;--bg:#0B0E14;--surface:#141A23;--surface-2:#1B2230;--border:#273142;--text:#F5F7FA;--text-muted:#8D98AA;--muted:#8D98AA;--accent:#3B82F6;--accent-hover:#2563EB;--success:#22C55E;--warning:#F59E0B;--danger:#EF4444;--accent-soft:color-mix(in srgb,var(--accent) 10%,var(--surface));--success-soft:color-mix(in srgb,var(--success) 10%,var(--surface));--warning-soft:color-mix(in srgb,var(--warning) 10%,var(--surface));--danger-soft:color-mix(in srgb,var(--danger) 10%,var(--surface));font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
html{scroll-padding-bottom:100px}
body{margin:0;background:var(--bg);color:var(--text)}
button,input,select,textarea{font-size:14px;min-height:44px;max-width:100%;border-radius:8px}
button{touch-action:manipulation;font-weight:500;background:var(--surface-2);padding:10px 14px}
button.primary,button.lime{background:var(--accent);color:var(--text);border-color:var(--accent)}
button.primary:hover,button.primary:active,button.lime:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
button.danger{background:transparent;color:var(--danger);border-color:var(--border)}
label{font-weight:400;color:var(--text-muted);min-width:0}
input,select,textarea{color:var(--text);background:var(--surface-2);min-width:0}
input[type=checkbox]{min-height:20px}
h1,h2,h3,strong,summary{overflow-wrap:anywhere}
h1{font-size:28px;line-height:1.2;font-weight:600;letter-spacing:-.7px}
h2{font-size:18px;line-height:1.35;font-weight:550;margin-bottom:14px}
h3{font-size:15px;font-weight:550}
p{font-size:14px;line-height:1.55}
strong{font-weight:550}
[hidden]{display:none!important}
.bottom-nav{display:none}
.pilot-layout{grid-template-columns:208px minmax(0,1fr)}
.pilot-layout .main{min-width:0;max-width:1160px;margin:0 auto;padding:28px 32px 48px}
.pilot-layout .main>h1{margin:4px 0 20px}
.pilot-layout .main>h1:has(+.page-caption){margin-bottom:6px}
.pilot-page-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:28px;font-size:12px;color:var(--muted)}
.role-label{padding:4px 8px;border:1px solid var(--border);border-radius:6px}
.page-caption{color:var(--muted);margin:0 0 22px}
.pilot-layout .sidebar{padding:28px 14px;border-right:1px solid var(--border);background:var(--bg)}
.pilot-layout .sidebar .brand{font-size:26px;padding:0 10px 32px}
.pilot-layout aside>button{margin-top:auto;color:var(--muted);background:transparent}
.nav button{display:flex;align-items:center;gap:12px;border-radius:8px}
.nav button.active{color:var(--accent);background:var(--accent-soft);box-shadow:inset 2px 0 var(--accent)}
.nav-icon{width:21px;height:21px;flex-shrink:0}
.pilot-layout .card,dialog .card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:18px;box-shadow:none;margin-bottom:14px}
.pilot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}
.pilot-grid>.card{margin:0;min-width:0}
.pilot-grid>.card:last-child:nth-child(odd){grid-column:1/-1}
.pilot-layout .row{padding:12px 0;gap:12px;min-width:0}
.pilot-layout .row strong{font-size:14px}
.pilot-layout .row>div{min-width:0;overflow-wrap:anywhere}
.pilot-layout .card-head{gap:12px;align-items:center;flex-wrap:wrap}
.pilot-layout .topbar{margin-bottom:20px;flex-wrap:wrap}
.pilot-layout .eyebrow,.eyebrow{font-size:11px;letter-spacing:1px;font-weight:500;color:var(--muted)}
.pilot-layout .badge{border-radius:6px;font-size:11px;font-weight:500}
.pilot-layout .badge:not(.warning):not(.danger):not(.muted){background:var(--success-soft);color:var(--success)}
.pilot-layout .badge.warning{background:var(--warning-soft);color:var(--warning)}
.pilot-layout .badge.danger{background:var(--danger-soft);color:var(--danger)}
.pilot-layout .info{background:var(--surface);border:1px solid var(--border);color:var(--muted);font-size:13px;padding:12px 14px;border-radius:8px}
.pilot-layout .stats{gap:12px}
.pilot-layout .stat{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px}
.pilot-layout .report-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;font-size:14px}
.pilot-layout form{display:grid;gap:16px}
.pilot-layout .actions{gap:8px;flex-wrap:wrap}
.pilot-layout .slot{grid-template-columns:52px minmax(0,1fr)}
.pilot-layout .appointment{min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:8px;gap:12px;padding:14px;flex-wrap:wrap}
.pilot-layout .weekstrip{gap:4px}
.pilot-layout .weekstrip button{border-radius:8px}
.pilot-layout .weekstrip button.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}
.pilot-layout table{font-size:14px}
.pilot-layout td,.pilot-layout th{padding:12px}
.more-menu{display:grid;gap:8px;max-width:680px}
.more-menu button{text-align:left;padding:14px 16px;background:var(--surface);position:relative;padding-right:36px}
.more-menu button::after{content:'›';position:absolute;right:16px;color:var(--muted)}
.card-tabs{display:flex;gap:4px;overflow-x:auto;padding:8px 0 14px;border-bottom:1px solid var(--border);margin-bottom:16px}
.card-tabs button{flex-shrink:0;font-size:12px;border-color:transparent;background:transparent;padding:8px 10px;color:var(--muted)}
.card-tabs button.active{color:var(--accent);background:var(--accent-soft);border-color:var(--border)}
dialog{background:var(--surface);color:var(--text);width:min(820px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);padding:24px;border:1px solid var(--border);border-radius:12px;box-shadow:0 24px 80px #0008;overscroll-behavior:contain}
dialog::backdrop{background:#0B0E14bb;backdrop-filter:blur(3px)}
dialog>h2{padding-right:34px;font-size:21px;margin-bottom:16px}
dialog .close{width:36px;min-height:36px;padding:0;color:var(--muted)}
dialog .client-program,dialog .client-prices{margin-top:16px;padding-top:16px}
#plan-editor .plan-save{bottom:-24px}
#plan-editor summary,#plan-editor summary strong{font-weight:500}
#plan-editor .exercise-editor>summary .muted{line-height:1.5}
#pilot-slots{display:grid;gap:8px;margin-top:16px}
.metric-value{font-size:34px;font-weight:550;letter-spacing:-1px;margin:4px 0 8px}
.metric-value small{font-size:15px;font-weight:400;letter-spacing:0;color:var(--muted)}
.weekly-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.weekly-metric{display:grid;gap:10px;min-width:0}
.weekly-metric strong{font-size:24px;letter-spacing:-.5px}
.progress-track{height:5px;border-radius:5px;background:var(--border);overflow:hidden;width:100%}
.progress-track>span{display:block;height:100%;background:var(--accent);border-radius:inherit}
.cardio-summary h2{font-size:26px;margin:10px 0 18px}
.cardio-summary p{margin-bottom:0}
.cardio-journal>summary{font-size:16px;font-weight:500}
.weight-chart{overflow:hidden;width:100%}
.weight-chart svg{width:100%;min-width:0;height:auto;max-height:260px}
.weight-chart svg text{font-size:11px;fill:var(--muted)}
.program-exercises{display:grid;gap:0;padding-top:8px}
.program-exercise{display:flex;gap:12px;border-top:1px solid var(--border);padding:16px 0;min-width:0}
.program-exercise>div{min-width:0}
.program-exercise h3{margin:0 0 6px}
.program-exercise p{margin:4px 0;font-size:13px}
.exercise-number{color:var(--muted);font-size:12px;min-width:22px;padding-top:3px}
.workout-mode{max-width:760px;margin:auto}
.workout-progress{margin:0 0 22px}
.workout-progress>div:first-child{display:flex;justify-content:space-between;gap:12px;font-size:13px;margin-bottom:12px}
.workout-card>h1{font-size:30px;margin:12px 0;line-height:1.2;letter-spacing:-.7px}
.exercise-parameters{color:var(--muted);font-size:14px;margin-bottom:20px}
.previous-result{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:12px;margin:18px 0 22px}
.previous-result>span{font-size:12px}
.previous-result p{font-size:13px;color:var(--muted);margin:5px 0 0}
#pilot-result .result-label input{font-size:24px;padding:16px 12px;font-variant-numeric:tabular-nums;margin-top:4px}
#pilot-result .primary{margin-top:4px;min-height:48px}
.workout-secondary{margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}
.workout-secondary button{font-size:12px;background:transparent;padding:8px 10px}
.workout-more>summary{min-height:44px;padding:12px;cursor:pointer;color:var(--muted);font-size:12px}
.workout-more[open]{flex-basis:100%}
.login{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:none;max-width:440px}
.login h1{margin:20px 0}.login label{margin-bottom:14px}.login .primary{width:100%}
.login{margin-inline:auto;padding:22px 20px;width:100%;box-sizing:border-box;}
.login-choose{margin-top:12vh;}
.login-choose nav{display:grid;gap:10px;margin-top:18px;}
.login-choose nav button{min-height:56px;font-size:16px;font-weight:600;border-radius:12px;background:var(--surface-2);border:1px solid var(--border);color:var(--text);}
.login-choose nav button.primary{background:var(--surface-2);border:1px solid var(--border);color:var(--text);}
.login-trainer{margin-top:8vh;}
.login-trainer h1{font-size:24px;margin:14px 0 16px;}
.login-trainer nav.row{display:flex;justify-content:flex-start;gap:6px;margin-bottom:8px;}
.login-trainer nav.row button{flex:0 0 auto;min-height:36px;padding:6px 14px;font-size:13px;font-weight:500;background:transparent;color:var(--muted);border-radius:8px;}
.login-trainer nav.row button[data-realm=trainer]{background:var(--surface-2);border:1px solid var(--border);color:var(--text);}
.login-trainer [data-link-do=password-visibility]{justify-self:start;width:auto;min-height:36px;margin-top:-6px;padding:6px 0;background:transparent;border:0;color:var(--muted);font-size:13px;font-weight:500;}
.login-trainer [data-link-do=recovery]{width:auto;min-height:40px;padding:6px 0;background:transparent;border:0;color:var(--accent);font-size:14px;font-weight:500;}
@media(min-width:1000px){.pilot-layout .grid2{grid-template-columns:repeat(2,minmax(0,1fr))}.pilot-layout .grid3{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.pilot-grid{grid-template-columns:1fr}.pilot-grid>.card:last-child:nth-child(odd){grid-column:auto}}
@media(max-width:720px){
 .pilot-layout{display:block}
 .pilot-layout>.sidebar{display:none}
 .pilot-layout>.main{padding:20px 16px calc(100px + env(safe-area-inset-bottom));width:100%;box-sizing:border-box}
 .pilot-page-header{margin-bottom:22px}
 .pilot-layout .main>h1{font-size:26px}
 .bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;inset:auto 0 0;z-index:50;background:var(--surface);border-top:1px solid var(--border);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}
 .bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:0;background:transparent;min-height:54px;padding:6px 1px;font-size:10px;white-space:nowrap;color:var(--muted);border-radius:7px;position:relative}
 .bottom-nav button.active{color:var(--accent);background:transparent}
 .bottom-nav button.active::before{content:'';position:absolute;top:0;width:18px;height:2px;border-radius:2px;background:var(--accent)}
 .bottom-nav .nav-icon{width:21px;height:21px}
 .pilot-layout .stats{grid-template-columns:1fr 1fr}
 .pilot-layout .card{padding:16px}
 .pilot-layout .topbar{gap:12px;align-items:stretch}
 .pilot-layout .topbar h1{font-size:26px}
 .pilot-layout .topbar>.actions{width:100%}
 .pilot-layout .slot{grid-template-columns:44px minmax(0,1fr)}
 .pilot-layout .appointment{padding:12px}
 .pilot-layout .table-wrap table,.pilot-layout .table-wrap tbody,.pilot-layout .table-wrap tr,.pilot-layout .table-wrap td{display:block;width:auto}
 .pilot-layout .table-wrap thead{display:none}
 .pilot-layout .table-wrap tr{padding:12px 0;border-bottom:1px solid var(--border)}
 .pilot-layout .table-wrap td{padding:6px 0;border:0;overflow-wrap:anywhere}
 .pilot-layout .weekstrip button{min-width:0;padding:8px 1px}
 .pilot-layout .weekstrip button b{font-size:16px}
 dialog{max-height:calc(100dvh - 24px);width:calc(100vw - 24px);max-width:calc(100vw - 24px);padding:16px}
 dialog .form-grid{grid-template-columns:1fr}
 dialog .form-actions{flex-wrap:wrap}
 dialog .actions button{min-height:44px}
 #plan-editor .plan-save{bottom:-16px}
 .card-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;margin-bottom:12px;gap:4px}
 .card-tabs button{padding:8px 4px;min-width:0;font-size:11px}
 .workout-card>h1{font-size:28px}
 .weight-chart svg text{font-size:11px}
}

.exercise-instructions{font-size:13px;color:var(--muted);margin:12px 0}
.exercise-instructions>summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:13px;font-weight:400}

/* Client focus: three scoped product screens; shared trainer/booking styles stay intact. */
.client-product{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.client-product .main{max-width:540px;width:100%;padding:24px 20px 110px;box-sizing:border-box}
.client-product button,.client-product input,.client-product textarea{border-radius:15px;font-size:15px}
.client-product button{border:0;box-shadow:none}
.client-product .primary{min-height:54px;width:100%;font-size:16px;font-weight:550;display:flex;align-items:center;justify-content:center;gap:16px;box-shadow:0 6px 24px #2563eb18}
.client-product .primary:disabled{opacity:.55}
.client-product .quiet-icon,.client-product .text-button{background:transparent;color:var(--muted);padding:10px;box-shadow:none}
.client-product .quiet-icon{width:44px;min-height:44px;display:grid;place-items:center;font-size:24px}
.client-product .text-button:hover,.client-product .quiet-icon:hover{color:var(--text);background:var(--surface)}
.client-product h1{font-size:30px;font-weight:600;letter-spacing:-.9px;line-height:1.22}
.client-product h2{font-size:18px;font-weight:600;margin:0}
.client-product p{font-size:15px;line-height:1.5}
.client-brand{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}
.client-brand>span{font-size:21px;font-weight:650;letter-spacing:-.6px}
.brand-blue{color:#88B5FB}
.home-greeting{margin-bottom:28px}
.home-greeting h1{margin:0 0 10px}
.home-greeting>.muted{font-size:13px;display:block;text-transform:capitalize}
.client-product .next-booking{display:flex;align-items:center;width:100%;text-align:left;padding:18px 0;background:transparent;border-top:1px solid #27314280;border-bottom:1px solid #27314280;border-radius:0;gap:14px;margin-bottom:28px}
.booking-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:var(--surface-2);color:#A4B7D4;flex-shrink:0}
.next-booking>span:nth-child(2){display:grid;gap:5px;min-width:0}
.next-booking .muted{font-size:13px}.next-booking strong{font-size:17px;font-weight:550}
.booking-gym{color:var(--muted);font-size:13px}
.row-arrow{color:var(--muted);font-size:24px;margin-left:auto;font-weight:400}
.today-program{padding:22px;border-radius:20px;background:linear-gradient(135deg,#1A2942,var(--surface) 95%);margin-bottom:30px;position:relative;overflow:hidden}
.today-program::before{content:'';position:absolute;top:0;left:22px;width:36px;height:2px;background:var(--accent);border-radius:2px}
.today-heading{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:#A6B8D1;margin-bottom:14px}
.today-heading .nav-icon{color:#80AEF8}
.client-product .today-program h2{font-size:27px;line-height:1.2;letter-spacing:-.7px;font-weight:600;max-width:100%}
.today-program p{margin:9px 0 20px;color:#A6B8D1;font-size:13px}
.home-tasks h2{margin-bottom:10px}
.client-product .home-tasks button{display:flex;align-items:center;gap:13px;text-align:left;background:transparent;width:100%;padding:12px 0;border-radius:0;min-height:56px}
.task-symbol{width:34px;height:34px;background:var(--surface-2);color:#9EACC2;border-radius:11px;display:grid;place-items:center;flex-shrink:0}
.task-symbol .nav-icon{width:18px;height:18px}.task-report{background:#3B82F61A;color:#88B5FB}.task-cardio{background:#22C55E14;color:#72DFA1}
.home-balance{margin:22px 0 0;color:var(--muted);font-size:13px!important}.home-balance strong{font-size:13px;color:#B9C4D5;font-weight:500}
.client-product .bottom-nav{background:#0B0E14F5;backdrop-filter:blur(12px);border-top:1px solid #27314270}
.client-product .bottom-nav button{font-size:10px;border-radius:0}
.client-product .bottom-nav button.active::before{display:none}
.client-focused{display:block}
.client-focused>.sidebar,.client-focused>.bottom-nav{display:none}
.client-focused .main{max-width:560px;padding:16px 20px 110px;margin:auto}
.focus-header{display:flex;align-items:center;gap:8px;margin:0 -8px 18px;font-size:16px;font-weight:500}
.focus-header .quiet-icon{color:var(--text)}
.exercise-count{margin-left:auto;color:var(--muted);font-size:13px;font-weight:400;white-space:nowrap}
.focus-menu{position:relative;margin-left:2px}
.focus-menu summary{list-style:none;width:38px;min-height:44px;display:grid;place-items:center;font-size:18px;color:var(--muted);cursor:pointer;letter-spacing:1px}
.focus-menu summary::-webkit-details-marker{display:none}
.focus-menu>div{position:absolute;right:0;top:44px;z-index:10;min-width:210px;padding:8px;border-radius:16px;background:var(--surface-2);box-shadow:0 10px 40px #0008;border:1px solid var(--border)}
.focus-menu button{width:100%;text-align:left;background:transparent;padding:14px;color:var(--text)}
.focus-menu button:last-child{color:#FDA4A4}
.client-focused .progress-track{height:3px;background:var(--surface-2);margin-bottom:28px}
.workout-day{color:var(--muted);font-size:13px!important;margin:0 0 12px}
.exercise-heading h1{margin:0 0 18px;font-size:30px;max-width:100%;overflow-wrap:normal}
.parameter-chips{display:flex;flex-wrap:wrap;gap:8px}
.parameter-chips>span{background:var(--surface);border-radius:10px;padding:8px 10px;font-size:13px;color:#B9C4D5;line-height:1.2}
.exercise-cue{font-size:13px;color:var(--muted);margin:12px 0 4px}
.exercise-cue>summary{font-weight:400;cursor:pointer;padding:10px 0;min-height:24px}
.exercise-cue .report-text{font-size:14px}
.last-result{font-size:13px!important;margin:4px 0 26px;line-height:1.4}
.client-product #pilot-result{display:block}
.sets-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:18px}
.sets-heading>span{font-size:12px;color:var(--muted)}
.set-rows{display:grid;gap:14px}
.set-row{display:grid;grid-template-columns:20px minmax(0,1fr) minmax(0,1fr) 44px;gap:10px;align-items:center}
.set-number{font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}
.set-field{position:relative;display:block;margin:0}
.client-product .set-field input{width:100%;box-sizing:border-box;height:56px;min-height:56px;padding:12px 44px 12px 16px;background:var(--surface-2);border:1px solid transparent;border-radius:15px;font-size:21px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--text);margin:0}
.client-product .set-field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #3B82F61A}
.set-field span{position:absolute;right:12px;top:20px;font-size:12px;color:var(--muted);pointer-events:none}
.client-product .set-check{width:44px;height:44px;padding:0;background:var(--surface);color:#53627A;border-radius:14px;font-size:20px}
.client-product .set-check.checked{background:#22C55E1C;color:var(--success)}
.legacy-result{margin-top:16px;color:var(--muted);font-size:13px}
.legacy-result summary{padding:8px 0;font-weight:400;cursor:pointer;min-height:24px}
.legacy-result label{margin:10px 0}.legacy-result input{height:54px;padding:14px;width:100%;box-sizing:border-box}
.legacy-result p{font-size:13px}.legacy-result:not([open]){opacity:.75}
.exercise-secondary{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-top:16px;border-top:1px solid #27314280;padding-top:10px;font-size:14px;color:var(--muted)}
.workout-comment{flex:1;min-width:0}.workout-comment summary{font-weight:400;cursor:pointer;padding:13px 0;min-height:24px;font-size:14px}.workout-comment label{margin-top:8px}.workout-comment textarea{padding:14px;box-sizing:border-box;width:100%;background:var(--surface-2)}
.client-product .exercise-secondary button{font-size:14px;font-weight:400}
.workout-footer{display:flex;align-items:center;gap:12px;background:var(--bg);padding-top:16px;margin-top:24px}
.workout-footer>.text-button{flex-shrink:0;font-size:14px;padding-left:0}.workout-footer .primary{flex:1}
.workout-ready{min-height:calc(100dvh - 160px);display:flex;flex-direction:column}.workout-ready>div{margin:auto 0;text-align:center}.workout-ready .nav-icon{width:50px;height:50px;color:#88B5FB}.workout-ready h1{margin:28px 0 16px}.workout-ready p{color:var(--muted);margin:0 0 32px}
.workout-complete{text-align:center;min-height:calc(100dvh - 52px)}
.completion-top{display:flex;justify-content:space-between;align-items:center;margin:0 -8px;color:var(--muted);font-size:13px}.completion-top>span:last-child{width:44px}
.reward-art{width:176px;height:176px;margin:58px auto 20px;position:relative;isolation:isolate}
.reward-art::before{content:'';position:absolute;inset:10px;border-radius:50%;background:radial-gradient(circle,#F59E0B20,transparent 70%);transform:scale(1.5);z-index:-1}
.reward-art svg{width:100%;height:100%;filter:drop-shadow(0 8px 16px #f59e0b12)}
.workout-complete h1{margin:0 0 14px;font-size:32px;line-height:1.18;font-weight:600;letter-spacing:-1px}
.completion-title{color:#AEBBD0;font-size:16px!important;margin:0 0 32px}
.completion-metrics{display:flex;justify-content:center;gap:0;margin:0 auto 28px;background:var(--surface);border-radius:20px;padding:23px 10px;max-width:330px}
.completion-metrics>div{flex:1;display:grid;gap:8px;padding:0 8px}.completion-metrics>div+div{border-left:1px solid var(--border)}
.completion-metrics strong{font-size:30px;font-weight:600;letter-spacing:-.8px;line-height:1}
.completion-metrics span{font-size:13px;color:var(--muted);line-height:1.4}
.completion-note{font-size:14px!important;color:var(--muted);line-height:1.6;margin:0 0 30px}
.completion-actions{display:grid;gap:8px}.completion-actions .text-button{min-height:52px;color:#AFBBD0}
#workout-summary{text-align:left;margin-top:28px;scroll-margin-top:24px}.summary-entry{padding:18px 0;border-bottom:1px solid var(--border)}.summary-entry strong{font-size:15px}.summary-entry p{margin:8px 0 0;font-size:14px}
@media(max-width:720px){.client-product .main{padding:20px 20px 100px}.client-focused .main{padding:16px 20px 110px}.workout-footer{position:fixed;inset:auto 0 0;padding:28px 20px calc(18px + env(safe-area-inset-bottom));margin:0;background:linear-gradient(transparent,var(--bg) 26%);z-index:20}.client-focused:has(.workout-complete) .main,.client-focused:has(.workout-ready) .main{padding-bottom:24px}}
@media(prefers-reduced-motion:no-preference){.reward-art{animation:reward-arrive .55s ease-out both}@keyframes reward-arrive{from{opacity:0;transform:translateY(12px) scale(.9)}to{opacity:1;transform:none}}}
/* Refinement after 390×844 inspection: lighter headings and clearer numeric fields. */
.client-product h1{font-size:28px;font-weight:550;letter-spacing:-.7px}
.client-product .today-program h2{font-size:26px;font-weight:550}
.client-product .home-tasks h2,.client-product .sets-heading h2{font-size:18px;font-weight:550}
.client-product .set-field input{font-size:20px;padding-left:14px;padding-right:39px}
.client-product .set-field span{right:10px;font-size:11px}
.client-product .workout-complete h1{font-size:32px;font-weight:550}
.client-product .focus-header{font-weight:400}

/* Approved workout refinements: real previous result and quieter secondary actions. */
.client-product .previous-actual{margin:10px 0 24px;padding:14px 16px;background:var(--surface);border-radius:16px}
.previous-actual>span{font-size:12px;color:var(--muted)}
.client-product .previous-actual p{font-size:15px;color:var(--text);margin:7px 0 0;font-variant-numeric:tabular-nums}
.client-product .exercise-secondary{border:0;gap:8px;background:var(--surface);border-radius:15px;margin-top:22px;padding:0 12px;align-items:flex-start}
.client-product .workout-comment summary{list-style:none;font-size:14px;padding:14px 0;min-height:22px;line-height:22px}
.workout-comment summary::-webkit-details-marker{display:none}
.workout-comment summary>span{font-size:16px;color:#A5B3C8;margin-right:4px}
.client-product .exercise-secondary .text-button{font-size:14px;min-height:50px;padding:12px 0;color:#A5B3C8;background:transparent;font-weight:400}
.workout-comment[open]{padding-bottom:12px}
.client-product .workout-complete .completion-top{justify-content:center;min-height:44px;margin:0}
.client-product .reward-art{width:180px;height:180px;margin-top:54px;margin-bottom:20px}

/* Trainer Home shares the approved product rhythm, with compact agenda rows. */
.trainer-product .client-brand{margin-bottom:20px}
.trainer-day h1{margin:0 0 8px;font-weight:550}
.trainer-day p{margin:0;color:var(--muted);font-size:13px;text-transform:capitalize}
.trainer-revenue{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;padding:22px 0 24px;margin-bottom:20px;border-bottom:1px solid #27314280}
.trainer-revenue>div{display:flex;flex-direction:column;justify-content:space-between;gap:9px}
.trainer-revenue>div+div{padding-left:18px;border-left:1px solid #27314280}
.trainer-revenue span{font-size:12px;color:var(--muted)}
.trainer-revenue strong{font-size:27px;letter-spacing:-.8px;font-weight:550;font-variant-numeric:tabular-nums;white-space:nowrap}
.trainer-revenue>div+div strong{font-size:21px;letter-spacing:-.4px;color:#B9C7DD;padding-bottom:2px}
.trainer-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.trainer-section-head>span{font-size:12px;color:var(--muted)}
.trainer-product h2{font-size:18px;font-weight:550}
.agenda-rows{margin-bottom:18px}
.trainer-product .agenda-row{display:flex;align-items:center;gap:12px;width:100%;background:transparent;border-radius:0;padding:12px 0;text-align:left;min-height:62px}
.agenda-row time{font-size:14px;font-variant-numeric:tabular-nums;color:#B8C4D6;width:43px;flex-shrink:0}
.agenda-dot{width:3px;height:30px;border-radius:3px;background:#3B82F680;flex-shrink:0}
.is-pending .agenda-dot{background:var(--warning)}.agenda-dot.is-done{background:var(--success)}
.agenda-row>span:nth-of-type(2){min-width:0;display:grid;gap:5px}
.agenda-row strong{font-size:16px;font-weight:500}.agenda-row small{font-size:12px;color:var(--muted)}
.agenda-row:hover{background:var(--surface)}
.trainer-attention{margin:26px 0 24px}
.trainer-attention h2{margin-bottom:8px}
.trainer-product .trainer-attention button{width:100%;display:flex;align-items:center;gap:12px;min-height:48px;padding:8px 0;background:transparent;text-align:left;font-size:14px}
.attention-count{min-width:27px;height:27px;border-radius:9px;background:#F59E0B14;color:#E4B357;display:grid;place-items:center;font-size:13px}
.trainer-upcoming{margin-top:26px}
.trainer-section-head .text-button{font-size:12px;min-height:32px;padding:0}
.trainer-product .trainer-upcoming>button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:58px;padding:10px 0;border-radius:0;background:transparent;text-align:left}
.trainer-upcoming>button>span:first-child{display:grid;gap:4px}
.trainer-upcoming small{font-size:12px;color:var(--muted)}.trainer-upcoming strong{font-size:15px;font-weight:400}
.quiet-empty{color:var(--muted);font-size:14px!important;margin:18px 0;line-height:1.6}

/* Client detail is a full-screen mobile sheet, using existing forms on demand. */
#modal:has(.client-detail){background:var(--bg);border:0;border-radius:24px;padding:24px;max-width:560px;width:calc(100vw - 48px);box-sizing:border-box}
.client-detail{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text)}
.client-detail button{border:0;border-radius:15px;min-height:44px;font-size:15px;font-weight:400}
.client-detail h1{font-size:28px;font-weight:550;letter-spacing:-.7px;line-height:1.2;margin:0 0 10px}
.client-detail h2{font-size:18px;font-weight:550;margin:0 0 14px}
.client-detail .quiet-icon,.client-detail .text-button{background:transparent;color:var(--muted);padding:10px}
.client-detail .quiet-icon{width:44px;min-height:44px;font-size:22px;display:grid;place-items:center}
.detail-header{display:flex;align-items:center;justify-content:space-between;margin:0 -8px 28px;color:var(--muted);font-size:13px}
.detail-header .quiet-icon:first-child{color:var(--text)}
.detail-identity{display:flex;align-items:center;gap:16px;margin-bottom:30px}
.detail-identity>div{min-width:0}
.client-initials{width:60px;height:60px;border-radius:20px;background:linear-gradient(135deg,#20334F,#141A23);color:#9BBDFA;font-size:21px;font-weight:500;display:grid;place-items:center;flex-shrink:0;border:1px solid #3B82F62B}
.detail-identity p{color:var(--muted);font-size:13px;margin:0;line-height:1.5}
.detail-tabs{display:flex;justify-content:space-between;gap:0;border-bottom:1px solid #27314280;margin:0 0 28px;overflow:visible}
.client-detail .detail-tabs button{font-size:13px;color:var(--muted);background:transparent;border-radius:0;padding:12px 4px;position:relative;white-space:nowrap}
.client-detail .detail-tabs button.active{color:var(--text)}
.detail-tabs button.active::after{content:'';position:absolute;bottom:-1px;height:2px;left:4px;right:4px;border-radius:2px;background:var(--accent)}
.client-key-facts{display:flex;gap:24px;margin-bottom:32px}
.client-key-facts>div{flex:1;min-width:0}
.client-key-facts>div+div{padding-left:20px;border-left:1px solid #27314280}
.client-key-facts>div>span{font-size:13px;color:var(--muted);display:block;margin-bottom:14px}
.client-key-facts strong{font-size:34px;font-weight:550;letter-spacing:-1px;display:block;line-height:1}
.client-key-facts small{display:inline-block;font-size:13px;letter-spacing:0;font-weight:400;color:var(--muted);margin-left:8px}
.client-key-facts>div:first-child small{display:block;margin:12px 0 0}
.client-key-facts strong.fact-date{font-size:24px}
.weight-change{font-size:11px;color:var(--muted);margin:12px 0 0;line-height:1.4}
.weight-change.is-down{color:#82BDA0}
.client-next{display:flex;align-items:center;gap:14px;margin-bottom:32px}
.client-next>div{display:grid;gap:7px;min-width:0}
.client-next>div>span{color:var(--muted);font-size:13px}.client-next strong{font-weight:500;font-size:17px}
.client-next p{margin:0;font-size:13px;color:var(--muted)}
.client-program-preview{padding:22px;border-radius:20px;background:linear-gradient(130deg,#1A2942,var(--surface));margin-bottom:28px}
.client-program-preview>span{color:#A6B8D1;font-size:13px;display:block;margin-bottom:14px}
.client-program-preview h2{font-size:22px;line-height:1.35;letter-spacing:-.4px;font-weight:550;margin:0 0 12px}
.client-program-preview p{font-size:13px;color:#A6B8D1;margin:0 0 16px}
.client-detail .program-open{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;background:transparent;color:#8EB9FF;border-radius:0;padding:0;min-height:36px;font-size:14px}
.client-main-actions{display:flex;gap:12px;align-items:center}
.client-detail .primary{background:var(--accent);min-height:54px;border-radius:15px;font-size:16px;font-weight:500;color:var(--text)}
.client-main-actions .primary{flex:1}.client-main-actions .quiet-icon{background:var(--surface);min-height:54px;width:54px}
.detail-booking{display:grid;grid-template-columns:1fr auto;gap:6px;padding:18px 0;border-bottom:1px solid #27314280}
.detail-booking strong{font-size:16px;font-weight:500;grid-column:1/-1}.detail-booking>span{font-size:13px;color:var(--muted)}
.detail-day,.detail-extra,.detail-program-tools{border-bottom:1px solid #27314280;padding:18px 0}
.detail-day>summary,.detail-extra>summary,.detail-program-tools>summary{font-size:15px;font-weight:400;cursor:pointer;line-height:1.6}
.detail-day>summary>span{color:var(--muted);margin-right:6px;font-size:12px}
.detail-extra>summary{list-style:none;position:relative;padding-right:24px}
.detail-extra>summary::after{content:'＋';position:absolute;right:0;color:var(--muted)}
.detail-extra[open]>summary::after{content:'−'}.detail-extra[open]>summary{margin-bottom:20px}
.detail-extra input:not([type=checkbox]),.detail-extra select,.detail-extra textarea{border-radius:14px;min-height:52px;padding:14px;background:var(--surface-2);border-color:var(--border);font-size:15px;box-sizing:border-box;max-width:100%}
.detail-extra .form-grid{grid-template-columns:1fr}.detail-extra form>.primary{width:100%;margin-top:20px}
.client-detail .client-prices{padding-top:0;margin-top:14px}.client-detail .client-prices h3{font-weight:500}
@media(max-width:720px){#modal:has(.client-detail){position:fixed;inset:0;margin:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh;border-radius:0;padding:16px 20px calc(24px + env(safe-area-inset-bottom));box-shadow:none}.client-detail .table-wrap{overflow:auto}.detail-header{margin-bottom:28px}.client-detail [data-pilot-panel]{padding-bottom:24px}}
/* Visual pass: less repeated agenda text, compact attention, centered terminal caption. */
.client-product .workout-complete .completion-top>span:last-child{width:auto;white-space:nowrap}
.trainer-revenue{padding-top:20px;padding-bottom:20px;margin-bottom:16px}
.trainer-product .agenda-row{min-height:52px;padding:10px 0}
.agenda-row small:empty{display:none}
.trainer-attention{margin-top:22px;margin-bottom:18px}
.trainer-product .trainer-attention h2{font-size:16px;margin-bottom:10px}
.trainer-product .trainer-attention button{display:inline-flex;width:calc(50% - 4px);min-height:38px;padding:0;font-size:14px}
.trainer-attention .row-arrow{display:none}
.trainer-upcoming{margin-top:22px}
.trainer-product .trainer-upcoming>button{min-height:46px;padding:8px 0}
.client-product .trainer-upcoming .trainer-section-head button{min-height:28px}
@media(hover:none){.agenda-row:hover{background:transparent}}

/* Remaining client pages: scoped to their content; approved Home and workout stay intact. */
.client-page{padding-top:2px}
.client-page .product-title{margin:0 0 28px}
.client-page .product-title h1{font-size:30px;font-weight:550;letter-spacing:-.8px;margin:0}
.client-page .product-title p{margin:9px 0 0;color:var(--muted);font-size:14px}
.client-page .muted{font-size:13px}
.client-page .product-section{margin:30px 0}
.client-page .product-section>h2{margin:0 0 20px}
.client-page .page-empty{margin:24px 0;line-height:1.65}
.client-page input,.client-page textarea,.client-page select{box-sizing:border-box;width:100%;border:1px solid transparent;background:var(--surface-2);border-radius:15px;font-size:16px;padding:13px 14px;min-height:50px;margin-top:8px}
.client-page input:focus,.client-page textarea:focus,.client-page select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #3B82F61A}
.client-page label{font-size:13px;display:block}
.client-page .section-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}
.client-page .section-heading>div{display:flex}
.client-page .section-heading .quiet-icon{width:32px;min-height:32px;padding:0;font-size:22px}
.client-page .product-history{border-top:1px solid #27314280;padding:20px 0;margin-top:28px}
.client-page .product-history>summary{cursor:pointer;list-style:none;color:var(--muted);font-size:14px;display:flex;justify-content:space-between;min-height:28px}
.client-page .product-history>summary:after{content:'+';font-size:18px}
.client-page .product-history[open]>summary:after{content:'−'}
.client-page summary::-webkit-details-marker{display:none}
.client-booking{display:flex;position:relative;align-items:center;gap:14px;padding:18px 0;border-bottom:1px solid #27314265}
.client-booking>div{min-width:0;flex:1}
.client-booking h2{font-size:18px;margin:6px 0;font-weight:550}
.client-booking p{margin:0;font-size:13px;color:var(--muted)}
.client-booking .booking-icon{width:46px;height:46px;background:var(--surface-2);border-radius:15px;display:grid;place-items:center;color:#A9BEDF;flex-shrink:0}
.featured-booking{border-top:1px solid #27314265;margin-bottom:24px}
.featured-booking h2{font-size:22px}
.client-booking .pending-status{color:#D4AE66}
.client-booking .booking-attendance{margin-top:10px}
.client-booking .booking-attendance p{margin-bottom:8px;color:var(--text)}
.client-booking .booking-attendance .actions{display:flex;flex-wrap:wrap;gap:8px}
.client-booking .booking-attendance button{min-width:0;min-height:44px;padding:8px 12px;white-space:normal}
.booking-options>summary{list-style:none;color:var(--muted);padding:10px 0;cursor:pointer;letter-spacing:2px}
.booking-options>div{position:absolute;right:0;top:55px;z-index:5;background:var(--surface-2);border:1px solid var(--border);border-radius:15px;padding:8px;box-shadow:0 12px 24px #0005;display:grid;min-width:150px}
.booking-options button{background:transparent;text-align:left}
.booking-picker{margin-top:30px;scroll-margin-top:20px}
.booking-picker .section-heading h2{text-transform:capitalize;font-size:17px}
.client-weekstrip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:18px 0}
.client-weekstrip button{background:transparent;padding:10px 0;min-height:66px;border-radius:15px;font-weight:400}
.client-weekstrip span{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}
.client-weekstrip strong{font-size:18px;font-weight:500}
.client-weekstrip button.active{background:var(--accent);color:white}
.client-weekstrip .active span{color:#DAE9FF}
.client-page .booking-date{display:flex;align-items:center;justify-content:space-between;gap:12px}
.client-page .booking-date input{width:175px;margin:0;min-height:44px;font-size:14px;padding:10px}
.client-page #pilot-slots{display:block;margin-top:24px}
.slot-group{margin:20px 0}
.slot-group h2{font-size:16px}
.client-time-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}
.client-time-slots button{background:#162840;color:#B6D3FF;font-size:16px;padding:13px 4px;min-height:48px;font-weight:500}
.move-notice{display:flex;align-items:center;justify-content:space-between;color:#D4AE66;font-size:13px;margin-top:14px}
.weight-focus .weight-number{font-size:52px;line-height:1.18;letter-spacing:-1.6px;font-weight:500;margin:8px 0}
.weight-number small{font-size:18px;color:var(--muted);letter-spacing:0;font-weight:400}
.weight-number .no-measurement{font-size:27px;letter-spacing:-.5px}
.weight-focus p{margin:8px 0}
.positive-delta{color:#83C7AA;font-size:13px}
.client-weight-chart{margin:28px -4px 0}
.client-weight-chart svg{display:block;width:100%;height:auto;overflow:visible}
.client-weight-chart text{fill:var(--muted);font-size:11px}
.client-weight-chart .chart-guide{stroke:#27314270;stroke-width:1}
.weight-focus .chart-caption{font-size:12px;color:var(--muted);margin:0;text-align:center}
.chart-empty{min-height:150px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:8px}
.client-week-metrics{display:flex;flex-direction:column;gap:22px}
.client-week-metrics .weekly-metric{display:grid;grid-template-columns:1fr auto;gap:12px}
.client-week-metrics .weekly-metric>strong{font-size:18px;font-weight:500}
.client-week-metrics .progress-track{grid-column:1/-1;height:4px;margin:0}
.client-week-metrics .weekly-metric>.muted{font-size:15px;color:var(--text)}
.client-program .program-position{font-size:13px;color:#A9C9F6;margin:-12px 0 20px}
.client-program-day{border-bottom:1px solid #27314280}
.client-program-day>summary{list-style:none;display:flex;align-items:center;gap:14px;min-height:92px;padding:8px 0;cursor:pointer}
.client-program-day>summary>span:nth-child(2){flex:1;min-width:0}
.client-program-day>summary .muted{display:block;margin-bottom:5px}
.client-program-day>summary strong{font-size:18px;font-weight:500;line-height:1.45;display:block}
.day-number{background:var(--surface-2);color:var(--muted);font-size:18px;width:40px;height:46px;border-radius:14px;display:grid;place-items:center;flex-shrink:0}
.client-program-day.current .day-number{color:#A9C9F6;background:#17283F}
.day-chevron{font-size:24px;color:var(--muted);transition:transform .15s}
.client-program-day[open] .day-chevron,.weekly-group[open] .day-chevron{transform:rotate(90deg)}
.client-page .program-exercises{padding-left:0}
.client-page .program-exercise{border-top:0;padding:14px 0;gap:14px}
.client-page .program-exercise h3{font-size:16px;font-weight:500}
.client-page .program-exercise .exercise-number{border:0;background:transparent;color:var(--muted)}
.client-page .program-exercise .exercise-instructions{font-size:12px}
.cardio-focus{background:var(--surface);border-radius:20px;padding:22px 20px;margin-bottom:30px}
.cardio-focus h2{font-size:28px!important;letter-spacing:-.6px;font-weight:500!important;margin:12px 0 20px!important}
.cardio-focus .progress-track{height:5px}
.cardio-focus p{margin:14px 0 0}
.client-page .cardio-entry h2{margin-bottom:18px}
.client-page .compact-fields{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:14px}
.client-page #pilot-cardio{gap:18px}
.cardio-history-row{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-bottom:1px solid #27314265;font-size:15px}
.cardio-history-row strong{font-weight:500;color:#B0C9EF}
.client-page .history-paging{display:flex;justify-content:space-between;gap:12px;margin-top:18px}
.weekly-status{display:flex;align-items:center;gap:8px;color:#D4AE66;font-size:13px;margin-top:-12px;margin-bottom:26px}
.status-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}
.weekly-status.sent{color:#83C7AA}
.weekly-step{margin-left:auto;font-size:12px;color:var(--muted)}
.client-page #pilot-weekly{display:block}
.weekly-group{border-top:1px solid #27314280;margin-bottom:8px}
.weekly-group>summary{list-style:none;display:flex;align-items:center;gap:12px;min-height:66px;font-size:16px;font-weight:500;cursor:pointer}
.weekly-group>summary>span:nth-child(2){flex:1;min-width:0}
.group-number{font-size:12px;color:#7E94B5;width:22px;flex-shrink:0}
.group-number .nav-icon{width:18px;height:18px}
.weekly-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px;padding:8px 0 24px}
.weekly-field{grid-column:1/-1}
.weekly-field.field-weight,.weekly-field.field-weight_2w{grid-column:auto}
.client-page .weekly-field>span{font-size:13px;line-height:1.5;display:block}
.client-page .weekly-field textarea{font-size:15px;min-height:94px;line-height:1.55;resize:vertical}
.client-page .weekly-field input{font-size:16px}
.weekly-field textarea::placeholder{font-size:13px}
.client-page .photo-protocol label{margin:16px 0}
.client-page #pilot-weekly>.primary{margin-top:20px}
.weekly-photos>p{font-size:13px}
.photo-checklist{display:grid;gap:0;margin:20px 0}
.photo-checklist>div{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #27314265;padding:17px 0;font-size:15px}
.client-page #pilot-photo{gap:18px}
.client-page #pilot-photo .compact-fields{grid-template-columns:1fr}
.client-page input[type=file]{font-size:13px;padding:12px;min-height:54px}
.client-page input[type=file]::file-selector-button{background:#27364E;border:0;color:var(--text);border-radius:9px;padding:8px;margin-right:8px}
.client-page .photo-upload{background:var(--surface-2);min-height:50px}
.client-page .photo-submit-note{margin:28px 0 14px;font-size:13px}
.client-page .weekly-edit{display:block;margin:12px auto}
.report-sent{text-align:center;padding:45px 8px 60px}
.report-sent>.nav-icon{width:46px;height:46px;color:#83C7AA;margin-bottom:20px}
.report-sent p{font-size:15px}
.client-menu-group{padding-bottom:24px}
.client-menu-group.secondary-menu{border-top:1px solid #27314280;padding-top:20px}
.client-page .client-menu-row{display:flex;align-items:center;width:100%;gap:14px;padding:16px 0;min-height:66px;background:transparent;border-radius:0;text-align:left;font-size:16px;color:var(--text);text-decoration:none;font-weight:400}
.client-menu-row .menu-symbol{color:#9BB3D5;width:28px;display:grid;place-items:center}
.client-menu-row .row-arrow{margin-left:auto;font-size:22px;color:var(--muted)}
.client-page .client-logout{background:transparent;font-size:14px;color:#B29898;min-height:44px;padding:10px 0;margin-top:6px}
@media(hover:hover){.client-time-slots button:hover{background:#203B5D}.client-weekstrip button:not(.active):hover{background:var(--surface)}.client-menu-row:hover{color:#B3D0FF}}
.client-page.client-program{border-top:0;margin-top:0;padding-top:2px;padding-bottom:0}
.client-page .product-title+ .program-position{margin-top:-12px}
.client-page .weekly-group>summary{font-size:15px;font-weight:400;min-height:60px}
.client-page .weekly-fields{padding-bottom:20px}

/* The three trainer pages are isolated from approved Home, Card and client screens. */
.trainer-page{padding-top:4px}
.trainer-page-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:12px}
.trainer-page-title h1{margin:0;font-weight:550}
.trainer-page .trainer-primary,.trainer-program-detail .trainer-primary,.trainer-program-picker .trainer-primary{width:100%;min-height:52px;border-radius:16px;font-size:15px;font-weight:500;margin:0 0 24px}
.trainer-list-label{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;margin:8px 0 8px}
.trainer-page .trainer-search{display:flex;align-items:center;gap:12px;background:var(--surface);border-radius:16px;padding:0 16px;height:52px;box-sizing:border-box}
.trainer-search .nav-icon{width:20px;height:20px;flex-shrink:0;color:var(--muted)}
.trainer-page .trainer-search input{border:0;background:transparent;padding:0;min-height:52px;margin:0;box-shadow:none;font-size:15px;width:100%}
.trainer-filters{display:flex;gap:20px;border-bottom:1px solid #27314280;margin:12px 0 18px}
.trainer-page .trainer-filters button{position:relative;background:transparent;padding:12px 0;border-radius:0;font-size:14px;color:var(--muted);font-weight:400}
.trainer-filters button.active{color:var(--text)}
.trainer-filters button.active::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--accent);border-radius:2px}
.trainer-client-list{margin-bottom:24px}
.trainer-client-item{position:relative;border-bottom:1px solid #27314270}
.trainer-page .trainer-client-row{display:flex;align-items:center;gap:14px;width:100%;background:transparent;padding:18px 0;border-radius:0;text-align:left;font-weight:400}
.trainer-client-row .client-initials{width:44px;height:48px;border-radius:15px;font-size:17px}
.trainer-client-info{flex:1;min-width:0;display:grid;gap:5px}
.trainer-client-info strong{font-size:17px;font-weight:500;line-height:1.35}
.trainer-client-info .muted{font-size:12px;line-height:1.5}
.client-row-balance{font-size:13px;color:#B8C6DB;margin-top:5px}
.client-row-next{font-size:12px;color:var(--muted);line-height:1.5}
.row-notice{width:fit-content;font-size:11px;color:#E4B357;background:#F59E0B12;padding:4px 8px;border-radius:8px;margin-top:4px;line-height:1.5}
.trainer-page .row-approve{min-height:32px;font-weight:400;display:block;margin:-4px 0 14px 58px;padding:6px 9px;background:#F59E0B12;font-size:11px}
.trainer-list-pager{display:flex;align-items:center;justify-content:center;gap:16px;margin:20px 0;font-size:12px;color:var(--muted)}
.trainer-page .trainer-list-pager button{background:var(--surface);border-radius:14px;width:44px}
.trainer-secondary{color:var(--muted);font-size:13px;margin:0 0 20px}
.trainer-secondary>summary{min-height:44px;line-height:44px;cursor:pointer}
.trainer-secondary button{display:block;width:100%;text-align:left;margin:8px 0;font-weight:400}
.trainer-secondary .card{border:0;background:transparent;padding:0}
.trainer-overflow,.calendar-actions{position:relative;flex-shrink:0}
.trainer-overflow>summary,.calendar-actions>summary{list-style:none;display:grid;place-items:center;width:44px;min-height:44px;cursor:pointer;color:var(--muted);font-size:14px;letter-spacing:1px}
.trainer-overflow>summary::-webkit-details-marker,.calendar-actions>summary::-webkit-details-marker{display:none}
.trainer-overflow>div,.calendar-actions>div{position:absolute;right:0;top:44px;z-index:12;min-width:235px;max-width:calc(100vw - 60px);border-radius:16px;padding:8px;background:var(--surface-2);box-shadow:0 10px 40px #0008}
.trainer-overflow button,.calendar-actions button{display:block;width:100%;text-align:left;border:0;background:transparent;border-radius:12px;padding:12px;font-size:14px;font-weight:400;color:var(--text)}
.calendar-date{display:flex;align-items:center;gap:8px;justify-content:space-between;margin:-4px 0 20px}
.trainer-page .calendar-date>button{width:44px;background:transparent;border-radius:14px;padding:0;font-size:26px;font-weight:400;color:#B8C6DB}
.calendar-date label{position:relative;text-align:center;font-size:17px;color:var(--text);min-height:44px;line-height:44px;flex:1;overflow:hidden}
.trainer-page .calendar-date input{position:absolute;inset:0;opacity:0;width:100%;margin:0;cursor:pointer}
.calendar-mode{display:flex;gap:4px;border-radius:14px;background:var(--surface);padding:4px;margin-bottom:18px}
.trainer-page .calendar-mode button{flex:1;background:transparent;color:var(--muted);border-radius:11px;font-weight:400;font-size:14px;min-height:40px}
.trainer-page .calendar-mode button.active{background:var(--surface-2);color:var(--text)}
.calendar-weekstrip{display:flex;justify-content:space-between;gap:4px;margin-bottom:24px}
.trainer-page .calendar-weekstrip button{flex:1;min-width:0;background:transparent;display:grid;gap:9px;padding:10px 0;border-radius:14px;font-weight:400;font-size:12px;color:var(--muted)}
.calendar-weekstrip strong{font-size:16px;color:#C1CDDD;font-weight:500}
.trainer-page .calendar-weekstrip button.active{background:#17283F;color:#A9C9F6}
.calendar-weekstrip button.active strong{color:#D6E6FF}
.calendar-weekstrip button.is-today strong{position:relative}
.calendar-weekstrip button.is-today strong::after{content:'';position:absolute;left:50%;transform:translateX(-50%);bottom:-6px;width:4px;height:4px;border-radius:50%;background:var(--accent)}
.trainer-page .calendar-week-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;margin:-6px 0 10px;padding:8px 2px;background:transparent;color:var(--muted);font-size:13px;font-weight:400;text-align:left}
.calendar-free-actions{display:flex;align-items:center;flex:1;min-width:0}
.trainer-page .calendar-recurring{width:44px;min-width:44px;min-height:44px;padding:0;background:transparent;color:#84BEAC;font-size:22px}
.batch-clients{max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:12px;padding:12px}
.batch-clients legend{padding:0 6px}
.calendar-caption{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--muted);margin-bottom:14px}
.calendar-row{display:flex;align-items:center;gap:12px;min-height:78px;position:relative}
.calendar-row time{width:43px;font-size:14px;flex-shrink:0;color:#A6B4C8;font-variant-numeric:tabular-nums}
.calendar-line{width:3px;height:36px;border-radius:3px;background:#3B82F680;flex-shrink:0}
.trainer-page .calendar-person{flex:1;min-width:0;display:grid;gap:6px;background:transparent;text-align:left;padding:13px 0;border-radius:0;font-weight:400}
.calendar-person strong{font-size:16px;font-weight:500;line-height:1.4}
.calendar-person>span{font-size:12px;color:var(--muted);line-height:1.5}
.is-pending .calendar-line{background:#DBAB51}
.is-pending .calendar-person>span{color:#D6AC62}
.calendar-line.is-past{background:#557B70}
.calendar-row.is-free{min-height:76px;margin:7px 0;padding-right:14px;background:#141F2180;border-radius:15px}
.is-free time{padding-left:10px;width:33px;font-size:13px}
.is-free .calendar-line{background:#5C9F8B66;height:28px}
.is-free .calendar-person strong{color:#84BEAC;font-size:14px;font-weight:400;display:flex;align-items:center;justify-content:space-between}
.is-free .calendar-person>span{color:#75968F}
.is-closed .calendar-line{background:#46505D;height:26px}
.is-closed .calendar-person strong{font-size:14px;color:#7E8899;font-weight:400}
.is-reserved .calendar-line{background:#536581}
.calendar-week-agenda{margin-top:0}
.calendar-week-day{border-bottom:1px solid #27314270}
.calendar-week-day>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;min-height:64px;font-size:15px;font-weight:400}
.calendar-week-day>summary .muted{font-size:12px}
.calendar-week-day[open]>summary{color:#A9C9F6}
.calendar-week-day .trainer-timeline{padding-bottom:14px}
.trainer-page .trainer-program-row{position:relative;display:grid;width:100%;gap:9px;background:transparent;text-align:left;padding:22px 24px 24px 0;border-radius:0;border-bottom:1px solid #27314270;font-weight:400}
.program-client{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px;color:#B2C0D3;font-weight:400}
.program-state{font-size:11px;color:#81BAA5;white-space:nowrap}
.program-state.is-paused{color:#CEAD72}
.trainer-program-row>strong{font-size:19px;font-weight:500;line-height:1.45;color:var(--text)}
.trainer-program-row>.muted{font-size:12px}
.program-next{margin-top:7px;display:grid;gap:5px;font-size:13px;line-height:1.5;color:#BBC8DB}
.program-next>span:first-child{font-size:11px;color:var(--muted)}
.trainer-program-row>.day-chevron{position:absolute;right:0;top:50%;transform:translateY(-50%)}
.trainer-program-list{margin-bottom:20px}
#modal:has(.trainer-program-detail),#modal:has(.trainer-program-editor),#modal:has(.trainer-program-picker){background:var(--bg);border:0;border-radius:24px;padding:24px;width:calc(100vw - 48px);max-width:560px;box-sizing:border-box}
.trainer-program-detail h1{font-size:27px;font-weight:550;line-height:1.3;margin:10px 0 12px;letter-spacing:-.6px}
.trainer-program-detail .program-detail-caption{color:var(--muted);font-size:13px;margin-bottom:24px}
.trainer-program-detail button,.trainer-program-editor button,.trainer-program-picker button{border:0;border-radius:15px;min-height:44px;font-weight:400;font-size:14px}
.trainer-program-detail .quiet-icon{font-size:22px;background:transparent;color:var(--text);width:44px}
.trainer-program-detail .client-program-day>summary{min-height:82px}
.trainer-program-detail .client-program-day>summary strong{font-size:17px}
.trainer-program-detail .client-program-day>summary .muted{font-size:12px}
.trainer-program-detail .program-exercise{border:0;padding:14px 0;gap:14px}
.trainer-program-detail .program-exercise h3{font-size:16px;font-weight:500}
.trainer-program-detail .program-exercise p{font-size:13px;line-height:1.6}
.trainer-program-editor{min-width:0}
.trainer-program-editor h2{font-size:25px;font-weight:550;margin:4px 44px 28px 0;line-height:1.3;letter-spacing:-.5px}
.editor-client{display:block;font-size:13px;color:var(--muted);font-weight:400;letter-spacing:0;margin-bottom:10px}
.trainer-program-editor>.close{background:transparent;font-size:24px;right:14px;top:18px;color:var(--muted);width:44px;padding:0}
.trainer-program-editor label,.trainer-program-picker label{font-size:12px;color:var(--muted);line-height:1.5}
.trainer-program-editor input,.trainer-program-editor select,.trainer-program-editor textarea,.trainer-program-picker select{border:1px solid #27314280;border-radius:14px;background:var(--surface);font-size:15px;padding:13px 14px;min-height:50px;margin-top:8px;width:100%;box-sizing:border-box}
.trainer-program-editor #plan-editor .plan-metadata{grid-template-columns:minmax(0,1fr) 88px;gap:12px;align-items:end;margin-bottom:24px}
.trainer-program-editor .plan-day-shell{background:transparent;border:0;border-bottom:1px solid #27314270;border-radius:0;margin:0}
.trainer-program-editor .plan-day>summary{font-size:16px;font-weight:500;padding:18px 65px 18px 0;min-height:52px;gap:7px;list-style:none;line-height:1.5}
.trainer-program-editor .plan-day>summary .muted{font-size:12px;font-weight:400}
.trainer-program-editor .plan-day>summary::before{top:25px;right:48px;font-size:20px}
.trainer-program-editor .plan-menu{top:16px;right:0}
.trainer-program-editor .plan-menu>summary{font-size:22px;color:var(--muted);border-radius:14px}
.trainer-program-editor .plan-menu-items{border:0;border-radius:16px;background:var(--surface-2);padding:8px}
.trainer-program-editor .plan-menu-items button{font-size:13px}
.trainer-program-editor .plan-day-content{padding:0 0 20px}
.trainer-program-editor .exercise-card{border:0;border-bottom:1px solid #27314270;border-radius:0;background:transparent;margin:0}
.trainer-program-editor .exercise-editor>summary{padding:18px 46px 18px 0;gap:7px;min-height:45px}
.trainer-program-editor .exercise-editor>summary strong{font-size:15px;line-height:1.5;font-weight:500}
.trainer-program-editor .exercise-editor>summary .muted{font-size:12px;line-height:1.6;color:#9FAFC5}
.trainer-program-editor .exercise-comment{font-size:12px;line-height:1.6}
.trainer-program-editor .exercise-edit-label{display:none}
.trainer-program-editor #plan-editor .exercise-editor>.form-grid{grid-template-columns:1fr 1fr;padding:4px 0 18px;gap:14px 12px}
.trainer-program-editor .exercise-editor>.form-grid>label:first-child,.trainer-program-editor .exercise-editor>.form-grid>label:last-child{grid-column:1/-1}
.trainer-program-editor .plan-import{background:transparent;border:0;border-radius:0;padding:0;margin:10px 0 0}
.trainer-program-editor .plan-import>summary{color:var(--muted);font-size:13px;padding:10px 0;min-height:24px;font-weight:400}
.trainer-program-editor .plan-add-actions{margin-top:16px;gap:10px}
.trainer-program-editor .plan-add-actions>button,.trainer-program-editor .plan-source-block>summary{background:var(--surface);border:0;border-radius:14px;font-weight:400;min-height:44px;padding:12px;font-size:12px;box-sizing:border-box}
.trainer-program-editor #plan-editor .plan-save{bottom:-24px;background:var(--bg);border:0;padding:20px 0 8px;margin-top:20px;gap:12px;flex-wrap:nowrap}
.trainer-program-editor #plan-editor .plan-save button{min-height:52px;border-radius:16px;font-size:14px}
.trainer-program-editor #plan-editor .plan-save .primary{flex:1}
.trainer-program-editor #plan-editor .plan-save button:first-child{background:transparent;color:var(--muted);padding:0 8px}
.trainer-program-picker select{margin-bottom:24px}
@media(max-width:720px){#modal:has(.trainer-program-detail),#modal:has(.trainer-program-editor){position:fixed;inset:0;margin:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh;border-radius:0;padding:16px 20px calc(24px + env(safe-area-inset-bottom));box-shadow:none}.trainer-program-editor #plan-editor .plan-save{bottom:-24px}}
.trainer-search .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Refinement: match Home's compact agenda and keep day navigation focused. */
.calendar-weekstrip[hidden]{display:none}
.calendar-row{min-height:64px}
.calendar-row.is-free{min-height:64px}
.trainer-calendar .calendar-mode{margin-bottom:20px}
.trainer-calendar .trainer-page-title{margin-bottom:16px}
.trainer-calendar .calendar-date{margin-bottom:14px}
.calendar-earlier{border-top:1px solid #27314270;margin-top:18px}
.calendar-earlier>summary{display:flex;align-items:center;justify-content:space-between;list-style:none;min-height:52px;font-size:13px;font-weight:400;color:var(--muted);cursor:pointer}
.calendar-earlier>summary>span{font-size:12px}
.trainer-page .trainer-client-row{padding:14px 0}
.trainer-client-info{gap:4px}
.client-row-balance{margin-top:2px}
.trainer-program-editor h2{font-size:23px;letter-spacing:-.4px}
.trainer-program-editor .exercise-comment{display:none}
.trainer-program-editor h2{padding-right:0}

/* Final trainer flow: reports, read-only detail and the existing More routes. */
.trainer-reports .trainer-page-title{margin-bottom:10px;align-items:flex-start}
.trainer-reports h1{font-size:27px;max-width:270px;line-height:1.25}
.report-week-caption{color:var(--muted);font-size:13px;margin:0 0 22px}
.report-filters{gap:22px}
.reports-count{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;margin:22px 0 6px}
.trainer-page .trainer-report-row{display:flex;align-items:center;gap:14px;width:100%;background:transparent;border-radius:0;padding:20px 0;min-height:100px;text-align:left;font-weight:400;border-bottom:1px solid #27314270}
.report-status-line{height:36px;width:3px;background:#465263;border-radius:3px;flex-shrink:0}
.trainer-report-row.new .report-status-line{background:#C59C56}
.trainer-report-row.submitted .report-status-line{background:#659F88}
.report-row-content{display:grid;gap:9px;flex:1;min-width:0}
.report-row-content>strong{font-size:18px;font-weight:500}
.report-row-weight{font-size:17px;color:#D8E0EC;font-variant-numeric:tabular-nums}
.report-row-weight small{font-size:12px;color:var(--muted);font-weight:400}
.report-row-weight>span{font-size:13px;margin-left:16px;color:#93A7BC}
.report-row-status{font-size:13px;color:var(--muted)}
.trainer-report-row.new .report-row-status{color:#D6AC62}
.trainer-report-row.submitted .report-row-status{color:#87B5A1}
.report-row-previous{font-size:12px;color:#738196}
.report-tools{margin-top:22px}
.report-tools .card{border:0;background:transparent;padding:0}
.trainer-reports .trainer-overflow>div{min-width:260px;padding:16px}
.trainer-reports select{width:100%;border-radius:14px;min-height:48px;margin-top:10px}
#modal:has(.trainer-report-detail){background:var(--bg);border:0;border-radius:24px;padding:24px;width:calc(100vw - 48px);max-width:560px;box-sizing:border-box}
.trainer-report-detail{min-width:0;color:var(--text)}
.report-detail-header{display:flex;align-items:center;gap:14px;margin:0 -8px 22px;font-size:14px;color:#B7C3D5}
.report-detail-header .quiet-icon{background:transparent;width:44px;min-height:44px;border:0;border-radius:14px;font-size:22px;color:var(--text)}
.trainer-report-detail h1{font-size:27px;font-weight:550;letter-spacing:-.6px;margin:0 0 10px;padding:0;line-height:1.25}
.report-detail-date{font-size:13px;color:var(--muted);margin:0 0 18px}
.report-detail-status{display:flex;align-items:center;gap:8px;font-size:12px;color:#83B39D;margin-bottom:30px}
.report-detail-status>span{width:6px;height:6px;background:#83B39D;border-radius:50%}
.report-detail-status.missing{color:var(--muted)}
.report-detail-status.missing>span{background:#68748A}
.report-missing-note{font-size:14px;line-height:1.7;color:var(--muted);margin:16px 0 28px}
.report-weight-focus{margin:0 0 28px}
.report-weight-focus>span{font-size:13px;color:var(--muted)}
.report-weight-focus>div{font-size:48px;line-height:1.25;letter-spacing:-1.3px;font-weight:500;margin:8px 0}
.report-weight-focus small{font-size:18px;color:var(--muted);font-weight:400;letter-spacing:0}
.report-weight-focus>p{color:#A0B3C9;font-size:13px;margin:0}
.report-core-sections{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.report-section{padding:18px 0;border-top:1px solid #27314270;min-width:0}
.report-section:first-child,.report-section:nth-child(n+4){grid-column:1/-1}
.trainer-report-detail h2{font-size:14px;font-weight:400;color:var(--muted);margin:0 0 10px}
.report-section-value{font-size:20px;font-weight:500;margin:0 0 8px;color:#DCE5F1}
.report-section-value small{font-size:12px;font-weight:400;color:var(--muted)}
.report-section p{font-size:14px;line-height:1.65;color:#BBC7D8;white-space:pre-wrap;margin:0;overflow-wrap:anywhere}
.report-long>summary{font-size:14px;font-weight:400;line-height:1.65;color:#BBC7D8;cursor:pointer;overflow-wrap:anywhere}
.report-long[open]>summary{color:var(--muted);font-size:12px;margin-bottom:12px}
.report-photo-section{padding:20px 0 24px;border-top:1px solid #27314270}
.report-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start;margin-top:14px}
.report-photos figure{margin:0;min-width:0}
.report-photos a{display:block}
.report-photos img{display:block;width:100%;height:122px;object-fit:cover;border-radius:14px;background:var(--surface)}
.report-photos figcaption{font-size:12px;color:var(--muted);margin-top:9px;text-align:center}
.report-photos .pdf-link{font-size:12px;color:#9DBDEE;line-height:1.6;min-height:80px;padding:14px 8px;background:var(--surface);border-radius:14px}
.report-extra,.report-history{border-top:1px solid #27314270;font-size:14px}
.report-extra>summary,.report-history>summary{min-height:56px;display:flex;align-items:center;justify-content:space-between;list-style:none;font-weight:400;color:var(--muted);cursor:pointer}
.report-extra>summary>span{font-size:12px}
.report-extra .report-section{border:0}
.report-history button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;background:transparent;border:0;min-height:52px;font-size:13px;font-weight:400;color:var(--muted);text-align:left}
.report-history .muted{font-size:13px;margin:12px 0 20px}
.trainer-more .client-menu-group{margin-bottom:24px}
.trainer-more .client-menu-row{font-size:15px;min-height:64px;padding:12px 0;font-weight:400}
.trainer-more .secondary-menu .client-menu-row{font-size:14px}
.trainer-more .client-logout{background:transparent;border:0;color:#C97878;font-size:14px;min-height:48px;padding:12px 0;margin-top:12px;width:auto;font-weight:400}
.trainer-product .utility-back{background:transparent;border:0;color:var(--muted);padding:0;min-height:44px;font-size:14px;font-weight:400;margin:0 0 16px}
.trainer-utility .topbar{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-bottom:24px}
.trainer-utility .topbar h1{font-size:27px;font-weight:550}
.trainer-utility .eyebrow{display:none}
.trainer-utility .card{border:0;border-radius:0;background:transparent;box-shadow:none;padding:20px 0;margin:0;border-top:1px solid #27314270}
.trainer-utility .card:first-of-type{border-top:0}
.trainer-utility .grid2,.trainer-utility .grid3{display:block}
.trainer-utility h2{font-size:18px;font-weight:500}
.trainer-utility p{font-size:14px;line-height:1.7}
.trainer-utility button{border:0;border-radius:15px;font-weight:400;font-size:14px;min-height:46px}
.trainer-utility .primary{min-height:52px;font-size:15px}
.trainer-utility input,.trainer-utility select,.trainer-utility textarea{border-radius:14px;background:var(--surface);min-height:48px;padding:12px 14px;font-size:15px;box-sizing:border-box;width:100%;max-width:100%}
.trainer-utility input[type=checkbox]{width:20px;min-height:20px}
.trainer-utility label{font-size:13px}
.trainer-utility .form-grid{grid-template-columns:1fr;gap:18px}
.utility-notes{color:var(--muted);font-size:13px;margin-bottom:20px}
.utility-notes>summary{min-height:44px;line-height:1.6;padding:12px 0;box-sizing:border-box;cursor:pointer;font-weight:400}
.trainer-utility .info{padding:12px 0;border:0;background:transparent;font-size:13px;margin:0}
.trainer-utility .table-wrap{overflow:visible}
.trainer-utility table,.trainer-utility tbody{display:block;width:100%}
.trainer-utility thead{display:none}
.trainer-utility tbody tr{display:grid;grid-template-columns:1fr;gap:12px;padding:18px 0;border-bottom:1px solid #27314270}
.trainer-utility td{display:block;border:0;padding:0;font-size:14px;overflow-wrap:anywhere}
.trainer-utility td[data-label]:not([data-label=''])::before{content:attr(data-label);display:block;font-size:12px;color:var(--muted);margin-bottom:6px}
.trainer-utility .schedule-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:20px 0;border-bottom:1px solid #27314270;min-width:0}
.trainer-utility .schedule-row>strong,.trainer-utility .schedule-row>label:nth-of-type(3){grid-column:1/-1}
@media(max-width:720px){#modal:has(.trainer-report-detail){position:fixed;inset:0;margin:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh;border-radius:0;padding:16px 20px 32px;box-shadow:none}}
/* Refinement against the approved trainer lists: less header height and shorter group gaps. */
.trainer-product .trainer-reports h1{font-size:26px;max-width:none;letter-spacing:-.7px}
.trainer-more .client-menu-group{padding-bottom:10px;margin-bottom:10px}
.trainer-more .client-menu-group.secondary-menu{padding-top:12px}
.trainer-more.client-page .client-menu-row{min-height:60px;padding:10px 0}
.trainer-report-detail .report-detail-status{margin-bottom:20px}
.trainer-report-detail .report-weight-focus{margin-bottom:22px}
.trainer-report-detail .report-section{padding:14px 0}
.trainer-report-detail .report-photo-section{padding:18px 0}
.trainer-report-detail .report-photos img{height:110px}
.trainer-utility #message-form label:has(select:disabled){display:none}
.trainer-utility #message-body{min-height:140px;height:140px}
.trainer-utility #message-form{gap:14px}
.trainer-utility #message-form .utility-notes{margin-bottom:0}
.trainer-utility #message-form .error:empty{display:none}
.trainer-utility #message-form .form-actions{margin-top:0}
.trainer-report-detail h2{margin-bottom:8px}
.trainer-report-detail .report-weight-focus{margin-bottom:18px}
.trainer-report-detail .report-photos img{height:100px}

/* Canonical digital business card, reused in preview, client and picker. */
.trainer-business-card{overflow:hidden;border:1px solid #263345;border-radius:24px;background:linear-gradient(145deg,#161f2e,#0d131f);box-shadow:0 16px 45px #0003;margin:16px 0;color:var(--text)}
.trainer-card-photo{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 30%}
.trainer-card-body{padding:24px}.trainer-card-body h2{font-size:clamp(28px,7vw,42px);line-height:1.07;letter-spacing:-1px;margin:0 0 12px;color:#f5f8fd}
.trainer-card-title{font-size:18px;color:#9dccff;margin:0 0 14px}.trainer-card-specializations{color:#b0bdce;font-size:14px;line-height:1.6}.trainer-card-experience{display:inline-block;color:#6ec8ff;background:#182d43;border:1px solid #294767;padding:6px 12px;border-radius:100px;font-size:13px}
.trainer-card-description{line-height:1.65;color:#dae1ea;white-space:pre-wrap}.trainer-card-locations{padding-top:16px;border-top:1px solid #293444;color:#a9b5c8;line-height:1.6}.trainer-card-contact{color:#9dccff;overflow-wrap:anywhere}
.trainer-picker-item{margin:16px 0 28px}.trainer-picker-item>.primary{width:100%;min-height:48px}.trainer-profile-editor form{display:grid;gap:15px}.trainer-profile-editor textarea{min-height:95px}.trainer-profile-editor input[type=checkbox]{width:auto}.trainer-profile-editor form>label:has(input[type=checkbox]){display:flex;align-items:center;gap:8px}.trainer-profile-editor>h2{margin-top:32px}.trainer-identity-link{margin:-6px 0 18px;min-height:36px}#saas-checklist progress{width:100%;accent-color:#6ebeff}
@media(min-width:700px){.trainer-business-card{max-width:520px}.trainer-picker-item{max-width:520px}.trainer-profile-editor{max-width:600px}}
/* Product readiness: preserve graphite surfaces and blue accents. */
.report-media-open{min-height:72px;min-width:120px;max-width:100%;border:1px solid var(--border,#263247);background:#141c2b;color:#8acbff;border-radius:12px;padding:16px}
.private-media{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:60px 16px 24px;border:0;background:#080c14;color:#edf4ff;box-sizing:border-box}
.private-media::backdrop{background:#080c14}.private-media img{width:100%;height:calc(100dvh - 96px);object-fit:contain}.private-media>button{position:absolute;right:16px;top:12px;width:44px;height:44px;font-size:28px}.private-media section{max-width:460px;margin:15vh auto}.private-media a{display:inline-flex;padding:14px 20px}
.trainer-revenue>button{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:88px;width:100%;text-align:left;background:transparent;color:inherit;border:0;border-radius:12px;padding:12px}
.trainer-revenue>button span{font-size:12px;color:#8b9cb2}.trainer-revenue>button strong{font-size:24px}.trainer-revenue>button:focus-visible{outline:2px solid #58b7ff}
.finance-detail footer{display:flex;justify-content:space-between;padding:20px 0;border-top:1px solid #283349;margin-top:20px}.receipt-row{display:grid;grid-template-columns:1fr auto;gap:8px;width:100%;text-align:left;min-height:64px;padding:14px 0;border:0;border-bottom:1px solid #253148;background:transparent;color:#edf4ff}.receipt-row small{grid-column:1/-1;color:#8b9cb2}.receipt-row span{overflow-wrap:anywhere}
.client-booking h2 button{font:inherit;text-align:left;padding:4px 0;min-height:44px;border:0;background:none;color:inherit}.client-booking{padding-block:12px}.booking-today{border-left:3px solid #59bcff}.status-no_show .muted,.status-late_cancel .muted{color:#d9b47e}.status-cancelled{opacity:.75}.booking-detail article{padding:12px 0;border-bottom:1px solid #253148}
.readiness-help details{padding:14px 0;border-bottom:1px solid #253148}.readiness-help summary{min-height:44px;display:flex;align-items:center;cursor:pointer}.readiness-help p{line-height:1.6;overflow-wrap:anywhere}.readiness-help>button{display:block;width:100%;margin-top:12px;min-height:44px;text-align:left}
.readiness-checklist{margin-top:24px;padding:18px;background:#141c2a;border:1px solid #253247;border-radius:16px}.readiness-checklist h2{font-size:18px}.readiness-checklist button{display:block;min-height:44px;width:100%;text-align:left;background:none;border:0;color:#c9d8ec}.readiness-checklist .is-done{color:#77bfff}.readiness-checklist p{font-size:13px;color:#8b9cb2}
.readiness-intro{max-width:min(440px,calc(100vw - 32px));padding:24px;border:1px solid #2d3b52;background:#111a29;color:#edf4ff;border-radius:20px;box-sizing:border-box}.readiness-intro::backdrop{background:#030812c9}.readiness-intro h1{font-size:26px}.readiness-intro p{line-height:1.6}.learning-controls{display:flex;flex-wrap:wrap;gap:8px}.learning-controls button{min-height:44px;max-width:100%;padding:10px 14px}.readiness-intro>.quiet-icon{float:right}
.learning-layer{position:fixed;inset:0;z-index:2000;pointer-events:none}.learning-spot{position:fixed;border-radius:12px;border:2px solid #65bcff;box-shadow:0 0 0 9999px #020711a8;pointer-events:none;box-sizing:border-box}.learning-tooltip{position:fixed;pointer-events:auto;background:#152138;border:1px solid #4175a7;border-radius:16px;padding:16px;box-sizing:border-box;max-height:calc(100dvh - 24px);overflow-y:auto;box-shadow:0 8px 40px #0008;color:#edf4ff}.learning-tooltip>.quiet-icon{float:right}.learning-tooltip h2{font-size:18px;margin:8px 0}.learning-tooltip p{font-size:14px;line-height:1.45;overflow-wrap:anywhere}.learning-tooltip small{color:#90a8c5}.learning-tooltip button:focus-visible,.readiness-intro button:focus-visible{outline:2px solid #75c6ff;outline-offset:2px}
@media(max-width:440px){.receipt-row{grid-template-columns:1fr}.receipt-row small{grid-column:1}.trainer-revenue>button strong{font-size:22px}.readiness-intro{padding:20px}.learning-tooltip{font-size:14px}}
/* Client UX: compact rhythm and one touch/button system; trainer surfaces retain their rules. */
.pilot-layout.client-product:not(.trainer-product){--client-radius:12px;--client-gap:16px;--client-control:48px;--client-primary:54px}
.client-product:not(.trainer-product) .main{padding-top:max(16px,env(safe-area-inset-top));padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));font-size:15px;line-height:1.45}
.client-product:not(.trainer-product) :is(button,a.client-menu-row,summary){min-height:44px;min-width:44px;box-sizing:border-box;max-width:100%;overflow-wrap:anywhere}
.client-product:not(.trainer-product) button{border-radius:var(--client-radius);padding:10px 14px;line-height:1.35}
.client-product:not(.trainer-product) button.primary{min-height:var(--client-primary);width:100%;padding:14px 16px;font-size:15px;line-height:1.5}
.client-product:not(.trainer-product) :is(.text-button,.quiet-icon){min-height:44px;background:transparent}
.client-product:not(.trainer-product) .quiet-icon{width:44px;height:44px;padding:10px;flex-shrink:0}
.client-product:not(.trainer-product) button.danger{min-height:44px;color:var(--danger);background:transparent}
.client-product:not(.trainer-product) :is(input,select,textarea){min-height:var(--client-control);border-radius:var(--client-radius);font-size:16px;box-sizing:border-box;width:100%;padding:10px 12px}
.client-product:not(.trainer-product) input[type=checkbox]{width:24px;min-height:24px}
.client-product:not(.trainer-product) :is(h1,h2,h3,p){overflow-wrap:anywhere}
.client-product:not(.trainer-product) h1{font-size:26px;line-height:1.2;margin:0 0 12px}
.client-product:not(.trainer-product) h2{font-size:18px;line-height:1.3;margin:0 0 10px}
.client-product:not(.trainer-product) h3{font-size:16px;line-height:1.35}
.client-product:not(.trainer-product) p{font-size:14px;line-height:1.5;margin:8px 0}
.client-product:not(.trainer-product) :is(.card,.today-program,.cardio-focus){padding:16px;border-radius:var(--client-radius)}
.client-product:not(.trainer-product) :is(.product-section,.home-tasks,.cardio-entry,.weekly-group){margin-top:16px}
.client-product:not(.trainer-product) :is(.product-title,.home-greeting){margin-bottom:16px}
.client-product:not(.trainer-product) .home-greeting h1 br{display:none}
.client-product:not(.trainer-product) .client-home{display:flex;flex-direction:column;gap:12px}
.client-product:not(.trainer-product) .home-greeting{order:0;margin:0}
.client-product:not(.trainer-product) .trainer-identity-link{order:1;align-self:flex-start;padding-block:8px}
.client-product:not(.trainer-product) .today-program{order:2;margin:0}
.client-product:not(.trainer-product) .next-booking{order:3;min-height:88px;padding:12px;margin:0;width:100%;text-align:left}
.client-product:not(.trainer-product) :is(.home-balance,.home-validity){order:4;margin:0}
.client-product:not(.trainer-product) .home-tasks{order:5;margin-top:4px}
.client-product:not(.trainer-product) .home-tasks button{min-height:56px;padding:8px 0}
.client-product:not(.trainer-product) .weekly-fields{gap:12px;padding:12px 0}
.client-product:not(.trainer-product) .weekly-group>summary{padding:12px 0}
.client-product:not(.trainer-product) .product-history{margin-top:20px}
.client-product:not(.trainer-product) :is(.history-paging,.history-filter){display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.client-product:not(.trainer-product) :is(.history-paging button,.history-filter button){flex:1;min-height:44px}
.client-product:not(.trainer-product) button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}
.client-product:not(.trainer-product) :is(button,a,input,select,textarea,summary):focus-visible{outline:2px solid #77bfff;outline-offset:3px}
.client-product:not(.trainer-product) button:disabled{opacity:.6;cursor:wait}
.cardio-record{padding:12px 0;border-bottom:1px solid var(--border);min-width:0}
.cardio-record-actions{display:flex;flex-wrap:wrap;gap:8px}
.cardio-dialog :is(button,input,select){min-height:44px;min-width:44px;max-width:100%;box-sizing:border-box}
.cardio-dialog button.primary{min-height:54px;width:100%}
.cardio-dialog label{display:block;margin:12px 0}.cardio-dialog :is(input,select){width:100%;font-size:16px}
.cardio-dialog :is(h1,h2,p,button){overflow-wrap:anywhere}
#modal:has(.cardio-dialog){width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 24px);box-sizing:border-box}
@media(max-width:720px){
 .client-product:not(.trainer-product) .main{padding-bottom:calc(100px + env(safe-area-inset-bottom))}
 .client-product.client-focused:not(.trainer-product) .main{padding-bottom:calc(110px + env(safe-area-inset-bottom))}
 .client-product:not(.trainer-product) .bottom-nav{padding-bottom:env(safe-area-inset-bottom);box-sizing:border-box}
 .client-product:not(.trainer-product) .bottom-nav button{flex:1;min-width:0;min-height:56px;padding:6px 2px;font-size:11px;line-height:1.2;border-radius:0}
 .client-product:not(.trainer-product) .bottom-nav button.active{color:var(--accent);background:var(--accent-soft)}
 .client-product:not(.trainer-product) .client-weekstrip{gap:2px;grid-template-columns:repeat(7,minmax(0,1fr))}
 .client-product:not(.trainer-product) .client-weekstrip button{min-width:0;min-height:54px;padding:6px 2px}
 .client-product:not(.trainer-product) .workout-footer{gap:8px;padding:10px 16px calc(10px + env(safe-area-inset-bottom))}
 .client-product:not(.trainer-product) .workout-footer button.primary{min-height:54px}
 body:has(.client-product:not(.trainer-product)) #toast{bottom:calc(86px + env(safe-area-inset-bottom));max-width:calc(100vw - 32px);box-sizing:border-box}
 body:has(.client-focused:not(.trainer-product)) #toast{bottom:calc(100px + env(safe-area-inset-bottom))}
}

.client-product:not(.trainer-product) .client-home>.readiness-checklist{order:6;margin-top:4px}

.platform-admin{max-width:960px;margin:auto;padding:16px 16px calc(24px + env(safe-area-inset-bottom));overflow-wrap:anywhere}.platform-admin nav{display:flex;gap:8px;overflow-x:auto;padding-block:8px}.platform-admin nav button{flex:none;min-height:44px}.platform-admin input,.platform-admin select,.platform-admin textarea{font-size:16px;max-width:100%;min-height:44px}.platform-admin button,.platform-admin summary{min-height:44px}.platform-admin .admin-list-row{display:flex;flex-direction:column;width:100%;text-align:left;gap:8px}.admin-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:12px}.admin-pagination{display:flex;gap:8px;align-items:center;justify-content:space-between}.platform-admin form{margin-block:16px}.platform-admin nav [aria-current=page]{border-color:#4F7CFF;color:#4F7CFF}

@media(max-width:600px){.trainer-page button,.trainer-page summary,dialog button,dialog summary{min-height:44px;min-width:44px}.trainer-page input,.trainer-page select,.trainer-page textarea,dialog input,dialog select,dialog textarea{font-size:16px!important}dialog{max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));max-width:calc(100vw - 24px);overflow-y:auto;padding-bottom:calc(16px + env(safe-area-inset-bottom))}dialog form button.primary{position:sticky;bottom:0}.trainer-dirty-dialog{z-index:20;width:min(420px,calc(100vw - 24px))}}

/* Client home v3: a weekly rhythm, one primary action, and factual package emphasis. */
.client-product:has(.client-home-v3){--client-home-bg:#0c1018;--client-home-panel:#151d29;--client-home-tile:#1a2634;--client-home-line:#2a394c;--client-home-text:#f0f5ff;--client-home-muted:#aec2df;--client-home-blue:#2f91ff;--client-home-cta:#1f75c9;--client-home-cta-hover:#2f89e4;--client-home-cta-pressed:#155fa6;background:var(--client-home-bg);color:var(--client-home-text)}
.client-product:has(.client-home-v3) .main{background:radial-gradient(ellipse 120% 42% at 50% 0%,#17283d 0%,var(--client-home-bg) 68%);color:var(--client-home-text)}
.client-home-v3{gap:14px!important;max-width:560px;margin-inline:auto;padding-bottom:18px}
.client-home-v3 .client-home-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0}
.client-home-v3 .client-home-top>div{min-width:0}
.client-home-v3 .client-home-top h1{margin:0 0 6px;font-size:26px;line-height:1.12;font-weight:720;letter-spacing:-.025em;color:var(--client-home-text);text-wrap:balance}
.client-home-v3 .client-home-top .muted{display:block;font-size:12px;line-height:1.4;text-transform:capitalize;color:var(--client-home-muted)}
.client-home-v3 .trainer-identity-link{flex:0 1 auto;max-width:38%;min-height:44px;padding:6px 0!important;text-align:right;font-size:12px!important;line-height:1.35;color:var(--client-home-muted)!important}
.client-week{position:relative;min-height:96px;margin-top:22px;padding:28px 10px 10px;border:1px solid #3a4d65;border-radius:16px;background:linear-gradient(180deg,#131d2a 0%,#101720 100%);box-sizing:border-box;box-shadow:0 12px 26px #03070e52}
.client-week-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}
.client-week-day{display:grid;grid-template-rows:16px 32px 8px;place-items:center;min-width:0;color:var(--client-home-muted);font-variant-numeric:tabular-nums}
.client-week-day small{font-size:10px;line-height:1;font-weight:600}
.client-week-day strong{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;font-size:14px;line-height:1;color:var(--client-home-text)}
.client-week-day.is-today strong{background:var(--client-home-blue);color:#07111f;box-shadow:0 5px 14px #0c5fb459}
.client-week-day i{width:4px;height:4px;border-radius:50%;background:transparent}
.client-week-day i.has-event{background:#83bcff;box-shadow:0 2px 7px #2f91ff99}
.client-fiksik-copy{position:absolute;right:9px;top:7px;font-size:10px;font-weight:650;color:#9eb6d2}
.client-fiksik-perch{position:absolute;right:12px;top:-40px;width:58px;height:51px;color:#9aafc7;pointer-events:none}
.client-fiksik-perch i{position:absolute;display:block;box-sizing:border-box;border:1.5px dashed currentColor}
.client-fiksik-perch .fiksik-head{width:16px;height:16px;left:12px;top:0;border-radius:50%}
.client-fiksik-perch .fiksik-body{width:20px;height:24px;left:12px;top:15px;border-radius:10px 10px 7px 7px;transform:rotate(8deg)}
.client-fiksik-perch .fiksik-arm{width:23px;height:12px;left:25px;top:20px;border-left:0;border-top:0;border-radius:0 0 12px 0;transform:rotate(20deg)}
.client-fiksik-perch .fiksik-leg-one{width:27px;height:13px;left:24px;top:35px;border-left:0;border-bottom:0;border-radius:0 12px 0 0;transform:rotate(7deg)}
.client-fiksik-perch .fiksik-leg-two{width:19px;height:15px;left:7px;top:35px;border-right:0;border-bottom:0;border-radius:13px 0 0 0;transform:rotate(-28deg)}
.client-primary-card{margin:0;padding:20px;border:1px solid #31547e;border-radius:16px;background:linear-gradient(145deg,#1b2e47 0%,var(--client-home-panel) 72%);box-shadow:0 16px 34px #03070e78;overflow:visible}
.client-primary-card.is-booking{background:linear-gradient(145deg,#1d3047 0%,#151d29 76%)}
.client-primary-label{display:flex;align-items:center;gap:9px;margin-bottom:14px;font-size:12px;font-weight:650;color:#bdd6f5}
.client-primary-label .nav-icon{width:20px;height:20px;padding:7px;border-radius:10px;background:#213d60;color:#83bcff}
.client-primary-card h2{margin:0;font-size:25px;line-height:1.16;font-weight:720;letter-spacing:-.025em;color:var(--client-home-text);text-wrap:balance}
.client-primary-card p{margin:8px 0 18px;font-size:13px;line-height:1.45;color:var(--client-home-muted)}
.client-primary-card>.primary{width:100%;min-height:54px;border-radius:13px;background:var(--client-home-cta);color:#f7fbff;font-weight:720;box-shadow:0 10px 22px #06182b80}
.client-primary-card>.primary:hover{background:var(--client-home-cta-hover)}
.client-primary-card>.primary:active{background:var(--client-home-cta-pressed);transform:translateY(1px)}
.client-secondary-action{display:grid!important;width:100%;min-height:52px;margin-top:10px;padding:9px 12px!important;border:1px solid #334861!important;border-radius:12px!important;background:#111a26!important;color:var(--client-home-text)!important;text-align:left}
.client-secondary-action span{font-size:10px;color:var(--client-home-muted)}
.client-secondary-action strong{font-size:13px;line-height:1.3;overflow-wrap:anywhere}
.client-home-v3>.client-package-focus{order:0!important;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:0;margin:0;padding:18px 20px;border:1px solid var(--client-home-line);border-radius:16px;background:var(--client-home-panel);overflow:hidden}
.client-package-focus>div{display:flex;flex-direction:column;justify-content:center;min-width:0}
.client-package-personal{padding-right:16px}
.client-package-online{padding-left:16px;border-left:1px solid var(--client-home-line)}
.client-package-number{display:block;margin:-4px 0 0;font-size:clamp(68px,20vw,96px);line-height:.9;font-weight:780;letter-spacing:-.04em;color:#4a9cff;font-variant-numeric:tabular-nums;white-space:nowrap}
.client-package-number.is-unknown{font-size:24px;line-height:1.2;letter-spacing:-.01em;white-space:normal}
.client-package-focus span{margin-top:7px;font-size:13px;font-weight:650;color:var(--client-home-text)}
.client-package-focus small{margin-top:5px;font-size:11px;line-height:1.35;color:var(--client-home-muted)}
.client-package-online>span{margin-top:0;color:var(--client-home-muted);font-weight:500}
.client-package-online strong{margin-top:7px;font-size:22px;color:var(--client-home-text)}
.client-home-v3>.home-nutrition{order:0!important;margin:0!important;padding:14px 16px!important;border-color:var(--client-home-line)!important;border-radius:14px!important;background:#111923!important}
.client-home-v3>.home-nutrition .client-menu-row{min-height:48px;color:var(--client-home-text)}
.client-product:has(.client-home-v3) .bottom-nav{background:#0d131d;border-top:1px solid var(--client-home-line);backdrop-filter:none}
.client-product:has(.client-home-v3) .bottom-nav button.active{color:var(--client-home-blue);background:#132238}
.client-product:has(.client-home-v3) :is(button,summary):focus-visible{outline:2px solid #7dbbff;outline-offset:2px}
@media(max-width:370px){.client-home-v3{gap:11px!important}.client-home-v3 .client-home-top h1{font-size:23px}.client-week{padding-inline:6px}.client-week-day strong{width:28px;height:28px}.client-primary-card{padding:17px}.client-primary-card h2{font-size:23px}.client-home-v3>.client-package-focus{padding:16px}.client-package-number{font-size:64px}}
@media(prefers-reduced-motion:reduce){.client-primary-card>.primary{transition:none}}
/* Trainer controls also include home and adapted legacy utility sections. */
.trainer-product :is(button,summary){min-height:44px;min-width:44px}
.pilot-layout:has(.trainer-home,.trainer-page,.utility-back) :is(button,summary){min-height:44px;min-width:44px}
.pilot-layout.trainer-product .main :is(button,summary){min-height:44px;min-width:44px}
/* Trainer menu density, preserving Graphite Blue and 44px controls. */
.trainer-more.client-page{padding-top:12px;padding-bottom:12px}
.trainer-more .client-menu-group{gap:2px;margin:6px 0;padding:0}
.trainer-more.client-page .client-menu-row{min-height:44px;padding:8px 10px;gap:10px}
.trainer-more .secondary-menu{margin-top:10px;padding-top:8px}
.trainer-more .menu-symbol{width:24px;height:24px;flex:0 0 24px}
.trainer-more .client-logout{min-height:44px;margin:8px 0 2px}
#trainer-checklist-slot:empty,#trainer-subscription-slot:empty{display:none}
.trainer-home .readiness-checklist{margin:12px 0;padding:14px}
.trainer-home .readiness-checklist button{min-height:44px}

/* Workout inputs retain Graphite Blue; RIR stays a compact optional control. */
.set-row.with-rir{grid-template-columns:18px minmax(0,1fr) minmax(0,1fr) 56px 40px;gap:6px}
.client-product .with-rir .set-field input{padding-left:8px;padding-right:27px;font-size:18px}
.with-rir .set-field span{right:5px;font-size:10px}
.rir-field{position:relative;margin:0;min-width:0}
.rir-field>span{position:absolute;left:8px;top:5px;font-size:10px;color:var(--muted);pointer-events:none}
.client-product .rir-field select{height:56px;min-height:56px;box-sizing:border-box;width:100%;margin:0;padding:20px 4px 4px 8px;border-radius:15px;background:var(--surface-2);color:var(--text);font-size:17px}
.rest-timer{margin:18px 0;padding:14px;border:1px solid var(--accent);border-radius:16px;background:var(--surface-2);display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}
.rest-timer[hidden]{display:none}
.rest-timer strong{font-size:24px;font-variant-numeric:tabular-nums}
.rest-timer>div{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}
.rest-timer button{font-size:13px;padding:8px 10px;min-height:44px}

/* Daily workout controls: next preview shares the footer's safe-area space. */
.workout-footer{flex-wrap:wrap;gap:8px}
.workout-next-preview{flex-basis:100%;font-size:13px;line-height:1.4;color:var(--muted);overflow-wrap:anywhere}
.workout-next-preview strong{color:var(--text);font-weight:500}
.set-row .set-comment{grid-column:1/-1;font-size:12px;color:var(--muted);width:100%}
.set-comment summary{padding:2px 0 8px;cursor:pointer}
.set-comment textarea{width:100%;box-sizing:border-box;font-size:16px}
.result-set-comment{flex-basis:100%}
.workout-volume{display:grid;gap:6px;padding:18px;margin:16px 0;border:1px solid var(--border);border-radius:16px;background:var(--surface)}
.workout-volume>strong{font-size:30px;font-variant-numeric:tabular-nums}
.volume-achievement{color:var(--accent);font-weight:600}
.workout-result{text-align:left;overflow-wrap:anywhere}
.workout-result h1{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.result-sets p{display:flex;gap:8px;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid var(--border)}
.result-sets p>span:first-child{width:100%;color:var(--muted)}
.result-sets p>span{font-size:13px}
.home-package-status{font-size:13px;color:var(--muted);margin:8px 0 12px}
.agenda-workout-action{font-size:12px;color:var(--accent);max-width:84px}
.trainer-appointment .workout-mode{min-width:0}
.trainer-appointment .appointment-facts{color:var(--muted);font-size:14px}
.workout-mode .exercise-secondary{flex-wrap:wrap}
.workout-mode .exercise-secondary .workout-add-exercise{flex:1 1 100%;order:-1;min-height:48px;border:1.5px dashed var(--accent);border-radius:12px;color:var(--accent);font-weight:600;font-size:15px;background:var(--accent-soft)}
.workout-mode .exercise-secondary .text-button{flex:0 0 auto;white-space:nowrap}
.workout-mode .exercise-secondary .workout-comment{flex:0 1 auto;min-width:0;white-space:nowrap}
@media(max-width:720px){
 .client-focused .main{padding-bottom:170px}
 .client-product .workout-footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--bg)}
 .workout-keyboard-open .workout-footer{position:static;margin-top:16px;padding:12px 0}
 .workout-footer .primary{min-width:140px;min-height:48px}
 .client-home .home-greeting h1{font-size:26px}
 .client-home .next-booking{margin-top:12px;margin-bottom:12px}
 .client-home .today-program{padding:18px}
}

/* Stable, touch-friendly per-view upload feedback. */
.weekly-photo-list{display:grid;gap:16px;margin:20px 0}
.weekly-photo-slot{min-width:0;padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}
.weekly-photo-slot input[type=file]{min-width:0;max-width:100%;font-size:14px}
.weekly-photo-feedback{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;margin-top:8px;font-size:14px}
.weekly-photo-feedback button{min-height:44px;padding:8px 12px}
.weekly-photo-feedback button[hidden]{display:none}
.weekly-photo-feedback [data-photo-status]{min-width:0;overflow-wrap:anywhere}

/* Appointment actions share the canonical mobile workout layout. */
button.client-next{width:100%;text-align:left;color:inherit;cursor:pointer}
button.detail-booking{width:100%;text-align:left;color:inherit;min-height:64px;cursor:pointer}
.trainer-appointment{padding-bottom:calc(96px + env(safe-area-inset-bottom));min-width:0}
.appointment-heading h1{overflow-wrap:anywhere}
.appointment-heading p{color:var(--muted);margin:8px 0 24px}
.trainer-appointment .workout-focused{padding-top:8px}

/* One canonical success block, compact at 360/390/412 px. */
.workout-volume .reward-art{width:100px;height:100px;margin:0 auto 8px}
.workout-volume h1{font-size:26px;line-height:1.2;margin:0}
.workout-volume .completion-title{margin:0 0 8px}
.workout-volume>strong{font-size:clamp(34px,10vw,46px);line-height:1.1}
.workout-volume,.volume-comparison,.achievement-badge{min-width:0;overflow-wrap:anywhere}
.volume-comparison{font-size:16px;line-height:1.5;margin:10px 0}
.achievement-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.achievement-badge{max-width:100%;box-sizing:border-box;padding:8px 12px;border-radius:12px;background:var(--surface-2);font-size:14px;color:var(--text)}
.achievement-summary{padding:16px 0;text-align:left}
.achievement-summary h2{font-size:20px}
.achievement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.achievement-grid>div{display:grid;gap:8px;padding:12px;border:1px solid var(--border);border-radius:14px;overflow-wrap:anywhere}
.achievement-grid span{font-size:13px;color:var(--muted)}
.achievement-grid strong{font-size:20px}
.workout-result .result-sets{text-align:left}
/* Engagement uses the established Graphite Blue product palette. */
.client-product .engagement-package{margin:20px 0 28px;padding:24px;border:1px solid var(--border);border-radius:20px;background:var(--surface,#172033);display:grid;gap:20px}
.client-product .engagement-package>div{display:flex;flex-direction:column;gap:8px;min-width:0}
.client-product .engagement-package .package-remaining{display:block;font-size:clamp(76px,23vw,112px);line-height:1;letter-spacing:-.045em;font-weight:750;color:var(--accent,#5599ff);overflow-wrap:anywhere}
.client-product .package-online strong{font-size:24px}
.client-product .compact-package{padding:16px;margin:12px 0}.client-product .compact-package .package-remaining{font-size:36px;letter-spacing:0}
.client-product .engagement-compact,.client-product .home-nutrition,.client-product .trainer-engagement{margin:24px 0;padding:18px;border:1px solid var(--border);border-radius:16px;min-width:0}
.client-product .engagement-inline{display:flex;gap:16px;flex-wrap:wrap}.client-product .engagement-inline strong{color:var(--accent,#5599ff)}
.client-product .achievement-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:24px 0}.client-product .achievement-tabs button{min-height:48px;padding:10px;border-radius:12px;white-space:normal}.client-product .achievement-tabs button.active{background:var(--accent,#5599ff);color:#071120}
.client-product .achievement-category{margin:28px 0}.client-product .achievement-item{display:flex;align-items:flex-start;gap:14px;padding:18px 0;border-bottom:1px solid var(--border)}.client-product .achievement-item>div{min-width:0;flex:1}.client-product .achievement-item h3{margin:0 0 6px}.client-product .achievement-item p{margin:8px 0;overflow-wrap:anywhere}.client-product .award-icon{flex:0 0 40px;width:40px;min-height:40px;display:grid;place-items:center;font-size:24px;border-radius:12px;background:#223149}.client-product .is-locked .award-icon{filter:grayscale(1);color:#a2aabc}.client-product .award-status{font-size:13px;color:var(--muted,#9ba7bb)}.client-product .is-earned .award-status{color:#88cbb3}
.client-product .nutrition-numbers,.client-product .nutrition-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0}.client-product .nutrition-numbers>div{display:flex;flex-direction:column;gap:8px;min-width:0}.client-product .nutrition-numbers strong{font-size:24px;overflow-wrap:anywhere}.client-product .nutrition-numbers small,.client-product .nutrition-numbers .muted{font-size:12px;overflow-wrap:anywhere}.client-product .nutrition-fields label{min-width:0;font-size:13px}.client-product .nutrition-fields input{width:100%;min-width:0;box-sizing:border-box;min-height:48px;margin-top:8px;padding:10px}.client-product .nutrition-calories{font-size:14px;overflow-wrap:anywhere}.client-product .client-nutrition form>.primary{width:100%;min-height:48px}
.client-product .nutrition-question{border:0;padding:0;margin:24px 0;min-width:0}.client-product .nutrition-question legend{font-size:20px;line-height:1.4;margin-bottom:16px}.client-product .nutrition-question label{display:flex;align-items:center;gap:12px;min-height:48px;padding:10px 14px;border:1px solid var(--border);border-radius:12px;margin:8px 0}.client-product .nutrition-question input{width:20px;height:20px;margin:0;accent-color:var(--accent,#5599ff)}.client-product .nutrition-history article{border-top:1px solid var(--border);margin:18px 0;padding:12px 0}.client-product .home-nutrition .client-menu-row{padding:0;min-height:48px;width:100%}.client-product .home-nutrition .client-menu-row small{display:block;font-size:13px;margin-top:6px;color:var(--muted,#9ba7bb)}
@media(max-width:420px){.client-product .nutrition-numbers,.client-product .nutrition-fields{gap:8px}.client-product .nutrition-numbers strong{font-size:21px}.client-product .engagement-package{padding:20px}}
/* Explicit home order keeps new flex children below Start/Resume. */
.client-product:not(.trainer-product) .client-home>.trainer-identity-link{min-height:44px}
.client-product:not(.trainer-product) .client-home>.engagement-package{order:3;margin:0;padding:16px}
.client-product:not(.trainer-product) .client-home>.next-booking{order:4}
.client-product:not(.trainer-product) .client-home>.home-nutrition{order:5;margin:0}
.client-product:not(.trainer-product) .client-home>.home-tasks{order:6}
.client-product:not(.trainer-product) .client-home>.readiness-checklist{order:7}

/* Trainer information hierarchy. Client styles and business rules stay independent. */
.trainer-product .bottom-nav{grid-template-columns:repeat(4,minmax(0,1fr))}
.client-detail>.detail-tabs{display:none}
.client-detail .client-key-facts{display:flex;flex-wrap:wrap;gap:20px;padding:20px 0;border-bottom:1px solid var(--border,#263143)}
.client-detail .client-key-facts>div{flex:1 1 130px;min-width:0}
.client-detail .client-key-facts strong{font-size:48px;line-height:1.15}
.client-detail .client-key-facts .fact-date{font-size:24px;display:block;margin-top:8px}
.client-detail .client-main-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}
.client-detail .card-sections{margin:20px 0}
.client-detail .card-sections .client-menu-row{min-height:52px;padding:12px 0;display:flex;justify-content:space-between;width:100%;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--border,#263143)}
.client-detail button,.trainer-payment button,.subscription-notice button{min-height:44px;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.client-detail [data-pilot-panel]{min-width:0}
.trainer-library .topbar{padding-top:12px}
.trainer-library .topbar h1{display:none}
.trainer-programs .trainer-filters>button{flex:1;min-width:0}
.trainer-home .trainer-agenda>.primary{width:100%;margin-top:16px;min-height:48px}
.trainer-home .agenda-row:first-child{border-left:3px solid var(--blue,#5494ff);padding-left:10px}
.trainer-product .trainer-home .trainer-attention>button{min-height:48px;gap:10px;white-space:normal;text-align:left}
.subscription-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.subscription-notice p{flex:1 1 200px;margin:0}
.trainer-payment .table-wrap{max-width:100%;overflow:auto}
.trainer-payment .card{padding:14px}


/* Mobile hotfix: readable stacked content above the persistent navigation. */
.trainer-earnings{display:grid;width:100%;gap:8px;text-align:left;margin:20px 0;padding:16px;border:1px solid var(--border,#273142);border-radius:16px;touch-action:pan-y;color:inherit}
.trainer-earnings>span:first-child{font-size:14px;color:var(--muted)}
.trainer-earnings>strong{font-size:28px;line-height:1.2}
.earnings-pages{display:flex;gap:6px;justify-content:center}
.earnings-pages i{width:6px;height:6px;border-radius:50%;background:var(--muted);opacity:.35}
.earnings-pages i.active{background:var(--accent,#5599ff);opacity:1}
.trainer-engagement .engagement-inline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}
.trainer-engagement .engagement-inline>span{display:grid;gap:6px;font-size:12px;min-width:0}
.trainer-engagement .engagement-inline strong{display:block;font-size:24px}
.trainer-engagement .engagement-package>div{display:grid;gap:6px;padding:12px 0}
.trainer-engagement .engagement-package strong{font-size:28px}
.trainer-product .trainer-home .package-attention>button{display:flex;width:100%;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border,#273142)}
.package-attention-copy{display:grid;gap:6px;min-width:0}
.package-attention-copy strong{font-weight:500;overflow-wrap:anywhere}
.package-attention-copy small{color:var(--muted)}
#saas-checklist{padding:12px 16px;margin-top:20px}
#saas-checklist>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-size:14px}
@media(max-width:700px){
 .pilot-layout .main{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}
 .pilot-layout.client-focused .main{padding-bottom:24px}
 dialog{max-height:calc(100dvh - 24px);padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}
 .client-prices .table-wrap{overflow:visible}
 .client-prices table,.client-prices tbody,.client-prices tr,.client-prices td{display:block;width:100%;min-width:0;box-sizing:border-box}
 .client-prices thead{display:none}
 .client-prices tr{padding:14px;border:1px solid var(--border,#273142);border-radius:12px;margin:12px 0}
 .client-prices td{padding:6px 0;border:0;white-space:normal;overflow-wrap:anywhere}
 .client-prices td:first-child{font-weight:600;margin-bottom:6px}
 .client-prices td[data-label]::before{content:attr(data-label);display:block;font-size:12px;color:var(--muted);margin-bottom:4px}
 .client-prices td:last-child{display:flex;flex-wrap:wrap;gap:8px}
 .client-prices td button{width:auto;min-width:100px;min-height:44px;flex:1 1 100px}
 .client-detail button.detail-booking,.client-history button.detail-booking{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:12px;margin:10px 0;min-height:44px;border:1px solid var(--border,#273142);border-radius:12px;text-align:left;white-space:normal;height:auto}
 .client-detail .detail-booking strong,.client-history .detail-booking strong{font-size:14px;line-height:1.3;overflow-wrap:anywhere}
 .client-detail .detail-booking>span,.client-history .detail-booking>span{font-size:12px}
 .client-detail .detail-booking .badge{justify-self:start}
 .client-bookings .client-booking{min-height:0;padding:12px;margin:10px 0;border:1px solid var(--border,#273142);border-radius:12px}
 .client-bookings .client-booking h2{font-size:16px;margin:4px 0}
 .client-bookings .booking-options>summary{min-width:44px;min-height:44px}
}
/* One active set action; completed facts remain visible for corrections. */
.workout-mode .set-row{grid-template-columns:24px minmax(0,1fr) minmax(0,1fr);padding:12px;border:1px solid var(--border,#303c50);border-radius:14px;margin-bottom:12px}
.workout-mode .set-row.is-active{border-color:var(--accent,#619bff)}
.workout-mode .set-row.is-complete .set-number{color:#78cba2}
.workout-mode .set-complete,.workout-mode .set-comment{grid-column:1/-1}
.workout-mode .set-complete{width:100%;min-height:52px;font-size:16px;margin-top:8px}
.rest-choice{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0}
.rest-choice select{width:auto;min-width:110px;min-height:44px}
.actual-rir{border:0;padding:12px 0;margin:12px 0}
.actual-rir>div{display:flex;gap:8px}
.actual-rir label{flex:1;position:relative}
.actual-rir input{position:absolute;opacity:0;width:1px;height:1px}
.actual-rir span{font-size:13px}
.actual-rir label span{display:grid;place-items:center;min-height:46px;border:1px solid var(--border,#303c50);border-radius:10px}
.actual-rir input:checked+span{background:#264b7e;border-color:#7baeff}
.actual-rir input:focus-visible+span{outline:2px solid #7baeff}
.workout-history-card{display:block;width:100%;padding:18px!important;margin:0 0 16px!important;border:1px solid var(--border,#303c50)!important;border-radius:16px;background:var(--surface,#17202d)}
.client-history button.workout-history-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left}
.client-history .workout-history-card>*{width:auto;max-width:100%;white-space:normal;overflow-wrap:normal}

.workout-mode .workout-footer.is-pending-sets{position:static;inset:auto;padding:12px 0;margin-top:16px;background:transparent}
.workout-mode .timed-facts{grid-column:2/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.workout-mode .timed-facts .set-field span{position:static;display:block;font-size:10px;margin-bottom:4px}
.workout-mode .timed-facts .set-field input{padding-right:12px}


.workout-edit-dialog,.my-cycle-tools,.microcycle-control{display:grid;gap:12px;max-width:100%;min-width:0}.workout-edit-dialog label,.my-cycle-tools label,.microcycle-control label{display:grid;gap:6px}.workout-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.workout-edit-dialog input,.workout-edit-dialog select,.workout-edit-dialog textarea,.my-cycle-tools select,.microcycle-control select{width:100%;min-width:0;box-sizing:border-box}.workout-edit-dialog fieldset{min-width:0;display:grid;gap:8px}.workout-edit-dialog fieldset label{display:flex;align-items:center}.workout-edit-dialog fieldset input{width:auto}.plan-cycle-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:end}.plan-cycle-toolbar label{flex:1 1 150px;min-width:0}.plan-cycle-toolbar select{width:100%;min-width:0}
.plan-ambiguity{padding:10px 0;color:#f3bf68}.plan-ambiguity select{width:100%;min-width:0}.workout-edit-dialog{max-height:calc(100dvh - 28px);overflow-y:auto;overflow-x:hidden;overflow-wrap:anywhere}
@media(max-width:420px){.workout-edit-grid{grid-template-columns:minmax(0,1fr)}.exercise-card input,.exercise-card select{max-width:100%;min-width:0}}
/* Compact report controls and private cycle summary on narrow screens. */
.trainer-report-detail .report-section form#trainer-correction,
.client-cycle-settings { display: grid; gap: .65rem; }
.trainer-report-detail #trainer-correction label { display: grid; gap: .25rem; min-width: 0; }
.trainer-report-detail #trainer-correction input { width: 100%; min-width: 0; box-sizing: border-box; }
.trainer-report-detail [data-pilot="trainer_dynamics"] { width: 100%; margin: .8rem 0; }
.client-cycle { margin: 1rem 0; padding: .9rem; border: 1px solid var(--border); border-radius: 12px; }
.client-cycle h2 { margin-top: 0; }
.trainer-report-row .report-row-status { overflow-wrap: anywhere; }
@media (max-width: 390px) {
  .trainer-report-detail, .client-cycle { min-width: 0; }
  .weight-chart svg { width: 100%; height: auto; }
  .report-row-content { min-width: 0; }
}

.client-weight-overview{display:block;width:100%;margin:12px 0;padding:16px;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:16px;color:var(--text)}
.client-weight-overview .card-head,.client-weight-facts{display:flex;justify-content:space-between;gap:8px}
.client-weight-facts>span{display:flex;min-width:0;flex:1;flex-direction:column;color:var(--text-muted);font-size:12px}
.client-weight-facts strong{margin-top:4px;color:var(--text);font-size:15px}
.client-weight-overview .weight-chart svg{display:block;width:100%;max-height:150px;margin-top:8px}
.client-weight-overview .text-button{display:block;margin-top:6px;color:var(--accent)}
.client-strength-frequency{margin:12px 0;padding:12px;border:1px solid var(--border);border-radius:12px}
.client-strength-frequency label{display:block}
.client-strength-frequency select{width:100%;margin-top:6px}
@media(max-width:420px){.client-weight-overview{padding:12px}.client-weight-facts{gap:4px}.client-weight-facts strong{font-size:14px}}

/* Trainer-only client directory: compact card grid without changing client actions. */
.trainer-clients .trainer-client-list{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin-bottom:24px}
.trainer-clients .trainer-client-item{min-width:0;background:none;border:0;border-bottom:1px solid var(--border);border-radius:0;overflow:visible;display:flex;flex-direction:column}
.trainer-clients .trainer-client-row{position:relative;display:flex;flex-direction:row;align-items:center;gap:12px;width:100%;flex:1;min-height:64px;padding:10px 0;text-align:left;border:0;background:transparent;box-sizing:border-box}
.trainer-clients .trainer-client-info{display:grid;gap:2px;width:100%;min-width:0;flex:1}
.trainer-clients .trainer-client-info strong{font-size:16px;font-weight:600;line-height:1.3;overflow-wrap:anywhere}
.trainer-clients .trainer-client-info :is(.muted,.client-row-balance,.client-row-next){font-size:13px;line-height:1.4;overflow-wrap:anywhere}
.trainer-clients .trainer-client-info .client-row-balance{margin:0;color:#b8c8df}
.trainer-clients .trainer-client-row .client-initials{width:40px;height:40px;min-height:40px;font-size:14px;border-radius:12px;flex-shrink:0}
.trainer-clients .trainer-client-row .day-chevron{position:static;margin-left:auto;color:var(--muted);font-size:18px;flex-shrink:0}
.trainer-clients .trainer-client-item .row-approve{margin:0 0 10px 52px;max-width:calc(100% - 52px);white-space:normal}
.trainer-clients .actions{display:flex;flex-direction:column;gap:10px;margin:0 0 4px;}
.trainer-clients .actions .text-button{align-self:flex-start;background:transparent;padding:10px 0;color:var(--accent);font-size:14px;font-weight:500;}
@media(max-width:720px){.trainer-clients .trainer-client-row{min-height:60px;padding:9px 0}}
@media(max-width:340px){.trainer-clients .trainer-client-list{grid-template-columns:minmax(0,1fr)}}
/* Trainer program editor: show the selected three-day week without hiding other data. */
#plan-editor .plan-import-first{display:grid;gap:6px;margin:12px 0 16px}
#plan-editor .plan-import-first button{min-height:52px;width:100%;border-radius:14px}
#plan-editor .plan-import-first small{font-size:12px;color:var(--muted)}
#plan-editor .plan-week-picker{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;padding:8px 0;margin:8px 0 4px}
#plan-editor .plan-week-picker button{flex:none;min-height:44px;padding:9px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;color:var(--muted);scroll-snap-align:start}
#plan-editor .plan-week-picker button.active{background:var(--accent-soft);border-color:var(--accent);color:var(--text);font-weight:650}
#plan-editor .plan-week-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:2px 0 18px}
#plan-editor .plan-week-actions span{font-size:11px;color:var(--muted);line-height:1.4}
#plan-editor .plan-week-actions button{flex:none;padding:8px 10px;min-height:44px;font-size:12px;border-radius:10px}

/* Workout focus: show only the next unfinished set; completed sets stay in DOM
   for draft serialization and are explicitly expandable for corrections. */
.workout-mode .set-rows.is-one-at-a-time>.set-row{display:none}
.workout-mode .set-rows.is-one-at-a-time>.set-row.is-active{display:grid}
.workout-mode .set-rows.is-one-at-a-time.show-completed>.set-row.is-complete{display:grid}
.workout-mode .set-history-toggle{display:block;width:100%;min-height:44px;margin:7px 0 18px;text-align:left;font-size:13px;color:var(--accent)}
.workout-mode .set-history-toggle[hidden]{display:none}
.workout-mode .set-flow-finished{padding:18px 14px;margin:10px 0;border-radius:14px;border:1px solid var(--border);background:var(--surface-2);font-size:14px;line-height:1.45;color:var(--text)}
.workout-mode .sets-heading [data-set-flow-step]{font-variant-numeric:tabular-nums;white-space:normal;text-align:right}

/* Workout screen: visual hierarchy without outer decorative cards. */
.workout-mode .set-row,
.workout-mode .set-row.is-active,
.workout-mode .set-row.is-complete{
  border:0;
  box-shadow:none;
  background:transparent;
  border-radius:0;
  padding:0;
  margin-bottom:10px;
}
.workout-mode .previous-actual,
.client-product .workout-mode .previous-actual{
  background:transparent;
  border:0;
  box-shadow:none;
  border-radius:0;
  padding:0;
  margin:10px 0 24px;
}
.workout-mode .set-flow-finished{
  background:transparent;
  border:0;
  border-radius:0;
  padding:12px 0;
}

/* Live workout: focus on a single set, not a long scrolling list.
   The companion sticks directly above weight/reps when the keyboard opens. */
.workout-mode.workout-focus-one{max-width:560px}
.workout-focus-one .focus-header{margin-bottom:9px}
.workout-focus-one .progress-track{margin-bottom:12px}
.workout-focus-one .workout-day{font-size:12px!important;margin-bottom:4px}
.workout-focus-one .workout-changes{margin:2px 0 10px;color:var(--muted);font-size:12px}
.workout-focus-one .workout-changes>summary{cursor:pointer;list-style:revert;min-height:32px;display:list-item;padding:7px 0}
.workout-focus-one .workout-changes-list{max-height:190px;overflow:auto;padding:5px 10px;border-left:2px solid var(--border)}
.workout-focus-one .workout-changes-list .workout-change{margin:6px 0;line-height:1.4;overflow-wrap:anywhere}
.workout-focus-one .exercise-heading h1{font-size:clamp(22px,5.5vw,27px);line-height:1.17;margin:0 0 9px;overflow-wrap:anywhere}
.workout-focus-one .parameter-chips{gap:6px}
.workout-focus-one .parameter-chips>span{padding:6px 8px;font-size:12px}
.workout-focus-one .exercise-cue{margin:2px 0}
.workout-focus-one .exercise-cue>summary{padding:6px 0;min-height:32px}
.workout-focus-one .workout-previous-compact,
.client-product .workout-focus-one .workout-previous-compact{
  margin:5px 0 12px;
  padding:0;
  background:transparent;
  border:0;
  border-radius:0;
  line-height:1.4;
  font-size:12px!important;
  color:var(--muted);
  overflow-wrap:anywhere;
}
.workout-focus-one .workout-previous-compact strong{font-size:12px;font-weight:500;color:var(--text)}
.workout-focus-one .workout-set-hud{
  position:sticky;
  top:calc(env(safe-area-inset-top,0px) + 4px);
  z-index:11;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-width:0;
  padding:2px 0;
  margin:0 0 8px;
  background:var(--bg);
  border:0;
  border-radius:0;
}
.workout-focus-one .workout-set-title{display:grid;gap:4px;min-width:0}
.workout-focus-one .workout-set-title h2{font-size:17px;margin:0}
.workout-focus-one .workout-set-title [data-set-flow-step]{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.workout-focus-one .set-row.is-active{margin-bottom:4px}
.workout-focus-one .set-rows{gap:6px}
.workout-focus-one .set-history-toggle{margin:2px 0 8px;padding:7px 0;min-height:38px}
.workout-focus-one .exercise-secondary{margin-top:8px}
.workout-focus-one .set-comment>summary{padding:7px 0}
.workout-focus-one .workout-footer.is-pending-sets{margin-top:8px;padding-top:8px}
@media(max-width:720px){
 .pilot-layout.client-focused:has(.workout-focus-one) .main{padding:8px 14px 45px}
 .trainer-appointment:has(.workout-focus-one){padding-bottom:24px}
 .workout-keyboard-open .workout-focus-one .workout-set-hud{top:0}
 .workout-keyboard-open .workout-focus-one .workout-footer{position:static;inset:auto;margin-top:10px}
}
/* Trainer logging previously added a large client heading above every approach. */
.trainer-appointment:has(.workout-focus-one)>button[data-pilot="appointment_back"]{display:none}
.trainer-appointment:has(.workout-focus-one)>.appointment-heading{margin:0 0 5px}
.trainer-appointment:has(.workout-focus-one)>.appointment-heading h1{
  font-size:13px;
  font-weight:500;
  line-height:1.35;
  margin:0;
  color:var(--muted);
  overflow-wrap:anywhere;
}
.trainer-appointment:has(.workout-focus-one)>.appointment-heading p{display:none}
/* Completed session: no separate mascot above the result; one duo inside trophy card. */
.workout-complete .reward-art.victory-pair{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:2px;
  width:min(100%,260px)!important;
  height:126px!important;
  margin:2px auto 12px!important;
  overflow:visible;
}
.workout-complete .reward-art.victory-pair .victory-trophy{
  width:120px;
  height:120px;
  flex:0 0 120px;
}
.workout-complete .reward-art.victory-pair .victory-trophy svg{width:100%;height:100%}
@media(max-width:360px){
 .workout-complete .reward-art.victory-pair{width:min(100%,230px)!important;height:116px!important}
 .workout-complete .reward-art.victory-pair .victory-trophy{width:110px;height:110px;flex-basis:110px}
}

/* Trainer home v5: reference-led mobile trainer workspace. */
body:has(.trainer-home-v5){background:radial-gradient(ellipse 88% 39% at 52% 2%,#1a3767 0%,transparent 80%),#071326}
.trainer-home-v5{--home-bg:#071326;--home-panel:#10213e;--home-tile:#132a4b;--home-line:#2b4d79;--home-text:#f0f5ff;--home-muted:#aec2df;--home-blue:#2f91ff;--home-blue-pressed:#1e70d6;min-width:0;max-width:560px;margin:auto;color:var(--home-text)}
.trainer-product:has(.trainer-home-v5) .client-brand{margin:0 0 12px;color:#edf3ff;font-size:22px}
.trainer-product:has(.trainer-home-v5) .client-brand .brand-blue{color:#75adff}
.trainer-home-v5 .trainer-home-top{min-height:84px;margin:0 0 0;padding:0 116px 0 2px}
.trainer-home-v5 .trainer-home-top>div{min-width:0}
.trainer-home-v5 .trainer-home-kicker{display:block;margin-bottom:8px;color:#9bb5dc;font-size:11px;font-weight:700;letter-spacing:.11em}
.trainer-home-v5 .trainer-home-top h1{margin:0 0 8px;font-size:24px;font-weight:700;line-height:1.12;letter-spacing:-.03em;overflow-wrap:anywhere}
.trainer-home-v5 .trainer-home-top h1 em{color:#4aa5ff;font-size:30px;font-style:normal}
.trainer-home-v5 .trainer-home-top p{margin:0;color:#c4d4eb;font-size:13px;line-height:1.35;text-transform:capitalize}
.trainer-home-v5 .home-calendar{position:relative;min-width:0;margin:0;padding:11px 13px 9px;border:1px solid var(--home-line);border-radius:18px;background:linear-gradient(160deg,#132a4a,#0e203d);box-shadow:none}
.trainer-home-v5 .trainer-home-companion{position:absolute;right:14px;top:-105px;width:116px;height:102px;pointer-events:none}
.trainer-home-v5 .companion-outline{position:absolute;inset:0 0 15px}
.trainer-home-v5 .companion-outline i{position:absolute;top:2px;left:38px;width:41px;height:41px;border:2px dashed #75b6ff;border-radius:50%;background:#102649}
.trainer-home-v5 .companion-outline b{position:absolute;top:43px;left:26px;width:66px;height:37px;border:2px dashed #75b6ff;border-radius:28px 28px 17px 17px;background:#102649}
.trainer-home-v5 .companion-outline b::after{content:"";position:absolute;left:-12px;bottom:-5px;width:87px;height:11px;border-bottom:2px dashed #75b6ff;border-radius:50%}
.trainer-home-v5 .trainer-home-companion small{position:absolute;bottom:0;left:-7px;width:128px;color:#aed4ff;font-size:11px;font-weight:650;text-align:center;white-space:nowrap}
.trainer-home-v5 .home-calendar-header{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-bottom:8px}
.trainer-home-v5 .home-calendar-month{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;gap:2px;min-width:0;flex:1}
.trainer-home-v5 .home-calendar-month button{display:grid;place-items:center;width:36px;height:44px;padding:0;border:0;border-radius:8px;background:transparent;color:#94b9ed;font-size:24px}
.trainer-home-v5 .home-calendar-month strong{min-width:0;color:#eff5ff;font-size:14px;font-weight:650;line-height:1.2;text-align:center;white-space:nowrap}
.trainer-home-v5 .home-calendar-link{flex:none;display:flex;align-items:center;gap:3px;min-height:44px;padding:4px 2px;border:0;background:transparent;color:#a1cfff;font-size:12px;font-weight:650;white-space:nowrap}
.trainer-home-v5 .home-calendar-link span{font-size:19px}
.trainer-home-v5 .home-calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}
.trainer-home-v5 .home-calendar-day{display:grid;justify-items:center;align-content:center;gap:4px;min-width:0;min-height:62px;padding:5px 0;border:0;border-radius:9px;background:#0c1b34;color:#b0c6e4;font-size:11px;line-height:1}
.trainer-home-v5 .home-calendar-day strong{color:#eef5ff;font-size:19px;font-weight:680;font-variant-numeric:tabular-nums}
.trainer-home-v5 .home-calendar-day small{display:grid;place-items:center;min-width:16px;height:13px;color:#79a9e9;font-size:10px;font-weight:650}
.trainer-home-v5 .home-calendar-day small.is-empty{visibility:hidden}
.trainer-home-v5 .home-calendar-day.active{background:#298fff;color:#fff}
.trainer-home-v5 .home-calendar-day.active :is(strong,small){color:#fff}
.trainer-home-v5 .home-calendar-day.is-today:not(.active) strong{text-decoration:underline;text-decoration-color:#55a6ff;text-underline-offset:4px}
.trainer-home-v5 .trainer-agenda{margin-top:15px}
.trainer-home-v5 .trainer-agenda-heading{display:flex;align-items:end;justify-content:space-between;gap:8px;margin-bottom:8px}
.trainer-home-v5 .home-calendar-overline{display:block;color:#76b9ff;font-size:11px;font-weight:700;letter-spacing:.09em}
.trainer-home-v5 .trainer-agenda-heading h2{margin:3px 0 0;font-size:19px;font-weight:680;line-height:1.2;letter-spacing:-.025em}
.trainer-home-v5 .trainer-agenda-heading button{min-height:44px;padding:4px 2px 4px 8px;border:0;background:transparent;color:#9acbff;font-size:12px}
.trainer-home-v5 .trainer-agenda-heading button span{margin-left:3px;font-size:19px}
.trainer-home-v5 .home-calendar-list{display:grid;gap:4px}
.trainer-home-v5 .home-calendar-list-heading{display:flex;justify-content:space-between;gap:6px;color:#b5cae5;font-size:11px}
.trainer-home-v5 .home-calendar-list-heading strong{font-size:11px;font-weight:600}
.trainer-home-v5 .home-calendar-list-heading span{font-size:11px}
.trainer-home-v5 .home-booking-row{display:grid;grid-template-columns:43px 34px minmax(0,1fr) 15px;align-items:center;gap:9px;width:100%;min-height:56px;padding:7px 10px;border:1px solid #24436b;border-radius:12px;background:#142b4a;text-align:left}
.trainer-home-v5 .home-booking-row time{color:#d0e4ff;font-size:13px;font-weight:680;font-variant-numeric:tabular-nums}
.trainer-home-v5 .home-booking-avatar{display:grid;place-items:center;width:34px;height:34px;border:1px solid #4c83bf;border-radius:50%;background:#2b5683;color:#f1f8ff;font-size:15px;font-weight:700}
.trainer-home-v5 .home-booking-copy{display:grid;gap:2px;min-width:0}
.trainer-home-v5 .home-booking-copy strong{color:#f1f6ff;font-size:14px;font-weight:650;line-height:1.2;overflow-wrap:anywhere}
.trainer-home-v5 .home-booking-copy small{color:#b6c9e1;font-size:12px;line-height:1.2;overflow-wrap:anywhere}
.trainer-home-v5 .home-booking-row>span:last-child{color:#8fc1ff;font-size:20px}
.trainer-home-v5 .home-calendar .quiet-empty,.trainer-home-v5 .trainer-agenda .quiet-empty{margin:7px 0;color:#aec1dc;font-size:12px}
.trainer-home-v5 .home-calendar-more,.trainer-home-v5 .home-calendar-free{display:flex;justify-content:space-between;align-items:center;gap:7px;width:100%;min-height:44px;margin-top:5px;padding:7px 10px;border:0;border-radius:9px;background:#102a4b;color:#bddcff;text-align:left;font-size:12px}
.trainer-home-v5 .home-calendar-free{background:#102d3c;color:#c3e9e5}
.trainer-home-v5 .home-calendar-free span:last-child{min-width:0;overflow-wrap:anywhere;font-size:10px}
.trainer-home-v5 .trainer-home-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:13px}
.trainer-home-v5 .trainer-home-finance,.trainer-home-v5 .trainer-home-metric{display:flex;flex-direction:column;min-width:0;min-height:88px;margin:0;padding:11px 10px;border:1px solid #2b4c78;border-radius:12px;background:linear-gradient(155deg,#163256,#0e203d);color:var(--home-text);text-align:left;box-shadow:none}
.trainer-home-v5 .trainer-home-metric-label,.trainer-home-v5 .trainer-home-metric>span{color:#b9d7ff;font-size:11px;font-weight:650}
.trainer-home-v5 .trainer-home-metric strong{margin-top:8px;color:#f5f9ff;font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}
.trainer-home-v5 .trainer-home-metric small{margin-top:auto;color:#a8c9f0;font-size:11px}
.trainer-home-v5 .trainer-earnings{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;min-height:42px;margin:0;padding:0;border:0;background:transparent;color:var(--home-text);text-align:left;box-shadow:none}
.trainer-home-v5 .trainer-earnings>span:first-child{color:#b9d7ff;font-size:11px}
.trainer-home-v5 .trainer-earnings strong{font-size:17px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.trainer-home-v5 .earnings-pages{align-self:flex-end;margin-top:-7px}
.trainer-home-v5 .trainer-home-actions{margin-top:12px;padding:11px 11px 12px;border:1px solid #2c5386;border-radius:13px;background:#0d2444}
.trainer-home-v5 .trainer-home-quick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}
.trainer-home-v5 .trainer-home-book,.trainer-home-v5 .trainer-home-client{min-width:0;min-height:52px;margin:0;padding:9px 8px;border:1px solid #4778b6;border-radius:10px;background:#1b3b61;color:#edf6ff;font-size:14px;font-weight:650;line-height:1.2;text-align:center;text-shadow:none;box-shadow:none;transition:background .13s ease,transform .13s ease}
.trainer-home-v5 .trainer-home-book{border-color:#328dff;background:#2a80ed;color:#fff}
.trainer-home-v5 .trainer-home-book::before,.trainer-home-v5 .trainer-home-client::before{content:none}
.trainer-home-v5 .trainer-home-book:hover{background:#459dff;filter:none}
.trainer-home-v5 .trainer-home-client:hover{background:#244b79}
.trainer-home-v5 .trainer-home-book:active{background:#2476dc;transform:scale(.98)}
.trainer-home-v5 .trainer-home-client:active{background:#102b4e;transform:scale(.98)}
.trainer-home-v5 .trainer-attention{margin:12px 0 8px}
.trainer-home-v5 .trainer-attention h2{margin:0 0 3px;color:#c8d9ef;font-size:12px;font-weight:650}
.trainer-home-v5 .trainer-attention button{min-height:44px;border-color:#1e385f;background:#0c1b32;color:#c5d8ee}
.trainer-home-v5 .trainer-attention .attention-count{min-width:20px;background:#183b6b;color:#99ccff}
.trainer-home-v5 .package-attention{margin:6px 0 10px;border:0;background:transparent}
.trainer-home-v5 .package-attention>summary{min-height:44px;color:#b5c9e3;font-size:11px}
.trainer-home-v5 :is(button,summary):focus-visible{outline:2px solid #a7cfff;outline-offset:2px}
.trainer-home-v5 button:disabled{opacity:.5;cursor:not-allowed}
.trainer-product:has(.trainer-home-v5) .bottom-nav{padding:6px 8px calc(6px + env(safe-area-inset-bottom));border-top:1px solid #214273;background:#091831;box-shadow:none;backdrop-filter:none}
.trainer-product:has(.trainer-home-v5) .bottom-nav button{min-width:0;min-height:60px;gap:4px;padding:5px 2px;border-radius:9px;color:#b0c5e1;font-size:11px}
.trainer-product:has(.trainer-home-v5) .bottom-nav .nav-icon{width:21px;height:21px;stroke-width:1.7}
.trainer-product:has(.trainer-home-v5) .bottom-nav button.active{background:#102c53;color:#54a6ff}
.trainer-product:has(.trainer-home-v5) .bottom-nav button.active::before{display:none}
.trainer-product:has(.trainer-home-v5) .bottom-nav button:focus-visible{outline:2px solid #a7cfff;outline-offset:-2px}
@media(max-width:720px){.trainer-product .main:has(.trainer-home-v5){padding-top:max(11px,env(safe-area-inset-top))}}
@media(max-width:370px){.trainer-product .main:has(.trainer-home-v5){padding-inline:12px}.trainer-home-v5 .home-calendar{padding-inline:8px}.trainer-home-v5 .home-calendar-week{gap:0}.trainer-home-v5 .home-calendar-header{gap:2px}.trainer-home-v5 .home-calendar-month{grid-template-columns:32px minmax(0,1fr) 32px}.trainer-home-v5 .home-calendar-month button{width:32px}.trainer-home-v5 .home-calendar-link{font-size:11px}.trainer-home-v5 .home-calendar-day{font-size:10.5px}.trainer-home-v5 .home-booking-row{gap:5px;padding-inline:6px}}
@media(min-width:721px){.trainer-home-v5{padding-top:8px}}
@media(prefers-reduced-motion:reduce){.trainer-home-v5 *, .trainer-product:has(.trainer-home-v5) .bottom-nav button{transition:none!important}}

/* Personal training: primary day choice stays visible; advanced cycle settings collapse. */
.my-workout-day-picker{display:grid;gap:10px;margin:14px 0 18px;padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}
.my-workout-day-picker h2{font-size:19px;margin:0}
.my-workout-day-picker p{margin:0;line-height:1.45}
.my-workout-day-picker label{display:grid;gap:7px}
.my-workout-settings{margin:18px 0}
.my-workout-settings>summary{cursor:pointer;min-height:44px;padding:12px 0}
.my-workout-settings .my-cycle-tools{padding:10px 0}
/* Keep the no-added-load option below the inputs, not inside a weight field. */
.workout-focus-one .set-row [data-set-no-load]{grid-column:2/-1;justify-self:start;min-height:32px;margin:0;padding:4px 0;font-size:12px;text-align:left;white-space:normal}
.workout-timed-load{font-size:14px;margin:4px 0;color:var(--text)}
/* Trainer home: fidelity pass against the approved left mobile reference. */
.trainer-home-v5 .trainer-home-top{min-height:94px;margin-bottom:16px;padding-right:112px}
.trainer-home-v5 .trainer-home-top h1{font-size:23px;line-height:1.12;font-weight:650}
.trainer-home-v5 .trainer-home-top h1 em{font-size:27px;font-weight:700}
.trainer-home-v5 .trainer-home-top p{font-size:12px;line-height:1.4}
.trainer-home-v5 .home-calendar{padding:10px 11px 11px;border-color:#213b61;border-radius:16px;background:#0d1b33}
.trainer-home-v5 .home-calendar-header{margin-bottom:4px}
.trainer-home-v5 .home-calendar-month strong{font-size:13px;font-weight:600}
.trainer-home-v5 .home-calendar-month button{color:#7daeea;font-size:20px}
.trainer-home-v5 .home-calendar-link{font-size:11px;font-weight:500}
.trainer-home-v5 .home-calendar-week{gap:0;padding:5px 2px 3px;border-radius:11px;background:#09172d}
.trainer-home-v5 .home-calendar-day{min-height:55px;border-radius:7px;background:transparent;color:#9ab4d6;font-size:10px}
.trainer-home-v5 .home-calendar-day strong{font-size:16px;font-weight:600}
.trainer-home-v5 .home-calendar-day small{font-size:9px;height:8px}
.trainer-home-v5 .home-calendar-day.active{background:#329aff}
.trainer-home-v5 .trainer-agenda{margin-top:11px}
.trainer-home-v5 .trainer-agenda-heading{align-items:center;margin-bottom:7px}
.trainer-home-v5 .trainer-agenda-heading h2{font-size:16px;font-weight:600}
.trainer-home-v5 .trainer-agenda-heading button{font-size:11px}
.trainer-home-v5 .home-calendar-list{gap:4px}
.trainer-home-v5 .home-booking-row{grid-template-columns:38px 28px minmax(0,1fr) 14px;gap:8px;min-height:47px;padding:5px 9px;border:1px solid #1d3556;border-radius:10px;background:linear-gradient(90deg,#122641,#101f38)}
.trainer-home-v5 .home-booking-row time{font-size:11px;font-weight:600}
.trainer-home-v5 .home-booking-avatar{width:28px;height:28px;border-color:#426b9e;background:#23466f;font-size:12px;font-weight:600}
.trainer-home-v5 .home-booking-copy strong{font-size:12px;font-weight:600}
.trainer-home-v5 .home-booking-copy small{font-size:10px}
.trainer-home-v5 .trainer-home-metrics{gap:7px;margin-top:10px}
.trainer-home-v5 .trainer-home-finance,.trainer-home-v5 .trainer-home-metric{min-height:79px;padding:9px 9px;border-color:#1d375e;border-radius:11px;background:linear-gradient(150deg,#10233d,#0b192e)}
.trainer-home-v5 .trainer-home-metric-label,.trainer-home-v5 .trainer-home-metric>span{display:flex;align-items:center;gap:4px;color:#bad0ee;font-size:10px;font-weight:500;white-space:nowrap}
.trainer-home-v5 .trainer-home-metric>span svg{width:14px;height:14px;color:#83aef4}
.trainer-home-v5 .trainer-home-metric .metric-symbol{display:grid;place-items:center;width:15px;height:15px;border-radius:4px;background:#244d85;color:#a9d4ff;font-size:11px;font-weight:700}
.trainer-home-v5 .trainer-home-metric strong{margin-top:6px;font-size:18px;font-weight:650}
.trainer-home-v5 .trainer-home-metric small{font-size:10px}
.trainer-home-v5 .trainer-earnings>span:first-child{font-size:10px}
.trainer-home-v5 .trainer-earnings strong{font-size:16px;font-weight:650}
.trainer-home-v5 .trainer-home-actions{margin-top:10px;padding:9px 9px 7px;border-color:#244573;border-radius:12px;background:#0b1d39}
.trainer-home-v5 .home-calendar-overline{font-size:10px;font-weight:600;letter-spacing:0}
.trainer-home-v5 .trainer-home-quick{grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;margin-top:4px}
.trainer-home-v5 .trainer-home-book,.trainer-home-v5 .trainer-home-client,.trainer-home-v5 .trainer-home-shortcut{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:52px;margin:0;padding:3px 1px;border:0;border-radius:9px;background:transparent;color:#c1d5f0;font-size:10px;font-weight:500;line-height:1.2;text-align:center;box-shadow:none;text-shadow:none}
.trainer-home-v5 .trainer-home-book:hover,.trainer-home-v5 .trainer-home-client:hover,.trainer-home-v5 .trainer-home-shortcut:hover{background:#173157}
.trainer-home-v5 .trainer-home-book:active,.trainer-home-v5 .trainer-home-client:active,.trainer-home-v5 .trainer-home-shortcut:active{background:#1c4072;transform:scale(.97)}
.trainer-home-v5 .shortcut-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#172d4d;color:#d6e8ff}
.trainer-home-v5 .trainer-home-book .shortcut-icon{background:#1e4f95;color:#b7dcff}
.trainer-home-v5 .shortcut-icon svg{width:18px;height:18px;stroke-width:1.8}
.trainer-product:has(.trainer-home-v5) .bottom-nav{border-top-color:#1b3357;background:#09172e}
.trainer-product:has(.trainer-home-v5) .bottom-nav button{min-height:58px;border-radius:0;color:#9eb6d5;font-size:10px}
.trainer-product:has(.trainer-home-v5) .bottom-nav button.active{background:transparent;color:#409dff}
.trainer-product:has(.trainer-home-v5) .bottom-nav button.active .nav-icon{fill:#409dff;stroke:#409dff}
@media(max-width:370px){.trainer-home-v5 .home-booking-row{gap:5px}.trainer-home-v5 .trainer-home-metric-label,.trainer-home-v5 .trainer-home-metric>span{font-size:9px}}

/* Final visual alignment: lighter rows and readable finance value. */
body:has(.trainer-home-v5){background:radial-gradient(ellipse 65% 31% at 83% 17%,#163a72 0%,transparent 85%),radial-gradient(ellipse 88% 39% at 52% 2%,#152d55 0%,transparent 80%),#071326}
.trainer-home-v5 .home-booking-row{border-color:#1c3150;background:linear-gradient(100deg,#142744 0%,#101e36 100%)}
.trainer-home-v5 .home-booking-row:hover{background:linear-gradient(100deg,#1a3557,#15294b)}
.trainer-home-v5 .trainer-home-finance{position:relative}
.trainer-home-v5 .trainer-earnings strong{font-size:14px;letter-spacing:-.025em}
.trainer-home-v5 .earnings-pages{position:absolute;right:9px;bottom:9px;margin:0}
.trainer-home-v5 .trainer-home-actions{background:linear-gradient(150deg,#0d2444,#0b1a32)}
.trainer-product:has(.trainer-home-v5) .bottom-nav{background:#08162c}

/* Trainer home v7: darker graphite and a small illustrated coming-soon silhouette. */
body:has(.trainer-home-v5){background:radial-gradient(ellipse 47% 25% at 80% 19%,#102c56 0%,transparent 82%),#050e1e}
.trainer-home-v5{--home-bg:#050e1e;--home-panel:#0a1930;--home-tile:#0d203b;--home-line:#1d3659}
.trainer-home-v5 .home-calendar{border-color:#1b3559;background:linear-gradient(160deg,#0b1b35,#08162c)}
.trainer-home-v5 .home-calendar-week{background:#071329}
.trainer-home-v5 .home-booking-row{border-color:#1a3355;background:linear-gradient(100deg,#10223e,#0b1b34)}
.trainer-home-v5 .trainer-home-finance,.trainer-home-v5 .trainer-home-metric{border-color:#1b3558;background:linear-gradient(150deg,#0e2340,#09182e)}
.trainer-home-v5 .trainer-home-actions{border-color:#234674;background:linear-gradient(150deg,#0b203d,#08182f)}
.trainer-home-v5 .trainer-attention button{background:#0b1a31;border-color:#1a3458}
.trainer-product:has(.trainer-home-v5) .bottom-nav{background:#071326;border-top-color:#193152}
.trainer-home-v5 .trainer-home-companion{right:11px;top:-114px;width:129px;height:112px}
.trainer-home-v5 .companion-sketch{display:block;width:129px;height:96px;overflow:visible;filter:drop-shadow(0 0 7px rgba(47,145,255,.24))}
.trainer-home-v5 .companion-outline-shape{fill:rgba(13,42,82,.35);stroke:#6baeff;stroke-width:1.5;stroke-dasharray:3 4;stroke-linecap:round}
.trainer-home-v5 .companion-limbs{fill:none;stroke:#79b9ff;stroke-width:1.5;stroke-dasharray:3 4;stroke-linecap:round}
.trainer-home-v5 .companion-seat{fill:none;stroke:#3f83da;stroke-width:1;opacity:.7}
.trainer-home-v5 .companion-plus{fill:none;stroke:#80beff;stroke-width:1.6;stroke-linecap:round}
.trainer-home-v5 .companion-arrow{fill:none;stroke:#3e9af9;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.trainer-home-v5 .companion-note{position:absolute;left:-65px;top:64px;width:66px;color:#91b6e7;font-size:10px;font-weight:400;font-style:italic;line-height:1.15;letter-spacing:.01em;transform:rotate(-8deg);text-align:right}
.trainer-home-v5 .trainer-home-companion small{left:2px;bottom:-1px;width:125px;color:#9dc9ff;font-size:10px;font-weight:600}
@media(max-width:370px){.trainer-home-v5 .companion-note{left:-57px;width:58px;font-size:9px}}

/* Trainer home v8: cool graphite base with restrained Electric Blue. */
body:has(.trainer-home-v5){background:radial-gradient(ellipse 55% 29% at 80% 16%,#1b2a43 0%,transparent 78%),#0c1018}
.trainer-home-v5{--home-bg:#0c1018;--home-panel:#151d29;--home-tile:#1a2634;--home-line:#2a394c}
.trainer-home-v5 .home-calendar{border-color:#29384d;background:linear-gradient(160deg,#161e2c,#111824)}
.trainer-home-v5 .home-calendar-week{background:#0d141f}
.trainer-home-v5 .home-booking-row{border-color:#29384d;background:linear-gradient(100deg,#1a2433,#151e2b)}
.trainer-home-v5 .home-booking-row:hover{background:linear-gradient(100deg,#243149,#1b283b)}
.trainer-home-v5 .trainer-home-finance,.trainer-home-v5 .trainer-home-metric{border-color:#2a394c;background:linear-gradient(150deg,#1a2432,#141c28)}
.trainer-home-v5 .trainer-home-actions{border-color:#2a4364;background:linear-gradient(150deg,#172232,#111b29)}
.trainer-home-v5 .trainer-attention button{background:#151e2b;border-color:#26374f}
.trainer-product:has(.trainer-home-v5) .bottom-nav{background:#101722;border-top-color:var(--border)}

/* Trainer home: scroll every booking in the selected day without growing the overview. */
.trainer-home-v5 .home-calendar-list.is-scrollable{grid-auto-rows:max-content;max-height:140px;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:#3c6698 transparent;padding-right:3px}
.trainer-home-v5 .home-calendar-list.is-scrollable:focus-visible{outline:2px solid #a7cfff;outline-offset:2px}

.trainer-home-v5 .home-list-hint{margin-left:auto;color:#8fa9cc;font-size:10px;font-weight:500;white-space:nowrap}

/* Trainer booking moves: a dedicated touch handle leaves vertical list scrolling intact. */
.trainer-home-v5 .home-booking-row:has(.booking-drag-handle){grid-template-columns:38px 28px minmax(0,1fr) 40px;gap:6px}
.booking-drag-handle{display:grid;place-items:center;width:40px;height:44px;min-width:40px;border-radius:9px;color:#81a9dc;touch-action:none;cursor:grab}
.booking-drag-handle:hover,.booking-drag-handle:active{background:#233a56;color:#b4d7ff}
.booking-drag-handle svg{width:18px;height:18px;fill:currentColor}
.trainer-calendar .calendar-person:has(.booking-drag-handle){position:relative;padding-right:44px}
.trainer-calendar .calendar-person .booking-drag-handle{position:absolute;right:0;top:50%;transform:translateY(-50%)}
[data-booking-drop].booking-drop-target{outline:2px solid #69b2ff;outline-offset:-2px;background-color:#1c395b!important}
body.booking-dragging{user-select:none}
.booking-drag-ghost{position:fixed;z-index:10000;max-width:175px;padding:10px 12px;border:1px solid #60aaff;border-radius:11px;background:#1a304d;color:#f4f8ff;box-shadow:0 8px 24px #0007;pointer-events:none;font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.booking-drop-dialog{display:grid;gap:12px;max-width:420px;padding-top:28px}
.booking-drop-dialog h2{margin:0;font-size:20px}
.booking-drop-dialog p{margin:0 0 4px;color:var(--text-muted);line-height:1.5}
.booking-drop-dialog p strong{color:var(--text)}
.booking-drop-dialog button:not(.close){min-height:44px}
/* FIXатор Pro — shared component system. Home retains its approved composition. */
.trainer-product:not(:has(.trainer-home)),dialog.trainer-pro{
 --pro-bg:#0c0e11;--pro-surface:#12161b;--pro-raised:#181d23;--pro-line:#252c34;--pro-blue:#2f7de1;
 --bg:var(--pro-bg);--surface:var(--pro-surface);--surface-raised:var(--pro-raised);--surface-selected:#1c232b;--divider:#20262d;--border:var(--pro-line);--accent:var(--pro-blue);--accent-hover:#4a93f0;--accent-pressed:#256cc4;--accent-soft:rgba(47,125,225,.12);--text:#f2f4f7;--text-primary:var(--text);--text-secondary:#a3abb5;--text-muted:#7e8996;--muted:var(--text-secondary);
 --pro-gutter:16px;--pro-gap:12px;--pro-radius:16px;--pro-control:50px;
 color:var(--text);font:14px/1.45 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:dark;
}
.trainer-product:not(:has(.trainer-home)) .main{background:var(--bg);padding:16px var(--pro-gutter) calc(92px + env(safe-area-inset-bottom));}
.trainer-product:not(:has(.trainer-home)) :is(.trainer-page,.trainer-utility,.client-page){max-width:760px;min-width:0;margin-inline:auto;}
.trainer-product:not(:has(.trainer-home)) h1,dialog.trainer-pro h1{font-size:24px;line-height:28px;letter-spacing:-.02em;font-weight:600;overflow-wrap:anywhere;}
.trainer-product:not(:has(.trainer-home)) h2,dialog.trainer-pro h2{font-size:17px;line-height:22px;font-weight:600;letter-spacing:-.012em;}
.trainer-product:not(:has(.trainer-home)) h3,dialog.trainer-pro h3{font-size:16px;line-height:1.4;}
.trainer-product:not(:has(.trainer-home)) :is(button,summary),dialog.trainer-pro :is(button,summary){min-height:44px;touch-action:manipulation;}
.trainer-product:not(:has(.trainer-home)) button,dialog.trainer-pro button{border-radius:12px;white-space:normal;font-weight:500;transition:background-color 120ms ease;}
.trainer-product:not(:has(.trainer-home)) button:active,dialog.trainer-pro button:active{filter:brightness(.85);}
.trainer-product:not(:has(.trainer-home)) :focus-visible,dialog.trainer-pro :focus-visible{outline:2px solid #b5d8ff;outline-offset:3px;}
.trainer-product:not(:has(.trainer-home)) :is(input,select,textarea),dialog.trainer-pro :is(input,select,textarea){font-size:16px;min-height:var(--pro-control);max-width:100%;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:12px;box-sizing:border-box;}
.trainer-product:not(:has(.trainer-home)) input::placeholder,dialog.trainer-pro input::placeholder{color:var(--muted);opacity:.85;}
.trainer-product:not(:has(.trainer-home)) :is(.primary,.trainer-primary),dialog.trainer-pro .primary{background:var(--accent);color:#fff;border:0;box-shadow:none;font-weight:500;min-height:52px;}
.trainer-product:not(:has(.trainer-home)) strong,dialog.trainer-pro strong{font-weight:550;}
.pro-app-header{display:flex;align-items:center;gap:12px;max-width:760px;margin:0 auto 20px;min-height:48px;}
.trainer-product .pro-app-header>h1{flex:1;min-width:0;font-size:22px;line-height:1.2;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pro-app-header>.quiet-icon{flex:0 0 36px;padding:8px 0;background:transparent;border:0;font-size:22px;}
.pro-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 20px;}
.pro-header h1{margin:0;}
.pro-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;}
.pro-helper{color:var(--muted);font-size:14px;line-height:1.55;}
.pro-content-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--pro-radius);padding:14px;}
.pro-list-row{border-bottom:1px solid var(--border);padding:14px 0;min-height:56px;}
.pro-form-block{display:grid;gap:16px;min-width:0;}
.pro-form-block label{margin:0;gap:6px;line-height:1.4;font-weight:450;}
.pro-form-block :is(input,select,textarea){margin:0;}
.pro-accordion{margin:0;padding:0;border:0;border-bottom:1px solid var(--border);}
.pro-accordion>summary{padding:13px 0;min-height:48px;font-size:15px;line-height:22px;}
.pro-action-bar{display:flex;gap:10px;align-items:center;margin:4px 0 0;padding:12px 0;}
.pro-action-bar .primary{flex:1;}
.pro-status{border-radius:7px;padding:4px 8px;font-size:12px;line-height:1.4;}
.pro-empty-state{padding:24px 0;color:var(--muted);line-height:1.6;}
.trainer-product:not(:has(.trainer-home)) :is(.trainer-filters,.calendar-mode),dialog.trainer-pro .detail-tabs{display:flex;gap:4px;padding:4px;background:#101722;border:1px solid var(--border);border-radius:12px;margin-block:12px;}
.trainer-product:not(:has(.trainer-home)) :is(.trainer-filters,.calendar-mode) button,dialog.trainer-pro .detail-tabs button{flex:1;border:0;padding:8px;font-size:13px;margin:0;}
.trainer-product:not(:has(.trainer-home)) :is(.trainer-filters,.calendar-mode) button.active,dialog.trainer-pro .detail-tabs button.active{background:#233751;color:#c6e2ff;box-shadow:none;}
.trainer-product:not(:has(.trainer-home)) .trainer-search{border:1px solid var(--border);border-radius:12px;background:#101722;margin-bottom:12px;}
.trainer-product:not(:has(.trainer-home)) .trainer-search input{border:0;background:transparent;}
.trainer-product .trainer-clients .trainer-client-list{display:grid;grid-template-columns:minmax(0,1fr);gap:0;}
.trainer-product .trainer-clients .trainer-client-item{padding:0;border-radius:0;background:none;border-bottom:1px solid var(--border);}
.trainer-product .trainer-clients .trainer-client-row{min-height:64px;padding:10px 0;gap:12px;}
.trainer-product .trainer-client-info strong{font-size:16px;line-height:1.3;overflow-wrap:anywhere;}
.trainer-product .trainer-client-info .muted{font-size:13px;line-height:1.5;}
.trainer-product .trainer-program-row{width:100%;margin-bottom:10px;padding:16px;}
.trainer-product .trainer-report-row{background:transparent;border-radius:0;border-width:0 0 1px;padding:16px 4px;}
.trainer-product:not(:has(.trainer-home)) .client-menu-group{background:transparent;border:0;border-radius:0;}
.trainer-product:not(:has(.trainer-home)) .client-menu-row{background:transparent;padding:14px 0;min-height:58px;}
.trainer-product:not(:has(.trainer-home)) .menu-symbol{background:var(--surface-selected);color:var(--muted);padding:8px;border-radius:10px;}
.trainer-product:not(:has(.trainer-home)) :is(.utility-back,.navigation-back){color:#a9ceff;margin:0 0 14px;padding:8px 0;}
.trainer-product .trainer-utility .topbar{display:block;margin:0 0 22px;padding:0;}
.trainer-product .trainer-utility h1{text-align:left;margin:0;font-size:24px;}
.trainer-product .trainer-utility .card{border:0;border-radius:0;background:transparent;box-shadow:none;padding:0;margin:26px 0;}
.trainer-product .trainer-utility .card h2{margin:0 0 16px;}
.trainer-product .trainer-utility .card+.card{border-top:1px solid var(--border);padding-top:22px;}
.trainer-product .trainer-utility .info{margin:0 0 20px;font-size:14px;line-height:1.6;}
.trainer-product .main[data-screen=settings] .pro-form-block>label{display:grid;grid-template-columns:minmax(0,1fr) 134px;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--border);font-size:15px;}
.trainer-product .main[data-screen=settings] .pro-form-block{gap:0;}
.trainer-product .main[data-screen=settings] .pro-form-block>p{font-size:13px;margin:14px 0 18px;color:var(--muted);}
.trainer-product .main[data-screen=settings] .pro-action-bar{margin-top:16px;}
.trainer-product .trainer-utility #weekly-form{gap:0;}
.trainer-product .trainer-utility .pro-weekday{margin:0;padding:0;border-top:1px solid var(--border);border-bottom:0;}
.trainer-product .trainer-utility .pro-weekday>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;min-height:48px;margin:0;box-sizing:border-box;}
.trainer-product .pro-weekday>summary strong{font-size:15px;font-weight:500;}
.trainer-product .pro-weekday>summary>span{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;max-width:60%;}
.pro-disclosure{width:16px;height:16px;flex:none;color:var(--muted);}
details[open]>summary>.pro-disclosure{transform:rotate(90deg);}
.trainer-product .pro-weekday .schedule-row{margin:0;padding:8px 0 20px;border:0;gap:12px;}
.trainer-product .pro-weekday .schedule-row>strong{display:none;}
.trainer-product .pro-weekday .schedule-row label{font-size:13px;}
.trainer-product .pro-weekday input[type=checkbox]{min-height:24px;height:24px;width:24px;accent-color:#8594a8;}
.trainer-product .trainer-utility #weekly-form>.form-actions{margin-top:14px;}
.pro-time{position:relative;display:block;min-width:0;}
.pro-time input{width:100%;}
.pro-time input::-webkit-datetime-edit{opacity:0;}
.pro-time-value{position:absolute;left:14px;top:50%;transform:translateY(-50%);pointer-events:none;font-size:16px;font-variant-numeric:tabular-nums;color:var(--text);}
.trainer-product .pro-finance-row{padding:16px 0;border-top:1px solid var(--border);}
.trainer-product .pro-finance-client{display:block;font-size:16px;margin-bottom:10px;}
.trainer-product .pro-finance-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;}
.trainer-product .pro-finance-facts dt{font-size:12px;color:var(--muted);margin-bottom:4px;}
.trainer-product .pro-finance-facts dd{margin:0;font-size:14px;line-height:1.5;}
.trainer-product .pro-finance-facts input[type=checkbox]{min-height:24px;width:24px;margin:0;}
.trainer-product .trainer-calendar{touch-action:pan-y pinch-zoom;}
.trainer-product:has(.trainer-calendar) .pro-app-header{touch-action:pan-y pinch-zoom;}
.trainer-product .trainer-calendar .trainer-page-title{gap:10px;margin:0 0 12px;}
.trainer-product .trainer-calendar .trainer-page-title h1{flex:1;margin:0;}
.trainer-product .trainer-calendar .calendar-date{margin:0 0 10px;padding:0;}
.trainer-product .pro-calendar-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;}
.trainer-product .pro-calendar-controls .calendar-mode{margin:0;}
.trainer-product .pro-calendar-controls>.primary{padding:10px 16px;}
.trainer-product .trainer-calendar .calendar-week-toggle{padding:8px 0;margin:8px 0 0;}
.trainer-product .trainer-calendar .calendar-caption{padding:14px 0;font-size:13px;}
.trainer-product .trainer-calendar .calendar-row{margin:0 0 10px;}
.trainer-product .trainer-calendar .calendar-person{background:var(--surface);padding:12px;border-radius:12px;min-height:66px;}
.trainer-product .trainer-calendar .calendar-person strong{font-size:16px;line-height:1.4;}
.trainer-product .calendar-row.is-free{border:1px dashed #43566e;border-radius:12px;background:transparent;}
.trainer-product .pro-onboarding{padding:20px;background:var(--surface);border-radius:16px;margin:20px 0 26px;}
.trainer-product .pro-onboarding h2{font-size:19px;font-weight:600;margin:0 0 10px;}
.trainer-product .pro-onboarding p{font-size:14px;color:var(--muted);margin:0 0 18px;}
.trainer-product .pro-onboarding .primary{width:100%;}
.trainer-product .pro-help-label{font-size:16px;margin:0 0 10px;}
.trainer-product .pro-help-group{margin:0;border-bottom:1px solid var(--border);}
.trainer-product details.pro-help-group>summary{display:flex;justify-content:space-between;align-items:center;padding:18px 0;gap:12px;min-height:64px;}
.trainer-product details.pro-help-group>summary span{font-size:12px;color:var(--muted);}
.trainer-product .pro-help-topic{padding:0 12px;margin:0;border:0;}
.trainer-product .pro-help-topic summary{font-size:15px;padding:12px 0;min-height:44px;}
.trainer-product .pro-help-topic>div{padding:0 0 16px;font-size:14px;color:var(--muted);line-height:1.6;}
.trainer-product section.pro-help-group{margin-top:24px;border:0;}
.trainer-product section.pro-help-group h2{font-size:16px;margin:0 0 12px;}
.trainer-product .pro-help-tours{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.trainer-product .pro-help-tours button{min-height:58px;text-align:left;padding:12px;font-size:14px;background:var(--surface);}
.trainer-product .workout-focus-one{max-width:560px;margin:auto;}
.trainer-product .workout-focus-one .exercise-heading{margin:18px 0 12px;}
.trainer-product .workout-focus-one .exercise-heading h1{font-size:24px;line-height:28px;font-weight:600;margin:6px 0 14px;}
.trainer-product .workout-focus-one .workout-day{font-size:13px;color:var(--muted);margin:0;}
.trainer-product .workout-focus-one .parameter-chips{gap:8px;}
.trainer-product .workout-focus-one .parameter-chips span{font-size:13px;padding:0;background:transparent;color:var(--muted);border-radius:0;}
.trainer-product .workout-focus-one .workout-previous-compact{font-size:14px!important;padding:12px 0;margin:0 0 20px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);line-height:1.6;}
.trainer-product .workout-focus-one .workout-previous-compact strong{font-size:14px;font-weight:550;}
.trainer-product .workout-focus-one .workout-set-hud{position:static;margin:0 0 14px;padding:0;}
.trainer-product .workout-focus-one .workout-set-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;width:100%;}
.trainer-product .workout-focus-one .workout-set-title h2{font-size:19px;font-weight:650;}
.trainer-product .workout-focus-one .set-row.is-active{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:18px 14px;background:var(--surface);border-radius:16px;margin:0 0 14px;gap:12px;}
.trainer-product .workout-focus-one .set-row.is-active>.set-number{display:none;}
.trainer-product .workout-focus-one .set-field{min-width:0;}
.trainer-product .workout-focus-one .pro-field-label{position:static;inset:auto;display:block;font-size:13px;color:var(--muted);margin-bottom:10px;}
.trainer-product .workout-focus-one .set-field>span:not(.pro-field-label){display:none;}
.trainer-product .workout-focus-one .set-field input{height:56px;min-height:52px;font-size:32px!important;font-weight:600;text-align:center;border-radius:12px;padding:8px;width:100%;box-sizing:border-box;background:var(--surface-raised);border:0;font-variant-numeric:tabular-nums;}
.trainer-product .workout-focus-one [data-set-complete]{font-size:16px;min-height:54px;margin-top:12px;grid-column:1/-1;}
.trainer-product .workout-focus-one [data-set-no-load]{grid-column:1/-1;justify-self:start;padding:4px 0;font-size:13px;font-weight:450;min-height:36px;}
.trainer-product .workout-focus-one .set-comment{margin-top:8px;}
.trainer-product .workout-focus-one .workout-footer{background:transparent;border:0;padding:0;margin:18px 0;}
.trainer-product .pro-workout-tools{margin:20px 0 24px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.trainer-product .pro-workout-tools>summary{font-size:15px;padding:16px 0;}
.trainer-product .pro-workout-tools-content{display:grid;gap:16px;padding:0 0 18px;}
.trainer-product .workout-focus-one .exercise-secondary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;background:transparent;padding:0;margin:0;}
.trainer-product .workout-focus-one .exercise-secondary button{font-size:14px;text-align:left;padding:12px;background:var(--surface-raised);border-radius:12px;width:100%;}
.trainer-product .workout-focus-one .exercise-secondary .workout-comment{grid-column:1/-1;}
.trainer-product .workout-focus-one .workout-add-exercise{border:1px solid var(--border);grid-column:1/-1;}
.trainer-product .pro-session-reorder{touch-action:none;display:block;min-height:44px;margin-top:8px;color:#aecfff;}
.trainer-product .workout-exercise-options .pro-dragging{opacity:.6;outline:2px solid var(--accent);}
.trainer-product .workout-exercise-options .pro-drop{outline:2px solid #9acbff;outline-offset:2px;}
.trainer-product:not(:has(.trainer-home)) .bottom-nav{background:var(--bg);border-top:1px solid var(--divider);padding-bottom:env(safe-area-inset-bottom);}
.trainer-product:not(:has(.trainer-home)) .bottom-nav button{min-height:58px;font-size:11px;}
dialog.trainer-pro{background:var(--bg);border:1px solid var(--border);border-radius:20px;padding:20px;max-width:min(760px,calc(100vw - 24px));box-sizing:border-box;scrollbar-color:#425671 #101722;}
dialog.trainer-pro::backdrop{background:#02060bc9;}
dialog.trainer-pro :is(.client-detail,.trainer-program-detail,.trainer-program-editor){padding:0;min-width:0;}
dialog.trainer-pro .detail-header{position:sticky;top:-20px;background:var(--bg);z-index:3;padding-block:8px;margin-bottom:12px;}
dialog.trainer-pro .detail-identity{gap:14px;margin-bottom:20px;}
dialog.trainer-pro .detail-identity h1{margin-bottom:4px;}
dialog.trainer-pro .detail-tabs{margin-bottom:18px;}
dialog.trainer-pro .client-detail{touch-action:pan-y pinch-zoom;}
dialog.trainer-pro .client-key-facts{background:transparent;padding:0 0 16px;margin-bottom:16px;border-bottom:1px solid var(--border);}
dialog.trainer-pro .client-key-facts strong{font-size:32px;line-height:1.2;}
dialog.trainer-pro .client-key-facts>div>span{margin-bottom:6px;}
dialog.trainer-pro .client-key-facts>div:first-child small{display:inline;margin-left:8px;}
dialog.trainer-pro .client-key-facts p{margin-block:6px 0;}
dialog.trainer-pro .client-main-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-block:16px;}
dialog.trainer-pro .client-main-actions .primary{grid-column:1/-1;}
dialog.trainer-pro :is(.detail-extra,.client-program-day,.plan-day-shell){border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent;margin-block:12px;}
dialog.trainer-pro :is(.form-grid,.plan-metadata){gap:12px;}
dialog.trainer-pro .exercise-card{position:relative;background:transparent;border:0;border-bottom:1px solid var(--border);border-radius:0;margin-block:10px;}
dialog.trainer-pro .plan-day,dialog.trainer-pro .plan-day-content{background:transparent;border:0;box-shadow:none;}
dialog.trainer-pro .plan-day-shell .rir-actions{display:flex;gap:8px;flex-wrap:wrap;margin-block:12px;}
dialog.trainer-pro .plan-day-shell .rir-actions button{font-size:13px;min-height:44px;padding:8px 10px;background:var(--surface-raised);}
dialog.trainer-pro .exercise-editor>summary{padding-right:44px;}
dialog.trainer-pro .pro-reorder{position:absolute;right:4px;top:44px;width:40px;min-height:44px;padding:8px;touch-action:none;cursor:grab;color:var(--muted);background:transparent;}
dialog.trainer-pro .pro-reorder svg{width:22px;height:22px;}
dialog.trainer-pro .pro-dragging{opacity:.6;outline:2px solid var(--accent);}
dialog.trainer-pro .pro-drop{outline:2px solid #9acbff;outline-offset:3px;}
dialog.trainer-pro .plan-save{position:sticky;bottom:-20px;background:var(--bg);padding:12px 0 calc(12px + env(safe-area-inset-bottom));z-index:4;display:flex;gap:8px;border-top:1px solid var(--border);}
dialog.trainer-pro .plan-save .primary{flex:1;}
dialog.trainer-pro .pro-advanced{margin-block:14px;padding:0;border-top:1px solid var(--border);}
dialog.trainer-pro :is(.plan-cycle-toolbar,.plan-rir-actions){display:flex;flex-wrap:wrap;gap:8px;}
dialog.trainer-pro .plan-periodization{margin-block:12px;}
dialog.trainer-pro :is(input:not([type=checkbox]):not([type=radio]),select,textarea){width:100%;}
dialog.trainer-pro .pro-advanced .primary{background:#20334a;border-color:var(--border);}
.pro-sheet-grip{display:block;margin:0 auto 12px;width:56px;height:24px;min-height:24px!important;border:0;background:transparent;touch-action:none;}
.pro-sheet-grip:after{content:"";display:block;width:36px;height:4px;border-radius:4px;background:#8296af;margin:auto;}
.fiksik-coming-soon{color:var(--muted);font-size:12px;line-height:1.4;max-width:100px;text-align:right;}
@media(max-width:720px){
 dialog.trainer-pro{width:100%;max-width:100%;max-height:94dvh;border-radius:20px 20px 0 0;margin:auto 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom));}
 dialog.trainer-pro:has(.client-detail,.trainer-program-detail,#plan-editor){max-height:100dvh;height:100dvh;border-radius:0;}
 dialog.trainer-pro .detail-header{top:-18px;}
 dialog.trainer-pro .plan-save{bottom:calc(-18px - env(safe-area-inset-bottom));}
}
@media(max-width:370px){.trainer-product .workout-focus-one .set-field input{font-size:32px!important;}.trainer-product .workout-focus-one .workout-set-title h2{font-size:18px;}}
@media(prefers-reduced-motion:reduce){.trainer-product:not(:has(.trainer-home)) *,dialog.trainer-pro *{transition:none!important;scroll-behavior:auto!important;}}

/* Two-screen concept: deliberately scoped; no changes to other product pages. */
.trainer-product:has(.workout-cockpit,.calendar-concept){--bg:#171b20;--surface:#22282f;--surface-raised:#272e36;--text:#eef1f5;--muted:#bcc5d0;--border:#353c45;--accent:#3988ef;--primary:var(--accent);background:var(--bg);}
.trainer-product:has(.workout-cockpit,.calendar-concept) main{padding-inline:20px;}
.trainer-product .workout-cockpit .focus-header{margin:0 0 14px;min-height:44px;}
.trainer-product .workout-cockpit .exercise-heading{margin:22px 0 24px;}
.trainer-product .workout-cockpit .exercise-heading h1{font-size:27px;line-height:1.14;letter-spacing:-.5px;font-weight:600;max-width:320px;margin:8px 0 12px;}
.trainer-product .workout-cockpit .workout-day{font-size:13px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);}
.trainer-product .workout-cockpit .parameter-chips{gap:0;line-height:1.6;}
.trainer-product .workout-cockpit .parameter-chips span{font-size:14px;font-weight:500;padding:0;background:none;}
.trainer-product .workout-cockpit .parameter-chips span+span:before{content:'·';padding-inline:8px;color:#7d8894;}
.trainer-product .workout-cockpit .workout-set-hud{margin:0;min-height:24px;padding:0;}
.trainer-product .workout-cockpit .workout-set-title h2{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
.trainer-product .workout-cockpit [data-set-flow-step]{font-size:16px;font-weight:600;color:var(--text);}
.cockpit-set-progress{display:flex;gap:5px;margin:12px 0 14px;}
.cockpit-set-progress span{height:3px;flex:1;background:#353e49;}
.cockpit-set-progress .is-current{background:var(--accent);}
.cockpit-set-progress .is-done{background:#9dbbe1;}
.trainer-product .workout-cockpit .set-row.is-active{background:none;border:0;border-radius:0;padding:0;gap:0 20px;}
.trainer-product .workout-cockpit .set-row.is-active>.set-field{position:relative;display:flex;flex-direction:column;gap:0;min-width:0;padding:8px 0 18px;}
.trainer-product .workout-cockpit .set-row.is-active>.set-field:nth-of-type(2){border-left:1px solid var(--border);padding-left:20px;}
.trainer-product .workout-cockpit .set-row.is-active .pro-field-label{color:#c3ccd7;font-size:14px;font-weight:500;margin:0;}
.trainer-product .workout-cockpit .set-row.is-active .set-field input{width:100%;height:88px;min-height:88px;padding:0;background:transparent;border:0;border-radius:0;font-size:64px!important;line-height:1;font-weight:600;letter-spacing:-2px;box-shadow:none;text-align:left;font-variant-numeric:tabular-nums;}
.trainer-product .workout-cockpit .set-row.is-active .set-field input:focus-visible{outline:0;box-shadow:0 2px var(--accent);}
.trainer-product .workout-cockpit .set-row.is-active .set-field>span:not(.pro-field-label){display:none;}
.trainer-product .workout-cockpit [data-set-no-load]{order:3;font-size:14px;font-weight:500;min-height:42px;margin:0 0 4px;color:var(--muted);}
.trainer-product .workout-cockpit .set-complete{order:4;min-height:52px;font-size:15px;font-weight:600;border-radius:9px;margin-top:2px;}
.trainer-product .workout-cockpit .set-comment{order:5;grid-column:1/-1;margin:2px 0 0;border:0;}
.trainer-product .workout-cockpit .set-comment>summary{font-size:14px;font-weight:500;color:var(--muted);min-height:44px;display:flex;align-items:center;padding:0;}
.trainer-product .workout-cockpit .workout-previous-compact{display:grid;gap:8px;margin:8px 0 0;padding:16px 0;border-top:1px solid var(--border);border-bottom:0;}
.trainer-product .workout-cockpit .workout-previous-compact>span{font-size:13px;font-weight:500;color:var(--muted);}
.trainer-product .workout-cockpit .workout-previous-compact strong{display:flex;gap:0;font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;}
.trainer-product .workout-cockpit .workout-previous-compact strong span+span{border-left:1px solid var(--border);padding-left:14px;margin-left:14px;}
.trainer-product .workout-cockpit .workout-footer{margin:0;padding:16px 0;border-top:1px solid var(--border);}
.trainer-product .workout-cockpit .cockpit-next{display:grid;gap:6px;font-size:13px;font-weight:500;color:var(--muted);line-height:1.4;}
.trainer-product .workout-cockpit .cockpit-next strong{font-size:16px;font-weight:600;color:var(--text);}
.trainer-product .workout-cockpit .pro-workout-tools{margin:0;border-top:1px solid var(--border);border-bottom:0;}
.trainer-product .workout-cockpit .pro-workout-tools>summary{min-height:48px;padding:12px 0;font-size:15px;font-weight:500;}
.trainer-product .workout-cockpit .exercise-secondary .text-button{min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.4;min-height:52px;}
.trainer-product .calendar-concept .calendar-date{margin:0 0 10px;gap:4px;}
.trainer-product .calendar-concept .calendar-date label{font-weight:600;font-size:17px;}
.trainer-product .calendar-concept .calendar-date label>span{font-weight:600;}
.trainer-product .calendar-concept .calendar-sheet{margin:0 0 6px;}
.trainer-product .calendar-concept .calendar-weekstrip{display:flex;gap:4px;margin:0;}
.trainer-product .calendar-concept .calendar-weekstrip button{flex:1;min-width:0;display:grid;justify-items:center;gap:3px;padding:8px 0 6px;border:0;border-radius:12px;background:transparent;color:var(--muted);touch-action:pan-y;}
.trainer-product .calendar-concept .calendar-weekstrip button>span{font-size:12px;font-weight:500;}
.trainer-product .calendar-concept .calendar-weekstrip button>strong{font-size:16px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums;}
.trainer-product .calendar-concept .calendar-weekstrip button.is-today>strong{color:var(--accent);}
.trainer-product .calendar-concept .calendar-weekstrip button.active{background:var(--accent);}
.trainer-product .calendar-concept .calendar-weekstrip button.active>span,.trainer-product .calendar-concept .calendar-weekstrip button.active>strong{color:#fff;}
.trainer-product .calendar-concept .calendar-weekstrip button.active.is-today>strong{color:#fff;}
.trainer-product .calendar-concept .cal-marker{width:4px;height:4px;border-radius:50%;background:var(--muted);}
.trainer-product .calendar-concept .cal-spacer{width:4px;height:4px;}
.trainer-product .calendar-concept .calendar-weekstrip button.active .cal-marker{background:#fff;}
.trainer-product .calendar-concept .calendar-expand{display:flex;align-items:center;justify-content:center;width:100%;min-height:28px;margin:0;padding:2px 0;border:0;background:none;color:var(--muted);cursor:pointer;}
.trainer-product .calendar-concept .calendar-expand svg{width:18px;height:18px;transition:transform .2s ease;}
.trainer-product .calendar-concept .calendar-sheet.is-open .calendar-expand svg{transform:rotate(180deg);}
.trainer-product .calendar-concept .calendar-month{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .2s ease,opacity .18s ease;}
.trainer-product .calendar-concept .calendar-sheet.is-open .calendar-month{grid-template-rows:1fr;opacity:1;}
.trainer-product .calendar-concept .calendar-month>div{overflow:hidden;}
.trainer-product .calendar-concept .calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;padding:2px 0 6px;touch-action:pan-y;}
.trainer-product .calendar-concept .calendar-month-grid button{display:grid;justify-items:center;gap:3px;min-width:0;min-height:44px;padding:6px 0 4px;border:0;border-radius:10px;background:transparent;color:var(--muted);touch-action:pan-y;}
.trainer-product .calendar-concept .calendar-month-grid button>span{font-size:0;}
.trainer-product .calendar-concept .calendar-month-grid button>strong{font-size:14px;font-weight:500;color:var(--text);font-variant-numeric:tabular-nums;}
.trainer-product .calendar-concept .calendar-month-grid button.is-adjacent>strong{color:#5d6875;}
.trainer-product .calendar-concept .calendar-month-grid button.is-today>strong{color:var(--accent);}
.trainer-product .calendar-concept .calendar-month-grid button.active{background:var(--accent);}
.trainer-product .calendar-concept .calendar-month-grid button.active>strong{color:#fff;}
.trainer-product .calendar-concept .calendar-month-grid button.active .cal-marker{background:#fff;}
.trainer-product .calendar-concept .calendar-fab{position:fixed;right:16px;bottom:calc(78px + env(safe-area-inset-bottom));z-index:40;min-height:52px;padding:0 22px;border-radius:16px;font-size:15px;font-weight:600;}
.trainer-product .trainer-calendar:has(.calendar-fab){padding-bottom:calc(72px + env(safe-area-inset-bottom));}
.trainer-product:has(.calendar-concept) .pro-app-header h1{font-weight:600;letter-spacing:-.4px;}
.trainer-product .calendar-concept .calendar-caption{display:flex;align-items:baseline;gap:8px;min-width:0;margin:0 auto 0 0;padding:0;color:var(--muted);font-size:13px;font-weight:500;}
.trainer-product .calendar-concept .calendar-caption>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.trainer-product .calendar-concept .calendar-caption>span+span{flex-shrink:0;white-space:nowrap;}
.trainer-product .calendar-concept .calendar-caption>span+span:before{content:'· ';color:#687380;}
.trainer-product .calendar-concept .trainer-timeline{position:relative;margin:0;}
.trainer-product .calendar-concept .trainer-timeline:before{content:'';position:absolute;left:56px;top:24px;bottom:24px;width:1px;background:var(--border);}
.trainer-product .calendar-concept .calendar-row{display:grid;grid-template-columns:44px minmax(0,1fr) 28px;column-gap:22px;min-height:88px;padding:0;align-items:start;}
.trainer-product .calendar-concept .calendar-row:before{content:'';position:absolute;left:52.5px;top:24px;width:7px;height:7px;border-radius:50%;background:#7e8a97;box-shadow:0 0 0 4px var(--bg);}
.trainer-product .calendar-concept .calendar-row.is-next:before{background:var(--accent);}
.trainer-product .calendar-concept .calendar-row>time{grid-column:1;grid-row:1;padding-top:19px;font-size:14px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--muted);}
.trainer-product .calendar-concept .calendar-line{display:none;}
.trainer-product .calendar-concept .calendar-person{grid-column:2;grid-row:1;width:100%;min-height:80px;background:none;border:0;border-bottom:1px solid #303740;border-radius:0;padding:17px 0;gap:4px;align-content:start;}
.trainer-product .calendar-concept .calendar-person strong{font-size:16px;font-weight:600;line-height:1.3;}
.trainer-product .calendar-concept .calendar-person>span{font-size:13px;font-weight:500;color:var(--muted);line-height:1.5;}
.trainer-product .calendar-concept .is-next .calendar-person{grid-column:2/4;background:var(--surface);border:0;border-radius:7px;padding:16px 14px;}
.trainer-product .calendar-concept .is-next .calendar-person:has(.booking-drag-handle){padding-right:52px;}
.trainer-product .calendar-concept .is-next .calendar-person .booking-drag-handle{right:48px;}
.trainer-product .calendar-concept .is-next .calendar-actions{padding-top:18px;}
.trainer-product .calendar-concept .calendar-next-tag{grid-row:1;font-size:13px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);}
.trainer-product .calendar-concept .calendar-actions{grid-column:3;grid-row:1;margin-left:-16px;padding-top:8px;}
.trainer-product .calendar-concept .calendar-actions>summary{width:44px;min-height:44px;color:#aab5c1;background:none;font-weight:500;}
.trainer-product .calendar-concept .calendar-person:has(.booking-drag-handle){padding-right:0;}
.trainer-product .calendar-concept .booking-drag-handle{visibility:hidden;opacity:0;}
.trainer-product .calendar-concept .calendar-row:focus-within .booking-drag-handle,
.trainer-product .calendar-concept .calendar-row:has(.calendar-actions[open]) .booking-drag-handle{visibility:visible;opacity:1;background:var(--surface-raised);}
.trainer-product .calendar-concept .calendar-drag-hint{font-size:13px;font-weight:500;color:var(--muted);line-height:1.4;margin:4px 8px 10px;max-width:180px;}
.trainer-product .calendar-concept .calendar-free-actions{grid-column:2;grid-row:1;min-width:0;display:flex;border-bottom:1px solid #303740;}
.trainer-product .calendar-concept .calendar-row.is-free{border:0;border-radius:0;background:none;margin:0;padding:0;}
.trainer-product .calendar-concept .is-free>time{padding-left:0;width:44px;}
.trainer-product .calendar-concept .is-free .calendar-person{border:0;background:none;box-shadow:none;}
.trainer-product .calendar-concept .is-free .calendar-person strong{font-size:15px;color:var(--muted);font-weight:600;}
.trainer-product .calendar-concept .is-free .calendar-person>span{color:var(--muted);}
.trainer-product .calendar-concept .is-free .calendar-person strong>span{display:none;}
.trainer-product .calendar-concept .calendar-free-menu{position:absolute;right:0;top:8px;margin:0;}
.trainer-product .calendar-concept .calendar-free-menu .calendar-recurring{width:100%;min-width:0;height:auto;min-height:44px;padding:12px;background:transparent;color:var(--text);font-size:14px;font-weight:400;text-align:left;}
.trainer-product .calendar-concept .is-closed .calendar-person strong{font-size:15px;font-weight:500;color:var(--muted);}
.trainer-product .calendar-concept .calendar-earlier{background:none;border:0;border-top:1px solid var(--border);border-radius:0;margin-top:16px;margin-bottom:24px;padding:0;}
.trainer-product .workout-cockpit .focus-header{font-weight:600;}
.trainer-product .calendar-concept .calendar-earlier>summary{font-size:14px;font-weight:600;color:var(--text);}
.trainer-product .calendar-concept .calendar-earlier>summary>span{font-size:13px;font-weight:500;color:var(--muted);}
@media(max-width:370px){.trainer-product:has(.workout-cockpit,.calendar-concept) main{padding-inline:16px;}.trainer-product .workout-cockpit .exercise-heading h1{font-size:27px;}.trainer-product .workout-cockpit .set-row.is-active .set-field input{font-size:60px!important;}.trainer-product .calendar-concept .calendar-row{column-gap:18px;}.trainer-product .calendar-concept .trainer-timeline:before{left:53px;}.trainer-product .calendar-concept .calendar-row:before{left:49.5px;}}

/* Client Pro — explicit client scopes; trainer-product shares no rules below. */
.client-product.client-pro:not(.trainer-product),.client-pro-layer,body.client-pro-role #app,body.client-pro-auth{--bg:#0c1016;--surface:#151c25;--surface-2:#1c2633;--border:#2b3745;--text:#f2f5fa;--muted:#b4bfcd;--text-muted:#b4bfcd;--accent:#3b82f6;--accent-hover:#245fbd;--client-action:#2c6fd4;color:var(--text);color-scheme:dark;}
body.client-pro-role,body.client-pro-auth{background:#0c1016;}
.client-product.client-pro:not(.trainer-product),.client-pro-layer,body.client-pro-auth .login-client,.client-pro-account{font-size:16px;line-height:1.5;font-weight:400;caret-color:#8db8ff;scrollbar-color:#46566b #151c25;}
.client-product.client-pro:not(.trainer-product) ::selection,.client-pro-layer ::selection,.login-client ::selection,.client-pro-account ::selection{background:#2858a1;color:#fff;}
.client-product.client-pro:not(.trainer-product) :is(h1,h2,h3,p,strong,button,summary),.client-pro-layer :is(h1,h2,h3,p,strong,button,summary){overflow-wrap:anywhere;}
.client-product.client-pro:not(.trainer-product) .main{width:100%;max-width:800px;padding:24px 24px 48px;box-sizing:border-box;}
.client-product.client-pro:not(.trainer-product) .client-brand{margin:0 0 26px;min-height:48px;font-size:23px;font-weight:600;}
.client-product.client-pro:not(.trainer-product) :is(h1,.product-title h1){font-size:30px;font-weight:600;line-height:1.18;letter-spacing:-.75px;margin:0 0 14px;}
.client-product.client-pro:not(.trainer-product) h2,.client-pro-layer h2{font-size:20px;line-height:1.3;font-weight:600;letter-spacing:-.25px;}
.client-product.client-pro:not(.trainer-product) h3,.client-pro-layer h3{font-size:17px;line-height:1.35;font-weight:600;}
.client-product.client-pro:not(.trainer-product) p,.client-pro-layer p,.client-pro-account p,.login-client p{font-size:16px;line-height:1.55;}
.client-product.client-pro:not(.trainer-product) .muted,.client-pro-layer .muted,.client-product.client-pro:not(.trainer-product) .chart-caption{color:var(--muted);font-size:14px;line-height:1.5;}
.client-product.client-pro:not(.trainer-product) strong,.client-pro-layer strong{font-weight:600;}
.client-product.client-pro:not(.trainer-product) :is(button,summary,input,select),.client-pro-layer :is(button,summary,input,select),.login-client :is(button,input,select),.client-pro-account :is(button,input,select){min-height:48px;font-size:16px;line-height:1.4;}
.client-product.client-pro:not(.trainer-product) button,.client-pro-layer button{border-radius:12px;}
.client-product.client-pro:not(.trainer-product) button.primary,.client-pro-layer button.primary,.login-client button.primary,.client-pro-account button.primary{min-height:54px;border-radius:14px;background:var(--client-action);color:#fff;font-size:16px;font-weight:600;border:0;box-shadow:none;}
.client-product.client-pro:not(.trainer-product) button.primary:hover,.client-pro-layer button.primary:hover{background:var(--accent-hover);}
.client-product.client-pro:not(.trainer-product) button:active,.client-pro-layer button:active{transform:translateY(1px);}
.client-product.client-pro:not(.trainer-product) :is(button,input,select,textarea,summary):focus-visible,.client-pro-layer :is(button,input,select,textarea,summary):focus-visible,.login-client :focus-visible,.client-pro-account :focus-visible{outline:2px solid #a6cbff;outline-offset:3px;}
.client-product.client-pro:not(.trainer-product) button:disabled,.client-pro-layer button:disabled{opacity:.55;cursor:default;transform:none;}
.client-product.client-pro:not(.trainer-product) label,.client-pro-layer label,.login-client label,.client-pro-account label{font-size:14px;font-weight:500;color:var(--muted);}
.client-product.client-pro:not(.trainer-product) input,.client-product.client-pro:not(.trainer-product) textarea,.client-product.client-pro:not(.trainer-product) select,.client-pro-layer input,.client-pro-layer textarea,.client-pro-layer select,.login-client input,.client-pro-account input{font-size:16px;background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:12px;padding:13px 14px;box-sizing:border-box;min-width:0;}
.client-product.client-pro:not(.trainer-product) textarea,.client-pro-layer textarea{min-height:112px;line-height:1.5;resize:vertical;}
.client-product.client-pro:not(.trainer-product) :is(input,textarea)::placeholder,.client-pro-layer :is(input,textarea)::placeholder{color:#a9b7c9;opacity:1;}
.client-product.client-pro:not(.trainer-product) input:is([type=radio],[type=checkbox]),.client-pro-layer input:is([type=radio],[type=checkbox]){min-height:22px;width:22px;accent-color:var(--accent);}
.client-product.client-pro:not(.trainer-product) :is(summary,.text-button){color:var(--text);font-size:15px;}
.client-product.client-pro:not(.trainer-product) .client-page{max-width:none;}
.client-product.client-pro:not(.trainer-product) .product-title{margin:0 0 28px;padding:0;}
.client-product.client-pro:not(.trainer-product) .product-title p{margin:0;color:var(--muted);font-size:15px;}
.client-product.client-pro:not(.trainer-product) :is(.product-section,.home-tasks,.product-history,.nutrition-history){margin-top:30px;}
.client-product.client-pro:not(.trainer-product) .page-empty,.client-product.client-pro:not(.trainer-product) .chart-empty{background:transparent;border:0;border-radius:0;padding:24px 0;line-height:1.6;color:var(--muted);}
.client-product.client-pro:not(.trainer-product) .client-state{min-height:50vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:12px;}
.client-product.client-pro:not(.trainer-product) .client-state[aria-busy=true] p{font-size:18px;color:var(--muted);}
.client-product.client-pro:not(.trainer-product) .client-state[aria-busy=true]:before{content:'';width:32px;height:3px;background:var(--accent);border-radius:3px;}
.client-product.client-pro:not(.trainer-product) .client-state h1{font-size:28px;}
.client-product.client-pro:not(.trainer-product) .home-greeting{margin:0 0 8px;align-items:start;}
.client-product.client-pro:not(.trainer-product) .client-home{display:flex;flex-direction:column;gap:0;}
.client-product.client-pro:not(.trainer-product) .client-home>*{order:0;}
.client-product.client-pro:not(.trainer-product) .home-greeting h1{max-width:100%;font-size:32px;line-height:1.15;font-weight:600;letter-spacing:-.9px;}
.client-product.client-pro:not(.trainer-product) .fiksik-coming-soon{display:none;}
.client-product.client-pro:not(.trainer-product) .trainer-identity-link{padding:0;min-height:48px;font-size:14px;color:var(--muted);margin:0 0 18px;}
.client-product.client-pro:not(.trainer-product) .next-booking{display:flex;align-items:center;gap:14px;background:var(--surface);border:0;border-radius:16px;padding:18px 16px;width:100%;text-align:left;margin:0 0 20px;}
.client-product.client-pro:not(.trainer-product) .next-booking>span:nth-child(2){display:grid;gap:5px;min-width:0;}
.client-product.client-pro:not(.trainer-product) .next-booking strong{font-size:19px;line-height:1.3;color:var(--text);}
.client-product.client-pro:not(.trainer-product) .booking-gym{font-size:14px;color:var(--muted);}
.client-product.client-pro:not(.trainer-product) .booking-icon{width:24px;flex:0 0 24px;color:#8cb8f8;background:none;border:0;padding:0;}
.client-product.client-pro:not(.trainer-product) .row-arrow{margin-left:auto;flex:0 0 auto;color:var(--muted);}
.client-product.client-pro:not(.trainer-product) .today-program{padding:22px 20px 20px;border-radius:18px;border:0;background:linear-gradient(140deg,#1b304d,#152131 65%);box-shadow:0 12px 28px #0003;}
.client-product.client-pro:not(.trainer-product) .today-heading{font-size:14px;color:#c5d8f3;}
.client-product.client-pro:not(.trainer-product) .today-program h2{font-size:27px;line-height:1.2;margin:18px 0 8px;font-weight:600;}
.client-product.client-pro:not(.trainer-product) .today-program p{font-size:15px;color:#c5d8f3;margin:0 0 20px;}
.client-product.client-pro:not(.trainer-product) .today-program .primary{width:100%;}
.client-product.client-pro:not(.trainer-product) .today-program .text-button{width:100%;margin-top:4px;color:#c5d8f3;}
.client-product.client-pro:not(.trainer-product) .engagement-package{border:0;border-radius:0;background:none;padding:22px 0;margin:14px 0;border-bottom:1px solid var(--border);box-shadow:none;}
.client-product.client-pro:not(.trainer-product) .engagement-package strong{font-size:40px;font-weight:600;letter-spacing:-1px;font-variant-numeric:tabular-nums;}
.client-product.client-pro:not(.trainer-product) .home-tasks>button,.client-product.client-pro:not(.trainer-product) .client-menu-row{min-height:64px;display:flex;gap:14px;align-items:center;width:100%;padding:16px 0;background:transparent;border:0;border-bottom:1px solid var(--border);border-radius:0;text-align:left;font-size:16px;}
.client-product.client-pro:not(.trainer-product) :is(.task-symbol,.menu-symbol){width:24px;min-width:24px;height:24px;padding:0;background:none;border:0;border-radius:0;color:#8fa6c2;}
.client-product.client-pro:not(.trainer-product) .client-menu-group{border:0;background:none;padding:0;border-radius:0;}
.client-product.client-pro:not(.trainer-product) .secondary-menu{margin-top:28px;}
.client-product.client-pro:not(.trainer-product) .client-logout{margin-top:26px;background:none;color:var(--muted);border:1px solid var(--border);width:100%;}
.client-product.client-pro:not(.trainer-product) .client-booking{display:grid;grid-template-columns:24px minmax(0,1fr) 48px;align-items:start;gap:12px;padding:20px 0;border:0;border-bottom:1px solid var(--border);border-radius:0;background:none;margin:0;}
.client-product.client-pro:not(.trainer-product) .client-booking h2{font-size:19px;margin:4px 0 6px;}
.client-product.client-pro:not(.trainer-product) .client-booking p{font-size:14px;margin:4px 0;}
.client-product.client-pro:not(.trainer-product) .featured-booking{background:var(--surface);padding:20px 16px;margin:0 0 18px;border:0;border-radius:16px;}
.client-product.client-pro:not(.trainer-product) .booking-options summary{width:48px;padding:0;display:flex;justify-content:center;align-items:center;list-style:none;}
.client-product.client-pro:not(.trainer-product) .booking-attendance{margin-top:16px;}
.client-product.client-pro:not(.trainer-product) .booking-attendance .actions{display:flex;flex-direction:column;align-items:stretch;gap:6px;}
.client-product.client-pro:not(.trainer-product) .booking-picker{padding:18px 0 0;background:transparent;border:0;border-radius:0;margin-top:24px;position:relative;}
.client-product.client-pro:not(.trainer-product) .booking-picker .section-heading{display:flex;align-items:center;gap:4px;}
.client-product.client-pro:not(.trainer-product) .booking-picker .section-heading h2{font-size:20px;margin:0 auto 0 0;text-transform:capitalize;}
.client-product.client-pro:not(.trainer-product) .booking-picker .section-heading>div{display:flex;flex-shrink:0;}
.client-product.client-pro:not(.trainer-product) .booking-picker .section-heading button{min-width:48px;width:48px;padding:0;background:none;}
.client-product.client-pro:not(.trainer-product) .client-calendar-today{padding:0;min-height:48px;color:#9bc2ff;}
.client-product.client-pro:not(.trainer-product) .client-weekstrip,.client-product.client-pro:not(.trainer-product) .client-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;}
.client-product.client-pro:not(.trainer-product) .client-weekstrip button,.client-product.client-pro:not(.trainer-product) .client-month-grid button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:0;min-height:52px;padding:8px 0;border-radius:10px;background:transparent;border:0;color:var(--muted);font-size:13px;}
.client-product.client-pro:not(.trainer-product) .client-weekstrip button strong,.client-product.client-pro:not(.trainer-product) .client-month-grid button strong{font-size:17px;font-weight:600;}
.client-product.client-pro:not(.trainer-product) .client-weekstrip button.is-today,.client-product.client-pro:not(.trainer-product) .client-month-grid button.is-today{color:#8fbbff;}
.client-product.client-pro:not(.trainer-product) .client-weekstrip button.active,.client-product.client-pro:not(.trainer-product) .client-month-grid button.active{background:var(--client-action);color:#fff;}
.client-product.client-pro:not(.trainer-product) .client-month-grid button.is-adjacent:not(.active){color:#9aa7b8;}
.client-product.client-pro:not(.trainer-product) .client-month-grid button{min-height:48px;}
.client-product.client-pro:not(.trainer-product) .client-month{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .2s ease,opacity .18s ease;}
.client-product.client-pro:not(.trainer-product) .client-month>div{overflow:hidden;}
.client-product.client-pro:not(.trainer-product) .is-expanded .client-month{grid-template-rows:1fr;opacity:1;}
.client-product.client-pro:not(.trainer-product) .client-month-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));font-size:12px;color:var(--muted);text-align:center;padding:18px 0 8px;}
.client-product.client-pro:not(.trainer-product) .client-calendar-grip{display:flex;width:100%;align-items:center;justify-content:center;gap:10px;background:none;border:0;padding:8px 0;touch-action:none;}
.client-product.client-pro:not(.trainer-product) .client-calendar-grip>span:first-child{width:28px;height:4px;border-radius:2px;background:#63768e;}
.client-product.client-pro:not(.trainer-product) .client-calendar-label{font-size:13px;color:var(--muted);}
.client-product.client-pro:not(.trainer-product) .booking-date{padding-top:8px;margin-top:4px;border-top:1px solid var(--border);}
.client-product.client-pro:not(.trainer-product) .client-time-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.client-product.client-pro:not(.trainer-product) .client-time-slots button{font-variant-numeric:tabular-nums;background:var(--surface-2);border:0;}
.client-product.client-pro:not(.trainer-product) .client-program-day{background:none;border:0;border-bottom:1px solid var(--border);border-radius:0;margin:0;}
.client-product.client-pro:not(.trainer-product) .client-program-day>summary{padding:20px 0;gap:14px;}
.client-product.client-pro:not(.trainer-product) .client-program-day>summary strong{font-size:18px;line-height:1.35;}
.client-product.client-pro:not(.trainer-product) .day-number{width:36px;min-width:36px;background:var(--surface-2);color:var(--muted);font-size:17px;font-weight:600;}
.client-product.client-pro:not(.trainer-product) .current .day-number{background:#213e65;color:#a9ceff;}
.client-product.client-pro:not(.trainer-product) .program-exercise{padding:20px 0;gap:12px;}
.client-product.client-pro:not(.trainer-product) .program-exercise h3{font-size:17px;margin:0 0 8px;}
.client-product.client-pro:not(.trainer-product) .program-exercise p{font-size:14px;color:var(--muted);}
.client-product.client-pro:not(.trainer-product) .weight-focus,.client-product.client-pro:not(.trainer-product) .cardio-focus{padding:0 0 24px;background:none;border:0;border-bottom:1px solid var(--border);border-radius:0;}
.client-product.client-pro:not(.trainer-product) .weight-number{font-size:58px;line-height:1.2;font-weight:600;letter-spacing:-1.8px;font-variant-numeric:tabular-nums;margin:12px 0;}
.client-product.client-pro:not(.trainer-product) .weight-number small{font-size:20px;letter-spacing:0;color:var(--muted);}
.client-product.client-pro:not(.trainer-product) .client-weight-chart{margin-top:24px;}
.client-product.client-pro:not(.trainer-product) .client-week-metrics{gap:24px;}
.client-product.client-pro:not(.trainer-product) .weekly-metric strong{font-size:26px;font-weight:600;font-variant-numeric:tabular-nums;}
.client-product.client-pro:not(.trainer-product) .cardio-focus h2{font-size:32px;letter-spacing:-.8px;}
.client-product.client-pro:not(.trainer-product) .cardio-entry{padding:22px 0;background:none;border:0;}
.client-product.client-pro:not(.trainer-product) :is(.cardio-record,.workout-history-card,.achievement-item){background:none;border:0;border-bottom:1px solid var(--border);border-radius:0;padding:20px 0;margin:0;box-shadow:none;}
.client-product.client-pro:not(.trainer-product) .workout-history-card{width:100%;text-align:left;}
.client-product.client-pro:not(.trainer-product) .cardio-record{display:block;}
.client-product.client-pro:not(.trainer-product) .cardio-record-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;}
.client-product.client-pro:not(.trainer-product) .history-filter,.client-product.client-pro:not(.trainer-product) .achievement-tabs{display:flex;gap:6px;border-bottom:1px solid var(--border);padding-bottom:14px;}
.client-product.client-pro:not(.trainer-product) .history-filter button,.client-product.client-pro:not(.trainer-product) .achievement-tabs button{flex:1;min-width:0;border:0;background:none;color:var(--muted);font-size:14px;padding:10px 8px;}
.client-product.client-pro:not(.trainer-product) .history-filter [aria-pressed=true],.client-product.client-pro:not(.trainer-product) .achievement-tabs [aria-pressed=true]{background:var(--surface-2);color:var(--text);}
.client-product.client-pro:not(.trainer-product) .achievement-item{display:flex;gap:16px;align-items:start;}
.client-product.client-pro:not(.trainer-product) .achievement-item h3{margin:0 0 6px;}
.client-product.client-pro:not(.trainer-product) .award-icon{background:none;color:#9ec4ff;font-size:24px;}
.client-product.client-pro:not(.trainer-product) .nutrition-numbers{gap:12px;padding:20px 0;background:none;border:0;border-radius:0;}
.client-product.client-pro:not(.trainer-product) .nutrition-numbers strong{font-size:27px;font-weight:600;font-variant-numeric:tabular-nums;}
.client-product.client-pro:not(.trainer-product) .nutrition-numbers span,.client-product.client-pro:not(.trainer-product) .nutrition-numbers small{font-size:13px;}
.client-product.client-pro:not(.trainer-product) .nutrition-fields{gap:12px;}
.client-product.client-pro:not(.trainer-product) .nutrition-question{padding:0;border:0;}
.client-product.client-pro:not(.trainer-product) .nutrition-question label{min-height:52px;font-size:16px;background:var(--surface);border-radius:12px;padding:12px;}
.client-product.client-pro:not(.trainer-product) .nutrition-history article{background:none;border:0;border-top:1px solid var(--border);border-radius:0;padding:18px 0;}
.client-product.client-pro:not(.trainer-product) .weekly-group{background:none;border:0;border-top:1px solid var(--border);border-radius:0;margin:0;padding:0;}
.client-product.client-pro:not(.trainer-product) .weekly-group>summary{min-height:64px;padding:18px 0;display:flex;align-items:center;gap:12px;font-size:17px;font-weight:600;}
.client-product.client-pro:not(.trainer-product) .weekly-fields{padding:4px 0 24px;gap:20px;}
.client-product.client-pro:not(.trainer-product) .weekly-status{border:0;border-radius:0;background:none;padding:0 0 22px;color:var(--muted);}
.client-product.client-pro:not(.trainer-product) .weekly-step{font-size:14px;}
.client-product.client-pro:not(.trainer-product) .weekly-photo-slot{background:none;border:0;border-bottom:1px solid var(--border);border-radius:0;padding:20px 0;}
.client-product.client-pro:not(.trainer-product) .weekly-photo-slot input{font-size:14px;min-height:52px;width:100%;}
.client-product.client-pro:not(.trainer-product) .weekly-photo-feedback{margin-top:10px;}
.client-product.client-pro:not(.trainer-product) .report-sent{padding:24px 0;background:none;border:0;}
.client-product.client-pro:not(.trainer-product) .client-intake>.card{background:none;border:0;border-radius:0;padding:8px 0;box-shadow:none;}
.client-product.client-pro:not(.trainer-product) .client-intake>h1{margin-bottom:28px;}
.client-product.client-pro:not(.trainer-product) .readiness-help>details{padding:16px 0;border:0;border-bottom:1px solid var(--border);background:none;border-radius:0;}
.client-product.client-pro:not(.trainer-product) .readiness-help>details>summary{font-size:17px;font-weight:600;}
.client-product.client-pro:not(.trainer-product) .readiness-checklist{padding:22px 0;background:none;border:0;border-top:1px solid var(--border);border-radius:0;}
.client-product.client-pro:not(.trainer-product) .readiness-checklist button{padding:14px 0;border:0;border-bottom:1px solid var(--border);border-radius:0;background:none;text-align:left;width:100%;}
.client-product.client-pro:not(.trainer-product) .readiness-checklist .is-done{color:var(--muted);}
.client-product.client-pro:not(.trainer-product) [data-push-settings]{background:none;border:0;border-top:1px solid var(--border);border-radius:0;padding:24px 0;margin-top:24px;}
.client-product.client-pro:not(.trainer-product) .trainer-business-card{background:var(--surface);border:0;border-radius:16px;overflow:hidden;}
.client-product.client-pro:not(.trainer-product) .trainer-card-body{padding:20px;}
.client-product.client-pro:not(.trainer-product) .trainer-card-photo{width:100%;height:240px;object-fit:cover;}
.client-product.client-pro:not(.trainer-product) .report-text{background:none;border:0;border-radius:0;padding:0;font-size:16px;line-height:1.7;}
.client-product.client-pro:not(.trainer-product) .client-cockpit{max-width:680px;}
.client-product.client-pro:not(.trainer-product) .client-cockpit .focus-header{margin:0 0 20px;min-height:48px;font-size:15px;}
.client-product.client-pro:not(.trainer-product) .client-cockpit .focus-header .quiet-icon{width:48px;min-width:48px;}
.client-product.client-pro:not(.trainer-product) .client-cockpit .focus-menu summary{width:48px;min-height:48px;}
.client-product.client-pro:not(.trainer-product) .client-cockpit .exercise-heading{margin:26px 0;}
.client-product.client-pro:not(.trainer-product) .client-cockpit .exercise-heading h1{font-size:29px;line-height:1.18;letter-spacing:-.7px;margin:8px 0 14px;}
.client-product.client-pro:not(.trainer-product) .client-cockpit .workout-day{font-size:14px;text-transform:none;letter-spacing:0;color:var(--muted);}
.client-product.client-pro:not(.trainer-product) .client-cockpit .parameter-chips{gap:6px 14px;}
.client-product.client-pro:not(.trainer-product) .client-cockpit .parameter-chips span{background:none;border:0;padding:0;font-size:14px;color:var(--muted);}
.client-product.client-pro:not(.trainer-product) .client-cockpit .sets-heading{padding:0;margin:0 0 10px;}
.client-product.client-pro:not(.trainer-product) .client-cockpit .workout-set-title h2{font-size:19px;margin:0;}
.client-product.client-pro:not(.trainer-product) .client-cockpit [data-set-flow-step]{font-size:14px;color:var(--muted);}
.client-product.client-pro:not(.trainer-product) .client-set-progress{display:flex;gap:6px;margin:0 0 18px;}
.client-product.client-pro:not(.trainer-product) .client-set-progress span{height:4px;background:var(--border);flex:1;border-radius:2px;}
.client-product.client-pro:not(.trainer-product) .client-set-progress .is-current{background:var(--accent);}
.client-product.client-pro:not(.trainer-product) .client-set-progress .is-done{background:#a3c8f8;}
.client-product.client-pro:not(.trainer-product) .client-cockpit .set-row.is-active{grid-template-columns:repeat(2,minmax(0,1fr));border:0;background:none;border-radius:0;padding:0;gap:10px 16px;box-shadow:none;}
.client-product.client-pro:not(.trainer-product) .client-cockpit .set-row.is-active>.set-number{display:none;}
.client-product.client-pro:not(.trainer-product) .client-cockpit .set-field{display:flex;flex-direction:column;gap:0;min-width:0;}
.client-product.client-pro:not(.trainer-product) .client-field-label{position:static;inset:auto;display:block;align-self:flex-start;text-align:left;font-size:14px;font-weight:500;color:var(--muted);}
.client-product.client-pro:not(.trainer-product) .client-cockpit .set-row.is-active .set-field input{border:0;border-radius:0;background:transparent;box-shadow:none;font-size:56px!important;font-weight:600;letter-spacing:-1.4px;font-variant-numeric:tabular-nums;line-height:1.2;min-height:88px;height:88px;padding:4px 0;text-align:left;width:100%;}
.client-product.client-pro:not(.trainer-product) .client-cockpit .set-field>span:not(.client-field-label){display:none;}
.client-product.client-pro:not(.trainer-product) .client-cockpit .set-row.is-active .set-field:nth-of-type(n+2){border-left:1px solid var(--border);padding-left:16px;}
.client-product.client-pro:not(.trainer-product) .client-cockpit .set-row.is-active:has([name^=set-reps-left]) .set-field input{font-size:38px!important;}
.client-product.client-pro:not(.trainer-product) .client-cockpit .set-row.is-active:has([name^=set-reps-left]){grid-template-columns:repeat(3,minmax(0,1fr));column-gap:10px;}
.client-product.client-pro:not(.trainer-product) .client-cockpit .set-row[data-duration].is-active{grid-template-columns:1fr;}
.client-product.client-pro:not(.trainer-product) .client-cockpit .set-row.is-active:has([name^=set-reps-left]) .set-field:nth-of-type(n+2){padding-left:10px;}
.client-product.client-pro:not(.trainer-product) .client-cockpit [data-set-no-load]{grid-column:1/-1;font-size:14px;color:var(--muted);text-align:left;padding:8px 0;background:none;}
.client-product.client-pro:not(.trainer-product) .client-cockpit .set-complete{grid-column:1/-1;min-height:56px;margin:4px 0 0;}
.client-product.client-pro:not(.trainer-product) .client-cockpit .set-comment{grid-column:1/-1;border:0;margin:0;padding:0;}
.client-product.client-pro:not(.trainer-product) .client-cockpit .set-comment summary{padding:12px 0;font-size:14px;color:var(--muted);}
.client-product.client-pro:not(.trainer-product) .client-cockpit .last-result{padding:20px 0;margin:8px 0 0;border:0;border-top:1px solid var(--border);background:none;font-size:15px;}
.client-product.client-pro:not(.trainer-product) .client-workout-tools{border-top:1px solid var(--border);padding-top:8px;}
.client-product.client-pro:not(.trainer-product) .client-workout-tools>summary{padding:14px 0;font-size:16px;font-weight:600;}
.client-product.client-pro:not(.trainer-product) .client-workout-tools :is(.exercise-secondary,.exercise-cue,.workout-exercise-queue){border:0;background:none;border-radius:0;padding:12px 0;margin:0;}
.client-product.client-pro:not(.trainer-product) .client-cockpit .workout-footer{position:static;inset:auto;z-index:auto;display:grid;grid-template-columns:1fr;width:auto;max-width:none;gap:12px;background:none;border:0;border-top:1px solid var(--border);padding:18px 0;margin:0;}
.client-product.client-pro:not(.trainer-product) .client-cockpit .workout-next-preview{font-size:14px;color:var(--muted);}
.client-product.client-pro:not(.trainer-product) .client-cockpit .workout-next-preview strong{font-size:17px;}
.client-product.client-pro:not(.trainer-product) .client-cockpit [data-rest-timer]{border:0;border-radius:14px;background:var(--surface);padding:16px;margin:12px 0;}
.client-product.client-pro:not(.trainer-product) .client-cockpit [data-rest-label]{font-size:40px;font-weight:600;font-variant-numeric:tabular-nums;}
.client-product.client-pro:not(.trainer-product) .workout-complete{padding:12px 0;}
.client-product.client-pro:not(.trainer-product) .workout-complete h1{font-size:30px;}
.client-product.client-pro:not(.trainer-product) .workout-volume{background:none;border:0;border-radius:0;}
.client-product.client-pro:not(.trainer-product) .workout-volume>strong{font-size:56px;font-weight:600;letter-spacing:-1px;}
.client-product.client-pro:not(.trainer-product) .summary-entry{border:0;border-top:1px solid var(--border);border-radius:0;background:none;padding:20px 0;}
.client-product.client-pro:not(.trainer-product) .completion-actions{gap:8px;}
.client-pro-layer{border:0;border-radius:22px 22px 0 0;padding:22px 20px calc(24px + env(safe-area-inset-bottom));background:var(--surface);width:min(640px,100%);max-width:100%;box-sizing:border-box;max-height:calc(100dvh - 24px);margin:auto auto 0;box-shadow:0 -16px 60px #0006;}
.client-pro-layer::backdrop{background:#03070dc9;backdrop-filter:none;}
.client-pro-layer :is(.card,.cardio-dialog,.workout-edit-dialog,.booking-detail){background:none;border:0;border-radius:0;padding:0;box-shadow:none;}
.client-pro-layer .workout-edit-dialog{max-height:none;overflow:visible;}
.client-pro-layer #pilot-workout-exercise-editor>button.primary{position:static;inset:auto;}
.client-pro-layer form{display:grid;gap:18px;}
.client-pro-layer h1{font-size:28px;line-height:1.2;font-weight:600;letter-spacing:-.5px;}
.client-pro-layer>button,.client-pro-layer section>button:first-child{margin-bottom:16px;}
.client-pro-layer .workout-edit-grid,.client-pro-layer .compact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.client-pro-layer .workout-edit-grid label{display:grid;gap:8px;}
.client-pro-layer.readiness-intro{padding:28px 22px calc(24px + env(safe-area-inset-bottom));}
.client-pro-layer .learning-controls{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px;}
.client-pro-layer .learning-controls button{flex:1;}
.client-pro-layer.readiness-intro .learning-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.client-pro-layer.readiness-intro .learning-controls .primary{grid-column:1/-1;grid-row:1;}
.client-pro-layer.readiness-intro .learning-controls:not(:has([data-intro=back])) .text-button{grid-column:1/-1;}
body.client-pro-role .learning-tooltip{font-size:16px;background:#1c2633;color:#f2f5fa;border:0;}
body.client-pro-role .learning-tooltip p{font-size:16px;line-height:1.5;}
body.client-pro-role .learning-tooltip button{min-height:48px;min-width:48px;font-size:15px;}
.login-client{margin:8vh auto 32px;padding:24px 22px;background:var(--bg);border:0;border-radius:0;max-width:440px;}
.login-client h1{font-size:32px;font-weight:600;letter-spacing:-.8px;line-height:1.2;}
.login-client nav.row{display:flex;gap:8px;margin:24px 0;}
.login-client nav.row button{flex:1;background:var(--surface);border:0;color:var(--muted);}
.login-client nav.row [data-realm=client]{background:var(--surface-2);color:var(--text);}
.login-client [data-link-do=password-visibility]{background:none;border:0;color:var(--muted);width:auto;text-align:left;padding:12px 0;}
.login-client [data-link-do=recovery]{background:none;border:0;color:#9bc2ff;padding:12px 0;text-align:left;}
.client-pro-account{max-width:600px;margin:0 auto;padding:32px 20px;}
.client-pro-account>.card{background:none;border:0;border-radius:0;box-shadow:none;padding:0;}
.client-pro-account h1{font-size:30px;font-weight:600;line-height:1.2;margin:24px 0;}
.client-pro-account form{display:grid;gap:18px;margin:24px 0;}
.client-pro-account button{margin:8px 0;}
body.client-pro-role #toast{width:max-content;max-height:min(320px,calc(100dvh - 150px));overflow:auto;overflow-wrap:anywhere;background:#243249;color:#f2f5fa;border:0;font-size:15px;line-height:1.5;max-width:min(560px,calc(100vw - 32px));bottom:calc(90px + env(safe-area-inset-bottom));}
body.client-pro-role #toast[popover]{top:auto;right:auto;margin:0;}
@media(max-width:720px){
 .client-product.client-pro:not(.trainer-product) .main{padding:20px 16px calc(100px + env(safe-area-inset-bottom));}
 .client-product.client-pro:not(.trainer-product).client-focused .main{padding-bottom:calc(28px + env(safe-area-inset-bottom));}
 .client-product.client-pro:not(.trainer-product) .bottom-nav{background:#111821;border-top:1px solid #2b3745;box-shadow:none;backdrop-filter:none;padding:8px 4px calc(8px + env(safe-area-inset-bottom));}
 .client-product.client-pro:not(.trainer-product) .bottom-nav button{min-height:56px;gap:5px;color:#b4bfcd;padding:6px 0;border-radius:10px;font-size:11px;}
 .client-product.client-pro:not(.trainer-product) .bottom-nav button.active{background:transparent;color:#8fbbff;}
 .client-product.client-pro:not(.trainer-product) .bottom-nav button.active:before{display:none;}
 .client-product.client-pro:not(.trainer-product) .bottom-nav .nav-icon{width:23px;height:23px;}
 .client-product.client-pro:not(.trainer-product) .client-brand .quiet-icon{width:48px;padding:0;}
 .client-product.client-pro:not(.trainer-product) .booking-picker .section-heading h2{font-size:19px;}
 .client-product.client-pro:not(.trainer-product) .workout-cockpit{padding:0;}
 .client-pro-layer{max-height:calc(100dvh - 16px);}
}
@media(max-width:370px){.client-product.client-pro:not(.trainer-product) .home-greeting h1{font-size:30px;}.client-product.client-pro:not(.trainer-product) .nutrition-fields{grid-template-columns:1fr;}.client-product.client-pro:not(.trainer-product) .nutrition-numbers{gap:8px;}.client-product.client-pro:not(.trainer-product) .nutrition-numbers strong{font-size:23px;}.client-product.client-pro:not(.trainer-product) .client-cockpit .set-row.is-active .set-field input{font-size:50px!important;}.client-product.client-pro:not(.trainer-product) .client-weekstrip,.client-product.client-pro:not(.trainer-product) .client-month{margin-inline:-4px;}}
@media(min-width:721px){.client-product.client-pro:not(.trainer-product) .sidebar{background:#10161e;}.client-product.client-pro:not(.trainer-product) .main{padding-top:36px;}.client-pro-layer{margin:auto;border-radius:22px;max-height:calc(100dvh - 48px);}.client-product.client-pro:not(.trainer-product) .client-home{max-width:620px;}}
@media(prefers-reduced-motion:reduce){.client-product.client-pro:not(.trainer-product) *,.client-pro-layer *{animation:none!important;transition:none!important;scroll-behavior:auto!important;}.client-product.client-pro:not(.trainer-product) button:active,.client-pro-layer button:active{transform:none;}}
/* Mobile result: one compact reading column, including the history dialog. */
@media(max-width:720px){
 :is(.client-product.client-pro:not(.trainer-product),.client-pro-layer) .workout-result .workout-volume{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px 12px;padding:0;margin:20px 0 24px;border:0;border-radius:0;background:none;}
 :is(.client-product.client-pro:not(.trainer-product),.client-pro-layer) .workout-result .workout-volume>*{grid-column:1/-1;min-width:0;}
 :is(.client-product.client-pro:not(.trainer-product),.client-pro-layer) .workout-result .workout-volume .reward-art{grid-column:1;grid-row:1/3;width:48px;height:48px;margin:0;align-self:start;}
 :is(.client-product.client-pro:not(.trainer-product),.client-pro-layer) .workout-result .reward-art::before{display:none;}
 :is(.client-product.client-pro:not(.trainer-product),.client-pro-layer) .workout-result .workout-volume h1{grid-column:2;grid-row:1;font-size:22px;line-height:1.25;font-weight:600;letter-spacing:-.4px;margin:0;}
 :is(.client-product.client-pro:not(.trainer-product),.client-pro-layer) .workout-result .workout-volume .completion-title{grid-column:2;grid-row:2;font-size:14px!important;line-height:1.5;margin:0 0 12px;color:var(--muted);}
 :is(.client-product.client-pro:not(.trainer-product),.client-pro-layer) .workout-result .workout-volume>strong{font-size:44px;line-height:1.1;font-weight:600;letter-spacing:-.8px;font-variant-numeric:tabular-nums;}
 :is(.client-product.client-pro:not(.trainer-product),.client-pro-layer) .workout-result .workout-volume>p:not(.completion-title){margin:4px 0;font-size:14px;line-height:1.5;}
 :is(.client-product.client-pro:not(.trainer-product),.client-pro-layer) .workout-result .achievement-badges{justify-content:flex-start;margin:4px 0;gap:8px;}
 :is(.client-product.client-pro:not(.trainer-product),.client-pro-layer) .workout-result .achievement-badge{font-size:13px;padding:6px 10px;border-radius:8px;}
 :is(.client-product.client-pro:not(.trainer-product),.client-pro-layer) .workout-result>.summary-entry{padding:20px 0;border:0;border-top:1px solid var(--border);}
 :is(.client-product.client-pro:not(.trainer-product),.client-pro-layer) .workout-result .summary-entry h3{margin:0 0 12px;font-size:17px;line-height:1.4;font-weight:600;}
 :is(.client-product.client-pro:not(.trainer-product),.client-pro-layer) .workout-result .result-sets p{display:flex;align-items:baseline;gap:6px 12px;margin:0;padding:10px 0;font-size:14px;}
 :is(.client-product.client-pro:not(.trainer-product),.client-pro-layer) .workout-result .result-sets p>span:first-child{width:auto;min-width:70px;}
 :is(.client-product.client-pro:not(.trainer-product),.client-pro-layer) .workout-result .result-sets p>strong{font-size:15px;font-variant-numeric:tabular-nums;}
 :is(.client-product.client-pro:not(.trainer-product),.client-pro-layer) .workout-result .result-set-comment{flex-basis:100%;}
}

body.client-pro-role .reward-art svg.client-trophy{filter:none;}

/* Client More: grouped mobile settings, with stable rows and explicit destinations. */
:is(.client-product.client-pro:not(.trainer-product),.trainer-product) :is(.client-more-organized,.trainer-more-organized) .product-title{margin-bottom:28px;}
:is(.client-product.client-pro:not(.trainer-product),.trainer-product) :is(.client-more-organized,.trainer-more-organized) .more-section{margin:0 0 24px;min-width:0;}
:is(.client-product.client-pro:not(.trainer-product),.trainer-product) :is(.client-more-organized,.trainer-more-organized) .more-section>h2{margin:0 0 10px;padding:0 8px;font-size:14px;line-height:1.5;font-weight:500;color:var(--muted);letter-spacing:0;}
:is(.client-product.client-pro:not(.trainer-product),.trainer-product) :is(.client-more-organized,.trainer-more-organized) .client-menu-group{padding:0 16px;background:var(--surface);border:0;border-radius:18px;overflow:hidden;}
:is(.client-product.client-pro:not(.trainer-product),.trainer-product) :is(.client-more-organized,.trainer-more-organized) .client-menu-row{display:flex;align-items:center;width:100%;min-height:60px;gap:12px;padding:14px 0;font-size:16px;line-height:1.4;font-weight:400;color:var(--text);background:transparent;border:0;border-bottom:1px solid var(--border);border-radius:0;box-shadow:none;text-decoration:none;}
:is(.client-product.client-pro:not(.trainer-product),.trainer-product) :is(.client-more-organized,.trainer-more-organized) .client-menu-row:last-child{border-bottom:0;}
:is(.client-product.client-pro:not(.trainer-product),.trainer-product) :is(.client-more-organized,.trainer-more-organized) .menu-symbol{display:grid;place-items:center;flex:0 0 24px;width:24px;min-width:24px;height:24px;padding:0;border:0;border-radius:0;background:none;color:#8fbbff;}
:is(.client-product.client-pro:not(.trainer-product),.trainer-product) :is(.client-more-organized,.trainer-more-organized) .menu-symbol svg{display:block;width:24px;height:24px;}
:is(.client-product.client-pro:not(.trainer-product),.trainer-product) :is(.client-more-organized,.trainer-more-organized) .more-label{flex:1;min-width:0;}
:is(.client-product.client-pro:not(.trainer-product),.trainer-product) :is(.client-more-organized,.trainer-more-organized) .row-arrow{display:flex;flex:0 0 18px;margin:0;color:var(--muted);}
:is(.client-product.client-pro:not(.trainer-product),.trainer-product) :is(.client-more-organized,.trainer-more-organized) .row-arrow svg{width:18px;height:18px;}
:is(.client-product.client-pro:not(.trainer-product),.trainer-product) :is(.client-more-organized,.trainer-more-organized) .client-menu-row:active{background:var(--surface-2);transform:none;}
:is(.client-product.client-pro:not(.trainer-product),.trainer-product) :is(.client-more-organized,.trainer-more-organized) .client-logout{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:52px;margin:8px 0 0;padding:14px 16px;background:none;border:0;border-radius:14px;color:var(--muted);font-size:15px;}
:is(.client-product.client-pro:not(.trainer-product),.trainer-product) :is(.client-more-organized,.trainer-more-organized) .client-logout svg{display:block;width:20px;height:20px;}
@media(hover:hover){:is(.client-product.client-pro:not(.trainer-product),.trainer-product) :is(.client-more-organized,.trainer-more-organized) .client-menu-row:hover{color:var(--text);background:var(--surface-2);}:is(.client-product.client-pro:not(.trainer-product),.trainer-product) :is(.client-more-organized,.trainer-more-organized) .client-logout:hover{background:var(--surface);}}

:is(.client-product.client-pro:not(.trainer-product),.trainer-product) :is(.client-more-organized,.trainer-more-organized) .more-notifications{border:0;border-bottom:1px solid var(--border);margin:0;padding:0;}
:is(.client-product.client-pro:not(.trainer-product),.trainer-product) :is(.client-more-organized,.trainer-more-organized) .more-notifications:last-child{border-bottom:0;}
:is(.client-product.client-pro:not(.trainer-product),.trainer-product) :is(.client-more-organized,.trainer-more-organized) .more-notifications>summary{list-style:none;cursor:pointer;border-bottom:0;}
:is(.client-product.client-pro:not(.trainer-product),.trainer-product) :is(.client-more-organized,.trainer-more-organized) .more-notifications>summary::-webkit-details-marker{display:none;}
:is(.client-product.client-pro:not(.trainer-product),.trainer-product) :is(.client-more-organized,.trainer-more-organized) .more-notifications[open]>summary .row-arrow{transform:rotate(90deg);}
:is(.client-product.client-pro:not(.trainer-product),.trainer-product) :is(.client-more-organized,.trainer-more-organized) [data-push-settings]{margin:0;padding:0 0 16px;border:0;background:none;}
:is(.client-product.client-pro:not(.trainer-product),.trainer-product) :is(.client-more-organized,.trainer-more-organized) [data-push-settings]>h2{display:none;}
:is(.client-product.client-pro:not(.trainer-product),.trainer-product) :is(.client-more-organized,.trainer-more-organized) [data-push-settings] p{font-size:14px;line-height:1.5;margin:0 0 12px;color:var(--muted);}
:is(.client-product.client-pro:not(.trainer-product),.trainer-product) :is(.client-more-organized,.trainer-more-organized) [data-push-settings] button{width:100%;min-height:48px;margin-bottom:12px;}

.trainer-product .trainer-more-organized .more-finance{margin:0;padding:0;border:0;}
.trainer-product .trainer-more-organized .more-finance>summary{list-style:none;border:0;cursor:pointer;}
.trainer-product .trainer-more-organized .more-finance>summary::-webkit-details-marker{display:none;}
.trainer-product .trainer-more-organized .more-finance[open]>summary .row-arrow{transform:rotate(90deg);}
.trainer-product .trainer-more-organized .more-finance-actions{display:grid;gap:8px;padding-bottom:16px;}
.trainer-product .trainer-more-organized .more-finance-actions button{min-height:48px;margin:0;font-size:15px;}
