:root{--color-text:#112c29;--color-muted:#5d7a73;--color-bg:#f4efe2;--color-bg-radial-warm:#d9784838;--color-bg-radial-cool:#24524a2e;--color-surface:#fffcf6d9;--color-surface-strong:#fffcf6f5;--color-border:#112c2914;--color-shadow:#112c2914;--color-accent:#24524a;--color-accent-strong:#2f6a52;--color-highlight:#d97848;--color-highlight-strong:#ef9a63;--color-surface-contrast:#fff;--label-text:#355851;--input-border:#24524a2e;--input-bg:#ffffffe6;--toggle-track-off:#24524a33;--toggle-track-on:linear-gradient(135deg, var(--color-accent), var(--color-accent-strong));--toggle-track-disabled:#24524a1f;--toggle-thumb:#fff;--toggle-thumb-disabled:#ffffffd6;--toggle-shadow:#112c2933;--toggle-focus-ring:color-mix(in srgb, var(--color-highlight) 45%, transparent);--chip-bg:#24524a1a;--chip-text:#24524a;--pill-bg:#24524a14;--pill-text:#24524a;--button-bg:#24524a;--button-text:#fdf8f0;--button-secondary-bg:#24524a1a;--button-secondary-text:#24524a;--button-danger-bg:#b85035;--button-danger-text:#fff7f2;--text-button:#24524a;--panel-muted:#5d7a73;--code-bg:#112c290f;--icon-bg:#24524a1a;--icon-text:#24524a;--barcode-viewport-bg:#d9d2c3;--barcode-frame-border:#fdf8f0cc;--barcode-frame-overlay:#112c291f;--barcode-indicator-text:#fdf8f0;--barcode-indicator-bg:#112c29ad;--barcode-dot-idle:#fdf8f08c;--barcode-dot-active:#6ee7b7;--barcode-pulse-start:#6ee7b799;--barcode-pulse-end:#6ee7b700;--entry-item-bg:#24524a0d;--entry-kind-meal-bg:#24524a29;--meal-section-bg:#24524a0d;--error-text:#b85035;--overlay-backdrop:#112c2942;--bottom-sheet-bg:#fffcf6fa;--bottom-sheet-shadow:#112c2940;--sheet-handle:#24524a38;--drawer-bg:#fffcf6fa;--drawer-shadow:#112c292e;--drawer-item:#112c29;--drawer-item-secondary:#4b6b64;--drawer-item-active-bg:#24524a1a;--drawer-item-active-text:#24524a;--drawer-separator:#112c291f;--toast-text:#fdf8f0;--toast-shadow:#112c2933;--toast-success-bg:#24524a;--toast-error-bg:#b85035;--sync-chip-text:#24524a;--sync-chip-bg:#24524a1a;--sync-chip-dot-offline:#b85035;--sync-chip-dot-syncing:#d97848;--sync-chip-dot-synced:#2f6a52;--sync-chip-dot-failed:#b85035;--points-summary-fill-start:#d97848;--points-summary-fill-end:#ef9a63;--stat-emphasis-start:#24524a;--stat-emphasis-end:#2e6b61;--stat-emphasis-text:#fdf8f0;--weight-graph-bg:linear-gradient(180deg, #24524a0d, #fffcf6e6);--weight-graph-grid:#112c2924;--weight-graph-axis:#112c293d;--weight-graph-axis-label:#5d7a73;--weight-graph-guide-completed:#24524a47;--weight-graph-guide-next:#d9784847;--weight-graph-guide-label-completed:#24524a;--weight-graph-guide-label-next:#b56742;--weight-graph-line:#24524a;--weight-graph-point:#d97848;--weight-graph-point-latest:#24524a;--weight-graph-point-ring:#fff;--weight-graph-point-milestone-ring:#d97848;--weight-graph-tooltip-bg:#fffcf6f5;--weight-graph-tooltip-border:#112c291a;--weight-graph-tooltip-shadow:#112c291f;--weight-graph-tooltip-text:#5d7a73;--security-banner-border:#a0471538;--security-banner-bg-start:#ffedd6f5;--security-banner-bg-end:#fff5e5f5;--security-banner-text:#71330f;--security-banner-text-secondary:#8b471f;--security-banner-shadow:#a047151f;--readiness-card-border:#b171132e;--readiness-card-bg-start:#ffeccceb;--readiness-card-bg-end:#fffcf6f5;--readiness-card-bg-base:#fffcf6eb;--readiness-card-note:#745831;--points-summary-border:#112c2914;--points-summary-bg-start:#24524a1a;--points-summary-bg-end:#fffcf6eb;--points-summary-bg-base:#fffcf6e6;--points-summary-shadow:#112c2914;--points-summary-over-border:#b850353d;--points-summary-over-bg-start:#b850351f;--points-summary-over-bg-end:#fff5f0f2;--points-summary-bar-track:#24524a1f;--points-summary-overage:#b85035;--points-summary-metric-bg:#ffffff94;--points-summary-metric-positive-bg:#24524a14;--points-summary-metric-positive-text:#24524a;--points-summary-metric-negative-bg:#d978481f;--points-summary-metric-negative-text:#9b4b24;--points-summary-metric-neutral-bg:#112c290f;--weight-summary-bg-start:#24524a24;--weight-summary-bg-end:#fffcf6f5;--weight-summary-bg-base:#fffcf6eb;--weight-muted:#5d7a73;--weight-change-positive:#24524a;--weight-recap-section-bg:#24524a0f;--weight-milestone-track:#112c291f;--weight-milestone-stop-ring:#fff;--weight-milestone-stop-shadow:#112c2926;--weight-milestone-complete-bg:#6fa88f;--weight-milestone-complete-ring:#edf7f1;--weight-milestone-complete-shadow:#4880662e;--weight-milestone-next-bg:#d97848;--weight-milestone-future-bg:#24524a2e;--weight-milestone-future-ring:#fffcf6eb;--weight-milestone-marker-bg:#f4efe2;--weight-milestone-marker-ring:#24524a;--weight-milestone-marker-shadow:#112c2929;--weight-milestone-item-bg:#24524a0f;--weight-milestone-item-complete-bg:#6fa88f24;--weight-milestone-item-complete-border:#6fa88f42;--weight-milestone-item-complete-text:#2f6a52;--weight-milestone-item-next-bg:#d9784814;--weight-budget-badge-bg:#6fa88f29;--weight-budget-badge-text:#2f6a52;--weight-projection-line:#d97848;--weight-projection-band:#d9784824;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--color-text);background:radial-gradient(circle at top right, var(--color-bg-radial-warm), transparent 30%), radial-gradient(circle at top left, var(--color-bg-radial-cool), transparent 24%), var(--color-bg);font-family:IBM Plex Sans,Segoe UI,sans-serif;font-weight:400;line-height:1.5}:root[data-theme=dark]{--color-text:#e4efe9;--color-muted:#a9beb7;--color-bg:#101815;--color-bg-radial-warm:#d9784824;--color-bg-radial-cool:#24524a3d;--color-surface:#182421e6;--color-surface-strong:#1b2824f5;--color-border:#e4efe924;--color-shadow:#0000004d;--color-accent:#6fa88f;--color-accent-strong:#8dc2ab;--color-highlight:#ef9a63;--color-highlight-strong:#efb287;--color-surface-contrast:#dbe7e1;--label-text:#b4c9c1;--input-border:#e4efe938;--input-bg:#202e2ae6;--toggle-track-off:#e4efe93d;--toggle-track-on:linear-gradient(135deg, var(--color-accent), var(--color-accent-strong));--toggle-track-disabled:#e4efe921;--toggle-thumb:#f4efe2;--toggle-thumb-disabled:#f4efe2bf;--toggle-shadow:#0000005c;--toggle-focus-ring:color-mix(in srgb, var(--color-highlight-strong) 55%, transparent);--chip-bg:#6fa88f33;--chip-text:#bce0d0;--pill-bg:#e4efe91f;--pill-text:#c8ddd5;--button-bg:#6fa88f;--button-text:#0f1714;--button-secondary-bg:#e4efe924;--button-secondary-text:#d2e4dd;--button-danger-bg:#c96c4f;--button-danger-text:#180f0c;--text-button:#bce0d0;--panel-muted:#a9beb7;--code-bg:#e4efe91a;--icon-bg:#e4efe924;--icon-text:#bce0d0;--barcode-viewport-bg:#31433f;--barcode-frame-border:#dbe7e1b8;--barcode-frame-overlay:#00000057;--barcode-indicator-text:#e8f1ed;--barcode-indicator-bg:#0a110fbd;--barcode-dot-idle:#e4efe97a;--barcode-dot-active:#8df0c8;--barcode-pulse-start:#8df0c88c;--barcode-pulse-end:#8df0c800;--entry-item-bg:#e4efe914;--entry-kind-meal-bg:#6fa88f3d;--meal-section-bg:#e4efe914;--error-text:#f0be9f;--overlay-backdrop:#03070685;--bottom-sheet-bg:#182421fa;--bottom-sheet-shadow:#00000073;--sheet-handle:#8dc2ab66;--drawer-bg:#182421fa;--drawer-shadow:#0000005c;--drawer-item:#d8e6e0;--drawer-item-secondary:#adc4bc;--drawer-item-active-bg:#6fa88f38;--drawer-item-active-text:#d8e6e0;--drawer-separator:#e4efe929;--toast-text:#e9f2ee;--toast-shadow:#00000061;--toast-success-bg:#3f6758;--toast-error-bg:#8e4d38;--sync-chip-text:#d8e6e0;--sync-chip-bg:#e4efe91f;--sync-chip-dot-offline:#ef9a63;--sync-chip-dot-syncing:#efb287;--sync-chip-dot-synced:#8dc2ab;--sync-chip-dot-failed:#f0be9f;--points-summary-fill-start:#ef9a63;--points-summary-fill-end:#efb287;--stat-emphasis-start:#3f6758;--stat-emphasis-end:#4f7f6d;--stat-emphasis-text:#e9f2ee;--weight-graph-bg:linear-gradient(180deg, #6fa88f24, #121b18f2);--weight-graph-grid:#e4efe933;--weight-graph-axis:#e4efe957;--weight-graph-axis-label:#a9beb7;--weight-graph-guide-completed:#6fa88f73;--weight-graph-guide-next:#ef9a6373;--weight-graph-guide-label-completed:#8dc2ab;--weight-graph-guide-label-next:#efb287;--weight-graph-line:#8dc2ab;--weight-graph-point:#ef9a63;--weight-graph-point-latest:#6fa88f;--weight-graph-point-ring:#0f1714;--weight-graph-point-milestone-ring:#ef9a63;--weight-graph-tooltip-bg:#16211ef7;--weight-graph-tooltip-border:#e4efe929;--weight-graph-tooltip-shadow:#0006;--weight-graph-tooltip-text:#a9beb7;--security-banner-border:#ef9a6366;--security-banner-bg-start:#4d2812eb;--security-banner-bg-end:#341b0eeb;--security-banner-text:#ffd5bd;--security-banner-text-secondary:#f0be9f;--security-banner-shadow:#00000052;--readiness-card-border:#ef9a634d;--readiness-card-bg-start:#4d34188c;--readiness-card-bg-end:#1c2723f5;--readiness-card-bg-base:#1f2b27f5;--readiness-card-note:#d8b995;--points-summary-border:#e4efe924;--points-summary-bg-start:#6fa88f2e;--points-summary-bg-end:#16211ef5;--points-summary-bg-base:#182421f5;--points-summary-shadow:#0000004d;--points-summary-over-border:#ef9a6361;--points-summary-over-bg-start:#b8503547;--points-summary-over-bg-end:#281a16f0;--points-summary-bar-track:#e4efe929;--points-summary-overage:#efb287;--points-summary-metric-bg:#e4efe914;--points-summary-metric-positive-bg:#6fa88f2e;--points-summary-metric-positive-text:#8dc2ab;--points-summary-metric-negative-bg:#ef9a6333;--points-summary-metric-negative-text:#f0be9f;--points-summary-metric-neutral-bg:#e4efe91a;--weight-summary-bg-start:#6fa88f38;--weight-summary-bg-end:#16211ef5;--weight-summary-bg-base:#182421f5;--weight-muted:#a9beb7;--weight-change-positive:#8dc2ab;--weight-recap-section-bg:#e4efe914;--weight-milestone-track:#e4efe929;--weight-milestone-stop-ring:#0f1714;--weight-milestone-stop-shadow:#00000057;--weight-milestone-complete-bg:#6fa88f;--weight-milestone-complete-ring:#8dc2ab47;--weight-milestone-complete-shadow:#0000004d;--weight-milestone-next-bg:#ef9a63;--weight-milestone-future-bg:#e4efe92e;--weight-milestone-future-ring:#182421f5;--weight-milestone-marker-bg:#182421;--weight-milestone-marker-ring:#8dc2ab;--weight-milestone-marker-shadow:#00000057;--weight-milestone-item-bg:#e4efe914;--weight-milestone-item-complete-bg:#6fa88f38;--weight-milestone-item-complete-border:#8dc2ab4d;--weight-milestone-item-complete-text:#bce0d0;--weight-milestone-item-next-bg:#ef9a6329;--weight-budget-badge-bg:#6fa88f3d;--weight-budget-badge-text:#bce0d0;--weight-projection-line:#ef9a63;--weight-projection-band:#ef9a6329;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{overscroll-behavior-x:none;overflow-x:hidden}body{overscroll-behavior-x:none;background:0 0;min-height:100vh;margin:0;overflow-x:hidden}button,input,select,textarea{font:inherit}#root{overscroll-behavior-x:none;min-height:100vh;overflow-x:hidden}.app-shell{overscroll-behavior-x:none;flex-direction:column;min-height:100vh;display:flex;overflow-x:hidden}.app-shell__header{justify-content:flex-start;align-items:center;gap:1rem;padding:.9rem 1rem .75rem;display:flex}.app-shell__title{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;margin:0;padding:0;font-size:clamp(1.05rem,4vw,1.2rem);font-weight:600;line-height:1.2}.app-shell__content{overscroll-behavior-x:none;flex:1;padding:0 1rem 1.5rem;overflow-x:hidden}.app-shell__header-actions{align-items:center;gap:.6rem;display:flex}.sync-status-chip{background:var(--sync-chip-bg);color:var(--sync-chip-text);white-space:nowrap;border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .6rem;font-size:.78rem;font-weight:600;display:inline-flex}.sync-status-chip__dot{border-radius:999px;flex-shrink:0;width:.5rem;height:.5rem}.sync-status-chip--offline .sync-status-chip__dot{background:var(--sync-chip-dot-offline)}.sync-status-chip--syncing .sync-status-chip__dot{background:var(--sync-chip-dot-syncing)}.sync-status-chip--synced .sync-status-chip__dot{background:var(--sync-chip-dot-synced)}.sync-status-chip--failed .sync-status-chip__dot{background:var(--sync-chip-dot-failed)}.sync-status-chip--live .sync-status-chip__dot{background:var(--sync-chip-dot-synced)}.sync-status-chip--cached_revalidating .sync-status-chip__dot{background:var(--sync-chip-dot-syncing)}.sync-status-chip--cached_offline .sync-status-chip__dot{background:var(--sync-chip-dot-offline)}.auth-shell{justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.auth-shell__content{flex-direction:column;gap:1rem;width:min(100%,24rem);display:flex}.auth-card{width:100%}.auth-card__title{margin:0;font-size:1.4rem}.auth-card__subtitle{color:var(--color-muted);margin:.35rem 0 1rem}.screen{flex-direction:column;gap:1rem;display:flex}.day-nav{grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;display:grid}.day-nav__side{align-items:center;display:flex}.day-nav__side--left{justify-content:flex-start}.day-nav__side--right{justify-content:flex-end;min-width:2.6rem}.day-nav__center{flex-direction:column;align-items:center;gap:.35rem;min-width:0;display:flex}.day-nav__controls{justify-content:center;align-items:center;gap:.55rem;width:100%;display:flex}.day-nav__input{text-align:center;width:min(100%,14rem)}.day-nav__today-button{flex-shrink:0}.security-warning-banner{border:1px solid var(--security-banner-border);background:linear-gradient(135deg, var(--security-banner-bg-start), var(--security-banner-bg-end));color:var(--security-banner-text);box-shadow:0 10px 22px var(--security-banner-shadow);border-radius:1rem;margin:0 0 1rem;padding:.95rem 1rem}.security-warning-banner__header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.auth-shell .security-warning-banner{margin:0}.security-warning-banner__title{margin-bottom:.2rem;font-size:.98rem;display:block}.security-warning-banner__description{color:var(--security-banner-text-secondary);margin:0 0 .55rem;padding-top:.55rem}.security-warning-banner__list{margin:0;padding-left:1.15rem}.security-warning-banner__list li+li{margin-top:.25rem}.security-warning-banner__toggle{color:var(--security-banner-text);flex-shrink:0}.panel,.stat-card{border:1px solid var(--color-border);background:var(--color-surface);box-shadow:0 10px 24px var(--color-shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:1.25rem}.panel{padding:1rem}.section-header{justify-content:space-between;align-items:flex-start;gap:.8rem;margin-bottom:.65rem;display:flex}.section-header h2{margin:0;font-size:1.15rem}.section-header p{color:var(--color-muted);margin:.3rem 0 0}.section-header__actions,.section-header__action-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.streak-summary-chip{border:1px solid var(--color-border);background:var(--color-surface);color:inherit;box-shadow:0 6px 16px var(--color-shadow);border-radius:999px;align-items:baseline;gap:.45rem;padding:.35rem .7rem;display:inline-flex}.streak-summary-chip--attention{border-color:color-mix(in srgb, var(--weight-budget-badge-text) 38%, var(--color-border));background:color-mix(in srgb, var(--weight-budget-badge-bg) 80%, var(--color-surface))}.streak-summary-chip__label,.streak-summary-chip__value{margin:0}.streak-summary-chip__label{color:var(--color-muted);font-size:.82rem}.streak-summary-chip__value{font-size:.92rem}.readiness-card{border-color:var(--readiness-card-border);background:linear-gradient(135deg, var(--readiness-card-bg-start), var(--readiness-card-bg-end)), var(--readiness-card-bg-base)}.readiness-card__header{justify-content:space-between;align-items:flex-start;gap:.8rem;display:flex}.readiness-card__header h3{margin:0;font-size:1rem}.readiness-card__header p{margin:.3rem 0 0}.readiness-card__details{margin-top:.5rem}.readiness-card__list{margin:0;padding-left:1rem}.readiness-card__note{color:var(--readiness-card-note);margin:0}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.points-summary{border:1px solid var(--points-summary-border);background:linear-gradient(135deg, var(--points-summary-bg-start), var(--points-summary-bg-end)), var(--points-summary-bg-base);box-shadow:0 12px 28px var(--points-summary-shadow);border-radius:1.25rem;padding:1rem}.points-summary--over{border-color:var(--points-summary-over-border);background:linear-gradient(135deg, var(--points-summary-over-bg-start), var(--points-summary-over-bg-end)), var(--points-summary-bg-base)}.points-summary__headline-row{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.points-summary__eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted);font-size:.78rem;display:block}.points-summary__headline{margin-top:.2rem;font-size:clamp(1.6rem,6vw,2.2rem);line-height:1.05;display:block}.points-summary__subline{color:var(--color-muted);margin:.35rem 0 0}.points-summary__used-block{text-align:right;flex-direction:column;align-items:flex-end;display:flex}.points-summary__used-label,.points-summary__metric-label{text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.points-summary__used-value{font-size:1.15rem}.points-summary__bar{margin-top:1rem}.points-summary__bar-track{background:var(--points-summary-bar-track);border-radius:999px;width:100%;height:.9rem;overflow:hidden}.points-summary__bar-fill{background:linear-gradient(90deg, var(--points-summary-fill-start), var(--points-summary-fill-end));border-radius:999px;height:100%}.points-summary__overage{color:var(--points-summary-overage);margin:.55rem 0 0;font-weight:600}.points-summary__breakdown{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-top:1rem;display:grid}.points-summary__metric{background:var(--points-summary-metric-bg);border-radius:1rem;padding:.8rem .85rem}.points-summary__metric--positive{background:var(--points-summary-metric-positive-bg);color:var(--points-summary-metric-positive-text)}.points-summary__metric--negative{background:var(--points-summary-metric-negative-bg);color:var(--points-summary-metric-negative-text)}.points-summary__metric--neutral{background:var(--points-summary-metric-neutral-bg)}.points-summary__metric-value{margin-top:.2rem;font-size:1.15rem;display:block}.stat-card{padding:1rem}.stat-card--emphasis{background:linear-gradient(135deg, var(--stat-emphasis-start), var(--stat-emphasis-end));color:var(--stat-emphasis-text)}.stat-card__label{text-transform:uppercase;letter-spacing:.08em;font-size:.82rem;display:block}.stat-card__value{margin-top:.3rem;font-size:1.7rem;display:block}.muted-text{color:var(--panel-muted);margin:0}.food-quantity-form__header{justify-content:space-between;align-items:flex-start;gap:.8rem;display:flex}.food-quantity-form__title-block{flex:1;min-width:0}.food-quantity-form__title-block h3{margin:0}.food-quantity-form__title-block .muted{display:block}.food-quantity-form__preview{text-align:right;flex-shrink:0;margin:0;font-size:1.17em;font-weight:700;line-height:1.2}.food-quantity-form__weighing-action{width:100%}.api-key-form{align-items:end}.api-keys-section,.settings-data-export,.settings-data-import{margin-top:0}.settings-sync-center{margin:0}.settings-sync-center--attention{border-color:var(--error-text);background:linear-gradient(135deg, color-mix(in srgb, var(--error-text) 10%, transparent), transparent 55%), var(--color-surface)}.settings-sync-center__status{color:var(--panel-muted);margin:0}.settings-sync-center__status--attention{color:var(--error-text);font-weight:600}.api-key-secret{gap:.6rem}.api-key-secret p{color:var(--panel-muted);margin:.3rem 0 0}.api-key-secret code{overflow-wrap:anywhere;background:var(--code-bg);border-radius:.9rem;padding:.75rem .9rem;display:block}.form-stack{flex-direction:column;gap:.8rem;display:flex}.form-grid{gap:.8rem;display:grid}.copy-food-logs__source-details summary{cursor:pointer;font-weight:600}.copy-food-logs__source-details .form-grid{margin-top:.7rem}.food-maintenance-disclosure{margin-top:.2rem}.food-maintenance-disclosure__summary{cursor:pointer;font-weight:600;list-style:none}.food-maintenance-disclosure__summary::-webkit-details-marker{display:none}.food-maintenance-disclosure__summary:before{content:"▸";margin-right:.45rem;transition:transform .14s;display:inline-block}.food-maintenance-disclosure[open] .food-maintenance-disclosure__summary:before{transform:rotate(90deg)}.food-maintenance-disclosure__body{margin-top:.8rem}label{color:var(--label-text);flex-direction:column;gap:.35rem;display:flex}input,select{border:1px solid var(--input-border);background:var(--input-bg);border-radius:.9rem;padding:.8rem .9rem}.form-grid--nested{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr))}.form-grid--nested label{min-width:0}.form-grid--nested input[type=number]{appearance:textfield;width:100%;min-width:0;padding-right:.9rem}.form-grid--nested input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.form-grid--nested input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.settings-checkbox{flex-direction:row;justify-content:space-between;align-items:center;gap:.75rem;font-weight:500;display:flex}.settings-checkbox>:not(input[type=checkbox]){flex:1;min-width:0}.settings-actions{flex-wrap:wrap;gap:.6rem;display:flex}.notifications-settings{gap:.75rem}.notifications-toggle-list{flex-direction:column;gap:.6rem;display:flex}.notifications-toggle-row{width:100%}.notifications-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.notifications-summary{flex-direction:column;gap:.35rem;display:flex}.pill-group{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.pill,.button,.icon-button{cursor:pointer;border:0}.pill,.button{padding:.8rem 1rem}.icon-button{background:var(--icon-bg);width:2.6rem;height:2.6rem;color:var(--icon-text);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.icon-button--menu{flex-direction:column;gap:.18rem;margin-left:-.45rem}.icon-button:disabled{opacity:.5;cursor:default}.icon-button--menu span{background:currentColor;border-radius:999px;width:1rem;height:2px;display:block}.icon-button__close{font-size:1.1rem;font-weight:600;line-height:1}.pill{background:var(--pill-bg);color:var(--pill-text);border-radius:999px}.pill--active,.button{background:var(--button-bg);color:var(--button-text);border-radius:999px}.button--secondary{background:var(--button-secondary-bg);color:var(--button-secondary-text)}.button--danger{background:var(--button-danger-bg);color:var(--button-danger-text)}.button--small{padding:.55rem .8rem}.text-button{color:var(--text-button);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.sheet-actions{flex-wrap:wrap;gap:.7rem;display:flex}.recent-meal-type-row{flex-wrap:wrap;gap:.5rem;display:flex}.recent-meal-type-row__button--active{background:var(--button-bg);color:var(--button-text)}.barcode-scanner__viewport{background:var(--barcode-viewport-bg);border-radius:.9rem;width:100%;max-height:min(34vh,16rem);position:relative;overflow:hidden}.barcode-scanner__video{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.barcode-scanner__frame{border:2px solid var(--barcode-frame-border);box-shadow:0 0 0 100vmax var(--barcode-frame-overlay);pointer-events:none;border-radius:.8rem;position:absolute;inset:26% 12%}.barcode-scanner__indicator{color:var(--barcode-indicator-text);background:var(--barcode-indicator-bg);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border-radius:999px;align-items:center;gap:.45rem;padding:.4rem .7rem;font-size:.85rem;display:inline-flex;position:absolute;bottom:.7rem;left:.7rem;right:.7rem}.barcode-scanner__indicator-dot{background:var(--barcode-dot-idle);border-radius:999px;width:.55rem;height:.55rem}.barcode-scanner__indicator-dot--active{background:var(--barcode-dot-active);animation:1.2s ease-in-out infinite barcode-scanner-pulse}@keyframes barcode-scanner-pulse{0%,to{box-shadow:0 0 0 0 var(--barcode-pulse-start)}50%{box-shadow:0 0 0 .28rem var(--barcode-pulse-end)}}.muted{color:var(--panel-muted)}.food-serving-row{align-items:end}.checkbox-row{flex-direction:row;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.checkbox-row>:not(input[type=checkbox]){flex:1;min-width:0}input[type=checkbox]{appearance:none;background:var(--toggle-track-off);width:2.7rem;height:1.55rem;box-shadow:inset 0 0 0 1px var(--input-border);cursor:pointer;border:0;border-radius:999px;flex:none;margin:0 0 0 auto;padding:0;transition:background .14s,box-shadow .14s;position:relative}input[type=checkbox]:before{content:"";background:var(--toggle-thumb);width:1.2rem;height:1.2rem;box-shadow:0 1px 3px var(--toggle-shadow);border-radius:50%;transition:transform .14s,background .14s;position:absolute;top:.17rem;left:.17rem}input[type=checkbox]:checked{background:var(--toggle-track-on);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-accent-strong) 72%, transparent)}input[type=checkbox]:checked:before{transform:translate(1.15rem)}input[type=checkbox]:focus-visible{box-shadow:0 0 0 3px var(--toggle-focus-ring), inset 0 0 0 1px color-mix(in srgb, var(--color-accent-strong) 72%, transparent)}input[type=checkbox]:disabled{background:var(--toggle-track-disabled);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--input-border) 70%, transparent);cursor:not-allowed}input[type=checkbox]:disabled:before{background:var(--toggle-thumb-disabled)}.entry-list{flex-direction:column;gap:.7rem;margin:0;padding:0;list-style:none;display:flex}.entry-list+.entry-list{margin-top:.7rem}.virtual-entry-list{width:100%;position:relative}.virtual-entry-list__scroller{max-height:min(42rem,68vh);overflow:auto}.virtual-entry-list__row{width:100%;padding-bottom:.7rem;list-style:none;position:absolute;top:0;left:0}.entry-list__item{background:var(--entry-item-bg);border-radius:1rem;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem;display:flex}.entry-list__item>*{min-width:0}.entry-list__item strong,.empty-state strong{overflow-wrap:anywhere;display:block}.entry-list__title-row{align-items:center;gap:.5rem;display:flex}.entry-list__item p,.empty-state p{color:var(--panel-muted);overflow-wrap:anywhere;margin:.15rem 0 0}.drink-list{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.5rem;display:grid}.drink-row{border:1px solid var(--panel-border);background:var(--entry-item-bg);border-radius:.9rem;flex-direction:column;gap:.45rem;min-width:0;padding:.65rem;display:flex}.drink-row__summary{justify-content:space-between;align-items:baseline;gap:.6rem;display:flex}.drink-row__summary strong{min-width:0}.drink-row__summary span{color:var(--panel-muted);white-space:nowrap;text-align:right;font-size:.9rem}.drink-row__custom-button{text-align:center;flex:auto;min-width:0;font-size:.82rem}.drink-row__actions{flex-wrap:wrap;gap:.3rem;display:flex}.drink-list__hidden{margin-top:.35rem}.drink-list__toggle{padding:0;font-size:.88rem}.drink-list__hidden .drink-list{margin-top:.25rem}@media (width>=900px){.drink-list{grid-template-columns:repeat(3,minmax(0,1fr))}}.segmented-control{border:0;gap:.6rem;margin:0;padding:0;display:flex}.segmented-control legend{margin-bottom:.45rem;font-size:.95rem;font-weight:600}.segmented-control__option{align-items:center;gap:.4rem;display:inline-flex}.entry-kind-pill{letter-spacing:.02em;background:var(--chip-bg);color:var(--chip-text);border-radius:999px;align-items:center;padding:.15rem .5rem;font-size:.72rem;font-weight:600;display:inline-flex}.entry-kind-pill--meal{background:var(--entry-kind-meal-bg)}.entry-kind-pill--source{text-transform:uppercase;letter-spacing:.05em;font-size:.66rem}.entry-kind-pill--source-cofid{background:color-mix(in srgb, var(--color-highlight) 22%, transparent)}.entry-kind-pill--source-alcohol_reference{background:color-mix(in srgb, var(--color-highlight-strong) 26%, transparent)}.entry-kind-pill--source-open_food_facts{background:color-mix(in srgb, var(--color-accent) 18%, transparent)}.entry-kind-pill--incomplete{background:color-mix(in srgb, var(--color-highlight) 18%, transparent);color:color-mix(in srgb, var(--color-highlight) 70%, var(--color-text))}.entry-list__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.7rem;display:flex}.pill-row{flex-wrap:wrap;gap:.55rem;display:flex}.recipe-view,.recipe-view__columns,.recipe-view__column{gap:1rem;display:grid}.recipe-view__meta{color:var(--color-muted);margin:0 0 .4rem}.recipe-view__ingredient-list{flex-direction:column;gap:.8rem;margin:.85rem 0 0;padding:0;list-style:none;display:flex}.recipe-view__ingredient{border-bottom:1px solid color-mix(in srgb, var(--color-border) 80%, transparent);justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:.8rem;display:flex}.recipe-view__ingredient:last-child{border-bottom:0;padding-bottom:0}.recipe-view__ingredient p,.recipe-view__storage-row p{margin:.2rem 0 0}.recipe-view__markdown>:first-child,.recipe-view__storage-row:first-of-type{margin-top:0}.recipe-view__markdown>:last-child,.recipe-view__storage-row:last-of-type{margin-bottom:0}.recipe-view__steps{gap:.9rem;margin:.85rem 0 0;padding:0;list-style:none;display:grid}.recipe-view__step{border-bottom:1px solid color-mix(in srgb, var(--color-border) 80%, transparent);padding-bottom:.9rem}.recipe-view__step:last-child{border-bottom:0;padding-bottom:0}.recipe-view__step-header{gap:.45rem;margin-bottom:.45rem;display:grid}.recipe-view__step>:last-child{margin-bottom:0}.recipe-view-actions{bottom:calc(var(--app-shell-bottom-offset) + .75rem);border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 92%, white);box-shadow:0 12px 28px var(--color-shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:1.25rem;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding:1rem;display:flex;position:sticky}.recipe-view-actions__buttons{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.food-database-filters{margin-bottom:.85rem}.food-database-entry{padding:1rem}.weight-summary-card{background:linear-gradient(145deg, var(--weight-summary-bg-start), var(--weight-summary-bg-end)), var(--weight-summary-bg-base)}.weight-summary-card__eyebrow,.weight-review-card__eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--weight-muted);margin:0 0 .35rem;font-size:.78rem}.weight-summary-card__headline-row,.weight-review-card__header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.weight-summary-card__headline{font-size:clamp(1.8rem,7vw,2.6rem);line-height:1;display:block}.weight-summary-card__meta,.weight-summary-card__message,.weight-review-card__body,.weight-milestones__item p,.weight-graph__empty{color:var(--weight-muted);margin:.35rem 0 0}.weight-summary-card__change{text-align:right;min-width:6rem}.weight-summary-card__change span,.weight-summary-card__progress span{color:var(--weight-muted);font-size:.82rem;display:block}.weight-summary-card__change strong{font-size:1.1rem}.weight-summary-card__change--positive strong{color:var(--weight-change-positive)}.weight-summary-card__progress,.weight-review-card__metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:.9rem;display:grid}.weight-summary-card__progress strong,.weight-review-card__metrics span{display:block}.weight-budget-explanation{gap:.9rem;display:grid}.weight-budget-explanation--section{background:var(--weight-recap-section-bg);border-radius:1rem;padding:.9rem 1rem}.weight-budget-explanation__eyebrow,.weight-budget-explanation__message,.weight-budget-explanation__note,.weight-budget-explanation__delta,.weight-budget-explanation__meta{margin:0}.weight-budget-explanation__eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--weight-muted);font-size:.78rem}.weight-budget-explanation__header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.weight-budget-explanation__body{min-width:0}.weight-budget-explanation__headline{font-size:1.1rem;display:block}.weight-budget-explanation__message{color:var(--weight-muted);margin-top:.35rem}.weight-budget-explanation__note,.weight-budget-explanation__delta{color:var(--weight-muted)}.weight-budget-explanation__note{margin-top:.65rem}.weight-budget-explanation__override{background:var(--weight-recap-section-bg);border-radius:.85rem;margin-top:.75rem;padding:.75rem .9rem}.weight-budget-explanation__override strong,.weight-budget-explanation__override p{margin:0}.weight-budget-explanation__override p{color:var(--weight-muted);margin-top:.35rem}.weight-budget-explanation__override--section{padding:.65rem .8rem}.weight-budget-explanation__delta{background:var(--weight-recap-section-bg);border-radius:.85rem;padding:.75rem .9rem}.weight-budget-explanation__metrics{text-align:right;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1rem;min-width:12rem;display:grid}.weight-budget-explanation__metrics span,.weight-budget-explanation__meta{color:var(--weight-muted);font-size:.82rem}.weight-budget-explanation__metrics strong{display:block}.weight-budget-explanation__meta{flex-wrap:wrap;gap:.5rem 1rem;display:flex}.weight-budget-timeline{margin-top:1rem}.weight-budget-timeline__header{margin-bottom:0}.weight-budget-timeline__list{gap:.85rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.weight-budget-timeline__item{background:var(--weight-recap-section-bg);border-radius:1rem;padding:.9rem 1rem}.weight-budget-timeline__row{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.weight-budget-timeline__row strong,.weight-budget-timeline__row p,.weight-budget-timeline__reason,.weight-budget-timeline__meta{margin:0}.weight-budget-timeline__row p,.weight-budget-timeline__reason,.weight-budget-timeline__meta,.weight-budget-timeline__change span{color:var(--weight-muted)}.weight-budget-timeline__change{text-align:right;flex-wrap:wrap;justify-content:flex-end;align-items:baseline;gap:.35rem;display:flex}.weight-budget-timeline__change span,.weight-budget-timeline__meta{font-size:.82rem}.weight-budget-timeline__reason{margin-top:.5rem}.weight-budget-timeline__meta+.weight-budget-timeline__meta{margin-top:.25rem}.streaks-panel__eyebrow,.streak-card__rule,.streak-card__count span{margin:0}.streaks-panel__eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--weight-muted);font-size:.78rem}.streaks-panel__grid{gap:.85rem;margin-top:.9rem;display:grid}.streaks-panel__grid--compact{margin-top:.75rem}.streak-card{background:var(--weight-recap-section-bg);border-radius:1rem;gap:.75rem;padding:.9rem 1rem;display:grid}.streak-card__header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.streak-card__title{display:block}.streak-card__rule,.streak-card__count span{color:var(--weight-muted);font-size:.82rem}.streak-card__rule{margin-top:.3rem}.streak-card__count{text-align:right}.streak-card__count strong{font-size:1.25rem;display:block}.streak-card__trail{grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem;display:grid}.streak-card__trail-dot{background:color-mix(in srgb, var(--border-color) 70%, transparent);border:1px solid color-mix(in srgb, var(--border-color) 85%, transparent);border-radius:999px;width:100%;min-height:.7rem}.streak-card__trail-dot--complete{background:var(--weight-budget-badge-bg);border-color:color-mix(in srgb, var(--weight-budget-badge-text) 45%, transparent)}.streak-card__trail-dot--current{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 18%, transparent)}.weight-recap{flex-direction:column;gap:.9rem;display:flex}.weight-recap__header h3,.weight-recap__eyebrow,.weight-recap__meta,.weight-recap__count,.weight-recap__section-title,.weight-recap__message,.weight-recap__stats p,.weight-recap__stats span,.weight-recap__milestones span{margin:0}.weight-recap__eyebrow,.weight-recap__section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--weight-muted);font-size:.78rem}.weight-recap__header h3{font-size:clamp(1.7rem,7vw,2.4rem);line-height:1}.weight-recap__meta,.weight-recap__count,.weight-recap__message,.weight-recap__stats p,.weight-recap__milestones span{color:var(--weight-muted)}.weight-recap__section{background:var(--weight-recap-section-bg);border-radius:1rem;padding:.9rem 1rem}.weight-recap__stats{grid-template-columns:minmax(0,1fr) max-content;gap:.8rem;display:grid}.weight-recap__stats-panel{min-width:0}.weight-recap__stats-panel--progress{text-align:right;justify-self:end;width:max-content}.weight-recap__stats strong{font-size:1.1rem;display:block}.weight-recap__milestones{flex-direction:column;gap:.55rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.weight-recap__milestones li{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.weight-review-card__points{font-size:1.3rem}.weight-milestones{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.weight-milestones__header h2,.weight-milestones__header p{margin:0}.weight-milestones__subtitle{color:var(--weight-muted);margin-top:.3rem}.weight-milestones__track{height:3.6rem;margin:1rem 0 1.1rem;position:relative;overflow:visible}.weight-milestones__track-line{background:var(--weight-milestone-track);border-radius:999px;height:.35rem;position:absolute;top:1.4rem;left:0;right:0}.weight-milestones__stop,.weight-milestones__marker{position:absolute;transform:translate(-50%)}.weight-milestones__stop{border:3px solid var(--weight-milestone-stop-ring);width:.9rem;height:.9rem;box-shadow:0 6px 16px var(--weight-milestone-stop-shadow);z-index:1;border-radius:50%;top:1.575rem;transform:translate(-50%,-50%)}.weight-milestones__stop--complete{background:var(--weight-milestone-complete-bg);border-color:var(--weight-milestone-complete-ring);box-shadow:0 6px 16px var(--weight-milestone-complete-shadow)}.weight-milestones__stop--next{background:var(--weight-milestone-next-bg)}.weight-milestones__stop--future{background:var(--weight-milestone-future-bg);border-color:var(--weight-milestone-future-ring);width:.75rem;height:.75rem;box-shadow:none}.weight-milestones__marker{z-index:2;justify-content:center;align-items:center;display:flex;top:1.575rem;transform:translate(-50%,-50%)}.weight-milestones__marker:before{content:"";background:var(--weight-milestone-marker-bg);border:3px solid var(--weight-milestone-marker-ring);width:1rem;height:1rem;box-shadow:0 4px 10px var(--weight-milestone-marker-shadow);border-radius:50%;display:block}.weight-milestones__item{background:var(--weight-milestone-item-bg);border-radius:1rem;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem .9rem;display:flex}.weight-milestones__item--complete{background:var(--weight-milestone-item-complete-bg);border:1px solid var(--weight-milestone-item-complete-border)}.weight-milestones__item--complete strong,.weight-milestones__item--complete span{color:var(--weight-milestone-item-complete-text)}.weight-milestones__item--next{background:var(--weight-milestone-item-next-bg)}.weight-milestones__item strong,.weight-milestones__item p{margin:0}.weight-milestones__empty{color:var(--weight-muted);margin:.4rem 0 0}.weight-budget-change-badge{background:var(--weight-budget-badge-bg);color:var(--weight-budget-badge-text);border-radius:999px;margin:.35rem 0 0;padding:.22rem .55rem;font-size:.78rem;font-weight:600;display:inline-block}.weight-graph{background:var(--weight-graph-bg);border-radius:1rem;width:100%;height:auto}.weight-graph-wrap{position:relative}.weight-graph__axis,.weight-graph__gridline{stroke:var(--weight-graph-grid);stroke-width:1px}.weight-graph__axis{stroke:var(--weight-graph-axis)}.weight-graph__axis-label{fill:var(--weight-graph-axis-label);font-size:5px}.weight-graph__axis-label--y{text-anchor:end}.weight-graph__axis-label--x{text-anchor:middle}.weight-graph__guide{stroke-width:1px;stroke-dasharray:3 3}.weight-graph__guide--completed{stroke:var(--weight-graph-guide-completed)}.weight-graph__guide--next{stroke:var(--weight-graph-guide-next)}.weight-graph__guide-label{text-anchor:start;font-size:5px}.weight-graph__guide-label--completed{fill:var(--weight-graph-guide-label-completed)}.weight-graph__guide-label--next{fill:var(--weight-graph-guide-label-next)}.weight-graph__line{fill:none;stroke:var(--weight-graph-line);stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round}.weight-graph__trendline{fill:none;stroke:var(--weight-graph-guide-next);stroke-width:1.5px;stroke-dasharray:4 3;stroke-linecap:round}.weight-graph__projection-band{fill:var(--weight-projection-band);stroke:none}.weight-graph__projection{fill:none;stroke:var(--weight-projection-line);stroke-width:1.6px;stroke-dasharray:5 3;stroke-linecap:round}.weight-graph__point{fill:var(--weight-graph-point);stroke:var(--weight-graph-point-ring);stroke-width:1.25px}.weight-graph__point--latest{fill:var(--weight-graph-point-latest)}.weight-graph__point--milestone{stroke:var(--weight-graph-point-milestone-ring);stroke-width:2px}.weight-graph__tooltip{z-index:1;border:1px solid var(--weight-graph-tooltip-border);background:var(--weight-graph-tooltip-bg);min-width:8.5rem;max-width:12rem;box-shadow:0 10px 24px var(--weight-graph-tooltip-shadow);pointer-events:none;border-radius:.9rem;flex-direction:column;gap:.15rem;padding:.55rem .7rem;display:flex;position:absolute;transform:translate(-50%,calc(-100% - 12px))}.weight-graph__tooltip strong,.weight-graph__tooltip span{display:block}.weight-graph__tooltip span{color:var(--weight-graph-tooltip-text);font-size:.82rem}.weight-plateau-pill{background:var(--weight-budget-badge-bg);color:var(--weight-budget-badge-text);border-radius:999px;margin-top:.25rem;padding:.2rem .5rem;font-size:.75rem;display:inline-flex}@media (width<=640px){.entry-list__item{flex-direction:column;align-items:stretch;gap:.8rem}.entry-list__item.checkbox-row{flex-direction:row;align-items:center}.entry-list__actions{flex-direction:column;align-items:stretch;width:100%}.entry-list__actions .button{width:100%}.weight-summary-card__headline-row,.weight-review-card__header,.weight-milestones__item,.weight-budget-explanation__header,.weight-budget-timeline__row,.streak-card__header{flex-direction:column;align-items:flex-start}.weight-summary-card__change,.weight-budget-explanation__metrics,.weight-budget-timeline__change,.streak-card__count{text-align:left}.weight-budget-timeline__change{justify-content:flex-start}.weight-summary-card__progress,.weight-review-card__metrics,.weight-budget-explanation__metrics{grid-template-columns:1fr}.weight-milestones__track{overflow-x:clip}}.meal-sections{flex-direction:column;gap:1rem;display:flex}.meal-section{background:var(--meal-section-bg);border-radius:1rem;padding:.9rem}.meal-section__header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.8rem;display:flex}.meal-section__header h3{margin:0;font-size:1rem}.meal-section__header p{color:var(--panel-muted);margin:.2rem 0 0}.meal-section__empty{color:var(--panel-muted);padding:.4rem 0}.empty-state{padding:1rem 0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.error-text{color:var(--error-text)}.field-error{color:var(--error-text);margin:0;font-size:.9rem;font-weight:700}.overlay-backdrop{z-index:20;background:var(--overlay-backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);position:fixed;inset:0}.overlay-backdrop--drawer,.overlay-backdrop--sheet{opacity:0;transition:opacity .5s}.overlay-backdrop--visible{opacity:1}.bottom-sheet{left:.8rem;right:.8rem;bottom:max(.8rem, env(safe-area-inset-bottom));max-height:calc(100dvh - max(.8rem, env(safe-area-inset-top)) - max(.8rem, env(safe-area-inset-bottom)));background:var(--bottom-sheet-bg);box-shadow:0 20px 50px var(--bottom-sheet-shadow);opacity:0;border-radius:1.5rem 1.5rem 1rem 1rem;flex-direction:column;transition:opacity .5s;display:flex;position:absolute;overflow:hidden}.bottom-sheet--visible{opacity:1}.bottom-sheet__handle{background:var(--sheet-handle);border-radius:999px;width:3rem;height:.3rem;margin:.8rem auto 0}.bottom-sheet__header,.nav-drawer__header{justify-content:space-between;align-items:center;gap:.8rem;padding:.8rem 1rem;display:flex}.bottom-sheet__header h2,.nav-drawer__header h2{margin:0;font-size:1.05rem}.bottom-sheet__body{padding:0 1rem 1rem;overflow:auto}.bottom-sheet__body--food-picker{flex-direction:column;min-height:0;display:flex;overflow:hidden}.bottom-sheet--desktop-wide .bottom-sheet__body{padding:0 1.25rem 1.25rem}.recipe-form{min-height:0}.recipe-form__layout{gap:1rem;display:grid}.recipe-form__main{flex-direction:column;gap:1rem;display:flex}.recipe-form__section,.recipe-form__sidebar{flex-direction:column;gap:.85rem;display:flex}.recipe-form__section-header h3{margin:0}.recipe-form__section-header p{margin:.3rem 0 0}.recipe-form__grid{gap:.85rem;display:grid}.recipe-form__field{flex-direction:column;gap:.35rem;display:flex}.recipe-form__field--full{grid-column:1/-1}.recipe-form__ingredients-list{flex-direction:column;gap:.75rem;display:flex}.recipe-form__storage-step-group{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 88%, var(--color-bg));border-radius:.65rem;gap:.8rem;padding:.85rem;display:grid}.recipe-form__storage-step-group h4{margin:0}.recipe-form__ingredient-preparation{flex-direction:column;gap:.35rem;margin-top:.75rem;display:flex}.recipe-form__save{margin-top:auto}.recipe-steps{gap:.8rem;display:grid}.recipe-steps__item{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 88%, var(--color-bg));border-radius:.75rem;overflow:hidden}.recipe-steps__summary{cursor:pointer;padding:.85rem 1rem}.recipe-steps__summary>span{gap:.45rem;display:grid}.recipe-steps__body{gap:.85rem;padding:0 1rem 1rem;display:grid}.recipe-steps__chips{flex-wrap:wrap;gap:.4rem;display:flex}.recipe-steps__chip{border:1px solid color-mix(in srgb, var(--color-accent) 34%, var(--color-border));background:color-mix(in srgb, var(--color-accent) 12%, var(--color-surface));min-height:1.75rem;color:var(--color-text);border-radius:999px;align-items:center;padding:.2rem .55rem;font-size:.82rem;line-height:1.2;display:inline-flex}.recipe-steps__actions,.recipe-steps__action{gap:.75rem;display:grid}.recipe-steps__action{border:1px solid var(--color-border);background:var(--color-surface);border-radius:.65rem;padding:.85rem}.recipe-steps__action-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.recipe-steps__action-fields{gap:.75rem;display:grid}.recipe-steps__duration-field{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0;padding:0;display:grid}.recipe-steps__duration-field legend{grid-column:1/-1;padding:0;font-weight:700}.recipe-steps__action-field,.recipe-steps__toggle{flex-direction:column;gap:.35rem;display:flex}.recipe-steps__toggle{flex-direction:row;align-items:center;min-height:2.75rem}.recipe-steps__action-field--note{grid-column:1/-1}.step-body-field{flex-direction:column;gap:.4rem;display:flex}.step-body-field__header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.food-picker-sheet{flex-direction:column;flex:1;gap:.85rem;min-height:0;display:flex}.food-picker-sheet__controls{flex:none}.food-picker-sheet__results{flex:auto;min-height:0;padding-bottom:.25rem;overflow:auto}.nav-drawer{background:var(--drawer-bg);width:min(22rem,88vw);height:100%;box-shadow:12px 0 36px var(--drawer-shadow);opacity:0;padding:1rem;transition:opacity .5s;position:absolute;top:0;left:0}.nav-drawer--visible{opacity:1}.nav-drawer__nav{flex-direction:column;gap:.3rem;display:flex}.nav-drawer__item{color:var(--drawer-item);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:1rem;padding:.8rem .9rem;text-decoration:none}.nav-drawer__item--secondary{color:var(--drawer-item-secondary)}.nav-drawer__item--active{background:var(--drawer-item-active-bg);color:var(--drawer-item-active-text);font-weight:600}.nav-drawer__separator{background:var(--drawer-separator);height:1px;margin:.5rem 0}.toast{color:var(--toast-text);box-shadow:0 10px 18px var(--toast-shadow);border-radius:999px;padding:.8rem 1rem;position:fixed;bottom:1.2rem;left:50%;transform:translate(-50%)}.toast--success{background:var(--toast-success-bg)}.toast--error{background:var(--toast-error-bg)}.checkbox-field{align-items:center;gap:.5rem;display:flex}.chip-row{flex-wrap:wrap;gap:.5rem;display:flex}.checkbox-chip{border:1px solid var(--border-color,#d0d7de);background:#0f172a0a;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .6rem;display:inline-flex}.drink-settings-section__form+.drink-settings-section__list,.drink-settings-section__list+.drink-settings-section__form,.drink-settings-section__list+.drink-settings-section__list{margin-top:.9rem}.drink-settings-section__toggle-field{flex-direction:column;align-items:flex-start;gap:.45rem;display:flex}.drink-settings-section__toggle-field span{font-weight:500}.drink-settings-section__create-button{align-self:end}.drink-settings-section__checkbox-chip{justify-content:space-between;gap:.6rem}.drink-settings-section__checkbox-chip input{flex:none}.date-range-filter{flex-wrap:wrap;align-items:end;gap:.75rem;display:flex}.date-range-filter__field{flex-direction:column;flex:12rem;gap:.35rem;min-width:0;display:flex}.date-range-filter__field span{font-weight:600}.date-range-filter__apply{flex:none;align-self:end}.reports-screen__report{padding:1.1rem}.intake-report{flex-direction:column;gap:1rem;display:flex}.intake-report__header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:.8rem;display:flex}.intake-report__header h2,.intake-report__day-header h3{margin:0}.intake-report__eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);margin:0 0 .3rem;font-size:.78rem;font-weight:700}.intake-report__header-meta{color:var(--color-muted);text-align:right;flex-direction:column;gap:.25rem;font-size:.92rem;display:flex}.intake-report__summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;display:grid}.intake-report__summary-card{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 92%, var(--color-bg));border-radius:1rem;flex-direction:column;gap:.2rem;padding:.85rem .95rem;display:flex}.intake-report__summary-card strong{font-size:1.05rem}.intake-report__summary-card span{color:var(--color-muted)}.intake-report__days{flex-direction:column;gap:.9rem;display:flex}.intake-report__day{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 94%, var(--color-bg));border-radius:1rem;padding:.95rem 1rem}.intake-report__day-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.85rem;display:flex}.intake-report__day-header p{color:var(--color-muted);margin:.25rem 0 0}.intake-report__day-totals{text-align:right;flex-direction:column;gap:.25rem;font-size:.92rem;display:flex}.intake-report__timeline{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.intake-report__row{border-top:1px solid color-mix(in srgb, var(--color-border) 85%, transparent);grid-template-columns:4.4rem minmax(0,1fr);gap:.85rem;padding:.7rem 0;display:grid}.intake-report__row:first-child{border-top:0;padding-top:0}.intake-report__time{color:var(--color-muted);font-weight:600}.intake-report__body{min-width:0}.intake-report__body strong{margin-bottom:.2rem;display:block}.intake-report__body p{color:var(--color-muted);margin:0}@media (width>=900px){.app-shell__header,.app-shell__content{width:100%;max-width:1080px;margin:0 auto}.app-shell__content{padding-bottom:2rem}.stats-grid,.form-grid,.intake-report__summary{grid-template-columns:repeat(4,minmax(0,1fr))}.bottom-sheet{width:min(40rem,100vw - 2rem);left:50%;right:auto;transform:translate(-50%)}.bottom-sheet--desktop-wide{border-radius:1.5rem;width:min(74rem,100vw - 3rem);height:min(86dvh,54rem);top:50%;transform:translate(-50%,-50%);bottom:auto!important}.bottom-sheet--desktop-wide .bottom-sheet__body{flex-direction:column;flex:auto;min-height:0;display:flex}.bottom-sheet--desktop-wide .recipe-form{flex:auto;display:flex}.recipe-form__layout{flex:auto;grid-template-columns:minmax(0,1.65fr) minmax(20rem,.95fr);align-items:stretch;min-height:0}.recipe-form__main{min-height:0;padding-right:.15rem;overflow:auto}.recipe-form__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-steps__action-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.recipe-form__sidebar{min-height:0;max-height:none;position:sticky;top:0}.recipe-form__ingredients-list{flex:auto;min-height:0;overflow:auto}.recipe-view{grid-template-columns:minmax(0,1fr);align-items:start}.recipe-view__summary{grid-column:1}.recipe-view__columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}}@media (width<=719px){.date-range-filter__apply{width:100%}.intake-report__header,.intake-report__day-header{flex-direction:column}.intake-report__header-meta,.intake-report__day-totals{text-align:left}.intake-report__row{grid-template-columns:1fr;gap:.3rem}.recipe-view-actions{flex-direction:column;align-items:stretch}.recipe-view-actions__buttons{width:100%}.recipe-view-actions__buttons>.button{flex:12rem}}@media print{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{color:#111;background:#fff}.app-shell__header,.security-warning-banner,.toast,.reports-screen__controls,.reports-screen__print-button,.recipe-print-controls{display:none!important}.app-shell__content{padding:0}.recipe-print-page{display:block}.recipe-print-document{color:#111;max-width:none}.recipe-print-document section,.recipe-print-document table{break-inside:avoid-page}.reports-screen{gap:0}.reports-screen__report,.intake-report__day,.intake-report__summary-card{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border-color:#d4d4d4}.reports-screen__report{border:0;border-radius:0;padding:0}.intake-report__day{break-inside:avoid-page;page-break-inside:avoid}}
