/* Studio: shared appearance for the client and coach, independent of data/renderers. */
#trainer-app {
  --bg:#f3f4f1; --surface:#ffffff; --surface2:#edf0ec; --surface3:#e3e8e2;
  --text:#19221c; --muted:#56645a; --line:#dce2db;
  --green:#138448; --green2:#10733e; --greenSoft:#e0f1e5; --on-accent:#ffffff;
  --orange:#9c5417; --red:#c73643; --blue:#326bb2; --purple:var(--green);
  --shadow:none; --r:18px;
  --v49-bg:var(--bg); --v49-panel:var(--surface); --v49-panel2:var(--surface2);
  --v49-line:var(--line); --v49-line2:var(--line); --v49-text:var(--text);
  --v49-muted:var(--muted); --v49-muted2:var(--muted); --v49-green:var(--green);
  --v49-blue:var(--blue); --v49-orange:var(--orange); --v49-purple:var(--green);
  --v49-danger:var(--red); --v49-action:var(--green); --v49-actionText:var(--on-accent);
  --c3-bg:var(--bg); --c3-bg2:var(--surface); --c3-panel:var(--surface); --c3-panel2:var(--surface2); --c3-panel3:var(--surface3);
  --c3-line:var(--line); --c3-line2:var(--line); --c3-text:var(--text);
  --c3-muted:var(--muted); --c3-muted2:var(--muted); --c3-lime:var(--green);
  --c3-blue:var(--blue); --c3-orange:var(--orange); --c3-red:var(--red);
  --c3-lime2:var(--green); --c3-limeSoft:var(--greenSoft); --c3-shadow:none;
  --v57-bg:var(--bg); --v57-panel:var(--surface); --v57-panel2:var(--surface2);
  --v57-line:var(--line); --v57-text:var(--text); --v57-muted:var(--muted);
  --v57-lime:var(--green); --v57-warn:var(--orange);
  color-scheme:light;
}
#trainer-app[data-theme="dark"] {
  --bg:#13151b; --surface:#1d2028; --surface2:#262a34; --surface3:#303541;
  --text:#f1f0ed; --muted:#a6acb8; --line:#343944;
  --green:#22d378; --green2:#22d378; --greenSoft:#173b2a; --on-accent:#081f14;
  --orange:#ffb36c; --red:#ff8791; --blue:#85b4fa;
  color-scheme:dark;
}
#trainer-app, #trainer-app body { background:var(--bg)!important; color:var(--text)!important; }
#trainer-app body { font:15px/1.5 "Segoe UI",-apple-system,BlinkMacSystemFont,Arial,sans-serif!important; letter-spacing:0!important; }
#trainer-app body::before { display:none!important; }
#trainer-app .shell { max-width:none!important; }
#trainer-app :where(p,small,span,em,label,summary,td,th,li,time,kbd) { font-size:13px!important; }
#trainer-app :where(h1) { font-size:36px!important; line-height:1.15!important; font-weight:650!important; letter-spacing:-1.2px!important; }
#trainer-app :where(h2) { font-size:22px!important; line-height:1.3!important; font-weight:650!important; letter-spacing:-.4px!important; }
#trainer-app :where(h3) { font-size:17px!important; line-height:1.35!important; font-weight:650!important; }
#trainer-app :where(button) { font-size:14px!important; font-weight:600!important; border-radius:10px!important; min-height:40px!important; }
#trainer-app :where(button,a,input,select,textarea,summary):focus-visible { outline:2px solid var(--green)!important; outline-offset:3px!important; }
#trainer-app :where(button):disabled { opacity:.45!important; }
#trainer-app :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea) {
  min-width:0; max-width:100%; font-size:16px!important; color:var(--text)!important;
  background:var(--surface2)!important; border:1px solid var(--line)!important;
  border-radius:10px!important; padding:10px 12px!important; box-shadow:none!important;
}
#trainer-app :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select) { min-height:44px!important; }
#trainer-app ::placeholder { color:var(--muted)!important; opacity:1; }
#trainer-app .card { background:var(--surface)!important; border:1px solid var(--line)!important; border-radius:var(--r)!important; box-shadow:none!important; }
#trainer-app .primary, #trainer-app button.lime { background:var(--green)!important; color:var(--on-accent)!important; border:0!important; box-shadow:none!important; border-radius:12px!important; }
#trainer-app .secondary { color:var(--text)!important; background:var(--surface2)!important; border-color:var(--line)!important; border-radius:10px!important; }
#trainer-app .badge { background:var(--greenSoft)!important; color:var(--green)!important; padding:5px 9px!important; border:0!important; border-radius:20px!important; font-size:12px!important; }
#trainer-app .badge.gray { background:var(--surface2)!important; color:var(--muted)!important; }
#trainer-app .badge.orange { background:color-mix(in srgb,var(--orange) 12%,var(--surface))!important; color:var(--orange)!important; }
#trainer-app .eyebrow { font-size:12px!important; font-weight:600!important; letter-spacing:1.1px!important; color:var(--green)!important; }
#trainer-app .hero { margin:0 0 28px!important; }
#trainer-app .sub, #trainer-app .note { font-size:14px!important; color:var(--muted)!important; line-height:1.55!important; }

/* Client shell: roomy desktop canvas and a familiar bottom bar on a phone. */
#trainer-app .topbar { height:84px!important; padding:0 24px!important; background:var(--bg)!important; border-bottom:1px solid var(--line)!important; backdrop-filter:none!important; }
#trainer-app .toprow { height:84px!important; min-height:84px!important; max-width:1180px!important; margin:0 auto!important; }
#trainer-app .brand { gap:12px!important; }
#trainer-app .brand .logo { display:grid!important; width:40px!important; height:40px!important; border:0!important; background:var(--greenSoft)!important; color:var(--green)!important; border-radius:12px!important; font-size:16px!important; }
#trainer-app .brand strong { font-size:15px!important; line-height:1.2!important; font-weight:600!important; letter-spacing:0!important; }
#trainer-app .brand small { font-size:12px!important; line-height:1.3!important; color:var(--muted)!important; }
#trainer-app .iconbtn { width:44px!important; height:44px!important; background:var(--surface)!important; border:1px solid var(--line)!important; border-radius:12px!important; color:var(--text)!important; box-shadow:none!important; }
#trainer-app .profile-v47 { border-radius:50%!important; background:var(--greenSoft)!important; color:var(--green)!important; }
#trainer-app .page { width:100%!important; max-width:920px!important; margin:auto!important; padding:32px 24px 110px!important; }
#trainer-app body.c3-workout-mode .page { padding:0!important; max-width:none!important; }
#trainer-app .bottomnav { height:76px!important; background:var(--bg)!important; border-top:1px solid var(--line)!important; backdrop-filter:none!important; padding:0 12px env(safe-area-inset-bottom)!important; }
#trainer-app .bottominner { max-width:650px!important; height:72px!important; }
#trainer-app .navbtn { min-height:64px!important; color:var(--muted)!important; border:0!important; padding:8px 4px!important; gap:4px!important; }
#trainer-app .navbtn small { font-size:12px!important; color:inherit!important; }
#trainer-app .navbtn.active { background:var(--greenSoft)!important; color:var(--green)!important; }
#trainer-app .navbtn.active small { color:var(--green)!important; }
#trainer-app .navbtn.active::before { display:none!important; }
#trainer-app .navbtn .op-icon { width:20px!important; height:20px!important; }

/* Today uses real program data and existing actions. */
#trainer-app .c3v51-client { gap:24px!important; }
#trainer-app .studio-today-heading { grid-column:1/-1; }
#trainer-app .studio-today-heading>span { display:block; color:var(--muted); font-size:12px!important; letter-spacing:1px; text-transform:uppercase; }
#trainer-app .studio-today-heading h1 { margin:8px 0!important; }
#trainer-app .studio-today-heading p { margin:0; color:var(--muted); font-size:15px!important; }
#trainer-app .c3v51-week { grid-column:1/-1; margin:0!important; padding:0 0 18px!important; border-color:var(--line)!important; gap:5px!important; }
#trainer-app .c3v51-week button { height:60px!important; border-radius:12px!important; color:var(--muted)!important; }
#trainer-app .c3v51-week button b { font-size:17px!important; color:var(--text)!important; font-weight:600; }
#trainer-app .c3v51-week button.active { background:var(--greenSoft)!important; color:var(--green)!important; }
#trainer-app .c3v51-week button.active b { color:var(--green)!important; }
#trainer-app .c3v51-week button.active i { background:var(--green)!important; }
#trainer-app .c3v51-today-card { padding:28px!important; background:var(--surface)!important; border:0!important; border-radius:20px!important; display:flex; flex-direction:column; }
#trainer-app .c3v51-today-card::before { display:none!important; }
#trainer-app .c3v51-kicker { align-self:start; margin:0 0 22px!important; background:var(--greenSoft)!important; color:var(--green)!important; border-radius:20px; padding:6px 10px; font-size:12px!important; font-weight:600!important; }
#trainer-app .c3v51-today-main h1 { font-size:32px!important; margin:0 0 10px!important; }
#trainer-app .c3v51-today-main p { color:var(--muted)!important; font-size:14px!important; }
#trainer-app .c3v51-sportmark { background:var(--surface2)!important; border:0!important; color:var(--green)!important; border-radius:14px!important; }
#trainer-app .c3v51-note { margin-top:22px!important; padding:14px 0!important; border-color:var(--line)!important; color:var(--muted)!important; }
#trainer-app .c3v51-note span { font-size:14px!important; line-height:1.6!important; }
#trainer-app .c3v51-cta { min-height:52px!important; height:auto!important; padding:14px 16px!important; margin-top:24px!important; background:var(--green)!important; color:var(--on-accent)!important; border-radius:12px!important; font-weight:650!important; }
#trainer-app .c3v51-cta span { font-size:15px!important; }
#trainer-app .c3v51-progress { margin:0!important; padding:24px; background:var(--surface); border-radius:20px; }
#trainer-app .c3v51-progress h2, #trainer-app .c3v51-exercises h2 { font-size:19px!important; }
#trainer-app .c3v51-progress>header { margin-bottom:20px!important; }
#trainer-app .c3v51-performance-strip { border:0!important; gap:14px; grid-template-columns:1fr!important; }
#trainer-app .c3v51-performance-strip>div { text-align:left!important; padding:0 0 14px!important; border:0!important; border-bottom:1px solid var(--line)!important; }
#trainer-app .c3v51-performance-strip>div:last-child { border-bottom:0!important; padding-bottom:0!important; }
#trainer-app .c3v51-performance-strip strong { font-size:26px!important; font-weight:600!important; color:var(--text)!important; }
#trainer-app .c3v51-performance-strip span { color:var(--muted)!important; font-size:13px!important; }
#trainer-app .c3v51-exercises { grid-column:1/-1; margin:0!important; }
#trainer-app .c3v51-ex-list { border-color:var(--line)!important; }
#trainer-app .c3v51-ex-row { min-height:88px!important; padding:16px 0!important; gap:16px!important; border-color:var(--line)!important; }
#trainer-app .c3v51-thumb { background:var(--surface2)!important; border:0!important; border-radius:12px!important; color:var(--muted)!important; }
#trainer-app .c3v51-thumb::after { display:none!important; }
#trainer-app .c3v51-ex-copy strong { font-size:16px!important; line-height:1.4!important; color:var(--text)!important; font-weight:600!important; }
#trainer-app .c3v51-ex-copy small, #trainer-app .c3v51-ex-copy em { font-size:13px!important; line-height:1.5!important; color:var(--muted)!important; }
#trainer-app .c3v51-ex-row>a { width:44px; height:44px; }
#trainer-app .c3v51-empty { padding:48px 0!important; }
#trainer-app .c3v51-empty p { color:var(--muted)!important; font-size:15px!important; }
#trainer-app .v57-readiness-card { grid-column:1/-1; border:1px solid var(--line)!important; background:var(--surface)!important; border-radius:16px!important; padding:20px!important; margin:0!important; gap:14px!important; color:var(--text)!important; }
#trainer-app .v57-readiness-card strong { font-size:16px!important; }
#trainer-app .v57-readiness-card :where(span,small) { font-size:13px!important; color:var(--muted)!important; }
#trainer-app .client-plan-v49 { min-width:0; width:100%; }
#trainer-app .client-plan-top-v49 { display:grid!important; grid-template-columns:minmax(0,1fr) auto; gap:20px!important; }
#trainer-app .client-plan-top-v49>div, #trainer-app .client-plan-top-v49 label { min-width:0; }
#trainer-app .client-plan-top-v49 h2 { overflow-wrap:anywhere; }
#trainer-app .client-day-tabs-v49 { min-width:0; width:100%; margin:0!important; padding:12px 0!important; grid-template-columns:repeat(7,minmax(0,1fr))!important; gap:4px; overflow:visible!important; }
#trainer-app .client-day-tabs-v49 button { min-width:0!important; height:62px!important; padding:6px 0!important; border:0!important; }
#trainer-app .client-day-tabs-v49 button.active { background:var(--greenSoft)!important; color:var(--green)!important; }
#trainer-app .client-plan-day-head-v49 { gap:14px; flex-wrap:wrap; }
#trainer-app .client-plan-day-v49 { background:var(--surface)!important; border-color:var(--line)!important; padding:24px!important; border-radius:18px!important; }

