@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800;900&family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0&display=swap";:root{--font-xxs:10.1px;--font-xs:13.5px;--font-sm:18px;--font-md:24px;--font-lg:32px;--font-xl:42.6px;--surface:#fafbf8;--surface-dim:#d8dbd7;--surface-container-lowest:#fff;--surface-container-low:#f2f4f0;--surface-container:#eceeea;--surface-container-high:#e7e9e5;--surface-container-highest:#e1e3df;--on-surface:#191c1a;--on-surface-variant:#404943;--inverse-surface:#2e312f;--inverse-on-surface:#eff1ed;--outline:#707973;--outline-variant:#bfc9c1;--primary:#005a46;--primary-container:#00765c;--on-primary:#fff;--on-primary-container:#a8e7c5;--primary-fixed-dim:#95d4b3;--secondary:#4d61a5;--accent:#ac3649;--tertiary:#d98224;--error:#ba1a1a;--protein:#4d61a5;--carbs:#d98224;--fat:#ac3649;--shadow-ambient:0 3.6px 18px #0000000d;--max-width:1152px;--gutter:14.4px;color:var(--on-surface);background:var(--surface);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,sans-serif;line-height:1.5}*{box-sizing:border-box}body{background:var(--surface);min-width:288px;min-height:100svh;font-family:Inter,system-ui,sans-serif;font-size:var(--font-xs);margin:0}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.material-symbols-outlined{font-feature-settings:"liga";letter-spacing:normal;overflow-wrap:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;font-family:Material Symbols Outlined;font-size:21.6px;font-style:normal;font-weight:400;line-height:1;display:inline-block}input[type=range]{accent-color:var(--primary-container)}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--primary-container);cursor:pointer;border:1.8px solid #fff;border-radius:899.1px;width:14.4px;height:14.4px;box-shadow:0 1px 2.7px #0003}input[type=range]::-moz-range-thumb{background:var(--primary-container);cursor:pointer;border:1.8px solid #fff;border-radius:899.1px;width:14.4px;height:14.4px;box-shadow:0 1px 2.7px #0003}#root{min-height:100svh}.app-shell{background:#fbfaf7;block-size:100svh;padding-block:57.6px 0}.app-shell.page-mealView{background:#fbfaf7}.auth-page{background:radial-gradient(circle at top,#0f523814,#0000 34%),#fbfaf7;justify-content:center;align-items:center;min-block-size:100svh;padding:21.6px;display:flex}.auth-card{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:9px;gap:16.2px;inline-size:min(100%,378px);padding:25.2px;display:grid;box-shadow:0 16.2px 43.2px #1f282224}.auth-brand{gap:7.2px;display:grid}.auth-brand span{color:var(--primary);letter-spacing:.1em;text-transform:uppercase;font-size:10.8px;font-weight:600;line-height:14.4px}.auth-brand h1,.auth-brand p,.auth-error,.auth-config-warning p{margin:0}.auth-brand h1{color:var(--on-surface);font-size:27px;font-weight:600;line-height:32.4px}.auth-brand p{color:var(--on-surface);font-size:12.6px;font-weight:700;line-height:18px}.auth-form{gap:12.6px;display:grid}.auth-form label{color:var(--on-surface);letter-spacing:.06em;text-transform:uppercase;gap:5.4px;font-size:10.8px;font-weight:600;line-height:14.4px;display:grid}.auth-form input{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);color:var(--on-surface);text-transform:none;border-radius:5.4px;min-block-size:39.6px;padding:8.1px 10.8px;font-size:14.4px;font-weight:700}.auth-form input:focus{border-color:var(--primary);outline:0;box-shadow:0 0 0 2.7px #0f52381f}.auth-submit-button,.auth-mode-button{border-radius:5.4px;justify-content:center;align-items:center;min-block-size:37.8px;padding:8.1px 12.6px;font-size:12.6px;font-weight:600;display:inline-flex}.auth-submit-button{background:var(--primary);border:1px solid var(--primary);color:var(--on-primary)}.auth-submit-button:disabled{cursor:wait;opacity:.7}.auth-mode-button{background:var(--surface-container-low);border:1px solid var(--outline-variant);color:var(--primary)}.auth-error,.auth-config-warning{border-radius:7.2px;padding:9px 10.8px;font-size:12.6px;font-weight:800;line-height:18px}.auth-error{color:var(--error);background:#fff0ef;border:1px solid #ba1a1a3d}.auth-config-warning{color:#5f4300;background:#fff8e1;border:1px solid #7f53003d;gap:3.6px;display:grid}.top-app-bar{border-bottom:1px solid var(--outline-variant);-webkit-backdrop-filter:blur(10.8px);backdrop-filter:blur(10.8px);z-index:20;background:#f2f4f0f5;width:100%;position:fixed;inset-block-start:0;box-shadow:0 1px #ffffffb3}.save-toast{background:var(--inverse-surface);color:var(--inverse-on-surface);z-index:40;border:1px solid #ffffff29;border-radius:899.1px;padding:9px 16.2px;font-size:12.6px;font-weight:800;line-height:18px;position:fixed;bottom:97.2px;right:28.8px;box-shadow:0 7.2px 21.6px #0000002e}.top-app-inner{justify-content:space-between;align-items:center;block-size:57.6px;inline-size:100%;padding-inline:14.4px 28.8px;display:flex}.brand-group,.utility-group,.primary-nav{align-items:center;display:flex}.brand{color:var(--primary);background:0 0;border:0;padding:0;font-size:18px;font-weight:900;line-height:25.2px}.primary-nav{gap:21.6px}.primary-nav button{color:var(--on-surface);background:0 0;border:0;border-bottom:1.8px solid #0000;padding:3.6px 0;font-size:12.6px;font-weight:600;line-height:18px}.primary-nav button:hover,.primary-nav button[aria-current=page]{border-color:var(--primary);color:var(--primary)}.search-field{grid-template-columns:18px minmax(0,1fr);align-items:center;display:grid;position:relative}.search-field .material-symbols-outlined{color:var(--on-surface-variant);pointer-events:none;z-index:1;grid-area:1/1;margin-inline-start:10.8px;font-size:18px}.search-field input{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);color:var(--on-surface);border-radius:899.1px;outline:none;grid-area:1/1/1/3;inline-size:100%;padding:8.1px 12.6px 8.1px 36px;font-size:12.6px;line-height:18px}.global-search input{background:var(--surface-container);inline-size:216px}.search-field input:focus{border-color:var(--primary);box-shadow:0 0 0 1.8px #0f523829}.icon-button,.delete-button{color:var(--primary);background:0 0;border:0;justify-content:center;align-items:center;padding:3.6px;display:inline-flex}.icon-button:hover,.icon-button[aria-current=page]{color:var(--on-primary-container)}.energy-calculator-modal{inline-size:min(432px,100%)}.energy-calculator-modal .modal-header p{color:var(--on-surface);margin:2.7px 0 0;font-size:11.7px;font-weight:700;line-height:16.2px}.energy-calculator-grid{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:10.8px;display:grid}.energy-calculator-grid>.material-symbols-outlined{color:var(--primary);padding-block-end:10.8px;font-size:21.6px}.energy-calculator-grid label{gap:5.4px;min-inline-size:0;display:grid}.energy-calculator-grid label span{color:var(--primary);letter-spacing:.06em;text-transform:uppercase;font-size:9.9px;font-weight:600;line-height:12.6px}.energy-calculator-grid input{background:var(--surface-container);border:1px solid var(--outline-variant);color:var(--on-surface);border-radius:5.4px;outline:none;min-inline-size:0;padding:9px 10.8px;font-size:18px;font-weight:600;line-height:23.4px}.energy-calculator-grid input:focus{background:var(--surface-container-lowest);border-color:var(--primary);box-shadow:0 0 0 1.8px #0f52381f}.energy-calculator-note{background:var(--surface-container);color:var(--on-surface);text-align:center;border-radius:5.4px;margin:0;padding:8.1px 10.8px;font-size:11.7px;font-weight:800;line-height:16.2px}.workspace{block-size:calc(100svh - 122.4px);min-height:0;display:flex;overflow:hidden}.ingredient-sidebar{background:var(--surface);border-right:1px solid var(--outline-variant);flex-direction:column;flex:0 0 306px;min-height:0;display:flex;overflow:hidden}.recipe-card h3,.nutrition-panel h2{margin:0}.sidebar-action-row{background:var(--surface-container-lowest);border-top:1px solid var(--outline-variant);grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:10.8px 14.4px;display:grid}.sidebar-action-button{background:var(--surface-container-low);border:1px solid var(--outline-variant);color:var(--primary);min-block-size:34.2px;border-radius:7.2px;justify-content:center;align-items:center;gap:5.4px;min-width:0;padding:7.2px 5.4px;font-size:10.8px;font-weight:800;display:flex}.sidebar-action-button:hover{background:var(--primary-container);border-color:var(--primary-container);color:var(--on-primary-container)}.sidebar-action-button .material-symbols-outlined{font-size:16.2px}.sidebar-header{background:var(--surface);gap:10.8px;padding:12.6px 14.4px;display:grid}.library-filter-row{background:var(--surface-container-high);border:1px solid var(--outline-variant);border-radius:7.2px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.8px;padding:2.7px;display:grid}.library-filter-row button{color:var(--on-surface);background:0 0;border:0;border-radius:5.4px;min-width:0;padding:5.4px 3.6px;font-size:9.9px;font-weight:800;line-height:12.6px}.library-filter-row button:hover,.library-filter-row button[aria-pressed=true]{background:var(--surface-container-lowest);color:var(--primary);box-shadow:0 1px 1.8px #00000014}.custom-ingredient-form{gap:10.8px;display:grid}.custom-form-note{color:var(--on-surface);margin:0;font-size:11.7px;font-weight:700}.custom-field{gap:3.6px;display:grid;position:relative}.custom-field span{color:var(--on-surface);letter-spacing:.04em;text-transform:uppercase;font-size:9.9px;font-weight:800;line-height:10.8px}.custom-field input{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);color:var(--on-surface);border-radius:3.6px;outline:none;min-width:0;padding:6.3px 7.2px;font-size:11.7px;line-height:16.2px}.custom-field input:focus{border-color:var(--primary);box-shadow:0 0 0 1.8px #0f523824}.custom-field input:disabled{background:var(--surface-container-low);color:var(--on-surface);cursor:default}.custom-field em{color:var(--on-surface);pointer-events:none;font-size:9.9px;font-style:normal;position:absolute;bottom:6.3px;right:7.2px}.custom-field:not(.custom-name-field) input{padding-inline-end:36px}.custom-commercial-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.custom-url-field{grid-column:1/-1}.custom-url-field input,.custom-serving-field input{padding-inline-end:7.2px}.custom-nutrient-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.readonly-ingredient-details{gap:16.2px;display:grid}.readonly-product-section{border-bottom:1px solid var(--outline-variant);gap:12.6px;padding-block-end:16.2px;display:grid}.readonly-product-summary{display:block}.readonly-product-summary span{color:var(--on-surface);letter-spacing:.04em;text-transform:uppercase;font-size:9.9px;font-weight:800;line-height:10.8px}.readonly-product-summary h3,.readonly-product-summary p{margin:0}.readonly-product-summary h3{color:var(--on-surface);font-size:18px;font-weight:800;line-height:23.4px}.readonly-product-summary p{color:var(--on-surface);margin-block-start:3.6px;font-size:12.6px;font-weight:700;line-height:18px}.readonly-product-info{gap:7.2px;display:grid}.readonly-product-info h3{color:var(--on-surface);margin:0;font-size:13.5px;font-weight:800;line-height:18px}.readonly-detail-grid{grid-template-columns:repeat(auto-fit,minmax(100.8px,1fr));gap:7.2px;display:grid}.readonly-detail-item{background:var(--surface-container-low);border:1px solid var(--outline-variant);color:var(--on-surface);border-radius:4.5px;gap:1.8px;min-width:0;padding:7.2px 9px;text-decoration:none;display:grid}.readonly-website-card:hover{background:var(--primary-container);border-color:var(--primary-container)}.readonly-website-card:hover span,.readonly-website-card:hover strong{color:var(--on-primary-container)}.readonly-detail-item span,.ingredient-nutrition-header span{color:var(--on-surface);letter-spacing:.04em;text-transform:uppercase;font-size:9.9px;font-weight:800;line-height:10.8px}.readonly-detail-item strong{color:var(--on-surface);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:4.5px;min-width:0;font-size:11.7px;font-weight:800;line-height:18px;display:inline-flex;overflow:hidden}.readonly-detail-item .material-symbols-outlined{font-size:14.4px}.ingredient-nutrition-section{gap:14.4px;display:grid}.ingredient-nutrition-header{justify-content:space-between;align-items:end;display:flex}.ingredient-nutrition-header h3{color:var(--on-surface);margin:0;font-size:18px;font-weight:800;line-height:25.2px}.ingredient-nutrition-header>strong{color:var(--primary);font-size:18px;font-weight:600;line-height:25.2px}.ingredient-macro-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ingredient-micro-section{gap:9px;display:grid}.ingredient-statement-section{background:var(--surface-container-low);border:1px solid var(--outline-variant);border-radius:5.4px;gap:7.2px;padding:10.8px;display:grid}.ingredient-statement-section h3{color:var(--on-surface);margin:0;font-size:13.5px;font-weight:800;line-height:18px}.ingredient-statement-section p{color:var(--on-surface);margin:0;font-size:12.6px;font-weight:600;line-height:18.9px}.ingredient-statement-section.is-empty{border-style:dashed}.ingredient-statement-section.is-empty p{color:var(--on-surface-variant);font-style:italic}.custom-form-actions{grid-template-columns:repeat(auto-fit,minmax(144px,1fr));gap:7.2px;display:grid}.custom-add-button{background:var(--primary);color:var(--on-primary);border:0;border-radius:3.6px;justify-content:center;align-items:center;gap:7.2px;min-block-size:36px;padding:7.2px 10.8px;font-size:12.6px;font-weight:800;display:flex}.custom-delete-button{color:#991b1b;background:#fee2e2;border:1px solid #fecaca;border-radius:3.6px;justify-content:center;align-items:center;gap:7.2px;min-block-size:36px;padding:7.2px 10.8px;font-size:12.6px;font-weight:800;display:flex}.custom-delete-button:disabled{cursor:not-allowed;opacity:.55}.custom-add-button:disabled{background:var(--surface-container-highest);color:var(--on-surface);cursor:not-allowed}.custom-ingredient-modal{inline-size:min(576px,100%)}.barcode-modal{inline-size:min(396px,100%)}.url-script-modal{inline-size:min(504px,100%)}.replacement-picker-modal{inline-size:min(648px,100%)}.barcode-form,.url-script-form{gap:12.6px;display:grid}.barcode-input-row{grid-template-columns:minmax(0,1fr) 39.6px;align-items:end;gap:9px;display:grid}.camera-scan-button{background:var(--surface-container);border:1px solid var(--outline-variant);color:var(--primary);border-radius:3.6px;justify-content:center;align-items:center;width:39.6px;height:30.6px;display:flex}.camera-scan-button:hover{background:var(--primary-container);color:var(--on-primary-container)}.camera-preview{background:var(--surface-container);border:1px solid var(--outline-variant);border-radius:7.2px;gap:7.2px;padding:7.2px;display:grid;overflow:hidden}.camera-preview video{aspect-ratio:4/3;object-fit:cover;background:#000;border-radius:3.6px;inline-size:100%}.camera-preview span{color:var(--on-surface);text-align:center;font-size:10.8px;font-weight:700}.url-script-result{background:var(--surface-container);border:1px solid var(--outline-variant);color:var(--on-surface);white-space:pre-wrap;border-radius:7.2px;max-block-size:216px;margin:0;padding:10.8px;font-size:10.8px;line-height:16.2px;overflow:auto}.modal-error{color:var(--error);background:#ba1a1a14;border:1px solid #ba1a1a38;border-radius:3.6px;margin:0;padding:9px 10.8px;font-size:11.7px;font-weight:700}.breadcrumbs,.ribbon-label span{color:var(--on-surface);letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:10.8px;font-weight:700;line-height:14.4px}.library-list{flex:1;align-content:start;gap:9px;min-height:0;padding:10.8px 14.4px 21.6px;display:grid;overflow-y:auto}.library-card{background:var(--surface-container-lowest);border:1px solid #70797338;border-radius:7.2px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;padding:10.8px;display:grid}.library-card:hover{border-color:var(--primary);box-shadow:0 3.6px 12.6px #0f523814}.library-card[role=button]{cursor:pointer}.library-card[role=button]:focus-visible{border-color:var(--primary);outline:none;box-shadow:0 0 0 1.8px #0f523829}.library-card h4,.library-card p{margin:0}.library-card-body{gap:4.5px;min-width:0;display:grid}.library-card h4{color:var(--on-surface);text-overflow:ellipsis;white-space:nowrap;font-size:12.6px;font-weight:700;line-height:18px;overflow:hidden}.library-card p{color:var(--on-surface);font-size:10.8px}.library-tags{flex-wrap:wrap;gap:3.6px;display:flex}.library-tags span{text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;border-radius:899.1px;max-inline-size:100.8px;padding:1px 5.4px;font-size:9px;font-weight:800;line-height:12.6px;overflow:hidden}.library-source-pill.woolworths{color:#14532d;background:#d8f3dc;border:1px solid #95d5a1}.library-source-pill.abs{color:#075985;background:#e0f2fe;border:1px solid #7dd3fc}.library-source-pill.created{color:#4c1d95;background:#ede9fe;border:1px solid #c4b5fd}.library-detail-pill{background:var(--surface-container-high);border:1px solid var(--outline-variant);color:var(--on-surface-variant)}.library-card-actions{justify-items:center;gap:4.5px;display:grid}.library-card .library-card-action-button{background:var(--surface-container);color:var(--primary);border:0;border-radius:899.1px;justify-content:center;align-items:center;width:28.8px;height:28.8px;text-decoration:none;display:flex}.library-card .library-card-action-button:hover{background:var(--primary-container);color:var(--on-primary-container)}.library-empty{color:var(--on-surface);margin:7.2px 0;font-size:12.6px}.recipe-workspace{background:#fbfaf7;flex:1;min-width:0;padding:28.8px;overflow:hidden auto}.recipe-workspace>*{inline-size:min(100%,1008px);margin-inline:auto}.recipe-builder-sheet{color:#1d211c;background:radial-gradient(circle at 12% 18%,#22201a21 0 1px,#0000 1.26px) 0 0/133.2px 127.8px,radial-gradient(circle at 74% 12%,#22201a1a 0 1px,#0000 1.17px) 0 0/167.4px 156.6px,radial-gradient(circle at 28% 68%,#22201a1c 0 1px,#0000 1.26px) 0 0/145.8px 135px,radial-gradient(circle at 86% 78%,#22201a1a 0 1px,#0000 1.17px) 0 0/189px 171px,#fffdf7;border:1px solid #3e53451f;border-radius:9px;min-inline-size:0;padding:clamp(30.6px,5vw,52.2px);font-family:Georgia,Times New Roman,serif;position:relative;overflow:hidden;box-shadow:0 21.6px 54px #2d261c1f}.recipe-builder-actions{z-index:2;align-items:center;display:inline-flex;position:absolute;top:clamp(16.2px,3vw,30.6px);right:clamp(16.2px,3vw,30.6px)}.recipe-builder-actions button{color:#2b3a2f94;background:0 0;border:0;border-radius:899.1px;justify-content:center;align-items:center;width:27px;height:27px;padding:0;transition:background .14s,color .14s;display:inline-flex}.recipe-builder-actions button:hover{color:#b42318;background:#2b3a2f12}.recipe-builder-actions .material-symbols-outlined{font-size:18px}.recipe-header{justify-content:space-between;align-items:end;margin-block-end:28.8px;display:flex}.breadcrumbs{gap:7.2px;margin-block-end:7.2px;display:flex}.breadcrumbs button{color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;background:0 0;border:0;padding:0}.breadcrumbs button:hover{color:var(--primary)}.breadcrumbs span:last-child{color:var(--on-surface)}.meal-name-field{gap:3.6px;display:grid}.meal-name-field span,.nutrition-servings-field span{color:var(--on-surface);letter-spacing:.05em;text-transform:uppercase;font-size:10.8px;font-weight:700;line-height:14.4px}.meal-name-field input{color:var(--on-surface);letter-spacing:-.01em;background:0 0;border:1px solid #0000;border-radius:3.6px;outline:none;min-inline-size:min(576px,100%);max-inline-size:100%;margin-inline-start:-7.2px;padding:1.8px 7.2px;font-size:28.8px;font-weight:600;line-height:36px}.meal-name-field input:focus{background:var(--surface-container-lowest);border-color:var(--primary);box-shadow:0 0 0 1.8px #0f523824}.recipe-builder-sheet .recipe-header{border-bottom:1px solid #2b3a2f24;align-items:center;margin-block-end:10.8px;padding-block-end:27px}.recipe-builder-sheet .recipe-header>div,.recipe-builder-sheet .meal-name-field{inline-size:100%}.recipe-builder-sheet .meal-name-field input{color:#171a16;letter-spacing:-.02em;inline-size:100%;min-inline-size:0;margin:0;padding:3.6px 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(36px,5.4vw,54px);font-weight:500;line-height:.98}.recipe-builder-sheet .meal-name-field input:focus{background:#fffdf7c2;border-color:#2b3a2f38;box-shadow:0 0 0 1.8px #0f52381a}.recipe-builder-sheet .meal-name-field.locked input{color:#171a16;cursor:default}.recipe-builder-sheet .meal-name-field.locked input:focus{box-shadow:none;background:0 0;border-color:#0000}.meal-variation-title-fields{gap:7.2px;inline-size:100%;display:grid}.meal-variation-name-field{align-items:baseline;gap:7.2px;inline-size:fit-content;max-inline-size:100%;display:flex}.meal-variation-name-field span{color:#29312a94;letter-spacing:0;font-family:Inter,system-ui,sans-serif;font-size:10.1px;font-weight:400;line-height:13.5px}.meal-variation-name-field input{color:#171a16bd;background:0 0;border:1px solid #0000;border-radius:5.4px;min-inline-size:min(270px,72vw);padding:1.8px 5.4px;font-family:Inter,system-ui,sans-serif;font-size:18px;font-weight:400;line-height:24px}.meal-variation-name-field input:focus{background:#fffdf7c2;border-color:#2b3a2f38;outline:none;box-shadow:0 0 0 1.8px #0f52381a}.recipe-description-section{margin-block:-10.8px 18px}.recipe-description-section label{gap:5.4px;display:grid}.recipe-description-section span{color:#29312a9e;letter-spacing:.08em;text-transform:uppercase;font-family:Inter,system-ui,sans-serif;font-size:9px;font-weight:600;line-height:12.6px}.recipe-description-section textarea{color:#1d211c;resize:vertical;background:#fffdf7b8;border:1px solid #2b3a2f29;border-radius:7.2px;min-block-size:70.2px;padding:9px 10.8px;font-family:Inter,system-ui,sans-serif;font-size:13.5px;font-weight:400;line-height:18px}.recipe-description-section textarea:focus{border-color:#005a4685;outline:none;box-shadow:0 0 0 1.8px #0f52381a}.recipe-image-section{border-bottom:1px solid #2b3a2f1f;grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:10.8px;margin-block:-1.8px 19.8px;padding-block-end:16.2px;display:grid}.recipe-image-preview{aspect-ratio:4/3;color:#2b3a2f7a;background:#2b3a2f0f;border:1px solid #2b3a2f29;border-radius:7.2px;justify-content:center;align-items:center;display:flex;overflow:hidden}.recipe-image-preview img{object-fit:cover;block-size:100%;inline-size:100%}.recipe-image-preview .material-symbols-outlined{font-size:21.6px}.recipe-image-copy{gap:2.7px;min-inline-size:0;display:grid}.recipe-image-copy span{color:#1d211c;font-family:Inter,system-ui,sans-serif;font-size:13.5px;font-weight:600;line-height:18px}.recipe-image-copy p{color:#29312a9e;margin:0;font-family:Inter,system-ui,sans-serif;font-size:10.1px;line-height:13.5px}.recipe-image-actions{align-items:center;gap:7.2px;display:flex}.recipe-image-upload-button,.recipe-image-actions button{color:var(--primary);cursor:pointer;background:#fff;border:1px solid #005a4685;border-radius:7.2px;justify-content:center;align-items:center;min-block-size:34.2px;padding:0 12.6px;font-family:Inter,system-ui,sans-serif;font-size:13.5px;font-weight:500;line-height:18px;display:inline-flex}.recipe-image-upload-button input{clip:rect(0 0 0 0);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.recipe-image-actions button{color:var(--accent);border-color:#ac364952}.recipe-tags-section{align-items:center;gap:9px;min-height:27px;margin-block-end:30.6px;display:flex}.recipe-tags-section>span{color:#29312a9e;letter-spacing:.08em;text-transform:uppercase;flex:none;font-family:Inter,system-ui,sans-serif;font-size:9px;font-weight:600;line-height:12.6px}.recipe-tags-control{flex-wrap:wrap;flex:1;align-items:center;gap:5.4px;min-width:0;display:flex}.recipe-tag-chip{color:var(--primary);background:#0f52381a;border:1px solid #0f523833;border-radius:899.1px;align-items:center;gap:2.7px;padding:3.6px 6.3px 3.6px 8.1px;font-family:Inter,system-ui,sans-serif;font-size:10.8px;font-weight:700;line-height:14.4px;display:inline-flex}.recipe-tag-checkbox{color:#1d211c61;cursor:pointer;-webkit-user-select:none;user-select:none;background:#2b3a2f06;border:1px solid #2b3a2f12;border-radius:899.1px;align-items:center;padding:3.6px 8.1px;font-family:Inter,system-ui,sans-serif;font-size:10.8px;font-weight:800;line-height:14.4px;transition:background .14s,border-color .14s,color .14s;display:inline-flex}.recipe-tag-checkbox input{opacity:0;block-size:1px;inline-size:1px;position:absolute}.recipe-tag-checkbox:has(input:checked){color:var(--primary);background:#0f52381a;border-color:#0f523833}.recipe-tag-checkbox:has(input:focus-visible){box-shadow:0 0 0 1.8px #0f523824}.recipe-tag-checkbox:hover{color:#1d211c8c;background:#2b3a2f0e;border-color:#2b3a2f1c}.recipe-tag-chip:hover{background:#0f523824;border-color:#0f523842}.recipe-tag-chip .material-symbols-outlined{font-size:11.7px}.recipe-tag-input-wrap{flex:99px;min-inline-size:99px;position:relative}.recipe-tags-control input{color:#1d211cc7;background:0 0;border:1px solid #0000;border-radius:899.1px;outline:none;inline-size:100%;padding:4.5px 7.2px;font-family:Inter,system-ui,sans-serif;font-size:10.8px;font-weight:700}.recipe-tags-control input:focus{background:#fffdf7c7;border-color:#2b3a2f33}.recipe-tag-suggestions{z-index:8;background:#fffdf7;border:1px solid #2b3a2f24;border-radius:7.2px;gap:1.8px;min-inline-size:144px;padding:3.6px;display:grid;position:absolute;inset-block-start:calc(100% + 3.6px);inset-inline-start:0;box-shadow:0 10.8px 27px #2d261c24}.recipe-tag-suggestions button{color:#1d211cc7;text-align:start;background:0 0;border:0;border-radius:4.5px;padding:5.4px 7.2px;font-family:Inter,system-ui,sans-serif;font-size:10.8px;font-weight:750;line-height:14.4px}.recipe-tag-suggestions button:hover{color:var(--primary);background:#0f523814}.meal-view-tags-editor{align-items:flex-start;margin-block:3.6px 0}.recipe-builder-sheet .nutrition-servings-field span,.recipe-builder-sheet .recipe-servings-field span{color:#29312a;font-family:Inter,system-ui,sans-serif;font-size:9.9px;font-weight:600}.recipe-builder-sheet .nutrition-servings-field input{height:30.6px;background:#fffdf7b3;border-color:#2b3a2f38;border-radius:0;inline-size:52.2px;font-family:Inter,system-ui,sans-serif}.button{border-radius:3.6px;min-block-size:36px;padding:7.2px 21.6px;font-size:12.6px;font-weight:700}.button.primary{background:var(--primary);border:1px solid var(--primary);color:var(--on-primary)}.button.secondary{border:1px solid var(--outline);color:var(--on-surface-variant);background:0 0}.button:hover{filter:brightness(.97)}.recipe-method-drawer{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);box-shadow:var(--shadow-ambient);border-radius:7.2px;margin-block-start:21.6px;overflow:hidden}.recipe-builder-sheet .recipe-method-drawer{box-shadow:none;background:0 0;border:0;border-radius:0;margin-block-start:37.8px}.recipe-method-drawer summary{color:var(--primary);cursor:pointer;grid-template-columns:21.6px minmax(0,1fr) 21.6px;align-items:center;gap:9px;min-block-size:46.8px;padding:12.6px 16.2px;font-size:12.6px;font-weight:800;list-style:none;display:grid}.recipe-builder-sheet .recipe-method-drawer summary{color:var(--primary);border-bottom:1px solid #2b3a2f24;grid-template-columns:minmax(0,1fr) 21.6px;min-block-size:0;padding:0 0 10.8px;font-family:Georgia,Times New Roman,serif;font-size:30.6px;font-weight:500;line-height:36px}.recipe-builder-sheet .recipe-method-drawer summary>.material-symbols-outlined:first-child{display:none}.recipe-builder-sheet .recipe-method-drawer summary>span:not(.material-symbols-outlined){min-width:0}.recipe-method-drawer summary::-webkit-details-marker{display:none}.recipe-method-drawer[open] .drawer-chevron{transform:rotate(180deg)}.method-builder{border-top:1px solid var(--outline-variant);gap:14.4px;padding:16.2px;display:grid}.recipe-builder-sheet .method-builder{border-top:0;padding:16.2px 0 0}.method-section{background:var(--surface-container-low);border:1px solid var(--outline-variant);border-radius:7.2px;gap:12.6px;padding:12.6px;display:grid}.recipe-builder-sheet .method-section{background:#fffdf79e;border-color:#2b3a2f24;border-radius:0;font-family:Inter,system-ui,sans-serif}.method-section-header{grid-template-columns:minmax(0,1fr) 30.6px;align-items:end;gap:9px;display:grid}.method-section-header label{gap:5.4px;display:grid}.method-section-header label>span{color:var(--on-surface);letter-spacing:.04em;text-transform:uppercase;font-size:9.9px;font-weight:800;line-height:10.8px}.method-section-header input,.method-step textarea{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);color:var(--on-surface);font:inherit;border-radius:5.4px;outline:none;padding:9px 10.8px;line-height:19.8px}.method-section-header input{font-weight:800}.method-step-list{gap:9px;margin:0;padding:0;list-style:none;display:grid}.method-step{grid-template-columns:25.2px minmax(0,1fr) 30.6px;align-items:start;gap:9px;display:grid}.method-step>span{background:var(--primary-container);color:var(--on-primary);border-radius:899.1px;justify-content:center;align-items:center;width:25.2px;height:25.2px;margin-block-start:3.6px;font-size:10.8px;font-weight:800;display:flex}.method-step textarea{resize:vertical;min-block-size:59.4px}.method-section-header input:focus,.method-step textarea:focus{border-color:var(--primary);box-shadow:0 0 0 1.8px #0f523824}.method-icon-button{color:var(--on-surface);background:0 0;border:0;border-radius:3.6px;justify-content:center;align-items:center;width:30.6px;height:30.6px;display:flex}.method-icon-button:hover{background:var(--surface-container-high);color:var(--error)}.method-secondary-button,.method-add-section-button{border:1px solid var(--outline-variant);border-radius:3.6px;justify-content:center;align-items:center;gap:5.4px;min-block-size:32.4px;padding:6.3px 10.8px;font-size:11.7px;font-weight:800;display:flex}.method-secondary-button{background:var(--surface-container-lowest);color:var(--primary);justify-self:start}.method-add-section-button{background:var(--primary);color:var(--on-primary)}.method-empty-state{border:1px dashed var(--outline-variant);color:var(--on-surface);text-align:center;border-radius:7.2px;place-items:center;gap:7.2px;min-block-size:108px;padding:18px;display:grid}.method-empty-state .material-symbols-outlined{color:var(--primary);font-size:28.8px}.method-empty-state p{margin:0;font-size:12.6px;font-weight:700}.meals-page{background:#fbfaf7;grid-template-rows:auto auto minmax(0,1fr);grid-auto-rows:max-content;align-content:start;min-block-size:calc(100svh - 57.6px);padding:28.8px;display:grid;overflow:hidden auto}.meals-page>*{inline-size:min(100%,810px);margin-inline:auto}.meals-page-header{justify-content:space-between;align-items:end;margin-block-end:21.6px;display:flex}.meals-page-header h1{color:var(--on-surface);margin:0;font-size:28.8px;font-weight:600;line-height:36px}.meals-page-header .button{align-items:center;gap:7.2px;display:flex}.meals-page-tools{grid-template-columns:minmax(234px,1fr) minmax(189px,234px);grid-auto-rows:max-content;align-content:start;align-self:start;align-items:start;gap:9px;margin-block-end:16.2px;display:grid;position:relative}.meals-page-search{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:5.4px;align-self:start;align-items:center;gap:7.2px;min-block-size:37.8px;padding:0 10.8px;display:flex}.meals-page-search .material-symbols-outlined{color:#45504b;font-size:19.8px}.meals-page-search input{color:#6b7280;background:0 0;border:0;outline:none;flex:1;min-inline-size:0;font-size:12.6px;font-weight:650}.meals-page-search:focus-within{box-shadow:0 0 0 1.8px #0f52381f}.meals-page-controls{grid-template-columns:minmax(0,1fr) 37.8px;align-self:start;gap:7.2px;display:grid}.meals-page-sort{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:5.4px;align-items:center;gap:7.2px;min-block-size:37.8px;min-inline-size:0;padding:0 7.2px 0 10.8px;display:flex}.meals-page-sort>span,.meals-page-filter-panel label span{color:#45504b;letter-spacing:.05em;text-transform:uppercase;font-size:9px;font-weight:600}.meals-page-sort select{appearance:none;color:#45504b;background:0 0;border:0;outline:none;flex:1;min-inline-size:0;padding-block:5.4px;font-size:10.8px;font-weight:600}.meals-page-sort button,.meals-page-filter-button,.meals-page-filter-panel>button{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);color:#45504b;border-radius:5.4px;justify-content:center;align-items:center;font-size:10.8px;font-weight:600;display:inline-flex}.meals-page-sort button{background:0 0;border:0;align-self:stretch;padding:0}.meals-page-filter-button{min-block-size:37.8px;padding:0}.meals-page-sort button:hover,.meals-page-filter-button:hover,.meals-page-filter-button[aria-expanded=true],.meals-page-filter-panel>button:hover{background:var(--primary-container);color:var(--on-primary-container)}.meals-page-sort .material-symbols-outlined,.meals-page-filter-button .material-symbols-outlined{font-size:18.9px}.meals-page-filter-panel{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);z-index:25;border-radius:7.2px;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;inline-size:min(558px,100%);padding:9px;display:grid;position:absolute;inset-block-start:46.8px;inset-inline-end:0;box-shadow:0 16.2px 37.8px #2d261c29}.meals-page-filter-panel label{gap:3.6px;min-inline-size:0;display:grid}.meals-page-filter-panel .meals-page-filter-checkbox{grid-column:1/-1;align-items:center;gap:7.2px;display:flex}.meals-page-filter-panel .meals-page-filter-checkbox input{accent-color:var(--primary);block-size:14.4px;inline-size:14.4px;min-inline-size:14.4px;padding:0}.meals-page-filter-panel .meals-page-filter-checkbox span{color:var(--on-surface);font-size:12.6px;font-weight:400;line-height:16.2px}.meals-page-filter-panel input{border:1px solid var(--outline-variant);color:var(--on-surface);background:#fff;border-radius:5.4px;min-inline-size:0;padding:5.4px 6.3px;font-size:10.8px;font-weight:850}.meals-page-filter-panel input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 1.8px #0f52381f}.meals-page-filter-panel>button{justify-self:start;padding:6.3px 9px}.meals-page-range-filter{--range-color:var(--primary);background:color-mix(in srgb, var(--range-color) 10%, white);border:1px solid color-mix(in srgb, var(--range-color) 28%, white);border-radius:7.2px;gap:10.8px;min-inline-size:0;padding:9.9px;display:grid}.meals-page-range-filter[data-tone=protein]{--range-color:var(--protein)}.meals-page-range-filter[data-tone=carbs]{--range-color:var(--carbs)}.meals-page-range-filter[data-tone=fat]{--range-color:var(--fat)}.meals-page-range-filter header{justify-content:space-between;align-items:center;gap:9px;display:flex}.meals-page-range-filter header span{color:color-mix(in srgb, var(--range-color) 74%, #1d211c);letter-spacing:.05em;text-transform:uppercase;font-size:9px;font-weight:600}.meals-page-range-filter header strong{color:color-mix(in srgb, var(--range-color) 82%, #1d211c);white-space:nowrap;font-size:10.8px;font-weight:600;line-height:14.4px}.meals-page-range-slider{block-size:21.6px;position:relative}.meals-page-range-slider:before{background:linear-gradient(to right, #2b3a2f24 0 var(--range-start), var(--range-color) var(--range-start) var(--range-end), #2b3a2f24 var(--range-end) 100%);content:"";border-radius:899.1px;block-size:5.4px;position:absolute;inset-block-start:8.1px;inset-inline:0}.meals-page-range-slider input[type=range]{appearance:none;pointer-events:none;background:0 0;border:0;block-size:5.4px;inline-size:100%;margin:0;padding:0;position:absolute;inset-block-start:8.1px;inset-inline-start:0}.meals-page-range-slider input[type=range]::-webkit-slider-runnable-track{appearance:none;background:0 0;block-size:5.4px}.meals-page-range-slider input[type=range]::-moz-range-track{background:0 0;block-size:5.4px}.meals-page-range-slider input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--range-color);pointer-events:auto;border:1.8px solid #fff;border-radius:899.1px;block-size:14.4px;inline-size:14.4px;margin-block-start:-4.5px;box-shadow:0 1px 4.5px #1d211c38}.meals-page-range-slider input[type=range]::-moz-range-thumb{background:var(--range-color);pointer-events:auto;border:1.8px solid #fff;border-radius:899.1px;block-size:14.4px;inline-size:14.4px;box-shadow:0 1px 4.5px #1d211c38}.meal-tag-toggle-filter{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:5.4px;min-inline-size:0;display:flex}.meal-tag-toggle-filter button{color:#1d211c70;background:#2b3a2f06;border:1px solid #2b3a2f12;border-radius:899.1px;padding:3.6px 8.1px;font-size:9.9px;font-weight:850;line-height:13.5px}.meal-tag-toggle-filter button:hover{color:#1d211c9e;background:#2b3a2f0e;border-color:#2b3a2f1c}.meal-tag-toggle-filter button[aria-pressed=true]{color:var(--primary);background:#0f52381a;border-color:#0f523833}.meal-tag-filter{grid-column:1/-1;gap:6.3px;min-inline-size:0;display:grid;position:relative}.meal-tag-filter>span,.meal-tag-filter label span{color:#45504b;letter-spacing:.05em;text-transform:uppercase;font-size:9px;font-weight:600}.meal-tag-filter-defaults,.meal-tag-filter-selected{flex-wrap:wrap;align-items:center;gap:4.5px;min-inline-size:0;display:flex}.meal-tag-filter-defaults button{border-radius:899.1px;align-items:center;gap:2.7px;padding:3.6px 7.2px;font-size:9.9px;font-weight:850;line-height:13.5px;display:inline-flex}.meal-tag-filter-defaults button:not(.meal-tag-filter-chip){color:#1d211c6b;background:#2b3a2f06;border:1px solid #2b3a2f12}.meal-tag-filter-defaults button[aria-pressed=true],.meal-tag-filter-chip{color:var(--primary);background:#0f52381a;border:1px solid #0f523833}.meal-tag-filter-chip .material-symbols-outlined{font-size:11.7px}.meal-tag-filter-search{flex:126px;min-inline-size:108px;position:relative}.meal-tag-filter-search input{inline-size:100%}.meal-tag-filter-suggestions{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);z-index:20;border-radius:7.2px;gap:1.8px;min-inline-size:144px;padding:3.6px;display:grid;position:absolute;inset-block-start:calc(100% + 3.6px);inset-inline-start:0;box-shadow:0 10.8px 27px #2d261c24}.meal-tag-filter-suggestions button{color:#1d211cc7;text-align:start;background:0 0;border:0;border-radius:4.5px;padding:5.4px 7.2px;font-size:10.8px;font-weight:800;line-height:14.4px}.meal-tag-filter-suggestions button:hover{color:var(--primary);background:#0f523814}.profile-page{scroll-behavior:smooth;background:#fbfaf7;block-size:calc(100svh - 57.6px);padding:28.8px;font-family:Inter,system-ui,sans-serif;overflow-y:auto}.profile-page>*{inline-size:min(100%,1120px);margin-inline:auto}.profile-shell{grid-template-columns:216px minmax(0,1fr);align-items:start;gap:18px;display:grid}.profile-side-panel{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);box-shadow:var(--shadow-ambient);border-radius:9px;flex-direction:column;padding:16.2px;display:flex;position:sticky;top:0}.profile-side-panel span{color:var(--primary);letter-spacing:.08em;text-transform:uppercase;font-size:10.1px;font-weight:600;line-height:13.5px;display:block}.profile-side-panel strong{color:var(--on-surface);margin-block-start:2.7px;font-size:18px;font-weight:600;line-height:24px;display:block}.profile-side-panel nav{border-block-start:1px solid var(--outline-variant);gap:3.6px;margin-block-start:14.4px;padding-block-start:12.6px;display:grid}.profile-side-panel a{color:var(--on-surface);border-radius:5.4px;padding:8.1px 9px;font-size:13.5px;font-weight:500;line-height:18px;text-decoration:none}.profile-side-panel a:hover,.profile-side-panel a:focus-visible{background:var(--surface-container-low);color:var(--primary);outline:none}.profile-side-panel a.is-active{color:var(--primary);background:#005a461a;font-weight:600}.profile-side-logout{border-block-start:1px solid var(--outline-variant);inline-size:100%;margin-block-start:12.6px;padding-block-start:12.6px}.profile-save-bar{color:var(--inverse-on-surface);z-index:70;background:#2c312d;border:1px solid #ffffff1f;border-radius:10.8px;justify-content:space-between;align-items:center;gap:14.4px;max-inline-size:calc(100vw - 32.4px);padding:9px 10.8px 9px 14.4px;display:flex;position:fixed;inset-block-end:16.2px;inset-inline-start:50%;transform:translate(-50%);box-shadow:0 12.6px 32.4px #00000038}.profile-save-bar>span{color:var(--inverse-on-surface);white-space:nowrap;font-size:13.5px;font-weight:600;line-height:18px}.profile-main-panel{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);box-shadow:var(--shadow-ambient);border-radius:9px;min-inline-size:0;padding:18px}.profile-main-panel>section{scroll-margin-block-start:18px}.profile-header{justify-content:space-between;align-items:end;gap:16.2px;margin-block-end:18px;display:flex}.profile-header span{color:var(--on-surface);letter-spacing:.08em;text-transform:uppercase;font-size:10.1px;font-weight:600;line-height:13.5px}.profile-header h1,.profile-header p,.profile-settings-card h2,.profile-settings-card p,.profile-household-card h2,.profile-household-card p{margin:0}.profile-header h1{color:var(--on-surface);font-size:32px;font-weight:600;line-height:42.6px}.profile-header p,.profile-settings-card p,.profile-household-card p{color:var(--on-surface);font-size:13.5px;font-weight:400;line-height:18px}.profile-header-actions,.profile-household-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:9px;display:flex}.profile-primary-button,.profile-secondary-button{border-radius:5.4px;justify-content:center;align-items:center;gap:7.2px;min-block-size:36px;padding:8.1px 12.6px;font-size:13.5px;font-weight:600;display:inline-flex}.profile-primary-button{background:var(--primary);border:1px solid var(--primary);color:var(--on-primary)}.profile-primary-button:disabled{cursor:wait;opacity:.72}.profile-secondary-button{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);color:var(--primary)}.profile-secondary-button[aria-pressed=true]{background:#125d3f1a;border-color:#125d3f47}.profile-name-field span,.profile-color-picker>span,.profile-goal-field span{color:var(--on-surface);letter-spacing:.06em;text-transform:uppercase;font-size:10.1px;font-weight:600;line-height:13.5px}.profile-error,.profile-saved,.profile-empty-state{border-radius:7.2px;margin-block:0 12.6px;padding:9px 10.8px;font-size:13.5px;font-weight:600;line-height:18px}.profile-error{color:var(--error);background:#fff0ef;border:1px solid #ba1a1a3d}.profile-saved{background:var(--surface-container-low);color:var(--primary);border:1px solid #125d3f2e}.profile-empty-state{background:var(--surface-container-low);color:var(--on-surface)}.profile-settings-card,.profile-household-card{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);box-shadow:var(--shadow-ambient);border-radius:9px;margin-block-end:14.4px;padding:18px}.profile-main-panel>.profile-settings-card,.profile-main-panel>.profile-household-card{box-shadow:none;background:0 0;border:0;border-radius:0;margin-block-end:28.8px;padding:0 0 28.8px}.profile-main-panel>.profile-settings-card:not(:last-child),.profile-main-panel>.profile-household-card:not(:last-child){border-block-end:1px solid var(--outline-variant)}.profile-main-panel>.profile-settings-card:last-child,.profile-main-panel>.profile-household-card:last-child{margin-block-end:0;padding-block-end:0}.profile-settings-card>header,.profile-household-card>header{justify-content:space-between;align-items:center;gap:14.4px;margin-block-end:18px;display:flex}.profile-settings-card h2,.profile-household-card h2{color:var(--on-surface);font-size:24px;font-weight:600;line-height:32px}.profile-household-members{margin-block-start:28.8px}.profile-household-members>header{justify-content:space-between;align-items:center;gap:14.4px;margin-block-end:18px;display:flex}.profile-household-members h3,.profile-household-members p{margin:0}.profile-household-members h3{color:var(--on-surface);font-size:18px;font-weight:600;line-height:24px}.profile-household-members p{color:var(--on-surface);font-size:13.5px;font-weight:400;line-height:18px}.profile-settings-grid{grid-template-columns:minmax(0,1fr) minmax(234px,.7fr);gap:13.5px;display:grid}.profile-person-list{gap:13.5px;display:grid}.profile-person-card{background:var(--surface-container-low);border:1px solid var(--outline-variant);border-radius:7.2px;grid-template-columns:minmax(270px,1.4fr) minmax(220px,1fr) auto;align-items:center;gap:12.6px;padding:12.6px;display:grid}.profile-person-main{grid-template-columns:auto minmax(162px,1fr) auto auto;align-items:center;gap:9px;display:grid}.profile-person-avatar{background:var(--primary);color:var(--on-primary);border-radius:899.1px;justify-content:center;align-items:center;block-size:37.8px;inline-size:37.8px;font-size:18px;font-weight:600;display:flex}.profile-name-field,.profile-color-picker,.profile-goal-field{gap:5.4px;display:grid;position:relative}.profile-color-current{block-size:34.2px;color:var(--on-primary);cursor:pointer;font:inherit;border:0;border-radius:899.1px;justify-content:center;align-items:center;inline-size:34.2px;padding:0;display:inline-flex}.profile-color-current:focus{outline:none}.profile-color-current:focus-visible{outline:none;box-shadow:0 0 0 2.7px #125d3f38}.profile-color-menu{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);z-index:12;border-radius:7.2px;grid-template-columns:repeat(3,21.6px);gap:7.2px;padding:9px;display:grid;position:absolute;top:calc(100% + 5.4px);left:0;box-shadow:0 10.8px 27px #00000024}.profile-color-menu>button{border:1.8px solid #0000;border-radius:899.1px;block-size:21.6px;inline-size:21.6px;padding:0}.profile-color-menu>button[aria-pressed=true]{box-shadow:0 0 0 1.8px var(--surface-container-lowest), 0 0 0 3.6px var(--primary)}.profile-color-custom{border-top:1px solid var(--outline-variant);grid-column:1/-1;align-items:center;gap:7.2px;padding-block-start:7.2px;display:flex}.profile-color-custom span{color:var(--on-surface);font-size:10.1px;font-weight:600;line-height:13.5px}.profile-color-custom input[type=color]{appearance:none;border:1px solid var(--outline-variant);background:0 0;border-radius:899.1px;block-size:23.4px;inline-size:23.4px;padding:1.8px}.profile-color-custom input[type=color]::-webkit-color-swatch-wrapper{padding:0}.profile-color-custom input[type=color]::-webkit-color-swatch{border:0;border-radius:899.1px}.profile-color-custom input[type=color]::-moz-color-swatch{border:0;border-radius:899.1px}.profile-name-field input,.profile-name-field select,.profile-goal-field input{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);color:var(--on-surface);min-block-size:34.2px;border-radius:5.4px;width:100%;padding:7.2px 9px;font-size:13.5px;font-weight:600;line-height:18px}.profile-name-field select{appearance:none}.profile-name-field input:disabled,.profile-name-field select:disabled{color:var(--on-surface);cursor:not-allowed;opacity:.78}.profile-name-field input:focus,.profile-name-field select:focus,.profile-goal-field input:focus{border-color:var(--primary);outline:1.8px solid #125d3f24}.profile-household-access-grid,.profile-household-tools{gap:10.8px;display:grid}.profile-household-access-grid{grid-template-columns:minmax(180px,1fr);align-items:end}.profile-household-tools{grid-template-columns:minmax(0,1fr) auto;align-items:end;margin-block-start:12.6px}.profile-inline-action{grid-template-columns:minmax(0,1fr) auto;gap:7.2px;display:grid}.profile-inline-action .profile-secondary-button{min-block-size:34.2px}.profile-danger-button{color:var(--accent)}.profile-danger-button:disabled{color:var(--on-surface-variant);opacity:.55}.profile-user-pill{color:var(--primary);text-transform:uppercase;background:#125d3f1a;border:1px solid #125d3f29;border-radius:899.1px;padding:3.6px 7.2px;font-size:9.9px;font-weight:600;line-height:14.4px}.profile-muted-pill{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);color:var(--on-surface-variant);text-transform:uppercase;border-radius:899.1px;padding:3.6px 7.2px;font-size:9.9px;font-weight:600;line-height:14.4px}.profile-person-id-field input{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.7px;font-weight:500}.profile-person-actions{justify-content:flex-end;align-items:center;gap:7.2px;display:flex}.profile-nutrition-person-card{background:var(--surface-container-low);border:1px solid var(--outline-variant);border-radius:7.2px;grid-template-columns:1fr;gap:10.8px;padding:12.6px;display:grid}.profile-nutrition-person-heading{border-block-end:1px solid var(--outline-variant);align-items:center;gap:9px;padding-block-end:9px;display:flex}.profile-nutrition-person-heading strong{color:var(--on-surface);font-size:13.5px;font-weight:600;line-height:18px}.profile-goal-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;display:grid}.profile-goal-field>div{grid-template-columns:minmax(0,1fr) auto;display:grid}.profile-goal-field input{text-align:right;border-start-end-radius:0;border-end-end-radius:0}.profile-goal-field small{background:var(--surface-container-high);border:1px solid var(--outline-variant);color:var(--on-surface);border-inline-start:0;border-radius:0 5.4px 5.4px 0;justify-content:center;align-items:center;min-inline-size:30.6px;padding-inline:7.2px;font-size:11.7px;font-weight:600;display:flex}.profile-remove-button{color:var(--on-surface);background:0 0;border:0;border-radius:899.1px;justify-content:center;align-items:center;block-size:30.6px;inline-size:30.6px;display:flex}.profile-remove-button:hover:not(:disabled){color:var(--error);background:#fff0ef}.profile-remove-button:disabled{cursor:not-allowed;opacity:.32}.dashboard-page{background:#fbfaf7;grid-template-rows:auto minmax(0,1fr);gap:16.2px;block-size:calc(100svh - 57.6px);padding:25.2px 28.8px 28.8px;display:grid;overflow:hidden}.dashboard-header{justify-content:space-between;align-items:end;display:flex}.dashboard-header span{color:var(--primary);letter-spacing:.1em;text-transform:uppercase;font-size:10.8px;font-weight:600;line-height:14.4px}.dashboard-header h1,.dashboard-header p{margin:0}.dashboard-header h1{color:var(--on-surface);margin-block-start:3.6px;font-size:30.6px;font-weight:600;line-height:36px}.dashboard-header p{color:var(--on-surface);margin-block-start:3.6px;font-size:12.6px;font-weight:700;line-height:18px}.dashboard-card{background:var(--surface-container-lowest);border:1px solid #2b3a2f24;border-radius:10.8px;gap:16.2px;min-block-size:0;padding:16.2px;display:grid;overflow:hidden;box-shadow:0 16.2px 43.2px #1f28221a}.dashboard-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10.8px;display:flex}.dashboard-toggle,.dashboard-person-toggle{background:var(--surface-container);border:1px solid var(--outline-variant);border-radius:7.2px;gap:1.8px;padding:2.7px;display:inline-flex}.dashboard-period-control{align-items:center;gap:5.4px;display:inline-flex}.dashboard-toggle button,.dashboard-person-toggle button{color:var(--on-surface);white-space:nowrap;background:0 0;border:0;border-radius:5.4px;align-items:center;gap:6.3px;min-block-size:30.6px;padding:6.3px 10.8px;font-size:11.7px;font-weight:600;line-height:16.2px;display:inline-flex}.dashboard-period-control button{color:var(--primary);background:0 0;border:0;justify-content:center;align-items:center;min-block-size:30.6px;min-inline-size:27px;padding:0;display:inline-flex}.dashboard-period-control strong{color:var(--on-surface);white-space:nowrap;align-items:center;padding:0 5.4px;font-size:11.7px;font-weight:600;line-height:16.2px;display:inline-flex}.dashboard-period-control button:disabled{color:var(--on-surface);cursor:not-allowed;opacity:.42}.dashboard-period-control .material-symbols-outlined{font-size:18px}.dashboard-toggle button[aria-pressed=true],.dashboard-person-toggle button[aria-pressed=true]{background:var(--surface-container-lowest);color:var(--primary);box-shadow:0 1px 2.7px #0000001f}.dashboard-person-toggle span{border-radius:899.1px;block-size:9px;inline-size:9px}.dashboard-export-button{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);color:var(--primary);border-radius:7.2px;align-items:center;gap:6.3px;min-block-size:36px;padding:7.2px 10.8px;font-size:11.7px;font-weight:600;line-height:16.2px;display:inline-flex}.dashboard-export-button:hover{background:var(--primary-container);border-color:var(--primary-container);color:var(--on-primary-container)}.dashboard-export-button .material-symbols-outlined{font-size:17.1px}.dashboard-export-modal{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:7.2px;gap:14.4px;inline-size:min(468px,100%);padding:16.2px;display:grid;box-shadow:0 16.2px 45px #0f172a2e}.dashboard-export-modal header{justify-content:space-between;align-items:start;gap:10.8px;display:flex}.dashboard-export-modal h2,.dashboard-export-modal p{margin:0}.dashboard-export-modal h2{color:var(--on-surface);font-size:16.2px;font-weight:600;line-height:21.6px}.dashboard-export-modal p{color:var(--on-surface);margin-block-start:1.8px;font-size:11.7px;font-weight:800;line-height:16.2px}.dashboard-export-date-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10.8px;display:grid}.dashboard-export-date-grid label{gap:5.4px;display:grid}.dashboard-export-date-grid span{color:var(--on-surface);letter-spacing:.05em;text-transform:uppercase;font-size:9.9px;font-weight:600;line-height:12.6px}.dashboard-export-date-grid input{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);color:var(--on-surface);font:inherit;border-radius:5.4px;min-block-size:36px;padding:7.2px 9px;font-size:11.7px;font-weight:800}.dashboard-export-actions{justify-content:flex-end;gap:9px;display:flex}.dashboard-chart-body{grid-template-columns:minmax(0,1fr) 171px;gap:16.2px;min-block-size:0;display:grid}.dashboard-legend{align-content:start;gap:10.8px;padding-block:5.4px;display:grid}.dashboard-legend-group{border-block-end:1px solid #4049431f;gap:5.4px;padding-block-end:10.8px;display:grid}.dashboard-legend-group>span{color:var(--on-surface);letter-spacing:.03em;text-transform:uppercase;font-size:10.8px;font-weight:600;line-height:12.6px}.dashboard-legend label{color:var(--on-surface);cursor:pointer;border:0;align-items:center;gap:5.4px;padding:0;font-size:9.9px;font-weight:600;line-height:12.6px;display:inline-flex}.dashboard-legend label:has(input:not(:checked)){opacity:.5}.dashboard-legend input{accent-color:var(--primary);margin:0}.dashboard-legend i{border-radius:899.1px;block-size:8.1px;inline-size:8.1px}.dashboard-chart-wrap{background:var(--surface-container-low);border:1px solid var(--outline-variant);border-radius:9px;min-block-size:0;padding:12.6px;overflow:auto}.dashboard-line-chart{block-size:min(55svh,414px);inline-size:max(684px,100%)}.dashboard-chart-grid{stroke:#4049432e;stroke-width:1px}.dashboard-chart-axis{fill:var(--secondary);font-size:9.9px;font-weight:800}.dashboard-chart-line{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.dashboard-chart-line.is-target{opacity:.42;stroke-dasharray:8 7;stroke-width:2.5px}.dashboard-chart-point{r:3.15px;stroke:var(--surface-container-low);stroke-width:2px}.dashboard-chart-point:hover,.dashboard-chart-point:focus{r:4.5px;outline:none}.dashboard-chart-tooltip{filter:drop-shadow(0 7.2px 16.2px #0f172a2e)}.dashboard-chart-tooltip rect{fill:var(--surface-container-lowest);stroke:var(--outline-variant)}.dashboard-chart-tooltip-label,.dashboard-chart-tooltip-value,.dashboard-chart-tooltip-delta{dominant-baseline:middle;font-family:Inter,system-ui,sans-serif;font-weight:600}.dashboard-chart-tooltip-label{fill:var(--secondary);letter-spacing:.05em;text-transform:uppercase;font-size:9px}.dashboard-chart-tooltip-value{fill:var(--on-surface);font-size:10.8px}.dashboard-chart-tooltip-delta{fill:var(--secondary);font-size:9.9px}.dashboard-chart-tooltip-delta.positive{fill:var(--primary)}.dashboard-chart-tooltip-delta.negative{fill:var(--error)}.dashboard-empty,.dashboard-error{border-radius:7.2px;margin:0;padding:10.8px 12.6px;font-size:12.6px;font-weight:800;line-height:18px}.dashboard-empty{background:var(--surface-container-low);color:var(--on-surface)}.dashboard-error{color:var(--error);background:#fff0ef;border:1px solid #ba1a1a3d}.saved-meal-list{grid-auto-rows:max-content;align-content:start;gap:12.6px;padding-block-end:21.6px;display:grid}.meals-page-pagination{justify-content:center;align-items:center;gap:10.8px;padding-block:3.6px 21.6px;display:flex}.meals-page-pagination button{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);color:var(--on-surface);border-radius:5.4px;min-block-size:34.2px;padding:0 12.6px;font-size:12.6px;font-weight:400;line-height:16.2px}.meals-page-pagination button:not(:disabled):hover{border-color:var(--primary);color:var(--primary)}.meals-page-pagination button:disabled{cursor:not-allowed;opacity:.45}.meals-page-pagination span{color:#151917a8;font-size:12.6px;font-weight:400;line-height:16.2px}.saved-meal-card{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);box-shadow:var(--shadow-ambient);color:inherit;cursor:pointer;border-radius:7.2px;grid-template-columns:52px minmax(0,1fr) auto;align-self:start;align-items:center;gap:10.8px;min-block-size:57.6px;padding:9px;display:grid;overflow:hidden}.saved-meal-card:hover,.saved-meal-card:focus-visible{border-color:var(--primary);background:#fff;outline:none}.saved-meal-content{align-content:center;gap:1.8px;min-width:0;display:grid}.saved-meal-thumbnail{aspect-ratio:1;background:color-mix(in srgb, var(--primary) 7%, #fff);color:color-mix(in srgb, var(--primary) 62%, #fff);border-radius:5.4px;flex:0 0 52px;justify-content:center;align-self:start;align-items:center;block-size:52px;inline-size:52px;display:flex;overflow:hidden}.saved-meal-thumbnail img{object-fit:cover;block-size:100%;inline-size:100%}.saved-meal-thumbnail .material-symbols-outlined{font-size:21.6px}.saved-meal-card h3,.saved-meal-card p{margin:0}.saved-meal-card h3{color:var(--on-surface);text-overflow:ellipsis;white-space:nowrap;font-size:12.6px;font-weight:600;line-height:17.1px;overflow:hidden}.saved-meal-card p{color:var(--on-surface);text-overflow:ellipsis;white-space:nowrap;font-size:10.8px;font-weight:400;line-height:14.4px;overflow:hidden}.meal-card-tags{color:#2b3a2f7a;letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;margin-block-start:1.8px;font-size:9px;font-weight:800;line-height:11.7px;display:block;overflow:hidden}.saved-meal-metrics{flex-wrap:wrap;gap:7.2px;display:flex}.saved-meal-metrics span{background:var(--surface-container-low);border:1px solid var(--outline-variant);color:var(--on-surface-variant);border-radius:899.1px;padding:4.5px 8.1px;font-size:10.8px;font-weight:800;line-height:14.4px}.saved-meal-actions{align-self:center;gap:5.4px;display:flex}.saved-meal-actions button{color:var(--primary);background:0 0;border:0;border-radius:899.1px;justify-content:center;align-items:center;min-block-size:27px;inline-size:27px;padding:0;display:inline-flex}.saved-meal-actions button .material-symbols-outlined{font-size:18px}.saved-meal-actions button:hover{background:var(--primary-container);color:var(--on-primary-container)}.saved-meal-actions button:last-child:hover{color:#b42318}.meal-view-layout{background:var(--surface);block-size:calc(100svh - 57.6px);min-height:0;display:flex;overflow:hidden}.meal-view-layout[data-sidebar-resizing=true]{cursor:col-resize;-webkit-user-select:none;user-select:none}.meal-view-sidebar{background:var(--surface-container-lowest);border-right:1px solid var(--outline-variant);min-height:0;flex-direction:column;flex:none;min-inline-size:46.8px;transition:inline-size .16s;display:flex;position:relative}.meal-view-sidebar[data-collapsed=true]{border-right-color:var(--outline-variant)}.meal-view-sidebar-content{display:contents}.meal-view-sidebar[data-collapsed=true] .meal-view-sidebar-content,.meal-view-sidebar[data-collapsed=true] .meal-view-sidebar-resize{display:none}.meal-view-sidebar-collapse{color:var(--primary);z-index:8;background:0 0;border:0;justify-content:center;align-items:center;width:27px;height:27px;display:inline-flex;position:absolute;top:11.7px;right:12.6px}.meal-view-sidebar[data-collapsed=true] .meal-view-sidebar-collapse{left:9.9px;right:auto}.meal-view-sidebar-collapse:hover{color:var(--on-surface)}.meal-view-sidebar-collapse .material-symbols-outlined{font-size:19.8px}.meal-view-sidebar-resize{cursor:col-resize;z-index:7;background:0 0;border:0;width:7.2px;padding:0;position:absolute;top:0;bottom:0;right:-3.6px}.meal-view-sidebar-resize:after{content:"";background:0 0;border-radius:899.1px;width:1.8px;transition:background .14s;position:absolute;top:46.8px;bottom:10.8px;left:2.7px}.meal-view-sidebar-resize:hover:after,.meal-view-layout[data-sidebar-resizing=true] .meal-view-sidebar-resize:after{background:var(--primary)}.meal-view-sidebar-header{border-bottom:0;padding:12.6px 16.2px 10.8px}.meal-view-sidebar-title-row{justify-content:space-between;align-items:center;min-block-size:27px;margin-block-end:9px;padding-inline-end:34.2px;display:flex}.meal-view-sidebar-title-row h2{color:var(--primary);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:14.4px;font-weight:950;line-height:19.8px}.meal-view-sidebar-search{background:#f1f2f0;border:0;border-radius:5.4px;align-items:center;gap:7.2px;min-block-size:34.2px;padding:0 9px;display:flex}.meal-view-sidebar-search .material-symbols-outlined{color:#45504b;font-size:18px}.meal-view-sidebar-search input{color:#6b7280;background:0 0;border:0;outline:none;flex:1;min-inline-size:0;font-size:12.6px;font-weight:650}.meal-view-sidebar-search:focus-within{box-shadow:0 0 0 1.8px #0f52381f}.meal-view-sidebar-new-button{color:#45504b;background:#f1f2f0;border:0;border-radius:5.4px;justify-content:center;align-items:center;min-block-size:34.2px;padding:0;display:inline-flex;position:relative}.meal-view-sidebar-new-button:hover{background:var(--primary-container);color:var(--on-primary-container)}.meal-view-sidebar-new-button .material-symbols-outlined{font-size:18.9px}.meal-view-sidebar-new-button:after{background:var(--inverse-surface);color:var(--inverse-on-surface);content:attr(data-tooltip);opacity:0;pointer-events:none;z-index:20;border-radius:3.6px;inline-size:max-content;padding:4.5px 6.3px;font-size:9.9px;font-weight:800;line-height:12.6px;transition:opacity .12s,transform .12s;position:absolute;inset-block-start:calc(100% + 5.4px);inset-inline-end:0;transform:translateY(-1.8px)}.meal-view-sidebar-new-button:hover:after,.meal-view-sidebar-new-button:focus-visible:after{opacity:1;transform:translateY(0)}.meal-view-sidebar-controls{grid-template-columns:minmax(0,1fr) 34.2px 34.2px;gap:6.3px;margin-block-start:7.2px;display:grid}.meal-view-sidebar-sort{background:#f1f2f0;border:0;border-radius:5.4px;align-items:center;gap:6.3px;min-block-size:34.2px;min-inline-size:0;padding:0 6.3px 0 9px;display:flex}.meal-view-sidebar-sort span,.meal-view-sidebar-filter-panel label span{color:#45504b;letter-spacing:.05em;text-transform:uppercase;font-size:9px;font-weight:600}.meal-view-sidebar-sort select{appearance:none;color:#45504b;background:0 0;border:0;outline:none;flex:1;min-inline-size:0;padding-block:5.4px;font-size:10.8px;font-weight:600}.meal-view-sidebar-filter-button,.meal-view-sidebar-filter-clear{color:#45504b;background:#f1f2f0;border:0;border-radius:5.4px;justify-content:center;align-items:center;gap:4.5px;padding:5.4px 8.1px;font-size:10.8px;font-weight:600;display:inline-flex}.meal-view-sidebar-filter-button{block-size:34.2px;inline-size:34.2px;padding-inline:0}.meal-view-sidebar-sort-direction{color:#45504b;background:0 0;border:0;justify-content:center;align-self:stretch;align-items:center;padding:0;display:inline-flex}.meal-view-sidebar-filter-button:hover,.meal-view-sidebar-filter-button[aria-expanded=true],.meal-view-sidebar-filter-clear:hover,.meal-view-sidebar-sort-direction:hover{background:var(--primary-container);color:var(--on-primary-container);border-color:#0f523838}.meal-view-sidebar-filter-button .material-symbols-outlined,.meal-view-sidebar-sort-direction .material-symbols-outlined{font-size:18px}.meal-view-sidebar-filter-panel{background:var(--surface-container-low);border:1px solid var(--outline-variant);border-radius:7.2px;grid-template-columns:repeat(2,minmax(0,1fr));gap:7.2px;margin-block-start:9px;padding:9px;display:grid}.meal-view-sidebar-filter-panel label{gap:3.6px;min-inline-size:0;display:grid}.meal-view-sidebar-filter-panel input{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);color:var(--on-surface);border-radius:5.4px;min-inline-size:0;padding:5.4px 6.3px;font-size:10.8px;font-weight:850}.meal-view-sidebar-filter-panel input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 1.8px #0f52381f}.meal-view-sidebar-filter-clear{grid-column:1/-1;justify-self:start}.meal-view-sidebar-list{gap:9px;padding:0 16.2px 16.2px;display:grid;overflow-y:auto}.meal-view-sidebar-empty{color:var(--on-surface);margin:7.2px 3.6px;font-size:11.7px;font-weight:800;line-height:16.2px}.meal-view-library-card{background:var(--surface-container-low);color:inherit;text-align:left;border:1px solid #0000;border-radius:7.2px;grid-template-columns:minmax(0,1fr);align-items:center;gap:10.8px;min-inline-size:0;padding:9px;display:grid}.meal-view-library-card>span{min-inline-size:0}.meal-view-library-card:hover,.meal-view-library-card[data-active=true]{background:var(--surface-container-lowest);border-color:var(--primary)}.meal-view-library-card strong,.meal-view-library-card small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.meal-view-library-card strong{color:var(--on-surface);font-size:11.7px;font-weight:600;line-height:16.2px}.meal-view-library-card small{color:var(--on-surface);margin-block-start:1.8px;font-size:9.9px;font-weight:800;line-height:13.5px}.eat-plan-sidebar{inline-size:306px}.eat-plan-sidebar .meal-view-sidebar-content{flex-direction:column;min-height:0;display:flex}.eat-plan-day-list{gap:14.4px;padding:16.2px 16.2px 18px;display:grid;overflow-y:auto}.eat-plan-day{gap:9px;display:grid}.eat-plan-day-control{grid-template-columns:27px minmax(0,1fr) 27px;align-items:center;gap:7.2px;display:grid}.eat-plan-day-control[data-controlled=true]{grid-template-columns:minmax(0,1fr)}.eat-plan-day-control button{color:var(--primary);background:0 0;border:0;border-radius:5.4px;justify-content:center;align-items:center;width:27px;height:27px;padding:0;display:inline-flex}.eat-plan-day-control button:hover{background:var(--primary-container);color:var(--on-primary-container)}.eat-plan-day-control .material-symbols-outlined{font-size:19.8px}.eat-plan-day-control h3{color:var(--on-surface);letter-spacing:.06em;text-align:center;text-transform:uppercase;margin:0;padding-inline:1.8px;font-size:10.8px;font-weight:950;line-height:14.4px}.eat-plan-slot{gap:5.4px;display:grid}.eat-plan-slot h4{color:var(--on-surface);letter-spacing:.08em;text-transform:uppercase;margin:0;padding-inline:1.8px;font-size:9px;font-weight:950;line-height:12.6px}.eat-plan-meal-list{gap:7.2px;display:grid}.eat-plan-meal-card{grid-template-columns:minmax(0,1fr);padding:8.1px}.eat-plan-meal-card strong{align-items:center;gap:4.5px;display:flex}.eat-ingredient-hero h1{justify-content:center;align-items:center;gap:7.2px;display:inline-flex}.eat-people-icons{flex-wrap:wrap;gap:3.6px;margin-block-start:5.4px;display:flex}.eat-people-icons span{color:#fff;font-size:var(--font-xxs);border-radius:899.1px;justify-content:center;align-items:center;block-size:18px;inline-size:18px;font-weight:600;line-height:10.8px;display:inline-flex}.eat-plan-empty{color:var(--on-surface);margin:0;padding:3.6px 1.8px;font-size:10.8px;font-weight:750;line-height:15.3px}.meal-view-main{flex:1;min-width:0;padding:28.8px;overflow-y:auto}.meal-view-main>*{inline-size:min(100%,882px);margin-inline:auto}.meal-view-hero{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);box-shadow:var(--shadow-ambient);border-radius:7.2px;justify-content:space-between;align-items:start;gap:21.6px;margin-block-end:18px;padding:19.8px;display:flex}.meal-view-hero>div{width:100%;min-width:0}.meal-view-eyebrow{color:var(--on-surface);letter-spacing:.08em;text-transform:uppercase;margin-block-end:5.4px;font-size:9.9px;font-weight:600;line-height:12.6px;display:block}.meal-view-hero h1,.meal-view-hero p,.meal-view-section h2,.meal-view-section-header span,.meal-view-ingredient-card h3,.meal-view-ingredient-card p,.meal-view-method h3,.meal-view-empty-state h1,.meal-view-empty-state p{margin:0}.meal-view-hero h1{color:var(--on-surface);font-size:30.6px;font-weight:800;line-height:36px}.meal-view-recipe-meta{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:5.4px;margin-block-start:9px;display:flex}.meal-view-recipe-meta .eat-people-icons,.meal-view-recipe-tags{margin-block-start:0}.meal-view-recipe-tags{flex-wrap:wrap;justify-content:flex-start;gap:5.4px;display:flex}.meal-view-recipe-tags span{color:var(--primary);letter-spacing:.03em;background:#0f52381a;border:1px solid #0f523833;border-radius:899.1px;padding:3.6px 8.1px;font-size:9.9px;font-weight:850;line-height:13.5px}.meal-view-hero-row{justify-content:space-between;align-items:end;gap:14.4px;margin-block-start:12.6px;display:flex}.meal-view-hero-nutrition{flex-wrap:wrap;gap:7.2px;display:flex}.meal-view-hero-serving-label{color:var(--on-surface);letter-spacing:.08em;text-transform:uppercase;font-size:9.9px;font-weight:600;line-height:12.6px}.meal-view-hero-nutrition article{color:#fff;border:0;border-radius:5.4px;gap:1.8px;min-inline-size:86.4px;padding:7.2px 9px;display:grid}.meal-view-hero-nutrition article.kcal{background:var(--primary)}.meal-view-hero-nutrition article.protein{background:var(--protein)}.meal-view-hero-nutrition article.carbs{background:var(--carbs)}.meal-view-hero-nutrition article.fat{background:var(--fat)}.meal-view-hero-nutrition article.cost{background:var(--secondary)}.meal-view-hero-nutrition span,.meal-view-ingredient-macro small{letter-spacing:.04em;text-transform:uppercase;font-size:9px;font-weight:600;line-height:10.8px}.meal-view-hero-nutrition strong,.meal-view-ingredient-macro strong{font-variant-numeric:tabular-nums;font-weight:600}.meal-view-hero-nutrition span,.meal-view-hero-nutrition strong,.meal-view-hero-nutrition small{color:#fff}.meal-view-hero-nutrition strong{font-size:14.4px;line-height:18px}.meal-view-hero-nutrition small{color:var(--on-surface);font-size:9.9px;font-weight:800;line-height:12.6px}.meal-view-hero-nutrition strong.meal-view-hero-delta{font-variant-numeric:tabular-nums;letter-spacing:0;opacity:1;text-align:center;text-transform:none;justify-self:center;margin-block-start:0;padding:0;font-family:inherit;font-size:9.9px;font-style:normal;font-weight:600;line-height:11.7px}.meal-view-hero-nutrition strong.meal-view-hero-delta.positive{color:var(--primary)}.meal-view-hero-nutrition strong.meal-view-hero-delta.negative{color:#ff5252}.meal-view-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:9px;display:flex}.meal-view-servings-field{align-items:center;gap:7.2px;display:inline-flex}.meal-view-servings-field span{color:var(--on-surface);letter-spacing:.04em;text-transform:uppercase;font-size:9.9px;font-weight:600;line-height:12.6px}.meal-view-servings-field input{background:var(--surface-container-lowest);border:1px solid var(--outline);color:var(--on-surface);height:37.8px;border-radius:5.4px;inline-size:68.4px;padding:7.2px 9px;font-size:14.4px;font-weight:600}.meal-view-section{gap:10.8px;margin-block-start:18px;display:grid}.meal-view-section-header{justify-content:space-between;align-items:end;gap:14.4px;display:flex}.meal-view-section h2{color:var(--on-surface);font-size:19.8px;font-weight:800;line-height:25.2px}.meal-view-section-header span{color:var(--on-surface);font-size:11.7px;font-weight:800;line-height:16.2px}.meal-view-ingredient-list{gap:7.2px;display:grid}.meal-view-ingredient-card{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:7.2px;align-items:center;min-block-size:52.2px;padding:7.2px 9px 7.2px 10.8px}.meal-view-ingredient-body{justify-content:space-between;align-items:center;gap:10.8px;min-width:0;display:flex}.meal-view-ingredient-title{align-items:baseline;gap:9px;min-width:0;display:flex}.meal-view-ingredient-title>strong{color:var(--primary);flex:none;font-size:16.2px;font-weight:600;line-height:19.8px}.meal-view-ingredient-card h3{color:var(--on-surface);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13.5px;font-weight:600;line-height:18px;overflow:hidden}.meal-view-ingredient-macros{flex:none;align-items:center;gap:5.4px;display:flex}.meal-view-ingredient-macro-label{color:var(--on-surface);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;margin-inline-end:1.8px;font-size:9px;font-weight:600;line-height:10.8px}.meal-view-ingredient-macro{color:#fff;border-radius:2.7px;justify-items:center;gap:1px;min-inline-size:52.2px;padding:4.5px 6.3px;display:grid}.meal-view-ingredient-macro small,.meal-view-ingredient-macro strong{color:#fff}.meal-view-ingredient-macro strong{font-size:11.7px;line-height:14.4px}.meal-view-ingredient-macro.kcal{background:var(--primary)}.meal-view-ingredient-macro.protein{background:var(--protein)}.meal-view-ingredient-macro.carbs{background:var(--carbs)}.meal-view-ingredient-macro.fat{background:var(--fat)}.meal-view-nutrition-grid article{background:var(--surface-container-low);border:1px solid var(--outline-variant);border-radius:5.4px}.meal-view-macro-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.meal-view-nutrition-header{justify-content:space-between;align-items:baseline;gap:14.4px;margin-block-end:14.4px;display:flex}.meal-view-nutrition-header h2{margin-block-end:0}.meal-view-kcal-summary .macro-dot{background:var(--primary)}.meal-view-method{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:7.2px;gap:14.4px;padding:16.2px 19.8px;display:grid}.meal-view-method h3{color:var(--primary);margin-block-end:7.2px;font-size:13.5px;font-weight:600;line-height:18px}.meal-view-method ol{gap:9px;margin:0;padding-inline-start:18px;display:grid}.meal-view-method li{color:var(--on-surface);padding-inline-start:3.6px;font-size:12.6px;font-weight:700;line-height:18.9px}.meal-view-empty-note{background:var(--surface-container-lowest);border:1px dashed var(--outline-variant);color:var(--on-surface);border-radius:7.2px;margin:0;padding:16.2px;font-size:12.6px;font-weight:800;line-height:18px}.meal-view-main{background:#fbfaf7;padding:21.6px 21.6px 93.6px}.meal-view-dirty-bar{z-index:35;background:#fffdf7fa;border:1px solid #2b3a2f24;border-radius:899.1px;justify-content:center;align-items:center;gap:10.8px;max-inline-size:calc(100vw - 28.8px);padding:7.2px 9px 7.2px 16.2px;display:flex;position:fixed;inset-block-end:16.2px;inset-inline-start:50%;transform:translate(-50%);box-shadow:0 10.8px 30.6px #2d261c29}.meal-view-dirty-bar p{color:var(--on-surface);margin:0;font-size:12.6px;font-weight:800;line-height:18px}.meal-view-dirty-bar div{gap:7.2px;display:flex}.meal-view-dirty-bar button{border:1px solid var(--outline-variant);border-radius:899.1px;min-block-size:32.4px;padding:6.3px 10.8px;font-size:11.7px;font-weight:600}.meal-view-dirty-bar div button:first-child{background:var(--surface-container-lowest);color:var(--primary)}.meal-view-dirty-bar div button:last-child{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.meal-view-switch-bar div button:first-child{background:var(--surface-container-lowest);border-color:var(--outline-variant);color:var(--on-surface)}.meal-view-switch-bar div button:last-child{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.meal-view-dirty-toggle{color:var(--primary);min-block-size:28.8px;background:0 0;border-color:#0000;justify-content:center;align-items:center;width:28.8px;padding:0;display:inline-flex}.meal-view-dirty-toggle .material-symbols-outlined{font-size:19.8px}.meal-view-dirty-restore{color:var(--primary);z-index:35;background:#fffdf7fa;border:1px solid #2b3a2f24;border-radius:899.1px;align-items:center;gap:5.4px;min-block-size:34.2px;padding:6.3px 12.6px 6.3px 9px;font-size:11.7px;font-weight:600;display:inline-flex;position:fixed;inset-block-end:16.2px;inset-inline-start:50%;transform:translate(-50%);box-shadow:0 10.8px 30.6px #2d261c29}.meal-view-dirty-restore .material-symbols-outlined{font-size:18px}.meal-view-edit-ribbon{background:var(--inverse-surface);color:var(--inverse-on-surface);bottom:0;max-inline-size:none;z-index:35;border:0;border-radius:7.2px 7.2px 0 0;grid-template-columns:auto minmax(0,1fr) auto;justify-content:stretch;align-items:center;gap:21.6px;width:100%;padding:14.4px 28.8px;display:grid;inset-block-end:0;inset-inline-start:0;transform:none;box-shadow:0 -3.6px 18px #0000000d}.meal-view-edit-ribbon .ribbon-label{align-items:flex-start;gap:21.6px;display:flex}.meal-view-edit-ribbon .ribbon-label>span{color:#eff1edb3;text-transform:uppercase;margin:0;font-size:12.6px;font-weight:700;line-height:18px;display:block}.meal-view-edit-ribbon .ribbon-label small{color:#eff1ed8c;font-size:9.9px;font-weight:700;line-height:12.6px}.meal-view-edit-ribbon .ribbon-label:after{content:"";background:#fff3;width:1px;height:28.8px;display:block}.meal-view-edit-ribbon .ribbon-metrics{justify-content:center;gap:clamp(18px,4vw,50.4px);display:flex}.meal-view-edit-ribbon .ribbon-metric{place-items:center;gap:1.8px;display:grid}.meal-view-edit-ribbon .ribbon-metric span{color:#eff1edb3;letter-spacing:.04em;text-transform:uppercase;font-size:9.9px;font-weight:800;line-height:12.6px}.meal-view-edit-ribbon .ribbon-metric strong{color:var(--inverse-on-surface);font-size:21.6px;font-weight:800;line-height:27px}.meal-view-edit-ribbon .ribbon-metric:first-child strong{color:var(--primary-fixed-dim)}.meal-view-edit-ribbon .ribbon-actions{gap:10.8px;display:flex}.meal-view-edit-ribbon .ribbon-actions button{border-radius:3.6px;align-items:center;gap:7.2px;min-block-size:36px;padding:7.2px 14.4px;font-size:12.6px;font-weight:800;display:flex}.meal-view-edit-ribbon .finalize-button{background:var(--primary-container);color:var(--on-primary-container);border:0;padding-inline:21.6px}.meal-view-edit-ribbon .reset-button{color:var(--inverse-on-surface);background:#ffffff14;border:1px solid #ffffff38}.meal-variation-modal{gap:18px;max-inline-size:414px}.meal-variation-field{gap:7.2px;display:grid}.meal-variation-field span{color:var(--on-surface);letter-spacing:.04em;text-transform:uppercase;font-size:10.8px;font-weight:600;line-height:14.4px}.meal-variation-field input{background:var(--surface-container-low);border:1px solid var(--outline-variant);color:var(--on-surface);border-radius:5.4px;outline:none;min-block-size:37.8px;padding:7.2px 9px;font-size:14.4px;font-weight:800}.meal-variation-field input:focus{border-color:var(--primary);box-shadow:0 0 0 1.8px #0f523824}.meal-variation-actions{justify-content:flex-end;gap:9px;display:flex}.meal-variation-actions button{border:1px solid var(--outline-variant);border-radius:3.6px;min-block-size:32.4px;padding:6.3px 10.8px;font-size:11.7px;font-weight:600}.meal-variation-actions button:first-child{background:var(--surface-container-lowest);color:var(--primary)}.meal-variation-actions button:last-child{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.meal-view-page-sheet{color:#1d211c;background:radial-gradient(circle at 12% 18%,#22201a21 0 1px,#0000 1.26px) 0 0/133.2px 127.8px,radial-gradient(circle at 74% 12%,#22201a1a 0 1px,#0000 1.17px) 0 0/167.4px 156.6px,radial-gradient(circle at 28% 68%,#22201a1c 0 1px,#0000 1.26px) 0 0/145.8px 135px,radial-gradient(circle at 86% 78%,#22201a1a 0 1px,#0000 1.17px) 0 0/189px 171px,#fffdf7;border:1px solid #3e53451f;border-radius:9px;padding:clamp(30.6px,6vw,57.6px);font-family:Georgia,Times New Roman,serif;position:relative;box-shadow:0 21.6px 54px #2d261c1f}.meal-view-page-actions{z-index:2;align-items:center;gap:3.6px;display:inline-flex;position:absolute;top:clamp(16.2px,3vw,30.6px);right:clamp(16.2px,3vw,30.6px)}.meal-view-page-actions>button{color:#2b3a2f94;background:0 0;border:0;border-radius:899.1px;justify-content:center;align-items:center;width:27px;height:27px;padding:0;transition:background .14s,color .14s;display:inline-flex}.meal-view-page-actions>button:hover{color:var(--primary);background:#2b3a2f12}.meal-view-page-actions .material-symbols-outlined{font-size:18px}.meal-view-page-action-menu{z-index:10;background:#fff;border:1px solid #d5d9d4;border-radius:7.2px;gap:1.8px;min-inline-size:180px;padding:4.5px;display:grid;position:absolute;top:calc(100% + 5.4px);right:0;box-shadow:0 14.4px 32.4px #2d261c24}.meal-view-page-action-menu button{color:#1d211c;text-align:left;background:0 0;border:0;border-radius:5.4px;justify-content:space-between;align-items:center;width:100%;padding:7.2px 9px;font-size:12.6px;font-weight:400;line-height:16.2px;display:flex}.meal-view-page-action-menu button:hover{color:var(--primary);background:#2b3a2f12}.meal-view-page-action-menu button.destructive{color:var(--accent)}.meal-view-page-action-menu button.destructive:hover{color:var(--accent);background:#ac364914}.meal-view-page-action-submenu{position:relative}.meal-view-page-action-submenu>button .material-symbols-outlined{color:currentColor;margin-inline-start:12.6px;font-size:15.3px;line-height:1}.meal-view-page-action-submenu-panel{z-index:11;background:#fff;border:1px solid #d5d9d4;border-radius:7.2px;gap:1.8px;min-inline-size:144px;padding:4.5px;display:none;position:absolute;top:-4.5px;right:calc(100% + 5.4px);box-shadow:0 14.4px 32.4px #2d261c24}.meal-view-page-action-submenu:hover .meal-view-page-action-submenu-panel,.meal-view-page-action-submenu:focus-within .meal-view-page-action-submenu-panel{display:grid}.meal-view-page-sheet .meal-view-hero{box-shadow:none;text-align:center;background:0 0;border:0;border-radius:0;margin:0;padding:0 0 30.6px;display:block}.meal-view-page-sheet .meal-view-eyebrow{color:#6e8c79;letter-spacing:.1em;margin-block-end:10.8px;font-family:Inter,system-ui,sans-serif;font-size:10.8px;font-style:italic;font-weight:600;line-height:14.4px}.meal-view-page-sheet .meal-view-hero h1{color:#171a16;letter-spacing:-.02em;max-inline-size:702px;margin-inline:auto;font-family:Georgia,Times New Roman,serif;font-size:clamp(43.2px,7vw,64.8px);font-weight:500;line-height:.95}.meal-view-page-sheet .meal-view-recipe-meta{justify-content:center;margin-block-start:12.6px}.meal-view-page-sheet .meal-view-recipe-tags{justify-content:center;font-family:Inter,system-ui,sans-serif}.meal-view-page-sheet .meal-view-recipe-tags span{letter-spacing:.08em;text-transform:uppercase;font-family:Inter,system-ui,sans-serif;font-size:9px;font-weight:600;line-height:12.6px}.meal-view-page-sheet .meal-view-hero-row{text-align:center;justify-content:center;align-items:center;margin-block-start:27px;padding-block:0;display:flex}.meal-view-page-sheet .meal-view-hero-nutrition{flex-wrap:wrap;justify-content:center;align-items:center;gap:10.8px;display:flex}.meal-view-page-sheet .meal-view-hero-nutrition article{color:#1d211c;background:#fffdf7b8;border:1px solid;border-radius:3.6px;min-inline-size:64.8px;padding:5.4px 9px}.meal-view-page-sheet .meal-view-hero-nutrition article.kcal{color:var(--primary);background:0 0}.meal-view-page-sheet .meal-view-hero-nutrition article.protein{color:var(--protein);background:0 0}.meal-view-page-sheet .meal-view-hero-nutrition article.carbs{color:var(--carbs);background:0 0}.meal-view-page-sheet .meal-view-hero-nutrition article.fat{color:var(--fat);background:0 0}.meal-view-page-sheet .meal-view-hero-nutrition article.cost{color:var(--on-surface);background:0 0}.meal-view-page-sheet .meal-view-hero-nutrition span,.meal-view-page-sheet .meal-view-hero-nutrition strong{color:currentColor;font-family:Inter,system-ui,sans-serif}.meal-view-page-sheet .meal-view-hero-nutrition span{font-size:9px;line-height:10.8px}.meal-view-page-sheet .meal-view-hero-nutrition strong{font-size:18.9px;line-height:21.6px}.meal-view-page-sheet .meal-view-hero-nutrition strong.meal-view-hero-delta{font-size:10.8px;line-height:12.6px}.meal-view-page-sheet .meal-view-hero-nutrition article.cost strong{color:currentColor;font-size:18.9px;line-height:21.6px}.meal-view-page-sheet .meal-view-controls{justify-content:flex-end}.meal-view-page-sheet .meal-view-servings-field span{font-family:Inter,system-ui,sans-serif}.meal-view-page-sheet .meal-view-servings-field>.material-symbols-outlined{font-family:Material Symbols Outlined}.meal-view-page-sheet .meal-view-servings-field span{color:#29312a}.meal-view-page-sheet .meal-view-servings-field input{height:30.6px;background:#fffdf7b3;border-color:#2b3a2f38;border-radius:0;inline-size:52.2px}.meal-view-page-sheet .meal-view-section{gap:19.8px;margin-block-start:37.8px}.meal-view-page-sheet .meal-view-section-header{border-bottom:1px solid #2b3a2f24;justify-content:space-between;align-items:center;padding-block-end:10.8px;display:flex}.meal-view-page-sheet .meal-view-method-header{justify-content:space-between;align-items:center;display:flex}.meal-view-step-editor{gap:12px;display:grid}.meal-view-step-editor-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.meal-view-step-editor-row{grid-template-columns:27px minmax(0,1fr) 31px;align-items:start;gap:9px;display:grid}.meal-view-step-editor-row>span{background:var(--primary);color:#fff;font-family:Inter,system-ui,sans-serif;font-size:var(--font-xs);border-radius:999px;justify-content:center;align-items:center;width:27px;height:27px;margin-block-start:4px;font-weight:600;display:flex}.meal-view-step-editor-row textarea{color:#151917;font-family:Inter,system-ui,sans-serif;font-size:var(--font-xs);resize:vertical;background:#fffefb;border:1px solid #2b3a2f29;border-radius:7px;min-block-size:58px;padding:9px 11px;font-weight:400;line-height:18px}.meal-view-step-editor-row textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #005a461f}.meal-view-step-editor-row button,.meal-view-step-add-button{justify-content:center;align-items:center;display:inline-flex}.meal-view-step-editor-row button{color:#4e5752;background:0 0;border:0;border-radius:5px;width:31px;height:31px;margin-block-start:4px}.meal-view-step-editor-row button:hover{color:var(--accent);background:#ac364914}.meal-view-step-editor-row .material-symbols-outlined{font-size:18px}.meal-view-step-add-button{color:var(--primary);font-family:Inter,system-ui,sans-serif;font-size:var(--font-xs);background:#fff;border:1px solid #005a4647;border-radius:7px;justify-self:start;gap:6px;min-block-size:34px;padding:0 12px;font-weight:500}.meal-view-step-add-button .material-symbols-outlined{font-size:18px}.meal-view-page-sheet .meal-view-section h2,.meal-view-page-sheet .meal-view-nutrition-header h2{color:var(--primary);font-family:Georgia,Times New Roman,serif;font-size:30.6px;font-weight:500;line-height:36px}.meal-view-page-sheet .meal-view-ingredient-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12.6px 39.6px;display:grid}.meal-view-page-sheet .meal-view-ingredient-card{cursor:pointer;background:0 0;border:0;border-radius:0;grid-template-columns:auto minmax(21.6px,1fr) auto 21.6px;align-items:baseline;gap:7.2px;min-block-size:0;padding:0;display:grid;position:relative}.meal-view-add-ingredient-row{color:var(--primary);letter-spacing:.04em;opacity:0;text-align:left;text-transform:uppercase;background:0 0;border:0;grid-template-columns:auto minmax(21.6px,1fr) auto;align-items:baseline;gap:7.2px;padding:0;font-family:Inter,system-ui,sans-serif;font-size:11.7px;font-weight:600;transition:opacity .14s;display:grid}.meal-view-section:hover .meal-view-add-ingredient-row,.meal-view-section:focus-within .meal-view-add-ingredient-row,.meal-view-ingredient-list[data-edit-mode=true] .meal-view-add-ingredient-row{opacity:1}.meal-view-add-ingredient-row>span:first-child{white-space:nowrap}.meal-view-add-ingredient-row>span:nth-child(2){border-bottom:1px dotted #2b3a2f38;transform:translateY(-3.6px)}.meal-view-add-ingredient-row strong{color:var(--primary);font-size:16.2px;line-height:18px}.meal-view-add-ingredient-row:hover,.meal-view-add-ingredient-row:focus-visible{opacity:1;outline:none}.meal-view-page-sheet .meal-view-ingredient-card:focus-visible{outline-offset:3.6px;outline:1.8px solid #0f52383d}.meal-view-page-sheet .meal-view-ingredient-card h3{color:#34352f;white-space:normal;font-family:Georgia,Times New Roman,serif;font-size:16.2px;font-style:italic;font-weight:500;line-height:21.6px;overflow:visible}.meal-view-page-sheet .meal-view-ingredient-card>span{border-bottom:1px dotted #2b3a2f38;transform:translateY(-3.6px)}.meal-view-ingredient-grams{justify-self:end;align-items:center;min-inline-size:max-content;display:inline-flex}.meal-view-ingredient-grams input{appearance:textfield;box-sizing:content-box;color:var(--primary);text-align:right;background:0 0;border:1px solid #0000;border-radius:3.6px;min-inline-size:1ch;padding:1.8px 0;font-family:Inter,system-ui,sans-serif;font-size:12.6px;font-weight:600;line-height:18px}.meal-view-ingredient-grams input::-webkit-inner-spin-button{appearance:none;margin:0}.meal-view-ingredient-grams input::-webkit-outer-spin-button{appearance:none;margin:0}.meal-view-ingredient-grams span{color:var(--primary);font-family:Inter,system-ui,sans-serif;font-size:12.6px;font-weight:600;line-height:18px}.meal-view-ingredient-grams .material-symbols-outlined{font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 20;font-family:Material Symbols Outlined;font-size:16px}.meal-view-ingredient-grams input:hover,.meal-view-ingredient-grams input:focus{background:#fffdf7b8;border-color:#2b3a2f38;outline:none;padding-inline:3.6px}.meal-view-ingredient-grams input:focus{box-shadow:0 0 0 1.8px #0f52381f}.meal-view-ingredient-actions{opacity:0;place-self:center end;transition:opacity .14s;position:relative}.meal-view-ingredient-card:hover .meal-view-ingredient-actions,.meal-view-ingredient-card:focus-within .meal-view-ingredient-actions,.meal-view-ingredient-card[data-menu-open=true] .meal-view-ingredient-actions{opacity:1}.meal-view-ingredient-action-button{color:var(--on-surface);background:0 0;border:0;justify-content:center;align-items:center;width:21.6px;height:21.6px;padding:0;display:inline-flex}.meal-view-ingredient-action-button:hover,.meal-view-ingredient-action-button[aria-expanded=true]{color:var(--primary)}.meal-view-ingredient-action-button .material-symbols-outlined{font-size:18px}.meal-view-ingredient-action-menu{font-family:Inter,system-ui,sans-serif;top:calc(100% + 3.6px)}.meal-view-ingredient-card[data-menu-open=true] .meal-view-ingredient-tooltip{display:none}.meal-view-ingredient-tooltip{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);opacity:0;pointer-events:none;z-index:5;border-radius:7.2px;gap:5.4px;min-inline-size:284.4px;padding:7.2px;font-family:Inter,system-ui,sans-serif;transition:opacity .14s,transform .14s;display:grid;position:absolute;bottom:calc(100% + 7.2px);left:0;transform:translateY(3.6px);box-shadow:0 9px 18px #0f172a2e}.meal-view-ingredient-tooltip span{color:var(--on-surface);letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:600;line-height:11.7px}.meal-view-ingredient-tooltip-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:4.5px;display:grid}.meal-view-ingredient-tooltip small{color:var(--on-primary);text-align:center;border-radius:3.6px;justify-items:center;gap:1px;padding:4.5px 5.4px;display:grid}.meal-view-ingredient-tooltip small.kcal{background:var(--primary)}.meal-view-ingredient-tooltip small.protein{background:var(--protein)}.meal-view-ingredient-tooltip small.carbs{background:var(--carbs)}.meal-view-ingredient-tooltip small.fat{background:var(--fat)}.meal-view-ingredient-tooltip em,.meal-view-ingredient-tooltip strong{color:#fff;font-style:normal;font-weight:600}.meal-view-ingredient-tooltip em{letter-spacing:.04em;text-transform:uppercase;font-size:8.1px;line-height:9.9px}.meal-view-ingredient-tooltip strong{font-size:11.7px;line-height:14.4px}.meal-view-ingredient-card:hover .meal-view-ingredient-tooltip,.meal-view-ingredient-card:focus-visible .meal-view-ingredient-tooltip,.meal-view-ingredient-card:focus-within .meal-view-ingredient-tooltip{opacity:1;transform:translateY(0)}.meal-view-page-sheet .meal-view-method{background:0 0;border:0;border-radius:0;gap:25.2px;padding:0}.meal-view-page-sheet .meal-view-method article{gap:12.6px;display:grid}.meal-view-page-sheet .meal-view-method h3{color:var(--primary);border-bottom:1px solid #2b3a2f1a;margin:0;padding-block-end:5.4px;font-family:Georgia,Times New Roman,serif;font-size:19.8px;font-style:italic;font-weight:700;line-height:25.2px}.meal-view-page-sheet .meal-view-method ol{counter-reset:method-step;gap:14.4px;padding:0;list-style:none;display:grid}.meal-view-page-sheet .meal-view-method li{color:#272923;counter-increment:method-step;grid-template-columns:39.6px minmax(0,1fr);align-items:center;gap:16.2px;padding:0;font-family:Georgia,Times New Roman,serif;font-size:16.2px;font-weight:400;line-height:1.55;display:grid}.meal-view-page-sheet .meal-view-method li:before{color:#0f52382e;content:counter(method-step, decimal-leading-zero);font-family:Inter,system-ui,sans-serif;font-size:27px;font-weight:600;line-height:30.6px}.meal-view-page-sheet .meal-view-nutrition{margin-block-start:43.2px;font-family:Inter,system-ui,sans-serif}.meal-view-nutrition{padding-block-end:0}.meal-view-page-sheet .meal-view-nutrition .macro-bar{margin-block-start:16.2px}.meal-view-page-sheet .meal-view-nutrition .nutrition-sankey-section{background:0 0;border:0;padding:0}.meal-view-page-sheet .meal-view-nutrition .nutrition-sankey-section h3{display:none}.meal-view-page-sheet .meal-view-nutrition .micro-section{border-top-color:#2b3a2f24}.eat-ingredient-title-link{color:inherit;text-decoration:none}.eat-ingredient-title-link:hover{color:var(--primary)}.eat-ingredient-grams-field{color:var(--primary);align-items:center;font-family:Inter,system-ui,sans-serif;font-size:13.5px;font-weight:600;line-height:18px;display:inline-flex}.eat-ingredient-grams-field input{appearance:textfield;box-sizing:content-box;color:var(--primary);font:inherit;text-align:right;background:0 0;border:1px solid #0000;border-radius:3.6px;min-inline-size:1ch;padding:1.8px 0}.eat-ingredient-grams-field input::-webkit-inner-spin-button{appearance:none;margin:0}.eat-ingredient-grams-field input::-webkit-outer-spin-button{appearance:none;margin:0}.eat-ingredient-grams-field input:hover,.eat-ingredient-grams-field input:focus{background:#fffdf7b8;border-color:#2b3a2f38;outline:none;padding-inline:3.6px}.eat-ingredient-grams-field input:focus{box-shadow:0 0 0 1.8px #0f52381f}.eat-ingredient-statement{color:#272923;margin:0;font-family:Georgia,Times New Roman,serif;font-size:15.3px;line-height:1.55}.meal-view-nutrition-grid{grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:10.8px;display:grid}.meal-view-nutrition-grid article{gap:4.5px;padding:12.6px;display:grid}.meal-view-nutrition-grid span{color:var(--on-surface);letter-spacing:.05em;text-transform:uppercase;font-size:9.9px;font-weight:600;line-height:12.6px}.meal-view-nutrition-grid strong{color:var(--primary);font-size:21.6px;font-weight:600;line-height:27px}.meal-view-nutrition-grid small{color:var(--on-surface);font-size:10.8px;font-weight:800;line-height:14.4px}.meal-view-empty-state{text-align:center;place-content:center;place-items:center;gap:9px;block-size:100%;display:grid}.meal-view-empty-state .material-symbols-outlined{color:var(--primary);font-size:37.8px}.meal-view-empty-state h1{color:var(--on-surface);font-size:25.2px;font-weight:800;line-height:30.6px}.meal-view-empty-state p{color:var(--on-surface);font-size:12.6px;font-weight:700;line-height:18px}.meals-empty-state{border:1.8px dashed var(--outline-variant);color:var(--on-surface);text-align:center;border-radius:7.2px;place-items:center;gap:10.8px;min-block-size:198px;padding:28.8px;display:grid}.meals-empty-state .material-symbols-outlined{color:var(--primary);font-size:39.6px}.meals-empty-state p{margin:0;font-size:12.6px;font-weight:700}.meal-plan-page{background:#fbfaf7;grid-template-rows:auto minmax(0,1fr);block-size:calc(100svh - 57.6px);padding:14px 20px 16px;display:grid;overflow:hidden}.meal-plan-page.is-day-view{background:#fbfaf7;padding-inline:0}.meal-plan-page.is-meal-view{background:#fbfaf7;padding:0}.meal-plan-header{box-shadow:none;background:#fff;border:1px solid #d8ddd8;border-radius:7px;grid-template-columns:minmax(162px,1fr) auto minmax(162px,1fr);align-items:center;gap:10px;min-block-size:42px;margin:0 0 14px;padding:4px 12px;display:grid}.meal-plan-page.is-day-view .meal-plan-header{margin-block-end:0;margin-inline:0;padding-inline:21.6px}.meal-plan-page.is-meal-view .meal-plan-header{display:none}.meal-plan-page.is-meal-view .meal-view-layout{block-size:100%}.meal-plan-load-error{color:var(--error);background:#fff0ef;border:1px solid #ba1a1a3d;border-radius:7.2px;margin:0 0 10.8px;padding:9px 10.8px;font-size:12.6px;font-weight:800;line-height:18px}.meal-plan-header h1,.meal-plan-header p{margin:0}.meal-plan-header h1{color:var(--on-surface);font-size:23.4px;font-weight:800;line-height:28.8px}.meal-plan-header p{color:var(--on-surface);font-size:11.7px;font-weight:700;line-height:16.2px}.meal-plan-toolbar{flex-wrap:wrap;grid-area:1/2;justify-content:center;align-items:center;gap:7.2px;display:flex}.meal-plan-toolbar button,.meal-plan-range-control>strong{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);color:var(--on-surface);border-radius:3.6px;align-items:center;min-block-size:34.2px;padding:6.3px 10.8px;font-size:11.7px;font-weight:800;display:inline-flex}.meal-plan-toolbar button{justify-content:center}.meal-plan-range-control{align-items:center;gap:4px;display:inline-flex}.meal-plan-range-control button,.meal-plan-range-control>strong{color:var(--on-surface);background:0 0;border:0;border-radius:0;min-block-size:28px;padding:0 2px}.meal-plan-range-control button:first-child{border-radius:0}.meal-plan-range-control button+strong,.meal-plan-range-control strong+button,.meal-plan-range-control button+.meal-plan-date-picker-button,.meal-plan-range-control .meal-plan-date-picker-button+button{border-left:0}.meal-plan-range-control button:last-child{border-radius:0}.meal-plan-date-picker-button{position:relative}.meal-plan-date-picker-button strong{color:var(--on-surface);pointer-events:none;font-size:13.5px;font-weight:650;line-height:18px}.meal-plan-date-picker-button input{opacity:0;pointer-events:none;block-size:1px;inline-size:1px;position:absolute;inset-block-end:0;inset-inline-start:50%}.meal-plan-toolbar .material-symbols-outlined{font-size:20px}.meal-plan-shopping-toggle{color:var(--primary);background:0 0;border:0;border-radius:999px;grid-area:1/1;justify-self:start;align-items:center;min-block-size:28px;padding:0 4px;display:inline-flex}.meal-plan-shopping-toggle.active,.meal-plan-shopping-toggle:hover{background:#005a4614}.meal-plan-board{grid-template-columns:repeat(auto-fit,minmax(min(292px,100%),1fr));align-items:stretch;gap:12px;padding-block-end:0;display:grid;overflow:hidden}.meal-plan-day{background:#fff;border:1px solid #d8ddd8;border-radius:7px;grid-template-rows:auto minmax(0,1fr) auto;block-size:100%;min-inline-size:0;display:grid;overflow:hidden}.meal-plan-day-header{background:var(--primary);border-bottom:1px solid var(--primary);justify-items:center;gap:0;padding:20px 10px;display:grid}.meal-plan-day.is-past .meal-plan-day-header{background:#4d8c7e;border-color:#4d8c7e}.meal-plan-day-header span,.meal-plan-day-header strong,.meal-plan-day.is-today .meal-plan-day-header span,.meal-plan-day.is-today .meal-plan-day-header strong{color:#fff}.meal-plan-day-header span{letter-spacing:0;text-transform:none;font-size:18px;font-weight:650;line-height:22px}.meal-plan-day-header strong{font-size:18px;font-weight:400;line-height:22px}.meal-plan-slot-list{align-content:start;gap:10px;padding:14px 8px 12px;display:grid;overflow-y:auto}.meal-plan-slot{border-radius:5.4px;gap:6px;transition:background-color .14s,outline-color .14s;display:grid}.meal-plan-slot.is-drag-over{outline-offset:3.6px;background:#0f52380f;outline:1px dashed #0f523861}.meal-plan-slot-header{justify-content:space-between;align-items:center;display:flex}.meal-plan-slot-header>span{color:var(--primary);letter-spacing:0;text-transform:none;font-size:13.5px;font-weight:650;line-height:18px}.meal-plan-slot-header button{color:var(--primary);background:0 0;border:0;justify-content:center;align-items:center;padding:1.8px;display:inline-flex}.meal-plan-slot-header .material-symbols-outlined{font-size:20px}.meal-plan-slot-new-item{opacity:0;max-block-size:0;transition:max-block-size .14s,opacity .14s;position:relative;overflow:hidden}.meal-plan-slot:hover .meal-plan-slot-new-item,.meal-plan-slot:focus-within .meal-plan-slot-new-item{opacity:1;max-block-size:36px;overflow:visible}.meal-plan-slot-new-item input{border:0;color:var(--on-surface);background:0 0;border-block-end:1px solid #4049432e;inline-size:100%;padding:5.4px 0;font-size:11.7px;font-weight:400;line-height:16.2px}.meal-plan-slot-new-item input::placeholder{color:#40494385}.meal-plan-slot-new-item input:focus{border-block-end-color:var(--primary);outline:0}.meal-plan-slot-new-item-results{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:5.4px;gap:1.8px;padding:3.6px;display:grid;overflow-y:auto;box-shadow:0 9px 27px #0f172a21}.meal-plan-slot-new-item-result-group{gap:1.8px;display:grid}.meal-plan-slot-new-item-result-group+.meal-plan-slot-new-item-result-group{border-block-start:1px solid #4049431f;margin-block-start:2.7px;padding-block-start:3.6px}.meal-plan-slot-new-item-result-group h4{color:#40494394;letter-spacing:.04em;margin:0;padding:2.7px 7.2px 1.8px;font-size:9px;font-weight:500;line-height:12.6px}.meal-plan-slot-new-item-results button{color:var(--on-surface);text-align:start;background:0 0;border:0;border-radius:3.6px;align-items:start;gap:1.8px;padding:6.3px 7.2px;display:grid}.meal-plan-slot-new-item-results button:hover{background:var(--surface-container-low);color:var(--primary)}.meal-plan-slot-new-item-results span{font-size:11.7px;font-weight:500;line-height:15.3px}.meal-plan-slot-new-item-results small{color:var(--on-surface);font-size:10.8px;font-weight:400;line-height:14.4px}.meal-plan-meal-card{cursor:grab;background:#fff;border:1px solid #d8ddd8;border-radius:6px;grid-template-columns:56px minmax(0,1fr);align-items:start;gap:4px 8px;min-block-size:66px;padding:8px 9px 7px;display:grid;position:relative;box-shadow:0 2px 5px #0f172a1f}.meal-plan-meal-card.is-shopping-selectable{cursor:pointer}.meal-plan-meal-card.is-selected-for-shopping{border-color:var(--primary);box-shadow:0 0 0 1px #005a462e,0 2px 5px #0f172a1f}.meal-plan-card-thumbnail{aspect-ratio:1;background:color-mix(in srgb, var(--primary) 7%, #fff);border-radius:5px;grid-row:1/span 2;justify-content:center;align-self:start;align-items:center;block-size:56px;inline-size:56px;display:flex;position:relative;overflow:hidden}.meal-plan-card-thumbnail img{object-fit:cover;block-size:100%;inline-size:100%}.meal-plan-card-thumbnail .material-symbols-outlined{color:color-mix(in srgb, var(--primary) 62%, #fff);font-size:22px}.meal-plan-shopping-thumbnail-overlay{color:var(--primary);z-index:1;background:#005a461f;justify-content:center;align-items:center;transition:background .14s,color .14s;display:flex;position:absolute;inset:0}.meal-plan-shopping-thumbnail-overlay .material-symbols-outlined{color:var(--primary);background:#ffffffd1;border:1px solid #005a4633;border-radius:999px;justify-content:center;align-items:center;width:26px;height:26px;font-size:18px;display:inline-flex}.meal-plan-meal-card.is-selected-for-shopping .meal-plan-shopping-thumbnail-overlay{background:#005a466b}.meal-plan-meal-card.is-selected-for-shopping .meal-plan-shopping-thumbnail-overlay .material-symbols-outlined{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.meal-plan-shopping-selection-bar{z-index:35;background:#fffdf7fa;border:1px solid #2b3a2f24;border-radius:999px;justify-content:center;align-items:center;gap:14px;max-inline-size:calc(100vw - 28px);padding:7px 9px 7px 16px;display:flex;position:fixed;inset-block-end:16px;inset-inline-start:50%;transform:translate(-50%);box-shadow:0 10.8px 30.6px #2d261c29}.meal-plan-shopping-selection-bar>div{align-items:center;gap:8px;display:flex}.meal-plan-shopping-selection-bar strong,.meal-plan-shopping-selection-bar span{color:var(--on-surface);font-size:12.6px;line-height:18px}.meal-plan-shopping-selection-bar strong{font-weight:600}.meal-plan-shopping-selection-bar span{color:#151917a8}.meal-plan-shopping-selection-bar button{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);color:var(--primary);border-radius:999px;min-block-size:32px;padding:6px 11px;font-size:11.7px;font-weight:600}.meal-plan-shopping-selection-bar button:first-child{background:var(--surface-container-lowest);color:var(--primary)}.meal-plan-shopping-selection-bar button:last-child{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.meal-plan-shopping-selection-bar button:disabled{cursor:not-allowed;opacity:.45}.meal-plan-shopping-modal{background:var(--surface-container-lowest);color:var(--on-surface);border:1px solid #2b3a2f24;border-radius:10px;gap:16px;max-block-size:min(760px,100vh - 36px);inline-size:min(1020px,100vw - 36px);padding:18px;display:grid;overflow:hidden;box-shadow:0 18px 45px #2d261c2e}.meal-plan-shopping-modal>header{border-bottom:1px solid var(--outline-variant);justify-content:space-between;align-items:start;padding-block-end:12px;display:flex}.meal-plan-shopping-modal>header span,.meal-plan-shopping-ingredients>header strong{color:#15191799;letter-spacing:.08em;text-transform:uppercase;font-size:10.1px;font-weight:600;line-height:13.5px}.meal-plan-shopping-modal h2,.meal-plan-shopping-modal h3{color:var(--on-surface);margin:0;font-weight:600}.meal-plan-shopping-modal h2{font-size:24px;line-height:32px}.meal-plan-shopping-modal h3{font-size:18px;line-height:24px}.meal-plan-shopping-modal>header button{color:#151917a8;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;padding:4px;display:inline-flex}.meal-plan-shopping-modal>header button:hover{color:var(--primary);background:#005a4614}.meal-plan-shopping-selected-meals{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;display:grid}.meal-plan-shopping-selected-meals article{border:1px solid var(--outline-variant);cursor:default;background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex;position:relative}.meal-plan-shopping-selected-meals article:hover,.meal-plan-shopping-selected-meals article:focus-visible{border-color:var(--primary);outline:none}.meal-plan-shopping-selected-meals article.is-filtering{border-color:var(--primary);background:#005a460f;box-shadow:inset 0 0 0 1px #005a461f}.meal-plan-shopping-selected-meals div{gap:2px;min-inline-size:0;display:grid}.meal-plan-shopping-selected-meals div strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.meal-plan-shopping-selected-meals strong,.meal-plan-shopping-selected-meals b{font-size:12.6px;font-weight:600;line-height:16.2px}.meal-plan-shopping-selected-meals span{color:#1519179e;font-size:10.1px;line-height:13.5px}.meal-plan-shopping-serving-pill{background:#fff;border:1px solid #d8ddd8;border-radius:4px;flex:none;align-items:stretch;display:inline-flex;overflow:hidden}.meal-plan-shopping-serving-control{flex:none;place-items:end;gap:4px;display:grid}.meal-plan-shopping-serving-pill>input{appearance:textfield;color:var(--on-surface);text-align:center;min-block-size:17px;min-inline-size:28px;background:#fff;border:0;width:34px;padding:1px 4px;font-size:10px;line-height:14px}.meal-plan-shopping-serving-pill>input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.meal-plan-shopping-serving-pill>input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.meal-plan-shopping-serving-pill>input:focus{outline:none}.meal-plan-shopping-serving-pill>input:focus-visible{box-shadow:inset 0 0 0 1px var(--primary)}.meal-plan-shopping-serving-pill>span:first-child{color:var(--on-surface);justify-content:center;align-items:center;min-block-size:17px;min-inline-size:28px;padding:1px 4px;font-size:10px;line-height:14px;display:inline-flex}.meal-plan-shopping-serving-pill>input+span{color:#151917a8;background:#f8f6f1;border-inline-start:1px solid #2b3a2f14;justify-content:center;align-items:center;min-inline-size:22px;padding:1px 4px;font-size:10px;line-height:14px;display:inline-flex}.meal-plan-shopping-serving-pill>.material-symbols-outlined{font-size:11px}.meal-plan-shopping-serving-revert{color:var(--primary);cursor:pointer;background:0 0;border:0;padding:0;font-size:10.1px;line-height:13.5px}.meal-plan-shopping-serving-revert:hover{text-decoration:underline}.meal-plan-shopping-meal-tooltip{color:#fff;opacity:0;pointer-events:none;z-index:8;background:#1f2a24;border-radius:7px;gap:4px;max-inline-size:min(280px,100vw - 56px);padding:8px 10px;transition:opacity .14s,transform .14s;display:grid;position:absolute;inset-block-end:calc(100% + 8px);inset-inline-start:10px;transform:translateY(4px);box-shadow:0 10px 24px #0f172a38}.meal-plan-shopping-meal-tooltip strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid #ffffff2e;max-inline-size:260px;margin-block-end:2px;padding-block-end:5px;font-size:11.7px;font-weight:600;line-height:15.3px;overflow:hidden}.meal-plan-shopping-meal-tooltip span{color:#fff;white-space:nowrap;font-size:10.1px;line-height:13.5px}.meal-plan-shopping-selected-meals article:hover .meal-plan-shopping-meal-tooltip,.meal-plan-shopping-selected-meals article:focus-visible .meal-plan-shopping-meal-tooltip,.meal-plan-shopping-selected-meals article:focus-within .meal-plan-shopping-meal-tooltip{opacity:1;transform:translateY(0)}.meal-plan-shopping-ingredients{gap:10px;min-block-size:0;display:grid}.meal-plan-shopping-ingredients>header{justify-content:space-between;align-items:center;display:flex}.meal-plan-shopping-table-wrap{border:1px solid var(--outline-variant);border-radius:8px;max-block-size:410px;overflow:auto}.meal-plan-shopping-table-wrap table{border-collapse:collapse;background:#fff;inline-size:100%;min-inline-size:620px}.meal-plan-shopping-table-wrap th{background:var(--primary);color:var(--on-primary);letter-spacing:.06em;text-align:left;text-transform:uppercase;z-index:1;padding:9px 10px;font-size:10.1px;font-weight:600;line-height:13.5px;position:sticky;top:0}.meal-plan-shopping-table-wrap th:first-child,.meal-plan-shopping-table-wrap td:first-child{text-align:center;inline-size:38px}.meal-plan-shopping-table-wrap td{color:var(--on-surface);vertical-align:top;border-block-start:1px solid #2b3a2f1a;padding:8px 10px;font-size:12.6px;line-height:16.2px}.meal-plan-shopping-table-wrap tbody tr{cursor:pointer}.meal-plan-shopping-ingredient-name{align-items:center;gap:6px;display:inline-flex}.meal-plan-shopping-ingredient-name button{color:var(--primary);background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;padding:2px;display:inline-flex}.meal-plan-shopping-ingredient-name button:hover{background:#005a4614}.meal-plan-shopping-ingredient-name .material-symbols-outlined{font-size:16px}.meal-plan-shopping-table-wrap input[type=checkbox]{accent-color:var(--primary);block-size:15px;inline-size:15px;margin:0}.meal-plan-shopping-table-wrap tbody tr:nth-child(2n) td{background:#005a4609}.meal-plan-shopping-table-wrap td:nth-child(3){color:var(--primary);white-space:nowrap;font-weight:600}.meal-plan-shopping-table-wrap tbody tr.is-checked td{color:#1519176b;background:#1519170b;text-decoration:line-through}.meal-plan-shopping-table-wrap tbody tr.is-checked td:nth-child(3){color:#1519176b}.meal-plan-shopping-table-wrap tbody tr.is-checked .meal-plan-shopping-ingredient-name button{color:#15191780}.meal-plan-card-content{min-inline-size:0;padding-inline-end:20px}.meal-plan-meal-card:active{cursor:grabbing}.meal-plan-meal-card:has(.meal-plan-card-action-wrap button[aria-expanded=true]){z-index:8}.meal-plan-meal-card h3,.meal-plan-meal-card p,.meal-plan-meal-card .meal-card-tags{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.meal-plan-meal-card h3{color:var(--on-surface);align-items:center;gap:4.5px;font-size:13.5px;font-weight:650;line-height:17px;display:flex}.meal-plan-meal-card h3>span,.meal-plan-day-entry-card h4>span,.eat-plan-meal-card strong>span{text-overflow:ellipsis;white-space:nowrap;min-inline-size:0;overflow:hidden}.deleted-ingredient-warning,.modified-meal-warning{flex:none;align-items:center;line-height:1;display:inline-flex}.deleted-ingredient-warning{color:#a16207}.modified-meal-warning{color:#2563eb}.deleted-ingredient-warning .material-symbols-outlined,.modified-meal-warning .material-symbols-outlined{font-variation-settings:"FILL" 1, "wght" 500, "GRAD" 0, "opsz" 20;font-size:15.3px}.meal-plan-entry-servings{flex:none;align-items:center;display:inline-flex;position:relative}.meal-plan-entry-servings input{appearance:textfield;color:var(--on-surface);text-align:center;background:#fff;border:1px solid #c7c7c7;border-inline-end:0;border-radius:8px 0 0 8px;min-block-size:21px;inline-size:34px;padding:1px 5px;font-size:10.1px;font-weight:500;line-height:12px}.meal-plan-entry-servings>span{color:var(--on-surface);background:#fafafa;border:1px solid #c7c7c7;border-radius:0 8px 8px 0;justify-content:center;align-items:center;min-block-size:21px;min-inline-size:24px;padding:0 5px;font-size:10.1px;font-weight:500;display:inline-flex}.meal-plan-entry-servings>.material-symbols-outlined{font-size:14px}.meal-plan-entry-servings input::-webkit-inner-spin-button{appearance:none;margin:0}.meal-plan-entry-servings input::-webkit-outer-spin-button{appearance:none;margin:0}.meal-plan-entry-servings input:focus{border-color:var(--primary);box-shadow:-1px 0 0 var(--primary), 0 -1px 0 var(--primary), 0 1px 0 var(--primary);outline:none}.meal-plan-entry-servings:focus-within>span{border-color:var(--primary);box-shadow:1px 0 0 var(--primary), 0 -1px 0 var(--primary), 0 1px 0 var(--primary)}.meal-plan-meal-card p{color:var(--on-surface);font-size:9.9px;font-weight:800;line-height:12.6px}.meal-plan-nutrition-chips{flex-wrap:wrap;gap:7px;margin-block-start:2px;display:flex}.meal-plan-card-footer{grid-column:2;justify-content:space-between;align-items:end;min-inline-size:0;display:flex}.meal-plan-person-chips{gap:0;margin-block-start:2px;display:flex}.meal-plan-person-chips span{color:#fff;border:1px solid #0000;border-radius:899.1px;justify-content:center;align-items:center;block-size:16px;inline-size:16px;font-size:8px;font-weight:700;line-height:1;display:inline-flex}.meal-plan-person-chips span+span{margin-inline-start:-4px}.meal-plan-nutrition-chip{white-space:nowrap;background:0 0;border-radius:0;padding:0;font-size:9.9px;font-weight:650;line-height:12px}.meal-plan-nutrition-chip.kcal{color:var(--primary)}.meal-plan-nutrition-chip.protein{color:var(--protein)}.meal-plan-nutrition-chip.carbs{color:var(--carbs)}.meal-plan-nutrition-chip.fat{color:var(--fat)}.meal-plan-meal-card button{color:var(--on-surface);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.meal-plan-meal-card button:hover{color:var(--primary)}.meal-plan-card-action-wrap{position:absolute;top:7px;right:8px}.meal-plan-card-action-menu{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);box-sizing:border-box;z-index:6;border-radius:5.4px;inline-size:184px;min-inline-size:118.8px;max-inline-size:184px;padding:4.5px;display:grid;position:absolute;top:calc(100% + 5.4px);right:0;overflow:visible;box-shadow:0 9px 25.2px #00000024}.meal-plan-day-entry-card .meal-plan-card-action-menu{top:calc(100% + 5.4px);bottom:auto}.meal-plan-card-people-menu{border-bottom:1px solid var(--outline-variant);gap:5.4px;margin-block-end:4.5px;padding:5.4px 5.4px 9px;display:grid}.meal-plan-card-people-menu>span{color:var(--on-surface);letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:600;line-height:10.8px}.meal-plan-card-people-menu label{color:var(--on-surface);white-space:nowrap;align-items:center;gap:7.2px;font-size:10.8px;font-weight:800;line-height:14.4px;display:flex}.meal-plan-card-people-menu input{accent-color:var(--primary);margin:0}.meal-plan-card-action-menu button{box-sizing:border-box;color:var(--on-surface);text-align:start;white-space:nowrap;background:0 0;border:0;border-radius:3.6px;justify-content:flex-start;align-items:center;gap:7.2px;inline-size:100%;min-inline-size:0;padding:7.2px 9px;font-size:11.7px;font-weight:800;line-height:16.2px;display:flex;overflow:hidden}.meal-plan-card-action-menu button>span:not(.material-symbols-outlined){text-overflow:ellipsis;overflow:hidden}.meal-plan-card-submenu-wrap{position:relative}.meal-plan-card-submenu-wrap>button{padding-inline-end:5.4px}.meal-plan-card-submenu-chevron{margin-inline-start:auto}.meal-plan-card-submenu{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);z-index:7;border-radius:5.4px;inline-size:190px;padding:4.5px;display:none;position:absolute;top:-4.5px;box-shadow:0 9px 25.2px #00000024}.meal-plan-card-submenu[data-side=left]{left:auto;right:calc(100% + 6px)}.meal-plan-card-submenu[data-side=right]{left:calc(100% + 6px);right:auto}.meal-plan-card-submenu-wrap:hover>.meal-plan-card-submenu,.meal-plan-card-submenu-wrap:focus-within>.meal-plan-card-submenu{display:grid}.meal-plan-card-submenu button .material-symbols-outlined:first-child{inline-size:16.2px;min-inline-size:16.2px}.meal-plan-card-action-menu button:hover{background:var(--surface-container-low);color:var(--primary)}.meal-plan-card-action-menu .material-symbols-outlined{font-size:16.2px}.meal-plan-picker-modal{inline-size:min(558px,100%)}.meal-plan-picker-search-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7.2px;display:grid}.meal-plan-picker-search-row .modal-search{margin:0}.meal-plan-picker-import-actions{gap:5.4px;display:inline-flex}.meal-plan-picker-import-actions button{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);color:var(--primary);border-radius:5.4px;justify-content:center;align-items:center;width:37.8px;height:37.8px;display:inline-flex}.meal-plan-picker-import-actions .meal-plan-picker-custom-button{letter-spacing:.02em;inline-size:auto;width:auto;padding-inline:10.8px;font-size:10.8px;font-weight:600}.meal-plan-picker-import-actions button:hover{background:var(--primary-container);border-color:var(--primary-container);color:var(--on-primary-container)}.meal-plan-picker-import-actions .material-symbols-outlined{font-size:18.9px}.meal-plan-person-picker{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:7.2px;gap:12.6px;inline-size:min(324px,100%);padding:16.2px;display:grid;box-shadow:0 16.2px 45px #0f172a2e}.meal-plan-person-picker header{justify-content:space-between;align-items:center;gap:10.8px;display:flex}.meal-plan-person-picker h2{color:var(--on-surface);margin:0;font-size:16.2px;font-weight:600;line-height:21.6px}.meal-plan-copy-modal{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:7.2px;gap:14.4px;inline-size:min(468px,100%);padding:16.2px;display:grid;box-shadow:0 16.2px 45px #0f172a2e}.meal-plan-copy-modal header{justify-content:space-between;align-items:start;gap:10.8px;display:flex}.meal-plan-copy-modal h2,.meal-plan-copy-modal p{margin:0}.meal-plan-copy-modal h2{color:var(--on-surface);font-size:16.2px;font-weight:600;line-height:21.6px}.meal-plan-copy-modal p{color:var(--on-surface);margin-block-start:1.8px;font-size:11.7px;font-weight:800;line-height:16.2px}.meal-plan-nutrition-details-modal{background:0 0;border:0;border-radius:9px;max-block-size:min(810px,100vh - 28.8px);inline-size:min(1080px,100vw - 28.8px);display:block;position:relative;overflow:hidden}.meal-plan-nutrition-details-close{color:#1d211cbd;z-index:3;background:0 0;border:0;justify-content:center;align-items:center;min-block-size:34.2px;min-inline-size:34.2px;padding:4.5px;display:inline-flex;position:absolute;inset-block-start:18px;inset-inline-end:18px}.meal-plan-nutrition-details-close .material-symbols-outlined{font-size:28.8px}.meal-plan-nutrition-details-close:hover{color:var(--primary)}.meal-plan-nutrition-details-modal .meal-plan-nutrition-view{min-block-size:0}.meal-plan-nutrition-details-modal .meal-plan-day-main{background:0 0;padding:0}.meal-plan-nutrition-details-modal .meal-plan-day-sheet{max-block-size:min(810px,100vh - 28.8px);inline-size:100%;padding-inline-end:clamp(54px,7vw,72px);overflow-y:auto}.meal-plan-copy-section{gap:7.2px;display:grid}.meal-plan-copy-section>span{color:var(--on-surface);letter-spacing:.06em;text-transform:uppercase;font-size:9.9px;font-weight:600;line-height:12.6px}.meal-plan-copy-add-button{background:var(--surface-container-low);border:1px dashed var(--primary);color:var(--primary);border-radius:5.4px;justify-content:center;align-items:center;gap:5.4px;min-block-size:34.2px;padding:7.2px 10.8px;font-size:11.7px;font-weight:600;display:inline-flex}.meal-plan-copy-add-button:hover{background:var(--primary-container)}.meal-plan-copy-add-button .material-symbols-outlined{font-size:16.2px}.meal-plan-copy-target-list{gap:6.3px;display:grid}.meal-plan-copy-target-row{grid-template-columns:minmax(115.2px,135px) minmax(0,1fr) 25.2px;align-items:center;gap:7.2px;display:grid}.meal-plan-copy-target-row>input{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);color:var(--on-surface);border-radius:5.4px;min-block-size:32.4px;inline-size:100%;padding:5.4px 7.2px;font-size:11.7px;font-weight:800}.meal-plan-copy-slot-toggle{background:var(--surface-container-low);border:1px solid var(--outline-variant);border-radius:5.4px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.8px;padding:1.8px;display:grid}.meal-plan-copy-slot-toggle button{color:var(--on-surface);background:0 0;border:0;border-radius:3.6px;min-block-size:27px;padding:4.5px 5.4px;font-size:9.9px;font-weight:600;line-height:12.6px}.meal-plan-copy-slot-toggle button:hover,.meal-plan-copy-slot-toggle button.active{background:var(--surface-container-lowest);color:var(--primary);box-shadow:0 1px 3.6px #0f172a1a}.meal-plan-copy-remove-line{color:var(--on-surface);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.meal-plan-copy-remove-line:hover{color:var(--error)}.meal-plan-copy-remove-line:disabled{color:var(--outline-variant);cursor:default}.meal-plan-copy-remove-line .material-symbols-outlined{font-size:16.2px}.meal-plan-copy-actions{justify-content:end;gap:9px;display:flex}.meal-plan-person-picker-options{gap:7.2px;display:grid}.meal-plan-person-picker-options button{background:var(--surface-container-low);border:1px solid var(--outline-variant);color:var(--on-surface);text-align:left;border-radius:5.4px;align-items:center;gap:9px;min-block-size:37.8px;padding:7.2px 9px;font-size:12.6px;font-weight:600;display:flex}.meal-plan-person-picker-options button:hover{background:var(--primary-container);border-color:var(--primary-container);color:var(--on-primary-container)}.meal-plan-person-picker-dot,.meal-plan-person-picker-dots span{border-radius:899.1px;flex:none;block-size:12.6px;inline-size:12.6px}.meal-plan-person-picker-dots{display:inline-flex}.meal-plan-person-picker-dots span{border:1px solid var(--surface-container-lowest)}.meal-plan-person-picker-dots span+span{margin-inline-start:-4.5px}.meal-plan-picker-list{gap:7.2px;display:grid}.meal-plan-picker-card{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);color:var(--on-surface);text-align:start;border-radius:5.4px;grid-template-columns:minmax(0,1fr) 21.6px;align-items:center;gap:10.8px;padding:9px;display:grid}.meal-plan-picker-card:hover{border-color:var(--primary)}.meal-plan-picker-card:disabled{cursor:wait;opacity:.68}.meal-plan-picker-card strong,.meal-plan-picker-card span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.meal-plan-picker-card strong{font-size:12.6px;font-weight:600;line-height:18px}.meal-plan-picker-card span{color:var(--on-surface);font-size:10.8px;font-weight:700;line-height:14.4px}.meal-plan-picker-card>.material-symbols-outlined{color:var(--primary);font-size:18px}.meal-plan-picker-error{color:var(--error);background:#fff0ef;border:1px solid #ba1a1a3d;border-radius:5.4px;margin:0;padding:9px 10.8px;font-size:11.7px;font-weight:800;line-height:16.2px}.meal-plan-day-total{border-top:1px solid #d8ddd8;color:var(--on-surface);cursor:pointer;text-align:initial;background:#fff;border-block-end:0;border-inline:0;padding:9px 10px;display:grid;position:relative}.meal-plan-day-total:hover,.meal-plan-day-total:focus-visible{background:color-mix(in srgb, var(--primary) 4%, #fff);outline:0}.meal-plan-person-toggle{background:0 0;border:0;border-radius:0;grid-column:3;place-self:center end;gap:0;max-inline-size:100%;padding:0;display:inline-flex}.meal-plan-person-toggle button{background:var(--primary);color:#fff;border:0;border-radius:999px;justify-content:center;align-items:center;block-size:24px;inline-size:24px;margin-inline-start:-5px;padding:0;font-size:10.1px;font-weight:800;line-height:1;display:inline-flex;overflow:hidden}.meal-plan-person-toggle button:first-child{margin-inline-start:0}.meal-plan-person-toggle button[aria-pressed=true]{opacity:1;z-index:2;position:relative}.meal-plan-person-toggle button[aria-pressed=false]{opacity:.45}.meal-plan-day-person-toggle{grid-column:auto;justify-self:start;width:fit-content;margin-block-start:10.8px}.meal-plan-day-total-values{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.meal-plan-day-goal-value{cursor:help;text-align:center;border-radius:2.7px;outline:none;min-width:0}.meal-plan-day-goal-value strong{white-space:nowrap;font-size:10.1px;font-weight:650;line-height:13.5px;display:block}.meal-plan-day-goal-value[data-tone=kcal] strong{color:var(--primary)}.meal-plan-day-goal-value[data-tone=protein] strong{color:var(--protein)}.meal-plan-day-goal-value[data-tone=carbs] strong{color:var(--carbs)}.meal-plan-day-goal-value[data-tone=fat] strong{color:var(--fat)}.meal-plan-day-goal-value span{display:none}.meal-plan-floating-goal-tooltip{background:var(--inverse-surface);color:var(--inverse-on-surface);pointer-events:none;text-align:center;white-space:normal;z-index:220;border-radius:5.4px;max-inline-size:min(270px,100vw - 24px);padding:5.4px 7.2px;font-size:9.9px;font-weight:600;line-height:12.6px;position:fixed;transform:translate(-50%,calc(-100% - 3.6px));box-shadow:0 7.2px 18px #0f172a2e}.meal-plan-floating-goal-tooltip.is-over{color:#ffb4ab}.meal-plan-floating-goal-tooltip.is-under{color:#7ee2a8}.meal-plan-goal-tooltip{cursor:help;border-radius:2.7px;outline:none;position:relative}.meal-plan-goal-tooltip:after{background:var(--inverse-surface);color:var(--inverse-on-surface);content:attr(data-tooltip);letter-spacing:0;opacity:0;pointer-events:none;text-transform:none;white-space:nowrap;z-index:20;border-radius:5.4px;padding:5.4px 7.2px;font-size:9.9px;font-weight:600;line-height:12.6px;transition:opacity .14s,transform .14s;position:absolute;top:-7.2px;left:50%;transform:translate(-50%,-100%);box-shadow:0 7.2px 18px #0f172a2e}.meal-plan-goal-tooltip.is-over:after{color:#ffb4ab}.meal-plan-goal-tooltip.is-under:after{color:#7ee2a8}.meal-plan-goal-tooltip.is-even:after{color:var(--inverse-on-surface)}.meal-plan-goal-tooltip:hover:after,.meal-plan-goal-tooltip:focus-visible:after{opacity:1;transform:translate(-50%,calc(-100% - 3.6px))}.meal-plan-day-view{background:var(--surface-container-lowest);grid-template-columns:284.4px minmax(0,1fr);gap:0;min-height:0;display:grid;overflow:hidden}.meal-plan-nutrition-view{background:var(--surface-container-lowest);grid-template-columns:minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.meal-plan-day-view[data-library-collapsed=true]{grid-template-columns:46.8px minmax(0,1fr)}.meal-plan-day-main{scrollbar-gutter:stable;background:#fbfaf7;gap:27px;padding:28.8px 36px 39.6px;display:grid;overflow-y:auto}.meal-plan-nutrition-view .meal-plan-day-main{align-items:start}.meal-plan-day-sheet{color:#1d211c;background:radial-gradient(circle at 12% 18%,#22201a21 0 1px,#0000 1.26px) 0 0/133.2px 127.8px,radial-gradient(circle at 74% 12%,#22201a1a 0 1px,#0000 1.17px) 0 0/167.4px 156.6px,radial-gradient(circle at 28% 68%,#22201a1c 0 1px,#0000 1.26px) 0 0/145.8px 135px,radial-gradient(circle at 86% 78%,#22201a1a 0 1px,#0000 1.17px) 0 0/189px 171px,#fffdf7;border:1px solid #3e53451f;border-radius:9px;gap:30.6px;inline-size:min(100%,1008px);margin-inline:auto;padding:clamp(30.6px,5vw,52.2px);font-family:Georgia,Times New Roman,serif;display:grid;box-shadow:0 21.6px 54px #2d261c1f}.meal-plan-day-hero{border-bottom:1px solid #2b3a2f24;justify-content:space-between;align-items:start;gap:18px;padding-block-end:27px;display:flex}.meal-plan-day-hero h2,.meal-plan-day-hero p{margin:0}.meal-plan-day-hero h2{color:#171a16;letter-spacing:-.02em;font-family:Georgia,Times New Roman,serif;font-size:clamp(36px,5.4vw,54px);font-weight:500;line-height:.98}.meal-plan-day-hero p{color:#6e8c79;letter-spacing:.08em;text-transform:uppercase;margin-block-start:10.8px;font-family:Inter,system-ui,sans-serif;font-size:11.7px;font-weight:600;line-height:16.2px}.meal-plan-day-tools{gap:7.2px;display:flex}.meal-plan-day-tools button{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);color:var(--primary);border-radius:3.6px;justify-content:center;align-items:center;min-block-size:39.6px;min-inline-size:39.6px;display:inline-flex}.meal-plan-day-summary-grid{grid-template-columns:minmax(162px,185.4px) minmax(0,1fr);gap:16.2px;display:grid}.meal-plan-tracking-placeholder{color:var(--on-surface);background:#fffdf79e;border:1px solid #2b3a2f24;border-radius:0;padding:14.4px 16.2px;font-family:Inter,system-ui,sans-serif;font-size:12.6px;font-weight:600;line-height:18px}.meal-plan-goal-card,.meal-plan-macro-card{background:var(--surface-container-low);border:1px solid #2b3a2f24;border-radius:5.4px;min-block-size:118.8px;padding:16.2px 18px;font-family:Inter,system-ui,sans-serif;display:grid}.meal-plan-goal-card{align-content:center;justify-items:center;gap:10.8px}.meal-plan-calorie-ring{background:radial-gradient(circle at center, #fffdf7 0 53%, transparent 54%), conic-gradient(var(--primary) var(--calorie-progress), var(--surface-container) 0);border-radius:899.1px;place-content:center;place-items:center;width:86.4px;height:86.4px;display:grid}.meal-plan-goal-card strong{color:var(--on-surface);font-size:19.8px;font-weight:600;line-height:23.4px}.meal-plan-goal-card span{color:var(--on-surface);letter-spacing:.05em;text-transform:uppercase;font-size:8.1px;font-weight:600;line-height:10.8px}.meal-plan-goal-card small{color:var(--primary);letter-spacing:.05em;text-transform:uppercase;justify-items:center;gap:1.8px;font-size:9.9px;font-weight:600;line-height:12.6px;display:grid}.meal-plan-goal-card small strong{color:var(--on-surface);letter-spacing:0;text-transform:none;font-size:11.7px;line-height:15.3px}.meal-plan-goal-delta{letter-spacing:0;text-transform:none;white-space:nowrap;border-radius:899.1px;padding:2.7px 6.3px;font-size:9.9px;font-style:normal;font-weight:950;line-height:12.6px;display:inline-flex}.meal-plan-goal-delta.is-over{color:var(--error);background:#ba1a1a1a}.meal-plan-goal-delta.is-under{color:var(--primary);background:#0f52381a}.meal-plan-goal-delta.is-even{background:var(--surface-container);color:var(--on-surface)}.meal-plan-macro-card{gap:14.4px}.meal-plan-macro-card>header{justify-content:space-between;gap:10.8px;display:flex}.meal-plan-macro-card>header span{color:var(--on-surface);letter-spacing:.05em;text-transform:uppercase;font-size:9.9px;font-weight:600;line-height:12.6px}.meal-plan-macro-card>header strong{color:var(--on-surface);font-size:11.7px;font-weight:600;line-height:16.2px}.meal-plan-macro-list{gap:12.6px;display:grid}.meal-plan-macro-row{gap:6.3px;display:grid}.meal-plan-macro-row>div{justify-content:space-between;gap:10.8px;display:flex}.meal-plan-macro-row span{letter-spacing:.05em;text-transform:uppercase;font-size:9.9px;font-weight:600;line-height:12.6px}.meal-plan-macro-row span.protein{color:var(--protein)}.meal-plan-macro-row span.carbs{color:var(--carbs)}.meal-plan-macro-row span.fat{color:var(--fat)}.meal-plan-macro-row strong{color:var(--on-surface);align-items:center;gap:6.3px;font-size:12.6px;font-weight:600;display:inline-flex}.meal-plan-macro-row progress{appearance:none;block-size:7.2px;inline-size:100%}.meal-plan-macro-row progress::-webkit-progress-bar{background:var(--surface-container);border-radius:899.1px}.meal-plan-macro-row progress::-webkit-progress-value{background:var(--primary);border-radius:899.1px}.meal-plan-macro-row progress.protein::-webkit-progress-value{background:var(--protein)}.meal-plan-macro-row progress.carbs::-webkit-progress-value{background:var(--carbs)}.meal-plan-macro-row progress.fat::-webkit-progress-value{background:var(--fat)}.meal-plan-macro-row progress::-moz-progress-bar{background:var(--primary);border-radius:899.1px}.meal-plan-macro-row progress.protein::-moz-progress-bar{background:var(--protein)}.meal-plan-macro-row progress.carbs::-moz-progress-bar{background:var(--carbs)}.meal-plan-macro-row progress.fat::-moz-progress-bar{background:var(--fat)}.meal-plan-micro-summary{background:var(--surface-container-low);border:1px solid #2b3a2f24;border-radius:5.4px;gap:16.2px;padding:16.2px;font-family:Inter,system-ui,sans-serif;display:grid}.meal-plan-micro-summary-header{justify-content:space-between;align-items:baseline;gap:14.4px;display:flex}.meal-plan-micro-summary-header h3{color:var(--primary);margin:0;font-family:Georgia,Times New Roman,serif;font-size:27px;font-weight:500;line-height:32.4px}.meal-plan-micro-summary-header span{color:var(--on-surface);font-size:10.8px;font-weight:800;line-height:14.4px}.meal-plan-micro-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14.4px 18px;display:grid}.meal-plan-micro-summary-item{gap:5.4px;display:grid}.meal-plan-micro-summary-item>div{justify-content:space-between;align-items:center;gap:9px;display:flex}.meal-plan-micro-summary-item span,.meal-plan-micro-summary-item small{color:var(--on-surface);font-size:9.9px;font-weight:800;line-height:12.6px}.meal-plan-micro-summary-item strong{color:var(--on-surface);font-size:10.8px;font-weight:600;line-height:14.4px}.meal-plan-micro-summary-item progress{appearance:none;block-size:6.3px;inline-size:100%}.meal-plan-micro-summary-item progress::-webkit-progress-bar{background:var(--surface-container);border-radius:899.1px}.meal-plan-micro-summary-item progress::-webkit-progress-value{background:var(--primary);border-radius:899.1px}.meal-plan-micro-summary-item progress::-moz-progress-bar{background:var(--primary);border-radius:899.1px}.meal-plan-day-sankey .nutrition-sankey-section{background:0 0;border:0;border-top:1px solid #2b3a2f24;border-radius:0;gap:16.2px;padding:27px 0 0;font-family:Inter,system-ui,sans-serif}.meal-plan-day-sankey .nutrition-sankey-section h3{font-size:0}.meal-plan-day-sankey .nutrition-sankey-section h3:before{content:"Contribution";color:var(--primary);letter-spacing:0;text-transform:none;font-family:Georgia,Times New Roman,serif;font-size:27px;font-weight:500;line-height:32.4px}.meal-plan-day-sankey .nutrition-sankey-chart,.meal-plan-day-sankey .nutrition-sankey-summary{background:var(--surface-container-low)}.meal-plan-day-sankey .nutrition-sankey-empty{margin:0}.meal-plan-day-sections{gap:27px;display:grid}.meal-plan-day-section{border-radius:0;gap:12.6px;padding:0;transition:background-color .16s,outline-color .16s;display:grid}.meal-plan-day-section:hover{background:0 0}.meal-plan-day-section>header{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7.2px 12.6px;display:grid}.meal-plan-day-section>header:after{content:"";background:#2b3a2f24;grid-area:1/2;height:1px}.meal-plan-day-section h3{color:var(--primary);margin:0;font-family:Georgia,Times New Roman,serif;font-size:30.6px;font-weight:500;line-height:36px}.meal-plan-day-section>header button{color:var(--primary);background:0 0;border:0;justify-content:center;align-items:center;padding:1.8px;display:inline-flex}.meal-plan-day-section>header .material-symbols-outlined{font-size:18px}.meal-plan-day-entry-list{gap:9px;display:grid}.meal-plan-day-entry-card{box-shadow:none;background:#fff;border:1px solid #2b3a2f24;border-radius:5.4px;grid-template-columns:minmax(0,1fr) auto 28.8px;align-items:center;gap:14.4px;min-block-size:64.8px;padding:9px 12.6px;display:grid}.meal-plan-day-entry-card h4,.meal-plan-day-entry-card p,.meal-plan-day-entry-card .meal-card-tags{margin:0}.meal-plan-day-entry-card h4{color:#242820;align-items:center;gap:5.4px;font-family:Georgia,Times New Roman,serif;font-size:17.1px;font-weight:500;line-height:21.6px;display:flex}.meal-plan-day-entry-card p{color:var(--on-surface-variant);margin-block-end:10.8px;font-family:Inter,system-ui,sans-serif;font-size:12.6px;font-weight:700;line-height:18px}.meal-plan-day-entry-card button{color:var(--on-surface);background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.meal-plan-day-entry-card button:hover{color:var(--error)}.meal-plan-quick-add{background:var(--surface-container-lowest);border-right:1px solid var(--outline-variant);grid-template-rows:auto minmax(0,1fr);align-content:start;padding:12.6px 12.6px 16.2px;display:grid;position:relative;overflow:hidden}.meal-plan-quick-add[data-collapsed=true]{padding:0}.meal-plan-quick-add-content{display:contents}.meal-plan-quick-add[data-collapsed=true] .meal-plan-quick-add-content{display:none}.meal-plan-library-collapse{color:var(--primary);z-index:2;background:0 0;border:0;justify-content:center;align-items:center;width:27px;height:27px;padding:0;display:inline-flex;position:absolute;top:9px;right:9px}.meal-plan-quick-add[data-collapsed=true] .meal-plan-library-collapse{top:12.6px;left:9.9px;right:auto}.meal-plan-library-collapse:hover{color:var(--on-surface)}.meal-plan-library-collapse .material-symbols-outlined{font-size:19.8px}.meal-plan-library-header{gap:9px;margin-block-end:10.8px;display:grid;position:relative}.meal-plan-library-header h3{color:var(--primary);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:14.4px;font-weight:950;line-height:19.8px}.meal-plan-library-search{background:#f1f2f0;border:0;border-radius:5.4px;align-items:center;gap:7.2px;min-block-size:34.2px;padding:0 9px;display:flex}.meal-plan-library-search .material-symbols-outlined{color:#45504b;font-size:18px}.meal-plan-library-search input{color:#6b7280;background:0 0;border:0;outline:none;flex:1;min-inline-size:0;font-size:12.6px;font-weight:650}.meal-plan-library-search:focus-within{box-shadow:0 0 0 1.8px #0f52381f}.meal-plan-library-type-toggle{background:#f1f2f0;border-radius:5.4px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.8px;padding:1.8px;display:grid}.meal-plan-library-type-toggle button{color:#45504b;white-space:nowrap;background:0 0;border:0;border-radius:3.6px;min-inline-size:0;padding:4.5px 3.6px;font-size:9.9px;font-weight:600;line-height:14.4px}.meal-plan-library-type-toggle button[aria-pressed=true]{background:var(--surface-container-lowest);color:var(--primary);box-shadow:0 1px 1.8px #0f172a1a}.meal-plan-library-controls{grid-template-columns:minmax(0,1fr) 34.2px;gap:6.3px;display:grid}.meal-plan-library-sort{background:#f1f2f0;border:0;border-radius:5.4px;align-items:center;gap:6.3px;min-block-size:34.2px;min-inline-size:0;padding:0 6.3px 0 9px;display:flex}.meal-plan-library-sort>span,.meal-plan-library-filter-panel label span{color:#45504b;letter-spacing:.05em;text-transform:uppercase;font-size:9px;font-weight:600}.meal-plan-library-sort select{appearance:none;color:#45504b;background:0 0;border:0;outline:none;flex:1;min-inline-size:0;padding-block:5.4px;font-size:10.8px;font-weight:600}.meal-plan-library-sort button,.meal-plan-library-filter-button,.meal-plan-library-filter-panel>button{color:#45504b;background:#f1f2f0;border:0;border-radius:5.4px;justify-content:center;align-items:center;font-size:10.8px;font-weight:600;display:inline-flex}.meal-plan-library-sort button{background:0 0;align-self:stretch;padding:0}.meal-plan-library-filter-button{min-block-size:34.2px;padding:0}.meal-plan-library-sort button:hover,.meal-plan-library-filter-button:hover,.meal-plan-library-filter-button[aria-expanded=true],.meal-plan-library-filter-panel>button:hover{background:var(--primary-container);color:var(--on-primary-container)}.meal-plan-library-sort .material-symbols-outlined,.meal-plan-library-filter-button .material-symbols-outlined{font-size:18px}.meal-plan-library-filter-panel{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);z-index:35;border-radius:7.2px;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;inline-size:min(558px,100vw - 28.8px);padding:9px;display:grid;position:absolute;inset-block-start:0;inset-inline-start:calc(100% + 9px);box-shadow:0 16.2px 37.8px #2d261c29}.meal-plan-library-filter-panel label{gap:3.6px;min-inline-size:0;display:grid}.meal-plan-library-filter-panel input{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);color:var(--on-surface);border-radius:5.4px;min-inline-size:0;padding:5.4px 6.3px;font-size:10.8px;font-weight:850}.meal-plan-library-filter-panel input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 1.8px #0f52381f}.meal-plan-library-filter-panel>button{grid-column:1/-1;justify-self:start;padding:6.3px 9px}.meal-plan-quick-add-list{grid-auto-rows:max-content;align-content:start;gap:9px;padding-block-end:10.8px;display:grid;overflow-y:auto}.meal-plan-quick-add-card{background:var(--surface-container-low);color:var(--on-surface);text-align:start;border:1px solid #0000;border-radius:7.2px;grid-template-columns:minmax(0,1fr) 18px;align-self:start;align-items:center;gap:9px;padding:9px;display:grid}.meal-plan-quick-add-card[draggable=true]{cursor:grab}.meal-plan-quick-add-card[draggable=true]:active{cursor:grabbing}.meal-plan-quick-add-card:hover{background:var(--surface-container-lowest);border-color:var(--primary)}.meal-plan-quick-add-card strong,.meal-plan-quick-add-card small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.meal-plan-quick-add-card strong{font-size:11.7px;font-weight:500;line-height:16.2px}.meal-plan-quick-add-card small{color:var(--on-surface);font-size:9.9px;font-weight:400;line-height:12.6px}.meal-plan-quick-add-card .meal-card-tags{color:#2b3a2f7a;margin-block-start:2.7px;font-size:9px;line-height:11.7px}.meal-plan-quick-action-wrap{position:relative}.meal-plan-quick-action-wrap>button{color:var(--on-surface);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.meal-plan-quick-action-wrap>button:hover{color:var(--primary)}.meal-plan-quick-action-menu,.meal-plan-quick-submenu{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);z-index:90;border-radius:5.4px;min-inline-size:135px;padding:4.5px;display:grid;position:absolute;box-shadow:0 9px 25.2px #00000024}.meal-plan-quick-action-menu{top:calc(100% + 5.4px);right:0}.meal-plan-quick-submenu{top:0;left:calc(100% + 5.4px)}.meal-plan-quick-submenu-wrap .meal-plan-quick-submenu{display:none}.meal-plan-quick-submenu-wrap:hover .meal-plan-quick-submenu,.meal-plan-quick-submenu-wrap:focus-within .meal-plan-quick-submenu{display:grid}.meal-plan-quick-action-menu button,.meal-plan-quick-submenu button{color:var(--on-surface);text-align:start;white-space:nowrap;background:0 0;border:0;border-radius:3.6px;justify-content:space-between;align-items:center;gap:7.2px;padding:7.2px 9px;font-size:11.7px;font-weight:800;line-height:16.2px;display:flex}.meal-plan-quick-action-menu button:hover,.meal-plan-quick-submenu button:hover{background:var(--surface-container-low);color:var(--primary)}.meal-plan-quick-submenu-wrap{position:relative}.meal-plan-quick-submenu-wrap>button{inline-size:100%}.ingredient-stack{gap:21.6px;display:grid}.recipe-builder-sheet .ingredient-stack{gap:0;margin-block-start:0}.recipe-builder-sheet .recipe-builder-section-header{border-bottom:1px solid #2b3a2f24;justify-content:space-between;align-items:center;gap:16.2px;margin-block-end:12.6px;padding-block-end:10.8px;display:flex}.recipe-builder-sheet .recipe-builder-section-header h2{color:var(--primary);margin:0;font-family:Georgia,Times New Roman,serif;font-size:30.6px;font-weight:500;line-height:36px}.recipe-card,.nutrition-panel{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);box-shadow:var(--shadow-ambient);border-radius:7.2px}.recipe-card{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr) 28.8px;align-items:center;gap:21.6px;min-inline-size:0;padding:21.6px;display:grid}.recipe-card:focus-visible{border-color:var(--primary);box-shadow:0 0 0 2.7px #0f52382e, var(--shadow-ambient);outline:none}.recipe-card:hover{border-color:var(--primary)}.recipe-builder-sheet .recipe-card{box-shadow:none;background:0 0;border:0;border-bottom:1px dotted #2b3a2f38;border-radius:0;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr) 28.8px;gap:16.2px;padding:10.8px 0}.recipe-builder-sheet .recipe-card:hover,.recipe-builder-sheet .recipe-card:focus-visible{box-shadow:none;background:#fffdf79e;border-bottom-color:#0f523861}.ingredient-identity{align-items:center;gap:14.4px;min-width:0;display:flex}.ingredient-identity h3{color:var(--on-surface);font-size:18px;font-weight:800;line-height:25.2px}.ingredient-identity p{color:var(--on-surface);margin:0;font-size:12.6px;line-height:18px}.recipe-builder-sheet .ingredient-identity h3{color:#242820;font-family:Georgia,Times New Roman,serif;font-size:18px;font-style:italic;font-weight:500;line-height:22.5px}.recipe-builder-sheet .ingredient-identity p,.recipe-builder-sheet .diet-tags{font-family:Inter,system-ui,sans-serif}.diet-tags{flex-wrap:wrap;gap:3.6px;margin-block-start:7.2px;display:flex}.diet-tags span{background:var(--surface-container-high);color:var(--on-surface-variant);border-radius:1.8px;padding:1.8px 5.4px;font-size:9.9px;font-weight:700}.ingredient-controls{gap:14.4px;display:grid}.recipe-builder-sheet .ingredient-controls{gap:0}.macro-row{justify-content:space-between;align-items:center;gap:14.4px;display:flex}.recipe-builder-sheet .macro-row{grid-template-columns:auto minmax(0,1fr);gap:12.6px;display:grid}.gram-input{flex:none;align-items:center;gap:7.2px;display:flex}.gram-input input{border:1px solid var(--outline-variant);color:var(--on-surface);font-variant-numeric:tabular-nums;text-align:center;border-radius:3.6px;inline-size:73.8px;padding:5.4px 9px;font-weight:600;line-height:18px}.gram-input span{color:var(--on-surface);font-size:12.6px}.recipe-builder-sheet .gram-input{font-family:Inter,system-ui,sans-serif}.recipe-builder-sheet .gram-input input{background:#fffdf7b3;border-color:#2b3a2f38;border-radius:0;inline-size:64.8px}.recipe-builder-sheet .gram-input span{color:var(--primary);font-size:10.8px;font-weight:600}.recipe-builder-sheet .recipe-quantity-input{background:#fff;border:1px solid #d8ddd8;border-radius:4px;align-items:stretch;gap:0;display:inline-flex;overflow:hidden}.recipe-builder-sheet .recipe-quantity-input input{appearance:textfield;color:var(--on-surface);text-align:center;background:#fff;border:0;border-radius:0;min-block-size:17px;inline-size:38px;padding:1px 4px;font-size:10px;font-weight:400;line-height:14px}.recipe-builder-sheet .recipe-quantity-input input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.recipe-builder-sheet .recipe-quantity-input input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.recipe-builder-sheet .recipe-quantity-input input:focus{box-shadow:inset 0 0 0 1px var(--primary);outline:none}.recipe-builder-sheet .recipe-quantity-input>span{color:#151917a8;background:#f8f6f1;border-inline-start:1px solid #2b3a2f14;justify-content:center;align-items:center;min-inline-size:22px;padding:1px 4px;font-size:10px;font-weight:400;line-height:14px;display:inline-flex}.recipe-builder-sheet .recipe-quantity-input>.material-symbols-outlined{letter-spacing:normal;text-transform:none;font-family:Material Symbols Outlined;font-size:11px;line-height:1}.macro-chips{flex-wrap:wrap;justify-content:flex-end;gap:10.8px;display:flex}.macro-chip-group{place-items:center;gap:3.6px;min-inline-size:52.2px;display:grid}.macro-chip-group>span,.ribbon-metric span{color:var(--on-surface);letter-spacing:.04em;text-transform:uppercase;font-size:9px;font-weight:800;line-height:10.8px}.macro-chip,.ribbon-metric strong,.macro-summary p{font-variant-numeric:tabular-nums}.macro-chip{color:#fff;border-radius:1.8px;justify-content:center;min-inline-size:48.6px;padding:1.8px 7.2px;font-size:12.6px;font-weight:700;line-height:18px;display:inline-flex}.recipe-builder-sheet .macro-chips{gap:7.2px}.recipe-builder-sheet .macro-chip-group{min-inline-size:46.8px}.recipe-builder-sheet .macro-chip{background:0 0;border:1px solid;border-radius:3.6px;min-inline-size:43.2px;font-family:Inter,system-ui,sans-serif;font-size:10.8px;line-height:16.2px}.macro-chip.kcal{background:var(--primary)}.macro-chip.protein,.macro-dot.protein,.macro-bar .protein{background:var(--protein)}.macro-chip.carbs,.macro-dot.carbs,.macro-bar .carbs{background:var(--carbs)}.macro-chip.fat,.macro-dot.fat,.macro-bar .fat{background:var(--fat)}.recipe-builder-sheet .macro-chip.kcal,.recipe-builder-sheet .macro-chip.protein,.recipe-builder-sheet .macro-chip.carbs,.recipe-builder-sheet .macro-chip.fat{color:currentColor;background:#fffdf7a8}.recipe-builder-sheet .macro-chip.kcal{color:var(--primary)}.recipe-builder-sheet .macro-chip.protein{color:var(--protein)}.recipe-builder-sheet .macro-chip.carbs{color:var(--carbs)}.recipe-builder-sheet .macro-chip.fat{color:var(--fat)}.range-field{gap:7.2px;display:grid}.range-field input{inline-size:100%}.range-scale{color:var(--on-surface);font-variant-numeric:tabular-nums;justify-content:space-between;font-size:9px;display:flex}.recipe-card-actions{justify-items:center;gap:5.4px;display:grid;position:relative}.recipe-icon-button{color:var(--on-surface);background:0 0;border:0;justify-content:center;align-items:center;padding:3.6px;text-decoration:none;display:inline-flex}.recipe-icon-button:hover{color:var(--primary)}.recipe-action-menu-wrap{position:relative}.recipe-action-menu{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);z-index:5;border-radius:5.4px;gap:1.8px;min-inline-size:140.4px;padding:4.5px;display:grid;position:absolute;top:calc(100% + 5.4px);right:0;box-shadow:0 9px 25.2px #00000024}.recipe-action-menu button,.recipe-action-menu a{color:var(--on-surface);text-align:start;white-space:nowrap;background:0 0;border:0;border-radius:3.6px;align-items:center;gap:7.2px;padding:7.2px 9px;font-size:11.7px;font-weight:800;line-height:16.2px;text-decoration:none;display:flex}.recipe-action-menu button:hover,.recipe-action-menu a:hover{background:var(--surface-container-low);color:var(--primary)}.recipe-action-menu button:disabled{color:var(--on-surface);cursor:not-allowed;opacity:.55}.recipe-action-menu .material-symbols-outlined{font-size:16.2px}.delete-button{color:var(--on-surface)}.delete-button:hover{color:var(--error)}.ingredient-empty-state{border:1.8px dashed var(--outline-variant);color:var(--on-surface);text-align:center;background:0 0;border-radius:7.2px;flex-direction:column;justify-content:center;align-items:center;gap:7.2px;min-block-size:115.2px;padding:28.8px;font-size:12.6px;font-weight:700;display:flex}.ingredient-empty-state:disabled{cursor:default;opacity:1}.ingredient-empty-state .material-symbols-outlined{font-size:36px}.recipe-builder-sheet .ingredient-empty-state{box-shadow:none;color:var(--primary);background:#fffdf794;border-color:#2b3a2f29;border-radius:0;min-block-size:86.4px;margin-block-start:12.6px;font-family:Inter,system-ui,sans-serif}.recipe-builder-sheet .ingredient-empty-state .material-symbols-outlined{font-size:25.2px}.modal-backdrop{z-index:50;background:#191c1a70;justify-content:center;align-items:center;inline-size:auto;margin:0;padding:21.6px;display:flex;position:fixed;inset:0}.ingredient-modal{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:7.2px;gap:14.4px;max-block-size:min(684px,100svh - 43.2px);inline-size:min(648px,100%);padding:18px;display:grid;overflow-y:auto;box-shadow:0 21.6px 72px #00000038}.modal-header{justify-content:space-between;align-items:center;display:flex}.modal-header h2{color:var(--on-surface);margin:0;font-size:18px;font-weight:800;line-height:25.2px}.modal-header p{color:var(--on-surface);margin:3.6px 0 0;font-size:13.5px;font-weight:400;line-height:18px}.household-library-choice-modal{inline-size:min(486px,100%)}.household-library-choice-options{gap:9px;display:grid}.household-library-choice-options label{background:var(--surface-container-low);border:1px solid var(--outline-variant);cursor:pointer;border-radius:7.2px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:9px;padding:12.6px;display:grid}.household-library-choice-options label.is-selected{border-color:var(--primary);background:#005a4614}.household-library-choice-options input{accent-color:var(--primary);margin-block-start:2.7px}.household-library-choice-options span{gap:3.6px;display:grid}.household-library-choice-options strong{color:var(--on-surface);font-size:13.5px;font-weight:600;line-height:18px}.household-library-choice-options small{color:var(--on-surface-variant);font-size:13.5px;font-weight:400;line-height:18px}.household-library-choice-actions{justify-content:flex-end;gap:9px;display:flex}.modal-search-row{grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:10.8px;display:grid}.modal-search input{background:var(--surface-container)}.modal-action-button{background:var(--primary);color:var(--on-primary);white-space:nowrap;border:0;border-radius:3.6px;justify-content:center;align-items:center;gap:7.2px;min-block-size:36px;padding:7.2px 12.6px;font-size:12.6px;font-weight:800;display:flex}.modal-action-button:hover{filter:brightness(.97)}.modal-ingredient-list{gap:7.2px;display:grid}.replacement-result-list{gap:7.2px;min-height:0;display:grid;overflow-y:auto}.replacement-result-card{background:var(--surface-container-low);border:1px solid var(--outline-variant);color:var(--on-surface);text-align:start;border-radius:5.4px;grid-template-columns:minmax(0,1fr) 21.6px;align-items:center;gap:10.8px;padding:9px;display:grid}.replacement-result-card:hover{border-color:var(--primary)}.replacement-result-card strong,.replacement-result-card span{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.replacement-result-card strong{font-size:12.6px;font-weight:800;line-height:18px}.replacement-result-card span{color:var(--on-surface);font-size:10.8px;font-weight:700;line-height:14.4px}.replacement-result-card>.material-symbols-outlined{color:var(--primary);font-size:18px}.comparison-modal{grid-template-rows:auto minmax(0,1fr) auto;gap:0;block-size:min(774px,100svh - 28.8px);max-block-size:min(774px,100svh - 28.8px);inline-size:min(1062px,100%);padding:0;display:grid;overflow:hidden}.comparison-header{border-bottom:1px solid var(--outline-variant);justify-content:space-between;align-items:center;gap:14.4px;padding:18px 21.6px 16.2px;display:flex}.comparison-title-row{flex-wrap:wrap;align-items:center;gap:12.6px;display:flex}.comparison-header h2,.comparison-header p,.comparison-section-title h3,.comparison-section-title span{margin:0}.comparison-header h2{color:var(--primary);font-size:21.6px;font-weight:800;line-height:27px}.comparison-scope-toggle{background:var(--surface-container-high);border-radius:5.4px;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.7px;padding:2.7px;display:inline-grid}.comparison-scope-toggle button{color:var(--on-surface);white-space:nowrap;background:0 0;border:0;border-radius:4.5px;min-block-size:27px;padding:4.5px 9px;font-size:10.8px;font-weight:800}.comparison-scope-toggle button.active{background:var(--surface-container-lowest);color:var(--primary);box-shadow:0 1px 3.6px #0f172a1f}.comparison-header p{color:var(--on-surface);font-size:12.6px;font-weight:700;line-height:18px}.comparison-card-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:39.6px;padding:0 30.6px 30.6px;display:grid;position:relative}.comparison-ingredient-card{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:7.2px;gap:16.2px;padding:30.6px 21.6px 19.8px;display:grid;position:relative;box-shadow:0 16.2px 30.6px #0f172a14}.comparison-ingredient-card.replacement{border-color:var(--primary);border-width:1.8px}.comparison-identity{grid-column:1/-1;align-items:center;gap:16.2px;min-width:0;display:flex}.comparison-identity-copy{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:9px;min-width:0;display:grid}.comparison-role-pill,.comparison-identity-copy h3{grid-column:1/-1}.comparison-role-pill{background:var(--primary);color:var(--on-primary);letter-spacing:.1em;text-transform:uppercase;border-radius:899.1px;margin:0;padding:3.6px 12.6px;font-size:9.9px;font-weight:800;line-height:14.4px;display:inline-flex;position:absolute;top:-12.6px;left:21.6px}.comparison-ingredient-card.replacement .comparison-role-pill{background:var(--inverse-surface);color:var(--inverse-on-surface)}.comparison-identity h3{color:var(--on-surface);margin:0;font-size:18px;font-weight:800;line-height:22.5px}.comparison-grams-field{background:var(--surface-container-lowest);border:1.8px solid var(--outline-variant);border-radius:3.6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:0;display:grid;overflow:hidden}.comparison-grams-delta{background:var(--surface-container-low);border:1px solid var(--outline-variant);color:var(--on-surface);border-radius:3.6px;justify-content:center;align-self:stretch;align-items:center;min-inline-size:52.2px;padding:7.2px 9px;font-size:11.7px;font-weight:600;line-height:16.2px;display:inline-flex}.comparison-grams-delta.positive{color:var(--primary)}.comparison-grams-delta.negative{color:var(--error)}.comparison-grams-delta.neutral{color:var(--on-surface)}.comparison-grams-field em{background:var(--surface-container-low);border-left:1px solid var(--outline-variant);color:var(--primary);letter-spacing:.08em;text-transform:uppercase;justify-content:center;align-self:stretch;align-items:center;min-inline-size:37.8px;padding-inline:10.8px;font-size:9.9px;font-style:normal;font-weight:800;line-height:12.6px;display:flex}.comparison-grams-field input{color:var(--on-surface);font:inherit;text-align:left;background:0 0;border:0;border-radius:0;inline-size:100%;min-inline-size:0;padding:7.2px 9px;font-size:14.4px;font-weight:800}.comparison-ingredient-card.replacement .comparison-grams-field{border-color:var(--primary)}.comparison-ingredient-card.replacement .comparison-grams-field em{border-left-color:var(--primary)}.comparison-macro-grid-label{color:var(--on-surface);letter-spacing:.08em;text-transform:uppercase;justify-content:flex-start;align-items:center;margin-block-end:-7.2px;font-size:9.9px;font-weight:600;line-height:12.6px;display:flex}.comparison-macro-grid{background:0 0;border-radius:0;grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;display:grid}.comparison-macro{background:var(--surface-container-low);border:1px solid var(--outline-variant);text-align:center;border-radius:4.5px;gap:1.8px;min-width:0;padding:8.1px 5.4px;display:grid}.comparison-macro:first-child{border-left:1px solid var(--outline-variant)}.comparison-macro span,.comparison-composition-row>span{color:var(--on-surface);letter-spacing:.04em;text-transform:uppercase;font-size:9.9px;font-weight:800;line-height:12.6px}.comparison-macro strong{color:var(--on-surface);font-size:15.3px;font-weight:800;line-height:18.9px}.comparison-macro small{color:var(--on-surface);font-size:9.9px;font-weight:800;line-height:12.6px}.comparison-macro small.positive{color:var(--primary-container)}.comparison-macro small.negative{color:var(--error)}.comparison-versus{background:var(--primary);border:5.4px solid var(--surface-container-lowest);color:var(--on-primary);z-index:1;border-radius:7.2px;justify-content:center;align-items:center;width:48.6px;height:48.6px;font-size:17.1px;font-weight:600;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.comparison-scroll-area{min-height:0;overflow-y:auto}.comparison-mode-tabs{background:var(--surface-container-high);border-radius:5.4px;grid-template-columns:repeat(4,minmax(0,1fr));gap:3.6px;inline-size:min(576px,100% - 32.4px);margin:21.6px auto;padding:3.6px;display:grid}.comparison-mode-tabs button{color:var(--on-surface);background:0 0;border:0;border-radius:4.5px;min-block-size:32.4px;padding:5.4px 9px;font-size:11.7px;font-weight:800}.comparison-mode-tabs button.active{background:var(--surface-container-lowest);color:var(--primary);box-shadow:0 1px 3.6px #0f172a1f}.comparison-breakdown{gap:19.8px;padding:0 21.6px 21.6px;display:grid}.comparison-section-title{justify-content:space-between;align-items:baseline;display:flex}.comparison-section-title h3{color:var(--on-surface);font-size:21.6px;font-weight:800;line-height:27px}.comparison-section-title span{color:var(--on-surface);font-size:12.6px;font-weight:600}.comparison-macro-composition{gap:10.8px;display:grid}.comparison-composition-bars{gap:12.6px;display:grid}.comparison-composition-row{grid-template-columns:72px minmax(0,1fr);align-items:center;gap:9px;display:grid}.comparison-composition-bar{align-items:center;height:18px}.comparison-composition-bar span{color:#fff;justify-content:center;align-items:center;min-width:0;height:100%;font-size:9.9px;font-weight:800;line-height:10.8px;display:flex;overflow:hidden}.comparison-impact{gap:18px;display:grid}.comparison-impact-header{border-bottom:1px solid var(--outline-variant);justify-content:space-between;align-items:baseline;padding-block-end:12.6px;display:flex}.comparison-impact-header h3{color:var(--on-surface);margin:0;font-size:21.6px;font-weight:800;line-height:27px}.comparison-impact-header span{color:var(--on-surface);font-size:12.6px;font-weight:700}.comparison-impact-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16.2px;display:grid}.comparison-impact-card{background:var(--surface-container-low);border:1px solid var(--outline-variant);text-align:center;border-radius:7.2px;justify-items:center;gap:7.2px;min-block-size:104.4px;padding:19.8px 10.8px;display:grid}.comparison-impact-card.positive{background:color-mix(in srgb, var(--primary) 8%, var(--surface-container-lowest));border-color:color-mix(in srgb, var(--primary) 30%, var(--outline-variant))}.comparison-impact-card span{color:var(--on-surface);letter-spacing:.08em;text-transform:uppercase;justify-content:center;align-items:center;gap:6.3px;font-size:10.8px;font-weight:600;line-height:14.4px;display:inline-flex}.comparison-impact-card .macro-dot{flex-basis:9px;width:9px;height:9px}.comparison-impact-card strong{color:var(--on-surface);font-size:25.2px;font-weight:600;line-height:30.6px}.comparison-impact-card.positive strong{color:var(--primary)}.comparison-impact-card.negative strong{color:var(--error)}.comparison-impact-card small{color:var(--on-surface);font-size:10.8px;font-weight:700;line-height:14.4px}.comparison-summary{gap:10.8px;display:grid}.comparison-summary-table-wrap{border:1px solid var(--outline-variant);border-radius:5.4px;overflow-x:auto}.comparison-summary-table{background:var(--surface-container-lowest);border-collapse:collapse;inline-size:100%;min-inline-size:576px}.comparison-summary-table th,.comparison-summary-table td{border-bottom:1px solid var(--outline-variant);color:var(--on-surface);text-align:right;white-space:nowrap;padding:9px 10.8px;font-size:11.7px;line-height:16.2px}.comparison-summary-table th:first-child{color:var(--on-surface);text-align:left}.comparison-summary-table thead th{background:var(--surface-container-low);color:var(--on-surface);letter-spacing:.04em;text-transform:uppercase;font-size:9.9px;font-weight:800}.comparison-summary-table tbody th{font-weight:800}.comparison-summary-table td{font-variant-numeric:tabular-nums;font-weight:700}.comparison-summary-value{justify-content:flex-end;align-items:center;display:inline-flex}.comparison-summary-value.is-higher{background:var(--surface-container-high);border:1px solid var(--outline-variant);color:var(--on-surface);border-radius:899.1px;padding:1px 7.2px;font-weight:600}.comparison-summary-table tr:last-child th,.comparison-summary-table tr:last-child td{border-bottom:0}.comparison-values{color:var(--on-surface);font-variant-numeric:tabular-nums;justify-content:flex-end;gap:25.2px;font-size:10.8px;display:flex}.comparison-footer{background:var(--surface-container-low);border-top:1px solid var(--outline-variant);color:var(--on-surface);justify-content:flex-end;align-items:center;gap:9px;padding:9px 16.2px;display:flex}.comparison-footer-actions{flex:none;gap:9px;display:flex}.comparison-action{border:1px solid var(--outline-variant);white-space:nowrap;border-radius:3.6px;min-block-size:30.6px;padding:5.4px 12.6px;font-size:11.7px;font-weight:800}.comparison-action.primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.comparison-action.secondary{background:var(--surface-container-lowest);color:var(--primary)}.comparison-action.secondary:hover{background:var(--primary-container);border-color:var(--primary-container);color:var(--on-primary-container)}.comparison-action:disabled{cursor:not-allowed;opacity:.55}.nutrition-panel{gap:28.8px;margin-block-start:28.8px;padding:21.6px;display:grid}.recipe-builder-sheet .nutrition-panel{box-shadow:none;background:0 0;border:0;border-radius:0;gap:27px;margin-block-start:37.8px;padding:0;font-family:Inter,system-ui,sans-serif}.nutrition-panel h2{color:var(--on-surface);margin-block-end:14.4px;font-size:18px;font-weight:800;line-height:25.2px}.recipe-builder-sheet .nutrition-panel h2{color:var(--primary);border-bottom:1px solid #2b3a2f24;margin-block-end:16.2px;padding-block-end:10.8px;font-family:Georgia,Times New Roman,serif;font-size:30.6px;font-weight:500;line-height:36px}.recipe-builder-sheet .macro-bar{background:#2b3a2f1f}.recipe-builder-sheet .macro-summary,.recipe-builder-sheet .nutrition-sankey-chart,.recipe-builder-sheet .nutrition-sankey-summary{background:var(--surface-container-low)}.recipe-builder-sheet .micro-item{background:#fffdf79e}.recipe-builder-sheet .nutrition-sankey-section,.recipe-builder-sheet .micro-section{border-top-color:#2b3a2f24}.macro-bar{background:var(--surface-container-highest);border-radius:899.1px;height:21.6px;display:flex;overflow:hidden}.nutrition-servings-field{align-items:center;gap:9px;margin-block-end:16.2px;display:inline-flex}.recipe-servings-field{flex:none;margin-block-end:0}.nutrition-servings-field input{background:var(--surface-container);border:1px solid var(--outline-variant);color:var(--on-surface);border-radius:3.6px;outline:none;min-block-size:32.4px;inline-size:64.8px;padding:5.4px 9px;font-size:13.5px;font-weight:800}.nutrition-servings-field input:focus{border-color:var(--primary);box-shadow:0 0 0 1.8px #0f523824}.macro-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14.4px;margin-block-start:21.6px;display:grid}.nutrition-panel .macro-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.macro-summary{background:var(--surface-container-low);border-radius:7.2px;align-items:center;gap:10.8px;padding:9px;display:flex}.macro-dot{border-radius:899.1px;flex:0 0 10.8px;width:10.8px;height:10.8px}.macro-dot.kcal{background:var(--primary)}.macro-summary h3,.macro-summary p,.micro-section h3{margin:0}.macro-summary h3{font-size:12.6px;font-weight:700;line-height:18px}.macro-summary p{color:var(--on-surface);font-size:10.8px;font-weight:700}.meal-view-page-sheet .meal-view-macro-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.meal-view-page-sheet .meal-view-macro-summary-grid .macro-summary{gap:7.2px;min-width:0;padding:7.2px}.meal-view-page-sheet .meal-view-macro-summary-grid .macro-dot{flex-basis:9px;width:9px;height:9px}.meal-view-page-sheet .meal-view-macro-summary-grid .macro-summary h3{white-space:nowrap;font-size:10.8px;line-height:14.4px}.meal-view-page-sheet .meal-view-macro-summary-grid .macro-summary p{white-space:nowrap;font-size:9.9px;line-height:13.5px}.micro-section{border-top:1px solid var(--outline-variant);padding-block-start:28.8px}.micro-section h3{color:var(--on-surface);letter-spacing:.05em;text-transform:uppercase;margin-block-end:21.6px;font-size:10.8px;font-weight:800;line-height:14.4px}.micro-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:21.6px 28.8px;display:grid}.micro-item{gap:5.4px;display:grid}.micro-item div{justify-content:space-between;font-size:10.8px;display:flex}.micro-item span{color:var(--on-surface);font-weight:600}.micro-item strong{color:var(--on-surface);font-weight:800}.micro-item progress{appearance:none;block-size:5.4px;inline-size:100%}.micro-item progress::-webkit-progress-bar{background:var(--surface-container-highest);border-radius:899.1px}.micro-item progress::-webkit-progress-value{background:var(--primary);border-radius:899.1px}.micro-item progress::-moz-progress-bar{background:var(--primary);border-radius:899.1px}.nutrition-sankey-section{border-top:1px solid var(--outline-variant);gap:21.6px;padding-block-start:28.8px;display:grid}.nutrition-sankey-section h3{color:var(--on-surface);letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:10.8px;font-weight:800;line-height:14.4px}.nutrition-sankey-header{justify-content:space-between;align-items:center;gap:10.8px;display:flex}.nutrition-sankey-toggle{background:var(--surface-container);border:1px solid var(--outline-variant);border-radius:6.3px;grid-template-columns:repeat(3,minmax(64.8px,1fr));align-items:center;padding:1.8px;display:inline-grid}.nutrition-sankey-toggle button{color:var(--on-surface);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:4.5px;padding:4.5px 8.1px;font-size:9.9px;font-weight:600;line-height:14.4px}.nutrition-sankey-toggle button.active,.nutrition-sankey-toggle button[aria-pressed=true]{background:var(--surface-container-lowest);color:var(--primary);box-shadow:0 1px 1.8px #0f172a1f}.nutrition-sankey-chart{background:var(--surface-container-low);block-size:var(--sankey-height);border-radius:7.2px;min-block-size:252px;inline-size:100%;overflow:auto hidden}.nutrition-sankey-chart svg{block-size:100%;inline-size:max(684px,100%);display:block}.nutrition-sankey-summary{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:7.2px;inline-size:100%;overflow-x:auto}.nutrition-sankey-summary table{border-collapse:separate;border-spacing:0;inline-size:100%;min-inline-size:576px}.nutrition-sankey-summary th,.nutrition-sankey-summary td{color:var(--on-surface);text-align:right;white-space:nowrap;border-block-end:1px solid #0f5c3f1a;padding:10.8px 12.6px;font-size:10.8px;font-weight:800;line-height:14.4px}.nutrition-sankey-summary thead th{background:var(--primary);color:var(--on-primary);letter-spacing:.05em;text-transform:uppercase;border-block-end:0;font-size:9px}.nutrition-sankey-summary thead th:first-child{border-start-start-radius:6.3px}.nutrition-sankey-summary thead th:last-child{border-start-end-radius:6.3px}.nutrition-sankey-summary thead button{color:inherit;cursor:pointer;font:inherit;letter-spacing:inherit;text-align:inherit;text-transform:inherit;white-space:nowrap;background:0 0;border:0;padding:0}.nutrition-sankey-summary thead button:hover,.nutrition-sankey-summary thead button:focus-visible{color:#ffffffd1}.nutrition-sankey-summary th:first-child{text-align:left;text-overflow:ellipsis;max-inline-size:234px;overflow:hidden}.nutrition-sankey-summary tbody tr{background:var(--surface-container-lowest)}.nutrition-sankey-summary tbody tr:nth-child(2n){background:#0f5c3f0e}.nutrition-sankey-summary tbody th{color:var(--primary);font-weight:600}.nutrition-sankey-summary tbody td{color:var(--on-surface);font-size:11.7px;font-weight:600;line-height:16.2px}.nutrition-sankey-summary tbody tr:last-child th,.nutrition-sankey-summary tbody tr:last-child td{border-block-end:0}.nutrition-sankey-links path{mix-blend-mode:multiply;transition:opacity .16s,stroke-width .16s}.nutrition-sankey-links path.is-dimmed{opacity:.12}.nutrition-sankey-links path.is-highlighted{filter:drop-shadow(0 1px 1.8px #0f523833);opacity:1}.nutrition-sankey-ingredients rect{fill:var(--surface-container-lowest);stroke:var(--outline-variant);transition:fill .16s,stroke .16s}.nutrition-sankey-ingredients g{cursor:pointer;outline:none}.nutrition-sankey-ingredients g.is-hovered rect,.nutrition-sankey-ingredients g:focus-visible rect{fill:var(--primary-container);stroke:var(--primary)}.nutrition-sankey-macros rect{fill:var(--primary);transition:filter .16s,stroke .16s}.nutrition-sankey-macros rect.protein{fill:var(--protein)}.nutrition-sankey-macros rect.carbs{fill:var(--carbs)}.nutrition-sankey-macros rect.fat{fill:var(--fat)}.nutrition-sankey-macros g{cursor:pointer;outline:none}.nutrition-sankey-macros g.is-hovered rect,.nutrition-sankey-macros g:focus-visible rect{filter:brightness(1.05);stroke:var(--on-surface);stroke-width:1.8px}.nutrition-sankey-calories rect{fill:var(--primary)}.nutrition-sankey-tooltip{filter:drop-shadow(0 9px 18px #0f172a2e);pointer-events:none}.sankey-tooltip-shell{fill:var(--surface-container-lowest);stroke:var(--outline-variant)}.sankey-tooltip-card,.sankey-tooltip-card.kcal{fill:var(--primary)}.sankey-tooltip-card.protein{fill:var(--protein)}.sankey-tooltip-card.carbs{fill:var(--carbs)}.sankey-tooltip-card.fat{fill:var(--fat)}.sankey-node-title,.sankey-node-meta,.sankey-macro-title,.sankey-macro-meta,.sankey-macro-kcal,.sankey-macro-meal-percent,.sankey-macro-meal-label,.sankey-tooltip-label,.sankey-tooltip-value,.sankey-tooltip-percent{dominant-baseline:middle;font-family:inherit;font-weight:600}.sankey-node-title{fill:var(--on-surface);font-size:10.8px}.sankey-node-meta{fill:var(--secondary);font-size:9px}.sankey-macro-title{fill:var(--on-primary);font-size:11.7px}.sankey-macro-meta,.sankey-macro-kcal{fill:#ffffffdb;font-size:9.9px}.sankey-macro-meal-percent{fill:var(--on-primary);text-anchor:end;font-size:19.8px}.sankey-macro-meal-label{fill:#ffffffb8;letter-spacing:.04em;text-anchor:end;text-transform:uppercase;font-size:7.2px}.sankey-tooltip-label{fill:#ffffffc7;letter-spacing:.04em;text-transform:uppercase;font-size:8.1px}.sankey-tooltip-value{fill:var(--on-primary);font-size:12.6px}.sankey-tooltip-percent{fill:#ffffffc7;font-size:8.1px}.nutrition-sankey-empty{background:var(--surface-container-low);border:1px dashed var(--outline-variant);color:var(--on-surface);border-radius:7.2px;margin:0;padding:16.2px;font-size:12.6px;font-weight:700;line-height:18px}.nutrition-ribbon{background:var(--inverse-surface);color:var(--inverse-on-surface);z-index:30;border-radius:7.2px 7.2px 0 0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:21.6px;width:100%;padding:14.4px 28.8px;display:grid;position:fixed;bottom:0;left:0;box-shadow:0 -3.6px 18px #0000000d}.ribbon-label{align-items:flex-start;gap:21.6px;display:flex}.ribbon-label>span{gap:1.8px;display:grid}.ribbon-label:after{content:"";background:#fff3;width:1px;height:28.8px;display:block}.ribbon-label span,.ribbon-metric span{color:#eff1edb3}.ribbon-label small{color:#eff1ed8c;font-size:9.9px;font-weight:700;line-height:12.6px}.ribbon-metrics{justify-content:center;gap:clamp(18px,4vw,50.4px);display:flex}.ribbon-metric{place-items:center;gap:1.8px;display:grid}.ribbon-metric strong{color:var(--inverse-on-surface);font-size:21.6px;font-weight:800;line-height:27px}.ribbon-metric:first-child strong{color:var(--primary-fixed-dim)}.ribbon-actions{gap:10.8px;display:flex}.finalize-button,.reset-button{border:0;border-radius:3.6px;align-items:center;gap:7.2px;min-block-size:36px;padding:7.2px 14.4px;font-size:12.6px;font-weight:800;display:flex}.finalize-button{background:var(--primary-container);color:var(--on-primary-container);padding-inline:21.6px}.reset-button{color:var(--inverse-on-surface);background:#ffffff14;border:1px solid #ffffff38}.reset-button:hover{background:#ffffff24}@media (width<=1024px){.dashboard-chart-body{grid-template-columns:1fr}.dashboard-legend{grid-template-columns:repeat(2,minmax(0,1fr))}.ingredient-sidebar,.meal-view-sidebar{display:none}.meal-view-main{padding:21.6px 14.4px}.meal-view-dirty-bar{border-radius:16.2px;flex-wrap:wrap;align-items:center;padding:9px 10.8px}.meal-view-dirty-bar div{flex-wrap:wrap;justify-content:center}.recipe-workspace{padding:21.6px 14.4px}.recipe-builder-sheet{padding:25.2px 16.2px}.recipe-builder-sheet .recipe-header,.recipe-builder-sheet .recipe-card,.recipe-builder-sheet .macro-row{grid-template-columns:1fr}.recipe-builder-sheet .recipe-header,.recipe-builder-sheet .recipe-builder-section-header{flex-direction:column;align-items:stretch}.recipe-builder-sheet .meal-name-field input{font-size:34.2px}.recipe-card{grid-template-columns:1fr}.recipe-card-actions{justify-self:end}.micro-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nutrition-ribbon,.comparison-card-grid,.profile-shell{grid-template-columns:1fr}.profile-side-panel{position:static}.profile-side-panel nav{grid-template-columns:repeat(4,minmax(0,1fr))}.profile-person-card,.profile-settings-grid,.profile-household-tools{grid-template-columns:1fr}.profile-remove-button{justify-self:end}.comparison-versus{top:50%;left:50%}.ribbon-label,.ribbon-actions{display:none}}@media (width<=720px){.dashboard-legend{grid-template-columns:1fr}.top-app-inner{padding-inline:14.4px}.primary-nav,.global-search{display:none}.recipe-header{flex-direction:column;align-items:stretch;gap:14.4px}.profile-page{padding:19.8px 14.4px}.profile-side-panel{padding:12.6px}.profile-side-panel nav{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-header,.profile-household-card>header,.profile-household-members>header{flex-direction:column;align-items:stretch}.profile-header-actions{justify-content:stretch}.profile-header-actions>button{flex:144px}.profile-goal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.meal-plan-page{padding:0 14.4px 10.8px}.meal-plan-header{grid-template-columns:1fr;align-items:stretch;margin:0 -14.4px 14.4px;padding:12.6px 14.4px}.meal-plan-toolbar{grid-column:1;justify-content:flex-start}.meal-plan-board{grid-auto-columns:minmax(270px,86vw)}.meals-page-tools{grid-template-columns:1fr}.meals-page-filter-panel{grid-column:auto}.meal-plan-day-view{grid-template-columns:1fr;overflow-y:auto}.meal-plan-day-main{padding:18px 16.2px 18px 14.4px}.meal-plan-day-sheet{padding:25.2px 16.2px}.meal-plan-day-hero{flex-direction:column;align-items:stretch}.meal-plan-day-hero h2{font-size:34.2px;line-height:37.8px}.meal-plan-day-summary-grid,.meal-plan-micro-summary-grid{grid-template-columns:1fr}.meal-plan-day-entry-card{grid-template-columns:minmax(0,1fr) auto 28.8px;min-block-size:auto}.meal-plan-copy-target-row{grid-template-columns:minmax(0,1fr) 25.2px}.meal-plan-copy-slot-toggle{grid-area:2/1/auto/-1}.meal-plan-quick-add{border-left:0;border-top:1px solid var(--outline-variant)}.meal-name-field input{min-inline-size:100%;font-size:21.6px;line-height:28.8px}.macro-row,.macro-chips{flex-direction:column;align-items:stretch}.button{inline-size:100%}.macro-chips{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.macro-summary-grid,.micro-grid{grid-template-columns:1fr}.meal-view-page-sheet .meal-view-macro-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.modal-search-row{grid-template-columns:1fr;align-items:stretch}.comparison-modal{block-size:calc(100svh - 21.6px);max-block-size:calc(100svh - 21.6px)}.comparison-header,.comparison-breakdown,.comparison-footer{padding-inline:14.4px}.comparison-section-title{flex-direction:column;align-items:stretch}.comparison-impact-header{flex-direction:column;align-items:stretch;gap:3.6px}.comparison-impact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.comparison-footer{flex-direction:column;align-items:stretch}.comparison-footer-actions{justify-content:stretch}.comparison-footer-actions .comparison-action{flex:1}.comparison-identity{align-items:flex-start}.comparison-macro-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.comparison-mode-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.saved-meal-card{grid-template-columns:minmax(0,1fr)}.saved-meal-actions{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr))}.saved-meal-actions button{inline-size:100%}.meal-view-hero{flex-direction:column;align-items:stretch;padding:16.2px}.meal-view-hero-row{flex-direction:column;align-items:stretch}.meal-view-controls{justify-content:flex-start}.meal-view-section-header{flex-direction:column;align-items:stretch;gap:3.6px}.meal-view-ingredient-card{padding:9px 10.8px}.meal-view-ingredient-body{flex-direction:column;align-items:stretch;gap:7.2px}.meal-view-ingredient-macros{flex-wrap:wrap}.meal-view-ingredient-macro-label{inline-size:100%}.custom-commercial-grid,.ingredient-macro-grid,.custom-nutrient-grid{grid-template-columns:1fr}.readonly-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nutrition-ribbon{padding:12.6px 14.4px}.ribbon-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px 14.4px;display:grid}.ribbon-metric strong{font-size:clamp(12.6px,4vw,16.2px);line-height:19.8px}}@media (width<=520px){.meal-view-page-sheet .meal-view-macro-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.meal-view-ingredient-tooltip{min-inline-size:187.2px}.meal-view-ingredient-tooltip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.shopping-list-page{background:#fbfaf7;min-block-size:calc(100svh - 57.6px);padding:28.8px;overflow-x:hidden}.shopping-list-page>*{inline-size:min(100%,1080px);margin-inline:auto}.shopping-list-header{margin-block-end:21.6px}.shopping-list-header span,.shopping-list-output header span{color:var(--primary);letter-spacing:.08em;text-transform:uppercase;font-size:10.8px;font-weight:600;line-height:14.4px;display:block}.shopping-list-header h1,.shopping-list-output header h2{color:var(--on-surface);margin:0;font-size:28.8px;font-weight:700;line-height:36px}.shopping-list-header p{color:var(--on-surface-variant);margin:5.4px 0 0;font-size:12.6px;font-weight:650}.shopping-list-layout{grid-template-columns:minmax(288px,360px) minmax(0,1fr);align-items:start;gap:16.2px;display:grid}.shopping-list-main{gap:12.6px;display:grid}.shopping-list-meal-picker{align-self:start}.shopping-list-selected-panel .shopping-list-selected-meals{grid-template-columns:repeat(auto-fit,minmax(234px,1fr))}.shopping-list-panel,.shopping-list-output{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:8.1px;box-shadow:0 7.2px 18px #2d261c12}.shopping-list-panel{gap:10.8px;padding:14.4px;display:grid}.shopping-list-panel header,.shopping-list-output header{justify-content:space-between;align-items:center;gap:10.8px;display:flex}.shopping-list-panel h2{color:var(--on-surface);margin:0;font-size:16.2px;font-weight:600;line-height:21.6px}.shopping-list-panel header button{color:var(--primary);background:0 0;border:0;padding:0;font-size:10.8px;font-weight:600}.shopping-list-search{background:var(--surface-container);border:1px solid #0000;border-radius:5.4px;align-items:center;gap:7.2px;min-block-size:37.8px;padding:0 10.8px;display:flex}.shopping-list-search:focus-within{border-color:var(--outline-variant);background:#fff;box-shadow:0 0 0 1.8px #0f52381f}.shopping-list-search .material-symbols-outlined{color:#45504b;font-size:19.8px}.shopping-list-search input{color:var(--on-surface);background:0 0;border:0;outline:none;flex:1;min-inline-size:0;font-size:12.6px;font-weight:700}.shopping-list-meal-results,.shopping-list-selected-meals{gap:7.2px;display:grid}.shopping-list-meal-results button,.shopping-list-selected-meal{background:var(--surface-container);color:var(--on-surface);border:1px solid #0000;border-radius:6.3px;min-inline-size:0}.shopping-list-meal-results button{text-align:left;gap:2.7px;padding:9px 10.8px;display:grid}.shopping-list-meal-results button:hover{background:var(--primary-container);color:var(--on-primary-container)}.shopping-list-meal-results span,.shopping-list-selected-meal strong{font-size:12.6px;font-weight:600;line-height:16.2px}.shopping-list-meal-results small,.shopping-list-selected-meal span,.shopping-list-empty,.shopping-list-meal-results p{color:var(--on-surface-variant);margin:0;font-size:10.8px;font-weight:750;line-height:14.4px}.shopping-list-selected-meal{grid-template-columns:minmax(0,1fr) 81px 24px;align-items:center;gap:9px;padding:9px 9px 9px 10.8px;display:grid}.shopping-list-selected-meal>div{gap:1.8px;min-inline-size:0;display:grid}.shopping-list-selected-meal strong,.shopping-list-selected-meal span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shopping-list-selected-meal label{gap:2.7px;display:grid}.shopping-list-selected-meal label span{color:var(--on-surface);letter-spacing:.05em;text-transform:uppercase;font-size:8.6px;font-weight:600;line-height:10.8px}.shopping-list-selected-meal input{border:1px solid var(--outline-variant);color:var(--on-surface);background:#fff;border-radius:4.5px;outline:none;min-block-size:27px;inline-size:100%;padding:3.6px 5.4px;font-size:11.7px;font-weight:600}.shopping-list-selected-meal input:focus{border-color:var(--primary);box-shadow:0 0 0 1.8px #0f52381f}.shopping-list-selected-meal>button{color:var(--on-surface-variant);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.shopping-list-selected-meal>button:hover{color:var(--error)}.shopping-list-selected-meal .material-symbols-outlined{font-size:18px}.shopping-list-output{gap:14.4px;min-block-size:459px;padding:18px;display:grid}.shopping-list-output header{border-block-end:1px solid var(--outline-variant);padding-block-end:12.6px}.shopping-list-output header strong{background:var(--primary-container);color:var(--on-primary-container);white-space:nowrap;border-radius:899.1px;padding:4.5px 9px;font-size:10.8px;font-weight:600;line-height:14.4px}.shopping-list-table-wrap{overflow-x:auto}.shopping-list-table{border-collapse:collapse;inline-size:100%}.shopping-list-table th{background:var(--primary);color:var(--on-primary);letter-spacing:.05em;text-align:left;text-transform:uppercase;padding:9px 10.8px;font-size:9.9px;font-weight:600;line-height:13.5px}.shopping-list-table th:first-child{border-start-start-radius:5.4px}.shopping-list-table th:last-child{border-start-end-radius:5.4px}.shopping-list-table td{color:var(--on-surface);vertical-align:top;border-block-end:1px solid #2b3a2f14;padding:10.8px;font-size:12.6px;font-weight:700;line-height:16.2px}.shopping-list-table tbody tr:nth-child(2n) td{background:#0f523809}.shopping-list-table td:nth-child(2){color:var(--primary);white-space:nowrap;font-weight:600}.shopping-list-table td:nth-child(3){color:var(--on-surface-variant);font-size:11.7px}.shopping-list-output-empty{color:var(--on-surface-variant);text-align:center;align-content:center;justify-items:center;min-block-size:270px;display:grid}.shopping-list-output-empty .material-symbols-outlined{color:var(--primary);font-size:36px}.shopping-list-output-empty p{margin:7.2px 0 0;font-size:12.6px;font-weight:750}@media (width<=900px){.shopping-list-layout{grid-template-columns:1fr}}.sr-only{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.top-app-bar{box-shadow:none;background:#fff;border-bottom:1px solid #ddddda}.top-app-inner{block-size:66px;padding-inline:29px 26px}.app-shell{padding-block-start:66px}.brand-group{gap:34px}.brand{color:var(--primary);font-size:var(--font-lg);font-weight:900;line-height:1}.primary-nav{grid-auto-columns:116px;grid-auto-flow:column;gap:0;display:grid}.primary-nav button{color:#1d211f;text-align:center;border-bottom-width:3px;padding:22.5px 0 18.5px;font-size:14.5px;font-weight:500;line-height:19px}.primary-nav button[aria-current=page]{color:#151917;font-weight:400}.utility-group{gap:12px}.utility-group .icon-button{color:#151917;border-radius:999px;block-size:32px;inline-size:32px;padding:0}.utility-group .icon-button .material-symbols-outlined{font-size:21px}.utility-group .icon-button:last-child{background:0 0}.utility-group .nav-profile-button{color:#fff;block-size:32px;font-size:var(--font-xs);inline-size:32px;font-weight:800;line-height:1}.meal-view-layout,.meal-view-main{background:#fbfaf7;font-family:Inter,system-ui,sans-serif}.meal-view-main{padding:28px 28px 80px}.meal-view-page-sheet{box-shadow:none;color:#141917;background:0 0;border:0;border-radius:0;inline-size:min(1224px,100%);margin:0 auto;padding:0;font-family:Inter,system-ui,sans-serif}.meal-view-breadcrumb{color:#1d211f;font-size:var(--font-xs);align-items:center;gap:7px;margin-block-end:23px;line-height:18px;display:flex}.meal-view-breadcrumb strong{font-weight:800}.meal-view-page-actions{inset-block-start:82px;inset-inline-end:28px}.meal-view-page-actions>button{color:#4e5752;background:#fff;border:1px solid #d5d9d4;border-radius:999px}.meal-view-hero{grid-template-columns:minmax(360px,586px) minmax(360px,1fr);align-items:center;gap:72px;margin:0;padding:0;display:grid}.meal-view-hero-visual{aspect-ratio:586/460;background:radial-gradient(circle at 24% 18%,#d982243d,#0000 30%),radial-gradient(circle at 78% 82%,#ac364929,#0000 32%),linear-gradient(135deg,#fbf4e9,#f4f6f1);border:1px solid #e2e2de;border-radius:10px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.meal-view-hero-visual .material-symbols-outlined{color:color-mix(in srgb, var(--primary) 58%, transparent);font-variation-settings:"FILL" 0, "wght" 300, "GRAD" 0, "opsz" 48;font-size:120px}.meal-view-hero-visual img{object-fit:cover;block-size:100%;inline-size:100%}.meal-view-hero-image-button{color:var(--primary);font-family:Inter,system-ui,sans-serif;font-size:var(--font-xs);z-index:2;background:#ffffffeb;border:1px solid #005a4638;border-radius:999px;align-items:center;gap:7px;min-block-size:34px;padding:0 13px;font-weight:500;display:inline-flex;position:absolute;inset-block-end:14px;inset-inline-start:14px}.meal-view-hero-image-button .material-symbols-outlined{color:inherit;font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 20;font-size:18px}.meal-view-hero-copy{gap:30px;max-inline-size:540px;display:grid}.meal-view-hero h1{color:#121716;font-family:Inter,system-ui,sans-serif;font-size:var(--font-xl);letter-spacing:0;max-inline-size:520px;margin:0;font-weight:600;line-height:1.22}.meal-view-title-input{color:#121716;font-family:Inter,system-ui,sans-serif;font-size:var(--font-xl);letter-spacing:0;background:#ffffffb8;border:1px solid #005a463d;border-radius:8px;inline-size:min(520px,100%);margin:0;padding:5px 9px;font-weight:600;line-height:1.22}.meal-view-hero-copy>p{color:#252a28;font-size:var(--font-sm);margin:0;font-weight:400;line-height:1.24}.meal-view-hero-nutrition{grid-template-columns:repeat(4,minmax(0,1fr));inline-size:min(486px,100%);display:grid}.meal-view-hero-nutrition article{border:0;box-shadow:none;text-align:center;background:0 0;border-inline-end:1px solid #cfd2ce;border-radius:0;align-items:center;min-block-size:64px;padding:8px 20px;display:grid}.meal-view-hero-nutrition article:last-child{border-inline-end:0}.meal-view-hero-nutrition strong{color:#151917;font-family:Inter,system-ui,sans-serif;font-size:var(--font-sm);font-weight:600;line-height:1.1}.meal-view-hero-nutrition span{color:#151917;font-size:var(--font-xs);font-weight:400;line-height:1.1}.meal-view-hero-nutrition .meal-view-hero-delta{font-family:Inter,system-ui,sans-serif;font-size:var(--font-xxs);font-weight:800;line-height:1}.meal-view-hero-controls{align-items:center;gap:37px;display:flex}.meal-view-version-select{grid-template-columns:minmax(0,1fr) auto;align-items:center;inline-size:206px;display:inline-grid}.meal-view-version-select select,.meal-view-version-name-field input,.meal-view-version-select-disabled{appearance:none;border:1px solid var(--primary);color:var(--primary);font-size:var(--font-xs);background:#fff;border-radius:8px;grid-area:1/1/1/3;min-block-size:48px;padding:0 42px 0 18px;font-weight:500;line-height:18px}.meal-view-version-name-field input{grid-area:1/1/1/3;inline-size:100%;font-family:Inter,system-ui,sans-serif}.meal-view-version-select-disabled{opacity:.58;justify-content:space-between;align-items:center;gap:10px;padding-inline:18px 13px;display:inline-flex}.meal-view-version-select-disabled .material-symbols-outlined{color:var(--primary);margin:0;font-size:18px}.meal-view-version-select .material-symbols-outlined{color:var(--primary);pointer-events:none;grid-area:1/2;margin-inline-end:13px;font-size:22px}.meal-view-version-select-disabled .material-symbols-outlined{color:var(--primary);grid-area:auto;margin:0;font-size:18px}.meal-view-add-plan-button{background:var(--primary);border:1px solid var(--primary);color:#fff;font-size:var(--font-xs);border-radius:7px;justify-content:center;align-items:center;gap:9px;min-block-size:46px;min-inline-size:204px;padding:0 20px;font-weight:500;line-height:18px;display:inline-flex}.meal-view-recipe-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.meal-view-recipe-tags span{background:color-mix(in srgb, var(--primary) 8%, #fff);border:1px solid color-mix(in srgb, var(--primary) 24%, #fff);color:var(--primary);font-family:Inter,system-ui,sans-serif;font-size:var(--font-xxs);border-radius:999px;padding:6px 9px;font-weight:700;line-height:1}.meal-view-tabs{border-bottom:1px solid #cfd2ce;grid-template-columns:repeat(4,116px);align-items:end;margin-block:48px 25px;display:grid}.meal-view-tabs button{color:#1d211f;font-size:var(--font-xs);background:0 0;border:0;border-bottom:3px solid #0000;padding:0 0 12px;font-weight:400;line-height:18px}.meal-view-tabs button[aria-current=page]{border-bottom-color:var(--primary)}.meal-view-overview-grid{grid-template-columns:minmax(0,1fr) 386px;align-items:start;gap:20px;display:grid}.meal-view-overview-card,.meal-view-summary-card{box-shadow:none;background:#fff;border:1px solid #d6d9d4;border-radius:8px}.meal-view-overview-card{gap:22px;padding:21px 23px 28px;display:grid}.meal-view-summary-card{gap:16px;padding:22px;display:grid}.meal-view-section-header{border-bottom:1px solid #cfd2ce;min-block-size:30px;padding:0 0 7px;display:flex}.meal-view-section-actions{align-items:center;gap:10px;margin-inline-start:auto;display:inline-flex}.meal-view-section-header h2,.meal-view-summary-card h2,.meal-view-summary-card .micro-section h3{color:#151917;font-family:Inter,system-ui,sans-serif;font-size:var(--font-sm);margin:0;font-weight:700;line-height:24px}.meal-view-section-title-row{align-items:baseline;column-gap:7.2px;min-inline-size:0;display:flex}.meal-view-section-header .meal-view-ingredient-version-label{color:#15191794;letter-spacing:0;text-transform:none;font-family:Inter,system-ui,sans-serif;font-size:10.1px;font-weight:400;line-height:13.5px;position:relative}.meal-view-ingredient-version-label:after{color:#fff;content:attr(data-tooltip);opacity:0;pointer-events:none;white-space:pre-line;z-index:25;background:#151917;border-radius:5.4px;inline-size:max-content;max-inline-size:260px;padding:7.2px 9px;font-family:Inter,system-ui,sans-serif;font-size:10.1px;font-weight:400;line-height:13.5px;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + 7.2px);transform:translateY(3.6px)}.meal-view-ingredient-version-label:hover:after,.meal-view-ingredient-version-label:focus-visible:after{opacity:1;transform:translateY(0)}.meal-view-servings-field{border:1px solid #c7c7c7;border-radius:8px;align-items:center;min-block-size:26px;padding:0;display:inline-flex;overflow:hidden}.meal-view-servings-field input{color:#151917;font-size:var(--font-xs);text-align:center;background:0 0;border:0;min-block-size:26px;inline-size:44px;padding:0 7px;font-weight:600}.meal-view-servings-field>.material-symbols-outlined{color:#151917;font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 20;letter-spacing:normal;text-transform:none;background:#fafafa;border-inline-start:1px solid #e7e5df;justify-content:center;align-self:stretch;align-items:center;min-inline-size:28px;padding:0 6px;font-family:Material Symbols Outlined;font-size:15px;font-weight:400;line-height:1;display:inline-flex}.meal-view-ingredient-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 36px;display:grid}.meal-view-ingredient-card{background:0 0;border:0;border-radius:0;grid-template-columns:auto 1fr auto auto;gap:10px;min-block-size:28px;padding:0;display:grid}.meal-view-ingredient-card h3{color:#252a28;font-family:Inter,system-ui,sans-serif;font-size:var(--font-xs);font-style:normal;font-weight:400;line-height:18px}.meal-view-ingredient-card>span{border-bottom:1px dotted #ccd0ca;align-self:center}.meal-view-ingredient-grams input,.meal-view-ingredient-grams span{color:#606965;font-family:Inter,system-ui,sans-serif;font-size:var(--font-xs);font-weight:400;line-height:18px}.meal-view-ingredient-grams .material-symbols-outlined{font-family:Material Symbols Outlined;font-size:16px}.meal-view-ingredient-grams>.material-symbols-outlined{letter-spacing:normal;text-transform:none;font-family:Material Symbols Outlined;line-height:1}.meal-view-ingredient-actions{opacity:0}.meal-view-method-header{margin-block-start:4px}.meal-view-method{gap:18px;display:grid}.meal-view-method article{gap:10px;display:grid}.meal-view-method h3{color:var(--primary);font-family:Inter,system-ui,sans-serif;font-size:var(--font-xs);margin:0;font-weight:800;line-height:18px}.meal-view-method ol{counter-reset:method-step;gap:15px;margin:0;padding:0;display:grid}.meal-view-method li{color:#252a28;font-family:Inter,system-ui,sans-serif;font-size:var(--font-xs);min-block-size:28px;padding-inline-start:37px;font-weight:400;line-height:18px}.meal-view-method li:before{background:var(--primary);color:#fff;block-size:25px;font-family:Inter,system-ui,sans-serif;font-size:var(--font-xs);border-radius:999px;inline-size:25px;font-weight:800;line-height:25px;top:-3px}.meal-view-summary-card header{justify-content:space-between;align-items:start;display:flex}.meal-view-summary-legend{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px;display:grid}.meal-view-summary-legend>span{grid-template-columns:auto minmax(0,1fr);gap:2px;display:grid}.meal-view-summary-legend i.protein,.macro-bar .protein{background:var(--protein)}.meal-view-summary-legend i.carbs,.macro-bar .carbs{background:var(--carbs)}.meal-view-summary-legend i.fat,.macro-bar .fat{background:var(--fat)}.meal-view-summary-legend strong,.meal-view-summary-legend small{font-size:var(--font-xxs);line-height:12px}.meal-view-summary-legend strong{color:#151917;font-weight:600}.meal-view-summary-legend small{color:#4f5753;font-weight:400}.meal-view-summary-card .macro-bar{border-radius:4px;block-size:14px;overflow:hidden}.meal-view-summary-calories{color:#4f5753;font-size:var(--font-xxs);justify-content:center;align-items:center;line-height:12px;display:flex}.meal-view-summary-card .micro-section{gap:9px;display:grid}.meal-view-summary-card .micro-section h3{font-size:var(--font-xs);line-height:18px}.meal-view-summary-card .micro-grid{gap:7px;display:grid}.meal-view-summary-card .micro-item{gap:4px;display:grid}.meal-view-summary-card .micro-item span,.meal-view-summary-card .micro-item strong{font-size:var(--font-xxs);line-height:12px}.meal-view-summary-card .micro-item progress{accent-color:var(--primary);block-size:6px;inline-size:100%}.meal-view-detail-nutrition-button{border:1px solid var(--primary);color:var(--primary);font-size:var(--font-xs);background:#fff;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-block-size:32px;font-weight:500;display:inline-flex}@media (width<=1050px){.meal-view-hero,.meal-view-overview-grid{grid-template-columns:1fr}.meal-view-hero{gap:28px}.meal-view-summary-card{inline-size:100%}}@media (width<=720px){.top-app-inner{padding-inline:16px}.primary-nav{gap:14px;overflow-x:auto}.primary-nav button{font-size:var(--font-xs);white-space:nowrap}.meal-view-main{padding:20px 16px 64px}.meal-view-hero-nutrition,.meal-view-ingredient-list,.meal-view-summary-legend{grid-template-columns:1fr 1fr}.meal-view-hero-controls{flex-direction:column;align-items:stretch;gap:12px}.meal-view-version-select,.meal-view-add-plan-button{inline-size:100%}}.meal-view-main>.meal-view-page-sheet{inline-size:min(1224px,100vw - 58px);max-inline-size:1224px}.meal-view-page-sheet .meal-view-hero{grid-template-columns:minmax(420px,586px) minmax(430px,1fr);align-items:center;gap:72px;inline-size:100%;display:grid}.meal-view-page-sheet .meal-view-hero>.meal-view-hero-visual,.meal-view-page-sheet .meal-view-hero>.meal-view-hero-copy{min-inline-size:0;width:auto}.meal-view-page-sheet .meal-view-hero-visual{block-size:min(460px,38vw);max-block-size:460px;inline-size:100%;max-inline-size:586px}.meal-view-page-sheet .meal-view-hero-copy{justify-self:start;gap:30px;max-inline-size:520px}.meal-view-page-sheet .meal-view-hero-copy h1{font-size:var(--font-xl);line-height:1.22}.meal-view-page-sheet .meal-view-hero-copy>p{max-inline-size:500px}@media (width<=1120px){.meal-view-page-sheet .meal-view-hero{grid-template-columns:minmax(340px,.95fr) minmax(360px,1fr);gap:36px}.meal-view-page-sheet .meal-view-hero-visual{block-size:min(390px,36vw)}}@media (width<=860px){.meal-view-main>.meal-view-page-sheet{inline-size:100%}.meal-view-page-sheet .meal-view-hero{grid-template-columns:1fr}.meal-view-page-sheet .meal-view-hero-visual{justify-self:stretch;block-size:auto;max-inline-size:none}}.meal-view-page-sheet .meal-view-hero-nutrition{flex-wrap:nowrap;grid-template-columns:repeat(4,minmax(0,1fr));justify-content:stretch;align-items:stretch;gap:0;inline-size:min(486px,100%);margin-inline:18px 0;display:grid}.meal-view-page-sheet .meal-view-hero-nutrition article,.meal-view-page-sheet .meal-view-hero-nutrition article.kcal,.meal-view-page-sheet .meal-view-hero-nutrition article.protein,.meal-view-page-sheet .meal-view-hero-nutrition article.carbs,.meal-view-page-sheet .meal-view-hero-nutrition article.fat{border:0;color:#151917;background:0 0;border-inline-end:1px solid #cfd2ce;border-radius:0;place-items:center;gap:4px;min-block-size:64px;min-inline-size:0;padding:9px 20px;display:grid}.meal-view-page-sheet .meal-view-hero-nutrition article:last-child{border-inline-end:0}.meal-view-page-sheet .meal-view-hero-nutrition strong,.meal-view-page-sheet .meal-view-hero-nutrition article.kcal strong,.meal-view-page-sheet .meal-view-hero-nutrition article.protein strong,.meal-view-page-sheet .meal-view-hero-nutrition article.carbs strong,.meal-view-page-sheet .meal-view-hero-nutrition article.fat strong{color:#151917;font-family:Inter,system-ui,sans-serif;font-size:var(--font-sm);letter-spacing:0;font-weight:600;line-height:20px}.meal-view-page-sheet .meal-view-hero-nutrition span,.meal-view-page-sheet .meal-view-hero-nutrition article.kcal span,.meal-view-page-sheet .meal-view-hero-nutrition article.protein span,.meal-view-page-sheet .meal-view-hero-nutrition article.carbs span,.meal-view-page-sheet .meal-view-hero-nutrition article.fat span{color:#151917;font-family:Inter,system-ui,sans-serif;font-size:var(--font-xs);letter-spacing:0;text-transform:none;font-weight:400;line-height:18px}.meal-view-summary-card{gap:14px;padding:20px 22px 19px}.meal-view-summary-card header{margin-block-end:2px}.meal-view-summary-card header h2{font-size:var(--font-sm);line-height:24px}.meal-view-summary-card header>span{color:#4f5753;font-size:var(--font-xxs);font-weight:400;line-height:12px}.meal-view-summary-legend{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:10px;display:grid}.meal-view-summary-legend>span{grid-template-columns:10px minmax(0,1fr);align-items:start;gap:1px 8px;display:grid}.meal-view-summary-legend i{border-radius:999px;grid-row:1/span 2;block-size:10px;inline-size:10px;margin-block-start:4px}.meal-view-summary-legend strong{color:#151917;font-size:var(--font-xxs);white-space:nowrap;font-weight:600;line-height:12px}.meal-view-summary-legend small{color:#4f5753;font-size:var(--font-xxs);white-space:nowrap;font-weight:400;line-height:12px}.meal-view-summary-card .macro-bar{background:0 0;border-radius:4px;block-size:14px;inline-size:100%;margin-block-start:1px;display:flex;overflow:hidden}.meal-view-summary-card .macro-bar span{block-size:100%;display:block}.meal-view-summary-card .macro-bar .protein{background:var(--protein)}.meal-view-summary-card .macro-bar .carbs{background:var(--carbs)}.meal-view-summary-card .macro-bar .fat{background:var(--fat)}.meal-view-summary-calories{color:#4f5753;font-size:var(--font-xxs);grid-template-columns:1fr auto 1fr;align-items:center;margin-block:1px 0;line-height:12px;display:grid}.meal-view-summary-calories:before,.meal-view-summary-calories:after{content:"";background:#d5d8d3;block-size:1px}.meal-view-summary-calories:before{margin-inline-end:8px}.meal-view-summary-calories:after{margin-inline-start:8px}.meal-view-summary-card .micro-section{gap:7px}.meal-view-micro-heading{justify-content:space-between;align-items:center;display:flex}.meal-view-summary-card .meal-view-micro-heading h3{color:#151917;font-size:var(--font-xs);letter-spacing:0;text-transform:none;margin:0;font-weight:700;line-height:18px}.meal-view-micro-heading span{color:#4f5753;font-size:var(--font-xxs);font-weight:400;line-height:12px}.meal-view-summary-card .micro-grid{gap:7px}.meal-view-summary-card .micro-item{gap:3px}.meal-view-summary-card .micro-item div{color:#151917;font-size:var(--font-xxs);justify-content:space-between;line-height:12px;display:flex}.meal-view-summary-card .micro-item span,.meal-view-summary-card .micro-item strong{color:#151917;font-size:var(--font-xxs);font-weight:400;line-height:12px}.meal-view-summary-card .micro-item progress{appearance:none;background:#b8bbb6;border:0;border-radius:999px;block-size:6px;inline-size:100%;overflow:hidden}.meal-view-summary-card .micro-item progress::-webkit-progress-bar{background:#b8bbb6;border-radius:999px}.meal-view-summary-card .micro-item progress::-webkit-progress-value{background:var(--primary);border-radius:999px}.meal-view-summary-card .micro-item progress::-moz-progress-bar{background:var(--primary);border-radius:999px}.meal-view-detail-nutrition-button{min-block-size:32px;margin-block-start:2px}.meal-view-summary-card .micro-section{border-top:0;grid-template-columns:1fr;padding-block-start:0}.meal-view-summary-card .micro-grid{grid-template-columns:1fr}.meal-view-nutrition-tab{grid-template-columns:minmax(0,1fr) 386px;align-items:start;gap:20px;display:grid}.meal-view-nutrition-primary{background:#fff;border:1px solid #d6d9d4;border-radius:8px;gap:16px;padding:22px;display:grid}.meal-view-nutrition-section-header{border-bottom:1px solid #cfd2ce;justify-content:space-between;align-items:center;min-block-size:30px;padding-block-end:7px;display:flex}.meal-view-nutrition-section-header h2,.meal-view-placeholder-panel h2{color:#151917;font-family:Inter,system-ui,sans-serif;font-size:var(--font-sm);margin:0;font-weight:700;line-height:24px}.meal-view-nutrition-section-header span{color:#4f5753;font-size:var(--font-xxs);font-weight:400;line-height:12px}.meal-view-macro-breakdown-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.meal-view-macro-breakdown-card{background:#fbfbfa;border:1px solid #dfe2dd;border-radius:5px;align-items:center;gap:9px;min-block-size:50px;padding:9px 11px;display:flex}.meal-view-macro-breakdown-card h3,.meal-view-macro-breakdown-card p{margin:0}.meal-view-macro-breakdown-card h3{color:#151917;font-size:var(--font-xxs);font-weight:600;line-height:12px}.meal-view-macro-breakdown-card p{color:#4f5753;font-size:var(--font-xxs);margin-block-start:2px;font-weight:400;line-height:12px}.meal-view-nutrition-primary>.macro-bar{background:0 0;border-radius:4px;block-size:14px;display:flex;overflow:hidden}.meal-view-nutrition-primary>.macro-bar span{display:block}.meal-view-nutrition-primary .nutrition-sankey-section{border-top:0;gap:20px;padding-block-start:0}.meal-view-nutrition-primary .nutrition-sankey-header{border-bottom:1px solid #cfd2ce;align-items:end;min-block-size:32px;padding-block-end:0}.meal-view-nutrition-primary .nutrition-sankey-section h3{color:#151917;font-size:var(--font-sm);letter-spacing:0;text-transform:none;padding-block-end:7px;font-weight:700;line-height:24px;display:block}.meal-view-nutrition-primary .nutrition-sankey-toggle{background:0 0;border:0;border-radius:0;grid-template-columns:repeat(2,96px);align-items:end;gap:0;padding:0}.meal-view-nutrition-primary .nutrition-sankey-toggle button{color:#4f5753;font-size:var(--font-xs);border-bottom:3px solid #0000;border-radius:0;inline-size:96px;padding:0 0 7px;font-weight:400;line-height:18px}.meal-view-nutrition-primary .nutrition-sankey-toggle button.active,.meal-view-nutrition-primary .nutrition-sankey-toggle button[aria-pressed=true]{border-bottom-color:var(--primary);box-shadow:none;color:#151917;background:0 0}.meal-view-nutrition-primary .nutrition-sankey-chart{block-size:var(--sankey-height);background:0 0;border-radius:0;min-block-size:260px;overflow:hidden}.meal-view-nutrition-primary .nutrition-sankey-chart svg{inline-size:100%;min-inline-size:0}.meal-view-nutrition-primary .nutrition-sankey-ingredients rect{fill:#fbfbfa;stroke:#d6d9d4;stroke-width:1px}.meal-view-nutrition-primary .nutrition-sankey-ingredients g.is-hovered rect,.meal-view-nutrition-primary .nutrition-sankey-ingredients g:focus-visible rect{fill:#f3f5f1;stroke:var(--primary)}.meal-view-nutrition-primary .sankey-node-title{fill:#252a28;font-size:13px;font-weight:400}.meal-view-nutrition-primary .nutrition-sankey-links path{mix-blend-mode:normal}.meal-view-nutrition-primary .nutrition-sankey-macros rect,.meal-view-nutrition-primary .nutrition-sankey-calories rect{rx:5px}.meal-view-nutrition-primary .sankey-macro-title,.meal-view-nutrition-primary .sankey-macro-meta,.meal-view-nutrition-primary .sankey-macro-kcal,.meal-view-nutrition-primary .sankey-macro-meal-percent,.meal-view-nutrition-primary .sankey-macro-meal-label{fill:#fff;font-family:Inter,system-ui,sans-serif}.meal-view-nutrition-primary .sankey-macro-title{letter-spacing:0;font-size:13.5px;font-weight:600}.meal-view-nutrition-primary .sankey-macro-kcal{fill:#fffffff2;letter-spacing:0;font-size:10.1px;font-weight:400}.meal-view-nutrition-primary .nutrition-sankey-summary{background:0 0;border:0;border-radius:0;overflow:hidden}.meal-view-nutrition-primary .nutrition-sankey-summary table{min-inline-size:0}.meal-view-nutrition-primary .nutrition-sankey-summary thead th{background:var(--primary);color:#fff;font-size:var(--font-xxs);padding:9px 10px;line-height:12px}.meal-view-nutrition-primary .nutrition-sankey-summary th,.meal-view-nutrition-primary .nutrition-sankey-summary td{font-size:var(--font-xxs);padding:10px;line-height:12px}.meal-view-nutrition-primary .nutrition-sankey-summary tbody tr{background:#fff}.meal-view-nutrition-primary .nutrition-sankey-summary tbody tr:nth-child(2n){background:#eaf3ef}.meal-view-nutrition-primary .nutrition-sankey-summary tbody th{color:#252a28;font-weight:400}.meal-view-nutrition-primary .nutrition-sankey-summary tbody td{color:#252a28;font-size:var(--font-xxs);font-weight:400;line-height:12px}.meal-view-summary-card-large{gap:18px}.meal-view-summary-card-large header{align-items:center}.meal-view-daily-rings{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.meal-view-daily-ring{--daily-ring-color:var(--primary);aspect-ratio:1;background:radial-gradient(circle at center, #fff 0 55%, transparent 56%), conic-gradient(var(--daily-ring-color) var(--daily-progress), color-mix(in srgb, var(--daily-ring-color) 22%, #fff) 0);border-radius:999px;place-items:center;min-inline-size:0;padding:11px;display:grid}.meal-view-daily-ring.kcal{--daily-ring-color:#2f8677}.meal-view-daily-ring.protein{--daily-ring-color:var(--protein)}.meal-view-daily-ring.carbs{--daily-ring-color:var(--carbs)}.meal-view-daily-ring.fat{--daily-ring-color:var(--fat)}.meal-view-daily-ring strong{color:#151917;font-size:var(--font-xs);align-self:end;font-weight:600;line-height:15px}.meal-view-daily-ring span{color:#4f5753;font-size:var(--font-xxs);align-self:start;font-weight:400;line-height:12px}.meal-view-placeholder-panel{background:#fff;border:1px solid #d6d9d4;border-radius:8px;gap:8px;padding:22px;display:grid}.meal-view-placeholder-panel p{color:#4f5753;font-size:var(--font-xs);margin:0;line-height:18px}.meal-view-plan-tab{grid-template-columns:minmax(0,1fr) 386px;align-items:start;gap:20px;display:grid}.meal-view-plan-list-card,.meal-view-plan-summary-card{background:#fff;border:1px solid #d6d9d4;border-radius:8px;gap:16px;padding:22px;display:grid}.meal-view-plan-section-heading{border-bottom:1px solid #cfd2ce;justify-content:space-between;align-items:center;min-block-size:30px;padding-block-end:7px;display:flex}.meal-view-plan-section-heading h2{color:#151917;font-family:Inter,system-ui,sans-serif;font-size:var(--font-sm);margin:0;font-weight:700;line-height:24px}.meal-view-plan-section-heading span{color:#252a28;font-size:var(--font-xs);font-weight:400;line-height:18px}.meal-view-plan-history-heading{margin-block-start:22px}.meal-view-plan-entry-list{gap:10px;display:grid}.meal-view-plan-entry-card{background:#fff;border:1px solid #d8dbd6;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-block-size:50px;padding:9px 12px;display:grid;box-shadow:0 2px 6px #0f172a1a}.meal-view-plan-entry-card h3,.meal-view-plan-entry-card p{margin:0}.meal-view-plan-entry-card h3{color:#151917;font-size:var(--font-xxs);text-overflow:ellipsis;white-space:nowrap;font-weight:700;line-height:12px;overflow:hidden}.meal-view-plan-entry-card p{flex-wrap:wrap;align-items:center;gap:7px;margin-block-start:6px;display:flex}.meal-view-plan-entry-card p strong,.meal-view-plan-entry-card p span{font-size:var(--font-xxs);white-space:nowrap;line-height:12px}.meal-view-plan-entry-card p strong{color:#252a28;font-weight:700}.meal-view-plan-entry-card p .kcal{color:var(--primary);font-weight:700}.meal-view-plan-entry-card p .protein{color:var(--protein);font-weight:700}.meal-view-plan-entry-card p .carbs{color:var(--carbs);font-weight:700}.meal-view-plan-entry-card p .fat{color:var(--fat);font-weight:700}.overlapping-person-icons{justify-content:end;align-items:center;display:flex}.overlapping-person-icons span,.overlapping-person-icons button{color:#fff;font-size:var(--font-xs);border:0;border-radius:999px;justify-content:center;align-items:center;block-size:28px;inline-size:28px;margin-inline-start:-6px;padding:0;font-weight:800;line-height:1;display:inline-flex}.overlapping-person-icons button{cursor:pointer;position:relative}.overlapping-person-icons button[aria-pressed=false]{opacity:.38}.overlapping-person-icons button[aria-pressed=true]{opacity:1;z-index:2}.overlapping-person-icons span:first-child,.overlapping-person-icons button:first-child{margin-inline-start:0}.meal-view-page-sheet .meal-view-method ol{counter-reset:method-step;gap:12px;margin:0;padding:0;list-style:none;display:grid}.meal-view-page-sheet .meal-view-method li{color:#252a28;counter-increment:method-step;font-family:Inter,system-ui,sans-serif;font-size:var(--font-xs);grid-template-columns:25px minmax(0,1fr);align-items:start;gap:11px;min-block-size:25px;padding:0;font-weight:400;line-height:25px;display:grid}.meal-view-page-sheet .meal-view-method li:before{background:var(--primary);color:#fff;content:counter(method-step);font-family:Inter,system-ui,sans-serif;font-size:var(--font-xxs);border-radius:999px;justify-content:center;align-items:center;block-size:25px;inline-size:25px;font-weight:700;line-height:1;display:inline-flex;position:static}.meal-view-plan-summary-card dl{gap:15px;margin:0;display:grid}.meal-view-plan-summary-card dl div{align-items:baseline;gap:5px;display:flex}.meal-view-plan-summary-card dt,.meal-view-plan-summary-card dd{color:#252a28;font-size:var(--font-xs);margin:0;line-height:18px}.meal-view-plan-summary-card dt{font-weight:700}.meal-view-plan-summary-card dd{font-weight:400}.meal-view-plan-empty{color:#4f5753;font-size:var(--font-xs);margin:0;line-height:18px}@media (width<=1050px){.meal-view-nutrition-tab,.meal-view-plan-tab{grid-template-columns:1fr}}@media (width<=720px){.meal-view-macro-breakdown-grid,.meal-view-daily-rings{grid-template-columns:repeat(2,minmax(0,1fr))}}
