:root{--bg:#0b0b0b;--panel:#151515;--gold:#c6a15b;--gold2:#e2c784;--text:#f4f0e8;--muted:#aaa49a;--line:#34312b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}header{height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(16px,5vw,70px);border-bottom:1px solid #292620;position:sticky;top:0;background:#0b0b0bf2;z-index:3}.brand{display:flex;gap:12px;align-items:center;color:var(--text);text-decoration:none}.mark{width:43px;height:43px;display:grid;place-items:center;border:1px solid var(--gold);color:var(--gold);font:22px Georgia,serif;letter-spacing:-4px;padding-right:4px}.brand b{display:block;font-size:12px;letter-spacing:2px}.brand small{display:block;font-size:8px;color:var(--gold);letter-spacing:1.5px}.hero,.view{max-width:1200px;margin:auto;padding:clamp(35px,7vw,90px) clamp(18px,7vw,80px)}.eyebrow{font-size:10px;letter-spacing:2.4px;font-weight:700;color:var(--gold)}h1{font-size:clamp(44px,7.5vw,90px);line-height:1;letter-spacing:-3px;margin:20px 0}h1 em{font:normal 1em Georgia,serif;color:var(--gold2)}.hero>p:not(.eyebrow){max-width:500px;color:#c7c1b6;font-size:19px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0 65px}.gold,.outline{padding:12px 17px;border:1px solid var(--gold);border-radius:3px}.gold{background:var(--gold);color:#17130c;font-weight:700}.outline{background:transparent;color:var(--gold2)}.small{padding:9px 12px;font-size:12px}.pillars {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  border-block: 1px solid var(--line);
  padding: 24px 0;
}
.pillars div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  min-width: 0;
  padding: 0;
}
.pillar-icon {
  width: 100%;
  max-width: 150px;
  height: 110px;
  object-fit: contain;
  object-position: left center;
  display: block;
  margin-bottom: 8px;
}
.pillars b { font-size: 12px; letter-spacing: 1.7px; }
.pillars small, .muted { color: var(--muted); }.heading{display:flex;justify-content:space-between;gap:12px;margin-bottom:22px}.heading h2{font-size:clamp(28px,4vw,42px);margin:5px 0}.text{background:none;border:0;color:var(--gold2)}.card{background:var(--panel);border:1px solid var(--line);padding:21px;border-radius:6px;margin-bottom:15px}.highlight{display:flex;justify-content:space-between;align-items:center;gap:18px;background:linear-gradient(115deg,#211b10,#131313);border-color:#51432a}.highlight h3{font-size:23px;margin:8px 0}.highlight p:not(.eyebrow){color:#c0b8aa}.ring{width:92px;height:92px;flex-shrink:0;border:5px solid #4a3b20;border-top-color:var(--gold);border-right-color:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column}.ring b{font-size:20px}.ring small{font-size:9px;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.grid .card{margin:0}#client > .grid {
  margin-bottom: 15px;
}

.symbol{font-size:28px;color:var(--gold)}.grid p{font-size:13px;color:var(--muted);min-height:40px}.next{display:flex;align-items:center;justify-content:space-between;margin-top:15px}.next h3{margin:7px 0}.next p{margin:0}.stats{grid-template-columns:repeat(3,1fr);margin-bottom:15px}.stats small{display:block;color:var(--muted);font-size:12px}.stats strong{display:block;color:var(--gold2);font-size:32px}form{display:grid;gap:13px}label{display:grid;gap:6px;color:#d6cfc3;font-size:12px}input,textarea{width:100%;background:#0d0d0d;color:var(--text);border:1px solid #454037;border-radius:3px;padding:11px}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.drafts{border-top:1px solid var(--line);margin-top:15px}.draft{padding:12px 0;border-bottom:1px solid var(--line)}.draft small{display:block;color:var(--muted)}footer{border-top:1px solid var(--line);padding:25px clamp(18px,5vw,70px) 75px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:15px;color:var(--gold);font-size:10px;letter-spacing:1.5px}footer small{width:100%;color:var(--muted);letter-spacing:0}nav{display:none}.hidden{display:none!important}@media(max-width:800px) {
  .grid { grid-template-columns: repeat(2, 1fr); }
  .pillars { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; }
  .pillars div:nth-child(even) { border-left: 1px solid var(--line); padding-left: 15px; }
  .pillar-icon { max-width: 120px; height: 90px; }
}@media(max-width:560px){header{height:65px}.brand b{font-size:10px;letter-spacing:1.3px}.brand small{font-size:7px}.hero{padding-top:48px}h1{letter-spacing:-2px}.actions>*{width:100%}.grid.stats{grid-template-columns:1fr 1fr}.card{padding:15px}.highlight{align-items:flex-start}.ring{width:75px;height:75px}.ring b{font-size:16px}.two{grid-template-columns:1fr}.next{align-items:flex-start;flex-direction:column}nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;background:#101010f5;border-top:1px solid var(--line);padding:10px 8px max(10px,env(safe-area-inset-bottom));z-index:4}nav button{border:0;background:none;color:var(--muted);padding:7px 15px;font-size:12px}footer{padding-bottom:90px}.view{padding-top:28px}}

/* Official supplied logo */
.brand-logo {
  display: block;
  width: min(250px, 54vw);
  max-height: 76px;
  object-fit: contain;
  object-position: left center;
}
@media (max-width: 640px) {
  .brand-logo {
    width: min(190px, 54vw);
    max-height: 58px;
  }
}


/* Workout builder v2 */
.site-header { justify-content: space-between; }
.brand-logo { display:block; width:min(250px, 58vw); max-height:76px; object-fit:contain; object-position:left center; }
.bottom-nav { position:sticky; bottom:0; display:flex; justify-content:center; gap:12px; padding:10px 16px calc(10px + env(safe-area-inset-bottom)); background:rgba(10,10,10,.96); border-top:1px solid #292929; z-index:5; }
.bottom-nav button { background:transparent; border:1px solid #353535; color:#eee; border-radius:999px; padding:9px 20px; }
.bottom-nav button.nav-active { border-color:var(--gold,#d5b15e); color:var(--gold,#d5b15e); }
.builder-card h3 { margin-bottom:8px; }
.builder-card form { display:grid; gap:16px; }
.builder-card label { display:flex; flex-direction:column; gap:7px; font-size:.9rem; color:#e8e8e8; }
.builder-card input,.builder-card select,.builder-card textarea { width:100%; border:1px solid #383838; background:#111; color:#f5f5f5; border-radius:9px; padding:11px 12px; font:inherit; min-width:0; }
.builder-card input:focus,.builder-card select:focus,.builder-card textarea:focus { outline:2px solid #b99745; outline-offset:1px; }
.two { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.four { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.exercise-entry { padding:16px; border:1px solid #343434; border-radius:12px; background:#111; display:grid; gap:14px; }
.exercise-entry h4,.list-heading h4 { margin:0; }
.small-text { font-size:.82rem; }
.exercise-list-wrap { display:grid; gap:10px; }
.list-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.count { font-size:.8rem; color:#d7b45d; white-space:nowrap; }
.exercise-row { display:flex; align-items:flex-start; gap:12px; padding:14px 0; border-bottom:1px solid #2d2d2d; }
.exercise-number { width:30px; height:30px; flex:0 0 30px; display:grid; place-items:center; border:1px solid #a8893e; color:#e0c16e; border-radius:50%; font-size:.85rem; }
.exercise-info { flex:1; min-width:0; }
.exercise-info p { margin:5px 0; color:#ddd; font-size:.9rem; }
.exercise-info small { display:block; color:#aaa; margin-top:4px; }
.remove-exercise { padding:5px 0; }
.saved-workout { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:16px 0; border-bottom:1px solid #2d2d2d; }
.saved-main { min-width:0; }
.saved-main h4 { margin:0 0 5px; }
.saved-main p { margin:0 0 5px; color:#ddd; font-size:.9rem; }
.saved-main small { color:#999; }
.saved-actions { display:flex; gap:8px; align-items:center; }
.warning-card { border-color:#65552d; }
.hidden { display:none !important; }
@media(max-width:640px) {
  .brand-logo { width:min(190px,58vw); max-height:58px; }
  .two { grid-template-columns:1fr; }
  .four { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .saved-workout { align-items:flex-start; flex-direction:column; }
  .saved-actions { width:100%; }
  .list-heading { align-items:flex-start; }
}


/* Coach-to-client workout assignment demo */
.assigned-card { margin: 18px 0; }
.assigned-summary { padding: 14px 0; }
.assigned-summary h4 { margin: 0 0 6px; }
.assigned-summary p { color: #ccc; margin: 6px 0; }
.client-exercise { display:flex; align-items:flex-start; gap:12px; padding:13px 0; border-top:1px solid #2d2d2d; }
.client-exercise .exercise-info { flex:1; min-width:0; }
.client-exercise .exercise-info p { margin:5px 0; color:#ddd; font-size:.9rem; }
.client-exercise .exercise-info small { display:block; color:#aaa; margin-top:4px; }
.coach-note { border-left:2px solid #c8a34d; padding:10px 12px; background:#141414; color:#ddd; }
.saved-actions { flex-wrap:wrap; }
@media(max-width:640px) {
  .saved-actions { flex-wrap:wrap; }
}


/* Client workout completion and progress tracking */
.tracked-exercise { align-items:flex-start; }
.done-check { display:flex; align-items:center; gap:8px; padding-top:2px; }
.done-check input { accent-color:#d4b35f; width:18px; height:18px; margin:6px 0 0; }
.tracking-inputs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:10px; }
.tracking-inputs label { display:flex; flex-direction:column; gap:5px; color:#aaa; font-size:.78rem; }
.tracking-inputs input { width:100%; background:#101010; border:1px solid #373737; border-radius:7px; color:#fff; padding:8px; font:inherit; }
.tracking-summary { margin-top:18px; padding:14px; border:1px solid #3a3321; border-radius:10px; background:#12110d; }
.tracking-top { display:flex; justify-content:space-between; gap:10px; font-size:.9rem; }
.tracking-top span { color:#d9bb68; }
.progress-track { height:7px; border-radius:99px; background:#303030; margin:12px 0; overflow:hidden; }
.progress-track span { display:block; height:100%; background:#d3b35e; border-radius:99px; transition:width .2s; }
@media(max-width:640px) { .tracking-inputs { grid-template-columns:1fr; } }


/* Client progress dashboard and weekly wellbeing check-ins */
.progress-dashboard,.weekly-checkin { margin-top:20px; padding-top:18px; border-top:1px solid #303030; }
.progress-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:14px 0; }
.progress-stat { padding:14px 10px; border:1px solid #343434; border-radius:10px; background:#111; display:flex; flex-direction:column; gap:5px; }
.progress-stat strong { color:#dfc16d; font-size:1.5rem; }
.progress-stat span { color:#aaa; font-size:.78rem; }
.progress-history h4 { margin:14px 0 6px; }
.history-row,.checkin-row { display:flex; justify-content:space-between; gap:12px; padding:12px 0; border-top:1px solid #2b2b2b; }
.history-row div,.checkin-row div { display:flex; flex-direction:column; gap:4px; min-width:0; }
.history-row small,.checkin-row small { color:#999; }
.history-row span { color:#d8ba65; font-size:.8rem; text-align:right; }
.checkin-row p { margin:4px 0; color:#ddd; font-size:.9rem; }
.weekly-checkin form { display:grid; gap:13px; margin-top:12px; }
.weekly-checkin label { display:flex; flex-direction:column; gap:6px; color:#ddd; font-size:.88rem; }
.weekly-checkin select,.weekly-checkin textarea { width:100%; padding:10px; border-radius:8px; border:1px solid #383838; background:#111; color:#fff; font:inherit; }
.coach-progress-card { margin-bottom:18px; }
@media(max-width:640px) {
 .progress-stats { grid-template-columns:1fr 1fr; }
 .history-row { flex-direction:column; }
 .history-row span { text-align:left; }
}


/* Fuel pillar: nutrition target calculator and meal planner */
.nutrition-hub { margin:20px 0; padding:18px 0; border-top:1px solid #303030; }
.nutrition-form,.meal-planner form { display:grid; gap:13px; margin-top:14px; }
.nutrition-form label,.meal-planner label { display:flex; flex-direction:column; gap:6px; color:#ddd; font-size:.88rem; }
.nutrition-form input,.nutrition-form select,.meal-planner input,.meal-planner select { width:100%; padding:10px; border-radius:8px; border:1px solid #383838; background:#111; color:#fff; font:inherit; }
.nutrition-results { margin-top:16px; padding:14px; border:1px solid #40351e; border-radius:12px; background:#12110d; }
.nutrition-result-head { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.nutrition-result-head div,.macro-grid div { display:flex; flex-direction:column; gap:5px; }
.nutrition-result-head small,.macro-grid span { color:#aaa; font-size:.8rem; }
.nutrition-result-head strong { font-size:1.35rem; color:#e0c16c; }
.macro-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:16px 0; }
.macro-grid div { padding:12px 8px; border:1px solid #343434; border-radius:8px; }
.macro-grid strong { font-size:1.1rem; }
.meal-planner { margin-top:22px; padding-top:18px; border-top:1px solid #303030; }
.meal-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 0; border-bottom:1px solid #2b2b2b; }
.meal-row p { margin:4px 0 0; color:#ccc; }
@media(max-width:640px) { .nutrition-result-head { grid-template-columns:1fr; } }


/* Example meal plans linked to macro targets */
.macro-meal-plans { margin-top:22px; padding-top:18px; border-top:1px solid #303030; }
.plan-selector { display:flex; flex-wrap:wrap; gap:8px; margin:14px 0; }
.plan-selector button:focus,.plan-selector button:hover { border-color:#d3b35e; color:#e3c66f; }
.plan-totals { grid-template-columns:repeat(4,minmax(0,1fr)); }
.sample-meals { display:grid; gap:10px; margin:14px 0; }
.sample-meal { padding:14px; border:1px solid #343434; border-radius:10px; background:#111; }
.sample-meal-head { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }
.sample-meal-head div { display:flex; flex-direction:column; gap:4px; }
.sample-meal-head small { color:#d3b35e; text-transform:uppercase; letter-spacing:.06em; }
.sample-meal-head span { color:#e0c16c; white-space:nowrap; font-size:.9rem; }
.sample-meal p { margin:10px 0; color:#ccc; font-size:.9rem; }
.meal-macros { display:flex; gap:8px; flex-wrap:wrap; }
.meal-macros span { background:#242018; color:#e4d4a7; border-radius:6px; padding:4px 8px; font-size:.78rem; }
@media(max-width:640px) { .plan-totals { grid-template-columns:repeat(2,minmax(0,1fr)); } .sample-meal-head { flex-direction:column; } }


/* Automatic meal plan generator */
.auto-meal-builder { margin:20px 0; padding:18px 0; border-top:1px solid #303030; }
.auto-meal-builder .nutrition-form { display:grid; gap:13px; margin-top:14px; }
.generated-plan-head { display:flex; justify-content:space-between; gap:10px; align-items:flex-start; margin-top:18px; }
.generated-plan-head h4 { margin:0 0 5px; }
.generated-plan-head .count { white-space:normal; text-align:right; }
#auto-plan-output { margin-top:16px; }
#auto-plan-output .sample-meals { margin-top:14px; }
@media(max-width:640px) { .generated-plan-head { flex-direction:column; } }


/* Seven-day meal plan and shopping list */
.seven-day-planner { margin:22px 0; padding:18px 0; border-top:1px solid #303030; }
.seven-day-planner label { display:flex; flex-direction:column; gap:6px; color:#ddd; font-size:.88rem; }
.seven-day-planner input,.seven-day-planner select { width:100%; padding:10px; border-radius:8px; border:1px solid #383838; background:#111; color:#fff; font:inherit; }
#weekly-plan-output { margin-top:16px; display:grid; gap:10px; }
.week-day { border:1px solid #353535; border-radius:10px; background:#101010; overflow:hidden; }
.week-day summary { list-style:none; cursor:pointer; padding:14px; display:flex; justify-content:space-between; gap:12px; }
.week-day summary::-webkit-details-marker { display:none; }
.week-day summary span { color:#d8b75f; font-size:.85rem; text-align:right; }
.week-day-content { padding:0 12px 12px; }
.swap-label { margin-top:10px; font-size:.8rem !important; color:#c7c7c7 !important; }
.swap-label select { margin-top:4px; }
.shopping-list { margin-top:14px; padding:14px; border:1px solid #3b3320; border-radius:10px; }
.shopping-list ul { padding-left:20px; }
.shopping-list li { margin:7px 0; }
.shopping-list li span { color:#aaa; font-size:.8rem; }
@media print {
  body { background:#fff !important; color:#111 !important; }
  .site-header,.bottom-nav,footer,button,.hero,.builder-card { display:none !important; }
  .shopping-list { border:0; color:#111; }
}


/* Seven-day meal planner shopping checklist */
.checklist-shopping { list-style: none; padding: 0; margin: 1rem 0; }
.checklist-shopping li { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .7rem 0; border-bottom: 1px solid var(--line, #dedede); }
.checklist-shopping li label { display: flex; align-items: center; gap: .55rem; }
.checklist-shopping li input[type="checkbox"] { accent-color: #b99143; width: 1.05rem; height: 1.05rem; }
.checklist-shopping li > span { color: var(--muted, #777); font-size: .88rem; text-align: right; }
@media print {
  body * { visibility: hidden; }
  #shopping-list-output, #shopping-list-output * { visibility: visible; }
  #shopping-list-output { position: absolute; inset: 0; width: 100%; }
  #print-shopping, .nav, nav, button { display: none !important; }
  .checklist-shopping li { break-inside: avoid; }
}

.allergy-disclaimer { border: 1px solid #b99143; border-left-width: 4px; border-radius: 10px; padding: 1rem 1.1rem; margin: 1.5rem 0; background: rgba(185,145,67,.08); }
.allergy-disclaimer h3 { margin-top: 0; }
.allergy-disclaimer p:last-child { margin-bottom: 0; }

.move-recover-section { margin-top: 2rem; }
.pillar-heading { margin: 1.5rem 0 1rem; }
.pillar-heading h2 { margin: .2rem 0 .5rem; }
.move-recover-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.move-card label, .recover-card label { display: block; margin: .8rem 0; }
.move-card select { width: 100%; margin-top: .35rem; }
.routine-content { border-top: 1px solid var(--line,#dedede); margin: 1rem 0; padding-top: .6rem; }
.routine-content ol { padding-left: 1.4rem; }
.routine-content li { margin: .45rem 0; }
.range-hint { display: block; color: var(--muted,#777); font-size: .82rem; font-weight: 400; }
.recover-card input[type="range"] { display: block; width: 100%; accent-color: #b99143; margin-top: .45rem; }
.habit-stats { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; margin: 1rem 0; }
.habit-stats > div { border: 1px solid var(--line,#dedede); border-radius: 10px; padding: 1rem; display: flex; flex-direction: column; gap: .25rem; }
.habit-stats strong { font-size: 1.8rem; }
.habit-stats span { color: var(--muted,#777); font-size: .9rem; }
.history-list { padding-left: 1.25rem; }
.history-list li { margin: .75rem 0; }
.safety-note { margin: 1rem 0; }
@media(max-width:760px) { .move-recover-grid { grid-template-columns: 1fr; } }

.movement-library-card, .recovery-summary-card, .massage-preview-card { margin-top: 1rem; }
.movement-exercise-detail { border-top: 1px solid var(--line,#dedede); margin-top: 1rem; padding-top: .8rem; }
.movement-exercise-detail li { margin: .45rem 0; }
.recovery-average-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.7rem; margin:1rem 0; }
.recovery-average-grid > div { border:1px solid var(--line,#dedede); border-radius:10px; padding:.8rem; display:flex; flex-direction:column; gap:.25rem; }
.recovery-average-grid strong { font-size:1.25rem; }
.recovery-average-grid span { font-size:.82rem; color:var(--muted,#777); }
.massage-preview-card { border-color:#b99143; }
.massage-preview-layout { display:grid; grid-template-columns:60px minmax(0,1fr); gap:1rem; align-items:start; }
.massage-icon { width:56px; height:56px; display:grid; place-items:center; border-radius:50%; background:rgba(185,145,67,.14); color:#b99143; font-size:2rem; }
.massage-preview-card li { margin:.4rem 0; }
@media(max-width:760px){.recovery-average-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.massage-preview-layout{grid-template-columns:1fr;}}


/* Future sports massage planning preview */
.massage-menu-grid { display:grid; grid-template-columns:minmax(0,520px); gap:1rem; margin:1rem 0; }
.massage-menu-card { padding:1.1rem; }
.massage-menu-card h3 { margin:.2rem 0 .4rem; }
.massage-duration { color:var(--muted,#777); margin:.25rem 0 .65rem; }
.massage-price { font-size:1.65rem; font-weight:700; margin:.65rem 0 .15rem; color:#b99143; }
.massage-menu-featured { border:1px solid #b99143; }
.massage-intake-preview { margin-top:1rem; }
.massage-intake-preview label { display:block; margin:.7rem 0; }
.massage-intake-preview select { width:100%; margin-top:.35rem; }
.massage-intake-preview select:disabled { opacity:.65; cursor:not-allowed; }
.intake-topics { border-top:1px solid var(--line,#dedede); margin-top:1rem; padding-top:1rem; }
.intake-topics li, .massage-launch-checklist li { margin:.45rem 0; }
.massage-launch-checklist { margin:1rem 0; padding:1rem 1.2rem; border-left:3px solid #b99143; background:rgba(185,145,67,.07); border-radius:8px; }
.massage-launch-checklist h3 { margin-top:0; }
.massage-launch-checklist ul { margin-bottom:0; }
@media(max-width:760px) { .massage-menu-grid { grid-template-columns:1fr; } }


/* Public coaching packages */
.packages-section { margin: 58px 0 12px; padding-top: 34px; border-top:1px solid var(--line); }
.packages-section h2 { margin:8px 0 12px; font-size:clamp(30px,4.5vw,46px); }
.packages-intro { max-width:680px; color:#c7c1b6; margin-bottom:25px; }
.packages-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; align-items:stretch; }
.package-card { position:relative; display:flex; flex-direction:column; background:linear-gradient(160deg,#171717,#101010); border:1px solid #38342b; border-radius:8px; padding:22px; min-width:0; }
.package-card h3 { font-size:1.3rem; margin:7px 0 10px; }
.package-price { color:var(--gold2); font-size:2.1rem; font-weight:700; margin:5px 0 12px; }
.package-price span { font-size:.82rem; font-weight:400; color:var(--muted); }
.package-summary { color:#d3cdc2; min-height:50px; }
.package-card ul { padding-left:19px; margin:10px 0 18px; color:#ded8ce; }
.package-card li { margin:9px 0; font-size:.92rem; }
.package-fit { color:var(--muted); font-size:.84rem; border-top:1px solid var(--line); padding-top:13px; margin-top:auto; }
.package-enquiry { width:100%; margin-top:8px; cursor:pointer; }
.package-card-featured { border-color:var(--gold); box-shadow:0 0 0 1px rgba(198,161,91,.12); }
.package-ribbon { align-self:flex-start; background:var(--gold); color:#17130c; font-size:.65rem; letter-spacing:1.2px; font-weight:800; padding:5px 8px; margin:-22px 0 16px; border-radius:0 0 3px 3px; }
.packages-note { color:var(--muted); font-size:.82rem; margin-top:18px; line-height:1.6; }
.package-enquiry-notice { margin-top:15px; padding:14px; border:1px solid var(--gold); border-radius:6px; background:#17140e; color:#e9dfc9; }
@media(max-width:900px) { .packages-grid { grid-template-columns:1fr; } .package-summary { min-height:0; } .package-card { padding:20px; } .package-ribbon { margin-top:-20px; } }


/* Online-only launch package */
.launch-offer-grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(240px,.7fr); gap:18px; align-items:stretch; }
.launch-offer-card { max-width:680px; }
.launch-support-boundaries { border-top:1px solid var(--line); margin-top:5px; padding-top:13px; color:#e5d8bb; font-size:.9rem; }
.launch-support-boundaries p { color:var(--muted); margin:.45rem 0 0; line-height:1.6; }
.launch-plan-card { border:1px solid #38342b; background:#111; border-radius:8px; padding:22px; }
.launch-plan-card h3 { margin:.5rem 0 1rem; }
.launch-plan-card ul { padding-left:19px; }
.launch-plan-card li { margin:.8rem 0; }
@media(max-width:850px) { .launch-offer-grid { grid-template-columns:1fr; } .launch-offer-card { max-width:none; } }


/* Online coaching client onboarding journey preview */
.onboarding-section { margin:18px 0; padding:22px; border:1px solid #38342b; border-radius:8px; background:linear-gradient(160deg,#171717,#101010); }
.onboarding-section > p { margin-top:0; }
.onboarding-steps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:18px 0; }
.onboarding-step { display:flex; gap:12px; padding:15px; border:1px solid var(--line); border-radius:7px; background:rgba(255,255,255,.015); }
.onboarding-number { flex:0 0 34px; height:34px; display:grid; place-items:center; border:1px solid var(--gold); color:var(--gold2); border-radius:50%; font-weight:700; font-size:.82rem; }
.onboarding-step h4 { margin:3px 0 6px; font-size:1rem; }
.onboarding-step p { margin:0; color:var(--muted); font-size:.88rem; line-height:1.55; }
.onboarding-note { padding:14px 16px; border-left:3px solid var(--gold); background:rgba(198,161,91,.07); border-radius:4px; font-size:.88rem; }
.onboarding-note p { color:var(--muted); margin:.4rem 0 0; line-height:1.55; }
@media(max-width:700px) { .onboarding-steps { grid-template-columns:1fr; } .onboarding-section { padding:16px; } }


/* Weekly client check-in form preview */
.weekly-checkin-section { margin:18px 0; padding:22px; border:1px solid #38342b; border-radius:8px; background:linear-gradient(160deg,#171717,#101010); }
.weekly-checkin-section > p { margin-top:0; }
.weekly-checkin-form label { display:block; font-size:.9rem; margin:10px 0; color:#e7e0d4; }
.weekly-checkin-form input, .weekly-checkin-form textarea, .weekly-checkin-form select { display:block; width:100%; margin-top:6px; border:1px solid #49443a; border-radius:5px; background:#0d0d0d; color:#f5f0e6; padding:11px; font:inherit; }
.weekly-checkin-form textarea { resize:vertical; }
.checkin-field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 14px; }
.weekly-checkin-form button { margin-top:10px; }
.checkin-summary { margin-top:15px; border:1px solid var(--gold); background:#17140e; padding:15px; border-radius:6px; line-height:1.6; }
.checkin-summary h4 { margin-top:0; }
.checkin-summary p { margin:.35rem 0; }
@media(max-width:700px) { .checkin-field-grid { grid-template-columns:1fr; } .weekly-checkin-section { padding:16px; } }

/* Gold icons on the client coaching hub */
.client-pillar-icon {
  display: block;
  width: 54px;
  height: 54px;
  object-fit: contain;
  object-position: left center;
  margin-bottom: 12px;
}


/* Fix: coach section navigation must override the global nav{display:none}. */
.coach-page-nav {
  display: flex !important;
  position: static;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 8px;
  margin: 0 0 22px;
  padding: 0;
  background: transparent;
  border: 0;
  z-index: auto;
}
.coach-page-nav .coach-page-tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 9px 13px;
  border: 1px solid var(--gold);
  border-radius: 3px;
  color: var(--gold2);
  background: #151515;
  font-size: 12px;
}
.coach-page-nav .coach-page-tab.nav-active {
  background: var(--gold);
  color: #17130c;
  font-weight: 700;
}
.client-pillar-symbol { display:block; height:42px; margin-bottom:12px; color:var(--gold2); font-size:36px; line-height:1; }
@media (max-width:560px) {
  .coach-page-nav { position: static; display:flex !important; justify-content:flex-start; padding:0; background:transparent; border:0; }
  .coach-page-nav .coach-page-tab { width:auto; flex:1 1 42%; }
}


/* Coach nutrition builder */
.mm-nutrition-builder .mm-food-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin:12px 0}.mm-food-choice{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;min-height:58px}.mm-food-choice span{font-size:.82rem;color:var(--muted,#a7a7a7)}.mm-meal-group{margin:14px 0;padding:12px;border:1px solid var(--line,#333);border-radius:12px}.mm-meal-group h4{margin:0 0 8px}.mm-food-line{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-top:1px solid var(--line,#333)}.mm-food-line:first-of-type{border-top:0}.mm-nutrition-builder .form-grid{margin:12px 0}@media(max-width:600px){.mm-food-line{align-items:flex-start;flex-direction:column}.mm-food-choice{width:100%}}


/* Coach Overview action centre example */
.coach-action-centre{margin-top:18px}.coach-action-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.coach-action-heading h3{margin:2px 0 6px}.coach-action-note{display:flex;flex-direction:column;gap:4px;padding:12px 14px;margin:14px 0;border:1px solid rgba(201,166,91,.38);border-radius:8px;background:rgba(201,166,91,.07);font-size:.9rem}.coach-action-note span{color:var(--muted,#aaa)}.coach-action-list{display:grid;gap:10px}.coach-action-item{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid var(--line,#333);border-radius:10px;background:rgba(255,255,255,.015)}.coach-action-symbol{display:flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;border-radius:9px;background:#29251c;color:#d4af62;font-size:23px}.coach-action-copy{flex:1;min-width:0}.coach-action-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.coach-action-meta strong{font-size:.98rem}.coach-task-status{font-size:.72rem;line-height:1.3;padding:4px 8px;border-radius:999px;background:rgba(201,166,91,.12);color:var(--gold2,#d4af62)}.coach-action-copy p{margin:5px 0;font-size:.88rem}.coach-action-copy small{color:var(--muted,#aaa);font-size:.78rem}.coach-action-open{flex-shrink:0;white-space:nowrap}.coach-action-footnote{margin-top:14px}@media(max-width:650px){.coach-action-item{align-items:flex-start;flex-wrap:wrap}.coach-action-symbol{flex-basis:34px;width:34px;height:34px}.coach-action-copy{flex-basis:calc(100% - 60px)}.coach-action-open{margin-left:48px}.coach-action-heading{gap:8px}}

/* Coach Overview manual follow-up tasks */
.coach-manual-tasks{margin-top:22px;padding-top:18px;border-top:1px solid var(--line,#333)}
.coach-manual-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.coach-manual-heading h4{margin:0 0 5px}
.coach-manual-heading p{margin:0;font-size:.88rem}
.coach-manual-task-form{display:grid;grid-template-columns:minmax(180px,2fr) minmax(140px,1.2fr) minmax(130px,1fr) minmax(110px,.8fr) auto;gap:10px;align-items:end;padding:14px;border:1px solid var(--line,#333);border-radius:10px;margin-bottom:12px}
.coach-manual-task-form label{display:grid;gap:6px;font-size:.82rem;color:var(--muted,#aaa)}
.coach-manual-task-form input,.coach-manual-task-form select{width:100%;min-width:0}
.coach-manual-task-list{display:grid;gap:8px}
.coach-manual-task{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid var(--line,#333);border-radius:9px;background:rgba(255,255,255,.015)}
.coach-manual-task-main{min-width:0;flex:1}.coach-manual-task-main strong{overflow-wrap:anywhere}.coach-manual-task-main p{margin:4px 0;font-size:.86rem;color:var(--muted,#aaa)}
.coach-manual-task-main small{font-size:.72rem;color:var(--gold2,#d4af62)}.coach-manual-task.is-done{opacity:.65}.coach-manual-task.is-done .coach-manual-task-main strong{text-decoration:line-through}
.coach-manual-task-actions{display:flex;gap:7px;flex-wrap:wrap}.coach-manual-empty{padding:12px;border:1px dashed var(--line,#333);border-radius:8px}
@media(max-width:900px){.coach-manual-task-form{grid-template-columns:repeat(2,minmax(0,1fr))}.coach-manual-task-form button{grid-column:1/-1}}
@media(max-width:600px){.coach-manual-task{align-items:flex-start;flex-direction:column}.coach-manual-task-actions{width:100%}.coach-manual-heading{flex-direction:column}}

/* Coach Action Centre client autocomplete */
.coach-task-client-field{position:relative}
.coach-task-client-suggestions{position:absolute;z-index:10020;top:calc(100% + 4px);left:0;right:0;max-height:240px;overflow-y:auto;background:var(--panel,#1b1b1b);border:1px solid var(--line,#444);border-radius:8px;box-shadow:0 10px 24px rgba(0,0,0,.35);padding:4px}
.coach-task-client-suggestions[hidden]{display:none}
.coach-task-client-suggestion{display:block;width:100%;text-align:left;padding:9px 10px;border:0;border-radius:5px;background:transparent;color:var(--text,#eee);cursor:pointer;font:inherit}
.coach-task-client-suggestion:hover,.coach-task-client-suggestion:focus{background:rgba(201,166,91,.18);outline:1px solid var(--gold,#c9a65b)}

/* Coach Overview: expandable missing-plan client lists */
.coach-missing-client-list{flex:0 0 100%;width:100%;padding:10px 12px;margin:0 0 2px 54px;border:1px solid var(--line,#333);border-radius:8px;background:rgba(255,255,255,.02)}
.coach-missing-client-list[hidden]{display:none}
.coach-missing-client-list-inner{display:grid;gap:8px}
.coach-missing-client-list-inner>strong{font-size:.88rem;margin-bottom:2px}
.coach-missing-client-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--line,#333)}
.coach-missing-client-row span{min-width:0;overflow-wrap:anywhere}
@media(max-width:650px){.coach-missing-client-list{margin-left:0}.coach-missing-client-row{align-items:flex-start}}

/* Coach Action Centre: distinguish verified completion from attention and failed checks. */
.coach-action-item.coach-action-warning { border-color: rgba(222, 166, 70, .72); }
.coach-action-item.coach-action-warning .coach-task-status { color: #f0bd62; }
.coach-action-item.coach-action-clear .coach-task-status { color: #a8d5a2; }

/* Coach follow-up reminder urgency */
.coach-manual-task.is-overdue { border-color: #b96a48; }
.coach-manual-task.is-overdue .coach-manual-task-main p { color: #e7a07d; }

/* Manual reminder grouping: urgency first, with completed work kept out of the active list. */
.coach-task-group{display:grid;gap:8px;margin:4px 0 14px}
.coach-task-group h5{display:flex;align-items:center;gap:8px;margin:5px 0;font-size:.88rem;color:var(--text,#f4f0e8)}
.coach-task-group h5 span,.coach-task-completed summary span{display:inline-flex;align-items:center;justify-content:center;min-width:22px;padding:2px 7px;border:1px solid var(--line,#333);border-radius:999px;color:var(--gold2,#d4af62);font-size:.72rem}
.coach-task-group-overdue h5{color:#e7a07d}
.coach-task-group-today h5{color:var(--gold2,#d4af62)}
.coach-task-completed{display:grid;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line,#333)}
.coach-task-completed summary{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:600;padding:5px 0}
.coach-task-completed[open]{gap:8px}

/* Coach Action Centre: at-a-glance task summary */
.coach-task-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:4px 0 16px}
.coach-task-summary-card{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:8px;row-gap:3px;min-width:0;padding:12px;border:1px solid var(--line,#333);border-radius:9px;background:rgba(255,255,255,.02)}
.coach-task-summary-card span{font-size:.8rem;color:var(--muted,#aaa)}
.coach-task-summary-card strong{grid-column:2;grid-row:1 / span 2;font-size:1.65rem;line-height:1;color:var(--text,#f4f0e8);font-variant-numeric:tabular-nums}
.coach-task-summary-card small{font-size:.68rem;color:var(--muted,#aaa);overflow-wrap:anywhere}
.coach-task-summary-overdue{border-color:rgba(185,106,72,.55)}.coach-task-summary-overdue strong{color:#e7a07d}
.coach-task-summary-today strong{color:var(--gold2,#d4af62)}
@media(max-width:700px){.coach-task-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Clickable Coach Action Centre task summary cards */
.coach-task-summary-card{font:inherit;text-align:left;color:inherit;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}
.coach-task-summary-card:hover,.coach-task-summary-card:focus-visible{border-color:var(--gold2,#d4af62);background:rgba(212,175,98,.08);outline:none}
.coach-task-summary-card:active{transform:translateY(1px)}
.coach-task-summary-card:focus-visible{box-shadow:0 0 0 2px rgba(212,175,98,.25)}
.coach-task-group-empty{margin:0;padding:8px 10px;border:1px solid var(--line,#333);border-radius:7px;font-size:.78rem}
.coach-task-section-highlight{animation:coachTaskSectionHighlight 1.3s ease}
@keyframes coachTaskSectionHighlight{0%,100%{background:transparent}35%{background:rgba(212,175,98,.12)}}

/* Coach weekly check-in review workflow */
.coach-checkin-review-card { margin-block: 1rem; }
.checkin-coach-notes-label { display: grid; gap: .45rem; margin-top: 1rem; font-weight: 600; }
.checkin-coach-notes-label textarea { width: 100%; box-sizing: border-box; min-height: 5rem; resize: vertical; }
.checkin-review-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-top: .85rem; }

/* Ensure completed forms and other hidden UI stay hidden even when component styles use display:grid/flex. */
[hidden] { display: none !important; }

/* Training onboarding and coach review queue */
.training-onboarding-card { margin-bottom: 1rem; }
.training-onboarding-card fieldset { border: 1px solid var(--line, #d8d2c7); border-radius: 12px; padding: 1rem; margin: 1rem 0; }
.training-onboarding-card legend { font-weight: 700; padding: 0 .35rem; }
#training-onboarding-form { display:grid; gap:14px; min-width:0; }
#training-onboarding-form > label { display:grid; gap:7px; min-width:0; color:#e7e0d4; font-size:.88rem; }
#training-onboarding-form input:not([type="checkbox"]),
#training-onboarding-form select,
#training-onboarding-form textarea { box-sizing:border-box; width:100%; min-width:0; padding:11px 12px; border:1px solid #49443a; border-radius:7px; background:#0d0d0d; color:#f5f0e6; font:inherit; color-scheme:dark; }
#training-onboarding-form select { min-height:42px; }
#training-onboarding-form input:focus,
#training-onboarding-form select:focus,
#training-onboarding-form textarea:focus { outline:2px solid rgba(201,166,91,.7); outline-offset:1px; }
#training-onboarding-form fieldset { box-sizing:border-box; min-width:0; }
.equipment-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items:start; gap:8px; min-width:0; }
.equipment-grid label { display:grid; grid-template-columns:16px minmax(0,1fr); align-items:start; gap:8px; min-width:0; padding:9px 10px; border:1px solid #38342b; border-radius:7px; background:#171717; color:#e7e0d4; font-size:.84rem; line-height:1.4; overflow-wrap:anywhere; }
.equipment-grid input[type="checkbox"] { box-sizing:border-box; width:16px; height:16px; flex:none; margin:2px 0 0; padding:0; accent-color:#c8a45c; }
.movement-support-checklist { margin: 16px 0; }
.movement-support-checklist > p { margin: 0 0 10px; }
.client-schedule-card { margin:18px 0; }
.client-schedule-card > .list-heading { margin-bottom:12px; }
.client-week-schedule { margin-top:21px; }
.client-week-schedule > .list-heading { margin-bottom:10px; }
#client-week-schedule-list { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); align-items:stretch; gap:8px; }
.schedule-day { display:flex; flex-direction:column; gap:10px; min-width:0; min-height:138px; padding:10px; border:1px solid var(--line,#38342b); border-radius:8px; background:#121212; }
.schedule-day.is-today { border-color:rgba(201,166,91,.8); background:linear-gradient(160deg,#211b10,#141414 70%); }
.schedule-day-heading { display:grid; grid-template-columns:1fr auto; align-items:baseline; gap:1px 5px; font-size:.8rem; }
.schedule-day-heading > span { color:var(--muted,#aaa); text-transform:uppercase; font-size:.68rem; letter-spacing:.08em; }
.schedule-day-heading > strong { text-align:right; font-size:.74rem; white-space:nowrap; }
.schedule-day-heading > small { grid-column:1 / -1; color:var(--gold2,#d4af62); font-size:.65rem; }
.schedule-day-activity { display:grid; gap:3px; min-width:0; margin-top:auto; }
.schedule-day-activity > span { color:var(--gold2,#d4af62); font-size:.62rem; font-weight:700; letter-spacing:.08em; }
.schedule-day-activity.is-recovery > span { color:#a9b69e; }
.schedule-day-activity.is-rest > span,.schedule-day-activity small { color:var(--muted,#aaa); }
.schedule-day-activity strong { min-width:0; font-size:.76rem; line-height:1.35; overflow-wrap:anywhere; }
.schedule-day-activity small { font-size:.66rem; }
.schedule-move-details { margin-top:auto; border-top:1px solid #302d27; padding-top:6px; }
.schedule-move-details summary { color:var(--gold2,#d4af62); font-size:.68rem; cursor:pointer; }
.schedule-move-control { display:grid; gap:6px; margin-top:7px; }
.schedule-move-control label { display:grid; gap:3px; min-width:0; font-size:.66rem; }
.schedule-move-control select { box-sizing:border-box; width:100%; min-width:0; padding:6px 4px; border:1px solid var(--line,#38342b); border-radius:5px; color:#eee; background:#0d0d0d; font:inherit; font-size:.66rem; }
.schedule-move-control button { width:100%; padding:6px 8px; font-size:.68rem; }
.schedule-today-date { margin:0 0 9px; color:var(--muted,#aaa); font-size:.86rem; }
.schedule-today-feature { display:flex; align-items:center; justify-content:space-between; gap:18px; min-width:0; padding:21px; border:1px solid #5a492d; border-radius:9px; background:linear-gradient(115deg,#211b10,#151515 68%); }
.schedule-today-feature.is-recovery { border-color:#3f493b; background:linear-gradient(115deg,#1a2018,#151515 68%); }
.schedule-today-feature.is-rest { border-color:var(--line,#38342b); background:#151515; }
.schedule-today-copy { display:grid; gap:6px; min-width:0; }
.schedule-activity-kind { color:var(--gold2,#d4af62); font-size:.7rem; font-weight:700; letter-spacing:.13em; }
.schedule-today-feature.is-recovery .schedule-activity-kind { color:#a9b69e; }
.schedule-today-copy h4 { margin:0; font-size:1.18rem; overflow-wrap:anywhere; }
.schedule-today-copy p { margin:0; color:var(--muted,#aaa); font-size:.86rem; }
.schedule-today-feature > button { flex:0 0 auto; }
.today-checkin { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:11px; padding:13px 15px; border:1px solid var(--line,#38342b); border-radius:8px; background:#141414; }
.today-checkin > div { display:grid; gap:3px; min-width:0; }
.today-checkin.is-due { border-color:rgba(201,166,91,.55); background:rgba(201,166,91,.06); }
.today-checkin strong { font-size:.88rem; }
.today-checkin small { color:var(--muted,#aaa); font-size:.75rem; }
.schedule-change-note { margin-top:10px; }
@media(max-width:900px) { #client-week-schedule-list { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(max-width:700px) { .schedule-day { min-height:130px; } .schedule-today-feature { align-items:flex-start; } .today-checkin { align-items:flex-start; } }
@media(max-width:520px) { #client-week-schedule-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; } .schedule-day { min-height:122px; padding:9px; } .schedule-today-feature { flex-direction:column; gap:14px; padding:17px; } .schedule-today-feature > button { width:100%; } .today-checkin { flex-direction:column; } }
.equipment-grid label, .consent-line { font-weight: 500; }
.consent-line { display:flex; align-items:flex-start; gap:.55rem; }
.consent-line input { width:16px; height:16px; margin-top:.2rem; flex:0 0 auto; accent-color:#c8a45c; }
.training-safety-disclaimer { margin: 1rem 0; padding: 1rem; border-radius: 10px; }
.training-safety-disclaimer p { margin-bottom: 0; }
.training-request-item { border: 1px solid var(--line, #d8d2c7); border-radius: 12px; padding: 1rem; margin-top: 1rem; }
.training-request-item h4 { margin: 0; }
.training-request-item p { overflow-wrap: anywhere; }
.training-request-item .count { max-width: 50%; white-space: normal; text-align: right; }
.training-review-notes { width: 100%; }
@media (max-width: 700px) { .equipment-grid { grid-template-columns:1fr; } #training-onboarding-form .two { grid-template-columns:1fr; } .training-request-item .list-heading { align-items:flex-start; gap:.5rem; } }

/* Workout builder: exercise library and last-weight reference */
.exercise-library-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin:10px 0 18px}
.library-exercise{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border:1px solid var(--border-color,#3a352d);border-radius:8px;background:var(--surface,#171614)}
.library-exercise p{margin:4px 0 0}
.last-weight-reference{display:block;color:var(--gold,#c9a65b);font-weight:600;margin-top:4px}
.exercise-info small{display:block;margin-top:4px}
.exercise-info a{color:var(--gold,#c9a65b)}

/* Client workout completion and set-by-set performance logging */
.client-workout-log-form{display:grid;gap:14px;margin-top:14px}
.client-log-exercise{align-items:flex-start}
.client-log-exercise-content{min-width:0;flex:1}
.client-set-log{margin-top:12px;border:1px solid var(--border-color,#3a352d);border-radius:8px;overflow:hidden}
.client-set-log-heading,.client-set-log-row{display:grid;grid-template-columns:42px minmax(66px,.8fr) minmax(84px,1fr) minmax(66px,.8fr);gap:8px;align-items:center;padding:8px 10px}
.client-set-log-heading{font-size:.8rem;color:var(--gold,#c9a65b);font-weight:700;background:rgba(201,166,91,.07)}
.client-set-log-row+ .client-set-log-row{border-top:1px solid var(--border-color,#3a352d)}
.client-set-log-row input{width:100%;min-width:0;margin:0}
.client-set-last-weight{font-size:.86rem;color:var(--text-muted,#b8b3aa);white-space:nowrap}
.client-workout-history{margin-top:18px;padding-top:12px;border-top:1px solid var(--border-color,#3a352d)}
.client-workout-history p{font-size:.9rem;margin:6px 0}
@media(max-width:480px){.client-set-log-heading,.client-set-log-row{grid-template-columns:24px minmax(46px,.72fr) minmax(66px,1fr) minmax(46px,.72fr);gap:5px;padding:7px}.client-set-log-row input{font-size:16px}.client-set-last-weight{font-size:.76rem}}

/* Coach-side workout performance dashboard */
.workout-performance-dashboard{display:grid;gap:16px;margin:12px 0 20px}
.workout-performance-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:10px}
.workout-performance-summary>article{display:flex;flex-direction:column;gap:7px;padding:13px;border:1px solid var(--border-color,#3a352d);border-radius:9px;background:var(--surface,#171614)}
.workout-performance-summary strong{font-size:1.45rem;color:var(--gold,#c9a65b)}
.workout-performance-subsection h5{margin:8px 0 10px}
.workout-performance-exercises{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}
.workout-performance-exercise,.workout-performance-session,.workout-performance-empty{padding:13px;border:1px solid var(--border-color,#3a352d);border-radius:9px;background:var(--surface,#171614)}
.workout-performance-exercise p,.workout-performance-session p{margin:6px 0}
.workout-performance-metric{font-size:1.25rem;font-weight:700;color:var(--gold,#c9a65b)}
.workout-performance-sessions{display:grid;gap:10px}
.workout-performance-session-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.workout-performance-session details{margin-top:10px;border-top:1px solid var(--border-color,#3a352d);padding-top:8px}
.workout-performance-session summary{cursor:pointer;color:var(--gold,#c9a65b);font-weight:600}
.workout-performance-result{padding:8px 0;border-bottom:1px solid var(--border-color,#3a352d)}
.workout-performance-result:last-child{border-bottom:0}
.workout-performance-result p{overflow-wrap:anywhere}
.workout-performance-empty p{margin-bottom:0}

/* Gold wellness icons on client check-in rating tiles */
.client-rating-row{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px}
.client-rating-icon{display:flex;align-items:center;justify-content:center;color:var(--gold,#c9a65b);width:42px;height:42px}
.client-rating-icon svg{display:block;width:100%;height:100%;filter:drop-shadow(0 0 2px rgba(201,166,91,.12))}
.client-rating-content{min-width:0}
.client-rating-content .list-heading{gap:8px}
@media(max-width:540px){.client-rating-row{grid-template-columns:34px minmax(0,1fr);gap:8px}.client-rating-icon{width:32px;height:32px}}

/* Gold exercise progression chart */
.progress-chart-select-label{display:block;max-width:420px;margin:10px 0}
.progress-chart-select-label select{display:block;width:100%;margin-top:6px}
.progress-chart-header{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:12px 0}
.progress-chart-header strong,.progress-chart-single strong{font-size:1.4rem;color:var(--gold,#c9a65b)}
.progress-chart-scroll{width:100%;overflow-x:auto;border:1px solid var(--border-color,#3a352d);border-radius:9px;background:rgba(0,0,0,.08)}
.workout-progress-chart{display:block;width:100%;min-width:420px;height:auto;color:var(--text-color,currentColor)}
.progress-chart-single{padding:12px;border:1px solid var(--border-color,#3a352d);border-radius:8px}

.client-workout-save-confirmation {
  margin: 1rem 0;
  padding: 0.8rem 1rem;
  border: 1px solid rgba(211, 171, 83, 0.55);
  border-radius: 6px;
  color: var(--gold, #d3ab53);
  background: rgba(211, 171, 83, 0.07);
  font-size: 0.9rem;
}
\n/* Ensure hidden workout forms stay hidden even when component styles set display:grid. */\n[hidden]{display:none!important}\n

/* Founding-member launch offer */
.launch-intro-price { font-size: 1.2em; color: #c9a45c; }
.launch-renewal-price { margin: -0.35rem 0 0.5rem; font-weight: 700; }
.launch-offer-deadline { font-size: 0.9rem; opacity: 0.82; margin: 0.25rem 0 1rem; }


/* Standalone cookbook tile — independent of existing home and membership sections. */
.cookbook-tile-section{max-width:1100px;margin:28px auto 36px;padding:0 clamp(16px,3vw,28px)}
.cookbook-standalone-tile{margin:0;box-shadow:0 12px 32px rgba(0,0,0,.18)}
.cookbook-tile-section .cookbook-home-art{background-image:linear-gradient(0deg,rgba(0,0,0,.12),rgba(0,0,0,.12)),url('assets/assignment-thumbnails/nutrition-meal.jpg')}
.cookbook-library{position:fixed;inset:0;z-index:12000;background:rgba(0,0,0,.86);padding:clamp(10px,3vw,28px);overflow:auto}
.cookbook-library:not(.hidden){display:block}
.cookbook-library-panel{max-width:1100px;margin:0 auto;padding:clamp(16px,3vw,30px);border:1px solid rgba(201,166,94,.4);border-radius:20px;background:var(--bg,#111);min-height:80vh}
.cookbook-library-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.cookbook-library-header h2{margin:.15rem 0}
.cookbook-library-tools{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin:20px 0 10px}.cookbook-library-tools input,.cookbook-library-tools select{width:100%;min-width:0}
.cookbook-recipe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.cookbook-recipe-card{border:1px solid var(--border,rgba(255,255,255,.14));border-radius:14px;padding:16px;background:rgba(255,255,255,.025);display:flex;flex-direction:column;gap:9px}
.cookbook-recipe-card h3{margin:0;font-size:1.05rem}.cookbook-recipe-card details{border-top:1px solid rgba(255,255,255,.1);padding-top:8px}.cookbook-recipe-card summary{cursor:pointer;color:var(--accent,#d2b477);font-weight:600}
.cookbook-recipe-card ul,.cookbook-recipe-card ol{padding-left:20px}.cookbook-recipe-card li{margin:5px 0}.cookbook-macros{display:flex;flex-wrap:wrap;gap:8px;font-size:.83rem}.cookbook-macros span{padding:5px 8px;border-radius:20px;background:rgba(201,166,94,.12)}
.cookbook-draft-note{margin-top:22px;padding:12px;border-left:3px solid #c6a363;background:rgba(198,163,99,.08);font-size:.86rem;color:var(--muted,#aaa)}
@media(max-width:700px){.cookbook-standalone-tile{grid-template-columns:1fr}.cookbook-standalone-tile .cookbook-home-art{min-height:150px;grid-row:1}.cookbook-recipe-grid,.cookbook-library-tools{grid-template-columns:1fr}}
.dietary-requirements-panel{margin-top:1.5rem;padding-top:1rem;border-top:1px solid rgba(185,146,72,.3)}
.dietary-choice-group{border:0;padding:0;margin:1rem 0}
.dietary-choice-group legend{font-weight:700;margin-bottom:.65rem}
.dietary-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:.5rem}
.dietary-choice{display:flex;align-items:center;gap:.55rem;padding:.55rem .7rem;border:1px solid rgba(185,146,72,.28);border-radius:8px;background:rgba(255,255,255,.035);cursor:pointer}
.dietary-choice input{accent-color:#c8a45c}
.dietary-choice span{font-size:.93rem}

/* Keep dietary multi-select cards aligned despite the app-wide label/input rules. */
.dietary-choice-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));align-items:stretch}
.dietary-choice{display:flex!important;align-items:center;justify-content:flex-start;gap:.7rem;min-height:54px;min-width:0}
.dietary-choice input[type=checkbox]{flex:0 0 16px;width:16px!important;height:16px;margin:0;padding:0;accent-color:#c8a45c}
.dietary-choice span{flex:1;min-width:0;text-align:left;line-height:1.3}
@media(max-width:480px){.dietary-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.mm-saved-plan-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:600px){.mm-saved-plan-actions{width:100%;justify-content:flex-start}}
.client-onboarding-status{display:grid;gap:10px;margin-block:16px}
.client-onboarding-connected{margin:0;padding:12px 14px;border-left:3px solid var(--gold);background:rgba(198,161,91,.08)}
.client-onboarding-step{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}
.client-onboarding-step strong{display:block}
.client-onboarding-step p{margin:4px 0 0;color:var(--muted);font-size:.9rem}
.client-onboarding-state{padding:5px 9px;border-radius:999px;background:rgba(198,161,91,.12);color:var(--gold2);font-size:.78rem;white-space:nowrap}
.client-invite-claim-form{max-width:520px}
.coach-client-invite{margin:16px 0;padding:16px;border:1px solid var(--line);border-radius:10px;background:rgba(198,161,91,.045)}
.coach-client-invite h4{margin:0}
.coach-client-invite .actions{margin:12px 0}
.client-invite-code{display:block;max-width:100%;overflow-wrap:anywhere;padding:12px;border:1px dashed var(--gold);border-radius:6px;color:var(--gold2);font-size:1rem;user-select:all}
@media(max-width:680px){.client-onboarding-step{grid-template-columns:minmax(0,1fr) auto}.client-onboarding-step button{grid-column:1/-1;justify-self:start}.client-onboarding-state{justify-self:end}}

.nutrition-demo-tools[hidden]{display:none!important}
.nutrition-hub-intro{max-width:760px;margin:0 0 16px}
.nutrition-hub #mm-nutrition-onboarding,.nutrition-hub #mm-client-assigned-nutrition{margin:14px 0;padding:clamp(16px,2.5vw,24px)}
.assigned-nutrition-day{margin:18px 0;padding:16px;border:1px solid var(--border-color,#3a352d);border-radius:10px;background:rgba(255,255,255,.015)}
.assigned-nutrition-day>h4{margin:0 0 12px;color:var(--gold,#c9a65b)}
.assigned-nutrition-meal{margin:10px 0;padding:14px;border:1px solid var(--border-color,#3a352d);border-radius:8px;background:var(--surface,#171614)}
.assigned-nutrition-meal h5{margin:0 0 8px;font-size:1rem}
.assigned-nutrition-meal ul{margin:0 0 10px;padding-left:22px}
.assigned-nutrition-meal li{padding:3px 0;color:var(--text,#f3eee4)}
.nutrition-meal-change-section{margin-top:22px;padding-top:16px;border-top:1px solid var(--border-color,#3a352d)}
.nutrition-meal-change-request{margin:8px 0;padding:12px;border:1px solid var(--border-color,#3a352d);border-radius:8px}
.nutrition-meal-change-request p{margin:6px 0}
.nutrition-meal-review-card{margin:12px 0}
