:root{--safe-bottom: env(safe-area-inset-bottom, 0px);--bottom-nav-offset: calc(92px + var(--safe-bottom));--bg: #090b12;--surface: #101522;--surface-raised: #151c2c;--text: #f5f7fb;--muted: #9aa8bd;--subtle: #5b6b84;--border: #263247;--control-border: #5b6b84;--grid: #263247;--weight: #36d1ff;--trend: #f6e05e;--pace: #67f28a;--intake: #ff9f43;--average-intake: #a7b6cf;--maintenance: #1f8f8a;--target: #ff4fd8;--calm-text: #b8fac8;--caution-text: #ffd1a1;--danger-text: #ffb8b8;--accent-soft: rgba(54, 209, 255, .13);--weight-wash: rgba(54, 209, 255, .16);--target-wash: rgba(255, 79, 216, .17);--control-fill: rgba(38, 50, 71, .45);--control-fill-strong: rgba(38, 50, 71, .55);--nav-bg: rgba(9, 11, 18, .92);--backdrop: rgba(9, 11, 18, .58);--scale-point-fill: rgba(54, 209, 255, .9);--meals-chrome-shadow: 0 8px 14px rgba(0, 0, 0, .18);color-scheme:dark light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text)}:root[data-theme=dark]{color-scheme:dark}:root[data-theme=light]{--bg: #f4f7fb;--surface: #ffffff;--surface-raised: #f4f7fb;--text: #172033;--muted: #52627a;--subtle: #64748b;--border: #8493a7;--control-border: #8493a7;--grid: #d2dae5;--weight: #007fa8;--trend: #876800;--pace: #16833c;--intake: #ad4f08;--average-intake: #3f5878;--maintenance: #176f72;--target: #b4238a;--calm-text: #176b34;--caution-text: #8a4700;--danger-text: #a12626;--accent-soft: rgba(0, 127, 168, .12);--weight-wash: rgba(0, 127, 168, .1);--target-wash: rgba(180, 35, 138, .1);--control-fill: #ffffff;--control-fill-strong: #f4f7fb;--nav-bg: rgba(244, 247, 251, .92);--backdrop: rgba(16, 21, 34, .32);--scale-point-fill: rgba(0, 127, 168, .86);--meals-chrome-shadow: 0 10px 18px rgba(17, 24, 39, .11);color-scheme:light}*{box-sizing:border-box}html,body,#app{width:100%;max-width:100%;overflow-x:hidden}body{margin:0;min-height:100vh;min-height:100dvh;background:var(--bg)}button,input,select{font:inherit}.shell{position:relative;width:min(100%,460px);max-width:100%;min-height:100vh;min-height:100dvh;margin:0 auto;overflow-x:hidden;padding:22px 16px var(--bottom-nav-offset)}.meal-undo-toast{position:fixed;left:50%;bottom:calc(var(--bottom-nav-offset) + 12px);z-index:40;display:grid;grid-template-columns:minmax(0,1fr) auto 32px;align-items:center;gap:10px;width:min(calc(100% - 32px),428px);min-height:52px;padding:10px 10px 10px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface-raised);color:var(--text);box-shadow:0 16px 32px #00000047;transform:translate(-50%)}.meal-undo-toast.no-action{grid-template-columns:minmax(0,1fr) 32px}.meal-undo-toast span{min-width:0;overflow:hidden;font-size:14px;font-weight:800;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.meal-undo-toast-action,.meal-undo-toast-close{border:1px solid var(--control-border);background:var(--control-fill);color:var(--text);font-weight:850}.meal-undo-toast-action{min-height:32px;padding:0 12px;border-radius:8px}.meal-undo-toast-close{width:32px;height:32px;border-radius:999px;font-size:20px;line-height:1}.app-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}h1,h2,p{margin:0}h1{font-size:32px;line-height:1;letter-spacing:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.brand-logo{display:block;width:172px;max-width:100%;height:auto;aspect-ratio:871 / 220;flex:0 0 auto;object-fit:contain;object-position:left center}h2{font-size:18px;font-weight:700}.app-header p,.metric-context,.advanced-grid span{color:var(--muted)}.icon-button,.bottom-nav button,form button{border:0;border-radius:8px;background:var(--border);color:var(--text);padding:10px 12px}.settings-button{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--control-border);border-radius:999px;background:var(--control-fill);font-size:18px;line-height:1}.home-header{align-items:center}.plan-button{width:auto;min-width:56px;height:38px;padding:0 14px;font-size:13px;font-weight:850}.entry-panel,.log-card,.metric,.chart-card,.advanced,.entry-editor,.import-panel,.settings-form{border:1px solid var(--border);border-radius:8px;background:var(--surface)}.entry-panel{padding:16px;margin-bottom:14px}.log-shell{display:grid;align-content:start}.log-header{align-items:center;margin-bottom:28px}.log-trends-link{border:1px solid var(--control-border);background:var(--control-fill);color:var(--muted);font-size:13px;font-weight:800}.log-card{display:grid;gap:20px;border:0;background:radial-gradient(circle at top left,var(--weight-wash),transparent 34%),var(--surface);padding:22px;box-shadow:0 20px 70px #0000002e}.onboarding-shell{display:grid;align-content:start}.onboarding-header{align-items:center;margin-bottom:28px}.onboarding-restore{border:1px solid var(--control-border);background:var(--control-fill);color:var(--muted);font-size:13px;font-weight:800}.onboarding-card{display:grid;gap:20px;border:0;border-radius:8px;background:radial-gradient(circle at top left,var(--weight-wash),transparent 34%),var(--surface);padding:22px;box-shadow:0 20px 70px #0000002e}.onboarding-card form{display:grid;gap:16px}.form-error{min-height:18px;color:var(--intake);font-size:13px;line-height:1.35}.hidden-file{display:none}.log-kicker{margin-bottom:10px;color:var(--weight);font-size:12px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.log-title h2{max-width:14ch;font-size:30px;font-weight:850;line-height:1.05}.onboarding-card h2{max-width:12ch;font-size:30px;font-weight:850;line-height:1.05}.log-copy{margin-top:8px;color:var(--muted);line-height:1.45}.log-card form{display:grid;gap:16px}.readonly-intake{display:grid;gap:4px;align-content:center;border:1px solid var(--border);border-radius:8px;background:var(--surface-raised);min-height:58px;padding:8px 12px}.readonly-intake small{color:var(--muted)}.readonly-intake strong{color:var(--text);font-size:20px;font-weight:400;line-height:1.2}.readonly-intake-field{display:grid;gap:6px;color:var(--muted)}.log-input{padding-block:20px;font-size:34px;font-weight:850}.log-card .primary-action,.onboarding-card .primary-action{margin-top:8px;background:var(--weight);color:var(--bg);font-weight:900}.log-card .primary-action:disabled,.onboarding-card .primary-action:disabled{cursor:not-allowed;background:var(--border);color:var(--subtle)}.log-card .secondary-action,.onboarding-card .secondary-action{border:1px solid var(--control-border);background:transparent;color:var(--muted)}.entry-panel form,.settings-form{display:grid;gap:12px;margin-top:14px}.settings-utilities{display:grid;gap:10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:16px}.settings-utilities button{border:1px solid var(--control-border);border-radius:8px;background:transparent;color:var(--text);padding:10px 12px;text-align:left}.settings-shell{padding-bottom:28px}.settings-header{align-items:center}.settings-close{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--control-border);border-radius:999px;background:var(--control-fill);padding:0;font-size:26px;line-height:1}.settings-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;border:1px solid var(--control-border);border-radius:8px;background:var(--surface);padding:5px;margin-bottom:14px}.settings-tabs button{border:0;border-radius:6px;background:transparent;color:var(--muted);padding:10px 12px;font-weight:850}.settings-tabs button.active{background:var(--accent-soft);color:var(--text)}.theme-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;border:1px solid var(--control-border);border-radius:8px;background:var(--surface-raised);padding:5px}.theme-options button{border:0;border-radius:6px;background:transparent;color:var(--muted);padding:10px 8px;font-size:13px;font-weight:850}.theme-options button.active{background:var(--accent-soft);color:var(--text)}.plan-form{gap:14px;margin-top:0;border:0;background:transparent;padding:0}.settings-hero,.settings-section,.settings-utilities{display:grid;gap:14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:16px}.settings-hero{overflow:hidden;border:0;background:radial-gradient(circle at top left,var(--target-wash),transparent 42%),var(--surface)}.settings-kicker{color:var(--weight);font-size:11px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.settings-copy,.settings-hero p:not(.settings-kicker),.settings-utilities p:not(.settings-kicker),.rate-card p{color:var(--muted);font-size:14px;line-height:1.42}.target-input{border-color:var(--target);background:var(--surface-raised);padding-block:18px;color:var(--text);font-size:44px;font-weight:900;letter-spacing:0}.rate-card-heading,.danger-zone{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.rate-card{display:grid;gap:12px;border-top:1px solid var(--border);padding-top:14px}.rate-card:first-of-type{margin-top:2px}.rate-card h3,.danger-zone h3{margin:0;color:var(--text);font-size:16px}.unit-input{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;overflow:hidden;border:1px solid var(--control-border);border-radius:8px;background:var(--surface-raised)}.unit-input input{border:0;border-radius:0;background:transparent}.unit-input span{padding-right:12px;color:var(--muted);font-size:13px;font-weight:850}.rate-card .rate-readout{width:fit-content;border:1px solid var(--control-border);border-radius:999px;background:var(--surface-raised);color:var(--text);padding:6px 10px;font-size:13px;font-weight:850;line-height:1.2}.rate-guidance{border-radius:8px;padding:10px 11px}.rate-guidance.calm{background:#67f28a1a;color:var(--calm-text)}.rate-guidance.caution{background:#ff9f4321;color:var(--caution-text)}.rate-guidance.danger{background:#ff606024;color:var(--danger-text)}.plan-form .primary-action{background:var(--weight);color:var(--bg);font-weight:900}.custom-floor-toggle{grid-template-columns:auto minmax(0,1fr);width:fit-content;color:var(--text)}.custom-floor-toggle input{accent-color:var(--weight)}.custom-floor-field{display:none}.custom-floor-field.visible,.plan-form:has(input[name=customMinimumCaloriesEnabled]:checked) .custom-floor-field{display:grid}.utility-actions{display:grid;gap:8px}.utility-actions button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:1px solid var(--control-border);border-radius:8px;background:var(--surface-raised);color:var(--text);padding:12px;font-weight:850;text-align:left}.utility-actions button:after{content:"›";color:var(--subtle);font-size:22px;line-height:1}.appearance-section,.data-section{margin-bottom:14px}.danger-zone{align-items:center;border-top:1px solid var(--border);padding-top:14px}.danger-zone p{margin-top:4px}.reset-button{flex:0 0 auto;border:1px solid rgba(255,96,96,.5);border-radius:8px;background:#ff60601f;color:var(--danger-text);padding:10px 12px;font-weight:850}label{display:grid;gap:6px;color:var(--muted)}.checkbox-row{display:flex;align-items:center;gap:10px}input,select{width:100%;border:1px solid var(--control-border);border-radius:8px;background:var(--surface-raised);color:var(--text);padding:14px 12px;font-size:20px}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(45deg,transparent 50%,var(--muted) 50%) calc(100% - 18px) 52% / 6px 6px no-repeat,linear-gradient(135deg,var(--muted) 50%,transparent 50%) calc(100% - 12px) 52% / 6px 6px no-repeat,var(--surface-raised);padding-right:34px}.height-input-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.checkbox-row input{width:auto}.metric-strip{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-bottom:14px}.metric{position:relative;overflow:hidden;min-height:116px;padding:15px 13px;cursor:pointer}.metric:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.metric:before{content:"";position:absolute;inset:0 0 auto;height:7px;background:var(--accent)}.metric.compact{min-height:108px}.metric.primary{grid-column:1 / -1;min-height:116px}.metric-topline{display:flex;align-items:center;justify-content:space-between;gap:8px}.metric-label{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.info-button{display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--control-border);border-radius:999px;background:var(--control-fill-strong);color:var(--muted);padding:0;font-size:13px;font-weight:800}.metric-value{margin-top:14px;color:var(--accent);font-size:clamp(24px,7vw,32px);font-weight:850;line-height:1;text-align:center;white-space:nowrap}.metric.primary .metric-value,.metric.compact .metric-value{font-size:clamp(24px,7vw,32px)}.metric-value span{font-size:.45em;font-weight:850}.metric-context{grid-column:1 / -1;display:flex;flex-wrap:nowrap;align-items:center;gap:6px;min-width:0;overflow:hidden;font-size:12px;line-height:1.35;white-space:nowrap}.metric-context span{display:inline;min-width:0}.metric-context>i{width:3px;height:3px;border-radius:999px;background:var(--subtle)}.metric-context strong{color:var(--text);font-weight:800}.metric-context .pr-note{color:var(--trend)}.range-control{display:flex;gap:6px;margin-bottom:14px}.range-control button{border:1px solid var(--control-border);border-radius:8px;background:var(--surface);color:var(--muted);flex:1 1 0;min-width:0;padding:9px 4px;font-size:12px;font-weight:800}.range-control button.active{border-color:var(--weight);background:var(--accent-soft);color:var(--text)}.chart-card{padding:16px;margin-bottom:14px}.chart-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.chart-heading p{color:var(--muted);font-size:12px;white-space:nowrap}.sparkline{width:100%;height:170px;margin-top:14px;overflow:visible}.trend-chart{width:100%;height:230px;margin-top:14px;overflow:visible}.grid-line{stroke:var(--grid);stroke-width:1}.axis-label{fill:var(--muted);font-size:10px}.scale-point{fill:var(--scale-point-fill);opacity:var(--scale-point-opacity, .5)}.trend-line{fill:none;stroke:var(--trend);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.pace-line{fill:none;stroke:var(--pace);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.target-line{fill:none;stroke:var(--target);stroke-width:3;stroke-dasharray:7 6;stroke-linecap:round;stroke-linejoin:round}.target-weight-line{stroke:var(--target);stroke-width:2;stroke-dasharray:2 3;stroke-linecap:round;opacity:.85}.maintenance-zone{fill:var(--target);opacity:.11}.intake-line{fill:none;stroke:var(--average-intake);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.adaptive-intake-line{fill:none;stroke:var(--intake);stroke-width:3;stroke-dasharray:7 6;stroke-linecap:round;stroke-linejoin:round}.maintenance-intake-line{fill:none;stroke:var(--maintenance);stroke-width:2.4;stroke-dasharray:2 6;stroke-linecap:round;stroke-linejoin:round;opacity:.88}.intake-point{fill:var(--subtle);opacity:.9}.pace-point{fill:var(--pace)}.chart-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px;color:var(--muted);font-size:12px}.chart-legend span{display:inline-flex;align-items:center;gap:6px}.chart-legend i{width:14px;height:3px;border-radius:99px;background:var(--legend-color)}.chart-legend .legend-dashed{background:repeating-linear-gradient(90deg,var(--legend-color) 0 5px,transparent 5px 8px)}.chart-legend .legend-dotted{background:repeating-linear-gradient(90deg,var(--legend-color) 0 2px,transparent 2px 5px)}.chart-legend .legend-zone{width:16px;height:9px;border-radius:2px;background:var(--legend-color);opacity:.35}.chart-legend .legend-dot{width:8px;height:8px;border-radius:999px}.chart-legend .legend-bar{width:8px;height:12px;border-radius:2px;background:var(--muted)}.empty-chart{margin-top:14px;min-height:120px;display:grid;place-items:center;color:var(--muted)}.advanced{padding:16px}.advanced summary{cursor:pointer;font-weight:800}.advanced .chart-card{margin:16px 0}.advanced-grid,.entries-list{display:grid;gap:10px}.advanced-grid div{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--border);padding-top:10px}.settings-form,.import-panel{padding:16px}.logo-button{display:inline-flex;width:172px;max-width:100%;flex:0 0 auto;border:0;background:transparent;padding:0}.entries-header{align-items:center}.entries-kicker{margin-top:4px;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.entries-page-kicker{margin:-16px 0 16px}.add-entry-button{display:grid;place-items:center;width:42px;height:42px;border-radius:999px;background:var(--weight);color:var(--bg);padding:0;font-size:28px;font-weight:800;line-height:1}.entries-list{margin-top:4px;padding-bottom:12px}.entry-row{display:grid;grid-template-columns:minmax(0,1fr) auto 22px;align-items:center;gap:12px;width:100%;border:0;border-bottom:1px solid var(--border);background:transparent;color:inherit;padding:14px 0;text-align:left}.entry-row:focus-visible{outline:2px solid var(--weight);outline-offset:3px}.entry-date,.entry-values{display:grid;gap:6px;min-width:0}.entry-date time{color:var(--text);font-weight:850}.entry-status{display:flex;gap:6px}.entry-marker{width:9px;height:9px;border-radius:999px}.weight-marker{background:var(--weight)}.intake-marker{background:var(--intake)}.entry-values{color:var(--muted);font-size:13px;line-height:1.2;text-align:right;white-space:nowrap}.entry-edit{color:var(--subtle);font-size:18px;text-align:right}.empty-entries{display:grid;gap:12px;border:1px dashed var(--border);border-radius:8px;color:var(--muted);padding:18px;text-align:center}.empty-entries button{justify-self:center;border:0;border-radius:8px;background:var(--weight);color:var(--bg);padding:10px 12px;font-weight:900}.entry-editor-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;align-items:end;background:var(--backdrop);padding:16px 16px calc(16px + var(--safe-bottom))}.entry-editor{position:relative;display:grid;gap:16px;width:min(100%,460px);margin:0 auto;padding:18px;box-shadow:0 24px 80px #00000073}.entry-editor-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.entry-editor form{display:grid;gap:12px}.entry-input-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.entry-editor-actions{display:flex;flex-wrap:wrap;gap:8px}.entry-editor-actions button{border:1px solid var(--control-border);border-radius:8px;background:transparent;color:var(--muted);padding:10px 12px}.import-panel{display:grid;gap:12px;margin-bottom:14px}.import-panel p{color:var(--muted);font-size:14px;line-height:1.4}.bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:10;display:grid;grid-template-columns:repeat(3,minmax(0,104px));justify-content:center;gap:10px;border-top:1px solid var(--border);background:var(--nav-bg);padding:9px 12px calc(10px + var(--safe-bottom));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.bottom-nav button{display:grid;place-items:center;gap:3px;border:0;border-radius:8px;background:transparent;color:var(--muted);padding:7px 10px 6px;font-size:11px;font-weight:800}.bottom-nav button.active{background:var(--accent-soft);color:var(--text)}.bottom-nav-icon{color:currentColor;font-size:19px;line-height:1}.bottom-nav-icon svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.meals-shell{--plan-page-gap: 18px;display:grid;grid-template-rows:auto minmax(0,1fr);height:100vh;height:100dvh;min-height:0;overflow-x:clip;overflow-y:hidden;touch-action:pan-x pan-y;-webkit-user-select:none;user-select:none;padding-top:0;padding-bottom:0}.meals-sticky-chrome{position:sticky;top:0;z-index:12;width:calc(100% + 32px);margin:0 -16px;background:color-mix(in srgb,var(--bg) 94%,var(--surface));border-bottom:1px solid color-mix(in srgb,var(--border) 74%,transparent);box-shadow:var(--meals-chrome-shadow)}.meals-top-nav{position:relative;margin:0;background:color-mix(in srgb,var(--surface) 82%,var(--bg));border-bottom:1px solid color-mix(in srgb,var(--border) 74%,transparent);padding:10px 16px 0}.meals-top-nav-tabs{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border:0;border-radius:0;background:transparent;padding:0}.meals-top-nav button{position:relative;min-width:0;border:0;border-radius:0;background:transparent;color:color-mix(in srgb,var(--muted) 86%,var(--text));padding:9px 0 13px;font-size:15px;font-weight:850;line-height:1}.meals-top-nav button:after{position:absolute;right:16%;bottom:0;left:16%;height:2px;border-radius:999px;background:transparent;content:""}.meals-top-nav button.active{background:transparent;box-shadow:none;color:var(--text);font-weight:900}.meals-top-nav button.active:after{background:var(--weight)}.meals-workspace{width:100%;height:100%;min-height:0}.meals-page{display:grid;align-content:start;gap:14px;width:100%;height:100%;min-height:0;padding-right:1px}.meals-page[data-meals-page=overview],.meals-page[data-meals-page=library]{overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scroll-padding-bottom:calc(var(--bottom-nav-offset) + 24px);scrollbar-width:none;-ms-overflow-style:none;touch-action:pan-y}.meals-page[data-meals-page=overview]::-webkit-scrollbar,.meals-page[data-meals-page=library]::-webkit-scrollbar{display:none}.meals-page[hidden]{display:none}.meals-page-heading{display:grid;gap:4px}.meals-page-heading h2{font-size:30px;font-weight:900;line-height:1.05}.meals-page-section,.meals-library-grid,.meals-overview{display:grid;gap:12px;align-content:start;min-height:0;padding:16px 0 var(--bottom-nav-offset)}.meals-page-heading p{color:var(--muted);font-size:13px;font-weight:750}.meals-overview{gap:18px;padding-bottom:0}.meals-overview-scroll-spacer{min-height:calc(var(--bottom-nav-offset) + 24px)}.meals-overview-section{display:grid;gap:10px}.meals-overview-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0}.meals-overview-heading h2{margin:0;color:var(--text);font-size:15px;font-weight:900;line-height:1.1}.plan-overview-window-selector{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;width:min(228px,62%)}.plan-overview-window-selector button{min-width:0;border:1px solid var(--control-border);border-radius:8px;background:var(--surface);color:var(--muted);padding:8px 6px;font:inherit;font-size:12px;font-weight:850}.plan-overview-window-selector button.active{border-color:var(--weight);background:var(--accent-soft);color:var(--text)}.upcoming-prep-list{display:grid;gap:8px}.upcoming-prep-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;border:1px solid color-mix(in srgb,var(--border) 82%,transparent);border-radius:8px;background:var(--surface);padding:10px 12px}.upcoming-prep-card-text{display:grid;gap:3px;min-width:0}.upcoming-prep-card-text strong,.upcoming-prep-card-text span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upcoming-prep-card-text strong{color:var(--text);font-size:14px;font-weight:900;line-height:1.15}.upcoming-prep-card-text span{color:var(--muted);font-size:12px;font-weight:760}.upcoming-prep-card-action{align-self:center;border:1px solid color-mix(in srgb,var(--border) 84%,transparent);border-radius:999px;background:color-mix(in srgb,var(--surface-raised) 72%,var(--surface));color:var(--text);padding:7px 11px;font-size:12px;font-weight:875;line-height:1;white-space:nowrap}.upcoming-prep-card-action:hover,.upcoming-prep-card-action:focus-visible{border-color:color-mix(in srgb,var(--weight) 34%,var(--border));background:color-mix(in srgb,var(--accent-soft) 62%,var(--surface));outline:none}.plan-overview-list{display:grid;overflow:hidden;border:1px solid color-mix(in srgb,var(--border) 82%,transparent);border-radius:8px;background:var(--surface)}.plan-overview-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:10px 12px}.plan-overview-row+.plan-overview-row{border-top:1px solid color-mix(in srgb,var(--border) 70%,transparent)}.plan-overview-food{display:grid;min-width:0;gap:2px}.plan-overview-food span{overflow:hidden;color:var(--text);font-size:14px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.plan-overview-food small{color:var(--muted);font-size:12px;font-weight:750}.plan-overview-quantity{color:var(--text);font-size:13px;font-weight:875;text-align:right;white-space:nowrap}.plan-overview-empty{margin:0;border:1px solid color-mix(in srgb,var(--border) 82%,transparent);border-radius:8px;background:var(--surface);color:var(--muted);padding:14px 12px;font-size:13px;font-weight:750}@media(max-width:390px){.upcoming-prep-card{grid-template-columns:auto minmax(0,1fr)}.upcoming-prep-card-action{grid-column:1 / -1;justify-self:start}}.meal-plan-chart-card{overflow:hidden;border:1px solid color-mix(in srgb,var(--border) 82%,transparent);border-radius:8px;background:linear-gradient(color-mix(in srgb,var(--surface-raised) 48%,transparent),transparent 42%),var(--surface);padding:12px 12px 11px}.meal-plan-chart{display:block;width:100%;height:256px;overflow:visible}.meal-plan-grid-line{opacity:.58}.meal-plan-bar{cursor:pointer;fill:color-mix(in srgb,var(--meal-plan-bar-fill) 78%,var(--surface-raised));stroke:var(--meal-plan-bar-border);stroke-width:1}.meal-plan-bar.unplanned{fill:color-mix(in srgb,var(--meal-plan-bar-fill) 28%,transparent);stroke:color-mix(in srgb,var(--meal-plan-bar-fill) 42%,var(--border));stroke-dasharray:2 3}.meal-plan-bar:focus-visible{outline:none;stroke:var(--weight);stroke-width:2.5}.meal-plan-target-line{fill:none;stroke:var(--target);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.meal-plan-maintenance-line{fill:none;stroke:var(--maintenance);stroke-width:1.55;stroke-dasharray:2 5;stroke-linecap:round;stroke-linejoin:round;opacity:.72}.meal-plan-average-line{fill:none;stroke:var(--average-intake);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;opacity:.92}.meal-plan-target-point{fill:var(--surface);stroke:var(--target);stroke-width:2.2}.calorie-target-edit-action{display:inline-flex;align-items:center;justify-content:center;justify-self:end;flex:0 0 auto;min-height:28px;border:1px solid color-mix(in srgb,var(--target) 48%,var(--control-border));border-radius:7px;background:color-mix(in srgb,var(--target-wash) 48%,var(--control-fill));color:color-mix(in srgb,var(--target) 76%,var(--text));padding:4px 9px;font-size:12px;font-weight:850;line-height:1}.calorie-target-editor-shell{width:min(100%,460px);max-width:100%;overflow-x:hidden;padding-bottom:2rem}.calorie-target-editor{display:grid;gap:0;width:100%;max-width:100%;overflow-x:hidden}.calorie-target-editor *{min-width:0}.calorie-target-section{display:grid;gap:14px;width:100%;max-width:100%;overflow-x:hidden;padding:18px 0 22px;border-bottom:1px solid color-mix(in srgb,var(--border) 74%,transparent)}.target-editor-section-heading{display:grid;gap:4px}.target-editor-section-heading h2{margin:0;color:var(--text);font-size:19px;font-weight:900;letter-spacing:0}.target-editor-section-heading p{margin:0;color:var(--muted);font-size:14px;line-height:1.35}.target-section-heading{display:flex;align-items:start;justify-content:space-between;gap:.75rem}.calorie-target-editor .secondary-action{display:inline-flex;align-items:center;justify-content:center;width:auto;max-width:100%;min-height:32px;border:1px solid var(--control-border);border-radius:7px;background:var(--control-fill);color:var(--text);padding:6px 10px;font-size:12px;font-weight:850}.calorie-target-editor .target-section-action{flex:0 0 auto;align-self:start;min-height:30px;padding:5px 9px}.average-target-panel{display:grid;gap:12px}.target-source-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.target-source-option,.target-balance-toggle{display:flex;align-items:center;gap:10px;min-height:58px;padding:10px 12px;border:1px solid var(--control-border);border-radius:8px;background:color-mix(in srgb,var(--control-fill) 88%,transparent);color:var(--text)}.target-balance-toggle{align-items:flex-start;justify-self:start;width:100%;max-width:100%;min-height:0;border:0;background:transparent;padding:0;font-size:13px;font-weight:850}.target-balance-toggle input{flex:0 0 auto;width:18px;height:18px;margin:2px 0 0}.target-balance-toggle.disabled{opacity:.52}.target-balance-toggle span{display:grid;gap:2px;min-width:0;max-width:100%}.target-balance-toggle strong{color:var(--text);font-size:14px;font-weight:900}.target-balance-toggle small{color:var(--muted);font-size:12px;font-weight:750;line-height:1.3;overflow-wrap:break-word}.target-source-option{cursor:pointer}.target-source-option input{position:absolute;opacity:0;pointer-events:none}.target-source-option span{display:grid;gap:2px}.target-source-option strong{font-size:15px;font-weight:900}.target-source-option small{color:var(--muted);font-size:13px;font-weight:750;line-height:1.25}.target-source-option.selected{border-color:color-mix(in srgb,var(--target) 54%,var(--control-border));background:color-mix(in srgb,var(--target-wash) 38%,var(--control-fill));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--target) 20%,transparent)}.average-target-value{display:grid;align-content:center;gap:5px;min-height:88px;border:1px solid color-mix(in srgb,var(--control-border) 78%,transparent);border-radius:8px;background:linear-gradient(color-mix(in srgb,var(--target-wash) 26%,transparent),transparent 84%),color-mix(in srgb,var(--surface-raised) 82%,var(--surface));padding:9px 12px}.average-target-value>span{color:var(--muted);font-size:12px;font-weight:850}.average-target-value>strong{color:var(--text);font-size:25px;font-weight:950;line-height:1}.average-target-value>small{color:var(--muted);font-size:12px;line-height:1.35}.target-week-matrix{display:grid;gap:0;width:100%}.target-week-heading,.target-week-row{display:grid;grid-template-columns:30px minmax(82px,1fr) minmax(82px,1fr) minmax(48px,.7fr);gap:5px;align-items:center;width:100%}.target-week-heading{padding:0 0 6px;color:var(--muted);font-size:12px;font-weight:900;text-align:center;text-transform:uppercase}.target-week-heading span{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:0}.target-week-info-button{display:inline-flex;align-items:center;justify-content:center;gap:4px;width:auto;min-width:0;height:24px;border:0;border-radius:0;background:transparent;color:var(--muted);padding:0 4px;font-size:12px;font-weight:950;line-height:1;text-transform:uppercase}.target-week-info-button i{display:grid;width:16px;height:16px;place-items:center;border:1px solid color-mix(in srgb,var(--control-border) 76%,transparent);border-radius:999px;background:color-mix(in srgb,var(--control-fill) 78%,transparent);color:var(--muted);font-style:normal;font-size:10px;font-weight:950;text-transform:none}.target-week-row{padding:7px 0;border-bottom:1px solid color-mix(in srgb,var(--border) 56%,transparent)}.target-week-day{color:var(--text);font-size:15px;font-weight:950}.target-week-row output{justify-self:end;color:var(--text);font-size:15px;font-weight:900;text-align:right;white-space:nowrap}.target-stepper{display:grid;grid-template-columns:22px minmax(0,1fr) 22px;align-items:center;width:100%;overflow:hidden;border:1px solid var(--control-border);border-radius:999px;background:var(--control-fill)}.target-stepper-large{width:min(190px,100%);border-radius:8px}.target-stepper button{display:grid;width:22px;height:30px;place-items:center;border:0;background:transparent;color:var(--text);padding:0}.target-stepper button:disabled{cursor:not-allowed;color:color-mix(in srgb,var(--muted) 54%,transparent);opacity:.46}.target-stepper svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.target-stepper button:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.target-stepper-value{display:flex;align-items:center;justify-content:center;gap:2px;min-width:0;min-height:30px;padding:0 2px}.target-stepper-value input{width:5ch;min-width:0;border:0;background:transparent;color:var(--text);padding:0;font:inherit;font-size:16px;font-weight:900;line-height:1;text-align:right}.target-stepper-value small{overflow:hidden;color:var(--muted);font-size:11px;font-weight:850;line-height:1;text-overflow:ellipsis;white-space:nowrap}.target-stepper.compact .target-stepper-value input{width:5ch;text-align:center}.target-stepper-value input:focus{outline:none}.target-stepper-large .target-stepper-value{display:grid;gap:1px;padding:3px 8px}.target-stepper-large .target-stepper-value input{width:7ch;font-size:18px;font-weight:950;text-align:center}.target-stepper input::selection{background:color-mix(in srgb,var(--target) 34%,transparent)}.target-stepper-large .target-stepper-value small{color:var(--muted);font-size:11px;text-align:center}.date-adjustment-edit input{min-width:0;width:100%}.date-adjustment-edit label>input{min-height:38px;border:1px solid var(--control-border);border-radius:8px;background:var(--control-fill);color:var(--text);padding:8px 10px}.date-adjustment-edit .target-balance-toggle input[type=checkbox]{width:18px;min-width:18px;height:18px;min-height:18px;border:1px solid var(--control-border);border-radius:4px;background:var(--control-fill);padding:0;accent-color:var(--target)}.target-week-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 12px;margin-top:10px;padding:12px;border:1px solid color-mix(in srgb,var(--control-border) 78%,transparent);border-radius:8px;background:color-mix(in srgb,var(--surface-raised) 50%,transparent)}.target-week-summary span{display:grid;gap:3px}.target-week-summary small{color:var(--muted);font-size:11px;font-weight:850;text-transform:uppercase}.target-week-summary strong{color:var(--text);font-size:15px;font-weight:950}.target-week-summary-primary strong{font-size:20px}.target-week-summary p{grid-column:1 / -1;color:var(--muted);font-size:12px}.date-adjustment-impact{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:0;padding:8px 10px;border:1px solid color-mix(in srgb,var(--control-border) 74%,transparent);border-radius:8px;background:color-mix(in srgb,var(--surface-raised) 54%,transparent)}.date-adjustment-impact span,.date-adjustment-impact small{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.date-adjustment-impact strong{color:var(--text);font-size:15px;font-weight:950}.date-adjustment-list{display:grid;gap:10px}.date-adjustment-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px 14px;padding:12px;border:1px solid color-mix(in srgb,var(--control-border) 72%,transparent);border-radius:8px;background:color-mix(in srgb,var(--surface-raised) 54%,var(--surface))}.date-adjustment-row-main{display:grid;gap:5px}.date-adjustment-row-main span{display:flex;align-items:baseline;gap:12px}.date-adjustment-row time{color:var(--muted);font-size:12px;font-weight:850}.date-adjustment-row strong{color:var(--text);font-size:15px;font-weight:900}.date-adjustment-row small{color:var(--muted);font-size:12px;line-height:1.3}.date-adjustment-row b{color:var(--text);font-size:15px;font-weight:950;white-space:nowrap}.date-adjustment-row-actions{display:flex;justify-content:flex-end;gap:6px}.date-adjustment-modal-backdrop{position:fixed;inset:var(--visual-viewport-offset-top, 0px) 0 auto 0;z-index:24;display:grid;align-items:end;height:var(--visual-viewport-height, 100vh);background:var(--backdrop);padding:16px 16px calc(16px + var(--safe-bottom))}.date-adjustment-edit{display:grid;gap:14px;width:min(100%,430px);max-height:calc(var(--visual-viewport-height, 100vh) - 32px - var(--safe-bottom));justify-self:center;overflow-y:auto;padding:14px;border:1px solid var(--control-border);border-radius:8px;background:var(--surface)}.date-adjustment-modal-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.date-adjustment-modal-heading h3{margin:0;color:var(--text);font-size:18px;font-weight:950}.date-adjustment-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.date-adjustment-edit-grid label,.date-adjustment-control{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:850}.date-adjustment-control .target-stepper{grid-template-columns:28px auto 28px;width:max-content;max-width:100%}.date-adjustment-control .target-stepper button{width:28px}.date-adjustment-control .target-stepper-value{gap:3px;min-width:8.5ch;padding:0 8px}.date-adjustment-control .target-stepper-value input{width:5.8ch;text-align:center}.date-adjustment-control .target-stepper-value small{overflow:visible;text-overflow:clip}.date-adjustment-reason{grid-column:1 / -1}.date-adjustment-actions{display:flex;align-items:center;gap:.5rem;border-top:1px solid color-mix(in srgb,var(--border) 72%,transparent);padding-top:12px}.date-adjustment-actions-spacer{flex:1 1 auto}.date-adjustment-remove-action{justify-self:start}.date-adjustment-primary-action{display:inline-flex;align-items:center;justify-content:center;width:auto;min-height:32px;border:1px solid color-mix(in srgb,var(--target) 50%,var(--control-border));border-radius:7px;background:color-mix(in srgb,var(--target) 82%,var(--text));color:var(--bg);padding:6px 12px;font-size:12px;font-weight:900;line-height:1}.date-adjustment-balance-panel{display:grid;gap:10px;border-top:1px solid color-mix(in srgb,var(--border) 72%,transparent);padding-top:12px}.date-adjustment-balance-controls{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-left:28px}.target-balance-preview{margin:0;color:var(--text);font-size:13px;font-weight:850}.target-balance-limit{color:var(--muted);font-size:12px;font-weight:750;line-height:1.3}@media(max-width:480px){.target-source-options,.date-adjustment-impact,.date-adjustment-row{grid-template-columns:1fr}.date-adjustment-row-actions{justify-content:flex-end}.target-section-heading{display:flex;align-items:start}}@media(max-width:420px){.date-adjustment-edit-grid{grid-template-columns:1fr}}@media(min-width:620px){.target-week-heading,.target-week-row{grid-template-columns:38px minmax(96px,1fr) minmax(96px,1fr) minmax(72px,.9fr);gap:8px}}.meal-plan-today-line{stroke:color-mix(in srgb,var(--weight) 66%,var(--text));stroke-width:1.8;opacity:.82}.meal-plan-today-label{fill:color-mix(in srgb,var(--weight) 70%,var(--text));font-size:7px;font-weight:950}.meal-plan-date-label{font-size:9px;font-weight:750}.meal-plan-date-label.today{fill:var(--text);font-size:9px;font-weight:900}.meal-plan-legend{margin-top:2px}.meals-library-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;width:100%;min-height:104px;border:1px solid color-mix(in srgb,var(--border) 82%,transparent);border-radius:8px;background:color-mix(in srgb,var(--surface) 86%,var(--surface-raised));color:var(--text);padding:16px;text-align:left}.meals-library-card:active{transform:translateY(1px)}.meals-library-card-icon{display:grid;width:48px;height:48px;place-items:center;border:1px solid color-mix(in srgb,var(--border) 65%,transparent);border-radius:8px;background:var(--control-fill);font-size:26px;line-height:1}.meals-library-card-copy{display:grid;gap:6px;min-width:0}.meals-library-card-copy strong{font-size:18px;font-weight:900;line-height:1.1}.meals-library-card-copy small{color:var(--muted);font-size:14px;font-weight:700;line-height:1.35}.foods-library{display:grid;gap:14px;padding-top:18px;padding-bottom:calc(var(--bottom-nav-offset) + 28px)}.foods-library-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px}.foods-library-back{display:grid;width:40px;height:40px;place-items:center;border:1px solid var(--control-border);border-radius:999px;background:var(--control-fill);color:var(--text);padding:0;font-size:0;line-height:1}.foods-library-back:before{content:"‹";display:block;font-size:26px;font-weight:650;line-height:1;transform:translate(-1px,-1px)}.foods-library-header h2{margin:0;font-size:24px;font-weight:950;line-height:1}.foods-library-header p{margin:5px 0 0;color:var(--muted);font-size:13px;font-weight:800}.foods-library-add{display:grid;width:44px;height:44px;place-items:center;border:0;border-radius:999px;background:var(--weight);color:var(--bg);padding:0;font-size:30px;font-weight:800;line-height:1}.foods-library-list{display:grid;gap:8px}.foods-library-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:64px;border:1px solid color-mix(in srgb,var(--border) 64%,transparent);border-radius:8px;background:color-mix(in srgb,var(--surface) 84%,transparent);color:var(--text);padding:10px 12px;text-align:left}.foods-library-row .ingredient-emoji{font-size:24px}.foods-library-row-main{display:grid;gap:4px;min-width:0}.foods-library-row-main strong,.foods-library-row-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.foods-library-row-main strong{font-size:16px;font-weight:900}.foods-library-row-main small{color:var(--muted);font-size:12px;font-weight:800}.foods-library-row-affordance{color:var(--muted);font-size:22px;line-height:1}.foods-library-empty{display:grid;gap:6px;justify-items:center;border:1px solid color-mix(in srgb,var(--border) 64%,transparent);border-radius:8px;background:color-mix(in srgb,var(--surface) 78%,transparent);padding:24px 16px;text-align:center}.foods-library-empty span{font-size:32px}.foods-library-empty strong{font-size:17px;font-weight:900}.foods-library-empty small{color:var(--muted);font-size:13px;font-weight:750;line-height:1.35}.batches-library{padding-bottom:0}.batch-editor,.batch-editor-section{display:grid;gap:12px}.batch-library-list{display:grid;gap:8px}.batch-library-section{display:grid;gap:0}.batch-library-section-heading{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;margin:10px 0 6px}.batch-library-section-heading:after{content:"";height:1px;background:color-mix(in srgb,var(--border) 58%,transparent)}.batch-library-section-heading h3{margin:0;color:var(--muted);padding:0;font-size:12px;font-weight:820;letter-spacing:0;line-height:1}.batch-library-rows{display:grid;gap:6px}.batch-library-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:62px;border:1px solid color-mix(in srgb,var(--border) 44%,transparent);border-radius:7px;background:color-mix(in srgb,var(--surface) 58%,transparent);color:var(--text);padding:10px 11px;text-align:left}.batch-library-row:hover,.batch-library-row:focus-visible{border-color:color-mix(in srgb,var(--border) 72%,transparent);background:color-mix(in srgb,var(--control-fill) 52%,transparent);outline:none}.batch-library-row:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--weight) 18%,transparent)}.batch-library-row.finished{color:color-mix(in srgb,var(--text) 80%,var(--muted))}.batch-library-icons{display:flex;align-items:center;min-width:38px}.batch-library-icons i{display:grid;width:28px;height:28px;place-items:center;border:1px solid color-mix(in srgb,var(--border) 68%,transparent);border-radius:999px;background:var(--surface-raised);font-style:normal;font-size:15px;line-height:1}.batch-library-icons i+i{margin-left:-8px}.batch-library-row-text{display:grid;gap:4px;min-width:0}.batch-library-row-text strong,.batch-library-row-text span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.batch-library-row-text strong{font-size:15px;font-weight:900;line-height:1.15}.batch-library-row-text span{color:var(--muted);font-size:13px;font-weight:760;line-height:1.25}.batch-library-row-chevron{color:var(--muted);font-size:20px;font-weight:600;line-height:1;opacity:.72}.batch-library-empty,.batch-library-section-empty{margin:0;color:var(--muted);font-size:13px;font-weight:800}.batch-library-empty{padding:16px 0 0}.batch-library-section-empty{padding:8px 8px 10px}.batch-editor-shell{padding-top:18px;padding-bottom:32px}.batch-editor{display:grid;gap:14px}.batch-object-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px}.batch-object-icon{min-width:42px}.batch-object-copy{display:grid;gap:5px;min-width:0}.batch-object-copy h1{overflow:hidden;margin:0;font-size:23px;font-weight:950;line-height:1.05;text-overflow:ellipsis;white-space:nowrap}.batch-icon-action,.batch-editor-close{display:grid;width:36px;height:36px;place-items:center;border:1px solid var(--control-border);border-radius:999px;background:var(--control-fill);color:var(--text);padding:0}.batch-icon-action{color:var(--muted)}.batch-icon-action svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.batch-editor-close{font-size:24px}.batch-notes-panel textarea{width:100%;border:1px solid var(--control-border);border-radius:8px;background:var(--control-fill);color:var(--text);padding:10px 12px}.batch-notes-panel{display:grid;gap:7px}.batch-notes-panel span{color:var(--muted);font-size:12px;font-weight:850}.batch-notes-panel textarea{resize:vertical}.batch-editor-actions{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:0}.batch-editor-actions button{min-height:50px;padding:7px 5px}.batch-mode-toggle{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:0;width:100%;min-height:42px;border:1px solid var(--border);border-radius:999px;background:var(--control-fill);padding:3px}.batch-mode-toggle button{position:relative;z-index:1;border:0;border-radius:999px;background:transparent;color:var(--muted);padding:7px 10px;font-size:12px;font-weight:900}.batch-mode-toggle button.active{background:var(--weight);color:var(--bg)}.batch-control-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:10px}.batch-yield-widget{display:grid;grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr);align-items:center;gap:9px;width:100%;min-height:42px;border:1px solid color-mix(in srgb,var(--border) 72%,transparent);border-radius:999px;background:color-mix(in srgb,var(--surface) 72%,transparent);padding:3px 10px 3px 3px}.batch-yield-widget .target-stepper{min-width:0;height:34px;border-color:transparent;background:var(--control-fill)}.batch-yield-widget .target-stepper-value{display:grid;gap:1px;padding:1px 0 3px}.batch-yield-widget .target-stepper-value input{width:100%;text-align:center}.batch-yield-widget .target-stepper-value small,.batch-serving-result span{color:var(--muted);font-size:9.5px;font-weight:850;line-height:1.15;white-space:nowrap}.batch-yield-divider{width:1px;height:24px;background:color-mix(in srgb,var(--border) 68%,transparent)}.batch-ingredient-row .ingredient-quantity svg{width:16px;height:16px}.batch-serving-result{display:grid;justify-items:center;gap:2px;min-width:0;color:var(--muted)}.batch-serving-result strong{color:var(--text);font-size:16px;font-weight:950;line-height:1}.batch-composition{display:grid;gap:10px}.batch-composition-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.batch-add-food-button{justify-self:center;display:grid;width:38px;height:38px;place-items:center;border:1px solid var(--control-border);border-radius:999px;background:var(--control-fill);color:var(--text);padding:0;font-size:24px;font-weight:900;line-height:1}.batch-ingredient-list{gap:8px}.batch-ingredient-row{grid-template-columns:minmax(0,1fr) auto;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.batch-ingredient-row .ingredient-quantity-value input{width:42px;min-width:0;border:0;background:transparent;color:var(--text);padding:0;font:inherit;font-size:13px;font-weight:900;line-height:1;text-align:center}.batch-ingredient-row .ingredient-quantity-value input:focus{outline:none}.batch-ingredient-row .ingredient-quantity-value input::selection{background:var(--accent-soft);color:var(--text)}.batch-ingredient-meta{display:grid;justify-items:end;gap:7px}.batch-ingredient-meta>span{color:var(--muted);font-size:12px;font-weight:900;white-space:nowrap}.batch-ingredient-meta .ingredient-stage-toggle{min-width:0;width:34px;height:34px;padding:0}.batch-ingredient-meta .ingredient-stage-toggle span,.batch-hidden-select{display:none}.batch-allocation-status{display:flex;justify-content:space-between;gap:12px;border-top:1px solid color-mix(in srgb,var(--border) 62%,transparent);padding-top:8px}.batch-allocation-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;border-top:1px solid var(--border);padding-top:10px}.batch-allocation-row span{display:grid;gap:3px}.batch-allocation-row small{color:var(--muted);font-size:12px;font-weight:800}@media(max-width:390px){.batch-control-strip{grid-template-columns:minmax(0,1fr)}.batch-yield-widget{width:100%}.batch-ingredient-row{grid-template-columns:minmax(0,1fr)}}.secondary-library-grid{grid-template-columns:1fr 1fr;margin-top:4px}.meals-library-card.muted{min-height:82px;opacity:.62}.meal-slots-library-list{display:grid;gap:8px}.meal-slot-library-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid color-mix(in srgb,var(--border) 64%,transparent);border-radius:8px;background:color-mix(in srgb,var(--surface) 84%,transparent);padding:10px 12px}.meal-slot-drag-handle{display:grid;width:22px;place-items:center;color:color-mix(in srgb,var(--muted) 80%,transparent);font-size:18px;font-weight:900;letter-spacing:0;line-height:.72;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.meal-slot-drag-handle:active{cursor:grabbing}.meal-slot-library-row.dragging{opacity:.5}.meal-slot-edit-button{display:grid;width:38px;height:38px;place-items:center;border:1px solid var(--control-border);border-radius:8px;background:var(--control-fill);color:var(--text);padding:0;font-size:17px;font-weight:900;line-height:1;cursor:pointer}.meal-slot-editor-sheet{gap:16px}.meal-slot-name-field,.meal-slot-destination-field{display:grid;gap:8px;color:var(--muted);font-size:13px;font-weight:850}.meal-slot-name-field input,.meal-slot-destination-field select{width:100%;border:1px solid var(--control-border);border-radius:8px;background:var(--control-fill);color:var(--text);padding:12px;font:inherit}.meal-slot-editor-actions{display:flex;align-items:center;gap:10px}.meal-slot-editor-spacer{flex:1 1 auto}.meal-slot-editor-actions .primary-action,.meal-slot-editor-actions .secondary-action{min-height:40px;border-radius:8px;padding:0 14px;font-weight:850}.meal-slot-editor-actions .secondary-action{border:1px solid var(--control-border);background:var(--control-fill);color:var(--text)}.meal-slot-editor-actions .primary-action{border:0;background:var(--weight);color:var(--bg)}.meal-slot-editor-actions .secondary-action.danger,.meal-slot-editor-actions .primary-action.danger{color:var(--danger-text)}.meal-slot-editor-actions .primary-action.danger{border:1px solid color-mix(in srgb,var(--danger-text) 70%,transparent);background:color-mix(in srgb,var(--danger-text) 22%,var(--surface-raised));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--danger-text) 18%,transparent);color:var(--danger-text)}.meal-slot-delete-copy{display:grid;gap:7px;color:var(--muted);font-size:14px;font-weight:750;line-height:1.35}.meal-slot-delete-copy strong{color:var(--text);font-size:16px;font-weight:900}.meal-slot-delete-copy p{margin:0}.meal-slot-delete-options{display:grid;gap:10px;border:0;margin:0;padding:0}.meal-slot-delete-options legend{color:var(--text);font-size:14px;font-weight:900;margin-bottom:2px}.meal-slot-delete-option{display:grid;gap:10px;border:1px solid color-mix(in srgb,var(--border) 64%,transparent);border-radius:8px;background:color-mix(in srgb,var(--surface) 78%,transparent);padding:11px 12px}.meal-slot-delete-option.danger{border-color:color-mix(in srgb,var(--danger-text) 42%,var(--border));background:color-mix(in srgb,var(--danger-text) 10%,var(--surface))}.meal-slot-delete-option>label:first-child{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;color:var(--text);font-size:14px;font-weight:850}.meal-slot-delete-option.danger>label:first-child{color:var(--danger-text)}.plan-meals{display:grid;gap:0;height:100%;min-height:0}.plan-context{display:grid;gap:10px;margin:0;padding:10px 16px 12px;border-bottom:0;background:transparent;box-shadow:none}.plan-toolbar,.plan-day-control{display:flex;align-items:center;justify-content:space-between;gap:12px}.projection-selector{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(184px,100%);border:0;border-radius:0;background:transparent;padding:0}.projection-selector button,.plan-select-button,.plan-day-arrow{min-width:0;border:0;border-radius:6px;background:transparent;color:color-mix(in srgb,var(--muted) 90%,var(--text));font:inherit;font-size:13px;font-weight:825}.projection-selector button{position:relative;border-radius:7px;padding:9px 8px}.projection-selector button.active{color:var(--text);background:transparent;box-shadow:none;text-decoration:none}.projection-selector button.active:after{position:absolute;right:22%;bottom:3px;left:22%;height:2px;border-radius:999px;background:color-mix(in srgb,var(--weight) 78%,var(--text));content:""}.plan-select-button{border:1px solid color-mix(in srgb,var(--control-border) 72%,transparent);background:color-mix(in srgb,var(--surface-raised) 76%,transparent);color:var(--text);padding:10px 14px;font-weight:900}.plan-day-control{display:grid;grid-template-columns:32px minmax(0,1fr) 32px;align-items:center;gap:8px;margin-top:0}.plan-day-arrow{display:grid;width:32px;height:34px;place-items:center;border:0;background:transparent;color:var(--muted);font-size:29px;line-height:1}.plan-day-arrow:active{color:var(--text)}.plan-coordinate-body{display:grid;min-width:0}.plan-coordinate-window{display:grid;min-width:0;overflow-x:hidden;overflow-y:hidden}.plan-date-title{position:relative;display:grid;min-width:0;place-items:center;color:var(--text);font-size:19px;font-weight:900;line-height:1.05;text-align:center}.plan-date-title input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;opacity:0}.meal-slot-picker{border:0;background:transparent;color:var(--text);padding:0;font-size:20px;font-weight:900;line-height:1.05}.meal-slot-coordinate{min-height:34px;align-content:center}.plan-day-summary-card{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;overflow:hidden;border:1px solid var(--calorie-deviation-border, var(--border));border-radius:8px;background:linear-gradient(var(--calorie-deviation-bg, transparent),var(--calorie-deviation-bg, transparent)),color-mix(in srgb,var(--surface-raised) 46%,transparent);padding:12px;text-align:center}.plan-day-summary-card span{display:grid;gap:3px;min-width:0;overflow:hidden;text-overflow:ellipsis}.plan-day-summary-card strong{color:var(--text);font-size:18px;font-weight:900;line-height:1}.plan-day-summary-card small{min-width:0;overflow:hidden;color:var(--muted);font-size:11px;font-weight:800;line-height:1.05;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.plan-day-panel{display:grid;grid-template-rows:minmax(0,1fr);width:calc(100% + 32px);height:100%;min-height:0;margin:0 -16px;border-top:0;overflow-x:hidden;overflow-y:hidden;overscroll-behavior-x:contain;touch-action:pan-y}.plan-day-track{display:flex;width:100%;min-width:0;height:100%;min-height:0;backface-visibility:hidden;touch-action:pan-y pinch-zoom}.plan-day-content,.plan-coordinate-body{min-width:0}.plan-day-content{flex:0 0 100%;height:100%;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:20px 16px 0;scroll-padding-bottom:calc(var(--bottom-nav-offset) + 48px);scrollbar-width:none;-ms-overflow-style:none;touch-action:pan-y}.plan-day-content::-webkit-scrollbar{display:none}.today-meal-slots{display:grid;gap:19px}.plan-day-loading{min-height:100%}.plan-day-summary-card.skeleton{min-height:76px;border-color:var(--border);background:color-mix(in srgb,var(--surface-raised) 62%,transparent)}.plan-scroll-spacer{height:max(220px,calc(var(--bottom-nav-offset) + 120px));min-height:max(220px,calc(var(--bottom-nav-offset) + 120px));pointer-events:none}.meal-timeline{display:grid;gap:19px;padding:4px 0 0}.meal-timeline-day{scroll-margin-top:220px}.return-to-today{position:fixed;right:18px;bottom:calc(var(--bottom-nav-offset) + 12px);z-index:14;pointer-events:none;border:1px solid color-mix(in srgb,var(--control-border) 72%,transparent);border-radius:999px;background:color-mix(in srgb,var(--surface-raised) 92%,var(--bg));color:var(--text);padding:10px 14px;font-size:13px;font-weight:900;opacity:0;box-shadow:0 10px 24px #00000047;transform:translateY(10px) scale(.96);transition:opacity .18s ease,transform .22s cubic-bezier(.22,1,.36,1)}.return-to-today.visible{pointer-events:auto;opacity:1;transform:translateY(0) scale(1)}@media(prefers-reduced-motion:reduce){.return-to-today{transform:none;transition:opacity .12s ease}.return-to-today.visible{transform:none}}.meal-slot{display:grid;gap:8px}.meal-slot-heading{display:block;min-width:0}.meal-slot-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-width:0;overflow:hidden;border:0;border-radius:8px;background:color-mix(in srgb,var(--surface-raised) 82%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--border) 54%,transparent);color:var(--text);padding:11px 12px 11px 13px;text-align:left}.meal-slot-summary-main{display:flex;align-items:baseline;gap:8px;min-width:0}.meal-slot-title{min-width:0;color:var(--text);font-size:19px;font-weight:900;line-height:1.05;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meal-slot-stats{flex:0 0 auto;min-width:0;overflow:hidden;color:color-mix(in srgb,var(--muted) 92%,var(--text));font-size:13px;font-weight:800;line-height:1.2;white-space:nowrap}.meal-slot-stats strong{color:inherit;font-weight:850}.meal-slot-affordance{display:grid;width:22px;height:22px;flex:0 0 auto;place-items:center;color:color-mix(in srgb,var(--muted) 72%,transparent);font-size:22px;font-weight:800;line-height:1}.meal-groups{display:grid;gap:7px}.meal-groups.selecting{gap:8px}.meal-notes{display:grid;gap:8px}.meal-note-card{display:grid;gap:8px;width:100%;border:1px solid color-mix(in srgb,var(--weight) 24%,var(--border));border-radius:8px;background:linear-gradient(180deg,color-mix(in srgb,var(--weight) 10%,transparent),transparent 55%),color-mix(in srgb,var(--surface) 92%,transparent);color:var(--text);padding:11px 12px;text-align:left}.meal-note-card:focus-visible{outline:2px solid var(--weight);outline-offset:3px}.meal-note-card-body{min-width:0;color:color-mix(in srgb,var(--text) 94%,var(--muted));font-size:14px;font-weight:650;line-height:1.4;white-space:pre-wrap;word-break:break-word}.meal-note-card.single-line .meal-note-card-body{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meal-note-card.multiline .meal-note-card-body{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.meal-slot-add{justify-self:center;display:grid;width:38px;height:38px;place-items:center;border:1px solid var(--control-border);border-radius:999px;background:var(--control-fill);color:var(--text);font-size:24px;font-weight:900;line-height:1}.previous-meal-suggestion{justify-self:center;display:inline-grid;grid-template-columns:auto minmax(0,auto) auto auto;align-items:center;gap:8px;max-width:min(100%,280px);margin:9px 0 5px;border:1px solid color-mix(in srgb,#2f9e44 54%,var(--control-border));border-radius:999px;background:color-mix(in srgb,#2f9e44 13%,var(--control-fill));color:color-mix(in srgb,#2f9e44 42%,var(--text));padding:9px 13px 9px 12px;font-size:13px;font-weight:850;line-height:1;box-shadow:inset 0 1px color-mix(in srgb,#ffffff 15%,transparent)}.previous-meal-suggestion:active{transform:translateY(1px)}.previous-meal-suggestion-plus{color:#2f9e44;font-size:18px;font-weight:900;line-height:1}.previous-meal-suggestion-label,.previous-meal-suggestion-calories{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.previous-meal-suggestion-label{color:color-mix(in srgb,#2f9e44 28%,var(--text))}.previous-meal-suggestion-dot{width:4px;height:4px;border-radius:999px;background:color-mix(in srgb,#2f9e44 58%,var(--muted))}.previous-meal-suggestion-calories{color:color-mix(in srgb,#2f9e44 48%,var(--muted))}.meal-group{display:grid;gap:8px;width:100%;border:1px solid color-mix(in srgb,var(--border) 62%,transparent);border-radius:8px;background:color-mix(in srgb,var(--surface) 88%,transparent);color:var(--text);padding:12px;text-align:left}.meal-group[data-disabled=true]{border-color:color-mix(in srgb,var(--border) 78%,transparent);background:color-mix(in srgb,var(--control-fill) 76%,var(--surface));color:var(--muted)}.plan-selection-card{border-color:color-mix(in srgb,var(--border) 34%,transparent);background:color-mix(in srgb,var(--surface) 42%,transparent);color:color-mix(in srgb,var(--muted) 86%,var(--text));cursor:pointer}.plan-selection-card[data-selected=true]{border-color:var(--weight);background:linear-gradient(color-mix(in srgb,var(--weight) 8%,transparent),color-mix(in srgb,var(--weight) 8%,transparent)),color-mix(in srgb,var(--surface-raised) 78%,transparent);color:var(--text)}.plan-selection-card .meal-ingredient,.plan-selection-card .ingredient-name,.plan-selection-card .ingredient-calories,.plan-selection-card .ingredient-emoji,.plan-selection-card .ingredient-addon-icon{color:inherit}.plan-selection-card .ingredient-emoji{opacity:.58;filter:grayscale(.55)}.plan-selection-card[data-selected=true] .ingredient-emoji{opacity:1;filter:none}.plan-selection-card .ingredient-calories{color:color-mix(in srgb,var(--muted) 74%,transparent)}.plan-selection-card[data-selected=true] .ingredient-calories{color:var(--text)}.plan-selection-card[data-disabled=true][data-selected=true]{background:linear-gradient(color-mix(in srgb,var(--weight) 8%,transparent),color-mix(in srgb,var(--weight) 8%,transparent)),color-mix(in srgb,var(--control-fill) 66%,var(--surface))}.meal-group:focus-visible,.meal-slot-summary:focus-visible,.meal-slot-add:focus-visible,.previous-meal-suggestion:focus-visible{outline:2px solid var(--weight);outline-offset:3px}.meal-group-total{justify-self:end;margin-top:0}.meal-group-total strong{color:var(--text);font-size:17px;font-weight:900;text-align:right}.meal-ingredients{display:grid;gap:7px}.meal-ingredient{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;color:var(--text);font-size:16px;line-height:1.25}.meal-ingredient.addon{padding-left:28px;color:var(--muted)}.meal-ingredient[data-disabled=true]{color:var(--muted)}.ingredient-name{display:flex;align-items:center;gap:8px;min-width:0}.ingredient-name>span:not(.ingredient-portion,.ingredient-emoji,.ingredient-addon-icon,.usda-food-copy){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ingredient-detail-button{display:grid;width:22px;height:22px;flex:0 0 auto;place-items:center;border:1px solid var(--control-border);border-radius:999px;background:var(--control-fill);color:var(--muted);padding:0;font-size:12px;font-weight:900;line-height:1}.ingredient-detail-button:focus-visible{outline:2px solid var(--weight);outline-offset:2px}.ingredient-emoji{width:22px;flex:0 0 auto;text-align:center}.ingredient-disabled-icon{display:grid;width:22px;height:22px;flex:0 0 auto;place-items:center;color:var(--muted)}.ingredient-disabled-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ingredient-addon-icon{display:grid;width:20px;height:20px;flex:0 0 auto;place-items:center;color:var(--muted);font-size:18px;font-weight:900;line-height:1}.ingredient-portion{flex:0 0 auto;border:1px solid var(--border);border-radius:999px;background:var(--control-fill);color:var(--text);padding:6px 9px;font-size:13px;font-weight:900;line-height:1}.meal-ingredient[data-disabled=true] .ingredient-portion{border-color:color-mix(in srgb,var(--border) 70%,transparent);background:color-mix(in srgb,var(--control-fill) 58%,transparent);color:var(--muted)}.quantity-pill{cursor:pointer}.quantity-text{border-color:color-mix(in srgb,var(--border) 62%,transparent);background:transparent;color:color-mix(in srgb,var(--text) 84%,var(--muted));cursor:default}.plan-selection-card .quantity-text{border-color:color-mix(in srgb,var(--border) 40%,transparent);background:transparent;color:color-mix(in srgb,var(--muted) 78%,transparent)}.plan-selection-card[data-selected=true] .quantity-text{border-color:color-mix(in srgb,var(--weight) 48%,var(--border));color:color-mix(in srgb,var(--weight) 36%,var(--text))}button.quantity-pill{font-family:inherit}.ingredient-calories{color:var(--muted);font-size:14px;font-weight:800;text-align:right;white-space:nowrap}.meal-ingredient[data-disabled=true] .ingredient-calories{color:color-mix(in srgb,var(--muted) 78%,transparent)}.meal-note-sheet{gap:16px}.plan-selection-sheet{position:fixed;right:max(12px,calc((100vw - 460px)/2 + 12px));bottom:calc(var(--bottom-nav-offset) + 10px);left:max(12px,calc((100vw - 460px)/2 + 12px));z-index:18;display:grid;gap:8px;border:1px solid var(--border);border-radius:8px;background:var(--nav-bg);padding:8px;box-shadow:0 16px 52px #0000003d;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.plan-selection-summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:5px;min-width:0;color:var(--text);padding:0 2px;line-height:1}.plan-selection-summary strong,.plan-selection-summary b{font-size:14px;font-weight:950}.plan-selection-summary span{overflow:hidden;color:var(--muted);font-size:12px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.plan-selection-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.plan-selection-actions button{display:grid;grid-template-columns:auto minmax(0,auto);align-items:center;justify-content:center;gap:4px;min-width:0;min-height:38px;border:1px solid var(--control-border);border-radius:8px;background:var(--control-fill);color:var(--text);padding:8px 7px;font-size:12px;font-weight:900;line-height:1}.plan-selection-actions button:disabled{opacity:.46}.plan-selection-actions svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.plan-selection-actions span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meal-note-input{width:100%;min-height:168px;resize:vertical;border:1px solid var(--control-border);border-radius:10px;background:var(--control-fill);color:var(--text);padding:12px;font:inherit;line-height:1.45}.meal-note-actions{grid-template-columns:1fr 1fr}.meal-note-save-action{min-width:0}.meal-note-detail-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.meal-note-detail-body{border:1px solid color-mix(in srgb,var(--border) 64%,transparent);border-radius:10px;background:color-mix(in srgb,var(--surface) 88%,transparent);color:var(--text);padding:13px 14px;font-size:15px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.meal-group[data-single-ingredient=true] .ingredient-calories{color:var(--text);font-size:16px;font-weight:900}.meals-empty-state{display:grid;min-height:220px;place-items:center;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--muted);padding:18px;text-align:center}.meal-sheet-backdrop{position:fixed;inset:var(--visual-viewport-offset-top, 0px) 0 auto 0;z-index:20;display:grid;align-items:end;height:var(--visual-viewport-height, 100vh);background:#0000006b;padding:16px}.meal-sheet{display:grid;gap:16px;width:min(100%,460px);max-height:calc(var(--visual-viewport-height, 100vh) - 32px - var(--safe-bottom));justify-self:center;overflow:auto;border:1px solid var(--border);border-radius:8px;background:var(--bg);padding:16px;box-shadow:0 22px 70px #00000057}.quantity-sheet{align-self:end}.meal-slot-action-sheet,.food-detail-sheet{gap:14px}.meal-sheet-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.meal-sheet-header h2{margin:2px 0 0;color:var(--text);font-size:24px;font-weight:900;line-height:1.05}.food-detail-kicker{display:flex;align-items:center;gap:6px}.food-detail-kicker .ingredient-emoji{width:auto}.food-detail-title{overflow-wrap:anywhere}.food-detail-actions .primary-action{width:100%;border:0;border-radius:8px;background:var(--weight);color:var(--bg);padding:12px 14px;font-size:15px;font-weight:900}.food-detail-note{margin:0;border:1px solid var(--border);border-radius:8px;background:var(--surface-raised);color:var(--muted);padding:12px 14px;text-align:center;font-size:15px;font-weight:850}.copy-modal{gap:18px}.copy-control-group,.copy-conflict-resolution{display:grid;gap:8px}.copy-conflict-resolution{margin-top:0}.copy-control-group h3,.copy-conflict-resolution p{color:var(--text);font-size:14px;font-weight:900}.copy-conflict-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.move-option-list,.move-conflict-options{grid-template-columns:repeat(2,minmax(0,1fr))}.copy-conflict-button{display:grid;grid-template-columns:auto auto;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:44px;border:1px solid var(--control-border);border-radius:8px;background:var(--control-fill);color:var(--text);padding:8px 6px}.copy-conflict-button[aria-pressed=true]{border-color:var(--weight);background:color-mix(in srgb,var(--weight) 16%,var(--control-fill))}.copy-conflict-button span{font-size:17px;font-weight:900;line-height:1}.copy-conflict-button strong{min-width:0;overflow:hidden;font-size:13px;font-weight:900;line-height:1;text-overflow:ellipsis}.copy-option-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.plan-quantity-mode-list{grid-template-columns:repeat(4,minmax(0,1fr))}.plan-quantity-mode-list .copy-option-button{font-size:12px}.plan-quantity-adjust-control input{width:7ch}.copy-option-button{width:100%;min-width:0;min-height:44px;border:1px solid var(--control-border);border-radius:8px;background:var(--control-fill);color:var(--text);padding:8px 6px;font-size:13px;font-weight:900;line-height:1;text-align:center}.copy-option-button:disabled{opacity:.48}.copy-option-button[aria-pressed=true]{border-color:var(--weight);background:color-mix(in srgb,var(--weight) 16%,var(--control-fill))}.copy-option-button:not(:disabled):active{transform:translateY(1px)}.copy-back-button{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--control-border);border-radius:999px;background:var(--control-fill);color:var(--text);padding:0;font-size:28px;line-height:1}.copy-date-grid label,.move-destination-grid label{display:grid;gap:7px;color:var(--muted);font-size:13px;font-weight:850}.copy-date-grid input,.move-destination-grid input,.move-destination-grid select{min-width:0;border:1px solid var(--control-border);border-radius:8px;background:var(--control-fill);color:var(--text);padding:12px;font:inherit;font-size:16px;font-weight:800}.copy-date-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.move-destination-grid{display:grid;gap:10px;margin-top:10px}.copy-selection-error{margin-top:-4px}.copy-modal-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.copy-modal-actions .secondary-action,.copy-modal-actions .primary-action{border:0;border-radius:8px;padding:12px 14px;font-size:15px;font-weight:900}.copy-modal-actions .secondary-action{border:1px solid var(--control-border);background:var(--control-fill);color:var(--text)}.copy-modal-actions .primary-action{background:var(--weight);color:var(--bg)}.copy-modal-actions .primary-action.danger{border:1px solid color-mix(in srgb,var(--danger-text) 70%,transparent);background:color-mix(in srgb,var(--danger-text) 22%,var(--surface-raised));color:var(--danger-text)}.batch-confirmation-copy{display:grid;gap:8px}.batch-confirmation-copy h2{color:var(--text);font-size:22px;font-weight:950;line-height:1.1}.batch-confirmation-copy p{color:var(--muted);font-size:14px;font-weight:750;line-height:1.4}.batch-scheduler-sheet{gap:18px}.batch-scheduler-section{display:grid;gap:10px}.batch-scheduler-slot-field{display:grid;gap:8px}.batch-scheduler-slot-field span,.batch-scheduler-week-heading h3{color:var(--text);font-size:14px;font-weight:900}.batch-scheduler-slot-field select{width:100%;border:1px solid var(--control-border);border-radius:8px;background:var(--control-fill);color:var(--text);padding:12px;font:inherit;font-size:15px;font-weight:850}.batch-scheduler-week-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.batch-scheduler-week-heading span{color:var(--muted);font-size:13px;font-weight:850;white-space:nowrap}.batch-scheduler-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.batch-scheduler-day{position:relative;display:grid;gap:5px;min-width:0;min-height:58px;place-items:center;border:1px solid var(--control-border);border-radius:8px;background:var(--control-fill);color:var(--text);padding:7px 3px}.batch-scheduler-day[data-occupied=true]{border-color:color-mix(in srgb,var(--intake) 34%,var(--control-border));background:color-mix(in srgb,var(--intake) 9%,var(--control-fill))}.batch-scheduler-day[data-occupied=true]:after{position:absolute;right:6px;bottom:6px;width:5px;height:5px;border-radius:999px;background:color-mix(in srgb,var(--intake) 72%,var(--muted));content:""}.batch-scheduler-day[aria-pressed=true]{border-color:var(--weight);background:color-mix(in srgb,var(--weight) 18%,var(--control-fill))}.batch-scheduler-day[data-existing=true][aria-pressed=true]{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--weight) 42%,transparent)}.batch-scheduler-day[aria-pressed=true][data-occupied=true]:after{background:color-mix(in srgb,var(--weight) 60%,var(--text))}.batch-scheduler-day:disabled{opacity:.42}.batch-scheduler-day span{color:var(--muted);font-size:10px;font-weight:900;line-height:1;text-transform:uppercase}.batch-scheduler-day strong{color:var(--text);font-size:16px;font-weight:950;line-height:1}.batch-scheduler-week-nav{display:flex;justify-content:space-between;gap:12px}.batch-scheduler-week-nav .secondary-action{border:1px solid color-mix(in srgb,var(--control-border) 62%,transparent);border-radius:6px;background:color-mix(in srgb,var(--control-fill) 58%,transparent);color:color-mix(in srgb,var(--text) 78%,var(--muted));padding:8px 10px;font-size:13px;font-weight:900}.batch-scheduler-week-nav .secondary-action:last-child{text-align:right}.batch-scheduler-week-nav .secondary-action:active{color:var(--text)}.meal-sheet-close{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;border:1px solid var(--control-border);border-radius:999px;background:var(--control-fill);color:var(--text);padding:0;font-size:24px;line-height:1}.meal-sheet-section,.meal-inline-form{display:grid;gap:12px}.meal-sheet label{display:grid;gap:7px;color:var(--muted);font-size:13px;font-weight:850}.meal-sheet input,.meal-sheet select{min-width:0;border:1px solid var(--control-border);border-radius:8px;background:var(--control-fill);color:var(--text);padding:12px;font:inherit;font-size:16px;font-weight:800}.quantity-preview{margin:0;color:var(--muted);font-size:14px;font-weight:750}.meal-inline-form{grid-template-columns:minmax(0,1fr) auto;align-items:end}.meal-inline-form .primary-action{border:0;border-radius:8px;background:var(--weight);color:var(--bg);padding:12px 14px;font-size:15px;font-weight:900}.meal-inline-form .primary-action:disabled{opacity:.5}.meal-editor-shell{padding-bottom:calc(96px + var(--safe-bottom))}.add-meal-editor-shell{padding-bottom:calc(106px + var(--safe-bottom))}.meal-editor-header{align-items:center;margin-bottom:14px}.meal-editor-close{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--control-border);border-radius:999px;background:var(--control-fill);padding:0;font-size:26px;line-height:1}.meal-editor-stage,.meal-editor-suggestions,.meal-editor-diagnostics{display:grid;gap:12px;margin-bottom:14px}.meal-editor-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:2px}.meal-group-editor-actions{grid-template-columns:repeat(5,minmax(0,1fr))}.meal-slot-actions{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:0}.add-food-actions{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px}.meal-editor-actions button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0;border:1px solid var(--control-border);border-radius:8px;background:var(--control-fill);color:var(--text);padding:8px 6px;min-height:58px;font-size:12px;font-weight:850}.meal-editor-actions button span{min-width:0;line-height:1.1;text-align:center;white-space:normal}.meal-editor-actions button:disabled{opacity:.48}.meal-slot-action-summary{margin:0;color:var(--muted);font-size:13px;font-weight:800;line-height:1.25;text-align:center}.meal-editor-actions svg,.ingredient-quantity svg,.add-food-quantity-control svg,.ingredient-stage-toggle svg,.editor-add-ingredient svg,.suggestion-add-toggle svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.editor-ingredient-list,.suggestion-list,.diagnostic-list{display:grid;gap:8px}.add-editor-search{display:grid;gap:10px}.add-editor-search input{min-width:0;border:1px solid var(--control-border);border-radius:8px;background:var(--control-fill);color:var(--text);padding:12px;font:inherit;font-size:16px;font-weight:850}.editor-ingredient,.editor-suggestion,.diagnostic-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;border:1px solid color-mix(in srgb,var(--border) 72%,transparent);border-radius:8px;background:var(--surface);padding:12px}.editor-suggestion .ingredient-name{overflow:hidden}.editor-suggestion .ingredient-portion{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-group-list{display:grid;gap:8px;margin-bottom:8px}.add-group-combo{gap:10px;border-color:color-mix(in srgb,var(--border) 62%,transparent);background:color-mix(in srgb,var(--surface) 86%,transparent);cursor:pointer}.add-group-combo .meal-ingredients{gap:9px}.add-group-combo .meal-ingredient{gap:12px}.add-group-combo .ingredient-calories{color:var(--muted);font-size:14px;font-weight:800}.add-group-pairing-note{justify-self:start;color:var(--calm-text);font-size:13px;font-weight:850;line-height:1.2}.add-group-divider{display:block;width:100%;height:1px;margin:2px 0;background:color-mix(in srgb,var(--border) 58%,transparent)}.add-group-total{display:grid;gap:1px;justify-self:end;min-width:58px;color:var(--text);text-align:right;white-space:nowrap}.add-group-total strong{font-size:17px;font-weight:950;line-height:1}.add-group-total small{color:var(--muted);font-size:10px;font-weight:850;line-height:1;text-transform:uppercase}.add-group-addon-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.add-group-addon-summary span{display:grid;gap:3px;min-width:0;border:1px solid var(--control-border);border-radius:8px;background:var(--control-fill);padding:10px;text-align:center}.add-group-addon-summary small{color:var(--muted);font-size:10px;font-weight:850;line-height:1;text-transform:uppercase}.add-group-addon-summary b{overflow:hidden;color:var(--text);font-size:18px;font-weight:950;line-height:1;text-overflow:ellipsis;white-space:nowrap}.add-group-addons-sheet .meal-sheet-header{justify-content:flex-end}.add-group-pairing-option{grid-template-columns:minmax(0,1fr) auto;min-height:70px;background:color-mix(in srgb,var(--surface) 86%,transparent)}.add-group-pairing-option .saved-food-result-main{overflow:hidden}.diagnostic-row{grid-template-columns:minmax(0,1fr);align-items:stretch;background:color-mix(in srgb,var(--surface) 82%,var(--control-fill))}.diagnostic-row.passes{border-color:#67f28a6b;background:#67f28a0f}.diagnostic-row-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-width:0}.diagnostic-row-heading strong{overflow:hidden;font-size:13px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.diagnostic-row-heading span,.diagnostic-empty{color:var(--muted);font-size:11px;font-weight:800}.diagnostic-row-heading span{flex:0 1 auto;text-align:right}.diagnostic-metrics{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.diagnostic-metrics span{display:grid;gap:3px;min-width:0;border:1px solid var(--border);border-radius:7px;background:var(--surface);padding:6px 4px;text-align:center}.diagnostic-metrics b{overflow:hidden;font-size:11px;line-height:1;text-overflow:ellipsis;white-space:nowrap}.diagnostic-metrics small{overflow:hidden;color:var(--muted);font-size:8px;font-weight:850;letter-spacing:.05em;line-height:1;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.editor-ingredient.addon{margin-left:28px}.editor-ingredient.staged-add{border-color:#67f28a6b;background:#67f28a12}.editor-ingredient.removed{color:var(--muted);background:var(--control-fill)}.editor-ingredient.removed .editor-ingredient-main{opacity:.58;text-decoration:line-through;text-decoration-thickness:2px}.editor-ingredient-main{display:grid;gap:8px;min-width:0}.ingredient-quantity{display:inline-grid;grid-template-columns:32px minmax(58px,auto) 32px;align-items:center;justify-self:start;overflow:hidden;border:1px solid var(--control-border);border-radius:999px;background:var(--control-fill)}.ingredient-quantity>button:not(.ingredient-quantity-value){display:grid;width:32px;height:32px;place-items:center;border:0;background:transparent;color:var(--text);padding:0}.ingredient-quantity-value{display:flex;align-items:baseline;justify-content:center;gap:5px;min-width:0;border:0;background:transparent;color:var(--text);padding:4px 8px;font:inherit;text-align:center}.ingredient-quantity-value.stacked{display:grid;gap:2px;align-items:center}.ingredient-quantity-value span{min-width:0;font-size:13px;font-weight:900;line-height:1;white-space:nowrap}.ingredient-quantity-value small{min-width:0;overflow:hidden;color:var(--muted);font-size:9px;font-weight:850;line-height:1;text-overflow:ellipsis;white-space:nowrap}.ingredient-quantity button.ingredient-quantity-value{cursor:pointer}.persisted-quantity{grid-template-columns:minmax(76px,auto);border:1px solid var(--control-border);color:var(--text)}.persisted-quantity span{padding:9px 12px}.ingredient-stage-toggle,.suggestion-add-toggle{display:flex;align-items:center;justify-content:center;gap:6px;min-width:82px;border:1px solid rgba(255,96,96,.5);border-radius:999px;background:#ff606021;color:var(--danger-text);padding:9px 10px;font-size:14px;font-weight:900;line-height:1}.ingredient-stage-toggle.restore,.suggestion-add-toggle{border-color:#67f28a7a;background:#67f28a1c;color:var(--calm-text)}.suggestion-add-toggle.restore{border-color:#ff606080;background:#ff606021;color:var(--danger-text)}.editor-suggestion.added{background:#67f28a14}.food-search-result{width:100%;grid-template-columns:minmax(0,1fr);align-items:start;border-color:color-mix(in srgb,var(--border) 58%,transparent);background:color-mix(in srgb,var(--surface) 76%,transparent);color:var(--text);cursor:pointer;padding:10px 12px;text-align:left}.typed-food-result{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-height:76px;border-color:color-mix(in srgb,var(--pace) 48%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--pace) 13%,transparent),transparent 54%),color-mix(in srgb,var(--surface) 90%,transparent);padding:13px 14px}.typed-food-main{display:grid;gap:6px;min-width:0}.typed-food-badge{justify-self:start;border:1px solid color-mix(in srgb,var(--pace) 50%,transparent);border-radius:999px;background:color-mix(in srgb,var(--pace) 15%,transparent);color:var(--calm-text);padding:3px 7px;font-size:10px;font-weight:950;line-height:1;text-transform:uppercase}.typed-food-title{display:flex;align-items:center;gap:7px;min-width:0}.typed-food-name{min-width:0;overflow:hidden;color:var(--text);font-size:17px;font-weight:900;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.typed-food-calories{display:grid;gap:2px;min-width:64px;color:var(--text);text-align:right;white-space:nowrap}.typed-food-calories strong{color:var(--calm-text);font-size:22px;font-weight:950;line-height:1}.typed-food-calories small{color:var(--muted);font-size:10px;font-weight:900;line-height:1;text-transform:uppercase}.saved-food-result{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:70px;border-color:color-mix(in srgb,var(--border) 62%,transparent);background:color-mix(in srgb,var(--surface) 86%,transparent);padding:12px}.openfoodfacts-food-result{grid-template-columns:minmax(0,1fr) auto}.packaged-food-search-result{grid-template-columns:34px minmax(0,1fr);align-items:center;gap:11px;min-height:64px;border-color:color-mix(in srgb,var(--calm-text) 38%,var(--border));background:color-mix(in srgb,var(--surface) 88%,transparent)}.packaged-food-search-icon{display:grid;width:34px;height:34px;place-items:center;border:1px solid color-mix(in srgb,var(--calm-text) 34%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--calm-text) 10%,transparent);color:var(--calm-text);font-size:17px;font-weight:950;line-height:1}.packaged-food-search-copy{display:grid;gap:3px;min-width:0}.packaged-food-search-title{overflow:hidden;color:var(--text);font-size:16px;font-weight:900;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.packaged-food-search-subtitle{overflow:hidden;color:var(--muted);font-size:12px;font-weight:800;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.saved-food-result-main{display:grid;gap:7px;min-width:0}.saved-food-result-main .ingredient-name{min-width:0;color:var(--text);font-size:16px;font-weight:850;line-height:1.2}.saved-food-result-quantity{justify-self:start;max-width:100%;overflow:visible;color:var(--muted);font-size:13px;font-weight:800;line-height:1.15;text-overflow:clip;white-space:normal}.saved-food-result-calories{align-self:center;display:grid;gap:1px;min-width:58px;color:var(--text);text-align:right;white-space:nowrap}.saved-food-result-calories strong{font-size:17px;font-weight:950;line-height:1}.saved-food-result-calories small{color:var(--muted);font-size:10px;font-weight:850;line-height:1;text-transform:uppercase}.food-search-result:active{transform:translateY(1px)}.food-search-result .ingredient-name{align-items:flex-start;width:100%}.food-search-result .ingredient-portion{border:0;background:transparent;color:var(--muted);padding:0;font-size:12px;font-weight:850}.usda-food-copy{display:grid;gap:4px;min-width:0}.usda-food-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.usda-food-title{color:var(--text)}.usda-food-descriptors{min-width:0;overflow-wrap:anywhere;color:var(--muted);font-size:12px;font-weight:800;line-height:1.2;white-space:normal}.usda-food-copy .ingredient-portion{justify-self:start;max-width:100%}.add-food-quantity-sheet,.barcode-scanner-sheet,.quick-add-food-sheet{gap:14px}.meal-sheet .quick-add-library-toggle{display:flex;align-items:center;justify-content:flex-start;gap:8px;width:fit-content;max-width:100%;justify-self:start;border:1px solid var(--control-border);border-radius:8px;background:var(--control-fill);color:var(--text);padding:8px 10px;font-size:14px;cursor:pointer}.meal-sheet .quick-add-library-toggle input[type=checkbox]{flex:0 0 auto;width:15px;min-width:15px;height:15px;margin:0;padding:0}.new-food-editor-shell{padding-bottom:calc(94px + var(--safe-bottom))}.new-food-form{display:grid;gap:18px}.new-food-heading,.new-food-section{display:grid;gap:10px}.new-food-definition{display:grid;gap:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--border) 64%,transparent);border-radius:8px;background:color-mix(in srgb,var(--surface) 82%,transparent)}.new-food-heading .entries-kicker{margin-bottom:-2px}.new-food-name-field{display:grid;grid-template-columns:54px minmax(0,1fr);gap:10px;align-items:center}.new-food-icon-button{display:grid;width:54px;height:54px;place-items:center;border:1px solid var(--control-border);border-radius:8px;background:var(--control-fill);padding:0;font-size:28px;line-height:1}.new-food-name-input input,.new-food-serving-row input,.new-food-serving-row select,.new-food-number-row input,.new-food-custom-unit input,.new-food-icon-override input{width:100%;min-width:0;border:1px solid var(--control-border);border-radius:8px;background:var(--control-fill);color:var(--text);padding:12px;font:inherit;font-size:16px;font-weight:850}.new-food-name-input input{font-size:20px;font-weight:950}.new-food-section-label,.new-food-row-label,.new-food-number-field>span,.new-food-custom-unit>span,.new-food-icon-override label>span{color:var(--muted);font-size:12px;font-weight:850}.new-food-row{display:grid;grid-template-columns:minmax(74px,.34fr) minmax(0,1fr);gap:12px;align-items:center;min-width:0;padding:12px}.new-food-row+.new-food-row{border-top:1px solid color-mix(in srgb,var(--border) 58%,transparent)}.new-food-number-field,.new-food-custom-unit,.new-food-icon-manual-row label{display:grid;gap:6px;min-width:0}.new-food-row>.new-food-custom-unit{grid-column:2}.new-food-number-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;overflow:hidden;border:1px solid var(--control-border);border-radius:8px;background:var(--control-fill)}.new-food-number-row input{border:0;background:transparent}.new-food-number-row small{padding-right:12px;color:var(--muted);font-size:14px;font-weight:900}.new-food-serving-row{display:grid;grid-template-columns:minmax(88px,.45fr) minmax(0,1fr);gap:10px}.new-food-support-row{align-items:start}.new-food-support-row p{margin:4px 0 0;color:var(--muted);font-size:11px;font-weight:750;line-height:1.25}.new-food-icon-override{display:grid;gap:10px;border:1px solid color-mix(in srgb,var(--border) 64%,transparent);border-radius:8px;background:color-mix(in srgb,var(--control-fill) 72%,transparent);padding:10px}.new-food-icon-picker-heading{display:flex;justify-content:flex-end}.new-food-icon-picker-heading .secondary-action{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--control-border);border-radius:999px;background:var(--surface);color:var(--text);padding:7px 10px;font-size:12px;font-weight:900}.new-food-icon-picker-heading .secondary-action:disabled{opacity:.5}.new-food-icon-picker-heading .secondary-action span{font-size:16px;line-height:1}.new-food-icon-picker-heading .secondary-action b{font:inherit}.new-food-icon-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.new-food-icon-grid button{display:grid;aspect-ratio:1;min-width:0;place-items:center;border:1px solid var(--control-border);border-radius:8px;background:var(--surface);padding:0;font-size:20px;line-height:1}.new-food-icon-grid button.active{border-color:color-mix(in srgb,var(--weight) 68%,var(--control-border));background:color-mix(in srgb,var(--weight) 14%,var(--surface))}.new-food-icon-manual-row{display:flex;align-items:end}.new-food-icon-manual-row input{width:48px;height:40px;padding:0;font-size:24px;line-height:40px;text-align:center}.new-food-extra-units{display:grid;gap:8px}.new-food-extra-units-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;color:var(--muted);font-size:12px;font-weight:850}.new-food-extra-units-heading .secondary-action{border:1px solid var(--control-border);border-radius:999px;background:transparent;color:var(--muted);padding:7px 10px;font-size:12px;font-weight:900}.new-food-extra-unit{display:grid;gap:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--border) 58%,transparent);border-radius:8px;background:color-mix(in srgb,var(--surface) 72%,transparent)}.new-food-extra-unit-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 10px 0;color:var(--muted);font-size:12px;font-weight:850}.new-food-extra-unit-heading .icon-button{width:32px;height:32px;border:1px solid var(--control-border);border-radius:8px;background:var(--control-fill);color:var(--muted);padding:0;font-size:18px;line-height:1}.new-food-extra-unit .new-food-row{padding:10px}.new-food-extra-unit>.new-food-custom-unit{padding:0 10px 10px}.new-food-savebar{position:fixed;right:0;bottom:0;left:0;z-index:20;display:grid;grid-template-columns:1fr 1fr;gap:10px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--bg) 92%,transparent);padding:12px 16px calc(12px + var(--safe-bottom));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.new-food-savebar .primary-action,.new-food-savebar .secondary-action{border-radius:8px;padding:12px 14px;font-size:15px;font-weight:900}.new-food-savebar .primary-action{border:0;background:var(--weight);color:var(--bg)}.new-food-savebar .secondary-action{border:1px solid var(--control-border);background:var(--control-fill);color:var(--text)}.quick-add-tip{margin:-2px 0 0;color:var(--muted);font-size:12px;font-weight:750;line-height:1.35}.barcode-camera-frame{position:relative;display:grid;min-height:220px;overflow:hidden;place-items:center;border:1px solid var(--control-border);border-radius:8px;background:#05070a}.barcode-camera-frame[data-camera-active=false]{min-height:150px;background:var(--control-fill)}.barcode-camera-frame video{width:100%;height:100%;min-height:220px;object-fit:cover}.barcode-camera-frame[data-camera-active=false] video{display:none}.barcode-scan-line{position:absolute;left:12%;right:12%;top:50%;height:2px;border-radius:999px;background:var(--weight);box-shadow:0 0 18px color-mix(in srgb,var(--weight) 72%,transparent)}.barcode-camera-switch{justify-self:start;border:1px solid var(--control-border);border-radius:8px;background:var(--control-fill);color:var(--text);padding:9px 12px;font-size:13px;font-weight:900}.manual-barcode-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.manual-barcode-form .secondary-action{border:1px solid var(--control-border);border-radius:8px;background:var(--control-fill);color:var(--text);padding:12px 14px;font-size:15px;font-weight:900}.manual-barcode-form .secondary-action:disabled{opacity:.55}.barcode-not-found-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.barcode-not-found-actions .primary-action,.barcode-not-found-actions .secondary-action{border-radius:8px;padding:11px 10px;font-size:13px;font-weight:900}.barcode-not-found-actions .primary-action{border:0;background:var(--weight);color:var(--bg)}.barcode-not-found-actions .secondary-action{border:1px solid var(--control-border);background:var(--control-fill);color:var(--text)}.add-food-unit-field,.add-food-control-label{display:grid;gap:6px;min-width:0;color:var(--muted);font-size:12px;font-weight:850}.add-food-control-label{margin-bottom:-8px}.add-food-unit-field select{width:100%;min-width:0;border:1px solid var(--control-border);border-radius:8px;background:var(--control-fill);color:var(--text);padding:11px 12px;font:inherit;font-size:15px;font-weight:850}.add-food-unit-field select{overflow:hidden;text-overflow:ellipsis}.add-food-quantity-control{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;overflow:hidden;border:1px solid var(--control-border);border-radius:8px;background:var(--control-fill)}.add-food-quantity-control button{display:grid;width:42px;height:42px;place-items:center;border:0;background:transparent;color:var(--text);padding:0}.quantity-control-value{display:flex;align-items:baseline;justify-content:center;gap:6px;min-width:0;padding:0 8px}.quantity-control-value.stacked{display:grid;gap:2px;align-items:center}.review-quantity-control-value{gap:8px}.add-food-quantity-control input{min-width:0;width:5ch;border:0;background:transparent;color:var(--text);padding:0;font:inherit;font-size:18px;font-weight:900;line-height:42px;text-align:center}.quantity-control-value small{min-width:0;overflow:hidden;color:var(--muted);font-size:12px;font-weight:850;line-height:1;text-overflow:ellipsis;white-space:nowrap}.review-quantity-control-value small{overflow:visible;font-size:13px;line-height:42px;text-overflow:clip}.quantity-control-value.stacked small{font-size:10px}.add-food-quantity-control input:focus{outline:none}.quantity-editor-control input{caret-color:transparent}.add-food-quantity-control input::-webkit-outer-spin-button,.add-food-quantity-control input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.add-food-quantity-control input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.add-food-quantity-control span{min-width:0;overflow:hidden;color:var(--text);font-size:16px;font-weight:900;line-height:1;text-align:center;text-overflow:ellipsis;white-space:nowrap}.add-food-quantity-calories{margin:0;color:var(--text);font-size:18px;font-weight:900;line-height:1.2;text-align:center}.add-food-quantity-sheet .primary-action,.add-group-addons-sheet .primary-action,.quick-add-food-sheet .primary-action,.quantity-sheet .primary-action,.meal-note-sheet .primary-action{border:0;border-radius:8px;background:var(--weight);color:var(--bg);padding:12px 14px;font-size:15px;font-weight:900}.add-food-quantity-sheet .secondary-action,.add-group-addons-sheet .secondary-action,.quick-add-food-sheet .secondary-action,.quantity-sheet .secondary-action,.meal-note-sheet .secondary-action{border:1px solid var(--control-border);border-radius:8px;background:var(--control-fill);color:var(--text);padding:12px 14px;font-size:15px;font-weight:900}.add-food-quantity-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.food-source-status{margin:0;color:var(--muted);font-size:12px;font-weight:800;line-height:1.3}.food-source-status.error{color:var(--danger-text)}.editor-add-ingredient{justify-self:center;display:grid;width:40px;height:40px;place-items:center;border:1px solid var(--control-border);border-radius:999px;background:var(--control-fill);color:var(--text);padding:0}.editor-section-label{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:11px;font-weight:850;letter-spacing:.12em;line-height:1;text-transform:uppercase}.editor-section-label:before,.editor-section-label:after{content:"";height:1px;flex:1 1 auto;background:var(--border)}.meal-editor-savebar{position:fixed;right:max(16px,calc((100vw - 460px)/2 + 16px));bottom:calc(14px + var(--safe-bottom));left:max(16px,calc((100vw - 460px)/2 + 16px));z-index:11;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--border);border-radius:8px;background:var(--nav-bg);padding:9px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 18px 54px #0000003d}.meal-editor-savebar-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(42px,1fr));gap:4px;flex:1 1 auto;min-width:0}.meal-editor-savebar-metrics span{display:grid;gap:3px;min-width:0;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text);padding:6px;font-weight:900;text-align:center}.meal-editor-savebar-metrics small{overflow:hidden;color:var(--muted);font-size:9px;font-weight:850;letter-spacing:.06em;line-height:1;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.meal-editor-savebar-metrics b{overflow:hidden;font-size:12px;line-height:1;text-overflow:ellipsis;white-space:nowrap}.meal-editor-savebar-actions{display:flex;gap:8px;flex:0 0 auto}.meal-editor-savebar button{border-radius:8px;padding:10px 12px;font-size:14px;font-weight:900}.meal-editor-savebar .secondary-action{border:1px solid var(--control-border);background:transparent;color:var(--muted)}.meal-editor-savebar .primary-action{border:0;background:var(--weight);color:var(--bg)}.editor-ingredient:focus-within,.editor-suggestion:focus-within,.meal-editor-actions button:focus-visible,.editor-add-ingredient:focus-visible,.meal-editor-savebar button:focus-visible{outline:2px solid var(--weight);outline-offset:3px}.batch-ingredient-row:focus-within{outline:none}@media(prefers-reduced-motion:reduce){.plan-day-track{transition:none}}.help-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;align-items:end;background:var(--backdrop);padding:16px 16px calc(16px + var(--safe-bottom))}.help-popover{position:relative;width:min(100%,460px);margin:0 auto;border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:20px;box-shadow:0 24px 80px #00000073}.help-popover h2{padding-right:34px}.help-popover p{margin-top:10px;color:var(--muted);line-height:1.45}.help-close{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--control-border);border-radius:999px;background:var(--surface-raised);color:var(--text);padding:0;font-size:22px;line-height:1}@media(prefers-color-scheme:light){:root:not([data-theme]){--bg: #f4f7fb;--surface: #ffffff;--surface-raised: #f4f7fb;--text: #172033;--muted: #52627a;--subtle: #64748b;--border: #8493a7;--control-border: #8493a7;--grid: #d2dae5;--weight: #007fa8;--trend: #876800;--pace: #16833c;--intake: #ad4f08;--average-intake: #3f5878;--target: #b4238a;--calm-text: #176b34;--caution-text: #8a4700;--danger-text: #a12626;--accent-soft: rgba(0, 127, 168, .12);--weight-wash: rgba(0, 127, 168, .1);--target-wash: rgba(180, 35, 138, .1);--control-fill: #ffffff;--control-fill-strong: #f4f7fb;--nav-bg: rgba(244, 247, 251, .92);--backdrop: rgba(16, 21, 34, .32);--scale-point-fill: rgba(0, 127, 168, .86);--meals-chrome-shadow: 0 10px 18px rgba(17, 24, 39, .11)}}@media(max-width:380px){.rate-card-heading,.danger-zone{display:grid}.reset-button{width:100%}}
