:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f5f6f2;color:#20241f}*{box-sizing:border-box}body{margin:0;min-width:320px}button,select,a{font:inherit}a{color:inherit}.app-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,440px);gap:20px;min-height:100vh;padding:20px;transition:grid-template-columns .18s ease}body.shopping-collapsed .app-shell{grid-template-columns:minmax(0,1fr) 72px}.planner-panel,.shopping-panel{min-width:0}.toolbar,.shopping-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.page-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.eyebrow{margin:0 0 4px;color:#66705d;font-size:.78rem;font-weight:700;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(1.8rem,3vw,3rem);line-height:1.05}h2{margin-bottom:0;font-size:1.7rem}.ghost-button,.segment{border:1px solid #cfd7c6;background:#fff;color:#263026;cursor:pointer}.ghost-button{display:inline-grid;place-items:center;min-height:40px;padding:0 14px;border-radius:8px;text-decoration:none;white-space:nowrap}.ghost-button:hover,.segment:hover{border-color:#8ca17c}.week-grid{display:grid;gap:12px}.day-column{display:grid;grid-template-columns:84px repeat(3,minmax(180px,1fr));align-items:stretch;gap:10px;padding:10px;border:1px solid #d9dfd3;border-radius:8px;background:#fff}.day-column h3{display:grid;place-items:center;margin:0;padding:10px 12px;border-right:2px solid #203824;font-size:1rem}.meal-slot{min-height:150px;padding:12px;border:1px solid #d9dfd3;border-radius:8px;background:#fbfcf8}.meal-slot label{display:block;margin-bottom:8px;color:#66705d;font-size:.8rem;font-weight:700}.meal-slot select{width:100%;min-height:38px;padding:7px 8px;border:1px solid #c8d0bf;border-radius:7px;background:#fbfcf8;color:#1e261c}.selected-card{display:grid;gap:6px;margin-bottom:10px;padding:10px;border:1px solid #cfdcc7;border-radius:8px;background:#edf6ea}.selected-card strong{line-height:1.25}.selected-card span{color:#5b7055;font-size:.82rem;line-height:1.35}.meal-slot.empty{display:grid;place-items:center;border-style:dashed;background:#eef1e9;color:#7c8574;font-size:.84rem;text-align:center}.meal-slot.carryover{border-color:#94b08a;background:#fbfcf8}.carryover-card{margin-bottom:0}.shopping-panel{position:sticky;top:20px;align-self:start;max-height:calc(100vh - 40px);padding:16px;border:1px solid #d9dfd3;border-radius:8px;background:#fff;overflow:auto}body.shopping-collapsed .shopping-panel{display:grid;place-items:start center;padding:12px 8px;overflow:hidden}body.shopping-collapsed .shopping-head{display:block;margin-bottom:0}body.shopping-collapsed .shopping-head h2,body.shopping-collapsed .shopping-head .eyebrow,body.shopping-collapsed .segmented,body.shopping-collapsed .shopping-content{display:none}.shopping-actions{display:grid;justify-items:end;gap:10px}body.shopping-collapsed .shopping-actions{justify-items:center}body.shopping-collapsed .collapse-button{width:48px;min-height:120px;padding:10px 0;border-color:#94b08a;background:#edf6ea;color:#203824;font-weight:700;writing-mode:vertical-rl;transform:rotate(180deg)}.segmented{display:inline-grid;grid-template-columns:1fr 1fr;min-width:210px;padding:3px;border:1px solid #cfd7c6;border-radius:8px;background:#f2f5ee}.segment{min-height:34px;border:0;border-radius:6px;background:transparent;font-size:.86rem}.segment.active{background:#203824;color:#fff}.shopping-summary{margin-bottom:12px;color:#66705d;font-size:.92rem}.shopping-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.shopping-item{padding:12px;border:1px solid #dde3d5;border-radius:8px;background:#fbfcf8}.shopping-item.likely{border-color:#7eaa79;background:#f0f8ec}.shopping-item.muted{color:#5f665b}.item-main,.item-meta{display:flex;justify-content:space-between;gap:12px}.item-main{align-items:baseline}.item-main strong{line-height:1.25}.item-main span{flex:0 0 auto;font-weight:700}.item-meta{margin-top:6px;color:#6f7869;font-size:.78rem;line-height:1.35}.item-meta span:last-child{text-align:right}.item-note{margin:8px 0 0;color:#7c6f3e;font-size:.78rem;line-height:1.35}.recipes-shell{min-height:100vh;padding:20px}.recipes-toolbar{margin-bottom:22px}.recipe-section{margin-bottom:28px}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid #203824}.section-heading h2{font-size:1.35rem}.section-heading span{color:#66705d;font-weight:700}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.recipe-card{display:grid;gap:14px;align-content:start;padding:14px;border:1px solid #d9dfd3;border-radius:8px;background:#fff}.recipe-card-head{display:grid;gap:8px}.recipe-card h3{margin:0;font-size:1.08rem;line-height:1.25}.recipe-meta{display:flex;flex-wrap:wrap;gap:6px}.recipe-meta span{padding:4px 8px;border:1px solid #d9dfd3;border-radius:999px;background:#fbfcf8;color:#5f665b;font-size:.78rem;font-weight:700}.ingredient-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.ingredient-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:9px 10px;border:1px solid #e0e5da;border-radius:8px;background:#fbfcf8}.ingredient-row.fresh,.ingredient-row.chilled{border-color:#a4bd98;background:#f0f8ec}.ingredient-row strong,.ingredient-row span,.ingredient-row small{display:block}.ingredient-row strong{line-height:1.25}.ingredient-row span{margin-top:4px;color:#6f7869;font-size:.78rem;line-height:1.35}.ingredient-side{text-align:right}.ingredient-side span{margin-top:0;color:#20241f;font-size:.92rem;font-weight:700;white-space:nowrap}.ingredient-side small{margin-top:4px;color:#6f7869;font-size:.72rem}@media(max-width:980px){.app-shell,body.shopping-collapsed .app-shell{grid-template-columns:1fr}.shopping-panel{position:static;max-height:none}body.shopping-collapsed .shopping-panel{min-height:auto}}@media(max-width:820px){.day-column{grid-template-columns:64px 1fr}.day-column h3{grid-row:1 / span 3}}@media(max-width:640px){.app-shell{padding:14px}.toolbar,.shopping-head{display:grid}.page-actions{justify-content:stretch}.page-actions>*{width:100%}.day-column{grid-template-columns:1fr}.day-column h3{display:block;border-right:0;border-bottom:2px solid #203824;text-align:left}.segmented{width:100%}.shopping-actions{justify-items:stretch}.recipes-shell{padding:14px}.ingredient-row{grid-template-columns:1fr}.ingredient-side{text-align:left}}
