@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Oswald:wght@500;600;700&display=swap');
:root{--bg:#101210;--surface:#191d19;--surface2:#222722;--line:#343b34;--text:#f0f2ed;--muted:#a8afa7;--green:#b4d99e;--green-deep:#263a29;--peach:#e8b379;--red:#e3a099}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Manrope,Arial,sans-serif}.client-app{min-height:100vh;display:grid;grid-template-columns:245px minmax(0,1fr)}.client-sidebar{position:sticky;top:0;height:100vh;padding:25px 16px;border-right:1px solid var(--line);background:#151815;display:flex;flex-direction:column}.client-brand{display:flex;align-items:center;gap:7px;padding:0 8px;color:var(--text);text-decoration:none}.client-brand span{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(180,217,158,.12)}.client-brand strong{font-family:Oswald,sans-serif;font-size:22px;letter-spacing:.08em}.client-brand small{color:var(--muted);font:8px 'DM Mono',monospace;letter-spacing:.1em}.client-sidebar nav{display:grid;gap:5px;margin-top:46px}.client-nav{width:100%;min-height:43px;padding:0 11px;border:0;border-radius:7px;background:transparent;color:var(--muted);display:flex;align-items:center;gap:11px;font:11px Manrope,sans-serif;text-align:left;cursor:pointer}.client-nav:hover,.client-nav.active{background:var(--green-deep);color:var(--text)}.client-nav i{width:18px;color:var(--green);font-size:17px;font-style:normal;text-align:center}.coach-mini{display:flex;align-items:center;gap:9px;margin-top:auto;padding:15px 8px;border-top:1px solid var(--line)}.coach-avatar,.client-avatar-large{border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#d7a970,#8c6240);color:#21170e;font-size:9px;font-weight:800}.coach-avatar{width:31px;height:31px}.coach-mini small,.coach-mini strong,.coach-mini span{display:block}.coach-mini small{color:var(--muted);font:7px 'DM Mono',monospace;letter-spacing:.08em}.coach-mini strong{font-size:10px}.coach-mini span{color:var(--green);font-size:8px}.switch-role{margin:13px 8px 0;color:var(--muted);font-size:9px;text-decoration:none}.switch-role:hover{color:var(--green)}.client-main{padding:0 44px 55px;max-width:1440px;width:100%;margin:auto}.client-topbar{min-height:105px;display:flex;align-items:center;justify-content:space-between}.client-topbar p{margin:0;color:var(--muted);font:9px 'DM Mono',monospace;letter-spacing:.11em}.client-topbar h1{margin:7px 0 0;font:31px Oswald,sans-serif;text-transform:uppercase;line-height:1}.client-avatar-large{width:42px;height:42px;font-size:11px}.mobile-client-menu{display:none}.client-view{display:none}.client-view.active{display:block}.client-hero{min-height:294px;padding:38px 42px;border:1px solid rgba(180,217,158,.27);border-radius:17px;background:radial-gradient(circle at 80% 30%,rgba(180,217,158,.2),transparent 24%),linear-gradient(125deg,#283b2b,#1c261e);display:flex;align-items:center;justify-content:space-between;overflow:hidden}.client-kicker{margin:0 0 13px;color:var(--green);font:9px 'DM Mono',monospace;letter-spacing:.11em}.client-hero h2,.client-view-heading h2,.client-modal h2{margin:0;font:55px Oswald,sans-serif;line-height:.92;text-transform:uppercase}.client-hero>div>p:not(.client-kicker){margin:10px 0 17px;color:#d2d8cf;font-size:12px}.hero-pills{display:flex;gap:7px;margin-bottom:22px}.hero-pills span{padding:5px 8px;border:1px solid rgba(180,217,158,.25);border-radius:20px;color:#dce6d9;font-size:9px}.client-primary,.client-secondary{min-height:42px;padding:0 15px;border-radius:7px;cursor:pointer;font:10px Manrope,sans-serif;font-weight:800}.client-primary{border:0;background:var(--green);color:#162016}.client-primary b{margin-left:13px;font-size:16px}.client-primary:hover{background:#c5e8ae}.client-secondary{border:1px solid var(--line);background:transparent;color:var(--text)}.client-secondary:hover{border-color:var(--green);color:var(--green)}.hero-orb{width:145px;height:145px;border:1px solid rgba(180,217,158,.32);border-radius:50%;background:rgba(10,15,10,.18);display:grid;place-items:center;align-content:center}.hero-orb span,.hero-orb small{color:#d9e9d4;font:8px 'DM Mono',monospace;letter-spacing:.1em}.hero-orb strong{margin:0;font:59px Oswald,sans-serif;line-height:1}.client-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}.client-stats article,.client-panel{border:1px solid var(--line);border-radius:12px;background:var(--surface)}.client-stats article{min-height:116px;padding:18px}.client-stats span,.client-panel>span,.client-panel-head span{display:block;color:var(--muted);font:8px 'DM Mono',monospace;letter-spacing:.1em}.client-stats strong{display:block;margin:10px 0 2px;font:24px Oswald,sans-serif}.client-stats small{color:var(--muted);font-size:9px}.client-stats i,.workout-side i{display:block;height:4px;margin-top:13px;border-radius:5px;background:#353b35;overflow:hidden}.client-stats i b,.workout-side i b{display:block;height:100%;background:var(--green)}.client-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:12px}.client-panel{padding:22px}.client-panel-head{display:flex;align-items:center;justify-content:space-between}.client-panel-head h3{margin:7px 0 0;font:24px Oswald,sans-serif;text-transform:uppercase;line-height:1}.client-panel-head button{border:0;background:transparent;color:var(--green);font-size:9px;font-weight:700;cursor:pointer}.week-plan-row{display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center;min-height:58px;border-bottom:1px solid #303630}.week-plan-row:last-child{border-bottom:0}.week-plan-row .day{color:var(--muted);font:9px 'DM Mono',monospace}.week-plan-row strong,.week-plan-row small{display:block}.week-plan-row strong{font-size:10px}.week-plan-row small{margin-top:3px;color:var(--muted);font-size:8px}.week-plan-row em{padding:4px 6px;border-radius:4px;background:rgba(180,217,158,.12);color:var(--green);font-size:7px;font-style:normal;font-weight:700}.week-plan-row.muted{opacity:.45}.coach-message{background:linear-gradient(145deg,#21281f,#191d19)}.coach-message blockquote{margin:17px 0 25px;padding:0;border:0;color:#e4e9df;font-size:14px;line-height:1.65}.coach-message footer{display:flex;align-items:center;gap:9px}.coach-message footer p{margin:0}.coach-message footer strong,.coach-message footer small{display:block}.coach-message footer strong{font-size:9px}.coach-message footer small{margin-top:3px;color:var(--muted);font-size:8px}.client-view-heading{padding:21px 0 27px}.client-view-heading h2{font-size:43px}.client-view-heading>p:not(.client-kicker){margin:9px 0 0;color:var(--muted);font-size:11px}.workout-client-layout{display:grid;grid-template-columns:1fr 240px;gap:12px}.workout-list{padding:0;overflow:hidden}.client-exercise{padding:17px 19px;border-bottom:1px solid var(--line)}.client-exercise:last-child{border-bottom:0}.client-exercise-head{display:flex;align-items:center;gap:10px}.exercise-number{width:27px;height:27px;border-radius:7px;background:rgba(180,217,158,.1);color:var(--green);display:grid;place-items:center;font:16px Oswald,sans-serif}.client-exercise-head div{flex:1}.client-exercise-head strong,.client-exercise-head small{display:block}.client-exercise-head strong{font-size:11px}.client-exercise-head small{margin-top:3px;color:var(--muted);font-size:8px}.client-exercise-head span{color:var(--green);font-size:8px}.client-set-row{display:grid;grid-template-columns:31px 1fr 1fr 29px;gap:10px;align-items:center;padding:9px 5px 0;color:var(--muted);font-size:9px}.client-set-row input{width:100%;height:31px;border:1px solid var(--line);border-radius:5px;background:#121412;color:var(--text);text-align:center;font-size:10px;outline:0}.client-set-row button{width:27px;height:27px;border:1px solid var(--line);border-radius:6px;background:transparent;color:transparent;cursor:pointer}.client-set-row button.done{border-color:var(--green);background:var(--green);color:#182018}.workout-side{align-self:start;text-align:center}.workout-side strong{display:block;margin:13px 0 2px;font:35px Oswald,sans-serif}.workout-side p{margin:0;color:var(--muted);font-size:9px}.workout-side .client-secondary{width:100%;margin-top:20px}.workout-side small{display:block;margin-top:14px;color:var(--muted);font-size:8px;line-height:1.5}.progress-client-grid{display:grid;grid-template-columns:1.1fr .9fr .7fr;gap:12px}.measurement-card strong{display:block;margin:13px 0 3px;font:42px Oswald,sans-serif}.measurement-card small{color:var(--green);font-size:9px}.client-chart{height:140px;margin:20px 0;display:flex;align-items:end;justify-content:space-around;gap:7px;border-bottom:1px solid var(--line)}.client-chart div{width:31px;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:5px}.client-chart i{width:17px;min-height:14px;border-radius:3px 3px 0 0;background:linear-gradient(var(--green),#668b66)}.client-chart span{color:var(--muted);font-size:7px}.measurement-card .client-secondary{width:100%}.records-card>div{margin-top:13px}.client-record{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px 0;border-bottom:1px solid var(--line)}.client-record strong,.client-record small{display:block}.client-record strong{font-size:10px}.client-record small{margin-top:3px;color:var(--muted);font-size:8px}.client-record b{align-self:center;color:var(--green);font:19px Oswald,sans-serif}.consistency-card{background:linear-gradient(150deg,#263b2a,#182018)}.consistency-card>strong{display:block;margin:13px 0;font:45px Oswald,sans-serif;color:var(--green)}.consistency-card p{color:#d5dfd1;font-size:10px;line-height:1.7}.consistency-dots{display:flex;gap:5px;margin-top:28px}.consistency-dots i{width:15px;height:15px;border-radius:50%;background:var(--green)}.consistency-dots i:nth-child(3),.consistency-dots i:nth-child(7){background:#526052}.client-calendar-list{display:grid;gap:10px}.client-appointment{display:grid;grid-template-columns:70px 1fr auto;gap:17px;align-items:center;padding:18px 22px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.appointment-date{padding-right:16px;border-right:1px solid var(--line);text-align:center}.appointment-date strong,.appointment-date small{display:block}.appointment-date strong{font:28px Oswald,sans-serif}.appointment-date small{color:var(--muted);font-size:8px}.client-appointment h3{margin:0;font-size:12px}.client-appointment p{margin:5px 0 0;color:var(--muted);font-size:9px}.client-appointment button{border:1px solid var(--line);border-radius:5px;background:transparent;color:var(--green);padding:8px;font-size:9px;cursor:pointer}.client-appointment button:hover{border-color:var(--green)}.client-modal-backdrop{position:fixed;z-index:20;inset:0;padding:20px;background:rgba(5,7,5,.76);display:grid;place-items:center;opacity:0;visibility:hidden;transition:.2s}.client-modal-backdrop.open{opacity:1;visibility:visible}.client-modal{position:relative;width:min(430px,100%);padding:28px;border:1px solid var(--line);border-radius:12px;background:#1a1e1a}.client-modal h2{font-size:34px}.client-modal label{display:block;margin-top:17px;color:#d1d8cf;font-size:10px}.client-modal input,.client-modal textarea{width:100%;margin-top:6px;padding:10px;border:1px solid var(--line);border-radius:5px;background:#101210;color:var(--text);font:11px Manrope,sans-serif}.client-modal textarea{height:74px;resize:vertical}.client-modal .client-primary{width:100%;margin-top:19px}.modal-x{position:absolute;right:13px;top:10px;border:0;background:transparent;color:var(--muted);font-size:23px;cursor:pointer}.client-toast{position:fixed;right:22px;bottom:22px;z-index:25;display:flex;align-items:center;gap:9px;padding:12px 15px;border:1px solid rgba(180,217,158,.25);border-radius:8px;background:#1c241d;box-shadow:0 12px 40px rgba(0,0,0,.35);transform:translateY(90px);opacity:0;transition:.2s}.client-toast.show{transform:none;opacity:1}.client-toast span{width:24px;height:24px;border-radius:5px;background:var(--green);color:#1d291e;display:grid;place-items:center}.client-toast p{margin:0;font-size:10px}@media(max-width:980px){.client-main{padding-inline:24px}.progress-client-grid{grid-template-columns:1fr 1fr}.consistency-card{grid-column:span 2}}@media(max-width:760px){.client-app{display:block}.client-sidebar{position:fixed;z-index:15;left:-250px;width:235px;transition:.25s;box-shadow:12px 0 35px rgba(0,0,0,.35)}.client-sidebar.open{left:0}.mobile-client-menu{display:block;margin-right:10px;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--text);width:33px;height:33px}.client-topbar{justify-content:flex-start}.client-avatar-large{margin-left:auto}.client-grid,.workout-client-layout,.progress-client-grid{grid-template-columns:1fr}.consistency-card{grid-column:auto}.client-hero{padding:30px}.client-main{padding-inline:16px}.client-topbar{min-height:80px}.client-hero h2{font-size:45px}.hero-orb{width:105px;height:105px}.hero-orb strong{font-size:43px}.client-stats{grid-template-columns:1fr}.client-stats article{min-height:92px}.client-appointment{grid-template-columns:53px 1fr}.client-appointment button{grid-column:2}.appointment-date{padding-right:9px}.client-view-heading h2{font-size:38px}}@media(max-width:440px){.client-hero{align-items:flex-start;gap:25px;flex-direction:column}.hero-orb{align-self:flex-end}.client-panel{padding:17px}.client-exercise{padding:14px}.client-set-row{grid-template-columns:25px 1fr 1fr 27px;gap:6px}}
/* FORGE trainer notifications and workout ratings */
.client-updates{display:grid;gap:12px;margin:12px 0}.coach-rating-card{padding:22px;border:1px solid rgba(232,173,116,.34);border-radius:17px;background:linear-gradient(130deg,rgba(232,173,116,.18),rgba(232,173,116,.04));display:flex;align-items:center;justify-content:space-between;gap:20px}.coach-rating-card span{color:var(--client-accent,#e8ad74);font-size:8px;font-weight:800;letter-spacing:.1em}.coach-rating-card strong{display:block;margin:8px 0 5px;font-size:27px}.coach-rating-card p{margin:0;color:#a9a099;font-size:10px;line-height:1.55}.rating-score{color:#e8ad74;font-size:21px;letter-spacing:3px;white-space:nowrap}.notification-feed{padding:20px;border:1px solid #2b2926;border-radius:17px;background:#171615}.client-notification{display:flex;gap:12px;padding:14px 3px;border-top:1px solid #292724}.client-notification>i{width:8px;height:8px;margin-top:5px;border-radius:50%;background:#5d5954}.client-notification.unread>i{background:#e8ad74;box-shadow:0 0 12px rgba(232,173,116,.55)}.client-notification strong,.client-notification small{display:block}.client-notification strong{font-size:11px}.client-notification p{margin:5px 0;color:#a9a099;font-size:10px;line-height:1.55}.client-notification small{color:#68635f;font-size:8px}@media(max-width:620px){.coach-rating-card{align-items:flex-start;flex-direction:column}.rating-score{font-size:18px}}