/* Active workout: large entry fields, clear current set and one main action. */
#trainer-app .c3v53-workout { background:var(--bg)!important; color:var(--text)!important; }
#trainer-app .c3v53-top, #trainer-app .c3v53-bottom { background:var(--bg)!important; border-color:var(--line)!important; }
#trainer-app .c3v53-top-inner { max-width:1120px!important; height:76px!important; }
#trainer-app .c3v53-top-inner strong { font-size:16px!important; }
#trainer-app .c3v53-top-inner span { color:var(--muted)!important; font-size:12px!important; }
#trainer-app .c3v53-top-progress { background:var(--surface2)!important; }
#trainer-app .c3v53-workspace { width:min(1120px,100%)!important; padding:36px 24px 120px!important; gap:36px!important; grid-template-columns:minmax(260px,.85fr) minmax(440px,1.15fr)!important; }
#trainer-app .c3v53-left { top:108px!important; }
#trainer-app .c3v53-ex-head h1 { font-size:36px!important; overflow-wrap:normal!important; }
#trainer-app .c3v53-ex-head, #trainer-app .c3v53-focus, #trainer-app .c3v53-table-head { border-color:var(--line)!important; padding-bottom:22px!important; }
#trainer-app .c3v53-ex-head>div>span { color:var(--muted)!important; }
#trainer-app .c3v53-focus { padding:22px 0!important; }
#trainer-app .c3v53-focus>strong { font-size:24px!important; font-weight:600!important; color:var(--green)!important; }
#trainer-app .c3v53-table-head p { font-size:13px!important; color:var(--muted)!important; max-width:280px!important; }
#trainer-app .c3v53-table-head>div strong { font-size:24px!important; }
#trainer-app .c3v53-table>.columns, #trainer-app .c3v53-set { grid-template-columns:44px minmax(80px,1fr) minmax(70px,.8fr) minmax(70px,.8fr) 44px!important; gap:10px!important; }
#trainer-app .c3v53-table>.columns { padding:16px 10px!important; color:var(--muted)!important; border-color:var(--line)!important; }
#trainer-app .c3v53-set { min-height:82px!important; border-color:var(--line)!important; padding:12px 10px!important; }
#trainer-app .c3v53-set.current { background:var(--greenSoft)!important; box-shadow:inset 3px 0 var(--green)!important; border-radius:10px; }
#trainer-app .c3v53-set .series b { font-size:16px!important; }
#trainer-app .c3v53-set .series small { font-size:10px!important; letter-spacing:0!important; }
#trainer-app .c3v53-set .target span { font-size:13px!important; color:var(--muted)!important; line-height:1.35!important; }
#trainer-app .c3v53-set input { height:48px!important; min-height:48px!important; font-size:18px!important; background:var(--surface)!important; border-color:var(--line)!important; padding:0 6px!important; }
#trainer-app .c3v53-set.current input { border-color:color-mix(in srgb,var(--green) 55%,var(--line))!important; }
#trainer-app .c3v53-check { width:42px!important; height:42px!important; min-height:42px!important; border-radius:50%!important; color:var(--on-accent)!important; }
#trainer-app .c3v53-rest { padding:18px!important; background:var(--surface)!important; border-color:var(--line)!important; border-radius:16px!important; }
#trainer-app .c3v53-rest strong { font-size:30px!important; }
#trainer-app .c3v53-rest :where(span,small) { color:var(--muted)!important; }
#trainer-app .c3v53-rest-ring { background:conic-gradient(var(--green) calc(var(--rest)*1%),var(--surface3) 0)!important; color:var(--green)!important; }
#trainer-app .c3v53-rest-ring::after { background:var(--surface)!important; }
#trainer-app .c3v53-rest-tools { gap:8px!important; margin-top:10px!important; }
#trainer-app .c3v53-rest-tools button, #trainer-app .c3v53-rest>button { background:var(--surface2)!important; border-color:var(--line)!important; color:var(--text)!important; }
#trainer-app .c3v53-next { padding:18px 0!important; border-color:var(--line)!important; }
#trainer-app .c3v53-next strong { font-size:14px!important; }
#trainer-app .c3v53-note summary { padding:16px 0!important; color:var(--muted)!important; }
#trainer-app .c3v53-bottom { height:auto!important; min-height:84px!important; padding-top:12px!important; padding-bottom:calc(12px + env(safe-area-inset-bottom))!important; }
#trainer-app .c3v53-bottom button { border-radius:12px!important; background:var(--surface)!important; border-color:var(--line)!important; color:var(--text)!important; }
#trainer-app .c3v53-bottom button.lime { background:var(--green)!important; color:var(--on-accent)!important; font-size:16px!important; font-weight:650!important; }
#trainer-app .c3v53-bottom button.lime span { font-size:16px!important; }
#trainer-app .c3v51-finish { padding:40px 24px 90px!important; }
#trainer-app .c3v51-finish p { font-size:15px!important; color:var(--muted)!important; }
#trainer-app .c3v51-finish-stats { border:0!important; gap:16px!important; }
#trainer-app .c3v51-finish-stats>div { background:var(--surface); border:0!important; border-radius:16px; padding:20px!important; }
#trainer-app .c3v51-finish-stats strong { font-size:30px!important; }
#trainer-app .c3v51-rpe button.active { background:var(--green)!important; color:var(--on-accent)!important; }
#trainer-app .c3v51-finish-actions { gap:12px!important; }
#trainer-app .c3v51-finish-actions button { min-height:52px!important; }

