/* Mealwise Coach: lightweight Russian-only frontend; no extra dependencies. */
.mw-coach-launch {
  position:fixed;right:18px;bottom:18px;z-index:360;
  border:1px solid #b5dfa0;border-radius:999px;padding:13px 18px;
  min-height:48px;background:#c9f58a;color:#13271c;
  box-shadow:0 8px 24px rgba(10,37,25,.21);
  font:700 14px/1.2 system-ui,sans-serif;cursor:pointer;
}
.mw-coach-launch:hover {background:#e0ffac}
.mw-coach-launch:focus-visible {outline:3px solid #316e4b;outline-offset:3px}
.mw-coach-dialog {
  box-sizing:border-box;width:min(680px,calc(100vw - 22px));
  max-height:min(92vh,900px);margin:auto;padding:0;
  overflow:auto;border:1px solid #d3e5d7;border-radius:22px;
  background:#f8fcf7;color:#1e3b2f;box-shadow:0 28px 90px rgba(0,0,0,.35);
  font:15px/1.5 system-ui,sans-serif;
}
.mw-coach-dialog::backdrop {background:rgba(6,22,15,.67)}
.mw-coach-dialog * {box-sizing:border-box}
.mw-coach-dialog .mw-coach-header {
  display:flex;align-items:start;justify-content:space-between;
  gap:14px;padding:22px 23px 12px;background:#10291e;color:#fff;
}
.mw-coach-dialog .mw-coach-header small {
  display:block;color:#bef48b;letter-spacing:.15em;font-size:11px;
}
.mw-coach-dialog h2 {font-size:clamp(22px,5vw,28px);line-height:1.15;margin:6px 0 8px;color:#fff}
.mw-coach-dialog #mwCoachClose {
  border:1px solid rgba(255,255,255,.5);border-radius:12px;color:#fff;background:transparent;
  width:42px;height:42px;font-size:18px;cursor:pointer;flex-shrink:0;
}
.mw-coach-dialog .mw-coach-status {padding:11px 23px;margin:0;background:#eaf5e9;color:#345b46;font-size:13px}
.mw-coach-tabs {display:flex;padding:14px 18px 0;gap:7px;border-bottom:1px solid #dce7dd}
.mw-coach-tabs button {background:transparent;border:0;border-radius:10px 10px 0 0;
  padding:11px 12px;color:#2c513c;cursor:pointer;font-size:14px;font-weight:600}
.mw-coach-tabs button[aria-pressed=true] {background:#d5f3bc;color:#153421}
.mw-coach-tabs button:focus-visible,.mw-coach-dialog button:focus-visible {outline:2px solid #237044;outline-offset:2px}
.mw-coach-dialog .mw-coach-screen {padding:18px 22px 10px}
.mw-coach-dialog .mw-coach-screen[hidden] {display:none}
.mw-coach-dialog p {margin:0 0 13px;color:#345747}
.mw-coach-dialog label {display:block;font-size:13px;font-weight:600;color:#213d2f}
.mw-coach-dialog label input:not([type=checkbox]),
.mw-coach-dialog textarea,.mw-coach-dialog select {
  box-sizing:border-box;display:block;margin:6px 0 12px;width:100%;min-height:42px;
  border:1px solid #b9d3c3;border-radius:11px;background:#fff;
  color:#162f23;padding:10px;font:14px/1.4 system-ui,sans-serif;
}
.mw-coach-dialog textarea {resize:vertical;min-height:95px}
.mw-coach-food-row {display:grid;grid-template-columns:minmax(0,1fr) 100px auto;gap:9px;align-items:end}
.mw-coach-food-row button {margin-bottom:12px;min-height:42px;border:1px solid #bad9c1;background:#fff;border-radius:10px;padding:8px 10px;color:#21432f;cursor:pointer}
.mw-coach-primary {min-height:43px;padding:10px 16px;background:#bff28c;border:0;border-radius:11px;color:#1d3c25;font-weight:800;cursor:pointer}
.mw-coach-primary:disabled {opacity:.55;cursor:not-allowed}
.mw-coach-totals {padding:12px;border-radius:12px;background:#e2efdb;font-weight:700;margin:12px 0}
.mw-coach-entry {display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid #d9e7dc}
.mw-coach-entry button,.mw-coach-dialog #mwCoachDraftFoods button {border:0;background:transparent;color:#316849;text-decoration:underline;cursor:pointer}
.mw-coach-dialog #mwCoachDraftFoods {list-style:none;margin:0 0 12px;padding:0}
.mw-coach-dialog #mwCoachDraftFoods li {padding:4px 2px}
.mw-coach-dialog .mw-coach-feedback {min-height:26px;padding:0 22px 16px;margin:0;font-size:13px}
.mw-coach-dialog .mw-coach-feedback.error {color:#a33730}
.mw-coach-consent {display:flex !important;align-items:start;gap:9px;font-weight:400 !important;margin:10px 0}
.mw-coach-consent input {width:18px;height:18px;flex-shrink:0;margin-top:1px}
.mw-coach-messages {max-height:250px;overflow:auto;display:grid;gap:12px;padding-bottom:10px}
.mw-coach-messages > div {white-space:pre-wrap;border-radius:12px;padding:12px}
.mw-coach-user-msg {background:#e6f1e0;margin-left:28px}
.mw-coach-bot-msg {background:#fff;border:1px solid #c7dfce;margin-right:28px}
.mw-coach-dialog h3,.mw-coach-dialog h4 {margin:14px 0 8px;color:#20422c}
@media(max-width:560px) {
  .mw-coach-launch {right:10px;bottom:10px;padding:11px 14px;min-height:45px}
  .mw-coach-dialog {border-radius:16px}
  .mw-coach-dialog .mw-coach-header {padding:16px}
  .mw-coach-dialog .mw-coach-screen {padding:14px 15px 8px}
  .mw-coach-tabs {padding:10px 8px 0;gap:2px;justify-content:space-around}
  .mw-coach-tabs button {padding:9px 6px;font-size:12px}
  .mw-coach-food-row {grid-template-columns:minmax(0,1fr) 86px}
  .mw-coach-food-row button {grid-column:1/-1;margin:0 0 12px}
  .mw-coach-dialog .mw-coach-feedback {padding:0 15px 10px}
}
@media(prefers-reduced-motion:reduce){.mw-coach-dialog *{scroll-behavior:auto}}

/* Mealwise Coach 4.3 — chat-led commercial UI */
.mw-gym-nav {
  flex-shrink:0; display:inline-flex;align-items:center;justify-content:center;
  padding:10px 14px;min-height:42px;border-radius:12px;
  border:1px solid rgba(201,245,138,.6);background:rgba(190,243,143,.12);
  font:750 13px/1.2 system-ui,sans-serif;color:#d7ffad;cursor:pointer;
  white-space:nowrap;
}
.mw-gym-nav:hover {background:rgba(201,245,138,.27)}
.mw-gym-nav:focus-visible {outline:3px solid #c6ef91;outline-offset:2px}
.mw-coach-dialog .mw-coach-welcome {
  display:flex;gap:15px;padding:18px;margin-bottom:15px;
  background:linear-gradient(125deg,#e2f5d9,#f5fbee);
  border-radius:16px;border:1px solid #cde6c6;
}
.mw-coach-dialog .mw-coach-welcome h3 {
  font-size:18px;margin:0 0 5px;color:#1b4933;
}
.mw-coach-dialog .mw-coach-welcome p {margin:0;font-size:14px}
.mw-coach-avatar {
  width:56px;height:56px;flex:0 0 56px;display:grid;place-items:center;
  border-radius:18px;background:linear-gradient(145deg,#153f30,#298c51);
  color:#d9fd98;font-size:29px;box-shadow:0 5px 16px rgba(11,83,49,.2);
}
.mw-coach-quota {
  display:inline-flex;align-items:center;gap:6px;margin:0 0 14px;
  padding:7px 11px;border-radius:999px;background:#ecf2e9;color:#375842;
  font-size:12px;font-weight:650;
}
.mw-coach-chips {display:flex;flex-wrap:wrap;gap:7px;margin:0 0 15px}
.mw-coach-chips button {
  color:#245b3c;background:#fff;border:1px solid #bedbc1;border-radius:999px;
  padding:8px 12px;cursor:pointer;font:600 12px/1.35 system-ui,sans-serif;
}
.mw-coach-chips button:hover {background:#e5f7d9}
.mw-coach-dialog .mw-coach-onboarding,.mw-coach-dialog .mw-coach-plan-panel {
  border:1px solid #d1e2cb;border-radius:14px;background:#f4faee;
  padding:15px;margin:10px 0 18px;
}
.mw-coach-dialog .mw-coach-onboarding[hidden],
.mw-coach-dialog .mw-coach-plan-panel[hidden] {display:none}
.mw-coach-dialog .mw-coach-onboarding p {margin:8px 0 12px}
.mw-coach-dialog .mw-coach-onboarding button:not(.mw-coach-primary) {
  border:0;background:transparent;color:#326b4e;margin-left:8px;padding:9px;cursor:pointer;
}
.mw-coach-dialog .mw-coach-plan-fields,
.mw-coach-dialog .mw-gym-fields {
  display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:end;
}
.mw-coach-dialog .mw-coach-link {
  background:none;border:0;padding:4px;color:#2e7353;text-decoration:underline;cursor:pointer;font:inherit;
}
.mw-coach-dialog .mw-coach-change-new {font-weight:700;color:#256343}
.mw-coach-dialog .mw-coach-change-old {text-decoration:line-through;color:#7b8c81}
.mw-coach-exercise-grid {
  display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));
  gap:10px;margin:10px 0 20px;
}
.mw-coach-dialog .mw-coach-exercise {
  overflow:hidden;display:flex;flex-direction:column;min-width:0;
  border:1px solid #d6e6d6;border-radius:13px;background:#fff;
}
.mw-coach-exercise-photo {
  width:100%;height:122px;object-fit:cover;background:#e9f1e9;
}
.mw-coach-exercise-detail {
  display:flex;flex-direction:column;gap:5px;padding:11px;
}
.mw-coach-exercise-detail strong {color:#1c3d2a;font-size:13px}
.mw-coach-exercise-detail span {font-size:12px;color:#49634e}
.mw-coach-dialog .mw-coach-credit {
  font-size:11px;line-height:1.4;color:#336b51;text-decoration:underline;
}
.mw-coach-dialog .mw-coach-training-warning {
  padding:12px;background:#fff5e4;border-radius:10px;font-size:12px;
}
@media(max-width:760px) {
  .mw-gym-nav {font-size:0;padding:8px 10px;min-width:40px}
  .mw-gym-nav::after {content:'👑';font-size:19px}
}
@media(max-width:500px) {
  .mw-coach-dialog .mw-coach-welcome {padding:12px;gap:9px}
  .mw-coach-avatar {width:42px;height:42px;flex-basis:42px;font-size:23px;border-radius:12px}
  .mw-coach-dialog .mw-coach-welcome h3 {font-size:16px}
  .mw-coach-dialog .mw-coach-welcome p {font-size:12px}
  .mw-coach-exercise-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .mw-coach-exercise-photo {height:100px}
  .mw-coach-dialog .mw-coach-plan-fields,.mw-coach-dialog .mw-gym-fields {grid-template-columns:1fr}
}

/* Confirm-before-save food logging from Russian text. */
.mw-coach-message-actions {display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.mw-coach-message-actions button {flex:1 1 160px}
.mw-coach-dialog .mw-coach-food-preview {
  margin:12px 0 18px;padding:14px;border:1px solid #badbc1;border-radius:14px;
  background:#f1f9ec;
}
.mw-coach-dialog .mw-coach-food-preview[hidden] {display:none}
.mw-coach-dialog .mw-coach-food-preview h3 {margin:0 0 8px}
.mw-coach-dialog .mw-coach-food-recognized {display:flex;gap:10px;align-items:center;justify-content:space-between;margin:7px 0}
.mw-coach-dialog .mw-coach-food-recognized input {width:118px;max-width:42%;margin:0 !important}
.mw-coach-dialog .mw-coach-unrecognized {color:#944324;font-size:13px}
@media(max-width:420px){
  .mw-coach-message-actions {flex-direction:column}
  .mw-coach-dialog .mw-coach-food-recognized {flex-wrap:wrap}
}

/* 4.5 — daily logged-versus-planned nutrition summary, read-only. */
.mw-coach-dialog .mw-coach-day-card {
  margin:14px 0;background:#f4f9f0;border:1px solid #caddc9;
  border-radius:16px;padding:15px;
}
.mw-coach-day-heading {display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}
.mw-coach-day-heading strong {font-size:15px;color:#204833}
.mw-coach-dialog .mw-coach-day-heading label {display:flex;align-items:center;gap:8px;font-size:12px}
.mw-coach-dialog .mw-coach-day-heading select {
  width:auto;min-width:68px;margin:0;padding:5px 10px;min-height:34px;
}
.mw-coach-comparison {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.mw-coach-comparison-cell {
  display:flex;flex-direction:column;gap:4px;min-width:0;
  padding:13px;border-radius:13px;background:#fff;border:1px solid #d8e7d3;
}
.mw-coach-comparison-cell strong {font:800 21px/1.2 system-ui,sans-serif;color:#1f4735}
.mw-coach-comparison-cell small {font-size:11px;color:#557261}
.mw-coach-dialog .mw-coach-note {font-size:12px;line-height:1.5;margin:10px 0 0;color:#597064}
.mw-coach-dialog .mw-coach-food-tip {
  background:#eff5e9;color:#2a503d;border-left:3px solid #83af83;
  padding:9px;margin:6px 0;font-size:12px;line-height:1.45;
}
.mw-coach-dialog .mw-coach-quantity-hint {
  display:block;flex-basis:100%;color:#65806b;font-size:12px;margin:4px 0;
}
/* 4.6 — one coherent studio-photography visual treatment for every exercise. */
.mw-coach-exercise-grid {align-items:stretch;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
.mw-coach-dialog .mw-coach-exercise {
  position:relative;isolation:isolate;border:1px solid #dce6d9;border-radius:16px;
  background:#fafbf8;box-shadow:0 7px 22px rgba(18,65,42,.065);overflow:hidden;
}
.mw-coach-dialog .mw-coach-exercise::before {
  content:"";position:absolute;inset:0 0 auto;height:5px;
  background:linear-gradient(90deg,#d8f6b4,#4c8266);z-index:2;pointer-events:none;
}
.mw-coach-exercise-photo {
  display:block;aspect-ratio:4/5;height:auto;max-height:250px;width:100%;
  object-fit:cover;object-position:50% 40%;
  background:linear-gradient(145deg,#e9efea,#f4f2eb);
  filter:saturate(.68) contrast(1.02) brightness(1.04);
}
.mw-coach-exercise-detail {padding:13px;gap:6px;flex:1}
.mw-coach-exercise-detail strong {font-size:14px;line-height:1.35}
.mw-coach-exercise-detail span {font-size:12px;line-height:1.5}
.mw-coach-dialog .mw-coach-credit {font-size:10px;line-height:1.5}
.mw-coach-exercise-technique {display:block;margin:5px 0 0;color:#53685a;font-size:11px;line-height:1.45}
@media(max-width:440px) {
  .mw-coach-comparison {grid-template-columns:1fr 1fr}
  .mw-coach-comparison-cell {padding:9px}
  .mw-coach-comparison-cell strong {font-size:18px}
  .mw-coach-exercise-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
}

.mw-coach-dialog .mw-coach-photo-fallback {
  display:flex;min-height:150px;aspect-ratio:4/5;align-items:center;justify-content:center;
  background:linear-gradient(145deg,#e2eee3,#f5f4ee);
  padding:16px;text-align:center;color:#607966;font-size:12px;line-height:1.55;
}
.mw-coach-dialog .mw-coach-photo-fallback[hidden] {display:none}
.mw-coach-dialog .mw-coach-exercise-photo[hidden] {display:none}
