.meals-page.module-page,.module-page.meals-page{width:100%;max-width:960px;margin:0 auto}.meals-page{--meals-accent:var(--primary);--meals-accent-soft:var(--primary-light,var(--shale-light))}.meals-subnav.a6-subnav a.active{color:var(--meals-accent);border-bottom-color:var(--meals-accent)}.meals-form--row{margin-bottom:0}.meals-panel--spaced{margin-top:var(--shale-space-4)}.meals-dashboard{gap:var(--shale-space-5);grid-template-columns:1fr 300px;align-items:start;display:grid}@media (width<=768px){.meals-dashboard{grid-template-columns:1fr}}.meals-main,.meals-sidebar{gap:var(--shale-space-4);flex-direction:column;display:flex}.meals-form{gap:var(--shale-space-2);background:var(--surface,var(--shale-light));border:1px solid var(--shale-border);border-radius:var(--shale-radius-lg);padding:var(--shale-space-4);margin-bottom:var(--shale-space-5);box-shadow:var(--shale-shadow);flex-wrap:wrap;align-items:flex-end;display:flex}.meals-form h3{width:100%;margin:0 0 var(--shale-space-1);font-size:var(--shale-font-heading);font-weight:var(--shale-weight-heading)}.meals-form label{gap:var(--shale-space-1);font-size:var(--shale-font-caption);color:var(--shale-text-muted);flex-direction:column;display:flex}.meals-form input,.meals-form select{padding:var(--shale-space-2) var(--shale-space-2);border:1px solid var(--shale-border);border-radius:var(--shale-radius-sm);font-size:var(--shale-font-body)}.meals-form-grow{flex:1;min-width:240px}.meals-muted{color:var(--shale-text-muted);font-size:var(--shale-font-body)}.meals-empty{border:1px dashed var(--shale-border);border-radius:var(--shale-radius-lg);padding:var(--shale-space-6) var(--shale-space-4);text-align:center;color:var(--shale-text-muted);background:var(--surface,var(--shale-light))}.meals-list{gap:var(--shale-space-3);margin:0;padding:0;list-style:none;display:grid}.meals-recipe-grid{gap:var(--shale-space-3);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.meals-card{border:1px solid var(--shale-border);border-radius:var(--shale-radius-lg);padding:var(--shale-space-3) var(--shale-space-4);background:var(--surface,var(--shale-light));box-shadow:var(--shale-shadow);transition:border-color var(--shale-transition,.15s ease), box-shadow var(--shale-transition,.15s ease)}.meals-card:hover{border-color:var(--meals-accent);box-shadow:var(--shale-shadow-md)}.meals-card-compact{padding:var(--shale-space-2) var(--shale-space-3)}.meals-card h3{margin:0 0 var(--shale-space-1);font-size:var(--shale-font-heading);font-weight:var(--shale-weight-heading)}.meals-card-actions{gap:var(--shale-space-2);margin-top:var(--shale-space-2);flex-wrap:wrap;display:flex}.meals-grid{gap:var(--shale-space-4);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.meals-panel{border:1px solid var(--shale-border);border-radius:var(--shale-radius-lg);padding:var(--shale-space-4);background:var(--surface,var(--shale-light));box-shadow:var(--shale-shadow-md)}.meals-panel-spaced{margin-top:var(--shale-space-4)}.meals-panel h2{margin:0 0 var(--shale-space-3);font-size:var(--shale-font-heading);font-weight:var(--shale-weight-heading)}.meals-badge{font-size:var(--shale-font-caption);text-transform:uppercase;letter-spacing:.04em;padding:var(--shale-space-1) var(--shale-space-2);border-radius:var(--shale-radius-pill);background:var(--meals-accent-soft);color:var(--meals-accent);margin-right:var(--shale-space-1);display:inline-block}.meals-badge-row{gap:var(--shale-space-1);margin-top:var(--shale-space-2);flex-wrap:wrap;display:flex}.meals-templates{gap:var(--shale-space-2);margin-bottom:var(--shale-space-5);flex-wrap:wrap;display:flex}.meals-templates button{border:1px dashed var(--shale-border);border-radius:var(--shale-radius-pill);padding:var(--shale-space-1) var(--shale-space-3);cursor:pointer;font-size:var(--shale-font-caption);background:0 0}.meals-templates button:hover{border-color:var(--meals-accent);color:var(--meals-accent)}.meals-week-toolbar{gap:var(--shale-space-2);margin-bottom:var(--shale-space-4);flex-wrap:wrap;align-items:center;display:flex}.meals-week-grid{gap:var(--shale-space-2);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}@media (width<=900px){.meals-week-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.meals-week-grid{grid-template-columns:1fr}}.meals-week-day{border:1px solid var(--shale-border);border-radius:var(--shale-radius-card);padding:var(--shale-space-2);background:var(--surface,var(--shale-light));box-shadow:var(--shale-shadow);min-height:120px}.meals-week-day-header{font-size:var(--shale-font-caption);text-transform:uppercase;letter-spacing:.04em;color:var(--shale-text-muted);margin-bottom:var(--shale-space-1);font-weight:var(--shale-weight-heading)}.meals-week-day-date{font-size:var(--shale-font-body);font-weight:var(--shale-weight-heading);margin-bottom:var(--shale-space-2)}.meals-week-slot{font-size:var(--shale-font-caption);padding:var(--shale-space-1) 0;border-top:1px solid var(--shale-silver-soft)}.meals-week-slot strong{font-size:var(--shale-font-caption);text-transform:uppercase;color:var(--shale-text-muted);font-weight:var(--shale-weight-heading);display:block}.meals-week-slot a{color:inherit;text-decoration:none}.meals-week-slot a:hover{color:var(--meals-accent);text-decoration:underline}.meals-calendar-hint{font-size:var(--shale-font-caption);margin-top:var(--shale-space-3)}.meals-macro-list{gap:var(--shale-space-3);margin:0;padding:0;list-style:none;display:grid}.meals-macro-row{gap:var(--shale-space-2);font-size:var(--shale-font-body);grid-template-columns:80px 1fr 48px;align-items:center;display:grid}.meals-macro-bar{height:var(--shale-space-2);border-radius:var(--shale-radius-pill);background:var(--shale-medium);overflow:hidden}.meals-macro-bar>span{background:var(--meals-accent);border-radius:var(--shale-radius-pill);height:100%;display:block}.meals-macro-bar.protein>span{background:var(--shale-status-success,#34a853)}.meals-macro-bar.carbs>span{background:var(--shale-status-warning,#fbbc04)}.meals-macro-bar.fat>span{background:var(--shale-status-error,#ea4335)}.meals-empty-actions{margin-top:var(--shale-space-3);justify-content:center}.meals-meter{height:var(--shale-space-2);border-radius:var(--shale-radius-pill);background:var(--shale-medium);margin:var(--shale-space-1) 0;overflow:hidden}.meals-meter>span{background:linear-gradient(90deg, var(--shale-status-success,#34a853), var(--meals-accent));height:100%;display:block}.meals-detail-meta{gap:var(--shale-space-3);font-size:var(--shale-font-body);color:var(--shale-text-muted);flex-wrap:wrap;display:flex}.btn.coral{background:var(--shale-status-error,#ff6f61);color:var(--shale-text-on-midnight);border-radius:var(--shale-radius-sm);padding:var(--shale-space-2) var(--shale-space-4);cursor:pointer;border:none}.btn{border:1px solid var(--shale-border);border-radius:var(--shale-radius-sm);padding:var(--shale-space-2) var(--shale-space-3);background:var(--surface,var(--shale-light));cursor:pointer;color:inherit;font-size:var(--shale-font-caption);text-decoration:none;display:inline-block}.btn:hover{border-color:var(--meals-accent)}@media (prefers-reduced-motion:reduce){.meals-card{transition:none}}.lens-scan-btn{align-items:center;gap:.5rem;min-height:44px;display:inline-flex}.lens-scan-btn__icon{font-size:1.1rem;line-height:1}.lens-mode-picker{flex-wrap:wrap;gap:.5rem;display:flex}.lens-mode-picker__btn{font-size:.875rem}.lens-fallback-bar{flex-wrap:wrap;align-items:center;gap:.5rem;padding:.75rem 0;display:flex}.lens-fallback-bar__label{color:var(--text-secondary,#2e2e2e);margin-right:.25rem;font-size:.875rem;font-weight:600}.lens-opening-hint{margin:1rem 0}.lens-opening-hint__title{margin:0 0 .35rem;font-weight:600}.lens-opening-hint__body,.lens-opening-hint__meta{color:var(--text-secondary,#2e2e2e);margin:.35rem 0 0;font-size:.875rem}.lens-opening-hint__meta code{word-break:break-all;font-size:.75rem}.lens-recommendations{gap:var(--shale-gap);flex-direction:column;max-width:42rem;display:flex}.lens-recommendations__header{margin:0;font-size:1.25rem;font-weight:600}.lens-recommendations__sub{color:var(--text-secondary,#2e2e2e);margin:.25rem 0 0}.lens-recommendation-card__row{gap:var(--shale-gap-sm);align-items:flex-start;display:flex}.lens-recommendation-card__icon{font-size:1.35rem;line-height:1}.lens-recommendation-card__title{margin:0;font-size:1rem;font-weight:600}.lens-recommendation-card__desc{color:var(--text-secondary,#2e2e2e);margin:.25rem 0 0;font-size:.875rem}.lens-recommendation-card__action{margin-top:.75rem}.lens-module-toolbar{justify-content:space-between;align-items:center;gap:var(--shale-gap-sm);border-radius:var(--radius-md,8px);background:var(--panel-bg,var(--lsos-shale-light,#f2f3f5));border:1px solid var(--panel-border,var(--lsos-border,#c8ccd2));flex-wrap:wrap;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.lens-module-toolbar__copy{color:var(--text-secondary,#2e2e2e);margin:0;font-size:.875rem}@media (width<=768px){.lens-mode-picker{flex-direction:column}.lens-mode-picker__btn,.lens-scan-btn{justify-content:center;width:100%}}.si-domain-recs{gap:var(--space-4,1rem);flex-direction:column;display:flex}.si-domain-recs__section{gap:var(--space-2,.5rem);flex-direction:column;display:flex}.si-domain-recs__heading{color:var(--text);margin:0;font-size:.875rem;font-weight:600}.si-domain-recs__grid{gap:var(--space-2,.5rem);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.si-domain-recs__grid--auto{grid-template-columns:1fr}.si-domain-recs__grid--cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.si-domain-recs__grid--cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.si-domain-recs__grid--cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width>=768px){.si-domain-recs__grid--auto{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1024px){.si-domain-recs__grid--auto{grid-template-columns:repeat(3,minmax(0,1fr))}}.si-domain-recs__tile{text-align:left;border-radius:var(--radius-md,8px);cursor:pointer;background:#fff;border:1px solid #c8ccd2;padding:.75rem;transition:background .15s}.si-domain-recs__tile:hover{background:var(--shale)}.si-domain-recs__tile:focus-visible{background:var(--shale);outline:2px solid var(--lsos-cyan,#3fe0ff);outline-offset:1px}.si-domain-recs__tile-title{color:var(--text);font-size:.9375rem;font-weight:600}.si-domain-recs__tile-sub{color:#2e2e2e;margin-top:.25rem;font-size:.75rem}[data-theme=dark] .si-domain-recs__heading,[data-theme=dark] .si-domain-recs__tile-title{color:#fff}[data-theme=dark] .si-domain-recs__tile-sub{color:#d7dce2}[data-theme=dark] .si-domain-recs__tile{background:#1a1a1a;border-color:#444}[data-theme=dark] .si-domain-recs__tile:hover{background:#252525}.si-recommendations-panel{background:var(--lsos-shale-light,#f2f3f5);border:1px solid var(--lsos-border,#c8ccd2);border-radius:var(--radius-md,8px);padding:1rem}.si-recommendations-panel__header{justify-content:space-between;align-items:flex-start;gap:var(--shale-gap-sm);flex-wrap:wrap;margin-bottom:.75rem;display:flex}.si-recommendations-panel__title{color:var(--text,#0a0a0a);font-size:1rem;font-weight:600;line-height:1.35}.si-recommendations-panel__scan-again{color:var(--lsos-midnight,#0a1a2f);cursor:pointer;background:0 0;border:none;min-height:44px;padding:.25rem .5rem;font-size:.75rem;font-weight:600;text-decoration:underline}.si-recommendations-panel__grid{gap:.5rem;display:grid}.si-recommendations-panel__grid--auto{grid-template-columns:1fr}.si-recommendations-panel__tile{text-align:left;border:1px solid var(--lsos-border,#c8ccd2);border-radius:var(--radius-md,8px);cursor:pointer;background:#fff;min-height:44px;padding:.75rem;transition:background .15s}.si-recommendations-panel__tile:hover,.si-recommendations-panel__tile:focus-visible{background:var(--lsos-shale,#e6e7ea);outline:2px solid var(--lsos-cyan,#3fe0ff);outline-offset:1px}.si-recommendations-panel__tile-title{color:var(--text,#0a0a0a);font-size:.9375rem;font-weight:600}.si-recommendations-panel__tile-sub{color:var(--text-secondary,#2e2e2e);margin-top:.25rem;font-size:.875rem;font-weight:500}.si-recommendations-panel__status,.si-recommendations-panel__hint{color:var(--text-secondary,#2e2e2e);margin:0;font-size:.9375rem}.si-ipad-layout{gap:var(--shale-shell-padding-y);height:100%;display:grid}.si-ipad-layout--stacked{grid-template-columns:1fr}.si-ipad-layout--split{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start}.si-ipad-layout__left,.si-ipad-layout__right{gap:var(--shale-gap-sm);flex-direction:column;min-width:0;display:flex}.si-ipad-layout__right{max-height:calc(100vh - 6rem);position:sticky;top:.75rem;overflow:auto}.si-module-toolbar{justify-content:space-between;align-items:center;gap:var(--shale-gap-sm);border-radius:var(--radius-md,8px);background:var(--lsos-shale-light,#f2f3f5);border:1px solid var(--lsos-border,#c8ccd2);flex-wrap:wrap;padding:.75rem 1rem;display:flex}.si-module-toolbar__copy{color:var(--text-secondary,#2e2e2e);margin:0;font-size:.9375rem;font-weight:500}.si-module-toolbar__copy strong{color:var(--text,#0a0a0a);font-weight:600}.si-module-toolbar .lens-scan-btn--primary{background:var(--lsos-midnight,#0a1a2f);color:#fff;gap:.5625rem;min-height:44px;padding:.625rem 1rem;font-size:.9375rem;font-weight:600}.si-module-toolbar .lens-scan-btn--primary:hover{background:#10243f}[data-theme=dark] .si-recommendations-panel{background:var(--lsos-dark-panel,#111);border-color:var(--lsos-dark-border,#1f1f1f)}[data-theme=dark] .si-recommendations-panel__title,[data-theme=dark] .si-recommendations-panel__tile-title,[data-theme=dark] .si-module-toolbar__copy strong{color:var(--text,#fff)}[data-theme=dark] .si-recommendations-panel__tile{background:var(--lsos-dark-card,#0d0d0d);border-color:var(--lsos-dark-border,#1f1f1f)}[data-theme=dark] .si-recommendations-panel__tile:hover,[data-theme=dark] .si-recommendations-panel__tile:focus-visible{background:#1a1a1a}[data-theme=dark] .si-recommendations-panel__tile-sub,[data-theme=dark] .si-module-toolbar__copy{color:var(--text-secondary,#ffffffd9)}[data-theme=dark] .si-recommendations-panel__scan-again{color:var(--lsos-cyan,#3fe0ff)}@media (width<=767px){.si-ipad-layout--split{grid-template-columns:1fr}.si-ipad-layout__right{max-height:none;position:static}.si-module-toolbar{flex-direction:column;align-items:stretch}.si-module-toolbar .lens-scan-btn--primary{justify-content:center;width:100%}}@media (width>=768px){.si-recommendations-panel__grid--auto{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1024px){.si-recommendations-panel__grid--auto{grid-template-columns:repeat(3,minmax(0,1fr))}.si-recommendations-panel__grid--cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width>=768px) and (width<=1023px){.si-recommendations-panel__grid--auto{grid-template-columns:repeat(2,minmax(0,1fr))}}.si-recommendations-panel__grid--cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.si-recommendations-panel__grid--cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.si-search-bar{gap:var(--space-3,.75rem);flex-direction:column;display:flex}.si-search-bar__form{gap:.5rem;display:flex}.si-search-bar__input{border:1px solid var(--lsos-border,#c8ccd2);border-radius:var(--radius-md,8px);min-height:44px;color:var(--text,#0a0a0a);background:#fff;flex:1;padding:.5rem .75rem;font-size:1rem}.si-search-bar__input:focus-visible{outline:2px solid var(--lsos-cyan,#3fe0ff);outline-offset:1px}.si-search-bar__submit{border-radius:var(--radius-md,8px);background:var(--lsos-midnight,#0a1a2f);color:#fff;cursor:pointer;border:none;min-height:44px;padding:.5rem 1rem;font-weight:600}.si-search-bar__submit:disabled{opacity:.6;cursor:not-allowed}.si-search-bar__domains{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.si-search-bar__domains-label{color:var(--text-secondary,#2e2e2e);font-size:.75rem;font-weight:600}.si-search-bar__domain-chip{background:var(--lsos-shale-light,#f2f3f5);border:1px solid var(--lsos-border,#c8ccd2);color:var(--text,#0a0a0a);border-radius:999px;padding:.2rem .5rem;font-size:.75rem}.si-search-bar__actions{flex-wrap:wrap;gap:.5rem;display:flex}.si-search-bar__action-link{color:var(--lsos-midnight,#0a1a2f);font-size:.8125rem;font-weight:600;text-decoration:underline}.si-search-bar__hint,.si-search-bar__error{margin:0;font-size:.875rem}.si-search-bar__error{color:#b42318}[data-theme=dark] .si-search-bar__input{color:#fff;background:#1a1a1a;border-color:#444}[data-theme=dark] .si-search-bar__domain-chip{color:#fff;background:#252525;border-color:#444}[data-theme=dark] .si-search-bar__action-link{color:var(--lsos-cyan,#3fe0ff)}.si-settings-card{background:var(--shale-light);border-radius:var(--radius-lg,12px);padding:var(--space-4,1rem) var(--space-5,1.25rem);border:1px solid #d7dce2;transition:background .15s,border-color .15s}.si-settings-card__header{justify-content:space-between;align-items:flex-start;gap:var(--space-4,1rem);display:flex}.si-settings-card__title{color:var(--text);margin:0;font-size:1rem;font-weight:600;line-height:1.35}.si-settings-card__subtitle{color:#2e2e2e;margin:.25rem 0 0;font-size:.875rem;font-weight:500;line-height:1.4}.si-settings-card__description{margin:var(--space-3,.75rem) 0 0;color:#2e2e2e;opacity:1;max-height:4.5rem;font-size:.875rem;line-height:1.5;transition:opacity .15s,max-height .15s,margin .15s;overflow:hidden}.si-settings-card--disabled .si-settings-card__description{opacity:0;max-height:0;margin-top:0}.si-settings-card__toggle{cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex;position:relative}.si-settings-card__toggle input{opacity:0;width:0;height:0;position:absolute}.si-settings-card__toggle-track{background:#d7dce2;border-radius:999px;width:44px;height:24px;transition:background .15s;position:relative}.si-settings-card__toggle-track:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0a1a2f26}.si-settings-card__toggle input:checked+.si-settings-card__toggle-track{background:var(--shale-midnight)}.si-settings-card__toggle input:checked+.si-settings-card__toggle-track:after{transform:translate(20px)}.si-settings-card__toggle input:focus-visible+.si-settings-card__toggle-track{outline-offset:2px;outline:2px solid #0a1a2f}[data-theme=dark] .si-settings-card{background:#111;border-color:#444}[data-theme=dark] .si-settings-card__title{color:#fff}[data-theme=dark] .si-settings-card__subtitle,[data-theme=dark] .si-settings-card__description{color:#d7dce2}[data-theme=dark] .si-settings-card__toggle-track{background:#444}[data-theme=dark] .si-settings-card__toggle input:checked+.si-settings-card__toggle-track{background:#3fe0ff}[data-theme=dark] .si-settings-card__toggle input:focus-visible+.si-settings-card__toggle-track{outline-color:#3fe0ff}@media (prefers-reduced-motion:reduce){.si-settings-card,.si-settings-card__description,.si-settings-card__toggle-track,.si-settings-card__toggle-track:after{transition:none}}.recipe-detail-screen__actions{margin-bottom:12px}.recipe-order-sheet{z-index:1200;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.recipe-order-sheet__backdrop{cursor:pointer;background:#00000059;border:none;position:absolute;inset:0}.recipe-order-sheet__panel{background:var(--surface,#fff);border-radius:16px 16px 0 0;width:min(560px,100%);max-height:85vh;padding:16px 18px 24px;position:relative;overflow:auto;box-shadow:0 -8px 32px #0000001f}.recipe-order-sheet__panel h2{margin-top:0}.recipe-order-sheet__panel h3{margin:14px 0 8px;font-size:.95rem}.recipe-order-sheet__list{margin:0;padding:0;list-style:none}.recipe-order-sheet__list li{margin-bottom:8px}.recipe-order-sheet__chips{flex-wrap:wrap;gap:8px;display:flex}.recipe-order-sheet__footer{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.restaurant-mode__panel{margin-bottom:18px}.restaurant-mode__input{box-sizing:border-box;border:1px solid var(--border,#ccc);border-radius:var(--radius-sm,8px);width:100%;font:inherit;padding:8px 10px}.restaurant-mode__filters{flex-wrap:wrap;gap:12px;margin-bottom:16px;display:flex}.restaurant-mode__filters label{flex-direction:column;gap:4px;font-size:.85rem;display:flex}.restaurant-mode__prefs{color:var(--text-secondary,#666);margin-bottom:12px;font-size:.9rem}.restaurant-mode__list{margin:0;padding:0;list-style:none}.restaurant-mode__card{border:1px solid var(--border,#ddd);border-radius:var(--radius-sm,8px);margin-bottom:10px;padding:12px}.restaurant-mode__badge{background:var(--surface-elevated,#eee);border-radius:4px;margin-left:8px;padding:2px 6px;font-size:.75rem;display:inline-block}.restaurant-mode__delivery{flex-wrap:wrap;gap:8px;display:flex}
