/* Stage 1 presentation only; calculation and storage contracts are unchanged. */
:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#f8f7f3;color:#273e33;font-size:16px;line-height:1.5;--sage:#466653;--line:#e2e6dd}button,input,select,textarea{font:inherit;min-height:44px;font-size:16px}button{border-radius:12px;padding:10px 16px;font-weight:600;border-color:#d5ddd2;background:#fffefa}button:disabled{opacity:.4;cursor:default}button:hover{background:#edf1e8}.primary,nav button.active{background:var(--sage);color:white}.primary:hover{background:#35533f}input,select,textarea{max-width:100%;min-width:0;border-radius:10px}input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b07837;outline-offset:3px}header{background:#fffefb;padding:env(safe-area-inset-top) 40px 0;border-color:var(--line)}.brand{align-items:center;font:29px Georgia,serif}.brand-mark{display:grid;place-items:center;background:var(--sage);color:#fffef7;width:52px;height:52px;border-radius:16px;font:34px Georgia,serif}.brand small{font:9px system-ui;letter-spacing:2px}.pill{font-size:12px;letter-spacing:0;background:#f0f3eb;border:0;color:#637168}.shell{grid-template-columns:210px minmax(0,1fr);max-width:1680px}aside{padding:32px 18px;border-color:var(--line)}nav button{display:flex;align-items:center;gap:12px;font-size:14px}svg{width:22px;height:22px;flex-shrink:0}.aside-note{font-size:13px;margin:60px 16px}main{padding:24px 32px 60px}.notice{padding:15px 18px;border:1px solid #e0e7d8;background:#edf1e6;border-radius:14px;font-size:14px;color:#52614a}main>.notice{background:none;border:0;padding:0;font-size:12px;color:#69746b;margin-bottom:28px}.eyebrow{font-size:11px;font-weight:700;color:#6e7c5f}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.2}h1{font-size:clamp(30px,3vw,44px);letter-spacing:-1.2px;margin:10px 0 12px}h2{font-size:26px}h3{font-size:20px}.muted,small{color:#637168}small{font-size:13px}.stats{grid-template-columns:repeat(3,minmax(0,1fr));margin:28px 0 12px}.stat,.panel{background:#fffefb;border-color:var(--line);border-radius:20px;box-shadow:0 4px 18px #243a2a04}.stat strong{font:28px Georgia,serif;letter-spacing:-.5px}.stat small{display:block}.toolbar{margin:26px 0 18px}.days{gap:12px}.day{min-width:0;background:#fffefb;border-color:var(--line);border-radius:18px}.day-title{padding:17px;background:#eaf0e3;display:flex;justify-content:space-between;align-items:center;gap:8px;font:20px Georgia,serif}.day-title small{font:10px system-ui}.meal{padding:18px 14px;border-color:var(--line);min-height:244px;display:flex;flex-direction:column;gap:10px}.meal>small{font-size:10px;letter-spacing:1.4px;color:#7b7958;font-weight:700}.meal h3{font-size:18px;line-height:1.35;margin:0;min-height:72px;overflow-wrap:anywhere}.meal .row{gap:6px;margin-top:auto}.meal .row button{font-size:12px;padding:9px 10px;flex:1}.serving-control{display:flex;align-items:center;justify-content:space-between;gap:4px;font-size:12px}.stepper{display:flex;align-items:center;border:1px solid #d8e0d1;border-radius:10px;overflow:hidden;background:white}.stepper button{border:0;border-radius:0;padding:0;width:44px;min-width:44px;font-size:20px;background:#f4f6ef}.stepper input{width:46px;border:0;padding:0;text-align:center;border-radius:0;-moz-appearance:textfield}.stepper input::-webkit-inner-spin-button{appearance:none}.footer-action{background:#e8eedd;border:1px solid #dce5d2;padding:22px;border-radius:18px}.footer-action small{display:block;margin-top:5px}.grid{grid-template-columns:repeat(auto-fit,minmax(min(270px,100%),1fr));gap:18px}.recipe-card{overflow:hidden}.recipe-art{height:88px;display:flex;align-items:center;justify-content:space-between;padding:20px;background:#eaf0e1;margin:-22px -22px 20px;color:#526846}.recipe-art svg{width:44px;height:44px;stroke-width:1.2}.recipe-art span{font-size:11px;letter-spacing:1.8px;text-transform:uppercase}.recipe-art.lunch{background:#f1ecdc;color:#806c3f}.recipe-art.dinner{background:#e4ede7;color:#466653}.recipe-art.snacks{background:#f3e8dd;color:#977248}.recipe-card h3{min-height:48px}.recipe-card .row{margin-top:20px}.recipe-card .row button{font-size:14px;flex:1}.list-item{gap:14px;padding:16px 0;border-color:var(--line)}.list-item:last-child{border-bottom:0}.list-item .name{min-width:0;overflow-wrap:anywhere}.list-item input[type=checkbox]{appearance:none;width:44px;min-width:44px;height:44px;padding:0;cursor:pointer;border:2px solid #bac8b2;border-radius:14px;display:grid;place-content:center}.list-item input[type=checkbox]:checked{background:var(--sage);border-color:var(--sage)}.list-item input[type=checkbox]:checked:after{content:'✓';color:white;font-size:26px}.list-item.done .name{color:#65715f;opacity:1}.list-item.done{background:#f5f6ef}.list-item select{max-width:160px;font-size:16px}.list-item input[type=number]{width:94px}.shopping-progress{height:7px;margin:0 0 24px}.pantry-list .list-item{gap:18px}form .row>label{flex:1;min-width:120px}textarea{min-height:120px}dialog{max-height:85dvh;overflow-y:auto;border:1px solid var(--line);border-radius:24px;background:#fffefb;box-shadow:0 24px 100px #18312733}dialog::backdrop{background:#18312770;backdrop-filter:blur(3px)}dialog h2{padding-right:45px}dialog li{padding:7px 0}.choice{padding:15px}.recipe-steps{line-height:1.8}#toast{z-index:10;max-width:calc(100% - 32px);width:max-content;border-radius:14px;box-shadow:0 6px 20px #0002}.day-tabs{display:none}summary{min-height:44px;padding:10px 0}#app:focus{outline:none}
@media(min-width:761px) and (max-width:1350px){.days{grid-template-columns:repeat(3,minmax(0,1fr))}.shell{grid-template-columns:180px minmax(0,1fr)}main{padding:24px}.meal h3{min-height:48px}.meal{min-height:220px}}
@media(min-width:1351px){.serving-control{flex-wrap:wrap}.serving-control .stepper{width:100%;justify-content:space-between}.day-title small{display:none}}
@media(max-width:760px){header{height:calc(83px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 20px 0}.brand{font-size:25px;gap:10px}.brand-mark{width:43px;height:43px;font-size:29px;border-radius:13px}.brand small{font-size:7px;letter-spacing:1.5px}.pill{display:none}.shell{display:block}aside{position:fixed;bottom:0;left:0;right:0;z-index:5;padding:7px max(8px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:#fffefbf5;backdrop-filter:blur(12px);border:0;border-top:1px solid #dce2d4}nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;overflow:visible}nav button{padding:7px 2px;flex-direction:column;gap:4px;justify-content:center;min-height:56px;font-size:10px;border-radius:12px;white-space:normal}nav button.active{background:#e8efdf;color:#35563d}.aside-note{display:none}main{padding:16px max(18px,env(safe-area-inset-right)) calc(112px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}main>.notice{font-size:11px;margin-bottom:26px}h1{font-size:34px;line-height:1.12}h2{font-size:24px}#app>p.muted{font-size:14px;margin-bottom:22px}.stats{grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.stat{padding:16px;border-radius:17px}.stat:first-child{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 12px}.stat:first-child strong{margin:0;font-size:25px}.stat:first-child input,.stat:first-child small:last-child{grid-column:1/-1}.stat strong{display:block;font-size:23px;line-height:1.25;margin:8px 0}.stat small{font-size:11px}.toolbar{gap:12px}.toolbar h2{width:100%;margin:0}.toolbar>button{width:100%}.day-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-bottom:14px;position:sticky;top:0;background:#f8f7f3;padding:10px 0;z-index:2}.day-tabs button{padding:12px 0;font-size:13px;min-height:48px;border-radius:12px}.day-tabs button[aria-pressed=true]{background:var(--sage);border-color:var(--sage);color:white}.days{display:block}.day{display:none;border-radius:20px}.day.selected{display:block}.day-title{padding:18px 20px}.meal{padding:20px;min-height:0;display:grid;grid-template-columns:1fr auto;gap:10px 14px}.meal>small{grid-column:1/-1;font-size:11px}.meal h3{grid-column:1/-1;min-height:0;font-size:23px;margin:0 0 5px}.meal .serving-control{grid-column:1/-1;font-size:13px}.meal .row{grid-column:1/-1;grid-row:auto;margin-top:4px}.meal .row button{font-size:14px;min-height:44px}.footer-action{padding:20px;gap:18px}.footer-action .primary{width:100%;min-height:50px}.footer-action small{font-size:12px}.panel{padding:20px;border-radius:18px}.grid{grid-template-columns:1fr}.recipe-art{margin:-20px -20px 18px}.recipe-card h3{min-height:0;font-size:24px}.list-item{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px}.list-item .name{min-width:0}.list-item select{grid-column:2/-1;max-width:100%;width:100%;font-size:16px}.list-item button[data-remove]{grid-column:3}.list-item .name small{font-size:12px}.pantry-list .list-item{grid-template-columns:1fr 1fr;gap:12px}.pantry-list .name{grid-column:1/-1}.pantry-list input[type=number],.pantry-list select{width:100%;max-width:100%}.pantry-list select{grid-column:auto}dialog{padding:22px;max-height:calc(100dvh - 40px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}dialog .row{align-items:stretch}#ingredients .row select{flex:1;min-width:100px}#toast{bottom:calc(90px + env(safe-area-inset-bottom));font-size:14px}.grocery-tools{position:sticky;top:0;background:#f8f7f3;padding:12px 0;z-index:2}.grocery-tools>.row{width:100%;flex-wrap:nowrap}.grocery-tools select,.grocery-tools button{flex:1;min-width:0}.grocery-tools>span{font-size:14px}.notice{font-size:13px}.recipe-card .row{gap:8px}}
