.toast[data-v-103f0541]{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(--primary-gradient);color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:99999;max-width:calc(100vw - 32px)}.toast__icon[data-v-103f0541]{font-size:18px;font-weight:700}.toast__message[data-v-103f0541]{font-size:var(--font-size-base);font-weight:500}.toast-enter-active,.toast-leave-active{transition:all .3s cubic-bezier(.4,0,.2,1)}.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)}#app[data-v-7a63bc0b]{display:flex;flex-direction:column;min-height:100vh}.app-main[data-v-7a63bc0b]{flex:1;width:100%;max-width:100vw;overflow-x:hidden;padding-bottom:64px}.sidebar[data-v-7a63bc0b]{display:none}.bottom-nav[data-v-7a63bc0b]{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:58px;padding:6px 2px;z-index:1000;box-shadow:0 -4px 20px #00000014}.nav-item[data-v-7a63bc0b]{position:relative;flex:1;display:flex;align-items:center;justify-content:center;padding:5px 3px;text-decoration:none;color:var(--text-muted);transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:var(--radius-md);margin:0;min-width:0}.nav-item__indicator[data-v-7a63bc0b]{position:absolute;top:0;left:50%;transform:translate(-50%) scaleX(0);width:40px;height:3px;background:var(--primary-gradient);border-radius:0 0 var(--radius-full) var(--radius-full);transition:transform .3s cubic-bezier(.4,0,.2,1)}.nav-item.router-link-active .nav-item__indicator[data-v-7a63bc0b]{transform:translate(-50%) scaleX(1)}.nav-item[data-v-7a63bc0b]:active{transform:scale(.95)}.nav-item.router-link-active[data-v-7a63bc0b]{color:var(--primary)}.nav-item__icon[data-v-7a63bc0b]{width:22px;height:22px;display:block;flex-shrink:0;transition:all .3s cubic-bezier(.4,0,.2,1)}@media(max-width:768px){.bottom-nav[data-v-7a63bc0b]{min-height:56px;padding:6px 2px}.nav-item[data-v-7a63bc0b]{padding:5px 2px}.nav-item__icon[data-v-7a63bc0b]{width:20px;height:20px}}@media(min-width:769px){#app[data-v-7a63bc0b]{flex-direction:row}.sidebar[data-v-7a63bc0b]{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 #0000000f;z-index:1000;padding:20px 12px 24px;gap:0}.sidebar__brand[data-v-7a63bc0b]{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-7a63bc0b]{width:32px;height:32px;border-radius:var(--radius-md);background:var(--primary-gradient);color:#fff;font-size:16px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar__brand-name[data-v-7a63bc0b]{font-size:var(--font-size-lg);font-weight:700;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sidebar__links[data-v-7a63bc0b]{display:flex;flex-direction:column;gap:4px}.sidebar__item[data-v-7a63bc0b]{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:all .2s ease}.sidebar__item[data-v-7a63bc0b]:hover{background:var(--card-hover);color:var(--text)}.sidebar__item.router-link-active[data-v-7a63bc0b]{background:#6366f114;color:var(--primary);font-weight:var(--font-weight-semibold)}.sidebar__icon[data-v-7a63bc0b]{width:18px;height:18px;flex-shrink:0}.sidebar__label[data-v-7a63bc0b]{white-space:nowrap}.app-main[data-v-7a63bc0b]{margin-left:200px;padding-bottom:0;min-height:100vh;width:calc(100% - 200px);max-width:calc(100vw - 200px)}.bottom-nav[data-v-7a63bc0b]{display:none}}.autocomplete[data-v-a8ac5b02]{position:relative;width:100%;max-width:100%}.suggest[data-v-a8ac5b02]{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:1000;box-shadow:0 4px 6px #0000001a;width:100%}.suggest__item[data-v-a8ac5b02]{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-a8ac5b02]:last-child{border-bottom:none}.suggest__item[data-v-a8ac5b02]:hover,.suggest__item--selected[data-v-a8ac5b02]{background:#e5e7eb}@media(max-width:768px){.suggest__item[data-v-a8ac5b02]{font-size:13px;padding:8px 10px}}.quantity-controls[data-v-86c0b9ff]{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;min-width:0}.quantity-btn[data-v-86c0b9ff]{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:all .2s;flex-shrink:0}.quantity-btn[data-v-86c0b9ff]:hover:not(:disabled){background:var(--primary-dark)}.quantity-btn[data-v-86c0b9ff]:active:not(:disabled){transform:scale(.95)}.quantity-btn[data-v-86c0b9ff]:disabled{opacity:.5;cursor:not-allowed}.quantity-display[data-v-86c0b9ff]{min-width:32px;text-align:center;font-weight:600;font-size:14px}.modal[data-v-4e36cc69]{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:9999;padding:var(--space-lg);animation:fadeIn-4e36cc69 .2s ease-out}@keyframes fadeIn-4e36cc69{0%{opacity:0}to{opacity:1}}.modal__card[data-v-4e36cc69]{background:#fff;border-radius:var(--radius-xl);width:100%;max-width:640px;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);overflow:hidden;animation:slideUp-4e36cc69 .3s cubic-bezier(.4,0,.2,1)}.modal--full-height[data-v-4e36cc69]{padding:0}.modal__card--form[data-v-4e36cc69]{max-height:100vh;height:100vh;border-radius:0}.modal__card--form .modal__header[data-v-4e36cc69]{padding:var(--space-lg)}.modal__card--form .modal__body[data-v-4e36cc69],.modal__card--form .modal__footer[data-v-4e36cc69]{padding:var(--space-md)}.modal__card--form .form-group[data-v-4e36cc69]{margin-bottom:var(--space-md)}.modal__card--form .ingredient-input-group[data-v-4e36cc69]{margin-bottom:var(--space-sm)}.modal__card--form .label[data-v-4e36cc69]{margin-bottom:6px}.modal__card--form .ingredients-list[data-v-4e36cc69]{margin-top:var(--space-sm);max-height:320px}.modal__card--form .list--compact .li[data-v-4e36cc69]{padding:12px 10px;gap:var(--space-sm);min-height:56px}.modal__card--form .ingredient-name[data-v-4e36cc69]{font-size:var(--font-size-sm)}.modal__card--form .list--compact .btn-icon--danger[data-v-4e36cc69]{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-4e36cc69]:hover{background:transparent;transform:none;color:#dc2626}@keyframes slideUp-4e36cc69{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal__header[data-v-4e36cc69]{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-4e36cc69]{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:#fff}.modal__close[data-v-4e36cc69]{background:#fff3;border:none;font-size:28px;cursor:pointer;color:#fff;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);transition:all .3s cubic-bezier(.4,0,.2,1)}.modal__close[data-v-4e36cc69]:hover{background:#ffffff4d;transform:rotate(90deg)}.modal__body[data-v-4e36cc69]{padding:var(--space-xl);overflow-y:auto;flex:1;-webkit-overflow-scrolling:touch}.modal__footer[data-v-4e36cc69]{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-4e36cc69]{margin-bottom:var(--space-xl)}.label[data-v-4e36cc69]{display:block;margin-bottom:var(--space-sm);font-weight:var(--font-weight-semibold);color:var(--text);font-size:var(--font-size-sm)}.ingredient-input-group[data-v-4e36cc69]{display:flex;gap:var(--space-sm);margin-bottom:var(--space-md);align-items:stretch}.ingredient-input-group[data-v-4e36cc69] .autocomplete{flex:1}.label-optional[data-v-4e36cc69]{font-weight:var(--font-weight-normal);color:var(--text-muted);font-size:var(--font-size-xs)}.meal-type-selector[data-v-4e36cc69]{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.meal-type-option[data-v-4e36cc69]{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:all .2s ease}.meal-type-option[data-v-4e36cc69]:hover{border-color:var(--primary-light);color:var(--primary)}.meal-type-option--active[data-v-4e36cc69]{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-4e36cc69]{display:flex;flex-direction:column;gap:var(--space-xs)}.week-selector__option[data-v-4e36cc69]{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:all .2s ease}.week-selector__option[data-v-4e36cc69]:hover,.week-selector__option--active[data-v-4e36cc69]{border-color:var(--primary);background:#fff}.week-selector__label[data-v-4e36cc69]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text)}.week-selector__option--active .week-selector__label[data-v-4e36cc69]{color:var(--primary)}.week-selector__range[data-v-4e36cc69]{font-size:var(--font-size-xs);color:var(--text-muted)}.select--readonly[data-v-4e36cc69]{background:var(--card-hover);color:var(--text-muted);border-color:var(--border);cursor:not-allowed}.ingredients-list[data-v-4e36cc69]{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-4e36cc69]{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-4e36cc69]:hover{background:var(--card-hover)}.list--compact .li[data-v-4e36cc69]:last-child{border-bottom:none}.ingredient-name[data-v-4e36cc69]{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-4e36cc69]{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:all .3s cubic-bezier(.4,0,.2,1);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-4e36cc69]{background:var(--primary-gradient);color:#fff}.btn--primary[data-v-4e36cc69]:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-colored)}.btn--primary[data-v-4e36cc69]:active:not(:disabled){transform:translateY(0)}.btn--primary[data-v-4e36cc69]:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn--secondary[data-v-4e36cc69]{background:var(--card-hover);color:var(--text)}.btn--secondary[data-v-4e36cc69]:hover{background:var(--border);transform:translateY(-1px)}.btn--outline[data-v-4e36cc69]{background:transparent;color:var(--primary);border:2px solid var(--primary)}.btn--outline[data-v-4e36cc69]:hover{background:var(--card-hover);transform:translateY(-1px)}.btn--saved[data-v-4e36cc69]{background:var(--success);color:#fff;border:2px solid var(--success)}.btn--saved[data-v-4e36cc69]:hover{transform:none}.favorite-btn[data-v-4e36cc69]{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-4e36cc69]{width:24px;height:24px}.favorite-btn[data-v-4e36cc69]:hover:not(:disabled){background:#6366f114;transform:none;box-shadow:none}.favorite-btn[data-v-4e36cc69]:disabled{cursor:default}.favorite-btn--active[data-v-4e36cc69]{color:#ef4444;border-color:#ef4444;background:transparent}.favorite-btn--active[data-v-4e36cc69]:hover{background:transparent}.btn-icon[data-v-4e36cc69]{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:all .3s cubic-bezier(.4,0,.2,1)}.btn-icon--danger[data-v-4e36cc69]{background:transparent;color:var(--danger)}.btn-icon--danger[data-v-4e36cc69]:hover{background:#ef44441a;transform:scale(1.1)}@media(max-width:768px){.modal[data-v-4e36cc69]{padding:0;align-items:flex-end}.modal__card[data-v-4e36cc69]{max-height:95vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.modal--full-height[data-v-4e36cc69]{align-items:stretch}.modal__card--form[data-v-4e36cc69]{max-height:100vh;height:100vh;border-radius:0}.modal__card--form .modal__header[data-v-4e36cc69]{padding:var(--space-md)}.modal__card--form .modal__body[data-v-4e36cc69],.modal__card--form .modal__footer[data-v-4e36cc69]{padding:12px}.modal__card--form .form-group[data-v-4e36cc69]{margin-bottom:12px}.modal__card--form .list--compact .li[data-v-4e36cc69]{padding:10px 8px;gap:6px;min-height:52px}.modal__header[data-v-4e36cc69]{padding:var(--space-lg)}.modal__header h2[data-v-4e36cc69]{font-size:var(--font-size-lg)}.modal__body[data-v-4e36cc69]{padding:var(--space-lg)}.modal__footer[data-v-4e36cc69]{padding:var(--space-lg);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}.modal__footer .btn[data-v-4e36cc69]{width:100%;min-width:0;white-space:normal}.modal__footer .favorite-btn[data-v-4e36cc69]{width:100%;min-width:0}.modal__footer .btn[data-v-4e36cc69]:only-child{grid-column:1 / -1}}.modal-overlay[data-v-898d540d]{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:10000;padding:var(--space-lg);animation:fadeIn-898d540d .2s ease}@keyframes fadeIn-898d540d{0%{opacity:0}to{opacity:1}}.move-modal[data-v-898d540d]{background:var(--card-bg);border-radius:var(--radius-xl);width:100%;max-width:420px;box-shadow:var(--shadow-xl);overflow:hidden;animation:slideUp-898d540d .3s cubic-bezier(.4,0,.2,1)}@keyframes slideUp-898d540d{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.move-modal__header[data-v-898d540d]{padding:var(--space-lg);background:var(--primary-gradient);display:flex;justify-content:space-between;align-items:center}.move-modal__header h3[data-v-898d540d]{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-898d540d]{background:#fff3;border:none;font-size:24px;cursor:pointer;color:#fff;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);transition:background .2s;flex-shrink:0;margin-left:var(--space-sm)}.move-modal__close[data-v-898d540d]:hover{background:#ffffff4d}.move-modal__body[data-v-898d540d]{padding:var(--space-lg)}.form-group[data-v-898d540d]{margin-bottom:var(--space-lg)}.form-group[data-v-898d540d]:last-child{margin-bottom:0}.label[data-v-898d540d]{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-898d540d]{display:flex;flex-direction:column;gap:var(--space-xs)}.week-option[data-v-898d540d]{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:all .2s ease}.week-option[data-v-898d540d]:hover,.week-option--active[data-v-898d540d]{border-color:var(--primary);background:var(--card-bg)}.week-option__label[data-v-898d540d]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text)}.week-option--active .week-option__label[data-v-898d540d]{color:var(--primary)}.week-option__range[data-v-898d540d]{font-size:var(--font-size-xs);color:var(--text-muted)}.select[data-v-898d540d]{width:100%;padding:var(--space-sm) var(--space-md);border:2px solid var(--border-light);border-radius:var(--radius-md);font-size:var(--font-size-base);background:var(--bg);color:var(--text);cursor:pointer;transition:border-color .2s}.select[data-v-898d540d]:focus{outline:none;border-color:var(--primary)}.checkbox-card[data-v-898d540d]{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-898d540d]{width:18px;height:18px;margin-top:2px;flex-shrink:0;accent-color:var(--primary)}.checkbox-card__content[data-v-898d540d]{display:flex;flex-direction:column;gap:4px}.checkbox-card__title[data-v-898d540d]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text)}.checkbox-card__hint[data-v-898d540d]{font-size:var(--font-size-xs);line-height:1.4;color:var(--text-muted)}.ingredient-selection__header[data-v-898d540d]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-sm)}.ingredient-selection__header .label[data-v-898d540d]{margin-bottom:0}.ingredient-selection__count[data-v-898d540d]{font-size:var(--font-size-xs);color:var(--text-muted)}.ingredient-selection__actions[data-v-898d540d]{display:flex;gap:var(--space-sm);margin-bottom:var(--space-sm)}.ingredient-selection__action[data-v-898d540d]{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-898d540d]:hover{transform:none;box-shadow:none;opacity:.8}.ingredient-selection[data-v-898d540d]{display:flex;flex-direction:column;gap:var(--space-xs)}.ingredient-option[data-v-898d540d]{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-898d540d]{width:18px;height:18px;margin-top:1px;flex-shrink:0;accent-color:var(--primary)}.ingredient-option__content[data-v-898d540d]{display:flex;flex:1;align-items:center;justify-content:space-between;gap:var(--space-sm);min-width:0}.ingredient-option__name[data-v-898d540d]{color:var(--text);font-size:var(--font-size-sm);word-break:break-word}.ingredient-option__quantity[data-v-898d540d]{color:var(--text-muted);font-size:var(--font-size-xs);flex-shrink:0}.move-modal__footer[data-v-898d540d]{padding:var(--space-lg);border-top:1px solid var(--border-light);display:flex;gap:var(--space-md);justify-content:flex-end}.btn[data-v-898d540d]{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:all .2s ease}.btn--secondary[data-v-898d540d]{background:var(--bg);color:var(--text);border:1px solid var(--border)}.btn--secondary[data-v-898d540d]:hover{background:var(--card-hover)}.btn--primary[data-v-898d540d]{background:var(--primary-gradient);color:#fff}.btn--primary[data-v-898d540d]:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn--primary[data-v-898d540d]:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.modal-overlay[data-v-898d540d]{padding:0;align-items:stretch}.move-modal[data-v-898d540d]{max-width:100%;width:100%;height:100%;border-radius:0;display:flex;flex-direction:column}.move-modal__body[data-v-898d540d]{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}}.week-timeline[data-v-e095fbd3]{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-e095fbd3]{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:all .2s ease;scroll-snap-align:center}.week-chip[data-v-e095fbd3]:hover{border-color:var(--border-light);background:var(--card-bg);color:var(--text);box-shadow:var(--shadow-xs);transform:none}.week-chip[data-v-e095fbd3]:active,.week-chip[data-v-e095fbd3]:focus-visible,.week-chip[data-v-e095fbd3]: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-e095fbd3],.week-chip--active[data-v-e095fbd3]:hover,.week-chip--active[data-v-e095fbd3]:active,.week-chip--active[data-v-e095fbd3]:focus-visible,.week-chip--active[data-v-e095fbd3]:focus{border-color:var(--primary);background:var(--card-bg);color:var(--text);box-shadow:var(--shadow-xs);outline:none}.week-chip__tag[data-v-e095fbd3]{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-muted)}.week-chip__range[data-v-e095fbd3]{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}@media(min-width:769px){.week-timeline[data-v-e095fbd3]{margin-bottom:var(--space-md);gap:6px}.week-chip[data-v-e095fbd3]{min-width:160px;padding:var(--space-xs) var(--space-sm)}.week-chip__tag[data-v-e095fbd3]{font-size:11px}.week-chip__range[data-v-e095fbd3]{font-size:var(--font-size-xs)}}.archive-banner[data-v-fb7930af]{margin-bottom:var(--space-md);display:flex;align-items:center}.archive-banner__btn[data-v-fb7930af]{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:all .2s ease;width:100%;justify-content:center}.archive-banner__btn[data-v-fb7930af]:hover:not(:disabled){border-color:var(--primary-light);color:var(--primary)}.archive-banner__btn[data-v-fb7930af]:disabled{opacity:.6;cursor:not-allowed}.archive-banner__btn svg[data-v-fb7930af]{width:16px;height:16px;flex-shrink:0}.archive-banner__done[data-v-fb7930af]{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-fb7930af]{width:16px;height:16px;color:var(--success, #22c55e);flex-shrink:0}.day-card[data-v-03b957fb]{background:var(--card-bg);border:2px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--space-lg);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);min-height:120px;width:100%;max-width:100%;box-shadow:var(--shadow-sm);animation:fadeInUp-03b957fb .5s cubic-bezier(.4,0,.2,1) backwards}@keyframes fadeInUp-03b957fb{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.day-card[data-v-03b957fb]:hover{border-color:var(--primary-light);box-shadow:var(--shadow-md);transform:translateY(-2px)}.day-card__header[data-v-03b957fb]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.day-card__title[data-v-03b957fb]{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);text-transform:capitalize;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.day-card__count[data-v-03b957fb]{display:flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 8px;background:var(--primary-gradient);color:#fff;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);border-radius:var(--radius-full);box-shadow:var(--shadow-sm)}.day-card__meals[data-v-03b957fb]{display:flex;flex-direction:column}.day-card__empty[data-v-03b957fb]{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);color:var(--text-muted);text-align:center;padding:var(--space-xl)}.empty-icon[data-v-03b957fb]{width:48px;height:48px;opacity:.3}.day-card__empty p[data-v-03b957fb]{margin:0;font-size:var(--font-size-sm)}.meal-card[data-v-03b957fb]{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;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%;max-width:100%;overflow:hidden;box-shadow:var(--shadow-xs);animation:slideIn-03b957fb .4s cubic-bezier(.4,0,.2,1) backwards}.meal-card[data-v-03b957fb]:nth-child(1){animation-delay:0ms}.meal-card[data-v-03b957fb]:nth-child(2){animation-delay:50ms}.meal-card[data-v-03b957fb]:nth-child(3){animation-delay:.1s}.meal-card[data-v-03b957fb]:nth-child(4){animation-delay:.15s}.meal-card[data-v-03b957fb]:nth-child(5){animation-delay:.2s}@keyframes slideIn-03b957fb{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.meal-card[data-v-03b957fb]:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--border)}.meal-card__accent[data-v-03b957fb]{position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--primary-gradient);border-radius:var(--radius-md) 0 0 var(--radius-md)}.meal-card__main[data-v-03b957fb]{flex:1;min-width:0}.meal-card__title-row[data-v-03b957fb]{display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap;margin-bottom:4px}.meal-card__name[data-v-03b957fb]{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-03b957fb]{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-03b957fb]{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-03b957fb]{display:flex;gap:2px;flex-shrink:0}.action-btn[data-v-03b957fb]{width:32px;height:32px;padding:0;border:none;background:transparent;cursor:pointer;border-radius:var(--radius-sm);transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.action-btn svg[data-v-03b957fb]{width:16px;height:16px}.action-btn[data-v-03b957fb]:hover{transform:scale(1.1)}.action-btn--duplicate[data-v-03b957fb]:hover,.action-btn--move[data-v-03b957fb]:hover,.action-btn--edit[data-v-03b957fb]:hover{background:#6366f11a;color:var(--primary)}.action-btn--delete[data-v-03b957fb]:hover{background:#ef44441a;color:var(--danger)}@media(max-width:768px){.day-card[data-v-03b957fb]{padding:var(--space-md)}.meal-card[data-v-03b957fb]{padding:var(--space-sm);padding-left:calc(var(--space-sm) + 4px);gap:var(--space-xs)}.meal-card__name[data-v-03b957fb]{font-size:var(--font-size-sm)}.action-btn[data-v-03b957fb]{width:30px;height:30px}.action-btn svg[data-v-03b957fb]{width:15px;height:15px}}@media(min-width:769px){.day-card[data-v-03b957fb]{padding:var(--space-md);min-height:100px}.day-card__header[data-v-03b957fb]{margin-bottom:var(--space-sm)}.day-card__title[data-v-03b957fb]{font-size:var(--font-size-base)}.day-card__count[data-v-03b957fb]{min-width:22px;height:22px;font-size:11px}.day-card__empty[data-v-03b957fb]{padding:var(--space-lg);gap:var(--space-xs)}.empty-icon[data-v-03b957fb]{width:32px;height:32px}.meal-card[data-v-03b957fb]{padding:var(--space-sm);padding-left:calc(var(--space-sm) + 4px);gap:var(--space-xs)}.meal-card__name[data-v-03b957fb]{font-size:var(--font-size-sm)}.action-btn[data-v-03b957fb]{width:28px;height:28px}.action-btn svg[data-v-03b957fb]{width:14px;height:14px}}.past-days-toggle[data-v-f2c24527]{margin-bottom:var(--space-md)}.past-days-btn[data-v-f2c24527]{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:all .2s ease;width:100%;justify-content:center}.past-days-btn[data-v-f2c24527]:hover{border-color:var(--primary-light);color:var(--primary)}.past-days-btn__icon[data-v-f2c24527]{width:18px;height:18px;transition:transform .2s ease}.past-days-btn__icon--open[data-v-f2c24527]{transform:rotate(180deg)}.days-grid--past[data-v-f2c24527]{margin-bottom:var(--space-md);opacity:.7}.days-grid[data-v-f2c24527]{display:grid;grid-template-columns:1fr;gap:12px;width:100%}@media(min-width:769px){.days-grid[data-v-f2c24527]{grid-template-columns:repeat(2,1fr);gap:14px}}@media(min-width:1100px){.days-grid[data-v-f2c24527]{grid-template-columns:repeat(3,1fr);gap:14px}}@media(min-width:1400px){.days-grid[data-v-f2c24527]{grid-template-columns:repeat(4,1fr)}}.meals-view[data-v-e6f2d7bb]{padding:16px;width:100%;max-width:100vw;overflow-x:hidden}.loading[data-v-e6f2d7bb],.error[data-v-e6f2d7bb]{text-align:center;padding:40px;font-size:18px}.error[data-v-e6f2d7bb]{color:var(--danger)}@media(min-width:769px){.meals-view[data-v-e6f2d7bb]{padding:24px 28px;max-width:1440px;margin:0 auto}}.ingredient-item[data-v-dd16e109]{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;overflow:hidden;cursor:pointer}.ingredient-item[data-v-dd16e109]:hover{background:var(--card-hover);border-radius:var(--radius-sm)}.ingredient-item--bought[data-v-dd16e109]{opacity:.6}.ingredient-item--removing[data-v-dd16e109]{opacity:0;transform:translate(-30px)}.ingredient-item__name[data-v-dd16e109]{flex:1;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);-webkit-user-select:none;user-select:none;transition:all .3s ease;word-break:break-word;min-width:0;color:var(--text)}.ingredient-item__name--bought[data-v-dd16e109]{text-decoration:line-through;color:var(--text-muted)}.ingredient-item__delete[data-v-dd16e109]{width:36px;height:36px;padding:0;border:none;background:transparent;cursor:pointer;border-radius:var(--radius-sm);transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;color:var(--text-light);flex-shrink:0}.ingredient-item__delete svg[data-v-dd16e109]{width:18px;height:18px}.ingredient-item__delete[data-v-dd16e109]:hover{background:#ef44441a;color:var(--danger);transform:scale(1.1)}@media(max-width:768px){.ingredient-item[data-v-dd16e109]{gap:var(--space-xs);padding:var(--space-sm) var(--space-xs)}.ingredient-item__name[data-v-dd16e109]{font-size:var(--font-size-sm)}.ingredient-item__delete[data-v-dd16e109]{width:32px;height:32px}.ingredient-item__delete svg[data-v-dd16e109]{width:16px;height:16px}}.ingredients-view[data-v-2467ccaa]{padding:16px;width:100%;max-width:100vw;overflow-x:hidden}.ingredients-layout[data-v-2467ccaa]{display:flex;flex-direction:column;gap:var(--space-sm)}.add-ingredient-section[data-v-2467ccaa]{margin-bottom:var(--space-sm);width:100%}.add-ingredient-section[data-v-2467ccaa] .input{background:transparent}.ingredients-list[data-v-2467ccaa]{background:var(--card-bg);border-radius:var(--radius-md);padding:0 var(--space-md);box-shadow:var(--shadow-sm)}.loading[data-v-2467ccaa],.error[data-v-2467ccaa],.empty[data-v-2467ccaa]{text-align:center;padding:40px;font-size:18px;background:var(--card-bg);border-radius:8px}.error[data-v-2467ccaa]{color:var(--danger)}.empty[data-v-2467ccaa]{color:var(--text-muted)}.stats[data-v-2467ccaa]{display:flex;justify-content:space-around;margin-top:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--card-bg);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);gap:var(--space-sm)}.stats__item[data-v-2467ccaa]{display:flex;flex-direction:column;align-items:center;gap:2px;flex:1}.stats__label[data-v-2467ccaa]{font-size:12px;color:var(--text-muted)}.stats__value[data-v-2467ccaa]{font-size:20px;font-weight:700;color:var(--primary)}.stats__value--pending[data-v-2467ccaa]{color:var(--accent-orange)}.stats__value--done[data-v-2467ccaa]{color:var(--accent-green)}.clear-list-btn[data-v-2467ccaa]{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);width:100%;margin-top:var(--space-sm);padding:var(--space-md);background:transparent;color:var(--danger);border:1px solid var(--danger);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all .2s ease}.clear-list-btn svg[data-v-2467ccaa]{width:18px;height:18px}.clear-list-btn[data-v-2467ccaa]:hover{background:var(--danger);color:#fff}.ingredients-sidebar[data-v-2467ccaa]{display:contents}@media(min-width:769px){.ingredients-view[data-v-2467ccaa]{padding:24px 28px;max-width:1100px;margin:0 auto}.ingredients-layout[data-v-2467ccaa]{flex-direction:row;align-items:flex-start;gap:var(--space-lg)}.ingredients-sidebar[data-v-2467ccaa]{display:flex;flex-direction:column;gap:var(--space-sm);width:260px;flex-shrink:0;position:sticky;top:24px}.ingredients-main[data-v-2467ccaa]{flex:1;min-width:0}.add-ingredient-section[data-v-2467ccaa]{margin-bottom:0}.stats[data-v-2467ccaa]{margin-top:0;flex-direction:column;gap:0;padding:var(--space-sm) 0}.stats__item[data-v-2467ccaa]{flex-direction:row;justify-content:space-between;padding:var(--space-xs) var(--space-md);border-bottom:1px solid var(--border-light)}.stats__item[data-v-2467ccaa]:last-child{border-bottom:none}.stats__label[data-v-2467ccaa]{font-size:var(--font-size-sm)}.stats__value[data-v-2467ccaa]{font-size:var(--font-size-lg)}.clear-list-btn[data-v-2467ccaa]{margin-top:0}}.archive-meals[data-v-0a0e6a10]{display:flex;flex-direction:column;gap:var(--space-md)}.archive-days-grid[data-v-0a0e6a10]{display:grid;grid-template-columns:1fr;gap:var(--space-md)}.archive-day-card[data-v-0a0e6a10]{min-width:0;padding:var(--space-md);background:#f8fafcd1;border:1px solid var(--border-light);border-radius:var(--radius-lg)}.archive-day-card__header[data-v-0a0e6a10]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.archive-day-card__title[data-v-0a0e6a10]{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);text-transform:capitalize;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.archive-day-card__count[data-v-0a0e6a10]{display:flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 8px;background:var(--primary-gradient);color:#fff;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);border-radius:var(--radius-full);box-shadow:var(--shadow-sm)}.archive-day-card__meals[data-v-0a0e6a10]{display:flex;flex-direction:column;gap:var(--space-sm)}.archive-day-card__empty[data-v-0a0e6a10]{color:var(--text-muted);font-size:var(--font-size-sm);padding:var(--space-sm) 0}.archive-day-card__empty p[data-v-0a0e6a10]{margin:0}.archive-meal-card[data-v-0a0e6a10]{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:all .2s ease}.archive-meal-card[data-v-0a0e6a10]:hover{box-shadow:var(--shadow-md);border-color:var(--border)}.archive-meal-card__accent[data-v-0a0e6a10]{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-0a0e6a10]{flex:1;min-width:0}.archive-meal-card__title-row[data-v-0a0e6a10]{display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap;margin-bottom:4px}.archive-meal-card__name[data-v-0a0e6a10]{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-0a0e6a10]{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-0a0e6a10]{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-0a0e6a10]{width:32px;height:32px;padding:0;border:none;background:transparent;cursor:pointer;border-radius:var(--radius-sm);transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;color:var(--text-muted);flex-shrink:0}.action-btn svg[data-v-0a0e6a10]{width:16px;height:16px}.action-btn[data-v-0a0e6a10]:hover{transform:scale(1.1)}.action-btn--add[data-v-0a0e6a10]:hover{background:#6366f11a;color:var(--primary)}.archive-meals__empty[data-v-0a0e6a10]{text-align:center;padding:var(--space-xl);color:var(--text-muted)}.archive-meals__empty p[data-v-0a0e6a10]{margin:0}@media(max-width:768px){.archive-meal-card[data-v-0a0e6a10]{padding:var(--space-sm);padding-left:calc(var(--space-sm) + 4px);gap:var(--space-xs)}.archive-meal-card__name[data-v-0a0e6a10]{font-size:var(--font-size-sm)}}@media(min-width:769px){.archive-days-grid[data-v-0a0e6a10]{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}@media(min-width:1180px){.archive-days-grid[data-v-0a0e6a10]{grid-template-columns:repeat(4,minmax(0,1fr))}}.week-card[data-v-e84d353c]{background:var(--color-surface);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);overflow:hidden;transition:all .3s ease;border:1px solid rgba(229,231,235,.9)}.week-card[data-v-e84d353c]:hover{box-shadow:var(--shadow-lg)}.week-card__header[data-v-e84d353c]{display:flex;align-items:center;padding:var(--space-lg) var(--space-xl);cursor:pointer;position:relative;gap:var(--space-md)}.week-card__accent[data-v-e84d353c]{position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(135deg,var(--color-primary),var(--color-accent))}.week-card__info[data-v-e84d353c]{flex:1;min-width:0}.week-card__title[data-v-e84d353c]{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-e84d353c]{display:flex;gap:var(--space-lg);flex-wrap:wrap}.week-card__actions[data-v-e84d353c]{display:flex;align-items:center;gap:var(--space-xs);margin-left:auto;flex-shrink:0}.stat[data-v-e84d353c]{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.stat svg[data-v-e84d353c]{width:16px;height:16px;opacity:.7}.week-card__delete[data-v-e84d353c]{background:none;border:none;padding:var(--space-sm);cursor:pointer;color:var(--color-text-secondary);transition:all .2s ease;border-radius:var(--border-radius-md);flex-shrink:0}.week-card__delete[data-v-e84d353c]:hover{background:#ef44441a;color:#ef4444}.week-card__delete svg[data-v-e84d353c]{width:18px;height:18px;display:block}.week-card__toggle[data-v-e84d353c]{background:none;border:none;padding:var(--space-sm);cursor:pointer;color:var(--color-text-secondary);transition:all .3s ease;border-radius:var(--border-radius-md)}.week-card__toggle[data-v-e84d353c]:hover{background:var(--color-background);color:var(--color-primary)}.week-card__toggle svg[data-v-e84d353c]{width:24px;height:24px;transition:transform .3s ease}.week-card__toggle--expanded svg[data-v-e84d353c]{transform:rotate(180deg)}.week-card__copy-week[data-v-e84d353c]{margin-bottom:var(--space-md)}.copy-week-btn[data-v-e84d353c]{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:all .2s ease;width:100%;justify-content:center}.copy-week-btn[data-v-e84d353c]:hover{background:var(--color-primary);color:#fff}.copy-week-btn svg[data-v-e84d353c]{width:16px;height:16px;flex-shrink:0}.week-card__content[data-v-e84d353c]{border-top:1px solid var(--color-border);padding:var(--space-lg) var(--space-xl) var(--space-xl);background:linear-gradient(180deg,#f8fafcb3,#fffffffa);animation:slideDown-e84d353c .3s ease}@keyframes slideDown-e84d353c{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-e84d353c]{padding:var(--space-md);gap:var(--space-sm)}.week-card__title[data-v-e84d353c]{font-size:var(--font-size-base);margin-bottom:6px}.week-card__content[data-v-e84d353c]{padding:var(--space-md)}}.archives-list[data-v-c0d87e72]{display:flex;flex-direction:column;gap:var(--space-md)}.archives-list[data-v-c0d87e72]>*{animation:slideIn-c0d87e72 .5s ease backwards}@keyframes slideIn-c0d87e72{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.modal-overlay[data-v-a2c9170b]{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:10000;padding:var(--space-lg);animation:fadeIn-a2c9170b .2s ease}@keyframes fadeIn-a2c9170b{0%{opacity:0}to{opacity:1}}.copy-week-modal[data-v-a2c9170b]{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-a2c9170b .3s cubic-bezier(.4,0,.2,1)}@keyframes slideUp-a2c9170b{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.copy-week-modal__header[data-v-a2c9170b]{padding:var(--space-lg);background:var(--primary-gradient);display:flex;justify-content:space-between;align-items:center}.copy-week-modal__header h3[data-v-a2c9170b]{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold, 700);color:#fff}.copy-week-modal__close[data-v-a2c9170b]{background:#fff3;border:none;font-size:24px;cursor:pointer;color:#fff;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full, 9999px);transition:background .2s}.copy-week-modal__close[data-v-a2c9170b]:hover{background:#ffffff4d}.copy-week-modal__body[data-v-a2c9170b]{padding:var(--space-lg)}.copy-week-modal__info[data-v-a2c9170b]{margin:0 0 var(--space-md) 0;font-size:var(--font-size-sm);color:var(--text-muted)}.week-options[data-v-a2c9170b]{display:flex;flex-direction:column;gap:var(--space-xs)}.week-option[data-v-a2c9170b]{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:all .2s ease}.week-option[data-v-a2c9170b]:hover{border-color:var(--primary)}.week-option--active[data-v-a2c9170b]{border-color:var(--primary);background:var(--card-bg, white)}.week-option__label[data-v-a2c9170b]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold, 600);color:var(--text)}.week-option--active .week-option__label[data-v-a2c9170b]{color:var(--primary)}.week-option__range[data-v-a2c9170b]{font-size:var(--font-size-xs);color:var(--text-muted)}.copy-week-modal__footer[data-v-a2c9170b]{padding:var(--space-lg);border-top:1px solid var(--border-light);display:flex;gap:var(--space-md);justify-content:flex-end}.btn[data-v-a2c9170b]{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:all .2s ease}.btn--secondary[data-v-a2c9170b]{background:var(--bg, #f5f5f5);color:var(--text);border:1px solid var(--border)}.btn--secondary[data-v-a2c9170b]:hover{background:var(--card-hover)}.btn--primary[data-v-a2c9170b]{background:var(--primary-gradient);color:#fff}.btn--primary[data-v-a2c9170b]:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-sm)}@media(max-width:768px){.modal-overlay[data-v-a2c9170b]{padding:0;align-items:flex-end}.copy-week-modal[data-v-a2c9170b]{max-width:100%;border-radius:var(--radius-xl) var(--radius-xl) 0 0}}.copy-week-overlay[data-v-8a79e5ef]{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:9999}.copy-week-progress[data-v-8a79e5ef]{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-8a79e5ef]{width:24px;height:24px;animation:spin-8a79e5ef 1s linear infinite;color:var(--color-primary)}@keyframes spin-8a79e5ef{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.stats-panel[data-v-ff487d87]{display:flex;flex-direction:column;gap:var(--space-lg)}.stats-panel__intro h2[data-v-ff487d87]{margin:0 0 6px;font-size:var(--font-size-xl);color:var(--color-text-primary)}.stats-panel__intro p[data-v-ff487d87]{margin:0;color:var(--color-text-secondary)}.stats-panel__empty[data-v-ff487d87]{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-ff487d87]{margin:0}.stats-summary[data-v-ff487d87]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:-2px}.summary-card[data-v-ff487d87]{display:flex;flex-direction:column;gap:6px;min-width:0;padding:10px 10px 9px;border-radius:12px;background:linear-gradient(180deg,#fffffff5,#f8fafceb);border:1px solid rgba(226,232,240,.9);box-shadow:var(--shadow-xs)}.summary-card--dish[data-v-ff487d87]{border-color:#6366f124}.summary-card--ingredient[data-v-ff487d87]{border-color:#0ea5e924}.summary-card__top[data-v-ff487d87]{display:flex;align-items:center;justify-content:space-between;gap:6px}.summary-card__label[data-v-ff487d87]{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-ff487d87]{width:7px;height:7px;border-radius:999px;flex-shrink:0}.summary-card--dish .summary-card__dot[data-v-ff487d87]{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.summary-card--ingredient .summary-card__dot[data-v-ff487d87]{background:linear-gradient(135deg,#0ea5e9,#10b981)}.summary-card__value[data-v-ff487d87]{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-ff487d87]{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-ff487d87]{color:#5b5bd6;background:#6366f11a}.summary-card--ingredient .summary-card__meta[data-v-ff487d87]{color:#0f8aa6;background:#0ea5e91a}.stats-sections[data-v-ff487d87]{display:flex;flex-direction:column;gap:var(--space-lg)}.stats-section[data-v-ff487d87]{padding:var(--space-lg);border-radius:var(--radius-lg);background:var(--card-bg);box-shadow:var(--shadow-sm)}.stats-section__header[data-v-ff487d87]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-md)}.stats-section__header h3[data-v-ff487d87]{margin:0;font-size:var(--font-size-lg);color:var(--color-text-primary)}.stats-section__header span[data-v-ff487d87]{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.ranking-list[data-v-ff487d87]{display:flex;flex-direction:column;gap:var(--space-sm)}.ranking-item[data-v-ff487d87]{display:flex;gap:var(--space-sm);align-items:flex-start}.ranking-item__rank[data-v-ff487d87]{width:30px;height:30px;border-radius:999px;background:#6366f114;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-ff487d87]{flex:1;min-width:0}.ranking-item__row[data-v-ff487d87]{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-sm)}.ranking-item__name[data-v-ff487d87]{font-size:var(--font-size-sm);color:var(--text);word-break:break-word}.ranking-item__count[data-v-ff487d87]{font-size:var(--font-size-xs);color:var(--text-muted);flex-shrink:0}.ranking-item__bar[data-v-ff487d87]{height:8px;margin-top:8px;border-radius:var(--radius-full);background:#94a3b829;overflow:hidden}.ranking-item__bar-fill[data-v-ff487d87]{display:block;height:100%;border-radius:inherit}.ranking-item__bar-fill--dish[data-v-ff487d87]{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.ranking-item__bar-fill--ingredient[data-v-ff487d87]{background:linear-gradient(135deg,#0ea5e9,#10b981)}@media(min-width:769px){.stats-summary[data-v-ff487d87]{grid-template-columns:repeat(2,minmax(0,1fr))}}.history-view[data-v-72b5afce]{padding:var(--space-lg);padding-bottom:calc(var(--space-2xl) + 80px)}.history-tabs[data-v-72b5afce]{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-72b5afce]{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-72b5afce]:hover{transform:none;box-shadow:none;background:#6366f10f;color:var(--primary)}.history-tabs__item--active[data-v-72b5afce]{background:linear-gradient(135deg,#6366f124,#764ba21f);color:var(--primary)}.loading[data-v-72b5afce],.error[data-v-72b5afce]{text-align:center;padding:var(--space-2xl);color:var(--color-text-secondary)}.error[data-v-72b5afce]{color:var(--color-error)}.empty-state[data-v-72b5afce]{text-align:center;padding:var(--space-2xl);animation:fadeInUp-72b5afce .5s ease}.empty-icon[data-v-72b5afce]{width:80px;height:80px;margin:0 auto var(--space-lg);color:var(--color-text-secondary);opacity:.5}.empty-state h2[data-v-72b5afce]{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-72b5afce]{font-size:var(--font-size-md);color:var(--color-text-secondary);margin:0}@keyframes fadeInUp-72b5afce{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.history-view[data-v-72b5afce]{padding:var(--space-md)}}@media(min-width:769px){.history-view[data-v-72b5afce]{padding:24px 28px;padding-bottom:var(--space-2xl);max-width:1400px;margin:0 auto}.history-tabs[data-v-72b5afce]{max-width:320px}}.controls-card[data-v-300ae938]{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:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.controls-bar[data-v-300ae938]{display:flex;gap:var(--space-sm);align-items:center}.search-box[data-v-300ae938]{position:relative;flex:1}.search-box__icon[data-v-300ae938]{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-300ae938]{min-height:44px;padding-left:44px;padding-right:44px}.search-box__clear[data-v-300ae938]{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-300ae938]:hover{background:#6366f114;color:var(--color-primary)}.search-box__clear svg[data-v-300ae938]{width:16px;height:16px}.filter-toggle[data-v-300ae938]{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-300ae938]{width:18px;height:18px}.filter-toggle[data-v-300ae938]:hover{border-color:#6366f159}.filter-toggle--active[data-v-300ae938]{color:var(--color-primary);border-color:#6366f14d;background:#6366f114}.filter-toggle__badge[data-v-300ae938]{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-300ae938]{margin-top:10px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.controls-active-filters__chips[data-v-300ae938]{display:flex;flex-wrap:wrap;gap:8px}.active-filter-chip[data-v-300ae938]{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:6px 10px;border-radius:999px;background:#6366f114;color:var(--color-primary);font-size:13px;font-weight:600;line-height:1;box-shadow:none}.active-filter-chip[data-v-300ae938]:hover{background:#6366f124}.active-filter-chip--meal-type[data-v-300ae938]{background:var(--meal-type-bg-strong);color:var(--meal-type-text);border:1px solid var(--meal-type-border)}.active-filter-chip--meal-type[data-v-300ae938]:hover{background:var(--meal-type-bg-strong);opacity:.92}.active-filter-chip svg[data-v-300ae938]{width:12px;height:12px}.controls-active-filters__clear[data-v-300ae938]{padding:0;border:none;background:transparent;color:var(--color-primary);font-size:var(--font-size-sm);font-weight:600;box-shadow:none}.controls-active-filters__clear[data-v-300ae938]:hover{color:var(--primary-dark)}.controls-summary[data-v-300ae938]{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-300ae938]{top:10px;padding:10px;margin-bottom:12px;border-radius:14px}.controls-summary[data-v-300ae938]{margin-top:6px;font-size:13px}.search-box__input[data-v-300ae938]{min-height:42px;padding-left:40px}.search-box__icon[data-v-300ae938]{left:12px;width:16px;height:16px}.filter-toggle[data-v-300ae938]{min-width:56px;min-height:42px;padding:0 12px;gap:6px}.filter-toggle__label[data-v-300ae938]{display:none}.controls-active-filters[data-v-300ae938]{margin-top:8px;gap:6px}.controls-active-filters__chips[data-v-300ae938]{gap:6px}.active-filter-chip[data-v-300ae938]{min-height:28px;padding:5px 9px;font-size:12px}}.templates-list[data-v-6cd3ddd2]{display:grid;grid-template-columns:1fr;gap:var(--space-md)}.templates-list[data-v-6cd3ddd2]>*{animation:slideIn-6cd3ddd2 .5s ease backwards}.template-card[data-v-6cd3ddd2]{background:var(--color-surface);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);padding:var(--space-md);position:relative;overflow:hidden;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-md);transition:all .3s ease}.template-card[data-v-6cd3ddd2]:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.template-card--just-added[data-v-6cd3ddd2]{animation:cardJustAdded-6cd3ddd2 1.5s ease}@keyframes cardJustAdded-6cd3ddd2{0%{box-shadow:0 0 #6366f180}50%{box-shadow:0 0 0 8px #6366f100}to{box-shadow:var(--shadow-md)}}.template-card__accent[data-v-6cd3ddd2]{position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(135deg,var(--color-primary),var(--color-accent))}.template-card__content[data-v-6cd3ddd2]{flex:1;min-width:0;padding-left:var(--space-sm)}.template-card__name[data-v-6cd3ddd2]{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-6cd3ddd2]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--space-xs)}.template-card__meal-type-chip[data-v-6cd3ddd2]{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-6cd3ddd2]{margin:0;font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.template-card__actions[data-v-6cd3ddd2]{display:flex;align-items:center;gap:2px;flex-shrink:0}.action-btn[data-v-6cd3ddd2]{width:32px;height:32px;padding:0;border:none;background:transparent;cursor:pointer;border-radius:var(--radius-sm, 6px);transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.action-btn svg[data-v-6cd3ddd2]{width:16px;height:16px}.action-btn[data-v-6cd3ddd2]:hover{transform:scale(1.1)}.action-btn--add[data-v-6cd3ddd2]:hover,.action-btn--edit[data-v-6cd3ddd2]:hover{background:#6366f11a;color:var(--primary)}.action-btn--delete[data-v-6cd3ddd2]:hover{background:#ef44441a;color:var(--danger)}@keyframes slideIn-6cd3ddd2{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.template-card[data-v-6cd3ddd2]{align-items:flex-start}.template-card__actions[data-v-6cd3ddd2]{width:100%;justify-content:flex-end}}@media(min-width:769px){.templates-list[data-v-6cd3ddd2]{grid-template-columns:repeat(2,1fr);gap:var(--space-md)}}@media(min-width:1200px){.templates-list[data-v-6cd3ddd2]{grid-template-columns:repeat(3,1fr)}}.filters-overlay[data-v-3d825e61]{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:1200;animation:fadeIn-3d825e61 .2s ease}.filters-modal[data-v-3d825e61]{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-3d825e61 .25s ease}.filters-modal__header[data-v-3d825e61]{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-3d825e61]{margin:0 0 4px;font-size:22px;color:var(--color-text-primary)}.filters-modal__header p[data-v-3d825e61]{margin:0;color:var(--color-text-secondary)}.filters-modal__close[data-v-3d825e61]{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-3d825e61]:hover{background:#6366f114;color:var(--color-primary)}.filters-modal__close svg[data-v-3d825e61]{width:18px;height:18px}.filters-section+.filters-section[data-v-3d825e61]{margin-top:var(--space-xl)}.filters-section h4[data-v-3d825e61]{margin:0 0 var(--space-sm) 0;font-size:var(--font-size-md);color:var(--color-text-primary)}.filters-section__header[data-v-3d825e61]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-sm)}.filters-section__header span[data-v-3d825e61],.filters-section__empty[data-v-3d825e61]{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.filters-chips[data-v-3d825e61]{display:flex;flex-wrap:wrap;gap:10px}.filters-chips--ingredients[data-v-3d825e61]{max-height:280px;overflow:auto;padding-right:4px}.filter-chip[data-v-3d825e61]{padding:10px 14px;border-radius:999px;background:#6366f10d;color:var(--color-text-primary);border:1px solid transparent;box-shadow:none}.filter-chip[data-v-3d825e61]:hover{background:#6366f11f;color:var(--color-primary)}.filter-chip--active[data-v-3d825e61]{background:#6366f124;border-color:#6366f14d;color:var(--color-primary)}.filter-chip--active[data-meal-type][data-v-3d825e61]{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-3d825e61]{font-size:var(--font-size-sm)}.filters-modal__footer[data-v-3d825e61]{margin-top:var(--space-xl);display:flex;gap:var(--space-md)}.btn[data-v-3d825e61]{flex:1;padding:var(--space-md) var(--space-lg);border:none;border-radius:var(--border-radius-md);font-size:var(--font-size-md);font-weight:600;cursor:pointer;transition:all .2s ease}.btn--secondary[data-v-3d825e61]{background:#f3f4f6;color:var(--color-text-primary);box-shadow:none}.btn--secondary[data-v-3d825e61]:hover:not(:disabled){background:#e5e7eb}.btn--primary[data-v-3d825e61]{background:linear-gradient(135deg,var(--color-primary),var(--color-accent));color:#fff}@keyframes fadeIn-3d825e61{0%{opacity:0}to{opacity:1}}@keyframes slideUp-3d825e61{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.filters-overlay[data-v-3d825e61]{padding:0;align-items:flex-end}.filters-modal[data-v-3d825e61]{max-height:85vh;border-radius:24px 24px 0 0;padding:var(--space-lg)}.filters-modal__footer[data-v-3d825e61]{flex-direction:column-reverse}}.modal-overlay[data-v-e87a018f]{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:1000;padding:var(--space-lg);animation:fadeIn-e87a018f .2s ease}.confirm-modal[data-v-e87a018f]{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-e87a018f .3s ease}.confirm-modal h3[data-v-e87a018f]{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-e87a018f]{font-size:var(--font-size-md);color:var(--color-text-secondary);margin:0 0 var(--space-lg) 0}.confirm-modal__actions[data-v-e87a018f]{display:flex;gap:var(--space-md)}.btn[data-v-e87a018f]{flex:1;padding:var(--space-md) var(--space-lg);border:none;border-radius:var(--border-radius-md);font-size:var(--font-size-md);font-weight:600;cursor:pointer;transition:all .2s ease}.btn--secondary[data-v-e87a018f]{background:#f3f4f6;color:var(--color-text-primary);box-shadow:none}.btn--secondary[data-v-e87a018f]:hover:not(:disabled){background:#e5e7eb}.btn--primary[data-v-e87a018f]{background:linear-gradient(135deg,var(--color-primary),var(--color-accent));color:#fff}.btn--primary.btn--danger[data-v-e87a018f]{background:linear-gradient(135deg,#ef4444,#dc2626)}@keyframes fadeIn-e87a018f{0%{opacity:0}to{opacity:1}}@keyframes slideUp-e87a018f{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.dishes-view[data-v-a66b8b4c]{padding:var(--space-lg);padding-bottom:calc(var(--space-2xl) + 80px)}.loading[data-v-a66b8b4c],.error[data-v-a66b8b4c]{text-align:center;padding:var(--space-2xl);color:var(--color-text-secondary)}.error[data-v-a66b8b4c]{color:var(--color-error)}.empty-state[data-v-a66b8b4c]{text-align:center;padding:var(--space-2xl);animation:fadeInUp-a66b8b4c .5s ease}.empty-icon[data-v-a66b8b4c]{width:80px;height:80px;margin:0 auto var(--space-lg);color:var(--color-text-secondary);opacity:.5}.empty-state h2[data-v-a66b8b4c]{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-a66b8b4c]{font-size:var(--font-size-md);color:var(--color-text-secondary);margin:0}.empty-state--filtered[data-v-a66b8b4c]{background:linear-gradient(180deg,#ffffffe6,#f8fafce6);border:1px solid rgba(229,231,235,.8);border-radius:var(--border-radius-lg)}.empty-state__action[data-v-a66b8b4c]{margin-top:var(--space-lg);width:auto}.fab[data-v-a66b8b4c]{position:fixed;bottom:calc(92px + env(safe-area-inset-bottom));right:var(--space-xl);width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));border:none;box-shadow:var(--shadow-lg);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:1100}.fab[data-v-a66b8b4c]:hover{transform:scale(1.1);box-shadow:var(--shadow-xl)}.fab[data-v-a66b8b4c]:active{transform:scale(.95)}.fab__icon[data-v-a66b8b4c]{width:24px;height:24px;color:#fff}.btn[data-v-a66b8b4c]{padding:var(--space-md) var(--space-lg);border:none;border-radius:var(--border-radius-md);font-size:var(--font-size-md);font-weight:600;cursor:pointer;transition:all .2s ease}.btn--secondary[data-v-a66b8b4c]{background:#f3f4f6;color:var(--color-text-primary);box-shadow:none}.btn--secondary[data-v-a66b8b4c]:hover:not(:disabled){background:#e5e7eb}@keyframes fadeInUp-a66b8b4c{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.dishes-view[data-v-a66b8b4c]{padding:var(--space-md);padding-bottom:calc(var(--space-2xl) + 84px)}.fab[data-v-a66b8b4c]{bottom:calc(92px + env(safe-area-inset-bottom));right:var(--space-lg)}}@media(min-width:769px){.dishes-view[data-v-a66b8b4c]{padding:24px 28px;padding-bottom:var(--space-2xl);max-width:1400px;margin:0 auto}.fab[data-v-a66b8b4c]{bottom:var(--space-xl);right:var(--space-xl)}}:root{--primary: #6366f1;--primary-dark: #4f46e5;--primary-light: #818cf8;--primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--color-primary: #6366f1;--color-accent: #764ba2;--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;--accent-green: #10b981;--accent-orange: #f59e0b;--accent-pink: #ec4899;--accent-purple: #a855f7;--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(0, 0, 0, .05);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .12);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .15);--shadow-colored: 0 8px 24px rgba(99, 102, 241, .15);--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(99, 102, 241, .08);--meal-type-bg-strong: rgba(99, 102, 241, .16);--meal-type-border: rgba(99, 102, 241, .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}#app{min-height:100vh;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:all .3s cubic-bezier(.4,0,.2,1);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:all .3s cubic-bezier(.4,0,.2,1);background:#fff;max-width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #6366f11a}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:all .3s cubic-bezier(.4,0,.2,1)}.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){body{font-size:14px}button{font-size:14px;padding:8px 12px}}
