/* V228.2 — Menumia : palette universelle + paramètres regroupés. */
:root{color-scheme:light;--mm-page-bg:#FEF8F2;--mm-app-bg-gradient:linear-gradient(160deg,#F2E7F4 0%,#FBEAEE 100%);--mm-app-bg:#F2E7F4;--mm-bg-alt:#F1E4F0;--mm-field:#FBF7FA;--mm-token-line:rgba(90,61,92,.14);--mm-token-line-strong:rgba(90,61,92,.26);--mm-token-ink:#29272A;--mm-token-muted:#77716F;--mm-token-faint:rgba(119,113,111,.55);--mm-prune-action:#5A3D5C;--mm-prune-text:#3E2A40;--mm-prune-soft-token:rgba(90,61,92,.10);--mm-token-peche:#F0B49A;--mm-token-peche-soft:rgba(240,180,154,.20);--mm-token-brick:#C1432E;--mm-token-sage:#5F8A5A;--mm-token-success:#5F8A5A;--mm-token-success-soft:rgba(95,138,90,.12);--mm-token-warning:#D9A441;--mm-token-warning-soft:rgba(217,164,65,.16);--mm-token-error:#C1432E;--mm-token-error-soft:rgba(193,67,46,.10);--mm-token-disabled-text:rgba(41,39,42,.32);--mm-token-disabled-bg:rgba(41,39,42,.06);--mm-token-shadow:0 6px 24px rgba(90,61,92,.11);--mm-token-shadow-soft:0 3px 14px rgba(90,61,92,.08);--mm-token-shadow-lg:0 10px 30px rgba(90,61,92,.18);--mm-ink:#332B30;--mm-prune:#4B1E3F;--mm-muted:#756E71;--mm-bg:#FBF8F5;--mm-card:#FFF;--mm-soft:#F5F0EB;--mm-line:rgba(75,30,63,.09);--mm-line-strong:var(--mm-token-line-strong);--mm-faint:var(--mm-token-faint);--mm-prune-soft:var(--mm-prune-soft-token);--mm-peche:#F0B49A;--mm-peche-soft:var(--mm-token-peche-soft);--mm-brick:#C1432E;--mm-sage:#73806A;--mm-terra:#C97858;--mm-ochre:#C49A55;--mm-rose-accent:#C1587A;--mm-success:var(--mm-token-success);--mm-success-soft:var(--mm-token-success-soft);--mm-warning:var(--mm-token-warning);--mm-warning-soft:var(--mm-token-warning-soft);--mm-error:var(--mm-token-error);--mm-error-soft:var(--mm-token-error-soft);--mm-disabled-text:var(--mm-token-disabled-text);--mm-disabled-bg:var(--mm-token-disabled-bg);--mm-radius:16px;--mm-shadow:0 7px 22px rgba(55,43,46,.055);--mm-shadow-soft:var(--mm-token-shadow-soft);--mm-shadow-lg:var(--mm-token-shadow-lg);--mm-focus:0 0 0 3px rgba(75,30,63,.10)}
html,body,#root{background:#FEF8F2!important}body{color:var(--mm-ink)}
.mm-app nav{border-radius:19px 19px 0 0!important;border-color:rgba(75,30,63,.055)!important;box-shadow:0 -5px 22px rgba(55,43,46,.065)!important}.mm-today-meals,.mm-home .mm-meal-hero{border-radius:16px!important}.mm-home-quote{background:linear-gradient(110deg,#fff 0%,#F8F4EF 100%)!important;border-radius:15px!important}.mm-home-action{border-radius:15px!important}.mm-food-icon,.mm-tab-frigo .mm-food-icon,.mm-tab-courses .mm-food-icon{background:#F7F3EE!important}.mm-chip{background:#F8F4F0!important;border-color:#E8E0D9!important;color:#6F686A!important}.mm-chip.is-active{background:#EEE7DF!important;border-color:#B8A89A!important;color:#4B1E3F!important}.mm-today-empty{background:#FCFAF7!important;border-color:#E5DDD6!important}.mm-assistant-header{background:rgba(252,250,247,.94)!important}.mm-assistant-mark{background:#EEE8E1!important;color:#4B1E3F!important}.mm-assistant-close{background:#F6F2ED!important}.mm-quote-icon{background:#F1EAE3!important;color:#8A5D46!important}.mm-quick-icon{color:#4B1E3F!important}.mm-topbar button,.mm-topbar [role="button"]{background:#FFFDFC!important;border-color:rgba(75,30,63,.07)!important}.mm-topbar button:last-child,.mm-topbar [role="button"]:last-child{background:#F1ECE7!important;color:#6F666A!important}.mm-today-check.done{color:#73806A!important}.mm-greeting-sun{color:#C49A55!important}.mm-check:checked{background:#4B1E3F!important;border-color:#4B1E3F!important}.mm-app input:focus,.mm-app select:focus,.mm-app textarea:focus{border-color:rgba(75,30,63,.34)!important;box-shadow:var(--mm-focus)!important}.mm-onboarding-art{background:linear-gradient(180deg,#FFFDFC,#F6F1EC)!important}.menumia-auth-screen,#menumia-splash{background:linear-gradient(180deg,#FCFAF7 0%,#F4EEE8 100%)!important}.menumia-auth-card{border-radius:24px!important;box-shadow:0 18px 55px rgba(55,43,46,.075)!important}.menumia-auth-card input{background:#FCFAF8!important;border-color:#DCD3CC!important}.menumia-auth-card>button{background:#4B1E3F!important}.menumia-auth-signup>div:nth-child(3){background:#F2ECE6!important}.mm-brand-name,.mm-home-greeting,.mm-page-heading>div:first-child{color:#35182F!important}
/* V228.2 — densité du haut d'écran : on garde la safe-area iOS sans grand vide décoratif. */
.mm-shell{padding-top:max(6px,env(safe-area-inset-top))!important}.mm-topbar{padding-top:0!important;margin-bottom:14px!important}
@media(max-width:520px){.mm-shell{padding-top:max(4px,env(safe-area-inset-top))!important}.mm-topbar{margin-bottom:12px!important}}

.mm-settings-v225{display:flex!important;flex-direction:column!important}
.mm-settings-v225>.mm-settings-title{order:0!important;margin:0 0 6px!important}.mm-settings-v225>.mm-settings-intro{order:1!important;margin:0 0 20px!important;color:#756E71!important;font-size:13px!important;line-height:1.4!important}.mm-settings-v225>.mm-settings-hide{display:none!important}
.mm-settings-v225>.mm-settings-section-personalize{order:10!important}.mm-settings-v225>.mm-settings-planning{order:11!important}.mm-settings-v225>.mm-settings-preferences{order:12!important}.mm-settings-v225>.mm-settings-pleasure{order:13!important}.mm-settings-v225>.mm-settings-section-household{order:20!important}.mm-settings-v225>.mm-settings-account{order:21!important}.mm-settings-v225>.mm-settings-notifications{order:22!important}.mm-settings-v225>.mm-settings-section-privacy{order:30!important}.mm-settings-v225>.mm-settings-privacy{order:31!important}.mm-settings-v225>.mm-settings-section-help{order:40!important}.mm-settings-v225>.mm-settings-feedback{order:41!important}.mm-settings-v225>.mm-settings-replay{order:42!important}.mm-settings-v225>.mm-settings-reset{order:49!important}.mm-settings-v225>.mm-settings-version{order:50!important}
.mm-settings-v225>.mm-settings-section-heading{font-size:11px!important;font-weight:800!important;letter-spacing:.075em!important;text-transform:uppercase!important;color:#625268!important;line-height:1.25!important;margin:28px 4px 10px!important;padding:0!important;background:transparent!important}.mm-settings-v225>.mm-settings-section-personalize{margin-top:20px!important}
.mm-settings-v225>.mm-settings-card{border:1px solid rgba(75,30,63,.06)!important;box-shadow:0 4px 14px rgba(55,43,46,.035)!important;margin-bottom:0!important;border-radius:0!important;background:#fff!important;position:relative}.mm-settings-v225>.mm-settings-card>div:first-child{padding:13px 15px!important;min-height:66px!important}.mm-settings-v225>.mm-settings-card>div:first-child>div{gap:11px!important}.mm-settings-v225>.mm-settings-card>div:first-child>div>span:first-child{width:38px!important;height:38px!important;border-radius:12px!important;font-size:18px!important;background:#F3EFEC!important;color:#4B1E3F!important}.mm-settings-v225>.mm-settings-card>div:first-child>span:last-child{color:#4B1E3F!important}.mm-settings-v225>.mm-settings-card>div:first-child>div>div>div:first-child{font-size:14px!important;color:#352A31!important}.mm-settings-v225>.mm-settings-card>div:first-child>div>div>div:nth-child(2){font-size:11.5px!important;color:#8C8386!important}.mm-settings-v225>.mm-settings-planning,.mm-settings-v225>.mm-settings-account,.mm-settings-v225>.mm-settings-feedback{border-radius:17px 17px 0 0!important}.mm-settings-v225>.mm-settings-pleasure,.mm-settings-v225>.mm-settings-notifications,.mm-settings-v225>.mm-settings-privacy,.mm-settings-v225>.mm-settings-replay{border-radius:0 0 17px 17px!important}.mm-settings-v225>.mm-settings-privacy{border-radius:17px!important}.mm-settings-v225>.mm-settings-preferences{border-top:0!important;border-bottom:0!important}.mm-settings-v225>.mm-settings-pleasure,.mm-settings-v225>.mm-settings-notifications{border-top:0!important}.mm-settings-v225>.mm-settings-account{border-bottom:0!important}.mm-settings-v225>.mm-settings-feedback{border-bottom:0!important}.mm-settings-v225>.mm-settings-replay{border-top:0!important}.mm-settings-v225>.mm-settings-preferences::after,.mm-settings-v225>.mm-settings-account::after,.mm-settings-v225>.mm-settings-feedback::after{content:"";position:absolute;left:64px;right:14px;bottom:0;height:1px;background:#EEE8E4}
.mm-settings-v225>.mm-settings-reset{margin-top:22px!important;border-radius:17px!important;border:1px solid rgba(198,73,70,.22)!important;background:#FFF9F8!important;box-shadow:none!important}.mm-settings-v225>.mm-settings-reset>div:first-child>div>span:first-child{background:#FCE9E7!important;color:#C84A45!important}.mm-settings-v225>.mm-settings-reset>div:first-child>div>div>div:first-child{color:#B53E3A!important}.mm-settings-v225>.mm-settings-version{text-align:center!important;margin:14px 0 4px!important;color:#A49A9D!important;font-size:10.5px!important}

/* V399 — Assistant Menumia : bottom sheet premium, conversation et actions rapides */
.mm-assistant-overlay{position:fixed;inset:0;z-index:65}
.mm-assistant-backdrop{position:absolute;inset:0;background:rgba(35,24,34,.34);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);opacity:0;transition:opacity .24s ease}
.mm-assistant-overlay.is-open .mm-assistant-backdrop{opacity:1}
.mm-assistant-sheet{
  position:absolute;left:50%;right:auto;bottom:0;width:min(100%,430px);height:min(82dvh,760px);max-height:82dvh;
  margin:0!important;display:flex;flex-direction:column;overflow:hidden;
  background:#FFFDFC!important;border:1px solid rgba(75,30,63,.07)!important;border-bottom:0!important;
  border-radius:30px 30px 0 0!important;box-shadow:0 -18px 54px rgba(48,28,44,.16)!important;
  transform:translate(-50%,110%);transition:transform .3s cubic-bezier(.22,.8,.3,1)
}
.mm-assistant-overlay.is-open .mm-assistant-sheet{transform:translate(-50%,0)}
.mm-assistant-handle{flex:0 0 auto;width:38px;height:4px;border-radius:999px;background:#DDD5D9;margin:10px auto 2px}
.mm-assistant-header{
  flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:8px 18px 15px!important;background:#FFFDFC!important;border:0!important
}
.mm-assistant-title{display:flex;align-items:center;gap:11px;min-width:0;color:#35182F}
.mm-assistant-title>span:last-child{display:flex;flex-direction:column;min-width:0}
.mm-assistant-title b{font-family:Georgia,"Times New Roman",serif;font-size:18px;line-height:1.1;letter-spacing:-.025em;color:#35182F}
.mm-assistant-title small{font-size:11px;line-height:1.25;color:#91858D;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mm-assistant-mark{
  width:38px!important;height:38px!important;flex:0 0 38px;border:0!important;border-radius:13px!important;
  background:#F2E8F0!important;color:#6C3C6E!important;display:inline-flex;align-items:center;justify-content:center
}
.mm-assistant-mark .ti{font-size:19px}
.mm-assistant-close{
  appearance:none;-webkit-appearance:none;width:38px!important;height:38px!important;flex:0 0 38px;
  padding:0!important;border:0!important;border-radius:13px!important;background:#F6F1ED!important;
  color:#8C8388!important;display:flex;align-items:center;justify-content:center;cursor:pointer
}
.mm-assistant-close .ti{font-size:19px}
.mm-assistant-content{
  flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  padding:8px 18px 18px;scrollbar-width:none
}
.mm-assistant-content::-webkit-scrollbar{display:none}
.mm-assistant-start{display:flex;flex-direction:column;gap:15px}
.mm-assistant-welcome{
  display:flex;align-items:flex-start;gap:11px;padding:15px 16px;border-radius:20px;
  background:linear-gradient(135deg,#F5EAF3 0%,#F9F4F7 100%);border:1px solid rgba(89,48,86,.05)
}
.mm-assistant-welcome-icon{
  width:31px;height:31px;flex:0 0 31px;border-radius:11px;background:rgba(255,255,255,.72);
  color:#6C3C6E;display:flex;align-items:center;justify-content:center
}
.mm-assistant-welcome-icon .ti{font-size:16px}
.mm-assistant-welcome strong{display:block;color:#35182F;font-size:14px;line-height:1.25;margin:1px 0 3px}
.mm-assistant-welcome p{margin:0;color:#655A61;font-size:13px;line-height:1.42}
.mm-assistant-suggestions-label{
  margin:0 2px -3px;color:#978A93;font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase
}
.mm-assistant-quick-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px}
.mm-assistant-quick-card{
  appearance:none;-webkit-appearance:none;position:relative;display:flex;align-items:flex-start;gap:10px;
  min-width:0;min-height:94px;padding:13px!important;text-align:left;border:1px solid rgba(75,30,63,.065)!important;
  border-radius:18px!important;background:#FFF!important;color:#332B30!important;box-shadow:0 6px 18px rgba(55,43,46,.045);
  cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,background .14s ease
}
.mm-assistant-quick-card:active{transform:scale(.985);background:#FCF8FB!important}
.mm-assistant-quick-card.is-wide{grid-column:1/-1;min-height:72px;align-items:center}
.mm-assistant-quick-icon{
  width:34px;height:34px;flex:0 0 34px;border-radius:12px;background:#F3E9F2;color:#6E416E;
  display:flex;align-items:center;justify-content:center
}
.mm-assistant-quick-icon .ti{font-size:17px}
.mm-assistant-quick-copy{display:flex;flex-direction:column;gap:4px;min-width:0;padding-top:1px}
.mm-assistant-quick-copy strong{font-size:12.5px;line-height:1.2;color:#3B2D36}
.mm-assistant-quick-copy small{font-size:10.5px;line-height:1.3;color:#93878E;font-weight:500}
.mm-assistant-quick-arrow{margin-left:auto;align-self:center;color:#A1959C;font-size:16px}
.mm-assistant-chips{display:flex;flex-wrap:wrap;gap:7px}
.mm-assistant-chips button{
  appearance:none;-webkit-appearance:none;min-height:32px!important;padding:6px 11px!important;border-radius:999px!important;
  border:1px solid rgba(75,30,63,.10)!important;background:#FAF7F5!important;color:#685D63!important;
  font-size:10.8px!important;font-weight:650!important;cursor:pointer
}
.mm-assistant-message{display:flex;align-items:flex-end;gap:8px;margin:0 0 12px}
.mm-assistant-message.is-user{justify-content:flex-end;padding-left:38px}
.mm-assistant-message.is-assistant{justify-content:flex-start;padding-right:28px}
.mm-assistant-message.has-proposal{padding-right:8px}
.mm-assistant-avatar{
  width:27px;height:27px;flex:0 0 27px;margin-bottom:2px;border-radius:10px;background:#F1E6EF;color:#70436C;
  display:flex;align-items:center;justify-content:center
}
.mm-assistant-avatar .ti{font-size:14px}
.mm-assistant-bubble{
  max-width:100%;padding:11px 13px;border-radius:17px 17px 17px 6px;background:#F5EBF3;color:#3A3036;
  font-size:12.8px;line-height:1.45;box-shadow:0 3px 12px rgba(55,43,46,.025)
}
.mm-assistant-message.has-proposal .mm-assistant-bubble{width:100%;padding:12px}
.mm-assistant-message.is-user .mm-assistant-bubble{
  background:#654066;color:#FFF;border-radius:17px 17px 6px 17px
}
.mm-assistant-message-text{white-space:pre-wrap;overflow-wrap:anywhere}
.mm-assistant-proposal{display:flex;flex-direction:column;gap:10px}
.mm-assistant-proposal-heading{display:flex;align-items:center;gap:10px;min-width:0}
.mm-assistant-proposal-icon{
  width:34px;height:34px;flex:0 0 34px;border-radius:11px;background:rgba(255,255,255,.72);color:#70436C;
  display:flex;align-items:center;justify-content:center
}
.mm-assistant-proposal-icon .ti{font-size:17px}
.mm-assistant-proposal-heading>div{min-width:0;display:flex;flex-direction:column;gap:1px}
.mm-assistant-proposal-heading small{
  color:#9A8893;font-size:9.8px;font-weight:750;letter-spacing:.02em;text-transform:uppercase
}
.mm-assistant-proposal-heading strong{
  color:#342A30;font-size:14.2px;line-height:1.3;overflow-wrap:anywhere
}
.mm-assistant-proposal-meta{display:flex;flex-wrap:wrap;gap:5px}
.mm-assistant-proposal-meta span,
.mm-assistant-proposal-ingredients span{
  display:inline-flex;align-items:center;min-height:25px;padding:4px 8px;border-radius:999px;
  background:rgba(255,255,255,.7);border:1px solid rgba(75,30,63,.07);color:#675B62;font-size:10.2px;font-weight:650
}
.mm-assistant-proposal-preview{display:flex;flex-direction:column;gap:6px}
.mm-assistant-proposal-label{font-size:10.4px;font-weight:750;color:#70636A}
.mm-assistant-proposal-ingredients{display:flex;flex-wrap:wrap;gap:5px}
.mm-assistant-proposal-change-list{display:flex;flex-direction:column;gap:6px}
.mm-assistant-proposal-change-list>div{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:7px 9px;border-radius:10px;
  background:rgba(255,255,255,.62);border:1px solid rgba(75,30,63,.06)
}
.mm-assistant-proposal-change-list strong{font-size:10.3px;line-height:1.35;color:#5E5058}
.mm-assistant-proposal-change-list span{max-width:62%;font-size:10.3px;line-height:1.35;color:#7C7077;text-align:right;overflow-wrap:anywhere}
.mm-assistant-proposal-details{
  margin-top:1px;padding-top:8px;border-top:1px solid rgba(75,30,63,.08);color:#5B4F56
}
.mm-assistant-proposal-details summary{
  cursor:pointer;list-style:none;font-size:10.8px;font-weight:750;color:#70436C;display:flex;align-items:center;gap:5px
}
.mm-assistant-proposal-details summary::-webkit-details-marker{display:none}
.mm-assistant-proposal-details summary::after{content:"›";font-size:15px;line-height:1;transform:rotate(90deg);transition:transform .15s ease}
.mm-assistant-proposal-details[open] summary::after{transform:rotate(-90deg)}
.mm-assistant-proposal-detail-block{margin-top:9px}
.mm-assistant-proposal-detail-block>strong{font-size:10.8px;color:#44383F}
.mm-assistant-proposal-detail-block ul,
.mm-assistant-proposal-detail-block ol{margin:5px 0 0;padding-left:18px}
.mm-assistant-proposal-detail-block li{margin:0 0 4px;font-size:10.8px;line-height:1.4}
.mm-assistant-confirm-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px;padding-top:10px;border-top:1px solid rgba(75,30,63,.08)}
.mm-assistant-confirm-actions button{min-height:34px!important}
.mm-assistant-confirm-actions button:first-child{flex:1 1 140px}
.mm-assistant-status{display:flex;align-items:center;gap:6px;margin-top:9px;padding-top:8px;border-top:1px solid rgba(75,30,63,.08);font-size:10.8px;font-weight:700}
.mm-assistant-status.is-applied{color:#627A61}.mm-assistant-status.is-cancelled{color:#91858D}.mm-assistant-status.is-error{color:#A95757}
.mm-assistant-status .ti{font-size:14px}
.mm-assistant-results{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.mm-assistant-result{
  appearance:none;-webkit-appearance:none;width:100%;min-height:44px!important;padding:8px 10px!important;border:1px solid rgba(75,30,63,.07)!important;
  border-radius:12px!important;background:rgba(255,255,255,.76)!important;color:#44363F!important;
  display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;cursor:pointer
}
.mm-assistant-result>span{min-width:0;display:flex;flex-direction:column;gap:2px;overflow:hidden}
.mm-assistant-result strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11.7px;line-height:1.3}
.mm-assistant-result small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1.25;color:#8D8188}
.mm-assistant-result .ti{flex:0 0 auto;color:#9A8E95;font-size:14px}
.mm-assistant-thinking{display:flex;align-items:center;gap:8px;color:#756A71}
.mm-assistant-dots{display:inline-flex;align-items:center;gap:3px}
.mm-assistant-dots i{width:4px;height:4px;border-radius:50%;background:#8B7186;animation:mm-assistant-dot 1s infinite ease-in-out}
.mm-assistant-dots i:nth-child(2){animation-delay:.15s}.mm-assistant-dots i:nth-child(3){animation-delay:.3s}
@keyframes mm-assistant-dot{0%,60%,100%{opacity:.28;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}
.mm-assistant-composer{
  flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:11px 14px calc(11px + env(safe-area-inset-bottom));
  background:rgba(255,253,252,.97);border-top:1px solid rgba(75,30,63,.065);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)
}
.mm-assistant-input-wrap{
  flex:1;min-width:0;min-height:48px;display:flex;align-items:center;gap:8px;padding:0 13px;
  border:1px solid rgba(75,30,63,.14);border-radius:17px;background:#FAF7F8
}
.mm-assistant-input-wrap>i{flex:0 0 auto;color:#8A5A82;font-size:15px}
.mm-assistant-input-wrap input{
  flex:1;min-width:0;width:100%;min-height:46px!important;padding:0!important;border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;outline:0!important;color:#3A3036;font-size:12.8px!important
}
.mm-assistant-input-wrap input:focus{border:0!important;box-shadow:none!important}
.mm-assistant-input-wrap input::placeholder{color:#AAA0A6}
.mm-assistant-send{
  appearance:none;-webkit-appearance:none;width:48px;height:48px;min-height:48px!important;flex:0 0 48px;padding:0!important;
  border:0!important;border-radius:16px!important;background:#5F3A61!important;color:#FFF!important;
  display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 16px rgba(75,30,63,.16)
}
.mm-assistant-send .ti{font-size:20px}
.mm-assistant-send:disabled{opacity:.36;box-shadow:none;cursor:default}
@media(max-width:430px){
  .mm-assistant-sheet{width:100%;height:82dvh;max-height:82dvh;border-left:0!important;border-right:0!important}
}
@media(max-width:350px){
  .mm-assistant-quick-grid{grid-template-columns:1fr}
  .mm-assistant-quick-card.is-wide{grid-column:auto}
  .mm-assistant-title small{display:none}
}


/* V400 — finitions de l’assistant : état initial compact et affordances */
.mm-assistant-sheet.is-empty{
  height:auto!important;
  max-height:calc(100dvh - 92px)!important;
}
.mm-assistant-sheet.is-empty .mm-assistant-content{
  flex:0 1 auto;
  min-height:0;
  overflow-y:auto;
  padding-bottom:16px;
}
.mm-assistant-sheet.has-conversation{
  height:min(82dvh,760px)!important;
  max-height:82dvh!important;
}
.mm-assistant-close{
  width:44px!important;
  height:44px!important;
  flex:0 0 44px!important;
  background:transparent!important;
}
.mm-assistant-close .ti{
  width:34px;
  height:34px;
  border-radius:12px;
  background:#F6F1ED;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
}
.mm-assistant-quick-card:not(.is-wide){
  padding-right:30px!important;
}
.mm-assistant-quick-card:not(.is-wide) .mm-assistant-quick-arrow{
  position:absolute;
  right:11px;
  bottom:11px;
  margin:0;
  font-size:13px;
}
.mm-assistant-quick-card.is-wide .mm-assistant-quick-arrow{
  margin-left:auto;
}
@media(max-width:430px){
  .mm-assistant-sheet.is-empty{
    height:auto!important;
    max-height:calc(100dvh - max(72px, env(safe-area-inset-top) + 52px))!important;
  }
  .mm-assistant-sheet.has-conversation{
    height:82dvh!important;
    max-height:82dvh!important;
  }
}


/* V401 — finitions visuelles assistant : densité, alignements et clavier mobile */
.mm-assistant-overlay{height:100dvh}
.mm-assistant-start{gap:12px}
.mm-assistant-welcome{
  padding:12px 14px;
  gap:10px;
  border-radius:18px
}
.mm-assistant-welcome-icon{
  width:29px;
  height:29px;
  flex-basis:29px;
  border-radius:10px
}
.mm-assistant-welcome strong{
  font-size:13.5px;
  margin:0 0 2px
}
.mm-assistant-welcome p{
  font-size:12.5px;
  line-height:1.36
}
.mm-assistant-suggestions-label{
  margin:1px 2px -1px
}
.mm-assistant-quick-card:not(.is-wide){
  padding-right:34px!important
}
.mm-assistant-quick-card:not(.is-wide) .mm-assistant-quick-arrow{
  right:11px;
  top:50%;
  bottom:auto;
  transform:translateY(-50%);
  font-size:14px
}
.mm-assistant-chips{
  margin-top:-1px;
  gap:6px
}
.mm-assistant-sheet.is-empty .mm-assistant-content{
  padding-bottom:8px
}
.mm-assistant-sheet.is-empty .mm-assistant-composer{
  padding-top:9px
}
.mm-assistant-sheet.has-conversation{
  max-height:min(82dvh,calc(100dvh - max(16px,env(safe-area-inset-top))))!important
}
.mm-assistant-message.is-user .mm-assistant-bubble{
  max-width:88%
}
.mm-assistant-message.is-assistant .mm-assistant-bubble{
  max-width:94%
}
.mm-assistant-status{
  border-radius:10px
}
.mm-assistant-status.is-applied{
  color:#5F775E
}
.mm-assistant-status.is-applied::before{
  content:"";
  width:5px;
  height:5px;
  border-radius:50%;
  background:currentColor;
  flex:0 0 5px
}
@media(max-width:430px){
  .mm-assistant-sheet.has-conversation{
    height:82dvh!important;
    max-height:min(82dvh,calc(100dvh - max(12px,env(safe-area-inset-top))))!important
  }
}


/* V242 — iOS natif : panneaux ancrés dans le visual viewport lorsque le clavier est ouvert. */
body.menumia-native-app .mm-assistant-input-wrap input,
body.menumia-native-app .mm-recipe-detail-sheet input,
body.menumia-native-app .mm-recipe-detail-sheet textarea,
body.menumia-native-app .mm-recipe-detail-sheet select{
  font-size:16px!important;
}
body.menumia-native-keyboard-assistant{
  overflow:hidden!important;
}
body.menumia-native-keyboard-assistant .mm-assistant-overlay{
  top:var(--menumia-native-viewport-offset-top,0px)!important;
  bottom:auto!important;
  height:var(--menumia-native-viewport-height,100dvh)!important;
  max-height:var(--menumia-native-viewport-height,100dvh)!important;
}
body.menumia-native-keyboard-assistant .mm-assistant-sheet,
body.menumia-native-keyboard-assistant .mm-assistant-sheet.is-empty,
body.menumia-native-keyboard-assistant .mm-assistant-sheet.has-conversation{
  top:max(10px,env(safe-area-inset-top))!important;
  bottom:0!important;
  height:auto!important;
  max-height:none!important;
}
body.menumia-native-keyboard-assistant .mm-assistant-content{
  min-height:0!important;
  overflow-y:auto!important;
}
body.menumia-native-keyboard-assistant .mm-assistant-composer{
  padding-bottom:10px!important;
}

/* Aucun élément de navigation de l'app ne doit traverser un panneau natif pendant la saisie. */
body.menumia-native-keyboard-assistant:has(.mm-assistant-sheet) .mm-bottom-nav,
body.menumia-native-keyboard-recipe:has(.mm-recipe-detail-sheet) .mm-bottom-nav{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

body.menumia-native-keyboard-recipe{
  overflow:hidden!important;
}
body.menumia-native-keyboard-recipe .mm-recipe-detail-overlay{
  top:var(--menumia-native-viewport-offset-top,0px)!important;
  bottom:auto!important;
  height:var(--menumia-native-viewport-height,100dvh)!important;
  max-height:var(--menumia-native-viewport-height,100dvh)!important;
  align-items:flex-end!important;
  overflow:hidden!important;
}
body.menumia-native-keyboard-recipe .mm-recipe-detail-sheet{
  height:calc(100% - max(10px,env(safe-area-inset-top)))!important;
  max-height:calc(100% - max(10px,env(safe-area-inset-top)))!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  scroll-padding-top:16px;
  scroll-padding-bottom:28px;
}


/* V456 — PWA installée : comportement plus proche d'une app native sans bloquer le zoom d'accessibilité. */
html,body{overflow-x:hidden}
@media (display-mode: standalone){
  html,body{overscroll-behavior-y:none}
}


/* ============================================================
   MENUMIA UI V2 — LOT 1 : COMPOSANTS COMMUNS
   Couche visuelle activée uniquement via .mm-ui-v2-common.
   Aucun changement de structure des pages ni de logique métier.
============================================================ */
.mm-ui-v2-common{
  background:
    radial-gradient(circle at 92% 0%,rgba(185,101,134,.08),transparent 28%),
    linear-gradient(180deg,var(--mm-v2-bg) 0%,#FAF5F1 100%)!important;
  color:var(--mm-v2-text)!important;
  font-family:var(--mm-v2-font-body)!important;
}

/* En-tête de l'application */
.mm-ui-v2-common .mm-topbar{
  align-items:center!important;
  margin-bottom:16px!important;
}
.mm-ui-v2-common .mm-topbar-brand{gap:9px!important}
.mm-ui-v2-common .mm-topbar-mark{
  width:27px!important;
  height:35px!important;
  flex:0 0 27px!important;
}
.mm-ui-v2-common .mm-topbar-brand>div{
  display:flex;
  flex-direction:column;
  min-width:0;
}
.mm-ui-v2-common .mm-topbar-name{
  font-family:var(--mm-v2-font-display)!important;
  font-size:25px!important;
  line-height:1!important;
  font-weight:700!important;
  letter-spacing:-.035em!important;
  color:var(--mm-v2-primary-strong)!important;
}
.mm-ui-v2-common .mm-topbar-tagline{
  margin-top:4px!important;
  color:var(--mm-v2-text-muted)!important;
  font-size:9px!important;
  line-height:1.2!important;
}
.mm-ui-v2-common .mm-topbar-actions{gap:7px!important}
.mm-ui-v2-common .mm-topbar-action{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  border:1px solid var(--mm-v2-line)!important;
  border-radius:14px!important;
  background:rgba(255,253,252,.94)!important;
  color:var(--mm-v2-primary)!important;
  box-shadow:var(--mm-v2-shadow-sm)!important;
  transition:
    transform var(--mm-v2-motion-fast) var(--mm-v2-ease),
    background var(--mm-v2-motion-fast) var(--mm-v2-ease),
    box-shadow var(--mm-v2-motion-fast) var(--mm-v2-ease)!important;
}
.mm-ui-v2-common .mm-topbar-action:active{transform:scale(.97)}
.mm-ui-v2-common .mm-topbar-action:hover{background:var(--mm-v2-surface-soft)!important}
.mm-ui-v2-common .mm-topbar-action .ti{color:var(--mm-v2-primary)!important}
.mm-ui-v2-common .mm-profile-action{border-radius:14px!important}

/* Titres réutilisés par les écrans fonctionnels */
.mm-ui-v2-common .mm-page-heading{margin-bottom:14px!important}
.mm-ui-v2-common .mm-page-heading>div:first-child,
.mm-ui-v2-common .mm-secondary-title{
  font-family:var(--mm-v2-font-display)!important;
  color:var(--mm-v2-primary-strong)!important;
  font-size:28px!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
  font-weight:700!important;
}
.mm-ui-v2-common .mm-page-subtitle{
  margin-top:5px!important;
  color:var(--mm-v2-text-muted)!important;
  font-size:12.5px!important;
  line-height:1.42!important;
}

/* Champs et contrôles communs */
.mm-ui-v2-common input,
.mm-ui-v2-common select,
.mm-ui-v2-common textarea{
  border-color:var(--mm-v2-line)!important;
  border-radius:var(--mm-v2-radius-md)!important;
  background:var(--mm-v2-surface)!important;
  color:var(--mm-v2-text)!important;
  box-shadow:none!important;
}
.mm-ui-v2-common input:focus,
.mm-ui-v2-common select:focus,
.mm-ui-v2-common textarea:focus{
  border-color:rgba(123,46,90,.34)!important;
  box-shadow:var(--mm-v2-focus)!important;
}
.mm-ui-v2-common input::placeholder,
.mm-ui-v2-common textarea::placeholder{color:var(--mm-v2-text-faint)!important}

.mm-ui-v2-common .mm-chip{
  border-color:rgba(90,30,70,.07)!important;
  background:var(--mm-v2-surface-soft)!important;
  color:var(--mm-v2-text-muted)!important;
  border-radius:var(--mm-v2-radius-pill)!important;
  box-shadow:none!important;
}
.mm-ui-v2-common .mm-chip.is-active{
  border-color:var(--mm-v2-primary)!important;
  background:var(--mm-v2-primary)!important;
  color:#fff!important;
}
.mm-ui-v2-common .mm-check{
  border-color:rgba(90,30,70,.22)!important;
  background:var(--mm-v2-surface)!important;
}
.mm-ui-v2-common .mm-check:checked{
  border-color:var(--mm-v2-primary)!important;
  background:var(--mm-v2-primary)!important;
}

/* Sheets / panneaux transverses */
.mm-ui-v2-common .mm-sheet-overlay{
  background:rgba(46,26,39,.28)!important;
  backdrop-filter:blur(4px)!important;
  -webkit-backdrop-filter:blur(4px)!important;
}
.mm-ui-v2-common .mm-bottom-sheet,
.mm-ui-v2-common .mm-assistant-sheet{
  background:var(--mm-v2-surface)!important;
  border-color:var(--mm-v2-line)!important;
  box-shadow:var(--mm-v2-shadow-lg)!important;
}
.mm-ui-v2-common .mm-assistant-header{
  background:rgba(255,253,252,.95)!important;
}

/* Navigation principale mobile / tablette.
   Les règles desktop >=1100 px ci-dessous ne touchent pas au positionnement latéral existant. */
@media(max-width:1099px){
  .mm-ui-v2-common .mm-bottom-nav{
    background:rgba(255,253,252,.96)!important;
    border:1px solid rgba(90,30,70,.08)!important;
    box-shadow:0 -6px 28px rgba(66,18,49,.10)!important;
    backdrop-filter:blur(18px)!important;
    -webkit-backdrop-filter:blur(18px)!important;
  }
  .mm-ui-v2-common .mm-nav-item{
    min-height:54px!important;
    border-radius:15px!important;
    color:var(--mm-v2-text-faint)!important;
    transition:
      background var(--mm-v2-motion-fast) var(--mm-v2-ease),
      transform var(--mm-v2-motion-fast) var(--mm-v2-ease)!important;
  }
  .mm-ui-v2-common .mm-nav-item:active{transform:scale(.97)}
  .mm-ui-v2-common .mm-nav-item.is-active{
    background:var(--mm-v2-surface-soft)!important;
  }
  .mm-ui-v2-common .mm-nav-item .ti{
    color:var(--mm-v2-text-faint)!important;
    font-size:19px!important;
  }
  .mm-ui-v2-common .mm-nav-item.is-active .ti{color:var(--mm-v2-primary)!important}
  .mm-ui-v2-common .mm-nav-item>span:nth-child(2){
    color:var(--mm-v2-text-muted)!important;
    font-size:10px!important;
    font-weight:600!important;
  }
  .mm-ui-v2-common .mm-nav-item.is-active>span:nth-child(2){
    color:var(--mm-v2-primary)!important;
    font-weight:750!important;
  }
  .mm-ui-v2-common .mm-nav-item>span:last-child{display:none!important}
}

@media(max-width:759px){
  .mm-ui-v2-common .mm-main-shell{
    padding-left:16px!important;
    padding-right:16px!important;
    padding-bottom:96px!important;
  }
  .mm-ui-v2-common .mm-bottom-nav{
    width:100%!important;
    max-width:430px!important;
    left:50%!important;
    right:auto!important;
    bottom:0!important;
    transform:translateX(-50%)!important;
    border-left:0!important;
    border-right:0!important;
    border-bottom:0!important;
    border-radius:22px 22px 0 0!important;
    padding:7px 7px max(8px,env(safe-area-inset-bottom))!important;
  }
}

@media(min-width:760px) and (max-width:1099px){
  .mm-ui-v2-common .mm-bottom-nav{
    width:min(calc(100% - 56px),680px)!important;
    max-width:680px!important;
    left:50%!important;
    right:auto!important;
    bottom:12px!important;
    transform:translateX(-50%)!important;
    border-radius:22px!important;
    padding:8px 10px!important;
  }
}

/* Desktop : on conserve strictement la navigation latérale déjà en place,
   mais on adopte la nouvelle palette et les états du Design System. */
@media(min-width:1100px){
  .mm-ui-v2-common .mm-bottom-nav{
    background:rgba(255,253,252,.96)!important;
    border-color:var(--mm-v2-line)!important;
    box-shadow:var(--mm-v2-shadow-md)!important;
  }
  .mm-ui-v2-common .mm-bottom-nav .mm-nav-item{color:var(--mm-v2-text-muted)!important}
  .mm-ui-v2-common .mm-bottom-nav .mm-nav-item.is-active{
    background:var(--mm-v2-surface-soft)!important;
  }
  .mm-ui-v2-common .mm-bottom-nav .mm-nav-item .ti{color:var(--mm-v2-text-faint)!important}
  .mm-ui-v2-common .mm-bottom-nav .mm-nav-item.is-active .ti{color:var(--mm-v2-primary)!important}
  .mm-ui-v2-common .mm-bottom-nav .mm-nav-item>span:first-of-type{color:var(--mm-v2-text-muted)!important}
  .mm-ui-v2-common .mm-bottom-nav .mm-nav-item.is-active>span:first-of-type{color:var(--mm-v2-primary)!important}
}

.mm-ui-v2-common button:focus-visible,
.mm-ui-v2-common [role="button"]:focus-visible{
  outline:none!important;
  box-shadow:var(--mm-v2-focus)!important;
}

@media(max-width:380px){
  .mm-ui-v2-common .mm-topbar-name{font-size:23px!important}
  .mm-ui-v2-common .mm-topbar-tagline{display:none!important}
  .mm-ui-v2-common .mm-topbar-action{
    width:39px!important;
    height:39px!important;
    min-width:39px!important;
    min-height:39px!important;
  }
  .mm-ui-v2-common .mm-page-heading>div:first-child,
  .mm-ui-v2-common .mm-secondary-title{font-size:26px!important}
}

@media(prefers-reduced-motion:reduce){
  .mm-ui-v2-common .mm-topbar-action,
  .mm-ui-v2-common .mm-nav-item{transition:none!important}
  .mm-ui-v2-common .mm-topbar-action:active,
  .mm-ui-v2-common .mm-nav-item:active{transform:none!important}
}


/* ============================================================
   MENUMIA UI V2 — LOT 2 : ACCUEIL
============================================================ */
.mm-ui-v2-common .mm-home{gap:14px!important;max-width:100%}
.mm-ui-v2-common .mm-home-intro{padding:2px 2px 1px!important}
.mm-ui-v2-common .mm-home-greeting{font-family:var(--mm-v2-font-display)!important;color:var(--mm-v2-primary-strong)!important;font-size:28px!important;line-height:1.04!important;letter-spacing:-.035em!important}
.mm-ui-v2-common .mm-home-subtitle{margin-top:5px!important;color:var(--mm-v2-text-muted)!important;font-size:13px!important}
.mm-ui-v2-common .mm-home-main-meal .mm-meal-hero.is-compact{position:relative;overflow:hidden!important;border:1px solid rgba(90,30,70,.07)!important;border-radius:20px!important;background:var(--mm-v2-primary-strong)!important;box-shadow:0 12px 34px rgba(66,18,49,.13)!important}
.mm-ui-v2-common .mm-home-main-meal .mm-meal-hero.is-compact .mm-meal-hero-media{height:230px!important;background:#2d1825!important}
.mm-ui-v2-common .mm-home-main-meal .mm-meal-hero.is-compact .mm-meal-hero-media img{width:100%!important;height:100%!important;object-fit:cover!important}
.mm-ui-v2-common .mm-home-hero-gradient{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(24,10,19,.04) 25%,rgba(24,10,19,.18) 55%,rgba(24,10,19,.88) 100%)}
.mm-ui-v2-common .mm-home-hero-badge{position:absolute;top:12px;left:12px;z-index:3;display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:6px 10px;border-radius:999px;background:rgba(255,250,249,.94);color:var(--mm-v2-primary);font-size:11px;font-weight:750;box-shadow:var(--mm-v2-shadow-sm)}
.mm-ui-v2-common .mm-home-hero-heart{position:absolute;top:11px;right:11px;z-index:3;width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:50%;background:rgba(255,250,249,.95);color:var(--mm-v2-primary);box-shadow:var(--mm-v2-shadow-sm)}
.mm-ui-v2-common .mm-home-hero-heart .ti-heart-filled{color:#B94F74}
.mm-ui-v2-common .mm-home-main-meal .mm-meal-hero.is-compact .mm-meal-hero-body{position:relative;margin-top:-82px;padding:18px 14px 14px!important;background:transparent!important;z-index:2}
.mm-ui-v2-common .mm-home-main-meal .mm-home-meal-title{max-width:88%;margin:0 0 8px!important;font-family:var(--mm-v2-font-display)!important;color:#fff!important;font-size:24px!important;line-height:1.03!important;letter-spacing:-.025em!important;text-shadow:0 2px 12px rgba(0,0,0,.35)}
.mm-ui-v2-common .mm-home-main-meal .mm-home-meal-meta{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;margin-bottom:14px!important;color:rgba(255,255,255,.92)!important;font-size:11px!important}
.mm-ui-v2-common .mm-home-main-meal .mm-home-meal-meta span{display:inline-flex!important;align-items:center!important;gap:4px!important}
.mm-ui-v2-common .mm-home-main-meal .mm-home-meal-meta .is-leftovers{padding:4px 8px;border-radius:999px;background:#EAF4E9;color:#507456!important;font-weight:700}
.mm-ui-v2-common .mm-home-primary-actions{display:grid!important;grid-template-columns:minmax(0,1fr) 48px!important;gap:8px!important;margin:0!important}
.mm-ui-v2-common .mm-home-primary-actions>button:first-child{min-height:46px!important;border-radius:14px!important;background:linear-gradient(135deg,#842B61,var(--mm-v2-primary))!important;color:#fff!important;border:1px solid rgba(255,255,255,.25)!important;box-shadow:none!important;font-size:13px!important}
.mm-ui-v2-common .mm-home-meal-more{position:static!important;width:48px!important;height:46px!important;min-width:48px!important;min-height:46px!important;display:grid!important;place-items:center!important;border:1px solid rgba(90,30,70,.09)!important;border-radius:14px!important;background:#FFF9F8!important;color:var(--mm-v2-primary)!important;box-shadow:none!important}
.mm-ui-v2-common .mm-home-actions-overlay{position:fixed;inset:0;z-index:380;display:flex;align-items:flex-end;justify-content:center;background:rgba(34,19,29,.38);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.mm-ui-v2-common .mm-home-actions-sheet{width:min(100%,430px);max-height:88vh;overflow:auto;padding:8px 16px calc(18px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;background:var(--mm-v2-surface);box-shadow:0 -18px 52px rgba(46,20,37,.20)}
.mm-ui-v2-common .mm-home-actions-handle{width:34px;height:4px;margin:2px auto 14px;border-radius:999px;background:#DCCFD6}
.mm-ui-v2-common .mm-home-actions-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:0 2px 13px}
.mm-ui-v2-common .mm-home-actions-header>div{display:flex;flex-direction:column;gap:4px}
.mm-ui-v2-common .mm-home-actions-header span{font-family:var(--mm-v2-font-display);font-size:20px;font-weight:700;color:var(--mm-v2-primary-strong)}
.mm-ui-v2-common .mm-home-actions-header strong{font-size:12px;color:var(--mm-v2-text-muted);font-weight:600}
.mm-ui-v2-common .mm-home-actions-header>button{width:38px;height:38px;border:0;border-radius:50%;background:var(--mm-v2-surface-soft);color:var(--mm-v2-primary)}
.mm-ui-v2-common .mm-home-actions-list{overflow:hidden;border:1px solid var(--mm-v2-line);border-radius:18px;background:#fff}
.mm-ui-v2-common .mm-home-actions-list>button{width:100%;min-height:64px;display:grid;grid-template-columns:30px minmax(0,1fr) 18px;align-items:center;gap:10px;padding:10px 13px;border:0;border-bottom:1px solid var(--mm-v2-line);background:#fff;color:var(--mm-v2-text);text-align:left}
.mm-ui-v2-common .mm-home-actions-list>button:last-child{border-bottom:0}
.mm-ui-v2-common .mm-home-actions-list>button>i:first-child{font-size:19px;color:var(--mm-v2-primary)}
.mm-ui-v2-common .mm-home-actions-list>button>i:last-child{font-size:15px;color:var(--mm-v2-text-faint)}
.mm-ui-v2-common .mm-home-actions-list>button>span{display:flex;flex-direction:column;gap:3px;min-width:0}
.mm-ui-v2-common .mm-home-actions-list>button strong{font-size:13px;color:var(--mm-v2-text);font-weight:750}
.mm-ui-v2-common .mm-home-actions-list>button small{font-size:10.5px;color:var(--mm-v2-text-muted);line-height:1.3}
.mm-ui-v2-common .mm-home-actions-list>button.is-accent{background:#FCF2F6}
.mm-ui-v2-common .mm-home-tasks{margin:0!important}
.mm-ui-v2-common .mm-home-section-heading{margin:0 2px 7px!important;color:var(--mm-v2-primary-strong)!important;font-family:var(--mm-v2-font-display);font-size:17px;font-weight:700}
.mm-ui-v2-common .mm-home-task-list{overflow:hidden;border:1px solid var(--mm-v2-line);border-radius:16px;background:var(--mm-v2-surface)}
.mm-ui-v2-common .mm-home-task{min-height:64px!important;border:0!important;background:transparent!important;box-shadow:none!important}
.mm-ui-v2-common .mm-home-task-icon{background:var(--mm-v2-surface-soft)!important;color:var(--mm-v2-primary)!important}
.mm-ui-v2-common .mm-home-quick-status{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
.mm-ui-v2-common .mm-home-status-card{min-height:84px!important;padding:12px!important;display:grid!important;grid-template-columns:34px minmax(0,1fr) 14px!important;align-items:center!important;gap:8px!important;border:1px solid var(--mm-v2-line)!important;border-radius:16px!important;background:linear-gradient(145deg,#FFFDFC,#F8F1EC)!important;box-shadow:var(--mm-v2-shadow-sm)!important;text-align:left!important}
.mm-ui-v2-common .mm-home-status-card:last-child{background:linear-gradient(145deg,#FFFDFC,#F8EDF1)!important}
.mm-ui-v2-common .mm-home-status-icon{width:34px!important;height:34px!important;display:grid!important;place-items:center!important;border-radius:11px!important;background:#F4E6EC!important;color:var(--mm-v2-primary)!important}
.mm-ui-v2-common .mm-home-status-copy{display:flex!important;flex-direction:column!important;gap:3px!important;min-width:0}
.mm-ui-v2-common .mm-home-status-title{font-size:13px!important;font-weight:800!important;color:var(--mm-v2-primary-strong)!important}
.mm-ui-v2-common .mm-home-status-title b{display:inline-grid!important;place-items:center!important;min-width:20px!important;height:20px!important;margin-left:3px!important;border-radius:999px!important;background:#F2DDE6!important;color:var(--mm-v2-primary)!important;font-size:10px!important}
.mm-ui-v2-common .mm-home-status-subtitle{font-size:10.5px!important;color:var(--mm-v2-text-muted)!important;white-space:normal!important}
.mm-ui-v2-common .mm-home-change-banner.mm-home-inspiration{display:block!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.mm-ui-v2-common .mm-home-inspiration-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:0 2px 9px}
.mm-ui-v2-common .mm-home-inspiration-head>div{display:flex;flex-direction:column;gap:2px}
.mm-ui-v2-common .mm-home-inspiration-head strong{font-family:var(--mm-v2-font-display);font-size:18px;color:var(--mm-v2-primary-strong)}
.mm-ui-v2-common .mm-home-inspiration-head small{font-size:11.5px;color:var(--mm-v2-text-muted)}
.mm-ui-v2-common .mm-home-inspiration-head>button{border:0;background:transparent;color:var(--mm-v2-primary);font-size:11px;font-weight:750;padding:5px 0}
.mm-ui-v2-common .mm-home-ideas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.mm-ui-v2-common .mm-home-idea-card{min-width:0;padding:0;border:1px solid var(--mm-v2-line);border-radius:15px;overflow:hidden;background:var(--mm-v2-surface);box-shadow:var(--mm-v2-shadow-sm);text-align:left}
.mm-ui-v2-common .mm-home-idea-media{position:relative;display:block;width:100%;aspect-ratio:1.32/1;overflow:hidden;background:#f2ece8}
.mm-ui-v2-common .mm-home-idea-media img{width:100%;height:100%;display:block;object-fit:cover}
.mm-ui-v2-common .mm-home-idea-heart{position:absolute;top:6px;right:6px;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.92);color:#B94F74;font-size:12px}
.mm-ui-v2-common .mm-home-idea-copy{display:flex;flex-direction:column;gap:6px;padding:8px}
.mm-ui-v2-common .mm-home-idea-copy strong{min-height:30px;font-size:11px;line-height:1.25;color:var(--mm-v2-text);font-weight:750;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mm-ui-v2-common .mm-home-idea-copy small{display:flex;gap:7px;flex-wrap:wrap;font-size:9px;color:var(--mm-v2-text-muted)}
.mm-ui-v2-common .mm-home-idea-copy small span{display:inline-flex;align-items:center;gap:3px}
.mm-ui-v2-common .mm-home-inspiration-all{width:100%;min-height:42px;margin-top:9px;border:1px solid var(--mm-v2-line);border-radius:13px;background:var(--mm-v2-surface-soft);color:var(--mm-v2-primary);font-size:11.5px;font-weight:750}
@media(max-width:365px){.mm-ui-v2-common .mm-home-main-meal .mm-meal-hero.is-compact .mm-meal-hero-media{height:210px!important}.mm-ui-v2-common .mm-home-main-meal .mm-home-meal-title{font-size:21px!important}.mm-ui-v2-common .mm-home-quick-status{grid-template-columns:1fr!important}.mm-ui-v2-common .mm-home-ideas{grid-template-columns:repeat(2,minmax(0,1fr))}.mm-ui-v2-common .mm-home-idea-card:nth-child(3){display:none}}
@media(min-width:760px){.mm-ui-v2-common .mm-home-main-meal .mm-meal-hero.is-compact .mm-meal-hero-media{height:320px!important}.mm-ui-v2-common .mm-home-main-meal .mm-meal-hero.is-compact .mm-meal-hero-body{margin-top:-94px}.mm-ui-v2-common .mm-home-main-meal .mm-home-meal-title{font-size:30px!important}.mm-ui-v2-common .mm-home-actions-sheet{border-radius:24px;margin-bottom:24px;max-width:520px}}


/* ============================================================
   MENUMIA UI V2 — LOT 2.1 : PIXEL POLISH ACCUEIL
   Ajustements issus de la comparaison capture iPhone / maquette.
============================================================ */
@media(max-width:759px){
  .mm-ui-v2-common .mm-home{gap:12px!important}
  .mm-ui-v2-common .mm-home-greeting{font-size:24px!important;line-height:1.02!important}
  .mm-ui-v2-common .mm-home-subtitle{font-size:12.5px!important;margin-top:4px!important}

  .mm-ui-v2-common .mm-home-main-meal .mm-meal-hero.is-compact{border-radius:18px!important}
  .mm-ui-v2-common .mm-home-main-meal .mm-meal-hero.is-compact .mm-meal-hero-media{height:205px!important;border-radius:18px 18px 0 0!important}
  .mm-ui-v2-common .mm-home-main-meal .mm-meal-hero.is-compact .mm-meal-hero-body{
    margin-top:-70px!important;
    padding:13px 12px 12px!important;
  }
  .mm-ui-v2-common .mm-home-main-meal .mm-home-meal-title{
    max-width:90%!important;
    font-size:21px!important;
    line-height:1.02!important;
    margin-bottom:6px!important;
  }
  .mm-ui-v2-common .mm-home-main-meal .mm-home-meal-meta{
    gap:8px!important;
    margin-bottom:10px!important;
    font-size:10.5px!important;
  }
  .mm-ui-v2-common .mm-home-main-meal .mm-home-meal-meta i{font-size:13px!important}
  .mm-ui-v2-common .mm-home-main-meal .mm-home-meal-meta .is-leftovers{padding:3px 7px!important}
  .mm-ui-v2-common .mm-home-hero-badge{
    top:10px!important;left:10px!important;min-height:28px!important;padding:5px 9px!important;font-size:10.5px!important;
  }
  .mm-ui-v2-common .mm-home-hero-heart{top:9px!important;right:9px!important;width:36px!important;height:36px!important}
  .mm-ui-v2-common .mm-home-main-meal .mm-home-defrost-badge{
    top:44px!important;left:10px!important;z-index:4!important;
    min-height:27px!important;padding:0 9px!important;
    font-size:10px!important;box-shadow:0 3px 10px rgba(45,80,115,.09)!important;
  }
  .mm-ui-v2-common .mm-home-main-meal .mm-home-defrost-badge i{font-size:13px!important}
  .mm-ui-v2-common .mm-home-primary-actions{grid-template-columns:minmax(0,1fr) 44px!important;gap:7px!important}
  .mm-ui-v2-common .mm-home-primary-actions>button:first-child{min-height:42px!important;border-radius:13px!important;font-size:12.5px!important}
  .mm-ui-v2-common .mm-home-meal-more{width:44px!important;height:42px!important;min-width:44px!important;min-height:42px!important;border-radius:13px!important}

  .mm-ui-v2-common .mm-home-section-heading{
    display:flex!important;align-items:center!important;justify-content:space-between!important;
    margin:1px 2px 6px!important;
  }
  .mm-ui-v2-common .mm-home-section-heading>span{
    font-family:var(--mm-v2-font-display)!important;
    font-size:16px!important;line-height:1.1!important;font-weight:700!important;
    color:var(--mm-v2-primary-strong)!important;letter-spacing:-.02em!important;
  }
  .mm-ui-v2-common .mm-home-section-heading>button{
    min-height:30px!important;padding:4px 0!important;border:0!important;background:transparent!important;
    color:var(--mm-v2-primary)!important;font-size:10.5px!important;font-weight:750!important;
    display:inline-flex!important;align-items:center!important;gap:3px!important;
  }
  .mm-ui-v2-common .mm-home-task-list{border-radius:15px!important}
  .mm-ui-v2-common .mm-home-task{
    min-height:56px!important;padding:8px 10px!important;
    grid-template-columns:34px minmax(0,1fr) 16px!important;gap:8px!important;
  }
  .mm-ui-v2-common .mm-home-task-icon{width:34px!important;height:34px!important;border-radius:10px!important}
  .mm-ui-v2-common .mm-home-task-copy{display:flex!important;flex-direction:column!important;gap:2px!important;min-width:0!important}
  .mm-ui-v2-common .mm-home-task-label{font-size:11.5px!important;line-height:1.25!important}
  .mm-ui-v2-common .mm-home-task-copy small{font-size:9.5px!important;line-height:1.2!important;color:var(--mm-v2-text-muted)!important}

  .mm-ui-v2-common .mm-home-quick-status{gap:8px!important}
  .mm-ui-v2-common .mm-home-status-card{
    min-height:68px!important;padding:9px!important;
    grid-template-columns:30px minmax(0,1fr) 12px!important;gap:7px!important;border-radius:15px!important;
  }
  .mm-ui-v2-common .mm-home-status-card:first-child{background:linear-gradient(145deg,#FFFDFC,#EFF5E8)!important}
  .mm-ui-v2-common .mm-home-status-card:last-child{background:linear-gradient(145deg,#FFFDFC,#F8EAF0)!important}
  .mm-ui-v2-common .mm-home-status-icon{width:30px!important;height:30px!important;border-radius:10px!important}
  .mm-ui-v2-common .mm-home-status-icon i{font-size:16px!important}
  .mm-ui-v2-common .mm-home-status-title{font-size:12px!important;gap:4px!important}
  .mm-ui-v2-common .mm-home-status-title b{min-width:18px!important;height:18px!important;font-size:8.5px!important}
  .mm-ui-v2-common .mm-home-status-subtitle{font-size:9.5px!important;line-height:1.15!important}

  .mm-ui-v2-common .mm-home-change-banner.mm-home-inspiration{
    min-height:0!important;
    grid-template-columns:none!important;
    gap:0!important;
    border-radius:0!important;
  }
  .mm-ui-v2-common .mm-home-inspiration-head{align-items:flex-end!important;margin:2px 2px 7px!important}
  .mm-ui-v2-common .mm-home-inspiration-head strong{
    font-size:16px!important;line-height:1.08!important;color:var(--mm-v2-primary-strong)!important;
  }
  .mm-ui-v2-common .mm-home-inspiration-head small{font-size:10.5px!important}
  .mm-ui-v2-common .mm-home-inspiration-head>button{font-size:10.5px!important}
  .mm-ui-v2-common .mm-home-ideas{gap:7px!important}
  .mm-ui-v2-common .mm-home-idea-card{border-radius:13px!important}
  .mm-ui-v2-common .mm-home-idea-media{aspect-ratio:1.55/1!important}
  .mm-ui-v2-common .mm-home-idea-copy{gap:4px!important;padding:7px!important}
  .mm-ui-v2-common .mm-home-idea-copy strong{min-height:27px!important;font-size:10.2px!important;line-height:1.2!important}
  .mm-ui-v2-common .mm-home-idea-copy small{gap:5px!important;font-size:8.3px!important;line-height:1.1!important}

  .mm-ui-v2-common .mm-bottom-nav{
    padding:5px 6px max(5px,env(safe-area-inset-bottom))!important;
    border-radius:20px 20px 0 0!important;
  }
  .mm-ui-v2-common .mm-nav-item{min-height:48px!important;padding:4px 3px!important;border-radius:13px!important}
  .mm-ui-v2-common .mm-nav-item .ti{font-size:18px!important}
  .mm-ui-v2-common .mm-nav-item>span:nth-child(2){font-size:9px!important}
}

@media(max-width:380px){
  .mm-ui-v2-common .mm-home-main-meal .mm-meal-hero.is-compact .mm-meal-hero-media{height:192px!important}
  .mm-ui-v2-common .mm-home-main-meal .mm-home-meal-title{font-size:20px!important}
}


/* ============================================================
   MENUMIA UI V2 — LOT 2.2 : ICONES + SHEET NATIVE
   Icônes alignées sur la maquette + comportement iOS natif.
============================================================ */
.mm-ui-v2-common .mm-home-actions-overlay{
  overscroll-behavior:none!important;
}
.mm-ui-v2-common .mm-home-actions-sheet{
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
  transition:transform 180ms var(--mm-v2-ease);
  will-change:transform;
}
.mm-ui-v2-common .mm-home-actions-handle{
  cursor:grab;
  touch-action:none;
}
.mm-ui-v2-common .mm-home-actions-sheet:active .mm-home-actions-handle{cursor:grabbing}
.mm-ui-v2-common .mm-nav-bibliotheque .ti,
.mm-ui-v2-common .mm-nav-frigo .ti{font-size:20px!important}
.mm-ui-v2-common .mm-home-meal-meta .ti-chef-hat{font-size:13px!important}

.mm-ui-v2-common .mm-home-section-heading>span{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
}
.mm-ui-v2-common .mm-home-section-heading>span>.ti{
  font-size:14px!important;
  color:var(--mm-v2-primary)!important;
}


/* ============================================================
   MENUMIA UI V2 — LOT 2.3A : SOURCE DE VERITE MAQUETTE
   Référence : maquette Accueil validée. Le fond crème est repris
   directement de la zone intérieure du téléphone (#FEF8F2).
============================================================ */
.mm-ui-v2-common{
  --mm-v2-bg:#FEF8F2;
  --mm-v2-surface:#FFFCFA;
  --mm-v2-surface-soft:#FAEEF2;
  --mm-v2-primary:#6D174D;
  --mm-v2-primary-strong:#4B0D35;
  background:#FEF8F2!important;
}
.mm-ui-v2-common .mm-main-shell{background:transparent!important}
.mm-ui-v2-common .mm-topbar-action{
  background:#FFFDFC!important;
  border-color:rgba(75,13,53,.06)!important;
  box-shadow:0 5px 18px rgba(75,13,53,.055)!important;
}
.mm-ui-v2-common .mm-home-main-meal .mm-meal-hero.is-compact{
  border-color:rgba(75,13,53,.055)!important;
  box-shadow:0 10px 26px rgba(75,13,53,.09)!important;
}
.mm-ui-v2-common .mm-home-task-list,
.mm-ui-v2-common .mm-home-idea-card{
  background:#FFFCFA!important;
  border-color:rgba(75,13,53,.055)!important;
  box-shadow:0 5px 16px rgba(75,13,53,.045)!important;
}
.mm-ui-v2-common .mm-home-status-card:first-child{
  background:linear-gradient(145deg,#FFFCFA 6%,#F3F6E8 100%)!important;
}
.mm-ui-v2-common .mm-home-status-card:last-child{
  background:linear-gradient(145deg,#FFFCFA 6%,#FFF0F5 100%)!important;
}
.mm-ui-v2-common .mm-menumia-icon{
  display:block;
  flex:0 0 auto;
  color:currentColor;
  overflow:visible;
}
.mm-ui-v2-common .mm-nav-item .mm-menumia-icon{color:var(--mm-v2-text-faint)}
.mm-ui-v2-common .mm-nav-item.is-active .mm-menumia-icon{color:var(--mm-v2-primary)}
.mm-ui-v2-common .mm-topbar-action .mm-menumia-icon{color:var(--mm-v2-primary)}
.mm-ui-v2-common .mm-home-actions-overlay{
  z-index:2400!important;
  background:rgba(42,27,36,.42)!important;
  backdrop-filter:blur(1.5px)!important;
  -webkit-backdrop-filter:blur(1.5px)!important;
}
.mm-ui-v2-common .mm-home-actions-sheet{
  z-index:2401!important;
  width:min(100%,430px)!important;
  background:#FFFCFA!important;
  border-radius:24px 24px 0 0!important;
  box-shadow:0 -14px 44px rgba(38,20,31,.16)!important;
}
.mm-ui-v2-common .mm-home-actions-handle{
  width:42px!important;
  height:4px!important;
  background:#DCCFD6!important;
}
.mm-ui-v2-common .mm-home-actions-list>button>svg:first-child{
  color:var(--mm-v2-primary)!important;
}
.mm-ui-v2-common .mm-home-section-heading>span>.mm-menumia-icon{
  color:var(--mm-v2-primary)!important;
}
.mm-ui-v2-common .mm-home-status-icon .mm-menumia-icon{
  color:var(--mm-v2-primary)!important;
}


/* ============================================================
   MENUMIA UI V2 — LOT 2.3A.1 : PORTAL + COULEUR ICONES
============================================================ */
.mm-home-actions-portal{display:contents!important}
.mm-ui-v2-common .mm-nav-item .mm-menumia-icon{
  color:inherit!important;
}


/* ============================================================
   MENUMIA UI V2 — LOT 2.3B : PIXEL PERFECT MAQUETTE
   Ajustements visuels uniquement, sans changement métier.
============================================================ */
@media(max-width:759px){
  /* Header : même discrétion que la maquette, sans perdre les 3 accès existants. */
  .mm-ui-v2-common .mm-topbar{
    margin-bottom:12px!important;
    min-height:34px!important;
  }
  .mm-ui-v2-common .mm-topbar-mark{display:none!important}
  .mm-ui-v2-common .mm-topbar-tagline{display:none!important}
  .mm-ui-v2-common .mm-topbar-name{
    font-size:22px!important;
    line-height:1!important;
    letter-spacing:-.035em!important;
  }
  .mm-ui-v2-common .mm-topbar-actions{gap:3px!important}
  .mm-ui-v2-common .mm-topbar-action{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    min-height:34px!important;
    border:0!important;
    border-radius:50%!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .mm-ui-v2-common .mm-profile-action{
    background:#F5ECEF!important;
  }

  /* Rythme vertical proche de la maquette. */
  .mm-ui-v2-common .mm-home{gap:10px!important}
  .mm-ui-v2-common .mm-home-intro{padding:0 2px!important}
  .mm-ui-v2-common .mm-home-greeting{
    font-size:22px!important;
    line-height:1.02!important;
    letter-spacing:-.035em!important;
  }
  .mm-ui-v2-common .mm-home-subtitle{
    margin-top:3px!important;
    font-size:11.5px!important;
    line-height:1.35!important;
  }

  /* Hero plus compact, proche du ratio de la carte de référence. */
  .mm-ui-v2-common .mm-home-main-meal .mm-meal-hero.is-compact{
    border-radius:17px!important;
  }
  .mm-ui-v2-common .mm-home-main-meal .mm-meal-hero.is-compact .mm-meal-hero-media{
    height:198px!important;
    border-radius:17px 17px 0 0!important;
  }
  .mm-ui-v2-common .mm-home-main-meal .mm-meal-hero.is-compact .mm-meal-hero-body{
    margin-top:-64px!important;
    padding:11px 11px 11px!important;
  }
  .mm-ui-v2-common .mm-home-main-meal .mm-home-meal-title{
    max-width:86%!important;
    font-size:19px!important;
    line-height:1.04!important;
    letter-spacing:-.02em!important;
    margin-bottom:5px!important;
  }
  .mm-ui-v2-common .mm-home-main-meal .mm-home-meal-meta{
    gap:7px!important;
    margin-bottom:8px!important;
    font-size:10px!important;
  }
  .mm-ui-v2-common .mm-home-hero-badge{
    top:9px!important;left:9px!important;
    min-height:27px!important;padding:4px 9px!important;
    font-size:10px!important;
  }
  .mm-ui-v2-common .mm-home-hero-heart{
    top:8px!important;right:8px!important;
    width:34px!important;height:34px!important;
  }
  .mm-ui-v2-common .mm-home-primary-actions{
    grid-template-columns:minmax(0,1fr) 42px!important;
    gap:6px!important;
  }
  .mm-ui-v2-common .mm-home-primary-actions>button:first-child{
    min-height:40px!important;
    border-radius:12px!important;
    font-size:12px!important;
  }
  .mm-ui-v2-common .mm-home-meal-more{
    width:42px!important;height:40px!important;
    min-width:42px!important;min-height:40px!important;
    border-radius:12px!important;
  }

  /* Sections et cartes utilitaires. */
  .mm-ui-v2-common .mm-home-section-heading{
    margin:2px 2px 5px!important;
  }
  .mm-ui-v2-common .mm-home-section-heading>span{
    font-size:15px!important;
  }
  .mm-ui-v2-common .mm-home-section-heading>button,
  .mm-ui-v2-common .mm-home-inspiration-head>button{
    font-size:10px!important;
  }
  .mm-ui-v2-common .mm-home-task{
    min-height:54px!important;
  }
  .mm-ui-v2-common .mm-home-status-card{
    min-height:64px!important;
    border-radius:14px!important;
  }

  /* La maquette iPhone présente 2 inspirations lisibles, pas 3 miniatures tassées. */
  .mm-ui-v2-common .mm-home-ideas{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .mm-ui-v2-common .mm-home-idea-card:nth-child(n+3){display:none!important}
  .mm-ui-v2-common .mm-home-idea-card{border-radius:12px!important}
  .mm-ui-v2-common .mm-home-idea-media{aspect-ratio:1.45/1!important}
  .mm-ui-v2-common .mm-home-idea-copy{padding:7px 8px!important;gap:5px!important}
  .mm-ui-v2-common .mm-home-idea-copy strong{
    min-height:30px!important;
    font-size:10.5px!important;
    line-height:1.22!important;
  }
  .mm-ui-v2-common .mm-home-idea-copy small{
    font-size:8.7px!important;
    gap:7px!important;
  }
  .mm-ui-v2-common .mm-home-idea-heart{
    top:5px!important;right:5px!important;
    width:24px!important;height:24px!important;
    display:grid!important;place-items:center!important;
    background:rgba(255,253,252,.94)!important;
    color:var(--mm-v2-primary)!important;
  }
  .mm-ui-v2-common .mm-home-idea-heart.is-favorite{color:#B94F74!important}

  /* Bottom nav : icônes plus petites et respiration identique à la référence. */
  .mm-ui-v2-common .mm-bottom-nav{
    padding:6px 6px max(6px,env(safe-area-inset-bottom))!important;
    border-radius:18px 18px 0 0!important;
  }
  .mm-ui-v2-common .mm-nav-item{
    min-height:46px!important;
    padding:3px 3px!important;
    gap:4px!important;
  }
  .mm-ui-v2-common .mm-nav-item .mm-menumia-icon{
    width:18px!important;height:18px!important;
  }
  .mm-ui-v2-common .mm-nav-item>span:nth-child(2){font-size:8.8px!important}
}

/* Sheet : proportions et hiérarchie de la maquette centrale. */
.mm-home-actions-portal .mm-home-actions-overlay{
  background:rgba(42,27,36,.40)!important;
  backdrop-filter:blur(1.2px)!important;
  -webkit-backdrop-filter:blur(1.2px)!important;
}
.mm-home-actions-portal .mm-home-actions-sheet{
  max-height:min(82dvh,720px)!important;
  padding:7px 15px calc(16px + env(safe-area-inset-bottom))!important;
  border-radius:22px 22px 0 0!important;
}
.mm-home-actions-portal .mm-home-actions-handle{
  width:38px!important;
  height:4px!important;
  margin:1px auto 12px!important;
}
.mm-home-actions-portal .mm-home-actions-header{
  padding:0 1px 10px!important;
}
.mm-home-actions-portal .mm-home-actions-header span{
  font-size:19px!important;
  line-height:1.05!important;
}
.mm-home-actions-portal .mm-home-actions-header>button{
  width:36px!important;height:36px!important;
}
.mm-home-actions-portal .mm-home-actions-preview{
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  gap:10px;
  align-items:center;
  padding:0 2px 11px;
}
.mm-home-actions-portal .mm-home-actions-preview-media{
  width:54px;height:54px;
  border-radius:12px;
  overflow:hidden;
  display:block;
}
.mm-home-actions-portal .mm-home-actions-preview-media img{
  width:100%;height:100%;display:block;object-fit:cover;
}
.mm-home-actions-portal .mm-home-actions-preview-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:5px;
}
.mm-home-actions-portal .mm-home-actions-preview-copy>strong{
  color:var(--mm-v2-primary-strong);
  font-family:var(--mm-v2-font-display);
  font-size:14px;
  line-height:1.08;
}
.mm-home-actions-portal .mm-home-actions-preview-copy>small{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  color:var(--mm-v2-text-muted);
  font-size:9px;
}
.mm-home-actions-portal .mm-home-actions-preview-copy>small>span{
  display:inline-flex;align-items:center;gap:3px;
}
.mm-home-actions-portal .mm-home-actions-list{
  border-radius:15px!important;
}
.mm-home-actions-portal .mm-home-actions-list>button{
  min-height:58px!important;
  grid-template-columns:28px minmax(0,1fr) 16px!important;
  gap:9px!important;
  padding:9px 11px!important;
}
.mm-home-actions-portal .mm-home-actions-list>button strong{
  font-size:12.5px!important;
}
.mm-home-actions-portal .mm-home-actions-list>button small{
  font-size:9.5px!important;
  line-height:1.25!important;
}
.mm-home-actions-portal .mm-home-actions-list>button>.mm-menumia-icon:first-child{
  width:18px!important;height:18px!important;
}
.mm-home-actions-portal .mm-home-actions-list>button>.mm-menumia-icon:last-child{
  width:13px!important;height:13px!important;
  color:var(--mm-v2-text-faint)!important;
}


/* ============================================================
   MENUMIA UI V2 — LOT 2.3C : VERROUILLAGE ACCUEIL
   Icônes finales, tâche de décongélation cochable et dernières
   finitions visuelles de l'Accueil validé.
============================================================ */
@media(max-width:759px){
  /* Header : symbole Menumia compact, sans slogan. */
  .mm-ui-v2-common .mm-topbar{margin-bottom:11px!important}
  .mm-ui-v2-common .mm-topbar-brand{gap:7px!important}
  .mm-ui-v2-common .mm-topbar-mark{
    display:block!important;
    width:22px!important;
    height:27px!important;
    flex:0 0 22px!important;
  }
  .mm-ui-v2-common .mm-topbar-name{font-size:21px!important}
  .mm-ui-v2-common .mm-topbar-tagline{display:none!important}

  /* Hero : bandeau aubergine légèrement plus court et actions rapprochées. */
  .mm-ui-v2-common .mm-home-main-meal .mm-meal-hero.is-compact .mm-meal-hero-body{
    margin-top:-62px!important;
    padding:10px 10px 8px!important;
  }
  .mm-ui-v2-common .mm-home-main-meal .mm-home-meal-title{
    font-size:19px!important;
    line-height:1.04!important;
  }
  .mm-ui-v2-common .mm-home-primary-actions{
    grid-template-columns:minmax(0,1fr) 40px!important;
    gap:4px!important;
  }
  .mm-ui-v2-common .mm-home-primary-actions>button:first-child{min-height:39px!important}
  .mm-ui-v2-common .mm-home-meal-more{
    width:40px!important;height:39px!important;
    min-width:40px!important;min-height:39px!important;
  }

  /* À faire aujourd'hui : plus léger + vraie checkbox de décongélation. */
  .mm-ui-v2-common .mm-home-section-heading{margin:2px 2px 4px!important}
  .mm-ui-v2-common .mm-home-section-heading>span{
    font-size:14.5px!important;
    font-weight:650!important;
  }
  .mm-ui-v2-common .mm-home-task{
    min-height:50px!important;
    padding:7px 9px!important;
  }
  .mm-ui-v2-common .mm-home-task-label{
    font-size:11px!important;
    line-height:1.22!important;
    font-weight:650!important;
  }
  .mm-ui-v2-common .mm-home-task-copy small{font-size:9.2px!important}
  .mm-ui-v2-common .mm-home-defrost-task{
    grid-template-columns:28px minmax(0,1fr)!important;
    gap:9px!important;
    text-align:left!important;
  }
  .mm-ui-v2-common .mm-home-task-check{
    width:28px;height:28px;
    display:grid;place-items:center;
    color:var(--mm-v2-primary);
  }
  .mm-ui-v2-common .mm-home-defrost-task.is-done{background:#FCF8FA!important}
  .mm-ui-v2-common .mm-home-defrost-task.is-done .mm-home-task-copy{opacity:.58}

  /* Courses / Frigo : dégradés et chevrons plus subtils. */
  .mm-ui-v2-common .mm-home-status-card:first-child{
    background:linear-gradient(145deg,#FFFCFA 20%,#F8FAF2 100%)!important;
  }
  .mm-ui-v2-common .mm-home-status-card:last-child{
    background:linear-gradient(145deg,#FFFCFA 20%,#FCF4F7 100%)!important;
  }
  .mm-ui-v2-common .mm-home-status-card>.mm-menumia-icon:last-child{
    color:#B9B2B6!important;
    width:13px!important;height:13px!important;
  }

  /* Suggestions : bas des cartes stable et métadonnées toujours lisibles. */
  .mm-ui-v2-common .mm-home-idea-copy{
    min-height:68px!important;
    padding:7px 8px 9px!important;
  }
  .mm-ui-v2-common .mm-home-idea-copy strong{min-height:30px!important}
  .mm-ui-v2-common .mm-home-idea-copy small{
    margin-top:auto!important;
    min-height:14px!important;
    align-items:center!important;
  }

  /* Bottom-nav : inactifs plus petits et plus clairs. */
  .mm-ui-v2-common .mm-nav-item:not(.is-active) .mm-menumia-icon{
    width:16.5px!important;
    height:16.5px!important;
    color:#C2BCBE!important;
  }
  .mm-ui-v2-common .mm-nav-item.is-active .mm-menumia-icon{
    width:18px!important;
    height:18px!important;
    color:var(--mm-v2-primary)!important;
  }
  .mm-ui-v2-common .mm-nav-item:not(.is-active)>span:nth-child(2){
    color:#B9B2B5!important;
  }
}


/* ============================================================
   MENUMIA UI V2 — SAFE AREA IOS CREME
   Même surface #FEF8F2 derrière la status bar iOS et l'application.
============================================================ */
html.mm-standalone,
html.mm-standalone body,
html.mm-standalone #root,
html.mm-standalone .mm-app{
  background:var(--mm-page-bg,#FEF8F2)!important;
}
html.mm-standalone body::before{
  content:"";
  position:fixed;
  z-index:-1;
  inset:0 0 auto 0;
  height:max(env(safe-area-inset-top),1px);
  background:var(--mm-page-bg,#FEF8F2);
  pointer-events:none;
}


/* ============================================================
   MENUMIA UI V2 — LOT 2.4 : CONVERGENCE MAQUETTE REELLE
   La capture "Accueil principal" devient la référence canonique.
============================================================ */
@media(max-width:759px){
  /* Pas de double information décongélation dans le hero. */
  .mm-ui-v2-common .mm-home-main-meal .mm-home-defrost-badge{display:none!important}

  /* À faire aujourd'hui : carte basse, checkbox gauche, flocon bleu à droite. */
  .mm-ui-v2-common .mm-home-task-list{
    border-radius:13px!important;
    background:#FFFCFA!important;
    border:1px solid rgba(75,13,53,.055)!important;
    box-shadow:0 4px 14px rgba(75,13,53,.035)!important;
  }
  .mm-ui-v2-common .mm-home-defrost-task{
    min-height:58px!important;
    display:grid!important;
    grid-template-columns:24px minmax(0,1fr) 36px!important;
    gap:9px!important;
    align-items:center!important;
    padding:8px 10px!important;
    background:#FFFCFA!important;
    border-radius:13px!important;
  }
  .mm-ui-v2-common .mm-home-task-check{
    width:24px!important;height:24px!important;
    display:grid!important;place-items:center!important;
    color:#7A365F!important;
  }
  .mm-ui-v2-common .mm-home-task-copy{
    min-width:0!important;
    display:flex!important;
    flex-direction:column!important;
    gap:2px!important;
  }
  .mm-ui-v2-common .mm-home-task-label{
    font-size:10.6px!important;
    line-height:1.16!important;
    font-weight:650!important;
    color:#332B30!important;
  }
  .mm-ui-v2-common .mm-home-task-copy small{
    font-size:8.8px!important;
    line-height:1.2!important;
    color:#8A7F85!important;
  }
  .mm-ui-v2-common .mm-home-task-defrost-icon{
    width:34px!important;height:34px!important;
    border-radius:9px!important;
    display:grid!important;place-items:center!important;
    justify-self:end!important;
    background:#EAF4FF!important;
    color:#4888D8!important;
  }
  .mm-ui-v2-common .mm-home-task-defrost-icon .ti{
    font-size:18px!important;
    line-height:1!important;
  }
  .mm-ui-v2-common .mm-home-defrost-task.is-done .mm-home-task-defrost-icon{
    background:#EDF7F1!important;
    color:#63806C!important;
  }

  /* Courses / Frigo : hiérarchie exacte de la maquette, sans puce compteur dans le titre. */
  .mm-ui-v2-common .mm-home-quick-status{
    gap:8px!important;
  }
  .mm-ui-v2-common .mm-home-status-card{
    min-height:64px!important;
    padding:10px 10px!important;
    grid-template-columns:27px minmax(0,1fr) 13px!important;
    gap:8px!important;
    border-radius:13px!important;
    border:0!important;
    box-shadow:none!important;
  }
  .mm-ui-v2-common .mm-home-status-card.is-courses{
    background:#F1F7E8!important;
  }
  .mm-ui-v2-common .mm-home-status-card.is-fridge{
    background:#FCECF2!important;
  }
  .mm-ui-v2-common .mm-home-status-icon{
    width:27px!important;height:27px!important;
    border-radius:0!important;
    background:transparent!important;
    color:#6D174D!important;
    display:grid!important;place-items:center!important;
  }
  .mm-ui-v2-common .mm-home-status-card.is-courses>.mm-menumia-icon:last-child{
    color:#5E9B55!important;
  }
  .mm-ui-v2-common .mm-home-status-card.is-fridge>.mm-menumia-icon:last-child{
    color:#B22D6A!important;
  }
  .mm-ui-v2-common .mm-home-status-copy{
    gap:3px!important;
  }
  .mm-ui-v2-common .mm-home-status-title{
    display:block!important;
    font-family:var(--mm-v2-font-display)!important;
    font-size:12.5px!important;
    line-height:1!important;
    font-weight:700!important;
    color:#4B0D35!important;
  }
  .mm-ui-v2-common .mm-home-status-title b{display:none!important}
  .mm-ui-v2-common .mm-home-status-subtitle{
    display:flex!important;
    align-items:center!important;
    gap:4px!important;
    font-size:8.8px!important;
    line-height:1.1!important;
    color:#7A365F!important;
    white-space:nowrap!important;
  }
  .mm-ui-v2-common .mm-home-status-dot{
    width:7px!important;height:7px!important;
    border-radius:50%!important;
    background:#8C2E65!important;
    flex:0 0 auto!important;
  }
  .mm-ui-v2-common .mm-home-status-alert-icon{
    font-size:10px!important;
    color:#E77C42!important;
    line-height:1!important;
  }
}

/* Sheet : mêmes pictogrammes simples que la maquette, sans compression SVG custom. */
.mm-home-actions-portal .mm-home-action-leading-icon{
  width:20px!important;
  font-size:20px!important;
  line-height:1!important;
  color:#7A1453!important;
  justify-self:center!important;
}


/* ============================================================
   MENUMIA UI V2 — LOT 2.5 : DATE + CARROUSEL INSPIRATIONS
   Date dynamique en haut à droite et suggestions défilables au swipe.
============================================================ */
.mm-ui-v2-common .mm-home-intro{position:relative!important}
.mm-ui-v2-common .mm-home-date-row{
  position:absolute!important;
  top:2px!important;
  right:2px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  color:var(--mm-v2-text-muted)!important;
  font-size:11.5px!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.mm-ui-v2-common .mm-home-date-row i{font-size:15px!important;color:var(--mm-v2-primary)!important}
.mm-ui-v2-common .mm-home-greeting{padding-right:112px!important}
.mm-ui-v2-common .mm-home-ideas{
  display:flex!important;
  grid-template-columns:none!important;
  gap:9px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:1px 18px 8px 1px!important;
  margin-right:-18px!important;
  scroll-snap-type:x proximity!important;
  overscroll-behavior-x:contain!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:none!important;
}
.mm-ui-v2-common .mm-home-ideas::-webkit-scrollbar{display:none!important}
.mm-ui-v2-common .mm-home-idea-card{
  flex:0 0 clamp(132px,42vw,158px)!important;
  scroll-snap-align:start!important;
}
@media(max-width:365px){
  .mm-ui-v2-common .mm-home-greeting{padding-right:96px!important}
  .mm-ui-v2-common .mm-home-date-row{font-size:10.5px!important}
  .mm-ui-v2-common .mm-home-idea-card:nth-child(3){display:block!important}
}
@media(min-width:760px){
  .mm-ui-v2-common .mm-home-greeting{padding-right:140px!important}
  .mm-ui-v2-common .mm-home-ideas{margin-right:0!important;padding-right:1px!important}
  .mm-ui-v2-common .mm-home-idea-card{flex-basis:168px!important}
}


/* ============================================================
   MENUMIA UI V2 — LOT 2.5.1 : SAFE AREA + CARROUSEL MOBILE
============================================================ */
@media(max-width:759px){
  /* Le contenu défile sous un bandeau opaque réservé à la status bar iOS,
     sans masquer ni déplacer la topbar Menumia. */
  .mm-app::before{
    content:""!important;
    position:fixed!important;
    z-index:2390!important;
    top:0!important;left:0!important;right:0!important;
    height:env(safe-area-inset-top)!important;
    background:#FEF8F2!important;
    pointer-events:none!important;
  }
  .mm-ui-v2-common .mm-home-ideas{
    width:calc(100% + 18px)!important;
    max-width:none!important;
    touch-action:pan-x!important;
  }
  .mm-ui-v2-common .mm-home-idea-card{
    flex:0 0 min(76vw,286px)!important;
    max-width:286px!important;
  }
}


/* ============================================================
   MENUMIA UI V2 — LOT 2.5.2 : CARROUSEL — CORRECTIF PRIORITE CSS
   Réactive toutes les cartes masquées par l'ancien layout 2 cartes
   et restaure leur taille compacte validée avant le carrousel.
============================================================ */
@media(max-width:759px){
  .mm-ui-v2-common .mm-home-ideas{
    display:flex!important;
    width:calc(100% + 18px)!important;
    gap:8px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    touch-action:pan-x pan-y!important;
    scroll-snap-type:x proximity!important;
  }
  .mm-ui-v2-common .mm-home-idea-card,
  .mm-ui-v2-common .mm-home-idea-card:nth-child(n+3){
    display:block!important;
    flex:0 0 clamp(132px,42vw,158px)!important;
    width:auto!important;
    max-width:158px!important;
    scroll-snap-align:start!important;
  }
  .mm-ui-v2-common .mm-home-idea-media{
    aspect-ratio:1.45/1!important;
  }
}

/* ============================================================
   MENUMIA UI V2 — LOT 2.5.7 : SAFE AREA STRUCTURELLE IOS
   Le document ne scrolle plus sur mobile : le shell applicatif devient
   l'unique viewport de scroll, entre la status bar et la navigation.
============================================================ */
.mm-ios-statusbar-shield{display:none!important}
@media(max-width:759px){
  html,body,#root,.mm-app{
    height:100%!important;
    min-height:0!important;
  }
  html,body{
    overflow:hidden!important;
    overscroll-behavior:none!important;
  }
  .mm-app{
    overflow:hidden!important;
    background:#FEF8F2!important;
  }
  .mm-main-shell{
    position:fixed!important;
    top:env(safe-area-inset-top)!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    height:auto!important;
    max-height:none!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-y:contain!important;
    padding-bottom:calc(112px + env(safe-area-inset-bottom))!important;
  }
  .mm-bottom-nav{
    position:fixed!important;
    z-index:2400!important;
  }
}


/* ============================================================
   MENUMIA UI V2 — LOT 2.6 : BRANDING RESERVE A L'ACCUEIL
   Les écrans fonctionnels gardent les actions globales mais démarrent
   directement sur leur titre, sans répéter le logo Menumia.
============================================================ */
@media(max-width:759px){
  .mm-topbar-context{
    min-height:44px!important;
    margin-bottom:4px!important;
  }
  .mm-topbar-context .mm-topbar-actions{
    margin-left:auto!important;
  }
}


/* ============================================================
   MENUMIA UI V2 — LOT 2.6.1 : RYTHME DES EN-TETES SANS BRANDING
   Resserre la transition actions -> contenu, surtout sur Recettes.
============================================================ */
@media(max-width:759px){
  .mm-topbar-context{
    min-height:40px!important;
    margin-bottom:0!important;
  }
  .mm-topbar-context + .mm-tab-bibliotheque{
    margin-top:-8px!important;
  }
  .mm-topbar-context + .mm-tab-semaine,
  .mm-topbar-context + .mm-tab-courses,
  .mm-topbar-context + .mm-tab-frigo{
    margin-top:-4px!important;
  }
}


/* ============================================================
   MENUMIA UI V2 — LOT 2.7 : HUB GLOBAL + EN-TETES DEDIES
   Les raccourcis Assistant / Statistiques / Reglages restent sur
   Aujourd'hui. Les autres onglets commencent directement par leur contenu.
   Menus, Courses et Frigo partagent le meme rythme de titre mobile.
============================================================ */
@media(max-width:759px){
  .mm-topbar-context{
    display:none!important;
    min-height:0!important;
    height:0!important;
    margin:0!important;
    padding:0!important;
  }

  .mm-topbar-context + .mm-tab-bibliotheque,
  .mm-topbar-context + .mm-tab-semaine,
  .mm-topbar-context + .mm-tab-courses,
  .mm-topbar-context + .mm-tab-frigo{
    margin-top:0!important;
  }

  .mm-week-heading>div:first-child,
  .mm-shopping-screen>div:first-child,
  .mm-fridge-title-row h1{
    font-family:var(--mm-display),Georgia,serif!important;
    color:#35182F!important;
    font-size:26px!important;
    line-height:1!important;
    font-weight:700!important;
    letter-spacing:-.04em!important;
  }

  .mm-fridge-mock-head{
    margin-top:0!important;
  }
}


/* ============================================================
   MENUMIA UI V2 — LOT 2.7.1 : FINITIONS EN-TETES FONCTIONNELS
   Une meme grille typographique et tactile pour Menus / Courses / Frigo.
============================================================ */
@media(max-width:759px){
  .mm-week-heading,
  .mm-functional-page-title-row,
  .mm-fridge-title-row{
    margin-top:0!important;
  }

  .mm-week-heading>div:first-child,
  .mm-functional-page-title,
  .mm-fridge-title-row h1{
    margin:0!important;
    font-family:var(--mm-display),Georgia,serif!important;
    color:#35182F!important;
    font-size:26px!important;
    line-height:1!important;
    font-weight:700!important;
    letter-spacing:-.04em!important;
  }

  .mm-functional-page-title-row{
    min-height:44px;
    margin-bottom:8px!important;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
  }

  .mm-functional-head-action{
    width:44px;
    height:44px;
    flex:0 0 44px;
    margin-top:-9px;
    padding:0;
    border:0;
    border-radius:14px;
    background:transparent;
    color:#756E71;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:20px;
    cursor:pointer;
  }

  .mm-fridge-title-row{
    align-items:flex-start!important;
  }
  .mm-fridge-head-actions{
    gap:7px!important;
    margin-top:-5px!important;
  }
  .mm-fridge-add-top{
    min-height:40px!important;
    height:40px!important;
    padding:0 14px!important;
    gap:5px!important;
    font-size:13px!important;
  }
  .mm-fridge-add-top i{font-size:17px!important}
  .mm-fridge-more{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    min-height:40px!important;
  }

  .mm-tab-bibliotheque{
    padding-top:0!important;
  }
}


/* ============================================================
   MENUMIA UI V2 — LOT 2.8 : MENUS JOUR / SEMAINE
   Deux niveaux seulement : Jour pour agir en détail, Semaine pour
   visualiser toute la semaine et l'organiser sans vue séparée.
============================================================ */
.mm-menu-view-switch{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4px;
  margin:0 0 12px;
  padding:4px;
  border-radius:16px;
  background:#F2E5F1;
}
.mm-menu-view-switch button{
  min-height:42px;
  border:0;
  border-radius:12px;
  background:transparent;
  color:#8E8188;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  font:inherit;
  font-size:12.5px;
  font-weight:750;
  cursor:pointer;
}
.mm-menu-view-switch button i{font-size:16px}
.mm-menu-view-switch button.is-active{
  background:#6F4272;
  color:#fff;
  box-shadow:0 5px 14px rgba(75,30,63,.14);
}

.mm-week-overview{margin-top:2px}
.mm-week-overview-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:4px 0 12px;
}
.mm-week-overview-toolbar>div{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.mm-week-overview-toolbar strong{
  color:#35182F;
  font-family:var(--mm-display),Georgia,serif;
  font-size:20px;
  line-height:1.1;
}
.mm-week-overview-toolbar span{
  color:#8E8188;
  font-size:11.5px;
  line-height:1.3;
}
.mm-week-organize-toggle{
  min-height:40px;
  flex:0 0 auto;
  border:1px solid rgba(111,66,114,.18);
  border-radius:13px;
  padding:0 12px;
  background:#fff;
  color:#6F4272;
  display:inline-flex;
  align-items:center;
  gap:6px;
  font:inherit;
  font-size:11.5px;
  font-weight:800;
  cursor:pointer;
}
.mm-week-organize-toggle.is-active{
  background:#6F4272;
  color:#fff;
  border-color:#6F4272;
}

.mm-week-overview-list{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.mm-week-overview-day{
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  gap:8px;
  padding:8px;
  border-radius:18px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(75,30,63,.055);
  box-shadow:0 5px 16px rgba(65,31,67,.035);
}
.mm-week-overview-day.is-today{
  background:linear-gradient(90deg,#F4E8F2 0%,rgba(255,255,255,.86) 46%);
  border-color:rgba(111,66,114,.12);
}
.mm-week-overview-day-head{
  min-width:0;
  border:0;
  border-radius:13px;
  background:transparent;
  color:#35182F;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:6px 3px;
  font:inherit;
  cursor:pointer;
}
.mm-week-overview-day-head>span{
  display:flex;
  flex-direction:column;
  align-items:center;
}
.mm-week-overview-day-head small{
  color:#9A8D94;
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
}
.mm-week-overview-day-head strong{
  margin-top:1px;
  font-size:21px;
  line-height:1;
}
.mm-week-overview-day-head em{
  margin-top:4px;
  color:#6F4272;
  font-size:8px;
  font-style:normal;
  font-weight:850;
}
.mm-week-overview-day-head>i{
  margin-top:4px;
  color:#B5A9B1;
  font-size:12px;
}
.mm-week-overview-day-meals{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
}
.mm-week-overview-meal{
  min-width:0;
  overflow:hidden;
  border-radius:14px;
  background:#fff;
  border:1px solid rgba(75,30,63,.065);
}
.mm-week-overview-meal.is-validated{background:#F3F8F2}
.mm-week-overview-meal-main,
.mm-week-overview-meal.is-empty{
  width:100%;
  min-width:0;
  min-height:62px;
  border:0;
  background:transparent;
  padding:7px;
  display:flex;
  align-items:center;
  gap:8px;
  text-align:left;
  font:inherit;
  cursor:pointer;
}
.mm-week-overview-photo,
.mm-week-overview-empty-icon{
  width:46px;
  height:46px;
  flex:0 0 46px;
  overflow:hidden;
  border-radius:11px;
  background:#F4ECF3;
  color:#6F4272;
  display:flex;
  align-items:center;
  justify-content:center;
}
.mm-week-overview-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.mm-week-overview-meal-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.mm-week-overview-meal-copy small{
  color:#9A8D94;
  font-size:9.5px;
  line-height:1.1;
}
.mm-week-overview-meal-copy strong{
  color:#3B2C35;
  font-size:11.5px;
  line-height:1.18;
  font-weight:760;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.mm-week-overview-done{
  margin-left:auto;
  color:#5C8A60;
  flex:0 0 auto;
  font-size:14px;
}
.mm-week-overview-meal.is-empty{
  border:1px dashed rgba(111,66,114,.18);
  color:#6F4272;
}
.mm-week-overview-meal.is-empty .mm-week-overview-meal-copy strong{
  color:#6F4272;
}
.mm-week-overview-edit-actions{
  display:grid;
  grid-template-columns:minmax(0,1fr) 38px;
  gap:5px;
  padding:0 6px 6px;
}
.mm-week-overview-edit-actions button{
  min-height:32px;
  border:0;
  border-radius:9px;
  background:#F3E8F0;
  color:#6F4272;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  font:inherit;
  font-size:9.5px;
  font-weight:800;
  cursor:pointer;
}
.mm-week-overview-edit-actions button:last-child{font-size:14px}

@media(max-width:390px){
  .mm-week-overview-day{
    grid-template-columns:52px minmax(0,1fr);
    gap:6px;
    padding:7px;
  }
  .mm-week-overview-day-meals{gap:6px}
  .mm-week-overview-photo,
  .mm-week-overview-empty-icon{
    width:40px;
    height:40px;
    flex-basis:40px;
  }
  .mm-week-overview-meal-main,
  .mm-week-overview-meal.is-empty{
    min-height:56px;
    gap:6px;
    padding:6px;
  }
  .mm-week-overview-meal-copy strong{font-size:10.8px}
}


/* ============================================================
   MENUMIA UI V2 — LOT 2.8.1 : ORGANISER COMPACT
   Le mode Organiser ne change plus la hauteur des cartes : les actions
   passent dans une bottom sheet dédiée. Ajuste aussi contraste et lisibilité.
============================================================ */
.mm-week-organize-toggle.is-active,
.mm-week-organize-toggle.is-active span,
.mm-week-organize-toggle.is-active i{
  color:#fff!important;
}
.mm-week-overview-toolbar>div>span{
  color:#8E8188;
}

.mm-week-overview-day{
  grid-template-columns:50px minmax(0,1fr)!important;
}
.mm-week-overview-photo,
.mm-week-overview-empty-icon{
  width:40px!important;
  height:40px!important;
  flex:0 0 40px!important;
  border-radius:10px!important;
}
.mm-week-overview-meal-main,
.mm-week-overview-meal.is-empty{
  min-height:56px!important;
  padding:6px!important;
  gap:6px!important;
}
.mm-week-overview-meal-copy small{
  font-size:9px!important;
}
.mm-week-overview-meal-copy strong{
  font-size:11.6px!important;
  line-height:1.15!important;
  -webkit-line-clamp:2!important;
}
.mm-week-overview-edit-actions{
  display:none!important;
}

.mm-week-organize-sheet{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.mm-week-organize-sheet-summary{
  padding:2px 2px 10px;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.mm-week-organize-sheet-summary span{
  color:#9A8D94;
  font-size:11px;
  font-weight:700;
}
.mm-week-organize-sheet-summary strong{
  color:#35182F;
  font-family:var(--mm-display),Georgia,serif;
  font-size:20px;
  line-height:1.15;
}
.mm-week-organize-sheet>button{
  width:100%;
  min-height:58px;
  border:1px solid rgba(111,66,114,.10);
  border-radius:14px;
  padding:10px 12px;
  background:#fff;
  color:#6F4272;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 18px;
  align-items:center;
  gap:9px;
  text-align:left;
  font:inherit;
  cursor:pointer;
}
.mm-week-organize-sheet>button>i:first-child{
  width:34px;
  height:34px;
  border-radius:10px;
  background:#F3E8F0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:16px;
}
.mm-week-organize-sheet>button>span{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.mm-week-organize-sheet>button strong{
  color:#3B2C35;
  font-size:12.5px;
}
.mm-week-organize-sheet>button small{
  color:#9A8D94;
  font-size:10.5px;
  line-height:1.25;
}
.mm-week-organize-sheet>button>i:last-child{
  color:#B5A9B1;
  font-size:14px;
}

@media(max-width:390px){
  .mm-week-overview-day{
    grid-template-columns:46px minmax(0,1fr)!important;
  }
  .mm-week-overview-photo,
  .mm-week-overview-empty-icon{
    width:36px!important;
    height:36px!important;
    flex-basis:36px!important;
  }
  .mm-week-overview-meal-copy strong{
    font-size:11px!important;
  }
}


/* ============================================================
   MENUMIA UI V2 — LOT 2.8.2 : SEMAINE DIRECTEMENT INTERACTIVE
   Plus de mode Organiser : toucher un repas ouvre directement ses actions.
============================================================ */
.mm-week-overview-toolbar{
  justify-content:flex-start!important;
  margin-bottom:10px!important;
}
.mm-week-overview-toolbar>div{
  max-width:100%;
}
.mm-week-overview-toolbar>div>span{
  max-width:420px;
}

.mm-week-organize-sheet>button.is-primary{
  background:#6F4272;
  border-color:#6F4272;
  color:#fff;
}
.mm-week-organize-sheet>button.is-primary>i:first-child{
  background:rgba(255,255,255,.15);
  color:#fff;
}
.mm-week-organize-sheet>button.is-primary strong,
.mm-week-organize-sheet>button.is-primary small,
.mm-week-organize-sheet>button.is-primary>i:last-child{
  color:#fff;
}
.mm-week-organize-sheet>button.is-danger{
  margin-top:4px;
  border-color:rgba(167,62,74,.14);
  background:#FFF8F8;
  color:#A73E4A;
}
.mm-week-organize-sheet>button.is-danger>i:first-child{
  background:#FCEBED;
  color:#A73E4A;
}
.mm-week-organize-sheet>button.is-danger strong{
  color:#8F3340;
}

.mm-week-move-sheet{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.mm-week-move-targets{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.mm-week-move-targets button{
  min-height:58px;
  border:1px solid rgba(111,66,114,.10);
  border-radius:14px;
  padding:10px 12px;
  background:#fff;
  color:#35182F;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  text-align:left;
  font:inherit;
  cursor:pointer;
}
.mm-week-move-targets button>span{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.mm-week-move-targets button strong{
  font-size:12.5px;
}
.mm-week-move-targets button small{
  color:#8E8188;
  font-size:10.5px;
}
.mm-week-move-targets button>i{
  color:#B5A9B1;
  font-size:14px;
}
.mm-week-move-empty{
  min-height:150px;
  border:1px dashed rgba(111,66,114,.18);
  border-radius:16px;
  padding:22px 18px;
  background:#FBF7FA;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  text-align:center;
}
.mm-week-move-empty>i{
  color:#6F4272;
  font-size:26px;
}
.mm-week-move-empty strong{
  color:#35182F;
  font-size:13px;
}
.mm-week-move-empty span{
  color:#8E8188;
  font-size:11px;
  line-height:1.35;
}

@media(max-width:390px){
  .mm-week-move-targets{
    grid-template-columns:1fr;
  }
}


/* ============================================================
   MENUMIA UI V2 — LOT 2.8.3 : DEPLACER = DEPLACER OU PERMUTER
============================================================ */
.mm-week-move-hint{
  margin:-2px 0 8px;
  padding:9px 11px;
  border-radius:12px;
  background:#F7EFF6;
  color:#7F7078;
  font-size:10.8px;
  line-height:1.35;
}
.mm-week-move-targets button small{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}


/* ============================================================
   MENUMIA UI V2 — LOT 2.9 : NAVIGATION SECONDAIRE + MENUS COMPACT
   Stats / Réglages ont un vrai retour vers Aujourd'hui.
   Mes menus gagne de la hauteur sans retirer de fonctionnalité.
============================================================ */
.mm-secondary-root-header{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  align-items:start;
  gap:10px;
  margin:0 0 16px;
}
.mm-secondary-back{
  width:44px;
  height:44px;
  padding:0;
  border:1px solid rgba(111,66,114,.10);
  border-radius:13px;
  background:#fff;
  color:#6F4272;
  box-shadow:0 4px 14px rgba(65,31,67,.05);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  flex:0 0 44px;
}
.mm-secondary-back i{font-size:19px}
.mm-secondary-root-title{
  margin:1px 0 3px;
  font-family:var(--mm-display),Georgia,serif;
  color:#35182F;
  font-size:25px;
  line-height:1.05;
  font-weight:700;
  letter-spacing:-.035em;
}
.mm-secondary-root-subtitle{
  color:#8E8188;
  font-size:12px;
  line-height:1.4;
}

@media(max-width:759px){
  .mm-week-screen .mm-week-heading{
    margin-bottom:9px!important;
  }

  .mm-week-screen .mm-menu-view-switch{
    margin-bottom:8px!important;
    padding:3px!important;
    border-radius:15px!important;
  }
  .mm-week-screen .mm-menu-view-switch button{
    min-height:40px!important;
    border-radius:12px!important;
    gap:6px!important;
    font-size:11.5px!important;
  }
  .mm-week-screen .mm-menu-view-switch button i{
    font-size:15px!important;
  }

  .mm-week-screen .mm-week-stats{
    gap:6px!important;
    margin-bottom:9px!important;
  }
  .mm-week-screen .mm-week-stats>span{
    min-height:30px!important;
    padding:0 10px!important;
    gap:5px!important;
    font-size:9.8px!important;
  }
  .mm-week-screen .mm-week-stats>span i{font-size:14px!important}
  .mm-week-screen .mm-week-stats>span strong{font-size:11px!important}

  .mm-week-screen .mm-week-nav-premium{
    min-height:50px!important;
    margin-bottom:8px!important;
    padding:4px 6px!important;
    border-radius:19px!important;
    grid-template-columns:42px minmax(0,1fr) 42px 42px!important;
  }
  .mm-week-screen .mm-week-nav-premium>button{
    width:40px!important;
    height:40px!important;
  }
  .mm-week-screen .mm-week-nav-premium>button i{font-size:18px!important}
  .mm-week-screen .mm-week-nav-label{font-size:14.5px!important}

  .mm-week-screen .mm-week-actions-bar{
    gap:7px!important;
    margin-bottom:10px!important;
  }
  .mm-week-screen .mm-week-actions-bar button{
    min-height:44px!important;
    border-radius:15px!important;
    padding:7px 9px!important;
    gap:6px!important;
    font-size:11px!important;
  }
  .mm-week-screen .mm-week-actions-bar i{font-size:16px!important}

  .mm-week-screen .mm-week-days{
    gap:4px!important;
    margin-bottom:14px!important;
  }
  .mm-week-screen .mm-week-day-chip{
    min-height:53px!important;
    border-radius:14px!important;
    padding:5px 1px!important;
  }
  .mm-week-screen .mm-week-day-label{font-size:8px!important}
  .mm-week-screen .mm-week-day-number{font-size:14px!important}
  .mm-week-screen .mm-week-day-today{font-size:7.8px!important}

  .mm-week-screen .mm-week-day-title{
    margin-bottom:8px!important;
    font-size:21px!important;
    line-height:1.05!important;
  }

  .mm-week-screen .mm-week-meal-badges{
    gap:4px!important;
    margin-top:5px!important;
  }
  .mm-week-screen .mm-week-meal-badge{
    min-height:22px!important;
    padding:3px 7px!important;
    font-size:8.8px!important;
  }
  .mm-week-screen .mm-week-meal-badge i{font-size:12px!important}

  .mm-secondary-root-header{
    margin-bottom:14px;
  }
}


/* ============================================================
   MENUMIA UI V2 — LOT 3.0 : RECETTES / IDÉES
   Catalogue plus dense + vraie vue de découverte alimentée par le frigo.
============================================================ */
.mm-library-mode-switch{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4px;
  margin:0 0 12px;
  padding:4px;
  border-radius:16px;
  background:#F2E5F1;
}
.mm-library-mode-switch button{
  min-height:42px;
  border:0;
  border-radius:12px;
  background:transparent;
  color:#9A8D94;
  font:inherit;
  font-size:12.5px;
  font-weight:750;
  cursor:pointer;
}
.mm-library-mode-switch button.is-active{
  background:#fff;
  color:#35182F;
  box-shadow:0 5px 14px rgba(75,30,63,.08);
}

.mm-library-search-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:stretch;
  margin-bottom:8px;
}
.mm-library-search-row .mm-library-search-wrap{
  min-width:0;
  margin-bottom:0;
}
.mm-library-add-compact{
  min-height:46px;
  border:1px solid #E1D6DF;
  border-radius:14px;
  padding:0 10px;
  background:#fff;
  color:#70496B;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  font:inherit;
  font-size:10.6px;
  font-weight:750;
  cursor:pointer;
  box-shadow:0 3px 10px rgba(65,31,67,.025);
}
.mm-library-add-compact i{font-size:15px}

.mm-library-search-wrap{
  position:relative;
  margin-bottom:8px;
}
.mm-library-search-wrap>i{
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  color:#72426D;
  font-size:17px;
  pointer-events:none;
}
.mm-library-search-wrap input{
  width:100%;
  min-height:46px;
  box-sizing:border-box;
  border:1px solid #E7DCE5;
  border-radius:16px;
  background:#fff;
  box-shadow:0 4px 14px rgba(65,31,67,.035);
  padding:10px 13px 10px 41px;
  color:#3B2C35;
  font:inherit;
  font-size:12.5px;
  outline:none;
}
.mm-library-search-wrap input:focus{
  border-color:rgba(111,66,114,.38);
  box-shadow:0 0 0 3px rgba(111,66,114,.07);
}

.mm-library-source-scroll{
  display:flex;
  gap:6px;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scrollbar-width:none;
  padding:1px 1px 4px;
  margin-bottom:3px;
}
.mm-library-source-scroll::-webkit-scrollbar{display:none}
.mm-library-source-scroll>button{
  min-height:34px;
  flex:0 0 auto;
  border:1px solid #DED2DC;
  border-radius:999px;
  padding:6px 11px;
  background:#fff;
  color:#746A70;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  font:inherit;
  font-size:10.8px;
  font-weight:750;
  white-space:nowrap;
  cursor:pointer;
}
.mm-library-source-scroll>button.is-active{
  border-color:#6F4272;
  background:#F3E8F0;
  color:#5C3157;
}
.mm-library-source-scroll .mm-library-filter-chip b{
  min-width:17px;
  height:17px;
  padding:0 4px;
  border-radius:999px;
  background:#68436B;
  color:#fff;
  display:inline-grid;
  place-items:center;
  font-size:8.5px;
}
.mm-library-filter-meta{
  min-height:24px;
  margin:0 1px 7px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:#AAA0A5;
  font-size:10.5px;
}
.mm-library-filter-meta button{
  border:0;
  background:transparent;
  color:#7A4A71;
  padding:3px 0;
  font:inherit;
  font-size:10.5px;
  font-weight:700;
  cursor:pointer;
}

/* Vue Idées */
.mm-ideas-screen{min-width:0}
.mm-ideas-summary{
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  gap:12px;
  align-items:center;
  padding:14px;
  margin-bottom:12px;
  border:1px solid rgba(111,66,114,.055);
  border-radius:18px;
  background:#fff;
  box-shadow:0 6px 18px rgba(65,31,67,.04);
}
.mm-ideas-summary-icon{
  width:46px;
  height:46px;
  border-radius:14px;
  background:#F2EBF1;
  color:#6F4272;
  display:grid;
  place-items:center;
}
.mm-ideas-summary-icon i{font-size:19px}
.mm-ideas-summary-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.mm-ideas-summary-copy strong{
  color:#332A30;
  font-size:14px;
  line-height:1.2;
}
.mm-ideas-summary-copy span{
  color:#94888F;
  font-size:11.5px;
  line-height:1.3;
}
.mm-ideas-summary-copy small{
  color:#6F4272;
  font-size:10px;
  line-height:1.3;
  font-weight:700;
}

.mm-ideas-chips{
  display:flex;
  gap:6px;
  overflow-x:auto;
  scrollbar-width:none;
  padding:1px 1px 5px;
  margin-bottom:10px;
}
.mm-ideas-chips::-webkit-scrollbar{display:none}
.mm-ideas-chips button{
  flex:0 0 auto;
  min-height:34px;
  border:1px solid transparent;
  border-radius:999px;
  padding:6px 12px;
  background:#fff;
  color:#746A70;
  box-shadow:0 3px 11px rgba(65,31,67,.035);
  font:inherit;
  font-size:10.8px;
  font-weight:750;
  white-space:nowrap;
  cursor:pointer;
}
.mm-ideas-chips button.is-active{
  background:#68436B;
  color:#fff;
}

.mm-ideas-section-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:10px;
  margin:2px 1px 9px;
}
.mm-ideas-section-heading>div{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.mm-ideas-section-heading strong{
  color:#35182F;
  font-family:var(--mm-display),Georgia,serif;
  font-size:18px;
  line-height:1.1;
}
.mm-ideas-section-heading span{
  color:#968A91;
  font-size:10px;
  line-height:1.3;
}
.mm-ideas-section-heading>b{
  min-width:25px;
  height:25px;
  padding:0 7px;
  border-radius:999px;
  background:#F1E5EF;
  color:#6F4272;
  display:grid;
  place-items:center;
  font-size:10px;
}

.mm-ideas-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
}
.mm-ideas-grid .mm-home-suggestion-card{
  min-width:0;
  border:1px solid rgba(111,64,111,.055);
  border-radius:16px!important;
  box-shadow:0 6px 18px rgba(65,31,67,.045)!important;
}
.mm-ideas-grid .mm-home-suggestion-photo{
  height:92px!important;
}
.mm-ideas-grid .mm-home-suggestion-reason{
  min-height:26px;
  color:#826F7C;
  font-size:9.5px;
  line-height:1.25;
}
.mm-ideas-grid .mm-home-suggestion-reason i{
  color:#8A5A82;
  display:inline-block!important;
}

.mm-ideas-empty{
  min-height:190px;
  margin:4px 0 14px;
  padding:22px 18px;
  border:1px dashed rgba(111,66,114,.18);
  border-radius:18px;
  background:rgba(255,255,255,.55);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  text-align:center;
}
.mm-ideas-empty-icon{
  width:44px;
  height:44px;
  border-radius:14px;
  background:#F2E8F0;
  color:#6F4272;
  display:grid;
  place-items:center;
  font-size:19px;
}
.mm-ideas-empty>strong{color:#35182F;font-size:13px}
.mm-ideas-empty>span:not(.mm-ideas-empty-icon){
  max-width:290px;
  color:#93878F;
  font-size:10.8px;
  line-height:1.4;
}
.mm-ideas-empty>div{
  display:flex;
  gap:7px;
  margin-top:5px;
}
.mm-ideas-empty button{
  min-height:38px;
  border:0;
  border-radius:12px;
  padding:8px 11px;
  background:#68436B;
  color:#fff;
  font:inherit;
  font-size:10.5px;
  font-weight:800;
  cursor:pointer;
}
.mm-ideas-empty button.is-secondary{
  border:1px solid #E3D7E0;
  background:#fff;
  color:#68436B;
}

.mm-ideas-all-recipes{
  width:100%;
  min-height:44px;
  margin-bottom:8px;
  border:1px solid #DCCFDB;
  border-radius:15px;
  background:#fff;
  color:#593253;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font:inherit;
  font-size:11.5px;
  font-weight:800;
  cursor:pointer;
}
.mm-ideas-all-recipes i{font-size:15px}

@media(max-width:759px){
  .mm-library-mode-switch{
    margin-top:0!important;
    margin-bottom:10px!important;
    padding:3px!important;
  }
  .mm-library-mode-switch button{
    min-height:40px;
    font-size:11.5px;
  }
  .mm-library-card .mm-library-week span{
    font-size:10.2px;
  }
}

@media(max-width:365px){
  .mm-library-primary-actions{
    grid-template-columns:minmax(0,1fr) 44px;
  }
  .mm-library-trash-button{
    width:44px;
    padding:0;
  }
  .mm-library-trash-button span{display:none}
  .mm-ideas-grid{gap:8px}
  .mm-ideas-grid .mm-home-suggestion-photo{height:82px!important}
}

@media(min-width:760px){
  .mm-library-mode-switch{max-width:560px}
  .mm-library-primary-actions{max-width:600px}
  .mm-library-search-wrap{max-width:760px}
  .mm-library-source-scroll{max-width:900px}
  .mm-ideas-summary{max-width:760px}
  .mm-ideas-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    max-width:960px;
  }
  .mm-ideas-all-recipes{max-width:400px}
}


/* ============================================================
   MENUMIA UI V2 — LOT 3.1 : MES MENUS PLUS DENSE
   Objectif mobile : faire arriver les repas plus haut sans retirer
   aucune commande, et rendre les actions de semaine plus légères.
============================================================ */
@media(max-width:759px){
  .mm-week-screen .mm-week-heading{
    margin-bottom:7px!important;
  }
  .mm-week-screen .mm-week-heading>div:first-child{
    font-size:26px!important;
  }
  .mm-week-screen .mm-week-heading>div:last-child{
    margin-top:4px!important;
    font-size:11.5px!important;
    line-height:1.25!important;
  }

  .mm-week-screen .mm-menu-view-switch{
    margin-bottom:6px!important;
    padding:3px!important;
    border-radius:14px!important;
  }
  .mm-week-screen .mm-menu-view-switch button{
    min-height:38px!important;
    border-radius:11px!important;
    gap:5px!important;
    font-size:11px!important;
  }
  .mm-week-screen .mm-menu-view-switch button i{
    font-size:14px!important;
  }

  .mm-week-screen .mm-week-stats{
    gap:5px!important;
    margin:0 0 6px!important;
    flex-wrap:nowrap!important;
  }
  .mm-week-screen .mm-week-stats>span{
    min-width:0!important;
    min-height:27px!important;
    padding:0 8px!important;
    gap:4px!important;
    font-size:9.1px!important;
    white-space:nowrap!important;
  }
  .mm-week-screen .mm-week-stats>span i{
    font-size:12.5px!important;
  }
  .mm-week-screen .mm-week-stats>span strong{
    font-size:10.3px!important;
  }

  .mm-week-screen .mm-week-primary-controls{
    display:grid;
    gap:5px;
    margin-bottom:7px;
  }
  .mm-week-screen .mm-week-nav-premium{
    min-height:44px!important;
    margin:0!important;
    padding:2px 4px!important;
    border-radius:16px!important;
    grid-template-columns:36px minmax(0,1fr) 36px 36px!important;
    box-shadow:0 4px 14px rgba(65,31,67,.045)!important;
  }
  .mm-week-screen .mm-week-nav-premium>button{
    width:34px!important;
    height:34px!important;
    border-radius:10px!important;
  }
  .mm-week-screen .mm-week-nav-premium>button i{
    font-size:16px!important;
  }
  .mm-week-screen .mm-week-nav-label{
    font-size:13.5px!important;
  }
  .mm-week-screen .mm-week-nav-premium .mm-week-share{
    border-left-color:#F0E8ED!important;
  }

  .mm-week-screen .mm-week-date-jump{
    display:none!important;
    margin:0!important;
    min-height:0!important;
    height:0!important;
    overflow:hidden!important;
  }

  .mm-week-screen .mm-week-actions-bar{
    grid-template-columns:minmax(0,1.45fr) minmax(0,.85fr)!important;
    gap:4px!important;
    margin:0!important;
    padding:3px!important;
    border:1px solid rgba(111,66,114,.055);
    border-radius:15px!important;
    background:rgba(255,255,255,.62);
  }
  .mm-week-screen .mm-week-actions-bar button{
    min-height:38px!important;
    border-radius:12px!important;
    padding:6px 8px!important;
    gap:5px!important;
    font-size:10.5px!important;
    box-shadow:none!important;
  }
  .mm-week-screen .mm-week-actions-bar i{
    font-size:14px!important;
  }
  .mm-week-screen .mm-week-courses-secondary{
    border-color:transparent!important;
    background:#fff!important;
  }

  .mm-week-screen .mm-week-days{
    gap:4px!important;
    margin:0 0 8px!important;
  }
  .mm-week-screen .mm-week-day-chip{
    min-height:51px!important;
    padding:4px 1px!important;
    border-radius:13px!important;
    gap:1px!important;
  }
  .mm-week-screen .mm-week-day-label{
    font-size:7.5px!important;
  }
  .mm-week-screen .mm-week-day-number{
    font-size:13.5px!important;
  }
  .mm-week-screen .mm-week-day-today{
    margin-top:0!important;
    font-size:6.4px!important;
  }

  .mm-week-day-heading{
    margin:0 0 7px;
  }
  .mm-week-day-kicker{
    display:inline-block;
    margin:0 0 2px;
    color:#8C6A83;
    font-size:8px;
    line-height:1;
    font-weight:800;
    letter-spacing:.07em;
    text-transform:uppercase;
  }
  .mm-week-screen .mm-week-day-title{
    margin:0!important;
    font-size:22px!important;
    line-height:1.04!important;
  }

  .mm-week-screen .mm-week-day-slots{
    gap:8px!important;
  }
  .mm-week-screen .mm-week-meal-row{
    grid-template-columns:100px minmax(0,1fr) 32px!important;
    gap:9px!important;
    padding:10px 10px 7px!important;
  }
  .mm-week-screen .mm-week-meal-thumb{
    position:relative!important;
    width:100px!important;
    height:100px!important;
    min-width:100px!important;
    border-radius:14px!important;
  }
  .mm-week-heart-overlay{
    position:absolute;
    top:6px;
    right:6px;
    width:30px;
    height:30px;
    padding:0;
    border:0;
    border-radius:50%;
    background:rgba(255,255,255,.94);
    box-shadow:0 3px 10px rgba(50,25,48,.12);
    color:#74446D;
    display:grid;
    place-items:center;
    cursor:pointer;
  }
  .mm-week-heart-overlay.is-favorite{
    color:#A13E70;
  }
  .mm-week-heart-overlay i{
    font-size:16px!important;
  }
  .mm-week-screen .mm-week-meal-side{
    gap:0!important;
    align-items:flex-end!important;
  }
  .mm-week-screen .mm-week-more{
    width:32px!important;
    height:32px!important;
    border-radius:10px!important;
  }
  .mm-week-screen .mm-week-more i{
    font-size:16px!important;
  }
  .mm-week-screen .mm-week-meal-name{
    font-size:17px!important;
    line-height:1.06!important;
  }
  .mm-week-screen .mm-week-meal-meta{
    gap:7px!important;
    margin-top:5px!important;
    font-size:10px!important;
  }
  .mm-week-screen .mm-week-meal-meta i{
    font-size:13px!important;
  }
  .mm-week-screen .mm-week-meal-badges{
    gap:3px!important;
    margin-top:4px!important;
  }
  .mm-week-screen .mm-week-meal-badge{
    min-height:19px!important;
    padding:2px 6px!important;
    gap:3px!important;
    font-size:8.2px!important;
    line-height:1.05!important;
  }
  .mm-week-screen .mm-week-meal-badge i{
    font-size:10.5px!important;
  }

  .mm-week-screen .mm-week-meal-footer{
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)!important;
    gap:7px!important;
    padding:0 10px 10px!important;
  }
  .mm-week-screen .mm-week-recipe{
    min-height:40px!important;
    border-radius:12px!important;
    font-size:10.3px!important;
    box-shadow:0 4px 12px rgba(104,67,107,.10);
  }
  .mm-week-screen .mm-week-eaten{
    min-height:38px!important;
    align-self:center;
    border-width:1px!important;
    border-radius:12px!important;
    color:#68436B!important;
    font-size:9.7px!important;
    font-weight:700!important;
    background:#fff!important;
  }
  .mm-week-screen .mm-week-eaten.is-done{
    color:#5F7C5B!important;
    background:#EDF5EB!important;
    border-color:#8AA184!important;
  }
  .mm-week-screen .mm-week-recipe i,
  .mm-week-screen .mm-week-eaten i{
    font-size:14px!important;
  }
}

@media(max-width:380px){
  .mm-week-screen .mm-week-stats>span{
    padding:0 6px!important;
    font-size:8.5px!important;
  }
  .mm-week-screen .mm-week-stats>span i{
    font-size:11.5px!important;
  }
  .mm-week-screen .mm-week-meal-row{
    grid-template-columns:94px minmax(0,1fr) 30px!important;
    gap:8px!important;
  }
  .mm-week-screen .mm-week-meal-thumb{
    width:94px!important;
    height:94px!important;
    min-width:94px!important;
  }
}


/* ============================================================
   MENUMIA UI V2 — LOT 3.2 : COURSES + FRIGO PLUS DENSES
   Priorité au contenu : actions explicites, moins de hauteur avant les listes,
   filtres Frigo en chips et inventaire plus compact.
============================================================ */
.mm-shopping-period{
  display:flex;
  align-items:center;
  gap:7px;
  color:#82777D;
  font-size:11px;
  line-height:1.25;
  margin:-5px 2px 10px;
}
.mm-shopping-period i{
  color:#6F4272;
  font-size:15px;
}
.mm-shopping-view-switch{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4px;
  margin-bottom:10px;
  padding:3px;
  border-radius:15px;
  background:#F2E5F1;
}
.mm-shopping-view-switch button{
  min-height:40px;
  border:0;
  border-radius:12px;
  background:transparent;
  color:#A3989E;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  font:inherit;
  font-size:11.5px;
  font-weight:750;
  cursor:pointer;
}
.mm-shopping-view-switch button b{
  font-size:10px;
  font-weight:800;
}
.mm-shopping-view-switch button.is-active{
  background:#fff;
  color:#35182F;
  box-shadow:0 4px 13px rgba(65,31,67,.06);
}

.mm-shopping-quick-actions{
  margin-bottom:8px!important;
}
.mm-shopping-add-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:7px;
}
.mm-shopping-add-input{
  min-width:0;
  min-height:42px;
  box-sizing:border-box;
  border:1px solid #E5DBE3;
  border-radius:14px;
  background:#fff;
  padding:8px 12px;
  color:#3B2C35;
  font:inherit;
  font-size:12px;
  box-shadow:0 3px 11px rgba(65,31,67,.025);
  outline:none;
}
.mm-shopping-add-input:focus{
  border-color:rgba(111,66,114,.38);
  box-shadow:0 0 0 3px rgba(111,66,114,.06);
}
.mm-shopping-add-button{
  min-height:42px;
  border:0;
  border-radius:14px;
  padding:7px 13px;
  background:#68436B;
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  font:inherit;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}
.mm-shopping-add-button i{font-size:15px}

.mm-shopping-bulk-row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:6px;
  margin-top:7px;
}
.mm-shopping-bulk-row button,
.mm-shopping-bought-actions button{
  min-height:35px;
  border-radius:11px;
  padding:6px 9px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  font:inherit;
  font-size:10px;
  line-height:1.1;
  font-weight:800;
  cursor:pointer;
}
.mm-shopping-select-all{
  border:1px solid #DED3DC;
  background:#fff;
  color:#68436B;
}
.mm-shopping-mark-all{
  border:1px solid rgba(104,67,107,.12);
  background:#F2E7F0;
  color:#5D3158;
}
.mm-shopping-bulk-row i,
.mm-shopping-bought-actions i{font-size:14px}
.mm-shopping-bought-actions{
  display:flex;
  justify-content:flex-end;
  margin:-2px 0 8px;
}
.mm-shopping-bought-actions button{
  border:1px solid #DED3DC;
  background:#fff;
  color:#68436B;
}

.mm-shopping-fridge-note{
  min-height:34px;
  margin:0 0 9px;
  padding:7px 10px;
  border-radius:12px;
  background:#F3EAEE;
  color:#634459;
  display:flex;
  align-items:center;
  gap:7px;
  font-size:10px;
  line-height:1.25;
}
.mm-shopping-fridge-note i{
  flex:0 0 auto;
  color:#75456D;
  font-size:14px;
}
.mm-shopping-fridge-note b{font-weight:800}

.mm-shopping-screen .mm-fridge-visual-section{
  margin-bottom:10px!important;
}
.mm-shopping-screen .mm-shopping-category-head{
  min-height:38px;
  margin-bottom:5px!important;
  gap:7px;
}
.mm-shopping-screen .mm-shopping-category-head .mm-category-thumb{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  border-radius:12px!important;
}
.mm-shopping-screen .mm-shopping-category-head>span:nth-of-type(1){
  font-size:12.5px!important;
}
.mm-shopping-screen .mm-shopping-item-row{
  min-height:38px!important;
  padding:8px 10px!important;
}
.mm-shopping-screen .mm-shopping-item-row>div{
  gap:9px!important;
}

/* Frigo : commandes plus proches du contenu. */
.mm-fridge-screen .mm-fridge-title-row p{
  margin-top:5px!important;
  margin-bottom:0!important;
  font-size:11.5px!important;
  line-height:1.35!important;
}
.mm-fridge-screen .mm-fridge-mock-search{
  min-height:44px!important;
  margin-top:10px!important;
  margin-bottom:8px!important;
  border-radius:15px!important;
}
.mm-fridge-screen .mm-fridge-mock-search input{
  min-height:42px!important;
  font-size:12.5px!important;
}
.mm-fridge-screen .mm-fridge-mock-search>i{
  font-size:17px!important;
}

.mm-fridge-screen .mm-fridge-quick-filters{
  display:flex!important;
  align-items:center;
  gap:6px!important;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scrollbar-width:none;
  margin:0 0 9px!important;
  padding:1px 1px 3px!important;
}
.mm-fridge-screen .mm-fridge-quick-filters::-webkit-scrollbar{display:none}
.mm-fridge-screen .mm-fridge-quick-filter{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
  min-height:34px!important;
  height:34px!important;
  padding:0 10px!important;
  border-radius:999px!important;
  gap:5px!important;
  white-space:nowrap;
}
.mm-fridge-screen .mm-fridge-quick-filter i{
  font-size:14px!important;
}
.mm-fridge-screen .mm-fridge-quick-filter span{
  font-size:10px!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.mm-fridge-screen .mm-fridge-quick-filter strong{
  min-width:18px;
  font-size:10px!important;
}

.mm-fridge-cook-card{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:58px;
  margin:0 0 10px;
  padding:10px 12px;
  border:1px solid rgba(111,66,114,.055);
  border-radius:16px;
  background:#fff;
  box-shadow:0 4px 14px rgba(65,31,67,.035);
  cursor:pointer;
}
.mm-fridge-cook-card>div:first-child{
  width:36px!important;
  height:36px!important;
  flex:0 0 36px!important;
  border-radius:11px!important;
}
.mm-fridge-cook-card>div:nth-child(2)>div:first-child{
  font-size:12.5px!important;
}
.mm-fridge-cook-card>div:nth-child(2)>div:last-child{
  font-size:10px!important;
}

.mm-fridge-screen .mm-fridge-visual-section{
  margin-bottom:10px!important;
}
.mm-fridge-screen .mm-fridge-visual-title{
  min-height:42px!important;
  margin-bottom:5px!important;
  gap:7px!important;
}
.mm-fridge-screen .mm-fridge-cat-icon .mm-category-thumb{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  border-radius:13px!important;
}
.mm-fridge-screen .mm-fridge-visual-title>strong{
  font-size:13px!important;
}
.mm-fridge-screen .mm-fridge-visual-title>button{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
}
.mm-fridge-native-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  min-height:54px;
  padding:8px 10px;
  gap:8px;
}
.mm-fridge-screen .mm-fridge-item-main{
  min-height:38px!important;
}
.mm-fridge-screen .mm-fridge-item-copy strong{
  font-size:12.5px!important;
  line-height:1.15!important;
}
.mm-fridge-screen .mm-fridge-item-copy>span{
  margin-top:2px!important;
  font-size:9.8px!important;
  line-height:1.15!important;
}
.mm-fridge-screen .mm-fridge-item-qty{
  font-size:12px!important;
}
.mm-fridge-screen .mm-fridge-item-main>i{
  font-size:14px!important;
}

@media(max-width:380px){
  .mm-shopping-bulk-row{
    grid-template-columns:1fr;
  }
  .mm-shopping-bulk-row button{
    justify-content:flex-start;
  }
  .mm-fridge-screen .mm-fridge-quick-filter{
    padding-inline:8px!important;
  }
}


/* ============================================================
   MENUMIA UI V2 — LOT 3.3 : FINITIONS RECETTES / IDÉES
   Les carrousels de filtres gardent leurs extrémités accessibles,
   le panneau Filtres reste compact et les cartes Idées ont un vrai feedback.
============================================================ */
.mm-library-source-scroll,
.mm-ideas-chips{
  scroll-padding-inline:4px 16px;
  padding-left:4px!important;
  padding-right:16px!important;
}
.mm-library-source-scroll>button,
.mm-ideas-chips>button{
  scroll-snap-align:start;
}
.mm-library-source-scroll{
  scroll-snap-type:x proximity;
}
.mm-ideas-chips{
  scroll-snap-type:x proximity;
}

.mm-ideas-summary-copy small{
  color:#826F7C!important;
  font-size:9.6px!important;
  line-height:1.28!important;
  font-weight:650!important;
}

.mm-ideas-grid .mm-home-suggestion-card{
  position:relative;
  transition:transform .14s ease, box-shadow .14s ease;
  -webkit-tap-highlight-color:transparent;
  outline:none;
}
.mm-ideas-grid .mm-home-suggestion-card:active{
  transform:scale(.985);
}
.mm-ideas-grid .mm-home-suggestion-card:focus-visible{
  box-shadow:0 0 0 3px rgba(111,66,114,.14),0 6px 18px rgba(65,31,67,.045)!important;
}
.mm-ideas-grid .mm-home-suggestion-card::after{
  content:"›";
  position:absolute;
  top:8px;
  right:8px;
  width:24px;
  height:24px;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:#68436B;
  display:grid;
  place-items:center;
  font-size:17px;
  font-weight:800;
  line-height:1;
  box-shadow:0 2px 8px rgba(45,25,42,.10);
  pointer-events:none;
}

@media(max-width:759px){
  .mm-library-screen .mm-recipe-filter-panel{
    grid-template-columns:1fr 1fr!important;
    gap:6px!important;
    padding:7px!important;
    margin:0 0 7px!important;
    border-radius:13px!important;
  }
  .mm-library-screen .mm-recipe-filter-panel select{
    min-height:34px!important;
    height:34px!important;
    padding:5px 9px!important;
    border-radius:11px!important;
    font-size:10.5px!important;
  }
  .mm-library-screen .mm-recipe-veg{
    min-height:34px!important;
    height:34px!important;
    border-radius:11px!important;
    font-size:10.2px!important;
  }
  .mm-library-filter-meta{
    margin-bottom:5px!important;
  }
}


/* ============================================================
   MENUMIA UI V2 — LOT 3.4 : HIÉRARCHIE BIBLIOTHÈQUE
   Actions fréquentes visibles, options avancées en bottom sheets.
============================================================ */
.mm-library-screen .mm-library-source-scroll{
  overflow:visible!important;
  scroll-snap-type:none!important;
  scroll-padding-inline:0!important;
  padding:1px 0 4px!important;
  gap:5px;
}
.mm-library-screen .mm-library-source-scroll>button{
  flex:1 1 0!important;
  min-width:0!important;
  padding:6px 5px!important;
  font-size:10.2px!important;
  scroll-snap-align:none!important;
}
.mm-library-screen .mm-library-source-scroll .mm-library-filter-chip i{
  font-size:13px;
}
.mm-library-screen .mm-library-filter-meta{
  min-height:32px;
  margin:0 1px 8px!important;
  font-size:11px;
}
.mm-library-sort-trigger{
  min-height:32px;
  border:0!important;
  background:transparent!important;
  color:#57304F!important;
  padding:4px 0 4px 8px!important;
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:4px;
  font:inherit;
  font-size:11.8px!important;
  font-weight:750!important;
  cursor:pointer;
}
.mm-library-sort-trigger i{
  font-size:14px;
  color:#8E7C88;
}

.mm-library-sheet-options{
  display:grid;
  margin:0 -4px;
}
.mm-library-sheet-option{
  width:100%;
  min-height:52px;
  border:0;
  border-bottom:1px solid #EEE5EB;
  background:transparent;
  color:#4A3944;
  padding:0 8px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  font:inherit;
  font-size:14px;
  font-weight:650;
  text-align:left;
  cursor:pointer;
}
.mm-library-sheet-option:last-child{border-bottom:0}
.mm-library-sheet-option.is-active{
  color:#61365D;
  font-weight:800;
}
.mm-library-sheet-option i{
  color:#6F4272;
  font-size:18px;
}

.mm-library-filter-sheet{
  display:grid;
  gap:12px;
}
.mm-library-filter-sheet-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.mm-library-filter-sheet label{
  min-width:0;
  display:grid;
  gap:5px;
}
.mm-library-filter-sheet label>span,
.mm-library-sheet-section-title{
  color:#8C7F87;
  font-size:10.5px;
  font-weight:750;
}
.mm-library-filter-sheet select{
  width:100%;
  min-width:0;
  min-height:44px;
  box-sizing:border-box;
  border:1px solid #E3D9E0;
  border-radius:13px;
  background:#fff;
  color:#44353E;
  padding:8px 10px;
  font:inherit;
  font-size:12px;
  outline:none;
}
.mm-library-sheet-toggle{
  width:100%;
  min-height:46px;
  border:1px solid #E3D9E0;
  border-radius:14px;
  background:#fff;
  color:#5E5359;
  padding:0 13px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  font:inherit;
  font-size:12px;
  font-weight:750;
  cursor:pointer;
}
.mm-library-sheet-toggle>span{
  display:flex;
  align-items:center;
  gap:8px;
}
.mm-library-sheet-toggle>span i{font-size:17px;color:#6D8767}
.mm-library-sheet-toggle.is-active{
  border-color:#9CB297;
  background:#F1F6EF;
  color:#587052;
}
.mm-library-sheet-section-title{
  margin-top:2px;
  padding-top:10px;
  border-top:1px solid #EEE5EB;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.mm-library-management-row{
  width:100%;
  min-height:54px;
  border:0;
  border-bottom:1px solid #EEE5EB;
  background:transparent;
  color:#4C4047;
  padding:5px 2px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  font:inherit;
  text-align:left;
  cursor:pointer;
}
.mm-library-management-row.is-active{color:#61365D}
.mm-library-management-copy{
  min-width:0;
  display:flex;
  align-items:center;
  gap:10px;
}
.mm-library-management-copy>i{
  width:30px;
  height:30px;
  border-radius:10px;
  background:#F4EDF2;
  color:#6F4272;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  font-size:15px;
}
.mm-library-management-copy>span{
  min-width:0;
  display:grid;
  gap:2px;
}
.mm-library-management-copy strong{
  font-size:12px;
  line-height:1.2;
}
.mm-library-management-copy small{
  color:#968A91;
  font-size:9.8px;
  line-height:1.25;
}
.mm-library-management-row>i{
  color:#A3959E;
  font-size:15px;
}
.mm-library-filter-sheet-actions{
  display:flex;
  gap:8px;
  justify-content:flex-end;
  padding-top:4px;
}
.mm-library-filter-sheet-actions button{
  min-height:44px;
  border-radius:14px;
  padding:9px 14px;
  font:inherit;
  font-size:11.5px;
  font-weight:800;
  cursor:pointer;
}
.mm-library-filter-sheet-actions .is-secondary{
  border:1px solid #DED2DC;
  background:#fff;
  color:#6F5D68;
}
.mm-library-filter-sheet-actions .is-primary{
  flex:1;
  border:0;
  background:#68436B;
  color:#fff;
}

@media(max-width:360px){
  .mm-library-add-compact{
    padding-inline:10px;
  }
  .mm-library-screen .mm-library-source-scroll>button{
    padding-inline:3px!important;
    font-size:9.6px!important;
  }
  .mm-library-filter-sheet-grid{
    grid-template-columns:1fr;
  }
}


/* ============================================================
   MENUMIA UI V2 — LOT 3.5 : ÉDITEUR AJOUT RECETTE
   Parcours mobile en 3 sections, import replié et actions persistantes.
============================================================ */
.mm-add-recipe-editor{position:fixed;inset:0;z-index:90;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:max(10px,env(safe-area-inset-top)) max(14px,calc((100vw - 780px)/2 + 14px)) 0;background:#FEF8F2}
.mm-add-recipe-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin:0 2px 10px}
.mm-add-recipe-heading>div{min-width:0;display:grid;gap:2px}
.mm-add-recipe-heading>div>span{color:#A0929B;font-size:9.5px;font-weight:750;text-transform:uppercase;letter-spacing:.05em}
.mm-add-recipe-heading h2{margin:0;color:#35182F;font-family:var(--mm-display),Georgia,serif;font-size:23px;line-height:1.05;font-weight:700}
.mm-add-recipe-close{width:38px;height:38px;min-width:38px;border:1px solid #E5DAE3;border-radius:999px;background:#fff;color:#756A71;display:grid;place-items:center;font-size:17px;cursor:pointer}
.mm-add-recipe-shared-banner{margin-bottom:12px;padding:10px 12px;border:1px solid #E5DAE3;border-radius:14px;background:#FBF7FA;color:#74596F;display:flex;align-items:flex-start;gap:8px;font-size:11px;line-height:1.35}
.mm-add-recipe-shared-banner i{flex:0 0 auto;margin-top:1px;font-size:15px;color:#71436C}

.mm-add-recipe-tabs{position:relative;z-index:18;flex:0 0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:0 -2px 10px;padding:4px;border:1px solid rgba(111,66,114,.08);border-radius:16px;background:#F7EFF5;box-shadow:0 7px 20px rgba(65,31,67,.05)}
.mm-add-recipe-tabs button{min-width:0;min-height:40px;border:0;border-radius:12px;background:transparent;color:#958890;padding:5px 5px;display:flex;align-items:center;justify-content:center;gap:5px;font:inherit;font-size:10.8px;font-weight:800;cursor:pointer}
.mm-add-recipe-tabs button>span{width:19px;height:19px;border-radius:999px;background:rgba(111,66,114,.08);display:grid;place-items:center;font-size:9px}
.mm-add-recipe-tabs button.is-active{background:#fff;color:#5C3157;box-shadow:0 4px 12px rgba(75,30,63,.07)}
.mm-add-recipe-tabs button.is-active>span{background:#68436B;color:#fff}

.mm-add-recipe-content{min-width:0;min-height:0;flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:0 0 18px;scroll-padding-bottom:24px}
.mm-add-recipe-pane{display:grid;gap:12px;padding:15px;border:1px solid rgba(75,30,63,.06);border-radius:21px;background:#fff;box-shadow:0 8px 24px rgba(55,43,46,.045)}
.mm-add-field{min-width:0;display:grid;gap:6px}
.mm-add-field>label{color:#8D8188;font-size:11px;font-weight:700}
.mm-add-field>label b{color:#75416E}
.mm-add-field>label span{color:#B0A5AB;font-size:10px;font-weight:600}
.mm-add-field input,.mm-add-field select,.mm-add-field textarea{width:100%;min-width:0;box-sizing:border-box;border:1px solid #E5DDE2;border-radius:14px;background:#FFFCFA;color:#3C2D36;padding:11px 13px;font:inherit;font-size:13px;outline:none;box-shadow:none}
.mm-add-field input,.mm-add-field select{min-height:46px}
.mm-add-field textarea{resize:vertical;line-height:1.45}
.mm-add-field input:focus,.mm-add-field select:focus,.mm-add-field textarea:focus{border-color:rgba(111,66,114,.45);box-shadow:0 0 0 3px rgba(111,66,114,.07)}
.mm-add-field input::placeholder,.mm-add-field textarea::placeholder{color:#B6AAB1}

.mm-add-choice-wrap{display:flex;flex-wrap:wrap;gap:5px}
.mm-add-choice-wrap button{min-height:36px;border:1px solid #DED3DC;border-radius:999px;background:#fff;color:#766B72;padding:5px 9px;font:inherit;font-size:10.4px;font-weight:700;cursor:pointer}
.mm-add-choice-wrap button.is-active{border-color:#6F4272;background:#F3E8F0;color:#5B3157}
.mm-add-slots button{font-size:9.9px}

.mm-add-photo-card{min-width:0;display:grid;gap:10px;padding:13px;border:1px dashed #D9CBD6;border-radius:16px;background:#FCF9FB}
.mm-add-photo-copy{display:grid;gap:2px}
.mm-add-photo-copy strong{color:#4B3B45;font-size:12px}
.mm-add-photo-copy span{color:#A1959C;font-size:9.8px}
.mm-add-photo-empty{min-height:62px;border-radius:13px;background:#fff;color:#6B3C65;display:flex;align-items:center;justify-content:center;gap:8px;font-size:11.5px;font-weight:800;cursor:pointer}
.mm-add-photo-empty i{font-size:18px}
.mm-add-photo-empty input,.mm-add-photo-preview input{display:none}
.mm-add-photo-preview{display:grid;grid-template-columns:58px 1fr auto;gap:10px;align-items:center}
.mm-add-photo-preview img{width:58px;height:58px;border-radius:12px;object-fit:cover}
.mm-add-photo-preview label,.mm-add-photo-preview button{min-height:40px;border:0;background:transparent;color:#6B3C65;display:inline-flex;align-items:center;justify-content:flex-start;gap:6px;font:inherit;font-size:11px;font-weight:750;cursor:pointer}
.mm-add-photo-preview button{color:#A45D56}
.mm-add-photo-card>small{color:#A45D56;font-size:10px}

.mm-add-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.mm-add-section-heading>div:first-child{min-width:0;display:grid;gap:2px}
.mm-add-section-heading>div:first-child strong{color:#35182F;font-family:var(--mm-display),Georgia,serif;font-size:19px}
.mm-add-section-heading>div:first-child span{color:#9A8E95;font-size:9.8px;line-height:1.25}
.mm-add-portions{flex:0 0 auto;display:flex;align-items:center;gap:6px;padding:4px;border-radius:999px;background:#F2E5F1}
.mm-add-portions button{width:34px;height:34px;border:1px solid #E1D5DE;border-radius:999px;background:#fff;color:#63375F;display:grid;place-items:center;font:inherit;font-size:18px;font-weight:700;cursor:pointer}
.mm-add-portions strong{min-width:48px;color:#4D3146;font-size:11px;text-align:center}
.mm-add-ingredients-empty{min-height:86px;border:1px dashed #DDD1DB;border-radius:15px;background:#FCF9FB;color:#A0929A;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-size:10.5px}
.mm-add-ingredients-empty i{font-size:21px;color:#8A5A82}
.mm-add-steps{margin-top:2px}

.mm-add-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.mm-add-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.mm-add-options button{min-width:0;min-height:48px;border:1px solid #E2D7DF;border-radius:14px;background:#fff;color:#756A71;padding:8px 10px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;font:inherit;font-size:10.8px;font-weight:750;text-align:left;cursor:pointer}
.mm-add-options button>i:first-child{font-size:16px;color:#8A5A82}
.mm-add-options button>i:last-child{font-size:14px}
.mm-add-options button.is-active{border-color:#9E789B;background:#F5EBF3;color:#583352}

.mm-add-import{margin-top:2px;border:1px solid #E5DCE2;border-radius:16px;background:#FCF9FB;overflow:hidden}
.mm-add-import-trigger{width:100%;min-height:58px;border:0;background:transparent;color:#4C3D46;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;font:inherit;text-align:left;cursor:pointer}
.mm-add-import-trigger>span{min-width:0;display:flex;align-items:center;gap:9px}
.mm-add-import-trigger>span>i{width:32px;height:32px;border-radius:10px;background:#F1E5EF;color:#6F4272;display:grid;place-items:center;flex:0 0 auto;font-size:16px}
.mm-add-import-trigger>span>span{min-width:0;display:grid;gap:2px}
.mm-add-import-trigger strong{font-size:11.5px;line-height:1.2}
.mm-add-import-trigger small{color:#9A8D95;font-size:9.5px;line-height:1.2}
.mm-add-import-trigger>i{color:#9B8F96}
.mm-add-import-panel{display:grid;gap:11px;padding:12px;border-top:1px solid #E9E0E6;background:#fff}
.mm-add-import-url{display:flex;align-items:center;gap:7px}
.mm-add-import-url input{flex:1 1 auto}
.mm-add-import-url>span{flex:0 0 auto;min-height:34px;padding:0 9px;border-radius:999px;background:#F3EAF1;color:#6E4269;display:inline-flex;align-items:center;gap:5px;font-size:9px;font-weight:750}
.mm-add-import-prefill{min-height:42px;border:1px solid #D9C9D6;border-radius:13px;background:#fff;color:#673A61;display:inline-flex;align-items:center;justify-content:center;gap:7px;font:inherit;font-size:11px;font-weight:800;cursor:pointer}
.mm-add-import-panel p{margin:0;color:#9A8D95;font-size:9.8px;line-height:1.35}

.mm-add-recipe-error{margin:10px 2px 0;padding:10px 12px;border-radius:13px;background:#FBEEEE;color:#9B514B;display:flex;align-items:flex-start;gap:7px;font-size:10.8px;line-height:1.3}
.mm-add-recipe-error i{margin-top:1px;font-size:14px}
.mm-add-recipe-actions{position:relative;z-index:20;flex:0 0 auto;margin:0;padding:10px 0 max(10px,env(safe-area-inset-bottom));display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;background:#FEF8F2;border-top:1px solid rgba(75,30,63,.06);box-shadow:0 -8px 24px rgba(55,43,46,.035)}
.mm-add-recipe-actions button{min-height:48px;border-radius:15px;padding:9px 15px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.mm-add-recipe-actions button:disabled{opacity:.6;cursor:default}
.mm-add-recipe-actions .is-cancel{border:1px solid #DFD4DC;background:#fff;color:#786C73}
.mm-add-recipe-actions .is-save{border:0;background:#68436B;color:#fff;box-shadow:0 6px 18px rgba(104,67,107,.15)}

@media(max-width:360px){
  .mm-add-recipe-pane{padding:13px}
  .mm-add-recipe-tabs button{font-size:10.2px}
  .mm-add-recipe-tabs button>span{display:none}
  .mm-add-details-grid{grid-template-columns:1fr}
  .mm-add-section-heading{align-items:flex-start;flex-direction:column}
}


/* ============================================================
   MENUMIA UI V2 — LOT 3.6 : AJOUT RECETTE SIMPLIFIÉ
   Déductions automatiques, options avancées à la demande.
============================================================ */
.mm-add-recipe-tabs button>span i{font-size:11px}
.mm-add-slot-summary{
  width:100%;min-height:54px;border:1px solid #E3D9E0;border-radius:14px;background:#FCF9FB;color:#50434A;
  padding:9px 11px;display:flex;align-items:center;justify-content:space-between;gap:10px;font:inherit;text-align:left;cursor:pointer
}
.mm-add-slot-summary>span:first-child{min-width:0;display:flex;align-items:center;gap:9px}
.mm-add-slot-summary>span:first-child>i{width:31px;height:31px;border-radius:10px;background:#F1E5EF;color:#6F4272;display:grid;place-items:center;flex:0 0 auto;font-size:16px}
.mm-add-slot-summary>span:first-child>span{min-width:0;display:grid;gap:2px}
.mm-add-slot-summary strong{font-size:11.5px}.mm-add-slot-summary small{color:#958890;font-size:9.6px;line-height:1.25}
.mm-add-slot-edit{flex:0 0 auto;color:#6F4272;font-size:10px;font-weight:800;display:inline-flex;align-items:center;gap:3px}

.mm-add-ingredient-list{display:grid;gap:8px}
.mm-add-ingredient-quick{border:1px solid #E5DCE2;border-radius:15px;background:#FCF9FB;padding:7px}
.mm-add-ingredient-main{display:grid;grid-template-columns:minmax(0,1fr) 62px 86px 36px 36px;gap:6px;align-items:center}
.mm-add-ingredient-main input,.mm-add-ingredient-main select{
  min-width:0;min-height:40px;border:1px solid #E5DDE2;border-radius:11px;background:#fff;color:#3C2D36;padding:7px 9px;font:inherit;font-size:11px;outline:none
}
.mm-add-ingredient-main .is-qty{text-align:center;padding-inline:5px}
.mm-add-ingredient-main .is-unit{padding-inline:6px}
.mm-add-ingredient-main button{width:36px;height:36px;border:0;border-radius:10px;background:#fff;display:grid;place-items:center;font-size:15px;cursor:pointer}
.mm-add-ingredient-main .is-options{color:#70436B}.mm-add-ingredient-main .is-delete{color:#A45D56}
.mm-add-ingredient-advanced{display:grid;gap:6px;padding:9px 3px 2px}
.mm-add-ingredient-advanced>span{color:#998C94;font-size:9.5px;font-weight:750}

.mm-add-auto-note{padding:7px 8px;border-radius:12px;background:#FCF9FB;color:#786A73;display:flex;align-items:center;gap:7px}
.mm-add-auto-note>i{width:24px;height:24px;border-radius:8px;background:#F2E8F0;color:#86607F;display:grid;place-items:center;flex:0 0 auto;font-size:13px}
.mm-add-auto-note>span{display:grid;gap:1px}.mm-add-auto-note strong{font-size:9.8px;font-weight:750}.mm-add-auto-note small{color:#A0949B;font-size:8.8px;line-height:1.25}

.mm-add-advanced-details{border:1px solid #E5DCE2;border-radius:16px;background:#FCF9FB;overflow:hidden}
.mm-add-advanced-trigger{width:100%;min-height:56px;border:0;background:transparent;color:#4C3D46;padding:9px 11px;display:flex;align-items:center;justify-content:space-between;gap:10px;font:inherit;text-align:left;cursor:pointer}
.mm-add-advanced-trigger>span{min-width:0;display:flex;align-items:center;gap:9px}
.mm-add-advanced-trigger>span>i{width:31px;height:31px;border-radius:10px;background:#F1E5EF;color:#6F4272;display:grid;place-items:center;flex:0 0 auto;font-size:15px}
.mm-add-advanced-trigger>span>span{display:grid;gap:2px}.mm-add-advanced-trigger strong{font-size:11px}.mm-add-advanced-trigger small{color:#998C94;font-size:9.4px}
.mm-add-advanced-trigger>i{color:#9B8F96}
.mm-add-advanced-panel{padding:11px;border-top:1px solid #E9E0E6;background:#fff}

.mm-add-entry-options{display:grid;gap:9px}
.mm-add-entry-options>button{
  width:100%;min-height:70px;border:1px solid #E5DCE2;border-radius:16px;background:#fff;color:#4C3D46;padding:11px;
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;font:inherit;text-align:left;cursor:pointer
}
.mm-add-entry-icon{width:38px;height:38px;border-radius:12px;background:#F1E5EF;color:#6F4272;display:grid;place-items:center;font-size:18px}
.mm-add-entry-options>button>span:nth-child(2){min-width:0;display:grid;gap:3px}.mm-add-entry-options strong{font-size:12px}.mm-add-entry-options small{color:#978A92;font-size:9.8px;line-height:1.3}
.mm-add-entry-options>button>i{color:#A1939B;font-size:16px}

@media(max-width:430px){
  .mm-add-ingredient-main{grid-template-columns:minmax(0,1fr) 78px 34px 34px}
  .mm-add-ingredient-main .is-name{grid-column:1 / -1}
  .mm-add-ingredient-main .is-qty{grid-column:1}
  .mm-add-ingredient-main .is-unit{grid-column:2}
  .mm-add-ingredient-main .is-options{grid-column:3}
  .mm-add-ingredient-main .is-delete{grid-column:4}
}


/* ============================================================
   MENUMIA UI V2 — LOT 4.2 : ÉTATS VIDES & ALIGNEMENTS
============================================================ */
.mm-library-trash-empty{min-height:280px;margin:26px 0 10px;padding:28px 20px;border:1px dashed rgba(104,67,107,.15);border-radius:22px;background:rgba(255,255,255,.58);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.mm-library-trash-empty-icon{width:58px;height:58px;margin-bottom:12px;border-radius:18px;background:#F2E8F0;color:#74466F;display:grid;place-items:center}
.mm-library-trash-empty-icon i{font-size:25px}
.mm-library-trash-empty>strong{color:#35182F;font-family:var(--mm-display),Georgia,serif;font-size:20px;line-height:1.15}
.mm-library-trash-empty>small{max-width:310px;margin-top:7px;color:#978A92;font-size:10.5px;line-height:1.45}
.mm-library-trash-empty>button{min-height:42px;margin-top:16px;border:0;border-radius:13px;padding:8px 13px;background:#F1E5EF;color:#68436B;display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:11px;font-weight:800;cursor:pointer}

.mm-shopping-screen .mm-shopping-category-head{min-height:54px!important;padding:6px 9px 6px 7px!important;display:grid!important;grid-template-columns:46px minmax(0,1fr) 24px!important;align-items:center!important;gap:8px!important}
.mm-shopping-category-media{width:46px!important;height:46px!important;min-width:46px!important;display:grid!important;place-items:center!important;align-self:center!important}
.mm-shopping-screen .mm-shopping-category-head .mm-category-thumb{width:40px!important;height:40px!important;min-width:40px!important;margin:0!important;display:block!important;object-fit:cover!important;object-position:center!important;border-radius:12px!important}
.mm-shopping-category-copy{min-height:38px;padding:5px 10px;border-radius:999px;background:#F0E2EF;display:flex;justify-content:center;box-sizing:border-box}
.mm-shopping-category-head>i{justify-self:center}

.mm-shopping-empty-view.is-done{padding:24px 16px 18px}
.mm-shopping-done-summary{width:100%;max-width:360px;margin-top:15px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mm-shopping-done-summary>span{min-height:58px;padding:9px 10px;border:1px solid rgba(111,66,114,.075);border-radius:14px;background:#fff;display:flex;align-items:center;gap:8px;text-align:left}
.mm-shopping-done-summary>span>i{width:30px;height:30px;border-radius:10px;background:#EEF4EC;color:#6F8F68;display:grid;place-items:center;flex:0 0 auto;font-size:15px}
.mm-shopping-done-summary>span>span{min-width:0;display:grid;gap:1px}
.mm-shopping-done-summary b{color:#4A3445;font-size:11.5px;line-height:1.15}
.mm-shopping-done-summary small{color:#9B8E96;font-size:9.2px;line-height:1.2}
.mm-shopping-done-actions{width:100%;max-width:360px;margin-top:9px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mm-shopping-empty-view .mm-shopping-done-actions>button{min-height:42px;margin:0;border:0;border-radius:13px;padding:8px 10px;background:#68436B;color:#fff;display:flex;align-items:center;justify-content:center;gap:6px;font:inherit;font-size:10.5px;font-weight:800;cursor:pointer}
.mm-shopping-empty-view .mm-shopping-done-actions>button.is-secondary{border:1px solid #DED3DC;background:#fff;color:#68436B}
.mm-shopping-done-footnote{max-width:330px;margin:11px 0 0;color:#A0949B;display:flex;align-items:flex-start;justify-content:center;gap:5px;font-size:9.4px;line-height:1.3}
.mm-shopping-done-footnote i{margin-top:1px;flex:0 0 auto;font-size:12px}

.mm-fridge-native-row{grid-template-columns:minmax(0,1fr) 116px 32px!important;gap:7px!important}
.mm-fridge-row-qty{width:116px;min-width:116px;height:44px;box-sizing:border-box;grid-template-columns:32px minmax(42px,1fr) 32px;gap:4px;padding:4px;border:1px solid rgba(111,66,114,.08);border-radius:14px;background:#F6EFF5}
.mm-fridge-row-qty>button{width:32px;height:34px;border-radius:10px;font-size:16px}
.mm-fridge-row-qty-display{min-width:0;height:34px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;color:#4A3445;text-align:center;white-space:nowrap;line-height:1}
.mm-fridge-row-qty-display>span{font-size:11.5px;line-height:1;font-weight:850;font-variant-numeric:tabular-nums}
.mm-fridge-row-qty-display>small{display:block;max-width:44px;min-height:11px;padding-bottom:1px;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;color:#766A72;font-size:9px;line-height:1.2;font-weight:750}
.mm-fridge-row-open{width:32px;height:42px}
@media(max-width:380px){.mm-shopping-done-summary,.mm-shopping-done-actions{grid-template-columns:1fr}.mm-fridge-native-row{grid-template-columns:minmax(0,1fr) 110px 28px!important;gap:5px!important}.mm-fridge-row-qty{width:110px;min-width:110px;grid-template-columns:30px minmax(40px,1fr) 30px}.mm-fridge-row-qty>button{width:30px}}


/* ============================================================
   MENUMIA UX — SIMPLIFICATION GLOBALE 1
   Aujourd'hui focalisé, découverte unifiée, pédagogie progressive.
============================================================ */
.mm-home-ready-state{width:100%;min-height:58px;border:1px solid rgba(91,125,85,.10);border-radius:16px;background:#F8FBF6;padding:9px 12px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px}
.mm-home-ready-icon{width:36px;height:36px;border-radius:12px;background:#EAF3E7;color:#6F8F68;display:grid;place-items:center;font-size:18px}
.mm-home-ready-copy{min-width:0;display:grid;gap:2px}
.mm-home-ready-copy strong{color:#486345;font-size:11.8px}
.mm-home-ready-copy small{color:#8A9987;font-size:9.8px;line-height:1.25}
.mm-home-upcoming{width:100%;display:grid;gap:10px;min-width:0;margin-top:-6px}
.mm-home-upcoming-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:0 2px}
.mm-home-upcoming-heading>div{display:grid;gap:1px;min-width:0}
.mm-home-upcoming-eyebrow{color:#A08F99;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.mm-home-upcoming-heading strong{color:#4B3A45;font-size:13.5px;line-height:1.2}
.mm-home-upcoming-heading>button{border:0;background:transparent;padding:6px 0;color:#7A365F;font:inherit;font-size:10.5px;font-weight:750;display:inline-flex;align-items:center;gap:3px;cursor:pointer;white-space:nowrap}
.mm-home-upcoming-heading>button i{font-size:13px}
.mm-home-upcoming-scroll{display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;overscroll-behavior-inline:contain;padding:1px 2px 6px;margin:0 -2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.mm-home-upcoming-scroll::-webkit-scrollbar{display:none}
.mm-home-upcoming-scroll>span{flex:0 0 min(41vw,154px);scroll-snap-align:start;min-width:0}
.mm-home-upcoming-card{width:100%;border:1px solid rgba(75,30,63,.065);border-radius:18px;background:#FFFDFC;padding:0;overflow:hidden;color:#4B3A45;font:inherit;text-align:left;box-shadow:0 7px 20px rgba(55,43,46,.055);cursor:pointer;display:grid;grid-template-rows:auto 1fr}
.mm-home-upcoming-media{position:relative;display:block;width:100%;aspect-ratio:1.35/1;overflow:hidden}
.mm-home-upcoming-media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s ease}
.mm-home-upcoming-card:active .mm-home-upcoming-media>img{transform:scale(1.025)}
.mm-home-upcoming-media-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(24,13,20,.02) 40%,rgba(24,13,20,.24) 100%);pointer-events:none}
.mm-home-upcoming-day{position:absolute;z-index:2;left:8px;top:8px;max-width:calc(100% - 16px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;background:rgba(255,253,252,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:4px 8px;color:#6F3159;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.045em;box-shadow:0 2px 8px rgba(45,22,37,.09)}
.mm-home-upcoming-card-body{display:grid;gap:7px;padding:10px 10px 11px;min-width:0}
.mm-home-upcoming-card-body>strong{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#41243B;font-size:12.3px;line-height:1.24;min-height:30px}
.mm-home-upcoming-card-meta{display:flex;align-items:center;gap:5px;min-width:0;color:#968A91;font-size:9.3px;font-weight:600;line-height:1.1}
.mm-home-upcoming-card-meta>span{display:inline-flex;align-items:center;min-width:0;white-space:nowrap}
.mm-home-upcoming-card-meta>span:not(.mm-home-upcoming-meta-separator){overflow:hidden;text-overflow:ellipsis}
.mm-home-upcoming-meta-separator{color:#B7ABB2;font-weight:800}
.mm-home-upcoming-empty{width:100%;min-height:72px;border:1px dashed rgba(75,30,63,.12);border-radius:18px;background:rgba(255,253,252,.72);padding:10px 12px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;color:#4B3A45;font:inherit;text-align:left;cursor:pointer}
.mm-home-upcoming-empty-icon{width:38px;height:38px;border-radius:13px;background:#F2E8F0;color:#70436B;display:grid;place-items:center;font-size:17px}
.mm-home-upcoming-empty>span:nth-child(2){display:grid;gap:2px;min-width:0}
.mm-home-upcoming-empty strong{color:#41243B;font-size:12px}
.mm-home-upcoming-empty small{color:#9A8D95;font-size:9.8px;line-height:1.25}
.mm-home-upcoming-empty>i{color:#A1959C;font-size:15px}
.mm-shopping-sync-note.is-compact{min-height:32px!important;padding:6px 9px!important;background:transparent!important;border-color:transparent!important;color:#9A8D95!important}
.mm-shopping-sync-note.is-compact i{font-size:13px!important}
.mm-shopping-fridge-transfer.is-compact{padding-block:7px!important}


/* V520 — Fiche recette et éditeur mobile : densité, hiérarchie et actions persistantes. */
.mm-recipe-detail-sheet .mm-recipe-steps{display:grid!important;gap:10px!important}
.mm-recipe-detail-sheet .mm-recipe-step{padding:14px 15px!important;gap:12px!important;min-height:0!important;align-items:flex-start!important}
.mm-recipe-detail-sheet .mm-recipe-step-num{width:32px!important;height:32px!important;min-width:32px!important;font-size:13px!important}
.mm-recipe-detail-sheet .mm-recipe-step>div{line-height:1.5!important}
.mm-portions-label{font-size:12.5px;color:var(--mm-muted);font-weight:700;white-space:nowrap}
.mm-personal-note-card{margin-top:22px;padding:16px;border:1px solid rgba(75,30,63,.10);border-radius:18px;background:#FFFCFA;box-shadow:0 6px 18px rgba(55,43,46,.035)}
.mm-personal-note-title{display:flex;align-items:center;gap:8px;margin-bottom:6px;color:#4B1E3F;font-size:14px;font-weight:800}
.mm-personal-note-title .ti{font-size:18px}
.mm-personal-note-card textarea{min-height:84px!important;background:#fff!important}

/* Onglets de l'éditeur accessibles pendant tout le défilement. */
.mm-recipe-unified-editor{position:relative}
.mm-recipe-editor-tabs{position:sticky!important;top:0!important;z-index:12!important;background:#F7EFF5!important;box-shadow:0 1px 0 rgba(75,30,63,.08)}
.mm-recipe-editor-pane{padding-bottom:88px!important}

/* Ingrédients : cartes deux fois plus denses sans supprimer de fonction. */
.mm-natural-ingredients{display:grid!important;gap:10px!important}
.mm-natural-ingredient-card{padding:12px!important;border-radius:16px!important}
.mm-natural-ingredient-head{gap:8px!important;margin-bottom:9px!important}
.mm-natural-ingredient-head input{min-height:44px!important;padding:9px 11px!important;font-size:15px!important;font-weight:750!important}
.mm-natural-ingredient-qty{gap:8px!important}
.mm-natural-ingredient-qty label>span,.mm-scale-choice>span{font-size:11px!important;margin-bottom:3px!important}
.mm-natural-ingredient-qty input,.mm-natural-ingredient-qty select{min-height:42px!important;padding:8px 10px!important}
.mm-scale-choice{margin-top:9px!important}
.mm-scale-choice .mm-segmented{min-height:40px!important}
.mm-scale-choice .mm-segmented button{padding:7px 8px!important;font-size:11.5px!important}
.mm-icon-danger{width:44px!important;height:44px!important;min-width:44px!important}
.mm-add-row,.mm-auto-row{min-height:44px!important}

/* Étapes : contenu intégralement visible, hauteur dictée par le texte. */
.mm-step-edit-list{display:grid!important;gap:10px!important}
.mm-step-edit-card{padding:11px!important;gap:9px!important;align-items:flex-start!important;min-height:0!important}
.mm-step-edit-num{width:34px!important;height:34px!important;min-width:34px!important;font-size:13px!important}
.mm-step-edit-card textarea{field-sizing:content;min-height:64px!important;height:auto!important;max-height:none!important;overflow:hidden!important;resize:none!important;padding:9px 10px!important;line-height:1.45!important}

/* Infos : sections lisibles et contrôles secondaires compacts. */
.mm-info-section-title{margin:18px 0 7px;padding-top:14px;border-top:1px solid rgba(75,30,63,.08);font-size:12px;font-weight:850;letter-spacing:.035em;text-transform:uppercase;color:#4B1E3F}
.mm-info-editor>.mm-info-section-title:first-child{margin-top:0;padding-top:0;border-top:0}
.mm-info-editor .mm-info-grid{gap:9px!important}
.mm-info-editor input,.mm-info-editor select{min-height:44px!important}
.mm-info-editor input[type="checkbox"]{min-height:0!important;width:22px!important;height:22px!important;accent-color:#6B3D6E!important}
.mm-info-editor label:has(>input[type="checkbox"]){padding:10px 12px!important;border-radius:14px!important;background:#FBF7F9!important;margin-top:10px!important;color:#4B1E3F!important}
.mm-info-editor label:has(>input[type="checkbox"])>span{display:flex;flex-direction:column;gap:2px}
.mm-info-editor label:has(>input[type="checkbox"]) small{font-size:10.5px;font-weight:500;color:#8C8288;line-height:1.3}
.mm-info-checks{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}
.mm-info-checks label{min-height:44px!important;padding:8px!important;justify-content:center!important}
.mm-info-checks label span{font-size:11.5px!important}

/* Enregistrer / Annuler reste disponible sans descendre jusqu'au bas d'une longue recette. */
.mm-editor-footer-sticky{position:sticky!important;bottom:0!important;z-index:14!important;margin:18px -14px -14px!important;padding:10px 14px max(10px,env(safe-area-inset-bottom))!important;background:rgba(255,252,250,.96)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid rgba(75,30,63,.08)!important}
.mm-editor-footer-sticky>button{flex:1!important;min-height:44px!important}

@media(max-width:520px){
  .mm-recipe-detail-sheet>div:last-child{padding:16px!important}
  .mm-recipe-detail-sheet .mm-recipe-step{padding:12px 13px!important}
  .mm-natural-ingredient-card{padding:10px!important}
  .mm-info-checks{grid-template-columns:1fr!important}
  .mm-info-checks label{justify-content:flex-start!important}
}


/* ============================================================
   MENUMIA UI V2 — LOT 3.2 : COHÉRENCE VISUELLE & CIBLES TACTILES
   Harmonise la hiérarchie des écrans principaux sans changer les parcours.
============================================================ */
@media(max-width:759px){
  .mm-week-heading>div:first-child,
  .mm-functional-page-title,
  .mm-fridge-title-row h1,
  .mm-secondary-root-title{
    font-size:26px!important;
    line-height:1.02!important;
    letter-spacing:-.04em!important;
  }
  .mm-week-heading>div:last-child,
  .mm-fridge-title-row p,
  .mm-secondary-root-subtitle{
    font-size:12.5px!important;
    line-height:1.45!important;
    color:#8E8188!important;
  }
  .mm-week-heading,
  .mm-functional-page-title-row,
  .mm-fridge-title-row,
  .mm-secondary-root-header{
    margin-bottom:12px!important;
  }

  .mm-v191 .mm-topbar-action{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
  }
  .mm-home .mm-meal-hero.is-compact button,
  .mm-v193 .mm-home .mm-meal-hero.is-compact .mm-meal-hero-body>div:last-child>div:first-child>button:first-child{
    min-height:44px!important;
    height:44px!important;
  }
  .mm-v193 .mm-home .mm-meal-hero.is-compact .mm-meal-hero-body>div:last-child>div:first-child>button:last-child,
  .mm-ui-v2-common .mm-home-meal-more{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
    flex:0 0 44px!important;
  }
  .mm-ui-v2-common .mm-home-primary-actions>button:first-child,
  .mm-ui-v2-common .mm-home-inspiration-all,
  .mm-assistant-result{
    min-height:44px!important;
  }
  .mm-library-mode-switch button,
  .mm-week-screen .mm-menu-view-switch button{
    min-height:44px!important;
  }
  .mm-fridge-add-top{
    min-height:44px!important;
    height:44px!important;
  }
  .mm-fridge-more{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
  }
  .mm-natural-ingredient-qty input,
  .mm-natural-ingredient-qty select,
  .mm-scale-choice .mm-segmented{
    min-height:44px!important;
  }
  .mm-library-mode-switch{
    margin-bottom:14px!important;
  }
}


/* ============================================================
   MENUMIA UI V2 — LOT 3.4 : DENSITÉ INTERACTIVE MOBILE
   Garde une interface dense visuellement sans réduire les zones tactiles.
============================================================ */
@media(max-width:759px){
  .mm-library-source-scroll>button,
  .mm-ideas-chips>button{
    min-height:44px!important;
    padding-top:8px!important;
    padding-bottom:8px!important;
  }

  .mm-library-filter-meta button{
    min-height:44px!important;
    padding:8px 4px!important;
  }

  .mm-shopping-view-switch button,
  .mm-shopping-add-input,
  .mm-shopping-add-button,
  .mm-shopping-bulk-row button,
  .mm-shopping-bought-actions button,
  .mm-shopping-screen .mm-shopping-item-row{
    min-height:44px!important;
  }

  .mm-fridge-screen .mm-fridge-quick-filter{
    min-height:44px!important;
    height:44px!important;
    padding-left:11px!important;
    padding-right:11px!important;
  }
  .mm-fridge-screen .mm-fridge-item-main{
    min-height:44px!important;
  }
  .mm-fridge-screen .mm-fridge-visual-title>button{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
  }

  .mm-week-screen .mm-week-nav-premium{
    grid-template-columns:44px minmax(0,1fr) 44px 44px!important;
  }
  .mm-week-screen .mm-week-nav-premium>button{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
  }

  /* Les cartes restent compactes, mais leur rythme vertical est plus régulier. */
  .mm-shopping-screen .mm-shopping-item-row{
    padding-top:9px!important;
    padding-bottom:9px!important;
  }
  .mm-fridge-native-row{
    min-height:58px!important;
  }
}


/* ============================================================
   MENUMIA UI V2 — LOT 3.5 : FEEDBACK & ÉTATS
   États accessibles, feedback explicite et libellés de chargement conservés.
============================================================ */
.mm-sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.mm-empty-state[role="status"]{
  outline:none;
}
[role="alert"]{
  scroll-margin-top:16px;
}


/* ============================================================
   MENUMIA UI V2 — LOT 4.1 : PARCOURS MENUS → COURSES
   Rend explicite le recalcul automatique des courses après une modification du planning.
============================================================ */
.mm-shopping-sync-note{
  display:flex;
  align-items:flex-start;
  gap:7px;
  margin:-2px 0 10px;
  padding:8px 10px;
  border:1px solid rgba(111,66,114,.06);
  border-radius:12px;
  background:#FBF7FA;
  color:#7E7079;
  font-size:10.2px;
  line-height:1.35;
}
.mm-shopping-sync-note i{
  flex:0 0 auto;
  margin-top:1px;
  color:#75456D;
  font-size:14px;
}


/* Menus — bottom sheets: controls centered and personalization kept above navigation */
.mm-home-actions-header > button{
  display:grid;
  place-items:center;
  padding:0;
  line-height:0;
}
.mm-home-actions-header > button svg,
.mm-home-actions-header > button i{
  display:block;
  margin:auto;
}
.mm-week-personalize-sheet{
  max-height:min(82dvh,760px);
  overflow:auto;
  padding-bottom:calc(22px + env(safe-area-inset-bottom));
}
.mm-week-personalize-sheet .mm-meal-personalization,
.mm-week-personalize-sheet .mm-personalization-panel{
  margin:0;
}


/* Menus — créneaux optionnels de la journée */
.mm-week-extra-add{margin:14px 2px 4px}
.mm-week-extra-add-title{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#9a8f98;margin:0 4px 8px}
.mm-week-extra-add-grid{display:flex;gap:8px;overflow-x:auto;padding:0 2px 4px;scrollbar-width:none}
.mm-week-extra-add-grid::-webkit-scrollbar{display:none}
.mm-week-extra-add-grid button{flex:0 0 auto;min-height:48px;border:1px solid rgba(99,32,81,.12);border-radius:16px;background:rgba(255,255,255,.78);color:#632051;padding:10px 13px;display:inline-flex;align-items:center;gap:8px;font:inherit;font-size:13px;font-weight:700}
.mm-week-extra-add-grid button i{font-size:18px}
.mm-extra-choice-sheet{padding-bottom:calc(22px + env(safe-area-inset-bottom))}


/* Menus — accompagnement dans Personnaliser */
.mm-personalize-acc-main{width:100%;border:0;background:transparent;padding:0;display:flex;align-items:center;gap:11px;text-align:left;font:inherit;color:inherit}
.mm-personalize-acc-photo{width:54px;height:54px;border-radius:13px;overflow:hidden;flex:0 0 54px;display:block}
.mm-personalize-acc-copy{min-width:0;display:flex;flex-direction:column;gap:2px}
.mm-personalize-acc-copy small{font-size:11px;color:#9a8f98}
.mm-personalize-acc-copy strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mm-personalize-acc-actions,.mm-personalize-acc-empty-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:10px}
.mm-personalize-acc-actions button,.mm-personalize-acc-empty-actions button{min-height:42px;border:1px solid rgba(99,32,81,.14);border-radius:12px;background:#fff;color:#632051;font:inherit;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:5px;padding:7px}
.mm-personalize-acc-actions button.is-remove{color:#a84639}
.mm-personalize-acc-empty>div:first-child{display:flex;align-items:center;gap:9px}
.mm-personalize-acc-empty>div:first-child>i{font-size:18px;color:#632051}
.mm-personalize-acc-empty>div:first-child>span{display:flex;flex-direction:column;gap:2px}
.mm-personalize-acc-empty>div:first-child strong{font-size:12.5px}
.mm-personalize-acc-empty>div:first-child small{font-size:11px;color:#8f858d}
.mm-personalize-acc-empty-actions{grid-template-columns:1fr 1.35fr}


/* Menus — compléter une journée sans carrousel ni conflit de swipe */
.mm-week-extra-section{margin:16px 2px 6px}
.mm-week-extra-heading{display:flex;flex-direction:column;gap:2px;margin:0 4px 9px}
.mm-week-extra-heading>span{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#7d6578}
.mm-week-extra-heading>small{font-size:11px;color:#9a8f98}
.mm-week-extra-list{display:flex;flex-direction:column;gap:8px}
.mm-week-extra-list>button{width:100%;min-height:58px;border:1px solid rgba(99,32,81,.12);border-radius:16px;background:rgba(255,255,255,.82);padding:9px 12px;display:flex;align-items:center;gap:11px;text-align:left;font:inherit;color:#3e2a40}
.mm-week-extra-icon{width:38px;height:38px;border-radius:12px;background:rgba(99,32,81,.08);display:grid;place-items:center;flex:0 0 38px;color:#632051}
.mm-week-extra-icon i{font-size:19px}
.mm-week-extra-copy{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.mm-week-extra-copy strong{font-size:13px}
.mm-week-extra-copy small{font-size:11px;color:#958991}
.mm-week-extra-plus{font-size:18px;color:#7a3566}
.mm-week-extra-sheet-actions{display:flex;flex-direction:column;gap:8px}
.mm-week-extra-sheet-actions>button{width:100%;min-height:58px;border:1px solid rgba(99,32,81,.12);border-radius:15px;background:#fff;padding:10px 12px;display:flex;align-items:center;gap:11px;text-align:left;font:inherit;color:#3e2a40}
.mm-week-extra-sheet-actions>button>i:first-child{font-size:20px;color:#7a1f5c}
.mm-week-extra-sheet-actions>button>span{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.mm-week-extra-sheet-actions>button strong{font-size:13px}
.mm-week-extra-sheet-actions>button small{font-size:11px;color:#958991}
.mm-week-extra-sheet-actions>button>i:last-child{color:#a59ca2}


/* Menus — suppression des créneaux optionnels */
.mm-home-actions-list>button.is-danger{
  color:#A84639;
}
.mm-home-actions-list>button.is-danger>i:first-child{
  color:#A84639;
  background:rgba(168,70,57,.08);
}

/* Menus — vue Semaine : hiérarchie plus lisible */
.mm-week-overview-day{
  display:block!important;
  padding:10px!important;
  border-radius:20px!important;
}
.mm-week-overview-day-head{
  width:100%;
  min-height:48px;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px;
  padding:2px 2px 9px!important;
  border-bottom:1px solid rgba(75,30,63,.065)!important;
  border-radius:0!important;
  text-align:left;
}
.mm-week-overview-date{
  width:42px;
  min-width:42px;
  height:42px;
  border-radius:13px;
  background:#F4ECF3;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
}
.mm-week-overview-day.is-today .mm-week-overview-date{
  background:#6F4272;
}
.mm-week-overview-day.is-today .mm-week-overview-date small,
.mm-week-overview-day.is-today .mm-week-overview-date strong{
  color:#fff!important;
}
.mm-week-overview-date small{
  font-size:8px!important;
  color:#9A8D94!important;
  line-height:1!important;
}
.mm-week-overview-date strong{
  margin:2px 0 0!important;
  font-size:17px!important;
  color:#35182F!important;
  line-height:1!important;
}
.mm-week-overview-day-copy{
  min-width:0;
  flex:1;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.mm-week-overview-day-copy>strong{
  font-family:var(--mm-display),Georgia,serif;
  font-size:15px;
  line-height:1.05;
  color:#35182F;
}
.mm-week-overview-day-copy>small{
  font-size:10px!important;
  font-weight:500!important;
  text-transform:none!important;
  color:#9A8D94!important;
}
.mm-week-overview-day-head>em{
  margin:0 0 0 auto!important;
  padding:4px 7px;
  border-radius:999px;
  background:#F1E4F0;
  font-size:8px!important;
}
.mm-week-overview-day-head>i{
  margin:0!important;
  font-size:13px!important;
}
.mm-week-overview-main-meals{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  margin-top:9px;
}
.mm-week-overview-extras{
  margin-top:9px;
  padding-top:8px;
  border-top:1px dashed rgba(111,66,114,.12);
}
.mm-week-overview-extras-label{
  margin:0 2px 6px;
  color:#9A8D94;
  font-size:9px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.mm-week-overview-extras-list{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.mm-week-overview-meal.is-extra{
  border-radius:12px;
  background:#FBF7FA;
}
.mm-week-overview-meal.is-extra .mm-week-overview-meal-main,
.mm-week-overview-meal.is-extra.mm-week-overview-meal.is-empty{
  min-height:48px!important;
  padding:5px 7px!important;
}
.mm-week-overview-meal.is-extra .mm-week-overview-photo,
.mm-week-overview-meal.is-extra .mm-week-overview-empty-icon{
  width:34px!important;
  height:34px!important;
  flex:0 0 34px!important;
  border-radius:9px!important;
}
.mm-week-overview-meal.is-extra .mm-week-overview-meal-copy strong{
  font-size:11px!important;
  -webkit-line-clamp:1!important;
}
.mm-week-overview-meal.is-extra .mm-week-overview-meal-copy small{
  font-size:8.8px!important;
}

@media(max-width:390px){
  .mm-week-overview-day{padding:9px!important}
  .mm-week-overview-main-meals{gap:6px}
  .mm-week-overview-date{width:40px;min-width:40px;height:40px}
  .mm-week-overview-day-copy>strong{font-size:14px}
}


/* Menus — vue Semaine : densité mobile et extras compacts */
.mm-week-overview-toolbar{
  margin:2px 2px 9px!important;
}
.mm-week-overview-toolbar strong{
  font-size:18px!important;
}
.mm-week-overview-toolbar span{
  font-size:10.8px!important;
}
.mm-week-overview-list{
  gap:7px!important;
}
.mm-week-overview-day{
  padding:9px!important;
  border-radius:18px!important;
}
.mm-week-overview-day-head{
  min-height:44px!important;
  padding:0 1px 8px!important;
}
.mm-week-overview-day-copy{
  align-items:flex-start!important;
  text-align:left!important;
}
.mm-week-overview-day-copy>strong{
  font-size:14.5px!important;
}
.mm-week-overview-day-copy>small{
  font-size:9.8px!important;
}
.mm-week-overview-main-meals{
  margin-top:8px!important;
  gap:6px!important;
}
.mm-week-overview-main-meals .mm-week-overview-meal-main{
  min-height:60px!important;
}
.mm-week-overview-main-meals .mm-week-overview-meal-copy strong{
  font-size:11.4px!important;
  line-height:1.12!important;
  -webkit-line-clamp:3!important;
}
.mm-week-overview-main-meals .mm-week-overview-photo{
  width:40px!important;
  height:40px!important;
  flex-basis:40px!important;
}
.mm-week-overview-extras{
  margin-top:8px!important;
  padding-top:7px!important;
}
.mm-week-overview-extras-label{
  margin-bottom:5px!important;
}
.mm-week-overview-extras-list{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:6px!important;
}
.mm-week-overview-meal.is-extra{
  min-width:0;
  border-radius:12px!important;
}
.mm-week-overview-meal.is-extra .mm-week-overview-meal-main,
.mm-week-overview-meal.is-extra.mm-week-overview-meal.is-empty{
  min-height:88px!important;
  padding:7px 6px!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:5px!important;
}
.mm-week-overview-meal.is-extra .mm-week-overview-photo,
.mm-week-overview-meal.is-extra .mm-week-overview-empty-icon{
  width:36px!important;
  height:36px!important;
  flex:0 0 36px!important;
}
.mm-week-overview-meal.is-extra .mm-week-overview-meal-copy{
  width:100%;
  gap:1px!important;
}
.mm-week-overview-meal.is-extra .mm-week-overview-meal-copy small{
  font-size:8px!important;
  line-height:1.05!important;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.mm-week-overview-meal.is-extra .mm-week-overview-meal-copy strong{
  font-size:10.3px!important;
  line-height:1.08!important;
  -webkit-line-clamp:2!important;
}
.mm-week-overview-meal.is-extra .mm-week-overview-done{
  position:absolute;
  top:6px;
  right:6px;
}
.mm-week-overview-meal.is-extra{
  position:relative;
}

@media(max-width:360px){
  .mm-week-overview-extras-list{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}


/* Menus — dernier polish de la vue Semaine */
.mm-week-overview-main-meals .mm-week-overview-meal-main{
  align-items:center!important;
}
.mm-week-overview-main-meals .mm-week-overview-meal-copy{
  justify-content:center;
}
.mm-week-overview-extras-list{
  align-items:stretch;
}
.mm-week-overview-meal.is-extra .mm-week-overview-meal-main,
.mm-week-overview-meal.is-extra.mm-week-overview-meal.is-empty{
  min-height:96px!important;
}
.mm-week-overview-meal.is-extra .mm-week-overview-meal-copy strong{
  -webkit-line-clamp:3!important;
  line-height:1.08!important;
}
.mm-week-overview-meal.is-extra .mm-week-overview-photo,
.mm-week-overview-meal.is-extra .mm-week-overview-empty-icon{
  width:34px!important;
  height:34px!important;
  flex:0 0 34px!important;
}
.mm-week-overview-day.is-today{
  box-shadow:0 8px 20px rgba(99,32,81,.06)!important;
}
.mm-week-overview-day-head{
  cursor:pointer;
}
.mm-week-overview-day-head:active{
  transform:scale(.995);
}


/* Courses — ajout prioritaire et actions groupées */
.mm-shopping-add-block{
  margin:2px 0 10px;
}
.mm-shopping-add-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
}
.mm-shopping-add-input{
  min-height:46px!important;
  border-radius:15px!important;
  font-size:12.5px!important;
  padding:9px 13px!important;
}
.mm-shopping-add-button{
  min-height:46px!important;
  min-width:92px;
  border-radius:15px!important;
  padding:8px 14px!important;
  font-size:11.5px!important;
  box-shadow:0 4px 13px rgba(65,31,67,.08);
}
.mm-shopping-add-button:disabled{
  opacity:.38;
  cursor:default;
  box-shadow:none;
}
.mm-shopping-quick-actions{
  margin:0 0 10px!important;
  padding:10px;
  border:1px solid rgba(104,67,107,.09);
  border-radius:15px;
  background:rgba(255,255,255,.58);
}
.mm-shopping-bulk-copy{
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:0 1px 8px;
}
.mm-shopping-bulk-copy strong{
  color:#3B2C35;
  font-size:11.5px;
}
.mm-shopping-bulk-copy small{
  color:#958991;
  font-size:10px;
  line-height:1.25;
}
.mm-shopping-bulk-row{
  margin-top:0!important;
  grid-template-columns:1fr 1fr!important;
  gap:7px!important;
}
.mm-shopping-bulk-row button{
  min-height:40px!important;
  border-radius:12px!important;
  font-size:10.5px!important;
}
.mm-shopping-mark-all{
  background:#68436B!important;
  border-color:#68436B!important;
  color:#fff!important;
}
.mm-shopping-mark-all i{
  color:#fff!important;
}
@media(max-width:360px){
  .mm-shopping-add-button{
    min-width:82px;
    padding-inline:11px!important;
  }
  .mm-shopping-bulk-row{
    grid-template-columns:1fr!important;
  }
}


/* Courses — catégories et lignes plus lisibles */
.mm-shopping-inventory{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.mm-shopping-category{
  margin:0!important;
}
.mm-shopping-category-head{
  width:100%;
  min-height:52px!important;
  margin:0!important;
  padding:7px 8px!important;
  border:0!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.68)!important;
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  text-align:left;
  font:inherit!important;
  cursor:pointer;
}
.mm-shopping-category-media{
  width:36px;
  height:36px;
  flex:0 0 36px;
  display:block;
}
.mm-shopping-category-copy{
  min-width:0;
  flex:1;
  display:flex;
  flex-direction:column;
  gap:1px;
}
.mm-shopping-category-copy strong{
  color:#3B2C35;
  font-size:12.5px;
  line-height:1.15;
}
.mm-shopping-category-copy small{
  color:#9A8D94;
  font-size:9.8px;
  line-height:1.15;
}
.mm-shopping-category-head>i{
  color:#B4A8B0;
  font-size:14px;
  flex:0 0 auto;
}
.mm-shopping-category-list{
  margin-top:6px;
  overflow:hidden;
  border:1px solid rgba(75,30,63,.065);
  border-radius:16px;
  background:#fff;
  box-shadow:0 4px 14px rgba(65,31,67,.035);
}
.mm-shopping-item-row{
  min-height:52px!important;
  padding:8px 10px!important;
  display:grid!important;
  grid-template-columns:24px minmax(0,1fr) auto;
  align-items:center!important;
  gap:9px!important;
  background:#fff!important;
  border-bottom:1px solid rgba(75,30,63,.06);
  cursor:pointer;
  transition:background .15s ease,transform .12s ease;
}
.mm-shopping-item-row:last-child{
  border-bottom:0;
}
.mm-shopping-item-row:active{
  transform:scale(.995);
}
.mm-shopping-item-row.is-selected{
  background:#F4EAF2!important;
}
.mm-shopping-item-row.is-bought{
  background:#FAF8F9!important;
}
.mm-shopping-item-check{
  width:22px;
  height:22px;
  border:1.5px solid #D8CDD5;
  border-radius:7px;
  display:grid;
  place-items:center;
  color:#fff;
  background:#fff;
  box-sizing:border-box;
}
.mm-shopping-item-row.is-selected .mm-shopping-item-check{
  border-color:#68436B;
  background:#68436B;
}
.mm-shopping-item-row.is-bought .mm-shopping-item-check{
  border-color:#6F8F68;
  background:#6F8F68;
}
.mm-shopping-item-check i{
  font-size:13px;
}
.mm-shopping-item-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.mm-shopping-item-copy strong{
  color:#3B2C35;
  font-size:12.7px;
  line-height:1.2;
  font-weight:720;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.mm-shopping-item-copy small{
  color:#9A8D94;
  font-size:9.8px;
  line-height:1.2;
}
.mm-shopping-item-copy small.is-fridge{
  color:#74516C;
}
.mm-shopping-item-row.is-bought .mm-shopping-item-copy strong{
  color:#82777D;
  text-decoration:line-through;
  text-decoration-color:rgba(130,119,125,.5);
}
.mm-shopping-item-qty{
  margin-left:4px;
  padding:4px 7px;
  border-radius:999px;
  background:#F2E7F0;
  color:#68436B;
  font-size:10px;
  line-height:1;
  font-weight:800;
  white-space:nowrap;
}
.mm-shopping-item-row.is-bought .mm-shopping-item-qty{
  background:#F0F1EC;
  color:#70806C;
}
@media(max-width:360px){
  .mm-shopping-item-row{
    grid-template-columns:22px minmax(0,1fr) auto;
    gap:7px!important;
    padding-inline:8px!important;
  }
  .mm-shopping-item-copy strong{
    font-size:12.2px;
  }
  .mm-shopping-item-qty{
    font-size:9.5px;
    padding-inline:6px;
  }
}


/* Courses — sélection multiple et états terminés */
.mm-shopping-selection-bar{
  position:sticky;
  top:8px;
  z-index:9;
  margin:0 0 12px;
  padding:9px;
  border:1px solid rgba(104,67,107,.10);
  border-radius:16px;
  background:rgba(255,255,255,.96);
  box-shadow:0 8px 22px rgba(65,31,67,.08);
  backdrop-filter:blur(12px);
}
.mm-shopping-selection-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:7px;
}
.mm-shopping-selection-summary>span{
  color:#4A3445;
  font-size:11.5px;
  font-weight:700;
}
.mm-shopping-selection-summary>span strong{
  color:#68436B;
  font-size:13px;
}
.mm-shopping-selection-summary>button{
  width:32px;
  height:32px;
  border:0;
  border-radius:10px;
  background:#F4ECF3;
  color:#68436B;
  display:grid;
  place-items:center;
  cursor:pointer;
}
.mm-shopping-selection-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
}
.mm-shopping-selection-actions>button{
  min-height:40px;
  border:1px solid #DED3DC;
  border-radius:12px;
  background:#fff;
  color:#68436B;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:7px 9px;
  font:inherit;
  font-size:10.5px;
  font-weight:800;
  cursor:pointer;
}
.mm-shopping-selection-actions>button.is-primary{
  border-color:#68436B;
  background:#68436B;
  color:#fff;
}
.mm-shopping-selection-actions>button.is-danger{
  color:#A84639;
  border-color:rgba(168,70,57,.18);
  background:rgba(168,70,57,.04);
}
.mm-shopping-empty-view{
  margin:14px 0 10px;
  padding:24px 16px 22px;
  border:1px dashed rgba(104,67,107,.14);
  border-radius:18px;
  background:rgba(255,255,255,.46);
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.mm-shopping-empty-icon{
  width:46px;
  height:46px;
  margin-bottom:9px;
  border-radius:15px;
  background:#F2E7F0;
  color:#68436B;
  display:grid;
  place-items:center;
}
.mm-shopping-empty-icon i{
  font-size:22px;
}
.mm-shopping-empty-view.is-done .mm-shopping-empty-icon{
  background:#EEF4EC;
  color:#6F8F68;
}
.mm-shopping-empty-view.is-done .mm-shopping-empty-icon i{
  font-size:25px;
  font-weight:900;
}
.mm-shopping-empty-view>strong{
  color:#3B2C35;
  font-family:var(--mm-display),Georgia,serif;
  font-size:16px;
  line-height:1.15;
}
.mm-shopping-empty-view>small{
  max-width:280px;
  margin-top:5px;
  color:#958991;
  font-size:10.5px;
  line-height:1.35;
}
.mm-shopping-empty-view>button{
  min-height:38px;
  margin-top:12px;
  border:0;
  border-radius:12px;
  background:#F2E7F0;
  color:#68436B;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 11px;
  font:inherit;
  font-size:10.5px;
  font-weight:800;
  cursor:pointer;
}
@media(max-width:360px){
  .mm-shopping-selection-actions{
    grid-template-columns:1fr;
  }
}


/* Frigo — priorités de péremption plus visibles */
.mm-fridge-screen .mm-fridge-mock-head{
  margin-top:-2px!important;
}
.mm-fridge-screen .mm-fridge-title-row{
  margin-bottom:6px!important;
}
.mm-fridge-screen .mm-fridge-quick-filter.is-expired{
  color:#A84639!important;
  border-color:rgba(168,70,57,.18)!important;
  background:rgba(168,70,57,.05)!important;
}
.mm-fridge-screen .mm-fridge-quick-filter.is-expired.is-active{
  color:#fff!important;
  border-color:#A84639!important;
  background:#A84639!important;
}
.mm-fridge-screen .mm-fridge-quick-filter.is-urgent{
  color:#9A5A2E!important;
}
.mm-fridge-screen .mm-fridge-quick-filter.is-soon{
  color:#8A6C2B!important;
}
.mm-fridge-native-row{
  position:relative;
}
.mm-fridge-native-row.is-expired{
  background:linear-gradient(90deg,rgba(168,70,57,.055),rgba(255,255,255,0) 70%);
}
.mm-fridge-native-row.is-urgent{
  background:linear-gradient(90deg,rgba(194,112,53,.05),rgba(255,255,255,0) 70%);
}
.mm-fridge-item-copy{
  min-width:0;
}
.mm-fridge-expiry{
  width:max-content;
  max-width:100%;
  margin-top:4px!important;
  padding:3px 6px;
  border-radius:999px;
  font-size:9px!important;
  line-height:1!important;
  font-weight:750;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.mm-fridge-expiry.is-expired{
  color:#A84639!important;
  background:rgba(168,70,57,.09);
}
.mm-fridge-expiry.is-urgent{
  color:#9A5A2E!important;
  background:rgba(194,112,53,.10);
}
.mm-fridge-expiry.is-soon{
  color:#8A6C2B!important;
  background:rgba(185,148,70,.10);
}
.mm-fridge-expiry.is-ok{
  color:#648066!important;
  background:rgba(100,128,102,.09);
}
.mm-fridge-expiry.is-no-date{
  color:#8E8188!important;
  background:#F3EEF1;
}
.mm-fridge-expired-warning{
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin:0 0 10px;
  padding:9px 10px;
  border:1px solid rgba(168,70,57,.12);
  border-radius:13px;
  background:rgba(168,70,57,.055);
  color:#8F453B;
  font-size:10.5px;
  line-height:1.3;
}
.mm-fridge-expired-warning i{
  flex:0 0 auto;
  margin-top:1px;
  font-size:15px;
}


/* Frigo — actions rapides, catégories compactes et détail ingrédient */
.mm-fridge-screen .mm-fridge-visual-title{
  min-height:44px!important;
  margin-bottom:5px!important;
  padding:2px 1px!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
}
.mm-fridge-screen .mm-fridge-cat-icon .mm-category-thumb{
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  border-radius:11px!important;
}
.mm-fridge-cat-copy{
  min-width:0;
  flex:1;
  display:flex;
  flex-direction:column;
  gap:1px;
}
.mm-fridge-cat-copy strong{
  color:#3B2C35;
  font-size:12.5px;
  line-height:1.15;
}
.mm-fridge-cat-copy small{
  color:#9A8D94;
  font-size:9.6px;
  line-height:1.15;
}
.mm-fridge-native-row{
  min-height:60px!important;
  padding:6px 7px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto 36px;
  align-items:center!important;
  gap:6px!important;
}
.mm-fridge-screen .mm-fridge-item-main{
  width:100%;
  min-width:0;
  min-height:46px!important;
  padding:4px 3px!important;
  border:0;
  background:transparent;
  display:flex!important;
  align-items:center!important;
  text-align:left;
  font:inherit;
  cursor:pointer;
}
.mm-fridge-row-qty{
  min-width:104px;
  display:grid;
  grid-template-columns:34px minmax(36px,auto) 34px;
  align-items:center;
  gap:3px;
  padding:3px;
  border:1px solid rgba(111,66,114,.09);
  border-radius:12px;
  background:#F8F3F7;
}
.mm-fridge-row-qty>button{
  width:34px;
  height:38px;
  border:0;
  border-radius:9px;
  background:#fff;
  color:#68436B;
  display:grid;
  place-items:center;
  font:inherit;
  font-size:17px;
  font-weight:700;
  cursor:pointer;
}
.mm-fridge-row-qty>strong{
  min-width:0;
  color:#4A3445;
  font-size:10.5px;
  line-height:1.05;
  font-weight:800;
  text-align:center;
  white-space:nowrap;
}
.mm-fridge-row-open{
  width:36px;
  height:44px;
  border:0;
  border-radius:11px;
  background:transparent;
  color:#B1A5AD;
  display:grid;
  place-items:center;
  cursor:pointer;
}
.mm-fridge-row-open i{
  font-size:15px;
}
.mm-fridge-detail-sheet{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.mm-fridge-detail-name{
  display:flex;
  flex-direction:column;
  gap:3px;
  padding:2px 2px 4px;
}
.mm-fridge-detail-name>span{
  color:#9A8D94;
  font-size:9.5px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.mm-fridge-detail-name>strong{
  color:#35182F;
  font-family:var(--mm-display),Georgia,serif;
  font-size:21px;
  line-height:1.1;
}
.mm-fridge-detail-card{
  overflow:hidden;
  border:1px solid rgba(75,30,63,.075);
  border-radius:15px;
  background:#fff;
}
.mm-fridge-detail-row{
  min-height:58px;
  padding:9px 11px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.mm-fridge-detail-row+.mm-fridge-detail-row{
  border-top:1px solid rgba(75,30,63,.06);
}
.mm-fridge-detail-row>span:first-child{
  color:#82777D;
  font-size:11px;
  font-weight:700;
}
.mm-fridge-detail-qty{
  display:grid;
  grid-template-columns:36px minmax(60px,auto) 36px;
  align-items:center;
  gap:5px;
}
.mm-fridge-detail-qty>button{
  width:36px;
  height:40px;
  border:0;
  border-radius:10px;
  background:#F2E7F0;
  color:#68436B;
  font:inherit;
  font-size:18px;
  font-weight:700;
  cursor:pointer;
}
.mm-fridge-detail-qty>strong{
  color:#3B2C35;
  font-size:12px;
  text-align:center;
  white-space:nowrap;
}
.mm-fridge-detail-date{
  position:relative;
  cursor:pointer;
}
.mm-fridge-detail-date>strong{
  margin-left:auto;
  color:#68436B;
  font-size:11px;
  text-align:right;
}
.mm-fridge-detail-date>i{
  color:#9A8D94;
  font-size:14px;
}
.mm-fridge-detail-date>input{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:0;
  cursor:pointer;
}
.mm-fridge-detail-actions{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.mm-fridge-detail-action{
  width:100%;
  min-height:58px;
  border:1px solid rgba(111,66,114,.10);
  border-radius:14px;
  padding:9px 11px;
  background:#fff;
  color:#68436B;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 18px;
  align-items:center;
  gap:9px;
  text-align:left;
  font:inherit;
  cursor:pointer;
}
.mm-fridge-detail-action>i:first-child{
  width:34px;
  height:34px;
  border-radius:10px;
  background:#F2E7F0;
  display:grid;
  place-items:center;
  font-size:16px;
}
.mm-fridge-detail-action>span{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.mm-fridge-detail-action>span strong{
  color:#3B2C35;
  font-size:12px;
}
.mm-fridge-detail-action>span small{
  color:#9A8D94;
  font-size:9.8px;
  line-height:1.2;
}
.mm-fridge-detail-action>i:last-child{
  color:#B1A5AD;
  font-size:14px;
}
.mm-fridge-detail-action.is-primary{
  border-color:#68436B;
  background:#68436B;
  color:#fff;
}
.mm-fridge-detail-action.is-primary>i:first-child{
  background:rgba(255,255,255,.15);
  color:#fff;
}
.mm-fridge-detail-action.is-primary>span strong,
.mm-fridge-detail-action.is-primary>span small,
.mm-fridge-detail-action.is-primary>i:last-child{
  color:#fff;
}
.mm-fridge-detail-delete{
  min-height:44px;
  border:0;
  border-radius:12px;
  background:rgba(168,70,57,.045);
  color:#A84639;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:8px 10px;
  font:inherit;
  font-size:10.5px;
  font-weight:800;
  cursor:pointer;
}
@media(max-width:370px){
  .mm-fridge-native-row{
    grid-template-columns:minmax(0,1fr) auto 32px;
    gap:4px!important;
  }
  .mm-fridge-row-qty{
    min-width:94px;
    grid-template-columns:30px minmax(34px,auto) 30px;
  }
  .mm-fridge-row-qty>button{
    width:30px;
  }
  .mm-fridge-row-open{
    width:32px;
  }
}


/* Frigo — sécuriser les contrôles rapides de quantité */
.mm-fridge-row-qty>button:disabled,
.mm-fridge-detail-qty>button:disabled{
  opacity:.32;
  cursor:default;
  background:#F4F0F2;
  color:#A99EA5;
}
.mm-fridge-row-qty>button:not(:disabled):active,
.mm-fridge-detail-qty>button:not(:disabled):active{
  transform:scale(.96);
}
.mm-fridge-row-open:active,
.mm-fridge-item-main:active{
  transform:scale(.99);
}


/* Réglages — hub plus compact et plus lisible */
.mm-settings-hub-section{
  margin-top:17px;
}
.mm-settings-hub-section:first-of-type{
  margin-top:0;
}
.mm-settings-hub-section.is-admin{
  margin-top:20px;
  padding-top:14px;
  border-top:1px solid rgba(75,30,63,.07);
}
.mm-settings-hub-section-label{
  margin:0 3px 7px;
  color:#9A8D94;
  font-size:9.8px;
  line-height:1;
  font-weight:850;
  letter-spacing:.065em;
  text-transform:uppercase;
}
.mm-settings-hub-group{
  overflow:hidden;
  border:1px solid rgba(75,30,63,.07);
  border-radius:18px;
  background:rgba(255,255,255,.78);
  box-shadow:0 5px 16px rgba(65,31,67,.035);
}
.mm-settings-hub-item{
  width:100%;
  min-height:64px;
  padding:10px 12px;
  border:0;
  border-bottom:1px solid rgba(75,30,63,.06);
  background:transparent;
  color:#3B2C35;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) 20px;
  align-items:center;
  gap:10px;
  text-align:left;
  font:inherit;
  cursor:pointer;
  transition:background .14s ease,transform .12s ease;
}
.mm-settings-hub-item:last-child{
  border-bottom:0;
}
.mm-settings-hub-item:active{
  background:#F6EEF5;
  transform:scale(.995);
}
.mm-settings-hub-icon{
  width:38px;
  height:38px;
  border-radius:12px;
  background:#F2E7F0;
  color:#68436B;
  display:grid;
  place-items:center;
}
.mm-settings-hub-icon i{
  font-size:19px;
}
.mm-settings-hub-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.mm-settings-hub-title-row{
  min-width:0;
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
}
.mm-settings-hub-title-row strong{
  color:#3B2C35;
  font-size:12.8px;
  line-height:1.15;
  font-weight:790;
}
.mm-settings-hub-copy small{
  color:#958991;
  font-size:10.3px;
  line-height:1.3;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.mm-settings-hub-badge{
  padding:2px 7px;
  border-radius:999px;
  background:#F2E7F0;
  color:#68436B;
  font-size:8.8px;
  line-height:1.2;
  font-weight:850;
}
.mm-settings-hub-chevron{
  justify-self:end;
  color:#B2A7AE;
  font-size:15px;
}
.mm-settings-screen .mm-secondary-root-header{
  margin-bottom:13px;
}
.mm-settings-screen .mm-secondary-root-subtitle{
  max-width:420px;
}
@media(max-width:370px){
  .mm-settings-hub-item{
    min-height:60px;
    grid-template-columns:36px minmax(0,1fr) 18px;
    gap:9px;
    padding-inline:10px;
  }
  .mm-settings-hub-icon{
    width:36px;
    height:36px;
  }
  .mm-settings-hub-copy small{
    font-size:9.9px;
  }
}


/* Navigation secondaire — headers persistants et safe areas mobile */
@media(max-width:759px){
  .mm-secondary-screen,
  .mm-settings-screen{
    min-height:100%;
  }

  .mm-secondary-root-header{
    position:sticky;
    top:0;
    z-index:23;
    margin:0 -4px 12px;
    padding:4px 4px 9px;
    background:linear-gradient(180deg,rgba(254,248,242,.99) 0%,rgba(254,248,242,.96) 82%,rgba(254,248,242,0) 100%);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
  }

  .mm-secondary-root-header::after{
    content:"";
    position:absolute;
    left:4px;
    right:4px;
    bottom:4px;
    height:1px;
    background:rgba(75,30,63,.055);
    pointer-events:none;
  }

  .mm-secondary-back{
    box-shadow:none;
    background:rgba(255,255,255,.82);
  }

  .mm-settings-subpage-header{
    top:0!important;
    z-index:24!important;
    margin:0 -4px 10px!important;
    padding:4px 4px 9px!important;
    border-bottom:0!important;
    background:linear-gradient(180deg,rgba(254,248,242,.99) 0%,rgba(254,248,242,.96) 82%,rgba(254,248,242,0) 100%)!important;
  }

  .mm-bottom-nav{
    min-height:calc(66px + env(safe-area-inset-bottom))!important;
    padding-bottom:max(8px,env(safe-area-inset-bottom))!important;
    transform:translateZ(0);
    backface-visibility:hidden;
  }

  .mm-main-shell{
    padding-bottom:calc(114px + env(safe-area-inset-bottom))!important;
  }
}


/* Statistiques — hiérarchie cohérente avec les autres écrans secondaires */
.mm-stats-period-switch{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:4px;
  margin-bottom:14px;
  padding:4px;
  border-radius:15px;
  background:#F2EBEF;
}
.mm-stats-period-switch>button{
  min-height:42px;
  padding:7px 6px;
  border:0;
  border-radius:11px;
  background:transparent;
  color:#8A7F85;
  font:inherit;
  font-size:10.5px;
  font-weight:750;
  text-align:center;
  cursor:pointer;
}
.mm-stats-period-switch>button.is-active{
  background:#fff;
  color:#5E365D;
  box-shadow:0 3px 10px rgba(65,31,67,.055);
}
.mm-stats-summary-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-bottom:10px;
}
.mm-stats-summary-card{
  min-height:82px;
  padding:12px 13px;
  border:1px solid rgba(75,30,63,.065);
  border-radius:15px;
  background:#fff;
  box-shadow:0 4px 14px rgba(65,31,67,.03);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.mm-stats-summary-card>strong{
  color:#35182F;
  font-family:var(--mm-display),Georgia,serif;
  font-size:20px;
  line-height:1;
}
.mm-stats-rating-star{font-size:.72em;vertical-align:2px;margin-left:1px}
.mm-stats-summary-card>small{
  margin-top:4px;
  color:#A0959B;
  font-size:9px;
  line-height:1.15;
}
.mm-stats-summary-card>span{
  margin-top:5px;
  color:#8A7F85;
  font-size:9.8px;
  line-height:1.2;
}
.mm-stats-insight{
  margin:0 0 12px;
  padding:11px 12px;
  border:1px solid rgba(111,66,114,.07);
  border-radius:15px;
  background:#FBF7FA;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:9px;
  align-items:start;
}
.mm-stats-insight>span{
  width:34px;
  height:34px;
  border-radius:10px;
  background:#F2E7F0;
  color:#68436B;
  display:grid;
  place-items:center;
}
.mm-stats-insight>div>strong{
  color:#3B2C35;
  font-size:11.5px;
}
.mm-stats-insight p{
  margin:3px 0 0;
  color:#8E8188;
  font-size:10.2px;
  line-height:1.35;
}
.mm-stats-insight p b{
  color:#5A4155;
}
.mm-stats-card{
  margin-bottom:10px;
  padding:13px 14px 15px;
  border:1px solid rgba(75,30,63,.065);
  border-radius:16px;
  background:#fff;
  box-shadow:0 4px 14px rgba(65,31,67,.03);
}
.mm-stats-card-title{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:12px;
}
.mm-stats-card-title>span{
  width:30px;
  height:30px;
  border-radius:9px;
  background:#F2E7F0;
  color:#68436B;
  display:grid;
  place-items:center;
}
.mm-stats-card-title>span i{
  font-size:15px;
}
.mm-stats-card-title>strong{
  color:#3B2C35;
  font-size:11.5px;
}
.mm-stats-card-empty{
  color:#958991;
  font-size:10.5px;
}
.mm-stats-empty{
  margin-top:4px;
  padding:34px 20px 30px;
  border:1px dashed rgba(111,66,114,.12);
  border-radius:18px;
  background:rgba(255,255,255,.42);
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.mm-stats-empty>span{
  width:48px;
  height:48px;
  margin-bottom:10px;
  border-radius:15px;
  background:#F2E7F0;
  color:#68436B;
  display:grid;
  place-items:center;
}
.mm-stats-empty>span i{
  font-size:22px;
}
.mm-stats-empty>strong{
  color:#3B2C35;
  font-family:var(--mm-display),Georgia,serif;
  font-size:16px;
  line-height:1.15;
}
.mm-stats-empty>small{
  max-width:310px;
  margin-top:6px;
  color:#958991;
  font-size:10.5px;
  line-height:1.4;
}
@media(max-width:350px){
  .mm-stats-period-switch>button{
    font-size:9.8px;
  }
  .mm-stats-summary-card{
    min-height:76px;
    padding:11px;
  }
}


/* ============================================================
   MENUMIA UX — SIMPLIFICATION GLOBALE 2
   Menus, Réglages et Statistiques en divulgation progressive.
============================================================ */
.mm-week-summary{margin:0 0 7px}
.mm-week-summary-toggle{
  width:100%;min-height:42px;border:1px solid rgba(75,30,63,.065);border-radius:14px;
  background:rgba(255,255,255,.62);padding:7px 10px;display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;
  color:#4B3A45;font:inherit;text-align:left;cursor:pointer
}
.mm-week-summary-toggle>span{display:flex;align-items:center;gap:6px;white-space:nowrap}
.mm-week-summary-toggle>span i{color:#70436B;font-size:15px}
.mm-week-summary-toggle>span strong{font-size:10.8px}
.mm-week-summary-toggle>small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#968991;font-size:9.5px}
.mm-week-summary-toggle>i{color:#A0949B;font-size:14px}
.mm-week-summary .mm-week-stats{margin:6px 0 0!important}
.mm-week-actions-bar.is-simplified{grid-template-columns:1fr!important}
.mm-week-tools-trigger{border-left:1px solid #F0E8ED!important}
.mm-week-tools-sheet{display:grid;gap:7px}
.mm-week-tools-sheet>button,
.mm-week-tools-date{
  width:100%;min-height:56px;border:0;border-radius:14px;background:#FAF7F8;color:#4B3A45;
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;
  padding:9px 11px;font:inherit;text-align:left;box-sizing:border-box
}
.mm-week-tools-sheet>button{cursor:pointer}
.mm-week-tools-sheet>button>i:first-child,
.mm-week-tools-date>span>i{width:32px;height:32px;border-radius:10px;background:#F1E7EF;color:#70436B;display:grid;place-items:center;font-size:15px}
.mm-week-tools-sheet>button>span{display:grid;gap:2px;min-width:0}
.mm-week-tools-date>span{display:flex;align-items:center;gap:10px;min-width:0}
.mm-week-tools-date>span>span{display:grid;gap:2px;min-width:0}
.mm-week-tools-sheet strong{font-size:11.5px}
.mm-week-tools-sheet small{display:block;color:#998D95;font-size:9.6px;line-height:1.25}
.mm-week-tools-sheet>button>i:last-child{color:#A89DA4}
.mm-week-tools-date{grid-template-columns:minmax(0,1fr) auto}
.mm-week-tools-date input{border:1px solid #E4DCE2;background:#fff;border-radius:10px;padding:7px 8px;color:#4B3A45;font-size:10.5px;max-width:118px}

.mm-settings-subhub{margin-top:4px}
.mm-settings-hub-group-primary .mm-settings-hub-item{min-height:68px}
.mm-settings-preferences-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0 0 13px}
.mm-settings-preferences-overview>span{min-width:0;border:1px solid rgba(75,30,63,.06);border-radius:14px;background:#FFFDFC;padding:8px 7px;display:grid;grid-template-columns:auto 1fr;column-gap:5px;align-items:center}
.mm-settings-preferences-overview i{grid-row:1/3;color:#70436B;font-size:15px}
.mm-settings-preferences-overview strong{font-size:11.5px;color:#41243B;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mm-settings-preferences-overview small{font-size:8.8px;color:#9A8E95}
.mm-settings-advanced-toggle{
  width:100%;min-height:54px;margin-top:10px;border:1px solid rgba(75,30,63,.08);border-radius:15px;background:#FAF7F8;
  display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 11px;color:#4B3A45;font:inherit;text-align:left;cursor:pointer
}
.mm-settings-advanced-toggle>span{display:flex;align-items:center;gap:9px;min-width:0}
.mm-settings-advanced-toggle>span>i{width:34px;height:34px;border-radius:11px;background:#F0E5EE;color:#70436B;display:grid;place-items:center;flex:0 0 auto}
.mm-settings-advanced-toggle>span>span{display:grid;gap:2px;min-width:0}
.mm-settings-advanced-toggle strong{font-size:11.5px}
.mm-settings-advanced-toggle small{font-size:9px;color:#968A92;line-height:1.25}
.mm-settings-advanced-toggle>i{color:#A2969E}
.mm-stats-summary-grid.is-essential{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.mm-stats-summary-grid.is-essential .mm-stats-summary-card{min-height:76px!important;padding:10px 7px!important}
.mm-stats-summary-grid.is-essential .mm-stats-summary-card strong{font-size:19px!important}
.mm-stats-summary-grid.is-essential .mm-stats-summary-card span{font-size:8.8px!important;line-height:1.2!important}
.mm-stats-details-toggle{
  width:100%;min-height:48px;margin:10px 0;border:1px solid rgba(75,30,63,.07);border-radius:15px;background:#FFFDFC;
  display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 11px;color:#4B3A45;font:inherit;cursor:pointer
}
.mm-stats-details-toggle>span{display:flex;align-items:center;gap:8px}
.mm-stats-details-toggle>span i{width:31px;height:31px;border-radius:10px;background:#F1E7EF;color:#70436B;display:grid;place-items:center}
.mm-stats-details-toggle strong{font-size:11.5px}
.mm-stats-details-toggle>i{color:#A2969E}
.mm-stats-details{display:grid;gap:10px}

@media(max-width:420px){
  .mm-week-summary-toggle{grid-template-columns:auto minmax(0,1fr) auto}
  .mm-week-summary-toggle>span strong{font-size:10.3px}
  .mm-week-summary-toggle>small{font-size:9px}
  .mm-settings-preferences-overview{gap:5px}
  .mm-settings-preferences-overview>span{padding:7px 5px}
  .mm-settings-preferences-overview strong{font-size:10.8px}
  .mm-stats-summary-grid.is-essential{gap:6px!important}
}


/* ============================================================
   MENUMIA UI V2 — LOT 4.3 : RECETTES PLUS VISUELLES
   Cartes de catalogue allégées, stock Idées compact et raisons superposées.
============================================================ */
.mm-library-screen .mm-library-search-row{
  grid-template-columns:minmax(0,1fr) 86px;
  gap:7px;
}
.mm-library-screen .mm-library-add-compact{
  min-width:0!important;
  padding:0 9px!important;
  box-shadow:none!important;
  background:rgba(255,255,255,.78)!important;
  font-size:10px!important;
}
.mm-library-screen .mm-library-add-compact i{font-size:14px!important}

.mm-library-screen .mm-library-filter-meta{
  min-height:26px!important;
  margin:0 2px 7px!important;
  color:#AAA0A6!important;
  font-size:9.8px!important;
}
.mm-library-screen .mm-library-sort-trigger{
  min-height:26px!important;
  padding:2px 0 2px 8px!important;
  border:1px solid rgba(111,66,114,.10)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.58)!important;
  padding-inline:9px!important;
  font-size:10.2px!important;
}

.mm-library-card{
  position:relative;
  cursor:pointer;
  transition:transform .14s ease,box-shadow .14s ease;
  -webkit-tap-highlight-color:transparent;
}
.mm-library-card:active{transform:scale(.988)}
.mm-library-card .mm-library-photo-wrap{cursor:pointer}
.mm-library-card .mm-library-heart{
  width:44px!important;
  height:44px!important;
  right:4px!important;
  top:4px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  display:grid!important;
  place-items:center!important;
  color:#71436C!important;
  font-size:18px!important;
}
.mm-library-card .mm-library-heart::before{
  content:"";
  position:absolute;
  width:34px;
  height:34px;
  border-radius:999px;
  background:rgba(255,253,252,.94);
  box-shadow:0 3px 10px rgba(40,20,40,.09);
}
.mm-library-card .mm-library-heart i{
  position:relative;
  z-index:1;
  font-size:18px!important;
}
.mm-library-card .mm-library-heart.is-favorite i{color:#7A365F}

.mm-library-card .mm-library-copy{
  width:100%;
  min-height:0!important;
  border:0;
  background:transparent;
  padding:10px 10px 5px!important;
  display:block;
  font:inherit;
  text-align:left;
  cursor:pointer;
}
.mm-library-card .mm-library-copy h3{
  font-size:15px!important;
  line-height:1.08!important;
}
.mm-library-card .mm-library-meta{
  margin-top:7px!important;
  gap:6px!important;
  font-size:9.8px!important;
}
.mm-library-card .mm-library-meta span:first-child{
  padding:2px 6px!important;
}
.mm-library-card .mm-library-tags{
  margin-top:5px!important;
}
.mm-library-card .mm-library-actions{
  min-height:44px;
  padding:0 6px 5px!important;
  gap:0!important;
  justify-content:flex-end;
}
.mm-library-card .mm-library-week{
  flex:0 1 auto!important;
  min-height:44px!important;
  border:0!important;
  border-radius:10px!important;
  background:transparent!important;
  color:#76536F!important;
  padding:0 7px!important;
  font-size:9.8px!important;
  font-weight:750!important;
}
.mm-library-card .mm-library-week i{
  margin-right:4px!important;
  font-size:15px!important;
}
.mm-library-card .mm-library-more summary{
  width:44px!important;
  height:44px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  font-size:16px!important;
}
.mm-library-card .mm-library-more>div{bottom:44px!important}

.mm-ideas-stock-strip{
  min-height:48px;
  margin:0 1px 9px;
  padding:7px 8px;
  border:1px solid rgba(111,66,114,.07);
  border-radius:15px;
  background:rgba(255,255,255,.66);
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
}
.mm-ideas-stock-icon{
  width:34px;
  height:34px;
  border-radius:11px;
  background:#F2E8F0;
  color:#70436B;
  display:grid;
  place-items:center;
}
.mm-ideas-stock-icon i{font-size:16px}
.mm-ideas-stock-copy{min-width:0;display:grid;gap:1px}
.mm-ideas-stock-copy strong{color:#4B3A45;font-size:10.8px;line-height:1.15}
.mm-ideas-stock-copy small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#968A91;
  font-size:9.2px;
  line-height:1.2;
}
.mm-ideas-stock-strip>b{
  max-width:92px;
  border-radius:999px;
  background:#EEF4EB;
  color:#617A5C;
  padding:4px 7px;
  font-size:8.7px;
  line-height:1.15;
  text-align:center;
}

.mm-ideas-section-heading>b{
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  padding:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#9A8D95!important;
  font-size:9.8px!important;
  font-weight:750!important;
  white-space:nowrap;
}
.mm-ideas-grid .mm-home-suggestion-media{
  position:relative;
  display:block;
  overflow:hidden;
}
.mm-ideas-grid .mm-home-suggestion-reason-badge{
  position:absolute;
  z-index:2;
  left:7px;
  right:7px;
  bottom:7px;
  width:max-content;
  max-width:calc(100% - 14px);
  padding:5px 7px;
  border-radius:10px;
  background:rgba(255,253,252,.92);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  color:#724B6B;
  box-shadow:0 2px 9px rgba(44,23,39,.10);
  display:flex;
  align-items:flex-start;
  gap:4px;
  font-size:8.6px;
  font-weight:700;
  line-height:1.18;
}
.mm-ideas-grid .mm-home-suggestion-reason-badge>span{
  display:-webkit-box;
  overflow:hidden;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}
.mm-ideas-grid .mm-home-suggestion-reason-badge i{
  flex:0 0 auto;
  margin-top:1px;
  color:#8A5A82;
  font-size:10px;
}
.mm-ideas-grid .mm-home-suggestion-card.has-visual-reason .mm-home-suggestion-body{
  min-height:54px;
  padding:9px 10px 10px!important;
}
.mm-ideas-grid .mm-home-suggestion-card.has-visual-reason .mm-home-suggestion-body>div{
  display:-webkit-box;
  overflow:hidden;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}

@media(max-width:365px){
  .mm-library-screen .mm-library-search-row{grid-template-columns:minmax(0,1fr) 78px}
  .mm-library-screen .mm-library-add-compact span{font-size:9.4px}
  .mm-ideas-stock-strip>b{display:none}
}


/* ============================================================
   MENUMIA UI V2 — LOT 4.4 : ALIGNEMENT CARTES RECETTES
   Hauteurs de rangée régulières, actions ancrées en bas et badges Idées plus discrets.
============================================================ */
.mm-recipe-library-grid{
  align-items:stretch!important;
}
.mm-recipe-library-item{
  display:flex;
  align-self:stretch;
  content-visibility:auto;
  contain-intrinsic-size:280px;
}
.mm-recipe-library-item>.mm-library-card{
  width:100%;
  height:100%;
  display:flex;
  flex-direction:column;
}
.mm-library-card .mm-library-photo-wrap{
  flex:0 0 auto;
}
.mm-library-card .mm-library-copy{
  flex:1 1 auto;
}
.mm-library-card .mm-library-copy h3{
  min-height:32.4px;
}
.mm-library-card .mm-library-actions{
  flex:0 0 auto;
  margin-top:auto;
}
.mm-library-card .mm-library-week{
  color:#76536F!important;
  padding-inline:6px!important;
  font-size:9.4px!important;
  letter-spacing:.005em;
}
.mm-library-card .mm-library-week i{
  font-size:14px!important;
  margin-right:3px!important;
}
.mm-library-card .mm-library-heart::before{
  width:30px!important;
  height:30px!important;
}
.mm-library-card .mm-library-heart i{
  font-size:17px!important;
}

.mm-ideas-grid .mm-home-suggestion-reason-badge{
  min-height:0;
  padding:4px 6px;
  border-radius:9px;
  align-items:center;
  gap:3px;
  font-size:8.3px;
  line-height:1.1;
}
.mm-ideas-grid .mm-home-suggestion-reason-badge>span{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.mm-ideas-grid .mm-home-suggestion-reason-badge i{
  margin-top:0;
  font-size:9px;
}


/* ============================================================
   MENUMIA UI V2 — LOT 4.5 : ACTION AJOUT RECETTE
   Le CTA remplit proprement le pied de carte et gagne une vraie présence visuelle.
============================================================ */
.mm-library-card .mm-library-actions{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 44px!important;
  align-items:center!important;
  gap:6px!important;
  padding:0 8px 8px!important;
}
.mm-library-card .mm-library-week{
  width:100%!important;
  min-width:0!important;
  min-height:40px!important;
  padding:0 10px!important;
  border:1px solid rgba(111,66,114,.10)!important;
  border-radius:13px!important;
  background:#F2E5F1!important;
  color:#63375E!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  font-size:10px!important;
  font-weight:800!important;
  box-shadow:0 3px 10px rgba(65,31,67,.035)!important;
}
.mm-library-card .mm-library-week i{
  margin-right:0!important;
  color:#76406F!important;
  font-size:15px!important;
}
.mm-library-card .mm-library-week:active{
  background:#EAD8E7!important;
  transform:scale(.985);
}
.mm-library-card .mm-library-more{
  width:44px;
  height:44px;
}
.mm-library-card .mm-library-more summary{
  border:1px solid rgba(111,66,114,.10)!important;
  border-radius:13px!important;
  background:rgba(255,255,255,.72)!important;
  color:#765A70!important;
}


/* ============================================================
   MENUMIA UI V2 — LOT 4.6 : COURSES + FRIGO FINAL POLISH
   Moins de répétitions dans Courses, stepper Frigo plus léger et alertes uniquement utiles.
============================================================ */
.mm-shopping-bought-panel{
  margin:0 0 9px;
  padding:8px;
  border-radius:15px;
  background:#F2E7F0;
  color:#5F4A5A;
  display:grid;
  gap:5px;
}
.mm-shopping-bought-panel-main{
  min-width:0;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
}
.mm-shopping-bought-panel-icon{
  width:34px;
  height:34px;
  border-radius:11px;
  background:#fff;
  color:#70436B;
  display:grid;
  place-items:center;
  font-size:15px;
}
.mm-shopping-bought-panel-copy{
  min-width:0;
  display:grid;
  gap:1px;
}
.mm-shopping-bought-panel-copy strong{
  color:#4B3447;
  font-size:10.8px;
  line-height:1.15;
}
.mm-shopping-bought-panel-copy small{
  color:#8E8189;
  font-size:9.4px;
  line-height:1.25;
}
.mm-shopping-bought-fridge-link{
  min-height:38px;
  border:0;
  border-radius:11px;
  background:#fff;
  color:#5E315A;
  padding:7px 9px;
  font:inherit;
  font-size:9.8px;
  font-weight:800;
  white-space:nowrap;
  cursor:pointer;
}
.mm-shopping-reset-bought{
  justify-self:end;
  min-height:32px;
  border:0;
  background:transparent;
  color:#7C6176;
  padding:4px 5px;
  display:inline-flex;
  align-items:center;
  gap:4px;
  font:inherit;
  font-size:9.2px;
  font-weight:750;
  cursor:pointer;
}
.mm-shopping-reset-bought i{font-size:12px}
.mm-shopping-bought-panel.is-compact .mm-shopping-bought-panel-copy small{font-size:9px}

.mm-shopping-empty-view.is-done{
  padding:22px 16px 17px!important;
}
.mm-shopping-empty-view.is-done>small{
  max-width:300px;
}
.mm-shopping-done-actions{
  margin-top:13px!important;
}
.mm-shopping-done-summary{
  display:none!important;
}

.mm-fridge-screen .mm-fridge-quick-filters{
  gap:5px!important;
  padding:1px 26px 3px 1px!important;
  scroll-padding-right:26px;
}
.mm-fridge-screen .mm-fridge-quick-filter{
  min-height:32px!important;
  height:32px!important;
  padding:0 8px!important;
  gap:4px!important;
}
.mm-fridge-screen .mm-fridge-quick-filter i{
  font-size:13px!important;
}
.mm-fridge-screen .mm-fridge-quick-filter span{
  font-size:9.6px!important;
}
.mm-fridge-screen .mm-fridge-quick-filter strong{
  min-width:16px!important;
  font-size:9.5px!important;
}

.mm-fridge-native-row{
  grid-template-columns:minmax(0,1fr) 100px 24px!important;
  gap:5px!important;
  min-height:54px!important;
}
.mm-fridge-row-qty{
  width:100px!important;
  min-width:100px!important;
  height:40px!important;
  grid-template-columns:30px minmax(34px,1fr) 30px!important;
  gap:3px!important;
  padding:3px!important;
  border-radius:12px!important;
  background:#F7F1F6!important;
}
.mm-fridge-row-qty>button{
  width:30px!important;
  height:32px!important;
  border-radius:9px!important;
  font-size:15px!important;
}
.mm-fridge-row-qty-display{
  height:32px!important;
}
.mm-fridge-row-qty-display>span{
  font-size:11px!important;
}
.mm-fridge-row-qty-display>small{
  font-size:8.4px!important;
}
.mm-fridge-row-open{
  width:24px!important;
  height:40px!important;
  opacity:.55;
  padding:0!important;
}
.mm-fridge-row-open i{
  font-size:14px!important;
}
.mm-fridge-item-copy:has(.mm-fridge-expiry){
  padding-block:1px;
}
.mm-fridge-item-copy:not(:has(.mm-fridge-expiry)){
  justify-content:center;
}
.mm-fridge-expiry.is-ok,
.mm-fridge-expiry.is-no-date{
  display:none!important;
}

@media(max-width:380px){
  .mm-shopping-bought-panel-main{
    grid-template-columns:32px minmax(0,1fr);
  }
  .mm-shopping-bought-fridge-link{
    grid-column:1/-1;
    width:100%;
  }
  .mm-fridge-native-row{
    grid-template-columns:minmax(0,1fr) 96px 22px!important;
    gap:4px!important;
  }
  .mm-fridge-row-qty{
    width:96px!important;
    min-width:96px!important;
    grid-template-columns:28px minmax(34px,1fr) 28px!important;
  }
  .mm-fridge-row-qty>button{
    width:28px!important;
  }
}


/* ============================================================
   MENUMIA UI V2 — LOT 4.7 : EN-TÊTES COURSES + STEPPER FRIGO
   Illustration et titre regroupés, catégories sans capsule, contrôles Frigo affinés.
============================================================ */
.mm-shopping-screen .mm-shopping-category-head{
  min-height:54px!important;
  grid-template-columns:46px minmax(0,1fr) 20px!important;
  gap:7px!important;
  padding:6px 8px 6px 7px!important;
}
.mm-shopping-screen .mm-shopping-category-media{
  width:46px!important;
  height:46px!important;
}
.mm-shopping-screen .mm-shopping-category-copy{
  min-width:0;
  min-height:0!important;
  padding:0!important;
  border-radius:0!important;
  background:transparent!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  justify-content:start!important;
  align-content:center!important;
  justify-items:start!important;
  gap:1px!important;
  text-align:left!important;
}
.mm-shopping-screen .mm-shopping-category-copy strong{
  color:#3B2C35!important;
  font-size:13px!important;
  line-height:1.12!important;
  font-weight:800!important;
}
.mm-shopping-screen .mm-shopping-category-copy small{
  color:#A0949B!important;
  font-size:9.5px!important;
  line-height:1.15!important;
}
.mm-shopping-screen .mm-shopping-category-head>i{
  width:20px;
  justify-self:end!important;
  color:#A79CA3!important;
  font-size:14px!important;
}

.mm-fridge-native-row{
  grid-template-columns:minmax(0,1fr) 96px 20px!important;
  gap:4px!important;
}
.mm-fridge-row-qty{
  width:96px!important;
  min-width:96px!important;
  grid-template-columns:29px minmax(32px,1fr) 29px!important;
  gap:3px!important;
}
.mm-fridge-row-qty>button{
  width:29px!important;
}
.mm-fridge-row-open{
  width:20px!important;
  opacity:.45!important;
}
.mm-fridge-row-open i{
  font-size:13px!important;
}
@media(max-width:380px){
  .mm-fridge-native-row{
    grid-template-columns:minmax(0,1fr) 92px 18px!important;
    gap:3px!important;
  }
  .mm-fridge-row-qty{
    width:92px!important;
    min-width:92px!important;
    grid-template-columns:27px minmax(32px,1fr) 27px!important;
  }
  .mm-fridge-row-qty>button{
    width:27px!important;
  }
  .mm-fridge-row-open{
    width:18px!important;
  }
}


/* ============================================================
   MENUMIA UI V2 — LOT 4.8 : GROUPE CATÉGORIE COURSES
   Le visuel et le libellé forment un seul bloc à gauche ; seul le chevron reste à droite.
============================================================ */
.mm-shopping-screen .mm-shopping-category-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 20px!important;
  align-items:center!important;
  gap:8px!important;
}
.mm-shopping-screen .mm-shopping-category-main{
  min-width:0;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  text-align:left!important;
}
.mm-shopping-screen .mm-shopping-category-main .mm-shopping-category-media{
  flex:0 0 46px!important;
}
.mm-shopping-screen .mm-shopping-category-main .mm-shopping-category-copy{
  flex:0 1 auto!important;
  width:auto!important;
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:1px!important;
  text-align:left!important;
}
.mm-shopping-screen .mm-shopping-category-main .mm-shopping-category-copy strong,
.mm-shopping-screen .mm-shopping-category-main .mm-shopping-category-copy small{
  width:auto!important;
  margin:0!important;
  text-align:left!important;
}
.mm-shopping-screen .mm-shopping-category-head>i{
  grid-column:2!important;
  justify-self:end!important;
}


/* ============================================================
   MENUMIA UI V2 — LOT 4.9 : ANCRAGE CATÉGORIES COURSES
   Reset explicite du bloc catégorie pour empêcher tout ancien style
   de capsule / centrage de reprendre le dessus après mise à jour PWA.
============================================================ */
.mm-shopping-screen .mm-shopping-category-head{
  justify-items:stretch!important;
}
.mm-shopping-screen .mm-shopping-category-main{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  justify-self:stretch!important;
  align-self:center!important;
}
.mm-shopping-screen .mm-shopping-category-main .mm-shopping-category-media{
  margin:0!important;
}
.mm-shopping-screen .mm-shopping-category-main .mm-shopping-category-copy{
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.mm-shopping-screen .mm-shopping-category-head>i{
  margin:0!important;
}


/* ============================================================
   MENUMIA UI V2 — LOT 5.0 : COURSES ESSENTIEL
   La liste arrive immédiatement : moins d'explications, actions globales compactes.
============================================================ */
.mm-shopping-screen .mm-shopping-add-block{margin-bottom:8px!important}
.mm-shopping-screen .mm-shopping-view-switch{margin-bottom:7px!important}
.mm-shopping-list-toolbar{
  min-height:42px;
  margin:0 1px 7px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
}
.mm-shopping-list-status{min-width:0;display:grid;gap:2px}
.mm-shopping-list-status>strong{color:#4A3445;font-size:11px;line-height:1.15;font-weight:800}
.mm-shopping-list-status>small{
  min-width:0;display:flex;align-items:center;gap:4px;color:#978A92;
  font-size:9px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.mm-shopping-list-status>small i{flex:0 0 auto;color:#7A5A73;font-size:11px}
.mm-shopping-list-actions{display:flex;align-items:center;gap:5px}
.mm-shopping-toolbar-select,.mm-shopping-toolbar-buy-all{min-height:34px;border-radius:11px;font:inherit;cursor:pointer}
.mm-shopping-toolbar-select{
  width:34px;border:1px solid #DED3DC;background:#fff;color:#68436B;display:grid;place-items:center
}
.mm-shopping-toolbar-select i{font-size:15px}
.mm-shopping-toolbar-buy-all{
  border:1px solid rgba(104,67,107,.12);background:#68436B;color:#fff;padding:6px 9px;
  display:inline-flex;align-items:center;justify-content:center;gap:4px;font-size:9.6px;font-weight:800;white-space:nowrap
}
.mm-shopping-toolbar-buy-all i{font-size:13px}
.mm-shopping-screen .mm-shopping-inventory{gap:7px!important}
.mm-shopping-screen .mm-shopping-category-list{margin-top:4px!important}
.mm-shopping-screen .mm-shopping-item-copy small.is-fridge{
  display:flex;align-items:center;gap:3px;color:#87647E!important;font-size:9px!important
}
.mm-shopping-screen .mm-shopping-item-copy small.is-fridge i{flex:0 0 auto;font-size:10px}
.mm-shopping-period,.mm-shopping-sync-note,.mm-shopping-quick-actions,.mm-shopping-fridge-note{display:none!important}
@media(max-width:360px){
  .mm-shopping-list-toolbar{grid-template-columns:minmax(0,1fr) auto;gap:5px}
  .mm-shopping-toolbar-buy-all{padding-inline:7px}
}


/* ============================================================
   MENUMIA UI V2 — LOT 5.1 : RÉGLAGES REPAS + NOTIFICATIONS
   Préférences plus compactes, cuisines personnalisables visibles
   et rappels présentés comme de vrais réglages mobiles.
============================================================ */
.mm-settings-preferences-page{
  display:block;
}
.mm-settings-preferences-page .mm-settings-preferences-overview{
  gap:6px!important;
  margin:0 0 10px!important;
}
.mm-settings-preferences-page .mm-settings-preferences-overview>span{
  min-height:46px;
  padding:7px 8px!important;
  border-radius:13px!important;
  background:rgba(255,255,255,.78)!important;
}
.mm-settings-preferences-page .mm-settings-preferences-overview i{
  font-size:14px!important;
}
.mm-settings-preferences-page .mm-settings-preferences-overview strong{
  font-size:10.6px!important;
}
.mm-settings-preferences-page .mm-settings-preferences-overview small{
  font-size:8.4px!important;
}

.mm-settings-pref-card{
  margin-bottom:9px!important;
  border:1px solid rgba(75,30,63,.055);
  border-radius:18px!important;
  box-shadow:0 5px 16px rgba(55,43,46,.035)!important;
}
.mm-settings-pref-card>div:first-child{
  min-height:62px!important;
  padding:11px 13px!important;
}
.mm-settings-pref-card>div:first-child>div{
  gap:11px!important;
}
.mm-settings-pref-card>div:first-child>div>span:first-child{
  width:36px!important;
  height:36px!important;
  border-radius:12px!important;
  font-size:17px!important;
}
.mm-settings-pref-card>div:first-child>div>div>div:first-child{
  font-size:13.5px!important;
}
.mm-settings-pref-card>div:first-child>div>div>div:nth-child(2){
  font-size:10.5px!important;
  margin-top:1px!important;
}
.mm-settings-pref-card>div:nth-child(2){
  padding:0 14px 14px!important;
}

.mm-settings-cuisines{
  margin:18px 0 14px;
  padding-top:14px;
  border-top:1px solid rgba(75,30,63,.07);
}
.mm-settings-cuisines-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.mm-settings-cuisines-head>span{
  min-width:0;
  display:flex;
  align-items:center;
  gap:8px;
}
.mm-settings-cuisines-head>span>i{
  width:30px;
  height:30px;
  border-radius:10px;
  background:#F2E8F0;
  color:#70436B;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  font-size:15px;
}
.mm-settings-cuisines-head>span>span{
  min-width:0;
  display:grid;
  gap:1px;
}
.mm-settings-cuisines-head strong{
  color:#3B2C35;
  font-size:12px;
}
.mm-settings-cuisines-head small{
  color:#958991;
  font-size:9.2px;
  line-height:1.2;
}
.mm-settings-cuisines-head>b{
  min-width:26px;
  height:26px;
  padding:0 7px;
  border-radius:999px;
  background:#F2E7F0;
  color:#68436B;
  display:grid;
  place-items:center;
  font-size:9.5px;
  font-weight:850;
}
.mm-settings-cuisine-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
}
.mm-settings-cuisine-choice{
  min-width:0;
  min-height:38px;
  border:1px solid rgba(75,30,63,.10);
  border-radius:12px;
  background:#FFFDFC;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  overflow:hidden;
}
.mm-settings-cuisine-choice.is-active{
  border-color:rgba(104,67,107,.34);
  background:#F2E5F1;
}
.mm-settings-cuisine-toggle{
  min-width:0;
  min-height:38px;
  border:0;
  background:transparent;
  color:#766A72;
  padding:7px 8px;
  display:flex;
  align-items:center;
  gap:6px;
  text-align:left;
  font:inherit;
  font-size:10.2px;
  font-weight:700;
  cursor:pointer;
}
.mm-settings-cuisine-choice.is-active .mm-settings-cuisine-toggle{
  color:#593052;
}
.mm-settings-cuisine-toggle i{
  flex:0 0 auto;
  font-size:12px;
}
.mm-settings-cuisine-toggle span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.mm-settings-cuisine-remove{
  width:32px;
  height:32px;
  margin-right:3px;
  border:0;
  border-radius:9px;
  background:rgba(255,255,255,.72);
  color:#9B7C93;
  display:grid;
  place-items:center;
  cursor:pointer;
}
.mm-settings-add-cuisine{
  width:100%;
  min-height:39px;
  margin-top:8px;
  border:1px dashed rgba(104,67,107,.24);
  border-radius:12px;
  background:rgba(255,255,255,.46);
  color:#68436B;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  font:inherit;
  font-size:10.5px;
  font-weight:800;
  cursor:pointer;
}
.mm-settings-cuisine-composer{
  margin-top:8px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto 36px;
  gap:6px;
}
.mm-settings-cuisine-composer input{
  min-width:0;
  min-height:40px;
  border:1px solid #DDD3DA;
  border-radius:12px;
  background:#FFFDFC;
  padding:8px 10px;
  color:#3B2C35;
  font:inherit;
  font-size:11px;
  outline:none;
}
.mm-settings-cuisine-composer input:focus{
  border-color:rgba(104,67,107,.36);
  box-shadow:0 0 0 3px rgba(104,67,107,.06);
}
.mm-settings-cuisine-composer button{
  min-height:40px;
  border-radius:12px;
  font:inherit;
  font-size:10px;
  font-weight:800;
  cursor:pointer;
}
.mm-settings-cuisine-composer .is-primary{
  border:0;
  padding:0 11px;
  background:#68436B;
  color:#fff;
}
.mm-settings-cuisine-composer .is-primary:disabled{
  opacity:.42;
}
.mm-settings-cuisine-composer .is-cancel{
  width:36px;
  border:1px solid #DDD3DA;
  background:#fff;
  color:#8E8188;
}

.mm-settings-tag-input{
  min-width:0;
}
.mm-settings-tag-list{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-bottom:7px;
}
.mm-settings-tag{
  min-height:29px;
  border:1px solid currentColor;
  border-radius:999px;
  padding:2px 3px 2px 9px;
  display:inline-flex;
  align-items:center;
  gap:3px;
  font-size:9.8px;
  font-weight:700;
}
.mm-settings-tag>button{
  width:24px;
  height:24px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:inherit;
  display:grid;
  place-items:center;
  cursor:pointer;
}
.mm-settings-tag-compose{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:6px;
}
.mm-settings-tag-compose input{
  min-width:0;
  min-height:40px;
  border:1px solid #E2D8DF;
  border-radius:12px;
  background:#FFFDFC;
  padding:8px 10px;
  color:#3B2C35;
  font:inherit;
  font-size:11px;
  outline:none;
}
.mm-settings-tag-compose>button{
  min-height:40px;
  border:1px solid rgba(104,67,107,.14);
  border-radius:12px;
  background:#F2E7F0;
  color:#60375C;
  padding:0 10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  font:inherit;
  font-size:9.8px;
  font-weight:800;
  cursor:pointer;
}
.mm-settings-tag-compose>button:disabled{
  opacity:.4;
}

.mm-settings-preferences-note{
  margin:8px 0 4px;
  padding:10px 11px;
  border:1px solid rgba(104,67,107,.07);
  border-radius:14px;
  background:#F5ECF4;
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  align-items:start;
  gap:7px;
}
.mm-settings-preferences-note>i{
  width:28px;
  height:28px;
  border-radius:9px;
  background:rgba(255,255,255,.72);
  color:#70436B;
  display:grid;
  place-items:center;
  font-size:14px;
}
.mm-settings-preferences-note>span{
  min-width:0;
  display:grid;
  gap:2px;
}
.mm-settings-preferences-note strong{
  color:#5B4055;
  font-size:10.4px;
}
.mm-settings-preferences-note small{
  color:#8F818A;
  font-size:9.2px;
  line-height:1.28;
}

.mm-settings-screen .mm-settings-subpage-header{
  background:rgba(254,248,242,.985)!important;
  box-shadow:0 6px 16px rgba(55,43,46,.025)!important;
}

/* Notifications */
.mm-notifications-card{
  margin-bottom:0!important;
}
.mm-notifications-page{
  display:grid;
  gap:10px;
}
.mm-notifications-device{
  min-height:58px;
  padding:9px 10px;
  border:1px solid rgba(75,30,63,.065);
  border-radius:15px;
  background:#FFFDFC;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
}
.mm-notifications-device-icon{
  width:34px;
  height:34px;
  border-radius:11px;
  background:#F2E8F0;
  color:#70436B;
  display:grid;
  place-items:center;
  font-size:16px;
}
.mm-notifications-device-copy{
  min-width:0;
  display:grid;
  gap:1px;
}
.mm-notifications-device-copy strong{
  color:#3B2C35;
  font-size:11.5px;
}
.mm-notifications-device-copy small{
  color:#968A91;
  font-size:9.4px;
}
.mm-notifications-status{
  border-radius:999px;
  background:#F1EDEF;
  color:#8A7D84;
  padding:4px 7px;
  font-size:8.8px;
  font-weight:850;
}
.mm-notifications-status.is-on{
  background:#EDF4EA;
  color:#648060;
}
.mm-notifications-alert{
  padding:9px 10px;
  border-radius:12px;
  background:#F5F1F3;
  color:#7D7077;
  font-size:9.8px;
  line-height:1.3;
}
.mm-notifications-alert.is-error{
  background:#FFF0EE;
  color:#A74E43;
}
.mm-notifications-enable{
  min-height:42px;
  border:0;
  border-radius:13px;
  background:#68436B;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  font:inherit;
  font-size:10.5px;
  font-weight:800;
  cursor:pointer;
}
.mm-notifications-section-head{
  margin:2px 2px -2px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:10px;
}
.mm-notifications-section-head strong{
  color:#4A3445;
  font-size:11px;
}
.mm-notifications-section-head small{
  color:#A0959B;
  font-size:8.8px;
}
.mm-notification-list{
  overflow:hidden;
  border:1px solid rgba(75,30,63,.065);
  border-radius:16px;
  background:#FFFDFC;
  box-shadow:0 4px 14px rgba(65,31,67,.025);
}
.mm-notification-row{
  width:100%;
  min-height:64px!important;
  border:0;
  border-bottom:1px solid rgba(75,30,63,.06);
  background:transparent;
  padding:9px 10px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 40px;
  align-items:center;
  gap:9px;
  text-align:left;
  color:inherit;
  font:inherit;
  cursor:pointer;
}
.mm-notification-row:last-child{
  border-bottom:0;
}
.mm-notification-row-icon{
  width:34px;
  height:34px;
  border-radius:11px;
  background:#F2E8F0;
  color:#70436B;
  display:grid;
  place-items:center;
  font-size:16px;
}
.mm-notification-row-copy{
  min-width:0;
  display:grid;
  gap:2px;
}
.mm-notification-row-copy strong{
  color:#3B2C35;
  font-size:11.4px;
  line-height:1.15;
}
.mm-notification-row-copy small{
  color:#978B92;
  font-size:9.3px;
  line-height:1.25;
}
.mm-notification-switch{
  width:38px;
  height:22px;
  border-radius:999px;
  background:#D7CDD3;
  padding:2px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  box-sizing:border-box;
}
.mm-notification-switch>span{
  width:18px;
  height:18px;
  border-radius:999px;
  background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.13);
  transition:transform .15s ease;
}
.mm-notification-switch.is-on{
  background:#68436B;
}
.mm-notification-switch.is-on>span{
  transform:translateX(16px);
}
.mm-notifications-disable{
  justify-self:start;
  min-height:34px;
  border:0;
  background:transparent;
  color:#85777F;
  padding:4px 2px;
  font:inherit;
  font-size:9.5px;
  font-weight:750;
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer;
}
.mm-notifications-diagnostic{
  margin-top:2px;
  border-top:1px solid rgba(75,30,63,.06);
  padding-top:8px;
  color:#92858D;
  font-size:9.2px;
}
.mm-notifications-diagnostic summary{
  cursor:pointer;
  color:#796B73;
  font-weight:750;
}
.mm-notifications-diagnostic>div{
  margin-top:7px;
  display:grid;
  gap:4px;
}
.mm-notifications-diagnostic span{
  display:flex;
  justify-content:space-between;
  gap:10px;
}
.mm-notifications-diagnostic b{
  color:#594850;
  font-weight:750;
}

@media(max-width:360px){
  .mm-settings-cuisine-grid{grid-template-columns:1fr}
  .mm-settings-cuisine-composer{grid-template-columns:minmax(0,1fr) auto}
  .mm-settings-cuisine-composer .is-cancel{grid-column:1/-1;width:100%;height:34px;min-height:34px}
  .mm-notification-row{grid-template-columns:32px minmax(0,1fr) 38px}
}


/* ============================================================
   MENUMIA UI V2 — LOT 5.2 : CATÉGORIES COURSES MODIFIABLES
   Maison & entretien sort de "Autres" et les erreurs de classement
   peuvent être corrigées depuis la sélection multiple.
============================================================ */
.mm-shopping-selection-actions.has-move{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.mm-shopping-selection-actions.has-move>button{
  padding-inline:6px;
  gap:4px;
  font-size:9.8px;
}
.mm-shopping-category-move-overlay{
  position:fixed;
  inset:0;
  z-index:80;
  background:rgba(37,24,34,.34);
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:16px 12px max(18px,env(safe-area-inset-bottom));
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}
.mm-shopping-category-move-sheet{
  width:min(100%,430px);
  max-height:min(78vh,680px);
  overflow:auto;
  overscroll-behavior:contain;
  border:1px solid rgba(75,30,63,.08);
  border-radius:22px;
  background:#FFFDFC;
  box-shadow:0 18px 48px rgba(52,29,47,.20);
  padding:12px;
}
.mm-shopping-category-move-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:2px 2px 10px;
}
.mm-shopping-category-move-head>span{
  min-width:0;
  display:grid;
  gap:1px;
}
.mm-shopping-category-move-head small{
  color:#9A8E95;
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.mm-shopping-category-move-head strong{
  color:#3B2C35;
  font-size:15px;
  line-height:1.15;
}
.mm-shopping-category-move-head>button{
  width:36px;
  height:36px;
  border:0;
  border-radius:12px;
  background:#F3EAF2;
  color:#68436B;
  display:grid;
  place-items:center;
  cursor:pointer;
}
.mm-shopping-category-move-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
}
.mm-shopping-category-move-grid>button{
  min-width:0;
  min-height:52px;
  border:1px solid rgba(75,30,63,.09);
  border-radius:14px;
  background:#fff;
  color:#4A3944;
  padding:6px 8px;
  display:flex;
  align-items:center;
  gap:7px;
  text-align:left;
  font:inherit;
  font-size:10.2px;
  font-weight:750;
  cursor:pointer;
}
.mm-shopping-category-move-grid>button>span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  line-height:1.12;
}
.mm-shopping-category-auto{
  width:100%;
  min-height:42px;
  margin-top:8px;
  border:1px dashed rgba(104,67,107,.22);
  border-radius:13px;
  background:#F8F2F7;
  color:#68436B;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  font:inherit;
  font-size:10px;
  font-weight:800;
  cursor:pointer;
}
@media(max-width:360px){
  .mm-shopping-selection-actions.has-move{
    grid-template-columns:1fr 1fr;
  }
  .mm-shopping-selection-actions.has-move>button.is-danger{
    grid-column:1/-1;
  }
  .mm-shopping-category-move-grid{
    grid-template-columns:1fr;
  }
}


/* ============================================================
   MENUMIA UI V2 — LOT 5.3 : FRIGO + CONGÉLATEUR
   Deux zones de stockage dans un seul écran, sans ajouter d'onglet principal.
============================================================ */
.mm-fridge-storage-switch{
  margin:7px 0 6px;
  padding:3px;
  border-radius:14px;
  background:#F1E6F0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:3px;
}
.mm-fridge-storage-switch>button{
  min-width:0;
  min-height:38px;
  border:0;
  border-radius:11px;
  background:transparent;
  color:#8C7E87;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:6px 8px;
  font:inherit;
  font-size:10.4px;
  font-weight:800;
  cursor:pointer;
}
.mm-fridge-storage-switch>button i{font-size:14px}
.mm-fridge-storage-switch>button strong{
  min-width:18px;
  height:18px;
  padding:0 5px;
  border-radius:999px;
  background:rgba(255,255,255,.58);
  display:grid;
  place-items:center;
  font-size:8.6px;
  line-height:1;
}
.mm-fridge-storage-switch>button.is-active{
  background:#fff;
  color:#573052;
  box-shadow:0 3px 10px rgba(65,31,67,.06);
}
.mm-fridge-freezer-hint{
  margin:6px 0 4px;
  min-height:38px;
  border-radius:12px;
  background:#F3F7FA;
  color:#72808A;
  padding:7px 9px;
  display:flex;
  align-items:center;
  gap:7px;
  font-size:9.2px;
  line-height:1.28;
}
.mm-fridge-freezer-hint i{
  flex:0 0 auto;
  color:#68859A;
  font-size:14px;
}
.mm-fridge-add-storage{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  margin-bottom:8px;
}
.mm-fridge-add-storage>button{
  min-height:40px;
  border:1px solid #E1D7DF;
  border-radius:12px;
  background:#FFFDFC;
  color:#897B84;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  font:inherit;
  font-size:10.5px;
  font-weight:800;
  cursor:pointer;
}
.mm-fridge-add-storage>button.is-active{
  border-color:rgba(104,67,107,.3);
  background:#F2E6F1;
  color:#60375B;
}
.mm-fridge-add-freeze-date{
  min-height:42px;
  margin-top:8px;
  border:1px solid #E2D8DF;
  border-radius:12px;
  background:#FFFDFC;
  padding:6px 9px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
}
.mm-fridge-add-freeze-date>span{
  color:#6F616A;
  font-size:9.8px;
  font-weight:750;
}
.mm-fridge-add-freeze-date>input{
  width:auto!important;
  min-height:30px!important;
  border:0!important;
  padding:0!important;
  background:transparent!important;
  color:#50354B!important;
  font-size:9.8px!important;
  box-shadow:none!important;
}
.mm-fridge-native-row.is-frozen{
  background:#FCFDFE;
}
.mm-fridge-freeze-date{
  margin-top:2px;
  display:inline-flex;
  align-items:center;
  gap:3px;
  color:#768793;
  font-size:8.8px;
  line-height:1.15;
}
.mm-fridge-freeze-date i{
  font-size:9.5px;
  color:#68859A;
}
.mm-fridge-detail-action.is-storage{
  background:#F3F7FA!important;
  color:#5F7482!important;
}
.mm-fridge-detail-action.is-storage>i:first-child{
  color:#68859A!important;
}
@media(max-width:360px){
  .mm-fridge-storage-switch>button{
    font-size:9.7px;
    padding-inline:5px;
  }
  .mm-fridge-freezer-hint{
    font-size:8.8px;
  }
}


/* V567 — Assistant : navigation retour explicite depuis une conversation. */
.mm-assistant-header-main{min-width:0;display:flex;align-items:center;gap:8px}
.mm-assistant-back{
  appearance:none;-webkit-appearance:none;width:38px;height:38px;min-width:38px;min-height:38px;
  border:0;border-radius:12px;background:#F6F2ED;color:#7A6F74;display:inline-flex;
  align-items:center;justify-content:center;cursor:pointer;flex:0 0 38px
}
.mm-assistant-back .ti{font-size:19px}
.mm-assistant-back:disabled{opacity:.45;cursor:default}
.mm-assistant-back:focus-visible{outline:2px solid rgba(75,30,63,.35);outline-offset:2px}
.mm-assistant-header-main .mm-assistant-title{min-width:0}
@media(max-width:390px){
  .mm-assistant-header-main{gap:6px}
  .mm-assistant-back{width:36px;height:36px;min-width:36px;min-height:36px;flex-basis:36px}
  .mm-assistant-header-main .mm-assistant-title{gap:7px}
}


/* ============================================================
   V579 — APPARENCE SOMBRE
   Le choix est local à l'appareil. Les variables pilotent aussi
   les styles React inline via le design system C.
============================================================ */
html[data-menumia-theme="dark"]{
  color-scheme:dark;
  --mm-page-bg:#141116;
  --mm-app-bg-gradient:linear-gradient(160deg,#1D171E 0%,#151216 100%);
  --mm-app-bg:#1B171C;
  --mm-bg-alt:#2B242C;
  --mm-field:#19161A;
  --mm-token-line:rgba(244,237,243,.10);
  --mm-token-line-strong:rgba(244,237,243,.19);
  --mm-token-ink:#F4EDF3;
  --mm-token-muted:#BEB2BC;
  --mm-token-faint:rgba(225,214,223,.62);
  --mm-prune-action:#8A5686;
  --mm-prune-text:#E7CCE4;
  --mm-prune-soft-token:rgba(206,151,201,.14);
  --mm-token-peche:#E2A084;
  --mm-token-peche-soft:rgba(226,160,132,.15);
  --mm-token-brick:#E47E70;
  --mm-token-sage:#91AA89;
  --mm-token-success:#91AA89;
  --mm-token-success-soft:rgba(145,170,137,.14);
  --mm-token-warning:#E3B96A;
  --mm-token-warning-soft:rgba(227,185,106,.15);
  --mm-token-error:#E47E78;
  --mm-token-error-soft:rgba(228,126,120,.14);
  --mm-token-disabled-text:rgba(244,237,243,.32);
  --mm-token-disabled-bg:rgba(244,237,243,.06);
  --mm-token-shadow:0 8px 26px rgba(0,0,0,.26);
  --mm-token-shadow-soft:0 4px 16px rgba(0,0,0,.20);
  --mm-token-shadow-lg:0 14px 38px rgba(0,0,0,.34);
  --mm-ink:#F4EDF3;
  --mm-prune:#D6ADD2;
  --mm-muted:#BEB2BC;
  --mm-bg:#1B171C;
  --mm-card:#211B22;
  --mm-soft:#2B242C;
  --mm-line:rgba(244,237,243,.10);
  --mm-line-strong:var(--mm-token-line-strong);
  --mm-faint:var(--mm-token-faint);
  --mm-prune-soft:var(--mm-prune-soft-token);
  --mm-peche:#E2A084;
  --mm-peche-soft:var(--mm-token-peche-soft);
  --mm-brick:#E47E70;
  --mm-sage:#91AA89;
  --mm-terra:#DB8D6F;
  --mm-ochre:#D5B06B;
  --mm-rose-accent:#D97C9A;
  --mm-success:var(--mm-token-success);
  --mm-success-soft:var(--mm-token-success-soft);
  --mm-warning:var(--mm-token-warning);
  --mm-warning-soft:var(--mm-token-warning-soft);
  --mm-error:var(--mm-token-error);
  --mm-error-soft:var(--mm-token-error-soft);
  --mm-disabled-text:var(--mm-token-disabled-text);
  --mm-disabled-bg:var(--mm-token-disabled-bg);
  --mm-shadow:0 8px 26px rgba(0,0,0,.26);
  --mm-shadow-soft:var(--mm-token-shadow-soft);
  --mm-shadow-lg:var(--mm-token-shadow-lg);
  --mm-focus:0 0 0 3px rgba(214,173,210,.18);
}
html[data-menumia-theme="dark"],
html[data-menumia-theme="dark"] body,
html[data-menumia-theme="dark"] #root{
  background:var(--mm-page-bg)!important;
  color:var(--mm-ink)!important;
}
html[data-menumia-theme="dark"] .mm-app,
html[data-menumia-theme="dark"] .mm-v191,
html[data-menumia-theme="dark"] .mm-v192{
  background:var(--mm-app-bg-gradient)!important;
  color:var(--mm-ink)!important;
}
html[data-menumia-theme="dark"] .mm-main-shell{
  background:transparent!important;
  color:var(--mm-ink)!important;
}
html[data-menumia-theme="dark"] .mm-v191,
html[data-menumia-theme="dark"] .mm-v192{
  --mm-ink:#F4EDF3;
  --mm-prune:#D6ADD2;
  --mm-prune-dark:#E7CCE4;
  --mm-lilac:#2B242C;
  --mm-cream:#211B22;
  --mm-muted:#BEB2BC;
  --mm-green:#91AA89;
  --mm-gold:#D5B06B;
}
html[data-menumia-theme="dark"] .mm-brand-name,
html[data-menumia-theme="dark"] .mm-topbar-name,
html[data-menumia-theme="dark"] .mm-home-greeting,
html[data-menumia-theme="dark"] .mm-page-heading>div:first-child,
html[data-menumia-theme="dark"] .mm-secondary-title,
html[data-menumia-theme="dark"] .mm-secondary-root-title,
html[data-menumia-theme="dark"] .mm-onboarding-title,
html[data-menumia-theme="dark"] .mm-assistant-title,
html[data-menumia-theme="dark"] .mm-assistant-title b{
  color:var(--mm-ink)!important;
}
html[data-menumia-theme="dark"] .mm-home-subtitle,
html[data-menumia-theme="dark"] .mm-page-subtitle,
html[data-menumia-theme="dark"] .mm-secondary-root-subtitle{
  color:var(--mm-muted)!important;
}
html[data-menumia-theme="dark"] .mm-today-meals,
html[data-menumia-theme="dark"] .mm-meal-hero,
html[data-menumia-theme="dark"] .mm-recipe-card,
html[data-menumia-theme="dark"] .mm-settings-hub-group,
html[data-menumia-theme="dark"] .mm-settings-hub-item,
html[data-menumia-theme="dark"] .mm-settings-section,
html[data-menumia-theme="dark"] .mm-home-quote,
html[data-menumia-theme="dark"] .mm-today-empty,
html[data-menumia-theme="dark"] .mm-bottom-sheet,
html[data-menumia-theme="dark"] .mm-onboarding-card,
html[data-menumia-theme="dark"] .menumia-auth-card{
  background:var(--mm-card)!important;
  border-color:var(--mm-line)!important;
  color:var(--mm-ink)!important;
  box-shadow:var(--mm-shadow-soft)!important;
}
html[data-menumia-theme="dark"] .mm-bottom-nav,
html[data-menumia-theme="dark"] .mm-app nav{
  background:rgba(33,27,34,.96)!important;
  border-color:var(--mm-line)!important;
  box-shadow:0 -8px 28px rgba(0,0,0,.30)!important;
}
html[data-menumia-theme="dark"] .mm-nav-item.is-active{
  background:var(--mm-prune-soft)!important;
}
html[data-menumia-theme="dark"] .mm-food-icon,
html[data-menumia-theme="dark"] .mm-tab-frigo .mm-food-icon,
html[data-menumia-theme="dark"] .mm-tab-courses .mm-food-icon,
html[data-menumia-theme="dark"] .mm-quote-icon,
html[data-menumia-theme="dark"] .mm-quick-icon{
  background:var(--mm-soft)!important;
  border-color:var(--mm-line)!important;
}
html[data-menumia-theme="dark"] .mm-chip,
html[data-menumia-theme="dark"] .mm-tab-recipes label{
  background:var(--mm-soft)!important;
  border-color:var(--mm-line-strong)!important;
  color:var(--mm-muted)!important;
}
html[data-menumia-theme="dark"] .mm-chip.is-active{
  background:var(--mm-prune-soft)!important;
  border-color:var(--mm-prune-action)!important;
  color:var(--mm-prune-text)!important;
}
html[data-menumia-theme="dark"] .mm-app input,
html[data-menumia-theme="dark"] .mm-app select,
html[data-menumia-theme="dark"] .mm-app textarea,
html[data-menumia-theme="dark"] .menumia-auth-card input,
html[data-menumia-theme="dark"] .mm-tab-recipes input[placeholder*="Rechercher"],
html[data-menumia-theme="dark"] .mm-fridge-screen input[placeholder*="Rechercher"],
html[data-menumia-theme="dark"] .mm-fridge-screen>div[style*="marginBottom: 18"] input,
html[data-menumia-theme="dark"] .mm-fridge-screen>div[style*="marginBottom: 18"] select{
  background:var(--mm-field)!important;
  border-color:var(--mm-line-strong)!important;
  color:var(--mm-ink)!important;
  box-shadow:none!important;
}
html[data-menumia-theme="dark"] .mm-app input::placeholder,
html[data-menumia-theme="dark"] .mm-app textarea::placeholder{
  color:var(--mm-faint)!important;
}
html[data-menumia-theme="dark"] .mm-check{
  background:var(--mm-field)!important;
  border-color:var(--mm-line-strong)!important;
}
html[data-menumia-theme="dark"] .mm-check:checked{
  background:var(--mm-prune-action)!important;
  border-color:var(--mm-prune-action)!important;
}
html[data-menumia-theme="dark"] .mm-topbar button,
html[data-menumia-theme="dark"] .mm-topbar [role="button"],
html[data-menumia-theme="dark"] .mm-secondary-back{
  background:var(--mm-card)!important;
  border-color:var(--mm-line)!important;
  color:var(--mm-prune-text)!important;
}
html[data-menumia-theme="dark"] .mm-topbar button:last-child,
html[data-menumia-theme="dark"] .mm-topbar [role="button"]:last-child{
  background:var(--mm-soft)!important;
  color:var(--mm-muted)!important;
}
html[data-menumia-theme="dark"] .mm-settings-subpage-header{
  background:rgba(20,17,22,.95)!important;
  border-color:var(--mm-line)!important;
}
html[data-menumia-theme="dark"] .mm-settings-hub-item small,
html[data-menumia-theme="dark"] .mm-settings-subpage-intro{
  color:var(--mm-muted)!important;
}
html[data-menumia-theme="dark"] .mm-settings-hub-icon{
  background:var(--mm-prune-soft)!important;
  color:var(--mm-prune-text)!important;
}
html[data-menumia-theme="dark"] .mm-assistant-sheet{
  background:var(--mm-card)!important;
  border-color:var(--mm-line)!important;
  box-shadow:0 -18px 54px rgba(0,0,0,.42)!important;
}
html[data-menumia-theme="dark"] .mm-assistant-header,
html[data-menumia-theme="dark"] .mm-assistant-composer{
  background:rgba(33,27,34,.97)!important;
  border-color:var(--mm-line)!important;
}
html[data-menumia-theme="dark"] .mm-assistant-close .ti,
html[data-menumia-theme="dark"] .mm-assistant-mark,
html[data-menumia-theme="dark"] .mm-assistant-quick-icon,
html[data-menumia-theme="dark"] .mm-assistant-avatar{
  background:var(--mm-soft)!important;
  color:var(--mm-prune-text)!important;
}
html[data-menumia-theme="dark"] .mm-assistant-welcome,
html[data-menumia-theme="dark"] .mm-assistant-bubble,
html[data-menumia-theme="dark"] .mm-assistant-quick-card,
html[data-menumia-theme="dark"] .mm-assistant-result,
html[data-menumia-theme="dark"] .mm-assistant-proposal-change-list>div,
html[data-menumia-theme="dark"] .mm-assistant-proposal-meta span,
html[data-menumia-theme="dark"] .mm-assistant-proposal-ingredients span{
  background:var(--mm-soft)!important;
  border-color:var(--mm-line)!important;
  color:var(--mm-ink)!important;
  box-shadow:none!important;
}
html[data-menumia-theme="dark"] .mm-assistant-message.is-user .mm-assistant-bubble{
  background:var(--mm-prune-action)!important;
  color:#FFF!important;
}
html[data-menumia-theme="dark"] .mm-assistant-welcome strong,
html[data-menumia-theme="dark"] .mm-assistant-quick-copy strong,
html[data-menumia-theme="dark"] .mm-assistant-proposal-heading strong,
html[data-menumia-theme="dark"] .mm-assistant-proposal-detail-block>strong{
  color:var(--mm-ink)!important;
}
html[data-menumia-theme="dark"] .mm-assistant-welcome p,
html[data-menumia-theme="dark"] .mm-assistant-quick-copy small,
html[data-menumia-theme="dark"] .mm-assistant-result small,
html[data-menumia-theme="dark"] .mm-assistant-proposal-heading small,
html[data-menumia-theme="dark"] .mm-assistant-proposal-label,
html[data-menumia-theme="dark"] .mm-assistant-proposal-change-list span{
  color:var(--mm-muted)!important;
}
html[data-menumia-theme="dark"] .mm-assistant-input-wrap{
  background:var(--mm-field)!important;
  border-color:var(--mm-line-strong)!important;
}
html[data-menumia-theme="dark"] .mm-assistant-input-wrap input{
  color:var(--mm-ink)!important;
}
html[data-menumia-theme="dark"] .mm-onboarding-art,
html[data-menumia-theme="dark"] .menumia-auth-screen,
html[data-menumia-theme="dark"] #menumia-splash{
  background:var(--mm-app-bg-gradient)!important;
}
html[data-menumia-theme="dark"] .menumia-auth-signup>div:nth-child(3){
  background:var(--mm-soft)!important;
}
html[data-menumia-theme="dark"] .mm-skeleton-block{
  background:linear-gradient(90deg,#262027 25%,#312932 50%,#262027 75%)!important;
  background-size:200% 100%!important;
}
html[data-menumia-theme="dark"] .mm-appearance-choice{
  background:var(--mm-card)!important;
  border-color:var(--mm-line-strong)!important;
  color:var(--mm-ink)!important;
}
html[data-menumia-theme="dark"] .mm-appearance-choice.is-active{
  background:var(--mm-prune-soft)!important;
  border-color:var(--mm-prune-action)!important;
}
html[data-menumia-theme="dark"] .mm-appearance-preview{
  background:var(--mm-soft)!important;
  border-color:var(--mm-line)!important;
}


/* V579.1 — SURFACES HISTORIQUES : neutralise les derniers blancs forcés. */
html[data-menumia-theme="dark"] .mm-settings-v225>.mm-settings-card,
html[data-menumia-theme="dark"] .mm-settings-pref-card{
  background:var(--mm-card)!important;
  border-color:var(--mm-line)!important;
  box-shadow:var(--mm-token-shadow-soft)!important;
}
html[data-menumia-theme="dark"] .mm-settings-v225>.mm-settings-card>div:first-child>div>span:first-child{
  background:var(--mm-soft)!important;
  color:var(--mm-prune-text)!important;
}
html[data-menumia-theme="dark"] .mm-settings-v225>.mm-settings-card>div:first-child>div>div>div:first-child{
  color:var(--mm-token-ink)!important;
}
html[data-menumia-theme="dark"] .mm-settings-v225>.mm-settings-card>div:first-child>div>div>div:nth-child(2){
  color:var(--mm-token-muted)!important;
}
html[data-menumia-theme="dark"] .mm-settings-v225>.mm-settings-preferences::after,
html[data-menumia-theme="dark"] .mm-settings-v225>.mm-settings-account::after,
html[data-menumia-theme="dark"] .mm-settings-v225>.mm-settings-feedback::after{
  background:var(--mm-line)!important;
}
html[data-menumia-theme="dark"] .mm-settings-v225>.mm-settings-reset{
  background:var(--mm-token-error-soft)!important;
  border-color:var(--mm-token-error-soft)!important;
}
html[data-menumia-theme="dark"] .mm-settings-preferences-page .mm-settings-preferences-overview>span{
  background:var(--mm-card)!important;
  border-color:var(--mm-line)!important;
}

html[data-menumia-theme="dark"] .mm-week-screen .mm-week-actions-bar{
  background:rgba(43,36,44,.78)!important;
  border-color:var(--mm-line)!important;
}
html[data-menumia-theme="dark"] .mm-week-screen .mm-week-courses-secondary,
html[data-menumia-theme="dark"] .mm-week-screen .mm-week-eaten{
  background:var(--mm-card)!important;
  border-color:var(--mm-line-strong)!important;
  color:var(--mm-token-muted)!important;
}
html[data-menumia-theme="dark"] .mm-week-screen .mm-week-eaten.is-done{
  background:var(--mm-token-success-soft)!important;
  border-color:var(--mm-token-success)!important;
  color:var(--mm-token-success)!important;
}

html[data-menumia-theme="dark"] .mm-shopping-category-head,
html[data-menumia-theme="dark"] .mm-shopping-category-list,
html[data-menumia-theme="dark"] .mm-shopping-item-row{
  background:var(--mm-card)!important;
  border-color:var(--mm-line)!important;
  color:var(--mm-token-ink)!important;
}
html[data-menumia-theme="dark"] .mm-shopping-category-copy strong{
  color:var(--mm-token-ink)!important;
}
html[data-menumia-theme="dark"] .mm-shopping-category-copy small,
html[data-menumia-theme="dark"] .mm-shopping-category-head>i{
  color:var(--mm-token-muted)!important;
}
html[data-menumia-theme="dark"] .mm-shopping-bought-panel{
  background:var(--mm-soft)!important;
  color:var(--mm-token-muted)!important;
}

html[data-menumia-theme="dark"] .mm-library-screen .mm-library-add-compact,
html[data-menumia-theme="dark"] .mm-library-screen .mm-library-sort-trigger,
html[data-menumia-theme="dark"] .mm-library-card .mm-library-more summary{
  background:var(--mm-card)!important;
  border-color:var(--mm-line)!important;
  color:var(--mm-token-muted)!important;
}

html[data-menumia-theme="dark"] .mm-personal-note-card,
html[data-menumia-theme="dark"] .mm-personal-note-card textarea,
html[data-menumia-theme="dark"] .mm-v200 .mm-recipe-ingredients,
html[data-menumia-theme="dark"] .mm-v200 .mm-recipe-step,
html[data-menumia-theme="dark"] .mm-v200 .mm-recipe-check{
  background:var(--mm-card)!important;
  border-color:var(--mm-line)!important;
  color:var(--mm-token-ink)!important;
}
html[data-menumia-theme="dark"] .mm-personal-note-title{
  color:var(--mm-prune-text)!important;
}
html[data-menumia-theme="dark"] .mm-recipe-editor-tabs{
  background:var(--mm-soft)!important;
  box-shadow:0 1px 0 var(--mm-line)!important;
}
html[data-menumia-theme="dark"] .mm-v206 .mm-onboarding-fullscreen,
html[data-menumia-theme="dark"] .mm-v206 .mm-onboarding-card-v206{
  background:var(--mm-app-bg-gradient)!important;
}


/* ============================================================
   V579.2 — PASSE CONTRASTE SOMBRE
   Corrections issues des captures iPhone réelles : titres, listes,
   cartes et contrôles encore hérités des anciennes couleurs claires.
============================================================ */
html[data-menumia-theme="dark"] .mm-secondary-root-header{
  background:linear-gradient(180deg,rgba(20,17,22,.995) 0%,rgba(20,17,22,.97) 82%,rgba(20,17,22,0) 100%)!important;
}
html[data-menumia-theme="dark"] .mm-secondary-root-header::after{
  background:var(--mm-line)!important;
}
html[data-menumia-theme="dark"] .mm-secondary-root-title,
html[data-menumia-theme="dark"] .mm-week-heading>div:first-child,
html[data-menumia-theme="dark"] .mm-functional-page-title,
html[data-menumia-theme="dark"] .mm-fridge-title-row h1,
html[data-menumia-theme="dark"] .mm-week-day-title,
html[data-menumia-theme="dark"] .mm-settings-hub-title-row strong,
html[data-menumia-theme="dark"] .mm-home-upcoming-heading strong,
html[data-menumia-theme="dark"] .mm-home-upcoming-card-body>strong,
html[data-menumia-theme="dark"] .mm-shopping-category-copy strong,
html[data-menumia-theme="dark"] .mm-shopping-item-copy strong,
html[data-menumia-theme="dark"] .mm-shopping-list-status>strong,
html[data-menumia-theme="dark"] .mm-fridge-cat-copy strong,
html[data-menumia-theme="dark"] .mm-fridge-visual-title strong,
html[data-menumia-theme="dark"] .mm-fridge-item-copy strong{
  color:var(--mm-token-ink)!important;
}
html[data-menumia-theme="dark"] .mm-secondary-root-subtitle,
html[data-menumia-theme="dark"] .mm-week-heading>div:last-child,
html[data-menumia-theme="dark"] .mm-home-upcoming-eyebrow,
html[data-menumia-theme="dark"] .mm-home-upcoming-card-meta,
html[data-menumia-theme="dark"] .mm-shopping-category-copy small,
html[data-menumia-theme="dark"] .mm-shopping-item-copy small,
html[data-menumia-theme="dark"] .mm-shopping-list-status>small,
html[data-menumia-theme="dark"] .mm-fridge-title-row p,
html[data-menumia-theme="dark"] .mm-fridge-cat-copy small,
html[data-menumia-theme="dark"] .mm-settings-hub-copy small{
  color:var(--mm-token-muted)!important;
}

/* Aujourd'hui */
html[data-menumia-theme="dark"] .mm-home-ready-state{
  background:#1A211A!important;
  border-color:rgba(145,170,137,.18)!important;
}
html[data-menumia-theme="dark"] .mm-home-ready-icon{
  background:rgba(145,170,137,.14)!important;
  color:var(--mm-token-success)!important;
}
html[data-menumia-theme="dark"] .mm-home-ready-copy strong{
  color:#BFD0BA!important;
}
html[data-menumia-theme="dark"] .mm-home-ready-copy small{
  color:#91A08E!important;
}
html[data-menumia-theme="dark"] .mm-home-upcoming-card,
html[data-menumia-theme="dark"] .mm-home-upcoming-empty{
  background:var(--mm-card)!important;
  border-color:var(--mm-line)!important;
  color:var(--mm-token-ink)!important;
  box-shadow:var(--mm-token-shadow-soft)!important;
}

/* Mes menus */
html[data-menumia-theme="dark"] .mm-week-day-kicker{
  color:#C597BC!important;
}
html[data-menumia-theme="dark"] .mm-week-meal-compact{
  background:var(--mm-card)!important;
  border:1px solid var(--mm-line)!important;
  box-shadow:var(--mm-token-shadow-soft)!important;
}
html[data-menumia-theme="dark"] .mm-week-meal-name{
  color:var(--mm-token-ink)!important;
}
html[data-menumia-theme="dark"] .mm-week-meal-moment,
html[data-menumia-theme="dark"] .mm-week-meal-meta{
  color:var(--mm-token-muted)!important;
}
html[data-menumia-theme="dark"] .mm-week-more,
html[data-menumia-theme="dark"] .mm-week-heart{
  background:var(--mm-soft)!important;
  color:var(--mm-prune-text)!important;
}
html[data-menumia-theme="dark"] .mm-week-nav-premium,
html[data-menumia-theme="dark"] .mm-week-summary-toggle{
  background:var(--mm-card)!important;
  border-color:var(--mm-line)!important;
  color:var(--mm-token-ink)!important;
}
html[data-menumia-theme="dark"] .mm-week-nav-label,
html[data-menumia-theme="dark"] .mm-week-summary-toggle strong{
  color:var(--mm-token-ink)!important;
}

/* Recettes */
html[data-menumia-theme="dark"] .mm-v198 .mm-library-card{
  background:var(--mm-card)!important;
  border-color:var(--mm-line)!important;
  box-shadow:var(--mm-token-shadow-soft)!important;
}
html[data-menumia-theme="dark"] .mm-v198 .mm-library-copy h3{
  color:var(--mm-token-ink)!important;
}
html[data-menumia-theme="dark"] .mm-v198 .mm-library-meta{
  color:var(--mm-token-muted)!important;
}
html[data-menumia-theme="dark"] .mm-library-mode-switch,
html[data-menumia-theme="dark"] .mm-shopping-view-switch,
html[data-menumia-theme="dark"] .mm-fridge-storage-switch{
  background:var(--mm-soft)!important;
}
html[data-menumia-theme="dark"] .mm-library-mode-switch button,
html[data-menumia-theme="dark"] .mm-shopping-view-switch button,
html[data-menumia-theme="dark"] .mm-fridge-storage-switch>button{
  color:var(--mm-token-muted)!important;
}
html[data-menumia-theme="dark"] .mm-library-mode-switch button.is-active,
html[data-menumia-theme="dark"] .mm-shopping-view-switch button.is-active,
html[data-menumia-theme="dark"] .mm-fridge-storage-switch>button.is-active{
  background:#352B36!important;
  color:var(--mm-token-ink)!important;
  box-shadow:none!important;
}
html[data-menumia-theme="dark"] .mm-library-screen .mm-library-filter-meta{
  color:var(--mm-token-muted)!important;
}

/* Courses */
html[data-menumia-theme="dark"] .mm-shopping-category-list,
html[data-menumia-theme="dark"] .mm-shopping-item-row{
  background:var(--mm-card)!important;
  border-color:var(--mm-line)!important;
}
html[data-menumia-theme="dark"] .mm-shopping-item-row.is-selected{
  background:var(--mm-prune-soft-token)!important;
}
html[data-menumia-theme="dark"] .mm-shopping-item-row.is-bought{
  background:#1D191E!important;
}
html[data-menumia-theme="dark"] .mm-shopping-item-row.is-bought .mm-shopping-item-copy strong{
  color:#8E838B!important;
}
html[data-menumia-theme="dark"] .mm-shopping-item-qty{
  background:var(--mm-prune-soft-token)!important;
  color:var(--mm-prune-text)!important;
}
html[data-menumia-theme="dark"] .mm-shopping-toolbar-select{
  background:var(--mm-card)!important;
  border-color:var(--mm-line-strong)!important;
  color:var(--mm-prune-text)!important;
}

/* Frigo / congélateur */
html[data-menumia-theme="dark"] .mm-fridge-cook-card,
html[data-menumia-theme="dark"] .mm-fridge-native-grid{
  background:var(--mm-card)!important;
  border-color:var(--mm-line)!important;
  box-shadow:var(--mm-token-shadow-soft)!important;
}
html[data-menumia-theme="dark"] .mm-fridge-native-row{
  background:var(--mm-card)!important;
  color:var(--mm-token-ink)!important;
}
html[data-menumia-theme="dark"] .mm-fridge-visual-title>button{
  background:var(--mm-prune-soft-token)!important;
  color:var(--mm-prune-text)!important;
}
html[data-menumia-theme="dark"] .mm-fridge-row-qty{
  background:var(--mm-soft)!important;
  border-color:var(--mm-line)!important;
}
html[data-menumia-theme="dark"] .mm-fridge-row-qty>button{
  background:var(--mm-card)!important;
  color:var(--mm-prune-text)!important;
}
html[data-menumia-theme="dark"] .mm-fridge-row-qty-display,
html[data-menumia-theme="dark"] .mm-fridge-row-qty-display>span{
  color:var(--mm-token-ink)!important;
}
html[data-menumia-theme="dark"] .mm-fridge-row-qty-display>small{
  color:var(--mm-token-muted)!important;
}
html[data-menumia-theme="dark"] .mm-fridge-quick-filter{
  background:var(--mm-card)!important;
  border-color:var(--mm-line)!important;
  color:var(--mm-token-muted)!important;
}
html[data-menumia-theme="dark"] .mm-fridge-quick-filter.is-active{
  border-color:var(--mm-prune-action)!important;
  color:var(--mm-prune-text)!important;
}
html[data-menumia-theme="dark"] .mm-fridge-quick-filter.is-urgent{
  background:rgba(228,126,120,.10)!important;
  color:#E79A91!important;
}
html[data-menumia-theme="dark"] .mm-fridge-quick-filter.is-soon{
  background:rgba(227,185,106,.10)!important;
  color:#E4BD74!important;
}

/* Réglages */
html[data-menumia-theme="dark"] .mm-settings-hub-group{
  background:var(--mm-card)!important;
  border-color:var(--mm-line)!important;
}
html[data-menumia-theme="dark"] .mm-settings-hub-item{
  color:var(--mm-token-ink)!important;
  border-bottom-color:var(--mm-line)!important;
}
html[data-menumia-theme="dark"] .mm-settings-hub-item:active{
  background:var(--mm-prune-soft-token)!important;
}
html[data-menumia-theme="dark"] .mm-settings-hub-chevron{
  color:var(--mm-token-muted)!important;
}
html[data-menumia-theme="dark"] .mm-settings-screen .mm-settings-subpage-header{
  background:linear-gradient(180deg,rgba(20,17,22,.995) 0%,rgba(20,17,22,.97) 82%,rgba(20,17,22,0) 100%)!important;
}


/* ============================================================
   V580.1 — FINITIONS SOMBRES
   Passe issue des captures réelles : fiche recette, ajout recette,
   ajout Frigo, vue Semaine et Idées.
============================================================ */

/* Fiche recette : ingrédients / étapes lisibles */
html[data-menumia-theme="dark"] .mm-v199 .mm-recipe-ingredients,
html[data-menumia-theme="dark"] .mm-v200 .mm-recipe-ingredients{
  background:var(--mm-card)!important;
  border-color:var(--mm-line)!important;
}
html[data-menumia-theme="dark"] .mm-v199 .mm-recipe-ingredient,
html[data-menumia-theme="dark"] .mm-v200 .mm-recipe-ingredient{
  color:var(--mm-token-ink)!important;
  border-bottom-color:var(--mm-line)!important;
}
html[data-menumia-theme="dark"] .mm-v199 .mm-recipe-check,
html[data-menumia-theme="dark"] .mm-v200 .mm-recipe-check{
  background:transparent!important;
  border-color:var(--mm-line-strong)!important;
}
html[data-menumia-theme="dark"] .mm-v199 .mm-recipe-step,
html[data-menumia-theme="dark"] .mm-v200 .mm-recipe-step{
  background:var(--mm-card)!important;
  border-color:var(--mm-line)!important;
  color:var(--mm-token-ink)!important;
}
html[data-menumia-theme="dark"] .mm-v199 .mm-recipe-step-num,
html[data-menumia-theme="dark"] .mm-v200 .mm-recipe-step-num{
  background:var(--mm-prune-soft-token)!important;
  color:var(--mm-prune-text)!important;
}
html[data-menumia-theme="dark"] .mm-recipe-read-primary,
html[data-menumia-theme="dark"] .mm-recipe-read-secondary{
  color:var(--mm-token-ink)!important;
}

/* Création d'une recette */
html[data-menumia-theme="dark"] .mm-add-recipe-editor{
  background:var(--mm-page-bg)!important;
  color:var(--mm-token-ink)!important;
}
html[data-menumia-theme="dark"] .mm-add-recipe-heading h2,
html[data-menumia-theme="dark"] .mm-add-section-heading>div:first-child strong{
  color:var(--mm-token-ink)!important;
}
html[data-menumia-theme="dark"] .mm-add-recipe-heading>div>span,
html[data-menumia-theme="dark"] .mm-add-field>label,
html[data-menumia-theme="dark"] .mm-add-section-heading>div:first-child span{
  color:var(--mm-token-muted)!important;
}
html[data-menumia-theme="dark"] .mm-add-recipe-close,
html[data-menumia-theme="dark"] .mm-add-recipe-pane,
html[data-menumia-theme="dark"] .mm-add-photo-card,
html[data-menumia-theme="dark"] .mm-add-photo-empty,
html[data-menumia-theme="dark"] .mm-add-slot-summary,
html[data-menumia-theme="dark"] .mm-add-ingredient-quick,
html[data-menumia-theme="dark"] .mm-add-auto-note,
html[data-menumia-theme="dark"] .mm-add-advanced-details,
html[data-menumia-theme="dark"] .mm-add-entry-options>button,
html[data-menumia-theme="dark"] .mm-add-import{
  background:var(--mm-card)!important;
  border-color:var(--mm-line)!important;
  color:var(--mm-token-ink)!important;
  box-shadow:none!important;
}
html[data-menumia-theme="dark"] .mm-add-recipe-tabs{
  background:var(--mm-soft)!important;
  border-color:var(--mm-line)!important;
  box-shadow:none!important;
}
html[data-menumia-theme="dark"] .mm-add-recipe-tabs button{
  color:var(--mm-token-muted)!important;
}
html[data-menumia-theme="dark"] .mm-add-recipe-tabs button.is-active{
  background:#352B36!important;
  color:var(--mm-token-ink)!important;
  box-shadow:none!important;
}
html[data-menumia-theme="dark"] .mm-add-choice-wrap button,
html[data-menumia-theme="dark"] .mm-add-options button,
html[data-menumia-theme="dark"] .mm-add-portions button,
html[data-menumia-theme="dark"] .mm-add-ingredient-main button{
  background:var(--mm-soft)!important;
  border-color:var(--mm-line)!important;
  color:var(--mm-token-muted)!important;
}
html[data-menumia-theme="dark"] .mm-add-choice-wrap button.is-active,
html[data-menumia-theme="dark"] .mm-add-options button.is-active{
  background:var(--mm-prune-soft-token)!important;
  border-color:var(--mm-prune-action)!important;
  color:var(--mm-prune-text)!important;
}
html[data-menumia-theme="dark"] .mm-add-field input,
html[data-menumia-theme="dark"] .mm-add-field select,
html[data-menumia-theme="dark"] .mm-add-field textarea,
html[data-menumia-theme="dark"] .mm-add-ingredient-main input,
html[data-menumia-theme="dark"] .mm-add-ingredient-main select{
  background:var(--mm-field)!important;
  border-color:var(--mm-line-strong)!important;
  color:var(--mm-token-ink)!important;
}
html[data-menumia-theme="dark"] .mm-add-field input::placeholder,
html[data-menumia-theme="dark"] .mm-add-field textarea::placeholder,
html[data-menumia-theme="dark"] .mm-add-ingredient-main input::placeholder{
  color:var(--mm-token-faint)!important;
}
html[data-menumia-theme="dark"] .mm-add-photo-copy strong,
html[data-menumia-theme="dark"] .mm-add-slot-summary strong,
html[data-menumia-theme="dark"] .mm-add-entry-options strong,
html[data-menumia-theme="dark"] .mm-add-advanced-trigger strong,
html[data-menumia-theme="dark"] .mm-add-import-trigger strong{
  color:var(--mm-token-ink)!important;
}
html[data-menumia-theme="dark"] .mm-add-photo-copy span,
html[data-menumia-theme="dark"] .mm-add-slot-summary small,
html[data-menumia-theme="dark"] .mm-add-entry-options small,
html[data-menumia-theme="dark"] .mm-add-advanced-trigger small,
html[data-menumia-theme="dark"] .mm-add-import-trigger small{
  color:var(--mm-token-muted)!important;
}
html[data-menumia-theme="dark"] .mm-add-recipe-actions{
  background:rgba(20,17,22,.97)!important;
  border-top-color:var(--mm-line)!important;
  box-shadow:0 -10px 28px rgba(0,0,0,.22)!important;
}
html[data-menumia-theme="dark"] .mm-add-recipe-actions .is-cancel{
  background:var(--mm-card)!important;
  border-color:var(--mm-line-strong)!important;
  color:var(--mm-token-muted)!important;
}

/* Sheet ajout Frigo / Congélateur */
html[data-menumia-theme="dark"] .mm-fridge-add-form{
  background:var(--mm-card)!important;
  color:var(--mm-token-ink)!important;
  box-shadow:0 -18px 54px rgba(0,0,0,.42)!important;
}
html[data-menumia-theme="dark"] .mm-fridge-sheet-head strong{
  color:var(--mm-token-ink)!important;
}
html[data-menumia-theme="dark"] .mm-fridge-sheet-head span{
  color:var(--mm-token-muted)!important;
}
html[data-menumia-theme="dark"] .mm-fridge-sheet-close{
  background:var(--mm-soft)!important;
  color:var(--mm-prune-text)!important;
}
html[data-menumia-theme="dark"] .mm-fridge-add-storage>button,
html[data-menumia-theme="dark"] .mm-fridge-add-freeze-date{
  background:var(--mm-field)!important;
  border-color:var(--mm-line-strong)!important;
  color:var(--mm-token-muted)!important;
}
html[data-menumia-theme="dark"] .mm-fridge-add-storage>button.is-active{
  background:var(--mm-prune-soft-token)!important;
  border-color:var(--mm-prune-action)!important;
  color:var(--mm-prune-text)!important;
}
html[data-menumia-theme="dark"] .mm-fridge-add-form #mm-fridge-add-name,
html[data-menumia-theme="dark"] .mm-fridge-add-form select,
html[data-menumia-theme="dark"] .mm-fridge-add-form input{
  background:var(--mm-field)!important;
  border-color:var(--mm-line-strong)!important;
  color:var(--mm-token-ink)!important;
}
html[data-menumia-theme="dark"] .mm-fridge-add-form input::placeholder{
  color:var(--mm-token-faint)!important;
}

/* Vue Semaine */
html[data-menumia-theme="dark"] .mm-week-overview-toolbar strong,
html[data-menumia-theme="dark"] .mm-week-overview-day-copy>strong,
html[data-menumia-theme="dark"] .mm-week-overview-meal-copy strong,
html[data-menumia-theme="dark"] .mm-week-overview-date strong{
  color:var(--mm-token-ink)!important;
}
html[data-menumia-theme="dark"] .mm-week-overview-toolbar span,
html[data-menumia-theme="dark"] .mm-week-overview-day-copy>small,
html[data-menumia-theme="dark"] .mm-week-overview-meal-copy small,
html[data-menumia-theme="dark"] .mm-week-overview-date small,
html[data-menumia-theme="dark"] .mm-week-overview-extras-label{
  color:var(--mm-token-muted)!important;
}
html[data-menumia-theme="dark"] .mm-week-overview-day{
  background:var(--mm-card)!important;
  border-color:var(--mm-line)!important;
  box-shadow:var(--mm-token-shadow-soft)!important;
}
html[data-menumia-theme="dark"] .mm-week-overview-day-head{
  border-bottom-color:var(--mm-line)!important;
  color:var(--mm-token-ink)!important;
}
html[data-menumia-theme="dark"] .mm-week-overview-date{
  background:var(--mm-soft)!important;
}
html[data-menumia-theme="dark"] .mm-week-overview-day.is-today .mm-week-overview-date{
  background:var(--mm-prune-action)!important;
}
html[data-menumia-theme="dark"] .mm-week-overview-day-head>em{
  background:var(--mm-prune-soft-token)!important;
  color:var(--mm-prune-text)!important;
}
html[data-menumia-theme="dark"] .mm-week-overview-meal,
html[data-menumia-theme="dark"] .mm-week-overview-meal-main,
html[data-menumia-theme="dark"] .mm-week-overview-meal.is-extra,
html[data-menumia-theme="dark"] .mm-week-overview-meal.is-empty{
  background:#292229!important;
  border-color:var(--mm-line)!important;
  color:var(--mm-token-ink)!important;
}
html[data-menumia-theme="dark"] .mm-week-overview-meal.is-validated{
  background:#202820!important;
}
html[data-menumia-theme="dark"] .mm-week-overview-empty-icon{
  background:var(--mm-prune-soft-token)!important;
  color:var(--mm-prune-text)!important;
}
html[data-menumia-theme="dark"] .mm-week-overview-extras{
  border-top-color:var(--mm-line)!important;
}

/* Idées pour toi */
html[data-menumia-theme="dark"] .mm-ideas-summary{
  background:var(--mm-card)!important;
  border-color:var(--mm-line)!important;
  box-shadow:var(--mm-token-shadow-soft)!important;
}
html[data-menumia-theme="dark"] .mm-ideas-summary-copy strong,
html[data-menumia-theme="dark"] .mm-ideas-section-heading strong{
  color:var(--mm-token-ink)!important;
}
html[data-menumia-theme="dark"] .mm-ideas-summary-copy span,
html[data-menumia-theme="dark"] .mm-ideas-section-heading span{
  color:var(--mm-token-muted)!important;
}
html[data-menumia-theme="dark"] .mm-ideas-chips button{
  background:var(--mm-card)!important;
  border-color:var(--mm-line)!important;
  color:var(--mm-token-muted)!important;
  box-shadow:none!important;
}
html[data-menumia-theme="dark"] .mm-ideas-chips button.is-active{
  background:var(--mm-prune-action)!important;
  border-color:var(--mm-prune-action)!important;
  color:#FFF!important;
}
html[data-menumia-theme="dark"] .mm-ideas-grid .mm-home-suggestion-card{
  background:var(--mm-card)!important;
  border-color:var(--mm-line)!important;
  box-shadow:var(--mm-token-shadow-soft)!important;
}
html[data-menumia-theme="dark"] .mm-ideas-grid .mm-home-suggestion-card strong{
  color:var(--mm-token-ink)!important;
}
html[data-menumia-theme="dark"] .mm-ideas-grid .mm-home-suggestion-reason{
  color:var(--mm-token-muted)!important;
}


/* ============================================================
   V581.1 — ACTIONS CARTE RECETTE
   Le bouton "plus d'actions" garde une cible tactile de 44px,
   mais son traitement visuel redevient secondaire et compact.
============================================================ */
.mm-library-card .mm-library-more{
  width:44px!important;
  height:44px!important;
  display:grid!important;
  place-items:center!important;
}
.mm-library-card .mm-library-more summary{
  width:44px!important;
  height:44px!important;
  padding:0!important;
  border:0!important;
  border-radius:12px!important;
  background:transparent!important;
  color:#765A70!important;
  box-shadow:none!important;
  display:grid!important;
  place-items:center!important;
}
.mm-library-card .mm-library-more summary>i{
  width:34px;
  height:34px;
  border:1px solid rgba(111,66,114,.10);
  border-radius:11px;
  background:#F6EFF5;
  color:#765A70;
  display:grid;
  place-items:center;
  font-size:16px;
  line-height:1;
  transition:background .14s ease,transform .12s ease,border-color .14s ease;
}
.mm-library-card .mm-library-more summary:active>i{
  background:#EBDDE8;
  transform:scale(.96);
}
.mm-library-card .mm-library-more[open] summary>i{
  border-color:rgba(111,66,114,.20);
  background:#EEDFEA;
  color:#63375E;
}
html[data-menumia-theme="dark"] .mm-library-card .mm-library-more summary{
  background:transparent!important;
  border:0!important;
  color:var(--mm-token-muted)!important;
}
html[data-menumia-theme="dark"] .mm-library-card .mm-library-more summary>i{
  background:var(--mm-soft)!important;
  border-color:var(--mm-line)!important;
  color:var(--mm-prune-text)!important;
}
html[data-menumia-theme="dark"] .mm-library-card .mm-library-more summary:active>i,
html[data-menumia-theme="dark"] .mm-library-card .mm-library-more[open] summary>i{
  background:var(--mm-prune-soft-token)!important;
  border-color:var(--mm-prune-action)!important;
}
html[data-menumia-theme="dark"] .mm-library-card .mm-library-more>div{
  background:var(--mm-card)!important;
  border-color:var(--mm-line)!important;
  box-shadow:0 10px 28px rgba(0,0,0,.34)!important;
}
html[data-menumia-theme="dark"] .mm-library-card .mm-library-more>div button{
  color:var(--mm-token-ink)!important;
}
html[data-menumia-theme="dark"] .mm-library-card .mm-library-more>div button:active{
  background:var(--mm-soft)!important;
}
html[data-menumia-theme="dark"] .mm-library-card .mm-library-more>div .danger{
  color:var(--mm-token-error)!important;
}


/* ============================================================
   V581.2 — HARMONISATION SOMBRE FINALE
   Derniers contrôles clairs repérés sur les captures réelles :
   ajout recette, statistiques, filtres Recettes et navigation Menus.
============================================================ */

/* Nouvelle recette — états vides, ingrédients, import et portions */
html[data-menumia-theme="dark"] .mm-add-portions{
  background:var(--mm-soft)!important;
}
html[data-menumia-theme="dark"] .mm-add-portions strong{
  color:var(--mm-token-ink)!important;
}
html[data-menumia-theme="dark"] .mm-add-portions button{
  background:#292229!important;
  border-color:var(--mm-line)!important;
  color:var(--mm-prune-text)!important;
}
html[data-menumia-theme="dark"] .mm-add-ingredients-empty{
  background:#1A171B!important;
  border-color:var(--mm-line-strong)!important;
  color:var(--mm-token-muted)!important;
}
html[data-menumia-theme="dark"] .mm-add-ingredients-empty i{
  color:var(--mm-prune-text)!important;
}
html[data-menumia-theme="dark"] .mm-add-row{
  background:var(--mm-card)!important;
  border-color:var(--mm-prune-action)!important;
  color:var(--mm-prune-text)!important;
}
html[data-menumia-theme="dark"] .mm-auto-row{
  background:var(--mm-soft)!important;
  color:var(--mm-prune-text)!important;
}
html[data-menumia-theme="dark"] .mm-add-ingredient-quick,
html[data-menumia-theme="dark"] .mm-add-ingredient-main input,
html[data-menumia-theme="dark"] .mm-add-ingredient-main select{
  background:var(--mm-field)!important;
  border-color:var(--mm-line)!important;
  color:var(--mm-token-ink)!important;
}
html[data-menumia-theme="dark"] .mm-add-import-panel,
html[data-menumia-theme="dark"] .mm-add-advanced-panel{
  background:#1A171B!important;
  border-color:var(--mm-line)!important;
}
html[data-menumia-theme="dark"] .mm-add-import-panel p{
  color:var(--mm-token-muted)!important;
}
html[data-menumia-theme="dark"] .mm-add-import-prefill{
  background:var(--mm-card)!important;
  border-color:var(--mm-line-strong)!important;
  color:var(--mm-prune-text)!important;
}
html[data-menumia-theme="dark"] .mm-add-import-url>span{
  background:var(--mm-prune-soft-token)!important;
  color:var(--mm-prune-text)!important;
}

/* Statistiques — aucune carte claire résiduelle */
html[data-menumia-theme="dark"] .mm-stats-period-switch{
  background:var(--mm-soft)!important;
}
html[data-menumia-theme="dark"] .mm-stats-period-switch>button{
  color:var(--mm-token-muted)!important;
}
html[data-menumia-theme="dark"] .mm-stats-period-switch>button.is-active{
  background:#352B36!important;
  color:var(--mm-token-ink)!important;
  box-shadow:none!important;
}
html[data-menumia-theme="dark"] .mm-stats-summary-card,
html[data-menumia-theme="dark"] .mm-stats-insight,
html[data-menumia-theme="dark"] .mm-stats-card,
html[data-menumia-theme="dark"] .mm-stats-details-toggle{
  background:var(--mm-card)!important;
  border-color:var(--mm-line)!important;
  box-shadow:var(--mm-token-shadow-soft)!important;
  color:var(--mm-token-ink)!important;
}
html[data-menumia-theme="dark"] .mm-stats-summary-card>strong,
html[data-menumia-theme="dark"] .mm-stats-insight>div>strong,
html[data-menumia-theme="dark"] .mm-stats-insight p b,
html[data-menumia-theme="dark"] .mm-stats-card-title>strong,
html[data-menumia-theme="dark"] .mm-stats-details-toggle strong{
  color:var(--mm-token-ink)!important;
}
html[data-menumia-theme="dark"] .mm-stats-summary-card>small,
html[data-menumia-theme="dark"] .mm-stats-summary-card>span,
html[data-menumia-theme="dark"] .mm-stats-insight p,
html[data-menumia-theme="dark"] .mm-stats-card-empty{
  color:var(--mm-token-muted)!important;
}
html[data-menumia-theme="dark"] .mm-stats-insight>span,
html[data-menumia-theme="dark"] .mm-stats-card-title>span,
html[data-menumia-theme="dark"] .mm-stats-details-toggle>span i,
html[data-menumia-theme="dark"] .mm-stats-empty>span{
  background:var(--mm-prune-soft-token)!important;
  color:var(--mm-prune-text)!important;
}
html[data-menumia-theme="dark"] .mm-stats-empty{
  background:rgba(33,27,34,.72)!important;
  border-color:var(--mm-line-strong)!important;
}
html[data-menumia-theme="dark"] .mm-stats-empty>strong{
  color:var(--mm-token-ink)!important;
}
html[data-menumia-theme="dark"] .mm-stats-empty>small{
  color:var(--mm-token-muted)!important;
}

/* Recettes — filtres et action Ajouter plus intégrés au thème */
html[data-menumia-theme="dark"] .mm-library-source-scroll>button{
  background:var(--mm-card)!important;
  border-color:var(--mm-line)!important;
  color:var(--mm-token-muted)!important;
  box-shadow:none!important;
}
html[data-menumia-theme="dark"] .mm-library-source-scroll>button.is-active{
  background:var(--mm-prune-soft-token)!important;
  border-color:var(--mm-prune-action)!important;
  color:var(--mm-prune-text)!important;
}
html[data-menumia-theme="dark"] .mm-library-source-scroll .mm-library-filter-chip b{
  background:var(--mm-prune-action)!important;
  color:#FFF!important;
}
html[data-menumia-theme="dark"] .mm-library-card .mm-library-week{
  background:var(--mm-prune-soft-token)!important;
  border:1px solid var(--mm-line)!important;
  color:var(--mm-prune-text)!important;
  box-shadow:none!important;
}
html[data-menumia-theme="dark"] .mm-library-card .mm-library-week i{
  color:var(--mm-prune-text)!important;
}
html[data-menumia-theme="dark"] .mm-library-card .mm-library-week:active{
  background:rgba(206,151,201,.22)!important;
}
html[data-menumia-theme="dark"] .mm-library-filter-meta{
  color:var(--mm-token-muted)!important;
}
html[data-menumia-theme="dark"] .mm-library-filter-meta button{
  color:var(--mm-prune-text)!important;
}

/* Idées pour toi — barre stock trop claire */
html[data-menumia-theme="dark"] .mm-ideas-stock-strip{
  background:var(--mm-card)!important;
  border-color:var(--mm-line)!important;
  box-shadow:var(--mm-token-shadow-soft)!important;
}
html[data-menumia-theme="dark"] .mm-ideas-stock-copy strong{
  color:var(--mm-token-ink)!important;
}
html[data-menumia-theme="dark"] .mm-ideas-stock-copy small{
  color:var(--mm-token-muted)!important;
}
html[data-menumia-theme="dark"] .mm-ideas-stock-icon{
  background:var(--mm-prune-soft-token)!important;
  color:var(--mm-prune-text)!important;
}
html[data-menumia-theme="dark"] .mm-ideas-stock-strip>b{
  background:var(--mm-token-success-soft)!important;
  color:#BFD0BA!important;
}

/* Menus — sélecteur Jour/Semaine et calendrier du jour */
html[data-menumia-theme="dark"] .mm-menu-view-switch{
  background:var(--mm-soft)!important;
}
html[data-menumia-theme="dark"] .mm-menu-view-switch button{
  color:var(--mm-token-muted)!important;
}
html[data-menumia-theme="dark"] .mm-menu-view-switch button.is-active{
  background:var(--mm-prune-action)!important;
  color:#FFF!important;
  box-shadow:none!important;
}
html[data-menumia-theme="dark"] .mm-week-day-chip{
  background:var(--mm-card)!important;
  color:var(--mm-token-ink)!important;
  border:1px solid var(--mm-line)!important;
  box-shadow:none!important;
}
html[data-menumia-theme="dark"] .mm-week-day-label{
  color:var(--mm-token-muted)!important;
}
html[data-menumia-theme="dark"] .mm-week-day-number{
  color:var(--mm-token-ink)!important;
}
html[data-menumia-theme="dark"] .mm-week-day-chip.is-active{
  background:var(--mm-prune-action)!important;
  border-color:var(--mm-prune-action)!important;
  color:#FFF!important;
}
html[data-menumia-theme="dark"] .mm-week-day-chip.is-active .mm-week-day-label{
  color:rgba(255,255,255,.76)!important;
}
html[data-menumia-theme="dark"] .mm-week-day-chip.is-active .mm-week-day-number{
  color:#FFF!important;
}
html[data-menumia-theme="dark"] .mm-week-day-today{
  color:var(--mm-prune-text)!important;
}
html[data-menumia-theme="dark"] .mm-week-day-chip.is-active .mm-week-day-today{
  color:rgba(255,255,255,.82)!important;
}
html[data-menumia-theme="dark"] .mm-week-organize-toggle{
  background:var(--mm-card)!important;
  border-color:var(--mm-line)!important;
  color:var(--mm-prune-text)!important;
}
html[data-menumia-theme="dark"] .mm-week-organize-toggle.is-active{
  background:var(--mm-prune-action)!important;
  border-color:var(--mm-prune-action)!important;
  color:#FFF!important;
}


/* ============================================================
   V582.1 — OPTIONS DE LA SEMAINE
   Le bouton "..." ne doit pas devenir une quatrième grosse case.
   La cible tactile reste confortable, le traitement visuel est compact.
============================================================ */
.mm-week-nav-premium .mm-week-tools-trigger{
  width:40px!important;
  height:40px!important;
  padding:0!important;
  border:0!important;
  border-left:0!important;
  border-radius:12px!important;
  background:transparent!important;
  box-shadow:none!important;
  display:grid!important;
  place-items:center!important;
}
.mm-week-nav-premium .mm-week-tools-trigger>i{
  width:34px;
  height:34px;
  border:1px solid rgba(111,66,114,.10);
  border-radius:11px;
  background:#F6EFF5;
  color:#765A70;
  display:grid;
  place-items:center;
  font-size:17px!important;
  line-height:1;
  transition:background .14s ease,transform .12s ease,border-color .14s ease;
}
.mm-week-nav-premium .mm-week-tools-trigger:active>i{
  background:#EBDDE8;
  transform:scale(.96);
}
html[data-menumia-theme="dark"] .mm-week-nav-premium .mm-week-tools-trigger{
  background:transparent!important;
  border:0!important;
  border-left:0!important;
}
html[data-menumia-theme="dark"] .mm-week-nav-premium .mm-week-tools-trigger>i{
  background:var(--mm-soft)!important;
  border-color:var(--mm-line)!important;
  color:var(--mm-prune-text)!important;
}
html[data-menumia-theme="dark"] .mm-week-nav-premium .mm-week-tools-trigger:active>i{
  background:var(--mm-prune-soft-token)!important;
  border-color:var(--mm-prune-action)!important;
}

/* Bottom sheet "Options de la semaine" */
html[data-menumia-theme="dark"] .mm-week-tools-sheet>button,
html[data-menumia-theme="dark"] .mm-week-tools-date{
  background:var(--mm-card)!important;
  border:1px solid var(--mm-line)!important;
  color:var(--mm-token-ink)!important;
}
html[data-menumia-theme="dark"] .mm-week-tools-sheet>button>i:first-child,
html[data-menumia-theme="dark"] .mm-week-tools-date>span>i{
  background:var(--mm-prune-soft-token)!important;
  color:var(--mm-prune-text)!important;
}
html[data-menumia-theme="dark"] .mm-week-tools-sheet strong{
  color:var(--mm-token-ink)!important;
}
html[data-menumia-theme="dark"] .mm-week-tools-sheet small,
html[data-menumia-theme="dark"] .mm-week-tools-sheet>button>i:last-child{
  color:var(--mm-token-muted)!important;
}
html[data-menumia-theme="dark"] .mm-week-tools-date input{
  background:var(--mm-field)!important;
  border-color:var(--mm-line-strong)!important;
  color:var(--mm-token-ink)!important;
}

/* ============================================================
   V588.1 — NAVIGATION SANS BANDEAU
   Les onglets restent fixes et accessibles, mais le conteneur se
   confond avec le fond de page : aucun bandeau blanc visible.
============================================================ */
@media(max-width:759px){
  .mm-ui-v2-common .mm-bottom-nav{
    background:var(--mm-page-bg)!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }

  html[data-menumia-theme="dark"] .mm-ui-v2-common .mm-bottom-nav{
    background:var(--mm-page-bg)!important;
    border:0!important;
    box-shadow:none!important;
  }

  .mm-ui-v2-common .mm-bottom-nav .mm-nav-item.is-active{
    background:transparent!important;
  }
}


/* ============================================================
   V598.1 — FINITION VISUELLE ACCUEIL MOBILE
   Barre basse équilibrée, carrousel plus lisible, hiérarchie
   d'actions affinée et espacements harmonisés.
============================================================ */
@media(max-width:759px){

  /* Navigation basse PWA */
  html.mm-standalone .mm-bottom-nav{
    min-height:74px!important;
    padding-bottom:10px!important;
  }

  html.mm-standalone .mm-bottom-nav .mm-nav-item{
    gap:3px!important;
    transition:opacity .16s ease, transform .16s ease!important;
  }

  html.mm-standalone .mm-bottom-nav .mm-nav-item:first-child{
    transform:translateX(5px)!important;
  }

  html.mm-standalone .mm-bottom-nav .mm-nav-item:not(.is-active){
    opacity:.84;
  }

  html.mm-standalone .mm-bottom-nav .mm-nav-item.is-active>svg:first-child{
    transform:translateY(-1px) scale(1.03);
    transform-origin:center;
  }

  html.mm-standalone .mm-bottom-nav .mm-nav-item.is-active>span:last-child{
    width:16px!important;
    height:2.5px!important;
    margin-top:2px!important;
    border-radius:999px!important;
  }

  /* En-tête : profil moins dominant */
  .mm-ui-v2-common .mm-topbar-actions{
    gap:5px!important;
  }

  .mm-ui-v2-common .mm-profile-action{
    background:var(--mm-v2-surface-soft)!important;
    border:1px solid var(--mm-v2-line)!important;
    box-shadow:none!important;
  }

  /* Action principale du repas */
  .mm-ui-v2-common .mm-home-primary-actions>button:first-child{
    font-weight:800!important;
    letter-spacing:-.01em!important;
  }

  .mm-ui-v2-common .mm-home-meal-more{
    background:var(--mm-v2-surface-soft)!important;
    border-color:var(--mm-v2-line)!important;
    color:var(--mm-v2-text-muted)!important;
    box-shadow:none!important;
  }

  .mm-ui-v2-common .mm-home-meal-more>svg{
    transform:scale(.9);
  }

  /* Transition vers les prochains repas */
  .mm-ui-v2-common .mm-home-ready-state{
    margin-bottom:-2px!important;
  }

  .mm-ui-v2-common .mm-home-upcoming{
    gap:8px!important;
    margin-top:-8px!important;
  }

  .mm-ui-v2-common .mm-home-upcoming-heading{
    gap:10px!important;
  }

  /* Cartes suivantes : alignement et densité */
  .mm-ui-v2-common .mm-home-upcoming-scroll{
    gap:9px!important;
    padding-bottom:5px!important;
  }

  .mm-ui-v2-common .mm-home-upcoming-card{
    border-radius:17px!important;
    box-shadow:0 6px 18px rgba(55,43,46,.05)!important;
  }

  .mm-ui-v2-common .mm-home-upcoming-card-body{
    gap:6px!important;
    padding:10px!important;
    align-content:start!important;
  }

  .mm-ui-v2-common .mm-home-upcoming-card-body>strong{
    height:31px!important;
    min-height:31px!important;
  }
}

/* Sur téléphone : deux cartes complètes + aperçu volontaire de la suivante */
@media(max-width:520px){
  .mm-ui-v2-common .mm-home-upcoming-scroll>span{
    flex:0 0 calc((100vw - 66px)/2)!important;
    max-width:none!important;
  }
}


/* ============================================================
   V599.1 — NOTE RECETTE ET SWITCH RESTES
   Notation toujours visible et contrôle restes harmonisé.
============================================================ */

/* Notation de la fiche recette */
.mm-recipe-rating-control{
  margin:-4px 0 16px;
  padding:10px 12px;
  border:1px solid var(--mm-line);
  border-radius:15px;
  background:var(--mm-soft);
}

.mm-recipe-rating-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:5px;
  color:var(--mm-muted);
  font-size:11.5px;
}

.mm-recipe-rating-head strong{
  color:var(--mm-prune);
  font-size:11.5px;
  font-weight:800;
}

.mm-recipe-rating-actions{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}

.mm-recipe-rating-stars{
  display:flex;
  align-items:center;
  gap:2px;
}

.mm-recipe-rating-star{
  appearance:none;
  -webkit-appearance:none;
  width:44px;
  min-width:44px;
  height:44px;
  min-height:44px;
  padding:0;
  border:0;
  border-radius:12px;
  background:transparent;
  color:var(--mm-faint);
  display:grid;
  place-items:center;
  cursor:pointer;
  font:inherit;
  font-size:23px;
  line-height:1;
}

.mm-recipe-rating-star.is-filled{
  color:var(--mm-warning);
}

.mm-recipe-rating-star.is-selected{
  background:var(--mm-warning-soft);
}

.mm-recipe-rating-star:active{
  transform:scale(.94);
}

.mm-recipe-rating-clear{
  appearance:none;
  -webkit-appearance:none;
  min-height:44px;
  margin-left:auto;
  padding:0 5px;
  border:0;
  background:transparent;
  color:var(--mm-muted);
  font:inherit;
  font-size:10.5px;
  font-weight:700;
  cursor:pointer;
}

/* Éditeur Infos : switch Restes */
.mm-info-toggle-row{
  width:100%;
  min-height:66px;
  margin-top:14px;
  padding:10px 12px;
  border:1px solid var(--mm-line);
  border-radius:15px;
  background:var(--mm-soft);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  cursor:pointer;
}

.mm-info-toggle-copy{
  display:grid;
  gap:3px;
  min-width:0;
}

.mm-info-toggle-copy strong{
  color:var(--mm-ink);
  font-size:12px;
  font-weight:800;
  line-height:1.25;
}

.mm-info-toggle-copy small{
  color:var(--mm-muted);
  font-size:10.5px;
  line-height:1.3;
}

.mm-info-toggle-control{
  position:relative;
  width:46px;
  height:28px;
  min-width:46px;
  flex:0 0 46px;
}

.mm-info-editor .mm-info-toggle-input[type="checkbox"]{
  position:absolute!important;
  inset:0!important;
  z-index:2;
  width:46px!important;
  height:28px!important;
  min-height:28px!important;
  margin:0!important;
  opacity:0!important;
  cursor:pointer;
}

.mm-info-toggle-visual{
  position:absolute;
  inset:0;
  border:1px solid var(--mm-line-strong);
  border-radius:999px;
  background:var(--mm-field);
  transition:
    background .16s ease,
    border-color .16s ease;
}

.mm-info-toggle-visual::after{
  content:"";
  position:absolute;
  top:3px;
  left:3px;
  width:20px;
  height:20px;
  border-radius:50%;
  background:var(--mm-card);
  box-shadow:0 2px 6px rgba(40,25,36,.16);
  transition:transform .16s ease;
}

.mm-info-toggle-input:checked + .mm-info-toggle-visual{
  background:var(--mm-prune-action);
  border-color:var(--mm-prune-action);
}

.mm-info-toggle-input:checked + .mm-info-toggle-visual::after{
  transform:translateX(18px);
}

.mm-info-toggle-input:focus-visible + .mm-info-toggle-visual{
  box-shadow:var(--mm-focus);
}

@media(max-width:380px){
  .mm-recipe-rating-star{
    width:40px;
    min-width:40px;
  }
}


/* ============================================================
   V599.2 — SALUTATION ACCUEIL SUR UNE LIGNE
   Le salut récupère toute la largeur. La date s'aligne
   discrètement avec le sous-titre pour ne plus forcer 👋 à la ligne.
============================================================ */
@media(max-width:759px){
  .mm-ui-v2-common .mm-home-greeting{
    padding-right:0!important;
    white-space:nowrap!important;
  }

  .mm-ui-v2-common .mm-home-date-row{
    top:auto!important;
    bottom:1px!important;
  }

  .mm-ui-v2-common .mm-home-subtitle{
    padding-right:104px!important;
  }
}

@media(max-width:365px){
  .mm-ui-v2-common .mm-home-greeting{
    font-size:21px!important;
    letter-spacing:-.04em!important;
  }

  .mm-ui-v2-common .mm-home-subtitle{
    padding-right:94px!important;
  }
}


/* ============================================================
   V600.1 — NOTE RECETTE COMPACTE
   Même interaction, beaucoup moins d'encombrement visuel.
============================================================ */
.mm-recipe-rating-control{
  margin:-2px 0 14px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
}
.mm-recipe-rating-head{
  flex:0 0 auto!important;
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  margin:0!important;
  white-space:nowrap!important;
  color:var(--mm-muted)!important;
  font-size:10.8px!important;
}
.mm-recipe-rating-head strong{
  color:var(--mm-prune)!important;
  font-size:10.8px!important;
  font-weight:800!important;
}
.mm-recipe-rating-actions{
  flex:1 1 auto!important;
  display:flex!important;
  align-items:center!important;
  gap:3px!important;
  min-width:0!important;
}
.mm-recipe-rating-stars{
  display:flex!important;
  align-items:center!important;
  gap:0!important;
}
.mm-recipe-rating-star{
  width:30px!important;
  min-width:30px!important;
  height:44px!important;
  min-height:44px!important;
  padding:0!important;
  border-radius:8px!important;
  background:transparent!important;
  font-size:18px!important;
}
.mm-recipe-rating-star.is-selected{
  background:transparent!important;
}
.mm-recipe-rating-clear{
  min-height:44px!important;
  margin-left:auto!important;
  padding:0 2px!important;
  font-size:10px!important;
  white-space:nowrap!important;
}
@media(max-width:365px){
  .mm-recipe-rating-star{
    width:28px!important;
    min-width:28px!important;
  }
}


/* ============================================================
   V601.1 — HARMONISATION GLOBALE DES ICONES
   Centres optiques, boîtes homogènes et alignement des icônes
   d'action sur l'ensemble de l'application.
============================================================ */

/* Base SVG Menumia : aucune dérive de baseline dans flex/grid. */
.mm-menumia-icon{
  display:block;
  flex:0 0 auto;
  vertical-align:middle;
  transform-origin:center;
}

/* Icônes de boutons : baseline neutralisée, centrage prévisible. */
.mm-ui-v2-common button .ti,
.mm-ui-v2-common [role="button"] .ti,
.mm-ui-v2-common a .ti{
  line-height:1!important;
  vertical-align:middle;
}

.mm-ui-v2-common button>.mm-menumia-icon:only-child,
.mm-ui-v2-common button>.ti:only-child,
.mm-ui-v2-common [role="button"]>.mm-menumia-icon:only-child,
.mm-ui-v2-common [role="button"]>.ti:only-child{
  margin:auto!important;
}

/* Navigation basse : même boîte optique pour les 5 pictos. */
.mm-bottom-nav .mm-nav-item>.mm-menumia-icon{
  display:block!important;
  width:20px!important;
  height:20px!important;
  margin:0 auto!important;
}

/* Boutons icône seuls récurrents. */
.mm-secondary-back,
.mm-ui-v2-common .mm-home-actions-header>button,
.mm-assistant-close,
.mm-fridge-sheet-close,
.mm-ui-v2-common .mm-home-hero-heart,
.mm-library-heart,
.mm-week-heart-overlay{
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  line-height:1!important;
}

.mm-secondary-back>.ti,
.mm-ui-v2-common .mm-home-actions-header>button>.ti,
.mm-ui-v2-common .mm-home-actions-header>button>.mm-menumia-icon,
.mm-assistant-close>.ti,
.mm-fridge-sheet-close>.ti,
.mm-ui-v2-common .mm-home-hero-heart>.mm-menumia-icon,
.mm-library-heart>.ti,
.mm-week-heart-overlay>.ti,
.mm-week-heart-overlay>.mm-menumia-icon{
  display:block!important;
  margin:0!important;
  line-height:1!important;
}

/* Réglages : pictogrammes strictement centrés dans leurs tuiles. */
.mm-settings-v225>.mm-settings-card>div:first-child>div>span:first-child{
  display:grid!important;
  place-items:center!important;
  line-height:1!important;
}
.mm-settings-v225>.mm-settings-card>div:first-child>div>span:first-child>.ti{
  margin:0!important;
  line-height:1!important;
}

/* Contrôles de fermeture / retour : tailles optiques cohérentes. */
.mm-secondary-back>.ti{font-size:18px!important}
.mm-assistant-close>.ti,
.mm-fridge-sheet-close>.ti{font-size:18px!important}
.mm-ui-v2-common .mm-home-actions-header>button>.mm-menumia-icon{
  width:18px!important;
  height:18px!important;
}

/* Accueil mobile : les trois actions de droite partagent exactement
   la même grille, le même centre et le même rythme horizontal. */
@media(max-width:759px){
  .mm-ui-v2-common .mm-topbar-actions{
    display:grid!important;
    grid-template-columns:repeat(3,40px)!important;
    align-items:center!important;
    justify-items:center!important;
    gap:7px!important;
    margin:0!important;
  }

  .mm-ui-v2-common .mm-topbar-action,
  .mm-ui-v2-common .mm-profile-action{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    min-height:40px!important;
    margin:0!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
    border:1px solid transparent!important;
    border-radius:50%!important;
    background:transparent!important;
    box-shadow:none!important;
    color:var(--mm-v2-primary)!important;
    line-height:1!important;
  }

  .mm-ui-v2-common .mm-topbar-action .mm-menumia-icon{
    width:20px!important;
    height:20px!important;
    margin:0!important;
  }

  /* Ajustements optiques : mêmes boîtes, formes perçues équilibrées. */
  .mm-ui-v2-common .mm-ai-action .mm-menumia-icon{
    transform:scale(.94);
  }
  .mm-ui-v2-common .mm-topbar-actions>.mm-topbar-action:nth-child(2) .mm-menumia-icon{
    transform:translateY(.25px) scale(.95);
  }
  .mm-ui-v2-common .mm-profile-action .mm-menumia-icon{
    transform:translateY(-.2px) scale(.95);
  }

  .mm-ui-v2-common .mm-topbar-action:active{
    background:var(--mm-v2-surface-soft)!important;
    transform:scale(.96)!important;
  }
}

/* Très petits écrans : on conserve la même géométrie, seul le gap baisse. */
@media(max-width:365px){
  .mm-ui-v2-common .mm-topbar-actions{
    gap:5px!important;
  }
}


/* ============================================================
   V602.1 — DESIGN SYSTEM CANONIQUE
   Socle visuel commun : espaces, rayons, ombres, titres,
   cartes, contrôles et panneaux.
============================================================ */

:root{
  --mm-space-1:4px;
  --mm-space-2:8px;
  --mm-space-3:12px;
  --mm-space-4:16px;
  --mm-space-5:24px;
  --mm-space-6:32px;

  --mm-radius-control:14px;
  --mm-radius-card:18px;
  --mm-radius-sheet:24px;
  --mm-radius-pill:999px;

  --mm-shadow-card:0 4px 14px rgba(55,43,46,.045);
  --mm-shadow-float:0 12px 34px rgba(55,43,46,.12);

  --mm-icon-sm:18px;
  --mm-icon-md:20px;
  --mm-icon-lg:24px;
  --mm-touch-target:44px;
}

html[data-menumia-theme="dark"]{
  --mm-shadow-card:0 2px 8px rgba(0,0,0,.16);
  --mm-shadow-float:0 12px 34px rgba(0,0,0,.28);
}

/* Rythme des titres d'écrans principaux. */
.mm-ui-v2-common .mm-page-heading{
  margin-bottom:var(--mm-space-4)!important;
}
.mm-ui-v2-common .mm-page-subtitle{
  margin-top:var(--mm-space-1)!important;
  line-height:1.4!important;
}

/* Écrans secondaires : même structure partout. */
.mm-secondary-root-header{
  gap:var(--mm-space-3)!important;
  margin-bottom:var(--mm-space-4)!important;
}
.mm-secondary-back{
  width:var(--mm-touch-target)!important;
  height:var(--mm-touch-target)!important;
  flex:0 0 var(--mm-touch-target)!important;
  border-radius:var(--mm-radius-control)!important;
  border-color:var(--mm-line)!important;
  box-shadow:var(--mm-shadow-card)!important;
}

/* Cartes structurantes communes. */
.mm-settings-hub-group,
.mm-stats-card,
.mm-stats-summary-card,
.mm-week-overview-day{
  border-radius:var(--mm-radius-card)!important;
  border-color:var(--mm-line)!important;
  box-shadow:var(--mm-shadow-card)!important;
}

.mm-settings-hub-item{
  padding:var(--mm-space-3) var(--mm-space-4)!important;
  gap:var(--mm-space-3)!important;
}

.mm-stats-card{
  padding:var(--mm-space-4)!important;
  margin-bottom:var(--mm-space-3)!important;
}

.mm-stats-summary-grid{
  gap:var(--mm-space-2)!important;
  margin-bottom:var(--mm-space-3)!important;
}

.mm-week-overview-list{
  gap:var(--mm-space-3)!important;
}
.mm-week-overview-day{
  padding:var(--mm-space-3)!important;
  gap:var(--mm-space-3)!important;
}

/* Bibliothèque / recettes : géométrie de carte stabilisée. */
.mm-library-card{
  border-radius:var(--mm-radius-card)!important;
  box-shadow:var(--mm-shadow-card)!important;
}
.mm-library-card .mm-library-photo-wrap{
  overflow:hidden!important;
}

/* Courses : même rayon de section que les autres cartes. */
.mm-shopping-category-head{
  border-radius:var(--mm-radius-card)!important;
}

/* Panneaux et bottom sheets : un seul langage visuel. */
.mm-ui-v2-common .mm-home-actions-sheet,
.mm-week-personalize-sheet,
.mm-shopping-category-move-sheet,
.mm-courses-frigo-sheet,
.mm-assistant-sheet{
  border-radius:var(--mm-radius-sheet) var(--mm-radius-sheet) 0 0!important;
  box-shadow:var(--mm-shadow-float)!important;
}

/* Boutons icône seuls : géométrie canonique. */
.mm-secondary-back,
.mm-assistant-close,
.mm-fridge-sheet-close,
.mm-ui-v2-common .mm-home-actions-header>button{
  min-width:var(--mm-touch-target)!important;
  min-height:var(--mm-touch-target)!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  line-height:1!important;
}

.mm-secondary-back>.ti,
.mm-assistant-close>.ti,
.mm-fridge-sheet-close>.ti{
  font-size:var(--mm-icon-sm)!important;
  line-height:1!important;
  margin:0!important;
}

/* Petites icônes de cartes : même boîte et même centrage. */
.mm-settings-hub-icon,
.mm-stats-card-title>span,
.mm-ui-v2-common .mm-home-status-icon{
  display:grid!important;
  place-items:center!important;
  flex:0 0 auto!important;
}

/* Règles tactiles communes sans grossir visuellement les pictos. */
.mm-ui-v2-common button,
.mm-secondary-screen button,
.mm-settings-screen button{
  -webkit-tap-highlight-color:transparent;
}

/* Mobile : marges et rythme plus constants entre sections. */
@media(max-width:759px){
  .mm-secondary-root-header{
    padding-bottom:var(--mm-space-3)!important;
  }

  .mm-stats-card-title{
    margin-bottom:var(--mm-space-3)!important;
  }

  .mm-settings-hub-item{
    min-height:68px!important;
  }

  .mm-shopping-inventory{
    gap:var(--mm-space-3)!important;
  }
}


/* ============================================================
   V603.1 — QUANTITES FRIGO + COURSES
   Steppers sans débordement, quantités alignées et actions
   de liste simplifiées.
============================================================ */

/* Courses : une seule action globale claire. */
.mm-shopping-list-actions{
  display:flex!important;
  align-items:center!important;
  gap:0!important;
}
.mm-shopping-toolbar-buy-all{
  min-height:44px!important;
  padding:0 14px!important;
  border-radius:var(--mm-radius-control)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  font-size:10.5px!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
.mm-shopping-toolbar-buy-all i{
  font-size:15px!important;
  line-height:1!important;
}

/* Lignes Courses : géométrie stable quelle que soit la quantité. */
.mm-shopping-item-row{
  min-height:54px!important;
  grid-template-columns:24px minmax(0,1fr) minmax(34px,auto)!important;
  gap:10px!important;
  padding:8px 10px!important;
}
.mm-shopping-item-check{
  width:22px!important;
  height:22px!important;
  border-radius:7px!important;
  align-self:center!important;
}
.mm-shopping-item-qty{
  min-width:34px!important;
  max-width:96px!important;
  margin-left:0!important;
  padding:5px 8px!important;
  justify-self:end!important;
  text-align:center!important;
  border-radius:var(--mm-radius-pill)!important;
  font-variant-numeric:tabular-nums!important;
  line-height:1!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.mm-shopping-item-copy{
  min-width:0!important;
}
.mm-shopping-item-copy strong,
.mm-shopping-item-copy small{
  max-width:100%!important;
}

/* Frigo / congélateur : stepper compact mais entièrement contenu. */
.mm-fridge-native-row{
  grid-template-columns:minmax(0,1fr) 104px 20px!important;
  gap:5px!important;
  align-items:center!important;
}
.mm-fridge-row-qty{
  width:104px!important;
  min-width:104px!important;
  max-width:104px!important;
  height:44px!important;
  box-sizing:border-box!important;
  grid-template-columns:30px minmax(0,1fr) 30px!important;
  gap:2px!important;
  padding:3px!important;
  overflow:hidden!important;
  border-radius:var(--mm-radius-control)!important;
}
.mm-fridge-row-qty>button{
  width:30px!important;
  min-width:30px!important;
  max-width:30px!important;
  height:36px!important;
  min-height:36px!important;
  padding:0!important;
  box-sizing:border-box!important;
  border-radius:9px!important;
  display:grid!important;
  place-items:center!important;
  font-size:16px!important;
  line-height:1!important;
  overflow:hidden!important;
}
.mm-fridge-row-qty-display{
  min-width:0!important;
  max-width:100%!important;
  height:36px!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  white-space:nowrap!important;
}
.mm-fridge-row-qty-display>span{
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  font-size:11px!important;
  font-variant-numeric:tabular-nums!important;
}
.mm-fridge-row-qty-display>small{
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  text-align:center!important;
  font-size:8.3px!important;
}
.mm-fridge-row-open{
  width:20px!important;
  min-width:20px!important;
  max-width:20px!important;
  padding:0!important;
}

/* Détail ingrédient : même logique, sans saut de largeur. */
.mm-fridge-detail-qty{
  width:min(168px,100%)!important;
  grid-template-columns:40px minmax(0,1fr) 40px!important;
  gap:4px!important;
  align-items:center!important;
}
.mm-fridge-detail-qty>button{
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  min-height:40px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  box-sizing:border-box!important;
  border-radius:11px!important;
  line-height:1!important;
}
.mm-fridge-detail-qty>strong{
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-variant-numeric:tabular-nums!important;
  text-align:center!important;
}

/* Fiche recette : cible tactile 44px, cercle visuel 36px. */
.mm-recipe-ingredients-heading{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-bottom:10px!important;
}
.mm-recipe-ingredients-heading>div:first-child{
  color:var(--mm-faint)!important;
  font-size:12px!important;
  text-transform:uppercase!important;
  letter-spacing:.4px!important;
}
.mm-recipe-portions-controls{
  display:flex!important;
  align-items:center!important;
  gap:4px!important;
}
.mm-recipe-portions-step{
  position:relative!important;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:var(--mm-prune)!important;
  display:grid!important;
  place-items:center!important;
  cursor:pointer!important;
  font-size:18px!important;
  font-weight:750!important;
  line-height:1!important;
  z-index:0;
}
.mm-recipe-portions-step::before{
  content:"";
  position:absolute;
  inset:4px;
  z-index:-1;
  border:1px solid var(--mm-line-strong);
  border-radius:50%;
  background:var(--mm-card);
}
.mm-recipe-portions-step:active::before{
  background:var(--mm-soft);
}
.mm-portions-label{
  margin-right:2px!important;
  font-variant-numeric:tabular-nums!important;
}

/* Très petits écrans : on réduit la largeur du stepper, jamais son contenu hors cadre. */
@media(max-width:380px){
  .mm-fridge-native-row{
    grid-template-columns:minmax(0,1fr) 100px 18px!important;
    gap:4px!important;
  }
  .mm-fridge-row-qty{
    width:100px!important;
    min-width:100px!important;
    max-width:100px!important;
    grid-template-columns:28px minmax(0,1fr) 28px!important;
  }
  .mm-fridge-row-qty>button{
    width:28px!important;
    min-width:28px!important;
    max-width:28px!important;
  }
  .mm-fridge-row-open{
    width:18px!important;
    min-width:18px!important;
    max-width:18px!important;
  }
}

@media(max-width:350px){
  .mm-fridge-native-row{
    grid-template-columns:minmax(0,1fr) 96px 16px!important;
    gap:3px!important;
  }
  .mm-fridge-row-qty{
    width:96px!important;
    min-width:96px!important;
    max-width:96px!important;
    grid-template-columns:26px minmax(0,1fr) 26px!important;
  }
  .mm-fridge-row-qty>button{
    width:26px!important;
    min-width:26px!important;
    max-width:26px!important;
  }
  .mm-fridge-row-open{
    width:16px!important;
    min-width:16px!important;
    max-width:16px!important;
  }
  .mm-shopping-item-row{
    grid-template-columns:22px minmax(0,1fr) minmax(32px,auto)!important;
    gap:7px!important;
    padding-inline:8px!important;
  }
}

/* Sombre : nouveaux contrôles basés sur les tokens communs. */
html[data-menumia-theme="dark"] .mm-recipe-portions-step::before{
  background:var(--mm-card)!important;
  border-color:var(--mm-line-strong)!important;
}


/* ============================================================
   V604.1 — RECETTES + FICHE RECETTE
   Catalogue plus dense et régulier, actions secondaires allégées,
   fiche centrée sur ingrédients et préparation.
============================================================ */

/* Recettes : moins de hauteur consommée avant les photos. */
.mm-library-screen .mm-library-mode-switch{
  margin-bottom:8px!important;
  padding:3px!important;
  border-radius:var(--mm-radius-control)!important;
}
.mm-library-screen .mm-library-mode-switch button{
  min-height:44px!important;
  border-radius:11px!important;
  font-size:11.3px!important;
}
.mm-library-screen .mm-library-search-row{
  grid-template-columns:minmax(0,1fr) 82px!important;
  gap:6px!important;
  margin-bottom:6px!important;
}
.mm-library-screen .mm-library-search-wrap input{
  min-height:44px!important;
  height:44px!important;
  border-radius:var(--mm-radius-control)!important;
  padding-block:8px!important;
  box-shadow:none!important;
}
.mm-library-screen .mm-library-add-compact{
  min-height:44px!important;
  height:44px!important;
  padding:0 8px!important;
  border-radius:var(--mm-radius-control)!important;
  border-color:var(--mm-line)!important;
  background:var(--mm-card)!important;
  box-shadow:none!important;
  font-size:9.8px!important;
}
.mm-library-screen .mm-library-add-compact i{
  font-size:14px!important;
}
.mm-library-screen .mm-library-source-scroll{
  padding:0 0 2px!important;
  gap:5px!important;
  margin-bottom:1px!important;
}
.mm-library-screen .mm-library-source-scroll>button{
  min-height:44px!important;
  padding:7px 4px!important;
  border-radius:12px!important;
  font-size:9.9px!important;
}
.mm-library-screen .mm-library-filter-meta{
  min-height:24px!important;
  margin:0 2px 5px!important;
  font-size:9.6px!important;
}
.mm-library-screen .mm-library-sort-trigger{
  min-height:30px!important;
  padding:2px 8px!important;
  font-size:9.9px!important;
}

/* Cartes : mêmes repères, même hauteur, contenu aligné. */
.mm-recipe-library-grid{
  gap:10px!important;
}
.mm-library-card{
  overflow:hidden!important;
}
.mm-library-card .mm-library-copy{
  padding:10px 10px 6px!important;
  display:flex!important;
  flex-direction:column!important;
}
.mm-library-card .mm-library-copy h3{
  min-height:34px!important;
  max-height:34px!important;
  margin:0!important;
  font-size:14.6px!important;
  line-height:1.17!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
.mm-library-card .mm-library-meta{
  min-height:22px!important;
  margin-top:6px!important;
  gap:5px!important;
  align-items:center!important;
  font-size:9.5px!important;
}
.mm-library-card .mm-library-meta>span{
  min-width:0!important;
}
.mm-library-card .mm-library-tags{
  min-height:18px!important;
  margin-top:4px!important;
  align-items:center!important;
}
.mm-library-card .mm-library-tags>span{
  font-size:8.8px!important;
  padding:2px 5px!important;
}
.mm-library-card .mm-library-actions{
  min-height:48px!important;
  grid-template-columns:minmax(0,1fr) 44px!important;
  gap:4px!important;
  padding:0 7px 7px!important;
}
.mm-library-card .mm-library-week{
  min-height:44px!important;
  border:1px solid var(--mm-line)!important;
  border-radius:12px!important;
  background:var(--mm-soft)!important;
  color:var(--mm-prune-text)!important;
  box-shadow:none!important;
  font-size:9.5px!important;
}
.mm-library-card .mm-library-week i{
  color:var(--mm-prune-text)!important;
  font-size:14px!important;
}
.mm-library-card .mm-library-more,
.mm-library-card .mm-library-more summary{
  width:44px!important;
  height:44px!important;
}
.mm-library-card .mm-library-more summary{
  border:0!important;
  background:transparent!important;
  color:var(--mm-muted)!important;
  box-shadow:none!important;
}
.mm-library-card .mm-library-more summary i{
  font-size:17px!important;
}
.mm-library-card .mm-library-heart{
  width:44px!important;
  height:44px!important;
  top:3px!important;
  right:3px!important;
}
.mm-library-card .mm-library-heart::before{
  width:29px!important;
  height:29px!important;
}
.mm-library-card .mm-library-heart i{
  font-size:16px!important;
}

/* Fiche recette : haut plus compact. */
.mm-recipe-detail-body{
  padding:16px!important;
}
.mm-recipe-detail-meta{
  gap:4px 14px!important;
  margin-bottom:5px!important;
  font-size:11.8px!important;
}
.mm-recipe-detail-meta i{
  font-size:14px!important;
}
.mm-recipe-detail-primary-actions{
  gap:7px!important;
  margin-bottom:11px!important;
}
.mm-recipe-detail-primary-actions>button{
  min-height:44px!important;
}
.mm-recipe-detail-primary-actions>button:last-child{
  width:44px!important;
  height:44px!important;
  border-radius:12px!important;
}
.mm-recipe-rating-control{
  margin:0 0 10px!important;
  gap:6px!important;
}
.mm-recipe-rating-head,
.mm-recipe-rating-head strong{
  font-size:10.4px!important;
}
.mm-recipe-rating-star{
  width:28px!important;
  min-width:28px!important;
  font-size:17px!important;
}
.mm-recipe-rating-clear{
  font-size:9.6px!important;
}

/* Mode cuisine reste visible, sans devenir un deuxième CTA principal. */
.mm-recipe-cooking-action{
  margin-bottom:11px!important;
}
.mm-recipe-cooking-action>button{
  min-height:44px!important;
  border-radius:var(--mm-radius-control)!important;
  background:var(--mm-soft)!important;
  border-color:var(--mm-line)!important;
  box-shadow:none!important;
  color:var(--mm-prune-text)!important;
  font-size:11.5px!important;
}

/* Photos personnelles : action secondaire discrète. */
.mm-recipe-photo-tools{
  min-height:44px!important;
  align-items:center!important;
  gap:7px!important;
  margin-bottom:10px!important;
}
.mm-recipe-photo-add{
  min-height:44px!important;
  padding:0 4px!important;
  display:inline-flex!important;
  align-items:center!important;
  color:var(--mm-muted)!important;
  font-size:10.8px!important;
  font-weight:700!important;
}
.mm-recipe-photo-add i{
  color:var(--mm-prune-text)!important;
}

/* Contenu éditorial : laisser les ingrédients prendre le dessus. */
.mm-recipe-info-pills{
  gap:5px!important;
  margin-bottom:5px!important;
}
.mm-recipe-edit-info,
.mm-recipe-edit-ingredients{
  margin-bottom:12px!important;
}
.mm-recipe-edit-info>button,
.mm-recipe-edit-ingredients>button{
  min-height:44px!important;
  background:transparent!important;
  border-color:var(--mm-line)!important;
  box-shadow:none!important;
  color:var(--mm-muted)!important;
}
.mm-recipe-ingredients-heading{
  margin-top:2px!important;
  margin-bottom:8px!important;
}
.mm-recipe-detail-sheet .mm-recipe-ingredients{
  border-radius:var(--mm-radius-card)!important;
  box-shadow:none!important;
}
.mm-recipe-detail-sheet .mm-recipe-step{
  padding:12px 13px!important;
  gap:10px!important;
  border-radius:var(--mm-radius-card)!important;
}
.mm-recipe-detail-sheet .mm-recipe-step-num{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  font-size:12px!important;
}

/* Sombre : les nouveaux états s'appuient uniquement sur les tokens. */
html[data-menumia-theme="dark"] .mm-library-screen .mm-library-add-compact,
html[data-menumia-theme="dark"] .mm-library-card .mm-library-week{
  background:var(--mm-card)!important;
  border-color:var(--mm-line)!important;
  color:var(--mm-prune-text)!important;
}
html[data-menumia-theme="dark"] .mm-library-card .mm-library-more summary{
  background:transparent!important;
  color:var(--mm-token-muted)!important;
}
html[data-menumia-theme="dark"] .mm-recipe-cooking-action>button{
  background:var(--mm-soft)!important;
  border-color:var(--mm-line)!important;
  color:var(--mm-prune-text)!important;
}
html[data-menumia-theme="dark"] .mm-recipe-edit-info>button,
html[data-menumia-theme="dark"] .mm-recipe-edit-ingredients>button{
  background:transparent!important;
  border-color:var(--mm-line)!important;
  color:var(--mm-token-muted)!important;
}

@media(max-width:365px){
  .mm-library-screen .mm-library-search-row{
    grid-template-columns:minmax(0,1fr) 74px!important;
  }
  .mm-library-screen .mm-library-add-compact span{
    font-size:9px!important;
  }
  .mm-library-card .mm-library-copy h3{
    font-size:14px!important;
  }
  .mm-recipe-rating-star{
    width:26px!important;
    min-width:26px!important;
  }
  .mm-portions-label{
    font-size:11.5px!important;
  }
}


/* ============================================================
   V605.1 — MES MENUS
   Haut de page plus dense, navigation + génération regroupées
   sur mobile large, cartes Jour/Semaine régulières.
============================================================ */

/* Titre et sélecteur Jour / Semaine */
.mm-week-screen .mm-week-heading{
  margin-bottom:6px!important;
}
.mm-week-screen .mm-week-heading>div:last-child{
  margin-top:3px!important;
}
.mm-week-screen .mm-menu-view-switch{
  margin-bottom:5px!important;
  padding:3px!important;
  border-radius:var(--mm-radius-control)!important;
}
.mm-week-screen .mm-menu-view-switch button{
  min-height:44px!important;
  border-radius:11px!important;
  font-size:10.8px!important;
}

/* Résumé : une seule ligne dense, détail seulement à la demande. */
.mm-week-screen .mm-week-summary{
  margin:0 0 5px!important;
}
.mm-week-screen .mm-week-summary-toggle{
  min-height:44px!important;
  padding:5px 9px!important;
  gap:6px!important;
  border-radius:var(--mm-radius-control)!important;
  border-color:var(--mm-line)!important;
  background:var(--mm-card)!important;
  box-shadow:none!important;
}
.mm-week-screen .mm-week-summary-toggle>span{
  gap:5px!important;
}
.mm-week-screen .mm-week-summary-toggle>span i{
  font-size:14px!important;
}
.mm-week-screen .mm-week-summary-toggle>span strong{
  font-size:10.2px!important;
}
.mm-week-screen .mm-week-summary-toggle>small{
  font-size:8.9px!important;
}
.mm-week-screen .mm-week-summary .mm-week-stats{
  margin:5px 0 0!important;
}

/* Navigation hebdomadaire */
.mm-week-screen .mm-week-primary-controls{
  gap:5px!important;
  margin-bottom:6px!important;
}
.mm-week-screen .mm-week-nav-premium{
  min-width:0!important;
  min-height:44px!important;
  padding:2px 3px!important;
  grid-template-columns:32px minmax(0,1fr) 32px 38px!important;
  border-radius:var(--mm-radius-control)!important;
  border-color:var(--mm-line)!important;
  box-shadow:none!important;
}
.mm-week-screen .mm-week-nav-premium>button:not(.mm-week-tools-trigger){
  width:32px!important;
  height:40px!important;
  min-width:32px!important;
  border-radius:10px!important;
}
.mm-week-screen .mm-week-nav-label{
  min-width:0!important;
  padding-inline:3px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:12.5px!important;
}
.mm-week-screen .mm-week-nav-premium .mm-week-tools-trigger{
  width:38px!important;
  height:40px!important;
}
.mm-week-screen .mm-week-nav-premium .mm-week-tools-trigger>i{
  width:32px!important;
  height:32px!important;
  border-radius:10px!important;
  font-size:16px!important;
}

/* Génération : compacte visuellement, cible tactile conservée. */
.mm-week-screen .mm-week-actions-bar.is-simplified{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.mm-week-screen .mm-week-generate-primary{
  width:100%!important;
  min-height:44px!important;
  padding:6px 9px!important;
  border-radius:var(--mm-radius-control)!important;
  box-shadow:none!important;
  white-space:nowrap!important;
  font-size:9.8px!important;
  gap:4px!important;
}
.mm-week-screen .mm-week-generate-primary i{
  font-size:13px!important;
}

/* Sur les iPhone courants : navigation et génération partagent une ligne. */
@media(min-width:390px) and (max-width:759px){
  .mm-week-screen .mm-week-primary-controls{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 126px!important;
    align-items:stretch!important;
  }
  .mm-week-screen .mm-week-actions-bar.is-simplified{
    display:block!important;
  }
  .mm-week-screen .mm-week-generate-primary{
    height:44px!important;
  }
}

/* Très petits écrans : priorité à la lisibilité. */
@media(max-width:389px){
  .mm-week-screen .mm-week-primary-controls{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
}

/* Vue Jour : calendrier plus léger. */
.mm-week-screen .mm-week-days{
  gap:4px!important;
  margin:0 0 7px!important;
}
.mm-week-screen .mm-week-day-chip{
  min-height:48px!important;
  padding:3px 1px!important;
  border-radius:12px!important;
}
.mm-week-screen .mm-week-day-heading{
  margin-bottom:6px!important;
}
.mm-week-screen .mm-week-day-title{
  font-size:21px!important;
}

/* Cartes repas du Jour : moins massives, géométrie constante. */
.mm-week-screen .mm-week-day-slots{
  gap:7px!important;
}
.mm-week-screen .mm-week-meal-row{
  grid-template-columns:92px minmax(0,1fr) 32px!important;
  gap:8px!important;
  padding:8px 9px 6px!important;
}
.mm-week-screen .mm-week-meal-thumb{
  width:92px!important;
  height:92px!important;
  min-width:92px!important;
  border-radius:13px!important;
}
.mm-week-screen .mm-week-meal-name{
  font-size:16px!important;
  line-height:1.1!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
.mm-week-screen .mm-week-meal-footer{
  gap:6px!important;
  padding:0 9px 8px!important;
}
.mm-week-screen .mm-week-recipe,
.mm-week-screen .mm-week-eaten{
  min-height:44px!important;
  border-radius:11px!important;
  box-shadow:none!important;
}

/* Vue Semaine : titre de section plus proche des jours. */
.mm-week-screen .mm-week-overview{
  margin-top:0!important;
}
.mm-week-screen .mm-week-overview-toolbar{
  margin:2px 2px 7px!important;
}
.mm-week-screen .mm-week-overview-toolbar strong{
  font-size:17px!important;
}
.mm-week-screen .mm-week-overview-toolbar span{
  font-size:10.2px!important;
}

/* Cartes jour : moins de padding, même structure partout. */
.mm-week-screen .mm-week-overview-list{
  gap:8px!important;
}
.mm-week-screen .mm-week-overview-day{
  padding:8px!important;
  gap:8px!important;
  border-radius:var(--mm-radius-card)!important;
  box-shadow:var(--mm-shadow-card)!important;
}
.mm-week-screen .mm-week-overview-day-head{
  min-height:46px!important;
  padding:0 1px 6px!important;
}
.mm-week-screen .mm-week-overview-date{
  width:40px!important;
  min-width:40px!important;
  height:40px!important;
}
.mm-week-screen .mm-week-overview-day-copy>strong{
  font-size:14px!important;
}
.mm-week-screen .mm-week-overview-day-copy>small{
  font-size:9.3px!important;
}

/* Midi / Soir : mêmes hauteurs, même photo, titres alignés. */
.mm-week-screen .mm-week-overview-main-meals{
  margin-top:7px!important;
  gap:6px!important;
}
.mm-week-screen .mm-week-overview-main-meals .mm-week-overview-meal{
  min-height:70px!important;
  display:flex!important;
}
.mm-week-screen .mm-week-overview-main-meals .mm-week-overview-meal-main,
.mm-week-screen .mm-week-overview-main-meals .mm-week-overview-meal.is-empty{
  min-height:68px!important;
  height:100%!important;
  padding:6px!important;
  gap:6px!important;
}
.mm-week-screen .mm-week-overview-main-meals .mm-week-overview-photo,
.mm-week-screen .mm-week-overview-main-meals .mm-week-overview-empty-icon{
  width:40px!important;
  height:40px!important;
  flex:0 0 40px!important;
}
.mm-week-screen .mm-week-overview-main-meals .mm-week-overview-meal-copy{
  min-height:45px!important;
  justify-content:center!important;
}
.mm-week-screen .mm-week-overview-main-meals .mm-week-overview-meal-copy small{
  font-size:8.5px!important;
}
.mm-week-screen .mm-week-overview-main-meals .mm-week-overview-meal-copy strong{
  min-height:25px!important;
  max-height:38px!important;
  font-size:10.8px!important;
  line-height:1.16!important;
  -webkit-line-clamp:3!important;
}

/* Petit-déjeuner / collation / dessert : compacts mais identiques entre eux. */
.mm-week-screen .mm-week-overview-extras{
  margin-top:7px!important;
  padding-top:6px!important;
}
.mm-week-screen .mm-week-overview-extras-label{
  margin-bottom:4px!important;
}
.mm-week-screen .mm-week-overview-extras-list{
  gap:5px!important;
}
.mm-week-screen .mm-week-overview-meal.is-extra .mm-week-overview-meal-main,
.mm-week-screen .mm-week-overview-meal.is-extra.mm-week-overview-meal.is-empty{
  min-height:82px!important;
  padding:6px!important;
}
.mm-week-screen .mm-week-overview-meal.is-extra .mm-week-overview-photo,
.mm-week-screen .mm-week-overview-meal.is-extra .mm-week-overview-empty-icon{
  width:32px!important;
  height:32px!important;
  flex:0 0 32px!important;
}
.mm-week-screen .mm-week-overview-meal.is-extra .mm-week-overview-meal-copy strong{
  min-height:23px!important;
  max-height:35px!important;
  font-size:9.8px!important;
  line-height:1.15!important;
  -webkit-line-clamp:3!important;
}

/* Sombre : aucune ombre claire supplémentaire. */
html[data-menumia-theme="dark"] .mm-week-screen .mm-week-summary-toggle,
html[data-menumia-theme="dark"] .mm-week-screen .mm-week-nav-premium{
  background:var(--mm-card)!important;
  border-color:var(--mm-line)!important;
  box-shadow:none!important;
}
html[data-menumia-theme="dark"] .mm-week-screen .mm-week-overview-day{
  box-shadow:var(--mm-shadow-card)!important;
}

@media(max-width:380px){
  .mm-week-screen .mm-week-meal-row{
    grid-template-columns:86px minmax(0,1fr) 30px!important;
    gap:7px!important;
  }
  .mm-week-screen .mm-week-meal-thumb{
    width:86px!important;
    height:86px!important;
    min-width:86px!important;
  }
}


/* ============================================================
   V606.1 — STATISTIQUES + REGLAGES
   Métriques homogènes, détails et graphiques affinés,
   hub Réglages aligné et footer version intégré.
============================================================ */

/* Les deux écrans secondaires partagent le même rythme de header. */
.mm-stats-screen .mm-secondary-root-header,
.mm-settings-screen .mm-secondary-root-header{
  margin-bottom:12px!important;
}
.mm-stats-screen .mm-secondary-root-header>div,
.mm-settings-screen .mm-secondary-root-header>div{
  min-width:0!important;
}
.mm-stats-screen .mm-secondary-root-title,
.mm-settings-screen .mm-secondary-root-title{
  line-height:1.02!important;
}
.mm-stats-screen .mm-secondary-root-subtitle,
.mm-settings-screen .mm-secondary-root-subtitle{
  margin-top:3px!important;
}

/* Statistiques — période plus légère. */
.mm-stats-screen .mm-stats-period-switch{
  gap:3px!important;
  margin-bottom:10px!important;
  padding:3px!important;
  border-radius:var(--mm-radius-control)!important;
  background:var(--mm-soft)!important;
}
.mm-stats-screen .mm-stats-period-switch>button{
  min-height:44px!important;
  padding:6px 5px!important;
  border-radius:11px!important;
  font-size:10px!important;
  box-shadow:none!important;
}
.mm-stats-screen .mm-stats-period-switch>button.is-active{
  background:var(--mm-card)!important;
  color:var(--mm-prune-text)!important;
  box-shadow:var(--mm-shadow-card)!important;
}

/* Trois métriques : exactement la même géométrie numérique. */
.mm-stats-screen .mm-stats-summary-grid.is-essential{
  gap:7px!important;
  margin-bottom:9px!important;
}
.mm-stats-screen .mm-stats-summary-grid.is-essential .mm-stats-summary-card{
  min-width:0!important;
  min-height:72px!important;
  padding:9px 6px!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  border-radius:var(--mm-radius-control)!important;
  border-color:var(--mm-line)!important;
  box-shadow:var(--mm-shadow-card)!important;
}
.mm-stats-screen .mm-stats-summary-value{
  min-height:23px!important;
  display:flex!important;
  align-items:baseline!important;
  justify-content:center!important;
  gap:2px!important;
  color:var(--mm-prune-deep)!important;
  font-family:var(--mm-display),Georgia,serif!important;
  font-size:19px!important;
  font-variant-numeric:tabular-nums!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.mm-stats-screen .mm-stats-rating-star{
  margin-left:0!important;
  font-size:11px!important;
  line-height:1!important;
  vertical-align:0!important;
  color:var(--mm-warning)!important;
}
.mm-stats-screen .mm-stats-summary-card>span{
  min-height:21px!important;
  margin-top:4px!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
  font-size:8.5px!important;
  line-height:1.18!important;
  text-align:center!important;
}

/* Insight : conserve l'information, moins de poids visuel. */
.mm-stats-screen .mm-stats-insight{
  margin-bottom:9px!important;
  padding:9px 10px!important;
  grid-template-columns:30px minmax(0,1fr)!important;
  gap:8px!important;
  border-radius:var(--mm-radius-control)!important;
  border-color:var(--mm-line)!important;
  background:var(--mm-soft)!important;
}
.mm-stats-screen .mm-stats-insight>span{
  width:30px!important;
  height:30px!important;
  border-radius:9px!important;
}
.mm-stats-screen .mm-stats-insight>span i{
  font-size:14px!important;
}
.mm-stats-screen .mm-stats-insight>div>strong{
  font-size:11px!important;
}
.mm-stats-screen .mm-stats-insight p{
  margin-top:2px!important;
  font-size:9.8px!important;
}

/* "Voir le détail" devient une vraie ligne de section compacte. */
.mm-stats-screen .mm-stats-details-toggle{
  min-height:44px!important;
  margin:7px 0 9px!important;
  padding:4px 7px 4px 9px!important;
  border-radius:var(--mm-radius-control)!important;
  border-color:var(--mm-line)!important;
  background:transparent!important;
  box-shadow:none!important;
}
.mm-stats-screen .mm-stats-details-toggle>span{
  gap:7px!important;
}
.mm-stats-screen .mm-stats-details-toggle>span i{
  width:28px!important;
  height:28px!important;
  border-radius:9px!important;
  background:var(--mm-soft)!important;
  font-size:14px!important;
}
.mm-stats-screen .mm-stats-details-toggle strong{
  font-size:10.8px!important;
}
.mm-stats-screen .mm-stats-details-toggle>i{
  width:28px!important;
  height:28px!important;
  display:grid!important;
  place-items:center!important;
  font-size:14px!important;
}

/* Cartes de détail et graphiques. */
.mm-stats-screen .mm-stats-details{
  gap:9px!important;
}
.mm-stats-screen .mm-stats-card{
  margin-bottom:0!important;
  padding:13px!important;
  border-radius:var(--mm-radius-card)!important;
  border-color:var(--mm-line)!important;
  box-shadow:var(--mm-shadow-card)!important;
}
.mm-stats-screen .mm-stats-card-title{
  gap:7px!important;
  margin-bottom:10px!important;
}
.mm-stats-screen .mm-stats-card-title>span{
  width:28px!important;
  height:28px!important;
  border-radius:9px!important;
  background:var(--mm-soft)!important;
}
.mm-stats-screen .mm-stats-card-title>span i{
  font-size:14px!important;
}
.mm-stats-screen .mm-stats-card-title>strong{
  font-size:11.2px!important;
}
.mm-stats-screen .mm-stats-bars{
  gap:9px!important;
}
.mm-stats-screen .mm-stats-bar-label{
  margin-bottom:4px!important;
  gap:10px!important;
  font-size:10.8px!important;
  line-height:1.2!important;
}
.mm-stats-screen .mm-stats-bar-label>span:first-child{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.mm-stats-screen .mm-stats-bar-label>span:last-child{
  flex:0 0 auto!important;
  font-variant-numeric:tabular-nums!important;
}
.mm-stats-screen .mm-stats-bar-track{
  height:6px!important;
  border-radius:999px!important;
}
.mm-stats-screen .mm-stats-bar-fill{
  border-radius:999px!important;
}
.mm-stats-screen .mm-stats-donut-layout{
  gap:14px!important;
  flex-wrap:nowrap!important;
}
.mm-stats-screen .mm-stats-donut{
  width:96px!important;
  height:96px!important;
}
.mm-stats-screen .mm-stats-legend{
  gap:7px!important;
  min-width:0!important;
}
.mm-stats-screen .mm-stats-legend-row{
  min-height:20px!important;
  gap:6px!important;
  font-size:10.8px!important;
}
.mm-stats-screen .mm-stats-legend-row>span:nth-child(2){
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.mm-stats-screen .mm-stats-legend-row>span:last-child{
  flex:0 0 auto!important;
  min-width:30px!important;
  text-align:right!important;
  font-variant-numeric:tabular-nums!important;
}

/* Réglages — groupe, lignes et centres optiques. */
.mm-settings-screen .mm-settings-hub-section{
  margin-bottom:0!important;
}
.mm-settings-screen .mm-settings-hub-group{
  overflow:hidden!important;
  border-radius:var(--mm-radius-card)!important;
  border-color:var(--mm-line)!important;
  background:var(--mm-card)!important;
  box-shadow:var(--mm-shadow-card)!important;
}
.mm-settings-screen .mm-settings-hub-item{
  min-height:66px!important;
  grid-template-columns:38px minmax(0,1fr) 28px!important;
  gap:11px!important;
  padding:10px 12px!important;
  border-bottom-color:var(--mm-line)!important;
}
.mm-settings-screen .mm-settings-hub-item:last-child{
  border-bottom:0!important;
}
.mm-settings-screen .mm-settings-hub-icon{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  border-radius:12px!important;
  background:var(--mm-soft)!important;
  color:var(--mm-prune-text)!important;
}
.mm-settings-screen .mm-settings-hub-icon i{
  display:block!important;
  margin:0!important;
  font-size:18px!important;
  line-height:1!important;
}
.mm-settings-screen .mm-settings-hub-copy{
  gap:3px!important;
}
.mm-settings-screen .mm-settings-hub-title-row{
  gap:6px!important;
  flex-wrap:nowrap!important;
}
.mm-settings-screen .mm-settings-hub-title-row strong{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:12.5px!important;
}
.mm-settings-screen .mm-settings-hub-copy small{
  font-size:10px!important;
  line-height:1.25!important;
}
.mm-settings-screen .mm-settings-hub-chevron{
  width:28px!important;
  height:44px!important;
  margin:0!important;
  display:grid!important;
  place-items:center!important;
  justify-self:end!important;
  color:var(--mm-faint)!important;
  font-size:15px!important;
  line-height:1!important;
}

/* Badge éventuel aligné sans pousser le titre. */
.mm-settings-screen .mm-settings-hub-badge{
  flex:0 0 auto!important;
  padding:2px 6px!important;
  font-size:8px!important;
}

/* Footer version : présent, mais traité comme un footer et non comme du contenu vide. */
.mm-settings-screen .mm-settings-version{
  margin-top:14px!important;
  padding-top:12px!important;
  border-top:1px solid var(--mm-line)!important;
  color:var(--mm-faint)!important;
  font-size:9.5px!important;
  line-height:1.3!important;
  letter-spacing:.01em!important;
}

/* Sous-pages Réglages : même entrée visuelle que le hub. */
.mm-settings-screen .mm-settings-subpage-header{
  margin-bottom:8px!important;
}
.mm-settings-screen .mm-settings-subpage-intro{
  margin-bottom:12px!important;
  font-size:10.8px!important;
}

/* Mode sombre */
html[data-menumia-theme="dark"] .mm-stats-screen .mm-stats-period-switch>button.is-active,
html[data-menumia-theme="dark"] .mm-stats-screen .mm-stats-summary-card,
html[data-menumia-theme="dark"] .mm-stats-screen .mm-stats-card,
html[data-menumia-theme="dark"] .mm-settings-screen .mm-settings-hub-group{
  background:var(--mm-card)!important;
  border-color:var(--mm-line)!important;
}
html[data-menumia-theme="dark"] .mm-stats-screen .mm-stats-details-toggle{
  background:transparent!important;
  border-color:var(--mm-line)!important;
  box-shadow:none!important;
}
html[data-menumia-theme="dark"] .mm-stats-screen .mm-stats-insight,
html[data-menumia-theme="dark"] .mm-stats-screen .mm-stats-card-title>span,
html[data-menumia-theme="dark"] .mm-stats-screen .mm-stats-details-toggle>span i,
html[data-menumia-theme="dark"] .mm-settings-screen .mm-settings-hub-icon{
  background:var(--mm-soft)!important;
}
html[data-menumia-theme="dark"] .mm-settings-screen .mm-settings-version{
  border-top-color:var(--mm-line)!important;
  color:var(--mm-token-muted)!important;
}

@media(max-width:365px){
  .mm-stats-screen .mm-stats-summary-grid.is-essential{
    gap:5px!important;
  }
  .mm-stats-screen .mm-stats-summary-grid.is-essential .mm-stats-summary-card{
    padding-inline:4px!important;
  }
  .mm-stats-screen .mm-stats-summary-value{
    font-size:18px!important;
  }
  .mm-stats-screen .mm-stats-summary-card>span{
    font-size:8px!important;
  }
  .mm-stats-screen .mm-stats-donut{
    width:88px!important;
    height:88px!important;
  }
  .mm-settings-screen .mm-settings-hub-item{
    grid-template-columns:36px minmax(0,1fr) 24px!important;
    gap:9px!important;
    padding-inline:10px!important;
  }
  .mm-settings-screen .mm-settings-hub-icon{
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
  }
}


/* ============================================================
   V607.1 — ASSISTANT + SHEETS + MODALES
   Poignée, header, fermeture, rayons, ombres et espacements
   harmonisés sur les panneaux de l'application.
============================================================ */

:root{
  --mm-sheet-radius:24px;
  --mm-sheet-padding-x:16px;
  --mm-sheet-handle-w:36px;
  --mm-sheet-handle-h:4px;
}

/* Overlays : même profondeur et même flou. */
.mm-sheet-overlay,
.mm-courses-frigo-sheet-overlay,
.mm-shopping-category-move-overlay,
.mm-recipe-detail-overlay,
#mm-fridge-sheet-backdrop,
.mm-assistant-backdrop{
  background:rgba(35,24,34,.32)!important;
  backdrop-filter:blur(4px)!important;
  -webkit-backdrop-filter:blur(4px)!important;
}

/* Bottom sheet générique. */
.mm-bottom-sheet,
.mm-courses-frigo-sheet{
  width:100%!important;
  box-sizing:border-box!important;
  border:1px solid var(--mm-line)!important;
  border-bottom:0!important;
  border-radius:var(--mm-sheet-radius) var(--mm-sheet-radius) 0 0!important;
  background:var(--mm-card)!important;
  box-shadow:var(--mm-shadow-float)!important;
  padding:8px var(--mm-sheet-padding-x) max(18px,env(safe-area-inset-bottom))!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
}

/* Poignée commune. */
.mm-sheet-handle,
.mm-assistant-handle{
  width:var(--mm-sheet-handle-w)!important;
  height:var(--mm-sheet-handle-h)!important;
  min-height:var(--mm-sheet-handle-h)!important;
  margin:2px auto 7px!important;
  border-radius:999px!important;
  background:var(--mm-line-strong)!important;
  opacity:.7!important;
  flex:0 0 auto!important;
}

/* Header commun : titre à gauche, fermeture à droite. */
.mm-sheet-header{
  min-height:44px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-bottom:8px!important;
}
.mm-sheet-title{
  min-width:0!important;
  color:var(--mm-prune-deep)!important;
  font-family:var(--mm-display),Georgia,serif!important;
  font-size:18px!important;
  font-weight:750!important;
  line-height:1.15!important;
  letter-spacing:-.02em!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.mm-sheet-close{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
  flex:0 0 44px!important;
  padding:0!important;
  border:0!important;
  border-radius:12px!important;
  background:transparent!important;
  color:var(--mm-muted)!important;
  display:grid!important;
  place-items:center!important;
  cursor:pointer!important;
}
.mm-sheet-close::before{
  content:"";
  position:absolute;
  width:34px;
  height:34px;
  border-radius:11px;
  background:var(--mm-soft);
  z-index:-1;
}
.mm-sheet-close{
  position:relative!important;
  z-index:0!important;
}
.mm-sheet-close .ti{
  display:block!important;
  margin:0!important;
  font-size:18px!important;
  line-height:1!important;
}
.mm-sheet-close:active::before{
  background:var(--mm-prune-soft)!important;
}
.mm-sheet-close-only{
  margin:-2px 0 4px auto!important;
}
.mm-sheet-content{
  min-width:0!important;
}

/* Assistant : même coque et même header que les autres panneaux. */
.mm-assistant-sheet{
  border:1px solid var(--mm-line)!important;
  border-bottom:0!important;
  border-radius:var(--mm-sheet-radius) var(--mm-sheet-radius) 0 0!important;
  background:var(--mm-card)!important;
  box-shadow:var(--mm-shadow-float)!important;
}
.mm-assistant-handle{
  margin:8px auto 3px!important;
}
.mm-assistant-header{
  min-height:52px!important;
  padding:5px 16px 9px!important;
  gap:10px!important;
  border:0!important;
  background:var(--mm-card)!important;
}
.mm-assistant-header-main{
  min-width:0!important;
}
.mm-assistant-title{
  gap:9px!important;
}
.mm-assistant-mark{
  width:36px!important;
  height:36px!important;
  flex:0 0 36px!important;
  border-radius:11px!important;
  background:var(--mm-soft)!important;
}
.mm-assistant-mark .ti{
  font-size:17px!important;
}
.mm-assistant-title b{
  font-size:17px!important;
  line-height:1.08!important;
}
.mm-assistant-title small{
  margin-top:2px!important;
  font-size:10.3px!important;
}
.mm-assistant-close{
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
  flex:0 0 44px!important;
  padding:0!important;
  border:0!important;
  border-radius:12px!important;
  background:transparent!important;
  display:grid!important;
  place-items:center!important;
}
.mm-assistant-close .ti{
  width:34px!important;
  height:34px!important;
  border-radius:11px!important;
  background:var(--mm-soft)!important;
  display:grid!important;
  place-items:center!important;
  font-size:18px!important;
  line-height:1!important;
}
.mm-assistant-content{
  padding:6px 16px 16px!important;
}

/* Les actions rapides Assistant reprennent les rayons du design system. */
.mm-assistant-welcome,
.mm-assistant-quick-card,
.mm-assistant-result,
.mm-assistant-bubble{
  border-radius:var(--mm-radius-card)!important;
}
.mm-assistant-quick-card{
  box-shadow:none!important;
  border-color:var(--mm-line)!important;
}

/* Options de semaine : lignes de panneau cohérentes. */
.mm-week-tools-sheet{
  display:grid!important;
  gap:7px!important;
}
.mm-week-tools-sheet>button,
.mm-week-tools-date{
  min-height:58px!important;
  padding:8px 10px!important;
  border:1px solid var(--mm-line)!important;
  border-radius:var(--mm-radius-control)!important;
  background:var(--mm-soft)!important;
  box-shadow:none!important;
}
.mm-week-tools-sheet>button>i:first-child,
.mm-week-tools-date>span>i{
  width:34px!important;
  height:34px!important;
  border-radius:10px!important;
  background:var(--mm-card)!important;
  color:var(--mm-prune-text)!important;
  font-size:15px!important;
}
.mm-week-tools-sheet strong{
  font-size:11.5px!important;
}
.mm-week-tools-sheet small{
  font-size:9.5px!important;
}
.mm-week-tools-date input{
  min-height:40px!important;
  max-width:120px!important;
  border:1px solid var(--mm-line-strong)!important;
  border-radius:10px!important;
  background:var(--mm-card)!important;
}

/* Gérer un repas : même densité que les autres sheets. */
.mm-week-organize-sheet{
  gap:7px!important;
}
.mm-week-organize-sheet-summary{
  padding:0 2px 8px!important;
}
.mm-week-organize-sheet-summary strong{
  font-size:18px!important;
}
.mm-week-organize-sheet>button{
  min-height:58px!important;
  padding:8px 10px!important;
  border-radius:var(--mm-radius-control)!important;
  border:1px solid var(--mm-line)!important;
  background:var(--mm-soft)!important;
  box-shadow:none!important;
}
.mm-week-organize-sheet>button>i:first-child{
  width:34px!important;
  height:34px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:10px!important;
  background:var(--mm-card)!important;
  font-size:15px!important;
}
.mm-week-organize-sheet>button.is-primary{
  border-color:rgba(90,61,92,.16)!important;
  background:var(--mm-prune-soft)!important;
}
.mm-week-organize-sheet>button.is-danger{
  background:var(--mm-error-soft)!important;
  border-color:rgba(193,67,46,.12)!important;
}

/* Courses / Frigo : custom sheet alignée sur le générique. */
.mm-courses-frigo-sheet{
  max-height:86dvh!important;
}
.mm-courses-frigo-sheet .mm-sheet-header{
  margin-bottom:7px!important;
}
.mm-courses-frigo-sheet .mm-sheet-content{
  padding-bottom:2px!important;
}

/* Déplacement de catégorie : reste un sheet compact, mais même coque. */
.mm-shopping-category-move-overlay{
  padding:0!important;
}
.mm-shopping-category-move-sheet{
  width:min(100%,430px)!important;
  max-height:82dvh!important;
  padding:8px 12px max(16px,env(safe-area-inset-bottom))!important;
  border:1px solid var(--mm-line)!important;
  border-bottom:0!important;
  border-radius:var(--mm-sheet-radius) var(--mm-sheet-radius) 0 0!important;
  background:var(--mm-card)!important;
  box-shadow:var(--mm-shadow-float)!important;
}
.mm-shopping-category-move-head{
  min-height:44px!important;
  padding:0 2px 8px!important;
}
.mm-shopping-category-move-head>button{
  width:44px!important;
  height:44px!important;
  padding:0!important;
  border-radius:12px!important;
  background:transparent!important;
  position:relative!important;
  z-index:0!important;
}
.mm-shopping-category-move-head>button::before{
  content:"";
  position:absolute;
  width:34px;
  height:34px;
  border-radius:11px;
  background:var(--mm-soft);
  z-index:-1;
}
.mm-shopping-category-move-head>button i{
  font-size:18px!important;
}
.mm-shopping-category-move-grid{
  gap:7px!important;
}
.mm-shopping-category-move-grid>button{
  min-height:54px!important;
  border-radius:var(--mm-radius-control)!important;
  border-color:var(--mm-line)!important;
  background:var(--mm-card)!important;
}

/* Ajout Frigo/Congélateur : même poignée/header que les sheets. */
.mm-fridge-add-form{
  border:1px solid var(--mm-line)!important;
  border-bottom:0!important;
  border-radius:var(--mm-sheet-radius) var(--mm-sheet-radius) 0 0!important;
  background:var(--mm-card)!important;
  box-shadow:var(--mm-shadow-float)!important;
  padding-top:8px!important;
}
.mm-fridge-add-form::before{
  content:"";
  flex:1 1 100%;
  width:var(--mm-sheet-handle-w);
  max-width:var(--mm-sheet-handle-w);
  height:var(--mm-sheet-handle-h);
  margin:0 auto -2px;
  border-radius:999px;
  background:var(--mm-line-strong);
  opacity:.7;
}
.mm-fridge-sheet-head{
  min-height:48px!important;
}
.mm-fridge-sheet-head strong{
  font-family:var(--mm-display),Georgia,serif!important;
  font-size:18px!important;
  line-height:1.1!important;
}
.mm-fridge-sheet-head span{
  margin-top:2px!important;
  font-size:10.5px!important;
}
.mm-fridge-sheet-close{
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
  border-radius:12px!important;
  background:transparent!important;
}
.mm-fridge-sheet-close i{
  width:34px!important;
  height:34px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:11px!important;
  background:var(--mm-soft)!important;
  font-size:18px!important;
}

/* Fiche recette : modal visuel spécial, mais même rayon/ombre de coque. */
.mm-recipe-detail-overlay{
  background:rgba(35,24,34,.40)!important;
}
.mm-recipe-detail-sheet{
  border:1px solid var(--mm-line)!important;
  border-bottom:0!important;
  border-radius:var(--mm-sheet-radius) var(--mm-sheet-radius) 0 0!important;
  box-shadow:var(--mm-shadow-float)!important;
}
.mm-recipe-detail-sheet>div:first-child{
  border-radius:var(--mm-sheet-radius) var(--mm-sheet-radius) 0 0!important;
}
.mm-recipe-detail-sheet>div:first-child>button[aria-label="Retour"],
.mm-recipe-detail-sheet>div:first-child>button[aria-label="Partager la recette"]{
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
  top:12px!important;
  background:rgba(255,255,255,.94)!important;
  box-shadow:0 3px 12px rgba(35,24,34,.12)!important;
}

/* Sombre : les surfaces ne recréent pas d'ombres claires. */
html[data-menumia-theme="dark"] .mm-bottom-sheet,
html[data-menumia-theme="dark"] .mm-courses-frigo-sheet,
html[data-menumia-theme="dark"] .mm-shopping-category-move-sheet,
html[data-menumia-theme="dark"] .mm-fridge-add-form,
html[data-menumia-theme="dark"] .mm-assistant-sheet,
html[data-menumia-theme="dark"] .mm-recipe-detail-sheet{
  background:var(--mm-card)!important;
  border-color:var(--mm-line)!important;
  box-shadow:0 -14px 38px rgba(0,0,0,.30)!important;
}
html[data-menumia-theme="dark"] .mm-sheet-handle,
html[data-menumia-theme="dark"] .mm-assistant-handle{
  background:var(--mm-line-strong)!important;
}
html[data-menumia-theme="dark"] .mm-sheet-title,
html[data-menumia-theme="dark"] .mm-fridge-sheet-head strong{
  color:var(--mm-token-ink)!important;
}
html[data-menumia-theme="dark"] .mm-sheet-close::before,
html[data-menumia-theme="dark"] .mm-assistant-close .ti,
html[data-menumia-theme="dark"] .mm-fridge-sheet-close i,
html[data-menumia-theme="dark"] .mm-shopping-category-move-head>button::before,
html[data-menumia-theme="dark"] .mm-week-tools-sheet>button>i:first-child,
html[data-menumia-theme="dark"] .mm-week-tools-date>span>i,
html[data-menumia-theme="dark"] .mm-week-organize-sheet>button>i:first-child{
  background:var(--mm-soft)!important;
  color:var(--mm-prune-text)!important;
}
html[data-menumia-theme="dark"] .mm-week-tools-sheet>button,
html[data-menumia-theme="dark"] .mm-week-tools-date,
html[data-menumia-theme="dark"] .mm-week-organize-sheet>button{
  background:var(--mm-soft)!important;
  border-color:var(--mm-line)!important;
}
html[data-menumia-theme="dark"] .mm-week-tools-date input,
html[data-menumia-theme="dark"] .mm-shopping-category-move-grid>button{
  background:var(--mm-card)!important;
  border-color:var(--mm-line)!important;
  color:var(--mm-token-ink)!important;
}

/* Mobile : hauteur sûre et contenu respirant sans gaspiller d'espace. */
@media(max-width:759px){
  .mm-bottom-sheet,
  .mm-courses-frigo-sheet{
    max-height:88dvh!important;
  }
  .mm-sheet-title{
    font-size:17px!important;
  }
  .mm-assistant-sheet{
    height:min(82dvh,760px)!important;
    max-height:82dvh!important;
  }
}


/* ============================================================
   V608.1 — PASSE FINALE GLOBALE
   Garde-fous de finition : débordements, focus, états désactivés,
   cohérence clair/sombre et surfaces historiques résiduelles.
   La géométrie validée de la navigation basse n'est pas modifiée.
============================================================ */

/* Aucun écran principal ne doit créer de débordement horizontal. */
.mm-home,
.mm-week-screen,
.mm-library-screen,
.mm-shopping-screen,
.mm-fridge-screen,
.mm-stats-screen,
.mm-settings-screen,
.mm-secondary-screen{
  min-width:0!important;
  max-width:100%!important;
}

.mm-app img,
.mm-app svg{
  max-width:100%;
}

.mm-app input,
.mm-app select,
.mm-app textarea{
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* Les contenus flex/grid longs doivent pouvoir réellement rétrécir. */
.mm-topbar,
.mm-topbar>*,
.mm-page-heading,
.mm-secondary-root-header,
.mm-secondary-root-header>div,
.mm-functional-page-title-row,
.mm-fridge-title-row,
.mm-week-heading,
.mm-shopping-item-copy,
.mm-fridge-item-copy,
.mm-library-copy,
.mm-settings-hub-copy,
.mm-assistant-title,
.mm-sheet-title{
  min-width:0!important;
}

/* Focus clavier uniforme sur toute l'application. */
.mm-app button:focus-visible,
.mm-app [role="button"]:focus-visible,
.mm-app a:focus-visible,
.mm-app input:focus-visible,
.mm-app select:focus-visible,
.mm-app textarea:focus-visible{
  outline:none!important;
  box-shadow:var(--mm-focus)!important;
}

/* États désactivés cohérents et sans faux affordance. */
.mm-app button:disabled,
.mm-app input:disabled,
.mm-app select:disabled,
.mm-app textarea:disabled,
.mm-app [aria-disabled="true"]{
  opacity:.48!important;
  cursor:default!important;
}

/* Contrôles icône-only encore hérités : même centrage tactile. */
.mm-functional-head-action,
.mm-fridge-more,
.mm-fridge-visual-title>button,
.mm-shopping-category-move-head>button{
  display:grid!important;
  place-items:center!important;
  line-height:1!important;
}
.mm-functional-head-action>.ti,
.mm-fridge-more>.ti,
.mm-fridge-visual-title>button>.ti,
.mm-shopping-category-move-head>button>.ti{
  margin:0!important;
  line-height:1!important;
}

/* Titres / sous-titres : aucun chevauchement ou dépassement. */
.mm-functional-page-title,
.mm-fridge-title-row h1,
.mm-secondary-root-title,
.mm-week-heading>div:first-child,
.mm-page-heading>div:first-child{
  overflow-wrap:anywhere;
}
.mm-secondary-root-subtitle,
.mm-page-subtitle,
.mm-fridge-title-row p,
.mm-week-heading>div:last-child{
  overflow-wrap:anywhere;
}

/* Scrollers horizontaux : propres, sans scrollbar résiduelle. */
.mm-library-source-scroll,
.mm-fridge-mock-filters,
.mm-assistant-chips,
.mm-home-upcoming-scroll{
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
}
.mm-library-source-scroll::-webkit-scrollbar,
.mm-fridge-mock-filters::-webkit-scrollbar,
.mm-assistant-chips::-webkit-scrollbar,
.mm-home-upcoming-scroll::-webkit-scrollbar{
  display:none!important;
}

/* Champs de recherche et actions de tête : mêmes surfaces. */
.mm-fridge-screen .mm-fridge-mock-search input,
.mm-library-screen .mm-library-search-wrap input{
  border-color:var(--mm-line)!important;
  background:var(--mm-card)!important;
  color:var(--mm-ink)!important;
  box-shadow:none!important;
}
.mm-functional-head-action,
.mm-fridge-more{
  border:1px solid var(--mm-line)!important;
  border-radius:var(--mm-radius-control)!important;
  background:var(--mm-card)!important;
  color:var(--mm-prune-text)!important;
  box-shadow:none!important;
}

/* Frigo : derniers composants historiques alignés sur le Design System. */
.mm-fridge-native-grid,
.mm-fridge-stats>div,
.mm-fridge-quick-filter,
.mm-fridge-detail-row,
.mm-fridge-detail-action,
.mm-fridge-detail-delete{
  border-color:var(--mm-line)!important;
  box-shadow:var(--mm-shadow-card)!important;
}
.mm-fridge-native-grid,
.mm-fridge-stats>div{
  border-radius:var(--mm-radius-card)!important;
}
.mm-fridge-quick-filter,
.mm-fridge-detail-row,
.mm-fridge-detail-action,
.mm-fridge-detail-delete{
  border-radius:var(--mm-radius-control)!important;
}
.mm-fridge-cat-icon,
.mm-fridge-stats i{
  display:grid!important;
  place-items:center!important;
  line-height:1!important;
}
.mm-fridge-cat-icon i,
.mm-fridge-stats i{
  line-height:1!important;
}

/* Les nombres restent stables visuellement dans listes/statistiques. */
.mm-shopping-item-qty,
.mm-fridge-item-qty,
.mm-fridge-row-qty-display,
.mm-fridge-detail-qty,
.mm-stats-summary-value,
.mm-stats-bar-label>span:last-child,
.mm-stats-legend-row>span:last-child{
  font-variant-numeric:tabular-nums!important;
}

/* Surfaces sombres manquantes provenant encore de fridge-mockup.css. */
html[data-menumia-theme="dark"] .mm-fridge-mock-search input,
html[data-menumia-theme="dark"] .mm-fridge-more,
html[data-menumia-theme="dark"] .mm-functional-head-action,
html[data-menumia-theme="dark"] .mm-fridge-native-grid,
html[data-menumia-theme="dark"] .mm-fridge-stats>div,
html[data-menumia-theme="dark"] .mm-fridge-quick-filter,
html[data-menumia-theme="dark"] .mm-fridge-detail-row,
html[data-menumia-theme="dark"] .mm-fridge-detail-action,
html[data-menumia-theme="dark"] .mm-fridge-detail-delete{
  background:var(--mm-card)!important;
  border-color:var(--mm-line)!important;
  color:var(--mm-token-ink)!important;
  box-shadow:var(--mm-shadow-card)!important;
}
html[data-menumia-theme="dark"] .mm-fridge-mock-search>i,
html[data-menumia-theme="dark"] .mm-fridge-more,
html[data-menumia-theme="dark"] .mm-functional-head-action,
html[data-menumia-theme="dark"] .mm-fridge-cat-icon{
  color:var(--mm-prune-text)!important;
}
html[data-menumia-theme="dark"] .mm-fridge-cat-icon{
  background:var(--mm-prune-soft)!important;
}
html[data-menumia-theme="dark"] .mm-fridge-item-qty,
html[data-menumia-theme="dark"] .mm-fridge-detail-qty>strong,
html[data-menumia-theme="dark"] .mm-fridge-detail-date strong{
  color:var(--mm-token-ink)!important;
}
html[data-menumia-theme="dark"] .mm-fridge-detail-delete{
  color:var(--mm-token-error)!important;
  background:var(--mm-token-error-soft)!important;
}

/* États vides / inline : même contraste dans les deux thèmes. */
.mm-empty-inline,
.mm-empty-state-description{
  color:var(--mm-muted)!important;
}
html[data-menumia-theme="dark"] .mm-empty-state-title{
  color:var(--mm-token-ink)!important;
}
html[data-menumia-theme="dark"] .mm-empty-inline,
html[data-menumia-theme="dark"] .mm-empty-state-description{
  color:var(--mm-token-muted)!important;
}

/* Mobile : protège les titres et actions sur les écrans les plus étroits. */
@media(max-width:759px){
  .mm-functional-page-title-row,
  .mm-fridge-title-row{
    gap:10px!important;
  }

  .mm-functional-page-title,
  .mm-fridge-title-row>div:first-child{
    min-width:0!important;
  }

  .mm-fridge-head-actions{
    flex:0 0 auto!important;
  }

  .mm-functional-head-action,
  .mm-fridge-more{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
  }

  /* Empêche iOS de zoomer sur les vrais champs de saisie. */
  .mm-app input[type="text"],
  .mm-app input[type="search"],
  .mm-app input[type="email"],
  .mm-app input[type="password"],
  .mm-app input[type="number"],
  .mm-app textarea{
    font-size:max(16px,1em)!important;
  }
}

/* Desktop : garde les contenus secondaires lisibles sans les étirer. */
@media(min-width:1100px){
  .mm-stats-screen,
  .mm-settings-screen,
  .mm-library-screen,
  .mm-shopping-screen,
  .mm-fridge-screen{
    min-width:0!important;
  }

  .mm-bottom-sheet,
  .mm-courses-frigo-sheet,
  .mm-shopping-category-move-sheet,
  .mm-assistant-sheet{
    border-left:1px solid var(--mm-line)!important;
    border-right:1px solid var(--mm-line)!important;
  }
}

/* Respect du réglage système sans changer la mise en page. */
@media(prefers-reduced-motion:reduce){
  .mm-app *,
  .mm-app *::before,
  .mm-app *::after{
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
  }
}


/* ============================================================
   V609.1 — MENUS + CTA ACCUEIL + CHARGEMENT PHOTOS
   CTA principal recentré, navigation de semaine lisible et
   images visibles chargées en priorité côté composants.
============================================================ */

/* Accueil : le texte reste parfaitement centré, la flèche ne le décale plus. */
.mm-ui-v2-common .mm-home-primary-actions>button:first-child{
  position:relative!important;
  min-height:44px!important;
  padding:0 18px!important;
  justify-content:center!important;
  gap:0!important;
  border-radius:13px!important;
  line-height:1!important;
}
.mm-ui-v2-common .mm-home-primary-actions>button:first-child>i{
  position:absolute!important;
  right:16px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  margin:0!important;
  font-size:18px!important;
  line-height:1!important;
}

/* Menus : la date ne partage plus sa largeur avec le bouton Générer. */
@media(max-width:759px){
  .mm-week-screen .mm-week-primary-controls{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:7px!important;
    margin-bottom:7px!important;
  }

  .mm-week-screen .mm-week-nav-premium{
    width:100%!important;
    grid-template-columns:44px minmax(0,1fr) 44px 44px!important;
    padding:2px 4px!important;
    box-sizing:border-box!important;
  }

  .mm-week-screen .mm-week-nav-premium>button:not(.mm-week-tools-trigger),
  .mm-week-screen .mm-week-nav-premium .mm-week-tools-trigger{
    width:44px!important;
    min-width:44px!important;
    height:44px!important;
    min-height:44px!important;
  }

  .mm-week-screen .mm-week-nav-label{
    min-width:0!important;
    padding-inline:6px!important;
    overflow:visible!important;
    text-overflow:clip!important;
    white-space:nowrap!important;
    font-size:13px!important;
    line-height:1.1!important;
  }

  .mm-week-screen .mm-week-actions-bar.is-simplified{
    width:100%!important;
    display:flex!important;
    justify-content:center!important;
  }

  .mm-week-screen .mm-week-generate-primary{
    width:calc(100% - 12px)!important;
    max-width:none!important;
    min-height:44px!important;
    height:44px!important;
    margin:0 6px!important;
    padding:0 14px!important;
    border-radius:13px!important;
    font-size:11px!important;
    gap:6px!important;
  }
}

/* Sur les écrans très étroits, le libellé reste complet sans prendre le dessus. */
@media(max-width:365px){
  .mm-week-screen .mm-week-nav-premium{
    grid-template-columns:40px minmax(0,1fr) 40px 40px!important;
  }

  .mm-week-screen .mm-week-nav-premium>button:not(.mm-week-tools-trigger),
  .mm-week-screen .mm-week-nav-premium .mm-week-tools-trigger{
    width:40px!important;
    min-width:40px!important;
  }

  .mm-week-screen .mm-week-nav-label{
    padding-inline:3px!important;
    font-size:11.5px!important;
  }
}

/* Pendant le décodage réseau, les zones photo gardent une surface stable. */
.mm-library-photo-wrap,
.mm-home-upcoming-media,
.mm-week-meal-thumb,
.mm-week-overview-photo{
  background-color:var(--mm-soft)!important;
}

html[data-menumia-theme="dark"] .mm-library-photo-wrap,
html[data-menumia-theme="dark"] .mm-home-upcoming-media,
html[data-menumia-theme="dark"] .mm-week-meal-thumb,
html[data-menumia-theme="dark"] .mm-week-overview-photo{
  background-color:var(--mm-soft)!important;
}


/* ============================================================
   V611.1 — FRIGO TOUCH TARGETS
   Corrige une régression de la compaction v603 : les boutons
   restaient visuellement contenus mais leurs vraies cibles
   tactiles étaient devenues trop petites.
============================================================ */

.mm-fridge-native-row{
  grid-template-columns:minmax(0,1fr) 124px 44px!important;
  gap:4px!important;
}

.mm-fridge-row-qty{
  width:124px!important;
  min-width:124px!important;
  max-width:124px!important;
  height:44px!important;
  grid-template-columns:44px minmax(0,1fr) 44px!important;
  gap:0!important;
  padding:0!important;
  overflow:visible!important;
}

.mm-fridge-row-qty>button{
  position:relative!important;
  z-index:0!important;
  width:44px!important;
  min-width:44px!important;
  max-width:44px!important;
  height:44px!important;
  min-height:44px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
  font-size:15px!important;
  line-height:1!important;
}

.mm-fridge-row-qty>button::before{
  content:"";
  position:absolute;
  z-index:-1;
  width:30px;
  height:30px;
  border:1px solid var(--mm-line);
  border-radius:9px;
  background:var(--mm-card);
}

.mm-fridge-row-qty>button:active::before{
  background:var(--mm-soft);
}

.mm-fridge-row-qty>button:disabled::before{
  opacity:.45;
}

.mm-fridge-row-qty-display{
  height:44px!important;
}

.mm-fridge-row-open{
  width:44px!important;
  min-width:44px!important;
  max-width:44px!important;
  height:44px!important;
  min-height:44px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border-radius:11px!important;
}

.mm-fridge-detail-qty{
  width:min(180px,100%)!important;
  grid-template-columns:44px minmax(0,1fr) 44px!important;
  gap:4px!important;
}

.mm-fridge-detail-qty>button{
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
}

@media(max-width:380px){
  .mm-fridge-native-row{
    grid-template-columns:minmax(0,1fr) 118px 44px!important;
    gap:3px!important;
  }

  .mm-fridge-row-qty{
    width:118px!important;
    min-width:118px!important;
    max-width:118px!important;
    grid-template-columns:44px minmax(0,1fr) 44px!important;
  }
}

@media(max-width:350px){
  .mm-fridge-native-row{
    grid-template-columns:minmax(0,1fr) 116px 44px!important;
  }

  .mm-fridge-row-qty{
    width:116px!important;
    min-width:116px!important;
    max-width:116px!important;
  }
}

html[data-menumia-theme="dark"] .mm-fridge-row-qty>button::before{
  background:var(--mm-card)!important;
  border-color:var(--mm-line)!important;
}


/* ============================================================
   V615 — TABLETTE 760–1099
   Composition réellement adaptée aux iPad : contenu centré,
   navigation compacte et prochains repas en vraie grille.
============================================================ */
@media(min-width:760px) and (max-width:1099px){
  .mm-ui-v2-common .mm-main-shell{
    width:min(100%,900px)!important;
    max-width:900px!important;
    margin-inline:auto!important;
    padding-left:28px!important;
    padding-right:28px!important;
  }

  .mm-ui-v2-common .mm-home{
    width:100%!important;
    max-width:none!important;
    gap:16px!important;
  }

  .mm-ui-v2-common .mm-home-upcoming{
    width:100%!important;
    max-width:none!important;
    margin-top:0!important;
    gap:10px!important;
  }

  .mm-ui-v2-common .mm-home-upcoming-heading{
    padding-inline:2px!important;
  }

  .mm-ui-v2-common .mm-home-upcoming-heading strong{
    font-size:16px!important;
  }

  .mm-ui-v2-common .mm-home-upcoming-scroll{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:14px!important;
    overflow:visible!important;
    scroll-snap-type:none!important;
    padding:2px!important;
    margin:0!important;
  }

  .mm-ui-v2-common .mm-home-upcoming-scroll>span{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    flex:none!important;
  }

  .mm-ui-v2-common .mm-home-upcoming-card{
    height:100%!important;
    border-radius:18px!important;
  }

  .mm-ui-v2-common .mm-home-upcoming-media{
    aspect-ratio:1.55/1!important;
  }

  .mm-ui-v2-common .mm-home-upcoming-card-body{
    padding:12px 13px 13px!important;
    gap:7px!important;
  }

  .mm-ui-v2-common .mm-home-upcoming-card-body>strong{
    height:auto!important;
    min-height:36px!important;
    font-size:13.5px!important;
    line-height:1.28!important;
  }

  .mm-ui-v2-common .mm-home-upcoming-card-meta{
    font-size:10px!important;
  }

  .mm-bottom-nav{
    width:min(calc(100% - 96px),620px)!important;
    max-width:620px!important;
    left:50%!important;
    right:auto!important;
    transform:translateX(-50%)!important;
    bottom:14px!important;
    padding:8px 10px!important;
    border-radius:22px!important;
  }

  .mm-bottom-nav .mm-nav-item{
    min-height:56px!important;
    padding-inline:8px!important;
  }
}


/* ============================================================
   V625 — TABLETTE 900–1099
   iPad portrait : contenu large + navigation basse flottante.
   Le rail latéral reste réservé au vrai desktop >=1100 px.
============================================================ */
@media(min-width:900px) and (max-width:1099px){
  #root{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    border-left:0!important;
    border-right:0!important;
  }

  .mm-ui-v2-common .mm-main-shell{
    width:min(calc(100% - 48px),900px)!important;
    max-width:900px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:24px!important;
    padding-right:24px!important;
    padding-bottom:112px!important;
  }

  .mm-bottom-nav{
    left:50%!important;
    right:auto!important;
    top:auto!important;
    bottom:14px!important;
    width:min(calc(100% - 72px),640px)!important;
    max-width:640px!important;
    transform:translateX(-50%)!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-around!important;
    gap:4px!important;
    padding:8px 10px!important;
    border:1px solid rgba(90,30,70,.08)!important;
    border-radius:22px!important;
    background:rgba(255,253,252,.96)!important;
    box-shadow:0 12px 34px rgba(66,18,49,.11)!important;
    backdrop-filter:blur(18px)!important;
    -webkit-backdrop-filter:blur(18px)!important;
  }

  .mm-bottom-nav .mm-nav-item{
    width:auto!important;
    min-width:0!important;
    min-height:56px!important;
    flex:1 1 0!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:center!important;
    gap:4px!important;
    padding:7px 6px!important;
    border-radius:15px!important;
  }

  .mm-bottom-nav .mm-nav-item.is-active{
    background:#F3E8F0!important;
    box-shadow:none!important;
  }

  .mm-bottom-nav .mm-nav-item .mm-menumia-icon,
  .mm-bottom-nav .mm-nav-item .ti{
    width:20px!important;
    height:20px!important;
    font-size:20px!important;
  }

  .mm-bottom-nav .mm-nav-item>span:nth-child(2){
    display:block!important;
    font-size:10px!important;
    line-height:1.15!important;
    text-align:center!important;
  }

  .mm-ui-v2-common .mm-home{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto minmax(350px,38dvh) auto minmax(240px,1fr)!important;
    gap:17px!important;
    align-items:stretch!important;
    align-content:stretch!important;
    min-height:calc(100dvh - 160px)!important;
  }

  .mm-ui-v2-common .mm-home-intro,
  .mm-ui-v2-common .mm-home-main-meal,
  .mm-ui-v2-common .mm-home-tasks,
  .mm-ui-v2-common .mm-home-ready-state,
  .mm-ui-v2-common .mm-home-upcoming{
    grid-column:1!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
  }

  .mm-ui-v2-common .mm-home-main-meal{
    min-height:0!important;
    height:100%!important;
  }

  .mm-ui-v2-common .mm-home-main-meal .mm-meal-hero.is-compact{
    display:grid!important;
    grid-template-columns:minmax(0,1.22fr) minmax(300px,.78fr)!important;
    min-height:0!important;
    height:100%!important;
    overflow:hidden!important;
  }

  .mm-ui-v2-common .mm-home-main-meal .mm-meal-hero.is-compact .mm-meal-hero-media{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    border-radius:22px 0 0 22px!important;
  }

  .mm-ui-v2-common .mm-home-main-meal .mm-meal-hero.is-compact .mm-meal-hero-body{
    min-width:0!important;
    padding:28px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    border-radius:0 22px 22px 0!important;
  }

  .mm-ui-v2-common .mm-home-ready-state,
  .mm-ui-v2-common .mm-home-tasks{
    min-height:64px!important;
    padding:11px 15px!important;
    align-self:stretch!important;
  }

  .mm-ui-v2-common .mm-home-upcoming{
    min-height:0!important;
    height:100%!important;
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr)!important;
    gap:11px!important;
  }

  .mm-ui-v2-common .mm-home-upcoming-heading strong{
    font-size:16px!important;
  }

  .mm-ui-v2-common .mm-home-upcoming-scroll{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-template-rows:1fr!important;
    gap:15px!important;
    min-height:0!important;
    height:100%!important;
    overflow:visible!important;
    scroll-snap-type:none!important;
    padding:2px!important;
    margin:0!important;
  }

  .mm-ui-v2-common .mm-home-upcoming-scroll>span{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:100%!important;
    flex:none!important;
  }

  .mm-ui-v2-common .mm-home-upcoming-card{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:minmax(138px,1.28fr) minmax(78px,.72fr)!important;
    height:100%!important;
    min-height:0!important;
    border-radius:19px!important;
  }

  .mm-ui-v2-common .mm-home-upcoming-media{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    aspect-ratio:auto!important;
  }

  .mm-ui-v2-common .mm-home-upcoming-card-body{
    padding:13px 14px 15px!important;
    gap:8px!important;
    align-content:start!important;
  }

  .mm-ui-v2-common .mm-home-upcoming-card-body>strong{
    min-height:38px!important;
    height:auto!important;
    font-size:13.8px!important;
    line-height:1.28!important;
  }

  .mm-ui-v2-common .mm-home-upcoming-card-meta{
    font-size:10.2px!important;
  }
}


/* ============================================================
   V626 — COURSES + FRIGO TABLETTE 900–1099
   Deux colonnes conservées, mais densité, tailles et respiration
   adaptées à l'iPad. La navigation basse garde une zone de sécurité.
============================================================ */
@media(min-width:900px) and (max-width:1099px){
  .mm-shopping-screen,
  .mm-fridge-screen{
    width:100%!important;
    max-width:none!important;
    padding-bottom:104px!important;
  }

  .mm-shopping-screen .mm-fridge-visual-inventory,
  .mm-fridge-screen .mm-fridge-visual-inventory{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:18px 22px!important;
    align-items:start!important;
  }

  .mm-shopping-screen .mm-fridge-visual-section,
  .mm-fridge-screen .mm-fridge-visual-section{
    min-width:0!important;
    margin:0!important;
  }

  /* Courses */
  .mm-shopping-screen .mm-shopping-add-input{
    min-height:50px!important;
    font-size:13.5px!important;
  }

  .mm-shopping-screen .mm-shopping-add-button{
    min-height:50px!important;
    padding-inline:18px!important;
    font-size:12.5px!important;
  }

  .mm-shopping-screen .mm-shopping-view-switch button{
    min-height:44px!important;
    font-size:11.5px!important;
  }

  .mm-shopping-screen .mm-shopping-list-toolbar{
    min-height:48px!important;
    margin-bottom:10px!important;
  }

  .mm-shopping-screen .mm-shopping-category-head{
    min-height:64px!important;
    padding:8px 10px 8px 8px!important;
    border-radius:17px!important;
    gap:10px!important;
  }

  .mm-shopping-screen .mm-shopping-category-main{
    gap:10px!important;
  }

  .mm-shopping-screen .mm-shopping-category-media{
    width:48px!important;
    height:48px!important;
    flex-basis:48px!important;
  }

  .mm-shopping-screen .mm-shopping-category-head .mm-category-thumb{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    border-radius:13px!important;
  }

  .mm-shopping-screen .mm-shopping-category-copy strong{
    font-size:14px!important;
    line-height:1.18!important;
  }

  .mm-shopping-screen .mm-shopping-category-copy small{
    font-size:10.5px!important;
  }

  .mm-shopping-screen .mm-shopping-category-list{
    margin-top:8px!important;
    border-radius:17px!important;
  }

  .mm-shopping-screen .mm-shopping-item-row{
    min-height:58px!important;
    padding:10px 12px!important;
    grid-template-columns:26px minmax(0,1fr) auto!important;
    gap:10px!important;
  }

  .mm-shopping-screen .mm-shopping-item-check{
    width:24px!important;
    height:24px!important;
  }

  .mm-shopping-screen .mm-shopping-item-copy strong{
    font-size:13.5px!important;
    line-height:1.2!important;
  }

  .mm-shopping-screen .mm-shopping-item-copy small{
    font-size:10.2px!important;
    line-height:1.2!important;
  }

  .mm-shopping-screen .mm-shopping-item-qty{
    font-size:11px!important;
    padding:4px 8px!important;
  }

  /* Frigo */
  .mm-fridge-screen .mm-fridge-title-row{
    margin-bottom:18px!important;
  }

  .mm-fridge-screen .mm-fridge-title-row h1{
    font-size:34px!important;
  }

  .mm-fridge-screen .mm-fridge-title-row p{
    max-width:620px!important;
    font-size:13px!important;
  }

  .mm-fridge-screen .mm-fridge-mock-search{
    min-height:50px!important;
    margin-bottom:10px!important;
  }

  .mm-fridge-screen .mm-fridge-mock-search input{
    min-height:48px!important;
    font-size:13.5px!important;
  }

  .mm-fridge-screen .mm-fridge-storage-switch button{
    min-height:46px!important;
    font-size:11.5px!important;
  }

  .mm-fridge-screen .mm-fridge-quick-filters{
    gap:8px!important;
    margin-bottom:14px!important;
  }

  .mm-fridge-screen .mm-fridge-quick-filter{
    min-height:38px!important;
    height:38px!important;
    padding-inline:12px!important;
  }

  .mm-fridge-screen .mm-fridge-quick-filter span,
  .mm-fridge-screen .mm-fridge-quick-filter strong{
    font-size:10.8px!important;
  }

  .mm-fridge-screen .mm-fridge-visual-title{
    min-height:52px!important;
    margin-bottom:8px!important;
    gap:9px!important;
  }

  .mm-fridge-screen .mm-fridge-cat-icon .mm-category-thumb{
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    border-radius:14px!important;
  }

  .mm-fridge-screen .mm-fridge-cat-copy strong,
  .mm-fridge-screen .mm-fridge-visual-title>strong{
    font-size:14px!important;
  }

  .mm-fridge-screen .mm-fridge-cat-copy small{
    font-size:10.5px!important;
  }

  .mm-fridge-screen .mm-fridge-visual-title>button{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
  }

  .mm-fridge-screen .mm-fridge-native-grid{
    border-radius:18px!important;
  }

  .mm-fridge-screen .mm-fridge-native-row{
    min-height:64px!important;
    padding:10px 12px!important;
    grid-template-columns:minmax(0,1fr) 132px 44px!important;
    gap:7px!important;
  }

  .mm-fridge-screen .mm-fridge-item-main{
    min-height:44px!important;
  }

  .mm-fridge-screen .mm-fridge-item-copy strong{
    font-size:13.5px!important;
    line-height:1.2!important;
  }

  .mm-fridge-screen .mm-fridge-item-copy>span{
    font-size:10.5px!important;
    line-height:1.2!important;
  }

  .mm-fridge-screen .mm-fridge-row-qty{
    width:132px!important;
    min-width:132px!important;
    max-width:132px!important;
    grid-template-columns:44px minmax(0,1fr) 44px!important;
  }

  .mm-fridge-screen .mm-fridge-row-qty-display>span{
    font-size:12.5px!important;
  }

  .mm-fridge-screen .mm-fridge-row-qty-display>small{
    font-size:9px!important;
  }

  .mm-fridge-screen .mm-fridge-row-open{
    width:44px!important;
    min-width:44px!important;
    max-width:44px!important;
    height:44px!important;
    min-height:44px!important;
  }
}


/* ============================================================
   V618.1 — FICHE RECETTE MOBILE : MODE CUISINE CENTRÉ
============================================================ */
.mm-recipe-cooking-action-label{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-width:0!important;
  max-width:100%!important;
}
.mm-recipe-cooking-action-label>i{
  flex:0 0 auto!important;
  margin:0!important;
}
.mm-recipe-cooking-action-label>span{
  min-width:0!important;
  text-align:center!important;
}
.mm-recipe-week-action-label{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-width:0!important;
  max-width:100%!important;
  margin-inline:auto!important;
}
.mm-recipe-week-action-label>i{
  flex:0 0 auto!important;
  margin:0!important;
}
.mm-recipe-week-action-label>span{
  min-width:0!important;
  text-align:center!important;
}
@media(max-width:759px){
  .mm-recipe-cooking-action>button{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
  }
  .mm-recipe-cooking-action-label{
    margin-inline:auto!important;
  }
}


/* ============================================================
   V627 — FINALISATION TABLETTE 900–1099
   Dernier passage iPad : densité Courses/Frigo, fiche recette en
   deux zones et sélecteur "Ajouter à ma semaine" réellement tablette.
   Le mobile <900px et le desktop >=1100px restent inchangés.
============================================================ */
@media(min-width:900px) and (max-width:1099px){
  /* Courses : conserver les deux colonnes mais exploiter davantage
     la hauteur et rendre chaque information lisible à distance tablette. */
  .mm-shopping-screen .mm-functional-page-title{
    font-size:34px!important;
    line-height:1.05!important;
  }
  .mm-shopping-screen .mm-shopping-add-input,
  .mm-shopping-screen .mm-shopping-add-button{
    min-height:52px!important;
    font-size:14px!important;
  }
  .mm-shopping-screen .mm-shopping-view-switch button{
    min-height:46px!important;
    font-size:12px!important;
  }
  .mm-shopping-screen .mm-shopping-category-head{
    min-height:70px!important;
    padding:9px 12px 9px 9px!important;
    gap:11px!important;
  }
  .mm-shopping-screen .mm-shopping-category-media{
    width:52px!important;
    height:52px!important;
    flex-basis:52px!important;
  }
  .mm-shopping-screen .mm-shopping-category-head .mm-category-thumb{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
  }
  .mm-shopping-screen .mm-shopping-category-copy strong{
    font-size:15px!important;
  }
  .mm-shopping-screen .mm-shopping-category-copy small{
    font-size:11.2px!important;
  }
  .mm-shopping-screen .mm-shopping-category-list{
    margin-top:10px!important;
  }
  .mm-shopping-screen .mm-shopping-item-row{
    min-height:66px!important;
    padding:12px 14px!important;
    grid-template-columns:30px minmax(0,1fr) auto!important;
    gap:11px!important;
  }
  .mm-shopping-screen .mm-shopping-item-check{
    width:28px!important;
    height:28px!important;
  }
  .mm-shopping-screen .mm-shopping-item-copy strong{
    font-size:15px!important;
    line-height:1.22!important;
  }
  .mm-shopping-screen .mm-shopping-item-copy small{
    font-size:11.2px!important;
    line-height:1.3!important;
  }
  .mm-shopping-screen .mm-shopping-item-qty{
    font-size:12px!important;
    padding:5px 9px!important;
  }

  /* Frigo : mêmes deux colonnes, lignes plus confortables et états
     de péremption/quantités lisibles sans réduire les cibles 44 px. */
  .mm-fridge-screen .mm-fridge-title-row h1{
    font-size:36px!important;
  }
  .mm-fridge-screen .mm-fridge-title-row p{
    font-size:14px!important;
    line-height:1.4!important;
  }
  .mm-fridge-screen .mm-fridge-mock-search,
  .mm-fridge-screen .mm-fridge-mock-search input{
    min-height:52px!important;
  }
  .mm-fridge-screen .mm-fridge-mock-search input{
    font-size:14px!important;
  }
  .mm-fridge-screen .mm-fridge-storage-switch button{
    min-height:48px!important;
    font-size:12.2px!important;
  }
  .mm-fridge-screen .mm-fridge-quick-filter{
    min-height:44px!important;
    height:44px!important;
    padding-inline:13px!important;
  }
  .mm-fridge-screen .mm-fridge-quick-filter span,
  .mm-fridge-screen .mm-fridge-quick-filter strong{
    font-size:11.4px!important;
  }
  .mm-fridge-screen .mm-fridge-cook-card{
    min-height:58px!important;
    padding:11px 13px!important;
  }
  .mm-fridge-screen .mm-fridge-visual-title{
    min-height:58px!important;
    margin-bottom:9px!important;
  }
  .mm-fridge-screen .mm-fridge-cat-icon .mm-category-thumb{
    width:50px!important;
    height:50px!important;
    min-width:50px!important;
  }
  .mm-fridge-screen .mm-fridge-cat-copy strong,
  .mm-fridge-screen .mm-fridge-visual-title>strong{
    font-size:15px!important;
  }
  .mm-fridge-screen .mm-fridge-cat-copy small{
    font-size:11.2px!important;
  }
  .mm-fridge-screen .mm-fridge-native-row{
    min-height:72px!important;
    padding:12px 14px!important;
    grid-template-columns:minmax(0,1fr) 138px 44px!important;
    gap:8px!important;
  }
  .mm-fridge-screen .mm-fridge-item-main{
    min-height:48px!important;
  }
  .mm-fridge-screen .mm-fridge-item-copy strong{
    font-size:15px!important;
    line-height:1.22!important;
  }
  .mm-fridge-screen .mm-fridge-item-copy>span{
    font-size:11.2px!important;
    line-height:1.3!important;
  }
  .mm-fridge-screen .mm-fridge-row-qty{
    width:138px!important;
    min-width:138px!important;
    max-width:138px!important;
    grid-template-columns:44px minmax(0,1fr) 44px!important;
  }
  .mm-fridge-screen .mm-fridge-row-qty-display>span{
    font-size:13.5px!important;
  }
  .mm-fridge-screen .mm-fridge-row-qty-display>small{
    font-size:9.8px!important;
  }

  /* Fiche recette : vraie composition tablette.
     Colonne gauche = visuel + actions ; colonne droite = lecture/édition. */
  .mm-recipe-detail-overlay{
    align-items:center!important;
    justify-content:center!important;
    padding:24px!important;
  }
  .mm-recipe-detail-sheet{
    width:min(920px,100%)!important;
    max-width:920px!important;
    max-height:calc(100dvh - 48px)!important;
    display:grid!important;
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;
    grid-template-rows:auto auto!important;
    align-items:start!important;
    overflow:auto!important;
    border-radius:24px!important;
    border-bottom:1px solid var(--mm-line)!important;
  }
  .mm-recipe-detail-hero{
    grid-column:1!important;
    grid-row:1!important;
    width:100%!important;
    min-width:0!important;
    min-height:300px!important;
    max-height:none!important;
    aspect-ratio:4 / 3!important;
    border-radius:24px 0 0 0!important;
  }
  .mm-recipe-detail-body{
    display:contents!important;
  }
  .mm-recipe-detail-summary{
    display:block!important;
    grid-column:1!important;
    grid-row:2!important;
    min-width:0!important;
    padding:18px 20px 26px!important;
  }
  .mm-recipe-detail-meta{
    font-size:13px!important;
  }
  .mm-recipe-detail-primary-actions>button{
    font-size:13.5px!important;
  }
  .mm-recipe-rating-head,
  .mm-recipe-rating-head strong{
    font-size:11.4px!important;
  }
  .mm-recipe-rating-star{
    width:32px!important;
    min-width:32px!important;
    font-size:19px!important;
  }
  .mm-recipe-cooking-action>button{
    font-size:13px!important;
  }
  .mm-recipe-photo-add{
    font-size:11.5px!important;
  }
  .mm-recipe-read-layout{
    grid-column:2!important;
    grid-row:1 / span 2!important;
    display:block!important;
    align-self:stretch!important;
    min-width:0!important;
    padding:24px 24px 30px!important;
    border-left:1px solid var(--mm-line)!important;
  }
  .mm-recipe-read-primary,
  .mm-recipe-read-secondary{
    min-width:0!important;
    padding:0!important;
    border-left:0!important;
  }
  .mm-recipe-read-secondary{
    margin-top:24px!important;
    padding-top:22px!important;
    border-top:1px solid var(--mm-line)!important;
  }
  .mm-recipe-detail-sheet .mm-recipe-ingredient,
  .mm-recipe-detail-sheet .mm-recipe-step>div{
    font-size:12.8px!important;
    line-height:1.5!important;
  }
  .mm-recipe-unified-editor{
    grid-column:2!important;
    grid-row:1 / span 2!important;
    align-self:stretch!important;
    min-width:0!important;
    margin:0!important;
    padding:20px!important;
    border-left:1px solid var(--mm-line)!important;
  }

  /* Ajouter à ma semaine : largeur, lignes et typographie adaptées à l'iPad. */
  .mm-bottom-sheet:has(.mm-recipe-week-picker-list){
    width:min(520px,100%)!important;
    max-width:520px!important;
    padding:16px 22px 22px!important;
  }
  .mm-bottom-sheet:has(.mm-recipe-week-picker-list) .mm-sheet-title{
    font-size:18px!important;
  }
  .mm-recipe-week-picker-intro{
    margin-bottom:14px!important;
    font-size:13.5px!important;
    line-height:1.45!important;
  }
  .mm-recipe-week-picker-list{
    gap:10px!important;
    max-height:min(62vh,720px)!important;
    padding-right:2px!important;
  }
  .mm-recipe-week-picker-row{
    min-height:52px!important;
    padding:12px 14px!important;
    border-radius:15px!important;
    font-size:13.4px!important;
  }
  .mm-recipe-week-picker-slot{
    font-size:13.4px!important;
    line-height:1.25!important;
  }
  .mm-recipe-week-picker-status{
    font-size:12.2px!important;
    font-weight:750!important;
  }
}


/* ============================================================
   V628 — FICHE RECETTE TABLETTE PREMIUM 900–1099
   Hero horizontal, actions hiérarchisées puis contenu en deux cartes.
   Aucun impact mobile (<900px), Courses/Frigo ou desktop (>=1100px).
============================================================ */
@media(min-width:900px) and (max-width:1099px){
  .mm-recipe-detail-overlay{
    align-items:center!important;
    justify-content:center!important;
    padding:24px!important;
  }

  .mm-recipe-detail-sheet{
    display:block!important;
    width:min(920px,100%)!important;
    max-width:920px!important;
    max-height:calc(100dvh - 48px)!important;
    overflow:auto!important;
    border:1px solid var(--mm-line)!important;
    border-radius:26px!important;
    background:var(--mm-card)!important;
    box-shadow:0 28px 80px rgba(42,26,39,.20)!important;
  }

  /* Hero plein format : la recette commence par l'image, pas par une colonne. */
  .mm-recipe-detail-sheet>div.mm-recipe-detail-hero{
    width:100%!important;
    min-width:0!important;
    min-height:330px!important;
    max-height:390px!important;
    aspect-ratio:16 / 7!important;
    border-radius:26px 26px 0 0!important;
  }
  .mm-recipe-detail-title{
    left:28px!important;
    right:28px!important;
    bottom:24px!important;
    font-size:30px!important;
    line-height:1.12!important;
    letter-spacing:-.02em!important;
    text-shadow:0 3px 14px rgba(0,0,0,.42)!important;
  }

  /* Le body redevient un flux naturel : résumé puis contenu principal. */
  .mm-recipe-detail-body{
    display:block!important;
    padding:0!important;
  }

  .mm-recipe-detail-summary{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:10px 12px!important;
    padding:20px 24px 18px!important;
    background:var(--mm-card)!important;
  }

  .mm-recipe-detail-meta{
    grid-column:1/-1!important;
    gap:8px 18px!important;
    margin:0!important;
    font-size:13px!important;
    color:var(--mm-muted)!important;
  }
  .mm-recipe-detail-meta>span{
    min-height:30px!important;
  }
  .mm-recipe-detail-portions-meta{
    display:flex!important;
  }

  .mm-recipe-reason{
    grid-column:1/-1!important;
    margin:0!important;
    padding:8px 11px!important;
    border-radius:12px!important;
    background:var(--mm-soft)!important;
    font-size:11.8px!important;
    line-height:1.35!important;
  }

  /* CTA principaux côte à côte et de même présence visuelle. */
  .mm-recipe-detail-primary-actions{
    grid-column:1!important;
    margin:0!important;
    grid-template-columns:minmax(0,1fr) 48px!important;
    gap:8px!important;
    align-self:stretch!important;
  }
  .mm-recipe-detail-primary-actions>button{
    min-height:48px!important;
    font-size:13px!important;
  }
  .mm-recipe-detail-primary-actions>button:last-child{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    min-height:48px!important;
    border-radius:14px!important;
  }
  .mm-recipe-cooking-action{
    grid-column:2!important;
    margin:0!important;
    align-self:stretch!important;
  }
  .mm-recipe-cooking-action>button{
    min-height:48px!important;
    height:48px!important;
    font-size:13px!important;
    border-radius:14px!important;
  }

  /* Note et photo restent présentes mais passent clairement au second plan. */
  .mm-recipe-rating-control{
    grid-column:1/-1!important;
    margin:1px 0 0!important;
    padding:8px 0 0!important;
    border-top:1px solid var(--mm-line)!important;
  }
  .mm-recipe-rating-head,
  .mm-recipe-rating-head strong{
    font-size:11px!important;
  }
  .mm-recipe-rating-star{
    width:32px!important;
    min-width:32px!important;
    font-size:19px!important;
  }
  .mm-recipe-photo-tools{
    grid-column:1/-1!important;
    min-height:40px!important;
    margin:0!important;
    padding:0!important;
    opacity:.86;
  }
  .mm-recipe-photo-add{
    min-height:40px!important;
    font-size:11px!important;
  }

  /* Ingrédients et préparation sont deux cartes sœurs, sans séparateur vertical. */
  .mm-recipe-read-layout{
    display:grid!important;
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;
    gap:18px!important;
    align-items:start!important;
    padding:4px 24px 28px!important;
    border-left:0!important;
  }
  .mm-recipe-read-primary,
  .mm-recipe-read-secondary{
    min-width:0!important;
    margin:0!important;
    padding:18px!important;
    border:1px solid var(--mm-line)!important;
    border-radius:20px!important;
    box-shadow:0 8px 24px rgba(55,43,46,.045)!important;
  }
  .mm-recipe-read-primary{
    background:var(--mm-soft)!important;
  }
  .mm-recipe-read-secondary{
    background:var(--mm-card)!important;
    border-left:1px solid var(--mm-line)!important;
  }

  .mm-recipe-ingredients-heading{
    margin:0 0 12px!important;
    min-height:44px!important;
  }
  .mm-recipe-ingredients-heading>div:first-child,
  .mm-recipe-preparation-title{
    color:var(--mm-token-ink)!important;
    font-size:14px!important;
    font-weight:800!important;
    letter-spacing:-.01em!important;
    text-transform:none!important;
  }
  .mm-recipe-preparation-title{
    margin:0 0 12px!important;
    min-height:32px!important;
    display:flex!important;
    align-items:center!important;
  }

  .mm-recipe-detail-sheet .mm-recipe-ingredients{
    display:grid!important;
    gap:6px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .mm-recipe-detail-sheet .mm-recipe-ingredient{
    min-height:40px!important;
    padding:8px 10px!important;
    border:1px solid var(--mm-line)!important;
    border-radius:12px!important;
    background:var(--mm-card)!important;
    font-size:12.6px!important;
    line-height:1.35!important;
  }
  .mm-recipe-detail-sheet .mm-recipe-check{
    flex:0 0 auto!important;
  }

  .mm-recipe-detail-sheet .mm-recipe-steps{
    gap:8px!important;
  }
  .mm-recipe-detail-sheet .mm-recipe-step{
    min-height:54px!important;
    padding:11px 12px!important;
    gap:11px!important;
    border:1px solid transparent!important;
    border-radius:14px!important;
    background:var(--mm-soft)!important;
  }
  .mm-recipe-detail-sheet .mm-recipe-step-num{
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    font-size:12.5px!important;
  }
  .mm-recipe-detail-sheet .mm-recipe-step>div{
    font-size:12.6px!important;
    line-height:1.48!important;
  }

  .mm-recipe-edit-info,
  .mm-recipe-edit-ingredients{
    margin-bottom:10px!important;
  }
  .mm-recipe-edit-info>button,
  .mm-recipe-edit-ingredients>button{
    min-height:40px!important;
    font-size:11.5px!important;
  }

  /* L'éditeur conserve lui aussi une vraie surface tablette, sans colonne forcée. */
  .mm-recipe-unified-editor{
    display:block!important;
    margin:4px 24px 28px!important;
    padding:18px!important;
    border:1px solid var(--mm-line)!important;
    border-left:1px solid var(--mm-line)!important;
    border-radius:20px!important;
    background:var(--mm-card)!important;
    box-shadow:0 8px 24px rgba(55,43,46,.045)!important;
  }
}


/* ============================================================
   V629 — FINITION FICHE RECETTE TABLETTE 900–1099
   Barre d'actions unifiée, typographie plus confortable, chips
   aérées et notes pleine largeur sous Ingrédients / Préparation.
============================================================ */
@media(min-width:900px) and (max-width:1099px){
  /* Résumé plus net : une vraie barre d'actions en une ligne. */
  .mm-recipe-detail-summary{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) 48px!important;
    gap:9px 10px!important;
    padding:20px 24px 16px!important;
  }

  .mm-recipe-detail-primary-actions{
    display:contents!important;
    margin:0!important;
  }
  .mm-recipe-detail-primary-actions>button:has(.mm-recipe-week-action-label){
    grid-column:1!important;
    grid-row:auto!important;
    width:100%!important;
    min-width:0!important;
    min-height:50px!important;
    height:50px!important;
    border-radius:15px!important;
    font-size:13.5px!important;
  }
  .mm-recipe-cooking-action{
    grid-column:2!important;
    grid-row:auto!important;
    margin:0!important;
    min-width:0!important;
  }
  .mm-recipe-cooking-action>button{
    width:100%!important;
    min-height:50px!important;
    height:50px!important;
    border-radius:15px!important;
    font-size:13.5px!important;
  }
  .mm-recipe-detail-primary-actions>button[aria-label$="favoris"]{
    grid-column:3!important;
    grid-row:auto!important;
    width:48px!important;
    min-width:48px!important;
    height:50px!important;
    min-height:50px!important;
    border-radius:15px!important;
  }
  .mm-recipe-detail-summary:not(:has(.mm-recipe-week-action-label)) .mm-recipe-cooking-action{
    grid-column:1 / span 2!important;
  }

  /* Note compacte sous la barre d'actions ; photo encore plus secondaire. */
  .mm-recipe-rating-control{
    grid-column:1/-1!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    min-height:38px!important;
    margin:0!important;
    padding:5px 0 0!important;
    border-top:1px solid var(--mm-line)!important;
  }
  .mm-recipe-rating-head{
    display:flex!important;
    align-items:center!important;
    gap:6px!important;
    min-width:max-content!important;
  }
  .mm-recipe-rating-head,
  .mm-recipe-rating-head strong{
    font-size:11.2px!important;
    line-height:1.2!important;
  }
  .mm-recipe-rating-actions{
    margin-left:auto!important;
  }
  .mm-recipe-rating-star{
    width:30px!important;
    min-width:30px!important;
    height:34px!important;
    font-size:18px!important;
  }
  .mm-recipe-rating-clear{
    font-size:10px!important;
  }

  .mm-recipe-photo-tools{
    grid-column:1/-1!important;
    justify-content:flex-end!important;
    min-height:32px!important;
    margin:-3px 0 0!important;
    padding:0!important;
    opacity:.72!important;
  }
  .mm-recipe-photo-tools>div:has(>img){
    display:none!important;
  }
  .mm-recipe-photo-add{
    min-height:32px!important;
    padding:0!important;
    font-size:10.5px!important;
  }

  /* Cartes principales : respiration et lecture renforcées. */
  .mm-recipe-read-layout{
    gap:20px!important;
    padding:6px 24px 28px!important;
  }
  .mm-recipe-read-primary,
  .mm-recipe-read-secondary{
    padding:20px!important;
    border-radius:21px!important;
  }

  .mm-recipe-info-pills{
    gap:8px!important;
    margin-bottom:12px!important;
  }
  .mm-recipe-info-pills>span{
    padding:5px 10px!important;
    font-size:11.5px!important;
    line-height:1.15!important;
  }

  .mm-recipe-ingredients-heading{
    margin-bottom:13px!important;
  }
  .mm-recipe-ingredients-heading>div:first-child,
  .mm-recipe-preparation-title{
    font-size:15px!important;
  }
  .mm-portions-label{
    font-size:11.8px!important;
  }

  .mm-recipe-detail-sheet .mm-recipe-ingredient{
    min-height:42px!important;
    padding:9px 11px!important;
    font-size:13.4px!important;
    line-height:1.4!important;
  }
  .mm-recipe-detail-sheet .mm-recipe-step{
    min-height:58px!important;
    padding:12px 13px!important;
  }
  .mm-recipe-detail-sheet .mm-recipe-step>div{
    font-size:13.3px!important;
    line-height:1.5!important;
  }
  .mm-recipe-detail-sheet .mm-recipe-step-num{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    font-size:13px!important;
  }

  /* Actions "Modifier" homogènes et discrètes. */
  .mm-recipe-read-layout .mm-recipe-edit-info>button,
  .mm-recipe-read-layout .mm-recipe-edit-ingredients>button,
  .mm-recipe-read-secondary>div>button{
    min-height:38px!important;
    border-radius:999px!important;
    font-size:11px!important;
    padding:6px 12px!important;
  }

  /* Notes : troisième bloc compact sur toute la largeur, sous les deux cartes. */
  .mm-recipe-practical-notes-wide{
    grid-column:1/-1!important;
    width:100%!important;
    margin-top:0!important;
    padding:12px 14px!important;
    border:1px solid rgba(75,30,63,.08)!important;
    border-radius:16px!important;
    box-shadow:none!important;
  }
  .mm-recipe-practical-notes-wide>div:first-child{
    margin-bottom:5px!important;
  }
  .mm-recipe-practical-notes-wide>div:first-child>div{
    font-size:12px!important;
  }
  .mm-recipe-practical-notes-wide .mm-empty-inline,
  .mm-recipe-practical-notes-wide>div:last-child{
    font-size:11.5px!important;
    line-height:1.4!important;
  }
  .mm-recipe-practical-notes-wide button{
    min-height:36px!important;
    border-radius:999px!important;
    font-size:10.8px!important;
  }
}


/* ============================================================
   V630 — ACCUEIL : MARQUER COMME MANGÉ VISIBLE
   Mobile uniquement : Voir la recette reste le CTA principal,
   puis l'action de validation devient explicite sous le hero.
============================================================ */
.mm-home-eaten-quick{
  display:none!important;
}

@media(max-width:759px){
  .mm-ui-v2-common .mm-home-primary-actions{
    grid-template-columns:minmax(0,1fr) 44px!important;
    gap:7px!important;
  }

  .mm-ui-v2-common .mm-home-primary-actions>button:first-child{
    grid-column:1/-1!important;
    width:100%!important;
    min-height:46px!important;
    border-radius:14px!important;
  }

  .mm-ui-v2-common .mm-home-eaten-quick{
    grid-column:1!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    width:100%!important;
    min-width:0!important;
    min-height:44px!important;
    padding:8px 12px!important;
    border:1px solid rgba(255,255,255,.34)!important;
    border-radius:14px!important;
    background:#FFF9F8!important;
    color:#5E2450!important;
    box-shadow:0 3px 12px rgba(38,18,31,.08)!important;
    font:750 12.5px/1.15 ui-sans-serif,system-ui,-apple-system,sans-serif!important;
    cursor:pointer!important;
  }

  .mm-ui-v2-common .mm-home-eaten-quick-icon{
    width:26px!important;
    height:26px!important;
    flex:0 0 26px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:50%!important;
    background:#F3E5EE!important;
    color:#74275C!important;
  }

  .mm-ui-v2-common .mm-home-eaten-quick>span:last-child{
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }

  .mm-ui-v2-common .mm-home-eaten-quick.is-done{
    border-color:#CFE2CD!important;
    background:#EAF4E9!important;
    color:#47684B!important;
  }

  .mm-ui-v2-common .mm-home-eaten-quick.is-done .mm-home-eaten-quick-icon{
    background:#D7EAD5!important;
    color:#47684B!important;
  }

  .mm-ui-v2-common .mm-home-meal-more{
    grid-column:2!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
    border-radius:14px!important;
  }
}


/* ============================================================
   V632 — SOCLE DESKTOP : RAIL + LARGEUR UTILE >=1100
   Les anciens styles V480 ciblaient .mm-v191, classe désormais
   absente du shell courant : le contenu desktop s'activait sans
   son rail et laissait une zone vide incohérente à gauche.
============================================================ */
@media(min-width:1100px){
  #root{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    border-left:0!important;
    border-right:0!important;
  }

  .mm-ui-v2-common .mm-main-shell{
    width:min(calc(100% - 244px),1320px)!important;
    max-width:1320px!important;
    margin-left:220px!important;
    margin-right:auto!important;
    padding-left:38px!important;
    padding-right:38px!important;
    padding-bottom:54px!important;
  }

  /* Navigation desktop : le rail occupe réellement la zone réservée
     au lieu de laisser la barre mobile au bas de l'écran. */
  .mm-ui-v2-common .mm-bottom-nav{
    position:fixed!important;
    left:20px!important;
    right:auto!important;
    top:128px!important;
    bottom:auto!important;
    width:178px!important;
    max-width:178px!important;
    min-height:0!important;
    height:auto!important;
    transform:none!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:5px!important;
    padding:10px!important;
    border:1px solid var(--mm-line)!important;
    border-radius:20px!important;
    background:rgba(255,253,252,.96)!important;
    box-shadow:0 14px 38px rgba(55,43,46,.09)!important;
    backdrop-filter:blur(18px)!important;
    -webkit-backdrop-filter:blur(18px)!important;
  }

  .mm-ui-v2-common .mm-bottom-nav .mm-nav-item{
    width:100%!important;
    min-width:0!important;
    min-height:50px!important;
    flex:0 0 auto!important;
    flex-direction:row!important;
    justify-content:flex-start!important;
    align-items:center!important;
    gap:11px!important;
    padding:0 13px!important;
    border-radius:13px!important;
    color:var(--mm-muted)!important;
  }

  .mm-ui-v2-common .mm-bottom-nav .mm-nav-item>.mm-menumia-icon,
  .mm-ui-v2-common .mm-bottom-nav .mm-nav-item>.ti{
    width:20px!important;
    height:20px!important;
    margin:0!important;
    flex:0 0 20px!important;
  }

  .mm-ui-v2-common .mm-bottom-nav .mm-nav-item>span:nth-child(2){
    display:block!important;
    margin:0!important;
    font-size:12.5px!important;
    line-height:1.2!important;
    font-weight:650!important;
    text-align:left!important;
    color:inherit!important;
  }

  .mm-ui-v2-common .mm-bottom-nav .mm-nav-item>span:last-child{
    display:none!important;
  }

  .mm-ui-v2-common .mm-bottom-nav .mm-nav-item.is-active{
    background:var(--mm-soft)!important;
    color:var(--mm-prune-text)!important;
    box-shadow:none!important;
  }

  /* Toutes les pages principales partagent désormais la même largeur utile. */
  .mm-home,
  .mm-week-screen,
  .mm-library-screen,
  .mm-shopping-screen,
  .mm-fridge-screen,
  .mm-settings-screen,
  .mm-stats-screen{
    width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

@media(min-width:1440px){
  .mm-ui-v2-common .mm-main-shell{
    width:min(calc(100% - 264px),1380px)!important;
    max-width:1380px!important;
    margin-left:238px!important;
  }
  .mm-ui-v2-common .mm-bottom-nav{
    left:28px!important;
    width:184px!important;
    max-width:184px!important;
  }
}


/* ============================================================
   V633 — CORRECTIF RAIL DESKTOP HORS SHELL >=1100
   BottomNav est rendu comme frère de .mm-app, pas comme enfant :
   le sélecteur .mm-ui-v2-common .mm-bottom-nav ne pouvait donc
   pas transformer la barre basse en rail.
============================================================ */
@media(min-width:1100px){
  .mm-bottom-nav{
    position:fixed!important;
    left:20px!important;
    right:auto!important;
    top:128px!important;
    bottom:auto!important;
    width:178px!important;
    max-width:178px!important;
    min-height:0!important;
    height:auto!important;
    transform:none!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:5px!important;
    padding:10px!important;
    border:1px solid var(--mm-line)!important;
    border-radius:20px!important;
    background:rgba(255,253,252,.96)!important;
    box-shadow:0 14px 38px rgba(55,43,46,.09)!important;
    backdrop-filter:blur(18px)!important;
    -webkit-backdrop-filter:blur(18px)!important;
    z-index:2400!important;
  }

  .mm-bottom-nav .mm-nav-item{
    width:100%!important;
    min-width:0!important;
    min-height:50px!important;
    flex:0 0 auto!important;
    flex-direction:row!important;
    justify-content:flex-start!important;
    align-items:center!important;
    gap:11px!important;
    padding:0 13px!important;
    border-radius:13px!important;
    color:var(--mm-muted)!important;
  }

  .mm-bottom-nav .mm-nav-item>.mm-menumia-icon,
  .mm-bottom-nav .mm-nav-item>.ti{
    width:20px!important;
    height:20px!important;
    margin:0!important;
    flex:0 0 20px!important;
  }

  .mm-bottom-nav .mm-nav-item>span:nth-child(2){
    display:block!important;
    margin:0!important;
    font-size:12.5px!important;
    line-height:1.2!important;
    font-weight:650!important;
    text-align:left!important;
    color:inherit!important;
  }

  .mm-bottom-nav .mm-nav-item>span:last-child{
    display:none!important;
  }

  .mm-bottom-nav .mm-nav-item.is-active{
    background:var(--mm-soft)!important;
    color:var(--mm-prune-text)!important;
    box-shadow:none!important;
  }
}

@media(min-width:1440px){
  .mm-bottom-nav{
    left:28px!important;
    width:184px!important;
    max-width:184px!important;
  }
}


/* ============================================================
   V634 — DESKTOP POLISH : SIDEBAR + ACCUEIL >=1100
   Le rail devient une vraie sidebar de bureau et l'Accueil utilise
   la colonne droite comme panneau compact, sans cartes tronquées.
============================================================ */
.mm-desktop-nav-brand{
  display:none;
}

@media(min-width:1100px){
  /* Sidebar intégrée à l'application. */
  .mm-bottom-nav{
    left:20px!important;
    top:18px!important;
    bottom:18px!important;
    width:188px!important;
    max-width:188px!important;
    height:auto!important;
    padding:15px 11px 13px!important;
    border-radius:24px!important;
    border:1px solid rgba(75,30,63,.075)!important;
    background:rgba(255,253,252,.97)!important;
    box-shadow:0 18px 50px rgba(55,43,46,.075)!important;
    overflow:hidden!important;
  }

  .mm-desktop-nav-brand{
    display:flex!important;
    align-items:center!important;
    gap:9px!important;
    width:100%!important;
    padding:5px 8px 15px!important;
    margin:0 0 9px!important;
    border-bottom:1px solid var(--mm-line)!important;
    color:var(--mm-prune-text)!important;
  }
  .mm-desktop-nav-brand>img{
    width:28px!important;
    height:34px!important;
    flex:0 0 28px!important;
    object-fit:contain!important;
  }
  .mm-desktop-nav-brand>span{
    min-width:0!important;
    display:flex!important;
    flex-direction:column!important;
    gap:2px!important;
  }
  .mm-desktop-nav-brand strong{
    font-family:ui-serif,Georgia,serif!important;
    font-size:19px!important;
    line-height:1!important;
    letter-spacing:-.02em!important;
    color:var(--mm-prune-text)!important;
  }
  .mm-desktop-nav-brand small{
    font-size:8.5px!important;
    line-height:1.2!important;
    color:var(--mm-muted)!important;
    white-space:nowrap!important;
  }

  .mm-bottom-nav .mm-nav-item{
    min-height:48px!important;
    padding:0 12px!important;
    border-radius:12px!important;
    gap:10px!important;
    transition:background .16s ease,color .16s ease,transform .16s ease!important;
  }
  .mm-bottom-nav .mm-nav-item:hover{
    background:rgba(75,30,63,.045)!important;
  }
  .mm-bottom-nav .mm-nav-item.is-active{
    background:#F5EDF2!important;
    color:#5F234E!important;
  }
  .mm-bottom-nav .mm-nav-item.is-active::before{
    content:"";
    width:3px;
    height:22px;
    border-radius:999px;
    background:#7A315F;
    position:absolute;
    left:4px;
  }
  .mm-bottom-nav .mm-nav-item{
    position:relative!important;
  }

  /* Le branding est maintenant dans le rail sur desktop. */
  .mm-ui-v2-common .mm-topbar-home{
    min-height:44px!important;
    justify-content:flex-end!important;
    margin-bottom:4px!important;
  }
  .mm-ui-v2-common .mm-topbar-home .mm-topbar-brand{
    display:none!important;
  }
  .mm-ui-v2-common .mm-topbar-home .mm-topbar-actions{
    margin-left:auto!important;
    gap:7px!important;
  }
  .mm-ui-v2-common .mm-topbar-home .mm-topbar-action{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    min-height:40px!important;
    border-radius:14px!important;
    box-shadow:0 4px 14px rgba(55,43,46,.055)!important;
  }

  .mm-ui-v2-common .mm-main-shell{
    width:min(calc(100% - 238px),1340px)!important;
    max-width:1340px!important;
    margin-left:218px!important;
    margin-right:auto!important;
    padding-left:30px!important;
    padding-right:30px!important;
  }

  /* Accueil : hero à gauche, panneau d'actions + prochains repas à droite. */
  .mm-ui-v2-common .mm-home{
    width:100%!important;
    max-width:1220px!important;
    grid-template-columns:minmax(0,1.48fr) minmax(340px,.62fr)!important;
    grid-template-rows:auto auto auto!important;
    column-gap:24px!important;
    row-gap:14px!important;
    align-items:start!important;
  }
  .mm-ui-v2-common .mm-home-intro{
    grid-column:1/-1!important;
    padding:0 2px 2px!important;
  }
  .mm-ui-v2-common .mm-home-greeting{
    font-size:32px!important;
    line-height:1.04!important;
  }
  .mm-ui-v2-common .mm-home-subtitle{
    font-size:13.5px!important;
    margin-top:5px!important;
  }

  .mm-ui-v2-common .mm-home-main-meal{
    grid-column:1!important;
    grid-row:2 / span 2!important;
    min-width:0!important;
    height:100%!important;
    align-self:stretch!important;
  }
  .mm-ui-v2-common .mm-home-main-meal .mm-meal-hero.is-compact{
    height:100%!important;
    min-height:424px!important;
    max-height:458px!important;
    grid-template-columns:minmax(0,1.32fr) minmax(285px,.68fr)!important;
    border-radius:23px!important;
  }
  .mm-ui-v2-common .mm-home-main-meal .mm-meal-hero.is-compact .mm-meal-hero-media{
    min-height:424px!important;
    height:100%!important;
    border-radius:23px 0 0 23px!important;
  }
  .mm-ui-v2-common .mm-home-main-meal .mm-meal-hero.is-compact .mm-meal-hero-body{
    min-width:0!important;
    padding:28px 24px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    border-radius:0 23px 23px 0!important;
  }
  .mm-ui-v2-common .mm-home-main-meal .mm-home-meal-title{
    max-width:100%!important;
    margin-bottom:10px!important;
    font-size:28px!important;
    line-height:1.05!important;
  }
  .mm-ui-v2-common .mm-home-main-meal .mm-home-meal-meta{
    gap:9px!important;
    margin-bottom:18px!important;
    font-size:11.5px!important;
  }

  /* Les trois actions du hero occupent réellement le panneau de droite. */
  .mm-ui-v2-common .mm-home-primary-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 44px!important;
    gap:8px!important;
  }
  .mm-ui-v2-common .mm-home-primary-actions>button:first-child{
    grid-column:1/-1!important;
    min-height:48px!important;
    border-radius:14px!important;
  }
  .mm-ui-v2-common .mm-home-eaten-quick{
    grid-column:1!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    min-height:44px!important;
    padding:8px 10px!important;
    border:1px solid rgba(255,255,255,.34)!important;
    border-radius:14px!important;
    background:#FFF9F8!important;
    color:#5E2450!important;
    font:750 11.5px/1.15 ui-sans-serif,system-ui,-apple-system,sans-serif!important;
  }
  .mm-ui-v2-common .mm-home-eaten-quick-icon{
    width:24px!important;
    height:24px!important;
    flex:0 0 24px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:50%!important;
    background:#F3E5EE!important;
    color:#74275C!important;
  }
  .mm-ui-v2-common .mm-home-eaten-quick.is-done{
    border-color:#CFE2CD!important;
    background:#EAF4E9!important;
    color:#47684B!important;
  }
  .mm-ui-v2-common .mm-home-eaten-quick.is-done .mm-home-eaten-quick-icon{
    background:#D7EAD5!important;
    color:#47684B!important;
  }
  .mm-ui-v2-common .mm-home-meal-more{
    grid-column:2!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
    border-radius:14px!important;
  }

  /* Panneau droit : titres compacts et aucun texte qui se chevauche. */
  .mm-ui-v2-common .mm-home-tasks,
  .mm-ui-v2-common .mm-home-ready-state{
    grid-column:2!important;
    grid-row:2!important;
    min-width:0!important;
    margin:0!important;
    align-self:start!important;
  }
  .mm-ui-v2-common .mm-home-section-heading{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    margin:0 2px 7px!important;
  }
  .mm-ui-v2-common .mm-home-section-heading>span{
    min-width:0!important;
    font-size:17px!important;
    line-height:1.1!important;
    white-space:nowrap!important;
  }
  .mm-ui-v2-common .mm-home-section-heading>button{
    flex:0 0 auto!important;
    min-height:30px!important;
    padding:4px 0!important;
    border:0!important;
    background:transparent!important;
    color:var(--mm-prune-text)!important;
    font:750 10.5px/1.2 ui-sans-serif,system-ui,-apple-system,sans-serif!important;
  }
  .mm-ui-v2-common .mm-home-task-list{
    border-radius:16px!important;
  }
  .mm-ui-v2-common .mm-home-task{
    min-height:74px!important;
    padding:10px 11px!important;
    gap:9px!important;
  }
  .mm-ui-v2-common .mm-home-defrost-task{
    grid-template-columns:30px minmax(0,1fr) 40px!important;
  }
  .mm-ui-v2-common .mm-home-task-copy{
    min-width:0!important;
    gap:3px!important;
  }
  .mm-ui-v2-common .mm-home-task-label{
    font-size:12px!important;
    line-height:1.22!important;
    overflow-wrap:anywhere!important;
  }
  .mm-ui-v2-common .mm-home-task-copy small{
    font-size:10px!important;
    line-height:1.25!important;
    overflow-wrap:anywhere!important;
  }
  .mm-ui-v2-common .mm-home-task-defrost-icon{
    width:38px!important;
    height:38px!important;
  }

  /* Prochains dîners : liste verticale compacte dans la colonne droite. */
  .mm-ui-v2-common .mm-home-upcoming{
    grid-column:2!important;
    grid-row:3!important;
    min-width:0!important;
    margin:0!important;
    gap:8px!important;
    align-self:start!important;
  }
  .mm-ui-v2-common .mm-home-upcoming-heading{
    align-items:end!important;
    gap:8px!important;
    padding:0 2px!important;
  }
  .mm-ui-v2-common .mm-home-upcoming-eyebrow{
    font-size:8.5px!important;
  }
  .mm-ui-v2-common .mm-home-upcoming-heading strong{
    font-size:14.5px!important;
  }
  .mm-ui-v2-common .mm-home-upcoming-heading>button{
    font-size:10px!important;
    padding:4px 0!important;
  }
  .mm-ui-v2-common .mm-home-upcoming-scroll{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    overflow:visible!important;
    padding:0!important;
    margin:0!important;
    scroll-snap-type:none!important;
  }
  .mm-ui-v2-common .mm-home-upcoming-scroll>span{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    flex:none!important;
  }
  .mm-ui-v2-common .mm-home-upcoming-card{
    height:94px!important;
    min-height:94px!important;
    display:grid!important;
    grid-template-columns:112px minmax(0,1fr)!important;
    grid-template-rows:1fr!important;
    border-radius:15px!important;
  }
  .mm-ui-v2-common .mm-home-upcoming-media{
    width:112px!important;
    height:94px!important;
    aspect-ratio:auto!important;
  }
  .mm-ui-v2-common .mm-home-upcoming-card-body{
    padding:10px 11px!important;
    gap:4px!important;
    align-content:center!important;
  }
  .mm-ui-v2-common .mm-home-upcoming-card-body>strong{
    min-height:0!important;
    height:auto!important;
    font-size:12.4px!important;
    line-height:1.22!important;
  }
  .mm-ui-v2-common .mm-home-upcoming-card-meta{
    font-size:9.4px!important;
  }
  .mm-ui-v2-common .mm-home-upcoming-day{
    left:7px!important;
    top:7px!important;
    padding:3px 7px!important;
    font-size:8px!important;
  }

  .mm-ui-v2-common .mm-home-ready-state{
    min-height:82px!important;
    padding:12px 13px!important;
    border-radius:16px!important;
  }
}

@media(min-width:1440px){
  .mm-bottom-nav{
    left:24px!important;
    width:194px!important;
    max-width:194px!important;
  }
  .mm-ui-v2-common .mm-main-shell{
    width:min(calc(100% - 250px),1400px)!important;
    max-width:1400px!important;
    margin-left:228px!important;
  }
}


/* ============================================================
   V635 — FINITION ACCUEIL DESKTOP >=1100
   Sidebar compacte, hero mieux équilibré, CTA "mangé" sur une
   ligne et tâches plus lisibles. Aucun impact mobile/tablette.
============================================================ */
@media(min-width:1100px){
  /* Le rail n'a pas besoin d'occuper toute la hauteur avec 5 entrées. */
  .mm-bottom-nav{
    top:20px!important;
    bottom:auto!important;
    height:auto!important;
    min-height:0!important;
    max-height:calc(100dvh - 40px)!important;
    padding-bottom:12px!important;
    overflow-y:auto!important;
  }

  .mm-desktop-nav-brand{
    padding-bottom:13px!important;
    margin-bottom:7px!important;
  }

  .mm-bottom-nav .mm-nav-item{
    min-height:46px!important;
  }

  /* Hero : un vrai panneau éditorial, pas une photo + colonne trop étroite. */
  .mm-ui-v2-common .mm-home-main-meal .mm-meal-hero.is-compact{
    min-height:400px!important;
    height:400px!important;
    max-height:400px!important;
    grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr)!important;
  }

  .mm-ui-v2-common .mm-home-main-meal .mm-meal-hero.is-compact .mm-meal-hero-media{
    min-height:400px!important;
    height:400px!important;
  }

  .mm-ui-v2-common .mm-home-main-meal .mm-meal-hero.is-compact .mm-meal-hero-body{
    padding:26px 25px!important;
  }

  .mm-ui-v2-common .mm-home-main-meal .mm-home-meal-title{
    font-size:26px!important;
    line-height:1.05!important;
    letter-spacing:-.025em!important;
    margin-bottom:11px!important;
  }

  .mm-ui-v2-common .mm-home-main-meal .mm-home-meal-meta{
    margin-bottom:17px!important;
    gap:10px!important;
  }

  /* L'état du repas reste lisible en un seul coup d'œil. */
  .mm-ui-v2-common .mm-home-eaten-quick{
    min-width:0!important;
    padding-inline:12px!important;
    font-size:11.2px!important;
  }

  .mm-ui-v2-common .mm-home-eaten-quick>span:last-child{
    min-width:0!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  /* Tâche de décongélation : label et détail sont vraiment séparés. */
  .mm-ui-v2-common .mm-home-task-copy{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:4px!important;
  }

  .mm-ui-v2-common .mm-home-task-label{
    display:block!important;
    width:100%!important;
    font-size:12.2px!important;
    line-height:1.24!important;
  }

  .mm-ui-v2-common .mm-home-task-copy small{
    display:block!important;
    width:100%!important;
    margin:0!important;
    font-size:10.2px!important;
    line-height:1.3!important;
  }

  /* Le panneau droit suit la nouvelle hauteur du hero. */
  .mm-ui-v2-common .mm-home-upcoming-card{
    height:88px!important;
    min-height:88px!important;
    grid-template-columns:108px minmax(0,1fr)!important;
  }

  .mm-ui-v2-common .mm-home-upcoming-media{
    width:108px!important;
    height:88px!important;
  }

  .mm-ui-v2-common .mm-home-upcoming-card-body{
    padding:9px 11px!important;
  }
}


/* ============================================================
   V636 — MICRO-FINITION ACCUEIL DESKTOP >=1100
   Aligne la toolbar du header sur le workspace et donne davantage
   de respiration au panneau aubergine sans modifier sa hauteur.
============================================================ */
@media(min-width:1100px){
  /* Les actions globales suivent exactement les bords de l'Accueil. */
  .mm-ui-v2-common .mm-topbar-home{
    width:100%!important;
    max-width:1220px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    margin-bottom:8px!important;
    padding-inline:2px!important;
  }

  .mm-ui-v2-common .mm-topbar-home .mm-topbar-actions{
    display:flex!important;
    align-items:center!important;
    gap:4px!important;
    padding:4px!important;
    border:1px solid rgba(75,30,63,.065)!important;
    border-radius:17px!important;
    background:rgba(255,253,252,.88)!important;
    box-shadow:0 8px 24px rgba(55,43,46,.045)!important;
  }

  .mm-ui-v2-common .mm-topbar-home .mm-topbar-action{
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    min-height:36px!important;
    border:0!important;
    border-radius:12px!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  .mm-ui-v2-common .mm-topbar-home .mm-topbar-action:hover{
    background:var(--mm-soft)!important;
  }

  .mm-ui-v2-common .mm-topbar-home .mm-profile-action{
    background:var(--mm-soft)!important;
  }

  /* Panneau texte du hero : plus d'air autour du titre, des méta et CTA. */
  .mm-ui-v2-common .mm-home-main-meal .mm-meal-hero.is-compact .mm-meal-hero-body{
    padding:32px 30px!important;
  }

  .mm-ui-v2-common .mm-home-main-meal .mm-home-meal-title{
    margin-bottom:14px!important;
  }

  .mm-ui-v2-common .mm-home-main-meal .mm-home-meal-meta{
    margin-bottom:24px!important;
    gap:11px!important;
  }

  .mm-ui-v2-common .mm-home-primary-actions{
    gap:10px!important;
    row-gap:10px!important;
  }

  .mm-ui-v2-common .mm-home-primary-actions>button:first-child{
    min-height:50px!important;
  }

  .mm-ui-v2-common .mm-home-eaten-quick,
  .mm-ui-v2-common .mm-home-meal-more{
    min-height:46px!important;
    height:46px!important;
  }
}


/* ============================================================
   V637 — FICHE RECETTE DESKTOP >=1100
   Top split photo/résumé, contenu principal en deux cartes et notes
   pleine largeur. Mobile/tablette inchangés.
============================================================ */
@media(min-width:1100px){
  .mm-recipe-detail-overlay{
    align-items:center!important;
    justify-content:center!important;
    padding:24px!important;
    background:rgba(38,27,34,.48)!important;
    backdrop-filter:blur(5px)!important;
    -webkit-backdrop-filter:blur(5px)!important;
  }

  .mm-recipe-detail-sheet{
    width:min(1180px,calc(100vw - 48px))!important;
    max-width:1180px!important;
    max-height:calc(100dvh - 48px)!important;
    display:grid!important;
    grid-template-columns:minmax(0,.96fr) minmax(430px,1.04fr)!important;
    grid-template-rows:auto auto!important;
    overflow:auto!important;
    border:1px solid rgba(75,30,63,.08)!important;
    border-radius:28px!important;
    background:var(--mm-card)!important;
    box-shadow:0 28px 90px rgba(35,20,29,.24)!important;
  }

  /* Hero contenu et non plus gigantesque. */
  .mm-recipe-detail-hero{
    grid-column:1!important;
    grid-row:1!important;
    width:100%!important;
    height:360px!important;
    min-height:360px!important;
    max-height:360px!important;
    aspect-ratio:auto!important;
    border-radius:28px 0 0 0!important;
  }

  .mm-recipe-detail-title{
    left:28px!important;
    right:28px!important;
    bottom:24px!important;
    font-size:31px!important;
    line-height:1.08!important;
    letter-spacing:-.025em!important;
    text-shadow:0 3px 16px rgba(0,0,0,.42)!important;
  }

  .mm-recipe-detail-body{
    display:contents!important;
    padding:0!important;
  }

  /* Colonne résumé du haut. */
  .mm-recipe-detail-summary{
    grid-column:2!important;
    grid-row:1!important;
    min-width:0!important;
    min-height:360px!important;
    display:flex!important;
    flex-direction:column!important;
    gap:14px!important;
    padding:30px 32px 28px!important;
    border-left:1px solid var(--mm-line)!important;
    background:linear-gradient(180deg,#FFFDFC 0%,#FBF6F3 100%)!important;
  }

  .mm-recipe-detail-meta{
    display:flex!important;
    align-items:center!important;
    flex-wrap:wrap!important;
    gap:8px!important;
    margin:0!important;
    color:var(--mm-muted)!important;
    font-size:12.5px!important;
  }
  .mm-recipe-detail-meta>span{
    min-height:32px!important;
    padding:6px 9px!important;
    border:1px solid var(--mm-line)!important;
    border-radius:999px!important;
    background:var(--mm-card)!important;
  }

  .mm-recipe-reason{
    margin:0!important;
    padding:10px 12px!important;
    border-radius:14px!important;
    background:var(--mm-soft)!important;
    font-size:11.8px!important;
    line-height:1.4!important;
  }

  .mm-recipe-detail-primary-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 48px!important;
    gap:9px!important;
    margin:2px 0 0!important;
  }
  .mm-recipe-detail-primary-actions>button:has(.mm-recipe-week-action-label){
    width:100%!important;
    min-height:50px!important;
    border-radius:15px!important;
    font-size:13.5px!important;
  }
  .mm-recipe-detail-primary-actions>button[aria-label$="favoris"]{
    width:48px!important;
    min-width:48px!important;
    height:50px!important;
    min-height:50px!important;
    border-radius:15px!important;
  }

  .mm-recipe-rating-control{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:14px!important;
    min-height:44px!important;
    margin:0!important;
    padding:10px 0 0!important;
    border-top:1px solid var(--mm-line)!important;
  }
  .mm-recipe-rating-head{
    display:flex!important;
    align-items:center!important;
    gap:6px!important;
  }
  .mm-recipe-rating-head,
  .mm-recipe-rating-head strong{
    font-size:11.4px!important;
  }
  .mm-recipe-rating-star{
    width:32px!important;
    min-width:32px!important;
    height:36px!important;
    font-size:19px!important;
  }

  .mm-recipe-cooking-action{
    margin:0!important;
  }
  .mm-recipe-cooking-action>button{
    width:100%!important;
    min-height:48px!important;
    border-radius:15px!important;
    font-size:13px!important;
  }

  .mm-recipe-photo-tools{
    min-height:34px!important;
    margin-top:auto!important;
    padding:0!important;
    opacity:.78!important;
  }
  .mm-recipe-photo-add{
    min-height:34px!important;
    padding:0!important;
    font-size:10.8px!important;
  }

  /* Lecture principale : deux cartes équilibrées, sans séparateur vertical. */
  .mm-recipe-read-layout{
    grid-column:1/-1!important;
    grid-row:2!important;
    display:grid!important;
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;
    gap:20px!important;
    align-items:start!important;
    padding:22px 26px 28px!important;
    border-left:0!important;
    background:#FAF6F3!important;
  }

  .mm-recipe-read-primary,
  .mm-recipe-read-secondary{
    min-width:0!important;
    margin:0!important;
    padding:22px!important;
    border:1px solid rgba(75,30,63,.075)!important;
    border-radius:21px!important;
    background:var(--mm-card)!important;
    box-shadow:0 8px 24px rgba(55,43,46,.04)!important;
  }
  .mm-recipe-read-primary{
    background:#FCF8F6!important;
  }
  .mm-recipe-read-secondary{
    padding-left:22px!important;
    border-left:1px solid rgba(75,30,63,.075)!important;
  }

  .mm-recipe-info-pills{
    gap:7px!important;
    margin-bottom:12px!important;
  }
  .mm-recipe-info-pills>span{
    padding:5px 10px!important;
    font-size:11.2px!important;
  }

  .mm-recipe-edit-info{
    margin-bottom:18px!important;
  }

  .mm-recipe-ingredients-heading{
    min-height:42px!important;
    margin-bottom:11px!important;
  }
  .mm-recipe-ingredients-heading>div:first-child,
  .mm-recipe-preparation-title{
    color:var(--mm-ink)!important;
    font-size:16px!important;
    font-weight:800!important;
    letter-spacing:-.015em!important;
    text-transform:none!important;
  }
  .mm-recipe-preparation-title{
    min-height:42px!important;
    margin:0 0 11px!important;
    display:flex!important;
    align-items:center!important;
  }

  .mm-portions-label{
    font-size:11.8px!important;
  }
  .mm-recipe-portions-step{
    width:40px!important;
    min-width:40px!important;
    height:40px!important;
    min-height:40px!important;
  }

  .mm-recipe-ingredients{
    display:grid!important;
    gap:7px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .mm-recipe-ingredient{
    min-height:42px!important;
    padding:9px 11px!important;
    border:1px solid rgba(75,30,63,.065)!important;
    border-radius:12px!important;
    background:var(--mm-card)!important;
    font-size:13px!important;
    line-height:1.4!important;
  }

  .mm-recipe-steps{
    display:grid!important;
    gap:8px!important;
  }
  .mm-recipe-step{
    min-height:60px!important;
    padding:12px 13px!important;
    gap:12px!important;
    border:1px solid rgba(75,30,63,.04)!important;
    border-radius:14px!important;
    background:var(--mm-soft)!important;
  }
  .mm-recipe-step-num{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    border-radius:11px!important;
    font-size:13px!important;
  }
  .mm-recipe-step>div{
    font-size:13.2px!important;
    line-height:1.5!important;
  }

  .mm-recipe-edit-info>button,
  .mm-recipe-edit-ingredients>button,
  .mm-recipe-read-secondary>div>button{
    min-height:38px!important;
    padding:6px 12px!important;
    border-radius:999px!important;
    font-size:11px!important;
  }

  /* Notes et blocs transverses prennent toute la largeur. */
  .mm-recipe-practical-notes-wide{
    grid-column:1/-1!important;
    width:100%!important;
    margin:0!important;
    padding:14px 16px!important;
    border:1px solid rgba(75,30,63,.07)!important;
    border-radius:17px!important;
    background:var(--mm-peche-soft,#FFF0E8)!important;
    box-shadow:none!important;
  }

  /* Edition : panneau large sous le header split. */
  .mm-recipe-unified-editor{
    grid-column:1/-1!important;
    grid-row:2!important;
    margin:0!important;
    padding:22px 26px 28px!important;
    border:0!important;
    border-top:1px solid var(--mm-line)!important;
    border-radius:0 0 28px 28px!important;
    background:#FAF6F3!important;
    box-shadow:none!important;
  }
  .mm-recipe-unified-editor>.mm-recipe-editor-tabs,
  .mm-recipe-unified-editor>.mm-recipe-editor-pane{
    max-width:980px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}


/* ============================================================
   V638 — FICHE RECETTE DESKTOP ERGONOMIQUE >=1100
   Panneau gauche fixe (photo + actions), contenu droit scrollable
   dans un flux de lecture naturel. Mobile/tablette inchangés.
============================================================ */
@media(min-width:1100px){
  .mm-recipe-detail-sheet{
    width:min(1160px,calc(100vw - 48px))!important;
    max-width:1160px!important;
    height:min(790px,calc(100dvh - 48px))!important;
    max-height:min(790px,calc(100dvh - 48px))!important;
    display:grid!important;
    grid-template-columns:420px minmax(0,1fr)!important;
    grid-template-rows:300px minmax(0,1fr)!important;
    overflow:hidden!important;
    border-radius:28px!important;
  }

  /* Colonne gauche toujours visible : contexte + actions restent accessibles. */
  .mm-recipe-detail-hero{
    grid-column:1!important;
    grid-row:1!important;
    width:100%!important;
    height:300px!important;
    min-height:300px!important;
    max-height:300px!important;
    border-radius:28px 0 0 0!important;
  }

  .mm-recipe-detail-title{
    left:24px!important;
    right:24px!important;
    bottom:21px!important;
    font-size:27px!important;
    line-height:1.08!important;
  }

  .mm-recipe-detail-body{
    display:contents!important;
  }

  .mm-recipe-detail-summary{
    grid-column:1!important;
    grid-row:2!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    display:flex!important;
    flex-direction:column!important;
    gap:13px!important;
    padding:22px 24px 24px!important;
    border-top:1px solid var(--mm-line)!important;
    border-left:0!important;
    border-right:1px solid var(--mm-line)!important;
    background:linear-gradient(180deg,#FFFDFC 0%,#FBF6F3 100%)!important;
  }

  .mm-recipe-detail-meta{
    gap:7px!important;
  }
  .mm-recipe-detail-meta>span{
    min-height:30px!important;
    padding:5px 8px!important;
    font-size:11.7px!important;
  }

  .mm-recipe-detail-primary-actions{
    margin-top:1px!important;
  }

  .mm-recipe-rating-control{
    min-height:40px!important;
    padding-top:8px!important;
  }

  .mm-recipe-cooking-action>button{
    min-height:46px!important;
  }

  .mm-recipe-photo-tools{
    margin-top:auto!important;
  }

  /* Colonne droite : un seul flux de lecture, scroll indépendant. */
  .mm-recipe-read-layout{
    grid-column:2!important;
    grid-row:1 / span 2!important;
    min-width:0!important;
    min-height:0!important;
    height:100%!important;
    display:block!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    scrollbar-gutter:stable!important;
    padding:28px 30px 32px!important;
    border-left:0!important;
    background:#FAF6F3!important;
  }

  .mm-recipe-read-primary,
  .mm-recipe-read-secondary{
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:22px!important;
    border:1px solid rgba(75,30,63,.075)!important;
    border-radius:20px!important;
    background:var(--mm-card)!important;
    box-shadow:0 7px 22px rgba(55,43,46,.035)!important;
  }

  .mm-recipe-read-primary{
    background:#FCF8F6!important;
  }

  .mm-recipe-read-secondary{
    margin-top:18px!important;
    padding-left:22px!important;
    border-left:1px solid rgba(75,30,63,.075)!important;
  }

  /* Ingrédients : exploiter la largeur sans allonger inutilement la page. */
  .mm-recipe-ingredients{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }

  .mm-recipe-ingredient{
    min-height:44px!important;
    padding:9px 11px!important;
    align-items:center!important;
  }

  .mm-recipe-ingredients-heading{
    position:sticky!important;
    top:-1px!important;
    z-index:2!important;
    min-height:46px!important;
    margin:-4px -4px 12px!important;
    padding:4px!important;
    background:#FCF8F6!important;
  }

  /* Préparation : lecture linéaire, étapes clairement séparées. */
  .mm-recipe-preparation-title{
    position:sticky!important;
    top:-1px!important;
    z-index:2!important;
    min-height:44px!important;
    margin:-4px -4px 12px!important;
    padding:4px!important;
    background:var(--mm-card)!important;
  }

  .mm-recipe-steps{
    gap:9px!important;
  }

  .mm-recipe-step{
    min-height:64px!important;
    padding:13px 14px!important;
    align-items:flex-start!important;
  }

  .mm-recipe-step-num{
    margin-top:1px!important;
  }

  .mm-recipe-step>div{
    font-size:13.4px!important;
    line-height:1.52!important;
  }

  /* Notes suivent le contenu, au lieu d'être perdues tout en bas du modal. */
  .mm-recipe-practical-notes-wide{
    width:100%!important;
    margin-top:18px!important;
    padding:14px 16px!important;
    border-radius:17px!important;
  }

  /* Édition : même logique de panneau droit scrollable. */
  .mm-recipe-unified-editor{
    grid-column:2!important;
    grid-row:1 / span 2!important;
    min-width:0!important;
    min-height:0!important;
    height:100%!important;
    overflow-y:auto!important;
    margin:0!important;
    padding:26px 30px 32px!important;
    border:0!important;
    border-left:1px solid var(--mm-line)!important;
    border-radius:0 28px 28px 0!important;
    background:#FAF6F3!important;
  }

  .mm-recipe-unified-editor>.mm-recipe-editor-tabs,
  .mm-recipe-unified-editor>.mm-recipe-editor-pane{
    max-width:none!important;
  }
}

@media(min-width:1380px){
  .mm-recipe-detail-sheet{
    grid-template-columns:440px minmax(0,1fr)!important;
  }
}


/* ============================================================
   V639 — FINITION ERGONOMIQUE RECETTE DESKTOP >=1100
   Navigation rapide sticky, titres de section persistants,
   scrollbar discrète et ingrédients légèrement plus compacts.
============================================================ */
.mm-recipe-desktop-jump-nav{
  display:none;
}

@media(min-width:1100px){
  .mm-recipe-read-layout{
    scrollbar-width:thin!important;
    scrollbar-color:rgba(95,35,78,.24) transparent!important;
  }
  .mm-recipe-read-layout::-webkit-scrollbar{
    width:8px!important;
  }
  .mm-recipe-read-layout::-webkit-scrollbar-track{
    background:transparent!important;
  }
  .mm-recipe-read-layout::-webkit-scrollbar-thumb{
    border:2px solid transparent!important;
    border-radius:999px!important;
    background:rgba(95,35,78,.22)!important;
    background-clip:padding-box!important;
  }
  .mm-recipe-read-layout::-webkit-scrollbar-thumb:hover{
    background:rgba(95,35,78,.34)!important;
    background-clip:padding-box!important;
  }

  .mm-recipe-desktop-jump-nav{
    position:sticky!important;
    top:-1px!important;
    z-index:12!important;
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
    width:max-content!important;
    max-width:100%!important;
    margin:0 0 16px!important;
    padding:5px!important;
    border:1px solid rgba(75,30,63,.075)!important;
    border-radius:15px!important;
    background:rgba(255,253,252,.96)!important;
    box-shadow:0 8px 24px rgba(55,43,46,.055)!important;
    backdrop-filter:blur(14px)!important;
    -webkit-backdrop-filter:blur(14px)!important;
  }

  .mm-recipe-desktop-jump-nav>button{
    min-height:36px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    padding:7px 11px!important;
    border:0!important;
    border-radius:11px!important;
    background:transparent!important;
    color:var(--mm-muted)!important;
    font:750 11.5px/1 ui-sans-serif,system-ui,-apple-system,sans-serif!important;
    cursor:pointer!important;
    transition:background .16s ease,color .16s ease,transform .16s ease!important;
  }

  .mm-recipe-desktop-jump-nav>button:hover{
    background:var(--mm-soft)!important;
    color:var(--mm-prune-text)!important;
  }

  .mm-recipe-desktop-jump-nav>button:active{
    transform:scale(.98)!important;
  }

  .mm-recipe-desktop-jump-nav>button>i{
    font-size:15px!important;
  }

  .mm-recipe-read-primary,
  .mm-recipe-read-secondary,
  .mm-recipe-practical-notes-wide{
    scroll-margin-top:62px!important;
  }

  .mm-recipe-ingredients-heading,
  .mm-recipe-preparation-title{
    top:52px!important;
  }

  .mm-recipe-ingredient{
    min-height:39px!important;
    padding:8px 10px!important;
    font-size:12.7px!important;
  }

  .mm-recipe-ingredients{
    gap:7px!important;
  }
}


/* ============================================================
   V640 — ÉTAPES RECETTE + NAV ACTIVE DESKTOP >=1100
   Offset sticky corrigé, section courante mise en évidence et
   étapes présentées comme de vraies cartes d'instruction.
============================================================ */
@media(min-width:1100px){
  .mm-recipe-read-primary,
  .mm-recipe-read-secondary,
  .mm-recipe-practical-notes-wide{
    scroll-margin-top:78px!important;
  }

  .mm-recipe-ingredients-heading,
  .mm-recipe-preparation-title{
    top:58px!important;
  }

  .mm-recipe-desktop-jump-nav{
    margin-bottom:18px!important;
  }

  .mm-recipe-desktop-jump-nav>button.is-active{
    background:#F3E8EF!important;
    color:#672551!important;
    box-shadow:inset 0 0 0 1px rgba(103,37,81,.08)!important;
  }

  .mm-recipe-desktop-jump-nav>button.is-active>i{
    color:#7A315F!important;
  }

  /* Étapes : numéro au-dessus, contenu sur une nouvelle ligne. */
  .mm-recipe-steps{
    display:grid!important;
    gap:11px!important;
  }

  .mm-recipe-step{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto!important;
    gap:9px!important;
    min-height:0!important;
    padding:14px 16px 15px!important;
    border:1px solid rgba(75,30,63,.065)!important;
    border-radius:16px!important;
    background:#FCF9F7!important;
    box-shadow:0 4px 14px rgba(55,43,46,.025)!important;
  }

  .mm-recipe-step-num{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    margin:0!important;
    display:inline-grid!important;
    place-items:center!important;
    justify-self:start!important;
    border-radius:10px!important;
    background:#EFE2EA!important;
    color:#672551!important;
    font-size:12px!important;
    font-weight:850!important;
  }

  .mm-recipe-step-copy{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    padding:0!important;
    color:var(--mm-ink)!important;
    font-size:13.6px!important;
    line-height:1.55!important;
    letter-spacing:-.005em!important;
  }

  .mm-recipe-step:hover{
    border-color:rgba(103,37,81,.12)!important;
    background:#FFFDFC!important;
  }
}


/* ============================================================
   V642 — POLISH FINAL FICHE RECETTE DESKTOP >=1100
   Dernières finitions visuelles : modal plus contenue, hero mieux
   fini, navigation intégrée, rating/photo plus nets, étapes et notes
   allégées. Mobile/tablette inchangés.
============================================================ */
@media(min-width:1100px){
  /* Modal un peu plus compacte sur les grands écrans. */
  .mm-recipe-detail-sheet{
    width:min(1100px,calc(100vw - 48px))!important;
    max-width:1100px!important;
    height:min(760px,calc(100dvh - 48px))!important;
    max-height:min(760px,calc(100dvh - 48px))!important;
    grid-template-columns:400px minmax(0,1fr)!important;
    grid-template-rows:290px minmax(0,1fr)!important;
  }

  /* Hero : titre un peu remonté + dégradé plus progressif. */
  .mm-recipe-detail-hero{
    height:290px!important;
    min-height:290px!important;
    max-height:290px!important;
  }

  .mm-recipe-detail-hero::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:2;
    pointer-events:none;
    background:linear-gradient(180deg,
      rgba(20,10,17,0) 46%,
      rgba(20,10,17,.08) 58%,
      rgba(20,10,17,.34) 76%,
      rgba(20,10,17,.70) 100%);
  }

  .mm-recipe-detail-title{
    left:24px!important;
    right:24px!important;
    bottom:27px!important;
    font-size:28px!important;
    line-height:1.06!important;
    text-shadow:0 3px 15px rgba(0,0,0,.46)!important;
  }

  /* Retour / partage plus discrets sur desktop. */
  .mm-recipe-detail-hero>button{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
  }

  /* Colonne gauche : rythme plus compact, moins d'espace mort. */
  .mm-recipe-detail-summary{
    gap:11px!important;
    padding:20px 22px 22px!important;
  }

  .mm-recipe-detail-meta{
    gap:6px!important;
  }

  .mm-recipe-detail-meta>span{
    min-height:29px!important;
    padding:5px 8px!important;
  }

  .mm-recipe-detail-primary-actions{
    gap:8px!important;
    margin-top:0!important;
  }

  /* Note plus lisible tout en restant secondaire. */
  .mm-recipe-rating-control{
    min-height:46px!important;
    padding:9px 11px!important;
    border:1px solid rgba(75,30,63,.065)!important;
    border-radius:14px!important;
    background:rgba(255,255,255,.72)!important;
  }

  .mm-recipe-rating-head{
    gap:7px!important;
  }

  .mm-recipe-rating-head,
  .mm-recipe-rating-head strong{
    font-size:11.8px!important;
  }

  .mm-recipe-rating-star{
    width:34px!important;
    min-width:34px!important;
    height:36px!important;
    font-size:21px!important;
    color:#9A8B94!important;
  }

  .mm-recipe-rating-star:hover{
    color:#7A315F!important;
    transform:translateY(-1px)!important;
  }

  /* "Ajouter une photo" devient un vrai contrôle secondaire. */
  .mm-recipe-photo-tools{
    margin-top:0!important;
    min-height:38px!important;
    align-items:center!important;
    opacity:1!important;
  }

  .mm-recipe-photo-add{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    min-height:38px!important;
    padding:7px 11px!important;
    border:1px solid rgba(75,30,63,.08)!important;
    border-radius:12px!important;
    background:#FFFDFC!important;
    color:#765F6D!important;
    font-size:10.8px!important;
    font-weight:750!important;
    cursor:pointer!important;
  }

  .mm-recipe-photo-add:hover{
    border-color:rgba(103,37,81,.16)!important;
    background:#F7F0F4!important;
    color:#672551!important;
  }

  /* Navigation interne : vraie barre segmentée du panneau droit. */
  .mm-recipe-desktop-jump-nav{
    width:100%!important;
    max-width:none!important;
    justify-content:stretch!important;
    gap:5px!important;
    margin-bottom:16px!important;
    padding:5px!important;
    border-radius:16px!important;
  }

  .mm-recipe-desktop-jump-nav>button{
    flex:1 1 0!important;
    min-width:0!important;
    min-height:38px!important;
    padding:8px 10px!important;
  }

  .mm-recipe-desktop-jump-nav>button.is-active{
    background:#F1E3EC!important;
    color:#62214D!important;
    box-shadow:inset 0 0 0 1px rgba(98,33,77,.09)!important;
  }

  /* Cartes de contenu un peu plus légères. */
  .mm-recipe-read-primary,
  .mm-recipe-read-secondary{
    border-color:rgba(75,30,63,.055)!important;
    box-shadow:0 5px 18px rgba(55,43,46,.028)!important;
  }

  /* Étapes : numéro plus assumé, carte plus légère, texte plus confortable. */
  .mm-recipe-steps{
    gap:12px!important;
  }

  .mm-recipe-step{
    gap:11px!important;
    padding:14px 16px 16px!important;
    border-color:rgba(75,30,63,.055)!important;
    background:#FFFDFC!important;
    box-shadow:0 3px 12px rgba(55,43,46,.022)!important;
  }

  .mm-recipe-step-num{
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    border-radius:10px!important;
    background:#6F2858!important;
    color:#FFFFFF!important;
    font-size:12.5px!important;
    font-weight:850!important;
    box-shadow:0 4px 10px rgba(111,40,88,.14)!important;
  }

  .mm-recipe-step-copy{
    font-size:14px!important;
    line-height:1.56!important;
    color:#34242F!important;
  }

  .mm-recipe-step:hover{
    border-color:rgba(103,37,81,.105)!important;
    background:#FFFFFF!important;
  }

  /* Notes : annotation compacte plutôt qu'une troisième grosse carte. */
  .mm-recipe-practical-notes-wide{
    margin-top:14px!important;
    padding:11px 13px!important;
    border-radius:15px!important;
  }

  .mm-recipe-practical-notes-wide>div:first-child{
    margin-bottom:4px!important;
  }

  .mm-recipe-practical-notes-wide>div:first-child>div{
    font-size:11.8px!important;
  }

  .mm-recipe-practical-notes-wide .mm-empty-inline,
  .mm-recipe-practical-notes-wide>div:last-child{
    font-size:11.4px!important;
    line-height:1.4!important;
  }

  .mm-recipe-practical-notes-wide button{
    min-height:34px!important;
    padding:5px 10px!important;
    font-size:10.6px!important;
  }
}

@media(min-width:1380px){
  .mm-recipe-detail-sheet{
    grid-template-columns:410px minmax(0,1fr)!important;
  }
}


/* ============================================================
   V643 — MENUS DESKTOP ERGONOMIQUE >=1100
   Priorité à l'usage : moins de barres empilées, actions regroupées,
   vue Jour plus directe et vue Semaine adaptée à la largeur disponible.
   Mobile et tablette restent inchangés.
============================================================ */
@media(min-width:1100px){
  .mm-week-screen{
    position:relative!important;
  }

  /* En-tête desktop : titre à gauche, choix Jour/Semaine à portée immédiate. */
  .mm-week-screen .mm-week-heading{
    min-height:54px!important;
    margin-bottom:8px!important;
    padding-right:286px!important;
  }

  .mm-week-screen .mm-week-heading>div:first-child{
    line-height:1.02!important;
  }

  .mm-week-screen .mm-menu-view-switch{
    position:absolute!important;
    top:0!important;
    right:0!important;
    width:268px!important;
    margin:0!important;
    padding:4px!important;
    gap:4px!important;
    border-radius:14px!important;
    background:var(--mm-soft)!important;
  }

  .mm-week-screen .mm-menu-view-switch button{
    min-height:40px!important;
    padding:7px 14px!important;
    border-radius:11px!important;
    font-size:11.5px!important;
  }

  /* Le résumé redevient une information secondaire, sans perdre son détail dépliable. */
  .mm-week-screen .mm-week-summary{
    margin:0 0 8px!important;
  }

  .mm-week-screen .mm-week-summary-toggle{
    min-height:34px!important;
    padding:3px 7px!important;
    gap:8px!important;
    border:0!important;
    border-radius:10px!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  .mm-week-screen .mm-week-summary-toggle>span strong{
    font-size:10.5px!important;
  }

  .mm-week-screen .mm-week-summary-toggle>small{
    font-size:9.5px!important;
  }

  .mm-week-screen .mm-week-summary-toggle>i:last-child{
    margin-left:auto!important;
  }

  /* Navigation de semaine et action principale sur une seule ligne logique. */
  .mm-week-screen .mm-week-primary-controls{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 208px!important;
    align-items:stretch!important;
    gap:10px!important;
    margin-bottom:10px!important;
  }

  .mm-week-screen .mm-week-nav-premium{
    width:100%!important;
    min-height:44px!important;
    grid-template-columns:42px minmax(0,1fr) 42px 42px!important;
    padding:1px 4px!important;
    border-radius:13px!important;
  }

  .mm-week-screen .mm-week-nav-premium>button:not(.mm-week-tools-trigger),
  .mm-week-screen .mm-week-nav-premium .mm-week-tools-trigger{
    width:42px!important;
    min-width:42px!important;
    height:42px!important;
    min-height:42px!important;
  }

  .mm-week-screen .mm-week-nav-label{
    font-size:12.5px!important;
    font-weight:700!important;
  }

  .mm-week-screen .mm-week-actions-bar.is-simplified{
    display:block!important;
    width:100%!important;
  }

  .mm-week-screen .mm-week-generate-primary{
    width:100%!important;
    min-height:44px!important;
    height:44px!important;
    margin:0!important;
    padding:0 15px!important;
    border-radius:13px!important;
    font-size:10.8px!important;
    gap:6px!important;
  }

  /* Vue Jour : garder les sept jours visibles sans leur donner trop de poids. */
  .mm-week-screen .mm-week-days{
    gap:6px!important;
    margin:0 0 10px!important;
  }

  .mm-week-screen .mm-week-day-chip{
    min-height:50px!important;
    padding:4px 2px!important;
    border-radius:12px!important;
  }

  .mm-week-screen .mm-week-day-label{
    font-size:8px!important;
  }

  .mm-week-screen .mm-week-day-number{
    font-size:14px!important;
  }

  .mm-week-screen .mm-week-day-heading{
    margin:0 0 9px!important;
  }

  .mm-week-screen .mm-week-day-slots{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    align-items:start!important;
    gap:12px!important;
  }

  .mm-week-screen .mm-week-day-slots>div{
    min-width:0!important;
  }

  .mm-week-screen .mm-week-meal-row{
    grid-template-columns:100px minmax(0,1fr) 34px!important;
    gap:9px!important;
    padding:9px 10px 7px!important;
  }

  .mm-week-screen .mm-week-meal-thumb{
    width:100px!important;
    height:100px!important;
    min-width:100px!important;
  }

  .mm-week-screen .mm-week-meal-name{
    font-size:16.5px!important;
    line-height:1.12!important;
  }

  .mm-week-screen .mm-week-meal-footer{
    gap:7px!important;
    padding:0 10px 9px!important;
  }

  /* Les compléments restent secondaires et lisibles, sans redevenir une longue pile. */
  .mm-week-screen .mm-week-extra-section{
    margin-top:14px!important;
  }

  .mm-week-screen .mm-week-extra-heading{
    margin-bottom:7px!important;
  }

  .mm-week-screen .mm-week-extra-list{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
  }

  .mm-week-screen .mm-week-extra-list>button{
    min-width:0!important;
  }

  /* Vue Semaine : cartes à hauteur naturelle, pas de grands vides imposés par la ligne. */
  .mm-week-screen .mm-week-overview-list{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    align-items:start!important;
    gap:10px!important;
  }

  .mm-week-screen .mm-week-overview-day{
    min-width:0!important;
    align-self:start!important;
    height:auto!important;
    padding:10px!important;
    gap:8px!important;
  }

  .mm-week-screen .mm-week-overview-day.is-today{
    border-color:rgba(111,40,88,.16)!important;
    background:linear-gradient(135deg,rgba(246,232,241,.72),var(--mm-card) 68%)!important;
  }

  .mm-week-screen .mm-week-overview-day-head{
    min-height:44px!important;
    padding:0 1px 7px!important;
  }
}

@media(min-width:1280px){
  /* Sur un vrai desktop, trois jours par rangée donnent un balayage plus rapide
     sans comprimer les informations dans sept colonnes illisibles. */
  .mm-week-screen .mm-week-overview-list{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }

  .mm-week-screen .mm-week-overview-day:nth-child(7){
    grid-column:2!important;
  }

  /* Dans une carte devenue plus étroite, Midi et Soir sont des lignes
     verticales faciles à lire plutôt que deux mini-cartes tassées. */
  .mm-week-screen .mm-week-overview-main-meals{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:6px!important;
  }

  .mm-week-screen .mm-week-overview-main-meals .mm-week-overview-meal,
  .mm-week-screen .mm-week-overview-main-meals .mm-week-overview-meal-main,
  .mm-week-screen .mm-week-overview-main-meals .mm-week-overview-meal.is-empty{
    min-height:58px!important;
  }

  .mm-week-screen .mm-week-overview-main-meals .mm-week-overview-meal-main,
  .mm-week-screen .mm-week-overview-main-meals .mm-week-overview-meal.is-empty{
    padding:7px!important;
  }

  .mm-week-screen .mm-week-overview-main-meals .mm-week-overview-photo,
  .mm-week-screen .mm-week-overview-main-meals .mm-week-overview-empty-icon{
    width:42px!important;
    height:42px!important;
    flex:0 0 42px!important;
  }

  .mm-week-screen .mm-week-overview-main-meals .mm-week-overview-meal-copy{
    min-height:42px!important;
  }

  .mm-week-screen .mm-week-overview-main-meals .mm-week-overview-meal-copy strong{
    min-height:0!important;
    max-height:34px!important;
    font-size:10.6px!important;
    line-height:1.18!important;
    -webkit-line-clamp:2!important;
  }
}


/* ============================================================
   V644 — FINITIONS ERGONOMIQUES MENUS DESKTOP >=1100
   Réduit les déplacements de souris et le bruit visuel :
   résumé compact, navigation groupée et extras hebdomadaires
   sur une seule ligne. Mobile/tablette inchangés.
============================================================ */
@media(min-width:1100px){
  /* Résumé : l'information et son chevron restent physiquement regroupés. */
  .mm-week-screen .mm-week-summary-toggle{
    width:max-content!important;
    max-width:100%!important;
    min-height:32px!important;
    grid-template-columns:auto auto 18px!important;
    justify-content:start!important;
    padding:2px 7px!important;
    gap:7px!important;
  }

  .mm-week-screen .mm-week-summary-toggle>small{
    max-width:260px!important;
  }

  .mm-week-screen .mm-week-summary-toggle>i:last-child{
    margin-left:0!important;
    justify-self:center!important;
  }

  /* Navigation : précédent/date/suivant/options forment un seul contrôle
     de portée raisonnable au lieu d'occuper toute la largeur du workspace. */
  .mm-week-screen .mm-week-primary-controls{
    grid-template-columns:minmax(480px,580px) 208px!important;
    justify-content:space-between!important;
  }

  .mm-week-screen .mm-week-nav-premium{
    max-width:580px!important;
  }

  /* Vue semaine : les extras restent visibles sans augmenter fortement
     la hauteur d'une journée. Les trois compléments tiennent sur une ligne. */
  .mm-week-screen .mm-week-overview-extras{
    margin-top:6px!important;
    padding-top:6px!important;
  }

  .mm-week-screen .mm-week-overview-extras-label{
    margin-bottom:4px!important;
    font-size:8px!important;
  }

  .mm-week-screen .mm-week-overview-extras-list{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:5px!important;
  }

  .mm-week-screen .mm-week-overview-meal.is-extra{
    min-width:0!important;
  }

  .mm-week-screen .mm-week-overview-meal.is-extra .mm-week-overview-meal-main,
  .mm-week-screen .mm-week-overview-meal.is-extra.mm-week-overview-meal.is-empty{
    min-height:46px!important;
    height:46px!important;
    padding:5px 6px!important;
    flex-direction:row!important;
    align-items:center!important;
    gap:6px!important;
  }

  .mm-week-screen .mm-week-overview-meal.is-extra .mm-week-overview-photo,
  .mm-week-screen .mm-week-overview-meal.is-extra .mm-week-overview-empty-icon{
    width:28px!important;
    min-width:28px!important;
    height:28px!important;
    flex:0 0 28px!important;
    border-radius:8px!important;
  }

  .mm-week-screen .mm-week-overview-meal.is-extra .mm-week-overview-meal-copy{
    min-width:0!important;
    min-height:0!important;
    justify-content:center!important;
    gap:1px!important;
  }

  .mm-week-screen .mm-week-overview-meal.is-extra .mm-week-overview-meal-copy small{
    font-size:7.4px!important;
    line-height:1!important;
  }

  .mm-week-screen .mm-week-overview-meal.is-extra .mm-week-overview-meal-copy strong{
    min-height:0!important;
    max-height:22px!important;
    font-size:9.1px!important;
    line-height:1.12!important;
    -webkit-line-clamp:2!important;
  }
}

@media(min-width:1280px){
  /* Avec trois colonnes de jours, garder exactement le même rythme compact. */
  .mm-week-screen .mm-week-overview-extras-list{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}


/* ============================================================
   V645 — PLANNING HEBDOMADAIRE DESKTOP >=1280
   La vue Semaine devient un vrai planning : jours en colonnes,
   moments en lignes. L'utilisateur compare les 7 jours sans
   reconstruire mentalement une grille de cartes de hauteurs différentes.
============================================================ */
.mm-week-planner{
  display:none;
}

@media(min-width:1280px){
  .mm-week-screen .mm-week-overview-card-view{
    display:none!important;
  }

  .mm-week-screen .mm-week-overview-toolbar{
    margin-bottom:9px!important;
  }

  .mm-week-screen .mm-week-planner{
    display:grid!important;
    grid-template-columns:76px repeat(7,minmax(0,1fr))!important;
    width:100%!important;
    overflow:hidden!important;
    border:1px solid var(--mm-line)!important;
    border-radius:18px!important;
    background:var(--mm-card)!important;
    box-shadow:var(--mm-shadow-card)!important;
  }

  .mm-week-screen .mm-week-planner-corner,
  .mm-week-screen .mm-week-planner-row-label{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    min-width:0!important;
    padding:8px 6px!important;
    border-right:1px solid var(--mm-line)!important;
    border-bottom:1px solid var(--mm-line)!important;
    background:var(--mm-soft)!important;
    color:var(--mm-muted)!important;
    font-size:9px!important;
    font-weight:800!important;
    text-transform:uppercase!important;
    letter-spacing:.04em!important;
  }

  .mm-week-screen .mm-week-planner-corner{
    min-height:54px!important;
  }

  .mm-week-screen .mm-week-planner-row-label{
    min-height:76px!important;
    flex-direction:column!important;
  }

  .mm-week-screen .mm-week-planner-row-label.is-extras{
    min-height:52px!important;
    border-bottom:0!important;
  }

  .mm-week-screen .mm-week-planner-row-label i{
    font-size:14px!important;
    color:var(--mm-prune)!important;
  }

  .mm-week-screen .mm-week-planner-day-head{
    min-width:0!important;
    min-height:54px!important;
    padding:6px 4px!important;
    border:0!important;
    border-right:1px solid var(--mm-line)!important;
    border-bottom:1px solid var(--mm-line)!important;
    border-radius:0!important;
    background:var(--mm-card)!important;
    color:var(--mm-text)!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:1px!important;
    cursor:pointer!important;
  }

  .mm-week-screen .mm-week-planner-day-head:last-of-type{
    border-right:0!important;
  }

  .mm-week-screen .mm-week-planner-day-head small{
    color:var(--mm-muted)!important;
    font-size:8px!important;
    font-weight:800!important;
    line-height:1!important;
    text-transform:uppercase!important;
  }

  .mm-week-screen .mm-week-planner-day-head strong{
    color:var(--mm-prune-deep)!important;
    font-family:var(--mm-display),Georgia,serif!important;
    font-size:17px!important;
    line-height:1!important;
  }

  .mm-week-screen .mm-week-planner-day-head span{
    margin-top:2px!important;
    padding:2px 5px!important;
    border-radius:999px!important;
    background:var(--mm-prune)!important;
    color:#fff!important;
    font-size:6.8px!important;
    font-weight:800!important;
    line-height:1.1!important;
  }

  .mm-week-screen .mm-week-planner-day-head.is-today,
  .mm-week-screen .mm-week-planner-meal.is-today,
  .mm-week-screen .mm-week-planner-extra-cell.is-today{
    background:rgba(246,232,241,.62)!important;
  }

  .mm-week-screen .mm-week-planner-meal{
    position:relative!important;
    min-width:0!important;
    min-height:76px!important;
    padding:8px 7px!important;
    border:0!important;
    border-right:1px solid var(--mm-line)!important;
    border-bottom:1px solid var(--mm-line)!important;
    border-radius:0!important;
    background:var(--mm-card)!important;
    color:var(--mm-text)!important;
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
    text-align:left!important;
    cursor:pointer!important;
  }

  .mm-week-screen .mm-week-planner-meal:nth-child(8n){
    border-right:0!important;
  }

  .mm-week-screen .mm-week-planner-meal:hover,
  .mm-week-screen .mm-week-planner-day-head:hover,
  .mm-week-screen .mm-week-planner-extra-cell:hover{
    background:var(--mm-soft)!important;
  }

  .mm-week-screen .mm-week-planner-meal.is-empty{
    justify-content:center!important;
    flex-direction:column!important;
    gap:4px!important;
    color:var(--mm-prune)!important;
    font-size:9px!important;
    font-weight:750!important;
  }

  .mm-week-screen .mm-week-planner-meal.is-unavailable{
    justify-content:center!important;
    color:var(--mm-muted)!important;
    cursor:default!important;
  }

  .mm-week-screen .mm-week-planner-add{
    width:26px!important;
    height:26px!important;
    border-radius:9px!important;
    background:var(--mm-soft)!important;
    display:grid!important;
    place-items:center!important;
  }

  .mm-week-screen .mm-week-planner-photo{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    flex:0 0 38px!important;
    overflow:hidden!important;
    border-radius:10px!important;
    background:var(--mm-soft)!important;
    display:grid!important;
    place-items:center!important;
  }

  .mm-week-screen .mm-week-planner-photo img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    display:block!important;
  }

  .mm-week-screen .mm-week-planner-copy{
    min-width:0!important;
    display:block!important;
  }

  .mm-week-screen .mm-week-planner-copy strong{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:3!important;
    overflow:hidden!important;
    font-size:9.6px!important;
    line-height:1.18!important;
    font-weight:760!important;
  }

  .mm-week-screen .mm-week-planner-done{
    position:absolute!important;
    top:5px!important;
    right:5px!important;
    color:#65805F!important;
    font-size:12px!important;
  }

  .mm-week-screen .mm-week-planner-extra-cell{
    min-width:0!important;
    min-height:52px!important;
    padding:6px 7px!important;
    border:0!important;
    border-right:1px solid var(--mm-line)!important;
    border-radius:0!important;
    background:var(--mm-card)!important;
    color:var(--mm-text)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    text-align:left!important;
    cursor:pointer!important;
  }

  .mm-week-screen .mm-week-planner-extra-cell:last-child{
    border-right:0!important;
  }

  .mm-week-screen .mm-week-planner-extra-icons{
    display:flex!important;
    align-items:center!important;
    gap:2px!important;
    flex:0 0 auto!important;
  }

  .mm-week-screen .mm-week-planner-extra-icons i{
    width:21px!important;
    height:21px!important;
    border-radius:7px!important;
    background:var(--mm-soft)!important;
    color:var(--mm-prune)!important;
    display:grid!important;
    place-items:center!important;
    font-size:10px!important;
  }

  .mm-week-screen .mm-week-planner-extra-copy{
    min-width:0!important;
    display:grid!important;
    gap:1px!important;
  }

  .mm-week-screen .mm-week-planner-extra-copy strong{
    font-size:8.6px!important;
    line-height:1!important;
  }

  .mm-week-screen .mm-week-planner-extra-copy small{
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    color:var(--mm-muted)!important;
    font-size:7px!important;
    line-height:1.1!important;
  }

  .mm-week-screen .mm-week-planner-extra-empty{
    color:var(--mm-muted)!important;
    font-size:12px!important;
  }
}


/* ============================================================
   V646 — FINITIONS PLANNING SEMAINE DESKTOP >=1280
   Dernier polish ergonomique du planning : titres plus lisibles,
   extras synthétiques et affordance de clic plus claire.
============================================================ */
@media(min-width:1280px){
  /* Les noms restent scannables : deux lignes max, taille légèrement relevée. */
  .mm-week-screen .mm-week-planner-copy strong{
    -webkit-line-clamp:2!important;
    max-height:25px!important;
    font-size:10px!important;
    line-height:1.22!important;
  }

  /* Les extras donnent seulement l'information utile dans cette vue synthétique. */
  .mm-week-screen .mm-week-planner-extra-cell.has-extras{
    justify-content:flex-start!important;
    padding-inline:9px!important;
  }

  .mm-week-screen .mm-week-planner-extra-copy{
    display:flex!important;
    align-items:center!important;
    min-width:0!important;
  }

  .mm-week-screen .mm-week-planner-extra-copy strong{
    font-size:9px!important;
    line-height:1.1!important;
    white-space:nowrap!important;
  }

  /* Feedback souris discret mais évident sur les éléments réellement cliquables. */
  .mm-week-screen .mm-week-planner-meal:not(.is-unavailable):hover,
  .mm-week-screen .mm-week-planner-extra-cell:hover{
    background:#FBF6F9!important;
    box-shadow:inset 0 0 0 1px rgba(111,40,88,.10)!important;
  }

  .mm-week-screen .mm-week-planner-meal:not(.is-unavailable):focus-visible,
  .mm-week-screen .mm-week-planner-extra-cell:focus-visible{
    outline:2px solid rgba(111,40,88,.34)!important;
    outline-offset:-2px!important;
  }
}


/* ============================================================
   V647 — RECETTES DESKTOP ERGONOMIQUE >=1100
   Hiérarchie plus évidente : modes séparés des outils, recherche
   et ajout rapprochés, cartes régulières et idées légèrement enrichies.
   Mobile/tablette restent inchangés.
============================================================ */
.mm-library-filter-chip.is-desktop-filter,
.mm-library-week-label-desktop,
.mm-home-suggestion-meta{
  display:none;
}

@media(min-width:1100px){
  /* Le choix Recettes / Idées reste le niveau principal, sans occuper tout le workspace. */
  .mm-library-screen .mm-library-mode-switch{
    width:min(100%,600px)!important;
    margin:0 0 10px!important;
  }

  /* Recherche + création = un même groupe d'actions, à portée de souris. */
  .mm-library-screen .mm-library-search-row{
    grid-template-columns:minmax(0,740px) 120px!important;
    justify-content:start!important;
    gap:8px!important;
    margin-bottom:8px!important;
  }

  .mm-library-screen .mm-library-add-compact{
    width:120px!important;
    padding:0 12px!important;
    font-size:10.5px!important;
  }

  /* Toutes / Favoris / Mes recettes sont des modes de bibliothèque.
     Filtres quitte volontairement ce groupe. */
  .mm-library-screen .mm-library-source-scroll{
    width:min(100%,620px)!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:4px!important;
    padding:3px!important;
    margin:0 0 5px!important;
    overflow:visible!important;
    border-radius:14px!important;
    background:var(--mm-soft)!important;
  }

  .mm-library-screen .mm-library-source-scroll>button{
    width:100%!important;
    min-width:0!important;
    min-height:40px!important;
    border-radius:11px!important;
    font-size:10.2px!important;
  }

  .mm-library-screen .mm-library-filter-chip.is-mobile-filter{
    display:none!important;
  }

  .mm-library-screen .mm-library-filter-meta{
    min-height:38px!important;
    margin:0 2px 7px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
  }

  .mm-library-screen .mm-library-filter-tools{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:6px!important;
  }

  .mm-library-screen .mm-library-filter-chip.is-desktop-filter{
    min-height:34px!important;
    padding:4px 10px!important;
    border:1px solid var(--mm-line)!important;
    border-radius:11px!important;
    background:var(--mm-card)!important;
    color:var(--mm-prune-text)!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    font:inherit!important;
    font-size:9.8px!important;
    font-weight:750!important;
    cursor:pointer!important;
  }

  .mm-library-screen .mm-library-filter-chip.is-desktop-filter.is-active{
    background:var(--mm-soft)!important;
    border-color:rgba(111,40,88,.16)!important;
  }

  .mm-library-screen .mm-library-sort-trigger{
    min-height:34px!important;
    padding:4px 10px!important;
    border-radius:11px!important;
  }

  /* Catalogue : images un peu moins hautes, contenu et actions parfaitement alignés. */
  .mm-library-screen .mm-library-card .mm-library-photo-wrap{
    aspect-ratio:16/10!important;
  }

  .mm-library-screen .mm-library-card .mm-library-copy{
    padding:9px 10px 5px!important;
  }

  .mm-library-screen .mm-library-card .mm-library-copy h3{
    min-height:34px!important;
    max-height:34px!important;
    font-size:14.3px!important;
    line-height:1.18!important;
  }

  .mm-library-screen .mm-library-card .mm-library-meta{
    min-height:20px!important;
    margin-top:5px!important;
  }

  .mm-library-screen .mm-library-card .mm-library-tags{
    min-height:16px!important;
    margin-top:3px!important;
  }

  .mm-library-screen .mm-library-card .mm-library-actions{
    min-height:46px!important;
    padding:0 7px 7px!important;
  }

  .mm-library-screen .mm-library-card .mm-library-week{
    min-height:42px!important;
    font-size:9.5px!important;
  }

  .mm-library-screen .mm-library-week-label-short{
    display:none!important;
  }

  .mm-library-screen .mm-library-week-label-desktop{
    display:inline!important;
  }

  /* Idées : toujours légères, mais avec une durée utile sous le titre. */
  .mm-library-screen .mm-ideas-grid .mm-home-suggestion-card{
    min-height:154px!important;
    display:flex!important;
    flex-direction:column!important;
  }

  .mm-library-screen .mm-ideas-grid .mm-home-suggestion-photo{
    height:88px!important;
  }

  .mm-library-screen .mm-ideas-grid .mm-home-suggestion-body{
    flex:1 1 auto!important;
    padding:9px 10px 10px!important;
    display:grid!important;
    align-content:start!important;
    gap:5px!important;
  }

  .mm-library-screen .mm-ideas-grid .mm-home-suggestion-body>div:first-child{
    min-height:30px!important;
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
    font-size:11.2px!important;
    line-height:1.24!important;
  }

  .mm-library-screen .mm-ideas-grid .mm-home-suggestion-meta{
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
    color:var(--mm-muted)!important;
    font-size:8.8px!important;
  }

  .mm-library-screen .mm-ideas-grid .mm-home-suggestion-meta>span{
    display:inline-flex!important;
    align-items:center!important;
    gap:4px!important;
  }

  .mm-library-screen .mm-ideas-grid .mm-home-suggestion-meta i{
    font-size:10px!important;
  }
}


/* ============================================================
   V648 — FINITIONS RECETTES DESKTOP >=1100
   Dernier polish : CTA d'ajout moins dominant et outils de tri/
   filtre rapprochés du contenu sans modifier mobile/tablette.
============================================================ */
@media(min-width:1100px){
  .mm-library-screen .mm-library-filter-meta{
    width:min(100%,860px)!important;
  }

  .mm-library-screen .mm-library-card .mm-library-week{
    background:rgba(111,40,88,.025)!important;
    border-color:rgba(111,40,88,.10)!important;
    color:#72536D!important;
    font-weight:720!important;
  }

  .mm-library-screen .mm-library-card .mm-library-week:hover{
    background:var(--mm-soft)!important;
    border-color:rgba(111,40,88,.16)!important;
  }

  html[data-menumia-theme="dark"] .mm-library-screen .mm-library-card .mm-library-week{
    background:transparent!important;
    border-color:var(--mm-line)!important;
    color:var(--mm-prune-text)!important;
  }
}


/* ============================================================
   V649 — COURSES DESKTOP ERGONOMIQUE >=1100
   Commandes regroupées et catégories en deux colonnes indépendantes.
   Mobile/tablette restent inchangés.
============================================================ */
@media(min-width:1100px){
  .mm-shopping-screen .mm-functional-page-title-row{
    width:min(100%,720px)!important;
    min-height:44px!important;
    margin:0 0 8px!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:14px!important;
  }
  .mm-shopping-screen .mm-functional-page-title-row .mm-functional-page-title{margin:0!important}
  .mm-shopping-screen .mm-functional-page-title-row .mm-functional-head-action{
    width:40px!important;min-width:40px!important;height:40px!important;min-height:40px!important;
    flex:0 0 40px!important;border-radius:12px!important
  }
  .mm-shopping-screen .mm-shopping-add-block{
    width:min(100%,720px)!important;
    margin:0 0 9px!important;
  }
  .mm-shopping-screen .mm-shopping-add-row{
    grid-template-columns:minmax(0,1fr) 108px!important;
    gap:8px!important;
  }
  .mm-shopping-screen .mm-shopping-add-input,
  .mm-shopping-screen .mm-shopping-add-button{
    min-height:46px!important;height:46px!important;
  }
  .mm-shopping-screen .mm-shopping-add-button{
    min-width:108px!important;padding-inline:12px!important;
  }
  .mm-shopping-screen .mm-shopping-view-switch{
    width:min(100%,720px)!important;
    margin:0 0 7px!important;
  }
  .mm-shopping-screen .mm-shopping-view-switch button{min-height:42px!important}
  .mm-shopping-screen .mm-shopping-list-toolbar{
    width:min(100%,720px)!important;
    min-height:44px!important;
    margin:0 0 12px!important;
  }
  .mm-shopping-screen .mm-shopping-toolbar-buy-all{
    min-height:42px!important;padding-inline:13px!important;
  }
  .mm-shopping-screen .mm-shopping-inventory{
    display:block!important;
    columns:2!important;
    column-gap:14px!important;
  }
  .mm-shopping-screen .mm-shopping-category{
    display:inline-block!important;
    width:100%!important;
    margin:0 0 14px!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
    vertical-align:top!important;
  }
  .mm-shopping-screen .mm-shopping-category-head{
    min-height:58px!important;padding:7px 10px 7px 8px!important;
  }
  .mm-shopping-screen .mm-shopping-category-media{
    width:44px!important;height:44px!important;flex-basis:44px!important;
  }
  .mm-shopping-screen .mm-shopping-category-head .mm-category-thumb{
    width:40px!important;height:40px!important;min-width:40px!important;
  }
  .mm-shopping-screen .mm-shopping-category-list{margin-top:6px!important}
}


/* ============================================================
   V650 — FINITIONS COURSES DESKTOP >=1100
   Dernier polish : partage visuellement rattaché au titre et
   commandes hautes mieux proportionnées à la grille desktop.
============================================================ */
@media(min-width:1100px){
  .mm-shopping-screen .mm-functional-page-title-row{
    width:max-content!important;
    max-width:100%!important;
    justify-content:flex-start!important;
    gap:12px!important;
  }

  .mm-shopping-screen .mm-shopping-add-block,
  .mm-shopping-screen .mm-shopping-view-switch,
  .mm-shopping-screen .mm-shopping-list-toolbar{
    width:min(100%,860px)!important;
  }
}


/* ============================================================
   V651 — HEADER COURSES DESKTOP ÉQUILIBRÉ >=1100
   Le vide en haut à droite devient un vrai panneau d'état/action :
   la zone haute utilise toute la largeur sans étirer les champs.
============================================================ */
.mm-shopping-desktop-head{
  display:contents;
}
.mm-shopping-list-desktop-count{
  display:none;
}

@media(min-width:1100px){
  .mm-shopping-screen .mm-shopping-desktop-head{
    display:grid!important;
    grid-template-columns:minmax(0,860px) minmax(250px,1fr)!important;
    grid-template-areas:
      "title toolbar"
      "add toolbar"
      "switch toolbar"!important;
    gap:8px 16px!important;
    align-items:stretch!important;
    margin-bottom:12px!important;
  }

  .mm-shopping-screen .mm-shopping-desktop-head .mm-functional-page-title-row{
    grid-area:title!important;
    width:max-content!important;
    max-width:100%!important;
    margin:0!important;
    align-self:center!important;
  }

  .mm-shopping-screen .mm-shopping-desktop-head .mm-shopping-add-block{
    grid-area:add!important;
    width:100%!important;
    margin:0!important;
  }

  .mm-shopping-screen .mm-shopping-desktop-head .mm-shopping-view-switch{
    grid-area:switch!important;
    width:100%!important;
    margin:0!important;
  }

  .mm-shopping-screen .mm-shopping-desktop-head .mm-shopping-list-toolbar{
    grid-area:toolbar!important;
    width:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:14px!important;
    border:1px solid var(--mm-line)!important;
    border-radius:16px!important;
    background:var(--mm-card)!important;
    box-shadow:var(--mm-shadow-card)!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:space-between!important;
    gap:12px!important;
  }

  .mm-shopping-screen .mm-shopping-list-desktop-count{
    display:block!important;
    color:var(--mm-text)!important;
    font-size:13px!important;
    line-height:1.15!important;
    font-weight:800!important;
  }

  .mm-shopping-screen .mm-shopping-list-status{
    gap:5px!important;
  }

  .mm-shopping-screen .mm-shopping-list-status>small{
    font-size:9.5px!important;
    white-space:normal!important;
    overflow:visible!important;
  }

  .mm-shopping-screen .mm-shopping-list-actions{
    width:100%!important;
  }

  .mm-shopping-screen .mm-shopping-toolbar-buy-all{
    width:100%!important;
    min-height:42px!important;
  }
}


/* ============================================================
   V652 — HEADER RECETTES DESKTOP ÉQUILIBRÉ >=1100
   Même logique que Courses : la zone libre à droite devient un
   panneau utile pour le volume, les filtres et le tri.
============================================================ */
@media(min-width:1100px){
  .mm-library-screen:has(> .mm-library-filter-meta){
    display:grid!important;
    grid-template-columns:minmax(0,860px) minmax(250px,1fr)!important;
    grid-template-areas:
      "mode tools"
      "search tools"
      "source tools"
      "recipes recipes"!important;
    gap:8px 16px!important;
    align-items:stretch!important;
  }

  .mm-library-screen:has(> .mm-library-filter-meta)>.mm-library-mode-switch{
    grid-area:mode!important;
    width:100%!important;
    margin:0!important;
  }

  .mm-library-screen:has(> .mm-library-filter-meta)>.mm-library-search-row{
    grid-area:search!important;
    width:100%!important;
    grid-template-columns:minmax(0,1fr) 120px!important;
    margin:0!important;
  }

  .mm-library-screen:has(> .mm-library-filter-meta)>.mm-library-source-scroll{
    grid-area:source!important;
    width:100%!important;
    margin:0!important;
  }

  .mm-library-screen:has(> .mm-library-filter-meta)>.mm-library-filter-meta{
    grid-area:tools!important;
    width:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:14px!important;
    border:1px solid var(--mm-line)!important;
    border-radius:16px!important;
    background:var(--mm-card)!important;
    box-shadow:var(--mm-shadow-card)!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:space-between!important;
    gap:12px!important;
  }

  .mm-library-screen:has(> .mm-library-filter-meta)>.mm-library-filter-meta>span{
    color:var(--mm-text)!important;
    font-size:13px!important;
    line-height:1.15!important;
    font-weight:800!important;
  }

  .mm-library-screen:has(> .mm-library-filter-meta) .mm-library-filter-tools{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
  }

  .mm-library-screen:has(> .mm-library-filter-meta) .mm-library-filter-chip.is-desktop-filter,
  .mm-library-screen:has(> .mm-library-filter-meta) .mm-library-sort-trigger{
    width:100%!important;
    min-height:42px!important;
    justify-content:center!important;
  }

  .mm-library-screen:has(> .mm-library-filter-meta)>.mm-recipe-library-grid,
  .mm-library-screen:has(> .mm-library-filter-meta)>.mm-empty-state{
    grid-area:recipes!important;
    width:100%!important;
    margin-top:4px!important;
  }
}


/* ============================================================
   V653 — CORRECTION HEADER RECETTES DESKTOP >=1100
   V652 ciblait à tort des enfants directs qui sont dans le wrapper
   du catalogue. On expose ce wrapper au grid desktop pour utiliser
   réellement la zone haute droite.
============================================================ */
@media(min-width:1100px){
  .mm-library-screen:has(> .mm-library-recipes-panel.is-catalog){
    display:grid!important;
    grid-template-columns:minmax(0,860px) minmax(250px,1fr)!important;
    grid-template-areas:
      "mode tools"
      "search tools"
      "source tools"
      "recipes recipes"!important;
    gap:8px 16px!important;
    align-items:stretch!important;
  }

  .mm-library-screen:has(> .mm-library-recipes-panel.is-catalog)>.mm-library-mode-switch{
    grid-area:mode!important;
    width:100%!important;
    margin:0!important;
  }

  .mm-library-screen>.mm-library-recipes-panel.is-catalog{
    display:contents!important;
  }

  .mm-library-screen>.mm-library-recipes-panel.is-catalog>.mm-library-search-row{
    grid-area:search!important;
    width:100%!important;
    grid-template-columns:minmax(0,1fr) 120px!important;
    margin:0!important;
  }

  .mm-library-screen>.mm-library-recipes-panel.is-catalog>.mm-library-source-scroll{
    grid-area:source!important;
    width:100%!important;
    margin:0!important;
  }

  .mm-library-screen>.mm-library-recipes-panel.is-catalog>.mm-library-filter-meta{
    grid-area:tools!important;
    width:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:14px!important;
    border:1px solid var(--mm-line)!important;
    border-radius:16px!important;
    background:var(--mm-card)!important;
    box-shadow:var(--mm-shadow-card)!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:space-between!important;
    gap:12px!important;
  }

  .mm-library-screen>.mm-library-recipes-panel.is-catalog>.mm-library-filter-meta>span{
    color:var(--mm-text)!important;
    font-size:13px!important;
    line-height:1.15!important;
    font-weight:800!important;
  }

  .mm-library-screen>.mm-library-recipes-panel.is-catalog .mm-library-filter-tools{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
  }

  .mm-library-screen>.mm-library-recipes-panel.is-catalog .mm-library-filter-chip.is-desktop-filter,
  .mm-library-screen>.mm-library-recipes-panel.is-catalog .mm-library-sort-trigger{
    width:100%!important;
    min-height:42px!important;
    justify-content:center!important;
  }

  .mm-library-screen>.mm-library-recipes-panel.is-catalog>.mm-recipe-library-grid,
  .mm-library-screen>.mm-library-recipes-panel.is-catalog>.mm-empty-state{
    grid-area:recipes!important;
    width:100%!important;
    margin-top:4px!important;
  }
}




.mm-fridge-manage-bar{
  margin:10px 0 12px;
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
}
.mm-fridge-manage-bar.has-expired{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
}
.mm-fridge-manage-select,
.mm-fridge-manage-expired{
  min-width:0;
  min-height:58px;
  border-radius:15px;
  padding:9px 10px;
  display:grid;
  grid-template-columns:36px minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  text-align:left;
  font:inherit;
  cursor:pointer;
}
.mm-fridge-manage-select{
  border:1px solid rgba(104,67,107,.18);
  background:#F8F2F7;
  color:#68436B;
}
.mm-fridge-manage-select:hover,
.mm-fridge-manage-select:focus-visible{
  border-color:#68436B;
  box-shadow:0 0 0 3px rgba(104,67,107,.08);
}
.mm-fridge-manage-expired{
  border:1px solid rgba(168,70,57,.18);
  background:#FFF6F4;
  color:#A84639;
}
.mm-fridge-manage-expired:hover,
.mm-fridge-manage-expired:focus-visible{
  border-color:#A84639;
  box-shadow:0 0 0 3px rgba(168,70,57,.07);
}
.mm-fridge-manage-icon{
  width:36px;
  height:36px;
  border-radius:11px;
  display:grid;
  place-items:center;
  background:#fff;
  box-shadow:0 2px 8px rgba(63,35,58,.06);
}
.mm-fridge-manage-icon i{
  font-size:18px;
}
.mm-fridge-manage-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.mm-fridge-manage-copy strong{
  font-size:11.8px;
  line-height:1.15;
  font-weight:850;
}
.mm-fridge-manage-copy small{
  color:#8C7D86;
  font-size:9.6px;
  line-height:1.25;
  font-weight:600;
}
.mm-fridge-manage-expired .mm-fridge-manage-copy small{
  color:#A27570;
}
.mm-fridge-manage-select>i{
  font-size:16px;
}
.mm-fridge-manage-count{
  min-width:28px;
  height:28px;
  padding:0 7px;
  border-radius:999px;
  background:#A84639;
  color:#fff;
  display:grid;
  place-items:center;
  font-size:11px;
  line-height:1;
  font-weight:850;
}
.mm-fridge-selection-bar{
  border:1px solid rgba(104,67,107,.22)!important;
  background:linear-gradient(180deg,#F7EEF6 0%,#FFF 100%)!important;
  box-shadow:0 10px 24px rgba(65,31,67,.10)!important;
}
.mm-fridge-selection-bar .mm-shopping-selection-summary{
  padding:1px 1px 3px;
}
.mm-fridge-selection-bar .mm-shopping-selection-summary>span{
  color:#4E3349!important;
  font-size:12px!important;
}
.mm-fridge-selection-bar .mm-shopping-selection-summary>span strong{
  display:inline-grid;
  min-width:25px;
  height:25px;
  margin-right:4px;
  border-radius:8px;
  background:#68436B;
  color:#fff!important;
  place-items:center;
  font-size:11px!important;
}
.mm-fridge-selection-actions>button.is-category{
  border-color:rgba(104,67,107,.22)!important;
  background:#F7EFF6!important;
  color:#68436B!important;
}
.mm-fridge-selection-actions>button.is-storage{
  border-color:#68436B!important;
  background:#68436B!important;
  color:#fff!important;
}
.mm-fridge-selection-actions>button.is-danger{
  border-color:rgba(168,70,57,.24)!important;
  background:#FFF7F5!important;
  color:#A84639!important;
}
@media(max-width:620px){
  .mm-fridge-manage-bar.has-expired{
    grid-template-columns:1fr;
  }
}

.mm-fridge-detail-delete{
  position:relative!important;
  justify-content:center!important;
  text-align:center!important;
}
.mm-fridge-detail-delete>i{
  position:absolute!important;
  left:20px!important;
}

/* ============================================================
   V654 — FRIGO / CONGÉLATEUR : SÉLECTION MULTIPLE
   Même langage d'action que Courses, sans mélanger les restes
   préparés qui restent liés au planning.
============================================================ */
.mm-fridge-overflow-menu{
  min-width:220px;
}
.mm-fridge-overflow-menu button{
  width:100%;
  min-height:42px;
  border-radius:10px;
  justify-content:flex-start;
  font:inherit;
  cursor:pointer;
}
.mm-fridge-overflow-menu button.is-neutral{
  color:#68436B;
}
.mm-fridge-overflow-menu button.is-neutral:hover{
  background:#F6F0F5;
}
.mm-fridge-overflow-menu button.is-danger{
  color:#A84639;
}
.mm-fridge-overflow-menu button.is-danger:hover{
  background:rgba(168,70,57,.05);
}
.mm-fridge-overflow-menu button strong{
  margin-left:auto;
  min-width:22px;
  padding:2px 6px;
  border-radius:999px;
  background:rgba(168,70,57,.08);
  font-size:10px;
  text-align:center;
}
.mm-fridge-selection-bar{
  position:relative!important;
  top:auto!important;
  margin:10px 0 12px!important;
}
.mm-fridge-selection-summary-actions{
  display:flex;
  align-items:center;
  gap:6px;
}
.mm-fridge-selection-summary-actions>button{
  min-height:36px;
  border:0;
  border-radius:10px;
  background:#F4ECF3;
  color:#68436B;
  font:inherit;
  font-size:10.5px;
  font-weight:800;
  cursor:pointer;
}
.mm-fridge-selection-summary-actions .mm-fridge-select-all{
  width:auto;
  padding:0 10px;
}
.mm-fridge-selection-summary-actions .mm-fridge-selection-close{
  width:36px;
  padding:0;
  display:grid;
  place-items:center;
}
.mm-fridge-selection-summary-actions>button:disabled,
.mm-fridge-selection-actions>button:disabled{
  opacity:.42;
  cursor:default;
}
.mm-fridge-selection-actions{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.mm-fridge-selection-actions>button{
  min-height:44px;
}
.mm-fridge-native-row.is-selecting{
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr)!important;
  align-items:center!important;
  gap:6px!important;
  cursor:pointer;
}
.mm-fridge-native-row.is-selecting.is-selected{
  background:#F4EAF2!important;
}
.mm-fridge-native-row.is-selecting .mm-fridge-item-main{
  min-width:0;
  min-height:44px!important;
  grid-template-columns:minmax(0,1fr)!important;
}
.mm-fridge-select-check{
  width:36px;
  height:36px;
  min-width:36px;
  min-height:36px;
  justify-self:center;
  border:1.5px solid #D8CDD5;
  border-radius:10px;
  background:#fff;
  color:#fff;
  display:grid;
  place-items:center;
  cursor:pointer;
}
.mm-fridge-native-row.is-selected .mm-fridge-select-check{
  border-color:#68436B;
  background:#68436B;
}
.mm-fridge-select-check i{
  font-size:16px;
}
.mm-fridge-expired-cleanup{
  margin:8px 0 12px;
  padding:9px 10px;
  border:1px solid rgba(168,70,57,.13);
  border-radius:13px;
  background:rgba(168,70,57,.04);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.mm-fridge-expired-cleanup>span{
  color:#7C5653;
  font-size:11px;
  font-weight:700;
}
.mm-fridge-expired-cleanup>button{
  min-height:40px;
  border:1px solid rgba(168,70,57,.18);
  border-radius:11px;
  background:#fff;
  color:#A84639;
  padding:7px 10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  font:inherit;
  font-size:10.5px;
  font-weight:800;
  cursor:pointer;
}
@media(max-width:420px){
  .mm-fridge-selection-summary-actions .mm-fridge-select-all{
    padding-inline:8px;
    font-size:9.8px;
  }
  .mm-fridge-selection-actions{
    grid-template-columns:1fr 1fr!important;
  }
  .mm-fridge-selection-actions>button.is-category{
    grid-column:1 / -1;
  }
  .mm-fridge-expired-cleanup{
    align-items:stretch;
    flex-direction:column;
  }
  .mm-fridge-expired-cleanup>button{
    width:100%;
  }
}


/* ============================================================
   PWA V654 — FRIGO DESKTOP ERGONOMIQUE >=1100
   Haut de page compact : recherche + stockage, filtres + actions,
   puis inventaire en colonnes indépendantes.
============================================================ */
@media(min-width:1100px){
  .mm-fridge-screen .mm-fridge-mock-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(340px,420px)!important;
    grid-template-areas:
      "title title"
      "search storage"
      "filters manage"!important;
    gap:9px 12px!important;
    align-items:stretch!important;
    margin:0 0 10px!important;
  }
  .mm-fridge-screen .mm-fridge-title-row{
    grid-area:title!important;
    margin:0!important;
    align-items:center!important;
  }
  .mm-fridge-screen .mm-fridge-title-row h1{font-size:34px!important}
  .mm-fridge-screen .mm-fridge-title-row p{
    margin-top:3px!important;
    font-size:12.5px!important;
  }
  .mm-fridge-screen .mm-fridge-mock-search{
    grid-area:search!important;
    min-height:46px!important;
    height:46px!important;
    margin:0!important;
  }
  .mm-fridge-screen .mm-fridge-mock-search input{
    min-height:44px!important;
    height:44px!important;
    font-size:13px!important;
  }
  .mm-fridge-screen .mm-fridge-storage-switch{
    grid-area:storage!important;
    width:100%!important;
    margin:0!important;
  }
  .mm-fridge-screen .mm-fridge-storage-switch button{
    min-height:46px!important;
    height:46px!important;
    font-size:11px!important;
  }
  .mm-fridge-screen .mm-fridge-quick-filters,
  .mm-fridge-screen .mm-fridge-freezer-hint{
    grid-area:filters!important;
    align-self:center!important;
    margin:0!important;
  }
  .mm-fridge-screen .mm-fridge-quick-filters{
    gap:6px!important;
    display:flex!important;
    flex-wrap:wrap!important;
  }
  .mm-fridge-screen .mm-fridge-quick-filter{
    min-height:36px!important;
    height:36px!important;
    padding-inline:10px!important;
  }
  .mm-fridge-screen .mm-fridge-quick-filter span,
  .mm-fridge-screen .mm-fridge-quick-filter strong{font-size:10px!important}
  .mm-fridge-screen .mm-fridge-manage-bar{
    grid-area:manage!important;
    width:100%!important;
    margin:0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:6px!important;
    align-self:center!important;
  }
  .mm-fridge-screen .mm-fridge-manage-bar.has-expired{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .mm-fridge-screen .mm-fridge-manage-select,
  .mm-fridge-screen .mm-fridge-manage-expired{
    min-height:44px!important;
    height:44px!important;
    padding:5px 7px!important;
    border-radius:12px!important;
    grid-template-columns:30px minmax(0,1fr) auto!important;
    gap:6px!important;
  }
  .mm-fridge-screen .mm-fridge-manage-icon{
    width:30px!important;
    height:30px!important;
    border-radius:9px!important;
  }
  .mm-fridge-screen .mm-fridge-manage-icon i{font-size:15px!important}
  .mm-fridge-screen .mm-fridge-manage-copy strong{
    font-size:10.4px!important;
    line-height:1.1!important;
  }
  .mm-fridge-screen .mm-fridge-manage-copy small{display:none!important}
  .mm-fridge-screen .mm-fridge-manage-select>i{font-size:13px!important}
  .mm-fridge-screen .mm-fridge-manage-count{
    min-width:24px!important;
    height:24px!important;
    padding-inline:6px!important;
    font-size:9.5px!important;
  }
  .mm-fridge-screen .mm-fridge-mock-head:not(:has(.mm-fridge-manage-bar)) .mm-fridge-quick-filters,
  .mm-fridge-screen .mm-fridge-mock-head:not(:has(.mm-fridge-manage-bar)) .mm-fridge-freezer-hint{
    grid-column:1/-1!important;
  }
  .mm-fridge-screen .mm-fridge-overflow-menu,
  .mm-fridge-screen .mm-fridge-selection-bar{grid-column:1/-1!important}
  .mm-fridge-screen .mm-fridge-cook-card{
    min-height:50px!important;
    margin:0 0 10px!important;
    padding:8px 10px!important;
    border-radius:14px!important;
    box-shadow:0 3px 10px rgba(65,31,67,.025)!important;
  }
  .mm-fridge-screen .mm-fridge-cook-card>div:first-child{
    width:32px!important;
    height:32px!important;
    flex-basis:32px!important;
  }
  .mm-fridge-screen .mm-fridge-cook-card>div:nth-child(2)>div:first-child{font-size:11.8px!important}
  .mm-fridge-screen .mm-fridge-cook-card>div:nth-child(2)>div:last-child{font-size:9.4px!important}
  .mm-fridge-screen .mm-fridge-visual-inventory{
    display:block!important;
    columns:2!important;
    column-gap:14px!important;
  }
  .mm-fridge-screen .mm-fridge-visual-section{
    display:inline-block!important;
    width:100%!important;
    min-width:0!important;
    margin:0 0 14px!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
    vertical-align:top!important;
  }
  .mm-fridge-screen .mm-fridge-visual-title{
    min-height:48px!important;
    margin-bottom:6px!important;
  }
  .mm-fridge-screen .mm-fridge-cat-icon .mm-category-thumb{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
  }
  .mm-fridge-screen .mm-fridge-native-row{
    min-height:60px!important;
    padding:8px 10px!important;
    grid-template-columns:minmax(0,1fr) 126px 38px!important;
    gap:6px!important;
  }
  .mm-fridge-screen .mm-fridge-row-qty{
    width:126px!important;
    min-width:126px!important;
    max-width:126px!important;
    grid-template-columns:40px minmax(0,1fr) 40px!important;
  }
  .mm-fridge-screen .mm-fridge-row-open{
    width:38px!important;
    min-width:38px!important;
    max-width:38px!important;
    height:38px!important;
    min-height:38px!important;
  }
}


/* ============================================================
   V655 — QUANTITÉS SAISISSABLES
   Courses, Frigo et Congélateur partagent désormais la même
   logique : quantité tappable, clavier numérique, unité lisible.
============================================================ */
.mm-shopping-item-qty-editor{
  min-width:78px;
  max-width:112px;
  min-height:36px;
  justify-self:end;
  padding:3px 7px;
  border:1px solid var(--mm-line);
  border-radius:12px;
  background:var(--mm-soft);
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:4px;
  box-sizing:border-box;
  cursor:text;
}
.mm-shopping-item-qty-editor:focus-within{
  border-color:var(--mm-primary);
  background:var(--mm-card);
  box-shadow:0 0 0 3px rgba(104,67,107,.08);
}
.mm-shopping-item-qty-editor input{
  width:52px;
  min-width:0;
  border:0;
  outline:0;
  background:transparent;
  color:var(--mm-text);
  padding:0;
  font:inherit;
  font-size:11.5px;
  line-height:1;
  font-weight:850;
  text-align:right;
  font-variant-numeric:tabular-nums;
}
.mm-shopping-item-qty-editor small{
  color:var(--mm-muted);
  font-size:9.5px;
  line-height:1;
  font-weight:750;
  white-space:nowrap;
}
.mm-fridge-row-qty-editor{
  min-width:0;
  height:40px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:1px;
  border:1px solid transparent;
  border-radius:9px;
  cursor:text;
}
.mm-fridge-row-qty-editor:focus-within{
  border-color:var(--mm-primary);
  background:var(--mm-soft);
}
.mm-fridge-row-qty-editor input{
  width:100%;
  min-width:0;
  border:0;
  outline:0;
  background:transparent;
  color:var(--mm-text);
  padding:0 2px;
  font:inherit;
  font-size:11.5px;
  line-height:1.05;
  font-weight:850;
  text-align:center;
  font-variant-numeric:tabular-nums;
  box-sizing:border-box;
}
.mm-fridge-row-qty-editor small{
  color:var(--mm-muted);
  font-size:8.5px;
  line-height:1;
  font-weight:700;
}
.mm-fridge-detail-qty-editor{
  min-width:0;
  height:44px;
  padding:3px 6px;
  border:1px solid var(--mm-line);
  border-radius:10px;
  background:var(--mm-card);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  box-sizing:border-box;
  cursor:text;
}
.mm-fridge-detail-qty-editor:focus-within{
  border-color:var(--mm-primary);
  box-shadow:0 0 0 3px rgba(104,67,107,.08);
}
.mm-fridge-detail-qty-editor input{
  width:58px;
  min-width:0;
  border:0;
  outline:0;
  background:transparent;
  color:var(--mm-text);
  padding:0;
  font:inherit;
  font-size:13px;
  font-weight:850;
  text-align:right;
  font-variant-numeric:tabular-nums;
}
.mm-fridge-detail-qty-editor small{
  color:var(--mm-muted);
  font-size:10px;
  font-weight:750;
  white-space:nowrap;
}
.mm-shopping-item-qty-editor input::-webkit-inner-spin-button,
.mm-shopping-item-qty-editor input::-webkit-outer-spin-button,
.mm-fridge-row-qty-editor input::-webkit-inner-spin-button,
.mm-fridge-row-qty-editor input::-webkit-outer-spin-button,
.mm-fridge-detail-qty-editor input::-webkit-inner-spin-button,
.mm-fridge-detail-qty-editor input::-webkit-outer-spin-button{
  -webkit-appearance:none;
  margin:0;
}
.mm-shopping-item-qty-editor input[type=number],
.mm-fridge-row-qty-editor input[type=number],
.mm-fridge-detail-qty-editor input[type=number]{
  -moz-appearance:textfield;
}
@media(max-width:380px){
  .mm-shopping-item-qty-editor{
    min-width:70px;
    padding-inline:6px;
  }
  .mm-shopping-item-qty-editor input{
    width:43px;
    font-size:11px;
  }
}


/* ============================================================
   V656 — QUANTITÉS MOBILES RECALIBRÉES
   Après la saisie directe : rendre les quantités secondaires,
   lisibles et compactes sans écraser le nom de l'aliment.
============================================================ */
@media(max-width:759px){
  /* Courses : capsule courte, largeur pilotée par le contenu. */
  .mm-shopping-screen .mm-shopping-item-row{
    grid-template-columns:24px minmax(0,1fr) auto!important;
    gap:9px!important;
  }
  .mm-shopping-screen .mm-shopping-item-qty-editor{
    width:auto!important;
    min-width:64px!important;
    max-width:86px!important;
    min-height:34px!important;
    height:34px!important;
    margin-left:4px!important;
    padding:2px 6px!important;
    gap:3px!important;
    border-radius:10px!important;
    background:#FAF7F4!important;
  }
  .mm-shopping-screen .mm-shopping-item-qty-editor input{
    width:4ch!important;
    min-width:4ch!important;
    max-width:4ch!important;
    height:28px!important;
    padding:0!important;
    font-size:13px!important;
    line-height:1!important;
    font-weight:850!important;
    text-align:right!important;
  }
  .mm-shopping-screen .mm-shopping-item-qty-editor small{
    max-width:37px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    font-size:8.5px!important;
    line-height:1!important;
  }

  /* Frigo / congélateur : le stepper reste tactile mais moins massif. */
  .mm-fridge-screen .mm-fridge-native-row{
    grid-template-columns:minmax(0,1fr) 112px 28px!important;
    gap:4px!important;
  }
  .mm-fridge-screen .mm-fridge-row-qty{
    width:112px!important;
    min-width:112px!important;
    max-width:112px!important;
    height:40px!important;
    grid-template-columns:38px minmax(0,1fr) 38px!important;
    gap:0!important;
    padding:0!important;
    border-radius:12px!important;
    overflow:visible!important;
  }
  .mm-fridge-screen .mm-fridge-row-qty>button{
    position:relative!important;
    width:38px!important;
    min-width:38px!important;
    max-width:38px!important;
    height:40px!important;
    min-height:40px!important;
    padding:0!important;
    background:transparent!important;
    font-size:14px!important;
  }
  .mm-fridge-screen .mm-fridge-row-qty>button::before{
    width:28px!important;
    height:28px!important;
    border-radius:9px!important;
  }
  .mm-fridge-screen .mm-fridge-row-qty>button::after{
    content:"";
    position:absolute;
    inset:50% auto auto 50%;
    width:44px;
    height:44px;
    transform:translate(-50%,-50%);
  }
  .mm-fridge-screen .mm-fridge-row-qty-editor{
    min-width:0!important;
    width:100%!important;
    height:38px!important;
    padding:0!important;
    gap:0!important;
  }
  .mm-fridge-screen .mm-fridge-row-qty-editor input{
    width:100%!important;
    min-width:0!important;
    height:24px!important;
    padding:0!important;
    font-size:12.5px!important;
    line-height:1!important;
    font-weight:850!important;
  }
  .mm-fridge-screen .mm-fridge-row-qty-editor small{
    max-width:34px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    font-size:7.8px!important;
    line-height:1!important;
  }
  .mm-fridge-screen .mm-fridge-row-open{
    width:28px!important;
    min-width:28px!important;
    max-width:28px!important;
    height:40px!important;
    min-height:40px!important;
  }
  .mm-fridge-screen .mm-fridge-detail-qty-editor input{
    font-size:13px!important;
  }

  /* La ligne d'état Courses doit rester lisible. */
  .mm-shopping-screen .mm-shopping-list-status{
    min-width:0!important;
    gap:3px!important;
  }
  .mm-shopping-screen .mm-shopping-list-status>small{
    min-height:18px!important;
    gap:5px!important;
    font-size:10px!important;
    line-height:1.2!important;
    font-weight:650!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  .mm-shopping-screen .mm-shopping-list-status>small i{
    font-size:13px!important;
  }
}

@media(max-width:380px){
  .mm-fridge-screen .mm-fridge-native-row{
    grid-template-columns:minmax(0,1fr) 106px 24px!important;
  }
  .mm-fridge-screen .mm-fridge-row-qty{
    width:106px!important;
    min-width:106px!important;
    max-width:106px!important;
    grid-template-columns:36px minmax(0,1fr) 36px!important;
  }
  .mm-fridge-screen .mm-fridge-row-qty>button{
    width:36px!important;
    min-width:36px!important;
    max-width:36px!important;
  }
  .mm-fridge-screen .mm-fridge-row-open{
    width:24px!important;
    min-width:24px!important;
    max-width:24px!important;
  }
  .mm-shopping-screen .mm-shopping-item-qty-editor{
    min-width:60px!important;
    max-width:82px!important;
    padding-inline:5px!important;
  }
}


/* ============================================================
   V657 — QUANTITÉS MOBILES ÉPURÉES
   Suppression des formes imbriquées qui donnaient un effet
   "grosse pastille". Les quantités restent éditables mais
   redeviennent secondaires, lisibles et cohérentes avec Menumia.
============================================================ */
@media(max-width:759px){
  /* Courses : une seule capsule légère, sans bulle blanche interne. */
  .mm-shopping-screen .mm-shopping-item-row{
    grid-template-columns:24px minmax(0,1fr) auto!important;
    gap:10px!important;
    padding-right:10px!important;
  }
  .mm-shopping-screen .mm-shopping-item-qty-editor{
    width:max-content!important;
    min-width:72px!important;
    max-width:104px!important;
    min-height:34px!important;
    height:34px!important;
    margin-left:0!important;
    padding:0 9px!important;
    gap:4px!important;
    border:1px solid rgba(75,30,63,.10)!important;
    border-radius:999px!important;
    background:var(--mm-soft)!important;
    box-shadow:none!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
  }
  .mm-shopping-screen .mm-shopping-item-qty-editor:focus-within{
    border-color:rgba(75,30,63,.26)!important;
    background:var(--mm-card)!important;
    box-shadow:0 0 0 3px rgba(75,30,63,.07)!important;
  }
  .mm-shopping-screen .mm-shopping-item-qty-editor input{
    -webkit-appearance:none!important;
    appearance:none!important;
    width:4ch!important;
    min-width:4ch!important;
    max-width:4ch!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    outline:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:var(--mm-ink)!important;
    font:inherit!important;
    font-size:13px!important;
    line-height:1!important;
    font-weight:850!important;
    text-align:right!important;
    font-variant-numeric:tabular-nums!important;
  }
  .mm-shopping-screen .mm-shopping-item-qty-editor input:focus{
    border:0!important;
    outline:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .mm-shopping-screen .mm-shopping-item-qty-editor small{
    max-width:none!important;
    overflow:visible!important;
    text-overflow:clip!important;
    color:var(--mm-muted)!important;
    font-size:9.5px!important;
    line-height:1!important;
    font-weight:750!important;
    white-space:nowrap!important;
  }

  /* Frigo / congélateur : un stepper continu, sans trois cartes imbriquées. */
  .mm-fridge-screen .mm-fridge-native-row{
    grid-template-columns:minmax(0,1fr) 116px 22px!important;
    gap:6px!important;
  }
  .mm-fridge-screen .mm-fridge-row-qty{
    width:116px!important;
    min-width:116px!important;
    max-width:116px!important;
    height:40px!important;
    grid-template-columns:34px minmax(0,1fr) 34px!important;
    gap:0!important;
    padding:0!important;
    border:1px solid rgba(75,30,63,.10)!important;
    border-radius:12px!important;
    background:var(--mm-soft)!important;
    box-shadow:none!important;
    overflow:hidden!important;
  }
  .mm-fridge-screen .mm-fridge-row-qty>button{
    position:relative!important;
    z-index:1!important;
    width:34px!important;
    min-width:34px!important;
    max-width:34px!important;
    height:40px!important;
    min-height:40px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:var(--mm-prune)!important;
    font-size:16px!important;
    line-height:1!important;
  }
  .mm-fridge-screen .mm-fridge-row-qty>button:first-child{
    border-right:1px solid rgba(75,30,63,.08)!important;
  }
  .mm-fridge-screen .mm-fridge-row-qty>button:last-child{
    border-left:1px solid rgba(75,30,63,.08)!important;
  }
  .mm-fridge-screen .mm-fridge-row-qty>button::before{
    content:none!important;
    display:none!important;
  }
  .mm-fridge-screen .mm-fridge-row-qty>button:active{
    background:rgba(75,30,63,.06)!important;
  }
  .mm-fridge-screen .mm-fridge-row-qty>button:disabled{
    opacity:.34!important;
  }
  .mm-fridge-screen .mm-fridge-row-qty-editor{
    min-width:0!important;
    width:100%!important;
    height:38px!important;
    margin:0!important;
    padding:0 2px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:center!important;
    gap:2px!important;
    overflow:hidden!important;
  }
  .mm-fridge-screen .mm-fridge-row-qty-editor:focus-within{
    border:0!important;
    background:rgba(255,255,255,.46)!important;
    box-shadow:none!important;
  }
  .mm-fridge-screen .mm-fridge-row-qty-editor input{
    -webkit-appearance:none!important;
    appearance:none!important;
    width:4ch!important;
    min-width:0!important;
    max-width:4ch!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    outline:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:var(--mm-ink)!important;
    font:inherit!important;
    font-size:13px!important;
    line-height:1!important;
    font-weight:850!important;
    text-align:right!important;
    font-variant-numeric:tabular-nums!important;
  }
  .mm-fridge-screen .mm-fridge-row-qty-editor input:focus{
    border:0!important;
    outline:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .mm-fridge-screen .mm-fridge-row-qty-editor small{
    max-width:none!important;
    overflow:visible!important;
    text-overflow:clip!important;
    color:var(--mm-muted)!important;
    font-size:8.8px!important;
    line-height:1!important;
    font-weight:750!important;
    white-space:nowrap!important;
  }
  .mm-fridge-screen .mm-fridge-row-open{
    width:22px!important;
    min-width:22px!important;
    max-width:22px!important;
    height:40px!important;
    min-height:40px!important;
    padding:0!important;
    color:#B7ACB3!important;
  }

  /* Toolbar Courses : le statut redevient réellement lisible. */
  .mm-shopping-screen .mm-shopping-list-toolbar{
    gap:10px!important;
  }
  .mm-shopping-screen .mm-shopping-list-status>small{
    min-height:18px!important;
    gap:5px!important;
    color:#8D8188!important;
    font-size:10.5px!important;
    line-height:1.25!important;
    font-weight:650!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  .mm-shopping-screen .mm-shopping-list-status>small i{
    font-size:13px!important;
  }
}

@media(max-width:380px){
  .mm-fridge-screen .mm-fridge-native-row{
    grid-template-columns:minmax(0,1fr) 112px 20px!important;
    gap:4px!important;
  }
  .mm-fridge-screen .mm-fridge-row-qty{
    width:112px!important;
    min-width:112px!important;
    max-width:112px!important;
    grid-template-columns:32px minmax(0,1fr) 32px!important;
  }
  .mm-fridge-screen .mm-fridge-row-qty>button{
    width:32px!important;
    min-width:32px!important;
    max-width:32px!important;
  }
  .mm-fridge-screen .mm-fridge-row-open{
    width:20px!important;
    min-width:20px!important;
    max-width:20px!important;
  }
  .mm-shopping-screen .mm-shopping-item-qty-editor{
    min-width:70px!important;
    max-width:100px!important;
    padding-inline:8px!important;
  }
}


/* ============================================================
   V658 — UNITÉS COMPACTES + TOOLBAR COURSES
   Les libellés longs (cuillère à soupe/café) ne débordent plus
   dans les steppers. Le statut Courses devient un vrai élément UI.
============================================================ */
@media(max-width:759px){
  .mm-fridge-screen .mm-fridge-row-qty-editor{
    padding-inline:3px!important;
    gap:3px!important;
  }
  .mm-fridge-screen .mm-fridge-row-qty-editor input{
    width:3.6ch!important;
    min-width:3.6ch!important;
    max-width:3.6ch!important;
    font-size:12.8px!important;
    letter-spacing:-.01em!important;
  }
  .mm-fridge-screen .mm-fridge-row-qty-editor small{
    flex:0 0 auto!important;
    max-width:none!important;
    font-size:8.7px!important;
    letter-spacing:-.015em!important;
  }

  .mm-shopping-screen .mm-shopping-item-qty-editor{
    min-width:76px!important;
    max-width:112px!important;
    padding-inline:10px!important;
  }
  .mm-shopping-screen .mm-shopping-item-qty-editor small{
    font-size:9.7px!important;
  }

  .mm-shopping-screen .mm-shopping-list-toolbar{
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:8px!important;
  }
  .mm-shopping-screen .mm-shopping-list-status{
    width:100%!important;
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
  }
  .mm-shopping-screen .mm-shopping-list-status>small{
    width:max-content!important;
    max-width:100%!important;
    min-height:30px!important;
    padding:0 9px!important;
    border:1px solid rgba(75,30,63,.08)!important;
    border-radius:999px!important;
    background:#F8F3F7!important;
    color:#786B74!important;
    display:inline-flex!important;
    align-items:center!important;
    gap:5px!important;
    font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
    font-size:10.5px!important;
    line-height:1!important;
    font-weight:700!important;
    letter-spacing:0!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    box-sizing:border-box!important;
  }
  .mm-shopping-screen .mm-shopping-list-status>small i{
    flex:0 0 auto!important;
    color:#6F4A6C!important;
    font-size:13px!important;
  }
  .mm-shopping-screen .mm-shopping-list-actions{
    justify-self:end!important;
  }
}

@media(max-width:360px){
  .mm-shopping-screen .mm-shopping-list-status>small{
    padding-inline:7px!important;
    font-size:10px!important;
  }
  .mm-shopping-screen .mm-shopping-toolbar-buy-all{
    padding-inline:10px!important;
    font-size:10px!important;
  }
}


/* ============================================================
   V659 — TEXTE QUANTITÉS CENTRÉ
   Centre visuellement les valeurs et unités dans les contrôles
   Courses / Frigo / Congélateur, y compris les unités compactes.
============================================================ */
@media(max-width:759px){
  .mm-fridge-screen .mm-fridge-row-qty-editor{
    justify-content:center!important;
    text-align:center!important;
  }
  .mm-fridge-screen .mm-fridge-row-qty-editor input{
    text-align:center!important;
  }
  .mm-fridge-screen .mm-fridge-row-qty-editor small{
    text-align:center!important;
  }

  .mm-shopping-screen .mm-shopping-item-qty-editor{
    justify-content:center!important;
    text-align:center!important;
  }
  .mm-shopping-screen .mm-shopping-item-qty-editor input{
    text-align:center!important;
  }
  .mm-shopping-screen .mm-shopping-item-qty-editor small{
    text-align:center!important;
  }

  .mm-shopping-screen .mm-shopping-list-status>small{
    justify-content:center!important;
    text-align:center!important;
  }
}


/* ============================================================
   V660 — QUANTITÉS MOBILES FINALISÉES
   Le groupe valeur + unité reste centré comme un seul bloc.
   Les steppers gagnent de la place au centre sans redevenir massifs.
============================================================ */
@media(max-width:759px){
  .mm-fridge-screen .mm-fridge-native-row{
    grid-template-columns:minmax(0,1fr) 120px 22px!important;
    gap:5px!important;
  }
  .mm-fridge-screen .mm-fridge-row-qty{
    width:120px!important;
    min-width:120px!important;
    max-width:120px!important;
    height:38px!important;
    grid-template-columns:29px minmax(0,1fr) 29px!important;
    border-radius:11px!important;
  }
  .mm-fridge-screen .mm-fridge-row-qty>button{
    width:29px!important;
    min-width:29px!important;
    max-width:29px!important;
    height:38px!important;
    min-height:38px!important;
    font-size:15px!important;
  }
  .mm-fridge-screen .mm-fridge-row-qty-editor{
    height:36px!important;
    padding-inline:4px!important;
    gap:3px!important;
    overflow:visible!important;
  }
  .mm-fridge-screen .mm-fridge-row-qty-editor input{
    flex:0 0 auto!important;
    width:var(--mm-qty-input-width,3.2ch)!important;
    min-width:1.7ch!important;
    max-width:5.2ch!important;
    font-size:12.8px!important;
    text-align:center!important;
  }
  .mm-fridge-screen .mm-fridge-row-qty-editor small{
    flex:0 0 auto!important;
    max-width:none!important;
    font-size:8.8px!important;
    line-height:1!important;
    white-space:nowrap!important;
    text-align:center!important;
  }
  .mm-fridge-screen .mm-fridge-row-open{
    width:22px!important;
    min-width:22px!important;
    max-width:22px!important;
    height:38px!important;
    min-height:38px!important;
  }

  .mm-shopping-screen .mm-shopping-item-qty-editor{
    width:max-content!important;
    min-width:68px!important;
    max-width:98px!important;
    min-height:32px!important;
    height:32px!important;
    padding-inline:8px!important;
    gap:3px!important;
  }
  .mm-shopping-screen .mm-shopping-item-qty-editor input{
    flex:0 0 auto!important;
    width:var(--mm-qty-input-width,3.2ch)!important;
    min-width:1.7ch!important;
    max-width:5.2ch!important;
    font-size:13px!important;
    text-align:center!important;
  }
  .mm-shopping-screen .mm-shopping-item-qty-editor small{
    flex:0 0 auto!important;
    font-size:9.4px!important;
    text-align:center!important;
  }
  .mm-shopping-screen .mm-shopping-item-copy small.is-fridge{
    gap:4px!important;
    font-size:9.6px!important;
    line-height:1.2!important;
  }
}

@media(max-width:380px){
  .mm-fridge-screen .mm-fridge-native-row{
    grid-template-columns:minmax(0,1fr) 116px 20px!important;
    gap:4px!important;
  }
  .mm-fridge-screen .mm-fridge-row-qty{
    width:116px!important;
    min-width:116px!important;
    max-width:116px!important;
    grid-template-columns:28px minmax(0,1fr) 28px!important;
  }
  .mm-fridge-screen .mm-fridge-row-qty>button{
    width:28px!important;
    min-width:28px!important;
    max-width:28px!important;
  }
  .mm-shopping-screen .mm-shopping-item-qty-editor{
    min-width:66px!important;
    max-width:94px!important;
    padding-inline:7px!important;
  }
}


/* ============================================================
   V661 — DÉTAIL QUANTITÉ CENTRÉ
   Dans la fiche ingrédient, la valeur et son unité sont centrées
   comme un seul groupe entre les boutons − / +.
============================================================ */
@media(max-width:759px){
  .mm-fridge-screen .mm-fridge-detail-qty{
    width:min(180px,100%)!important;
    grid-template-columns:44px minmax(0,1fr) 44px!important;
    gap:4px!important;
  }
  .mm-fridge-screen .mm-fridge-detail-qty-editor{
    width:100%!important;
    min-width:0!important;
    height:44px!important;
    padding:0 6px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;
    overflow:hidden!important;
    text-align:center!important;
  }
  .mm-fridge-screen .mm-fridge-detail-qty-editor input{
    -webkit-appearance:none!important;
    appearance:none!important;
    flex:0 0 auto!important;
    width:var(--mm-qty-input-width,3.2ch)!important;
    min-width:1.7ch!important;
    max-width:5.2ch!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    outline:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:var(--mm-ink)!important;
    font:inherit!important;
    font-size:13px!important;
    line-height:1!important;
    font-weight:850!important;
    text-align:center!important;
    font-variant-numeric:tabular-nums!important;
  }
  .mm-fridge-screen .mm-fridge-detail-qty-editor input:focus{
    border:0!important;
    outline:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .mm-fridge-screen .mm-fridge-detail-qty-editor small{
    flex:0 0 auto!important;
    max-width:none!important;
    color:var(--mm-muted)!important;
    font-size:9.5px!important;
    line-height:1!important;
    font-weight:750!important;
    white-space:nowrap!important;
    text-align:center!important;
  }
}


/* ============================================================
   V662 — ACTIONS TEXTE CENTRÉ
   Centre réellement le libellé des actions avec icône :
   le texte reste au milieu, l’icône occupe une colonne miroir.
============================================================ */
.mm-fridge-overflow-menu button.is-danger{
  display:grid!important;
  grid-template-columns:1fr auto 1fr!important;
  align-items:center!important;
  justify-content:stretch!important;
  text-align:center!important;
}
.mm-fridge-overflow-menu button.is-danger>i{
  justify-self:end!important;
  margin-right:10px!important;
}
.mm-fridge-overflow-menu button.is-danger>span{
  justify-self:center!important;
  text-align:center!important;
  white-space:nowrap!important;
}

.mm-feedback-send{
  width:100%!important;
}
.mm-feedback-send>button{
  width:100%!important;
  display:grid!important;
  grid-template-columns:1fr auto 1fr!important;
  align-items:center!important;
  justify-content:stretch!important;
  text-align:center!important;
}
.mm-feedback-send>button>i{
  justify-self:end!important;
  margin-right:10px!important;
}
.mm-feedback-send>button>.mm-feedback-send-label{
  justify-self:center!important;
  text-align:center!important;
  white-space:nowrap!important;
}


/* ============================================================
   V664 — CTA CENTRÉS SANS SUPERPOSITION
   Le texte reste centré mais les icônes restent dans le flux :
   une colonne miroir réserve la même place de chaque côté.
============================================================ */
.mm-btn.is-full-width{
  position:relative!important;
}
.mm-btn.is-full-width>.mm-btn-fullwidth-content{
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}

/* Boutons pleine largeur avec icône directe à gauche :
   icône / libellé / espace miroir. */
.mm-btn.is-full-width>.mm-btn-fullwidth-content:has(>i){
  display:grid!important;
  grid-template-columns:22px minmax(0,1fr) 22px!important;
  align-items:center!important;
  gap:6px!important;
}
.mm-btn.is-full-width>.mm-btn-fullwidth-content:has(>i)::after{
  content:""!important;
  grid-column:3!important;
  width:22px!important;
  height:1px!important;
}
.mm-btn.is-full-width>.mm-btn-fullwidth-content>i{
  grid-column:1!important;
  justify-self:center!important;
  align-self:center!important;
  position:static!important;
  transform:none!important;
  margin:0!important;
  line-height:1!important;
}
.mm-btn.is-full-width>.mm-btn-fullwidth-content>span:not(.mm-sr-only){
  min-width:0!important;
}

/* Les rares flèches de fin restent à droite avec un miroir à gauche. */
.mm-btn.is-full-width>.mm-btn-fullwidth-content:has(>i.ti-arrow-right),
.mm-btn.is-full-width>.mm-btn-fullwidth-content:has(>i.ti-chevron-right){
  grid-template-columns:22px minmax(0,1fr) 22px!important;
}
.mm-btn.is-full-width>.mm-btn-fullwidth-content:has(>i.ti-arrow-right)::before,
.mm-btn.is-full-width>.mm-btn-fullwidth-content:has(>i.ti-chevron-right)::before{
  content:""!important;
  grid-column:1!important;
  width:22px!important;
  height:1px!important;
}
.mm-btn.is-full-width>.mm-btn-fullwidth-content:has(>i.ti-arrow-right)::after,
.mm-btn.is-full-width>.mm-btn-fullwidth-content:has(>i.ti-chevron-right)::after{
  content:none!important;
}
.mm-btn.is-full-width>.mm-btn-fullwidth-content>i.ti-arrow-right,
.mm-btn.is-full-width>.mm-btn-fullwidth-content>i.ti-chevron-right{
  grid-column:3!important;
}

/* V662 centrait Envoyer avec une grille directe sur le bouton.
   Le wrapper commun devient l'unique source de mise en page. */
.mm-feedback-send>button.mm-btn.is-full-width{
  display:inline-flex!important;
  grid-template-columns:none!important;
}

/* CTA custom pleine largeur qui ne passent pas par Btn. */
.mm-week-screen .mm-week-generate-primary,
.mm-shopping-category-auto{
  display:grid!important;
  grid-template-columns:22px minmax(0,1fr) 22px!important;
  align-items:center!important;
  justify-content:stretch!important;
  gap:6px!important;
  text-align:center!important;
}
.mm-week-screen .mm-week-generate-primary::after,
.mm-shopping-category-auto::after{
  content:""!important;
  grid-column:3!important;
  width:22px!important;
  height:1px!important;
}
.mm-week-screen .mm-week-generate-primary>i:first-child,
.mm-shopping-category-auto>i:first-child{
  grid-column:1!important;
  justify-self:center!important;
  position:static!important;
  transform:none!important;
  margin:0!important;
}
.mm-week-screen .mm-week-generate-primary>span,
.mm-shopping-category-auto>span{
  grid-column:2!important;
  justify-self:center!important;
  min-width:0!important;
  text-align:center!important;
}

.mm-home-empty-meal-action{
  display:grid!important;
  grid-template-columns:22px minmax(0,1fr) 22px!important;
  align-items:center!important;
  justify-content:stretch!important;
  gap:6px!important;
  text-align:center!important;
}
.mm-home-empty-meal-action::before{
  content:""!important;
  grid-column:1!important;
  width:22px!important;
  height:1px!important;
}
.mm-home-empty-meal-action>i:last-child{
  grid-column:3!important;
  justify-self:center!important;
  position:static!important;
  transform:none!important;
  margin:0!important;
}

/* ============================================================
   V658 — FRIGO : CATÉGORIES REPLIABLES
   L'en-tête complet ouvre/referme la catégorie ; le + reste une
   action séparée pour éviter les appuis ambigus sur mobile.
============================================================ */
.mm-fridge-screen .mm-fridge-visual-title{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 44px!important;
  align-items:center!important;
  gap:8px!important;
}
.mm-fridge-screen .mm-fridge-category-toggle{
  width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:48px!important;
  padding:0!important;
  border:0!important;
  border-radius:14px!important;
  background:transparent!important;
  color:inherit!important;
  box-shadow:none!important;
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr) 24px!important;
  align-items:center!important;
  gap:10px!important;
  text-align:left!important;
  cursor:pointer!important;
}
.mm-fridge-screen .mm-fridge-category-toggle:active{
  background:var(--mm-soft)!important;
}
.mm-fridge-screen .mm-fridge-category-toggle .mm-fridge-cat-copy{
  min-width:0!important;
}
.mm-fridge-screen .mm-fridge-category-chevron{
  justify-self:end;
  color:var(--mm-muted);
  font-size:18px;
  line-height:1;
}
.mm-fridge-screen .mm-fridge-category-add{
  width:44px!important;
  min-width:44px!important;
  height:44px!important;
  min-height:44px!important;
  border-radius:50%!important;
}
.mm-fridge-screen .mm-fridge-visual-section.is-collapsed{
  margin-bottom:8px!important;
}
html[data-menumia-theme="dark"] .mm-fridge-screen .mm-fridge-category-toggle{
  background:transparent!important;
  color:var(--mm-token-ink)!important;
}
html[data-menumia-theme="dark"] .mm-fridge-screen .mm-fridge-category-toggle:active{
  background:var(--mm-soft)!important;
}

/* ============================================================
   V659 — TUTORIEL GUIDÉ
   Visite courte sur la vraie application : contenu atténué,
   onglet courant visible et carte au-dessus de la navigation.
============================================================ */
.mm-product-tour-backdrop{
  position:fixed;
  inset:0;
  z-index:90;
  background:rgba(34,24,31,.52);
  backdrop-filter:blur(1.5px);
  -webkit-backdrop-filter:blur(1.5px);
}
.mm-product-tour-card{
  position:fixed;
  left:16px;
  right:16px;
  bottom:calc(92px + env(safe-area-inset-bottom));
  z-index:100;
  width:auto;
  max-width:560px;
  margin:0 auto;
  padding:18px;
  border:1px solid var(--mm-line);
  border-radius:24px;
  background:var(--mm-card);
  color:var(--mm-ink);
  box-shadow:0 22px 60px rgba(43,29,40,.26);
  box-sizing:border-box;
}
.mm-product-tour-top{
  display:grid;
  grid-template-columns:40px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
}
.mm-product-tour-icon{
  width:40px;
  height:40px;
  border-radius:13px;
  display:grid;
  place-items:center;
  background:var(--mm-prune-soft-token);
  color:var(--mm-prune-text);
  font-size:19px;
}
.mm-product-tour-progress{
  min-width:0;
  color:var(--mm-muted);
  font-size:11px;
  font-weight:750;
}
.mm-product-tour-skip{
  min-height:44px;
  padding:0 4px 0 10px;
  border:0;
  background:transparent;
  color:var(--mm-muted);
  font:inherit;
  font-size:11.5px;
  font-weight:700;
  cursor:pointer;
}
.mm-product-tour-title{
  margin-top:13px;
  color:var(--mm-ink);
  font-family:ui-serif,Georgia,serif;
  font-size:24px;
  font-weight:650;
  line-height:1.16;
}
.mm-product-tour-copy{
  margin:7px 0 0;
  color:var(--mm-muted);
  font-size:13px;
  line-height:1.5;
}
.mm-product-tour-dots{
  display:flex;
  align-items:center;
  gap:6px;
  margin-top:15px;
}
.mm-product-tour-dots span{
  width:6px;
  height:6px;
  border-radius:999px;
  background:var(--mm-line-strong);
  transition:width .18s ease,background .18s ease;
}
.mm-product-tour-dots span.is-active{
  width:22px;
  background:var(--mm-prune-action);
}
.mm-product-tour-actions{
  min-height:48px;
  margin-top:15px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(132px,auto);
  align-items:center;
  gap:10px;
}
.mm-product-tour-back,
.mm-product-tour-next{
  min-height:48px;
  border-radius:15px;
  padding:0 15px;
  font:inherit;
  font-size:12.5px;
  font-weight:800;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
}
.mm-product-tour-back{
  justify-self:start;
  border:1px solid var(--mm-line);
  background:var(--mm-card);
  color:var(--mm-prune-text);
}
.mm-product-tour-next{
  justify-self:end;
  min-width:132px;
  border:1px solid var(--mm-prune-action);
  background:var(--mm-prune-action);
  color:#fff;
}
.mm-bottom-nav.is-tour-active{
  z-index:95!important;
  pointer-events:none!important;
}
.mm-bottom-nav.is-tour-active .mm-nav-item{
  opacity:.46;
  transition:opacity .18s ease,transform .18s ease,background .18s ease;
}
.mm-bottom-nav.is-tour-active .mm-nav-item.is-tour-target{
  opacity:1;
  transform:translateY(-3px);
  border-radius:14px;
  background:var(--mm-prune-soft-token)!important;
}
.mm-bottom-nav.is-tour-active .mm-nav-item.is-tour-target svg,
.mm-bottom-nav.is-tour-active .mm-nav-item.is-tour-target .ti{
  filter:drop-shadow(0 2px 5px rgba(90,61,92,.18));
}
.mm-help-tour-card{
  margin-bottom:12px;
}
.mm-help-tour-card>button{
  width:100%;
  min-height:72px;
  padding:11px 12px;
  border:1px solid var(--mm-line);
  border-radius:18px;
  background:var(--mm-card);
  color:var(--mm-ink);
  box-shadow:var(--mm-shadow-card);
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 24px;
  align-items:center;
  gap:11px;
  text-align:left;
  font:inherit;
  cursor:pointer;
}
.mm-help-tour-icon{
  width:42px;
  height:42px;
  border-radius:13px;
  display:grid;
  place-items:center;
  background:var(--mm-prune-soft-token);
  color:var(--mm-prune-text);
  font-size:18px;
}
.mm-help-tour-copy{
  min-width:0;
}
.mm-help-tour-copy strong{
  display:block;
  color:var(--mm-ink);
  font-size:13.5px;
  line-height:1.25;
}
.mm-help-tour-copy small{
  display:block;
  margin-top:3px;
  color:var(--mm-muted);
  font-size:10.8px;
  line-height:1.35;
}
.mm-help-tour-chevron{
  justify-self:end;
  color:var(--mm-muted);
  font-size:17px;
}
html[data-menumia-theme="dark"] .mm-product-tour-card,
html[data-menumia-theme="dark"] .mm-help-tour-card>button{
  background:var(--mm-card)!important;
  border-color:var(--mm-line)!important;
  color:var(--mm-token-ink)!important;
}
@media(max-width:380px){
  .mm-product-tour-card{
    left:10px;
    right:10px;
    bottom:calc(88px + env(safe-area-inset-bottom));
    padding:15px;
    border-radius:20px;
  }
  .mm-product-tour-title{font-size:21px}
  .mm-product-tour-copy{font-size:12.2px}
}
@media(min-width:760px){
  .mm-product-tour-card{
    bottom:30px;
  }
}

/* ============================================================
   V661 — FRIGO : EN-TÊTE CATÉGORIE REPLIABLE
   Le sélecteur de catégorie doit occuper tout l'espace restant.
   Surcharge les anciennes règles icon-only qui forçaient tous les
   boutons directs du titre à 44px.
============================================================ */
.mm-fridge-screen .mm-fridge-visual-title>.mm-fridge-category-toggle{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:auto!important;
  min-height:52px!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:46px minmax(0,1fr) 20px!important;
  align-items:center!important;
  justify-items:stretch!important;
  gap:10px!important;
  border:0!important;
  border-radius:14px!important;
  background:transparent!important;
  box-shadow:none!important;
  text-align:left!important;
}
.mm-fridge-screen .mm-fridge-category-toggle>.mm-fridge-cat-icon{
  width:46px!important;
  min-width:46px!important;
  height:46px!important;
  display:grid!important;
  place-items:center!important;
}
.mm-fridge-screen .mm-fridge-category-toggle>.mm-fridge-cat-copy{
  min-width:0!important;
  width:100%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:2px!important;
  overflow:hidden!important;
}
.mm-fridge-screen .mm-fridge-category-toggle>.mm-fridge-cat-copy strong{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  font-size:15px!important;
  line-height:1.16!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  text-align:left!important;
}
.mm-fridge-screen .mm-fridge-category-toggle>.mm-fridge-cat-copy small{
  display:block!important;
  width:100%!important;
  margin:0!important;
  font-size:10.8px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  color:var(--mm-muted)!important;
  text-align:left!important;
}
.mm-fridge-screen .mm-fridge-category-toggle>.mm-fridge-category-chevron{
  width:20px!important;
  min-width:20px!important;
  height:20px!important;
  display:grid!important;
  place-items:center!important;
  justify-self:end!important;
}
.mm-fridge-screen .mm-fridge-visual-title>.mm-fridge-category-add{
  width:44px!important;
  min-width:44px!important;
  max-width:44px!important;
  height:44px!important;
  min-height:44px!important;
  padding:0!important;
}
@media(max-width:380px){
  .mm-fridge-screen .mm-fridge-visual-title>.mm-fridge-category-toggle{
    grid-template-columns:42px minmax(0,1fr) 18px!important;
    gap:8px!important;
  }
  .mm-fridge-screen .mm-fridge-category-toggle>.mm-fridge-cat-icon{
    width:42px!important;
    min-width:42px!important;
    height:42px!important;
  }
  .mm-fridge-screen .mm-fridge-category-toggle>.mm-fridge-cat-copy strong{
    font-size:14px!important;
  }
}

/* ============================================================
   V662 — RÉGLAGES : MICRO-FINITIONS DU HUB
   Hiérarchie conservée, groupes légèrement resserrés sur mobile.
============================================================ */
.mm-settings-hub-section{
  margin-top:22px!important;
}
.mm-settings-hub-section:first-of-type{
  margin-top:14px!important;
}
.mm-settings-hub-section-label{
  margin-bottom:7px!important;
}
.mm-settings-hub-section.is-admin{
  margin-top:24px!important;
}
@media(max-width:380px){
  .mm-settings-hub-section{
    margin-top:18px!important;
  }
  .mm-settings-hub-section.is-admin{
    margin-top:20px!important;
  }
}

