:root{--color-primary:#1b4d3e;--color-primary-container:#e8f2ec;--color-secondary:#e07a5f;--color-secondary-container:#fdf1ec;--color-tertiary:#f4a261;--color-neutral:#faf8f5;--color-surface:#fff;--color-border:#e5eae4;--color-text-primary:#14251f;--color-text-secondary:#4a5d55;--color-success:#2d6a4f;--color-warning:#d97706;--color-danger:#b91c1c;--color-info:#1d4ed8;--color-supermarket-ah:#00a1e4;--color-supermarket-jumbo:#eeb711;--color-supermarket-lidl:#00509d;--color-supermarket-plus:#316a1c;--color-supermarket-picnic:#e30613;--font-display:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--rounded-xs:4px;--rounded-sm:8px;--rounded-md:12px;--rounded-lg:16px;--rounded-xl:24px;--rounded-full:9999px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-xxl:48px;--shadow-soft:0 2px 8px #1b4d3e08;--shadow-medium:0 4px 16px #1b4d3e0f;--shadow-premium:0 12px 32px #1b4d3e1a;font-family:var(--font-body);color:var(--color-text-primary);background:var(--color-neutral);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{background:var(--color-neutral);min-width:320px}body{min-width:320px;min-height:100svh;margin:0}a{color:inherit}button,a,input{letter-spacing:0}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #1b4d3e59}#root{min-height:100svh}:root{--app-shell-edge-inline:16px;--app-shell-edge-inline-end:16px;--app-shell-edge-top:12px;--app-shell-edge-bottom:16px}html,body{scrollbar-width:none;-ms-overflow-style:none;width:100%;max-width:100%;margin:0;overflow:hidden auto}*,:before,:after{scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{width:0;height:0;display:none}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}.swiper-meal-description{white-space:normal;-webkit-overflow-scrolling:touch;overflow-wrap:anywhere;word-break:break-word;max-height:min(19svh,160px);margin:0;font-size:14px;line-height:1.3;display:block;overflow:hidden auto}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{--app-shell-edge-inline:max(16px, env(safe-area-inset-left,16px));--app-shell-edge-inline-end:max(16px, env(safe-area-inset-right,16px));--app-shell-edge-top:max(12px, env(safe-area-inset-top,12px));--app-shell-edge-bottom:max(16px, env(safe-area-inset-bottom,16px));background:var(--color-neutral);min-height:100svh;color:var(--color-text-primary);padding:var(--app-shell-edge-top) var(--app-shell-edge-inline-end) var(--app-shell-edge-bottom) var(--app-shell-edge-inline);overflow-x:hidden}.app-shell--dark{--color-primary:#a8d2be;--color-primary-container:#10281f;--color-secondary:#e67c5c;--color-secondary-container:#3d1e15;--color-tertiary:#f4a261;--color-neutral:#0a120e;--color-surface:#141e1a;--color-border:#273630;--color-text-primary:#f1f5f3;--color-text-secondary:#a0b2a9;--app-shell-bg:var(--color-neutral);--app-shell-text:var(--color-text-primary);--app-shell-text-muted:var(--color-text-secondary);--app-shell-border:var(--color-border);--app-shell-surface:var(--color-surface);--app-shell-surface-elevated:#1a2621;--app-shell-surface-soft:#203029;--app-shell-pill:#1f332a;--app-shell-pill-text:var(--color-primary);filter:none;background:var(--app-shell-bg);color:var(--app-shell-text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.app-shell--dark *{color:inherit}.app-shell.app-shell--dark :is(p,small,span,strong,em,b,li,a,label,h1,h2,h3,h4,h5,h6,div,button,input,select,textarea,option,details,summary,article,section,time,mark){color:var(--app-shell-text)}.app-shell.app-shell--dark :is(){color:var(--app-shell-text-muted)}body.is-dark-mode,html.is-dark-mode{color:#e9eef7;background:#090d16}body.is-dark-mode #root{background:0 0}.app-shell.app-shell--dark{background:var(--app-shell-bg);color:var(--app-shell-text)}.app-shell--dark .app-header,.app-shell--dark .main-tab-bar,.app-shell--dark .discover-toolbar,.app-shell--dark .discover-empty-state,.app-shell--dark .discover-menu-backdrop,.app-shell--dark .discover-menu-panel,.app-shell--dark .weekly-offers-header,.app-shell--dark .weekmenu-tab,.app-shell--dark .weekmenu-row,.app-shell--dark .control-band,.app-shell--dark .setup-summary,.app-shell--dark .quick-settings,.app-shell--dark .settings-disclosure,.app-shell--dark .collapsed-panel,.app-shell--dark .learning-panel,.app-shell--dark .notice,.app-shell--dark .notice--success,.app-shell--dark .preference-grid,.app-shell--dark .settings-panel,.app-shell--dark .menu-panel,.app-shell--dark .side-panel,.app-shell--dark .recipe-options-panel,.app-shell--dark .offers-panel,.app-shell--dark .price-watch-panel,.app-shell--dark .price-watch-row,.app-shell--dark .search-box,.app-shell--dark .search-box button,.app-shell--dark .sort-control,.app-shell--dark .meal-detail-page,.app-shell--dark .meal-detail-grid,.app-shell--dark .meal-detail-hero,.app-shell--dark .meal-detail-section,.app-shell--dark .meal-detail-ingredient-row,.app-shell--dark .meal-card,.app-shell--dark .offer-card,.app-shell--dark .meal-actions,.app-shell--dark .meal-actions button,.app-shell--dark .meal-feedback,.app-shell--dark .meal-taste-actions,.app-shell--dark .swiper-card,.app-shell--dark .swiper-card--preview,.app-shell--dark .swiper-menu-button,.app-shell--dark .swiper-menu-button:hover,.app-shell--dark .swiper-swipe-hint span,.app-shell--dark .swiper-swipe-stripe.is-like,.app-shell--dark .swiper-swipe-stripe.is-dislike,.app-shell--dark .shopping-progress,.app-shell--dark .shopping-list li,.app-shell--dark .staples-panel,.app-shell--dark .saved-panel,.app-shell--dark .planning-hint,.app-shell--dark .empty-panel,.app-shell--dark .share-link-panel,.app-shell--dark .recipe-option-card,.app-shell--dark .history-list span,.app-shell--dark .history-clear-button,.app-shell--dark .taste-preference-panel,.app-shell--dark .favorite-panel,.app-shell--dark .history-panel,.app-shell--dark .stepper,.app-shell--dark .mini-title,.app-shell--dark .metric,.app-shell--dark .summary-band,.app-shell--dark .meal-list,.app-shell--dark .tag-row span,.app-shell--dark .tag-row button,.app-shell--dark .chip,.app-shell--dark .pantry-chip,.app-shell--dark .chip.is-active,.app-shell--dark .pantry-chip.is-active,.app-shell--dark .pantry-checkbox,.app-shell--dark .swipe-actions,.app-shell--dark .swiper-footer,.app-shell--dark .source-pill,.app-shell--dark .text-action,.app-shell--dark .main-tab,.app-shell--dark .discover-filter-toggle,.app-shell--dark .discover-toolbar-status,.app-shell--dark .segmented button,.app-shell--dark .filter-row button,.app-shell--dark .stepper button,.app-shell--dark .ghost-button,.app-shell--dark .primary-button,.app-shell--dark .icon-button,.app-shell--dark .meal-feedback button,.app-shell--dark .meal-taste-actions button,.app-shell--dark .check-button,.app-shell--dark .inline-form button,.app-shell--dark .pantry-form button,.app-shell--dark .chip-delete,.app-shell--dark .price-watch-row button,.app-shell--dark .saved-row button:first-child,.app-shell--dark .swiper-like-button,.app-shell--dark .swipe-like-button,.app-shell--dark .range-grid input,.app-shell--dark .pantry-form input,.app-shell--dark .pantry-form select,.app-shell--dark .inline-form input,.app-shell--dark .date-input,.app-shell--dark .search-box input,.app-shell--dark .sort-control select,.app-shell--dark .price-watch-row input,.app-shell--dark .discount-switch,.app-shell--dark .discount-switch__track,.app-shell--dark .discount-switch__thumb,.app-shell--dark .swiper-ad-frame,.app-shell--dark .swiper-ad-dismiss,.app-shell--dark .meal-stats,.app-shell--dark .swiper-stats,.app-shell--dark .swiper-badge span{background:var(--app-shell-surface);border-color:var(--app-shell-border);color:var(--app-shell-text)}.app-shell--dark .swiper-ad-title,.app-shell--dark .swiper-ad-placeholder{color:#9fb2cb}.app-shell--dark .app-header,.app-shell--dark .discover-toolbar,.app-shell--dark .discover-empty-state,.app-shell--dark .discover-menu-panel,.app-shell--dark .weekly-offers-header,.app-shell--dark .meal-detail-hero,.app-shell--dark .meal-detail-section,.app-shell--dark .menu-panel,.app-shell--dark .side-panel,.app-shell--dark .settings-panel,.app-shell--dark .recipe-option-card,.app-shell--dark .metric,.app-shell--dark .notice--success{background:var(--app-shell-surface-elevated)}.app-shell--dark .discover-menu-backdrop{background:#040912bd}.app-shell--dark .source-pill,.app-shell--dark .main-tab.is-active,.app-shell--dark .segmented button.is-active,.app-shell--dark .filter-row button.is-active,.app-shell--dark .store-toggle.is-active,.app-shell--dark .day-pill{background:var(--app-shell-pill);color:var(--app-shell-pill-text);border-color:#38507a}.app-shell--dark .primary-button,.app-shell--dark .date-input,.app-shell--dark .sort-control,.app-shell--dark .search-box,.app-shell--dark .discount-switch.is-on .discount-switch__track{border-color:#3e567c}.app-shell--dark .text-action,.app-shell--dark .primary-button,.app-shell--dark .ghost-button,.app-shell--dark .icon-button,.app-shell--dark .meal-actions button,.app-shell--dark .stepper button,.app-shell--dark .meal-feedback button,.app-shell--dark .meal-taste-actions button,.app-shell--dark .check-button,.app-shell--dark .chip-delete,.app-shell--dark .history-clear-button,.app-shell--dark .favorite-unpin-button{color:#e8f0fc;background:#24314f;border-color:#3f587e}.app-shell--dark .weekmenu-row-day{background:var(--app-shell-pill);color:#9fb8de;border-color:#38507a}.app-shell--dark .swiper-menu-button:hover{background:#1b2942}.app-shell--dark .search-box button,.app-shell--dark .saved-row button:last-child{color:#c9d9ee;background:#24314f;border-color:#3f587e}.app-shell--dark .source-pill--live,.app-shell--dark .source-pill--fallback,.app-shell--dark .source-pill--demo,.app-shell--dark .source-pill--error{background:var(--app-shell-surface-soft);color:var(--app-shell-text);border-color:var(--app-shell-border)}.app-shell--dark :is(.app-header h1,.section-title h2,.offers-toolbar h2,.discover-menu-panel h2,.meal-detail-hero h1,.meal-detail-section h2,.meal-card h3,.offer-card h3,.swiper-card__topline h3,.recipe-option-card h3,.favorite-card__head h3,.shopping-group h3){color:#f8fbff}.app-shell--dark .swiper-swipe-hint span{color:#9fb8d6;background:#ffffff0f}.app-shell--dark .swiper-swipe-stripe.is-like{background:linear-gradient(110deg,#1f995b5c,#09152805)}.app-shell--dark .swiper-swipe-stripe.is-dislike{background:linear-gradient(110deg,#d12c2c52,#09152805)}.app-shell--dark .meal-visual__photos img,.app-shell--dark .meal-visual__image,.app-shell--dark .product-visual img{filter:none;background:0 0}.app-shell--dark .chip.is-active,.app-shell--dark .pantry-chip.is-active,.app-shell--dark .store-toggle.is-active{color:#d5e6ff;background:#2f4b78;border-color:#46679d}.app-shell--dark .meal-actions button.is-active,.app-shell--dark .meal-feedback button.is-active,.app-shell--dark .meal-taste-actions button.is-active,.app-shell--dark .discount-line button.is-active{color:#f0dca8;background:#2f4b78;border-color:#4f6593}.app-shell--dark .meal-card.is-locked{background:var(--app-shell-surface-elevated)}.app-shell--dark .discount-line a{background:var(--app-shell-surface);color:#bdd4f4;border-color:#3f587e}.app-shell--dark .favorite-card__stats span,.app-shell--dark .recipe-option-card__top span,.app-shell--dark .taste-preference-list button{background:var(--app-shell-surface);color:var(--app-shell-text);border-color:var(--app-shell-border)}.app-shell--dark .pantry-checkbox{background:var(--app-shell-surface);border-color:var(--app-shell-border);color:var(--app-shell-text)}.app-shell--dark .store-toggle .status-badge--demo,.app-shell--dark .store-toggle .status-badge--fallback,.app-shell--dark .store-toggle .status-badge--error,.app-shell--dark .store-toggle .status-badge--disabled{background:var(--app-shell-pill);color:var(--app-shell-text);border-color:#46679d}.app-shell--dark .price-alert-card{color:#b9cbe9;background:#223152;border-color:#2e4469}.app-shell--dark .price-alert-card strong{color:#f1f6ff}.app-shell--dark .secondary-button,.app-shell--dark .discount-line button,.app-shell--dark .sort-control select{color:inherit;background:0 0}.app-shell--dark .tag-row span,.app-shell--dark .tag-row button,.app-shell--dark .swiper-badge span,.app-shell--dark .favorite-card__fallback-tag,.app-shell--dark .meal-detail-ingredient-content strong,.app-shell--dark .mini-title,.app-shell--dark .steps,.app-shell--dark .meal-detail-staples,.app-shell--dark .offer-card h3,.app-shell--dark .meal-card h3,.app-shell--dark .price-watch-panel .section-title>svg,.app-shell--dark .swiper-like-button,.app-shell--dark .favorite-card__head h3,.app-shell--dark .favorite-card__stats span,.app-shell--dark .recipe-option-card__top span,.app-shell--dark .taste-preference-list button{color:#f1f5fd}.app-shell--dark .offer-card p,.app-shell--dark .meal-card p,.app-shell--dark .meal-detail-ingredient-content small,.app-shell--dark .meal-detail-ingredient-row span,.app-shell--dark .meal-detail-steps,.app-shell--dark .meal-detail-staples,.app-shell--dark .steps,.app-shell--dark .meal-stats,.app-shell--dark .swiper-stats,.app-shell--dark .shopping-list span,.app-shell--dark .shopping-list .quantity-line,.app-shell--dark .price-watch-row label,.app-shell--dark .price-watch-row input,.app-shell--dark .swiper-card__topline p,.app-shell--dark .swiper-card__topline .swiper-meal-description,.app-shell--dark .discount-line span,.app-shell--dark .price-line span,.app-shell--dark .search-box input,.app-shell--dark .sort-control select,.app-shell--dark .range-grid label,.app-shell--dark .empty-state,.app-shell--dark .control-label,.app-shell--dark .control-hint,.app-shell--dark .weekly-offers-summary span,.app-shell--dark .switch-row,.app-shell--dark .range-grid input[type=number]{color:var(--app-shell-text-muted)}.app-shell--dark .inline-price-watch-panel,.app-shell--dark .swiper-detail-button,.app-shell--dark .offer-card__watch-state{border-color:var(--app-shell-border);color:var(--app-shell-text);background:#182e26eb}.app-shell--dark .meal-stats span,.app-shell--dark .swiper-stats span,.app-shell--dark .metric strong,.app-shell--dark .weekly-offers-summary strong,.app-shell--dark .shopping-list strong,.app-shell--dark .shopping-list b,.app-shell--dark .favorite-card__stats strong,.app-shell--dark .price-alert-card strong,.app-shell--dark .inline-price-watch-panel strong,.app-shell--dark .price-watch-row>span,.app-shell--dark .discount-line strong,.app-shell--dark .recipe-option-stats strong,.app-shell--dark .price-line strong,.app-shell--dark .meal-detail-hero h1,.app-shell--dark .meal-detail-section h2,.app-shell--dark .meal-detail-ingredient-content strong,.app-shell--dark .meal-detail-steps li,.app-shell--dark .meal-detail-staples li,.app-shell--dark .weekmenu-row-main strong,.app-shell--dark .metric span,.app-shell--dark .history-list small,.app-shell--dark .favorite-card__stats{color:var(--app-shell-text)}.app-shell--dark .product-visual--protein{color:#ffd5bc;background:#4c2715}.app-shell--dark .product-visual--vegetable{color:#c7f1d3;background:#19452d}.app-shell--dark .product-visual--carb{color:#ffe39f;background:#5a4710}.app-shell--dark .product-visual--sauce,.app-shell--dark .product-visual--dairy{color:#bed7ff;background:#1f3865}.app-shell--dark .product-visual--other,.app-shell--dark .product-visual--pantry,.app-shell--dark .product-visual--breakfast,.app-shell--dark .product-visual--snack{color:#c8d5e6;background:#29344b}.app-shell--dark .swiper-card-layer.is-preview{filter:blur(.15rem)!important}.app-shell--dark .discount-switch__track,.app-shell--dark .discount-switch input:checked+.discount-switch__thumb,.app-shell--dark .discount-switch input:focus-visible+.discount-switch__thumb{color:var(--app-shell-text)}.app-shell--dark .meal-visual{background:var(--app-shell-surface)}.app-shell--dark .discount-switch__track{background:#0f1a2e}.app-shell--dark .discount-switch.is-on .discount-switch__track{background:#213963}.app-shell--dark .swiper-like-button.is-active{color:#ffd27f;background:#2f4b78}.app-header,.control-band,.setup-strip,.preference-grid,.summary-band,.planner-grid,.recipe-options-panel,.offers-disclosure,.weekly-offers-header,.weekly-offers-tab,.offers-panel,.price-watch-panel,.weekmenu-tab,.menu-panel,.side-panel,.notice,.meal-detail-page{width:min(1440px, calc(100% - var(--app-shell-edge-inline) - var(--app-shell-edge-inline-end)));margin:0 auto}.main-tab-bar{width:min(1440px, calc(100% - var(--app-shell-edge-inline) - var(--app-shell-edge-inline-end)));flex-wrap:wrap;gap:8px;margin:6px auto 0;display:flex}.main-tab,.text-action,.menu-bar,.date-action{border-radius:var(--rounded-sm)}.text-action{border:1px solid var(--color-border);background:var(--color-surface);min-height:36px;color:var(--color-text-secondary);border-radius:var(--rounded-sm);justify-content:center;align-items:center;gap:8px;padding:0 12px;font-weight:800;display:inline-flex}.ghost-button,.primary-button{border-radius:var(--rounded-full);white-space:nowrap;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 16px;font-weight:800;transition:all .2s;display:inline-flex}.ghost-button{border:1px solid var(--color-primary);background:var(--color-surface);color:var(--color-primary)}.primary-button{background:var(--color-primary);color:var(--color-surface)}.ghost-button:hover,.primary-button:hover{transform:translateY(-1px)}.ghost-button:active,.primary-button:active{transform:translateY(0)scale(.98)}.notice{border-radius:var(--rounded-sm);color:#6e4a00;background:#fff7df;border:1px solid #f2c979;align-items:center;gap:10px;margin-top:14px;padding:8px 16px;font-weight:700;display:flex}.main-tab{border:1px solid var(--color-border);background:var(--color-surface);min-height:40px;color:var(--color-text-secondary);border-radius:var(--rounded-md);justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:800;transition:all .2s;display:inline-flex}.main-tab svg{width:16px;height:16px}.main-tab.is-active{border-color:var(--color-primary);background:var(--color-primary-container);color:var(--color-primary)}.app-header{justify-content:space-between;align-items:center;gap:24px;padding:28px 0 18px;display:flex}.eyebrow{color:var(--color-text-secondary);text-transform:uppercase;font-size:13px;font-weight:800;font-family:var(--font-body);margin:0 0 6px}.app-header h1,.section-title h2,.offers-toolbar h2{color:var(--color-primary);font-family:var(--font-display);letter-spacing:-.01em;margin:0}.app-header h1{letter-spacing:-.02em;font-size:clamp(34px,5vw,58px);font-weight:800;line-height:1}.source-pill{border:1px solid var(--color-border);border-radius:var(--rounded-sm);background:var(--color-surface);min-height:42px;color:var(--color-text-primary);white-space:nowrap;align-items:center;gap:9px;padding:0 14px;font-weight:800;display:inline-flex}.source-pill svg{width:18px;height:18px}.source-pill--live{color:#17633d;background:#ecfff4;border-color:#8dd0ac}.source-pill--fallback,.source-pill--demo{color:#2f465f;background:#f7fafc;border-color:#c8d7e6}.source-pill--error{color:#9b3a2d;background:#fff1f0;border-color:#f0b3aa}.discover-tab{gap:10px;height:calc(100svh - 24px);min-height:calc(100svh - 24px);display:grid}.discover-toolbar{z-index:8;background:var(--color-neutral);flex-wrap:wrap;align-items:center;gap:10px;padding:4px 0 2px;display:flex;position:sticky;top:0}.discover-menu-trigger{border-radius:var(--rounded-md);border:1px solid var(--color-border);background:var(--color-surface);min-width:44px;min-height:44px;color:var(--color-text-secondary);gap:8px;padding:0 12px}.discover-filter-toggle{border-radius:var(--rounded-md);border:1px solid var(--color-border);background:var(--color-surface);min-height:44px;color:var(--color-text-secondary);white-space:nowrap;align-items:center;gap:8px;padding:0 12px;font-size:13px;font-weight:800;display:inline-flex}.discover-filter-toggle input{width:18px;height:18px}.discount-switch{min-height:44px;color:var(--color-text-secondary);align-items:center;gap:10px;display:inline-flex}.discount-switch__label{color:var(--color-text-secondary);white-space:nowrap;font-size:13px;font-weight:800}.discount-switch__track{border:1px solid var(--color-border);border-radius:var(--rounded-full);background:#f2f6fb;width:48px;height:28px;padding:2px;transition:background .16s,border-color .16s;position:relative}.discount-switch__thumb{border-radius:var(--rounded-full);background:#fff;width:20px;height:20px;transition:transform .16s,background .16s;position:absolute;inset:2px auto 2px 2px;box-shadow:0 1px 5px #0c1c311a}.discount-switch input{opacity:0;cursor:pointer;z-index:2;width:100%;height:100%;margin:0;position:absolute;inset:0}.discount-switch input:focus-visible+.discount-switch__thumb{outline:2px solid var(--color-primary);outline-offset:2px}.discount-switch input:checked+.discount-switch__thumb{transform:translate(20px)}.discount-switch input:checked{background:0 0}.discount-switch.is-on .discount-switch__thumb{background:var(--color-secondary);transform:translate(20px)}.discount-switch.is-on .discount-switch__track{border-color:var(--color-secondary);background:var(--color-secondary-container)}.discover-toolbar-status{color:#445a77;white-space:nowrap;background:#fff;border:1px solid #d8e2ec;border-radius:999px;justify-content:center;align-items:center;min-height:44px;padding:0 12px;font-size:12px;font-weight:800;display:inline-flex}.discover-empty-state{text-align:center;background:#fff;border:1px solid #dce5ef;border-radius:10px;gap:12px;padding:12px;display:grid}.discover-menu-backdrop{z-index:60;background:#0a182859;place-items:end center;display:grid;position:fixed;inset:0}.discover-menu-panel{width:min(92vw,420px);margin-bottom:max(20px, env(safe-area-inset-bottom));background:#fff;border:1px solid #dce5ef;border-radius:12px;gap:10px;padding:12px;display:grid;box-shadow:0 16px 40px #0c1d3033}.discover-menu-panel h2{margin:4px 0 2px}.discover-menu-status{color:#4b6381;margin:0;padding:8px 0 4px;font-size:12px;font-weight:700}.weekmenu-summary{color:#4b6381;margin:0;font-size:13px;font-weight:850}.weekly-offers-tab{display:grid}.weekly-offers-header{background:#fff;border:1px solid #d8e2ec;border-radius:8px;margin-top:18px;padding:18px}.weekly-offers-summary{justify-content:space-between;align-items:center;gap:14px;display:flex}.weekly-offers-summary>div{gap:4px;display:grid}.weekly-offers-summary strong{color:#13223a;font-size:18px}.weekly-offers-summary span{color:#4b6381;font-size:13px;font-weight:800}.weekmenu-list{gap:8px;display:grid}.weekmenu-row{text-align:left;background:#fff;border:1px solid #dce5ef;border-radius:8px;gap:6px;width:100%;min-width:0;padding:10px;display:grid}.weekmenu-row-day{color:#0a4f8e;background:#edf5ff;border-radius:999px;width:fit-content;min-height:24px;padding:0 8px;font-size:11px;font-weight:900}.weekmenu-row-main{gap:4px;display:grid}.weekmenu-row-main strong{color:#13223a;overflow-wrap:anywhere;font-size:17px;line-height:1.25}.weekmenu-row-main p{color:#506176;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.6em;margin:0;font-size:13px;line-height:1.3;display:-webkit-box;overflow:hidden}.weekmenu-row-stats{color:#415469;flex-wrap:wrap;gap:8px;font-size:12px;font-weight:800;display:flex}.weekmenu-row-stats svg{color:#0a65c7;width:13px;height:13px;margin-right:3px}.swiper-deck{box-sizing:border-box;justify-content:center;align-items:center;height:100%;min-height:100%;padding:12px 0;display:flex;position:relative;overflow:visible}.swiper-deck,.swiper-card{touch-action:none;overscroll-behavior:none}.swiper-deck__stack{width:min(100%,540px);height:100%;position:relative}.swiper-ad-frame{background:#fff;border:1px solid #dce5ef;border-radius:12px;grid-template-rows:auto 1fr;place-items:center;gap:10px;width:min(100%,540px);height:100%;margin:0 auto;padding:12px;display:grid;position:relative;box-shadow:0 14px 44px #1529461f,0 2px 10px #1428460f}.swiper-ad-dismiss{z-index:2;color:#1e3655;background:#fff;border:1px solid #d6e3f0;border-radius:999px;align-items:center;gap:6px;min-width:44px;min-height:44px;padding:0 14px;font-size:12px;font-weight:800;display:inline-flex;position:absolute;top:10px;right:10px}.swiper-ad-dismiss svg{width:16px;height:16px}.swiper-ad-title{color:#4b6381;align-self:end;margin:0;font-size:12px;font-weight:800}.swiper-ad-slot{align-self:stretch;place-items:center;width:100%;min-height:min(420px,68svh);display:grid}.swiper-ad-slot .adsbygoogle{height:100%;min-height:260px;width:100%!important;display:block!important}.swiper-ad-placeholder{color:#4b6381;text-align:center;justify-items:center;gap:12px;margin:0;font-size:14px;display:grid}.swiper-card-layer{will-change:transform, opacity;transform-origin:50%;pointer-events:none;display:grid;position:absolute;inset:0}.swiper-card-layer.is-top{pointer-events:auto;z-index:4}.swiper-card-layer.is-preview{pointer-events:none}.swiper-menu-button{z-index:5;color:#173a5f;background:#ffffffeb;border:1px solid #1a2f4833;border-radius:999px;place-items:center;width:44px;height:44px;display:inline-grid;position:absolute;top:10px;left:10px;box-shadow:0 6px 20px #091a2c24}.swiper-menu-button:hover{background:#fffffffa}.swiper-menu-button svg{width:22px;height:22px}.swiper-card{background:#fff;border:1px solid #dce5ef;border-radius:12px;gap:0;width:100%;height:100%;display:grid;overflow:hidden;box-shadow:0 14px 44px #1529461f,0 2px 10px #1428460f}.swiper-card--preview{filter:none}.swiper-swipe-hint{z-index:3;justify-items:end;display:inline-grid;position:absolute;inset:10px 14px auto}.swiper-swipe-hint span{letter-spacing:.2px;color:#0e4a87;background:#ffffffeb;border-radius:999px;justify-content:center;align-items:center;min-height:30px;padding:0 11px;font-size:12px;font-weight:900;display:inline-flex}.swiper-card__content{box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none;flex:1;grid-template-rows:minmax(0,1fr) auto;gap:10px;min-height:0;padding:12px;display:grid;overflow:hidden}.swiper-card__body{scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;gap:10px;min-height:0;display:flex;overflow:auto}.swiper-card__body::-webkit-scrollbar{width:0;height:0;display:none}.swiper-card__topline{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.swiper-card__topline-main{gap:6px;min-width:0;display:grid}.swiper-detail-button{color:#15553c;background:#f5fbf7;border:1px solid #cfe0d5;border-radius:999px;justify-self:start;align-items:center;gap:6px;min-height:34px;padding:0 10px;font-size:12px;font-weight:900;display:inline-flex}.swiper-detail-button svg{width:15px;height:15px}.swiper-card__bottom{gap:10px;margin-top:auto;display:grid}.swiper-card__topline .swiper-like-button{justify-self:end}.swiper-card__bottom .swiper-badge,.swiper-card__bottom .swiper-stats{justify-content:flex-start}.swiper-card__bottom .ingredient-strip{flex-wrap:wrap}.swiper-like-button{color:#263a52;background:#fff;border:1px solid #d4e1ed;border-radius:999px;justify-content:center;width:40px;height:40px;min-height:40px;padding:0;font-weight:800}.swiper-like-button svg{width:20px;height:20px}.swiper-like-button.is-active{color:#925f00;background:#fff7dc;border-color:#cba72b}.spin{animation:.9s linear infinite spin}.control-band{background:#fff;border:1px solid #d8e2ec;border-radius:8px;grid-template-columns:minmax(300px,1fr) minmax(130px,.2fr) minmax(130px,.2fr) auto;align-items:stretch;gap:12px;padding:14px;display:grid;box-shadow:0 16px 42px #2a446314}.setup-strip{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;margin-top:12px;display:grid}.setup-summary,.quick-settings,.settings-disclosure,.collapsed-panel,.learning-panel{background:#fff;border:1px solid #d8e2ec;border-radius:8px}.setup-summary{color:#263a52;align-items:center;gap:9px;min-height:46px;padding:0 14px;font-weight:900;display:flex}.setup-summary svg,.quick-settings summary svg,.settings-disclosure summary svg,.collapsed-panel summary svg,.learning-panel summary svg{color:#0a65c7;flex:none;width:18px;height:18px}.quick-settings{min-width:min(100%,320px)}.quick-settings__content{gap:14px;padding:0 14px 14px;display:grid}.utility-actions{flex-wrap:wrap;gap:8px;display:flex}details>summary{list-style:none}details>summary::-webkit-details-marker{display:none}.quick-settings summary,.settings-disclosure summary,.collapsed-panel summary,.learning-panel summary{color:#173257;cursor:pointer;justify-content:space-between;align-items:center;gap:14px;min-height:46px;padding:0 14px;font-weight:900;display:flex}.settings-disclosure summary span,.collapsed-panel summary span,.learning-panel summary span{gap:2px;min-width:0;display:grid}.settings-disclosure summary small,.collapsed-panel summary small,.learning-panel summary small{color:#63778b;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800;overflow:hidden}.control-block{flex-direction:column;justify-content:center;gap:8px;min-width:0;display:flex}.control-block--compact{align-items:center}.control-label{color:#5f7184;font-size:13px;font-weight:800}.control-hint{color:#64748b;font-size:12px;font-weight:800;line-height:1.35}.segmented,.stepper,.action-row,.meal-stats,.tag-row,.filter-row,.discount-line,.price-line,.mini-title{align-items:center;display:flex}.segmented{flex-wrap:wrap;gap:6px}button,input,select{font:inherit;touch-action:manipulation}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline-offset:2px;outline:2px solid #2b75cf}button{cursor:pointer;border:0}.segmented button,.filter-row button{color:#263a52;background:#f7fafc;border:1px solid #d8e2ec;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:0 12px;font-weight:800;display:inline-flex}.segmented button svg,.ghost-button svg,.primary-button svg,.stepper button svg,.search-box svg,.metric svg,.meal-stats svg,.section-title>svg,.mini-title svg{flex:none;width:17px;height:17px}.segmented button.is-active,.filter-row button.is-active{border-color:var(--color-primary);background:var(--color-primary-container);color:var(--color-primary)}.stepper{justify-content:center;gap:8px;min-height:38px}.stepper button,.search-box button{border-radius:var(--rounded-md);background:var(--color-primary-container);width:34px;height:34px;color:var(--color-primary);justify-content:center;align-items:center;display:inline-flex}.stepper strong{color:#10203b;place-items:center;min-width:28px;font-size:20px;display:inline-grid}.action-row{justify-content:flex-end;gap:8px}.notice svg{flex:none;width:18px;height:18px}.notice--success{color:#17633d;background:#edfff4;border-color:#9bd8b4}.preference-grid{grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr) minmax(0,1fr);gap:12px;margin-top:14px;display:grid}.settings-panel{background:#fff;border:1px solid #d8e2ec;border-radius:8px;min-width:0;padding:14px}.chip-grid,.pantry-grid,.store-list{flex-wrap:wrap;gap:8px;display:flex}.switch-row{color:#263a52;align-items:center;gap:8px;min-height:34px;margin-bottom:10px;font-size:14px;font-weight:850;display:inline-flex}.switch-row input,.pantry-checkbox input{accent-color:#0a65c7;width:16px;height:16px}.chip,.pantry-chip,.store-toggle{color:#263a52;background:#f7fafc;border:1px solid #d7e2ed;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:34px;padding:0 10px;font-size:14px;font-weight:850;display:inline-flex}.pantry-entry{align-items:stretch;gap:4px;display:inline-flex}.pantry-chip span{text-align:left;gap:1px;display:grid}.pantry-chip small{color:inherit;opacity:.72;font-size:11px;font-weight:800}.chip-delete{color:#ba3329;background:#fff1f0;border-radius:6px;place-items:center;width:34px;min-height:34px;display:inline-grid}.chip-delete svg{width:15px;height:15px}.pantry-form{grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:8px;margin-top:12px;display:grid}.pantry-form input,.pantry-form select,.pantry-checkbox{color:#16243a;background:#f8fbfe;border:1px solid #cbd9e6;border-radius:6px;min-width:0;height:36px;padding:0 9px;font-size:13px;font-weight:800}.pantry-checkbox{white-space:nowrap;justify-content:center;align-items:center;gap:6px;display:inline-flex}.pantry-form button{color:#fff;background:#0a65c7;border-radius:6px;place-items:center;width:100%;height:36px;display:inline-grid}.chip svg,.pantry-chip svg{opacity:.35;width:15px;height:15px}.chip.is-active,.pantry-chip.is-active,.store-toggle.is-active{color:#0d4f9d;background:#e9f2ff;border-color:#2b75cf}.chip.is-active svg,.pantry-chip.is-active svg{opacity:1}.store-toggle{justify-content:space-between;width:calc(50% - 4px)}.store-toggle small{color:#557086;text-transform:uppercase;background:#fff;border-radius:999px;place-items:center;min-width:42px;height:22px;font-size:11px;display:inline-grid}.store-toggle .status-badge{border:1px solid #d4e1ed}.store-toggle .status-badge--live{color:#17633d;background:#ecfff4;border-color:#89c9a4}.store-toggle .status-badge--demo,.store-toggle .status-badge--fallback{color:#405b73;background:#f7fafc;border-color:#c8d7e6}.store-toggle .status-badge--error,.store-toggle .status-badge--disabled{color:#a62c23;background:#fff1f0;border-color:#f0b3aa}.range-grid{grid-template-columns:minmax(0,1fr) minmax(120px,.45fr);gap:10px;margin-top:12px;display:grid}.range-grid label{color:#5f7184;gap:6px;min-width:0;font-size:13px;font-weight:800;display:grid}.range-grid input[type=range]{width:100%}.range-grid input[type=number],.inline-form input{color:#16243a;background:#f8fbfe;border:1px solid #cbd9e6;border-radius:6px;width:100%;min-width:0;height:36px;padding:0 10px}.range-grid b{color:#13223a}.inline-form{grid-template-columns:minmax(0,1fr) 36px;gap:8px;margin-top:12px;display:grid}.inline-form button,.icon-button,.meal-actions button,.check-button,.saved-row button:last-child{color:#0a65c7;background:#edf4fb;border-radius:6px;place-items:center;width:36px;height:36px;display:inline-grid}.meal-actions button.is-active{color:#9a6400;background:#fff7d8}.inline-form svg,.icon-button svg,.meal-actions svg,.check-button svg,.saved-row svg{width:17px;height:17px}.summary-band{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.metric{background:#fff;border:1px solid #d8e2ec;border-radius:8px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;gap:2px 10px;min-height:74px;padding:14px;display:grid}.metric svg{color:#18a067;grid-row:1/3;width:22px;height:22px}.metric span{color:#66788d;font-size:13px;font-weight:800}.metric strong{color:#13223a;font-size:20px;line-height:1.1}.planner-grid{grid-template-columns:minmax(0,1fr) 390px;align-items:start;gap:18px;margin-top:18px;display:grid}.menu-panel,.side-panel,.recipe-options-panel,.offers-panel,.price-watch-panel{background:#fff;border:1px solid #d8e2ec;border-radius:8px}.menu-panel,.side-panel{padding:18px}.section-title,.offers-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.section-actions,.meal-actions,.offer-tools{align-items:center;gap:7px;display:flex}.section-actions{flex-wrap:wrap;justify-content:flex-end}.date-input{color:#16243a;background:#f8fbfe;border:1px solid #cbd9e6;border-radius:6px;width:136px;height:36px;padding:0 8px;font-size:13px;font-weight:800}.section-title h2,.offers-toolbar h2{font-size:24px}.section-title>svg{color:#0a65c7;width:24px;height:24px}.meal-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.meal-detail-page{gap:14px;margin-top:14px;margin-bottom:24px;display:grid}.meal-detail-page-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.meal-detail-page-header .meal-detail-page-actions{flex-wrap:wrap;gap:8px;display:flex}.meal-detail-grid{grid-template-columns:minmax(280px,.95fr) minmax(300px,1.05fr);gap:14px;display:grid}.meal-detail-hero,.meal-detail-section{background:#fff;border:1px solid #d8e2ec;border-radius:8px;gap:10px;padding:14px;display:grid}.meal-detail-hero h1{color:#13223a;margin:0;line-height:1.15}.meal-detail-stats{justify-content:flex-start}.meal-detail-stats span{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.meal-detail-sections{gap:14px;display:grid}.meal-detail-section h2{color:#13223a;margin:0;font-size:20px}.meal-detail-ingredients{gap:8px;display:grid}.meal-detail-ingredient-row{background:#f9fcff;border:1px solid #e2eaf1;border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;min-width:0;padding:8px;display:grid}.meal-detail-ingredient-content{gap:3px;min-width:0;display:grid}.meal-detail-ingredient-content strong{color:#13223a;overflow-wrap:anywhere;font-size:14px}.meal-detail-ingredient-content small,.meal-detail-ingredient-row span{color:#65788e;font-size:12px}.meal-detail-steps{gap:8px;margin:0;padding-left:20px;display:grid}.meal-detail-steps li{color:#27364b}.meal-detail-staples{color:#2f4057;gap:6px;margin:0;padding-left:20px;display:grid}.meal-detail-staples li{align-items:flex-start;gap:8px;line-height:1.35;display:inline-flex}.meal-detail-staples svg{color:#0a65c7;width:14px;height:14px;margin-top:4px}.planning-hint,.empty-panel{color:#6d4300;background:#fff8ec;border:1px solid #ffd59c;border-radius:8px;gap:8px;display:grid}.planning-hint{grid-template-columns:auto minmax(0,1fr);align-items:start;margin-bottom:14px;padding:12px}.planning-hint svg{width:18px;height:18px;margin-top:2px}.planning-hint strong,.planning-hint span,.empty-panel strong,.empty-panel span{display:block}.planning-hint span,.empty-panel span{font-size:13px;font-weight:800}.share-link-panel{color:#17633d;background:#edfff4;border:1px solid #9bd8b4;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;margin-bottom:14px;padding:12px;display:grid}.share-link-panel svg{width:18px;height:18px;margin-top:2px}.share-link-panel strong,.share-link-panel a{display:block}.share-link-panel a{color:#0a65c7;overflow-wrap:anywhere;font-size:13px;font-weight:800}.empty-panel{padding:12px}.meal-card,.offer-card{background:#fff;border:1px solid #dce5ef;border-radius:8px;overflow:hidden}.swiper-card{background:#fff;border:1px solid #dce5ef;border-radius:10px;flex-direction:column;gap:0;min-width:0;height:100%;display:flex;position:relative;overflow:hidden}.swiper-card .meal-visual{aspect-ratio:auto;border-radius:0;min-height:min(240px,42svh)}.swiper-card__topline h3{color:#13223a;overflow-wrap:anywhere;word-break:break-word;margin:0;font-size:clamp(22px,3vw,28px);line-height:1.06}.swiper-card__topline p{color:#617286;overflow-wrap:anywhere;word-break:break-word;margin:0;line-height:1.35}.swiper-card__topline .day-pill{width:fit-content}.swiper-stats{color:#536779;flex-wrap:wrap;gap:10px;font-size:14px;font-weight:800;display:flex}.swiper-stats span{overflow-wrap:anywhere;word-break:break-word;white-space:normal;overflow-wrap:anywhere;word-break:break-word;align-items:center;gap:4px;min-width:0;max-width:100%;display:inline-flex}.swiper-stats strong{color:#13223a}.swiper-meta{gap:8px;display:grid}.swiper-badge{flex-wrap:wrap;gap:6px;display:flex}.swiper-badge span{color:#17633d;overflow-wrap:anywhere;word-break:break-word;white-space:normal;background:#eef8f1;border-radius:999px;align-items:center;min-width:0;max-width:100%;min-height:28px;padding:0 10px;font-size:12px;font-weight:900;display:inline-flex}.swiper-swipe-stripe{pointer-events:none;z-index:3;opacity:0;transition:opacity .13s;position:absolute;inset:0}.swiper-swipe-stripe.is-like,.swiper-swipe-stripe.is-dislike{opacity:.86}.swiper-swipe-stripe.is-like{background:linear-gradient(110deg,#1f995b5c,#ffffff03)}.swiper-swipe-stripe.is-dislike{background:linear-gradient(110deg,#d12c2c57,#ffffff03)}.swiper-actions,.swiper-footer{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.meal-card{flex-direction:column;gap:12px;padding:14px;display:flex}.meal-card.is-locked{background:#fbfdff;border-color:#9bc5f4}.meal-visual{aspect-ratio:16/9;isolation:isolate;background:#e8eef5;border-radius:8px;min-height:150px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #142a4414}.meal-visual--ad:after{display:none}.meal-visual--ad .swiper-ad-slot{place-items:stretch stretch;height:100%;min-height:0;display:grid}.meal-visual--ad .swiper-ad-slot .adsbygoogle{height:100%;min-height:0}.meal-visual--compact{aspect-ratio:16/8;min-height:112px}.meal-visual:after{content:"";pointer-events:none;z-index:1;background:linear-gradient(#0000,#0a15204d);height:42%;position:absolute;inset:auto 0 0}.meal-visual__image{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0;transform:scale(1.01)}.meal-visual__photos{z-index:2;display:flex;position:absolute;bottom:10px;right:10px}.meal-visual__photos img{object-fit:cover;background:#fff;border:2px solid #fff;border-radius:8px;width:42px;height:42px;box-shadow:0 8px 18px #1e31482e}.meal-visual__photos img+img{margin-left:-10px}.meal-visual--compact .meal-visual__photos img{width:32px;height:32px}.meal-card__top{justify-content:space-between;align-items:center;gap:10px;display:flex}.day-pill{color:#0a56aa;background:#e9f2ff;border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:13px;font-weight:900;display:inline-flex}.meal-stats{color:#536779;flex-wrap:wrap;justify-content:flex-end;gap:8px;font-size:13px;font-weight:800}.meal-stats span{align-items:center;gap:4px;display:inline-flex}.meal-feedback,.meal-taste-actions{flex-wrap:wrap;gap:6px;display:flex}.meal-feedback button,.meal-taste-actions button{color:#40566e;background:#f7fafc;border:1px solid #d4e1ed;border-radius:6px;justify-content:center;align-items:center;gap:5px;min-height:30px;padding:0 9px;font-size:12px;font-weight:900;display:inline-flex}.meal-feedback button.is-active,.meal-taste-actions button.is-active{color:#0d4f9d;background:#e9f2ff;border-color:#2b75cf}.meal-feedback svg,.meal-taste-actions svg{flex:none;width:14px;height:14px}.meal-taste-actions button{color:#7a4b00;background:#fffaf0}.meal-card h3,.offer-card h3{color:#13223a;letter-spacing:0;margin:0}.meal-card h3{font-size:19px;line-height:1.2}.meal-card p,.offer-card p,.staples-panel p{color:#617286;margin:0}.ingredient-strip{gap:6px;min-height:44px;display:flex}.tag-row{flex-wrap:wrap;gap:6px}.tag-row span,.tag-row button{color:#17633d;background:#eef8f1;border:0;border-radius:999px;align-items:center;gap:5px;min-height:24px;padding:0 8px;font-size:12px;font-weight:900;display:inline-flex}.tag-row button{color:#40566e;background:#eef3f8}.tag-row button svg{width:12px;height:12px}.steps{color:#2f3d50;gap:7px;margin:0;padding-left:20px;font-size:14px;display:grid}.steps li::marker{color:#0a65c7;font-weight:900}.shopping-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.shopping-list li{grid-template-columns:32px 40px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:56px;display:grid}.shopping-list li.is-checked{opacity:.58}.shopping-list li.is-checked strong{text-decoration:line-through}.check-button{color:#0000;background:#fff;border:1px solid #c8d7e6;width:28px;height:28px}.shopping-list li.is-checked .check-button{color:#fff;background:#0a65c7}.shopping-list strong,.shopping-list span{display:block}.shopping-list strong{color:#13223a;text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.shopping-list span{color:#67798c;font-size:12px}.shopping-list .quantity-line{color:#40566e;font-weight:900}.shopping-list b{color:#0b6944;font-size:14px}.shopping-progress{color:#13223a;background:#f4f8fc;border-radius:8px;justify-content:space-between;gap:12px;margin-bottom:14px;padding:10px 12px;font-weight:900;display:flex}.shopping-groups{gap:14px;display:grid}.shopping-group h3{color:#40566e;text-transform:uppercase;margin:0 0 8px;font-size:13px}.staples-panel,.saved-panel{border-top:1px solid #e5edf4;margin-top:18px;padding-top:16px}.data-actions{gap:8px;margin-bottom:10px;display:flex}.file-button{cursor:pointer;position:relative;overflow:hidden}.file-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.saved-list{gap:8px;display:grid}.saved-row{grid-template-columns:minmax(0,1fr) 36px;align-items:center;gap:8px;display:grid}.saved-row button:first-child{color:#173257;text-align:left;background:#f6f9fc;border-radius:6px;min-width:0;min-height:36px;padding:0 10px;font-weight:800}.empty-state{color:#728397;font-size:13px;font-weight:800}.mini-title{color:#13223a;gap:8px;margin-bottom:8px;font-weight:900}.offers-panel{margin-top:18px;margin-bottom:32px;padding:18px}.recipe-options-panel{margin-top:18px;padding:18px}.recipe-option-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.recipe-option-card{background:#fff;border:1px solid #dce5ef;border-radius:8px;gap:10px;min-width:0;padding:12px;display:grid}.recipe-option-card__top{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.recipe-option-card__top span{color:#17633d;background:#eef8f1;border-radius:999px;align-items:center;min-height:24px;padding:0 8px;font-size:12px;font-weight:900;display:inline-flex}.recipe-option-card__top small{color:#617286;text-align:right;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;font-weight:900;overflow:hidden}.recipe-option-card h3{color:#13223a;margin:0;font-size:16px;line-height:1.25}.recipe-option-stats{color:#536779;flex-wrap:wrap;gap:8px;font-size:12px;font-weight:850;display:flex}.recipe-option-stats span{align-items:center;gap:4px;display:inline-flex}.recipe-option-stats svg{width:14px;height:14px}.recipe-option-card ol{color:#52657a;gap:4px;margin:0;padding-left:18px;font-size:12px;line-height:1.35;display:grid}.price-watch-panel{gap:14px;margin-top:18px;padding:18px;display:grid}.price-watch-panel .section-title{margin-bottom:0}.price-watch-panel .section-title>svg{color:#9a6400}.inline-price-watch-panel{color:#4f3600;background:#fffaf0;border:1px solid #e3c87d;border-radius:8px;grid-template-columns:minmax(160px,.5fr) minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:12px;padding:12px;display:grid}.inline-price-watch-panel>div:first-child{gap:2px;display:grid}.inline-price-watch-panel strong{color:#13223a;font-size:14px}.inline-price-watch-panel span{font-size:12px;font-weight:850}.inline-price-watch-list{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.inline-price-watch-list span{color:#7a5b18;text-overflow:ellipsis;white-space:nowrap;background:#fff;border-radius:999px;max-width:210px;min-height:28px;padding:6px 9px;overflow:hidden}.price-alert-list,.price-watch-list{gap:8px;display:grid}.price-alert-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.price-alert-card,.price-watch-row{color:#4f3600;background:#fffaf0;border:1px solid #e3c87d;border-radius:8px;min-width:0}.price-alert-card{gap:3px;padding:10px;display:grid}.price-alert-card strong,.price-alert-card span,.price-alert-card small,.price-watch-row>span{overflow-wrap:anywhere;min-width:0;overflow:hidden}.price-alert-card strong{color:#13223a}.price-alert-card span,.price-alert-card small{font-size:12px;font-weight:850}.price-watch-row{grid-template-columns:minmax(0,1fr) minmax(122px,.25fr) 34px;align-items:center;gap:8px;padding:8px;display:grid}.price-watch-row>span{color:#13223a;font-size:13px;font-weight:900}.price-watch-row label{color:#7a5b18;gap:3px;min-width:0;font-size:11px;font-weight:900;display:grid}.price-watch-row input{color:#13223a;background:#fff;border:1px solid #e3c87d;border-radius:6px;width:100%;min-width:0;height:32px;padding:0 8px;font-weight:900}.price-watch-row button{color:#9a6400;background:#fff;border-radius:6px;place-items:center;width:34px;height:34px;display:inline-grid}.price-watch-row button svg{width:14px;height:14px}.search-box{background:#f8fbfe;border:1px solid #cbd9e6;border-radius:8px;grid-template-columns:auto minmax(150px,260px) auto;align-items:center;gap:8px;min-height:42px;padding:0 6px 0 12px;display:grid}.offer-tools{flex-wrap:wrap;justify-content:flex-end}.sort-control{background:#f8fbfe;border:1px solid #cbd9e6;border-radius:8px;grid-template-columns:auto minmax(150px,max-content);align-items:center;gap:8px;min-height:42px;padding:0 10px;display:grid}.sort-control svg{color:#4a6684;width:16px;height:16px}.sort-control select{background-color:#0000;border:0;width:100%;min-width:0;height:34px;padding:0 26px 0 0}.search-box input{color:#16243a;background:0 0;border:0;outline:0;width:100%;min-width:0}.filter-row{flex-wrap:wrap;gap:8px;margin-bottom:14px}.filter-row button{gap:8px}.filter-row span{min-width:22px;height:22px;color:inherit;background:#fff;border-radius:999px;place-items:center;font-size:12px;display:inline-grid}.offer-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.offer-card{min-width:0}.offer-card.is-watched{border-color:#e3c87d}.offer-card__body{gap:8px;padding:12px;display:grid}.offer-card__meta{color:#617286;justify-content:space-between;gap:8px;font-size:12px;font-weight:800;display:flex}.offer-card__watch-state{color:#7a5b18;background:#fff7d8;border:1px solid #e3c87d;border-radius:999px;justify-self:start;align-items:center;gap:5px;min-height:24px;padding:0 8px;font-size:11px;font-weight:900;display:inline-flex}.offer-card__watch-state svg{width:13px;height:13px}.offer-card h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:42px;font-size:16px;line-height:1.3;display:-webkit-box;overflow:hidden}.offer-card p{white-space:nowrap;justify-content:space-between;gap:8px;display:flex;overflow:hidden}.offer-card p>span{text-overflow:ellipsis;min-width:0;overflow:hidden}.offer-card p small,.discount-line small{color:#617286;white-space:nowrap;font-size:12px;font-weight:800}.price-line{justify-content:space-between;gap:10px}.price-line strong{color:#0b6944;font-size:22px}.price-line span{color:#8090a2;text-decoration:line-through}.discount-line{justify-content:space-between;gap:10px;min-height:28px}.discount-line span{color:#d6532f;font-size:13px;font-weight:900}.discount-line a,.discount-line button{color:#0a65c7;background:#edf4fb;border-radius:6px;place-items:center;width:28px;height:28px;display:inline-grid}.discount-line button.is-active{color:#9a6400;background:#fff3c4}.discount-line svg{width:16px;height:16px}.product-visual{aspect-ratio:1/.74;color:#173257;background:#eef3f8;place-items:center;width:100%;font-weight:900;display:grid;overflow:hidden}.product-visual img{object-fit:contain;background:#fff;width:100%;height:100%}.product-visual span{background:#ffffffc7;border-radius:50%;place-items:center;width:58px;height:58px;display:grid}.product-visual--compact{aspect-ratio:auto;border:1px solid #dde6ef;border-radius:8px;flex:none;width:40px;height:40px}.product-visual--compact span{width:28px;height:28px;font-size:12px}.product-visual--protein{color:#8b321c;background:#fde8e1}.product-visual--vegetable{color:#17633d;background:#e5f7ea}.product-visual--carb{color:#704f00;background:#fff1c8}.product-visual--sauce,.product-visual--dairy{color:#0a56aa;background:#e8f0ff}.product-visual--other,.product-visual--pantry,.product-visual--breakfast,.product-visual--snack{color:#475568;background:#eef0f4}.app-shell--dark .store-toggle small,.app-shell--dark .filter-row span,.app-shell--dark .offer-card.is-watched,.app-shell--dark .status-badge,.app-shell--dark .status-badge--live,.app-shell--dark .status-badge--demo,.app-shell--dark .status-badge--fallback,.app-shell--dark .status-badge--error,.app-shell--dark .status-badge--disabled,.app-shell--dark .source-pill--live,.app-shell--dark .source-pill--fallback,.app-shell--dark .source-pill--demo,.app-shell--dark .source-pill--error,.app-shell--dark .discount-line button,.app-shell--dark .offer-card__body,.app-shell--dark .meal-stats svg,.app-shell--dark .swiper-stats svg{background:var(--app-shell-surface)!important;border-color:var(--app-shell-border)!important;color:var(--app-shell-text)!important}.app-shell--dark .store-toggle small{box-shadow:inset 0 0 0 1px #ffffff0f!important}.app-shell--dark .store-toggle .status-badge--live,.app-shell--dark .status-badge--demo,.app-shell--dark .status-badge--fallback,.app-shell--dark .status-badge--error,.app-shell--dark .status-badge--disabled,.app-shell--dark .source-pill--live,.app-shell--dark .source-pill--fallback,.app-shell--dark .source-pill--demo,.app-shell--dark .source-pill--error{background:var(--app-shell-pill)!important;color:var(--app-shell-pill-text)!important}.app-shell--dark .status-badge,.app-shell--dark .store-toggle .status-badge{border-radius:999px!important}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;transition-delay:0s!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.swiper-card-layer,.swiper-card{transition:none!important}.spin{animation:none!important}}@media (width<=1400px){.control-band{grid-template-columns:1fr 1fr}.action-row{justify-content:flex-start}}@media (width<=1180px){.preference-grid{grid-template-columns:1fr 1fr}.settings-panel:first-child{grid-column:1/-1}.pantry-form{grid-template-columns:1fr 1fr}.planner-grid{grid-template-columns:1fr}.offer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.meal-detail-grid{grid-template-columns:1fr}}@media (width<=820px){.app-header,.section-title,.offers-toolbar{flex-direction:column;align-items:flex-start}.section-actions{justify-content:flex-start;width:100%}.offer-tools{justify-content:stretch;width:100%}.control-band,.preference-grid,.summary-band,.inline-price-watch-panel,.meal-list,.offer-grid{grid-template-columns:1fr}.control-block--compact{align-items:flex-start}.search-box{box-sizing:border-box;grid-template-columns:auto minmax(0,1fr) auto;width:100%}.sort-control{box-sizing:border-box;grid-template-columns:auto minmax(0,1fr);width:100%}.meal-detail-page-header{flex-direction:column;align-items:stretch}.meal-card__top{flex-direction:column;align-items:flex-start}.range-grid{grid-template-columns:1fr}.ingredient-strip{flex-wrap:wrap}.main-tab-bar{scrollbar-width:none;padding-bottom:2px;overflow-x:auto}.main-tab-bar::-webkit-scrollbar{display:none}.discover-toolbar{justify-content:space-between;position:static}.discover-filter-toggle{margin-left:auto}.swiper-deck__stack{width:100%}.favorite-card__surface{grid-template-columns:1fr}.favorite-card__media,.favorite-card__media .meal-visual,.favorite-card__fallback-image{min-height:210px}.favorite-card__head h3{font-size:20px}.favorite-card__stats,.favorite-card__actions{grid-template-columns:1fr 1fr}}@media (width<=520px){.app-shell{--app-shell-edge-inline:max(12px, env(safe-area-inset-left,12px));--app-shell-edge-inline-end:max(12px, env(safe-area-inset-right,12px));--app-shell-edge-top:max(8px, env(safe-area-inset-top,8px));--app-shell-edge-bottom:max(14px, env(safe-area-inset-bottom,14px))}.app-header{padding-top:8px}.app-header h1{font-size:30px}.source-pill{white-space:nowrap;min-height:36px;padding:0 10px;font-size:12px}.source-pill span{text-overflow:ellipsis;white-space:nowrap;max-width:170px;display:inline-block;overflow:hidden}.main-tab{flex:calc(33.333% - 6px);min-height:44px}.discover-tab{height:calc(100svh - 20px);min-height:calc(100svh - 20px)}.inline-price-watch-panel{align-items:stretch}.inline-price-watch-panel .ghost-button{width:100%}.swiper-deck{height:100%;min-height:100%;padding:8px 0}.swiper-deck__stack{width:100%;height:100%}.swiper-like-button{width:44px;height:44px;min-height:44px}.swiper-like-button svg{width:22px;height:22px}.favorite-card__stats,.favorite-card__actions{grid-template-columns:1fr}.swiper-card{border-radius:14px}.swiper-card .meal-visual{aspect-ratio:16/10;min-height:250px}.control-band,.settings-panel,.menu-panel,.side-panel,.recipe-options-panel,.offers-panel,.price-watch-panel{padding:12px}.segmented button,.filter-row button,.store-toggle{flex:calc(50% - 8px);padding:0 8px}.store-toggle{width:auto}.action-row{grid-template-columns:1fr;width:100%;display:grid}.ghost-button,.primary-button,.stepper button,.main-tab,.icon-button,.meal-actions button,.meal-feedback button,.meal-taste-actions button,.check-button{width:100%;min-height:44px}.section-actions .date-input{flex:136px;min-width:0}.pantry-form{grid-template-columns:1fr}.pantry-form button{width:100%}.price-watch-row{grid-template-columns:minmax(0,1fr) 34px}.price-watch-row label{grid-area:2/1/auto/-1}.swiper-footer{grid-template-columns:1fr;display:grid}.meal-detail-page-header{gap:10px}.meal-detail-ingredient-row{grid-template-columns:34px minmax(0,1fr)}.meal-detail-ingredient-row>strong{grid-column:2;justify-self:end;margin-top:2px}}@media (width<=430px){.app-header h1{font-size:28px}.main-tab{padding:0 12px}.main-tab svg{width:15px;height:15px}.section-title h2,.offers-toolbar h2{font-size:24px}.meal-card h3,.meal-detail-hero h1{font-size:20px}.metric strong{font-size:18px}.metric{min-height:68px}.offer-card p{white-space:normal}}@media print{@page{margin:12mm}*{box-shadow:none!important}body{background:#fff}.app-shell{color:#111827;background:#fff;min-height:auto}.app-header,.summary-band,.planner-grid{width:100%;margin:0}.app-header{border-bottom:1px solid #cbd5e1;padding:0 0 10px}.app-header h1{font-size:30px}.source-pill,.control-band,.preference-grid,.notice,.section-actions,.meal-actions,.recipe-options-panel,.offers-panel,.price-watch-panel,.saved-panel,.planning-hint,.share-link-panel,.taste-preference-panel,.favorite-panel,.history-panel{display:none!important}.summary-band{grid-template-columns:repeat(5,1fr);gap:6px;padding:10px 0;display:grid}.metric,.menu-panel,.side-panel,.meal-card,.shopping-group,.staples-panel{background:#fff;border:1px solid #cbd5e1}.metric{padding:8px}.metric svg{display:none}.planner-grid{grid-template-columns:1.35fr .8fr;align-items:start;gap:10px;display:grid}.menu-panel,.side-panel{padding:10px}.meal-list{grid-template-columns:1fr;gap:8px;display:grid}.meal-card{break-inside:avoid;page-break-inside:avoid;padding:10px}.meal-card h3{font-size:17px}.meal-card p,.steps,.shopping-list,.staples-panel{font-size:12px}.ingredient-strip,.tag-row{gap:4px}.product-visual--compact{border-radius:4px;width:24px;height:24px}.product-visual--compact span{width:18px;height:18px;font-size:9px}.shopping-progress{margin-bottom:8px}}.taste-preference-panel,.favorite-panel,.history-panel{color:#173257;background:#f4f8fc;border:1px solid #c7d5e2;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;margin-bottom:14px;padding:12px;display:grid}.taste-preference-panel>svg,.favorite-panel>svg,.history-panel>svg{color:#0a65c7;width:18px;height:18px;margin-top:2px}.taste-preference-panel strong,.favorite-panel strong,.history-panel strong{margin-bottom:8px;display:block}.favorite-panel{color:#4f3600;background:#fffaf0;border-color:#efd28a}.favorite-panel>svg{color:#9a6400}.history-panel{color:#173257;background:#f7fbff;border-color:#bdd2e8}.history-list{flex-wrap:wrap;gap:6px;display:flex}.history-list span{color:#263a52;background:#fff;border:1px solid #d4e1ed;border-radius:6px;max-width:220px;min-height:34px;padding:5px 8px;font-size:12px;font-weight:900;display:grid}.history-list span,.history-list small{overflow-wrap:anywhere;text-overflow:clip;white-space:normal;min-width:0;overflow:hidden}.history-list small{color:#617286;font-size:11px}.history-clear-button{color:#263a52;background:#fff;border:1px solid #d4e1ed;border-radius:6px;align-items:center;gap:6px;max-width:100%;min-height:30px;margin-top:8px;padding:0 8px;font-size:12px;font-weight:900;display:inline-flex}.history-clear-button svg{width:13px;height:13px}.taste-preference-list,.favorite-list{flex-wrap:wrap;gap:6px;display:flex}.taste-preference-list button{color:#263a52;background:#fff;border:1px solid #d4e1ed;border-radius:999px;align-items:center;gap:6px;max-width:100%;min-height:30px;padding:0 8px;font-size:12px;font-weight:900;display:inline-flex}.taste-preference-list span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.taste-preference-list svg{flex:none;width:13px;height:13px}.favorite-list{grid-template-columns:1fr;gap:12px;display:grid}.weekmenu-list{gap:10px}.favorite-card{background:#fff;border:1px solid #dce5ef;border-radius:10px;overflow:hidden}.favorite-card.is-active{border-color:#bf8f00;box-shadow:0 0 0 1px #bf8f00}.favorite-card__surface{text-align:left;width:100%;min-width:0;color:inherit;cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(170px,36%) minmax(0,1fr);align-items:stretch;gap:0;padding:0;display:grid}.favorite-card__surface:focus-visible{outline-offset:2px;outline:2px solid #0a65c7}.favorite-card__media{min-width:0;display:block;position:relative}.favorite-card__media,.favorite-card__media .meal-visual{height:100%;min-height:190px}.favorite-card__media .meal-visual{border-radius:0}.weekmenu-card__media,.weekmenu-card__media .meal-visual{width:clamp(112px,36%,160px);height:clamp(92px,20vw,132px);min-height:0;max-height:132px}.weekmenu-card__media{min-width:0}.weekmenu-card__media .meal-visual{aspect-ratio:4/3}.weekmenu-card__media .meal-visual,.weekmenu-card__media .meal-visual__image{border-radius:0}.weekmenu-card__surface{grid-template-columns:auto minmax(0,1fr);align-items:stretch}.weekmenu-card__body,.favorite-card__body{gap:8px;min-width:0;padding:10px;display:grid}.favorite-card__head{gap:6px;display:grid}.favorite-card__head h3{color:#12233d;margin:0;font-size:22px;line-height:1.1}.favorite-card__description{color:#5e7085;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.7em;margin:0;display:-webkit-box;overflow:hidden}.favorite-card__summary{color:#6f8195;margin:0;font-size:12px;font-weight:900}.favorite-card__summary:before{content:"Profiel: "}.favorite-card__stats{color:#415469;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;font-size:12px;font-weight:900;display:grid}.favorite-card__stats span{color:#1b4c81;background:#f7fbff;border-radius:999px;align-items:center;min-height:28px;padding:0 8px;display:inline-flex}.favorite-card__stats strong{color:#10203b;margin-right:4px}.favorite-card__ingredient-strip{flex-wrap:wrap;gap:6px;min-height:40px;display:flex}.favorite-card__fallback-tag{color:#17633d;overflow-wrap:anywhere;word-break:break-word;background:#eef8f1;border-radius:999px;align-items:center;min-height:32px;padding:0 10px;font-size:12px;font-weight:900;display:inline-flex}.favorite-card__fallback-image{object-fit:cover;width:100%;height:100%;min-height:190px}.favorite-card__actions{border-top:1px solid #e9eff7;grid-template-columns:minmax(0,1.4fr) minmax(110px,.8fr);gap:6px;padding:10px;display:grid}.favorite-card__action{min-height:42px}.favorite-unpin-button{color:#4f3600;background:#fff;border:1px solid #e3c87d;border-radius:6px;align-items:center;gap:6px;max-width:100%;min-height:30px;margin-top:8px;padding:0 8px;font-size:12px;font-weight:900;display:inline-flex}.favorite-unpin-button svg{width:13px;height:13px}
