@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,500;9..144,600&display=swap";:root{font-family:DM Sans,system-ui,sans-serif;color:#432e22;background:#eee8dc;font-synthesis:none;--bg:#F7F3EA;--paper:#FFFDF8;--green:#365C3F;--green2:#52775a;--ochre:#D6B56C;--sand:#E9D9AF;--brown:#7A5A42;--muted:#A88D74;--line:#E8DDCD;--soft:#F2EADF}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at 70% 10%,#f7f2e8 0,#ede7db 45%,#e8e0d2)}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.desktop-sidebar{position:sticky;top:0;height:100vh;padding:32px 24px;background:#f8f4ec;border-right:1px solid #e2d8c8;display:flex;flex-direction:column;gap:34px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;border-radius:14px;background:var(--green);color:#fff;display:grid;place-items:center}.brand strong{display:block;font-family:Fraunces;font-size:22px}.brand span{font-size:11px;color:var(--muted)}.desktop-nav{display:grid;gap:6px}.desktop-nav-btn{border:0;background:transparent;color:#806b5a;border-radius:14px;padding:12px 14px;display:flex;gap:12px;align-items:center}.desktop-nav-btn.active{background:#e7ecde;color:var(--green);font-weight:700}.sidebar-note{margin-top:auto;background:#efe4c8;border-radius:16px;padding:14px;color:#6c593b;display:flex;gap:10px;font-size:13px;line-height:1.4}.main-stage{padding:28px 28px 50px;display:flex;justify-content:center;align-items:flex-start}.mobile-frame{width:min(100%,1120px);min-height:calc(100vh - 56px);background:var(--bg);border-radius:28px;box-shadow:0 30px 80px #50371e1f;position:relative;overflow:hidden;border:1px solid rgba(145,112,65,.14)}.page-content{padding:42px 46px 110px;max-width:820px;margin:0 auto}.eyebrow{font-size:11px;letter-spacing:.09em;color:#b09579;font-weight:600;margin-bottom:8px}.page-content h1,.page-content h2{font-family:Fraunces,serif;font-weight:500;margin:0;color:#4c3022}.page-content h1{font-size:42px;line-height:1.06;margin-bottom:24px}.page-content h1 em{font-weight:500}.page-content h2{font-size:32px}.subtle{color:#b0967b;margin:4px 0 0;font-size:13px}.hero-progress{background:var(--green);color:#fff;border-radius:18px;padding:22px;margin:14px 0 22px}.hero-top{display:flex;justify-content:space-between;align-items:flex-end}.hero-top span,.remaining span{font-size:11px;color:#dce6dc}.big-number{font-family:Fraunces;font-size:38px;margin-top:3px}.big-number small{font-size:20px;color:#9fb6a4}.remaining{text-align:right}.remaining strong{display:block;font-family:Fraunces;font-size:24px}.progress-track{height:6px;background:#ffffff2e;border-radius:999px;overflow:hidden}.progress-track span{display:block;height:100%;background:var(--ochre);border-radius:999px}.hero-progress>.progress-track{margin:14px 0}.macro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.metric>.progress-track{height:4px;margin-bottom:7px}.metric span{display:block;font-size:10px;color:#dce6dc}.metric strong{font-size:12px}.section-title{display:flex;align-items:center;justify-content:space-between;margin:18px 0 10px}.section-title h3{font-family:Fraunces;margin:0;font-size:18px}.section-title button{border:0;background:none;color:#70845f;font-size:12px}.meal-list{display:grid;gap:10px}.meal-card,.plan-card,.recipe-row{background:#fffdf8e0;border:1px solid #f0e7d8;border-radius:15px;display:grid;align-items:center;gap:12px}.meal-card{grid-template-columns:60px 1fr 36px;padding:9px}.meal-card.done{opacity:.68}.meal-card.done .meal-copy strong{text-decoration:line-through}.meal-card img,.plan-card img,.recipe-row img{width:60px;height:60px;border-radius:12px;object-fit:cover}.meal-copy{min-width:0}.meal-meta{font-size:9px;color:#b09276;letter-spacing:.04em}.meal-meta span{background:#eadbb4;color:#8a6e3c;border-radius:7px;padding:3px 6px;margin-left:4px}.meal-copy strong,.plan-card strong,.recipe-row strong{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:3px 0}.meal-copy small,.plan-card small,.recipe-row small{color:#a38c79;font-size:11px}.check-btn{width:28px;height:28px;border-radius:50%;border:0;background:#eadcaf;color:#fff;display:grid;place-items:center}.meal-card.done .check-btn{background:#5d8667}.prep-reminder{margin-top:16px;background:#ead7a8;border-radius:16px;padding:15px;display:flex;gap:12px;align-items:flex-start}.round-icon{width:34px;height:34px;border-radius:50%;background:#d9aa45;color:#fff;display:grid;place-items:center;flex:0 0 auto}.round-icon.small{width:30px;height:30px}.prep-reminder strong{font-size:13px}.prep-reminder p{font-size:11px;color:#876f55;margin:4px 0;line-height:1.45}.page-heading-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.pill-action{background:var(--green);color:#fff;border:0;border-radius:10px;padding:8px 11px;font-size:11px}.icon-ghost{border:0;background:transparent;color:#786552}.day-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:18px 0}.day-strip button{border:0;background:#fffaf3;border-radius:13px;padding:10px 8px;color:#745e4e}.day-strip button span,.day-strip button small{display:block;font-size:10px}.day-strip button strong{display:block;font-size:13px;margin:3px 0}.day-strip button.active{background:var(--green);color:#fff}.plan-summary{display:grid;grid-template-columns:repeat(3,1fr);background:#fffaf3;border-radius:14px;padding:14px;margin-bottom:14px}.summary-stat{padding:0 12px;border-right:1px solid #eadfce}.summary-stat:last-child{border-right:0}.summary-stat span{display:block;font-size:10px;color:#b09276}.summary-stat strong{display:block;margin-top:3px;font-size:14px}.plan-meals{gap:8px}.plan-card{grid-template-columns:56px 1fr 28px;padding:8px}.plan-card button{border:0;background:none;color:#b49880}.add-meal{width:100%;margin:10px 0 14px;border:1px dashed #d9c69f;background:transparent;border-radius:13px;padding:13px;color:#b18e60;display:flex;justify-content:center;gap:8px}.prep-box{background:var(--green);color:#fff;border-radius:17px;padding:18px}.prep-head{display:flex;justify-content:space-between}.prep-head span{font-size:11px;background:#2d5035;border-radius:999px;padding:5px 8px}.prep-box ol{list-style:none;padding:0;margin:14px 0;display:grid;gap:9px;font-size:12px}.prep-box li{display:flex;gap:8px;align-items:center}.prep-box li b{background:#d8b75f;width:19px;height:19px;border-radius:50%;display:grid;place-items:center;color:#365c3f;font-size:10px}.prep-box button{width:100%;border:0;background:var(--ochre);color:#fff;border-radius:10px;padding:12px;font-weight:600}.counter{background:#f0dfb5;border-radius:999px;padding:6px 9px;color:#876d41;font-size:11px}.completion-line{height:4px;background:#efe3cc;border-radius:999px;margin:10px 0 14px}.completion-line span{display:block;height:100%;background:var(--green);border-radius:999px}.segmented{display:grid;grid-template-columns:1fr 1fr;background:#fffaf3;padding:4px;border-radius:12px;margin-bottom:18px}.segmented button{border:0;background:transparent;padding:10px;border-radius:9px;color:#b09276}.segmented button.active{background:var(--green);color:#fff}.shopping-groups section{margin:18px 0}.shopping-groups h3,.list-heading,.form-label{font-size:10px;letter-spacing:.09em;color:#b09276;font-weight:600;margin:0 0 8px}.shopping-row{width:100%;border:1px solid #f0e5d3;background:#fffaf3;border-radius:12px;padding:12px;display:grid;grid-template-columns:24px 1fr auto;align-items:center;text-align:left;margin-bottom:7px;color:#654c3b}.shopping-row strong{font-size:13px}.shopping-row small{color:#af947a}.shop-circle{width:20px;height:20px;border:1.5px solid #ddb861;border-radius:50%;display:grid;place-items:center;color:var(--green)}.budget-card{margin-top:18px;background:#fffaf3;border-radius:14px;padding:13px;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}.budget-card strong{font-size:12px;display:block}.budget-card span{font-size:10px;color:#a78f7a;display:block}.budget-card b{color:var(--green);font-size:18px}.filter-row{display:flex;gap:7px;overflow:auto;padding-bottom:8px;margin-bottom:12px}.filter-row button,.chip-cloud button{white-space:nowrap;border:1px solid #e4d1a7;background:#fffaf3;border-radius:999px;padding:7px 12px;color:#866d5a;font-size:11px}.filter-row button.active{background:var(--green);color:#fff;border-color:var(--green)}.featured-recipe{position:relative;background:#fffaf3;border-radius:17px;overflow:hidden;margin-bottom:22px;border:1px solid #eee1ce;cursor:pointer}.featured-recipe>img{width:100%;height:230px;object-fit:cover;display:block}.favorite{position:absolute;right:12px;top:12px;width:34px;height:34px;border-radius:50%;border:0;background:#fffaf3;color:#a68b69}.featured-overlay{position:absolute;left:14px;right:14px;top:150px;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.45)}.featured-overlay span{display:inline-block;background:#d6b56cdd;border-radius:7px;padding:4px 7px;font-size:9px}.featured-overlay strong{display:block;font-family:Fraunces;font-size:22px;margin-top:7px}.featured-stats{display:grid;grid-template-columns:repeat(4,1fr);padding:14px}.recipe-list{display:grid;gap:9px}.recipe-row{grid-template-columns:60px 1fr 30px;padding:9px;cursor:pointer}.recipe-row span{font-size:9px;color:#bc9b7e}.recipe-row button{border:0;background:none;color:#a28a73}.modal-backdrop{position:fixed;inset:0;background:#2d221961;display:grid;place-items:end center;z-index:20}.modal-sheet{width:min(100%,620px);max-height:88vh;overflow:auto;background:var(--bg);border-radius:24px 24px 0 0;padding:18px 22px 34px;position:relative}.modal-close{position:absolute;right:16px;top:16px;border:0;background:#fffaf3;width:36px;height:36px;border-radius:50%;z-index:2}.modal-sheet>img{width:100%;height:240px;object-fit:cover;border-radius:16px}.modal-sheet h2{margin:16px 0 10px}.modal-macros{display:grid;grid-template-columns:repeat(4,1fr);background:#fffaf3;border-radius:12px;padding:12px}.modal-macros span{text-align:center;font-size:10px;color:#a78b74}.modal-macros b{display:block;color:#543a2d;font-size:15px}.modal-sheet li{margin:7px 0;color:#705b4c}.primary-wide{width:100%;border:0;background:var(--green);color:#fff;border-radius:12px;padding:14px;font-weight:600;display:flex;gap:8px;align-items:center;justify-content:center}.profile-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin-bottom:24px}.avatar{width:44px;height:44px;border-radius:14px;background:#ebd7a7;display:grid;place-items:center;font-family:Fraunces;font-size:21px}.profile-head h2{font-size:22px}.profile-head span{font-size:10px;color:#b0967b}.profile-head button{border:0;background:#fffaf3;border-radius:10px;padding:9px 11px;color:#8b735f;font-size:11px}.diet-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:20px}.diet-grid button{border:1px solid #dfc893;background:#fffaf3;border-radius:12px;text-align:left;padding:12px;color:#705749}.diet-grid button.active{background:var(--green);color:#fff;border-color:var(--green)}.diet-grid strong,.diet-grid span{display:block}.diet-grid strong{font-size:13px}.diet-grid span{font-size:9px;margin-top:3px;opacity:.72}.settings-card{background:#fffaf3;border-radius:14px;padding:13px 15px;margin-bottom:20px}.range-field{display:block;padding:8px 0 13px;border-bottom:1px solid #efe3d3}.range-field:last-child{border-bottom:0}.range-field>div{display:flex;justify-content:space-between;font-size:12px}.range-field input{width:100%;accent-color:var(--green);margin-top:9px}.settings-card.compact{padding:5px 15px}.stepper,.budget-setting{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid #efe3d3;font-size:12px}.stepper:last-child,.budget-setting:last-child{border-bottom:0}.stepper>div{display:flex;align-items:center;gap:9px}.stepper button{border:0;width:28px;height:28px;border-radius:50%;background:#e9d8aa;color:#725f47;display:grid;place-items:center}.budget-setting select{border:0;background:#f1e5c8;color:#6c583f;border-radius:9px;padding:7px 9px}.chip-cloud{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.chip-cloud button{background:transparent}.form-label{margin-top:18px}.profile-head+.form-label{margin-top:0}.bottom-nav{display:none}@media(max-width:800px){body{background:var(--bg)}.app-shell{display:block}.desktop-sidebar{display:none}.main-stage{padding:0}.mobile-frame{min-height:100vh;width:100%;border:0;border-radius:0;box-shadow:none}.page-content{padding:28px 20px 100px;max-width:none}.page-content h1{font-size:34px}.page-content h2{font-size:27px}.bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;background:#fffdf8f5;backdrop-filter:blur(18px);border-top:1px solid #e8ddcd;padding:7px max(8px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));z-index:10}.bottom-nav button{border:0;background:none;color:#a18a73;display:grid;justify-items:center;gap:2px;font-size:9px;padding:4px}.bottom-nav button.active{color:var(--green);font-weight:700}.hero-progress{padding:18px}.macro-grid{gap:9px}.featured-recipe>img{height:210px}.modal-sheet{max-height:92vh}}@media(min-width:801px){.page-content{max-width:940px}.meal-list,.plan-meals{grid-template-columns:1fr 1fr}.shopping-groups{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.recipe-list{grid-template-columns:1fr 1fr}.diet-grid{grid-template-columns:repeat(4,1fr)}.settings-card{padding:18px}.featured-recipe>img{height:310px}}
