*{box-sizing:border-box}body{margin:0;background:#f3f3f3;color:#212121;font:15px 'Avenir Next',Arial,sans-serif}aside{position:fixed;inset:0 auto 0 0;width:225px;padding:40px 25px;border-right:1px solid #e0e0e0}aside h2{letter-spacing:-1px;font-size:26px}aside p{font-size:10px;letter-spacing:2px;color:#7c7c7c}aside span{display:block;margin-top:60px;background:#212121;color:white;padding:16px;border-radius:16px}main{margin-left:225px;max-width:1400px;padding:30px 42px}header,.bar{display:flex;justify-content:space-between;align-items:center;gap:16px}header{margin-bottom:35px;font-size:12px;color:#777777}h1{font-size:44px;letter-spacing:-1.8px}h2{font-size:22px;letter-spacing:-.5px}p{line-height:1.6}.card{background:white;border:1px solid #e3e3e3;border-radius:28px;padding:28px;margin:22px 0}.dark{background:#242424;color:white}.dark input{background:#ffffff;color:#222222}label{display:block;margin:15px 0}input,select{display:block;margin-top:8px;border:1px solid #dbdbdb;padding:13px;border-radius:12px;font:inherit;width:100%}button{border:1px solid #dbdbdb;border-radius:14px;padding:13px 19px;font:inherit;background:white;color:#212121;cursor:pointer}button:disabled{opacity:.5;cursor:wait}.primary{background:#212121;color:white;border-color:#212121}.scroll{overflow:auto}table{border-collapse:collapse;width:100%}th{text-align:left;font-size:12px;color:#777777}td,th{padding:10px}td input{min-width:65px}td:first-child input{min-width:170px}#status:not(:empty){padding:15px;background:#efefef;border-radius:12px}.muted,footer{font-size:12px;color:#777777}footer{line-height:1.8;margin:30px 0}.log{padding:18px 0;border-bottom:1px solid #e3e3e3}.set{display:grid;grid-template-columns:45px 1fr 1fr 65px;gap:12px;align-items:center;margin:10px 0}.set input[type=checkbox]{height:24px;accent-color:#757575}.exercise{padding:20px 0;border-top:1px solid #4f4f4f}.dark .muted{color:#bababa}.dark button{width:100%;margin-top:20px}#login{max-width:520px;margin:60px auto}[hidden]{display:none!important}@media(max-width:750px){aside{position:static;width:100%;padding:20px}aside h2{margin:0}aside p,aside span{display:none}main{margin:0;padding:18px}h1{font-size:34px}.card{padding:22px}.set{gap:6px;grid-template-columns:30px 1fr 1fr 40px}}
.session-tools{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:18px 0}.session-tools label{min-width:200px;flex:1;margin:0}#programmeForm td:last-child{width:50px}#programmeForm td:nth-child(6) input{min-width:180px}#programmeForm input:focus{outline:2px solid #828282;outline-offset:2px}#programmeStatus{margin-top:18px;line-height:1.6}
:root{color-scheme:light}input,select,textarea{background:#ffffff;color:#212121}button,input,select,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{min-height:44px;transition:transform 90ms ease,background-color 120ms ease,box-shadow 120ms ease;user-select:none}button:active:not(:disabled){transform:scale(.97);box-shadow:inset 0 1px 4px #00000022}button:focus-visible,select:focus-visible{outline:2px solid #212121;outline-offset:3px}button:disabled{opacity:1;background:#e2e2e2;color:#545454;border-color:#d3d3d3}.muted,footer,th{color:#626262}.dark .primary{background:#ffffff;color:#212121}.dark select{background:#ffffff;color:#212121}.bar{flex-wrap:wrap}@media(prefers-reduced-motion:reduce){button{transition:none}button:active:not(:disabled){transform:none}}

.logger-exercise{padding:20px 0;border-top:1px solid #e3e3e3}.logger-exercise table{max-width:600px}.logger-exercise input[type=checkbox]{min-width:28px;width:28px;height:28px;accent-color:#212121}.logger-exercise td:first-child{width:55px}.logger-exercise td input{min-width:60px;margin:0}#logClientName{font-weight:600}#logElapsed,#logRestStatus{font-variant-numeric:tabular-nums}#saveTrainerLog{margin-top:12px}#logStatus{min-height:24px}#workoutBody>.primary{margin-top:12px}
.profile-summary{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-top:20px;padding-top:15px;border-top:1px solid #e3e3e3}.profile-summary h3,.profile-summary p{margin:4px 0}#monthlySessions{font-size:26px}.calendar-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.calendar-tools input{width:auto;margin:0}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:20px 0}.calendar-weekday{text-align:center;font-size:12px;color:#626262}.calendar-day{min-height:72px;padding:10px 5px;text-align:left}.calendar-day small{display:block;font-size:10px;margin-top:6px}.calendar-day.selected{background:#212121;color:#ffffff;border-color:#212121}.booking-fields{display:grid;grid-template-columns:2fr 1.4fr 1fr 1fr;gap:12px}.appointment{padding:18px 0;border-bottom:1px solid #e3e3e3}.appointment .calendar-tools button{font-size:13px}#calendarStatus{min-height:24px}@media(max-width:750px){.booking-fields{grid-template-columns:1fr 1fr}.calendar-day{min-height:60px;font-size:13px}.calendar-tools{gap:6px}}

.profile-badge{display:inline-block;padding:6px 10px;border:1px solid #cdcdcd;background:#ececec;color:#212121;border-radius:999px;font-size:12px}#clientProfileForm{margin:20px 0;max-width:620px}#inactiveNotice{padding:14px;border-left:3px solid #676767;background:#f3f3f3;color:#424242}#profileStatus{min-height:22px}#clientAppointments .appointment{padding:16px 0}#moreClientAppointments{margin-top:16px}

.trainer-brand{width:100%;max-width:300px;height:auto;display:block;background:#ffffff;border-radius:10px;margin-bottom:18px}#brand-loading{position:fixed;inset:0;z-index:99999;background:#ffffff;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px}#brand-loading img{width:min(100%,640px);height:auto}#brand-loading p{color:#444444;font-size:14px}
/* Minimal client workspace */
body{background:#f8f8f8;color:#242424}aside{width:220px;background:#282828;border:0;padding:26px 18px;color:#ffffff;display:flex;flex-direction:column;gap:18px}aside .trainer-brand{background:transparent;border-radius:0;margin:0}aside #role{background:transparent;color:#c9c9c9;margin:0;padding:4px 10px;font-size:12px}#workspace-nav{display:flex;flex-direction:column;gap:6px}#workspace-nav button{text-align:left;background:transparent;border:0;border-radius:8px;color:#dddddd;padding:13px 16px}#workspace-nav button.active{background:#4b4b4b;color:#ffffff}main{margin-left:220px;max-width:1600px;padding:26px 36px}.card{border-radius:12px;border-color:#eaeaea;padding:24px;margin:20px 0;box-shadow:none}h1{font-size:30px;letter-spacing:-.8px;margin:16px 0}h2{font-size:19px}h3{font-size:16px}button{border-radius:8px;padding:11px 16px;transition:background .12s,transform .08s}button:active:not(:disabled){transform:scale(.98)}button.primary{background:#2a2a2a;color:#ffffff;border-color:#2a2a2a}button:hover:not(:disabled){filter:brightness(.95)}input,select,textarea{background:#ffffff;color:#242424;border:1px solid #e1e1e1;border-radius:8px;font:inherit;padding:12px;width:100%;box-sizing:border-box}textarea{resize:vertical;margin-top:8px}#status:empty{display:none}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.search-label{max-width:420px;font-size:12px;color:#7a7a7a}.roster{width:100%;border-collapse:collapse;text-align:left;background:#ffffff;border:1px solid #eaeaea;border-radius:12px}.roster th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#848484;padding:16px 20px;font-weight:500}.roster td{padding:12px 20px;border-top:1px solid #f1f1f1;font-size:14px}.client-name{border:0;background:none;text-align:left;font-weight:600;padding:8px 0;color:#262626}.roster tbody tr:hover{background:#fafafa}.monthly-stats{display:flex;gap:48px;padding:24px 0}.monthly-stats div{display:flex;flex-direction:column;gap:5px}.monthly-stats strong{font-size:28px;font-weight:600}.monthly-stats span{font-size:12px;color:#797979}.notes-text{white-space:pre-wrap;overflow-wrap:anywhere}.saved-sessions{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-top:22px}.saved-session{border:1px solid #ededed;padding:16px;border-radius:8px}.saved-session p{font-size:13px;margin:8px 0}.exercise-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.exercise-tile{border:1px solid #ededed;border-radius:9px;padding:16px}.exercise-tile h3{margin:0 0 10px}dialog{border:1px solid #e6e6e6;border-radius:16px;padding:24px;width:min(560px,90vw);max-height:85vh;overflow:auto}dialog::backdrop{background:#1f1f1f55}dialog .card{margin:0;border:0;padding:0}#bulkPreview{max-height:35vh;overflow:auto}#brand-loading{background:#f8f8f8}#brand-loading img{background:transparent}footer{font-size:11px;margin-top:32px;color:#8c8c8c}#clientAdmin details{font-size:12px;margin-top:20px}#clientAdmin code{overflow-wrap:anywhere}#client-detail>.card:first-of-type .profile-summary p{display:none}
@media(max-width:760px){aside{position:relative;width:auto;padding:16px;gap:10px}aside .trainer-brand{max-width:200px}aside #role{display:none}#workspace-nav{flex-direction:row;overflow:auto}#workspace-nav button{white-space:nowrap}main{margin-left:0;padding:18px}header{margin-bottom:14px}.roster th,.roster td{padding:12px}.page-heading h1{font-size:26px}.card{padding:18px}.monthly-stats{gap:34px}}

aside{background:#efefef;color:#2a2a2a}aside #role{color:#747474}#workspace-nav button{color:#545454}#workspace-nav button.active{background:#363636;color:#ffffff}.trainer-brand{background:transparent!important}#brand-loading img{width:min(90%,500px)}

.profile-summary p{display:none}#client-detail #refresh-status:empty{display:none}#bulkPreview li{padding:6px 0}
/* Version 12: explicit desktop navigation and unified profile */
body{background:#f6f6f6;color:#252525}body>aside{background:#eeeeee;width:228px;padding:28px 20px;display:flex;flex-direction:column;gap:28px;border-right:1px solid #e0e0e0}body>aside #role{display:none!important}body>aside img.trainer-brand{display:block;width:100%;height:auto;max-width:210px;background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important}body>aside nav#workspace-nav{display:flex!important;flex-direction:column;gap:12px!important;margin:8px 0}body>aside nav#workspace-nav button{display:block;width:100%;min-height:50px;text-align:left;padding:14px 18px;border:1px solid transparent;border-radius:12px;color:#5f5f5f;background:transparent;transition:background .16s,box-shadow .16s,transform .1s;font-weight:600}body>aside nav#workspace-nav button:hover{background:#e2e2e2;color:#323232}body>aside nav#workspace-nav button.active{background:#323232;color:white;box-shadow:0 7px 18px #32323220}body>aside nav#workspace-nav button:active{transform:translateY(1px)}main{margin-left:228px;padding:28px 38px;max-width:1600px}.card{border-radius:16px;background:#ffffff;border:1px solid #e5e5e5;padding:24px;margin:20px 0;box-shadow:0 3px 12px #2a2a2a04}h1{font-size:30px;letter-spacing:-.7px}.primary{background:#323232!important;color:#ffffff!important;border-color:#323232!important;box-shadow:0 4px 10px #32323215}button{transition:background .15s,box-shadow .15s,transform .1s}button:hover:not(:disabled){box-shadow:0 3px 9px #32323213}button:focus-visible,a:focus-visible{outline:3px solid #aeaeae;outline-offset:3px}#client-tabs{display:flex;gap:8px;border-bottom:1px solid #e3e3e3;margin:14px 0 22px;padding-bottom:10px}#client-tabs button{border:0;background:transparent;color:#7c7c7c;border-radius:9px;padding:11px 22px}#client-tabs button[aria-selected=true]{background:#e9e9e9;color:#383838;font-weight:600}.profile-summary{display:flex;gap:12px 24px;flex-wrap:wrap;align-items:center;border-top:1px solid #efefef;padding-top:20px;margin-top:24px}.profile-summary p{display:block!important;margin:0}.profile-summary strong{font-size:24px}.profile-summary #monthlySessionsPeriod{font-size:12px;color:#888888}#clientAdmin #clientProfileForm{border-top:1px solid #efefef;margin-top:24px;padding-top:12px}#clientAdmin #adminSummary{background:#f7f7f7;border-radius:10px;padding:16px;margin-top:20px}#clientAdmin #adminStatus{font-size:12px}#clientAdmin #profileProgrammeAction{margin-bottom:8px}#client-detail #builder{border:1px solid #b8b8b8;box-shadow:0 8px 25px #32323209}.history-controls{display:flex;align-items:center;gap:10px}.history-controls h3{min-width:150px;text-align:center}.history-legend{display:flex;gap:24px;color:#858585;font-size:12px;margin:18px 0}.history-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;touch-action:pan-y}.history-weekday{font-size:11px;font-weight:600;color:#8b8b8b;padding:10px}.history-day{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:94px;padding:12px 9px;background:#fafafa;border:1px solid #f0f0f0;border-radius:9px;text-align:left;overflow:hidden}.history-day.selected{background:#ececec;border-color:#bbbbbb}.history-day.today strong{color:#777777}.history-day span{font-size:10px;white-space:nowrap}.workout-dot{color:#747474}.appointment-dot{color:#7c7c7c}.history-event{border:1px solid #e7e7e7;border-left:4px solid #9a9a9a;border-radius:10px;padding:18px;margin:14px 0}.appointment-event{border-left-color:#969696}.history-event p{font-size:13px;margin:8px 0}.demo-link{display:inline-block;color:#757575;text-decoration:none;font-weight:600;font-size:13px;margin-top:10px}.roster tbody tr{transition:background .13s}.roster tbody tr:hover{background:#f5f5f5}#legacy-controls[hidden],#role[hidden],[hidden]{display:none!important}#brand-loading img{background:transparent!important;border-radius:0!important;box-shadow:none!important}
@media(max-width:760px){body>aside{position:relative;width:auto;gap:16px;padding:18px}body>aside img.trainer-brand{max-width:200px}body>aside nav#workspace-nav{flex-direction:row!important;gap:8px!important;overflow:auto;margin:0}body>aside nav#workspace-nav button{width:auto;white-space:nowrap;min-height:44px;padding:11px 14px}main{margin-left:0;padding:18px}.history-controls{gap:5px;flex-wrap:wrap}.history-controls h3{min-width:120px}.history-day{min-height:65px;padding:7px 4px}.history-day span{font-size:8px}.card{padding:18px}.profile-summary{gap:12px}#client-tabs button{padding:11px 16px}}

@font-face{font-family:Poppins;src:url('/Poppins-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:PoppinsBlack;src:url('/Poppins-Black.ttf') format('truetype');font-style:normal;font-weight:900;font-display:swap}
body{font-family:Poppins,Arial,sans-serif;background:#f5f5f5;color:#191919}#dashboardTitle{font-family:PoppinsBlack,Poppins,Arial,sans-serif;font-size:21px;font-weight:900;line-height:1.3;letter-spacing:-.4px;margin:0;color:#111}body>aside{background:#eeeeee;border-color:#dedede}body>aside nav#workspace-nav button.active{background:#181818;color:white;box-shadow:0 5px 14px #00000012}body>aside nav#workspace-nav button:hover:not(.active){background:#e2e2e2;color:#181818}.primary,button.primary{background:#181818!important;border-color:#181818!important;color:#fff!important}#status{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;margin:8px 0!important;color:#555;font-size:12px}#status:empty{display:none!important}#client-tabs{display:none!important}#workoutBody{display:flex;flex-direction:column;align-items:flex-start;gap:18px}#workoutBody>button{margin-top:4px;min-width:155px}.saved-sessions{align-self:stretch;width:100%}.builder-demo{display:inline-block;font-size:11px;color:#555;text-decoration:underline;margin-top:9px}.demo-link{color:#222}#googleConnection{margin-left:auto;font-size:12px;white-space:nowrap}#googleConnection[data-connected=true]{background:#f1f1f1;color:#222;border-color:#ccc}#clientAdmin>.bar{flex-wrap:wrap;gap:12px}#clientAdmin{background:#fff}#history-panel{margin-top:24px}.history-day.selected{background:#e5e5e5;border-color:#8e8e8e}.workout-dot{color:#222}.appointment-dot{color:#777}.history-event{border-left-color:#333}.appointment-event{border-left-color:#999}.build-version{font-size:10px;color:#888;margin-left:8px}#profileProgrammeAction{margin-top:16px;margin-bottom:20px}.card{border-color:#e2e2e2}button:focus-visible,a:focus-visible{outline-color:#777}

/* Text-only trainer mark; transparent background throughout. */
.brand-wordmark{display:inline-flex;flex-direction:column;align-items:flex-start;gap:3px;background:transparent!important;color:#151515;white-space:nowrap;line-height:1;letter-spacing:0;text-decoration:none}
.brand-title{display:flex;align-items:center;gap:6px;font-family:PoppinsBlack,Poppins,Arial,sans-serif!important;font-size:29px!important;font-weight:900!important;letter-spacing:-1px!important;line-height:1.1!important;background:transparent!important;color:#151515!important;padding:0!important;margin:0!important;border-radius:0!important}
.brand-handle{font-family:Poppins,Arial,sans-serif!important;font-size:11px!important;font-weight:400!important;letter-spacing:-.15px!important;background:transparent!important;color:#555!important;padding:0!important;margin:0!important;line-height:1.2!important}
.brand-verified{width:21px;height:21px;flex:0 0 21px;display:block}#brand-loading .brand-title,.login-card>.brand-wordmark .brand-title{font-size:43px!important}#brand-loading .brand-handle,.login-card>.brand-wordmark .brand-handle{font-size:16px!important}#brand-loading .brand-verified,.login-card>.brand-wordmark .brand-verified{width:27px;height:27px;flex-basis:27px}.login-card>.brand-wordmark{margin:0 0 28px!important}aside>.brand-wordmark{padding:8px 4px}aside .brand-wordmark span{margin:0!important;background:transparent!important;padding:0!important;border-radius:0!important}

#monthlySessions{cursor:pointer;border-radius:12px;padding:6px 12px;display:inline-block}#monthlySessions:hover,#monthlySessions:focus-visible{background:#ececea;outline:2px solid #202020}.session-count-number{font-size:80px;font-weight:900;margin:24px 0 0;line-height:1.1}#sessionCountDialog{width:min(460px,90vw)}

/* Version 20: the weight symbol is the app brand; portrait only identifies the trainer. */
.weight-brand{display:block;width:60px;height:60px;object-fit:contain;background:transparent!important;opacity:1!important;border:0!important;box-shadow:none!important;border-radius:0!important}.brand .weight-brand{width:60px;height:60px}.login-card>.weight-brand{width:96px;height:96px;margin:0 auto 18px}#brand-loading>.weight-brand{width:128px;height:128px;margin:0 auto 18px}aside>.weight-brand{width:76px;height:76px;margin:4px 0 24px}.trainer-identity{display:flex;align-items:center;gap:12px}.trainer-portrait{width:56px;height:56px;object-fit:cover;border-radius:50%;display:block}#dashboardTitle .brand-wordmark{display:flex;flex-direction:column;align-items:flex-start;gap:3px}#dashboardTitle .brand-title{font-size:28px;line-height:1;font-family:PoppinsBlack,Poppins,sans-serif;font-weight:900}#dashboardTitle .brand-handle{font-size:11px;font-weight:400;line-height:1.3}#dashboardTitle .brand-verified{width:20px;height:20px;margin-left:5px}#dashboardTitle{margin:0;line-height:1.1}@media(max-width:520px){.trainer-portrait{width:44px;height:44px}#dashboardTitle .brand-title{font-size:24px}.trainer-identity{gap:9px}}

.weight-history-row{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #e5e5e5}.profile-weight{border-top:1px solid #ddd;padding-top:16px;margin-top:18px}.weight-brand{filter:none!important;mask-image:none!important;-webkit-mask-image:none!important;mix-blend-mode:normal!important}.bookingchoice h3{text-transform:none!important;font-weight:500!important}#weightDialog{width:min(520px,92vw)}
