:root{--paper:#f7f6f0;--white:#fffefa;--ink:#263e30;--muted:#737c70;--green:#315b45;--green-light:#e8eee3;--line:#e1e3d8;--peach:#f6e2cd;--gold:#f2ebce;--sage:#e4ebda;--error:#923c32}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;line-height:1.5}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default}button,a,input,select{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #88a372}button{color:inherit}a{color:var(--green)}button{background:0 0;border:0}svg{vertical-align:middle;flex-shrink:0}h1,h2,h3,p{margin:0}input,select{width:100%;min-width:0;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:10px;min-height:46px;padding:12px 13px;font-size:16px}input::placeholder{color:#969b90}label{flex-direction:column;gap:7px;font-size:13px;font-weight:600;display:flex}select{cursor:pointer}h1{letter-spacing:-1.4px;font-family:Georgia,Times New Roman,serif;font-size:44px;font-weight:400;line-height:1.15}h2{letter-spacing:-.3px;font-size:18px;font-weight:600}h3{font-size:15px}button:disabled{opacity:.47}.app-header{border-bottom:1px solid var(--line);background:#fffefacc;height:86px}.header-inner{align-items:center;gap:30px;max-width:1140px;height:100%;margin:auto;padding:0 30px;display:flex}.brand{flex-shrink:0;align-items:center;text-decoration:none;display:flex}.brand-logo{width:180px;height:auto;display:block}nav{align-items:center;gap:5px;margin-left:auto;display:flex}nav button{color:#747e71;border-radius:10px;align-items:center;gap:8px;min-height:44px;padding:11px 15px;font-size:14px;font-weight:550;display:flex}nav button[aria-current]{background:var(--green-light);color:var(--green)}nav button:hover{background:#eef0e7}.logout{margin-left:0}.main-content{max-width:1070px;min-height:calc(100dvh - 86px);margin:0 auto;padding:42px 30px 20px}.page-heading{justify-content:space-between;align-items:center;gap:22px;margin-bottom:30px;display:flex}.eyebrow{letter-spacing:1.9px;color:#6e8065;margin-bottom:12px;font-size:10px;font-weight:700}.intro{color:var(--muted);margin-top:12px;font-size:14px}.status-pill{color:#8e7654;white-space:nowrap;background:#f5efdf;border:1px solid #e8ddc8;border-radius:30px;align-items:center;gap:6px;padding:7px 11px;font-size:12px;display:flex}.status-pill.approved{color:var(--green);background:var(--green-light);border-color:#d9e3d1}.primary,.secondary{white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:45px;padding:12px 17px;font-size:13px;font-weight:600;line-height:1.4;display:inline-flex}.primary{background:var(--green);color:#fffefa}.primary:hover:not(:disabled){background:#254b37}.secondary{background:#fffefa;border:1px solid #d5dbce}.secondary:hover:not(:disabled){background:#f0f3e9}.text-button{color:var(--green);justify-content:center;align-items:center;gap:7px;min-height:40px;padding:10px 0;font-size:12px;font-weight:600;display:inline-flex}.text-button:hover{text-decoration:underline}.icon-button{border-radius:10px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.icon-button:hover:not(:disabled){background:var(--green-light)}.muted{color:var(--muted);font-size:13px}.week-navigation{justify-content:space-between;align-items:center;gap:18px;margin-bottom:17px;display:flex}.date-controls{align-items:center;gap:12px;font-size:13px;font-weight:600;display:flex}.date-dash{color:#9a9e92;padding:0 9px}.week-range-label{color:var(--muted);font-size:11px}.week-list{gap:9px;display:grid}.day-card{background:var(--white);border:1px solid var(--line);border-radius:14px;align-items:center;min-height:86px;padding:11px 16px 11px 9px;display:flex;position:relative}.day-card.unselected{background:#fffefa5e;border-style:dashed}.day-card.today{border-color:#a6ba92;box-shadow:0 0 0 1px #8ea4761f}.day-date{text-align:center;border-right:1px solid #ecece3;flex-shrink:0;width:63px;line-height:1.2;position:relative}.day-date>span{text-transform:uppercase;letter-spacing:.7px;color:var(--muted);font-size:10px;display:block}.day-date strong{font-variant-numeric:tabular-nums;margin-top:5px;font-size:23px;font-weight:500;display:block}.day-date i{background:#7d9c64;border-radius:50%;width:4px;height:4px;position:absolute;bottom:-7px;left:29px}.dinner-button{text-align:left;flex:1;align-items:center;gap:17px;min-width:0;min-height:60px;padding:0 0 0 19px;display:flex}.dinner-button:disabled{opacity:1}.dinner-button>svg:last-child{color:#8e9c87;margin-left:auto}.dinner-copy{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.dinner-copy strong{font-size:15px;font-weight:550;line-height:1.4}.dinner-copy>span{color:#92968a;font-size:11px;line-height:1.4}.empty-meal-icon{color:#9aa48e;border:1px dashed #d5dacb;border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;width:49px;height:49px;display:inline-flex}.quick-label{color:#9b8658;white-space:nowrap;background:#f5efdf;border-radius:5px;align-items:center;gap:5px;margin-right:25px;padding:4px 8px;font-size:10px;display:flex}.ingredient-prompt{color:#987744;white-space:nowrap;margin-left:5px;padding:12px;font-size:11px;font-weight:600}.approval-card{background:#edf0e4;border:1px solid #dfe5d2;border-radius:16px;align-items:center;gap:16px;margin-top:22px;padding:22px 24px;display:flex}.approval-icon{color:#6d8656;background:#dfe8d4;border-radius:50%;flex-shrink:0;place-items:center;width:47px;height:47px;display:grid}.approval-card h2{font-size:16px}.approval-card p{color:#7f8873;margin-top:5px;font-size:12px}.approval-actions{gap:8px;margin-left:auto;display:flex}.reset-rotation{margin-top:12px}.save-status{text-align:right;height:0;color:var(--muted);font-size:11px;position:relative;top:-25px}.banner{border-radius:10px;align-items:center;gap:10px;margin-bottom:18px;padding:13px 15px;font-size:12px;display:flex}.banner button{white-space:nowrap;align-items:center;margin-left:auto;font-weight:600;display:flex}.banner.warning{color:#876d3c;background:#f4ecda;border:1px solid #e8ddbd}.banner.error{color:#923c32;background:#fae8e2;border:1px solid #ebc8bb}.banner.success{color:var(--green);background:#e6eddc;border:1px solid #d3dfc5}.shopping-overview{background:#eaeee1;border-radius:15px;align-items:center;gap:15px;margin-bottom:24px;padding:21px 23px;display:flex}.shopping-overview-icon{color:#718259;background:#dfe7d1;border-radius:50%;place-items:center;width:46px;height:46px;display:grid}.shopping-overview>div{flex:1;min-width:200px}.shopping-overview strong{font-size:14px;display:block}.shopping-overview>div>span{color:#7c8770;margin-top:4px;font-size:11px;display:block}.progress{background:#dbe3ce;border-radius:10px;max-width:240px;height:4px;margin-top:10px;overflow:hidden}.progress i{background:#7b985c;height:100%;transition:width .2s;display:block}.pantry-tip{color:#7b866f;align-items:center;gap:7px;font-size:11px;display:flex}.store-filters{gap:8px;margin-bottom:22px;padding-bottom:6px;display:flex;overflow-x:auto}.store-filters button{white-space:nowrap;border:1px solid var(--line);color:#7b8375;background:#fffefa;border-radius:9px;padding:9px 13px;font-size:12px}.store-filters button.selected{background:var(--green);border-color:var(--green);color:#fff}.store-filters button span{opacity:.65;margin-left:9px;font-size:10px}.store-group{margin-bottom:25px}.store-group-heading{justify-content:space-between;align-items:center;margin:0 3px 10px;display:flex}.store-group-heading h2{font-size:15px}.store-group-heading>span{color:var(--muted);font-size:11px}.shopping-list{border:1px solid var(--line);background:var(--white);border-radius:14px;overflow:hidden}.shopping-row{border-bottom:1px solid #eaece1;align-items:center;min-height:79px;padding:10px 18px 10px 10px;display:flex}.shopping-row:last-child{border-bottom:0}.check-hit{flex-shrink:0;justify-content:center;align-items:center;width:44px;min-height:44px;position:relative}.check-hit input{opacity:0;cursor:pointer;width:20px;height:20px;min-height:0;margin:0;position:absolute}.shopping-check{background:var(--white);pointer-events:none;border:1.5px solid #a1ad98;border-radius:5px;place-items:center;width:20px;height:20px;display:grid}.shopping-check svg{visibility:hidden}.check-hit input:checked+.shopping-check{background:var(--green);border-color:var(--green);color:var(--white)}.check-hit input:checked+.shopping-check svg{visibility:visible}.check-hit input:focus-visible+.shopping-check{outline-offset:3px;outline:3px solid #88a372}.check-hit input:disabled+.shopping-check{opacity:.47}.shopping-detail{text-align:left;flex:1;align-items:center;gap:16px;min-width:0;padding:5px 0;display:flex}.shopping-name{flex:1;min-width:0;font-size:14px;font-weight:550}.shopping-name>span{color:#8c9485;white-space:nowrap;text-overflow:ellipsis;margin-top:5px;font-size:10px;font-weight:400;display:block;overflow:hidden}.shopping-quantity{white-space:nowrap;font-size:13px;font-weight:550}.shopping-detail>svg{color:#a3ab9b}.store-pill{color:#637a8e;text-align:center;white-space:nowrap;background:#e5eaf0;border-radius:20px;min-width:45px;padding:5px 8px;font-size:10px;line-height:1.2}.store-pill.coles{color:#a2645c;background:#f5e5e2}.store-pill.woolworths{color:#6b8259;background:#e5edde}.store-pill.trims{color:#947c50;background:#f3e9d9}.shopping-row.completed .shopping-name,.shopping-row.completed .shopping-quantity{color:#9ca391;text-decoration:line-through}.shopping-row.completed{background:#f9faf4}.shopping-row.completed .store-pill{opacity:.6}.at-home{margin-top:20px}.at-home summary{cursor:pointer;color:#728164;align-items:center;gap:8px;min-height:48px;padding:15px 2px;font-size:13px;list-style:none;display:flex}.at-home summary::-webkit-details-marker{display:none}.at-home .disclosure-open,.at-home .disclosure-close{margin-left:auto}.at-home .disclosure-close,.at-home[open] .disclosure-open{display:none}.at-home[open] .disclosure-close{display:block}.at-home summary>span{background:#e8eddf;border-radius:12px;padding:1px 7px;font-size:10px}.add-extra{color:#70865d;border:1px dashed #cad4bd;border-radius:11px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:49px;margin-top:20px;font-size:12px;display:flex}.add-extra:hover{background:#eef2e6}.list-note{color:#909986;justify-content:center;align-items:center;gap:7px;margin:20px 0 0;font-size:10px;display:flex}.empty-state{text-align:center;background:#fffefa66;border:1px dashed #d3dbc6;border-radius:16px;padding:50px 22px}.empty-state-icon{color:#81946c;background:#e8eedf;border-radius:50%;place-items:center;width:82px;height:82px;margin:0 auto 20px;display:grid}.empty-state h2{font:28px Georgia,serif}.empty-state p{color:var(--muted);max-width:330px;margin:10px auto 22px;font-size:13px}.search-field{border:1px solid var(--line);color:#8b9580;background:#fffefa;border-radius:11px;flex-direction:row;align-items:center;gap:10px;max-width:430px;margin-bottom:25px;padding:0 14px;display:flex}.search-field input{background:0 0;border:0;min-height:46px;padding-left:0;font-size:13px}.search-field input:focus-visible{outline:0}.search-field:focus-within{outline-offset:2px;outline:3px solid #88a372}.meal-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.meal-card{border:1px solid var(--line);text-align:left;background:#fffefa;border-radius:17px;padding:21px;transition:transform .15s,box-shadow .15s}.meal-card:hover{transform:translateY(-2px);box-shadow:0 5px 17px #243c2e09}.meal-card-top{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:18px;display:flex}.recipe-status{white-space:nowrap;color:#a0895e;background:#f4efdf;border-radius:5px;padding:4px 7px;font-size:9px}.recipe-status.ready{color:#70865a;background:#eaf0e2}.meal-card h2{margin-bottom:9px;font-size:16px}.meal-card>p{color:#8d9583;-webkit-line-clamp:2;-webkit-box-orient:vertical;height:35px;font-size:11px;line-height:1.55;display:-webkit-box;overflow:hidden}.meal-card-footer{color:#87927c;border-top:1px solid #eceee4;justify-content:space-between;align-items:center;gap:8px;margin-top:18px;padding-top:12px;font-size:9px;display:flex}.meal-card-footer>span{align-items:center;gap:5px;display:flex}.rotation-toolbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;display:flex}.segmented{background:#e9ecdf;border-radius:10px;gap:3px;padding:4px;display:flex}.segmented button{border-radius:7px;min-height:38px;padding:9px 26px;font-size:12px;font-weight:600}.segmented button.selected{background:#fffefa;box-shadow:0 1px 4px #263e3010}.rotation-card{background:var(--white);border:1px solid var(--line);border-radius:15px;padding:4px 24px}.rotation-row{border-bottom:1px solid #e9ebdf;flex-direction:row;justify-content:space-between;align-items:center;gap:20px;padding:15px 0}.rotation-row:last-child{border:0}.rotation-row>span{min-width:110px;font-size:13px;font-weight:550}.rotation-row small{color:#9a875e;margin-top:2px;font-size:10px;font-weight:400;display:block}.rotation-row select{background:#fafbf5;max-width:380px;min-height:44px;font-size:13px}.rotation-bottom{align-items:center;gap:25px;padding:25px 0;display:flex}.rotation-bottom label{min-width:220px;font-size:11px}.rotation-bottom p{color:#8a947e;max-width:350px;font-size:11px}.rotation-bottom .primary{margin-left:auto}.modal-backdrop{z-index:30;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overscroll-behavior:contain;background:#1c2b1e54;justify-content:center;align-items:center;padding:25px;display:flex;position:fixed;inset:0}.modal{background:var(--paper);border-radius:22px;width:100%;max-width:610px;max-height:88dvh;padding:24px 27px 27px;overflow:auto;box-shadow:0 20px 90px #1e302c25}.modal-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:23px;display:flex}.modal-heading h2{letter-spacing:-.6px;font:28px Georgia,serif}.modal-heading .icon-button{background:#e9ecdf}.modal .search-field{max-width:none;margin-bottom:15px}.modal form>label{margin-bottom:20px}.picker-list{flex-direction:column;gap:5px;max-height:52dvh;display:flex;overflow:auto}.picker-choice{text-align:left;border-radius:11px;align-items:center;gap:14px;min-height:66px;padding:10px 8px;display:flex}.picker-choice:hover:not(:disabled){background:#e9eedf}.picker-choice>span:nth-child(2){flex-direction:column;flex:1;gap:4px;display:flex}.picker-choice strong{font-size:13px;font-weight:550}.picker-choice small{color:#8b9581;font-size:10px}.picker-choice>svg{color:#9ca98d}.skip-choice{background:#f0f3e8;border:1px dashed #d2dac6;margin-bottom:10px}.modal-bottom{margin-top:15px}.form-section-heading{justify-content:space-between;align-items:center;margin-top:25px;display:flex}.form-hint{color:#87917d;margin:7px 0 16px;font-size:11px}.ingredient-lines{flex-direction:column;gap:9px;display:flex}.ingredient-line{grid-template-columns:minmax(100px,1fr) 77px 85px 34px;align-items:center;gap:7px;display:grid}.ingredient-line input,.ingredient-line select{min-height:43px;padding:10px;font-size:13px}.ingredient-line .icon-button{color:#9ca18f;width:34px;height:40px}.add-ingredient{min-height:40px;margin-top:13px;padding:8px 12px;font-size:12px}.rice-note{color:#7e8d6e;background:#e9eedf;border-radius:8px;margin-top:18px;padding:12px;font-size:10px}.form-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;margin-top:25px;padding-top:20px;display:flex}.form-footer>p{color:#8b9580;max-width:260px;font-size:10px}.form-two-columns{grid-template-columns:1fr 1fr;gap:15px;margin-bottom:20px;display:grid}.quantity-summary{background:#e9eedf;border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:20px;padding:16px;display:flex}.quantity-summary>span{color:#7b8a6c;font-size:12px}.quantity-summary strong{font-size:23px;font-weight:500}.have-all{margin-top:-15px;margin-bottom:18px;font-size:11px}.remaining-summary{border:1px solid var(--line);background:#fffefa;margin-top:7px}.danger{color:#a16b5d}.welcome{text-align:center;max-width:430px;margin:15vh auto 30px;padding:28px}.welcome-brand{justify-content:center;align-items:center;margin-bottom:42px;display:flex}.welcome-brand .brand-logo{width:260px;max-width:100%}.welcome h1{font-size:36px}.welcome>p{color:var(--muted);margin:18px 0;font-size:14px}.login-form{text-align:left;flex-direction:column;gap:15px;margin-top:30px;display:flex}.error-text{color:var(--error);font-size:12px}@media (min-width:1400px){.main-content{padding-top:55px}.day-card{min-height:91px}}@media (max-width:1000px){.header-inner{gap:20px}.meal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.approval-card{flex-wrap:wrap}.approval-actions{justify-content:flex-end;width:100%;margin-top:4px}.pantry-tip{max-width:160px}.rotation-bottom{flex-wrap:wrap}.rotation-bottom .primary{margin-left:0}.rotation-bottom p{flex:1;max-width:none}}@media (max-width:650px){body{font-size:14px}.app-header{height:73px}.header-inner{justify-content:space-between;padding:0 21px}.brand .brand-logo{width:160px}.header-inner nav{height:calc(69px + env(safe-area-inset-bottom));padding:7px 12px calc(7px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:20;background:#fffefaf5;border-top:1px solid #e0e4d5;justify-content:space-around;gap:8px;display:flex;position:fixed;bottom:0;left:0;right:0}.header-inner nav button{border-radius:10px;flex-direction:column;flex:1;gap:5px;max-width:100px;min-height:52px;padding:6px;font-size:9px}.header-inner nav button svg{width:21px;height:21px}.main-content{padding:29px 18px calc(98px + env(safe-area-inset-bottom));min-height:calc(100dvh - 73px)}h1{letter-spacing:-1px;font-size:34px}.eyebrow{letter-spacing:1.5px;margin-bottom:10px;font-size:8px}.intro{max-width:255px;margin-top:10px;font-size:12px;line-height:1.6}.page-heading{align-items:flex-start;gap:12px;margin-bottom:24px}.page-heading>.primary{min-height:40px;padding:10px 12px;font-size:11px}.status-pill{margin-top:23px;padding:6px 9px;font-size:10px}.week-navigation{flex-wrap:wrap;gap:5px;margin-bottom:14px}.date-controls{gap:1px;margin-left:-9px;font-size:11px}.date-controls .icon-button{width:34px;height:37px}.date-dash{padding:0 7px}.week-range-label{font-size:9px}.day-card{border-radius:13px;flex-wrap:wrap;min-height:83px;padding:10px 11px 10px 4px}.day-date{width:48px}.day-date strong{font-size:22px}.day-date>span{font-size:9px}.day-date i{left:22px}.dinner-button{gap:11px;min-height:58px;padding-left:12px}.empty-meal-icon{border-radius:11px;width:41px;height:43px}.empty-meal-icon svg{width:23px;height:23px}.dinner-copy{gap:5px}.dinner-copy strong{font-size:12px}.dinner-copy>span{font-size:9px}.dinner-button>svg:last-child{width:15px;min-width:15px}.quick-label{background:0 0;margin:0;padding:2px 4px;font-size:8px;position:absolute;bottom:8px;right:35px}.quick-label svg{width:10px}.day-card:has(.quick-label) .dinner-copy{padding-bottom:6px}.ingredient-prompt{min-height:30px;margin:0 0 0 113px;padding:3px 0;font-size:10px}.approval-card{border-radius:14px;gap:12px;margin-top:19px;padding:18px 15px}.approval-icon{width:39px;height:39px}.approval-card>div:not(.approval-actions){flex:1;min-width:0}.approval-card h2{font-size:14px}.approval-card p{font-size:10px;line-height:1.6}.approval-actions{margin-top:7px}.approval-actions>.primary{flex:1;font-size:11px}.approval-actions>.secondary{font-size:11px}.approval-card:not(.locked) .approval-actions .primary{width:100%}.reset-rotation{justify-content:center;width:100%;margin-top:7px;font-size:10px}.shopping-overview{align-items:flex-start;gap:11px;margin-bottom:19px;padding:16px 14px}.shopping-overview-icon{width:38px;height:38px}.shopping-overview>div{min-width:0}.shopping-overview strong{font-size:12px}.shopping-overview>div>span{font-size:10px}.pantry-tip{display:none}.progress{max-width:100%}.store-filters{gap:6px;margin-bottom:20px}.store-filters button{padding:8px 11px;font-size:10px}.store-filters button span{margin-left:7px}.store-group-heading h2{font-size:13px}.store-group-heading>span{font-size:10px}.shopping-row{min-height:77px;padding:10px 10px 10px 4px}.check-hit{width:36px}.check-hit input{width:18px;height:18px}.shopping-detail{flex-wrap:wrap;gap:9px;min-height:52px;padding:5px 17px 5px 0;position:relative}.shopping-name{flex-basis:calc(100% - 73px);font-size:12px}.shopping-name>span{max-width:205px;margin-top:6px;font-size:9px}.shopping-quantity{text-align:right;flex-basis:58px;font-size:12px}.shopping-detail>.store-pill{min-width:33px;padding:3px 5px;font-size:8px;position:absolute;bottom:-3px;right:17px}.shopping-detail>svg{width:13px;position:absolute;top:18px;right:-3px}.shopping-list{border-radius:12px}.list-note{text-align:center;align-items:flex-start;font-size:9px}.empty-state{padding:35px 17px}.empty-state p{font-size:12px}.empty-state h2{font-size:26px}.empty-state .secondary{font-size:11px}.search-field{margin-bottom:20px}.search-field input{font-size:12px}.meal-grid{gap:11px}.meal-card{border-radius:14px;padding:15px 12px}.meal-card-top{flex-direction:column;gap:5px;margin-bottom:15px}.recipe-status{margin-top:5px;font-size:8px}.meal-card h2{min-height:36px;margin-bottom:5px;font-size:13px;line-height:1.4}.meal-card>p{height:31px;font-size:9px}.meal-card-footer{gap:6px;margin-top:12px;padding-top:10px;font-size:8px}.meal-card-footer svg{width:12px;height:12px}.rotation-toolbar{align-items:flex-start;gap:15px}.rotation-toolbar>.muted{max-width:135px;padding-top:5px;font-size:10px}.segmented button{padding:8px 20px;font-size:11px}.rotation-card{padding:0 14px}.rotation-row{gap:10px;padding:14px 0}.rotation-row>span{min-width:72px;font-size:11px}.rotation-row small{font-size:9px}.rotation-row select{max-width:calc(100% - 85px);padding:10px;font-size:11px}.rotation-bottom{gap:15px}.rotation-bottom label{flex-basis:100%;min-width:0;font-size:11px}.rotation-bottom p{flex-basis:100%;font-size:10px;line-height:1.6}.rotation-bottom .primary{width:100%}.modal-backdrop{align-items:flex-end;padding:0}.modal{max-height:92dvh;padding:21px 20px calc(25px + env(safe-area-inset-bottom));border-radius:23px 23px 0 0;box-shadow:0 -15px 60px #1e302c20}.modal-heading{margin-bottom:20px}.modal-heading h2{font-size:25px}.modal-heading .icon-button{width:35px;height:35px}.picker-list{max-height:55dvh}.picker-choice{gap:12px;padding:9px 4px}.picker-choice strong{font-size:12px}.picker-choice small{font-size:10px}.ingredient-line{grid-template-columns:minmax(90px,1fr) 65px 68px 28px;gap:5px}.ingredient-line input,.ingredient-line select{min-height:44px;padding:9px 7px;font-size:12px}.ingredient-line .icon-button{width:28px}.form-footer{gap:14px}.form-footer>p{max-width:180px;font-size:9px}.form-footer .primary{padding:11px 14px;font-size:12px}.banner{padding:12px;font-size:11px;line-height:1.5}.banner>svg{width:18px}.welcome{margin-top:12vh}.save-status{font-size:10px;top:-21px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (max-width:650px){.dinner-copy strong{font-size:14px}.dinner-copy>span{font-size:10px}.shopping-name,.shopping-quantity{font-size:14px}.shopping-name>span{font-size:10px}.check-hit{width:44px}.meal-card h2{font-size:14px}.meal-card>p{font-size:10px}.picker-choice strong{font-size:14px}.picker-choice small{font-size:11px}}.meal-visual.is-packshot{background:#fff}.meal-visual.is-packshot img{object-fit:contain;padding:8px}.meal-visual--week.is-packshot img,.meal-visual--picker.is-packshot img{padding:4px}.meal-visual{background:var(--sage);isolation:isolate;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:hidden}.meal-visual img{object-fit:cover;object-position:center}.meal-visual--week{border-radius:12px;width:100px;height:78px}.meal-visual--picker{border-radius:10px;width:64px;height:58px}.meal-visual--card{aspect-ratio:3/2;width:100%;display:flex}.meal-visual--detail{aspect-ratio:16/7;border-radius:14px;width:100%;display:flex}.meal-placeholder{color:#71825b}.meal-placeholder.peach{background:var(--peach);color:#a7774b}.meal-placeholder.gold{background:var(--gold);color:#9b8646}.meal-placeholder.sage{background:var(--sage);color:#71825b}.meal-placeholder:after{content:"";pointer-events:none;border:1px solid #fff9;border-radius:50%;width:60%;max-width:110px;height:75%;max-height:110px;position:absolute}.day-card:has(.meal-visual){min-height:104px}.meal-card{flex-direction:column;padding:0;display:flex;overflow:hidden}.meal-card-top{width:100%;margin:0;display:block;position:relative}.meal-card .recipe-status{color:#806c43;background:#fff9e9;border:1px solid #ffffff8c;border-radius:7px;margin:0;padding:5px 9px;position:absolute;bottom:12px;left:12px;box-shadow:0 1px 8px #263e3010}.meal-card .recipe-status.ready{color:#46623b;background:#f4f8ee}.meal-card-body{flex-direction:column;flex:1;width:100%;padding:19px 20px 17px;display:flex}.meal-card h2{margin-bottom:7px;font-size:17px;line-height:1.4}.meal-card-body>p{color:#7e8875;-webkit-line-clamp:2;-webkit-box-orient:vertical;height:39px;font-size:12px;line-height:1.6;display:-webkit-box;overflow:hidden}.meal-card-footer{margin-top:17px;padding-top:12px;font-size:10px}.meal-detail-photo{margin-bottom:22px}@media (max-width:650px){.meal-visual--week{border-radius:11px;width:72px;height:72px}.meal-visual--picker{width:64px;height:58px}.day-card:has(.meal-visual){min-height:101px}.dinner-button{gap:12px}.day-date{width:44px}.day-date i{left:20px}.ingredient-prompt{margin-left:140px}.meal-grid{gap:12px}.meal-card{border-radius:14px;padding:0}.meal-card-top{margin:0}.meal-card .recipe-status{border-radius:5px;padding:4px 6px;font-size:8px;bottom:8px;left:8px}.meal-card-body{padding:13px 12px 12px}.meal-card h2{min-height:39px;margin-bottom:6px;font-size:14px}.meal-card-body>p{height:33px;font-size:10px}.meal-card-footer{margin-top:13px;padding-top:10px;font-size:9px}.meal-visual--detail{aspect-ratio:3/2}}.collection-count{color:var(--muted);justify-content:center;align-items:center;gap:7px;margin:24px 0 8px;font-size:12px;display:flex}.collection-count>span{background:var(--green-light);min-width:25px;height:25px;color:var(--green);font-variant-numeric:tabular-nums;border-radius:7px;place-items:center;padding:0 6px;font-weight:600;display:grid}@media (min-width:651px) and (max-width:800px){.header-inner{gap:12px;padding:0 21px}.brand .brand-logo{width:160px}.header-inner nav{gap:3px}.header-inner nav button{gap:6px;padding:10px 9px;font-size:12px}}
