:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-background:#f7f9f8;--color-canvas:#e9eeeb;--color-surface:#fff;--color-surface-muted:#eff3f1;--color-text-primary:#18211d;--color-text-secondary:#68746e;--color-border:#d6ded9;--color-action-primary:#0d5c3e;--color-action-on-primary:#fff;--color-action-soft:#e3f2eb;--color-link:#096c4b;--color-focus:#0879c9;--color-danger:#bd3e4c;--color-danger-soft:#fbe9eb;--color-warning:#a96f0f;--color-warning-soft:#f7edd9;--color-success:#167451;--color-energy:#c98516;--color-macro-protein:#20885f;--color-macro-fat:#d65e55;--color-macro-carbs:#337daf;--color-scrim:#0a100d94;--shadow-tooltip:0 2px 8px #101e171a;--shadow-sheet:0 -8px 30px #13241c1f;--radius-control:8px;--radius-small:6px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--control-min-size:44px;--form-control-height:48px;--top-bar-height:58px;--bottom-nav-height:66px;--app-stable-height:100dvh;--app-safe-top:0px;--app-safe-right:0px;--app-safe-bottom:0px;--app-safe-left:0px;--app-content-safe-top:0px;--app-content-safe-bottom:0px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-background:#111814;--color-canvas:#0c1210;--color-surface:#18211d;--color-surface-muted:#202b26;--color-text-primary:#f2f6f4;--color-text-secondary:#a6b2ac;--color-border:#34423b;--color-action-primary:#75d7a8;--color-action-on-primary:#0f1814;--color-action-soft:#1d3b2f;--color-link:#68d5a3;--color-focus:#72bdf0;--color-danger:#ff7883;--color-danger-soft:#41262b;--color-warning:#efb751;--color-warning-soft:#3a3020;--color-success:#53bd8d;--color-energy:#efb751;--color-macro-protein:#58c493;--color-macro-fat:#f08077;--color-macro-carbs:#68afe0;--color-scrim:#000000ad;--shadow-tooltip:0 2px 8px #0000003d;--shadow-sheet:0 -8px 30px #00000052}:root[data-theme-mode=system]{--color-background:var(--tg-theme-bg-color,#f7f9f8);--color-surface:var(--tg-theme-section-bg-color,var(--tg-theme-secondary-bg-color,#fff));--color-surface-muted:var(--tg-theme-secondary-bg-color,#eff3f1);--color-text-primary:var(--tg-theme-text-color,#18211d);--color-text-secondary:var(--tg-theme-hint-color,#68746e);--color-border:var(--tg-theme-section-separator-color,#d6ded9);--color-action-primary:var(--tg-theme-button-color,#0d5c3e);--color-action-on-primary:var(--tg-theme-button-text-color,#fff);--color-link:var(--tg-theme-link-color,#096c4b);--color-danger:var(--tg-theme-destructive-text-color,#bd3e4c)}:root[data-theme-mode=system][data-theme=dark]{--color-background:var(--tg-theme-bg-color,#111814);--color-surface:var(--tg-theme-section-bg-color,var(--tg-theme-secondary-bg-color,#18211d));--color-surface-muted:var(--tg-theme-secondary-bg-color,#202b26);--color-text-primary:var(--tg-theme-text-color,#f2f6f4);--color-text-secondary:var(--tg-theme-hint-color,#a6b2ac);--color-border:var(--tg-theme-section-separator-color,#34423b);--color-action-primary:var(--tg-theme-button-color,#75d7a8);--color-action-on-primary:var(--tg-theme-button-text-color,#0f1814);--color-link:var(--tg-theme-link-color,#68d5a3);--color-danger:var(--tg-theme-destructive-text-color,#ff7883)}:root{font-synthesis:none;letter-spacing:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--color-canvas)}body{min-width:320px;min-height:100dvh;color:var(--color-text-primary);background:var(--color-background);margin:0}body[data-overlay-open=true]{overflow:hidden}button,input,select,textarea{font:inherit;letter-spacing:0}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{min-width:var(--control-min-size);min-height:var(--control-min-size);color:inherit}input:not([type=checkbox]):not([type=radio]),select,textarea{min-height:var(--form-control-height)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid color-mix(in srgb, var(--color-focus) 58%, transparent);outline-offset:2px}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing: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}.status-screen{min-height:var(--app-stable-height);padding:var(--space-6);background:var(--color-background);place-items:center;display:grid}.status-screen>section,.status-screen>div{width:min(100%,480px)}.status-screen h1{margin:8px 0 12px;font-size:27px;line-height:1.15}.status-screen p{line-height:1.5}.eyebrow{color:var(--color-text-secondary);text-transform:uppercase;font-size:12px;font-weight:700}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-shell{width:100%;max-width:1120px;height:var(--app-stable-height);background:var(--color-background);padding-left:var(--app-safe-left);padding-right:var(--app-safe-right);flex-direction:column;margin:0 auto;display:flex;position:relative;overflow:hidden}.top-bar{z-index:20;flex:0 0 calc(var(--top-bar-height) + max(var(--app-safe-top), var(--app-content-safe-top)));min-height:calc(var(--top-bar-height) + max(var(--app-safe-top), var(--app-content-safe-top)));padding:calc(8px + max(var(--app-safe-top), var(--app-content-safe-top))) 16px 8px;border-bottom:1px solid var(--color-border);background:var(--color-surface);align-items:center;gap:10px;display:flex;position:relative}.brand-mark{border-radius:var(--radius-control);width:38px;height:38px;color:var(--color-action-on-primary);background:var(--color-action-primary);flex:0 0 38px;place-items:center;font-size:20px;font-weight:800;display:grid}.top-bar__titles{min-width:0;line-height:1.15;display:grid}.top-bar__titles strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.top-bar__titles small{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:11px;overflow:hidden}.connection-status{min-width:0;min-height:var(--control-min-size);color:var(--color-text-secondary);white-space:nowrap;justify-content:flex-end;align-items:center;gap:5px;margin-left:auto;font-size:11px;display:inline-flex}.connection-status i{background:var(--color-success);border-radius:50%;flex:0 0 6px;width:6px;height:6px}.connection-status svg{width:16px;height:16px;color:var(--color-danger)}.app-content{overscroll-behavior-y:contain;scrollbar-gutter:stable;width:100%;min-height:0;padding:12px 12px calc(var(--bottom-nav-height) + 12px + max(var(--app-safe-bottom), var(--app-content-safe-bottom)));scroll-padding:12px 0 calc(var(--bottom-nav-height) + 12px + max(var(--app-safe-bottom), var(--app-content-safe-bottom)));flex:auto;overflow:hidden auto}.app-content:focus{outline:none}.page{width:100%;max-width:1040px;margin:0 auto}.bottom-navigation{z-index:30;height:calc(var(--bottom-nav-height) + max(var(--app-safe-bottom), var(--app-content-safe-bottom)));padding:4px max(8px, var(--app-safe-right)) max(0px, max(var(--app-safe-bottom), var(--app-content-safe-bottom))) max(8px, var(--app-safe-left));border-top:1px solid var(--color-border);background:var(--color-surface);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;position:absolute;inset:auto 0 0}.bottom-navigation a{min-width:0;min-height:58px;color:var(--color-text-secondary);place-content:center;justify-items:center;gap:3px;font-size:10px;text-decoration:none;display:grid}.bottom-navigation__icon{place-items:center;width:28px;height:24px;display:grid}.bottom-navigation svg{stroke-width:2px;width:21px;height:21px}.bottom-navigation a.is-active{color:var(--color-action-primary);font-weight:700}.bottom-navigation a.is-active svg{stroke-width:2.5px}@media (width>=800px){body{background:var(--color-canvas)}.app-shell{border-inline:1px solid var(--color-border)}.top-bar{padding-inline:22px}.app-content{padding:18px 20px calc(var(--bottom-nav-height) + 18px + max(var(--app-safe-bottom), var(--app-content-safe-bottom)))}.bottom-navigation{padding-inline:max(25%, var(--app-safe-left))}}@media (width<=350px){.top-bar,.app-content{padding-left:12px;padding-right:12px}.connection-status span{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}}.date-switcher{grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:6px;height:66px;margin-bottom:12px;display:grid}.date-switcher__value{min-width:0;min-height:var(--control-min-size);color:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;display:flex}.date-switcher__value:disabled{cursor:default}.date-switcher__value strong{text-transform:capitalize;font-size:15px}.date-switcher__value span{color:var(--color-text-secondary);text-transform:capitalize;font-size:11px}.date-switcher__value small{min-height:16px;color:var(--color-link);align-items:center;gap:4px;margin-top:3px;font-size:10px;font-weight:700;display:inline-flex}.date-switcher__value small svg{width:12px;height:12px}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.metric-tile{border:1px solid var(--color-border);border-top:3px solid var(--color-energy);border-radius:var(--radius-control);background:var(--color-surface);flex-direction:column;min-width:0;min-height:112px;padding:12px;display:flex}.metric-tile--protein{border-top-color:var(--color-macro-protein)}.metric-tile--fat{border-top-color:var(--color-macro-fat)}.metric-tile--carbs{border-top-color:var(--color-macro-carbs)}.metric-tile__label{color:var(--color-text-secondary);font-size:11px}.metric-tile strong{overflow-wrap:anywhere;margin-top:7px;font-size:20px}.metric-tile__detail{color:var(--color-text-secondary);margin-top:2px;font-size:10px}.metric-tile .progress{margin-top:auto}.progress{background:var(--color-surface-muted);border-radius:3px;width:100%;height:5px;overflow:hidden}.progress span{background:var(--color-energy);height:100%;display:block}.progress--protein span{background:var(--color-macro-protein)}.progress--fat span{background:var(--color-macro-fat)}.progress--carbs span{background:var(--color-macro-carbs)}.button-primary,.button-secondary,.button-danger{min-height:var(--control-min-size);border-radius:var(--radius-control);cursor:pointer;padding:0 16px;font-weight:700;transition:background-color .12s,border-color .12s,transform .12s}.button-primary{border:1px solid var(--color-action-primary);color:var(--color-action-on-primary);background:var(--color-action-primary)}.button-secondary{border:1px solid var(--color-border);color:var(--color-text-primary);background:var(--color-surface)}.button-danger{border:1px solid var(--color-danger);color:#fff;background:var(--color-danger)}.button-with-icon{white-space:nowrap;justify-content:center;align-items:center;gap:7px;display:inline-flex}.form-actions .button-primary,.form-actions .button-secondary,.form-actions .button-danger{min-height:var(--form-control-height)}.button-primary:active,.button-secondary:active,.button-danger:active,.icon-button:active,.segmented-control button:active{transform:translateY(1px)}.icon-button{width:var(--control-min-size);height:var(--control-min-size);min-height:var(--control-min-size);flex:0 0 var(--control-min-size);border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-text-primary);background:var(--color-surface);cursor:pointer;place-items:center;padding:0;transition:background-color .12s,border-color .12s,transform .12s;display:grid}.icon-button--small{width:var(--control-min-size);height:var(--control-min-size);flex-basis:var(--control-min-size)}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:190px;padding:24px 16px;display:flex}.empty-state__icon{border-radius:var(--radius-control);width:44px;height:44px;color:var(--color-action-primary);background:var(--color-action-soft);place-items:center;margin-bottom:12px;display:grid}.empty-state__icon svg{width:22px}.empty-state__icon--error{color:var(--color-danger);background:var(--color-danger-soft)}.empty-state strong{font-size:15px}.empty-state p{max-width:360px;color:var(--color-text-secondary);margin:6px 0 16px;font-size:13px;line-height:1.45}.segmented-control{border-radius:var(--radius-control);background:var(--color-surface-muted);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:3px;min-width:0;padding:3px;display:grid}.segmented-control button{min-width:0;min-height:var(--control-min-size);border-radius:var(--radius-small);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;padding:0 10px;font-size:11px;font-weight:650;overflow:hidden}.segmented-control button.is-active{border-color:var(--color-border);color:var(--color-text-primary);background:var(--color-surface);box-shadow:0 1px 2px #11231a1a}.form-field{gap:6px;display:grid}.form-field label{font-size:13px;font-weight:700}.form-field input,.form-field select,.form-field textarea{width:100%;min-height:var(--form-control-height);border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-text-primary);background:var(--color-surface);padding:0 12px;font-size:16px}.form-field textarea{resize:vertical;min-height:88px;padding-block:10px}.form-field.has-error input,.form-field.has-error select,.form-field.has-error textarea{border-color:var(--color-danger)}.form-field__message{color:var(--color-text-secondary);font-size:12px}.form-field.has-error .form-field__message{color:var(--color-danger)}.dialog-backdrop,.sheet-backdrop{z-index:100;background:var(--color-scrim);padding:16px;display:flex;position:fixed;inset:0}.dialog-backdrop{justify-content:center;align-items:center}.confirm-dialog{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);width:min(100%,440px);box-shadow:var(--shadow-sheet);padding:20px}.confirm-dialog h2{margin-bottom:8px;font-size:19px}.confirm-dialog p{color:var(--color-text-secondary);font-size:14px;line-height:1.45}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.sheet-backdrop{justify-content:center;align-items:flex-end;padding:0}.bottom-sheet{width:min(100%,680px);max-height:min(82dvh, calc(var(--app-stable-height) - max(var(--app-safe-top), var(--app-content-safe-top)) - 16px));border:1px solid var(--color-border);border-radius:var(--radius-control) var(--radius-control) 0 0;background:var(--color-surface);box-shadow:var(--shadow-sheet);border-bottom:0;flex-direction:column;padding:8px 16px 0;display:flex;overflow:hidden}.bottom-sheet__handle{background:var(--color-border);border-radius:2px;flex:0 0 4px;width:38px;height:4px;margin:2px auto 6px}.bottom-sheet header{flex:0 0 52px;justify-content:space-between;align-items:center;gap:12px;min-height:52px;display:flex}.bottom-sheet h2{overflow-wrap:anywhere;margin:0;font-size:19px}.bottom-sheet__content{overscroll-behavior:contain;min-height:0;padding:8px 2px max(20px, max(var(--app-safe-bottom), var(--app-content-safe-bottom)));scroll-padding-bottom:72px;overflow:hidden auto}.bottom-sheet .form-actions,.bottom-sheet .sheet-actions{z-index:2;padding:12px 2px max(4px, var(--app-content-safe-bottom));background:var(--color-surface);margin-inline:-2px;position:sticky;bottom:0}.toast-region{z-index:120;bottom:calc(var(--bottom-nav-height) + 12px + max(var(--app-safe-bottom), var(--app-content-safe-bottom)));pointer-events:none;gap:8px;width:min(100% - 24px,480px);display:grid;position:fixed;left:50%;transform:translate(-50%)}.toast{border:1px solid var(--color-border);border-left:4px solid var(--color-success);border-radius:var(--radius-control);background:var(--color-surface);min-height:52px;box-shadow:var(--shadow-tooltip);pointer-events:auto;grid-template-columns:22px minmax(0,1fr) 44px;align-items:center;gap:9px;padding:4px 4px 4px 13px;font-size:13px;display:grid}.toast>svg{color:var(--color-success)}.toast--error{border-left-color:var(--color-danger)}.toast--error>svg{color:var(--color-danger)}.skeleton{gap:12px;width:100%;display:grid}.skeleton>span:not(.sr-only){border-radius:var(--radius-control);background:linear-gradient(100deg, var(--color-border) 25%, var(--color-surface) 45%, var(--color-border) 65%);background-size:220% 100%;height:62px;animation:1.2s ease-in-out infinite skeleton-loading}.skeleton>span:not(.sr-only):nth-of-type(2){width:55%;height:34px}@keyframes skeleton-loading{0%{background-position:100% 0}to{background-position:-100% 0}}.inline-empty{border:1px dashed var(--color-border);border-radius:var(--radius-control);min-height:72px;color:var(--color-text-secondary);background:var(--color-surface-muted);text-align:center;justify-content:center;align-items:center;padding:14px;font-size:13px;display:flex}.inline-empty a{color:var(--color-action-primary);font-weight:700}.button-primary:disabled,.button-secondary:disabled,.button-danger:disabled,.button-text:disabled,.icon-button:disabled,.segmented-control button:disabled{cursor:default;opacity:.55;transform:none}@media (hover:hover) and (pointer:fine){.button-primary:hover{filter:brightness(1.06)}.button-secondary:hover,.icon-button:hover{border-color:color-mix(in srgb, var(--color-action-primary) 38%, var(--color-border));background:var(--color-action-soft)}.segmented-control button:not(.is-active):hover{color:var(--color-text-primary);background:color-mix(in srgb, var(--color-surface) 56%, transparent)}}@media (width<=520px){.metric-tile{min-height:104px;padding:10px}.metric-tile strong{font-size:17px}.metric-tile__detail{font-size:10px}}@media (width<=350px){.button-primary,.button-secondary{padding-inline:11px}.metric-grid{gap:6px}.metric-tile{padding:8px}.metric-tile__label{font-size:11px}.segmented-control button{padding-inline:5px;font-size:10px}}.section-block,.weight-overview,.settings-section{border-top:1px solid var(--color-border);padding:22px 0}.page>.section-block:first-child,.page>.weight-overview:first-child{border-top:0;padding-top:4px}.section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.section-heading h1,.section-heading h2{margin-bottom:3px;font-size:19px}.section-heading p{color:var(--color-text-secondary);margin-bottom:0;font-size:13px}.summary-value{white-space:nowrap;font-size:16px;font-weight:750}.form-error{color:var(--color-danger);margin:0;font-size:13px;line-height:1.4}.form-actions{justify-content:flex-end;gap:8px;display:flex}.search-field{border:1px solid var(--color-border);height:48px;color:var(--color-text-secondary);background:var(--color-surface);border-radius:7px;align-items:center;gap:9px;margin-top:14px;padding:0 13px;display:flex}.search-field:focus-within{border-color:var(--color-focus);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-focus) 18%, transparent)}.search-field input{width:100%;min-width:0;color:var(--color-text-primary);background:0 0;border:0;outline:0;font-size:16px}.search-field input::placeholder{color:var(--color-text-secondary);opacity:1}.food-controls{border-bottom:1px solid var(--color-border);gap:12px;padding-bottom:16px;display:grid}.food-search-row{grid-template-columns:minmax(0,1fr) 44px 44px;gap:8px;display:grid}.food-search-row .search-field{margin:0}.icon-button--primary{color:var(--color-action-on-primary);border-color:var(--color-action-primary);background:var(--color-action-primary)}.food-filter-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.food-filter-row label{min-width:0;color:var(--color-text-secondary);align-items:center;gap:7px;display:flex}.food-filter-row label:first-child{flex:1}.food-filter-row svg{flex:0 0 17px;width:17px;height:17px}.food-filter-row select{border:1px solid var(--color-border);min-width:0;max-width:100%;min-height:48px;color:var(--color-text-primary);background:var(--color-surface);border-radius:8px;padding:0 28px 0 9px;font-size:16px}.food-filter-row .icon-button{flex:0 0 44px;width:44px;height:44px}.selection-bar{z-index:12;border-bottom:1px solid var(--color-border);background:var(--color-background);align-items:center;gap:8px;margin:0 -4px;padding:9px 4px;display:flex;position:sticky;top:0}.selection-bar strong{margin-right:auto;font-size:13px}.selection-bar button{min-height:44px;padding:0 10px;font-size:12px}.food-list{flex-direction:column;display:flex}.food-select,.food-open{width:44px;height:44px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;padding:0;display:grid}.food-select{border:1px solid var(--color-border)}.food-select svg{width:18px;height:18px}.food-row.is-selected .food-select{color:var(--color-action-on-primary);border-color:var(--color-action-primary);background:var(--color-action-primary)}.food-open svg{width:19px;height:19px}.food-row__content{text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;padding:11px 0;display:flex}.food-row__content strong{text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:14px;overflow:hidden}.food-row__content span{color:var(--color-text-secondary);font-size:11px;line-height:1.35}.food-row__content small{color:var(--color-link);font-size:10px}.food-folder-action{width:44px;height:44px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.barcode-scanner,.barcode-review{gap:15px;display:grid}.scanner-preview{aspect-ratio:4/3;border:1px solid var(--color-border);width:100%;color:var(--color-text-secondary);background:#17191b;border-radius:7px;place-items:center;display:grid;position:relative;overflow:hidden}.scanner-frame{z-index:1;aspect-ratio:2.15;opacity:0;border:2px solid #ffffffe0;border-radius:6px;width:min(78%,310px);position:absolute;box-shadow:0 0 0 100vmax #00000059}.barcode-manual>svg{width:19px;height:19px;color:var(--color-text-secondary)}.barcode-manual input{border:1px solid var(--color-border);min-width:0;height:44px;color:var(--color-text-primary);background:var(--color-surface);border-radius:6px;padding:0 11px;font-size:16px}.barcode-product-heading>img,.barcode-product-heading>div{border:1px solid var(--color-border);background:var(--color-background);object-fit:contain;border-radius:7px;width:72px;height:72px}.barcode-product-heading>div{color:var(--color-text-secondary);place-items:center;display:grid}.barcode-product-heading>div svg{width:30px;height:30px}.barcode-product-heading strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.barcode-warnings{border:1px solid var(--color-border);background:var(--color-background);border-radius:6px;padding:10px 11px}.barcode-warnings p{color:var(--color-text-secondary);margin:0;font-size:11px;line-height:1.45}.barcode-warnings p+p{margin-top:4px}.off-attribution{width:fit-content;min-height:44px;color:var(--color-link);align-items:center;font-size:12px;font-weight:700;display:inline-flex}.folder-create{grid-template-columns:minmax(0,1fr) 44px;gap:8px;margin-bottom:18px;display:grid}.folder-create input{border:1px solid var(--color-border);min-width:0;min-height:44px;color:var(--color-text-primary);background:var(--color-surface);border-radius:6px;padding:0 12px;font-size:16px}.folder-manager-row__name{flex-direction:column;min-width:0;display:flex}.folder-manager-row__name strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.folder-manager-row__name small{color:var(--color-text-secondary);margin-top:2px;font-size:11px}.folder-manager-row__actions button:disabled{cursor:default;opacity:.35}.folder-manager-row form input{border:1px solid var(--color-action-primary);min-width:0;height:48px;color:var(--color-text-primary);background:var(--color-surface);border-radius:8px;padding:0 9px;font-size:16px}.folder-empty{color:var(--color-text-secondary);margin:0;padding:22px 4px;font-size:13px;line-height:1.45}.folder-picker-list .action-row{grid-template-columns:minmax(0,1fr)}.load-more{align-self:center;margin:16px 0 8px}.food-editor{gap:15px;display:grid}.nutrition-fields{border:1px solid var(--color-border);border-radius:7px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:13px;display:grid}.nutrition-fields legend{color:var(--color-text-secondary);padding:0 5px;font-size:12px;font-weight:700}.ingredient-metadata-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.dish-components{gap:6px;display:grid}.dish-components__heading{color:var(--color-text-secondary);justify-content:space-between;font-size:13px;display:flex}.dish-component{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) 72px auto;align-items:center;gap:8px;min-width:0;padding:9px 0;display:grid}.dish-component>div:first-child strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.dish-component label{position:relative}.dish-component label input{border:1px solid var(--color-border);width:100%;height:48px;color:var(--color-text-primary);background:var(--color-surface);border-radius:8px;padding:0 22px 0 7px;font-size:16px}.dish-component label small{position:absolute;top:16px;right:7px}.component-actions{display:flex}.component-actions svg{width:16px;height:16px}.ingredient-picker-results{border:1px solid var(--color-border);background:var(--color-surface);border-radius:7px;max-height:220px;overflow-y:auto}.ingredient-picker-results button:last-child{border-bottom:0}.ingredient-picker-results strong{font-size:13px}.dish-total{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;display:grid}.dish-total span{color:var(--color-text-secondary);font-size:9px}.duplicate-notice{border-left:3px solid var(--color-energy);background:color-mix(in srgb, var(--color-energy) 8%, var(--color-surface));align-items:center;gap:12px;padding:11px;display:flex}.duplicate-notice div{flex-direction:column;flex:1;min-width:0;display:flex}.duplicate-notice span{color:var(--color-text-secondary);font-size:12px}.duplicate-notice button,.revoke-link{color:var(--color-link);cursor:pointer;background:0 0;border:0;font-weight:700}.share-link{border:1px solid var(--color-border);background:var(--color-background);grid-template-columns:24px minmax(0,1fr);gap:8px;min-width:0;padding:12px;display:grid}.share-link svg{width:19px;height:19px;color:var(--color-action-primary)}.share-link span{overflow-wrap:anywhere;font-size:12px}.revoke-link{color:var(--color-danger);justify-self:center}.back-link{width:fit-content;min-height:44px;color:var(--color-link);align-items:center;gap:6px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.back-link svg{width:17px;height:17px}.share-preview-heading{border-bottom:1px solid var(--color-border);align-items:center;gap:12px;padding-bottom:16px;display:flex}.share-preview-heading>span{width:44px;height:44px;color:var(--color-action-primary);background:color-mix(in srgb, var(--color-action-primary) 12%, transparent);border-radius:7px;place-items:center;display:grid}.share-preview-heading h1{margin-bottom:2px;font-size:19px}.share-preview-row{border-bottom:1px solid var(--color-border);grid-template-columns:30px minmax(0,1fr);gap:9px;min-width:0;padding:12px 2px;display:grid}.share-preview-row>svg{width:19px;height:19px;color:var(--color-text-secondary)}.share-preview-row>div{flex-direction:column;gap:2px;min-width:0;display:flex}.share-preview-row strong{font-size:14px}.share-preview-row span{color:var(--color-text-secondary);font-size:11px}.share-preview-row small{color:var(--color-link);font-size:11px}.import-button{justify-self:stretch}.import-complete{color:var(--color-action-primary);background:color-mix(in srgb, var(--color-action-primary) 9%, var(--color-surface));justify-content:center;align-items:center;gap:8px;padding:13px;font-weight:700;display:flex}.import-complete svg{width:20px;height:20px}.toolbar-row{justify-content:space-between;gap:10px;padding:14px 0;display:flex}.profile-summary{align-items:center;gap:14px;padding:4px 0 18px;display:flex}.profile-avatar{width:54px;height:54px;color:var(--color-action-primary);background:color-mix(in srgb, var(--color-action-primary) 14%, var(--color-surface));border-radius:50%;flex:0 0 54px;place-items:center;display:grid}.profile-summary h1{overflow-wrap:anywhere;margin-bottom:3px;font-size:20px}.profile-summary p{color:var(--color-text-secondary);margin:0;font-size:13px}.status-badge{border:1px solid var(--color-border);color:var(--color-text-secondary);white-space:nowrap;border-radius:5px;margin-left:auto;padding:5px 7px;font-size:11px;font-weight:700}.profile-stats{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.profile-stats svg{width:18px;color:var(--color-action-primary)}.settings-title{color:var(--color-text-secondary);align-items:center;gap:8px;margin-bottom:16px;display:flex}.settings-title h2{color:var(--color-text-primary);margin:0;font-size:16px}.section-description{color:var(--color-text-secondary);margin:-7px 0 18px;font-size:13px;line-height:1.45}.setting-control{gap:9px;display:grid}.setting-control>span{font-size:13px;font-weight:650}.settings-form-grid{gap:18px;display:grid}.settings-form-grid__wide{grid-column:1/-1}.switch-row{border-top:1px solid var(--color-border);cursor:pointer;justify-content:space-between;align-items:center;gap:20px;min-height:60px;margin-top:12px;display:flex}.switch-row>span{flex-direction:column;display:flex}.switch-row strong{font-size:14px}.switch-row small{color:var(--color-text-secondary);margin-top:2px;font-size:12px}.switch-row input{width:46px;height:26px;accent-color:var(--color-action-primary);cursor:pointer}.compact-switch{cursor:pointer;place-items:center;min-width:44px;min-height:44px;display:grid}.compact-switch input{width:42px;height:24px;accent-color:var(--color-action-primary);cursor:pointer}.action-list{flex-direction:column;display:flex}.action-row{border:0;border-bottom:1px solid var(--color-border);width:100%;min-height:52px;color:var(--color-text-primary);text-align:left;cursor:pointer;background:0 0;grid-template-columns:24px minmax(0,1fr) 20px;align-items:center;gap:10px;padding:0 4px;text-decoration:none;display:grid}.action-row:first-child{border-top:1px solid var(--color-border)}.bottom-sheet .action-row{grid-template-columns:minmax(0,1fr)}.action-row svg:first-child{width:19px;color:var(--color-text-secondary)}.action-row svg:last-child{width:18px;color:var(--color-text-secondary)}.action-row span{flex-direction:column;min-width:0;display:flex}.action-row strong{font-size:14px}.action-row small{color:var(--color-text-secondary);margin-top:2px;font-size:12px}.goal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.inline-actions{align-items:center;gap:14px;margin-top:16px;display:flex}.button-text{min-height:44px;color:var(--color-link);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0 4px;font-weight:700;display:inline-flex}.button-text--danger{color:var(--color-danger)}.reminders-grid{gap:14px;display:grid}.reminder-editor{border:1px solid var(--color-border);background:var(--color-surface);border-radius:7px;padding:16px}.reminder-editor__heading{grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:16px;display:grid}.reminder-editor__icon{width:38px;height:38px;color:var(--color-action-primary);background:color-mix(in srgb, var(--color-action-primary) 11%, transparent);border-radius:7px;place-items:center;display:grid}.reminder-editor__icon svg{width:20px}.reminder-editor__heading>div{flex-direction:column;min-width:0;display:flex}.reminder-editor__heading strong{font-size:14px}.reminder-editor__heading small{color:var(--color-text-secondary);margin-top:2px;font-size:11px}.weekday-fieldset{border:0;min-width:0;margin:14px 0 0;padding:0}.weekday-fieldset legend{margin-bottom:7px;font-size:13px;font-weight:700}.weekday-picker{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.weekday-picker button{aspect-ratio:1;border:1px solid var(--color-border);min-width:44px;min-height:44px;color:var(--color-text-secondary);background:var(--color-surface);cursor:pointer;border-radius:8px;padding:0;font-size:11px;font-weight:700}.weekday-picker button.is-active{border-color:var(--color-action-primary);color:var(--color-action-on-primary);background:var(--color-action-primary)}.data-summary{border-left:3px solid var(--color-link);background:color-mix(in srgb, var(--color-link) 7%, transparent);grid-template-columns:38px minmax(0,1fr);align-items:center;gap:11px;margin-bottom:16px;padding:12px;display:grid}.data-summary svg{color:var(--color-link)}.danger-zone{border-top:1px solid color-mix(in srgb, var(--color-danger) 35%, var(--color-border));justify-content:space-between;align-items:center;gap:20px;margin-top:22px;padding-top:18px;display:flex}.danger-zone>div{min-width:0}.danger-zone strong{font-size:14px}.danger-zone p{max-width:590px;color:var(--color-text-secondary);margin:4px 0 0;font-size:12px;line-height:1.4}.about-section>div:not(.settings-title){border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:15px;min-height:42px;font-size:13px;display:flex}.about-section>div>span{color:var(--color-text-secondary)}.about-section>div>strong{text-align:right;align-items:center;gap:6px;display:inline-flex}.policy-page h1{max-width:620px;margin:7px 0 12px;font-size:28px}.is-compact .empty-state{min-height:170px}.is-compact .action-row{min-height:46px}@media (width>=800px){.settings-form-grid,.reminders-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.section-heading--stackable{flex-direction:column;align-items:stretch}.section-heading--stackable .segmented-control{width:100%}.page--profile .segmented-control button{padding-inline:5px;font-size:12px}.profile-summary{flex-wrap:wrap;align-items:flex-start}.status-badge{margin-top:-17px;margin-left:68px}.profile-stats>div{min-height:82px}.profile-stats span{font-size:9px}.danger-zone{flex-direction:column;align-items:stretch}.danger-zone .button-danger{width:100%}.dish-component{grid-template-columns:minmax(0,1fr) 80px}.dish-component .component-actions{grid-column:1/-1;justify-content:flex-end}}@media (width<=350px){.weekday-picker{grid-template-columns:repeat(4,minmax(44px,1fr));gap:4px}.weekday-picker button{min-height:44px;font-size:10px}}.page--ration>.date-switcher{margin-bottom:8px}.future-badge{border:1px solid color-mix(in srgb, var(--color-link) 42%, var(--color-border));border-radius:var(--radius-small);width:fit-content;color:var(--color-link);background:color-mix(in srgb, var(--color-link) 8%, transparent);white-space:nowrap;padding:4px 6px;font-size:10px;font-weight:700}.ration-balance{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);min-width:0;padding:12px 14px 11px}.ration-balance__heading{justify-content:space-between;align-items:flex-start;gap:10px;min-width:0;min-height:46px;display:flex}.ration-balance__heading>div:first-child{gap:2px;min-width:0;display:grid}.ration-balance__heading>div:first-child>span{color:var(--color-text-secondary);text-transform:uppercase;font-size:10px;font-weight:700}.ration-balance__heading h1{margin:0;font-size:18px;line-height:1.1}.ration-balance__heading>div:first-child>small{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.ration-balance__status-group{flex:none;justify-items:end;gap:3px;display:grid}.ration-balance__status{min-height:32px;color:var(--color-link);align-items:center;gap:6px;display:flex}.ration-balance__status>svg{border-radius:var(--radius-small);background:var(--color-action-soft);width:28px;height:28px;padding:6px}.ration-balance__status>span{color:var(--color-text-secondary);white-space:nowrap;justify-items:end;gap:1px;font-size:9px;display:grid}.ration-balance__status strong{color:var(--color-text-primary);font-variant-numeric:tabular-nums;font-size:11px}.ration-balance__status.is-excess,.ration-balance__status.is-excess strong{color:var(--color-danger)}.ration-balance__status.is-excess>svg{background:var(--color-danger-soft)}.macro-overview{grid-template-columns:108px minmax(0,1fr);align-items:center;gap:13px;min-width:0;padding-block:8px;display:grid}.macro-ring{aspect-ratio:1;border-radius:50%;place-items:center;width:108px;display:grid;position:relative}.macro-ring:after{aspect-ratio:1;background:var(--color-surface);content:"";border-radius:50%;width:74px;position:absolute}.macro-ring.is-empty{border:15px solid var(--color-border);background:0 0}.macro-ring.is-empty:after{width:74px}.macro-ring>div{z-index:1;text-align:center;justify-items:center;max-width:76px;display:grid;position:relative}.macro-ring strong{text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;max-width:76px;font-size:19px;line-height:1;overflow:hidden}.macro-ring span{color:var(--color-text-secondary);margin-top:3px;font-size:9px;line-height:1.2}.macro-ring small{color:var(--color-text-secondary);margin-top:2px;font-size:8px;line-height:1.15}.macro-legend{min-width:0;display:grid}.macro-legend>div{border-bottom:1px solid var(--color-border);grid-template-columns:5px minmax(40px,.8fr) minmax(0,1.2fr);align-items:center;gap:7px;min-width:0;min-height:35px;display:grid}.macro-legend>div:last-child{border-bottom:0}.macro-legend i{border-radius:3px;width:5px;height:20px}.macro-legend__protein i{background:var(--color-macro-protein)}.macro-legend__fat i{background:var(--color-macro-fat)}.macro-legend__carbs i{background:var(--color-macro-carbs)}.macro-legend span{min-width:0;color:var(--color-text-secondary);justify-content:space-between;align-items:baseline;gap:3px;font-size:10px;display:flex}.macro-legend span small{font-size:8px}.macro-legend strong{white-space:nowrap;font-variant-numeric:tabular-nums;justify-items:end;min-width:0;font-size:11px;line-height:1.2;display:grid;overflow:hidden}.macro-legend strong small{max-width:100%;color:var(--color-text-secondary);text-overflow:ellipsis;font-size:8px;font-weight:500;overflow:hidden}.ration-energy-progress{grid-template-columns:auto minmax(42px,1fr) auto auto;align-items:center;gap:7px;min-height:34px;margin-top:7px;font-size:10px;display:grid}.ration-energy-progress>span{color:var(--color-text-secondary)}.ration-energy-progress strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:10px}.ration-energy-progress strong small{color:var(--color-text-secondary);font-size:8px;font-weight:500}.ration-energy-progress b{font-size:10px}.ration-energy-progress b.is-excess{color:var(--color-danger)}.ration-goal-missing{border-top:1px solid var(--color-border);min-height:44px;color:var(--color-text-secondary);justify-content:space-between;align-items:center;gap:8px;margin-top:5px;font-size:10px;display:flex}.ration-goal-missing a{min-height:44px;color:var(--color-link);align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.ration-meals{min-width:0;padding-top:12px}.ration-meals .section-heading{min-height:44px;margin-bottom:7px}.ration-meals .section-heading h2{margin:0;font-size:18px;line-height:1.1}.ration-meals .section-heading p{margin-top:3px;font-size:10px}.ration-meals .button-primary{text-decoration:none}.meals-list{gap:8px;display:grid}.meal-section{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);min-width:0;overflow:hidden}.meal-section>header{grid-template-columns:34px minmax(0,1fr) 44px;align-items:center;gap:8px;min-height:56px;padding:5px 4px 5px 9px;display:grid}.meal-section>header>div{min-width:0}.meal-section h3{margin:0 0 2px;font-size:13px}.meal-section header p{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;margin:0;font-size:10px;overflow:hidden}.meal-icon{border-radius:var(--radius-small);width:32px;height:32px;color:var(--color-energy);background:var(--color-warning-soft);place-items:center;display:grid}.meal-icon svg{width:17px}.meal-icon--lunch{color:var(--color-link);background:var(--color-action-soft)}.meal-icon--dinner{color:var(--color-macro-carbs);background:color-mix(in srgb, var(--color-macro-carbs) 10%, transparent)}.meal-icon--snack{color:var(--color-macro-protein);background:color-mix(in srgb, var(--color-macro-protein) 10%, transparent)}.icon-link{border-radius:var(--radius-control);width:44px;height:44px;color:var(--color-action-primary);place-items:center;text-decoration:none;display:grid}.icon-link svg{width:19px}.meal-empty{border-top:1px solid var(--color-border);min-height:44px;color:var(--color-text-secondary);justify-content:space-between;align-items:center;gap:10px;padding:0 12px;font-size:10px;text-decoration:none;display:flex}.meal-empty strong{color:var(--color-link);white-space:nowrap;font-size:11px}.meal-entries{border-top:1px solid var(--color-border)}.meal-entry{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) 44px;align-items:center;min-width:0;min-height:58px;display:grid}.meal-entry:last-child{border-bottom:0}.meal-entry__main{min-width:0;min-height:58px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 2px 6px 9px;display:grid}.meal-entry__type{border-radius:var(--radius-small);width:28px;height:28px;color:var(--color-text-secondary);background:var(--color-surface-muted);place-items:center;display:grid}.meal-entry__type svg{width:15px}.meal-entry__copy{gap:2px;min-width:0;display:grid}.meal-entry__copy strong{overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.25;display:-webkit-box;overflow:hidden}.meal-entry__copy small{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.meal-entry__energy{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11px;font-weight:700}.meal-entry__energy small{color:var(--color-text-secondary);font-size:8px;font-weight:500}.meal-entry>.icon-button{border:0}.ration-page-skeleton{grid-template-rows:45px 108px 34px;grid-template-columns:108px minmax(0,1fr);gap:7px 13px;min-height:204px;display:grid}.ration-page-skeleton i,.ration-meals-skeleton i{border-radius:var(--radius-small);background:linear-gradient(100deg, var(--color-border) 25%, var(--color-surface-muted) 45%, var(--color-border) 65%);background-size:220% 100%;animation:1.2s ease-in-out infinite skeleton-loading;display:block}.ration-page-skeleton i:first-of-type{grid-column:1/-1}.ration-page-skeleton i:nth-of-type(2){border-radius:50%;grid-column:1}.ration-page-skeleton i:nth-of-type(3){grid-column:2}.ration-page-skeleton i:nth-of-type(4){grid-column:1/-1}.ration-meals-skeleton{gap:8px;min-height:188px;display:grid}.ration-meals-skeleton i:first-child{height:44px}.ration-meals-skeleton i:not(:first-child){height:60px}.ration-sheet-context{min-height:20px;color:var(--color-text-secondary);text-transform:capitalize;align-items:center;font-size:10px;font-weight:650;display:flex}.ration-picker{align-content:start;gap:10px;min-height:330px;display:grid}.ration-picker .skeleton{margin-top:8px}.ration-picker__list-heading{justify-content:space-between;align-items:end;gap:10px;min-height:30px;display:flex}.ration-picker__list-heading strong{font-size:13px}.ration-picker__list-heading span{color:var(--color-text-secondary);font-size:10px}.ration-source-list{border-top:1px solid var(--color-border)}.ration-source-list>button{border:0;border-bottom:1px solid var(--color-border);width:100%;min-height:61px;color:var(--color-text-primary);text-align:left;cursor:pointer;background:0 0;grid-template-columns:40px minmax(0,1fr) 44px;align-items:center;gap:9px;padding:6px 0;display:grid}.ration-source-list>button>span,.selected-source>span{border-radius:var(--radius-control);width:38px;height:38px;color:var(--color-action-primary);background:var(--color-action-soft);place-items:center;display:grid}.ration-source-list>button>span svg,.selected-source>span svg{width:17px}.ration-source-list>button>div,.selected-source>div{gap:3px;min-width:0;display:grid}.ration-source-list strong,.selected-source strong{overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.25;display:-webkit-box;overflow:hidden}.ration-source-list small,.selected-source small{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.ration-source-list>button>svg{width:18px;color:var(--color-action-primary);justify-self:center}.picker-empty{min-height:190px;color:var(--color-text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:9px;display:flex}.picker-empty>span{max-width:330px;font-size:11px;line-height:1.4}.picker-empty a{justify-content:center;align-items:center;min-width:min(100%,240px);min-height:44px;font-weight:700;text-decoration:none;display:inline-flex}.selected-source{border:1px solid var(--color-border);border-radius:var(--radius-control);width:100%;min-height:62px;color:var(--color-text-primary);background:var(--color-surface-muted);text-align:left;cursor:pointer;grid-template-columns:40px minmax(0,1fr) 44px;align-items:center;gap:9px;padding:6px 0;display:grid}.selected-source>span{margin-left:1px}.selected-source>svg{width:18px;color:var(--color-text-secondary);justify-self:center;transform:rotate(180deg)}.ration-entry-form{gap:12px;display:grid}.entry-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.ration-meal-picker{border:0;min-width:0;margin:0;padding:0}.ration-meal-picker legend{margin-bottom:7px;font-size:12px;font-weight:700}.ration-meal-picker>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.ration-meal-picker button{border:1px solid var(--color-border);border-radius:var(--radius-control);min-width:0;min-height:58px;color:var(--color-text-secondary);background:var(--color-surface);cursor:pointer;place-content:center;justify-items:center;gap:3px;padding:4px;font-size:10px;display:grid}.ration-meal-picker button svg{width:18px;height:18px}.ration-meal-picker button.is-active{border-color:var(--color-action-primary);color:var(--color-action-primary);background:var(--color-action-soft);font-weight:700}.ration-portion{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.ration-portion>div:first-child{gap:2px;display:grid}.ration-portion>div:first-child label{font-size:12px;font-weight:700}.ration-portion>div:first-child span{color:var(--color-text-secondary);font-size:10px}.ration-stepper{border:1px solid var(--color-border);border-radius:var(--radius-control);grid-template-columns:44px minmax(70px,84px) 44px;height:48px;display:grid;overflow:hidden}.ration-stepper>button{cursor:pointer;background:0 0;border:0;place-items:center;width:44px;min-width:44px;height:46px;min-height:46px;padding:0;display:grid}.ration-stepper>button svg{width:17px}.ration-stepper>div{border-inline:1px solid var(--color-border);min-width:0;position:relative}.ration-stepper input{width:100%;height:46px;color:var(--color-text-primary);background:var(--color-surface);text-align:center;font-variant-numeric:tabular-nums;border:0;outline:0;padding:0 20px 0 5px;font-size:16px;font-weight:700}.ration-stepper small{color:var(--color-text-secondary);font-size:10px;position:absolute;top:16px;right:6px}.ration-portion.has-error .ration-stepper{border-color:var(--color-danger)}.nutrition-preview{border-block:1px solid var(--color-border);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.nutrition-preview>div{align-content:center;justify-items:center;min-width:0;min-height:58px;padding:7px 4px;display:grid}.nutrition-preview>div+div{border-left:1px solid var(--color-border)}.nutrition-preview span{color:var(--color-text-secondary);font-size:9px}.nutrition-preview strong{text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;max-width:100%;margin-top:3px;font-size:11px;overflow:hidden}.entry-details{gap:15px;display:grid}.entry-details__heading{grid-template-columns:46px minmax(0,1fr);align-items:center;gap:10px;display:grid}.entry-details__heading>span{border-radius:var(--radius-control);width:44px;height:44px;color:var(--color-action-primary);background:var(--color-action-soft);place-items:center;display:grid}.entry-details__heading h3{overflow-wrap:anywhere;margin:0 0 3px;font-size:16px}.entry-details__heading p{color:var(--color-text-secondary);margin:0;font-size:11px}.entry-context{border-block:1px solid var(--color-border);grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px;min-height:48px;display:grid}.entry-context>svg{width:18px;color:var(--color-text-secondary)}.entry-context>span{gap:2px;display:grid}.entry-context strong{font-size:12px}.entry-context small{color:var(--color-text-secondary);text-transform:capitalize;font-size:10px}.source-warning{border-left:3px solid var(--color-energy);color:var(--color-text-secondary);background:var(--color-warning-soft);margin:0;padding:10px;font-size:12px;line-height:1.4}.entry-nutrition{border-block:1px solid var(--color-border);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.entry-nutrition>div{align-content:center;justify-items:center;min-width:0;min-height:62px;padding:7px 3px;display:grid}.entry-nutrition>div+div{border-left:1px solid var(--color-border)}.entry-nutrition span{color:var(--color-text-secondary);font-size:9px}.entry-nutrition strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-top:3px;font-size:11px;overflow:hidden}.entry-actions{border-top:1px solid var(--color-border);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.entry-actions button{border:0;border-right:1px solid var(--color-border);min-width:0;min-height:62px;color:var(--color-link);cursor:pointer;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:5px;font-size:11px;font-weight:700;display:flex}.entry-actions button:last-child{border-right:0}.entry-actions button.is-danger{color:var(--color-danger)}.entry-actions svg{width:19px}.ration-conflict{border-left:3px solid var(--color-warning);background:var(--color-warning-soft);gap:10px;padding:11px;display:grid}.ration-conflict>div{gap:3px;display:grid}.ration-conflict strong{font-size:13px}.ration-conflict span{color:var(--color-text-secondary);font-size:11px;line-height:1.4}.ration-conflict button{justify-self:start}@media (hover:hover) and (pointer:fine){.icon-link:hover,.meal-entry__main:hover,.meal-entry>.icon-button:hover,.ration-source-list>button:hover,.selected-source:hover,.ration-stepper>button:hover{background:var(--color-action-soft)}}@media (width>=800px){.page--ration{grid-template-columns:minmax(330px,390px) minmax(0,1fr);align-items:start;gap:22px;display:grid}.page--ration>.date-switcher{grid-column:1/-1;margin-bottom:0}.ration-balance{grid-column:1}.ration-meals{grid-column:2;padding-top:0}.meals-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}@media (width<=520px){.entry-form-grid{grid-template-columns:1fr}}@media (width<=350px){.ration-balance{padding-inline:10px}.ration-balance__heading{gap:6px}.ration-balance__heading h1{font-size:17px}.ration-balance__status>svg{display:none}.macro-overview{grid-template-columns:96px minmax(0,1fr);gap:9px}.macro-ring{width:96px}.macro-ring:after,.macro-ring.is-empty:after{width:66px}.macro-ring strong{max-width:64px;font-size:17px}.macro-legend>div{grid-template-columns:4px minmax(37px,.7fr) minmax(0,1.3fr);gap:5px}.macro-legend span,.macro-legend strong{font-size:9px}.ration-energy-progress{grid-template-columns:auto minmax(28px,1fr) auto;gap:5px}.ration-energy-progress>b{display:none}.ration-meals .section-heading{gap:8px}.ration-meals .section-heading .button-primary{padding-inline:10px}.meal-entry__main{grid-template-columns:28px minmax(0,1fr) auto;gap:6px}.meal-entry__energy small{display:none}.ration-portion{flex-direction:column;align-items:stretch}.ration-stepper{grid-template-columns:44px minmax(0,1fr) 44px}}@media (prefers-reduced-motion:reduce){.ration-page-skeleton i,.ration-meals-skeleton i{animation-duration:0s}}.food-page{min-width:0}.food-page-heading{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;min-height:64px;padding-bottom:12px;display:flex}.food-page-heading>div:first-child{gap:1px;min-width:0;display:grid}.food-page-heading>div:first-child>span{color:var(--color-text-secondary);text-transform:uppercase;font-size:10px;font-weight:700}.food-page-heading h1{margin:0;font-size:24px;line-height:1.15}.food-page-heading p{color:var(--color-text-secondary);margin:0;font-size:10px}.food-page-heading__actions{flex:none;align-items:center;gap:8px;display:flex}.food-page-heading__actions .button-primary{min-height:44px}.food-page-heading__actions svg{width:18px}.food-controls{border-bottom:1px solid var(--color-border);gap:8px;padding:12px 0;display:grid}.food-search-sort{grid-template-columns:minmax(0,1fr) minmax(92px,126px);gap:8px;min-width:0;display:grid}.food-search-sort .search-field{min-width:0;margin:0}.food-sort-control{border:1px solid var(--color-border);border-radius:var(--radius-control);min-width:0;height:48px;color:var(--color-text-secondary);background:var(--color-surface);grid-template-columns:18px minmax(0,1fr);align-items:center;gap:5px;padding:0 8px;display:grid}.food-sort-control svg{width:17px}.food-sort-control select{width:100%;min-width:0;height:46px;color:var(--color-text-primary);background:0 0;border:0;outline:0;font-size:16px;font-weight:650}.food-folder-strip{overscroll-behavior-x:contain;scrollbar-width:none;gap:6px;min-width:0;padding-bottom:1px;display:flex;overflow-x:auto}.food-folder-strip::-webkit-scrollbar{display:none}.food-folder-strip button{border:1px solid var(--color-border);border-radius:var(--radius-control);min-width:44px;min-height:44px;color:var(--color-text-secondary);background:var(--color-surface);cursor:pointer;white-space:nowrap;flex:none;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:11px;font-weight:650;display:inline-flex}.food-folder-strip button small{border-radius:var(--radius-small);min-width:18px;color:inherit;background:var(--color-surface-muted);padding:2px 4px;font-size:9px}.food-folder-strip button.is-active{color:var(--color-action-primary);border-color:var(--color-action-primary);background:var(--color-action-soft)}.food-folder-strip .food-folder-manager{width:44px;padding:0}.food-folder-manager svg{width:18px}.selection-bar{z-index:12;border-bottom:1px solid var(--color-border);background:var(--color-background);grid-template-columns:minmax(100px,1fr) auto auto auto;align-items:center;gap:6px;min-height:62px;margin:0;padding:8px 0;display:grid;position:sticky;top:0}.selection-bar strong{min-width:0;margin:0;font-size:12px}.selection-bar button{min-height:44px;padding-inline:9px;font-size:10px}.food-catalog{min-height:260px;padding-top:10px}.food-catalog__heading{justify-content:space-between;align-items:center;gap:12px;min-height:44px;margin-bottom:3px;display:flex}.food-catalog__heading h2{overflow-wrap:anywhere;margin:0;font-size:16px}.food-catalog__heading p{color:var(--color-text-secondary);margin:2px 0 0;font-size:10px}.food-catalog__heading .button-secondary{min-height:44px}.food-list{display:grid}.food-row{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:4px;min-width:0;min-height:68px;display:grid}.food-row.is-selection-mode{grid-template-columns:44px minmax(0,1fr) 44px}.food-row.is-selected{background:color-mix(in srgb, var(--color-action-primary) 8%, transparent)}.food-select{width:44px;height:44px;color:var(--color-action-primary);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.food-select>span{border:1px solid var(--color-border);background:var(--color-surface);border-radius:5px;width:20px;height:20px}.food-select svg{width:20px;height:20px;color:var(--color-action-on-primary);background:var(--color-action-primary);border-radius:5px;padding:3px}.food-row__content{min-width:0;min-height:68px;color:var(--color-text-primary);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:9px;padding:6px 0;display:grid}.food-row__type{border-radius:var(--radius-control);width:38px;height:38px;color:var(--color-action-primary);background:var(--color-action-soft);place-items:center;display:grid}.food-row__type svg{width:17px}.food-row__copy{gap:2px;min-width:0;display:grid}.food-row__copy>strong{overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.25;display:-webkit-box;overflow:hidden}.food-row__copy>span{min-width:0;color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:9px;line-height:1.3;overflow:hidden}.food-row__copy>small{color:var(--color-link);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.food-folder-action{border-radius:var(--radius-control);width:44px;height:44px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.food-folder-action svg{width:18px}.food-list>.load-more{justify-self:center}.food-list-skeleton{gap:0}.food-list-skeleton i{border-bottom:1px solid var(--color-border);background:linear-gradient(100deg, transparent 10%, var(--color-surface-muted) 35%, transparent 60%);background-size:220% 100%;height:68px;animation:1.2s ease-in-out infinite skeleton-loading;display:block}.food-empty{min-height:230px;color:var(--color-text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px 8px;display:flex}.food-empty>svg{border-radius:var(--radius-control);width:38px;height:38px;color:var(--color-action-primary);background:var(--color-action-soft);padding:9px}.food-empty>strong{color:var(--color-text-primary);font-size:15px}.food-empty>span{max-width:340px;font-size:11px;line-height:1.4}.food-empty>div{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:4px;display:flex}.sheet-actions{justify-content:flex-end;gap:8px;display:flex}.sheet-actions>:first-child{margin-right:auto}.sheet-actions>:only-child{margin-left:auto;margin-right:0}.sheet-actions a{text-decoration:none}.share-result{gap:14px;display:grid}.share-status{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.share-status span{color:var(--color-success);font-size:12px;font-weight:700}.share-status small{color:var(--color-text-secondary);font-size:10px}.share-link{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-muted);grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px;min-width:0;min-height:48px;padding:0 10px;display:grid}.share-link svg{width:18px;color:var(--color-action-primary)}.share-link input{width:100%;min-width:0;color:var(--color-text-primary);background:0 0;border:0;outline:0;font-size:13px}.revoke-link{min-height:44px;color:var(--color-danger);cursor:pointer;background:0 0;border:0;justify-self:center;font-weight:700}.bottom-sheet:has(.food-editor--dish){width:min(100%,980px)}.food-editor{gap:14px;min-width:0;display:grid}.food-editor .form-error{margin:0}.food-editor-details{border-block:1px solid var(--color-border)}.food-editor-details summary{min-height:44px;color:var(--color-text-secondary);cursor:pointer;align-items:center;font-size:12px;font-weight:700;display:flex}.food-editor-details[open] summary{margin-bottom:12px}.ingredient-metadata-fields,.barcode-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-bottom:14px;display:grid}.nutrition-fields{min-width:0}.dish-main-fields{grid-template-columns:minmax(0,1.5fr) minmax(180px,.5fr);gap:12px;display:grid}.dish-workspace{grid-template-columns:minmax(0,1.25fr) minmax(250px,.75fr);align-items:start;gap:20px;min-width:0;display:grid}.dish-composition,.dish-picker{min-width:0}.dish-components__heading{border-bottom:1px solid var(--color-border);min-height:36px;color:var(--color-text-secondary);justify-content:space-between;align-items:center;font-size:12px;display:flex}.dish-components__heading span{text-align:center;min-width:24px}.dish-components{min-width:0;display:grid}.dish-component{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) 92px 132px;align-items:center;gap:6px;min-width:0;min-height:64px;padding:6px 0;display:grid}.dish-component>div:first-child{flex-direction:column;min-width:0;display:flex}.dish-component>div:first-child strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.3;overflow:hidden}.dish-component small{color:var(--color-text-secondary);font-size:9px}.dish-component .form-field{gap:2px;min-width:0}.dish-component .form-field>label{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.dish-component .form-field input{min-width:0;min-height:44px;padding-inline:8px}.dish-component .form-field__message{font-size:9px}.component-actions{justify-content:flex-end;display:flex}.component-actions button{width:44px;height:44px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.component-actions button:last-child{color:var(--color-danger)}.component-actions button:disabled{opacity:.3}.component-actions svg{width:16px}.dish-picker{gap:8px;display:grid;position:sticky;top:0}.dish-picker .search-field{margin:0}.ingredient-picker-results{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);max-height:min(46dvh,420px);overflow-y:auto}.ingredient-picker-results button{border:0;border-bottom:1px solid var(--color-border);width:100%;min-height:52px;color:var(--color-text-primary);text-align:left;cursor:pointer;background:0 0;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:7px;padding:6px 9px;display:grid}.ingredient-picker-results button>span{flex-direction:column;min-width:0;display:flex}.ingredient-picker-results strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.ingredient-picker-results small{color:var(--color-text-secondary);font-size:9px}.ingredient-picker-results .picker-load-more{color:var(--color-action-primary);text-align:center;font-weight:700;display:block}.picker-status{border:1px dashed var(--color-border);min-height:96px;color:var(--color-text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:11px;display:flex}.picker-status.is-error{color:var(--color-danger)}.picker-status button{min-height:44px;color:var(--color-action-primary);cursor:pointer;background:0 0;border:0;font-weight:700}.dish-total{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin-top:10px;display:grid}.dish-total div{border-top:2px solid var(--color-energy);background:color-mix(in srgb, var(--color-energy) 7%, var(--color-surface));flex-direction:column;min-width:0;padding:7px 5px;display:flex}.dish-total div:nth-child(3){border-top-color:var(--color-macro-protein)}.dish-total div:nth-child(4){border-top-color:var(--color-macro-fat)}.dish-total div:nth-child(5){border-top-color:var(--color-macro-carbs)}.dish-total span{color:var(--color-text-secondary);font-size:8px;line-height:1.25}.dish-total strong{overflow-wrap:anywhere;margin-top:2px;font-size:11px}.inline-empty.has-error{color:var(--color-danger);border-color:var(--color-danger)}.duplicate-notice{border-left:3px solid var(--color-energy);background:color-mix(in srgb, var(--color-energy) 8%, var(--color-surface));align-items:center;gap:10px;min-width:0;padding:10px;display:flex}.duplicate-notice>div:first-child{flex-direction:column;flex:1;min-width:0;display:flex}.duplicate-notice strong{font-size:12px}.duplicate-notice span{overflow-wrap:anywhere;color:var(--color-text-secondary);font-size:11px}.duplicate-notice__actions{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.duplicate-notice button{min-height:44px;color:var(--color-action-primary);cursor:pointer;background:0 0;border:0;padding:0 8px;font-size:11px;font-weight:700}.folder-create{grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:8px;margin-bottom:12px;display:grid}.folder-create input{border:1px solid var(--color-border);border-radius:var(--radius-control);min-width:0;height:48px;color:var(--color-text-primary);background:var(--color-surface);padding-inline:12px;font-size:16px}.folder-manager-list{border-top:1px solid var(--color-border);display:grid}.folder-manager-row{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;min-width:0;min-height:58px;display:grid}.folder-manager-row.is-dragging{opacity:.45}.folder-manager-row__name{min-width:0;color:var(--color-text-secondary);cursor:grab;grid-template-columns:28px minmax(0,1fr);align-items:center;display:grid}.folder-manager-row__name>svg{width:17px}.folder-manager-row__name>span{flex-direction:column;min-width:0;display:flex}.folder-manager-row__name strong{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.folder-manager-row__name small{color:var(--color-text-secondary);font-size:9px}.folder-manager-row__actions{display:flex}.folder-manager-row__actions button,.folder-manager-row form button{width:44px;height:44px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.folder-manager-row__actions button:disabled{opacity:.3}.folder-manager-row__actions button.is-danger{color:var(--color-danger)}.folder-manager-row__actions svg,.folder-manager-row form svg{width:17px}.folder-manager-row form{grid-column:1/-1;grid-template-columns:minmax(0,1fr) 44px 44px;align-items:center;display:grid}.folder-manager-row form input{border:1px solid var(--color-action-primary);border-radius:var(--radius-control);min-width:0;height:48px;color:var(--color-text-primary);background:var(--color-surface);padding-inline:9px;font-size:16px}.folder-manager-status{color:var(--color-text-secondary);text-align:center;margin:10px 0 0;font-size:11px}.barcode-scanner,.barcode-review{gap:14px;min-width:0;display:grid}.scanner-preview{aspect-ratio:4/3;border-block:1px solid var(--color-border);color:#f4f6f5;background:#17191b;border-inline:0;border-radius:0;place-items:center;width:calc(100% + 4px);margin-inline:-2px;display:grid;position:relative;overflow:hidden}.scanner-preview>svg{opacity:.55;width:42px;height:42px}.scanner-preview>span{z-index:2;font-size:12px;position:absolute;bottom:18px}.scanner-preview video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.scanner-frame{z-index:1;aspect-ratio:2.15;border-radius:var(--radius-small);opacity:0;border:2px solid #ffffffe0;width:min(78%,310px);position:absolute;box-shadow:0 0 0 100vmax #00000059}.scanner-preview.is-active .scanner-frame{opacity:1}.scanner-actions{align-items:center;gap:8px;display:flex}.scanner-actions>:first-child{flex:1}.scanner-actions .icon-button.is-active{color:var(--color-action-on-primary);border-color:var(--color-action-primary);background:var(--color-action-primary)}.scanner-message{border-left:3px solid var(--color-energy);color:var(--color-text-primary);background:color-mix(in srgb, var(--color-energy) 8%, var(--color-surface));align-items:flex-start;gap:8px;margin:0;padding:10px;font-size:11px;line-height:1.45;display:flex}.scanner-message svg{width:17px;height:17px;color:var(--color-energy);flex:none}.barcode-manual{grid-template-columns:22px minmax(0,1fr) 44px;align-items:center;gap:8px;display:grid}.barcode-manual>svg{width:19px;color:var(--color-text-secondary)}.barcode-manual input{border:1px solid var(--color-border);border-radius:var(--radius-control);min-width:0;height:44px;color:var(--color-text-primary);background:var(--color-surface);padding-inline:11px;font-size:16px}.scanner-status{color:var(--color-text-secondary);text-align:center;margin:0;font-size:11px}.barcode-lookup-error{border-block:1px solid var(--color-border);color:var(--color-danger);grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 0;display:grid}.barcode-lookup-error>svg{width:18px}.barcode-lookup-error>div{flex-direction:column;min-width:0;display:flex}.barcode-lookup-error strong{font-size:12px}.barcode-lookup-error span{color:var(--color-text-secondary);font-size:10px}.barcode-not-found{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:360px;display:flex}.barcode-not-found>svg{border-radius:var(--radius-control);width:46px;height:46px;color:var(--color-action-primary);background:var(--color-action-soft);padding:10px}.barcode-not-found h3{max-width:340px;margin:0;font-size:18px}.barcode-not-found code{color:var(--color-link)}.barcode-not-found p{max-width:380px;color:var(--color-text-secondary);margin:0 0 6px;font-size:11px;line-height:1.45}.barcode-review-status{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:10px;min-height:42px;display:flex}.barcode-review-status span{border-radius:var(--radius-small);padding:4px 7px;font-size:10px;font-weight:750}.barcode-review-status .is-complete{color:var(--color-success);background:color-mix(in srgb, var(--color-success) 10%, transparent)}.barcode-review-status .is-incomplete,.barcode-review-status .is-derived{color:var(--color-energy);background:color-mix(in srgb, var(--color-energy) 10%, transparent)}.barcode-review-status small{color:var(--color-text-secondary);font-size:9px}.barcode-product-heading{border-bottom:1px solid var(--color-border);grid-template-columns:88px minmax(0,1fr);align-items:center;gap:12px;min-width:0;padding-bottom:14px;display:grid}.barcode-product-heading>a,.barcode-photo-fallback{border:1px solid var(--color-border);background:var(--color-background);place-items:center;width:88px;height:88px;display:grid;overflow:hidden}.barcode-product-heading img{object-fit:contain;width:100%;height:100%}.barcode-photo-fallback{color:var(--color-text-secondary);align-content:center;gap:3px}.barcode-photo-fallback svg{width:24px}.barcode-photo-fallback span{font-size:8px}.barcode-product-heading>span{flex-direction:column;gap:3px;min-width:0;display:flex}.barcode-product-heading strong{overflow-wrap:anywhere;white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;line-height:1.3;display:-webkit-box;overflow:hidden}.barcode-product-heading small{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.barcode-product-heading code{color:var(--color-link);font-size:10px}.barcode-warnings{border:1px solid var(--color-border);background:var(--color-background);gap:4px;padding:9px;display:grid}.barcode-warnings p{color:var(--color-text-secondary);align-items:flex-start;gap:6px;margin:0;font-size:10px;line-height:1.45;display:flex}.barcode-warnings svg{width:14px;color:var(--color-energy);flex:none}.barcode-source-fields{gap:10px;padding-bottom:14px;display:grid}.off-attribution{width:fit-content;min-height:44px;color:var(--color-link);align-items:center;font-size:11px;font-weight:700;text-decoration:none;display:inline-flex}.off-attribution svg{width:16px}.barcode-confirmation{border-block:1px solid var(--color-border);cursor:pointer;grid-template-columns:44px minmax(0,1fr);align-items:center;min-height:52px;display:grid}.barcode-confirmation input{width:20px;height:20px;accent-color:var(--color-action-primary);justify-self:center}.barcode-confirmation span{font-size:11px;line-height:1.4}.share-preview-heading>div>small{color:var(--color-text-secondary);text-transform:uppercase;font-size:9px;font-weight:700}.share-preview-heading h1{margin:1px 0 2px}.share-preview-expiry{border-bottom:1px solid var(--color-border);min-height:44px;color:var(--color-text-secondary);align-items:center;gap:8px;padding-block:4px;font-size:11px;display:flex}.share-preview-expiry svg{width:17px;color:var(--color-action-primary);flex:none}.share-preview-list-heading{justify-content:space-between;align-items:end;gap:10px;display:flex}.share-preview-list-heading h2{margin:0;font-size:15px}.share-preview-list-heading span{color:var(--color-text-secondary);text-align:right;font-size:9px}@media (hover:hover) and (pointer:fine){.food-folder-strip button:hover,.food-row__content:hover,.food-folder-action:hover,.food-select:hover{background:var(--color-action-soft)}}@media (width>=800px){.food-page-heading,.food-controls,.food-catalog,.selection-bar{width:min(100%,860px);margin-inline:auto}.food-controls{grid-template-columns:minmax(0,1fr) minmax(260px,.65fr)}.food-search-sort,.food-folder-strip{grid-column:1/-1}.food-controls>.segmented-control{grid-row:2}.barcode-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=520px){.selection-bar{grid-template-columns:minmax(0,1fr) auto}.selection-bar>.button-secondary,.selection-bar>.button-primary{grid-row:2}.selection-bar>.button-secondary{grid-column:1}.selection-bar>.button-primary{grid-column:2}.ingredient-metadata-fields,.barcode-form-grid,.dish-main-fields,.dish-workspace{grid-template-columns:minmax(0,1fr)}.dish-picker{grid-row:1;position:static}.ingredient-picker-results{max-height:210px}.dish-component{grid-template-columns:minmax(0,1fr) 88px}.dish-component .component-actions{grid-column:1/-1;justify-content:flex-end}.dish-total{grid-template-columns:repeat(2,minmax(0,1fr))}.dish-total>div:first-child{grid-column:1/-1}.duplicate-notice{flex-direction:column;align-items:stretch}.duplicate-notice__actions{justify-content:flex-start}.barcode-lookup-error{grid-template-columns:22px minmax(0,1fr)}.barcode-lookup-error .button-secondary{grid-column:1/-1}}@media (width<=350px){.food-page-heading__actions .button-primary{padding-inline:10px}.food-page-heading__actions{gap:5px}.food-search-sort{grid-template-columns:minmax(0,1fr) 92px}.food-sort-control{padding-inline:6px}.food-row.is-selection-mode{grid-template-columns:40px minmax(0,1fr) 44px}}@media (prefers-reduced-motion:reduce){.food-list-skeleton i{animation-duration:0s}}.page--weight{gap:0}.weight-overview{padding-top:3px}.weight-heading{align-items:flex-start}.weight-current-status{justify-content:space-between;align-items:center;gap:18px;min-width:0;padding:14px 0 18px;display:flex}.weight-current-value{align-items:center;gap:11px;min-width:0;display:flex}.weight-current-value>svg{width:26px;height:26px;color:var(--color-action-primary);flex:0 0 26px}.weight-current-value>strong{font-variant-numeric:tabular-nums;white-space:nowrap;min-width:0;font-size:40px;line-height:1}.weight-current-value>strong small{color:var(--color-text-secondary);font-size:15px;font-weight:650}.weight-change{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-muted);grid-template-columns:18px minmax(0,1fr);align-items:center;column-gap:6px;min-width:112px;padding:9px 10px;display:grid}.weight-change svg{width:18px;height:18px;color:var(--color-text-secondary);grid-row:1/3}.weight-change strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px}.weight-change span{color:var(--color-text-primary);white-space:nowrap;font-size:9px}.weight-goal-summary{border-top:1px solid var(--color-border);margin-top:0;padding:16px 0 0}.weight-goal-summary__title{grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;display:grid}.weight-goal-summary__title>span{border-radius:var(--radius-control);width:38px;height:38px;color:var(--color-macro-protein);background:color-mix(in srgb, var(--color-macro-protein) 11%, transparent);place-items:center;display:grid}.weight-goal-summary__title>span svg{width:20px}.weight-goal-summary__title>div{grid-template-columns:auto minmax(0,1fr);align-items:baseline;column-gap:8px;min-width:0;display:grid}.weight-goal-summary__title>div small{color:var(--color-text-secondary);text-transform:uppercase;grid-column:1;font-size:10px;font-weight:700}.weight-goal-summary__title>div strong{text-overflow:ellipsis;white-space:nowrap;grid-column:1;font-size:17px;overflow:hidden}.weight-goal-summary__title>div span{color:var(--color-text-secondary);grid-area:2/2;font-size:11px;line-height:1.25}.weight-goal-progress{gap:7px;margin:13px 0 0 50px;display:grid}.weight-goal-progress>div{color:var(--color-text-secondary);justify-content:space-between;gap:12px;font-size:11px;display:flex}.weight-goal-progress>div strong{color:var(--color-text-primary)}.weight-goal-progress>small{color:var(--color-text-secondary);font-size:10px}.weight-goal-hint{color:var(--color-text-secondary);margin:12px 0 0 50px;font-size:11px;line-height:1.45}.weight-dynamics{position:relative}.weight-dynamics>.section-heading{margin-bottom:12px}.weight-dynamics>.section-heading h2{font-size:17px}.weight-dynamics>.section-heading p{font-variant-numeric:tabular-nums}.range-select{min-width:148px;height:var(--form-control-height);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);align-items:center;gap:6px;padding:0 7px 0 10px;display:flex}.range-select svg{width:17px;color:var(--color-text-secondary);flex:0 0 17px}.range-select select{width:100%;min-width:0;height:100%;color:var(--color-text-primary);cursor:pointer;background:0 0;border:0;outline:0;font-size:16px;font-weight:700}.custom-range{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:end;gap:8px;margin:0 0 14px;padding:12px 0;display:grid}.custom-range label{min-width:0;color:var(--color-text-secondary);gap:4px;font-size:11px;font-weight:700;display:grid}.custom-range input{width:100%;min-width:0;min-height:var(--form-control-height);border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-text-primary);background:var(--color-surface);padding:0 8px;font-size:16px}.custom-range .button-secondary{min-height:var(--form-control-height)}.custom-range .form-error{grid-column:1/-1}.weight-window{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:10px 0;display:flex}.weight-window__summary{flex-direction:column;gap:2px;min-width:0;display:flex}.weight-window__summary span{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11px;overflow:hidden}.weight-window__summary strong{font-size:14px}.weight-window__controls{grid-template-columns:repeat(5, var(--control-min-size));flex:none;gap:4px;display:grid}.weight-window__controls .icon-button{background:0 0;border-color:#0000}.weight-window__controls .icon-button:hover:not(:disabled){border-color:var(--color-border);background:var(--color-surface-muted)}.weight-window__controls .icon-button:disabled{opacity:.35;cursor:default;transform:none}.weight-gesture-hint{color:var(--color-text-secondary);text-align:center;margin:8px 0 0;font-size:10px}.weight-chart{touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:grab;width:100%;height:300px;min-height:300px;margin-top:5px;position:relative;overflow:hidden}.weight-chart.is-gesturing{cursor:grabbing}.weight-chart__canvas{width:100%;height:100%}.weight-chart :is(.recharts-cartesian-axis-tick-value,.recharts-label){fill:var(--color-text-secondary)}.weight-chart-point{cursor:pointer;outline:none}.weight-chart-hit-area{fill:#0000;stroke:#0000;pointer-events:all}.weight-chart-dot{fill:var(--color-surface);stroke:var(--color-action-primary);stroke-width:3px;pointer-events:none}.weight-chart-point:focus-visible .weight-chart-dot{fill:var(--color-action-primary);stroke:var(--color-surface);stroke-width:4px}.weight-tooltip{border:1px solid var(--color-border);border-radius:var(--radius-small);min-width:132px;max-width:min(190px,100vw - 32px);color:var(--color-text-primary);background:var(--color-surface);box-shadow:var(--shadow-tooltip);flex-direction:column;gap:3px;padding:9px 11px;display:flex}.weight-tooltip span,.weight-tooltip small{color:var(--color-text-secondary);font-size:11px}.weight-tooltip strong{font-size:15px}.weight-tooltip--selected{z-index:4;pointer-events:auto;position:absolute;top:8px;right:8px}.weight-tooltip--selected button{border:0;border-top:1px solid var(--color-border);min-height:34px;color:var(--color-link);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:5px;margin-top:4px;padding:0 8px;font-size:11px;font-weight:700;display:inline-flex}.weight-tooltip--selected button svg{width:14px;height:14px}.weight-chart__loading{z-index:5;border:1px solid var(--color-border);border-radius:var(--radius-small);min-height:28px;color:var(--color-text-secondary);background:color-mix(in srgb, var(--color-surface) 92%, transparent);box-shadow:var(--shadow-tooltip);pointer-events:none;white-space:nowrap;align-items:center;gap:7px;padding:4px 9px;font-size:10px;display:inline-flex;position:absolute;top:5px;left:50%;transform:translate(-50%)}.weight-chart__loading span{border:2px solid var(--color-border);border-top-color:var(--color-action-primary);border-radius:50%;width:11px;height:11px;animation:.8s linear infinite weight-loading-spin}@keyframes weight-loading-spin{to{transform:rotate(360deg)}}.chart-accessible-summary{color:var(--color-text-secondary);margin:2px 0 0;font-size:11px;line-height:1.4}.weight-chart-legend{color:var(--color-text-secondary);flex-wrap:wrap;align-items:center;gap:8px 15px;margin-top:10px;font-size:11px;display:flex}.weight-chart-legend span{align-items:center;gap:6px;display:inline-flex}.weight-chart-legend i{background:var(--color-action-primary);border-radius:2px;width:21px;height:3px;display:inline-block}.weight-chart-legend i.is-average{background:repeating-linear-gradient(to right, var(--color-text-secondary) 0 5px, transparent 5px 8px);height:2px}.weight-chart-legend i.is-target{background:repeating-linear-gradient(to right, var(--color-energy) 0 6px, transparent 6px 10px);height:2px}.chart-empty,.weight-chart-placeholder{border-bottom:1px solid var(--color-border);min-height:280px;position:relative;overflow:hidden}.chart-grid{background:repeating-linear-gradient(to bottom, transparent 0, transparent 54px, var(--color-border) 55px);opacity:.65;position:absolute;inset:12px 0 24px}.chart-empty .empty-state{min-height:280px;position:relative}.weight-chart-placeholder{color:var(--color-text-secondary);place-items:center;font-size:12px;display:grid}.weight-chart-placeholder span{border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-surface);padding:7px 10px;position:relative}.weight-history-list{border-top:1px solid var(--color-border)}.weight-history-list>button{border:0;border-bottom:1px solid var(--color-border);width:100%;min-height:62px;color:var(--color-text-primary);text-align:left;cursor:pointer;background:0 0;grid-template-columns:minmax(125px,.8fr) minmax(85px,auto) minmax(0,1fr) 44px;align-items:center;gap:8px;padding:7px 0;display:grid}.weight-history-list>button:hover{background:color-mix(in srgb, var(--color-text-primary) 4%, transparent)}.weight-history-list>button>svg{width:16px;color:var(--color-text-secondary);justify-self:center}.weight-history-list__date,.weight-history-list__value{flex-direction:column;min-width:0;display:flex}.weight-history-list__date strong,.weight-history-list__value strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.weight-history-list__date small,.weight-history-list__value small{color:var(--color-text-secondary);margin-top:2px;font-size:11px}.weight-history-list__value small:is(.is-up,.is-down){color:var(--color-link)}.weight-history-list__note{min-width:0;color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.weight-entry-form{gap:16px;display:grid}.weight-form-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}@media (width>=800px){.page--weight{grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);align-items:start;gap:30px;display:grid}.page--weight>section{border-top:0}.page--weight>.weight-history{border-top:1px solid var(--color-border);grid-column:1/-1}.weight-current-status{flex-direction:column;align-items:flex-start;gap:14px}.weight-current-value>strong{font-size:44px}.weight-change{width:100%}}@media (width<=620px){.weight-window{flex-direction:column;align-items:stretch}.weight-window__summary{align-items:center}.weight-window__controls{grid-template-columns:repeat(5, minmax(var(--control-min-size), 1fr));width:100%}.weight-window__controls .icon-button{justify-self:center}}@media (width<=520px){.weight-heading .button-primary{padding-inline:12px}.weight-current-status{gap:10px}.weight-current-value{gap:7px}.weight-current-value>svg{flex-basis:22px;width:22px;height:22px}.weight-current-value>strong{font-size:32px}.weight-current-value>strong small{font-size:13px}.weight-change{min-width:106px;padding-inline:8px}.weight-goal-summary__title>div span{grid-area:3/1/auto/-1;margin-top:2px}.weight-goal-progress,.weight-goal-hint{margin-left:0}.weight-chart{height:280px;min-height:280px}.custom-range{grid-template-columns:repeat(2,minmax(0,1fr))}.custom-range .button-secondary{grid-column:1/-1}.weight-history-list>button{grid-template-columns:minmax(112px,1fr) auto 44px}.weight-history-list__note{display:none}.weight-form-actions{flex-direction:column-reverse;align-items:stretch}.weight-form-actions>.button-text{justify-content:center}.weight-form-actions .form-actions{width:100%}.weight-form-actions .form-actions>button{flex:1}}@media (width<=350px){.weight-heading{gap:8px}.weight-heading .button-primary{width:44px;min-width:44px;padding:0;font-size:0}.weight-heading .button-primary svg{margin:0}.weight-current-value>strong{font-size:29px}.weight-window__controls{gap:2px}}@media (prefers-reduced-motion:reduce){.weight-chart__loading span{animation:none}}.page--profile{gap:16px;display:grid}.profile-layout{gap:16px;min-width:0;display:grid}.profile-primary-column,.profile-settings-column{align-content:start;gap:16px;min-width:0;display:grid}.profile-summary{border-bottom:1px solid var(--color-border);grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:13px;min-width:0;padding:8px 2px 16px;display:grid}.profile-avatar{width:54px;height:54px;color:var(--color-action-primary);background:var(--color-action-soft);border-radius:50%;place-items:center;display:grid}.profile-avatar svg{width:26px;height:26px}.profile-avatar img{object-fit:cover;border-radius:inherit;width:100%;height:100%}.profile-identity{min-width:0}.profile-identity>span,.profile-section header>div>span,.profile-section-title>div>span,.profile-danger-zone>div>span{color:var(--color-text-secondary);text-transform:uppercase;font-size:10px;font-weight:750}.profile-identity h1{overflow-wrap:anywhere;margin:2px 0;font-size:20px;line-height:1.15}.profile-identity p{overflow-wrap:anywhere;color:var(--color-text-secondary);margin:0;font-size:12px}.status-badge{border:1px solid var(--color-border);border-radius:var(--radius-small);max-width:118px;color:var(--color-text-secondary);text-align:center;padding:5px 7px;font-size:10px;font-weight:700}.status-badge.is-enabled{border-color:color-mix(in srgb, var(--color-success) 45%, var(--color-border));color:var(--color-success);background:color-mix(in srgb, var(--color-success) 8%, transparent)}.profile-stats{border-block:1px solid var(--color-border);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.profile-stats>div{border-right:1px solid var(--color-border);text-align:center;align-content:center;place-items:center;gap:1px;min-width:0;min-height:76px;padding:8px 3px;display:grid}.profile-stats>div:last-child{border-right:0}.profile-stats svg{width:16px;height:16px;color:var(--color-action-primary)}.profile-stats strong{font-size:17px}.profile-stats span{width:100%;color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.profile-section{border-top:1px solid var(--color-border);min-width:0;padding:15px 0 0}.profile-section>header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:11px;display:flex}.profile-section h2{margin:2px 0 0;font-size:16px}.profile-section-title{align-items:center;gap:10px;margin:0 2px 10px;display:flex}.profile-section-title>svg{width:19px;height:19px;color:var(--color-action-primary)}.profile-goals{padding-top:13px}.profile-goal-grid{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.profile-goal-grid>div{border-right:1px solid var(--color-border);flex-direction:column;gap:3px;min-width:0;padding:11px 7px;display:flex}.profile-goal-grid>div:last-child{border-right:0}.profile-goal-grid span{color:var(--color-text-secondary);font-size:9px}.profile-goal-grid strong{overflow-wrap:anywhere;font-size:13px}.profile-section-empty{border-left:3px solid var(--color-action-primary);color:var(--color-text-secondary);background:var(--color-action-soft);margin:0;padding:13px;font-size:12px;line-height:1.45}.profile-settings-list{border-top:1px solid var(--color-border)}.profile-setting-row{border:0;border-bottom:1px solid var(--color-border);width:100%;min-height:62px;color:inherit;text-align:left;cursor:pointer;background:0 0;grid-template-columns:36px minmax(0,1fr) 18px;align-items:center;gap:10px;padding:7px 2px;display:grid}.profile-setting-row:disabled{opacity:.65;cursor:wait}.profile-setting-row__icon{border-radius:var(--radius-small);width:34px;height:34px;color:var(--color-action-primary);background:var(--color-action-soft);place-items:center;display:grid}.profile-setting-row__icon svg{width:17px;height:17px}.profile-setting-row>span:nth-child(2){flex-direction:column;gap:2px;min-width:0;display:flex}.profile-setting-row strong,.profile-switch-row strong,.profile-reminder-row strong{font-size:13px}.profile-setting-row small,.profile-switch-row small,.profile-reminder-row small{overflow-wrap:anywhere;color:var(--color-text-secondary);font-size:11px;line-height:1.35}.profile-setting-row>svg,.profile-reminder-row button>svg{width:17px;height:17px;color:var(--color-text-tertiary)}.profile-switch-row{border-bottom:1px solid var(--color-border);cursor:pointer;justify-content:space-between;align-items:center;gap:16px;min-height:62px;padding:7px 2px;display:flex}.profile-switch-row>span{flex-direction:column;gap:2px;min-width:0;display:flex}.profile-switch-row input,.profile-reminder-row label input{width:46px;height:26px;accent-color:var(--color-action-primary);cursor:pointer;flex:none}.profile-reminder-row{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) 54px;align-items:center;min-width:0;min-height:62px;display:grid}.profile-reminder-row>button{min-width:0;min-height:62px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(0,1fr) 18px;align-items:center;gap:10px;padding:7px 2px;display:grid}.profile-reminder-row button>span{flex-direction:column;gap:2px;min-width:0;display:flex}.profile-reminder-row>label{cursor:pointer;place-items:center;width:54px;min-height:52px;display:grid}.profile-data-section{padding-bottom:2px}.data-summary{border-left:3px solid var(--color-link);background:color-mix(in srgb, var(--color-link) 7%, transparent);grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;min-width:0;margin-bottom:12px;padding:11px;display:grid}.data-summary svg{width:20px;color:var(--color-link)}.data-summary p{color:var(--color-text-secondary);margin:0;font-size:12px;line-height:1.45}.profile-version{border-top:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 12px;min-height:52px;padding:9px 2px;font-size:12px;display:grid}.profile-version>span{color:var(--color-text-secondary)}.profile-version>strong{text-align:right}.profile-version>small{overflow-wrap:anywhere;color:var(--color-text-tertiary);grid-column:1/-1}.profile-danger-zone{border-top:1px solid color-mix(in srgb, var(--color-danger) 35%, var(--color-border));justify-content:space-between;align-items:center;gap:20px;min-width:0;padding:16px 0 2px;display:flex}.profile-danger-zone h2{margin:2px 0 3px;font-size:15px}.profile-danger-zone p{max-width:620px;color:var(--color-text-secondary);margin:0;font-size:12px;line-height:1.4}.profile-editor-form{gap:16px;min-width:0;display:grid}.profile-editor-note{color:var(--color-text-secondary);margin:0;font-size:13px;line-height:1.45}.profile-choice-list{border-top:1px solid var(--color-border);display:grid}.profile-choice-list button{border:0;border-bottom:1px solid var(--color-border);width:100%;min-height:52px;color:inherit;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;padding:0 4px;display:flex}.profile-choice-list button svg{opacity:0;width:18px;color:var(--color-action-primary)}.profile-choice-list button.is-active{color:var(--color-action-primary);font-weight:750}.profile-choice-list button.is-active svg{opacity:1}.profile-form-error{flex-direction:column;gap:3px;display:flex}.profile-form-error small{overflow-wrap:anywhere;color:inherit;font-family:ui-monospace,monospace}.reminder-editor{background:0 0;border:0;gap:16px;padding:0;display:grid}.reminder-editor__heading{margin-bottom:0}.reminder-editor .weekday-fieldset{margin-top:0}.deletion-confirmation{gap:14px;display:grid}.deletion-confirmation p{color:var(--color-text-secondary);margin:0;font-size:13px;line-height:1.5}.deletion-confirmation p strong{color:var(--color-text-primary)}.deletion-expiry{border-left:3px solid var(--color-energy);padding-left:10px}.deletion-confirmation>.button-danger{width:100%}.profile-loading{gap:16px;padding-top:8px;display:grid}.is-compact .profile-setting-row,.is-compact .profile-switch-row,.is-compact .profile-reminder-row,.is-compact .profile-reminder-row>button{min-height:54px}@media (width>=800px){.profile-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px}.profile-primary-column{align-self:start;position:sticky;top:0}.profile-data-section,.profile-danger-zone{width:min(100%,760px);margin-inline:auto}}@media (width<=520px){.profile-summary{grid-template-columns:48px minmax(0,1fr)}.profile-avatar{width:48px;height:48px}.status-badge{grid-column:2;justify-self:start;margin:-6px 0 0}.profile-danger-zone{flex-direction:column;align-items:flex-start;gap:8px}.profile-danger-zone .button-text{justify-content:flex-start;width:100%}}@media (width<=350px){.profile-goal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-goal-grid>div:nth-child(2){border-right:0}.profile-goal-grid>div:nth-child(-n+2){border-bottom:1px solid var(--color-border)}.weekday-picker{grid-template-columns:repeat(4,minmax(44px,1fr))}}.product-state{width:100%;min-height:var(--app-stable-height);color:var(--color-text-primary);background:var(--color-background);place-items:center;padding:28px 18px;display:grid}.product-state.is-contained{min-height:360px;padding:30px 16px}.product-state>section{text-align:center;width:min(100%,480px)}.product-state__mark{border-radius:var(--radius-control);width:52px;height:52px;color:var(--color-action-primary);background:var(--color-action-soft);place-items:center;margin:0 auto 18px;display:grid}.product-state__mark svg{width:25px;height:25px}.product-state__mark.is-error{color:var(--color-danger);background:var(--color-danger-soft)}.product-state__mark.is-success{color:var(--color-success);background:color-mix(in srgb, var(--color-success) 12%, transparent)}.product-state__mark.is-busy svg{animation:1s linear infinite product-state-spin}.product-state h1{margin:7px 0 9px;font-size:24px;line-height:1.2}.product-state section>p:not(.eyebrow){max-width:420px;color:var(--color-text-secondary);margin:0 auto;font-size:14px;line-height:1.55}.product-state__action{justify-content:center;margin-top:20px;display:flex}.product-state__action a{align-items:center;text-decoration:none;display:inline-flex}@keyframes product-state-spin{to{transform:rotate(360deg)}}.page--system-state{place-items:center;display:grid}.policy-page{min-height:100dvh;color:var(--color-text-primary);background:var(--color-background);padding:28px 18px 50px}.policy-page article{width:min(100%,680px);margin:0 auto}.policy-back{min-height:44px;color:var(--color-link);align-items:center;gap:7px;margin-bottom:24px;font-weight:700;text-decoration:none;display:inline-flex}.policy-page h1{max-width:620px;margin:7px 0 12px;font-size:27px;line-height:1.2}.policy-lead{max-width:650px;color:var(--color-text-secondary);margin-bottom:28px;font-size:15px;line-height:1.55}.policy-page section{border-top:1px solid var(--color-border);grid-template-columns:38px minmax(0,1fr);gap:12px;padding:19px 0;display:grid}.policy-page section>svg{color:var(--color-action-primary)}.policy-page h2{margin-bottom:6px;font-size:16px}.policy-page section p,.policy-note{color:var(--color-text-secondary);margin:0;font-size:13px;line-height:1.55}.policy-note{border-top:1px solid var(--color-border);padding-top:20px}.share-preview-page{gap:16px;display:grid}.share-preview-heading{border-bottom:1px solid var(--color-border);align-items:center;gap:12px;min-width:0;padding:4px 0 15px;display:flex}.share-preview-heading>span{border-radius:var(--radius-control);width:44px;height:44px;color:var(--color-action-primary);background:var(--color-action-soft);flex:0 0 44px;place-items:center;display:grid}.share-preview-heading>div{min-width:0}.share-preview-heading h1{overflow-wrap:anywhere;margin:2px 0;font-size:19px}.share-preview-heading p{color:var(--color-text-secondary);margin:0;font-size:12px}.share-preview-expiry{min-width:0}.share-preview-list{border-top:1px solid var(--color-border)}.share-preview-row{min-width:0}.import-complete{border-left:3px solid var(--color-success)}@media (width<=350px){.product-state{padding-inline:14px}.product-state h1{font-size:22px}.policy-page{padding-inline:14px}}
