:root{--brand: #3d9b4e;--brand-d: #2e7a3c;--brand-t: #e3f1e3;--accent: #ff6a2c;--accent-d: #e8531a;--accent-t: #ffe6d7;--bg: #e9f3df;--bg-dot: rgba(40, 130, 50, .06);--surface: #ffffff;--surface-2: #f0f7e9;--ink: #16271a;--ink-soft: #42563d;--muted: #76896f;--line: #d6e6c9;--line-soft: #e6f0db;--c-prot: #e8512f;--c-prot-t: #fce0d8;--c-prot-x: #9a2e18;--c-veg: #3fa82c;--c-veg-t: #ddf2d2;--c-veg-x: #2a6b1e;--c-sta: #f5a100;--c-sta-t: #fceac6;--c-sta-x: #9a6600;--c-dess: #a23dd0;--c-dess-t: #f0def9;--c-dess-x: #6e2796;--sh-sm: 0 1px 2px rgba(30, 70, 25, .07), 0 2px 8px rgba(30, 70, 25, .06);--sh: 0 4px 14px rgba(30, 70, 25, .1), 0 18px 40px -22px rgba(30, 90, 30, .26);--brand-glow: rgba(61, 155, 78, .6);--z-popover: 1400;--r: 18px;--r-sm: 12px;--r-xs: 9px;--r-xxs: 3px;--field-h: 44px;--field-h-sm: 38px;--field-r: 11px;--font: "Hanken Grotesk", system-ui, sans-serif;--serif: "Spectral", Georgia, serif}.app-main{width:100%;padding:2rem;background-color:var(--palette-background-default)}.logo-loader{width:150px;height:150px;background-image:url(/meal-prep-outline-logo.png);background-size:cover;animation:zoomIn .7s ease-out forwards;margin:auto;overflow:hidden;position:relative}.logo-loader.fullscreen{position:fixed;inset:0;z-index:1000}.logo-loader:after{content:"";position:absolute;inset:0;background:linear-gradient(45deg,transparent,rgba(255,255,255,.4),transparent);animation:wave 2s ease-in-out .7s infinite;-webkit-transform:translateX(100%);-moz-transform:translateX(100%);-ms-transform:translateX(100%);transform:translate(100%)}@keyframes zoomIn{0%{-webkit-transform:scale(.8);-moz-transform:scale(.8);-ms-transform:scale(.8);transform:scale(.8)}to{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}@keyframes wave{0%{-webkit-transform:translateX(-100%);-moz-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translate(-100%)}50%{-webkit-transform:translateX(100%);-moz-transform:translateX(100%);-ms-transform:translateX(100%);transform:translate(100%)}to{-webkit-transform:translateX(100%);-moz-transform:translateX(100%);-ms-transform:translateX(100%);transform:translate(100%)}}.onboarding-funnel{display:flex;height:100vh;overflow:hidden}.onboarding-funnel .branding-panel{position:relative;flex:0 0 33.333%;background:linear-gradient(180deg,#66cc81,#66cc8122);display:flex;align-items:center;justify-content:center}.onboarding-funnel .branding-panel img{width:95%}.onboarding-funnel .branding-panel .attribution{position:absolute;bottom:1rem;font-size:.75rem;color:#66cc81;text-decoration:none}.onboarding-funnel .form-panel{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:5rem;overflow-y:auto}.onboarding-funnel .form-panel .form-content{width:100%;max-width:480px;flex:1;display:flex;flex-direction:column;justify-content:center}.onboarding-funnel .form-panel .form-content .subtitle{margin-bottom:2rem}.onboarding-funnel .form-panel .form-content .text-field,.onboarding-funnel .form-panel .form-content .divider{margin-bottom:1rem;width:100%}.onboarding-funnel .form-panel .form-content .text-field-last{margin-bottom:2.5rem;width:100%}.onboarding-funnel .form-panel .form-content .restrictions-group{margin-bottom:2.5rem}.onboarding-funnel .form-panel .submit-button{align-self:flex-end;justify-self:flex-end;flex-shrink:0}@media(max-width:899px){.onboarding-funnel{flex-direction:column}.onboarding-funnel .branding-panel{background:none;flex:none}.onboarding-funnel .branding-panel img{max-height:200px;animation:landAndScaleDown 1.7s ease-in-out}.onboarding-funnel .branding-panel .attribution{position:fixed;bottom:0;background:#fff;left:0;right:0;text-align:center;z-index:10}.onboarding-funnel .form-panel{padding:2rem;justify-content:flex-start}}@keyframes landAndScaleDown{0%{max-height:500px;transform:scale(2);opacity:0}30%{max-height:500px;transform:scale(.95);opacity:1}40%{max-height:500px;transform:scale(1.05)}50%{max-height:500px;transform:scale(1)}to{max-height:200px}}.subscription-gate{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:24px;padding:0 24px;text-align:center}.subscription-gate__logo{width:100px;height:100px}.subscription-gate__description{max-width:480px}.menu-drawer{width:250px;display:flex;flex-direction:column;height:100%}.menu-drawer .active{background-color:var(--color-primary);color:var(--color-white)}.menu-drawer .admin-divider{margin-top:1rem;color:var(--color-grey-500)}.menu-drawer .menu-footer{margin-top:auto}.app-header{padding:.75rem 1.25rem;display:flex;align-items:center;justify-content:space-between;position:relative;background-color:var(--palette-background-default);border-bottom:1px solid var(--palette-divider)}.app-header .app-header-left{display:flex;align-items:center;flex-grow:1;gap:.5rem}@media screen and (max-width:650px){.app-header .app-header-left{display:block}}.app-header .app-header-left .app-logo-link{line-height:0;display:inline-block}.app-header .app-header-left .app-title{margin:0}@media screen and (max-width:850px){.app-header .app-header-left .app-title{display:none}}.app-header .app-header-left .app-header-slot{margin:0 1.5rem;flex-grow:1;display:flex}@media screen and (max-width:650px){.app-header .app-header-left .app-header-slot{margin:0;display:block}}@media screen and (max-width:650px){.app-header .menu-button{position:absolute;top:17px;right:20px}}.household-page .page-title{margin-bottom:1rem;display:flex;gap:.5rem}.household-page .section{margin-bottom:1.5rem}.household-page .section .title-container{display:flex;align-items:center;gap:.5rem}.household-page .section .title,.household-page .section .subtitle{margin-bottom:.5rem}.household-page .invite-code-container .invite-code-line{display:flex;align-items:center}.file-input .hidden-input{clip:rect(0 0 0 0);clip-path:inset(50%);height:1;overflow:hidden;position:absolute;bottom:0;left:0;white-space:nowrap;width:1}.editable-text.disabled .displaying .edit-button{display:none}.editable-text.h1 input{font-size:3rem}.editable-text.h2 input{font-size:2.5rem}.editable-text.h3 input{font-size:2rem}.editable-text.h4 input{font-size:1.75rem}.editable-text.h5 input{font-size:1.25rem}.editable-text.h6 input,.editable-text.subtitle1 input{font-size:1rem}.editable-text.subtitle2 input{font-size:.875rem}.editable-text.body1 input{font-size:1rem}.editable-text.body2 input{font-size:.875rem}.editable-text.caption input{font-size:.75rem}.editable-text.button input{font-size:.875rem}.editable-text.overline input{font-size:.75rem}.editable-text .editing{position:relative;top:-7px;left:-8px;margin-bottom:-14px}.editable-text .editing input{padding:2px 8px}.editable-text .editing .buttons{position:absolute;bottom:-2.5rem;right:0;display:flex;gap:.5rem;z-index:1}.editable-text .editing .buttons button{min-width:auto}.editable-text .displaying{display:flex;align-items:center;gap:.5rem}.editable-text .displaying:hover .editable-text-display:after{opacity:1}.editable-text .displaying .editable-text-display{position:relative}.editable-text .displaying .editable-text-display:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:1px;background-color:currentColor;opacity:.3;transition:all .2s ease-in-out}.editable-text .displaying:hover .edit-button{opacity:1}.editable-text .displaying .edit-button{opacity:0;transition:all .2s ease-in-out}.vd-card{padding:20px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);box-shadow:var(--sh-sm);overflow:auto}.vd-card--flat{box-shadow:none}.vd-card--high{box-shadow:var(--sh)}.vd-card--pad-none{padding:0}.vd-card--pad-sm{padding:13px}.vd-card--pad-lg{padding:28px}.vd-card--r-sm{border-radius:var(--r-sm)}.vd-card--tint{background:var(--surface-2)}.vd-card--brand{background:var(--brand-t);border-color:transparent}.vd-card--interactive{cursor:pointer;transition:.16s}.vd-card--interactive:hover{border-color:var(--brand);box-shadow:var(--sh);transform:translateY(-2px)}.vd-btn{display:inline-flex;align-items:center;gap:8px;box-sizing:border-box;height:42px;padding:0 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--sh-sm);color:var(--ink);font:700 14px var(--font);text-align:center;text-decoration:none;white-space:nowrap;cursor:pointer;transition:all .15s ease-in-out}.vd-btn svg{color:var(--brand-d)}.vd-btn:not(:disabled):hover{border-color:var(--brand);color:var(--brand-d)}.vd-btn:not(:disabled):hover svg{fill:var(--brand-d)}.vd-btn:disabled{cursor:not-allowed;opacity:.8}.vd-btn--primary{background:var(--brand);border-color:transparent;box-shadow:0 6px 16px -6px var(--brand-glow);color:#fff}.vd-btn--primary svg{color:#fff}.vd-btn--primary:not(:disabled):hover{background:var(--brand-d);color:#fff}.vd-btn--primary:not(:disabled):hover svg{fill:var(--brand-d)}.vd-btn--ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--ink-soft)}.vd-btn--ghost:not(:disabled):hover{background:var(--surface-2);color:var(--brand-d);border-color:transparent}.vd-btn--ghost:not(:disabled):hover svg{fill:var(--brand-d)}.vd-btn--tint{background:var(--brand-t);border-color:transparent;box-shadow:none;color:var(--brand-d)}.vd-btn--tint:not(:disabled):hover{background:var(--brand);color:var(--surface);border-color:transparent}.vd-btn--tint:not(:disabled):hover svg{fill:var(--surface)}.vd-iconbtn{display:grid;place-items:center;box-sizing:border-box;width:30px;height:30px;border:1px solid transparent;border-radius:9px;background:transparent;color:inherit;text-decoration:none;cursor:pointer;transition:.13s;padding:0}.vd-iconbtn:disabled{cursor:not-allowed;opacity:.8}.vd-iconbtn--primary{background:var(--brand);border-color:transparent;color:#fff;box-shadow:0 4px 12px -4px var(--brand-glow)}.vd-iconbtn--primary:not(:disabled):hover{background:var(--brand-d)}.vd-iconbtn--ghost{background:var(--surface-2);border:1px solid var(--line);color:var(--ink-soft)}.vd-iconbtn--ghost:not(:disabled):hover{border-color:var(--brand);color:var(--brand-d)}.vd-iconbtn--tint{background:var(--brand-t);border-color:transparent;color:var(--brand-d)}.vd-iconbtn--tint:not(:disabled):hover{background:var(--brand);color:var(--surface);border-color:transparent}.vd-iconbtn--tint:not(:disabled):hover svg{fill:var(--surface)}.vd-iconbtn svg{width:18px;height:18px}.vd-field{position:relative;display:flex;align-items:center;cursor:text}.vd-field__label{position:absolute;top:-7px;left:13px;padding:0 6px;background:var(--surface);color:var(--muted);font:600 11.5px var(--font);pointer-events:none}.vd-field__icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);display:grid;place-items:center;color:var(--muted);pointer-events:none}.vd-field input,.vd-field textarea{width:100%;height:var(--field-h);padding:0 14px;border:1.5px solid var(--line);border-radius:var(--field-r);background:var(--surface);color:var(--ink);font:400 15px var(--font);font-family:inherit;outline:none;transition:.13s}.vd-field input:focus,.vd-field textarea:focus{border-color:var(--brand)}.vd-field input::placeholder,.vd-field textarea::placeholder{color:var(--muted)}.vd-field--icon input,.vd-field--icon textarea{padding-left:42px}.vd-field--sm{--field-h: var(--field-h-sm)}.vd-field--sm input,.vd-field--sm textarea{font-size:14px}.vd-field--filled input,.vd-field--filled textarea{border-width:1px;background:var(--surface-2);font-size:14px}.vd-field--area{align-items:stretch}.vd-field--area textarea{height:auto;min-height:calc(var(--field-h) + 20px);padding-top:11px;padding-bottom:11px;line-height:1.5;resize:vertical}.vd-field--area .vd-field__icon{top:calc(var(--field-h) / 2)}.vd-tag{--t-solid: var(--ink);--t-tint: var(--surface-2);--t-text: var(--ink-soft);--t-line: var(--line);display:inline-flex;align-items:center;gap:5px;border:1px solid transparent;font:700 11.5px var(--font);line-height:1;white-space:nowrap;font-variant-numeric:tabular-nums;transition:.13s;text-overflow:ellipsis;max-width:100%}.vd-tag--brand{--t-solid: var(--brand);--t-tint: var(--brand-t);--t-text: var(--brand-d);--t-line: var(--brand)}.vd-tag--accent{--t-solid: var(--accent);--t-tint: var(--accent-t);--t-text: var(--accent-d);--t-line: var(--accent)}.vd-tag--xs{gap:4px;padding:2px 4px;border-radius:6px;font-size:10px}.vd-tag--sm{padding:3px 6px;border-radius:7px;font-size:11.5px}.vd-tag--md{padding:6px 8px;border-radius:9px;font-size:12.5px}.vd-tag--pill{border-radius:999px}.vd-tag--upper{text-transform:uppercase;letter-spacing:.04em;font-weight:800}.vd-tag--outline{background:var(--surface-2);border-color:var(--t-line);color:var(--t-text)}.vd-tag--tint{background:var(--t-tint);border-color:color-mix(in oklab,var(--t-line) 45%,transparent);color:var(--t-text)}.vd-tag--solid{background:var(--t-solid);border-color:transparent;color:#fff}.vd-tag__dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--t-solid)}.vd-tag--solid .vd-tag__dot{background:currentColor}.vd-tag__content{overflow:hidden;text-overflow:ellipsis}.vd-tag__count{opacity:.55}.vd-tag svg{flex:none;width:13px;height:13px}.vd-tag--xs .vd-tag__dot,.vd-tag--sm .vd-tag__dot{width:7px;height:7px}button.vd-tag{cursor:pointer}button.vd-tag:not(.vd-tag--brand):not(.vd-tag--accent){--t-line: var(--ink-soft);--t-text: var(--ink)}button.vd-tag[aria-pressed]{background:var(--surface-2);border-color:var(--line);color:var(--ink-soft)}button.vd-tag[aria-pressed]:hover{border-color:var(--t-line);color:var(--t-text)}button.vd-tag.vd-tag--solid .vd-tag__dot{background:var(--t-solid)}button.vd-tag[aria-pressed=true].vd-tag--solid .vd-tag__dot{background:currentColor}button.vd-tag[aria-pressed=true]{border-color:var(--t-line);color:var(--t-text)}button.vd-tag[aria-pressed=true].vd-tag--outline{background:var(--surface-2)}button.vd-tag[aria-pressed=true].vd-tag--tint{background:var(--t-tint);border-color:color-mix(in oklab,var(--t-line) 45%,transparent)}button.vd-tag[aria-pressed=true].vd-tag--solid{background:var(--t-solid);border-color:transparent;color:#fff}button.vd-tag[aria-pressed=true]:hover{filter:brightness(.96)}button.vd-tag:focus-visible{outline:2px solid color-mix(in oklab,var(--t-line) 60%,transparent);outline-offset:2px}.vd-collapsible{width:100%}.vd-collapsible__header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;border:none;background:none;padding:0;width:100%;gap:8px;color:var(--ink-soft);font-weight:700}.vd-collapsible__header[disabled]{cursor:default}.vd-collapsible__header:not([disabled]):hover{color:var(--brand-d)}.vd-collapsible__header:not([disabled]):hover .vd-collapsible__start-icon svg{fill:var(--brand-d)}.vd-collapsible__header[aria-expanded=true] .vd-collapsible__icon{transform:rotate(180deg)}.vd-collapsible__header[aria-expanded=true]+.vd-collapsible__content{grid-template-rows:1fr}.vd-collapsible__start-icon{height:1rem;width:1rem}.vd-collapsible__start-icon svg{width:1rem;height:1rem;fill:var(--ink-soft)}.vd-collapsible__title{display:flex;align-items:center;gap:8px}.vd-collapsible__content{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease-in-out}.vd-collapsible__content-inner{overflow:hidden;min-height:0}.vd-collapsible .vd-collapsible__icon{transition:transform .3s ease-in-out;margin-left:auto;width:1rem;height:1rem}.vd-collapsible .vd-collapsible__icon svg{width:1rem;height:1rem;fill:var(--muted)}.vd-popover{position:fixed;z-index:var(--z-popover, 1400);animation:vd-popover-in .14s ease-out}.vd-popover[data-placement^=right]{transform-origin:left center}.vd-popover[data-placement^=left]{transform-origin:right center}@media(prefers-reduced-motion:reduce){.vd-popover{animation:none}}@keyframes vd-popover-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.vd-stepper{display:flex;width:fit-content;align-items:center;gap:2px;padding:2px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.vd-stepper__btn{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;color:var(--ink-soft);font:700 17px/1 var(--font);cursor:pointer;transition:.12s;background:transparent;border:none;padding:0}.vd-stepper__btn:hover{background:var(--brand);color:#fff}.vd-stepper__btn:hover svg{fill:#fff}.vd-stepper__btn svg{fill:var(--ink-soft);transition:.12s;width:18px}.vd-stepper__val{min-width:18px;text-align:center;font:800 15px var(--font);font-variant-numeric:tabular-nums}.vd-stepper__unit{padding:0 7px 0 3px;color:var(--muted);font:600 11.5px var(--font)}.vd-typography{margin:0;font-family:var(--font)}.vd-typography--display{font:600 clamp(25px,3.6vw,34px)/1.04 var(--serif);letter-spacing:-.02em}.vd-typography--title{font:600 21px/1.15 var(--serif);letter-spacing:-.01em}.vd-typography--subtitle{font:600 18px/1.2 var(--serif)}.vd-typography--numeric{font:600 26px/1 var(--serif);font-variant-numeric:tabular-nums}.vd-typography--body{font:400 15px/1.45 var(--font)}.vd-typography--label{font:700 14px/1.25 var(--font)}.vd-typography--meta{font:600 13px/1.35 var(--font);color:var(--muted)}.vd-typography--caption{font:400 12.5px/1.5 var(--font);color:var(--muted)}.vd-typography--overline{font:800 11px/1.3 var(--font);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.vd-typography--c-ink{color:var(--ink)}.vd-typography--c-soft{color:var(--ink-soft)}.vd-typography--c-muted{color:var(--muted)}.vd-typography--c-brand{color:var(--brand-d)}.vd-typography--c-accent{color:var(--accent-d)}.vd-typography--c-inherit{color:inherit}.vd-typography--nowrap{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vd-typography b,.vd-typography strong{font-weight:700}.custom-recipe-form{display:flex;flex-direction:column;row-gap:1rem}.custom-recipe-form .recipe-image{max-height:20rem;display:block;margin:auto;width:100%;object-fit:contain}.custom-recipe-form .image-input{margin-bottom:.5rem}.custom-recipe-form .recipe-types{display:grid;grid-template-columns:1fr 1fr;column-gap:.5rem}.custom-recipe-form .list-item{padding-left:0;padding-right:0}.custom-recipe-form .draggable-item{display:flex;align-items:flex-start;gap:.5rem;border:1px solid var(--palette-grey-200);border-radius:8px;padding:.5rem;margin-bottom:.5rem}.custom-recipe-form .draggable-item.drag-over{border-color:var(--palette-primary-main);background:var(--palette-grey-100)}.custom-recipe-form .drag-handle{cursor:grab;color:var(--palette-grey-600);margin-top:.25rem}.custom-recipe-form .ingredient-content{display:flex;flex-direction:column;gap:.5rem;flex:1}.custom-recipe-form .ingredient-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.custom-recipe-form .ingredient-label{font-weight:600}.custom-recipe-form .alternative-ingredients{display:flex;flex-direction:column;gap:.5rem;padding-left:.25rem}.custom-recipe-form .alternative-ingredients .alt-chips{display:flex;flex-wrap:wrap;gap:.25rem;align-items:center}.custom-recipe-form .alternative-ingredients .MuiAutocomplete-root{flex:1}.custom-recipe-form .ingredient-editors{display:flex;flex-direction:column;gap:.5rem}.custom-recipe-form .quantity-unit{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.custom-recipe-form .quantity-unit .quantity-controls{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.custom-recipe-form .serving-unit-select{min-width:6rem}.custom-recipe-form .new-ingredient-form{border:2px solid var(--palette-grey-300);background:var(--palette-grey-50);border-radius:8px;padding:.5rem;display:flex;flex-direction:column;gap:.5rem}.custom-recipe-form .new-ingredient-form .ingredient-name .ingredient-name-input{margin-right:.25rem;background-color:#fff}.custom-recipe-form .new-ingredient-form .quantity{display:flex;gap:1rem}.custom-recipe-form .new-ingredient-form .quantity .quantity-input{width:6rem;background-color:#fff;flex-shrink:0}.custom-recipe-form .new-ingredient-form .ingredient-info-input{background-color:#fff}.instruction-item{padding-left:0;padding-right:0}.instruction-item .instruction-content{display:flex;align-items:center;gap:.5rem;flex:1}.instruction-item .instruction-index{color:var(--palette-grey-600);width:1.5rem;text-align:right;flex-shrink:0}.recipe-filters{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.recipe-filters .search-and-types{display:flex;align-items:center;gap:16px;flex-wrap:wrap;width:100%}.recipe-filters .search-and-types .vd-field{flex-grow:1}.recipe-filters .search-and-types .filter-recipe-types{display:flex;gap:6px;flex-wrap:wrap}.recipe-filters .filter-tags-group-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px;margin-bottom:8px}.recipe-filters .filter-restrictions{min-width:14rem}.add-recipe{display:flex}.add-recipe .add-recipe-button{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:2rem 1rem;font-size:1.5rem;border:.25rem dashed #ccc;background-color:#efefef;color:#999;cursor:pointer}.ingredient-details>div{margin-bottom:1rem}.ingredient-table .actions{display:flex;gap:.5rem;justify-content:flex-end;align-items:center}.amount-card{padding:1rem;display:flex;flex-direction:column;justify-content:space-between;position:relative}.amount-card .number{font-size:3.5rem;line-height:1;font-weight:700}.amount-card .target{font-size:1.75rem}.amount-card .label{font-size:1rem;text-shadow:0 0 1px rgba(0,0,0,.2);line-height:1.1}.amount-card .warning-icon{color:#eb733c;position:absolute;top:.5rem;right:.5rem}.amount-cards{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1rem}.amount-cards .total{grid-column:1/3}.unit-family-switch{display:flex;gap:.25rem}.unit-family-switch .option{cursor:pointer}.unit-family-switch .option.active{font-weight:700;cursor:default}.recipe-translation-dialog .language-tabs{margin-bottom:1rem}.recipe-list-item{display:flex;align-items:center;padding:8px;gap:12px;border-radius:12px;cursor:pointer;transition:background-color .2s ease-in-out}.recipe-list-item:not(.skeleton):hover{background-color:#f0f7e9}.recipe-list-item:not(.skeleton):hover .add-recipe-icon{opacity:1}.recipe-list-item:not(.skeleton):hover .add-recipe-icon:disabled{opacity:.7}.recipe-list-item .img-wrapper{width:46px;height:46px;border-radius:10px;overflow:hidden;flex-shrink:0;position:relative}.recipe-list-item .img-wrapper img{width:100%;height:100%;object-fit:cover}.recipe-list-item .img-wrapper .no-image{position:relative;overflow:hidden;width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:20px;background-color:var(--background-color)}.recipe-list-item .img-wrapper .no-image:before{content:"";position:absolute;width:0;height:100%;left:0;border-left:4px solid var(--border-color)}.recipe-list-item .img-wrapper .alternative-icon{position:absolute;bottom:2px;right:2px;color:var(--surface);background-color:var(--brand);border-radius:5px;width:16px;height:16px;padding:1px}.recipe-list-item .recipe-info{display:flex;flex-direction:column;gap:4px;width:100%}.recipe-list-item .recipe-info .tags{display:flex;gap:4px}.recipe-list-item .add-recipe-icon{opacity:0;transition:opacity .2s ease-in-out;margin-left:auto;flex-shrink:0}.recipe-dialog .MuiDialog-paper{border-radius:var(--r)}.recipe-dialog header{display:flex;align-items:center;gap:1rem;border-bottom:1px dashed var(--line);padding-bottom:1rem;margin-bottom:2rem}.recipe-dialog header .img-wrapper{width:60px;height:60px;border-radius:10px;overflow:hidden}.recipe-dialog header .img-wrapper img{width:100%;height:100%;object-fit:cover}.recipe-dialog header .img-wrapper .no-image{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2rem;background-color:var(--background-color)}.recipe-dialog header .info{display:flex;flex-direction:column;gap:.25rem}.recipe-dialog header .info .types,.recipe-dialog header .info .tags{display:flex;gap:.25rem;flex-wrap:wrap}.recipe-dialog header .servings{margin-left:auto;text-align:center}.recipe-dialog header .servings .servings-count{color:var(--brand-d)}.recipe-dialog .content{display:grid;grid-template-rows:1fr;gap:2rem}@media(min-width:800px){.recipe-dialog .content{grid-template-columns:fit-content(40%) 1fr;grid-template-rows:auto}}.recipe-dialog .content .ingredients{display:flex;flex-direction:column;gap:.5rem}.recipe-dialog .content .ingredients ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.25rem}.recipe-dialog .content .ingredients ul li{display:grid;grid-template-columns:100px 1fr;gap:.25rem}.recipe-dialog .content .ingredients ul li:not(:last-child){border-bottom:1px solid var(--line);padding-bottom:.25rem}.recipe-dialog .content .ingredients ul li .ingredient-amount{line-height:1.45}.recipe-dialog .content .instructions{display:flex;flex-direction:column;gap:.5rem}.recipe-dialog .content .instructions ol{counter-reset:my-counter;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.recipe-dialog .content .instructions ol li{counter-increment:my-counter;display:flex;gap:.5rem;position:relative}.recipe-dialog .content .instructions ol li:before{content:counter(my-counter);color:var(--brand-d);background-color:var(--brand-t);width:1.5rem;height:1.5rem;line-height:1.25rem;text-align:center;border-radius:50%;flex-shrink:0;border:2px solid #fff;z-index:2}.recipe-dialog .content .instructions ol li:not(:last-child):after{content:"";display:block;width:2px;background-color:var(--brand-t);position:absolute;left:calc(.75rem - 1px);top:0;bottom:-.75rem;z-index:1}.recipe-dialog .content .macros{display:flex;flex-direction:column;gap:.5rem}.recipe-dialog .content .macros ul{margin:0;padding-left:1rem}.recipe-dialog .MuiDialogActions-root{padding:1rem 1.5rem;border-top:1px solid var(--line)}.recipe-library-section__header{font-size:.75rem;text-transform:uppercase;color:var(--t-solid);font-family:var(--font);font-weight:800;position:relative;display:flex;align-items:center;gap:8px}.recipe-library-section__header:before{position:relative;content:"";display:block;height:9px;width:9px;background-color:var(--t-solid);margin-right:0;border-radius:var(--r-xxs)}.recipe-library-section__header:after{content:"";position:relative;display:block;height:1px;background-color:var(--line-soft);flex-shrink:1;flex-grow:1}.recipe-library-section__header span{font-size:10px;color:var(--muted);font-weight:700}.recipe-library-section__footer .see-all-button{width:100%;justify-content:center}.recipe-library-section__footer .see-all-button svg{width:1rem;height:1rem}.recipe-library{display:flex;flex-direction:column}.recipe-library>header{display:flex;align-items:center;justify-content:space-between}.recipe-library>header .title{display:flex;align-items:center;gap:8px}.recipe-library>header .title svg{width:30px;height:30px;color:var(--brand);background-color:var(--brand-t);border-radius:var(--r-xs);padding:6px}.recipe-library .recipe-filters{margin:16px 0}.recipe-library__content{padding-top:16px;gap:16px;display:flex;flex-direction:column;border-top:1px solid var(--line-soft);overflow-y:auto}.recipe-library .recipe-list .recipe-list-items{margin:8px 0;padding:0;list-style:none}.create-plan-modal .household-warning{margin-bottom:1rem}.create-plan-modal .household-warning .input-container{margin-top:1rem;display:flex;align-items:center;gap:.5rem}.create-plan-modal .household-warning .input-container .MuiTextField-root{flex:1}.create-plan-modal .create-plan-dialog-content{padding-top:.5rem!important}.create-plan-modal .create-plan-dialog-content .dates{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}.create-plan-modal .create-plan-dialog-content .add-person{display:flex;gap:.5rem}.alternative-selector{display:flex}.alternative-selector-panel{width:15rem}.alternative-selector-panel .selector{max-height:min(11rem,var(--vd-popover-max-height, 11rem));overflow-y:auto}.alternative-selector-panel .selector>.vd-typography{padding:.5rem .5rem .25rem}.alternative-selector-panel .selector>.vd-typography:last-child{padding-bottom:.5rem}.alternative-selector-panel .selector ul{list-style:none;margin:0;padding:0 .25rem .25rem}.alternative-selector-panel .selector ul li{display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;border-radius:var(--r-xs);cursor:pointer;transition:background-color .16s ease-in-out}.alternative-selector-panel .selector ul li:hover{background-color:var(--surface-2)}.alternative-selector-panel .selector ul li .icon{flex:0 0 auto;width:1rem;height:1rem;fill:var(--brand)}.alternative-selector-panel .selector ul li .text{min-width:0}.recipe-card{overflow:initial}.recipe-card:hover{border-color:var(--line)}.recipe-card:hover .thumbnail .actions{opacity:1}.recipe-card .dialog-trigger{cursor:pointer}.recipe-card .thumbnail{width:100%;aspect-ratio:1;line-height:0;position:relative}.recipe-card .thumbnail:after{content:"";position:absolute;inset:0;box-shadow:inset 0 -100px 80px -100px #888;z-index:1}.recipe-card .thumbnail img{width:100%;height:100%;object-fit:cover}.recipe-card .thumbnail .no-image{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2.5rem;background-color:var(--background-color)}.recipe-card .thumbnail .actions{position:absolute;top:4px;right:4px;display:flex;gap:4px;opacity:0;transition:opacity .2s ease-in-out;z-index:2}.recipe-card .content{padding:.5rem;display:flex;flex-direction:column;gap:.5rem}.recipe-card .content .title{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:nowrap}.recipe-card .content ul.swaps-list{display:flex;list-style:none;padding:0;margin:0;flex-wrap:wrap;gap:.25rem}.recipe-card .content ul.swaps-list li{display:flex;max-width:10rem}.recipe-card .content .info-tags{display:flex;justify-content:flex-end;flex-wrap:wrap}.recipe-card .content .info-tags ul.tags-list{display:flex;list-style:none;padding:0;margin:0 auto 0 0;flex-wrap:wrap;gap:.25rem}.recipe-card .content .info-tags ul.tags-list li{display:contents}.planner.no-plans{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem}.planner.no-plans img{max-height:270px}.planner>.header{display:flex;justify-content:space-between;margin-bottom:1rem;flex-wrap:wrap}.planner>.header .actions{display:flex;gap:.5rem;flex-wrap:wrap}.planner .main{display:grid;gap:32px;grid-template-columns:1fr 388px}@media(max-width:908px){.planner .main{grid-template-columns:1fr}}.planner .values{display:grid;grid-template-columns:1fr 350px;grid-gap:1rem}@media(max-width:768px){.planner .values{grid-template-columns:1fr}}.planner .values .chart{display:flex;justify-content:space-between;min-height:400px}.planner section.recipes>.title{margin:1.5rem 0 1rem;display:flex;align-items:center;gap:.5rem}.planner section.recipes>.title svg{width:32px;height:32px;color:var(--accent-d);background-color:var(--accent-t);border-radius:var(--r-xs);padding:8px}.planner section.recipes .recipe-type .subtitle{font-size:1em;text-transform:uppercase;color:var(--t-solid);font-family:var(--font);font-weight:800;position:relative;display:flex;align-items:center;gap:8px;margin-bottom:.75rem;margin-top:1.5rem}.planner section.recipes .recipe-type .subtitle:before{position:relative;content:"";display:block;height:11px;width:11px;background-color:var(--t-solid);margin-right:0;border-radius:var(--r-xxs)}.planner section.recipes .recipe-type .subtitle:after{content:"";position:relative;display:block;height:1px;background-color:var(--line-soft);flex-shrink:1;flex-grow:1}.planner section.recipes .recipe-type .subtitle span{font-size:13px;color:var(--muted);font-weight:700}.planner section.recipes .recipe-type .recipes-list{padding:0;margin:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));grid-gap:1.5rem}.planner aside.recipe-library{position:sticky;height:calc(100vh - 4rem);top:2rem;overflow:hidden}.finished-course{display:flex;flex-direction:column;text-align:center;max-width:600px}.finished-course h3{margin-bottom:2rem}.week{display:flex;flex-direction:column;align-items:center;cursor:default;position:relative;z-index:1}.week.disabled{cursor:not-allowed;pointer-events:none}.week.completed .circle .check{opacity:1}.week.selectable{cursor:pointer}.week.selectable:not(.completed) .circle:hover .check{opacity:.8}.week.selectable .circle{border-color:#56b473}.week .circle{background-color:#fff;width:fit-content;width:2rem;height:2rem;border:.25rem solid #a3f5bc;border-radius:50%;transition:all ease-in-out .2s .4s}.week .circle .check{color:#56b473;opacity:.3;transition:all ease-in-out .2s}.week-selector{display:flex;justify-content:space-between;position:relative;flex-grow:1}.week-selector:before,.week-selector:after{content:"";position:absolute;z-index:0;top:1.5rem;left:1.75rem;bottom:0;margin:auto;height:.25rem}.week-selector:before{width:calc(100% - 3.5rem);background-color:#a3f5bc}.week-selector:after{background-color:#56b473;transition:all ease-in-out .5s;width:0}.week-selector.week-1:after{width:calc((100% - 3.5rem)/4)}.week-selector.week-2:after{width:calc((100% - 3.5rem)/2)}.week-selector.week-3:after{width:calc((100% - 3.5rem)*.75)}.week-selector.week-4:after{width:calc(100% - 3.5rem)}.meal-plan-selector{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;justify-content:center}.meal-plan-selector .buttons-group{flex-shrink:0;display:flex;gap:1rem}:root .MuiMenuItem-root.active-plan{font-weight:700}.add-household-member-dialog-content .add-household-member-dialog-fields{display:flex;gap:1rem;margin-top:1rem}.add-household-member-dialog-content .add-household-member-dialog-fields>*{flex:1}.ingredients-page .header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.join-household-page{padding-top:5rem;text-align:center}.join-household-page img{max-width:200px;height:auto}.join-household-page h1{margin-bottom:1rem}.groceries-list-item{margin-right:0!important}.groceries-list-item .item-container{display:flex;justify-content:space-between;width:100%;position:relative}.groceries-list-item .item-container:before{position:absolute;content:"";left:0;right:0;height:0;bottom:4px;border-bottom:1px dotted var(--palette-grey-300)}.groceries-list-item .item-container.strike{text-decoration:line-through}.groceries-list-item .item-container .item-name,.groceries-list-item .item-container .item-amount{background-color:#fff;position:relative;z-index:1}.groceries-list-item .item-container .item-name{padding-right:.5rem}.groceries-list-item .item-container .item-amount{display:flex;gap:4px;padding-left:.5rem}.groceries-list-item .item-container .item-unit.MuiSelect-root{margin-bottom:-5px}.groceries-list-item .item-container .item-category{background:#fff;margin-right:auto}.groceries-dialog .unit-family-switch{float:right}.groceries-dialog .unit-family-switch~*{clear:right}.groceries-dialog .groceries-category{margin-top:1rem}.groceries-dialog .groceries-category .groceries-category-title{font-weight:700;border-bottom:1px solid #e0e0e0;padding-bottom:.25rem;margin-bottom:.25rem}.recap-dialog .recipes-list .recipe{margin-bottom:1rem}.recap-dialog .recipes-list .recipe h3{font-size:1.5rem;margin-bottom:.5rem}.recap-dialog .recipes-list .recipe .recipe-container{display:grid;grid-template-columns:30% 1fr;column-gap:1rem}.recap-dialog .recipes-list .recipe .recipe-container h4{font-size:1.25rem}.recap-dialog .recipes-list .recipe .recipe-container .recipe-instructions{position:relative}.recap-dialog .recipes-list .recipe .recipe-container .recipe-instructions:before{content:"";position:absolute;top:0;bottom:0;left:-.5rem;border-right:1px solid black}.meal-plan-page .household-creation{border:2px solid var(--palette-info-main);background-color:var(--palette-info-100);padding:1rem;border-radius:8px;margin-bottom:1.5rem}.recipes-page{display:flex;flex-direction:column;gap:1rem}.recipes-page header{display:flex;justify-content:space-between}.settings-page{max-width:600px;margin:0 auto;padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.settings-page .section,.settings-page .fields{display:flex;flex-direction:column;gap:1rem}.tags-page .header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.tags-page .section{margin-bottom:2rem}.tags-page .group-chip{text-transform:capitalize}.tags-page .inline-edit{display:flex;align-items:center;gap:.5rem}.users-page .header{display:flex;align-items:center;margin-bottom:1rem;gap:.5rem}
