:root{--bg:#0b0d0e;--surface:#111416;--card:#171a1c;--card2:#1d2123;--stroke:#303638;--sub:#9ca5a1;--text:#f2f5ef;--brand:#d4f96c;--hover:#282f2b;color-scheme:dark;font-family:Inter,"Segoe UI",system-ui,-apple-system,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer;transition:filter .12s,border-color .12s}button:hover{filter:brightness(1.14)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--brand);outline-offset:2px}input,textarea,select{width:100%;color:var(--text);background:#202528;border:1px solid #3a4243;padding:11px 12px;border-radius:9px}textarea{resize:vertical;min-height:80px}input[type="color"]{padding:3px;width:56px;height:43px;cursor:pointer}input[type="number"]{appearance:textfield}button:disabled{opacity:.45;cursor:default}.shell{display:grid;grid-template-columns:235px minmax(0,1fr);min-height:100vh}.side{background:#101213;border-right:1px solid var(--stroke);padding:26px 16px;display:flex;flex-direction:column;gap:17px;position:sticky;top:0;height:100vh;overflow-y:auto}.identity{padding:0 9px 20px;border-bottom:1px solid var(--stroke);display:flex;align-items:center;gap:11px}.brand-symbol{background:var(--brand);color:#10120a;width:38px;height:38px;border-radius:8px;display:grid;place-items:center;font-weight:1000;letter-spacing:-2px}.lock{font-size:12px;letter-spacing:.8px;font-weight:950}.smallcaps{font-size:10px;letter-spacing:2px;color:var(--sub);font-weight:800;text-transform:uppercase}.subtitle{font-size:10px;letter-spacing:1.9px;color:var(--sub);margin-top:4px}.side-label{font-size:10px;letter-spacing:2px;color:#77817b;font-weight:850;padding:0 12px;text-transform:uppercase}.nav{display:grid;gap:5px}.nav button{background:transparent;text-align:left;color:#b4bbb4;border:0;padding:13px 12px;border-radius:9px;font-weight:750;display:flex;gap:12px;align-items:center}.nav button.active{background:var(--brand);color:#101510}.nav .ic{font-size:18px;width:23px;text-align:center}.side-bottom{margin-top:auto;padding:15px 11px 0;border-top:1px solid var(--stroke);color:var(--sub);font-size:11px;line-height:1.65}.badge{font-weight:800;display:inline-block;font-size:10px;padding:6px 8px;border-radius:6px;background:#303629;color:#d4f96c;letter-spacing:.4px}.badge.dim{background:#272b2c;color:#b0b9b4}.badge.gold{background:#3c3020;color:#ffc77b}.badge.blue{background:#1c3641;color:#8dd9fb}.badge.red{background:#412528;color:#ffb1b1}.workspace{padding:32px clamp(16px,3.1vw,50px) 80px;min-width:0}.kicker{font-size:10px;color:var(--brand);letter-spacing:2.1px;font-weight:950;margin-bottom:12px}.page-title{font-size:clamp(27px,3vw,43px);line-height:1.08;text-transform:uppercase;letter-spacing:-1.45px;margin:0 0 10px;font-weight:1000}.lead{font-size:13px;line-height:1.72;color:var(--sub);margin:0 0 25px;max-width:740px}.section{padding:20px;background:var(--card);border:1px solid var(--stroke);border-radius:13px;margin:16px 0}.section h2{font-size:13px;letter-spacing:.8px;text-transform:uppercase;margin:0 0 7px}.section p{font-size:12px;color:var(--sub);line-height:1.62;margin:0 0 14px}.cols{display:grid;grid-template-columns:1fr 1fr;gap:15px}.cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.field{display:grid;gap:7px;margin:0 0 15px;min-width:0}.field>label{font-size:10px;letter-spacing:1px;text-transform:uppercase;font-weight:850;color:#c6cdc7}.actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.btn{border:1px solid #46504b;border-radius:8px;background:#2c3333;color:var(--text);font-size:12px;padding:11px 14px;font-weight:850;display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none}.btn.primary{background:var(--brand);border-color:var(--brand);color:#11180d}.btn.ghost{background:transparent}.btn.danger{background:#382323;border-color:#694444;color:#ffbdbe}.btn.sm{font-size:11px;padding:8px 10px}.btn.block{width:100%}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.row.start{justify-content:flex-start}.muted{color:var(--sub)}.tiny{font-size:11px;line-height:1.5}.metric{background:var(--card);padding:17px;border:1px solid var(--stroke);border-radius:11px}.metric strong{display:block;font-size:27px;letter-spacing:-1px;margin-top:10px}.metric small{color:var(--sub);font-size:10px;letter-spacing:.8px;text-transform:uppercase}.listitem{display:flex;align-items:center;gap:12px;background:var(--card2);border:1px solid var(--stroke);padding:12px;border-radius:9px;margin:8px 0}.listitem.selected{border-color:var(--brand);background:#283025}.listitem .body{min-width:0;flex:1}.listitem b{font-size:12px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.listitem small{font-size:10px;color:var(--sub);display:block;margin-top:5px;line-height:1.5}.avatar{height:42px;width:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:11px;font-weight:900;color:#101313;font-size:23px}.separator{border-top:1px solid var(--stroke);margin:18px 0}.selectbox{border-color:var(--brand)}.notice{border-radius:9px;padding:13px 15px;font-size:11px;line-height:1.7;border:1px solid #62502d;background:#2c261d;color:#ffdb9c;margin:14px 0}.goodnote{border-color:#50613b;background:#242b1e;color:#d2e9b4}.panel-side{background:#111416;border-left:1px solid var(--stroke);padding:26px 17px;position:sticky;top:0;height:100vh;overflow:auto}.panel-side h3{margin:0 0 8px;font-size:12px;letter-spacing:1px}.panel-side .blurb{font-size:11px;color:var(--sub);line-height:1.7;margin:0 0 17px}.phone{border:6px solid #34393a;border-radius:28px;padding:21px 14px;background:#0f1112;max-width:302px;min-height:480px;margin:0 auto;box-shadow:0 19px 35px #0009}.phoneheader{display:flex;gap:8px;align-items:center;font-size:10px;font-weight:950;letter-spacing:1px;margin-bottom:25px}.phonetitle{font-size:23px;text-transform:uppercase;letter-spacing:-.7px;font-weight:1000}.pname{font-size:11px;font-weight:900}.phcard{border:1px solid #38403e;background:#191d1f;border-radius:9px;padding:13px;margin:12px 0}.phcard strong{font-size:13px;display:block;margin:5px 0}.phcard small{font-size:10px;color:#afbab1}.phbar{height:7px;border-radius:99px;background:#333b35;overflow:hidden;margin:12px 0}.phbar>div{height:100%;background:var(--accent,#d4f96c)}.profiletop{display:flex;align-items:center;gap:11px}.tagline{font-size:10px;color:var(--sub);line-height:1.6}.pillgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.pillgrid button{text-align:center;padding:9px 4px;color:#ddd;background:#232829;border:1px solid #394140;border-radius:8px;font-size:10px;font-weight:900}.pillgrid button.active{background:var(--brand);color:#10130e;border-color:var(--brand)}.pillgrid button.locked{opacity:.42}.switch{display:flex;gap:8px;align-items:center;background:#242a2b;padding:10px;border-radius:8px}.switch input{width:auto}.identity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.idtile{background:#23282a;border:1px solid #404849;border-radius:10px;padding:15px 9px;text-align:center;color:var(--text)}.idtile.chosen{border-color:var(--brand)}.idtile span{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;margin:0 auto 10px;color:#101313;font-size:23px}.idtile b{font-size:11px;display:block}.idtile small{font-size:10px;color:var(--sub);display:block;margin-top:6px}.workline{border:1px solid var(--stroke);border-radius:10px;background:#1e2224;padding:14px;margin:10px 0}.workline b{font-size:13px}.exercise-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.exercise-tabs button{border:1px solid #49504e;background:#252b2c;color:#c7d0ca;border-radius:6px;padding:7px 11px;font-size:11px}.exercise-tabs button.sel{background:var(--brand);color:#101313;border-color:var(--brand)}.setrow{display:grid;grid-template-columns:45px repeat(3,minmax(55px,1fr));gap:7px;align-items:end;margin:10px 0}.setrow.five{grid-template-columns:42px repeat(4,minmax(46px,1fr))}.setrow input{text-align:center;padding:10px 4px;min-width:0}.setrow label{font-size:9px;text-transform:uppercase;color:var(--sub);display:block;margin-bottom:5px;text-align:center}.session-ex{border:1px solid var(--stroke);background:var(--card2);padding:15px;border-radius:10px;margin-bottom:12px}.session-ex h3{margin:0 0 4px;font-size:14px}.session-ex .meta{font-size:11px;color:var(--sub);margin-bottom:13px}.logcard{border:1px solid var(--stroke);border-radius:9px;background:#1d2324;padding:13px;margin:9px 0}.logcard b{font-size:12px}.logcard small{color:var(--sub);display:block;line-height:1.6;margin-top:7px}.empty{border:1px dashed #4a514e;padding:24px;text-align:center;border-radius:10px;color:var(--sub);font-size:12px;line-height:1.7}.topactions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:25px}.topactions .btn{padding:9px 12px}.hide{display:none!important}.footer{font-size:10px;color:#85908a;margin-top:20px;line-height:1.7}.soft{background:#222c20;border:1px solid #4e643f;border-radius:8px;padding:11px;color:#d0ebbd;font-size:11px;line-height:1.6}.fileinput{display:none}.k{color:var(--brand)}.indent{padding-left:10px;border-left:2px solid #424b40}.clickitem{cursor:pointer}.statusbar{font-size:10px;line-height:1.65;background:#202524;border-bottom:1px solid #333b38;padding:10px 19px;color:#d3deb5}.statusbar b{color:#d4f96c}.mainclient{max-width:850px;margin:0 auto}.logbookhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 24px}.major{font-size:30px;line-height:1.08;font-weight:1000;text-transform:uppercase;letter-spacing:-1px;margin:7px 0}.workout-choice{width:100%;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #3a4340;background:var(--card);color:var(--text);padding:15px;border-radius:11px;margin:9px 0}.workout-choice.chosen{border-color:var(--brand)}.workout-choice small{display:block;color:var(--sub);font-size:11px;margin-top:5px}.workout-choice strong{font-size:14px}.footerbtn{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}.numbadge{width:33px;height:33px;background:#333b36;border-radius:8px;display:grid;place-items:center;font-size:11px;color:#d9e2d9;font-weight:800}.overline{font-size:10px;letter-spacing:1.5px;font-weight:900;color:var(--brand)}.clientcard{margin-bottom:15px}.clientcard .title{margin:8px 0;font-size:21px;font-weight:950}.row.wrap{flex-wrap:wrap}@media(max-width:1250px){.shell{grid-template-columns:215px minmax(0,1fr)}.panel-side{grid-column:2;position:relative;height:auto;border-left:0;border-top:1px solid var(--stroke)}.phone{max-width:290px}}@media(max-width:760px){.shell{display:block}.side{position:static;height:auto;gap:10px;padding:14px}.identity{padding:0 0 10px}.side-label,.side-bottom{display:none}.nav{display:flex;overflow-x:auto;padding-bottom:3px;gap:5px}.nav button{white-space:nowrap;font-size:11px;padding:9px 10px}.nav .ic{display:none}.workspace{padding:22px 16px 40px}.panel-side{padding:22px 15px}.cols{grid-template-columns:1fr}.cols3{grid-template-columns:repeat(2,1fr)}.identity-grid{grid-template-columns:repeat(2,1fr)}.page-title{font-size:30px}.setrow,.setrow.five{grid-template-columns:34px repeat(4,minmax(0,1fr));gap:4px}.setrow input{font-size:12px;padding:10px 2px}.section{padding:15px}.statusbar{padding:8px 14px}}

/* Local prototype additions: keep the original palette and controls. */
[hidden]{display:none!important}.brand-symbol{flex-shrink:0;overflow:hidden}.brand-symbol img{width:100%;height:100%;object-fit:contain;display:block}.logo-settings{display:flex;gap:16px;align-items:flex-start;margin:20px 0}.logo-settings>.brand-symbol{width:64px;height:64px}.phoneheader>.brand-symbol{width:29px;height:29px;flex:0 0 29px}.header-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.profile-button{display:flex;align-items:center;gap:8px;padding:5px 10px 5px 5px;background:var(--card);color:var(--text);border:1px solid var(--stroke);border-radius:28px;font-size:12px;font-weight:800}.profile-button .avatar{width:30px;height:30px;flex-basis:30px;border-radius:50%;font-size:18px}.profile-button.active{border-color:var(--brand)}.substitutions{display:flex;gap:8px;flex-wrap:wrap;padding:12px 0}.modal-backdrop{position:fixed;inset:0;background:#000b;z-index:100;display:grid;place-items:center;padding:20px;overflow:auto}.client-modal{background:var(--card);border:1px solid var(--stroke);border-radius:14px;padding:24px;width:min(460px,100%);max-height:90dvh;overflow:auto}.client-modal h2{margin-top:0;font-size:20px}.rest-timer{position:fixed;right:22px;bottom:22px;z-index:40;display:flex;flex-direction:column;align-items:flex-end;gap:10px;max-width:calc(100vw - 28px)}.timer-launcher{background:var(--brand);color:#11180d;border-color:var(--brand);border-radius:99px;padding:13px 18px;box-shadow:0 8px 28px #0008;font-variant-numeric:tabular-nums}.timer-panel{background:var(--card);border:1px solid var(--stroke);border-radius:14px;padding:18px;width:min(340px,calc(100vw - 28px));box-shadow:0 12px 40px #0009;max-height:calc(100dvh - 110px);overflow-y:auto}.timer-panel h2{font-size:13px;margin:0}.timer-display{font-size:44px;font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:-1px;color:var(--brand)}.timer-presets{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.timer-custom{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:8px}.timer-custom .field{margin:0}.timer-custom input{min-width:0}.timer-panel .actions .btn{flex:1}.mainclient{padding-bottom:120px}.storage-status{position:sticky;top:0;z-index:110;margin:0;border-radius:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:600px){.logbookhead{align-items:flex-start;flex-wrap:wrap}.header-actions{margin-left:auto}.rest-timer{right:14px;bottom:14px}.timer-panel{padding:15px}.profile-button{min-height:40px}.header-actions>.btn{font-size:10px;padding:9px}.substitutions .btn{white-space:normal;text-align:left;min-height:42px}}
.coach-client-choice{cursor:pointer}.coach-client-choice>input{width:20px;height:20px;flex:0 0 20px;accent-color:var(--brand)}.coach-client-choice:has(input:checked){border-color:var(--brand)}.coach-client-choice .body{flex:1;min-width:0}.coach-client-choice b{white-space:normal}.coach-client-choice small{line-height:1.6}

/* Restored Logbook identity and session controls. */
.logbook-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:42px 0 32px}.logbook-motto{color:var(--brand);font-size:11px;letter-spacing:2.4px;font-weight:900;text-transform:uppercase;margin:0 0 16px}.logbook-hero h1{font-size:clamp(48px,7vw,76px);line-height:.94;letter-spacing:-4px;font-weight:1000;margin:0}.logbook-hero h1 span{color:var(--brand)}.hero-caption{color:var(--sub);font-size:13px;line-height:1.6;margin:18px 0 0}.hero-stats{text-align:right;display:grid;gap:6px;flex-shrink:0;padding-bottom:5px}.hero-stats span{font-size:10px;color:var(--sub)}.hero-stats strong{font-size:27px;font-variant-numeric:tabular-nums}.protocol-repeat{margin:54px 0 0;padding:28px 0;border-top:1px solid var(--stroke);text-align:center;font-size:9px;letter-spacing:1.4px;line-height:2}.training-set-row{display:grid;grid-template-columns:34px repeat(3,minmax(0,1fr)) 46px;gap:8px;align-items:end;margin:0 0 12px}.training-set-row.with-rpe{grid-template-columns:34px repeat(4,minmax(0,1fr)) 46px}.training-set-row label{display:block;font-size:9px;color:var(--sub);text-align:center;margin-bottom:6px}.training-set-row input{min-width:0;text-align:center;padding:11px 4px;font-weight:750}.training-set-row .numbadge{align-self:center}.set-done{width:44px;height:41px;border:1px solid var(--stroke);border-radius:8px;background:#282f2f;color:var(--sub);font-size:22px}.set-done[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:#11180d}.workline.set-complete{border-color:var(--brand)}.set-actions{margin-top:14px;gap:12px}.set-action{border:0;background:transparent;color:var(--brand);padding:10px 0;font-size:11px;font-weight:900;text-align:left}.set-action.muted{color:var(--sub);text-align:right}.session-tools{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:14px 0 20px}.rpe-toggle{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--sub);cursor:pointer}.rpe-toggle input{width:17px;height:17px;accent-color:var(--brand)}.finish-workout{display:flex;justify-content:space-between;align-items:center;gap:20px;background:var(--brand);color:#101510;padding:22px;border-radius:12px;margin:20px 0}.finish-workout strong{font-size:21px;font-weight:1000;letter-spacing:-.5px}.finish-workout p{font-size:11px;margin:7px 0 0;line-height:1.6}.finish-button{border:0;border-radius:8px;padding:17px;background:#111713;color:var(--brand);font-size:11px;font-weight:950;white-space:nowrap;min-height:48px}.exercise-substitutions{margin:10px 0 15px}.exercise-substitutions summary,.exercise-video{color:var(--brand);font-size:12px;cursor:pointer}.exercise-video{display:inline-block;margin:8px 0}@media(max-width:600px){.logbook-hero{align-items:flex-start;gap:14px;flex-wrap:wrap;margin-top:30px}.logbook-hero h1{letter-spacing:-2.5px}.hero-stats{padding:4px 0;text-align:left}.hero-stats span{font-size:9px}.logbook-motto{font-size:9px;letter-spacing:1.4px}.finish-workout{align-items:stretch;flex-direction:column;padding:18px}.finish-button{white-space:normal;width:100%}.training-set-row{grid-template-columns:25px repeat(3,minmax(0,1fr)) 34px;gap:5px}.training-set-row.with-rpe{grid-template-columns:25px repeat(4,minmax(0,1fr)) 34px}.set-done{width:34px}.training-set-row .numbadge{width:25px;height:29px}.training-set-row input{font-size:12px}.protocol-repeat{font-size:8px;letter-spacing:.7px}.set-action{font-size:10px}}

/* Completed sets settle into the identity colour; the check remains available. */
.workline{transition:background-color .25s,border-color .25s,box-shadow .25s}.workline.set-complete{background:color-mix(in srgb,var(--brand) 16%,var(--card2));border-color:var(--brand);box-shadow:inset 4px 0 0 var(--brand)}.set-complete .training-set-row>div:not(.set-done-control),.set-complete>.field{opacity:.5;transition:opacity .25s}.set-complete input[readonly]{cursor:default}.set-completion-label{color:var(--brand);font-size:10px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase;margin:0 0 12px}.set-complete .set-done{box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 14%,transparent)}.set-celebrating{animation:set-completed .6s ease-out}.set-celebrating .set-done{animation:set-check-pop .45s ease-out}@keyframes set-completed{0%{background:color-mix(in srgb,var(--brand) 38%,var(--card2));box-shadow:inset 4px 0 0 var(--brand),0 0 0 0 color-mix(in srgb,var(--brand) 40%,transparent)}45%{box-shadow:inset 4px 0 0 var(--brand),0 0 0 6px color-mix(in srgb,var(--brand) 12%,transparent)}100%{background:color-mix(in srgb,var(--brand) 16%,var(--card2));box-shadow:inset 4px 0 0 var(--brand),0 0 0 9px transparent}}@keyframes set-check-pop{0%,100%{transform:scale(1)}45%{transform:scale(1.16)}}@media(prefers-reduced-motion:reduce){.workline,.set-complete .training-set-row>div,.set-complete>.field{transition:none}.set-celebrating,.set-celebrating .set-done{animation:none}}

.workline.set-complete .training-set-row>.numbadge{background:var(--brand);color:#11180d;opacity:1;box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 14%,transparent)}

/* Completed fields share a softer identity fill while staying readable. */
.workline.set-complete .training-set-row>div:not(.set-done-control):not(.numbadge),.workline.set-complete>.field{opacity:1}.workline.set-complete input[readonly]{background:color-mix(in srgb,var(--brand) 22%,var(--card2));border-color:color-mix(in srgb,var(--brand) 42%,var(--stroke));color:var(--text);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--brand) 10%,transparent)}.workline.set-complete input[readonly]::placeholder{color:var(--sub);opacity:.65}.workline.set-complete .training-set-row label,.workline.set-complete>.field>label{color:color-mix(in srgb,var(--brand) 65%,var(--text))}

