/* Foodlog only: warm graphite, fresh mint and a calm editorial rhythm. */
:root { --bg:#101613; --card:#19211d; --card2:#222d26; --ink:#f0f4ed; --muted:#a4b2a8; --line:#303d34; --green:#b4e892; --green-soft:#b4e89214; --blue:#a0cbd4; --amber:#e6c88c; --radius:22px; }
:root[data-theme="dark"] { --bg:#101613; --card:#19211d; --card2:#222d26; --ink:#f0f4ed; --muted:#a4b2a8; --line:#303d34; --green:#b4e892; --green-soft:#b4e89214; --blue:#a0cbd4; --amber:#e6c88c; }
:root[data-theme="light"] { --bg:#f5f5ee; --card:#fffef9; --card2:#eeefe6; --ink:#24392d; --muted:#5d6e62; --line:#dce1d5; --green:#43752f; --green-soft:#43752f10; --blue:#357382; --amber:#906019; --radius:22px; }
body.foodlog { max-width:1440px; padding:28px 38px 32px; line-height:1.5; }
.foodlog header { margin-bottom:24px; }
.brand { display:flex; align-items:center; gap:10px; color:var(--ink); text-decoration:none; font-size:25px; font-weight:750; letter-spacing:-1px; }
.brand-icon { display:grid; place-items:center; width:38px; height:38px; background:var(--green); color:var(--bg); border-radius:13px; font-family:Georgia,serif; font-size:31px; line-height:1; padding-bottom:6px; }
.brand-detail { margin-left:14px; padding-left:24px; border-left:1px solid var(--line); color:var(--muted); letter-spacing:1.8px; font-size:9px; font-weight:600; }
.foodlog nav.tabs { margin:0 0 26px; padding:0 0 12px; border-bottom:1px solid var(--line); gap:8px; }
.foodlog nav.tabs a { padding:8px 14px; border-radius:9px; font-weight:500; font-size:13px; }
.foodlog nav.tabs a.on { color:var(--bg); background:var(--green); font-weight:650; }
.foodlog button,.foodlog input,.foodlog select { font:inherit; }
.foodlog button { cursor:pointer; }
.foodlog button:disabled { opacity:.3; cursor:default; }
.foodlog :focus-visible { outline:2px solid var(--green); outline-offset:4px; }
.nutrition-hero { display:grid; grid-template-columns:1.05fr 1fr .8fr; gap:40px; align-items:center; padding:26px 6px 40px; margin-bottom:24px; border-bottom:1px solid var(--line); }
.eyebrow { display:block; color:var(--muted); font-size:9px; font-weight:650; letter-spacing:1.7px; margin-bottom:10px; }
.hero-intro h1 { font-family:Georgia,'Times New Roman',serif; font-weight:400; font-size:43px; line-height:1.1; letter-spacing:-1.3px; margin:0 0 16px; }
.hero-intro p { font-size:13px; color:var(--muted); line-height:1.7; }
.hero-date { display:block; color:var(--muted); font-size:11px; margin-top:22px; }
.hero-target-label { font-size:10px; letter-spacing:1.7px; font-weight:600; }
.status-dot { display:inline-block; height:6px; width:6px; margin-left:6px; background:var(--green); border-radius:50%; }
.hero-number { font-size:68px; font-weight:500; letter-spacing:-3px; line-height:1.3; color:var(--green); }
.hero-number span { font-size:16px; font-weight:400; letter-spacing:0; color:var(--muted); }
.hero-consumed { font-size:12px; color:var(--muted); margin:10px 0 9px; }
.hero-consumed b { color:var(--ink); }
.hero-consumed span { float:right; }
.hero-energy p { color:var(--muted); font-size:10px; line-height:1.6; margin-top:12px; }
.meter { height:5px; background:var(--track); border-radius:20px; overflow:hidden; }
.meter i { display:block; height:100%; background:var(--green); border-radius:20px; }
.calorie-meter { height:7px; }
.hero-macros { border-left:1px solid var(--line); padding-left:32px; }
.macro-meter { margin:0 0 23px; }
.macro-meter>div:first-child { display:flex; justify-content:space-between; font-size:12px; margin-bottom:10px; }
.macro-meter small { font-weight:400; color:var(--muted); font-size:10px; }
.macro-total { display:flex; justify-content:space-between; gap:12px; color:var(--muted); font-size:11px; }
.macro-total b { margin-left:6px; color:var(--ink); font-weight:500; }
.foodlog .layout { grid-template-columns:minmax(0,1.8fr) minmax(320px,1fr); gap:24px; }
.foodlog .card { padding:25px; margin-bottom:24px; border-color:var(--line); box-shadow:none; }
.foodlog .card h2 { font-size:17px; font-weight:600; text-transform:none; letter-spacing:-.3px; color:var(--ink); margin:0 0 18px; }
.section-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:20px; }
.foodlog .section-head h2 { margin:0; }
.section-head .eyebrow { margin-bottom:6px; }
.foodlog .navbtn { border-radius:9px; min-height:34px; min-width:34px; padding:2px 10px; font-size:16px; font-weight:400; }
.day-summary { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; color:var(--muted); font-size:11px; padding:0 0 16px; }
.day-summary b { font-size:17px; color:var(--ink); font-weight:600; }
.log-status { display:flex; align-items:center; justify-content:space-between; gap:12px; border-block:1px solid var(--line); padding:10px 0; margin-bottom:6px; font-size:11px; color:var(--muted); }
.foodlog select { color:var(--ink); background:var(--card2); border:1px solid var(--line); border-radius:8px; padding:7px 9px; font-size:11px; max-width:100%; }
.foodlog .meal { padding:17px 0; gap:12px; border-color:var(--line); }
.foodlog .meal .t { font-size:10px; width:36px; padding-top:3px; }
.foodlog .meal .d { font-size:13px; font-weight:500; line-height:1.6; overflow-wrap:anywhere; }
.foodlog .meal .m { font-size:10px; min-width:130px; line-height:1.8; }
.foodlog .meal .m b { font-size:12px; font-weight:600; color:var(--green); }
.foodlog .meal .sub { font-size:10px; font-weight:400; color:var(--muted); }
.foodlog .meal .badge { border-radius:5px; font-size:9px; font-weight:400; padding:2px 5px; background:var(--card2); color:var(--muted); }
.foodlog .pct input { width:52px; min-width:52px; font-size:11px; padding:3px 4px; appearance:textfield; }
.foodlog .pct input::-webkit-inner-spin-button { appearance:none; }
.foodlog .del { padding:5px; font-size:12px; min-width:30px; min-height:30px; }
.foodlog .add-toggle { border:1px solid var(--line); background:var(--card2); color:var(--ink); font-size:12px; font-weight:500; padding:11px; border-radius:10px; }
.foodlog .quickadd { padding:14px; border:1px solid var(--line); background:var(--green-soft); border-radius:12px; display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.foodlog .quickadd .qa-label { font-size:11px; }
.foodlog .quickadd .qa-info { font-size:10px; }
.foodlog .quickadd .qa-btn { font-size:11px; background:var(--green); color:var(--bg); }
.foodlog .quickadd input { min-width:40px; width:46px; font-size:12px; }
.foodlog .totals { margin-top:18px; padding-top:18px; border-top:1px solid var(--line); }
.foodlog .totals .row { font-size:10px; font-weight:400; }
.foodlog .bar-track { height:4px; margin-bottom:13px; }
.foodlog .bar-fill.low { background:var(--green); }
.footnote { color:var(--muted); font-size:10px; line-height:1.7; margin-top:14px; }
.foodlog .add-form input { background:var(--card2); color:var(--ink); font-size:13px; }
.foodlog .add-form button { background:var(--green); color:var(--bg); font-size:13px; }
.history-stats { display:flex; justify-content:space-between; gap:14px; margin-bottom:25px; }
.history-stats div { display:flex; flex-direction:column; }
.history-stats b { font-size:24px; font-weight:500; letter-spacing:-.6px; }
.history-stats small { font-size:12px; color:var(--muted); font-weight:400; letter-spacing:0; }
.history-stats span { color:var(--muted); font-size:10px; margin-top:4px; }
.segments { display:flex; gap:2px; padding:3px; background:var(--card2); border-radius:9px; }
.segments button { border:0; border-radius:6px; color:var(--muted); background:transparent; padding:5px 8px; font-size:10px; min-height:28px; }
.segments button[aria-pressed="true"] { color:var(--bg); background:var(--green); }
.chart-wrap { height:245px; width:100%; position:relative; }
.weight-chart { height:220px; }
.source-label { font-size:8px; color:var(--muted); letter-spacing:.8px; text-align:right; }
.adaptive-card { border-top:2px solid var(--green)!important; }
.confidence { padding:4px 7px; background:var(--card2); border-radius:6px; color:var(--amber); font-size:9px; white-space:nowrap; }
.adaptive-card .section-head { flex-wrap:wrap; }
.window-control { display:flex; justify-content:space-between; align-items:center; gap:10px; font-size:11px; color:var(--muted); padding-block:13px; border-block:1px solid var(--line); }
.tdee-number { margin-top:20px; font-size:43px; font-weight:500; letter-spacing:-1.7px; }
.tdee-number small { font-size:11px; letter-spacing:0; color:var(--muted); font-weight:400; }
.tdee-label { font-size:12px; }
.range-label { font-size:10px; color:var(--muted); margin-top:5px; }
.energy-equation { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:20px 0; }
.energy-equation>span { color:var(--muted); }
.energy-equation div>span { display:block; font-size:10px; color:var(--muted); margin-bottom:3px; }
.energy-equation b { font-size:17px; font-weight:500; }
.energy-equation small { font-size:10px; color:var(--muted); font-weight:400; }
.recommendation { background:var(--green-soft); border:1px solid var(--line); border-radius:14px; padding:17px; }
.recommendation>span { font-size:9px; letter-spacing:1.3px; }
.recommendation>b { display:block; color:var(--green); font-size:32px; font-weight:500; margin:2px 0; }
.recommendation small { font-size:13px; font-weight:400; }
.recommendation p { color:var(--muted); font-size:9px; }
.coverage { display:flex; justify-content:space-between; gap:10px; padding-top:20px; margin-top:20px; border-top:1px solid var(--line); }
.coverage div { display:flex; flex-direction:column; }
.coverage b { font-size:16px; font-weight:500; }
.coverage span { font-size:9px; color:var(--muted); margin-top:2px; }
.model-details { border-top:1px solid var(--line); margin-top:18px; padding-top:16px; }
.model-details summary { font-size:11px; cursor:pointer; }
.model-details p,.model-details li { color:var(--muted); font-size:10px; margin-top:12px; line-height:1.7; }
.model-details ul { padding-left:16px; }
.goal-journey { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:22px 0 16px; }
.goal-journey b { font-size:21px; font-weight:500; }
.goal-journey small { font-size:10px; color:var(--muted); font-weight:400; }
.goal-journey>span { color:var(--muted); }
.foodlog .progress { height:5px; }
.goal-facts { display:grid; grid-template-columns:1fr auto; gap:12px; border-top:1px solid var(--line); padding-top:18px; margin-top:20px; font-size:11px; }
.goal-facts span { color:var(--muted); }
.foodlog-footer { text-align:center; color:var(--muted); font-size:10px; padding-top:20px; }
@media(min-width:1200px) { .foodlog .col-side { position:sticky; top:20px; } }
@media(max-width:1050px) { body.foodlog { padding:22px; } .nutrition-hero { gap:22px; } .hero-intro h1 { font-size:34px; } .hero-number { font-size:55px; } .hero-macros { padding-left:18px; } .foodlog .layout { gap:18px; grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr); } .foodlog .card { padding:20px; } }
@media(max-width:760px) { body.foodlog { padding:20px 16px 30px; } .brand-detail { display:none; } .foodlog header { margin-bottom:20px; } .foodlog header #period { font-size:9px; } .foodlog nav.tabs { gap:2px; margin-bottom:12px; } .foodlog nav.tabs a { font-size:12px; padding:8px 12px; } .nutrition-hero { grid-template-columns:1fr 1fr; padding:20px 4px 26px; gap:24px 18px; margin-bottom:20px; } .hero-intro { grid-column:1/-1; } .hero-intro h1 { font-size:40px; margin-bottom:10px; } .hero-intro p br { display:none; } .hero-intro p { font-size:12px; } .hero-date { margin-top:12px; } .hero-number { font-size:47px; } .hero-number span { font-size:12px; } .hero-target-label { font-size:8px; letter-spacing:1px; } .hero-consumed { font-size:10px; } .hero-consumed span { float:none; display:block; margin-top:3px; } .hero-energy p { font-size:9px; } .hero-macros { padding-left:16px; } .macro-meter>div:first-child { flex-direction:column; gap:4px; font-size:11px; } .macro-meter { margin-bottom:14px; } .macro-total { font-size:9px; flex-wrap:wrap; gap:6px; } .foodlog .layout { display:flex; flex-direction:column; gap:0; } .col-main,.col-side { width:100%; } .foodlog .card { padding:19px; margin-bottom:18px; border-radius:18px; } .foodlog .card h2 { font-size:15px; } .foodlog .meal { gap:8px; } .foodlog .meal .m { min-width:90px; } .foodlog .meal .d { font-size:12px; } .foodlog .meal .t { width:31px; font-size:9px; } .foodlog .meal .pct { display:flex; justify-content:flex-end; } .foodlog .meal .m b { font-size:11px; } .foodlog .meal .sub { display:none; } .history-stats b { font-size:21px; } .history-stats span { font-size:9px; } .history-stats { gap:9px; } .section-head { flex-wrap:wrap; } .chart-wrap { height:220px; } .eyebrow { font-size:8px; } .foodlog .col-side { display:contents; } .adaptive-card { order:-1; width:100%; } .foodlog .col-main { display:contents; } .meal-card { order:-2; width:100%; } .history-card,.weight-card,.goal-card { width:100%; } }
@media(prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; transition:none!important; } }
.streaks { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:8px; }
.streaks>div { display:flex; flex-direction:column; gap:4px; padding:14px; background:var(--green-soft); border:1px solid var(--line); border-radius:12px; }
.streaks span { font-size:10px; color:var(--muted); }
.streaks b { font-size:25px; color:var(--green); font-weight:500; }
.streaks small { font-size:12px; font-weight:400; }
.streak-note { margin:0 0 20px; }
.macro-panel { border-top:1px solid var(--line); padding-top:26px; margin-top:26px; }
.macro-averages { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:22px; }
.macro-averages>div { display:flex; flex-direction:column; gap:5px; }
.macro-averages span { color:var(--muted); font-size:10px; }
.macro-averages b { font-size:23px; font-weight:500; }
.macro-averages small { font-size:10px; color:var(--muted); font-weight:400; }
.macro-controls { display:flex; flex-wrap:wrap; gap:10px; justify-content:space-between; margin-bottom:20px; }
#bc-reader video { border-radius:12px; }
@media(max-width:760px) { .macro-averages { grid-template-columns:1fr 1fr; gap:18px; } .macro-controls .segments { flex-wrap:wrap; } .streaks>div { padding:11px; } }
.period-comparison { border-block:1px solid var(--line); margin:0 0 22px; padding:15px 0; }
.period-comparison summary,.nutrition-review summary { font-size:12px; cursor:pointer; }
.comparison-scroll { overflow-x:auto; margin-top:14px; }
.period-comparison table { border-collapse:collapse; width:100%; font-size:12px; text-align:right; }
.period-comparison th,.period-comparison td { padding:10px 6px; border-bottom:1px solid var(--line); white-space:nowrap; }
.period-comparison th:first-child { text-align:left; }
.period-comparison thead th { color:var(--muted); font-size:10px; font-weight:500; }
.period-comparison tbody th { font-weight:500; }
.period-comparison td small { display:block; font-size:9px; color:var(--muted); margin-top:2px; }
.compare-toggle { display:flex; gap:9px; align-items:center; font-size:11px; margin-top:15px; }
.compare-toggle input { accent-color:var(--green); }
.nutrition-flag { display:block; max-width:100%; text-align:left; margin-top:7px; padding:4px 7px; border:1px solid var(--line); border-radius:6px; color:var(--amber); background:var(--card2); font-size:10px!important; }
.nutrition-review { border-top:1px solid var(--line); padding-top:20px; margin-top:22px; }
.nutrition-review summary>span { color:var(--amber); font-size:10px; margin-left:8px; }
.review-counts { display:flex; flex-wrap:wrap; gap:6px; margin:14px 0; }
.review-counts span { font-size:10px; padding:4px 7px; border-radius:6px; background:var(--card2); color:var(--muted); }
.review-item { display:flex; gap:12px; align-items:center; justify-content:space-between; padding:12px 0; border-bottom:1px solid var(--line); }
.review-item>div { min-width:0; }
.review-item b { display:block; font-size:11px; font-weight:500; overflow-wrap:anywhere; }
.review-item span { display:block; font-size:10px; color:var(--muted); margin-top:4px; }
.review-item button { flex:none; border:1px solid var(--line); border-radius:7px; background:var(--card2); color:var(--ink); padding:7px; font-size:10px!important; }
.foodlog .footnote a { color:var(--blue); }
@media(max-width:420px) { .period-comparison table { font-size:10px; } .period-comparison th,.period-comparison td { padding:9px 3px; } }

.workout-fuel { border:1px solid var(--line); background:var(--card2); border-radius:14px; padding:18px; margin:18px 0; }
.workout-fuel h2 { margin:6px 0 0; font-size:16px; }
.fuel-equation { display:flex; align-items:center; justify-content:space-between; gap:6px; margin:18px 0; }
.fuel-equation span { font-size:23px; font-weight:500; }
.fuel-equation span:last-child { color:var(--green); }
.fuel-equation small { display:block; font-size:10px; color:var(--muted); margin-top:5px; font-weight:400; }
.fuel-equation i { color:var(--muted); font-style:normal; }
.fuel-session,.fuel-plan { display:flex; justify-content:space-between; align-items:center; gap:12px; border-top:1px solid var(--line); padding:12px 0; font-size:12px; }
.fuel-session>div,.fuel-plan>span { min-width:0; overflow-wrap:anywhere; }
.fuel-session span { display:block; font-size:10px; color:var(--muted); margin-top:5px; }
.fuel-session>b { white-space:nowrap; }
.fuel-session small,.fuel-plan small { color:var(--muted); font-weight:400; font-size:10px; }
.fuel-planner { margin-top:16px; border-top:1px solid var(--line); padding-top:16px; }
.fuel-planner summary { cursor:pointer; font-size:12px; color:var(--blue); }
.fuel-fields { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.fuel-fields label { min-width:0; font-size:10px; color:var(--muted); }
.fuel-fields input,.fuel-fields select { box-sizing:border-box; width:100%; min-width:0; padding:9px; margin-top:6px; border:1px solid var(--line); border-radius:8px; background:var(--card); color:var(--ink); font:inherit; font-size:12px; }
@media(max-width:420px) { .workout-fuel { padding:12px; } .fuel-equation span { font-size:21px; } .fuel-session { font-size:11px; } }

/* The daily habit takes priority over analysis. */
.foodlog .habit-card { border:1px solid var(--green); padding:30px; margin-bottom:24px; }
.habit-top { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.habit-top h1 { font:400 38px/1.1 Georgia,serif; margin:0 0 12px; letter-spacing:-1px; }
.habit-top p { color:var(--muted); font-size:13px; margin:0; max-width:470px; }
.habit-flame { display:flex; flex-direction:column; align-items:center; min-width:100px; }
.habit-flame>b { font-size:48px; line-height:1.15; color:var(--green); }
.habit-flame>span:first-child { font-size:25px; }
.habit-flame>span:last-child { font-size:11px; color:var(--muted); }
.habit-days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:8px; margin:24px 0 18px; }
.habit-day { background:var(--card2); color:var(--muted); border:1px solid transparent; border-radius:12px; padding:10px 0; display:flex; flex-direction:column; align-items:center; gap:6px; }
.habit-day span { font-size:11px; }.habit-day b { font-size:20px; }.habit-day.done { background:var(--green-soft); color:var(--green); }.habit-day.today { border-color:var(--green); }
.habit-actions { display:flex; gap:10px; }.habit-actions button { flex:1; }
.habit-primary,.habit-secondary { padding:13px 18px; border-radius:12px; border:1px solid var(--line); font-weight:600!important; min-height:48px; }
.habit-primary { background:var(--green); color:var(--bg); }.habit-secondary { background:var(--card2); color:var(--ink); }
.habit-records { display:flex; flex-wrap:wrap; gap:12px 24px; font-size:11px; color:var(--muted); margin:18px 0; }.habit-records b { color:var(--ink); }
.habit-reward,.habit-weight { display:flex; gap:12px; justify-content:space-between; align-items:center; padding:16px 0; border-top:1px solid var(--line); font-size:13px; }.habit-reward>span { font-size:28px; color:var(--green); }.habit-reward span,.habit-weight span,.habit-weight small { display:block; color:var(--muted); font-size:11px; margin-top:4px; }.habit-weight a { white-space:nowrap; color:var(--green); font-size:11px; }
.habit-text { border:0; background:none; color:var(--blue); padding:10px 0; text-align:left; font-size:12px!important; }
.habit-settings { border-top:1px solid var(--line); padding-top:12px; font-size:12px; }.habit-settings summary,.recent-meals summary { cursor:pointer; padding:8px 0; }.habit-settings form { max-width:520px; }.habit-settings fieldset { border:0; padding:12px 0; }.habit-day-options { display:flex; flex-wrap:wrap; gap:12px; }.habit-settings form>label { display:flex; flex-direction:column; gap:6px; margin:12px 0; }.habit-settings input:not([type=checkbox]) { color:var(--ink); background:var(--card2); padding:10px; border:1px solid var(--line); border-radius:8px; min-width:0; }.habit-settings input[type=checkbox] { accent-color:var(--green); }.habit-nudge { color:var(--amber); font-size:12px; }
.recent-meals { margin:16px 0; font-size:12px; }.recent-list { display:grid; grid-template-columns:1fr 1fr; gap:8px; }.recent-list button { text-align:left; border:1px solid var(--line); background:var(--card2); color:var(--ink); border-radius:10px; padding:12px; overflow-wrap:anywhere; }.recent-list span { display:block; color:var(--muted); font-size:10px; margin-top:5px; }
.closeout-review { border-top:1px solid var(--line); margin-top:18px; padding-top:18px; }.closeout-review button { width:100%; }.closeout-review p { color:var(--muted); font-size:11px; }
.habit-feedback { position:fixed; bottom:20px; left:50%; transform:translateX(-50%); z-index:60; max-width:90vw; border-radius:12px; font-size:13px; background:var(--green); color:var(--bg); box-shadow:0 4px 24px #0004; }.habit-feedback:not(:empty) { padding:12px 20px; }
@keyframes habit-pop { 0% {transform:scale(.8)} 50% {transform:scale(1.15)} 100% {transform:scale(1)} }.celebrate .habit-flame { animation:habit-pop .65s ease-out; }.is-complete { background:linear-gradient(110deg,var(--green-soft),var(--card)); }
@media(max-width:600px) { .foodlog .habit-card { padding:20px; }.habit-top h1 {font-size:30px}.habit-top p {font-size:12px}.habit-flame {min-width:70px}.habit-flame>b {font-size:38px}.habit-actions {flex-direction:column}.habit-days {gap:5px}.habit-weight {align-items:flex-start;flex-direction:column}.recent-list {grid-template-columns:1fr}.habit-records {gap:8px 16px} }
@media(prefers-reduced-motion:reduce) { .celebrate .habit-flame {animation:none} }
#closeout-dialog { background:var(--card); color:var(--ink); border:1px solid var(--line); border-radius:22px; padding:24px; width:min(560px,calc(100vw - 24px)); max-height:90dvh; overflow-y:auto; box-sizing:border-box; }
#closeout-dialog::backdrop {background:#0009;backdrop-filter:blur(3px)}
.closeout-meals {margin:18px 0}.closeout-meals>button {display:flex;justify-content:space-between;gap:14px;width:100%;border:0;border-bottom:1px solid var(--line);background:none;color:var(--ink);padding:14px 0;text-align:left;font-size:13px}.closeout-meals small {display:block;color:var(--muted);font-size:10px;margin-top:5px}.closeout-meals b {white-space:nowrap;color:var(--green);font-size:12px}.closeout-meals span {overflow-wrap:anywhere;min-width:0}
.food-text-form {margin:20px 0;padding:18px;background:var(--card2);border-radius:14px}.food-text-form>label {display:block;font-weight:600;font-size:14px;margin-bottom:8px}.food-text-form textarea {width:100%;box-sizing:border-box;resize:vertical;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:12px;font:inherit;font-size:16px;line-height:1.5}.food-text-controls {display:flex;gap:12px;align-items:end;margin-top:10px;flex-wrap:wrap}.food-text-controls label {display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--muted)}.food-text-controls input {color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:8px;padding:9px;min-width:0}.food-text-controls button {flex:1}.food-text-form p:empty {display:none}.food-text-form .footnote {margin-bottom:0}#food-text-error,#text-save-error {font-size:12px;color:var(--amber)}
#text-review-dialog {background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:22px;padding:24px;width:min(620px,calc(100vw - 24px));max-height:90dvh;overflow-y:auto;box-sizing:border-box}#text-review-dialog::backdrop {background:#0009;backdrop-filter:blur(3px)}.text-meal {border:1px solid var(--line);border-radius:12px;padding:14px;margin:18px 0;min-width:0}.text-meal legend {font-size:13px}.text-meal label {font-size:12px}.text-meal>label {display:flex;flex-direction:column;gap:6px}.text-meal input:not([type=checkbox]) {width:100%;box-sizing:border-box;min-width:0;background:var(--card2);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:10px;font-size:16px}.text-meal input[type=checkbox] {accent-color:var(--green)}.text-estimate {font-size:13px;color:var(--green)}.food-text-note {font-size:12px;color:var(--amber);overflow-wrap:anywhere}.text-meal summary {cursor:pointer;font-size:12px;padding:10px 0}.text-nutrients {display:grid;grid-template-columns:1fr 1fr;gap:12px}.text-nutrients label {display:flex;flex-direction:column;gap:5px}#text-save {width:100%}
