/* v25 guided UX */
.next-action-card{border-color:#6b5b00;background:linear-gradient(180deg,#1d1a10,#171719)}
.next-action-kicker{color:var(--yellow);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.next-action-card h2{margin:7px 0 5px}
.next-action-card .primary-wide{width:100%;margin-top:14px;font-size:17px}
.today-mini-status{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}
.today-mini-status>div{background:#121214;border:1px solid var(--line);border-radius:13px;padding:11px}
.today-mini-status span{display:block;color:var(--muted);font-size:12px}.today-mini-status strong{display:block;margin-top:4px}
.trainer-stat.actionable{cursor:pointer;transition:.15s}.trainer-stat.actionable:hover{border-color:#777}.trainer-stat.active-filter{border-color:var(--yellow)!important;background:#2a2410!important}
.trainer-queue-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:18px 0 10px}
.client-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.client-card-actions button{position:relative;z-index:2}
.work-status{font-weight:900}
.work-status.review{color:#ffe58a}.work-status.live{color:#baf3c9}.work-status.idle{color:var(--muted)}
.finish-summary .summary-number{font-size:34px;font-weight:900}
.finish-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:16px 0}
.finish-summary-grid>div{background:#121214;border:1px solid var(--line);border-radius:14px;padding:14px}
.review-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.review-actions button{flex:1;min-width:180px}
.trainer-measure-summary-toggle{width:100%;text-align:left}
@media(max-width:700px){.today-mini-status{grid-template-columns:1fr}.client-card-actions{display:grid;grid-template-columns:1fr}.client-card-actions button{width:100%}}

.measurement-saving,.measurement-saved{background:#183522!important;border-color:#356646!important;color:#baf3c9!important;box-shadow:none!important}
.measurement-saved:disabled{opacity:1!important}
.measurement-delete{margin-top:12px!important;background:#35191b!important;border-color:#653034!important;color:#ffb7bb!important}

.measurement-delete{display:inline-flex!important;align-items:center;justify-content:center;margin-top:14px!important;padding:10px 14px!important;background:#35191b!important;border:1px solid #653034!important;color:#ffb7bb!important;border-radius:12px!important;font-weight:800!important}
.phone-notify-enable.push-enabled{background:#153e25!important;border-color:#2f7045!important;color:#baf3c9!important}

.measurement-history-card .measurement-delete{
 display:flex!important;width:100%!important;margin-top:16px!important;padding:12px 14px!important;
 background:#3a191c!important;border:1px solid #7a343a!important;color:#ffb9bd!important;
 border-radius:14px!important;font-size:15px!important;font-weight:800!important;
}

.measurement-history-card{position:relative}
.measurement-history-card .measurement-delete{
 position:absolute!important;top:0!important;right:0!important;
 display:flex!important;align-items:center!important;justify-content:center!important;
 width:38px!important;height:38px!important;min-width:38px!important;
 margin:0!important;padding:0!important;
 background:rgba(104,35,40,.16)!important;
 border:1px solid rgba(255,104,112,.34)!important;
 border-radius:11px!important;color:#e98b91!important;
 box-shadow:none!important;
}
.measurement-history-card .measurement-delete svg{
 width:18px!important;height:18px!important;fill:none!important;
 stroke:currentColor!important;stroke-width:1.8!important;
 stroke-linecap:round!important;stroke-linejoin:round!important;
}
.measurement-history-card .measurement-delete:active{
 background:rgba(104,35,40,.28)!important;
 transform:scale(.96);
}
.measurement-history-date{padding-right:50px}

/* v30 */
.measurement-history-card{padding-right:52px!important;min-height:48px}
.measurement-history-card .measurement-delete{top:2px!important;right:0!important;width:34px!important;height:34px!important;min-width:34px!important;border-radius:10px!important}
.measurement-history-card .measurement-delete svg{width:16px!important;height:16px!important}
.measurement-history-date{padding-right:0!important}

.today-done-card{border-color:#2d6d43!important;background:linear-gradient(180deg,#142119,#171719)!important}
.next-action-kicker.done{color:#66e58a!important}

/* v32 — launch splash */
.eplan-splash{
 position:fixed;inset:0;z-index:99999;background:#050506;
 display:flex;align-items:center;justify-content:center;
 opacity:1;visibility:visible;
 transition:opacity .24s ease,visibility .24s ease;
}
.eplan-splash.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.eplan-splash-logo{display:flex;align-items:center;height:64px}
.eplan-splash-e{
 color:#ffd000;font-size:58px;line-height:1;font-weight:900;
 opacity:0;transform:scale(.84);
 animation:eplanSplashE .30s cubic-bezier(.2,.8,.2,1) .04s forwards;
}
.eplan-splash-line{
 width:2px;height:0;margin:0 17px;background:rgba(255,255,255,.72);
 animation:eplanSplashLine .22s ease .30s forwards;
}
.eplan-splash-plan-wrap{overflow:hidden;display:block}
.eplan-splash-plan{
 display:block;color:#f5f5f7;font-size:31px;line-height:1;
 font-weight:400;letter-spacing:.13em;white-space:nowrap;
 opacity:0;transform:translateX(-108%);
 animation:eplanSplashPlan .38s cubic-bezier(.2,.8,.2,1) .48s forwards;
}
@keyframes eplanSplashE{to{opacity:1;transform:scale(1)}}
@keyframes eplanSplashLine{to{height:48px}}
@keyframes eplanSplashPlan{to{opacity:1;transform:translateX(0)}}
@media (prefers-reduced-motion:reduce){
 .eplan-splash-e,.eplan-splash-line,.eplan-splash-plan{animation-duration:.01ms!important;animation-delay:0s!important}
}

/* v33 — client training program */
.client-training-program>h2{margin-bottom:6px}
.client-program-days{display:grid;gap:10px;margin-top:18px}
.client-program-day{border:1px solid var(--line);border-radius:18px;background:#111113;overflow:hidden}
.client-program-day-head{
 width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;
 padding:17px 18px;background:transparent!important;border:0!important;color:var(--text)!important;
 text-align:left;box-shadow:none!important;
}
.client-program-day-head>span:first-child{display:flex;flex-direction:column;gap:4px}
.client-program-day-head strong{font-size:18px}
.client-program-day-head small{font-size:13px;color:var(--muted);font-weight:600}
.client-program-day-head .arrow{font-size:20px;color:var(--muted)}
.client-program-day-body{padding:0 14px 14px}
.client-program-exercise{padding:15px 4px;border-top:1px solid var(--line)}
.client-program-exercise-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:6px}
.client-program-exercise-top strong{font-size:16px;line-height:1.35}
.client-program-exercise .program-extra{margin-top:9px}
.client-program-exercise .tech-link{display:inline-block;margin-top:10px}

/* v34 — compact day selector for client training program */
.client-program-tabs{
 display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px
}
.client-program-tab{
 min-width:0;width:100%;padding:14px 12px;border-radius:15px;
 background:#29292f!important;color:var(--text)!important;border:1px solid var(--line)!important;
 box-shadow:none!important;font-weight:800
}
.client-program-tab.active{
 background:var(--yellow)!important;color:#111!important;border-color:var(--yellow)!important
}
.client-program-selected{
 margin-top:14px;border:1px solid var(--line);border-radius:18px;background:#111113;
 padding:0 16px 4px
}
.client-program-selected-title{
 display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 2px 13px
}
.client-program-selected-title strong{font-size:19px}
.client-program-selected-title span{font-size:13px;color:var(--muted);font-weight:600}
@media(max-width:390px){.client-program-tabs{gap:8px}.client-program-tab{padding:13px 9px}}

/* v36 — simplified client progress */
.progress-day-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}
.progress-day-btn{
 width:100%;min-width:0;padding:14px 10px;border-radius:15px;
 background:#29292f!important;color:var(--text)!important;border:1px solid var(--line)!important;
 box-shadow:none!important;font-weight:800
}
.progress-day-btn.active{background:var(--yellow)!important;color:#111!important;border-color:var(--yellow)!important}
.progress-selected-day{
 display:flex;align-items:center;justify-content:space-between;gap:12px;
 margin:16px 0 10px;padding:0 2px
}
.progress-selected-day strong{font-size:18px}
.progress-selected-day span{font-size:13px;color:var(--muted);font-weight:600}
.progress-day-hint{margin-top:14px}

.exercise-alternatives{margin-top:10px;padding:10px 12px;border:1px solid #3a3a41;border-radius:12px;background:#151519}.exercise-alternatives strong{font-size:12px;color:var(--muted)}.alternative-chip{display:inline-block;margin:6px 6px 0 0;padding:6px 9px;border-radius:999px;background:#26262c;font-size:12px}.swap-exercise-btn{margin-top:10px;padding:9px 12px!important;font-size:13px}.alternative-modal-list{display:grid;gap:9px;margin-top:16px}.alternative-modal-list button{text-align:left}.alternative-current{background:#18181b!important;border:1px solid #4a4a52!important;color:var(--text)!important;box-shadow:none!important}

/* v50 — training day titles + collapsed trainer program */
.program-day-header-row{display:flex;align-items:center;gap:10px}
.program-day-header-row .program-day-head{flex:1;min-width:0}
.program-day-heading{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.program-day-heading h2{margin:0}
.program-day-heading small{font-size:13px;color:var(--muted);font-weight:650}
.program-day-title-edit{width:40px!important;height:40px!important;min-width:40px!important;padding:0!important;border-radius:12px!important}
.client-program-selected-title>div:first-child{display:flex;flex-direction:column;gap:4px}
.client-program-day-title,.progress-day-title{display:block;margin-top:4px;font-size:13px;color:var(--muted);font-weight:650}
.progress-selected-day>div:first-child{display:flex;flex-direction:column}

/* v50 — minimalist password visibility icon */
.password-eye-icon{width:20px;height:20px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
button.password-eye-btn{display:inline-flex;align-items:center;justify-content:center}

/* v50 — alternative selector + clearer rest timer controls */
.rest-timer-choices button{
 border:1.5px solid #55565f!important;
 border-radius:14px!important;
 background:#18181b!important;
 box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)!important;
}
.rest-timer-choices button.selected{
 border:2px solid #5f9b70!important;
 background:#183522!important;
 box-shadow:0 0 0 2px rgba(95,155,112,.12)!important;
}

/* v50 — restore finish workout action */
.finish-workout-wrap{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.finish-workout-btn{width:100%;background:#2a2a30!important;color:var(--text)!important;border:1px solid #4a4a52!important}
.finish-workout-btn:active{transform:scale(.99)}

/* v50 — completion badge + visible finish workout CTA */
.exercise-done-badge{
 display:inline-block;
 white-space:nowrap;
 color:var(--yellow);
 font-weight:800;
 margin-left:8px;
}
.finish-workout-btn{
 width:100%;
 background:var(--yellow)!important;
 color:#090909!important;
 border:1px solid var(--yellow)!important;
 font-weight:850!important;
 box-shadow:0 0 0 1px rgba(255,212,0,.12),0 8px 24px rgba(0,0,0,.22)!important;
}
.finish-workout-btn:active{transform:scale(.99)}

/* v50 — exact trainer review target */
.trainer-calendar-review{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
button[data-action-loading="1"]{background:#29292e!important;color:#b8b8b8!important;box-shadow:none!important;opacity:1!important;cursor:wait!important}

.empty-state{padding:18px;border:1px dashed var(--line);border-radius:16px;background:var(--card2);color:var(--muted);line-height:1.45}
.empty-state strong{display:block;color:var(--text);margin-bottom:5px}


.password-field-wrap{position:relative}
.password-field-wrap input{padding-right:52px!important}
button.password-eye-btn{position:absolute!important;right:8px!important;top:50%!important;transform:translateY(-50%)!important;width:38px!important;height:38px!important;min-width:38px!important;padding:0!important;margin:0!important;border:0!important;outline:0!important;background:transparent!important;color:#a7a7ad!important;box-shadow:none!important;border-radius:0!important}
button.password-eye-btn:hover,button.password-eye-btn:focus,button.password-eye-btn:active{background:transparent!important;color:#f2f2f3!important;border:0!important;box-shadow:none!important;transform:translateY(-50%)!important}
button.password-eye-btn[data-eye-state="visible"]{background:transparent!important;color:#f2f2f3!important}

.trainer-superset-head{padding:12px 16px;background:#232116;border-bottom:1px solid #6b5b00;color:var(--yellow);font-weight:900;font-size:18px}
.exercise.program-block.superset-block{padding:0!important;border:1px solid #6b5b00!important;overflow:hidden!important}
.superset-block .trainer-superset-head{margin:0!important;border-radius:0!important}
.superset-block .superset-inner{margin:0 14px!important;padding:14px 0!important}
.superset-block .superset-inner:last-child{padding-bottom:16px!important}

/* V91 UX — separate technique action from completion state */
.exercise-meta-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:6px}
.exercise-meta-row .tech-link{margin-top:0}
.exercise-meta-row .exercise-done-badge{margin-left:auto}
@media(max-width:390px){.exercise-meta-row{gap:10px}.exercise-meta-row .exercise-done-badge{margin-left:0}}

/* V92 — exercise library muscle taxonomy */
.library-filter-card select,.library-edit-card select{width:100%}
.library-muscle-lines{margin-top:6px;font-size:13px;line-height:1.45;color:var(--muted)}
.library-muscle-lines span{color:var(--muted)}
.library-muscle-lines b{color:var(--text);font-weight:700}
.library-muscles-empty{margin-top:6px;font-size:13px;color:var(--muted)}
.library-muscle-picker{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.library-muscle-picker>div{background:var(--card2);border:1px solid var(--line);border-radius:14px;padding:12px}
.library-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:12px;row-gap:5px;margin-top:9px;max-height:190px;overflow:auto}
.library-check-grid label{display:flex;align-items:center;gap:6px;min-width:0;font-size:13px;line-height:1.25;cursor:pointer}
.library-check-grid label span{min-width:0;overflow-wrap:anywhere}
.library-check-grid input[type="checkbox"]{appearance:none;-webkit-appearance:none;flex:0 0 18px!important;width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;max-width:18px!important;max-height:18px!important;margin:0!important;padding:0!important;border:1px solid var(--muted);border-radius:3px;background:transparent;cursor:pointer;display:grid;place-content:center}
.library-check-grid input[type="checkbox"]:checked{background:var(--yellow);border-color:var(--yellow)}
.library-check-grid input[type="checkbox"]:checked::after{content:"✓";font-size:12px;font-weight:900;line-height:1;color:#111}
@media(max-width:900px){.library-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.library-muscles-admin{padding-top:14px}
.library-muscle-admin-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.library-muscle-admin-list>div{display:flex;align-items:center;gap:6px;padding:6px 6px 6px 11px;border:1px solid var(--line);border-radius:12px;background:var(--card2)}
.library-muscle-admin-list button.library-icon-btn{width:30px!important;height:30px!important;min-width:30px!important;border-radius:9px!important}
.library-add-exercise{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
@media(max-width:620px){.library-muscle-picker{grid-template-columns:1fr}.library-edit-card{max-height:90vh;overflow:auto}}

/* v61 — short light launch splash using the approved app icon */
.eplan-splash{
 background:#f7faff!important;
 transition:opacity .16s ease,visibility .16s ease!important;
}
.eplan-splash-app-icon{
 display:block;width:132px;height:132px;object-fit:cover;
 border-radius:29px;
 box-shadow:0 10px 30px rgba(16,32,68,.10);
 animation:eplanSplashIcon .22s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes eplanSplashIcon{
 from{opacity:0;transform:scale(.94)}
 to{opacity:1;transform:scale(1)}
}
@media (prefers-reduced-motion:reduce){
 .eplan-splash-app-icon{animation:none!important}
}


/* Integrated 1.2 calculator in main Nutrition */
.nutrition-calculator-modal{max-width:560px}
.nutrition-calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.nutrition-calc-grid label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700;color:#536174}
.nutrition-calc-grid label small{font-weight:500;color:#8a96a6}
.nutrition-calc-grid input,.nutrition-calc-grid select{width:100%;box-sizing:border-box;min-height:46px;border:1px solid #dce3ec;background:#fff;color:#172033;padding:0 12px;font:inherit;border-radius:10px}
.nutrition-calc-wide{grid-column:1/-1}
.nutrition-calc-button{width:100%;margin-top:16px;min-height:48px}
.nutrition-calc-result{margin-top:16px;padding:18px;border:1px solid #dce5f1;border-radius:14px;background:#f8fbff}
.nutrition-calc-kcal{display:block;margin-top:5px;font-size:28px;line-height:1.1;color:#172033}
.nutrition-calc-kcal small{font-size:13px;font-weight:600;color:#7b8797}
.nutrition-calc-macros{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}
.nutrition-calc-macros span{padding:10px 8px;text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px}
.nutrition-calc-macros b{font-size:19px;color:#172033}
.nutrition-calc-macros small{display:block;margin-top:3px;color:#7d8998}
.nutrition-calc-result p{margin:14px 0;color:#667487;font-size:12px;line-height:1.45}
.nutrition-calc-result button{width:100%}
.nutrition-calc-manual{margin-top:14px;border-top:1px solid #e4e9f0;padding-top:12px}
.nutrition-calc-manual summary{cursor:pointer;color:#647286;font-size:13px;font-weight:700}
.nutrition-calc-manual .grid{margin-top:12px}
@media(max-width:520px){.nutrition-calc-grid{grid-template-columns:1fr}.nutrition-calc-wide{grid-column:auto}.nutrition-calc-macros{gap:6px}.nutrition-calc-macros b{font-size:17px}}




/* Production food lookup (no overrides outside Nutrition). */
.food-lookup-modal{max-width:540px!important;width:min(540px,calc(100vw - 20px))!important;max-height:90dvh;overflow:auto;background:#fff!important;color:#23344c!important;border-radius:16px!important;padding:18px!important}
.food-lookup-modal h2{font-size:19px;margin:0;color:#23344c}
.food-lookup-modal .muted{font-size:12px}
.food-lookup-modal input{width:100%;min-height:44px;padding:9px 11px;background:#f8fbff!important;color:#23344c!important;border:1px solid #dce6f3!important;border-radius:9px!important}
.food-lookup-status,.food-lookup-note{font-size:12px;color:#7d8b9f;line-height:1.45;margin:11px 0}
.food-lookup-results{display:grid;gap:7px;max-height:40vh;overflow-y:auto}
.food-lookup-row{display:flex;flex-direction:column;gap:3px;min-height:0;width:100%;padding:10px 12px!important;text-align:left;color:#23344c!important;background:#f8fbff!important;border:1px solid #e1eaf5!important;border-radius:11px!important}
.food-lookup-row strong{font-size:13px;line-height:1.3}
.food-lookup-row small,.food-lookup-row span{font-size:11px;color:#79889c}
.food-lookup-row em{font-style:normal;font-size:11px;color:#336cae}
.food-lookup-portion{margin-top:14px;padding:12px;border:1px solid #dce8f6;border-radius:12px;background:#f5f9ff}
.food-lookup-portion>strong{font-size:14px}
.food-lookup-portion label{display:block;font-size:12px;margin:10px 0;color:#65748d}
.food-lookup-macros{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.food-lookup-macros span{display:flex;flex-direction:column;text-align:center;gap:3px;background:#fff;padding:7px 2px;border-radius:8px}
.food-lookup-macros b{font-size:17px;color:#27496e}
.food-lookup-macros small{font-size:10px;color:#8796aa}
@media(max-width:390px){.food-lookup-modal{padding:13px!important}.food-lookup-macros b{font-size:15px}}

/* Food search: approved local matches appear without waiting for external APIs. */
.food-lookup-more{width:100%;margin-top:12px;background:#eaf2ff!important;color:#2473ed!important;border:1px solid #d9e6fb!important;font-size:13px!important;padding:12px!important;border-radius:10px!important}
.food-lookup-more[hidden]{display:none!important}


/* Trainer nutrition goals + calculator: modern light-blue EPLAN styling.
   Scoped to this screen so legacy/global button rules cannot bleed in. */
body.eplan-redesign.trainer-ui .trainer-nutrition-target-card .trainer-nutrition-calc-launch{
  display:flex!important;align-items:center!important;justify-content:center!important;
  gap:9px!important;width:100%!important;min-height:46px!important;margin-top:14px!important;
  padding:10px 12px!important;border:1px solid #cfe1fb!important;border-radius:13px!important;
  background:#ecf4ff!important;color:#2477ed!important;font-size:13px!important;
  font-weight:800!important;box-shadow:none!important;line-height:1.3!important;
}
body.eplan-redesign.trainer-ui .trainer-nutrition-calc-launch .ui-icon{
  width:18px!important;height:18px!important;
}
body.eplan-redesign.trainer-ui .trainer-nutrition-current{
  margin:12px 0 0!important;color:#8492a7!important;font-size:11.5px!important;
  line-height:1.5!important;font-weight:600!important;
}
body.eplan-redesign.trainer-ui #trainerNutritionCalcModal{
  position:fixed!important;inset:0!important;z-index:1400!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  padding:max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom))!important;
  background:rgba(10,23,48,.52)!important;overscroll-behavior:contain!important;
}
body.eplan-redesign.trainer-ui #trainerNutritionCalcModal .trainer-nutrition-calc-card{
  width:100%!important;max-width:480px!important;min-width:0!important;
  max-height:calc(100dvh - 40px)!important;margin:0 auto!important;
  padding:0 18px 20px!important;overflow-y:auto!important;overflow-x:hidden!important;
  border:1px solid #dce6f3!important;border-radius:22px!important;
  background:#fff!important;color:#101f3d!important;
  box-shadow:0 16px 48px rgba(11,34,73,.18)!important;
  -webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;
  scrollbar-width:thin;
}
body.eplan-redesign.trainer-ui #trainerNutritionCalcModal .trainer-nutrition-calc-head{
  position:sticky!important;top:0!important;z-index:2!important;
  display:flex!important;align-items:flex-start!important;justify-content:space-between!important;
  gap:12px!important;padding:20px 0 12px!important;margin:0!important;
  background:#fff!important;border-bottom:1px solid #edf1f7!important;
}
body.eplan-redesign.trainer-ui #trainerNutritionCalcModal .trainer-nutrition-calc-head h2{
  margin:0!important;font-size:20px!important;line-height:1.2!important;
  letter-spacing:-.02em!important;color:#0c1c3b!important;font-weight:850!important;
}
body.eplan-redesign.trainer-ui #trainerNutritionCalcModal .trainer-nutrition-calc-head p{
  margin:7px 0 0!important;color:#8290a6!important;font-size:12px!important;
  font-weight:500!important;line-height:1.45!important;
}
body.eplan-redesign.trainer-ui #trainerNutritionCalcModal .trainer-nutrition-calc-close{
  flex:0 0 36px!important;width:36px!important;height:36px!important;padding:0!important;
  display:grid!important;place-items:center!important;border-radius:11px!important;
  background:#f0f5fc!important;color:#4c6180!important;
  border:1px solid #dce6f3!important;box-shadow:none!important;
  font-size:17px!important;font-weight:700!important;
}
body.eplan-redesign.trainer-ui #trainerNutritionCalcModal .nutrition-calc-grid{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  column-gap:12px!important;row-gap:13px!important;margin-top:16px!important;
}
body.eplan-redesign.trainer-ui #trainerNutritionCalcModal .nutrition-calc-grid label{
  min-width:0!important;display:flex!important;flex-direction:column!important;
  gap:6px!important;margin:0!important;color:#667791!important;
  font-size:12px!important;font-weight:750!important;
}
body.eplan-redesign.trainer-ui #trainerNutritionCalcModal .nutrition-calc-grid label small{
  color:#8e9bb0!important;font-size:10px!important;font-weight:500!important;
}
body.eplan-redesign.trainer-ui #trainerNutritionCalcModal .nutrition-calc-grid input,
body.eplan-redesign.trainer-ui #trainerNutritionCalcModal .nutrition-calc-grid select{
  display:block!important;width:100%!important;min-width:0!important;
  height:46px!important;min-height:46px!important;margin:0!important;
  padding:0 12px!important;border-radius:12px!important;
  border:1px solid #dce5f1!important;background:#f7f9fd!important;
  color:#142644!important;font-size:15px!important;font-weight:600!important;
  box-shadow:none!important;outline-offset:2px!important;
}
body.eplan-redesign.trainer-ui #trainerNutritionCalcModal .nutrition-calc-grid select{
  padding-right:26px!important;appearance:none!important;
  background-image:linear-gradient(45deg,transparent 50%,#8498b4 50%),linear-gradient(135deg,#8498b4 50%,transparent 50%)!important;
  background-position:calc(100% - 17px) 20px,calc(100% - 12px) 20px!important;
  background-size:5px 5px,5px 5px!important;background-repeat:no-repeat!important;
  text-overflow:ellipsis!important;
}
body.eplan-redesign.trainer-ui #trainerNutritionCalcModal .nutrition-calc-grid select:invalid,
body.eplan-redesign.trainer-ui #trainerNutritionCalcModal .nutrition-calc-grid input::placeholder{
  color:#96a4b8!important;
}
body.eplan-redesign.trainer-ui #trainerNutritionCalcModal .nutrition-calc-grid input:disabled{
  background:#eff3f8!important;opacity:.65!important;
}
body.eplan-redesign.trainer-ui #trainerNutritionCalcModal .nutrition-calc-grid .nutrition-calc-wide{
  grid-column:1/-1!important;
}
body.eplan-redesign.trainer-ui #trainerNutritionCalcModal .trainer-nutrition-calc-submit,
body.eplan-redesign.trainer-ui #trainerNutritionCalcModal .trainer-nutrition-calc-apply{
  width:100%!important;min-height:48px!important;border-radius:13px!important;
  border:1px solid #2e78eb!important;background:#347df0!important;color:#fff!important;
  font-size:14px!important;font-weight:800!important;box-shadow:none!important;
}
body.eplan-redesign.trainer-ui #trainerNutritionCalcModal .trainer-nutrition-calc-submit{
  margin-top:17px!important;
}
body.eplan-redesign.trainer-ui #trainerNutritionCalcModal .nutrition-calc-result{
  background:#f4f8ff!important;border:1px solid #dce7f7!important;
  border-radius:15px!important;padding:16px!important;
}
body.eplan-redesign.trainer-ui #trainerNutritionCalcModal .nutrition-calc-kcal{
  color:#0d2041!important;font-weight:900!important;
}
body.eplan-redesign.trainer-ui #trainerNutritionCalcModal .nutrition-calc-macros span{
  background:#fff!important;border:1px solid #e0e8f4!important;
}
body.eplan-redesign.trainer-ui #trainerNutritionCalcModal .trainer-nutrition-calc-apply{
  margin:8px 0 0!important;background:#e8f2ff!important;
  color:#196be0!important;border-color:#d0e2fb!important;
}
@media (max-width:350px){
 body.eplan-redesign.trainer-ui #trainerNutritionCalcModal .nutrition-calc-grid{
   grid-template-columns:1fr!important;
 }
 body.eplan-redesign.trainer-ui #trainerNutritionCalcModal .nutrition-calc-grid .nutrition-calc-wide{
   grid-column:1!important;
 }
}


/* Experimental trainer-side automatic meal-plan drafts: separate from the stable workout UI. */
body.eplan-redesign.trainer-ui .meal-autoplan-toolbar{padding:0 17px 13px;display:flex}
body.eplan-redesign.trainer-ui .meal-autoplan-toolbar .meal-autoplan-open,
body.eplan-redesign.trainer-ui .meal-plan-card .meal-autoplan-save{
 display:inline-flex;align-items:center;justify-content:center;gap:7px;
 min-height:40px;padding:10px 13px;border-radius:12px;border:1px solid #cfe1fa!important;
 background:#edf4ff!important;color:#2474e7!important;font-size:12px;font-weight:850;box-shadow:none!important
}
body.eplan-redesign.trainer-ui #autoMealPlanModal{
 z-index:1450!important;position:fixed!important;inset:0!important;
 padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom))!important;
 background:rgba(10,23,48,.56)!important;overscroll-behavior:contain!important
}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-modal{
 width:100%!important;max-width:540px!important;max-height:calc(100dvh - 28px)!important;
 padding:0 18px 22px!important;margin:0!important;overflow:auto!important;
 border:1px solid #dbe5f3!important;border-radius:21px!important;background:#fff!important;
 color:#152543!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important
}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-head{
 position:sticky;top:0;background:#fff;z-index:2;
 display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
 padding:18px 0 14px;border-bottom:1px solid #e9eff7
}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-head h2{
 color:#0d1d3a!important;margin:0!important;font-size:20px!important;line-height:1.2!important
}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-head p{
 color:#8290a6!important;font-size:12px!important;font-weight:500!important;
 line-height:1.45!important;margin:7px 0 0
}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-close{
 flex:0 0 36px;width:36px;height:36px;padding:0;border-radius:11px;
 color:#536c8d!important;background:#f1f6fd!important;border:1px solid #dbe6f5!important;
 box-shadow:none!important
}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-target{
 display:flex;flex-wrap:wrap;gap:5px 12px;align-items:center;justify-content:space-between;
 margin-top:15px;padding:14px;background:#f6f9fe;border-radius:13px;color:#6b7b93;font-size:12px
}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-target strong{font-size:12px;color:#17294b}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-settings{
 display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px
}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-settings label{
 display:flex;flex-direction:column;gap:7px;font-size:12px;color:#667891;font-weight:750;min-width:0
}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-settings select{
 width:100%;height:46px;padding:0 11px;min-width:0;font-size:14px;
 border-radius:12px;border:1px solid #dce5f1;color:#0d2040;background:#f7f9fd
}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-exclusions{
 margin-top:16px;padding:12px 14px;border:1px solid #e1e9f4;border-radius:14px
}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-exclusions legend{
 padding:0 5px;color:#62758e;font-weight:800;font-size:12px
}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-exclusions label{
 display:inline-flex;align-items:center;gap:7px;width:50%;padding:7px 0;
 color:#243656;font-weight:600;font-size:12px
}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-exclusions input{
 appearance:auto!important;-webkit-appearance:checkbox!important;
 margin:0!important;flex:0 0 18px;width:18px!important;height:18px!important;
 padding:0!important;accent-color:#297bf0
}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-exclusions p{
 margin:7px 0 0;font-size:11px;color:#8695aa;line-height:1.4
}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-primary,
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-apply{
 width:100%;margin-top:16px;min-height:47px;border-radius:12px;
 background:#347df0!important;color:#fff!important;box-shadow:none!important;
 font-size:14px;font-weight:850;border:1px solid #2d77e8!important
}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-primary:disabled{opacity:.65}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-summary{
 padding:15px;margin-top:17px;background:#f3f8ff;border:1px solid #dbe8fb;border-radius:15px;
 color:#102346
}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-summary.needs-review{
 background:#fff9f0;border-color:#f6deba
}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-summary>strong{display:block;font-size:13px}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-numbers{
 display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:12px
}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-numbers>span{
 display:flex;flex-direction:column;gap:3px;min-width:0;padding:8px 4px;
 text-align:center;background:#fff;border:1px solid #e0e8f5;border-radius:10px
}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-numbers small{
 color:#72829a;font-size:9px;overflow-wrap:anywhere
}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-numbers b{color:#0d1e3c;font-size:15px}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-results{display:grid;gap:9px;margin-top:12px}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-choice{
 border:1px solid #dfe8f3;border-radius:14px;padding:13px;background:#fff
}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-choice-head{
 display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:8px
}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-choice-head strong{color:#102140;font-size:13px}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-choice-head span{color:#317cf0;font-size:12px;font-weight:800}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-foods>div{
 display:flex;justify-content:space-between;gap:10px;padding:4px 0;font-size:11.5px;color:#4f6280
}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-foods b{flex-shrink:0;font-size:11px;color:#16294a}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-choice p{margin:8px 0 0;font-size:11px;color:#8895aa}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-review-note{
 margin-top:12px;padding:12px;background:#f8faff;border-radius:12px
}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-review-note p,
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-footnote{
 font-size:11px;color:#77869c;line-height:1.45;margin:4px 0
}
@media(max-width:370px){
 body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-numbers{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* Structured trainer meal cards v297: never affect client workout editor. */
body.eplan-redesign.trainer-ui .meal-autoplan-toolbar{gap:8px;flex-wrap:wrap}
body.eplan-redesign.trainer-ui .meal-plan-edit-open{
 padding:10px 13px!important;min-height:40px;border-radius:12px!important;
 border:1px solid #dce5f1!important;background:#f7f9fd!important;
 color:#3e587c!important;font-weight:800;font-size:12px;box-shadow:none!important
}
body.eplan-redesign.trainer-ui .structured-meal-editor{
 display:grid;gap:9px;margin-top:12px
}
body.eplan-redesign.trainer-ui .structured-food-row{
 border:1px solid #dce6f3;border-radius:14px;background:#fff;
 padding:12px;min-width:0
}
body.eplan-redesign.trainer-ui .structured-food-title{
 display:flex;align-items:flex-start;justify-content:space-between;gap:10px
}
body.eplan-redesign.trainer-ui .structured-food-name{
 flex:1;min-width:0;display:block!important;text-align:left!important;
 background:none!important;border:0!important;padding:0!important;
 color:#14274c!important;font-size:13px!important;font-weight:800!important;
 line-height:1.35!important;box-shadow:none!important
}
body.eplan-redesign.trainer-ui .structured-food-name span{
 display:inline-block;margin-left:6px;color:#287bee!important;
 font-size:11px!important;font-weight:800!important
}
body.eplan-redesign.trainer-ui .structured-remove{
 flex:0 0 29px!important;width:29px!important;height:29px!important;
 padding:0!important;background:#f3f6fb!important;color:#6e809b!important;
 border:1px solid #e1e8f2!important;border-radius:9px!important;
 box-shadow:none!important;font-size:19px!important
}
body.eplan-redesign.trainer-ui .structured-food-details{
 display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:9px
}
body.eplan-redesign.trainer-ui .structured-food-details label{
 display:flex;align-items:center;gap:6px;color:#6e8097;font-size:12px!important;
 white-space:nowrap
}
body.eplan-redesign.trainer-ui .structured-food-details input.structured-grams{
 width:70px!important;height:36px!important;min-height:36px!important;
 padding:0 7px!important;border:1px solid #dce7f4!important;
 border-radius:9px!important;background:#f8faff!important;
 font-size:13px!important;font-weight:750;color:#0e2042!important;
 margin:0!important
}
body.eplan-redesign.trainer-ui .structured-food-macro{
 text-align:right;color:#74839b;font-size:11px;line-height:1.45
}
body.eplan-redesign.trainer-ui .structured-veg-opt{
 display:flex!important;gap:8px;align-items:center;
 margin-top:10px;color:#58708e!important;font-size:11px!important;
 font-weight:650!important
}
body.eplan-redesign.trainer-ui .structured-veg-opt input{
 appearance:auto!important;-webkit-appearance:checkbox!important;
 width:17px!important;height:17px!important;margin:0!important;
 padding:0!important;accent-color:#347df0
}
body.eplan-redesign.trainer-ui .structured-add,
body.eplan-redesign.trainer-ui .structured-start,
body.eplan-redesign.trainer-ui .structured-meal-loader button{
 display:inline-flex;justify-content:center;align-items:center;
 width:100%!important;min-height:40px!important;
 border:1px dashed #c9dcf4!important;background:#f0f6ff!important;
 color:#2675e6!important;border-radius:12px!important;
 padding:8px!important;font-size:12px!important;font-weight:800!important;
 box-shadow:none!important
}
body.eplan-redesign.trainer-ui .structured-meal-summary{
 display:flex;flex-direction:column;gap:5px;padding:12px;
 border-radius:12px;background:#edf5ff;color:#143461;
 font-size:11.5px;line-height:1.5
}
body.eplan-redesign.trainer-ui .structured-meal-summary small{color:#6d809b;font-size:11px}
body.eplan-redesign.trainer-ui .structured-daily-summary{
 margin:14px 3px;padding:14px;border:1px solid #d6e4f6;
 border-radius:14px;background:#f5f9ff;color:#0f2343
}
body.eplan-redesign.trainer-ui .structured-daily-summary>strong{font-size:13px}
body.eplan-redesign.trainer-ui .structured-daily-grid{
 display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:10px 0
}
body.eplan-redesign.trainer-ui .structured-daily-grid>span{
 display:flex;flex-direction:column;gap:3px;padding:8px 5px;min-width:0;
 border:1px solid #dfe8f4;border-radius:10px;background:white;text-align:center
}
body.eplan-redesign.trainer-ui .structured-daily-grid b{color:#133055;font-size:14px}
body.eplan-redesign.trainer-ui .structured-daily-grid small{
 color:#8291a6;font-size:10px;overflow-wrap:anywhere
}
body.eplan-redesign.trainer-ui .structured-daily-summary p{
 font-size:11px;color:#426289;margin:4px 0
}
body.eplan-redesign.trainer-ui .structured-daily-summary>small{font-size:10px;color:#8c9aaf}
body.eplan-redesign.trainer-ui #structuredFoodPicker{
 position:fixed!important;inset:0!important;z-index:1600!important;
 display:flex!important;align-items:center!important;justify-content:center!important;
 padding:12px!important;background:rgba(15,29,53,.55)!important
}
body.eplan-redesign.trainer-ui #structuredFoodPicker .structured-picker{
 margin:0!important;width:100%!important;max-width:510px!important;
 max-height:calc(100dvh - 28px)!important;overflow:auto!important;
 border:1px solid #dce5f3!important;border-radius:20px!important;
 background:#fff!important;padding:16px!important
}
body.eplan-redesign.trainer-ui .structured-picker-head{
 display:flex;justify-content:space-between;align-items:center;gap:12px;
 margin-bottom:12px;color:#0e1f41;font-size:18px;font-weight:850
}
body.eplan-redesign.trainer-ui .structured-picker-head button{
 width:36px!important;height:36px!important;padding:0!important;
 border:1px solid #dce5f0!important;border-radius:11px!important;
 color:#647991!important;background:#f2f6fc!important;box-shadow:none!important
}
body.eplan-redesign.trainer-ui #structuredFoodSearch{
 width:100%!important;height:46px!important;border:1px solid #dbe5f2!important;
 background:#f7f9fd!important;border-radius:12px!important;padding:0 13px!important;
 color:#102342!important;font-size:15px!important
}
body.eplan-redesign.trainer-ui #structuredFoodMatches{
 display:grid;gap:6px;max-height:50dvh;overflow:auto;margin-top:12px
}
body.eplan-redesign.trainer-ui #structuredFoodMatches button{
 display:flex;flex-direction:column;gap:6px;align-items:flex-start!important;
 border:1px solid #e1e8f3!important;border-radius:12px!important;
 padding:11px!important;text-align:left!important;background:#fff!important;
 color:#162949!important;box-shadow:none!important
}
body.eplan-redesign.trainer-ui #structuredFoodMatches button strong{font-size:12px}
body.eplan-redesign.trainer-ui #structuredFoodMatches button small{font-size:10px;color:#798ba6}
@media(max-width:380px){
 body.eplan-redesign.trainer-ui .structured-daily-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.eplan-redesign.trainer-ui .structured-food-details{flex-direction:column;align-items:flex-start}
}


/* Trainer's nutrition v299: isolated whole-day ration tabs and recipe library. */
body.eplan-redesign.trainer-ui .trainer-ration-tabs{
 display:flex;gap:8px;align-items:center;flex-wrap:wrap;
 padding:12px 0;margin:5px 0 15px;
}
body.eplan-redesign.trainer-ui .trainer-ration-tabs button{
 min-height:38px;padding:9px 12px!important;
 font-size:12px!important;font-weight:800!important;
 border-radius:11px!important;background:#f3f7ff!important;
 border:1px solid #d8e6f9!important;color:#47709f!important;
 box-shadow:none!important;
}
body.eplan-redesign.trainer-ui .trainer-ration-tabs button.active{
 background:#317bf0!important;color:white!important;border-color:#317bf0!important;
}
body.eplan-redesign.trainer-ui .trainer-ration-tabs .trainer-ration-remove{
 color:#a27474!important;background:#fff!important;
}
body.eplan-redesign.trainer-ui .trainer-meal-recipe{
 background:#f1f6ff;border:1px solid #e0eafb;border-radius:13px;
 padding:12px;margin:9px 0 11px;display:flex;flex-wrap:wrap;
 gap:9px;align-items:center;
}
body.eplan-redesign.trainer-ui .trainer-meal-recipe strong{width:100%;font-size:13px;color:#193b6e}
body.eplan-redesign.trainer-ui .trainer-meal-recipe p{width:100%;margin:0;color:#7387a3;font-size:11px;line-height:1.5}
body.eplan-redesign.trainer-ui .trainer-meal-recipe button{
 color:#2678ed!important;background:white!important;
 border:1px solid #c8ddfb!important;padding:9px 12px!important;
 border-radius:10px!important;box-shadow:none!important;font-size:11px!important;font-weight:850!important
}
body.eplan-redesign.trainer-ui .trainer-meal-recipe a{color:#6f87a6;font-size:10px;text-decoration:none}
body.eplan-redesign.trainer-ui .trainer-auto-fit,
body.eplan-redesign.trainer-ui .trainer-ration-accuracy{
 border-radius:12px;border:1px solid #dbe8fa;background:#edf5ff;
 padding:12px;margin:8px 0;font-size:11px;color:#5b789c;line-height:1.5
}
body.eplan-redesign.trainer-ui .trainer-auto-fit.warn,
body.eplan-redesign.trainer-ui .trainer-ration-accuracy.offset{
 background:#fff8eb;border-color:#efdfbc;
}
body.eplan-redesign.trainer-ui .trainer-auto-fit strong,
body.eplan-redesign.trainer-ui .trainer-ration-accuracy strong{
 display:block;font-size:12px;color:#264979;margin-bottom:5px
}
body.eplan-redesign.trainer-ui .trainer-ration-accuracy span{display:block;font-weight:750;color:#587496}
body.eplan-redesign.trainer-ui .trainer-ration-accuracy button{
 background:white!important;color:#9a672b!important;border:1px solid #eed8ad!important;
 border-radius:10px!important;padding:9px!important;font-size:11px!important;margin-top:8px
}
body.eplan-redesign.trainer-ui .structured-food-use{
 margin:7px 0;color:#408366;font-weight:750;font-size:10px
}
body.eplan-redesign.trainer-ui #recipeTemplatePicker{
 position:fixed!important;inset:0!important;z-index:1700!important;
 display:flex!important;align-items:center!important;justify-content:center!important;
 background:rgba(13,29,52,.6)!important;padding:12px!important
}
body.eplan-redesign.trainer-ui #recipeTemplatePicker .recipe-template-sheet{
 margin:0!important;padding:17px!important;width:100%!important;
 max-width:620px!important;max-height:93dvh!important;overflow:auto!important;
 background:#fff!important;border:1px solid #dce6f3!important;border-radius:20px!important;
}
body.eplan-redesign.trainer-ui #recipeTemplatePicker .recipe-template-head{
 display:flex;justify-content:space-between;align-items:flex-start;gap:12px
}
body.eplan-redesign.trainer-ui #recipeTemplatePicker .recipe-template-head h2{
 font-size:20px;color:#193455;margin:0
}
body.eplan-redesign.trainer-ui #recipeTemplatePicker .recipe-template-head p{
 font-size:11px;color:#788ba5;margin:6px 0 0;line-height:1.4
}
body.eplan-redesign.trainer-ui #recipeTemplateClose{
 width:36px!important;min-height:36px!important;flex:0 0 36px!important;
 border:1px solid #dce4f0!important;border-radius:10px!important;
 color:#677a95!important;background:#f5f8fd!important
}
body.eplan-redesign.trainer-ui #recipeTemplateSearch{
 width:100%!important;min-height:44px!important;margin:12px 0!important;
 background:#f8faff!important;border:1px solid #dce6f2!important;border-radius:11px!important;
 color:#193455!important;padding:0 13px!important;font-size:14px!important
}
body.eplan-redesign.trainer-ui .recipe-template-categories{
 display:flex;gap:6px;overflow-x:auto;margin:6px 0;padding:4px 0;scrollbar-width:none
}
body.eplan-redesign.trainer-ui .recipe-template-categories button{
 flex:0 0 auto!important;min-height:34px!important;padding:7px 10px!important;
 background:#f6f9fd!important;color:#647a9a!important;border:1px solid #dfe8f4!important;
 border-radius:20px!important;font-size:11px!important;box-shadow:none!important
}
body.eplan-redesign.trainer-ui .recipe-template-categories button.active{
 color:#246ddd!important;background:#eaf3ff!important;border-color:#bed7fb!important
}
body.eplan-redesign.trainer-ui .recipe-template-count,
body.eplan-redesign.trainer-ui .recipe-template-credit{
 font-size:10px;color:#8698b1;line-height:1.5;margin:8px 0
}
body.eplan-redesign.trainer-ui .recipe-template-list{
 display:grid;gap:9px;max-height:45dvh;overflow:auto
}
body.eplan-redesign.trainer-ui .recipe-template-card{
 padding:12px;border-radius:13px;background:#fff;border:1px solid #dce7f4
}
body.eplan-redesign.trainer-ui .recipe-template-card h3{
 color:#1d3659;font-size:13px;margin:8px 0 4px
}
body.eplan-redesign.trainer-ui .recipe-template-card>p{
 color:#7087a4;font-size:11px;line-height:1.5;margin:7px 0
}
body.eplan-redesign.trainer-ui .recipe-template-meta{
 display:flex;gap:5px;flex-wrap:wrap
}
body.eplan-redesign.trainer-ui .recipe-template-meta span{
 padding:4px 6px;border-radius:7px;background:#edf5ff;color:#507cae;font-size:10px
}
body.eplan-redesign.trainer-ui .recipe-template-macros{
 padding:8px;border-radius:9px;background:#f6f9fd;color:#426688;font-size:11px;font-weight:750
}
body.eplan-redesign.trainer-ui .recipe-template-footer{
 display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:9px
}
body.eplan-redesign.trainer-ui .recipe-template-source{font-size:10px;color:#7790ae}
body.eplan-redesign.trainer-ui .recipe-template-footer button{
 padding:9px 11px!important;font-size:11px!important;color:white!important;
 background:#327ff2!important;border-radius:10px!important;border:1px solid #327ff2!important
}
@media(max-width:630px){
 body.eplan-redesign.trainer-ui #recipeTemplatePicker{align-items:flex-end!important;padding:0!important}
 body.eplan-redesign.trainer-ui #recipeTemplatePicker .recipe-template-sheet{
  max-height:95dvh!important;border-radius:22px 22px 0 0!important;padding:14px!important
 }
 body.eplan-redesign.trainer-ui .trainer-ration-tabs{flex-wrap:nowrap;overflow-x:auto}
 body.eplan-redesign.trainer-ui .trainer-ration-tabs button{flex-shrink:0}
}


/* Complete day rations in the client read-only meal plan.
   Incomplete legacy per-meal alternatives deliberately keep the old view. */
body.eplan-redesign .client-ration-tabs{
 display:flex;align-items:center;gap:8px;max-width:100%;
 overflow-x:auto;scrollbar-width:none;padding:6px 0 12px
}
body.eplan-redesign .client-ration-tabs button{
 flex:0 0 auto!important;min-height:40px!important;padding:9px 14px!important;
 border:1px solid #d8e5f4!important;border-radius:11px!important;
 background:#f5f9ff!important;color:#5d7697!important;
 font-size:12px!important;font-weight:800!important;box-shadow:none!important
}
body.eplan-redesign .client-ration-tabs button.active{
 color:#fff!important;background:#317ef0!important;border-color:#317ef0!important
}
body.eplan-redesign .client-ration-page[hidden]{display:none!important}


/* Trainer: centered recipe-picker close, with no font-baseline offset. */
body.eplan-redesign.trainer-ui #recipeTemplateClose{
 display:grid!important;place-items:center!important;align-items:center!important;justify-content:center!important;
 width:36px!important;height:36px!important;min-height:36px!important;
 padding:0!important;line-height:1!important;appearance:none!important;
}
body.eplan-redesign.trainer-ui #recipeTemplateClose svg{display:block;flex:none;width:18px;height:18px}

/* Assigned meal plan: visible immediately after saving, read-only until edit. */
body.eplan-redesign.trainer-ui .trainer-saved-plan{display:grid;gap:12px;margin-top:4px;min-width:0}
body.eplan-redesign.trainer-ui .trainer-saved-ration-tabs{
 display:flex;align-items:center;gap:8px;overflow-x:auto;max-width:100%;
 padding:2px 0 6px;scrollbar-width:none
}
body.eplan-redesign.trainer-ui .trainer-saved-ration-tab{
 flex:0 0 auto!important;border:1px solid #d8e5f4!important;border-radius:11px!important;
 background:#f5f9ff!important;color:#647d9c!important;padding:10px 14px!important;
 min-height:39px!important;font-size:12px!important;font-weight:800!important;
 box-shadow:none!important
}
body.eplan-redesign.trainer-ui .trainer-saved-ration-tab.active{
 background:#317bf0!important;border-color:#317bf0!important;color:#fff!important
}
body.eplan-redesign.trainer-ui .trainer-saved-ration-page{display:grid;gap:10px;min-width:0}
body.eplan-redesign.trainer-ui .trainer-saved-ration-page[hidden]{display:none!important}
body.eplan-redesign.trainer-ui .trainer-assigned-meal{
 padding:13px;border:1px solid #e0e8f4;border-radius:13px;background:#f9fbff;
 min-width:0;overflow-wrap:anywhere
}
body.eplan-redesign.trainer-ui .trainer-assigned-meal-label{
 display:block;font-size:11px;color:#6882a5;font-weight:850;margin-bottom:7px
}
body.eplan-redesign.trainer-ui .trainer-assigned-dish{
 display:block;font-size:14px;line-height:1.4;color:#192d50;margin-bottom:7px
}
body.eplan-redesign.trainer-ui .trainer-assigned-ingredients{
 white-space:pre-wrap;font-size:11px;line-height:1.65;color:#637995;margin:4px 0 8px
}
body.eplan-redesign.trainer-ui .trainer-assigned-preparation{
 font-size:11px;line-height:1.6;color:#627995;margin:8px 0
}
body.eplan-redesign.trainer-ui .trainer-assigned-meal-macros{
 background:#edf4ff;border-radius:9px;padding:9px 10px;margin-top:10px;
 font-size:11px;line-height:1.45;color:#41658c;font-weight:800
}
body.eplan-redesign.trainer-ui .trainer-assigned-day-total{
 border:1px solid #cddff7;border-radius:13px;background:#edf5ff;
 padding:13px;display:grid;gap:7px;color:#345b89
}
body.eplan-redesign.trainer-ui .trainer-assigned-day-total span{font-size:11px;color:#6682a5;font-weight:750}
body.eplan-redesign.trainer-ui .trainer-assigned-day-total strong{font-size:13px;line-height:1.5}
body.eplan-redesign.trainer-ui .trainer-assigned-no-totals{
 color:#7b8da7;font-size:11px;line-height:1.5;margin:4px 0
}
body.eplan-redesign.trainer-ui .trainer-saved-plan-actions{display:flex;margin-top:12px}
body.eplan-redesign.trainer-ui .trainer-saved-plan-actions button{width:100%}
body.eplan-redesign.trainer-ui .trainer-saved-legacy{display:grid;gap:9px}
body.eplan-redesign.trainer-ui .trainer-saved-legacy>strong{font-size:13px;color:#244365}
body.eplan-redesign.trainer-ui .trainer-saved-legacy-option{display:grid;gap:6px}
body.eplan-redesign.trainer-ui .trainer-saved-legacy-option>small{font-size:11px;color:#7289a6}


/* v302 — editorial nutrition menu, shared by assigned trainer and client views. */
body.eplan-redesign.trainer-ui .trainer-saved-plan,
body.eplan-redesign .client-ration-page{
 display:grid;gap:12px;min-width:0;
}
body.eplan-redesign .nutrition-menu-day-intro{
 display:flex;align-items:center;justify-content:space-between;gap:8px;
 margin:1px 1px 0;padding:0 2px 2px;
}
body.eplan-redesign .nutrition-menu-day-intro>span{
 font-size:12px;font-weight:850;color:#243b5d;
}
body.eplan-redesign .nutrition-menu-day-intro small{
 font-size:11px;color:#8291a9;font-weight:650;
}
body.eplan-redesign.trainer-ui .trainer-assigned-meal,
body.eplan-redesign .client-ration-page .trainer-assigned-meal{
 background:#fff;border:1px solid #e0e8f3;border-radius:16px;
 padding:15px 14px 14px;box-shadow:0 3px 16px rgba(28,59,106,.035);
 min-width:0;overflow-wrap:anywhere;
}
body.eplan-redesign .nutrition-menu-meal-head{
 display:flex;align-items:center;justify-content:space-between;gap:10px;
 margin-bottom:12px;
}
body.eplan-redesign .nutrition-menu-category{
 display:flex;align-items:center;gap:9px;min-width:0;
}
body.eplan-redesign .nutrition-menu-number{
 display:grid;place-items:center;width:30px;height:30px;flex:none;
 border-radius:10px;background:#eef4fd;color:#3d76d0;
 font-size:10px;letter-spacing:.02em;font-weight:850;
}
body.eplan-redesign.trainer-ui .trainer-assigned-meal-label,
body.eplan-redesign .client-ration-page .trainer-assigned-meal-label{
 color:#6d82a0;letter-spacing:.015em;font-weight:800;font-size:11px;margin:0;
}
body.eplan-redesign .nutrition-menu-energy{
 white-space:nowrap;color:#2a4770;background:#f2f6fc;
 border-radius:9px;padding:7px 9px;font-size:12px;font-weight:850;
}
body.eplan-redesign .nutrition-menu-energy small{font-size:10px;font-weight:700;color:#7e92ae}
body.eplan-redesign.trainer-ui .trainer-assigned-dish,
body.eplan-redesign .client-ration-page .trainer-assigned-dish{
 font-size:15px;line-height:1.4;font-weight:850;color:#172c4c;
 margin:1px 0 12px;letter-spacing:-.014em;
}
body.eplan-redesign .nutrition-menu-ingredients{
 list-style:none!important;display:grid;gap:0;
 margin:0!important;padding:0!important;
}
body.eplan-redesign .nutrition-menu-ingredient{
 display:flex;align-items:baseline;justify-content:space-between;
 gap:9px;padding:7px 0;
 color:#687d9a;font-size:12px;line-height:1.45;
 border-bottom:1px solid #f0f3f9;
}
body.eplan-redesign .nutrition-menu-ingredient:first-child{padding-top:2px}
body.eplan-redesign .nutrition-menu-ingredient:last-child{border-bottom:0;padding-bottom:5px}
body.eplan-redesign .nutrition-menu-ingredient span{min-width:0;flex:1;overflow-wrap:anywhere}
body.eplan-redesign .nutrition-menu-ingredient b{
 white-space:nowrap;color:#263f61;font-size:12px;font-weight:850;
}
body.eplan-redesign .nutrition-menu-ingredient.full{display:block}
body.eplan-redesign .nutrition-menu-method{
 border-top:1px solid #ebf0f8;margin-top:9px;padding-top:10px;
 color:#6482aa;font-size:11px;
}
body.eplan-redesign .nutrition-menu-method summary{
 display:flex;justify-content:space-between;align-items:center;gap:6px;
 cursor:pointer;list-style:none;-webkit-appearance:none;
 font-weight:800;color:#4380dc;min-height:29px;
}
body.eplan-redesign .nutrition-menu-method summary::-webkit-details-marker{display:none}
body.eplan-redesign .nutrition-menu-method summary span{font-size:18px;line-height:1;transition:transform .15s ease}
body.eplan-redesign .nutrition-menu-method[open] summary span{transform:rotate(180deg)}
body.eplan-redesign.trainer-ui .nutrition-menu-method .trainer-assigned-preparation,
body.eplan-redesign .client-ration-page .trainer-assigned-preparation{
 margin:6px 0 2px;font-size:12px;color:#677f9c;line-height:1.65;white-space:pre-wrap;
}
body.eplan-redesign.trainer-ui .nutrition-menu-macros,
body.eplan-redesign .client-ration-page .nutrition-menu-macros{
 display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;
 margin:11px 0 0!important;padding:0!important;background:none!important;
}
body.eplan-redesign .nutrition-menu-macros>span{
 display:flex;flex-direction:column;align-items:flex-start;gap:5px;
 min-width:0;background:#f4f7fc;border-radius:10px;padding:9px 10px;
}
body.eplan-redesign .nutrition-menu-macros>span>small{font-size:10px;color:#7a8fab;font-weight:750}
body.eplan-redesign .nutrition-menu-macros>span strong{font-size:13px;color:#244160;line-height:1.1;font-weight:850}
body.eplan-redesign .nutrition-menu-macros>span strong small{font-size:10px;color:#90a0b7;font-weight:650}
body.eplan-redesign.trainer-ui .trainer-assigned-day-total,
body.eplan-redesign .client-ration-page .trainer-assigned-day-total{
 background:#f3f7fe;border:1px solid #dbe6f6;border-radius:16px;
 padding:16px 14px 14px;display:grid;gap:12px;
}
body.eplan-redesign .nutrition-menu-total-heading{
 display:flex;align-items:flex-start;justify-content:space-between;
 flex-wrap:wrap;gap:4px 8px;
}
body.eplan-redesign .nutrition-menu-total-heading span{
 font-size:11px;color:#6c82a0;font-weight:850;
}
body.eplan-redesign .nutrition-menu-total-heading strong{
 font-size:20px;color:#173659;line-height:1.1;white-space:nowrap;font-weight:900;
}
body.eplan-redesign .nutrition-menu-total-grid{
 display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;
}
body.eplan-redesign .nutrition-menu-total-grid>span{
 display:grid;gap:4px;border-top:1px solid #dce7f6;padding-top:10px;
}
body.eplan-redesign .nutrition-menu-total-grid>span>small{
 font-size:10px;color:#8195ae;font-weight:700;
}
body.eplan-redesign .nutrition-menu-total-grid strong{
 font-size:13px;color:#355779;font-weight:850;white-space:nowrap;
}
body.eplan-redesign .nutrition-menu-total-grid strong small{
 font-size:10px;color:#94a7be;font-weight:650;
}
@media(max-width:390px){
 body.eplan-redesign.trainer-ui .trainer-assigned-meal,
 body.eplan-redesign .client-ration-page .trainer-assigned-meal{padding:13px 11px}
 body.eplan-redesign .nutrition-menu-macros>span{padding:8px}
 body.eplan-redesign .nutrition-menu-total-grid{gap:5px}
}


/* v303: compact image-left nutrition menu (shared trainer/client, second concept) */
body.eplan-redesign .nutrition-menu-meal-v2{
 border:1px solid #e0e8f3!important;border-radius:16px!important;
 padding:12px!important;background:#fff!important;
 box-shadow:0 3px 14px rgba(29,67,122,.035)!important;
 overflow:hidden;min-width:0;
}
body.eplan-redesign .nutrition-menu-v2-layout{
 display:grid;grid-template-columns:96px minmax(0,1fr) 110px;
 gap:12px;align-items:start;min-width:0;
}
body.eplan-redesign .nutrition-menu-photo{
 position:relative;isolation:isolate;min-height:114px;height:100%;max-height:190px;
 border-radius:13px;display:grid;place-items:center;overflow:hidden;
 background:linear-gradient(145deg,#f4ebd9,#d3dcec);
}
body.eplan-redesign .nutrition-menu-photo::before{
 content:"";position:absolute;inset:14px;border-radius:50%;
 background:radial-gradient(ellipse at 35% 32%,#fff 15%,#f7f4ec 56%,#dbd7cf 69%,#aeb9bc 72%,transparent 74%);
 filter:drop-shadow(0 7px 8px rgba(30,50,85,.17));z-index:-1;
}
body.eplan-redesign .nutrition-menu-photo span{
 font-size:44px;filter:drop-shadow(0 5px 6px rgba(37,58,85,.16));
 transform:translateY(-2px);line-height:1;
}
body.eplan-redesign .nutrition-menu-photo-bowl{background:linear-gradient(140deg,#f0e5cc,#e9eee5)}
body.eplan-redesign .nutrition-menu-photo-toast{background:linear-gradient(140deg,#f4e3cb,#e8ded4)}
body.eplan-redesign .nutrition-menu-photo-fish{background:linear-gradient(140deg,#dbe9df,#f2e6d8)}
body.eplan-redesign .nutrition-menu-photo-plate{background:linear-gradient(140deg,#f2e8d8,#dae7db)}
body.eplan-redesign .nutrition-menu-photo-greens{background:linear-gradient(140deg,#dcf0de,#e6eadb)}
body.eplan-redesign .nutrition-menu-v2-copy{min-width:0}
body.eplan-redesign .nutrition-menu-v2-kicker{
 display:flex;align-items:center;gap:7px;margin-bottom:6px;
}
body.eplan-redesign .nutrition-menu-v2-kicker .nutrition-menu-number{
 width:25px;height:25px;border-radius:9px;display:grid;place-items:center;
 font-size:10px;color:#3275da;background:#ebf3ff;flex:0 0 auto;
}
body.eplan-redesign .nutrition-menu-v2-kicker .trainer-assigned-meal-label{
 color:#6c84a4!important;font-size:11px!important;font-weight:750!important;
 display:inline!important;
}
body.eplan-redesign .nutrition-menu-meal-v2 .trainer-assigned-dish{
 font-size:13px!important;line-height:1.37!important;font-weight:850!important;
 margin:0 0 9px!important;color:#172d4f!important;
}
body.eplan-redesign .nutrition-menu-meal-v2 .nutrition-menu-ingredients{
 display:grid!important;gap:1px!important;
 list-style:none!important;margin:0!important;padding:0!important;
}
body.eplan-redesign .nutrition-menu-meal-v2 .nutrition-menu-ingredient{
 padding:2px 0!important;border:0!important;
 font-size:11px!important;line-height:1.45!important;
 color:#7184a1!important;gap:5px;
}
body.eplan-redesign .nutrition-menu-meal-v2 .nutrition-menu-ingredient b{
 font-size:11px!important;color:#526b8f!important;flex:0 0 auto;
}
body.eplan-redesign .nutrition-menu-v2-nutrients{
 min-width:0;display:grid;gap:8px;align-content:start;
}
body.eplan-redesign .nutrition-menu-meal-v2 .nutrition-menu-energy{
 width:100%;box-sizing:border-box;text-align:center;
 border-radius:11px;background:#edf4ff;color:#3278e7;
 font-size:14px;font-weight:850;padding:10px 4px;
 line-height:1.2;white-space:nowrap;
}
body.eplan-redesign .nutrition-menu-v2-macros{
 display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;min-width:0;
}
body.eplan-redesign .nutrition-menu-v2-macro{
 display:grid;place-items:center;gap:3px;padding:7px 0;
 border-radius:9px;min-width:0;background:#edf3ff;color:#2b73d6;
}
body.eplan-redesign .nutrition-menu-v2-macro.macro-1{background:#fff4db;color:#bf8222}
body.eplan-redesign .nutrition-menu-v2-macro.macro-2{background:#e9f9ef;color:#26845c}
body.eplan-redesign .nutrition-menu-v2-macro>small{font-size:10px;font-weight:850}
body.eplan-redesign .nutrition-menu-v2-macro>b{
 display:block;font-size:10px!important;line-height:1.1;text-align:center;font-weight:800;
 white-space:nowrap;
}
body.eplan-redesign .nutrition-menu-v2-macro>b>small{font-size:8px;font-weight:650}
body.eplan-redesign .nutrition-menu-v2-method{
 margin-top:10px;padding-top:8px;min-width:0;
}
body.eplan-redesign .nutrition-menu-v2-method summary{
 font-size:11px!important;min-height:24px;cursor:pointer;
}
body.eplan-redesign .nutrition-menu-round-prompt{
 margin:11px 0 6px;padding:12px;border:1px solid #dbe7f9;
 border-radius:13px;background:#f5f9ff;
 display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:space-between;
}
body.eplan-redesign .nutrition-menu-round-prompt span{
 flex:1 1 170px;font-size:11px;line-height:1.5;color:#6a7f9a;
}
body.eplan-redesign.trainer-ui .nutrition-menu-round-prompt button{
 border-radius:10px!important;padding:10px 12px!important;min-height:36px!important;
 background:#e5efff!important;color:#2a75df!important;border:1px solid #c9dcfd!important;
 font-size:11px!important;font-weight:850!important;width:auto!important;
}
body.eplan-redesign.trainer-ui .trainer-saved-ration-tabs{
 padding:3px;background:#edf2f9;border-radius:13px;gap:4px;overflow-x:auto;
}
body.eplan-redesign.trainer-ui .trainer-saved-ration-tab{
 background:transparent!important;border:0!important;min-height:36px!important;border-radius:10px!important;
 color:#6f839f!important;flex:1 0 auto!important;
}
body.eplan-redesign.trainer-ui .trainer-saved-ration-tab.active{
 background:#fff!important;color:#327bf1!important;box-shadow:0 2px 6px rgba(31,65,115,.08)!important;
}
body.eplan-redesign .nutrition-menu-day-intro{margin-top:5px}
body.eplan-redesign .nutrition-menu-total{margin-top:3px}
body.eplan-redesign .client-ration-page .nutrition-menu-meal-v2{max-width:100%}

/* On narrow phones the thumbnail and recipe stay side-by-side; nutrients
   have a dedicated readable row, avoiding 3 crushed text columns. */
@media(max-width:560px){
 body.eplan-redesign .nutrition-menu-v2-layout{
   grid-template-columns:82px minmax(0,1fr);gap:10px;
 }
 body.eplan-redesign .nutrition-menu-photo{
   min-height:105px;max-height:135px;
 }
 body.eplan-redesign .nutrition-menu-photo span{font-size:36px}
 body.eplan-redesign .nutrition-menu-v2-nutrients{
   grid-column:1/-1;display:flex;align-items:center;gap:7px;
 }
 body.eplan-redesign .nutrition-menu-v2-nutrients .nutrition-menu-energy{
   width:auto;min-width:90px;flex:0 0 auto;margin:0!important;padding:9px 8px;font-size:13px;
 }
 body.eplan-redesign .nutrition-menu-v2-macros{
   flex:1 1 auto;gap:5px;
 }
 body.eplan-redesign .nutrition-menu-v2-macro{display:flex;gap:4px;justify-content:center;padding:10px 2px}
 body.eplan-redesign .nutrition-menu-v2-macro>b{font-size:11px!important}
 body.eplan-redesign .nutrition-menu-meal-v2 .trainer-assigned-dish{font-size:13px!important}
}
@media(max-width:350px){
 body.eplan-redesign .nutrition-menu-photo{min-height:90px}
 body.eplan-redesign .nutrition-menu-v2-layout{grid-template-columns:65px minmax(0,1fr);gap:7px}
 body.eplan-redesign .nutrition-menu-v2-macro>b{font-size:10px!important}
}

/* Match the mockup's calm segmented day-ration selector on client. */
body.eplan-redesign .client-ration-tabs{
 display:flex;gap:4px;padding:3px!important;background:#edf2f9;
 border-radius:13px;margin-bottom:12px;
}
body.eplan-redesign .client-ration-tabs button{
 flex:1 0 auto!important;border:0!important;border-radius:10px!important;
 min-height:38px!important;color:#6f839f!important;background:transparent!important;
}
body.eplan-redesign .client-ration-tabs button.active{
 background:#fff!important;color:#327bf1!important;box-shadow:0 2px 6px rgba(31,65,115,.08)!important;
}


/* v304 — native meal-category SVGs, not emoji, random food photos or egg ovals. */
body.eplan-redesign .nutrition-menu-meal-v2 .nutrition-menu-v2-layout{
 grid-template-columns:64px minmax(0,1fr) 108px;
 gap:12px;align-items:start;
}
body.eplan-redesign .nutrition-menu-meal-v2 .nutrition-meal-icon{
 min-height:0!important;max-height:none!important;
 width:64px!important;height:64px!important;aspect-ratio:1;
 padding:0;border-radius:16px!important;
 display:grid;place-items:center;background:#edf4ff!important;
 color:#397deb;box-shadow:none!important;
}
body.eplan-redesign .nutrition-menu-meal-v2 .nutrition-meal-icon::before{
 content:none!important;display:none!important;
}
body.eplan-redesign .nutrition-menu-meal-v2 .nutrition-meal-icon svg{
 display:block;width:33px;height:33px;stroke:currentColor;
 fill:none;filter:none!important;transform:none!important;
}
body.eplan-redesign .nutrition-menu-meal-v2 .nutrition-meal-icon-breakfast{
 background:#ecf3ff!important;color:#437de1!important;
}
body.eplan-redesign .nutrition-menu-meal-v2 .nutrition-meal-icon-lunch{
 background:#e9f6ef!important;color:#3c956f!important;
}
body.eplan-redesign .nutrition-menu-meal-v2 .nutrition-meal-icon-snack{
 background:#f5efff!important;color:#8261ce!important;
}
body.eplan-redesign .nutrition-menu-meal-v2 .nutrition-meal-icon-dinner{
 background:#fff3e5!important;color:#d2914a!important;
}
@media(max-width:560px){
 body.eplan-redesign .nutrition-menu-meal-v2 .nutrition-menu-v2-layout{
  grid-template-columns:54px minmax(0,1fr)!important;
  gap:10px!important;
 }
 body.eplan-redesign .nutrition-menu-meal-v2 .nutrition-meal-icon{
  width:54px!important;height:54px!important;border-radius:13px!important;
 }
 body.eplan-redesign .nutrition-menu-meal-v2 .nutrition-meal-icon svg{
  width:29px;height:29px;
 }
}
@media(max-width:350px){
 body.eplan-redesign .nutrition-menu-meal-v2 .nutrition-menu-v2-layout{
  grid-template-columns:48px minmax(0,1fr)!important;gap:8px!important;
 }
 body.eplan-redesign .nutrition-menu-meal-v2 .nutrition-meal-icon{
  width:48px!important;height:48px!important;
 }
}


/* v306 — keep the EXACT Lucide icons approved in v305, while giving
   each meal category an independent, gentle app-palette color. */
body.eplan-redesign .nutrition-menu-meal-v2 .nutrition-meal-icon{
 border-radius:14px!important;
}
body.eplan-redesign .nutrition-menu-meal-v2 .nutrition-meal-icon-breakfast{
 background:#ecf3ff!important;color:#397dec!important;
}
body.eplan-redesign .nutrition-menu-meal-v2 .nutrition-meal-icon-lunch{
 background:#e8f7ef!important;color:#23895f!important;
}
body.eplan-redesign .nutrition-menu-meal-v2 .nutrition-meal-icon-snack{
 background:#f3edff!important;color:#7855c4!important;
}
body.eplan-redesign .nutrition-menu-meal-v2 .nutrition-meal-icon-dinner{
 background:#fff0e5!important;color:#b76e2e!important;
}
body.eplan-redesign .nutrition-menu-meal-v2 .nutrition-meal-icon svg{
 display:block;width:28px;height:28px;
 stroke:currentColor;stroke-width:2;fill:none;
 stroke-linecap:round;stroke-linejoin:round;
 transform:none!important;filter:none!important;
}


/* v308 — client nutrition: protect the plan's collapsible header from the
   global .client-ui button { background:#1677ff; color:#fff } rule. Match
   the trainer's quiet white nutrition card, not a blue CTA. */
body.eplan-redesign.client-ui .redesign-nutrition-page .meal-plan-card{
 display:block;
 width:100%;
 min-width:0;
 margin:0 0 18px!important;
 padding:0!important;
 overflow:hidden!important;
 border:1px solid #dfe7f2!important;
 border-radius:20px!important;
 background:#fff!important;
 box-shadow:0 7px 22px rgba(32,67,107,.045)!important;
}
body.eplan-redesign.client-ui .redesign-nutrition-page .meal-plan-card > button.meal-plan-head{
 display:flex!important;
 align-items:center!important;
 justify-content:space-between!important;
 gap:12px!important;
 width:100%!important;
 min-height:78px!important;
 margin:0!important;
 padding:17px 19px!important;
 border:0!important;
 border-radius:0!important;
 background:#fff!important;
 color:#0a1738!important;
 box-shadow:none!important;
 text-align:left!important;
 line-height:1.35!important;
}
body.eplan-redesign.client-ui .redesign-nutrition-page .meal-plan-head > span:first-child{
 display:block;flex:1 1 auto;min-width:0;
}
body.eplan-redesign.client-ui .redesign-nutrition-page .meal-plan-head strong{
 display:block;
 margin:0;
 font-size:18px!important;
 line-height:1.3!important;
 font-weight:900!important;
 color:#0a1738!important;
}
body.eplan-redesign.client-ui .redesign-nutrition-page .meal-plan-head .muted{
 display:block;
 margin-top:5px;
 color:#8191a8!important;
 font-size:12px!important;
 line-height:1.45!important;
 font-weight:650!important;
}
body.eplan-redesign.client-ui .redesign-nutrition-page .meal-plan-head .arrow{
 display:block;
 flex:0 0 auto;
 color:#8292a9!important;
 font-size:22px!important;
 line-height:1!important;
}
body.eplan-redesign.client-ui .redesign-nutrition-page .meal-plan-card > .meal-plan-body{
 padding:14px 17px 18px!important;
 border-top:1px solid #edf1f6!important;
 background:#fff!important;
 min-width:0;
}
@media(max-width:390px){
 body.eplan-redesign.client-ui .redesign-nutrition-page .meal-plan-card > button.meal-plan-head{
  min-height:70px!important;
  padding:15px 16px!important;
 }
 body.eplan-redesign.client-ui .redesign-nutrition-page .meal-plan-card > .meal-plan-body{
  padding:12px 12px 16px!important;
 }
}


/* v310 — sixth concept: clean kcal header and three soft-colored B/J/V chips.
   Kept inside saved ration summaries only, shared between trainer and client. */
/* v311: give the whole-day total a quiet visual priority over meal cards.
   Pastel B/J/V chips and nutrition values are unchanged. */
body.eplan-redesign .nutrition-menu-total-v6{
 display:grid!important;
 gap:12px!important;
 margin:3px 0 12px!important;
 padding:15px 13px 13px 12px!important;
 border:1px solid #bdd4f7!important;
 border-left:3px solid #629cf2!important;
 border-radius:17px!important;
 background:linear-gradient(115deg,#f0f6ff 0%,#f7faff 52%,#fff 100%)!important;
 color:#142b4d!important;
 box-shadow:0 7px 20px rgba(45,106,197,.10)!important;
 min-width:0!important;
}
body.eplan-redesign .nutrition-menu-total-v6 .nutrition-menu-total-heading{
 display:flex!important;
 align-items:center!important;
 justify-content:space-between!important;
 flex-wrap:wrap!important;
 gap:6px 12px!important;
 padding:0!important;
}
body.eplan-redesign .nutrition-menu-total-v6 .nutrition-menu-total-heading>span{
 color:#496f9f!important;
 font-size:12px!important;
 font-weight:800!important;
 line-height:1.35!important;
}
body.eplan-redesign .nutrition-menu-total-v6 .nutrition-menu-total-heading>strong{
 color:#172c4d!important;
 font-size:22px!important;
 font-weight:900!important;
 letter-spacing:-.035em;
 line-height:1.12!important;
 white-space:nowrap!important;
}
body.eplan-redesign .nutrition-menu-total-v6 .nutrition-menu-total-heading>strong small{
 color:#172c4d!important;
 font-size:13px!important;
 letter-spacing:0;
 font-weight:750!important;
}
body.eplan-redesign .nutrition-menu-total-v6 .nutrition-menu-total-grid{
 display:grid!important;
 grid-template-columns:repeat(3,minmax(0,1fr))!important;
 gap:8px!important;
 padding:0!important;
 margin:0!important;
 min-width:0!important;
}
body.eplan-redesign .nutrition-menu-total-v6 .nutrition-total-chip{
 display:flex!important;
 flex-direction:column!important;
 align-items:center!important;
 justify-content:center!important;
 gap:6px!important;
 min-width:0!important;
 padding:11px 5px 10px!important;
 border:0!important;
 border-radius:12px!important;
 box-sizing:border-box!important;
 text-align:center!important;
}
body.eplan-redesign .nutrition-menu-total-v6 .nutrition-total-chip.protein{
 background:#ecf3ff!important;color:#397dec!important;
}
body.eplan-redesign .nutrition-menu-total-v6 .nutrition-total-chip.fat{
 background:#fff3df!important;color:#b97918!important;
}
body.eplan-redesign .nutrition-menu-total-v6 .nutrition-total-chip.carbs{
 background:#eaf8ef!important;color:#23895f!important;
}
body.eplan-redesign .nutrition-menu-total-v6 .nutrition-total-chip-main{
 display:flex!important;align-items:center!important;justify-content:center!important;
 gap:4px!important;
 min-width:0!important;
 max-width:100%!important;
}
body.eplan-redesign .nutrition-menu-total-v6 .nutrition-total-icon{
 display:block!important;
 width:17px!important;
 height:17px!important;
 flex:0 0 17px!important;
 fill:none!important;stroke:currentColor!important;
}
body.eplan-redesign .nutrition-menu-total-v6 .nutrition-total-value{
 display:block!important;
 margin:0!important;
 padding:0!important;
 color:inherit!important;
 font-weight:850!important;
 font-size:15px!important;
 letter-spacing:-.02em!important;
 line-height:1.2!important;
 white-space:nowrap!important;
}
body.eplan-redesign .nutrition-menu-total-v6 .nutrition-total-value small{
 color:inherit!important;
 font-size:10px!important;
 font-weight:650!important;
 letter-spacing:0!important;
}
body.eplan-redesign .nutrition-menu-total-v6 .nutrition-total-name{
 display:block!important;
 color:inherit!important;
 font-size:11px!important;
 font-weight:700!important;
 line-height:1.2!important;
 white-space:normal!important;
}
@media(max-width:390px){
 body.eplan-redesign .nutrition-menu-total-v6{padding:13px 10px 11px!important}
 body.eplan-redesign .nutrition-menu-total-v6 .nutrition-menu-total-grid{gap:6px!important}
 body.eplan-redesign .nutrition-menu-total-v6 .nutrition-total-chip{padding:10px 3px 9px!important}
 body.eplan-redesign .nutrition-menu-total-v6 .nutrition-total-value{font-size:13px!important}
 body.eplan-redesign .nutrition-menu-total-v6 .nutrition-total-icon{
  width:15px!important;height:15px!important;flex-basis:15px!important
 }
}
@media(max-width:350px){
 body.eplan-redesign .nutrition-menu-total-v6 .nutrition-total-chip-main{
  flex-direction:column!important;gap:3px!important;
 }
 body.eplan-redesign .nutrition-menu-total-v6 .nutrition-total-chip{gap:4px!important}
 body.eplan-redesign .nutrition-menu-total-v6 .nutrition-menu-total-heading>strong{
  font-size:20px!important;
 }
}


/* EPLAN 1.2 experimental food diary — actual intake, not assigned meal plan. */
body.eplan-redesign.client-ui .nutrition-diary-card{
 display:grid;gap:13px;background:#fff;border:1px solid #dce6f3;
 border-radius:19px;padding:17px 15px;margin:17px 0;
 min-width:0;box-shadow:0 5px 18px rgba(28,59,106,.04);
}
body.eplan-redesign .nutrition-diary-heading{
 display:flex;align-items:start;justify-content:space-between;gap:12px;min-width:0;
}
body.eplan-redesign .nutrition-diary-heading h2{font-size:17px;margin:4px 0;color:#162d50;line-height:1.3}
body.eplan-redesign .nutrition-diary-heading p{font-size:11px;color:#8292ac;margin:5px 0 0;line-height:1.4}
/* v313: date is a slim, clear pill instead of a full-size localized iOS input.
   The native input still covers the pill and opens the system date picker. */
body.eplan-redesign.client-ui .nutrition-diary-date-row{
 display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;
 gap:8px;margin-top:-3px;min-width:0;
}
body.eplan-redesign.client-ui .nutrition-diary-date-row>span{
 color:#8795aa;font-size:11px;font-weight:750;line-height:1.3;
}
body.eplan-redesign.client-ui .nutrition-diary-date-pill{
 position:relative;display:inline-flex;align-items:center;justify-content:center;
 gap:8px;max-width:100%;min-height:40px;padding:8px 11px;
 background:#f0f5fd;border:1px solid #d8e4f5;
 border-radius:12px;box-sizing:border-box;cursor:pointer;
 box-shadow:0 1px 3px rgba(31,70,125,.03);
 color:#397dec;
}
body.eplan-redesign.client-ui .nutrition-diary-date-pill svg{
 display:block;width:17px;height:17px;flex:0 0 17px;
 stroke:currentColor;fill:none;
}
body.eplan-redesign.client-ui .nutrition-diary-date-pill strong{
 color:#2a466d;font-size:12px;line-height:1.25;
 font-weight:850;white-space:nowrap;
}
body.eplan-redesign.client-ui .nutrition-diary-date-pill .nutrition-diary-date-chevron{
 color:#91a6c3;width:14px;height:14px;flex-basis:14px;
}
body.eplan-redesign.client-ui .nutrition-diary-date-pill input[type=date]{
 position:absolute!important;inset:0!important;z-index:2;
 box-sizing:border-box!important;margin:0!important;padding:0!important;
 width:100%!important;height:100%!important;min-width:0!important;
 border:0!important;border-radius:12px!important;
 opacity:0!important;cursor:pointer;
 background:transparent!important;
 appearance:none;-webkit-appearance:none;
}
body.eplan-redesign.client-ui .nutrition-diary-date-pill:focus-within{
 outline:2px solid #397dec;outline-offset:2px;
}
body.eplan-redesign .nutrition-diary-day-total{
 padding:13px 14px;border-radius:13px;background:#f1f6ff;
 border:1px solid #dae7fb;display:flex;align-items:center;justify-content:space-between;
 gap:8px;flex-wrap:wrap;
}
body.eplan-redesign .nutrition-diary-day-total strong{
 font-size:22px;line-height:1.2;font-weight:900;color:#183963
}
body.eplan-redesign .nutrition-diary-day-total strong small{
 font-size:12px;font-weight:650;color:#7190b6
}
body.eplan-redesign .nutrition-diary-day-total>span{
 font-size:11px;line-height:1.4;color:#5276a1;font-weight:800
}
body.eplan-redesign .nutrition-diary-meal{
 display:grid;gap:7px;padding:12px;border:1px solid #e2eaf5;
 border-radius:14px;background:#fcfdff;min-width:0;
}
body.eplan-redesign .nutrition-diary-meal-head{
 display:flex;align-items:center;justify-content:space-between;gap:7px;
}
body.eplan-redesign .nutrition-diary-meal-head>div{display:grid;gap:3px}
body.eplan-redesign .nutrition-diary-meal-head strong{
 font-size:13px;color:#263d60;
}
body.eplan-redesign .nutrition-diary-meal-head small{
 color:#8393ab;font-size:10px;font-weight:700
}
body.eplan-redesign.client-ui .nutrition-diary-meal-head button,
body.eplan-redesign.client-ui #foodLookupAddToDiary{
 width:auto!important;min-height:36px!important;border:1px solid #d1e1fc!important;
 background:#eaf2ff!important;color:#3179ed!important;
 font-size:11px!important;font-weight:850!important;border-radius:10px!important;
 padding:8px 12px!important;margin:0!important;
}
body.eplan-redesign .nutrition-diary-empty{
 margin:1px 0 4px;color:#9aaac0;font-size:11px;
}
body.eplan-redesign .nutrition-diary-item{
 display:flex;align-items:center;justify-content:space-between;gap:10px;
 border-top:1px solid #eff3f9;padding:9px 0 2px;
}
body.eplan-redesign .nutrition-diary-item>div:first-child{
 display:grid;gap:4px;min-width:0;overflow-wrap:anywhere;
}
body.eplan-redesign .nutrition-diary-item strong{
 font-size:12px;font-weight:800;color:#1e3658;
}
body.eplan-redesign .nutrition-diary-item small{
 font-size:10px;color:#8294ac;line-height:1.4;
}
body.eplan-redesign .nutrition-diary-item-actions{display:flex;gap:4px;align-items:center;flex:none}
body.eplan-redesign.client-ui .nutrition-diary-item-actions button{
 width:30px!important;height:30px!important;min-height:30px!important;
 padding:0!important;display:grid!important;place-items:center!important;
 background:#f1f5fb!important;color:#617999!important;
 border:1px solid #e1e8f4!important;border-radius:9px!important;
 font-size:18px!important;line-height:1!important;
}
body.eplan-redesign .nutrition-diary-note{
 color:#8798b0;font-size:10px;line-height:1.5;margin:0;
}
body.eplan-redesign .nutrition-diary-edit{
 max-width:400px!important;width:calc(100% - 28px)!important;
 border-radius:20px;padding:22px!important;display:grid;gap:13px;
}
body.eplan-redesign .nutrition-diary-edit h2{margin:0;color:#1c365b;font-size:18px}
body.eplan-redesign .nutrition-diary-edit>strong{font-size:13px;color:#647d9e}
body.eplan-redesign .nutrition-diary-edit label{
 display:grid;gap:6px;color:#647d9e;font-size:12px;
}
body.eplan-redesign .nutrition-diary-edit input,
body.eplan-redesign .nutrition-diary-edit select{
 padding:11px;border:1px solid #dfe8f5;border-radius:10px;
 background:#f7faff;color:#1f3756;
}
body.eplan-redesign .nutrition-diary-edit-actions{display:flex;gap:8px;justify-content:flex-end}
body.eplan-redesign .nutrition-diary-edit-actions button{min-height:39px;padding:9px 15px}
body.eplan-redesign .nutrition-diary-edit-actions button.primary{background:#397dec;color:#fff}
body.eplan-redesign .food-lookup-portion{
 display:grid;gap:12px;
}
body.eplan-redesign .food-lookup-meal-label{display:grid;gap:6px}
body.eplan-redesign .food-lookup-portion select{
 box-sizing:border-box;width:100%;min-height:42px;
 border:1px solid #dce5f2;border-radius:10px;
 background:#f7faff;color:#253a5c;padding:9px;
}
body.eplan-redesign.client-ui #foodLookupAddToDiary{
 min-height:46px!important;width:100%!important;font-size:14px!important;
 background:#367df1!important;color:#fff!important;border:0!important;
}
body.eplan-redesign .food-lookup-feedback{color:#b24a55;font-size:11px;margin:0}
@media(max-width:380px){
 body.eplan-redesign.client-ui .nutrition-diary-card{padding:13px 10px}
 body.eplan-redesign .nutrition-diary-day-total>span{font-size:10px}
}


/* EPLAN 1.2 — separate assigned plan and food diary (client view only). */
body.eplan-redesign.client-ui .client-nutrition-view-tabs{
 display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
 gap:5px;background:#eaf0f8;padding:5px;border-radius:14px;
 margin:2px 0 13px;min-width:0;
}
body.eplan-redesign.client-ui .client-nutrition-view-tabs button{
 margin:0!important;padding:12px 6px!important;
 min-height:44px!important;border:0!important;border-radius:11px!important;
 box-shadow:none!important;background:transparent!important;color:#74849e!important;
 font-weight:850!important;font-size:14px!important;
}
body.eplan-redesign.client-ui .client-nutrition-view-tabs button.active{
 background:#fff!important;color:#397dec!important;
 box-shadow:0 2px 7px rgba(23,56,96,.07)!important;
}
body.eplan-redesign.client-ui .nutrition-diary-card{
 margin-top:18px!important;
}
body.eplan-redesign.client-ui .nutrition-diary-meal{
 gap:0!important;padding:0!important;overflow:hidden;background:#fff!important;
 border-radius:13px!important;
}
body.eplan-redesign.client-ui .nutrition-diary-meal-head{
 display:flex;justify-content:space-between;align-items:center;
 padding:11px 13px;gap:7px;
}
body.eplan-redesign .nutrition-diary-meal-title{
 display:flex;align-items:center;gap:11px;min-width:0;
}
body.eplan-redesign .nutrition-diary-meal-title>div:last-child{
 display:grid;gap:4px;min-width:0;
}
body.eplan-redesign .nutrition-diary-meal-title .nutrition-meal-icon{
 flex:0 0 44px;width:44px!important;height:44px!important;
 min-height:44px!important;max-height:44px!important;
 border-radius:12px!important;padding:0!important;
 display:grid;place-items:center;
}
body.eplan-redesign .nutrition-diary-meal-title .nutrition-meal-icon svg{
 width:24px!important;height:24px!important;
}
body.eplan-redesign .nutrition-diary-meal-title strong{
 font-size:13px!important;color:#213a60!important;font-weight:850!important;
}
body.eplan-redesign .nutrition-diary-meal-title small{
 font-size:10px!important;color:#8295ad!important;
}
body.eplan-redesign .nutrition-diary-meal-calories{
 font-size:12px;white-space:nowrap;font-weight:850;color:#4e6c94;
}
body.eplan-redesign.client-ui .nutrition-diary-meal-body{
 padding:0 13px 12px;
}
body.eplan-redesign.client-ui .nutrition-diary-add{
 box-sizing:border-box;display:block;width:100%!important;
 margin:9px 0 0!important;padding:10px 8px!important;
 min-height:37px!important;border:0!important;
 background:#edf4ff!important;color:#397dec!important;
 font-size:12px!important;font-weight:850!important;border-radius:9px!important;
}
body.eplan-redesign.client-ui .nutrition-diary-meal:not(:has(.nutrition-diary-item)) .nutrition-diary-add{
 margin-top:0!important;
}
body.eplan-redesign.client-ui .redesign-nutrition-tabs{
 margin-top:0;margin-bottom:14px;
}
@media(max-width:350px){
 body.eplan-redesign .nutrition-diary-meal-title{gap:7px}
 body.eplan-redesign .nutrition-diary-meal-title .nutrition-meal-icon{
  width:39px!important;height:39px!important;min-height:39px!important;flex-basis:39px
 }
 body.eplan-redesign .nutrition-diary-meal-head{padding:10px}
}

/* Preserve the exact approved coffee/utensils/apple/moon colors in diary mode
   too (the original plan selectors only applied inside .nutrition-menu-meal-v2). */
body.eplan-redesign.client-ui .nutrition-diary-meal-title .nutrition-meal-icon-breakfast{
 background:#ecf3ff!important;color:#397dec!important;
}
body.eplan-redesign.client-ui .nutrition-diary-meal-title .nutrition-meal-icon-lunch{
 background:#e8f7ef!important;color:#23895f!important;
}
body.eplan-redesign.client-ui .nutrition-diary-meal-title .nutrition-meal-icon-snack{
 background:#f3edff!important;color:#7855c4!important;
}
body.eplan-redesign.client-ui .nutrition-diary-meal-title .nutrition-meal-icon-dinner{
 background:#fff0e5!important;color:#b76e2e!important;
}

body.eplan-redesign.client-ui .nutrition-diary-meal-title .nutrition-meal-icon::before{
 display:none!important;content:none!important;
}
body.eplan-redesign.client-ui .nutrition-diary-meal-title .nutrition-meal-icon svg{
 display:block!important;fill:none!important;stroke:currentColor!important;
 stroke-linecap:round!important;stroke-linejoin:round!important;
 filter:none!important;transform:none!important;
}


/* EPLAN 1.2: user-only products, recipe library and trainer review.
   Keep modals visually consistent with the nutrition diary's soft-blue UI. */
body.eplan-redesign.client-ui .food-custom-actions{
 display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;
 margin:10px 0 12px;
}
body.eplan-redesign.client-ui .food-custom-actions button{
 min-height:39px!important;margin:0!important;padding:8px 4px!important;
 border-radius:10px!important;background:#edf4ff!important;
 border:1px solid #dce7fa!important;color:#397dec!important;
 font-size:11px!important;line-height:1.2!important;font-weight:800!important;
}
body.eplan-redesign .my-foods-panel,
body.eplan-redesign .trainer-food-review-panel{
 max-height:min(82dvh,820px);overflow-y:auto;overscroll-behavior:contain;
 width:min(480px,calc(100vw - 28px));box-sizing:border-box;
 border-radius:20px;padding:18px 15px;background:#fff;
 display:grid;gap:12px;
}
body.eplan-redesign .my-foods-panel h2,
body.eplan-redesign .trainer-food-review-panel h2{
 font-size:19px;color:#152c4d;margin:0;font-weight:900;
}
body.eplan-redesign .my-foods-panel .muted,
body.eplan-redesign .trainer-food-review-panel .muted{
 margin:2px 0 0;line-height:1.45;font-size:12px;color:#8b9db5;
}
body.eplan-redesign .my-foods-panel label,
body.eplan-redesign .trainer-food-review-panel label{
 display:grid;gap:5px;font-size:12px;color:#617792;font-weight:750;
}
body.eplan-redesign .my-foods-panel input:not([type=checkbox]),
body.eplan-redesign .trainer-food-review-panel input,
body.eplan-redesign .trainer-food-review-panel textarea{
 box-sizing:border-box;width:100%;min-width:0;min-height:42px;
 padding:9px 11px;border:1px solid #dbe6f4;border-radius:10px;
 background:#f7faff;color:#1d3557;font-size:13px;
}
body.eplan-redesign .my-food-macros,
body.eplan-redesign .trainer-food-review-inputs{
 display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;
}
body.eplan-redesign .my-food-review{
 display:flex!important;align-items:flex-start;gap:8px;line-height:1.4;
}
body.eplan-redesign .my-food-review input{
 width:18px;min-width:18px;height:18px;accent-color:#397dec;
}
body.eplan-redesign .my-food-hint{
 font-size:11px;color:#8799b0;line-height:1.45;margin:-3px 0 3px;
}
body.eplan-redesign .my-food-error,
body.eplan-redesign .food-review-message{
 color:#b24d58;font-size:12px;line-height:1.4;margin:0;
}
body.eplan-redesign.client-ui .my-food-primary{
 display:block!important;width:100%!important;margin:0!important;
 min-height:43px!important;background:#397dec!important;color:white!important;
 border:0!important;border-radius:11px!important;font-size:13px!important;
 font-weight:850!important;
}
body.eplan-redesign .my-food-row{
 border:1px solid #e1e9f5;border-radius:13px;padding:12px;
 display:flex;align-items:center;justify-content:space-between;gap:10px;
 margin-bottom:8px;background:#fbfdff;
}
body.eplan-redesign .my-food-row>div:first-child{
 display:grid;gap:4px;min-width:0;overflow-wrap:anywhere;
}
body.eplan-redesign .my-food-row strong{
 color:#21395c;font-size:13px;line-height:1.35;
}
body.eplan-redesign .my-food-row small{
 color:#7f91ab;font-size:11px;line-height:1.35;
}
body.eplan-redesign .my-food-row-actions{
 display:flex;gap:5px;flex:0 0 auto;
}
body.eplan-redesign.client-ui .my-food-row-actions button{
 background:#eef4ff!important;color:#397dec!important;
 padding:7px 8px!important;min-height:34px!important;
 border:0!important;border-radius:8px!important;font-size:11px!important;
 font-weight:850!important;
}
body.eplan-redesign.client-ui .nutrition-diary-save-recipe{
 display:block;width:100%!important;min-height:34px!important;
 border:1px dashed #cdddf5!important;border-radius:10px!important;
 background:#fff!important;color:#7290ba!important;
 font-size:11px!important;font-weight:750!important;
 padding:7px 8px!important;margin:7px 0 3px!important;
}
body.eplan-redesign.trainer-ui .trainer-food-review-entry{
 background:#ecf3ff!important;color:#3174d8!important;
 border:1px solid #d9e6fa!important;border-radius:12px!important;
 width:100%;min-height:45px;display:block;text-align:center;
 padding:11px;font-size:13px;font-weight:850;margin:10px 0 18px;
}
body.eplan-redesign .trainer-food-review-row{
 display:grid;gap:9px;padding:13px;margin:0 0 12px;
 background:#fbfdff;border:1px solid #e0e9f6;border-radius:14px;
}
body.eplan-redesign .trainer-food-review-row>strong{
 color:#1b3459;font-size:14px;
}
body.eplan-redesign .trainer-food-review-row>small{color:#8195af;font-size:11px}
body.eplan-redesign .trainer-food-review-actions{
 display:grid;grid-template-columns:1fr 1.5fr;gap:8px;
}
body.eplan-redesign .trainer-food-review-actions button{
 margin:0!important;padding:9px 7px!important;font-size:12px!important;
 border-radius:10px!important;min-height:42px!important;
}
@media(max-width:375px){
 body.eplan-redesign.client-ui .food-custom-actions button{font-size:10px!important}
 body.eplan-redesign .my-food-row{display:grid}
 body.eplan-redesign .my-food-row-actions{justify-content:flex-end}
}


/* v316 — optional nutrition label details; secondary to kcal/protein/fat/carbs. */
body.eplan-redesign .my-food-extra,
body.eplan-redesign .trainer-food-review-extra{
 display:grid;gap:8px;padding:11px 10px;
 background:#f5f8fd;border:1px solid #e1e9f5;border-radius:12px;
 min-width:0;
}
body.eplan-redesign .trainer-food-review-extra{
 grid-column:1 / -1;
}
body.eplan-redesign .my-food-extra>span,
body.eplan-redesign .trainer-food-review-extra>small{
 font-size:12px;font-weight:800;color:#7186a3;
}
body.eplan-redesign .my-food-extra>small{
 font-size:11px;line-height:1.45;color:#889ab2;
}
body.eplan-redesign .food-lookup-details{
 margin:7px 0 0;font-size:11px;line-height:1.45;
 color:#7288a6;font-weight:650;
}


/* v317: explicit ration duplication + clear per-meal BJU fitting strategy. */
body.eplan-redesign .trainer-ration-copy{
 border:1px solid #d8e4f5!important;background:#fff!important;
 color:#607fa9!important;font-weight:750!important;border-radius:10px!important;
 font-size:12px!important;min-height:39px!important;padding:8px 12px!important;
}
body.eplan-redesign .recipe-fit-settings{
 margin:8px 0 13px;padding:11px 12px;
 border-radius:13px;background:#f4f8ff;border:1px solid #deebfc;
 display:grid;gap:8px;
}
body.eplan-redesign .recipe-fit-settings>strong{
 font-size:12px;font-weight:850;color:#29496e;
}
body.eplan-redesign .recipe-fit-choices{
 display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;
}
body.eplan-redesign .recipe-fit-choices button{
 box-sizing:border-box;margin:0!important;border-radius:9px!important;
 min-height:40px!important;padding:8px 7px!important;
 background:#fff!important;color:#6d85a2!important;
 border:1px solid #dce7f8!important;
 font-size:11px!important;font-weight:800!important;line-height:1.25!important;
}
body.eplan-redesign .recipe-fit-choices button.active{
 background:#e6f0ff!important;color:#2675ea!important;
 border-color:#a7c7fa!important;
}
body.eplan-redesign .recipe-fit-settings p{
 margin:0;font-size:11px;color:#7990ae;line-height:1.45;
}
@media(max-width:365px){
 body.eplan-redesign .recipe-fit-choices button{font-size:10px!important}
}


/* v318: iPhone trainer nutrition editor — prevent grid min-content from
   expanding the whole client page when ration controls overflow horizontally. */
body.eplan-redesign.trainer-ui .trainer-client-page #nutrition,
body.eplan-redesign.trainer-ui .trainer-client-page #nutrition .trainer-nutrition-page,
body.eplan-redesign.trainer-ui .trainer-client-page #nutrition #nutritionPlanHost,
body.eplan-redesign.trainer-ui .trainer-client-page #nutrition .trainer-nutrition-target-card,
body.eplan-redesign.trainer-ui .trainer-client-page #nutrition .meal-plan-card,
body.eplan-redesign.trainer-ui .trainer-client-page #nutrition .meal-plan-body,
body.eplan-redesign.trainer-ui .trainer-client-page #nutrition .meal-editor,
body.eplan-redesign.trainer-ui .trainer-client-page #nutrition .meal-variant,
body.eplan-redesign.trainer-ui .trainer-client-page #nutrition .structured-meal-editor,
body.eplan-redesign.trainer-ui .trainer-client-page #nutrition .structured-food-row{
 box-sizing:border-box!important;
 width:100%!important;
 max-width:100%!important;
 min-width:0!important;
}
body.eplan-redesign.trainer-ui .trainer-client-page #nutrition .trainer-nutrition-page{
 grid-template-columns:minmax(0,1fr)!important;
}
body.eplan-redesign.trainer-ui .trainer-client-page #nutrition .trainer-ration-tabs{
 box-sizing:border-box!important;
 width:100%!important;
 max-width:100%!important;
 min-width:0!important;
 display:flex!important;
 flex-wrap:nowrap!important;
 overflow-x:auto!important;
 overflow-y:hidden!important;
 -webkit-overflow-scrolling:touch;
 overscroll-behavior-x:contain;
 scrollbar-width:none;
 touch-action:pan-x;
}
body.eplan-redesign.trainer-ui .trainer-client-page #nutrition .trainer-ration-tabs::-webkit-scrollbar{
 display:none;
}
body.eplan-redesign.trainer-ui .trainer-client-page #nutrition .trainer-ration-tabs button{
 flex:0 0 auto!important;
 white-space:nowrap!important;
}
body.eplan-redesign.trainer-ui .trainer-client-page #nutrition .meal-editor-head,
body.eplan-redesign.trainer-ui .trainer-client-page #nutrition .structured-food-title,
body.eplan-redesign.trainer-ui .trainer-client-page #nutrition .trainer-meal-recipe{
 max-width:100%;
 min-width:0;
}
body.eplan-redesign.trainer-ui .trainer-client-page #nutrition .structured-food-name{
 min-width:0!important;
 white-space:normal!important;
 overflow-wrap:anywhere;
}
body.eplan-redesign.trainer-ui .trainer-client-page #nutrition .trainer-meal-recipe strong,
body.eplan-redesign.trainer-ui .trainer-client-page #nutrition .trainer-meal-recipe p,
body.eplan-redesign.trainer-ui .trainer-client-page #nutrition .trainer-auto-fit,
body.eplan-redesign.trainer-ui .trainer-client-page #nutrition .structured-meal-summary{
 min-width:0!important;
 max-width:100%!important;
 overflow-wrap:anywhere;
}
body.eplan-redesign.trainer-ui .trainer-client-page #nutrition .structured-food-details{
 min-width:0!important;
 max-width:100%!important;
 flex-wrap:wrap!important;
 gap:8px 12px!important;
}
body.eplan-redesign.trainer-ui .trainer-client-page #nutrition .structured-food-details label{
 flex:0 0 auto;
}
body.eplan-redesign.trainer-ui .trainer-client-page #nutrition .structured-food-macro{
 min-width:0;
 flex:1 1 130px;
 max-width:100%;
 overflow-wrap:anywhere;
}
body.eplan-redesign.trainer-ui .trainer-client-page #nutrition .trainer-nutrition-target-actions button,
body.eplan-redesign.trainer-ui .trainer-client-page #nutrition .meal-actions button,
body.eplan-redesign.trainer-ui .trainer-client-page #nutrition .trainer-meal-recipe button{
 max-width:100%!important;
 white-space:normal!important;
 overflow-wrap:anywhere;
}
@media(max-width:390px){
 body.eplan-redesign.trainer-ui .trainer-client-page #nutrition .meal-plan-body{
  padding:0 10px 12px!important;
 }
 body.eplan-redesign.trainer-ui .trainer-client-page #nutrition .meal-editor{
  padding:11px!important;
 }
 body.eplan-redesign.trainer-ui .trainer-client-page #nutrition .structured-food-row{
  padding:10px!important;
 }
 body.eplan-redesign.trainer-ui .trainer-client-page #nutrition .structured-food-macro{
  flex:1 1 100%;
  text-align:left;
 }
}


/* v345 — diverse auto meal recipe preview, preserve both themes. */
body.eplan-redesign.trainer-ui .auto-meal-choice .auto-meal-dish-title{
 margin:10px 0 7px!important;
 font-size:15px!important;
 font-weight:800!important;
 line-height:1.35!important;
 color:inherit!important;
 overflow-wrap:anywhere!important;
}
body.eplan-redesign.trainer-ui .auto-meal-choice .auto-meal-instructions{
 margin:10px 0 0!important;
 padding:7px 10px!important;
 border:1px solid rgba(120,146,184,.28)!important;
 border-radius:10px!important;
 background:transparent!important;
 font-size:12px!important;
 color:inherit!important;
}
body.eplan-redesign.trainer-ui .auto-meal-choice .auto-meal-instructions>summary{
 cursor:pointer!important;
 font-weight:750!important;
 line-height:1.45!important;
}
body.eplan-redesign.trainer-ui .auto-meal-choice .auto-meal-instructions>p{
 margin:8px 0 2px!important;
 line-height:1.5!important;
 font-size:12px!important;
 white-space:normal!important;
 overflow-wrap:anywhere!important;
}


/* v346: compact generation action belongs to the selected ration, not to
   the horizontal, overflowing ration tabs. Both themes reuse project blue. */
body.eplan-redesign.trainer-ui .trainer-client-page #nutrition .trainer-ration-tools {
  display:flex!important;
  justify-content:flex-start!important;
  padding:0 0 12px!important;
  margin-top:-6px!important;
  max-width:100%!important;
}
body.eplan-redesign.trainer-ui .trainer-client-page #nutrition .trainer-ration-generate {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:38px!important;
  max-width:100%!important;
  padding:8px 14px!important;
  border:1px solid #bdd7f9!important;
  border-radius:11px!important;
  background:#edf4ff!important;
  color:#2474e7!important;
  font-size:12px!important;
  font-weight:850!important;
  line-height:1.35!important;
  box-shadow:none!important;
}
body.eplan-redesign.trainer-ui[data-eplan-theme="dark"]
 .trainer-client-page #nutrition .trainer-ration-generate {
  background:#233a55!important;
  color:#c9dfff!important;
  border-color:#43638a!important;
}


/* v348 — compact advanced ration generation, without changing the current
   light/dark trainer visual language or the original modal layout. */
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-advanced{
 border:1px solid #dbe5f2!important;
 background:#f7faff!important;
 border-radius:13px!important;
 margin:12px 0!important;
 padding:12px!important;
 color:#253b5a!important;
}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-advanced>summary{
 font-size:13px!important;font-weight:850!important;cursor:pointer;
}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-advanced-grid{
 display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
 gap:10px!important;margin-top:12px!important;
}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-advanced-grid label{
 min-width:0!important;display:flex!important;flex-direction:column!important;
 gap:5px!important;font-size:11px!important;font-weight:750!important;
}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-advanced-grid select{
 box-sizing:border-box!important;width:100%!important;min-width:0!important;
 padding:9px 8px!important;min-height:39px!important;font-size:16px!important;
 border-radius:9px!important;border:1px solid #d4e1f2!important;
 background:#fff!important;color:#243a59!important;
}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-advanced-note{
 margin:10px 0 0!important;font-size:11px!important;
 line-height:1.45!important;color:#72819a!important;
}
body.eplan-redesign.trainer-ui[data-eplan-theme="dark"] #autoMealPlanModal .auto-meal-advanced{
 background:#121c29!important;border-color:#344456!important;color:#e3eeff!important;
}
body.eplan-redesign.trainer-ui[data-eplan-theme="dark"] #autoMealPlanModal .auto-meal-advanced-grid select{
 background:#172635!important;color:#edf5ff!important;border-color:#41536b!important;
}
body.eplan-redesign.trainer-ui[data-eplan-theme="dark"] #autoMealPlanModal .auto-meal-advanced-note{
 color:#aebfd2!important;
}
@media(max-width:410px){
 body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-advanced-grid{
  grid-template-columns:minmax(0,1fr)!important;
 }
}

/* v354 — optional per-client recipe ingredient preferences, separate from
   hard exclusions. Works in light and dark trainer themes on narrow phones. */
/* Keep the entire generator readable in the trainer's dark theme. */
body.eplan-redesign.trainer-ui[data-eplan-theme="dark"] #autoMealPlanModal .auto-meal-modal{
 background:#1c1e23!important;color:#f3f4f6!important;border-color:#444b58!important;
}
body.eplan-redesign.trainer-ui[data-eplan-theme="dark"] #autoMealPlanModal .auto-meal-head{
 background:#1c1e23!important;border-color:#444b58!important;
}
body.eplan-redesign.trainer-ui[data-eplan-theme="dark"] #autoMealPlanModal .auto-meal-head h2,
body.eplan-redesign.trainer-ui[data-eplan-theme="dark"] #autoMealPlanModal .auto-meal-target strong{
 color:#f3f4f6!important;
}
body.eplan-redesign.trainer-ui[data-eplan-theme="dark"] #autoMealPlanModal .auto-meal-target{
 background:#282b31!important;color:#d5deea!important;border-color:#444b58!important;
}
body.eplan-redesign.trainer-ui[data-eplan-theme="dark"] #autoMealPlanModal .auto-meal-close{
 background:#282b31!important;color:#d5deea!important;border-color:#444b58!important;
}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-preferences{
 margin:14px 0 12px;padding:13px;
 border:1px solid #d9e6f5!important;border-radius:14px;
 background:#f8fbff!important;color:#213b61!important
}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-preferences>summary{
 cursor:pointer;display:flex;align-items:center;justify-content:space-between;
 gap:12px;font-size:13px;font-weight:850;list-style:none;
}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-preferences>summary::-webkit-details-marker{
 display:none
}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-preferences>summary small{
 color:#3278e3!important;background:#e8f2ff;border-radius:999px;
 padding:5px 10px;font-weight:800;white-space:nowrap;font-size:11px
}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-preference-intro,
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-preference-help{
 font-size:11px;line-height:1.5;margin:10px 0;color:#70829d!important
}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-preference-group{
 margin-top:14px
}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-preference-group>strong{
 display:block;margin-bottom:9px;color:#50678b!important;font-size:12px;font-weight:800
}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-preference-options{
 display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px
}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-preference-chip{
 box-sizing:border-box;display:flex;align-items:center;gap:8px;min-height:42px;
 border:1px solid #d9e5f4;border-radius:11px;padding:8px 9px;
 background:#fff;color:#263d61;font-weight:650;font-size:12px;cursor:pointer
}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-preference-chip:has(input:checked){
 border-color:#4c90f0;background:#eaf3ff;color:#185dba
}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-preference-chip:has(input:disabled){
 opacity:.45;cursor:not-allowed
}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-preference-chip input{
 appearance:auto!important;-webkit-appearance:checkbox!important;
 width:17px!important;height:17px!important;flex:0 0 17px;
 margin:0!important;padding:0!important;accent-color:#347df0
}
body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-favorite-match{
 display:block;margin:5px 0 8px;color:#246eae!important;font-size:11px;font-weight:750
}
body.eplan-redesign.trainer-ui[data-eplan-theme="dark"] #autoMealPlanModal .auto-meal-preferences{
 background:#141f2e!important;border-color:#35475f!important;color:#e4efff!important
}
body.eplan-redesign.trainer-ui[data-eplan-theme="dark"] #autoMealPlanModal .auto-meal-preferences>summary small{
 background:#1a344f!important;color:#a6d1ff!important
}
body.eplan-redesign.trainer-ui[data-eplan-theme="dark"] #autoMealPlanModal .auto-meal-preference-group>strong{
 color:#bdcbe0!important
}
body.eplan-redesign.trainer-ui[data-eplan-theme="dark"] #autoMealPlanModal .auto-meal-preference-intro,
body.eplan-redesign.trainer-ui[data-eplan-theme="dark"] #autoMealPlanModal .auto-meal-preference-help{
 color:#aabbd1!important
}
body.eplan-redesign.trainer-ui[data-eplan-theme="dark"] #autoMealPlanModal .auto-meal-preference-chip{
 background:#202e42!important;border-color:#41526a!important;color:#d7e6f9!important
}
body.eplan-redesign.trainer-ui[data-eplan-theme="dark"] #autoMealPlanModal .auto-meal-preference-chip:has(input:checked){
 background:#193e69!important;color:#d7ecff!important;border-color:#62a4fa!important
}
body.eplan-redesign.trainer-ui[data-eplan-theme="dark"] #autoMealPlanModal .auto-meal-favorite-match{
 color:#83c5ff!important
}
@media(max-width:340px){
 body.eplan-redesign.trainer-ui #autoMealPlanModal .auto-meal-preference-options{
  grid-template-columns:minmax(0,1fr)
 }
}

