/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.hidden{display:none}.table{display:table}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--canvas:#f4f1e9;--surface:#fffdf8;--surface-soft:#e9e6db;--surface-green:#e4eee0;--ink:#18372b;--ink-soft:#53675e;--ink-faint:#748179;--brand:#2e6b4f;--brand-deep:#173b2d;--brand-light:#b9d5ad;--line:#d8d4c8;--attention:#9a641e;--attention-bg:#f6e8c8;--danger:#a9483e;--shadow:0 16px 45px #1f372b14}*{box-sizing:border-box}html{background:var(--canvas);scroll-behavior:auto}body,html{color:var(--ink)}body{background:radial-gradient(circle at 90% -10%,#b9d5ad52,transparent 32rem),var(--canvas);min-height:100vh;text-rendering:optimizelegibility;margin:0;font-family:Avenir Next,Avenir,Segoe UI,system-ui,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}:focus-visible{outline-offset:3px;outline:3px solid #d38b28}.skip-link{background:var(--brand-deep);color:#fff;z-index:100;border-radius:0 0 .75rem;padding:.75rem 1rem;font-weight:700;transition:transform .15s;position:fixed;top:0;left:0;transform:translateY(-120%)}.skip-link:focus-visible{transform:translateY(0)}#main-content:focus-visible{outline:none}.app-shell{min-height:100vh}.app-header{z-index:20;border-bottom:1px solid var(--line);position:sticky;top:0}@supports (color:color-mix(in lab,red,red)){.app-header{border-bottom:1px solid color-mix(in srgb,var(--line) 76%,transparent)}}.app-header{background:var(--canvas)}@supports (color:color-mix(in lab,red,red)){.app-header{background:color-mix(in srgb,var(--canvas) 88%,transparent)}}.app-header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.app-header__inner{justify-content:space-between;align-items:center;gap:24px;max-width:1160px;min-height:72px;margin:0 auto;padding:0 24px;display:flex}.brand{border-radius:16px;align-items:center;gap:11px;min-height:48px;display:inline-flex}.brand__mark{background:var(--brand-deep);color:#f8f5ec;border-radius:14px 14px 14px 6px;flex:none;place-items:center;width:42px;height:42px;display:grid}.brand__mark svg{width:23px;height:23px}.brand__text{flex-direction:column;line-height:1.08;display:flex}.brand__text strong{letter-spacing:-.02em;font-size:1rem}.brand__text small{color:var(--ink-soft);letter-spacing:.02em;margin-top:4px;font-size:.72rem;font-weight:650}.household{border-radius:16px;align-items:center;gap:10px;min-height:48px;display:flex}.household__avatar{background:var(--surface-green);width:42px;height:42px;color:var(--brand-deep);border:1px solid #c8d7c2;border-radius:50%;place-items:center;font-size:.75rem;font-weight:800;display:grid}.household__name{font-size:.84rem;font-weight:700;display:none}.desktop-navigation{align-items:center;gap:5px;display:none}.desktop-navigation__link{min-height:44px;color:var(--ink-soft);border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-size:.9rem;font-weight:700;transition:background .16s,color .16s;display:inline-flex}.desktop-navigation__link:hover{color:var(--ink);background:#ffffffb8}.desktop-navigation__link[data-active]{background:var(--brand-deep);color:#fffdf7}.desktop-navigation__icon{width:19px;height:19px}.mobile-navigation{z-index:30;padding:8px 12px max(8px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface);position:fixed;bottom:0;left:0;right:0}@supports (color:color-mix(in lab,red,red)){.mobile-navigation{background:color-mix(in srgb,var(--surface) 94%,transparent)}}.mobile-navigation{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 -12px 35px #1f372b14}.mobile-navigation__inner{grid-template-columns:repeat(4,minmax(0,1fr));max-width:520px;margin:0 auto;display:grid}.mobile-navigation__link{min-width:0;min-height:54px;color:var(--ink-faint);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:6px 2px;font-size:.69rem;font-weight:750;line-height:1;display:flex}.mobile-navigation__link[data-active]{background:var(--surface-green);color:var(--brand-deep)}.mobile-navigation__icon{width:22px;height:22px}.app-content{width:100%;max-width:1160px;margin:0 auto;padding:30px 18px 118px}.page-stack,.section-stack{flex-direction:column;display:flex}.page-stack{gap:30px}.section-stack{gap:15px}.page-heading,.section-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.page-heading{flex-direction:column}.eyebrow{color:var(--brand);letter-spacing:.13em;text-transform:uppercase;margin:0 0 7px;font-size:.72rem;font-weight:850}h1,h2,h3,p{overflow-wrap:anywhere}h1,h2,h3{color:var(--ink);letter-spacing:-.035em;margin:0;font-weight:720}h1{font-size:clamp(2rem,7vw,3.7rem);line-height:1.02}h2{font-size:clamp(1.35rem,4vw,2rem);line-height:1.13}h3{font-size:1.08rem;line-height:1.25}.page-heading__copy{max-width:660px;color:var(--ink-soft);margin:12px 0 0;font-size:1rem;line-height:1.65}.card{border:1px solid var(--line);background:var(--surface);border-radius:24px;box-shadow:0 3px 16px #1f372b09}.card--soft{background:var(--surface-soft);box-shadow:none;border-color:#0000}.card--brand{background:var(--brand-deep);color:#f8f5ec;box-shadow:var(--shadow);border-color:#0000}.status-chip{background:var(--surface-soft);min-height:30px;color:var(--ink-soft);letter-spacing:.01em;white-space:nowrap;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:4px 10px;font-size:.72rem;font-weight:800;display:inline-flex}.status-chip--positive{background:var(--surface-green);color:#24563f}.status-chip--attention{background:var(--attention-bg);color:var(--attention)}.week-hero{gap:28px;padding:26px;display:grid;position:relative;overflow:hidden}.week-hero:after{content:"";pointer-events:none;border:58px solid #b9d5ad1f;border-radius:50%;width:280px;height:280px;position:absolute;top:-125px;right:-140px}.week-hero h2{color:#fffdf7;max-width:620px;font-size:clamp(1.7rem,6vw,3rem)}.week-hero p{color:#d9e5db;max-width:650px;margin:14px 0 0;line-height:1.65}.week-hero__content{z-index:1;position:relative}.week-hero__meta{color:var(--brand-light);letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;gap:7px 16px;margin-bottom:16px;font-size:.74rem;font-weight:850;display:flex}.week-hero__actions{flex-direction:column;align-items:flex-start;gap:10px;margin-top:22px;display:flex}.week-hero__actions>span{color:#afc0b5;font-size:.75rem;line-height:1.35}.week-hero__secondary{color:#f5f1e7;text-underline-offset:5px;align-items:center;min-height:46px;font-size:.82rem;font-weight:800;-webkit-text-decoration:underline #ffffff73;text-decoration:underline #ffffff73;text-decoration-thickness:1px;display:inline-flex}.week-hero__secondary:hover{text-decoration-color:currentColor}.week-hero__facts{z-index:1;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:19px;align-content:center;gap:0;margin:0;padding:8px 18px;display:grid;position:relative}.week-hero__facts>div{border-bottom:1px solid #ffffff1a;gap:5px;padding:14px 0;display:grid}.week-hero__facts>div:last-child{border-bottom:0}.week-hero__facts dt{color:#afc0b5;font-size:.68rem;font-weight:750}.week-hero__facts dd{color:#eef5ec;margin:0;font-size:.84rem;font-weight:750;line-height:1.4}.week-hero__facts .status-chip{width:fit-content}.week-hero__checklist{z-index:1;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:19px;align-content:center;gap:13px;padding:18px;display:grid;position:relative}.week-hero__checklist>div{color:#eef5ec;align-items:center;gap:10px;font-size:.86rem;font-weight:650;display:flex}.week-hero__checklist svg{width:19px;height:19px;color:var(--brand-light);flex:none}.action{cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;gap:12px;min-height:46px;padding:0 17px;font-size:.86rem;font-weight:800;transition:transform .15s,background .15s;display:inline-flex}.action:hover:not(:disabled){transform:translateY(-1px)}.action--primary{color:#2f2b1f;background:#f4c56b}.action--secondary{color:var(--brand-deep);background:0 0;justify-content:space-between;padding:0}.action:disabled{cursor:not-allowed;opacity:.55}.action__icon{width:18px;height:18px}.area-grid,.profile-grid,.week-grid{gap:13px;display:grid}.week-card{border:1px solid var(--line);background:var(--surface);border-radius:22px;flex-direction:column;min-width:0;min-height:300px;padding:20px;transition:border-color .16s,box-shadow .16s,transform .16s;display:flex;box-shadow:0 3px 16px #1f372b09}.week-card:hover{border-color:#acc3a6;transform:translateY(-2px);box-shadow:0 12px 30px #1f372b14}.week-card__topline{justify-content:space-between;align-items:center;gap:10px;display:flex}.week-card__relation{color:var(--brand);font-size:.72rem;font-weight:850}.week-card__heading{margin-top:23px}.week-card__heading p:last-child{color:var(--ink-soft);margin:8px 0 0;font-size:.82rem;line-height:1.5}.week-card__facts{gap:8px;margin:20px 0 0;display:grid}.week-card__facts div{border-top:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:14px;padding:10px 0;display:flex}.week-card__facts dt{color:var(--ink-faint);font-size:.69rem;font-weight:750}.week-card__facts dd{color:var(--ink);text-align:right;margin:0;font-size:.73rem;font-weight:800}.week-card__link{color:var(--brand);margin-top:auto;padding-top:20px;font-size:.78rem;font-weight:850}.empty-week-card{gap:24px;padding:26px;display:grid}.empty-week-card p:not(.eyebrow){max-width:620px;color:var(--ink-soft);margin:10px 0 0;line-height:1.6}.profile-card{padding:20px}.profile-card__top{align-items:center;gap:12px;display:flex}.profile-card__top p{color:var(--ink-soft);margin:3px 0 0;font-size:.8rem}.profile-card__avatar{background:var(--surface-green);width:44px;height:44px;color:var(--brand-deep);border-radius:16px;place-items:center;font-weight:850;display:grid}.profile-card__goals{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0 0;display:grid}.profile-card__goals div{border-top:1px solid var(--line);min-width:0;padding-top:13px}.profile-card__goals dt{color:var(--ink-faint);font-size:.875rem;font-weight:750}.profile-card__goals dd{color:var(--ink);margin:5px 0 0;font-size:1rem;font-weight:820}.area-card{flex-direction:column;min-height:210px;padding:20px;display:flex}.area-card__number{color:var(--brand);letter-spacing:.12em;margin-bottom:22px;font-size:.7rem;font-weight:900}.area-card p{color:var(--ink-soft);margin:8px 0 18px;font-size:.88rem;line-height:1.55}.area-card .action{margin-top:auto}.notice{background:var(--surface-green);color:var(--ink-soft);border:1px solid #cbd8c6;border-radius:18px;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:16px;display:grid}.notice--attention{background:var(--attention-bg);border-color:#e6d09d}.notice__icon{width:20px;height:20px;color:var(--brand)}.notice strong{color:var(--ink);font-size:.86rem;display:block}.notice__body{margin-top:4px;font-size:.82rem;line-height:1.5}.view-state{text-align:center;background:#fffdf88c;border:1px dashed #c8c5ba;border-radius:26px;flex-direction:column;justify-content:center;align-items:center;min-height:320px;padding:34px 22px;display:flex}.view-state__icon{background:var(--surface-green);width:64px;height:64px;color:var(--brand);border-radius:22px;place-items:center;margin-bottom:18px;display:grid}.view-state__icon svg{width:30px;height:30px}.view-state__copy{max-width:520px;color:var(--ink-soft)}.view-state__copy p{margin:10px 0 0;font-size:.9rem;line-height:1.6}.view-state__action{margin-top:20px}.view-state--error{border-color:var(--danger)}@supports (color:color-mix(in lab,red,red)){.view-state--error{border-color:color-mix(in srgb,var(--danger) 45%,transparent)}}.view-state--loading{animation:state-pulse 1.4s ease-in-out infinite}.filter-card{gap:18px;padding:18px;display:grid}.recipe-search{gap:10px;display:grid}.recipe-search .action{width:100%}.back-link,.recipe-search__reset{width:fit-content;color:var(--brand);text-underline-offset:4px;font-size:.8rem;font-weight:800;text-decoration:underline;text-decoration-thickness:1px}.recipe-filter-groups{border-top:1px solid var(--line);gap:14px;padding-top:4px;display:grid}.recipe-select-filters{grid-column:1/-1;gap:10px;display:grid}.recipe-select-filters label{color:var(--ink-faint);gap:6px;font-size:.68rem;font-weight:800;display:grid}.recipe-select-filters select{border:1px solid var(--line);background:var(--surface);width:100%;min-height:44px;color:var(--ink);font:inherit;border-radius:13px;padding:9px 12px}.recipe-filter-row{gap:8px;display:grid}.recipe-filter-label{color:var(--ink-faint);letter-spacing:.04em;text-transform:uppercase;font-size:.68rem;font-weight:800}.recipe-filter-options{flex-wrap:wrap;gap:7px;display:flex}.recipe-filter-chip{border:1px solid var(--line);background:var(--surface-soft);min-height:38px;color:var(--ink-soft);border-radius:999px;align-items:center;padding:8px 12px;font-size:.74rem;font-weight:800;display:inline-flex}.recipe-filter-chip[aria-current=page]{border-color:var(--brand-light);background:var(--surface-green);color:var(--brand-deep)}.recipe-grid{gap:13px;display:grid}.recipe-card{border:1px solid var(--line);background:var(--surface);border-radius:22px;flex-direction:column;min-width:0;min-height:250px;padding:20px;transition:border-color .16s,box-shadow .16s,transform .16s;display:flex;box-shadow:0 3px 16px #1f372b09}.recipe-card:hover{border-color:#acc3a6;transform:translateY(-2px);box-shadow:0 12px 30px #1f372b14}.recipe-card--archived{opacity:.72}.recipe-card__heading{min-height:72px}.recipe-card__macros{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:18px 0;display:grid}.recipe-card__macros div{background:var(--surface-soft);border-radius:14px;min-width:0;padding:11px}.recipe-card__macros dt,.recipe-nutrition__grid dt{color:var(--ink-faint);font-size:.68rem;font-weight:750}.recipe-card__macros dd{color:var(--ink);margin:5px 0 0;font-size:.79rem;font-weight:820}.recipe-card__link{color:var(--brand);margin-top:auto;padding-top:18px;font-size:.8rem;font-weight:850}.recipe-detail-heading h1{max-width:820px}.recipe-actions{flex-wrap:wrap;gap:10px;display:flex}.recipe-nutrition,.recipe-section{gap:20px;padding:20px;display:grid}.recipe-nutrition__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.recipe-nutrition__grid div{background:var(--surface-soft);border-radius:16px;min-width:0;padding:14px}.recipe-nutrition__grid dd{color:var(--ink);margin:6px 0 0;font-size:1rem;font-weight:850}.recipe-nutrition__note,.source-note{color:var(--ink-faint);margin:0;font-size:.75rem;line-height:1.55}.recipe-detail-grid{align-items:start;gap:16px;display:grid}.recipe-ingredients-table-wrap{min-width:0}.recipe-ingredients-table{border-collapse:collapse;width:100%;color:var(--ink-soft);font-size:.8rem}.recipe-ingredients-table td,.recipe-ingredients-table th{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:11px 10px}.recipe-ingredients-table thead th{background:var(--surface-green);color:var(--ink-soft);font-size:.7rem;font-weight:800}.recipe-ingredients-table thead th:first-child{border-radius:12px 0 0}.recipe-ingredients-table thead th:last-child{border-radius:0 12px 0 0}.recipe-ingredients-table tbody th{color:var(--ink);font-weight:790}.recipe-ingredients-table tfoot td,.recipe-ingredients-table tfoot th{color:var(--ink);font-weight:850}.recipe-ingredients-table tfoot tr:first-child td,.recipe-ingredients-table tfoot tr:first-child th{border-top:2px solid var(--brand-light)}.nutrition-open{color:var(--attention);font-size:.64rem;font-weight:780}.nutrition-estimated,.nutrition-open{width:fit-content;margin-top:4px;display:block}.nutrition-estimated{color:var(--ink-faint);font-size:.62rem;font-weight:760}.recipe-review-card{padding:20px}.recipe-review-form,.recipe-review-grid{gap:14px;display:grid}.recipe-review-grid label{color:var(--ink-soft);gap:7px;font-size:.76rem;font-weight:800;display:grid}.recipe-review-input{border:1px solid var(--line);background:var(--surface);border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding-right:12px;display:grid}.recipe-review-input input{min-width:0;min-height:46px;color:var(--ink);font:inherit;background:0 0;border:0;padding:10px 12px}.recipe-review-input>span{color:var(--ink-faint);font-size:.72rem}.recipe-confirmation{background:var(--surface-green);color:var(--ink-soft);border-radius:14px;align-items:flex-start;gap:10px;padding:14px;font-size:.8rem;line-height:1.5;display:flex}.recipe-confirmation input{width:18px;height:18px;margin-top:2px}.recipe-additional-ingredients{background:var(--surface-soft);color:var(--ink-soft);border-radius:15px;margin:0;padding:15px;font-size:.8rem;line-height:1.6}.recipe-additional-ingredients strong{color:var(--ink)}@media (max-width:639px){.recipe-ingredients-table,.recipe-ingredients-table tbody,.recipe-ingredients-table tfoot,.recipe-ingredients-table tr{display:block}.recipe-ingredients-table thead{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.recipe-ingredients-table tr{border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:14px 0;display:grid}.recipe-ingredients-table td,.recipe-ingredients-table th{border:0;padding:0}.recipe-ingredients-table td:nth-child(2),.recipe-ingredients-table th[scope=row]{grid-column:1/-1}.recipe-ingredients-table td:nth-child(2){color:var(--ink-faint);font-size:.72rem}.recipe-ingredients-table td[data-label]:before{color:var(--ink-faint);content:attr(data-label);margin-bottom:3px;font-size:.62rem;font-weight:750;display:block}.recipe-ingredients-table tfoot tr:first-child{border-top:2px solid var(--brand-light)}}.ingredient-list,.step-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.ingredient-list li{border-bottom:1px solid var(--line);min-height:52px;color:var(--ink-soft);grid-template-columns:minmax(86px,auto) minmax(0,1fr);align-items:center;gap:8px 12px;padding:10px 0;font-size:.86rem;display:grid}.ingredient-list li:last-child,.step-list li:last-child{border-bottom:0}.ingredient-list .status-chip{grid-column:2;justify-self:start}.ingredient-list__amount{color:var(--ink);font-weight:850}.step-list li{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr);gap:13px;padding:16px 0;display:grid}.step-list__number{background:var(--surface-green);width:30px;height:30px;color:var(--brand-deep);border-radius:10px;place-items:center;font-size:.75rem;font-weight:850;display:grid}.recipe-description p,.step-list p{color:var(--ink-soft);margin:4px 0 0;font-size:.88rem;line-height:1.65}.step-list .status-chip{margin-top:10px}.recipe-description{background:var(--surface-green);border-radius:16px;padding:16px}.import-report{gap:20px;padding:20px;display:grid}.history-preview,.import-report__heading{flex-direction:column;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.import-report__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.import-report__grid div{background:var(--surface-soft);border-radius:16px;min-width:0;padding:14px}.import-report__grid dt{color:var(--ink-faint);font-size:.7rem;font-weight:750;line-height:1.35}.import-report__grid dd{color:var(--ink);margin:7px 0 0;font-size:1.35rem;font-weight:850}.history-preview{padding:22px}.history-preview p:not(.eyebrow){max-width:620px;color:var(--ink-soft);margin:10px 0 0;font-size:.9rem;line-height:1.6}.history-filters{border:1px solid var(--line);background:var(--surface);scrollbar-width:none;border-radius:17px;gap:7px;max-width:100%;padding:5px;display:flex;overflow-x:auto}.history-filter{min-height:44px;color:var(--ink-soft);border-radius:12px;flex:1 0 auto;justify-content:center;align-items:center;padding:0 15px;font-size:.78rem;font-weight:800;display:inline-flex}.history-filter[aria-current=page]{background:var(--surface-green);color:var(--brand-deep)}.week-summary{gap:22px;padding:22px;display:grid}.week-summary__facts{gap:10px;margin:0;display:grid}.week-summary__facts div{background:var(--surface-soft);border-radius:16px;min-width:0;padding:15px}.week-summary__facts dt{color:var(--ink-faint);font-size:.69rem;font-weight:750}.week-summary__facts dd{color:var(--ink);margin:7px 0 0;font-size:.84rem;font-weight:820;line-height:1.4}.week-notes-grid{gap:12px;display:grid}.week-note{padding:20px}.week-note p{color:var(--ink-soft);margin:9px 0 0;font-size:.86rem;line-height:1.65}.wizard-preview{padding:24px}.wizard-preview__step{color:var(--brand);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:850}.wizard-preview h2{margin-top:7px}.wizard-preview ol{color:var(--ink-soft);gap:10px;margin:20px 0 0;padding-left:22px;font-size:.88rem;line-height:1.5;display:grid}.week-wizard{gap:16px;display:grid}.wizard-steps{scrollbar-width:none;max-width:100%;overflow-x:auto}.wizard-steps ol{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;min-width:560px;margin:0;padding:0;list-style:none;display:grid}.wizard-steps button{border:1px solid var(--line);background:var(--surface);width:100%;min-height:52px;color:var(--ink-soft);cursor:pointer;border-radius:14px;align-items:center;gap:8px;padding:7px 10px;font-size:.74rem;font-weight:780;display:flex}.wizard-steps button span{background:var(--surface-soft);width:27px;height:27px;color:var(--ink);border-radius:9px;flex:none;place-items:center;display:grid}.wizard-steps li[data-active] button,.wizard-steps li[data-complete] button{background:var(--surface-green);color:var(--brand-deep);border-color:#aac3a3}.wizard-steps li[data-active] button span{background:var(--brand-deep);color:#fff}.wizard-panel{min-width:0;padding:20px}.wizard-panel__heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:20px;display:flex}.wizard-panel__heading p:last-child{color:var(--ink-soft);margin:6px 0 0;font-size:.82rem}.wizard-panel__heading>strong{background:var(--surface-green);border-radius:999px;flex:none;padding:8px 10px;font-size:.72rem}.week-notes-form,.wizard-calendar{gap:16px;padding-top:22px;display:grid}.wizard-calendar__range{background:var(--surface-soft);border-radius:16px;gap:5px;padding:16px;display:grid}.wizard-calendar__range span{color:var(--ink-faint);font-size:.7rem;font-weight:750}.wizard-calendar__range strong{font-size:.86rem}.attendance-stack,.guest-editor{gap:13px;padding-top:22px;display:grid}.guest-card,.snack-free-day{background:var(--surface-green);border:1px solid #c8d7c2;border-radius:18px;min-width:0;margin:0;padding:17px}.guest-card legend,.snack-free-day legend{color:var(--ink);padding:0 6px;font-size:.85rem;font-weight:820}.snack-free-day>p{color:var(--ink-soft);margin:0 0 13px;font-size:.76rem;line-height:1.45}.snack-free-day>div{flex-wrap:wrap;gap:7px;display:flex}.snack-free-day label{cursor:pointer;position:relative}.snack-free-day input{opacity:0;position:absolute}.snack-free-day span{background:var(--surface);border:1px solid #b9cbb4;border-radius:12px;align-items:center;min-height:44px;padding:0 12px;font-size:.73rem;font-weight:780;display:inline-flex}.snack-free-day input:checked+span{border-color:var(--brand-deep);background:var(--brand-deep);color:#fff}.snack-free-day input:focus-visible+span{outline-offset:3px;outline:3px solid #d38b28}.attendance-day{border:1px solid var(--line);background:var(--surface);border-radius:18px;overflow:hidden}.attendance-day>header{background:var(--surface-soft);justify-content:space-between;align-items:center;gap:12px;padding:13px 15px;display:flex}.attendance-day>header h3{font-size:.9rem}.attendance-day__bulk{gap:6px;display:flex}.attendance-day__bulk button,.guest-card__remove{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--brand-deep);cursor:pointer;border-radius:10px;padding:0 10px;font-size:.68rem;font-weight:780}.attendance-day__slots{display:grid}.attendance-day__slots label{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(122px,auto);align-items:center;gap:10px;min-height:64px;padding:10px 15px;display:grid}.attendance-day__slots label:first-child{border-top:0}.attendance-day__slots label>span{color:var(--ink-soft);gap:2px;font-size:.72rem;display:grid}.attendance-day__slots label strong{color:var(--ink);font-size:.78rem}.attendance-day__slots select{border:1px solid var(--line);background:var(--surface);min-height:42px;color:var(--ink);border-radius:11px;padding:0 9px;font-size:.75rem;font-weight:740}.attendance-day__empty{color:var(--ink-faint);margin:0;padding:18px 15px;font-size:.76rem}.guest-editor__intro{flex-direction:column;justify-content:space-between;align-items:center;gap:14px;display:flex}.guest-editor__intro p{color:var(--ink-soft);margin:0;font-size:.82rem;line-height:1.55}.guest-editor__intro .action{width:100%}.guest-card{background:var(--surface);gap:13px;display:grid}.guest-card__remove{width:fit-content;color:var(--danger)}.guest-empty{color:var(--ink-soft);text-align:center;border:1px dashed #c8c5ba;border-radius:18px;gap:5px;padding:24px;display:grid}.guest-empty strong{color:var(--ink);font-size:.86rem}.guest-empty span{font-size:.76rem}.field__textarea{resize:vertical;min-height:112px;padding-top:12px}.wizard-actions{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-top:24px;padding-top:18px;display:flex}.wizard-actions__back{color:var(--brand);background:0 0;padding-left:0}.week-detail-actions{flex-wrap:wrap;justify-content:flex-start;gap:10px;display:flex}.field{flex-direction:column;min-width:0;display:flex}.field__label{color:var(--ink);margin-bottom:7px;font-size:.8rem;font-weight:800}.field__input{border:1px solid var(--line);background:var(--surface);width:100%;min-height:48px;color:var(--ink);border-radius:14px;padding:0 14px}.field__input:disabled{cursor:not-allowed;color:var(--ink-faint);background:#efede6}.field__hint{color:var(--ink-faint);margin-top:6px;font-size:.72rem;line-height:1.4}.meal-plan-editor,.meal-plan-groups{gap:20px;display:grid}.meal-plan-progress{justify-content:space-between;align-items:flex-start;gap:18px;padding:22px;display:flex}.meal-plan-progress p:not(.eyebrow){max-width:680px;color:var(--ink-soft);margin:9px 0 0;font-size:.86rem;line-height:1.55}.meal-plan-group{gap:13px;display:grid}.meal-plan-group__heading{justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.meal-plan-copy{border:1px solid var(--line);background:var(--surface);min-height:42px;color:var(--brand-deep);cursor:pointer;font:inherit;border-radius:13px;padding:8px 13px;font-size:.72rem;font-weight:820}.meal-plan-copy:disabled{cursor:not-allowed;opacity:.46}.meal-plan-occurrences{gap:10px;display:grid}.meal-plan-occurrence{border:1px solid var(--line);background:var(--surface);border-radius:18px;grid-template-columns:minmax(150px,.7fr) minmax(210px,1fr) minmax(210px,1fr);align-items:end;gap:12px;padding:16px;display:grid}.meal-plan-occurrence>header{align-self:center;gap:5px;display:grid}.meal-plan-occurrence>header strong{color:var(--ink);font-size:.84rem}.meal-plan-occurrence>header span{color:var(--ink-faint);font-size:.72rem}.nutrition-day-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.nutrition-day-card{gap:15px;padding:18px;display:grid}.nutrition-day-card>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.nutrition-day-card__macros{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:0;display:grid}.nutrition-day-card__macros div{background:var(--surface-soft);border-radius:12px;min-width:0;padding:10px}.nutrition-day-card__macros dt{color:var(--ink-faint);font-size:.64rem;font-weight:760}.nutrition-day-card__macros dd{color:var(--ink);margin:4px 0 0;font-size:.78rem;font-weight:840}.nutrition-day-card__targets{color:var(--ink-soft);grid-template-columns:1fr auto auto;align-items:center;gap:9px;font-size:.72rem;display:grid}.nutrition-day-card__targets strong{background:var(--surface-green);color:var(--brand-deep);border-radius:10px;padding:7px 9px;font-size:.7rem}.nutrition-day-card__partial{color:var(--ink-faint);margin:0;font-size:.72rem}.recipe-batch-summary{gap:18px;padding:22px;display:grid}.meal-plan-warnings ul,.recipe-batch-summary ul{gap:0;margin:0;padding:0;list-style:none;display:grid}.recipe-batch-summary li{border-bottom:1px solid var(--line);color:var(--ink-soft);grid-template-columns:minmax(0,1fr) auto;gap:5px 14px;padding:12px 0;font-size:.8rem;display:grid}.recipe-batch-summary li:last-child{border-bottom:0}.recipe-batch-summary li strong{color:var(--ink)}.recipe-batch-summary li small{color:var(--ink-faint);grid-column:1/-1}.meal-plan-warnings{color:var(--ink-soft);background:#fffaf0;border:1px solid #e6cfa0;border-radius:18px;padding:18px;font-size:.78rem}.meal-plan-warnings li{padding-top:8px}.meal-plan-actions{bottom:calc(76px + env(safe-area-inset-bottom));z-index:5;border:1px solid var(--line);background:var(--surface);border-radius:18px;justify-content:flex-end;gap:10px;padding:13px;display:flex;position:sticky}@supports (color:color-mix(in lab,red,red)){.meal-plan-actions{background:color-mix(in srgb,var(--surface) 94%,transparent)}}.meal-plan-actions{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 12px 34px #1f372b1f}@media (max-width:820px){.meal-plan-occurrence{grid-template-columns:1fr 1fr}.meal-plan-occurrence>header{grid-column:1/-1}}@media (max-width:639px){.meal-plan-group__heading,.meal-plan-progress{flex-direction:column;align-items:stretch}.meal-plan-occurrence,.nutrition-day-grid{grid-template-columns:1fr}.nutrition-day-card__macros{grid-template-columns:repeat(2,minmax(0,1fr))}.nutrition-day-card__targets{grid-template-columns:1fr 1fr}.nutrition-day-card__targets span{grid-column:1/-1}.meal-plan-actions{grid-template-columns:1fr;display:grid}.meal-plan-actions .action{width:100%}}.auth-shell{background:radial-gradient(circle at 85% 10%,#b9d5ad8c,transparent 26rem),var(--canvas);place-items:center;min-height:100vh;padding:28px 18px;display:grid}.auth-card{border:1px solid var(--line);background:var(--surface);border-radius:28px;width:min(100%,470px);padding:26px}@supports (color:color-mix(in lab,red,red)){.auth-card{background:color-mix(in srgb,var(--surface) 94%,transparent)}}.auth-card{box-shadow:var(--shadow)}.auth-brand{align-items:center;gap:12px;display:inline-flex}.auth-brand>span:last-child{flex-direction:column;line-height:1.1;display:flex}.auth-brand strong{color:var(--brand-deep);font-size:1rem}.auth-brand small{color:var(--ink-soft);margin-top:4px;font-size:.74rem;font-weight:700}.auth-card__heading{margin-top:34px}.account-card p,.auth-card__heading>p:last-child{color:var(--ink-soft);margin:12px 0 0;font-size:.92rem;line-height:1.65}.auth-form{gap:9px;margin-top:26px;display:grid}.auth-form h3{margin-bottom:8px}.field-label{color:var(--ink);margin-top:8px;font-size:.8rem;font-weight:800}.text-input{border:1px solid var(--line);background:var(--surface);width:100%;min-height:50px;color:var(--ink);border-radius:14px;padding:0 14px}.auth-submit{width:100%;margin-top:14px}.auth-info{background:var(--surface-green);color:var(--brand-deep);border:1px solid #c8d7c2;border-radius:16px;margin-top:24px;padding:15px 16px;font-size:.86rem;font-weight:650;line-height:1.55}.auth-footnote{color:var(--ink-faint);text-align:center;margin:22px 0 0;font-size:.74rem;line-height:1.5}.form-error,.form-success{margin:7px 0 0;font-size:.8rem;font-weight:700;line-height:1.45}.form-error{color:var(--danger)}.form-success{color:var(--brand)}.account-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:24px;gap:24px;padding:22px;display:grid}.account-actions{gap:22px;display:grid}.account-actions .action--secondary{width:fit-content;min-height:44px;padding:0 4px}.tag-row{flex-wrap:wrap;gap:7px;display:flex}.preview-list{overflow:hidden}.preview-list__row{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:78px;padding:14px 17px;display:grid}.preview-list__row:last-child{border-bottom:0}.preview-list__check{border:2px solid #bdc7ba;border-radius:8px;width:24px;height:24px}.preview-list__row span,.preview-list__row strong{display:block}.preview-list__row strong{font-size:.88rem}.preview-list__row div>span{color:var(--ink-faint);margin-top:3px;font-size:.74rem}.preview-list__count{color:#a0aaa2;letter-spacing:.08em;font-size:.72rem;font-weight:850}@keyframes state-pulse{50%{opacity:.62}}@media (min-width:640px){.app-content{padding:42px 28px 120px}.page-heading{flex-direction:row;align-items:center}.profile-grid,.week-grid,.week-notes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.area-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.week-hero{padding:36px}.week-hero__actions{flex-direction:row;align-items:center}.filter-card{padding:22px}.recipe-search{grid-template-columns:minmax(250px,1fr) auto;align-items:end}.recipe-search .action{width:auto;margin-bottom:25px}.recipe-search__reset{grid-column:1/-1}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-nutrition,.recipe-section{padding:26px}.recipe-nutrition__grid{grid-template-columns:repeat(4,minmax(0,1fr))}.import-report{padding:26px}.history-preview,.import-report__heading{flex-direction:row;align-items:center}.history-filters{width:fit-content}.history-filter{flex:none}.week-summary{padding:28px}.week-summary__facts{grid-template-columns:repeat(3,minmax(0,1fr))}.import-report__grid{grid-template-columns:repeat(4,minmax(0,1fr))}.tag-row{justify-content:flex-end;padding-bottom:6px}.auth-card{padding:38px}.account-card{padding:30px}.wizard-panel{padding:28px}.wizard-calendar{grid-template-columns:repeat(2,minmax(0,1fr))}.wizard-calendar>.field__hint,.wizard-calendar>.form-error,.wizard-calendar__range{grid-column:1/-1}.guest-editor__intro{flex-direction:row;align-items:center}.guest-editor__intro .action{flex:none;width:auto}.guest-card{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}.guest-card__remove{grid-column:1/-1}.week-notes-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:860px){.app-header__inner{min-height:82px}.desktop-navigation{display:flex}.mobile-navigation{display:none}.household__name{display:inline}.app-content{padding:52px 32px 80px}.page-stack{gap:40px}.recipe-grid,.week-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.recipe-detail-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.week-hero{grid-template-columns:minmax(0,1.7fr) minmax(260px,.8fr);padding:44px}.account-card{grid-template-columns:minmax(0,.8fr) minmax(360px,1.2fr);align-items:start;gap:48px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.planner-shell{width:100%;max-width:820px;margin-inline:auto}.planner-shell--wide{max-width:1120px}.planning-progress{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 28px;padding:0;list-style:none;display:grid}.planning-progress li{color:var(--ink-soft);border-bottom:2px solid var(--line);align-items:center;gap:9px;padding:12px 0;font-size:14px;display:flex}.planning-progress li span{background:var(--surface-soft);border-radius:50%;flex-shrink:0;place-items:center;width:28px;height:28px;display:grid}.planning-progress li[data-current]{border-color:var(--brand);color:var(--brand-deep);font-weight:750}.planning-progress li[data-current] span{background:var(--brand);color:#fff}.check-card{gap:20px;padding:clamp(22px,4vw,40px);display:grid}.check-card h2,.proposal-intro h2{margin:0;font-size:clamp(25px,4vw,32px);line-height:1.2}.check-card>p{color:var(--ink-soft);margin:0;line-height:1.65}.check-card__meta,.proposal-card__meta{color:var(--ink-soft);flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:14px;display:flex}.week-picker{max-width:280px}.check-defaults,.routine-summary{background:var(--surface-green);border-radius:16px;gap:8px;margin-block:14px;padding:20px;display:grid}.check-defaults span,.routine-summary p{color:var(--ink-soft);margin:0;line-height:1.6}.planner-details{border-top:1px solid var(--line);margin-block:8px;padding:16px 0}.planner-details summary{cursor:pointer;align-content:center;min-height:44px;font-size:16px;font-weight:650}.planner-details[open] summary{margin-bottom:16px}.planner-details .field{margin:14px 0}.exception-builder,.guest-inline{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:12px;display:grid}.guest-inline{border-bottom:1px solid var(--line);padding-bottom:14px}.exception-list{padding:0;list-style:none}.exception-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;font-size:14px;display:flex}.exception-list button{color:var(--brand);cursor:pointer;background:0 0;border:none;min-height:44px;text-decoration:underline}.planner-actions{justify-content:space-between;margin-top:20px}.planner-actions,.planner-actions>div{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.planner-actions--sticky{z-index:10;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;padding:16px;position:sticky;bottom:90px}.proposal-intro{justify-content:space-between;align-items:start;gap:24px;margin:12px 0 24px;display:flex}.proposal-intro p{color:var(--ink-soft);max-width:680px;line-height:1.6}.proposal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.proposal-card{min-width:0;padding:24px}.proposal-card h3{margin:18px 0 12px;font-size:23px;line-height:1.3}.proposal-days{color:var(--ink-soft);font-size:14px;line-height:1.7}.proposal-macros{font-weight:650}.proposal-macros span{padding-inline:5px}.proposal-macros small{color:var(--ink-soft);margin-top:6px;font-size:14px;font-weight:400;display:block}.proposal-card__actions{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.swap-picker{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.swap-options{max-height:320px;margin-block:12px;overflow:auto}.swap-options button{background:var(--surface-soft);cursor:pointer;text-align:left;width:100%;color:var(--ink);border:0;border-radius:10px;gap:7px;margin:6px 0;padding:14px;display:grid}.swap-options button:hover{background:var(--surface-green)}.swap-options small{color:var(--ink-soft);font-size:14px}.planner-warning{background:var(--attention-bg);color:var(--ink);border:1px solid #d9bb83;border-radius:16px;margin:18px 0;padding:20px}.planner-warning ul{padding-left:22px;line-height:1.65}.check-ack{cursor:pointer;align-items:start;gap:12px;margin-top:18px;line-height:1.5;display:flex}.check-ack input{flex-shrink:0;width:20px;height:20px;margin-top:3px}.plan-section-nav{flex-wrap:wrap;gap:12px;display:flex}.plan-section-nav a{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 16px}.plan-estimate{color:var(--ink-soft);font-size:14px}.plan-day-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.plan-day{padding:22px}.plan-day h3{font-size:20px}.plan-day__meal{border-bottom:1px solid var(--line);gap:7px;padding:14px 0;display:grid}.plan-day__meal small,.plan-day__meal>span{color:var(--ink-soft);font-size:14px}.day-meal-values{background:var(--surface);border-radius:0 0 16px 16px;margin:0;padding:16px 20px;list-style:none}.day-meal-values li{border-bottom:1px solid var(--line);gap:7px;padding:12px 0;display:grid}.day-meal-values small,.day-meal-values span{color:var(--ink-soft);font-size:14px;line-height:1.5}.output-recipe{padding:clamp(20px,4vw,34px)}.output-recipe h3{font-size:24px}.output-ingredients{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;padding:0;list-style:none;display:grid}.output-ingredients li{border-bottom:1px solid var(--line);gap:7px;padding:12px 0;display:grid}.output-ingredients small{color:var(--ink-soft);font-size:13px}.recipe-output-steps{padding-left:24px;line-height:1.7}.recipe-output-steps li{margin-block:14px}.recipe-output-total{background:var(--surface-green);border-radius:12px;padding:16px;line-height:1.65}.shopping-output{padding:20px 26px;list-style:none}.shopping-output li{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding:13px 0;display:flex}.shopping-output strong{text-align:right;white-space:nowrap}.finished-plan section{scroll-margin-top:100px}@media (min-width:800px){.planner-actions--sticky{bottom:18px}}@media (max-width:680px){.planning-progress{gap:6px}.planning-progress li{text-align:center;flex-direction:column;gap:7px;font-size:12px}.exception-builder,.guest-inline,.output-ingredients,.plan-day-grid,.proposal-grid{grid-template-columns:minmax(0,1fr)}.proposal-intro{flex-direction:column;gap:2px}.planner-actions--sticky{position:static}.planner-actions .action--primary{flex:1}.proposal-card{padding:22px}.shopping-output{padding:16px}}@media print{@page{size:A5;margin:12mm}.app-header,.desktop-nav,.mobile-nav,.no-print,.skip-link{display:none!important}body{color:#111;background:#fff;font-size:10pt}.app-content,.app-main,.finished-plan,.page-stack{max-width:none!important;margin:0!important;padding:0!important}.page-heading{display:block}.finished-plan h1{font-size:24pt}.finished-plan h2{break-after:avoid;font-size:18pt}.finished-plan h3{break-after:avoid}.nutrition-day-grid,.output-ingredients,.plan-day-grid{display:block}.card{box-shadow:none;border:1px solid #bbb;margin-block:12px}.daily-detail,.plan-day{break-inside:avoid}.output-recipe{padding:14px}.output-recipe,.print-section{break-before:page}.output-ingredients li,.planner-details,.recipe-output-steps li,.routine-summary,.shopping-output li{break-inside:avoid}.day-meal-values small,.day-meal-values span,.output-ingredients small,.plan-day__meal small{font-size:9pt}.shopping-output strong{white-space:normal}a{text-decoration:none}}.plan-tabs{background:var(--surface-soft);border:1px solid var(--line);z-index:15;border-radius:14px;grid-template-columns:repeat(6,minmax(5.25rem,1fr));gap:4px;max-width:100%;padding:5px;display:grid;position:sticky;top:76px;overflow-x:auto}.plan-tabs button{color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;min-height:46px;font-size:1rem}.plan-tabs button[aria-selected=true]{color:#fff;background:var(--brand-deep);font-weight:700}.person-picker button:focus-visible,.plan-tabs button:focus-visible{outline:3px solid var(--brand);outline-offset:3px}.plan-day--inactive,.plan-panel--inactive{display:none}.plan-panel-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.person-picker{gap:8px;display:flex}.person-picker button{font:inherit;border:1px solid var(--line);background:var(--surface);min-height:46px;color:var(--ink);cursor:pointer;border-radius:24px;padding:12px 24px}.person-picker button[aria-pressed=true]{background:var(--brand-deep);color:#fff;border-color:var(--brand-deep)}.day-picker{max-width:480px}.plan-person-day{max-width:720px}.plan-macro-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:8px 0;display:grid}.plan-macro-grid dt{color:var(--ink-soft);font-size:.875rem;font-weight:400}.plan-macro-grid dd{overflow-wrap:anywhere;margin:5px 0 0;font-size:1rem;font-weight:700}.meal-title{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.day-meal-values{padding:10px 22px}.day-meal-values span{font-size:1rem}.day-meal-values li{padding:18px 0}.nutrition-day-card__targets small{flex-basis:100%;line-height:1.6}.output-ingredients small{font-size:.875rem;line-height:1.6}.prep-recipe{min-width:0;padding:clamp(20px,4vw,32px)}.prep-recipe h3{font-size:1.5rem;line-height:1.35}.prep-ingredients{background:var(--surface-green);border-radius:12px;padding:18px;line-height:1.7}.prep-ingredients p{margin-bottom:0}.prep-portions{border-top:1px solid var(--line);margin-top:20px;padding-top:16px;font-size:.875rem}.prep-portions p{margin:8px 0}.fresh-recipe+.fresh-recipe{border-top:1px solid var(--line);margin-top:20px;padding-top:12px}.fresh-recipe h4{font-size:1.125rem}.shopping-output--detailed li{align-items:start}.shopping-output--detailed li>div{gap:8px;min-width:0;display:grid}.shopping-output--detailed li>div:last-child{text-align:right;flex-shrink:0}.shopping-output--detailed strong{white-space:normal;text-align:inherit}.shopping-output--detailed li>div>span,.shopping-output--detailed small,.shopping-output--detailed summary{color:var(--ink-soft);font-size:.875rem}.shopping-output--detailed summary{cursor:pointer;padding-block:8px}.shopping-output--detailed details span{font-size:.875rem;line-height:1.5}.empty-day{padding:24px}.pdf-download{gap:.65rem;max-width:100%;display:grid}.pdf-download>span{color:var(--ink-soft);font-size:.875rem}.pdf-download__actions{flex-wrap:wrap;gap:.6rem;display:flex}.pdf-download__actions .action{white-space:nowrap;flex:1}@media (max-width:680px){.plan-tabs{gap:2px;padding:4px;top:8px}.plan-tabs button{padding-inline:2px;font-size:.875rem}.pdf-download,.pdf-download>.action{width:100%}.plan-day-grid{grid-template-columns:1fr}.finished-plan .page-heading h1{font-size:2rem}}@media print{.plan-day--inactive,.plan-panel--inactive{display:block!important}.plan-panel,.plan-person-day{break-before:page}.plan-person-day{max-width:none}.prep-recipe{break-before:page;border:0;padding:0}.fresh-recipe,.prep-ingredients,.prep-portions{break-inside:auto}.plan-checks{display:block}.plan-macro-grid{display:grid}.day-picker,.person-picker,.plan-tabs{display:none!important}}.workflow{min-width:0}.workflow-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.workflow-toolbar .field{min-width:min(100%,15rem)}.workflow-empty{gap:1rem;padding:clamp(1rem,3vw,2rem);display:grid}.workflow-empty p{margin:0}.backup-center{max-width:960px}.backup-center h2{margin:.35rem 0 0}.backup-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:4px 0;display:grid}.backup-stats>div{background:var(--color-surface-soft,#f3f5ee);border-radius:14px;min-width:0;padding:16px}.backup-stats dt{overflow-wrap:anywhere;font-size:.84rem}.backup-stats dd{margin:6px 0 0;font-size:1.9rem;font-weight:750;line-height:1.2}.backup-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.backup-file{box-sizing:border-box;width:100%;min-width:0;max-width:100%;display:block;overflow:hidden}.backup-file::file-selector-button{font:inherit;color:#244c3e;cursor:pointer;background:#e7eee4;border:0;border-radius:8px;margin-right:.75rem;padding:.55rem .7rem}.backup-result{background:#f5f8f1;border:1px solid #c4d6c5;border-radius:16px;gap:18px;min-width:0;padding:clamp(14px,3vw,24px);display:grid}.backup-result__heading{justify-items:start;gap:10px;display:grid}.backup-check-badge{color:#214c3c;background:#dfeedd;border-radius:999px;align-items:center;padding:6px 12px;font-size:.85rem;font-weight:700;display:inline-flex}.backup-file-details{gap:12px;margin:0;display:grid}.backup-file-details>div{grid-template-columns:135px minmax(0,1fr);gap:12px;display:grid}.backup-file-details dt{color:var(--color-text-muted,#53615b)}.backup-file-details dd{overflow-wrap:anywhere;margin:0}.backup-comparison{background:#fff;border:1px solid #d5dfd2;border-radius:12px;min-width:0;overflow:hidden}.backup-comparison__row{border-top:1px solid #e2e8de;grid-template-columns:minmax(0,1fr) 70px 80px;gap:8px;padding:11px 14px;display:grid}.backup-comparison__row>span{overflow-wrap:anywhere}.backup-comparison__row>span:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.backup-comparison__head{background:#e7eee4;border-top:0;font-size:.875rem;font-weight:700}@media (max-width:600px){.backup-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.backup-actions>.action{width:100%}.backup-file-details>div{grid-template-columns:1fr;gap:3px}.backup-comparison__row{grid-template-columns:minmax(0,1fr) 45px 58px;gap:6px;padding:10px;font-size:.85rem}.backup-center .action{white-space:normal}}.workflow-row{cursor:pointer;align-items:center;gap:1rem;padding:1rem;display:flex}.workflow-row>span{overflow-wrap:anywhere;flex:1;min-width:0}.workflow-row small,.workflow-row strong{display:block}.workflow-row small{color:var(--ink-soft);margin-top:.25rem;font-size:.875rem}.workflow-row--done{background:var(--surface-green)}.workflow-row--done>span>strong{text-decoration:line-through}.workflow-check input,.workflow-row input{width:1.35rem;height:1.35rem;accent-color:var(--ink);flex-shrink:0}.workflow-check{align-items:center;gap:.75rem;min-height:44px;display:flex}.workflow-amount{text-align:right;max-width:35%}.workflow-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.workflow-message{background:var(--surface-green);border-radius:.75rem;padding:.75rem 1rem}.workflow-text-button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;text-decoration:underline}.week-progress{gap:1.25rem;padding:clamp(1rem,3vw,1.75rem);display:grid}.week-progress__heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.week-progress__heading h2{margin:.3rem 0 .6rem;font-size:1.5rem}.week-progress__heading p{margin-bottom:0}.week-progress__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.week-progress__item{border:1px solid var(--line);min-width:0;color:var(--ink);background:var(--surface-soft);border-radius:.75rem;align-content:start;gap:.6rem;padding:1rem;text-decoration:none;display:grid}.week-progress__item:hover{border-color:var(--brand)}.week-progress__item:focus-visible{outline:3px solid var(--brand);outline-offset:3px}.week-progress__item small,.week-progress__item span{color:var(--ink-soft);font-size:.875rem;line-height:1.5}.week-progress__item progress{width:100%;height:.5rem;accent-color:var(--brand-deep)}@media (max-width:680px){.week-progress__grid{grid-template-columns:1fr}.week-progress__heading>.action{width:100%}.week-progress__item{gap:.35rem}}@media (max-width:480px){.workflow-form-grid{grid-template-columns:1fr}.workflow-row{gap:.65rem;padding:.8rem}.workflow-row .action{padding:.6rem;font-size:.875rem}.workflow-toolbar{align-items:flex-start}}.settings-fieldset{border:0;min-width:0;margin:0;padding:0}.settings-fieldset legend{margin-bottom:1rem;font-size:1.125rem;font-weight:700}.editor-fieldset{border:0;min-width:0;margin:0;padding:0}.editor-section{gap:1.25rem;min-width:0;padding:clamp(1rem,3vw,2rem);display:grid}.editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.editor-section h2{margin:0}.editor-section p{margin:0;line-height:1.6}.editor-rows{gap:1.25rem;display:grid}.editor-ingredient,.editor-step{border-top:1px solid var(--line);gap:.8rem;min-width:0;padding-top:1rem;display:grid}.editor-section .field__input{box-sizing:border-box;width:100%;min-width:0}.editor-section .field small{font-size:.875rem;line-height:1.5}@media (max-width:650px){.editor-grid{grid-template-columns:1fr}.recipe-editor .planner-actions{flex-wrap:wrap}.editor-section .action{white-space:normal}}.recipe-care-filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.recipe-care-filters a{border:1px solid var(--line);background:var(--surface);border-radius:16px;gap:6px;min-width:0;padding:18px;display:grid}.recipe-care-filters a[aria-current=page]{background:var(--surface-green);border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.recipe-care-filters strong{font-size:1.8rem;line-height:1.2}.recipe-care-filters span{overflow-wrap:anywhere;font-weight:650}.recipe-care-list{gap:12px;display:grid}.recipe-care-card{justify-content:space-between;align-items:center;gap:20px;min-width:0;padding:24px;display:flex}.recipe-care-card>div{min-width:0}.recipe-care-card h3{overflow-wrap:anywhere;margin:5px 0 8px;font-size:1.15rem}.recipe-care-card h3 a:hover{text-decoration:underline}.recipe-care-card p{margin:0;line-height:1.55}.recipe-care-card .action{flex-shrink:0}.editor-error,.recipe-care-anchor,.recipe-editor [id]{scroll-margin-top:110px}.recipe-care-panel{gap:18px;padding:clamp(18px,3vw,28px);display:grid}.recipe-care-panel h2{margin:5px 0 0;font-size:1.5rem}.recipe-care-panel p{margin:6px 0 0;line-height:1.55}.recipe-care-ingredients{gap:14px;margin:0;padding:0;list-style:none;display:grid}.recipe-care-ingredients li,.recipe-care-timing{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.recipe-care-ingredients li>div,.recipe-care-timing>div{overflow-wrap:anywhere;min-width:0}.recipe-care-ingredients .action,.recipe-care-timing .action{flex-shrink:0}.editor-jump-links{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.editor-jump-links a{text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;justify-content:center;align-items:center;min-height:48px;padding:10px 14px;font-weight:650;display:flex}.editor-jump-links a:hover{background:var(--surface-green)}.editor-section .editor-ingredient{border:1px solid var(--line);border-radius:12px;padding:0;display:block}.editor-ingredient summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:14px 16px;list-style:none;display:flex}.editor-ingredient summary::-webkit-details-marker{display:none}.editor-ingredient summary>span:first-child{overflow-wrap:anywhere;gap:4px;min-width:0;display:grid}.editor-ingredient summary small{color:var(--ink-soft);font-size:.85rem}.editor-expand-label{flex-shrink:0;font-size:.85rem}.editor-expand-label:after{content:" +";font-weight:800}.editor-ingredient[open] .editor-expand-label:after{content:" −"}.editor-ingredient__body{gap:16px;padding:0 16px 16px;display:grid}.editor-source-hint{background:#faf3e4;border-radius:10px;padding:12px 14px;font-size:.9rem;line-height:1.55}.editor-error p{margin:8px 0}.editor-error a{text-decoration:underline}.recipe-care .action,.recipe-care-panel .action,.recipe-editor .action{white-space:normal;overflow-wrap:anywhere;text-align:center}@media (max-width:650px){.recipe-care-filters{grid-template-columns:1fr;gap:8px}.recipe-care-filters a{align-items:center;gap:14px;min-height:64px;padding:14px 16px;display:flex}.recipe-care-filters strong{min-width:2.3rem;font-size:1.6rem}.recipe-care-card{flex-direction:column;align-items:stretch;gap:16px;padding:18px}.recipe-care-ingredients li,.recipe-care-timing{flex-direction:column;align-items:stretch;gap:10px}.editor-jump-links{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-jump-links a{padding:10px;font-size:.9rem}.editor-expand-label{font-size:0}.editor-expand-label:after{font-size:1.2rem}.recipe-editor .field__input{font-size:16px}.recipe-editor .planner-actions>*{flex:130px;min-height:48px}}.preference-options{gap:.6rem;max-height:24rem;padding:.75rem 0;display:grid;overflow-y:auto}.prep-overview{border-top:4px solid var(--color-primary,#3b6552);padding:1.3rem}.prep-overview h3{margin:.35rem 0 .7rem;font-size:1.5rem}.prep-overview details{margin-top:1rem}.prep-overview li{margin:.5rem 0}.prep-task{padding:1rem 1.2rem}.prep-task__heading{color:#556459;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;font-size:.85rem;display:flex}.prep-time{color:#274635;font-variant-numeric:tabular-nums;background:#edf3ed;border-radius:.5rem;padding:.3rem .6rem;font-weight:700}.prep-task .workflow-row{border:0;padding:.8rem 0 .4rem}.prep-task__details{margin-top:.65rem;font-size:.9rem}.prep-task__details summary{cursor:pointer}.prep-task__details li{margin:.4rem 0}.prep-session .workflow-toolbar{flex-wrap:wrap;gap:1rem}.prep-settings{padding:1.25rem}.prep-settings h3{margin:0 0 1rem}.prep-settings .planner-actions{margin-top:1rem}.prep-task__heading{font-size:.875rem}.target-review{background:#fffefa;border:1px solid #d6dfd8;border-radius:22px;margin:24px 0;padding:24px;scroll-margin-top:24px}.target-review__heading{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:20px;display:flex}.target-review__heading h2{margin:4px 0 12px;font-size:clamp(22px,3vw,30px)}.target-review__status{background:#eaf2eb;border-radius:12px;padding:10px 12px;font-size:14px}.target-review__status--attention{color:#694515;background:#fff0ce}.target-critical{color:#773123;background:#fff0ec;border-left:4px solid #ad3e31;border-radius:8px;padding:16px;line-height:1.6}.target-days{grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:10px;margin:20px 0;display:grid}.target-day{text-align:left;color:var(--ink);cursor:pointer;font:inherit;background:#fafbf9;border:1px solid #cbd4cd;border-top:4px solid #cbd4cd;border-radius:12px;min-width:0;padding:14px}.target-day>strong{margin-bottom:12px;font-size:14px;display:block}.target-day>span{margin-top:10px;font-size:12px;line-height:1.5;display:block}.target-day span b{font-size:13px;display:block}.target-day--critical{background:#fff1ed;border-color:#b54e3a}.target-day--attention{background:#fff7e7;border-color:#c4953c}.target-day--good{background:#f0f6f0;border-color:#578464}.target-day[aria-pressed=true]{outline-offset:2px;outline:2px solid #233d30}.target-day:focus-visible{outline-offset:3px;outline:3px solid #233d30}.target-detail{border-top:1px solid #d9dfd6;padding-top:8px}.target-detail h3{font-size:20px;line-height:1.4}.target-people{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;display:grid}.target-person{background:#f8f9f5;border-left:4px solid #cbd4cd;border-radius:14px;min-width:0;padding:18px}.nutrition-day-card--critical,.target-person--critical{border-color:#b54e3a}.nutrition-day-card--attention,.target-person--attention{border-color:#c4953c}.target-person h4{flex-wrap:wrap;justify-content:space-between;gap:8px;margin:0 0 10px;font-size:18px;display:flex}.target-person__result{margin:10px 0;font-weight:700;line-height:1.5}.nutrition-day-card--critical .target-person__result,.target-person--critical .target-person__result,.target-remaining{color:#913a28}.target-meals{margin:16px 0 0;padding:0;list-style:none}.target-meals li{border-top:1px solid #dce2d9;justify-content:space-between;gap:12px;padding:10px 0;font-size:13px;line-height:1.5;display:flex}.target-meals li>span{overflow-wrap:anywhere;min-width:0}.target-meals small{color:var(--ink-soft);font-size:11px;display:block}.target-meals b{flex-shrink:0;font-size:12px}.target-advice{margin-top:24px}.target-suggestion{background:#fff;border:1px solid #d4ddd0;border-radius:14px;margin:12px 0;padding:18px}.target-suggestion ul{padding-left:20px;font-weight:600;line-height:1.65}.target-comparison{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:14px;margin:16px 0;display:grid}.target-comparison>div{flex-direction:column;gap:6px;font-size:13px;line-height:1.5;display:flex}.target-tradeoff{color:#754415;background:#fff0db;border-radius:8px;padding:12px;font-size:13px}.proposal-card--attention{border-color:#c7a15f}.planned-recipe__amount,.proposal-portions{flex-direction:column;gap:6px;padding:12px 0;display:flex}.planned-recipe__amount span,.proposal-portions span{color:var(--ink-soft);font-size:13px;line-height:1.5}.proposal-day-alert{background:#fff5e3;border-radius:10px;flex-direction:column;gap:7px;padding:12px;font-size:12px;line-height:1.6;display:flex}.proposal-day-alert a{text-underline-offset:3px;text-decoration:underline}.planned-recipe{margin:14px 0}.planned-recipe__uses{padding-left:18px;font-size:13px;line-height:1.7}.planned-recipe .output-ingredients li{padding:8px 0}.planned-recipe .recipe-output-steps{font-size:14px}@media (max-width:600px){.target-review{border-radius:16px;padding:16px}.target-days{grid-template-columns:repeat(2,minmax(0,1fr))}.target-day{padding:11px}.target-person,.target-suggestion{padding:14px}}.proposal-day-alert button{font:inherit;color:inherit;text-align:left;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;text-decoration:underline}.proposal-day-alert button.target-remaining{color:#913a28}.target-footer-warning{color:#913a28;flex-basis:100%;font-size:13px;font-weight:700}.target-review__status--neutral{color:var(--ink-soft);background:#eef0ed}.planned-recipe .output-ingredients{grid-template-columns:1fr}.planning-progress{grid-template-columns:repeat(3,minmax(0,1fr))}.automatic-plan-summary{background:#f5f8ef;border:1px solid #d5ddcd;border-radius:20px;margin:18px 0;padding:24px}.automatic-plan-summary--attention{background:#fff8e9;border-color:#d9bc80}.automatic-plan-summary__heading{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:14px;display:flex}.automatic-plan-summary h2{max-width:700px;margin:7px 0;font-size:clamp(22px,3vw,28px);line-height:1.3}.automatic-plan-summary>p{max-width:850px;color:var(--ink-soft);font-size:14px;line-height:1.6}.automatic-plan-summary__badge{background:#fff;border-radius:24px;padding:9px 13px;font-size:13px;font-weight:700}.automatic-plan-switch{cursor:pointer;align-items:start;gap:12px;padding:15px 0;display:flex}.automatic-plan-switch input{width:20px;height:20px;accent-color:var(--brand);flex-shrink:0;margin:2px 0 0}.automatic-plan-switch span{flex-direction:column;gap:6px;display:flex}.automatic-plan-switch small{color:var(--ink-soft);max-width:780px;line-height:1.55}.automatic-adjustments,.automatic-open-days{gap:8px;padding:0;list-style:none;display:grid}.automatic-adjustments li,.automatic-open-days li{border-bottom:1px solid #dcded0;flex-direction:column;gap:5px;padding:9px 0;font-size:13px;line-height:1.5;display:flex}.automatic-details-button{margin-top:14px}.swap-incompatible{background:#fff3eb;border-radius:10px;flex-direction:column;gap:8px;margin:8px 0;padding:14px;display:flex}.swap-incompatible span{color:#86412f;font-size:12px;line-height:1.6}#tagesdetails{scroll-margin-top:20px}#tagesdetails .target-review{margin:14px 0 0}.recipe-import .card{padding:clamp(18px,3vw,30px)}.import-modes{flex-wrap:wrap;gap:10px;display:flex}.import-modes [aria-pressed=true]{background:var(--brand,#41643e);color:#fff;border-color:var(--brand,#41643e)}.import-upload{background:#f7f9f2;border:2px dashed #adbaa4;border-radius:16px;padding:22px}.import-upload input{max-width:100%;font:inherit}.import-text+small,.import-upload small{line-height:1.6}.import-shots{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;padding:0;list-style:none;display:grid}.import-shots li{border:1px solid #dce3da;border-radius:14px;flex-direction:column;gap:12px;min-width:0;padding:12px;display:flex}.import-shots img{object-fit:contain;background:#eff1ed;border-radius:8px;width:100%;height:190px}.import-shots span{overflow-wrap:anywhere;font-size:13px}.import-shots .action{padding:8px;font-size:12px}.import-note{background:#fff9e9;border:1px solid #e2d4aa;border-radius:16px;padding:20px 24px;line-height:1.65}.import-note p{margin:.5rem 0}.import-note ul{margin:.7rem 0;padding-left:20px}.import-note li+li{margin-top:6px}.import-status{background:#eef4e9;border-radius:10px;padding:12px 16px;font-size:14px}.import-preview{outline-offset:5px;scroll-margin-top:24px}.suggestion-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.suggestion-card{flex-direction:column;gap:13px;min-width:0;padding:24px;display:flex}.suggestion-card h3{margin:0;font-size:23px;line-height:1.3}.suggestion-card p{margin:0;font-size:14px;line-height:1.65}.suggestion-card .recipe-actions{margin-top:auto;padding-top:8px}.suggestion-card__adaptation{background:#f3f5ee;border-radius:10px;padding:12px}.suggestion-card__meta{color:var(--ink-soft);justify-content:space-between;gap:12px;font-size:12px;display:flex}.suggestion-nav{flex-wrap:wrap;gap:10px;display:flex}.suggestion-section{scroll-margin-top:24px}@media (max-width:650px){.suggestion-grid{grid-template-columns:1fr}.suggestion-card{padding:20px}.import-note{padding:16px}.import-shots{grid-template-columns:1fr}}@media (max-width:600px){.automatic-plan-summary{border-radius:16px;padding:18px}.automatic-plan-summary__badge{font-size:12px}}.prep-timings{border-top:1px solid var(--border,#dce3da);padding-top:1rem}.prep-timings>summary{cursor:pointer;font-weight:700}.prep-timings__recipe{background:var(--surface,#fff);border:1px solid var(--border,#dce3da);border-radius:.8rem;padding:1rem}.prep-timings__recipe>summary{cursor:pointer;overflow-wrap:anywhere}.prep-timings__recipe>summary span{color:var(--muted,#526155);margin:.4rem 0 0 1rem;font-size:.85rem;display:block}.prep-timings__step{border-top:1px solid var(--border,#dce3da);margin-top:1.2rem;padding-top:.8rem}.prep-timings__step legend{padding-right:.5rem;font-weight:700}.prep-timings__step>p{overflow-wrap:anywhere}.prep-timings__fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;display:grid}.prep-timings__source{color:var(--muted,#526155);flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;margin-top:.65rem;display:flex}.prep-timings .planner-actions{flex-wrap:wrap;margin-top:1rem}.prep-timings .action{white-space:normal;text-align:left}@media (max-width:650px){.prep-timings__fields{grid-template-columns:1fr}.prep-timings__recipe{padding:.8rem}}.rejected-swap{color:#69352b;background:#fff2ec;border:1px solid #d9a095;border-left:4px solid #ac4636;border-radius:.8rem;margin-top:1rem;padding:1rem;scroll-margin-block:6rem}.rejected-swap>strong{line-height:1.4;display:block}.rejected-swap p{margin:.5rem 0;line-height:1.5}.rejected-swap ul{gap:.65rem;margin:1rem 0;padding:0;list-style:none;display:grid}.rejected-swap li>*{display:block}.rejected-swap .action{white-space:normal}.import-calculation-summary{background:var(--color-surface-soft,#f1f5ec);border:1px solid var(--color-border,#dce3d5);border-radius:1rem;padding:1rem 1.2rem}.import-calculation-summary p{margin:.5rem 0}.editor-ingredient--unresolved{border-color:#a97132}.selected-recipes-card{gap:22px;padding:clamp(20px,3vw,32px)}.selected-recipes-card h2{margin:6px 0 10px}.selected-recipes-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 28px;margin:0;padding:0;list-style:none;display:grid}.selected-recipes-list li{align-items:flex-start;gap:12px;min-width:0;line-height:1.5;display:flex}.selected-recipes-number{background:#edf2e9;border-radius:50%;flex:none;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;font-weight:700;display:flex}.selected-recipes-list a{overflow-wrap:anywhere;font-weight:600}.selected-recipes-list a:hover{text-underline-offset:3px;text-decoration:underline}.selected-recipes-list small{color:var(--ink-soft);margin-top:2px;font-size:12px;display:block}@media (max-width:650px){.selected-recipes-list{grid-template-columns:1fr;gap:16px}.selected-recipes-card .action{white-space:normal}}.legacy-review{gap:.9rem;padding:clamp(1.25rem,3vw,2rem);display:grid}.legacy-review h2,.legacy-review p{margin:0}.legacy-review .action{white-space:normal;justify-self:start}.legacy-review details{overflow-wrap:anywhere}.shopping-extra-form{gap:1rem;padding:1.15rem;display:grid}.shopping-extra-form h3,.shopping-extra-form p{margin:0}.shopping-extra-form__fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:.8rem;display:grid}.shopping-extra-form__fields .field{min-width:0}.shopping-extra-form__fields button{min-height:48px}.shopping-extra-form small{color:var(--ink-soft);font-weight:400}.workflow-shopping-item{align-items:center;gap:.5rem;display:flex}.workflow-shopping-item .workflow-row{flex:1;min-width:0;margin:0}.workflow-shopping-item.workflow-row--done .workflow-row>span>strong{text-decoration:line-through}.workflow-shopping-remove{min-width:44px;min-height:44px;color:var(--danger);font:inherit;cursor:pointer;background:0 0;border:0;margin-right:.8rem;padding:.5rem}.workflow-shopping-remove:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.workflow-shopping-remove:disabled{opacity:.5;cursor:default}@media (max-width:640px){.shopping-extra-form__fields{grid-template-columns:1fr}.shopping-extra-form__fields button{width:100%}.workflow-shopping-item{flex-wrap:wrap;gap:0}.workflow-shopping-item .workflow-row{flex-basis:100%}.workflow-shopping-remove{margin:0 .5rem .5rem auto}}.recurring-shopping ul{margin:0;padding:0;list-style:none}.recurring-shopping li{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;padding:.8rem 0;display:flex}.recurring-shopping li span{gap:.2rem;display:grid}.recurring-shopping small{color:var(--ink-soft)}.workflow-shopping-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;padding:.5rem;display:flex}.workflow-shopping-actions .workflow-check{white-space:nowrap;min-height:44px;margin:0}.workflow-shopping-actions .workflow-shopping-remove{margin:0}@media (max-width:640px){.workflow-shopping-actions{justify-content:space-between;width:100%;padding:0 .9rem .6rem}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}