:root{color-scheme:light;--bg: #f5efe4;--bg-strong: #efe4d2;--panel: rgba(255, 252, 247, .84);--panel-strong: #fffaf2;--line: rgba(88, 61, 28, .12);--text: #2b2419;--muted: #6f6250;--green: #36583d;--green-soft: #e1ecde;--gold: #c97d29;--gold-soft: #f7e0c3;--red-soft: #f3d8cf;--shadow: 0 10px 26px rgba(69, 47, 22, .06);--radius-xl: 28px;--radius-lg: 22px;--radius-md: 16px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:radial-gradient(circle at top left,rgba(246,204,135,.16),transparent 30%),radial-gradient(circle at bottom right,rgba(82,145,95,.1),transparent 24%),var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.sidebar{display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem;border-right:1px solid var(--line);background:linear-gradient(180deg,#fff9f1eb,#f2eadcd1)}.brand-block{display:flex;gap:1rem;align-items:center;padding:1rem;border-radius:var(--radius-lg);background:var(--panel);box-shadow:var(--shadow)}.brand-block__badge{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,var(--green),#507d57);color:#fff;font-weight:700}.brand-block__eyebrow,.topbar__eyebrow,.hero-panel__eyebrow,.section-card__eyebrow,.budget-rail__label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.brand-block__title{font-size:1.05rem;font-weight:700}.sidebar__nav{display:flex;flex-direction:column;gap:.5rem}.sidebar__link{display:flex;align-items:center;gap:.9rem;padding:.95rem 1rem;border-radius:999px;color:var(--text);text-decoration:none;transition:.18s ease}.sidebar__link:hover,.sidebar__link--active{background:var(--panel-strong);box-shadow:inset 0 0 0 1px #36583d14}.sidebar__icon{min-width:2.6rem;width:2.6rem;height:2.6rem;border-radius:14px;display:grid;place-items:center;background:#36583d0f;color:var(--green)}.ui-icon{width:1.1rem;height:1.1rem;flex:0 0 auto}.ui-icon--sm{width:.95rem;height:.95rem}.sidebar__footer{margin-top:auto}.sidebar__footer-card,.section-card,.hero-panel,.budget-rail,.metric-tile,.field-card,.behavior-card,.grocery-section,.pantry-card,.meal-card,.store-review-item{background:var(--panel);border:1px solid rgba(96,73,35,.08);box-shadow:var(--shadow)}.sidebar__footer-card{border-radius:var(--radius-lg);padding:1rem}.sidebar__footer-card p,.budget-rail p,.meal-row p,.meal-card p,.store-review-item p,.behavior-card p,.hero-panel p{color:var(--muted)}.app-shell__main{padding:1.4rem}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.4rem;padding:.2rem .2rem .8rem}.topbar h1,.hero-panel h2,.section-card h2{margin:.2rem 0 0}.topbar__subcopy{margin-top:.4rem;color:var(--muted)}.topbar__actions,.button-row,.section-card__actions{display:flex;flex-wrap:wrap;gap:.75rem}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:1.4rem}.content-grid__main,.page-stack{display:flex;flex-direction:column;gap:1.25rem}.hero-panel{padding:1.6rem;border-radius:var(--radius-xl);display:grid;grid-template-columns:1.3fr 1fr;gap:1rem}.hero-panel__metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.metric-tile{border-radius:var(--radius-md);padding:1rem;background:#fffcf7b8}.metric-tile__icon{width:2.25rem;height:2.25rem;display:grid;place-items:center;border-radius:12px;margin-bottom:.8rem;background:#36583d12;color:var(--green)}.metric-tile span{display:block;color:var(--muted);font-size:.8rem;margin-bottom:.35rem}.section-card{padding:1.35rem;border-radius:var(--radius-xl)}.section-card__header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.section-card__header--collapsible{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:12px;margin:-.5rem;padding:.5rem;transition:background .15s ease}.section-card__header--collapsible:hover{background:#36583d08}.section-card__header-left{min-width:0}.section-card__header-right{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.section-card__collapsed-summary{color:var(--muted);font-size:.85rem;margin-top:.25rem}.section-card__chevron{color:var(--muted);transition:transform .25s ease;flex-shrink:0}.section-card__chevron--open{transform:rotate(180deg)}.section-card__body{overflow:visible}.meal-list,.store-review-list,.bullet-list,.info-list{display:flex;flex-direction:column;gap:.9rem}.meal-row,.store-review-item,.info-list__row{display:grid;gap:1rem;align-items:center}.meal-row{grid-template-columns:62px 1fr auto;padding:1rem 0;border-top:1px solid var(--line)}.meal-row:first-child{border-top:none;padding-top:0}.meal-row--dimmed{opacity:.55}.meal-row__day{width:54px;height:54px;display:grid;place-items:center;border-radius:16px;background:var(--gold-soft);color:#7c4d15;font-weight:700}.meal-row__title-row,.pantry-card__row{display:flex;gap:.75rem;align-items:center;justify-content:space-between}.meal-row__title-row h3,.meal-card h3,.grocery-section h3,.pantry-card h3{margin:0}.meal-row__meta,.store-review-item__meta{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem}.two-up-grid,.three-up-grid,.meal-card-grid,.form-grid,.pantry-grid{display:grid;gap:1rem}.two-up-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.three-up-grid,.grocery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.meal-card-grid,.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field-card,.behavior-card,.grocery-section,.pantry-card,.meal-card,.recipe-card,.recipe-summary-card,.recipe-memory-item{border-radius:var(--radius-lg);padding:1rem}.field-card{min-height:110px}.field-card span{display:block;color:var(--muted);margin-bottom:.45rem;font-size:.82rem}.field-card--full{grid-column:1 / -1}.button{border:none;border-radius:999px;padding:.82rem 1.08rem;cursor:pointer;transition:transform .14s ease,opacity .14s ease}.button--icon{display:inline-flex;align-items:center;gap:.5rem}.button:hover{transform:translateY(-1px)}.button--primary{background:linear-gradient(135deg,var(--green),#497151);color:#fff}.button--ghost{background:#fffaf2bd;color:var(--text);box-shadow:inset 0 0 0 1px var(--line)}.button-row--end{justify-content:flex-end;margin-top:1rem}.auth-page{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.auth-card{width:min(560px,100%);background:#fffcf7e0;border:1px solid rgba(96,73,35,.08);border-radius:28px;box-shadow:var(--shadow);padding:1.6rem}.auth-card--hero h1,.onboarding-card h1{margin-top:.35rem}.auth-field{display:flex;flex-direction:column;gap:.45rem;margin-top:1rem}.auth-field span{color:var(--muted);font-size:.86rem}.auth-field input,.auth-field select{border:1px solid var(--line);border-radius:16px;padding:.85rem .95rem;background:#fffcf7eb;color:var(--text)}.auth-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.auth-submit{width:100%;margin-top:1.25rem}.auth-error{margin-top:1rem;padding:.85rem 1rem;border-radius:16px;background:var(--red-soft);color:#8f3b2c}.onboarding-card{width:min(720px,100%)}.budget-rail{border-radius:var(--radius-xl);padding:1.2rem;position:sticky;top:1.2rem;height:fit-content}.budget-rail__hero,.budget-rail__panel{padding:1rem;border-radius:var(--radius-lg);background:linear-gradient(180deg,#fffaf2f5,#f4f0e9e6);margin-bottom:1rem}.budget-rail__amount{font-size:2.5rem;font-weight:800;margin:.25rem 0 .4rem}.rail-stat,.info-list__row{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 0;border-top:1px solid var(--line)}.rail-stat span,.info-list__row span,.bullet-list div{display:inline-flex;align-items:center;gap:.55rem}.rail-stat:first-of-type,.info-list__row:first-child{border-top:none}.budget-rail__buttons{display:grid;gap:.75rem;margin-top:1rem}.budget-rail__buffer{display:inline-flex;align-items:center;gap:.45rem}.mode-pill,.tag{display:inline-flex;align-items:center;justify-content:center;padding:.34rem .7rem;border-radius:999px;font-size:.78rem;white-space:nowrap}.mode-pill.strict,.tag--stocked,.tag--matched{background:var(--green-soft);color:var(--green)}.mode-pill.balanced,.tag--low,.tag--review{background:var(--gold-soft);color:#875114}.mode-pill.flexible,.tag--out{background:var(--red-soft);color:#8f3b2c}.grocery-section ul{margin:.9rem 0 0;padding-left:1.1rem}.grocery-section li{margin-bottom:.5rem;color:var(--muted)}.meal-card__top,.meal-card__footer{display:flex;justify-content:space-between;align-items:center}.meal-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.6rem}.meal-card__day{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}.meal-card__cost{font-weight:700;color:var(--green)}.meal-card__title{margin:0 0 .5rem;font-size:1rem}.meal-card__rationale{font-size:.85rem;color:var(--muted);margin:0 0 .75rem}.meal-card__tags{display:flex;flex-wrap:wrap;gap:.4rem}.meal-card__tags .tag{background:#36583d12;color:var(--green)}.meal-card--clickable{cursor:pointer;transition:box-shadow .18s ease,transform .18s ease}.meal-card--clickable:hover{box-shadow:0 8px 22px #452f161f;transform:translateY(-2px)}.meal-card--clickable:focus-visible{outline:2px solid var(--green);outline-offset:2px}.meal-card--dimmed{opacity:.55}.meal-card--leftover{background:#f1f6eee0;border-style:dashed}.meal-card__meta-row{display:flex;flex-wrap:wrap;gap:1rem;font-size:.78rem;color:var(--muted);margin-bottom:.5rem}.plan-summary{color:var(--muted);margin:0 0 1.25rem}.plan-total{font-size:.92rem;color:var(--muted)}.plan-total strong{color:var(--green)}.generating-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#f5efe4eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:grid;place-items:center;z-index:30;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.generating-overlay__content{display:flex;flex-direction:column;align-items:center;gap:.6rem;text-align:center;padding:2rem}.generating-overlay__title{margin:0;font-size:1.6rem;font-weight:800;color:var(--text)}.generating-overlay__message{color:var(--muted);font-size:1.05rem;margin:0;min-height:1.6em;animation:msgFade .5s ease}@keyframes msgFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.generating-overlay__dots{display:flex;gap:.45rem;margin-top:.5rem}.generating-overlay__dots span{width:10px;height:10px;border-radius:50%;background:var(--green);animation:dotBounce 1.4s ease-in-out infinite}.generating-overlay__dots span:nth-child(2){animation-delay:.16s}.generating-overlay__dots span:nth-child(3){animation-delay:.32s}@keyframes dotBounce{0%,80%,to{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:scale(1.15)}}.chef-scene{position:relative;width:200px;height:220px;margin-bottom:.5rem}.chef{position:absolute;bottom:50px;left:50%;transform:translate(-50%);animation:chefBob 2.2s ease-in-out infinite}@keyframes chefBob{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-6px)}}.chef__hat{position:relative;width:56px;margin:0 auto}.chef__hat-puff{position:absolute;width:24px;height:24px;border-radius:50%;background:#fff;border:2px solid var(--line)}.chef__hat-puff:nth-child(1){left:0;top:-10px}.chef__hat-puff:nth-child(2){left:16px;top:-16px}.chef__hat-puff:nth-child(3){left:32px;top:-10px}.chef__hat-band{position:relative;top:10px;width:56px;height:16px;background:#fff;border:2px solid var(--line);border-radius:0 0 4px 4px}.chef__face{position:relative;width:48px;height:42px;margin:4px auto 0;background:#fde8c9;border:2px solid var(--line);border-radius:50% 50% 46% 46%}.chef__eye{position:absolute;width:6px;height:7px;background:var(--text);border-radius:50%;top:14px;animation:blink 3.5s ease-in-out infinite}.chef__eye--left{left:12px}.chef__eye--right{right:12px}@keyframes blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}.chef__mouth{position:absolute;width:12px;height:6px;border:2px solid var(--text);border-top:none;border-radius:0 0 50% 50%;bottom:8px;left:50%;transform:translate(-50%)}.chef__body{position:relative;width:52px;height:36px;margin:0 auto;background:#fff;border:2px solid var(--line);border-radius:6px 6px 10px 10px}.chef__body:before,.chef__body:after{content:"";position:absolute;width:6px;height:6px;background:var(--text);border-radius:50%;left:50%;transform:translate(-50%)}.chef__body:before{top:6px}.chef__body:after{top:18px}.chef__arm{position:absolute;width:14px;height:30px;background:#fff;border:2px solid var(--line);border-radius:8px;top:2px;transform-origin:top center}.chef__arm--left{left:-12px;animation:armStirLeft 1.6s ease-in-out infinite}.chef__arm--right{right:-12px;animation:armStirRight 1.6s ease-in-out infinite .4s}@keyframes armStirLeft{0%,to{transform:rotate(-8deg)}50%{transform:rotate(12deg)}}@keyframes armStirRight{0%,to{transform:rotate(8deg)}50%{transform:rotate(-12deg)}}.chef-scene__pot{position:absolute;bottom:0;left:50%;transform:translate(-50%)}.steam{position:absolute;bottom:50px;left:50%;transform:translate(-50%);width:60px;display:flex;justify-content:center;gap:10px}.steam__wisp{width:8px;height:20px;background:#583d1c0f;border-radius:50%;animation:steamRise 2s ease-in-out infinite}.steam__wisp:nth-child(2){animation-delay:.6s;height:24px}.steam__wisp:nth-child(3){animation-delay:1.2s;height:18px}@keyframes steamRise{0%{opacity:0;transform:translateY(0) scaleX(1)}50%{opacity:.7;transform:translateY(-20px) scaleX(1.4)}to{opacity:0;transform:translateY(-42px) scaleX(2)}}.chef-scene__floater{position:absolute;animation:floatAround 4s ease-in-out infinite;opacity:.7}.chef-scene__floater--1{top:20px;right:10px;animation-delay:0s}.chef-scene__floater--2{top:40px;left:10px;animation-delay:1.3s}.chef-scene__floater--3{top:10px;left:40px;animation-delay:2.6s}@keyframes floatAround{0%,to{transform:translateY(0) rotate(0);opacity:.5}25%{transform:translateY(-10px) rotate(8deg);opacity:.8}50%{transform:translateY(-4px) rotate(-4deg);opacity:.6}75%{transform:translateY(-14px) rotate(5deg);opacity:.9}}.error-text{color:#8f3b2c}.slot-picker{display:flex;gap:1.25rem;flex-wrap:wrap}.slot-picker__item{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:500}.slot-picker__item input[type=checkbox]{accent-color:var(--green);width:1.1rem;height:1.1rem}.slot-picker__hint{color:var(--muted);font-size:.78rem;font-weight:400}.skip-grid{display:grid;gap:.4rem}.skip-grid__header{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);text-align:center;padding:.4rem 0}.skip-grid__day{font-size:.82rem;font-weight:600;color:var(--text);display:flex;align-items:center}.skip-grid__cell{border:1px solid var(--line);border-radius:10px;background:#fffcf799;padding:.55rem .4rem;cursor:pointer;text-align:center;font-size:.78rem;color:transparent;transition:background .15s ease,border-color .15s ease,color .15s ease;min-height:38px}.skip-grid__cell:hover{border-color:var(--gold);background:#f7e0c333}.skip-grid__cell--skipped{background:var(--gold-soft);border-color:var(--gold);color:#875114;font-weight:600}.plan-day-list{display:flex;flex-direction:column;gap:1.25rem}.plan-day-group__label{margin:0 0 .6rem;font-size:1rem;font-weight:700;color:var(--text);padding-bottom:.35rem;border-bottom:1px solid var(--line)}.plan-day-group__meals{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem}.tag--leftover{background:var(--green-soft);color:var(--green)}.meal-status{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:600;padding:.25rem .6rem;border-radius:999px}.meal-status--skipped{background:var(--gold-soft);color:#875114}.meal-status--leftover,.meal-status--cooked{background:var(--green-soft);color:var(--green)}.meal-status--swapped{background:#e3dff3;color:#5b4699}.behavior-card--active{border-color:var(--green);box-shadow:inset 0 0 0 2px #36583d2e,var(--shadow)}.behavior-card--selectable{cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .14s ease}.behavior-card--selectable:hover{transform:translateY(-1px);box-shadow:0 6px 18px #452f161a}.behavior-card--selectable:focus-visible{outline:2px solid var(--green);outline-offset:2px}.pref-field{display:flex;flex-direction:column;gap:.4rem}.pref-field--full{grid-column:1 / -1}.pref-field__label{color:var(--muted);font-size:.82rem;font-weight:500}.pref-field__input{border:1px solid var(--line);border-radius:14px;padding:.72rem .85rem;background:#fffcf7eb;color:var(--text);font:inherit;transition:border-color .15s ease}.pref-field__input:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px #36583d1a}.pref-field__input-wrap{position:relative;display:flex;align-items:center}.pref-field__prefix{position:absolute;left:.85rem;color:var(--muted);font-weight:600;pointer-events:none}.pref-field__input-wrap .pref-field__input{padding-left:1.8rem}.tag-input{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;border:1px solid var(--line);border-radius:14px;padding:.5rem .7rem;background:#fffcf7eb;transition:border-color .15s ease;min-height:44px}.tag-input:focus-within{border-color:var(--green);box-shadow:0 0 0 3px #36583d1a}.tag-input__tags{display:flex;flex-wrap:wrap;gap:.35rem}.tag-input__tag{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .55rem;border-radius:999px;font-size:.82rem;background:var(--red-soft);color:#8f3b2c}.tag-input__remove{background:none;border:none;color:inherit;cursor:pointer;padding:0;font-size:.78rem;line-height:1;opacity:.7}.tag-input__remove:hover{opacity:1}.tag-input__field{flex:1;min-width:100px;border:none;background:transparent;font:inherit;color:var(--text);padding:.2rem 0;outline:none}.button:disabled{opacity:.6;cursor:not-allowed;transform:none}.meal-card__footer{margin:1rem 0;color:var(--muted)}.store-review-item{border-radius:var(--radius-lg);padding:1rem;grid-template-columns:1fr auto}.store-review-item__title{font-weight:700}.bullet-list div{color:var(--muted)}.recipe-summary-grid,.recipe-grid{display:grid;gap:1rem}.recipe-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.recipe-summary-card{background:#fffcf7b8}.recipe-summary-card span{display:block;color:var(--muted);font-size:.82rem;margin-bottom:.45rem}.recipe-summary-card strong{font-size:1.3rem}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-card{background:#fffcf7bd}.recipe-card__actions,.recipe-dialog__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.recipe-card h3,.recipe-memory-copy h3{margin:0 0 .45rem}.recipe-card__top,.recipe-meta-row,.recipe-memory-item,.recipe-memory-row{display:flex;justify-content:space-between;gap:.75rem}.recipe-card__top{align-items:center;margin-bottom:.9rem}.recipe-like,.recipe-meta-row span{display:inline-flex;align-items:center;gap:.4rem;color:var(--muted)}.recipe-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.recipe-fit--favorite{background:#f7d9dd;color:#8c2f44}.recipe-fit--reliable{background:var(--green-soft);color:var(--green)}.recipe-fit--stretch{background:var(--gold-soft);color:#875114}.recipe-memory-row{align-items:stretch}.recipe-memory-copy,.recipe-memory-list{flex:1}.recipe-memory-list{display:flex;flex-direction:column;gap:.75rem}.recipe-memory-item{align-items:center;background:#fffcf7b8}.recipe-memory-item__title{font-weight:700}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#221b1257;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;place-items:center;padding:1.5rem;overflow-y:auto;z-index:20}.recipe-dialog{width:min(900px,100%);max-height:calc(100vh - 3rem);overflow:auto;background:#fffaf3;border:1px solid rgba(96,73,35,.1);border-radius:28px;box-shadow:0 24px 54px #271c102e;padding:1.4rem}.recipe-dialog__header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.icon-button{width:2.6rem;height:2.6rem;border-radius:999px;border:1px solid var(--line);background:#fffaf2cc;color:var(--text);display:grid;place-items:center;cursor:pointer}.recipe-dialog__meta{display:flex;flex-wrap:wrap;gap:1rem;margin:1rem 0;color:var(--muted)}.recipe-dialog__meta span{display:inline-flex;align-items:center;gap:.4rem}.recipe-dialog__description{color:var(--muted);margin-bottom:1.1rem}.recipe-dialog__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.recipe-dialog__panel,.recipe-dialog__note{background:#fffcf7d1;border:1px solid rgba(96,73,35,.08);border-radius:20px;padding:1rem}.recipe-dialog__panel h3,.recipe-dialog__note p{margin-top:0}.recipe-dialog__panel ul,.recipe-dialog__panel ol{margin:0;padding-left:1.2rem;color:var(--muted)}.recipe-dialog__panel li+li,.recipe-dialog__panel ol li+li{margin-top:.6rem}.recipe-dialog__note{margin-top:1rem}.weekly-interview{width:min(980px,100%);max-height:calc(100vh - 3rem);overflow:auto;background:linear-gradient(180deg,#fffaf3,#fff7ed);border:1px solid rgba(96,73,35,.1);border-radius:28px;box-shadow:0 24px 54px #271c102e;padding:1.4rem}.weekly-interview__header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.weekly-interview__header h2,.weekly-interview__section h3,.weekly-interview__hero h3{margin:.15rem 0 .45rem}.weekly-interview__subcopy{color:var(--muted);margin:.2rem 0 0}.weekly-interview__progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:1.2rem 0}.weekly-interview__step{border:1px solid var(--line);background:#fffcf7cc;border-radius:18px;padding:.8rem;text-align:left;cursor:pointer;display:flex;gap:.75rem;align-items:center}.weekly-interview__step span{width:1.9rem;height:1.9rem;border-radius:999px;display:grid;place-items:center;background:#36583d14;color:var(--green);font-weight:700}.weekly-interview__step strong{font-size:.92rem}.weekly-interview__step--active{border-color:var(--green);box-shadow:inset 0 0 0 2px #36583d1f}.weekly-interview__body{display:flex;flex-direction:column;gap:1.2rem}.weekly-interview__hero{display:grid;grid-template-columns:1.3fr .7fr;gap:1rem;padding:1rem;border-radius:22px;background:#fffcf7bf;border:1px solid rgba(96,73,35,.08)}.weekly-interview__aside,.weekly-interview__summary,.weekly-interview__empty-locks{border-radius:18px;background:#fffcf7d1;border:1px solid rgba(96,73,35,.08);padding:1rem}.weekly-interview__aside p,.weekly-interview__summary p,.weekly-interview__empty-locks,.weekly-interview__hero p,.interview-card p{color:var(--muted)}.weekly-interview__section{display:flex;flex-direction:column;gap:.8rem}.interview-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.interview-card-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.interview-card{text-align:left;border:1px solid var(--line);background:#fffcf7e6;border-radius:20px;padding:1rem;cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.interview-card:hover{transform:translateY(-1px);box-shadow:0 8px 20px #452f1614}.interview-card--active{border-color:var(--green);box-shadow:inset 0 0 0 2px #36583d24}.interview-card strong{display:block;margin-bottom:.35rem}.protein-chip-list{display:flex;flex-wrap:wrap;gap:.55rem}.protein-chip{border:1px solid var(--line);background:#fffcf7eb;color:var(--text);border-radius:999px;padding:.55rem .85rem;cursor:pointer}.protein-chip--active{background:var(--green-soft);border-color:var(--green);color:var(--green);font-weight:600}.weekly-interview__textarea{min-height:110px;resize:vertical}.weekly-interview__locks-header{display:flex;justify-content:space-between;gap:1rem;align-items:center}.weekly-interview__locks{display:flex;flex-direction:column;gap:.7rem}.weekly-lock-row{display:grid;grid-template-columns:150px 140px 1fr 48px;gap:.7rem;align-items:center}.weekly-interview__footer{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-top:1.3rem;padding-top:1rem;border-top:1px solid rgba(96,73,35,.08)}.plan-builder__weekly-summary{margin:-.4rem 0 1rem;color:var(--muted);font-size:.86rem}.plan-builder__draft-note{margin:0 0 1rem;padding:.85rem 1rem;border-radius:16px;background:#fffcf7c7;border:1px solid rgba(96,73,35,.08);color:var(--muted)}.swap-meal-dialog{width:min(620px,100%);max-height:calc(100vh - 3rem);overflow:auto;background:linear-gradient(180deg,#fffaf3,#fff7ed);border:1px solid rgba(96,73,35,.1);border-radius:24px;box-shadow:0 24px 54px #271c102e;padding:1.25rem}.swap-meal-dialog__header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.swap-meal-dialog__header h2{margin:.1rem 0 .4rem}.swap-meal-dialog__subcopy{margin:0;color:var(--muted)}.swap-meal-dialog__reasons{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0}.swap-reason-chip{border:1px solid var(--line);background:#fffcf7eb;border-radius:999px;padding:.6rem .9rem;cursor:pointer}.swap-reason-chip--active{background:var(--green-soft);border-color:var(--green);color:var(--green);font-weight:600}.swap-meal-dialog__textarea{min-height:100px;resize:vertical}.swap-meal-dialog__footer{display:flex;justify-content:space-between;gap:1rem;margin-top:1rem}.share-toast{position:fixed;right:1.5rem;bottom:1.5rem;padding:.9rem 1.1rem;border-radius:999px;background:#2b2419eb;color:#fff;box-shadow:0 16px 36px #0000002e;z-index:25}@media(max-width:1180px){.content-grid{grid-template-columns:1fr}.budget-rail{position:static}}@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--line)}.hero-panel,.two-up-grid,.three-up-grid,.meal-card-grid,.form-grid,.recipe-summary-grid,.recipe-grid,.recipe-memory-row,.recipe-dialog__grid,.auth-grid,.hero-panel__metrics,.weekly-interview__progress,.interview-card-grid,.interview-card-grid--three,.weekly-interview__hero,.weekly-lock-row{grid-template-columns:1fr}}@media(max-width:680px){.app-shell__main{padding:1rem}.topbar,.section-card__header,.meal-row,.store-review-item{grid-template-columns:1fr;display:grid}.topbar{display:flex;flex-direction:column}.meal-row__meta,.store-review-item__meta{align-items:flex-start}}
