:root{
  --bg:#667FFF;
  --app-bg:#F7F9FF;
  --surface:#FFFFFF;
  --surface-2:#F2F5FF;
  --surface-3:#EEF2FF;
  --card:#FFFFFF;
  --field:#FFFFFF;
  --ink:#293D66;
  --text:#3D4660;
  --muted:#7F8799;
  --faint:#A9B0C0;
  --line:#E3E8F4;
  --line-soft:rgba(41,61,102,.09);
  --blue:#667FFF;
  --blue-soft:#E8ECFF;
  --blue-deep:#293D66;
  --orange:#FF9F71;
  --peach:#FFC3A6;
  --peach-soft:#FFF1EA;
  --green:#76B98E;
  --red:#E76D72;
  --red-soft:#FFF0F1;
  --cream:#FFFDF8;
  --shadow:0 22px 46px rgba(41,61,102,.14);
  --shadow-soft:0 12px 28px rgba(41,61,102,.10);
  --radius-xl:30px;
  --radius-lg:22px;
  --radius-md:16px;
  --radius-sm:12px;
  --app-width:520px;
  color-scheme:light;
}
*{box-sizing:border-box}
html{min-height:100%;background:var(--bg);scrollbar-width:none;-webkit-text-size-adjust:100%}
body{min-height:100%;margin:0;background:var(--bg);color:var(--text);font-family:Manrope,Inter,Arial,sans-serif;font-size:15px;line-height:1.45;overflow-x:hidden;scrollbar-width:none}
body::-webkit-scrollbar,.sheet::-webkit-scrollbar,.screens::-webkit-scrollbar,.day-tabs::-webkit-scrollbar,.chips::-webkit-scrollbar,.profile-drawer::-webkit-scrollbar,.ai-chat-messages::-webkit-scrollbar{display:none}
button,input,select,textarea{font:inherit}
button{border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
button,a,label,input,select,textarea,.chip,.toggle{touch-action:manipulation}
button:disabled{cursor:not-allowed;opacity:.55}
a{color:var(--blue);font-weight:800;text-decoration:none}
h1,h2,h3,p{margin:0}
h1,h2,h3{color:var(--ink);line-height:1.12;letter-spacing:0}
h2{font-size:1.2rem;font-weight:900}
h3{font-size:1rem;font-weight:900}
ul{margin:0;padding:0}
.hidden{display:none!important}.full{width:100%}.grow{flex:1;min-width:0}.stack{display:grid;gap:12px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.muted{color:var(--muted)}.tiny{color:var(--muted);font-size:.78rem;line-height:1.45}.warning{color:var(--red)!important}.eyebrow,label>span,legend{color:var(--muted);font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.note,.form-note{color:var(--muted);font-size:.78rem;line-height:1.55}.pill{display:inline-flex;align-items:center;gap:5px;width:max-content;min-height:25px;padding:5px 10px;border:1px solid var(--line);border-radius:999px;background:var(--blue-soft);color:var(--blue-deep);font-size:.68rem;font-weight:900}
.language-toggle,.country-toggle{display:inline-grid;place-items:center;width:54px;height:38px;margin:8px auto 14px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--blue-deep);font-size:.74rem;font-weight:900;letter-spacing:.03em;box-shadow:var(--shadow-soft)}.language-toggle.compact,.country-toggle.compact{width:40px;height:40px;margin:0;border-radius:50%;box-shadow:var(--shadow-soft)}.country-toggle{font-size:1.05rem;line-height:1}.language-toggle:active,.country-toggle:active{transform:translateY(1px)}

.app{width:min(100%,var(--app-width));min-height:100vh;margin:0 auto;padding-bottom:92px;background:var(--app-bg)}
.app-top{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;min-height:66px;padding:11px 18px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.92);backdrop-filter:blur(18px);transition:transform .24s ease,box-shadow .24s ease}.app-top.hide{transform:translateY(-105%)}.top-brand{display:flex;align-items:center;gap:10px;min-width:0}.top-brand img{width:42px;height:42px;border-radius:15px;background:#fff;box-shadow:0 10px 24px rgba(41,61,102,.16)}.top-brand strong{display:block;color:var(--blue-deep);font-size:1.34rem;font-weight:900;line-height:1;letter-spacing:0}.top-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.icon-button,.drawer-close,.sheet-close{display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--blue-deep);box-shadow:var(--shadow-soft)}.icon-button{width:44px;height:44px;font-size:1rem}.tutorial-replay-button{font-weight:900}.screens{display:block;width:100%;padding:8px 16px 18px}.screen{display:none}.screen.active{display:block}.bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:1000;display:grid;grid-template-columns:repeat(5,1fr);width:min(100%,var(--app-width));margin:auto;padding:8px 9px calc(9px + env(safe-area-inset-bottom));border:1px solid var(--line);border-bottom:0;border-radius:26px 26px 0 0;background:rgba(255,255,255,.94);box-shadow:0 -18px 36px rgba(41,61,102,.14);backdrop-filter:blur(18px);pointer-events:auto}.bottom-nav button{display:grid;min-width:0;gap:4px;justify-items:center;align-content:center;min-height:56px;padding:6px 2px;border-radius:18px;background:transparent;color:var(--faint);font-size:1.05rem;pointer-events:auto}.bottom-nav span{font-size:.62rem;font-weight:900}.bottom-nav .active{background:var(--blue-soft);color:var(--blue)}

.panel,.profile-card,.today-card,.diary-card,.meal-card,.food-card,.cost-item,.plate-card,.chart-card,.finance-detail-card,.finance-info-block,.recipe-builder,.advanced-profile,.reference-fields,.nutrition-photo-card,.finance-filter-box,.select-card,.ai-action-card,.notify-permission,.outside-inline-form{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--card);box-shadow:var(--shadow-soft);color:var(--text)}.panel{padding:16px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:18px 0 12px}.section-heading.compact{margin:14px 0 9px}.section-heading h2{font-size:1.22rem}.section-heading p{color:var(--muted);font-size:.77rem}.row-actions,.toolbar,.chips{display:flex;flex-wrap:wrap;gap:8px}.chips,.day-tabs{overflow-x:auto;scrollbar-width:none}.day-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:12px 0 4px;padding:0}.segmented,.home-tabs,.builder-tabs,.diary-series-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.home-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
.primary,.soft,.ghost,.danger,.chip,.day-tabs button,.segmented button,.diary-series-controls button,.builder-tabs button,.home-tabs button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border-radius:999px;font-size:.78rem;font-weight:900;line-height:1;text-align:center;white-space:nowrap}.primary{background:var(--blue-deep);color:#fff;box-shadow:0 12px 22px rgba(41,61,102,.18)}.soft,.ghost,.chip,.day-tabs button,.segmented button,.diary-series-controls button,.builder-tabs button,.home-tabs button{border:1px solid var(--line);background:#fff;color:var(--ink)}.ghost{background:transparent}.danger{background:var(--red-soft);color:var(--red)}.small{min-height:36px;padding:0 12px;font-size:.76rem}.day-tabs .active,.chip.active,.segmented .active,.diary-series-controls .active,.builder-tabs .active,.home-tabs .active{border-color:var(--blue);background:var(--blue);color:#fff}.row-actions .primary,.row-actions .soft,.toolbar .primary,.toolbar .soft{flex:0 0 auto}
label{display:grid;gap:6px;min-width:0}fieldset{display:grid;gap:10px;margin:0;padding:12px;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff}fieldset>legend{float:left;width:100%;margin:0 0 8px;padding:0;line-height:1.2}fieldset>legend+*{clear:both}input,select,textarea{width:100%;min-height:46px;padding:0 12px;border:1px solid var(--line);border-radius:14px;background:var(--field);color:var(--ink);outline:0;box-shadow:none}textarea{min-height:96px;padding:12px;resize:vertical}input::placeholder,textarea::placeholder{color:#A7ADBC}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(102,127,255,.14)}input[type="checkbox"],input[type="radio"]{width:18px;min-width:18px;height:18px;min-height:18px;padding:0;accent-color:var(--blue)}input[type="date"],input[type="time"]{color-scheme:light}.search,.picker-search,label.search{display:flex;align-items:center;gap:9px;min-height:50px;padding:0 13px;border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--muted);overflow:hidden;box-shadow:var(--shadow-soft)}.search input,.picker-search input,label.search input{min-height:44px;padding:0;border:0;background:transparent;box-shadow:none}.checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.checks label,.toggle,.meal-option{display:flex;align-items:center;gap:8px;min-width:0;padding:10px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--text);font-size:.78rem;font-weight:800}.switch{position:relative;width:44px;height:25px;flex:0 0 auto}.switch input{display:none}.switch span{position:absolute;inset:0;border-radius:999px;background:#D8DEEE}.switch span:after{position:absolute;top:3px;left:3px;width:19px;height:19px;border-radius:50%;background:#fff;content:"";transition:.2s;box-shadow:0 3px 8px rgba(41,61,102,.16)}.switch input:checked+span{background:var(--blue)}.switch input:checked+span:after{transform:translateX(19px)}

.entry,.splash,.login{display:none;min-height:100vh;background:var(--bg);color:#fff}.entry.active{display:grid}.splash.active{place-items:center;padding:24px;text-align:center}.splash-center{display:grid;justify-items:center;width:min(100%,360px)}.splash img,.login-logo,.logo-mark img{width:88px;height:88px;border-radius:26px;background:#fff;box-shadow:var(--shadow)}.splash h1,.login-brand h1{margin-top:14px;color:#fff;font-size:2.12rem;font-weight:900}.splash p,.login-brand p{max-width:280px;margin:6px auto 0;color:rgba(255,255,255,.86);font-size:.95rem;line-height:1.45}.loader{position:relative;overflow:hidden;width:min(100%,220px);height:8px;margin:30px auto 0;border-radius:999px;background:rgba(255,255,255,.28)}.loader:before{position:absolute;inset:0 auto 0 0;width:0;border-radius:inherit;background:#fff;content:"";animation:loadbar 1.28s ease-out forwards}@keyframes loadbar{0%{width:0}72%{width:84%}100%{width:100%}}.login.active{position:fixed;inset:0;align-content:center;min-height:100dvh;padding:24px;overflow:hidden;overscroll-behavior:none;touch-action:none}.login-shell{display:grid;gap:22px;width:min(100%,420px);margin:auto;touch-action:manipulation}.login-brand{display:grid;justify-items:center;text-align:center}.login-brand .logo-mark{display:grid;place-items:center}.login-actions{display:grid;gap:11px;padding:14px;border:1px solid rgba(255,255,255,.26);border-radius:28px;background:rgba(255,255,255,.14);box-shadow:var(--shadow);backdrop-filter:blur(16px);touch-action:manipulation}.login-card{display:grid;gap:14px;padding:18px;border:1px solid rgba(255,255,255,.28);border-radius:var(--radius-xl);background:#fff;box-shadow:var(--shadow)}.social{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;border:1px solid rgba(41,61,102,.1);border-radius:18px;background:#fff;color:var(--ink);font-weight:900;box-shadow:0 10px 22px rgba(41,61,102,.12)}.social-icon{display:grid;place-items:center;width:25px;height:25px;flex:0 0 auto;border-radius:50%;background:#fff;color:#111;font-size:.98rem;font-weight:900}.google-icon{color:#4285F4}.apple-icon svg{display:block;width:18px;height:18px;fill:#111}.login-guest{min-height:48px;border-color:rgba(255,255,255,.48);background:rgba(255,255,255,.12);color:#fff}

.profile-card{padding:16px;background:#fff}.home-hero-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.home-hero-identity{display:flex;align-items:center;gap:12px;min-width:0}.home-hero-identity em{display:block;margin-top:2px;color:var(--ink);font-size:.9rem;font-style:normal}.hero-avatar,.avatar{display:grid;place-items:center;overflow:hidden;width:54px;height:54px;flex:0 0 auto;border:1px solid var(--line);border-radius:50%;background:var(--blue-soft);color:var(--blue-deep);font-size:1.05rem;font-weight:900}.hero-avatar img,.avatar img{width:100%;height:100%;object-fit:cover}.hero-settings{display:none}.profile-card h2{font-size:1.25rem}.home-hero-kpis,.profile-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:15px}.home-hero-kpis div,.home-hero-kpis button,.profile-stats div{display:grid;align-content:space-between;gap:7px;min-height:74px;padding:12px;border:1px solid var(--line);border-radius:18px;background:var(--surface-2);text-align:left}.home-hero-kpis b,.profile-stats b{color:var(--ink);font-size:1rem;font-weight:900;line-height:1.15}.home-hero-kpis span,.profile-stats span{color:var(--muted);font-size:.72rem;line-height:1.25}.weight-kpi-action{cursor:pointer}.weight-kpi-action small{color:var(--blue);font-size:.76rem;font-weight:900}.hero-note{margin-top:13px;color:var(--muted);font-size:.8rem;line-height:1.55}.action-title{margin:8px 0 11px;color:var(--ink);font-size:1rem;font-weight:800}.home-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.action-card{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) 22px;align-items:center;gap:11px;min-height:86px;padding:14px;border:1px solid var(--line);border-radius:22px;background:#fff;color:var(--ink);box-shadow:var(--shadow-soft);text-align:left}.action-card:after{display:none}.action-card>i{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:rgba(41,61,102,.08);color:currentColor;font-style:normal;font-size:1rem;font-weight:900}.action-card[data-go="plan"],.action-card[data-go="finance"]{grid-column:1/-1;min-height:90px}.action-card[data-go="plan"]{border-color:var(--blue);background:var(--blue);color:#fff}.action-card[data-go="finance"]{border-color:var(--orange);background:var(--orange);color:#fff}.action-card strong{display:block;color:inherit;font-size:.94rem;line-height:1.12}.action-card small{display:-webkit-box;overflow:hidden;margin-top:3px;color:inherit;font-size:.71rem;font-weight:800;line-height:1.25;opacity:.88;-webkit-box-orient:vertical;-webkit-line-clamp:2}.action-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.28);font-size:1.08rem}.action-card[data-go="plates"],.action-card[data-go="foods"]{background:#fff;color:var(--ink)}.action-card[data-go="plates"]{border-color:var(--peach)}.action-card[data-go="foods"]{border-color:var(--blue-soft)}.action-card[data-go="plates"] .action-icon{background:var(--peach-soft)}.action-card[data-go="foods"] .action-icon{background:var(--blue-soft)}
.pre-profile-hero{align-items:flex-start;min-height:112px}.pre-profile-hero h2{font-size:1.55rem}.pre-profile-hero span{display:block;max-width:430px;margin-top:7px;color:var(--text);font-size:.9rem;line-height:1.55}.starter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:15px;margin-bottom:16px}.starter-grid div{display:grid;gap:6px;min-height:82px;padding:11px;border:1px solid var(--line);border-radius:18px;background:var(--surface-2)}.starter-grid b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--blue);color:#fff;font-size:.76rem}.starter-grid span{color:var(--text);font-size:.76rem;font-weight:800;line-height:1.3}.empty-today-intro{display:grid;gap:8px}.empty-today-intro h3{font-size:1.18rem}.empty-today-intro button{margin-top:4px}.objective-kpi{text-align:center}.objective-kpi b{align-self:center;text-align:center}.home-hero-kpis span{min-height:18px}.home-hero-kpis b{overflow:visible;text-overflow:clip;white-space:normal;text-align:inherit}.top-brand img{width:46px;height:46px;border-radius:16px}
.home-profile-summary{display:grid;grid-template-columns:72px repeat(3,minmax(0,1fr));gap:10px;align-items:center;padding-bottom:13px;border-bottom:1px solid var(--line)}.profile-person{display:grid;justify-items:center;gap:6px;min-width:0}.profile-person .hero-avatar{width:58px;height:58px}.profile-person strong{display:block;overflow:hidden;width:100%;color:var(--ink);font-size:.78rem;font-weight:900;line-height:1.15;text-align:center;text-overflow:ellipsis;white-space:nowrap}.profile-main-stat{display:grid;justify-items:center;gap:2px;min-height:62px;padding:6px;border-radius:16px;background:transparent;color:var(--ink);text-align:center}.profile-main-stat b{color:var(--ink);font-size:1.05rem;font-weight:900;line-height:1}.profile-main-stat span{color:var(--text);font-size:.7rem;font-weight:800;line-height:1}.profile-main-stat small{margin-top:2px;color:var(--muted);font-size:.62rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.profile-main-stat.weight-kpi-action{border:0;background:transparent;box-shadow:none;cursor:pointer}.profile-goal-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px 0 0}.profile-goal-row div{display:grid;gap:4px}.profile-goal-row span{color:var(--muted);font-size:.68rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.profile-goal-row b{color:var(--green);font-size:.84rem;font-weight:900;line-height:1.25}.profile-health-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.profile-health-grid div{display:grid;gap:4px;min-height:68px;padding:10px;border:1px solid var(--line-soft);border-radius:16px;background:var(--surface-2)}.profile-health-grid b{color:var(--ink);font-size:.92rem;font-weight:900}.profile-health-grid span{color:var(--muted);font-size:.64rem;line-height:1.25}

#planScreen .panel,.today-card,#planSummary{margin-bottom:12px}.plan-main-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.plan-main-actions button{min-width:0;padding:0 10px}.today-card{padding:15px}.today-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.today-heading h3{margin-top:3px;font-size:1.02rem}.nutrient-heading h3{font-size:1.3rem}.nutrient-context{max-width:360px;margin-top:5px}.today-heading .pill{margin-top:2px}.nutrient-day-title{margin-top:8px}.summary-kcal{color:var(--ink);font-size:1.75rem;font-weight:900}.summary-kcal small{color:var(--muted);font-size:.78rem}.macro-grid,.day-nutrition-grid,.diary-macros{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}.day-nutrition-grid{padding:10px;border:1px solid var(--line);border-radius:22px;background:var(--surface-2)}.macro,.day-macro,.diary-point-card div,.log-summary div,.diary-stats div,.finance-cycle-values>div,.leftover-grid span{position:relative;overflow:hidden;padding:11px;border:1px solid var(--line);border-radius:17px;background:#fff;color:var(--text)}.day-macro:before{position:absolute;top:0;right:0;left:0;height:4px;background:var(--tone,var(--blue));content:""}.day-macro:nth-child(1){--tone:var(--blue)}.day-macro:nth-child(2){--tone:var(--green)}.day-macro:nth-child(3){--tone:var(--orange)}.day-macro:nth-child(4){--tone:var(--red)}.macro b,.day-macro b,.diary-point-card b{display:block;color:var(--ink);font-size:.9rem}.day-macro:not(.planned-only) b,.day-macro:not(.planned-only) small{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;align-items:end}.day-macro b i,.day-macro small i{display:block;min-width:0;font-style:normal;line-height:1.1;text-align:center}.day-macro b i{color:var(--ink);font-size:.88rem}.day-macro small i{color:var(--muted);font-size:.62rem;font-weight:900;text-transform:uppercase}.day-macro b i+i,.day-macro small i+i{padding-left:5px;border-left:1px solid var(--line)}.macro span,.day-macro small,.meal-goal{display:block;margin-top:5px;color:var(--muted);font-size:.68rem;font-weight:900;text-transform:uppercase}.progress{height:7px;margin-top:8px;overflow:hidden;border-radius:999px;background:#E8EDF8}.progress i{display:block;width:var(--pct);height:100%;border-radius:inherit;background:var(--tone,var(--blue))}.dual-progress{position:relative}.dual-progress em{position:absolute;top:-2px;bottom:-2px;left:var(--mark);width:2px;border-radius:999px;background:var(--blue-deep);box-shadow:0 0 0 2px #fff;content:""}.meal-card{display:grid;gap:10px;padding:12px;border-radius:20px}.meal-head,.food-head,.cost-head,.dish-card-head{display:flex;align-items:center;gap:10px}.meal-open{display:flex;align-items:center;gap:10px;min-width:0;padding:0;background:transparent;color:inherit;text-align:left}.meal-icon,.food-image{display:grid;place-items:center;overflow:hidden;width:44px;height:44px;flex:0 0 auto;border:1px solid var(--line);border-radius:15px;background:var(--blue-soft);font-size:1.12rem}.food-image img{width:100%;height:100%;object-fit:cover}.grow b{display:block;overflow:hidden;color:var(--ink);font-size:.88rem;line-height:1.18;text-overflow:ellipsis}.grow span{display:block;margin-top:2px;color:var(--muted);font-size:.75rem;line-height:1.3}.meal-items{display:grid;gap:5px;padding-top:9px;border-top:1px solid var(--line);color:var(--muted);font-size:.78rem}.meal-status-tag{margin-left:auto;min-height:36px;padding:0 13px;border:1px solid var(--blue);border-radius:999px;background:var(--blue-soft);color:var(--blue-deep);font-size:.74rem;font-weight:900;white-space:nowrap;max-width:112px;overflow:hidden;text-overflow:ellipsis}.meal-status-tag.ate{border-color:var(--green);background:#F0FAF4;color:#2F7650}.meal-status-tag.skipped{border-color:var(--red);background:var(--red-soft);color:var(--red)}.meal-status-ate{border-color:rgba(118,185,142,.35);background:#F0FAF4}.meal-status-skipped{border-color:rgba(231,109,114,.32);background:var(--red-soft)}.check-meal{width:20px;height:20px;accent-color:var(--blue)}
.nutrient-heading h3{color:var(--orange)}.today-meal-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:10px;margin-top:11px}.day-macro:not(.planned-only) b,.day-macro:not(.planned-only) small{grid-template-columns:repeat(2,minmax(0,1fr))}.meal-status-tag{display:inline-flex;align-items:center;justify-content:center;min-width:82px;max-width:none;padding:0 12px;overflow:visible;text-overflow:clip}.today-meal-list .meal-card{height:100%;align-content:stretch}.today-meal-list .meal-head{align-items:stretch}.today-meal-list .meal-open{align-items:flex-start}.today-meal-list .grow span{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.today-meal-list .meal-head{display:grid;grid-template-columns:1fr;grid-template-rows:1fr auto;height:100%}.today-meal-list .meal-status-tag{width:100%;margin-top:4px;margin-left:0}.action-card[data-go="plates"],.action-card[data-go="foods"]{min-height:98px}.action-card[data-go="plates"] small,.action-card[data-go="foods"] small{-webkit-line-clamp:3}.outside-create-choice,.outside-food-choice>button,.meal-food-choice{grid-template-columns:44px minmax(0,1fr) minmax(30px,auto)}.outside-food-choice em{white-space:nowrap}.modal-top-actions .small,.sheet-title.with-actions>.small{white-space:normal;line-height:1.15}

.food-card{display:grid;gap:10px;padding:13px}.food-card-main{display:flex;align-items:center;gap:10px;min-width:0}.food-card-actions{display:flex;align-items:center;gap:8px}.food-source{color:var(--orange);font-size:.68rem;font-weight:900;text-transform:uppercase}.recipe-badge{margin-left:6px;color:var(--blue);font-size:.68rem}.upload-control{display:grid;grid-template-columns:42px 1fr;gap:2px 10px;align-items:center;padding:11px;border:1px dashed var(--blue);border-radius:16px;background:var(--blue-soft);color:var(--text);cursor:pointer}.upload-control b{display:grid;grid-row:1/3;place-items:center;width:42px;height:42px;border-radius:14px;background:#fff;color:var(--blue)}.upload-control i{color:var(--ink);font-size:.82rem;font-style:normal;font-weight:900}.upload-control small{color:var(--muted);font-size:.72rem}.upload-control input{display:none}.food-image-upload{grid-template-columns:50px minmax(0,1fr);gap:3px 11px}.food-image-upload-preview{overflow:hidden;width:50px;height:50px;border:1px solid var(--line);border-radius:15px;background:#fff}.food-image-upload-preview img{width:100%;height:100%;object-fit:cover}.food-image-upload.has-image{border-style:solid;background:#fff}.nutrition-photo-card{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:12px;background:var(--peach-soft)}.nutrition-photo-card b,.nutrition-photo-card span,.nutrition-photo-card small{display:block}.nutrition-photo-card b{color:var(--ink);font-size:.86rem}.nutrition-photo-card span{margin-top:3px;color:var(--muted);font-size:.74rem}.nutrition-photo-card small{min-height:16px;margin-top:5px;color:var(--blue-deep);font-size:.7rem;font-weight:900}.nutrition-photo-card.loading{border-color:var(--orange)}.nutrition-photo-card.loading button{opacity:.72}.macro-reference{margin-top:-2px}.group-protein,.group-proteina,.group-animal{--group:#76B98E}.group-carb,.group-carboidratos{--group:#FF9F71}.group-fat,.group-gorduras{--group:#FFC3A6}.group-fruit,.group-frutas{--group:#E76D72}.group-vegetable,.group-vegetais{--group:#76B98E}

.health-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}.health-grid div{display:grid;gap:3px;min-height:62px;padding:10px;border:1px solid var(--line);border-radius:16px;background:var(--surface-2)}.health-grid b{color:var(--ink);font-size:.95rem;font-weight:900}.health-grid span{color:var(--muted);font-size:.7rem}

.finance-summary{margin-bottom:12px}.money{margin-top:4px;color:var(--orange);font-size:1.45rem;font-weight:900}.finance-cycle-values,.finance-info-grid,.leftover-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:10px}.finance-profile-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}.finance-profile-tag{display:inline-flex;align-items:center;gap:8px;width:auto;min-height:42px;padding:8px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--text);font-size:.76rem;font-weight:900}.finance-profile-tag.active{border-color:var(--blue);background:var(--blue-soft);color:var(--blue-deep)}.finance-total{display:grid;gap:4px;min-height:70px;padding:12px;border-radius:19px;text-align:center;cursor:pointer}.finance-total.active{border-color:var(--blue);background:var(--blue-soft)}.finance-total span{color:var(--muted);font-size:.68rem;font-weight:900;text-transform:uppercase}.finance-total b{color:var(--ink);font-size:.92rem}.select-card,.finance-filter-box{display:grid;gap:9px;padding:13px}.chart-grid{display:grid;gap:12px;margin-top:12px}.chart-card{display:grid;justify-items:center;padding:15px}.donut-wrap{position:relative;width:158px;height:158px;margin:10px auto}.donut{width:100%;height:100%;border-radius:50%;background:conic-gradient(var(--blue) 0 100%)}.donut:after{position:absolute;inset:31px;border-radius:50%;background:#fff;content:""}.donut-center{position:absolute;inset:0;z-index:1;display:grid;place-content:center;text-align:center}.donut-center b{display:block;color:var(--ink);font-size:.96rem}.donut-center span{color:var(--muted);font-size:.72rem}.legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;width:100%;margin-top:8px}.legend span{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.75rem}.legend i{width:9px;height:9px;flex:0 0 auto;border-radius:50%}.price-row{display:grid;grid-template-columns:minmax(0,1fr) 86px minmax(0,1fr);gap:7px;margin-top:8px}.shopping{color:var(--blue);font-size:.75rem;font-weight:900}.cost-item{display:grid;gap:8px}.finance-detail-card,.finance-info-block{padding:13px}.finance-total-line{display:flex;justify-content:space-between;gap:10px;margin-top:8px;padding:9px;border-radius:13px;background:var(--blue-soft)}
.finance-summary{padding:15px}
.finance-summary .eyebrow{margin-bottom:9px}
.finance-cycle-values{gap:10px;margin-top:0}
.finance-cycle-values>div{display:grid;align-content:center;gap:7px;min-height:78px;padding:12px;border-radius:18px;background:#fff}
.finance-cycle-values span{color:var(--blue-deep);font-size:.82rem;line-height:1.25;text-transform:none}
.finance-cycle-values .money{margin:0;color:var(--orange);font-size:1.42rem;line-height:1.05}
.finance-summary .muted{margin-top:9px;line-height:1.35}
.finance-totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0 0 12px}
.finance-total{min-height:64px;width:100%;border:1px solid var(--line);background:#fff}
.finance-total.active{box-shadow:0 10px 22px rgba(102,127,255,.14)}
.finance-total b{font-size:.88rem}
.finance-filter-box{gap:8px;margin-bottom:14px;padding:10px;border-radius:20px}
.finance-filter-box .search{min-height:44px}
.finance-filter-box .search input{min-height:40px}
.finance-filter-panel{display:grid;gap:5px;padding:8px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.68);overflow:hidden}
.finance-filter-panel .filter-label{margin:0;color:var(--muted);font-size:.64rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.finance-filter-panel .chips{display:flex;flex-wrap:wrap;gap:5px;overflow:visible}
.finance-filter-panel .chip{min-height:28px;padding:0 8px;border-radius:999px;font-size:.61rem;line-height:1}
.finance-filter-panel .chips .chip{flex:0 1 auto;max-width:100%}
.cost-item{gap:10px;padding:13px;border-radius:22px}
.cost-head{align-items:center}
.cost-head .grow span{font-size:.72rem}
.shopping{font-size:.68rem;white-space:nowrap}
.price-row{grid-template-columns:minmax(0,1fr) 88px minmax(0,1fr);gap:7px;margin-top:2px}
.price-row input,.price-row select{min-height:46px;border-radius:14px}
.finance-fractional{min-height:44px;padding:9px 11px;border-radius:15px}
.finance-info-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:2px}
.finance-info-block{display:grid;align-content:start;gap:5px;min-height:112px;padding:12px;border-radius:18px;background:#fff}
.finance-info-block strong{display:block;color:var(--blue-deep);font-size:.82rem;line-height:1.25}
.finance-info-block span{display:block;color:var(--text);font-size:.76rem;line-height:1.34}
.finance-info-block.consume{border-color:rgba(102,127,255,.22);background:var(--blue-soft)}
.finance-info-block.buy{border-color:rgba(255,159,113,.32);background:var(--peach-soft)}
.finance-info-block.leftover{border-color:rgba(118,185,142,.28);background:#F0FAF4}
@media(max-width:430px){.finance-cycle-values,.finance-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-cycle-values>div{padding:10px;min-height:72px}.finance-cycle-values span{font-size:.72rem}.finance-cycle-values .money{font-size:1.1rem}.finance-info-grid{grid-template-columns:1fr}.price-row{grid-template-columns:minmax(0,1fr) 84px minmax(0,1fr)}}

.plate{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:min(100%,376px);aspect-ratio:1;margin:16px auto;padding:26px;border:8px solid #fff;border-radius:50%;background:var(--blue-soft);box-shadow:var(--shadow)}.plate-slot{display:grid;align-content:center;gap:7px;min-width:0;padding:9px;border:1px solid rgba(102,127,255,.26);border-radius:16px;background:#fff;color:var(--text)}.plate-slot>span{display:-webkit-box;overflow:hidden;color:var(--orange);font-size:.66rem;font-weight:900;line-height:1.2;-webkit-box-orient:vertical;-webkit-line-clamp:2}.plate-food-select,.recipe-food-select,.meal-food-choice,.outside-food-choice,.meal-choice{display:grid;gap:4px;min-height:64px;padding:10px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--text);text-align:left}.meal-food-choice,.outside-food-choice>button{display:grid;grid-template-columns:44px minmax(0,1fr) 30px;align-items:center;gap:10px;width:100%;min-height:66px;padding:10px;border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--text);box-shadow:var(--shadow-soft);text-align:left}.outside-food-choice{display:grid;grid-template-columns:1fr;gap:8px;width:100%;padding:0;border:0;background:transparent;box-shadow:none}.outside-food-choice.selected>button{border-color:var(--blue);background:var(--blue-soft)}.outside-food-choice i,.meal-food-choice i,.outside-food-choice em{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--blue-soft);color:var(--blue);font-style:normal;font-weight:900}.outside-food-choice em{width:auto;min-width:30px;padding:0 9px;border-radius:999px;background:var(--blue);color:#fff;font-size:.66rem}.plate-food-select span,.recipe-food-select span,.meal-food-choice span,.outside-food-choice span{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:none}.meal-food-choice .grow span,.outside-food-choice .grow span{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.plate-food-select b,.recipe-food-select b,.meal-food-choice b,.outside-food-choice b{color:var(--ink);font-size:.88rem}.plate-food-select small,.recipe-food-select small,.meal-food-choice small,.outside-food-choice small{color:var(--muted);font-size:.72rem}.plate-slot input,.plate-slot select{min-height:42px;font-size:.96rem;font-weight:900}.plate-slot-actions{display:flex;justify-content:flex-end;gap:5px}.plate-slot-actions button{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--blue);color:#fff;font-weight:900}.plate-slot-actions button+button{background:var(--red-soft);color:var(--red)}.plate-slot.portion-good{border-color:var(--green);background:#F0FAF4}.plate-slot.portion-low{border-color:var(--orange);background:var(--peach-soft)}.plate-slot.portion-high{border-color:var(--red);background:var(--red-soft)}.plate-rebalance-button{display:grid;align-content:center;gap:3px;width:100%;min-height:52px;padding:10px 13px;border:1px solid rgba(102,127,255,.24);border-radius:18px;background:var(--blue-soft);color:var(--blue-deep);box-shadow:none;text-align:left}.plate-rebalance-button b{font-size:.86rem;line-height:1.15}.plate-rebalance-button span{color:var(--text);font-size:.72rem;font-weight:800;line-height:1.25}.plate-weight{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;padding:9px;border:1px solid var(--line);border-radius:13px;background:#fff;font-size:.78rem}.compare-list,.dish-compare{display:grid;gap:9px;margin-top:10px}.compare-row{display:grid;grid-template-columns:96px 1fr auto;gap:8px;align-items:center;color:var(--muted);font-size:.77rem}.dish-compare article{padding:12px;border:1px solid var(--line);border-radius:16px;background:#fff}.dish-compare ul{display:grid;gap:5px;margin-top:8px;padding-top:8px;border-top:1px solid var(--line);list-style:none}.dish-compare li{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:.76rem}.plate-macros{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:8px}.plate-macros div{padding:8px 4px;border-radius:12px;background:var(--surface-2);text-align:center}.recipe-ingredient-row,.filling-edit-row{display:grid;grid-template-columns:minmax(0,1fr) 92px 38px;gap:8px;align-items:end}

.diary-card{padding:15px}.diary-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.diary-range{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:10px}.diary-range label{display:grid;gap:6px;min-width:0;overflow:hidden;padding:9px;border:1px solid var(--line);border-radius:16px;background:#fff}.diary-range input{min-width:0;width:100%;font-size:.84rem}.diary-chart{position:relative;margin-top:14px;padding:10px 8px 12px;border:1px solid var(--line);border-radius:22px;background:#fff;overflow:hidden}.diary-chart svg{display:block;width:100%;height:auto}.chart-grid-lines line{stroke:#E4E9F5;stroke-width:1}.chart-grid-lines text,.chart-labels text{fill:var(--muted);font-size:11px;font-weight:800}.chart-lines path,.chart-goal-path{fill:none;stroke:var(--line);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.chart-lines path{stroke:var(--line)}.chart-goal-path{stroke:var(--line);stroke-width:2;stroke-dasharray:5 6;opacity:.75}.diary-point,.goal-dot{fill:var(--line);stroke:#fff;stroke-width:1.5}.diary-point.selected,.goal-dot.selected{stroke:var(--blue-deep);stroke-width:2.5}.chart-weight-marks line{stroke:var(--orange);stroke-width:2;stroke-dasharray:4 5}.chart-weight-marks rect{fill:var(--peach-soft);stroke:var(--peach)}.chart-weight-marks text{fill:var(--blue-deep);font-size:10px;font-weight:900}.diary-legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;color:var(--muted);font-size:.72rem}.diary-legend span{display:flex;align-items:center;gap:6px}.diary-legend i{display:block;width:9px;height:9px;border-radius:50%;background:var(--line)}.goal-legend i{width:18px;height:2px;border-radius:999px;background:var(--muted)}.weight-legend i{width:2px;height:14px;border-radius:999px;background:var(--orange)}.diary-point-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:20px;background:#fff}.diary-point-card .eyebrow,.diary-weight-cell{grid-column:1/-1}.diary-point-card div{min-height:58px}.diary-point-card h3{color:var(--orange);font-size:.9rem}.diary-point-card .grid2{gap:8px}

.profile-backdrop{position:fixed;inset:0;z-index:1005;display:none;background:rgba(41,61,102,.28);backdrop-filter:blur(3px)}.profile-backdrop.open{display:block}.profile-drawer{position:fixed;top:0;right:0;bottom:0;z-index:1010;width:min(100%,430px);overflow-y:auto;scrollbar-width:none;padding:18px 16px calc(22px + env(safe-area-inset-bottom));border-left:1px solid var(--line);background:var(--app-bg);box-shadow:-24px 0 50px rgba(41,61,102,.18);transform:translateX(100%);transition:transform .25s ease;overscroll-behavior:contain;touch-action:pan-y}.profile-drawer.open{transform:translateX(0)}.drawer-head{position:sticky;top:-18px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-18px -16px 14px;padding:16px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.94);backdrop-filter:blur(14px)}.drawer-close{width:42px;height:42px}.avatar-editor{display:flex;align-items:center;gap:12px}.avatar-editor img{width:62px;height:62px;border-radius:50%;background:var(--blue-soft);object-fit:cover}.avatar-editor b{display:block;color:var(--ink);font-size:.95rem}.avatar-editor span{display:block;margin-top:3px;color:var(--muted);font-size:.76rem}.profile-avatar-upload input,.file-button input{display:none}.slot-title{display:grid;gap:6px}.slot-title span{color:var(--muted);font-size:.78rem;line-height:1.55}.slot-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px}.slot-tabs button{display:grid;align-content:center;gap:2px;min-height:52px;padding:8px 9px;border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--ink);font-size:.76rem;font-weight:900;text-align:left}.slot-tabs button b,.slot-tabs button span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slot-tabs button span{color:var(--muted);font-size:.65rem;font-weight:800}.slot-tabs button.active{border-color:var(--blue);background:var(--blue-soft);color:var(--blue-deep)}.activity-grid,.profile-access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.activity-grid label{align-content:end;min-height:78px;padding:10px;border:1px solid var(--line);border-radius:16px;background:#fff}.activity-grid b{color:var(--ink);font-size:.82rem}.activity-grid select{min-height:40px}.activity-help,.profile-terms{color:var(--muted);font-size:.77rem}.activity-help{display:grid;gap:8px;padding:10px;border:1px solid var(--line);border-radius:16px;background:#fff}.activity-help div{display:grid;gap:3px;padding:9px;border-radius:13px;background:var(--surface-2)}.activity-help b{color:var(--ink);font-size:.78rem}.activity-help span{color:var(--muted);font-size:.76rem;line-height:1.45}.activity-help-trigger{display:grid;grid-template-columns:minmax(0,1fr) 24px;align-items:center;gap:10px;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2);color:var(--ink);font-size:.8rem;font-weight:900;text-align:left}.activity-help-trigger span:first-child{display:block;min-width:0;width:auto;height:auto;border-radius:0;background:transparent;color:inherit;line-height:1.22}.activity-help-trigger span:last-child{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#fff;color:var(--blue)}.advanced-profile{display:grid;gap:12px;padding:0;border-radius:14px;background:var(--surface-2)}.advanced-profile summary{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:0 12px;cursor:pointer;color:var(--ink);font-size:.8rem;font-weight:900}.advanced-profile summary::-webkit-details-marker{display:none}.advanced-profile summary:after{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#fff;color:var(--blue);content:"+"}.advanced-profile[open] summary:after{content:"-"}.advanced-profile label,.advanced-profile .note,.advanced-profile .toggle,.advanced-section-title{margin:0 12px}.advanced-section-title{color:var(--blue-deep);font-size:.7rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.advanced-profile .note:last-child,.advanced-profile label:last-child,.advanced-profile .toggle:last-child{margin-bottom:12px}.profile-access{display:grid;gap:12px;padding:14px}.profile-access-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.profile-access-grid div{display:grid;gap:3px;min-height:58px;padding:10px;border:1px solid var(--line);border-radius:16px;background:var(--surface-2)}.profile-access-grid span{color:var(--muted);font-size:.68rem;font-weight:900;text-transform:uppercase}.profile-access-grid b{color:var(--ink);font-size:.9rem}.profile-terms{display:flex;align-items:center;gap:9px;padding:11px;border:1px solid var(--line);border-radius:16px;background:#fff}.profile-logout{min-height:48px;border:1px solid rgba(231,109,114,.25);background:var(--red);color:#fff;box-shadow:0 12px 22px rgba(231,109,114,.18)}.profile-update-options{display:grid;gap:8px}.profile-update-options label{display:flex;align-items:center;gap:8px;padding:11px;border:1px solid var(--line);border-radius:16px;background:#fff}

.modal{position:fixed;inset:0;z-index:1300;display:none;align-items:flex-end;justify-content:center;background:rgba(41,61,102,.36);backdrop-filter:blur(4px)}.modal.open{display:flex}.modal:has(.terms-modal-sheet){align-items:flex-start;padding:12px 0}.sheet{position:relative;width:min(100%,620px);max-height:92vh;overflow-y:auto;padding:18px 16px calc(22px + env(safe-area-inset-bottom));border:1px solid var(--line);border-bottom:0;border-radius:30px 30px 0 0;background:#fff;box-shadow:0 -22px 52px rgba(41,61,102,.2);scrollbar-width:none}.sheet-close{position:absolute;top:18px;right:14px;z-index:5;width:42px;height:42px;font-size:1.24rem;line-height:1}.sheet h2{padding-right:52px}.sheet-title.with-actions{position:sticky;top:-18px;z-index:4;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:58px;margin:-2px -2px 14px;padding:4px 58px 12px 2px;border-bottom:1px solid var(--line);background:#fff;backdrop-filter:blur(10px)}.sheet-title.with-actions h2{padding-right:0}.finance-detail-sheet{width:min(calc(100% - 28px),620px);max-height:min(88vh,760px);margin-bottom:14px;padding:19px 16px 16px;border-radius:28px;background:#fff}.finance-detail-sheet .sheet-close{top:18px;right:14px;border-color:#dfe6f5;background:#fff}.finance-detail-sheet>h2{padding-right:54px;color:var(--blue-deep);font-size:1.16rem}.finance-detail-sheet>p{margin-top:4px;padding-right:54px;color:var(--muted);font-size:.79rem;line-height:1.35}.finance-detail-stack{gap:12px;margin-top:12px}.finance-detail-stack .finance-detail-card{display:grid;gap:8px;padding:14px;border-color:#dfe5f2;border-radius:19px;background:#fff;box-shadow:none}.finance-detail-stack .finance-detail-card h3{font-size:.94rem;line-height:1.15}.finance-detail-stack .finance-detail-card p{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 5px;color:var(--text);font-size:.86rem;line-height:1.35}.finance-detail-stack .finance-detail-card p span{color:var(--text)}.finance-detail-stack .finance-detail-card p b{color:var(--blue-deep);font-weight:900}.finance-detail-stack .finance-total-line{display:flex;justify-content:space-between;gap:10px;margin-top:4px;padding:10px 11px;border-radius:13px;background:var(--blue-soft)}.finance-detail-stack .finance-total-line span{color:var(--text)}.finance-detail-stack .finance-total-line b{margin-left:auto}.terms-modal-sheet{width:min(calc(100% - 28px),720px);height:calc(100dvh - 24px);max-height:780px;margin:0;border-bottom:1px solid var(--line);border-radius:28px;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}.terms-modal-sheet .sheet-close{top:16px;right:14px}.terms-modal-sheet .sheet-title.with-actions{top:-18px}.terms-modal-sheet .terms-card{padding:0;border:0;background:transparent;box-shadow:none}.terms-modal-sheet .prose{gap:10px;padding-bottom:18px}.terms-modal-sheet .prose p{font-size:.84rem;line-height:1.65}.modal-top-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.modal-top-actions .small,.sheet-title.with-actions>.small{height:38px;min-height:38px;padding:0 14px}.outside-diet-sheet .sheet-title,.recover-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.log-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.log-summary div{min-height:58px}.log-summary b{display:block;color:var(--ink);font-size:1rem}.log-summary span{display:block;margin-top:2px;color:var(--muted);font-size:.68rem;font-weight:900;text-transform:uppercase}.insert-meal-list{gap:10px}.insert-meal-list .meal-choice{display:grid;grid-template-columns:42px minmax(0,1fr) 28px;align-items:center;gap:10px;min-height:68px;padding:11px 12px;border-radius:18px;background:#fff;box-shadow:var(--shadow-soft)}.insert-meal-list .meal-choice span{display:grid;place-items:center;width:42px;height:42px;border-radius:15px;background:var(--blue-soft);color:var(--blue);font-size:1.05rem}.insert-meal-list .meal-choice b{font-size:.92rem}.insert-meal-list .meal-choice i{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--surface-2);color:var(--blue-deep);font-style:normal}.outside-create-choice{grid-template-columns:44px minmax(0,1fr) 30px;margin:10px 0}.partial-row,.meal-edit-row{display:grid;gap:10px;align-items:start;padding:12px;border:1px solid var(--line);border-radius:18px;background:#fff}.meal-edit-row-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}.meal-edit-actions{display:flex;gap:7px;align-items:center}.edit-macro-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:8px}.edit-macro-list small{display:block;padding:7px 9px;border-radius:12px;background:var(--surface-2);color:var(--text);font-size:.78rem;font-weight:800}.meal-gram-input,.meal-amount-field{max-width:116px}.meal-amount-field small{color:var(--muted);font-size:.68rem;font-weight:900;text-transform:uppercase}.swap-button,.remove-button{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;font-size:1rem;font-weight:900}.swap-button{background:var(--blue-soft);color:var(--blue)}.remove-button{background:var(--red-soft);color:var(--red)}.filling-editor,.filling-lines{display:grid;gap:8px;margin-top:9px}.filling-editor summary{cursor:pointer;color:var(--ink);font-size:.78rem;font-weight:900}.filling-editor summary b{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:5px;border-radius:999px;background:var(--blue-soft);color:var(--blue);font-size:.7rem}.filling-line{display:grid;gap:7px;padding:10px;border:1px solid var(--line);border-radius:16px;background:#fff}.toast{position:fixed;right:16px;bottom:94px;left:16px;z-index:1500;display:none;width:min(calc(100% - 32px),480px);margin:auto;padding:13px 15px;border:1px solid rgba(41,61,102,.1);border-radius:16px;background:var(--blue-deep);color:#fff;box-shadow:var(--shadow);font-size:.82rem;font-weight:900;text-align:center}.toast.show{display:block}
body.tutorial-open{overflow:hidden;overscroll-behavior:none;touch-action:none}.tutorial-overlay{position:fixed;inset:0;z-index:1700;pointer-events:auto}.tutorial-overlay.hidden{display:none}.tutorial-spotlight{position:fixed;border:2px solid rgba(255,255,255,.95);border-radius:22px;box-shadow:0 0 0 9999px rgba(25,35,61,.58),0 20px 50px rgba(20,31,55,.24);pointer-events:none;transition:top .18s ease,left .18s ease,width .18s ease,height .18s ease}.tutorial-card{position:fixed;display:grid;gap:8px;width:min(340px,calc(100vw - 32px));padding:15px;border:1px solid rgba(255,255,255,.72);border-radius:22px;background:#fff;color:var(--text);box-shadow:0 22px 54px rgba(20,31,55,.24);pointer-events:auto;touch-action:auto}.tutorial-card h2{color:var(--ink);font-size:1.02rem;line-height:1.18}.tutorial-card p:not(.eyebrow){color:var(--text);font-size:.82rem;line-height:1.45}#tutorialText{white-space:pre-line}.tutorial-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:8px;margin-top:4px}.tutorial-actions .small{width:100%;min-height:38px}

.ai-fab{position:fixed;right:max(16px,calc((100vw - var(--app-width))/2 + 16px));bottom:86px;z-index:42;display:grid;place-items:center;width:62px;height:62px;border:1px solid var(--line);border-radius:50%;background:#fff;box-shadow:var(--shadow)}.ai-fab img{width:42px;height:42px;border-radius:14px;background:#fff}.ai-fab span{position:absolute;right:6px;bottom:7px;padding:2px 5px;border-radius:999px;background:var(--orange);color:#fff;font-size:.62rem;font-weight:900}.ai-chat{position:fixed;right:max(8px,calc((100vw - var(--app-width))/2 + 8px));bottom:82px;left:max(8px,calc((100vw - var(--app-width))/2 + 8px));z-index:1200;display:none;grid-template-rows:auto minmax(0,1fr) auto auto;height:min(66dvh,620px);max-height:calc(100dvh - 110px);overflow:hidden;border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:var(--shadow)}.ai-chat.open{display:grid}.ai-chat-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border-bottom:1px solid var(--line);background:#fff}.ai-title{display:flex;align-items:center;gap:10px}.ai-title img{width:36px;height:36px;border-radius:12px;background:#fff}.ai-title span{color:var(--muted);font-size:.68rem;font-weight:900;text-transform:uppercase}.ai-chat-messages{display:grid;align-content:start;gap:9px;min-height:0;padding:14px;overflow-y:auto;background:var(--app-bg)}.ai-msg{max-width:86%;padding:10px 12px;border-radius:18px;background:#fff;color:var(--text);font-size:.85rem}.ai-msg.user{justify-self:end;background:var(--blue);color:#fff}.ai-chat-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff}.ai-chat-form textarea{min-height:58px;max-height:110px}.ai-settings{display:grid;gap:10px;padding:12px;border-top:1px solid var(--line);background:#fff}

.terms-page{min-height:100vh;background:linear-gradient(180deg,var(--bg) 0 260px,var(--app-bg) 260px 100%);color:var(--text)}.terms-shell{display:grid;gap:18px;width:min(100%,860px);margin:0 auto;padding:18px 16px 40px}.terms-hero{display:grid;gap:18px;color:#fff}.back-link{display:inline-flex;align-items:center;justify-content:center;width:max-content;min-height:38px;padding:0 13px;border:1px solid rgba(255,255,255,.34);border-radius:999px;background:rgba(255,255,255,.13);color:#fff;font-size:.78rem;font-weight:900;box-shadow:0 10px 22px rgba(41,61,102,.12)}.terms-brand{display:flex;align-items:center;gap:14px}.terms-brand .logo-mark{display:grid;place-items:center;flex:0 0 auto}.terms-brand .logo-mark img{width:66px;height:66px;border-radius:21px}.terms-brand h1{color:#fff;font-size:1.72rem;font-weight:900}.terms-brand p{margin-top:3px;color:rgba(255,255,255,.84);font-size:.9rem}.terms-title{display:grid;gap:7px;padding:18px;border:1px solid rgba(255,255,255,.28);border-radius:24px;background:rgba(255,255,255,.14);box-shadow:var(--shadow);backdrop-filter:blur(16px)}.terms-title .eyebrow{color:rgba(255,255,255,.78)}.terms-title h2{max-width:680px;color:#fff;font-size:1.38rem}.terms-title span{color:rgba(255,255,255,.82);font-size:.78rem;font-weight:800}.terms-card{padding:22px 20px;border-radius:24px}.prose{display:grid;gap:11px}.prose h3{margin-top:12px;color:var(--blue-deep);font-size:1rem}.prose h3:first-child{margin-top:0}.prose h4{margin:4px 0 0;color:var(--ink);font-size:.88rem}.prose p{color:var(--text);font-size:.88rem;line-height:1.72}.prose strong{color:var(--ink)}

.premium-sheet,.premium-flow,.premium-step,.premium-plan-card,.premium-feature-card{border-color:var(--line);background:#fff;color:var(--text)}.premium-hero,.objective-banner{border-radius:var(--radius-lg);background:var(--blue);color:#fff}.premium-option,.premium-toggle,.premium-input{border-color:var(--line);background:#fff;color:var(--text)}
body.keyboard-focus .bottom-nav{transform:translateY(calc(100% + env(safe-area-inset-bottom)));transition:transform .18s ease}
@media(min-width:760px){:root{--app-width:980px}.app{box-shadow:0 0 0 12px rgba(255,255,255,.18)}.screens{padding:18px 22px}.chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-actions{grid-template-columns:repeat(4,minmax(0,1fr))}.action-card,.action-card[data-go="plan"],.action-card[data-go="finance"]{grid-column:auto}.activity-grid,.profile-access-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.day-tabs{grid-template-columns:repeat(7,minmax(0,1fr))}.macro-grid,.day-nutrition-grid,.diary-macros,.log-summary{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:760px){.profile-drawer{width:min(92vw,600px)}.profile-drawer .activity-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.profile-drawer .activity-grid label{align-content:start;gap:8px;min-height:92px}.profile-drawer .activity-grid select{width:100%;min-width:0;padding-right:30px;text-overflow:clip}}
@media(max-width:430px){body{font-size:14px}input,select,textarea{font-size:16px}.screens{padding:6px 14px 16px}.app-top{min-height:62px;padding:9px 14px}.language-toggle.compact,.country-toggle.compact{width:38px;height:38px}.language-toggle.compact{font-size:.68rem}.country-toggle.compact{font-size:1rem}.profile-card{padding:15px}.home-hero-kpis,.hero-health{gap:8px}.section-heading{margin:16px 0 10px}.home-actions{gap:10px}.action-card{min-height:82px;padding:12px;grid-template-columns:40px minmax(0,1fr) 22px;border-radius:22px}.action-card[data-go="plan"],.action-card[data-go="finance"]{min-height:88px}.action-card strong{font-size:.9rem}.action-card small{font-size:.68rem}.action-icon{width:40px;height:40px}.plan-main-actions{grid-template-columns:1fr}.today-heading{display:grid}.today-heading .pill{width:100%;justify-content:center}.checks{grid-template-columns:1fr}.diary-range{grid-template-columns:1fr}.diary-range input{min-height:44px;font-size:16px}.sheet{max-height:94vh;padding-right:14px;padding-left:14px}.sheet-title.with-actions{padding-right:56px}.modal-top-actions{flex-wrap:wrap}.plate{width:min(100%,350px);padding:23px}.price-row{grid-template-columns:1fr}.legend{grid-template-columns:1fr}.bottom-nav button{min-height:56px}.ai-chat{bottom:76px;height:min(72dvh,640px);max-height:calc(100dvh - 96px)}.terms-shell{padding:14px 14px 34px}.terms-title h2{font-size:1.16rem}.terms-card{padding:18px 15px}.prose p{font-size:.84rem}}
#profileMeals{grid-template-columns:repeat(2,minmax(0,1fr))}
#profileMeals .meal-option{gap:7px;min-height:48px;padding:8px 9px;border-radius:15px;font-size:.72rem}
#profileMeals .meal-option input{width:17px;min-width:17px;height:17px;min-height:17px}
#profileMeals .meal-option b{min-width:0;line-height:1.18}
.advanced-section-title{margin-bottom:4px;color:var(--muted);font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.advanced-section-title+.toggle{margin-top:0}
.terms-title{border-color:rgba(255,255,255,.34);background:linear-gradient(135deg,rgba(102,127,255,.96),rgba(41,61,102,.92));box-shadow:0 18px 34px rgba(41,61,102,.18)}
@media(max-width:430px){.terms-page{background:linear-gradient(180deg,var(--bg) 0 330px,var(--app-bg) 330px 100%)}.terms-hero{gap:14px}.terms-title{padding:16px 17px}.terms-title h2{font-size:1.12rem;line-height:1.18}.terms-title span{color:rgba(255,255,255,.9)}}
.splash-center{align-content:center;gap:0}
.splash img{width:84px;height:84px;border-radius:25px}
.splash h1{margin-top:13px;font-size:1.72rem;line-height:1.04}
.splash p{max-width:310px;margin-top:8px;color:rgba(255,255,255,.9);font-size:.91rem;font-weight:800;line-height:1.35}
.loader{margin-top:28px}
@media(max-width:430px){.splash.active{padding:22px}.splash img{width:82px;height:82px}.splash h1{font-size:1.68rem}.splash p{font-size:.9rem}}
.finance-consumption-row{display:grid;gap:9px;margin-top:4px;padding:10px;border:1px solid var(--line);border-radius:15px;background:var(--surface-2)}
.finance-consumption-row>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.finance-consumption-row>header b{color:var(--blue-deep);font-size:.82rem;font-weight:900}
.finance-consumption-row>header span{flex:0 0 auto;color:var(--ink);font-size:.8rem;font-weight:900}
.finance-appearance-list{display:grid;gap:7px}
.finance-appearance-row{display:grid;grid-template-columns:minmax(88px,.8fr) minmax(0,1fr);gap:8px;align-items:start}
.finance-appearance-row>b{padding-top:5px;color:var(--ink);font-size:.76rem;line-height:1.2}
.finance-appearance-row>span{display:flex;flex-wrap:wrap;gap:5px}
.finance-appearance-row i{display:inline-flex;align-items:center;min-height:24px;padding:4px 8px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--text);font-style:normal;font-size:.68rem;font-weight:900;line-height:1}
.finance-week-list{display:grid;gap:9px}
.finance-week-block{display:grid;gap:8px;padding:9px;border:1px solid var(--line-soft);border-radius:13px;background:#fff}
.finance-week-block h4{margin:0;color:var(--orange);font-size:.72rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
@media(max-width:430px){.finance-appearance-row{grid-template-columns:1fr}.finance-appearance-row>b{padding-top:0}.finance-consumption-row>header{align-items:flex-start;flex-direction:column;gap:4px}}
.diary-series-controls{grid-template-columns:repeat(4,minmax(0,1fr))}
.diary-series-controls button{min-width:0;padding:0 8px}
@media(max-width:430px){.diary-series-controls{gap:6px}.diary-series-controls button{min-height:40px;padding:0 4px;font-size:.62rem}}
.login .login-actions{padding:0;border:0;background:transparent;box-shadow:none;backdrop-filter:none}
.outside-multi-results .outside-food-choice>button{grid-template-columns:44px minmax(0,1fr) 34px}
.outside-multi-results .outside-food-choice.selected>button{border-color:var(--blue);background:var(--blue-soft)}
.outside-multi-results .outside-food-choice em{width:28px;min-width:28px;height:28px;padding:0;border-radius:50%;overflow:hidden;color:transparent;font-size:0}
.outside-multi-results .outside-food-choice em:before{color:#fff;font-size:.86rem;content:"✓"}
.profile-access-grid{grid-template-columns:repeat(2,minmax(180px,1fr));gap:10px}
.profile-access-item{align-content:space-between;min-height:134px;padding:13px;border-radius:18px}
.profile-access-item p{min-height:54px;font-size:.78rem;line-height:1.45}
.profile-access-item button{width:auto;min-width:104px;justify-self:start;padding:0 16px}
@media(max-width:430px){.profile-access{padding:13px}.profile-access-grid{grid-template-columns:1fr}.profile-access-item{min-height:118px}.profile-access-item p{min-height:auto}.profile-access-item button{width:100%;justify-self:stretch}}
@media(max-width:350px){.grid2,.home-actions,.macro-grid,.day-nutrition-grid,.diary-range,.finance-cycle-values,.finance-info-grid,.leftover-grid{grid-template-columns:1fr}.action-card,.action-card[data-go="plan"],.action-card[data-go="finance"]{grid-column:1}.plate{border-width:6px;padding:16px}.plate-slot{padding:7px}.plate-food-select{min-height:58px}.bottom-nav span{display:none}}

.slot-tabs{grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}
.slot-tabs .slot-add{justify-items:center;border-style:dashed;color:var(--blue-deep);text-align:center}
.slot-tabs .slot-add b{font-size:1.05rem;line-height:1}
.slot-tabs .slot-add.disabled{opacity:.62;color:var(--muted);cursor:not-allowed}
#financeScreen .finance-totals,#financeScreen .finance-cycle-values{grid-template-columns:repeat(2,minmax(0,1fr))}
#platesScreen{display:none}
#platesScreen.active{display:block}
#platesScreen .section-heading{margin-bottom:14px}
#platesScreen .section-heading h2{font-size:1.34rem;line-height:1.08}
#platesScreen .builder-tabs{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:14px}
#mealBuilderPanel,#recipeBuilderPanel{display:grid;gap:13px}
#mealBuilderPanel.hidden,#recipeBuilderPanel.hidden{display:none}
#mealBuilderPanel>.grid2,#recipeBuilderPanel>.grid2{gap:10px}
#mealBuilderPanel label,#recipeBuilderPanel label{gap:6px}
#mealBuilderPanel label>span,#recipeBuilderPanel label>span{color:var(--muted);font-size:.66rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
#platesScreen .plate{margin:4px auto 2px}
#platesScreen #plateComparison,#platesScreen #plateCompare,#platesScreen #recipeSummary,#platesScreen #recipeBuilder{margin:0}
.plate-actions{gap:9px}
.plate-actions button{min-height:46px}
#platesScreen .section-heading.compact{margin:4px 0 0;align-items:center}
#platesScreen .section-heading.compact h3{font-size:1rem}
#plateList,#recipeSavedList{gap:10px}
#platesScreen .plate-card{display:grid;gap:10px;padding:13px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow-soft)}
#platesScreen .plate-card .grow b{font-size:.94rem}
#platesScreen .plate-card .grow span{font-size:.73rem;line-height:1.35}
.plate-card-actions,.recipe-saved-card .checks{display:grid;grid-template-columns:1fr repeat(2,auto);gap:8px;align-items:center}
.plate-card-actions label{display:flex;align-items:center;gap:7px;min-height:36px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);font-size:.72rem;font-weight:900}
.dish-compare{grid-template-columns:1fr;gap:10px}
.dish-compare article{display:grid;gap:9px;padding:13px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-soft)}
.dish-card-head{align-items:flex-start;justify-content:space-between}
.dish-card-head b{display:block;color:var(--ink);font-size:.9rem}
.dish-card-head span{display:block;margin-top:2px;color:var(--muted);font-size:.7rem}
.dish-card-head i{padding:4px 8px;border-radius:999px;background:var(--blue-soft);color:var(--blue);font-size:.62rem;font-style:normal;font-weight:900}
.dish-compare ul{gap:5px;margin-top:0;padding-top:9px}
.dish-compare li{align-items:flex-start}
.dish-compare li span{line-height:1.3}
.dish-compare p{color:var(--text);font-size:.78rem}
.recipe-builder .section-heading.compact{margin:0}
.recipe-builder>.stack{gap:9px}
.recipe-ingredient-row{padding:10px;border:1px solid var(--line);border-radius:17px;background:var(--surface-2)}.filling-edit-list{display:grid;justify-items:start;gap:7px}.filling-edit-row{grid-template-columns:minmax(128px,max-content) 82px 34px;align-items:center;justify-content:start;width:fit-content;max-width:100%;padding:7px 8px;border:1px solid rgba(102,127,255,.18);border-radius:14px;background:var(--surface-2)}.filling-edit-row>span{align-self:center;overflow:hidden;color:var(--text);font-size:.78rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.filling-edit-row label{display:grid;gap:3px;margin:0}.filling-edit-row label small{color:var(--muted);font-size:.62rem;font-weight:900;line-height:1;text-transform:uppercase}.filling-edit-row input{width:100%;min-width:0;height:38px;min-height:38px;padding:0 10px}.filling-edit-row .remove-button{align-self:end;width:34px;height:34px}
.recipe-saved-card .checks{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:760px){.dish-compare{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){#mealBuilderPanel,#recipeBuilderPanel{gap:11px}.plate-card-actions{grid-template-columns:1fr}.recipe-ingredient-row{grid-template-columns:1fr 92px 38px}.filling-edit-row{grid-template-columns:minmax(0,1fr) 78px 34px;width:100%}.dish-compare{grid-template-columns:1fr}}
.plate,.plate-slot,.plate-food-select,.recipe-food-select{min-width:0}
@media(max-width:560px){
  #platesScreen .section-heading{margin-top:18px;margin-bottom:12px}
  #platesScreen .builder-tabs{gap:8px;margin-bottom:13px}
  #mealBuilderPanel,#recipeBuilderPanel{gap:12px;min-width:0}
  #mealBuilderPanel>.grid2,#recipeBuilderPanel>.grid2{grid-template-columns:1fr;gap:9px}
  #platesScreen select,#platesScreen input{min-width:0}
  #platesScreen .plate{
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
    max-width:100%;
    aspect-ratio:auto;
    margin:2px 0 0;
    padding:10px;
    border:1px solid var(--line);
    border-radius:24px;
    background:rgba(255,255,255,.72);
    box-shadow:var(--shadow-soft);
  }
  #platesScreen .plate-slot{align-content:start;gap:7px;min-height:0;padding:9px;border-radius:17px}
  #platesScreen .plate-slot>span{font-size:.58rem;line-height:1.16}
  #platesScreen .plate-food-select{min-height:86px;padding:9px;border-radius:15px}
  #platesScreen .plate-food-select span{font-size:.64rem}
  #platesScreen .plate-food-select b{font-size:.78rem;line-height:1.2}
  #platesScreen .plate-food-select small{font-size:.66rem;line-height:1.28}
  #platesScreen .plate-slot input{min-height:40px;border-radius:14px;font-size:.9rem}
  #platesScreen .plate-slot-actions button{width:28px;height:28px}
}
@media(max-width:360px){
  #platesScreen .plate{grid-template-columns:1fr}
}
.profile-access-item{display:grid;gap:8px;min-height:112px;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--surface-2)}
.profile-access-item span{color:var(--muted);font-size:.68rem;font-weight:900;text-transform:uppercase}
.profile-access-item p{min-height:34px;color:var(--text);font-size:.75rem;line-height:1.45}
.profile-access-item button{align-self:end;width:100%}
.notify-permission{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;align-items:center;margin:12px 0;padding:10px 12px;box-shadow:none}
.notify-permission span{grid-column:1/-1;color:var(--muted);font-size:.68rem;font-weight:900;text-transform:uppercase}
.notify-permission b{min-width:0;color:var(--ink);font-size:.82rem;line-height:1.2}
.notify-permission button{justify-self:end;min-height:32px;padding:0 12px}
.ai-fab{touch-action:none;user-select:none}
.recover-preview{display:grid;gap:12px;margin-top:14px}
.recover-preview-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.recover-preview-title h3{color:var(--blue-deep);font-size:1.06rem;line-height:1.15}
.recover-warning,.recover-empty{display:grid;gap:5px;padding:12px;border:1px solid var(--peach);border-radius:18px;background:var(--peach-soft);color:var(--text)}
.recover-warning b,.recover-empty b{color:var(--ink);font-size:.86rem}
.recover-warning span,.recover-empty span{color:var(--muted);font-size:.76rem;line-height:1.45}
.recover-preview-list{gap:10px}
.recover-preview-row{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow-soft)}
.recover-preview-row header{display:flex;align-items:center;gap:8px;color:var(--ink)}
.recover-preview-row header span{display:grid;place-items:center;width:30px;height:30px;flex:0 0 auto;border-radius:12px;background:var(--blue-soft)}
.recover-preview-row header b{font-size:.92rem}
.recover-swap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.recover-swap-block{display:grid;align-content:start;gap:8px;min-width:0;padding:10px;border:1px solid var(--line);border-radius:16px;background:var(--surface-2)}
.recover-swap-block small{color:var(--muted);font-size:.66rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.recover-swap-block.after{border-color:rgba(102,127,255,.25);background:var(--blue-soft)}
.recover-item-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.recover-item-list li{min-width:0;padding:7px 8px;border-radius:12px;background:#fff;color:var(--text);font-size:.78rem;line-height:1.3}
.recover-item-list s,.recover-item-list strong{display:block;overflow-wrap:anywhere}
.recover-item-list s{color:var(--muted);text-decoration-thickness:1.5px}
.recover-item-list strong{color:var(--blue-deep);font-weight:900}
.recover-empty-items{color:var(--muted);font-size:.76rem;font-style:normal}
@media(max-width:430px){.recover-swap{grid-template-columns:1fr}.recover-preview-title{align-items:center}.recover-preview-row{padding:11px}.recover-swap-block{padding:9px}}
.outside-log-remove{border-color:rgba(231,109,114,.25);background:var(--red-soft);color:var(--red)}
.premium-sheet{width:min(calc(100% - 24px),560px);max-height:calc(100dvh - 24px);margin:12px;padding:14px 14px calc(14px + env(safe-area-inset-bottom));border:1px solid var(--line);border-radius:26px;background:var(--app-bg);overflow-y:auto;overscroll-behavior:contain}
.premium-sheet .sheet{background:var(--app-bg)}
.premium-flow{display:grid;gap:10px;color:var(--text)}
.premium-flow.compact{gap:9px}
.premium-hero{display:flex;align-items:center;gap:11px;padding:12px 48px 12px 12px;border:1px solid rgba(102,127,255,.22);border-radius:20px;background:linear-gradient(135deg,var(--blue),var(--blue-deep));color:#fff}
.premium-logo{display:grid;place-items:center;width:46px;height:46px;flex:0 0 auto;border-radius:16px;background:#fff;box-shadow:0 14px 28px rgba(41,61,102,.22)}
.premium-logo img{width:34px;height:34px;border-radius:11px}
.premium-hero h2{padding:0;color:#fff;font-size:1.08rem;line-height:1.12}
.premium-hero p{margin-top:4px;color:rgba(255,255,255,.86);font-size:.76rem;line-height:1.35}
.premium-badge{display:inline-block;margin-bottom:5px;color:rgba(255,255,255,.76);font-size:.62rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.premium-section-label{margin-top:2px;color:var(--blue-deep);font-size:.7rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.premium-checks,.premium-ai-details,.premium-note-block,.premium-order,.premium-qr-card,.premium-card-form,.premium-result-card{display:grid;gap:8px;padding:10px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-soft)}
.premium-checks p,.premium-ai-list p{display:flex;gap:8px;align-items:flex-start;color:var(--text);font-size:.76rem;line-height:1.3}
.premium-checks i,.premium-ai-list i{display:grid;place-items:center;width:18px;height:18px;flex:0 0 auto;border-radius:50%;background:var(--blue-soft);color:var(--blue);font-style:normal;font-size:.68rem;font-weight:900}
.premium-note-block p,.premium-ai-details>p,.premium-ai-footnote,.premium-footnote{color:var(--muted);font-size:.76rem;line-height:1.45}
.premium-plans,.premium-methods{display:grid;gap:7px}
.premium-plan,.premium-methods button{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:54px;padding:10px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--ink);box-shadow:var(--shadow-soft);text-align:left}
.premium-plan.active,.premium-methods button.active{border-color:var(--blue);background:var(--blue-soft)}
.premium-plan b,.premium-methods b{display:block;color:var(--ink);font-size:.9rem}
.premium-plan small,.premium-methods small{display:block;margin-top:3px;color:var(--muted);font-size:.72rem;line-height:1.3}
.premium-plan strong{display:grid;justify-items:end;color:var(--orange);font-size:.94rem}
.premium-plan em{color:var(--muted);font-size:.62rem;font-style:normal;font-weight:900;text-transform:uppercase}
.premium-methods button{grid-template-columns:38px minmax(0,1fr) 20px}
.premium-method-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:14px;background:var(--blue-soft);color:var(--blue-deep);font-weight:900}
.premium-main,.premium-back,.premium-copy{width:100%;min-height:44px;border-radius:16px;font-weight:900}
.premium-main{background:var(--blue-deep);color:#fff}
.premium-flow>.premium-main{position:sticky;bottom:0;z-index:2;box-shadow:0 -8px 18px rgba(41,61,102,.08)}
.premium-main:disabled{opacity:.45}
.premium-back{background:#fff;color:var(--blue-deep);border:1px solid var(--line)}
.premium-fail-link{color:var(--red)}
.premium-payment-head{display:flex;align-items:center;gap:12px;padding-right:44px}
.premium-payment-head img{width:48px;height:48px;border-radius:16px;background:#fff;box-shadow:var(--shadow-soft)}
.premium-payment-head h2{padding:0;font-size:1.18rem}
.premium-payment-head p{margin-top:3px;color:var(--muted);font-size:.78rem}
.premium-order p{color:var(--muted);font-size:.68rem;font-weight:900;text-transform:uppercase}
.premium-order div{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.premium-order strong{color:var(--orange)}
.premium-order hr{width:100%;border:0;border-top:1px solid var(--line)}
.fake-qr{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:136px;height:136px;margin:4px auto;padding:12px;border-radius:18px;background:var(--surface-2)}
.fake-qr i,.fake-qr span{border-radius:8px;background:var(--blue-deep)}
.fake-qr span{grid-column:2/4}
.premium-qr-card{text-align:center}
.premium-qr-card b,.premium-qr-card strong{color:var(--ink)}
.premium-qr-card em{color:var(--muted);font-size:.72rem;font-style:normal}
.premium-card-form label{padding:0;border:0;background:transparent}
.premium-result-card.success{border-color:rgba(118,185,142,.34);background:#F0FAF4}
.premium-result-card.fail{border-color:rgba(231,109,114,.32);background:var(--red-soft)}
.premium-result-card b{color:var(--ink)}
.premium-result-card span{color:var(--muted);font-size:.8rem;line-height:1.45}
.premium-credit-details{border:1px solid var(--line);border-radius:16px;background:#fff}
.premium-credit-details summary{padding:11px 12px;color:var(--ink);cursor:pointer;font-size:.78rem;font-weight:900}
.premium-credit-values{display:grid;grid-template-columns:1fr auto;gap:8px;padding:0 12px 12px;color:var(--muted);font-size:.76rem}
.premium-credit-values b{color:var(--orange)}
.purchase-auth-actions{display:grid;gap:10px}.purchase-auth-actions .social{width:100%;box-shadow:var(--shadow-soft)}.purchase-auth-hero .premium-badge{color:rgba(255,255,255,.82)}
.ai-credit-lock{display:grid;gap:8px;margin-top:2px;padding:12px;border:1px solid rgba(255,159,113,.35);border-radius:18px;background:var(--peach-soft)}
.ai-credit-lock b{color:var(--ink);font-size:.86rem}
.ai-credit-lock span{color:var(--muted);font-size:.76rem;line-height:1.4}
.ai-credit-lock div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.profile-billing{display:grid;gap:12px;padding:14px}
.profile-billing-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.profile-billing-head h3{font-size:.98rem}
.profile-billing-head span{display:block;margin-top:3px;color:var(--muted);font-size:.76rem}
.profile-billing-head img{width:44px;height:44px;border-radius:15px;background:#fff;box-shadow:var(--shadow-soft)}
.profile-billing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.profile-billing-grid div{padding:10px;border:1px solid var(--line);border-radius:16px;background:var(--surface-2)}
.profile-billing-grid b{display:block;color:var(--ink)}
.profile-billing-grid span{display:block;margin-top:2px;color:var(--muted);font-size:.68rem;font-weight:900;text-transform:uppercase}
.profile-billing-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.billing-cancel{border-color:rgba(231,109,114,.25);background:var(--red-soft);color:var(--red)}
@media(max-width:430px){.premium-hero{padding-right:50px}.premium-plan{grid-template-columns:1fr}.premium-plan strong{justify-items:start}.ai-credit-lock div,.profile-billing-actions{grid-template-columns:1fr}}
#planScreen .section-heading{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start}
#planScreen .section-heading h2{font-size:1.34rem;line-height:1.08}
#planScreen>.section-heading:not(.compact) .plan-main-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%}
#planScreen>.section-heading:not(.compact) .plan-main-actions button{min-width:0;min-height:42px;padding:0 10px;border-radius:16px;white-space:normal;line-height:1.12;box-shadow:none}
#planScreen>.section-heading:not(.compact) .plan-main-actions .primary{border:1px solid rgba(102,127,255,.28);background:#fff;color:var(--blue-deep);box-shadow:inset 0 -3px 0 var(--blue)}
#planScreen>.section-heading:not(.compact) .plan-main-actions .soft{background:rgba(255,255,255,.74)}
#planScreen .day-tabs{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:14px 0 12px;padding:7px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.7);overflow:visible;box-shadow:var(--shadow-soft)}
#planScreen .day-tabs button{min-width:0;min-height:42px;padding:0 6px;border-radius:16px;background:transparent;color:var(--text);font-size:.7rem;white-space:normal;line-height:1.08;box-shadow:none}
#planScreen .day-tabs .active{border-color:rgba(255,159,113,.7);background:var(--peach-soft);color:var(--blue-deep);box-shadow:inset 0 -3px 0 var(--orange)}
#planSummary{padding:16px}
.plan-empty-state{display:grid;gap:9px;padding:2px 0 1px}
.plan-empty-state h3{max-width:440px;font-size:1.02rem;line-height:1.18}
.plan-empty-state .tiny{max-width:500px}
.plan-summary-head{display:grid;gap:9px}
.plan-profile-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.plan-profile-info div{display:grid;gap:3px;min-height:54px;padding:9px;border:1px solid var(--line);border-radius:15px;background:var(--surface-2)}
.plan-profile-info span{color:var(--muted);font-size:.65rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.plan-profile-info b{color:var(--ink);font-size:.84rem;line-height:1.22}
.calorie-ranges{display:grid;gap:8px;margin-top:0;padding:0;border:0}
.calorie-ranges summary{cursor:pointer;color:var(--blue-deep);font-size:.82rem;font-weight:900}
.calorie-range-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.calorie-range-grid div{display:grid;gap:3px;min-height:54px;padding:9px;border:1px solid var(--line);border-radius:15px;background:#fff}
.calorie-range-grid span{color:var(--muted);font-size:.64rem;font-weight:900;text-transform:uppercase}
.calorie-range-grid b{color:var(--ink);font-size:.78rem;line-height:1.2}
.plan-health{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.plan-health div{min-height:58px;padding:9px}
.plan-health b{font-size:.9rem}
.plan-health span{font-size:.64rem;line-height:1.2}
@media(min-width:760px){#planScreen .section-heading{grid-template-columns:minmax(220px,.8fr) minmax(420px,1.2fr);align-items:end}#planScreen>.section-heading:not(.compact) .plan-main-actions{justify-self:end;max-width:520px}#planScreen .day-tabs button{font-size:.75rem}.plan-empty-state{min-height:112px;align-content:center}.plan-summary-head{grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr);align-items:start}.plan-summary-head>.eyebrow{grid-column:1/-1}.calorie-ranges{margin-top:0}}
@media(max-width:430px){#planScreen>.section-heading:not(.compact) .plan-main-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}#planScreen>.section-heading:not(.compact) .plan-main-actions button{min-height:42px;padding:0 5px;font-size:.62rem}#planScreen .day-tabs{gap:5px;padding:6px;border-radius:20px}#planScreen .day-tabs button{min-height:38px;padding:0 3px;font-size:.56rem}.plan-empty-state h3{font-size:.98rem}.plan-profile-info{grid-template-columns:repeat(2,minmax(0,1fr))}.calorie-range-grid,.plan-health{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.calorie-range-grid div,.plan-health div{padding:7px 5px;border-radius:13px}.calorie-range-grid span,.plan-health span{font-size:.54rem}.calorie-range-grid b,.plan-health b{font-size:.65rem;line-height:1.15}}
#foodsScreen .section-heading{align-items:center;margin-bottom:10px}
#foodsScreen .section-heading h2{font-size:1.35rem;line-height:1.05}
#foodsScreen .section-heading .primary{min-height:44px;padding:0 16px}
#foodsScreen .food-source{margin:0 0 10px;padding:9px 10px;border:1px solid rgba(102,127,255,.18);border-radius:14px;background:var(--blue-soft);color:var(--text);font-size:.66rem;font-weight:800;line-height:1.35;text-transform:none}
#foodsScreen .food-source a{color:var(--blue);font-weight:900}
#foodsScreen .search{min-height:46px;margin-bottom:8px;border-radius:18px}
#foodsScreen .search input{min-height:42px}
.food-filter-panel{display:grid;gap:5px;margin:0 0 11px;padding:8px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.62);overflow:hidden}
.food-filter-panel .filter-label{margin:0;color:var(--muted);font-size:.66rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.food-filter-panel .chips{display:flex;flex-wrap:wrap;gap:5px;overflow:visible;padding-bottom:0}
.food-filter-panel .chips .chip{flex:0 1 auto;max-width:100%}
.food-filter-panel .chip{min-height:28px;padding:0 8px;border-radius:999px;font-size:.61rem;line-height:1}
.food-filter-panel .toolbar{margin-top:1px}
.food-filter-panel .toolbar button{min-height:30px;padding:0 10px;font-size:.65rem}
#foodsScreen #foodList{gap:11px}
#foodsScreen .food-card{padding:14px;border-color:rgba(102,127,255,.18);box-shadow:0 12px 28px rgba(41,61,102,.08)}
#foodsScreen .food-card .food-image{width:48px;height:48px;border-radius:16px}
#foodsScreen .food-card .grow b{font-size:.94rem}
#foodsScreen .food-card .grow span{font-size:.73rem}
@media(max-width:430px){#foodsScreen .section-heading{grid-template-columns:1fr auto;gap:10px}#foodsScreen .food-source{font-size:.63rem}.food-filter-panel{padding:8px}.food-filter-panel .chip{min-height:28px;padding:0 8px;font-size:.62rem}#foodsScreen .food-card-actions{flex-wrap:wrap}}

body.modal-open{overflow:hidden}
body.modal-open .app{height:100dvh;overflow:hidden}
.modal.open{overscroll-behavior:contain;touch-action:none}
.modal.open .sheet{overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}
.sheet-title.with-actions{top:-1px;margin:-18px -16px 14px;padding:16px 16px 12px;border-radius:28px 28px 0 0;background:rgba(255,255,255,.96)}
.sheet-title.with-actions .modal-top-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;min-width:0}
.sheet-title.with-actions .modal-top-actions .small{white-space:nowrap}
.sheet>.sheet-close{position:absolute;top:14px;right:14px;z-index:8;width:42px;height:42px;margin:0}
.sheet.action-sheet>.sheet-close{display:none}
@media(max-width:430px){.modal.open .sheet{max-height:calc(100dvh - 18px);padding-top:34px}.sheet>.sheet-close{top:22px}.sheet-title.with-actions{grid-template-columns:1fr;margin-top:0;margin-right:-14px;margin-left:-14px;padding:4px 14px 12px}.sheet-title.with-actions h2{font-size:1.16rem;line-height:1.12}.sheet-title.with-actions .modal-top-actions{justify-content:flex-start;gap:6px}.sheet-title.with-actions .modal-top-actions .small{min-height:36px;height:36px;padding:0 11px;font-size:.72rem}}
.plate-grams-field{display:grid;gap:4px}
.plate-grams-field span{color:var(--muted);font-size:.62rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.plate-grams-field input{width:100%}

