:root{--bg:#f1f7f5;--card:#fff;--text:#092536;--muted:#637782;--border:#dbe7e4;--green:#6fbd45;--green-dark:#397c24;--teal:#078891;--yellow:#f3b725;--red:#b42318;--shadow:0 12px 36px rgba(9,37,54,.08);--radius:20px;--nav-h:70px}
[data-theme=dark]{--bg:#071820;--card:#102731;--text:#edf7f5;--muted:#a8c0c3;--border:#29424a;--shadow:0 14px 40px rgba(0,0,0,.3)}
*{box-sizing:border-box}html{scroll-behavior:smooth}[hidden]{display:none!important}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}button,a{transition:.18s ease}.skip-link{position:fixed;left:1rem;top:-5rem;background:var(--text);color:var(--card);padding:.7rem 1rem;z-index:99}.skip-link:focus{top:1rem}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1rem,4vw,3.5rem);position:sticky;top:0;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid var(--border);z-index:20}.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--text)}.brand-logo{width:42px;height:42px;border-radius:13px;object-fit:cover;display:block;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text) 20%,transparent)}.brand-mark{width:42px;height:42px;border-radius:13px;background:var(--text);color:var(--green);display:grid;place-items:center;font-weight:900;font-size:1.45rem}.brand strong,.brand small{display:block}.brand small{color:var(--muted);font-size:.7rem;letter-spacing:.04em}.top-actions{display:flex;align-items:center;gap:.6rem}.icon-button{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--border);border-radius:12px;background:var(--card);color:var(--text);text-decoration:none;cursor:pointer}.user-chip{padding:.55rem .8rem;border-radius:999px;background:var(--card);border:1px solid var(--border);font-size:.8rem}.main-nav{position:fixed;left:0;top:76px;bottom:0;width:112px;padding:1.2rem .65rem;display:flex;flex-direction:column;gap:.35rem;border-right:1px solid var(--border);background:var(--bg);z-index:10}.main-nav button{border:0;background:transparent;color:var(--muted);border-radius:14px;padding:.7rem .3rem;cursor:pointer;font-size:.72rem}.main-nav button span{display:block;font-size:1.35rem;color:var(--text);margin-bottom:.1rem}.main-nav button:hover,.main-nav button.active{background:var(--card);color:var(--text);box-shadow:var(--shadow)}.main-nav button.active span{color:var(--teal)}main{margin-left:112px;padding:clamp(1.2rem,4vw,3.3rem);min-height:calc(100vh - 76px)}.view{display:none;max-width:1480px;margin:auto}.view.active{display:block;animation:fade .22s ease}@keyframes fade{from{opacity:0;transform:translateY(6px)}}.page-head{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:1.6rem}.page-head h1{font-size:clamp(2rem,4vw,3.5rem);line-height:1.05;letter-spacing:-.045em;margin:.1rem 0 .55rem}.page-head p{margin:0;color:var(--muted);max-width:700px}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:.69rem;font-weight:800;color:var(--teal)!important}button,.button{border:0;border-radius:12px;padding:.75rem 1rem;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.primary{background:var(--text);color:var(--card)}.primary:hover{background:var(--teal);color:#fff}.secondary{background:var(--card);border:1px solid var(--border);color:var(--text)}.danger{background:#fee4e2;color:var(--red)}.text-button{background:transparent;color:var(--teal);padding:.3rem}.small{padding:.45rem .7rem;font-size:.78rem}.button-group{display:flex;flex-wrap:wrap;gap:.5rem}.planning-strip{display:grid;grid-template-columns:230px 1fr 50px;align-items:center;gap:1rem;background:var(--text);color:#fff;border-radius:var(--radius);padding:1.1rem 1.4rem;margin-bottom:1rem}.planning-strip span,.planning-strip strong{display:block}.planning-strip span{color:#bcd0d3;font-size:.75rem}.progress{height:8px;border-radius:99px;background:color-mix(in srgb,var(--muted) 28%,transparent);overflow:hidden}.progress span{display:block;height:100%;background:var(--green);border-radius:inherit}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1rem 0}.metric{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.15rem;box-shadow:var(--shadow);position:relative;overflow:hidden}.metric:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--border)}.metric.accent-green:before{background:var(--green)}.metric.accent-teal:before{background:var(--teal)}.metric.accent-yellow:before{background:var(--yellow)}.metric span,.metric small{display:block;color:var(--muted)}.metric strong{display:block;font-size:2rem;letter-spacing:-.04em;margin:.2rem 0}.dashboard-grid,.admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow)}.span-2{grid-column:span 2}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.panel h2{margin:.15rem 0;font-size:1.1rem}.recipe-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}.mini-recipe{display:block;text-align:left;background:transparent;border:1px solid var(--border);color:var(--text);padding:.7rem}.mini-recipe strong,.mini-recipe small{display:block}.mini-recipe small{color:var(--muted)}.food-art{height:86px;border-radius:13px;background:linear-gradient(135deg,color-mix(in srgb,var(--green) 35%,var(--card)),color-mix(in srgb,var(--yellow) 35%,var(--card)));display:grid;place-items:center;font-size:2rem;margin-bottom:.7rem}.status-list,.insight-list{list-style:none;margin:0;padding:0}.status-list li{display:flex;align-items:center;gap:.7rem;padding:.6rem 0;border-bottom:1px solid var(--border)}.status-list li:last-child{border:0}.status-list span strong,.status-list span small{display:block}.status-list small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:290px}.signal{width:10px;height:10px;border-radius:50%;background:#adb5bd;box-shadow:0 0 0 4px color-mix(in srgb,#adb5bd 18%,transparent)}.signal.green{background:#3b9b42}.signal.yellow{background:#d69700}.signal.red{background:#d43b32}.insight-list{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}.insight-list li{background:var(--bg);border-radius:14px;padding:.8rem}.insight-list b,.insight-list span{display:block}.insight-list b{font-size:1.5rem}.insight-list span{font-size:.75rem;color:var(--muted)}.phase-bars{display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem 1rem}.phase-bars>div{display:grid;grid-template-columns:65px 1fr 38px;align-items:center;gap:.5rem;font-size:.74rem}.filter-bar,.planner-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:.8rem;background:var(--card);padding:1rem;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1rem}.filter-bar label,.planner-toolbar label,.stack label,.settings-grid label{display:flex;flex-direction:column;gap:.3rem;color:var(--muted);font-size:.75rem;font-weight:650}.filter-bar input,.filter-bar select,.planner-toolbar input,.planner-toolbar select,.stack input,.stack select,.settings-grid input,.settings-grid select{border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text);padding:.67rem .75rem;min-width:150px}.check{flex-direction:row!important;align-items:center;gap:.45rem!important;padding-bottom:.65rem}.check input{min-width:auto!important}.card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.offer-card,.recipe-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}.card-art{height:150px;background:linear-gradient(145deg,color-mix(in srgb,var(--teal) 15%,var(--card)),color-mix(in srgb,var(--green) 22%,var(--card)));display:grid;place-items:center;font-size:2.5rem;position:relative}.card-art img{width:100%;height:100%;object-fit:cover}.card-badge{position:absolute;top:.7rem;left:.7rem;background:var(--card);padding:.3rem .55rem;border-radius:999px;font-size:.68rem;font-weight:800}.card-body{padding:1rem;display:flex;flex:1;flex-direction:column}.card-body h2{font-size:1.08rem;margin:.15rem 0}.card-body p{color:var(--muted);font-size:.83rem}.price{font-size:1.8rem;font-weight:850;letter-spacing:-.04em}.meta{display:flex;flex-wrap:wrap;gap:.35rem;margin:.5rem 0}.meta span{background:var(--bg);border:1px solid var(--border);padding:.25rem .45rem;border-radius:8px;font-size:.68rem}.card-actions{display:flex;gap:.4rem;margin-top:auto}.card-actions button{flex:1;font-size:.78rem}.quality{height:4px;background:var(--border);border-radius:99px}.quality span{display:block;height:100%;background:var(--green)}.empty-state{grid-column:1/-1;text-align:center;padding:4rem 1rem;color:var(--muted);background:var(--card);border:1px dashed var(--border);border-radius:var(--radius)}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:.7rem;overflow-x:auto;padding-bottom:.6rem}.day-column{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:.7rem;min-height:360px}.day-column.today{border-color:var(--teal);box-shadow:0 0 0 2px color-mix(in srgb,var(--teal) 15%,transparent)}.day-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.7rem}.day-head span{color:var(--muted);font-size:.7rem}.meal-slot{border:1px dashed var(--border);border-radius:13px;min-height:86px;padding:.6rem;margin-bottom:.55rem}.meal-slot>small{display:block;color:var(--muted);text-transform:uppercase;font-size:.62rem}.meal-card{background:var(--bg);border-radius:10px;padding:.5rem;margin-top:.35rem;cursor:grab}.meal-card strong,.meal-card small{display:block}.meal-card small{color:var(--muted)}.slot-add{width:100%;background:transparent;color:var(--teal);padding:.35rem}.hint,.info{color:var(--muted);background:color-mix(in srgb,var(--teal) 8%,var(--card));padding:.75rem;border-radius:12px;font-size:.8rem}.shopping-summary{display:grid;grid-template-columns:repeat(6,1fr);gap:.7rem;margin-bottom:1rem}.summary-cell{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:.8rem}.summary-cell strong,.summary-cell span{display:block}.summary-cell strong{font-size:1.3rem}.summary-cell span{font-size:.7rem;color:var(--muted)}.store-group{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1rem;overflow:hidden}.store-head{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.2rem;background:color-mix(in srgb,var(--green) 10%,var(--card))}.shopping-item{display:grid;grid-template-columns:35px 1.5fr repeat(4,1fr) 100px;gap:.7rem;align-items:center;padding:.8rem 1.2rem;border-top:1px solid var(--border)}.shopping-item small,.shopping-item span{color:var(--muted)}.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.settings-grid fieldset{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.2rem;display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}.settings-grid legend{font-weight:800;padding:0 .4rem}.settings-grid .info,.settings-grid fieldset>p,.settings-grid .pantry-list{grid-column:1/-1}.form-actions{grid-column:1/-1;display:flex;align-items:center;gap:1rem}.pantry-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.4rem}.pantry-item{display:flex;justify-content:space-between;align-items:center;background:var(--bg);border-radius:10px;padding:.5rem}.pantry-item select{min-width:130px}.privacy{margin-top:1rem}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stack{display:flex;flex-direction:column;gap:.8rem}.connector-row,.decision-card{border-bottom:1px solid var(--border);padding:.7rem 0}.connector-row:last-child,.decision-card:last-child{border:0}.connector-row{display:grid;grid-template-columns:12px 1fr auto;gap:.6rem;align-items:center}.connector-row small{display:block;color:var(--muted)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:.78rem}th,td{padding:.6rem;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}th{color:var(--muted);text-transform:uppercase;font-size:.63rem;letter-spacing:.06em}.status-pill{display:inline-block;padding:.2rem .45rem;border-radius:999px;background:var(--bg)}.decision-card h3{margin:.2rem 0}.decision-card p{margin:.35rem 0;color:var(--muted)}.decision-options{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.decision-option{border:1px solid var(--border);border-radius:12px;padding:.6rem}.decision-option.recommended{border-color:var(--green)}#toast{position:fixed;right:1rem;bottom:1rem;max-width:360px;background:var(--text);color:var(--card);border-radius:14px;padding:.8rem 1rem;transform:translateY(160%);transition:.25s;z-index:50;box-shadow:var(--shadow)}#toast.show{transform:none}footer{margin-left:112px;padding:1rem 3rem 2rem;display:flex;justify-content:space-between;color:var(--muted);font-size:.7rem}
@media(max-width:1100px){.metric-grid,.card-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid .span-2{grid-column:span 2}.recipe-row{grid-template-columns:repeat(2,1fr)}.shopping-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){body{padding-bottom:var(--nav-h)}.topbar{height:64px}.user-chip{display:none}.main-nav{top:auto;bottom:0;right:0;width:auto;height:var(--nav-h);flex-direction:row;justify-content:space-around;padding:.35rem .25rem;border:0;border-top:1px solid var(--border);overflow-x:auto}.main-nav button{min-width:68px;padding:.3rem;font-size:.6rem}.main-nav button span{font-size:1.05rem}.main-nav button[data-view=admin]{display:none}main{margin:0;padding:1rem}.page-head{display:block}.page-head button,.page-head .button-group{margin-top:1rem}.page-head h1{font-size:2.25rem}.planning-strip{grid-template-columns:1fr 50px}.planning-strip>div:first-child{grid-column:1/-1}.metric-grid,.card-grid,.dashboard-grid,.settings-grid,.admin-grid{grid-template-columns:1fr}.dashboard-grid .span-2,.span-2{grid-column:auto}.metric-grid{grid-template-columns:repeat(2,1fr)}.metric strong{font-size:1.55rem}.recipe-row{display:flex;overflow-x:auto}.mini-recipe{min-width:180px}.insight-list{grid-template-columns:1fr}.phase-bars{grid-template-columns:1fr}.filter-bar{align-items:stretch}.filter-bar label,.filter-bar input,.filter-bar select,.filter-bar button{width:100%}.filter-bar .check{padding:.35rem 0}.week-grid{scroll-snap-type:x mandatory}.day-column{min-width:82vw;scroll-snap-align:start}.shopping-summary{grid-template-columns:repeat(2,1fr)}.shopping-item{grid-template-columns:30px 1fr 70px}.shopping-item>*:nth-child(4),.shopping-item>*:nth-child(5),.shopping-item>*:nth-child(6){display:none}.settings-grid fieldset{grid-template-columns:1fr}.pantry-list{grid-template-columns:1fr}.decision-options{grid-template-columns:1fr}footer{margin:0;padding:1rem 1rem calc(var(--nav-h) + 1rem);display:block}footer span{display:block}}
@media print{.topbar,.main-nav,.page-head button,.filter-bar,.planner-toolbar,footer{display:none!important}main{margin:0;padding:0}.view{display:none!important}#view-shopping{display:block!important}.store-group{break-inside:avoid;box-shadow:none}.shopping-item{grid-template-columns:30px 2fr repeat(4,1fr)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.offer-freshness{font-weight:800}.offer-freshness.fresh{color:var(--green-dark)}.offer-freshness.current{color:var(--teal)}.offer-freshness.stale{color:#a15c00}.offer-freshness.unknown{color:var(--muted)}
/* Handset pass: keep the important actions reachable without zooming or
   horizontal precision work.  This is intentionally scoped to phones. */
@media(max-width:760px){
  :root{--nav-h:74px}
  body{padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom))}
  .topbar{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right));gap:.5rem}
  .brand small,.language-switch{display:none}
  .brand-logo{width:38px;height:38px;border-radius:12px}
  .top-actions{gap:.35rem}
  .icon-button{width:44px;height:44px}
  main{padding:1rem max(1rem,env(safe-area-inset-right)) calc(var(--nav-h) + 1.25rem + env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))}
  .main-nav{height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding:.35rem max(.25rem,env(safe-area-inset-right)) calc(.35rem + env(safe-area-inset-bottom)) max(.25rem,env(safe-area-inset-left));overscroll-behavior-x:contain}
  .main-nav button{min-width:64px;min-height:48px}
  button,.button,input[type="checkbox"],select{touch-action:manipulation}
  button,.button{min-height:46px}
  input,select,textarea{font-size:16px!important}
  .page-head{margin-bottom:1rem}
  .page-head h1{font-size:clamp(1.85rem,9vw,2.35rem);overflow-wrap:anywhere}
  .page-head p{font-size:.92rem}
  .panel,.store-group{border-radius:16px}
  .filter-bar,.planner-toolbar{padding:.85rem;gap:.65rem}
  .filter-bar button.primary{position:sticky;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + .7rem);z-index:8;box-shadow:0 10px 24px rgba(9,37,54,.2)}
  .planner-toolbar label{min-width:0}
  .planner-toolbar .check{min-height:46px;padding:.45rem 0}
  .week-day-open{min-height:76px}
  .day-column.day-detail{padding:.85rem}
  .meal-slot{min-height:78px}
  .slot-add{min-height:44px}
  #view-shopping .page-head .button-group{position:sticky;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + .6rem);z-index:9;display:grid;grid-template-columns:1fr 1fr;width:100%;padding:.55rem;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--card) 94%,transparent);backdrop-filter:blur(14px);box-shadow:0 12px 30px rgba(9,37,54,.16)}
  #view-shopping .page-head .button-group .primary{grid-column:1/-1}
  #view-shopping .page-head .button-group>*{width:100%}
  .shopping-summary{gap:.5rem}
  .summary-cell{padding:.7rem;min-width:0}
  .summary-cell strong{font-size:1.1rem;overflow-wrap:anywhere}
  .store-head{padding:.85rem 1rem;align-items:flex-start;gap:.75rem}
  .store-head>strong{text-align:right;font-size:.9rem}
  .shopping-item{grid-template-columns:40px minmax(0,1fr) auto;gap:.35rem .65rem;padding:.85rem 1rem;align-items:center}
  .shopping-item .shopping-check-target{grid-row:1/4;align-self:center}
  .shopping-item .shopping-check{width:24px;height:24px}
  .shopping-item .shopping-name{grid-column:2/-1;overflow-wrap:anywhere}
  .shopping-item .shopping-required,.shopping-item .shopping-purchase,.shopping-item .shopping-price{display:flex!important;flex-direction:column;gap:.08rem;font-size:.78rem}
  .shopping-item .shopping-required{grid-column:2}
  .shopping-item .shopping-purchase{grid-column:3;text-align:right}
  .shopping-item .shopping-price{grid-column:2;font-size:.86rem}
  .shopping-item .shopping-rest{display:none!important}
  .shopping-item>.not-found{grid-column:3;grid-row:3;width:auto!important;min-height:40px;padding:.4rem .55rem}
  .settings-grid fieldset{padding:1rem}
  .settings-grid input,.settings-grid select{width:100%;min-width:0}
  .nearby-store select,.pantry-item select{width:100%;min-height:44px}
  .table-wrap{margin-right:-1rem;padding-right:1rem;-webkit-overflow-scrolling:touch}
  #toast{right:max(1rem,env(safe-area-inset-right));left:max(1rem,env(safe-area-inset-left));bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + .75rem);max-width:none}
}

