@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Outfit:wght@400;500;600;700;800&display=swap";:root{font-family:DM Sans,sans-serif;color:#25352b;background:#f8f9f5;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.app{min-height:100vh;display:flex}.sidebar{width:242px;background:#fff;border-right:1px solid #e9eee8;display:flex;flex-direction:column;padding:31px 18px;position:sticky;top:0;height:100vh;flex-shrink:0}.brand,.mobilebrand{display:flex;align-items:center;gap:10px;font:800 29px Outfit;letter-spacing:-1.4px}.brandicon{display:inline-flex;width:38px;height:38px;border-radius:12px;background:#326b4a;color:#fff;align-items:center;justify-content:center;font:800 28px Outfit;letter-spacing:-2px}.brandicon span{color:#e8bd78}.branddot{color:#da9659}.sidetag{font-size:11px;color:#8a998e;margin:8px 0 42px 48px}.sidebar nav{display:grid;gap:7px}.navitem{width:100%;display:flex;align-items:center;gap:13px;padding:13px 14px;border:0;border-radius:12px;background:transparent;color:#66766c;text-align:left;font-weight:700;font-size:14px}.navitem.active{background:#e8f1e8;color:#286343}.navitem:hover{background:#f1f5f0}.navbadge{margin-left:auto;border-radius:50px;background:#f4e6cf;color:#a36a27;padding:2px 7px}.sidebottom{margin-top:auto}.sidebottom p{font-size:11px;line-height:1.7;color:#98a59a;padding:15px}.app main{min-width:0;flex:1}header{height:76px;background:#fff;border-bottom:1px solid #e9eee8;display:flex;align-items:center;justify-content:flex-end;padding:0 5%}.headright{display:flex;align-items:center;gap:22px}.today{text-transform:capitalize;font-size:13px;color:#8b9a8f}.iconbutton{border:0;background:transparent;color:#7c8b80;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;padding:7px}.iconbutton:hover{background:#edf3ed}.iconbutton.red:hover{color:#b75a50;background:#fbeeed}.mobilebrand{display:none}.content{max-width:1220px;margin:0 auto;padding:38px 5% 80px}.hero{background:#e8f1e6;border-radius:23px;min-height:260px;display:flex;align-items:center;justify-content:space-between;padding:34px 54px;overflow:hidden}.eyebrow{font-size:11px;font-weight:800;color:#66846d;letter-spacing:1.8px}.hero h1,h1{font:700 clamp(29px,3.3vw,42px)/1.17 Outfit;letter-spacing:-1.2px;margin:12px 0}.hero h1 em{font-style:normal;color:#3b7c55}.hero p,.pagehead p{color:#76867a;font-size:14px;line-height:1.6}.heroemoji{font-size:130px;filter:drop-shadow(0 12px 12px #a1bba66e);transform:rotate(-12deg);margin-right:20px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:11px;border:1px solid transparent;padding:12px 17px;font-size:13px;font-weight:800;white-space:nowrap}.primary{background:#326b4a;color:#fff}.primary:hover{background:#25573a}.secondary{background:#f0f5ef;color:#326b4a;border-color:#e0eae0}.secondary:hover{background:#e5eee3}.full{width:100%;margin-top:12px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:23px 0 27px}.stat{border:1px solid #edf0e9;border-radius:16px;background:#fff;padding:21px 24px;display:grid;gap:6px}.stat span{font-size:12px;color:#7b8a7e;font-weight:700}.stat strong{font:700 36px Outfit;color:#356f4c}.stat strong.orange{color:#d28c4d}.stat small{color:#a1aaa1;font-size:11px}.columns{display:grid;grid-template-columns:1.35fr 1fr;gap:18px}.panel{background:#fff;border:1px solid #edf0e9;border-radius:17px;padding:22px;min-width:0}.sectionhead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:15px}.sectionhead h2{font:700 19px Outfit;margin:0}.sectionhead p{color:#8b998e;font-size:13px;margin:7px 0 0}.textbutton{border:0;background:transparent;color:#38714f;display:inline-flex;align-items:center;font-size:12px;font-weight:800;gap:3px}.listrow,.stockrow,.shoprow,.checkrow{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #f0f2ed}.listrow:last-child,.stockrow:last-child,.shoprow:last-child,.checkrow:last-child{border-bottom:0}.foodicon{width:40px;height:40px;border-radius:12px;background:#f4f6ec;display:grid;place-items:center;font-size:23px;flex-shrink:0}.grow{flex:1;min-width:0}.grow strong{display:block;font-size:13px}.grow small{display:block;font-size:11px;color:#99a59b;margin-top:5px}.pill{font-size:10px;font-weight:800;padding:6px 9px;border-radius:50px;white-space:nowrap}.warn{background:#fff0d9;color:#bd812e}.danger{background:#ffe5df;color:#b75347}.routine{text-align:center;padding:5px 20px 16px}.routineicon{font-size:42px}.routine h3{font:700 18px Outfit;margin:12px 0 7px}.routine p{font-size:12px;color:#8b998e;line-height:1.7;margin-bottom:18px}.lower{margin:32px 0 16px}.recipegrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.recipecard{text-align:left;background:#fff;border:1px solid #edf0e9;border-radius:16px;overflow:hidden;padding:0;transition:transform .15s}.recipecard:hover{transform:translateY(-3px)}.recipeart{height:140px;background:linear-gradient(135deg,#eaf0df,#f7e9d8);display:flex;align-items:center;justify-content:center;position:relative}.recipeart>span:first-child{font-size:70px}.match{position:absolute;bottom:10px;left:10px;background:#fff;color:#4b7856;font-size:10px;font-weight:800;padding:6px 9px;border-radius:7px}.recipebody{padding:15px}.recipebody strong{display:block;font-size:14px;margin-bottom:10px}.recipebody small{display:flex;align-items:center;gap:5px;color:#9aa69c;font-size:11px}.pagehead{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;gap:15px}.pagehead h1{margin:8px 0}.pagehead p{margin:0}.mutedcount{color:#a5b1a7;font-size:22px}.toolbar{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.search{flex:1;min-width:210px;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e6ebe5;border-radius:11px;padding:0 13px;color:#9ca89e}.search input{border:0;outline:0;padding:13px 0;width:100%;background:transparent;font-size:13px}.toolbar select,.form input,.form select,.form textarea,.addshopping input{background:#fff;border:1px solid #e2e8e1;border-radius:10px;padding:12px;color:#324638;outline-color:#6b9b76}.compact{padding:10px}.stockpanel{padding:12px 23px}.hint{font-size:11px;color:#9ba79d;line-height:1.7}.empty{text-align:center;padding:42px 15px;color:#9ba79d;font-size:13px;line-height:1.8}.empty.small{padding:25px 10px}.count{color:#64866d;font-weight:800}.listrow input[type=date]{border:0;color:#9aa69c;max-width:130px;background:transparent;font-size:11px}.addshopping{display:flex;gap:10px;margin-bottom:20px}.addshopping input{flex:1;min-width:0}.checkcircle{border:2px solid #c5d5c8;border-radius:50%;width:23px;height:23px;background:#fff;display:grid;place-items:center;color:#fff}.checkcircle.checked{background:#36764f;border-color:#36764f}.shoprow.done strong{text-decoration:line-through;color:#a3ada4}.topgap{margin-top:15px}.startnote{margin-top:24px;padding:16px;border-radius:12px;background:#eef5eb;color:#64816a;font-size:13px}.startnote button{background:none;border:0;color:#306d47;text-decoration:underline;font-weight:800}.bottomnav{display:none}.toast{position:fixed;bottom:24px;right:24px;background:#2d6245;color:#fff;padding:13px 19px;border-radius:12px;box-shadow:0 10px 30px #0002;z-index:40;font-size:13px}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#19271c99;z-index:30;display:flex;align-items:center;justify-content:center;padding:20px}.dialog{background:#fff;border-radius:20px;padding:24px;width:min(540px,100%);max-height:90vh;overflow-y:auto;box-shadow:0 20px 80px #0003}.dialoghead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.dialoghead h2{font:700 24px Outfit;margin:0}.form{display:grid;gap:15px}.form label{display:grid;gap:7px;font-size:12px;font-weight:800;color:#526658}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form textarea{resize:vertical}.subtle{font-size:13px;color:#859488;line-height:1.6}.checklist{max-height:50vh;overflow:auto;margin:15px 0}.tiny{border:1px solid #e0e9df;background:#f4f7f2;color:#4a7956;border-radius:8px;padding:7px 9px;font-size:11px;font-weight:800}.tiny.red{color:#b75a50}.recipeview h3{font:700 18px Outfit;margin:23px 0 12px}.recipetop{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:#7d8c80}.ingredient{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #edf0e9;font-size:13px}.available,.missing{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;font-weight:800}.available{background:#e3f2e4;color:#38774b}.missing{background:#fff0e1;color:#ba7e42}.steps{padding-left:22px;color:#66776a;font-size:13px;line-height:1.8}.steps li{margin-bottom:8px}.filelabel{display:flex!important;align-items:center;justify-content:center;gap:8px;background:#f0f5ef;padding:13px;border-radius:10px;color:#326b4a!important;cursor:pointer}.filelabel input{display:none}.divider{height:1px;background:#e7eee5}@media (max-width:1000px){.sidebar{width:205px}.hero{padding:28px}.heroemoji{font-size:90px}.content{padding:28px 4% 80px}}@media (max-width:760px){.sidebar{display:none}header{height:64px;justify-content:space-between;padding:0 18px}.mobilebrand{display:flex;font-size:24px}.mobilebrand .brandicon{width:32px;height:32px;font-size:24px}.today{display:none}.content{padding:20px 16px 105px}.hero{padding:25px 22px;min-height:225px}.hero h1{font-size:29px}.heroemoji{font-size:65px;margin:0}.hero p{max-width:240px}.stats{gap:8px}.stat{padding:13px 11px}.stat strong{font-size:27px}.stat span{font-size:10px}.stat small{font-size:9px}.columns{grid-template-columns:1fr}.recipegrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.recipeart{height:112px}.recipeart>span:first-child{font-size:55px}.recipebody{padding:11px}.recipebody strong{font-size:12px}.pagehead h1{font-size:30px}.pagehead .primary{padding:10px}.bottomnav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:20;background:#fff;border-top:1px solid #e5ece5;justify-content:space-around;padding:9px 4px max(10px,env(safe-area-inset-bottom))}.bottomnav button{background:none;border:0;display:grid;justify-items:center;gap:4px;color:#8c9b8f;font-size:9px;font-weight:700;padding:5px 3px}.bottomnav button.active{color:#32704b}.toast{bottom:90px;right:14px;left:14px}.stockrow{gap:7px}.stockrow .iconbutton{padding:5px}.stockrow .foodicon{width:34px;height:34px}.checkrow{gap:6px}.checkrow .tiny{padding:6px 5px;font-size:10px}}@media (max-width:390px){.heroemoji{display:none}.formgrid{grid-template-columns:1fr}.stockrow .pill{display:none}}.authwrap{min-height:100vh;display:grid;place-items:center;background:#f5f8f1;padding:24px}.authcard{width:min(100%,420px);padding:32px;background:#fff;border:1px solid #e1e9df;border-radius:22px;box-shadow:0 15px 55px #244b2b12;display:flex;flex-direction:column;gap:18px}.authcard h1{font-size:38px;color:#3e7651;margin:0}.authcard p{color:#647365;margin:0}.authcard label{display:flex;flex-direction:column;gap:7px;font-weight:600}.authcard input{width:100%;padding:12px;border:1px solid #cbd7c9;border-radius:10px;font:inherit}.authcard .autherror{color:#b53e35}.authcard .textbutton{justify-content:center}.reminderbox{display:grid;gap:12px;padding:15px;border:1px solid #e2eadd;border-radius:13px;background:#f8fbf6}.reminderbox strong{display:flex;align-items:center;gap:8px}.remindertoggle{display:flex!important;flex-direction:row!important;align-items:center;gap:10px}.remindertoggle input{width:18px;height:18px}.invite-panel{display:grid;gap:10px;padding:16px;border:1px solid var(--border,#dedede);border-radius:14px}.invite-panel .hint{margin:0}.invite-code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:clamp(15px,3.5vw,21px);font-weight:700;letter-spacing:.08em;overflow-wrap:anywhere;text-align:center;padding:12px;background:#7f7f7f17;border-radius:10px;-webkit-user-select:all;user-select:all}.people-panel{border:1px solid #e7e1ef;border-radius:18px;padding:16px;background:#fdfbff;display:grid;gap:12px}.people-heading{display:flex;justify-content:space-between;align-items:start;gap:12px}.people-heading strong{font-size:1.1rem}.people-heading p{margin:4px 0 0}.people-count{white-space:nowrap;border-radius:20px;padding:5px 10px;background:#eee6f8;color:#66318c;font-size:.8rem}.people-list{border:1px solid #e9e4ef;border-radius:14px;overflow:hidden}.person-row{display:flex;align-items:center;gap:10px;padding:10px;background:#fff;border-bottom:1px solid #eeeaf3}.person-row:last-child{border-bottom:0}.person-avatar{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#f0e7fa;font-size:25px;flex-shrink:0}.person-details{display:grid;gap:3px;min-width:0;flex:1}.person-details strong{overflow-wrap:anywhere}.person-details small{color:#766b82}.person-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:end}.profile-editor{display:grid;gap:10px;padding:14px;border-radius:12px;background:#f6f0fc}.profile-editor label{display:grid;gap:5px}.profile-editor input,.profile-editor select{width:100%;box-sizing:border-box}.profile-buttons{display:flex;gap:8px;justify-content:end}@media (max-width:540px){.person-row{flex-wrap:wrap}.person-actions{width:100%;justify-content:flex-end}.people-heading{flex-wrap:wrap}}
