.mobile-menu-toggle,.mobile-bottom-nav,.mobile-menu-shade{display:none}
@media(max-width:760px){
 body{overflow-x:hidden;background:#f4f6ef}body *{box-sizing:border-box}
 body>aside{position:sticky;top:0;z-index:30;width:100%;height:82px;min-height:82px;padding:9px 18px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;overflow:visible;border-bottom:1px solid #35412a}
 aside .befit-brand{margin:0;position:relative;flex-shrink:0}aside .befit-brand img{width:136px;height:49px;object-fit:contain}aside .brand-slogan{font-size:9px;color:white}aside .tag,aside .asidefoot{display:none}
 .mobile-menu-toggle{display:block;background:#28351f;border:1px solid #53613b;color:#fff;padding:10px 14px;border-radius:12px;min-height:44px;font-size:14px}
 body>aside #nav{display:none;position:absolute;top:82px;right:0;left:0;background:#151b13;max-height:calc(100dvh - 160px);padding:12px 16px 20px;overflow:auto;border-radius:0 0 20px 20px;box-shadow:0 14px 25px #0003}
 .mobile-menu-open aside #nav{display:block}body>aside #nav .nav-group{display:block;font-size:11px;margin:14px 10px 6px}body>aside #nav button{display:block;width:100%;min-height:46px;font-size:15px;text-align:left;white-space:normal}
 .mobile-menu-shade{position:fixed;inset:82px 0 0;background:#0006;border:0;z-index:25;width:100%;height:calc(100dvh - 82px)}.mobile-menu-open .mobile-menu-shade{display:block}
 .mobile-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:40;justify-content:space-around;padding:7px 4px calc(7px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #dfe5d5;box-shadow:0 -4px 18px #24351a0c}
 .mobile-bottom-nav button{border:0;background:transparent;color:#69745e;display:flex;flex:1;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:5px 2px;min-height:51px;font-size:10px;border-radius:10px}.mobile-bottom-nav button svg{width:22px;height:22px}.mobile-bottom-nav button.active{color:#304016;background:#edf4d5;font-weight:700}
 body>main{margin:0;width:100%;max-width:100%;padding:20px 14px calc(100px + env(safe-area-inset-bottom))}main>header{gap:14px;align-items:flex-start;flex-wrap:wrap;margin-bottom:16px}main>header>div{flex:1;min-width:150px}main>header h1{font-size:25px;line-height:1.2}main>header>label{font-size:10px;width:146px}main>header #role{width:100%;font-size:12px;min-height:40px}.eyebrow{font-size:9px}.demo{font-size:11px;line-height:1.5;padding:12px}
 input,select,textarea{font-size:16px!important;max-width:100%;min-height:44px}input[type=checkbox],input[type=radio]{min-height:0}button.btn,.actions button{min-height:44px}h2{font-size:19px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stats .card{min-width:0;padding:14px}.card b{font-size:24px;overflow-wrap:anywhere}.card small{font-size:11px}.panel{padding:16px;min-width:0}.toolbar{gap:12px;flex-wrap:wrap;align-items:center}.toolbar>h2{flex:1;min-width:140px}.toolbar label{max-width:100%}.actions{flex-wrap:wrap;gap:8px}.row{gap:10px;flex-wrap:wrap}.row>span{min-width:0;max-width:100%}.tablewrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}table{font-size:12px}td,th{padding:11px 10px}
 .planner-library,.guided-shell,.shared-session-grid{max-width:100%;min-width:0}.planner-pt-header,.guided-top,.guided-person{flex-wrap:wrap;gap:12px}.guided-record{grid-template-columns:1fr}.guided-metrics{flex-wrap:wrap}.exercise-library-row{flex-wrap:wrap}.planner-student-picker{grid-template-columns:1fr}.planner-pt-header input{width:100%}.shared-client-tab{min-height:64px}.clientdetails{grid-template-columns:repeat(2,minmax(0,1fr))}
 dialog{width:calc(100% - 16px);max-width:560px;max-height:calc(100dvh - 24px);padding:20px;border-radius:18px}dialog::backdrop{background:#10170dc2}dialog .actions{bottom:-20px;padding:14px 0 4px}dialog form{min-width:0}dialog input,dialog select{width:100%}dialog input[type=checkbox],dialog input[type=radio]{width:auto}
 footer{font-size:11px;padding-top:14px}button:focus-visible,a:focus-visible{outline:3px solid #96ab18;outline-offset:3px}
}
/* Keep names readable beside their photograph, including scrollable tables. */
.student-identity>span:last-child,.trainer-identity>span:last-child{word-break:normal;overflow-wrap:normal;hyphens:none;min-width:0}
td:has(.student-identity),td:has(.trainer-identity){min-width:240px}
td .student-identity,td .trainer-identity:not(.trainer-photo-link){min-width:210px;max-width:none;white-space:normal}
td .student-identity>span:last-child,td .trainer-identity>span:last-child{flex:1;min-width:145px}
@media(max-width:760px){td:has(.student-identity),td:has(.trainer-identity){min-width:240px}.tablewrap:has(.student-identity) table{width:max-content;min-width:100%}.calendar-event .student-identity>span:last-child{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
/* Reset desktop logo positioning inside the compact mobile header. */
@media(max-width:760px){
 body>aside>.befit-brand{position:relative;width:180px;height:64px;margin:0;overflow:hidden;flex:0 0 180px}
 body>aside>.befit-brand>img{position:absolute;display:block;width:230px;max-width:none;height:auto;left:-29px;top:-55px;object-fit:initial}
 body>aside>.befit-brand>.brand-slogan{position:absolute;display:block;top:46px;left:0;width:180px;margin:0;padding:0;background:#151b13;color:#fff;font-size:9px;line-height:16px;letter-spacing:2px;text-align:center}
}
/* A consistent, single-line summary list with local horizontal scrolling. */
.student-status-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.student-status-row{display:grid;grid-template-columns:minmax(200px,1fr) minmax(150px,.7fr) 180px;align-items:center;gap:18px;flex-wrap:nowrap;min-width:580px;padding:16px 0}
.student-status-row>.student-status-person{max-width:none;min-width:max-content;white-space:nowrap}
.student-status-row .student-identity{max-width:none;white-space:nowrap}
.student-status-row .student-identity>span:last-child{white-space:nowrap;flex-shrink:0}
.student-status-row>.student-status-service{display:block;margin:0;white-space:nowrap;color:var(--befit-muted,#64725a);font-size:13px}
.student-status-row>.badge{justify-self:end;white-space:nowrap;max-width:none}
@media(max-width:760px){.student-status-row{grid-template-columns:minmax(180px,1fr) 145px 175px;gap:14px;min-width:540px}.student-status-scroll{scrollbar-width:thin;scrollbar-color:#b5c396 #eef2e6}}
/* Application-wide readable list and table rows. Long prose remains wrapped. */
:is(#content,dialog) .tablewrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
:is(#content,dialog) .tablewrap table{width:max-content;min-width:100%;table-layout:auto}
:is(#content,dialog) .tablewrap :is(td,th){white-space:nowrap;vertical-align:middle;word-break:normal;overflow-wrap:normal}
:is(#content,dialog) .tablewrap :is(.student-identity,.trainer-identity){max-width:none;white-space:nowrap}
:is(#content,dialog) .tablewrap :is(.student-identity,.trainer-identity)>span:last-child{white-space:nowrap;min-width:max-content}
:is(#content,dialog) .tablewrap :is(.actions,.btn,.badge){white-space:nowrap;flex-wrap:nowrap}
:is(#content,dialog) .row:not(.student-status-row){flex-wrap:nowrap;max-width:100%;overflow-x:auto;gap:16px;white-space:nowrap;-webkit-overflow-scrolling:touch}
:is(#content,dialog) .row:not(.student-status-row)>*{flex-shrink:0;max-width:none}
:is(#content,dialog) .row:not(.student-status-row)>span{min-width:max-content}
:is(#content,dialog) .row:not(.student-status-row) small{display:inline-block;margin:0 0 0 12px;white-space:nowrap}
:is(#content,dialog) .row:not(.student-status-row) :is(.student-identity,.trainer-identity){max-width:none;white-space:nowrap}
:is(#content,dialog) .row:not(.student-status-row) :is(.student-identity,.trainer-identity)>span:last-child{white-space:nowrap;flex-shrink:0}
:is(#content,dialog) .row .actions{flex-wrap:nowrap}
:is(#content,dialog) .exercise-library-row{flex-wrap:nowrap;overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}
:is(#content,dialog) .exercise-library-row>*{flex-shrink:0}
:is(#content,dialog) .exercise-library-row>div{min-width:180px}
:is(#content,dialog) .exercise-library-row :is(strong,button){white-space:nowrap}
:is(#content,dialog) .payment-notes{white-space:pre-wrap;min-width:240px;max-width:340px;overflow-wrap:break-word}
@media(max-width:760px){
 body>aside{justify-content:center}
 body>aside>.mobile-menu-toggle{display:none}
 body>aside>.befit-brand{margin:0 auto}
}
/* Compact cash-period controls aligned with the section heading. */
.expense-summary>.cash-summary-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px;flex-wrap:wrap}
.cash-summary-heading{flex:1 1 380px;min-width:0;padding-top:3px}
.cash-summary-heading h2{margin:0 0 9px}
.cash-summary-heading .note{margin:0;line-height:1.5}
.cash-summary-filters{display:grid;grid-template-columns:190px 175px;gap:12px;align-items:end;flex:0 0 auto}
.cash-summary-filters>label{display:flex;flex-direction:column;gap:6px;margin:0;font-size:14px;color:#64725a}
.cash-summary-filters input{display:block;width:100%;min-width:0;height:44px;padding:9px 12px;margin:0;font-size:14px;border-radius:10px}
.cash-summary-filters>[data-cash-summary-clear-day]{grid-column:1/-1;justify-self:end;min-height:34px;padding:7px 12px;font-size:13px;background:#edf2e2;border:0}
@media(max-width:760px){
 .expense-summary>.cash-summary-header{gap:16px;margin-bottom:18px}
 .cash-summary-heading{flex-basis:100%;padding:0}
 .cash-summary-filters{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .cash-summary-filters input{height:46px;padding:8px;font-size:16px}
 .cash-summary-filters>[data-cash-summary-clear-day]{justify-self:start}
}
.extra-goals{margin-top:24px}.extra-goals .toolbar .note{margin:0}.extra-goals-progress{display:flex;align-items:center;gap:18px;margin:12px 0 20px;font-size:14px}.extra-goals-progress progress{flex:1;max-width:240px;accent-color:#8da518}.extra-goals-list{display:grid;gap:12px}.extra-goal{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;border:1px solid #e0e5d8;padding:18px;border-radius:14px}.extra-goal.is-done{background:#f3f8e7;border-color:#c4d69d}.extra-goal h3{margin:10px 0 6px;font-size:18px}.extra-goal p{margin:6px 0;white-space:pre-wrap;overflow-wrap:break-word}.extra-goal small{color:#64725a}.extra-goal-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.extra-goal details{grid-column:1/-1;font-size:13px}.goal-success{text-align:center;padding:14px 4px;display:grid;gap:18px}.goal-success h2,.goal-success p{margin:0}.goal-success-symbol{display:grid;place-items:center;width:64px;height:64px;margin:auto;background:#e4f0c9;color:#516d19;border-radius:50%;font-size:34px}.goal-success strong{line-height:1.6;font-size:17px}@media(max-width:760px){.extra-goal{grid-template-columns:1fr;padding:16px}.extra-goal-actions button{flex:1}.extra-goals-progress{align-items:flex-start;flex-direction:column;gap:8px}.extra-goals-progress progress{width:100%;max-width:none}}
.goal-rating-field{border:0;padding:0;margin:8px 0 16px;min-width:0}.goal-rating-field legend{font-size:14px;margin-bottom:10px}.goal-rating-options{display:flex;gap:8px;margin-bottom:8px}.goal-rating-options label{position:relative;flex:1;cursor:pointer}.goal-rating-options input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}.goal-rating-options span{display:flex;align-items:center;justify-content:center;gap:5px;min-height:48px;border:1px solid #d8e0ca;border-radius:10px;background:#f5f7f0;font-size:16px}.goal-rating-options b{color:#8a9e31;font-size:23px}.goal-rating-options input:checked+span{background:#e7f1ce;border:2px solid #789121;font-weight:700}.goal-rating-options input:focus-visible+span{outline:3px solid #8a9e31;outline-offset:2px}.goal-rating-field small{color:#64725a}.extra-goal-feedback{padding:12px 0;border-bottom:1px solid #e0e5d8}.goal-rating-display{color:#708619;letter-spacing:2px;font-size:19px}.goal-rating-display span{font-size:13px;letter-spacing:0;color:#64725a}.goal-feedback-comment{white-space:pre-wrap;overflow-wrap:break-word;font-size:14px;line-height:1.6}
/* Assessment history: compact values, with source in the final column. */
#content .tablewrap table.assessment-history-table{width:auto;min-width:0;table-layout:auto}
#content .assessment-history-table :is(th,td){padding:12px 14px;vertical-align:middle}
#content .assessment-history-table :is(th,td):nth-child(1){width:110px;min-width:110px}
#content .assessment-history-table :is(th,td):nth-child(2){width:105px;min-width:90px}
#content .assessment-history-table .assessment-reference-range{min-width:210px}
#content .assessment-history-table .assessment-reference-source{min-width:100px;max-width:230px;white-space:normal}
.assessment-history-table details{margin:5px 0 0;font-size:12px}.assessment-history-table details summary{color:#64725a}.assessment-history-table .health-reference{white-space:normal;max-width:300px;line-height:1.5}.assessment-history-table .reference-status{margin:0}.reference-summary{gap:12px}
@media(max-width:760px){#content .assessment-history-table :is(th,td){padding:10px 12px}}
.challenge-progress{margin-top:14px;max-width:440px}.challenge-progress>div{display:flex;justify-content:space-between;gap:12px;font-size:15px}.challenge-progress progress{display:block;width:100%;height:10px;margin:9px 0;accent-color:#8da518}.challenge-entry-history{grid-column:1/-1}.challenge-entry{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #e0e5d8}.challenge-entry small{display:inline-block;margin-left:12px}.challenge-entry p{white-space:pre-wrap;overflow-wrap:break-word;margin:8px 0}.challenge-entry button{flex-shrink:0;font-size:12px}@media(max-width:760px){.challenge-entry{flex-wrap:wrap}.challenge-entry button{min-height:40px}}
