@font-face{font-family:Geist;src:url('/vendor/Geist-Variable.woff2') format('woff2');font-weight:100 900;font-display:swap}
.theme-toggle{width:44px;height:44px;min-width:44px;min-height:44px;flex:none;padding:10px}
.theme-toggle svg{width:22px;height:22px;flex:none}
.theme-toggle .theme-moon{display:none}
html[data-theme=light] .theme-toggle .theme-sun{display:none}
html[data-theme=light] .theme-toggle .theme-moon{display:block}
.login-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:24px}
.login .login-header img{margin:0;max-width:calc(100% - 56px)}
.workspace-topbar button,.tracker-demo-header button{min-height:44px}
@font-face{font-family:ShanerStrongDisplay;src:url('/brand/ShanerStrongDisplay-Bold-v2.0.0.woff2') format('woff2');font-weight:700;font-display:swap}
/* The dock occupies its own viewport row; it is never an overlay on the app. */
html{height:100%;--notification-height:0px}
html body{height:100dvh;display:flex;flex-direction:column;overflow:hidden}
#app{flex:1;min-height:0;overflow:auto;scroll-padding:12px;overscroll-behavior:contain}
#app .layout{min-height:calc(100dvh - var(--notification-height))}
#app .rail{height:calc(100dvh - var(--notification-height))}
#notification-dock{display:flex;flex:none;align-items:center;gap:12px;padding:8px max(12px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));border-top:1px solid var(--line);background:var(--panel);min-width:0}
#notification-dock[hidden]{display:none}
#notification-dock #status{position:static;flex:1;min-width:0;max-width:none;max-height:30dvh;overflow:auto;margin:0;padding:0;background:transparent;border-radius:0;overflow-wrap:anywhere;scroll-padding:4px}
#notification-dismiss{flex:none;min-height:44px;min-width:44px}
@media(max-width:760px){#app .rail{height:auto}}
.sample-food{min-width:0;max-width:1140px;container-type:inline-size}
.sample-food .section-heading h2{font-size:20px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0}
.sample-food form{margin-block:16px 24px}
.sample-food-main,.sample-food-macros{display:flex;align-items:flex-start;flex-wrap:wrap;gap:12px}
.sample-food .sample-food-field{display:grid;grid-template-rows:24px 44px;gap:6px;margin:0;min-width:0;max-width:100%;align-content:start}
.sample-food-field>span{display:flex;align-items:center;margin:0;font-size:14px;line-height:1.4}
.sample-food .sample-food-field>input{margin:0;min-width:0;min-height:44px;max-width:100%;box-sizing:border-box;font-size:16px}
.sample-food-main>.sample-food-field{flex:1 1 220px}
.sample-food .sample-food-main input{width:100%}
.sample-food .sample-food-nutrition{min-width:0;border:0;padding:0;margin:20px 0 16px}
.sample-food-nutrition legend{font-size:14px;font-weight:600}
.sample-food-nutrition>p{margin-top:6px}
.sample-food .sample-food-macros input{width:calc(var(--food-input-ch,8)*1ch + 40px);font-variant-numeric:tabular-nums}
.sample-food .actions{gap:8px}
.sample-food button,.sample-food summary{min-height:44px;max-width:100%;white-space:normal}
.sample-food-totals{border-block:1px solid var(--line);padding-block:16px;margin-bottom:16px}
.sample-food h3{font-size:16px;margin:0}
.sample-food-stats{display:flex;flex-wrap:wrap;gap:12px 24px;margin:12px 0 0}
.sample-food-stats>div{min-width:0}
.sample-food-stats dt{font-size:13px;color:var(--muted)}
.sample-food-stats dd{margin:0;font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}
.sample-food-stats small{display:block;font-size:13px;color:var(--muted)}
.sample-food-entry{border-bottom:1px solid var(--line);padding-block:12px;min-width:0;overflow-wrap:anywhere}
.sample-food-row{display:flex;align-items:center;gap:12px;justify-content:space-between}
.sample-food-row>span{min-width:0}
.sample-food-row>button{flex:none}
.sample-food-entry summary{display:flex;align-items:center;cursor:pointer;width:fit-content}
.sample-food-entry li p{margin:4px 0 12px;color:var(--muted)}
@media(max-width:600px){.sample-food .sample-food-field{grid-template-rows:auto 44px}.sample-food-field>span{min-height:24px}.sample-food-macros{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.sample-food .sample-food-wide{grid-column:1/-1}.sample-food .section-heading{flex-direction:row;align-items:center;flex-wrap:wrap}.sample-food-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@container(max-width:280px){.sample-food-macros,.sample-food-stats{grid-template-columns:minmax(0,1fr)}.sample-food .sample-food-field{grid-template-rows:auto 44px}.sample-food-row{flex-wrap:wrap}.sample-food-field>span{overflow-wrap:anywhere}.sample-food .actions>button{width:100%}}
.client-workout [hidden]{display:none!important}
.client-set-table{container-type:inline-size;max-width:392px;margin:8px auto 16px;min-width:0}
.set-table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.set-table-toolbar .actions,.set-table-toolbar [role=group]{display:flex;gap:8px;margin:0;flex-wrap:wrap}
.set-table-toolbar button{min-width:44px}
.set-table-add{width:100%;min-height:44px;margin-top:8px}
.set-table-toolbar button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--cyan);color:var(--text)}
.client-set-table .set-table-help{font-size:12px;line-height:1.5;margin:8px 0 12px}
.set-table-head,.set-table-fields{display:grid;grid-template-columns:44px minmax(44px,1fr) minmax(60px,1.35fr) minmax(44px,1fr) minmax(48px,1.05fr) 44px;gap:6px;align-items:center}
.set-table-head{font-size:12px;color:var(--muted);text-align:center;margin-bottom:6px}
.set-table-head.set-nonlifting,.set-table-fields.set-nonlifting{grid-template-columns:44px minmax(64px,1fr) minmax(44px,1fr) minmax(48px,1fr) 44px}
.set-table-item{border-top:1px solid var(--line);padding:10px 0 8px;min-width:0}
.set-table-item.is-complete{background:var(--accent-soft)}
.set-number{font-weight:600;text-align:center;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;display:flex;align-items:center;justify-content:center;min-height:44px;padding:0}
.set-number[data-tracker=edit]{width:44px;background:transparent;border-color:transparent;text-decoration:underline;text-underline-offset:3px}
.client-workout .set-cell,.client-workout .set-done{margin:0;min-width:0}
.client-workout .set-cell{justify-items:center}
.client-workout .set-cell input{width:min(100%,calc(var(--set-value-ch,6)*1ch + 16px));height:44px;min-height:44px;padding:6px 3px;font-size:16px;text-align:center;margin:0;font-variant-numeric:tabular-nums;-moz-appearance:textfield}
.set-cell input::-webkit-inner-spin-button,.set-cell input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.client-workout .set-rest{display:flex;min-width:0;justify-content:center;font-size:12px;line-height:1.2;text-align:center}
.client-workout .set-rest button{font-size:13px;min-width:44px;min-height:44px;padding:6px 2px;font-variant-numeric:tabular-nums;border-color:transparent;background:transparent}
.client-workout .set-rest button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--cyan);text-decoration:underline;text-underline-offset:3px}
.client-workout .set-done{display:flex;justify-content:center;align-items:center;min-height:44px;min-width:44px}
.client-workout .set-done input{width:24px;height:24px;min-height:24px;margin:0;accent-color:var(--blue);cursor:pointer}
.set-done:focus-within{outline:3px solid var(--cyan);outline-offset:2px;border-radius:5px}
.set-table-item.has-wide-value .set-table-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.set-table-item.has-long-value .set-table-fields{grid-template-columns:minmax(0,1fr)}
.set-table-item.has-wide-value .set-number{grid-column:1/-1;justify-self:start}
.set-table-item.has-wide-value .set-mobile-label{display:block;font-size:12px;min-height:20px}
.set-table-item.has-wide-value .set-rest,.set-table-item.has-wide-value .set-done{flex-direction:column;gap:4px}
.set-table-item.has-wide-value .set-done .set-mobile-label{order:-1}
.set-mobile-label{display:none}
.set-scale-caption{display:block;font-size:12px;line-height:1.4;text-align:center;color:var(--muted);margin-top:3px}
.set-table-fields{align-items:start}
.set-target-line{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;margin-top:5px}
.set-target-line small{font-size:12px;line-height:1.5;overflow-wrap:anywhere;min-width:0}
.set-target-line button{font-size:12px;flex:none;padding:6px}
#manual-set-options{margin-block:12px}
@container(max-width:290px){.set-table-head{display:none}.set-table-fields,.set-table-fields.set-nonlifting{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.set-number{grid-column:1/-1;text-align:left}.set-number::before{content:'Set '}.set-mobile-label{display:block;font-size:12px;min-height:20px}.client-workout .set-cell{display:grid;gap:4px}.client-workout .set-rest,.client-workout .set-done{flex-direction:column;gap:4px}.client-workout .set-rest>button,.client-workout .set-rest>span:last-child{min-height:44px}.client-workout .set-done .set-mobile-label{order:-1}.set-target-line{flex-wrap:wrap}}
.workout-save-state{font-size:13px;margin-block:8px}
/* Compact logger actions share one baseline; only details use a bounded dialog. */
.client-set-table .set-table-head button{width:100%;min-width:44px;min-height:44px;padding:4px 2px;font-size:13px;color:var(--cyan);background:transparent;border-color:transparent;text-decoration:underline;text-underline-offset:3px}
.set-number[data-tracker=table-details]{width:44px;background:transparent;border-color:transparent;text-decoration:underline;text-underline-offset:3px}
.set-table-footer{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:8px}
.client-set-table .set-table-footer button{width:auto;min-width:44px;min-height:44px;margin:0;padding:8px 10px;flex:none}
.set-table-footer .set-table-add{margin-right:auto}
.client-workout .set-tempo{display:inline-flex;align-items:center;gap:4px;min-height:44px;max-width:100%;padding:4px 6px;font-size:12px;white-space:normal;overflow-wrap:anywhere;text-align:left;background:transparent;border-color:transparent;color:var(--cyan)}
.client-exercise-heading .history-icon{width:44px;min-width:44px;padding:10px}
#client-set-dialog{box-sizing:border-box;width:min(400px,calc(100vw - 24px));height:min(500px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);padding:16px;overflow:hidden}
#client-set-dialog form{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100%;min-height:0;margin:0;gap:0}
#client-set-dialog header,#client-set-dialog footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
#client-set-dialog h2{font-size:18px;margin:0}
#client-set-dialog button,#client-set-dialog input:not([type=checkbox]),#client-set-dialog select{min-height:44px;font-size:16px;max-width:100%;box-sizing:border-box}
#client-set-dialog .client-set-dialog-body{overflow:auto;scrollbar-gutter:stable;padding:12px 4px;min-height:0;scroll-padding:8px}
#client-set-dialog label{display:grid;gap:6px;margin:8px 0}
#client-set-dialog .remember{display:flex;align-items:center;min-height:44px}
#client-set-dialog .remember input{min-width:24px}
#client-set-dialog .muted{font-size:13px;line-height:1.5;overflow-wrap:anywhere}
#client-set-dialog footer{position:static;margin:0;padding:12px 0 0}
@container(max-width:290px){.client-set-table .set-table-head{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.client-set-table .set-table-head>span{display:none}.client-set-table .set-table-head button{width:auto;min-width:44px}.set-table-footer .set-table-add{margin-right:0}}
.source-set-cards{display:none}
@media(max-width:600px){.source-column-sets>.table-scroll{display:none}.source-set-cards{display:grid;gap:8px}.source-set-card{padding:10px;border:1px solid var(--line);border-radius:7px;min-width:0}.source-set-card>strong{font-size:14px}.source-set-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin:8px 0 0}.source-set-card dl>div{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px 8px;min-width:0;overflow-wrap:anywhere}.source-set-card dt{font-size:13px;color:var(--muted)}.source-set-card dd{margin:0;font-size:16px;font-variant-numeric:tabular-nums}}
@media(max-width:300px){.source-set-card dl{grid-template-columns:minmax(0,1fr)}}
.tracker-review li{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
.tracker-review li>button{min-height:44px;flex:none}
.client-workout .tracker-active{padding:18px;min-width:0}
.client-exercise-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.client-workout .client-exercise-heading h2{margin:0;font-size:20px;line-height:1.35;min-width:0;overflow-wrap:anywhere}
.client-workout button,.client-workout summary{min-height:44px}
.client-workout .tracker-disclosure{font-size:13px;white-space:normal}
.client-prescription{border-block-end:1px solid var(--line);padding-block:12px;min-width:0;overflow-wrap:anywhere}
.client-prescription .workout-preview-targets{margin:0 0 8px}
.client-prescription .workout-exercise-guidance{border:0;padding:0}
.client-prescription .workout-exercise-guidance p{margin-block:6px;line-height:1.5}
.client-prescription .coach-sets{min-width:560px}
.client-prescription .table-scroll{max-width:100%;position:relative}
.client-instruction-disclosure{margin-block:8px 12px;min-width:0}
.client-workout .instruction-toggle{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px}
.instruction-toggle svg{flex:none;transition:transform .16s ease}
.instruction-toggle[aria-expanded=true] svg{transform:rotate(180deg)}
.client-workout .tracker-active .client-prescription>details{display:inline-block;vertical-align:top;margin:4px 12px 0 0;padding:0;border:0;background:transparent;max-width:100%}
.client-workout .tracker-active .client-prescription>details[open]{display:block;margin-inline-end:0}
.client-workout .tracker-active .client-prescription>details>summary{border:0;background:transparent;padding-inline:0;gap:8px}
.client-prescription>details>summary::after{content:'+';font-size:18px;line-height:1}
.client-prescription>details[open]>summary::after{content:'−'}
.client-prescription .muscle-switch button[aria-pressed=true]{color:var(--text)}
@media(prefers-reduced-motion:reduce){.instruction-toggle svg{transition:none}}
.client-workout .tracker-logged{margin-block:8px 16px}
.client-workout .tracker-set-row{flex-wrap:nowrap}
.client-workout .tracker-set-row>button{flex:none}
.client-workout .client-log-fields{display:flex;align-items:flex-start;justify-content:center;flex-wrap:wrap;gap:12px;margin-block:8px 12px}
.client-workout .client-log-field{display:flex;flex-direction:column;align-items:center;gap:6px;margin:0;min-width:0;max-width:100%;line-height:1.4}
.client-workout .client-log-field>label,.client-workout .client-log-field>span{display:flex;align-items:center;justify-content:center;box-sizing:border-box;margin:0;line-height:1.4;height:24px;font-size:14px}
.client-workout .client-log-field>input{width:7ch;margin:0;min-height:44px;box-sizing:border-box;text-align:center;font-size:16px}
.client-load-control{display:flex;align-items:stretch;max-width:100%;min-width:0}
.client-workout .tracker-load>.client-load-control{gap:0;margin:0}
.client-workout .client-load-control>input{width:10ch;min-width:0;margin:0;min-height:44px;box-sizing:border-box;text-align:center;border-radius:7px 0 0 7px;font-size:16px}
.client-workout .client-load-control>button,.client-unit-label{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;box-sizing:border-box;margin:0;border:1px solid var(--line);border-left:0;border-radius:0 7px 7px 0;padding:8px;background:var(--sunken);font-size:16px;color:var(--text)}
.client-unit-label{font-weight:600}
.client-entry-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin-block:8px 12px}
.client-entry-actions>.set-checkoff{flex:1 1 12rem}
.client-set-details{border:1px solid var(--line);border-radius:8px;padding:12px;min-width:0;margin-block:12px}
.client-format{display:grid;gap:6px;margin-bottom:12px}
.client-format>div{display:flex;flex-wrap:wrap;gap:8px}
.client-format button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--cyan)}
.client-workout .client-set-details .client-log-field{align-items:stretch}
.client-workout .client-set-details .client-log-field>input{width:100%;text-align:start}
.client-workout .tracker-active details>summary{display:flex;align-items:center;width:fit-content;max-width:100%;min-height:44px;box-sizing:border-box;list-style:none;padding:8px 12px;border:1px solid var(--line);border-radius:7px;background:var(--sunken);font-weight:500;cursor:pointer}
.client-workout .tracker-active details>summary::marker,.client-workout .tracker-active details>summary::-webkit-details-marker{display:none;content:''}
.client-workout .tracker-rest{align-items:flex-end;margin-top:12px;padding:12px 0;background:transparent;border-radius:0}
.client-workout .tracker-rest small output{font-size:14px;font-weight:600}
.client-workout .tracker-rest .actions{align-items:flex-end;gap:8px}
.client-workout .tracker-rest>.actions{min-width:0;max-width:100%;width:100%}
.client-workout .tracker-rest .clock-control{flex-wrap:wrap;min-width:0;width:100%}
.client-workout .tracker-rest .clock-field{margin:0;grid-template-columns:minmax(0,1fr)}
.client-workout .tracker-rest .clock-field>label{min-width:0}
.client-workout .client-save-note,.client-sample-label{font-size:13px;margin-block:8px}
@media(max-width:600px){.client-workout .tracker-active{padding:14px 12px}.client-workout input,.client-workout select,.client-workout textarea{font-size:16px}.client-workout .tracker-rest .actions{flex-wrap:wrap}.client-workout .client-exercise-heading h2{font-size:20px}}
.records-panel{min-width:0}.record-group{min-width:0;max-width:100%;margin:8px 0}.record-group>summary{min-height:44px;align-content:center;overflow-wrap:anywhere}.record-group>summary>span{margin-left:10px;color:var(--muted);font-size:12px}.record-group h3{font-size:14px;margin:16px 0 8px}.record-group .table-scroll{max-width:100%}.record-group table{font-variant-numeric:tabular-nums}.record-group button{min-width:44px;min-height:44px}.record-group td:last-child{max-width:220px;overflow-wrap:anywhere}.record-rules{font-size:12px;line-height:1.6;max-width:90ch}.records-panel .section-heading h2{font-size:18px}.records-panel .segmented button{min-width:44px;min-height:44px}
.tracker{max-width:1100px}.tracker-heading,.tracker-demo-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.tracker-heading p{margin:4px 0}.tracker-save-note{padding:10px 12px;background:var(--sunken);border:1px solid var(--line);border-radius:8px;font-size:13px;color:var(--muted)}.tracker-layout{display:grid;grid-template-columns:minmax(200px,260px) minmax(0,1fr);gap:16px;align-items:start}.tracker-outline{display:grid;gap:8px;position:sticky;top:16px}.tracker-outline button{display:flex;align-items:center;gap:10px;text-align:left;padding:12px;background:var(--panel);min-width:0;white-space:normal;border-radius:8px}.tracker-outline button[aria-expanded=true]{background:var(--accent-soft);border-color:var(--cyan)}.tracker-outline button>span:nth-child(2){flex:1;min-width:0;overflow-wrap:anywhere}.tracker-outline small,.tracker-set-row small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.tracker-active{margin:0;min-width:0}.tracker-active>header h2{margin:3px 0 10px;font-size:20px}.tracker-active .exercise-prescription{padding:0 0 12px}.tracker-active .exercise-prescription>header{display:block}.tracker-active .exercise-prescription>header h3,.tracker-active .exercise-prescription>header .exercise-number{display:none}.tracker-active .source-details{font-size:13px;margin:10px 0}.tracker-active details{background:var(--sunken)}.tracker-previous{background:var(--sunken);padding:12px;border-radius:7px;margin:16px 0}.tracker h3{font-size:14px}.tracker-previous p:last-child{margin-bottom:0}.tracker-logged{margin:16px 0}.tracker-set-row{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding:10px 0;flex-wrap:wrap}.tracker-set-row>.actions{margin:0}.tracker-set-row>span{min-width:0;overflow-wrap:anywhere}.tracker-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.tracker-fields input,.tracker-fields select{width:100%;min-width:0}.tracker fieldset{padding:0;border:0;min-width:0;margin:0}.tracker legend{font-size:15px;font-weight:600;margin-bottom:8px}.tracker-hint{font-size:12px;margin-top:0}.tracker-rest{display:flex;align-items:center;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;padding:14px 0;border-top:1px solid var(--line);margin-top:16px}.tracker-rest output{font-size:24px;font-weight:600;font-variant-numeric:tabular-nums}.tracker-rest .actions{margin:0}.tracker-rest small{flex-basis:100%;font-size:12px;color:var(--muted)}.tracker-next{width:100%;margin-top:8px}.tracker-review{margin-top:16px}.tracker-review li{margin:6px 0;overflow-wrap:anywhere}.tracker-review form{max-width:560px}.tracker-totals{display:flex;flex-wrap:wrap;gap:18px 36px;margin:16px 0}.tracker-totals strong{display:block;font-size:28px;line-height:1.2;font-variant-numeric:tabular-nums}.tracker-totals span{font-size:13px}.tracker-celebration .eyebrow{color:inherit}.tracker-demo{max-width:1148px;margin:auto;padding:24px 24px calc(50px + env(safe-area-inset-bottom))}.tracker-demo .brand{width:150px;height:48px}.tracker-demo-banner{background:var(--accent-soft);padding:12px;border:1px solid var(--line);border-radius:8px;margin:20px 0 16px}.tracker button{touch-action:manipulation}.tracker input:focus-visible,.tracker button:focus-visible{outline-offset:3px}.tracker [tabindex="-1"]{scroll-margin-top:16px}
@media(max-width:700px){.tracker-layout{grid-template-columns:1fr;gap:12px}.tracker-outline{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.tracker-outline button{padding:10px 8px;gap:7px;align-items:flex-start}.tracker-outline button>span:last-child{display:none}.tracker-outline strong{font-size:13px}.tracker-outline .exercise-number{width:22px;height:22px;font-size:12px}.tracker-heading{align-items:flex-start}.tracker-heading h2{font-size:18px}.tracker-active{padding:14px 12px}.tracker-fields{gap:0 10px}.tracker-set-row .actions{gap:8px}.tracker-demo{padding:16px 12px calc(50px + env(safe-area-inset-bottom))}.tracker-demo h1{font-size:22px}.tracker-demo-banner{font-size:13px;margin-top:12px}.tracker-outline small{font-size:12px}.tracker-review ul{padding-left:20px}.tracker .tracker-rest .actions button{padding:8px 10px;min-width:44px}.tracker-review button.primary{width:100%}}
.icon{width:18px;height:18px;flex:none}
.password-input{position:relative;min-width:0}.password-input input{display:block;width:100%;min-width:0;min-height:48px;padding-inline-end:56px;box-sizing:border-box}.password-input .password-eye{position:absolute;inset-inline-end:2px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:0;border-radius:7px;background:transparent;color:var(--muted);margin:0}.password-input .password-eye:hover,.password-input .password-eye[aria-pressed=true]{background:var(--soft);color:var(--text)}.password-eye svg{width:20px;height:20px;pointer-events:none}.password-input input::-ms-reveal,.password-input input::-ms-clear{display:none}.login .remember{min-height:44px;margin:8px 0 0;gap:9px;color:var(--text,#edf4fa)}.login .remember input{width:18px;height:18px;min-height:18px;padding:0;flex:none;accent-color:var(--blue,#1768f3)}.auth-help{font-size:13px;margin:0 0 12px}.login [hidden]{display:none}
*{box-sizing:border-box}html{color-scheme:dark}html[data-theme=light]{color-scheme:light}body{margin:0;background:var(--base,#07111b);color:var(--text,#edf4fa);font:14px/1.55 Geist,Helvetica,Arial,sans-serif}button,input,select,textarea{font:inherit}a{color:var(--cyan,#16bceb)}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button,.button{min-height:36px;padding:7px 12px;border:1px solid var(--line,#294156);border-radius:7px;background:var(--raised,#193247);color:var(--text,#edf4fa);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .15s}button:hover,.button:hover{background:var(--accent-soft,#193247)}button.primary{background:var(--blue,#1768f3);color:var(--on-accent,#fff);border-color:transparent}button:disabled{opacity:.55;cursor:not-allowed}input,select,textarea{padding:9px 10px;border:1px solid var(--line,#294156);border-radius:6px;background:var(--sunken,#07111b);color:var(--text,#edf4fa);max-width:100%;width:100%;min-width:0}textarea{min-height:96px;resize:vertical}label{display:grid;gap:5px;margin:8px 0;color:var(--muted,#b0c4d3)}input[type=checkbox],input[type=color]{width:auto}label:has(input[type=checkbox]){display:flex;align-items:center}fieldset{border:1px solid var(--line,#294156);border-radius:8px;margin:12px 0}h1{font-size:24px;line-height:1.2;letter-spacing:-.025em;margin:0 0 8px}h2{font-size:18px;line-height:1.3;margin:0 0 8px}h3{font-size:15px;margin:0 0 8px}p{margin:6px 0 12px}small,.muted{color:var(--muted,#b0c4d3)}:focus-visible{outline:3px solid var(--cyan,#16bceb);outline-offset:3px}main{min-width:0}.login{max-width:430px;margin:8vh auto;padding:24px}.login img{width:190px;height:auto;display:block;margin-bottom:24px}.panel{padding:16px;border:1px solid var(--line,#294156);border-radius:10px;background:var(--panel,#0d1b29);margin-bottom:16px}.layout{display:grid;grid-template-columns:182px minmax(0,1fr);min-height:100vh;transition:grid-template-columns .2s}.layout.collapsed{grid-template-columns:64px minmax(0,1fr)}.rail{background:var(--rail,#07111b);border-right:1px solid var(--line,#294156);padding:16px 10px;position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;gap:16px}.brand{width:145px;max-width:100%;height:48px;object-fit:contain;object-position:left center}.rail nav{display:grid;gap:6px}.rail nav button{justify-content:flex-start;background:transparent;border-color:transparent;white-space:nowrap}.rail nav button[aria-current=page]{background:var(--accent-soft,#193247);color:var(--cyan,#16bceb);border-color:var(--line,#294156)}.nav-icon{width:20px;display:inline-flex}.nav-icon svg{width:18px;height:18px}.rail-bottom{margin-top:auto;display:grid;gap:8px}.collapsed .nav-text,.collapsed .rail-account{display:none}.collapsed .rail nav button{justify-content:center;padding:8px}.workspace{padding:20px;max-width:1600px;width:100%}.heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.heading p{margin:0}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}.stat{padding:12px 16px;border:1px solid var(--line,#294156);border-radius:8px;background:var(--panel,#0d1b29)}.stat strong{font-size:24px;display:block;font-variant-numeric:tabular-nums}.session{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line,#294156)}.session>div{flex:1;min-width:0}.session p{margin:2px 0}.date{min-width:72px;font-variant-numeric:tabular-nums}.badge{border:1px solid var(--line,#294156);border-radius:5px;padding:2px 6px;font-size:12px;white-space:nowrap}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.rich{margin:0}.rich>div{padding:8px 0;border-bottom:1px solid var(--line,#294156)}.rich dt{font-weight:600;color:var(--muted,#b0c4d3)}.rich dd{margin:4px 0 0;overflow-wrap:anywhere}.rich ol{padding-left:22px}.rich ol li{padding:4px 0}.rich .rich{padding-left:12px}.table-scroll{max-width:100%;overflow:auto}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}th,td{text-align:left;padding:10px;border-bottom:1px solid var(--line,#294156)}caption{text-align:left;color:var(--muted,#b0c4d3);margin:8px 0}details{margin:10px 0;border:1px solid var(--line,#294156);padding:10px;border-radius:7px}summary{cursor:pointer;font-weight:600;min-height:32px}.charts{display:grid;grid-template-columns:2fr 1fr;gap:16px}.charts section:last-child{grid-column:1/-1}.charts svg{width:100%;max-height:250px}svg text{fill:var(--muted,#b0c4d3);font:12px Geist,Helvetica,sans-serif}.axis{stroke:var(--line,#294156);fill:none}.line{stroke:var(--cyan,#16bceb);stroke-width:3;fill:none}.point,.bar{fill:var(--cyan,#16bceb)}.unlogged{stroke:var(--line,#294156)}.segment-0{stroke:var(--cyan,#16bceb)}.segment-1{stroke:var(--success-ink,#a9e6c7)}.message{border-bottom:1px solid var(--line,#294156);padding:12px 0}.message p{white-space:pre-wrap;overflow-wrap:anywhere}.error{color:var(--danger-ink,#ffb8c5);background:var(--danger-bg,#361d2a);padding:12px;border-radius:7px}.celebration{background:var(--success-bg,#193a2d);color:var(--success-ink,#a9e6c7);padding:20px;border-radius:10px;margin-bottom:16px}.skip{position:fixed;top:-100px;left:8px;padding:12px;background:var(--panel,#0d1b29);z-index:9}.skip:focus{top:8px}#status{position:fixed;bottom:8px;right:12px;max-width:min(500px,calc(100% - 24px));padding:8px 12px;background:var(--panel,#0d1b29);border-radius:8px;z-index:5}#status:empty{display:none}.inline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.inline label{min-width:150px;flex:1}.empty{padding:20px 0;color:var(--muted,#b0c4d3)}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
@media(max-width:700px){body{font-size:15px}.layout,.layout.collapsed{display:block}.rail{height:auto;position:static;padding:12px;border-right:0;border-bottom:1px solid var(--line,#294156)}.brand{width:145px;height:45px}.rail nav{display:flex;overflow-x:auto;gap:8px;max-width:100%}.rail nav button{min-height:44px}.rail-bottom{display:flex;align-items:center;justify-content:space-between}.rail-bottom .rail-account{font-size:12px}.rail-collapse{display:none}.collapsed .nav-text,.collapsed .rail-account{display:initial}.workspace{padding:16px 12px calc(30px + env(safe-area-inset-bottom))}.heading{align-items:flex-start}h1{font-size:22px}.form-grid{grid-template-columns:1fr}.charts{grid-template-columns:1fr}.charts section:last-child{grid-column:auto}button,.button,summary{min-height:44px}input,select,textarea{font-size:16px;min-height:44px}.login{margin:24px auto;padding:20px}.session{flex-wrap:wrap}.session button{margin-left:auto}#status{bottom:calc(8px + env(safe-area-inset-bottom))}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}

[hidden]{display:none!important}.section-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:12px}.section-heading .actions{margin:0}.section-heading p{margin-bottom:0}.segmented{display:flex;gap:2px;flex-wrap:wrap;background:var(--sunken);padding:3px;border:1px solid var(--line);border-radius:8px}.segmented button{border-color:transparent;background:transparent;padding:6px 10px}.segmented button[aria-pressed=true]{background:var(--raised);border-color:var(--line);font-weight:600}.schedule-toolbar,.schedule-dates{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px}.compact-label{font-size:12px;margin:0}.inline .compact-label{min-width:110px}.schedule-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:16px;align-items:start}.schedule-layout.client-only{grid-template-columns:minmax(0,1fr)}.calendar-panel{padding:0;overflow:hidden}.schedule-scroll{overflow:auto;max-width:100%}.calendar-grid{display:grid;grid-template-columns:repeat(var(--calendar-columns),minmax(130px,1fr));min-height:420px}.calendar-grid.day{grid-template-columns:1fr}.calendar-day{min-width:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px;min-height:150px}.calendar-day>header{display:flex;justify-content:space-between;gap:6px;color:var(--muted);font-size:12px;margin-bottom:8px}.calendar-day.today>header{color:var(--cyan);font-weight:700}.calendar-card{padding:8px;margin-bottom:8px;border:1px solid var(--line);border-left:3px solid var(--cyan);border-radius:6px;background:var(--raised);min-width:0}.calendar-card.full,.calendar-card.partial{border-left-color:var(--success-ink)}.eyebrow{display:block;font-size:12px;color:var(--muted);overflow-wrap:anywhere}.card-title{display:block;background:transparent;border:0;padding:4px 0;text-align:left;width:100%;font-weight:600;white-space:normal;overflow-wrap:anywhere}.card-foot{display:flex;justify-content:space-between;align-items:center;gap:6px;flex-wrap:wrap}.text-button{padding:3px 6px;background:transparent}.client-schedule{table-layout:fixed;width:max-content;min-width:100%}.client-schedule th,.client-schedule td{width:155px;max-width:200px;vertical-align:top;border-right:1px solid var(--line)}.client-schedule th:first-child{position:sticky;left:0;z-index:1;background:var(--panel)}.calendar-list{padding:12px}.calendar-list-row{display:grid;grid-template-columns:90px 1fr;gap:12px;align-items:start}.calendar-list-row>time{padding-top:12px}.schedule-resources{padding:12px}.schedule-resources .segmented button{font-size:12px;flex:1}.resource-row{width:100%;display:grid;justify-content:stretch;text-align:left;gap:3px;margin-top:8px;background:transparent;white-space:normal;overflow-wrap:anywhere}.filter-groups{display:flex;gap:16px;flex-wrap:wrap}.filter-groups fieldset{flex:1;min-width:200px}.check-label{min-height:36px;gap:8px}.check-label input[type=checkbox]{flex:none;width:18px;height:18px}.move-review{border-color:var(--cyan)}.exercise-prescription{padding:16px 0;border-bottom:1px solid var(--line)}.exercise-prescription>header{display:flex;gap:12px;align-items:flex-start}.exercise-number{display:inline-grid;place-items:center;width:28px;height:28px;flex:none;border-radius:7px;background:var(--accent-soft);color:var(--cyan);font-weight:600}.exercise-prescription h3{font-size:16px;margin-bottom:4px}.prescription-table{min-width:440px}.source-details{margin-top:16px}.builder-exercise{padding:16px;margin:12px 0;border:1px solid var(--line);border-radius:8px;background:var(--sunken)}.exercise-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:12px}.builder-exercise textarea{min-height:64px}.batch-assignment td input[type=date]{min-width:160px}.batch-assignment input[type=checkbox]{width:20px;height:20px}.metric-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px}.metric-chart{min-width:0}.metric-chart svg{width:100%}.metric-summary{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.metric-summary>strong{font-size:26px;font-variant-numeric:tabular-nums}.metric-summary>span{font-size:12px;color:var(--muted)}.comparison-bars{display:grid;gap:10px;margin-top:12px}.comparison-bars>div{display:grid;grid-template-columns:55px 1fr 60px;gap:8px;align-items:center;font-size:12px}.comparison-bars strong{text-align:right}.bar-track{height:18px;background:var(--sunken);border-radius:4px;min-width:0}.comparison-bar{height:18px;display:block;background:var(--cyan);border-radius:4px}.bar-track>span:not(.comparison-bar){color:var(--muted)}button:active{filter:brightness(.93)}
@media(max-width:1100px){.schedule-layout{grid-template-columns:minmax(0,1fr)}.schedule-resources{display:none}}
@media(max-width:700px){.section-heading{flex-direction:column;gap:8px}.schedule-toolbar{display:grid;grid-template-columns:1fr}.schedule-toolbar .segmented{flex-wrap:nowrap}.schedule-toolbar .segmented button{flex:1;padding:8px}.schedule-dates{align-items:stretch}.schedule-dates>.inline{width:100%}.schedule-dates>.inline strong{flex-basis:100%}.calendar-grid{grid-template-columns:repeat(var(--calendar-columns),minmax(165px,1fr))}.calendar-grid.day{grid-template-columns:1fr}.card-title{min-height:44px}.text-button{min-width:44px;min-height:44px}.calendar-list-row{grid-template-columns:1fr;gap:0}.calendar-list-row>time{padding:4px 0}.check-label{min-height:44px}.check-label input[type=checkbox]{min-height:18px}.builder-exercise{padding:12px}.builder-exercise .actions{gap:8px}.batch-assignment input[type=checkbox]{min-height:24px}.exercise-fields{grid-template-columns:1fr 1fr}.metric-summary>strong{font-size:24px}.rail{padding-top:calc(12px + env(safe-area-inset-top))}}
.workout-ready,.guided-workout{max-width:760px;margin-inline:auto;min-width:0}.workout-ready>button{margin-block:8px 16px}.workout-session-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}.workout-session-bar output{font-weight:600;font-variant-numeric:tabular-nums}.workout-session-bar>button{margin-left:auto;min-height:44px}.workout-step-list nav{display:grid;gap:4px}.workout-step-list nav button{text-align:left;min-height:44px;white-space:normal;overflow-wrap:anywhere}.workout-step-list [aria-current=step]{border-color:var(--cyan);background:var(--accent-soft)}.guided-workout .tracker-heading,.guided-workout .tracker-outline{display:none}.guided-workout .tracker-layout{grid-template-columns:minmax(0,1fr)}.guided-workout:not(.reviewing) .tracker-review{display:none}.guided-workout.reviewing .tracker-layout,.guided-workout.reviewing .tracker-session-details,.guided-workout.reviewing .workout-step-list,.guided-workout.reviewing .workout-step-back{display:none}.workout-step-back{margin-top:8px}.set-completed{color:var(--cyan);font-weight:700}.set-checkoff{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px}.workout-timing{max-width:760px;margin:16px auto;font-variant-numeric:tabular-nums}.workout-timing .muted{display:block;font-size:13px}@media(max-width:480px){.workout-session-bar{gap:8px 10px;font-size:13px}.workout-session-bar>button{padding-inline:10px}.guided-workout .tracker-active>header h2{font-size:18px}.workout-ready{padding:16px 12px}}
/* Workout previews show the coach's instructions by default, with one hide action. */
.workout-preview{border-top:1px solid var(--line);padding-top:16px;margin-bottom:20px;min-width:0}.workout-preview-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px}.workout-preview-heading h3{margin:0;font-size:16px;flex:1 1 170px}.workout-preview-heading button{min-height:44px;background:transparent;white-space:nowrap}.workout-instruction-brief{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px;margin-top:16px}.workout-instruction-note{padding:12px;background:var(--sunken);border-radius:8px;min-width:0}.workout-instruction-note:first-child{grid-column:1/-1}.workout-instruction-note h4{font-size:14px;margin:0 0 8px}.workout-preview p{margin:0;line-height:1.6;overflow-wrap:anywhere}.workout-preview p+p{margin-top:8px}.workout-preview-exercises{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:12px}.workout-preview-exercise{border:1px solid var(--line);border-radius:8px;padding:16px;min-width:0;background:var(--panel)}.workout-preview-exercise>header{display:flex;align-items:center;gap:10px}.workout-preview-exercise h4{font-size:15px;margin:0;min-width:0;overflow-wrap:anywhere}.workout-preview-targets{display:flex;flex-wrap:wrap;gap:8px 16px;margin:12px 0 0}.workout-preview-targets>div{display:flex;align-items:baseline;gap:6px}.workout-preview-targets dt{color:var(--muted);font-size:12px}.workout-preview-targets dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}.workout-exercise-guidance{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.instruction-fields{margin:0;display:grid;gap:8px}.instruction-fields>div{display:grid;grid-template-columns:minmax(80px,22%) minmax(0,1fr);gap:8px 12px;min-width:0}.instruction-fields dt{color:var(--muted);font-weight:500;overflow-wrap:anywhere}.instruction-fields dd{margin:0;min-width:0;overflow-wrap:anywhere}.instruction-fields .instruction-fields>div{grid-template-columns:1fr;gap:4px}.instruction-list{padding-left:20px;margin:0;display:grid;gap:8px}.workout-preview-sets{margin-top:12px;min-width:0}.workout-preview h5{font-size:13px;margin:0 0 8px}.workout-preview .table-scroll{margin-top:12px;max-width:100%;border:1px solid var(--line);border-radius:6px}.workout-preview table{font-size:13px;white-space:nowrap}.workout-preview thead{background:var(--sunken)}.workout-preview .coach-sets caption{padding:0 10px;white-space:normal}.workout-preview .coach-sets td[colspan]{white-space:normal}.workout-set-guidance{padding-block:4px}.workout-row-notes{margin-top:12px}#workout-preview-content{animation:workout-instructions-in .18s ease-out}@keyframes workout-instructions-in{from{opacity:.45;transform:translateY(4px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){#workout-preview-content{animation:none}}@media(max-width:480px){.workout-preview-exercise{padding:12px}.workout-instruction-brief{grid-template-columns:minmax(0,1fr)}.workout-preview p,.workout-preview .instruction-fields,.workout-preview .instruction-list{font-size:16px}.workout-exercise-guidance>.instruction-fields>div{grid-template-columns:1fr;gap:4px}.workout-preview-targets{gap:8px 12px}}
/* Exercise comments keep the established compact rhythm and touch targets. */
.exercise-comment{margin-block:16px;border-block-start:1px solid var(--border);padding-block-start:12px;min-width:0}
.exercise-comment label{display:block;margin-block:12px 8px}
.exercise-comment textarea{width:100%;min-height:88px;resize:vertical;font-size:16px;line-height:1.5}
.exercise-comment .actions,#exercise-voice-controls,.exercise-finish-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-block:12px}
.exercise-comment button,.exercise-finish-actions button{min-height:44px;max-width:100%;white-space:normal}
.exercise-comment .muted{font-size:13px;line-height:1.5}
.exercise-comment [role=status]:empty{display:none}
.comment-text{white-space:pre-wrap;overflow-wrap:anywhere}
.comment-summary,.exercise-comments-result article{border:1px solid var(--border);border-radius:10px;padding:12px;margin-block:12px;overflow-wrap:anywhere}
.exercise-comments-result h4{margin:0}
.exercise-finish-actions .tracker-next{margin:0;flex:1 1 12rem;width:auto}
.guided-workout #tracker-exercise-title{scroll-margin-block:80px}
@media(max-width:390px){.exercise-comment .actions button,.exercise-finish-actions button{flex:1 1 100%}}
@media(prefers-reduced-motion:reduce){.guided-workout .tracker-active{animation:none;transition:none}}
.training-library{min-width:0}.library-search{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin-block:16px}.library-search label{margin:0;min-width:0}.library-search label:first-child{flex:1 1 240px}.library-search label:nth-child(2){flex:0 1 220px}.library-search input,.library-search select,.library-search button{min-height:44px;margin:0}.library-search button{flex:0 0 auto}.library-rows{min-width:0}.library-row{display:flex;align-items:center;gap:12px;padding-block:12px;border-bottom:1px solid var(--line)}.library-name{min-width:0;flex:1;overflow-wrap:anywhere}.library-name>strong{font-weight:600}.library-name details{font-size:13px;margin-top:4px}.library-name summary{width:fit-content;min-height:44px;display:flex;align-items:center;color:var(--muted);cursor:pointer}.library-name p{margin-block:6px}.library-row>button,.library-pager button{min-width:64px;min-height:44px;flex:none}.library-count{white-space:nowrap;color:var(--muted);font-size:13px}.library-pager{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding-top:16px}.library-pager>span{font-size:13px;color:var(--muted)}.training-import summary{min-height:44px;cursor:pointer}.training-import textarea{max-width:100%;font-family:monospace}.import-preview{padding-top:16px;border-top:1px solid var(--line)}
#exercise-picker{box-sizing:border-box;width:min(720px,calc(100vw - 24px));height:min(760px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);padding:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text)}#exercise-picker[open]{display:flex;flex-direction:column}#exercise-picker>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);flex:none}#exercise-picker h2{margin:0;font-size:18px}#exercise-picker>header button{min-height:44px}#exercise-picker .library-picker-body{padding:0 16px 16px;overflow:auto;overscroll-behavior:contain;min-height:0;flex:1}#exercise-picker::backdrop{background:#0009}
@media(max-width:600px){.library-search{gap:8px}.library-search input,.library-search select,.training-import textarea,.training-import input{font-size:16px}.library-search label:first-child{flex-basis:100%}.library-search label:nth-child(2){flex:1 1 100%}.library-row{gap:8px}.library-count{display:none}.library-row>button{min-width:56px}.library-pager .actions{gap:8px}#exercise-picker{height:calc(100dvh - 24px);max-height:calc(100dvh - 24px)}#exercise-picker .library-picker-body{padding:0 12px 12px}}


/* Standalone exercise reference screens keep the live logger and scroll intact. */
.exercise-info-links{display:flex;gap:4px 12px;flex-wrap:wrap}
.exercise-info-links button{min-height:44px;background:transparent;border-color:transparent;padding:6px 0}
#workout-info-dialog{box-sizing:border-box;width:min(720px,calc(100vw - 32px));height:min(760px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);max-width:100%;padding:0;overflow:visible}
#workout-info-dialog[open]{display:flex;flex-direction:column}
#workout-info-dialog>header{flex:none;display:flex;align-items:flex-start;flex-direction:column;gap:8px;padding:12px 20px;border-bottom:1px solid var(--line)}
#workout-info-dialog>header button{min-height:44px;min-width:44px;padding:8px 0;border-color:transparent;background:transparent;gap:8px;white-space:normal;text-align:left}
#workout-info-dialog>header h2{font-size:20px;margin:0}
#workout-info-dialog>header p{margin:4px 0 0;color:var(--muted);overflow-wrap:anywhere}
#workout-info-dialog .workout-info-body{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:16px 20px;scroll-padding:8px;border-radius:0 0 10px 10px}
#workout-info-dialog :focus-visible{outline:2px solid var(--text);outline-offset:2px}
#workout-info-dialog .muscle-screen{border:0;padding:0;background:transparent;margin:0}
#workout-info-dialog .muscle-switch button[aria-pressed=true]{color:var(--text)}
#workout-info-dialog .instruction-fields>div{grid-template-columns:minmax(0,1fr);gap:4px}
#workout-info-dialog .instruction-fields p{margin:0;line-height:1.6}
.exercise-log{padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
#workout-info-dialog .exercise-log header{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px}
.exercise-log h3,.exercise-log h4{margin:0;font-size:16px}
.exercise-log>p{margin:4px 0 12px}
.exercise-log>ol{list-style:none;padding:0;margin:0}
.exercise-log>ol>li{padding:10px 0;border-top:1px solid var(--line)}
.exercise-log-values{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 12px;font-variant-numeric:tabular-nums}
.log-set-number{color:var(--muted);min-width:2ch}
.exercise-log>ol>li>p{margin:4px 0 0}
.log-note{margin-top:16px}.log-note>p{margin:6px 0}
@media(max-width:600px){
 #workout-info-dialog{width:100%;height:100dvh;max-height:100dvh;max-width:100%;margin:0;border:0;border-radius:0}
 #workout-info-dialog>header{padding:calc(8px + env(safe-area-inset-top,0px)) 16px 12px}
 #workout-info-dialog .workout-info-body{padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px));border-radius:0}
}
@media(max-width:320px){#workout-info-dialog .muscle-content{grid-template-columns:minmax(0,1fr)}}
/* Set logger: compact controls with independent type counts and a stable tempo editor. */
.ss-set-logger .set-table-head,.ss-set-logger .set-table-fields{grid-template-columns:60px minmax(44px,1fr) minmax(52px,1.25fr) minmax(44px,.85fr) 44px 44px;gap:4px}
.ss-set-logger .set-table-head.set-nonlifting,.ss-set-logger .set-table-fields.set-nonlifting{grid-template-columns:60px minmax(64px,1fr) minmax(44px,.85fr) 44px 44px}
.ss-set-logger .set-number[data-tracker=table-details]{width:60px;white-space:nowrap;font-size:13px;color:var(--cyan);border:1px solid var(--line);border-radius:6px;text-decoration:none;padding:4px}
.ss-set-logger .set-cell input::placeholder{font-size:13px;color:var(--muted);opacity:1}
.ss-set-logger .set-target-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px;align-items:center;margin-top:6px}
.ss-set-logger .set-target-line>small{color:var(--muted);font-size:11px;line-height:1.35}
.ss-set-logger .set-tempo-fields{display:flex;gap:3px;align-items:center;min-width:0}
.ss-set-logger .set-tempo-fields>span{font-size:11px;color:var(--muted);margin-right:2px}
.client-workout .ss-set-logger .tempo-digit{width:32px;min-width:32px;min-height:44px;padding:4px 0;text-align:center;border:1px solid var(--line);border-radius:5px;background:var(--panel);color:var(--text);font-size:15px;font-variant-numeric:tabular-nums}
.ss-set-logger .tempo-digit:hover,.ss-set-logger .tempo-digit:focus-visible{border-color:var(--cyan);color:var(--cyan)}
.ss-set-logger .set-reset-action{font-size:11px;max-width:50px;min-height:44px;padding:4px;white-space:normal}
.ss-set-logger .set-reset-action[hidden]{display:none!important}
#client-tempo-dialog{box-sizing:border-box;width:min(460px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:20px;overflow:auto;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:12px}
#client-tempo-dialog::backdrop{background:rgba(0,0,0,.6);backdrop-filter:blur(4px)}
#client-tempo-dialog form{margin:0;display:grid;gap:16px;min-width:0}
#client-tempo-dialog header,#client-tempo-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
#client-tempo-dialog h2{font-size:22px;margin:0}
#client-tempo-dialog header p{font-size:14px;color:var(--muted);margin:4px 0 0}
#client-tempo-dialog button{min-height:44px;max-width:100%}
#client-tempo-dialog .muted,#client-tempo-dialog .tempo-prescribed{font-size:13px;line-height:1.5;overflow-wrap:anywhere}
#client-tempo-dialog .tempo-phase-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:18px 0}
#client-tempo-dialog .tempo-phase-grid label{display:grid;grid-template-rows:36px 52px auto;gap:8px;margin:0;min-width:0}
#client-tempo-dialog .tempo-phase-grid label>span{font-size:12px;line-height:1.4;color:var(--text)}
#client-tempo-dialog .tempo-phase-grid input{width:100%;min-width:0;height:52px;margin:0;text-align:center;font-size:22px;padding:4px;box-sizing:border-box;font-variant-numeric:tabular-nums}
#client-tempo-dialog .tempo-phase-grid small{font-size:11px;line-height:1.5;color:var(--muted)}
#client-tempo-dialog [data-tempo-error][hidden]{display:none}
#client-tempo-dialog footer{padding-top:12px;border-top:1px solid var(--line)}
@media(max-width:600px){#client-tempo-dialog{margin:auto auto 0;max-height:85dvh;width:100%;max-width:100%;border-radius:16px 16px 0 0;padding:20px 16px calc(20px + env(safe-area-inset-bottom))}}
@container(max-width:310px){.ss-set-logger .set-table-head,.ss-set-logger .set-table-head.set-nonlifting{display:grid;grid-template-columns:repeat(2,minmax(44px,1fr));gap:6px}.ss-set-logger .set-table-head>span{display:none}.ss-set-logger .set-table-fields,.ss-set-logger .set-table-fields.set-nonlifting{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.ss-set-logger .set-mobile-label{display:block;font-size:11px}.ss-set-logger .set-number{grid-column:auto;align-self:end}.ss-set-logger .set-number::before{content:none}.ss-set-logger .set-rest,.ss-set-logger .set-done{flex-direction:column;gap:4px}.ss-set-logger .set-target-line{grid-template-columns:minmax(0,1fr) auto}.ss-set-logger .set-tempo-fields>span{display:none}.ss-set-logger .set-reset-action{grid-column:2;justify-self:end}}
@media(prefers-reduced-motion:reduce){#client-tempo-dialog{scroll-behavior:auto}}

.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}
.coach-shell{grid-template-columns:188px minmax(0,1fr)}.coach-shell .rail{gap:20px;padding:16px 10px;background:var(--rail);overflow-y:auto}.coach-shell .brand{width:130px;height:42px;flex-shrink:0;background:#07111b;border-radius:5px;padding:4px;box-sizing:content-box}.coach-shell .rail nav{gap:3px}.coach-shell .rail nav button{min-height:38px;padding:7px 9px;font-size:14px;white-space:normal;text-align:left}.nav-group{font-size:12px;color:var(--muted);padding:16px 10px 6px;border-top:1px solid var(--line);margin-top:10px}.rail-account small{display:block}.collapsed .nav-group{display:none}.coach-shell.collapsed .brand{width:36px;object-fit:contain;padding:2px}.workspace{max-width:none;padding:0}.workspace-topbar{height:58px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);background:var(--panel)}.breadcrumb{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:14px}.breadcrumb strong{color:var(--text);font-weight:500}.workspace-body{padding:26px 28px;max-width:1580px;margin:auto}.workspace-body>.heading{margin-bottom:24px}.workspace-body h1{font-size:26px}.coach-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 22px}.coach-title h2{font-size:27px;margin:0 0 5px}.coach-title .actions{margin:0}.coach-metadata{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;padding:7px 0;margin:0 0 20px}.coach-metadata summary{font-size:13px;color:var(--muted);display:list-item;padding:5px 0}.coach-metadata[open]{padding-bottom:16px}.coach-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px;align-items:start}.coach-outline{border:1px solid var(--line);border-radius:7px;overflow:hidden;background:var(--panel)}.coach-outline>input{margin:10px;width:calc(100% - 20px);background:var(--panel);font-size:14px}.coach-outline>small{display:block;margin:10px 12px}.coach-outline>button{width:100%;border:0;border-top:1px solid var(--line);border-radius:0;justify-content:flex-start;text-align:left;background:transparent;padding:14px 12px;gap:14px;white-space:normal;min-height:62px}.coach-outline>button>span:first-child{font-variant-numeric:tabular-nums;color:var(--muted);font-size:13px}.coach-outline small,.coach-sets small,.nutrition-workspace td small{display:block;font-size:12px;color:var(--muted);margin-top:3px}.coach-outline>button[aria-pressed=true]{background:var(--accent-soft);box-shadow:inset 3px 0 var(--blue)}.coach-outline>button[aria-pressed=true]>span:last-child{font-weight:600}.coach-outline>button:hover{background:var(--accent-soft)}.coach-detail{border:1px solid var(--line);border-radius:7px;padding:20px;min-width:0;background:var(--panel)}.coach-detail>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.coach-detail h2{font-size:21px}.coach-detail>header button{font-size:13px;background:transparent;border-color:transparent}.coach-sets{min-width:630px}.coach-sets caption{font-size:12px}.coach-sets th{font-weight:500;font-size:12px;background:var(--sunken);color:var(--muted);white-space:nowrap}.coach-sets td{padding:14px 9px;font-size:14px}.coach-sets th button{font-size:12px;border:0;padding:0;min-height:30px;background:transparent}.coach-sets td button{border:0;background:transparent;color:var(--cyan);font-size:13px}.coach-sets abbr{text-decoration:none}.coach-detail>[data-coach-set]{background:transparent;color:var(--cyan);border-color:transparent;margin-top:12px}.coach-footnote{font-size:12px;color:var(--muted);margin:26px 0 4px}.session-switch{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.session-switch label{min-width:200px;margin-right:auto}.coach-preview-entry{text-align:center;margin:0 auto 30px}.coach-preview-entry p{font-size:12px}.coach-builder input:invalid:not(:placeholder-shown){outline-offset:1px}dialog{color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:10px;width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 32px);padding:24px;overflow:auto;box-shadow:0 16px 60px #0003}dialog::backdrop{background:#07111b88}dialog[open]{animation:coach-open .18s ease-out}dialog header{display:flex;justify-content:space-between;align-items:center;gap:12px}dialog header h2{font-size:23px;margin-bottom:12px}dialog footer{display:flex;justify-content:flex-end;gap:8px;position:sticky;bottom:-24px;padding:16px 0;background:var(--panel);border-top:1px solid var(--line);margin-top:20px}dialog #set-error{color:var(--danger-ink);padding:10px;background:var(--danger-bg)}.modifier-options{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}.modifier-options label{font-size:14px;min-height:36px;color:var(--text)}.modifier-options input{width:17px;height:17px;flex:none}dialog [data-modifier-fields]{padding:5px 0 10px}dialog .muted{font-size:13px}#coach-info{padding:8px 0 18px;margin-bottom:12px;border-bottom:1px solid var(--line)}.nutrition-workspace{max-width:1140px}.nutrition-workspace .coach-title h2{font-size:21px}.nutrition-workspace .local-notice{border-left:3px solid var(--blue);padding:8px 12px;background:var(--accent-soft);font-size:13px;margin-bottom:20px}.catalog-upload{font-size:13px;margin-left:auto;max-width:320px}.nutrition-workspace form{max-width:640px;margin-bottom:24px}.nutrition-workspace .toolbar>button[aria-pressed=true]{border-color:var(--blue);color:var(--cyan)}.nutrition-workspace th{font-size:12px;color:var(--muted)}.nutrition-workspace td{font-size:14px}.nutrition-workspace>label{max-width:440px}.coach-shell .panel{border-radius:7px}.coach-shell .stats{gap:16px}.coach-shell .stat strong{font-size:25px}.coach-shell .stat{background:var(--panel);border-radius:7px}
@keyframes coach-open{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.coach-layout{grid-template-columns:200px minmax(0,1fr);gap:14px}.workspace-body{padding:22px 20px}.coach-detail{padding:16px}.coach-title h2{font-size:24px}}
@media(max-width:760px){.coach-shell,.coach-shell.collapsed{display:block}.coach-shell .rail{position:static;height:auto;padding:10px 12px;gap:10px;overflow:visible}.coach-shell .brand{width:120px;height:36px}.coach-shell .rail nav{display:flex;overflow-x:auto;max-width:100%;padding-bottom:4px;gap:4px}.coach-shell .rail nav button{min-width:max-content;min-height:44px}.coach-shell .nav-group,.coach-shell .rail-account{display:none}.coach-shell .rail-bottom{margin:0;display:flex;justify-content:flex-end}.coach-shell .rail-collapse{display:none}.coach-shell .rail-bottom>button{min-height:44px}.workspace-topbar{height:auto;min-height:54px;padding:10px 14px;flex-wrap:wrap}.workspace-body{padding:20px 14px 36px}.workspace-body h1{font-size:23px}.coach-title{align-items:flex-start;gap:12px;flex-wrap:wrap}.coach-title h2{font-size:24px}.coach-title .actions{width:100%}.coach-title .actions button{flex:1;min-height:44px}.coach-layout{grid-template-columns:1fr}.coach-outline{display:flex;overflow-x:auto;align-items:stretch;gap:0;padding:8px}.coach-outline>input,.coach-outline>small{display:none}.coach-outline>button{min-width:145px;width:auto;max-width:210px;flex:none;min-height:56px;border-top:0;border-right:1px solid var(--line);padding:8px 12px;border-radius:4px;white-space:normal}.coach-outline>button:last-child{min-width:110px}.coach-outline>button>span:first-child{display:none}.coach-detail{padding:14px}.coach-detail>header{flex-wrap:wrap}.coach-detail>header button{min-height:44px;padding:5px 0}.coach-detail h2{font-size:20px}.coach-sets{min-width:600px}.coach-sets td button,.coach-sets th button{min-height:44px}.coach-footnote{font-size:13px}.catalog-upload{margin-left:0;max-width:100%;width:100%}.nutrition-workspace .toolbar{align-items:stretch}.nutrition-workspace .toolbar>button{flex:1}.nutrition-workspace td{min-width:85px}.modifier-options{grid-template-columns:1fr 1fr}.modifier-options label{min-height:44px}dialog{padding:18px;max-height:calc(100dvh - 24px)}dialog footer{bottom:-18px}dialog input,dialog select,dialog textarea{font-size:16px;min-height:44px}dialog input[type=checkbox]{min-height:18px}dialog .form-grid{grid-template-columns:1fr 1fr}dialog button{min-height:44px}.collapsed .nav-text{display:initial}.coach-shell.collapsed .brand{width:120px}.breadcrumb{font-size:13px}}
@media(prefers-reduced-motion:reduce){dialog[open]{animation:none}.layout{transition:none}}

/* Midnight: the identity belongs to the rail, not a contrasting logo tile. */
.set-rest-custom,.set-control-hint{grid-column:1/-1}
.set-control-hint{color:var(--muted);font-size:13px}
.tempo-phases{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.tempo-preview{display:flex;gap:12px;align-items:center;margin:8px 0 12px;color:var(--muted)}
.tempo-preview output{font-size:18px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text);letter-spacing:.04em}
.tracker-rest .actions{align-items:flex-end}.tracker-rest .actions label{margin:0;min-width:112px}
@media(max-width:430px){.tempo-phases{grid-template-columns:repeat(2,minmax(0,1fr))}.tracker-rest select{min-height:44px;font-size:16px}}
.coach-detail>.table-scroll{position:relative}
.muscle-details{margin:12px 0;border:1px solid var(--line);border-radius:7px;background:var(--panel);padding:0 12px}
.muscle-details>summary{padding:12px 0;font-size:14px;font-weight:500;min-height:44px;box-sizing:border-box;cursor:pointer}
.muscle-content{display:grid;grid-template-columns:minmax(120px,180px) minmax(0,1fr);gap:20px;padding:8px 0 16px;align-items:center;animation:muscle-reveal .16s ease-out}
.muscle-visual{min-width:0;background:var(--sunken);border:1px solid var(--line);border-radius:7px;padding:10px}
.muscle-switch{display:flex;gap:8px;justify-content:center;margin-bottom:12px}
.muscle-switch button{flex:1;min-height:44px;padding:6px 8px;font-size:14px;background:transparent}
.muscle-switch button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--cyan);color:var(--cyan);font-weight:600}
.muscle-view{margin:0;animation:muscle-reveal .16s ease-out}.muscle-view[hidden]{display:none}
.muscle-view svg{display:block;width:100%;height:285px;margin:auto;overflow:visible}
.muscle-view figcaption{font-size:12px;line-height:1.5;color:var(--muted);text-align:center;margin-top:8px}
.muscle-region{stroke:var(--sunken);stroke-width:5;stroke-linejoin:round}
.muscle-neutral{fill:var(--line)}.muscle-primary{fill:var(--cyan)}
.muscle-secondary{fill:var(--panel);fill:color-mix(in srgb,var(--cyan) 38%,var(--panel));stroke:var(--cyan);stroke-width:7;stroke-dasharray:15 8}
.muscle-key{min-width:0}.muscle-key h3{font-size:15px;margin:0 0 18px}
.muscle-label{display:flex;gap:10px;align-items:flex-start;margin:0 0 16px;font-size:14px}
.muscle-label strong{font-size:13px;font-weight:500;color:var(--muted)}.muscle-label p{margin:4px 0 0;line-height:1.55;overflow-wrap:anywhere}
.muscle-swatch{width:13px;height:13px;flex:none;margin-top:3px;border-radius:3px;box-sizing:border-box}
.muscle-swatch.primary{background:var(--cyan)}.muscle-swatch.secondary{background:var(--panel);background:color-mix(in srgb,var(--cyan) 38%,var(--panel));border:2px dashed var(--cyan)}
.muscle-note{font-size:13px;line-height:1.6;color:var(--muted);max-width:37ch;margin:20px 0 0}
.coach-outline>button[data-coach-exercise]{min-height:44px;padding:12px;align-items:center}
@keyframes muscle-reveal{from{opacity:.4;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:430px){.muscle-content{grid-template-columns:minmax(105px,130px) minmax(0,1fr);gap:12px}.muscle-visual{padding:8px}.muscle-view svg{height:235px}.muscle-key h3{font-size:14px}.muscle-switch{gap:8px}.muscle-switch button{padding:4px;min-width:44px}.muscle-note{grid-column:1/-1}.muscle-label{gap:7px}.muscle-label p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.muscle-content,.muscle-view{animation:none}}
[data-theme=dark] .coach-shell .brand{background:transparent;padding:0;border-radius:0}
[data-theme=dark] .workspace-topbar{background:var(--base)}
.workspace-topbar .badge{border:0;color:var(--muted);font-size:12px}
.workspace-body>.heading{margin-bottom:20px}.coach-title h2{font-size:25px;letter-spacing:-.025em}
.rail nav button[aria-current=page]{border-color:transparent}.coach-shell .rail{gap:22px}
.coach-detail{padding:20px 22px}.coach-sets th{background:transparent}.coach-sets td{padding:17px 9px}
.coach-sets td:nth-child(2) abbr{display:inline-flex;align-items:center;justify-content:center;min-width:30px;min-height:27px;border:1px solid var(--line);border-radius:4px;font-size:12px;color:var(--text)}
.coach-outline>button{border-top-color:transparent;min-height:65px}.coach-outline>button[aria-pressed=true]{box-shadow:inset 2px 0 var(--cyan)}
.tracker-previous>svg{display:block;width:100%;max-height:245px}.tracker-previous>summary{font-weight:500}.tracker-previous h3{margin-top:16px}
.history-controls{display:flex;gap:12px;flex-wrap:wrap}.history-controls label{flex:1;min-width:140px}.history-stat{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;margin:10px 0}.history-stat strong{font-size:22px}.history-stat span{color:var(--muted);font-size:12px}
.unit-heading{display:inline-flex;padding:2px 8px;min-height:28px;width:max-content;font-size:12px;color:var(--cyan);background:var(--accent-soft);vertical-align:middle}
.tracker-load>div{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:32px}.tracker-load label{margin:0}.tracker-load input{width:100%}.tracker-fields .unit-heading{position:static}
.demo-role-switch{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:18px;font-size:13px;color:var(--muted)}.demo-role-switch button[aria-pressed=true]{color:var(--cyan);border-color:var(--cyan)}
.tracker-previous svg .axis{fill:none;stroke:var(--muted);stroke-width:1}.tracker-previous svg .line{fill:none;stroke:var(--cyan);stroke-width:3}.tracker-previous svg .point{fill:var(--cyan)}.tracker-previous svg text{fill:var(--muted);font-size:12px}
.tracker-prescription{margin-top:12px}.tracker-prescription>summary{font-size:14px}.tracker-active{border-radius:7px}.tracker-previous{border:1px solid var(--line)}
.nutrition-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}.nutrition-stats>div{padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:7px}.nutrition-stats strong{display:block;font-size:27px;font-variant-numeric:tabular-nums;margin:4px 0}.nutrition-stats span,.nutrition-stats small{font-size:12px;color:var(--muted)}.nutrition-stats progress{display:block;width:100%;height:5px;margin-top:14px;accent-color:var(--cyan)}
.nutrition-journal-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.nutrition-journal-heading label{min-width:160px}.nutrition-journal-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:18px}.nutrition-meal{padding:18px 0;border-bottom:1px solid var(--line)}.nutrition-meal:last-child{border:0}.nutrition-meal h3{margin:5px 0;font-size:16px}.nutrition-log{display:flex;align-items:flex-end;gap:10px;margin-top:12px}.nutrition-log label{margin:0;max-width:190px}.nutrition-log button{min-height:42px}.nutrition-delivery{margin-top:24px}.nutrition-delivery fieldset,.client-control-form fieldset{padding:0;border:0}.capability-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.capability-grid label{min-height:40px;gap:10px}.capability-grid input{width:18px;height:18px}.client-control-form{padding:8px 0 12px}
.tracker-rest{background:var(--sunken);padding:14px;border-radius:7px;margin-top:20px}.tracker-review{margin-top:20px}.tracker-review>button{margin:6px 0 16px}
@media(max-width:760px){.coach-detail{padding:14px}.coach-sets td{padding:12px 9px}.nutrition-stats{grid-template-columns:1fr 1fr;gap:10px}.nutrition-stats>div{padding:12px}.nutrition-stats strong{font-size:24px}.nutrition-journal-grid{grid-template-columns:1fr;gap:0}.nutrition-journal-heading{align-items:flex-start;flex-wrap:wrap}.nutrition-journal-heading label{width:100%;margin-bottom:18px}.capability-grid{grid-template-columns:1fr}.nutrition-log{flex-wrap:wrap}.nutrition-log label{max-width:none;flex:1;min-width:130px}.nutrition-log button{min-height:44px}.unit-heading{min-height:44px;top:-6px!important}.tracker-fields label:has(.unit-heading){padding-top:12px}.tracker-fields .unit-heading+input{margin-top:7px}}
.execution-editor{min-width:0;border:1px solid var(--line);padding:12px;margin-top:12px}
.execution-editor>summary{min-height:44px;display:list-item;align-content:center;cursor:pointer;font-weight:500}
.execution-editor[open]>:not(summary){animation:muscle-reveal .16s ease-out}
.rep-style .form-grid>div{min-width:0}.rep-style select{width:100%}
.clock-field{grid-column:1/-1;min-width:0}.clock-control{display:flex;gap:8px;align-items:center}.clock-control input{min-width:0;flex:1;font-variant-numeric:tabular-nums}.clock-control select{width:110px;flex:none}
.rep-target{min-width:0}.rep-target>span{display:block;margin-bottom:6px;font-size:14px;color:var(--muted)}.rep-target small{display:block;margin-top:6px;color:var(--muted);font-size:12px}.rep-range{display:flex;align-items:center;gap:8px}.rep-range input{min-width:0;width:100%;font-variant-numeric:tabular-nums}.rep-range>span{color:var(--muted)}
.load-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px}.load-heading label{margin:0}.weight-toggle{display:flex;gap:4px;margin-left:auto;flex:none}.weight-toggle button{padding:4px 8px;min-width:42px;min-height:34px;font-size:13px;background:transparent}.weight-toggle button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--cyan);color:var(--cyan);font-weight:600}.set-load>input{width:100%}.tracker-fields .tracker-load{grid-column:1/-1}.tracker-load>div{margin-bottom:5px}.tracker-rest .clock-field{flex:1;max-width:320px}.tracker-rest .clock-control{margin-top:6px}
@media(max-width:760px){.weight-toggle{gap:8px}.weight-toggle button{min-width:44px;min-height:44px;font-size:16px}.clock-control select{width:110px}.clock-control input,.clock-control select{font-size:16px;min-height:44px}dialog .set-load,dialog .rep-target{grid-column:1/-1}.rep-range{gap:12px}.tracker-rest .clock-field{width:100%;flex-basis:100%;max-width:none}}
@media(max-width:430px){.rep-style .form-grid,dialog .rep-style .form-grid{grid-template-columns:minmax(0,1fr)}}
#coach-defaults-dialog{width:min(660px,90vw);max-height:85dvh;overflow:auto;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:22px}
#coach-defaults-dialog header,#coach-defaults-dialog footer{display:flex;gap:12px;align-items:center;justify-content:space-between}
#coach-defaults-dialog h2{font-size:20px;margin:0}#coach-defaults-dialog footer{margin-top:18px}
#coach-defaults-dialog::backdrop{background:rgb(0 0 0 / .65)}
@media(max-width:760px){.execution-editor input,.execution-editor select,#coach-defaults-dialog input,#coach-defaults-dialog select{min-height:44px;font-size:16px}#coach-defaults-dialog{padding:16px;width:calc(100vw - 40px)}}
@media(prefers-reduced-motion:reduce){.execution-editor[open]>:not(summary){animation:none}}

/* Phone editing: reserve safe edges without reducing type or tap targets. */
@media(max-width:760px){
  .coach-shell .rail{padding-top:calc(10px + env(safe-area-inset-top,0px));padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px))}
  .workspace-body{padding-left:max(14px,env(safe-area-inset-left,0px));padding-right:max(14px,env(safe-area-inset-right,0px));padding-bottom:calc(36px + env(safe-area-inset-bottom,0px))}
  .tracker-demo{padding-top:calc(16px + env(safe-area-inset-top,0px));padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px))}
  #coach-set-dialog,#coach-defaults-dialog{width:calc(100% - 16px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));max-width:560px;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));padding:16px;overscroll-behavior:contain;scroll-padding-bottom:88px}
  #coach-set-dialog header h2{margin-bottom:0}
  #coach-set-dialog header{margin-bottom:16px}
  #coach-set-dialog footer,#coach-defaults-dialog footer{bottom:-16px;padding:12px 0;gap:8px;z-index:1}
  #coach-set-dialog footer button,#coach-defaults-dialog footer button{flex:1;min-width:44px}
  #coach-set-dialog input,#coach-set-dialog select,#coach-set-dialog textarea,#coach-defaults-dialog input,#coach-defaults-dialog select{scroll-margin-bottom:88px}
  .clock-control input{letter-spacing:.02em}
}
@media(max-width:360px){
  #coach-set-dialog .form-grid,.modifier-options{grid-template-columns:minmax(0,1fr)}
}

