@import "https://fonts.googleapis.com/css2?family=Literata:opsz,wght@7..72,400..600&family=Schibsted+Grotesk:wght@400..700&family=Young+Serif&display=swap";:root{--color-bg:#f5f4f0;--color-surface:#fff;--color-surface-sunk:#ecebe5;--color-surface-past:transparent;--color-surface-hover:#efeee8;--color-chip:#ecebe5;--color-input:#fff;--color-nav-hover:#ecebe5;--color-hover-tint:#1f2a220f;--color-stack-1:#eceae3;--color-stack-2:#e2dfd6;--color-border:#e4e2da;--color-border-card:transparent;--color-divider:#eceae3;--color-border-sunk:#dad7cd;--color-border-strong:#d9d6cc;--color-border-input:#878c86;--color-border-dashed:#c9c6bb;--color-text:#1f2a22;--color-text-secondary:#3d4840;--color-text-muted:#5e6861;--color-placeholder:#6b746d;--color-text-disabled:#a3a8a2;--color-primary:#4e6b4a;--color-primary-hover:#3e5a3a;--color-primary-soft:#eaefe5;--color-primary-soft-strong:#dce5d4;--color-primary-soft-text:#2f4a2c;--color-primary-line:#a9b79f;--color-primary-muted:#c9d3c1;--color-on-primary:#fff;--color-on-primary-muted:#e3ebdc;--color-on-primary-divider:#fffbfa33;--color-leaf:#8da47e;--color-terracotta:#c2663f;--color-terracotta-ring:#c2663f4d;--color-avoid-soft:#f7e7e1;--color-warning-text:#9c3d2b;--color-error:#9c3d2b;--color-danger:#9c3d2b;--color-danger-hover:#7f3022;--avatar-1:#4e6b4a;--avatar-2:#a4532f;--avatar-3:#7a5b2f;--color-press:#ecebe5;--color-glass:#ffffffd1;--glass-filter:blur(20px) saturate(180%);--color-glass-edge:#1f2a2214;--color-scroll-fade:#f5f4f0d9;--color-sheet-backdrop:#2a332c;--color-primary-ring:#4e6b4a2e;--press-scale:.97;--duration-press:.12s;--ease-out:cubic-bezier(.2, .8, .2, 1);--duration-spring:.35s;--duration-reveal:.32s;--duration-fade:.15s;--ease-pop:cubic-bezier(.3, 1.4, .5, 1);--duration-pop:.22s;--transition-press:transform var(--duration-press) var(--ease-out), background-color var(--duration-press) ease, opacity var(--duration-press) ease;--font-body:"Schibsted Grotesk", system-ui, sans-serif;--font-display:"Literata", Georgia, serif;--font-brand:"Young Serif", Georgia, serif;--radius-sm:12px;--radius-md:12px;--radius-strip:16px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:20px;--radius-pill:999px;--radius-bar:4px;--shadow-card:none;--shadow-card-hover:none;--shadow-stack:0 0 0 1px #1f2a220f;--shadow-primary:none;--shadow-selected:0 1px 2px #1f2a2214;--shadow-nav:none;--shadow-overlay:0 12px 32px #1f2a221f, 0 1px 2px #1f2a220f;--shadow-toast:0 12px 32px #1f2a221f, 0 1px 2px #1f2a220f;--shadow-panel:0 12px 32px #1f2a221f, 0 1px 2px #1f2a220f;--shadow-sheet:0 -12px 32px #1f2a221f;--color-scrim:#1f2a223d;--focus-ring:2px solid #4e6b4a;--sidebar-width:232px;--tab-bar-height:80px;--top-bar-height:56px;--sheet-top:calc(60px + env(safe-area-inset-top,0px));--sheet-page-scale:.94;--sheet-page-peek:14px;font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);font-synthesis:none;font-optical-sizing:auto;-webkit-font-smoothing:antialiased}@media (prefers-contrast:more){:root{--color-border-card:var(--color-border)}}*{box-sizing:border-box}@keyframes reveal{0%{opacity:0;transform:translateY(-6px)}}@keyframes fade-in{0%{opacity:0}}body{background:var(--color-bg);min-width:320px;margin:0;font-size:.9375rem;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--color-primary-hover)}a:hover{color:var(--color-primary-soft-text)}:focus-visible{outline:var(--focus-ring);outline-offset:2px}::placeholder{color:var(--color-placeholder);opacity:1}.turnstile{gap:8px;display:grid}.turnstile .form-error{margin:0}.expand-icon{transition:transform var(--duration-spring) var(--ease-out);flex:none}.expand-icon.is-open{transform:rotate(180deg)}@media (prefers-reduced-motion:reduce){.expand-icon{transition:none}}.button{border-radius:var(--radius-pill);text-align:center;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;gap:8px;max-width:100%;padding:6px 20px;font-size:.9375rem;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.button>svg{flex:none}.button:disabled{opacity:.5;cursor:not-allowed}.button--sm{gap:6px;min-height:40px;padding:6px 16px;font-size:.875rem}.button--sm.button--with-icon{padding:6px 16px 0 12px}.button--md{min-height:46px}.button--md.button--with-icon{padding:6px 20px 0 16px}.button--lg{min-height:48px;padding:6px 22px}.button--lg.button--with-icon{gap:10px;padding:6px 24px 0 20px}.button--block{width:100%;display:flex}.button--disclosure.button--sm{padding:6px 12px 0 14px}.button--disclosure.button--md{padding:6px 16px 0 20px}.button--primary,.button--primary:hover{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.button--primary:hover:not(:disabled){border-color:var(--color-primary-hover);background:var(--color-primary-hover)}.button--secondary,.button--secondary:hover{border-color:var(--color-border-strong);background:var(--color-surface);color:var(--color-text)}.button--secondary:hover:not(:disabled){background:var(--color-chip)}.button--primary.button--danger,.button--primary.button--danger:hover{border-color:var(--color-danger);background:var(--color-danger);font-weight:700}.button--primary.button--danger:hover:not(:disabled){border-color:var(--color-danger-hover);background:var(--color-danger-hover)}.button--secondary.button--danger,.button--secondary.button--danger:hover{border-color:var(--color-danger);color:var(--color-danger);font-weight:700}.button--soft,.button--soft:hover{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary-soft-text);font-weight:700}.button--soft:hover:not(:disabled){color:var(--color-primary-hover)}.button--ghost{padding:6px 12px}.button--ghost,.button--ghost:hover{color:var(--color-primary);background:0 0}.button--ghost.button--with-icon{padding:6px 12px}.button--ghost:hover:not(:disabled){color:var(--color-primary-hover)}.button--ghost.button--neutral,.button--ghost.button--neutral:hover{color:var(--color-text-secondary)}.button--ghost.button--neutral:hover:not(:disabled){color:var(--color-text)}.button--ghost.button--danger,.button--ghost.button--danger:hover{color:var(--color-error)}.button--ghost:hover:not(:disabled){text-decoration:underline}.button--text{padding:6px 18px}.button--text,.button--text:hover{color:var(--color-primary-soft-text);background:0 0}.button--text:hover:not(:disabled){background:var(--color-primary-soft)}.button--flush{margin-left:-12px}.button--dashed,.button--dashed:hover{border:1px dashed var(--color-border-input);border-radius:var(--radius-sm);min-height:44px;color:var(--color-text);background:0 0;font-size:.875rem}.button--dashed:hover:not(:disabled){background:var(--color-surface);border-style:solid}@media (width>=1024px){.button--primary.button--lg{box-shadow:var(--shadow-primary)}.button--primary.button--danger.button--lg{box-shadow:none}}@media (width<=1023px){.button--sm{min-height:44px}.button--md{min-height:48px}.button--lg{min-height:52px;font-size:1rem}.button--dashed,.button--dashed:hover{border-radius:var(--radius-md);min-height:48px;font-size:.9375rem}}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field__label{color:var(--color-text-secondary);font-size:.8125rem;font-weight:600}.field-group{flex-direction:column;gap:8px;min-width:0;display:flex}.field__hint,.field__error{margin:0;font-size:.8125rem}.field__hint{color:var(--color-text-muted)}.field__error{color:var(--color-error)}.field-control{border:1px solid var(--color-border-input);border-radius:var(--radius-md);background:var(--color-input);width:100%;min-width:0;color:var(--color-text);font-size:.9375rem}.field-control:disabled{opacity:.6;cursor:not-allowed}.field-control[aria-invalid=true]{border-color:var(--color-error)}.field-control--input{min-height:46px;padding:0 14px}.field-control--textarea{resize:vertical;min-height:76px;padding:10px 12px;line-height:1.45}.field-control--compact{border-radius:var(--radius-sm)}.field-control--input.field-control--compact{min-height:44px;padding:0 12px}.field-affix{display:block;position:relative}.field-affix .field-control--input{padding-right:48px}.field-affix__suffix{color:var(--color-text-muted);pointer-events:none;font-size:.9375rem;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.search-field{min-width:0;position:relative}.search-field>svg{color:var(--color-text-muted);pointer-events:none;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.search-field .field-control--input{min-height:48px;padding:0 16px 0 46px}.search-field--pill .field-control--input{border-radius:var(--radius-pill)}@media (width<=1023px){.field-control{font-size:1rem}.field-control--input{min-height:48px}.field-control--compact{border-radius:var(--radius-md)}.field-control--input.field-control--compact{min-height:48px}.search-field>svg{left:14px}.search-field .field-control--input{padding:0 14px 0 44px}.search-field--pill .field-control--input{border-radius:var(--radius-md)}}.segmented-control{border-radius:var(--radius-pill);background:var(--color-surface-sunk);flex-wrap:wrap;gap:4px;max-width:100%;padding:4px;display:inline-flex}.segmented-control__option,a.segmented-control__option:hover{border-radius:var(--radius-pill);min-height:42px;color:var(--color-text-secondary);text-align:center;background:0 0;border:0;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-flex}.segmented-control__option>svg,.segmented-control__icon{flex:none;display:flex}:is(.segmented-control__option:has(>svg),.segmented-control__option:has(>.segmented-control__icon)){padding:0 16px 0 12px}.segmented-control__option:hover:not(.is-selected,:disabled){color:var(--color-text)}.segmented-control__option:disabled{opacity:.5;cursor:not-allowed}.segmented-control__option.is-selected,a.segmented-control__option.is-selected:hover{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-selected);font-weight:600}.segmented-control__label--mobile{display:none}.segmented-control--block{grid-template-columns:repeat(var(--segment-count), minmax(0, 1fr));width:100%;display:grid}.segmented-control--block .segmented-control__option{padding:0 6px}@media (width<=1023px){.segmented-control{grid-template-columns:repeat(var(--segment-mobile-columns), minmax(0, 1fr));width:100%;display:grid}.segmented-control__option,a.segmented-control__option:hover{min-height:44px;padding:0 6px}.segmented-control__option:has(>svg){min-height:44px;padding:0 6px}.segmented-control__option:has(>.segmented-control__icon){min-height:44px;padding:0 6px}.segmented-control__icon,.segmented-control__label--desktop{display:none}.segmented-control__label--mobile{display:inline}}.card{border:1px solid var(--color-border-card);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-card);overflow:hidden}.card--radius-xl{border-radius:var(--radius-xl)}.card--radius-2xl{border-radius:var(--radius-2xl)}.card--padding-md{padding:16px}.card--padding-lg{padding:24px}.card--sunk{background:var(--color-surface-sunk);box-shadow:none;border-color:#0000}.card--primary{background:var(--color-primary);box-shadow:none;color:var(--color-on-primary);border:0}.card--emphasis{border:1.5px solid var(--color-primary);box-shadow:none}.card--divided>*+*{border-top:1px solid var(--color-divider)}.card-header{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.card-header__text{flex-direction:column;gap:2px;min-width:0;display:flex}.card-header__title{margin:0;font-size:1.3125rem;line-height:1.25}.card-header__note,.card-header__aside{color:var(--color-text-muted);font-size:.8125rem;line-height:1.35}.card-header__aside{flex:none}@media (width<=1023px){.card--radius-2xl{border-radius:var(--radius-xl)}.card--padding-lg{padding:18px}.card-header__title{font-size:1.1875rem}.card--flat-mobile{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;overflow:visible}.card--flat-mobile .card-header__title{font-size:1.3125rem}.card-header--hide-mobile{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.brand,.brand:hover{color:var(--color-primary);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand__name{font-family:var(--font-brand);letter-spacing:-.02em;font-size:1.375rem;line-height:1}.brand--sm,.brand--sm:hover{gap:8px}.brand--sm .brand__name{font-size:1.25rem}.brand--lg .brand__name{font-size:1.5625rem}.auth-screen{place-items:center;min-height:100svh;padding:32px 17px;display:grid}.auth-panel{width:min(100%,430px);padding:38px}.auth-panel>.brand{margin-bottom:24px}.auth-panel h1{margin:0 0 12px;font-size:2.625rem;line-height:1.1}.auth-copy{color:var(--color-text-muted);overflow-wrap:anywhere;margin:0 0 24px;font-size:.9375rem;line-height:1.5}.auth-panel>.form-error{margin:0 0 16px}.auth-actions{gap:10px;display:grid}.auth-switch{margin-bottom:22px}.auth-form{gap:16px;display:grid}.auth-form .form-error{margin:0}.auth-link{justify-self:start;margin-top:-8px;margin-bottom:-8px}.auth-divider{color:var(--color-text-muted);align-items:center;gap:12px;margin:20px 0;font-size:.75rem;font-weight:600;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--color-divider);flex:1;height:1px}@media (width<=560px){.auth-panel{padding:26px 20px}.auth-panel h1{font-size:2.25rem}}.icon-button{border-radius:var(--radius-sm);width:44px;height:44px;color:var(--color-text);background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-button--sm{width:40px;height:40px}a.icon-button:hover{color:var(--color-text)}.icon-button:disabled{cursor:not-allowed}.icon-button--outline{border-color:var(--color-border-card);background:var(--color-surface);box-shadow:var(--shadow-card)}.icon-button--outline:hover:not(:disabled){border-color:var(--color-border-input)}.icon-button--outline:disabled{color:var(--color-text-disabled);background:0 0}.icon-button--ghost:hover:not(:disabled){background:var(--color-chip)}.icon-button--ghost:disabled{opacity:.45}.icon-button--primary{background:var(--color-primary);box-shadow:var(--shadow-primary);color:var(--color-on-primary)}.icon-button--primary:hover:not(:disabled),a.icon-button--primary:hover{background:var(--color-primary-hover);color:var(--color-on-primary)}.icon-button--ring{border:0;border-radius:50%;width:40px;height:40px;position:relative}.icon-button--ring:before{border:1px solid var(--color-border);content:"";width:40px;height:40px;transition:background-color var(--duration-press) ease;border-radius:50%;margin:-20px 0 0 -20px;position:absolute;top:50%;left:50%}.icon-button--ring>svg{position:relative}.icon-button--ring:hover:not(:disabled):before{background:var(--color-chip)}.icon-button--round{border-radius:50%;width:46px;height:46px}.icon-button--round.icon-button--outline{border-color:var(--color-border-strong);box-shadow:none}.icon-button--muted{color:var(--color-text-muted)}.icon-button--muted:hover:not(:disabled){color:var(--color-text)}.icon-button[aria-pressed=true],.icon-button[aria-pressed]:hover:not(:disabled){color:var(--color-primary)}@media (width<=1023px){.icon-button{border-radius:var(--radius-md)}.icon-button--sm,.icon-button--ring{width:44px;height:44px}.icon-button--ring{border-radius:50%}.icon-button--round{border-radius:50%;width:48px;height:48px}}html.has-sheet{background:var(--color-sheet-backdrop)}.sheet-backdrop{z-index:24;cursor:default;background:0 0;border:0;padding:0;position:fixed;inset:0;transform:none}.sheet-backdrop__scrim{background:var(--color-scrim);opacity:0;transform-origin:50% 0;position:absolute;inset:0}.sheet{top:var(--sheet-top);z-index:25;border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:var(--color-surface);box-shadow:var(--shadow-sheet);position:fixed;bottom:0;left:0;right:0;overflow:hidden}.sheet:focus{outline:none}.sheet--fit{max-height:calc(100% - var(--sheet-top));flex-direction:column;display:flex;top:auto}.sheet--fit .sheet__scroll{flex:0 auto;height:auto;min-height:0}.sheet--fit .sheet__content{min-height:0}.sheet__grabber{z-index:7;border-radius:var(--radius-pill);background:var(--color-border-strong);pointer-events:none;width:36px;height:4px;margin-left:-18px;position:absolute;top:8px;left:50%}.sheet__scroll{overscroll-behavior:contain;height:100%;overflow:hidden auto}.sheet__content{min-height:100%;padding:0 20px calc(28px + env(safe-area-inset-bottom));flex-direction:column;display:flex}.sheet__header{z-index:6;background:var(--color-surface);flex:none;justify-content:space-between;align-items:flex-start;gap:16px;margin:0 -20px;padding:24px 14px 8px 20px;display:flex;position:sticky;top:0}[data-sheet-handle]{touch-action:none;-webkit-user-select:none;user-select:none}.sheet__header-actions{flex-direction:row-reverse;flex:none;align-items:center;gap:4px;margin-top:-4px;display:flex}.sheet__title{flex-direction:column;gap:4px;min-width:0;padding-top:4px;display:flex}.sheet__title h1{overflow-wrap:anywhere;font-family:var(--font-body);letter-spacing:-.01em;margin:0;font-size:1.25rem;font-weight:650;line-height:1.25}.sheet__title span{color:var(--color-text-muted);font-size:.875rem;line-height:1.45}.sheet__body{flex-direction:column;flex:1 0 auto;padding-top:12px;display:flex}.undo-toast-region{bottom:24px;right:0;left:var(--sidebar-width);z-index:30;pointer-events:none;justify-content:center;max-width:1360px;padding:0 44px;display:flex;position:fixed}.undo-toast{border:1px solid var(--color-border-card);border-radius:var(--radius-lg);background:var(--color-surface);width:min(520px,100%);box-shadow:var(--shadow-toast);color:var(--color-text);pointer-events:auto;animation:undo-toast-in var(--duration-reveal) var(--ease-out);align-items:center;gap:6px;padding:5px 5px 5px 15px;display:flex}.undo-toast.is-leaving{pointer-events:none;animation:undo-toast-out var(--duration-fade) ease forwards}.undo-toast__countdown{font-variant-numeric:tabular-nums;flex:none;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;font-size:.6875rem;font-weight:700;line-height:1;display:flex;position:relative}.undo-toast__countdown svg{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.undo-toast__ring{fill:none;stroke:currentColor;stroke-width:2px;opacity:.25}.undo-toast__ring--left{stroke:var(--color-primary);stroke-dasharray:1;opacity:1}.undo-toast__countdown.is-running .undo-toast__ring--left{animation:undo-toast-count var(--undo-toast-shown) linear forwards}.undo-toast.is-leaving .undo-toast__ring--left{animation-play-state:paused}.undo-toast__message{overflow-wrap:anywhere;flex:auto;min-width:0;padding-left:4px;font-size:.875rem;line-height:1.35}.undo-toast__undo,.undo-toast__close{border-radius:var(--radius-md);background:0 0;border:0;flex:none;justify-content:center;align-items:center;min-height:44px;padding:0 12px;display:flex}.undo-toast__undo{border-radius:var(--radius-pill);color:var(--color-primary-soft-text);padding:0 14px;font-size:.9375rem;font-weight:600}.undo-toast__undo:enabled:hover{background:var(--color-primary-soft)}.undo-toast__undo:disabled{opacity:.45;cursor:default}.undo-toast__close{border-radius:var(--radius-sm);width:44px;color:var(--color-text-muted);padding:0}.undo-toast__close:hover{background:var(--color-chip)}@keyframes undo-toast-in{0%{opacity:0;transform:translateY(8px)}}@keyframes undo-toast-fade{0%{opacity:0}}@keyframes undo-toast-out{to{opacity:0}}@keyframes undo-toast-count{to{stroke-dashoffset:1px}}@media (width<=1023px){.undo-toast-region{bottom:calc(12px + var(--tab-bar-height) + env(safe-area-inset-bottom));max-width:none;padding:0 12px;left:0}.app-layout--focused~.undo-toast-region{bottom:calc(12px + var(--sticky-bar-height,env(safe-area-inset-bottom)))}}@media (width<=19.9em){.undo-toast{flex-wrap:wrap;justify-content:flex-end;padding-left:6px}.undo-toast__countdown{margin:0 auto 0 10px}.undo-toast__message{flex-basis:100%;order:-1;padding:8px 10px 0}}@media (prefers-reduced-motion:reduce){.undo-toast{animation:undo-toast-fade var(--duration-fade) ease}.undo-toast__countdown.is-running .undo-toast__ring--left{animation:none}}.avatar{width:calc(var(--avatar-size) * 1px);height:calc(var(--avatar-size) * 1px);border:2px solid var(--avatar-ring);color:var(--color-on-primary);font-size:min(var(--avatar-text,.75rem), calc(var(--avatar-size) * .45px));border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:700;line-height:1;display:inline-flex}.avatar--18{--avatar-text:.5rem}.avatar--24,.avatar--28{--avatar-text:.625rem}.avatar--26,.avatar--30{--avatar-text:.6875rem}.avatar--40{--avatar-text:.8125rem}.avatar--44{--avatar-text:.875rem}.avatar--56{--avatar-text:1.1875rem}.avatar--72{--avatar-text:1.5rem}.avatar--ring-bg{--avatar-ring:var(--color-bg)}.avatar--ring-surface{--avatar-ring:var(--color-surface)}.avatar--ring-none{border:0}.avatar--more{background:var(--color-chip);color:var(--color-text-secondary)}.avatar--placeholder{border:1.5px dashed var(--color-border-input);color:var(--color-text-muted);font-size:calc(var(--avatar-size) / 16 * .38rem)}.avatar-stack{display:inline-flex}.avatar-stack>.avatar+.avatar{margin-left:-9px}.avatar-stack--large>.avatar+.avatar{margin-left:-12px}.household-card,.household-card:hover{border-radius:var(--radius-sm);color:var(--color-text);align-items:center;gap:12px;margin-top:auto;padding:10px 12px;text-decoration:none;display:flex}.household-card:hover{background:var(--color-nav-hover)}.household-card__text{flex-direction:column;min-width:0;display:flex}.household-card__name{overflow-wrap:anywhere;font-size:.875rem;font-weight:600;line-height:1.3}.household-card__count{color:var(--color-text-muted);white-space:nowrap;font-size:.8125rem}.household-avatars{flex:none;justify-content:flex-end;align-items:center;min-width:44px;height:44px;padding:0 6px;display:flex}.app-header{display:none}@media (width<=1023px){.app-header{z-index:6;min-height:var(--top-bar-height);background:var(--color-bg);justify-content:space-between;align-items:center;margin:0 -20px;padding:0 14px 0 20px;display:flex;position:sticky;top:0}.app-header>.brand{min-height:44px}}.sidebar{max-width:var(--sidebar-width);flex:1 1 var(--sidebar-width);border-right:1px solid var(--color-border);flex-direction:column;gap:36px;padding:28px 14px 22px;display:flex}.sidebar>.brand{align-self:flex-start;padding:0 10px}.sidebar__nav{flex-direction:column;gap:22px;display:flex}.sidebar__group--divided{border-top:1px solid var(--color-border);padding-top:20px}.sidebar__list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.sidebar__link,.sidebar__link:hover{border-radius:var(--radius-sm);min-height:40px;color:var(--color-text-secondary);align-items:center;gap:12px;padding:0 12px;font-size:.9375rem;font-weight:500;text-decoration:none;display:flex}.sidebar__list--sub{margin-top:2px}.sidebar__link--sub,.sidebar__link--sub:hover{padding-left:44px}.sidebar__link>svg{flex:none}.sidebar__label{flex-grow:1}.sidebar__link:hover{background:var(--color-nav-hover);color:var(--color-text)}.sidebar__link.is-active{background:var(--color-primary-soft);color:var(--color-primary-soft-text);font-weight:600}.sidebar__badge{color:var(--color-text-muted);font-variant-numeric:tabular-nums;flex:none;font-size:.8125rem}.sidebar__group-label{color:var(--color-text-muted);margin:0;padding:0 12px 6px;font-size:.8125rem;font-weight:500}@media (width<=1023px){.sidebar{display:none}}.link-card,.link-card:hover{border:1px solid var(--color-border-card);border-radius:var(--radius-lg);background:var(--color-surface);min-width:0;box-shadow:var(--shadow-card);color:var(--color-text);transition:var(--transition-press), border-color .15s ease;align-items:center;gap:14px;padding:16px;text-decoration:none;display:flex}.link-card:hover{border-color:var(--color-border-input)}.link-card__icon{border-radius:var(--radius-md);background:var(--color-primary-soft);width:44px;height:44px;color:var(--color-primary);flex:none;justify-content:center;align-items:center;display:flex}.link-card__text{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.link-card__eyebrow{color:var(--color-text-muted);font-size:.75rem;font-weight:600;line-height:1.3}.link-card__title{overflow-wrap:anywhere;font-size:1rem;font-weight:600;line-height:1.3}.link-card--display .link-card__text{gap:3px}.link-card--display .link-card__title{font-family:var(--font-display);font-size:1.0625rem;font-weight:500}.link-card__description{color:var(--color-text-muted);font-size:.8125rem;line-height:1.4}.link-card__chevron{color:var(--color-text-muted);flex:none}.link-card--compact,.link-card--compact:hover{border-radius:var(--radius-strip);gap:12px;padding:14px 16px}.link-card--compact .link-card__chevron{width:18px;height:18px}@media (width<=1023px){.link-card--display .link-card__title{font-size:1.125rem}}.more-sheet__backdrop{inset:0;bottom:calc(var(--tab-bar-height) + env(safe-area-inset-bottom));z-index:18;background:var(--color-scrim);cursor:default;border:0;position:fixed;transform:none}.more-sheet{right:0;bottom:calc(var(--tab-bar-height) + env(safe-area-inset-bottom));z-index:19;max-height:calc(100svh - var(--tab-bar-height) - env(safe-area-inset-bottom) - 40px);overscroll-behavior:contain;border-top:1px solid var(--color-border);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;background:var(--color-bg);box-shadow:var(--shadow-overlay);flex-direction:column;gap:12px;padding:0 16px 16px;display:flex;position:fixed;left:0;overflow-y:auto}.more-sheet:focus{outline:none}.more-sheet__top{padding-top:20px;position:relative}.more-sheet__grabber{border-radius:var(--radius-pill);background:var(--color-border-dashed);width:38px;height:5px;margin-left:-19px;position:absolute;top:8px;left:50%}.more-sheet__top>.more-sheet__label{margin:0;padding:0 4px}.more-sheet__list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.more-sheet__list .link-card[aria-current=page]{border-color:var(--color-primary)}@media (width>=1024px){.more-sheet,.more-sheet__backdrop{display:none}}.tab-bar{z-index:20;height:calc(var(--tab-bar-height) + env(safe-area-inset-bottom));padding:6px 6px calc(18px + env(safe-area-inset-bottom));grid-template-columns:repeat(5,minmax(0,1fr));display:none;position:fixed;bottom:0;left:0;right:0}.tab-bar:before{background:linear-gradient(to top, var(--color-scroll-fade), transparent);content:"";pointer-events:none;height:20px;position:absolute;bottom:100%;left:0;right:0}.tab-bar__tab,.tab-bar__tab:hover{min-width:0;color:var(--color-text-muted);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:min(.75rem,max(12px,3.2vw));font-weight:500;line-height:1.2;text-decoration:none;display:flex}button.tab-bar__tab{cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit}.tab-bar__icon{border-radius:var(--radius-pill);justify-content:center;align-items:center;width:52px;max-width:100%;height:30px;display:flex}.tab-bar__label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.tab-bar__tab.is-active{color:var(--color-primary-soft-text);font-weight:600}.tab-bar__tab.is-active .tab-bar__icon{background:var(--color-primary-soft)}@media (width<=1023px){.tab-bar{display:grid}}.app-layout{flex-wrap:wrap;min-height:100svh;display:flex}.app-layout__content{flex:999 560px;grid-template-columns:minmax(0,1080px);align-content:start;min-width:0;padding:40px 48px 56px;display:grid;position:relative;overflow-x:clip}.app-layout__top-mark{pointer-events:none;width:1px;height:1px;position:absolute;top:0;left:0}@media (width<=1023px){.app-layout__content{padding:16px 20px calc(28px + var(--tab-bar-height) + env(safe-area-inset-bottom))}.app-layout--header .app-layout__content{--collapse-top:calc(var(--top-bar-height) + 16px);padding-top:0}.app-layout--focused .app-layout__content{padding:0 20px calc(28px + env(safe-area-inset-bottom))}}.app-layout--held{background:var(--color-bg);transform-origin:50% 0;position:fixed;inset:0;overflow:hidden}.app-layout--held .app-layout__content{height:100%;overflow:hidden}.load-error{flex-wrap:wrap;align-items:center;gap:12px 16px;display:flex}.load-error__message{color:var(--color-error);margin:0;font-size:.875rem}.modal-backdrop{z-index:40;background:var(--color-scrim);cursor:default;border:0;position:fixed;inset:0;transform:none}.modal-dialog{z-index:41;border:1px solid var(--color-border-card);border-radius:var(--radius-xl);background:var(--color-surface);width:min(520px,100vw - 32px);max-height:calc(100svh - 64px);box-shadow:var(--shadow-overlay);grid-template-columns:minmax(0,1fr);gap:16px;padding:28px 28px 20px;display:grid;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.modal-dialog__heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.modal-dialog__heading h2{margin:0;line-height:1.3}.modal-dialog__heading .icon-button{margin:-9px -10px -9px 0}.modal-text{overflow-wrap:anywhere;color:var(--color-text-secondary);margin:0;font-size:.9375rem;line-height:1.5}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}@media (width<=1023px){.modal-dialog{border-radius:var(--radius-xl);width:calc(100vw - 24px);max-height:calc(100svh - 40px);padding:20px}.modal-actions>*{flex:auto}}.confirm-dialog{gap:20px;display:grid}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.page-header__main{align-items:flex-end;gap:20px;min-width:0;display:flex}.page-header__text{flex-direction:column;gap:4px;min-width:0;display:flex}.page-header__text>.page-header__eyebrow{margin:0;font-size:.8125rem}.page-header__title{margin:0}.page-header__description{max-width:60ch;color:var(--color-text-muted);margin:4px 0 0;font-size:1rem;line-height:1.5}@media (width>=1024px){.page-header{margin-bottom:12px}.page-header__text{gap:6px}.page-header__description{margin:0}.page-header__text--compact>.page-header__description{font-size:.9375rem;line-height:1.2}}.page-header__nav{flex:none;padding-bottom:4px}.page-header__trailing{display:none}.page-header__actions{flex-wrap:wrap;flex:0 auto;align-items:center;gap:10px;display:flex}@media (width<=1023px){.page-header{flex-flow:column;align-items:stretch;gap:16px;padding-top:10px}.page-header:not(:first-child){padding-top:0}.page-header__main{justify-content:space-between;gap:12px}.page-header__description{font-size:.9375rem;line-height:1.45}.page-header__nav{padding-bottom:0}.page-header__trailing{flex:none;display:flex}.page-header__actions{flex-direction:column;align-items:stretch}.page-header__actions--desktop{display:none}}@media (width<=19.9em){.page-header__main{flex-wrap:wrap}.page-header__text{flex:100%}}.week-nav{gap:8px;display:flex}.week-nav--round{gap:6px}.week-nav--round .icon-button{border-color:var(--color-border);border-radius:50%;position:relative}.week-nav--round .icon-button:disabled{opacity:1;color:var(--color-text-disabled)}@media (width<=1023px){.week-nav--round{gap:4px;margin-right:-2px}.week-nav--round .icon-button,.week-nav--round .icon-button:hover:not(:disabled){background:0 0;border-color:#0000}.week-nav--round .icon-button:before{border:1px solid var(--color-border);content:"";border-radius:50%;position:absolute;inset:3px}}.radio-cards{--radio-cards-line:var(--color-border);border:0;min-width:0;margin:0;padding:0}.radio-cards__legend{color:var(--color-text-secondary);padding:0 0 8px;font-size:.8125rem;font-weight:600}.radio-cards__options{grid-template-columns:repeat(auto-fill, minmax(max(12rem, 100% / var(--radio-cards-columns,1) - .1px), 1fr));box-shadow:inset 0 1px 0 var(--radio-cards-line);display:grid}.radio-cards__card{min-width:0;min-height:56px;box-shadow:inset 0 -1px 0 var(--radio-cards-line);color:var(--color-text);cursor:pointer;align-items:center;gap:14px;padding:0 4px;font-size:.9375rem;font-weight:400;display:flex;position:relative}.radio-cards__card.is-selected{font-weight:600}.radio-cards__input{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;position:absolute}.radio-cards__radio{border:1.5px solid var(--color-border-input);background:var(--color-surface);width:24px;height:24px;transition:background-color var(--duration-press) ease, border-color var(--duration-press) ease;border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.radio-cards__radio:after{background:var(--color-on-primary);content:"";opacity:0;border-radius:50%;width:8px;height:8px}.radio-cards__input:checked+.radio-cards__radio{border-color:var(--color-primary);background:var(--color-primary)}.radio-cards__input:checked+.radio-cards__radio:after{opacity:1}.radio-cards__input:focus-visible+.radio-cards__radio{outline:var(--focus-ring);outline-offset:3px}@media (hover:hover){.radio-cards__card:hover .radio-cards__input:not(:checked)+.radio-cards__radio{border-color:var(--color-primary-line)}}.radio-cards__media{flex:none;display:flex}.radio-cards__label{overflow-wrap:anywhere;min-width:0;line-height:1.3}@media (prefers-contrast:more){.radio-cards{--radio-cards-line:var(--color-border-input)}}@media (prefers-reduced-motion:reduce){.radio-cards__radio{transition:none}}.toggle-pill{border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);min-width:56px;min-height:40px;color:var(--color-text);background:0 0;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-size:.875rem;font-weight:500;display:inline-flex}.toggle-pill>svg{flex:none}.toggle-pill:hover:not(:disabled):not(.is-selected){background:var(--color-chip)}.toggle-pill:disabled{opacity:.5;cursor:not-allowed}.toggle-pill.is-selected:disabled{opacity:1}.toggle-pill--with-icon{padding-left:12px}.toggle-pill.is-selected{font-weight:600}.toggle-pill--select.is-selected{border-color:var(--color-primary-line);background:var(--color-primary-soft);color:var(--color-primary-soft-text)}.toggle-pill--select.is-selected:hover:not(:disabled){background:var(--color-primary-soft-strong)}.toggle-pill--avoid.is-selected{border-color:var(--color-warning-text);background:var(--color-avoid-soft);color:var(--color-warning-text)}.toggle-pill--compact{min-width:58px;padding:0 14px;font-weight:600}.toggle-pill-group{flex-wrap:wrap;gap:8px;display:flex}@media (width<=1023px){.toggle-pill{min-height:44px}.toggle-pill--compact,.toggle-pill--compact.is-selected{border-radius:50%;width:44px;min-width:44px;padding:0;font-weight:700}.toggle-pill-group{scrollbar-width:none;flex-wrap:nowrap;margin:0 -20px;padding:0 20px;overflow-x:auto}.toggle-pill-group>*{white-space:nowrap;flex:none}.toggle-pill-group--wrap{flex-wrap:wrap;margin:0;padding:0;overflow-x:visible}}.expense-form{flex-direction:column;gap:24px;display:flex}.expense-form__amount{border:1px solid var(--color-border-input);border-radius:var(--radius-md);background:var(--color-input);min-height:64px;transition:border-color var(--duration-press) ease;align-items:center;gap:10px;padding:0 18px 0 16px;display:flex}.expense-form__amount:focus-within{outline:var(--focus-ring);outline-offset:2px}.expense-form__amount.is-invalid{border-color:var(--color-error)}.expense-form__amount input{width:0;min-width:0;min-height:56px;color:var(--color-text);letter-spacing:-.02em;background:0 0;border:0;outline:0;flex:1 1 0;padding:0;font-size:1.75rem;font-weight:600;line-height:1.2}.expense-form__amount span{color:var(--color-text-muted);flex:none;font-size:1.125rem;font-weight:500}.expense-form__optional{color:var(--color-text-muted);font-weight:400}.expense-form__dates{flex-wrap:wrap;gap:8px;display:flex}.expense-form input[type=date]::-webkit-date-and-time-value{text-align:left}.expense-form__error{margin:0}.expense-form__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px 10px;padding-top:4px;display:flex}.expense-form__buttons{align-items:center;gap:8px;display:flex}.expense-form__delete{margin-right:auto}@media (prefers-reduced-motion:reduce){.expense-form__amount{transition:none}}@media (width<=1023px){.expense-form{flex:1 0 auto}.expense-form__actions{z-index:1;margin:auto -20px calc(-28px - env(safe-area-inset-bottom));padding:12px 20px calc(24px + env(safe-area-inset-bottom));flex-flow:column;align-items:stretch;gap:4px;position:sticky;bottom:0}.expense-form__delete{align-self:flex-start;margin:0}.expense-form__save{flex:auto}}.figures{font-variant-numeric:tabular-nums}.figures__mark{font-variant-numeric:normal}.meter{border-radius:var(--radius-pill);background:var(--color-surface-sunk);display:block;overflow:hidden}.meter--sm{height:6px}.meter--md{height:8px}.meter__fill{border-radius:var(--radius-pill);height:100%;transition:width .2s;display:block}.meter--primary .meter__fill{background:var(--color-primary)}.meter--terracotta .meter__fill{background:var(--color-terracotta)}@media (prefers-reduced-motion:reduce){.meter__fill{transition:none}}.expenses-page{--expenses-line:var(--color-border);flex-direction:column;gap:24px;min-width:0;display:flex}.expenses-page>.form-error,.expenses-page .form-hint,.expenses-page h2{margin:0}.expenses-page__grid{grid-template-columns:minmax(0,1fr) 320px;grid-template-areas:"sum rail""chart rail""trips rail";align-items:start;gap:48px 56px;display:grid}.expenses-page__sum,.expenses-page__chart,.expenses-page__trips,.expenses-page__rail{flex-direction:column;gap:16px;min-width:0;display:flex}.expenses-page__sum{grid-area:sum}.expenses-page__chart{grid-area:chart}.expenses-page__trips{grid-area:trips}.expenses-page__rail{grid-area:rail;gap:40px}@media (width<=1099px){.expenses-page__grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"sum""rail""chart""trips"}}.spending-sum{flex-direction:column;gap:12px;display:flex}.spending-sum__label{letter-spacing:0;font-size:.9375rem;font-weight:600;line-height:1.5}.spending-sum__figure{flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0;display:flex}.spending-sum__value{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:2rem;font-weight:600;line-height:1}.spending-sum__value.is-over{color:var(--color-warning-text)}.spending-sum__budget{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:1.0625rem}.spending-sum .meter{margin-top:4px}.spending-sum__meta{color:var(--color-text-muted);margin:0;font-size:.9375rem;line-height:1.5}.spending-figures{box-shadow:inset 0 1px 0 var(--expenses-line);flex-direction:column;display:flex}.spending-figure{box-shadow:inset 0 -1px 0 var(--expenses-line);color:var(--color-text);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:2px 16px;padding:14px 0;text-decoration:none;display:grid}.spending-figure__label{font-size:.9375rem;font-weight:600}.spending-figure__value{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;font-size:1.0625rem;font-weight:600}.spending-figure__note{color:var(--color-text-muted);grid-column:1/-1;font-size:.875rem}.spending-figure__note a{font-weight:600}.week-bars{flex-direction:column;gap:16px;display:flex}.week-bars__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px;display:flex}.week-bars__legend{color:var(--color-text-muted);font-variant-numeric:tabular-nums;align-items:center;gap:8px;font-size:.875rem;display:inline-flex}.week-bars__dash{border-top:2px dashed var(--color-border-dashed);width:20px}.week-bars__chart{--plot-height:176px;--value-height:38px;--label-height:32px;position:relative}.week-bars__plot{margin:0;padding:0;list-style:none;display:flex}.week-bars__plot>li{flex:1 1 0;min-width:0;display:flex}.week-bars__chart.has-average:after{right:0;bottom:calc(var(--label-height) + var(--average) * var(--plot-height));z-index:1;border-top:2px dashed var(--color-border-dashed);content:"";pointer-events:none;position:absolute;left:0}.week-bar{border-radius:var(--radius-sm);min-width:0;color:var(--color-text-muted);font-variant-numeric:tabular-nums;background:0 0;border:0;flex-direction:column;flex:auto;align-items:center;padding:0;font-size:.8125rem;font-weight:400;display:flex}.week-bar:focus-visible{outline-offset:-2px}.week-bar__column{width:100%;height:calc(var(--plot-height) + var(--value-height));box-shadow:inset 0 -1px 0 var(--expenses-line);flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;display:flex}.week-bar__value{z-index:2;border-radius:var(--radius-bar);background:var(--color-bg);white-space:nowrap;padding:0 4px;position:relative}.week-bar__fill{width:24px;height:max(6px, var(--share) * var(--plot-height));border-radius:var(--radius-bar) var(--radius-bar) 0 0;background:var(--color-primary-muted);transition:background-color var(--duration-press) ease;flex:none}.week-bar.is-empty .week-bar__fill{height:0}.week-bar.is-empty[aria-current=true] .week-bar__fill{border-radius:var(--radius-bar);height:3px}.week-bar__label{height:var(--label-height);white-space:nowrap;justify-content:center;align-items:flex-end;gap:4px;display:flex}.week-bar[aria-current=true]{color:var(--color-text);font-weight:600}.week-bar[aria-current=true] .week-bar__fill{background:var(--color-primary)}@media (hover:hover){.week-bar:not([aria-current=true]):hover{color:var(--color-text)}.week-bar:not([aria-current=true]):hover .week-bar__fill{background:var(--color-primary-line)}}.week-bars__note{color:var(--color-text-muted);margin:0;font-size:.8125rem;line-height:1.6}.expense-list{flex-direction:column;gap:12px;display:flex}.expense-list__empty{box-shadow:inset 0 1px 0 var(--expenses-line);color:var(--color-text-muted);margin:0;padding-top:16px;font-size:.9375rem;line-height:1.55}.expense-list__empty strong{color:var(--color-text);font-weight:600}.expense-list__scroll{overflow-x:auto}.trip-table{border-collapse:collapse;width:100%;min-width:520px;font-size:.9375rem}.trip-table th{border-bottom:1px solid var(--expenses-line);color:var(--color-text-muted);text-align:left;padding:0 12px 10px;font-size:.8125rem;font-weight:500}.trip-table td{height:56px;padding:10px 12px}.trip-table tbody td{border-bottom:1px solid var(--expenses-line)}.trip-table th:first-child,.trip-table td:first-child{padding-left:0}.trip-table tfoot td{height:auto;padding-top:14px;padding-bottom:0;font-weight:600}.trip-table__when{color:var(--color-text-secondary);white-space:nowrap}.trip-table__payer{align-items:center;gap:8px;display:inline-flex}.trip-table__note{overflow-wrap:anywhere;font-weight:500}.trip-table__none{color:var(--color-text-muted);font-weight:400}.trip-table .trip-table__amount{text-align:right;white-space:nowrap;padding-right:0;font-weight:600}.trip-table th.trip-table__amount{font-weight:500}.trip-table .trip-table__edit{text-align:right;width:48px;padding:4px 0 4px 8px}.payer-sums{flex-direction:column;gap:14px;display:flex}.payer-sums__rows{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.payer-sums__rows>li{align-items:center;gap:12px;display:flex}.payer-sums__body{flex-direction:column;flex:auto;gap:8px;min-width:0;display:flex}.payer-sums__line{justify-content:space-between;align-items:baseline;gap:12px;font-size:.9375rem;display:flex}.payer-sums__name{overflow-wrap:anywhere;min-width:0;font-weight:600}.payer-sums__name--muted{color:var(--color-text-muted);font-weight:500}.payer-sums__amount{white-space:nowrap;flex:none;font-weight:600}.payer-sums__split{box-shadow:inset 0 1px 0 var(--expenses-line);color:var(--color-text-secondary);margin:0;padding-top:10px;font-size:.875rem;line-height:1.45}@media (width>=1024px){.payer-sums__split{display:none}}.expenses-page__ticked{color:var(--color-text-muted);align-items:flex-start;gap:10px;margin:0;font-size:.9375rem;line-height:1.5;display:flex}.expenses-page__ticked>svg{flex:none;margin-top:2px}.expenses-page__ticked strong{color:var(--color-text);font-weight:600}@media (width<=1023px){.expenses-page{gap:28px}.expenses-page__stack{flex-direction:column;gap:28px;display:flex}.expenses-page__figures{flex-direction:column;gap:20px;display:flex}.expenses-page__stack>.button{margin-top:-4px}.expenses-page__stack>.expense-list,.expenses-page__stack>.payer-sums{margin-top:12px}.expense-list{gap:10px}.payer-sums__rows{gap:12px}.spending-sum{gap:10px}.spending-sum__label{color:var(--color-text-muted);font-weight:500}.spending-sum__figure{gap:4px 10px}.spending-sum__budget{font-size:1rem}.spending-sum__budget-desktop{display:none}.spending-sum .meter,.payer-sums .meter{height:4px}.spending-sum__meta{font-size:.875rem}.spending-figure{gap:12px;min-height:52px}.spending-figure__label{font-weight:400}.spending-figure__value{font-size:1rem}.spending-figure--link{grid-template-columns:minmax(0,1fr) auto 16px;align-items:center;padding:0}.spending-figure__chevron{color:var(--color-text-muted)}.week-bars__chart{--plot-height:112px;--label-height:30px}.week-bar__fill{width:20px}.week-bar:not([aria-current=true]) .week-bar__value,.week-bar__label-word{display:none}.expense-list__empty{padding-top:14px}.trip-rows{box-shadow:inset 0 1px 0 var(--expenses-line);margin:0;padding:0;list-style:none}.trip-rows>li{box-shadow:inset 0 -1px 0 var(--expenses-line)}.trip-row{border-radius:var(--radius-strip);width:calc(100% + 24px);min-height:64px;color:var(--color-text);text-align:left;background:0 0;border:0;grid-template-columns:32px minmax(0,1fr) auto 16px;align-items:center;column-gap:12px;margin:0 -12px;padding:10px 12px;display:grid}.trip-row:active{background:var(--color-press)}.trip-row__text{flex-direction:column;gap:2px;min-width:0;display:flex}.trip-row__title{overflow-wrap:anywhere;font-size:.9375rem;font-weight:600;line-height:1.35}.trip-row__meta{color:var(--color-text-muted);font-size:.8125rem}.trip-row__amount{white-space:nowrap;font-size:.9375rem;font-weight:600}.trip-row__chevron{color:var(--color-text-muted)}.expense-list__total{justify-content:space-between;gap:12px;margin:0;padding-top:4px;font-size:.9375rem;font-weight:600;display:flex}}@media (width<=1023px) and (hover:hover){.trip-row:hover{background:var(--color-surface-hover)}}@media (prefers-contrast:more){.expenses-page{--expenses-line:var(--color-border-input)}}@media (prefers-reduced-motion:reduce){.week-bar__fill{transition:none}}.back-bar{align-items:center;display:flex}.back-bar__link,.back-bar__link:hover{border-radius:var(--radius-pill);min-height:40px;color:var(--color-text-secondary);align-items:center;gap:6px;margin-left:-12px;padding:0 16px 0 8px;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-flex}.back-bar__link:hover{background:var(--color-chip);color:var(--color-text)}.back-bar__link>svg{flex:none;width:18px;height:18px}.back-bar__label--mobile,.back-bar__trailing,.back-bar--mobile-only{display:none}@media (width<=1023px){.back-bar{z-index:6;min-height:var(--top-bar-height);background:var(--color-bg);justify-content:space-between;margin:0 -20px;padding:0 8px 0 6px;display:flex;position:sticky;top:0}.back-bar--mobile-only{margin-top:-16px}.back-bar__link,.back-bar__link:hover{min-height:44px;color:var(--color-text);gap:2px;margin-left:0;padding:0 14px 0 6px;font-size:1rem;font-weight:600}.back-bar__link>svg{width:22px;height:22px}.back-bar__label--desktop{display:none}.back-bar__label--mobile{display:inline}.back-bar__trailing{align-items:center;display:flex}}.empty-state{border:1.5px dashed var(--color-border-dashed);border-radius:var(--radius-2xl);background:var(--color-surface);flex-direction:column;align-items:flex-start;gap:16px;padding:24px;display:flex}.empty-state__text{flex-direction:column;gap:4px;max-width:520px;display:flex}.empty-state__text .eyebrow{margin:0;font-size:.8125rem}.empty-state__title{margin:0;font-size:1.375rem;line-height:1.25}.empty-state__text p{color:var(--color-text-muted);margin:0;font-size:.875rem;line-height:1.5}.empty-state__actions{flex-wrap:wrap;gap:10px;display:flex}@media (width<=1023px){.empty-state{align-items:stretch;gap:14px;padding:20px 18px 18px}.empty-state__actions{flex-flow:column}}.notice{border-radius:var(--radius-strip);background:var(--color-primary-soft);color:var(--color-primary-soft-text);align-items:center;gap:12px;padding:12px 14px;display:flex}.notice>svg{flex:none}.notice__text{flex-direction:column;gap:2px;min-width:0;display:flex}.notice__title{font-size:.9375rem;font-weight:600;line-height:1.3}.notice__note{font-size:.8125rem;line-height:1.35}.notice--error{border-radius:var(--radius-md);background:var(--color-avoid-soft);color:var(--color-warning-text);align-items:flex-start;gap:10px;padding:14px 16px}.notice--error>svg{margin-top:3px}.notice--error .notice__title{font-weight:400;line-height:1.5}@media (prefers-contrast:more){.notice--error{box-shadow:inset 0 0 0 1px var(--color-warning-text)}}.screen-header{flex-direction:column;gap:14px;margin-top:-8px;display:flex}.screen-header__text{flex-direction:column;gap:6px;display:flex}.screen-header__title{margin:0}.screen-header__subtitle{color:var(--color-text-muted);margin:0;font-size:.9375rem;line-height:1.45}.screen-bar{grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;min-height:60px;margin:0 -12px -16px;display:grid}.screen-bar__text{text-align:center;flex-direction:column;align-items:center;gap:2px;display:flex}.screen-bar__text h1{font-family:var(--font-body);letter-spacing:0;margin:0;font-size:1rem;font-weight:700;line-height:1.3}.screen-bar__text span{color:var(--color-text-muted);font-size:.8125rem}.side-panel-region{z-index:25;position:fixed;inset:0}.side-panel-scrim{cursor:default;background:0 0;border:0;padding:0;position:absolute;inset:0;transform:none}.side-panel-scrim__dim{box-shadow:0 0 0 200vmax var(--color-scrim);animation:side-panel-fade-in var(--duration-spring) ease;pointer-events:none;position:absolute}.side-panel-scrim__dim.is-whole{background:var(--color-scrim);box-shadow:none;inset:0}.side-panel-region.is-leaving .side-panel-scrim__dim{animation:side-panel-fade-out var(--duration-spring) ease forwards}.side-panel-region.is-leaving .side-panel-scrim{pointer-events:none}.side-panel{width:clamp(480px, 480px + (100vw - var(--sidebar-width) - 1440px) / 2, 640px);border-radius:var(--radius-xl) 0 0 var(--radius-xl);max-width:100%;position:absolute;top:0;bottom:0;right:0}.side-panel-region.is-leaving .side-panel{pointer-events:none}.side-panel__surface{border-radius:inherit;background:var(--color-surface);box-shadow:var(--shadow-panel);position:absolute;inset:0}.side-panel__scroll{overscroll-behavior:contain;border-radius:inherit;height:100%;position:relative;overflow:hidden auto}.side-panel__surface,.side-panel__scroll{animation:side-panel-in var(--duration-spring) var(--ease-out)}.side-panel-region.is-leaving .side-panel>*{animation:side-panel-out var(--duration-spring) var(--ease-out) forwards}.side-panel__header{justify-content:space-between;align-items:flex-start;gap:16px;padding:28px 28px 0;display:flex}.side-panel__title{flex-direction:column;gap:4px;min-width:0;display:flex}.side-panel__title h2{overflow-wrap:anywhere;letter-spacing:-.01em;margin:0;font-size:1.25rem;font-weight:650;line-height:1.25}.side-panel__title span{overflow-wrap:anywhere;color:var(--color-text-muted);font-size:.875rem;line-height:1.45}.side-panel__close{margin:-4px -4px 0 0}@keyframes side-panel-in{0%{opacity:0;transform:translate(32px)}}@keyframes side-panel-out{to{opacity:0;transform:translate(32px)}}@keyframes side-panel-fade-in{0%{opacity:0}}@keyframes side-panel-fade-out{to{opacity:0}}@media (prefers-reduced-motion:reduce){.side-panel__surface,.side-panel__scroll,.side-panel-scrim__dim{animation:side-panel-fade-in var(--duration-fade) ease}.side-panel-region.is-leaving .side-panel>*,.side-panel-region.is-leaving .side-panel-scrim__dim{animation:side-panel-fade-out var(--duration-fade) ease forwards}}@media (prefers-contrast:more){.side-panel__surface{box-shadow:0 0 0 1px var(--color-text), var(--shadow-panel)}}.action-bar{border:1px solid var(--color-border-card);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-card);flex-wrap:wrap;align-items:center;gap:12px;padding:14px 16px 14px 20px;display:flex}.action-bar__note{min-width:0;color:var(--color-text-secondary);flex:300px;font-size:.875rem;line-height:1.45}.action-bar__buttons{flex-wrap:wrap;align-items:center;gap:12px;margin-left:auto;display:flex}@media (width<=1023px){.action-bar--stacked{box-shadow:none;background:0 0;border:0;border-radius:0;flex-flow:column-reverse;align-items:stretch;gap:10px;padding:0}.action-bar--stacked .action-bar__note{color:var(--color-text-muted);text-align:center;flex:none;font-size:.8125rem}.action-bar--stacked .action-bar__buttons{flex-flow:column-reverse;align-items:stretch;gap:10px;margin:0}.action-bar--sticky{z-index:5;margin:0 -20px calc(-28px - env(safe-area-inset-bottom));padding:12px 20px calc(20px + env(safe-area-inset-bottom));border:0;border-radius:0;flex-flow:column;align-items:stretch;gap:10px;position:sticky;bottom:0}.action-bar--sticky .action-bar__note{flex:none}.action-bar--sticky .action-bar__buttons{flex-wrap:nowrap;gap:10px;margin:0}.action-bar--sticky .action-bar__buttons>:last-child{flex:auto}}.stepper{border:1px solid var(--color-border-input);border-radius:var(--radius-md);background:var(--color-input);flex:none;justify-content:space-between;align-items:center;width:160px;min-height:46px;display:inline-flex}.stepper--block{width:100%;display:flex}.stepper__button{border-radius:var(--radius-md);width:44px;height:44px;color:var(--color-text);background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.stepper__button:hover:not(:disabled){background:var(--color-chip)}.stepper__button:disabled{opacity:.35;cursor:not-allowed}.stepper__value{font-size:1rem;font-weight:700}.stepper--round{background:0 0;border:0;border-radius:0;justify-content:flex-start;gap:4px;width:auto;min-height:40px}.stepper--round .stepper__button{border-radius:50%;width:40px;height:40px;position:relative}.stepper--round .stepper__button:before{border:1px solid var(--color-border);content:"";border-radius:50%;position:absolute;inset:0}.stepper--round .stepper__button:disabled{opacity:.45}.stepper--round .stepper__value{font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap;min-width:6.5rem;font-size:1rem;font-weight:600}@media (width<=1023px){.stepper{min-height:48px}.stepper--field:not(.stepper--block){width:140px}.stepper__button{height:46px}.stepper--round{min-height:48px}.stepper--round .stepper__button{width:44px;height:44px}.stepper--round .stepper__button:before{inset:2px}.stepper--round .stepper__button:hover:not(:disabled){background:0 0}}.meal-edit-form{flex-direction:column;gap:32px;max-width:720px;display:flex}.meal-edit-form__group{flex-direction:column;gap:12px;min-width:0;display:flex}.meal-edit-form__group+.meal-edit-form__group{border-top:1px solid var(--color-border);padding-top:32px}.meal-edit-form__group--details{gap:20px}.meal-edit-form__heading{letter-spacing:-.01em;margin:0;font-size:1.25rem;font-weight:650;line-height:1.25}.meal-edit-form__group--details>.meal-edit-form__heading{margin-bottom:-4px}.meal-edit-form__heading-row{flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-bottom:4px;display:flex}.meal-edit-form__count{color:var(--color-text-muted);font-size:.8125rem}.meal-edit-form__details{grid-template-columns:11.25rem auto;justify-content:start;align-items:start;gap:20px;display:grid}.meal-edit-form__types{flex-wrap:wrap;gap:8px;display:flex}.meal-edit-form__ingredient-labels,.meal-edit-form__ingredient{grid-template-columns:6.875rem minmax(0,1fr) 40px;align-items:center;gap:8px 10px;display:grid}.meal-edit-form__ingredient-labels{color:var(--color-text-muted);margin-bottom:-4px;font-size:.8125rem}.meal-edit-form__rows{flex-direction:column;gap:8px;display:flex}.meal-edit-form__step{grid-template-columns:26px minmax(0,1fr) 40px;align-items:start;gap:10px;display:grid}.meal-edit-form__step-number{color:var(--color-text-secondary);font-variant-numeric:tabular-nums;margin-top:11px;font-size:.9375rem;font-weight:600}.meal-edit-form__step .meal-edit-form__remove{margin-top:2px}.meal-edit-form__add.button{justify-content:flex-start;width:calc(100% - 50px);margin-top:4px;padding-left:16px}.meal-edit-form__rows:has(.meal-edit-form__step)+.meal-edit-form__add.button{width:calc(100% - 86px);margin-left:36px}.meal-edit-form__error{margin:0}@media (width>=1024px){.meal-edit-form__actions.action-bar{border:0;border-top:1px solid var(--color-border);box-shadow:none;background:0 0;border-radius:0;padding:24px 0 0}.meal-edit-form__actions .action-bar__note{color:var(--color-text-muted);font-size:.8125rem;line-height:1.6}}.meal-edit-form__note{color:var(--color-text-muted);margin:-8px 0 0;font-size:.8125rem;line-height:1.6}@media (width<=1023px){.meal-edit-form{gap:28px;max-width:none}.meal-edit-form__group+.meal-edit-form__group{padding-top:28px}.meal-edit-form__group--details{gap:18px}.meal-edit-form__group--details>.meal-edit-form__heading{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.meal-edit-form__heading{font-size:1.125rem}.meal-edit-form__details{grid-template-columns:minmax(0,6.25rem) auto;gap:16px 18px}.meal-edit-form__ingredient-labels,.meal-edit-form__ingredient{grid-template-columns:5.5rem minmax(0,1fr) 44px;gap:8px 6px}.meal-edit-form__ingredient>.meal-edit-form__amount{padding:0 10px}.meal-edit-form__step{grid-template-columns:20px minmax(0,1fr) 44px;gap:6px}.meal-edit-form__step-text{min-height:98px}.meal-edit-form__add.button{width:calc(100% - 50px);margin-top:2px}.meal-edit-form__rows:has(.meal-edit-form__step)+.meal-edit-form__add.button{width:calc(100% - 76px);margin-left:26px}}.collapse{margin-top:calc(-1 * var(--collapse-gap,0px));scroll-margin:var(--collapse-top,16px) 0 24px;transition:grid-template-rows var(--duration-spring) var(--ease-out);grid-template-rows:0fr;grid-template-columns:minmax(0,1fr);display:grid;overflow:visible clip}@media (width<=1023px){.collapse{scroll-margin-bottom:calc(28px + var(--tab-bar-height) + env(safe-area-inset-bottom))}}.collapse.is-open{transition:grid-template-rows var(--duration-spring) var(--ease-out), overflow 0s var(--duration-spring) allow-discrete;grid-template-rows:1fr;overflow:visible}.collapse__row{min-height:0}.collapse__content{padding-top:var(--collapse-gap,0px);opacity:0;transition:opacity var(--duration-reveal) var(--ease-out), transform var(--duration-reveal) var(--ease-out);transform:translateY(-6px)}.collapse.is-open>.collapse__row>.collapse__content{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.collapse,.collapse.is-open{transition:none}.collapse__content{transition:opacity var(--duration-fade) ease;transform:none}}.recipe-library{align-items:flex-start;gap:28px;display:flex}.recipe-library__main{flex-direction:column;flex:999 560px;gap:16px;min-width:0;display:flex}.recipe-library__count{color:var(--color-text-muted);margin:0;font-size:.875rem}.recipe-library__main>.empty-state{align-self:stretch}.recipe-library__list{grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.recipe-library__list>li{min-width:0;display:flex}.recipe-library__more{align-self:center}.recipe-library__source{color:var(--color-text-muted);margin:0;font-size:.8125rem;line-height:1.6}.recipe-card{flex-direction:column;flex:auto;gap:10px;min-width:0;padding:18px 18px 16px;display:flex}.recipe-card__text{flex-direction:column;gap:10px;min-width:0;display:flex}.recipe-card__heading{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.recipe-card__title{min-width:0;margin:0;font-size:1.125rem;line-height:1.3}.recipe-card__title button,.recipe-row__title button{max-width:100%;color:inherit;font:inherit;overflow-wrap:break-word;text-align:left;-webkit-hyphens:auto;hyphens:auto;hyphenate-limit-chars:12 4 4;background:0 0;border:0;padding:0}.recipe-card__title button:hover{color:var(--color-primary)}.recipe-card__favorite{margin:-11px -11px -11px 0}.recipe-card__meta,.recipe-card__note{margin:0;font-size:.8125rem;line-height:1.4}.recipe-card__meta{color:var(--color-text-muted)}.recipe-card__meta--mobile{display:none}.recipe-card__note{color:var(--color-warning-text);align-items:center;gap:6px;font-weight:600;display:flex}.recipe-card__note svg{flex:none}.recipe-card__footer{border-top:1px solid var(--color-divider);justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:12px;display:flex}.recipe-card__source{min-width:0;color:var(--color-text-muted);font-size:.8125rem}.recipe-library__preview{flex-direction:column;gap:20px;display:flex}.recipe-library__preview-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.recipe-library__preview-chips,.recipe-library__preview-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.recipe-library__preview-sharing{color:var(--color-text-muted);margin:-8px 0 0;font-size:.875rem;line-height:1.5}.recipe-library--panel,.recipe-library--sheet{display:block}.recipe-library--panel .recipe-library__main,.recipe-library--sheet .recipe-library__main{gap:24px}.recipe-library__replacing{color:var(--color-text-muted);align-items:center;gap:10px;margin:0;font-size:.875rem;line-height:1.45;display:flex}.recipe-library__replacing svg{color:var(--color-text-secondary);flex:none}.recipe-library__replacing span{overflow-wrap:anywhere;min-width:0}.suggest-recipe{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:20px;padding-bottom:24px;display:grid}.suggest-recipe__text{flex-direction:column;gap:4px;min-width:0;display:flex}.suggest-recipe__title{letter-spacing:0;margin:0;font-size:.9375rem;font-weight:600;line-height:1.4}.suggest-recipe__description{color:var(--color-text-muted);margin:0;font-size:.875rem;line-height:1.5}.suggest-recipe__error{margin:4px 0 0}.recipe-library__pick-title{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.recipe-library__filter-bar{flex-direction:column;gap:12px;display:flex}.recipe-library__search-row{align-items:center;gap:8px;display:flex}.recipe-library__search{flex:auto;min-width:0}.recipe-library__more-filter-groups{--collapse-gap:12px}.recipe-library__more-filter-list{border-top:1px solid var(--color-divider);flex-direction:column;gap:12px;padding-top:16px;display:flex}.recipe-library__filter-count{border-radius:var(--radius-pill);background:var(--color-primary);min-width:20px;height:20px;color:var(--color-on-primary);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;padding:0 6px;font-size:.75rem;font-weight:600;display:inline-flex}.recipe-library--panel .recipe-library__count,.recipe-library--sheet .recipe-library__count{line-height:1.55}.recipe-library--panel .recipe-library__count+.recipe-rows,.recipe-library--sheet .recipe-library__count+.recipe-rows{margin-top:-8px}.recipe-rows{border-top:1px solid var(--color-border);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.recipe-row{border-bottom:1px solid var(--color-border);flex-direction:column;gap:4px;min-width:0;padding:16px 0;display:flex}.recipe-row__heading{align-items:flex-start;gap:8px;display:flex}.recipe-row__title{min-width:0;font-family:var(--font-display);letter-spacing:-.008em;flex:auto;margin:0;padding-top:2px;font-size:1.25rem;font-weight:500;line-height:1.3}.recipe-row__title button:hover{-webkit-text-decoration:underline 1px var(--color-primary-line);text-decoration:underline 1px var(--color-primary-line);text-underline-offset:4px}.recipe-row__favorite{margin:-5px -10px -7px 0}.recipe-row__meta,.recipe-row__note{color:var(--color-text-muted);margin:0;font-size:.875rem;line-height:1.45}.recipe-row__note{color:var(--color-text-secondary);align-items:center;gap:6px;display:flex}.recipe-row__note svg{flex:none}.recipe-row__footer{justify-content:space-between;align-items:center;gap:12px;margin-top:6px;display:flex}.recipe-row__source{min-width:0;color:var(--color-text-muted);font-size:.8125rem;line-height:1.45}@media (width<=1023px){.recipe-library{flex-direction:column;align-items:stretch;gap:16px}.recipe-library__main{flex:none}.recipe-library__list{grid-template-columns:minmax(0,1fr);gap:10px}.recipe-card{border-radius:var(--radius-strip);flex-direction:row;align-items:center;gap:12px;padding:14px 12px 14px 16px}.recipe-card__text{flex:auto;gap:4px}.recipe-card__title{font-size:1rem}.recipe-card__favorite{margin:-11px -6px -11px 0}.recipe-card__footer{border:0;flex:none;margin:0;padding:0}.recipe-card__source,.recipe-card__meta--desktop{display:none}.recipe-card__meta--mobile{display:block}.suggest-recipe{grid-template-columns:minmax(0,1fr);justify-items:start;row-gap:12px}.suggest-recipe__text{gap:6px}.suggest-recipe__title{letter-spacing:-.01em;font-size:1.125rem;font-weight:650}.suggest-recipe__description{font-size:.9375rem}.recipe-library__pick-title{clip-path:none;white-space:normal;width:auto;height:auto;margin:0 0 -8px;font-size:1.125rem;line-height:1.3;position:static;overflow:visible}.recipe-row__title{font-size:1.0625rem}.recipe-row__servings{display:none}}.nutrition-facts{flex-direction:column;min-width:0;display:flex}.nutrition-facts__heading{margin:0}.nutrition-facts--stacked .nutrition-facts__heading{font-size:1.25rem}.nutrition-facts__table{border-collapse:collapse;width:100%;margin-top:14px;font-size:.9375rem;line-height:1.4}.nutrition-facts__table th,.nutrition-facts__table td{border-bottom:1px solid var(--color-divider);text-align:right;height:38px;padding:0}.nutrition-facts__table th+th,.nutrition-facts__table td+td{padding-left:20px}.nutrition-facts__table td,.nutrition-facts__table thead th{white-space:nowrap}.nutrition-facts__table th[scope=row]{text-align:left;font-weight:500}.nutrition-facts__table thead th{border-color:var(--recipe-hairline,var(--color-border));height:auto;color:var(--color-text-muted);padding-bottom:10px;font-size:.875rem;font-weight:600}.nutrition-facts__part th[scope=row]{color:var(--color-text-muted);padding-left:16px;font-size:.875rem;font-weight:400}.nutrition-facts__part td{color:var(--color-text-muted)}@media (width>=1241px){.nutrition-facts--page .nutrition-facts__part th[scope=row]{white-space:nowrap}}.nutrition-facts__note{color:var(--color-text-muted);align-items:flex-start;gap:8px;margin:16px 0 0;font-size:.875rem;line-height:1.5;display:flex}.nutrition-facts__info{flex:none;margin-top:1px}.nutrition-facts__source{color:var(--color-text-muted);margin:16px 0 0;font-size:.8125rem;line-height:1.6}.nutrition-facts__note+.nutrition-facts__source{margin:6px 0 0 26px}.nutrition-source-link{color:inherit;text-underline-offset:2px;text-decoration:underline}@media (width<=1023px){.nutrition-facts--page{padding-top:4px}.nutrition-facts--page .nutrition-facts__heading{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.nutrition-facts--page .nutrition-facts__table{margin-top:0}.nutrition-facts--page .nutrition-facts__table th,.nutrition-facts--page .nutrition-facts__table td{height:44px}.nutrition-facts--page .nutrition-facts__table thead th{height:auto;font-size:.8125rem}.nutrition-facts--page .nutrition-facts__table th+th,.nutrition-facts--page .nutrition-facts__table td+td{padding-left:16px}.nutrition-facts--page .nutrition-facts__part th[scope=row]{padding-left:14px}}.checkbox{min-height:44px;color:var(--color-text);cursor:pointer;align-items:center;gap:10px;font-size:.875rem;line-height:1.45;display:inline-flex}.checkbox__input{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer;flex:none;margin:0}.checkbox:has(.checkbox__input:disabled){opacity:.6;cursor:not-allowed}.checkbox-input.is-ticked:checked,.checkbox-circle__input.is-ticked:checked+.checkbox-circle{animation:checkbox-tick var(--duration-pop) var(--ease-pop)}.checkbox-circle{width:var(--checkbox-circle-size,24px);height:var(--checkbox-circle-size,24px);border:1.5px solid var(--color-border-input);background:var(--color-surface);color:var(--color-on-primary);transition:background-color var(--duration-press) ease, border-color var(--duration-press) ease, transform var(--duration-press) var(--ease-out);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.checkbox-circle>svg{opacity:0}.checkbox-circle__input:checked+.checkbox-circle{border-color:var(--color-primary);background:var(--color-primary)}.checkbox-circle__input:checked+.checkbox-circle>svg{opacity:1}.checkbox-circle__input:focus-visible+.checkbox-circle{outline:var(--focus-ring);outline-offset:3px}@keyframes checkbox-tick{0%{transform:scale(.8)}}@media (width<=1023px){.checkbox{gap:12px;font-size:.9375rem}.checkbox__input{width:20px;height:20px}}@media (prefers-reduced-motion:reduce){.checkbox-input.is-ticked:checked,.checkbox-circle__input.is-ticked:checked+.checkbox-circle{animation:none}}.recipe-body{--recipe-hairline:var(--color-border)}.recipe-body__ingredients-section,.recipe-body__steps-section,.recipe-body__aside,.recipe-body__after,.recipe-body__panel{flex-direction:column;min-width:0;display:flex}.recipe-body__heading-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;display:flex}.recipe-body__heading{margin:0}.recipe-body__servings{color:var(--color-text-muted);font-size:.875rem;font-weight:600}.recipe-body__ingredients{margin:0;padding:0;list-style:none}.recipe-body__ingredient{flex:auto;grid-template-columns:5.75rem minmax(0,1fr);align-items:baseline;column-gap:14px;min-width:0;display:grid}.recipe-body__ingredient strong{font-weight:600}.recipe-body__check{--checkbox-circle-size:22px;cursor:pointer;align-items:flex-start;gap:14px;display:flex}.recipe-body__check .checkbox-circle{margin-top:2px}.recipe-body__check:hover .checkbox-circle__input:not(:checked)+.checkbox-circle{border-color:var(--color-primary)}.recipe-body__check.is-ticked .recipe-body__ingredient{color:var(--color-text-muted);-webkit-text-decoration:line-through 1px var(--color-primary-line);text-decoration:line-through 1px var(--color-primary-line)}.recipe-body__steps{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.recipe-body__step{grid-template-columns:2.25rem minmax(0,1fr);align-items:start;column-gap:16px;min-width:0;display:grid}label.recipe-body__step{cursor:pointer}.recipe-body__step input:focus-visible+.recipe-body__step-number{outline:var(--focus-ring);outline-offset:3px}.recipe-body__step-number{border-radius:var(--radius-pill);height:31px;color:var(--color-primary-hover);font-variant-numeric:tabular-nums;letter-spacing:-.03em;align-items:center;font-size:1.5rem;font-weight:600;line-height:1;display:flex}.recipe-body__step-check{background:var(--color-primary);width:28px;height:28px;color:var(--color-on-primary);border-radius:50%;justify-content:center;align-items:center;display:flex}.recipe-body__step-check>svg{width:16px;height:16px}.recipe-body__step-text{min-width:0;font-size:1.125rem;line-height:1.7}.recipe-body__step.is-ticked .recipe-body__step-text{color:var(--color-text-muted)}.recipe-body--page{box-shadow:inset 0 1px 0 var(--recipe-hairline);grid-template-columns:minmax(0,360px) minmax(0,1fr);align-items:start;gap:48px 64px;margin-top:40px;padding-top:36px;display:grid}.recipe-body--page .recipe-body__ingredients-section{grid-area:1/1}.recipe-body--page .recipe-body__steps-section{grid-area:1/2}.recipe-body--page .recipe-body__aside{grid-area:2/1}.recipe-body--page .recipe-body__after{grid-area:2/2}.recipe-body--page .recipe-body__heading-row{min-height:44px}.recipe-body--page .recipe-body__ingredients{box-shadow:inset 0 1px 0 var(--recipe-hairline);margin-top:14px}.recipe-body--page .recipe-body__ingredients>li{box-shadow:inset 0 -1px 0 var(--recipe-hairline)}.recipe-body--page .recipe-body__ingredients>li>.recipe-body__ingredient,.recipe-body--page .recipe-body__check{padding:12px 0;font-size:1.0625rem;line-height:1.45}.recipe-body--page .recipe-body__check{border-radius:var(--radius-strip);transition:background-color var(--duration-press) ease;margin:0 -12px;padding:12px}.recipe-body--page .recipe-body__check:hover{background:var(--color-surface-hover)}.recipe-body--page .recipe-body__steps{gap:2px;margin-top:10px}.recipe-body--page .recipe-body__step{border-radius:var(--radius-strip);margin:0 -16px;padding:18px 16px}.recipe-body--page label.recipe-body__step{transition:background-color var(--duration-press) ease}.recipe-body--page label.recipe-body__step:hover{background:var(--color-surface-hover)}.recipe-body--page .recipe-body__step-text{max-width:58ch}.recipe-body--stacked{flex-direction:column;gap:28px;display:flex}.recipe-body--stacked .recipe-body__aside{order:1}.recipe-body--stacked .recipe-body__ingredients-section,.recipe-body--stacked .recipe-body__steps-section{gap:12px}.recipe-body--stacked .recipe-body__heading{font-size:1.25rem}.recipe-body--stacked .recipe-body__ingredients{font-size:.9375rem;line-height:1.4}.recipe-body--stacked .recipe-body__ingredients>li{border-top:1px solid var(--color-divider)}.recipe-body--stacked .recipe-body__ingredients>li:last-child{border-bottom:1px solid var(--color-divider)}.recipe-body--stacked .recipe-body__ingredient{grid-template-columns:4.75rem minmax(0,1fr);column-gap:12px;padding:11px 0}.recipe-body--stacked .recipe-body__steps{gap:14px}.recipe-body--stacked .recipe-body__step{grid-template-columns:1.75rem minmax(0,1fr);column-gap:12px}.recipe-body--stacked .recipe-body__step-number{height:25px;font-size:1.25rem}.recipe-body--stacked .recipe-body__step-text{font-size:.9375rem;line-height:1.6}@media (width>=1024px) and (width<=1240px){.recipe-body--page{grid-template-columns:minmax(0,312px) minmax(0,1fr);column-gap:48px}}@media (width>=1024px) and (width<=1100px){.recipe-body--page{grid-template-columns:minmax(0,1fr)}.recipe-body--page>*{max-width:620px}.recipe-body--page .recipe-body__ingredients-section,.recipe-body--page .recipe-body__steps-section,.recipe-body--page .recipe-body__aside,.recipe-body--page .recipe-body__after{grid-area:auto/1}.recipe-body--page .recipe-body__steps-section{order:1}.recipe-body--page .recipe-body__aside{order:2}.recipe-body--page .recipe-body__after{order:3}}@media (width<=1023px){.recipe-body--page{box-shadow:none;flex-direction:column;align-items:stretch;gap:0;margin-top:28px;padding-top:0;display:flex}.recipe-body__panel{padding-top:16px}.recipe-body--page .recipe-body__heading-row{justify-content:flex-start;min-height:48px}.recipe-body--page .recipe-body__steps-section .recipe-body__heading-row{min-height:0}.recipe-body--page .recipe-body__heading-row .stepper{margin-left:-2px}.recipe-body--page .recipe-body__ingredients{margin-top:10px}.recipe-body--page .recipe-body__ingredient{grid-template-columns:5.5rem minmax(0,1fr)}.recipe-body--page .recipe-body__ingredients>li>.recipe-body__ingredient,.recipe-body--page .recipe-body__check{min-height:52px;padding:14px 0;line-height:1.4}.recipe-body--page .recipe-body__check{--checkbox-circle-size:24px;border-radius:0;margin:0}.recipe-body--page .recipe-body__check .checkbox-circle{margin-top:0}.recipe-body--page .recipe-body__check:hover{background:0 0}.recipe-body__check:active .checkbox-circle,label.recipe-body__step:active .recipe-body__step-number{transform:scale(.92)}.recipe-body__step-number{transition:transform var(--duration-press) var(--ease-out)}.recipe-body--page .recipe-body__steps{gap:0;margin-top:0}.recipe-body--page .recipe-body__step{grid-template-columns:1.875rem minmax(0,1fr);column-gap:14px;margin:0;padding:14px 0}.recipe-body--page label.recipe-body__step:hover{background:0 0}.recipe-body--page .recipe-body__step-number{height:29px;font-size:1.375rem}.recipe-body--page .recipe-body__step-check{width:26px;height:26px}.recipe-body--page .recipe-body__step-check>svg{width:15px;height:15px}.recipe-body--page .recipe-body__step-text{max-width:none;font-size:1.0625rem}}@media (prefers-contrast:more){.recipe-body{--recipe-hairline:var(--color-border-input)}}@media (prefers-reduced-motion:reduce){.recipe-body__check:active .checkbox-circle,label.recipe-body__step:active .recipe-body__step-number{transform:none}}.chip{border-radius:var(--radius-pill);border:1px solid #0000;align-items:center;gap:2px;max-width:100%;min-height:32px;padding:0 12px;font-size:.8125rem;font-weight:500;line-height:1.2;display:inline-flex}.chip--neutral{border-color:var(--color-border-card);background:var(--color-surface);min-height:30px;box-shadow:var(--shadow-card);color:var(--color-text)}.chip--soft{background:var(--color-chip);color:var(--color-text)}.chip>svg{flex:none;margin-right:4px}.chip--primary,.chip--selected{background:var(--color-primary-soft);color:var(--color-primary-soft-text)}.chip--selected{border-color:var(--color-primary);font-weight:600}.chip--avoid{background:var(--color-avoid-soft);color:var(--color-warning-text);font-weight:600}.chip--warning{background:var(--color-avoid-soft);color:var(--color-warning-text)}.chip--removable{min-height:40px;padding:0 4px 0 14px;font-size:.875rem}.chip__remove{width:34px;height:34px;color:inherit;background:0 0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.chip__remove:hover{background:var(--color-hover-tint)}@media (width<=1023px){.chip--removable{min-height:44px;padding:0 2px 0 14px}.chip__remove{width:40px;height:40px}}.change-meal{flex-direction:column;gap:28px;min-width:0;display:flex}.change-meal>.segmented-control{align-self:flex-start}.change-meal__meal-type{flex-direction:column;gap:10px;display:flex}.change-meal__meal-type-label{color:var(--color-text);font-size:.875rem;font-weight:600}.change-meal__meal-types{flex-wrap:wrap;gap:8px;display:flex}.change-meal__meal-types .toggle-pill.is-taken:disabled{border-style:dashed;border-color:var(--color-border-dashed);color:var(--color-placeholder);opacity:1;cursor:default;background:0 0}.change-meal__meal-type-note{color:var(--color-text-muted);margin:0;font-size:.875rem}@media (width>=1024px){.change-meal>.back-bar{margin-top:-8px}}.change-meal--panel{gap:0}.change-meal--panel>:not(.side-panel__header){margin:24px 28px 0}.change-meal--panel>.segmented-control{align-self:stretch;width:auto}.change-meal--panel>.recipe-library{padding-bottom:32px}@media (width<=1023px){.change-meal{gap:24px}.sheet__content>.change-meal{flex:1 0 auto}.change-meal>.sheet__header{margin-bottom:-16px}.change-meal>.segmented-control{align-self:stretch}}.save-notice{bottom:24px;right:0;left:var(--sidebar-width);z-index:50;pointer-events:none;justify-content:center;padding:0 16px;display:flex;position:fixed}.save-notice__message{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);max-width:480px;box-shadow:var(--shadow-overlay);color:var(--color-error);margin:0;padding:12px 16px;font-size:.875rem}@media (width<=1023px){.save-notice{bottom:calc(16px + var(--tab-bar-height) + env(safe-area-inset-bottom));left:0}.app-layout--focused~.save-notice{bottom:calc(16px + env(safe-area-inset-bottom))}}.stat-card,a.stat-card:hover{border:1px solid var(--color-border-card);border-radius:var(--radius-2xl);background:var(--color-surface);min-width:0;box-shadow:var(--shadow-card);color:var(--color-text);flex-direction:column;gap:10px;padding:20px 22px;text-decoration:none;display:flex}a.stat-card{transition:var(--transition-press), border-color .15s ease}a.stat-card:hover{border-color:var(--color-border-input)}.stat-card__label{color:var(--color-text-secondary);align-items:center;gap:8px;font-size:.8125rem;font-weight:600;line-height:1.3;display:flex}.stat-card__label>svg{flex:none}.stat-card__value{overflow-wrap:break-word;font-variant-numeric:lining-nums tabular-nums;font-size:1.75rem;font-weight:700;line-height:1}.stat-card--positive .stat-card__value{color:var(--color-primary-soft-text)}.stat-card--warning .stat-card__value{color:var(--color-warning-text)}.stat-card__unit{color:var(--color-text-muted);font-size:1rem;font-weight:500}.stat-card__note{color:var(--color-text-muted);align-items:center;gap:6px;font-size:.875rem;line-height:1.35;display:flex}.stat-card__note a{font-weight:600}.stat-card__live{background:var(--color-primary);border-radius:50%;flex:none;width:8px;height:8px}.stat-card--display{border-radius:var(--radius-xl);gap:8px;padding:18px 20px}.stat-card--display .stat-card__label{color:var(--color-text-muted)}.stat-card--display .stat-card__value{font-size:2.125rem;font-weight:600}.stat-card--display .stat-card__unit{font-size:1.25rem}.stat-card--display .stat-card__note{font-size:.8125rem}.stat-card--primary,a.stat-card--primary:hover{border-color:var(--color-primary);background:var(--color-primary);box-shadow:none;color:var(--color-on-primary)}.stat-card--primary .stat-card__label,.stat-card--primary .stat-card__unit,.stat-card--primary .stat-card__note{color:var(--color-on-primary-muted)}.stat-card--sm{border-radius:var(--radius-strip);gap:4px;padding:12px 14px}.stat-card--sm .stat-card__label{color:var(--color-text-muted);font-size:.75rem}.stat-card--sm .stat-card__value{font-size:1.25rem;line-height:1.2}.stat-card--sm .stat-card__unit{font-size:.875rem}.stat-card--ground{background:var(--color-bg);box-shadow:none;border-color:#0000}@media (width<=1023px){.stat-card,a.stat-card:hover{border-radius:var(--radius-lg);padding:14px}.stat-card__value{letter-spacing:-.02em;font-size:1.5rem}.stat-card__unit{font-size:.9375rem}.stat-card__unit-desktop{display:none}.stat-card__note{font-size:.8125rem}.stat-card--sm{border-radius:var(--radius-strip);padding:12px}.stat-card--sm .stat-card__value{letter-spacing:0;font-size:1.125rem}}.stat-card--lg,a.stat-card--lg:hover{border-radius:var(--radius-2xl);gap:10px;padding:18px}.stat-card--lg .stat-card__label{color:var(--color-text-muted);font-size:.8125rem}.stat-card--lg .stat-card__value{letter-spacing:-.02em;font-size:2.875rem;font-weight:600}.stat-card--lg .stat-card__unit{font-size:1.5rem}.stat-card--lg .stat-card__note{font-size:.875rem}.stat-card--plain-unit .stat-card__unit{color:inherit;font-size:inherit;font-weight:inherit}.history-page{flex-direction:column;gap:24px;min-width:0;display:flex}.history-page>.form-hint{margin:0}.history-page__search{width:360px;max-width:100%}.history-page__found{color:var(--color-text-muted);margin:0;font-size:.875rem}.history-stats{border-radius:var(--radius-lg);background:var(--color-surface-sunk);flex-wrap:wrap;gap:12px 40px;padding:16px 22px;display:flex}.history-stats>.history-stats__label{align-self:center;margin:0;font-size:.8125rem}.history-stats__item{align-items:baseline;gap:8px;min-width:0;display:flex}.history-stats__item strong{overflow-wrap:anywhere;font-size:1.25rem;font-weight:700;line-height:1.2}.history-stats__item span{color:var(--color-text-secondary);font-size:.875rem;line-height:1.2}.history-page__columns{align-items:flex-start;gap:24px;display:flex}.history-page__list{flex-direction:column;flex:300px;gap:10px;min-width:240px;max-width:420px;display:flex}.history-page__older{align-self:stretch}.history-week{border:1px solid var(--color-border-card);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-card);color:var(--color-text);text-align:left;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.history-week:hover{border-color:var(--color-border-input)}.history-week[aria-pressed=true]{border:1.5px solid var(--color-primary);background:var(--color-input);box-shadow:none;padding:13.5px 15.5px}.history-week__head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.history-week__name{flex-wrap:wrap;align-items:baseline;gap:2px 8px;min-width:0;display:flex}.history-week__number{font-variant-numeric:tabular-nums;font-size:1.1875rem;font-weight:600;line-height:1.3}.history-week__dates{color:var(--color-text-muted);font-size:.8125rem}.history-week__spent{flex:none;font-size:.9375rem;font-weight:700}.history-week__preview{color:var(--color-text-secondary);font-size:.8125rem;line-height:1.4}.history-detail{flex-direction:column;flex:999 560px;gap:20px;min-width:0;display:flex;container-type:inline-size}.history-detail__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.history-detail__title{flex-direction:column;gap:4px;display:flex}.history-detail__actions{flex-wrap:wrap;gap:10px;display:flex}.reuse-week{gap:16px;display:grid}.reuse-week__error{margin:0}.history-detail__title .eyebrow{margin:0;font-size:.8125rem}.history-detail__title h2{margin:0;font-size:2rem;line-height:1.1}.history-detail__stats{grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:10px;display:grid}.history-detail__hint{margin:0}.history-grid{grid-template-columns:5.25rem repeat(7,minmax(0,1fr));gap:8px;display:grid}.history-grid__row{display:contents}.history-grid__day,.history-grid__label{color:var(--color-text-muted);font-size:.75rem;font-weight:700}.history-grid__day{padding:0 4px 2px}.history-grid__label{padding-top:10px}.history-grid__meal,.history-grid__meal:hover{border:1px solid var(--color-border-card);border-radius:var(--radius-sm);background:var(--color-surface);min-height:72px;box-shadow:var(--shadow-card);color:var(--color-text);overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;padding:10px;font-size:.8125rem;line-height:1.3;text-decoration:none;display:block}.history-grid__meal:hover{border-color:var(--color-border-input)}.history-grid__row--middag .history-grid__meal{background:var(--color-input);font-family:var(--font-display);font-size:.875rem;font-weight:500}.history-grid .history-grid__meal--found{border-color:var(--color-primary);background:var(--color-primary-soft)}.history-grid__empty{border:1px dashed var(--color-border);border-radius:var(--radius-sm);min-height:72px}@container (width<700px){.history-detail__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.history-grid{grid-template-rows:repeat(8,auto);grid-template-columns:40px;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}.history-grid__day{padding:11px 0 0}.history-grid__label{padding:0 4px 2px}.history-grid__meal,.history-grid__meal:hover,.history-grid__empty{min-height:44px}}@media (width<=1023px){.history-page{gap:16px}.history-page__search{width:auto}.history-stats{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:0;padding:14px 4px;display:grid}.history-stats>.history-stats__label{display:none}.history-stats__item{text-align:center;flex-direction:column;align-items:center;gap:2px;padding:0 6px}.history-stats__item+.history-stats__item{border-left:1px solid var(--color-border-sunk)}.history-stats__item strong{font-size:1.125rem}.history-stats__item--text strong{font-size:.9375rem}.history-stats__item span{color:var(--color-text-muted);font-size:.75rem}.history-page__cards{flex-direction:column;gap:12px;display:flex}.history-page__older{align-self:center}.history-card__head{flex-direction:column;gap:6px;padding:16px 16px 12px;display:flex}.history-card__title-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.history-card__title{flex-wrap:wrap;align-items:baseline;gap:2px 8px;margin:0;font-size:1.25rem;display:flex}.history-card__dates{color:var(--color-text-muted);font-family:var(--font-body);font-size:.875rem}.history-card__spent{flex:none;font-size:1rem;font-weight:700}.history-card__meta{color:var(--color-text-muted);font-size:.8125rem}.history-card__preview-fold{--collapse-gap:6px}.history-card__preview{color:var(--color-text-secondary);margin:4px 0 0;font-size:.875rem;line-height:1.45}.history-card .history-card__fold{border-top:0}.history-card__meals,.history-card__hint{border-top:1px solid var(--color-divider)}.history-card__meals{margin:0;padding:0;list-style:none}.history-card__meals li+li{border-top:1px solid var(--color-divider)}.history-card__meals a,.history-card__meals a:hover{min-height:44px;color:var(--color-text);align-items:center;gap:12px;padding:6px 16px;text-decoration:none;display:flex}.history-card__meals a:focus-visible{outline-offset:-2px}.history-card__day{width:2.125rem;color:var(--color-text-muted);flex:none;font-size:.75rem;font-weight:700}.history-card__meal{overflow-wrap:anywhere;min-width:0;font-size:.9375rem;line-height:1.35}.history-card__type{color:var(--color-text-muted)}.history-card__hint{color:var(--color-text-muted);margin:0;padding:12px 16px;font-size:.875rem}.history-card__hint--error{color:var(--color-error)}.history-card__actions{flex-wrap:wrap;gap:8px;padding:12px 16px 16px;display:flex}.history-card__open,.history-card__reuse{flex:auto}}form.add-field{gap:8px;width:100%;max-width:460px;display:flex}.add-field__input{flex:auto}.add-field__button{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);min-height:46px;color:var(--color-text);flex:none;padding:0 18px;font-size:.875rem;font-weight:600}.add-field__button:hover:not(:disabled){background:var(--color-chip)}.add-field__button:disabled{opacity:.5;cursor:not-allowed}@media (width<=1023px){form.add-field{max-width:none}.add-field__button{min-height:48px;font-size:.9375rem}}.form-section{border-top:1px solid var(--color-border);grid-template-columns:15rem minmax(0,1fr);gap:48px;padding:28px 0;display:grid}.form-section:last-of-type{border-bottom:1px solid var(--color-border)}.form-section__intro{flex-direction:column;gap:6px;display:flex}.form-section__title{margin:0;font-size:1.25rem;line-height:1.3}.form-section__description{color:var(--color-text-muted);margin:0;font-size:.875rem;line-height:1.5}.form-section__body{flex-direction:column;align-items:flex-start;gap:16px;min-width:0;display:flex}.form-section__body>*{max-width:100%}@media (width<=1023px){.form-section{grid-template-columns:minmax(0,1fr);gap:14px;padding:24px 0}.form-section__intro{gap:4px}.form-section__body{align-items:stretch}.form-section--inline{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px}}.preferences-page{flex-direction:column;gap:24px;min-width:0;max-width:980px;display:flex}.preferences-page__sections{flex-direction:column;display:flex}.preferences-page__inline{align-items:center;gap:14px;display:flex}.preferences-page__unit{color:var(--color-text-muted);font-size:.875rem}.preferences-page__pills,.preferences-page__days{flex-wrap:wrap;gap:8px;display:flex}.preferences-page__day-letter{display:none}.preferences-page__proteins{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:12px 32px;display:grid}.preferences-page__protein{justify-content:space-between;align-items:center;gap:16px;display:flex}.preferences-page__protein-name{flex-direction:column;gap:2px;min-width:0;font-size:.9375rem;font-weight:500;display:flex}.preferences-page__protein-name>span{color:var(--color-text-muted);font-size:.8125rem;font-weight:400}.preferences-page__protein-note,.preferences-page__complexity-note{color:var(--color-text-muted);margin:0;font-size:.875rem}.preferences-page__budget{width:160px}.preferences-page__more{align-items:center;gap:14px;display:flex}.preferences-page__more-count{color:var(--color-text-muted);font-size:.875rem}.preferences-page__more-fold{--collapse-gap:24px}.preferences-page__portion-grams{flex:0 0 96px}.preferences-page__portion-grams .field-control--input{padding-right:30px}.preferences-page>.form-error{margin:0}@media (width<=1023px){.preferences-page{gap:8px}.preferences-page>.page-header{padding-bottom:12px}.preferences-page__days{justify-content:space-between;gap:4px}.preferences-page__day-short{display:none}.preferences-page__day-letter{display:inline}.preferences-page__more{padding:12px 0 4px}.preferences-page__more-fold{--collapse-gap:8px}.preferences-page__portion-field{flex-wrap:wrap}.preferences-page__portion-field .add-field__input{flex-basis:100%}.preferences-page__portion-grams{flex:1 1 0}.preferences-page__footer{padding-top:16px}}.recipe-form-page{flex-direction:column;gap:24px;min-width:0;display:flex}@media (width<=1023px){.recipe-form-page{gap:20px}}.badge{border-radius:var(--radius-pill);font-family:var(--font-body);white-space:nowrap;align-items:center;padding:2px 8px;font-size:.75rem;font-weight:700;line-height:1.5;display:inline-flex}.badge--eyebrow{min-height:24px;font-size:inherit;letter-spacing:inherit;padding:0 9px;line-height:1}.badge--today,.badge--primary{background:var(--color-primary-soft);color:var(--color-primary-soft-text)}.badge--terracotta{background:var(--color-avoid-soft);color:var(--color-warning-text)}.badge--solid{background:var(--color-primary);color:var(--color-on-primary)}@media (width<=1023px){.badge--eyebrow{padding:0 8px}}.popover{z-index:15;box-sizing:border-box;border-radius:var(--radius-2xl);max-width:calc(100vw - 32px);animation:popover-in .22s var(--ease-out) both;transform-origin:100% 0;flex-direction:column;display:flex;position:absolute;top:calc(100% + 10px);right:0}.popover:focus{outline:none}@keyframes popover-in{0%{opacity:0;transform:translateY(-4px)scale(.96)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.popover{animation-name:fade-in}}.menu{border-radius:var(--radius-lg);width:248px;padding:6px}.menu__item{border-radius:var(--radius-sm);min-height:44px;color:var(--color-text);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:0 12px;font-size:.9375rem;font-weight:500;line-height:1.25;display:flex}.menu__item:active{background:var(--color-press);transform:none}.menu__item:hover,.menu__item:focus-visible{background:var(--color-press)}.menu__item:focus-visible{outline-offset:-2px}.menu__item[aria-checked=true]{font-weight:700}.menu__item>svg{flex:none}.menu__item:disabled{opacity:.5;cursor:not-allowed}.menu__item--danger{color:var(--color-error)}.menu__check{width:18px;color:var(--color-primary);flex:none;display:flex}@media (width<=1023px){.menu{width:240px}}.recipe-stack{width:100%;min-width:0;color:var(--color-text);text-align:left;background:0 0;border:0;flex-direction:column;padding:18px 0 0;display:flex;position:relative}.recipe-stack__back{height:40px;box-shadow:var(--shadow-stack);transition:transform var(--duration-spring) var(--ease-out);position:absolute}.recipe-stack__back--far{border-radius:var(--radius-strip);background:var(--color-stack-2);top:0;left:28px;right:28px}.recipe-stack__back--near{border-radius:var(--radius-lg);background:var(--color-stack-1);top:9px;left:14px;right:14px}.recipe-stack__front{border:1px solid var(--color-border-card);border-radius:var(--radius-xl);background:var(--color-surface);min-width:0;min-height:212px;box-shadow:var(--shadow-stack);flex-direction:column;flex:auto;gap:14px;padding:18px 18px 16px;transition:border-color .15s;display:flex;position:relative}.recipe-stack__header{align-items:center;gap:12px;min-width:0;display:flex}.recipe-stack__icon{border-radius:var(--radius-md);background:var(--color-primary-soft);width:40px;height:40px;color:var(--color-primary-soft-text);flex:none;justify-content:center;align-items:center;display:flex}.recipe-stack__heading{flex-direction:column;gap:2px;min-width:0;display:flex}.recipe-stack__title{overflow-wrap:break-word;font-family:var(--font-body);font-size:1.1875rem;font-weight:650;line-height:1.2}.recipe-stack__count{color:var(--color-text-muted);font-size:.8125rem}.recipe-stack__rows{border-top:1px solid var(--color-divider);flex-direction:column;display:flex}.recipe-stack__row{border-bottom:1px solid var(--color-divider);align-items:baseline;gap:10px;padding:8px 0;line-height:1.3;display:flex}.recipe-stack__row-title{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:.875rem;font-weight:600;overflow:hidden}.recipe-stack__row-detail{color:var(--color-text-muted);flex:none;font-size:.8125rem}.recipe-stack__see-all{color:var(--color-primary);align-items:center;gap:4px;margin-top:auto;font-size:.875rem;font-weight:700;display:flex}@media (hover:hover) and (width>=1024px){.recipe-stack:hover .recipe-stack__front{border-color:var(--color-border-input)}.recipe-stack:hover .recipe-stack__back--near{transform:translateY(-3px)}.recipe-stack:hover .recipe-stack__back--far{transform:translateY(-6px)}}@media (width<=1023px){.recipe-stack{padding-top:14px}.recipe-stack__back{height:30px}.recipe-stack__back--far{border-radius:var(--radius-md);left:20px;right:20px}.recipe-stack__back--near{border-radius:var(--radius-strip);top:7px;left:10px;right:10px}.recipe-stack__front{border-radius:var(--radius-lg);gap:8px;min-height:176px;padding:14px}.recipe-stack__header{flex-direction:column;align-items:flex-start;gap:8px}.recipe-stack__icon{width:36px;height:36px}.recipe-stack__icon>svg{width:20px;height:20px}.recipe-stack__title{font-size:1.0625rem}.recipe-stack__rows{border-top:1px solid var(--color-divider);gap:2px;margin-top:auto;padding-top:8px}.recipe-stack__row{border-bottom:0;padding:0}.recipe-stack__row:nth-child(n+3),.recipe-stack__row-detail,.recipe-stack__see-all{display:none}.recipe-stack__row-title{color:var(--color-text-secondary);font-size:.8125rem;font-weight:400;line-height:1.45}}@media (prefers-reduced-motion:reduce){.recipe-stack__back{transition:none}.recipe-stack:hover .recipe-stack__back{transform:none}}.recipe-library-page{flex-direction:column;gap:24px;min-width:0;display:flex}.recipe-library-page__error{margin:0}.library-toolbar{align-items:center;gap:12px;display:flex}.library-toolbar__search{flex:auto}.library-toolbar__buttons{flex:none;gap:12px;display:flex}.library-toolbar__anchor{display:flex;position:relative}.library-toolbar__button{border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface);min-height:48px;color:var(--color-text);white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 16px 0 14px;font-size:.9375rem;font-weight:600;line-height:1.2;display:inline-flex}.library-toolbar__button:hover{border-color:var(--color-border-input)}.library-toolbar__button>svg{flex:none}.library-toolbar__button.is-active{border-color:var(--color-primary);background:var(--color-primary-soft)}.library-toolbar__button .badge{justify-content:center;min-width:22px}.library-toolbar__sort-name{color:var(--color-text-muted);font-weight:500}.library-list__top{flex-direction:column;gap:14px;display:flex}.library-list__heading{align-items:center;gap:16px;display:flex}.library-list__back{border-radius:var(--radius-pill);background:var(--color-surface-sunk);min-height:44px;color:var(--color-text);border:0;flex:none;align-items:center;gap:6px;padding:0 16px 0 12px;font-size:.875rem;font-weight:600;display:inline-flex}.library-list__back:hover{background:var(--color-border)}.library-list__title-row{flex-wrap:wrap;align-items:baseline;column-gap:14px;min-width:0;display:flex}.library-list__title{margin:0;font-size:1.75rem;line-height:1.2}.library-list__count{color:var(--color-text-muted);font-size:.9375rem}.library-list__chips{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.recipe-library-page .library-list__top,.recipe-library-page .recipe-library__list>li{animation:reveal var(--duration-reveal) var(--ease-out) backwards}.library-groups{flex-direction:column;gap:28px;display:flex}.library-groups__note{color:var(--color-text-muted);margin:-8px 0 -6px;font-size:.875rem}.library-groups__show-all{color:var(--color-primary);font:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.library-groups__show-all:hover{text-decoration-thickness:2px}.library-groups__section{flex-direction:column;gap:14px;display:flex}.library-groups__title{margin:0;font-size:1.375rem;line-height:1.2}.library-groups__grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px;margin:0;padding:0;list-style:none;display:grid}.library-groups__grid>li{min-width:0;display:flex}.library-filters{gap:20px;width:440px;padding:20px 22px 18px}.library-filters__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.library-filters__header .icon-button{margin:-10px -12px -10px 0}.library-filters__title{margin:0;font-size:1.375rem;line-height:1.2}.library-filters__groups{flex-direction:column;gap:20px;display:flex}.library-filters__group{flex-direction:column;gap:10px;display:flex}.library-filters__heading{font-family:var(--font-body);margin:0}.library-filters__pills{flex-wrap:wrap;gap:8px;display:flex}.library-filters__hint{color:var(--color-text-muted);margin:0;font-size:.8125rem}.library-filters__footer{border-top:1px solid var(--color-divider);justify-content:space-between;align-items:center;gap:12px;padding-top:14px;display:flex}.library-filters__body{flex-direction:column;flex:1 0 auto;padding:8px 0 24px;display:flex}@media (width<=1023px){.recipe-library-page{gap:16px}.recipe-library-page .page-header__trailing{align-self:flex-start;margin-top:10px}.library-toolbar{flex-direction:column;align-items:stretch}.library-toolbar__buttons{gap:10px}.library-toolbar__anchor{flex:1 1 0;min-width:0}.library-toolbar__button{flex:auto;min-width:0;min-height:44px;padding:0 12px}.library-toolbar__sort-name{display:none}.library-list__heading{gap:12px}.library-list__back{justify-content:center;width:44px;padding:0}.library-list__back-label{display:none}.library-list__title-row{flex-direction:column;align-items:flex-start;row-gap:2px}.library-list__title{font-size:1.5rem}.library-list__count{font-size:.875rem}.library-groups{gap:24px}.library-groups__note{margin:0 0 -6px}.library-groups__section{gap:12px}.library-groups__title{font-size:1.25rem}.library-groups__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}@media (width<=19.9em){.library-groups__grid{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.recipe-library-page .library-list__top,.recipe-library-page .recipe-library__list>li{animation:fade-in var(--duration-fade) ease backwards}}.loading-animation{justify-content:center;align-items:center;width:100%;max-width:320px;height:320px;margin:20px auto;display:flex}.status-row,.status-row:hover{border-radius:var(--radius-strip);min-width:0;color:var(--color-text);flex-direction:column;gap:6px;padding:18px 16px;text-decoration:none;display:flex}.status-row:hover{background:var(--color-surface-hover)}.status-row:has(.meter){gap:10px}.status-row__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;display:flex}.status-row__label{font-size:.9375rem;font-weight:600}.status-row__value{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:.9375rem}.status-row__figure{color:var(--color-text);font-weight:600}.status-row__aside{display:none}.status-row__note{color:var(--color-text-muted);align-items:center;gap:6px;font-size:.875rem;line-height:1.4;display:flex}.status-row__live{background:var(--color-primary);border-radius:50%;flex:none;width:8px;height:8px}@media (width<=1023px){.status-row,.status-row:hover{background:0 0;gap:8px;padding:6px 4px}.status-row__head{flex-direction:column;align-items:flex-start;gap:8px}.status-row__label{color:var(--color-text-muted);font-size:.875rem;font-weight:400}.status-row__value,.status-row__unit{color:var(--color-text);font-size:1.0625rem;font-weight:600}.status-row__unit-desktop,.status-row__note{display:none}.status-row__aside{color:var(--color-text-muted);font-size:.875rem;font-weight:400;display:inline}.status-row .meter{height:4px}}.meal-details{--recipe-hairline:var(--color-border);flex-direction:column;min-width:0;margin-top:-6px;display:flex}.meal-details__header{flex-direction:column;min-width:0;padding-top:22px;display:flex}.meal-details__title{overflow-wrap:break-word;max-width:28ch;font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.02em;text-wrap:pretty;margin:0;font-size:2.5rem;font-weight:500;line-height:1.1}.meal-details__when{color:var(--color-text-muted);margin:14px 0 0;font-size:1.0625rem;line-height:1.45}.meal-details__today{color:var(--color-primary-hover);font-weight:600}.meal-details__header>.recipe-facts{margin-top:20px}.meal-details__actions{flex-wrap:wrap;align-items:center;gap:8px;padding-top:28px;display:flex}.meal-details__separator{background:var(--color-border);width:1px;height:24px;margin:0 12px}.meal-details__quiet-actions{flex-wrap:wrap;gap:8px;display:flex}.meal-details>.meal-details__error{margin:16px 0 0}.meal-details__dish{font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.008em;font-size:1.25rem;font-weight:500;line-height:1.3}.meal-details__chevron{color:var(--color-text-muted);flex:none}.meal-details__around-list{box-shadow:inset 0 1px 0 var(--recipe-hairline);margin:12px 0 0;padding:0;list-style:none}.meal-details__around-list>li{box-shadow:inset 0 -1px 0 var(--recipe-hairline)}.meal-details__around-row,.meal-details__around-row:hover{border-radius:var(--radius-strip);color:var(--color-text);grid-template-columns:8rem minmax(0,1fr) 16px;align-items:baseline;column-gap:16px;margin:0 -12px;padding:18px 12px;text-decoration:none;display:grid}.meal-details__around-row:hover{background:var(--color-surface-hover)}.meal-details__around-row:hover .meal-details__dish{-webkit-text-decoration:underline 1px var(--color-primary-line);text-decoration:underline 1px var(--color-primary-line);text-underline-offset:4px}.meal-details__around-row>.meal-details__chevron{align-self:center}.meal-details__around-when{color:var(--color-text-muted);font-size:.875rem}.meal-details__minutes{color:var(--color-text-muted);white-space:nowrap;margin-left:12px;font-size:.875rem}@media (width>=1024px){.meal-details__menu{display:none}}@media (width<=1300px){.meal-details__separator{display:none}}@media (width<=1023px){.meal-details{margin-top:0}.meal-details__header{padding-top:6px}.meal-details__title{max-width:none;font-size:1.75rem}.meal-details__when{margin-top:10px;font-size:.9375rem}.meal-details__header>.recipe-facts{margin-top:16px}.meal-details__actions{flex-wrap:nowrap;padding-top:22px}.meal-details__actions>.button{flex:auto;padding:6px 14px}:is(.meal-details__actions:not(:has(>.button)),.meal-details__favorite,.meal-details__separator,.meal-details__quiet-actions){display:none}.meal-details__menu{position:relative}.meal-details__menu .icon-button[aria-expanded=true]{background:var(--color-chip)}.meal-details__menu .menu{top:calc(100% + 6px);right:-4px}.meal-details__next{box-shadow:inset 0 1px 0 var(--recipe-hairline), inset 0 -1px 0 var(--recipe-hairline);margin-top:36px}.meal-details__next-link,.meal-details__next-link:hover{color:var(--color-text);grid-template-columns:minmax(0,1fr) 20px;align-items:center;column-gap:12px;padding:18px 0;text-decoration:none;display:grid}.meal-details__next-text{flex-direction:column;gap:4px;min-width:0;display:flex}.meal-details__next-when,.meal-details__next-detail{color:var(--color-text-muted);font-size:.8125rem;line-height:1.45}.meal-details__next .meal-details__dish{font-size:1.0625rem}}@media (prefers-contrast:more){.meal-details{--recipe-hairline:var(--color-border-input)}}.move-meal{gap:18px;display:grid}.move-meal__days{margin:0 -12px;padding:0;list-style:none}.move-meal__days>li+li{box-shadow:inset 0 1px 0 var(--color-divider)}.move-meal__day{border-radius:var(--radius-strip);width:100%;min-height:64px;color:var(--color-text);text-align:left;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:16px;padding:10px 12px;display:grid}.move-meal__day:active:not(:disabled){background:var(--color-press);transform:none}.move-meal__day:hover:not(:disabled){background:var(--color-surface-hover)}.move-meal__day:disabled{opacity:.6;cursor:default}.move-meal__day-text{flex-direction:column;gap:2px;min-width:0;display:flex}.move-meal__day-name{color:var(--color-text-secondary);font-size:.875rem;font-weight:600}.move-meal__day-meal{overflow-wrap:break-word;font-family:var(--font-display);font-optical-sizing:auto;font-size:1.0625rem;font-weight:500;line-height:1.3}.move-meal__day-meal.is-empty{color:var(--color-text-muted);font-family:var(--font-body);font-size:.9375rem;font-weight:400}.move-meal__day-action{color:var(--color-primary-soft-text);white-space:nowrap;font-size:.9375rem;font-weight:600}.move-meal__error{margin:0}@media (width<=1023px){.move-meal__sheet-body{padding-top:6px}.move-meal{gap:12px}.move-meal__days{margin:0}.move-meal__day{border-radius:0;padding:10px 0}.move-meal__day:hover:not(:disabled){background:0 0}.move-meal__day-name{font-size:.8125rem}}.week-rows,.week-agenda{--hairline:var(--week-hairline,var(--color-border))}.kcal-figure{font-variant-numeric:tabular-nums}.week-rows{padding:0 var(--week-rows-covered,0px) 0 0;box-shadow:inset 0 1px 0 var(--hairline);flex-direction:column;margin:0;list-style:none;display:flex;container-type:inline-size}.week-row{box-shadow:inset 0 -1px 0 var(--hairline);grid-template-columns:8.5rem minmax(0,1fr) 40px;align-items:start;column-gap:24px;padding:20px 12px;display:grid}.week-row.is-today{border-radius:var(--radius-strip);background:var(--color-primary-soft)}.week-row:last-child,.week-row.is-today{box-shadow:none}.week-row:has(+.is-today){box-shadow:none}.week-row:has(+.is-changing){box-shadow:none}.week-row.is-changing,.week-row.is-adding{border-radius:var(--radius-strip)}.week-row.is-changing:not(.is-today),.week-row.is-adding:not(.is-today){background:var(--color-surface)}.week-row.is-changing{box-shadow:inset 0 0 0 2px var(--color-primary)}.week-row.is-adding{box-shadow:none}.week-row:has(+.is-adding){box-shadow:none}.week-row__date{flex-direction:column;gap:6px;min-width:0;display:flex}.week-row__day{color:var(--color-text-muted);letter-spacing:0;align-items:baseline;gap:8px;margin:0;font-size:.9375rem;font-weight:400;line-height:1.3;display:flex}.week-row__number{min-width:2.1ch;color:var(--color-text);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:1.875rem;font-weight:600;line-height:1}.week-row.is-past .week-row__number{color:var(--color-text-muted)}.week-row.is-today .week-row__number,.week-row.is-today .week-row__weekday{color:var(--color-primary-hover)}.week-row.is-today .week-row__weekday{font-weight:600}.week-row__kcal{color:var(--color-text-muted);white-space:nowrap;font-size:.8125rem}.week-row__empty{color:var(--color-text-muted);margin:0;padding-top:4px;font-size:.9375rem}.week-row__meals{flex-direction:column;gap:12px;min-width:0;margin:0;padding:2px 0 0;list-style:none;display:flex}.week-meal{grid-template-columns:4.75rem minmax(0,max-content) 36px;justify-content:start;align-items:baseline;column-gap:16px;display:grid}.week-meal__type{color:var(--color-text-muted);font-size:.875rem}.week-meal__dish,.week-meal__dish:hover{min-width:0;color:var(--color-text);text-decoration:none}.week-row.is-past .week-meal__dish{color:var(--color-text-muted)}.week-meal__name{overflow-wrap:break-word;font-family:var(--font-display);letter-spacing:-.008em;font-size:1.25rem;font-weight:500;line-height:1.3}.week-meal__dish:hover .week-meal__name{-webkit-text-decoration:underline 1px var(--color-primary-line);text-decoration:underline 1px var(--color-primary-line);text-underline-offset:4px}.week-meal__time{color:var(--color-text-muted);white-space:nowrap;margin-left:12px;font-size:.875rem}.week-meal__dish .badge{vertical-align:2px;margin-left:12px}.week-meal__swap.icon-button{width:36px;height:36px;color:var(--color-text-secondary);opacity:0;transition:var(--transition-press), opacity .15s ease;align-self:start;margin-top:-5px}.week-meal:hover .week-meal__swap,.week-meal:focus-within .week-meal__swap{opacity:1}@media (hover:none){.week-meal__swap.icon-button{opacity:1}}.week-meal.is-changing .week-meal__swap{visibility:hidden}.week-meal__new{border-radius:var(--radius-md);background:var(--color-surface);box-shadow:0 0 0 2px var(--color-primary);color:var(--color-text-muted);animation:reveal var(--duration-reveal) var(--ease-out) backwards;justify-self:start;align-items:baseline;gap:12px;margin:-6px -14px;padding:6px 14px;display:inline-flex}.week-meal__new .badge{vertical-align:2px;flex:none}.week-row__add{justify-content:flex-end;margin-top:-2px;display:flex}.week-row .add-day-button--grid{border-color:var(--color-border-sunk);opacity:.45;transition:var(--transition-press), background-color .15s ease, opacity .15s ease;border-radius:50%}.week-row:hover .add-day-button--grid,.week-row .add-day-button--grid:focus-visible,.week-row .add-day-button--grid[aria-expanded=true]{opacity:1}@media (hover:none){.week-row .add-day-button--grid{opacity:1}}.week-row .add-day-button--grid:hover:not(:disabled){background:var(--color-primary-soft)}.week-row .add-day-button--grid[aria-expanded=true]{border-color:var(--color-primary-line);background:var(--color-primary-soft);color:var(--color-primary-soft-text)}.week-row.is-today .add-day-button--grid:hover:not(:disabled),.week-row.is-today .add-day-button--grid[aria-expanded=true]{background:var(--color-primary-soft-strong)}@container (width<=35rem){.week-row{grid-template-columns:minmax(0,1fr) 40px;row-gap:12px}.week-row__date{flex-flow:wrap;align-items:baseline;gap:4px 12px}.week-row__meals,.week-row__empty{grid-area:2/1/auto/-1}.week-row__add{grid-area:1/2}.week-meal{grid-template-columns:minmax(0,1fr) 36px;row-gap:2px}.week-meal__type{grid-column:1/-1}.week-meal__new{margin:0}}.add-day-button--day,.add-day-button--day:hover:not(:disabled),.add-day-button--today,.add-day-button--today:hover:not(:disabled){background:0 0;border-radius:50%}.add-day-button__circle{border-radius:50%;justify-content:center;align-items:center;transition:background-color .15s;display:flex}.add-day-button--day .add-day-button__circle{width:34px;height:34px;box-shadow:inset 0 0 0 1px var(--color-border-sunk)}.add-day-button--day:hover .add-day-button__circle{background:var(--color-chip)}.add-day-button--today,a.add-day-button--today:hover{color:var(--color-primary-soft-text)}.add-day-button--today .add-day-button__circle{background:var(--color-primary-soft-strong);width:36px;height:36px}.week-meal.is-arrived,.agenda-meal.is-arrived,.today-card__others>.is-arrived{animation:reveal var(--duration-reveal) var(--ease-out) backwards}@media (prefers-reduced-motion:reduce){.week-meal__new,.week-meal.is-arrived,.agenda-meal.is-arrived,.today-card__others>.is-arrived{animation:fade-in var(--duration-fade) ease backwards}}.day-strip,.week-agenda{display:none}.day-strip{grid-template-columns:repeat(7,minmax(0,1fr));margin:-6px -6px 0}.day-strip__day,.day-strip__day:hover{border-radius:var(--radius-sm);min-width:0;color:var(--color-text);background:0 0;border:0;flex-direction:column;align-items:center;gap:6px;padding:6px 0 4px;text-decoration:none;display:flex}.day-strip__name{color:var(--color-text-muted);font-size:.75rem}.day-strip__day.is-today .day-strip__name{color:var(--color-primary-hover);font-weight:600}.day-strip__number{font-variant-numeric:tabular-nums;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.0625rem;font-weight:600;display:flex}.day-strip__day.is-past .day-strip__number{color:var(--color-text-muted)}.day-strip__day.is-today .day-strip__number{background:var(--color-primary);color:var(--color-on-primary)}.day-strip__dots{gap:3px;height:5px;display:flex}.day-strip__dot{background:var(--color-leaf);border-radius:50%;width:5px;height:5px}.day-strip__day.is-past .day-strip__dot{background:var(--color-border-dashed)}.week-agenda{flex-direction:column;gap:24px}.week-agenda__earlier-group{flex-direction:column;margin-bottom:-8px;display:flex}.week-agenda__earlier{border-radius:var(--radius-sm);min-height:48px;color:var(--color-text-secondary);text-align:left;background:0 0;border:0;align-items:center;gap:8px;margin:0 -8px;padding:0 8px;display:flex}.week-agenda__earlier-label{flex:auto;font-size:.9375rem;font-weight:500}.week-agenda__earlier-days{color:var(--color-text-muted);font-size:.875rem}.week-agenda__earlier-fold{--collapse-top:calc(var(--top-bar-height) + 16px)}.agenda-days--earlier{padding-bottom:8px}.week-agenda__group{flex-direction:column;display:flex}.week-agenda__heading{margin:0;padding-bottom:12px;font-size:1.125rem}.agenda-days{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.agenda-day{box-shadow:inset 0 1px 0 var(--hairline);scroll-margin:calc(var(--top-bar-height) + 16px) 16px 16px;flex-direction:column;gap:10px;padding:18px 0 16px;display:flex}.agenda-day__head{align-items:center;gap:10px;min-height:40px;display:flex}.agenda-day__title{min-width:0;color:var(--color-text);letter-spacing:0;flex:auto;align-items:center;gap:10px;margin:0;font-size:.9375rem;font-weight:500;line-height:1.3;display:flex}.agenda-day__number{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:600;line-height:1}.agenda-day.is-past .agenda-day__title{color:var(--color-text-muted)}.agenda-day__kcal{color:var(--color-text-muted);white-space:nowrap;font-size:.8125rem}.agenda-day .add-day-button--day{margin:-2px -6px -2px 0}.agenda-day__empty{color:var(--color-text-muted);margin:0;font-size:.9375rem}.agenda-day__meals{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.agenda-meal{grid-template-columns:4rem minmax(0,1fr) 44px;align-items:start;column-gap:10px;display:grid}.agenda-meal__type{color:var(--color-text-muted);padding-top:3px;font-size:.8125rem}.agenda-meal__dish,.agenda-meal__dish:hover{min-width:0;min-height:44px;color:var(--color-text);flex-direction:column;gap:2px;text-decoration:none;display:flex}.agenda-day.is-past .agenda-meal__dish{color:var(--color-text-muted)}.agenda-meal__name{overflow-wrap:anywhere;font-family:var(--font-display);font-size:1.0625rem;font-weight:500;line-height:1.32}.agenda-meal__time{color:var(--color-text-muted);font-size:.8125rem}.agenda-meal__move{margin-top:-10px}@media (width<=1023px){.week-rows{display:none}.day-strip{display:grid}.week-agenda{display:flex}}@media (width<=19.9em){.agenda-meal{grid-template-columns:minmax(0,1fr) 44px}.agenda-meal__type{grid-column:1/-1;padding-top:0}}.recipe-facts{color:var(--color-text-secondary);flex-wrap:wrap;align-items:center;gap:10px 24px;margin:0;padding:0;font-size:.9375rem;list-style:none;display:flex}.recipe-facts>li{align-items:center;gap:8px;display:inline-flex}.recipe-facts>li>svg{color:var(--color-text-muted);flex:none}@media (width<=1023px){.recipe-facts{gap:8px 18px;font-size:.875rem}.recipe-facts>li{gap:6px}.recipe-facts>li>svg{width:16px;height:16px}.recipe-facts__tags{order:1}.recipe-facts__per-serving{display:none}}.week-plan-page{--week-hairline:var(--color-border);flex-direction:column;gap:36px;min-width:0;display:flex}@media (prefers-contrast:more){.week-plan-page{--week-hairline:var(--color-border-input)}}.week-plan-page>.form-hint,.week-plan-page>.form-error{margin:0}.week-plan-page__below{display:none}@media (width>=1024px){.week-plan-page>.page-header{margin-bottom:0}.week-plan-page .page-header__main{align-items:center}.week-plan-page .page-header__nav{padding-bottom:0}}.week-hero{grid-template-columns:minmax(0,1fr) 340px;align-items:stretch;gap:40px;display:grid}.week-status{flex-direction:column;justify-content:center;min-width:0;display:flex}.week-status>*+*{position:relative}.week-status>*+:before{background:var(--week-hairline);content:"";height:1px;position:absolute;top:0;left:16px;right:16px}.week-status__preferences,.week-plan-page__preferences{color:var(--color-text-muted);margin:0;font-size:.875rem;line-height:1.55}.week-status__preferences{padding:18px 16px 0}.week-status__preferences a,.week-plan-page__preferences a{font-weight:600}.week-plan-page__notes{flex-direction:column;gap:12px;max-width:72ch;padding:0 12px;display:flex}.week-plan-page__notes--hero{margin-top:-14px}.week-plan-page__notes--hero .week-plan-page__preferences{display:none}.week-plan-page__footnote,.generate-plan-dialog__footnote{color:var(--color-text-muted);margin:0;font-size:.8125rem;line-height:1.6}.generating-state{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.generating-state__message{color:var(--color-text-muted);margin:0;font-size:.875rem}.generate-plan-dialog{gap:16px;display:grid}.generate-plan-dialog__chips{flex-wrap:wrap;gap:8px;display:flex}.generate-plan-dialog__actions{margin-top:4px}@media (width<=1099px){.week-hero{grid-template-columns:minmax(0,1fr);gap:16px}.week-status{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;display:grid}.week-status>*+:before{content:none}.week-status__preferences{grid-column:1/-1;padding-top:6px}}@media (width<=1023px){.week-plan-page{gap:24px}.week-plan-page__desktop-only{display:none}.week-hero{flex-direction:column;gap:20px;display:flex}.week-status{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:0}.week-status>.status-row:first-child{padding-right:16px}.week-status>.status-row+.status-row{box-shadow:inset 1px 0 0 var(--week-hairline);border-radius:0;padding-left:20px}.week-status__preferences{display:none}.week-plan-page__notes,.week-plan-page__notes--hero{max-width:none;margin-top:0;padding:0}.week-plan-page__notes--hero .week-plan-page__preferences{display:block}.week-plan-page__below{box-shadow:inset 0 1px 0 var(--week-hairline);flex-direction:column;align-items:stretch;gap:4px;padding-top:18px;display:flex}.week-plan-page__below>.button--ghost{align-self:flex-start}}.next-week-row,.next-week-row:hover{min-height:52px;color:var(--color-text);justify-content:space-between;align-items:center;gap:12px;text-decoration:none;display:flex}.next-week-row__text{flex-direction:column;gap:2px;min-width:0;display:flex}.next-week-row__title{font-size:.9375rem;font-weight:600}.next-week-row__when{color:var(--color-text-muted);font-size:.875rem}.next-week-row__button{border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);white-space:nowrap;flex:none;align-items:center;min-height:40px;padding:0 16px;font-size:.875rem;font-weight:600;display:inline-flex}@media (width<=19.9em){.next-week-row{flex-wrap:wrap}}.today-card{border-radius:var(--radius-2xl);background:var(--color-primary-soft);min-width:0;scroll-margin:calc(var(--top-bar-height) + 16px) 16px 16px;flex-direction:column;gap:14px;padding:30px 36px 28px;display:flex;position:relative}.today-card__label{color:var(--color-primary-hover);letter-spacing:0;margin:0;font-size:.9375rem;font-weight:600;line-height:1.3}.today-card__mobile{display:none}.today-card__title{overflow-wrap:break-word;max-width:22ch;font-family:var(--font-display);letter-spacing:-.022em;margin:0;font-size:2.5rem;font-weight:500;line-height:1.1}.today-card__meta{color:var(--color-text-secondary);margin:0;font-size:1rem;line-height:1.45}.today-card__actions{flex-wrap:wrap;align-items:center;gap:4px;padding-top:10px;display:flex}.today-card .button--text:hover:not(:disabled){background:var(--color-primary-soft-strong)}.today-card__empty{color:var(--color-text-secondary);margin:0;font-size:1rem}.today-card .add-day-button--today,.today-card__others{display:none}@media (width<=1023px){.today-card{gap:10px;padding:22px 20px 20px}.today-card__label{font-size:.875rem}.today-card__desktop{display:none}.today-card__mobile{display:inline}.today-card__title{letter-spacing:-.02em;text-wrap:pretty;max-width:none;padding-right:8px;font-size:1.75rem;line-height:1.14}.today-card--with-add .today-card__label,.today-card--with-add .today-card__empty{padding-right:44px}.today-card--with-add .today-card__title{padding-right:28px}.today-card__meta{font-size:.9375rem}.today-card__actions{flex-wrap:nowrap;padding-top:8px}.today-card__open{flex:auto}.today-card__swap-type{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.today-card__empty{font-size:.9375rem}.today-card .add-day-button--today{display:inline-flex;position:absolute;top:12px;right:12px}.today-card__others{flex-direction:column;margin:4px 0 0;padding:0;list-style:none;display:flex}.today-card__others li{box-shadow:inset 0 1px 0 var(--color-primary-soft-strong);grid-template-columns:4rem minmax(0,1fr);align-items:start;column-gap:10px;padding:12px 0 2px;display:grid}.today-card__row-type{color:var(--color-text-muted);padding-top:3px;font-size:.8125rem}.today-card__row,.today-card__row:hover{min-width:0;min-height:44px;color:var(--color-text);flex-direction:column;gap:2px;text-decoration:none;display:flex}.today-card__row-name{overflow-wrap:anywhere;font-family:var(--font-display);font-size:1.0625rem;font-weight:500;line-height:1.32}.today-card__row-time{color:var(--color-text-muted);font-size:.8125rem}}@media (width<=19.9em){.today-card__actions{flex-wrap:wrap}.today-card__others li{grid-template-columns:minmax(0,1fr)}.today-card__row-type{padding-top:0}}.info-bar{border-radius:var(--radius-strip);background:var(--color-surface-sunk);color:var(--color-text-secondary);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 12px 12px 18px;font-size:.875rem;line-height:1.45;display:flex}.info-bar__label{margin-right:4px}.info-bar__content{display:contents}.info-bar__actions{flex-wrap:wrap;flex:none;align-items:center;gap:4px;margin-left:auto;display:flex}.info-bar__actions a:not(.button){align-items:center;gap:8px;min-height:44px;padding:0 8px;font-weight:600;display:inline-flex}@media (width<=1023px){.info-bar{border-radius:var(--radius-lg);flex-flow:column;align-items:stretch;padding:14px 16px}.info-bar__label{color:var(--color-text-muted);margin:0;font-size:.75rem;font-weight:600}.info-bar__content{line-height:1.5;display:block}.info-bar__actions{margin:0 -10px -6px}.info-bar__actions a:not(.button){padding:0 10px}}.offers-page{flex-direction:column;gap:24px;min-width:0;display:flex}.offers-page>.form-error,.offers-page>.form-hint{margin:0}.offers-page__filters{flex-direction:column;gap:16px;display:flex}.offers-page__search{max-width:520px}.offers-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.offer-card{flex-direction:column;gap:8px;height:100%;padding:18px;display:flex}.offer-card__head{justify-content:space-between;align-items:center;gap:8px;display:flex}.offer-card__head>.offer-card__store{margin:0}.offer-card__title{margin:0;font-size:1.125rem;line-height:1.3}.offer-card__description{color:var(--color-text-muted);margin:0;font-size:.875rem}.offer-card__price{align-items:baseline;gap:8px;margin-top:auto;padding-top:8px;display:flex}.offer-card__price strong{font-size:1.25rem;font-weight:700}.offer-card__price s,.offer-card__unit{color:var(--color-text-muted);font-size:.8125rem}@media (width<=1023px){.offers-page{gap:16px}.offers-page__search{max-width:none}.offers-grid{grid-template-columns:minmax(0,1fr);gap:10px}.offer-card{border-radius:var(--radius-strip);padding:16px}}.list-row{grid-template-columns:auto minmax(0,1fr);grid-auto-columns:auto;grid-auto-flow:column;align-items:center;gap:14px;padding:12px 0;display:grid}.list-row__text{flex-direction:column;gap:2px;min-width:0;display:flex}.list-row__title,.list-row__subtitle{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.list-row__title{font-size:.9375rem;font-weight:600}.list-row__subtitle{color:var(--color-text-muted);font-size:.8125rem}@media (width<=1023px){.list-row{gap:12px}.list-row--stack{grid-auto-flow:row;gap:8px 12px}.list-row--stack>:nth-child(n+3){grid-column:2}}@media (width<=19.9em){.list-row{grid-auto-flow:row;gap:8px 12px}.list-row>:nth-child(n+3){grid-column:2}.list-row__title,.list-row__subtitle{overflow-wrap:anywhere;white-space:normal}}.household-member__you{color:var(--color-text-muted);font-weight:400}.household-member__role{font-size:.875rem;font-weight:600}.household-member__action{justify-content:flex-end;min-width:40px;display:flex}@media (width<=1023px){.household-member{min-height:64px;padding:8px 0}.household-member__desktop,.household-member__action:empty{display:none}}.household-invite-card{border-radius:var(--radius-strip);background:var(--color-primary-soft);flex-wrap:wrap;align-items:center;gap:14px;padding:16px;display:flex}.household-invite-card__icon{background:var(--color-surface);width:40px;height:40px;color:var(--color-primary);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.household-invite-card__text{flex-direction:column;flex:200px;gap:2px;min-width:0;display:flex}.household-invite-card__text strong{color:var(--color-primary-soft-text);font-size:.9375rem;font-weight:600}.household-invite-card__text span{overflow-wrap:anywhere;color:var(--color-text-secondary);font-size:.8125rem}.household-invite-card__actions{gap:8px;display:flex}@media (width<=1023px){.household-invite-card__actions{width:100%}.household-invite-card__actions>*{flex:1 1 0}}.household-panel{flex-direction:column;gap:26px;padding:26px;display:flex}.household-panel__header{grid-template-columns:minmax(0,1fr) auto;align-items:start;row-gap:6px;display:grid}.household-panel__header h2{overflow-wrap:anywhere;grid-column:1;margin:0;font-size:1.625rem;line-height:1.2}.household-panel__header p{color:var(--color-text-muted);grid-column:1;margin:0;font-size:.9375rem;line-height:1.5}.household-panel__rename{grid-area:1/2/span 2;margin-left:16px}.household-panel__rename-icon{display:none}.household-panel__group{flex-direction:column;gap:8px;display:flex}.household-panel__label{color:var(--color-text-muted);font-family:var(--font-body);margin:0;font-size:.75rem;font-weight:600}.household-panel__list{margin:0;padding:0;list-style:none}.household-panel__list>li{border-top:1px solid var(--color-divider)}.household-panel__list>li:last-child{border-bottom:1px solid var(--color-divider)}.household-panel__pending-actions{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.household-panel__invite{border-radius:var(--radius-lg);background:var(--color-surface-sunk);flex-direction:column;gap:12px;padding:20px;display:flex}.household-panel__invite h3{margin:0;font-size:1.1875rem}.household-panel__invite-row{flex-wrap:wrap;gap:10px;display:flex}.household-panel__invite-row .field-control{flex:240px;width:auto}.household-panel__invite p{color:var(--color-text-secondary);margin:0;font-size:.8125rem;line-height:1.5}.household-panel__error,.household-panel__notice{margin:0}@media (width<=1023px){.household-panel{gap:18px;padding:18px}.household-panel__header{align-items:center}.household-panel__header h2{font-size:1.375rem}.household-panel__header p{grid-column:1/-1;font-size:.875rem}.household-panel__group{gap:6px}.household-panel__rename{display:none}.household-panel__rename-icon{grid-area:1/2;margin-left:12px;display:inline-flex}.household-panel__pending-actions{gap:8px}.household-panel__invite{gap:10px;margin:0 -4px;padding:16px}.household-panel__invite h3{font-size:1.125rem}.household-panel__invite-row{flex-flow:column}.household-panel__invite-row .field-control{flex:none;width:100%}}.account-panel{flex-direction:column;gap:8px;padding:18px;display:flex}.account-panel>h2{font-family:var(--font-body);margin:0;font-size:1rem;font-weight:600}.account-panel__toggle{width:100%;min-height:44px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:0;display:flex}.account-panel__toggle svg{color:var(--color-text-muted)}.account-panel__fold{--collapse-gap:8px}.account-panel__rows{margin:0;padding:0;list-style:none}.account-panel__rows>li{border-bottom:1px solid var(--color-divider);flex-direction:column;align-items:flex-start;gap:8px;padding:16px 0;display:flex}.account-panel__rows>li:last-child{border-bottom:0;padding-bottom:0}.account-panel__rows h3{font-family:var(--font-body);margin:0;font-size:.9375rem;font-weight:600}.account-panel__rows p{color:var(--color-text-muted);margin:0;font-size:.875rem;line-height:1.5}.account-panel__rows p.form-error{color:var(--color-error)}.account-form{flex-direction:column;gap:16px;display:flex}.account-form__error{margin:0}.account-form__actions{margin-top:4px}@media (width<=1023px){.account-panel{padding:16px}}.profile-settings-form{flex-direction:column;gap:20px;display:flex}.profile-page{flex-direction:column;gap:26px;min-width:0;display:flex}.profile-page__grid{flex-wrap:wrap;align-items:flex-start;gap:24px;display:flex}.profile-page__grid>.form-hint{margin:0}.profile-page__side{flex-direction:column;flex:300px;gap:20px;min-width:0;max-width:360px;display:flex}.profile-page__grid>:not(.profile-page__side){flex:999 520px;min-width:0}.profile-page__links{flex-direction:column;gap:12px;display:flex}.profile-page__links .link-card{border-radius:var(--radius-xl)}.profile-card{flex-direction:column;gap:20px;padding:26px;display:flex}.profile-card>.form-error{margin:0}.profile-card__identity{flex-direction:column;align-items:flex-start;gap:14px;display:flex}.profile-card__names{flex-direction:column;gap:4px;min-width:0;display:flex}.profile-card__names h2{overflow-wrap:anywhere;margin:0;font-size:1.625rem;line-height:1.2}.profile-card__email{overflow-wrap:anywhere;color:var(--color-text-muted);font-size:.9375rem}.profile-card__summary,.profile-card__edit-icon.profile-card__edit-icon{display:none}.profile-card__facts{flex-direction:column;margin:0;font-size:.875rem;display:flex}.profile-card__facts>div{border-top:1px solid var(--color-divider);justify-content:space-between;gap:12px;padding:12px 0;display:flex}.profile-card__facts>div:last-child{border-bottom:1px solid var(--color-divider)}.profile-card__facts dt{color:var(--color-text-muted)}.profile-card__facts dd{overflow-wrap:anywhere;text-align:right;margin:0;font-weight:600}.profile-card__actions{flex-direction:column;gap:8px;display:flex}.profile-card__actions .button--sm{min-height:44px}.profile-page__logout-error{margin:0}@media (width>=1024px) and (width<=1199px){.profile-page__side{flex-basis:100%;grid-template-rows:auto 1fr;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;max-width:none;display:grid}.profile-card{grid-row:span 2}}@media (width<=1023px){.profile-page{gap:16px}.profile-page__grid{flex-flow:column;align-items:stretch;gap:16px}.profile-page__side{display:contents}.profile-page__grid>:not(.profile-page__side){flex:none;order:3}.profile-card{order:1;padding:16px}.profile-page__links{order:2}.profile-page__grid>.profile-page__side>.account-panel{order:4}.profile-page__grid>.profile-page__sign-out{flex-direction:column;order:5;gap:8px;display:flex}.profile-page__logout-error{text-align:center}.profile-card__identity{flex-direction:row;align-items:center}.profile-card__names{flex:auto;gap:2px}.profile-card__names h2{font-size:1.25rem}.profile-card__email{text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;overflow:hidden}.profile-card__summary{color:var(--color-text-muted);font-size:.8125rem;display:block}.profile-card__edit-icon.profile-card__edit-icon{display:inline-flex}.profile-card__facts,.profile-card__actions{display:none}}.switch{border-radius:var(--radius-pill);min-height:44px;color:var(--color-text);text-align:left;background:0 0;border:none;flex:none;align-items:center;gap:12px;padding:0 10px 0 16px;font-size:.9375rem;font-weight:500;line-height:1.3;display:inline-flex}.switch:hover{background:var(--color-chip)}.switch__track{box-sizing:border-box;border-radius:var(--radius-pill);background:var(--color-border-strong);width:44px;height:26px;transition:background-color var(--duration-fade) ease;flex:none;position:relative}.switch__knob{background:var(--color-surface);width:22px;height:22px;transition:transform var(--duration-press) var(--ease-out);border-radius:50%;position:absolute;top:2px;left:2px}.switch[aria-checked=true] .switch__track{background:var(--color-primary)}.switch[aria-checked=true] .switch__knob{transform:translate(18px)}@media (prefers-contrast:more){.switch__track{border:1px solid var(--color-border-input)}.switch__knob{top:1px;left:1px}}@media (prefers-reduced-motion:reduce){.switch__track,.switch__knob{transition:none}}.shopping-list{--shopping-hairline:var(--color-border);flex-direction:column;gap:36px;min-width:0;display:flex}.shopping-status{grid-template-columns:minmax(0,1fr) 340px;column-gap:48px;display:grid}.shopping-status__progress{flex-direction:column;gap:14px;min-width:0;display:flex}.shopping-status__counts{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.shopping-status__done{color:var(--color-text-muted);align-items:baseline;gap:10px;font-size:1rem;display:flex}.shopping-status__figure{color:var(--color-text);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:1.75rem;font-weight:600;line-height:1}.shopping-status__left{color:var(--color-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.9375rem}.shopping-status__note{color:var(--color-text-muted);align-items:flex-start;gap:10px;margin:0;font-size:.9375rem;line-height:1.5;display:flex}.shopping-status__note>svg{flex:none;margin-top:2px}.shopping-status__note strong{color:var(--color-text);font-weight:600}.shopping-status__log{align-self:flex-start;margin:-12px 0 -10px -18px}.shopping-list__items{flex-direction:column;gap:28px;min-width:0;display:flex}.shopping-list__controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;display:flex}.shopping-list__view{flex-wrap:wrap;align-items:center;gap:12px 16px;display:flex}.shopping-list__view-note{color:var(--color-text-muted);font-size:.875rem}.shopping-list__hide{margin-left:auto}.shopping-list__groups{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:44px 40px;display:grid}.shopping-list__column{flex-direction:column;gap:44px;min-width:0;display:flex}.shopping-group{flex-direction:column;gap:12px;min-width:0;display:flex}.shopping-group__header{justify-content:space-between;align-items:baseline;gap:12px;padding:0 12px;display:flex}.shopping-group__heading{flex-direction:column;gap:2px;min-width:0;display:flex}.shopping-group__heading h2{letter-spacing:-.01em;margin:0;font-size:1.25rem;line-height:1.25}.shopping-group__heading span{color:var(--color-text-muted);font-size:.875rem;line-height:1.4}.shopping-group__count{color:var(--color-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-size:.875rem}.shopping-group__toggle{flex:none;margin:-4px -12px 0 0}.shopping-group__items{box-shadow:inset 0 1px 0 var(--shopping-hairline);margin:0;padding:0;list-style:none}.shopping-group__items>li{box-shadow:inset 0 -1px 0 var(--shopping-hairline)}.shopping-group__empty{color:var(--color-text-muted);padding:14px 12px;font-size:.875rem}.shopping-row{box-sizing:border-box;border-radius:var(--radius-strip);cursor:pointer;min-height:56px;transition:background-color var(--duration-press) ease;grid-template-columns:24px minmax(0,1fr) auto;align-items:start;column-gap:14px;padding:14px 12px;display:grid;position:relative}@media (hover:hover){.shopping-row:hover{background:var(--color-surface-hover)}.shopping-row:hover .checkbox-circle__input:not(:checked)+.checkbox-circle{border-color:var(--color-primary)}}.shopping-row__text{flex-direction:column;gap:3px;min-width:0;padding-top:1px;display:flex}.shopping-row__name{overflow-wrap:anywhere;font-size:1rem;font-weight:500;line-height:1.35}.shopping-row__meta{color:var(--color-text-muted);align-items:center;gap:6px;font-size:.8125rem;line-height:1.4;display:flex}.shopping-row__uses{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.shopping-row__amount{color:var(--color-text-secondary);text-align:right;white-space:nowrap;padding-top:2px;font-size:.9375rem;line-height:1.4}.shopping-row.is-checked .shopping-row__name,.shopping-row.is-checked .shopping-row__amount{color:var(--color-text-muted)}.shopping-row.is-checked .shopping-row__name{text-decoration:line-through;text-decoration-thickness:1px}.shopping-list__footnote{max-width:72ch;color:var(--color-text-muted);margin:4px 12px 0;font-size:.8125rem;line-height:1.6}@media (width<=1100px){.shopping-status{grid-template-columns:minmax(0,1fr)}}@media (width>=1024px) and (width<=1279px){.shopping-list__groups{columns:2;column-gap:40px;display:block}.shopping-list__column{display:contents}.shopping-list__groups .shopping-group{break-inside:avoid;margin-bottom:44px}}@media (width<=1023px){.shopping-list,.shopping-list__items{gap:24px}.shopping-status__progress{gap:12px}.shopping-status__done{gap:8px;font-size:.9375rem}.shopping-status__figure{font-size:1.5rem}.shopping-status__left{font-size:.875rem}.shopping-status .meter{height:4px}.shopping-status__note{font-size:.875rem}.shopping-status__log{margin:-6px 0 -10px -18px}.shopping-list__controls{grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;display:grid}.shopping-list__view{display:contents}.shopping-list__view>.segmented-control{grid-column:1/-1}.shopping-list__view-note{font-size:.8125rem;line-height:1.4}.shopping-list__hide{margin-right:-10px}.shopping-list__groups{grid-template-columns:minmax(0,1fr)}.shopping-list__groups,.shopping-list__column{gap:36px}.shopping-group__header{padding:0}.shopping-group__heading h2{font-size:1.125rem}.shopping-row{border-radius:var(--radius-sm);padding:12px 4px}.shopping-group__empty{padding:14px 4px}.shopping-list__footnote{margin:0}}@media (prefers-contrast:more){.shopping-list{--shopping-hairline:var(--color-border-input)}}@media (prefers-reduced-motion:reduce){.shopping-row{transition:none}}.shopping-list-page{flex-direction:column;gap:24px;min-width:0;display:flex}.shopping-list-page>.form-hint{margin:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--font-body);letter-spacing:0;font-weight:650}h1{letter-spacing:-.02em;margin-bottom:18px;font-size:2rem;line-height:1.05}h2{letter-spacing:-.01em;font-size:1.25rem}.eyebrow{color:var(--color-text-muted);margin:0 0 10px;font-size:.8125rem;font-weight:500;line-height:1.3}.form-error{color:var(--color-error);margin:12px 0 0;font-size:.875rem}.form-hint{color:var(--color-text-muted);margin:12px 0 0;font-size:.875rem}.auth-loading{min-height:100svh;color:var(--color-text-muted);place-items:center;font-size:.875rem;display:grid}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:where(button,a[href],[role=button],.pressable){transition:var(--transition-press);-webkit-tap-highlight-color:transparent}:where(button:enabled,a[href],[role=button]):where(:active),:where(.pressable:not(label,:disabled)):where(:active){transform:scale(var(--press-scale))}label.pressable:active{background-color:var(--color-press)}.glass{background:var(--color-glass);-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter)}.glass--edge-top{box-shadow:0 -1px 0 var(--color-glass-edge)}.glass--edge-bottom{box-shadow:0 1px 0 var(--color-glass-edge)}.glass--panel{box-shadow:var(--shadow-panel)}@media (width<=1023px){h1{font-size:1.75rem}h2{font-size:1.125rem}}@media (width<=19.9em){h1,h2,h3{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;hyphenate-limit-chars:12 4 4}}@media (prefers-reduced-motion:reduce){:where(button:enabled,a[href],[role=button]):where(:active),:where(.pressable:not(label,:disabled)):where(:active){transform:none;opacity:.7!important}}@media (prefers-reduced-transparency:reduce){.glass{background:var(--color-surface);-webkit-backdrop-filter:none;backdrop-filter:none}}@media (prefers-contrast:more){.glass{background:var(--color-surface);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 0 0 1px var(--color-text)}}
