@font-face{font-family:MaisonSerif;src:local('Georgia')}*{box-sizing:border-box} :root{--paper:#f7f7f1;--card:#fff;--ink:#26372d;--muted:#778077;--green:#304d3d;--green2:#e9eee5;--line:#e4e7dd;--orange:#b96c45;--sand:#f0e8db;--serif:Georgia,'Times New Roman',serif}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Segoe UI',Arial,sans-serif;font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,select,textarea{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ba875d;outline-offset:3px}button{border:0;color:inherit;background:transparent}a{color:var(--green)}svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;flex-shrink:0}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.2}h1{font:normal 42px/1.13 var(--serif);letter-spacing:-1.4px}h2{font:normal 26px/1.2 var(--serif);letter-spacing:-.5px}h3{font-size:15px}.muted{color:var(--muted)}.small{font-size:12px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}.btn{display:inline-flex;gap:9px;align-items:center;justify-content:center;border-radius:8px;min-height:42px;padding:10px 17px;font-weight:600;font-size:13px;border:1px solid var(--line);background:white;white-space:nowrap}.btn:hover{background:#f2f4ec;border-color:#bdc7b8}.btn.primary{background:var(--green);border-color:var(--green);color:#fff}.btn.primary:hover{background:#243c2e}.btn.soft{background:var(--green2);border-color:transparent}.btn.danger{color:#a33d36}.btn.small{min-height:34px;padding:7px 12px;font-size:12px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;border-radius:8px}.icon-btn:hover{background:var(--green2)}.row{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:16px}.spacer{flex:1}.pill{display:inline-flex;align-items:center;gap:5px;border-radius:5px;padding:4px 8px;background:#f0f3ea;color:#5e7257;font-size:10px;font-weight:650;white-space:nowrap}.pill.orange{background:#f6eee4;color:#ac7547}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:41px;height:41px;background:var(--green);color:white;font:33px var(--serif);border-radius:12px}.boot{height:100vh;display:flex;flex-direction:column;gap:18px;align-items:center;justify-content:center}.app-shell{display:grid;grid-template-columns:225px 1fr;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:225px;z-index:20;border-right:1px solid var(--line);background:#f0f1e9;display:flex;flex-direction:column;padding:32px 20px 22px}.brand{gap:11px;padding-left:9px}.brand-name{font:29px var(--serif);letter-spacing:-1px}.brand-sub{font-size:9px;color:var(--muted);letter-spacing:1.2px;text-transform:uppercase;margin-top:1px}.nav-caption{font-size:9px;color:#90978b;letter-spacing:1.5px;font-weight:700;margin:45px 14px 12px}.nav{display:flex;flex-direction:column;gap:7px}.nav button{display:flex;align-items:center;gap:11px;padding:12px 14px;text-align:left;border-radius:8px;color:#6c756a;font-size:13px}.nav button.active{background:#e1e7d9;color:var(--green);font-weight:650}.nav button:hover{background:#e6eadd}.nav .badge{margin-left:auto;font-size:10px;border-radius:5px;min-width:20px;text-align:center;padding:2px 5px;background:#d2ddc7;color:var(--green)}.side-note{padding:20px 14px;margin-top:auto;border:1px solid #dce2d2;border-radius:10px;background:#e9eddf}.side-note svg{color:#7e8b65;width:26px;height:26px;margin-bottom:10px}.side-note h3{font:19px var(--serif);margin-bottom:7px}.side-note p{font-size:11px;color:#79816d;line-height:1.7}.sidebar-bottom{border-top:1px solid #dce1d3;margin-top:22px;padding-top:17px}.avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#e2d5c2;color:#8a6c48;font:16px var(--serif)}.save-status{display:flex;align-items:center;gap:5px;font-size:10px;color:#839075}.save-status:before{content:'';width:5px;height:5px;background:#779260;border-radius:100%}.save-status.error{color:#b14d3e}.save-status.error:before{background:#b14d3e}.main{grid-column:2;min-width:0}.topbar{height:75px;padding:0 38px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px;background:#fafbf5}.breadcrumb{font-size:12px;color:#7a8274}.breadcrumb strong{font-weight:500;color:var(--green)}.topbar .date{margin-left:auto;font-size:11px;color:#7a8274}.content{padding:32px 38px 50px;max-width:1620px;margin:auto}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:28px}.page-head h1{margin-top:9px}.page-head p{margin-top:10px;color:var(--muted);font-size:13px}.head-actions{padding-top:21px;display:flex;gap:9px}.hero{display:grid;grid-template-columns:1.4fr 1fr;background:#e8eddf;border-radius:13px;overflow:hidden;min-height:210px;margin-bottom:27px;border:1px solid #e0e5d7}.hero-text{padding:25px 29px}.hero h2{font-size:31px;max-width:420px;margin:8px 0 10px}.hero p{font-size:12px;color:#75816b;max-width:345px;line-height:1.7}.hero .btn{margin-top:17px}.hero-photo{position:relative;min-height:210px;background:url('assets/pasta.jpg') center 54%/cover}.hero-photo:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#e8eddf,transparent 24%)}.photo-label{position:absolute;bottom:16px;right:16px;background:#fffef4eb;backdrop-filter:blur(5px);border-radius:7px;padding:10px 13px;max-width:220px}.photo-label .eyebrow{font-size:8px;letter-spacing:1.2px}.photo-label strong{font:17px var(--serif);display:block;margin-top:3px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:24px 0 18px}.section-head h2{font-size:25px}.week-controls{display:flex;align-items:center;gap:5px}.week-label{font-size:13px;font-weight:600;min-width:175px;text-align:center}.week-sub{font-size:10px;color:var(--muted);font-weight:400;margin-top:1px}.planner-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:15px}.legend{font-size:11px;display:flex;align-items:center;gap:7px;color:var(--muted)}.dot{width:7px;height:7px;border-radius:50%;background:#9aab86;display:inline-block}.dot.orange{background:#c78f68}.planner{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.day{min-width:0}.day-head{padding:10px 4px 14px;display:flex;align-items:center;gap:7px;justify-content:center;font-size:11px;color:#87907f}.day-head strong{font-size:14px;font-weight:600;color:#4b5948}.day.today .day-head strong{background:var(--green);color:white;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;margin:-4px}.day.weekend .day-head{color:#b6926b}.meal{border:1px solid var(--line);border-radius:9px;background:#fff;position:relative;overflow:hidden;margin-bottom:10px;min-height:156px;display:flex;flex-direction:column}.meal.empty{border-style:dashed;background:#f4f5ed;min-height:156px}.meal.empty button{display:flex;width:100%;min-height:154px;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:#a1aa95;font-size:11px}.meal.empty button:hover{background:#ecefe3;color:var(--green)}.meal.empty svg{width:25px;height:25px;stroke-width:1.3}.meal-label{position:absolute;left:9px;top:8px;font-size:8px;background:#fafbf5e8;padding:2px 5px;border-radius:3px;color:#728565;font-weight:700;text-transform:uppercase;letter-spacing:.8px;z-index:1}.meal-label.dinner{color:#aa8059}.meal-img{height:71px;width:100%;object-fit:cover;background:#dfe6d4}.meal-name{font:15px/1.25 var(--serif);padding:9px 9px 5px;text-align:left;width:100%}.meal-meta{font-size:9px;color:#919886;padding:0 9px 9px;margin-top:auto}.meal-actions{position:absolute;right:4px;bottom:3px;display:none;background:#fffc;border-radius:6px}.meal:hover .meal-actions,.meal:focus-within .meal-actions{display:flex}.meal-actions .icon-btn{width:26px;height:26px}.meal-actions svg{width:14px;height:14px}.week-foot{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:9px;background:#fff;padding:13px 17px;margin-top:8px;font-size:11px;color:#77816d}.week-foot strong{color:var(--green)}.text-btn{color:var(--green);font-weight:600;font-size:12px;display:inline-flex;gap:6px;align-items:center}.text-btn:hover{text-decoration:underline}.text-btn svg{width:16px;height:16px}.suggestions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.suggestion{border:1px solid var(--line);border-radius:10px;background:white;overflow:hidden;display:flex;min-height:105px;text-align:left;padding:0}.suggestion:hover{border-color:#9aa98c}.suggestion img{width:105px;object-fit:cover}.suggestion .body{padding:15px 13px;min-width:0}.suggestion h3{font:18px/1.2 var(--serif);margin:7px 0}.suggestion .meta{font-size:10px;color:var(--muted)}.toolbar{display:flex;align-items:center;gap:12px;margin-bottom:22px;flex-wrap:wrap}.search{position:relative;max-width:360px;min-width:200px;flex:1}.search svg{position:absolute;left:13px;top:12px;color:#9aa18f;width:18px}.search input{padding-left:40px}.input,select,textarea{width:100%;border:1px solid #dfe3d7;background:white;border-radius:7px;padding:10px 12px;color:var(--ink);min-height:42px}.input::placeholder,textarea::placeholder{color:#a0a694}.filters{display:flex;gap:5px;flex-wrap:wrap}.filter{border-radius:7px;padding:8px 13px;font-size:12px;color:#7d8576}.filter.active{background:var(--green2);color:var(--green);font-weight:650}.filter:hover{background:#eef1e6}.recipes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.recipe-card{border:1px solid var(--line);border-radius:11px;background:#fff;overflow:hidden;position:relative}.recipe-cover{display:block;width:100%;padding:0;height:170px;background:#e6ebdb;overflow:hidden}.recipe-cover img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.recipe-cover:hover img{transform:scale(1.04)}.recipe-card .favorite{position:absolute;right:12px;top:12px;background:#fffffff0;border-radius:50%;color:#7e876f}.recipe-card .favorite.on{color:#b27251}.recipe-body{padding:17px 18px 14px}.recipe-title{font:23px/1.15 var(--serif);text-align:left;padding:0}.recipe-title:hover{color:#7b8c5e}.recipe-desc{font-size:11px;color:#8b9281;margin:8px 0 14px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:33px}.recipe-info{display:flex;align-items:center;gap:12px;color:#929985;font-size:10px}.recipe-info svg{width:13px;height:13px;margin-right:3px}.card-footer{border-top:1px solid #eef0e8;margin-top:14px;padding-top:11px;display:flex;justify-content:space-between;align-items:center}.empty-state{text-align:center;padding:60px 22px;border:1px dashed #cbd4bf;border-radius:12px;background:#f1f4e9}.empty-state svg{height:38px;width:38px;color:#9eaf8e}.empty-state h2{margin:15px 0 8px}.empty-state p{color:var(--muted);max-width:440px;margin:0 auto 20px;font-size:13px}.shopping-layout{display:grid;grid-template-columns:1fr 280px;gap:25px;align-items:start}.panel{background:white;border:1px solid var(--line);border-radius:11px;padding:23px}.shopping-summary{margin-bottom:24px;padding:18px 21px;background:#e9eedf;border-radius:10px}.progress-track{height:5px;background:#d5dec9;border-radius:5px;overflow:hidden;margin-top:14px}.progress-fill{height:100%;background:#748e5c;transition:width .2s}.aisle{margin-bottom:24px}.aisle h3{font-size:12px;color:#697b5c;border-bottom:1px solid var(--line);padding:0 2px 10px;margin-bottom:3px;display:flex;align-items:center;gap:9px}.shopping-item{display:flex;align-items:center;gap:13px;border-bottom:1px solid #f0f2e9;padding:12px 2px;cursor:pointer}.shopping-item input{width:18px;height:18px;accent-color:var(--green);flex-shrink:0;cursor:pointer}.shopping-item .item-name{font-size:13px}.shopping-item .item-source{font-size:10px;color:#a1a797;margin-top:1px}.shopping-item .quantity{margin-left:auto;font-size:12px;white-space:nowrap;color:#5e6e52}.shopping-item.checked .item-name{text-decoration:line-through;color:#9ba38f}.shopping-item.checked .quantity{color:#9ba38f}.shopping-item.pantry{opacity:.62}.shopping-item .icon-btn{width:27px;height:27px;color:#9da68f}.shopping-item .icon-btn svg{width:15px;height:15px}.shopping-side .panel{margin-bottom:16px}.shopping-side h3{font:21px var(--serif);margin-bottom:10px}.shopping-side p{font-size:11px;color:#89917f;line-height:1.8;margin-bottom:15px}.shopping-side .btn{width:100%;margin-bottom:8px}.plain-list{padding:0;margin:0;list-style:none}.plain-list li{padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}.pantry-chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.pantry-chip{display:flex;align-items:center;gap:12px;background:white;border:1px solid var(--line);padding:11px 13px;border-radius:8px;font-size:13px}.pantry-chip svg{width:15px;height:15px;color:#9aa58d}.pantry-add{max-width:600px}.note{font-size:12px;color:#89937c;padding:17px 20px;border-left:3px solid #c2cfb1;background:#edf1e5;border-radius:0 7px 7px 0;margin-top:25px;line-height:1.7}.footer{font-size:10px;color:#a0a790;text-align:center;margin-top:40px;letter-spacing:.3px}dialog{padding:0;border:1px solid #dfe5d5;border-radius:15px;color:var(--ink);width:min(740px,calc(100vw - 32px));max-height:calc(100dvh - 40px);background:#fafbf5;box-shadow:0 20px 90px #23312333}dialog::backdrop{background:#24352b73;backdrop-filter:blur(4px)}.modal-head{padding:24px 28px 17px;display:flex;align-items:flex-start;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fafbf5;z-index:5}.modal-head h2{font-size:27px}.modal-head p{font-size:12px;color:var(--muted);margin-top:6px}.modal-body{padding:24px 28px}.modal-foot{padding:17px 28px;border-top:1px solid var(--line);display:flex;gap:10px;justify-content:flex-end;background:#f4f6ed;position:sticky;bottom:0;z-index:5}.field{display:block;margin-bottom:16px}.field>span{display:block;font-size:11px;font-weight:600;color:#77816b;margin-bottom:7px}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.fields.triple{grid-template-columns:repeat(3,minmax(0,1fr))}.field textarea{resize:vertical;min-height:90px}.ingredients-editor{display:flex;flex-direction:column;gap:8px}.ingredient-edit{display:grid;grid-template-columns:minmax(100px,2fr) 65px 100px minmax(100px,1.4fr) 30px;gap:7px;align-items:center}.ingredient-edit .input,.ingredient-edit select{font-size:11px;padding:8px;min-height:38px}.form-label{font-size:12px;font-weight:600;margin:9px 0 12px}.help{font-size:11px;color:#929a87;line-height:1.6;margin:8px 0 16px}.check-label{display:flex;align-items:center;gap:9px;font-size:13px;cursor:pointer;margin:13px 0}.check-label input{accent-color:var(--green);width:17px;height:17px}.detail-photo{height:220px;width:100%;object-fit:cover}.detail-title{margin-bottom:12px}.detail-desc{font-size:13px;color:var(--muted);line-height:1.8;margin-bottom:20px}.detail-columns{display:grid;grid-template-columns:.85fr 1.2fr;gap:27px;margin-top:25px}.detail-columns h3{font:22px var(--serif);margin-bottom:17px}.serving-stepper{display:flex;align-items:center;gap:12px;background:#edf1e5;border-radius:7px;padding:5px;justify-content:center;font-size:12px;margin-bottom:15px}.detail-ingredients{list-style:none;padding:0;margin:0}.detail-ingredients li{padding:9px 0;border-bottom:1px solid var(--line);font-size:12px;display:flex;gap:10px}.detail-ingredients strong{margin-left:auto;font-size:11px;white-space:nowrap;font-weight:600}.steps{list-style:none;padding:0;margin:0;counter-reset:steps}.steps li{counter-increment:steps;position:relative;padding:0 0 21px 35px;font-size:12px;line-height:1.8}.steps li:before{content:counter(steps);position:absolute;left:0;top:0;display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#e4eadb;color:#657c55;font:13px var(--serif)}.picker-list{display:grid;grid-template-columns:1fr 1fr;gap:9px;max-height:330px;overflow:auto;margin-top:17px}.picker-recipe{display:flex;align-items:center;gap:11px;text-align:left;background:white;border:1px solid var(--line);border-radius:8px;padding:8px}.picker-recipe.selected{border:2px solid #688257;background:#edf1e5;padding:7px}.picker-recipe img{width:53px;height:53px;border-radius:5px;object-fit:cover}.picker-recipe strong{font:16px var(--serif)}.picker-recipe span{display:block;font-size:10px;color:#8b957c}.notice{padding:13px 15px;border:1px solid #ddc9ad;background:#faf3e7;border-radius:8px;font-size:12px;color:#94713f;margin-bottom:17px}.login{min-height:100dvh;display:grid;grid-template-columns:1.1fr 1fr}.login-picture{background:linear-gradient(180deg,#243e2522,#192d20aa),url('assets/pasta.jpg') center/cover;min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;padding:65px;color:white}.login-picture h1{font-size:59px;max-width:500px;margin:20px 0}.login-picture p{color:#f4f4e5d9;max-width:365px;font-size:14px;line-height:1.8}.login-form{max-width:390px;width:100%;margin:auto;padding:35px 25px}.login-form .brand{padding:0;margin-bottom:48px}.login-form h2{font-size:34px;margin-bottom:12px}.login-form>p{color:var(--muted);font-size:13px;margin-bottom:28px}.login-form .btn{width:100%;margin-top:6px}.password-wrap{position:relative}.password-wrap .input{padding-right:42px}.password-wrap .icon-btn{position:absolute;right:3px;top:3px}.error-message{color:#af4d3c;font-size:12px;margin:12px 0}.login-form .help{text-align:center;margin-top:24px}#toast{position:fixed;bottom:23px;left:calc(50% + 80px);transform:translateX(-50%) translateY(120px);z-index:100;background:#283e2f;color:white;box-shadow:0 4px 22px #23312322;padding:13px 21px;border-radius:9px;font-size:12px;transition:transform .2s;max-width:calc(100vw - 32px);text-align:center}#toast.show{transform:translateX(-50%) translateY(0)}.mobile-brand{display:none}.print-only{display:none}
progress{display:block;appearance:none;width:100%;height:5px;border:0;border-radius:5px;overflow:hidden;margin-top:14px;background:#d5dec9}progress::-webkit-progress-bar{background:#d5dec9}progress::-webkit-progress-value{background:#748e5c}progress::-moz-progress-bar{background:#748e5c}
@media(min-width:1450px){.content{padding-top:38px}.meal,.meal.empty{min-height:176px}.meal.empty button{min-height:174px}.meal-img{height:88px}.recipe-cover{height:210px}}
@media(max-width:1200px){.sidebar{width:195px;padding:27px 14px 18px}.app-shell{grid-template-columns:195px 1fr}.topbar{padding:0 25px}.content{padding:27px 25px 40px}.brand-name{font-size:26px}.brand-sub{font-size:8px}.brand-mark{width:36px;height:36px;font-size:30px}.planner{gap:6px}.meal-name{font-size:13px;padding:8px 7px 5px}.meal-meta{font-size:8px;padding:0 7px 8px}.meal,.meal.empty{min-height:145px}.meal.empty button{min-height:143px}.suggestion img{width:78px}.suggestion h3{font-size:16px}.suggestion .body{padding:12px 10px}.shopping-layout{grid-template-columns:1fr 230px;gap:17px}.hero h2{font-size:28px}.page-head h1{font-size:37px}.recipes-grid{gap:14px}.recipe-title{font-size:20px}}
@media(max-width:1000px){.planner{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.planner .day:nth-child(n+5){margin-top:5px}.day-head{justify-content:flex-start;padding-left:8px}.meal,.meal.empty{min-height:150px}.meal.empty button{min-height:148px}.meal-img{height:78px}.meal-actions{display:flex}.suggestions{grid-template-columns:1fr 1fr}.suggestion:last-child{display:none}.recipes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{grid-template-columns:1.3fr .9fr}.head-actions .btn{font-size:11px;padding:10px 12px}.shopping-layout{grid-template-columns:1fr}.shopping-side{display:grid;grid-template-columns:1fr 1fr;gap:16px}.week-foot{gap:12px}.page-head{gap:10px}.page-head h1{font-size:34px}.hero-text{padding:23px}.hero h2{font-size:26px}}
@media(max-width:760px){.app-shell{display:block;padding-bottom:74px}.sidebar{position:fixed;top:auto;bottom:0;left:0;right:0;width:100%;height:68px;padding:4px 8px;background:#f9faf3f5;backdrop-filter:blur(15px);border-top:1px solid var(--line);border-right:0}.sidebar .brand,.sidebar .nav-caption,.sidebar .side-note,.sidebar .sidebar-bottom{display:none}.nav{flex-direction:row;justify-content:space-around;gap:3px;height:100%}.nav button{flex-direction:column;justify-content:center;gap:4px;flex:1;padding:7px 3px;font-size:9px;border-radius:7px;position:relative}.nav button svg{width:21px;height:21px}.nav .badge{position:absolute;right:15px;top:3px;font-size:8px;min-width:14px;padding:0 3px}.main{width:100%}.topbar{height:66px;padding:0 19px;position:sticky;top:0;z-index:10}.topbar .breadcrumb{display:none}.mobile-brand{display:flex;align-items:center;gap:8px;font:23px var(--serif)}.mobile-brand .brand-mark{width:30px;height:30px;font-size:26px;border-radius:9px}.topbar .date{font-size:10px}.content{padding:25px 18px 30px}.page-head{margin-bottom:21px;flex-wrap:wrap;gap:16px}.page-head h1{font-size:34px}.page-head p{font-size:12px}.eyebrow{font-size:9px}.head-actions{padding:0;gap:8px}.head-actions .btn{font-size:12px;min-height:38px}.hero{grid-template-columns:1.3fr .8fr;min-height:213px;margin-bottom:24px}.hero-text{padding:20px 18px}.hero h2{font-size:26px}.hero p{font-size:11px}.hero .btn{font-size:11px;padding:9px 12px;min-height:37px;margin-top:14px}.hero-photo{min-height:213px}.photo-label{bottom:12px;right:8px;padding:7px 9px;max-width:125px}.photo-label strong{font-size:14px}.photo-label .eyebrow{font-size:7px}.section-head{flex-wrap:wrap;margin:23px 0 16px}.section-head h2{font-size:24px}.week-label{min-width:148px;font-size:12px}.planner{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.day:last-child{grid-column:1/-1}.day:last-child .day-meals{display:grid;grid-template-columns:1fr 1fr;gap:12px}.day-head{padding:8px 5px 11px}.meal,.meal.empty{min-height:161px}.meal.empty button{min-height:159px}.meal-img{height:87px}.meal-name{font-size:16px}.meal-meta{font-size:10px}.meal-label{font-size:8px}.planner-toolbar{gap:8px}.legend{font-size:10px}.planner-toolbar .btn{font-size:10px;padding:7px 9px}.week-foot{padding:12px;align-items:flex-start;flex-direction:column;font-size:11px}.week-foot .text-btn{align-self:flex-end;font-size:11px}.suggestions{grid-template-columns:1fr}.suggestion:last-child{display:flex}.suggestion img{width:100px}.suggestion h3{font-size:20px}.suggestion .body{padding:14px}.suggestion{min-height:112px}.recipes-grid{gap:12px}.recipe-cover{height:127px}.recipe-body{padding:13px 12px 11px}.recipe-title{font-size:19px}.recipe-desc{font-size:10px;min-height:30px}.recipe-info{gap:7px;font-size:9px;flex-wrap:wrap}.card-footer{gap:3px}.card-footer .pill{font-size:8px;padding:3px 5px}.card-footer .text-btn{font-size:10px}.recipe-card .favorite{right:7px;top:7px;width:30px;height:30px}.toolbar .search{max-width:none;flex-basis:100%}.filters{gap:2px}.filter{font-size:11px;padding:7px 10px}.shopping-side{grid-template-columns:1fr}.shopping-side .panel{margin:0}.panel{padding:18px}.shopping-item{gap:9px}.shopping-item .item-name{font-size:12px}.shopping-item .item-source{font-size:9px}.shopping-item .quantity{font-size:11px}.modal-head{padding:20px 19px 15px}.modal-head h2{font-size:24px}.modal-body{padding:20px 19px}.modal-foot{padding:15px 19px}.ingredient-edit{grid-template-columns:minmax(80px,2fr) 55px 88px 30px;gap:5px}.ingredient-edit select.aisle-select{grid-column:1/4;grid-row:auto}.ingredient-edit .delete-ing{grid-column:4;grid-row:1/3}.ingredient-edit{position:relative;padding-bottom:10px;border-bottom:1px solid var(--line)}.ingredient-edit .delete-ing{grid-row:auto}.ingredient-edit .aisle-select{grid-row:auto}.ingredient-edit .input,.ingredient-edit select{font-size:10px}.fields.triple{gap:8px}.fields.triple .input{padding:10px}.detail-columns{grid-template-columns:1fr;gap:24px}.detail-photo{height:180px}.picker-list{grid-template-columns:1fr;max-height:300px}.login{display:flex;flex-direction:column-reverse;min-height:100vh;background:var(--paper)}.login-picture{min-height:230px;padding:27px;flex:1}.login-picture h1{font-size:34px;max-width:300px;margin:10px 0}.login-picture p{font-size:12px}.login-picture .eyebrow{display:none}.login-form{padding:30px 25px;max-width:420px}.login-form .brand{margin-bottom:28px}.login-form h2{font-size:29px}.login-form>p{margin-bottom:20px}.login-form .help{margin-bottom:0}.footer{margin-top:30px}#toast{left:50%;bottom:86px}.pantry-chip{font-size:12px;padding:8px 11px}}
@media(max-width:760px){.planner-toolbar{flex-wrap:wrap}.planner-toolbar>.row{margin-left:auto;max-width:100%;flex-wrap:wrap;gap:7px;justify-content:flex-end}.planner-toolbar>.row:first-child{margin-left:0}.ingredient-edit .delete-ing{width:27px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
@media print{body{background:white;color:#111}.sidebar,.topbar,.page-head .head-actions,.hero,.shopping-side,.shopping-summary .progress-track,.week-controls button,.planner-toolbar,.week-foot .text-btn,.shopping-item .icon-btn,.footer,#toast,dialog,.no-print{display:none!important}.app-shell{display:block;padding:0}.main{width:100%}.content{padding:0;max-width:none}.shopping-layout{display:block}.panel{border:0;padding:0}.shopping-item{break-inside:avoid;padding:7px 0}.shopping-item.checked{display:none}.shopping-item.pantry{display:none}.shopping-item input{appearance:none;border:1px solid #777;width:13px;height:13px}.shopping-summary{background:white;padding:0;margin:15px 0}.print-only{display:block;font-size:11px;color:#777}.aisle{break-inside:avoid}.page-head h1{font-size:30px}.planner{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.day:last-child{grid-column:auto}.day:last-child .day-meals{display:block}.meal-actions,.meal.empty button{display:none!important}.meal.empty{min-height:70px}.meal-img{height:60px}.meal{min-height:130px}.suggestions{display:none}}
