:root{--bg: #fbf7f0;--bg-grad: radial-gradient( 120% 90% at 50% -10%, rgba(196, 85, 45, .06), transparent 60% );--surface: #ffffff;--surface-sunken: #f6f0e6;--shadow: 0 2px 10px rgba(70, 50, 25, .06), 0 1px 3px rgba(70, 50, 25, .05);--shadow-lg: 0 12px 40px rgba(70, 50, 25, .14), 0 4px 12px rgba(70, 50, 25, .08);--text: #2a241e;--text-dim: #8a7f72;--border: rgba(70, 50, 25, .1);--hairline: rgba(70, 50, 25, .07);--accent: #c4552d;--accent-dark: #a8451f;--accent-soft: rgba(196, 85, 45, .1);--danger: #b23a2a;--danger-soft: rgba(178, 58, 42, .1);--burn: #397763;--burn-soft: rgba(57, 119, 99, .12);--protein: #c4552d;--protein-track: rgba(196, 85, 45, .15);--carbs: #d99a2b;--carbs-track: rgba(217, 154, 43, .15);--fat: #7c8a4e;--fat-track: rgba(124, 138, 78, .15);--badge-mine-bg: rgba(196, 85, 45, .12);--badge-mine-fg: #a8451f;--badge-usda-bg: rgba(124, 138, 78, .15);--badge-usda-fg: #5f6b3a;--badge-off-bg: rgba(217, 154, 43, .16);--badge-off-fg: #9a6c12;--font-display: "Fraunces", Georgia, serif;--font-body: "Hanken Grotesk", system-ui, sans-serif;--r-card: 20px;--r-pill: 14px;--r-input: 12px;--r-bar: 999px}@media(prefers-color-scheme:dark){:root{--bg: #1b1815;--bg-grad: radial-gradient( 120% 90% at 50% -10%, rgba(196, 85, 45, .12), transparent 60% );--surface: #26221d;--surface-sunken: #201c18;--shadow: 0 2px 12px rgba(0, 0, 0, .4), 0 1px 3px rgba(0, 0, 0, .3);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .55), 0 6px 16px rgba(0, 0, 0, .4);--text: #f0e9df;--text-dim: #a99e8f;--border: rgba(240, 233, 223, .12);--hairline: rgba(240, 233, 223, .08);--accent: #d8663d;--accent-dark: #c4552d;--accent-soft: rgba(216, 102, 61, .16);--danger: #e07a6a;--danger-soft: rgba(224, 122, 106, .16);--burn: #76b49f;--burn-soft: rgba(118, 180, 159, .16);--protein: #d8663d;--protein-track: rgba(216, 102, 61, .2);--carbs: #e2ab48;--carbs-track: rgba(226, 171, 72, .18);--fat: #a0b06a;--fat-track: rgba(160, 176, 106, .18);--badge-mine-bg: rgba(216, 102, 61, .18);--badge-mine-fg: #e89173;--badge-usda-bg: rgba(160, 176, 106, .2);--badge-usda-fg: #b6c586;--badge-off-bg: rgba(226, 171, 72, .2);--badge-off-fg: #e2ab48}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-body);background:var(--bg);background-image:var(--bg-grad);background-attachment:fixed;color:var(--text);font-size:16px;line-height:1.4;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#root{width:100%}button{font:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer}input,select{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-input);padding:12px 14px;min-height:46px;width:100%;font-variant-numeric:tabular-nums;transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.app{max-width:560px;margin:0 auto;min-height:100vh;min-height:100dvh}.app-content{padding:16px 20px calc(88px + env(safe-area-inset-bottom))}.sync-status{display:flex;align-items:center;gap:8px;min-height:36px;margin:0 0 14px;padding:8px 11px;border:1px solid var(--hairline);border-radius:11px;background:var(--surface-sunken);color:var(--text-dim);font-size:12px;font-weight:600}.sync-status .sync-dot{width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:var(--burn)}.sync-status.is-offline .sync-dot,.sync-status.sync-error .sync-dot{background:var(--accent)}.sync-status.is-syncing .sync-dot{animation:sync-pulse 1s ease-in-out infinite alternate}.sync-status .sync-actions{margin-left:auto;display:flex;flex:0 0 auto;gap:8px}.sync-status>span:nth-child(2){min-width:0;overflow-wrap:anywhere}.sync-status.sync-error{flex-wrap:wrap}.sync-status.sync-error .sync-actions{width:100%;justify-content:flex-end}.sync-status button{color:var(--accent);font-weight:700;min-height:32px}@keyframes sync-pulse{to{opacity:.35}}@media(min-width:640px){body{display:flex;align-items:stretch;justify-content:center;min-height:100dvh}.app{position:relative;width:100%;max-width:none;min-height:0;height:100dvh;display:flex;flex-direction:column;overflow:hidden}.app-content{flex:1;overflow-y:auto;padding:24px 32px 32px}}@media(min-width:640px)and (max-width:1023.98px){.app-content>main{max-width:620px;margin:0 auto}}@media(min-width:1024px){.app-content>main{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start;align-content:start;gap:0 40px;max-width:1240px;margin:0 auto}.app-content>main>.date-row{grid-column:1;grid-row:1}.app-content>main>.day-summary{grid-column:1;grid-row:2}.app-content>main>.day-footer{grid-column:1;grid-row:3}.app-content>main>.error,.app-content>main>.loading{grid-column:1}.app-content>main>.day-log{grid-column:2;grid-row:1 / span 3}.app-content>main.single-column{display:block;max-width:760px}}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;max-width:560px;margin:0 auto;background:var(--surface);border-top:1px solid var(--hairline);box-shadow:0 -2px 14px #4632190d;padding-bottom:env(safe-area-inset-bottom);z-index:50}.bottom-nav button{flex:1;min-height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11.5px;font-weight:500;letter-spacing:.2px;color:var(--text-dim);transition:color .15s ease}.bottom-nav button .icon{display:inline-flex;line-height:1}.bottom-nav button .icon svg{width:21px;height:21px}.bottom-nav button.active{color:var(--accent);font-weight:600}.bottom-nav button.active .icon{transform:translateY(-1px)}@media(min-width:640px){.bottom-nav{position:static;max-width:none;margin:0;padding-bottom:0;box-shadow:none}.bottom-nav button{flex:0 1 180px}.bottom-nav{justify-content:center;gap:8px}}.date-switcher{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-pill);box-shadow:var(--shadow);padding:4px;margin-bottom:24px}.date-switcher .arrow{min-width:46px;min-height:44px;border-radius:10px;font-size:22px;color:var(--accent);transition:background .15s ease}.date-switcher .arrow:active{background:var(--accent-soft)}.date-switcher .current{flex:1;min-height:44px;padding:0 16px;font-size:16px;font-weight:600;border-radius:10px;transition:background .15s ease}.date-switcher .current:active{background:var(--accent-soft)}.headline{text-align:center;margin:8px 0 28px}.headline .big{font-family:var(--font-display);font-optical-sizing:auto;font-weight:600;font-size:44px;line-height:.95;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--text)}.macros{display:flex;flex-direction:column;gap:16px;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-card);box-shadow:var(--shadow);padding:20px;margin-bottom:24px}.macro{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:4px 10px}.macro .label{font-size:13px;font-weight:600;letter-spacing:.01em}.macro.protein .label{color:var(--protein)}.macro.carbs .label{color:var(--carbs)}.macro.fat .label{color:var(--fat)}.macro .value{text-align:right;color:var(--text-dim);font-size:13px;font-weight:500;font-variant-numeric:tabular-nums}.macro .bar{grid-column:1 / -1;height:10px;border-radius:var(--r-bar);overflow:hidden;margin-top:2px}.macro.protein .bar{background:var(--protein-track)}.macro.carbs .bar{background:var(--carbs-track)}.macro.fat .bar{background:var(--fat-track)}.macro .bar>div{height:100%;border-radius:var(--r-bar);transition:width .5s cubic-bezier(.22,1,.36,1)}.meal-section{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-card);box-shadow:var(--shadow);margin-bottom:16px;overflow:hidden}.meal-header{display:flex;align-items:baseline;gap:10px;padding:16px 20px 12px}.meal-header .meal-name{font-family:var(--font-display);font-optical-sizing:auto;font-weight:600;font-size:20px;letter-spacing:-.01em;text-transform:capitalize}.meal-header .kcal{font-weight:500;color:var(--text-dim);font-size:13px;font-variant-numeric:tabular-nums}.meal-header .add-btn{margin-left:auto;color:var(--accent);font-size:14px;font-weight:600;min-height:44px;padding:0 4px;display:inline-flex;align-items:center;transition:color .15s ease}.meal-header .add-btn:active{color:var(--accent-dark)}.entry{display:flex;align-items:center;padding:0 8px 0 20px;border-top:1px solid var(--hairline)}.entry .entry-main{flex:1;min-width:0;display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:14px 0;min-height:44px;text-align:left}.entry .name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.entry .qty{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--text-dim);font-size:13px;white-space:nowrap;font-variant-numeric:tabular-nums}.entry .kcal{flex:0 0 auto;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14px;font-weight:600;min-width:62px;text-align:right}.entry .delete{flex:0 0 auto;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;color:var(--text-dim);transition:background .15s ease,color .15s ease}.entry .delete svg{width:17px;height:17px}.entry .delete:hover,.entry .delete:active{color:var(--accent);background:var(--accent-soft)}.workout-kcal{color:var(--burn)!important}.workout-section{border-color:var(--burn-soft)}.workout-section .add-btn{color:var(--burn)}.workout-empty{margin:0;padding:14px 20px 18px;border-top:1px solid var(--hairline);color:var(--text-dim);font-size:14px}.entry-edit{display:flex;flex-direction:column;gap:10px;padding:6px 20px 18px;border-top:1px solid var(--hairline)}.entry-edit-row{display:flex;gap:8px}.entry-edit-row input:first-child{flex:1}.entry-edit-row input:last-child{width:90px}.entry-edit-macros{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.entry-edit input{min-height:42px;border-radius:10px;border:1px solid var(--border);background:var(--surface-sunken);color:var(--text);padding:0 10px}@keyframes entry-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.entry-reveal{animation:entry-in .32s cubic-bezier(.22,1,.36,1) both}.screen-title{font-family:var(--font-display);font-optical-sizing:auto;font-size:30px;font-weight:600;letter-spacing:-.02em;margin:4px 0 20px}.note{color:var(--text-dim);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;margin:18px 0 10px}.hint{color:var(--text-dim);font-size:12.5px;line-height:1.45;margin:0}.error{color:var(--danger);font-size:14px;font-weight:500;margin:10px 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:50px;padding:0 22px;border-radius:var(--r-pill);font-weight:600;font-size:15px;background:var(--accent);color:#fff;box-shadow:0 2px 8px #c4552d47;transition:background .15s ease,transform .08s ease,box-shadow .15s ease}.btn:hover{background:var(--accent-dark)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;box-shadow:none}.btn.secondary{background:var(--surface);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow)}.btn.secondary:hover{background:var(--surface-sunken)}.btn.danger{background:transparent;color:var(--danger);box-shadow:none}.btn.danger:hover{background:var(--danger-soft)}.btn.block{width:100%}.chips{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 4px}.chip{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-pill);box-shadow:var(--shadow);padding:0 16px;min-height:46px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;transition:border-color .15s ease,background .15s ease,transform .08s ease}.chip:hover{border-color:var(--accent)}.chip:active{background:var(--accent-soft);color:var(--accent);transform:scale(.98)}.search-row{display:flex;gap:10px}.search-field{position:relative;flex:1}.search-field .search-glyph{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--text-dim);pointer-events:none}.search-field input{padding-left:44px;min-height:50px}.search-row .scan{flex:0 0 auto;width:50px;min-height:50px;border:1px solid var(--border);border-radius:var(--r-input);background:var(--surface);box-shadow:var(--shadow);font-size:20px;color:var(--text-dim);transition:border-color .15s ease,color .15s ease}.search-row .scan:active{border-color:var(--accent);color:var(--accent)}.kcal-filter{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:10px;color:var(--text-dim);font-size:14px}.kcal-filter-label{flex:0 0 auto}.kcal-filter input{flex:1 1 70px;min-width:0;max-width:110px;min-height:40px;text-align:center}.kcal-filter .btn{flex:0 0 auto;min-height:40px;padding:0 14px}.add-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 6px}.add-shortcuts .btn{min-width:0;padding:0 12px}@media(max-width:360px){.add-shortcuts{grid-template-columns:1fr}}.results{margin-top:16px;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-card);box-shadow:var(--shadow);overflow:hidden}.result{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:14px 18px;min-height:60px;border-top:1px solid var(--hairline);transition:background .12s ease}.result:first-child{border-top:none}.result:active{background:var(--surface-sunken)}.result .info{flex:1;min-width:0}.result .info .name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.result .info .meta{display:block;color:var(--text-dim);font-size:13px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}.badge{flex:0 0 auto;font-size:10.5px;font-weight:700;border-radius:8px;padding:4px 8px;text-transform:uppercase;letter-spacing:.05em;background:var(--badge-usda-bg);color:var(--badge-usda-fg)}.badge.mine{background:var(--badge-mine-bg);color:var(--badge-mine-fg)}.badge.off,.badge.live{background:var(--badge-off-bg);color:var(--badge-off-fg)}.sheet-backdrop{position:fixed;inset:0;background:#1e140a80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:90;animation:fade-in .2s ease both}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet{position:fixed;left:0;right:0;bottom:0;background:var(--surface);border-radius:28px 28px 0 0;padding:8px 20px calc(24px + env(safe-area-inset-bottom));z-index:100;max-width:560px;margin:0 auto;max-height:88vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:sheet-up .34s cubic-bezier(.22,1,.36,1) both}@media(min-width:640px){.sheet-backdrop{position:absolute}.sheet{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(560px,calc(100% - 64px));max-width:none;margin:0;max-height:min(88%,780px);padding-bottom:24px;border-radius:24px;animation:fade-in .16s ease}.sheet .grabber{display:none}}.sheet .grabber{width:40px;height:5px;border-radius:999px;background:var(--border);margin:8px auto 16px}.sheet h2{font-family:var(--font-display);font-optical-sizing:auto;margin:0 0 4px;font-size:24px;font-weight:600;letter-spacing:-.01em;padding-right:44px}.sheet-close{position:absolute;top:14px;right:14px;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;color:var(--text-dim);transition:background .15s ease,color .15s ease}.sheet-close svg{width:18px;height:18px}.sheet-close:active{background:var(--accent-soft);color:var(--accent)}.sheet .brand{color:var(--text-dim);font-size:13px;margin-bottom:18px;font-variant-numeric:tabular-nums}.portion-buttons{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.portion-buttons button{border:1px solid var(--border);border-radius:var(--r-input);padding:0 16px;min-height:46px;font-weight:500;background:var(--surface-sunken);transition:border-color .15s ease,background .15s ease,color .15s ease}.portion-buttons button.selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}.qty-row{display:flex;align-items:center;gap:12px;margin:16px 0}.qty-row .step{width:50px;height:50px;flex:0 0 auto;border:1px solid var(--border);border-radius:var(--r-input);font-size:24px;font-weight:500;color:var(--text);background:var(--surface-sunken);transition:background .12s ease,transform .08s ease}.qty-row .step:active{background:var(--accent-soft);color:var(--accent);transform:scale(.96)}.qty-row input{text-align:center;width:100px;flex:0 1 auto;font-weight:600}.qty-row .grams{color:var(--text-dim);font-size:14px;font-weight:500;margin-left:auto;padding:0 8px;min-height:44px;font-variant-numeric:tabular-nums}.preview{display:flex;justify-content:space-between;gap:8px;background:var(--surface-sunken);border-radius:var(--r-input);padding:16px 18px;margin:16px 0}.preview div{text-align:center;flex:1}.preview .n{display:block;font-family:var(--font-display);font-optical-sizing:auto;font-weight:600;font-size:22px;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.preview .l{display:block;color:var(--text-dim);font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-top:2px}.meal-select{display:flex;gap:8px;margin:16px 0 20px}.meal-select button{flex:1;min-height:46px;border:1px solid var(--border);border-radius:var(--r-input);font-size:13px;font-weight:500;text-transform:capitalize;background:var(--surface-sunken);transition:border-color .15s ease,background .15s ease,color .15s ease}.meal-select button.selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}.scanner-overlay{position:fixed;inset:0;background:#000;z-index:200;display:flex;flex-direction:column}.scanner-overlay video{flex:1;width:100%;object-fit:cover}.scanner-overlay .scanner-bar{display:flex;align-items:center;justify-content:space-between;padding:14px 16px calc(14px + env(safe-area-inset-bottom));color:#fff;background:#000000b3}.scanner-overlay .cancel{color:#fff;font-weight:600;min-height:44px;padding:0 12px}.manual-upc{padding:20px 16px;background:var(--surface)}.food-card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-card);box-shadow:var(--shadow);padding:16px 20px;margin-bottom:12px}.food-card .row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.food-card .food-name{font-weight:600;font-size:15px}.food-card .meta{color:var(--text-dim);font-size:12.5px;margin-top:4px;line-height:1.5;font-variant-numeric:tabular-nums}.food-card .actions{display:flex;gap:6px;flex:0 0 auto}.food-card .actions button{min-width:44px;min-height:44px;padding:0 12px;border-radius:12px;color:var(--accent);font-size:14px;font-weight:600;transition:background .15s ease}.food-card .actions button:active{background:var(--accent-soft)}.food-card .actions .del{color:var(--danger)}.food-card .actions .del:active{background:var(--danger-soft)}.food-form{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-card);box-shadow:var(--shadow);padding:20px;margin-bottom:16px;display:flex;flex-direction:column;gap:14px}.food-form label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);display:flex;flex-direction:column;gap:6px}.food-form label input{text-transform:none;letter-spacing:normal;font-weight:400}.food-form .two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.food-form .form-actions{display:flex;gap:12px;margin-top:6px}.food-form .form-actions .btn{flex:1}.section-divider{height:1px;background:var(--hairline);border:none;margin:24px 0 20px}.loading{color:var(--text-dim);text-align:center;padding:24px 0;font-weight:500}.auth-screen{min-height:100vh;max-width:420px;margin:0 auto;padding:24px 24px calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column;justify-content:center}.auth-brand{text-align:center;margin-bottom:28px}.auth-brand h1{font-family:var(--font-display);font-optical-sizing:auto;font-weight:600;font-size:40px;letter-spacing:-.025em;margin:0;color:var(--text)}.auth-card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-card);box-shadow:var(--shadow-lg);padding:24px 22px}.segmented{display:flex;gap:4px;background:var(--surface-sunken);border-radius:var(--r-input);padding:4px;margin-bottom:20px}.segmented button{flex:1;min-height:44px;border-radius:10px;font-size:15px;font-weight:600;color:var(--text-dim);transition:color .15s ease,background .15s ease,box-shadow .15s ease}.segmented button.selected{background:var(--surface);color:var(--accent);box-shadow:var(--shadow)}.auth-card .food-form{background:none;border:none;box-shadow:none;padding:0;margin:0;gap:14px}@media(min-width:640px){.auth-screen{min-height:0;width:100%;max-width:460px;padding:44px 32px;background:var(--surface);border:1px solid var(--border);border-radius:28px;box-shadow:var(--shadow-lg);justify-content:flex-start}.auth-card{background:none;border:none;box-shadow:none;padding:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-delay:0ms!important;transition-duration:.001ms!important}}.section-title{font-family:var(--font-display);font-optical-sizing:auto;font-size:22px;font-weight:600;letter-spacing:-.01em;margin:0}.account-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.account-label{color:var(--text-dim);font-size:13px;font-weight:500}.account-value{font-weight:600;font-size:15px}.workout-help{margin:0 0 14px;color:var(--text-dim);font-size:13px;font-weight:500;letter-spacing:normal;line-height:1.4;text-transform:none}.date-row{display:flex;align-items:center;gap:8px;margin-bottom:18px}.date-row .date-switcher{flex:1;margin-bottom:0}.date-pick{flex:0 0 auto;width:46px;height:46px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--hairline);box-shadow:var(--shadow);color:var(--accent)}.date-pick svg{width:19px;height:19px}.calorie-math{display:flex;align-items:flex-end;justify-content:center;gap:6px;font-family:var(--font-display);font-weight:600;margin-top:10px}.calorie-math span{display:flex;flex-direction:column;align-items:center;color:var(--text-dim);font-size:10.5px;font-weight:500}.calorie-math b{font-size:24px;font-weight:600;color:var(--text-dim);margin-bottom:2px}.calorie-math .op{font-size:24px;padding-bottom:16px}.goal-note{color:var(--text-dim);font-size:12px;font-weight:500;margin-top:12px}.headline .big.on-track{color:var(--fat)}.headline .big.under{color:var(--carbs)}.headline .big.over{color:var(--danger)}.day-actions{display:flex;gap:10px;margin-bottom:22px}.day-actions .btn{flex:1}.btn.burn{background:var(--surface);color:var(--burn);border:1.5px solid var(--burn-soft)}.btn.outline{background:none;color:var(--accent);border:1.5px solid var(--accent-soft)}.log-tools{display:flex;flex-direction:column;align-items:flex-end;gap:4px;margin-bottom:10px}.link-btn{background:none;border:none;color:var(--text-dim);font-size:12px;font-weight:600;padding:4px 0;cursor:pointer}.link-btn.accent{color:var(--accent);font-size:13px}.selection-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--accent-soft);border-radius:var(--r-pill);padding:10px 14px;margin-bottom:14px}.selection-bar .count{flex:1;font-size:13px;font-weight:600}.selection-bar button{min-height:36px;padding:0 12px;border-radius:10px;border:1px solid var(--border);color:var(--text);font-weight:600;font-size:13px}.selection-bar button.danger{border-color:var(--danger-soft);color:var(--danger)}.selection-bar button:disabled{opacity:.4}.entry-select{flex:0 0 auto;width:16px;height:16px;margin:0 10px 0 16px;accent-color:var(--accent)}.meal-empty{margin:0;padding:0 20px 16px;color:var(--text-dim);font-size:13px}.day-complete{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px;margin-bottom:16px;border-radius:var(--r-pill);background:var(--fat-track);border:1px solid var(--fat-track)}.day-complete-head{display:flex;align-items:center;gap:10px;color:var(--fat);font-weight:600;font-size:14px}.day-complete-summary{font-weight:700;font-size:15px}.day-complete.on-track .day-complete-summary{color:var(--fat)}.day-complete.under .day-complete-summary{color:var(--carbs)}.day-complete.over .day-complete-summary{color:var(--danger)}.weight-row{display:flex;align-items:baseline;gap:8px;padding:2px 2px 14px}.weight-label{color:var(--text-dim);font-size:13px}.weight-value{flex:1;font-weight:600;font-size:14px}.toast{position:fixed;left:50%;bottom:84px;transform:translate(-50%);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:var(--r-input);padding:10px 18px;font-size:13px;font-weight:600;white-space:nowrap;z-index:150;margin:0}.screen-head{display:flex;align-items:center;gap:10px;margin:4px 0 18px}.screen-head .screen-title{margin:0}.back{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-input);background:none;border:none;color:var(--text)}.back svg{width:20px;height:20px}.screen-head.spread{justify-content:space-between}.btn.compact{min-height:44px;padding:0 16px;width:auto}.field-label{color:var(--text-dim);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;margin:16px 0 8px}.switch{position:relative;width:44px;height:26px;flex:0 0 auto;border-radius:var(--r-bar);border:none;padding:0;background:var(--border);transition:background .2s ease}.switch.on{background:var(--accent)}.switch .knob{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--surface);box-shadow:0 2px 4px #00000040;transition:left .2s cubic-bezier(.22,1,.36,1)}.switch.on .knob{left:21px}.switch-row{display:flex;align-items:center;gap:10px;min-height:44px;font-size:13px;font-weight:600;color:var(--text-dim)}.switch-row.centered{justify-content:center;margin-bottom:16px}.switch-row .active{color:var(--text)}.sheet-actions{display:flex;gap:10px}.sheet-actions .btn{flex:1}.success{color:var(--fat);font-size:13px;margin:0}.warn{color:var(--carbs);font-size:12px;margin:10px 0 0}.month-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;font-weight:600;font-size:15px}.month-nav button{width:36px;height:36px;border-radius:10px;background:var(--surface-sunken);border:1px solid var(--border);color:var(--text);font-size:16px}.weekday-row,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.weekday-row{margin-bottom:6px}.weekday-row span{text-align:center;color:var(--text-dim);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:4px 0}.calendar-grid{margin-bottom:16px}.calendar-grid button{aspect-ratio:1;border-radius:10px;font-size:13px;font-weight:600;background:var(--surface-sunken);border:1px solid var(--hairline);color:var(--text)}.calendar-grid button.outside{color:var(--text-dim);opacity:.55}.calendar-grid button.today{border-color:var(--accent-soft)}.calendar-grid button.selected{background:var(--accent);border-color:var(--accent);color:var(--surface);opacity:1}.chart-card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-card);box-shadow:var(--shadow);padding:20px;margin-bottom:16px}.chart-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px}.chart-title{font-family:var(--font-display);font-size:17px;font-weight:600}.chart{width:100%;display:block}.chart .grid{stroke:var(--hairline);stroke-width:1}.chart .axis{stroke:var(--border);stroke-width:1}.chart .tick{font-size:7.5px;fill:var(--text-dim)}.chart .weight-line{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.chart .weight-dot,.chart .bar.net{fill:var(--accent)}.chart .bar.under{fill:var(--fat)}.chart .bar.over{fill:var(--danger)}.chart-empty{color:var(--text-dim);font-size:13px;text-align:center;padding:18px 0;margin:0}.metric-toggle{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:16px;font-size:13px;font-weight:600;color:var(--text-dim)}.metric-toggle .active{color:var(--text)}.settings-section{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-card);box-shadow:var(--shadow);margin-bottom:16px;overflow:hidden;scroll-margin-top:16px;transition:box-shadow .4s ease,border-color .4s ease}.settings-section.highlight{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft),var(--shadow)}.section-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:20px;background:none;border:none;color:var(--text);text-align:left}.section-toggle .section-title{font-size:20px}.chevron{width:18px;height:18px;flex:0 0 auto;transition:transform .15s ease}.chevron.open{transform:rotate(90deg)}.section-body{padding:0 20px 20px;display:flex;flex-direction:column;gap:14px}.inset-form{display:flex;flex-direction:column;gap:10px;background:var(--surface-sunken);border-radius:var(--r-pill);padding:16px}.inset-form input{min-height:44px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:0 12px}.labeled-field{display:flex;flex-direction:column;gap:6px}.labeled-field .field-label{margin:0}.labeled-field input{min-height:44px;border-radius:var(--r-input);border:1px solid var(--border);background:var(--surface-sunken);color:var(--text);padding:0 12px}.field-head{display:flex;align-items:baseline;justify-content:space-between}.current-goal{font-size:15px;font-weight:600;margin:0}.target-note{font-size:14px;font-weight:600;margin:0}.macro-summary{display:flex;flex-direction:column;gap:8px}.macro-summary div{display:flex;justify-content:space-between}.macro-summary span{color:var(--text-dim);font-size:13px}.macro-summary b{font-size:14px}.macro-inputs{display:flex;flex-direction:column;gap:8px}.macro-inputs div{display:flex;align-items:center;justify-content:space-between}.macro-inputs span{color:var(--text-dim);font-size:13px}.macro-inputs input{width:96px;text-align:right;min-height:38px;border-radius:8px;border:1px solid var(--border);background:none;color:var(--text);padding:0 10px;font-weight:600}.meal-config-row,.meal-add-row{display:flex;align-items:center;gap:8px}.meal-config-row input,.meal-add-row input{flex:1;min-height:44px;border-radius:var(--r-input);border:1px solid var(--border);background:var(--surface-sunken);color:var(--text);padding:0 12px;font-weight:500}.meal-add-row input{border-style:dashed}.meal-config-row button{width:38px;height:38px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid var(--border);background:var(--surface-sunken);color:var(--text);font-size:15px}.meal-config-row button.danger{border-color:var(--danger-soft);background:none;color:var(--danger)}.meal-config-row button svg{width:15px;height:15px}.meal-config-row button:disabled{opacity:.35}.meal-add-row .btn{flex:0 0 auto;padding:0 18px}.connected-app{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface-sunken);border-radius:var(--r-pill);padding:14px 16px}.connected-app .app-name{display:block;font-weight:600;font-size:14px}.connected-app .app-status{display:block;color:var(--text-dim);font-size:12px;margin-top:2px}.connected-app .btn{flex:0 0 auto;min-height:40px;padding:0 16px;font-size:13px}
