:root{--green:#174a38;--green-deep:#103829;--green-light:#e7f0e9;--yellow:#f8d66c;--bg:#f7f8f3;--card:#fff;--ink:#203b30;--muted:#68776e;--line:#e0e6dc;--red:#ae423c;--shadow:0 8px 30px #1c392309}.staples-card{border:1px solid var(--line);background:var(--card);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px;padding:22px;display:flex}.staples-intro{flex:280px;align-items:flex-start;gap:14px;min-width:0;display:flex}.staples-intro>svg{color:var(--green);flex-shrink:0;margin-top:4px}.staples-intro h2{margin-bottom:7px;font-size:1.65rem}.staples-intro p{font-size:.88rem}.staples-intro small{margin-top:5px;font-size:.76rem;display:block}.staples-actions{flex-wrap:wrap;gap:10px;display:flex}.staples-list{margin:0;padding:0;list-style:none}.staple-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:15px 0;display:flex}.staple-inclusion{cursor:pointer;flex:1;align-items:center;gap:12px;min-width:0;display:flex}.staple-inclusion>input{width:20px;height:20px;accent-color:var(--green);flex-shrink:0}.staple-inclusion span{overflow-wrap:anywhere;min-width:0}.staple-inclusion strong{text-transform:capitalize;display:block}.staple-inclusion small{color:var(--muted);margin-top:3px;font-size:.79rem;display:block}.staples-empty{text-align:center;background:var(--green-light);border-radius:12px;justify-items:center;gap:12px;padding:22px 12px;display:grid}@media (max-width:600px){.staples-card{padding:18px}.staples-actions{width:100%}.staples-actions .button{flex:auto}}.ingredient-picker{min-width:0;position:relative}.ingredient-picker>input{width:100%}.ingredient-suggestions{z-index:40;border:1px solid var(--line);background:var(--card);border-radius:12px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:hidden;box-shadow:0 12px 32px #10382926}.ingredient-suggestions-heading{color:var(--muted);background:var(--bg);justify-content:space-between;gap:12px;padding:10px 13px;font-size:.75rem;font-weight:700;display:flex}.ingredient-suggestions-heading>span{font-weight:400}.ingredient-options{overscroll-behavior:contain;max-height:min(270px,35dvh);overflow-y:auto}.ingredient-option{text-align:left;background:var(--card);width:100%;min-height:49px;color:var(--ink);border:0;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:11px 13px;display:flex}.ingredient-option:hover,.ingredient-option.highlighted{background:var(--green-light)}.ingredient-option>span{min-width:0}.ingredient-option strong{overflow-wrap:anywhere;font-size:.94rem;font-weight:600;display:block}.ingredient-option small{color:var(--muted);font-size:.73rem}.ingredient-option>small{text-align:right;flex-shrink:0;max-width:42%}.ingredient-suggestions-footer{color:var(--muted);background:var(--bg);padding:9px 13px;font-size:.75rem}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit}h1,h2,h3,h4,p{margin:0}h1,h2{letter-spacing:-.035em;font-family:Georgia,Times New Roman,serif;font-weight:400;line-height:1.1}h1{font-size:clamp(2.4rem,4vw,3.7rem)}h2{font-size:2.2rem}h3{font-size:1.2rem}img{max-width:100%;display:block}.muted{color:var(--muted)}.eyebrow{letter-spacing:.16em;margin-bottom:14px;font-size:.75rem;font-weight:700;display:block}.brand{align-items:center;gap:12px;font-family:Georgia,serif;font-size:1.6rem;display:flex}.brand-icon{width:44px;height:44px;color:var(--yellow);border:1px solid #ffffff50;border-radius:50%;place-items:center;display:grid}.welcome{grid-template-columns:1.1fr 1fr;min-height:100dvh;display:grid}.welcome-photo{background:var(--green-deep);color:#fff;flex-direction:column;justify-content:space-between;min-height:650px;padding:45px;display:flex;position:relative;overflow:hidden}.welcome-photo>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.welcome-shade{background:linear-gradient(#0f302d60 0%,#0d2d2420 30%,#0b251fea 100%);position:absolute;inset:0}.welcome-photo .brand,.welcome-copy{position:relative}.welcome-copy{padding-top:220px}.welcome-copy h1{margin-bottom:22px;font-size:clamp(3rem,5vw,5rem)}.welcome-copy p{color:#e0e9e1;font-size:1.1rem}.welcome-chips{color:#e0e9e1;flex-wrap:wrap;gap:20px;margin-top:36px;font-size:.82rem;display:flex}.welcome-chips span{align-items:center;gap:6px;display:flex}.welcome-form{justify-content:center;align-items:center;padding:50px;display:flex}.welcome-form-inner{width:100%;max-width:440px}.welcome-form h2{margin-bottom:18px}.small-logo{display:none}.setup-features{gap:25px;margin:36px 0;display:grid}.setup-features>div{color:var(--muted);align-items:flex-start;gap:16px;font-size:.9rem;display:flex}.setup-features svg{color:var(--green);flex:none;margin-top:4px}.setup-features strong{color:var(--ink);margin-bottom:3px;font-size:1rem;display:block}.notice{background:var(--green-light);border-radius:12px;padding:15px 18px;font-size:.9rem}.field{gap:7px;font-size:.9rem;font-weight:600;display:grid}.field input,.field select,.field textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:9px;outline:none;min-height:46px;padding:11px 13px;font-weight:400}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #174a3810}.form-grid{gap:18px;display:grid}.button{background:var(--green);color:#fff;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:11px 18px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.button:hover{background:var(--green-deep)}.button.secondary{border-color:var(--line);color:var(--green);background:#fff}.button.secondary:hover{background:var(--green-light)}.button.ghost{color:var(--green);background:0 0;padding-inline:8px}.button.yellow{background:var(--yellow);color:var(--green-deep)}.button.danger{color:var(--red);background:#fbeceb}.button.small{min-height:38px;padding:8px 12px;font-size:.8rem}.error{color:#97332e;background:#fbeceb;border-radius:9px;margin-block:14px;padding:12px}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.between{justify-content:space-between}.stack{gap:18px;display:grid}.spacer{margin-top:22px}.text-link{color:var(--green);background:0 0;border:0;padding:10px 0;text-decoration:underline}.full{width:100%}:focus-visible{outline-offset:3px;outline:3px solid #c99727}@media (max-width:800px){.welcome{grid-template-columns:1fr}.welcome-photo{min-height:240px;padding:25px}.welcome-copy{padding-top:45px}.welcome-copy h1{font-size:2.8rem}.welcome-copy p,.welcome-chips,.welcome-copy .eyebrow{display:none}.welcome-form{padding:32px 24px}.welcome-form h2{font-size:2rem}.welcome-photo .brand{font-size:1.3rem}.setup-features{margin:25px 0}}.intro{margin-bottom:28px}.auth-foot{color:var(--muted);margin-top:26px;font-size:.8rem}.loading-screen{flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:100dvh;display:flex}.loading-logo{background:var(--green);width:80px;height:80px;color:var(--yellow);border-radius:24px;place-items:center;display:grid}.app-shell{min-height:100dvh;display:flex}.sidebar{background:var(--green-deep);color:#fff;z-index:20;flex-direction:column;flex:none;width:236px;padding:30px 22px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar .brand{white-space:nowrap;gap:10px;font-size:1.45rem;text-decoration:none}.sidebar .brand-icon{flex:none;width:37px;height:37px}.sidebar-kitchen{border-bottom:1px solid #ffffff1c;margin:44px 12px 28px;padding-bottom:25px}.sidebar-kitchen .eyebrow{color:#abc5b7;margin-bottom:8px;font-size:.65rem}.sidebar-kitchen strong{font-size:.94rem;font-weight:500}.sidebar nav{gap:6px;display:grid}.sidebar nav button{text-align:left;color:#bfd0c5;background:0 0;border:0;border-radius:10px;align-items:center;gap:13px;min-height:48px;padding:13px 16px;font-size:.94rem;display:flex}.sidebar nav button:hover{color:#fff;background:#ffffff09}.sidebar nav button.active{background:var(--yellow);color:var(--green-deep);font-weight:700}.sidebar nav button small{background:#174a3818;border-radius:5px;margin-left:auto;padding:1px 5px;font-size:.75rem}.sidebar-bottom{margin-top:auto;padding-top:35px}.sidebar-note{color:#bfd0c5;border-bottom:1px solid #ffffff20;align-items:flex-start;gap:15px;margin-bottom:20px;padding:20px 14px;font-size:.9rem;display:flex}.household-button{color:#fff;text-align:left;background:0 0;border:0;align-items:center;gap:11px;width:100%;padding:7px 0;display:flex}.household-button strong{font-size:.88rem;display:block}.household-button small{color:#afc5b8;font-size:.7rem}.household-button>svg{margin-left:auto}.avatar{width:36px;height:36px;color:var(--green);background:#dce9dd;border:none;border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.avatar-button{cursor:pointer}.main-wrap{flex:1;min-width:0;margin-left:236px}.topbar{border-bottom:1px solid var(--line);z-index:15;background:#fbfcf9;justify-content:space-between;align-items:center;height:76px;padding:0 42px;display:flex;position:sticky;top:0}.desktop-breadcrumb{color:var(--muted);font-size:.82rem}.desktop-breadcrumb strong{color:var(--ink);margin-left:6px;font-weight:500}.sync-status{color:var(--muted);align-items:center;gap:6px;font-size:.75rem;display:flex}.sync-status.offline{color:#93611e}.main-content{max-width:1500px;margin:auto;padding:36px 42px 0}.page-heading{justify-content:space-between;align-items:center;gap:22px;margin-bottom:30px;display:flex}.page-heading h1{margin-bottom:12px;font-size:clamp(2rem,3vw,2.9rem)}.page-heading .eyebrow{color:#758172;margin-bottom:12px;font-size:.65rem}.page-heading p{font-size:.94rem}.page-heading>.button,.page-heading>.row{flex:none}.page-footer{color:#899287;border-top:1px solid var(--line);justify-content:center;align-items:center;gap:8px;margin-top:45px;padding:25px 0;font-size:.75rem;display:flex}.mobile-brand,.mobile-nav{display:none}.icon-button{width:38px;height:38px;color:var(--muted);background:0 0;border:0;border-radius:9px;flex:none;place-items:center;display:inline-grid}.icon-button:hover{background:var(--green-light);color:var(--green)}.icon-button.outlined{border:1px solid var(--line);background:#fff}.tiny{font-size:.8rem}.normal{font-weight:400}.fit{width:fit-content}.tight{gap:3px}.section-gap{margin-top:28px;margin-bottom:24px}.section-label{justify-content:space-between;align-items:center;gap:14px;margin-bottom:17px;display:flex}.section-label>.muted{font-size:.8rem}.section-label .eyebrow{color:var(--muted);margin-bottom:7px;font-size:.65rem}.badges{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.badge{text-transform:capitalize;white-space:nowrap;border-radius:6px;align-items:center;gap:4px;padding:4px 8px;font-size:.72rem;font-weight:500;display:inline-flex}.badge.easy{color:#3d652f;background:#e7f2df}.badge.medium{color:#866418;background:#fff0ce}.badge.hard{color:#9c4b2e;background:#f6e5df}.badge.neutral{color:#657263;background:#f1f3ee}.tonight-layout{grid-template-columns:1.3fr 1fr;gap:22px;display:grid}.tonight-card{background:var(--green);color:#fff;border-radius:18px;flex-direction:column;align-items:flex-start;min-height:300px;padding:30px;display:flex;position:relative;overflow:hidden}.tonight-card>.row:first-child{color:#bed2c5;width:100%}.tonight-card .eyebrow{margin:0;font-size:.65rem}.tonight-card h2{max-width:500px;margin:24px 0 14px;font-size:2.5rem}.tonight-card>p{color:#d2e0d5;max-width:480px;font-size:.94rem}.tonight-card .badges{margin-top:19px}.tonight-card .badge{color:#e1edde;background:#ffffff18}.tonight-card .badge.easy{color:#deecba;background:#aacc8420}.tonight-card .badge.done{color:#e1edde;background:#ffffff1a}.tonight-facts{color:#cee0d1;flex-wrap:wrap;gap:22px;margin-top:19px;font-size:.8rem;display:flex}.tonight-facts>span{align-items:center;gap:6px;display:flex}.button.white-outline{color:#fff;background:0 0;border-color:#ffffff40}.button.white-outline:hover{background:#ffffff12}.tired-button{color:#ceddcb;text-underline-offset:4px;background:0 0;border:0;margin-top:19px;padding:4px 0;font-size:.8rem;text-decoration:underline}.table-photo{background:#284b39;border-radius:18px;min-height:300px;position:relative;overflow:hidden}.table-photo>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.table-photo-caption{color:#fff;background:linear-gradient(#0000,#0e3028eb);flex-direction:column;gap:5px;padding:55px 26px 23px;display:flex;position:absolute;bottom:0;left:0;right:0}.table-photo-caption .eyebrow{letter-spacing:.15em;color:#d6e1d2;margin:0;font-size:.62rem}.table-photo-caption strong{font-family:Georgia,serif;font-size:1.6rem;font-weight:400}.table-photo-caption>span:last-child{color:#d6e1d2;font-size:.78rem}.quick-links{grid-template-columns:repeat(3,1fr);gap:17px;margin:22px 0 34px;display:grid}.quick-links>button{border:1px solid var(--line);text-align:left;color:var(--ink);background:#fff;border-radius:12px;align-items:center;gap:13px;padding:18px;display:flex}.quick-links>button:hover{border-color:#adbcaa}.quick-icon{background:#eef3e8;border-radius:10px;flex:none;place-items:center;width:40px;height:40px;display:grid}.quick-icon>svg{width:19px}.quick-links strong{font-size:.86rem;display:block}.quick-links small{color:var(--muted);margin-top:3px;font-size:.74rem;display:block}.recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.recipe-card{border:1px solid var(--line);min-width:0;box-shadow:var(--shadow);background:#fff;border-radius:13px;flex-direction:column;padding:18px;display:flex}.recipe-category{color:#7a8771;text-transform:uppercase;letter-spacing:.13em;font-size:.6rem;font-weight:700}.heart-button{color:#91a08e;background:0 0;border:0;place-items:center;padding:6px;display:grid}.heart-button.active{color:#a25d4f}.recipe-open{text-align:left;color:var(--ink);background:0 0;border:0;flex:1;padding:16px 0 20px}.recipe-open h3{letter-spacing:-.025em;margin-bottom:10px;font-family:Georgia,serif;font-size:1.45rem;font-weight:400;line-height:1.22}.recipe-open p{color:var(--muted);font-size:.82rem;line-height:1.6}.recipe-open:hover h3{text-underline-offset:4px;text-decoration:underline}.recipe-card-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:10px;margin-top:18px;padding-top:13px;font-size:.68rem;display:flex}.recipe-card-footer>span{align-items:center;gap:4px;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.search-field{border:1px solid var(--line);min-width:160px;color:var(--muted);background:#fff;border-radius:9px;flex:1;align-items:center;gap:10px;padding:0 14px;display:flex}.search-field input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:none;padding:12px 0;font-size:.9rem}.toolbar>select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:9px;max-width:100%;padding:12px;font-size:.85rem}.segmented{background:#eaf0e5;border-radius:9px;flex-wrap:wrap;gap:3px;max-width:100%;padding:4px;display:inline-flex}.segmented button{color:var(--muted);background:0 0;border:0;border-radius:6px;padding:8px 15px;font-size:.83rem;font-weight:500}.segmented button.selected{color:var(--green);background:#fff;box-shadow:0 2px 5px #29463110}.empty{text-align:center;background:#ffffff75;border:1px dashed #cdd7c7;border-radius:17px;flex-direction:column;align-items:center;gap:16px;padding:55px 25px;display:flex}.empty-icon{background:var(--green-light);width:70px;height:70px;color:var(--green);border-radius:50%;place-items:center;display:grid}.empty h3{font-family:Georgia,serif;font-size:1.8rem;font-weight:400}.empty p{max-width:480px;font-size:.94rem}.empty>.button,.empty>.row{margin-top:10px}.coming-up{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;display:grid}.coming-up button{border:1px solid var(--line);text-align:left;color:var(--ink);background:#fff;border-radius:12px;flex-direction:column;gap:6px;padding:20px;display:flex}.coming-up span{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.7rem}.coming-up strong{font-size:.96rem}.coming-up small{color:var(--muted)}.week-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;display:flex}.week-toolbar strong{font-size:.94rem}.draft-banner{background:#faf0d2;border:1px solid #e8dcac;border-radius:12px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;padding:18px 22px;display:flex}.draft-banner strong{font-size:.94rem}.draft-banner p{color:#7e7152;margin-top:4px;font-size:.83rem}.draft-banner .button{flex:none}.week-layout{grid-template-columns:minmax(0,1fr) 255px;align-items:start;gap:24px;display:grid}.day-list{gap:14px;display:grid}.day-card{border:1px solid var(--line);background:#fff;border-radius:13px;gap:20px;padding:20px;display:flex}.day-card.today{border-color:#88a479;box-shadow:0 0 0 2px #88a47915}.day-card.skipped{background:#f0f2ec}.day-date{border-right:1px solid var(--line);flex-direction:column;flex:none;align-items:center;min-width:52px;padding-right:18px;display:flex}.day-date span{text-transform:uppercase;color:var(--muted);letter-spacing:.06em;font-size:.68rem}.day-date strong{font-family:Georgia,serif;font-size:1.8rem;font-weight:400;line-height:1.5}.day-date small{background:var(--green-light);color:var(--green);letter-spacing:.05em;border-radius:3px;padding:2px 4px;font-size:.55rem}.day-content{flex:1;min-width:0}.meal-title{color:var(--ink);text-align:left;background:0 0;border:0;flex:1;padding:0}.meal-title h3{font-size:1.1rem;font-weight:600;line-height:1.3}.day-content .badges{margin:10px 0}.day-reason{color:var(--muted);margin-bottom:6px;font-size:.79rem}.day-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:13px;display:flex}.summary-card{border:1px solid var(--line);background:#fff;border-radius:13px;padding:23px}.summary-card .eyebrow{color:var(--muted);font-size:.6rem}.summary-number{margin-bottom:22px;font-family:Georgia,serif;font-size:3rem}.summary-number span{color:var(--muted);margin-left:12px;font-family:Arial,sans-serif;font-size:.8rem}.summary-line{color:var(--muted);align-items:flex-start;gap:10px;margin:15px 0;font-size:.8rem;display:flex}.summary-line svg{color:var(--green);flex:none}.week-tip{background:var(--green-light);border-radius:13px;margin-top:20px;padding:25px}.week-tip h3{margin:14px 0 9px;font-family:Georgia,serif;font-size:1.5rem;font-weight:400}.week-tip p{color:#64735d;font-size:.84rem}.week-aside>.button:last-child{margin-top:14px}.generator-days{gap:12px;display:grid}.generator-day{border-bottom:1px solid var(--line);grid-template-columns:100px 1.5fr .8fr .8fr .9fr;align-items:end;gap:12px;padding:13px 0;display:grid}.generator-day>strong{align-self:center;font-size:.85rem}.generator-day .field{font-size:.72rem}.generator-day .check-line{grid-column:2/-1}.generator-day .field input,.generator-day .field select{min-height:40px;padding:9px;font-size:.8rem}.modal{background:var(--bg);width:calc(100% - 32px);max-width:570px;max-height:90dvh;color:var(--ink);border:0;border-radius:18px;padding:0;box-shadow:0 30px 100px #031d2d40}.modal.wide{max-width:900px}.modal::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#09271980}.modal-header{border-bottom:1px solid var(--line);background:var(--bg);z-index:2;justify-content:space-between;align-items:center;gap:15px;padding:22px 27px;display:flex;position:sticky;top:0}.modal-header h2{font-size:1.8rem}.modal-body{padding:26px}.modal-actions{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:8px;padding-top:20px;display:flex}.two-col,.three-col,.four-col{align-items:start;gap:16px;display:grid}.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}.four-col{grid-template-columns:repeat(4,minmax(0,1fr))}.option-field{border:0;min-width:0;margin:0;padding:0}.option-field legend{margin-bottom:10px;font-size:.9rem;font-weight:600}.check-options{flex-wrap:wrap;gap:8px;display:flex}.check-options label{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:7px;align-items:center;gap:7px;padding:8px 11px;font-size:.84rem;display:flex}.check-options label.selected{background:var(--green-light);border-color:#a8bfa0}.check-options input,.check-line input{accent-color:var(--green);flex:none;width:17px;height:17px;margin:0}.check-line{align-items:flex-start;gap:9px;font-size:.86rem;font-weight:400;display:flex}.check-line input{margin-top:3px}.ingredient-editor{gap:15px;display:grid}.ingredient-inputs{grid-template-columns:2fr .7fr .9fr 1.3fr 35px;align-items:end;gap:10px;display:grid}.ingredient-inputs .field{font-size:.74rem}.ingredient-inputs input,.ingredient-inputs select{min-width:0;padding:9px;font-size:.84rem}.step-editor{align-items:flex-start;gap:10px;display:flex}.step-editor textarea{border:1px solid var(--line);width:100%;color:var(--ink);resize:vertical;background:#fff;border-radius:9px;padding:12px;font-size:.9rem}.step-number{background:var(--green-light);width:31px;height:31px;color:var(--green);border:0;border-radius:50%;flex:none;place-items:center;margin-top:5px;font-size:.8rem;font-weight:600;display:grid}.detail-columns{grid-template-columns:.85fr 1.15fr;gap:32px;display:grid}.ingredient-list{margin:17px 0;padding:0;list-style:none}.ingredient-list li{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:11px 0;font-size:.9rem;display:flex}.ingredient-list strong{white-space:nowrap;font-size:.84rem;font-weight:500}.recipe-meta{color:var(--muted);flex-wrap:wrap;gap:20px;font-size:.84rem;display:flex}.recipe-meta span{align-items:center;gap:8px;display:flex}.portions{color:var(--muted);align-items:center;gap:5px;font-size:.7rem;display:flex}.portions input{border:1px solid var(--line);width:48px;color:var(--ink);background:#fff;border-radius:6px;padding:6px 3px}.cooking-steps{gap:22px;margin:17px 0;padding:0;list-style:none;display:grid}.cooking-steps li{align-items:flex-start;gap:13px;font-size:.9rem;line-height:1.6;display:flex}.cooking-steps .step-number{margin-top:0}.cooking-steps li.completed p{color:var(--muted);text-decoration:line-through}.family-note{background:#edf1e6;border-radius:10px;padding:18px 20px;font-size:.87rem}.family-note>strong{margin-bottom:6px;display:block}.star-button{color:#b48a29;background:0 0;border:0;padding:4px}.household-members{background:#e8efdf;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;padding:20px;display:flex}.household-members h3{font-size:1rem}.household-members p{font-size:.84rem}.invite-box{flex-basis:100%;gap:10px;font-size:.83rem;display:grid}.invite-box input{border:1px solid var(--line);background:#fff;border-radius:7px;width:100%;padding:10px;font-size:.8rem}.backup-panel{border-top:1px solid var(--line);gap:14px;padding-top:20px;display:flex}.backup-panel svg{flex:none;margin-top:3px}.backup-panel strong{font-size:.9rem}.backup-panel .text-link{font-size:.8rem}.aisle-order{margin-top:12px}.aisle-order>.row{border-bottom:1px solid var(--line);padding:7px 0}details>summary{cursor:pointer;min-height:35px;padding:7px 0;font-size:.87rem;font-weight:600;display:list-item}.pantry-summary{background:var(--green-light);border-radius:12px;align-items:center;gap:30px;margin-bottom:24px;padding:24px;display:flex}.pantry-summary>div{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.pantry-summary strong{font-family:Georgia,serif;font-size:1.8rem;font-weight:400}.pantry-summary span{font-size:.8rem}.pantry-summary>p{max-width:330px;color:var(--muted);margin-left:auto;font-size:.84rem}.pantry-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.pantry-card{border:1px solid var(--line);background:#fff;border-radius:12px;padding:20px}.pantry-card h3{text-transform:capitalize;margin:10px 0 4px;font-size:1.1rem}.pantry-card>p{font-size:.86rem}.use-first{color:#836322;background:#faf1d6;border-radius:5px;align-items:center;gap:4px;margin-top:12px;padding:4px 7px;font-size:.7rem;display:inline-flex}.stock-buttons{gap:2px;margin-top:18px;display:flex}.stock-buttons button{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:5px;flex:1;padding:7px 8px;font-size:.7rem}.stock-buttons button.selected{background:var(--green-light);color:var(--green);border-color:#afc39f;font-weight:600}.shopping-progress{background:#e8efdf;border-radius:13px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;padding:22px;display:flex}.basket-symbol{width:50px;height:50px;color:var(--green);background:#fff;border-radius:50%;place-items:center;display:grid}.grocery-layout{grid-template-columns:minmax(0,1fr) 245px;align-items:start;gap:24px;margin-top:28px;display:grid}.grocery-groups{gap:24px;display:grid}.grocery-group{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.grocery-group-title{border-bottom:1px solid var(--line);background:#fcfdf9;padding:15px 19px}.grocery-group-title h3{font-size:.87rem}.grocery-group-title>span{color:var(--muted);font-size:.72rem}.grocery-row{border-bottom:1px solid #edf0e8;align-items:center;gap:14px;padding:17px 19px;display:flex}.grocery-row:last-child{border:0}.grocery-check{color:#fff;background:#fff;border:1.5px solid #c6d3bf;border-radius:7px;flex:none;place-items:center;width:27px;height:27px;padding:3px;display:grid}.grocery-check:before{content:"";width:44px;height:44px;position:absolute}.grocery-row.in-cart .grocery-check{background:var(--green);border-color:var(--green)}.grocery-row.in-cart .grocery-name strong{color:var(--muted);text-decoration:line-through}.grocery-row.in-cart{background:#f8faf5}.grocery-name{text-align:left;color:var(--ink);background:0 0;border:0;flex:1;min-width:0;padding:0}.grocery-name strong{text-transform:capitalize;font-size:.95rem;display:block}.grocery-name>span{color:var(--muted);overflow-wrap:anywhere;margin-top:3px;font-size:.72rem;display:block}.grocery-amount{flex-direction:column;flex:none;align-items:flex-end;gap:4px;max-width:135px;display:flex}.grocery-amount strong{white-space:nowrap;font-size:.85rem;font-weight:500}.check-home{color:#8a6424;background:#fff2d9;border:0;border-radius:5px;padding:4px 7px;font-size:.65rem}.grocery-aside .summary-card p{font-size:.85rem;line-height:1.7}.purchase-items{gap:15px;display:grid}.purchase-item{border:1px solid var(--line);background:#fff;border-radius:10px;padding:17px}.purchase-item strong{text-transform:capitalize;font-size:.92rem}.purchase-quantity{color:var(--muted);align-items:center;gap:8px;font-size:.85rem;display:flex}.purchase-quantity input{border:1px solid var(--line);width:90px;max-width:100%;color:var(--ink);background:#fff;border-radius:6px;padding:8px}.purchase-item summary{color:var(--muted);margin-top:5px;font-size:.74rem}.text-warning{color:#986629!important}.notice.warning{color:#806426;background:#fbf0d6;font-size:.88rem}.notice.warning svg{vertical-align:middle;margin-right:5px}.usage-row{align-items:center;gap:10px;font-size:.84rem;display:flex}.usage-row>span:first-child{flex:1}.usage-row input{border:1px solid var(--line);border-radius:6px;width:85px;padding:8px}.usage-row>span:last-child{width:40px}.leftovers-list,.activity-list{border:1px solid var(--line);background:#fff;border-radius:12px;gap:0;padding:0 20px;display:grid}.leftovers-list>.row,.activity-list>.row{border-bottom:1px solid var(--line);padding:15px 0}.leftovers-list>.row:last-child,.activity-list>.row:last-child{border:0}.leftovers-list strong,.activity-list strong{font-size:.88rem;font-weight:500}.toast{background:var(--green-deep);color:#fff;z-index:100;border:1px solid #ffffff20;border-radius:10px;align-items:center;gap:10px;width:max-content;max-width:calc(100% - 36px);padding:13px 20px;font-size:.87rem;display:flex;position:fixed;bottom:25px;left:calc(50% + 118px);transform:translate(-50%);box-shadow:0 5px 20px #092b2535}.field textarea{resize:vertical}.error>span{flex:1;min-width:0}.error p{margin-top:6px;font-size:.85rem}@media (min-width:1500px){.main-content{padding:45px 60px 0}.recipe-open h3{font-size:1.65rem}}@media (max-width:1180px){.sidebar{width:210px;padding:28px 16px}.main-wrap{margin-left:210px}.main-content{padding:28px 28px 0}.topbar{padding:0 28px}.sidebar .brand{font-size:1.3rem}.week-layout,.grocery-layout{grid-template-columns:minmax(0,1fr)}.week-aside{grid-template-columns:1fr 1fr;gap:18px;display:grid}.week-tip{margin:0}.week-aside>.button:last-child{grid-column:1/-1;justify-self:start}.grocery-aside{display:none}.quick-links{gap:10px}.quick-links>button{gap:9px;padding:14px}.quick-icon{width:34px;height:34px}.quick-links strong{font-size:.78rem}.quick-links small{font-size:.67rem}.recipe-grid{gap:13px}.recipe-card{padding:16px}.tonight-card{padding:26px}.tonight-card h2{font-size:2.1rem}.pantry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.toast{left:calc(50% + 105px)}}@media (max-width:900px){.sidebar{width:185px;padding:25px 12px}.sidebar .brand{gap:7px;font-size:1.18rem}.sidebar .brand-icon{width:32px;height:32px}.main-wrap{margin-left:185px}.main-content{padding:27px 22px 0}.topbar{padding:0 22px}.sidebar nav button{padding:13px 12px;font-size:.88rem}.sidebar-kitchen{margin:35px 9px 24px}.tonight-layout{grid-template-columns:minmax(0,1fr)}.table-photo{display:none}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-grid .recipe-card:last-child:nth-child(3){grid-column:1/-1}.quick-links{grid-template-columns:1fr}.quick-links>button{padding:16px}.quick-links strong{font-size:.87rem}.quick-links small{font-size:.75rem}.page-heading{flex-direction:column;align-items:flex-start;gap:18px}.pantry-summary{flex-wrap:wrap;gap:15px}.pantry-summary>p{max-width:100%;margin:0}.coming-up{grid-template-columns:1fr}.toast{left:calc(50% + 92px)}.detail-columns{gap:23px}}@media (max-width:700px){.sidebar{display:none}.main-wrap{margin-left:0}.mobile-brand{align-items:center;gap:9px;font-family:Georgia,serif;font-size:1.3rem;display:flex}.mobile-brand strong{font-weight:400}.desktop-breadcrumb{display:none}.topbar{background:var(--bg);height:66px;padding:0 20px}.topbar>.row{gap:10px}.sync-status{max-width:130px;font-size:.65rem}.avatar{width:32px;height:32px;font-size:.82rem}.main-content{padding:25px 19px 75px}.page-heading{gap:16px;margin-bottom:23px}.page-heading h1{font-size:2.15rem;line-height:1.12}.page-heading p{font-size:.88rem;line-height:1.5}.page-heading .eyebrow{font-size:.61rem}.mobile-nav{border-top:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:9px 5px max(9px, env(safe-area-inset-bottom));z-index:30;background:#fcfdf9f7;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-nav button{color:#82907e;background:0 0;border:0;border-radius:8px;flex-direction:column;align-items:center;gap:4px;min-width:55px;min-height:47px;padding:4px 7px;font-size:.65rem;display:flex}.mobile-nav button.active{color:var(--green);background:var(--green-light);font-weight:700}.tonight-card{border-radius:14px;min-height:300px;padding:25px}.tonight-card h2{margin-top:22px;font-size:2.3rem;line-height:1.08}.tonight-card>p{font-size:.9rem}.tonight-facts{gap:14px;font-size:.75rem}.quick-links{gap:10px;margin-bottom:28px}.quick-links>button{border-radius:10px;padding:14px}.quick-links small{margin-top:1px}.recipe-grid{grid-template-columns:1fr}.recipe-grid .recipe-card:last-child:nth-child(3){grid-column:auto}.recipe-card{padding:19px}.recipe-open h3{font-size:1.6rem}.recipe-category{font-size:.65rem}.recipe-open p{font-size:.88rem}.recipe-card-footer,.badge{font-size:.75rem}.section-label{gap:10px}.section-label h3{font-size:1.15rem}.section-label .button{padding:8px;font-size:.82rem}.toolbar{gap:10px}.toolbar>.search-field{flex-basis:100%}.toolbar>select{flex:1;min-width:0}.toolbar .check-line{font-size:.8rem}.segmented button{padding:9px 13px;font-size:.8rem}.draft-banner{flex-direction:column;align-items:flex-start;gap:14px;padding:17px}.draft-banner .button{width:100%}.week-toolbar{gap:16px}.week-toolbar>.row{justify-content:space-between;gap:8px;width:100%}.week-toolbar strong{font-size:.8rem}.day-card{gap:12px;padding:16px 13px}.day-date{min-width:43px;padding-right:11px}.day-date strong{font-size:1.6rem}.day-date span{font-size:.61rem}.day-content .meal-title h3{font-size:1rem}.day-reason{font-size:.77rem;line-height:1.5}.day-content .badges{gap:4px}.day-content .badge{padding:4px 6px;font-size:.64rem}.day-actions{gap:5px}.day-actions .button{min-height:37px;padding:7px 9px;font-size:.7rem}.day-content>.row{flex-wrap:nowrap}.day-content .icon-button{width:31px;height:35px}.week-aside{grid-template-columns:1fr}.summary-card{padding:23px}.week-tip{display:none}.pantry-grid{grid-template-columns:1fr}.pantry-card{padding:20px}.pantry-summary{padding:19px}.pantry-summary strong{font-size:1.6rem}.stock-buttons button{min-height:38px;font-size:.8rem}.shopping-progress{flex-wrap:wrap;gap:16px;padding:18px}.shopping-progress>button{width:100%}.shopping-progress strong{font-size:.95rem}.grocery-row{gap:12px;padding:16px 14px}.grocery-name strong{font-size:.88rem}.grocery-name>span{font-size:.69rem}.grocery-amount strong{font-size:.8rem}.grocery-amount{max-width:100px}.grocery-check{width:26px;height:26px}.modal{border-radius:14px;width:calc(100% - 20px);max-height:94dvh}.modal-header{padding:18px}.modal-header h2{font-size:1.65rem}.modal-body{padding:20px 17px}.two-col,.three-col,.four-col{gap:13px}.two-col{grid-template-columns:1fr}.three-col,.four-col{grid-template-columns:repeat(2,minmax(0,1fr))}.field{font-size:.85rem}.field input,.field select,.field textarea{font-size:16px}.field small{font-size:.75rem;line-height:1.5}.check-options label{padding:9px;font-size:.8rem}.ingredient-inputs{border-bottom:1px solid var(--line);grid-template-columns:1.15fr 1fr 35px;gap:9px;padding-bottom:16px}.ingredient-inputs>.field:first-child{grid-column:1/3}.ingredient-inputs>.icon-button{grid-area:1/3}.ingredient-inputs>.field:nth-child(4){grid-column:1/3}.ingredient-inputs input,.ingredient-inputs select{font-size:16px}.generator-day{grid-template-columns:1fr 1fr;gap:12px;padding:17px 0}.generator-day>strong,.generator-day>.field:nth-child(2){grid-column:1/-1}.generator-day .check-line{grid-column:auto;align-self:center}.generator-day .field{font-size:.8rem}.generator-day .field input,.generator-day .field select{font-size:16px}.detail-columns{grid-template-columns:1fr}.recipe-meta{gap:12px;font-size:.8rem}.ingredient-list li{font-size:.9rem}.cooking-steps li{font-size:.94rem}.household-members{padding:17px}.modal-actions .button{flex:1}.step-editor{gap:8px}.step-editor textarea{font-size:16px}.step-editor .icon-button{width:28px}.toast{font-size:.82rem;bottom:86px;left:50%}.notice.warning{font-size:.8rem}.page-footer{margin-top:32px;font-size:.7rem}.error{font-size:.86rem}.leftovers-list,.activity-list{padding:0 16px}.activity-list>.row{gap:5px}.activity-list .tiny{font-size:.69rem}}@media (prefers-reduced-motion:no-preference){button,a{transition:background-color .15s,border-color .15s,color .15s}.toast{animation:.18s ease-out toast-in}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}}.badge,.button.small,.field,.generator-day .field,.ingredient-inputs .field{font-size:.875rem}.eyebrow,.recipe-category,.page-heading .eyebrow,.sidebar-kitchen .eyebrow,.tonight-card .eyebrow,.table-photo-caption .eyebrow,.summary-card .eyebrow,.section-label .eyebrow,.recipe-card-footer,.day-date span,.day-date small,.check-home,.sidebar nav button small{font-size:.75rem}.recipe-open p,.day-reason,.grocery-name>span,.coming-up small,.summary-line{font-size:.875rem}@media (max-width:700px){.day-content .badge,.day-actions .button,.mobile-nav button,.sync-status,.grocery-name>span,.check-home{font-size:.75rem}.day-content .badge{padding:5px 6px}.recipe-open p{font-size:.94rem}.generator-day .field,.stock-buttons button{font-size:.875rem}.mobile-nav button{min-width:58px}.day-date small{font-size:.65rem}.day-date{min-width:47px}}.inline-link{color:inherit;text-underline-offset:3px;font:inherit;background:0 0;border:0;padding:2px 4px 2px 0;text-decoration:underline}.inline-link+.inline-link{margin-left:6px}.recipe-source{color:var(--green);overflow-wrap:anywhere;align-items:center;gap:9px;min-height:44px;padding:10px 0;font-size:14px;font-weight:600;text-decoration:none;display:flex}.recipe-source svg{flex-shrink:0}.recipe-source small{color:var(--muted);margin-top:3px;font-size:12px;font-weight:400;display:block}.recipe-source:hover{text-decoration:underline}.recipe-heading-actions,.import-actions{flex-wrap:wrap;gap:10px;display:flex}.recipe-collections{flex-wrap:wrap;gap:12px}.recipe-collections .segmented{flex-wrap:wrap}.notice ul{margin:8px 0 0;padding-left:20px}.notice li+li{margin-top:6px}@media (max-width:600px){.recipe-heading-actions,.import-actions{width:100%}.recipe-heading-actions .button,.import-actions .button{flex:auto}.recipe-collections .segmented{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.recipe-collections .segmented button{flex:auto}}
