.nutrition-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; }
.nutrition-heading h1 { margin:5px 0; font-size:clamp(30px,4vw,42px); letter-spacing:-.055em; }
.nutrition-heading p { margin:6px 0 0; color:var(--muted); font-size:13px; }
.nutrition-back { display:inline-flex; margin-bottom:13px; color:var(--accent); font-size:11px; font-weight:800; }
.nutrition-notice { display:flex; align-items:flex-start; gap:12px; margin:15px 0; padding:14px 16px; border:1px solid #d9ebcf; border-radius:14px; background:#f5faef; color:#697953; }
.nutrition-notice>span { flex:0 0 auto; font-size:19px; }
.nutrition-notice p { margin:0; font-size:11px; line-height:1.65; }
.nutrition-student-list { display:grid; gap:10px; }
.nutrition-student-card { display:flex; align-items:center; gap:14px; padding:17px; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:var(--shadow); }
.nutrition-student-avatar { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; border-radius:15px; background:#e8f6ed; color:#287454; font-size:17px; font-weight:900; }
.nutrition-student-copy { min-width:0; flex:1; }
.nutrition-student-copy .eyebrow { font-size:8px; }
.nutrition-student-copy h2 { margin:3px 0; font-size:16px; letter-spacing:-.03em; }
.nutrition-student-copy p { margin:0; overflow-wrap:anywhere; color:var(--muted); font-size:10px; }
.nutrition-student-status { display:grid; justify-items:start; gap:4px; min-width:132px; }
.nutrition-status { display:inline-flex; align-items:center; padding:7px 10px; border-radius:999px; font-size:9px; font-weight:850; white-space:nowrap; }
.nutrition-status.active { background:#e7f6eb; color:#267754; }
.nutrition-status.empty { background:#f0f3f4; color:#7a8690; }
.nutrition-student-status small { color:#87929a; font-size:9px; }
.nutrition-empty { display:grid; justify-items:center; padding:50px 22px; border:1px dashed #cddfda; border-radius:18px; background:linear-gradient(135deg,#f4faf6,#fff); text-align:center; }
.nutrition-empty>span { display:grid; place-items:center; width:55px; height:55px; border-radius:18px; background:#e9f6ee; font-size:27px; }
.nutrition-empty h2 { margin:14px 0 5px; font-size:20px; letter-spacing:-.04em; }
.nutrition-empty p { max-width:520px; margin:0; color:var(--muted); font-size:12px; line-height:1.65; }
.nutrition-editor { padding:22px; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:var(--shadow); }
.nutrition-editor-heading { display:flex; justify-content:space-between; gap:14px; align-items:center; margin-bottom:18px; }
.nutrition-editor-heading .eyebrow { font-size:9px; }
.nutrition-editor-heading h2 { margin:4px 0; font-size:21px; letter-spacing:-.04em; }
.nutrition-editor-heading p { margin:0; color:var(--muted); font-size:11px; }
.nutrition-editor-mark { display:grid; place-items:center; flex:0 0 48px; width:48px; height:48px; border-radius:16px; background:#e8f6ed; font-size:23px; }
.nutrition-title-field,.nutrition-meal-field,.nutrition-guidance-field { display:grid; gap:7px; color:#43545a; font-size:11px; font-weight:800; }
.nutrition-title-field { max-width:580px; margin-bottom:16px; }
.nutrition-editor input,.nutrition-editor textarea { width:100%; min-width:0; padding:11px 12px; border:1px solid #dfe8e4; border-radius:11px; outline:0; background:#fff; color:var(--ink); font:inherit; font-size:12px; line-height:1.55; }
.nutrition-editor input:focus,.nutrition-editor textarea:focus { border-color:#78c19d; box-shadow:0 0 0 3px rgba(61,145,105,.12); }
.nutrition-meal-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.nutrition-meal-field { padding:13px; border:1px solid #e4ece7; border-radius:14px; background:#fbfdfb; }
.nutrition-meal-field textarea { resize:vertical; min-height:106px; }
.nutrition-meal-label { display:flex; align-items:center; gap:8px; font-size:13px; }
.nutrition-meal-label>span { font-size:17px; }
.nutrition-meal-field small,.nutrition-guidance-field>small { color:#87929a; font-size:9px; font-weight:500; }
.nutrition-guidance-field { margin-top:14px; }
.nutrition-guidance-field textarea { resize:vertical; }
.nutrition-editor-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:17px; }
.nutrition-version-button { border-color:#dce7e2; background:#f7faf8; color:#39725a; }
.nutrition-version-note { margin:10px 0 0; color:#7d8988; font-size:10px; }
.nutrition-plan-banner { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:22px 24px; border-radius:18px; background:linear-gradient(115deg,#194d3a,#378b68); color:#fff; box-shadow:0 14px 32px rgba(38,114,79,.14); }
.nutrition-plan-banner .eyebrow { color:#c7efda; font-size:9px; }
.nutrition-plan-banner h2 { margin:4px 0; font-size:24px; letter-spacing:-.04em; }
.nutrition-plan-banner p { margin:0; color:#e1f5e9; font-size:11px; }
.nutrition-banner-icon { font-size:35px; opacity:.9; }
.nutrition-guidance { margin:12px 0; padding:14px 16px; border-left:3px solid #72b791; border-radius:0 12px 12px 0; background:#f3f9f5; color:#4d6d5c; }
.nutrition-guidance b { font-size:11px; }
.nutrition-guidance p { margin:5px 0 0; font-size:11px; line-height:1.6; white-space:pre-wrap; }
.nutrition-meal-view { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:13px; }
.nutrition-meal-card { display:flex; align-items:flex-start; gap:12px; min-height:120px; padding:17px; border:1px solid var(--line); border-radius:15px; background:#fff; box-shadow:var(--shadow); }
.nutrition-meal-icon { display:grid; place-items:center; flex:0 0 37px; width:37px; height:37px; border-radius:12px; background:#f0f7e9; font-size:18px; }
.nutrition-meal-card .eyebrow { color:#62816f; font-size:8px; }
.nutrition-meal-card p { margin:6px 0 0; color:#43545a; font-size:12px; line-height:1.6; white-space:pre-wrap; overflow-wrap:anywhere; }
.nutrition-history { margin-top:14px; padding:15px 17px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.nutrition-history>summary { display:flex; justify-content:space-between; cursor:pointer; color:#3b5c4a; font-size:12px; font-weight:850; list-style:none; }
.nutrition-history>summary::-webkit-details-marker { display:none; }
.nutrition-history>summary span { display:grid; place-items:center; min-width:22px; padding:3px 7px; border-radius:999px; background:#edf5ef; font-size:10px; }
.nutrition-history-plan { display:grid; gap:8px; padding:13px 0; border-top:1px solid #edf0ee; }
.nutrition-history-plan:first-of-type { margin-top:12px; }
.nutrition-history-plan>div:first-child b,.nutrition-history-plan>div:first-child small { display:block; }
.nutrition-history-plan>div:first-child b { font-size:12px; }
.nutrition-history-plan>div:first-child small { margin-top:3px; color:#89938f; font-size:9px; }
.nutrition-history-plan details>summary { cursor:pointer; color:var(--accent); font-size:10px; font-weight:800; }
.nutrition-history-meals { padding:5px 0; }
.nutrition-history-meals p { margin:7px 0; color:#596964; font-size:10px; line-height:1.6; white-space:pre-wrap; }
.member-nutrition-notice { margin-top:14px; }
.member-nutrition-empty { margin:20px 0; }
.sr-only { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
.nutrition-connect-card { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,1.1fr); align-items:center; gap:20px; margin:14px 0; padding:20px; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:var(--shadow); }
.nutrition-connect-card .eyebrow { font-size:9px; }
.nutrition-connect-card h2 { margin:5px 0; font-size:19px; letter-spacing:-.04em; }
.nutrition-connect-card p { margin:0; color:var(--muted); font-size:11px; line-height:1.55; }
.nutrition-connect-form { display:flex; gap:9px; }
.nutrition-connect-form input { width:100%; min-width:0; padding:12px; border:1px solid #dfe8e4; border-radius:11px; color:var(--ink); font:inherit; font-size:12px; letter-spacing:.04em; }
.nutrition-connect-form .button { flex:0 0 auto; }
.nutrition-student-actions { display:flex; gap:7px; }
.nutrition-student-actions .button { white-space:nowrap; }
.student-share-card { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:10px 20px; margin:16px 0; padding:20px; border:1px solid #cfe8d8; border-radius:18px; background:linear-gradient(125deg,#f5fbf6,#fff 70%); box-shadow:var(--shadow); }
.student-share-copy h2 { margin:4px 0; font-size:18px; letter-spacing:-.04em; }
.student-share-copy p { max-width:590px; margin:0; color:var(--muted); font-size:11px; line-height:1.55; }
.student-share-code-row { display:flex; align-items:center; gap:9px; }
.student-share-code-row code { padding:11px 13px; border:1px dashed #91c8a7; border-radius:11px; background:#fff; color:#176144; font-size:clamp(13px,2vw,17px); font-weight:900; letter-spacing:.08em; white-space:nowrap; }
.student-share-status { grid-column:1; margin:0; color:#718079; font-size:10px; }
.student-share-card>form { grid-column:2; grid-row:2; justify-self:end; }
.share-reset-button { padding:8px 11px; border-color:#f0d4cc; background:#fff8f6; color:#a65042; font-size:10px; }
.nutrition-week-editor,.nutrition-week-view { display:grid; gap:9px; }
.nutrition-day-editor,.nutrition-day-view { overflow:hidden; border:1px solid #e1ebe5; border-radius:14px; background:#fbfdfb; }
.nutrition-day-editor>summary,.nutrition-day-view>summary { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:14px 16px; cursor:pointer; color:#2e5943; font-size:13px; font-weight:850; list-style:none; }
.nutrition-day-editor>summary::-webkit-details-marker,.nutrition-day-view>summary::-webkit-details-marker { display:none; }
.nutrition-day-editor>summary::after,.nutrition-day-view>summary::after { content:'＋'; color:#619475; font-size:16px; }
.nutrition-day-editor[open]>summary::after,.nutrition-day-view[open]>summary::after { content:'−'; }
.nutrition-day-editor>summary small,.nutrition-day-view>summary small { margin-left:auto; color:#89968e; font-size:10px; font-weight:650; }
.nutrition-day-editor[open]>summary,.nutrition-day-view[open]>summary { border-bottom:1px solid #e6eee9; background:#f3f8f4; }
.nutrition-day-editor .nutrition-meal-grid,.nutrition-day-view .nutrition-meal-view { padding:12px; }
.nutrition-day-view { background:#fff; box-shadow:var(--shadow); }
.nutrition-day-view .nutrition-meal-view { margin-top:0; }
.nutrition-day-view .nutrition-meal-card { box-shadow:none; }
.nutrition-history-meals>details { margin:8px 0; padding:9px 11px; border-radius:10px; background:#f7faf8; }
.professional-current-workout { margin-top:16px; padding:20px; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:var(--shadow); }
.professional-current-workout>header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:13px; }
.professional-current-workout>header h2 { margin:4px 0; font-size:20px; }
.professional-workout-day { display:grid; gap:8px; margin-top:10px; }
.professional-workout-day>h3 { margin:0; padding:10px 12px; border-radius:10px; background:#f2f8f3; color:#2e5943; font-size:12px; }
.professional-exercise-edit { padding:0 12px; border:1px solid #e5ece8; border-radius:12px; background:#fff; }
.professional-exercise-edit>summary { display:flex; justify-content:space-between; align-items:center; gap:10px; min-height:45px; cursor:pointer; list-style:none; }
.professional-exercise-edit>summary::-webkit-details-marker { display:none; }
.professional-exercise-edit>summary span { font-size:11px; font-weight:800; }
.professional-exercise-edit>summary small { color:#718078; font-size:10px; white-space:nowrap; }
.professional-exercise-form { display:grid; gap:10px; padding:3px 0 12px; }
.professional-exercise-form label { display:grid; gap:5px; color:#43545a; font-size:10px; font-weight:800; }
.professional-exercise-form select,.professional-exercise-form input { width:100%; min-width:0; padding:9px; border:1px solid #dfe8e4; border-radius:9px; background:#fff; color:var(--ink); font:inherit; font-size:11px; }
.professional-exercise-number-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.professional-exercise-form .button { justify-self:start; }
.professional-plan-history { margin-top:14px; }

@media (max-width:800px) {
  .nutrition-student-card { flex-wrap:wrap; }
  .nutrition-student-status { margin-left:58px; min-width:0; flex:1; }
  .nutrition-student-actions { width:100%; display:grid; grid-template-columns:1fr 1fr; margin-left:58px; }
  .nutrition-student-actions .button { width:100%; }
  .nutrition-connect-card { grid-template-columns:1fr; }
  .student-share-card { grid-template-columns:1fr; }
  .student-share-code-row { grid-row:2; justify-content:space-between; }
  .student-share-status { grid-row:3; }
  .student-share-card>form { grid-column:1; grid-row:4; justify-self:stretch; }
  .student-share-card>form .button { width:100%; }
}
@media (max-width:700px) {
  .nutrition-heading { align-items:flex-start; flex-direction:column; gap:10px; }
  .nutrition-heading h1 { font-size:31px; }
  .nutrition-heading p { font-size:11px; }
  .nutrition-connect-card { padding:15px; }
  .nutrition-connect-card h2 { font-size:17px; }
  .nutrition-connect-form { display:grid; grid-template-columns:1fr; }
  .nutrition-connect-form .button { width:100%; }
  .nutrition-notice { padding:12px; gap:9px; }
  .nutrition-notice p { font-size:10px; }
  .nutrition-editor { padding:15px; border-radius:15px; }
  .nutrition-editor-heading h2 { font-size:19px; }
  .nutrition-editor-heading p { max-width:270px; line-height:1.5; }
  .nutrition-meal-grid,.nutrition-meal-view { grid-template-columns:1fr; }
  .nutrition-meal-card { min-height:0; padding:14px; }
  .nutrition-meal-card p { font-size:12px; }
  .nutrition-editor-actions { display:grid; grid-template-columns:1fr; }
  .nutrition-editor-actions .button { width:100%; }
  .nutrition-plan-banner { padding:17px; }
  .nutrition-plan-banner h2 { font-size:20px; }
  .student-share-card { padding:15px; }
  .student-share-code-row { align-items:stretch; flex-direction:column; }
  .student-share-code-row code { text-align:center; font-size:14px; }
  .student-share-code-row .button { width:100%; }
  .nutrition-day-editor>summary,.nutrition-day-view>summary { padding:13px; }
  .nutrition-day-editor .nutrition-meal-grid,.nutrition-day-view .nutrition-meal-view { padding:9px; }
  .professional-current-workout { padding:14px; }
  .professional-exercise-edit { padding:0 10px; }
  .professional-exercise-edit>summary { align-items:flex-start; flex-direction:column; justify-content:center; gap:3px; padding:9px 0; }
  .professional-exercise-number-fields { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
  .professional-exercise-number-fields label { font-size:9px; }
  .professional-exercise-number-fields input { padding:8px 6px; }
}