/* Coach: consistent sidebar, softer panels and readable editing controls. */
#trainer-app body.c3-coach-mode .page { padding:28px 24px 90px!important; max-width:1440px!important; margin:auto!important; }
#trainer-app #screen-trainer { left:auto!important; width:100%!important; transform:none!important; max-width:none!important; }
#trainer-app #screen-trainer #trainerRoot { grid-template-columns:200px minmax(0,1fr)!important; column-gap:32px!important; }
#trainer-app .v57-coach-nav { top:28px!important; padding-right:20px!important; border-color:var(--line)!important; }
#trainer-app .v57-coach-nav .brand { padding:4px 10px 28px!important; }
#trainer-app .v57-coach-nav .brand strong { width:38px!important; height:38px!important; background:var(--greenSoft)!important; border:0!important; border-radius:12px; color:var(--green)!important; }
#trainer-app .v57-coach-nav .brand span { font-size:13px!important; }
#trainer-app .v57-coach-nav nav { gap:6px!important; }
#trainer-app .v57-coach-nav nav button { min-height:48px!important; font-size:14px!important; padding:12px!important; color:var(--muted)!important; border-radius:12px!important; }
#trainer-app .v57-coach-nav nav button.active { background:var(--greenSoft)!important; color:var(--green)!important; box-shadow:none!important; }
#trainer-app .v57-coach-nav nav b { background:var(--surface2)!important; color:var(--text)!important; font-size:11px!important; }
#trainer-app .v57-coach-nav>button { color:var(--muted)!important; border-color:var(--line)!important; }
#trainer-app .v59-coach-search-btn { background:var(--surface)!important; border-color:var(--line)!important; color:var(--muted)!important; border-radius:12px!important; margin-bottom:18px!important; }
#trainer-app .v57-coach-head, #trainer-app .v57-dashboard>header { border:0!important; padding:0 0 12px!important; margin-bottom:20px!important; }
#trainer-app .v57-dashboard { gap:24px!important; }
#trainer-app .v57-dashboard-actions { gap:10px!important; }
#trainer-app .v57-dashboard-actions button { min-height:44px!important; padding:8px 14px!important; background:var(--surface)!important; border-color:var(--line)!important; color:var(--text)!important; }
#trainer-app .v57-dashboard-actions button:first-child { background:var(--green)!important; color:var(--on-accent)!important; border:0!important; }
#trainer-app .v57-kpis { background:transparent!important; border:0!important; gap:16px!important; }
#trainer-app .v57-kpis article { padding:22px!important; border:0!important; border-radius:18px!important; background:var(--surface)!important; }
#trainer-app .v57-kpis strong { font-size:34px!important; margin:8px 0!important; font-weight:600!important; }
#trainer-app .v57-kpis :where(span,small) { color:var(--muted)!important; }
#trainer-app .v57-dashboard-grid { gap:24px!important; }
#trainer-app .v57-dashboard-grid>section { background:var(--surface); border-radius:18px; padding:24px; min-width:0; }
#trainer-app .v57-dashboard-grid>section>header { border-color:var(--line)!important; padding-bottom:16px!important; }
#trainer-app .v57-dashboard-grid h2 { font-size:19px!important; }
#trainer-app :where(.v57-agenda,.v57-attention,.v57-feed,.v57-pr) { padding:16px 0!important; border-color:var(--line)!important; min-width:0; }
#trainer-app :where(.v57-agenda,.v57-attention,.v57-feed,.v57-pr) strong { font-size:15px!important; }
#trainer-app :where(.v57-agenda,.v57-attention,.v57-feed,.v57-pr) small { font-size:12px!important; color:var(--muted)!important; white-space:normal!important; }
#trainer-app .v57-attention { grid-template-columns:85px minmax(0,1fr) 12px!important; }
#trainer-app .v57-empty { color:var(--muted)!important; font-size:14px!important; padding:24px 0!important; }
#trainer-app :where(.trainer-card,.trainer-client,.trainer-program,.editor-block-v45,.editor-topbar-v45,.editor-day-settings-v45,.workspace-card-v43,.v57-workspace-comms) { background:var(--surface)!important; border:1px solid var(--line)!important; border-radius:16px!important; }
#trainer-app .editor-block-v45 { margin:18px 0!important; padding:20px!important; }
#trainer-app .editor-shell-v45, #trainer-app .coach-page-v49 { max-width:none!important; padding:0!important; min-width:0!important; }
#trainer-app .editor-selector-v45 { background:var(--surface)!important; border-color:var(--line)!important; border-radius:16px!important; padding:20px!important; min-width:0!important; }
#trainer-app .editor-program-row-v45 { grid-template-columns:minmax(0,1fr) 150px!important; }
#trainer-app .editor-program-row-v45 label { min-width:0; }
#trainer-app .editor-program-row-v45 select { width:100%; }
#trainer-app .editor-days-v45 { width:100%; margin:16px 0 0!important; display:grid!important; grid-template-columns:repeat(7,minmax(0,1fr))!important; gap:4px!important; }
#trainer-app .editor-days-v45 button { min-width:0!important; padding:6px 0!important; }
#trainer-app .editor-days-v45 button span { font-size:11px!important; white-space:nowrap; }
#trainer-app .editor-days-v45 button.active { background:var(--greenSoft)!important; color:var(--green)!important; border-bottom:0!important; }
#trainer-app .editor-actions-v45 { background:var(--bg)!important; border-color:var(--line)!important; }
#trainer-app :where(.editor-header-v45,.editor-toolbar-v45,.editor-program-bar-v45,.editor-weekbar-v45,.editor-controls-v45,.coach-client-table-v49,.coach-program-table-v49,.coach-program-aside-v49,.v46-panel,.v46-analytics-main) { background:var(--surface)!important; border-color:var(--line)!important; border-radius:16px!important; }
#trainer-app .editor-block-head-v45 { gap:12px!important; margin-bottom:16px!important; }
#trainer-app .editor-exercise-v45 { border-color:var(--line)!important; background:var(--surface2)!important; border-radius:12px!important; padding:14px!important; }
#trainer-app .editor-day-tab-v45 { color:var(--muted)!important; border-color:var(--line)!important; padding:10px!important; }
#trainer-app .editor-day-tab-v45.active { background:var(--greenSoft)!important; color:var(--green)!important; }
#trainer-app .v59-editor-tools { padding:12px 0!important; gap:8px!important; border-color:var(--line)!important; }
#trainer-app .v59-editor-tools button { padding:8px 12px!important; background:var(--surface)!important; color:var(--text)!important; border-color:var(--line)!important; }
#trainer-app .v59-client-health { gap:18px!important; }
#trainer-app .v59-client-flags, #trainer-app .v59-readiness-trend { background:var(--surface)!important; border-color:var(--line)!important; border-radius:16px!important; overflow:hidden; }
#trainer-app .v59-client-flags>div { padding:16px!important; border-color:var(--line)!important; }
#trainer-app .v59-client-flags strong { font-size:15px!important; }
#trainer-app .v59-readiness-trend { padding:18px!important; }
#trainer-app :where(.v46-page,.v46-analytics,.coach-clients-v49,.coach-programs-v49) { padding:0!important; max-width:none!important; }
#trainer-app .v46-metrics { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px!important; border:0!important; margin:20px 0!important; }
#trainer-app .v46-metrics>div { padding:20px!important; border:0!important; background:var(--surface)!important; border-radius:16px!important; }
#trainer-app .v46-metrics strong { display:block; font-size:26px!important; font-weight:600!important; margin-bottom:5px; }
#trainer-app .v46-result-row { padding:18px 14px!important; border-color:var(--line)!important; }
#trainer-app .v46-result-row:hover { background:var(--surface)!important; }
#trainer-app .analytics-summary, #trainer-app .analytics-grid { gap:18px!important; }
#trainer-app .analytics-card { padding:24px!important; }
#trainer-app .coach-client-row-v49>button { padding:18px 16px!important; }
#trainer-app .coach-page-head-v49 h2 { font-size:32px!important; }
#trainer-app .coach-client-row-v49>button>div { min-width:0; }
#trainer-app .coach-client-row-v49>button>div strong { font-size:15px!important; }
#trainer-app .coach-client-row-v49>button>div small { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#trainer-app .coach-page-v49>details { background:var(--surface)!important; border-color:var(--line)!important; border-radius:14px!important; }
#trainer-app .coach-result-summary-v49 { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px!important; padding:0!important; margin:24px 0!important; border:0!important; }
#trainer-app .coach-result-summary-v49>span { background:var(--surface); border:0!important; border-radius:16px; padding:20px!important; }
#trainer-app .coach-result-summary-v49 b { display:block; font-size:24px!important; margin-bottom:4px; }
#trainer-app .coach-result-table-v49>button { padding:18px 14px!important; }
#trainer-app .coach-result-table-v49 strong { font-size:15px!important; }

/* Communication and settings share the same surfaces and field sizing. */
#trainer-app .overlay { background:rgba(0,0,0,.64)!important; }
#trainer-app .sheet { background:var(--surface)!important; border-color:var(--line)!important; border-radius:22px 22px 0 0!important; color:var(--text)!important; padding:24px!important; }
#trainer-app .sheettitle { gap:16px!important; margin-bottom:18px!important; }
#trainer-app .close { width:44px!important; height:44px!important; background:var(--surface2)!important; color:var(--text)!important; border:0!important; font-size:26px!important; }
#trainer-app #profileOverlay .sheet { background:var(--surface)!important; }
#trainer-app #profileOverlay :where(.settings-section,.account-card,.sync-status-card) { background:transparent!important; border:0!important; border-bottom:1px solid var(--line)!important; padding:20px 0!important; border-radius:0!important; }
#trainer-app #profileOverlay .settings-tab { font-size:14px!important; min-height:48px!important; color:var(--muted)!important; }
#trainer-app #profileOverlay .settings-tab.active { color:var(--green)!important; border-bottom-color:var(--green)!important; }
#trainer-app .setting-row b { font-size:14px!important; }
#trainer-app .setting-row small { font-size:12px!important; }
#trainer-app .v58-password-wrap { background:var(--surface2)!important; border-color:var(--line)!important; border-radius:10px!important; }
#trainer-app .v58-password-wrap #backendPassword { background:transparent!important; }
#trainer-app .v58-password-wrap button { color:var(--muted)!important; }
#trainer-app .account-avatar { border-radius:50%!important; background:var(--greenSoft)!important; color:var(--green)!important; border:0!important; }
#trainer-app :where(.info-banner,.cloud-placeholder) { background:var(--surface2)!important; border-color:var(--line)!important; color:var(--muted)!important; padding:16px!important; line-height:1.6!important; }
#trainer-app .v57-comms-workspace { background:var(--surface)!important; border-color:var(--line)!important; border-radius:18px!important; overflow:hidden; grid-template-columns:200px minmax(0,1fr) 220px!important; }
#trainer-app .v57-comms-workspace>aside { padding:18px!important; }
#trainer-app .v57-comms-workspace>main>header { padding:20px!important; }
#trainer-app .v57-comms-workspace>aside button { min-height:60px!important; border-radius:12px!important; color:var(--muted)!important; }
#trainer-app .v57-comms-workspace>aside button.active { background:var(--greenSoft)!important; color:var(--green)!important; }
#trainer-app .v57-comms-workspace>aside button strong { font-size:14px!important; }
#trainer-app .v57-msg { background:var(--surface2)!important; border:0!important; border-radius:14px!important; padding:14px 16px!important; }
#trainer-app .v57-msg.mine { background:var(--greenSoft)!important; }
#trainer-app .v57-msg p { color:var(--text)!important; font-size:15px!important; line-height:1.6!important; }
#trainer-app .v57-msg :where(span,small) { color:var(--muted)!important; font-size:12px!important; }
#trainer-app .v57-comms-workspace form, #trainer-app .v57-thread form { padding:16px!important; gap:12px!important; }
#trainer-app .v57-comms-workspace form button, #trainer-app .v57-thread form button { background:var(--green)!important; color:var(--on-accent)!important; padding:10px 14px!important; }
#trainer-app .v57-client-comms { padding:22px 0!important; }
#trainer-app .v57-client-comms>header { padding:0 24px 18px!important; }
#trainer-app .v57-checkin-form, #trainer-app .v57-thread { padding:20px 24px!important; }
#trainer-app .v57-checkin-form label { grid-template-columns:120px minmax(0,1fr) 24px!important; gap:12px!important; margin-top:18px!important; }
#trainer-app .v57-checkin-form>button { min-height:48px!important; background:var(--greenSoft)!important; color:var(--green)!important; }
#trainer-app .v59-client-comms-tabs button.active { border-bottom-color:var(--green)!important; color:var(--green)!important; }
#trainer-app .v59-command { background:var(--surface)!important; border-color:var(--line)!important; border-radius:18px!important; }
#trainer-app .v59-command #v59CoachSearchResults strong { font-size:15px!important; }
#trainer-app .v59-command #v59CoachSearchResults :where(span,small) { color:var(--muted)!important; }
#trainer-app .v59-pilot-status { background:var(--surface)!important; border-color:var(--line)!important; border-radius:12px; }
#trainer-app .v59-pilot-status strong { font-size:12px!important; }
#trainer-app .v58-connection { background:var(--surface)!important; border-color:var(--green)!important; color:var(--text)!important; border-radius:12px; }