/* Shared form rhythm: labels, controls and hints occupy separate rows.
   Reserve the same heading slot for neighbours, including the kg/lb toggle.
   Never align by the bottom of a whole field: helper text would move its input. */
:root{--field-heading-size:3.1em;--field-control-size:44px;--field-gap:6px}
.form-grid,.tracker-fields,.exercise-fields{gap:12px}
:is(.form-grid,.tracker-fields,.exercise-fields,.tempo-phases)>label:not(:has(input[type=checkbox])),
.rep-style .form-grid>div>label{
  min-width:0;margin:0;display:grid;grid-template-rows:minmax(var(--field-heading-size),auto) auto;
  gap:var(--field-gap);align-items:center;align-content:start
}
:is(.form-grid,.tracker-fields,.exercise-fields,.tempo-phases) :is(input:not([type=checkbox]):not([type=hidden]),select),
.clock-control :is(input,select){min-height:var(--field-control-size)}
.rep-target,.set-load{
  min-width:0;margin:0;display:grid;grid-template-rows:minmax(var(--field-heading-size),auto) auto;
  gap:var(--field-gap);align-content:start
}
.rep-target>span{
  display:flex;align-items:center;min-height:var(--field-heading-size);margin:0;
  font-size:inherit;line-height:inherit
}
.rep-target small{margin:0;line-height:1.5}
.rep-range{min-height:var(--field-control-size)}
.load-heading{min-height:var(--field-heading-size);margin:0}
.clock-field>label{margin:0 0 var(--field-gap)}
.clock-field{margin:0}
#coach-set-dialog .set-control-hint{margin:0}
.execution-editor :is(.rep-style,.tempo-editor,.form-grid,[data-finisher-fields]){min-width:0;max-width:100%}
.execution-editor .form-grid{margin-top:8px}
.execution-editor :is(input,select,textarea){min-width:0;max-width:100%}
#coach-set-dialog fieldset{min-inline-size:0;padding:8px 12px 12px}
.modifier-options{align-items:stretch;gap:8px 12px}
.modifier-options label{
  justify-content:center;align-items:center;gap:8px;margin:0;padding:8px;
  min-height:44px;min-width:0;text-align:center;line-height:1.5;
  border:1px solid var(--line);border-radius:6px;background:var(--sunken)
}
.modifier-options label:has(input:checked){border-color:var(--cyan);background:var(--accent-soft)}
.modifier-options input[type=checkbox]{width:18px;height:18px;min-height:18px;margin:0;padding:0;flex:none}
.modifier-options label:focus-within{outline:3px solid var(--cyan);outline-offset:3px}
@media(max-width:760px){
  #coach-set-dialog .form-grid>label,#coach-set-dialog .rep-style .form-grid>div>label,.rep-target,.set-load{font-size:15px}
}

