.modal-actions{justify-content:flex-end;gap:16px;margin:-5px 0 17px;display:flex}.delete{color:#b8523b;background:0 0;border:0;font-weight:700}.form{gap:13px;max-width:650px;display:grid}.form .small-label{margin:0}.form h2{margin:0 0 7px}.form label{color:#52685a;gap:6px;font-size:13px;font-weight:700;display:grid}.form label small{color:#9aa399;font-weight:500}.form input,.form select,.form textarea{color:#31483d;width:100%;font:inherit;background:#fff;border:1px solid #dedbd0;border-radius:9px;padding:10px 11px;font-size:14px}.form textarea{resize:vertical;min-height:88px}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-error{color:#b8523b;margin:0;font-size:13px;font-weight:600}.food img,.hero img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.hero{overflow:hidden}.food span{z-index:1}.form .photo-upload{color:#36584a;cursor:pointer;background:#f4f8ef;border:1.5px dashed #b5c7b3;border-radius:11px;grid-template-columns:34px 1fr;gap:2px 10px;padding:13px 15px;display:grid;position:relative}.photo-upload span{color:#567456;background:#dfead8;border-radius:9px;grid-row:span 2;place-items:center;width:34px;height:34px;font-size:19px;display:grid}.photo-upload strong{font-size:14px}.photo-upload small{color:#82907f;font-size:11px}.photo-upload input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.header-actions{gap:10px;display:flex}.secondary{color:#42604e;background:#fffdf8;border:1px solid #ccd9ca;border-radius:10px;padding:11px 14px;font-weight:700}.import-modal{max-width:610px}.import-modal .small-label{margin:0}.import-modal h2{margin:3px 0 7px}.import-intro{color:#66756b;max-width:440px;margin:0 0 23px;line-height:1.45}.import-drop{cursor:pointer;color:#355849;background:#f3f8ee;border:1.5px dashed #9dbb9b;border-radius:13px;grid-template-columns:42px 1fr;align-items:center;gap:3px 12px;padding:18px;display:grid;position:relative}.import-drop span{background:#dbead5;border-radius:11px;grid-row:span 2;place-items:center;width:42px;height:42px;font-size:22px;display:grid}.import-drop strong{font-size:14px}.import-drop small{color:#81917f;font-size:11px}.import-drop input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.import-note{color:#738277;gap:11px;margin:17px 0;font-size:12px;line-height:1.4;display:flex}.import-note span{color:#d37249;font-size:18px}.import-note p{margin:0}@media (width<=760px){.header-actions{gap:7px}.secondary,.primary{padding:10px;font-size:12px}.shell{padding-bottom:64px;display:block}.sidebar{z-index:3;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf8f5;border:0;border-top:1px solid #e5e1d6;border-radius:0;width:100%;height:58px;padding:5px 10px;position:fixed;inset:auto 0 0;box-shadow:0 -5px 16px #33433712}.brand,.sidebar>.small-label,.motto{display:none}.sidebar nav{grid-template-columns:repeat(3,1fr);gap:2px;width:100%;height:100%;margin:0;display:grid}.sidebar nav button{color:#7c887f;border-radius:15px;flex-direction:row;justify-content:center;gap:3px;height:46px;padding:4px 5px;font-size:17px}.sidebar nav button span{font-size:10px;font-weight:700;line-height:1;display:block}.sidebar nav button.active{color:#284238;background:#edf2e7}.sidebar b{margin:-11px 0 0 33px;padding:1px 5px;font-size:9px;position:absolute}.main-content{padding:27px 16px 20px}header{align-items:center;margin-bottom:19px}.home-header .small-label{display:none}.main-content h1{letter-spacing:-.7px;font-size:24px;line-height:1.1}.header-actions{flex-wrap:nowrap;justify-content:flex-end;gap:7px}.header-actions .primary{order:-1}.secondary,.primary{white-space:nowrap;border-radius:9px;min-height:36px;padding:8px 9px;font-size:11px}.secondary{color:#52695a;box-shadow:none;background:0 0;border:1px solid #c8d0c4}.today{border-radius:19px;min-height:202px;padding:23px 22px}.today .small-label{margin-bottom:7px;font-size:9px}.today h2{font-size:32px;line-height:1}.today p:not(.small-label){max-width:255px;margin:9px 0 13px;font-size:13px}.today button{padding:8px 11px;font-size:12px}.section-title{margin:22px 0 11px}.section-title h2{font-size:22px}.section-title button{font-size:12px}.grid{gap:10px}.card{grid-template-columns:105px 1fr;min-height:105px;display:grid}.food{height:105px;font-size:50px}.food span{width:24px;height:24px;top:8px;right:8px}.card>div:last-child{padding:13px 12px}.card h3{font-size:15px}.filters{gap:10px;margin:0 0 15px}.filters label{max-width:none;padding:12px}.filters div{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.filters button{padding:8px 4px;font-size:11px}.modal{border-radius:18px;width:100%;max-height:calc(100vh - 18px);padding:24px 20px 22px;overflow-y:auto}.hero{height:180px}.modal h2{font-size:31px}.columns{gap:14px;margin:16px 0 19px}.columns li{font-size:14px}.form{gap:11px}.form-row{gap:8px}.form input,.form select,.form textarea{font-size:16px}.form textarea{min-height:106px}.import-modal{padding-top:30px}.shopping{padding:8px 16px}.shopping label{padding:17px 2px;font-size:16px}.empty{padding:45px 12px}.overlay{align-items:end;padding:9px}.close{float:right;margin:-8px -8px 0 0;position:sticky;top:0}.recipe-modal .hero{clear:both}.pasta{display:none}}.weekly-plan{margin:22px 0 28px}.weekly-plan .section-title{margin:0 0 10px}.week-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.week-days>article{color:#53685c;background:#fffdf9;border:1px solid #e4e4da;border-radius:14px;gap:8px;padding:10px;display:grid}.week-days article>header{justify-content:flex-start;margin:0;display:flex}.week-days article>header span{color:#91a092;align-items:baseline;gap:7px;font-size:13px;display:flex}.week-days strong{color:#2d493d}.week-days label{gap:4px;display:grid}.week-days label small{color:#849187;font-size:10px;font-weight:700}.week-days select{appearance:none;color:#2e493e;background:#f1f4ed;border:0;border-radius:8px;width:100%;min-width:0;padding:8px;font:600 12px inherit}.card{text-align:left;border:0;position:relative}.card .food{cursor:pointer;border:0;width:100%;display:block}.card-copy{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;display:block}.favorite-toggle{z-index:1;color:#5a7062;cursor:pointer;background:#fffdf9e8;border:0;border-radius:50%;width:28px;height:28px;font-size:20px;line-height:1;position:absolute;top:12px;right:12px}.favorite-toggle.is-favorite,.modal-favorite.is-favorite{color:#d66e49}.recipe-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.recipe-heading .small-label{margin:14px 0 0}.modal-favorite{color:#617469;cursor:pointer;background:#f2f3ea;border:0;border-radius:999px;margin-top:13px;padding:7px 10px;font:700 12px inherit}.recipe-notes{color:#52685a;background:#f3f5ed;border-radius:12px;margin:12px 0 2px;padding:12px 14px}.recipe-notes strong{text-transform:uppercase;letter-spacing:.06em;font-size:12px}.recipe-notes p{margin:5px 0 0;font-size:14px;line-height:1.45}.notes-input{min-height:62px!important}.shopping-add{gap:9px;margin:0 0 16px;display:flex}.shopping-add input{color:#31483d;min-width:0;font:inherit;background:#fff;border:1px solid #dedbd0;border-radius:10px;flex:1;padding:11px 12px}.shopping-add .primary{padding:10px 15px}.shopping-group{margin:0 0 22px}.shopping-group h3{color:#849187;letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:12px}.shopping label{align-items:center;gap:12px;display:flex}.shopping label span{flex:1}.shopping label.checked span{color:#9aa399;text-decoration:line-through}.shopping label button{color:#b0b6af;cursor:pointer;background:0 0;border:0;font-size:22px;line-height:1}.shopping label button:hover{color:#b8523b}@media (width<=760px){.weekly-plan{margin:18px 0 23px}.week-days{scroll-snap-type:x proximity;margin-right:-16px;padding:0 16px 4px 0;display:flex;overflow-x:auto}.week-days>article{scroll-snap-align:start;flex:0 0 174px}.card .food{height:105px}.card-copy{padding:13px 40px 13px 12px}.card-copy p{margin:0}.card-copy h3{margin:7px 0 0}.favorite-toggle{top:10px;right:10px}.recipe-heading{align-items:flex-end}.recipe-heading .small-label{margin:10px 0 0}.modal-favorite{padding:6px 8px;font-size:11px}.shopping-add{z-index:1;background:#fbfaf5;padding:7px 0;position:sticky;top:0}.shopping{padding:2px 0}.shopping-group{margin-bottom:18px}.shopping label{padding:13px 2px}.shell{padding-bottom:58px}}