@media(min-width:1000px) {
  #trainer-app body:not(.c3-coach-mode):not(.c3-workout-mode) .page { max-width:1180px!important; padding:40px 24px 90px 238px!important; }
  #trainer-app body:not(.c3-coach-mode):not(.c3-workout-mode) .bottomnav { top:112px!important; bottom:24px!important; left:max(24px,calc((100vw - 1180px)/2 + 24px))!important; right:auto!important; width:180px!important; height:auto!important; border:0!important; padding:0!important; }
  #trainer-app body:not(.c3-coach-mode):not(.c3-workout-mode) .bottominner { display:flex!important; flex-direction:column!important; align-items:stretch!important; gap:8px!important; height:auto!important; }
  #trainer-app body:not(.c3-coach-mode):not(.c3-workout-mode) .navbtn { display:flex!important; justify-content:flex-start!important; min-height:52px!important; padding:12px 16px!important; gap:12px!important; }
  #trainer-app .navbtn small { font-size:14px!important; }
  #trainer-app .c3v51-client { grid-template-columns:minmax(0,1.45fr) minmax(230px,.85fr)!important; }
  #trainer-app .c3v51-today-card { grid-row:3; grid-column:1; }
  #trainer-app .c3v51-progress { grid-row:3; grid-column:2; }
  #trainer-app .c3v51-exercises { grid-row:4; }
  #trainer-app .v57-readiness-card { grid-row:5; }
}
@media(max-width:1100px) {
  #trainer-app .v57-comms-workspace { grid-template-columns:180px minmax(0,1fr)!important; }
  #trainer-app .v57-checkins-side { grid-column:1/-1!important; border-left:0!important; }
  #trainer-app .v57-kpis { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}
@media(max-width:900px) {
  #trainer-app #screen-trainer #trainerRoot { display:block!important; }
  #trainer-app .v57-coach-nav { min-height:0!important; margin:0 0 24px!important; padding:0!important; border-right:0!important; background:var(--bg)!important; top:0!important; }
  #trainer-app .v57-coach-nav nav button { white-space:nowrap; }
  #trainer-app .v57-dashboard-grid { grid-template-columns:1fr!important; }
  #trainer-app .c3v53-workspace { display:flex!important; width:min(650px,100%)!important; flex-direction:column!important; gap:24px!important; padding-top:24px!important; }
  #trainer-app .c3v53-left { position:static!important; }
  #trainer-app .c3v53-right { margin-top:0!important; }
}
@media(max-width:760px) {
  #trainer-app .v57-coach-nav { position:fixed!important; top:auto!important; bottom:0!important; margin:0!important; background:var(--bg)!important; border-top:1px solid var(--line)!important; padding:4px 6px calc(4px + env(safe-area-inset-bottom))!important; }
  #trainer-app .v57-coach-nav nav { gap:0!important; }
  #trainer-app .v57-coach-nav nav button { min-height:64px!important; padding:6px 2px!important; border-radius:10px!important; }
  #trainer-app .v57-coach-nav nav button span { font-size:11px!important; }
  #trainer-app .v57-coach-nav nav button.active { box-shadow:none!important; }
  #trainer-app .v46-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #trainer-app .coach-result-summary-v49 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #trainer-app .v59-editor-tools { top:0!important; background:var(--bg)!important; }
}
@media(max-width:600px) {
  #trainer-app h1 { font-size:30px!important; }
  #trainer-app .topbar { height:76px!important; padding:0 16px!important; }
  #trainer-app .toprow { height:76px!important; min-height:76px!important; }
  #trainer-app .brand .logo { display:none!important; }
  #trainer-app .brand strong { font-size:15px!important; }
  #trainer-app .actions { gap:5px!important; }
  #trainer-app .iconbtn { width:40px!important; height:40px!important; }
  #trainer-app .page, #trainer-app body.c3-coach-mode .page { padding:26px 16px 110px!important; }
  #trainer-app body.c3-workout-mode .page { padding:0!important; max-width:none!important; }
  #trainer-app .c3v51-client { gap:20px!important; }
  #trainer-app .c3v51-today-card { padding:24px!important; }
  #trainer-app .c3v51-progress { padding:22px!important; }
  #trainer-app .c3v51-performance-strip { grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:10px!important; }
  #trainer-app .c3v51-performance-strip>div { padding:0!important; border:0!important; }
  #trainer-app .c3v51-performance-strip strong { font-size:20px!important; overflow-wrap:anywhere; }
  #trainer-app .c3v51-performance-strip span { font-size:12px!important; }
  #trainer-app .c3v51-ex-row { grid-template-columns:44px minmax(0,1fr) 44px!important; gap:12px!important; }
  #trainer-app .c3v51-thumb { width:44px!important; height:44px!important; }
  #trainer-app .c3v53-top-inner { height:68px!important; padding:0 12px!important; }
  #trainer-app .c3v53-top-inner strong { font-size:14px!important; }
  #trainer-app .c3v53-workspace { padding:24px 16px 112px!important; }
  #trainer-app .c3v53-ex-head h1 { font-size:30px!important; }
  #trainer-app .c3v53-table-head p { display:none!important; }
  #trainer-app .c3v53-table>.columns, #trainer-app .c3v53-set { grid-template-columns:28px minmax(55px,1fr) minmax(52px,.9fr) minmax(52px,.9fr) 40px!important; gap:6px!important; padding-left:4px!important; padding-right:4px!important; }
  #trainer-app .c3v53-set .target span { font-size:12px!important; }
  #trainer-app .c3v53-set .series small { font-size:9px!important; }
  #trainer-app .c3v53-check { width:40px!important; height:40px!important; min-height:40px!important; }
  #trainer-app .c3v53-rest { padding:16px 12px!important; gap:8px!important; }
  #trainer-app .c3v53-rest>button { font-size:12px!important; padding:6px 8px!important; }
  #trainer-app .c3v53-bottom { padding-left:12px!important; padding-right:12px!important; }
  #trainer-app .v57-kpis { gap:12px!important; }
  #trainer-app .v57-kpis article { padding:18px!important; }
  #trainer-app .v57-dashboard-grid>section { padding:20px!important; }
  #trainer-app .v57-comms-workspace { display:block!important; }
  #trainer-app .sheet { padding:20px 16px!important; }
  #trainer-app .setting-row { flex-wrap:wrap; gap:12px!important; }
  #trainer-app .setting-row .setting-input { width:100%!important; }
  #trainer-app .v57-checkin-form label { grid-template-columns:92px minmax(0,1fr) 20px!important; gap:8px!important; }
  #trainer-app .v57-msg { max-width:90%!important; }
  #trainer-app .coach-page-head-v49 h2 { font-size:28px!important; }
  #trainer-app .v46-metrics>div { padding:16px!important; }
  #trainer-app .editor-program-row-v45, #trainer-app .client-plan-top-v49 { grid-template-columns:minmax(0,1fr)!important; }
  #trainer-app .client-plan-top-v49 select { width:100%!important; }
  #trainer-app .setting-row:has(.setting-input) { display:grid!important; grid-template-columns:minmax(0,1fr)!important; }
}
@media(prefers-reduced-motion:reduce) { #trainer-app, #trainer-app * { scroll-behavior:auto!important; } }

/* Workout entry: one set in focus, with the full ledger a tap away. */
#trainer-app .studio-workspace { grid-template-columns:minmax(250px,.7fr) minmax(420px,1.3fr)!important; gap:48px!important; padding-top:32px!important; }
#trainer-app .studio-session-progress { display:flex; align-items:center; gap:16px; margin:0 0 32px; }
#trainer-app .studio-session-progress>div:last-child { display:grid; gap:5px; }
#trainer-app .studio-session-progress span { font-size:10px; letter-spacing:.12em; color:var(--muted); }
#trainer-app .studio-session-progress strong { font-size:18px; font-weight:600; }
#trainer-app .studio-session-progress small { font-size:12px; color:var(--muted); }
#trainer-app .studio-progress-ring { width:68px; height:68px; flex:0 0 68px; display:grid; place-items:center; border-radius:50%; position:relative; background:conic-gradient(var(--green) calc(var(--progress)*1%),var(--surface3) 0); }
#trainer-app .studio-progress-ring:before { content:""; position:absolute; inset:5px; border-radius:50%; background:var(--bg); }
#trainer-app .studio-progress-ring strong { position:relative; font-size:22px; font-variant-numeric:tabular-nums; }
#trainer-app .studio-progress-ring small { margin-left:1px; font-size:11px; }
#trainer-app .studio-workspace .c3v53-ex-head h1 { font-size:40px!important; font-weight:700!important; line-height:1.12!important; margin:8px 0!important; }
#trainer-app .studio-workspace .c3v53-ex-head>div>span { font-size:11px!important; letter-spacing:.1em; }
#trainer-app .studio-workspace .c3v53-ex-head p { font-size:13px; line-height:1.5; }
#trainer-app .studio-exercise-instructions { margin-top:14px; padding:12px 14px; border-left:2px solid var(--orange); border-radius:10px; background:color-mix(in srgb,var(--orange) 7%,var(--surface)); }
#trainer-app .studio-exercise-instructions>span { color:var(--orange)!important; font-size:9px!important; letter-spacing:.1em; font-weight:600; }
#trainer-app .studio-workspace .studio-exercise-instructions p { margin:6px 0 0; color:var(--text); font-size:13px!important; }
#trainer-app .studio-workspace .c3v53-alternatives :where(span,strong) { font-size:12px!important; }
#trainer-app .studio-workspace .c3v53-ex-head>a { min-height:40px; padding:0 10px; font-size:12px; border-radius:10px; }
#trainer-app .studio-workspace .c3v53-focus { border:0!important; gap:12px; }
#trainer-app .studio-workspace .c3v53-focus>div { font-size:12px; }
#trainer-app .studio-workspace .c3v53-focus>div :where(span,b) { font-size:12px; font-weight:500; }
#trainer-app .studio-set-steps { display:flex; flex-wrap:wrap; gap:8px; }
#trainer-app .studio-set-step { width:44px; min-height:44px; padding:0; display:grid; place-items:center; border:1px solid var(--line); border-radius:12px; background:var(--surface); color:var(--muted); font-size:15px; }
#trainer-app .studio-set-step.active { color:var(--green); background:var(--greenSoft); border-color:var(--green); box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 10%,transparent); }
#trainer-app .studio-set-step.done { background:var(--green); color:var(--on-accent); border-color:var(--green); }
#trainer-app .studio-set-step.done.active { box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 25%,transparent); }
#trainer-app .studio-set-status { min-height:24px; margin:0 0 10px; color:var(--muted); font-size:12px; display:flex; align-items:center; gap:7px; }
#trainer-app .studio-set-status:before { content:""; width:6px; height:6px; flex:0 0 6px; border-radius:50%; background:var(--green); }
#trainer-app .studio-set-status.confirmed { color:var(--green); }
#trainer-app .studio-entry { min-width:0; border:1px solid color-mix(in srgb,var(--green) 35%,var(--line)); border-radius:24px; padding:28px; background:radial-gradient(ellipse at top right,color-mix(in srgb,var(--green) 10%,transparent),transparent 65%),var(--surface); box-shadow:0 14px 40px rgb(0 0 0 / .12); }
#trainer-app .studio-entry>header { display:flex; justify-content:space-between; align-items:center; gap:12px; }
#trainer-app .studio-entry>header>div>span { font-size:10px; letter-spacing:.16em; color:var(--green); font-weight:650; }
#trainer-app .studio-entry h2 { font-size:16px!important; font-weight:500; margin:8px 0 0!important; color:var(--muted); }
#trainer-app .studio-entry h2 b { color:var(--text); font-size:42px; letter-spacing:-.05em; font-weight:650; margin-left:5px; }
#trainer-app .studio-entry h2 small { font-size:18px; color:var(--muted); }
#trainer-app .studio-entry-mark { width:48px; height:48px; display:grid; place-items:center; border-radius:16px; background:var(--greenSoft); color:var(--green); }
#trainer-app .studio-entry-mark svg { width:25px; height:25px; }
#trainer-app .studio-target { display:grid; gap:6px; margin:20px 0 24px; padding-top:18px; border-top:1px solid var(--line); }
#trainer-app .studio-target>span { font-size:12px; color:var(--muted); }
#trainer-app .studio-target>strong { font-size:18px; line-height:1.4; font-weight:600; color:var(--text); }
#trainer-app .studio-entry-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
#trainer-app .studio-metric { min-width:0; padding:16px 12px 10px; background:var(--bg); border:1px solid var(--line); border-radius:18px; }
#trainer-app .studio-metric label { display:flex; align-items:baseline; justify-content:space-between; gap:6px; font-size:13px; font-weight:500; color:var(--muted); margin:0 4px; }
#trainer-app .studio-metric label small { font-size:11px; }
#trainer-app .studio-metric input { width:100%!important; min-width:0; height:80px!important; min-height:80px!important; padding:0 2px!important; margin:4px 0 8px!important; font-size:clamp(32px,4vw,48px)!important; font-weight:600!important; line-height:1!important; letter-spacing:-.04em; text-align:center; color:var(--text)!important; border:1px solid transparent!important; border-radius:12px!important; background:transparent!important; font-variant-numeric:tabular-nums; }
#trainer-app .studio-metric input::placeholder { color:var(--muted); opacity:.55; }
#trainer-app .studio-metric input:focus { outline:2px solid var(--green)!important; outline-offset:-2px; }
#trainer-app .studio-stepper { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
#trainer-app .studio-stepper button { min-height:44px!important; padding:0 4px; border:1px solid var(--line); border-radius:10px; background:var(--surface2); color:var(--text); font-size:14px; font-weight:500; touch-action:manipulation; }
#trainer-app .studio-stepper button:active { background:var(--greenSoft); border-color:var(--green); color:var(--green); transform:scale(.97); }
#trainer-app .studio-entry-foot { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; margin-top:18px; }
#trainer-app .studio-entry-foot>span { color:var(--muted); font-size:12px; line-height:1.5; }
#trainer-app .studio-entry-foot button { min-height:40px; border:0; padding:6px 0; border-radius:8px; color:var(--green); background:transparent; font-size:12px; font-weight:600; }
#trainer-app .studio-workspace .c3v53-rest { margin-top:18px; grid-template-columns:60px minmax(0,1fr) auto; background:var(--surface)!important; }
#trainer-app .studio-workspace .c3v53-rest-ring { width:58px; height:58px; }
#trainer-app .studio-workspace .c3v53-rest-ring:after { inset:5px; }
#trainer-app .studio-workspace .c3v53-rest :where(span,small) { font-size:12px; line-height:1.4; }
#trainer-app .studio-workspace .c3v53-rest strong { margin:4px 0; font-variant-numeric:tabular-nums; }
#trainer-app .studio-workspace .c3v53-rest>button { min-height:44px; font-size:12px; border-radius:10px; }
#trainer-app .studio-workspace .c3v53-rest-tools button { min-height:44px; border-radius:10px; font-size:12px; }
#trainer-app .studio-workspace .c3v53-next span { font-size:12px; }
#trainer-app .studio-workspace .c3v53-note summary { font-size:13px; min-height:44px; }
#trainer-app .studio-ledger { margin-top:24px; padding-top:4px; border-top:1px solid var(--line); }
#trainer-app .studio-ledger>summary { min-height:56px; display:flex; align-items:center; gap:12px; cursor:pointer; list-style:none; font-size:14px; }
#trainer-app .studio-ledger>summary::-webkit-details-marker { display:none; }
#trainer-app .studio-ledger>summary small { margin-left:auto; color:var(--muted); font-size:12px; }
#trainer-app .studio-ledger>summary>b { font-size:20px; color:var(--muted); transition:transform .2s; }
#trainer-app .studio-ledger[open]>summary>b { transform:rotate(180deg); }
#trainer-app .studio-entry.just-confirmed { animation:studio-confirm .45s ease-out; }
#trainer-app .c3v53-top-progress i { transition:width .3s ease; }
@keyframes studio-confirm { 0% { box-shadow:0 0 0 5px color-mix(in srgb,var(--green) 35%,transparent); } 100% { box-shadow:0 14px 40px rgb(0 0 0 / .12); } }
@media(max-width:900px) {
  #trainer-app .studio-workspace { display:grid!important; grid-template-columns:minmax(0,1fr)!important; width:min(620px,100%)!important; gap:0!important; }
  #trainer-app .studio-workspace .c3v53-left { display:contents!important; }
  #trainer-app .studio-session-progress { order:0; margin:0 0 20px; }
  #trainer-app .studio-workspace .c3v53-ex-head { order:1; border:0!important; padding-bottom:0!important; }
  #trainer-app .studio-workspace .c3v53-focus { order:2; padding:16px 0 20px!important; }
  #trainer-app .studio-workspace .c3v53-right { order:3; width:100%; }
  #trainer-app .studio-workspace .c3v53-next { order:4; margin-top:20px; }
  #trainer-app .studio-workspace .c3v53-note { order:5; }
}
@media(max-width:600px) {
  #trainer-app .studio-workspace { padding:20px 16px 112px!important; }
  #trainer-app .studio-session-progress { gap:12px; margin-bottom:18px; }
  #trainer-app .studio-progress-ring { width:48px; height:48px; flex-basis:48px; }
  #trainer-app .studio-progress-ring:before { inset:4px; }
  #trainer-app .studio-progress-ring strong { font-size:17px; }
  #trainer-app .studio-session-progress strong { font-size:15px; }
  #trainer-app .studio-session-progress small { font-size:11px; }
  #trainer-app .studio-workspace .c3v53-ex-head h1 { font-size:30px!important; }
  #trainer-app .studio-workspace .c3v53-focus>div :where(span,b) { font-size:11px; }
  #trainer-app .studio-set-step { width:40px; min-height:40px; border-radius:10px; }
  #trainer-app .studio-set-status { font-size:11px; margin-bottom:8px; }
  #trainer-app .studio-entry { padding:16px; border-radius:20px; }
  #trainer-app .studio-entry h2 b { font-size:32px; }
  #trainer-app .studio-entry-mark { width:42px; height:42px; border-radius:13px; }
  #trainer-app .studio-target { margin:12px 0 14px; padding-top:12px; }
  #trainer-app .studio-target>strong { font-size:16px; }
  #trainer-app .studio-entry-fields { gap:10px; }
  #trainer-app .studio-metric { padding:12px 8px 8px; border-radius:14px; }
  #trainer-app .studio-metric input { font-size:36px!important; min-height:56px!important; height:56px!important; margin:4px 0 6px!important; }
  #trainer-app .studio-metric label { font-size:12px!important; }
  #trainer-app .studio-metric label small { font-size:10px!important; }
  #trainer-app .studio-stepper button { font-size:13px; }
  #trainer-app .studio-entry-foot { display:grid; grid-template-columns:minmax(0,1fr) auto; margin-top:8px; gap:10px; }
  #trainer-app .studio-entry-foot>span { font-size:11px!important; }
  #trainer-app .studio-entry-foot button { max-width:96px; font-size:12px!important; line-height:1.4; }
  #trainer-app .studio-workspace .c3v53-rest { grid-template-columns:48px minmax(0,1fr) auto; gap:10px!important; }
  #trainer-app .studio-workspace .c3v53-rest-ring { width:46px; height:46px; }
  #trainer-app .studio-workspace .c3v53-rest strong { font-size:26px!important; }
  #trainer-app .studio-workspace .c3v53-rest small { font-size:10px; }
  #trainer-app .studio-workspace .c3v53-rest>button { font-size:11px!important; padding:0 8px!important; }
}
@media(max-width:350px) { #trainer-app .studio-metric input { font-size:30px!important; } #trainer-app .studio-metric label small { font-size:10px; } }
@media(prefers-reduced-motion:reduce) { #trainer-app .studio-entry.just-confirmed { animation:none; } #trainer-app .c3v53-top-progress i, #trainer-app .studio-ledger>summary>b { transition:none; } }

/* Program day: shared block panels, compact exercises and a linked itinerary. */
#trainer-app .client-plan-day-v49 { padding:0!important; border:0!important; background:transparent!important; }
#trainer-app .studio-plan-board { position:relative; isolation:isolate; }
#trainer-app .studio-plan-board .client-plan-top-v49 { align-items:center; padding-bottom:20px!important; border-bottom:0!important; }
#trainer-app .studio-plan-board .client-plan-top-v49>div>span { display:block; color:var(--green)!important; font-size:10px!important; font-weight:650; letter-spacing:.18em; }
#trainer-app .studio-plan-board .client-plan-top-v49 h2 { font-size:34px!important; font-weight:750!important; letter-spacing:-1.3px!important; margin:7px 0 0!important; line-height:1.2!important; }
#trainer-app .studio-plan-board .client-plan-top-v49 label { font-size:11px!important; gap:6px; }
#trainer-app .studio-plan-board .client-day-tabs-v49 { margin-bottom:6px!important; padding:8px!important; border:1px solid var(--line)!important; border-radius:16px; background:var(--surface); gap:6px; }
#trainer-app .studio-plan-board .client-day-tabs-v49 button { height:56px!important; border-radius:10px!important; background:transparent!important; }
#trainer-app .studio-plan-board .client-day-tabs-v49 button>strong { font-size:14px!important; font-weight:600; }
#trainer-app .studio-plan-board .client-day-tabs-v49 button>span { font-size:10px!important; color:var(--muted); }
#trainer-app .studio-plan-board .client-day-tabs-v49 button.active { background:var(--green)!important; box-shadow:0 4px 14px #22d37820; }
#trainer-app .studio-plan-board .client-day-tabs-v49 button.active :where(strong,span) { color:var(--on-accent)!important; }
#trainer-app .studio-plan-day-dot { display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--green); }
#trainer-app .studio-plan-board .client-day-tabs-v49 button.active .studio-plan-day-dot { background:var(--on-accent); }
#trainer-app .studio-plan-day-hero { position:relative; isolation:isolate; overflow:hidden; border-radius:22px; background:var(--surface); border:1px solid var(--line); box-shadow:0 16px 40px #00000018; }
#trainer-app .studio-plan-day-hero.with-cover { --text:#f5f6f2; --muted:#bac8bf; --green:#22d378; --on-accent:#081f14; --line:#ffffff20; background:#111916; }
#trainer-app .studio-plan-day-hero.with-cover::before { content:""; position:absolute; top:0; left:0; width:110px; height:3px; z-index:2; background:var(--green); }
#trainer-app .studio-plan-cover { position:absolute; z-index:-1; inset:0 0 0 39%; clip-path:polygon(20% 0,100% 0,100% 100%,0 100%); background:linear-gradient(90deg,#1119169c,transparent 60%),linear-gradient(0deg,#111916 0%,transparent 55%),url('../assets/training-cover-v1.webp') 68% 50%/cover; }
#trainer-app .client-plan-day-head-v49 { position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:22px!important; padding:30px 32px!important; margin:0!important; border:0!important; }
#trainer-app .client-plan-day-head-v49>div { max-width:65%; }
#trainer-app .client-plan-day-head-v49>div>span { display:inline-flex; align-items:center; gap:8px; color:var(--green)!important; font-size:10px!important; font-weight:650; letter-spacing:.13em; }
#trainer-app .client-plan-day-head-v49>div>span svg { width:18px; height:18px; }
#trainer-app .client-plan-day-head-v49 h3 { color:var(--text)!important; font-size:48px!important; font-weight:750!important; margin:10px 0 8px!important; letter-spacing:-1.5px; line-height:1.1!important; text-transform:none; overflow-wrap:anywhere; }
#trainer-app .client-plan-day-head-v49 p { color:var(--muted); font-size:13px!important; margin:0; line-height:1.5; }
#trainer-app #v49StartPlanWorkout { display:flex; align-items:center; justify-content:center; gap:12px; min-height:50px!important; padding:12px 18px!important; background:var(--green)!important; color:var(--on-accent)!important; border:1px solid #ffffff30!important; border-radius:11px!important; box-shadow:0 6px 22px #22d37825; }
#trainer-app #v49StartPlanWorkout span { font-size:14px!important; color:var(--on-accent)!important; }
#trainer-app #v49StartPlanWorkout svg { width:18px; height:18px; }
#trainer-app #v49StartPlanWorkout svg:first-child { fill:currentColor; stroke-width:0; }
#trainer-app #v49StartPlanWorkout svg:last-child { margin-left:12px; }
#trainer-app .studio-plan-day-stats { position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:18px 32px; border-top:1px solid var(--line); background:#0d1713c9; gap:22px; }
#trainer-app .studio-plan-day-stats>div { display:grid; grid-template-columns:36px minmax(0,1fr); gap:2px 12px; align-items:center; }
#trainer-app .studio-plan-day-stats i { display:grid; place-items:center; grid-row:1/3; width:36px; height:36px; color:var(--green); }
#trainer-app .studio-plan-day-stats i svg { width:24px; height:24px; }
#trainer-app .studio-plan-day-stats strong { color:var(--text); font-size:30px; font-weight:700; line-height:1.1; font-variant-numeric:tabular-nums; }
#trainer-app .studio-plan-day-stats span { color:var(--muted); font-size:11px!important; }
#trainer-app .studio-plan-layout { display:grid; gap:26px; margin-top:30px; }
#trainer-app .studio-plan-main { min-width:0; }
#trainer-app .studio-plan-section-title { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-bottom:18px; border-bottom:1px solid var(--line); }
#trainer-app .studio-plan-section-title h3 { font-size:17px!important; margin:0; font-weight:600!important; color:var(--text); }
#trainer-app .studio-plan-section-title>span { color:var(--muted); font-size:10px!important; }
#trainer-app .client-block-list-v49 { display:grid; gap:20px!important; margin-top:22px; }
#trainer-app .client-block-v49 { --plan-accent:var(--green); position:relative; padding:0!important; border:1px solid var(--line)!important; border-radius:20px; background:var(--surface)!important; box-shadow:0 10px 28px #0000000a; scroll-margin-top:110px; }
#trainer-app .client-block-v49.warmup { --plan-accent:var(--orange); }
#trainer-app .client-block-v49:focus-visible { outline:2px solid var(--plan-accent); outline-offset:4px; }
#trainer-app .client-block-v49>header { display:grid!important; grid-template-columns:44px minmax(0,1fr) auto!important; align-items:center; gap:14px!important; margin:0!important; padding:22px; border-radius:20px 20px 0 0; background:linear-gradient(115deg,color-mix(in srgb,var(--plan-accent) 6%,var(--surface)),var(--surface)); }
#trainer-app .studio-plan-block-icon { display:grid; place-items:center; width:44px; height:44px; border-radius:14px; background:color-mix(in srgb,var(--plan-accent) 12%,var(--surface)); color:var(--plan-accent); }
#trainer-app .studio-plan-block-icon svg { width:22px; height:22px; }
#trainer-app .client-block-v49>header h4 { color:var(--text); font-size:21px; line-height:1.25; font-weight:700; letter-spacing:-.4px; margin:4px 0 5px; overflow-wrap:anywhere; }
#trainer-app .client-block-v49>header small { display:block; margin:0!important; font-size:8px!important; font-weight:600; color:var(--muted); letter-spacing:.11em; }
#trainer-app .client-block-v49>header p { color:var(--muted); font-size:11px!important; margin:0; }
#trainer-app .studio-plan-block-badge { display:flex; align-items:center; gap:6px; color:var(--plan-accent); border:0; background:color-mix(in srgb,var(--plan-accent) 10%,var(--surface)); padding:7px 10px; border-radius:20px; font-size:11px; font-weight:600; white-space:nowrap; }
#trainer-app .studio-plan-block-badge svg { width:15px; height:15px; }
#trainer-app .studio-plan-round-hint { display:flex; align-items:center; gap:8px; margin:0!important; padding:10px 22px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:color-mix(in srgb,var(--bg) 30%,var(--surface)); color:var(--muted); font-size:11px!important; line-height:1.5; }
#trainer-app .studio-plan-round-hint svg { flex:0 0 15px; width:15px; height:15px; color:var(--plan-accent); }
#trainer-app .client-exercise-list-v49 { display:grid; grid-template-columns:minmax(0,1fr); gap:0; padding:0 22px!important; }
#trainer-app .studio-plan-exercise { position:relative; display:grid!important; grid-template-columns:minmax(0,1fr) 240px; align-items:center!important; gap:12px 22px!important; padding:22px 0!important; min-width:0; border:0; border-top:1px solid var(--line); border-radius:0; background:transparent!important; box-shadow:none; }
#trainer-app .studio-plan-exercise:first-child { border-top:0; }
#trainer-app .studio-plan-exercise-copy { min-width:0; }
#trainer-app .studio-plan-exercise-name { font:650 18px/1.35 "Segoe UI",-apple-system,BlinkMacSystemFont,Arial,sans-serif; letter-spacing:-.2px; color:var(--text); margin:0; overflow-wrap:anywhere; }
#trainer-app .studio-plan-alternatives { margin-top:12px; }
#trainer-app .studio-plan-alternatives>span { font-size:9px!important; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); }
#trainer-app .studio-plan-alternatives p { display:flex; flex-wrap:wrap; gap:6px; margin:5px 0 0; }
#trainer-app .studio-plan-alternatives .studio-plan-variant { color:var(--muted); border:0; background:var(--surface2); border-radius:6px; padding:4px 8px; font-size:11px!important; line-height:1.5; }
#trainer-app .studio-plan-coaching { margin:6px 0 0; padding:0; background:transparent; color:var(--text); font-size:12px!important; line-height:1.55; border:0; overflow-wrap:anywhere; }
#trainer-app .studio-plan-exercise-bottom { min-width:0; padding:0; }
#trainer-app .studio-plan-target { min-width:0; }
#trainer-app .studio-plan-target>span { display:block; color:var(--muted); font-size:8px!important; text-transform:uppercase; letter-spacing:.1em; margin-bottom:10px; }
#trainer-app .studio-plan-target>strong { display:block; margin-top:4px; font-size:18px!important; font-weight:600; line-height:1.5; color:var(--text)!important; overflow-wrap:anywhere; }
#trainer-app .studio-plan-target.long>strong { font-size:14px!important; }
#trainer-app .studio-plan-target.structured>span { display:none; }
#trainer-app .studio-plan-target.structured>strong { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
#trainer-app .studio-plan-prescription { display:grid; grid-template-columns:36px 12px minmax(0,1fr); align-items:start; gap:10px; padding:0; background:transparent; border:0; }
#trainer-app .studio-plan-prescription.with-load { grid-template-columns:36px 12px minmax(0,1fr) minmax(56px,max-content); }
#trainer-app .studio-plan-prescription>div { min-width:0; text-align:left; padding:0; border:0; }
#trainer-app .studio-plan-prescription strong { display:block; color:var(--text)!important; font-size:26px; font-weight:650; font-variant-numeric:tabular-nums; line-height:1.2; letter-spacing:-.5px; overflow-wrap:anywhere; }
#trainer-app .studio-plan-prescription .long-value strong { font-size:23px; letter-spacing:-.4px; padding-top:3px; }
#trainer-app .studio-plan-prescription .studio-plan-load { padding:5px 8px; border-radius:10px; background:color-mix(in srgb,var(--green) 9%,var(--surface)); text-align:center; }
#trainer-app .studio-plan-prescription .studio-plan-load strong { color:var(--green)!important; font-size:20px; letter-spacing:-.4px; padding-top:0; }
#trainer-app .studio-plan-prescription .studio-plan-load.long-value strong { font-size:18px; padding-top:0; }
#trainer-app .studio-plan-multiply { font-size:16px!important; line-height:1; color:var(--muted); font-weight:400; font-style:normal; padding-top:8px; }
#trainer-app .studio-plan-prescription span { display:block; margin-top:4px; color:var(--muted); font-size:10px!important; line-height:1.4; text-transform:none; letter-spacing:0; }
#trainer-app .studio-plan-prescription .studio-plan-load span { font-size:9px!important; margin-top:1px; }
#trainer-app .studio-plan-prescription-details { color:var(--muted); font-size:11px!important; line-height:1.5; margin:10px 0 0; }
#trainer-app .studio-plan-exercise-footer { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1fr); align-items:center; gap:10px; padding-top:2px; border:0; }
#trainer-app .studio-plan-exercise-footer:has(.studio-plan-exercise-notes):has(.studio-plan-technique) { grid-template-columns:minmax(0,1fr) auto; }
#trainer-app .studio-plan-exercise-notes { min-width:0; padding:10px 12px; border-radius:10px; background:color-mix(in srgb,var(--orange) 6%,var(--surface)); }
#trainer-app .studio-plan-exercise-notes>span { display:flex; align-items:center; gap:5px; font-size:9px!important; font-weight:600; letter-spacing:.04em; color:var(--orange); }
#trainer-app .studio-plan-exercise-notes>span svg { width:13px; height:13px; }
#trainer-app .studio-plan-technique { display:flex; align-items:center; justify-content:center; gap:8px; min-height:44px; color:var(--green); text-decoration:none; border:1px solid var(--line); border-radius:10px; padding:6px 12px; background:var(--surface2); justify-self:start; }
#trainer-app .studio-plan-technique>i { display:grid; place-items:center; flex:0 0 18px; height:18px; }
#trainer-app .studio-plan-technique svg { width:16px; height:16px; }
#trainer-app .studio-plan-technique>span { color:var(--text); font-size:11px!important; font-weight:550; }
#trainer-app .studio-plan-technique>svg:last-child { display:none; }
#trainer-app .client-block-note-v49 { display:flex; align-items:flex-start; gap:12px; margin:0 22px 20px; padding:14px 16px!important; border:1px solid color-mix(in srgb,var(--orange) 22%,transparent); border-radius:13px; background:color-mix(in srgb,var(--orange) 5%,var(--surface)); }
#trainer-app .studio-plan-note-icon { display:grid; place-items:center; flex:0 0 28px; height:28px; color:var(--orange); }
#trainer-app .studio-plan-note-icon svg { width:20px; height:20px; }
#trainer-app .client-block-note-v49>div>strong { color:var(--orange); font-size:10px; font-weight:600; }
#trainer-app .client-block-note-v49 p { margin:5px 0 0; font-size:12px!important; color:var(--text); line-height:1.5; }
#trainer-app .studio-plan-block-videos { display:flex; flex-wrap:wrap; gap:8px; margin:0 22px 20px; }
#trainer-app .studio-plan-block-videos a { width:100%; padding:8px 12px; border:1px solid color-mix(in srgb,var(--plan-accent) 20%,var(--line)); border-radius:10px; background:color-mix(in srgb,var(--plan-accent) 5%,var(--surface)); }
#trainer-app .studio-plan-itinerary { --plan-accent:var(--green); grid-row:1; padding:20px; border:1px solid var(--line); border-radius:18px; background:var(--surface); min-width:0; align-self:start; }
#trainer-app .studio-plan-itinerary>header>span { font-size:9px!important; letter-spacing:.13em; color:var(--green); font-weight:600; }
#trainer-app .studio-plan-itinerary h4 { font-size:21px; color:var(--text); font-weight:650; margin:7px 0 18px; letter-spacing:-.5px; }
#trainer-app .studio-plan-itinerary nav { display:grid; gap:8px; }
#trainer-app .studio-plan-itinerary nav a { --plan-accent:var(--green); position:relative; display:grid; grid-template-columns:32px minmax(0,1fr) 16px; align-items:center; gap:10px; padding:11px 10px; border:1px solid var(--line); border-radius:11px; color:var(--text); text-decoration:none; background:var(--bg); min-height:66px; }
#trainer-app .studio-plan-itinerary nav a.warmup { --plan-accent:var(--orange); }
#trainer-app .studio-plan-route-icon { display:grid; place-items:center; width:32px; height:34px; border-radius:10px; background:color-mix(in srgb,var(--plan-accent) 10%,var(--surface)); color:var(--plan-accent); }
#trainer-app .studio-plan-route-icon svg { width:17px; height:17px; }
#trainer-app .studio-plan-itinerary nav a>span { display:grid; gap:4px; min-width:0; }
#trainer-app .studio-plan-itinerary nav strong { color:var(--text); font-size:12px; font-weight:600; overflow-wrap:anywhere; }
#trainer-app .studio-plan-itinerary nav small { color:var(--muted); font-size:10px!important; }
#trainer-app .studio-plan-itinerary nav a>svg { width:16px; height:16px; color:var(--muted); transform:rotate(90deg); }
#trainer-app .studio-plan-day-note { margin-top:20px; padding-top:16px; border-top:1px solid var(--line); }
#trainer-app .studio-plan-day-note>strong { display:flex; align-items:center; gap:7px; font-size:12px; color:var(--orange); }
#trainer-app .studio-plan-day-note svg { width:16px; height:16px; }
#trainer-app .studio-plan-day-note p { color:var(--text); font-size:12px!important; line-height:1.6; margin:10px 0 0; overflow-wrap:anywhere; }
@media(min-width:1200px) {
  #trainer-app .studio-plan-layout { grid-template-columns:minmax(0,1fr) 240px; align-items:start; }
  #trainer-app .studio-plan-itinerary { grid-column:2; grid-row:1; position:sticky; top:108px; }
  #trainer-app .studio-plan-exercise { grid-template-columns:minmax(0,1fr) 220px; gap:12px 16px!important; }
}
@media(min-width:601px) and (max-width:1199px) {
  #trainer-app .studio-plan-itinerary { display:grid; grid-template-columns:150px minmax(0,1fr); gap:10px 20px; padding:18px 20px; }
  #trainer-app .studio-plan-itinerary nav { grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); }
  #trainer-app .studio-plan-itinerary h4 { margin-bottom:0; }
  #trainer-app .studio-plan-day-note { grid-column:1/-1; }
}
@media(hover:hover) and (pointer:fine) {
  #trainer-app .studio-plan-itinerary nav a:hover { border-color:var(--plan-accent); background:var(--surface2); }
  #trainer-app .studio-plan-technique:hover { border-color:color-mix(in srgb,var(--green) 45%,var(--line)); }
  #trainer-app .studio-plan-technique:hover>span { color:var(--plan-accent); }
  #trainer-app #v49StartPlanWorkout:hover { background:#40e38d!important; box-shadow:0 8px 28px #22d37840; }
}
@media(max-width:760px) {
  #trainer-app .client-plan-top-v49 { grid-template-columns:minmax(0,1fr) 72px!important; gap:14px!important; }
  #trainer-app .client-plan-top-v49 select { width:72px!important; }
  #trainer-app .client-plan-day-head-v49 h3 { font-size:44px!important; }
}
@media(max-width:600px) {
  #trainer-app .studio-plan-board .client-plan-top-v49 h2 { font-size:28px!important; letter-spacing:-1px!important; }
  #trainer-app .studio-plan-board .client-plan-top-v49 { padding-bottom:16px!important; }
  #trainer-app .studio-plan-board .client-day-tabs-v49 { gap:3px; padding:5px!important; border-radius:13px; }
  #trainer-app .studio-plan-board .client-day-tabs-v49 button { height:52px!important; }
  #trainer-app .studio-plan-board .client-day-tabs-v49 button>strong { font-size:12px!important; }
  #trainer-app .studio-plan-board .client-day-tabs-v49 button>span { font-size:9px!important; }
  #trainer-app .studio-plan-day-hero { border-radius:18px; }
  #trainer-app .studio-plan-cover { inset:0 0 0 22%; clip-path:none; background-position:center,center,70% 50%; opacity:.8; }
  #trainer-app .client-plan-day-head-v49 { gap:22px!important; padding:24px 22px 20px!important; }
  #trainer-app .client-plan-day-head-v49>div { max-width:100%; }
  #trainer-app .client-plan-day-head-v49>div>span { font-size:9px!important; letter-spacing:.09em; }
  #trainer-app .client-plan-day-head-v49 h3 { font-size:38px!important; letter-spacing:-1px; }
  #trainer-app #v49StartPlanWorkout { width:100%; }
  #trainer-app .studio-plan-day-stats { padding:16px 22px; gap:12px; }
  #trainer-app .studio-plan-day-stats>div { grid-template-columns:1fr; align-content:start; gap:4px; }
  #trainer-app .studio-plan-day-stats i { display:none; }
  #trainer-app .studio-plan-day-stats strong { font-size:26px; }
  #trainer-app .studio-plan-day-stats span { font-size:10px!important; }
  #trainer-app .studio-plan-layout { margin-top:20px; gap:22px; }
  #trainer-app .studio-plan-itinerary { padding:16px; border-radius:15px; }
  #trainer-app .studio-plan-itinerary>header { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; }
  #trainer-app .studio-plan-itinerary h4 { margin:0; font-size:14px; }
  #trainer-app .studio-plan-itinerary>header>span { font-size:8px!important; }
  #trainer-app .studio-plan-itinerary nav { grid-template-columns:repeat(auto-fit,minmax(115px,1fr)); gap:8px; }
  #trainer-app .studio-plan-itinerary nav a { grid-template-columns:26px minmax(0,1fr); gap:8px; padding:10px 8px; min-height:62px; }
  #trainer-app .studio-plan-itinerary .studio-plan-route-icon { width:26px; height:32px; }
  #trainer-app .studio-plan-itinerary nav strong { font-size:11px; }
  #trainer-app .studio-plan-itinerary nav small { font-size:8px!important; line-height:1.4; }
  #trainer-app .studio-plan-itinerary nav a>svg { display:none; }
  #trainer-app .studio-plan-section-title { padding-bottom:14px; }
  #trainer-app .studio-plan-section-title h3 { font-size:15px!important; }
  #trainer-app .studio-plan-section-title>span { font-size:9px!important; }
  #trainer-app .client-block-list-v49 { gap:16px!important; margin-top:16px; }
  #trainer-app .client-block-v49>header { grid-template-columns:36px minmax(0,1fr) auto!important; gap:10px!important; padding:18px 16px; }
  #trainer-app .studio-plan-block-icon { width:36px; height:40px; border-radius:12px; }
  #trainer-app .studio-plan-block-icon svg { width:20px; height:20px; }
  #trainer-app .client-block-v49>header h4 { font-size:19px; }
  #trainer-app .client-block-v49>header p { font-size:10px!important; }
  #trainer-app .studio-plan-block-badge { font-size:10px; padding:6px 8px; gap:5px; }
  #trainer-app .studio-plan-block-badge svg { width:13px; height:13px; }
  #trainer-app .client-exercise-list-v49 { padding:0 16px!important; }
  #trainer-app .studio-plan-round-hint { padding:10px 16px; }
  #trainer-app .studio-plan-exercise { grid-template-columns:minmax(0,1fr); gap:12px!important; padding:18px 0!important; }
  #trainer-app .studio-plan-exercise-name { font-size:18px; }
  #trainer-app .studio-plan-prescription strong { font-size:26px; }
  #trainer-app .client-block-note-v49 { margin-left:16px; margin-right:16px; }
  #trainer-app .studio-plan-block-videos { margin:0 16px 16px; }
  #trainer-app .studio-plan-exercise-footer:has(.studio-plan-exercise-notes):has(.studio-plan-technique) { grid-template-columns:minmax(0,1fr); gap:10px; }
}
@media(max-width:350px) {
  #trainer-app .client-plan-day-head-v49 { padding:22px 18px 18px!important; }
  #trainer-app .client-plan-day-head-v49 h3 { font-size:34px!important; }
  #trainer-app .studio-plan-day-stats { padding:14px 18px; gap:10px; }
  #trainer-app .studio-plan-board .client-plan-top-v49 h2 { font-size:25px!important; }
  #trainer-app .studio-plan-exercise-name { font-size:17px; }
  #trainer-app .studio-plan-prescription { gap:8px; }
  #trainer-app .studio-plan-prescription .long-value strong { font-size:22px; }
  #trainer-app .studio-plan-prescription span { font-size:9px!important; }
}
/* Guided workout: exercise identity, a real rest phase and the route ahead. */
#trainer-app .studio-workspace .c3v53-ex-head { position:relative; isolation:isolate; min-height:172px; padding:24px!important; border:1px solid var(--line)!important; border-radius:22px; background:linear-gradient(135deg,color-mix(in srgb,var(--green) 7%,var(--surface)),var(--surface)); overflow:hidden; }
#trainer-app .studio-workspace .c3v53-ex-head>div:not(.studio-exercise-number) { position:relative; z-index:1; }
#trainer-app .studio-exercise-number { position:absolute!important; z-index:0; right:8px; bottom:-25px; font-size:150px; line-height:1; font-weight:750; letter-spacing:-12px; color:var(--green); opacity:.08; pointer-events:none; }
#trainer-app .studio-workspace .c3v53-ex-head h1 { margin:16px 0 10px!important; font-size:38px!important; overflow-wrap:anywhere!important; }
#trainer-app .studio-exercise-block { display:block; color:var(--muted); font-size:12px!important; }
#trainer-app #studioExerciseLabel { color:var(--green)!important; font-size:10px!important; letter-spacing:.13em!important; }
#trainer-app .studio-workspace .c3v53-ex-head>a { position:relative; z-index:1; background:var(--surface2); flex-shrink:0; }
#trainer-app .studio-route { margin-top:20px; border-top:1px solid var(--line); }
#trainer-app .studio-route>summary { list-style:none; display:flex; align-items:center; gap:8px; min-height:58px; cursor:pointer; }
#trainer-app .studio-route>summary::-webkit-details-marker { display:none; }
#trainer-app .studio-route>summary>span { font-size:14px!important; font-weight:600; }
#trainer-app .studio-route>summary>small { color:var(--muted); margin-left:auto; font-size:11px!important; }
#trainer-app .studio-route>summary>b { color:var(--muted); font-size:20px; }
#trainer-app .studio-route[open]>summary>b { transform:rotate(180deg); }
#trainer-app .studio-route>nav { display:grid; gap:8px; }
#trainer-app .studio-route-item { display:grid; grid-template-columns:32px minmax(0,1fr) 12px; gap:12px; align-items:center; width:100%; min-height:72px!important; padding:12px; text-align:left; border:1px solid transparent; border-radius:14px!important; background:var(--surface); color:var(--muted); }
#trainer-app .studio-route-item>b { font-size:15px; font-weight:500; }
#trainer-app .studio-route-item>span { display:grid; gap:3px; min-width:0; }
#trainer-app .studio-route-item strong { color:var(--text); font-size:13px; font-weight:500; overflow-wrap:anywhere; }
#trainer-app .studio-route-item small { color:var(--muted); font-size:11px!important; }
#trainer-app .studio-route-item>i { font-style:normal; }
#trainer-app .studio-route-item.active { border-color:var(--green); background:var(--greenSoft); }
#trainer-app .studio-route-item.active>b, #trainer-app .studio-route-item.done>b { color:var(--green); }
#trainer-app .studio-past-performance { display:flex; justify-content:space-between; align-items:center; gap:12px; border-top:1px solid var(--line); margin-top:16px; padding-top:16px; }
#trainer-app .studio-past-performance>div { display:grid; gap:4px; }
#trainer-app .studio-past-performance span { color:var(--muted); font-size:11px!important; }
#trainer-app .studio-past-performance strong { color:var(--text); font-size:14px; font-weight:550; }
#trainer-app .studio-past-performance button { max-width:100px; min-height:44px!important; padding:6px 10px; border:1px solid var(--line); background:var(--surface2); color:var(--muted); font-size:12px!important; line-height:1.4; }
#trainer-app .studio-rest-stage { min-width:0; padding:28px; border-radius:24px; border:1px solid color-mix(in srgb,var(--green) 45%,var(--line)); background:radial-gradient(ellipse at top,color-mix(in srgb,var(--green) 12%,transparent),transparent 60%),var(--surface); text-align:center; }
#trainer-app .studio-rest-stage>header { display:flex; align-items:center; justify-content:space-between; gap:10px; }
#trainer-app .studio-rest-stage>header>span { display:flex; align-items:center; gap:6px; color:var(--green); font-size:11px!important; letter-spacing:.08em; font-weight:600; }
#trainer-app .studio-rest-stage>header>button { background:transparent; color:var(--muted); padding:0 4px; border:0; font-size:11px!important; }
#trainer-app .studio-rest-stage>h2 { font-size:28px!important; margin:24px 0 4px; color:var(--text); }
#trainer-app .studio-rest-stage>p { color:var(--muted); font-size:12px!important; margin:0; }
#trainer-app .studio-rest-dial { --rest:100; width:196px; height:196px; border-radius:50%; margin:24px auto; padding:7px; background:conic-gradient(var(--green) calc(var(--rest)*1%),var(--surface3) 0); box-shadow:0 0 50px color-mix(in srgb,var(--green) 8%,transparent); }
#trainer-app .studio-rest-dial>div { height:100%; border-radius:50%; background:var(--surface); display:flex; flex-direction:column; align-items:center; justify-content:center; }
#trainer-app .studio-rest-dial span { color:var(--muted); font-size:10px!important; letter-spacing:.14em; }
#trainer-app .studio-rest-dial strong { color:var(--text); font-size:48px; font-weight:650; letter-spacing:-2px; font-variant-numeric:tabular-nums; line-height:1.4; }
#trainer-app .studio-rest-dial small { color:var(--green); font-size:12px!important; }
#trainer-app .studio-rest-stage-tools { display:grid; grid-template-columns:1fr 1.5fr 1fr; gap:8px; }
#trainer-app .studio-rest-stage-tools button { min-height:44px!important; background:var(--surface2); color:var(--text); border:1px solid var(--line); padding:6px; font-size:13px!important; }
#trainer-app .studio-rest-upnext { margin:22px 0 12px; padding:18px 0 0; border-top:1px solid var(--line); display:grid; gap:5px; }
#trainer-app .studio-rest-upnext>span { color:var(--muted); font-size:10px!important; letter-spacing:.12em; }
#trainer-app .studio-rest-upnext>strong { color:var(--text); font-size:16px; font-weight:600; }
#trainer-app .studio-rest-upnext small { color:var(--muted); font-size:12px!important; font-weight:400; }
#trainer-app .studio-rest-upnext p { margin:0; color:var(--muted); font-size:12px!important; }
#trainer-app #studioPrepareNext { min-height:44px; border:0; background:transparent; color:var(--green); font-size:12px!important; }
#trainer-app .studio-finish { max-width:660px!important; width:100%!important; }
#trainer-app .studio-finish-seal { display:grid; place-items:center; width:72px; height:72px; margin:28px 0 18px; border-radius:22px; color:var(--on-accent); background:var(--green); transform:rotate(-5deg); }
#trainer-app .studio-finish-seal svg { width:38px; height:38px; transform:rotate(5deg); }
#trainer-app .studio-finish>span { color:var(--green); font-size:11px!important; letter-spacing:.14em; }
#trainer-app .studio-finish>h1 { margin:12px 0; }
#trainer-app .studio-finish-recap { padding:4px 0 16px; margin-bottom:20px; border-bottom:1px solid var(--line); }
#trainer-app .studio-finish-recap>div { display:flex; align-items:center; gap:14px; justify-content:space-between; padding:10px 0; }
#trainer-app .studio-finish-recap span { min-width:0; overflow-wrap:anywhere; color:var(--text); }
#trainer-app .studio-finish-recap strong { white-space:nowrap; color:var(--green); font-size:14px; font-weight:600; }
#trainer-app .studio-finish-recap small { color:var(--muted); font-size:11px!important; font-weight:400; }
@media(max-width:900px) {
  #trainer-app .studio-workspace .studio-route { order:5; }
  #trainer-app .studio-workspace .c3v53-note { order:6; }
}
@media(max-width:600px) {
  #trainer-app .studio-session-progress { margin-bottom:14px; }
  #trainer-app .studio-session-progress>div:last-child { width:100%; display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
  #trainer-app .studio-session-progress>div:last-child>span, #trainer-app .studio-progress-ring { display:none; }
  #trainer-app .studio-session-progress strong { font-size:13px!important; font-weight:500; }
  #trainer-app .studio-session-progress small { font-size:11px!important; }
  #trainer-app .studio-workspace .c3v53-ex-head { padding:18px!important; min-height:144px; }
  #trainer-app .studio-workspace .c3v53-ex-head h1 { font-size:32px!important; margin:12px 0 8px!important; }
  #trainer-app .studio-exercise-number { font-size:126px; bottom:-17px; }
  #trainer-app .studio-workspace .c3v53-focus { padding:12px 0 16px!important; }
  #trainer-app .studio-rest-stage { padding:20px 16px 12px; border-radius:20px; }
  #trainer-app .studio-rest-stage>h2 { margin-top:14px; font-size:23px!important; }
  #trainer-app .studio-rest-dial { width:156px; height:156px; margin:18px auto; padding:6px; }
  #trainer-app .studio-rest-dial strong { font-size:39px; }
  #trainer-app .studio-rest-upnext { margin-top:16px; padding-top:14px; }
  #trainer-app .studio-rest-stage-tools button { font-size:12px!important; }
  #trainer-app .studio-past-performance { padding-top:12px; margin-top:12px; }
  #trainer-app .studio-past-performance strong { font-size:12px; }
  #trainer-app .studio-route-item { min-height:64px!important; }
  #trainer-app .studio-finish { padding:24px 16px 90px!important; }
}