/* Bounded values get bounded widths; prose and unknown legacy values may wrap.
   Keep the shared control baseline and 44px targets rather than shrinking type. */
.set-core-fields{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px 16px;--field-heading-size:1.55em}
.set-core-fields>*,.compact-field{flex:none;min-width:0;max-width:100%}
.set-core-fields :is(input:not([type=hidden]),select),.compact-tracker-fields :is(input,select){padding-block:8px}
.compact-field,.rest-field{display:grid;align-content:start;gap:var(--field-gap)}
.compact-field>label{min-height:var(--field-heading-size);display:flex;align-items:center;margin:0;font-size:inherit;line-height:inherit}
.set-core-fields .set-type-field{width:7ch;min-width:76px}
.set-type-field small{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.rep-range{gap:8px}.rep-range input,.compact-reps{width:calc(4ch + 30px);flex:none}
.compact-field input[type=number]{font-variant-numeric:tabular-nums}
.load-control,.effort-control{display:flex;gap:8px;align-items:center;max-width:100%}
.load-control input{width:calc(7ch + 30px)}
.effort-control input{width:calc(4ch + 30px)}
.set-core-fields .weight-toggle,.effort-control .weight-toggle{margin:0;gap:8px}
.set-core-fields .weight-toggle button,.effort-control .weight-toggle button{min-width:44px;min-height:44px;font-size:inherit}
.clock-field{grid-column:auto;width:max-content;max-width:100%}
.clock-control{display:flex;align-items:center;gap:0;width:max-content;max-width:100%;box-shadow:inset 0 0 0 1px var(--line);border-radius:6px;background:var(--sunken)}
.clock-control input{flex:none;width:calc(6ch + 20px);min-height:44px;border:0;background:transparent}
.clock-arrows{display:flex;gap:8px;padding:0 4px}
.clock-arrows button{min-width:44px;width:44px;min-height:44px;padding:0;border:0;background:transparent}
.rest-field .set-control-hint{max-width:220px;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.tracker-rest .actions{align-items:flex-end}
.tracker-rest .clock-field{flex:none;width:max-content;max-width:100%;--field-heading-size:1.55em}
.tracker-rest .clock-control{margin:0}
.compact-tracker-fields{display:flex;flex-wrap:wrap;gap:12px 16px;--field-heading-size:1.55em;align-items:flex-start}
.compact-tracker-fields>label{width:max-content;max-width:100%}
.compact-tracker-fields input[type=number]{width:calc(7ch + 30px)}
.compact-tracker-fields input[name=reps]{width:calc(4ch + 30px)}
.compact-tracker-fields>.tracker-load{width:100%;flex-basis:100%}
.compact-tracker-fields>.tracker-load input{width:calc(7ch + 30px)}
.modifier-options label{position:relative;justify-content:center;padding:10px 26px;cursor:pointer;color:var(--text)}
.modifier-options input[type=checkbox]{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}
.modifier-options label:has(input:checked)::after{content:'✓';position:absolute;right:8px;top:50%;transform:translateY(-50%);color:var(--cyan);font-weight:600}
/* Reserve the editor frame before disclosure. Modifier fields scroll inside it;
   only viewport/safe-area changes may resize it, never a selected option. */
#coach-set-dialog{
  box-sizing:border-box;
  block-size:min(720px,calc(100vh - 32px));
  block-size:min(720px,calc(100dvh - 32px));
  overflow-y:auto;
  scrollbar-gutter:stable;
  overscroll-behavior:contain
}
@media(max-width:760px){
  #coach-set-dialog{
    block-size:min(720px,calc(100vh - 24px));
    block-size:min(720px,calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)))
  }
  .set-core-fields,.compact-tracker-fields{gap:12px;font-size:15px;--field-heading-size:1.55em}
  .set-core-fields .weight-toggle button,.effort-control .weight-toggle button{font-size:16px}
  .tracker-rest .clock-field{flex-basis:auto}
}