/* Fokussierter Kochmodus: mobile-first, ohne Dashboard-Ablenkung. */
.recipe-section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}
.recipe-section-head h3{margin:0}
.recipe-step-preview{padding:.55rem 0}
.recipe-step-preview.has-visual{padding-left:.85rem;border-left:3px solid var(--mm-green,#188344)}
.recipe-step-preview small{display:block;margin-top:.25rem;color:var(--mm-muted,#647067);font-weight:700}
.cook-mode{width:min(100%,760px);height:min(100%,920px);max-width:none;max-height:none;padding:0;border:0;border-radius:24px;background:var(--mm-surface,#fff);color:var(--mm-ink,#18211c);box-shadow:0 24px 90px #001b0d55}
.cook-mode::backdrop,.step-image-dialog::backdrop{background:#07140dc9;backdrop-filter:blur(5px)}
.cook-shell{min-height:100%;display:grid;grid-template-rows:auto auto auto 1fr auto}
.cook-shell>header{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.2rem .75rem;border-bottom:1px solid var(--mm-line,#dfe7e1)}
.cook-shell>header p{margin:0 0 .15rem}.cook-shell>header strong{font-size:1.05rem}
.icon-button{width:44px;height:44px;border-radius:50%;border:1px solid var(--mm-line,#dfe7e1);background:transparent;color:inherit;font-size:1.65rem;line-height:1}
.cook-progress{height:5px;background:var(--mm-line,#dfe7e1);overflow:hidden}.cook-progress span{display:block;height:100%;width:0;background:var(--mm-green,#188344);transition:width .2s ease}
.cook-progress-label{margin:.8rem 1.25rem 0;color:var(--mm-muted,#647067);font-weight:800;font-size:.9rem}
#cook-step{display:block;padding:1.15rem 1.25rem 2rem;overflow:auto}
#cook-step h2{font-size:clamp(1.5rem,5vw,2.2rem);line-height:1.08;margin:.25rem 0 .8rem}
.cook-instruction{font-size:clamp(1.15rem,3.8vw,1.45rem);line-height:1.5;margin:0 0 1.1rem}
.cook-image{display:block;width:100%;padding:0;border:0;border-radius:18px;overflow:hidden;background:#e8eee9;position:relative;color:#fff}
.cook-image img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.cook-image span{position:absolute;right:.7rem;bottom:.7rem;padding:.35rem .65rem;border-radius:999px;background:#07140dcc;font-size:.8rem;font-weight:800}
.target-state{margin:.65rem 0 1.15rem;color:var(--mm-muted,#566158)}
.cook-image-fallback{min-height:180px;display:grid;place-content:center;text-align:center;padding:1.5rem;border:1px dashed var(--mm-line,#cad5cd);border-radius:18px;background:var(--mm-soft,#f3f7f4)}
.cook-image-fallback span{font-size:2rem}.cook-image-fallback p{margin:.3rem 0 0;color:var(--mm-muted,#647067)}
.cook-tip,.cook-safety{margin:1rem 0 0;padding:1rem 1.05rem;border-radius:16px}.cook-tip{background:#edf8f0;border-left:4px solid #188344}.cook-safety{background:#fff5e5;border-left:4px solid #d97b00}
.cook-tip p,.cook-safety p{margin:.3rem 0 0;line-height:1.45}.cook-duration{color:var(--mm-muted,#647067);font-weight:800}
.cook-shell>footer{display:grid;grid-template-columns:1fr 1.4fr;gap:.75rem;padding:1rem 1.2rem max(1rem,env(safe-area-inset-bottom));border-top:1px solid var(--mm-line,#dfe7e1);background:var(--mm-surface,#fff)}
.step-image-dialog{width:min(96vw,1000px);max-width:none;padding:0;border:0;border-radius:18px;background:#07140d;overflow:hidden}
.step-image-dialog img{display:block;width:100%;max-height:88vh;object-fit:contain}.step-image-dialog button{position:absolute;z-index:1;right:.7rem;top:.7rem;width:44px;height:44px;border:0;border-radius:50%;background:#07140ddd;color:#fff;font-size:1.6rem}
.fridge-confirm-row{grid-template-columns:minmax(120px,180px) repeat(2,minmax(130px,1fr));align-items:end}
.fridge-confirm-row .image-confirmation{grid-column:2/-1}
@media(max-width:760px){.cook-mode{width:100%;height:100%;border-radius:0}.recipe-section-head{align-items:flex-start;flex-direction:column}.fridge-confirm-row{grid-template-columns:1fr 1fr}.fridge-confirm-row .fridge-thumb,.fridge-confirm-row .image-confirmation{grid-column:1/-1}}
@media(min-width:761px){.cook-mode{height:min(92vh,920px)}#cook-step{padding-inline:2.2rem}.cook-shell>header,.cook-shell>footer{padding-inline:2.2rem}}
.settings-grid .nearby-stores{grid-column:1/-1}.nearby-stores{display:grid;grid-template-columns:repeat(2,1fr);gap:.4rem}.nearby-store{display:flex;justify-content:space-between;align-items:center;gap:.6rem;background:var(--bg);border-radius:10px;padding:.5rem}.nearby-store strong,.nearby-store small{display:block}.nearby-store small{color:var(--muted);font-weight:400}.nearby-store select{min-width:130px}
@media(max-width:760px){.nearby-stores{grid-template-columns:1fr}.nearby-store{align-items:flex-start;flex-direction:column}}
.fridge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.fridge-review{display:grid;grid-template-columns:minmax(220px,.8fr) 1.2fr;gap:1rem}.fridge-review figure{margin:0}.evidence-stage{position:relative;display:inline-block;width:100%;background:var(--bg);border-radius:14px;overflow:hidden}.evidence-stage>img{display:block;width:100%;max-height:520px;object-fit:contain}.evidence-box{position:absolute;border:3px solid var(--yellow);border-radius:8px;box-shadow:0 0 0 2px rgba(0,0,0,.4) inset;pointer-events:none}.evidence-box b{position:absolute;top:-1.4rem;left:-3px;background:var(--yellow);color:#162018;border-radius:7px 7px 7px 0;padding:.1rem .4rem;font-size:.72rem}.fridge-review figcaption{color:var(--muted);font-size:.75rem}.fridge-confirm-row{display:grid;grid-template-columns:70px 1.4fr 1fr 1fr auto;gap:.5rem;align-items:end;padding:.55rem 0;border-bottom:1px solid var(--border)}.fridge-thumb{width:70px;height:70px;position:relative;overflow:hidden;border-radius:10px;background:var(--bg)}.fridge-thumb>img{width:100%;height:100%;object-fit:cover}.fridge-thumb .evidence-box{border-width:2px}.fridge-thumb .evidence-box b{top:0;left:0;font-size:.55rem}.image-confirmation{grid-column:2/-1;color:var(--muted)}.fridge-stock{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem 0;border-bottom:1px solid var(--border)}.fridge-stock>span:first-of-type{flex:1}.fridge-stock strong,.fridge-stock small{display:block}.fridge-stock small{color:var(--muted)}.fridge-stock-image{width:58px;height:58px;border-radius:10px;object-fit:contain;background:#fff;border:1px solid var(--border)}.text-search-results{display:grid;gap:.65rem;margin-top:1rem}.text-product-result{display:grid;grid-template-columns:92px 1fr;gap:.75rem;align-items:center;border:1px solid var(--border);border-radius:14px;padding:.65rem;background:var(--bg)}.text-product-result>img{width:92px;height:92px;object-fit:contain;border-radius:10px;background:#fff}.text-product-result strong,.text-product-result small{display:block}.text-product-result small{color:var(--muted);margin:.15rem 0}.text-product-result .button-group{align-items:center;margin-top:.45rem}.text-product-result a{font-size:.72rem}.text-confirmation{display:grid;grid-template-columns:minmax(130px,.75fr) 1.25fr;gap:1rem;margin-top:1rem;padding:1rem;border:2px solid var(--green);border-radius:16px;background:color-mix(in srgb,var(--green) 7%,var(--card))}.text-confirmation figure{margin:0}.text-confirmation img{display:block;width:100%;max-height:260px;object-fit:contain;border-radius:12px;background:#fff}.text-confirmation figcaption{font-size:.68rem;color:var(--muted);margin-top:.35rem}.text-confirmation h3{margin:.2rem 0}
@media(max-width:900px){.fridge-grid{grid-template-columns:1fr}.fridge-grid .span-2{grid-column:auto}.fridge-review{grid-template-columns:1fr}.fridge-confirm-row{grid-template-columns:55px 1fr}.fridge-thumb{width:55px;height:55px}.fridge-confirm-row label,.fridge-confirm-row button,.image-confirmation{grid-column:2}.text-confirmation{grid-template-columns:1fr}.text-confirmation img{max-height:220px}}
.favorite-button{position:absolute;top:.55rem;right:.55rem;width:38px;height:38px;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--card);color:var(--muted);font-size:1.15rem}.favorite-button.active{background:#fff1f0;color:var(--red);border-color:#ffc7c2}.fridge-match{border-color:var(--green)!important;color:var(--green-dark)}.recipe-rating{display:flex;align-items:center;justify-content:space-between;gap:.5rem;color:var(--muted);font-size:.75rem;margin:.5rem 0}.recipe-rating select{border:1px solid var(--border);border-radius:9px;background:var(--bg);color:var(--text);padding:.4rem}.shopping-item.checked{opacity:.58}.shopping-item.checked>strong:first-of-type{text-decoration:line-through}.shopping-item.price-unknown{background:color-mix(in srgb,var(--yellow) 8%,var(--card))}.shopping-item.price-unknown>strong:nth-last-of-type(1){color:#8a6200}
#recipes-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.offer-origin{color:var(--green-dark)!important;font-weight:800;margin:0 0 .25rem}.recipe-offers h3,.recipe-section h3{font-size:.85rem;margin:.7rem 0 .4rem}.recipe-offers{margin:.4rem 0}.recipe-offer{display:flex;align-items:center;gap:.55rem;padding:.55rem;margin:.4rem 0;border:1px solid color-mix(in srgb,var(--green) 45%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--green) 7%,var(--card));color:var(--text);text-decoration:none}.recipe-offer:hover{border-color:var(--green)}.recipe-offer img{width:54px;height:54px;object-fit:contain;background:#fff;border-radius:9px}.recipe-offer span,.recipe-offer strong,.recipe-offer small{display:block}.recipe-offer span{min-width:0}.recipe-offer strong{font-size:.78rem}.recipe-offer small{color:var(--muted);font-size:.68rem}.missing-ingredients{padding:.55rem;border-radius:10px;background:color-mix(in srgb,var(--yellow) 10%,var(--card))}.complete-coverage{padding:.55rem;border-radius:10px;background:color-mix(in srgb,var(--green) 10%,var(--card));color:var(--green-dark)!important}.full-recipe{margin:.55rem 0;border:1px solid var(--border);border-radius:12px;background:var(--bg);overflow:hidden}.full-recipe>summary{cursor:pointer;padding:.75rem;font-weight:800;color:var(--teal)}.full-recipe[open]>summary{border-bottom:1px solid var(--border)}.recipe-section{padding:.1rem .8rem .7rem}.recipe-section ul,.recipe-section ol{margin:.3rem 0;padding-left:1.35rem}.recipe-section li{margin:.35rem 0}.recipe-section ul li{display:grid;grid-template-columns:1fr auto;gap:.4rem}.recipe-section ul li small{grid-column:1/-1;color:var(--muted)}.recipe-section p{margin:.3rem 0}
@media(max-width:1100px){#recipes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){#recipes-grid{grid-template-columns:1fr}.full-recipe>summary{padding:.9rem}.recipe-section{padding:.15rem .9rem .8rem}}
.auth-body{min-height:100vh;display:grid;place-items:center;padding:clamp(1rem,4vw,3rem);background:radial-gradient(circle at 8% 8%,#a9db68 0,transparent 29%),radial-gradient(circle at 92% 92%,#075b45 0,transparent 36%),#063c2e}.auth-shell{margin:0;padding:0;width:min(100%,1060px);min-height:auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(390px,.85fr);overflow:hidden;border-radius:32px;box-shadow:0 28px 80px rgb(1 27 19 / .35)}.auth-hero{position:relative;isolation:isolate;overflow:hidden;padding:clamp(2rem,6vw,5rem);background:linear-gradient(145deg,#0d7441,#07583b 57%,#023b2f);color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:680px}.auth-hero:after{content:"";position:absolute;inset:auto -15% -26% auto;width:380px;aspect-ratio:1;border-radius:50%;background:#d7f15a;opacity:.14;z-index:-1}.auth-hero-orbit{position:absolute;border:1px solid rgb(255 255 255 / .18);border-radius:50%;z-index:-1}.auth-hero-orbit-one{width:450px;height:450px;right:-185px;top:-210px}.auth-hero-orbit-two{width:220px;height:220px;left:-140px;bottom:45px}.auth-logo-stage{width:164px;height:164px;padding:8px;margin-bottom:2.6rem;border-radius:40px;background:rgb(255 255 255 / .12);box-shadow:0 18px 38px rgb(0 22 12 / .2);backdrop-filter:blur(10px)}.auth-logo-stage img{width:100%;height:100%;display:block;object-fit:cover;border-radius:33px}.auth-kicker{margin:0 0 .85rem;color:#d7f15a;font-size:.72rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.auth-hero h1{max-width:550px;margin:0;font-size:clamp(2.55rem,5vw,4.6rem);line-height:.98;letter-spacing:-.06em}.auth-hero-copy{max-width:460px;margin:1.45rem 0 2rem;color:rgb(255 255 255 / .82);font-size:1.05rem}.auth-benefits{list-style:none;padding:0;margin:0;display:grid;gap:.7rem;font-size:.9rem}.auth-benefits li{display:flex;align-items:center;gap:.65rem}.auth-benefits span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#d7f15a;color:#07583b;font-weight:900}.auth-card{background:#fffcf7;border:0;border-radius:0;padding:clamp(2rem,5vw,4rem);box-shadow:none;display:flex;flex-direction:column;justify-content:center}.auth-card h2{font-size:clamp(2rem,4vw,2.75rem);line-height:1.04;letter-spacing:-.05em;margin:.35rem 0 .75rem}.auth-card>p{color:var(--muted)}.auth-card .eyebrow{color:#056a70!important}.auth-card .info{color:#345359}.auth-brand{margin-bottom:clamp(2rem,6vw,4.5rem)}.brand-logo{width:42px;height:42px;border-radius:13px;object-fit:cover;display:block;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text) 20%,transparent)}.auth-stack{margin-top:1.7rem}.auth-stack label{font-size:.78rem}.auth-stack input{min-height:48px;background:#fff}.auth-submit{width:100%;min-height:50px;margin-top:.25rem;background:#086043;box-shadow:0 12px 20px rgb(8 96 67 / .18)}.auth-submit:hover{background:#064a34}.auth-submit span{margin-left:.45rem;font-size:1.2em}.auth-actions{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:.85rem}.auth-actions .text-button{grid-column:1/-1;justify-self:center;color:#056a70}.auth-card hr{border:0;border-top:1px solid var(--border);margin:1.7rem 0 1rem}.auth-admin-link{align-self:center;color:#5d706d;text-decoration:none;font-size:.78rem}.auth-admin-link:hover{color:#056a70}.auth-admin-link span{font-weight:800;margin-right:.3rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.auth-privacy{font-size:.78rem}.auth-privacy a,.privacy-card a,footer a{color:var(--teal)}.privacy-body{display:block}.privacy-shell{width:min(100%,900px);margin:2rem auto}.privacy-card h1{font-size:clamp(2rem,7vw,3.4rem)}.privacy-card h2{margin:1.8rem 0 .45rem}.privacy-card li{margin:.45rem 0}.privacy-actions{margin-top:2rem}.privacy-actions .button{width:auto}
.offer-coverage{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;margin-bottom:1rem}.coverage-head{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.7rem}.coverage-head span{color:var(--muted);font-size:.78rem}.coverage-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem}.coverage-item{display:grid;grid-template-columns:10px 1fr;gap:.5rem;align-items:start;background:var(--bg);border-radius:12px;padding:.65rem}.coverage-item i{width:10px;height:10px;border-radius:50%;margin-top:.3rem;background:#adb5bd}.coverage-item.partial i{background:var(--yellow)}.coverage-item.missing_offers i{background:var(--red)}.coverage-item strong,.coverage-item small{display:block}.coverage-item small{color:var(--muted);font-size:.68rem;margin-top:.15rem}.settings-grid .location-actions,.settings-grid .source-note{grid-column:1/-1}.location-actions{display:flex;flex-wrap:wrap;gap:.5rem}.source-note{color:var(--muted);font-size:.7rem;margin:0}
@media(max-width:1100px){.coverage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.coverage-head{display:block}.coverage-grid{grid-template-columns:1fr}}

.recipe-art{position:relative;min-height:205px;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(135deg,#163d36,#277866)}
.recipe-art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,20,17,.04) 35%,rgba(3,20,17,.88) 100%);pointer-events:none}
.recipe-art>img{width:100%;height:100%;display:block;object-fit:cover}
.recipe-art .card-badge{z-index:2}
.recipe-art-title{position:absolute;z-index:2;left:1rem;right:3.7rem;bottom:.9rem;color:#fff;text-shadow:0 1px 10px #071d22}
.recipe-art-title small{display:block;margin-bottom:.2rem;color:#e8fff8;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.recipe-art-title h2{margin:0;color:#fff;font-size:1.42rem;line-height:1.15}
.recipe-card .favorite-button{z-index:3;background:rgba(255,255,255,.92);border-color:transparent;box-shadow:0 2px 12px rgba(0,0,0,.18)}
.recipe-description{margin:.25rem 0 .7rem!important}
.recipe-load-more{grid-column:1/-1;display:grid;justify-items:center;gap:.45rem;padding:1rem}
.recipe-load-more button{min-width:min(100%,320px)}
.recipe-load-more small{color:var(--muted);font-weight:700}
@media(max-width:760px){.recipe-art{min-height:220px}.recipe-art-title{right:4rem}.recipe-art-title h2{font-size:1.3rem}}
.admin-grid>.panel{min-width:0}
.loyalty-security{display:grid;grid-template-columns:minmax(220px,.8fr) 1.2fr;gap:1rem;margin-bottom:1rem}.loyalty-security h2{margin:.2rem 0}.loyalty-security>p{margin:0}.loyalty-security ul{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.55rem;list-style:none;margin:0;padding:0}.loyalty-security li{background:color-mix(in srgb,var(--green) 9%,var(--card));border:1px solid color-mix(in srgb,var(--green) 35%,var(--border));border-radius:999px;padding:.42rem .7rem;font-size:.74rem}.loyalty-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.loyalty-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem;box-shadow:var(--shadow)}.loyalty-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem}.loyalty-card h2{margin:.15rem 0}.loyalty-card .source-note{margin-top:auto;padding-top:.7rem}.loyalty-card .button-group{margin-top:.8rem}.loyalty-card .button{display:inline-flex;align-items:center;justify-content:center}.loyalty-benefits{display:flex;flex-wrap:wrap;gap:.35rem;margin:.5rem 0}.loyalty-benefits span{background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:.3rem .5rem;font-size:.68rem}.loyalty-counts{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin:.7rem 0}.loyalty-counts div{background:var(--bg);border-radius:11px;padding:.65rem}.loyalty-counts dt{font-size:.66rem;color:var(--muted)}.loyalty-counts dd{margin:.15rem 0 0;font-size:1.25rem;font-weight:850}.status-pill.pending{background:color-mix(in srgb,var(--yellow) 18%,var(--bg))}
.personal-coupon-panel{margin-bottom:1rem}.personal-coupon-list{display:grid;gap:.65rem}.personal-coupon-card{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:1rem;background:color-mix(in srgb,var(--green) 6%,var(--card));border:1px solid color-mix(in srgb,var(--green) 28%,var(--border));border-radius:15px}.personal-coupon-card h3{margin:.1rem 0}.personal-coupon-card p{margin:.35rem 0;color:var(--muted);font-size:.82rem}.personal-coupon-card strong{color:var(--green-dark);font-size:1.05rem}.personal-coupon-actions{display:grid;justify-items:end;gap:.4rem;white-space:nowrap}.personal-coupon-actions small{color:var(--muted);font-size:.74rem}.personal-coupon-entry{margin-top:.8rem;border:1px solid var(--border);border-radius:14px;background:var(--bg)}.personal-coupon-entry>summary{cursor:pointer;padding:.8rem 1rem;font-weight:800;color:var(--teal)}.personal-coupon-entry[open]>summary{border-bottom:1px solid var(--border)}.personal-coupon-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;padding:1rem}.personal-coupon-form label{display:grid;gap:.3rem;font-size:.75rem;font-weight:750}.personal-coupon-form input,.personal-coupon-form select{min-width:0}.personal-coupon-description,.personal-coupon-confirm{grid-column:1/-1}.personal-coupon-confirm{align-items:start!important;font-weight:500!important}.personal-coupon-form button{justify-self:start}
@media(max-width:1100px){.loyalty-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.loyalty-security,.loyalty-grid{grid-template-columns:1fr}.loyalty-security ul{display:grid}.loyalty-card-head{display:block}.loyalty-card-head .status-pill{margin-top:.4rem}.loyalty-card .button-group{display:grid}.loyalty-card .button-group>*{width:100%}.personal-coupon-card{display:grid;gap:.6rem}.personal-coupon-actions{justify-items:start}.personal-coupon-form{grid-template-columns:1fr}.personal-coupon-form button{width:100%}}
.portal-link{min-height:40px;display:inline-flex;align-items:center;gap:.35rem;padding:.55rem .7rem;border:1px solid var(--border);border-radius:12px;background:var(--card);color:var(--text);font-size:.8rem;font-weight:750;text-decoration:none}.portal-link:hover,.portal-link:focus-visible{border-color:var(--teal);color:var(--teal)}
@media(max-width:760px){.portal-link{width:40px;justify-content:center;padding:.55rem}.portal-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}}
.page-head{align-items:flex-start}.page-head>div,.panel-head>div{min-width:0}.page-head>button,.page-head>.button-group,.panel-head>button{flex:0 0 auto}.upcoming-meals{display:grid;gap:.55rem}.upcoming-meal{width:100%;display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:.8rem;align-items:center;text-align:left;background:var(--bg);border:1px solid var(--border);color:var(--text)}.upcoming-meal time{font-size:.75rem;color:var(--muted)}.upcoming-meal span strong,.upcoming-meal span small{display:block}.upcoming-meal span small{color:var(--muted)}.upcoming-meal b{font-size:1.4rem;color:var(--teal)}.empty-state.compact{padding:1.5rem}.planner-day-toolbar{display:flex;align-items:center;gap:1rem;margin:0 0 1rem}.planner-day-toolbar[hidden]{display:none}.planner-day-toolbar h2{margin:.1rem 0}.password-rules{margin:0;color:var(--muted);font-size:.8rem}.auth-help{margin-top:1rem}.auth-help summary{cursor:pointer;font-weight:750}.auth-help .stack{margin-top:1rem}
@media(max-width:760px){.page-head,.panel-head{display:grid;grid-template-columns:minmax(0,1fr);gap:.75rem}.page-head button,.page-head .button-group{margin-top:0}.page-head>.button-group{display:grid;grid-template-columns:1fr}.page-head>.button-group>*{width:100%}.panel-head>button{justify-self:start}.planning-strip{padding:1rem}.metric-grid{grid-template-columns:1fr 1fr}.dashboard-grid{gap:.8rem}.dashboard-grid .panel{padding:1rem}.recipe-row{display:grid;grid-template-columns:1fr 1fr;overflow:visible}.mini-recipe{min-width:0}.food-art{height:64px}.upcoming-meal{grid-template-columns:64px minmax(0,1fr) auto;padding:.75rem}.planner-toolbar{display:grid;grid-template-columns:1fr;align-items:stretch}.planner-toolbar label,.planner-toolbar input,.planner-toolbar select{width:100%;min-width:0}.planner-toolbar .check{padding:.35rem 0}.week-grid{display:block;overflow:visible;padding:0}.week-day-list{display:grid;gap:.65rem}.week-day-open{width:100%;display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:.8rem;align-items:center;text-align:left;background:var(--card);border:1px solid var(--border);color:var(--text);padding:.85rem;box-shadow:var(--shadow)}.week-day-open.today{border-color:var(--teal);box-shadow:0 0 0 2px color-mix(in srgb,var(--teal) 15%,transparent)}.week-day-open time strong,.week-day-open time span,.week-day-open>span strong,.week-day-open>span small{display:block}.week-day-open time strong{font-size:1rem}.week-day-open time span,.week-day-open>span small{color:var(--muted);font-size:.72rem}.week-day-open b{font-size:1.5rem;color:var(--teal)}.day-column,.day-column.day-detail{min-width:0;width:100%;min-height:0;scroll-snap-align:none}.planner-day-toolbar{display:grid;grid-template-columns:1fr;align-items:start}.planner-day-toolbar button{justify-self:start}.planner-day-toolbar[hidden]{display:none}.auth-card .check{align-items:flex-start}.auth-help .secondary{width:100%}.auth-body{place-items:start center;padding:0;background:#063c2e}.auth-shell{width:100%;display:flex;flex-direction:column;border-radius:0;box-shadow:none}.auth-hero{min-height:0;padding:2.25rem 1.4rem 2rem}.auth-logo-stage{width:88px;height:88px;border-radius:25px;margin-bottom:1.6rem;padding:4px}.auth-logo-stage img{border-radius:21px}.auth-hero h1{font-size:clamp(2.25rem,11vw,3.25rem)}.auth-hero-copy{font-size:.94rem;margin:1rem 0 1.4rem}.auth-benefits{font-size:.8rem;gap:.48rem}.auth-card{padding:2rem 1.35rem 2.5rem}.auth-brand{margin-bottom:2.3rem}.auth-card h2{font-size:2.2rem}.auth-actions{grid-template-columns:1fr}.auth-actions .text-button{grid-column:auto;justify-self:start;padding-left:0}}

/* Browseransicht: schmale Desktop-Fenster erhalten eine lesbare, einspaltige Anmeldung. */
.auth-body{font-size:16px}
@media (min-width:761px) and (max-width:980px){
  .auth-body{display:block;padding:1.25rem;background:#063c2e}
  .auth-shell{width:min(100%,720px);margin:0 auto;grid-template-columns:1fr;border-radius:28px}
  .auth-hero{min-height:0;padding:2.4rem 2.5rem}
  .auth-logo-stage{width:100px;height:100px;padding:5px;margin-bottom:1.25rem;border-radius:28px}
  .auth-logo-stage img{border-radius:23px}
  .auth-hero h1{max-width:620px;font-size:clamp(2.35rem,6vw,3.35rem)}
  .auth-hero-copy{max-width:62ch;margin:1rem 0 1.4rem}
  .auth-benefits{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem .8rem;font-size:.78rem}
  .auth-benefits li{align-items:flex-start}
  .auth-card{padding:2.4rem 2.5rem;justify-content:flex-start}
  .auth-brand{margin-bottom:1.75rem}
  .auth-card h2{font-size:2.45rem}
}
@media (min-width:981px){
  .auth-shell{width:min(100%,1120px);grid-template-columns:minmax(0,1fr) minmax(430px,480px)}
  .auth-hero{min-height:620px;padding:clamp(2.5rem,5vw,4.5rem)}
  .auth-logo-stage{width:132px;height:132px;padding:6px;margin-bottom:2rem;border-radius:32px}
  .auth-logo-stage img{border-radius:26px}
  .auth-hero h1{font-size:clamp(2.5rem,4.2vw,4.1rem)}
  .auth-card{padding:clamp(2rem,3.8vw,3.5rem)}
  .auth-brand{margin-bottom:clamp(1.75rem,3vw,3rem)}
}
.meal-card{display:flex;align-items:flex-start;justify-content:space-between;gap:.35rem}.meal-card>span{min-width:0}.meal-remove{flex:0 0 auto;background:transparent;color:var(--muted);padding:.05rem .25rem;font-size:1rem;line-height:1}.meal-remove:hover{color:var(--red);background:#fee4e2}.planner-preferences-status{align-self:center;color:var(--muted);font-size:.75rem}

/* Mobile touch shell and resilient form layout. */
.mobile-more-button,.mobile-nav-sheet{display:none}
.field-with-unit{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:.4rem;min-width:0}
.field-with-unit input{width:100%;min-width:0!important}
.field-with-unit>span{min-width:48px;display:grid;place-items:center;padding:0 .65rem;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--teal) 7%,var(--card));color:var(--text);font-size:.8rem;font-weight:800}
.page-head h1,.panel h2,.privacy-card h1,.privacy-card h2,.privacy-card p,.privacy-card li,.store-head,.shopping-item{overflow-wrap:anywhere}

@media(max-width:760px){
  :root{--nav-h:76px}
  body{overflow-x:hidden}
  body.mobile-nav-open{overflow:hidden}
  .main-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.18rem;overflow:visible;padding:.35rem max(.25rem,env(safe-area-inset-right)) calc(.35rem + env(safe-area-inset-bottom)) max(.25rem,env(safe-area-inset-left));z-index:60}
  .main-nav .mobile-secondary{display:none}
  .main-nav .mobile-more-button{display:flex;min-width:0;width:auto;min-height:64px;flex-direction:column;padding:.28rem .1rem;font-size:.63rem;line-height:1.15;white-space:nowrap}
  .main-nav button.mobile-primary{min-width:0;width:auto;min-height:64px;display:flex;flex-direction:column;padding:.28rem .1rem;font-size:.63rem;line-height:1.15;white-space:nowrap}
  .main-nav button span{font-size:1.15rem;line-height:1.2;margin:0 0 .12rem}
  .mobile-nav-sheet{display:block;position:fixed;inset:0;z-index:55}
  .mobile-nav-backdrop{position:absolute;inset:0;width:100%;height:100%;border-radius:0;background:rgba(4,24,30,.54);backdrop-filter:blur(3px)}
  .mobile-nav-panel{position:absolute;left:.65rem;right:.65rem;bottom:calc(var(--nav-h) + .6rem);max-height:calc(100dvh - var(--nav-h) - 2rem);overflow:auto;padding:1rem;border:1px solid var(--border);border-radius:22px;background:var(--card);box-shadow:0 24px 60px rgba(4,24,30,.3)}
  .mobile-nav-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem}
  .mobile-nav-head small,.mobile-nav-head strong{display:block}
  .mobile-nav-head small{color:var(--muted)}
  .mobile-nav-head>button{width:46px;height:46px;padding:0;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:1.5rem}
  .mobile-nav-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
  .mobile-nav-grid button{min-width:0;min-height:82px;display:flex;flex-direction:column;gap:.25rem;border:1px solid var(--border);background:var(--bg);color:var(--text)}
  .mobile-nav-grid button.active{border-color:var(--teal);box-shadow:0 0 0 2px color-mix(in srgb,var(--teal) 15%,transparent)}
  .mobile-nav-grid button span{font-size:1.35rem;color:var(--teal)}
  button,.button,.icon-button,.portal-link,summary,input,select{min-height:46px}
  input,select{font-size:16px}
  input[type=checkbox]{min-height:24px;width:24px;height:24px}
  .check{min-height:48px;padding:.5rem 0!important}
  .text-button,.small,.favorite-button,.meal-remove{min-height:44px}
  .favorite-button{min-width:44px;width:44px;height:44px}
  .meal-remove{min-width:44px;padding:.35rem}
  .filter-bar input,.filter-bar select,.planner-toolbar input,.planner-toolbar select,.stack input,.stack select,.settings-grid input,.settings-grid select{min-width:0}
  .fridge-grid,.fridge-grid>.panel,.fridge-grid form,.fridge-grid label{min-width:0;max-width:100%}
  input[type=file]{width:100%;max-width:100%;overflow:hidden}
  .card-body a,.text-product-result a,.source-note a{display:inline-flex;align-items:center;min-height:44px}
  .privacy a{display:inline-flex;align-items:center;min-height:44px}
  .privacy,.privacy *{min-width:0;overflow-wrap:anywhere}
  .field-with-unit{width:100%}
  .field-with-unit>span{min-width:54px}
  .form-actions{display:grid;grid-template-columns:1fr;align-items:stretch}
  .form-actions>*{width:100%}
  .settings-grid,.settings-grid fieldset,.settings-grid label,.source-note{min-width:0;max-width:100%;overflow-wrap:anywhere}
  .pantry-item{display:grid;grid-template-columns:minmax(0,1fr);gap:.45rem;align-items:stretch}
  .pantry-item select{width:100%;min-width:0}
  .shopping-item{grid-template-columns:44px minmax(0,1fr);gap:.2rem .65rem;padding:.85rem .75rem;align-items:start}
  .shopping-check-target{grid-column:1;grid-row:1/span 3;justify-self:center;width:44px;height:44px;display:grid;place-items:center;cursor:pointer}
  .shopping-check-target input{margin:0}
  .shopping-item>strong:nth-child(2),.shopping-item>span:nth-child(3),.shopping-item>.not-found{grid-column:2}
  .shopping-item>.not-found{width:100%;margin-top:.35rem;white-space:normal}
  .shopping-item>*:nth-child(4),.shopping-item>*:nth-child(5),.shopping-item>*:nth-child(6){display:none}
  .store-head{gap:.75rem;padding:.9rem .75rem}
  .privacy-body{padding:.6rem}
  .privacy-shell{width:100%;max-width:100%;min-width:0;margin:.5rem auto;padding:0}
  .privacy-card{width:100%;min-width:0;padding:1rem}
  .privacy-card h1{font-size:clamp(1.75rem,9vw,2.4rem);letter-spacing:-.035em}
  #toast{left:.75rem;right:.75rem;bottom:calc(var(--nav-h) + .75rem);max-width:none}
}
@media(max-width:360px){
  .recipe-row{grid-template-columns:1fr}
  .main-nav .mobile-more-button,.main-nav button.mobile-primary{font-size:.59rem}
}

/* MeyMeal recipe goals and eating-habit filters. */
.habit-filter-group{flex:1 0 100%;min-width:0;margin:0;padding:.75rem;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--teal) 4%,var(--card))}
.habit-filter-group legend{padding:0 .35rem;color:var(--text);font-size:.78rem;font-weight:800}
.habit-filter-group>small{display:block;margin-top:.55rem;color:var(--muted);font-size:.7rem}
.habit-options{display:flex;flex-wrap:wrap;gap:.45rem}
.habit-options label{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:.35rem!important;min-height:40px;padding:.42rem .65rem;border:1px solid var(--border);border-radius:999px;background:var(--card);color:var(--text)!important;font-size:.75rem!important;cursor:pointer}
.habit-options label:has(input:checked){border-color:var(--teal);background:color-mix(in srgb,var(--teal) 12%,var(--card));box-shadow:0 0 0 1px color-mix(in srgb,var(--teal) 30%,transparent)}
.habit-options input{min-width:auto!important;margin:0}
.recipe-habits{display:flex;flex-wrap:wrap;gap:.35rem;margin:.1rem 0 .7rem}
.recipe-habits span{padding:.28rem .5rem;border-radius:999px;background:color-mix(in srgb,var(--green) 12%,var(--card));border:1px solid color-mix(in srgb,var(--green) 38%,var(--border));font-size:.68rem;font-weight:750;color:var(--green-dark)}
.settings-habit-group{grid-column:1/-1;min-width:0}
.settings-habit-group>strong,.settings-habit-group>p{display:block;margin:0 0 .45rem}
.settings-habit-group>p{color:var(--muted);font-size:.75rem}
@media(max-width:760px){
  .habit-options{display:grid;grid-template-columns:1fr 1fr}
  .habit-options label{min-width:0;border-radius:13px}
  .habit-filter-group{padding:.7rem}
  .settings-habit-group{min-width:0}
}

.delivery-comparison{margin:0 0 1rem}.delivery-empty,.delivery-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.delivery-empty{display:grid;gap:.2rem;padding:1rem;color:var(--muted)}.delivery-empty strong{color:var(--text)}.delivery-head{display:flex;justify-content:space-between;gap:1rem;align-items:end;margin-bottom:.7rem}.delivery-head h2{margin:.1rem 0;font-size:1.25rem}.delivery-head p,.delivery-disclaimer,.delivery-reason{margin:.25rem 0;color:var(--muted);font-size:.78rem}.delivery-baseline{text-align:right;background:color-mix(in srgb,var(--teal) 9%,var(--card));border-radius:12px;padding:.65rem .8rem}.delivery-baseline strong,.delivery-baseline span{display:block}.delivery-baseline strong{font-size:1.2rem}.delivery-baseline span,.delivery-price-label{font-size:.68rem;color:var(--muted)}.delivery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.7rem}.delivery-card{padding:1rem;display:flex;flex-direction:column}.delivery-card.available{border-color:color-mix(in srgb,var(--green) 65%,var(--border));box-shadow:0 0 0 1px color-mix(in srgb,var(--green) 20%,transparent)}.delivery-card-head{display:flex;justify-content:space-between;gap:.5rem}.delivery-card-head strong,.delivery-card-head small{display:block}.delivery-card-head small{color:var(--muted);font-size:.7rem}.status-pill.delivery-ready{background:color-mix(in srgb,var(--green) 18%,var(--card));color:#24722b}.delivery-price{font-size:1.65rem;letter-spacing:-.04em;margin-top:1rem}.delivery-difference{font-weight:750;margin:.8rem 0 .35rem}.delivery-card .primary{margin-top:auto;width:100%}.delivery-disclaimer{margin-top:.7rem}
@media(max-width:760px){.delivery-head{display:block}.delivery-baseline{text-align:left;margin-top:.7rem}.delivery-grid{grid-template-columns:1fr}.delivery-card{padding:1rem}.delivery-card .primary{min-height:46px}}

/* Kompakte Browseransicht nach der Anmeldung: mehr relevante Inhalte pro Bildschirm. */
@media (min-width:761px){
  .topbar{height:64px;padding:0 clamp(1rem,2.4vw,2.25rem)}
  .main-nav{top:64px;width:96px;padding:.75rem .45rem;gap:.2rem}
  .main-nav button{padding:.48rem .2rem;font-size:.68rem}
  .main-nav button span{font-size:1.15rem}
  main{margin-left:96px;padding:clamp(1rem,2.2vw,2rem);min-height:calc(100vh - 64px)}
  .page-head{gap:1.25rem;margin-bottom:.85rem}
  .page-head h1{font-size:clamp(1.8rem,3vw,2.7rem);margin:.05rem 0 .3rem}
  .page-head p{font-size:.9rem}
  .planning-strip{grid-template-columns:200px 1fr 44px;gap:.75rem;padding:.75rem 1rem;margin-bottom:.75rem}
  .metric-grid{gap:.75rem;margin:.75rem 0}
  .metric{padding:.8rem 1rem}
  .metric strong{font-size:1.65rem;margin:.1rem 0}
  .metric small{font-size:.72rem}
  .dashboard-grid,.admin-grid{gap:.75rem}
  .panel{padding:1rem}
  .panel-head{margin-bottom:.7rem}
  .upcoming-meals{gap:.4rem}
  .upcoming-meal{grid-template-columns:74px minmax(0,1fr) auto;gap:.55rem;padding:.55rem .7rem}
  .upcoming-meal b{font-size:1.2rem}
}
@media (min-width:981px){
  #view-dashboard .dashboard-grid{grid-template-columns:minmax(0,1.4fr) minmax(310px,1fr);align-items:stretch}
  #view-dashboard .dashboard-grid .span-2{grid-column:auto}
  #view-dashboard .upcoming-meals{max-height:300px;overflow:auto;padding-right:.2rem}
  #view-dashboard .recipe-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}
  #view-dashboard .mini-recipe{padding:.55rem}
  #view-dashboard .food-art{height:52px;margin-bottom:.4rem;font-size:1.3rem}
  #view-dashboard .mini-recipe strong{display:block;font-size:.78rem}
  #view-dashboard .mini-recipe small{font-size:.7rem}
}

/* MeyMeal Consumer Design System: a calm, image-led grocery experience. */
:root{
  --mm-green:#188344;
  --mm-green-deep:#0d5130;
  --mm-green-soft:#e9f7ee;
  --mm-orange:#f47a35;
  --mm-orange-soft:#fff0e7;
  --mm-ink:#102c24;
  --mm-surface:#ffffff;
  --mm-canvas:#f6faf7;
  --mm-line:#e2ece5;
  --mm-radius-sm:14px;
  --mm-radius:22px;
  --mm-radius-lg:28px;
  --mm-shadow:0 10px 28px rgba(19,70,42,.09);
  --mm-shadow-float:0 12px 32px rgba(16,57,37,.16);
  --green:var(--mm-green);
  --green-dark:var(--mm-green-deep);
  --teal:var(--mm-green);
  --yellow:var(--mm-orange);
  --bg:var(--mm-canvas);
  --card:var(--mm-surface);
  --text:var(--mm-ink);
  --border:var(--mm-line);
  --shadow:var(--mm-shadow);
  --radius:var(--mm-radius);
  --nav-h:82px;
}
[data-theme=dark]{--bg:#10231a;--card:#193426;--text:#eff8f0;--muted:#b5cab9;--border:#315640;--mm-canvas:#10231a;--mm-surface:#193426;--mm-line:#315640;--shadow:0 12px 32px rgba(0,0,0,.28)}
body{background:var(--mm-canvas);padding-bottom:calc(var(--nav-h) + 26px);letter-spacing:-.008em}
.topbar{height:70px;background:color-mix(in srgb,var(--bg) 92%,transparent);padding:0 clamp(1rem,4vw,4rem);border-bottom:1px solid color-mix(in srgb,var(--border) 80%,transparent)}
.brand{gap:.75rem}.brand-logo{width:44px;height:44px;border-radius:15px;box-shadow:0 6px 14px rgba(11,69,40,.14)}.brand strong{font-size:1.04rem;letter-spacing:-.02em}.brand small{font-size:.64rem;text-transform:uppercase;letter-spacing:.08em}
.top-actions{gap:.4rem}.icon-button{width:42px;height:42px;border-radius:14px;background:var(--card);box-shadow:0 2px 9px rgba(18,64,41,.04)}.user-chip{background:var(--mm-green-soft);border-color:transparent;color:var(--mm-green-deep);font-weight:750}
main{margin:0;max-width:1560px;padding:clamp(1rem,3vw,2.5rem) clamp(1rem,4vw,4rem) calc(var(--nav-h) + 1.7rem);min-height:calc(100vh - 70px)}
footer{margin:0;padding:1rem clamp(1rem,4vw,4rem) calc(var(--nav-h) + 1.4rem)}
.view{max-width:1380px}.view.active{animation:mm-view-in .24s ease}@keyframes mm-view-in{from{opacity:.35;transform:translateY(8px)}to{opacity:1;transform:none}}
.page-head{align-items:flex-end;gap:1rem;margin:0 0 1.25rem}.page-head h1{max-width:760px;font-size:clamp(2rem,4.2vw,3.7rem);font-weight:850;letter-spacing:-.06em;line-height:.98}.page-head p{font-size:.98rem;line-height:1.55}.eyebrow{color:var(--mm-green)!important;font-size:.7rem;letter-spacing:.16em}
button,.button{border-radius:14px;font-weight:780}.primary{background:var(--mm-green);color:#fff;box-shadow:0 7px 16px rgba(24,131,68,.18)}.primary:hover,.primary:focus-visible{background:var(--mm-green-deep);transform:translateY(-1px)}.secondary{border-color:var(--mm-line);box-shadow:0 2px 8px rgba(19,70,42,.035)}.text-button{color:var(--mm-green);font-weight:780}.panel,.metric,.offer-card,.recipe-card,.store-group{border:0;box-shadow:var(--mm-shadow)}

/* One primary navigation shell, always reachable and deliberately limited. */
.main-nav{position:fixed;z-index:60;left:50%;top:auto;bottom:14px;transform:translateX(-50%);width:min(650px,calc(100vw - 24px));height:auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;padding:6px;border:1px solid color-mix(in srgb,var(--border) 88%,transparent);border-radius:24px;background:color-mix(in srgb,var(--card) 94%,transparent);box-shadow:var(--mm-shadow-float);backdrop-filter:blur(18px)}
.main-nav .mobile-secondary{display:none}.main-nav .mobile-more-button{display:flex;min-width:0;width:auto;min-height:62px;align-items:center;justify-content:center;flex-direction:column;gap:3px;padding:5px 2px;color:var(--muted);font-size:.64rem;line-height:1.1;white-space:nowrap}.main-nav button.mobile-primary{display:flex;min-width:0;width:auto;min-height:62px;align-items:center;justify-content:center;flex-direction:column;gap:3px;padding:5px 2px;color:var(--muted);font-size:.64rem;line-height:1.1;white-space:nowrap}.main-nav button span{margin:0;color:currentColor;font-size:1.18rem;line-height:1}.main-nav button:hover,.main-nav button.active{background:var(--mm-green-soft);box-shadow:none;color:var(--mm-green-deep)}.main-nav button.active span{color:var(--mm-green)}
.mobile-nav-sheet{display:block;position:fixed;inset:0;z-index:59}.mobile-nav-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0;background:rgba(7,32,20,.38);backdrop-filter:blur(3px)}.mobile-nav-panel{position:absolute;left:50%;bottom:calc(var(--nav-h) + 26px);transform:translateX(-50%);width:min(520px,calc(100vw - 24px));max-height:min(560px,calc(100dvh - var(--nav-h) - 52px));overflow:auto;padding:1rem;border:1px solid var(--mm-line);border-radius:var(--mm-radius-lg);background:var(--card);box-shadow:0 24px 64px rgba(7,37,21,.24)}.mobile-nav-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.mobile-nav-head small,.mobile-nav-head strong{display:block}.mobile-nav-head small{color:var(--muted);font-size:.72rem}.mobile-nav-head strong{font-size:1.05rem}.mobile-nav-head>button{display:grid;width:42px;height:42px;place-items:center;padding:0;border:0;border-radius:50%;background:var(--mm-green-soft);color:var(--mm-green-deep);font-size:1.35rem}.mobile-nav-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.mobile-nav-grid button{min-height:92px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.25rem;text-align:left;border:1px solid var(--mm-line);border-radius:18px;background:var(--bg);color:var(--text)}.mobile-nav-grid button span{font-size:1.35rem;color:var(--mm-green)}.mobile-nav-grid button.active{border-color:var(--mm-green);background:var(--mm-green-soft)}

/* Reusable surfaces, chips, states and visual hierarchy. */
.panel,.metric{border-radius:var(--mm-radius);background:var(--card)}.metric{padding:1.05rem}.metric:before{width:5px;background:var(--mm-green)}.metric.accent-teal:before{background:var(--mm-green)}.metric.accent-yellow:before{background:var(--mm-orange)}.metric strong{font-size:clamp(1.45rem,2.8vw,2rem)}.planning-strip{border-radius:var(--mm-radius);background:linear-gradient(125deg,var(--mm-green-deep),var(--mm-green));box-shadow:var(--mm-shadow)}.planning-strip .progress span{background:#c9ed7f}
.quick-filter-chips{display:flex;flex:1 0 100%;flex-wrap:wrap;gap:.45rem;order:-1}.filter-chip{min-height:38px;padding:.45rem .78rem;border:1px solid var(--mm-line);border-radius:999px;background:var(--bg);color:var(--muted);box-shadow:none;font-size:.78rem}.filter-chip.active{border-color:var(--mm-green);background:var(--mm-green);color:#fff}.filter-bar{border:0;border-radius:var(--mm-radius);padding:1rem;background:var(--card);box-shadow:var(--mm-shadow)}.filter-bar input,.filter-bar select,.planner-toolbar input,.planner-toolbar select,.stack input,.stack select,.settings-grid input,.settings-grid select{border-color:var(--mm-line);background:var(--bg);border-radius:12px}.filter-bar input:focus,.filter-bar select:focus,.planner-toolbar input:focus,.planner-toolbar select:focus,input:focus,select:focus{outline:3px solid color-mix(in srgb,var(--mm-green) 17%,transparent);border-color:var(--mm-green)}
.quick-filter-chips{display:flex;flex:1 0 100%;flex-wrap:wrap;gap:.45rem;order:-1}.filter-chip{min-height:38px;padding:.45rem .78rem;border:1px solid var(--mm-line);border-radius:999px;background:var(--bg);color:var(--muted);box-shadow:none;font-size:.78rem}.filter-chip.active{border-color:var(--mm-green);background:var(--mm-green);color:#fff}.filter-bar{border:0;border-radius:var(--mm-radius);padding:1rem;background:var(--card);box-shadow:var(--mm-shadow)}.advanced-filters{flex:1 0 100%;border-top:1px solid var(--mm-line);padding-top:.75rem}.advanced-filters summary{display:flex;align-items:center;gap:.35rem;min-height:36px;color:var(--mm-green-deep);font-size:.78rem;font-weight:800;cursor:pointer;list-style:none}.advanced-filters summary::-webkit-details-marker{display:none}.advanced-filters summary:before{content:"⌕";font-size:1rem}.advanced-filters[open] summary{margin-bottom:.75rem}.advanced-filter-fields{display:flex;flex-wrap:wrap;align-items:end;gap:.8rem}.filter-bar input,.filter-bar select,.planner-toolbar input,.planner-toolbar select,.stack input,.stack select,.settings-grid input,.settings-grid select{border-color:var(--mm-line);background:var(--bg);border-radius:12px}.filter-bar input:focus,.filter-bar select:focus,.planner-toolbar input:focus,.planner-toolbar select:focus,input:focus,select:focus{outline:3px solid color-mix(in srgb,var(--mm-green) 17%,transparent);border-color:var(--mm-green)}
.empty-state{display:grid;justify-items:center;gap:.45rem;border:1px dashed var(--mm-line);border-radius:var(--mm-radius);background:var(--card);padding:3rem 1.25rem;box-shadow:var(--mm-shadow)}.empty-state>span{display:grid;width:48px;height:48px;place-items:center;border-radius:50%;background:var(--mm-green-soft);color:var(--mm-green);font-size:1.4rem}.empty-state p{margin:0;max-width:420px}.error-state>span{background:var(--mm-orange-soft);color:var(--mm-orange)}.skeleton-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.skeleton-card{min-height:290px;overflow:hidden;border-radius:var(--mm-radius);background:var(--card);padding:1rem;box-shadow:var(--mm-shadow)}.skeleton-card span,.skeleton-card b,.skeleton-card i{display:block;border-radius:10px;background:linear-gradient(90deg,#edf3ef 25%,#f7faf8 37%,#edf3ef 63%);background-size:400% 100%;animation:mm-shimmer 1.2s ease infinite}.skeleton-card span{height:145px;margin:-1rem -1rem 1rem}.skeleton-card b{height:18px;width:72%;margin:.7rem 0}.skeleton-card i{height:12px;width:46%;margin:.55rem 0}@keyframes mm-shimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}

/* Offers: actual retailer data gets the visual priority instead of a table layout. */
.market-strip{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 1rem;padding:1rem 1.1rem;border-radius:var(--mm-radius);background:linear-gradient(110deg,var(--mm-green-soft),color-mix(in srgb,var(--mm-orange-soft) 55%,var(--card)));border:1px solid color-mix(in srgb,var(--mm-green) 13%,var(--mm-line))}.market-strip h2{margin:.08rem 0 0;font-size:1rem}.market-chips{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.4rem}.market-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.42rem .62rem;border-radius:999px;background:var(--card);border:1px solid var(--mm-line);font-size:.73rem;font-weight:780}.market-chip i{width:7px;height:7px;border-radius:50%;background:#aebbb2}.market-chip.partial i{background:var(--mm-orange)}.market-chip.complete i{background:var(--mm-green)}.market-chip small{display:grid;min-width:17px;height:17px;place-items:center;border-radius:50%;background:var(--mm-green-soft);color:var(--mm-green-deep);font-size:.62rem}.offer-coverage{padding:0;margin:0 0 1rem;border:0;background:transparent}.offer-coverage details{padding:.65rem .85rem;border-radius:var(--mm-radius-sm);background:color-mix(in srgb,var(--mm-green-soft) 60%,var(--card));color:var(--muted);font-size:.78rem}.offer-coverage summary{cursor:pointer;color:var(--mm-ink)}.coverage-grid{margin-top:.85rem}.coverage-item{background:var(--card);box-shadow:none}
#view-offers .card-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.commerce-card{border-radius:var(--mm-radius);overflow:hidden;background:var(--card);transition:transform .2s ease,box-shadow .2s ease}.commerce-card:hover{transform:translateY(-3px);box-shadow:0 15px 36px rgba(19,70,42,.14)}.offer-art{position:relative;min-height:178px;overflow:hidden;background:linear-gradient(145deg,#edf8e9,#fff1e6);display:grid;place-items:center}.offer-art>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#fff}.product-placeholder{font-size:3rem;color:var(--mm-green);opacity:.72}.offer-art:not(.image-missing) .product-placeholder{display:none}.retailer-badge,.saving-badge{position:absolute;z-index:2;border-radius:999px;font-size:.68rem;font-weight:850;line-height:1;padding:.42rem .58rem}.retailer-badge{top:.7rem;left:.7rem;background:rgba(255,255,255,.94);color:var(--mm-ink);box-shadow:0 2px 8px rgba(18,45,30,.09)}.saving-badge{right:.7rem;bottom:.7rem;background:var(--mm-orange);color:#fff;box-shadow:0 4px 10px rgba(244,122,53,.28)}.card-body{padding:1rem}.card-kicker{margin:0 0 .3rem;color:var(--muted);font-size:.69rem;font-weight:800;letter-spacing:.045em;text-transform:uppercase}.commerce-card h2{min-height:2.5em;margin:.05rem 0 .25rem;font-size:1.08rem;line-height:1.2}.product-subtitle{min-height:1.25em;margin:0;color:var(--muted);font-size:.77rem}.price-line{display:flex;align-items:baseline;gap:.4rem;margin-top:.75rem}.price{font-size:1.7rem;color:var(--mm-green-deep)}.price-line>span{color:var(--muted);font-size:.74rem}.saving-line{display:flex;align-items:center;gap:.45rem;min-height:1.3rem;margin:.1rem 0 .65rem;color:var(--muted);font-size:.74rem}.saving-line strong{color:var(--mm-orange);font-size:.74rem}.offer-meta{min-height:29px;margin:.3rem 0 .6rem}.offer-meta span{border:0;background:var(--mm-green-soft);color:var(--mm-green-deep);border-radius:999px;padding:.28rem .46rem}.offer-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:auto;padding-top:.65rem;border-top:1px solid var(--mm-line);font-size:.71rem}.offer-footer a{color:var(--mm-green);font-weight:800;text-decoration:none}.offer-freshness{font-size:.68rem}.offer-freshness.fresh{color:var(--mm-green-deep)}.offer-freshness.current{color:var(--mm-green)}.offer-freshness.stale{color:#ab5d21}

/* Recipes and plan: appetising imagery, short facts and actions that stay connected. */
#view-recipes .card-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1.15rem}.consumer-recipe-card{border-radius:var(--mm-radius);overflow:hidden}.recipe-art{min-height:236px}.recipe-art:after{background:linear-gradient(180deg,rgba(3,26,15,0) 24%,rgba(3,29,17,.85) 100%)}.recipe-art.image-missing{background:linear-gradient(135deg,var(--mm-green-deep),var(--mm-green))}.recipe-art.image-missing:before{content:"♨";position:absolute;top:35%;left:50%;transform:translate(-50%,-50%);font-size:3.5rem;z-index:1}.recipe-art-title{left:1rem;right:1rem;bottom:1rem}.recipe-art-title small{color:#e1f8e8;letter-spacing:.06em}.recipe-art-title h2{font-size:1.5rem}.recipe-quick-meta{position:absolute;z-index:3;left:1rem;top:1rem;display:flex;gap:.35rem}.recipe-quick-meta span{padding:.33rem .5rem;border-radius:999px;background:rgba(255,255,255,.92);color:var(--mm-ink);font-size:.68rem;font-weight:800}.recipe-art .card-badge{top:auto;bottom:1rem;left:auto;right:4.1rem;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.35);color:#fff;backdrop-filter:blur(4px)}.recipe-card .favorite-button{width:42px;height:42px;top:.8rem;right:.8rem}.recipe-card .card-body{padding:1rem 1.05rem 1.1rem}.offer-origin{margin:0 0 .55rem!important;color:var(--mm-green-deep)!important;font-size:.76rem;font-weight:800}.recipe-description{min-height:2.7em;color:var(--muted)}.recipe-habits span{border:0;background:var(--mm-green-soft);color:var(--mm-green-deep)}.recipe-card .meta span{border:0;background:var(--bg);color:var(--muted)}.recipe-offers{border-top:1px solid var(--mm-line);margin-top:.7rem;padding-top:.7rem}.recipe-offers h3{font-size:.78rem}.recipe-offer{border-color:var(--mm-line);border-radius:12px}.card-actions{gap:.55rem}.card-actions .primary{flex:1.3}.card-actions .secondary{flex:.7}.mini-recipe{position:relative;overflow:hidden;border:0;border-radius:18px;background:var(--card);box-shadow:0 6px 18px rgba(19,70,42,.08);padding:0;text-align:left}.mini-recipe-image{display:block;width:100%;height:112px;object-fit:cover;background:var(--mm-green-soft)}.mini-recipe strong,.mini-recipe small{padding:0 .7rem}.mini-recipe strong{padding-top:.65rem;font-size:.82rem}.mini-recipe small{padding-bottom:.7rem;font-size:.7rem}.mini-recipe.image-missing:before{content:"♨";display:grid;height:100px;place-items:center;background:var(--mm-green-soft);color:var(--mm-green);font-size:2rem}.mini-recipe.image-missing strong{padding-top:.65rem}
.week-grid{gap:.85rem;padding-bottom:.7rem}.day-column{border:0;border-radius:var(--mm-radius);box-shadow:var(--mm-shadow);background:var(--card)}.day-column.today{border:2px solid color-mix(in srgb,var(--mm-green) 62%,var(--mm-line));box-shadow:0 0 0 3px color-mix(in srgb,var(--mm-green) 10%,transparent)}.day-head strong{font-size:1rem}.meal-slot{border:0;border-radius:15px;background:var(--bg);min-height:96px}.meal-slot>small{font-weight:800}.meal-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:.5rem;border-radius:12px;background:var(--card);box-shadow:0 3px 10px rgba(19,70,42,.08);padding:.45rem}.meal-card>img{width:48px;height:48px;border-radius:10px;object-fit:cover}.meal-fallback{display:grid;width:48px;height:48px;place-items:center;border-radius:10px;background:var(--mm-green-soft);color:var(--mm-green)}.meal-card strong{font-size:.77rem;line-height:1.2}.slot-add{border:1px dashed color-mix(in srgb,var(--mm-green) 35%,var(--mm-line));border-radius:11px;background:transparent;color:var(--mm-green-deep);font-weight:780}.leftover-button{margin-top:.1rem}

/* Shopping and pantry: real list data is structured for a quick shop. */
.shopping-view-options{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap;margin:0 0 1rem;padding:.7rem 1rem;border-radius:16px;background:var(--card);box-shadow:var(--mm-shadow);font-size:.78rem}.shopping-view-options label{display:flex;align-items:center;gap:.45rem;color:var(--muted);font-weight:750}.shopping-view-options select{min-height:38px;border:1px solid var(--mm-line);border-radius:10px;background:var(--bg);color:var(--text);padding:.35rem .55rem}.shopping-view-options .check{padding:0!important}.shopping-summary{gap:.7rem}.summary-cell{border:0;border-radius:16px;box-shadow:var(--mm-shadow);background:var(--card)}.summary-cell strong{color:var(--mm-green-deep)}.shopping-category-group{border-radius:var(--mm-radius);overflow:hidden}.store-head{background:linear-gradient(100deg,var(--mm-green-soft),var(--card));padding:1rem 1.15rem}.store-head .card-kicker{margin-bottom:.12rem}.store-head>strong{color:var(--mm-green-deep)}.shopping-item{grid-template-columns:42px minmax(180px,1.5fr) repeat(3,minmax(84px,1fr)) minmax(76px,.75fr) 108px;gap:.75rem;padding:.85rem 1.1rem}.shopping-check{width:22px;height:22px;accent-color:var(--mm-green)}.shopping-name{display:grid;gap:.15rem;line-height:1.2}.shopping-name small{font-weight:500}.shopping-price{color:var(--mm-green-deep)}.shopping-item.checked{background:color-mix(in srgb,var(--mm-green-soft) 48%,var(--card));opacity:.68}.shopping-item.checked .shopping-name{text-decoration:line-through}.shopping-item .not-found{border-radius:10px}.delivery-card{border:0;border-radius:var(--mm-radius)}.delivery-card.available{border:1px solid color-mix(in srgb,var(--mm-green) 46%,var(--mm-line))}
.pantry-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.8rem}.pantry-card{display:grid;grid-template-columns:64px minmax(0,1fr);gap:.75rem;align-items:center;position:relative;padding:.8rem;border-radius:18px;background:var(--bg);border:1px solid var(--mm-line)}.pantry-image{display:grid;width:64px;height:64px;place-items:center;overflow:hidden;border-radius:14px;background:var(--mm-green-soft);color:var(--mm-green);font-size:1.5rem}.pantry-image>img{width:100%;height:100%;object-fit:cover}.pantry-card h3{margin:.03rem 0;font-size:.94rem}.pantry-card p{margin:.12rem 0;color:var(--muted);font-size:.71rem}.pantry-status{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.38rem .52rem;border-radius:10px;background:var(--card);color:var(--mm-green-deep);font-size:.7rem;font-weight:800}.pantry-status small{font-weight:650;color:var(--muted)}.pantry-status.soon{background:var(--mm-orange-soft);color:#a6531d}.pantry-status.low{background:#fff5db;color:#9a6500}.pantry-actions{grid-column:1/-1;display:flex;gap:.35rem}.pantry-actions .text-button{min-height:34px;padding:.3rem .42rem;font-size:.68rem}.pantry-remove{color:var(--muted)}.pantry-remove:hover{color:var(--red)}.fridge-grid .panel{border-radius:var(--mm-radius)}

@media (max-width:900px){.skeleton-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.market-strip{align-items:flex-start;flex-direction:column}.market-chips{justify-content:flex-start}.shopping-item{grid-template-columns:42px minmax(160px,1fr) repeat(2,minmax(78px,1fr)) minmax(74px,.7fr) 100px}.shopping-rest{display:none!important}}
@media (max-width:760px){
  :root{--nav-h:78px}.topbar{height:62px;padding:0 max(.85rem,env(safe-area-inset-left));position:sticky}.brand-logo{width:38px;height:38px;border-radius:13px}.brand strong{font-size:.96rem}.brand small,.language-switch,.user-chip{display:none}.top-actions{gap:.22rem}.icon-button{width:40px;height:40px;border-radius:12px}
  body{padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 22px)}main{padding:.95rem .85rem calc(var(--nav-h) + env(safe-area-inset-bottom) + 1.35rem)}footer{padding:.9rem .85rem calc(var(--nav-h) + env(safe-area-inset-bottom) + 1rem)}.main-nav{bottom:max(8px,env(safe-area-inset-bottom));width:calc(100vw - 16px);border-radius:21px;padding:5px;gap:1px}.main-nav .mobile-more-button,.main-nav button.mobile-primary{min-height:60px;font-size:.58rem}.main-nav button span{font-size:1.08rem}.mobile-nav-panel{bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 18px);width:calc(100vw - 18px);border-radius:23px}
  .page-head{display:block;margin-bottom:1rem}.page-head h1{font-size:clamp(2rem,10vw,2.6rem);line-height:1.01}.page-head p{font-size:.92rem;margin-top:.5rem}.page-head .button-group,.page-head>button{margin-top:.9rem}.planning-strip{padding:.95rem}.metric-grid{gap:.65rem}.metric{padding:.85rem}.metric strong{font-size:1.45rem}.dashboard-grid{gap:.8rem}.panel{padding:1rem}.recipe-row{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.mini-recipe{min-width:0}.mini-recipe-image{height:90px}.quick-filter-chips{flex-wrap:nowrap;overflow:auto;padding-bottom:.2rem;margin-right:-.2rem}.filter-chip{flex:0 0 auto}.filter-bar{padding:.8rem;border-radius:18px}.advanced-filter-fields{display:grid;grid-template-columns:minmax(0,1fr);min-width:0}.advanced-filter-fields>*{min-width:0;max-width:100%}.advanced-filter-fields>label,.advanced-filter-fields>button,.advanced-filter-fields .habit-filter-group{width:100%}.advanced-filter-fields fieldset{min-inline-size:0}.habit-options{display:flex;overflow:auto;flex-wrap:nowrap;max-width:100%}.habit-options label{flex:0 0 auto}.market-strip{margin-bottom:.75rem;padding:.85rem;border-radius:18px}.market-strip h2{font-size:.95rem}.market-chips{flex-wrap:nowrap;max-width:100%;overflow:auto;padding-bottom:.15rem}.market-chip{flex:0 0 auto}.offer-coverage details{border-radius:14px}
  #view-offers .card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.commerce-card{border-radius:18px}.offer-art{min-height:128px}.retailer-badge,.saving-badge{font-size:.59rem;padding:.32rem .42rem}.retailer-badge{top:.5rem;left:.5rem}.saving-badge{right:.5rem;bottom:.5rem}.card-body{padding:.72rem}.commerce-card h2{min-height:0;font-size:.9rem;line-height:1.18}.product-subtitle{display:none}.price-line{display:block;margin-top:.45rem}.price{font-size:1.3rem}.price-line>span{display:block;font-size:.65rem}.saving-line{display:block;min-height:0;margin:.08rem 0 .38rem;font-size:.64rem}.saving-line strong{display:block;font-size:.65rem}.offer-meta{display:none}.offer-footer{margin-top:.45rem;padding-top:.45rem;font-size:.62rem}.offer-freshness{font-size:.59rem}
  #view-recipes .card-grid{grid-template-columns:1fr;gap:.85rem}.recipe-art{min-height:225px}.recipe-art-title h2{font-size:1.35rem}.recipe-quick-meta{top:.7rem;left:.7rem}.recipe-card .card-body{padding:.9rem}.recipe-card .meta{gap:.3rem}.recipe-card .meta span{font-size:.63rem}.recipe-offer{grid-template-columns:46px 1fr}.week-day-list{gap:.7rem}.week-day-open{border:0;border-radius:18px;box-shadow:var(--mm-shadow);background:var(--card)}.day-column.day-detail{border:0;border-radius:20px;box-shadow:var(--mm-shadow)}.meal-slot{padding:.7rem}.meal-card{grid-template-columns:52px minmax(0,1fr) auto}.meal-card>img,.meal-fallback{width:52px;height:52px}.slot-add{min-height:42px}
  .shopping-view-options{padding:.65rem .75rem;gap:.55rem}.shopping-view-options label:first-child{width:100%;justify-content:space-between}.shopping-view-options select{flex:1;max-width:175px}.shopping-summary{gap:.5rem}.summary-cell{padding:.7rem}.shopping-item{grid-template-columns:40px minmax(0,1fr) auto;gap:.25rem .55rem;padding:.78rem .8rem}.shopping-check-target{grid-column:1;grid-row:1/span 4;width:40px;height:40px;display:grid;place-items:center}.shopping-item .shopping-name{grid-column:2/-1}.shopping-item .shopping-required{grid-column:2}.shopping-item .shopping-purchase{grid-column:3;text-align:right}.shopping-item .shopping-price{grid-column:2;font-size:.85rem}.shopping-item .shopping-rest{display:none!important}.shopping-item .not-found{grid-column:3;grid-row:3;width:auto;margin:0;min-height:34px;padding:.25rem .45rem;font-size:.65rem}.store-head{padding:.8rem}.store-head>strong{font-size:.87rem}.pantry-grid{grid-template-columns:1fr}.pantry-card{grid-template-columns:60px minmax(0,1fr)}.pantry-image{width:60px;height:60px}.skeleton-grid{grid-template-columns:1fr 1fr;gap:.65rem}.skeleton-card{min-height:220px;padding:.7rem;border-radius:18px}.skeleton-card span{height:112px;margin:-.7rem -.7rem .7rem}
}
@media (max-width:360px){.main-nav .mobile-more-button,.main-nav button.mobile-primary{font-size:.53rem}.offer-art{min-height:115px}.commerce-card h2{font-size:.84rem}.price{font-size:1.2rem}.recipe-row{grid-template-columns:1fr}.skeleton-grid{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.commerce-card:hover,.primary:hover{transform:none}.skeleton-card span,.skeleton-card b,.skeleton-card i{animation:none}}

/* Reference-inspired consumer surface: the dashboard stays data-backed, while
   the visual rhythm follows the warm, food-led MeyMeal presentation. */
body{background:linear-gradient(180deg,#fbfcf8 0,#f5f9f5 54%,#fbfcf8 100%)}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin:0 0 .8rem}.section-heading h2{margin:.1rem 0;font-size:1.35rem;letter-spacing:-.035em}.discover-page-head{margin-bottom:1rem}.discover-page-head h1{color:var(--mm-green-deep)}
.discover-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(260px,.95fr);min-height:290px;overflow:hidden;border-radius:var(--mm-radius-lg);background:linear-gradient(112deg,#edf7e7 0%,#f9f5df 48%,#d8efb7 100%);box-shadow:var(--mm-shadow);margin:0 0 1.4rem}.discover-hero:before{content:"";position:absolute;z-index:-1;width:440px;height:440px;right:-125px;top:-170px;border-radius:50%;background:rgba(64,148,41,.18)}.discover-hero:after{content:"";position:absolute;z-index:-1;width:260px;height:260px;left:-130px;bottom:-150px;border-radius:50%;background:rgba(244,122,53,.16)}.discover-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(1.4rem,3vw,2.6rem);min-width:0}.discover-kicker{margin:0 0 .55rem;color:var(--mm-orange);font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.discover-hero h2{max-width:530px;margin:0;color:var(--mm-green-deep);font-size:clamp(1.75rem,3.4vw,3rem);line-height:1.02;letter-spacing:-.055em}.discover-hero-copy>p:not(.discover-kicker){max-width:455px;margin:.8rem 0 1.25rem;color:#416053;font-size:.95rem}.discover-hero .button-group{gap:.55rem}.discover-hero-action{background:var(--mm-green);box-shadow:0 9px 18px rgba(24,131,68,.2)}.discover-hero-action span{margin-left:.45rem;font-size:1.2em}.discover-hero-secondary{background:rgba(255,255,255,.72);border-color:rgba(24,131,68,.22)}.discover-hero-food{position:relative;min-height:255px;overflow:hidden}.discover-hero-food:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(237,247,231,.15),rgba(7,48,22,.08))}.discover-hero-food>img{display:block;width:100%;height:100%;object-fit:cover}.discover-hero-badge{position:absolute;z-index:2;right:1rem;top:1rem;display:grid;width:86px;height:86px;place-items:center;border:3px solid rgba(255,255,255,.8);border-radius:50%;background:var(--mm-orange);color:#fff;text-align:center;font-size:.72rem;font-weight:900;line-height:1.13;box-shadow:0 8px 18px rgba(114,59,18,.2)}
.discover-section{margin:0 0 1.35rem}.discover-offer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.discover-offer-card{overflow:hidden;border-radius:18px;background:var(--card);box-shadow:0 7px 20px rgba(19,70,42,.08);transition:transform .2s ease,box-shadow .2s ease}.discover-offer-card:hover{transform:translateY(-3px);box-shadow:var(--mm-shadow-float)}.discover-offer-card button{display:grid;grid-template-columns:108px minmax(0,1fr);width:100%;min-height:126px;padding:0;border:0;border-radius:inherit;background:transparent;color:var(--mm-ink);text-align:left}.discover-offer-image{position:relative;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#f0f9eb,#fff0e4)}.discover-offer-image img{width:100%;height:100%;object-fit:cover}.discover-offer-image>span{color:var(--mm-green);font-size:2.3rem}.discover-offer-image b{position:absolute;right:.4rem;bottom:.4rem;padding:.28rem .36rem;border-radius:7px;background:#e82d25;color:#fff;font-size:.67rem;line-height:1}.discover-offer-details{display:flex;min-width:0;flex-direction:column;align-items:flex-start;justify-content:center;padding:.68rem .7rem}.discover-offer-details small{margin-bottom:.15rem;color:var(--mm-green);font-size:.63rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.discover-offer-details strong{display:-webkit-box;overflow:hidden;margin-bottom:.35rem;font-size:.82rem;line-height:1.2;-webkit-line-clamp:2;-webkit-box-orient:vertical}.discover-offer-details em{font-size:1.18rem;font-style:normal;font-weight:900;letter-spacing:-.04em}.discover-offer-details s,.discover-offer-details i{margin-top:.1rem;color:var(--muted);font-size:.65rem;font-style:normal}.discover-empty{grid-column:1/-1}.discover-empty .secondary{margin-top:.5rem}.discover-offer-note,.offer-scope-note{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem .8rem;margin:.75rem 0 0;padding:.75rem .9rem;border:1px solid color-mix(in srgb,var(--mm-orange) 30%,var(--mm-line));border-radius:15px;background:var(--mm-orange-soft);color:#7c461e;font-size:.76rem}.discover-offer-note strong,.offer-scope-note strong{color:#8d4415}.discover-offer-note span,.offer-scope-note span{flex:1 1 330px}.discover-offer-note .secondary,.offer-scope-note .secondary{border-color:color-mix(in srgb,var(--mm-orange) 40%,var(--mm-line));background:#fff8f1;color:#8d4415}
#view-dashboard .planning-strip{border:0;border-radius:20px;background:linear-gradient(105deg,var(--mm-green-deep),var(--mm-green));box-shadow:var(--mm-shadow)}#view-dashboard .metric{box-shadow:0 7px 20px rgba(19,70,42,.07)}.discover-recipes-panel{border:0;background:linear-gradient(135deg,#fff,#f5fbf5)}.discover-recipes-panel .panel-head{align-items:flex-end}.discover-recipes-panel .mini-recipe{border-radius:16px}.discover-recipes-panel .mini-recipe-image{height:126px}.discover-recipes-panel .mini-recipe:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(19,70,42,.13)}

@media (min-width:761px){.discover-hero{min-height:320px}.discover-offer-grid .skeleton-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.discover-offer-grid .skeleton-card{min-height:126px}.discover-offer-grid .skeleton-card span{height:65px}.discover-recipes-panel{grid-column:span 2}}
@media (max-width:1100px) and (min-width:761px){.discover-offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){
  .discover-page-head .primary{width:100%}.discover-hero{grid-template-columns:1fr;min-height:0;margin-bottom:1.15rem;border-radius:22px}.discover-hero-copy{padding:1.2rem 1.15rem 1rem}.discover-hero h2{font-size:clamp(1.7rem,8vw,2.25rem)}.discover-hero-copy>p:not(.discover-kicker){margin:.65rem 0 1rem;font-size:.88rem}.discover-hero .button-group{display:grid;grid-template-columns:1fr}.discover-hero .button{width:100%}.discover-hero-food{min-height:180px;max-height:220px}.discover-hero-food:after{background:linear-gradient(90deg,rgba(237,247,231,0),rgba(7,48,22,.12))}.discover-hero-badge{width:74px;height:74px;right:.75rem;top:.75rem;font-size:.64rem}.section-heading{align-items:center;margin-bottom:.7rem}.section-heading h2{font-size:1.22rem}.section-heading .eyebrow{display:none}.discover-offer-grid{grid-template-columns:1fr 1fr;gap:.6rem}.discover-offer-card{border-radius:16px}.discover-offer-card button{display:block;min-height:0}.discover-offer-image{height:116px}.discover-offer-details{min-height:104px;padding:.58rem}.discover-offer-details strong{font-size:.77rem}.discover-offer-details em{font-size:1.08rem}.discover-offer-details s,.discover-offer-details i{font-size:.61rem}.discover-offer-grid .skeleton-grid{grid-template-columns:1fr 1fr;gap:.6rem}.discover-offer-grid .skeleton-card{min-height:210px}.discover-empty{grid-column:1/-1}.discover-recipes-panel .mini-recipe-image{height:90px}.discover-offer-note,.offer-scope-note{align-items:flex-start;padding:.7rem;font-size:.72rem}.discover-offer-note .secondary,.offer-scope-note .secondary{width:100%}
  body[data-view="offers"] .topbar,body[data-view="planner"] .topbar,body[data-view="shopping"] .topbar,body[data-view="fridge"] .topbar{background:linear-gradient(105deg,var(--mm-green-deep),var(--mm-green));border-color:transparent;color:#fff}body[data-view="recipes"] .topbar{background:linear-gradient(105deg,#d96713,var(--mm-orange));border-color:transparent;color:#fff}body[data-view="offers"] .brand,body[data-view="planner"] .brand,body[data-view="shopping"] .brand,body[data-view="fridge"] .brand,body[data-view="recipes"] .brand{color:#fff}body[data-view="offers"] .icon-button,body[data-view="planner"] .icon-button,body[data-view="shopping"] .icon-button,body[data-view="fridge"] .icon-button,body[data-view="recipes"] .icon-button{border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.13);color:#fff}
  .main-nav button.active{background:var(--mm-green-soft);color:var(--mm-green-deep);box-shadow:none}.main-nav button.active span{color:var(--mm-green)}
}

/* Professional surface pass: reserve elevated cards for content the user can
   act on. Navigation, filters, numbers and lists use rhythm and dividers,
   so the product no longer reads like a wall of equally important boxes. */
@media (min-width:761px){
  #view-dashboard .metric-grid{gap:0;margin:1.65rem 0;border-top:1px solid var(--mm-line);border-bottom:1px solid var(--mm-line)}
  #view-dashboard .metric{min-height:124px;padding:1.05rem 1.2rem;border:0;border-radius:0;background:transparent;box-shadow:none}
  #view-dashboard .metric:not(:last-child){border-right:1px solid var(--mm-line)}
  #view-dashboard .metric:before{display:none}
  #view-dashboard .dashboard-grid{gap:2.25rem}
  #view-dashboard .dashboard-grid .panel{padding:0;border-radius:0;background:transparent;box-shadow:none}
  #view-dashboard .upcoming-meals{gap:0;border-top:1px solid var(--mm-line)}
  #view-dashboard .upcoming-meal{padding:.92rem .2rem;border:0;border-bottom:1px solid var(--mm-line);border-radius:0;background:transparent}
  #view-dashboard .empty-state{margin-top:.85rem;box-shadow:none;background:color-mix(in srgb,var(--mm-green-soft) 34%,var(--card))}
  #view-offers .filter-bar,#view-recipes .filter-bar{padding:.15rem 0 1rem;border-radius:0;background:transparent;box-shadow:none}
  #view-offers .advanced-filters,#view-recipes .advanced-filters{padding-top:.85rem}
  #view-offers .card-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.35rem}
  #view-offers .commerce-card{border:1px solid color-mix(in srgb,var(--mm-line) 88%,transparent);border-radius:18px;box-shadow:none}
  #view-offers .commerce-card:hover{box-shadow:0 14px 32px rgba(19,70,42,.12)}
  #view-offers .offer-art{min-height:202px}
  #view-offers .card-body{padding:1rem 1.05rem 1.1rem}
  #view-offers .card-kicker{display:none}
  #view-offers .commerce-card h2{min-height:0;font-size:1.14rem}
  #view-offers .product-subtitle{min-height:0;margin-top:.15rem}
  #view-offers .offer-meta{display:flex;align-items:center;gap:.36rem;min-height:0;margin:.45rem 0 .55rem}
  #view-offers .offer-meta span{padding:0;border-radius:0;background:transparent;color:var(--muted)}
  #view-offers .offer-meta span+span:before{content:"·";margin-right:.36rem;color:var(--mm-green)}
  #view-shopping .shopping-view-options{padding:.65rem 0;border-radius:0;background:transparent;box-shadow:none;border-top:1px solid var(--mm-line);border-bottom:1px solid var(--mm-line)}
  #view-shopping .shopping-summary{gap:0;margin:1.2rem 0;border-top:1px solid var(--mm-line);border-bottom:1px solid var(--mm-line)}
  #view-shopping .summary-cell{padding:.8rem 1rem;border:0;border-radius:0;background:transparent;box-shadow:none}
  #view-shopping .summary-cell:not(:nth-child(6)){border-right:1px solid var(--mm-line)}
  #view-shopping .store-group{border:1px solid var(--mm-line);border-radius:18px;box-shadow:none}
}
@media (max-width:760px){
  #view-dashboard .metric-grid{gap:0;margin:1.2rem 0;border-top:1px solid var(--mm-line);border-bottom:1px solid var(--mm-line)}
  #view-dashboard .metric{padding:.85rem .72rem;border:0;border-radius:0;background:transparent;box-shadow:none}
  #view-dashboard .metric:before{display:none}
  #view-dashboard .metric:nth-child(odd){border-right:1px solid var(--mm-line)}
  #view-dashboard .metric:nth-child(-n+2){border-bottom:1px solid var(--mm-line)}
  #view-dashboard .dashboard-grid .panel{padding:0;border-radius:0;background:transparent;box-shadow:none}
  #view-dashboard .upcoming-meals{gap:0;border-top:1px solid var(--mm-line)}
  #view-dashboard .upcoming-meal{padding:.82rem 0;border:0;border-bottom:1px solid var(--mm-line);border-radius:0;background:transparent}
  #view-dashboard .empty-state{margin-top:.75rem;box-shadow:none}
  #view-offers .filter-bar,#view-recipes .filter-bar{padding:.15rem 0 .85rem;border-radius:0;background:transparent;box-shadow:none}
  #view-shopping .shopping-view-options{padding:.65rem 0;border-radius:0;background:transparent;box-shadow:none;border-top:1px solid var(--mm-line);border-bottom:1px solid var(--mm-line)}
  #view-shopping .shopping-summary{gap:0;margin:1rem 0;border-top:1px solid var(--mm-line);border-bottom:1px solid var(--mm-line)}
  #view-shopping .summary-cell{padding:.68rem .55rem;border:0;border-radius:0;background:transparent;box-shadow:none}
  #view-shopping .summary-cell:nth-child(odd){border-right:1px solid var(--mm-line)}
  #view-shopping .summary-cell:nth-child(-n+4){border-bottom:1px solid var(--mm-line)}
  #view-shopping .store-group{border:1px solid var(--mm-line);border-radius:16px;box-shadow:none}
}

/* Keep the richer review form responsive after the legacy fridge layout rules. */
.fridge-confirm-row{grid-template-columns:minmax(90px,140px) repeat(2,minmax(130px,1fr));align-items:end}
.fridge-confirm-row .fridge-thumb{grid-row:span 3}.fridge-confirm-row .image-confirmation{grid-column:2/-1}
@media(max-width:900px){.fridge-confirm-row{grid-template-columns:64px minmax(0,1fr) minmax(0,1fr)}.fridge-confirm-row label,.fridge-confirm-row button{grid-column:auto}.fridge-confirm-row .fridge-thumb{grid-column:1;grid-row:span 5}.fridge-confirm-row .image-confirmation{grid-column:2/-1}}
@media(max-width:560px){.fridge-confirm-row{grid-template-columns:1fr 1fr}.fridge-confirm-row .fridge-thumb,.fridge-confirm-row .image-confirmation{grid-column:1/-1;grid-row:auto}.fridge-confirm-row button{grid-column:1/-1}}
.vision-admin-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.6rem;margin-bottom:.8rem}.vision-admin-grid>div{padding:.75rem;border:1px solid var(--mm-line,var(--border));border-radius:13px;background:var(--mm-soft,var(--bg))}.vision-admin-grid strong,.vision-admin-grid span{display:block}.vision-admin-grid strong{font-size:1.25rem}.vision-admin-grid span{color:var(--mm-muted,var(--muted));font-size:.7rem}@media(max-width:900px){.vision-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Make incomplete price data visible without inventing a basket total. */
.price-coverage-summary{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,34%);align-items:center;gap:.8rem;padding:.8rem 1rem;border:1px solid color-mix(in srgb,var(--green) 35%,var(--border));border-radius:14px;background:color-mix(in srgb,var(--green) 8%,var(--card))}
.price-coverage-summary strong,.price-coverage-summary span{display:block}.price-coverage-summary span{margin-top:.1rem;color:var(--muted);font-size:.72rem}.price-coverage-summary progress{width:100%;height:.7rem;overflow:hidden;border:0;border-radius:999px;background:var(--border);accent-color:var(--green)}.price-coverage-summary progress::-webkit-progress-bar{border-radius:999px;background:var(--border)}.price-coverage-summary progress::-webkit-progress-value{border-radius:999px;background:var(--green)}.price-coverage-summary progress::-moz-progress-bar{border-radius:999px;background:var(--green)}
@media(max-width:760px){#view-shopping .price-coverage-summary{grid-template-columns:1fr;padding:.75rem 0;border-width:1px 0 0;border-radius:0;background:transparent}}

/* Activation, explainable optimization and tariff surfaces. */
.onboarding-card{margin-bottom:1.25rem;border-color:color-mix(in srgb,var(--green) 45%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--green) 10%,var(--card)),var(--card))}.onboarding-head{display:flex;justify-content:space-between;gap:1rem}.onboarding-head>strong{font-size:1.7rem;color:var(--green-dark)}.onboarding-card progress{width:100%;height:.7rem;margin:.7rem 0 1rem;accent-color:var(--green)}.onboarding-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem;margin:0 0 1rem;padding:0;list-style:none}.onboarding-steps li{display:flex;align-items:center;gap:.45rem;min-width:0;padding:.55rem;border:1px solid var(--border);border-radius:12px;color:var(--muted);font-size:.72rem}.onboarding-steps li span{display:grid;flex:0 0 25px;height:25px;place-items:center;border-radius:50%;background:var(--bg)}.onboarding-steps li.done{color:var(--green-dark);border-color:color-mix(in srgb,var(--green) 40%,var(--border))}.onboarding-steps li.current{color:var(--text);box-shadow:0 0 0 2px color-mix(in srgb,var(--green) 18%,transparent)}
.optimization-explanation{margin:1rem 0}.optimization-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.55rem;margin:.8rem 0}.optimization-metrics>div{padding:.7rem;border-radius:12px;background:var(--bg)}.optimization-metrics strong,.optimization-metrics span{display:block}.optimization-metrics span{margin-top:.15rem;color:var(--muted);font-size:.7rem}.optimization-reasons{margin:.7rem 0 0;padding-left:1.25rem}.optimization-reasons li+li{margin-top:.35rem}
.tariff-panel{margin-top:1.2rem}.billing-plans{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}.billing-plan{display:flex;flex-direction:column;justify-content:space-between;gap:.8rem;padding:1rem;border:1px solid var(--border);border-radius:16px;background:var(--bg)}.billing-plan.active{border-color:var(--green);background:color-mix(in srgb,var(--green) 8%,var(--card))}.billing-plan h3{margin:.55rem 0 .2rem}.billing-plan>div>strong{font-size:1.3rem}.billing-plan ul{margin:0;padding-left:1.1rem;color:var(--muted);font-size:.78rem}.billing-plan .info{margin:0}.billing-plan button{width:100%}
@media(max-width:980px){.onboarding-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.optimization-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.billing-plans{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.onboarding-head{display:block}.onboarding-steps,.billing-plans{grid-template-columns:1fr}.optimization-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.onboarding-card .button-group{display:grid;grid-template-columns:1fr}.onboarding-card .button-group button{width:100%}}

/* Cooked leftovers and confirmed fridge items form one explicit reuse flow. */
.main-nav{width:min(760px,calc(100vw - 24px));grid-template-columns:repeat(6,minmax(0,1fr))}
.metric-action{display:block;width:100%;color:var(--text);text-align:left;cursor:pointer}.metric-action:hover{background:var(--mm-green-soft)}
.leftover-hub{margin:0 0 1.25rem;padding:1.25rem;border:1px solid color-mix(in srgb,var(--mm-green) 22%,var(--mm-line));border-radius:var(--mm-radius-lg);background:linear-gradient(145deg,var(--card),color-mix(in srgb,var(--mm-green-soft) 46%,var(--card)));box-shadow:var(--mm-shadow)}
.leftover-hub>.panel-head{align-items:flex-end}.leftover-hub>.panel-head p:not(.eyebrow),.fridge-recipe-block .panel-head p{margin:.25rem 0 0;color:var(--muted);font-size:.8rem}
.leftover-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;margin-bottom:1rem}.leftover-summary>div{padding:.75rem;border-radius:14px;background:var(--bg)}.leftover-summary strong,.leftover-summary span{display:block}.leftover-summary strong{font-size:1.35rem}.leftover-summary span{color:var(--muted);font-size:.68rem}
.leftover-columns{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:1rem}.leftover-columns>article,.fridge-recipe-block{min-width:0;padding:1rem;border:1px solid var(--mm-line);border-radius:18px;background:var(--card)}.fridge-recipe-block{margin-top:1rem}.leftover-columns h3,.fridge-recipe-block h3{margin:0}
.leftover-list,.leftover-suggestions{display:grid;gap:.65rem}.leftover-batch,.leftover-suggestion{padding:.8rem;border:1px solid var(--mm-line);border-radius:15px;background:var(--bg)}.leftover-batch-head,.leftover-suggestion-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.65rem}.leftover-batch-head>span{display:grid;flex:0 0 38px;height:38px;place-items:center;border-radius:12px;background:var(--mm-green-soft);color:var(--mm-green);font-size:1.2rem}.leftover-batch h4,.leftover-suggestion h4{margin:.05rem 0;font-size:.9rem}.leftover-batch-head>strong,.leftover-suggestion-head>strong{white-space:nowrap;color:var(--mm-green-deep);font-size:.72rem}.leftover-date{margin:.45rem 0;padding:.35rem .5rem;border-radius:9px;background:var(--mm-green-soft);color:var(--mm-green-deep);font-size:.7rem;font-weight:800}.leftover-date.soon{background:var(--mm-orange-soft);color:#8b481c}.leftover-date.urgent{background:#fee9e7;color:#a92b24}
.leftover-suggestion.transform{border-color:color-mix(in srgb,var(--mm-green) 45%,var(--mm-line))}.leftover-suggestion>p{margin:.4rem 0;color:var(--muted);font-size:.74rem}.ingredient-source{padding:.35rem .45rem;border-radius:9px}.source-leftover{background:var(--mm-orange-soft)}.source-fridge{background:var(--mm-green-soft)}.source-missing{background:color-mix(in srgb,var(--yellow) 16%,var(--card))}.source-complete{background:var(--mm-green-soft);color:var(--mm-green-deep)!important}.leftover-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;margin-top:.55rem}.leftover-actions small{color:var(--muted);font-size:.66rem}.danger-text{color:var(--red)}
.leftover-dialog{width:min(620px,calc(100vw - 24px));padding:0;border:0;border-radius:22px;background:var(--card);color:var(--text);box-shadow:0 28px 80px rgba(4,24,15,.32)}.leftover-dialog::backdrop{background:rgba(4,24,15,.55);backdrop-filter:blur(4px)}.leftover-dialog form{padding:1.2rem}.leftover-dialog header,.leftover-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:1rem}.leftover-dialog header h2{margin:.1rem 0}.leftover-dialog header p:not(.eyebrow){margin:.2rem 0;color:var(--muted)}.leftover-dialog footer{justify-content:flex-end}.leftover-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.leftover-confirm{padding:.65rem;border-radius:12px;background:var(--mm-green-soft)}
.meal-actions{display:flex;align-items:center;gap:.25rem}.meal-actions .meal-leftover{max-width:86px;padding:.2rem;font-size:.59rem;line-height:1.1}.meal-actions .meal-remove{position:static}.meal-card[data-recipe]>.meal-actions{justify-self:end}
@media(max-width:760px){.main-nav{width:calc(100vw - 16px);grid-template-columns:repeat(6,minmax(0,1fr))}.main-nav .mobile-more-button,.main-nav button.mobile-primary{font-size:.53rem}.leftover-hub{margin-left:-.2rem;margin-right:-.2rem;padding:.85rem;border-radius:20px}.leftover-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.leftover-columns{grid-template-columns:1fr}.leftover-columns>article,.fridge-recipe-block{padding:.75rem}.leftover-form-grid{grid-template-columns:1fr}.leftover-dialog footer{display:grid;grid-template-columns:1fr}.leftover-dialog footer button{width:100%}.meal-card{grid-template-columns:44px minmax(0,1fr)}.meal-actions{grid-column:2;justify-self:start!important}.meal-actions .meal-leftover{max-width:none}}
@media(max-width:390px){.main-nav .mobile-more-button,.main-nav button.mobile-primary{font-size:.48rem;padding-inline:0}.main-nav button span{font-size:1rem}}

/* GA4 is optional and loaded only after an explicit choice. */
.analytics-consent-banner{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:960px;margin:0 auto;padding:1rem 1.1rem;border:1px solid var(--border);border-radius:16px;background:var(--card);box-shadow:0 18px 50px rgba(13,52,32,.24);color:var(--text)}
.analytics-consent-banner strong{display:block;margin-bottom:.22rem}.analytics-consent-banner p{max-width:660px;margin:0;color:var(--muted);font-size:.82rem;line-height:1.45}.analytics-consent-banner a{color:var(--green);font-weight:700}.analytics-consent-actions{display:flex;flex:0 0 auto;gap:.5rem}.analytics-consent-settings{position:fixed;left:.75rem;bottom:.75rem;z-index:45;padding:.48rem .68rem;border:1px solid var(--border);border-radius:999px;background:var(--card);box-shadow:0 7px 20px rgba(13,52,32,.12);color:var(--muted);font-size:.7rem}
.analytics-consent-actions button{min-height:42px;padding:.55rem .8rem;border:1px solid var(--border);border-radius:12px;font:inherit;font-weight:700;cursor:pointer}.analytics-consent-actions [data-analytics-choice="granted"]{background:var(--green);color:#fff}
@media(max-width:700px){.analytics-consent-banner{display:grid;left:.65rem;right:.65rem;bottom:4.8rem;padding:.85rem}.analytics-consent-actions{display:grid;grid-template-columns:1fr 1fr}.analytics-consent-actions button{width:100%}.analytics-consent-settings{bottom:4.65rem;max-width:44vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}

.android-demo-prompt{position:fixed;right:1rem;bottom:1rem;z-index:80;width:min(430px,calc(100vw - 2rem));padding:1.1rem;border:1px solid var(--border);border-radius:18px;background:var(--card);box-shadow:0 20px 55px rgba(13,52,32,.25)}
.android-demo-prompt[hidden],.android-demo-card[hidden]{display:none!important}
.android-demo-prompt>.icon-button{position:absolute;right:.65rem;top:.65rem}
.android-demo-prompt h2{margin:.15rem 2.5rem .35rem 0}.android-demo-prompt p{line-height:1.5}
.android-demo-prompt .button-group{margin-top:.9rem;align-items:center}
.android-demo-prompt .text-button{border:0;background:transparent;color:var(--muted);text-decoration:underline}
.android-demo-dialog{width:min(560px,calc(100vw - 2rem));max-height:min(760px,calc(100dvh - 2rem));padding:0;border:1px solid var(--border);border-radius:20px;background:var(--card);color:var(--text);box-shadow:0 24px 70px rgba(13,52,32,.3)}
.android-demo-dialog::backdrop{background:rgba(4,20,12,.55)}
.android-demo-dialog form{display:grid;grid-template-rows:auto auto 1fr auto;min-height:420px;max-height:calc(100dvh - 2rem)}
.android-demo-dialog header,.android-demo-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.15rem}
.android-demo-dialog header{border-bottom:1px solid var(--border)}.android-demo-dialog footer{border-top:1px solid var(--border);justify-content:flex-end}
.android-demo-dialog h2,.android-demo-dialog h3{margin:.1rem 0 .45rem}.android-demo-dialog-body{overflow:auto}
#android-demo-dialog-body{padding:1.15rem;overflow:auto}
.demo-progress{height:5px;background:var(--soft);overflow:hidden}.demo-progress span{display:block;height:100%;background:var(--green);transition:width .2s ease}
.demo-step{display:grid;gap:1rem}.demo-step>p{margin:0;line-height:1.55;color:var(--muted)}
.demo-choice{display:grid;gap:.7rem}.demo-choice label{display:flex;align-items:center;gap:.7rem;min-height:52px;padding:.75rem;border:1px solid var(--border);border-radius:13px;cursor:pointer}
.demo-choice input,.demo-consent input{width:20px;height:20px;flex:0 0 auto}
.demo-summary{display:grid;grid-template-columns:max-content 1fr;gap:.5rem 1rem;margin:0;padding:1rem;border-radius:13px;background:var(--soft)}
.demo-summary dt{color:var(--muted)}.demo-summary dd{margin:0;font-weight:700;overflow-wrap:anywhere}
.demo-consent{align-items:flex-start;padding:.85rem;border:1px solid var(--border);border-radius:13px;line-height:1.45}
.android-demo-card .status-badge{white-space:nowrap}.audit-timeline{display:grid;gap:.5rem;margin-top:1rem}
.audit-timeline>div{display:grid;grid-template-columns:minmax(150px,auto) minmax(180px,1fr) auto;gap:.75rem;padding:.65rem;border-left:3px solid var(--green);background:var(--soft)}
.audit-timeline time,.audit-timeline span{color:var(--muted);font-size:.78rem}
@media(max-width:700px){
  .android-demo-prompt{left:.65rem;right:.65rem;bottom:4.8rem;width:auto;padding:.95rem}
  .android-demo-prompt .button-group{display:grid;grid-template-columns:1fr 1fr}
  .android-demo-prompt .button-group>*{width:100%;min-height:44px}
  .android-demo-prompt .text-button{grid-column:1/-1}
  .android-demo-dialog{width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem);border-radius:16px}
  .android-demo-dialog form{max-height:calc(100dvh - 1rem);min-height:min(520px,calc(100dvh - 1rem))}
  .android-demo-dialog header,.android-demo-dialog footer,#android-demo-dialog-body{padding:.85rem}
  .android-demo-dialog footer button{min-height:46px;flex:1}
  .demo-summary{grid-template-columns:1fr}.demo-summary dd{margin-bottom:.35rem}
  .audit-timeline>div{grid-template-columns:1fr;gap:.2rem}
}
