/* YEKFI GM-1.1 — scoped migration layer. No legacy global overrides. */
.gm-plan-page{
  --gm-bg:#f7f3e8;--gm-surface:#fffdf8;--gm-text:#163629;--gm-muted:#5b6f65;--gm-line:#ddd3c0;
  --gm-primary:#2f684f;--gm-primary-2:#23513f;--gm-soft:#eef4ed;--gm-sand:#b78542;--gm-warn:#8b5a16;
  color:var(--gm-text);font-family:inherit;display:flex;flex-direction:column;gap:18px;padding:10px 0 28px;
}
.gm-plan-page *{box-sizing:border-box}.gm-plan-page button{font:inherit;-webkit-tap-highlight-color:transparent}
.gm-page-heading{padding:0 1px;text-align:right}.gm-page-heading>span,.gm-section-head small,.gm-context-head small,.gm-settings-list small,.gm-plan-status small{display:block;color:var(--gm-primary);font-size:12px;font-weight:800;line-height:1.4}
.gm-page-heading>span{margin-bottom:6px}.gm-page-heading h1{margin:0 0 6px;font-size:34px;line-height:1.12;letter-spacing:-.7px;color:var(--gm-text);font-weight:900}
.gm-page-heading p{margin:0;color:var(--gm-muted);font-size:15px;font-weight:650;line-height:1.7}
.gm-context-card,.gm-plan-settings,.gm-plan-status{background:var(--gm-surface);border:1px solid var(--gm-line);border-radius:20px;box-shadow:0 5px 16px rgba(29,53,40,.055)}
.gm-context-card{padding:15px}.gm-context-head,.gm-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.gm-context-head h2,.gm-section-head h2{margin:2px 0 0;color:var(--gm-text);font-size:20px;line-height:1.35;font-weight:900}
.gm-link-btn,.gm-section-head>button{border:1px solid var(--gm-line);background:#fffaf1;color:var(--gm-text);border-radius:12px;padding:8px 12px;font-weight:850;min-height:42px}
.gm-context-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.gm-chip{display:inline-flex;align-items:center;min-height:31px;padding:5px 10px;border:1px solid var(--gm-line);border-radius:999px;background:#f5f0e4;color:var(--gm-text);font-size:12px;font-weight:800;white-space:nowrap}.gm-chip-attention{border-color:#d5a861;background:#fff5df;color:#724913}
.gm-pantry-line{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;margin-top:10px;border-radius:12px;padding:8px 10px;font-size:12px}.gm-pantry-line.is-ready{background:#eaf5e8;color:#2c694b}.gm-pantry-line.is-empty{background:#fff4df;color:#805617}.gm-pantry-line b{font-weight:850;min-width:0}.gm-pantry-line button{border:0;background:transparent;color:inherit;font-weight:900;text-decoration:underline;text-underline-offset:3px;padding:5px}
.gm-context-empty{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center}.gm-context-empty h2{margin:2px 0 3px;font-size:20px}.gm-context-empty p{margin:0;color:var(--gm-muted);font-size:13px;line-height:1.6}.gm-context-empty button{border:0;background:var(--gm-primary);color:#fff;border-radius:13px;padding:11px 14px;font-weight:900;min-height:46px}
.gm-plan-status{padding:13px 14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.gm-plan-status b{display:block;margin-top:2px;font-size:15px}.gm-plan-status p{margin:3px 0 0;color:var(--gm-muted);font-size:12px;line-height:1.55}.gm-plan-status>button,.gm-status-actions button{border:1px solid var(--gm-line);background:#fffaf1;color:var(--gm-text);border-radius:11px;padding:9px 11px;font-weight:850}.gm-status-actions{display:flex;flex-direction:column;gap:6px}.gm-plan-status-preview{border-color:#d6a85f;background:#fff9ec}.gm-plan-status-approved{border-color:#bcd4c5;background:#f7fcf8}
.gm-plan-paths{display:flex;flex-direction:column;gap:10px}.gm-paths-head{padding:1px 1px 3px}.gm-path-card{width:100%;display:grid;text-align:right;border-radius:18px;border:1px solid var(--gm-line);padding:15px 16px;min-height:124px;transition:transform .12s ease,box-shadow .12s ease}.gm-path-card:active{transform:scale(.992)}.gm-path-kicker{font-size:11px;font-weight:850;color:var(--gm-primary);margin-bottom:2px}.gm-path-title{font-size:22px;line-height:1.25;font-weight:950;color:var(--gm-text)}.gm-path-desc{font-size:13px;line-height:1.65;color:var(--gm-muted);font-weight:650;margin-top:3px}.gm-path-cta{font-size:13px;font-weight:900;margin-top:8px;color:var(--gm-text)}
.gm-path-primary{background:var(--gm-primary);border-color:var(--gm-primary);box-shadow:0 8px 22px rgba(42,93,71,.16)}.gm-path-primary .gm-path-kicker,.gm-path-primary .gm-path-title,.gm-path-primary .gm-path-desc,.gm-path-primary .gm-path-cta{color:#fff}.gm-path-primary .gm-path-desc{opacity:.93}.gm-path-secondary{background:var(--gm-surface)}
.gm-manual-link{width:100%;border:0;background:transparent;color:var(--gm-text);font-weight:800;font-size:15px;min-height:48px;padding:9px 4px;text-align:center}.gm-manual-link span{font-weight:950;margin-inline-start:5px}
.gm-plan-settings{overflow:hidden}.gm-plan-settings>.gm-section-head{padding:14px 15px 11px}.gm-settings-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 15px;border-top:1px solid var(--gm-line)}.gm-settings-list span b{display:block;margin-top:2px;font-size:15px;font-weight:900}.gm-settings-list em{font-style:normal;color:var(--gm-muted);font-size:11px;font-weight:650;text-align:left}.gm-settings-list button{border:0;background:transparent;color:var(--gm-primary);font-weight:900;text-decoration:underline;text-underline-offset:3px}
.gm-trust-note{border-top:1px solid var(--gm-line);padding:14px 2px 0}.gm-trust-note b{font-size:13px}.gm-trust-note p{margin:4px 0 0;color:var(--gm-muted);font-size:12px;line-height:1.7;font-weight:600}
.gm-plan-page button:focus-visible{outline:3px solid rgba(183,133,66,.42);outline-offset:2px}
@media(max-width:390px){.gm-plan-page{gap:16px}.gm-page-heading h1{font-size:32px}.gm-context-card{padding:14px}.gm-path-card{padding:14px 15px;min-height:118px}.gm-path-title{font-size:21px}.gm-context-empty{grid-template-columns:1fr}.gm-context-empty button{width:100%}}
@media(prefers-reduced-motion:reduce){.gm-plan-page *{transition:none!important;animation:none!important}}


/* GM-1.1 Today */
.gm-today-page{--gm-bg:#f7f3e8;--gm-surface:#fffdf8;--gm-text:#163629;--gm-muted:#5b6f65;--gm-line:#ddd3c0;--gm-primary:#2f684f;--gm-soft:#eef4ed;--gm-sand:#b78542;--gm-warn:#8b5a16;color:var(--gm-text);font-family:inherit;display:flex;flex-direction:column;gap:17px;padding:6px 0 28px}
.gm-today-page *{box-sizing:border-box}.gm-today-page button{font:inherit;-webkit-tap-highlight-color:transparent}.gm-today-page button:focus-visible{outline:3px solid rgba(183,133,66,.42);outline-offset:2px}
.gm-today-datebar{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:8px}.gm-today-datebar>button{width:42px;height:42px;border:1px solid var(--gm-line);border-radius:13px;background:var(--gm-surface);color:var(--gm-text);font-size:21px;font-weight:900}.gm-today-datebar>button:disabled{opacity:.32}.gm-today-datebar span{text-align:center}.gm-today-datebar small{display:block;color:var(--gm-primary);font-size:11px;font-weight:850}.gm-today-datebar b{display:block;margin-top:1px;font-size:14px;font-weight:900}
.gm-today-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.gm-today-heading span{display:block;color:var(--gm-primary);font-size:12px;font-weight:850}.gm-today-heading h1{margin:2px 0 0;font-size:31px;line-height:1.08;font-weight:950}.gm-today-heading>button{border:0;background:transparent;color:var(--gm-primary);font-size:12px;font-weight:900;padding:8px 0}
.gm-today-hero{overflow:hidden;border:1px solid var(--gm-line);border-radius:20px;background:var(--gm-surface);box-shadow:0 7px 22px rgba(29,53,40,.07)}.gm-today-hero-media{position:relative;aspect-ratio:16/8.5;background:#e7e1d4;overflow:hidden}.gm-today-hero-media>img{width:100%;height:100%;object-fit:cover;display:block}.gm-today-image-fallback{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#dfe9df,#eee2c8);color:var(--gm-primary)}.gm-today-image-fallback span{font-size:28px;font-weight:950}.gm-today-image-fallback small{font-size:12px}.gm-today-hero-caption{position:absolute;inset-inline:0;bottom:0;display:flex;justify-content:space-between;gap:10px;padding:9px 12px;background:rgba(19,45,34,.88);color:#fff;font-size:11px;font-weight:850}.gm-today-hero-body{padding:15px}.gm-today-hero-body>small{display:block;color:var(--gm-primary);font-size:11px;font-weight:900}.gm-today-hero-title{display:block;width:100%;border:0;background:transparent;padding:2px 0 0;text-align:right;color:var(--gm-text);font-size:20px;line-height:1.55;font-weight:950}.gm-today-hero-parts{margin:5px 0 0;color:var(--gm-muted);font-size:12px;line-height:1.7;font-weight:650}.gm-today-hero-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.gm-today-hero-meta span{border:1px solid var(--gm-line);border-radius:999px;background:#f6f1e5;padding:5px 8px;color:var(--gm-text);font-size:10px;font-weight:800}.gm-today-hero-actions{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px;margin-top:13px}.gm-today-hero-actions button{min-height:44px;border:1px solid var(--gm-line);border-radius:12px;background:#fffaf1;color:var(--gm-text);padding:8px 11px;font-size:12px;font-weight:900}.gm-today-hero-actions .gm-today-start{border-color:var(--gm-primary);background:var(--gm-primary);color:#fff;padding-inline:15px}
.gm-today-other{display:flex;flex-direction:column;gap:8px}.gm-today-meal-list{display:flex;flex-direction:column;gap:8px}.gm-today-meal-row{display:grid;grid-template-columns:38px minmax(0,1fr) 42px;align-items:center;gap:10px;border:1px solid var(--gm-line);border-radius:16px;background:var(--gm-surface);padding:10px 11px}.gm-today-slot-mark{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--gm-soft);color:var(--gm-primary);font-weight:950}.gm-today-meal-copy{min-width:0;border:0;background:transparent;text-align:right;padding:0;color:var(--gm-text)}.gm-today-meal-copy small{display:block;color:var(--gm-muted);font-size:10px;font-weight:800}.gm-today-meal-copy b{display:block;margin-top:2px;font-size:14px;line-height:1.5;font-weight:900}.gm-today-meal-parts{margin:2px 0 0;color:var(--gm-muted);font-size:10px;line-height:1.5}.gm-today-meal-copy em{display:block;margin-top:3px;color:var(--gm-primary);font-size:10px;font-style:normal;font-weight:800}.gm-today-row-action{width:40px;height:40px;border:1px solid var(--gm-line);border-radius:12px;background:#fffaf1;color:var(--gm-primary);font-weight:950}.gm-today-meal-row.is-done{opacity:.72}.gm-today-meal-row.is-done .gm-today-row-action{background:#e7f2e8;border-color:#b9d0be}
.gm-today-budget{display:grid;grid-template-columns:1fr 1.35fr;gap:12px;border-top:1px solid var(--gm-line);padding-top:13px}.gm-today-budget>div:last-child{border-inline-start:1px solid var(--gm-line);padding-inline-start:12px}.gm-today-budget small{display:block;color:var(--gm-muted);font-size:10px;font-weight:800}.gm-today-budget b{display:block;margin-top:2px;font-size:14px;line-height:1.45;font-weight:900}.gm-today-budget.is-over>div:last-child b{color:var(--gm-warn)}.gm-today-budget.is-ok>div:last-child b{color:var(--gm-primary)}.gm-today-budget button{margin-top:4px;border:0;background:transparent;color:var(--gm-primary);font-size:10px;font-weight:900;padding:3px 0}
.gm-empty-action-card{border:1px solid var(--gm-line);border-radius:20px;background:var(--gm-surface);padding:17px}.gm-empty-action-card>b{font-size:18px}.gm-empty-action-card p{color:var(--gm-muted);font-size:13px;line-height:1.7}.gm-empty-action-card button{width:100%;min-height:46px;border:0;border-radius:13px;background:var(--gm-primary);color:#fff;font-weight:900}
@media(max-width:390px){.gm-today-page{gap:15px}.gm-today-hero-title{font-size:19px}.gm-today-hero-actions{grid-template-columns:minmax(0,1fr) 72px 58px}.gm-today-budget{grid-template-columns:1fr 1.4fr}}


/* GM-1.1 Week */
.gm-week-page{--gm-bg:#f7f3e8;--gm-surface:#fffdf8;--gm-text:#163629;--gm-muted:#5b6f65;--gm-line:#ddd3c0;--gm-primary:#2f684f;--gm-soft:#eef4ed;--gm-sand:#b78542;--gm-warn:#8b5a16;color:var(--gm-text);font-family:inherit;display:flex;flex-direction:column;gap:16px;padding:6px 0 30px}.gm-week-page *{box-sizing:border-box}.gm-week-page button{font:inherit;-webkit-tap-highlight-color:transparent}.gm-week-page button:focus-visible{outline:3px solid rgba(183,133,66,.42);outline-offset:2px}
.gm-week-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.gm-week-heading>div>span{display:block;color:var(--gm-primary);font-size:12px;font-weight:850}.gm-week-heading h1{margin:2px 0 0;font-size:31px;line-height:1.08;font-weight:950}.gm-week-approved{display:inline-flex;align-items:center;border:1px solid #b9d0be;border-radius:999px;background:#eaf5e8;color:#2c694b;padding:7px 10px;font-size:11px;font-weight:900}
.gm-week-budget{overflow:hidden;border:1px solid var(--gm-line);border-radius:19px;background:var(--gm-surface);box-shadow:0 5px 16px rgba(29,53,40,.055)}.gm-week-budget-main{display:grid;grid-template-columns:1fr 1fr}.gm-week-budget-main>div{padding:13px 14px}.gm-week-budget-main>div+div{border-inline-start:1px solid var(--gm-line)}.gm-week-budget small{display:block;color:var(--gm-muted);font-size:10px;font-weight:800}.gm-week-budget-main b{display:block;margin-top:3px;font-size:21px;font-weight:950}.gm-week-budget-truth{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--gm-line);padding:10px 13px}.gm-week-budget-truth span{font-size:12px;font-weight:900}.gm-week-budget-truth small{text-align:left;line-height:1.45}.gm-week-budget.is-over .gm-week-budget-truth{background:#fff5df}.gm-week-budget.is-over .gm-week-budget-truth span{color:var(--gm-warn)}.gm-week-budget.is-ok .gm-week-budget-truth{background:#edf6ee}.gm-week-budget.is-ok .gm-week-budget-truth span{color:var(--gm-primary)}
.gm-week-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.gm-week-summary>div,.gm-week-summary>button{min-width:0;min-height:82px;border:1px solid var(--gm-line);border-radius:14px;background:var(--gm-surface);padding:8px 5px;text-align:center;color:var(--gm-text)}.gm-week-summary>button{border-color:#b9d0be;background:var(--gm-soft)}.gm-week-summary span{display:block;color:var(--gm-primary);font-size:15px;font-weight:950}.gm-week-summary b{display:block;margin-top:2px;font-size:15px;font-weight:950}.gm-week-summary small{display:block;margin-top:2px;color:var(--gm-muted);font-size:9px;line-height:1.35;font-weight:750}
.gm-week-switch{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px}.gm-week-switch>button{width:44px;height:42px;border:1px solid var(--gm-line);border-radius:13px;background:var(--gm-surface);color:var(--gm-text);font-weight:950}.gm-week-switch>button:disabled{opacity:.32}.gm-week-switch span{text-align:center}.gm-week-switch small{display:block;color:var(--gm-muted);font-size:10px;font-weight:750}.gm-week-switch b{font-size:13px;font-weight:900}
.gm-week-days{display:flex;flex-direction:column;gap:10px}.gm-week-day-list{display:flex;flex-direction:column;gap:9px}.gm-week-day{overflow:hidden;border:1px solid var(--gm-line);border-radius:17px;background:var(--gm-surface);box-shadow:0 3px 12px rgba(29,53,40,.045)}.gm-week-day.is-open{border-color:#85aa95;box-shadow:0 5px 18px rgba(47,104,79,.08)}.gm-week-day-head{width:100%;display:grid;grid-template-columns:49px minmax(0,1fr) 28px;align-items:center;gap:10px;border:0;background:transparent;color:var(--gm-text);padding:11px;text-align:right;min-height:72px}.gm-week-date{width:49px;min-height:49px;border:1px solid var(--gm-line);border-radius:13px;background:#f6f1e5;display:grid;place-items:center;padding:5px 2px}.gm-week-day.is-open .gm-week-date{border-color:#9bb9a6;background:var(--gm-soft)}.gm-week-date b{font-size:18px;line-height:1;font-weight:950}.gm-week-date small{font-size:9px;color:var(--gm-muted);font-weight:800}.gm-week-day-copy{min-width:0}.gm-week-day-title{display:flex;align-items:center;gap:5px;font-size:14px;font-weight:950}.gm-week-day-title i{font-style:normal;border:1px solid var(--gm-primary);border-radius:999px;padding:2px 6px;color:var(--gm-primary);font-size:8px;font-weight:900}.gm-week-day-title .is-open-mark{border-color:#b9d0be;background:#eaf5e8}.gm-week-compact{display:flex;gap:5px 8px;flex-wrap:wrap;margin-top:5px;color:var(--gm-muted);font-size:9px;line-height:1.45;font-weight:650}.gm-week-compact span{max-width:47%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gm-week-compact b{color:var(--gm-primary)}.gm-week-chevron{color:var(--gm-muted);font-size:20px;font-weight:950;transition:transform .15s ease}.gm-week-day.is-open .gm-week-chevron{transform:rotate(180deg)}
.gm-week-day-body{border-top:1px solid var(--gm-line);padding:0 11px}.gm-week-meal{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;padding:12px 0;border-bottom:1px solid var(--gm-line)}.gm-week-meal:last-child{border-bottom:0}.gm-week-slot{grid-row:1 / span 2;width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:var(--gm-soft);color:var(--gm-primary);font-size:11px;font-weight:950}.gm-week-meal-copy{min-width:0;border:0;background:transparent;color:var(--gm-text);text-align:right;padding:0}.gm-week-meal-copy small{display:block;color:var(--gm-muted);font-size:9px;font-weight:800}.gm-week-meal-copy b{display:block;margin-top:2px;font-size:13px;line-height:1.48;font-weight:900}.gm-week-meal-copy p{margin:2px 0 0;color:var(--gm-muted);font-size:9px;line-height:1.5}.gm-week-meal-copy em{display:block;margin-top:3px;color:var(--gm-primary);font-size:9px;font-style:normal;font-weight:800}.gm-week-meal-actions{grid-column:2;display:flex;gap:6px;margin-top:4px}.gm-week-meal-actions button{min-height:35px;border:1px solid var(--gm-line);border-radius:10px;background:#fffaf1;color:var(--gm-text);padding:6px 9px;font-size:10px;font-weight:900}.gm-week-meal-actions button:last-child{color:var(--gm-primary)}
.gm-week-footer-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;border-top:1px solid var(--gm-line);padding-top:13px}.gm-week-footer-actions button{min-height:44px;border:1px solid var(--gm-line);border-radius:12px;background:var(--gm-surface);color:var(--gm-text);padding:8px 10px;font-size:11px;font-weight:900}.gm-week-footer-actions .gm-week-shopping{border-color:var(--gm-primary);background:var(--gm-primary);color:#fff}.gm-week-footer-actions button:last-child:nth-child(3){grid-column:1/-1;background:var(--gm-soft);color:var(--gm-primary);border-color:#b9d0be}
@media(max-width:390px){.gm-week-page{gap:14px}.gm-week-budget-main b{font-size:19px}.gm-week-budget-truth{align-items:flex-start;flex-direction:column}.gm-week-summary{gap:5px}.gm-week-summary>div,.gm-week-summary>button{min-height:79px;padding-inline:3px}.gm-week-day-head{grid-template-columns:47px minmax(0,1fr) 24px}.gm-week-compact{gap:4px 7px}}


/* GM-1.1 Shopping */
.gm-shop-page{--gm-bg:#f7f3e8;--gm-surface:#fffdf8;--gm-text:#163629;--gm-muted:#53685f;--gm-line:#ddd3c0;--gm-primary:#2f684f;--gm-soft:#eef4ed;--gm-sand:#b78542;--gm-warn:#8b5a16;color:var(--gm-text);font-family:inherit;display:flex;flex-direction:column;gap:15px;padding:6px 0 30px}.gm-shop-page *{box-sizing:border-box}.gm-shop-page button,.gm-shop-page summary{font:inherit;-webkit-tap-highlight-color:transparent}.gm-shop-page button:focus-visible,.gm-shop-page summary:focus-visible{outline:3px solid rgba(183,133,66,.42);outline-offset:2px}
.gm-shop-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.gm-shop-heading span{display:block;color:var(--gm-primary);font-size:12px;font-weight:850}.gm-shop-heading h1{margin:2px 0 0;font-size:31px;line-height:1.08;font-weight:950}.gm-shop-heading>button{min-height:40px;border:1px solid var(--gm-primary);border-radius:12px;background:var(--gm-primary);color:#fff;padding:8px 12px;font-size:11px;font-weight:900}
.gm-shop-money{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;border:1px solid var(--gm-line);border-radius:18px;background:var(--gm-surface);box-shadow:0 5px 16px rgba(29,53,40,.05)}.gm-shop-money>div{min-width:0;padding:12px 7px;text-align:center}.gm-shop-money>div+div{border-inline-start:1px solid var(--gm-line)}.gm-shop-money .is-primary{background:var(--gm-soft)}.gm-shop-money small{display:block;min-height:27px;color:var(--gm-muted);font-size:9px;line-height:1.45;font-weight:800}.gm-shop-money b{display:block;margin-top:2px;font-size:16px;font-weight:950;white-space:nowrap}.gm-shop-money .is-primary b{color:var(--gm-primary);font-size:18px}.gm-shop-money-note{margin:-8px 2px 0;color:var(--gm-muted);font-size:10px;line-height:1.6;font-weight:650}
.gm-shop-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;border-radius:13px;background:#eee8dc;padding:4px}.gm-shop-modes button{min-height:42px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--gm-muted);padding:7px 5px;font-size:10px;font-weight:900}.gm-shop-modes .is-selected{border-color:#86aa96;background:#fffdf8;color:var(--gm-text);box-shadow:0 2px 8px rgba(29,53,40,.06)}
.gm-shop-progress{display:flex;flex-direction:column;gap:8px}.gm-shop-progress>div:first-child{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.gm-shop-progress span small{display:block;color:var(--gm-muted);font-size:10px;font-weight:800}.gm-shop-progress span b{display:block;margin-top:2px;font-size:15px;font-weight:950}.gm-shop-progress strong{color:var(--gm-primary);font-size:11px;font-weight:950}.gm-shop-progress-track{height:6px;border-radius:999px;background:#e8e1d5;overflow:hidden}.gm-shop-progress-track i{display:block;height:100%;border-radius:inherit;background:#4b855f;transition:width .2s ease}
.gm-shop-categories{display:flex;flex-direction:column;gap:9px}.gm-shop-categories .gm-section-head,.gm-shop-custom .gm-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.gm-shop-categories .gm-section-head small,.gm-shop-custom .gm-section-head small{display:block;color:var(--gm-muted);font-size:10px;font-weight:800}.gm-shop-categories .gm-section-head h2,.gm-shop-custom .gm-section-head h2{margin:1px 0 0;font-size:19px;font-weight:950}.gm-shop-categories .gm-section-head button,.gm-shop-custom .gm-section-head button{border:0;background:transparent;color:var(--gm-primary);font-size:10px;font-weight:900;padding:5px 0}.gm-shop-category-list{display:flex;flex-direction:column;gap:9px}.gm-shop-category{overflow:hidden;border:1px solid var(--gm-line);border-radius:18px;background:var(--gm-surface);box-shadow:0 3px 12px rgba(29,53,40,.045)}.gm-shop-category[open]{border-color:#85aa95;box-shadow:0 5px 18px rgba(47,104,79,.08)}.gm-shop-category summary{list-style:none}.gm-shop-category summary::-webkit-details-marker{display:none}.gm-shop-category-head{display:grid;grid-template-columns:68px minmax(0,1fr) 46px 18px;align-items:center;gap:10px;min-height:88px;padding:10px;cursor:pointer}.gm-shop-category-photo{width:68px;height:64px;border-radius:13px;background:#f0eadf;overflow:hidden;display:grid;place-items:center;color:var(--gm-muted)}.gm-shop-category-photo img{width:100%;height:100%;object-fit:cover}.gm-shop-category-copy{min-width:0}.gm-shop-category-copy small{display:block;color:var(--gm-muted);font-size:9px;font-weight:800}.gm-shop-category-copy b{display:block;margin-top:2px;font-size:15px;font-weight:950;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gm-shop-category-copy em{display:block;margin-top:4px;color:var(--gm-muted);font-size:10px;font-style:normal;font-weight:750}.gm-shop-category-state{text-align:center}.gm-shop-category-state small{display:block;color:var(--gm-muted);font-size:8px;font-weight:750}.gm-shop-category-state b{display:block;margin-top:2px;font-size:12px;font-weight:950}.gm-shop-category-state.is-complete b{color:#397552}.gm-shop-category-chevron{color:var(--gm-muted);font-size:18px;font-weight:950;transition:transform .15s ease}.gm-shop-category[open] .gm-shop-category-chevron{transform:rotate(180deg)}.gm-shop-category-body{border-top:1px solid var(--gm-line);padding:0 10px}
.gm-shop-item{display:grid;grid-template-columns:30px 44px minmax(0,1fr) 82px;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--gm-line)}.gm-shop-item:last-child{border-bottom:0}.gm-shop-item.is-done{opacity:.66}.gm-shop-check{width:28px;height:28px;border:1.5px solid #9aa79f;border-radius:9px;background:#fff;color:#fff;font-size:14px;font-weight:950}.gm-shop-check.is-checked{border-color:#397552;background:#397552}.gm-shop-thumb{width:44px;height:44px;border-radius:11px;background:#f0eadf;overflow:hidden;display:grid;place-items:center;color:var(--gm-muted)}.gm-shop-thumb img{width:100%;height:100%;object-fit:cover}.gm-shop-copy{min-width:0;border:0;background:transparent;color:var(--gm-text);padding:0;text-align:right}.gm-shop-copy b{display:block;font-size:12px;line-height:1.4;font-weight:950}.gm-shop-copy small{display:block;margin-top:3px;color:var(--gm-muted);font-size:8.5px;line-height:1.5;font-weight:650}.gm-shop-finance{border:0;background:transparent;color:var(--gm-text);padding:0;text-align:left}.gm-shop-finance span{display:block}.gm-shop-finance span+span{margin-top:4px}.gm-shop-finance small{display:block;color:var(--gm-muted);font-size:8px;font-weight:750}.gm-shop-finance b{display:block;margin-top:1px;font-size:10px;font-weight:950;white-space:nowrap}.gm-shop-finance span:last-child b{color:var(--gm-primary)}
.gm-shop-custom{border-top:1px solid var(--gm-line);padding-top:13px}.gm-shop-custom-list{margin-top:9px;border:1px solid var(--gm-line);border-radius:15px;background:var(--gm-surface);overflow:hidden}.gm-shop-custom-list article{display:grid;grid-template-columns:minmax(0,1fr) auto 38px;align-items:center;gap:8px;padding:9px 10px;border-bottom:1px solid var(--gm-line)}.gm-shop-custom-list article:last-child{border-bottom:0}.gm-shop-custom-list article>button:first-child{min-width:0;border:0;background:transparent;color:var(--gm-text);text-align:right}.gm-shop-custom-list b{display:block;font-size:12px;font-weight:900}.gm-shop-custom-list small{display:block;margin-top:2px;color:var(--gm-muted);font-size:9px}.gm-shop-custom-list span{color:var(--gm-primary);font-size:10px;font-weight:900}.gm-shop-custom-list article>button:last-child{min-height:34px;border:1px solid var(--gm-line);border-radius:9px;background:var(--gm-soft);color:var(--gm-primary);font-size:9px;font-weight:900}.gm-shop-custom>p{margin:7px 1px 0;color:var(--gm-muted);font-size:9px;line-height:1.55}.gm-shop-custom-empty{margin-top:9px;border:1px dashed var(--gm-line);border-radius:14px;padding:12px;background:#fbf7ef}.gm-shop-custom-empty b{display:block;font-size:12px}.gm-shop-custom-empty small{display:block;margin-top:3px;color:var(--gm-muted);font-size:9px}.gm-shop-empty-list{border:1px dashed var(--gm-line);border-radius:15px;background:#fbf7ef;padding:15px}.gm-shop-empty-list b,.gm-shop-empty-list small{display:block}.gm-shop-empty-list small{margin-top:4px;color:var(--gm-muted);font-size:10px}.gm-shop-footer-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.gm-shop-footer-actions button{min-height:40px;border:1px solid var(--gm-line);border-radius:11px;background:var(--gm-surface);color:var(--gm-text);padding:7px 9px;font-size:10px;font-weight:900}
@media(max-width:390px){.gm-shop-page{gap:14px}.gm-shop-heading h1{font-size:29px}.gm-shop-money>div{padding-inline:5px}.gm-shop-money b{font-size:14px}.gm-shop-money .is-primary b{font-size:16px}.gm-shop-category-head{grid-template-columns:62px minmax(0,1fr) 42px 16px;gap:8px}.gm-shop-category-photo{width:62px;height:60px}.gm-shop-item{grid-template-columns:28px 40px minmax(0,1fr) 76px;gap:7px}.gm-shop-thumb{width:40px;height:40px}}


/* GM-1.1 Inventory */
.gm-stock-page{--gm-bg:#f7f3e8;--gm-surface:#fffdf8;--gm-text:#163629;--gm-muted:#53685f;--gm-line:#ddd3c0;--gm-primary:#2f684f;--gm-soft:#eef4ed;--gm-sand:#b78542;--gm-warn:#8b5a16;color:var(--gm-text);font-family:inherit;display:flex;flex-direction:column;gap:15px;padding:6px 0 30px}.gm-stock-page *{box-sizing:border-box}.gm-stock-page button,.gm-stock-page summary{font:inherit;-webkit-tap-highlight-color:transparent}.gm-stock-page button:focus-visible,.gm-stock-page summary:focus-visible{outline:3px solid rgba(183,133,66,.42);outline-offset:2px}
.gm-stock-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px}.gm-stock-heading span{display:block;color:var(--gm-primary);font-size:12px;font-weight:850}.gm-stock-heading h1{margin:2px 0 0;font-size:31px;line-height:1.08;font-weight:950}.gm-stock-heading p{margin:5px 0 0;color:var(--gm-muted);font-size:11px;line-height:1.55;font-weight:650}.gm-stock-heading>button{min-height:40px;border:1px solid var(--gm-line);border-radius:12px;background:var(--gm-surface);color:var(--gm-primary);padding:8px 10px;font-size:10px;font-weight:900}
.gm-stock-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;border:1px solid var(--gm-line);border-radius:18px;background:var(--gm-surface);box-shadow:0 5px 16px rgba(29,53,40,.05)}.gm-stock-summary>div{padding:11px 7px;text-align:center}.gm-stock-summary>div+div{border-inline-start:1px solid var(--gm-line)}.gm-stock-summary small{display:block;min-height:27px;color:var(--gm-muted);font-size:9px;line-height:1.4;font-weight:800}.gm-stock-summary b{display:block;margin-top:2px;font-size:17px;font-weight:950}.gm-stock-summary .has-alert{background:#fff5df}.gm-stock-summary .has-alert b{color:var(--gm-warn)}
.gm-stock-filters{display:flex;gap:6px;overflow-x:auto;padding:1px 0 4px;scrollbar-width:none}.gm-stock-filters::-webkit-scrollbar{display:none}.gm-stock-filters button{flex:0 0 auto;min-height:38px;border:1px solid var(--gm-line);border-radius:999px;background:var(--gm-surface);color:var(--gm-muted);padding:7px 11px;font-size:9px;font-weight:900}.gm-stock-filters .is-selected{border-color:#86aa96;background:var(--gm-soft);color:var(--gm-text)}
.gm-stock-section{display:flex;flex-direction:column;gap:9px}.gm-stock-section .gm-section-head,.gm-stock-recent .gm-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.gm-stock-section .gm-section-head small,.gm-stock-recent .gm-section-head small{display:block;color:var(--gm-muted);font-size:10px;font-weight:800}.gm-stock-section .gm-section-head h2,.gm-stock-recent .gm-section-head h2{margin:1px 0 0;font-size:19px;font-weight:950}.gm-stock-section .gm-section-head button,.gm-stock-recent .gm-section-head button{border:0;background:transparent;color:var(--gm-primary);font-size:10px;font-weight:900;padding:5px 0}.gm-stock-recent .gm-section-head>div:last-child{display:flex;gap:8px}.gm-stock-category-list{display:flex;flex-direction:column;gap:9px}
.gm-stock-category{overflow:hidden;border:1px solid var(--gm-line);border-radius:18px;background:var(--gm-surface);box-shadow:0 3px 12px rgba(29,53,40,.045)}.gm-stock-category[open]{border-color:#85aa95;box-shadow:0 5px 18px rgba(47,104,79,.08)}.gm-stock-category summary{list-style:none}.gm-stock-category summary::-webkit-details-marker{display:none}.gm-stock-category-head{display:grid;grid-template-columns:68px minmax(0,1fr) 58px 18px;align-items:center;gap:9px;min-height:88px;padding:10px;cursor:pointer}.gm-stock-category-photo{width:68px;height:64px;border-radius:13px;background:#f0eadf;overflow:hidden;display:grid;place-items:center;color:var(--gm-muted)}.gm-stock-category-photo img{width:100%;height:100%;object-fit:cover}.gm-stock-category-copy{min-width:0}.gm-stock-category-copy small{display:block;color:var(--gm-muted);font-size:9px;font-weight:800}.gm-stock-category-copy b{display:block;margin-top:2px;font-size:15px;font-weight:950;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gm-stock-category-copy em{display:block;margin-top:4px;color:var(--gm-muted);font-size:9px;font-style:normal;font-weight:750}.gm-stock-category-state{text-align:center}.gm-stock-category-state small{display:block;color:var(--gm-muted);font-size:8px;font-weight:750}.gm-stock-category-state b{display:block;margin-top:2px;font-size:10px;line-height:1.35;font-weight:950}.gm-stock-category-state.has-alert b{color:var(--gm-warn)}.gm-stock-category-state.is-good b{color:var(--gm-primary)}.gm-stock-category-chevron{color:var(--gm-muted);font-size:18px;font-weight:950;transition:transform .15s ease}.gm-stock-category[open] .gm-stock-category-chevron{transform:rotate(180deg)}.gm-stock-category-body{border-top:1px solid var(--gm-line);padding:0 10px}
.gm-stock-item{display:grid;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--gm-line)}.gm-stock-item:last-child{border-bottom:0}.gm-stock-food-item{grid-template-columns:44px minmax(0,1fr) auto}.gm-stock-house-item{grid-template-columns:minmax(0,1fr) auto auto}.gm-stock-thumb{width:44px;height:44px;border-radius:11px;background:#f0eadf;overflow:hidden;display:grid;place-items:center;color:var(--gm-muted)}.gm-stock-thumb img{width:100%;height:100%;object-fit:cover}.gm-stock-item-copy{min-width:0;border:0;background:transparent;color:var(--gm-text);padding:0;text-align:right}.gm-stock-item-copy b{display:block;font-size:12px;font-weight:950}.gm-stock-item-copy small{display:block;margin-top:3px;color:var(--gm-muted);font-size:9px;line-height:1.45;font-weight:650}.gm-stock-status{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;border:1px solid var(--gm-line);border-radius:999px;background:#f6f1e8;padding:6px 8px;color:var(--gm-muted);font-size:8.5px;font-weight:900}.gm-stock-status i{width:6px;height:6px;border-radius:50%;background:#94a198}.gm-stock-status.is-enough,.gm-stock-status.is-good{border-color:#b7cfbd;background:#edf6ee;color:#316c4d}.gm-stock-status.is-enough i,.gm-stock-status.is-good i{background:#4a845f}.gm-stock-status.is-low,.gm-stock-status.is-soon,.gm-stock-status.is-due{border-color:#dfc793;background:#fff5df;color:var(--gm-warn)}.gm-stock-status.is-low i,.gm-stock-status.is-soon i,.gm-stock-status.is-due i{background:#b57926}.gm-stock-status.is-out{border-color:#d6a6a0;background:#fff0ed;color:#9a4038}.gm-stock-status.is-out i{background:#a94f45}.gm-stock-quick{min-height:34px;border:1px solid var(--gm-line);border-radius:9px;background:var(--gm-soft);color:var(--gm-primary);padding:6px 7px;font-size:8.5px;font-weight:900}.gm-stock-item.is-disabled{opacity:.56}
.gm-stock-setup{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;border:1px solid #dfc793;border-radius:15px;background:#fff5df;color:var(--gm-text);padding:12px;text-align:right}.gm-stock-setup b{font-size:12px;font-weight:950}.gm-stock-setup small{grid-column:1;color:var(--gm-muted);font-size:9px;line-height:1.5}.gm-stock-setup span{grid-row:1/span 2;grid-column:2;align-self:center;color:var(--gm-warn);font-size:9px;font-weight:900}.gm-stock-recent{border-top:1px solid var(--gm-line);padding-top:13px}.gm-stock-recent-list{margin-top:9px;border:1px solid var(--gm-line);border-radius:15px;background:var(--gm-surface);overflow:hidden}.gm-stock-recent-list article{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border-bottom:1px solid var(--gm-line)}.gm-stock-recent-list article:last-child{border-bottom:0}.gm-stock-recent-list b{display:block;font-size:11px;font-weight:900}.gm-stock-recent-list small{display:block;margin-top:2px;color:var(--gm-muted);font-size:8.5px}.gm-stock-recent-list em{color:var(--gm-primary);font-size:9px;font-style:normal;font-weight:900}.gm-stock-empty{border:1px dashed var(--gm-line);border-radius:14px;background:#fbf7ef;padding:13px}.gm-stock-empty b,.gm-stock-empty small{display:block}.gm-stock-empty b{font-size:12px}.gm-stock-empty small{margin-top:4px;color:var(--gm-muted);font-size:9px}.gm-stock-footer{display:grid;grid-template-columns:1fr 1fr;gap:8px}.gm-stock-footer button{min-height:40px;border:1px solid var(--gm-line);border-radius:11px;background:var(--gm-surface);color:var(--gm-text);font-size:10px;font-weight:900}
@media(max-width:390px){.gm-stock-page{gap:14px}.gm-stock-heading h1{font-size:29px}.gm-stock-category-head{grid-template-columns:62px minmax(0,1fr) 54px 16px;gap:8px}.gm-stock-category-photo{width:62px;height:60px}.gm-stock-house-item{grid-template-columns:minmax(0,1fr) auto}.gm-stock-house-item .gm-stock-quick{grid-column:1/-1;justify-self:end}.gm-stock-summary b{font-size:15px}}

/* GM-M6 — Family/Budget */
.gm-family-page{display:flex;flex-direction:column;gap:16px}.gm-family-heading{display:grid;grid-template-columns:minmax(0,1fr) 132px;gap:12px;align-items:start}.gm-family-heading>div>span{display:block;color:var(--gm-primary);font-size:10px;font-weight:900}.gm-family-heading h1{margin:3px 0 0;font-size:28px;line-height:1.2;font-weight:950;letter-spacing:-.02em}.gm-family-heading p{margin:6px 0 0;color:var(--gm-muted);font-size:10px;line-height:1.65;font-weight:650}.gm-family-profile-btn{min-height:62px;border:1px solid var(--gm-line);border-radius:14px;background:var(--gm-surface);padding:10px;text-align:right;color:var(--gm-text)}.gm-family-profile-btn small,.gm-family-profile-btn b{display:block}.gm-family-profile-btn small{color:var(--gm-muted);font-size:8.5px;font-weight:800}.gm-family-profile-btn b{margin-top:4px;font-size:9.5px;line-height:1.45;font-weight:900}
.gm-family-summary{display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;border:1px solid var(--gm-line);border-radius:15px;background:var(--gm-surface)}.gm-family-summary>div{padding:10px 6px;text-align:center;border-left:1px solid var(--gm-line)}.gm-family-summary>div:last-child{border-left:0}.gm-family-summary b{display:block;font-size:17px;font-weight:950}.gm-family-summary small{display:block;margin-top:2px;color:var(--gm-muted);font-size:8px;font-weight:800}
.gm-family-budget{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #d5b873;border-radius:18px;background:#fff8e9;padding:14px;box-shadow:0 4px 16px rgba(98,70,22,.05)}.gm-family-budget-copy>small{display:block;color:var(--gm-muted);font-size:9px;font-weight:850}.gm-family-budget-copy>div{display:flex;align-items:baseline;gap:8px;margin-top:3px}.gm-family-budget-copy>div b{font-size:26px;line-height:1;font-weight:950;color:var(--gm-text)}.gm-family-budget-copy>div span{border:1px solid #dfc88f;border-radius:999px;background:#fffdf7;padding:4px 7px;color:#7a591d;font-size:8px;font-weight:900}.gm-family-budget-copy p{margin:7px 0 0;color:var(--gm-muted);font-size:9px;line-height:1.55;font-weight:700}.gm-family-budget>button{min-height:42px;max-width:120px;border:1px solid #173f30;border-radius:12px;background:#214f3a;color:#fff;padding:8px 11px;font-size:9px;line-height:1.45;font-weight:950;box-shadow:0 2px 5px rgba(25,64,47,.12)}
.gm-family-members,.gm-family-cuisines,.gm-family-avoid{border-top:1px solid var(--gm-line);padding-top:13px}.gm-family-member-list{display:flex;flex-direction:column;gap:8px;margin-top:9px}.gm-family-member{display:grid;grid-template-columns:44px minmax(0,1fr) auto 16px;align-items:center;gap:9px;width:100%;min-height:66px;border:1px solid var(--gm-line);border-radius:14px;background:var(--gm-surface);padding:9px;text-align:right;color:var(--gm-text)}.gm-family-avatar{width:44px;height:44px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#eee6d9;color:var(--gm-primary);font-size:16px;font-weight:950}.gm-family-avatar img{width:100%;height:100%;object-fit:cover}.gm-family-member-copy{min-width:0}.gm-family-member-copy b,.gm-family-member-copy small,.gm-family-member-copy em{display:block}.gm-family-member-copy b{font-size:12px;font-weight:950;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gm-family-member-copy small{margin-top:2px;color:var(--gm-muted);font-size:8.8px;font-weight:750}.gm-family-member-copy em{margin-top:3px;color:var(--gm-muted);font-size:8px;line-height:1.35;font-style:normal;font-weight:650}.gm-family-member-state{white-space:nowrap;border:1px solid var(--gm-line);border-radius:999px;background:#f7f1e7;padding:5px 7px;color:var(--gm-muted);font-size:8px;font-weight:900}.gm-family-member-state.is-exact{border-color:#aebfae;background:#eef5ed;color:#355f45}.gm-family-chevron{color:var(--gm-muted);font-size:16px;font-weight:950}
.gm-family-cuisine-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.gm-family-cuisine{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--gm-line);border-radius:999px;background:var(--gm-surface);padding:7px 9px;color:var(--gm-text)}.gm-family-cuisine i{display:grid;place-items:center;width:15px;height:15px;border:1px solid #c8a963;border-radius:50%;background:#fff9e9;color:#775b24;font-size:8px;font-style:normal;font-weight:950}.gm-family-cuisine b{font-size:9px;font-weight:950}.gm-family-cuisine small{color:var(--gm-muted);font-size:8px;font-weight:850}.gm-family-cuisines>p{margin:8px 0 0;color:var(--gm-muted);font-size:8.5px;line-height:1.55;font-weight:650}
.gm-family-avoid-list{display:flex;flex-direction:column;gap:7px;margin-top:9px}.gm-family-avoid-list button{display:grid;grid-template-columns:90px minmax(0,1fr);gap:8px;align-items:start;border:1px solid var(--gm-line);border-radius:12px;background:var(--gm-surface);padding:9px;text-align:right;color:var(--gm-text)}.gm-family-avoid-list b{font-size:9px;font-weight:950}.gm-family-avoid-list small{color:var(--gm-muted);font-size:8.5px;line-height:1.5}.gm-family-avoid.is-empty{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;border:1px dashed var(--gm-line);border-radius:14px;background:#fbf7ef;padding:11px}.gm-family-avoid.is-empty small,.gm-family-avoid.is-empty b,.gm-family-avoid.is-empty p{display:block}.gm-family-avoid.is-empty small{color:var(--gm-muted);font-size:8px;font-weight:800}.gm-family-avoid.is-empty b{margin-top:2px;font-size:10px;font-weight:950}.gm-family-avoid.is-empty p{margin:3px 0 0;color:var(--gm-muted);font-size:8px}.gm-family-avoid.is-empty button{min-height:34px;border:1px solid var(--gm-line);border-radius:9px;background:var(--gm-surface);color:var(--gm-primary);padding:6px 9px;font-size:8.5px;font-weight:900}
.gm-family-tools{display:grid;grid-template-columns:1fr 1fr;gap:8px}.gm-family-tool{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid var(--gm-line);border-radius:14px;background:var(--gm-surface);padding:10px;text-align:right;color:var(--gm-text)}.gm-family-tool>span:first-child{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#f2ebdf;color:var(--gm-primary);font-size:14px;font-weight:900}.gm-family-tool b,.gm-family-tool small{display:block}.gm-family-tool b{font-size:9.5px;font-weight:950}.gm-family-tool small{margin-top:2px;color:var(--gm-muted);font-size:7.8px;line-height:1.45}.gm-family-tool em{color:var(--gm-muted);font-size:11px;font-style:normal;font-weight:950}.gm-family-pediatric{width:100%;grid-template-columns:34px minmax(0,1fr) auto;border-color:#e0cfa7;background:#fff9ea}.gm-family-empty{gap:16px}
@media(max-width:390px){.gm-family-page{gap:14px}.gm-family-heading{grid-template-columns:minmax(0,1fr) 112px}.gm-family-heading h1{font-size:26px}.gm-family-profile-btn{padding:8px}.gm-family-summary b{font-size:15px}.gm-family-budget{grid-template-columns:minmax(0,1fr) 104px;padding:12px}.gm-family-budget-copy>div b{font-size:23px}.gm-family-member{grid-template-columns:40px minmax(0,1fr) auto 14px;gap:8px}.gm-family-avatar{width:40px;height:40px}.gm-family-tools{grid-template-columns:1fr}.gm-family-avoid-list button{grid-template-columns:78px minmax(0,1fr)}}

/* GM-M7 — Full-plan Alternatives */
.gm-alt-sheet{display:flex;flex-direction:column;gap:14px;color:var(--gm-text)}.gm-alt-heading small{display:block;color:var(--gm-primary);font-size:9px;font-weight:900}.gm-alt-heading h2{margin:3px 0 0;font-size:23px;line-height:1.25;font-weight:950}.gm-alt-heading p{margin:5px 0 0;color:var(--gm-muted);font-size:9px;line-height:1.55;font-weight:650}.gm-alt-current{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;border:1px solid #aebfae;border-radius:15px;background:#eef5ed;padding:11px}.gm-alt-current-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#d8e8db;color:#315d45;font-size:15px;font-weight:950}.gm-alt-current small,.gm-alt-current b,.gm-alt-current p{display:block}.gm-alt-current small{color:#52705d;font-size:8px;font-weight:850}.gm-alt-current b{margin-top:1px;font-size:11px;font-weight:950}.gm-alt-current p{margin:3px 0 0;color:var(--gm-muted);font-size:8.5px;font-weight:700}.gm-alt-current em{white-space:nowrap;border:1px solid #b7cfbd;border-radius:999px;background:#fff;padding:5px 7px;color:#356149;font-size:8px;font-style:normal;font-weight:900}.gm-alt-current em.is-over{border-color:#dec387;background:#fff8e7;color:#875e19}
.gm-alt-list{display:flex;flex-direction:column;gap:9px}.gm-alt-card{overflow:hidden;border:1px solid var(--gm-line);border-radius:16px;background:var(--gm-surface);box-shadow:0 3px 12px rgba(29,53,40,.04)}.gm-alt-card[open]{border-color:#9db6a6;box-shadow:0 6px 20px rgba(32,70,52,.07)}.gm-alt-summary{display:grid;grid-template-columns:32px minmax(0,1fr) 18px;align-items:center;gap:9px;min-height:70px;padding:10px;cursor:pointer;list-style:none}.gm-alt-summary::-webkit-details-marker{display:none}.gm-alt-number{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#eee6d9;color:var(--gm-primary);font-size:13px;font-weight:950}.gm-alt-summary-copy{min-width:0}.gm-alt-summary-copy small,.gm-alt-summary-copy b,.gm-alt-summary-copy em{display:block}.gm-alt-summary-copy small{color:var(--gm-muted);font-size:8px;font-weight:800}.gm-alt-summary-copy b{margin-top:2px;font-size:15px;font-weight:950}.gm-alt-summary-copy em{margin-top:3px;font-size:8.5px;font-style:normal;font-weight:900}.gm-alt-summary-copy em.is-over{color:#8b5f18}.gm-alt-summary-copy em.is-saving{color:#356149}.gm-alt-chevron{color:var(--gm-muted);font-size:16px;font-weight:950;transition:transform .15s}.gm-alt-card[open] .gm-alt-chevron{transform:rotate(180deg)}.gm-alt-body{border-top:1px solid var(--gm-line);padding:11px}.gm-alt-reason{margin:0 0 10px;color:var(--gm-muted);font-size:9px;line-height:1.65;font-weight:650}.gm-alt-reason b{display:block;margin-bottom:2px;color:var(--gm-text);font-size:9px;font-weight:950}.gm-alt-ledger{display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;border:1px solid var(--gm-line);border-radius:12px;background:#fbf7ef}.gm-alt-ledger>div{min-width:0;padding:8px 6px;border-left:1px solid var(--gm-line);border-bottom:1px solid var(--gm-line);text-align:center}.gm-alt-ledger>div:nth-child(3n){border-left:0}.gm-alt-ledger>div:nth-last-child(-n+3){border-bottom:0}.gm-alt-ledger small,.gm-alt-ledger b{display:block}.gm-alt-ledger small{min-height:22px;color:var(--gm-muted);font-size:7.5px;line-height:1.35;font-weight:750}.gm-alt-ledger b{margin-top:2px;font-size:9px;font-weight:950}.gm-alt-package{display:flex;justify-content:space-between;align-items:center;margin-top:8px;border:1px dashed var(--gm-line);border-radius:10px;padding:7px 9px;color:var(--gm-muted);font-size:8px;font-weight:800}.gm-alt-package b{color:var(--gm-text);font-size:9px}.gm-alt-week{display:flex;flex-direction:column;gap:5px;margin-top:10px}.gm-alt-day{display:grid;grid-template-columns:46px minmax(0,1fr);gap:7px;align-items:start;border-bottom:1px solid var(--gm-line);padding:6px 0}.gm-alt-day:last-child{border-bottom:0}.gm-alt-day>b{font-size:8px;font-weight:950}.gm-alt-day>span{display:flex;flex-direction:column;gap:3px}.gm-alt-day i{display:grid;grid-template-columns:18px minmax(0,1fr);gap:4px;color:var(--gm-muted);font-size:8px;line-height:1.35;font-style:normal;font-weight:700}.gm-alt-day i strong{color:var(--gm-primary);font-size:8px;font-weight:950}.gm-alt-preview{width:100%;min-height:42px;margin-top:11px;border:1px solid #173f30;border-radius:12px;background:#214f3a;color:#fff;font-size:10px;font-weight:950}.gm-alt-commit-note{margin:7px 0 0;color:var(--gm-muted);font-size:8px;line-height:1.55;text-align:center}.gm-alt-separation{border:1px dashed var(--gm-line);border-radius:13px;background:#fbf7ef;padding:10px}.gm-alt-separation b,.gm-alt-separation p{display:block}.gm-alt-separation b{font-size:9px;font-weight:950}.gm-alt-separation p{margin:3px 0 0;color:var(--gm-muted);font-size:8px;line-height:1.5}.gm-alt-empty header{border:1px dashed var(--gm-line);border-radius:14px;background:#fbf7ef;padding:14px}.gm-alt-empty h2{font-size:18px}
@media(max-width:390px){.gm-alt-heading h2{font-size:21px}.gm-alt-ledger small{font-size:7px}.gm-alt-ledger b{font-size:8.5px}.gm-alt-current{grid-template-columns:30px minmax(0,1fr) auto}.gm-alt-current-mark{width:30px;height:30px}}


/* GM-M8 — Unified Shell & Navigation final authority
   Limited !important usage is intentional here only to supersede legacy shell rules
   loaded earlier in the cascade. Product-surface GM components remain free of shell patches. */
body.yekfi-signature .topbar{
  background:rgba(248,243,233,.97)!important;
  border-bottom:1px solid #ddd3c0!important;
  box-shadow:0 4px 18px rgba(29,53,40,.055)!important;
  padding-inline:10px!important;
}
body.yekfi-signature .topbar-primary-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:8px!important;
  align-items:center!important;
  min-width:0!important;
}
body.yekfi-signature .topbar-primary-row>.brand{
  min-width:0!important;
  max-width:150px!important;
  overflow:hidden!important;
}
body.yekfi-signature .brand-tagline-ar{
  display:block!important;
  color:#52645a!important;
  font-size:10.8px!important;
  line-height:1.2!important;
  font-weight:750!important;
}
body.yekfi-signature .topbar-utility-row{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  max-width:none!important;
  min-width:0!important;
}
body.yekfi-signature .header-budget-chip{
  width:94px!important;
  min-width:94px!important;
  max-width:94px!important;
  height:46px!important;
  min-height:46px!important;
  display:grid!important;
  place-items:center!important;
  padding:5px 7px!important;
  border:1px solid #c9c0ae!important;
  border-radius:13px!important;
  background:#fffdf8!important;
  color:#163629!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
body.yekfi-signature .header-budget-chip .header-budget-copy{display:grid!important;place-items:center!important;line-height:1.05!important}
body.yekfi-signature .header-budget-chip .header-budget-copy>small{
  display:block!important;
  margin:0 0 2px!important;
  color:#5b6f65!important;
  font-size:9px!important;
  line-height:1!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
body.yekfi-signature .header-budget-chip #headerBudget{
  display:block!important;
  color:#163629!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:950!important;
  white-space:nowrap!important;
}
body.yekfi-signature .header-budget-chip>em{display:none!important}
body.yekfi-signature .topbar-utility-row .round-icon{
  width:46px!important;min-width:46px!important;height:46px!important;
  border:1px solid #c9c0ae!important;background:#fffdf8!important;color:#214f3a!important;
}
body.yekfi-signature .bottom-nav{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  width:calc(100% - 16px)!important;
  max-width:504px!important;
  gap:3px!important;
  padding:6px!important;
  padding-bottom:max(6px,env(safe-area-inset-bottom))!important;
  background:rgba(255,253,248,.97)!important;
  border:1px solid #d8cfbd!important;
  border-radius:20px!important;
  box-shadow:0 10px 28px rgba(29,53,40,.12)!important;
  overflow:visible!important;
}
body.yekfi-signature .bottom-nav .nav-btn,
body.yekfi-signature .bottom-nav .planning-nav-btn{
  position:relative!important;
  min-width:0!important;
  min-height:56px!important;
  padding:6px 2px!important;
  border:1px solid transparent!important;
  border-radius:14px!important;
  background:transparent!important;
  color:#5b6f65!important;
  box-shadow:none!important;
  transform:none!important;
  z-index:auto!important;
}
body.yekfi-signature .bottom-nav .nav-btn i,
body.yekfi-signature .bottom-nav .planning-nav-btn i{
  width:25px!important;height:25px!important;border-radius:9px!important;
  display:grid!important;place-items:center!important;
  background:transparent!important;color:inherit!important;
}
body.yekfi-signature .bottom-nav .nav-btn span{
  color:inherit!important;font-size:10.5px!important;line-height:1.15!important;font-weight:850!important;
}
body.yekfi-signature .bottom-nav .nav-btn.active,
body.yekfi-signature .bottom-nav .planning-nav-btn.active,
body.yekfi-signature .bottom-nav .more-nav-btn.active{
  background:#214f3a!important;
  color:#fff!important;
  border-color:#214f3a!important;
  box-shadow:0 5px 14px rgba(33,79,58,.18)!important;
  transform:none!important;
}
body.yekfi-signature .bottom-nav .nav-btn.active i,
body.yekfi-signature .bottom-nav .planning-nav-btn.active i{
  background:rgba(255,255,255,.11)!important;color:#fff!important;
}
body.yekfi-signature .bottom-nav .nav-btn.active::before{
  content:""!important;display:block!important;position:absolute!important;
  top:4px!important;left:50%!important;transform:translateX(-50%)!important;
  width:19px!important;height:2px!important;border-radius:999px!important;background:#c69750!important;
}
@media(max-width:360px){
 body.yekfi-signature .brand-tagline-ar{display:none!important}
 body.yekfi-signature .header-budget-chip{width:88px!important;min-width:88px!important;max-width:88px!important}
 body.yekfi-signature .bottom-nav{width:calc(100% - 10px)!important;gap:1px!important;padding-inline:4px!important}
 body.yekfi-signature .bottom-nav .nav-btn span{font-size:9.6px!important}
}


/* GM-M10 — Physical findings repair authority */
body.yekfi-signature .gm-item-letter-fallback{display:grid;place-items:center;width:100%;height:100%;border-radius:inherit;background:#edf2ea;color:#214f3a;font-size:18px;font-weight:950}
body.yekfi-signature #sheetContent .menu-route.featured{background:#214f3a!important;border-color:#214f3a!important;color:#fff!important}
body.yekfi-signature #sheetContent .menu-route.featured :is(b,small,.ui-icon,svg){color:#fff!important;fill:currentColor!important;opacity:1!important}
body.yekfi-signature .monthly-shopping-hero .sig-shopping-stats>span{background:rgba(255,253,248,.96)!important;border-color:rgba(255,255,255,.82)!important;color:#163629!important;opacity:1!important;font-weight:850!important}
body.yekfi-signature .monthly-shopping-hero .sig-shopping-stats>span :is(b,small){color:#163629!important;opacity:1!important}

/* RC3 STABILIZATION-1: selected icon copper/gold, text stays readable. */
body.yekfi-signature .bottom-nav .nav-btn.active i,
body.yekfi-signature .bottom-nav .planning-nav-btn.active i{color:#E6B76B!important;background:rgba(230,183,107,.13)!important}
body.yekfi-signature .bottom-nav .nav-btn.active i svg,
body.yekfi-signature .bottom-nav .planning-nav-btn.active i svg{color:inherit!important;stroke:currentColor!important}

/* RC3 UX-F1 — Food-first Next Meal. Strictly scoped; no global layout changes. */
.ff-next-meal{--ff-gold:#a87437;gap:14px;padding-block-end:36px}
.ff-next-meal .gm-today-heading h1{font-size:26px}.ff-next-meal .gm-today-hero-title{font-size:24px;line-height:1.4;color:#123c2d}
.ff-next-meal .ff-hero{box-shadow:0 10px 26px rgba(35,68,45,.12)}
.ff-next-meal .gm-today-hero-media{aspect-ratio:16/9.3}.ff-next-meal .gm-today-hero-caption{background:rgba(23,54,40,.92);font-size:12px}
.ff-hero-subtitle{font-size:13px;line-height:1.7;color:#486251;margin:7px 0 4px}.ff-hero-subtitle strong{color:#204f39}
.ff-section{background:#fffdf8;border:1px solid #ded6c7;border-radius:18px;padding:15px;box-shadow:0 3px 14px rgba(24,55,37,.045)}
.ff-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:11px}.ff-section-title small{color:#617267;font-size:11px;font-weight:850}.ff-section-title h2{font-size:19px;line-height:1.4;font-weight:950;color:#183d2d;margin:1px 0 0}
.ff-pill{border-radius:999px;background:#ecf2eb;color:#2b624a;border:1px solid #ceddcf;font-size:10px;font-weight:850;padding:6px 9px;flex-shrink:0}
.ff-journey{padding:12px 13px;background:#ecf2e9;border:1px solid #d4dfd0;border-radius:16px}.ff-journey-label{display:flex;justify-content:space-between;gap:12px;color:#234c38;font-weight:900;font-size:12px}.ff-journey-label b{font-size:11px}.ff-journey-steps{display:flex;justify-content:space-between;gap:5px;margin-top:12px;overflow-x:auto;scrollbar-width:none}.ff-journey-steps span{min-width:fit-content;padding:6px 9px;background:#fff;color:#65776b;border-radius:9px;font-size:10px;font-weight:800}.ff-journey-steps .complete{color:#23734f;background:#e0f1e4}.ff-journey-steps .current{background:#285b44;color:#fff}
.ff-dishes{display:flex;flex-direction:column;gap:7px}.ff-dish{display:grid;grid-template-columns:35px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px 0;border-bottom:1px solid #eee9dd}.ff-dish:last-child{border-bottom:0}.ff-dish-number{display:grid;place-items:center;width:35px;height:35px;border-radius:12px;background:#edf2e8;color:#a06e2f;font-size:15px;font-weight:900}.ff-dish small,.ff-dish b{display:block}.ff-dish small{color:#698074;font-size:10px;font-weight:750}.ff-dish b{color:#173a2b;font-size:14px;line-height:1.5;font-weight:950}.ff-dish em{font-style:normal;font-size:11px;color:#345e49;font-weight:850;white-space:nowrap}.ff-text-action{margin-top:8px;padding:7px 0;border:0;background:transparent;color:#235d43;font-size:12px;font-weight:950;text-align:right}.ff-disclosure{background:#f8f4ea;border-radius:11px;padding:10px 12px;margin:7px 0}.ff-disclosure summary{font-size:12px;font-weight:850;cursor:pointer;color:#28553e}.ff-disclosure p{font-size:12px;line-height:1.6;margin:7px 0}.ff-disclosure small{font-size:11px;line-height:1.6;color:#566f5e;display:block}
.ff-caution{background:#fff5e6;border:1px solid #ead2a5;border-radius:12px;color:#785320;font-size:11.5px;line-height:1.8;padding:11px;margin:9px 0 0}.ff-good{background:#edf7ee;border:1px solid #b9dbbf;border-radius:11px;color:#296043;font-size:12px;line-height:1.7;padding:9px;margin:0 0 8px}
.ff-portion-metrics,.ff-money-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ff-portion-metrics span,.ff-money-grid>div{background:#f3f5ed;border-radius:12px;padding:10px;min-width:0}.ff-portion-metrics small,.ff-money-grid small{display:block;color:#587165;font-size:10px;line-height:1.5;font-weight:800}.ff-portion-metrics b,.ff-money-grid b{display:block;color:#18442f;font-size:15px;margin-top:3px;font-weight:950}.ff-money-grid>div:last-child{grid-column:1/-1;background:#faf4e8}.ff-muted{font-size:12px;line-height:1.8;color:#52685c;margin:10px 0}.ff-fineprint{font-size:10px;line-height:1.8;color:#68796e;margin:9px 0}.ff-inline-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.ff-inline-actions button,.ff-fridge-item button{min-height:40px;border:1px solid #d3dccf;border-radius:11px;padding:7px 11px;color:#28543d;background:#eff5ed;font-size:11px;font-weight:900}.ff-fridge-list{border:1px solid #e8e5dc;border-radius:12px;overflow:hidden}.ff-fridge-item{padding:10px 11px;display:flex;align-items:center;gap:8px;justify-content:space-between;border-bottom:1px solid #ecece3}.ff-fridge-item:last-child{border:0}.ff-fridge-item b,.ff-fridge-item small{display:block}.ff-fridge-item b{font-size:12px;color:#1c432f}.ff-fridge-item small{font-size:10px;color:#68786d;margin-top:2px}
.ff-shopping-cta{display:block;width:100%;min-height:44px;background:#295d43;border:1px solid #295d43;color:#fff;border-radius:12px;font-size:12px;font-weight:950;padding:10px;margin-top:8px}.ff-after{border-radius:17px;border:1px solid #d2dccb;background:#edf3e9;padding:14px;display:flex;align-items:center;gap:10px;justify-content:space-between}.ff-after small,.ff-after b,.ff-after em{display:block}.ff-after small{font-size:10px;color:#59725e;font-weight:800}.ff-after b{font-size:15px;color:#173b2a}.ff-after em{font-size:10px;line-height:1.5;color:#607367;font-style:normal;max-width:245px}.ff-after button{border:0;background:#305d44;border-radius:11px;padding:10px;color:#fff;font-weight:900;font-size:11px;min-height:44px;white-space:nowrap}
@media(max-width:400px){.ff-next-meal .gm-today-hero-title{font-size:21px}.ff-section{padding:12px}.ff-section-title h2{font-size:17px}.ff-pill{font-size:9px;padding:5px 7px}.ff-journey-steps{gap:3px}.ff-journey-steps span{font-size:9px;padding:5px 6px}.ff-dish{grid-template-columns:29px minmax(0,1fr) auto;gap:7px}.ff-dish-number{width:29px;height:29px}.ff-dish b{font-size:12px}.ff-dish em{font-size:10px}}
@media(prefers-reduced-motion:reduce){.ff-next-meal *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.ff-ingredient-raw{grid-column:2/-1;background:#f5f3ea;border-radius:10px;padding:7px 9px}.ff-ingredient-raw summary{color:#385e47;font-size:10px;font-weight:850;cursor:pointer}.ff-ingredient-raw p{color:#617368;font-size:10px;line-height:1.65;margin:6px 0 0}

/* MFD-1: show the actual multi-dish table before any collapsed detail. */
.ff-visible-table{margin:12px 0 16px;padding:16px;background:var(--gm-surface,#fffdf8);color:var(--gm-text,#163629);border:1px solid rgba(87,108,79,.22);border-radius:18px;display:grid;gap:11px}
.ff-visible-table-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.ff-visible-table-head small,.ff-visible-table-head h2{margin:0}
.ff-visible-table-head h2{font-size:1.05rem}
.ff-visible-table-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}
.ff-table-chip{display:flex;flex-direction:column;gap:4px;min-height:55px;padding:10px;border-radius:12px;background:rgba(73,110,63,.075)}
.ff-table-chip small{opacity:.78;font-size:.76rem}
.ff-table-chip.is-support{background:rgba(128,120,75,.085)}
.gm-today-meal-parts.is-incomplete,.gm-week-meal .is-incomplete{color:#8b552e}
.meal-cost-breakdown ul{padding-inline-start:20px;list-style:none;display:grid;gap:6px}
.meal-cost-breakdown li{display:flex;gap:6px;justify-content:space-between;flex-wrap:wrap}
.meal-cost-dish{padding:10px 0;border-bottom:1px solid rgba(120,120,120,.15)}
@media(max-width:400px){.ff-visible-table-items{grid-template-columns:repeat(2,minmax(0,1fr))}}
