@import "https://fonts.googleapis.com/css2?family=Figtree:wght@400;500;600;700&family=Young+Serif&display=swap";:root{--color-bg:#f2ece1;--color-surface:#fffcf6;--color-surface-sunk:#e6ddcd;--color-surface-past:#ede5d6;--color-surface-hover:#f8f3ea;--color-chip:#e6ddcd;--color-input:#fff;--color-nav-hover:#fffcf68c;--color-hover-tint:#2e2a250f;--color-border:#dcd1be;--color-divider:#e8dfcf;--color-border-sunk:#d6cbb7;--color-border-strong:#cfc2ac;--color-border-input:#9c8e76;--color-border-dashed:#bfb29a;--color-text:#2e2a25;--color-text-secondary:#4a443b;--color-text-muted:#645d53;--color-placeholder:#776f63;--color-text-disabled:#b5ac9c;--color-primary:#4e6b4a;--color-primary-hover:#3e5a3a;--color-primary-soft:#dde6d3;--color-primary-soft-text:#3e5a3a;--color-primary-muted:#c9d5bd;--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:#f5dccd;--color-warning-text:#8e3f1e;--color-today-soft:#ebd9b0;--color-error:#8e3f1e;--avatar-1:#4e6b4a;--avatar-2:#a4532f;--avatar-3:#7a5b2f;--font-display:"Young Serif", Georgia, serif;--font-body:"Figtree", "Segoe UI", system-ui, sans-serif;--radius-sm:10px;--radius-md:12px;--radius-strip:14px;--radius-lg:16px;--radius-xl:18px;--radius-2xl:20px;--radius-pill:999px;--shadow-card-hover:0 4px 14px #2e2a2514;--shadow-primary:0 2px 8px #4e6b4a40;--shadow-selected:0 1px 2px #2e2a251f;--shadow-nav:0 1px 2px #2e2a2514;--shadow-overlay:0 16px 40px #2e2a2524;--color-scrim:#2e2a2566;--focus-ring:2px solid #4e6b4a;--sidebar-width:248px;--tab-bar-height:80px;font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);font-synthesis:none;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{background:var(--color-bg);min-width:320px;margin:0;font-size:15px;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--color-primary)}a:hover{color:var(--color-primary-hover)}: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{flex:none;transition:transform .15s}.expand-icon.is-open{transform:rotate(180deg)}.button{border-radius:var(--radius-pill);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:15px;font-weight:600;line-height:1;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:0 16px;font-size:14px}.button--sm.button--with-icon{padding:0 16px 0 12px}.button--md{min-height:46px}.button--md.button--with-icon{padding:0 20px 0 16px}.button--lg{min-height:48px;padding:0 22px}.button--lg.button--with-icon{gap:10px;padding:0 24px 0 20px}.button--block{width:100%;display:flex}.button--disclosure.button--sm{padding:0 12px 0 14px}.button--disclosure.button--md{padding:0 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--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,.button--ghost:hover{color:var(--color-primary);background:0 0;padding:0 12px}.button--ghost.button--with-icon{padding:0 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--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:14px}.button--dashed:hover:not(:disabled){background:var(--color-surface);border-style:solid}@media (width>=1024px){.button--primary.button--lg{box-shadow:var(--shadow-primary)}}@media (width<=1023px){.button--sm{min-height:44px}.button--md{min-height:48px}.button--lg{min-height:52px;font-size:16px}.button--dashed,.button--dashed:hover{border-radius:var(--radius-md);min-height:48px;font-size:15px}}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field__label{color:var(--color-text-secondary);font-size:13px;font-weight:600}.field-group{flex-direction:column;gap:8px;min-width:0;display:flex}.field__hint,.field__error{margin:0;font-size:13px}.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:15px}.field-control:disabled{opacity:.6;cursor:not-allowed}.field-control[aria-invalid=true]{border-color:var(--color-error)}.field-control--input,.field-control--select{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{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:15px;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{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:16px}.field-control--input,.field-control--select{height:48px}.field-control--compact{border-radius:var(--radius-md)}.field-control--input.field-control--compact{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-strip);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-sm);min-height:42px;color:var(--color-text-secondary);background:0 0;border:0;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:14px;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){color:var(--color-text)}.segmented-control__option.is-selected,a.segmented-control__option.is-selected:hover{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-selected);font-weight:700}.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);border-radius:var(--radius-lg);background:var(--color-surface);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);border-color:#0000}.card--primary{background:var(--color-primary);color:var(--color-on-primary);border:0}.card--emphasis{border:1.5px solid var(--color-primary)}.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:21px;line-height:1.25}.card-header__note,.card-header__aside{color:var(--color-text-muted);font-size:13px;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:19px}.card--flat-mobile{background:0 0;border:0;border-radius:0;padding:0;overflow:visible}.card--flat-mobile .card-header__title{font-size:21px}.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-display);letter-spacing:-.02em;font-size:25px;line-height:1}.brand--sm{gap:8px}.brand--sm .brand__name{font-size:22px}.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:42px;line-height:1.1}.auth-copy{color:var(--color-text-muted);overflow-wrap:anywhere;margin:0 0 24px;font-size:15px;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);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:12px;margin:20px 0;font-size:12px;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:36px}}.avatar{width:var(--avatar-size);height:var(--avatar-size);border:2px solid var(--avatar-ring);color:var(--color-on-primary);font-size:max(8px, calc(var(--avatar-size) / 3));border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:700;line-height:1;display:inline-flex}.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) * .38)}.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:1px solid var(--color-border);border-radius:var(--radius-strip);background:var(--color-bg);color:var(--color-text);align-items:center;gap:12px;margin-top:auto;padding:14px;text-decoration:none;display:flex}.household-card:hover{border-color:var(--color-border-input)}.household-card__text{flex-direction:column;gap:2px;min-width:0;display:flex}.household-card__name{overflow-wrap:anywhere;font-size:14px;font-weight:600;line-height:1.3}.household-card__count{color:var(--color-text-muted);font-size:13px}.household-avatars{flex:none;align-items:center;height:44px;display:flex}.sidebar{border-right:1px solid var(--color-border);background:var(--color-surface-sunk);flex-direction:column;gap:32px;height:100svh;padding:28px 16px 24px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar>.brand{align-self:flex-start;padding:0 10px}.sidebar__nav{flex-direction:column;gap:24px;display:flex}.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:44px;color:var(--color-text-secondary);align-items:center;gap:12px;padding:0 14px;font-size:15px;font-weight:500;text-decoration:none;display:flex}.sidebar__link>svg{flex:none}.sidebar__link:hover{background:var(--color-nav-hover);color:var(--color-text)}.sidebar__link.is-active{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-nav);font-weight:700}.sidebar__badge{margin-left:auto;display:flex}.sidebar__group-label{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;margin:0;padding:0 14px 6px;font-size:12px;font-weight:600}@media (width<=1023px){.sidebar{display:none}}.link-card,.link-card:hover{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);min-width:0;color:var(--color-text);align-items:center;gap:14px;padding:16px;text-decoration:none;transition:border-color .15s;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);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:600;line-height:1.3}.link-card__title{overflow-wrap:anywhere;font-size:16px;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:17px;font-weight:400}.link-card__description{color:var(--color-text-muted);font-size:13px;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:18px}}.more-sheet__backdrop{z-index:18;background:var(--color-scrim);cursor:default;border:0;position:fixed;inset:0}.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);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:20px 16px 16px;display:flex;position:fixed;left:0;overflow-y:auto}.more-sheet:focus{outline:none}.more-sheet>.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));border-top:1px solid var(--color-border);background:var(--color-surface);grid-template-columns:repeat(5,minmax(0,1fr));display:none;position:fixed;bottom:0;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:12px;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:56px;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);font-weight:700}.tab-bar__tab.is-active .tab-bar__icon{background:var(--color-primary-soft)}@media (width<=1023px){.tab-bar{display:grid}}.app-layout{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);align-items:start;min-height:100svh;display:grid}.app-layout__content{align-content:start;width:100%;min-width:0;max-width:1360px;padding:36px 44px 48px;display:grid;overflow-x:clip}@media (width<=1023px){.app-layout{grid-template-columns:minmax(0,1fr)}.app-layout__content{padding:16px 20px calc(28px + var(--tab-bar-height) + env(safe-area-inset-bottom))}.app-layout--focused .app-layout__content{padding:0 20px calc(28px + env(safe-area-inset-bottom))}}.load-error{flex-wrap:wrap;align-items:center;gap:12px 16px;display:flex}.load-error__message{color:var(--color-error);margin:0;font-size:14px}.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);background:var(--color-surface)}.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--round{border-radius:50%;width:46px;height:46px}.icon-button--round.icon-button--outline{border-color:var(--color-border-strong)}.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{width:44px;height:44px}.icon-button--round{border-radius:50%;width:48px;height:48px}}.modal-backdrop{z-index:40;background:var(--color-scrim);cursor:default;border:0;position:fixed;inset:0}.modal-dialog{z-index:41;border:1px solid var(--color-border);border-radius:var(--radius-2xl);background:var(--color-surface);width:min(560px,100vw - 32px);max-height:calc(100svh - 64px);box-shadow:var(--shadow-overlay);grid-template-columns:minmax(0,1fr);gap:16px;padding:24px;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:8px 0 0;font-size:22px;line-height:1.25}.modal-dialog__heading .icon-button{margin:-4px -8px 0 0}.modal-text{overflow-wrap:anywhere;color:var(--color-text-secondary);margin:0;font-size:15px;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}.modal-dialog--screen{background:var(--color-bg);width:auto;max-height:none;box-shadow:none;border:0;border-radius:0;align-content:start;gap:0;padding:0 20px;inset:0;overflow-x:hidden;transform:none}.modal-dialog--screen .modal-dialog__heading{grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:0;height:60px;margin:0 -12px;display:grid}.modal-dialog--screen .modal-dialog__heading h2{font-family:var(--font-body);text-align:center;grid-area:1/2;margin:0;font-size:16px;font-weight:700;line-height:1.3}.modal-dialog--screen .modal-dialog__heading .icon-button{color:var(--color-text);grid-area:1/1;margin:0}.modal-dialog--screen .modal-dialog__body{padding:16px 0 calc(24px + env(safe-area-inset-bottom))}}.confirm-dialog{gap:20px;display:grid}.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:15px;font-weight:600;line-height:1.3}.notice__note{font-size:13px;line-height:1.35}.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:13px}.page-header__title{margin:0}.page-header__description{max-width:640px;color:var(--color-text-muted);margin:4px 0 0;font-size:16px;line-height:1.5}@media (width>=1024px){.page-header__text--compact{gap:6px}.page-header__text--compact>.page-header__description{margin:0;font-size:15px;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:8px}.page-header:not(:first-child){padding-top:0}.page-header__main{justify-content:space-between;gap:12px}.page-header__description{font-size:15px;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}}.week-nav{gap:8px;display:flex}.radio-cards{border:0;min-width:0;margin:0;padding:0}.radio-cards__legend{color:var(--color-text-secondary);padding:0 0 8px;font-size:13px;font-weight:600}.radio-cards__options{grid-template-columns:repeat(var(--radio-cards-columns,3), minmax(0, 1fr));gap:6px;display:grid}.radio-cards__card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;justify-content:center;align-items:center;gap:8px;min-width:0;min-height:46px;padding:4px 8px;font-size:14px;font-weight:500;display:flex}.radio-cards__card:hover:not(.is-selected){border-color:var(--color-border-input)}.radio-cards__card.is-selected{border:1.5px solid var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary);padding:3.5px 7.5px;font-weight:700}.radio-cards__card:has(input:focus-visible){outline:var(--focus-ring);outline-offset:2px}.radio-cards__card input{accent-color:var(--color-primary);cursor:pointer;flex:none;margin:0}.radio-cards__card input:focus-visible{outline:none}.radio-cards__label{text-overflow:ellipsis;min-width:0;line-height:1.2;overflow:hidden}.radio-cards--inline .radio-cards__media{display:none}.radio-cards--stacked .radio-cards__legend{padding-bottom:10px}.radio-cards--stacked .radio-cards__options{gap:8px}.radio-cards--stacked .radio-cards__card{border-radius:var(--radius-lg);border-width:1.5px;flex-direction:column;padding:14px 6px 12px;font-size:15px}.radio-cards--stacked .radio-cards__card.is-selected{padding:14px 6px 12px}.radio-cards--stacked .radio-cards__media{display:flex}.radio-cards--stacked .radio-cards__card input{order:1;width:18px;height:18px;margin-top:auto}.radio-cards--stacked .radio-cards__label{text-align:center;max-width:100%}.toggle-pill{border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface);min-width:56px;min-height:40px;color:var(--color-text);justify-content:center;align-items:center;gap:6px;padding:0 16px;font-size:14px;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);background:var(--color-primary);color:var(--color-on-primary)}.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}}.expense-form{flex-direction:column;gap:18px;display:flex}.expense-form__amount{border:1px solid var(--color-border-input);border-radius:var(--radius-md);background:var(--color-input);align-items:center;gap:8px;height:56px;padding: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;height:44px;color:var(--color-text);font-family:var(--font-display);background:0 0;border:0;outline:0;flex:1 1 0;padding:0;font-size:26px}.expense-form__amount span{color:var(--color-text-muted);flex:none;font-size:17px;font-weight:600}.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;display:flex}.expense-form__buttons{gap:10px;display:flex}.expense-form__delete{margin-right:auto}.expense-form--card .expense-form__buttons,.expense-form--card .expense-form__buttons .button{flex:auto}@media (width<=1023px){.expense-form--dialog{gap:24px;min-height:calc(100svh - 76px)}.expense-form--dialog .expense-form__amount{border:1.5px solid var(--color-primary);border-radius:var(--radius-lg);gap:10px;height:76px;padding:0 18px}.expense-form--dialog .expense-form__amount input{height:60px;font-size:40px}.expense-form--dialog .expense-form__amount span{font-size:20px}.expense-form--dialog .expense-form__actions{z-index:1;margin:auto -20px calc(-24px - env(safe-area-inset-bottom));padding:12px 20px calc(20px + env(safe-area-inset-bottom));border-top:1px solid var(--color-border);background:var(--color-surface);flex-flow:column-reverse;align-items:stretch;gap:4px;position:sticky;bottom:0}.expense-form--dialog .expense-form__buttons .button{flex:auto}.expense-form--dialog .expense-form__cancel{display:none}.expense-form--dialog .expense-form__delete{margin:0}}.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:13px}.empty-state__title{margin:0;font-size:22px;line-height:1.25}.empty-state__text p{color:var(--color-text-muted);margin:0;font-size:14px;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}}.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)}.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:13px;font-weight:500;line-height:1.2;display:inline-flex}.chip--neutral{border-color:var(--color-border);background:var(--color-surface);min-height:30px;color:var(--color-text)}.chip--soft{background:var(--color-chip);color:var(--color-text)}.chip>svg{flex:none;margin-right:4px}.chip--primary{background:var(--color-primary-soft);color:var(--color-primary-soft-text)}.chip--avoid{background:var(--color-avoid-soft);color:var(--color-warning-text);font-weight:600}.chip--warning{background:var(--color-today-soft);color:var(--color-warning-text)}.chip--removable{min-height:40px;padding:0 4px 0 14px;font-size:14px}.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}}.stat-card,a.stat-card:hover{border:1px solid var(--color-border);border-radius:var(--radius-2xl);background:var(--color-surface);min-width:0;color:var(--color-text);flex-direction:column;gap:10px;padding:20px 22px;text-decoration:none;display:flex}a.stat-card{transition:border-color .15s}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:13px;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;font-size:28px;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:16px;font-weight:500}.stat-card__note{color:var(--color-text-muted);align-items:center;gap:6px;font-size:14px;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-family:var(--font-display);font-size:34px;font-weight:400}.stat-card--display .stat-card__unit{font-size:20px}.stat-card--display .stat-card__note{font-size:13px}.stat-card--primary,a.stat-card--primary:hover{border-color:var(--color-primary);background:var(--color-primary);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:12px}.stat-card--sm .stat-card__value{font-size:20px;line-height:1.2}.stat-card--sm .stat-card__unit{font-size:14px}.stat-card--ground{background:var(--color-bg);border-color:#0000}@media (width<=1023px){.stat-card,a.stat-card:hover{border-radius:var(--radius-lg);padding:14px}.stat-card__value{letter-spacing:-.01em;font-size:24px}.stat-card__unit{font-size:15px}.stat-card__unit-desktop{display:none}.stat-card__note{font-size:13px}.stat-card--sm{border-radius:var(--radius-strip);padding:12px}.stat-card--sm .stat-card__value{letter-spacing:0;font-size:18px}}.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);letter-spacing:.08em;text-transform:uppercase;font-size:13px}.stat-card--lg .stat-card__value{font-family:var(--font-display);letter-spacing:-.01em;font-size:46px;font-weight:400}.stat-card--lg .stat-card__unit{font-size:24px}.stat-card--lg .stat-card__note{font-size:14px}.stat-card--display .stat-card__value,.stat-card--lg .stat-card__value{font-variant-numeric:normal}.stat-card--plain-unit .stat-card__unit{color:inherit;font-size:inherit;font-weight:inherit}.expenses-page{flex-direction:column;gap:24px;min-width:0;display:flex}.expenses-page>.form-error,.expenses-page>.form-hint{margin:0}.spending-stats{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:14px;display:grid}@media (width>=1024px) and (width<=1199px){.spending-stats:has(>:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}}.spending-stats__note{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.expenses-page__columns{flex-wrap:wrap;align-items:flex-start;gap:24px;display:flex}.expenses-page__main,.expenses-page__side{flex-direction:column;gap:24px;min-width:0;display:flex}.expenses-page__main{flex:2 560px}.expenses-page__side{flex:3 340px}@media (width>=1260px){.expenses-page__side{max-width:446px}}.expenses-page__main:empty,.expenses-page__side:empty{display:none}.expenses-page__log{flex-direction:column;gap:18px;display:flex}.week-bars{flex-direction:column;gap:16px;display:flex}.week-bars__legend{color:var(--color-text-secondary);align-items:center;gap:8px;display:flex}.week-bars__dash{border-top:2px dashed var(--color-text-secondary);width:22px}.week-bars__chart{--plot-height:212px;--value-height:28px;--label-height:28px;position:relative}.week-bars__plot{gap:14px;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));border-top:2px dashed var(--color-text-secondary);content:"";pointer-events:none;position:absolute;left:0}.week-bars__average{display:none}.week-bar{border-radius:var(--radius-sm);min-width:0;color:var(--color-text-muted);background:0 0;border:0;flex-direction:column;flex:auto;align-items:stretch;padding:0;font-size:12px;font-weight:500;display:flex}.week-bar__column{height:calc(var(--plot-height) + var(--value-height));border-bottom:1px solid var(--color-border);flex-direction:column;justify-content:flex-end;align-items:center;display:flex}.week-bar__value{z-index:1;height:var(--value-height);background:var(--color-surface);white-space:nowrap;flex:none;align-items:flex-end;padding:0 4px 4px;display:flex;position:relative}.week-bar__fill{height:calc(var(--share) * var(--plot-height));background:var(--color-primary-muted);border-radius:8px 8px 2px 2px;align-self:stretch;transition:background-color .15s}.week-bar:hover .week-bar__fill{background:var(--color-border-input)}.week-bar__label{height:var(--label-height);white-space:nowrap;justify-content:center;align-items:flex-end;gap:4px;font-size:13px;display:flex}.week-bar[aria-current=true]{color:var(--color-primary);font-weight:700}.week-bar[aria-current=true] .week-bar__fill{background:var(--color-primary)}.week-bars__note{color:var(--color-text-muted);margin:0;font-size:13px;line-height:1.45}.expense-list--table{padding:22px 24px 12px}.expense-list__scroll{margin-top:8px;overflow-x:auto}.trip-table{border-collapse:collapse;width:100%;min-width:520px;font-size:14px}.trip-table th{color:var(--color-text-muted);letter-spacing:.06em;text-align:left;text-transform:uppercase;padding:8px 8px 10px;font-size:12px;font-weight:600}.trip-table td{padding:12px 8px}.trip-table th:first-child,.trip-table td:first-child{padding-left:0}.trip-table tbody tr,.trip-table tfoot tr{border-top:1px solid var(--color-divider)}.trip-table tfoot tr{border-top:1.5px solid var(--color-border)}.trip-table tfoot td{padding-top:14px;padding-bottom:14px;font-weight:600}.trip-table__when{color:var(--color-text-secondary);white-space:nowrap}.trip-table__payer{align-items:center;gap:8px;font-weight:600;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{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;padding-right:0;font-weight:700}.trip-table th.trip-table__amount{font-weight:600}.trip-table .trip-table__edit{width:44px;padding:4px 0 4px 4px}.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:6px;min-width:0;display:flex}.payer-sums__line{justify-content:space-between;gap:8px;font-size:15px;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{font-variant-numeric:tabular-nums;flex:none;font-weight:700}.payer-sums__split{border-top:1px solid var(--color-divider);color:var(--color-text-secondary);margin:0;padding-top:10px;font-size:14px;line-height:1.45}@media (width>=1024px){.payer-sums__split{display:none}}@media (width<=1023px){.expenses-page{gap:16px}.spending-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.spending-stats__total{grid-column:1/-1;margin-bottom:6px}.spending-stats__note{gap:10px}.expenses-page__columns{flex-flow:column;align-items:stretch;gap:16px}.expenses-page__main,.expenses-page__side{display:contents}.week-bars{order:1;gap:14px}.payer-sums{order:2;gap:12px}.expense-list,.expense-list-empty{order:3}.week-bars__chart{--plot-height:144px;--value-height:6px;--label-height:24px}.week-bars__plot{gap:6px}.week-bars__legend{display:none}.week-bars__average{right:0;bottom:calc(var(--label-height) + var(--average) * var(--plot-height) + 4px);background:var(--color-surface);color:var(--color-text-secondary);pointer-events:none;padding:0 4px;font-size:12px;font-weight:600;line-height:1.2;display:block;position:absolute}.week-bar__value,.week-bar__label-word{display:none}.week-bar__fill{border-radius:6px 6px 2px 2px}.week-bar__label{font-size:12px}.payer-sums__rows{gap:12px}.expense-list{flex-direction:column;gap:10px;display:flex}.expense-list__title{margin:6px 0 0;font-size:22px}.trip-cards{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.trip-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);width:100%;color:var(--color-text);text-align:left;align-items:center;gap:12px;padding:14px 12px 14px 14px;display:flex}.trip-card__text{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.trip-card__title{overflow-wrap:anywhere;font-size:15px;font-weight:600;line-height:1.35}.trip-card__meta{color:var(--color-text-muted);font-size:13px}.trip-card__amount{font-variant-numeric:tabular-nums;flex:none;font-size:16px;font-weight:700}}.back-bar{align-items:center;display:flex}.back-bar__link,.back-bar__link:hover{height:40px;color:var(--color-text-secondary);align-items:center;gap:8px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.back-bar__link:hover{color:var(--color-text)}.back-bar__label--mobile,.back-bar__trailing,.back-bar--mobile-only{display:none}@media (width<=1023px){.back-bar{justify-content:space-between;height:56px;margin:0 -12px;display:flex}.back-bar--mobile-only{margin-top:-16px}.back-bar__link,.back-bar__link:hover{height:44px;color:var(--color-text);gap:6px;padding:0 12px 0 8px;font-size:15px}.back-bar__link>svg{width:20px;height:20px}.back-bar__label--desktop{display:none}.back-bar__label--mobile{display:inline}.back-bar__trailing{display:flex}}.screen-header{flex-direction:column;gap:10px;margin-top:-8px;display:flex}.screen-header>.screen-header__eyebrow{margin:0;font-size:13px}.screen-header__title{margin:0;font-size:40px;line-height:1.1}.screen-bar{grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;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:16px;font-weight:700;line-height:1.3}.screen-bar__text span{color:var(--color-text-muted);font-size:13px}.action-bar{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);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:14px;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{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:13px}.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-top:1px solid var(--color-border);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;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:16px;font-weight:700}.stepper--pill{border-color:var(--color-border-strong);border-radius:var(--radius-pill);background:0 0;width:auto;height:40px}.stepper--pill .stepper__button{border-radius:var(--radius-pill);width:40px;height:38px}.stepper--pill .stepper__value{text-align:center;white-space:nowrap;min-width:70px;font-size:13px;font-weight:600}@media (width<=1023px){.stepper{height:48px}.stepper--field:not(.stepper--block){width:140px}.stepper__button{height:46px}.stepper--pill{background:var(--color-surface);height:44px}.stepper--pill .stepper__button{width:44px;height:42px}.stepper--pill .stepper__value{min-width:74px;font-size:14px}}.meal-edit-form{flex-direction:column;gap:22px;display:flex}.meal-edit-form__card{flex-direction:column;gap:12px;display:flex}.meal-edit-form__card-header{margin-bottom:4px}.meal-edit-form__card--details{gap:18px}.meal-edit-form__details{grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr));gap:16px;display:grid}.meal-edit-form__details--with-meal{grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr))}.meal-edit-form__types{flex-wrap:wrap;gap:8px;display:flex}.meal-edit-form__lists{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:22px;display:grid}.meal-edit-form__ingredient-labels,.meal-edit-form__ingredient{grid-template-columns:110px minmax(0,1fr) 40px;align-items:center;gap:8px;display:grid}.meal-edit-form__ingredient-labels{color:var(--color-text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:600}.meal-edit-form__rows{flex-direction:column;gap:8px;display:flex}.meal-edit-form__step{grid-template-columns:28px minmax(0,1fr) 40px;align-items:start;gap:12px;display:grid}.meal-edit-form__step-number{background:var(--color-primary);width:28px;height:28px;color:var(--color-on-primary);border-radius:50%;justify-content:center;align-items:center;margin-top:10px;font-size:13px;font-weight:700;display:flex}.meal-edit-form__step .meal-edit-form__remove{margin-top:2px}.meal-edit-form__add{margin-top:4px}.meal-edit-form__error{margin:0}@media (width<=1023px){.meal-edit-form{gap:24px}.meal-edit-form__card{gap:10px}.meal-edit-form__card-header{margin-bottom:0}.meal-edit-form__card--details{gap:16px}.meal-edit-form__for-servings{display:none}.meal-edit-form__details,.meal-edit-form__details--with-meal{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 12px}.meal-edit-form__details>:first-child{grid-column:1/-1}.meal-edit-form__lists{grid-template-columns:minmax(0,1fr);gap:24px}.meal-edit-form__ingredient-labels{display:none}.meal-edit-form__ingredient{grid-template-columns:88px minmax(0,1fr) 44px;gap:6px}.meal-edit-form__ingredient>.meal-edit-form__amount{padding:0 10px}.meal-edit-form__step{grid-template-columns:26px minmax(0,1fr) 44px;gap:10px}.meal-edit-form__step-number{width:26px;height:26px;margin-top:11px;font-size:12px}.meal-edit-form__step-text{min-height:98px}.meal-edit-form__add{margin-top:2px}}.checkbox{min-height:44px;color:var(--color-text);cursor:pointer;align-items:center;gap:10px;font-size:14px;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}@media (width<=1023px){.checkbox{gap:12px;font-size:15px}.checkbox__input{width:20px;height:20px}}.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__aside{flex-direction:column;flex:280px;gap:16px;min-width:240px;display:flex}.suggest-recipe{flex-wrap:wrap;align-items:center;gap:16px;padding:18px 20px;display:flex}.suggest-recipe__text{flex-direction:column;flex:280px;gap:4px;display:flex}.suggest-recipe__title{margin:0;font-size:20px;line-height:1.25}.suggest-recipe__description{color:var(--color-text-muted);margin:0;font-size:14px;line-height:1.45}.suggest-recipe__error{margin:4px 0 0}.suggest-recipe__button{flex:none}.recipe-library__pick-title{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.suggest-recipe~.recipe-library__filter-bar{margin-top:6px}.recipe-library__filter-bar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.recipe-library__search{flex:320px}.recipe-library__count{color:var(--color-text-muted);margin:0;font-size:14px}.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-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:18px;line-height:1.3}.recipe-card__title button{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:13px;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:13px}.recipe-library__replacing{flex-direction:column;gap:8px;padding:18px 20px;display:flex}.recipe-library__replacing .eyebrow,.recipe-library__week .eyebrow{font-family:var(--font-body);margin:0;font-weight:600}.recipe-library__replacing-title{overflow-wrap:anywhere;font-family:var(--font-display);font-size:20px;line-height:1.25}.recipe-library__replacing-meta{color:var(--color-text-muted);font-size:14px}.recipe-library__replacing--bar{display:none}.recipe-library__week{flex-direction:column;gap:12px;padding:18px 20px;display:flex}.recipe-library__week ul{margin:0;padding:0;list-style:none}.recipe-library__week li{border-top:1px solid var(--color-divider);align-items:baseline;gap:10px;padding:8px 0;font-size:14px;line-height:1.4;display:flex}.recipe-library__week li.is-replaced{color:var(--color-text-muted);text-decoration:line-through}.recipe-library__week-day{width:34px;color:var(--color-text-muted);text-transform:uppercase;flex:none;font-size:12px;font-weight:700}.recipe-library__fits{align-items:flex-start;padding:4px}.recipe-library__fits .checkbox__input{margin-top:1px}.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-actions{flex-wrap:wrap;gap:8px;display:flex}@media (width<=1023px){.recipe-library{flex-direction:column;align-items:stretch;gap:16px}.recipe-library__main{flex:none}.recipe-library__aside{display:none}.suggest-recipe{border-radius:var(--radius-lg);flex-flow:column;align-items:stretch;gap:12px;padding:16px}.suggest-recipe__text{flex:none}.suggest-recipe__title{font-size:19px}.suggest-recipe__button{width:100%}.recipe-library__pick-title{clip-path:none;white-space:normal;width:auto;height:auto;margin:6px 0 0;font-size:20px;line-height:1.25;position:static;overflow:visible}.suggest-recipe~.recipe-library__filter-bar{margin-top:0}.recipe-library__replacing--bar{border-radius:var(--radius-strip);background:var(--color-surface-sunk);color:var(--color-text-secondary);flex-direction:row;align-items:center;gap:12px;padding:12px 14px;display:flex}.recipe-library__replacing--bar svg{flex:none}.recipe-library__replacing--bar>span{flex-direction:column;gap:2px;min-width:0;display:flex}.recipe-library__replacing-label{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:600}.recipe-library__replacing--bar .recipe-library__replacing-title{color:var(--color-text);font-family:var(--font-body);font-size:15px;font-weight:600;line-height:1.35}.recipe-library__filter-bar{flex-flow:column;align-items:stretch}.recipe-library__search{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:16px}.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}.recipe-library__choose>svg{display:none}.recipe-library__choose.button--with-icon{padding:0 16px}}.recipe-body{flex-wrap:wrap;align-items:flex-start;gap:24px;display:flex}.recipe-body__ingredients-section,.recipe-body__steps-section{flex-direction:column;min-width:0;display:flex}.recipe-body--page .recipe-body__ingredients-section{flex:364px;gap:12px}.recipe-body--page .recipe-body__steps-section{flex:999 420px;gap:18px;padding:24px 8px}.recipe-body__heading-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.recipe-body__heading{margin:0;font-size:22px;line-height:1.25}.recipe-body__servings{color:var(--color-text-muted);font-size:13px;font-weight:600}.recipe-body__ingredients{margin:0;padding:0;font-size:15px;line-height:1.4;list-style:none}.recipe-body__ingredients>li{border-top:1px solid var(--color-divider)}.recipe-body__ingredient{flex:auto;grid-template-columns:76px minmax(0,1fr);align-items:baseline;gap:12px;min-width:0;display:grid}.recipe-body__ingredients>li>.recipe-body__ingredient{padding:11px 0}.recipe-body__ingredient strong{font-weight:700}.recipe-body__to-taste{display:none}.recipe-body__check{cursor:pointer;align-items:center;gap:12px;min-height:44px;display:flex}.recipe-body__check input{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer;flex:none;margin:0}.recipe-body__check.is-ticked .recipe-body__ingredient{color:var(--color-text-muted);text-decoration:line-through}.recipe-body__steps{flex-direction:column;gap:22px;max-width:640px;margin:0;padding:0;list-style:none;display:flex}.recipe-body__steps li{gap:16px;display:flex}.recipe-body__step-number{background:var(--color-primary);width:30px;height:30px;color:var(--color-on-primary);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.recipe-body__steps p{margin:0;padding-top:3px;font-size:17px;line-height:1.6}.recipe-body--stacked{flex-flow:column;align-items:stretch;gap:28px}.recipe-body--stacked .recipe-body__ingredients-section,.recipe-body--stacked .recipe-body__steps-section{gap:12px}.recipe-body--stacked .recipe-body__ingredients>li:last-child{border-bottom:1px solid var(--color-divider)}.recipe-body--stacked .recipe-body__heading{font-size:20px}.recipe-body--stacked .recipe-body__steps{gap:18px}.recipe-body--stacked .recipe-body__step-number{width:28px;height:28px;font-size:13px}.recipe-body--stacked .recipe-body__steps p{font-size:15px;line-height:1.55}@media (width<=1023px){.recipe-body--page{flex-flow:column;align-items:stretch;gap:28px}.recipe-body--page .recipe-body__ingredients-section{flex:none;gap:10px}.recipe-body--page .recipe-body__steps-section{flex:none;gap:16px;padding:0}.recipe-body--page .recipe-body__heading{font-size:23px}.recipe-body--page .recipe-body__ingredients>li{border-color:var(--color-border)}.recipe-body--page .recipe-body__ingredient{display:block}.recipe-body--page .recipe-body__ingredient--to-taste strong{display:none}.recipe-body--page .recipe-body__ingredient--to-taste:first-letter{text-transform:uppercase}.recipe-body--page .recipe-body__to-taste{display:inline}.recipe-body__check{min-height:50px}.recipe-body__check input{width:20px;height:20px}.recipe-body--page .recipe-body__steps{gap:20px}.recipe-body--page .recipe-body__steps li{gap:14px}.recipe-body--page .recipe-body__step-number{width:28px;height:28px;font-size:13px}.recipe-body--page .recipe-body__steps p{font-size:16px;line-height:1.55}}.change-meal{flex-direction:column;gap:22px;min-width:0;display:flex}.change-meal>.segmented-control{align-self:flex-start}.change-meal__error{margin:0}@media (width>=1024px){.change-meal>.back-bar{margin-top:-8px}}@media (width<=1023px){.change-meal{gap:20px}.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:14px}@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))}}.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:14px}.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:13px}.history-stats__item{align-items:baseline;gap:8px;min-width:0;display:flex}.history-stats__item strong{overflow-wrap:anywhere;font-size:20px;font-weight:700;line-height:1.2}.history-stats__item span{color:var(--color-text-secondary);font-size:14px;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);border-radius:var(--radius-lg);background:var(--color-surface);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);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-family:var(--font-display);font-size:19px;line-height:1.3}.history-week__dates{color:var(--color-text-muted);font-size:13px}.history-week__spent{flex:none;font-size:15px;font-weight:700}.history-week__preview{color:var(--color-text-secondary);font-size:13px;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__title .eyebrow{margin:0;font-size:13px}.history-detail__title h2{margin:0;font-size:32px;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:84px 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);text-transform:uppercase;font-size:12px;font-weight:700}.history-grid__day{letter-spacing:.08em;padding:0 4px 2px}.history-grid__label{letter-spacing:.06em;padding-top:10px}.history-grid__meal,.history-grid__meal:hover{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);min-height:72px;color:var(--color-text);overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;padding:10px;font-size:13px;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:14px}.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:18px}.history-stats__item--text strong{font-size:15px}.history-stats__item span{color:var(--color-text-muted);font-size:12px}.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:20px;display:flex}.history-card__dates{color:var(--color-text-muted);font-family:var(--font-body);font-size:14px}.history-card__spent{flex:none;font-size:16px;font-weight:700}.history-card__meta{color:var(--color-text-muted);font-size:13px}.history-card__preview{color:var(--color-text-secondary);margin:4px 0 0;font-size:14px;line-height:1.45}.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:34px;color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase;flex:none;font-size:12px;font-weight:700}.history-card__meal{overflow-wrap:anywhere;min-width:0;font-size:15px;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:14px}.history-card__hint--error{color:var(--color-error)}.history-card__actions{gap:8px;padding:12px 16px 16px;display:flex}.history-card__open{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:14px;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:15px}}.form-section{border-top:1px solid var(--color-border);grid-template-columns:240px 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:20px;line-height:1.3}.form-section__description{color:var(--color-text-muted);margin:0;font-size:14px;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:14px}.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:15px;font-weight:500;display:flex}.preferences-page__protein-name>span{color:var(--color-text-muted);font-size:13px;font-weight:400}.preferences-page__protein-note,.preferences-page__complexity-note{color:var(--color-text-muted);margin:0;font-size:14px}.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:14px}.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__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}}.recipe-library-page{flex-direction:column;gap:24px;min-width:0;display:flex}.recipe-library-page__error{margin:0}@media (width<=1023px){.recipe-library-page{gap:16px}}.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:14px;line-height:1.45;display:flex}.info-bar__label{margin-right:4px}.info-bar__content{display:contents}.info-bar__actions{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);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:12px;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}}.loading-animation{justify-content:center;align-items:center;width:100%;max-width:320px;height:320px;margin:20px auto;display:flex}.badge{border-radius:var(--radius-pill);font-family:var(--font-body);white-space:nowrap;align-items:center;padding:2px 8px;font-size:12px;font-weight:700;line-height:1.5;display:inline-flex}.badge--caps{letter-spacing:.04em;text-transform:uppercase;font-size:11px;line-height:1.6}.badge--eyebrow{height:24px;font-size:inherit;letter-spacing:inherit;padding:0 9px;line-height:1}.badge--today{background:var(--color-today-soft);color:var(--color-warning-text)}.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)}@media (width<=1023px){.badge--eyebrow{padding:0 8px}}.meal-details{flex-direction:column;gap:28px;min-width:0;margin-top:-8px;display:flex}.meal-details__hero{flex-wrap:wrap;align-items:stretch;gap:32px;display:flex}.meal-details__intro{flex-direction:column;flex:999 420px;gap:16px;min-width:0;display:flex}.meal-details__heading{flex-direction:column;gap:16px;min-width:0;display:flex}.meal-details__heading>.meal-details__eyebrow{flex-wrap:wrap;align-items:center;gap:10px;margin:0;font-size:13px;display:flex}.meal-details__title{overflow-wrap:anywhere;margin:0;line-height:1.08}.meal-details__meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.meal-details__actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:auto;padding-top:8px;display:flex}.meal-details__quiet-actions{flex-wrap:wrap;margin-left:auto;display:flex}.meal-details>.meal-details__error{margin:-12px 0 0}.meal-details__around{flex-direction:column;gap:12px;display:flex}.meal-details__around .eyebrow{font-family:var(--font-body);margin:0;font-size:13px;font-weight:600}.meal-details__around-list{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:12px;display:grid}@media (width<=1023px){.meal-details{gap:22px;margin-top:0}.meal-details__hero{margin-top:-18px}.meal-details__intro{gap:22px}.meal-details__heading{gap:8px}.meal-details__heading>.meal-details__eyebrow{gap:8px;font-size:12px}.meal-details__title{font-size:31px;line-height:1.15}.meal-details__actions{grid-template-columns:repeat(2,minmax(0,1fr));padding-top:0;display:grid}.meal-details__actions>.button{padding:0 10px}.meal-details__favorite{display:none}.meal-details__quiet-actions{grid-column:1/-1;justify-content:space-between;margin:-6px -12px}.meal-details__quiet-actions .button{font-size:14px}.meal-details__next{margin-top:8px}}.move-meal{gap:16px;display:grid}.move-meal__days{gap:8px;margin:0;padding:0;list-style:none;display:grid}.move-meal__day{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);text-align:left;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:56px;padding:8px 14px;display:flex}.move-meal__day:hover:not(:disabled){background:var(--color-chip)}.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-muted);font-size:13px}.move-meal__day-meal{overflow-wrap:anywhere;font-weight:600;line-height:1.35}.move-meal__day-meal.is-empty{color:var(--color-text-muted);font-weight:400}.move-meal__day-action{color:var(--color-primary);flex:none;font-size:14px;font-weight:600}.move-meal__error{margin:0}.week-grid-scroll{padding-bottom:4px;overflow-x:auto}.week-grid{grid-template-columns:92px repeat(7,minmax(0,1fr));gap:10px;min-width:980px;display:grid}.week-grid__day{border-radius:var(--radius-md);flex-direction:column;gap:2px;padding:10px 12px;display:flex}.week-grid__day.is-past{color:var(--color-text-muted)}.week-grid__day.is-today{background:var(--color-primary);color:var(--color-on-primary)}.week-grid__day-name{letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.week-grid__date{font-family:var(--font-display);font-size:20px;line-height:1.2}.week-grid__row-label{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;padding:14px 0 0 4px;font-size:12px;font-weight:700}.week-grid__slot{min-width:0;display:flex;position:relative}.week-grid__meal,.week-grid__meal:hover{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-width:0;min-height:112px;color:var(--color-text);flex-direction:column;flex:auto;justify-content:space-between;gap:10px;padding:12px;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex}.week-grid__slot.is-past .week-grid__meal{border-color:var(--color-surface-past);background:var(--color-surface-past);color:var(--color-text-secondary)}.week-grid__slot.is-today .week-grid__meal{border:1.5px solid var(--color-primary);background:var(--color-input);padding:11.5px}.week-grid__slot .week-grid__meal:hover{border-color:var(--color-border-input);box-shadow:var(--shadow-card-hover)}.week-grid__slot.is-today .week-grid__meal:hover{border-color:var(--color-primary)}.week-grid__meal-title{overflow-wrap:break-word;font-family:var(--font-display);-webkit-hyphens:auto;hyphens:auto;font-size:15px;line-height:1.3}.week-grid__meta{color:var(--color-text-muted);align-items:center;gap:5px;font-size:12px;display:flex}.week-grid__change{opacity:0;transition:opacity .15s;position:absolute;bottom:6px;right:6px}.week-grid__slot:hover .week-grid__change,.week-grid__change:focus-visible{opacity:1}@media (hover:none){.week-grid__change{display:none}}.week-grid__unplanned,.week-grid__add,.week-grid__add:hover{border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);min-width:0;min-height:112px;color:var(--color-text-muted);text-align:center;justify-content:center;align-items:center;gap:6px;padding:12px;font-size:13px;display:flex}.week-grid__add,.week-grid__add:hover{color:var(--color-text-secondary);font-weight:600;text-decoration:none;transition:border-color .15s,background-color .15s}.week-grid__add:hover{border-style:solid;border-color:var(--color-border-input);background:var(--color-surface);color:var(--color-text)}.week-grid__add svg{flex:none}@media (width<=1319px){.week-grid{grid-template-columns:64px repeat(7,minmax(0,1fr));gap:8px;min-width:920px}.week-grid__row-label{padding-left:0}}.week-agenda{flex-direction:column;gap:20px;display:none}.day-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.day-strip__day{border:1px solid var(--color-border);border-radius:var(--radius-strip);background:var(--color-surface);height:60px;color:var(--color-text);flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:0;display:flex}.day-strip__day.is-past{color:var(--color-text-muted);background:0 0}.day-strip__day.is-today{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.day-strip__name{font-size:12px;font-weight:600}.day-strip__number{font-size:17px;font-weight:700;line-height:1.2}.week-agenda__group{flex-direction:column;gap:12px;display:flex}.week-agenda__heading{margin:4px 0 0;font-size:22px}.week-agenda__earlier{border:1px solid var(--color-border);border-radius:var(--radius-lg);min-height:52px;color:var(--color-text-secondary);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:12px;padding:0 14px 0 16px;font-size:15px;font-weight:600;display:flex}.week-agenda__earlier-days{color:var(--color-text-muted);font-weight:400}.week-agenda__earlier-toggle{flex:none;align-items:center;gap:6px;font-size:14px;display:inline-flex}.week-day{scroll-margin:16px}.week-day__header{align-items:baseline;gap:8px;padding:14px 16px 10px;display:flex}.week-day__title{margin:0;font-size:19px;line-height:1.3}.week-day.is-past .week-day__title{color:var(--color-text-secondary)}.week-day__date{color:var(--color-text-muted);font-size:14px}.week-day__row{align-items:center;display:flex}.week-day__meal,.week-day__meal:hover{min-width:0;min-height:62px;color:var(--color-text);flex-direction:column;flex:auto;justify-content:center;gap:2px;padding:9px 8px 9px 16px;text-decoration:none;display:flex}.week-day__row>.week-day__meal:only-child{padding-right:16px}.week-day.is-past .week-day__meal{min-height:56px;color:var(--color-text-secondary)}.week-day__meal:focus-visible,.week-day__add:focus-visible{outline-offset:-2px}.week-day__type{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:600}.week-day__name{overflow-wrap:anywhere;font-size:15px;font-weight:500;line-height:1.35}.week-day.is-past .week-day__name{font-weight:400}.week-day__change{margin-right:8px}.week-day__add,.week-day__add:hover{min-height:56px;color:var(--color-text-secondary);align-items:center;gap:10px;padding:9px 16px;font-weight:600;text-decoration:none;display:flex}.week-day__add:hover{background:var(--color-surface-hover);color:var(--color-text)}.week-day__add svg{flex:none}.week-day__unplanned{color:var(--color-text-muted);margin:0;padding:12px 16px;font-size:14px}@media (width<=1023px){.week-grid-scroll{display:none}.week-agenda{display:flex}}.week-plan-page{flex-direction:column;gap:24px;min-width:0;display:flex}.week-plan-page>.form-hint,.week-plan-page>.form-error{margin:0}.week-plan-page__topbar,.week-plan-page__mobile-only{display:none}.week-overview{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:16px;display:grid}.week-plan-page__pref-chips{display:contents}.week-plan-page__pref-text{display:none}.week-plan-page__pref-unknown{color:var(--color-text-muted)}.week-plan-page__footnote,.generate-plan-dialog__footnote{color:var(--color-text-muted);margin:0;font-size:13px;line-height:1.5}.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:14px}.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<=1239px){.week-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.week-overview>.today-card{grid-column:1/-1}}@media (width<=1023px){.week-plan-page{gap:20px}.week-plan-page__topbar{justify-content:space-between;align-items:center;height:48px;margin-top:-4px;display:flex}.week-plan-page .page-header__title{font-size:34px;line-height:1.1}.week-overview{gap:12px}.week-overview>.today-card{margin-bottom:8px}.week-plan-page__pref-chips,.week-plan-page__desktop-only{display:none}.week-plan-page__pref-text{display:inline}.week-plan-page__mobile-only{display:inline-flex}}.today-card{flex-direction:column;gap:8px;min-width:0;padding:20px 22px;scroll-margin:16px;display:flex;position:relative}.today-card__head{align-items:center;gap:8px;display:flex}.today-card__dot{background:var(--color-terracotta);width:8px;height:8px;box-shadow:0 0 0 3px var(--color-terracotta-ring);border-radius:50%;flex:none}.today-card__label{color:var(--color-on-primary-muted);font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:12px;font-weight:700;line-height:1.3}.today-card__label--mobile{display:none}.today-card__featured,.today-card__featured:hover{color:var(--color-on-primary);flex:auto;grid-template:"title title"1fr"type open"/minmax(0,1fr) auto;align-items:end;gap:8px 12px;text-decoration:none;display:grid}.today-card__featured:after{border-radius:inherit;content:"";position:absolute;inset:0}.today-card__featured:focus-visible{outline:none}.today-card__featured:focus-visible:after{outline:2px solid var(--color-on-primary);outline-offset:-4px}.today-card__title{overflow-wrap:anywhere;font-family:var(--font-display);grid-area:title;align-self:start;font-size:26px;line-height:1.15}.today-card__type{color:var(--color-on-primary-muted);grid-area:type;font-size:14px}.today-card__open{grid-area:open;align-items:center;gap:6px;font-size:14px;font-weight:600;display:inline-flex}.today-card__empty{color:var(--color-on-primary-muted);margin:0;font-size:15px}.today-card__others{margin:0;padding:0;list-style:none;display:none}@media (width<=1023px){.today-card{border-radius:22px;gap:0;padding:18px 18px 6px}.today-card__dot{width:9px;height:9px}.today-card__label{font-size:13px}.today-card__label--desktop{display:none}.today-card__label--mobile{display:inline}.today-card__featured,.today-card__featured:hover{flex-direction:column;flex:none;align-items:flex-start;gap:8px;padding:14px 0 16px;display:flex}.today-card__featured:after{content:none}.today-card__featured:focus-visible{outline:2px solid var(--color-on-primary);outline-offset:2px}.today-card__type{letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:600}.today-card__title{font-size:27px}.today-card__open{font-size:15px}.today-card__open svg{width:18px;height:18px}.today-card__empty{padding:14px 0 16px}.today-card__others{display:block}.today-card__others li{border-top:1px solid var(--color-on-primary-divider)}.today-card__row,.today-card__row:hover{min-height:54px;color:var(--color-on-primary);align-items:center;gap:12px;text-decoration:none;display:flex}.today-card__row:focus-visible{outline:2px solid var(--color-on-primary);outline-offset:-2px}.today-card__row-type{width:78px;color:var(--color-on-primary-muted);letter-spacing:.06em;text-transform:uppercase;flex:none;font-size:12px;font-weight:600}.today-card__row-name{overflow-wrap:anywhere;flex:auto;align-items:center;gap:8px;min-width:0;font-size:15px;font-weight:500;line-height:1.3;display:flex}.today-card__row--add .today-card__row-name{color:var(--color-on-primary-muted);font-weight:600}.today-card__row-time{color:var(--color-on-primary-muted);flex:none;font-size:13px}}.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:18px;line-height:1.3}.offer-card__description{color:var(--color-text-muted);margin:0;font-size:14px}.offer-card__price{align-items:baseline;gap:8px;margin-top:auto;padding-top:8px;display:flex}.offer-card__price strong{font-size:20px;font-weight:700}.offer-card__price s,.offer-card__unit{color:var(--color-text-muted);font-size:13px}@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:15px;font-weight:600}.list-row__subtitle{color:var(--color-text-muted);font-size:13px}@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}}.household-member__you{color:var(--color-text-muted);font-weight:400}.household-member__role{font-size:14px;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:15px;font-weight:600}.household-invite-card__text span{overflow-wrap:anywhere;color:var(--color-text-secondary);font-size:13px}.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:26px;line-height:1.2}.household-panel__header p{color:var(--color-text-muted);grid-column:1;margin:0;font-size:15px;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);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:12px;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{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:19px}.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:13px;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:22px}.household-panel__header p{grid-column:1/-1;font-size:14px}.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:18px}.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:16px;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__rows[hidden]{display:none}.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:15px;font-weight:600}.account-panel__rows p{color:var(--color-text-muted);margin:0;font-size:14px;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:26px;line-height:1.2}.profile-card__email{overflow-wrap:anywhere;color:var(--color-text-muted);font-size:15px}.profile-card__summary,.profile-card__edit-icon.profile-card__edit-icon{display:none}.profile-card__facts{flex-direction:column;margin:0;font-size:14px;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:20px}.profile-card__email{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.profile-card__summary{color:var(--color-text-muted);font-size:13px;display:block}.profile-card__edit-icon.profile-card__edit-icon{display:inline-flex}.profile-card__facts,.profile-card__actions{display:none}}.shopping-list{flex-direction:column;gap:22px;min-width:0;display:flex}.shopping-status{flex-wrap:wrap;align-items:center;gap:20px 32px;padding:18px 20px;display:flex}.shopping-status__latest{flex:0 340px;align-items:center;gap:14px;min-width:0;display:flex}.shopping-status__avatar{flex:none;display:flex;position:relative}.shopping-status__live{border:2px solid var(--color-surface);background:var(--color-leaf);border-radius:50%;width:14px;height:14px;position:absolute;bottom:0;right:-1px}.shopping-status__icon{background:var(--color-chip);width:44px;height:44px;color:var(--color-text-secondary);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.shopping-status__text{flex-direction:column;gap:3px;min-width:0;display:flex}.shopping-status__text strong{overflow-wrap:anywhere;font-size:16px;font-weight:600;line-height:1.3}.shopping-status__text>span{color:var(--color-text-muted);font-size:14px}.shopping-status__progress{flex-direction:column;flex:260px;gap:8px;min-width:0;display:flex}.shopping-status__counts{justify-content:space-between;gap:12px;font-size:14px;display:flex}.shopping-status__counts strong{font-weight:700}.shopping-status__left{color:var(--color-text-muted)}.shopping-status__log{flex:none;align-items:center;height:44px;padding:0 12px;font-size:14px;font-weight:600;display:inline-flex}.shopping-list__controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.shopping-list__view{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.shopping-list__view-note{color:var(--color-text-muted);font-size:14px}.shopping-list__controls>.checkbox{font-weight:500}.shopping-list__groups{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:20px;display:grid}.shopping-list__column{flex-direction:column;gap:20px;min-width:0;display:flex}.shopping-group__header{justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:10px 12px 10px 18px;display:flex}.shopping-group__heading{flex-direction:column;gap:2px;min-width:0;display:flex}.shopping-group__heading h2{margin:0;font-size:19px;line-height:1.25}.shopping-group__heading span{color:var(--color-text-muted);font-size:13px;line-height:1.35}.shopping-group__count{color:var(--color-text-muted);flex:none;padding-right:6px;font-size:13px;font-weight:600}.shopping-group__toggle{flex:none}.shopping-group__items{margin:0;padding:0;list-style:none}.shopping-group__items>li{border-top:1px solid var(--color-divider)}.shopping-group__empty{color:var(--color-text-muted);padding:16px 18px;font-size:14px}.shopping-row{cursor:pointer;align-items:center;gap:12px;min-height:56px;padding:8px 16px 8px 18px;display:flex}.shopping-row:hover{background:var(--color-surface-hover)}.shopping-row__check{width:20px;height:20px;accent-color:var(--color-primary);cursor:inherit;flex:none;margin:0}.shopping-row__text{flex-direction:column;flex:auto;gap:3px;min-width:0;display:flex}.shopping-row__name{overflow-wrap:anywhere;font-size:15px;font-weight:500;line-height:1.3}.shopping-row__meta{color:var(--color-text-muted);align-items:center;gap:6px;font-size:13px;line-height:1.35;display:flex}.shopping-row__amount{text-align:right;flex:none;font-size:14px;font-weight:600}.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}@media (width>=1024px) and (width<=1279px){.shopping-list__groups{columns:2;column-gap:20px;display:block}.shopping-list__column{display:contents}.shopping-list__groups .shopping-group{break-inside:avoid;margin-bottom:20px}}@media (width<=1023px){.shopping-list{gap:16px}.shopping-status{flex-flow:column;align-items:stretch;gap:14px;padding:16px}.shopping-status__latest{flex:none;gap:12px}.shopping-status__progress{flex:none}.shopping-status__text{gap:2px}.shopping-status__text>span{font-size:13px;line-height:1.35}.shopping-status__live{width:13px;height:13px}.shopping-status__log{align-self:center;height:40px;padding:0}.shopping-list__controls{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;display:grid}.shopping-list__view{display:contents}.shopping-list__view>.segmented-control{grid-column:1/-1}.shopping-list__view-note{font-size:13px;line-height:1.35}.shopping-list__controls>.checkbox{gap:8px;font-size:14px}.shopping-list__groups{grid-template-columns:minmax(0,1fr)}.shopping-list__groups,.shopping-list__column{gap:12px}.shopping-group__header{min-height:54px;padding:8px 10px 8px 16px}.shopping-group__heading h2{font-size:18px}.shopping-group__toggle{font-size:14px}.shopping-row{padding:8px 16px}.shopping-row__check{width:22px;height:22px}}.shopping-list-page{flex-direction:column;gap:22px;min-width:0;display:flex}.shopping-list-page>.form-hint{margin:0}@media (width<=1023px){.shopping-list-page{gap:16px}}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--font-display);letter-spacing:0;font-weight:400}h1{letter-spacing:-.01em;margin-bottom:18px;font-size:44px;line-height:1.05}.eyebrow{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;font-size:12px;font-weight:600;line-height:1.2}.form-error{color:var(--color-error);margin:12px 0 0;font-size:14px}.form-hint{color:var(--color-text-muted);margin:12px 0 0;font-size:14px}.auth-loading{min-height:100svh;color:var(--color-text-muted);place-items:center;font-size:14px;display:grid}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=1023px){h1{font-size:32px;line-height:1.15}}
