/* Readable controls and explicit account actions, retaining Bal's restrained palette. */
.training-price{margin-top:auto;padding-top:28px;grid-column:1/-1;color:var(--ink)}
.training-price>div{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.training-price strong{font:500 40px/1.2 var(--sans);letter-spacing:-.05em}
.training-price span{font-size:16px;color:var(--muted)}
.training-price .training-frequency{font-size:18px;font-weight:500;color:var(--ink);margin:0 0 12px;max-width:none}
.training-price small{display:block;margin-top:10px;color:var(--muted);font-size:15px;line-height:1.5}
.training-card .card-bottom{margin-top:24px}
.training-class-prices table{width:100%;border-collapse:collapse;font-size:16px;line-height:1.5;font-variant-numeric:tabular-nums}
.training-class-prices th,.training-class-prices td{padding:7px 0;border-bottom:1px solid var(--line);text-align:right;font-weight:400}
.training-class-prices th:first-child{text-align:left}
.training-class-prices thead th{font-size:13px;color:var(--muted);padding-top:0}
.training-card .card-bottom .text-link{font-size:16px}
@media(max-width:580px){.training-card .card-bottom{flex-direction:column;align-items:stretch;gap:6px}.training-card .card-bottom .text-link{width:100%;justify-content:space-between}}
body{font-size:17px;line-height:1.6}p{font-size:17px}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}
.page-heading>div>p:last-child{font-size:17px}.page-heading>div>p.eyebrow,.plan-summary>p.eyebrow{font-size:13px}.plan-total,.plan-base strong{font-family:var(--sans);font-weight:500;letter-spacing:-.045em}
.plan-summary .button,.mobile-menu{font-size:16px;min-height:48px}.plan-total span{letter-spacing:0;margin-left:8px}.plan-total{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 4px}
.app-main .page-heading>.button,.app-main .button,.header .mobile-menu{font-size:16px}
.button,.button.compact,.text-link,.underlined,.cancel-button{font-size:16px;min-height:48px}.button{padding:13px 22px}.text-link{display:inline-flex;align-items:center;gap:14px}.eyebrow{font-size:12px;letter-spacing:.12em}
.muted,.quiet-note,.pricing-note,small{font-size:14px;line-height:1.6}.quiet-note{font-size:14px!important}.preview-bar{font-size:12px}.header nav a,.header-cta{font-size:15px}.profile{font-size:16px}.profile small{font-size:12px}
.account-nav{display:flex;gap:38px;padding:0 4.5%;border-bottom:1px solid var(--line);background:var(--paper)}.account-nav a{font-size:17px;min-height:62px;display:flex;align-items:center;border-bottom:3px solid transparent;font-weight:500}.account-nav a.active{border-color:var(--brand-green)}
.app-main{padding-top:48px}.page-heading{margin-bottom:34px}.page-heading p,.schedule-head p,.hero-lede,.training-card p,.approach-grid p,.footer p{font-size:17px;line-height:1.65}.tabs button{font-size:17px;padding:20px 0;min-height:52px}
.booking-sessions{margin:0 0 32px;padding:24px 28px;background:#edf0e7;border-top:3px solid var(--lime)}.my-sessions .section-heading{margin-bottom:12px;align-items:center}.my-sessions .section-heading h2{font-size:25px;letter-spacing:-.035em}.my-sessions .section-heading>span{font-size:14px;color:var(--muted)}
.session-row{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}.session-row:last-child{border-bottom:0}.session-row h3{font:500 17px/1.4 var(--sans);margin:4px 0 0;color:var(--muted)}.session-day{margin:0;font-weight:500;font-size:19px;font-variant-numeric:tabular-nums}.session-actions{display:flex;gap:20px;align-items:center;flex-shrink:0}.session-actions .button{background:var(--paper);border-color:#7f8975}.cancel-button{padding:12px 8px;text-decoration:underline;text-underline-offset:4px;color:var(--ink)}
.account-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid var(--line);margin-top:35px;padding-top:35px}.account-bottom h2{font-size:30px}.account-bottom p{margin:7px 0}
.weekly-pt-table{min-width:640px;font-size:16px}.weekly-pt-table thead th{font-size:16px;padding:17px 8px}.weekly-pt-table thead th:first-child{font-size:15px;width:90px}.weekly-pt-table tbody th{font-size:16px}.weekly-pt-table tbody th small{font-size:13px}.weekly-pt-table td button,.weekly-pt-table td button.reserved{font-size:16px;min-height:62px;font-weight:500}.weekly-pt-table td button.reserved:hover{background:#a6ea23}.weekly-table-wrap:focus-visible{outline:2px solid var(--brand-green);outline-offset:4px}
.weekly-label,.weekly-key{font-size:14px}.weekly-selection p{font-size:18px}.weekly-selection small,.weekly-selection>.text-link,.clear-review{font-size:14px}.weekly-review-list strong{font-size:17px}.weekly-review-list span{font-size:15px}
.class-info h3{font:500 22px/1.3 var(--sans)}.class-info p,.class-time,.availability{font-size:16px}.class-time small,.weekly-class .class-date span{font-size:13px}.class-row{gap:24px;padding-top:28px;padding-bottom:28px}.class-row .button{font-size:16px;white-space:nowrap}
.allowance>span,.allowance strong span{font-size:14px}.owner-days button span,.week-grid-heading span{font-size:16px}.owner-days button small,.week-event span,.week-event small,.calendar-legend{font-size:14px}.week-event strong{font-size:17px}.week-event{padding:15px 12px}.owner-payment-link{margin-left:auto;display:flex;align-items:center;font-size:16px;text-decoration:underline}
dialog{width:min(600px,calc(100vw - 32px));max-height:90vh;padding:42px;overflow-y:auto}dialog h2{font-size:36px}dialog p,dialog label,dialog legend{font-size:16px}dialog label small{font-size:14px}.radio-option{min-height:66px}.close-dialog{font-size:28px;min-width:48px;min-height:48px}input,select{font-size:17px!important;min-height:50px}input[type=radio],input[type=checkbox]{min-height:20px;min-width:20px}.form-error{font-size:16px}
.payment-status{font-size:14px;color:var(--brand-green);border:1px solid var(--line);padding:10px 16px}.payment-notice{padding:24px 28px;border-left:3px solid var(--brand-green);background:#edf0e7;margin-bottom:30px}.payment-notice p{margin:6px 0 16px}.plan-composer{gap:70px}.plan-composer label{font-size:17px}.plan-base{font-size:18px}.plan-base small{font-size:14px}.plan-summary{padding:32px}.plan-summary p{font-size:16px}.plan-total{font-size:64px}.plan-total span{font-size:16px}.plan-summary #plan-breakdown p{display:flex;justify-content:space-between;gap:24px;font-size:16px}.plan-summary #plan-breakdown strong{font-weight:500;white-space:nowrap}.plan-summary>.button{margin-top:24px;background:var(--lime)!important;color:var(--on-lime)!important;border-color:var(--lime)!important}.plan-summary>.button span{color:var(--on-lime)!important}
.pricing-note{margin:30px 0;color:var(--muted);max-width:80ch}.payment-history{border-top:1px solid var(--line);padding-top:30px;margin-top:42px}.payment-history h2{font-size:30px}.payment-row{display:flex;justify-content:space-between;align-items:center;padding:24px 0;gap:24px;border-bottom:1px solid var(--line)}.payment-row strong{font-size:24px;font-weight:500}.payment-row p{font-size:15px;margin:3px 0}.payment-active{background:#edf0e7;padding:32px;border-top:3px solid var(--lime)}.payment-active h2 span{font-size:18px;letter-spacing:0}.payment-active p{max-width:70ch}
.setup-page{max-width:900px}.setup-panel{border:1px solid var(--line);padding:32px;margin:28px 0}.setup-panel h2{font-size:29px}.setup-panel form label{display:block;margin:20px 0;font-size:16px}.setup-panel input{width:100%;margin-top:8px}.setup-panel form button{margin-top:12px}.setup-page>.quiet-note{margin-top:35px}.payment-row-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.footer-links a,.footer-bottom,.hero-foot,.card-bottom>span{font-size:14px}.footer-bottom{font-size:12px}.help-strip{font-size:16px}.toast{font-size:16px;max-width:min(600px,calc(100vw - 32px))}
@media(max-width:800px){.class-row{grid-template-columns:70px 1fr auto}.class-row .availability{grid-column:2}.class-row .button{grid-column:3;grid-row:2}.plan-composer{gap:32px}.week-grid{min-width:0}.week-grid>section{min-width:170px}.session-actions{gap:10px}.my-sessions .section-heading{align-items:flex-start;gap:10px}.my-sessions .section-heading>span{max-width:190px}}
@media(max-width:580px){body{font-size:17px}.preview-bar{padding:10px 18px;gap:12px;font-size:11px}.preview-bar>span:nth-child(2){display:none}.header{padding:22px 20px}.header.internal{min-height:95px}.header .profile{display:none}.header-cta{font-size:14px}.account-nav{padding:0 20px;gap:0;justify-content:space-between}.account-nav a{font-size:16px;min-height:58px}.app-main{padding:30px 20px 60px}.page-heading h1{font-size:36px;line-height:1.1}.page-heading p{font-size:17px}.page-heading{gap:22px}.page-heading>.button{width:100%;justify-content:space-between}.booking-sessions{padding:20px;margin-bottom:20px}.my-sessions .section-heading{flex-direction:column}.my-sessions .section-heading>span{max-width:none}.my-sessions .section-heading h2{font-size:24px}.session-row{flex-direction:column;align-items:stretch;gap:14px;padding:22px 0}.session-day{font-size:18px}.session-actions{justify-content:space-between;gap:16px}.session-actions .button{flex:1;justify-content:space-between}.account-bottom{align-items:stretch;flex-direction:column}.tabs{gap:28px}.tabs button{font-size:16px}.schedule-head{flex-direction:column;align-items:flex-start}.weekly-table-wrap{position:relative}.weekly-pt:has(.weekly-table-wrap):after{content:'Swipe the timetable left or right to see every weekday.';display:block;font-size:14px;color:var(--muted);margin:8px 0 20px}.weekly-pt-table{min-width:650px}.weekly-pt-table thead th:first-child{width:78px;font-size:15px}.weekly-pt-table tbody th{font-size:16px}.weekly-pt-table tbody th small{font-size:13px}.weekly-pt-table tr>th:first-child{position:sticky;left:0;z-index:1;background:var(--paper);box-shadow:1px 0 var(--line)}.weekly-pt-table td button,.weekly-pt-table td button.reserved{font-size:16px;min-height:60px}.weekly-key{font-size:13px;gap:16px;flex-wrap:wrap}.weekly-label{font-size:14px}.weekly-selection p{font-size:18px}.weekly-selection small{font-size:14px}.weekly-selection .button{font-size:16px}.class-row{grid-template-columns:52px 1fr;gap:12px 16px}.class-row .class-date{grid-row:1}.class-row .class-time{grid-column:2;grid-row:2}.class-row .availability{grid-column:2;grid-row:3}.class-row .button{grid-column:2;grid-row:4;width:100%;font-size:16px}.class-info h3{font-size:21px}.class-info p{font-size:15px}.class-date strong{font-size:21px!important}.class-date span{font-size:12px!important}.class-time{font-size:17px}.class-time small{display:inline;margin-left:14px}.owner-tabs{gap:20px;flex-wrap:wrap}.owner-payment-link{margin-left:0}.owner-days button span{font-size:15px}.owner-days button small{font-size:13px}.plan-composer{display:flex;flex-direction:column;gap:30px}.plan-summary{padding:25px}.plan-total{font-size:58px}.payment-status{align-self:flex-start}.payment-notice{padding:22px}.payment-row{align-items:flex-start;flex-direction:column;gap:14px}.setup-panel{padding:22px}.setup-panel h2{font-size:28px}dialog{padding:34px 24px}dialog h2{font-size:31px}.hero-lede,.hero-actions .button{font-size:16px}.hero-actions{flex-wrap:wrap}.footer p{font-size:16px}}
