*{box-sizing:border-box}body{margin:0;background:#f4f5f0;color:#20251b;font:15px system-ui,sans-serif}aside{position:fixed;width:230px;height:100vh;background:#151b13;color:white;padding:26px 22px}aside img{width:185px;height:110px;object-fit:contain}.tag{font-size:10px;letter-spacing:2px;color:#99a38e;margin:0 0 42px}nav button{display:block;width:100%;text-align:left;margin:8px 0;padding:14px;border:0;border-radius:9px;background:transparent;color:#b8c0b0;font-size:15px;cursor:pointer}nav button.active{background:#c8df36;color:#1d2516;font-weight:700}.asidefoot{position:absolute;bottom:35px;color:#ccdf42;font-weight:800;letter-spacing:2px}.asidefoot small{color:#929d88;font-size:11px;letter-spacing:0;font-weight:400}main{margin-left:230px;padding:40px 48px;max-width:1500px}header{display:flex;justify-content:space-between;align-items:center;gap:20px}h1{font-size:34px;letter-spacing:-1px;margin:8px 0 24px}.eyebrow{font-size:10px;letter-spacing:2px;color:#727d67}label{display:grid;gap:7px;font-size:12px;color:#66705d}select,input,textarea{padding:12px;border:1px solid #d7dccf;border-radius:8px;background:white;color:#20251b;font:inherit;min-width:0}.demo{padding:12px 16px;border:1px solid #dee5ba;border-radius:8px;background:#eef3da;color:#5c6642;font-size:12px;margin-bottom:30px}.demo strong{margin-right:10px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:24px}.card,.panel{background:#fff;border:1px solid #e4e7de;border-radius:14px;padding:23px}.card small{color:#7a8470}.card b{display:block;font-size:32px;margin:10px 0}.card.accent{background:#d3e752;border-color:#d3e752}.grid{display:grid;grid-template-columns:1.6fr 1fr;gap:22px}h2{font-size:19px;margin:0 0 18px}.row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:16px 0;border-bottom:1px solid #edf0e7}.row:last-child{border:0}.row small{display:block;color:#7c8475;margin-top:4px}.badge{display:inline-block;font-size:11px;font-weight:600;padding:6px 10px;border-radius:30px;background:#e8f1d9;color:#517532;white-space:nowrap}.badge.late{background:#fff0e8;color:#af603c}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:0 0 22px}.btn{background:#25341c;color:white;border:0;border-radius:8px;padding:12px 17px;font:inherit;font-weight:600;cursor:pointer}.btn.secondary{background:#edf0e6;color:#35442a}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;color:#88917f;font-size:11px;letter-spacing:.8px;padding:15px 12px;border-bottom:1px solid #e7eadf}td{padding:18px 12px;border-bottom:1px solid #edf0e7}td small{display:block;color:#89917f}.empty{padding:35px;text-align:center;color:#7a8470}footer{color:#8b9383;font-size:11px;margin-top:36px}dialog{border:0;border-radius:15px;width:460px;max-width:92vw;padding:28px;box-shadow:0 20px 90px #0004}dialog::backdrop{background:#141c1380}form{display:grid;gap:15px}form h2{margin-bottom:0}form .actions{display:flex;gap:10px;justify-content:flex-start}progress{width:100%;height:10px;accent-color:#91a824}.note{color:#77836b;font-size:13px;line-height:1.6}.hero{padding:27px;background:#20301c;color:white;border-radius:14px;margin-bottom:24px}.hero h2{font-size:25px}.hero p{color:#c2ceb7}.amount{font-size:42px;font-weight:750;letter-spacing:-1px}.month{max-width:190px}.plan{white-space:pre-wrap;line-height:1.9}.avatar{display:inline-flex;background:#eef2e5;border-radius:50%;width:35px;height:35px;align-items:center;justify-content:center;margin-right:10px;color:#687a45;font-size:12px}@media(max-width:900px){aside{width:180px;padding:15px}aside img{width:150px}main{margin-left:180px;padding:25px}.grid{grid-template-columns:1fr}}@media(max-width:620px){aside{position:static;width:100%;height:auto;padding:8px 16px}aside img{width:110px;height:60px}.tag,.asidefoot{display:none}nav{display:flex;overflow:auto}nav button{width:auto;white-space:nowrap;margin:2px;padding:10px;font-size:12px}main{margin:0;padding:20px 14px}header{align-items:flex-start}h1{font-size:25px}header label{max-width:145px}select{width:100%}.stats{gap:8px}.card{padding:13px}.card b{font-size:23px}.toolbar{flex-wrap:wrap}.panel{padding:16px}}
.profile-photo{display:inline-flex;width:42px;height:42px;border-radius:50%;object-fit:cover;vertical-align:middle;margin-right:10px;flex-shrink:0}.placeholder{align-items:center;justify-content:center;background:#e8eecf;color:#5a7030;font-size:13px;font-weight:700}.profile-strip{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}.profile-strip>span:not(.profile-photo){color:#7a8470;margin-left:15px}.exercise-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:20px 0}.exercise-card{border:1px solid #e3e9d9;border-radius:12px;overflow:hidden;display:flex;padding:14px;gap:18px}.exercise-art{width:130px;max-width:100%;flex-shrink:0}.exercise-card h3{margin:5px 0;font-size:17px}.exercise-card small{color:#84946d}.exercise-card .btn{font-size:11px;padding:9px;margin:3px 0}.library{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.library article{background:#f5f7ef;border-radius:12px;padding:18px;text-align:center}.library h3{font-size:15px}.chart svg{width:100%;min-height:150px}.chart h3{font-size:15px;color:#687656}details{margin:16px 0;color:#6a785e}td .btn{font-size:11px;padding:8px;margin-top:6px}@media(max-width:1000px){.exercise-grid{grid-template-columns:1fr}}@media(max-width:620px){.library{grid-template-columns:repeat(2,1fr)}.exercise-card{gap:10px}.exercise-card .exercise-art{width:95px}}
.revenue{margin-top:24px}.revenue-total{display:flex;align-items:center;justify-content:space-between;background:#eef3dc;border-radius:10px;padding:20px;margin-bottom:18px}.revenue-total strong{font-size:28px}.revenue-services{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.revenue-item{display:grid;grid-template-columns:1fr auto;gap:12px;border:1px solid #e2e8d8;background:#fff;border-radius:10px;padding:17px;text-align:left;cursor:pointer;color:#273623;font:inherit}.revenue-item.selected{border-color:#96ac27;background:#f6f9e8}.revenue-item small{display:block;color:#8a947e;font-size:11px;margin-top:6px}.revenue-track{grid-column:1/-1;height:5px;background:#eef1e7;border-radius:8px}.revenue-track span{display:block;height:5px;border-radius:8px;background:#a9c32b}@media(max-width:620px){.revenue-services{grid-template-columns:1fr}.revenue-total strong{font-size:24px}}
.cancelled-payment{background:#faf3ef;color:#8e837c}.cancelled-payment td:nth-child(5){text-decoration:line-through}
.client-details{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.client-details dt{font-size:12px;color:#87917b;margin-bottom:6px}.client-details dd{margin:0;overflow-wrap:anywhere}@media(max-width:620px){.client-details{grid-template-columns:1fr}}
.assessment-entry{border:1px solid #e4e9dc;border-radius:10px;padding:18px;color:#36452c}.assessment-entry summary{cursor:pointer}.assessment-entry h3{font-size:15px}
#assessment-comparison{border-top:1px solid #dce4d1;padding-top:12px}.comparison-notes{margin-top:16px;font-size:12px;color:#728064}#modal:has(#assessment-comparison){width:750px}
.calendar-toolbar{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:18px}.calendar-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.calendar-controls strong{margin-left:10px}.calendar-scroll{overflow:auto;background:white;border:1px solid #dce3d2;border-radius:12px;max-height:720px}.calendar-grid{display:grid;min-width:850px}.calendar-grid.day-view{min-width:0}.calendar-head{padding:15px;text-align:center;border-bottom:1px solid #dce3d2;position:sticky;top:0;background:white;z-index:4}.calendar-head small{display:block;text-transform:uppercase;font-size:10px;letter-spacing:1px;color:#859278}.calendar-head strong{display:block;font-size:24px;margin-top:5px}.calendar-head.today strong{background:#c9df42;border-radius:50%;width:38px;height:38px;line-height:38px;margin:5px auto 0}.calendar-corner{font-size:9px;padding-top:35px;text-align:center;color:#819073;position:sticky;top:0;background:white;z-index:5}.calendar-hours{position:relative;background:#fafbf7}.calendar-hours span{position:absolute;right:8px;font-size:10px;color:#849178}.calendar-day{position:relative;border-left:1px solid #e0e6d8;background-image:linear-gradient(to bottom,#e2e8da 1px,transparent 1px)}.calendar-event{position:absolute;border:0;border-radius:5px;background:#cbdc65;color:#26321d;cursor:pointer;overflow:hidden;text-align:left;padding:4px 6px;font-size:11px}.calendar-event strong,.calendar-event small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event.single{background:#b5dbef;color:#264354}.calendar-event.electro{background:#d9c5ee;color:#49325d}.calendar-event.completed{opacity:.65}.calendar-legend{display:flex;gap:20px;font-size:11px;margin-bottom:12px}.calendar-legend span:before{content:'';display:inline-block;width:9px;height:9px;background:#cbdc65;border-radius:3px;margin-right:6px}.calendar-legend .legend-single:before{background:#b5dbef}.calendar-legend .legend-electro:before{background:#d9c5ee}
.workout-plan{margin-bottom:20px}.exercise-thumb{border:0;background:transparent;padding:0;cursor:pointer;flex-shrink:0}.exercise-thumb .exercise-art{width:85px;display:block}.exercise-filters{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.exercise-filters .chosen{background:#d0e447}.exercise-library-row{display:flex;align-items:center;gap:15px;padding:12px 0;border-bottom:1px solid #edf0e7}.exercise-library-row>div{flex:1}.exercise-library-row small{display:block;color:#849276;margin-top:5px}.exercise-expanded{text-align:center}.exercise-expanded .exercise-art{width:320px}.workout-banner{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#eef3da;border-radius:10px;margin:18px 0}.set-card{border:1px solid #e2e7d9;padding:18px;border-radius:12px;margin:16px 0}.set-heading{display:flex;gap:15px;align-items:center}.set-heading h3{margin:0 0 6px}.set-heading small{color:#819074}.set-row,.set-labels{display:grid;grid-template-columns:45px 1fr 1fr 45px;gap:12px;align-items:center;padding:8px}.set-labels{font-size:11px;color:#87957b}.set-row.done{background:#eef4dc;border-radius:8px}.set-row input[type=checkbox]{width:20px;height:20px;accent-color:#91ac20}.add-set{width:100%;margin-top:12px}@media(max-width:620px){.exercise-library-row{gap:8px}.exercise-library-row .btn{padding:8px;font-size:11px}.exercise-thumb .exercise-art{width:65px}.set-row,.set-labels{grid-template-columns:28px 1fr 1fr 28px;gap:7px;padding:5px}.set-card{padding:12px}.workout-banner{gap:10px}.workout-banner .btn{font-size:12px}}
.library-extra-filters{display:flex;gap:15px;align-items:end;flex-wrap:wrap;margin-top:15px}.exercise-steps{line-height:1.8;padding-left:23px}.exercise-steps li{margin-bottom:10px}.library-extra-filters .chosen{background:#d0e447}.exercise-library-row .exercise-thumb{background:#f1f5e7;border-radius:8px}@media(max-width:620px){.exercise-library-row>div{min-width:80px}.exercise-library-row .btn{font-size:10px;padding:6px}.exercise-library-row strong{font-size:12px}.exercise-library-row small{font-size:10px}}
.directory-filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px}.directory-filters input{width:100%}#directory-rows td:last-child{min-width:145px}#directory-rows td{vertical-align:middle}@media(max-width:620px){.directory-filters{grid-template-columns:1fr}}
.student-identity{display:inline-flex;align-items:center;gap:8px;vertical-align:middle;max-width:100%}.student-identity>.profile-photo{width:32px;height:32px;margin:0;flex-shrink:0;font-size:10px}.student-identity>span:last-child{overflow-wrap:anywhere}.student-select-preview{margin-top:4px;color:#33442a}.calendar-event .student-identity{gap:4px;width:100%;white-space:nowrap}.calendar-event .student-identity>.profile-photo{width:19px;height:19px;font-size:8px}.calendar-event .student-identity>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event small{font-size:9px}.calendar-event{padding:2px 4px}.exercise-card .student-identity>.profile-photo,h2 .student-identity>.profile-photo{width:38px;height:38px}.student-identity .placeholder{display:inline-flex}
.student-identity[role=button]{cursor:pointer;border-radius:6px}.student-identity[role=button]:hover>span:last-child{text-decoration:underline}.student-identity[role=button]:focus-visible{outline:2px solid #91a92e;outline-offset:3px}#client-sheet{width:780px;max-height:90vh;overflow:auto}#client-sheet .sheet-person{display:flex;align-items:center;gap:12px}#client-sheet .sheet-person .profile-photo{width:65px;height:65px}#client-sheet h2{margin:5px 0}#client-sheet h3{margin-top:28px;border-top:1px solid #e4e9dc;padding-top:20px}#client-sheet .stats{margin-top:20px}
.reminder-panel{margin-top:24px}.reminder-panel .row{flex-wrap:wrap}.reminder-panel .btn{font-size:11px;padding:9px}
.nav-group{font-size:10px;font-weight:700;letter-spacing:1.5px;color:#7e8b72;margin:22px 14px 8px}aside .tag{margin-bottom:16px}nav button{margin:4px 0;padding:11px 14px}.asidefoot{bottom:20px}@media(max-width:620px){.nav-group{display:none}nav button{padding:10px}}
#trainer-sheet{width:850px;max-height:90vh;overflow:auto}#trainer-sheet .sheet-person{display:flex;align-items:center;gap:10px}.trainer-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}#trainer-sheet hr{border:0;border-top:1px solid #e0e7d6;margin:25px 0}#trainer-upload{padding:18px;background:#f4f7eb;border-radius:12px}#trainer-document-preview{width:900px;max-height:95vh}#trainer-document-preview iframe{width:100%;height:70vh;border:0}#trainer-document-preview img{display:block;max-width:100%;max-height:75vh;margin:auto;object-fit:contain}@media(max-width:620px){.trainer-form-grid{grid-template-columns:1fr}#trainer-sheet .row{flex-wrap:wrap;gap:10px}}
.trainer-identity{display:inline-flex;align-items:center;gap:7px;vertical-align:middle;cursor:pointer;border-radius:6px}.trainer-identity>.profile-photo{margin-right:0;width:32px;height:32px;flex-shrink:0}.trainer-identity:focus-visible{outline:2px solid #91a92e;outline-offset:3px}.trainer-identity:hover>span:last-child{text-decoration:underline}#trainer-clients-panel{padding:12px 0 25px}#trainer-clients-panel .row[hidden]{display:none}
.debt-panel{margin:24px 0;border-left:4px solid #be764e}.debt-total{font-size:20px;color:#995a36}.debt-value{color:#995a36}
.guided-shell{max-width:650px;margin:auto;background:white;border:1px solid #e1e8d7;border-radius:16px;padding:25px}.guided-top,.guided-person{display:flex;align-items:center;justify-content:space-between;gap:12px}.guided-top strong{font-size:14px}.guided-person{margin:20px 0;color:#7d8b70;font-size:11px}.guided-illustration{display:block;width:100%;border:0;background:#f5f8ed;border-radius:12px;cursor:pointer;padding:15px}.guided-illustration .exercise-art{width:260px;max-width:100%;height:250px}.guided-shell h2{margin:20px 0 8px}.guided-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:25px 0}.guided-metrics>div{text-align:center}.guided-metrics strong{display:flex;align-items:center;justify-content:center;border:3px solid #aec531;border-radius:50%;width:80px;height:80px;margin:auto;font-size:24px}.guided-metrics span{display:block;margin-top:9px;font-size:11px;color:#78866c}.guided-record{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.guided-record .btn{grid-column:1/-1}.guided-rest-box{display:flex;align-items:center;justify-content:space-between;background:#f1f5e7;padding:12px;border-radius:9px;font-size:12px;gap:10px}.guided-rest-box strong{font-size:21px}.guided-rest-box.rest-active{background:#e6efc3}.guided-navigation{display:flex;justify-content:space-between;margin-top:20px}.guided-complete{color:#5a7b29;background:#edf4dd;padding:14px;border-radius:9px}@media(max-width:620px){.guided-shell{padding:16px}.guided-metrics{gap:8px}.guided-metrics strong{width:65px;height:65px;font-size:20px}.guided-top .btn{font-size:11px;padding:10px}.guided-person{flex-wrap:wrap}.guided-rest-box .btn{font-size:10px;padding:8px}}
.planner-student-picker{display:flex;gap:20px;align-items:center;flex-wrap:wrap;background:white;padding:20px;border:1px solid #e1e8d6;border-radius:12px;margin-bottom:22px}.planner-student-picker label{min-width:220px}.planner-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,1fr);gap:24px;align-items:start}.planner-library{position:static;width:auto;height:auto;background:white;color:#26391d;border:1px solid #e1e8d6;border-radius:14px;padding:22px;max-height:80vh;overflow:auto}.planner-library input{width:100%}.planner-library .exercise-thumb .exercise-art{width:58px}.muscle-library{border:1px solid #dfe7d3;border-radius:9px;margin:12px 0;color:#374b28;overflow:hidden}.muscle-library summary{cursor:pointer;padding:14px;background:#f1f5e7;font-weight:700;list-style-position:inside}.muscle-library summary span{float:right;font-size:11px;font-weight:400}.muscle-library .exercise-library-row{padding:10px;gap:10px}.muscle-library .exercise-library-row strong{font-size:13px}.muscle-library .btn{padding:7px;font-size:11px}.planner-exercise{border:1px solid #e0e7d6;border-radius:10px;margin:15px 0;padding:15px}.planner-exercise-head{display:flex;align-items:center;gap:12px}.planner-exercise-head>div{flex:1}.planner-exercise-head h3{margin:4px 0;font-size:16px}.planner-exercise-head p,.planner-exercise-head small{font-size:11px;color:#7c8b6c}.exercise-number{background:#d6e68a;color:#455a1e;border-radius:50%;width:25px;height:25px;display:flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0}.planner-exercise-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.planner-exercise-actions .btn{padding:8px;font-size:11px}.planner-empty{padding:45px 20px;text-align:center;color:#80916c}.planner-live-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.planner-live-toolbar .btn{font-size:12px}.planner-library .library-extra-filters{gap:10px}.live-library-groups .row{padding:12px}.live-library-groups{max-height:65vh;overflow:auto}@media(max-width:1050px){.planner-layout{grid-template-columns:1fr}.planner-library{max-height:none}}@media(max-width:620px){.planner-student-picker{gap:12px}.planner-student-picker label{width:100%}.planner-exercise{padding:12px}.planner-exercise-head{gap:8px}}
.exercise-observations{padding:12px 14px;background:#f5f7ee;border-radius:8px;font-size:12px;margin-top:12px}.exercise-observations strong{color:#708258;font-size:11px}.exercise-observations p{margin:5px 0;line-height:1.6}.payment-notes{min-width:180px;max-width:300px;white-space:pre-wrap;overflow-wrap:anywhere}
.training-day-bar{display:flex;align-items:end;justify-content:space-between;gap:15px;flex-wrap:wrap;background:#eef4dc;border:1px solid #dce7bb;border-radius:12px;padding:18px;margin-bottom:20px}.training-day-bar label{min-width:220px}.training-day-bar .note{width:100%;margin:0}.training-day-bar .btn{padding:10px;font-size:12px}@media(max-width:620px){.training-day-bar label{width:100%}.training-day-bar>div{display:flex;flex-wrap:wrap;gap:6px}}
/* Larger client and trainer portraits. */
.profile-photo{width:60px;height:60px;font-size:17px}.student-identity>.profile-photo,.trainer-identity>.profile-photo{width:56px;height:56px;font-size:16px}.student-identity,.trainer-identity{gap:11px}h2 .student-identity>.profile-photo,.exercise-card .student-identity>.profile-photo{width:64px;height:64px}.profile-strip>.profile-photo{width:64px;height:64px}#client-sheet .sheet-person>.profile-photo,#client-sheet .sheet-person .profile-photo,#trainer-sheet .sheet-person .profile-photo{width:96px;height:96px;font-size:26px}.calendar-event .student-identity>.profile-photo{width:27px;height:27px;font-size:10px}.calendar-event .student-identity{gap:5px}.calendar-event{padding:3px 4px}.calendar-event:has(.student-identity){min-height:38px}.calendar-event small{line-height:11px}.planner-student-picker .student-identity>.profile-photo,.planner-student-picker .trainer-identity>.profile-photo{width:68px;height:68px}.trainer-photo-link{flex-shrink:0}@media(max-width:620px){.student-identity>.profile-photo,.trainer-identity>.profile-photo{width:48px;height:48px;font-size:14px}.student-identity,.trainer-identity{gap:8px}#client-sheet .sheet-person .profile-photo,#trainer-sheet .sheet-person .profile-photo{width:80px;height:80px}.calendar-event .student-identity>.profile-photo{width:25px;height:25px;font-size:9px}.calendar-event .student-identity{gap:4px}.planner-student-picker .student-identity>.profile-photo,.planner-student-picker .trainer-identity>.profile-photo{width:56px;height:56px}}
.btn.icon-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;width:40px;height:40px;padding:9px!important;border-radius:9px;vertical-align:middle;flex-shrink:0;margin:3px}.icon-button svg{display:block}.icon-button:focus-visible{outline:2px solid #96ae31;outline-offset:3px}.icon-button:hover{background:#e1e9cf}#directory-rows td:last-child{min-width:155px}
.archived-trainer{background:#f6f6f2;opacity:.62;padding:14px;border-radius:10px;margin-top:10px}.archived-trainer .profile-photo{filter:grayscale(1)}.archived-trainer:hover,.archived-trainer:focus-within{opacity:1}.trainer-lifecycle-actions{display:flex;gap:5px;flex-wrap:wrap}
.additional-pts{border:1px solid #dce5d0;border-radius:9px;padding:14px;display:grid;gap:10px}.additional-pts legend{font-size:12px;color:#6e805b}.assigned-pts{margin-top:8px;font-size:11px;color:#7c8b6c}
.weekly-groups{margin-bottom:20px}.weekly-group-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.weekly-group-grid article{border:1px solid var(--line,#dfe3dc);border-radius:14px;padding:16px}.weekly-group-grid h3{margin:8px 0}.weekly-group-grid small{color:#697264}.weekly-group-grid .actions{flex-wrap:wrap;gap:6px}

.student-trainer-entry{display:flex;align-items:center;gap:8px;margin:6px 0}.student-trainer-entry .trainer-identity{display:inline-flex;align-items:center;gap:8px}

.pt-evolution-block{padding:20px 0;border-top:1px solid #dfe4d8}.pt-evolution-block svg{width:100%;height:auto}.pt-evolution-block details{margin-top:12px}

.planner-student-picker{flex-wrap:wrap;margin-bottom:18px}.planner-student-picker label{min-width:220px;flex:1}.planner-student-picker input{width:100%}

.planner-pt-header{margin:0 0 18px;text-align:left}.planner-pt-header>small{font-size:10px;letter-spacing:1.5px;color:#78836b}.planner-pt-header>div{display:flex;align-items:center;gap:12px;margin-top:8px}.training-day-bar{background:transparent;border:0;border-bottom:1px solid #dce3d3;border-radius:0;padding:0 0 12px;align-items:center;gap:10px}.training-day-tabs{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.training-day-tab{border:1px solid #dce3d3;background:white;color:#394c2b;border-radius:10px;padding:10px 18px;text-align:left;cursor:pointer}.training-day-tab small{display:block;font-size:10px;margin-top:3px;opacity:.7}.training-day-tab.selected{background:#273d24;border-color:#273d24;color:white}.training-day-add{height:44px;width:44px;border:1px dashed #a5b28c;border-radius:10px;background:transparent;color:#304624;font-size:25px;cursor:pointer}.training-day-tools{display:flex;gap:5px}.training-day-tools .btn{width:36px;height:36px;padding:5px;font-size:18px}.training-day-bar button:disabled{opacity:.45;cursor:default}

.planner-student-picker>label{flex:0 1 220px;min-width:180px;max-width:240px}.planner-client-info{flex:1 1 400px;min-width:0}.planner-client-title{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.planner-client-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px 16px;margin:12px 0 0}.planner-client-details dt{font-size:10px;color:#7a846e;text-transform:uppercase}.planner-client-details dd{font-size:12px;margin:4px 0 0;overflow-wrap:anywhere}@media(max-width:620px){.planner-student-picker>label{flex:1 1 100%;max-width:none}.planner-client-info{flex-basis:100%}}

.pause-status{color:#8b661a!important;font-weight:600}.client-pause-summary{background:#f6f3e7;border-radius:12px;padding:14px;margin:14px 0}.client-pause-summary small{display:block;color:#76806c}

.pending-payment{background:#fff3d1;color:#886716}

.befit-brand{position:relative;width:calc(100% + 24px);height:105px;margin:0 -12px 8px;overflow:hidden}.befit-brand>img{position:absolute;width:132%;max-width:none;height:auto;left:-16%;top:-60px;object-fit:contain}@media(min-width:621px) and (max-width:900px){.befit-brand{height:85px}.befit-brand>img{top:-48px}}@media(max-width:620px){.befit-brand{width:190px;height:85px;margin:0 0 8px}.befit-brand>img{width:132%;height:auto;top:-54px}}

.brand-slogan{position:absolute;top:62px;left:0;width:100%;padding:3px 0 5px;background:#151b13;color:#fff;font-size:10px;font-weight:700;font-style:italic;letter-spacing:3px;text-align:center;line-height:16px}@media(min-width:621px) and (max-width:900px){.brand-slogan{top:54px;font-size:9px;letter-spacing:2px}}@media(max-width:620px){.brand-slogan{top:55px;font-size:9px;letter-spacing:2px}}

.chart-point-value{font-size:10px;font-weight:700;fill:#273d24;stroke:#fff;stroke-width:3px;paint-order:stroke fill;stroke-linejoin:round;pointer-events:none}

.health-reference{display:block;font-size:11px;color:#69755e;line-height:1.5;margin-top:6px}.health-reference a{color:#546b26}.bmi-preview{padding:14px;background:#eef3e2;border-radius:10px;margin:10px 0}.bmi-preview input[readonly]{font-size:20px;font-weight:700}

.reference-summary{display:flex;align-items:center;flex-wrap:wrap;gap:10px 22px;padding:8px 0;font-size:12px}.reference-summary>div{min-width:135px}.reference-summary>div>small{display:block;color:#7b8471;font-size:10px;margin-bottom:4px}.reference-summary a{color:#526b26}.reference-summary details{flex-basis:100%;font-size:10px;color:#7b8471}.reference-summary details summary{cursor:pointer}.reference-status{padding:5px 9px;border-radius:20px;font-size:11px;white-space:nowrap}.reference-status.within{background:#e9f1de;color:#496b2c}.reference-status.outside{background:#fff0dd;color:#93611e}.reference-status.neutral{background:#edf0e7;color:#69745c}

.client-quick-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:12px 0}.client-quick-actions .btn{font-size:11px;padding:9px 12px}.client-quick-actions svg{width:18px;height:18px;vertical-align:middle}

.anatomical-tile{display:block;background-color:#fff;background-size:500% 500%;background-repeat:no-repeat;aspect-ratio:1;border-radius:8px;flex-shrink:0}.exercise-thumb .anatomical-tile{width:68px;height:68px}.exercise-library-row .anatomical-tile{width:76px;height:76px}.exercise-expanded .anatomical-tile{width:min(100%,480px);height:auto;margin:0 auto}.guided-illustration .anatomical-tile{width:min(100%,480px);height:auto;margin:auto}.exercise-card .anatomical-tile{width:100%;height:auto}.exercise-raster{object-fit:contain;background:#fff}.exercise-expanded .exercise-raster,.guided-illustration .exercise-raster{width:min(100%,480px);height:auto}.planner-library .exercise-library-row{min-height:100px}
/* Cabeçalho do aluno: seleção compacta, identidade e dados separados. */
.planner-student-picker{display:grid;grid-template-columns:minmax(180px,280px) minmax(180px,280px) 1fr;gap:16px 20px;padding:20px;align-items:end}.planner-student-picker>label{width:100%;min-width:0;max-width:none;margin:0;font-size:12px}.planner-student-picker>label input,.planner-student-picker>label select{height:42px;margin-top:6px}.planner-client-info{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;border-top:1px solid #e7ebdf;padding-top:18px}.planner-client-title{grid-column:1;grid-row:1;gap:16px}.planner-client-title .student-identity{font-size:18px;font-weight:600}.planner-client-info>.client-quick-actions{grid-column:2;grid-row:1;margin:0;justify-content:flex-end}.planner-client-details{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:90px minmax(110px,1fr) minmax(180px,1.7fr) minmax(110px,1fr) minmax(120px,1fr);margin:0;background:#f7f9f2;border-radius:9px;padding:13px 16px;gap:12px 20px}.planner-client-details dd{font-size:13px}.planner-client-details dt{font-size:10px;letter-spacing:.4px}.planner-client-info .client-quick-actions .btn{white-space:nowrap}@media(max-width:900px){.planner-client-details{grid-template-columns:repeat(3,minmax(0,1fr))}.planner-client-info{grid-template-columns:1fr}.planner-client-info>.client-quick-actions{grid-column:1;grid-row:2;justify-content:flex-start}.planner-client-details{grid-row:3}}@media(max-width:620px){.planner-student-picker{grid-template-columns:1fr;padding:16px}.planner-client-info{grid-column:1}.planner-client-details{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}.planner-client-title{gap:10px}.planner-client-title .student-identity{font-size:16px}.planner-client-info>.client-quick-actions{flex-wrap:wrap}}
.shared-training{margin-bottom:18px}.shared-training h2{font-size:18px;margin:0}.shared-training .toolbar{margin-bottom:12px}.shared-training-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.shared-member{border:1px solid #e0e7d6;border-radius:12px;padding:16px;background:#fafbf7}.shared-member.selected{border:2px solid #8da518;padding:15px;background:#f4f8e9}.shared-member>.student-identity{font-weight:600}.shared-member .student-identity .profile-photo{width:60px;height:60px}.shared-member p{font-size:12px;margin:10px 0}.shared-current{display:flex;gap:12px;align-items:center}.shared-current .exercise-art{width:68px;height:68px;flex-shrink:0}.shared-current span{display:grid;gap:5px}.shared-current strong{font-size:13px}.shared-current small{font-size:11px;color:#6b785e}.shared-member>.btn{width:100%}@media(max-width:620px){.shared-training-grid{grid-template-columns:1fr}.shared-training .toolbar{align-items:flex-start;flex-direction:column}}
.planner-pt-header{display:flex;justify-content:space-between;align-items:center;gap:24px}.planner-pt-header>.planner-pt-identity{display:block;margin:0;flex-shrink:0}.planner-pt-identity>small{font-size:10px;letter-spacing:1.5px;color:#78836b}.planner-pt-identity>div{display:flex;align-items:center;gap:12px;margin-top:8px}.planner-pt-header>.planner-top-search{display:flex;gap:16px;align-items:flex-end;margin:0;max-width:650px;flex:1;justify-content:flex-end}.planner-top-search>label{width:260px;min-width:0;font-size:12px;margin:0}.planner-top-search input,.planner-top-search select{width:100%;height:42px;margin-top:6px}.planner-student-picker:has(>.planner-client-info:only-child){display:block}.planner-student-picker:has(>.planner-client-info:only-child)>.planner-client-info{border-top:0;padding-top:0}@media(max-width:850px){.planner-pt-header{flex-wrap:wrap}.planner-pt-header>.planner-top-search{max-width:none;flex-basis:100%;justify-content:flex-start}.planner-top-search>label{flex:1}}@media(max-width:480px){.planner-pt-header>.planner-top-search{flex-wrap:wrap}.planner-top-search>label{flex-basis:100%}}
.shared-client-tabs{margin:0 0 18px}.shared-client-tabs>small{display:block;font-size:10px;letter-spacing:1px;color:#78836b;margin-bottom:8px}.shared-client-tabs>div{display:flex;flex-wrap:wrap;gap:10px}.shared-client-tab{border:1px solid #dfe7d3;background:white;color:#374b28;border-radius:11px;padding:10px 16px;text-align:left;cursor:pointer}.shared-client-tab.selected{border-color:#8da518;background:#eaf1d4;box-shadow:inset 0 -3px #8da518}.shared-client-tab .student-identity{display:flex;gap:12px;align-items:center;font-weight:600}.shared-client-tab .student-identity>.profile-photo{width:48px;height:48px;font-size:14px}.shared-client-tab small{display:block;font-size:11px;font-weight:400;color:#78836b;margin-top:4px}.shared-client-tab:focus-visible{outline:2px solid #374b28;outline-offset:3px}@media(max-width:620px){.shared-client-tabs>div{gap:8px}.shared-client-tab{flex:1;min-width:150px;padding:10px}}
.planner-pt-header>.planner-top-search{align-items:center}.planner-top-search .student-select-preview{display:none}.planner-top-search>label{display:flex;flex-direction:column;justify-content:center}
.method-period-controls{display:flex;flex-wrap:wrap;gap:16px;margin:18px 0;align-items:flex-end}.method-period-controls label{min-width:160px;max-width:260px;flex:1}.method-period-controls input,.method-period-controls select{width:100%}
/* Consistência visual e leitura em ecrãs de trabalho e telemóveis. */
:root{--befit-ink:#25341c;--befit-line:#e0e5d8;--befit-muted:#64725a;--befit-lime:#c8df36}body{line-height:1.45}main{width:calc(100% - 230px);max-width:1760px;padding:32px 36px}h1{font-size:32px;letter-spacing:-.8px}h2{letter-spacing:-.3px}.panel{box-shadow:0 2px 8px #25341c04}.panel+.panel{margin-top:20px}.stats{grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:16px}.card b,.amount,.debt-total,td:has(>strong){font-variant-numeric:tabular-nums}.card b{font-size:clamp(23px,2.2vw,32px);overflow-wrap:anywhere}.card small,.note,td small,.planner-client-details dt{color:var(--befit-muted)}.hero{padding:20px 24px}.hero h2{font-size:22px;margin-bottom:8px}.hero p{margin:0}.btn{transition:background .15s,box-shadow .15s;min-height:40px}.btn:hover:not(:disabled){filter:brightness(.95)}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #6b8626;outline-offset:3px}input,select,textarea{font-size:14px}input:focus,select:focus,textarea:focus{border-color:#8da518}textarea{resize:vertical}dialog{max-height:90dvh;overflow-y:auto;padding:26px}dialog form h2{padding-bottom:12px;border-bottom:1px solid var(--befit-line)}dialog fieldset{border:1px solid var(--befit-line);border-radius:9px;padding:14px;min-width:0}dialog legend{font-size:13px;font-weight:600;padding:0 6px}dialog .actions{position:sticky;bottom:-26px;background:white;border-top:1px solid var(--befit-line);padding:14px 0;margin-top:8px;z-index:2}.tablewrap{border-radius:9px;scrollbar-width:thin}th{background:#f6f8f1;color:#65725a;font-size:10px;white-space:nowrap}td{font-size:13px;vertical-align:middle}tbody tr:hover{background:#fafbf7}.cancelled-payment{opacity:.6}.revenue-item{min-height:96px}.revenue-item strong{font-variant-numeric:tabular-nums}.guided-record{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.guided-record .btn{align-self:end}.planner-exercise-head p{font-size:12px;line-height:1.6}.planner-exercise-head small{color:#64725a}.exercise-observations .plan{line-height:1.6}.nav-group{font-size:10px;letter-spacing:1.1px;margin-top:18px}body>aside{display:flex;flex-direction:column;padding:24px 18px;overflow:hidden}body>aside>.befit-brand{flex-shrink:0}body>aside>.tag{margin-bottom:12px}body>aside>nav{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#59634b transparent}body>aside>nav button{padding:11px 14px;margin:4px 0;font-size:14px}body>aside>.asidefoot{position:static;margin-top:18px;font-size:12px;flex-shrink:0}@media(max-width:900px){main{width:calc(100% - 180px);padding:24px}.stats{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))}}@media(max-width:620px){body>aside{display:block;padding:10px 14px;overflow:visible}body>aside>nav{display:flex;overflow-x:auto;overflow-y:hidden;gap:4px;padding-bottom:5px}body>aside>nav .nav-group{display:none}body>aside>nav button{padding:10px 12px;font-size:12px;flex-shrink:0}body>aside>.asidefoot{display:none}main{width:100%;padding:18px 14px}.stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.hero{padding:18px}.hero h2{font-size:19px}.card{padding:16px}.panel{padding:17px}.row{flex-wrap:wrap}dialog{padding:20px}dialog .actions{bottom:-20px}.guided-record{grid-template-columns:1fr}.shared-client-tab{min-height:64px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
