.toast[data-v-ccec1626]{position:fixed;bottom:calc(80px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:14px 20px;background:var(--text);color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:var(--z-toast);max-width:calc(100vw - 32px)}.toast__icon[data-v-ccec1626]{font-size:18px;font-weight:700}.toast__message[data-v-ccec1626]{font-size:var(--font-size-base);font-weight:500}.toast__action[data-v-ccec1626]{min-height:34px;flex-shrink:0;padding:0 11px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:#ffffff1f;color:#fff;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);white-space:nowrap}@media(max-width:520px){.toast[data-v-ccec1626]{flex-wrap:wrap;padding:12px 14px}.toast__message[data-v-ccec1626]{flex:1;min-width:0}.toast__action[data-v-ccec1626]{width:100%;margin-left:28px}}.toast-enter-active,.toast-leave-active{transition:opacity .2s ease,transform .2s ease}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(-50%) translateY(20px)}.toast-enter-to,.toast-leave-from{opacity:1;transform:translate(-50%) translateY(0)}.tutorial-overlay[data-v-0b00b150]{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:flex-end;justify-content:center;padding:12px 12px max(12px,env(safe-area-inset-bottom));background:#0f172a85;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.tutorial[data-v-0b00b150]{width:min(100%,780px);max-height:calc(100dvh - 24px - env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;background:#fff;border:1px solid rgba(255,255,255,.7);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl)}.tutorial__header[data-v-0b00b150]{display:flex;align-items:center;justify-content:space-between;padding:18px 18px 12px}.tutorial__header>div[data-v-0b00b150]{display:flex;align-items:center;gap:8px}.tutorial__eyebrow[data-v-0b00b150]{color:var(--primary);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.tutorial__counter[data-v-0b00b150]{color:var(--text-light);font-size:12px;font-weight:600}.tutorial__close[data-v-0b00b150]{flex-shrink:0;color:var(--text-muted)}.tutorial__close svg[data-v-0b00b150]{width:17px;height:17px}.tutorial__progress[data-v-0b00b150]{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:6px;padding:0 18px 18px}.tutorial__progress-step[data-v-0b00b150]{height:4px;padding:0;border:0;border-radius:var(--radius-full);background:var(--border);box-shadow:none;transition:background-color .2s ease,transform .2s ease}.tutorial__progress-step[data-v-0b00b150]:hover{transform:none;background:#c7c9ee}.tutorial__progress-step--done[data-v-0b00b150]{background:#b5b7e8}.tutorial__progress-step--active[data-v-0b00b150]{background:var(--primary)}.tutorial__content[data-v-0b00b150]{padding:0 18px}.tutorial-screenshot[data-v-0b00b150]{height:190px;overflow:hidden;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.tutorial-screenshot img[data-v-0b00b150]{width:100%;height:auto;display:block}.tutorial-screenshot--sort-menu[data-v-0b00b150]{height:210px;background:#fff}.tutorial-screenshot--sort-menu img[data-v-0b00b150]{height:100%;object-fit:contain}.tutorial__copy[data-v-0b00b150]{padding:20px 2px 4px}.tutorial__copy h1[data-v-0b00b150]{color:var(--text);font-size:25px;line-height:1.15;letter-spacing:-.02em}.tutorial__copy>p[data-v-0b00b150]{margin-top:8px;color:var(--text-muted);font-size:14px;line-height:1.5}.tutorial__copy ul[data-v-0b00b150]{display:grid;gap:7px;margin-top:14px;list-style:none}.tutorial__copy li[data-v-0b00b150]{display:flex;align-items:flex-start;gap:8px;color:var(--text);font-size:13px;line-height:1.4}.tutorial__copy li svg[data-v-0b00b150]{width:18px;height:18px;flex-shrink:0;padding:2px;border-radius:50%;background:var(--primary-soft);color:var(--primary)}.tutorial__footer[data-v-0b00b150]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px}.tutorial__actions[data-v-0b00b150]{display:flex;align-items:center;gap:8px}.tutorial__skip[data-v-0b00b150],.tutorial__back[data-v-0b00b150]{min-height:42px;padding:0 14px;border:0;background:transparent;box-shadow:none;color:var(--text-muted);font-size:13px;font-weight:650}.tutorial__skip[data-v-0b00b150]:hover,.tutorial__back[data-v-0b00b150]:hover{transform:none;background:var(--card-hover)}.tutorial__next[data-v-0b00b150]{min-width:116px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 18px;border:1px solid var(--primary);border-radius:var(--radius-md);background:var(--primary);color:#fff;font-size:13px;font-weight:700;box-shadow:var(--shadow-colored)}.tutorial__next svg[data-v-0b00b150]{width:17px;height:17px}@media(min-width:640px){.tutorial-overlay[data-v-0b00b150]{align-items:center;padding:24px}.tutorial__header[data-v-0b00b150]{padding:22px 24px 14px}.tutorial__progress[data-v-0b00b150]{padding:0 24px 22px}.tutorial__content[data-v-0b00b150]{display:grid;grid-template-columns:minmax(280px,1fr) minmax(250px,.85fr);align-items:center;gap:28px;padding:0 24px}.tutorial-screenshot[data-v-0b00b150]{height:360px}.tutorial__copy[data-v-0b00b150]{padding:8px 0}.tutorial__copy h1[data-v-0b00b150]{font-size:30px}.tutorial__footer[data-v-0b00b150]{padding:22px 24px}}@media(max-width:380px){.tutorial-overlay[data-v-0b00b150]{padding:0}.tutorial[data-v-0b00b150]{max-height:100dvh;border-radius:0}.tutorial-preview[data-v-0b00b150]{min-height:160px}.tutorial__footer[data-v-0b00b150]{position:sticky;bottom:0;background:#fffffff5;border-top:1px solid var(--border-light)}.tutorial__skip[data-v-0b00b150]{padding:0 8px}.tutorial__next[data-v-0b00b150]{min-width:104px}}@media(prefers-reduced-motion:reduce){.tutorial__progress-step[data-v-0b00b150]{transition:none}}#app[data-v-7224c1c4]{display:flex;flex-direction:column;min-height:100dvh}.app-main[data-v-7224c1c4]{flex:1;width:100%;max-width:100vw;overflow-x:hidden;padding-bottom:76px}.app-main--public[data-v-7224c1c4]{padding-bottom:0}.sidebar[data-v-7224c1c4]{display:none}.bottom-nav[data-v-7224c1c4]{position:fixed;bottom:0;left:0;right:0;background:#fffffff2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--border-light);display:flex;justify-content:space-between;min-height:72px;padding:6px max(6px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));z-index:var(--z-nav);box-shadow:0 -8px 24px #1f29370f}.nav-item[data-v-7224c1c4]{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:6px 3px;text-decoration:none;color:var(--text-muted);transition:background-color .2s ease,color .2s ease,transform .2s ease;border-radius:var(--radius-md);margin:0;min-width:0}.nav-item__indicator[data-v-7224c1c4]{display:none}.nav-item[data-v-7224c1c4]:active{transform:scale(.95)}.nav-item.router-link-active[data-v-7224c1c4]{color:var(--primary);background:var(--primary-soft)}.nav-item__icon[data-v-7224c1c4]{width:22px;height:22px;display:block;flex-shrink:0;transition:transform .2s ease}.nav-item__label[data-v-7224c1c4]{display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);white-space:nowrap}@media(max-width:768px){.bottom-nav[data-v-7224c1c4]{min-height:68px}.nav-item[data-v-7224c1c4]{padding:5px 2px}.nav-item__icon[data-v-7224c1c4]{width:20px;height:20px}}@media(min-width:1024px){#app[data-v-7224c1c4]{flex-direction:row}.sidebar[data-v-7224c1c4]{display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;width:200px;background:#fffffff7;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-right:1px solid var(--border-light);box-shadow:2px 0 16px #1f29370d;z-index:var(--z-nav);padding:20px 12px 24px;gap:0}.sidebar__brand[data-v-7224c1c4]{display:flex;align-items:center;gap:10px;padding:4px 8px 20px;border-bottom:1px solid var(--border-light);margin-bottom:12px}.sidebar__logo[data-v-7224c1c4]{width:32px;height:32px;border-radius:var(--radius-md);background:var(--primary);color:#fff;font-size:16px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar__brand-name[data-v-7224c1c4]{font-size:var(--font-size-lg);font-weight:700;color:var(--primary)}.sidebar__links[data-v-7224c1c4]{display:flex;flex-direction:column;gap:4px}.sidebar__item[data-v-7224c1c4]{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-md);text-decoration:none;color:var(--text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:background-color .2s ease,color .2s ease}.sidebar__item[data-v-7224c1c4]:hover{background:var(--card-hover);color:var(--text)}.sidebar__item.router-link-active[data-v-7224c1c4]{background:#5658c914;color:var(--primary);font-weight:var(--font-weight-semibold)}.sidebar__icon[data-v-7224c1c4]{width:18px;height:18px;flex-shrink:0}.sidebar__label[data-v-7224c1c4]{white-space:nowrap}.sidebar__account[data-v-7224c1c4]{margin-top:auto;padding-top:var(--space-md);border-top:1px solid var(--border-light);display:flex;flex-direction:column;gap:var(--space-sm)}.sidebar__profile[data-v-7224c1c4]{min-width:0;display:flex;align-items:center;gap:var(--space-sm);padding:8px;color:var(--text);text-decoration:none;border-radius:var(--radius-md)}.sidebar__profile[data-v-7224c1c4]:hover{background:var(--card-hover)}.sidebar__avatar[data-v-7224c1c4]{width:34px;height:34px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#5658c91f;color:var(--primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.sidebar__profile-text[data-v-7224c1c4]{min-width:0;display:flex;flex-direction:column;gap:1px}.sidebar__profile-text strong[data-v-7224c1c4],.sidebar__profile-text small[data-v-7224c1c4]{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar__profile-text strong[data-v-7224c1c4]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.sidebar__profile-text small[data-v-7224c1c4]{color:var(--text-muted);font-size:var(--font-size-xs)}.sidebar__logout[data-v-7224c1c4]{width:100%;min-height:38px;display:inline-flex;align-items:center;justify-content:flex-start;gap:10px;padding:0 12px;color:var(--text-muted);background:#fff;border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.sidebar__logout[data-v-7224c1c4]:hover{color:var(--danger);background:#ef44440f;transform:none}.app-main[data-v-7224c1c4]{margin-left:200px;padding-bottom:0;min-height:100dvh;width:calc(100% - 200px);max-width:calc(100vw - 200px)}.app-main--public[data-v-7224c1c4]{margin-left:0;width:100%;max-width:100vw}.bottom-nav[data-v-7224c1c4]{display:none}}.autocomplete[data-v-1673d676]{position:relative;width:100%;max-width:100%}.suggest[data-v-1673d676]{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--border);border-top:none;border-radius:0 0 6px 6px;max-height:200px;overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:var(--z-popover);box-shadow:0 4px 6px #0000001a;width:100%}.suggest__item[data-v-1673d676]{padding:10px 12px;cursor:pointer;background:#f3f4f6;border-bottom:1px solid var(--border);transition:background .15s;font-size:14px;word-break:break-word}.suggest__item[data-v-1673d676]:last-child{border-bottom:none}.suggest__item[data-v-1673d676]:hover,.suggest__item--selected[data-v-1673d676]{background:#e5e7eb}@media(max-width:768px){.suggest__item[data-v-1673d676]{font-size:13px;padding:8px 10px}}.quantity-controls[data-v-f5a17f7c]{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;min-width:0}.quantity-btn[data-v-f5a17f7c]{width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;border-radius:6px;background:var(--primary);color:#fff;border:none;cursor:pointer;transition:background-color .2s ease,color .2s ease,transform .2s ease;flex-shrink:0}.quantity-btn[data-v-f5a17f7c]:hover:not(:disabled){background:var(--primary-dark)}.quantity-btn[data-v-f5a17f7c]:active:not(:disabled){transform:scale(.95)}.quantity-btn[data-v-f5a17f7c]:disabled{opacity:.5;cursor:not-allowed}.quantity-display[data-v-f5a17f7c]{min-width:32px;text-align:center;font-weight:600;font-size:14px}.app-select[data-v-a73af70e]{position:relative;width:100%;min-width:0}.app-select__trigger[data-v-a73af70e]{width:100%;min-height:44px;padding:8px 14px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);color:var(--text);background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:none;font:inherit;font-weight:var(--font-weight-medium);text-align:left}.app-select__trigger[data-v-a73af70e]:hover:not(:disabled),.app-select--open .app-select__trigger[data-v-a73af70e]{border-color:var(--primary);box-shadow:0 0 0 3px #5658c91f;transform:none}.app-select__trigger[data-v-a73af70e]:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.app-select__trigger svg[data-v-a73af70e]{width:18px;height:18px;flex:0 0 18px;transition:transform .18s ease}.app-select--open .app-select__trigger svg[data-v-a73af70e]{transform:rotate(180deg)}.app-select__placeholder[data-v-a73af70e]{color:var(--text-muted)}.app-select__menu[data-v-a73af70e]{position:fixed;z-index:calc(var(--z-modal) + 1);overflow-y:auto;padding:6px;background:#fff;border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.app-select__menu--above[data-v-a73af70e]{transform:translateY(-100%)}.app-select__option[data-v-a73af70e]{width:100%;min-height:40px;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);color:var(--text);background:transparent;border:0;border-radius:calc(var(--radius-md) - 4px);box-shadow:none;font:inherit;text-align:left}.app-select__option[data-v-a73af70e]:hover:not(:disabled),.app-select__option--selected[data-v-a73af70e]{color:var(--primary);background:var(--primary-soft);transform:none}.app-select__option svg[data-v-a73af70e]{width:17px;height:17px;flex:0 0 17px}.app-select--disabled[data-v-a73af70e]{opacity:.62}.modal-close-button[data-v-d422e217]{width:36px;height:36px;min-width:36px;padding:0;display:inline-grid;place-items:center;flex-shrink:0;color:#fff;background:#fff3;border:0;border-radius:var(--radius-full);box-shadow:none;line-height:0}.modal-close-button[data-v-d422e217]:hover:not(:disabled){background:#ffffff4d;box-shadow:none;transform:none}.modal-close-button svg[data-v-d422e217]{width:19px;height:19px;display:block}.modal[data-v-46357ef8]{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--space-lg);animation:fadeIn-46357ef8 .2s ease-out}@keyframes fadeIn-46357ef8{0%{opacity:0}to{opacity:1}}.modal__card[data-v-46357ef8]{background:#fff;border-radius:var(--radius-xl);width:100%;max-width:640px;max-height:90dvh;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);overflow:hidden;animation:slideUp-46357ef8 .3s cubic-bezier(.4,0,.2,1)}.modal--full-height[data-v-46357ef8]{padding:0}.modal__card--form[data-v-46357ef8]{max-height:100dvh;height:100dvh;border-radius:0}.modal__card--form .modal__header[data-v-46357ef8]{padding:var(--space-lg)}.modal__card--form .modal__body[data-v-46357ef8],.modal__card--form .modal__footer[data-v-46357ef8]{padding:var(--space-md)}.modal__card--form .form-group[data-v-46357ef8]{margin-bottom:var(--space-md)}.modal__card--form .ingredient-input-group[data-v-46357ef8]{margin-bottom:var(--space-sm)}.modal__card--form .label[data-v-46357ef8]{margin-bottom:6px}.modal__card--form .ingredients-list[data-v-46357ef8]{margin-top:var(--space-sm);max-height:320px}.modal__card--form .list--compact .li[data-v-46357ef8]{padding:12px 10px;gap:var(--space-sm);min-height:56px}.modal__card--form .ingredient-name[data-v-46357ef8]{font-size:var(--font-size-sm)}.modal__card--form .list--compact .btn-icon--danger[data-v-46357ef8]{width:auto;height:auto;padding:0 2px;border:none;border-radius:0;background:transparent;box-shadow:none;font-size:22px;line-height:1}.modal__card--form .list--compact .btn-icon--danger[data-v-46357ef8]:hover{background:transparent;transform:none;color:#dc2626}@keyframes slideUp-46357ef8{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal__header[data-v-46357ef8]{padding:var(--space-xl);background:var(--primary-gradient);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.modal__header h2[data-v-46357ef8]{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:#fff}.modal__close[data-v-46357ef8]{width:36px;height:36px}.modal__close[data-v-46357ef8]:hover{transform:none}.modal__body[data-v-46357ef8]{padding:var(--space-xl);overflow-y:auto;flex:1;-webkit-overflow-scrolling:touch}.modal__footer[data-v-46357ef8]{padding:var(--space-xl);border-top:2px solid var(--border-light);display:flex;gap:var(--space-md);justify-content:flex-end;flex-shrink:0;flex-wrap:wrap;background:var(--bg)}.form-group[data-v-46357ef8]{margin-bottom:var(--space-xl)}.label[data-v-46357ef8]{display:block;margin-bottom:var(--space-sm);font-weight:var(--font-weight-semibold);color:var(--text);font-size:var(--font-size-sm)}.dish-name-autocomplete[data-v-46357ef8]{position:relative}.dish-suggest[data-v-46357ef8]{position:absolute;top:calc(100% + 2px);left:0;right:0;z-index:var(--z-popover);max-height:240px;overflow-y:auto;-webkit-overflow-scrolling:touch;background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.dish-suggest__item[data-v-46357ef8]{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;padding:10px 12px;border:none;border-bottom:1px solid var(--border-light);background:#fff;color:var(--text);cursor:pointer;text-align:left;transition:background .15s}.dish-suggest__item[data-v-46357ef8]:last-child{border-bottom:none}.dish-suggest__item[data-v-46357ef8]:hover,.dish-suggest__item--selected[data-v-46357ef8]{background:var(--card-hover)}.dish-suggest__name[data-v-46357ef8]{max-width:100%;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);overflow-wrap:anywhere}.dish-suggest__ingredients[data-v-46357ef8]{max-width:100%;color:var(--text-muted);font-size:var(--font-size-xs);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ingredient-input-group[data-v-46357ef8]{display:flex;gap:var(--space-sm);margin-bottom:var(--space-md);align-items:stretch}.ingredient-input-group[data-v-46357ef8] .autocomplete{flex:1}.label-optional[data-v-46357ef8]{font-weight:var(--font-weight-normal);color:var(--text-muted);font-size:var(--font-size-xs)}.meal-type-selector[data-v-46357ef8]{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.meal-type-option[data-v-46357ef8]{padding:6px 14px;border:2px solid var(--border-light);border-radius:var(--radius-full);background:var(--bg);color:var(--text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}.meal-type-option[data-v-46357ef8]:hover{border-color:var(--primary-light);color:var(--primary)}.meal-type-option--active[data-v-46357ef8]{border-color:var(--meal-type-border);background:var(--meal-type-bg-strong);color:var(--meal-type-text);box-shadow:inset 0 0 0 1px var(--meal-type-border)}.week-selector[data-v-46357ef8]{display:flex;flex-direction:column;gap:var(--space-xs)}.week-selector__option[data-v-46357ef8]{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:var(--space-sm) var(--space-md);background:#fff;border:2px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}.week-selector__option[data-v-46357ef8]:hover,.week-selector__option--active[data-v-46357ef8]{border-color:var(--primary);background:#fff}.week-selector__label[data-v-46357ef8]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text)}.week-selector__option--active .week-selector__label[data-v-46357ef8]{color:var(--primary)}.week-selector__range[data-v-46357ef8]{font-size:var(--font-size-xs);color:var(--text-muted)}.target-mode-selector[data-v-46357ef8]{display:flex;gap:4px;padding:4px;border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg)}.target-mode-option[data-v-46357ef8]{flex:1;min-height:40px;padding:8px 12px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background .2s,border-color .2s,color .2s,box-shadow .2s}.target-mode-option[data-v-46357ef8]:hover{color:var(--text)}.target-mode-option--active[data-v-46357ef8]{border-color:var(--border);background:#fff;color:var(--primary);box-shadow:var(--shadow-xs)}.target-section[data-v-46357ef8]{display:flex;flex-direction:column;gap:var(--space-sm)}.target-section+.target-section[data-v-46357ef8]{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border-light)}.target-section__header[data-v-46357ef8]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.target-section__label[data-v-46357ef8]{color:var(--text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.target-selection__count[data-v-46357ef8]{min-width:32px;height:24px;padding:0 8px;border-radius:var(--radius-full);background:var(--meal-type-bg-strong);color:var(--primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);display:inline-flex;align-items:center;justify-content:center}.target-week-selector[data-v-46357ef8]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}.target-week-option[data-v-46357ef8]{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;padding:var(--space-sm) var(--space-md);border:2px solid var(--border-light);border-radius:var(--radius-md);background:#fff;color:var(--text);text-align:left;cursor:pointer;transition:border-color .2s,background .2s}.target-week-option[data-v-46357ef8]:hover,.target-week-option--active[data-v-46357ef8]{border-color:var(--primary);background:#fff}.target-week-option__label[data-v-46357ef8]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.target-week-option--active .target-week-option__label[data-v-46357ef8]{color:var(--primary)}.target-week-option__range[data-v-46357ef8]{max-width:100%;color:var(--text-muted);font-size:var(--font-size-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-selection[data-v-46357ef8]{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-sm)}.day-option[data-v-46357ef8]{min-height:44px;padding:var(--space-sm) var(--space-md);border:2px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg);color:var(--text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-align:left;cursor:pointer;transition:border-color .2s,background .2s,color .2s}.day-option[data-v-46357ef8]:hover{border-color:var(--primary-light);background:#fff}.day-option--active[data-v-46357ef8],.day-option--active[data-v-46357ef8]:hover{border-color:var(--success);background:#fff;color:var(--text);box-shadow:inset 0 0 0 1px var(--success)}.select--readonly[data-v-46357ef8]{background:var(--card-hover);color:var(--text-muted);border-color:var(--border);cursor:not-allowed}.ingredients-list[data-v-46357ef8]{margin-top:var(--space-md);max-height:300px;overflow-y:auto;-webkit-overflow-scrolling:touch;border:2px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg)}.list--compact .li[data-v-46357ef8]{background:#fff;border:none;border-bottom:1px solid var(--border-light);border-radius:0;padding:var(--space-md);margin-top:0;display:flex;align-items:center;gap:var(--space-md);width:100%;transition:background .2s}.list--compact .li[data-v-46357ef8]:hover{background:var(--card-hover)}.list--compact .li[data-v-46357ef8]:last-child{border-bottom:none}.ingredient-name[data-v-46357ef8]{flex:1;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);word-break:break-word;min-width:0;color:var(--text)}.btn[data-v-46357ef8]{padding:12px 24px;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;border:2px solid transparent;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease;white-space:nowrap;line-height:1.2;min-height:48px;display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.btn--primary[data-v-46357ef8]{background:var(--primary-gradient);color:#fff}.btn--primary[data-v-46357ef8]:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-colored)}.btn--primary[data-v-46357ef8]:active:not(:disabled){transform:translateY(0)}.btn--primary[data-v-46357ef8]:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn--secondary[data-v-46357ef8]{background:var(--card-hover);color:var(--text)}.btn--secondary[data-v-46357ef8]:hover{background:var(--border);transform:translateY(-1px)}.btn--outline[data-v-46357ef8]{background:transparent;color:var(--primary);border:2px solid var(--primary)}.btn--outline[data-v-46357ef8]:hover{background:var(--card-hover);transform:translateY(-1px)}.btn--saved[data-v-46357ef8]{background:var(--success);color:#fff;border:2px solid var(--success)}.btn--saved[data-v-46357ef8]:hover{transform:none}.favorite-btn[data-v-46357ef8]{width:48px;min-width:48px;height:48px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md);border:2px solid var(--primary);background:transparent;color:var(--primary);box-shadow:none}.favorite-btn svg[data-v-46357ef8]{width:24px;height:24px}.favorite-btn[data-v-46357ef8]:hover:not(:disabled){background:#5658c914;transform:none;box-shadow:none}.favorite-btn[data-v-46357ef8]:disabled{cursor:default}.favorite-btn--active[data-v-46357ef8]{color:#ef4444;border-color:#ef4444;background:transparent}.favorite-btn--active[data-v-46357ef8]:hover{background:transparent}.btn-icon[data-v-46357ef8]{width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);font-size:20px;font-weight:700;border:none;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease}.btn-icon--danger[data-v-46357ef8]{background:transparent;color:var(--danger)}.btn-icon--danger[data-v-46357ef8]:hover{background:#ef44441a;transform:scale(1.1)}@media(max-width:768px){.modal[data-v-46357ef8]{padding:0;align-items:flex-end}.modal__card[data-v-46357ef8]{max-height:95dvh;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.modal--full-height[data-v-46357ef8]{align-items:stretch}.modal__card--form[data-v-46357ef8]{max-height:100dvh;height:100dvh;border-radius:0}.modal__card--form .modal__header[data-v-46357ef8]{padding:var(--space-md)}.modal__card--form .modal__body[data-v-46357ef8]{padding:12px}.modal__card--form .modal__footer[data-v-46357ef8]{padding:12px 12px calc(12px + env(safe-area-inset-bottom))}.modal__card--form .form-group[data-v-46357ef8]{margin-bottom:12px}.modal__card--form .list--compact .li[data-v-46357ef8]{padding:10px 8px;gap:6px;min-height:52px}.modal__header[data-v-46357ef8]{padding:var(--space-lg)}.modal__header h2[data-v-46357ef8]{font-size:var(--font-size-lg)}.modal__body[data-v-46357ef8]{padding:var(--space-lg)}.modal__footer[data-v-46357ef8]{padding:var(--space-lg);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}.modal__footer .btn[data-v-46357ef8]{width:100%;min-width:0;white-space:normal}.modal__footer .favorite-btn[data-v-46357ef8]{width:100%;min-width:0}.modal__footer .btn[data-v-46357ef8]:only-child{grid-column:1 / -1}}.app-state[data-v-ae4bf4d3]{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);padding:var(--space-xl);color:var(--text-muted);text-align:center;border:1px dashed var(--border);border-radius:var(--radius-lg);background:#ffffff80}.app-state--loading[data-v-ae4bf4d3]{align-items:stretch;justify-content:flex-start;border-style:solid}.skeleton[data-v-ae4bf4d3]{display:block;width:72%;height:54px;border-radius:var(--radius-md);background:linear-gradient(90deg,#eef0f4 25%,#f8f9fb,#eef0f4 75%);background-size:200% 100%;animation:skeleton-shimmer-ae4bf4d3 1.4s ease-in-out infinite}.skeleton--wide[data-v-ae4bf4d3]{width:100%;height:72px}.skeleton--short[data-v-ae4bf4d3]{width:56%}.app-state__icon[data-v-ae4bf4d3]{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;color:var(--primary);background:var(--primary-soft);border-radius:var(--radius-md)}.app-state--error .app-state__icon[data-v-ae4bf4d3]{color:var(--danger);background:#ef444414}.app-state__icon svg[data-v-ae4bf4d3]{width:21px;height:21px}.app-state__copy h2[data-v-ae4bf4d3]{color:var(--text);font-size:var(--font-size-lg);line-height:1.25}.app-state__copy p[data-v-ae4bf4d3]{max-width:48ch;margin-top:var(--space-xs);font-size:var(--font-size-sm);line-height:1.5}.app-state__action[data-v-ae4bf4d3]{min-height:42px;padding:0 var(--space-md)}@keyframes skeleton-shimmer-ae4bf4d3{0%{background-position:100% 0}to{background-position:-100% 0}}.modal-overlay[data-v-548afd5e]{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--space-lg);animation:fadeIn-548afd5e .2s ease}@keyframes fadeIn-548afd5e{0%{opacity:0}to{opacity:1}}.move-modal[data-v-548afd5e]{background:var(--card-bg);border-radius:var(--radius-xl);width:100%;max-width:420px;max-height:calc(100dvh - 2 * var(--space-lg));box-shadow:var(--shadow-xl);overflow:hidden;display:flex;flex-direction:column;animation:slideUp-548afd5e .3s cubic-bezier(.4,0,.2,1)}@keyframes slideUp-548afd5e{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.move-modal__header[data-v-548afd5e]{padding:var(--space-lg);background:var(--primary-gradient);display:flex;justify-content:space-between;align-items:center}.move-modal__header h3[data-v-548afd5e]{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}.move-modal__close[data-v-548afd5e]{width:32px;height:32px;margin-left:var(--space-sm)}.move-modal__close[data-v-548afd5e]:hover,.move-modal__close[data-v-548afd5e]:hover:not(:disabled){background:#ffffff4d;box-shadow:none;transform:none;opacity:1}.move-modal__body[data-v-548afd5e]{padding:var(--space-lg);overflow-y:auto;-webkit-overflow-scrolling:touch}.form-group[data-v-548afd5e]{margin-bottom:var(--space-lg)}.form-group[data-v-548afd5e]:last-child{margin-bottom:0}.label[data-v-548afd5e]{display:block;margin-bottom:var(--space-sm);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--text)}.week-options[data-v-548afd5e]{display:flex;flex-direction:column;gap:var(--space-xs)}.week-option[data-v-548afd5e]{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:var(--space-sm) var(--space-md);background:var(--bg);border:2px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease}.week-option[data-v-548afd5e]:hover,.week-option--active[data-v-548afd5e]{border-color:var(--primary);background:var(--card-bg)}.week-option__label[data-v-548afd5e]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text)}.week-option--active .week-option__label[data-v-548afd5e]{color:var(--primary)}.week-option__range[data-v-548afd5e]{font-size:var(--font-size-xs);color:var(--text-muted)}.meal-type-selector[data-v-548afd5e]{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.meal-type-option[data-v-548afd5e]{padding:6px 14px;border:2px solid var(--border-light);border-radius:var(--radius-full);background:var(--bg);color:var(--text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease}.meal-type-option[data-v-548afd5e]:hover{border-color:var(--primary-light);color:var(--primary)}.meal-type-option--active[data-v-548afd5e]{border-color:var(--meal-type-border);background:var(--meal-type-bg-strong);color:var(--meal-type-text);box-shadow:inset 0 0 0 1px var(--meal-type-border)}.checkbox-card[data-v-548afd5e]{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-md);background:var(--bg);border:2px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer}.checkbox-card__input[data-v-548afd5e]{width:18px;height:18px;margin-top:2px;flex-shrink:0;accent-color:var(--primary)}.checkbox-card__content[data-v-548afd5e]{display:flex;flex-direction:column;gap:4px}.checkbox-card__title[data-v-548afd5e]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text)}.checkbox-card__hint[data-v-548afd5e]{font-size:var(--font-size-xs);line-height:1.4;color:var(--text-muted)}.ingredient-selection__header[data-v-548afd5e]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-sm)}.ingredient-selection__header .label[data-v-548afd5e]{margin-bottom:0}.ingredient-selection__count[data-v-548afd5e]{font-size:var(--font-size-xs);color:var(--text-muted)}.ingredient-selection__actions[data-v-548afd5e]{display:flex;gap:var(--space-sm);margin-bottom:var(--space-sm)}.ingredient-selection__action[data-v-548afd5e]{padding:0;border:none;background:transparent;box-shadow:none;color:var(--primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.ingredient-selection__action[data-v-548afd5e]:hover{transform:none;box-shadow:none;opacity:.8}.target-selection__header[data-v-548afd5e]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-sm)}.target-selection__header .label[data-v-548afd5e]{margin-bottom:0}.target-selection__count[data-v-548afd5e]{font-size:var(--font-size-xs);color:var(--text-muted)}.target-selection__actions[data-v-548afd5e]{display:flex;gap:var(--space-sm);margin-bottom:var(--space-sm)}.target-selection__action[data-v-548afd5e]{padding:0;border:none;background:transparent;box-shadow:none;color:var(--primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.target-selection__action[data-v-548afd5e]:hover{transform:none;box-shadow:none;opacity:.8}.day-selection[data-v-548afd5e]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-xs)}.day-option[data-v-548afd5e]{display:flex;align-items:center;gap:var(--space-sm);min-height:44px;padding:var(--space-sm) var(--space-md);background:var(--bg);border:1px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s}.day-option--active[data-v-548afd5e]{background:var(--card-bg);border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.day-option--source[data-v-548afd5e]{cursor:default}.day-option__input[data-v-548afd5e]{width:18px;height:18px;flex-shrink:0;accent-color:var(--primary)}.day-option__input[data-v-548afd5e]:disabled{cursor:not-allowed}.day-option__label[data-v-548afd5e]{flex:1;min-width:0;color:var(--text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);overflow-wrap:anywhere}.day-option__badge[data-v-548afd5e]{flex-shrink:0;padding:2px 8px;border-radius:var(--radius-full);background:var(--meal-type-bg-soft);color:var(--text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.target-selection__summary[data-v-548afd5e]{margin:var(--space-sm) 0 0;color:var(--text-muted);font-size:var(--font-size-xs)}.swap-meal-selection[data-v-548afd5e]{display:flex;flex-direction:column;gap:var(--space-xs)}.swap-meal-option[data-v-548afd5e]{position:relative;display:flex;align-items:flex-start;padding:var(--space-sm) var(--space-md);background:var(--bg);border:2px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer;transition:border-color .2s,background .2s}.swap-meal-option--active[data-v-548afd5e]{background:var(--card-bg);border-color:var(--success)}.swap-meal-option__input[data-v-548afd5e]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.swap-meal-option__content[data-v-548afd5e]{display:flex;flex-direction:column;gap:2px;min-width:0}.swap-meal-option__name[data-v-548afd5e]{color:var(--text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);overflow-wrap:anywhere}.swap-meal-option__meta[data-v-548afd5e]{color:var(--text-muted);font-size:var(--font-size-xs)}.swap-meal-selection__empty[data-v-548afd5e]{margin:0;padding:var(--space-sm) var(--space-md);border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg);color:var(--text-muted);font-size:var(--font-size-sm)}.ingredient-selection[data-v-548afd5e]{display:flex;flex-direction:column;gap:var(--space-xs)}.ingredient-option[data-v-548afd5e]{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--bg);border:1px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer}.ingredient-option__input[data-v-548afd5e]{width:18px;height:18px;margin-top:1px;flex-shrink:0;accent-color:var(--primary)}.ingredient-option__content[data-v-548afd5e]{display:flex;flex:1;align-items:center;justify-content:space-between;gap:var(--space-sm);min-width:0}.ingredient-option__name[data-v-548afd5e]{color:var(--text);font-size:var(--font-size-sm);word-break:break-word}.ingredient-option__quantity[data-v-548afd5e]{color:var(--text-muted);font-size:var(--font-size-xs);flex-shrink:0}.move-modal__footer[data-v-548afd5e]{padding:var(--space-lg);border-top:1px solid var(--border-light);display:flex;gap:var(--space-md);justify-content:flex-end}.btn[data-v-548afd5e]{padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;border:none;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease}.btn--secondary[data-v-548afd5e]{background:var(--bg);color:var(--text);border:1px solid var(--border)}.btn--secondary[data-v-548afd5e]:hover{background:var(--card-hover)}.btn--primary[data-v-548afd5e]{background:var(--primary-gradient);color:#fff}.btn--primary[data-v-548afd5e]:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn--primary[data-v-548afd5e]:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.modal-overlay[data-v-548afd5e]{padding:0;align-items:stretch}.move-modal[data-v-548afd5e]{max-width:100%;width:100%;height:100%;border-radius:0;display:flex;flex-direction:column}.move-modal__body[data-v-548afd5e]{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.day-selection[data-v-548afd5e]{grid-template-columns:1fr}}.week-timeline[data-v-b170b907]{display:flex;gap:var(--space-sm);margin-bottom:var(--space-lg);overflow-x:auto;padding-inline:2px;padding-bottom:var(--space-xs);scroll-padding-inline:2px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.week-chip[data-v-b170b907]{min-width:170px;border:2px solid transparent;border-radius:var(--radius-md);background:var(--card-bg);color:var(--text);padding:var(--space-sm) var(--space-md);display:flex;flex-direction:column;align-items:flex-start;gap:2px;cursor:pointer;box-shadow:var(--shadow-xs);transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease;scroll-snap-align:center}.week-chip[data-v-b170b907]:hover{border-color:var(--border-light);background:var(--card-bg);color:var(--text);box-shadow:var(--shadow-xs);transform:none}.week-chip[data-v-b170b907]:active,.week-chip[data-v-b170b907]:focus-visible,.week-chip[data-v-b170b907]:focus{outline:none;border-color:var(--border-light);background:var(--card-bg);color:var(--text);box-shadow:var(--shadow-xs);transform:none}.week-chip--active[data-v-b170b907],.week-chip--active[data-v-b170b907]:hover,.week-chip--active[data-v-b170b907]:active,.week-chip--active[data-v-b170b907]:focus-visible,.week-chip--active[data-v-b170b907]:focus{border-color:var(--primary);background:var(--card-bg);color:var(--text);box-shadow:var(--shadow-xs);outline:none}.week-chip__tag[data-v-b170b907]{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-muted)}.week-chip__range[data-v-b170b907]{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}@media(min-width:769px){.week-timeline[data-v-b170b907]{margin-bottom:var(--space-md);gap:6px}.week-chip[data-v-b170b907]{min-width:160px;padding:var(--space-xs) var(--space-sm)}.week-chip__tag[data-v-b170b907]{font-size:11px}.week-chip__range[data-v-b170b907]{font-size:var(--font-size-xs)}}.archive-banner[data-v-a93afe96]{margin-bottom:var(--space-md);display:flex;align-items:center}.archive-banner__btn[data-v-a93afe96]{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);background:transparent;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;width:100%;justify-content:center}.archive-banner__btn[data-v-a93afe96]:hover:not(:disabled){border-color:var(--primary-light);color:var(--primary)}.archive-banner__btn[data-v-a93afe96]:disabled{opacity:.6;cursor:not-allowed}.archive-banner__btn svg[data-v-a93afe96]{width:16px;height:16px;flex-shrink:0}.archive-banner__done[data-v-a93afe96]{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);color:var(--text-muted);font-size:var(--font-size-sm);width:100%;justify-content:center}.archive-banner__done svg[data-v-a93afe96]{width:16px;height:16px;color:var(--success, #22c55e);flex-shrink:0}.day-card[data-v-fe91a290]{background:#ffffff9e;border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-lg);cursor:pointer;transition:border-color .2s ease,background-color .2s ease;min-height:120px;width:100%;max-width:100%;box-shadow:none;animation:fadeInUp-fe91a290 .3s ease backwards}@keyframes fadeInUp-fe91a290{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.day-card[data-v-fe91a290]:hover{border-color:var(--primary-light);background:var(--card-bg)}.day-card__header[data-v-fe91a290]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.day-card__title[data-v-fe91a290]{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);text-transform:capitalize;color:var(--text)}.day-card__meals[data-v-fe91a290]{display:flex;flex-direction:column}.day-card__empty[data-v-fe91a290]{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);color:var(--text-muted);text-align:center;min-height:112px;padding:var(--space-lg)}.empty-icon[data-v-fe91a290]{width:32px;height:32px;opacity:.24}.day-card__empty p[data-v-fe91a290]{margin:0;font-size:var(--font-size-sm)}.meal-card[data-v-fe91a290]{position:relative;background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--space-md);padding-left:calc(var(--space-md) + 4px);display:flex;gap:var(--space-sm);align-items:flex-start;cursor:pointer;transition:border-color .2s ease,background-color .2s ease;width:100%;max-width:100%;overflow:visible;box-shadow:none;animation:slideIn-fe91a290 .25s ease backwards}.meal-card--menu-open[data-v-fe91a290]{z-index:var(--z-popover)}.meal-card[data-v-fe91a290]:nth-child(1){animation-delay:0ms}.meal-card[data-v-fe91a290]:nth-child(2){animation-delay:50ms}.meal-card[data-v-fe91a290]:nth-child(3){animation-delay:.1s}.meal-card[data-v-fe91a290]:nth-child(4){animation-delay:.15s}.meal-card[data-v-fe91a290]:nth-child(5){animation-delay:.2s}@keyframes slideIn-fe91a290{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.meal-card[data-v-fe91a290]:has(.meal-card__main:hover){background:var(--card-hover);border-color:var(--border)}.meal-card__accent[data-v-fe91a290]{position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--primary);border-radius:var(--radius-md) 0 0 var(--radius-md)}.meal-card__main[data-v-fe91a290]{flex:1;min-width:0}.meal-card__title-row[data-v-fe91a290]{display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap;margin-bottom:4px}.meal-card__name[data-v-fe91a290]{font-weight:var(--font-weight-semibold);margin:0;color:var(--text);font-size:var(--font-size-base);word-break:break-word;line-height:1.4}.meal-type-badge[data-v-fe91a290]{display:inline-flex;align-items:center;padding:2px 8px;background:var(--meal-type-bg-soft);color:var(--meal-type-text);border:1px solid var(--meal-type-border);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);white-space:nowrap;flex-shrink:0}.meal-card__ingredients-inline[data-v-fe91a290]{margin:0;font-size:var(--font-size-xs);color:var(--text-muted);line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.meal-card__actions[data-v-fe91a290]{position:relative;display:flex;gap:2px;flex-shrink:0}.action-btn[data-v-fe91a290]{width:32px;height:32px;padding:0;border:none;background:transparent;cursor:pointer;border-radius:var(--radius-sm);transition:background-color .2s ease,color .2s ease,transform .2s ease;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.action-btn svg[data-v-fe91a290]{width:16px;height:16px}.action-btn[data-v-fe91a290]:hover{transform:scale(1.1)}.action-btn--duplicate[data-v-fe91a290]:hover,.action-btn--more[data-v-fe91a290]:hover,.action-btn--more[aria-expanded=true][data-v-fe91a290]{background:#5658c91a;color:var(--primary)}.meal-actions-menu[data-v-fe91a290]{position:absolute;top:calc(100% + 6px);right:0;z-index:var(--z-popover);width:148px;padding:5px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card-bg);box-shadow:var(--shadow-md)}.meal-actions-menu button[data-v-fe91a290]{width:100%;min-height:36px;padding:0 9px;display:flex;align-items:center;justify-content:flex-start;gap:9px;border-radius:var(--radius-sm);background:transparent;color:var(--text);box-shadow:none;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.meal-actions-menu button[data-v-fe91a290]:hover:not(:disabled){transform:none;background:var(--card-hover)}.meal-actions-menu svg[data-v-fe91a290]{width:16px;height:16px;flex-shrink:0}.meal-actions-menu .meal-actions-menu__delete[data-v-fe91a290]{color:var(--danger)}@media(max-width:768px){.day-card[data-v-fe91a290]{padding:var(--space-md)}.meal-card[data-v-fe91a290]{padding:var(--space-sm);padding-left:calc(var(--space-sm) + 4px);gap:var(--space-xs)}.meal-card__name[data-v-fe91a290]{font-size:var(--font-size-sm)}.action-btn[data-v-fe91a290]{width:30px;height:30px}.action-btn svg[data-v-fe91a290]{width:15px;height:15px}}@media(min-width:769px){.day-card[data-v-fe91a290]{padding:var(--space-md);min-height:100px}.day-card__header[data-v-fe91a290]{margin-bottom:var(--space-sm)}.day-card__title[data-v-fe91a290]{font-size:var(--font-size-base)}.day-card__empty[data-v-fe91a290]{padding:var(--space-lg);gap:var(--space-xs)}.empty-icon[data-v-fe91a290]{width:32px;height:32px}.meal-card[data-v-fe91a290]{padding:var(--space-sm);padding-left:calc(var(--space-sm) + 4px);gap:var(--space-xs)}.meal-card__name[data-v-fe91a290]{font-size:var(--font-size-sm)}.action-btn[data-v-fe91a290]{width:28px;height:28px}.action-btn svg[data-v-fe91a290]{width:14px;height:14px}}.past-days-toggle[data-v-b27fabd4]{margin-bottom:var(--space-md)}.past-days-btn[data-v-b27fabd4]{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);background:transparent;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:border-color .2s ease,color .2s ease,background-color .2s ease;width:100%;justify-content:center}.past-days-btn[data-v-b27fabd4]:hover{border-color:var(--primary-light);color:var(--primary)}.past-days-btn__icon[data-v-b27fabd4]{width:18px;height:18px;transition:transform .2s ease}.past-days-btn__icon--open[data-v-b27fabd4]{transform:rotate(180deg)}.days-grid--past[data-v-b27fabd4]{margin-bottom:var(--space-md);opacity:.7}.days-grid[data-v-b27fabd4]{display:grid;grid-template-columns:1fr;gap:12px;width:100%}@media(min-width:640px){.days-grid[data-v-b27fabd4]{grid-template-columns:repeat(2,1fr);gap:14px}.days-grid[data-v-b27fabd4]>:last-child:nth-child(odd){grid-column:1 / -1}}@media(min-width:1024px){.days-grid[data-v-b27fabd4]{grid-template-columns:repeat(3,1fr);gap:14px}.days-grid[data-v-b27fabd4]>:last-child:nth-child(odd){grid-column:auto}}@media(min-width:1400px){.days-grid[data-v-b27fabd4]{grid-template-columns:repeat(4,1fr)}}.meals-view[data-v-50aa28f5]{padding:16px;width:100%;max-width:100vw;overflow-x:hidden}.meal-coachmark[data-v-50aa28f5]{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr) 32px;gap:4px 12px;align-items:start;margin:14px 0;padding:14px;border:1px solid rgba(86,88,201,.25);border-radius:var(--radius-lg);background:var(--primary-soft);box-shadow:var(--shadow-sm)}.meal-coachmark__icon[data-v-50aa28f5]{grid-row:span 2;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:var(--primary);color:#fff;font-size:24px;line-height:1;box-shadow:var(--shadow-colored)}.meal-coachmark__copy strong[data-v-50aa28f5]{color:var(--text);font-size:var(--font-size-base)}.meal-coachmark__copy p[data-v-50aa28f5]{margin-top:3px;color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.4}.meal-coachmark__close[data-v-50aa28f5]{width:32px;height:32px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--text-muted);font-size:24px;line-height:1}.meal-coachmark__action[data-v-50aa28f5]{grid-column:2 / -1;min-height:40px;justify-self:start;margin-top:8px;padding:0 16px;border:1px solid var(--primary);border-radius:999px;background:var(--primary);color:#fff;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}@media(min-width:1024px){.meals-view[data-v-50aa28f5]{padding:24px 28px;max-width:1440px;margin:0 auto}}.ingredient-item[data-v-d8fd5c0b]{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-sm);border-bottom:1px solid var(--border-light);transition:background .15s ease,border-radius .15s ease;width:100%;max-width:100%;box-sizing:border-box;position:relative;overflow:visible;cursor:pointer}.ingredient-item--actions-open[data-v-d8fd5c0b]{z-index:var(--z-popover)}.ingredient-item[data-v-d8fd5c0b]:hover{background:var(--card-hover);border-radius:var(--radius-sm)}.ingredient-item--bought[data-v-d8fd5c0b]{opacity:.6}.ingredient-item--removing[data-v-d8fd5c0b]{opacity:0;transform:translate(-30px)}.ingredient-item__name[data-v-d8fd5c0b]{flex:1;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);-webkit-user-select:none;user-select:none;transition:color .2s ease,opacity .2s ease,transform .2s ease;word-break:break-word;min-width:0;color:var(--text)}.ingredient-item__name--bought[data-v-d8fd5c0b]{text-decoration:line-through;color:var(--text-muted)}.ingredient-item__actions[data-v-d8fd5c0b]{position:relative;display:flex;gap:var(--space-xs);flex-shrink:0}.ingredient-item__info[data-v-d8fd5c0b],.ingredient-item__more[data-v-d8fd5c0b]{width:36px;height:36px;padding:0;border:none;background:transparent;cursor:pointer;border-radius:var(--radius-sm);transition:background-color .2s ease,color .2s ease,transform .2s ease;display:flex;align-items:center;justify-content:center;color:var(--text-light);flex-shrink:0}.ingredient-item__info svg[data-v-d8fd5c0b],.ingredient-item__more svg[data-v-d8fd5c0b]{width:18px;height:18px}.ingredient-item__info[data-v-d8fd5c0b]:hover{background:var(--primary-soft);color:var(--primary);transform:scale(1.08)}.ingredient-item__more[data-v-d8fd5c0b]:hover,.ingredient-item__more[aria-expanded=true][data-v-d8fd5c0b]{background:var(--primary-soft);color:var(--primary)}.ingredient-actions-menu[data-v-d8fd5c0b]{position:absolute;top:calc(100% + 6px);right:0;z-index:var(--z-popover);width:148px;padding:5px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card-bg);box-shadow:var(--shadow-md)}.ingredient-actions-menu button[data-v-d8fd5c0b]{width:100%;min-height:36px;padding:0 9px;display:flex;align-items:center;justify-content:flex-start;gap:9px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text);box-shadow:none;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.ingredient-actions-menu button[data-v-d8fd5c0b]:hover:not(:disabled){background:var(--card-hover);box-shadow:none;transform:none}.ingredient-actions-menu svg[data-v-d8fd5c0b]{width:16px;height:16px;flex-shrink:0}.ingredient-actions-menu .ingredient-actions-menu__delete[data-v-d8fd5c0b]{color:var(--danger)}@media(max-width:768px){.ingredient-item[data-v-d8fd5c0b]{align-items:flex-start;flex-wrap:wrap;gap:var(--space-xs);padding:var(--space-sm) var(--space-xs)}.ingredient-item__name[data-v-d8fd5c0b]{font-size:var(--font-size-sm)}.ingredient-item__info[data-v-d8fd5c0b],.ingredient-item__more[data-v-d8fd5c0b]{width:32px;height:32px}.ingredient-item__info svg[data-v-d8fd5c0b],.ingredient-item__more svg[data-v-d8fd5c0b]{width:16px;height:16px}.ingredient-actions-menu[data-v-d8fd5c0b]{top:auto;bottom:calc(100% + 6px)}}.meal-usages-sheet[data-v-0ded5c42]{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:flex-end;justify-content:center;background:#1f293761;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:sheet-overlay-in-0ded5c42 .18s ease-out}.meal-usages-sheet__panel[data-v-0ded5c42]{width:min(100%,620px);max-height:min(78dvh,680px);overflow:hidden;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom);border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:var(--card-bg);box-shadow:var(--shadow-xl);animation:sheet-panel-in-0ded5c42 .24s cubic-bezier(.2,.8,.2,1)}.meal-usages-sheet__handle[data-v-0ded5c42]{width:40px;height:4px;margin:8px auto 0;border-radius:var(--radius-full);background:var(--border)}.meal-usages-sheet__header[data-v-0ded5c42]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:10px var(--space-lg) var(--space-md);border-bottom:1px solid var(--border-light)}.meal-usages-sheet__heading[data-v-0ded5c42]{min-width:0}.meal-usages-sheet__heading h2[data-v-0ded5c42]{overflow:hidden;margin:0;color:var(--text);font-size:var(--font-size-xl);line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.meal-usages-sheet__close[data-v-0ded5c42]{background:var(--primary-soft);color:var(--primary)}.meal-usages-sheet__close[data-v-0ded5c42]:hover:not(:disabled){background:#5658c929}.meal-usages-sheet__body[data-v-0ded5c42]{min-height:180px;overflow-y:auto;padding:var(--space-sm) var(--space-lg) var(--space-lg);-webkit-overflow-scrolling:touch}.meal-usages-list[data-v-0ded5c42]{margin:0;padding:0;list-style:none}.meal-usage-row[data-v-0ded5c42]{padding:var(--space-md) 0;border-bottom:1px solid var(--border-light)}.meal-usage-row[data-v-0ded5c42]:last-child{border-bottom:0}.meal-usage-row__top[data-v-0ded5c42]{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-sm)}.meal-usage-row__top strong[data-v-0ded5c42]{min-width:0;color:var(--text);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:1.35;overflow-wrap:anywhere}.meal-usage-row__type[data-v-0ded5c42]{flex-shrink:0;padding:3px 8px;border:1px solid var(--meal-type-border);border-radius:var(--radius-full);background:var(--meal-type-bg-soft);color:var(--meal-type-text);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.meal-usage-row p[data-v-0ded5c42]{display:flex;flex-wrap:wrap;gap:5px;margin:5px 0 0;color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.4}.meal-usages-sheet__state[data-v-0ded5c42]{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xl) var(--space-md);text-align:center}.meal-usages-sheet__state svg[data-v-0ded5c42]{width:38px;height:38px;margin-bottom:var(--space-sm);color:var(--primary)}.meal-usages-sheet__state strong[data-v-0ded5c42]{color:var(--text);font-size:var(--font-size-base)}.meal-usages-sheet__state p[data-v-0ded5c42]{max-width:34ch;margin:var(--space-xs) 0 var(--space-md);color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.45}.meal-usages-sheet__skeletons[data-v-0ded5c42]{display:grid}.meal-usage-skeleton[data-v-0ded5c42]{height:76px;border-bottom:1px solid var(--border-light);background:linear-gradient(90deg,transparent,rgba(86,88,201,.06),transparent);background-size:220% 100%;animation:sheet-skeleton-0ded5c42 1.2s ease-in-out infinite}@keyframes sheet-overlay-in-0ded5c42{0%{opacity:0}to{opacity:1}}@keyframes sheet-panel-in-0ded5c42{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes sheet-skeleton-0ded5c42{0%{background-position:100% 0}to{background-position:-100% 0}}@media(min-width:700px){.meal-usages-sheet[data-v-0ded5c42]{align-items:center;padding:var(--space-lg)}.meal-usages-sheet__panel[data-v-0ded5c42]{border-radius:var(--radius-xl);padding-bottom:0}.meal-usages-sheet__handle[data-v-0ded5c42]{display:none}.meal-usages-sheet__header[data-v-0ded5c42]{padding-top:var(--space-lg)}}@media(prefers-reduced-motion:reduce){.meal-usages-sheet[data-v-0ded5c42],.meal-usages-sheet__panel[data-v-0ded5c42],.meal-usage-skeleton[data-v-0ded5c42]{animation:none}}.ingredients-view[data-v-c342e36c]{padding:16px}.ingredients-shell[data-v-c342e36c]{max-width:760px;margin:0 auto}.shopping-header[data-v-c342e36c]{position:absolute;top:-43px;left:0;right:18px;z-index:2;margin:0}.shopping-lists-row[data-v-c342e36c]{display:inline-flex;align-items:flex-end;gap:2px;max-width:100%}.shopping-header__actions[data-v-c342e36c]{display:flex;gap:4px;flex-shrink:0}.icon-btn[data-v-c342e36c]{width:36px;height:36px;padding:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);box-shadow:var(--shadow-xs)}.icon-btn svg[data-v-c342e36c]{width:18px;height:18px}.icon-btn--primary[data-v-c342e36c],.icon-btn--secondary[data-v-c342e36c]{background:#fff;color:#222}.icon-btn--danger[data-v-c342e36c]{background:#fff;color:var(--danger)}.icon-btn[data-v-c342e36c]:hover:not(:disabled){transform:translateY(-1px)}.shopping-lists-tabs[data-v-c342e36c]{display:flex;gap:0;overflow-x:auto;scrollbar-width:none;padding:0;flex:0 1 auto;min-width:0;max-width:calc(100vw - 112px);background:transparent;border-radius:0;box-shadow:none;position:relative;z-index:1}.shopping-lists-tabs[data-v-c342e36c]::-webkit-scrollbar{display:none}.shopping-lists-tabs__item[data-v-c342e36c]{background:#fff;color:#222;border-radius:16px 16px 0 0;min-height:44px;padding:0 18px;border:1px solid #eeeeee;display:inline-flex;align-items:center;justify-content:center;position:relative;box-shadow:none;white-space:nowrap}.shopping-lists-tabs__item+.shopping-lists-tabs__item[data-v-c342e36c]{margin-left:-1px}.shopping-lists-tabs__item[data-v-c342e36c]:last-child{border-right:0}.shopping-lists-tabs__item--active[data-v-c342e36c]{background:#fff;color:#222;border-bottom-color:#fff;box-shadow:none;z-index:2}.shopping-lists-tabs__item--active[data-v-c342e36c]:after{position:absolute;right:0;bottom:-8px;left:-1px;height:10px;background:#fff;content:""}.shopping-lists-tabs__item[data-v-c342e36c]:hover:not(:disabled),.shopping-lists-tabs__item--active[data-v-c342e36c]:hover:not(:disabled){transform:none;opacity:1}.shopping-card[data-v-c342e36c]{position:relative;margin-top:43px;background:#fff;border-radius:0 20px 20px;border:1px solid var(--border);box-shadow:var(--shadow-sm)}.shopping-card[data-v-c342e36c]{padding:18px}.shopping-card[data-v-c342e36c] .input{background:transparent}.list-toolbar[data-v-c342e36c]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-top:var(--space-md);padding:var(--space-sm) 0 var(--space-md);border-bottom:1px solid var(--border-light)}.stats-card[data-v-c342e36c]{flex:1 1 auto;min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:4px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg)}.stats-card__item[data-v-c342e36c]{position:relative;min-width:0;padding:6px 4px;display:flex;align-items:baseline;justify-content:center;gap:4px;text-align:center}.stats-card__item+.stats-card__item[data-v-c342e36c]:before{position:absolute;top:5px;bottom:5px;left:0;width:1px;background:var(--border);content:""}.stats-card__value[data-v-c342e36c]{order:-1;margin:0;color:var(--primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;line-height:1}.stats-card__value--pending[data-v-c342e36c]{color:#f59e0b}.stats-card__value--done[data-v-c342e36c]{color:#10b981}.stats-card__label[data-v-c342e36c]{min-width:0;overflow:hidden;color:var(--text-muted);font-size:11px;font-weight:var(--font-weight-medium);line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.sort-card[data-v-c342e36c]{flex-shrink:0;padding:0}.sort-card--coachmark .sort-card__trigger[data-v-c342e36c]{border-color:var(--primary);box-shadow:0 0 0 4px #5658c929,var(--shadow-sm)}.shopping-coachmark[data-v-c342e36c]{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0 0 var(--space-md);padding:12px 14px;border:1px solid rgba(86,88,201,.24);border-radius:var(--radius-md);background:var(--primary-soft)}.shopping-coachmark strong[data-v-c342e36c]{color:var(--text);font-size:var(--font-size-sm)}.shopping-coachmark p[data-v-c342e36c]{margin-top:3px;color:var(--text-muted);font-size:var(--font-size-xs);line-height:1.45}.shopping-coachmark button[data-v-c342e36c]{width:30px;height:30px;flex-shrink:0;padding:0;border:0;border-radius:50%;background:transparent;color:var(--text-muted);font-size:22px;line-height:1}.sort-card__control[data-v-c342e36c]{display:flex;align-items:center;justify-content:space-between;gap:12px}.sort-card__label[data-v-c342e36c]{display:none;color:#6a6a6a;font-size:12px;font-weight:700}.sort-card__dropdown[data-v-c342e36c]{position:relative}.sort-card__trigger[data-v-c342e36c]{width:40px;min-width:40px;min-height:36px;padding:0;border:1px solid #dddddd;border-radius:999px;background:#fff;color:#222;font-size:14px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:0;box-shadow:none}.sort-card__trigger span[data-v-c342e36c],.sort-card__chevron[data-v-c342e36c]{display:none}.sort-card__sort-icon[data-v-c342e36c]{display:block}@media(min-width:600px){.stats-card[data-v-c342e36c]{flex:1 1 390px;width:min(100%,390px);max-width:390px}.sort-card__label[data-v-c342e36c]{display:inline}.sort-card__trigger[data-v-c342e36c]{width:auto;min-width:144px;padding:0 10px 0 14px;justify-content:space-between;gap:12px}.sort-card__trigger span[data-v-c342e36c],.sort-card__chevron[data-v-c342e36c]{display:inline}.sort-card__sort-icon[data-v-c342e36c]{display:none}}.sort-card__trigger svg[data-v-c342e36c]{width:16px;height:16px;flex-shrink:0}.sort-card__trigger[data-v-c342e36c]:hover:not(:disabled){transform:none;box-shadow:none;opacity:1}.sort-card__trigger[data-v-c342e36c]:focus-visible{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #5658c924}.sort-card__menu[data-v-c342e36c]{position:absolute;top:calc(100% + 6px);right:0;z-index:20;min-width:100%;padding:6px;background:#fff;border-radius:16px;border:1px solid var(--border);box-shadow:var(--shadow-md)}.sort-card__option[data-v-c342e36c]{width:100%;min-height:36px;padding:0 12px;border-radius:10px;background:transparent;color:#222;box-shadow:none;display:flex;align-items:center;justify-content:flex-start;font-size:14px;font-weight:700;text-align:left}.sort-card__option[data-v-c342e36c]:hover:not(:disabled),.sort-card__option--active[data-v-c342e36c]{background:#f7f7f7;transform:none;box-shadow:none;opacity:1}.clear-list-actions[data-v-c342e36c]{width:100%;max-width:500px;margin:16px auto 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}.clear-list-btn[data-v-c342e36c]{width:100%;background:#fff;color:var(--danger);border:1.5px solid var(--danger);border-radius:16px;padding:12px 16px;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:none;font-size:14px}.clear-list-btn svg[data-v-c342e36c]{width:18px;height:18px}.clear-list-btn[data-v-c342e36c]:hover:not(:disabled){background:#ff4d4f0d;transform:none}@media(max-width:520px){.clear-list-actions[data-v-c342e36c]{grid-template-columns:1fr}}.ingredients-list[data-v-c342e36c]{padding:8px 0 0;overflow:visible}.ingredients-list__section+.ingredients-list__section[data-v-c342e36c]{margin-top:12px}.ingredients-list__heading[data-v-c342e36c]{margin:6px 0 2px;padding:0 4px;color:#6a6a6a;font-size:12px;font-weight:700;line-height:1.3;text-align:left}.empty-state[data-v-c342e36c],.state-block[data-v-c342e36c]{padding:28px 20px 10px;text-align:center;color:#6b7280}.shopping-state[data-v-c342e36c]{margin-top:var(--space-md)}.state-block--error[data-v-c342e36c]{color:#c13515}.missing-category-modal[data-v-c342e36c],.move-ingredient-modal[data-v-c342e36c],.create-list-modal[data-v-c342e36c]{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-lg);background:#1f293757;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:missingCategoryOverlayIn-c342e36c .18s ease-out}.missing-category-modal__card[data-v-c342e36c],.move-ingredient-modal__card[data-v-c342e36c],.create-list-modal__card[data-v-c342e36c]{width:100%;max-width:500px;max-height:min(76vh,640px);overflow:hidden;display:flex;flex-direction:column;background:var(--card-bg);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);animation:missingCategoryCardIn-c342e36c .24s cubic-bezier(.2,.8,.2,1)}.create-list-modal__card[data-v-c342e36c]{max-width:440px}.create-list-modal__header[data-v-c342e36c]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md) var(--space-lg);color:#fff;background:var(--primary)}.create-list-modal__header h2[data-v-c342e36c]{margin:0;font-size:var(--font-size-lg)}.create-list-modal__body[data-v-c342e36c]{padding:var(--space-lg)}.create-list-field[data-v-c342e36c]{display:flex;flex-direction:column;gap:var(--space-xs)}.create-list-field>span[data-v-c342e36c]{color:var(--text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.create-list-field input[data-v-c342e36c]{width:100%;min-height:44px;border:1px solid var(--border);border-radius:var(--radius-md)}.create-list-field input.create-list-field__input--error[data-v-c342e36c]{border-color:var(--danger);box-shadow:0 0 0 3px #ef44441f}.create-list-field input.create-list-field__input--error[data-v-c342e36c]:focus{border-color:var(--danger);box-shadow:0 0 0 3px #ef444429}.create-list-modal__error[data-v-c342e36c]{margin:var(--space-xs) 0 0;color:var(--danger);font-size:var(--font-size-sm);line-height:1.4}.create-list-modal__footer[data-v-c342e36c]{display:flex;justify-content:flex-end;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-top:1px solid var(--border-light);background:var(--bg)}@keyframes missingCategoryOverlayIn-c342e36c{0%{opacity:0}to{opacity:1}}@keyframes missingCategoryCardIn-c342e36c{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.missing-category-modal__header[data-v-c342e36c]{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--primary-gradient);color:#fff}.missing-category-modal__eyebrow[data-v-c342e36c]{display:block;margin-bottom:4px;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:1.2;opacity:.78}.missing-category-modal__header h2[data-v-c342e36c]{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);line-height:1.2}.missing-category-modal__header p[data-v-c342e36c]{margin:6px 0 0;font-size:var(--font-size-sm);line-height:1.4;opacity:.9}.missing-category-modal__close[data-v-c342e36c]{width:32px;height:32px;padding:0;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:#fff3;color:#fff;box-shadow:none;font-size:24px;line-height:1}.missing-category-modal__close[data-v-c342e36c]:hover:not(:disabled){background:#ffffff4d;transform:none;box-shadow:none;opacity:1}.missing-category-modal__body[data-v-c342e36c]{padding:var(--space-md) var(--space-lg);overflow-y:auto;-webkit-overflow-scrolling:touch}.missing-category-list[data-v-c342e36c]{display:flex;flex-direction:column;gap:var(--space-sm)}.missing-category-row[data-v-c342e36c]{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,320px);align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg)}.missing-category-row--dismissed[data-v-c342e36c]{opacity:.72}.missing-category-row__name[data-v-c342e36c]{min-width:0;color:var(--text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);word-break:break-word}.missing-category-row__actions[data-v-c342e36c]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-sm);align-items:center}.missing-category-row__select[data-v-c342e36c]{width:100%;font-size:var(--font-size-sm)}.missing-category-row__skip[data-v-c342e36c]{min-height:40px;padding:0 var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;color:var(--text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);white-space:nowrap;box-shadow:none}.missing-category-row__skip[data-v-c342e36c]:hover:not(:disabled){border-color:var(--primary);color:var(--primary);transform:none;box-shadow:var(--shadow-xs)}.missing-category-row__skip--undo[data-v-c342e36c]{border-color:#5658c93d;background:#5658c914;color:var(--primary)}.missing-category-modal__empty[data-v-c342e36c],.missing-category-modal__error[data-v-c342e36c]{margin:0;color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.5}.missing-category-modal__error[data-v-c342e36c]{margin-top:var(--space-md);color:var(--danger)}.missing-category-modal__footer[data-v-c342e36c]{display:flex;justify-content:flex-end;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-top:1px solid var(--border-light);background:var(--bg)}.move-ingredient-modal__header[data-v-c342e36c]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--primary-gradient);color:#fff}.move-ingredient-modal__header h2[data-v-c342e36c]{margin:0;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);line-height:1.3}.move-ingredient-modal__close[data-v-c342e36c]{width:32px;height:32px;padding:0;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:#fff3;color:#fff;box-shadow:none;font-size:24px;line-height:1}.move-ingredient-modal__close[data-v-c342e36c]:hover:not(:disabled){background:#ffffff4d;transform:none;box-shadow:none;opacity:1}.move-ingredient-modal__body[data-v-c342e36c]{padding:var(--space-lg)}.move-ingredient-modal__name[data-v-c342e36c]{margin:0 0 4px;color:var(--text);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);word-break:break-word}.move-ingredient-modal__hint[data-v-c342e36c]{margin:0 0 var(--space-md);color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.45}.move-list-options[data-v-c342e36c]{display:flex;flex-direction:column;gap:var(--space-sm)}.move-list-option[data-v-c342e36c]{width:100%;min-height:44px;padding:var(--space-sm) var(--space-md);border:2px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg);color:var(--text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-align:left;white-space:normal;box-shadow:none}.move-list-option[data-v-c342e36c]:hover:not(:disabled){border-color:var(--primary-light);transform:none;box-shadow:var(--shadow-xs);opacity:1}.move-list-option--active[data-v-c342e36c]{border-color:var(--primary);background:#fff;color:var(--primary)}.move-ingredient-modal__empty[data-v-c342e36c],.move-ingredient-modal__error[data-v-c342e36c]{margin:0;color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.5}.move-ingredient-modal__error[data-v-c342e36c]{margin-top:var(--space-md);color:var(--danger)}.move-ingredient-modal__footer[data-v-c342e36c]{display:flex;justify-content:flex-end;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-top:1px solid var(--border-light);background:var(--bg)}.btn[data-v-c342e36c]{min-height:42px;padding:0 var(--space-lg);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);box-shadow:none}.btn[data-v-c342e36c]:hover:not(:disabled){transform:none;box-shadow:var(--shadow-sm);opacity:1}.btn--secondary[data-v-c342e36c]{border:1px solid var(--border);background:#fff;color:var(--text)}.btn--primary[data-v-c342e36c]{background:var(--primary-gradient);color:#fff}@media(max-width:768px){.ingredients-view[data-v-c342e36c]{padding:16px 16px 92px}.shopping-header__main[data-v-c342e36c]{align-items:center}.shopping-lists-row[data-v-c342e36c]{align-items:center;width:100%}.shopping-lists-tabs[data-v-c342e36c]{flex:0 1 auto;max-width:calc(100% - 48px)}.missing-category-modal[data-v-c342e36c],.move-ingredient-modal[data-v-c342e36c]{align-items:flex-start;padding:96px var(--space-md) var(--space-md)}.missing-category-modal__card[data-v-c342e36c],.move-ingredient-modal__card[data-v-c342e36c]{max-width:460px;max-height:min(68vh,560px);border-radius:var(--radius-xl)}.missing-category-row[data-v-c342e36c]{grid-template-columns:1fr;gap:var(--space-sm)}.missing-category-row__actions[data-v-c342e36c]{grid-template-columns:1fr}.missing-category-modal__footer[data-v-c342e36c]{padding-bottom:calc(var(--space-md) + env(safe-area-inset-bottom))}}.archive-meals[data-v-c0895af7]{display:flex;flex-direction:column;gap:var(--space-md)}.archive-days-grid[data-v-c0895af7]{display:grid;grid-template-columns:1fr;gap:var(--space-lg)}.archive-day-card[data-v-c0895af7]{min-width:0;padding:var(--space-md);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);overflow:hidden}.archive-day-card__header[data-v-c0895af7]{display:flex;justify-content:space-between;align-items:center;margin:calc(var(--space-md) * -1) calc(var(--space-md) * -1) var(--space-md);padding:12px var(--space-md);background:var(--primary-soft);border-bottom:1px solid rgba(86,88,201,.16)}.archive-day-card__title[data-v-c0895af7]{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);text-transform:capitalize;color:var(--primary-dark)}.archive-day-card__count[data-v-c0895af7]{display:flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 8px;background:#fff;color:var(--primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);border-radius:var(--radius-full);border:1px solid rgba(86,88,201,.2);box-shadow:none}.archive-day-card__meals[data-v-c0895af7]{display:flex;flex-direction:column;gap:var(--space-sm)}.archive-day-card__empty[data-v-c0895af7]{color:var(--text-muted);font-size:var(--font-size-sm);padding:var(--space-sm) 0}.archive-day-card__empty p[data-v-c0895af7]{margin:0}.archive-meal-card[data-v-c0895af7]{position:relative;background:var(--card-bg);border:2px solid var(--border-light);border-radius:var(--radius-md);padding:var(--space-md);padding-left:calc(var(--space-md) + 4px);display:flex;gap:var(--space-sm);align-items:flex-start;box-shadow:var(--shadow-xs);transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease}.archive-meal-card[data-v-c0895af7]:hover{box-shadow:var(--shadow-md);border-color:var(--border)}.archive-meal-card__accent[data-v-c0895af7]{position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--primary-gradient);border-radius:var(--radius-md) 0 0 var(--radius-md)}.archive-meal-card__main[data-v-c0895af7]{flex:1;min-width:0}.archive-meal-card__title-row[data-v-c0895af7]{display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap;margin-bottom:4px}.archive-meal-card__name[data-v-c0895af7]{font-weight:var(--font-weight-semibold);margin:0;color:var(--text);font-size:var(--font-size-base);word-break:break-word;line-height:1.4}.meal-type-badge[data-v-c0895af7]{display:inline-flex;align-items:center;padding:2px 8px;background:var(--meal-type-bg-soft);color:var(--meal-type-text);border:1px solid var(--meal-type-border);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);white-space:nowrap;flex-shrink:0}.archive-meal-card__ingredients[data-v-c0895af7]{margin:0;font-size:var(--font-size-xs);color:var(--text-muted);line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.action-btn[data-v-c0895af7]{width:32px;height:32px;padding:0;border:none;background:transparent;cursor:pointer;border-radius:var(--radius-sm);transition:background-color .2s ease,color .2s ease,transform .2s ease;display:flex;align-items:center;justify-content:center;color:var(--text-muted);flex-shrink:0}.action-btn svg[data-v-c0895af7]{width:16px;height:16px}.action-btn[data-v-c0895af7]:hover{transform:scale(1.1)}.action-btn--add[data-v-c0895af7]:hover{background:#5658c91a;color:var(--primary)}.archive-meals__empty[data-v-c0895af7]{text-align:center;padding:var(--space-xl);color:var(--text-muted)}.archive-meals__empty p[data-v-c0895af7]{margin:0}@media(max-width:768px){.archive-meal-card[data-v-c0895af7]{padding:var(--space-sm);padding-left:calc(var(--space-sm) + 4px);gap:var(--space-xs)}.archive-meal-card__name[data-v-c0895af7]{font-size:var(--font-size-sm)}}@media(min-width:769px){.archive-days-grid[data-v-c0895af7]{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg)}}@media(min-width:1180px){.archive-days-grid[data-v-c0895af7]{grid-template-columns:repeat(4,minmax(0,1fr))}}.week-card[data-v-ac102115]{background:var(--color-surface);border-radius:var(--border-radius-lg);box-shadow:none;overflow:hidden;transition:border-color .2s ease,background-color .2s ease;border:1px solid rgba(229,231,235,.9)}.week-card[data-v-ac102115]:hover{border-color:var(--primary-light);background:#fdfdff}.week-card__header[data-v-ac102115]{display:flex;align-items:center;padding:var(--space-md) var(--space-lg);cursor:pointer;position:relative;gap:var(--space-md)}.week-card__info[data-v-ac102115]{flex:1;min-width:0;padding:0;color:inherit;background:transparent;border:0;border-radius:var(--radius-sm);box-shadow:none;text-align:left}.week-card__info[data-v-ac102115]:hover{color:inherit;background:transparent;box-shadow:none;transform:none}.week-card__title[data-v-ac102115]{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary);margin:0 0 var(--space-sm) 0}.week-card__stats[data-v-ac102115]{display:flex;gap:var(--space-lg);flex-wrap:wrap}.week-card__actions[data-v-ac102115]{display:flex;align-items:center;gap:var(--space-xs);margin-left:auto;flex-shrink:0}.stat[data-v-ac102115]{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.stat svg[data-v-ac102115]{width:16px;height:16px;opacity:.7}.week-card__delete[data-v-ac102115]{background:none;border:none;padding:var(--space-sm);cursor:pointer;color:var(--color-text-secondary);transition:background-color .2s ease,color .2s ease,transform .2s ease;border-radius:var(--border-radius-md);flex-shrink:0}.week-card__delete[data-v-ac102115]:hover{background:#ef44441a;color:#ef4444}.week-card__delete svg[data-v-ac102115]{width:18px;height:18px;display:block}.week-card__toggle[data-v-ac102115]{background:none;border:none;padding:var(--space-sm);cursor:pointer;color:var(--color-text-secondary);transition:background-color .2s ease,color .2s ease,transform .2s ease;border-radius:var(--border-radius-md)}.week-card__toggle[data-v-ac102115]:hover{background:var(--color-background);color:var(--color-primary)}.week-card__toggle svg[data-v-ac102115]{width:24px;height:24px;transition:transform .3s ease}.week-card__toggle--expanded svg[data-v-ac102115]{transform:rotate(180deg)}.week-card__copy-week[data-v-ac102115]{margin-bottom:var(--space-md)}.copy-week-btn[data-v-ac102115]{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);background:transparent;border:2px solid var(--color-primary);border-radius:var(--border-radius-md);color:var(--color-primary);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;width:100%;justify-content:center}.copy-week-btn[data-v-ac102115]:hover{background:var(--color-primary);color:#fff}.copy-week-btn svg[data-v-ac102115]{width:16px;height:16px;flex-shrink:0}.week-card__content[data-v-ac102115]{border-top:1px solid var(--color-border);padding:var(--space-lg) var(--space-xl) var(--space-xl);background:var(--bg);animation:slideDown-ac102115 .3s ease}@keyframes slideDown-ac102115{0%{opacity:0;max-height:0;padding-top:0;padding-bottom:0}to{opacity:1;max-height:2000px;padding-top:var(--space-lg);padding-bottom:var(--space-lg)}}@media(max-width:768px){.week-card__header[data-v-ac102115]{padding:var(--space-md);gap:var(--space-sm)}.week-card__title[data-v-ac102115]{font-size:var(--font-size-base);margin-bottom:6px}.week-card__content[data-v-ac102115]{padding:var(--space-md)}}.archives-list[data-v-cdae5024]{display:flex;flex-direction:column;gap:var(--space-md)}.archives-list__item[data-v-cdae5024]{animation:slideIn-cdae5024 .5s ease backwards;scroll-margin-top:var(--space-md)}@keyframes slideIn-cdae5024{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.modal-overlay[data-v-d3e24620]{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--space-lg);animation:fadeIn-d3e24620 .2s ease}@keyframes fadeIn-d3e24620{0%{opacity:0}to{opacity:1}}.copy-week-modal[data-v-d3e24620]{background:var(--card-bg, white);border-radius:var(--radius-xl, 16px);width:100%;max-width:420px;box-shadow:var(--shadow-xl);overflow:hidden;animation:slideUp-d3e24620 .3s cubic-bezier(.4,0,.2,1)}@keyframes slideUp-d3e24620{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.copy-week-modal__header[data-v-d3e24620]{padding:var(--space-lg);background:var(--primary-gradient);display:flex;justify-content:space-between;align-items:center}.copy-week-modal__header h3[data-v-d3e24620]{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold, 700);color:#fff}.copy-week-modal__close[data-v-d3e24620]{width:32px;height:32px}.copy-week-modal__close[data-v-d3e24620]:hover{background:#ffffff4d}.copy-week-modal__body[data-v-d3e24620]{padding:var(--space-lg)}.copy-week-modal__info[data-v-d3e24620]{margin:0 0 var(--space-md) 0;font-size:var(--font-size-sm);color:var(--text-muted)}.week-options[data-v-d3e24620]{display:flex;flex-direction:column;gap:var(--space-xs)}.week-option[data-v-d3e24620]{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:var(--space-sm) var(--space-md);background:var(--bg, white);border:2px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}.week-option[data-v-d3e24620]:hover{border-color:var(--primary)}.week-option--active[data-v-d3e24620]{border-color:var(--primary);background:var(--card-bg, white)}.week-option__label[data-v-d3e24620]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold, 600);color:var(--text)}.week-option--active .week-option__label[data-v-d3e24620]{color:var(--primary)}.week-option__range[data-v-d3e24620]{font-size:var(--font-size-xs);color:var(--text-muted)}.copy-week-modal__footer[data-v-d3e24620]{padding:var(--space-lg);border-top:1px solid var(--border-light);display:flex;gap:var(--space-md);justify-content:flex-end}.btn[data-v-d3e24620]{padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold, 600);cursor:pointer;border:none;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}.btn--secondary[data-v-d3e24620]{background:var(--bg, #f5f5f5);color:var(--text);border:1px solid var(--border)}.btn--secondary[data-v-d3e24620]:hover{background:var(--card-hover)}.btn--primary[data-v-d3e24620]{background:var(--primary-gradient);color:#fff}.btn--primary[data-v-d3e24620]:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-sm)}@media(max-width:768px){.modal-overlay[data-v-d3e24620]{padding:0;align-items:flex-end}.copy-week-modal[data-v-d3e24620]{max-width:100%;border-radius:var(--radius-xl) var(--radius-xl) 0 0}}.copy-week-overlay[data-v-c1e37424]{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.copy-week-progress[data-v-c1e37424]{background:#fff;border-radius:12px;padding:24px 32px;display:flex;align-items:center;gap:12px;font-size:16px;font-weight:600;box-shadow:0 8px 32px #0003}.copy-week-spinner[data-v-c1e37424]{width:24px;height:24px;animation:spin-c1e37424 1s linear infinite;color:var(--color-primary)}@keyframes spin-c1e37424{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.stats-panel[data-v-d143de5c]{display:flex;flex-direction:column;gap:var(--space-lg)}.stats-panel__intro p[data-v-d143de5c]{margin:0;color:var(--color-text-secondary)}.stats-panel__empty[data-v-d143de5c]{padding:var(--space-xl);border-radius:var(--radius-lg);background:var(--card-bg);color:var(--text-muted);text-align:center;box-shadow:var(--shadow-sm)}.stats-panel__empty p[data-v-d143de5c]{margin:0}.stats-summary[data-v-d143de5c]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:-2px}.summary-card[data-v-d143de5c]{display:flex;flex-direction:column;gap:6px;min-width:0;padding:10px 10px 9px;border-radius:12px;background:var(--card-bg);border:1px solid rgba(226,232,240,.9);box-shadow:var(--shadow-xs)}.summary-card--dish[data-v-d143de5c]{border-color:#5658c924}.summary-card--ingredient[data-v-d143de5c]{border-color:#0ea5e924}.summary-card__top[data-v-d143de5c]{display:flex;align-items:center;justify-content:space-between;gap:6px}.summary-card__label[data-v-d143de5c]{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;margin:0;line-height:1.1}.summary-card__dot[data-v-d143de5c]{width:7px;height:7px;border-radius:999px;flex-shrink:0}.summary-card--dish .summary-card__dot[data-v-d143de5c]{background:var(--primary)}.summary-card--ingredient .summary-card__dot[data-v-d143de5c]{background:var(--success)}.summary-card__value[data-v-d143de5c]{min-width:0;font-size:12px;color:var(--color-text-primary);line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.summary-card__meta[data-v-d143de5c]{margin:0;padding:2px 6px;border-radius:999px;font-size:9px;font-weight:var(--font-weight-semibold);white-space:nowrap;line-height:1.1;background:#0f172a0d}.summary-card--dish .summary-card__meta[data-v-d143de5c]{color:#5b5bd6;background:#5658c91a}.summary-card--ingredient .summary-card__meta[data-v-d143de5c]{color:#0f8aa6;background:#0ea5e91a}.stats-sections[data-v-d143de5c]{display:flex;flex-direction:column;gap:var(--space-lg)}.stats-section[data-v-d143de5c]{padding:var(--space-lg);border-radius:var(--radius-lg);background:var(--card-bg);box-shadow:var(--shadow-sm)}.stats-section__header[data-v-d143de5c]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-md)}.stats-section__header h3[data-v-d143de5c]{margin:0;font-size:var(--font-size-lg);color:var(--color-text-primary)}.stats-section__header span[data-v-d143de5c]{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.ranking-list[data-v-d143de5c]{display:flex;flex-direction:column;gap:var(--space-sm)}.ranking-item[data-v-d143de5c]{display:flex;gap:var(--space-sm);align-items:flex-start}.ranking-item__rank[data-v-d143de5c]{width:30px;height:30px;border-radius:999px;background:#5658c914;color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);flex-shrink:0}.ranking-item__content[data-v-d143de5c]{flex:1;min-width:0}.ranking-item__row[data-v-d143de5c]{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-sm)}.ranking-item__name[data-v-d143de5c]{font-size:var(--font-size-sm);color:var(--text);word-break:break-word}.ranking-item__count[data-v-d143de5c]{font-size:var(--font-size-xs);color:var(--text-muted);flex-shrink:0}.ranking-item__bar[data-v-d143de5c]{height:8px;margin-top:8px;border-radius:var(--radius-full);background:#94a3b829;overflow:hidden}.ranking-item__bar-fill[data-v-d143de5c]{display:block;height:100%;border-radius:inherit}.ranking-item__bar-fill--dish[data-v-d143de5c]{background:var(--primary)}.ranking-item__bar-fill--ingredient[data-v-d143de5c]{background:var(--success)}@media(min-width:769px){.stats-summary[data-v-d143de5c]{grid-template-columns:repeat(2,minmax(0,1fr))}}.history-view[data-v-ee11e702]{padding:var(--space-lg);padding-bottom:calc(var(--space-2xl) + 80px)}.history-tabs[data-v-ee11e702]{display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:100%;margin-bottom:var(--space-lg);padding:4px;background:#fffffff0;border:1px solid rgba(229,231,235,.95);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}.history-tabs__item[data-v-ee11e702]{min-height:42px;padding:0 var(--space-md);border:none;border-radius:calc(var(--radius-lg) - 4px);background:transparent;color:var(--text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);box-shadow:none}.history-tabs__item[data-v-ee11e702]:hover{transform:none;box-shadow:none;background:#5658c90f;color:var(--primary)}.history-tabs__item--active[data-v-ee11e702]{background:var(--primary-soft);color:var(--primary)}.empty-state[data-v-ee11e702]{text-align:center;padding:var(--space-2xl);animation:fadeInUp-ee11e702 .5s ease}.empty-icon[data-v-ee11e702]{width:80px;height:80px;margin:0 auto var(--space-lg);color:var(--color-text-secondary);opacity:.5}.empty-state h2[data-v-ee11e702]{font-size:var(--font-size-xl);font-weight:600;color:var(--color-text-primary);margin:0 0 var(--space-sm) 0}.empty-state p[data-v-ee11e702]{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0}@keyframes fadeInUp-ee11e702{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.history-view[data-v-ee11e702]{padding:var(--space-md)}}@media(min-width:1024px){.history-view[data-v-ee11e702]{padding:24px 28px;padding-bottom:var(--space-2xl);max-width:1400px;margin:0 auto}.history-tabs[data-v-ee11e702]{max-width:320px}}.controls-card[data-v-02cffb37]{margin-bottom:var(--space-lg);padding:12px;border-radius:var(--border-radius-md);background:#fffffff0;border:1px solid rgba(229,231,235,.95);box-shadow:var(--shadow-xs);position:sticky;top:var(--space-md);z-index:var(--z-sticky);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.controls-bar[data-v-02cffb37]{display:flex;gap:var(--space-sm);align-items:center}.search-box[data-v-02cffb37]{position:relative;flex:1}.search-box__icon[data-v-02cffb37]{position:absolute;left:14px;top:50%;width:18px;height:18px;color:var(--color-text-secondary);transform:translateY(-50%);pointer-events:none}.search-box__input[data-v-02cffb37]{min-height:44px;padding-left:44px;padding-right:44px}.search-box__clear[data-v-02cffb37]{position:absolute;top:50%;right:8px;width:32px;height:32px;padding:0;border:none;border-radius:999px;background:transparent;box-shadow:none;color:var(--color-text-secondary);transform:translateY(-50%)}.search-box__clear[data-v-02cffb37]:hover{background:#5658c914;color:var(--color-primary)}.search-box__clear svg[data-v-02cffb37]{width:16px;height:16px}.filter-toggle[data-v-02cffb37]{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;min-width:92px;min-height:44px;padding:0 14px;background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);box-shadow:none}.filter-toggle svg[data-v-02cffb37]{width:18px;height:18px}.filter-toggle[data-v-02cffb37]:hover{border-color:#5658c959}.filter-toggle--active[data-v-02cffb37]{color:var(--color-primary);border-color:#5658c94d;background:#5658c914}.filter-toggle__badge[data-v-02cffb37]{min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--color-primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.controls-active-filters[data-v-02cffb37]{margin-top:10px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;padding:8px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#f8fafcd9}.controls-active-filters__chips[data-v-02cffb37]{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.active-filter-chip[data-v-02cffb37]{display:inline-flex;align-items:center;gap:5px;max-width:100%;min-height:28px;padding:5px 9px;border-radius:999px;background:#fff;color:var(--color-text-primary);border:1px solid var(--color-border);font-size:12px;font-weight:600;line-height:1;box-shadow:none}.active-filter-chip span[data-v-02cffb37]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.active-filter-chip[data-v-02cffb37]:hover{border-color:#5658c94d;color:var(--color-primary)}.active-filter-chip--meal-type[data-v-02cffb37]{background:var(--meal-type-bg-soft);color:var(--meal-type-text);border:1px solid var(--meal-type-border)}.active-filter-chip--meal-type[data-v-02cffb37]:hover{background:var(--meal-type-bg-strong);color:var(--meal-type-text)}.active-filter-chip svg[data-v-02cffb37]{width:12px;height:12px}.controls-active-filters__clear[data-v-02cffb37]{padding:4px 0;border:none;background:transparent;color:var(--color-primary);font-size:var(--font-size-xs);font-weight:600;box-shadow:none;white-space:nowrap}.controls-active-filters__clear[data-v-02cffb37]:hover{color:var(--primary-dark)}.controls-summary[data-v-02cffb37]{margin-top:8px;display:flex;align-items:center;justify-content:flex-start;color:var(--color-text-secondary);font-size:var(--font-size-sm)}@media(max-width:768px){.controls-card[data-v-02cffb37]{top:10px;padding:10px;margin-bottom:12px;border-radius:14px}.controls-summary[data-v-02cffb37]{margin-top:6px;font-size:13px}.search-box__input[data-v-02cffb37]{min-height:42px;padding-left:40px}.search-box__icon[data-v-02cffb37]{left:12px;width:16px;height:16px}.filter-toggle[data-v-02cffb37]{min-width:56px;min-height:42px;padding:0 12px;gap:6px}.filter-toggle__label[data-v-02cffb37]{display:none}.controls-active-filters[data-v-02cffb37]{margin-top:8px;padding:6px;gap:6px}.controls-active-filters__chips[data-v-02cffb37]{gap:6px}.active-filter-chip[data-v-02cffb37]{min-height:26px;padding:4px 8px;font-size:11px}}.template-groups[data-v-7c2c638d]{display:flex;flex-direction:column;gap:var(--space-lg)}.template-group[data-v-7c2c638d]{min-width:0}.template-group__header[data-v-7c2c638d]{width:100%;min-height:48px;display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);padding:0;border:0;border-radius:var(--radius-md);background:transparent;color:var(--text);box-shadow:none;text-align:left}.template-group__header[data-v-7c2c638d]:hover:not(:disabled){background:transparent;box-shadow:none;transform:none}.template-group__icon[data-v-7c2c638d]{width:42px;height:42px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--meal-type-border);border-radius:var(--radius-md);background:var(--meal-type-bg-soft);color:var(--meal-type-text)}.template-group__icon svg[data-v-7c2c638d]{width:21px;height:21px}.template-group__heading[data-v-7c2c638d]{min-width:0;display:flex;align-items:baseline;gap:var(--space-sm)}.template-group__title[data-v-7c2c638d]{color:var(--text);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.template-group__count[data-v-7c2c638d]{color:var(--text-muted);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums}.template-group__toggle[data-v-7c2c638d]{width:36px;height:36px;margin-left:auto;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:var(--card-hover);color:var(--text-muted);transition:background-color .2s ease,color .2s ease}.template-group__header:hover .template-group__toggle[data-v-7c2c638d]{background:var(--primary-soft);color:var(--primary)}.template-group__toggle svg[data-v-7c2c638d]{width:18px;height:18px;transition:transform .2s ease}.template-group__chevron--collapsed[data-v-7c2c638d]{transform:rotate(-90deg)}.templates-list[data-v-7c2c638d]{display:grid;grid-template-columns:1fr;align-items:start;gap:var(--space-md)}.templates-list[data-v-7c2c638d]>*{animation:slideIn-7c2c638d .5s ease backwards}.template-card[data-v-7c2c638d]{background:var(--color-surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:none;padding:var(--space-md);position:relative;overflow:visible;display:flex;flex-direction:column;align-items:stretch;gap:var(--space-md);transition:border-color .2s ease,background-color .2s ease}.template-card__main[data-v-7c2c638d]{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-md);align-items:stretch;padding:0;background:transparent;color:var(--text);box-shadow:none;text-align:left;white-space:normal}.template-card__main--with-photo[data-v-7c2c638d]{grid-template-columns:86px minmax(0,1fr)}.template-card__main[data-v-7c2c638d]:hover:not(:disabled){transform:none;box-shadow:none;opacity:1}.template-card__photo[data-v-7c2c638d]{min-height:92px;display:grid;place-items:center;overflow:hidden;border-radius:var(--radius-sm);background:#fff1e8}.template-card__photo img[data-v-7c2c638d]{width:100%;height:100%;min-height:92px;object-fit:cover}.template-card[data-v-7c2c638d]:hover{border-color:var(--primary-light);background:#fdfdff}.template-card--just-added[data-v-7c2c638d]{animation:cardJustAdded-7c2c638d 1.5s ease}@keyframes cardJustAdded-7c2c638d{0%{box-shadow:0 0 #5658c980}50%{box-shadow:0 0 0 8px #5658c900}to{box-shadow:var(--shadow-md)}}.template-card__content[data-v-7c2c638d]{flex:1;min-width:0}.template-card__name[data-v-7c2c638d]{display:block;font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary);margin:0 0 var(--space-xs) 0}.template-card__meal-types[data-v-7c2c638d]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--space-xs)}.template-card__meal-type-chip[data-v-7c2c638d]{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;border:1px solid var(--meal-type-border);background:var(--meal-type-bg-soft);color:var(--meal-type-text);font-size:11px;font-weight:600;line-height:1}.template-card__ingredients[data-v-7c2c638d]{display:-webkit-box;margin:0;font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1.4;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.template-card__meta[data-v-7c2c638d]{display:flex;flex-wrap:wrap;gap:5px;margin-top:var(--space-sm)}.template-card__meta>span[data-v-7c2c638d]{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:var(--radius-full);background:#ecfdf5;color:#047857;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.template-card__actions[data-v-7c2c638d]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-top:auto;padding-top:var(--space-sm);border-top:1px solid var(--border-light)}.template-card__primary-action[data-v-7c2c638d]{min-height:38px;display:inline-flex;align-items:center;gap:7px;padding:0 var(--space-md);background:var(--primary-soft);color:var(--primary-dark);box-shadow:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.template-card__primary-action svg[data-v-7c2c638d]{width:16px;height:16px}.template-card__primary-action[data-v-7c2c638d]:hover{background:#e4e5ff;box-shadow:none;transform:none}.template-card__menu[data-v-7c2c638d]{position:relative}.template-card__menu summary[data-v-7c2c638d]{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;list-style:none}.template-card__menu summary[data-v-7c2c638d]::-webkit-details-marker{display:none}.template-card__menu summary[data-v-7c2c638d]:hover{color:var(--text);background:var(--card-hover)}.template-card__menu summary svg[data-v-7c2c638d]{width:18px;height:18px}.template-card__menu-popover[data-v-7c2c638d]{position:absolute;right:0;bottom:calc(100% + 6px);z-index:var(--z-popover);min-width:132px;padding:6px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.template-card__menu-popover button[data-v-7c2c638d]{width:100%;min-height:36px;padding:0 10px;justify-content:flex-start;background:transparent;color:var(--text);box-shadow:none;text-align:left;font-size:var(--font-size-sm);display:flex;align-items:center}.template-card__menu-popover button[data-v-7c2c638d]:hover{background:var(--card-hover);box-shadow:none;transform:none}.template-card__menu-popover .template-card__delete[data-v-7c2c638d]{color:var(--danger)}@keyframes slideIn-7c2c638d{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.template-groups[data-v-7c2c638d]{gap:var(--space-md)}.template-group__header[data-v-7c2c638d]{min-height:44px}.template-group__icon[data-v-7c2c638d]{width:38px;height:38px}.template-group__icon svg[data-v-7c2c638d]{width:19px;height:19px}.template-group__title[data-v-7c2c638d]{font-size:var(--font-size-base)}.template-card[data-v-7c2c638d]{padding:14px}}@media(min-width:769px){.templates-list[data-v-7c2c638d]{grid-template-columns:repeat(2,1fr);gap:var(--space-md)}}@media(prefers-reduced-motion:reduce){.template-group__toggle[data-v-7c2c638d],.template-group__toggle svg[data-v-7c2c638d]{transition:none}}.filters-overlay[data-v-ec4640f6]{position:fixed;inset:0;background:#0f172a59;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center;padding:var(--space-lg);z-index:var(--z-modal);animation:fadeIn-ec4640f6 .2s ease}.filters-modal[data-v-ec4640f6]{width:min(720px,100%);max-height:min(80vh,720px);overflow:auto;background:var(--color-surface);border-radius:24px;padding:var(--space-xl);box-shadow:var(--shadow-xl);animation:slideUp-ec4640f6 .25s ease}.filters-modal__header[data-v-ec4640f6]{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-lg)}.filters-modal__header h3[data-v-ec4640f6]{margin:0 0 4px;font-size:22px;color:var(--color-text-primary)}.filters-modal__header p[data-v-ec4640f6]{margin:0;color:var(--color-text-secondary)}.filters-modal__close[data-v-ec4640f6]{width:40px;height:40px;padding:0;border-radius:999px;background:#0f172a0a;color:var(--color-text-secondary);box-shadow:none;flex-shrink:0}.filters-modal__close[data-v-ec4640f6]:hover{background:#5658c914;color:var(--color-primary)}.filters-modal__close svg[data-v-ec4640f6]{width:18px;height:18px}.filters-section+.filters-section[data-v-ec4640f6]{margin-top:var(--space-xl)}.filters-section h4[data-v-ec4640f6]{margin:0 0 var(--space-sm) 0;font-size:var(--font-size-base);color:var(--color-text-primary)}.filters-section__header[data-v-ec4640f6]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-sm)}.filters-section__header span[data-v-ec4640f6],.filters-section__empty[data-v-ec4640f6]{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.filters-chips[data-v-ec4640f6]{display:flex;flex-wrap:wrap;gap:10px}.meal-type-filter-grid[data-v-ec4640f6]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.meal-type-filter[data-v-ec4640f6]{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:34px;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-full);background:#fff;color:var(--text);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);box-shadow:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meal-type-filter[data-v-ec4640f6]:hover{border-color:var(--meal-type-border);background:var(--meal-type-bg-soft);color:var(--meal-type-text)}.meal-type-filter--active[data-v-ec4640f6]{background:var(--meal-type-bg-strong);border-color:var(--meal-type-border);color:var(--meal-type-text);box-shadow:inset 0 0 0 1px var(--meal-type-border),0 0 0 2px var(--meal-type-bg-soft);transform:translateY(-1px)}.meal-type-filter--active[data-v-ec4640f6]:before{content:"✓";flex-shrink:0;font-size:11px;font-weight:var(--font-weight-bold);line-height:1}.ingredient-search[data-v-ec4640f6]{position:relative;margin-bottom:var(--space-md)}.ingredient-search__icon[data-v-ec4640f6]{position:absolute;left:14px;top:50%;width:18px;height:18px;color:var(--color-text-secondary);transform:translateY(-50%);pointer-events:none}.ingredient-search__input[data-v-ec4640f6]{min-height:44px;padding-left:44px;padding-right:44px}.ingredient-search__clear[data-v-ec4640f6]{position:absolute;top:50%;right:8px;width:32px;height:32px;padding:0;border:none;border-radius:999px;background:transparent;box-shadow:none;color:var(--color-text-secondary);transform:translateY(-50%)}.ingredient-search__clear[data-v-ec4640f6]:hover{background:#5658c914;color:var(--color-primary)}.ingredient-search__clear svg[data-v-ec4640f6]{width:16px;height:16px}.filters-chips--ingredients[data-v-ec4640f6]{max-height:280px;overflow:auto;padding-right:4px}.filter-chip[data-v-ec4640f6]{padding:10px 14px;border-radius:999px;background:#5658c90d;color:var(--color-text-primary);border:1px solid transparent;box-shadow:none}.filter-chip[data-v-ec4640f6]:hover{background:#5658c91f;color:var(--color-primary)}.filter-chip--active[data-v-ec4640f6]{background:#5658c924;border-color:#5658c94d;color:var(--color-primary)}.filter-chip--active[data-meal-type][data-v-ec4640f6]{background:var(--meal-type-bg-strong);border-color:var(--meal-type-border);color:var(--meal-type-text);box-shadow:inset 0 0 0 1px var(--meal-type-border)}.filter-chip--ingredient[data-v-ec4640f6]{font-size:var(--font-size-sm)}.filters-modal__footer[data-v-ec4640f6]{margin-top:var(--space-xl);display:flex;gap:var(--space-md)}.btn[data-v-ec4640f6]{flex:1;padding:var(--space-md) var(--space-lg);border:none;border-radius:var(--border-radius-md);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}.btn--secondary[data-v-ec4640f6]{background:#f3f4f6;color:var(--color-text-primary);box-shadow:none}.btn--secondary[data-v-ec4640f6]:hover:not(:disabled){background:#e5e7eb}.btn--primary[data-v-ec4640f6]{background:var(--primary);color:#fff}@keyframes fadeIn-ec4640f6{0%{opacity:0}to{opacity:1}}@keyframes slideUp-ec4640f6{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.filters-overlay[data-v-ec4640f6]{padding:0;align-items:flex-end}.filters-modal[data-v-ec4640f6]{max-height:85vh;border-radius:24px 24px 0 0;padding:var(--space-lg)}.filters-modal__footer[data-v-ec4640f6]{flex-direction:column-reverse}}.modal-overlay[data-v-6959a97c]{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--space-lg);animation:fadeIn-6959a97c .2s ease}.confirm-modal[data-v-6959a97c]{background:var(--color-surface);border-radius:var(--border-radius-lg);padding:var(--space-xl);max-width:400px;width:100%;box-shadow:var(--shadow-xl);animation:slideUp-6959a97c .3s ease}.confirm-modal h3[data-v-6959a97c]{font-size:var(--font-size-xl);font-weight:600;color:var(--color-text-primary);margin:0 0 var(--space-md) 0}.confirm-modal p[data-v-6959a97c]{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0 0 var(--space-lg) 0}.confirm-modal__actions[data-v-6959a97c]{display:flex;gap:var(--space-md)}.btn[data-v-6959a97c]{flex:1;padding:var(--space-md) var(--space-lg);border:none;border-radius:var(--border-radius-md);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:background-color .2s ease,color .2s ease,transform .2s ease}.btn--secondary[data-v-6959a97c]{background:#f3f4f6;color:var(--color-text-primary);box-shadow:none}.btn--secondary[data-v-6959a97c]:hover:not(:disabled){background:#e5e7eb}.btn--primary[data-v-6959a97c]{background:var(--primary);color:#fff}.btn--primary.btn--danger[data-v-6959a97c]{background:var(--danger)}@keyframes fadeIn-6959a97c{0%{opacity:0}to{opacity:1}}@keyframes slideUp-6959a97c{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.recipe-editor[data-v-d20a9fb6]{max-width:1080px;margin:0 auto;color:var(--text)}.recipe-editor__header[data-v-d20a9fb6]{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg)}.recipe-editor__header h1[data-v-d20a9fb6]{margin:0;font-size:var(--font-size-xl);line-height:1.2}.recipe-editor__header p[data-v-d20a9fb6],.recipe-section__title-row p[data-v-d20a9fb6]{margin:2px 0 0;color:var(--text-muted);font-size:var(--font-size-sm)}.recipe-editor__back svg[data-v-d20a9fb6]{width:20px;height:20px}.recipe-editor__columns[data-v-d20a9fb6],.recipe-editor__stack[data-v-d20a9fb6],.recipe-editor__form[data-v-d20a9fb6]{display:grid;gap:var(--space-md)}.recipe-stages[data-v-d20a9fb6]{display:grid;gap:0}.recipe-section[data-v-d20a9fb6]{padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card-bg)}.recipe-section h2[data-v-d20a9fb6]{margin:0;font-size:var(--font-size-lg)}.recipe-section__title-row[data-v-d20a9fb6]{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-md)}.recipe-section__title-row>span[data-v-d20a9fb6]{color:var(--text-muted);font-variant-numeric:tabular-nums}.recipe-field[data-v-d20a9fb6]{display:grid;gap:6px;margin-top:12px}.recipe-field>span[data-v-d20a9fb6],.recipe-fieldset legend[data-v-d20a9fb6]{color:var(--text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.recipe-field small[data-v-d20a9fb6]{font-weight:var(--font-weight-normal)}.recipe-field input[data-v-d20a9fb6],.recipe-field textarea[data-v-d20a9fb6]{min-height:46px;padding:10px 12px;border-width:1px;border-radius:var(--radius-sm);background:var(--bg)}.recipe-field input[type=number][data-v-d20a9fb6]{appearance:textfield;font-variant-numeric:tabular-nums}.recipe-field input[type=number][data-v-d20a9fb6]::-webkit-inner-spin-button,.recipe-field input[type=number][data-v-d20a9fb6]::-webkit-outer-spin-button{margin:0;appearance:none}.recipe-field textarea[data-v-d20a9fb6]{line-height:1.5;resize:vertical}.recipe-field[data-v-d20a9fb6] .app-select__trigger{min-height:46px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--bg)}.recipe-field--short[data-v-d20a9fb6]{max-width:11rem}.recipe-fieldset[data-v-d20a9fb6]{min-width:0;margin-top:var(--space-md);padding:0;border:0}.meal-type-options[data-v-d20a9fb6]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm);margin-top:6px}.meal-type-option[data-v-d20a9fb6]{min-height:42px;padding:0 var(--space-sm);border:1px solid var(--border);background:var(--card-bg);color:var(--text-muted);box-shadow:none}.meal-type-option--selected[data-v-d20a9fb6]{border-color:var(--meal-type-border);background:var(--meal-type-bg-soft);color:var(--meal-type-text);box-shadow:inset 0 0 0 1px var(--meal-type-border)}.recipe-editor__short-fields[data-v-d20a9fb6]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}.recipe-photo[data-v-d20a9fb6]{position:relative;min-height:150px;display:grid;place-items:center;margin-top:var(--space-md);overflow:hidden;border:1px dashed var(--primary-light);border-radius:var(--radius-md);background:var(--primary-soft);color:var(--primary);cursor:pointer}.recipe-photo input[data-v-d20a9fb6]{position:absolute;width:1px;height:1px;opacity:0}.recipe-photo img[data-v-d20a9fb6]{width:100%;max-height:280px;object-fit:cover}.recipe-photo__placeholder[data-v-d20a9fb6]{display:grid;justify-items:center;gap:var(--space-xs);padding:var(--space-lg);text-align:center}.recipe-photo__placeholder svg[data-v-d20a9fb6]{width:34px;height:34px}.recipe-photo__placeholder small[data-v-d20a9fb6]{color:var(--text-muted)}.recipe-editor__text-action[data-v-d20a9fb6]{min-height:36px;margin-top:var(--space-sm);padding:0;background:transparent;color:var(--primary);box-shadow:none}.recipe-editor__ingredient-input[data-v-d20a9fb6]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-sm)}.recipe-editor__add-button[data-v-d20a9fb6],.recipe-editor__secondary[data-v-d20a9fb6],.recipe-editor__primary[data-v-d20a9fb6]{min-height:42px;padding:0 var(--space-md)}.recipe-editor__secondary[data-v-d20a9fb6]{border:1px solid var(--border);background:var(--card-bg);color:var(--text);box-shadow:none}.recipe-ingredients[data-v-d20a9fb6]{display:grid;gap:var(--space-sm);margin-top:var(--space-md)}.recipe-ingredient[data-v-d20a9fb6]{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-sm);min-width:0;padding:var(--space-sm);border-top:1px solid var(--border-light)}.recipe-ingredient>span[data-v-d20a9fb6]{overflow-wrap:anywhere}.recipe-ingredient__remove[data-v-d20a9fb6]{color:var(--danger)!important;font-size:var(--font-size-lg)}.recipe-section__empty[data-v-d20a9fb6]{display:grid;gap:2px;margin:var(--space-md) 0 0;color:var(--text-muted);font-size:var(--font-size-sm)}.recipe-section__empty--large[data-v-d20a9fb6]{justify-items:center;padding:var(--space-xl) var(--space-md);border:1px dashed var(--border);border-radius:var(--radius-md);text-align:center}.recipe-stage[data-v-d20a9fb6]{padding:var(--space-lg) 0;border-bottom:1px solid var(--border)}.recipe-stage[data-v-d20a9fb6]:first-child{padding-top:0}.recipe-stage[data-v-d20a9fb6]:last-child{padding-bottom:var(--space-md);border-bottom-color:var(--border-light)}.recipe-stage__header[data-v-d20a9fb6]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding-bottom:var(--space-sm)}.recipe-stage__identity[data-v-d20a9fb6]{display:flex;align-items:center;gap:10px}.recipe-stage__identity>div[data-v-d20a9fb6]{display:grid;gap:1px}.recipe-stage__identity>div>span[data-v-d20a9fb6]{color:var(--text-muted);font-size:var(--font-size-xs)}.recipe-stage__number[data-v-d20a9fb6]{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:var(--radius-sm);background:var(--primary-soft);color:var(--primary-dark);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums}.recipe-stage__remove[data-v-d20a9fb6],.air-fryer-basket__remove[data-v-d20a9fb6]{width:40px;height:40px;min-height:40px;background:transparent!important;box-shadow:none}.recipe-stage__panel[data-v-d20a9fb6],.air-fryer-basket[data-v-d20a9fb6]{padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg)}.recipe-stage__panel--text .recipe-field[data-v-d20a9fb6],.recipe-stage__panel .recipe-field[data-v-d20a9fb6]:first-child{margin-top:0}.recipe-stage__panel .recipe-field input[data-v-d20a9fb6],.recipe-stage__panel .recipe-field textarea[data-v-d20a9fb6],.air-fryer-basket .recipe-field input[data-v-d20a9fb6],.recipe-stage__panel .recipe-field[data-v-d20a9fb6] .app-select__trigger,.air-fryer-basket .recipe-field[data-v-d20a9fb6] .app-select__trigger{background:var(--card-bg)}.stage-add-menu[data-v-d20a9fb6]{position:relative;flex:0 0 auto}.stage-add-menu__trigger[data-v-d20a9fb6]{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.stage-add-menu__trigger svg[data-v-d20a9fb6]{width:16px;height:16px;transition:transform .18s ease}.stage-add-menu__trigger[aria-expanded=true][data-v-d20a9fb6]{border-color:var(--primary-light);background:var(--primary-soft);color:var(--primary-dark)}.stage-add-menu__trigger[aria-expanded=true] svg[data-v-d20a9fb6]{transform:rotate(180deg)}.stage-add-menu__popover[data-v-d20a9fb6]{position:absolute;z-index:var(--z-popover);top:calc(100% + 6px);right:0;width:min(240px,calc(100vw - 48px));display:grid;gap:2px;padding:6px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card-bg);box-shadow:var(--shadow-lg)}.stage-add-menu--bottom[data-v-d20a9fb6]{display:flex;justify-content:flex-end;margin-top:var(--space-md)}.stage-add-menu--bottom .stage-add-menu__trigger[data-v-d20a9fb6]{width:100%;justify-content:center}.stage-add-menu--bottom .stage-add-menu__popover[data-v-d20a9fb6]{top:auto;bottom:calc(100% + 6px)}.stage-add-menu__popover button[data-v-d20a9fb6]{min-height:42px;justify-content:flex-start;padding:0 12px;border-radius:var(--radius-sm);background:transparent;color:var(--text);box-shadow:none;text-align:left}.stage-add-menu__popover button[data-v-d20a9fb6]:hover,.stage-add-menu__popover button[data-v-d20a9fb6]:focus-visible{background:var(--primary-soft);color:var(--primary-dark)}.air-fryer-baskets[data-v-d20a9fb6]{display:grid;gap:var(--space-md);margin-top:var(--space-xs)}.air-fryer-basket__title[data-v-d20a9fb6]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.air-fryer-basket__title strong[data-v-d20a9fb6]{font-size:var(--font-size-md)}.air-fryer-basket__title>div[data-v-d20a9fb6]{display:grid;gap:1px}.air-fryer-basket__title span[data-v-d20a9fb6]{color:var(--primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.air-fryer-basket__remove[data-v-d20a9fb6]{color:var(--danger)!important;font-size:var(--font-size-lg)}.air-fryer-basket__add[data-v-d20a9fb6]{min-height:42px;border:1px dashed var(--primary-light);background:var(--primary-soft);color:var(--primary-dark);box-shadow:none}.recipe-editor__error[data-v-d20a9fb6]{margin:0;padding:10px 12px;border-radius:var(--radius-sm);background:#fef2f2;color:#b91c1c}.recipe-editor__footer[data-v-d20a9fb6]{display:grid;grid-template-columns:1fr 1.4fr;gap:var(--space-sm);padding-bottom:calc(var(--space-xl) + env(safe-area-inset-bottom))}@media(min-width:768px){.meal-type-options[data-v-d20a9fb6]{grid-template-columns:repeat(4,minmax(0,1fr))}.air-fryer-baskets[data-v-d20a9fb6]:has(.air-fryer-basket+.air-fryer-basket){grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-lg)}.stage-add-menu--bottom .stage-add-menu__trigger[data-v-d20a9fb6]{width:auto}}@media(min-width:1024px){.recipe-editor__columns[data-v-d20a9fb6]{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start}.recipe-editor__footer[data-v-d20a9fb6]{display:flex;justify-content:flex-end}.recipe-editor__footer button[data-v-d20a9fb6]{min-width:150px}}.recipe-detail[data-v-6764464c]{position:relative;max-width:1080px;margin:0 auto;padding-bottom:76px;color:var(--text)}.recipe-detail__topbar[data-v-6764464c]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.recipe-detail__topbar svg[data-v-6764464c]{width:20px;height:20px}.recipe-detail__topbar--overlay[data-v-6764464c]{position:absolute;z-index:2;top:var(--space-md);right:var(--space-md);left:var(--space-md);margin:0;pointer-events:none}.recipe-detail__round-action[data-v-6764464c]{border-radius:50%;background:var(--card-bg);color:var(--text);box-shadow:var(--shadow-sm);pointer-events:auto}.recipe-detail__round-action[data-v-6764464c]:hover{background:var(--card-hover)}.recipe-detail__primary[data-v-6764464c]{min-height:46px;padding:0 var(--space-md)}.recipe-detail__hero[data-v-6764464c]{height:clamp(210px,32vw,360px);overflow:hidden;border-radius:var(--radius-lg);background:var(--card-hover)}.recipe-detail__hero img[data-v-6764464c]{width:100%;height:100%;display:block;object-fit:cover}.recipe-detail__body[data-v-6764464c]{padding:var(--space-lg) 0 var(--space-2xl)}.recipe-detail__intro h1[data-v-6764464c]{margin:var(--space-sm) 0 0;font-size:var(--font-size-xl);line-height:1.2;text-wrap:balance}.recipe-detail__intro>p[data-v-6764464c]{max-width:65ch;margin:var(--space-sm) 0 0;color:var(--text-muted)}.recipe-detail__meal-types[data-v-6764464c]{display:flex;flex-wrap:wrap;gap:6px}.recipe-detail__meal-types span[data-v-6764464c]{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.recipe-detail__meal-types span[data-v-6764464c]{border:1px solid var(--meal-type-border);background:var(--meal-type-bg-soft);color:var(--meal-type-text)}.recipe-detail__facts[data-v-6764464c]{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-md);margin-top:12px;color:var(--text-muted)}.recipe-detail__facts span[data-v-6764464c]{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-size-sm)}.recipe-detail__facts svg[data-v-6764464c]{width:18px;height:18px}.recipe-detail__facts strong[data-v-6764464c]{color:var(--text);font-weight:var(--font-weight-medium)}.recipe-detail__primary[data-v-6764464c]{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm)}.recipe-detail__primary svg[data-v-6764464c]{width:18px;height:18px}.recipe-detail__columns[data-v-6764464c]{display:grid;gap:var(--space-xl);margin-top:var(--space-xl)}.recipe-detail__section[data-v-6764464c]{min-width:0}.recipe-detail__section h2[data-v-6764464c]{margin:0 0 var(--space-md);font-size:var(--font-size-lg)}.recipe-detail__ingredients[data-v-6764464c]{padding-bottom:var(--space-xl);border-bottom:1px solid var(--border)}.recipe-detail__ingredients ul[data-v-6764464c]{margin:0;padding:0;list-style:none}.recipe-detail__ingredients li[data-v-6764464c]{display:flex;justify-content:space-between;gap:var(--space-md);padding:10px 0;border-bottom:1px solid var(--border-light)}.recipe-detail__ingredients li[data-v-6764464c]:last-child{border-bottom:0}.recipe-detail__steps[data-v-6764464c]{display:grid;gap:0;margin:0;padding:0;list-style:none}.recipe-detail__steps>li[data-v-6764464c]{position:relative;display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px;padding:0 0 var(--space-lg)}.recipe-detail__steps>li[data-v-6764464c]:not(:last-child):before{content:"";position:absolute;top:32px;bottom:0;left:15.5px;width:1px;background:var(--border)}.recipe-detail__step-number[data-v-6764464c]{position:relative;width:32px;height:32px;display:grid;place-items:center;border-radius:var(--radius-full);background:var(--primary-soft);color:var(--primary-dark);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums}.recipe-detail__step-content[data-v-6764464c]{min-width:0;padding-top:3px}.recipe-detail__step-method[data-v-6764464c]{display:block;margin-bottom:6px;color:var(--primary-dark);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.recipe-detail__step-content>p[data-v-6764464c]{max-width:65ch;margin:0;line-height:1.55;white-space:pre-line;text-wrap:pretty}.recipe-detail__step-content>.recipe-detail__step-meta[data-v-6764464c]{margin-top:6px;color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.4}.recipe-detail__baskets[data-v-6764464c]{display:grid;gap:var(--space-sm);margin:0;padding:0;list-style:none}.recipe-detail__baskets li[data-v-6764464c]{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-sm);padding:6px 0;border-bottom:1px solid var(--border-light)}.recipe-detail__baskets li[data-v-6764464c]:last-child{border-bottom:0}.recipe-detail__baskets span[data-v-6764464c]{color:var(--text-muted)}.recipe-detail__empty[data-v-6764464c]{display:grid;gap:2px;padding:var(--space-xl) var(--space-md);border:1px dashed var(--border);border-radius:var(--radius-md);color:var(--text-muted);text-align:center}.recipe-detail__action-bar[data-v-6764464c]{position:fixed;z-index:var(--z-sticky);right:0;bottom:calc(72px + env(safe-area-inset-bottom));left:0;padding:10px max(var(--space-md),env(safe-area-inset-right)) 10px max(var(--space-md),env(safe-area-inset-left));border-top:1px solid var(--border-light);background:#fffffff5;box-shadow:0 -8px 24px #1f29370f;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.recipe-detail__action-bar-inner[data-v-6764464c]{width:100%;max-width:1080px;margin:0 auto}@media(max-width:768px){.recipe-detail[data-v-6764464c]{max-width:none;margin:calc(-1 * var(--space-md))}.recipe-detail__topbar[data-v-6764464c]:not(.recipe-detail__topbar--overlay){padding:var(--space-md) var(--space-md) 0}.recipe-detail__topbar--overlay[data-v-6764464c]{top:max(var(--space-md),env(safe-area-inset-top))}.recipe-detail__hero[data-v-6764464c]{height:clamp(280px,82vw,390px);border-radius:0}.recipe-detail__body[data-v-6764464c]{padding-right:var(--space-md);padding-left:var(--space-md);background:var(--card-bg)}.recipe-detail__body--over-hero[data-v-6764464c]{position:relative;margin-top:calc(-1 * var(--space-lg));border-radius:var(--radius-xl) var(--radius-xl) 0 0}.recipe-detail__action-bar[data-v-6764464c]{bottom:calc(68px + env(safe-area-inset-bottom))}}@media(min-width:768px){.recipe-detail__intro h1[data-v-6764464c]{font-size:var(--font-size-2xl)}.recipe-detail__columns[data-v-6764464c]{grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);align-items:start}.recipe-detail__ingredients[data-v-6764464c]{padding:0 var(--space-xl) 0 0;border-right:1px solid var(--border);border-bottom:0}.recipe-detail__action-bar-inner[data-v-6764464c]{display:flex;justify-content:flex-end}.recipe-detail__primary[data-v-6764464c]{width:auto;min-width:220px}}@media(min-width:1024px){.recipe-detail__action-bar[data-v-6764464c]{bottom:0;left:200px}}.dishes-view[data-v-2e1ddbd6]{padding:var(--space-lg);padding-bottom:calc(var(--space-2xl) + 80px)}.dishes-view__desktop-action[data-v-2e1ddbd6]{display:none}.empty-state[data-v-2e1ddbd6]{text-align:center;padding:var(--space-xl);border:1px dashed var(--border);border-radius:var(--radius-lg);background:#ffffff80;animation:fadeInUp-2e1ddbd6 .3s ease}.empty-icon[data-v-2e1ddbd6]{width:40px;height:40px;margin:0 auto var(--space-md);color:var(--color-text-secondary);opacity:.5}.empty-state h2[data-v-2e1ddbd6]{font-size:var(--font-size-xl);font-weight:600;color:var(--color-text-primary);margin:0 0 var(--space-sm) 0}.empty-state p[data-v-2e1ddbd6]{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0}.empty-state--filtered[data-v-2e1ddbd6]{background:#ffffff80}.empty-state__action[data-v-2e1ddbd6]{margin-top:var(--space-lg);width:auto}.fab[data-v-2e1ddbd6]{position:fixed;bottom:calc(92px + env(safe-area-inset-bottom));right:var(--space-xl);width:56px;height:56px;border-radius:50%;background:var(--primary);border:none;box-shadow:var(--shadow-lg);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease,box-shadow .2s ease,transform .2s ease;z-index:calc(var(--z-nav) + 1)}.fab[data-v-2e1ddbd6]:hover{transform:scale(1.1);box-shadow:var(--shadow-xl)}.fab[data-v-2e1ddbd6]:active{transform:scale(.95)}.fab__icon[data-v-2e1ddbd6]{width:24px;height:24px;color:#fff}.btn[data-v-2e1ddbd6]{padding:var(--space-md) var(--space-lg);border:none;border-radius:var(--border-radius-md);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:background-color .2s ease,color .2s ease,transform .2s ease}.btn--secondary[data-v-2e1ddbd6]{background:#f3f4f6;color:var(--color-text-primary);box-shadow:none}.btn--secondary[data-v-2e1ddbd6]:hover:not(:disabled){background:#e5e7eb}@keyframes fadeInUp-2e1ddbd6{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.dishes-view[data-v-2e1ddbd6]{padding:var(--space-md);padding-bottom:calc(var(--space-2xl) + 84px)}.fab[data-v-2e1ddbd6]{bottom:calc(92px + env(safe-area-inset-bottom));right:var(--space-lg)}}@media(min-width:1024px){.dishes-view[data-v-2e1ddbd6]{padding:24px 28px;padding-bottom:var(--space-2xl);max-width:1400px;margin:0 auto}.fab[data-v-2e1ddbd6]{display:none}.dishes-view__desktop-action[data-v-2e1ddbd6]{display:flex;justify-content:flex-end;margin-bottom:var(--space-sm)}.dishes-view__desktop-action button[data-v-2e1ddbd6]{min-height:42px;padding:0 var(--space-lg)}}.basket-mock[data-v-8e58bfb7]{min-width:0}.basket-mock__header[data-v-8e58bfb7]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-sm)}.basket-mock__header strong[data-v-8e58bfb7]{font-size:var(--font-size-base)}.basket-mock__header button[data-v-8e58bfb7]{width:36px;height:36px;min-height:36px;padding:0;background:transparent;color:var(--danger);box-shadow:none}.basket-mock__field[data-v-8e58bfb7]{display:grid;gap:6px;margin-top:var(--space-sm);color:var(--text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.basket-mock__field small[data-v-8e58bfb7]{font-weight:var(--font-weight-normal)}.basket-mock__short-fields[data-v-8e58bfb7]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}.basket-mock__control[data-v-8e58bfb7]{min-height:46px;display:flex;align-items:center;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);font-variant-numeric:tabular-nums}.basket-mock__select[data-v-8e58bfb7]{justify-content:space-between}.preparation-examples[data-v-3b11f661]{width:min(100%,760px);margin:0 auto;padding-bottom:calc(var(--space-2xl) + var(--nav-height-mobile));color:var(--text)}.preparation-examples__header[data-v-3b11f661]{display:flex;align-items:flex-start;gap:var(--space-sm);margin-bottom:var(--space-xl)}.preparation-examples__header h1[data-v-3b11f661]{margin:0;font-size:var(--font-size-xl);line-height:1.2;letter-spacing:-.02em}.preparation-examples__header p[data-v-3b11f661]{margin:4px 0 0;color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.45}.preparation-examples__back[data-v-3b11f661]{width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto;border-radius:var(--radius-sm);background:var(--card-bg);color:var(--text-muted);box-shadow:var(--shadow-sm)}.preparation-examples__back svg[data-v-3b11f661]{width:20px;height:20px}.preparation-examples__list[data-v-3b11f661]{display:grid;gap:var(--space-2xl)}.example[data-v-3b11f661]{display:grid;gap:var(--space-md)}.example__heading[data-v-3b11f661]{display:grid;grid-template-columns:28px minmax(0,1fr);gap:var(--space-sm);align-items:start}.example__heading>span[data-v-3b11f661]{width:28px;height:28px;display:grid;place-items:center;border-radius:var(--radius-sm);background:var(--text);color:#fff;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums}.example__heading h2[data-v-3b11f661]{margin:0;font-size:var(--font-size-lg);line-height:1.25}.example__heading p[data-v-3b11f661]{margin:3px 0 0;color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.4}.mock[data-v-3b11f661]{overflow:hidden;padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card-bg);box-shadow:var(--shadow-xs)}.mock button[data-v-3b11f661]{font:inherit}.mock__stage-header[data-v-3b11f661]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-md)}.mock__stage-header>button[data-v-3b11f661],.mock__basket-selector>button[data-v-3b11f661]:last-child{width:36px;height:36px;min-height:36px;padding:0;background:transparent;color:var(--danger);box-shadow:none}.mock__stage-title[data-v-3b11f661]{display:flex;align-items:center;gap:10px}.mock__stage-title>div[data-v-3b11f661]{display:grid;gap:1px}.mock__stage-title small[data-v-3b11f661]{color:var(--text-muted)}.mock__stage-index[data-v-3b11f661]{width:32px;height:32px;display:grid;place-items:center;border-radius:var(--radius-sm);background:var(--primary-soft);color:var(--primary-dark);font-weight:var(--font-weight-semibold)}.mock__baskets[data-v-3b11f661]{display:grid;gap:var(--space-md)}.mock--cards .mock__baskets[data-v-3b11f661]>*{padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg)}.mock--cards[data-v-3b11f661] .basket-mock__control{background:var(--card-bg)}.mock__tabs[data-v-3b11f661]{display:grid;grid-template-columns:repeat(2,1fr);gap:3px;margin-bottom:var(--space-md);padding:3px;border-radius:var(--radius-sm);background:var(--bg)}.mock__tab[data-v-3b11f661]{min-height:40px;background:transparent;color:var(--text-muted);box-shadow:none}.mock__tab--active[data-v-3b11f661]{background:var(--card-bg);color:var(--primary-dark);box-shadow:var(--shadow-xs)}.mock__accordion-row[data-v-3b11f661]{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-sm);min-height:54px;border-top:1px solid var(--border-light)}.mock__accordion-row span[data-v-3b11f661]{overflow:hidden;color:var(--text-muted);font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap}.mock__accordion-row button[data-v-3b11f661]{width:36px;min-height:36px;padding:0;background:transparent;color:var(--text-muted);box-shadow:none}.mock__accordion-row--open[data-v-3b11f661]{border-top:0;color:var(--primary-dark)}.mock--accordion[data-v-3b11f661] .basket-mock{padding:0 0 var(--space-md)}.mock--columns .mock__baskets[data-v-3b11f661]{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}.mock--columns .mock__stage-header[data-v-3b11f661]{padding-bottom:var(--space-sm);border-bottom:1px solid var(--border)}.mock--columns[data-v-3b11f661] .basket-mock__short-fields{grid-template-columns:1fr}.mock--columns[data-v-3b11f661] .basket-mock+:deep(.basket-mock){padding-left:var(--space-sm);border-left:1px solid var(--border)}.mock--timeline[data-v-3b11f661]{position:relative}.mock--timeline .mock__stage-header[data-v-3b11f661]{position:relative;z-index:1}.mock--timeline .mock__stage-index[data-v-3b11f661]{border-radius:50%}.mock--timeline .mock__baskets[data-v-3b11f661]{position:relative;margin-left:var(--space-md);padding-left:var(--space-lg)}.mock--timeline .mock__baskets[data-v-3b11f661]:before{content:"";position:absolute;top:-20px;bottom:24px;left:0;border-left:1px solid var(--primary-light)}.mock--timeline .mock__baskets[data-v-3b11f661]>*{position:relative;padding-bottom:var(--space-md)}.mock--timeline .mock__baskets[data-v-3b11f661]>*:before{content:"";position:absolute;top:14px;left:calc(-1 * var(--space-lg));width:var(--space-md);border-top:1px solid var(--primary-light)}.mock--numbered .mock__stage-index[data-v-3b11f661]{display:none}.mock--numbered .mock__stage-header[data-v-3b11f661]{padding-bottom:var(--space-sm);border-bottom:2px solid var(--text)}.mock--numbered .mock__baskets[data-v-3b11f661]{counter-reset:basket}.mock--numbered .mock__baskets[data-v-3b11f661]>*{counter-increment:basket;position:relative;padding-left:42px}.mock--numbered .mock__baskets[data-v-3b11f661]>*:before{content:"1." counter(basket);position:absolute;top:2px;left:0;color:var(--primary);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums}.mock--banded[data-v-3b11f661]{padding:0}.mock--banded .mock__stage-header[data-v-3b11f661]{margin:0;padding:var(--space-md);background:var(--text);color:#fff}.mock--banded .mock__stage-title small[data-v-3b11f661]{color:#d1d5db}.mock--banded .mock__stage-index[data-v-3b11f661]{background:#fff;color:var(--text)}.mock--banded .mock__baskets[data-v-3b11f661]{gap:0}.mock--banded .mock__baskets[data-v-3b11f661]>*{padding:var(--space-md)}.mock--banded .mock__baskets[data-v-3b11f661]>*:nth-child(2n){background:var(--bg)}.mock--banded[data-v-3b11f661] .basket-mock__control{background:var(--card-bg)}.mock__basket-selector[data-v-3b11f661]{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.mock__basket-selector-button[data-v-3b11f661]{min-height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;border:1px solid var(--border);background:var(--card-bg);color:var(--text);box-shadow:none}.mock__basket-list[data-v-3b11f661]{display:grid;gap:1px;overflow:hidden;margin-bottom:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-sm)}.mock__basket-row[data-v-3b11f661]{min-height:52px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--space-sm);padding:0 12px;border-radius:0;background:var(--card-bg);color:var(--text);box-shadow:none;text-align:left}.mock__basket-row span[data-v-3b11f661]{overflow:hidden;color:var(--text-muted);font-size:var(--font-size-xs);text-align:right;text-overflow:ellipsis;white-space:nowrap}.mock__basket-row--active[data-v-3b11f661]{background:var(--primary-soft);color:var(--primary-dark)}.mock__editing-label[data-v-3b11f661]{margin-bottom:var(--space-sm);color:var(--text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.mock--minimal[data-v-3b11f661]{padding-inline:0;border-inline:0;border-radius:0;box-shadow:none}.mock--minimal .mock__stage-header[data-v-3b11f661]{padding-inline:var(--space-sm)}.mock--minimal .mock__stage-index[data-v-3b11f661]{background:transparent;color:var(--primary)}.mock--minimal .mock__baskets[data-v-3b11f661]{gap:0}.mock--minimal .mock__baskets[data-v-3b11f661]>*{padding:var(--space-lg) var(--space-sm);border-top:1px solid var(--border)}@media(min-width:768px){.preparation-examples[data-v-3b11f661]{padding-bottom:var(--space-2xl)}.preparation-examples__header h1[data-v-3b11f661]{font-size:var(--font-size-2xl)}}.settings-page[data-v-a931b0f5]{min-height:100dvh;padding:var(--space-md);padding-bottom:calc(var(--space-2xl) + 72px);background:var(--bg)}.settings-page__header[data-v-a931b0f5],.settings-page__content[data-v-a931b0f5]{width:min(100%,1040px);margin-inline:auto}.settings-page__header[data-v-a931b0f5]{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;margin-bottom:var(--space-lg)}.settings-page__back[data-v-a931b0f5]{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;margin-top:2px;color:var(--text);background:var(--card-bg);border:1px solid var(--border);border-radius:50%;box-shadow:var(--shadow-xs)}.settings-page__back[data-v-a931b0f5]:hover{color:var(--primary);background:var(--primary-soft);border-color:#5658c947}.settings-page__back svg[data-v-a931b0f5]{width:21px;height:21px}.settings-page__heading[data-v-a931b0f5]{min-width:0}.settings-page__heading h1[data-v-a931b0f5]{color:var(--text);font-size:clamp(26px,7vw,var(--font-size-2xl));font-weight:var(--font-weight-bold);line-height:1.15;letter-spacing:-.025em;text-wrap:balance}.settings-page__heading p[data-v-a931b0f5]{max-width:62ch;margin-top:5px;color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.45;text-wrap:pretty}.settings-page__action[data-v-a931b0f5]{min-height:44px;display:flex;align-items:center}@media(min-width:768px){.settings-page[data-v-a931b0f5]{padding:var(--space-xl);padding-bottom:calc(var(--space-2xl) + 80px)}.settings-page__header[data-v-a931b0f5]{margin-bottom:var(--space-xl)}}.settings-groups[data-v-cb869f3b]{display:grid;gap:var(--space-lg)}.settings-group__heading[data-v-cb869f3b]{margin:0 4px var(--space-sm)}.settings-group__heading h2[data-v-cb869f3b]{color:var(--text);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.settings-group__heading p[data-v-cb869f3b]{margin-top:1px;color:var(--text-muted);font-size:var(--font-size-xs);line-height:1.4}.settings-menu[data-v-cb869f3b]{overflow:hidden;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}.settings-item[data-v-cb869f3b]{min-height:76px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;color:inherit;text-decoration:none;border-bottom:1px solid var(--border-light);transition:background-color .2s ease}.settings-item[data-v-cb869f3b]:last-child{border-bottom:none}.settings-item[data-v-cb869f3b]:hover{background:var(--card-hover)}.settings-item__icon[data-v-cb869f3b]{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;color:var(--primary);background:var(--primary-soft);border-radius:var(--radius-md)}.settings-item__icon--sorting[data-v-cb869f3b]{color:#0f766e;background:#ecfdf5}.settings-item__icon--account[data-v-cb869f3b]{color:#475569;background:#f1f5f9}.settings-item__icon--admin[data-v-cb869f3b]{color:#9a3412;background:#fff7ed}.settings-item__icon svg[data-v-cb869f3b]{width:21px;height:21px}.settings-item__content[data-v-cb869f3b]{min-width:0;display:flex;flex-direction:column;gap:2px}.settings-item__content strong[data-v-cb869f3b]{color:var(--text);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:1.25}.settings-item__content span[data-v-cb869f3b]{color:var(--text-muted);font-size:var(--font-size-xs);line-height:1.4;text-wrap:pretty}.settings-item__chevron[data-v-cb869f3b]{width:20px;height:20px;color:var(--text-light)}.settings-legal[data-v-cb869f3b]{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-xl);padding:var(--space-md) 4px 0;color:var(--text-muted);font-size:var(--font-size-xs);line-height:1.45}.settings-legal__links[data-v-cb869f3b]{display:flex;flex-wrap:wrap;gap:var(--space-md)}.settings-legal a[data-v-cb869f3b]{color:var(--primary);font-weight:var(--font-weight-semibold);text-decoration:none}@media(min-width:768px){.settings-groups[data-v-cb869f3b]{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.settings-group--shopping[data-v-cb869f3b]{grid-row:span 2}.settings-item[data-v-cb869f3b]{padding:var(--space-md)}.settings-legal[data-v-cb869f3b]{flex-direction:row;justify-content:space-between;align-items:center}}.account-layout[data-v-4cd758c3]{display:grid;gap:var(--space-lg)}.account-panel[data-v-4cd758c3],.session-panel[data-v-4cd758c3],.danger-panel[data-v-4cd758c3]{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}.account-panel[data-v-4cd758c3]{overflow:hidden}.account-section+.account-section[data-v-4cd758c3]{border-top:1px solid var(--border)}.account-section__heading[data-v-4cd758c3],.account-form[data-v-4cd758c3],.session-panel[data-v-4cd758c3],.danger-panel[data-v-4cd758c3]{padding:var(--space-md)}.account-section__heading[data-v-4cd758c3]{padding-bottom:0}.account-section__heading h2[data-v-4cd758c3],.session-panel h2[data-v-4cd758c3],.danger-panel h2[data-v-4cd758c3]{color:var(--text);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);line-height:1.3}.account-section__heading p[data-v-4cd758c3],.session-panel p[data-v-4cd758c3],.danger-panel p[data-v-4cd758c3]{margin-top:3px;color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.45}.account-section__heading p strong[data-v-4cd758c3]{color:var(--text);font-weight:var(--font-weight-semibold)}.account-form[data-v-4cd758c3],.form-field[data-v-4cd758c3]{display:flex;flex-direction:column}.account-form[data-v-4cd758c3]{gap:var(--space-md)}.form-field[data-v-4cd758c3]{gap:6px}.form-field>span[data-v-4cd758c3]{color:var(--text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.form-field>small[data-v-4cd758c3]{color:var(--text-muted);font-size:var(--font-size-xs);line-height:1.4}.form-field input[data-v-4cd758c3]{min-height:48px;border-width:1px}.password-grid[data-v-4cd758c3]{display:grid;gap:var(--space-md)}.form-message[data-v-4cd758c3]{color:var(--success);font-size:var(--font-size-sm)}.form-message--error[data-v-4cd758c3]{color:var(--danger)}.form-actions[data-v-4cd758c3]{display:flex;justify-content:flex-start}.btn[data-v-4cd758c3]{min-height:44px;display:inline-flex;align-items:center;justify-content:center;box-shadow:none}.btn--primary[data-v-4cd758c3]{background:var(--primary)}.btn--secondary[data-v-4cd758c3]{color:var(--text);background:var(--card-bg);border:1px solid var(--border)}.btn--danger[data-v-4cd758c3],.btn--danger-outline[data-v-4cd758c3]{color:#fff;background:var(--danger)}.btn--danger-outline[data-v-4cd758c3]{color:var(--danger);background:#fff;border:1px solid rgba(239,68,68,.35)}.account-sidebar[data-v-4cd758c3]{display:grid;gap:var(--space-md);align-content:start}.session-panel[data-v-4cd758c3],.danger-panel[data-v-4cd758c3]{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-md)}.danger-panel[data-v-4cd758c3]{background:snow;border-color:#ef444438}.danger-panel__label[data-v-4cd758c3]{display:block;margin-bottom:3px;color:var(--danger);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.modal-overlay[data-v-4cd758c3]{position:fixed;inset:0;z-index:var(--z-modal);display:grid;place-items:end center;padding:var(--space-md);background:#0f172a6b;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.confirm-modal[data-v-4cd758c3]{width:min(100%,440px);padding:var(--space-lg);background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl)}.confirm-modal h2[data-v-4cd758c3]{color:var(--text);font-size:var(--font-size-xl);line-height:1.2}.confirm-modal p[data-v-4cd758c3]{margin-top:var(--space-sm);color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.5}.confirm-modal footer[data-v-4cd758c3]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm);margin-top:var(--space-lg)}@media(min-width:640px){.password-grid[data-v-4cd758c3]{grid-template-columns:1fr 1fr}.session-panel[data-v-4cd758c3],.danger-panel[data-v-4cd758c3]{flex-direction:row;align-items:center;justify-content:space-between}.modal-overlay[data-v-4cd758c3]{place-items:center}}@media(min-width:900px){.account-layout[data-v-4cd758c3]{grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr);align-items:start}.account-section__heading[data-v-4cd758c3],.account-form[data-v-4cd758c3],.session-panel[data-v-4cd758c3],.danger-panel[data-v-4cd758c3]{padding:var(--space-lg)}.account-section__heading[data-v-4cd758c3]{padding-bottom:0}.session-panel[data-v-4cd758c3],.danger-panel[data-v-4cd758c3]{flex-direction:column;align-items:stretch}}.filters-overlay[data-v-f5201ec7]{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:flex-end;justify-content:center;padding:var(--space-lg);background:#0f172a59;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn-f5201ec7 .2s ease}.filters-modal[data-v-f5201ec7]{width:min(720px,100%);max-height:min(80vh,720px);overflow:auto;padding:var(--space-xl);background:var(--card-bg);border-radius:24px;box-shadow:var(--shadow-xl);animation:slideUp-f5201ec7 .25s ease}.filters-modal__header[data-v-f5201ec7]{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-lg)}.filters-modal__header h3[data-v-f5201ec7]{margin:0 0 4px;color:var(--text);font-size:22px}.filters-modal__header p[data-v-f5201ec7]{margin:0;color:var(--text-muted)}.filters-modal__close[data-v-f5201ec7]{flex-shrink:0}.filters-section+.filters-section[data-v-f5201ec7]{margin-top:var(--space-xl)}.filters-section h4[data-v-f5201ec7]{margin:0 0 var(--space-sm);color:var(--text);font-size:var(--font-size-base)}.usage-filter-grid[data-v-f5201ec7]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}.catalog-filter[data-v-f5201ec7]{min-width:0;min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;color:var(--text);background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:none;text-align:left}.catalog-filter>span[data-v-f5201ec7]:first-child{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px}.catalog-filter strong[data-v-f5201ec7]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.catalog-filter small[data-v-f5201ec7]{color:var(--text-muted);font-size:var(--font-size-xs);white-space:normal}.catalog-filter[data-v-f5201ec7]:hover,.catalog-filter--active[data-v-f5201ec7]{color:var(--primary);background:#5658c914;border-color:#5658c959;transform:none;box-shadow:none}.catalog-filter__count[data-v-f5201ec7]{min-width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:0 7px;color:var(--primary);background:var(--primary-soft);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.filters-modal__footer[data-v-f5201ec7]{display:flex;gap:var(--space-md);margin-top:var(--space-xl)}.btn[data-v-f5201ec7]{flex:1;min-height:48px;padding:var(--space-md) var(--space-lg);border:0;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.btn--secondary[data-v-f5201ec7]{color:var(--text);background:var(--card-hover);box-shadow:none}.btn--primary[data-v-f5201ec7]{color:#fff;background:var(--primary)}@keyframes fadeIn-f5201ec7{0%{opacity:0}to{opacity:1}}@keyframes slideUp-f5201ec7{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.filters-overlay[data-v-f5201ec7]{align-items:flex-end;padding:0}.filters-modal[data-v-f5201ec7]{max-height:85vh;padding:var(--space-lg);border-radius:24px 24px 0 0}.usage-filter-grid[data-v-f5201ec7]{grid-template-columns:minmax(0,1fr)}.filters-modal__footer[data-v-f5201ec7]{flex-direction:column-reverse}}.summary-badge[data-v-cf90cadf]{min-height:36px;display:inline-flex;align-items:center;padding:0 12px;color:var(--primary);background:var(--primary-soft);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);white-space:nowrap}.settings-section[data-v-cf90cadf]{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);overflow:hidden}.section-heading[data-v-cf90cadf]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-lg);border-bottom:1px solid var(--border-light)}.section-heading h2[data-v-cf90cadf]{color:var(--text);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);line-height:1.2}.section-heading p[data-v-cf90cadf],.ingredient-row__main span[data-v-cf90cadf],.ingredient-row__meta[data-v-cf90cadf],.delete-summary span[data-v-cf90cadf]{color:var(--text-muted);font-size:var(--font-size-sm)}.delete-summary small[data-v-cf90cadf]{color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.4}.toolbar[data-v-cf90cadf]{display:flex;flex-direction:column;gap:10px;padding:12px;border-bottom:1px solid var(--border-light)}.controls-bar[data-v-cf90cadf]{display:flex;align-items:center;gap:var(--space-sm)}.search-field[data-v-cf90cadf]{position:relative;flex:1;min-width:0;width:100%}.search-field svg[data-v-cf90cadf]{position:absolute;left:14px;top:50%;width:18px;height:18px;color:var(--text-muted);transform:translateY(-50%);pointer-events:none}.search-field input[data-v-cf90cadf]{min-height:44px;padding-left:42px;padding-right:42px;border-width:1px;border-radius:var(--radius-md)}.search-field__clear[data-v-cf90cadf]{position:absolute;top:50%;right:7px;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;padding:0;color:var(--text-muted);background:transparent;border-radius:var(--radius-full);box-shadow:none;transform:translateY(-50%)}.search-field__clear[data-v-cf90cadf]:hover{color:var(--primary);background:#5658c914;transform:translateY(-50%);box-shadow:none}.search-field__clear svg[data-v-cf90cadf]{position:static;width:16px;height:16px;transform:none}.filter-toggle[data-v-cf90cadf]{min-width:92px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);flex-shrink:0;padding:0 14px;color:var(--text);background:#fff;border:1px solid var(--border);box-shadow:none}.filter-toggle svg[data-v-cf90cadf]{width:18px;height:18px}.filter-toggle[data-v-cf90cadf]:hover,.filter-toggle--active[data-v-cf90cadf]{color:var(--primary);background:#5658c914;border-color:#5658c94d;transform:none;box-shadow:none}.filter-toggle__badge[data-v-cf90cadf]{min-width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;color:#fff;background:var(--primary);border-radius:var(--radius-full);font-size:11px;font-weight:var(--font-weight-bold)}.active-filters[data-v-cf90cadf]{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:var(--space-sm);padding:7px;background:#f8fafcd9;border:1px solid var(--border);border-radius:var(--radius-md)}.active-filters__chips[data-v-cf90cadf]{min-width:0;display:flex;flex-wrap:wrap;gap:6px}.active-filter-chip[data-v-cf90cadf]{max-width:100%;min-height:28px;display:inline-flex;align-items:center;gap:5px;padding:5px 9px;color:var(--text);background:#fff;border:1px solid var(--border);border-radius:var(--radius-full);box-shadow:none;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:1}.active-filter-chip[data-v-cf90cadf]:hover{color:var(--primary);border-color:#5658c94d;transform:none;box-shadow:none}.active-filter-chip span[data-v-cf90cadf]{overflow:hidden;text-overflow:ellipsis}.active-filter-chip svg[data-v-cf90cadf]{width:12px;height:12px}.clear-filters[data-v-cf90cadf]{padding:4px 2px;color:var(--primary);background:transparent;border:0;box-shadow:none;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.clear-filters[data-v-cf90cadf]:hover{color:var(--primary-dark);transform:none;box-shadow:none}.controls-summary[data-v-cf90cadf]{color:var(--text-muted);font-size:var(--font-size-sm)}.state-message[data-v-cf90cadf]{padding:var(--space-xl);color:var(--text-muted);text-align:center}.state-message--error[data-v-cf90cadf]{color:var(--danger)}.ingredients-table[data-v-cf90cadf]{display:flex;flex-direction:column}.load-more[data-v-cf90cadf]{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:var(--space-lg) var(--space-md);color:var(--text-muted);font-size:var(--font-size-xs);border-top:1px solid var(--border-light)}.load-more button[data-v-cf90cadf]{min-height:44px;color:var(--primary);background:var(--primary-soft);border:1px solid rgba(86,88,201,.2);box-shadow:none}.ingredient-row[data-v-cf90cadf]{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(220px,.8fr) minmax(190px,.7fr) auto;align-items:center;gap:var(--space-md);padding:var(--space-md);border-bottom:1px solid var(--border-light)}.ingredient-row[data-v-cf90cadf]:last-child{border-bottom:none}.ingredient-row__main[data-v-cf90cadf]{min-width:0;display:flex;flex-direction:column;gap:2px}.ingredient-row__main strong[data-v-cf90cadf]{color:var(--text);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);overflow-wrap:anywhere}.ingredient-row__meta[data-v-cf90cadf]{display:flex;flex-wrap:wrap;gap:0;line-height:1.35}.ingredient-row__meta span[data-v-cf90cadf]{white-space:nowrap}.ingredient-row__meta span+span[data-v-cf90cadf]:before{content:"·";margin:0 var(--space-sm);color:var(--text-muted)}.category-field[data-v-cf90cadf]{min-width:0;display:flex;flex-direction:column;gap:6px}.category-field span[data-v-cf90cadf]{color:var(--text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.category-field select[data-v-cf90cadf]{width:100%;min-width:0;min-height:38px;border-width:1px;border-radius:var(--radius-full);background-color:#fff;color:var(--text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.ingredient-row__menu-wrap[data-v-cf90cadf]{position:relative;display:flex;justify-content:flex-end}.icon-button[data-v-cf90cadf]{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0;color:var(--text);background:#fff;border:1px solid var(--border);border-radius:50%;box-shadow:var(--shadow-xs)}.icon-button svg[data-v-cf90cadf]{width:18px;height:18px}.icon-button--danger[data-v-cf90cadf]{color:var(--danger)}.ingredient-row__menu-trigger[aria-expanded=true][data-v-cf90cadf]{color:var(--primary);background:var(--primary-soft);border-color:#5658c947}.item-actions-menu[data-v-cf90cadf]{position:absolute;z-index:var(--z-popover);top:calc(100% + 6px);right:0;width:156px;overflow:hidden;padding:5px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.item-actions-menu button[data-v-cf90cadf]{width:100%;min-height:40px;display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:8px 10px;color:var(--text);background:transparent;border-radius:var(--radius-sm);box-shadow:none;font-size:var(--font-size-sm);text-align:left}.item-actions-menu button[data-v-cf90cadf]:hover{background:var(--card-hover);transform:none;box-shadow:none}.item-actions-menu button svg[data-v-cf90cadf]{width:17px;height:17px}.item-actions-menu .item-actions-menu__danger[data-v-cf90cadf]{color:var(--danger)}.modal-backdrop[data-v-cf90cadf]{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-lg);background:#0f172a6b;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal-card[data-v-cf90cadf]{width:min(520px,100%);display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-lg);background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl)}.modal-card__header[data-v-cf90cadf]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.modal-card__header h3[data-v-cf90cadf]{color:var(--text);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.form-field[data-v-cf90cadf]{display:flex;flex-direction:column;gap:var(--space-sm)}.form-field span[data-v-cf90cadf]{color:var(--text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.form-field input[data-v-cf90cadf],.form-field select[data-v-cf90cadf]{border-width:1px}.selected-replacement[data-v-cf90cadf]{color:var(--primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.replacement-results[data-v-cf90cadf]{max-height:220px;overflow-y:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border-light);border-radius:var(--radius-md);background:#fff}.replacement-option[data-v-cf90cadf]{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;color:var(--text);background:#fff;border:none;border-bottom:1px solid var(--border-light);border-radius:0;box-shadow:none;text-align:left}.replacement-option[data-v-cf90cadf]:last-child{border-bottom:none}.replacement-option[data-v-cf90cadf]:hover,.replacement-option--active[data-v-cf90cadf]{color:var(--primary);background:#5658c914}.replacement-option span[data-v-cf90cadf]{max-width:100%;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);overflow-wrap:anywhere}.replacement-option small[data-v-cf90cadf],.replacement-empty[data-v-cf90cadf]{color:var(--text-muted);font-size:var(--font-size-xs)}.replacement-empty[data-v-cf90cadf]{padding:var(--space-md)}.warning-box[data-v-cf90cadf]{display:flex;flex-direction:column;gap:3px;padding:var(--space-md);color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:var(--radius-md);font-size:var(--font-size-sm)}.merge-options[data-v-cf90cadf]{display:grid;gap:var(--space-sm);margin-top:var(--space-sm)}.merge-option[data-v-cf90cadf]{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-xs);width:100%;padding:var(--space-sm) var(--space-md);color:var(--text);text-align:left;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:none}.merge-option[data-v-cf90cadf]:hover,.merge-option--active[data-v-cf90cadf]{background:var(--primary-soft);border-color:var(--primary);transform:none}.merge-option small[data-v-cf90cadf]{color:var(--text-muted);font-weight:var(--font-weight-regular)}.delete-summary[data-v-cf90cadf]{display:flex;flex-direction:column;gap:2px;padding:var(--space-md);background:var(--card-hover);border-radius:var(--radius-md)}.delete-summary strong[data-v-cf90cadf]{color:var(--text);font-weight:var(--font-weight-semibold)}.choice-group[data-v-cf90cadf]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm)}.choice-button[data-v-cf90cadf]{padding:12px 14px;color:var(--text);background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:none}.choice-button--active[data-v-cf90cadf]{color:var(--primary);background:#5658c914;border-color:#5658c959}.modal-actions[data-v-cf90cadf]{display:flex;justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-sm)}.btn[data-v-cf90cadf]{min-width:104px;box-shadow:var(--shadow-xs)}.btn--ghost[data-v-cf90cadf]{color:var(--text);background:#fff;border:1px solid var(--border)}.btn--primary[data-v-cf90cadf]{background:var(--primary)}.btn--danger[data-v-cf90cadf]{background:var(--danger)}@media(max-width:768px){.summary-badge[data-v-cf90cadf]{display:none}.toolbar[data-v-cf90cadf]{padding:10px}.filter-toggle[data-v-cf90cadf]{min-width:52px;padding:0 12px}.filter-toggle__label[data-v-cf90cadf]{display:none}.ingredient-row[data-v-cf90cadf]{grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:10px;row-gap:4px;padding:12px var(--space-md)}.ingredient-row__meta[data-v-cf90cadf],.category-field[data-v-cf90cadf]{grid-column:1 / -1;order:3}.category-field[data-v-cf90cadf]{order:4;margin-top:4px}.category-field>span[data-v-cf90cadf]{display:none}.ingredient-row__menu-wrap[data-v-cf90cadf]{grid-column:2;grid-row:1}.choice-group[data-v-cf90cadf],.modal-actions[data-v-cf90cadf]{grid-template-columns:1fr}.modal-actions[data-v-cf90cadf]{flex-direction:column-reverse}.modal-backdrop[data-v-cf90cadf]{align-items:flex-end;padding:var(--space-sm)}.modal-card[data-v-cf90cadf]{max-height:calc(100dvh - 16px);overflow-y:auto;padding:var(--space-md);border-radius:var(--radius-xl) var(--radius-xl) var(--radius-md) var(--radius-md)}.btn[data-v-cf90cadf]{width:100%}}@media(min-width:760px){.toolbar[data-v-cf90cadf]{padding:var(--space-lg)}}.sorting-layout[data-v-c96e942d]{display:grid;gap:var(--space-md);padding-bottom:80px}.settings-panel[data-v-c96e942d]{overflow:visible;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}.panel-heading[data-v-c96e942d]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md);border-bottom:1px solid var(--border-light)}.panel-heading h2[data-v-c96e942d]{color:var(--text);font-size:var(--font-size-lg);line-height:1.3}.panel-heading p[data-v-c96e942d],.modal-card__header p[data-v-c96e942d]{margin-top:2px;color:var(--text-muted);font-size:var(--font-size-xs);line-height:1.4}.panel-heading p strong[data-v-c96e942d]{color:var(--text)}.shared-label[data-v-c96e942d]{display:inline-flex;align-items:center;color:var(--primary);background:var(--primary-soft);border-radius:var(--radius-full);font-size:11px;font-weight:var(--font-weight-semibold);white-space:nowrap}.shared-label[data-v-c96e942d]{padding:3px 7px;color:var(--text-muted);background:var(--card-hover)}.store-card--active[data-v-c96e942d]{border-color:#5658c94d}.store-card__toggle[data-v-c96e942d]{min-width:0;flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:0;color:inherit;background:transparent;border:0;border-radius:0;box-shadow:none;text-align:left}.store-card__toggle[data-v-c96e942d]:hover{background:transparent;transform:none;box-shadow:none}.store-card__name[data-v-c96e942d]{color:var(--text);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:1.3;overflow-wrap:anywhere}.store-card__meta[data-v-c96e942d]{display:flex;align-items:center;gap:5px;color:var(--text-muted);font-size:var(--font-size-xs);line-height:1.4}.categories-panel__body[data-v-c96e942d]{overflow:hidden;border-radius:0 0 var(--radius-lg) var(--radius-lg)}.create-form[data-v-c96e942d]{display:grid;gap:var(--space-sm);padding:var(--space-md);border-bottom:1px solid var(--border-light)}.create-form__field[data-v-c96e942d]{display:flex;flex-direction:column;gap:5px}.create-form__field span[data-v-c96e942d],.modal-field span[data-v-c96e942d]{color:var(--text);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.create-form input[data-v-c96e942d],.modal-field input[data-v-c96e942d]{min-height:44px;border-width:1px}.btn[data-v-c96e942d]{min-height:44px;box-shadow:none}.btn--primary[data-v-c96e942d]{background:var(--primary)}.btn--ghost[data-v-c96e942d]{color:var(--text);background:#fff;border:1px solid var(--border)}.btn--danger[data-v-c96e942d]{background:var(--danger)}.category-order[data-v-c96e942d]{display:flex;flex-direction:column}.category-row[data-v-c96e942d]{border-bottom:1px solid var(--border-light)}.category-row[data-v-c96e942d]:last-child{border-bottom:none}.category-row__identity strong[data-v-c96e942d]{color:var(--text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);overflow-wrap:anywhere}.category-row__actions[data-v-c96e942d]{display:flex;align-items:center;gap:5px}.profile-menu-wrap[data-v-c96e942d]{position:relative}.profile-menu-trigger[aria-expanded=true][data-v-c96e942d]{color:var(--primary);background:var(--primary-soft);border-color:#5658c947}.profile-actions-menu[data-v-c96e942d]{position:absolute;z-index:var(--z-popover);top:calc(100% + 6px);right:0;width:172px;overflow:hidden;padding:5px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.profile-actions-menu button[data-v-c96e942d]{width:100%;min-height:40px;display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:8px 10px;color:var(--text);background:transparent;border-radius:var(--radius-sm);box-shadow:none;font-size:var(--font-size-sm);text-align:left}.profile-actions-menu button[data-v-c96e942d]:hover{background:var(--card-hover);transform:none;box-shadow:none}.profile-actions-menu button svg[data-v-c96e942d]{width:17px;height:17px}.profile-actions-menu .profile-actions-menu__danger[data-v-c96e942d]{color:var(--danger)}.icon-button[data-v-c96e942d],.order-button[data-v-c96e942d],.drag-handle[data-v-c96e942d]{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:0;color:var(--text-muted);background:#fff;border:1px solid var(--border);border-radius:50%;box-shadow:none}.icon-button svg[data-v-c96e942d],.order-button svg[data-v-c96e942d],.drag-handle svg[data-v-c96e942d]{width:17px;height:17px}.icon-button--danger[data-v-c96e942d]{color:var(--danger)}.category-row[data-v-c96e942d]{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-sm);padding:10px 12px;transition:background-color .15s ease,opacity .15s ease}.categories-heading__actions[data-v-c96e942d],.category-row__identity[data-v-c96e942d]{min-width:0;display:flex;align-items:center;gap:var(--space-sm)}.categories-collapse-button[data-v-c96e942d]{flex-shrink:0}.categories-collapse-button svg[data-v-c96e942d]{width:17px;height:17px;transition:transform .18s ease}.categories-collapse-button__icon--collapsed[data-v-c96e942d]{transform:rotate(180deg)}.category-row__identity[data-v-c96e942d]{flex-wrap:wrap}.category-row--dragging[data-v-c96e942d]{opacity:.65;background:var(--primary-soft)}.category-row--drop-target[data-v-c96e942d]{background:var(--card-hover);box-shadow:inset 3px 0 0 var(--primary)}.drag-handle[data-v-c96e942d]{cursor:grab;touch-action:none}.drag-handle[data-v-c96e942d]:active{cursor:grabbing}.category-row__index[data-v-c96e942d]{width:26px;text-align:center;color:var(--text-muted);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums}.shared-label[data-v-c96e942d],.order-button[data-v-c96e942d]{display:none}.state-message[data-v-c96e942d]{padding:var(--space-xl) var(--space-md);color:var(--text-muted);text-align:center;font-size:var(--font-size-sm)}.state-message--error[data-v-c96e942d]{color:var(--danger)}.fab[data-v-c96e942d]{position:fixed;right:var(--space-lg);bottom:calc(92px + env(safe-area-inset-bottom));z-index:calc(var(--z-nav) + 1);width:56px;height:56px;display:flex;align-items:center;justify-content:center;padding:0;color:#fff;background:var(--primary);border:0;border-radius:50%;box-shadow:var(--shadow-lg);transition:background-color .2s ease,box-shadow .2s ease,transform .2s ease}.fab[data-v-c96e942d]:hover{color:#fff;background:var(--primary-dark);box-shadow:var(--shadow-xl);transform:scale(1.06)}.fab[data-v-c96e942d]:active{transform:scale(.95)}.fab__icon[data-v-c96e942d]{width:24px;height:24px}.modal-backdrop[data-v-c96e942d]{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:flex-end;justify-content:center;padding:var(--space-sm);background:#0f172a6b;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal-card[data-v-c96e942d]{width:min(520px,100%);display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-md);background:#fff;border-radius:var(--radius-xl) var(--radius-xl) var(--radius-md) var(--radius-md);box-shadow:var(--shadow-xl)}.modal-card__header[data-v-c96e942d]{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md)}.modal-card__header h3[data-v-c96e942d]{color:var(--text);font-size:var(--font-size-lg)}.modal-field[data-v-c96e942d]{display:flex;flex-direction:column;gap:6px}.modal-actions[data-v-c96e942d]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm)}.delete-summary[data-v-c96e942d]{display:flex;flex-direction:column;gap:3px;padding:var(--space-md);background:var(--card-hover);border-radius:var(--radius-md)}.delete-summary span[data-v-c96e942d]{color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.45}@media(max-width:600px){.panel-heading--categories[data-v-c96e942d]{gap:var(--space-sm)}.category-row[data-v-c96e942d]{grid-template-columns:auto minmax(0,1fr) auto}.drag-handle[data-v-c96e942d],.order-button[data-v-c96e942d]{display:inline-flex}}@media(min-width:640px){.create-form[data-v-c96e942d]{grid-template-columns:minmax(0,1fr) auto;align-items:end}.shared-label[data-v-c96e942d]{display:inline-flex}.modal-backdrop[data-v-c96e942d]{align-items:center;padding:var(--space-lg)}.modal-card[data-v-c96e942d]{padding:var(--space-lg);border-radius:var(--radius-xl)}}@media(min-width:900px){.panel-heading[data-v-c96e942d],.create-form[data-v-c96e942d]{padding:var(--space-lg)}}@media(min-width:1024px){.fab[data-v-c96e942d]{right:var(--space-xl);bottom:var(--space-xl)}}.admin-view[data-v-5bf91597]{min-height:100dvh;background:var(--bg);padding:var(--space-lg);padding-bottom:calc(var(--space-2xl) + 80px)}.admin-header[data-v-5bf91597],.admin-tabs[data-v-5bf91597],.admin-section[data-v-5bf91597],.feedback[data-v-5bf91597]{max-width:1120px;margin-left:auto;margin-right:auto}.admin-header[data-v-5bf91597]{margin-bottom:var(--space-lg);display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.admin-header h1[data-v-5bf91597]{color:var(--text);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:1.15}.back-link[data-v-5bf91597]{min-height:38px;display:inline-flex;align-items:center;justify-content:center;padding:0 var(--space-md);color:var(--text);text-decoration:none;background:#fff;border:1px solid var(--border);border-radius:var(--radius-full);box-shadow:var(--shadow-xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.admin-tabs[data-v-5bf91597]{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-lg)}.tab-button[data-v-5bf91597]{min-height:42px;padding:0 var(--space-md);color:var(--text-muted);background:#fff;border:1px solid var(--border);border-radius:var(--radius-full);box-shadow:var(--shadow-xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.tab-button--active[data-v-5bf91597]{color:var(--primary);background:#5658c914;border-color:#5658c959}.admin-section[data-v-5bf91597]{background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);overflow:hidden}.section-heading[data-v-5bf91597]{padding:var(--space-lg);border-bottom:1px solid var(--border-light)}.section-heading--with-filter[data-v-5bf91597]{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-lg)}.section-heading h2[data-v-5bf91597]{color:var(--text);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);line-height:1.2}.section-heading p[data-v-5bf91597],.row-main span[data-v-5bf91597]{color:var(--text-muted);font-size:var(--font-size-sm)}.create-form[data-v-5bf91597]{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,.7fr) auto;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border-light)}.create-form--compact[data-v-5bf91597]{grid-template-columns:minmax(180px,1fr) auto}.create-form input[data-v-5bf91597],.create-form select[data-v-5bf91597],.compact-field select[data-v-5bf91597],.form-field select[data-v-5bf91597]{border-width:1px;border-radius:var(--radius-full)}.admin-list[data-v-5bf91597]{display:flex;flex-direction:column}.user-row[data-v-5bf91597],.meal-row[data-v-5bf91597],.catalog-row[data-v-5bf91597],.category-row[data-v-5bf91597]{display:grid;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border-light)}.user-row[data-v-5bf91597]{grid-template-columns:minmax(0,1fr) auto minmax(130px,.28fr) auto}.meal-row[data-v-5bf91597]{grid-template-columns:minmax(0,1fr) auto minmax(210px,.38fr)}.catalog-row[data-v-5bf91597]{grid-template-columns:minmax(0,1fr) minmax(190px,.45fr) auto}.category-row[data-v-5bf91597]{grid-template-columns:auto minmax(0,1fr) auto}.user-row[data-v-5bf91597]:last-child,.meal-row[data-v-5bf91597]:last-child,.catalog-row[data-v-5bf91597]:last-child,.category-row[data-v-5bf91597]:last-child{border-bottom:none}.row-main[data-v-5bf91597]{min-width:0;display:flex;flex-direction:column;gap:2px}.row-main strong[data-v-5bf91597]{color:var(--text);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);overflow-wrap:anywhere}.meal-user-filter[data-v-5bf91597]{width:min(100%,300px);display:flex;flex-direction:column;gap:var(--space-xs)}.meal-user-filter>span[data-v-5bf91597]{color:var(--text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.meal-type-pill[data-v-5bf91597]{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 10px;color:var(--meal-type-text);background:var(--meal-type-bg-soft);border:1px solid var(--meal-type-border);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);white-space:nowrap}.meal-meta[data-v-5bf91597]{min-width:0;display:flex;flex-direction:column;align-items:flex-end;gap:3px;color:var(--text-muted);font-size:var(--font-size-xs);text-align:right}.meal-meta time[data-v-5bf91597]{text-transform:capitalize}.meal-owner[data-v-5bf91597]{color:var(--text);font-weight:var(--font-weight-semibold);overflow-wrap:anywhere}.compact-field[data-v-5bf91597],.form-field[data-v-5bf91597]{display:flex;flex-direction:column;gap:var(--space-xs)}.compact-field span[data-v-5bf91597],.form-field span[data-v-5bf91597]{color:var(--text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.compact-field select[data-v-5bf91597]{min-height:38px;padding:8px 34px 8px 12px;font-size:var(--font-size-sm)}.status-pill[data-v-5bf91597],.category-index[data-v-5bf91597]{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 10px;color:var(--success);background:#10b98117;border:1px solid rgba(16,185,129,.22);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.status-pill--danger[data-v-5bf91597]{color:var(--danger);background:#ef444414;border-color:#ef444433}.category-index[data-v-5bf91597]{width:34px;padding:0;color:var(--text-muted);background:var(--card-hover);border-color:var(--border-light)}.row-actions[data-v-5bf91597]{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-sm)}.icon-button[data-v-5bf91597]{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;padding:0;color:var(--text);background:#fff;border:1px solid var(--border);border-radius:50%;box-shadow:var(--shadow-xs)}.icon-button svg[data-v-5bf91597]{width:18px;height:18px}.icon-button--danger[data-v-5bf91597]{color:var(--danger)}.btn[data-v-5bf91597]{min-width:92px;box-shadow:var(--shadow-xs)}.btn--primary[data-v-5bf91597]{background:var(--primary)}.btn--ghost[data-v-5bf91597]{color:var(--text);background:#fff;border:1px solid var(--border)}.btn--danger[data-v-5bf91597]{background:var(--danger)}.state-message[data-v-5bf91597]{padding:var(--space-xl);color:var(--text-muted);text-align:center}.feedback[data-v-5bf91597]{margin-top:var(--space-md);color:var(--success);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.feedback--error[data-v-5bf91597]{color:var(--danger)}.modal-backdrop[data-v-5bf91597]{position:fixed;inset:0;z-index:var(--z-modal);display:grid;place-items:center;padding:var(--space-lg);background:#0f172a6b;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal-card[data-v-5bf91597]{width:min(100%,480px);display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-lg);background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl)}.modal-card h3[data-v-5bf91597]{color:var(--text);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.modal-card p[data-v-5bf91597]{color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.45}.modal-card footer[data-v-5bf91597]{display:flex;justify-content:flex-end;gap:var(--space-sm)}@media(max-width:820px){.admin-view[data-v-5bf91597]{padding:var(--space-md);padding-bottom:calc(var(--space-2xl) + 72px)}.admin-header[data-v-5bf91597]{align-items:flex-start;flex-direction:column}.create-form[data-v-5bf91597],.create-form--compact[data-v-5bf91597],.user-row[data-v-5bf91597],.meal-row[data-v-5bf91597],.catalog-row[data-v-5bf91597],.category-row[data-v-5bf91597]{grid-template-columns:1fr}.section-heading--with-filter[data-v-5bf91597]{align-items:stretch;flex-direction:column}.meal-user-filter[data-v-5bf91597]{width:100%}.meal-type-pill[data-v-5bf91597]{justify-self:start}.meal-meta[data-v-5bf91597]{align-items:flex-start;text-align:left}.row-actions[data-v-5bf91597]{justify-content:flex-start}.status-pill[data-v-5bf91597]{justify-self:start}}.auth-view[data-v-cd74fffb]{min-height:100dvh;display:flex;flex-direction:column;align-items:center;background:var(--bg);padding:var(--space-lg);padding-bottom:calc(var(--space-2xl) + var(--space-lg))}.auth-panel[data-v-cd74fffb]{width:min(100%,420px);margin:auto 0;background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:var(--space-lg)}.auth-brand[data-v-cd74fffb]{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg)}.auth-brand__logo[data-v-cd74fffb]{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--primary-gradient);color:#fff;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.auth-brand p[data-v-cd74fffb]{color:var(--primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.auth-brand h1[data-v-cd74fffb]{color:var(--text);font-size:var(--font-size-xl);line-height:1.2}.auth-tabs[data-v-cd74fffb]{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-xs);background:var(--card-hover);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--space-xs);margin-bottom:var(--space-lg)}.auth-tab[data-v-cd74fffb]{background:transparent;color:var(--text-muted);border-radius:var(--radius-sm);box-shadow:none;padding:10px 12px}.auth-tab[data-v-cd74fffb]:hover,.auth-tab--active[data-v-cd74fffb]{transform:none;box-shadow:none;opacity:1}.auth-tab--active[data-v-cd74fffb]{background:#fff;color:var(--primary);box-shadow:var(--shadow-xs)}.auth-form[data-v-cd74fffb],.form-field[data-v-cd74fffb]{display:flex;flex-direction:column}.auth-form[data-v-cd74fffb]{gap:var(--space-md)}.form-field[data-v-cd74fffb]{gap:var(--space-xs)}.form-field span[data-v-cd74fffb]{color:var(--text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.form-field small[data-v-cd74fffb]{color:var(--text-muted);font-size:var(--font-size-xs);line-height:1.35}.auth-error[data-v-cd74fffb]{color:var(--danger);font-size:var(--font-size-sm);line-height:1.35}.auth-submit[data-v-cd74fffb]{width:100%;margin-top:var(--space-xs)}.auth-legal[data-v-cd74fffb]{position:fixed;right:var(--space-lg);bottom:var(--space-lg);left:var(--space-lg);width:min(100%,620px);margin:0 auto;color:var(--text-muted);font-size:var(--font-size-xs);line-height:1.5;text-align:center}.auth-legal a[data-v-cd74fffb]{color:var(--primary);font-weight:var(--font-weight-semibold);text-decoration:none}.auth-legal a[data-v-cd74fffb]:hover{text-decoration:underline}@media(max-width:768px){.auth-view[data-v-cd74fffb]{padding:var(--space-md);padding-bottom:calc(var(--space-2xl) + var(--space-md))}.auth-panel[data-v-cd74fffb]{padding:var(--space-md)}.auth-legal[data-v-cd74fffb]{right:var(--space-md);bottom:var(--space-md);left:var(--space-md);width:auto}}.legal-view[data-v-326a5573]{min-height:100dvh;background:var(--bg);padding:var(--space-lg)}.legal-document[data-v-326a5573]{width:min(100%,820px);margin:0 auto;background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:var(--space-xl)}.legal-back[data-v-326a5573]{display:inline-flex;margin-bottom:var(--space-lg);color:var(--primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-decoration:none}.legal-back[data-v-326a5573]:hover,.legal-footer a[data-v-326a5573]:hover{text-decoration:underline}.legal-header[data-v-326a5573]{padding-bottom:var(--space-lg);border-bottom:1px solid var(--border-light);margin-bottom:var(--space-lg)}.legal-eyebrow[data-v-326a5573]{color:var(--primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.legal-header h1[data-v-326a5573]{color:var(--text);font-size:var(--font-size-2xl);line-height:1.2;margin-top:var(--space-xs)}.legal-header p[data-v-326a5573],.legal-document p[data-v-326a5573],.legal-document li[data-v-326a5573]{color:var(--text-muted);font-size:var(--font-size-base);line-height:1.65}.legal-document section[data-v-326a5573]{padding:var(--space-md) 0;border-bottom:1px solid var(--border-light)}.legal-document h2[data-v-326a5573]{color:var(--text);font-size:var(--font-size-lg);line-height:1.3;margin-bottom:var(--space-sm)}.legal-document ul[data-v-326a5573]{padding-left:var(--space-lg)}.legal-footer[data-v-326a5573]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding-top:var(--space-lg)}.legal-footer p[data-v-326a5573]{font-size:var(--font-size-sm)}.legal-footer a[data-v-326a5573]{color:var(--primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-decoration:none}@media(max-width:768px){.legal-view[data-v-326a5573]{padding:var(--space-md)}.legal-document[data-v-326a5573]{padding:var(--space-lg)}.legal-header h1[data-v-326a5573]{font-size:var(--font-size-xl)}.legal-footer[data-v-326a5573]{align-items:flex-start;flex-direction:column}}.legal-view[data-v-e6743f3d]{min-height:100dvh;background:var(--bg);padding:var(--space-lg)}.legal-document[data-v-e6743f3d]{width:min(100%,820px);margin:0 auto;background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:var(--space-xl)}.legal-back[data-v-e6743f3d]{display:inline-flex;margin-bottom:var(--space-lg);color:var(--primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-decoration:none}.legal-back[data-v-e6743f3d]:hover,.legal-footer a[data-v-e6743f3d]:hover{text-decoration:underline}.legal-header[data-v-e6743f3d]{padding-bottom:var(--space-lg);border-bottom:1px solid var(--border-light);margin-bottom:var(--space-lg)}.legal-eyebrow[data-v-e6743f3d]{color:var(--primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.legal-header h1[data-v-e6743f3d]{color:var(--text);font-size:var(--font-size-2xl);line-height:1.2;margin-top:var(--space-xs)}.legal-header p[data-v-e6743f3d],.legal-document p[data-v-e6743f3d]{color:var(--text-muted);font-size:var(--font-size-base);line-height:1.65}.legal-document section[data-v-e6743f3d]{padding:var(--space-md) 0;border-bottom:1px solid var(--border-light)}.legal-document h2[data-v-e6743f3d]{color:var(--text);font-size:var(--font-size-lg);line-height:1.3;margin-bottom:var(--space-sm)}.legal-footer[data-v-e6743f3d]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding-top:var(--space-lg)}.legal-footer p[data-v-e6743f3d]{font-size:var(--font-size-sm)}.legal-footer a[data-v-e6743f3d]{color:var(--primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-decoration:none}@media(max-width:768px){.legal-view[data-v-e6743f3d]{padding:var(--space-md)}.legal-document[data-v-e6743f3d]{padding:var(--space-lg)}.legal-header h1[data-v-e6743f3d]{font-size:var(--font-size-xl)}.legal-footer[data-v-e6743f3d]{align-items:flex-start;flex-direction:column}}:root{--primary: #5658c9;--primary-dark: #4446a8;--primary-light: #7c7edb;--primary-soft: #eeeeff;--primary-gradient: var(--primary);--color-primary: var(--primary);--color-accent: var(--primary-dark);--color-text-primary: #1f2937;--color-text-secondary: #6b7280;--color-surface: #ffffff;--color-error: #ef4444;--color-background: #f8fafc;--color-border: #e5e7eb;--border-radius-sm: 8px;--border-radius-md: 12px;--border-radius-lg: 16px;--bg: #f8fafc;--card-bg: #ffffff;--card-hover: #f1f5f9;--text: #1f2937;--text-muted: #6b7280;--text-light: #9ca3af;--border: #e5e7eb;--border-light: #f3f4f6;--danger: #ef4444;--success: #10b981;--warning: #f59e0b;--info: #3b82f6;--shadow-xs: 0 1px 2px rgba(31, 41, 55, .04);--shadow-sm: 0 2px 8px rgba(31, 41, 55, .06);--shadow-md: 0 8px 24px rgba(31, 41, 55, .09);--shadow-lg: 0 16px 40px rgba(31, 41, 55, .12);--shadow-xl: 0 24px 64px rgba(31, 41, 55, .16);--shadow-colored: 0 10px 28px rgba(86, 88, 201, .18);--z-sticky: 20;--z-nav: 100;--z-popover: 200;--z-modal: 300;--z-toast: 400;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 24px;--font-size-2xl: 32px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700}[data-meal-type]{--meal-type-bg-soft: rgba(86, 88, 201, .08);--meal-type-bg-strong: rgba(86, 88, 201, .16);--meal-type-border: rgba(86, 88, 201, .28);--meal-type-text: #4338ca}[data-meal-type=śniadanie]{--meal-type-bg-soft: #fff7d6;--meal-type-bg-strong: #fde68a;--meal-type-border: #f59e0b;--meal-type-text: #b45309}[data-meal-type=obiad]{--meal-type-bg-soft: #fee2e2;--meal-type-bg-strong: #fecaca;--meal-type-border: #f87171;--meal-type-text: #b91c1c}[data-meal-type=kolacja]{--meal-type-bg-soft: #dbeafe;--meal-type-bg-strong: #bfdbfe;--meal-type-border: #60a5fa;--meal-type-text: #1d4ed8}[data-meal-type=przekąska]{--meal-type-bg-soft: #dcfce7;--meal-type-bg-strong: #bbf7d0;--meal-type-border: #4ade80;--meal-type-text: #15803d}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;max-width:100vw;overflow-x:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:where(.stats-card__value,.week-chip__range,.week-card__title,.quantity-control__value){font-variant-numeric:tabular-nums}#app{min-height:100dvh;display:flex;flex-direction:column;width:100%;max-width:100vw;overflow-x:hidden}button{cursor:pointer;border:none;background:var(--primary);color:#fff;padding:12px 20px;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);font-family:inherit;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease;white-space:nowrap;box-shadow:var(--shadow-sm)}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md);opacity:.9}button:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{font-size:var(--font-size-base);padding:12px 16px;border:2px solid var(--border);border-radius:var(--radius-md);width:100%;font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;background:#fff;max-width:100%}select{appearance:none;padding-right:44px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231f2937' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 16px center!important;background-size:16px 16px!important}.icon-card-button,.ellipsis-button{width:32px!important;height:32px!important;min-width:32px;min-height:32px;display:inline-flex!important;align-items:center;justify-content:center;flex-shrink:0;padding:0!important;color:var(--text-muted)!important;background:var(--card-bg)!important;border:0!important;border-radius:var(--radius-sm)!important;box-shadow:var(--shadow-sm)!important;list-style:none;cursor:pointer}.icon-card-button:hover,.icon-card-button[aria-expanded=true],.ellipsis-button:hover,.ellipsis-button[aria-expanded=true],details[open]>.ellipsis-button{color:var(--primary)!important;background:#5658c91a!important;opacity:1!important;transform:none!important;box-shadow:var(--shadow-sm)!important}.icon-card-button svg,.ellipsis-button svg{width:16px!important;height:16px!important}.icon-card-button--danger,.icon-card-button.icon-button--danger,.icon-card-button.icon-btn--danger,.icon-card-button.ingredient-item__delete,.icon-card-button.week-card__delete,.icon-card-button.btn-icon--danger{color:var(--danger)!important}.icon-card-button--danger:hover,.icon-card-button.icon-button--danger:hover,.icon-card-button.icon-btn--danger:hover,.icon-card-button.ingredient-item__delete:hover,.icon-card-button.week-card__delete:hover,.icon-card-button.btn-icon--danger:hover{color:var(--danger)!important;background:#ef444417!important}.ellipsis-button circle{r:1px;fill:currentColor;stroke:none}.ellipsis-button::-webkit-details-marker{display:none}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #5658c91f}:where(button,a,summary,[role=button],input,select,textarea):focus-visible{outline:3px solid rgba(86,88,201,.32);outline-offset:2px}input:hover:not(:focus),select:hover:not(:focus),textarea:hover:not(:focus){border-color:var(--text-muted)}.input{font-size:var(--font-size-base);padding:12px 16px;border:2px solid var(--border);border-radius:var(--radius-md);width:100%;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.select{font-size:var(--font-size-base);padding:12px 16px;border:2px solid var(--border);border-radius:var(--radius-md);width:100%;background:#fff;cursor:pointer}@media(max-width:768px){button{font-size:14px;padding:8px 12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
