:root{
  --bg:#f5f8f5;--card:#fff;--ink:#17241e;--muted:#65746d;--line:#dce5df;
  --green:#08763c;--green-2:#0a9b50;--green-soft:#e6f7eb;--red:#e24d46;--amber:#dc9215;
  --blue:#54a0d2;--purple:#8674c9;--shadow:0 10px 28px rgba(26,61,43,.08);--r:18px;
}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Arial,sans-serif}button,input,select{font:inherit}button{border:0;cursor:pointer}a{color:var(--green)}h1,h2,h3,p{margin:0}h1 span,.login-brand h1 span{color:var(--green-2)}h2{font-size:1.22rem}h3{font-size:.96rem}.hidden{display:none!important}.muted{color:var(--muted)}.tiny{font-size:.7rem}.eyebrow{color:var(--muted);font-size:.64rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.full{width:100%}.stack{display:grid;gap:10px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.entry{position:fixed;inset:0;z-index:90;display:none;place-items:center;padding:22px;background:#f8fbf8}.entry.active{display:grid}.splash{background:#102a20;color:#fff}.splash-center,.login-brand{display:grid;justify-items:center;gap:8px;text-align:center}.splash h1,.login-brand h1{font-size:1.75rem}.splash p,.login-brand p{max-width:330px;color:#6e7e76;font-size:.78rem;line-height:1.45}.splash p{color:rgba(255,255,255,.72)}.logo-mark img{display:block;width:54px;height:54px}.loader{width:180px;height:5px;margin-top:20px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.16)}.loader i{display:block;width:100%;height:100%;transform-origin:left;background:#5fcb8a;animation:load 1.35s ease-out forwards}@keyframes load{from{transform:scaleX(0)}to{transform:scaleX(1)}}.login-shell{width:min(100%,940px)}.login-brand{margin:0 auto 44px}.login-actions{display:grid;gap:12px}.social,.ghost,.primary,.soft{min-height:44px;padding:10px 14px;border-radius:14px;font-size:.78rem;font-weight:900}.social{background:#fff;box-shadow:var(--shadow)}.social.apple{background:#111;color:#fff}.social.google b{color:#e6463a;font-size:1.1rem}.social.apple b{color:#fff}.ghost{border:1px solid var(--line);background:#fff;color:var(--green)}.primary{background:var(--green);color:#fff}.soft{background:var(--green-soft);color:var(--green)}.small{min-height:34px;padding:7px 10px;border-radius:10px;font-size:.7rem}.terms-check{display:flex;justify-content:center;gap:7px;margin:28px auto 0;color:var(--muted);font-size:.64rem;text-align:center}.terms-check input{width:16px;height:16px;accent-color:var(--green)}
.app{min-height:100vh;padding-bottom:76px}.app-top{position:sticky;top:0;z-index:9;display:flex;align-items:center;justify-content:space-between;min-height:70px;padding:14px 18px;border-bottom:1px solid rgba(220,229,223,.8);background:rgba(245,248,245,.93);backdrop-filter:blur(14px);transition:transform .25s ease}.app-top.hide{transform:translateY(-105%)}.app-top h1{margin-top:2px;font-size:1.12rem}.icon-button{display:grid;width:38px;height:38px;place-items:center;border-radius:12px;background:#fff;color:var(--green);box-shadow:var(--shadow);font-size:1rem}.screens{width:min(100%,980px);margin:0 auto;padding:16px}.screen{display:none}.screen.active{display:block}.panel,.profile-hero{border:1px solid var(--line);border-radius:var(--r);background:#fff;box-shadow:var(--shadow)}.panel{padding:14px}.profile-hero{padding:16px;background:linear-gradient(135deg,#075e32,#0a8a49);color:#fff}.profile-hero .eyebrow,.profile-hero .muted{color:rgba(255,255,255,.72)}.profile-line{display:flex;align-items:center;gap:12px}.avatar{display:grid;width:54px;height:54px;flex:0 0 auto;place-items:center;overflow:hidden;border:2px solid rgba(255,255,255,.6);border-radius:50%;background:#dff3e5;color:var(--green);font-weight:900}.avatar img{width:100%;height:100%;object-fit:cover}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:15px}.stat{padding:8px;border-radius:11px;background:rgba(255,255,255,.13)}.stat b,.stat span{display:block}.stat b{font-size:.8rem}.stat span{margin-top:2px;color:rgba(255,255,255,.68);font-size:.6rem}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.quick{display:flex;align-items:center;gap:9px;padding:13px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:var(--shadow);color:var(--ink);font-size:.75rem;font-weight:900;text-align:left}.quick b{font-size:1.15rem}
.bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:12;display:grid;grid-template-columns:repeat(5,1fr);width:min(100%,980px);margin:auto;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--line);background:rgba(255,255,255,.96);backdrop-filter:blur(14px)}.bottom-nav button{display:grid;min-width:0;gap:3px;justify-items:center;padding:9px 2px 8px;background:transparent;color:#8c9b94;font-size:1rem}.bottom-nav span{font-size:.56rem;font-weight:900}.bottom-nav .active{color:var(--green)}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:9px;margin:4px 0 13px}.section-heading.compact{margin:19px 0 9px}.row-actions,.toolbar,.chips{display:flex;flex-wrap:wrap;gap:7px}.day-tabs,.chips{display:flex;gap:6px;margin:10px -16px;padding:0 16px 4px;overflow-x:auto;scrollbar-width:none}.day-tabs button,.chip,.segmented button{white-space:nowrap;padding:8px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-size:.68rem;font-weight:900}.day-tabs .active,.chip.active,.segmented .active{border-color:var(--green);background:var(--green);color:#fff}.summary-kcal{font-size:1.6rem;font-weight:900}.summary-kcal small{color:var(--muted);font-size:.7rem}.macro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}.macro{padding:8px;border-radius:10px;background:#f5f8f5}.macro b,.macro span{display:block}.macro b{font-size:.75rem}.macro span{font-size:.61rem;color:var(--muted)}.progress{height:5px;margin-top:6px;overflow:hidden;border-radius:99px;background:#e8eeea}.progress i{display:block;height:100%;width:var(--pct);background:var(--tone);border-radius:99px}.meal-card,.food-card,.cost-item,.plate-card{padding:12px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:var(--shadow)}.meal-head,.food-head,.cost-head{display:flex;align-items:center;gap:10px}.meal-icon,.food-image{display:grid;width:42px;height:42px;flex:0 0 auto;place-items:center;overflow:hidden;border-radius:13px;background:var(--green-soft);font-size:1.15rem}.food-image img{width:100%;height:100%;object-fit:cover}.grow{flex:1;min-width:0}.grow b,.grow span{display:block}.grow b{font-size:.78rem}.grow span{margin-top:2px;color:var(--muted);font-size:.65rem}.meal-items{display:grid;gap:4px;margin-top:10px;padding-top:9px;border-top:1px solid var(--line);font-size:.68rem;color:var(--muted)}.warning{color:var(--red)!important}.pill{display:inline-block;padding:5px 7px;border-radius:999px;background:#eff5f1;color:var(--green);font-size:.62rem;font-weight:900}.check-meal{width:18px;height:18px;accent-color:var(--green)}.search{display:flex;align-items:center;gap:7px;padding:0 11px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:var(--shadow)}input,select{width:100%;min-height:43px;padding:0 10px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);outline:0}input:focus,select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(10,155,80,.1)}.search input{border:0;box-shadow:none}.advanced{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:9px 0}.switch{position:relative;width:40px;height:23px}.switch input{display:none}.switch span{position:absolute;inset:0;border-radius:99px;background:#dce5df}.switch span:after{position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:#fff;content:"";transition:.2s}.switch input:checked+span{background:var(--green)}.switch input:checked+span:after{transform:translateX(17px)}
label{display:grid;gap:5px}label>span,legend{color:var(--muted);font-size:.64rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}fieldset{padding:10px;border:1px solid var(--line);border-radius:13px}.checks{display:grid;grid-template-columns:1fr 1fr;gap:7px}.checks label{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:.68rem}.checks input{width:15px;min-height:15px;accent-color:var(--green)}.toggle{display:flex;align-items:center;gap:8px}.toggle input{width:17px;min-height:17px;accent-color:var(--green)}.toggle b{font-size:.74rem}.activity-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.activity-grid label b{font-size:.68rem}.activity-grid select{min-height:38px;font-size:.7rem}.note{font-size:.7rem;line-height:1.5}.note h3{font-size:.78rem}.avatar-editor{display:flex;align-items:center;gap:12px}.avatar-editor img{width:60px;height:60px;border-radius:50%;background:#edf5ef;object-fit:cover}.file-button{display:inline-grid;margin-top:6px;place-items:center}.file-button input{display:none}.slots{margin-bottom:11px}.slot-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px}.slot-tabs button{min-width:0;padding:8px 5px;border:1px solid var(--line);border-radius:10px;background:#f7faf7;color:var(--muted);font-size:.67rem;font-weight:900}.slot-tabs .active{border-color:var(--green);background:var(--green-soft);color:var(--green)}
.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-bottom:11px}.segmented button{border-radius:12px}.finance-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:12px}.finance-total{padding:10px 6px;border:1px solid var(--line);border-radius:14px;background:#fff;text-align:center}.finance-total.active{border-color:#77cf99;background:#e4f8e8}.finance-total span,.finance-total b{display:block}.finance-total span{color:var(--muted);font-size:.59rem;text-transform:uppercase}.finance-total b{margin-top:4px;font-size:.75rem}.chart-grid{display:grid;gap:10px;margin-top:11px}.chart-card{display:grid;justify-items:center}.donut-wrap{position:relative;width:142px;height:142px;margin:9px auto}.donut{width:100%;height:100%;border-radius:50%;background:conic-gradient(#dce5df 0 100%)}.donut:after{position:absolute;inset:27px;border-radius:50%;background:#fff;content:""}.donut-center{position:absolute;inset:0;z-index:1;display:grid;place-content:center;text-align:center;font-size:.65rem}.donut-center b{display:block;font-size:.84rem}.legend{display:grid;grid-template-columns:1fr 1fr;gap:5px;width:100%}.legend span{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:.62rem}.legend i{width:8px;height:8px;border-radius:50%}.price-row{display:grid;grid-template-columns:1fr 88px 1fr;gap:6px;margin-top:8px}.price-row input,.price-row select{min-height:36px;font-size:.7rem}.shopping{color:#26729e;font-size:.64rem;font-weight:900;text-decoration:none}
.plate{display:grid;grid-template-columns:1fr 1fr;gap:7px;width:min(100%,360px);aspect-ratio:1;margin:14px auto;padding:27px;border:8px solid #fff;border-radius:50%;background:#edf5ef;box-shadow:var(--shadow)}.plate-slot{display:grid;align-content:center;gap:4px;min-width:0;padding:7px;border:1px solid #d7e8dd;border-radius:13px;background:rgba(255,255,255,.92)}.plate-slot span{font-size:.59rem}.plate-slot input,.plate-slot select{min-height:34px;padding:0 6px;font-size:.65rem}.compare-list{display:grid;gap:7px;margin-top:9px}.compare-row{display:grid;grid-template-columns:88px 1fr auto;gap:6px;align-items:center;font-size:.64rem}.compare-row .progress{margin:0}.plate-card .checks{margin-top:8px}
.modal{position:fixed;inset:0;z-index:50;display:none;align-items:flex-end;justify-content:center;background:rgba(10,25,18,.46)}.modal.open{display:flex}.sheet{position:relative;width:min(100%,620px);max-height:92vh;overflow-y:auto;padding:18px 16px calc(20px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;background:#fff}.sheet-close{position:absolute;top:10px;right:12px;width:34px;height:34px;border-radius:50%;background:#eff4f1;color:var(--muted);font-size:1.2rem}.sheet h2{padding-right:42px}.toast{position:fixed;right:16px;bottom:84px;left:16px;z-index:80;display:none;margin:auto;padding:12px;border-radius:12px;background:#203a2f;color:#fff;font-size:.73rem;font-weight:900;text-align:center}.toast.show{display:block}.terms-page{padding:18px}.terms-shell{max-width:720px;margin:auto}.back-link{display:inline-block;margin-bottom:18px;text-decoration:none}.prose{margin-top:22px}.prose h2,.prose h3{margin:15px 0 5px}.prose p{color:var(--muted);font-size:.78rem;line-height:1.6}
@media(min-width:700px){.screens{padding:20px}.chart-grid{grid-template-columns:1fr 1fr}.quick-grid{grid-template-columns:repeat(4,1fr)}.activity-grid{grid-template-columns:repeat(4,1fr)}.login-actions{max-width:910px;margin:auto}.login-shell .terms-check{margin-top:38px}.login-brand{margin-bottom:48px}}

/* Visual identity recovered from the previous approved version. */
:root{
  --bg:#f7faf7;--card:#fff;--ink:#1e2b25;--muted:#708078;--line:#e4ebe6;
  --green:#299968;--green-2:#299968;--green-soft:#eaf7ef;--red:#c94f4a;--amber:#e5ad39;
  --shadow:0 9px 28px rgba(35,70,52,.09);--r:16px;
}
html{background:#edf3ef}
body{background:#edf3ef;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.entry{background:#f8fbf8}
.splash{background:#132b23;color:#fff}
.splash-center{gap:8px}
.splash-center svg{display:block;margin-bottom:2px}
.splash h1{font-size:1.82rem}
.splash p{color:rgba(255,255,255,.7)}
.loader{position:relative;width:184px;height:5px;margin-top:20px;background:rgba(255,255,255,.16)}
.loader:after{position:absolute;inset:0;background:#67c792;content:"";transform-origin:left;animation:load 1.35s ease-out forwards}
.login-shell{width:min(100%,910px)}
.login-actions{gap:12px}
.social,.ghost,.primary,.soft{border-radius:14px}
.app{width:min(100%,520px);min-height:100vh;margin:0 auto;padding-bottom:76px;background:var(--bg);box-shadow:0 0 42px rgba(34,69,52,.08)}
.screens{width:100%;margin:0;padding:20px 18px}
.screen{min-height:calc(100vh - 112px)}
.app-top{width:100%;min-height:66px;padding:12px 18px;background:rgba(247,250,247,.95);backdrop-filter:blur(14px)}
.top-brand{display:flex;align-items:center;gap:9px}.top-brand img{width:36px;height:36px}.top-brand b,.top-brand small{display:block}.top-brand b{font-size:1rem}.top-brand b span{color:var(--green)}.top-brand small{margin-top:2px;color:var(--muted);font-size:.61rem}
.icon-button{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;box-shadow:0 5px 16px rgba(35,70,52,.08)}
.menu-button{display:grid;align-content:center;justify-content:center;gap:3px;padding:0}
.menu-button>span{display:block;width:16px;height:2px;border-radius:99px;background:var(--green)}
.bottom-nav{width:min(100%,520px)}
.panel,.profile-hero{border-radius:16px;box-shadow:var(--shadow)}
.home-head{display:flex;align-items:flex-start;justify-content:space-between;margin:2px 0 20px}
.home-head h1{font-size:1.58rem;line-height:1.15}
.small{font-size:.76rem}
.profile-card{padding:17px}
.profile-line{gap:14px}
.avatar{width:62px;height:62px;border:0;background:linear-gradient(145deg,#4db77e,#247b59);color:#fff;font-size:1rem}
.profile-stats{display:grid;flex:1;grid-template-columns:repeat(3,1fr);gap:7px;text-align:center}
.profile-stats b,.profile-stats span,.profile-stats small{display:block}
.profile-stats b{font-size:1rem}
.profile-stats span{margin-top:1px;color:var(--muted);font-size:.61rem}
.profile-stats small{margin-top:5px;color:var(--muted);font-size:.57rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.profile-info{display:grid;grid-template-columns:1.35fr 1fr;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.profile-info span,.profile-info b{display:block}
.profile-info span{color:var(--muted);font-size:.6rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.profile-info b{margin-top:4px;color:var(--green);font-size:.74rem}
.health-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:14px}
.health-grid div{padding:8px 6px;border-radius:10px;background:#f6f9f7}
.health-grid b,.health-grid span{display:block}
.health-grid b{font-size:.76rem}
.health-grid span{margin-top:3px;color:var(--muted);font-size:.56rem;line-height:1.3}
.today-card{margin-top:14px}
.action-title{margin:22px 0 10px;color:var(--muted);font-size:.75rem;font-weight:800}
.home-actions{gap:10px}
.action-card{display:flex;align-items:center;gap:12px;width:100%;padding:13px;text-align:left;transition:transform .16s ease,box-shadow .16s ease}
.action-card:active{transform:scale(.99)}
.action-icon{display:grid;width:44px;height:44px;flex:0 0 auto;place-items:center;border-radius:13px;background:var(--green-soft);font-size:1.08rem}
.action-icon.finance{background:#fff6df}.action-icon.plates{background:#f4effb}.action-icon.foods{background:#ebf7fa}
.action-card strong,.action-card small{display:block}
.action-card strong{color:var(--ink);font-size:.78rem}
.action-card small{margin-top:3px;color:var(--muted);font-size:.64rem;line-height:1.35}
.action-card i{color:#9aaba2;font-size:1.35rem;font-style:normal}
.section-heading{margin-top:2px}
.section-heading h2{font-size:1.22rem}
.day-tabs,.chips{margin-right:-18px;margin-left:-18px;padding-right:18px;padding-left:18px}
.day-tabs button,.chip,.segmented button{border-radius:999px}
.meal-card,.food-card,.cost-item,.plate-card{border-radius:15px;box-shadow:0 6px 20px rgba(35,70,52,.07)}
.meal-icon,.food-image{border-radius:12px}
.finance-total{border-radius:14px}
.chart-card{align-content:start}
.plate{box-shadow:0 9px 28px rgba(35,70,52,.1)}
.toast{width:min(calc(100% - 32px),488px)}
@media(min-width:700px){
  .screens{padding:22px 18px}
  .chart-grid{grid-template-columns:1fr}
  .activity-grid{grid-template-columns:1fr 1fr}
  .login-actions{max-width:910px}
}

/* App-like configuration drawer and legacy form polish. */
.profile-backdrop{position:fixed;inset:0;z-index:35;display:none;background:rgba(14,30,23,.38)}
.profile-backdrop.open{display:block}
.profile-drawer{position:fixed;top:0;right:0;bottom:0;z-index:40;width:min(92vw,440px);overflow-y:auto;padding:0 16px calc(22px + env(safe-area-inset-bottom));background:var(--bg);box-shadow:-18px 0 38px rgba(31,75,53,.18);transform:translateX(105%);transition:transform .22s ease}
.profile-drawer.open{transform:translateX(0)}
.drawer-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 -16px 14px;padding:calc(15px + env(safe-area-inset-top)) 16px 13px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.94);backdrop-filter:blur(14px)}
.drawer-head h2{margin-top:2px;font-size:1.16rem}
.drawer-close{display:grid;width:38px;height:38px;place-items:center;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--muted);font-size:1.35rem}
.profile-drawer .stack{gap:12px}
.profile-drawer input,.profile-drawer select{min-height:44px;padding:0 11px;border-radius:12px;font-size:.8rem}
.profile-drawer fieldset{margin:0;border-radius:12px;background:rgba(255,255,255,.45)}
.profile-drawer label>span,.profile-drawer legend{font-size:.68rem;font-weight:800;letter-spacing:.04em}
.danger{min-height:44px;padding:9px 13px;border:1px solid rgba(201,79,74,.22);border-radius:13px;background:#fffafa;color:var(--red);font-size:.8rem;font-weight:800}
.profile-terms{display:flex;align-items:center;justify-content:flex-start;gap:8px;margin:2px 0;padding:7px 1px;color:var(--muted);font-size:.7rem;text-align:left}
.profile-terms span{color:var(--muted);font-size:.7rem;font-weight:700;letter-spacing:0;text-transform:none}
.profile-terms a{color:var(--green);font-weight:900}
.checks input,.profile-terms input,.check-meal{width:18px;min-width:18px;height:18px;min-height:18px;margin:0;appearance:none;border:1px solid #b8c8c0;border-radius:5px;background:#fff}
.checks input:checked,.profile-terms input:checked,.check-meal:checked{border-color:var(--green);background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.2' d='m3 8 3 3 7-7'/%3E%3C/svg%3E") center/13px no-repeat}
.check-meal{flex:0 0 auto;border-radius:6px}
.today-heading{display:flex;align-items:center;justify-content:space-between;gap:9px}.today-heading h3{margin-top:3px;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.82rem;font-weight:800}.meal-open{display:flex;flex:1;align-items:center;gap:10px;min-width:0;padding:0;background:transparent;text-align:left}.meal-open .meal-icon{display:grid}.meal-edit-list{margin-top:12px}.meal-edit-row{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#f8faf8}.swap-button{display:grid;width:36px;height:36px;flex:0 0 auto;place-items:center;border-radius:50%;background:var(--green-soft);color:var(--green);font-size:1.28rem;font-weight:900}.insert-meal-list{margin-top:12px}.meal-choice{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);text-align:left}.meal-choice span{font-size:1.1rem}.meal-choice b{flex:1;font-size:.78rem}.meal-choice i{color:var(--muted);font-size:1.2rem;font-style:normal}
.activity-grid{gap:8px}.activity-grid select{min-height:38px;border-radius:10px;background:#fff;font-size:.72rem}
#planDays{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:12px 0 0;padding:0 0 6px;overflow:visible}
#planDays button{min-width:0;width:100%;padding:8px 3px;border-radius:13px;font-size:.61rem}
.food-card{padding:11px}.food-card.off{opacity:.58}.food-card-main{display:flex;align-items:flex-start;gap:10px}.food-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:9px;padding-top:8px;border-top:1px solid var(--line)}.food-card-actions .pill{margin-right:auto}.food-dot{width:11px;height:11px;flex:0 0 auto;border-radius:50%}.food-card .soft{min-height:32px}
.food-source{margin:7px 0 12px;color:var(--muted);font-size:.64rem;line-height:1.45}.food-source a{color:var(--green);font-weight:800}
.finance-summary{margin-bottom:10px}.money{margin:3px 0;color:var(--green);font-size:1.7rem;font-weight:900}.finance-cycle-values{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:7px}.finance-cycle-values>div{padding:9px;border-radius:10px;background:#f6f9f7}.finance-cycle-values span{display:block;color:var(--muted);font-size:.58rem;font-weight:800;text-transform:uppercase}.finance-cycle-values .money{font-size:1.12rem}.finance-cycle-values .secondary{color:#26729e}.finance-profiles{margin-bottom:10px}.finance-profile-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.finance-profile-tag{display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);cursor:pointer;font-size:.67rem;font-weight:800}.finance-profile-tag.active{border-color:#83cfa1;background:#eaf8ee;color:var(--green)}.finance-profile-tag input{width:15px;height:15px;min-height:0;accent-color:var(--green)}.finance-profile-breakdown{margin-top:8px}.select-card{margin:12px 0;padding:11px;border:1px solid var(--line);border-radius:12px;background:#f7faf7}.select-card select{min-height:40px;margin-top:2px;border-radius:10px;font-size:.78rem}.chart-card{padding:14px}.chart-card .eyebrow{justify-self:start}.legend{gap:7px}.legend span{font-size:.65rem}.finance-total{cursor:pointer}
.plate-card .checks{align-items:center}.dish-compare{display:grid;gap:8px}.dish-compare article{padding:10px;border-radius:11px;background:#f7faf7}.dish-compare article.draft{border:1px solid rgba(41,153,104,.25);background:#f2fbf5}.dish-card-head{display:flex;align-items:start;justify-content:space-between;gap:8px}.dish-card-head i{padding:4px 6px;border-radius:99px;background:var(--green-soft);color:var(--green);font-size:.55rem;font-style:normal;font-weight:900;text-transform:uppercase}.dish-compare b,.dish-compare span{display:block}.dish-compare span{margin-top:2px;color:var(--muted);font-size:.65rem}.dish-compare ul{display:grid;gap:3px;margin:8px 0 0;padding:7px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);list-style:none}.dish-compare li{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:.63rem}.dish-compare li b{color:var(--green)}.dish-compare p{margin-top:8px;color:var(--muted);font-size:.67rem}.dish-compare .plate-macros{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:8px}.dish-compare .plate-macros div{padding:6px 3px;border-radius:8px;background:#fff;text-align:center}.dish-compare strong,.dish-compare small{display:block}.dish-compare strong{font-size:.7rem}.dish-compare small{margin-top:2px;color:var(--muted);font-size:.53rem;text-transform:uppercase}
@media(min-width:760px){.profile-drawer{width:440px}}

/* Typography system shared by every module. */
body,button,input,select{font-family:"Manrope",Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:0}
h1,h2,h3,.top-brand b,.grow b,.action-card strong{font-family:"Manrope",Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:0}
.screen h2,.drawer-head h2,.sheet h2{font-size:1.34rem;font-weight:800;line-height:1.14}
.screen h3,.sheet h3{font-size:.92rem;font-weight:800;line-height:1.24}
.section-heading{align-items:flex-start}
.section-heading .eyebrow,.eyebrow,label>span,legend{letter-spacing:.06em}
button{font-weight:800}
input,select{font-size:.8rem;line-height:1.2}
.grow b,.action-card strong,.meal-open b,.food-card b,.cost-item b,.plate-card b{font-weight:800;line-height:1.22}
.grow span,.action-card small,.food-card .grow span,.cost-item .grow span,.plate-card .grow span{line-height:1.4}
.placeholder-meal{display:flex;align-items:center;gap:10px;border-style:dashed;background:#fbfcfb;box-shadow:none}.placeholder-meal .meal-icon{filter:grayscale(1);opacity:.54}.placeholder-meal .grow{opacity:.58}.empty-meals{margin-top:11px}.empty-macros{opacity:.66}
.meal-option{display:flex!important;min-height:48px;align-items:center;gap:8px!important;padding:8px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink)!important;font-size:.72rem!important;line-height:1.2}.meal-option:has(input:checked){border-color:#8bd0a8;background:#f0faf3}.meal-option input{flex:0 0 auto}.meal-option-icon{font-size:1rem}.meal-option b{font-size:.68rem;line-height:1.25}
.activity-help-trigger{display:flex;width:100%;align-items:center;justify-content:space-between;margin-top:9px;padding:9px 1px 1px;background:transparent;color:var(--green);font-size:.69rem;font-weight:800;text-align:left}.activity-help-trigger span{display:grid;width:22px;height:22px;place-items:center;border-radius:50%;background:var(--green-soft);font-size:.92rem}.activity-help{display:grid;gap:7px;margin-top:9px;padding-top:8px;border-top:1px solid var(--line)}.activity-help div{padding:8px;border-radius:9px;background:#f6f9f7}.activity-help b,.activity-help span{display:block}.activity-help b{font-size:.68rem}.activity-help span{margin-top:3px;color:var(--muted);font-size:.62rem;line-height:1.45}
.upload-control{display:grid;grid-template-columns:38px 1fr;gap:1px 9px;align-items:center;padding:10px;border:1px dashed #9bc9ae;border-radius:12px;background:#f2faf5;color:var(--green);cursor:pointer}.upload-control b{display:grid;grid-row:1/3;width:38px;height:38px;place-items:center;border-radius:10px;background:var(--green-soft);font-size:1.15rem}.upload-control i{font-size:.72rem;font-style:normal;font-weight:800}.upload-control small{color:var(--muted);font-size:.61rem}.upload-control input{display:none}
.reference-fields{padding:10px;border:1px solid #cfe7d8;border-radius:12px;background:#f7fcf9}.reference-fields .grid2{margin-top:8px}.form-note{color:var(--muted);font-size:.61rem;line-height:1.42}.macro-reference{margin-top:2px;padding:7px 9px;border-radius:8px;background:#f6f9f7}
.plate-slot.portion-good{border-color:#9bd4b3;background:#f7fcf8}.plate-slot.portion-low{border-color:#e7be68;background:#fffbf1}.plate-slot.portion-high{border-color:#dea09d;background:#fff8f7}.plate-slot.portion-good input,.plate-slot.portion-good select{border-color:#b7dec6}.plate-slot.portion-low input,.plate-slot.portion-low select{border-color:#e7be68}.plate-slot.portion-high input,.plate-slot.portion-high select{border-color:#dea09d}.plate-weight{display:flex;align-items:center;justify-content:space-between;margin-top:9px;padding:8px;border-radius:9px;font-size:.66rem}.plate-weight b{font-size:.72rem}.plate-weight.portion-good{background:#edf9f1;color:var(--green)}.plate-weight.portion-low{background:#fff8e9;color:#a06b07}.plate-weight.portion-high{background:#fff0ef;color:var(--red)}
.terms-page{font-family:"Manrope",Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.today-heading .pill{max-width:122px;padding:4px 6px;text-align:center;line-height:1.25}
.calorie-ranges{margin-top:12px;padding:10px;border-radius:11px;background:#f6f9f7}.calorie-range-grid{display:grid;gap:6px;margin-top:7px}.calorie-range-grid div{display:flex;align-items:center;justify-content:space-between;gap:8px}.calorie-range-grid span{color:var(--muted);font-size:.61rem}.calorie-range-grid b{color:var(--green);font-size:.66rem;text-align:right}.calorie-ranges.detailed{padding:10px 0;border-top:1px solid var(--line);border-radius:0;background:transparent}
.objective-banner{margin-top:10px;padding:12px;border-radius:11px;background:linear-gradient(135deg,#08743e,#0a9b50);color:#fff}.objective-banner span{font-size:.59rem;font-weight:800;text-transform:uppercase}.objective-banner h3{margin-top:4px;color:#fff;font-size:1.02rem}.objective-banner p{margin-top:5px;color:rgba(255,255,255,.9);font-size:.67rem;line-height:1.42}.plan-calories{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.plan-calories div{padding:10px;border-radius:10px;background:#f5f8f5}.plan-calories span,.plan-calories b{display:block}.plan-calories span{color:var(--muted);font-size:.6rem}.plan-calories b{margin-top:4px;font-size:.86rem}.plan-health{margin-top:12px}.method-card{margin-top:9px;color:var(--muted);font-size:.62rem}.method-card b{color:var(--ink)}
.plan-profile-info{margin-top:14px}.plan-timeline{margin-top:10px;line-height:1.45}.plan-timeline a{color:var(--green);font-weight:800}
.filter-label{margin:12px 0 3px;color:var(--muted);font-size:.62rem;font-weight:800;text-transform:uppercase}.status-chip{border-color:#cde6d7;background:#f7fcf9}.food-card .food-image{width:46px;height:46px;border:1px solid var(--line);border-radius:50%;background:#f4f8f5}.food-card .food-image img{padding:5px}.food-card .grow small{display:block;margin-top:4px;color:var(--green);font-size:.6rem;line-height:1.35}.food-card .pill{font-size:.56rem}
.leftover-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.leftover-grid span{padding:7px;border-radius:8px;background:#f6f9f7;color:var(--muted);font-size:.6rem;line-height:1.35}.leftover-grid b{display:block;margin-top:2px;color:var(--green);font-size:.67rem}.modal-stock{margin-top:12px}.unit-reference{margin-top:7px;padding:7px 9px;border-radius:8px;background:#f6faf7}
.plate-fits{margin:10px 0}.plate-slot{position:relative}.plate-slot-actions{display:flex;justify-content:flex-end;gap:4px}.plate-slot-actions button{display:grid;width:22px;height:22px;place-items:center;border-radius:50%;background:var(--green-soft);color:var(--green);font-size:.86rem;font-weight:800}.plate-slot-actions button+button{background:#fff0ef;color:var(--red)}
.add-food-button{display:flex;width:100%;align-items:center;justify-content:center;gap:7px;margin-top:12px}.add-food-button b{display:grid;width:22px;height:22px;place-items:center;border-radius:50%;background:#fff;font-size:1rem}.meal-edit-row.portion-good{border-color:#a9d9bb}.meal-edit-row.portion-low{border-color:#e7be68;background:#fffbf1}.meal-edit-row.portion-high{border-color:#dea09d;background:#fff8f7}.meal-amount-field{display:block;margin-top:7px}.meal-amount-field small{display:block;color:var(--muted);font-size:.57rem;font-weight:800;text-transform:uppercase}.meal-gram-input{width:86px;min-height:33px;margin-top:4px;font-size:.7rem}.remove-button{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border-radius:50%;background:#fff0ef;color:var(--red);font-size:1rem;font-weight:800}.picker-chips{margin:10px 0}.meal-food-choice{display:flex;align-items:center;gap:9px;padding:9px;border:1px solid var(--line);border-radius:11px;background:#fff;text-align:left}.meal-food-choice .food-image{width:34px;height:34px;border-radius:50%}.meal-food-choice .food-image img{padding:4px}.meal-food-choice i{display:grid;width:25px;height:25px;place-items:center;border-radius:50%;background:var(--green-soft);color:var(--green);font-size:1rem;font-style:normal}
.meal-view-list{margin-top:12px}.meal-view-row{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid var(--line);border-radius:11px;background:#fbfcfb}.meal-view-row .grow span{margin-top:3px;color:var(--muted);font-size:.65rem}.recover-list{margin-top:12px}.recover-card{padding:10px;border:1px solid var(--line);border-radius:11px;background:#fbfcfb}.recover-card.recover-pending{border-color:#b9dec8;background:#f3fbf5}.recover-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.recover-head b{font-size:.72rem}.recover-head select{width:142px;min-height:34px;font-size:.66rem}.partial-items{margin-top:9px}.partial-row{display:flex;align-items:center;gap:7px;padding-top:7px;border-top:1px solid var(--line)}.partial-row b,.partial-row small{display:block}.partial-row b{font-size:.67rem}.partial-row small{margin-top:2px;color:var(--muted);font-size:.6rem}.partial-row input{width:70px;min-height:33px;font-size:.68rem}.outside-list{margin:9px 0}.recover-actions{margin-top:12px}
.empty-profile-button{display:grid;width:100%;gap:6px;margin-top:6px;padding:0;background:transparent;color:var(--ink);text-align:left}.empty-profile-button h2{color:var(--green);font-size:1.22rem}.empty-profile-button span{color:var(--muted);font-size:.72rem;line-height:1.45}
.builder-tabs{grid-template-columns:1fr 1fr;margin:4px 0 14px}.recipe-intro{margin-bottom:12px}.recipe-builder{margin-top:12px}.recipe-ingredient-row{display:grid;grid-template-columns:1fr 88px 34px;gap:7px;align-items:end;padding:9px;border:1px solid var(--line);border-radius:12px;background:#fbfcfb}.recipe-ingredient-row label{gap:3px}.recipe-ingredient-row label>span{font-size:.55rem}.recipe-ingredient-row input,.recipe-ingredient-row select{min-height:36px;font-size:.68rem}.recipe-lines{display:block;margin-top:4px;color:var(--muted)!important;font-size:.58rem!important;line-height:1.4}.meal-items .recipe-lines{padding-left:8px;border-left:2px solid #dceee3}.food-card .recipe-lines{color:#6b7b72!important}.recipe-badge{display:inline-grid;place-items:center;margin-left:5px;padding:3px 6px;border-radius:999px;background:#eaf8ef;color:var(--green);font-size:.53rem;font-weight:900;vertical-align:middle}.recipe-food-card,.recipe-saved-card,.recipe-choice{border-color:#bfe5cc;background:linear-gradient(180deg,#fff,#f7fcf9)}.recipe-saved-card .checks{margin-top:9px}.recipe-compact-items{margin:8px 12px 0 52px;border-top:1px solid var(--line);font-size:.62rem}
@media(max-width:420px){.recipe-ingredient-row{grid-template-columns:1fr 72px 32px}.recipe-ingredient-row input,.recipe-ingredient-row select{font-size:.62rem}}