/* Client daily workspace: existing brand tokens and fixed, accessible controls. */
.client-mobile-nav,.client-mobile-brand{display:none}
.client-shell .brand,.client-mobile-brand img{background:#07111b;border-radius:5px}
.client-shell .rail{overflow-y:auto}
.client-shell .rail nav button{min-height:44px}
.client-shell .workspace-body{max-width:1320px;padding:24px}
.client-shell .workspace-topbar{min-height:64px;height:auto}
.client-shell .workspace-topbar button{min-height:44px;min-width:44px}
.client-shell .workspace-body>.heading{margin-bottom:20px}
.client-hub{min-width:0}
.client-welcome{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}
.client-welcome h1{font-size:26px;line-height:1.2;margin:6px 0 8px;letter-spacing:-.035em}
.client-welcome p{margin:0}
.client-welcome>div{min-width:0;overflow-wrap:anywhere}
.client-training-views{margin-bottom:16px}
.client-training-views button{min-height:44px}
.client-welcome>button{min-height:44px;flex:none}
.client-hub-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr);gap:20px;align-items:start}
.client-hub-main,.client-hub-side{min-width:0}
.client-hub .panel,.client-training .panel{padding:20px;margin-bottom:20px;border-radius:12px}
.client-hub h2,.client-training h2{font-size:17px;margin:0;letter-spacing:-.015em}
.client-hub h3,.client-training h3{font-size:16px;margin:0}
.client-hub .section-heading,.client-training .section-heading{align-items:center;gap:12px;margin-bottom:16px}
.client-hub .section-heading button,.client-training .section-heading button{background:transparent;min-height:44px;font-size:13px}
.client-session-card{border:1px solid var(--line);border-radius:9px;padding:16px;margin-top:12px;background:var(--sunken);min-width:0}
.client-session-card.featured{border:0;background:transparent;padding:0;margin:0}
.client-session-card.featured h3{font-size:22px;line-height:1.25;letter-spacing:-.025em}
.client-session-card h3,.client-session-card p{overflow-wrap:anywhere}
.client-session-card p{font-size:14px;margin:6px 0 14px}
.client-session-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-bottom:12px}
.client-session-meta .logged{background:var(--success-bg);color:var(--success-ink)}
.client-session-action{display:flex;justify-content:flex-end}
.client-session-action button{min-height:44px;max-width:100%;white-space:normal}
.client-session-card.featured .client-session-action button{width:100%;margin-top:16px}
.client-exercise-preview{padding:0;margin:16px 0 0;list-style:none;border-top:1px solid var(--line)}
.client-exercise-preview li{display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}
.client-exercise-preview li>span:last-child{min-width:0;overflow-wrap:anywhere}
.client-exercise-index{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex:none;color:var(--muted);background:var(--sunken);border-radius:6px;font-variant-numeric:tabular-nums;font-size:12px}
.client-week-actions{display:flex;gap:4px;flex-wrap:wrap}
.client-week-actions button{padding:8px;min-height:44px}
.client-week-caption{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:12px;font-size:13px}
.client-week-caption>span{color:var(--muted)}
.client-week-days{display:grid;grid-template-columns:repeat(7,minmax(44px,1fr));gap:4px;padding:3px;overflow-x:auto;scroll-padding:3px}
.client-week-days>button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px 3px;min-width:44px;min-height:84px;background:var(--sunken);font-variant-numeric:tabular-nums}
.client-week-days>button>span,.client-week-days>button>small{font-size:12px;color:var(--muted)}
.client-week-days>button>strong{font-size:17px;font-weight:600}
.client-week-days>button[aria-pressed=true]{border-color:var(--cyan);background:var(--accent-soft);box-shadow:inset 0 -3px var(--cyan)}
.client-week-days>button[aria-current=date]>strong{color:var(--text);text-decoration:underline;text-underline-offset:4px}
.client-week-key{font-size:12px;margin:10px 0 18px}
.client-week-total{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.client-week-total>strong{font-size:34px;line-height:1;font-variant-numeric:tabular-nums}
.client-week-total>span{font-size:14px;color:var(--muted)}
.client-consistency progress{width:100%;height:8px;accent-color:var(--cyan)}
.client-consistency>.muted,.client-nutrition-card>.muted{font-size:13px;line-height:1.5;margin:12px 0 0}
.client-nutrition-card .nutrition-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0}
.client-nutrition-card .nutrition-stats>div{padding:0;background:transparent;border:0;min-width:0}
.client-nutrition-card .nutrition-stats>div:first-child{grid-column:1/-1;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:2px}
.client-nutrition-card .nutrition-stats strong{font-size:22px}
.client-nutrition-card .nutrition-stats>div:first-child strong{font-size:30px}
.client-nutrition-card .nutrition-stats small{font-size:12px;white-space:normal}
.client-nutrition-card .nutrition-stats progress{height:6px;margin-top:8px}
.client-recent-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.client-recent-row>div{min-width:0;flex:1;overflow-wrap:anywhere}
.client-recent-row strong{display:block;font-size:14px}
.client-recent-row span{display:block;font-size:12px;color:var(--muted);margin-top:4px}
.client-recent-row button{min-height:44px;flex:none}
.client-hub .empty,.client-training .empty{padding:4px 0;line-height:1.5;margin:12px 0}
.client-sample-note{border-left:3px solid var(--cyan);padding:10px 12px;background:var(--accent-soft);font-size:13px;margin:0 0 20px;line-height:1.5}
.client-training{max-width:860px;margin-inline:auto}
.client-account-actions{display:flex;justify-content:flex-end;margin-bottom:16px}
.client-workout .tracker-set-row{background:var(--success-bg);border:1px solid var(--line);border-radius:8px;margin-block:8px;padding:10px 12px}
.client-workout .tracker-set-row .set-completed{color:var(--success-ink)}
.client-workout .tracker-set-row>span>strong{font-size:14px}
@media(max-width:1000px){.client-hub-grid{grid-template-columns:minmax(0,1fr)}.client-hub-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.client-hub-side>.panel{margin:0}.client-hub-side>.client-recent{grid-column:1/-1}}
@media(max-width:760px){
  #app .client-shell{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;min-height:0;height:100%;overflow:hidden}
  .client-shell>.rail{display:none}
  .client-shell>.workspace{min-height:0;overflow:auto;overscroll-behavior:contain;scroll-padding:16px;padding:0}
  .client-shell .workspace-topbar{padding:8px 12px;gap:8px;flex-wrap:nowrap}
  .client-shell .workspace-topbar>.breadcrumb{display:none}
  .client-shell .workspace-topbar>.inline{gap:4px;flex-wrap:nowrap;flex:none}
  .client-shell .workspace-topbar>.inline button{padding:8px}
  .client-shell .client-mobile-brand{display:flex;min-width:0;min-height:44px;padding:0;background:transparent;border:0}
  .client-mobile-brand img{width:112px;max-width:100%;height:36px;object-fit:contain;object-position:left center}
  .client-shell .workspace-body{padding:20px 14px 24px}
  .client-shell .workspace-body>.heading{margin-bottom:16px}
  .client-mobile-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding:6px max(6px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));border-top:1px solid var(--line);background:var(--panel);min-width:0}
  .client-mobile-nav>button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:44px;min-height:56px;padding:6px 2px;border-color:transparent;background:transparent;border-radius:8px;font-size:12px;line-height:1.3}
  .client-mobile-nav>button[aria-current=page]{color:var(--text);background:var(--accent-soft);border-color:var(--cyan)}
  .client-mobile-nav .nav-icon{width:20px;height:20px;justify-content:center}
  .client-welcome{align-items:flex-start;flex-wrap:wrap;gap:12px;margin-bottom:20px}
  .client-welcome h1{font-size:25px}
  .client-welcome>button{width:100%}
  .client-welcome p.muted{font-size:14px}
  .client-hub-grid{gap:0}
  .client-hub .panel,.client-training .panel{padding:16px;margin-bottom:16px}
  .client-hub-side{display:block}
  .client-hub .section-heading,.client-training .section-heading{flex-direction:row;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px}
  .client-week>.section-heading h2{flex:1}
  .client-week-actions{gap:2px}
  .client-week-days{gap:2px;padding:3px 0}
  .client-hub .client-week,.client-training .client-week{padding-inline:12px}
  .client-session-card{padding:12px}
  .client-session-card.featured{padding:0}
  .client-session-card.featured h3{font-size:21px}
  .client-exercise-preview li{font-size:14px;gap:10px}
}
@media(max-width:360px){.client-shell .workspace-topbar{flex-wrap:wrap}.client-shell .workspace-topbar>.inline{flex-wrap:wrap;max-width:100%;min-width:0}.client-mobile-nav{grid-template-columns:repeat(3,minmax(44px,1fr))}.client-week-days{grid-template-columns:repeat(4,minmax(44px,1fr))}.client-shell .workspace-body{padding-inline:10px}.client-nutrition-card .nutrition-stats{grid-template-columns:1fr}.client-nutrition-card .nutrition-stats>div:first-child{grid-column:auto}.client-session-meta{align-items:flex-start}.client-session-action button{width:100%}}

