:root{font-family:Inter,-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN',sans-serif;color:#172c29;background:#f3f5f1;font-size:14px}*{box-sizing:border-box}body{margin:0;display:flex}aside{width:222px;background:#102e29;color:#fff;position:fixed;inset:0 auto 0 0;padding:36px 23px;display:flex;flex-direction:column}.brand{font-size:35px;font-weight:800;line-height:1.1;padding:0 14px 40px}.brand span{color:#caf270}.brand b{font-size:19px;letter-spacing:2px}.brand small{display:block;font-size:9px;letter-spacing:2px;color:#a4b8ad;margin-top:10px}nav button{display:block;width:100%;background:none;border:0;color:#b9cbc4;text-align:left;padding:15px;margin:5px 0;border-radius:8px;font-size:14px}nav button.active{background:#c9f272;color:#18352a;font-weight:700}nav button:hover{background:#2b4b3f;color:white}.sidefoot{margin-top:auto;font-size:10px;line-height:2;letter-spacing:1px}.sidefoot small{color:#9db4aa;letter-spacing:0}.dot{display:inline-block;width:6px;height:6px;border-radius:100%;background:#c9f272;margin-right:6px}main{margin-left:222px;width:calc(100% - 222px);padding:0 42px}header{height:77px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dce3da;font-size:11px;letter-spacing:1px;color:#728179}header i{padding:0 15px}.avatar{display:grid;place-items:center;background:#e3e9df;width:34px;height:34px;border-radius:50%;color:#254538}.demo{background:#e9eee0;color:#607046;padding:11px 16px;border-radius:5px;font-size:11px;margin:23px 0 28px}.title{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.eyebrow{font-size:10px;letter-spacing:2px;color:#698172;font-weight:700}h1{font-size:28px;letter-spacing:-1px;margin:9px 0}h2{font-size:16px;margin:0 0 20px}h3{font-size:14px}p{color:#738076;line-height:1.8}button{cursor:pointer;font-family:inherit}button.primary{background:#173e32;color:#fff;border:0;padding:12px 20px;border-radius:6px}button.secondary{border:1px solid #d5ded1;background:#fff;padding:10px 15px;border-radius:6px;color:#325544}button.link{background:none;border:0;color:#276343;text-align:left;font-weight:700;padding:0}button:hover{filter:brightness(.94)}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:22px 0}.card,.panel{background:#fff;border:1px solid #e0e6dc;border-radius:10px;padding:23px}.card label{color:#768278;font-size:12px}.value{font-size:32px;font-weight:600;letter-spacing:-1px;margin:17px 0 10px}.value small{font-size:13px;color:#7a877c;margin-left:4px}.card .note{font-size:11px;color:#7c8b7e}.card:first-child{background:#173e32;color:#fff}.card:first-child label,.card:first-child .note{color:#b8ccba}.grid{display:grid;grid-template-columns:1.6fr 1fr;gap:20px;margin:22px 0}.panelhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.panelhead h2{margin:0}.badge{font-size:11px;border-radius:5px;background:#edf3e6;color:#437143;padding:5px 9px;white-space:nowrap}.badge.gray{background:#f1f0e9;color:#8a8061}.badge.red{background:#f8ebe5;color:#9f6651}.muted{color:#879086;font-size:12px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}input,select{font:inherit;border:1px solid #d8e0d4;border-radius:6px;padding:10px 12px;background:#fff;color:#294637}input[type=search]{min-width:220px;flex:1}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;font-weight:500;color:#7a877c;background:#f6f8f3;padding:13px 12px;white-space:nowrap}td{padding:17px 12px;border-bottom:1px solid #eef1e9}tr:last-child td{border-bottom:0}.tablewrap{overflow:auto}.sub{display:block;font-size:10px;color:#899487;margin-top:5px}.row{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:18px 0}.track{height:8px;border-radius:5px;background:#edf1e7;margin:10px 0 20px;overflow:hidden}.track span{display:block;background:#82a665;height:100%;border-radius:5px}.bars{height:175px;display:flex;align-items:end;gap:20px;padding:15px 8px 0}.bar{flex:1;text-align:center;font-size:10px;color:#72836f}.bar div{background:#c9e2a9;border-radius:5px 5px 0 0;margin:8px auto;width:70%;min-height:2px}.bar:last-child div{background:#234b38}.empty{padding:40px;text-align:center;color:#83917d}.notice{padding:15px;background:#f3f6ec;border-radius:7px;font-size:12px;line-height:1.9;color:#68795c}footer{border-top:1px solid #dfe5d9;margin:35px 0 20px;padding-top:18px;font-size:9px;color:#8b9788;letter-spacing:1px;display:flex;justify-content:space-between}dialog{border:0;border-radius:12px;padding:30px;width:min(640px,95vw);box-shadow:0 20px 100px #152f2944;max-height:90vh;overflow:auto}dialog::backdrop{background:#12352b66;backdrop-filter:blur(3px)}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.formgrid label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#697c6b}.formgrid input,.formgrid select{width:100%}.actions{display:flex;gap:10px;justify-content:end;margin-top:25px}.detailgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}.detailgrid div{background:#f5f7f0;padding:14px;border-radius:6px}.detailgrid small{display:block;color:#83917e;margin-bottom:8px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#173e32;color:#fff;padding:14px 25px;border-radius:8px;display:none;z-index:10}@media(max-width:1050px){aside{width:180px;padding:30px 12px}main{margin-left:180px;width:calc(100% - 180px);padding:0 22px}.cards{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}}@media(max-width:650px){body{display:block}aside{position:relative;width:100%;padding:15px}.brand{padding:0;font-size:20px}.brand br,.brand small,.sidefoot{display:none}.brand b{margin-left:12px}nav{display:flex;overflow:auto;margin-top:12px}nav button{width:auto;white-space:nowrap;padding:10px;font-size:12px}main{margin:0;width:100%;padding:0 15px}header{height:55px}.cards{gap:10px}.card{padding:16px}.value{font-size:26px}.panel{padding:16px}.title{align-items:start}h1{font-size:23px}.formgrid{grid-template-columns:1fr}footer{display:block;line-height:2}footer span{display:block}}
[hidden]{display:none!important}.space{margin-top:22px}.topactions{margin:0;flex-wrap:wrap}.period{align-items:center}.period label{font-size:12px;color:#768278}.segmented{display:flex;border:1px solid #d6dece;border-radius:7px;padding:3px;background:#e9eee3}.segmented button{border:0;background:transparent;padding:10px 20px;border-radius:5px;color:#677960}.segmented .selected{background:white;color:#1b4732;box-shadow:0 1px 5px #12321a18;font-weight:700}.periodlabel{font-size:11px;color:#6b7c66;display:flex;justify-content:space-between}.activity-summary{display:grid;grid-template-columns:1fr 1fr 1.6fr;gap:16px;padding:22px 0}.activity-summary>button{background:#fff;border:1px solid #dae3d5;padding:20px;border-radius:9px;display:flex;align-items:center;justify-content:space-between;gap:12px}.activity-summary>div{padding:8px 0}.activity-summary strong{font-size:30px;font-weight:600}.activity-summary small{font-size:12px;padding-left:5px}.activity{display:inline-flex;align-items:center;gap:7px;font-size:11px;white-space:nowrap;font-weight:600}.activity i{width:8px;height:8px;border-radius:50%;display:inline-block}.activity.green{color:#2c7e4c}.activity.green i{background:#3b9f5e}.activity.red{color:#c35143}.activity.red i{background:#da6455}.activity.neutral{color:#939784}.activity.neutral i{background:#a3aa96}.inactive-row td{background:#fff5f2;border-top:1px solid #ebbdaf;border-bottom:1px solid #ebbdaf}.inactive-row td:first-child{border-left:3px solid #da6455}.inactive-row td:last-child{border-right:1px solid #ebbdaf}.follow-card{border:1px solid #eac1b3;border-left:3px solid #d67d62;padding:14px;border-radius:6px;margin-top:13px}.follow-card .activity{float:right}.chart{overflow-x:auto;padding:15px 0 0}.chartbars{display:flex;align-items:end;gap:12px;min-width:380px;height:215px}.chartbar{flex:1;min-width:38px;text-align:center;font-size:10px;color:#6b7f60;display:flex;flex-direction:column;align-items:center;justify-content:end;height:100%}.chartbar>div{width:65%;background:#b7d88e;border-radius:4px 4px 0 0;margin:8px 0;min-height:2px}.chartbar:nth-child(3n)>div{background:#537f48}.chartbar span{white-space:nowrap;font-size:9px}.chartbar small{font-size:10px}.formerror,.danger{color:#b54c3b!important;font-size:12px}.void-row{opacity:.5;text-decoration:line-through}.cards .value{font-size:27px}.notice{overflow-wrap:anywhere}dialog{width:min(740px,95vw)}@media(max-width:850px){.activity-summary{grid-template-columns:1fr 1fr}.activity-summary>div{grid-column:1/-1}.title{flex-wrap:wrap}}@media(max-width:650px){.activity-summary{gap:10px}.activity-summary>button{padding:15px;display:block;text-align:left}.activity-summary strong{display:block;margin-top:10px}.cards .value{font-size:23px}.segmented button{padding:9px 16px}.periodlabel{display:block;line-height:2}.periodlabel span{display:block}.chartbars{min-width:340px}}
/* Touch-first layouts for phones, tablets and standalone browser windows. */
html{min-width:0;-webkit-text-size-adjust:100%}body{min-width:0}main,section,.grid>.panel,.card{min-width:0}button,input,select,textarea{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #82a665;outline-offset:2px}textarea{font:inherit;border:1px solid #d8e0d4;border-radius:7px;padding:12px;resize:vertical;width:100%;color:#294637;background:white}.stackform{display:grid;gap:20px}.stackform>label,.session-note{display:flex;flex-direction:column;gap:10px;font-size:13px;color:#35513e}.stackform>label>span{color:#8a9b7e;font-size:11px}.form-heading{border-top:5px solid #b7d88e;padding-top:20px;margin-bottom:24px}.form-heading p{font-size:12px;margin-bottom:0}.form-section{border:1px solid #dce5d6;border-radius:10px;padding:20px;margin:0 0 24px;display:grid;grid-template-columns:1fr 1fr;gap:20px;background:#fafcf7}.form-section legend{font-weight:700;color:#31523d;padding:0 8px;font-size:14px}.form-section label{display:flex;flex-direction:column;gap:10px;font-size:12px}.form-section input,.form-section select{width:100%;min-width:0}.session-dialog{width:min(760px,96vw)}.session-dialog .actions{padding-top:18px;border-top:1px solid #dce5d6}.session-note{margin-top:20px}.review-list{margin:20px 0}.review-list>div{display:grid;grid-template-columns:130px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid #e2e8dc}.review-list dt{font-size:12px;color:#768278}.review-list dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.success-screen{text-align:center;padding:20px 0}.success-icon{display:inline-grid;place-items:center;background:#e5f3d2;color:#305d35;border-radius:50%;width:64px;height:64px;font-size:32px}.success-screen .actions{justify-content:center}.memo-card{background:#f4f7ef;padding:15px;margin:12px 0;border-radius:8px}.memo-card p{white-space:pre-wrap;overflow-wrap:anywhere}#mobileMenu,#mobileNav{display:none}.chartbar span{font-size:9px}.chartbar{min-width:0}.chartbars{min-width:0;gap:6px}.periodlabel{gap:10px}.notice,p{overflow-wrap:anywhere}nav button{min-height:44px}
@media(min-width:651px) and (max-width:1100px){aside{width:168px;padding:28px 12px}.brand{padding:0 8px 30px}.brand b{font-size:16px}.brand small{font-size:8px}aside nav button{font-size:12px;padding:13px 10px}main{margin-left:168px;width:calc(100% - 168px);padding:0 24px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.grid{grid-template-columns:1fr}.activity-summary{grid-template-columns:1fr 1fr}.activity-summary>div{grid-column:1/-1}.tablewrap{max-width:100%}input,select,textarea{font-size:16px;min-height:46px}button.primary,button.secondary{min-height:44px}dialog{max-height:90dvh}}
@media(max-width:650px){body{padding-bottom:calc(82px + env(safe-area-inset-bottom));display:block}aside{position:relative;width:100%;padding:18px 18px 14px;padding-top:max(18px,env(safe-area-inset-top));display:flex;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}.brand{font-size:24px;line-height:1;padding:0}.brand b{font-size:17px;letter-spacing:1px}.brand small,.brand br{display:none}#mobileMenu{display:block;min-height:42px;background:#294b3e;color:white;border-color:#436253;padding:8px 12px;font-size:12px}aside #nav{display:none;width:100%;overflow:visible}aside.menu-open #nav{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding-top:15px}aside #nav button{margin:0;font-size:12px;white-space:normal;min-height:48px;padding:12px}main{margin-left:0;width:100%;padding:0 16px}header{height:48px;font-size:9px;letter-spacing:.3px}header i{padding:0 5px}.avatar{width:28px;height:28px}.demo{margin:15px 0 24px;font-size:11px;padding:12px;line-height:1.7}.title{display:block;margin-bottom:22px}.title h1{font-size:24px;line-height:1.45;letter-spacing:-.5px;overflow-wrap:anywhere}.title>button{width:100%;margin-top:16px}.title .actions{margin-top:16px}.topactions{display:grid;grid-template-columns:1fr 2fr}.topactions button{width:100%;padding:12px 8px}.filters{gap:10px}.filters>input,.filters>select{flex:1 1 130px;min-width:0;max-width:100%}.filters>label{flex:1 1 140px}.filters input[type=search]{min-width:0;width:100%;flex-basis:100%}.filters label input{display:block;width:100%;margin-top:6px}.period .segmented{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}.segmented button{min-height:44px;padding:10px}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.card{padding:16px 12px}.card label{font-size:11px;line-height:1.7}.cards .value{font-size:clamp(18px,5.5vw,25px);letter-spacing:-.7px;margin:12px 0;overflow-wrap:anywhere}.card .note{line-height:1.7;font-size:10px}.panel{padding:18px 14px}.panelhead{gap:12px;flex-wrap:wrap}.panelhead button.primary{width:100%}.panel h2{font-size:15px;line-height:1.6}.grid{gap:14px}.activity-summary>button{min-width:0;padding:15px 12px}.activity{font-size:10px;gap:5px;white-space:normal}.activity-summary strong{font-size:28px}.activity-summary p{font-size:11px}.chartbars{gap:3px;height:205px}.chartbar span{font-size:8px}.chartbar small{font-size:9px}.chartbar>div{width:76%}.tablewrap{overflow:visible}table,tbody{display:block;width:100%}table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}table tbody tr{display:block;border:1px solid #dfe7d7;border-radius:9px;padding:9px 12px;margin-bottom:12px;background:#fff}table tbody tr:last-child{margin-bottom:0}table td{display:block;position:relative;padding:10px 0 10px 39%;border-bottom:1px solid #edf1e8;min-height:38px;overflow-wrap:anywhere;line-height:1.7;text-align:left}table td::before{content:attr(data-label);position:absolute;left:0;top:10px;width:34%;color:#7b8777;font-size:10px;font-weight:500}table td:last-child{border-bottom:0}table td[colspan]{padding:20px 8px}table td[colspan]::before{content:none}.inactive-row{border:1px solid #dc9b88!important;border-left:3px solid #cf604c!important;background:#fff5f2!important}.inactive-row td{background:none;border-top:0;border-left:0!important;border-right:0!important;border-bottom:1px solid #f1dcd4!important}.inactive-row td:last-child{border-bottom:0!important}table td .primary{padding:10px;font-size:12px}table td button.link{min-height:36px}#mobileNav{display:grid;grid-template-columns:1fr 1fr 1.4fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:50;background:#fffefa;border-top:1px solid #d8e1d0;box-shadow:0 -4px 20px #12341a09;padding:8px 10px calc(8px + env(safe-area-inset-bottom));gap:6px;margin:0}#mobileNav button{margin:0;width:100%;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#56704c;background:transparent;font-size:20px;border:0;padding:5px;min-height:54px}#mobileNav span{font-size:10px}#mobileNav .mobile-main{background:#173e32;color:#fff;border-radius:9px}input,select,textarea{font-size:16px;min-height:48px;width:100%;max-width:100%;padding:12px;border-radius:7px}input[type=date],input[type=time],input[type=month]{min-width:0;appearance:none;-webkit-appearance:none;display:block}button.primary,button.secondary{min-height:46px;font-size:14px}.formgrid{grid-template-columns:1fr}.formgrid label{font-size:13px}.formgrid input,.formgrid select{min-width:0}dialog{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:100dvh;border-radius:0;margin:0;padding:24px 18px calc(28px + env(safe-area-inset-bottom));padding-top:max(24px,env(safe-area-inset-top));overflow:auto;overscroll-behavior:contain}.session-dialog{width:100%}.form-heading h1{font-size:25px}.form-section{grid-template-columns:1fr;gap:20px;padding:18px 14px;margin-bottom:25px}.form-section label{font-size:13px}.form-section legend{font-size:14px}.actions{display:flex;flex-wrap:wrap;gap:10px}.actions>button{flex:1 1 125px}.review-list>div{grid-template-columns:100px minmax(0,1fr);gap:12px}.review-list dd{font-size:14px}.detailgrid{grid-template-columns:1fr}.detailgrid div{overflow-wrap:anywhere}footer{margin-bottom:16px;font-size:8px}.row{align-items:flex-start;flex-wrap:wrap}#toast{bottom:calc(90px + env(safe-area-inset-bottom));width:calc(100% - 32px);font-size:13px;text-align:center}.success-screen .actions{display:grid;grid-template-columns:1fr;width:100%}}
.workout-dialog{width:min(1050px,96vw)}.workout-panel{border:1px solid #dce5d6;border-radius:12px;padding:22px;margin:22px 0;background:#fff}.workout-metrics{display:flex;align-items:center;gap:24px;justify-content:space-between;background:#163e32;color:#fff;border-radius:9px;padding:18px}.workout-metrics strong{display:block;font-size:26px;margin-top:7px}.workout-metrics small{font-size:11px;color:#c4d7bb}.workout-metrics>span{font-size:12px}.rest-timer{display:flex;flex-direction:column;gap:10px;align-items:center}.rest-timer .link{color:#c9f272}.exercise-editor{padding:20px 0;border-bottom:1px solid #dce5d6}.exercise-heading{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:16px}.exercise-heading label{flex:1;display:flex;flex-direction:column;gap:7px;font-size:12px}.workout-set{display:grid;grid-template-columns:26px repeat(3,minmax(0,1fr)) 48px 40px 32px;align-items:end;gap:10px;margin-bottom:14px}.workout-set label{font-size:11px;display:flex;flex-direction:column;gap:6px;min-width:0}.workout-set input{min-width:0;width:100%;font-size:17px;padding:12px 7px}.set-index{align-self:center;color:#71836a;font-weight:700}.workout-set input[type=checkbox]{height:43px;accent-color:#356740}.set-timer,.remove-set{min-height:45px;border:1px solid #d7e2ce;border-radius:7px;color:#376142;background:#f3f7ed;font-size:21px}.workout-actions{display:flex;align-items:center;gap:12px;margin-top:20px}.workout-history{background:#f4f7f0;border-radius:8px;padding:16px;margin:12px 0}.history-set{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:9px 0;border-bottom:1px solid #dfe7d7;font-size:12px}.history-set.header{font-size:10px;color:#7b8b70}.quota-strip{display:grid;gap:9px;padding:20px;border-radius:10px;background:#173e32;color:white;margin:15px 0}.quota-strip strong{font-size:24px}.quota-strip small{color:#c5d6ba}.client-ledger{margin-top:28px}.client-ledger label{font-size:12px}.session-history{padding:15px;background:#f4f7f0;border:1px solid #dce4d4;border-radius:8px;margin:12px 0}.session-history summary{cursor:pointer;font-size:13px;line-height:1.8}.session-history summary b{display:block;color:#42643d;font-size:12px}.session-history .memo-card{white-space:pre-wrap}input[type=checkbox]{width:auto;min-height:0}details summary{min-height:36px}
@media(max-width:650px){.workout-dialog{width:100%}.workout-panel{padding:16px 10px}.workout-panel .panelhead button{width:100%}.workout-metrics{gap:10px;flex-wrap:wrap;padding:15px}.workout-metrics strong{font-size:23px}.rest-timer{width:100%;flex-direction:row;justify-content:space-between;padding-top:10px;border-top:1px solid #46604a}.exercise-heading{align-items:start;flex-wrap:wrap;gap:10px}.exercise-heading label{flex-basis:100%}.exercise-heading .remove-exercise{min-height:36px;font-size:11px;padding:7px 12px}.workout-set{grid-template-columns:20px repeat(3,minmax(0,1fr));gap:7px;padding:12px 8px;border:1px solid #dfe7d7;border-radius:9px}.workout-set input{font-size:16px;padding:10px 5px}.workout-set label{font-size:9px}.workout-set .set-done{grid-column:2;flex-direction:row;align-items:center;justify-content:center;min-height:44px}.workout-set .set-done input{width:24px;height:24px;min-height:0}.set-timer,.remove-set{min-height:44px}.workout-actions{display:block}.workout-actions .primary{width:100%}.workout-actions .muted{display:block;margin-top:10px}.history-set{gap:4px;font-size:10px}.workout-history{padding:12px}.quota-strip{padding:18px}.client-ledger .panelhead label{width:100%}}

.quota-strip{gap:12px}.quota-month{font-size:12px;color:#c5d6ba}.quota-strip strong{font-size:28px;line-height:1.4}.quota-strip strong em{font-size:42px;font-style:normal}.quota-plan{font-size:14px;color:#e3eddc}.quota-dots{display:flex;flex-wrap:wrap;gap:8px;margin-top:3px}.quota-dots span{width:28px;height:28px;border:2px solid #c9e5b0;border-radius:50%;display:grid;place-items:center}.quota-dots .used{background:#c9e5b0;color:#173e32;font-weight:700}.quota-dots .remaining{background:transparent}
/* Live training workspace */
.studio-top,.studio-toolbar,.studio-quick,.record-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.studio-top p{margin:5px 0}.studio-toolbar{justify-content:flex-start;margin:20px 0}.studio-toolbar label{display:grid;gap:6px;font-size:12px}.studio-toolbar #studioSave{font-size:12px;color:#557449}.studio-tabs{display:flex;gap:8px;border-bottom:1px solid #d2decb;margin:20px 0;padding-bottom:12px}.studio-tabs button{padding:14px 18px;border:0;background:#e8eee0;color:#34513e;border-radius:9px;font:inherit}.studio-tabs .active{background:#173e32;color:white}.studio-quick{margin:20px 0;justify-content:flex-start}.studio-bottom{position:sticky;bottom:8px;background:#f7f9f3ee;border:1px solid #dbe5d3;padding:14px;border-radius:12px;display:flex;justify-content:space-between;gap:12px;margin-top:24px;z-index:20}.studio-clients{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.client-start{padding:20px;text-align:left;display:grid;gap:9px;background:#f2f6ed;border:1px solid #cddcc5;border-radius:10px;color:#173e32}.client-start b{font-size:18px}.client-start span{font-size:12px;color:#667b5e}.client-start strong{margin-top:7px}.exercise-search{background:white;padding:22px;border-radius:12px;border:1px solid #dce6d4;margin:20px 0}.exercise-search label,.trainer-comment{display:grid;gap:10px;font-weight:600}.exercise-search input{width:100%}#exerciseResults{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}.exercise-choice{padding:14px 18px;border:1px solid #d5dfcb;background:#f3f7ed;color:#224736;border-radius:24px;min-height:48px;font:inherit}.trainer-comment textarea{width:100%;padding:16px;resize:vertical;font:inherit;border:1px solid #d1ddc7;border-radius:10px}.measure-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.measure-grid label{display:grid;gap:8px}.measure-grid small{color:#718568}.measure-grid input{width:100%;min-width:0}.photo-add{display:inline-block;padding:16px;background:#e9f0df;border-radius:10px}.photo-add input{display:block;margin-top:12px;width:100%;max-width:100%}.photo-grid,.photo-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.photo-grid figure,.photo-compare figure{margin:15px 0;min-width:0}.photo-grid img,.photo-compare img{width:100%;height:330px;object-fit:contain;background:#eef2e8;border-radius:8px;margin-top:10px}.compare-controls{display:flex;align-items:end;gap:15px;flex-wrap:wrap}.compare-controls label{display:grid;gap:8px}.metric-values{display:flex;flex-wrap:wrap;gap:12px}.metric-values span{display:grid;gap:6px;background:#f0f5e9;padding:12px;font-size:12px}.metric-values b{font-size:16px}.record-row{padding:18px 0;border-bottom:1px solid #e1e9d9}.record-row small{display:block;color:#6b7d62;margin-top:8px}#bodyChart svg{width:100%;margin:18px 0;font-size:12px;fill:#395337}#studioWorkout .exercise-editor{padding:20px;background:#fff;border:1px solid #dce5d2;border-radius:12px;margin:18px 0}#studioWorkout .workout-set input{min-height:50px;font-size:18px}#studioWorkout .set-done input{width:28px;height:28px;min-height:28px}.report-dialog{width:850px}.report-actions{display:flex;justify-content:space-between;gap:12px;margin-bottom:18px}#trainingReport{background:white;padding:25px;color:#1e372c}.report-brand{font-size:26px;font-weight:800;letter-spacing:4px;color:#173e32}.report-exercise{margin:26px 0;break-inside:avoid}.report-comment{padding:20px;background:#f0f5e9;margin-top:30px;break-inside:avoid}.report-comment p{white-space:pre-wrap;color:#284333}.report-hint{font-size:12px}
@media(max-width:650px){.studio-clients{grid-template-columns:1fr}.studio-top h1{font-size:26px}.studio-tabs{gap:5px}.studio-tabs button{flex:1;font-size:12px;padding:13px 5px}.studio-toolbar{gap:12px}.studio-toolbar label{width:calc(50% - 6px)}.studio-bottom{bottom:82px;padding:10px}.studio-bottom button{flex:1;padding:12px 8px;font-size:12px}.measure-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.photo-grid img,.photo-compare img{height:230px}.compare-controls{display:grid;grid-template-columns:1fr 1fr}.compare-controls button{grid-column:1/-1}.photo-compare{gap:8px}.photo-compare h3{font-size:12px}.exercise-search{padding:16px}.exercise-choice{padding:12px;font-size:13px}#studioWorkout .exercise-editor{padding:12px}.report-dialog{width:100%}#trainingReport{padding:4px}#trainingReport table,#trainingReport tbody{display:table;width:100%}#trainingReport tbody{display:table-row-group}#trainingReport thead{position:static;width:auto;height:auto;clip-path:none;display:table-header-group}#trainingReport tr{display:table-row}#trainingReport td,#trainingReport th{display:table-cell;padding:8px 4px;font-size:10px}#trainingReport td::before{display:none}}
@media print{@page{size:A4;margin:16mm}body{display:block;background:white;padding:0}body>aside,body>main,#mobileNav,#toast{display:none!important}dialog.report-dialog{display:block!important;position:static!important;inset:auto!important;margin:0!important;padding:0!important;width:100%!important;max-width:none!important;height:auto!important;max-height:none!important;overflow:visible!important;border:0!important;box-shadow:none!important}dialog::backdrop{display:none}.report-actions,.report-hint{display:none!important}#trainingReport{padding:0;font-size:11pt}#trainingReport h1{font-size:22pt}#trainingReport table{display:table;width:100%}#trainingReport thead{display:table-header-group;position:static;clip-path:none;width:auto;height:auto}#trainingReport tbody{display:table-row-group}#trainingReport tr{display:table-row;break-inside:avoid}#trainingReport th,#trainingReport td{display:table-cell;padding:8px;border-bottom:1px solid #ddd;font-size:10pt}#trainingReport td::before{display:none}.report-comment{background:#f3f5ed;print-color-adjust:exact;-webkit-print-color-adjust:exact}}
/* Touch-first session navigation and timer completion */
.chooser-close{float:right;margin-bottom:12px}.topactions{display:flex}.trainer-comment{margin-top:24px}.report-comment p{white-space:pre-wrap;overflow-wrap:anywhere}
#restAlarm{position:fixed;z-index:1000;bottom:24px;left:50%;transform:translateX(-50%);width:min(560px,calc(100% - 24px));padding:20px;background:#c9f572;color:#173e32;box-shadow:0 8px 40px #173e3255;border-radius:16px;display:flex;align-items:center;justify-content:space-between;gap:16px}#restAlarm strong{font-size:24px}#restAlarm small{display:block;margin-top:5px}#restAlarm button{background:#173e32;color:white;border:0;border-radius:10px;padding:16px;font-weight:bold;min-height:52px;white-space:nowrap}
@media(max-width:1100px), (any-pointer:coarse){body{padding-bottom:calc(92px + env(safe-area-inset-bottom))}aside{position:relative;width:100%;padding:16px 22px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.brand{font-size:24px;padding:0;line-height:1}.brand b{font-size:18px}.brand small,.brand br,.sidefoot{display:none}#mobileMenu{display:block;background:#294b3e;color:white;min-height:44px}aside #nav{display:none;width:100%}aside.menu-open #nav{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:12px 0 0}aside #nav button{margin:0;min-height:48px}main{margin-left:0;width:100%}#mobileNav{display:grid;grid-template-columns:1fr 1fr 1.4fr 1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:50;background:#fffefa;border-top:1px solid #d8e1d0;padding:8px 10px calc(8px + env(safe-area-inset-bottom));gap:6px;margin:0}#mobileNav button{margin:0;width:100%;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#56704c;background:transparent;font-size:20px;border:0;padding:5px;min-height:54px}#mobileNav span{font-size:11px}#mobileNav .mobile-main{background:#173e32;color:white;border-radius:9px}#mobileNav .active{box-shadow:inset 0 -3px #84a95a;background:#eaf0e3}#mobileNav .mobile-main.active{background:#173e32;color:#c9f572}.studio-bottom{bottom:calc(80px + env(safe-area-inset-bottom))}input,select,textarea{font-size:16px;min-height:48px}.workout-set input{min-height:52px}#restAlarm{bottom:calc(94px + env(safe-area-inset-bottom))}}
@media print{#restAlarm{display:none!important}}
@media(max-width:1100px), (any-pointer:coarse){body{display:block}aside{flex-direction:row;inset:auto;height:auto;min-height:0;align-items:center}main{padding-left:24px;padding-right:24px}.studio-toolbar{flex-wrap:wrap}}
@media(max-width:650px){main{padding-left:16px;padding-right:16px}}
/* Official supplied logo; preserve its colors and aspect ratio. */
.brand{padding:0 0 28px}.brand img{display:block;width:100%;max-width:178px;height:auto;background:#fffdf8;border-radius:12px;padding:12px;box-sizing:border-box}.report-brand img{width:150px;height:auto;display:block}.report-brand{border:0;padding:0}
input[type=date],input[type=month]{cursor:pointer}
#dateCalendar{width:380px;max-width:calc(100vw - 24px);height:auto;max-height:90dvh;margin:auto;inset:0;padding:20px;border-radius:18px;overflow:auto;color:#173e32;background:#fffdf8}#dateCalendar::backdrop{background:#142d2870}.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.calendar-heading h2{margin:0;font-size:19px}.calendar-controls{display:flex;align-items:center;gap:5px;margin:20px 0}.calendar-controls select{width:auto;min-width:0;flex:1;padding:8px 4px}.calendar-controls button{font-size:24px;min-width:34px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}.calendar-grid span{padding:8px 0;font-size:12px}.calendar-grid button{min-width:0;min-height:42px;padding:4px;font-size:16px;border:0;background:#edf2e7;border-radius:8px;color:#173e32}.calendar-grid button[aria-pressed=true]{background:#173e32;color:white;font-weight:bold}.calendar-grid button:disabled{opacity:.3;background:transparent}.calendar-months{grid-template-columns:repeat(3,1fr)}.calendar-footer{display:flex;justify-content:space-between;margin-top:18px}#dateCalendar button{cursor:pointer}#dateCalendar button:disabled{cursor:default}.calendar-heading button,.calendar-footer button{min-height:42px;padding:8px 12px}
@media(max-width:1100px),(any-pointer:coarse){.brand img{width:115px;max-width:115px;padding:6px;border-radius:8px}.brand{padding:0}#dateCalendar{padding:16px}.calendar-grid button{min-height:44px}}
#dateCalendar{height:fit-content;min-height:0}

/* Display the original transparent PNG without its outer empty canvas. */
.brand-crop{position:relative;width:178px;max-width:100%;aspect-ratio:2048/1309;overflow:hidden}
.brand .brand-crop img{position:absolute;width:121.142578%;max-width:none;height:auto;left:-10.449219%;top:-83.880825%;background:transparent;border-radius:0;padding:0}
@media(max-width:1100px),(any-pointer:coarse){.brand-crop{width:115px}.brand .brand-crop img{width:121.142578%;max-width:none;padding:0}}

/* Keep a touchable backdrop around every popup on smaller devices. */
@media screen and (max-width:1100px), screen and (any-pointer:coarse){
 #modal{inset:0;margin:auto;width:calc(100% - 24px);max-width:900px;height:fit-content;max-height:calc(100dvh - 40px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:16px;padding:24px 18px;overflow:auto}
}

.activity.yellow{color:#775000;background:#fff0bd}.activity.yellow i{background:#c78a00}.activity-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.activity-summary>div{grid-column:1/-1}@media(max-width:700px){.activity-summary{grid-template-columns:1fr}#mobileNav{grid-template-columns:repeat(4,1fr)}}
/* Shared spacing and touch controls across every screen. */
select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23395546' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:16px;padding-right:46px!important;line-height:1.5;min-height:44px}select:disabled{opacity:.65}.calendar-controls select{padding-left:10px;padding-right:28px!important;background-position:right 9px center;background-size:13px}input:not([type=checkbox]):not([type=radio]),textarea{line-height:1.5;padding:12px 14px;border-radius:9px}button{line-height:1.45}.primary,.secondary{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 17px;border-radius:9px}.filters{gap:12px;align-items:center;flex-wrap:wrap}.filters input,.filters select{min-width:0}.panelhead,.title{gap:18px}.panel{border-radius:14px}.panel h2{line-height:1.5}.actions{flex-wrap:wrap;gap:12px}.detailgrid{gap:20px}.stackform{gap:18px}.stackform label{line-height:1.6}.formgrid{gap:18px}.formgrid label{min-width:0}.trainer-comment{margin-top:22px}td,th{vertical-align:middle}button:focus-visible,a:focus-visible{outline:3px solid #89a869;outline-offset:3px}.dossier-dialog{width:920px}.dossier-tabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid #d9e2d2;padding:15px 0;margin-bottom:24px}.dossier-tabs button{border:0;border-radius:9px;background:#edf2e7;color:#37523f;padding:12px 18px;min-height:44px}.dossier-tabs .active{background:#173e32;color:white}.goal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.goal-card,.note-card{padding:22px;border:1px solid #d8e2d0;border-radius:14px;background:#fbfcf8;margin:12px 0;min-width:0}.goal-card h3,.note-card h3{margin:0}.goal-card.achieved{background:#eaf3e1}.goal-card progress{width:100%;height:12px;accent-color:#487746}.goal-card small{display:block;margin-top:8px}.prewrap{white-space:pre-wrap;overflow-wrap:anywhere}.note-links{display:grid;gap:12px;margin:12px 0;overflow-wrap:anywhere}.note-links a{color:#285e45;text-decoration:underline}.attachments{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}.attachment{display:grid;gap:7px;padding:10px;border:1px solid #dbe3d3;border-radius:10px;max-width:200px;color:#284d38;overflow-wrap:anywhere}.attachment img{width:160px;height:130px;object-fit:contain}.check-label{display:flex!important;align-items:center;gap:10px}.check-label input{width:22px;height:22px;accent-color:#356740}.goal-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.goal-preview>div{padding:14px;background:#eff4e7;border-radius:10px}.goal-preview span{display:block;margin-top:6px;color:#61735b;font-size:13px}.name-link{font:inherit;font-weight:inherit;background:none;border:0;padding:0;color:inherit;cursor:pointer;text-align:left}.dossier-summary .actions{justify-content:flex-start}.dossier-summary{margin-bottom:24px}#dossierContent h2{font-size:20px}.note-card small{color:#66765f}.note-card .badge{white-space:nowrap}#goalForm input,#noteForm input,#goalForm textarea,#noteForm textarea{max-width:100%;width:100%}#goalForm input[type=checkbox],#noteForm input[type=checkbox]{width:22px}
@media(max-width:1100px),(any-pointer:coarse){#mobileNav{grid-template-columns:repeat(4,1fr)}}
@media(max-width:700px){.goal-grid,.goal-preview{grid-template-columns:1fr}.dossier-tabs{display:grid;grid-template-columns:1fr 1fr}.dossier-tabs button{padding:12px 7px}.dossier-dialog .panelhead{align-items:flex-start;flex-wrap:wrap}.goal-card,.note-card{padding:18px}.filters>select{flex:1 1 150px}.dossier-summary .actions button{flex:1 1 180px}.attachment{max-width:100%}}
@media print{#studioDossier,.dossier-dialog{display:none!important}}
.library-dialog{width:1060px}.library-actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.library-row{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:14px;padding:17px 0;border-bottom:1px solid #e0e7d9}.library-row small{display:block;color:#74806c;margin-top:7px}.library-row-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.favorite-toggle{border:0;background:#eff4e8;color:#597542;border-radius:50%;width:44px;height:44px;font-size:24px;cursor:pointer}.favorite-toggle[aria-pressed=true]{background:#fff1bd;color:#a56b00}.chip-field{border:0;padding:12px 0;display:flex;flex-wrap:wrap;gap:10px}.chip-field legend{font-size:18px;font-weight:700;margin-bottom:12px}.chip-field label{position:relative;cursor:pointer}.chip-field input{position:absolute;opacity:0;width:1px;height:1px}.chip-field span{display:block;padding:11px 19px;border:1px solid #bacab0;border-radius:30px;background:#f8faf4;color:#3e5539}.chip-field input:checked+span{background:#173e32;color:#fff;border-color:#173e32}.chip-field input:focus-visible+span{outline:3px solid #9dbd78;outline-offset:3px}.exercise-order{display:flex;gap:6px}.workout-set{grid-template-columns:26px repeat(var(--set-fields,3),minmax(0,1fr)) 48px 40px 32px}.library-dialog .filters input{flex:1 1 200px}
@media(max-width:700px){.library-row{grid-template-columns:44px 1fr}.library-row-actions{grid-column:2}.library-row-actions button{min-height:40px;padding:9px 12px}.workout-set{grid-template-columns:20px repeat(var(--set-fields,3),minmax(0,1fr))}.exercise-order{margin-left:auto}.chip-field span{padding:10px 15px}}
.routine-card{border:1px solid var(--line,#dbe3d7);border-radius:16px;padding:20px;margin-top:16px}.routine-card h2{margin:0 0 12px}.routine-card p{line-height:1.8}.routine-item{display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid #e3e9e0}.routine-item span{flex:1}.routine-item button{flex-shrink:0}.library-help{margin-bottom:16px;color:#647568}.library-help summary{cursor:pointer}#routineChoices{display:flex;gap:8px;flex-wrap:wrap}#routineSelected{max-height:320px;overflow:auto}

.report-goals{margin:24px 0 32px}.goal-report-caption{font-size:12px;color:#667568}.report-goal{background:#f1f5ec;border:1px solid #dce6d4;border-radius:12px;padding:18px;margin-top:12px;break-inside:avoid}.report-goal h3{margin:0 0 16px;overflow-wrap:anywhere}.report-goal-values{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.report-goal-values span{font-size:12px;color:#667568}.report-goal-values b{display:block;font-size:16px;color:#233b2e;margin-top:5px;overflow-wrap:anywhere}.goal-deadline{font-size:12px}.report-progress{height:7px;background:#dce6d4;border-radius:9px;margin:14px 0 8px;overflow:hidden}.report-progress span{display:block;height:100%;background:#608251}.report-goal small{color:#608251}@media print{.report-goal{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