.series-notes{display:grid;gap:8px}.series-notes .field{margin:0}.series-notes textarea{min-height:60px;font-size:12px;line-height:1.6}.add-series-note{justify-self:start;border:1px solid var(--stroke);border-radius:6px;background:transparent;color:var(--sub);padding:6px 9px;font-size:10px;font-weight:800}.add-series-note:not(:disabled):hover{color:var(--brand);border-color:var(--brand)}.workline.set-complete .series-notes label{color:color-mix(in srgb,var(--brand) 65%,var(--text))}.workline.set-complete .series-notes textarea[readonly]{background:color-mix(in srgb,var(--brand) 22%,var(--card2));border-color:color-mix(in srgb,var(--brand) 42%,var(--stroke));color:var(--text);cursor:default}.history-notes{white-space:pre-wrap;overflow-wrap:anywhere;margin-left:12px}
.note-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.note-heading>label{font-size:10px;letter-spacing:1px;text-transform:uppercase;font-weight:850;color:#c6cdc7}.remove-series-note{border:0;background:transparent;color:var(--sub);padding:5px 0;font-size:10px;white-space:nowrap}.remove-series-note:not(:disabled):hover{color:#ffbdbe}.workline.set-complete .note-heading>label{color:color-mix(in srgb,var(--brand) 65%,var(--text))}
.notes-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.notes-actions>.remove-series-note{margin-left:auto;border:1px solid var(--stroke);border-radius:6px;padding:6px 9px;font-weight:800}.note-remove-row{display:flex;justify-content:flex-end}.note-remove-row>.remove-series-note{padding:6px 9px}

/* Clear exercise hierarchy and a footer that reads on small screens. */
.mainclient .session-ex>.row{align-items:flex-start}.mainclient .session-ex>.row>h3{color:var(--brand);font-size:clamp(20px,2.4vw,24px);line-height:1.25;font-weight:900;letter-spacing:-.4px;min-width:0;overflow-wrap:anywhere}.mainclient .session-ex>.row>.badge{flex-shrink:0}.protocol-repeat{display:flex;flex-direction:column;align-items:center;gap:10px;font-size:11px;letter-spacing:1.2px}.protocol-footer-brand{font-weight:850;line-height:1.6}.protocol-footer-repeats{display:flex;justify-content:center;flex-wrap:wrap;gap:5px 8px;max-width:100%;line-height:1.8}.protocol-footer-repeats>span{white-space:nowrap}@media(max-width:600px){.protocol-repeat{font-size:10px;letter-spacing:.8px;padding-inline:8px}.protocol-footer-repeats{gap:4px 6px}}

/* Exercise completion is derived from every currently displayed set. */
.session-ex{transition:background-color .3s,border-color .3s,box-shadow .3s}.session-ex.exercise-complete{background:color-mix(in srgb,var(--brand) 9%,var(--card2));border-color:var(--brand);box-shadow:inset 0 3px 0 var(--brand)}.exercise-status{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px;flex-shrink:0;max-width:48%}.exercise-complete-badge{background:var(--brand);color:#11180d;font-size:10px;font-weight:900;line-height:1.4;padding:7px 9px;border-radius:6px;letter-spacing:.3px}.exercise-celebrating{animation:exercise-finished .65s ease-out}@keyframes exercise-finished{0%{box-shadow:inset 0 3px 0 var(--brand),0 0 0 0 color-mix(in srgb,var(--brand) 35%,transparent)}55%{box-shadow:inset 0 3px 0 var(--brand),0 0 0 6px color-mix(in srgb,var(--brand) 12%,transparent)}100%{box-shadow:inset 0 3px 0 var(--brand),0 0 0 10px transparent}}@media(max-width:600px){.exercise-status{max-width:44%;gap:5px}.exercise-complete-badge{font-size:9px;padding:6px 7px}}@media(prefers-reduced-motion:reduce){.session-ex{transition:none}.exercise-celebrating{animation:none}}

/* Compact series notes, with labels retained for assistive technology. */
.series-notes{gap:5px}.series-notes .compact-series-note{position:relative;gap:0}.series-notes .compact-series-note textarea{min-height:38px;height:38px;padding:8px 10px;line-height:20px;resize:vertical;overflow-y:hidden}.series-notes .compact-series-note.with-note-remove textarea{padding-right:38px}.compact-series-note .note-remove-row{position:absolute;right:5px;top:4px}.compact-series-note .note-remove-row>.remove-series-note{width:28px;height:28px;padding:0;font-size:18px;line-height:1;border-radius:5px}.compact-series-note .note-remove-row>.remove-series-note:not(:disabled):hover{background:#382323}.series-notes .notes-actions{margin-top:1px}

/* One-click rest controls stay available with the duration menu closed. */
.timer-dock{display:flex;align-items:center;gap:4px;background:var(--brand);color:#11180d;border:1px solid var(--brand);border-radius:99px;padding:4px;box-shadow:0 8px 28px #0008;max-width:100%}.timer-dock .timer-launcher{border:0;background:transparent;box-shadow:none;padding:9px 10px;color:inherit;min-height:44px;gap:6px}.timer-quick-actions{display:flex;align-items:center;gap:4px;padding-left:4px;border-left:1px solid #11180d30}.timer-quick-button{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:0;border-radius:50%;background:#11180d;color:var(--brand);font-size:15px;font-weight:900;line-height:1}.timer-quick-button:last-child{font-size:24px}.timer-quick-button:focus-visible,.timer-dock .timer-launcher:focus-visible{outline:2px solid #11180d;outline-offset:2px}@media(max-width:360px){.timer-dock .timer-launcher>span:last-child{display:none}.timer-dock .timer-launcher{padding-inline:8px}}

/* Personal progress has its own prominent place beside The Logbook. */
.logbook-hero .hero-stats{min-width:195px;text-align:center;justify-items:center;gap:9px;padding:20px 22px;border:1px solid color-mix(in srgb,var(--brand) 32%,var(--stroke));border-radius:14px;background:color-mix(in srgb,var(--brand) 7%,var(--surface));box-shadow:inset 0 3px 0 var(--brand)}.logbook-hero .hero-stats>span:first-child{font-size:10px;font-weight:850;letter-spacing:1.1px;color:var(--text)}.logbook-hero .hero-stats>strong{font-size:clamp(54px,7vw,76px);font-weight:1000;line-height:1;letter-spacing:-3px;color:var(--brand);font-variant-numeric:tabular-nums}.logbook-hero .hero-stats>span:last-child{font-size:10px;font-weight:700;letter-spacing:1px;color:var(--sub)}@media(max-width:600px){.logbook-hero .hero-stats{min-width:0;max-width:100%;padding:16px 22px;margin-top:6px}.logbook-hero .hero-stats>strong{font-size:56px}.logbook-hero .hero-stats>span:first-child{font-size:10px;letter-spacing:.8px}}

.logbookhead>.identity{gap:13px;min-width:0}.logbook-brand-text{display:grid;gap:6px;min-width:0}.logbook-brand-name{font-size:clamp(14px,1.8vw,18px);line-height:1.25;font-weight:900;letter-spacing:.2px}.logbook-brand-section{font-size:10px;line-height:1.3;font-weight:750;letter-spacing:2.5px;text-transform:uppercase;color:var(--brand)}@media(max-width:600px){.logbookhead>.identity{gap:10px}.logbook-brand-name{font-size:15px}.logbook-brand-text{gap:5px}}

/* Keep the complete brand name with the original understated header style. */
.logbook-brand-name{font-size:12px;line-height:1.3;font-weight:950;letter-spacing:.8px;text-transform:uppercase;color:var(--text)}.logbook-brand-text{gap:4px}.logbook-brand-section{font-size:10px;line-height:1.3;font-weight:400;letter-spacing:1.9px;color:var(--sub)}@media(max-width:600px){.logbook-brand-name{font-size:11px}.logbook-brand-text{gap:4px}}
.exercise-title-link{color:inherit;text-decoration:none;border-radius:3px}.exercise-title-link:hover{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px}.exercise-title-link:focus-visible{outline:2px solid var(--brand);outline-offset:4px}

/* Personal names and visual faction selection in the Logbook profile. */
.profile-name-preview{display:flex;gap:12px;align-items:center;border:1px solid var(--stroke);background:var(--card2);border-radius:10px;padding:15px;margin:5px 0 14px}.profile-name-preview>div:last-child{min-width:0}.profile-name-preview strong{display:block;font-size:20px;line-height:1.3;margin:6px 0 4px;overflow-wrap:anywhere}.profile-name-preview .tiny{display:block}.profile-details .profile-save-hint{margin-bottom:0;font-size:11px}.faction-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.faction-card{display:grid;justify-items:center;gap:8px;align-content:start;text-align:center;background:var(--card2);color:var(--text);border:1px solid var(--stroke);border-radius:12px;padding:20px 12px;min-width:0}.faction-card:hover{border-color:var(--faction)}.faction-card.chosen{border-color:var(--faction);background:color-mix(in srgb,var(--faction) 10%,var(--card2));box-shadow:inset 0 3px 0 var(--faction)}.faction-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--faction);color:#101313;font-size:29px;margin-bottom:4px}.faction-card strong{font-size:12px;letter-spacing:1px;overflow-wrap:anywhere;max-width:100%}.faction-card small{font-size:11px;color:var(--sub);line-height:1.5;overflow-wrap:anywhere}.faction-state{margin-top:6px;font-size:10px;color:var(--sub)}.faction-card.chosen .faction-state{color:var(--faction);font-weight:850}@media(max-width:600px){.faction-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.faction-card{padding:16px 9px}.profile-name-preview strong{font-size:18px}}
.faction-section>h2,.faction-section>p{text-align:center}.faction-section>p{max-width:600px;margin-inline:auto}.faction-state{min-height:15px}

.mainclient .logbook-tabs{gap:10px;margin-bottom:22px}.mainclient .logbook-tabs>button{display:flex;align-items:center;justify-content:center;min-height:48px;min-width:140px;padding:13px 24px;font-size:14px;line-height:1.3;font-weight:850;border-radius:9px;border-color:#49504e;color:var(--text)}.mainclient .logbook-tabs>button.sel{border-color:var(--brand);background:var(--brand);color:#101313;box-shadow:0 3px 12px color-mix(in srgb,var(--brand) 15%,transparent)}@media(max-width:600px){.mainclient .logbook-tabs{display:grid;grid-template-columns:1fr 1fr;gap:9px}.mainclient .logbook-tabs>button{min-width:0;width:100%;padding:13px 16px}}

.mainclient .logbook-tabs{gap:8px;margin-bottom:18px}.mainclient .logbook-tabs>button{min-height:38px;min-width:105px;padding:9px 17px;font-size:12px;font-weight:800;border-radius:8px}@media(max-width:600px){.mainclient .logbook-tabs{display:flex;gap:8px}.mainclient .logbook-tabs>button{width:auto;min-width:105px;padding:9px 17px}}

.mainclient .logbook-tabs{justify-content:flex-end}


.logbook-welcome-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 24px}.logbook-user-summary{min-width:0}.logbook-user-summary>div:last-child{min-width:0}.logbook-user-summary .major{overflow-wrap:anywhere}.mainclient .logbook-welcome-row>.logbook-tabs{flex-shrink:0;margin:0;justify-content:flex-end}@media(max-width:600px){.logbook-welcome-row{flex-wrap:wrap;gap:14px}.mainclient .logbook-welcome-row>.logbook-tabs{margin-left:auto;max-width:100%;flex-shrink:1}}

.trainer-mode-menu{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;margin:26px 0 30px}.trainer-mode-button{min-height:50px;min-width:185px;padding:14px 24px;border:1px solid var(--stroke);border-radius:10px;background:var(--card);color:var(--text);font-size:14px;line-height:1.3;font-weight:850}.trainer-mode-button.active{background:var(--brand);border-color:var(--brand);color:#101313}.trainer-mode-button:hover{border-color:var(--brand)}@media(max-width:600px){.trainer-mode-menu{display:grid;grid-template-columns:1fr 1fr;gap:9px}.trainer-mode-button{min-width:0;padding:13px 12px;font-size:13px}}
.logbook-client-picker>h2,.logbook-client-picker>.row>h2{color:var(--brand)}.logbook-client-picker .listitem>input{width:19px;height:19px;flex:0 0 19px;accent-color:var(--brand)}.logbook-client-picker .listitem:has(input:checked){border-color:var(--brand)}@media(max-width:420px){.logbook-client-picker .listitem{gap:8px;padding:10px}.logbook-client-picker .listitem>.avatar{width:32px;height:32px;flex-basis:32px;font-size:19px}.logbook-client-picker>.row>.primary{width:100%}}
.logbook-client-option{width:100%;text-align:left;color:var(--text);cursor:pointer}.logbook-client-option .body{min-width:0}.logbook-client-option .body>b{white-space:normal;overflow-wrap:anywhere}.logbook-client-option:hover{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 7%,var(--card2))}.client-option-arrow{font-size:24px;color:var(--brand);padding:0 5px}
.profile-reset-section{display:flex;justify-content:space-between;align-items:center;gap:18px}.profile-reset-section p{margin-bottom:0}.reset-warning{color:#ffbdbe;font-size:12px;line-height:1.6}#profileResetForm{margin-top:20px}@media(max-width:600px){.profile-reset-section{align-items:flex-start;flex-direction:column}}
.profile-button.account-profile-button{gap:10px;padding:6px 17px 6px 6px;font-size:.875rem}
.profile-button.account-profile-button .avatar{width:36px;height:36px;flex-basis:36px}
.profile-reset-dialog{width:min(510px,100%);text-align:center}
.profile-reset-dialog p{line-height:1.6;text-wrap:pretty}
.profile-reset-dialog .actions{justify-content:center}
.profile-reset-dialog input{text-align:center}

@media(max-width:600px){.mainclient .logbook-welcome-row>.logbook-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:7px}.mainclient .logbook-welcome-row>.logbook-tabs>button{min-width:0;width:100%;padding:9px 7px;font-size:12px;min-height:40px}}

.program-day-tabs>button{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:36px}.program-day-tabs>button.day-trained:not(.sel){border-color:var(--brand);background:color-mix(in srgb,var(--brand) 13%,var(--card2));color:var(--brand)}.program-day-tabs>button>small{font-size:8px;letter-spacing:.5px;border:1px solid currentColor;border-radius:4px;padding:3px 4px;line-height:1}.next-workout-note{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:13px 14px;background:color-mix(in srgb,var(--brand) 7%,var(--surface));border:1px solid color-mix(in srgb,var(--brand) 25%,var(--stroke));border-radius:9px;margin:12px 0}.next-workout-note>div{display:grid;gap:5px}.next-workout-note strong{font-size:11px;color:var(--brand)}.next-workout-note span{font-size:12px;color:var(--text)}@media(max-width:480px){.next-workout-note>.btn{width:100%}}
.program-day-tabs>button.day-pending:not(.sel){border-color:color-mix(in srgb,var(--brand) 60%,var(--stroke));border-style:dashed;background:color-mix(in srgb,var(--brand) 10%,var(--card2));color:var(--text)}.program-day-tabs>button.day-pending:not(.sel)>small{color:var(--brand);background:color-mix(in srgb,var(--brand) 8%,transparent)}.program-day-tabs>button.day-pending:not(.sel):hover{background:color-mix(in srgb,var(--brand) 19%,var(--card2))}
.training-hint{text-align:center}
.profile-language>h2{text-align:center}.language-options{display:flex;justify-content:center;gap:14px;margin-top:16px}.language-option{display:flex;align-items:center;justify-content:center;padding:10px;border:1px solid var(--stroke);border-radius:10px;background:var(--card2);cursor:pointer}.language-option>svg{display:block;width:60px;height:40px;border-radius:3px}.language-option.chosen{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 14%,var(--card2));box-shadow:0 0 0 1px var(--brand)}.language-option:hover{border-color:var(--brand)}.language-option:focus-visible{outline:2px solid var(--brand);outline-offset:4px}
.language-option{flex-direction:column;gap:8px}.language-option>small{font-size:11px;line-height:1.2;color:var(--text)}
.mainclient .selected-workout-title{font-size:clamp(32px,5vw,48px);font-weight:950;line-height:1.05;letter-spacing:-1.5px;text-transform:uppercase;color:var(--text);margin:30px 0 22px;padding:0;text-align:center;border:0;overflow-wrap:anywhere}
.mainclient .selected-workout-title::after{content:"";display:block;width:96px;height:3px;margin:16px auto 0;background:linear-gradient(90deg,transparent,var(--brand) 30%,var(--brand) 70%,transparent);border-radius:2px}
.mainclient .selected-workout-title{margin:40px 0 30px}
.exercise-description-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;column-gap:20px;margin:10px 0 15px}.exercise-description-row>.exercise-substitutions{min-width:0;margin:0}.exercise-description-row>.meta{margin:0;text-align:right}.exercise-description-row summary{line-height:1.5}@media(max-width:600px){.exercise-description-row{grid-template-columns:minmax(0,1fr);row-gap:8px}.exercise-description-row>.meta{text-align:left}}
.exercise-description-row{align-items:start;grid-template-columns:minmax(190px,1fr) auto}.exercise-description-row>.exercise-substitutions{padding-top:8px}.exercise-description-row>.meta{font-size:13px;line-height:1.65;color:var(--text);background:color-mix(in srgb,var(--brand) 5%,var(--surface));border:1px solid color-mix(in srgb,var(--brand) 18%,var(--stroke));border-radius:7px;padding:6px 10px}.exercise-description-row>.meta strong{font-weight:750}@media(max-width:700px){.exercise-description-row{grid-template-columns:minmax(0,1fr);row-gap:10px}.exercise-description-row>.meta{text-align:left}.exercise-description-row>.exercise-substitutions{padding-top:0}}
.exercise-description-row>.exercise-prescription{display:flex;align-items:center;flex-wrap:wrap;gap:0;padding:8px 0;text-align:left}.exercise-prescription>span{display:block;padding:0 12px;white-space:nowrap;font-weight:400}.exercise-prescription>span+span{border-left:1px solid color-mix(in srgb,var(--brand) 23%,var(--stroke))}.exercise-prescription>span>strong{font-weight:750}@media(max-width:420px){.exercise-description-row>.exercise-prescription{display:grid;grid-template-columns:1fr 1fr;row-gap:10px}.exercise-prescription>span:nth-child(3){border-left:0}}
@media(min-width:701px){.exercise-description-row>.exercise-prescription{transform:translateY(-24px)}}
.exercise-description-row>.exercise-prescription:only-child{grid-column:1/-1;justify-self:end;transform:none}
.exercise-description-row>.exercise-prescription:has(>span:only-child){display:inline-flex}
.previous-workout-notice{text-align:center}
.section>.program-library-title{text-align:center;font-size:18px;margin-bottom:16px}
.client-programs>h2,.client-programs>p{text-align:center}.client-programs>.locked-programs-heading{justify-content:center;gap:12px;flex-wrap:wrap;text-align:center}.client-programs>.pillgrid>button.locked{min-height:46px;font-size:12px;padding:12px 16px}
.client-programs .program-collection-card{display:flex;flex-direction:column;align-items:stretch;gap:0;position:relative;overflow:hidden;padding:26px;margin:22px 0;border-radius:14px;background:radial-gradient(ellipse at 100% 0%,color-mix(in srgb,var(--brand) 10%,transparent),transparent 65%),var(--surface);border-color:color-mix(in srgb,var(--brand) 28%,var(--stroke));transition:border-color .2s,background .2s}.program-collection-card.chosen{border-color:color-mix(in srgb,var(--brand) 65%,var(--stroke));box-shadow:inset 0 3px 0 var(--brand)}.program-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.program-current{font-size:10px;color:var(--sub);font-weight:600}.program-card-body{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:32px 0}.program-card-copy{display:block;min-width:0;flex:1}.workout-choice .program-card-name{display:block;font-size:clamp(30px,5vw,52px);font-weight:950;line-height:1.05;letter-spacing:-1.8px;text-transform:uppercase;overflow-wrap:anywhere}.program-card-description{display:block;font-size:13px;line-height:1.7;color:var(--sub);margin-top:14px;max-width:420px}.program-card-art{display:flex;gap:7px;align-items:flex-end;height:105px;flex:0 0 96px;transform:skewY(-12deg);opacity:.65}.program-card-art>span{width:27px;border:1px solid color-mix(in srgb,var(--brand) 60%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--brand) 18%,transparent),transparent);height:45%}.program-card-art>span:nth-child(2){height:72%}.program-card-art>span:nth-child(3){height:100%;border-top:3px solid var(--brand)}.program-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:20px;border-top:1px solid var(--stroke)}.program-card-sessions{display:grid;gap:10px;min-width:0}.program-session-count{font-size:10px;letter-spacing:1.6px;font-weight:800;color:var(--sub)}.program-session-names{display:flex;flex-wrap:wrap;gap:7px}.program-session-names>span{font-size:10px;padding:5px 7px;border:1px solid var(--stroke);border-radius:4px;color:var(--text)}.program-card-cta{display:flex;align-items:center;gap:16px;flex-shrink:0;font-size:12px;font-weight:800;color:var(--brand)}.program-card-cta>span{font-size:22px}.program-collection-card:hover{filter:none;border-color:var(--brand)}@media(max-width:600px){.client-programs .program-collection-card{padding:20px}.program-card-body{padding:28px 0}.program-card-art{flex-basis:60px;height:78px;gap:5px}.program-card-art>span{width:16px}.program-card-bottom{align-items:flex-start;flex-direction:column;gap:20px}.program-card-cta{align-self:flex-end}.workout-choice .program-card-name{letter-spacing:-1px;font-size:clamp(26px,7vw,38px)}}
.editor-exercise-form{padding:18px;margin:16px 0;border:1px solid var(--stroke);border-radius:10px;background:var(--surface)}.editor-exercise-form h3{font-size:15px;margin:0 0 16px}
.plan-editor-save{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:24px;padding-top:20px;border-top:1px solid var(--stroke)}.plan-editor-save>.actions{margin-left:auto}@media(max-width:480px){.plan-editor-save>.actions{width:100%;margin-left:0}.plan-editor-save>.actions>.btn{flex:1}}
.side>.studio-brand{padding-left:0;padding-right:0;gap:11px}.studio-brand>.brand-symbol{flex-shrink:0}.studio-brand .logbook-brand-name{white-space:nowrap;font-size:12px;letter-spacing:.6px}@media(min-width:1251px){.shell{grid-template-columns:280px minmax(0,1fr)}}@media(min-width:761px) and (max-width:1250px){.shell{grid-template-columns:280px minmax(0,1fr)}}
.nav-personal-group{display:grid;gap:4px;padding:5px;margin:6px 0 10px;border:1px solid var(--stroke);border-radius:12px;background:color-mix(in srgb,var(--brand) 4%,var(--surface))}.nav-personal-group>button{padding:12px 7px}.nav-personal-group>button+button{border-top:1px solid color-mix(in srgb,var(--stroke) 65%,transparent)}@media(max-width:760px){.nav-personal-group{display:flex;flex-shrink:0;align-items:center;margin:0 4px;padding:3px;gap:3px}.nav-personal-group>button{padding:9px 10px}.nav-personal-group>button+button{border-top:0}}
.library-intro{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;border-top:3px solid var(--brand)}.library-intro>div:first-child{flex:1;min-width:200px}.library-intro p{margin-bottom:0}.library-tabs{margin:0 0 18px}.library-tabs button{font-size:13px;padding:10px 16px}.library-tabs button>span{margin-left:8px;font-size:10px;opacity:.7}.library-search{margin:14px 0 20px}.library-search-label{display:block;color:var(--sub);font-size:11px;margin-bottom:7px}.library-search>div{display:flex;gap:8px}.library-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px}.library-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0;padding:20px;border:1px solid var(--stroke);border-radius:11px;background:var(--card2)}.library-card h3{font-size:20px;font-weight:850;letter-spacing:-.5px;line-height:1.2;margin:0;overflow-wrap:anywhere}.library-card>.actions{margin-top:auto;padding-top:12px}.library-card p{margin:0;font-size:12px;line-height:1.7}.library-card .smallcaps{font-size:9px;color:var(--brand)}.library-exercise-tags{display:flex;flex-wrap:wrap;gap:6px}.library-exercise-tags>span{font-size:10px;line-height:1.4;padding:4px 7px;border:1px solid var(--stroke);border-radius:4px;color:var(--sub);overflow-wrap:anywhere}.library-editor{border-color:color-mix(in srgb,var(--brand) 40%,var(--stroke))}.library-quick-names{display:flex;flex-wrap:wrap;gap:7px;margin:-2px 0 22px}.library-builder-add{display:flex;align-items:flex-end;gap:12px;margin:22px 0}.library-builder-add>.field{flex:1;min-width:0;margin:0}.library-routine-list{display:grid;gap:12px}.library-routine-exercise{background:var(--surface);border:1px solid var(--stroke);border-radius:10px;padding:15px}.library-routine-exercise>.row>strong{font-size:14px}.library-routine-exercise summary{color:var(--brand);font-size:11px;cursor:pointer;margin:14px 0}.library-routine-exercise>p{margin:12px 0 0;font-size:11px}.editor-library-tools{margin:14px 0}.editor-library-tools>.actions{gap:7px}.editor-library-tools>.actions>.btn{font-size:10px}.library-picker,.library-capture{border:1px solid color-mix(in srgb,var(--brand) 35%,var(--stroke));border-radius:10px;background:var(--surface);padding:18px;margin:16px 0}.library-picker h3{margin:0;font-size:17px}.library-picker>.row+p{color:var(--sub);font-size:11px;line-height:1.7;margin:12px 0 18px}.library-picker .library-card{padding:14px}.library-picker .library-card h3{font-size:17px}.library-picker .library-grid{max-height:480px;overflow:auto;scrollbar-gutter:stable}.library-notice{margin:16px 0}@media(max-width:600px){.library-intro>.actions{width:100%}.library-builder-add{flex-wrap:wrap}.library-builder-add>.field{flex-basis:100%}.library-editor .plan-editor-save>.actions{width:100%}.library-card{padding:16px}}
.session-exercise-list{position:relative;isolation:isolate}.session-exercise-list.is-exercise-sorting{cursor:grabbing;user-select:none}.is-exercise-dragging{opacity:.38;border-style:dashed!important}.exercise-drag-preview{position:absolute;z-index:20;pointer-events:none;max-width:100%;padding:12px 15px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:850;line-height:20px;background:var(--surface);color:var(--brand);border:1px solid var(--brand);border-radius:9px;box-shadow:0 8px 28px #0008}.exercise-sorting,.exercise-sorting *{cursor:grabbing!important}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}


.session-exercise-list>.session-ex:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
.session-series-list{position:relative;display:flow-root;isolation:isolate}.session-series-list.is-exercise-sorting{user-select:none;cursor:grabbing}.session-series-list>.workline:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.session-series-list>.workline:first-child{margin-top:0}.session-series-list>.workline:last-child{margin-bottom:0}
.dashboard-workspace>.kicker,.dashboard-workspace>.page-title,.dashboard-workspace>.lead{text-align:center}.dashboard-workspace>.lead{max-width:640px;margin-left:auto;margin-right:auto}.dashboard-workspace>.topactions{justify-content:center;gap:10px;margin-top:24px;margin-bottom:28px}.dashboard-coach-card{padding:28px 24px;background:radial-gradient(ellipse at 50% 0,color-mix(in srgb,var(--brand) 6%,transparent),transparent 75%),var(--card);border-color:color-mix(in srgb,var(--brand) 20%,var(--stroke))}.dashboard-coach-card h2::after{content:"";display:block;width:64px;height:3px;margin:16px auto;background:linear-gradient(90deg,transparent,var(--brand),transparent)}.dashboard-coach-content{flex-direction:column;align-items:center;text-align:center;gap:20px}.dashboard-coach-card h2{font-size:clamp(20px,2.5vw,25px);line-height:1.25;font-weight:900;letter-spacing:.3px;overflow-wrap:anywhere}.dashboard-coach-card p{max-width:550px;margin:8px auto 0;line-height:1.8}.dashboard-coach-content>.actions{justify-content:center;gap:10px}.dashboard-coach-content>.actions>.btn{min-width:132px;padding:12px 18px;font-size:12px}.dashboard-client-management>h2,.dashboard-client-management>p{text-align:center}.dashboard-client-management>p{margin-bottom:20px}@media(max-width:480px){.dashboard-coach-card{padding:24px 16px}.dashboard-coach-content>.actions{width:100%}.dashboard-coach-content>.actions>.btn{flex:1;min-width:0}}
.programs-workspace>.kicker,.programs-workspace>.page-title,.programs-workspace>.lead{text-align:center}.programs-workspace>.lead{max-width:640px;margin-left:auto;margin-right:auto}.programs-workspace>.topactions{justify-content:center;gap:10px;margin:24px 0 28px}.program-catalog>.program-library-title{font-size:22px;font-weight:900;letter-spacing:.7px;margin-bottom:20px}.program-catalog>.program-picker{grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:10px}.program-picker>button{--program-accent:var(--brand);min-height:48px;padding:12px 18px;font-size:12px;font-weight:850;letter-spacing:.4px;border-radius:9px;min-width:0;overflow-wrap:anywhere}.program-picker>button[data-id="foundation"]{--program-accent:#86d1ff}.program-picker>button[data-id="build"]{--program-accent:#65d9cf}.program-picker>button[data-id="foundation"],.program-picker>button[data-id="build"]{color:var(--program-accent);border-color:color-mix(in srgb,var(--program-accent) 45%,var(--stroke));background:color-mix(in srgb,var(--program-accent) 9%,var(--surface))}.program-picker>button.active{background:var(--program-accent);border-color:var(--program-accent);color:#101719;box-shadow:0 3px 14px color-mix(in srgb,var(--program-accent) 14%,transparent)}.program-picker>button:focus-visible{outline-color:var(--program-accent)}.program-details>.field>label{text-align:center}.programs-workspace .plan-editor-heading{justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:12px;text-align:center}.programs-workspace .plan-editor-heading>h2{font-size:18px;font-weight:850;line-height:1.3;margin:0}
.program-picker>button[data-id="advanced"]{--program-accent:#029573}.program-picker>button[data-id="advanced"]:not(.active){color:var(--program-accent);border-color:color-mix(in srgb,var(--program-accent) 45%,var(--stroke));background:color-mix(in srgb,var(--program-accent) 9%,var(--surface))}
.programs-workspace .program-details>.field>input{text-align:center}.programs-workspace .plan-template-editor>.field:has(>[data-bind="editor.day"]),.programs-workspace .plan-template-editor>.field:has(>[data-bind="editor.dayname"]){text-align:center}.programs-workspace .plan-template-editor [data-bind="editor.day"],.programs-workspace .plan-template-editor [data-bind="editor.dayname"]{text-align:center}.programs-workspace .plan-template-editor select[data-bind="editor.day"]{text-align-last:center}
.program-catalog{--routine-accent:var(--brand)}.program-catalog[data-program="foundation"]{--routine-accent:#86d1ff}.program-catalog[data-program="build"]{--routine-accent:#65d9cf}.program-catalog[data-program="advanced"]{--routine-accent:#029573}.program-structure{margin-top:26px;padding-top:22px;border-top:1px solid var(--stroke);text-align:center}.program-structure>h3{font-size:15px;margin:0 0 9px;letter-spacing:.3px}.program-structure>p{font-size:12px;margin-bottom:18px}.program-frequency-options{display:flex;justify-content:center;gap:12px;margin:18px 0 28px}.program-frequency-options>button{display:grid;gap:4px;min-width:88px;padding:14px 22px;color:var(--text);border:1px solid var(--stroke);border-radius:10px;background:var(--surface)}.program-frequency-options strong{font-size:27px;line-height:1;font-weight:900}.program-frequency-options span{font-size:11px;color:var(--sub)}.program-frequency-options>button.selected{border-color:var(--routine-accent);background:color-mix(in srgb,var(--routine-accent) 13%,var(--surface))}.program-frequency-options>button.selected strong{color:var(--routine-accent)}.program-routine-options{display:grid;gap:10px;text-align:left;margin-top:18px}.program-routine-option{display:flex;flex-direction:column;gap:11px;width:100%;text-align:left;padding:18px;color:var(--text);border:1px solid var(--stroke);border-radius:10px;background:var(--surface)}.program-routine-option.selected{border-color:var(--routine-accent);background:color-mix(in srgb,var(--routine-accent) 8%,var(--surface));box-shadow:inset 3px 0 var(--routine-accent)}.program-routine-option-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.program-routine-option-top>strong{font-size:16px;line-height:1.4;font-weight:850}.program-routine-focus{font-size:13px;line-height:1.6;color:var(--sub);white-space:pre-line;overflow-wrap:anywhere}.program-recommendation{display:inline-flex;align-items:center;font-size:12px;line-height:1.3;font-weight:850;padding:7px 11px;border:1px solid color-mix(in srgb,var(--routine-accent) 45%,transparent);border-radius:7px;background:color-mix(in srgb,var(--routine-accent) 18%,transparent);color:var(--routine-accent)}.program-routine-sessions{display:flex;flex-wrap:wrap;gap:6px}.program-routine-sessions>span{font-size:10px;padding:5px 8px;border-radius:5px;border:1px solid var(--stroke);color:var(--sub);background:var(--card2)}.program-selection-empty{margin:18px 0}.selected-program-routine{text-align:center;padding:26px}.selected-program-routine>h2{font-size:clamp(20px,3vw,28px);line-height:1.3;margin:12px 0;font-weight:900;letter-spacing:-.4px}.selected-program-routine>.program-routine-sessions{justify-content:center}.selected-program-routine>.routine-pending{font-size:11px;margin:16px 0 0;color:var(--sub)}@media(max-width:480px){.program-frequency-options>button{min-width:74px;padding:12px 18px}.program-routine-option{padding:15px}.program-routine-option-top>strong{font-size:14px}}
.program-routine-options{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}

.client-program-group{margin:26px 0;padding-top:22px;border-top:1px solid var(--stroke);--routine-accent:var(--brand)}.client-program-group>h3{text-align:center;font-size:24px;margin:0 0 10px}.client-program-group>p{text-align:center}.client-program-group .program-frequency-options{margin:18px 0}.client-program-group .program-card-name{font-size:clamp(23px,3.5vw,34px);letter-spacing:-.8px}

.mainclient .selected-workout-subtitle{text-align:center;color:color-mix(in srgb,var(--text) 82%,var(--sub));font-size:15px;font-weight:600;line-height:1.6;letter-spacing:.5px;margin:-12px auto 30px;max-width:600px;overflow-wrap:anywhere}.programs-workspace .plan-template-editor>.field:has(>[data-bind="editor.daysubtitle"]){text-align:center}.programs-workspace [data-bind="editor.daysubtitle"]{text-align:center}

.mainclient .training-program-panel{position:relative;padding:30px 24px 20px;border-radius:18px;border-color:color-mix(in srgb,var(--brand) 22%,var(--stroke));background:radial-gradient(ellipse at 50% 0%,color-mix(in srgb,var(--brand) 9%,transparent),transparent 65%),var(--card)}
.training-program-panel::before{content:"";position:absolute;top:0;left:25%;right:25%;height:2px;background:linear-gradient(90deg,transparent,var(--brand),transparent)}
.training-plan-heading{text-align:center;margin:0 0 26px}.training-plan-eyebrow{display:block;font-size:9px;font-weight:800;letter-spacing:2.5px;text-transform:uppercase;color:var(--brand);margin-bottom:13px}.training-plan-identity{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.mainclient .training-plan-identity>h2{font-size:clamp(25px,4vw,36px);font-weight:950;line-height:1.12;letter-spacing:-.9px;margin:0;overflow-wrap:anywhere}.training-frequency{display:inline-flex;align-items:center;justify-content:center;padding:8px 15px;border-radius:999px;border:1px solid color-mix(in srgb,var(--brand) 35%,var(--stroke));background:color-mix(in srgb,var(--brand) 10%,var(--surface));color:var(--brand);font-size:13px;font-weight:850;letter-spacing:.8px;white-space:nowrap}.mainclient .training-plan-routine{display:flex;align-items:center;justify-content:center;gap:14px;font-size:clamp(20px,2.6vw,24px);font-weight:800;line-height:1.35;color:var(--text);margin:13px auto 0;max-width:600px;overflow-wrap:anywhere}.training-plan-routine::before,.training-plan-routine::after{content:"";height:1px;flex:0 1 36px;background:color-mix(in srgb,var(--brand) 28%,var(--stroke))}
.training-program-panel .program-day-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:7px;padding:6px;border:1px solid var(--stroke);background:color-mix(in srgb,var(--bg) 50%,transparent);border-radius:12px;margin:0 0 17px}.training-program-panel .program-day-tabs>button{justify-content:center;min-height:43px;padding:10px 12px;border-radius:8px;text-align:center;background:transparent;border-color:transparent;font-size:12px;font-weight:650;line-height:1.4;min-width:0}.training-program-panel .program-day-tabs>button.sel{background:var(--brand);color:var(--bg);border-color:var(--brand);box-shadow:0 3px 12px color-mix(in srgb,var(--brand) 14%,transparent)}.training-program-panel .program-day-tabs>button.day-pending:not(.sel){background:color-mix(in srgb,var(--brand) 5%,transparent);border:1px solid color-mix(in srgb,var(--brand) 28%,transparent)}.training-program-panel .program-day-tabs>button.day-trained:not(.sel){color:var(--brand)}
.training-program-panel .next-workout-note{margin:0;padding:14px 0;border:0;border-top:1px solid var(--stroke);border-radius:0;background:transparent;gap:12px}.training-program-panel .next-workout-note span{color:var(--sub);font-size:12px}.training-program-panel .next-workout-note>.btn{background:transparent;border-color:color-mix(in srgb,var(--brand) 30%,var(--stroke));color:var(--brand);font-size:11px;padding:9px 12px}.mainclient .training-program-panel .training-hint{font-size:11px;line-height:1.7;margin:8px 0 0;color:var(--sub)}
@media(max-width:480px){.mainclient .training-program-panel{padding:25px 16px 18px}.training-plan-identity{gap:10px}.mainclient .training-plan-identity>h2{font-size:27px}.training-program-panel .program-day-tabs{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.training-program-panel .next-workout-note>.btn{width:auto;max-width:100%}.training-program-panel .next-workout-note{justify-content:center;text-align:center}}
.pwa-install-bar[hidden]{display:none}.pwa-install-bar{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;padding:8px 16px;background:var(--surface);border-bottom:1px solid var(--stroke);color:var(--sub);font-size:11px}.pwa-install-bar .btn{background:transparent;color:var(--brand);border-color:color-mix(in srgb,var(--brand) 35%,var(--stroke))}.pwa-install-help{width:min(440px,calc(100% - 32px));padding:26px;border:1px solid var(--stroke);border-radius:16px;background:var(--card);color:var(--text)}.pwa-install-help::backdrop{background:rgb(0 0 0 / .72)}.pwa-install-help h2{font-size:22px;line-height:1.25;margin:0 0 16px}.pwa-install-help p{line-height:1.7}.pwa-install-help #pwaInstallInstructions{white-space:pre-line}.pwa-install-help #pwaInstallNote{text-align:center}.pwa-install-help form{display:flex;justify-content:center;margin-top:20px}

.client-program-group[data-program="foundation"]{--brand:#86d1ff}.client-program-group[data-program="build"]{--brand:#65d9cf}.client-program-group[data-program="advanced"]{--brand:#029573}.client-program-group[data-program]>h3{color:var(--brand)}.mainclient .client-program-description{max-width:660px;margin:0 auto 16px;font-size:14px;line-height:1.75;white-space:pre-line;overflow-wrap:anywhere;color:color-mix(in srgb,var(--text) 85%,var(--sub))}.client-program-group .program-card-description{max-width:540px;white-space:pre-line}.client-program-group button:focus-visible{outline-color:var(--brand)}

.client-programs-intro{text-align:center;margin:6px auto 24px;max-width:660px}.mainclient .client-programs-intro>h2{font-size:clamp(26px,3.5vw,32px);font-weight:900;line-height:1.15;letter-spacing:-.6px;margin:0 0 12px}.mainclient .client-programs-intro>p{font-size:14px;line-height:1.75;margin:0;color:var(--sub)}.client-programs>.client-program-group:first-child{margin-top:0;padding-top:4px;border-top:0}

.programs-workspace .program-details textarea[data-bind="program.description"]{min-height:140px;line-height:1.7;text-align:center;resize:vertical;padding:14px 16px}

.program-routine-catalog>.program-structure{margin-top:0;padding-top:0;border-top:0}

.client-program-group .catalog-program-card .program-card-name{font-size:clamp(30px,5vw,52px);letter-spacing:-1.5px}.client-program-group .catalog-program-card .client-program-description{margin:14px 0 0;max-width:620px;font-size:14px;text-align:left}.catalog-program-card .program-card-copy{min-width:0}.client-program-detail>article.catalog-program-card:hover{border-color:color-mix(in srgb,var(--brand) 28%,var(--stroke))}.client-program-step{padding-top:22px;border-top:1px solid var(--stroke);margin-top:24px;text-align:center}.client-program-step>h3{font-size:18px;margin:0 0 10px}.client-program-step>p{font-size:12px;color:var(--sub)}.client-routine-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:12px;margin-top:0;text-align:left}.client-routine-card{display:flex;flex-direction:column;gap:14px;padding:20px;width:100%;text-align:left;color:var(--text);background:var(--surface);border:1px solid var(--stroke);border-radius:11px}.client-routine-card:hover,.client-routine-card.chosen{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 6%,var(--surface))}.client-routine-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.client-routine-top>strong{font-size:18px;line-height:1.35}.client-routine-focus{font-size:14px;color:var(--sub);line-height:1.6}.client-routine-cta{font-size:11px;font-weight:800;color:var(--brand);margin-top:auto;padding-top:8px;align-self:flex-end}

.catalog-program-card .program-session-count{font-size:12px;letter-spacing:1.3px}.catalog-program-card .program-session-names{gap:9px}.catalog-program-card .program-session-names>span{font-size:14px;font-weight:700;padding:8px 12px;border-radius:7px;border-color:color-mix(in srgb,var(--brand) 30%,var(--stroke));background:color-mix(in srgb,var(--brand) 6%,var(--surface));color:var(--text)}.program-level-art{display:flex;flex:0 0 112px;flex-direction:column;align-items:center;gap:10px;color:var(--brand)}.program-level-number{font-size:36px;line-height:1;font-weight:900;letter-spacing:-1.5px;font-variant-numeric:tabular-nums}.program-level-bars{display:flex;align-items:flex-end;justify-content:center;gap:6px;height:62px;width:100%}.program-level-bars>span{width:25px;height:30%;border:1px solid color-mix(in srgb,var(--brand) 22%,var(--stroke));border-radius:4px 4px 0 0;background:transparent}.program-level-bars>span:nth-child(2){height:65%}.program-level-bars>span:nth-child(3){height:100%}.program-level-bars>span.filled{border-color:var(--brand);background:linear-gradient(180deg,var(--brand),color-mix(in srgb,var(--brand) 30%,var(--surface)));box-shadow:0 0 16px color-mix(in srgb,var(--brand) 12%,transparent)}.program-level-label{font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase}.program-card-body:has(.program-level-art){gap:26px}@media(max-width:600px){.catalog-program-card .program-card-body{flex-direction:column;align-items:stretch;gap:24px}.program-level-art{flex-basis:auto;flex-direction:row;justify-content:flex-start;gap:14px}.program-level-bars{height:40px;width:74px}.program-level-bars>span{width:19px}.program-level-number{font-size:28px}.program-level-label{font-size:11px}.catalog-program-card .program-card-bottom{gap:18px}}

.catalog-program-card .catalog-frequency-panel{display:block;text-align:center;padding-top:20px}.catalog-frequency-panel>h3{font-size:16px;font-weight:800;margin:0 0 8px;letter-spacing:.2px}.catalog-frequency-panel>p{font-size:12px;line-height:1.6;margin:0 0 16px;color:var(--sub)}.client-program-detail .catalog-frequency-panel .program-frequency-options{justify-content:flex-start;margin:0;gap:10px}.catalog-frequency-panel .program-frequency-options>button{min-width:82px;padding:13px 20px}.catalog-frequency-panel .program-frequency-options>button:focus-visible{outline-color:var(--brand)}

.catalog-day-options{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:18px}.catalog-day-button{display:grid;justify-items:center;gap:4px;min-width:88px;padding:14px 22px;border-radius:10px;color:var(--text);border:1px solid var(--stroke);background:var(--surface)}.catalog-day-button.selected{color:var(--text);background:color-mix(in srgb,var(--brand) 13%,var(--surface));border-color:var(--brand)}.catalog-day-button:focus-visible{outline-color:var(--brand)}

.catalog-day-button>strong{font-size:27px;line-height:1;font-weight:900}.catalog-day-button>span{font-size:11px;color:var(--sub)}.catalog-day-button.selected>strong{color:var(--brand)}@media(max-width:480px){.catalog-day-button{min-width:74px;padding:12px 18px}}


.catalog-program-card .program-card-body{padding:24px 0 20px}.program-description-panel{padding:16px 20px;margin:0 0 24px;border-left:2px solid color-mix(in srgb,var(--brand) 65%,var(--stroke));border-radius:0 10px 10px 0;background:color-mix(in srgb,var(--brand) 4%,var(--surface))}.client-program-group .catalog-program-card .program-description-panel>.client-program-description{margin:0;max-width:none;font-size:15px;line-height:1.85;text-align:left;color:color-mix(in srgb,var(--text) 88%,var(--sub));white-space:pre-line;text-wrap:pretty}@media(max-width:600px){.program-description-panel{padding:14px 16px}.client-program-group .catalog-program-card .program-description-panel>.client-program-description{font-size:14px;line-height:1.8}}

.catalog-availability-message{grid-column:1 / -1;width:100%;text-align:center;font-size:14px;line-height:1.6;padding:8px 0}.selected-program-routine textarea[data-bind="editor.routinename"]{min-height:100px;resize:vertical;line-height:1.6;text-align:left}.selected-program-routine>h2,.program-routine-option-top>strong,.client-routine-top>strong,.training-plan-routine{white-space:pre-line;overflow-wrap:anywhere}

.pwa-install-bar{position:relative;padding:9px 58px;font-size:14px;line-height:1.5;gap:14px}.pwa-install-bar #pwaInstallButton{font-size:13px;padding:9px 16px;min-height:38px}.pwa-install-dismiss{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--sub);font-size:26px;line-height:1;cursor:pointer}.pwa-install-dismiss:hover{background:var(--card2);color:var(--text)}.pwa-install-dismiss:focus-visible{outline:2px solid var(--brand);outline-offset:2px}@media(max-width:480px){.pwa-install-bar{padding:9px 54px 9px 16px;text-align:center;font-size:13px;gap:10px}}

.selected-program-routine textarea[data-bind="editor.routinefocus"]{min-height:100px;resize:vertical;line-height:1.6;text-align:left}.client-routine-focus{white-space:pre-line;overflow-wrap:anywhere}

.program-routine-option .routine-inline-trigger,.program-routine-option textarea{display:block;width:100%;margin:0;padding:3px 5px;border:1px solid transparent;border-radius:5px;background:transparent;color:inherit;text-align:left;font-family:inherit;white-space:pre-wrap;overflow-wrap:anywhere}.program-routine-option .routine-inline-name{font-size:16px;font-weight:850;line-height:1.4}.program-routine-option .program-routine-focus{font-size:13px;color:var(--sub);line-height:1.6}.program-routine-option textarea{resize:vertical;min-height:48px}.program-routine-option .routine-inline-trigger:hover,.program-routine-option textarea:hover{border-color:var(--stroke)}.program-routine-option textarea:focus{outline:1px solid var(--routine-accent);background:var(--surface)}.program-routine-option-top{align-items:flex-start}.routine-select-sessions{display:flex;flex-direction:column;gap:12px;width:100%;margin-top:auto;padding:0;border:0;background:transparent;color:var(--sub);text-align:left}.routine-select-sessions>.tiny{align-self:flex-end;color:var(--routine-accent)}

.client-program-group .client-routine-recommendation{--routine-accent:var(--brand);align-self:flex-start}

@property --signature-angle{syntax:'<angle>';initial-value:0deg;inherits:false}
.signature-routine{--signature-accent:#62e8bd;position:relative;isolation:isolate;border-color:#62e8bd!important;background:radial-gradient(ellipse at 100% 0%,#16674735,transparent 68%),linear-gradient(145deg,#14231f,#101718)!important;box-shadow:0 0 18px #42dca50b,inset 0 1px 0 #b5ffe614!important}
.signature-routine::before{content:'';position:absolute;inset:-2px;border:2px solid transparent;border-radius:inherit;background:conic-gradient(from var(--signature-angle),#164f40 0deg,#38bd91 90deg,#b9ffe6 135deg,#eedaa0 160deg,#38bd91 190deg,#164f40 270deg) border-box;mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none;animation:signature-orbit 7s linear infinite}
.program-routine-option.signature-routine .routine-inline-name,.client-routine-card.signature-routine .client-routine-top>strong{font-size:clamp(21px,2.3vw,26px);font-weight:900;line-height:1.18;letter-spacing:-.65px;color:#e4fff4;text-shadow:0 2px 18px #62e8bd24}
.program-routine-option.signature-routine textarea.routine-inline-name{min-height:74px}
.signature-routine .program-recommendation{--routine-accent:#62e8bd;gap:7px;padding:9px 13px;border:1px solid #c7ffe577;border-radius:999px;background:linear-gradient(115deg,#a6f4ce,#e7e6b2);color:#102c22;font-size:12px;font-weight:900;line-height:1.3;box-shadow:0 3px 16px #62e8bd26}
.signature-routine .program-recommendation::before{content:none}
@keyframes signature-orbit{to{--signature-angle:360deg}}
@media(prefers-reduced-motion:reduce){.signature-routine::before{animation:none;--signature-angle:145deg}}

.signature-routine{background:radial-gradient(ellipse at 15% 25%,#2eaa790d,transparent 60%),radial-gradient(ellipse at 85% 80%,#66cbb508,transparent 60%),linear-gradient(135deg,#121a18,#141c1a 48%,#111715)!important;background-size:190% 190%,180% 180%,100% 100%!important;animation:signature-interior 12s ease-in-out infinite alternate}
.program-routine-option.signature-routine .routine-inline-name,.client-routine-card.signature-routine .client-routine-top>strong{animation:none;text-shadow:none;color:#e4fff4}
.signature-routine .program-recommendation{position:relative;overflow:hidden;border-radius:6px;padding:9px 16px;border:1px solid #bacbca;background:linear-gradient(115deg,#a9bdbb,#e1e9e7);color:#1c302c;letter-spacing:.35px;box-shadow:inset 0 1px 0 #f4fffc88,0 3px 12px #0003}
@keyframes signature-interior{0%{background-position:0% 0%,100% 100%,0 0}100%{background-position:100% 70%,0% 15%,0 0}}

@media(prefers-reduced-motion:reduce){.signature-routine,.program-routine-option.signature-routine .routine-inline-name,.client-routine-card.signature-routine .client-routine-top>strong{animation:none}}

.signature-routine .program-recommendation::after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,#fff5 48%,transparent 66%);transform:translateX(-140%);animation:signature-badge-sheen 6s ease-in-out infinite;pointer-events:none}
@keyframes signature-badge-sheen{0%,65%{transform:translateX(-140%)}90%,100%{transform:translateX(140%)}}
@media(prefers-reduced-motion:reduce){.signature-routine .program-recommendation::after{animation:none;display:none}}

.client-routine-card.signature-routine .client-routine-focus{font-size:15px;line-height:1.8;font-weight:450;color:#d8e5df;letter-spacing:.05px;margin:3px 0 5px;text-align:left}

.program-day-tabs>button>span{white-space:pre-line;overflow-wrap:anywhere}.plan-template-editor textarea[data-bind="editor.daytablabel"]{min-height:76px;resize:vertical;line-height:1.5;text-align:center}

.plan-template-editor .field:has(textarea[data-bind="editor.daytablabel"])>label{text-align:center}

.next-session-preference{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid var(--stroke);font-size:12px;color:var(--sub)}.next-session-toggle{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--stroke);border-radius:8px;background:var(--surface);color:var(--sub);font-size:11px;font-weight:700}.next-session-toggle>span{width:25px;height:14px;border-radius:9px;background:var(--stroke);position:relative}.next-session-toggle>span::after{content:'';position:absolute;top:3px;left:3px;width:8px;height:8px;border-radius:50%;background:var(--sub)}.next-session-toggle[aria-checked="true"]{color:var(--brand);border-color:color-mix(in srgb,var(--brand) 40%,var(--stroke))}.next-session-toggle[aria-checked="true"]>span{background:color-mix(in srgb,var(--brand) 28%,var(--surface))}.next-session-toggle[aria-checked="true"]>span::after{left:14px;background:var(--brand)}

.day-order-toolbar{display:flex;justify-content:flex-end;margin:22px 0 9px}.training-program-panel .day-order-toolbar+.program-day-tabs{margin-top:0}.day-order-editor{margin-top:24px;padding-top:16px;border-top:1px solid var(--stroke)}.day-order-editor>p{font-size:12px;color:var(--sub);line-height:1.6}.day-order-list{display:grid;gap:8px;margin:16px 0}.day-order-row{display:grid;grid-template-columns:36px minmax(0,1fr) 36px 36px;align-items:center;gap:8px;border:1px solid var(--stroke);border-radius:9px;background:var(--surface);padding:8px;text-align:left}.day-order-row>span{font-size:13px;font-weight:700;white-space:pre-line;overflow-wrap:anywhere}.day-order-handle{touch-action:none;user-select:none;cursor:grab;background:transparent;border:0;color:var(--brand);font-size:25px;min-height:40px}.day-order-row .btn{padding:8px 0;min-height:36px}.day-order-dragging{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand);opacity:.75}.day-order-dragging .day-order-handle{cursor:grabbing}.day-order-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}

.next-session-controls{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.next-session-preference{align-items:flex-start}.next-session-preference>span{padding-top:8px}

.gym-selector{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px;margin:0 0 16px;border:1px solid var(--stroke);border-radius:12px;background:var(--surface)}.gym-selection-field{display:flex;align-items:center;gap:12px;flex:1;min-width:210px}.gym-selection-field>label{font-size:12px;color:var(--sub);margin:0;white-space:nowrap}.gym-selection-field>select{width:auto;min-width:140px;max-width:100%;flex:1;padding:8px 10px;font-size:13px}.gym-selector>p{flex-basis:100%;font-size:11px;line-height:1.5;color:var(--sub);margin:0}.gym-rename>summary,.gym-third-option>summary{cursor:pointer;font-size:12px;color:var(--brand);padding:8px 0}.gym-rename[open]{flex-basis:100%;order:2}.gym-rename form{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:8px}.gym-rename form>label{font-size:12px;color:var(--sub)}.gym-rename form>input{flex:1;min-width:160px;padding:9px 12px;font-size:13px}.gym-rename form>[role="alert"]{color:var(--brand)}.gym-settings>p{font-size:13px;line-height:1.7}.gym-third-option{border-top:1px solid var(--stroke);margin-top:20px;padding-top:10px}.gym-third-option form{padding-top:12px}@media(max-width:480px){.gym-selector{gap:10px;padding:12px}.gym-selection-field{flex-basis:100%;min-width:0;flex-wrap:wrap}.gym-selection-field>select{min-width:130px}.gym-selector>.btn{margin-left:auto}}

.mainclient .gym-selector{position:relative;justify-content:center;gap:12px 18px;padding:22px 24px 18px;border-radius:18px;border-color:color-mix(in srgb,var(--brand) 22%,var(--stroke));background:radial-gradient(ellipse at 50% 0%,color-mix(in srgb,var(--brand) 8%,transparent),transparent 70%),var(--card)}
.gym-selector::before{content:'';position:absolute;top:0;left:32%;right:32%;height:2px;background:linear-gradient(90deg,transparent,var(--brand),transparent);pointer-events:none}
.gym-selector .gym-selection-field{flex:0 1 100%;min-width:0;flex-direction:column;gap:12px}
.gym-selector .gym-selection-field>label{font-size:9px;font-weight:850;letter-spacing:2px;text-transform:uppercase;color:var(--brand);text-align:center}
.gym-selector .gym-selection-field>select{flex:none;width:min(100%,420px);min-width:0;min-height:48px;padding:11px 32px 11px 16px;font-size:19px;font-weight:800;letter-spacing:-.3px;text-align:center;text-align-last:center;border-radius:10px;border-color:color-mix(in srgb,var(--brand) 24%,var(--stroke));background-color:color-mix(in srgb,var(--bg) 65%,transparent);color:var(--text)}
.gym-selector .gym-selection-field>select:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
.gym-selector .gym-rename>summary{list-style:none;padding:8px 12px;font-size:11px;text-align:center;border-radius:7px}.gym-selector .gym-rename>summary::-webkit-details-marker{display:none}.gym-selector .gym-rename>summary:hover{background:color-mix(in srgb,var(--brand) 7%,transparent)}
.gym-selector>.btn{margin-left:0;font-size:11px;padding:8px 12px;color:var(--sub);background:transparent;border-color:var(--stroke)}
.gym-selector .gym-rename[open]{border-top:1px solid var(--stroke);padding-top:10px}.gym-selector .gym-rename form{justify-content:center}.gym-selector .gym-rename form>input{max-width:400px}
@media(max-width:480px){.mainclient .gym-selector{padding:20px 16px 16px;gap:10px}.gym-selector .gym-selection-field>select{font-size:18px}.gym-selector>.btn{margin-left:0}}

.mainclient .profile-details,.mainclient .gym-settings{text-align:center;padding:26px 24px}
.profile-details>h2,.gym-settings>h2{text-align:center}
.profile-details>p,.gym-settings>p{max-width:600px;margin-left:auto;margin-right:auto;line-height:1.7}
.profile-details>.cols,.profile-details>.field{max-width:640px;margin-left:auto;margin-right:auto}
.profile-details .field>label,.gym-settings .field>label{text-align:center}
.profile-details .field>input,.profile-details .field>select,.gym-settings .field>input{text-align:center}
.profile-details .field>select{text-align-last:center}
.profile-details .profile-name-preview{flex-direction:column;justify-content:center;gap:10px;max-width:640px;margin:20px auto 16px;padding:22px 16px;background:radial-gradient(ellipse at 50% 0%,color-mix(in srgb,var(--brand) 7%,transparent),transparent 75%),var(--card2);border-color:color-mix(in srgb,var(--brand) 20%,var(--stroke))}
.profile-name-preview .smallcaps{font-size:9px;letter-spacing:1.6px}.profile-name-preview strong{font-size:24px;margin:8px 0 5px}
.gym-settings #gymSettingsForm{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;max-width:640px;margin:22px auto 0}
.gym-settings #gymSettingsForm>.field{flex:0 1 202px;min-width:0;max-width:100%;box-sizing:border-box;margin:0;padding:16px 12px;border:1px solid var(--stroke);border-radius:12px;background:var(--card2)}
.gym-settings #gymSettingsForm>p,.gym-settings #gymSettingsForm>.actions{flex-basis:100%;margin:0}
.gym-settings .actions{justify-content:center;flex-wrap:wrap}
.gym-settings .gym-third-option{max-width:640px;margin:22px auto 0;padding-top:12px}
.gym-settings .gym-third-option form{max-width:420px;margin:0 auto}
@media(max-width:480px){.mainclient .profile-details,.mainclient .gym-settings{padding:22px 16px}.profile-details .profile-name-preview{padding:18px 12px}.gym-settings #gymSettingsForm{gap:12px}}

.mainclient .profile-details>h2,.mainclient .faction-section>h2,.mainclient .gym-settings>h2,.mainclient .profile-language>h2{font-size:clamp(18px,2.3vw,20px);line-height:1.25;font-weight:850;letter-spacing:-.2px;text-align:center;margin-bottom:12px}

.mainclient .gym-selector{display:grid;grid-template-columns:minmax(0,420px);justify-content:center;gap:12px}
.gym-selector .gym-selection-field{display:contents}
.gym-selector .gym-selection-field>label{grid-column:1 / -1;grid-row:1;justify-self:center}
.gym-selector .gym-selection-field>select{grid-column:1;grid-row:2;width:100%}
.gym-selector>.btn{grid-column:2;grid-row:2;justify-self:center;align-self:center;white-space:nowrap;margin:0}
@media(max-width:700px){.mainclient .gym-selector{grid-template-columns:minmax(0,420px)}}

.shell.crm-shell{grid-template-columns:280px minmax(0,1fr)}.clients-workspace{width:100%;max-width:1200px;margin:0 auto}.clients-workspace>.kicker,.clients-workspace>.page-title{text-align:center}
.crm-directory>.row>div>p{margin:5px 0 0}.crm-directory-tools{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:22px 0}.crm-directory-tools>form{display:flex;gap:8px;flex:1;min-width:min(100%,260px)}.crm-directory-tools input{min-width:0}.crm-directory-tools .exercise-tabs{margin:0}
.crm-client-list{display:grid;gap:10px}.crm-client-card{display:flex;align-items:center;gap:16px;width:100%;padding:18px;text-align:left;background:var(--surface);border:1px solid var(--stroke);border-radius:12px;color:var(--text)}.crm-client-card:hover{border-color:color-mix(in srgb,var(--brand) 45%,var(--stroke));background:color-mix(in srgb,var(--brand) 3%,var(--surface))}.crm-client-card>.avatar{flex-shrink:0}.crm-client-card>.body{flex:1;min-width:0}.crm-client-card b{font-size:17px;display:block;overflow-wrap:anywhere}.crm-client-card small{display:block;font-size:12px;color:var(--sub);margin-top:5px;overflow-wrap:anywhere}.crm-client-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.crm-client-meta>span{font-size:10px;font-weight:650;padding:4px 7px;border:1px solid var(--stroke);border-radius:5px;color:var(--sub)}.crm-client-open{font-size:11px;font-weight:750;color:var(--brand);flex-shrink:0}.crm-backup-action{display:flex;justify-content:flex-end;margin-top:18px}
.crm-archive,.crm-delete-option{border:1px solid var(--stroke);border-radius:12px;padding:16px;margin:18px 0;color:var(--sub)}.crm-archive>summary,.crm-delete-option>summary,.crm-private-notes>summary{cursor:pointer;font-size:12px;font-weight:700}.crm-archive>.section{margin-bottom:0}.crm-delete-option .btn{margin-top:12px}.crm-delete-option>p{margin-top:12px}.crm-detail-toolbar{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.crm-client-header{display:flex;align-items:center;gap:16px}.crm-client-header>.avatar{flex-shrink:0}.crm-client-header>div:nth-child(2){flex:1;min-width:0}.crm-client-header h2{font-size:22px;letter-spacing:-.4px;text-transform:none;overflow-wrap:anywhere}.crm-client-header p{margin:5px 0 0;font-size:12px}.crm-client-header>.actions{flex-shrink:0}
.crm-detail-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;padding:5px;border:1px solid var(--stroke);background:var(--surface);border-radius:11px;margin:20px 0}.crm-detail-tabs>button{background:transparent;border:1px solid transparent;padding:12px 8px;border-radius:7px;color:var(--sub);font-size:12px;font-weight:750}.crm-detail-tabs>button.selected{color:var(--brand);border-color:color-mix(in srgb,var(--brand) 30%,var(--stroke));background:color-mix(in srgb,var(--brand) 9%,var(--surface))}
.crm-info-form>h2,.crm-nutrition-form>h2{font-size:18px;text-transform:none;letter-spacing:-.25px;margin-bottom:22px}.crm-form-block{padding:20px 0;border-top:1px solid var(--stroke)}.crm-form-block h3{font-size:13px;letter-spacing:.3px;margin:0 0 18px;color:var(--text)}.crm-info-form .cols{column-gap:20px;row-gap:0}.crm-info-form textarea,.crm-nutrition-form textarea{line-height:1.7}.crm-info-form .field>label,.crm-nutrition-form .field>label{font-size:10px}.crm-info-form .cols>.field:last-child:nth-child(odd){grid-column:1 / -1}
.crm-weekdays{margin:3px 0 18px;padding:0;border:0;display:flex;gap:8px;flex-wrap:wrap}.crm-weekdays legend{font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--sub);margin-bottom:10px}.crm-weekdays>label{cursor:pointer;display:flex;align-items:center;gap:6px;font-size:12px;padding:9px 10px;background:var(--surface);border:1px solid var(--stroke);border-radius:7px}.crm-weekdays input{width:14px;height:14px;margin:0;accent-color:var(--brand)}.crm-weekdays>label:has(input:checked){color:var(--brand);border-color:color-mix(in srgb,var(--brand) 50%,var(--stroke));background:color-mix(in srgb,var(--brand) 6%,var(--surface))}
.crm-private-notes{padding:16px 0;border-top:1px solid var(--stroke)}.crm-private-notes[open]>.field{margin-top:16px}.crm-form-actions{justify-content:flex-end;padding-top:16px;border-top:1px solid var(--stroke)}.crm-error{color:#ffb8ac}.crm-save-notice{font-size:12px;padding:12px 16px;border:1px solid color-mix(in srgb,var(--brand) 30%,var(--stroke));background:color-mix(in srgb,var(--brand) 7%,var(--surface));color:var(--brand);border-radius:8px}.crm-nutrition-form textarea{min-height:300px}
@media(max-width:760px){.shell.crm-shell{display:block}.crm-client-header{flex-wrap:wrap}.crm-client-header>.actions{flex-basis:100%;margin-top:4px}.crm-client-card{gap:12px;padding:14px;flex-wrap:wrap}.crm-client-open{margin-left:auto}.crm-detail-tabs{gap:3px}.crm-detail-tabs>button{font-size:11px;padding:10px 3px}.crm-info-form .cols{grid-template-columns:1fr}.crm-weekdays>label{flex:1 0 85px;justify-content:center}}

.crm-contract-days{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:6px 0 18px}.crm-contract-day-group{margin:0;min-width:0;padding:16px 12px 12px;border:1px solid var(--stroke);border-radius:10px;background:var(--surface)}.crm-contract-day-group>legend{font-size:12px;font-weight:750;padding:0 6px;color:var(--text)}.crm-contract-day-group>div{display:flex;flex-wrap:wrap;gap:8px}.crm-contract-day-group label{display:flex;align-items:center;gap:6px;padding:8px;border:1px solid var(--stroke);border-radius:6px;font-size:12px;color:var(--sub);cursor:pointer;background:var(--card)}.crm-contract-day-group input{width:14px;height:14px;margin:0;accent-color:var(--brand)}.crm-contract-day-group label:has(input:checked){border-color:var(--brand);color:var(--brand);background:color-mix(in srgb,var(--brand) 8%,var(--card))}.crm-contract-legacy-notes{margin-top:12px}.crm-contract-legacy-notes>summary{font-size:11px;color:var(--sub);cursor:pointer;padding:8px 0}.crm-contract-legacy-notes[open]>.field{margin-top:10px}@media(max-width:600px){.crm-contract-days{grid-template-columns:1fr}}

.crm-consultation>h2{font-size:18px;text-transform:none;letter-spacing:-.25px;margin-bottom:18px}@media(max-width:480px){.crm-detail-tabs{display:flex;overflow-x:auto}.crm-detail-tabs>button{flex:0 0 auto;padding:10px 12px}}

body:has(.consultation-mode) #pwaInstallBar{display:none}.consultation-mode{min-height:100vh;background:#101617;color:#e9eee8}.consultation-mode .statusbar{font-size:10px}.consultation-topbar{display:flex;align-items:center;gap:24px;padding:20px 28px;background:#151f1b;border-bottom:1px solid #33443a;position:sticky;top:0;z-index:20}.consultation-topbar>div:nth-child(2){flex:1;min-width:0}.consultation-eyebrow{font-size:9px;font-weight:800;letter-spacing:2px;color:#8ab8a4}.consultation-topbar h1{font-size:23px;line-height:1.2;margin:6px 0 0;letter-spacing:-.5px;overflow-wrap:anywhere}.consultation-save-controls{display:flex;align-items:center;gap:16px}.consultation-save-controls>span{font-size:11px;max-width:240px;line-height:1.5;color:#a9c8b9}.consultation-save-controls>span[data-state="error"]{color:#ffb5a5}.consultation-workspace{display:grid;grid-template-columns:180px minmax(0,1fr) 270px;gap:24px;max-width:1530px;padding:30px 28px 60px;margin:0 auto;align-items:start}.consultation-index{position:sticky;top:120px;display:grid;gap:10px}.consultation-index>a{display:flex;align-items:flex-start;gap:10px;color:#b6c7bd;text-decoration:none;font-size:12px;font-weight:600;line-height:1.5;padding:12px 10px;border:1px solid #314136;border-radius:8px;background:#172019}.consultation-index>a>span{color:#84c5a7;font-size:10px;letter-spacing:1px;line-height:1.8}.consultation-index>a:hover{border-color:#699980;color:#fff}.consultation-form{min-width:0}.consultation-date-row{display:flex;justify-content:flex-end;margin-bottom:18px}.consultation-date-row .field{margin:0;min-width:190px}.consultation-date-row label{color:#b7cbbd;font-size:10px}.consultation-date-row input{background:#1c2820;border-color:#425648;color:#edf4ec;color-scheme:dark}.consultation-sheet{background:#f5f6f1;color:#233b2d;border:1px solid #c2cdc1;border-radius:14px;padding:28px;margin-bottom:28px;box-shadow:0 12px 30px #0002;scroll-margin-top:120px;color-scheme:light}.consultation-sheet-heading{display:flex;align-items:flex-start;gap:16px;padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid #d0d9ce}.consultation-sheet-heading>span{display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;background:#1b6b50;border-radius:9px;color:#eaffef;font-size:14px;font-weight:800;letter-spacing:1px}.consultation-sheet-heading h2{font-size:24px;line-height:1.15;margin:0 0 10px;letter-spacing:-.5px}.consultation-sheet-heading p{margin:0;color:#667869;font-size:12px;line-height:1.65}.consultation-group{margin-top:24px}.consultation-group>h3{background:#e0e7df;border-radius:5px;color:#23432f;font-size:13px;font-weight:800;padding:10px 12px;margin:0 0 18px}.consultation-group-hint{font-size:11px;color:#6b7c6d;margin:-8px 0 18px}.consultation-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}.consultation-wide{grid-column:1 / -1}.consultation-field{margin:0;min-width:0;gap:8px}.consultation-sheet .field>label,.consultation-choice-field>legend{color:#354b3a;font-size:12px;font-weight:650;letter-spacing:0;text-transform:none;line-height:1.5}.consultation-sheet input:not([type="checkbox"]):not([type="radio"]),.consultation-sheet textarea{color:#1d3527;background:#fff;border:1px solid #c6d0c3;border-radius:7px;font-size:14px;padding:10px 12px;min-width:0;line-height:1.6;box-shadow:0 1px 2px #193c1c04}.consultation-sheet input:focus-visible,.consultation-sheet textarea:focus-visible{outline:2px solid #268463;outline-offset:2px}.consultation-sheet textarea{min-height:95px}.consultation-choice-field{position:relative;min-width:0;padding:0;border:0;margin:0}.consultation-choice-field>legend{margin-bottom:10px;padding:0}.consultation-field-hint{font-size:11px;line-height:1.65;color:#70806e;margin:0 0 8px}.consultation-options{display:flex;flex-wrap:wrap;gap:9px}.consultation-options>label{display:flex;align-items:center;gap:8px;padding:9px 11px;background:#fff;border:1px solid #ccd5c8;border-radius:6px;color:#3d5141;font-size:12px;line-height:1.5;cursor:pointer}.consultation-options input{width:14px;height:14px;flex-shrink:0;min-width:14px;margin:0;accent-color:#1a7655}.consultation-options>label:has(input:checked){border-color:#398965;background:#e4f0e6;color:#135834}.consultation-options-stacked{display:grid;gap:7px}.consultation-scale{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:5px}.consultation-scale>label{position:relative;justify-content:center;padding:10px 0}.consultation-scale input{position:absolute;opacity:0;width:1px;height:1px;min-width:0}.consultation-scale>label:has(input:checked){background:#216d50;color:#fff}.consultation-scale>label:has(input:focus-visible){outline:2px solid #1a7655;outline-offset:2px}.consultation-clear{display:block;margin:8px 0 0 auto;padding:3px 0;background:transparent;border:0;color:#687f6a;font-size:10px;text-decoration:underline;text-underline-offset:3px}.consultation-bottom-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}.consultation-trainer-notes{position:sticky;top:120px;border:1px solid #cdd2b5;border-radius:12px;background:#eff0e1;color:#35402d;padding:18px;color-scheme:light;min-width:0}.consultation-notes-title>span{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:#7a866c;font-weight:800}.consultation-notes-title>h2{font-size:16px;margin:8px 0 16px;line-height:1.35}.consultation-trainer-notes .field>label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.consultation-trainer-notes .field{margin:0}.consultation-trainer-notes textarea{resize:vertical;min-height:360px;height:calc(100vh - 245px);max-height:720px;background:repeating-linear-gradient(transparent 0,transparent 27px,#bac4ac55 27px,#bac4ac55 28px);border:0;border-top:1px solid #c3cbb5;border-radius:0;padding:9px 0 0;color:#36422e;font-size:13px;line-height:28px}.consultation-trainer-notes textarea:focus-visible{outline:2px solid #4e8b62;outline-offset:5px}
@media(max-width:1250px){.consultation-workspace{grid-template-columns:minmax(0,1fr) 250px;gap:20px}.consultation-index{position:static;grid-column:1 / -1;display:flex}.consultation-index>a{flex:1}.consultation-topbar{padding:16px 22px;gap:16px}.consultation-sheet{padding:24px}.consultation-topbar h1{font-size:21px}.consultation-save-controls{gap:12px}.consultation-save-controls>span{max-width:170px}.consultation-trainer-notes{top:115px}}
@media(max-width:850px){.consultation-workspace{grid-template-columns:minmax(0,1fr);padding:20px 16px 40px}.consultation-trainer-notes{position:static}.consultation-trainer-notes textarea{height:240px;min-height:200px}.consultation-topbar{flex-wrap:wrap;gap:12px;padding:12px 16px}.consultation-topbar>div:nth-child(2){order:-1;flex-basis:100%}.consultation-save-controls{flex:1;justify-content:flex-end}.consultation-sheet{scroll-margin-top:155px}.consultation-index{gap:6px}.consultation-index>a{font-size:10px;padding:10px 8px;gap:6px}.consultation-sheet-heading h2{font-size:22px}}
@media(max-width:520px){.consultation-fields{grid-template-columns:1fr;gap:18px}.consultation-wide{grid-column:auto}.consultation-sheet{padding:18px 14px}.consultation-sheet-heading{gap:12px}.consultation-sheet-heading h2{font-size:20px}.consultation-sheet-heading>span{width:34px;height:34px;font-size:12px}.consultation-options>label{padding:8px 9px}.consultation-scale{grid-template-columns:repeat(5,minmax(0,1fr))}.consultation-index{display:grid;grid-template-columns:1fr}.consultation-index>a{font-size:12px}.consultation-save-controls>span{font-size:10px;max-width:140px}.consultation-topbar .btn{font-size:11px;padding:9px 10px}}

/* Free-position notes alongside the complete consultation. */
.consultation-trainer-notes{position:relative;top:auto;align-self:stretch;display:flex;flex-direction:column}
.consultation-notes-title p{font-size:11px;line-height:1.6;color:#6a785c;margin:0 0 12px}
.consultation-notes-title .btn{background:#e0e6d5;border-color:#bdc9ae;color:#355136;margin-bottom:16px}
.consultation-note-board{position:relative;flex:1;min-height:600px;border-top:1px solid #c3cbb5;background:repeating-linear-gradient(transparent 0,transparent 27px,#bac4ac55 27px,#bac4ac55 28px);outline-offset:4px}
.consultation-free-note{position:absolute;width:min(190px,100%);min-width:0;background:#f7f6e9e8;border:1px solid transparent;border-radius:5px}
.consultation-free-note:hover,.consultation-free-note:focus-within{border-color:#b5c3a3;box-shadow:0 2px 8px #3c482510;z-index:2}
.consultation-note-tools{display:flex;justify-content:space-between;height:24px;opacity:.55}
.consultation-free-note:hover .consultation-note-tools,.consultation-free-note:focus-within .consultation-note-tools{opacity:1}
.consultation-note-tools button{border:0;background:transparent;color:#49603a;font-size:18px;padding:0 8px;line-height:24px}
.consultation-note-tools [data-note-move]{cursor:grab;touch-action:none}
.consultation-note-tools [data-note-move]:active{cursor:grabbing}
.consultation-trainer-notes .consultation-free-note textarea{display:block;box-sizing:border-box;width:100%;height:auto;min-height:70px;max-height:none;resize:none;overflow:hidden;background:transparent;border:0;border-radius:0;padding:3px 8px 8px;line-height:24px;font-size:13px;color:#36422e}
.consultation-trainer-notes .consultation-free-note textarea:focus-visible{outline:1px solid #4e8b62;outline-offset:0;border-radius:3px}
@media(max-width:850px){.consultation-trainer-notes{min-height:950px}.consultation-free-note{width:min(240px,100%)}}

.consultation-bmi-result{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.consultation-bmi-result>input{flex:1 1 85px;width:85px;min-width:0}
.consultation-bmi-result>span{flex:1 1 140px}
.consultation-bmi-badge{display:inline-block;padding:7px 10px;border-radius:7px;font-size:12px;line-height:1.5;font-weight:700;background:#e5e9e3;color:#465447}
.consultation-bmi-badge[data-tone="low"]{background:#e0edfb;color:#205287}
.consultation-bmi-badge[data-tone="healthy"]{background:#dcefe0;color:#205d36}
.consultation-bmi-badge[data-tone="over"]{background:#fff0ca;color:#795600}
.consultation-bmi-badge[data-tone="obesity1"]{background:#ffe3cb;color:#8b410e}
.consultation-bmi-badge[data-tone="obesity2"]{background:#fbdcda;color:#962b28}
.consultation-bmi-badge[data-tone="obesity3"]{background:#efd8eb;color:#7a205c}
.consultation-field-hint a{color:#246347;text-decoration:underline}

.consultation-save-controls{flex-shrink:0}.consultation-save-controls>span{max-width:none;white-space:nowrap}.consultation-save-controls>span[data-state="error"]{max-width:340px;white-space:normal}
@media(max-width:380px){.consultation-save-controls{flex-basis:100%}.consultation-save-controls>span{font-size:10px}}

.consultation-date-row{align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.consultation-language-picker{display:flex;gap:8px;align-items:center}
.consultation-language-picker button{display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid #425648;border-radius:8px;background:#1c2820;color:#dbe7dc;font-size:12px;cursor:pointer}
.consultation-language-picker button[aria-pressed="true"]{background:#244d3d;border-color:#85b59c;color:#fff}
.consultation-language-picker svg{display:block;width:30px;height:20px;border-radius:2px}
.consultation-language-picker button:focus-visible{outline:2px solid #8bc5a5;outline-offset:3px}
@media(max-width:520px){.consultation-date-row>.field{flex:1}.consultation-language-picker{flex-basis:100%}.consultation-save-controls>span{font-size:10px}}

.crm-diet-workspace h3{font-size:18px;margin:0 0 18px}.crm-diet-workspace .crm-nutrition-form textarea{min-height:260px}.crm-food-log .row h3{margin:0}.crm-food-log .empty{margin-top:16px;padding:28px 20px}

.food-log-header{display:flex;align-items:start;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:20px}
.food-log-header h3{margin-bottom:6px}.food-log-header p{margin:0}.food-log-header>[role="status"]{max-width:300px;line-height:1.6}
.food-log-day-controls{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:24px}.food-log-day-controls .field{min-width:200px;flex:1;margin:0}
.food-log-entry{border:1px solid #36413e;background:#1a211f;border-radius:10px;margin:0 0 22px;padding:18px;min-width:0}
.food-log-entry>legend{font-size:11px;font-weight:800;letter-spacing:1px;padding:0 8px;color:#8fc8b2}
.food-log-entry-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.food-log-field{margin:0;min-width:0}.food-log-field>label{font-size:12px;letter-spacing:0;text-transform:none;line-height:1.5}
.food-log-entry-fields>.food-log-field:first-child{grid-column:1 / -1;max-width:220px}
.food-log-field textarea{min-height:82px;resize:vertical}
.food-log-additional{border-top:1px solid #36413e;padding-top:26px;margin-top:28px}
.food-log-additional-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.food-log-additional-fields>.food-log-field:not(.food-log-rating){grid-column:1 / -1}
@media(max-width:650px){.food-log-entry-fields,.food-log-additional-fields{grid-template-columns:minmax(0,1fr)}.food-log-entry{padding:14px}.food-log-header>[role="status"]{max-width:none}}

.food-log-entry-actions{display:flex;justify-content:flex-end;margin-top:16px}
.food-log-entry-actions button:disabled{opacity:.4;cursor:default}
.food-log-meal-actions{display:flex;justify-content:center;margin:0 0 26px}
.food-log-additional-fields>.food-log-rating{grid-column:1 / -1;border:0;padding:0;min-width:0}
.food-log-rating>legend{font-size:12px;font-weight:700;padding:0;margin-bottom:12px;line-height:1.5}
.food-log-scale{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px}
.food-log-scale>label{position:relative;display:block;cursor:pointer}
.food-log-scale input{position:absolute;opacity:0;width:1px;height:1px}
.food-log-scale span{display:grid;place-items:center;padding:12px 0;border:1px solid #435149;border-radius:6px;background:#202a25;color:#d7e5dc;font-size:12px}
.food-log-scale label:has(input:checked) span{background:#207353;color:#fff;border-color:#55a27d}
.food-log-scale label:has(input:focus-visible) span{outline:2px solid #99ceb3;outline-offset:3px}
.food-log-clear{display:block;margin:8px 0 0 auto;border:0;background:transparent;padding:3px 0;font-size:10px;color:#a0b9ac;text-decoration:underline;cursor:pointer}
@media(max-width:400px){.food-log-scale{gap:3px}.food-log-scale span{font-size:10px;padding:11px 0}}

.nutrition-access{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 20px;align-items:center}
.nutrition-access h3{margin:0 0 8px}.nutrition-access p{margin:0;line-height:1.6}.nutrition-access>[role="status"]{grid-column:1 / -1}
.client-diet>header{padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:24px}
.client-diet>header .smallcaps{color:var(--brand);margin-bottom:12px}.client-diet>header h2{font-size:24px;margin:0}
.client-diet-content{white-space:normal;overflow-wrap:anywhere;font-size:14px;line-height:1.7}
@media(max-width:520px){.nutrition-access{gap:12px}.logbook-tabs{flex-wrap:wrap}}

/* Nutrition plans: meal cards, daily targets and guidance. */
.client-diet{padding:28px;background:radial-gradient(ellipse at top right,color-mix(in srgb,var(--brand) 8%,transparent),transparent 55%),#161c1c}
.client-diet>header{margin-bottom:26px;padding-bottom:24px;border-color:#35413e}
.client-diet>header h2{font-size:36px;letter-spacing:-1.3px;line-height:1.15}
.diet-title-dot{color:var(--brand)}.diet-intro{color:#a7b6b0;font-size:13px;line-height:1.6;margin:10px 0 0}
.diet-plan-name{font-size:18px;line-height:1.5;font-weight:750;color:#edf3ed;margin:0 0 12px;overflow-wrap:anywhere}
.diet-plan-goal{padding:14px 18px;margin:0 0 24px;border-left:3px solid var(--brand);background:color-mix(in srgb,var(--brand) 7%,#17201c);color:#d1ded6;border-radius:0 8px 8px 0;font-size:14px}
.diet-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;min-width:0}
.diet-plan-card{border:1px solid #36443d;border-radius:12px;background:#1c2421;padding:22px;min-width:0}
.diet-plan-card>header{display:flex;align-items:flex-start;gap:12px;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid #35433b}
.diet-plan-card h3{margin:0;font-size:13px;line-height:1.6;font-weight:800;letter-spacing:1px;color:#ecf3ed}
.diet-plan-card h3 span{font-size:17px;letter-spacing:0;margin-right:4px}
.diet-meal-number{display:block;color:var(--brand);font-size:10px;font-weight:800;letter-spacing:1px;border:1px solid color-mix(in srgb,var(--brand) 35%,#35433b);border-radius:6px;padding:5px 7px;line-height:1.6}
.diet-plan-card>header p{font-size:12px;line-height:1.6;color:#abbeb1;margin:6px 0 0}
.diet-plan-lines{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.diet-plan-lines li{color:#d9e1db;font-size:14px;line-height:1.75;overflow-wrap:anywhere}
.diet-plan-lines li+li{padding-top:9px;border-top:1px solid #ffffff08}
.diet-plan-lines .diet-line-emphasis{color:#f0e0bb}
.diet-plan-optional{border-style:dashed;background:#1a221e}
.diet-plan-targets,.diet-plan-notes,.diet-plan-general{grid-column:1 / -1}
.diet-plan-targets{background:linear-gradient(120deg,color-mix(in srgb,var(--brand) 11%,#17201b),#19211f);border-color:color-mix(in srgb,var(--brand) 35%,#35433b)}
.diet-targets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.diet-targets p{margin:0;border:1px solid #ffffff0c;border-radius:8px;padding:14px;background:#0c151a30;color:#e6efe6;font-size:14px;line-height:1.65}
.diet-plan-notes{border-left:3px solid var(--brand);background:#18201c}
.diet-plan-notes .diet-plan-lines{gap:12px}.diet-plan-notes li{color:#bbcdbf}
.diet-plan-general .diet-plan-lines{gap:12px}
.diet-editor-hint{line-height:1.7;margin:12px 0 16px}
.diet-plan-preview{border:1px solid #35433d;border-radius:10px;padding:16px;margin:16px 0 22px;background:#141b18}
.diet-plan-preview>summary{color:#c3d7c9;font-size:12px;cursor:pointer;font-weight:700}
.diet-plan-preview[open]>summary{margin-bottom:22px}
.diet-plan-preview .diet-plan-card h3{margin:0;font-size:12px}
@media(max-width:650px){.client-diet{padding:20px}.diet-plan-grid{grid-template-columns:minmax(0,1fr)}.diet-plan-card{padding:18px}.client-diet>header h2{font-size:30px}}
@media(max-width:380px){.diet-targets{grid-template-columns:minmax(0,1fr)}}

/* Read meals in sequence while keeping the daily targets layout. */
.diet-plan-meal,.diet-plan-optional{grid-column:1 / -1}

.client-diet>header .smallcaps{font-size:12px;line-height:1.6}
.client-diet>header h2{font-size:44px}
.client-diet>header .diet-intro{font-size:16px;line-height:1.7}
@media(max-width:650px){.client-diet>header h2{font-size:36px}.client-diet>header .diet-intro{font-size:15px}}

.client-diet>header{padding-bottom:10px;margin-bottom:14px}

.diet-heading-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.diet-date{display:grid;gap:5px;padding:10px 14px;border:1px solid color-mix(in srgb,var(--brand) 30%,#35433b);border-radius:9px;background:color-mix(in srgb,var(--brand) 6%,#19211f)}
.diet-date>span{font-size:9px;font-weight:800;letter-spacing:1.1px;color:#aebdb6;line-height:1.5}
.diet-date>time{font-size:15px;font-weight:700;letter-spacing:.4px;color:var(--brand);line-height:1.5}
.diet-date>small{font-size:12px;color:#aebdb6}
@media(max-width:520px){.diet-date{padding:8px 10px}.diet-date>span{font-size:8px}.diet-date>time{font-size:13px}.diet-heading-row{gap:12px}}

/* Focused client Food Log, using the profile colour and Logbook typography. */
body:has(.food-log-mode) #pwaInstallBar{display:none}
.food-log-mode{min-height:100vh;background:radial-gradient(ellipse at top right,color-mix(in srgb,var(--brand) 7%,transparent),transparent 55%),#0b1012;color:#e8eee9}
.food-log-mode .statusbar{font-size:10px}
.food-log-topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:24px;padding:18px 28px;background:#121b1cf5;border-bottom:1px solid #33413c}
.food-log-topbar>.btn{flex-shrink:0}
.food-log-focus-identity{display:flex;align-items:center;gap:12px;flex:1;min-width:0}
.food-log-focus-identity .smallcaps{color:#a9bcb3;font-size:9px;letter-spacing:1.5px;line-height:1.7}
.food-log-focus-identity strong{display:block;font-size:18px;line-height:1.4;overflow-wrap:anywhere}
.food-log-topbar>[role="status"]{max-width:260px;line-height:1.6}
.food-log-focus-workspace{max-width:980px;margin:0 auto;padding:40px 28px 60px}
.food-log-focus-intro{margin-bottom:26px}
.food-log-focus-intro>.smallcaps{font-size:10px;letter-spacing:2px;color:var(--brand)}
.food-log-focus-intro h1{font-size:clamp(42px,7vw,72px);line-height:1;letter-spacing:-2.5px;margin:14px 0 16px;font-weight:900}
.food-log-focus-intro h1>span{color:var(--brand)}
.food-log-focus-intro>p{font-size:22px;font-weight:700;line-height:1.4;margin:0 0 10px}
.food-log-focus-intro>.food-log-focus-description{font-size:14px;font-weight:400;color:#a9bcb3;line-height:1.8;max-width:620px}
.food-log-focus-nav{display:flex;gap:12px;margin-top:24px}
.food-log-focus-nav>a{display:flex;align-items:center;gap:12px;flex:1;padding:14px 18px;border:1px solid #35443e;border-radius:9px;background:#19211f;color:#e0eae3;text-decoration:none;font-size:13px;font-weight:700}
.food-log-focus-nav>a>span{color:var(--brand);font-size:11px;letter-spacing:1px}
.food-log-focus-nav>a:hover{border-color:var(--brand)}
.food-log-mode .crm-food-log{padding:28px;border-color:#3c4945;border-top:3px solid var(--brand);border-radius:14px;background:#151e1e}
.food-log-mode .food-log-header{padding-bottom:20px;border-bottom:1px solid #35413d}
.food-log-mode .food-log-header h3{font-size:18px;margin:0 0 8px}
.food-log-mode .food-log-day-controls{padding:16px;border-radius:10px;background:#101817;border:1px solid #34413a}
.food-log-mode .food-log-entry{background:#1b2623;border-color:#3a4942;padding:22px;border-radius:12px}
.food-log-mode .food-log-entry>legend{color:var(--brand)}
.food-log-mode .food-log-field>label{font-size:13px;color:#cedcd3;line-height:1.6}
.food-log-mode .food-log-field textarea{min-height:100px;line-height:1.7}
.food-log-mode input:focus-visible,.food-log-mode textarea:focus-visible,.food-log-mode select:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
.food-log-mode .food-log-scale label:has(input:checked) span{background:var(--brand);border-color:var(--brand);color:#0c1713}
.food-log-mode .food-log-scale label:has(input:focus-visible) span{outline-color:var(--brand)}
.food-log-mode .food-log-additional{padding-top:28px}
.food-log-mode #foodLogAdditionalTitle{font-size:18px;line-height:1.5;margin:0 0 24px}
.food-log-mode .food-log-meal-actions>.btn{background:color-mix(in srgb,var(--brand) 12%,#17201c);border-color:color-mix(in srgb,var(--brand) 50%,#34433a);color:var(--brand);padding:12px 22px}
.food-log-mode .food-log-entry-actions .btn{font-size:11px;color:#a9bcb3}
.food-log-mode #crmFoodLogForm,.food-log-mode #foodLogAdditionalTitle{scroll-margin-top:120px}
.food-log-focus-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #33413b;padding-top:24px;margin-top:28px}
.food-log-focus-footer>p{font-size:12px;line-height:1.7;color:#a9bcb3;max-width:420px}
@media(max-width:650px){.food-log-topbar{padding:12px 16px;gap:12px;flex-wrap:wrap}.food-log-focus-identity{order:-1;flex-basis:100%}.food-log-topbar>[role="status"]{flex:1;font-size:10px;max-width:none}.food-log-topbar>.btn{font-size:10px}.food-log-focus-workspace{padding:28px 16px 40px}.food-log-mode .crm-food-log{padding:18px}.food-log-mode .food-log-entry{padding:16px}.food-log-focus-nav{gap:8px}.food-log-focus-nav>a{padding:12px;font-size:12px}.food-log-focus-footer{flex-wrap:wrap}.food-log-mode #crmFoodLogForm,.food-log-mode #foodLogAdditionalTitle{scroll-margin-top:165px}}

.food-log-access-control{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-left:auto}
.food-log-access-control>span{font-size:11px;color:#a9bcb3}
.food-log-access-control>[role="status"]{flex-basis:100%;font-size:11px;color:#ffb5a5;line-height:1.6;text-align:right}
.food-log-access-control>[role="status"]:empty{display:none}
@media(max-width:650px){.food-log-access-control{margin-left:0;flex-basis:100%;justify-content:space-between}.food-log-access-control>[role="status"]{text-align:left}}

.timer-panel .timer-panel-title{display:flex;align-items:center;gap:8px;color:var(--text);font-size:17px;line-height:1.25;letter-spacing:-.25px}
.timer-panel-title>span{display:grid;place-items:center;flex-shrink:0;width:28px;height:28px;border-radius:8px;background:color-mix(in srgb,var(--brand) 17%,var(--card));color:var(--brand);font-size:19px}
.timer-auto-setting{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--stroke);border-radius:9px;background:var(--card2)}
.timer-auto-setting strong,.timer-auto-setting small{display:block;line-height:1.45}
.timer-auto-setting strong{font-size:12px}.timer-auto-setting small{color:var(--sub);font-size:11px;margin-top:4px}
.timer-auto-setting>.btn{flex-shrink:0}
.add-series-menu>summary{cursor:pointer}
.add-series-options{display:flex;flex-wrap:wrap;gap:6px;padding:2px 0 6px}
.add-series-options>.btn{font-size:11px}
.set-single-measure{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;align-items:end}
.training-set-row.with-single{grid-template-columns:34px minmax(0,1fr) minmax(0,1.7fr) minmax(0,1fr) 46px}
.training-set-row.with-rpe.with-single{grid-template-columns:34px minmax(0,1fr) minmax(0,1.7fr) repeat(2,minmax(0,1fr)) 46px}
.set-single-measure input{appearance:textfield}
.set-single-measure input::-webkit-inner-spin-button{appearance:none}
@media(max-width:600px){
 .training-set-row.with-single{grid-template-columns:25px minmax(0,1fr) minmax(0,1.9fr) minmax(0,1fr) 34px}
 .training-set-row.with-rpe.with-single{grid-template-columns:25px minmax(0,1fr) minmax(0,2fr) repeat(2,minmax(0,1fr)) 34px}
 .set-single-measure{gap:3px}
}

.set-time-measure input{font-variant-numeric:tabular-nums}.set-time-measure input[aria-invalid="true"]{border-color:#db827a}

.timer-panel .timer-display,.timer-panel #timerStatus{text-align:center}
.timer-preset-group{margin:12px 0}
.timer-preset-group .timer-presets{margin:0}
.timer-preset-tools{display:flex;gap:4px;margin-left:auto}
.timer-preset-tool{min-width:29px;padding:5px 7px;font-size:14px;line-height:1}
.timer-preset-tool[aria-pressed="true"]{border-color:var(--brand);color:var(--brand)}
.timer-preset-hint{margin:7px 0 0}
.hero-progress-toggle{display:block;width:199px;max-width:100%;flex-shrink:0;padding:0;border:0;border-radius:14px;background:none;color:inherit;font:inherit;text-align:center;cursor:pointer;perspective:850px}
.hero-progress-toggle:focus-visible{outline:2px solid var(--brand);outline-offset:4px}
.hero-progress-coin{display:grid;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.3,.1,.25,1)}
.hero-progress-toggle.is-flipped .hero-progress-coin{transform:rotateY(180deg)}
.hero-progress-coin>span{grid-area:1 / 1;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.logbook-hero .hero-progress-front{width:100%;min-width:0;margin:0;gap:7px;padding:16px 12px 13px;align-content:center}
.hero-progress-front>.hero-progress-caption{font-weight:700;letter-spacing:1px}
.logbook-hero .hero-stats>span.hero-progress-tenure{border-top:1px solid color-mix(in srgb,var(--brand) 32%,var(--stroke));padding-top:7px;width:88%;color:var(--brand);font-size:13px;font-weight:800;letter-spacing:.15px;line-height:1.3}
.hero-progress-back{display:grid;align-content:center;gap:7px;padding:10px 14px;border:1px solid color-mix(in srgb,var(--brand) 32%,var(--stroke));border-radius:14px;background:color-mix(in srgb,var(--brand) 7%,var(--surface));box-shadow:inset 0 3px 0 var(--brand);transform:rotateY(180deg)}
.hero-calendar-month{color:var(--text);font-size:11px;font-weight:850;text-transform:capitalize}
.hero-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(7,13px);gap:1px;font-size:9px;line-height:13px;color:var(--text);font-variant-numeric:tabular-nums}
.hero-calendar-weekday{color:var(--sub);font-weight:800}
.hero-calendar-grid>[aria-current="date"]{background:var(--brand);border-radius:5px;color:#111315;font-weight:900}
.hero-calendar-countdown{color:var(--brand);font-size:10px;font-weight:800;line-height:1.25}
.logbook-deload{background:linear-gradient(180deg,#4b1c2830 0,transparent 580px)}
.logbook-deload-notice{display:flex;gap:8px 14px;flex-wrap:wrap;align-items:center;padding:11px 14px;border:1px solid color-mix(in srgb,var(--brand) 40%,var(--stroke));border-radius:9px;background:color-mix(in srgb,var(--brand) 9%,var(--surface));color:var(--text);font-size:12px}
.logbook-deload-notice strong{color:var(--brand)}
@media(max-width:600px){.hero-progress-toggle{width:190px}.logbook-hero .hero-progress-front{margin:0}}
@media(prefers-reduced-motion:reduce){.hero-progress-coin{transition:none}}

@keyframes hero-progress-intro{
 0%{transform:rotateY(0deg)}
 18%,29%{transform:rotateY(180deg)}
 47%,53%{transform:rotateY(360deg)}
 71%,82%{transform:rotateY(540deg)}
 100%{transform:rotateY(720deg)}
}
@media(prefers-reduced-motion:no-preference){
 .hero-progress-toggle[data-progress-intro] .hero-progress-coin{animation:hero-progress-intro 2.4s cubic-bezier(.4,0,.6,1)}
}

/* Coach check-in for in-person sessions. */
.check-in-page{padding:24px;overflow-wrap:anywhere}
.check-in-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.check-in-header .smallcaps{color:var(--brand);font-size:10px}
.check-in-header h2{font-size:28px;margin:8px 0 4px}
.check-in-header p{color:var(--sub);font-size:13px;line-height:1.6;margin:0}
.check-in-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.check-in-page>#checkInSaveStatus{margin:0 0 18px;line-height:1.5}
.check-in-history h3{margin:0 0 14px;font-size:17px}
.check-in-history-item{display:flex;align-items:center;gap:12px;width:100%;text-align:left;color:var(--text);cursor:pointer}
.check-in-history-item:hover{border-color:var(--brand)}
.check-in-history-copy{flex:1;min-width:0}
.check-in-history-item .badge{white-space:nowrap}
.check-in-footer{display:flex;justify-content:flex-end;margin-top:18px}
.check-in-section{padding:20px;border:1px solid var(--stroke);border-radius:12px;background:var(--card2);margin-bottom:18px;scroll-margin-top:24px}
.check-in-section:last-child{margin-bottom:0}
.check-in-section h3{display:flex;align-items:center;gap:10px;margin:0 0 18px;font-size:17px}
.check-in-section h3>span{padding:4px 7px;border-radius:6px;background:color-mix(in srgb,var(--check-in-accent) 16%,var(--card));color:var(--check-in-accent);font-size:11px}
.check-in-pre{--check-in-accent:#8fd7ae}.check-in-post{--check-in-accent:#91c8f8}
.check-in-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}
.check-in-grid .field{margin:0;min-width:0}
.check-in-grid .field>p{margin:0 0 5px;line-height:1.5}
.check-in-grid textarea{min-height:76px}
.check-in-wide,.check-in-scale{grid-column:1/-1}
.check-in-jump{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}
.check-in-jump a{color:var(--brand);padding:9px 12px;border:1px solid var(--stroke);border-radius:8px;font-size:12px}
.check-in-scale{margin:0;padding:0;border:0;min-width:0}
.check-in-scale legend{margin-bottom:9px;font-size:13px;font-weight:750}
.check-in-scale legend small{color:var(--sub)}
.check-in-scale .food-log-scale{grid-template-columns:repeat(var(--scale-count),minmax(0,1fr));gap:4px}
.check-in-scale .food-log-scale label:has(input:checked) span{background:var(--check-in-accent);border-color:var(--check-in-accent);color:#101715}
#crmCheckInAccess>p:empty{display:none}
@media(max-width:540px){.check-in-page,.check-in-section{padding:15px}.check-in-grid{grid-template-columns:minmax(0,1fr)}.check-in-scale .food-log-scale{gap:3px}.check-in-scale .food-log-scale span{font-size:10px}}

.coaching-client-panel{text-align:center}
.coaching-client-panel h2{display:grid;justify-items:center;gap:8px;margin:0 0 20px}
.coaching-client-panel h2>span{color:var(--sub);font-size:10px;font-weight:800;letter-spacing:1.8px}
.coaching-client-panel h2>strong{font-size:clamp(22px,4vw,34px);line-height:1.15;letter-spacing:-.65px;color:var(--brand);overflow-wrap:anywhere;text-transform:none}
.coaching-client-panel .coaching-client-field{max-width:480px;margin:0 auto}
.coaching-client-field select{text-align:center;text-align-last:center}
.check-in-language{margin:0 0 18px}
.check-in-language .consultation-language-picker button[aria-pressed="true"]{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 15%,var(--card))}
.check-in-grid #check-in-food{min-height:108px}

.logbook-client-picker-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-bottom:16px}
.logbook-client-picker-head>h2{grid-column:2;text-align:center;font-size:clamp(18px,4vw,25px);color:var(--brand);margin:0}
.logbook-client-picker-head>.btn{grid-column:3;justify-self:end}
.logbook-client-picker .logbook-client-option{position:relative;justify-content:center;padding-inline:34px;text-align:center;gap:12px}
.logbook-client-picker .logbook-client-option>.body{flex:0 1 auto}
.logbook-client-picker .logbook-client-option>.client-option-arrow{position:absolute;right:10px}
@media(max-width:440px){.logbook-client-picker-head>h2{grid-column:1/-1;grid-row:2}.logbook-client-picker-head>.btn{grid-row:1}}

.check-in-history-row{display:flex;align-items:center;gap:10px}
.check-in-history-row>.check-in-history-item{flex:1;min-width:0}
.check-in-history-row>.btn{flex-shrink:0}
.measurement-reminder{--reminder-accent:color-mix(in srgb,var(--brand) 72%,white);display:grid;justify-items:center;gap:10px;margin:0 0 16px;padding:18px 14px;border:1px solid color-mix(in srgb,var(--brand) 52%,var(--stroke));background:radial-gradient(ellipse at top,color-mix(in srgb,var(--brand) 24%,var(--card)) 0%,color-mix(in srgb,var(--brand) 10%,var(--card)) 60%,var(--card) 100%);border-radius:12px;text-align:center;line-height:1.5}
.measurement-reminder:has([data-state="today"],[data-state="overdue"]){border-color:var(--brand);background:radial-gradient(ellipse at top,color-mix(in srgb,var(--brand) 32%,var(--card)) 0%,color-mix(in srgb,var(--brand) 15%,var(--card)) 65%,var(--card) 100%)}
.measurement-reminder-card{display:grid;justify-items:center;gap:6px;color:var(--reminder-accent)}
.measurement-reminder-title{font-size:10px;font-weight:850;letter-spacing:1.3px;text-transform:uppercase}
.measurement-reminder strong{font-size:clamp(20px,4vw,28px);color:#fff;line-height:1.2}
.measurement-countdown{margin-top:4px;padding:4px 10px;border-radius:999px;background:#ffffff12;color:var(--reminder-accent);font-size:12px;font-weight:750}
.measurement-reminder-card[data-state="empty"]{font-size:12px}
.measurements-page>#measurementStatus{margin:0 0 16px}
.measure-group{scroll-margin-top:20px}
.measure-row{display:grid;grid-template-columns:minmax(105px,1.7fr) repeat(3,minmax(44px,1fr));gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid var(--stroke);font-size:12px}
.is-editable .measure-row{grid-template-columns:minmax(110px,1.8fr) repeat(6,minmax(0,1fr))}
.measure-row:last-child{border-bottom:0}
.measure-row>:not(.measure-name):not(:first-child){text-align:center}
.measure-column-labels{color:var(--sub);font-size:10px;font-weight:800}
.measure-name small{display:inline;color:var(--sub);font-size:10px}
.measure-reading{margin:0}.measure-reading input{min-width:0;width:100%;text-align:center;padding:9px 2px;font-size:12px}
.measure-reading input[aria-invalid="true"]{border-color:#db827a}
.measure-delta{color:var(--brand);font-weight:800;font-variant-numeric:tabular-nums}
.measurement-guide{margin:14px 0 18px;padding:14px;border:1px solid var(--stroke);border-radius:10px}
.measurement-guide summary{color:var(--brand);cursor:pointer;font-weight:800}
.measurement-figures{display:flex;justify-content:center;gap:22px;margin:12px 0}
.measurement-figures figure{margin:0;text-align:center;color:var(--text)}
.measurement-figures svg{display:block;width:min(28vw,104px);height:auto}
.measurement-figures figcaption{font-size:11px;color:var(--sub)}
.measurement-guide nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 14px;font-size:11px}
.measurement-guide a{color:var(--brand)}
.measurement-change-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.measurement-change-list>li{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:9px 0;border-bottom:1px solid var(--stroke);font-size:12px}
.measurement-change-list>li>span:first-child{flex:1}
.measurement-change-list>li>strong{color:var(--brand);min-width:65px;text-align:right}
.measurement-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.measurement-photo{padding:12px;border:1px solid var(--stroke);border-radius:8px;min-width:0}
.measurement-photo h4{margin:0 0 9px;font-size:12px}
.measurement-photo img{display:block;width:100%;max-height:260px;object-fit:contain;background:var(--card);border-radius:6px;margin-bottom:9px}
.measurement-photo input{width:100%;margin:6px 0}
.measurement-notes .field:last-child{margin-bottom:0}
@media(max-width:650px){
 .is-editable .measure-row{grid-template-columns:repeat(3,minmax(0,1fr))}
 .is-editable .measure-column-labels{display:none}
 .is-editable .measure-name{grid-column:1/-1;font-weight:800}
 .is-editable .measure-reading::before,.is-editable [id$="-before"]::before,.is-editable [id$="-current"]::before,.is-editable [id$="-delta"]::before{display:block;color:var(--sub);font-size:10px;margin-bottom:3px}
 .is-editable .measure-reading:nth-child(2)::before{content:var(--measure-reading-1)}.is-editable .measure-reading:nth-child(3)::before{content:var(--measure-reading-2)}.is-editable .measure-reading:nth-child(4)::before{content:var(--measure-reading-3)}
 .is-editable [id$="-before"]::before{content:var(--measure-before)}.is-editable [id$="-current"]::before{content:var(--measure-current)}.is-editable [id$="-delta"]::before{content:var(--measure-delta)}
}
@media(max-width:480px){.measurement-photo-grid{grid-template-columns:minmax(0,1fr)}.measure-row{grid-template-columns:minmax(70px,1.4fr) repeat(3,minmax(32px,1fr));gap:5px}.check-in-history-row{gap:6px}.check-in-history-row>.btn{padding-inline:6px}}

.measurement-photo-upload{display:inline-flex;align-items:center;position:relative;margin:0 6px 6px 0;cursor:pointer}
.measurement-photo-upload:focus-within{outline:2px solid var(--brand);outline-offset:2px}
.training-calendar{display:grid;gap:16px}
.calendar-heading{display:grid;justify-items:center;gap:14px;text-align:center;padding:6px 0 2px}
.calendar-heading h2{margin:0;color:var(--brand);font-size:clamp(25px,4vw,36px);font-weight:850;line-height:1.12;letter-spacing:.04em}
.calendar-heading h2::after{content:"";display:block;width:44px;height:2px;margin:10px auto 0;border-radius:999px;background:var(--brand)}
.calendar-reminder{margin:0}
.calendar-navigation{display:flex;justify-content:space-between;align-items:center;gap:8px}
.calendar-navigation h3,.calendar-appointment strong,.calendar-reminder strong{text-transform:capitalize}
.calendar-navigation button{font-size:18px;min-width:38px}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.calendar-weekday{text-align:center;color:var(--muted);font-size:11px;font-weight:700}
.calendar-day{min-height:55px;border:1px solid var(--stroke);border-radius:7px;padding:5px;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:12px}
.calendar-day.has-session{background:color-mix(in srgb,var(--brand) 12%,var(--card))}
.calendar-day[aria-current="date"]{border-color:var(--brand)}
.calendar-day[aria-current="date"]>span{font-weight:800;color:var(--brand)}
.calendar-day a{display:block;color:var(--text);font-size:clamp(9px,2vw,12px);text-decoration:underline}
.calendar-appointment{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid var(--stroke);border-radius:8px;padding:10px 12px;scroll-margin-top:15px}
.calendar-appointment:target{border-color:var(--brand)}
.calendar-editor{border-top:1px solid var(--stroke);padding-top:16px}
.calendar-editor h3{margin-bottom:12px}
.calendar-repeat{display:flex;align-items:center;gap:8px;margin:8px 0 14px}
.calendar-repeat input{width:auto;accent-color:var(--brand)}
#calendarFormError:empty{display:none}
.mainclient .logbook-welcome-row>.logbook-tabs>button{
 text-align:center;
 text-wrap:balance;
}
@media(min-width:761px){
 .mainclient .logbook-welcome-row>.logbook-tabs:has(>button:nth-child(5)){
  --logbook-tab-columns:3;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  width:min(62%,360px);
 }
 .mainclient .logbook-welcome-row>.logbook-tabs:has(>button:nth-child(7)){
  --logbook-tab-columns:4;
  width:min(68%,480px);
 }
 .mainclient .logbook-welcome-row>.logbook-tabs:has(>button:nth-child(5))>button{
  flex:0 0 calc((100% + 8px)/var(--logbook-tab-columns) - 8px);
  min-width:0;
  padding-inline:6px;
 }
}
@media(min-width:601px) and (max-width:760px){
 .logbook-welcome-row:has(>.logbook-tabs>button:nth-child(5)){flex-wrap:wrap;gap:14px}
 .mainclient .logbook-welcome-row>.logbook-tabs:has(>button:nth-child(5)){
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  width:100%;
 }
 .mainclient .logbook-welcome-row>.logbook-tabs:has(>button:nth-child(5))>button{min-width:0;padding-inline:6px}
}
@media(max-width:380px){.calendar-day{padding:4px 1px}.calendar-grid{gap:2px}}
.calendar-day{position:relative}
.calendar-day-bookable{padding-top:23px}
.calendar-day-bookable>.calendar-day-number{position:absolute;inset:0;width:100%;height:100%;display:flex;align-items:flex-start;justify-content:center;border:0;border-radius:inherit;background:transparent;padding:5px 0 0;color:inherit;font:inherit;cursor:pointer}
.calendar-day-bookable>.calendar-event{z-index:1}
.calendar-navigation #calendarMonthTitle{font-size:clamp(20px,3vw,28px);line-height:1.2;text-align:center;text-transform:none}
.calendar-navigation #calendarMonthTitle::first-letter{text-transform:uppercase}
.calendar-day:has(.calendar-day-number:hover),.calendar-day:focus-within{border-color:var(--brand)}
.calendar-day[aria-current="date"]>.calendar-day-number{color:var(--brand);font-weight:800}
.calendar-day>.calendar-event{position:relative;width:100%;min-width:0;padding:4px 3px;border:0;border-radius:4px;background:color-mix(in srgb,var(--brand) 24%,var(--card));color:var(--text);font-size:11px;text-align:center;text-decoration:none;overflow-wrap:anywhere}
.calendar-event span{display:block}
.calendar-dialog{width:min(480px,calc(100% - 24px));margin:auto;color:var(--text);box-shadow:0 16px 50px #0009}
.calendar-dialog::backdrop{background:#0009}
.calendar-dialog h3{margin:0 0 18px;text-align:center;text-transform:uppercase;font-size:20px;letter-spacing:.06em}
.calendar-dialog details{margin-bottom:12px}
.calendar-dialog .actions{flex-wrap:wrap;justify-content:center}
.calendar-zone-field{width:min(100%,360px);margin-inline:auto;text-align:center}
.calendar-zone-menu{position:relative}
.calendar-zone-menu input{text-align:center;padding-inline:30px}
.calendar-zone-arrow{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none}
#calendarZoneResults{position:absolute;z-index:5;top:calc(100% + 5px);width:100%;max-height:230px;overflow:auto;padding:4px;background:var(--card);border:1px solid var(--stroke);border-radius:8px;box-shadow:0 10px 24px #0007}
#calendarZoneResults>div{padding:8px;border-radius:5px}
#calendarZoneResults>[role="option"]{cursor:pointer}
#calendarZoneResults>[role="option"]:is(:hover,.active,[aria-selected="true"]){background:color-mix(in srgb,var(--brand) 18%,var(--card))}
.calendar-heading #trainingCalendarTitle{font-size:clamp(30px,5vw,46px);letter-spacing:-.025em}
.calendar-reminder strong{text-transform:none}
.calendar-reminder strong::first-letter{text-transform:uppercase}
.calendar-time-preview{display:grid;gap:5px;text-align:center;margin:0 0 12px;padding:10px;border:1px solid var(--stroke);border-radius:8px;background:color-mix(in srgb,var(--brand) 12%,var(--card))}
.calendar-time-preview output{font-weight:750}
@media(max-width:550px){.calendar-event span{display:none}.calendar-dialog{padding:16px}}
.full-body-test{margin-top:24px;padding-top:20px;border-top:1px solid var(--stroke)}
.full-body-test>.full-body-test-card{padding:clamp(18px,4vw,28px);border-top:3px solid var(--brand);background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 14%,var(--surface)),var(--surface) 75%)}
.full-body-test-card .client-routine-top>strong{font-size:clamp(22px,4vw,32px);font-weight:900;text-transform:uppercase}

.session-effort{
 margin:10px 0;
 padding:10px 12px;
 border:1px solid var(--stroke);
 border-radius:8px;
 background:color-mix(in srgb,var(--brand) 8%,var(--card));
}
.session-effort strong{color:var(--brand);font-variant-numeric:tabular-nums}
.session-effort meter{display:block;width:100%;height:12px;margin:6px 0}
.session-effort meter::-webkit-meter-bar{background:var(--bg);border:0;border-radius:8px}
.session-effort meter::-webkit-meter-optimum-value{background:var(--brand);border-radius:8px}
.session-effort meter::-moz-meter-bar{background:var(--brand);border-radius:8px}

.logbook-user-summary .major{
 width:fit-content;
 margin:3px 0 5px;
 font-size:clamp(27px,3.8vw,40px);
 font-weight:950;
 line-height:1.08;
 letter-spacing:-.04em;
 text-transform:none;
 color:var(--text);
}
.logbook-faction-phrase{
 color:var(--sub);
 font-size:12px;
 line-height:1.45;
 overflow-wrap:anywhere;
}

.logbook-protocol-logo{display:inline-flex;padding:0;border:0;border-radius:8px;background:transparent;color:inherit;cursor:pointer}
.logbook-protocol-logo .brand-symbol{pointer-events:none}
.logo-settings{align-items:center}
.logo-settings h3{margin:0 0 4px;font-size:14px}
.logo-settings p{margin:0}
.logbook-pearl{
 --pearl-metal:linear-gradient(118deg,#a6b3c6 0%,#e2eaf6 15%,#faf6ea 29%,#bfdcd9 41%,#c2c9ee 54%,#e8cde5 67%,#f8eee2 80%,#aab9cc 100%);
 --logbook-shimmer-accent:var(--pearl-metal);
 --logbook-shimmer:pearl-reflection 7s ease-in-out infinite alternate;
 background:linear-gradient(116deg,#11151e 8%,#829bc02c 29%,#c6aef128 44%,#95dfd82a 60%,#d9e3ef29 76%,#11151e 96%);
 background-size:260% 100%;
 animation:pearl-reflection 14s ease-in-out infinite alternate;
}
.logbook-pearl .mainclient :is(.logbook-tabs>button.sel,.trainer-mode-button.active,.btn.primary,.program-day-tabs>button.sel,.finish-workout),
.logbook-pearl :is(.timer-dock,.timer-panel .btn.primary){
 background:var(--pearl-metal);background-size:240% 100%;animation:var(--logbook-shimmer);color:#191918;
}
.logbook-pearl .mainclient :is(.hero-stats,.hero-progress-back,.training-program-panel,.gym-selector,.measurement-reminder,.faction-section,.client-diet,.food-log-page,.calendar-event){
 background:linear-gradient(125deg,var(--surface),#9aaec534 30%,#c4b8e632 47%,#abcfc52b 65%,var(--surface));
 background-size:220% 100%;animation:var(--logbook-shimmer);border-color:#dfe9fb75;
}
.logbook-pearl .mainclient :is(.training-program-panel,.gym-selector)::before,
.logbook-pearl .mainclient :is(.selected-workout-title,.calendar-heading h2)::after{
 background:var(--pearl-metal);background-size:240% 100%;animation:var(--logbook-shimmer);
}
@keyframes pearl-reflection{from{background-position:0% 50%}to{background-position:100% 50%}}
@media(prefers-reduced-motion:reduce){.logbook-pearl{animation:none;background-position:50% 50%;--logbook-shimmer:none}}
.logbook-easter-notice{width:min(420px,calc(100% - 28px));max-height:calc(100dvh - 28px);margin:auto;padding:clamp(18px,4vw,30px);text-align:center;border:1px solid #dce8fb7a;border-radius:21px;background:radial-gradient(ellipse at 50% 48%,#333e48,#1b202a 72%);box-shadow:0 24px 80px #000a;color:#f3f3f0}
.logbook-easter-notice::backdrop{background:#080c17a3;backdrop-filter:blur(7px)}
.logbook-easter-notice h2{font-size:clamp(20px,4vw,26px);margin:0;text-transform:none;letter-spacing:-.02em}
.easter-hatch{display:block;width:min(220px,46dvh,100%);height:auto;margin:4px auto 12px}

.identities-heading{text-align:center}
.identities-heading .lead{margin-inline:auto}
.identity-create-form{margin-top:18px;padding-top:16px;border-top:1px solid var(--stroke)}
#identityStatus:empty,#identityCreateStatus:empty{display:none}
@media(prefers-reduced-motion:no-preference){
 .logbook-protocol-logo .brand-symbol{animation:protocol-logo-breathe 30s ease-in-out var(--logo-breathe-delay, 0ms) infinite}
}
@keyframes protocol-logo-breathe{
 0%,10%,18%,100%{scale:1;filter:none}
 12.5%,14%{scale:1.16;filter:brightness(1.8) drop-shadow(0 0 5px var(--brand))}
}

@media(min-width:1000px){.identity-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
.identity-grid>.idtile{min-width:0;overflow-wrap:anywhere;user-select:none;-webkit-touch-callout:none;cursor:grab}
.identity-grid>.idtile.identity-dragging{position:relative;z-index:5;pointer-events:none;opacity:.85;box-shadow:0 8px 24px #0008}
.identity-grid>.idtile.identity-drop-target{outline:2px solid var(--brand);outline-offset:-2px}
.identity-color-controls{display:flex;align-items:center;gap:8px}
.identity-color-controls input[type="text"]{width:9ch;flex:0 1 9ch;min-width:0;font-family:monospace;text-transform:uppercase}

.faction-silhouette{display:block;width:65%;height:65%;flex:none}
@media(min-width:701px){
 .faction-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
 .faction-card{padding:15px 8px;gap:6px}
 .faction-card strong{letter-spacing:.055em}
}

.logbook-vader{
 position:relative;isolation:isolate;min-height:100vh;background:#08090c;
 --vader-reflection:linear-gradient(116deg,#292730 4%,#40374d 24%,#a77cdb 33%,#53446f 40%,#302e3c 57%,#7566a1 69%,#332a40 79%,#292730 100%);
 --vader-metal:linear-gradient(116deg,#101015 4%,#22212a 24%,#4d355f 33%,#292438 40%,#16171e 57%,#37314e 69%,#22202a 79%,#101015 100%);
 --vader-accent:linear-gradient(116deg,#bd9df1 4%,#bb9ced 24%,#f5eaff 33%,#cc9bff 41%,#b4acee 56%,#e6d5ff 68%,#bd9df1 84%);
 --vader-shimmer:vader-metal-reflection 8s ease-in-out infinite alternate;
 --logbook-shimmer-accent:var(--vader-accent);
 --logbook-shimmer:var(--vader-shimmer);
}
.logbook-vader[data-vader-colour]:not([data-vader-colour="purple"]){
 --vader-reflection:linear-gradient(116deg,#22242c 4%,#343641 24%,var(--vader-base) 33%,#30333d 43%,#23252e 57%,color-mix(in srgb,var(--brand) 55%,#252732) 69%,#292b33 82%);
 --vader-metal:linear-gradient(116deg,#101015 4%,#1e2028 24%,color-mix(in srgb,var(--vader-base) 47%,#13141a) 33%,#242631 43%,#15161d 57%,color-mix(in srgb,var(--vader-base) 32%,#161720) 69%,#101015 92%);
 --vader-accent:linear-gradient(116deg,var(--brand) 4%,color-mix(in srgb,var(--brand) 85%,var(--vader-base)) 24%,#f6f7ff 33%,var(--brand) 43%,color-mix(in srgb,var(--brand) 60%,#e2e8ff) 69%,var(--brand) 84%);
}
.logbook-vader::before,.logbook-vader::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none}
.logbook-vader::before{background:#08090c url("./icons/vader-space.png") center/cover no-repeat}
.logbook-vader::after{
 background:radial-gradient(ellipse at left,color-mix(in srgb,var(--vader-base) 23%,transparent),transparent 72%) left top/22% 65% no-repeat,
 radial-gradient(ellipse at right,color-mix(in srgb,var(--brand) 22%,transparent),transparent 72%) right bottom/24% 65% no-repeat;
 animation:vader-edge-reflection 13s ease-in-out infinite alternate;
}
.logbook-vader .mainclient :is(.training-program-panel,.gym-selector,.hero-stats,.hero-progress-back,.faction-section,.measurement-reminder,.finish-workout,.client-diet,.food-log-page){
 border:1px solid transparent;
 background:linear-gradient(145deg,#16171c,#0d0e12 72%) padding-box,var(--vader-reflection) border-box;
 background-size:100% 100%,250% 100%;
 animation:var(--vader-shimmer);
 box-shadow:0 12px 28px #0004;
}
.logbook-vader .mainclient :is(.training-program-panel,.gym-selector)::before,
.logbook-vader .mainclient .selected-workout-title::after,
.logbook-vader .calendar-heading h2::after{
 background:var(--vader-reflection);background-size:250% 100%;animation:var(--vader-shimmer);
}
.logbook-vader .mainclient :is(.logbook-tabs>button.sel,.program-day-tabs>button.sel,.trainer-mode-button.active,.btn.primary),
.logbook-vader :is(.timer-dock,.timer-panel .btn.primary){
 background:var(--vader-metal) padding-box,var(--vader-reflection) border-box;
 background-size:250% 100%;border:1px solid transparent;
 animation:var(--vader-shimmer);color:#f5f1fa;
}
.logbook-vader .finish-workout{color:#f5f1fa}
.logbook-vader .finish-button,
:is(.logbook-vader,.logbook-pearl) :is(.profile-button .avatar,.logbook-welcome-row .avatar,.hero-calendar-grid>[aria-current="date"],.set-done[aria-pressed="true"]){
 background-image:var(--logbook-shimmer-accent);background-size:250% 100%;
 animation:var(--logbook-shimmer);color:#101015;
}
:is(.logbook-vader,.logbook-pearl) .mainclient :is(
 .logbook-motto,.logbook-hero h1 span,.logbook-hero .hero-stats>strong,
 .logbook-hero .hero-stats>span.hero-progress-tenure,.hero-calendar-countdown,
 .session-ex>.row>h3,.set-action:not(:disabled),.exercise-substitutions summary,.exercise-video,
 .calendar-heading h2,.calendar-day[aria-current="date"]>:is(span,.calendar-day-number),
 .measurement-reminder-title,.measurement-countdown,
 .gym-selector .gym-selection-field>label,.training-plan-eyebrow,
 .coaching-client-panel h2,.client-diet>header .smallcaps,.diet-date strong,
 .program-level-label,.program-card-cta,.client-routine-cta,.logbook-user-summary .major
),
:is(.logbook-vader,.logbook-pearl) .timer-display,
.logbook-pearl .mainclient :is(.logbook-hero h1,.selected-workout-title,.training-plan-identity>h2,.finish-button){
 background-image:var(--logbook-shimmer-accent);background-size:250% 100%;
 background-clip:text;color:transparent;animation:var(--logbook-shimmer);
}
.logbook-pearl .mainclient .finish-button{
 background-image:var(--pearl-metal),linear-gradient(#111713,#111713);
 background-clip:text,padding-box;
}
:is(.logbook-vader,.logbook-pearl) :is(.set-action,.exercise-substitutions summary)::marker{color:var(--brand)}
.logbook-vader .calendar-day>.calendar-event{
 background:var(--vader-metal);background-size:250% 100%;animation:var(--vader-shimmer);
}
:is(.logbook-vader,.logbook-pearl) .mainclient .measurement-countdown{
 background-image:var(--logbook-shimmer-accent),linear-gradient(#ffffff12,#ffffff12);
 background-clip:text,padding-box;
}
.logbook-vader .timer-quick-actions{border-color:#f5f1fa30}
.logbook-vader .timer-quick-button{background:#0d0e12;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand) 27%,transparent)}
.logbook-vader .timer-dock :focus-visible{outline-color:#f5f1fa}
.logbook-vader .logbook-hero h1 span,.logbook-vader .hero-stats>strong{text-shadow:0 0 14px color-mix(in srgb,var(--brand) 30%,transparent)}
.vader-faction-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--stroke);border-radius:12px;background:var(--card2)}
.vader-faction-card:has(.chosen){border-color:var(--brand);box-shadow:inset 0 3px 0 var(--brand)}
.vader-faction-card>.faction-card{border:0;background:none;box-shadow:none;padding-bottom:6px}
.vader-faction-card .faction-card.chosen .faction-state{color:var(--brand)}
.vader-colour-picker{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;padding:2px 5px 12px}
.vader-colour-picker>button{
 width:24px;height:24px;padding:0;border-radius:50%;
 border:1px solid color-mix(in srgb,var(--swatch-light) 60%,#13141a);
 background:linear-gradient(130deg,#171820,var(--swatch-base) 48%,var(--swatch-light) 62%,#171820 94%);
}
.vader-colour-picker>button[aria-pressed="true"]{outline:1px solid var(--swatch-light);outline-offset:1px}
.vader-colour-picker>button:focus-visible{outline:2px solid white;outline-offset:2px}
@keyframes vader-edge-reflection{from{background-position:left top,right bottom;opacity:.55}to{background-position:left bottom,right top;opacity:1}}
@keyframes vader-metal-reflection{from{background-position:0% 50%,0% 50%}to{background-position:100% 50%,100% 50%}}
.vader-unlock-dialog{background:radial-gradient(ellipse at top,#392252,#171021 75%);border-color:#c5a5ff80}
.vader-unlock-dialog::backdrop{background:#10072275;backdrop-filter:blur(5px)}
.vader-unlock-dialog form{margin-top:18px}
.vader-unlock-dialog .actions{justify-content:center;flex-wrap:wrap}
.vader-code-field{position:relative;display:grid;place-items:center;min-height:54px;overflow:hidden;border:1px solid #b689ff80;border-radius:8px;background:#0d0916;font:750 21px ui-monospace,monospace;color:#e6d2ff}
.vader-code-field:focus-within{outline:2px solid #c9a4ff;outline-offset:2px}
.vader-code-field input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:text}
.vader-code-field>span{display:block;max-width:100%;overflow:hidden;white-space:pre;pointer-events:none;padding-inline:6px}
.vader-cursor{animation:vader-cursor 1s step-end infinite}
#vaderCodeStatus{min-height:1.2em;color:#f2c1e2}
@keyframes vader-cursor{50%{opacity:0}}
@media(prefers-reduced-motion:reduce){
 .logbook-vader{--vader-shimmer:none}
 .logbook-vader::after,.vader-cursor{animation:none}
}

.studio-version{color:var(--brand);font-weight:800;letter-spacing:.08em}
.dashboard-section{display:grid;gap:16px;margin-top:28px}
.dashboard-section-heading h2,.dashboard-chart h3{margin:0;font-size:18px}
.dashboard-section-heading p{margin:6px 0 0;color:var(--sub);font-size:13px}
.dashboard-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:12px}
.dashboard-chart{margin:0}
.dashboard-chart-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;list-style:none;margin:16px 0 0;padding:0;text-align:center}
.dashboard-chart-days li{display:grid;grid-template-rows:auto 90px auto;gap:6px;justify-items:center;color:var(--sub);font-size:11px}
.dashboard-chart-days strong{color:var(--brand);font-size:14px}
.dashboard-chart-track{display:flex;align-items:end;width:min(100%,28px);background:color-mix(in srgb,var(--brand) 10%,transparent);border-radius:5px;overflow:hidden}
.dashboard-chart-track span{width:100%;height:var(--bar-height);background:var(--brand);border-radius:5px}

.side-bottom{text-align:center}
.studio-version{font-size:16px}
.dashboard-section-heading,.dashboard-metrics .metric{text-align:center}
.dashboard-metrics-usage{grid-template-columns:repeat(3,minmax(0,1fr))}

.library-workspace>.page-title,.library-workspace>.lead,
.coach-workspace>.page-title,.coach-workspace>.lead,
.settings-workspace>.page-title,.settings-workspace>.lead{
 text-align:center;
 margin-inline:auto;
}
.library-workspace .library-intro{
 display:grid;
 justify-content:stretch;
 gap:16px;
 text-align:center;
}
.library-intro>.actions,.backup-settings>.actions,
.coach-profile-cards .actions,.coach-client-panel>.actions{
 justify-content:center;
 flex-wrap:wrap;
}
.library-intro .btn,.backup-settings .btn{min-width:130px}
.brand-settings,.backup-settings,.settings-workspace>.notice{text-align:center}
.brand-settings>.field{width:min(100%,460px);margin-inline:auto}
.brand-settings input[data-bind="brand.name"]{text-align:center}
.brand-settings .logo-settings{
 flex-direction:column;
 gap:10px;
 margin:20px auto;
}
.brand-settings input[type="color"]{margin-inline:auto}
.coach-profile-cards{align-items:start}
.coach-profile-cards>.section>h2,.coach-client-heading>h2{font-size:17px}
.coach-profile-cards>.section>h2,.coach-profile-cards>.section>p,
.coach-profile-cards .soft,.coach-client-panel>p{text-align:center}
.coach-profile-cards>.section>h2{margin-bottom:16px}
.coach-client-heading{display:grid;justify-items:center;gap:8px;text-align:center}
.coach-visible-count{
 display:inline-block;
 margin-inline-start:5px;
 padding:3px 8px;
 border-radius:999px;
 background:color-mix(in srgb,var(--brand) 12%,transparent);
 color:var(--text);
 font-size:11px;
 letter-spacing:0;
 vertical-align:middle;
}
.coach-client-panel>p{margin-top:12px}
.coach-client-panel .coach-client-choice b{font-size:14px}
.coach-client-panel .coach-client-choice small{font-size:12px}

@media(max-width:520px){
 .dashboard-metrics-usage{grid-template-columns:repeat(2,minmax(0,1fr))}
}

.shell .workspace > h1.page-title,
.shell .workspace > .identities-heading > h1.page-title {
 text-align:center;
 margin-bottom:18px;
}
.shell .workspace > h1.page-title::after,
.shell .workspace > .identities-heading > h1.page-title::after {
 content:"";
 display:block;
 width:clamp(48px,7vw,84px);
 height:2px;
 margin:14px auto 0;
 border-radius:999px;
 background:linear-gradient(90deg,transparent,var(--brand),transparent);
}

.crm-directory-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}
.crm-archive-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
@media(max-width:540px){.crm-directory-row{grid-template-columns:minmax(0,1fr);gap:6px}.crm-directory-row>.btn{justify-self:end}.crm-archive .listitem{flex-wrap:wrap}.crm-archive-actions{justify-content:flex-start}}

/* Keep the Logbook's two-part header and centred content on phones. */
@media (max-width: 600px) {
 .mainclient { width: 100%; padding-inline: clamp(12px, 4vw, 24px); }
 .logbookhead { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; }
 .logbookhead > .identity { min-width: 0; }
 .logbookhead .header-actions { margin: 0; flex-wrap: nowrap; justify-content: flex-end; gap: 5px; }
 .logbookhead .header-actions > .btn { max-width: 88px; white-space: normal; line-height: 1.15; }
 .logbookhead .profile-button { gap: 4px; padding-inline: 4px 7px; }
 .logbookhead .profile-button .avatar { width: 26px; height: 26px; flex-basis: 26px; }
 .logbook-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(96px, 35%);
  align-items: center;
  gap: clamp(8px, 3vw, 18px);
  margin-block: 30px 24px;
 }
 .logbook-hero h1 { font-size: clamp(27px, 8.3vw, 48px); letter-spacing: -.06em; }
 .logbook-hero .logbook-motto { font-size: clamp(8px, 2.2vw, 11px); letter-spacing: .09em; }
 .logbook-hero .hero-progress-toggle { width: 100%; min-width: 0; }
 .logbook-hero .hero-progress-front { gap: 5px; padding: 10px 5px; }
 .logbook-hero .hero-stats > strong { font-size: clamp(32px, 10vw, 56px); }
 .logbook-hero .hero-stats > span:first-child,
 .logbook-hero .hero-progress-caption { font-size: clamp(7px, 1.85vw, 10px); letter-spacing: .045em; }
 .logbook-hero .hero-stats > .hero-progress-tenure { font-size: clamp(9px, 2.3vw, 12px); padding-top: 5px; }
 .logbook-hero .hero-progress-back { padding: 8px 4px; gap: 4px; }
 .logbook-welcome-row { display: grid; grid-template-columns: minmax(0, 1fr); justify-items: center; gap: 16px; }
 .logbook-welcome-row > .logbook-user-summary { min-width: 0; max-width: 100%; }
 .mainclient .logbook-welcome-row > .logbook-tabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0;
 }
 .mainclient .logbook-welcome-row > .logbook-tabs > button {
  flex: 0 0 calc((100% - 14px) / 3);
  width: auto;
  min-height: 44px;
  overflow-wrap: anywhere;
 }
 .mainclient .training-program-panel .program-day-tabs {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 5px;
 }
 .mainclient .training-program-panel .program-day-tabs > button {
  flex: 1 1 0;
  min-width: 0;
  padding: 8px 4px;
  line-height: 1.2;
 }
 .mainclient .training-program-panel .program-day-tabs:has(> button:nth-child(5)) > button {
  flex: 0 0 calc((100% - 10px) / 3);
 }
 .mainclient .session-ex { padding: 12px; min-width: 0; }
 .mainclient .session-ex > .row:first-child { gap: 6px; flex-wrap: wrap; }
 .mainclient .session-ex > .row > h3 { margin: 0; font-size: clamp(18px, 4.7vw, 24px); overflow-wrap: break-word; }
 .mainclient .session-ex .exercise-status { max-width: 100%; }
 .mainclient .session-ex .exercise-status:empty { display: none; }
 .mainclient .exercise-description-row { margin-block: 8px 14px; }
 .mainclient .exercise-description-row > .exercise-prescription {
  display: flex;
  justify-self: end;
  max-width: 100%;
  justify-content: center;
  row-gap: 4px;
  font-size: 11px;
  line-height: 1.35;
 }
 .mainclient .exercise-prescription > span { padding-inline: clamp(4px, 1.4vw, 10px); white-space: normal; overflow-wrap: break-word; }
 .mainclient .exercise-prescription > span + span { border-left: 1px solid color-mix(in srgb,var(--brand) 23%,var(--stroke)); }
 .mainclient .workline { padding: 9px 7px; }
 .mainclient .training-set-row {
  --set-number: 21px;
  --set-done: 36px;
  grid-template-columns: var(--set-number) repeat(3,minmax(0,1fr)) var(--set-done);
  gap: 4px;
 }
 .mainclient .training-set-row.with-rpe { grid-template-columns: var(--set-number) repeat(4,minmax(0,1fr)) var(--set-done); }
 .mainclient .training-set-row.with-single { grid-template-columns: var(--set-number) minmax(0,1fr) minmax(0,2fr) minmax(0,1fr) var(--set-done); }
 .mainclient .training-set-row.with-single.with-rpe { grid-template-columns: var(--set-number) minmax(0,1fr) minmax(0,2fr) repeat(2,minmax(0,1fr)) var(--set-done); }
 .mainclient .training-set-row > div { min-width: 0; }
 .mainclient .training-set-row .numbadge { width: var(--set-number); align-self: end; margin-bottom: 7px; }
 .mainclient .training-set-row label { margin-bottom: 4px; font-size: 8px; line-height: 1.2; }
 .mainclient .training-set-row input { width: 100%; height: 44px; padding: 0 1px; font-size: 16px; appearance: textfield; }
 .mainclient .training-set-row input::-webkit-inner-spin-button,
 .mainclient .training-set-row input::-webkit-outer-spin-button { appearance: none; margin: 0; }
 .mainclient .training-set-row .set-done { width: 100%; height: 44px; padding: 0; display: grid; place-items: center; }
 .mainclient .set-actions { flex-wrap: wrap; gap: 4px 12px; }
 .rest-timer { right: max(12px, env(safe-area-inset-right)); bottom: max(12px, env(safe-area-inset-bottom)); }
}

/* Keep the desktop hierarchy in normal flow on narrow screens. */
.mainclient .exercise-description-row > .exercise-prescription { transform: none; max-width: 100%; }
.mainclient .session-ex > .row:first-child > h3 { min-width: 0; overflow-wrap: anywhere; }
.mainclient :is(.diet-plan-card,.client-routine-card,.calendar-day,.calendar-month-list > *, .measurement-reminder-card) { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 700px) {
 .mainclient .exercise-description-row { grid-template-columns: minmax(0,1fr); gap: 10px; }
 .mainclient .exercise-description-row > .exercise-prescription { justify-self: start; }
 .mainclient .exercise-description-row > .exercise-prescription:has(> span:nth-child(4)) {
  display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); width: 100%; text-align: center; padding-block: 9px;
 }
 .mainclient .exercise-prescription > span { white-space: normal; padding-inline: 4px; }
 .mainclient .exercise-prescription > span + span { border-left: 1px solid var(--stroke); }
 .mainclient .substitutions { flex-wrap: wrap; }
 .mainclient .substitutions > button { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
 .mainclient :is(.selected-workout-title,.training-program-panel h2,.client-programs h2,.client-diet h2) { overflow-wrap: anywhere; }
 .mainclient .diet-heading-row { align-items: flex-start; }
 .mainclient .diet-date { max-width: 100%; }
 .mainclient .diet-targets { grid-template-columns: repeat(auto-fit,minmax(min(100%,125px),1fr)); }
 .mainclient .calendar-day > .calendar-event { font-size: clamp(9px,2.3vw,11px); padding-inline: 1px; }
 .mainclient .calendar-day > .calendar-event span { display: block; font-size: .9em; line-height: 1.15; }
 .mainclient .calendar-grid { gap: 3px; }
 .mainclient .calendar-day { padding-inline: 2px; }
 .mainclient .training-set-row:has(.set-time-measure) { grid-template-columns: var(--set-number,25px) minmax(0,1fr) minmax(0,1.4fr) minmax(0,1fr) var(--set-done,34px); }
 .mainclient .training-set-row.with-rpe:has(.set-time-measure) { grid-template-columns: var(--set-number,25px) minmax(0,1fr) minmax(0,1.4fr) repeat(2,minmax(0,1fr)) var(--set-done,34px); }
}
@media (max-width: 380px) {
 .mainclient .training-calendar { padding-inline: 10px; }
 .mainclient .calendar-day > .calendar-event span { display: none; }
}

/* Phone layout: keep the desktop hierarchy without scaling the whole page. */
@media (max-width: 600px) {
 .mainclient { padding: 20px 12px 58px; }
 .mainclient .logbookhead { gap: 5px; }
 .logbookhead .identity { gap: 5px; }
 .logbookhead .identity b { font-size: clamp(8px, 2.2vw, 11px); letter-spacing: 0; white-space: nowrap; }
 .logbookhead .brand-symbol { width: 28px; height: 28px; flex: 0 0 28px; }
 .logbookhead .header-actions > .btn { max-width: none; font-size: 9px; padding: 7px 5px; white-space: nowrap; }
 .logbookhead .profile-button { font-size: 10px; padding: 3px 5px; }
 .logbookhead .profile-button .avatar { width: 21px; height: 21px; flex-basis: 21px; }
 .mainclient .logbook-hero { grid-template-columns: minmax(0,1fr) clamp(96px,28vw,144px); margin: 20px 0 16px; gap: 6px; }
 .mainclient .logbook-hero h1 { font-size: clamp(34px, 10.3vw, 60px); }
 .mainclient .logbook-motto { font-size: clamp(6px, 1.8vw, 9px); letter-spacing: .08em; margin-bottom: 8px; }
 .logbook-hero .hero-progress-coin { aspect-ratio: 1; grid-template-rows: minmax(0,1fr); }
 .logbook-hero .hero-progress-coin > span { min-height: 0; height: 100%; border-radius: 10px; }
 .logbook-hero .hero-progress-front { gap: 3px; padding: 5px; }
 .logbook-hero .hero-stats > span.hero-progress-tenure { font-size: 9px; padding-top: 3px; }
 .logbook-hero .hero-progress-back { padding: 4px; gap: 2px; }
 .hero-calendar-grid { grid-template-rows: repeat(7, auto); font-size: 7px; line-height: 1; }
 .hero-calendar-month,.hero-calendar-countdown { font-size: 8px; }
 .mainclient .trainer-mode-menu { margin-block: 12px; grid-template-columns: repeat(2,minmax(0,135px)); }
 .mainclient .trainer-mode-button { min-height: 36px; padding: 7px 12px; font-size: 12px; width: 100%; }
 .mainclient .logbook-welcome-row { margin-bottom: 12px; gap: 9px; }
 .logbook-welcome-row > .logbook-user-summary { justify-content: center; text-align: center; }
 .logbook-welcome-row .logbook-user-summary .major { font-size: clamp(27px,8vw,38px); }
 .logbook-welcome-row .logbook-user-summary .avatar { width: 30px; height: 30px; flex-basis: 30px; }
 .mainclient .logbook-welcome-row > .logbook-tabs { width: 100%; gap: 4px; }
 .mainclient .logbook-welcome-row > .logbook-tabs > button { flex: 0 0 calc((100% - 8px)/3); min-width: 0; min-height: 34px; padding: 5px 1px; white-space: nowrap; overflow-wrap: normal; font-size: clamp(9px, 2.8vw, 12px); }
 .mainclient > .notice:not(.logbook-deload-notice) { text-align: center; text-wrap: pretty; font-size: 10px; padding: 7px; margin-block: 8px; }
 .mainclient .training-program-panel { padding: 12px 9px; margin-bottom: 9px; }
 .training-plan-heading { margin-bottom: 0; }
 .mainclient .training-plan-routine { font-size: clamp(14px, 4.4vw, 21px); gap: 5px; margin-top: 6px; overflow-wrap: normal; text-wrap: balance; }
 .training-plan-routine::before,.training-plan-routine::after { flex: 0 1 16px; min-width: 0; }
 .mainclient .training-program-panel .program-day-tabs { flex-wrap: nowrap; gap: 2px; margin-top: 10px; padding: 3px; }
 .mainclient .training-program-panel .program-day-tabs > button,
 .mainclient .training-program-panel .program-day-tabs:has(> button:nth-child(5)) > button { flex: 1 1 0; padding: 5px 0; min-height: 43px; font-size: clamp(8px,2.52vw,11px); }
 .mainclient .program-day-tabs > button > span { overflow-wrap: normal; }
 .mainclient .program-day-tabs > button > small { font-size: 7px; padding-inline: 1px; }
 .mainclient .next-session-preference { margin-top: 8px; padding-top: 7px; gap: 4px; font-size: 10px; }
 .mainclient .next-session-controls { gap: 4px; }
 .mainclient .gym-selector { padding: 8px 10px; margin-bottom: 10px; gap: 4px; }
 .mainclient .gym-selector .gym-selection-field { gap: 4px; }
 .mainclient .gym-selector select { padding-block: 6px; min-height: 34px; font-size: 14px; }
 .mainclient .selected-workout-title { margin-top: 13px; overflow-wrap: normal; }
 .mainclient .session-ex { padding: 9px; }
 .mainclient .exercise-description-row { margin-block: 4px 7px; gap: 4px; }
 .mainclient .exercise-description-row .exercise-substitutions { margin-block: 3px; }
 .mainclient .exercise-description-row > .exercise-prescription:has(> span:nth-child(4)) { padding-block: 5px; }
 .mainclient .workline { padding: 6px; margin-bottom: 6px; }
 .mainclient .training-set-row { margin-bottom: 4px; }
 .mainclient .training-set-row :is(input,.set-done) { height: 36px; }
 .mainclient .set-actions,.mainclient .session-tools { margin-block: 6px; }
 .mainclient .finish-workout,.mainclient .profile-reset-section { flex-direction: row; align-items: center; padding: 9px 10px; gap: 7px; margin-block: 9px; }
 .mainclient .finish-workout strong { font-size: 14px; }
 .mainclient .finish-workout p,.mainclient .profile-reset-section p { margin-top: 3px; font-size: 10px; line-height: 1.3; }
 .mainclient .finish-button,.mainclient .profile-reset-section > .btn { width: auto; flex-shrink: 0; min-height: 34px; padding: 6px; font-size: 9px; }
 .mainclient .protocol-repeat { margin-top: 24px; padding-block: 14px; }
 .mainclient .check-in-page,.mainclient .check-in-section { padding: 10px; }
 .mainclient .check-in-header { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: start; gap: 5px; margin-bottom: 9px; }
 .mainclient .check-in-header h2 { font-size: clamp(16px, 4.6vw, 22px); margin-block: 3px; }
 .mainclient .check-in-header p { font-size: 11px; line-height: 1.35; text-wrap: pretty; }
 .mainclient .check-in-actions { max-width: 115px; gap: 3px; justify-content: flex-end; }
 .mainclient .check-in-actions .btn { padding: 5px; font-size: 9px; }
 .mainclient .check-in-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
 .mainclient .check-in-grid :is(input,select) { min-width: 0; padding-inline: 5px; }
 .mainclient .check-in-grid textarea,.mainclient .check-in-grid #check-in-food { min-height: 56px; }
 .mainclient .measurement-reminder { padding: 9px; margin-block: 8px; }
 .mainclient .check-in-history { margin-block: 8px; }
 .mainclient .check-in-history-item { padding: 7px; }
 .mainclient :is(#checkInSaveStatus,#measurementStatus).muted { display: none; }
 .mainclient .gym-selector + .section > h2 { text-align: center; }
 .mainclient .catalog-program-card { padding: 11px; }
 .mainclient .catalog-program-card .program-card-body { flex-direction: row; align-items: center; gap: 6px; }
 .mainclient .catalog-program-card .program-card-body { padding-block: 12px; }
 .mainclient .catalog-program-card .program-description-panel { padding: 9px 10px; }
 .mainclient .client-program-group .catalog-program-card .program-description-panel > .client-program-description { font-size: 12px; line-height: 1.45; }
 .mainclient .catalog-program-card .catalog-frequency-panel { padding-top: 8px; }
 .mainclient .program-level-art { flex: 0 0 62px; flex-direction: column; gap: 3px; }
 .mainclient .program-level-bars { width: 50px; height: 26px; }
 .mainclient .program-level-number { font-size: 22px; }
 .mainclient .program-level-label { font-size: 8px; letter-spacing: 0; }
 .mainclient .catalog-program-card .client-program-description { font-size: 12px; line-height: 1.5; }
 .mainclient .catalog-program-card .program-card-bottom,.mainclient .client-program-step { gap: 6px; margin-top: 9px; padding-top: 8px; }
 .mainclient :is(.profile-details,.gym-settings,.faction-section,.profile-language) { padding: 12px 9px; }
 .mainclient .profile-details > .cols { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
 .mainclient .profile-details .profile-name-preview { padding: 8px; gap: 3px; margin-block: 8px; }
 .mainclient .gym-settings #gymSettingsForm { gap: 6px; margin-top: 8px; }
 .mainclient .gym-settings #gymSettingsForm > .field { flex: 0 1 calc((100% - 6px)/2); padding: 5px; }
 .mainclient .gym-settings .gym-third-option { margin-top: 8px; padding-top: 4px; }
 .mainclient .faction-grid {
  grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; margin-top: 10px;
  max-height: min(380px, 55dvh); overflow-y: auto; padding: 3px;
 }
 .mainclient .faction-card { padding: 10px 7px; gap: 4px; border-radius: 8px; }
 .mainclient .faction-icon { width: 34px; height: 34px; border-radius: 8px; font-size: 20px; margin-bottom: 0; }
 .mainclient .faction-icon svg { width: 22px; height: 22px; }
 .mainclient .faction-card strong { font-size: 11px; letter-spacing: .02em; overflow-wrap: normal; }
 .mainclient .faction-card small { font-size: 11px; line-height: 1.35; overflow-wrap: normal; }
 .mainclient .faction-state { margin-top: 0; min-height: 0; font-size: 10px; }
 .mainclient .faction-state:empty { display: none; }
 .mainclient .vader-colour-picker { display: grid; grid-template-columns: repeat(2, 21px); justify-content: center; gap: 5px; padding: 5px; }
 .mainclient .vader-colour-picker > button { width: 21px; height: 21px; }
 .mainclient .profile-language .language-option { padding: 5px 8px; }
 .mainclient .profile-language .language-option > svg { width: 35px; height: 24px; }
 .food-log-mode .statusbar { display: none; }
 .food-log-mode .food-log-topbar { gap: 5px; padding: 6px 10px; }
 .food-log-mode .food-log-focus-identity { order: 0; flex: 1 1 110px; gap: 5px; }
 .food-log-mode .food-log-topbar > [role="status"] { flex: 0 0 100%; }
 .food-log-focus-workspace { padding: 14px 10px 24px; }
 .food-log-focus-intro { margin-bottom: 8px; }
 .food-log-focus-intro h1 { font-size: 35px; margin-block: 4px 8px; }
 .food-log-focus-intro > p { font-size: 16px; }
 .food-log-focus-intro > .food-log-focus-description { font-size: 12px; line-height: 1.4; text-wrap: pretty; }
 .food-log-focus-nav { margin-top: 8px; }
 .food-log-focus-nav > a { padding: 7px; }
 .food-log-mode :is(.crm-food-log,.food-log-entry,.food-log-day-controls) { padding: 8px; margin-bottom: 8px; }
 .food-log-mode .food-log-entry-fields { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; }
 .food-log-mode .food-log-day-controls { gap: 5px; }
 .food-log-mode .food-log-day-controls .field { min-width: 0; }
 .food-log-mode .food-log-field textarea { min-height: 55px; }
 .shell .side .nav { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 4px; overflow: visible; }
 .shell .side .nav-personal-group { display: contents; }
 .shell .side .nav button { min-width: 0; justify-content: center; padding: 5px 2px; min-height: 34px; font-size: clamp(9px,2.7vw,11px); white-space: normal; text-align: center; }
 .shell .workspace { padding: 13px 10px 28px; }
 .shell .workspace .dashboard-metrics,.shell .program-catalog > .program-picker { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 5px; }
 .shell .dashboard-metrics .metric,.shell .program-picker > button { padding: 7px 2px; font-size: 10px; min-height: 34px; }
 .shell .dashboard-section { gap: 7px; margin-top: 10px; }
 .shell .programs-workspace > .topactions { margin-block: 10px; }
 .shell .programs-workspace > .section { padding: 10px; }
}

@media (min-width: 375px) and (max-width: 600px) {
 .mainclient .is-editable .measure-row { grid-template-columns: repeat(6,minmax(0,1fr)); gap: 4px; padding-block: 6px; }
 .mainclient .is-editable .measure-row :is(.measure-reading,[id$="-before"],[id$="-current"],[id$="-delta"])::before { font-size: 8px; }
 .mainclient .is-editable .measure-reading input { padding: 6px 1px; }
}

/* Compact phone controls for Studio and the Logbook. */
.mobile-only { display: none; }
.studio-navigation { display: contents; }

@media (max-width: 600px) {
 .desktop-only { display: none; }
 .shell .side {
  position: sticky; top: 0; z-index: 30;
  height: auto; overflow: visible;
 }
 .studio-navigation { display: block; position: relative; width: fit-content; margin-top: 8px; }
 .studio-navigation > summary {
  display: block; cursor: pointer; list-style: none; padding: 11px 15px;
  border: 1px solid var(--brand); border-radius: 10px; background: var(--card); color: var(--text); font-weight: 800;
 }
 .studio-navigation > summary::-webkit-details-marker { display: none; }
 .studio-navigation > summary::before { content: "☰"; margin-right: 8px; color: var(--brand); }
 .shell .side .studio-navigation > .nav {
  position: absolute; top: calc(100% + 8px); left: 0; width: min(250px,calc(100vw - 24px));
  display: grid; grid-template-columns: minmax(0,1fr); gap: 3px; padding: 7px;
  border: 1px solid var(--stroke); border-radius: 12px; background: var(--card);
  box-shadow: 0 12px 32px #0009; max-height: calc(100dvh - 145px);
  overflow-y: auto; overscroll-behavior: contain;
 }
 .shell .side .studio-navigation .nav button { justify-content: flex-start; padding-inline: 9px; font-size: 12px; min-height: 38px; }
 .mainclient .logbookhead .identity { flex: 1 1 auto; flex-wrap: nowrap; min-width: 0; }
 .mainclient .logbookhead .identity :is(b,.logbook-brand-name) { white-space: nowrap; font-size: clamp(8px,2.5vw,11px); letter-spacing: 0; }
 .mainclient .logbookhead .header-actions > [data-action="exitPreview"] { font-size: clamp(7px,2vw,9px); }
 .hero-progress-tenure > .mobile-only,
 .hero-progress-tenure > .mobile-only > span { display: block; }
 .mainclient .finish-workout > div { min-width: 0; }
 .mainclient .workout-set-count,.mainclient .workout-finish-help { display: block; overflow-wrap: normal; }
 .mainclient .workout-set-count { white-space: nowrap; font-weight: 750; margin-bottom: 3px; }
 .mainclient .finish-button { white-space: normal; max-width: 38%; }

 .training-calendar .calendar-day { min-height: 0; aspect-ratio: 1; padding: 0; display: block; }
 .training-calendar .calendar-day > :is(span,.calendar-day-number,.calendar-event) { display: none; }
 .training-calendar .calendar-day-trigger {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
  width: 100%; height: 100%; padding: 0; color: inherit; background: transparent; border: 0; border-radius: inherit;
 }
 .calendar-markers { display: flex; gap: 2px; }
 .calendar-markers i { width: clamp(4px,1.6vw,8px); height: 3px; border-radius: 4px; background: var(--brand); }
 .calendar-markers i[data-type="measurements"] { background: #73c9ff; }
 .calendar-markers i[data-type="nutrition"] { background: #ffd486; }
 .calendar-markers i[data-type="online"] { background: #f397c5; }
 .training-calendar .calendar-appointment { display: none; }
 #mobileCalendarAgenda[open] { display: block; width: min(340px,calc(100% - 28px)); }
 #mobileCalendarAgenda h3 { font-size: 16px; }
 #mobileCalendarAgenda form { margin-top: 12px; }
 .calendar-agenda-entry {
  display: grid; grid-template-columns: max-content minmax(0,1fr); gap: 10px;
  align-items: start; width: 100%; text-align: left; padding: 9px;
  margin-bottom: 6px; border: 1px solid var(--stroke); border-radius: 8px; font-size: 12px;
 }
 .calendar-agenda-entry small { display: block; color: var(--sub); }
 .mainclient .calendar-reminder-card { gap: 4px; overflow-wrap: normal; font-size: 12px; }
 .calendar-reminder-card > .mobile-only { display: block; }
 .calendar-reminder-type { font-weight: 750; }

 .mainclient .client-diet { padding: 12px; }
 .mainclient .client-diet > header h2 { font-size: clamp(19px,5.7vw,27px); line-height: 1.1; overflow-wrap: normal; }
 .mainclient .diet-heading-row { gap: 7px; align-items: center; }
 .mainclient .diet-intro,.mainclient .check-in-header p { font-size: 12px; line-height: 1.45; }
 .mainclient .client-diet-content { margin-top: 12px; }
 .mainclient .diet-plan-card { padding: 10px; overflow-wrap: normal; }
 .mainclient .diet-plan-card > header { gap: 6px; padding-bottom: 7px; margin-bottom: 7px; }
 .mainclient .diet-plan-card h3 { font-size: 11px; }
 .mainclient .diet-plan-card :is(li,p) { font-size: 12px; line-height: 1.45; }
 .mainclient .diet-plan-card li { padding-block: 7px; }
 .mainclient .diet-targets { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px; }
 .mainclient .diet-targets p { min-width: 0; padding: 7px; text-wrap: pretty; }
 .food-log-mode .food-log-field > label { font-size: 11px; line-height: 1.3; }
 .food-log-mode .food-log-field :is(textarea,input) { font-size: 16px; padding: 6px; }
 .food-log-mode .food-log-entry-fields { row-gap: 8px; align-items: end; }

 .mainclient .history-details-toggle { display: inline-flex; margin-top: 6px; }
 .mainclient .history-details-toggle[aria-expanded="false"] + .history-exercises { display: none; }
 .mainclient .history-exercises { margin-top: 6px; }
 .mainclient .program-frequency-options { gap: 6px; margin-block: 8px; }
 .mainclient .catalog-frequency-panel .program-frequency-options > button,
 .shell .program-frequency-options > button { min-width: 54px; gap: 2px; padding: 6px 9px; }
 :is(.mainclient,.shell) .program-frequency-options strong { font-size: 20px; }
 :is(.mainclient,.shell) .program-frequency-options span { font-size: 10px; }
 .mainclient .client-routine-card { padding: 10px; overflow-wrap: normal; }
 .mainclient .client-routine-card strong { font-size: 14px; }
}

.history-exercises { display: contents; }
@media (max-width: 600px) {
 .mainclient .calendar-reminder .measurement-reminder-card { gap: 4px; overflow-wrap: normal; font-size: 12px; }
 .calendar-reminder .measurement-reminder-card > .mobile-only { display: block; }
 .mainclient .history-exercises { display: block; }
 .shell .side .studio-navigation:not([open]) > .nav { display: none; }
 .mainclient .selected-workout-title { margin-top: 21px; font-size: clamp(24px, 7.5vw, 30px); }
 .mainclient .training-plan-identity > h2 { font-size: 24px; }
 .mainclient .training-plan-identity { gap: 6px; }
 .mainclient .training-frequency { padding: 4px 9px; font-size: 11px; }
 .mainclient .training-plan-routine { font-size: clamp(13px, 4.1vw, 19px); }
 .mainclient .session-ex > .row:first-child > h3 { font-size: 17px; }
 .mainclient .next-session-controls > .btn,
 .mainclient .session-tools > .btn { min-height: 30px; padding: 5px 8px; font-size: 11px; }
 .mainclient .session-tools { gap: 10px; }
 .mainclient .next-session-controls > .btn { min-height: 26px; padding: 3px 6px; font-size: 10px; }
 .mainclient .next-session-toggle { min-height: 26px; padding: 3px 6px; gap: 4px; font-size: 10px; }
 .mainclient .next-session-toggle > span { transform: scale(.84); }
 .mainclient .rpe-toggle { gap: 5px; font-size: 11px; }
 .mainclient .rpe-toggle input { width: 15px; height: 15px; }
 .logbook-view .mainclient .finish-workout,
 .logbook-deload .mainclient .finish-workout {
  justify-content: center; padding: 0; background: none;
  border: 0; box-shadow: none; animation: none;
 }
 .mainclient .finish-workout > div,
 .mainclient .logbook-history .next-session-preference { display: none; }
 .mainclient .finish-workout .finish-button {
  width: min(100%, 280px); max-width: none; min-height: 44px; padding: 10px 14px; font-size: 12px;
 }
 .mainclient .client-program-group .catalog-program-card .program-description-panel > .client-program-description,
 .mainclient .client-routine-card .client-routine-focus { font-size: 13px; line-height: 1.5; }
 .mainclient .catalog-frequency-panel .program-frequency-options > button {
  min-width: 47px; min-height: 44px; gap: 1px; padding: 4px 7px;
 }
 .mainclient .catalog-frequency-panel .program-frequency-options strong { font-size: 17px; }
 .mainclient .check-in-page:not(.measurements-page) .check-in-grid { grid-template-columns: minmax(0,1fr); gap: 9px; }
 .mainclient .check-in-grid > .field { min-width: 0; }
 .mainclient .check-in-grid .field > label { font-size: 11px; line-height: 1.4; }
 .mainclient .check-in-grid .field > p { font-size: 12px; line-height: 1.45; }
 .mainclient .client-diet > header,
 .mainclient .measurements-page .check-in-header { text-align: center; }
 .mainclient .diet-heading-row,
 .mainclient .measurements-page .check-in-header { display: grid; grid-template-columns: minmax(0, 1fr); justify-items: center; gap: 7px; }
 .mainclient .measurements-page .check-in-actions { justify-content: center; }
 .mainclient .measurements-page .check-in-actions:empty { display: none; }
 .mainclient .diet-date { display: flex; align-items: baseline; justify-content: center; flex-wrap: wrap; gap: 4px 7px; padding: 5px 9px; }
 .mainclient .diet-date > span::after { content: ":"; }
 .mainclient .diet-date > time { font-size: 12px; }
 .mainclient .client-diet > header h2,
 .mainclient .measurements-page .check-in-header h2 { font-size: clamp(20px, 5.7vw, 24px); line-height: 1.15; }
 .mainclient .client-diet > header .smallcaps,
 .mainclient .measurements-page .check-in-header .smallcaps { font-size: 10px; }
 .mainclient .diet-intro { margin-top: 7px; }
 .mainclient :is(.diet-intro,.measurements-page .check-in-header p,.profile-details > p,.faction-section > p,.gym-settings > p) {
  font-size: 12px; line-height: 1.4; text-wrap: pretty;
 }
 .mainclient .profile-copy-line { display: block; }
 .mainclient .faction-section .faction-secondary-copy { display: none; }
 .mainclient .profile-copy-line + .profile-copy-line { margin-top: 3px; }
 .mainclient .profile-details .profile-name-preview { gap: 8px; }
 .mainclient .profile-reset-section:has([data-action="requestProfileReset"]) {
  flex-direction: column; align-items: center; text-align: center; gap: 6px;
 }
 .mainclient .profile-reset-section:has([data-action="requestProfileReset"]) p { font-size: 12px; line-height: 1.4; text-wrap: pretty; }
}
@media (min-width: 601px) {
 .studio-navigation::details-content { content-visibility: visible; display: contents; }
}

.catalogue-language { justify-content: center; margin: 0 auto 18px; }
#accountSearchForm { display: flex; gap: 8px; align-items: center; }
#accountSearchForm input { min-width: 0; flex: 1; }
.personal-routines fieldset { min-width: 0; margin: 16px 0; }
.personal-routines input { display: block; margin-top: 4px; }
.program-day-tabs > button > span { overflow-wrap: normal; }

.personal-routines > h2 {
 text-align: center;
 font-size: clamp(21px, 5.8vw, 26px);
 line-height: 1.15;
 margin-bottom: 16px;
}
.personal-substitutions { margin-block: 12px; }
.personal-substitutions summary { color: var(--brand); cursor: pointer; padding-block: 6px; }
.logbook-pearl .mainclient .finish-button {
 background: var(--pearl-metal);
 color: #080a0c;
 -webkit-text-fill-color: currentColor;
 animation: none;
}
@media (max-width: 600px) {
 html, body, body * { scrollbar-width: none; }
 html::-webkit-scrollbar, body::-webkit-scrollbar, body *::-webkit-scrollbar { display: none; }
 .logbookhead .brand-symbol { width: 33px; height: 33px; flex-basis: 33px; }
 .mainclient .client-program-group .catalog-program-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
 }
 .mainclient .client-program-group .catalog-program-card .program-card-body {
  justify-content: space-between;
 }
 .mainclient .client-program-group .catalog-program-card .program-card-name {
  font-size: clamp(20px, 6.6vw, 27px);
  letter-spacing: -.025em;
  overflow-wrap: break-word;
 }
 .mainclient .finish-workout .finish-button {
  width: min(100%, 320px);
  min-height: 52px;
  font-size: 14px;
 }
 .food-log-mode .food-log-topbar > [role="status"] { text-align: center; }
 .food-log-mode .food-log-focus-footer {
  flex-direction: column;
  text-align: center;
  gap: 10px;
 }
 .food-log-mode .food-log-focus-footer > p { margin: 0; }
 .food-log-mode .food-log-focus-footer > .btn { min-height: 44px; padding: 10px 20px; font-size: 13px; }
}

.profile-install { text-align: center; }
.profile-install > p { max-width: 36ch; margin: 8px auto 14px; text-wrap: pretty; }
.profile-install > .btn { min-height: 42px; padding-inline: 18px; }
@media (max-width: 600px) {
 .mainclient .program-level-art { flex-basis: 75px; gap: 4px; }
 .mainclient .program-level-number { font-size: 26px; }
 .mainclient .program-level-bars { width: 59px; height: 31px; gap: 5px; }
 .mainclient .program-level-label { font-size: 9px; }
 .mainclient .exercise-substitutions > .substitutions,
 .mainclient .add-series-options {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 5px;
  padding: 8px 0 4px;
 }
 .mainclient :is(.substitutions,.add-series-options) > .btn {
  min-width: 0;
  flex: 1 1 28%;
  min-height: 34px;
  padding: 5px 6px;
  font-size: 11px;
  line-height: 1.25;
  white-space: normal;
  overflow-wrap: break-word;
  text-align: center;
 }
 .mainclient .add-series-menu[open] { flex: 1 0 100%; }
}

.registered-account-search > h2 { text-align: center; font-size: clamp(16px, 2.2vw, 18px); }