/* Intake extends the approved theme and control rhythm; no global redesign. */
.onboarding{max-width:880px;min-width:0;margin-inline:auto;overflow-wrap:anywhere}
.onboarding h2{font-size:20px;line-height:1.35;margin:0}.onboarding h3{font-size:16px}
.onboarding p{line-height:1.55}.onboarding button,.onboarding summary,.onb-editor-note button{min-height:44px;white-space:normal;max-width:100%}
.onb-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.onb-header .eyebrow{margin:0 0 6px}.onboarding>progress{width:100%;height:5px;accent-color:var(--cyan)}
.onboarding .onb-arrow{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;flex:none;padding:10px}
.onb-arrow .icon{width:20px;height:20px}.onb-back .icon{transform:rotate(180deg)}.onb-forward{margin-inline-start:auto}
.onb-form-fields{border:0;padding:0;margin:0;min-width:0}.onb-fields{display:flex;align-items:start;flex-wrap:wrap;gap:16px;margin-bottom:16px}
.onboarding .onb-field{display:grid;grid-template-rows:minmax(24px,auto) auto;gap:6px;min-width:0;max-width:100%;margin:0 0 16px}
.onb-fields .onb-field{flex:1 1 210px;margin:0}.onb-field>span{display:flex;align-items:center;line-height:1.5;font-size:14px;font-weight:600}
.onboarding .onb-field>input,.onboarding .onb-field>select,.onboarding .onb-field>textarea{box-sizing:border-box;min-width:0;max-width:100%;min-height:44px;margin:0;font-size:16px;font-family:inherit}
.onboarding .onb-field>input.onb-number{width:calc(3ch + 48px);font-variant-numeric:tabular-nums}.onb-field:has(>.onb-number){flex:0 1 auto}
.onb-field>textarea{width:100%;resize:vertical;min-height:92px}.onboarding .onb-measure .onb-field{flex:0 1 auto}.onb-measure input{width:calc(8ch + 36px)}.onb-measure input[type=number]{width:calc(4ch + 40px)}
.onb-choice-group{border:0;padding:0;margin:0 0 24px;min-width:0}.onb-choice-group legend{font-weight:600;margin-bottom:10px}.onb-choices{display:flex;flex-wrap:wrap;gap:8px}
.onboarding .onb-choice{position:relative;display:flex;align-items:center;min-height:44px;gap:10px;border:1px solid var(--line);border-radius:8px;padding:8px 12px;margin:0;box-sizing:border-box;max-width:100%;cursor:pointer}
.onb-choice input{width:18px!important;height:18px!important;min-height:18px!important;flex:none;margin:0!important;accent-color:var(--cyan)}.onb-choice:has(input:checked){border-color:var(--cyan);box-shadow:inset 0 0 0 1px var(--cyan)}
.onb-choice:focus-within{outline:2px solid var(--cyan);outline-offset:3px}.onb-choice span{font-size:14px;line-height:1.45}.onboarding .check-label{display:flex;align-items:center;gap:12px;min-height:44px;line-height:1.5;margin:8px 0}.onboarding .check-label input{flex:none;width:20px;min-height:20px;height:20px;margin:0}
.onb-actions,.onb-data-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:24px}.onb-data-actions{padding-top:16px;border-top:1px solid var(--line)}
.onb-summary{margin:16px 0}.onb-summary>div{display:grid;grid-template-columns:minmax(110px,140px) minmax(0,1fr);gap:16px;border-bottom:1px solid var(--line);padding:10px 0;align-items:baseline}.onb-summary dt{color:var(--muted)}.onb-summary dd{margin:0;line-height:1.5}
.onb-sample,.onb-notice,.onb-error{border:1px solid var(--line);border-left:3px solid var(--cyan);border-radius:8px;padding:12px 16px;margin:16px 0;line-height:1.5}.onb-error ul,.onb-candidate ul{padding-left:20px}.onb-error button{text-align:left}
.onb-coach{max-width:1100px}.onb-candidate{display:flex;align-items:start;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding:16px 0}.onb-candidate>div{min-width:0}.onb-candidate button{flex:none}.onb-candidate p,.onb-candidate ul{font-size:14px;margin:8px 0}
.onb-plan details{border:1px solid var(--line);border-radius:8px;padding:12px;margin:16px 0}.onb-session,.onb-date-list>div{display:flex;gap:12px;justify-content:space-between;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.onb-session span,.onb-date-list time{font-size:14px}.onb-review-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;margin:20px 0}.onb-builder-frame{border:0;margin:0;padding:0;min-width:0}
.onboarding :focus-visible,.onb-editor-note :focus-visible{outline:2px solid var(--cyan);outline-offset:3px;scroll-margin:16px}
.onboarding .onb-field:has(>input[type=date]){flex:0 1 auto}.onboarding input[type=date]{width:190px}.onb-review-checks .check-label{margin:0}
@media(max-width:600px){.onboarding{width:100%}.onb-summary>div{grid-template-columns:1fr;gap:4px}.onb-candidate{flex-direction:column}.onb-review-checks{grid-template-columns:1fr}.onb-fields .onb-field{flex-basis:100%}.onb-fields .onb-field:has(>.onb-number){flex-basis:auto}.onboarding .onb-measure .onb-field{flex-basis:auto}.onboarding .onb-field>input,.onboarding .onb-field>select{font-size:16px}}
@media(prefers-reduced-motion:no-preference){.onb-choice,.onboarding button{transition:border-color .15s ease,background-color .15s ease}}

.sample-shortcut{display:flex;align-items:center;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;margin:12px auto;max-width:760px}
.sample-shortcut>span{flex:1;min-width:160px;font-size:13px}
.sample-shortcut>button{min-height:44px}
.tracker-demo [data-demo]{min-height:44px}
.finish-baseline li>div{min-width:0;display:grid;gap:4px}
.finish-baseline li small{font-size:13px}
.tracker-celebration.finish-screen{max-width:760px;margin:16px auto;background:var(--panel);color:var(--text);border:1px solid var(--line);padding:20px;overflow-wrap:anywhere}
.finish-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.finish-heading button{min-width:44px;min-height:44px}
.finish-workout-title{font-size:14px;color:var(--muted);margin:2px 0 8px;line-height:1.5}
.workout-result{max-width:760px;margin-inline:auto;min-width:0}
.workout-result .finish-screen{margin-top:12px}
.workout-result .panel{min-width:0}
.result-details>summary,.finish-exercises>summary{min-height:44px;align-content:center;font-weight:600;cursor:pointer;line-height:1.5}
.result-details>summary:focus-visible,.finish-exercises>summary:focus-visible{outline:2px solid var(--cyan);outline-offset:4px;border-radius:4px}
.result-details[open]>summary,.finish-exercises[open]>summary{margin-bottom:12px}
.result-details .table-scroll{max-width:100%}
.finish-actions,.finish-share-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.finish-actions button,.finish-share-actions button,.finish-share-actions a{min-height:44px}
.finish-share-dialog{width:min(540px,calc(100vw - 24px));height:min(760px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);box-sizing:border-box;overflow:auto;scrollbar-gutter:stable;padding:20px;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:16px}
.finish-share-dialog::backdrop{background:#000a}
.finish-share-dialog header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.finish-share-dialog h2{font:600 20px Geist,Helvetica,sans-serif;margin:0}
.finish-share-dialog header button{min-width:44px;min-height:44px}
.finish-share-dialog video{display:block;max-height:300px;max-width:100%;margin-inline:auto;border-radius:8px}
.finish-share-dialog video[hidden],.finish-share-actions [hidden]{display:none}
.finish-share-dialog [data-clip-status]{font-size:14px;line-height:1.5}
.finish-share-actions a{display:inline-flex;align-items:center;padding-inline:12px;border:1px solid var(--line);border-radius:8px;color:var(--text)}
.finish-hero{display:flex;align-items:center;gap:24px;margin:12px 0 20px}
.finish-hero>div:last-child{min-width:0}
.finish-screen .finish-kicker{font-size:13px;font-weight:600;color:var(--cyan);margin:0 0 8px}
.finish-screen h2{font-family:ShanerStrongDisplay,Geist,sans-serif;font-weight:700;font-size:clamp(24px,4vw,38px);line-height:1.2;margin:0}
.finish-hero p:last-child{margin:8px 0 0;color:var(--muted)}
.finish-stack{position:relative;display:flex;flex-direction:column-reverse;align-items:center;justify-content:center;gap:4px;width:96px;height:104px;flex:none}
.finish-stack:before{content:"";position:absolute;inset:0;border:1px solid var(--cyan);border-radius:50%;opacity:.2;transform:scale(.95)}
.finish-stack i{display:block;width:64px;height:10px;border:2px solid var(--cyan);border-radius:50%;background:var(--accent-soft)}
.finish-stack i:nth-child(2),.finish-stack i:nth-child(4){width:54px}
.finish-stack i:last-child{width:44px}
.finish-mass{display:grid;gap:4px;border-top:1px solid var(--line);padding:18px 0 14px}
.finish-mass{position:relative}
.finish-accessible-total{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.finish-mass>strong{font-size:clamp(30px,6vw,48px);font-variant-numeric:tabular-nums;line-height:1.1}
.finish-mass small{font:600 18px Geist,Helvetica,sans-serif;color:var(--muted)}
.finish-mass>span{font-size:14px;color:var(--muted)}
.finish-stats{display:flex;gap:8px 20px;flex-wrap:wrap}
.finish-stats span{font-size:13px;color:var(--muted)}
.finish-stats strong{color:var(--text)}
.finish-screen .finish-footnote{font-size:13px;margin:14px 0;max-width:68ch}
.finish-screen h3{font-size:16px;margin:0 0 12px}
.finish-baseline,.finish-exercises{border-top:1px solid var(--line);padding-top:18px;margin-top:18px}
.finish-baseline ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.finish-baseline li{display:flex;justify-content:space-between;gap:8px 16px;flex-wrap:wrap}
.finish-baseline li span{color:var(--cyan)}
.finish-baseline p{font-size:13px;margin-bottom:0}
.finish-volume-change>span{display:block;margin-top:4px}
.finish-exercise{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 24px;padding:12px 0;border-bottom:1px solid var(--line)}
.finish-exercise>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.finish-exercise>div:last-child{text-align:right}
.finish-exercise span{font-size:13px;color:var(--muted)}
.finish-preview-note{padding:10px 12px;border-left:3px solid var(--cyan);background:var(--accent-soft);font-size:14px}
.finish-animate .finish-stack i{animation:steel-stack .45s ease-out both;animation-delay:calc(var(--plate,0)*80ms)}
.finish-animate .finish-stack i:nth-child(2){--plate:1}
.finish-animate .finish-stack i:nth-child(3){--plate:2}
.finish-animate .finish-stack i:nth-child(4){--plate:3}
.finish-animate .finish-stack i:nth-child(5){--plate:4}
.finish-animate .finish-stack:before{animation:steel-burst .8s ease-out both}
@keyframes steel-stack{from{transform:translateY(-14px);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes steel-burst{from{transform:scale(.75);opacity:.7}to{transform:scale(1.08);opacity:0}}
@media(max-width:480px){.tracker-celebration.finish-screen{padding:16px}.finish-hero{gap:14px}.finish-stack{width:60px;height:88px}.finish-stack i{max-width:54px}.finish-stats{gap:8px 12px}}
@media(max-width:320px){.finish-hero{flex-direction:column;align-items:flex-start;gap:12px}.finish-exercise{grid-template-columns:minmax(0,1fr)}.finish-exercise>div:last-child{text-align:left}.sample-shortcut>span{min-width:0}.sample-shortcut>button{white-space:normal}}
@media(prefers-reduced-motion:reduce){.finish-animate .finish-stack i,.finish-animate .finish-stack:before{animation:none}}

/* Focused workout player. Shared motion changes paint, not input geometry. */
:root{--motion-fast:120ms;--motion-panel:180ms;--motion-ease:cubic-bezier(.2,.7,.2,1)}
.tracker-demo{box-sizing:border-box;width:100%;min-width:0}
button,a,input,select,textarea{transition:background-color var(--motion-fast) ease,border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease}
dialog[open]{animation:dialog-enter var(--motion-panel) var(--motion-ease)}
@keyframes dialog-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.workout-immersive{max-width:808px;margin:auto;padding:16px 24px calc(32px + env(safe-area-inset-bottom));min-width:0}
.workout-progress{display:flex;align-items:center;gap:2px;overflow-x:auto;scrollbar-width:thin;scroll-margin-top:8px}
.workout-progress button{flex:1 0 44px;min-width:44px;min-height:44px;padding:12px 3px;background:transparent;border:0;border-radius:5px}
.workout-progress button span{display:block;flex:1;width:100%;height:4px;border-radius:3px;background:var(--muted);opacity:.5;transition:background-color var(--motion-fast),opacity var(--motion-fast)}
.workout-progress button[aria-current=step] span{background:var(--cyan);opacity:1;height:6px}
.workout-progress button.is-done span{opacity:1;background:var(--text)}
.workout-progress button:focus-visible{outline:2px solid var(--cyan);outline-offset:-3px}
.workout-session-bar{padding:0 0 8px;border:0;margin-bottom:4px}
.workout-session-bar>button{font-size:13px;background:transparent}
.workout-settings{margin-block:8px 16px;border:1px solid var(--line);border-radius:8px;padding:0 12px}
.workout-settings summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:600}
.workout-settings summary::after{content:'+';margin-left:auto}
.workout-settings[open] summary::after{content:'−'}
.workout-settings p{max-width:46ch}
.exercise-visual{min-width:0;touch-action:pan-y pinch-zoom}
.exercise-visual-frame{position:relative;height:252px;border:1px solid var(--line);border-radius:12px;background:var(--sunken);isolation:isolate}
.exercise-image{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;padding:12px 36px 8px;border:0;border-radius:11px;background:#0b1722 radial-gradient(ellipse at 50% 70%,#143448,#0b1722 72%);color:#e9f4fa;touch-action:pan-y pinch-zoom}
.exercise-image:hover{background:#0b1722 radial-gradient(ellipse at 50% 70%,#194056,#0b1722 72%)}
.exercise-schematic{display:block;width:100%;height:190px;max-width:380px;flex-shrink:1}
.exercise-athlete{fill:none;stroke:#d4e4ee;stroke-width:12;stroke-linecap:round;stroke-linejoin:round}
.exercise-athlete circle{fill:#d4e4ee;stroke-width:2}
.exercise-equipment{fill:none;stroke:#16bceb;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.exercise-ground{stroke:#546c7d;stroke-width:2}
.exercise-image-caption{font-size:12px;color:#c7d7e2;line-height:1.4}
.exercise-art-empty{font-size:15px;padding-block:56px}
.exercise-corner-mark{position:absolute;top:12px;right:12px;width:24px;height:28px;pointer-events:none}
.exercise-corner-mark svg{width:100%;height:100%;display:block}
.exercise-visual-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px}
.exercise-visual-footer>span{font-size:12px}
.exercise-visual-footer button{background:transparent;min-height:44px;font-size:13px;padding-inline:10px}
.exercise-muscle-panel{height:100%;overflow:auto;scrollbar-gutter:stable;padding:8px 32px 8px 10px;border-radius:11px;overscroll-behavior:contain}
.exercise-muscle-panel .muscle-details{border:0;margin:0;padding:0;background:transparent}
.exercise-muscle-panel .muscle-content{display:grid;grid-template-columns:minmax(95px,38%) minmax(0,1fr);gap:12px;padding:0}
.exercise-muscle-panel .muscle-visual{border:0;padding:0;background:transparent}
.exercise-muscle-panel .muscle-switch{display:flex;gap:2px;justify-content:center}
.exercise-muscle-panel .muscle-switch button{min-height:44px;min-width:44px;padding:6px;font-size:12px}
.exercise-muscle-panel .muscle-switch button[aria-pressed=true]{color:var(--text);background:var(--accent-soft)}
.exercise-muscle-panel .muscle-view{margin:0;text-align:center}
.exercise-muscle-panel .muscle-view svg{display:block;width:100%;height:140px;max-width:100%;margin:auto}
.exercise-muscle-panel .muscle-view figcaption{font-size:12px}
.exercise-muscle-panel .muscle-key{min-width:0;padding-top:8px}
.exercise-muscle-panel .muscle-key h3{margin:0 0 8px}
.exercise-muscle-panel .muscle-label{margin:0 0 8px;gap:6px}
.exercise-muscle-panel .muscle-label p{font-size:12px;line-height:1.4;margin:3px 0}
.exercise-muscle-panel .muscle-label strong{font-size:12px}
.exercise-muscle-panel .muscle-note{font-size:12px;line-height:1.4;margin:8px 0 0}
.exercise-muscle-panel .muscle-swatch{width:8px;height:8px;flex:0 0 8px}
.client-exercise-heading{margin-top:4px}
.client-set-table .set-table-toolbar{padding-block:4px;min-height:24px}
.client-set-table .set-table-help{font-size:12px;margin-top:2px}
@media(max-width:600px){.workout-immersive{padding:8px 12px calc(24px + env(safe-area-inset-bottom))}.tracker-demo:has(.guided-workout:not(.reviewing)){padding-top:8px}.exercise-visual-frame{height:240px}.exercise-muscle-panel .muscle-content{gap:8px}.exercise-visual-footer>span{max-width:23ch}}
@media(prefers-reduced-motion:reduce){button,a,input,select,textarea,.workout-progress button span{transition:none}dialog[open]{animation:none}}
@media(max-width:320px){.exercise-muscle-panel .muscle-content{grid-template-columns:minmax(0,1fr)}.exercise-muscle-panel .muscle-key{padding-top:0}.exercise-visual-footer{flex-wrap:wrap}.exercise-visual-footer>span{min-width:0}}
