.login-container[data-v-3116d868]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:var(--space-lg)}.login-card[data-v-3116d868]{background:var(--md-sys-color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:var(--space-2xl);width:100%;max-width:24rem}.login-header[data-v-3116d868]{text-align:center;margin-bottom:var(--space-2xl)}.login-title[data-v-3116d868]{color:var(--text-primary);font-size:var(--text-3xl);font-weight:var(--font-bold);margin-bottom:var(--space-sm)}.login-subtitle[data-v-3116d868]{color:var(--text-secondary);font-size:var(--text-sm)}.login-form[data-v-3116d868]{width:100%}.login-btn[data-v-3116d868]{width:100%;margin-top:var(--space-md)}.error-message[data-v-3116d868]{background:#ef44441a;color:var(--md-sys-color-error);padding:var(--space-md);border-radius:var(--radius-md);font-size:var(--text-sm);margin-bottom:var(--space-lg);border:1px solid rgba(239,68,68,.2)}.form-input.error[data-v-3116d868]{border-color:var(--md-sys-color-error)}.form-input.error[data-v-3116d868]:focus{box-shadow:0 0 0 3px #ef44441a}@media (max-width: 480px){.login-card[data-v-3116d868]{padding:var(--space-xl)}.login-title[data-v-3116d868]{font-size:var(--text-2xl)}}.board-item[data-v-3a5e82ae]{background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--radius-sm);padding:4px 8px;cursor:grab;transition:all var(--transition-fast);position:relative;-webkit-user-select:none;user-select:none;width:100%;box-sizing:border-box;flex:0 0 auto;display:block;min-height:24px}@media (hover: hover){.board-item[data-v-3a5e82ae]:hover{box-shadow:var(--shadow-md);border-color:var(--md-sys-color-outline);transform:translateY(-1px)}}@media (hover: none){.board-item[data-v-3a5e82ae]:active{background:var(--md-sys-color-surface-container);transform:scale(.98);transition:transform .1s ease}}.board-item[data-v-3a5e82ae]:active{cursor:grabbing}.board-item.is-completed[data-v-3a5e82ae]{opacity:.8;background:var(--md-sys-color-surface-variant)}.board-item.has-recipe[data-v-3a5e82ae]{border-left:4px solid var(--md-sys-color-secondary)}.board-item.drop-success[data-v-3a5e82ae]{animation:dropSuccess-3a5e82ae .6s ease-out;border-color:var(--md-sys-color-primary)}.board-item.moving-to-completed[data-v-3a5e82ae]{animation:moveToCompleted-3a5e82ae .8s cubic-bezier(.4,0,.2,1);z-index:10}.board-item.moving-from-completed[data-v-3a5e82ae]{animation:moveFromCompleted-3a5e82ae .8s cubic-bezier(.4,0,.2,1);z-index:10}@keyframes dropSuccess-3a5e82ae{0%{transform:scale(1);box-shadow:var(--shadow-sm);border-color:var(--md-sys-color-outline-variant)}30%{transform:scale(1.05);box-shadow:0 4px 20px #8b5cf64d;border-color:var(--md-sys-color-primary)}to{transform:scale(1);box-shadow:var(--shadow-sm);border-color:var(--md-sys-color-primary)}}.item-content[data-v-3a5e82ae]{display:flex;flex-direction:column;gap:2px}.item-main-row[data-v-3a5e82ae]{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:20px}.item-left[data-v-3a5e82ae]{flex:1;display:flex;align-items:center;gap:6px;min-width:0}.item-right[data-v-3a5e82ae]{flex-shrink:0;display:flex;align-items:center;gap:4px}.item-meta-row[data-v-3a5e82ae]{display:flex;align-items:center;min-height:16px}.item-meta-content[data-v-3a5e82ae]{display:flex;gap:4px;flex-wrap:wrap;align-items:center}.item-name[data-v-3a5e82ae]{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);margin:0;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.board-item.is-completed .item-name[data-v-3a5e82ae]{text-decoration:line-through;color:var(--text-secondary)}.recipe-tag[data-v-3a5e82ae]{display:flex;align-items:center;gap:2px;padding:2px 4px;border-radius:var(--radius-xs);font-size:9px;font-weight:var(--font-medium);width:fit-content;line-height:1;border:1px solid;transition:all var(--transition-fast);flex-shrink:0}.recipe-icon[data-v-3a5e82ae]{font-size:8px}.recipe-name[data-v-3a5e82ae]{text-transform:capitalize}.status-checkbox[data-v-3a5e82ae]{background:none;border:none;cursor:pointer;padding:2px;border-radius:var(--radius-xs);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);width:24px;height:24px}.checkbox-box[data-v-3a5e82ae]{width:18px;height:18px;border:2px solid var(--md-sys-color-outline);border-radius:var(--radius-xs);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);background:var(--md-sys-color-surface);position:relative;overflow:hidden}.status-checkbox.completed .checkbox-box[data-v-3a5e82ae]{border-color:var(--md-sys-color-primary);background:var(--md-sys-color-primary);animation:checkboxSuccess-3a5e82ae .3s ease-out}.checkbox-checkmark[data-v-3a5e82ae]{width:12px;height:12px;color:var(--md-sys-color-on-primary);opacity:0;transform:scale(.8);transition:all .2s ease-out}.status-checkbox.completed .checkbox-checkmark[data-v-3a5e82ae]{opacity:1;transform:scale(1);animation:checkmarkAppear-3a5e82ae .3s ease-out .1s both}@keyframes checkboxSuccess-3a5e82ae{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes checkmarkAppear-3a5e82ae{0%{opacity:0;transform:scale(.5) rotate(-45deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes moveToCompleted-3a5e82ae{0%{transform:translate(0) translateY(0) scale(1) rotateY(0);opacity:1;background:var(--md-sys-color-surface);border-color:var(--md-sys-color-outline-variant);box-shadow:var(--shadow-sm)}10%{transform:translate(8px) translateY(-2px) scale(1.02) rotateY(0);box-shadow:0 4px 15px #22c55e33;background:#22c55e0d;border-color:#22c55e4d}25%{transform:translate(25px) translateY(-4px) scale(1.06) rotateY(3deg);box-shadow:0 8px 25px #22c55e4d;background:#22c55e14;border-color:#22c55e;opacity:1}45%{transform:translate(60px) translateY(-2px) scale(1.03) rotateY(8deg);background:#22c55e1f;border-color:#22c55e;opacity:.95}65%{transform:translate(120px) translateY(2px) scale(.98) rotateY(15deg);opacity:.85;background:#22c55e26;filter:blur(.2px)}80%{transform:translate(200px) translateY(8px) scale(.85) rotateY(25deg);opacity:.6;background:#22c55e1a;filter:blur(.8px)}95%{transform:translate(280px) translateY(15px) scale(.7) rotateY(32deg);opacity:.2;filter:blur(2px)}to{transform:translate(320px) translateY(20px) scale(.6) rotateY(35deg);opacity:0;filter:blur(3px)}}@keyframes moveFromCompleted-3a5e82ae{0%{transform:translate(0) translateY(0) scale(1) rotateY(0);opacity:1;background:var(--md-sys-color-surface-variant);border-color:var(--md-sys-color-outline-variant);box-shadow:var(--shadow-sm)}10%{transform:translate(-8px) translateY(-2px) scale(1.02) rotateY(0);box-shadow:0 4px 15px #8b5cf633;background:#8b5cf60d;border-color:#8b5cf64d}25%{transform:translate(-25px) translateY(-4px) scale(1.06) rotateY(-3deg);box-shadow:0 8px 25px #8b5cf64d;background:#8b5cf614;border-color:var(--md-sys-color-primary);opacity:1}45%{transform:translate(-60px) translateY(-2px) scale(1.03) rotateY(-8deg);background:#8b5cf61f;border-color:var(--md-sys-color-primary);opacity:.95}65%{transform:translate(-120px) translateY(2px) scale(.98) rotateY(-15deg);opacity:.85;background:#8b5cf626;filter:blur(.2px)}80%{transform:translate(-200px) translateY(8px) scale(.85) rotateY(-25deg);opacity:.6;background:#8b5cf61a;filter:blur(.8px)}95%{transform:translate(-280px) translateY(15px) scale(.7) rotateY(-32deg);opacity:.2;filter:blur(2px)}to{transform:translate(-320px) translateY(20px) scale(.6) rotateY(-35deg);opacity:0;filter:blur(3px)}}.meta-item[data-v-3a5e82ae]{font-size:9px;padding:1px 3px;border-radius:var(--radius-xs);font-weight:var(--font-medium);line-height:1;flex-shrink:0}.meta-item.quantity[data-v-3a5e82ae]{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-primary)}.meta-item.category[data-v-3a5e82ae]{background:var(--md-sys-color-surface-container);color:var(--text-secondary)}.meta-item.notes[data-v-3a5e82ae]{background:var(--md-sys-color-surface-container);color:var(--text-tertiary);font-style:italic;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (hover: hover){.status-checkbox[data-v-3a5e82ae]:hover{background:var(--md-sys-color-surface-container);transform:scale(1.05)}}@media (hover: none){.status-checkbox[data-v-3a5e82ae]:active{background:var(--md-sys-color-surface-container);transform:scale(.95);transition:all .1s ease}}.recipe-icon-badge[data-v-3a5e82ae]{width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:12px;border-radius:50%;border:1px solid;transition:all var(--transition-fast);flex-shrink:0}.drag-handle[data-v-3a5e82ae]{position:absolute;top:50%;left:4px;transform:translateY(-50%);opacity:0;transition:opacity var(--transition-fast)}.board-item:hover .drag-handle[data-v-3a5e82ae]{opacity:.6}.drag-dots[data-v-3a5e82ae]{display:grid;grid-template-columns:repeat(2,2px);gap:1px;cursor:grab}.dot[data-v-3a5e82ae]{width:2px;height:2px;background:var(--text-tertiary);border-radius:50%}.board-item[data-v-3a5e82ae]{min-height:56px;padding:var(--space-md) var(--space-sm);-webkit-tap-highlight-color:rgba(139,92,246,.1);tap-highlight-color:rgba(139,92,246,.1)}.status-checkbox[data-v-3a5e82ae]{width:48px;height:48px;padding:12px}.checkbox-box[data-v-3a5e82ae]{width:24px;height:24px;border-width:2px}.checkbox-checkmark[data-v-3a5e82ae]{width:16px;height:16px}.drag-handle[data-v-3a5e82ae]{display:none}.item-name[data-v-3a5e82ae]{font-size:var(--text-base);line-height:var(--leading-normal)}.recipe-tag[data-v-3a5e82ae]{padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);min-height:32px;border-width:1.5px}.recipe-icon-badge[data-v-3a5e82ae]{width:32px;height:32px;font-size:16px;border-width:2px}.meta-item[data-v-3a5e82ae]{font-size:var(--text-sm);padding:var(--space-xs) var(--space-sm);min-height:28px;display:flex;align-items:center}.item-notes[data-v-3a5e82ae]{font-size:var(--text-sm);line-height:var(--leading-relaxed)}@media (min-width: 768px){.board-item[data-v-3a5e82ae]{min-height:45px;padding:var(--space-xs) var(--space-sm);-webkit-tap-highlight-color:transparent}.status-checkbox[data-v-3a5e82ae]{width:32px;height:32px;padding:4px}.drag-handle[data-v-3a5e82ae]{display:block}.board-item:hover .drag-handle[data-v-3a5e82ae]{opacity:.6}.item-name[data-v-3a5e82ae]{font-size:var(--text-sm)}.recipe-tag[data-v-3a5e82ae]{padding:3px var(--space-xs);font-size:10px;min-height:auto;border-width:1px}.recipe-icon-badge[data-v-3a5e82ae]{width:26px;height:26px;font-size:14px;border-width:2px}.meta-item[data-v-3a5e82ae]{font-size:10px;padding:2px var(--space-xs);min-height:auto}.item-notes[data-v-3a5e82ae]{font-size:11px;line-height:var(--leading-normal)}}@media (min-width: 1024px){.status-checkbox[data-v-3a5e82ae]{width:24px;height:24px;padding:2px}.checkbox-box[data-v-3a5e82ae]{width:18px;height:18px}.checkbox-checkmark[data-v-3a5e82ae]{width:12px;height:12px}}@media (max-width: 480px){.board-item[data-v-3a5e82ae]{min-height:64px;padding:var(--space-lg) var(--space-md)}.board-item[data-v-3a5e82ae]:focus-visible{outline-width:3px;outline-offset:3px}.status-checkbox[data-v-3a5e82ae]{width:48px;height:48px;padding:12px}.checkbox-box[data-v-3a5e82ae]{width:24px;height:24px}.item-header[data-v-3a5e82ae]{gap:var(--space-md)}.item-meta[data-v-3a5e82ae]{gap:var(--space-sm);margin-top:var(--space-sm)}.meta-item[data-v-3a5e82ae]{font-size:var(--text-base);padding:var(--space-sm) var(--space-md);min-height:36px}.item-name[data-v-3a5e82ae]{font-size:var(--text-lg);font-weight:var(--font-medium)}.recipe-tag[data-v-3a5e82ae]{font-size:var(--text-base);padding:var(--space-sm) var(--space-lg);min-height:40px}.recipe-icon-badge[data-v-3a5e82ae]{width:36px;height:36px;font-size:18px}}.add-to-list-btn[data-v-3a5e82ae]{background:var(--md-sys-color-primary);border:none;color:var(--md-sys-color-on-primary);cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);width:36px;height:36px;font-size:16px;box-shadow:var(--shadow-sm)}.add-to-list-btn[data-v-3a5e82ae]:hover{background:var(--md-sys-color-primary);transform:scale(1.05);box-shadow:var(--shadow-md)}.add-to-list-btn[data-v-3a5e82ae]:active{transform:scale(.95);transition:transform .1s ease}.completion-toggle[data-v-3a5e82ae]{background:none;border:none;cursor:pointer;padding:4px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);width:52px;height:32px;position:relative}.completion-toggle[data-v-3a5e82ae]:hover{background:var(--md-sys-color-surface-container);transform:scale(1.05)}.completion-toggle[data-v-3a5e82ae]:active{transform:scale(.95);transition:transform .1s ease}.toggle-track[data-v-3a5e82ae]{width:44px;height:24px;background:var(--md-sys-color-outline-variant);border-radius:24px;position:relative;transition:all var(--transition-fast);border:1px solid var(--md-sys-color-outline)}.completion-toggle.completed .toggle-track[data-v-3a5e82ae]{background:var(--md-sys-color-primary);border-color:var(--md-sys-color-primary)}.completion-toggle.pending-completion .toggle-track[data-v-3a5e82ae]{background:#22c55ecc;animation:pulseGreen-3a5e82ae .8s ease-out;transform:scale(1.05)}.completion-toggle.pending-restoration .toggle-track[data-v-3a5e82ae]{background:#8b5cf6cc;animation:pulseBlue-3a5e82ae .8s ease-out;transform:scale(1.05)}.toggle-thumb[data-v-3a5e82ae]{width:20px;height:20px;background:var(--md-sys-color-surface);border-radius:50%;position:absolute;top:1px;left:2px;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);border:1px solid var(--md-sys-color-outline-variant)}.completion-toggle.completed .toggle-thumb[data-v-3a5e82ae]{transform:translate(20px);background:var(--md-sys-color-on-primary);border-color:var(--md-sys-color-primary)}.checkmark-icon[data-v-3a5e82ae]{width:12px;height:12px;color:var(--md-sys-color-primary);opacity:1}.completion-toggle.completed .checkmark-icon[data-v-3a5e82ae]{color:var(--md-sys-color-primary)}.plus-icon[data-v-3a5e82ae]{font-size:12px;font-weight:700;color:var(--md-sys-color-outline);line-height:1}.completion-toggle:hover .plus-icon[data-v-3a5e82ae]{color:var(--md-sys-color-primary)}@keyframes pulseGreen-3a5e82ae{0%,to{background:#22c55eb3}50%{background:#22c55ee6;transform:scale(1.05)}}@keyframes pulseBlue-3a5e82ae{0%,to{background:#8b5cf6b3}50%{background:#8b5cf6e6;transform:scale(1.05)}}.inline-add-item[data-v-c022b062]{width:100%;margin-top:var(--space-xs)}.add-trigger[data-v-c022b062]{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm);background:transparent;border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);font-size:var(--text-sm);transition:all var(--transition-fast)}.add-trigger[data-v-c022b062]:hover{background:var(--md-sys-color-surface-container);border-color:var(--md-sys-color-primary);color:var(--text-primary)}.add-icon[data-v-c022b062]{font-size:var(--text-base);font-weight:var(--font-bold);color:var(--md-sys-color-primary)}.add-text[data-v-c022b062]{font-weight:var(--font-medium)}.add-form[data-v-c022b062]{background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline);border-radius:var(--radius-sm);padding:var(--space-sm);box-shadow:var(--shadow-sm)}.input-row[data-v-c022b062]{display:flex;gap:var(--space-sm);align-items:center;width:100%;box-sizing:border-box}.item-name-input[data-v-c022b062]{flex:1;width:80%;min-width:0;padding:var(--space-sm);border:1px solid var(--md-sys-color-outline);border-radius:var(--radius-sm);font-size:var(--text-sm);background:var(--md-sys-color-surface);color:var(--text-primary);transition:all var(--transition-fast);box-sizing:border-box}.item-quantity-input[data-v-c022b062]{flex:0 0 20%;min-width:0;max-width:20%;padding:var(--space-sm);border:1px solid var(--md-sys-color-outline);border-radius:var(--radius-sm);font-size:var(--text-sm);background:var(--md-sys-color-surface);color:var(--text-primary);text-align:center;transition:all var(--transition-fast);box-sizing:border-box}.item-name-input[data-v-c022b062]:focus,.item-quantity-input[data-v-c022b062]:focus{outline:none;border-color:var(--md-sys-color-primary);box-shadow:0 0 0 2px #8b5cf61a}.item-name-input[data-v-c022b062]::placeholder,.item-quantity-input[data-v-c022b062]::placeholder{color:var(--text-tertiary)}@media (max-width: 768px){.input-row[data-v-c022b062]{gap:var(--space-xs)}.item-name-input[data-v-c022b062]{flex:1;width:75%}.item-quantity-input[data-v-c022b062]{flex:0 0 25%;max-width:25%;font-size:var(--text-xs)}}.board-column[data-v-f6137f0d]{background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;height:100%;overflow:hidden;transition:all var(--transition-normal)}.board-column[data-v-f6137f0d]:hover{box-shadow:var(--shadow-md);border-color:var(--md-sys-color-outline)}.column-header[data-v-f6137f0d]{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg);border-bottom:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.column-title-section[data-v-f6137f0d]{display:flex;align-items:center;gap:var(--space-sm)}.column-title[data-v-f6137f0d]{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.item-count[data-v-f6137f0d]{background:var(--md-sys-color-primary);color:var(--text-inverse);font-size:var(--text-xs);font-weight:var(--font-semibold);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-xl);min-width:20px;text-align:center}.column-actions[data-v-f6137f0d]{display:flex;gap:var(--space-sm)}.add-item-btn[data-v-f6137f0d]{width:32px;height:32px;border-radius:50%;font-size:var(--text-lg);font-weight:var(--font-bold)}.shopping-actions[data-v-f6137f0d],.recipe-actions[data-v-f6137f0d]{display:flex;gap:var(--space-xs);align-items:center}.create-recipe-btn[data-v-f6137f0d]{font-size:var(--text-xs);font-weight:var(--font-semibold);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-md);transition:all var(--transition-fast)}.create-recipe-btn[data-v-f6137f0d]:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.ai-recipe-btn[data-v-f6137f0d]{font-size:var(--text-xs);font-weight:var(--font-semibold);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-md);background:linear-gradient(135deg,var(--md-sys-color-primary),#8b5cf6);color:#fff;border:none;transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.ai-recipe-btn[data-v-f6137f0d]:hover{background:linear-gradient(135deg,#6d28d9,var(--md-sys-color-primary));transform:translateY(-1px);box-shadow:var(--shadow-md)}.clear-all-btn[data-v-f6137f0d]{font-size:var(--text-xs);font-weight:var(--font-semibold);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-md);background:transparent;color:var(--md-sys-color-error);border:1px solid var(--md-sys-color-error);transition:all var(--transition-fast)}.clear-all-btn[data-v-f6137f0d]:hover{background:var(--md-sys-color-error);color:var(--text-inverse);transform:translateY(-1px);box-shadow:var(--shadow-md)}.column-content[data-v-f6137f0d]{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative;min-height:0}.drop-zone[data-v-f6137f0d]{flex:1;position:relative;transition:all var(--transition-fast);border-radius:0 0 var(--radius-lg) var(--radius-lg);display:flex;flex-direction:column;overflow:hidden;min-height:0;-webkit-overflow-scrolling:touch}.scrollable-content[data-v-f6137f0d]{flex:1;padding:var(--space-lg);overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;width:100%;box-sizing:border-box}.add-item-card[data-v-f6137f0d]{padding:var(--space-sm);margin-top:var(--space-sm)}.empty-state-with-add[data-v-f6137f0d]{display:flex;flex-direction:column;gap:var(--space-lg);padding:var(--space-lg)}.clear-all-container[data-v-f6137f0d]{flex-shrink:0;padding:var(--space-sm) var(--space-lg) var(--space-lg);background:var(--md-sys-color-surface);width:100%;box-sizing:border-box;display:flex;justify-content:center;border-top:1px solid var(--md-sys-color-outline-variant)}.clear-all-bottom-btn[data-v-f6137f0d]{width:100%;max-width:200px}.scrollable-content[data-scroll-active=true][data-v-f6137f0d],.drop-zone[data-scroll-active=true] .scrollable-content[data-v-f6137f0d]{scroll-behavior:auto;overscroll-behavior:none}.drop-zone.drag-over[data-v-f6137f0d]{background:var(--md-sys-color-primary-container)}.drop-zone.drag-over.can-drop[data-v-f6137f0d]{background:#8b5cf61a;border:2px solid var(--md-sys-color-primary)}.items-list[data-v-f6137f0d]{display:flex;flex-direction:column;gap:4px;min-height:0;width:100%;max-width:100%;flex:0 1 auto;overflow-y:visible;justify-content:flex-start;align-items:stretch;padding-bottom:var(--space-sm);scroll-margin-top:var(--space-md);scroll-margin-bottom:var(--space-md);box-sizing:border-box}.empty-state[data-v-f6137f0d]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-lg);padding:var(--space-3xl);color:var(--text-tertiary);text-align:center;flex:1;min-height:200px}.empty-icon[data-v-f6137f0d]{font-size:var(--text-3xl);opacity:.6}.empty-text[data-v-f6137f0d]{font-size:var(--text-sm);font-weight:var(--font-medium)}.drop-indicator[data-v-f6137f0d]{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#8b5cf60d;border:2px solid var(--md-sys-color-primary);border-radius:0 0 var(--radius-lg) var(--radius-lg);pointer-events:none}.drop-indicator-line[data-v-f6137f0d]{width:60px;height:3px;background:var(--md-sys-color-primary);border-radius:var(--radius-sm);margin-bottom:var(--space-md);animation:pulse 1.5s ease-in-out infinite}.drop-indicator-text[data-v-f6137f0d]{color:var(--md-sys-color-primary);font-weight:var(--font-semibold);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.5px}.sortable-ghost[data-v-f6137f0d]{opacity:.4!important;background:linear-gradient(135deg,var(--md-sys-color-primary-container),var(--md-sys-color-secondary-container))!important;border:1px solid var(--md-sys-color-primary)!important;border-radius:var(--radius-md)!important;transform:scale(.95)!important;transition:all .18s cubic-bezier(.4,0,.2,1)!important;box-shadow:0 2px 8px #8b5cf626!important}.sortable-chosen[data-v-f6137f0d]{cursor:grabbing!important;opacity:.95!important;transform:scale(1.01)!important;transition:all .15s cubic-bezier(.4,0,.2,1)!important;background:var(--md-sys-color-surface-container-high)!important;border:1px solid var(--md-sys-color-primary)!important;box-shadow:0 2px 8px #8b5cf633!important;z-index:1000!important}.sortable-drag[data-v-f6137f0d]{cursor:grabbing!important;opacity:.92!important;transform:scale(1.03) rotate(1deg)!important;box-shadow:0 8px 32px #0000003d,0 4px 16px #8b5cf666!important;z-index:10000!important;background:var(--md-sys-color-surface-container-highest)!important;border:2px solid var(--md-sys-color-primary)!important;border-radius:var(--radius-md)!important;transition:none!important;pointer-events:none!important}.board-column[data-v-f6137f0d]{height:100%;min-height:350px}.column-header[data-v-f6137f0d]{padding:var(--space-lg);min-height:72px;align-items:center}.column-title[data-v-f6137f0d]{font-size:var(--text-lg);font-weight:var(--font-semibold)}.add-item-btn[data-v-f6137f0d]{width:44px;height:44px;font-size:var(--text-xl);min-width:44px;-webkit-tap-highlight-color:rgba(139,92,246,.2)}.create-recipe-btn[data-v-f6137f0d],.ai-recipe-btn[data-v-f6137f0d],.clear-all-btn[data-v-f6137f0d]{min-height:44px;padding:var(--space-md) var(--space-lg);font-size:var(--text-sm);white-space:nowrap;-webkit-tap-highlight-color:transparent}.scrollable-content[data-v-f6137f0d]{padding:var(--space-lg);-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;scroll-padding:var(--space-xl);will-change:scroll-position}.items-list[data-v-f6137f0d]{gap:var(--space-md);padding-bottom:var(--space-2xl)}.empty-state[data-v-f6137f0d]{padding:var(--space-3xl) var(--space-xl);min-height:200px}.add-item-container[data-v-f6137f0d]{padding:var(--space-md) var(--space-lg) var(--space-lg)}.scrollable-content[data-scroll-active=true][data-v-f6137f0d],.drop-zone[data-scroll-active=true] .scrollable-content[data-v-f6137f0d]{touch-action:none;overscroll-behavior:none}.scrollable-content[data-v-f6137f0d]::-webkit-scrollbar{width:2px;opacity:0;transition:opacity var(--transition-fast)}.scrollable-content[data-v-f6137f0d]:hover::-webkit-scrollbar,.scrollable-content[data-scroll-active=true][data-v-f6137f0d]::-webkit-scrollbar{opacity:.6}.sortable-chosen[data-v-f6137f0d]{transform:scale(1.02)!important;box-shadow:0 8px 24px #8b5cf640,0 4px 8px #0000001a!important}.sortable-drag[data-v-f6137f0d]{transform:scale(1.05) rotate(1deg)!important;box-shadow:0 12px 32px #00000040,0 8px 16px #8b5cf666!important}@media (max-width: 480px){.column-header[data-v-f6137f0d]{padding:var(--space-md);min-height:64px;flex-wrap:wrap;gap:var(--space-sm)}.column-title[data-v-f6137f0d]{font-size:var(--text-base)}.column-actions[data-v-f6137f0d]{width:100%;justify-content:center;margin-top:var(--space-xs)}.shopping-actions[data-v-f6137f0d],.recipe-actions[data-v-f6137f0d]{gap:var(--space-sm);flex-wrap:wrap;justify-content:center}.add-item-btn[data-v-f6137f0d]{width:40px;height:40px;font-size:var(--text-lg)}.scrollable-content[data-v-f6137f0d]{padding:var(--space-md);scroll-padding:var(--space-lg)}.items-list[data-v-f6137f0d]{gap:var(--space-lg);padding-bottom:var(--space-3xl)}.add-item-card[data-v-f6137f0d]{padding:var(--space-sm) var(--space-md);margin-top:var(--space-md)}.sortable-chosen[data-v-f6137f0d]{transform:scale(1.03)!important;box-shadow:0 8px 20px #8b5cf64d,0 4px 8px #00000026!important}.sortable-drag[data-v-f6137f0d]{transform:scale(1.06) rotate(2deg)!important;box-shadow:0 16px 40px #0000004d,0 8px 16px #8b5cf680!important}}@media (min-width: 768px){.board-column[data-v-f6137f0d]{min-height:400px}.column-header[data-v-f6137f0d]{min-height:auto;flex-wrap:nowrap}.column-title[data-v-f6137f0d]{font-size:var(--text-lg)}.column-actions[data-v-f6137f0d]{width:auto;margin-top:0}.add-item-btn[data-v-f6137f0d]{width:32px;height:32px;font-size:var(--text-lg)}.create-recipe-btn[data-v-f6137f0d],.ai-recipe-btn[data-v-f6137f0d],.clear-all-btn[data-v-f6137f0d]{min-height:auto;padding:var(--space-xs) var(--space-sm);font-size:var(--text-xs)}.scrollable-content[data-v-f6137f0d]{padding:var(--space-lg)}.items-list[data-v-f6137f0d]{gap:4px;padding-bottom:var(--space-sm)}.empty-state[data-v-f6137f0d]{padding:var(--space-3xl)}.add-item-card[data-v-f6137f0d]{padding:var(--space-sm);margin-top:var(--space-sm)}.sortable-chosen[data-v-f6137f0d]{transform:scale(1.01)!important;box-shadow:0 2px 8px #8b5cf633!important}.sortable-drag[data-v-f6137f0d]{transform:scale(1.03) rotate(1deg)!important;box-shadow:0 8px 32px #0000003d,0 4px 16px #8b5cf666!important}}.scrollable-content[data-v-f6137f0d]::-webkit-scrollbar{width:8px;transition:width var(--transition-fast)}.scrollable-content[data-v-f6137f0d]:hover::-webkit-scrollbar{width:10px}.scrollable-content[data-v-f6137f0d]::-webkit-scrollbar-track{background:var(--md-sys-color-surface-container);border-radius:5px;margin:var(--space-sm) 0}.scrollable-content[data-v-f6137f0d]::-webkit-scrollbar-thumb{background:var(--md-sys-color-outline-variant);border-radius:5px;border:2px solid var(--md-sys-color-surface);transition:all var(--transition-fast)}.scrollable-content[data-v-f6137f0d]::-webkit-scrollbar-thumb:hover{background:var(--md-sys-color-outline);border-color:var(--md-sys-color-surface-container)}.scrollable-content[data-scroll-active=true][data-v-f6137f0d]::-webkit-scrollbar,.drop-zone[data-scroll-active=true] .scrollable-content[data-v-f6137f0d]::-webkit-scrollbar{width:12px}.scrollable-content[data-scroll-active=true][data-v-f6137f0d]::-webkit-scrollbar-thumb,.drop-zone[data-scroll-active=true] .scrollable-content[data-v-f6137f0d]::-webkit-scrollbar-thumb{background:var(--md-sys-color-primary);opacity:.8}.scrollable-content[data-v-f6137f0d]{scrollbar-width:thin;scrollbar-color:var(--md-sys-color-outline-variant) var(--md-sys-color-surface-container)}.scrollable-content[data-scroll-active=true][data-v-f6137f0d],.drop-zone[data-scroll-active=true] .scrollable-content[data-v-f6137f0d]{scrollbar-color:var(--md-sys-color-primary) var(--md-sys-color-surface-container)}.modal-overlay[data-v-179eb40f]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--space-lg)}.modal-content[data-v-179eb40f]{background:var(--md-sys-color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-header[data-v-179eb40f]{display:flex;justify-content:space-between;align-items:center;padding:var(--space-xl);border-bottom:1px solid var(--md-sys-color-outline-variant)}.modal-title[data-v-179eb40f]{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.close-btn[data-v-179eb40f]{background:none;border:none;font-size:var(--text-xl);color:var(--text-secondary);cursor:pointer;padding:var(--space-sm);border-radius:50%;transition:all var(--transition-fast)}.close-btn[data-v-179eb40f]:hover{background:var(--md-sys-color-surface-container);color:var(--text-primary)}.modal-form[data-v-179eb40f]{padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-lg)}.form-group[data-v-179eb40f]{display:flex;flex-direction:column;gap:var(--space-sm)}.form-row[data-v-179eb40f]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg)}.form-label[data-v-179eb40f]{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.form-input[data-v-179eb40f]{padding:var(--space-md);border:1px solid var(--md-sys-color-outline);border-radius:var(--radius-md);font-size:var(--text-base);background:var(--md-sys-color-surface);color:var(--text-primary);transition:all var(--transition-fast)}.form-input[data-v-179eb40f]:focus{outline:none;border-color:var(--md-sys-color-primary);box-shadow:0 0 0 3px #8b5cf61a}.form-input[data-v-179eb40f]::placeholder{color:var(--text-tertiary)}textarea.form-input[data-v-179eb40f]{resize:vertical;min-height:80px}.form-actions[data-v-179eb40f]{display:flex;gap:var(--space-md);justify-content:flex-end;padding-top:var(--space-lg);border-top:1px solid var(--md-sys-color-outline-variant)}@media (max-width: 768px){.modal-overlay[data-v-179eb40f]{padding:var(--space-md)}.modal-header[data-v-179eb40f],.modal-form[data-v-179eb40f]{padding:var(--space-lg)}.form-row[data-v-179eb40f]{grid-template-columns:1fr;gap:var(--space-md)}.form-actions[data-v-179eb40f]{flex-direction:column-reverse}}@media (max-width: 480px){.modal-overlay[data-v-179eb40f]{padding:var(--space-sm)}.modal-header[data-v-179eb40f],.modal-form[data-v-179eb40f]{padding:var(--space-md)}.modal-title[data-v-179eb40f]{font-size:var(--text-lg)}}.modal-overlay[data-v-e49fe79b]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--space-lg)}.modal-content[data-v-e49fe79b]{background:var(--md-sys-color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:100%;max-width:600px;max-height:90vh;overflow-y:auto}.modal-header[data-v-e49fe79b]{display:flex;justify-content:space-between;align-items:center;padding:var(--space-xl);border-bottom:1px solid var(--md-sys-color-outline-variant)}.modal-title[data-v-e49fe79b]{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.close-btn[data-v-e49fe79b]{background:none;border:none;font-size:var(--text-xl);color:var(--text-secondary);cursor:pointer;padding:var(--space-sm);border-radius:50%;transition:all var(--transition-fast)}.close-btn[data-v-e49fe79b]:hover{background:var(--md-sys-color-surface-container);color:var(--text-primary)}.modal-form[data-v-e49fe79b]{padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-xl)}.search-section[data-v-e49fe79b]{display:flex;flex-direction:column;gap:var(--space-lg)}.form-group[data-v-e49fe79b]{display:flex;flex-direction:column;gap:var(--space-sm)}.form-label[data-v-e49fe79b]{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.form-input[data-v-e49fe79b]{padding:var(--space-md);border:1px solid var(--md-sys-color-outline);border-radius:var(--radius-md);font-size:var(--text-base);background:var(--md-sys-color-surface);color:var(--text-primary);transition:all var(--transition-fast)}.form-input[data-v-e49fe79b]:focus{outline:none;border-color:var(--md-sys-color-primary);box-shadow:0 0 0 3px #8b5cf61a}.search-results[data-v-e49fe79b]{display:flex;flex-direction:column;gap:var(--space-sm);max-height:300px;overflow-y:auto}.recipe-result[data-v-e49fe79b]{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.recipe-result[data-v-e49fe79b]:hover{background:var(--md-sys-color-surface-container);border-color:var(--md-sys-color-primary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.recipe-info[data-v-e49fe79b]{flex:1;display:flex;flex-direction:column;gap:var(--space-xs)}.recipe-name[data-v-e49fe79b]{font-size:var(--text-base);font-weight:var(--font-medium);color:var(--text-primary);margin:0}.recipe-description[data-v-e49fe79b]{font-size:var(--text-sm);color:var(--text-secondary);margin:0;line-height:var(--leading-normal)}.recipe-meta[data-v-e49fe79b]{display:flex;gap:var(--space-md);flex-wrap:wrap}.meta-item[data-v-e49fe79b]{font-size:var(--text-xs);color:var(--text-tertiary);background:var(--md-sys-color-surface-container);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm)}.recipe-action[data-v-e49fe79b]{flex-shrink:0}.add-icon[data-v-e49fe79b]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--md-sys-color-primary);color:var(--text-inverse);border-radius:50%;font-size:var(--text-lg);font-weight:var(--font-bold)}.no-results[data-v-e49fe79b]{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg);padding:var(--space-2xl);text-align:center;color:var(--text-secondary)}.no-results-icon[data-v-e49fe79b]{font-size:var(--text-3xl)}.no-results-text[data-v-e49fe79b]{margin:0}.search-loading[data-v-e49fe79b]{display:flex;align-items:center;justify-content:center;gap:var(--space-md);padding:var(--space-lg);color:var(--text-secondary)}.selected-recipe[data-v-e49fe79b]{display:flex;flex-direction:column;gap:var(--space-lg)}.section-title[data-v-e49fe79b]{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.recipe-preview[data-v-e49fe79b]{background:var(--md-sys-color-surface-container);border-radius:var(--radius-md);padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-lg)}.preview-header[data-v-e49fe79b]{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md)}.preview-info[data-v-e49fe79b]{flex:1}.preview-name[data-v-e49fe79b]{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--space-xs) 0}.preview-description[data-v-e49fe79b]{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.remove-selection-btn[data-v-e49fe79b]{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--space-xs);border-radius:50%;transition:all var(--transition-fast)}.remove-selection-btn[data-v-e49fe79b]:hover{background:var(--md-sys-color-surface-container-high);color:var(--text-primary)}.preview-ingredients[data-v-e49fe79b]{display:flex;flex-direction:column;gap:var(--space-md)}.ingredients-title[data-v-e49fe79b]{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.ingredients-list[data-v-e49fe79b]{display:flex;flex-direction:column;gap:var(--space-sm)}.ingredient-item[data-v-e49fe79b]{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) var(--space-md);background:var(--md-sys-color-surface);border-radius:var(--radius-sm)}.ingredient-name[data-v-e49fe79b]{font-weight:var(--font-medium);color:var(--text-primary)}.ingredient-quantity[data-v-e49fe79b]{font-size:var(--text-sm);color:var(--text-secondary);background:var(--md-sys-color-primary-container);color:var(--md-sys-color-primary);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm)}.form-actions[data-v-e49fe79b]{display:flex;gap:var(--space-md);justify-content:flex-end;padding-top:var(--space-lg);border-top:1px solid var(--md-sys-color-outline-variant)}@media (max-width: 768px){.modal-overlay[data-v-e49fe79b]{padding:var(--space-md)}.modal-header[data-v-e49fe79b],.modal-form[data-v-e49fe79b]{padding:var(--space-lg)}.form-actions[data-v-e49fe79b]{flex-direction:column-reverse}.recipe-result[data-v-e49fe79b]{flex-direction:column;align-items:stretch;gap:var(--space-md)}.preview-header[data-v-e49fe79b]{flex-direction:column;align-items:stretch}}@media (max-width: 480px){.modal-overlay[data-v-e49fe79b]{padding:var(--space-sm)}.modal-header[data-v-e49fe79b],.modal-form[data-v-e49fe79b]{padding:var(--space-md)}.modal-title[data-v-e49fe79b]{font-size:var(--text-lg)}.recipe-meta[data-v-e49fe79b]{flex-direction:column;gap:var(--space-xs)}}.modal-overlay[data-v-fc7a1dbc]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--space-lg)}.modal-content[data-v-fc7a1dbc]{background:var(--md-sys-color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-header[data-v-fc7a1dbc]{display:flex;justify-content:space-between;align-items:center;padding:var(--space-xl);border-bottom:1px solid var(--md-sys-color-outline-variant)}.modal-title[data-v-fc7a1dbc]{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.close-btn[data-v-fc7a1dbc]{background:none;border:none;font-size:var(--text-xl);color:var(--text-secondary);cursor:pointer;padding:var(--space-sm);border-radius:50%;transition:all var(--transition-fast)}.close-btn[data-v-fc7a1dbc]:hover{background:var(--md-sys-color-surface-container);color:var(--text-primary)}.modal-form[data-v-fc7a1dbc]{padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-lg)}.form-group[data-v-fc7a1dbc]{display:flex;flex-direction:column;gap:var(--space-sm)}.form-row[data-v-fc7a1dbc]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg)}.form-label[data-v-fc7a1dbc]{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.form-input[data-v-fc7a1dbc]{padding:var(--space-md);border:1px solid var(--md-sys-color-outline);border-radius:var(--radius-md);font-size:var(--text-base);background:var(--md-sys-color-surface);color:var(--text-primary);transition:all var(--transition-fast)}.form-input[data-v-fc7a1dbc]:focus{outline:none;border-color:var(--md-sys-color-primary);box-shadow:0 0 0 3px #8b5cf61a}.form-input[data-v-fc7a1dbc]::placeholder{color:var(--text-tertiary)}textarea.form-input[data-v-fc7a1dbc]{resize:vertical;min-height:80px}.checkbox-label[data-v-fc7a1dbc]{display:flex;align-items:center;gap:var(--space-md);cursor:pointer;padding:var(--space-md);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--radius-md);transition:all var(--transition-fast);position:relative}.checkbox-label[data-v-fc7a1dbc]:hover{background:var(--md-sys-color-surface-container);border-color:var(--md-sys-color-outline)}.checkbox-label.checked[data-v-fc7a1dbc]{background:#8b5cf60d;border-color:var(--md-sys-color-primary)}.checkbox-input[data-v-fc7a1dbc]{opacity:0;position:absolute;width:0;height:0;cursor:pointer}.custom-checkbox[data-v-fc7a1dbc]{width:20px;height:20px;border:2px solid var(--md-sys-color-outline);border-radius:var(--radius-xs);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);background:var(--md-sys-color-surface);flex-shrink:0}.checkbox-label.checked .custom-checkbox[data-v-fc7a1dbc]{border-color:var(--md-sys-color-primary);background:var(--md-sys-color-primary);animation:checkboxSuccess-fc7a1dbc .3s ease-out}.checkbox-checkmark[data-v-fc7a1dbc]{width:14px;height:14px;color:var(--md-sys-color-on-primary);opacity:0;transform:scale(.8);transition:all .2s ease-out}.checkbox-label.checked .checkbox-checkmark[data-v-fc7a1dbc]{opacity:1;transform:scale(1);animation:checkmarkAppear-fc7a1dbc .3s ease-out .1s both}.checkbox-text[data-v-fc7a1dbc]{font-size:var(--text-base);color:var(--text-primary);font-weight:var(--font-medium);transition:color var(--transition-fast)}.checkbox-label.checked .checkbox-text[data-v-fc7a1dbc]{color:var(--md-sys-color-primary)}@keyframes checkboxSuccess-fc7a1dbc{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes checkmarkAppear-fc7a1dbc{0%{opacity:0;transform:scale(.5) rotate(-45deg)}to{opacity:1;transform:scale(1) rotate(0)}}.form-actions[data-v-fc7a1dbc]{display:flex;gap:var(--space-md);justify-content:flex-end;padding-top:var(--space-lg);border-top:1px solid var(--md-sys-color-outline-variant)}@media (max-width: 768px){.modal-overlay[data-v-fc7a1dbc]{padding:var(--space-md)}.modal-header[data-v-fc7a1dbc],.modal-form[data-v-fc7a1dbc]{padding:var(--space-lg)}.form-row[data-v-fc7a1dbc]{grid-template-columns:1fr;gap:var(--space-md)}.form-actions[data-v-fc7a1dbc]{flex-direction:column-reverse}.custom-checkbox[data-v-fc7a1dbc]{width:24px;height:24px}.checkbox-checkmark[data-v-fc7a1dbc]{width:16px;height:16px}}@media (max-width: 480px){.modal-overlay[data-v-fc7a1dbc]{padding:var(--space-sm)}.modal-header[data-v-fc7a1dbc],.modal-form[data-v-fc7a1dbc]{padding:var(--space-md)}.modal-title[data-v-fc7a1dbc]{font-size:var(--text-lg)}}.ai-chat-modal[data-v-ad7152c1]{position:fixed;bottom:var(--space-lg);right:var(--space-lg);width:80px;height:60px;background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:var(--z-modal);transition:all var(--transition-normal);overflow:hidden}.ai-chat-modal.is-expanded[data-v-ad7152c1]{width:400px;height:600px;max-height:80vh}.chat-header[data-v-ad7152c1]{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md);background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-secondary);border-bottom:1px solid var(--md-sys-color-outline-variant)}.chat-title-section[data-v-ad7152c1]{display:flex;align-items:center;gap:var(--space-sm);flex:1}.chat-icon[data-v-ad7152c1]{font-size:var(--text-xl)}.chat-title[data-v-ad7152c1]{font-size:var(--text-base);font-weight:var(--font-semibold);margin:0}.chat-status[data-v-ad7152c1]{font-size:var(--text-xs);opacity:.8}.chat-actions[data-v-ad7152c1]{display:flex;gap:var(--space-xs)}.action-btn[data-v-ad7152c1]{background:#fff3;border:none;color:currentColor;cursor:pointer;padding:var(--space-xs);border-radius:var(--radius-sm);transition:all var(--transition-fast);font-size:var(--text-sm)}.action-btn[data-v-ad7152c1]:hover{background:#ffffff4d}.chat-content[data-v-ad7152c1]{display:flex;flex-direction:column;height:calc(100% - 60px)}.messages-container[data-v-ad7152c1]{flex:1;overflow-y:auto;padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-lg)}.welcome-message[data-v-ad7152c1]{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg);text-align:center;padding:var(--space-xl);color:var(--text-secondary)}.welcome-icon[data-v-ad7152c1]{font-size:var(--text-3xl)}.welcome-text h4[data-v-ad7152c1]{color:var(--text-primary);margin-bottom:var(--space-sm)}.welcome-text p[data-v-ad7152c1]{font-size:var(--text-sm);line-height:var(--leading-relaxed);margin:0}.message[data-v-ad7152c1]{display:flex;gap:var(--space-md);align-items:flex-start}.message-user[data-v-ad7152c1]{flex-direction:row-reverse}.message-user .message-content[data-v-ad7152c1]{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-primary);border-radius:var(--radius-lg) var(--radius-sm) var(--radius-lg) var(--radius-lg)}.message-ai .message-content[data-v-ad7152c1]{background:var(--md-sys-color-surface-container);color:var(--text-primary);border-radius:var(--radius-sm) var(--radius-lg) var(--radius-lg) var(--radius-lg)}.message-avatar[data-v-ad7152c1]{width:32px;height:32px;border-radius:50%;background:var(--md-sys-color-surface-container-high);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);flex-shrink:0}.message-content[data-v-ad7152c1]{max-width:70%;padding:var(--space-md);border-radius:var(--radius-lg)}.message-text[data-v-ad7152c1]{font-size:var(--text-sm);line-height:var(--leading-normal);margin-bottom:var(--space-xs)}.message-time[data-v-ad7152c1]{font-size:var(--text-xs);opacity:.7}.typing-indicator[data-v-ad7152c1]{display:flex;gap:var(--space-md);align-items:center}.typing-avatar[data-v-ad7152c1]{width:32px;height:32px;border-radius:50%;background:var(--md-sys-color-surface-container-high);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm)}.typing-content[data-v-ad7152c1]{background:var(--md-sys-color-surface-container);padding:var(--space-md);border-radius:var(--radius-sm) var(--radius-lg) var(--radius-lg) var(--radius-lg)}.typing-dots[data-v-ad7152c1]{display:flex;gap:4px}.dot[data-v-ad7152c1]{width:6px;height:6px;background:var(--text-secondary);border-radius:50%;animation:typing-ad7152c1 1.4s infinite}.dot[data-v-ad7152c1]:nth-child(2){animation-delay:.2s}.dot[data-v-ad7152c1]:nth-child(3){animation-delay:.4s}@keyframes typing-ad7152c1{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-8px);opacity:1}}.chat-input-area[data-v-ad7152c1]{padding:var(--space-lg);border-top:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface)}.input-container[data-v-ad7152c1]{display:flex;gap:var(--space-sm);margin-bottom:var(--space-md)}.chat-input[data-v-ad7152c1]{flex:1;padding:var(--space-md);border:1px solid var(--md-sys-color-outline);border-radius:var(--radius-lg);font-size:var(--text-sm);background:var(--md-sys-color-surface);color:var(--text-primary);transition:all var(--transition-fast)}.chat-input[data-v-ad7152c1]:focus{outline:none;border-color:var(--md-sys-color-primary);box-shadow:0 0 0 2px #8b5cf61a}.send-btn[data-v-ad7152c1]{background:var(--md-sys-color-primary);color:var(--text-inverse);border:none;border-radius:50%;width:40px;height:40px;cursor:pointer;transition:all var(--transition-fast);font-size:var(--text-base)}.send-btn[data-v-ad7152c1]:hover:not(:disabled){background:#7c3aed;transform:scale(1.05)}.send-btn[data-v-ad7152c1]:disabled{opacity:.5;cursor:not-allowed}.quick-actions[data-v-ad7152c1]{display:flex;gap:var(--space-xs);flex-wrap:wrap}.quick-action-btn[data-v-ad7152c1]{background:var(--md-sys-color-surface-container);color:var(--text-secondary);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--radius-lg);padding:var(--space-xs) var(--space-sm);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-fast)}.quick-action-btn[data-v-ad7152c1]:hover:not(:disabled){background:var(--md-sys-color-surface-container-high);border-color:var(--md-sys-color-outline);color:var(--text-primary)}.quick-action-btn[data-v-ad7152c1]:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.ai-chat-modal[data-v-ad7152c1]{bottom:var(--space-md);right:var(--space-md);left:var(--space-md);width:auto}.ai-chat-modal.is-expanded[data-v-ad7152c1]{width:auto;height:500px}.messages-container[data-v-ad7152c1],.chat-input-area[data-v-ad7152c1]{padding:var(--space-md)}.message-content[data-v-ad7152c1]{max-width:85%}}@media (max-width: 480px){.ai-chat-modal[data-v-ad7152c1]{bottom:var(--space-sm);right:var(--space-sm);left:var(--space-sm)}.ai-chat-modal.is-expanded[data-v-ad7152c1]{height:450px}.welcome-message[data-v-ad7152c1]{padding:var(--space-lg)}}.modal-overlay[data-v-454c2c59]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--space-lg)}.modal-content[data-v-454c2c59]{background:var(--md-sys-color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:100%;max-width:600px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-header[data-v-454c2c59]{display:flex;justify-content:space-between;align-items:center;padding:var(--space-xl);border-bottom:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container)}.modal-title[data-v-454c2c59]{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.header-actions[data-v-454c2c59]{display:flex;align-items:center;gap:var(--space-sm)}.edit-toggle-btn[data-v-454c2c59],.delete-toggle-btn[data-v-454c2c59]{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center}.close-btn[data-v-454c2c59]{background:none;border:none;font-size:var(--text-xl);color:var(--text-secondary);cursor:pointer;padding:var(--space-sm);border-radius:50%;transition:all var(--transition-fast);width:32px;height:32px;display:flex;align-items:center;justify-content:center}.close-btn[data-v-454c2c59]:hover{background:var(--md-sys-color-surface-container);color:var(--text-primary)}.modal-body[data-v-454c2c59]{flex:1;padding:var(--space-xl);overflow-y:auto}.recipe-view[data-v-454c2c59]{display:flex;flex-direction:column;gap:var(--space-xl);padding:var(--space-lg)}.recipe-meta[data-v-454c2c59]{text-align:left;padding-bottom:var(--space-lg);border-bottom:1px solid var(--md-sys-color-outline-variant)}.recipe-name[data-v-454c2c59]{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--space-md) 0}.recipe-description[data-v-454c2c59]{color:var(--text-secondary);font-size:var(--text-base);line-height:var(--leading-relaxed);margin:0}.section-title[data-v-454c2c59]{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--space-md) 0;display:flex;align-items:center;gap:var(--space-sm)}.section-title[data-v-454c2c59]:before{content:"";width:4px;height:20px;background:var(--md-sys-color-primary);border-radius:var(--radius-sm)}.ingredients-list[data-v-454c2c59]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-sm)}.ingredient-item[data-v-454c2c59]{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md);background:var(--md-sys-color-surface-container);border-radius:var(--radius-md);border-left:3px solid var(--md-sys-color-secondary)}.ingredient-name[data-v-454c2c59]{font-weight:var(--font-medium);color:var(--text-primary)}.ingredient-quantity[data-v-454c2c59]{font-size:var(--text-sm);color:var(--text-secondary);background:var(--md-sys-color-primary-container);color:var(--md-sys-color-primary);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-weight:var(--font-medium)}.instructions-content[data-v-454c2c59]{background:var(--md-sys-color-surface-container);padding:var(--space-lg);border-radius:var(--radius-md);line-height:var(--leading-relaxed);color:var(--text-primary);white-space:pre-wrap}.markdown-content[data-v-454c2c59]{white-space:normal}.markdown-content p[data-v-454c2c59]{margin:0 0 var(--space-md) 0}.markdown-content p[data-v-454c2c59]:last-child{margin-bottom:0}.markdown-content h1[data-v-454c2c59],.markdown-content h2[data-v-454c2c59],.markdown-content h3[data-v-454c2c59],.markdown-content h4[data-v-454c2c59],.markdown-content h5[data-v-454c2c59],.markdown-content h6[data-v-454c2c59]{margin:var(--space-lg) 0 var(--space-md) 0;font-weight:var(--font-semibold);color:var(--text-primary)}.markdown-content h1[data-v-454c2c59]:first-child,.markdown-content h2[data-v-454c2c59]:first-child,.markdown-content h3[data-v-454c2c59]:first-child,.markdown-content h4[data-v-454c2c59]:first-child{margin-top:0}.markdown-content ul[data-v-454c2c59],.markdown-content ol[data-v-454c2c59]{margin:var(--space-md) 0;padding-left:var(--space-xl)}.markdown-content li[data-v-454c2c59]{margin:var(--space-xs) 0}.markdown-content strong[data-v-454c2c59]{font-weight:var(--font-semibold)}.markdown-content em[data-v-454c2c59]{font-style:italic}.markdown-content code[data-v-454c2c59]{background:var(--md-sys-color-surface-variant);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-xs);font-family:monospace;font-size:.9em}.markdown-content pre[data-v-454c2c59]{background:var(--md-sys-color-surface-variant);padding:var(--space-md);border-radius:var(--radius-md);overflow-x:auto;margin:var(--space-md) 0}.markdown-content pre code[data-v-454c2c59]{background:none;padding:0}.markdown-content blockquote[data-v-454c2c59]{border-left:3px solid var(--md-sys-color-primary);padding-left:var(--space-md);margin:var(--space-md) 0;font-style:italic;color:var(--text-secondary)}.recipe-edit[data-v-454c2c59]{display:flex;flex-direction:column;gap:var(--space-lg)}.form-group[data-v-454c2c59]{display:flex;flex-direction:column;gap:var(--space-sm)}.form-label[data-v-454c2c59]{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.form-input[data-v-454c2c59]{padding:var(--space-md);border:1px solid var(--md-sys-color-outline);border-radius:var(--radius-md);font-size:var(--text-base);background:var(--md-sys-color-surface);color:var(--text-primary);transition:all var(--transition-fast)}.form-input[data-v-454c2c59]:focus{outline:none;border-color:var(--md-sys-color-primary);box-shadow:0 0 0 3px #8b5cf61a}.form-input[data-v-454c2c59]::placeholder{color:var(--text-tertiary)}textarea.form-input[data-v-454c2c59]{resize:vertical;min-height:80px}.ingredients-edit-section[data-v-454c2c59]{display:flex;flex-direction:column;gap:var(--space-md)}.ingredient-edit-item[data-v-454c2c59]{display:grid;grid-template-columns:2fr 1fr auto;gap:var(--space-sm);align-items:center}.ingredient-name[data-v-454c2c59],.ingredient-quantity[data-v-454c2c59]{min-width:0}.remove-ingredient-btn[data-v-454c2c59]{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:var(--text-sm)}.add-ingredient-btn[data-v-454c2c59]{align-self:flex-start;margin-top:var(--space-xs)}.modal-footer[data-v-454c2c59]{padding:var(--space-xl);border-top:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container)}.footer-actions[data-v-454c2c59]{display:flex;justify-content:space-between;align-items:center;gap:var(--space-lg)}.edit-actions[data-v-454c2c59]{display:flex;gap:var(--space-md)}.add-to-list-btn[data-v-454c2c59]{background:var(--md-sys-color-secondary);color:var(--text-inverse)}.add-to-list-btn[data-v-454c2c59]:hover:not(:disabled){background:#06a9d4}@media (max-width: 768px){.modal-overlay[data-v-454c2c59]{padding:var(--space-md)}.modal-header[data-v-454c2c59],.modal-body[data-v-454c2c59],.modal-footer[data-v-454c2c59]{padding:var(--space-lg)}.footer-actions[data-v-454c2c59]{flex-direction:column;gap:var(--space-md)}.edit-actions[data-v-454c2c59]{width:100%;justify-content:space-between}.add-to-list-btn[data-v-454c2c59]{width:100%}.ingredient-edit-item[data-v-454c2c59]{grid-template-columns:1fr;gap:var(--space-xs)}.remove-ingredient-btn[data-v-454c2c59]{justify-self:flex-end;margin-top:var(--space-xs)}}@media (max-width: 480px){.modal-overlay[data-v-454c2c59]{padding:var(--space-sm)}.modal-header[data-v-454c2c59],.modal-body[data-v-454c2c59],.modal-footer[data-v-454c2c59]{padding:var(--space-md)}.recipe-name[data-v-454c2c59]{font-size:var(--text-xl)}.ingredient-item[data-v-454c2c59]{flex-direction:column;align-items:flex-start;gap:var(--space-xs)}}.modal-overlay[data-v-27805c8c]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--space-lg)}.modal-content[data-v-27805c8c]{background:var(--md-sys-color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:100%;max-width:600px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-header[data-v-27805c8c]{display:flex;justify-content:space-between;align-items:center;padding:var(--space-xl);border-bottom:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container)}.modal-title[data-v-27805c8c]{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.close-btn[data-v-27805c8c]{background:none;border:none;font-size:var(--text-xl);color:var(--text-secondary);cursor:pointer;padding:var(--space-sm);border-radius:50%;transition:all var(--transition-fast);width:32px;height:32px;display:flex;align-items:center;justify-content:center}.close-btn[data-v-27805c8c]:hover{background:var(--md-sys-color-surface-container);color:var(--text-primary)}.modal-body[data-v-27805c8c]{flex:1;padding:var(--space-xl);overflow-y:auto}.recipe-form[data-v-27805c8c]{display:flex;flex-direction:column;gap:var(--space-lg)}.form-group[data-v-27805c8c]{display:flex;flex-direction:column;gap:var(--space-sm)}.form-label[data-v-27805c8c]{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.form-input[data-v-27805c8c]{padding:var(--space-md);border:1px solid var(--md-sys-color-outline);border-radius:var(--radius-md);font-size:var(--text-base);background:var(--md-sys-color-surface);color:var(--text-primary);transition:all var(--transition-fast)}.form-input[data-v-27805c8c]:focus{outline:none;border-color:var(--md-sys-color-primary);box-shadow:0 0 0 3px #8b5cf61a}.form-hint[data-v-27805c8c]{color:var(--text-secondary);font-size:var(--text-xs);margin-top:var(--space-xs)}.generating-state[data-v-27805c8c]{text-align:center;padding:var(--space-3xl)}.generating-state h3[data-v-27805c8c]{margin:var(--space-lg) 0 var(--space-md) 0;color:var(--text-primary)}.generating-state p[data-v-27805c8c]{color:var(--text-secondary);margin:0}.spinner[data-v-27805c8c]{width:40px;height:40px;border:4px solid var(--md-sys-color-outline-variant);border-top:4px solid var(--md-sys-color-primary);border-radius:50%;animation:spin-27805c8c 1s linear infinite;margin:0 auto}.spinner.small[data-v-27805c8c]{width:16px;height:16px;border-width:2px}@keyframes spin-27805c8c{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.recipe-result[data-v-27805c8c]{max-height:400px;overflow-y:auto;border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--radius-md);padding:var(--space-lg)}.success-notice[data-v-27805c8c]{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:var(--radius-md);color:#15803d;font-weight:var(--font-medium);margin-bottom:var(--space-lg)}.success-icon[data-v-27805c8c]{font-size:var(--text-lg)}.recipe-content[data-v-27805c8c]{line-height:var(--leading-relaxed);color:var(--text-primary)}.recipe-content[data-v-27805c8c] h1,.recipe-content[data-v-27805c8c] h2,.recipe-content[data-v-27805c8c] h3{color:var(--md-sys-color-primary);margin:var(--space-lg) 0 var(--space-md) 0}.recipe-content[data-v-27805c8c] h1:first-child,.recipe-content[data-v-27805c8c] h2:first-child,.recipe-content[data-v-27805c8c] h3:first-child{margin-top:0}.recipe-content[data-v-27805c8c] ul,.recipe-content[data-v-27805c8c] ol{margin:var(--space-md) 0;padding-left:var(--space-xl)}.recipe-content[data-v-27805c8c] li{margin:var(--space-xs) 0}.recipe-content[data-v-27805c8c] p{margin:var(--space-md) 0}.error-state[data-v-27805c8c]{text-align:center;padding:var(--space-3xl)}.error-icon[data-v-27805c8c]{font-size:var(--text-3xl);margin-bottom:var(--space-lg)}.error-state h3[data-v-27805c8c]{color:var(--md-sys-color-error);margin:0 0 var(--space-md) 0}.error-state p[data-v-27805c8c]{color:var(--text-secondary);margin:0}.modal-footer[data-v-27805c8c]{padding:var(--space-xl);border-top:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container)}.footer-actions[data-v-27805c8c]{display:flex;justify-content:flex-end;gap:var(--space-md)}.generate-btn[data-v-27805c8c]{background:linear-gradient(135deg,var(--md-sys-color-primary),#8b5cf6);color:#fff;border:none}.generate-btn[data-v-27805c8c]:hover:not(:disabled){background:linear-gradient(135deg,#6d28d9,var(--md-sys-color-primary))}@media (max-width: 768px){.modal-overlay[data-v-27805c8c]{padding:var(--space-md)}.modal-header[data-v-27805c8c],.modal-body[data-v-27805c8c],.modal-footer[data-v-27805c8c]{padding:var(--space-lg)}.footer-actions[data-v-27805c8c]{flex-direction:column}.footer-actions button[data-v-27805c8c]{width:100%}}.modal-overlay[data-v-80b0182c]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--space-lg)}.modal-content[data-v-80b0182c]{background:var(--md-sys-color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:100%;max-width:700px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-header[data-v-80b0182c]{display:flex;justify-content:space-between;align-items:center;padding:var(--space-xl);border-bottom:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container)}.modal-title[data-v-80b0182c]{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.close-btn[data-v-80b0182c]{background:none;border:none;font-size:var(--text-xl);color:var(--text-secondary);cursor:pointer;padding:var(--space-sm);border-radius:50%;transition:all var(--transition-fast);width:32px;height:32px;display:flex;align-items:center;justify-content:center}.close-btn[data-v-80b0182c]:hover{background:var(--md-sys-color-surface-container);color:var(--text-primary)}.modal-body[data-v-80b0182c]{flex:1;padding:var(--space-xl);overflow-y:auto}.recipe-form[data-v-80b0182c]{display:flex;flex-direction:column;gap:var(--space-lg)}.form-group[data-v-80b0182c]{display:flex;flex-direction:column;gap:var(--space-sm)}.form-label[data-v-80b0182c]{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.form-input[data-v-80b0182c]{padding:var(--space-md);border:1px solid var(--md-sys-color-outline);border-radius:var(--radius-md);font-size:var(--text-base);background:var(--md-sys-color-surface);color:var(--text-primary);transition:all var(--transition-fast)}.form-input[data-v-80b0182c]:focus{outline:none;border-color:var(--md-sys-color-primary);box-shadow:0 0 0 3px #8b5cf61a}.form-input[data-v-80b0182c]::placeholder{color:var(--text-tertiary)}textarea.form-input[data-v-80b0182c]{resize:vertical;min-height:80px;font-family:inherit}.form-hint[data-v-80b0182c]{color:var(--text-secondary);font-size:var(--text-xs)}.ingredients-section[data-v-80b0182c]{display:flex;flex-direction:column;gap:var(--space-md)}.ingredient-input[data-v-80b0182c]{display:grid;grid-template-columns:2fr 1fr auto;gap:var(--space-sm);align-items:center}.ingredient-name[data-v-80b0182c],.ingredient-quantity[data-v-80b0182c]{min-width:0}.remove-btn[data-v-80b0182c]{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.add-ingredient-btn[data-v-80b0182c]{align-self:flex-start;margin-top:var(--space-xs)}.modal-footer[data-v-80b0182c]{padding:var(--space-xl);border-top:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container)}.footer-actions[data-v-80b0182c]{display:flex;justify-content:flex-end;gap:var(--space-md)}.spinner[data-v-80b0182c]{width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin-80b0182c 1s linear infinite}@keyframes spin-80b0182c{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.modal-overlay[data-v-80b0182c]{padding:var(--space-md)}.modal-header[data-v-80b0182c],.modal-body[data-v-80b0182c],.modal-footer[data-v-80b0182c]{padding:var(--space-lg)}.footer-actions[data-v-80b0182c]{flex-direction:column;gap:var(--space-md)}.footer-actions button[data-v-80b0182c]{width:100%}.ingredient-input[data-v-80b0182c]{grid-template-columns:1fr;gap:var(--space-xs)}.remove-btn[data-v-80b0182c]{justify-self:flex-end;margin-top:var(--space-xs)}}@media (max-width: 480px){.modal-overlay[data-v-80b0182c]{padding:var(--space-sm)}.modal-header[data-v-80b0182c],.modal-body[data-v-80b0182c],.modal-footer[data-v-80b0182c]{padding:var(--space-md)}.modal-title[data-v-80b0182c]{font-size:var(--text-lg)}}.board-view[data-v-05299725]{padding:var(--space-xl);max-width:1400px;margin:0 auto;height:calc(100vh - 4rem);overflow:hidden;display:flex;flex-direction:column}.loading[data-v-05299725]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-lg);padding:var(--space-3xl);color:var(--text-secondary)}.error-banner[data-v-05299725]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg);background:#ef44441a;color:var(--md-sys-color-error);border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-md);margin-bottom:var(--space-lg)}.board-container[data-v-05299725]{display:flex;flex-direction:column;gap:var(--space-lg);flex:1;overflow:hidden}.board-nav[data-v-05299725]{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding:var(--space-lg);background:var(--md-sys-color-surface-container);border-radius:var(--radius-lg)}.board-title[data-v-05299725]{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);text-align:center}.nav-dots[data-v-05299725]{display:flex;gap:var(--space-sm);align-items:center}.nav-dot[data-v-05299725]{width:12px;height:12px;border-radius:50%;background:var(--md-sys-color-outline-variant);border:none;cursor:pointer;transition:all var(--transition-fast);opacity:.6}.nav-dot[data-v-05299725]:hover{background:var(--md-sys-color-outline);opacity:.8;transform:scale(1.1)}.nav-dot.active[data-v-05299725]{background:var(--md-sys-color-primary);opacity:1;transform:scale(1.2)}.board-swipe-container[data-v-05299725]{position:relative;width:100%;overflow:hidden;border-radius:var(--radius-lg);touch-action:pan-x;flex:1;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.board-swipe-container .board-item[data-v-05299725],.board-swipe-container .items-list[data-v-05299725]{touch-action:auto;-webkit-user-select:auto;-khtml-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto}.board-swipe-container[data-dragging=true][data-v-05299725]{touch-action:none;pointer-events:none}.board-swipe-container[data-dragging=true] .board-column[data-v-05299725]{pointer-events:all}.board-swipe-container[data-dragging=true] .board-slides[data-v-05299725]{transition:none!important;transform:none!important}.board-swipe-container[data-intent-detection=true][data-v-05299725]{opacity:.95;transition:opacity var(--transition-fast)}.board-slides[data-v-05299725]{display:flex;width:100%;height:100%;transition:transform var(--transition-smooth)}.board-slides.no-transition[data-v-05299725]{transition:none}.board-slide[data-v-05299725]{flex:0 0 100%;width:100%;height:100%;overflow:hidden}.board-slide[data-v-05299725]:not(.active){pointer-events:none}.swipe-hint[data-v-05299725]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10;pointer-events:none}.hint-content[data-v-05299725]{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:var(--space-lg) var(--space-xl);background:#000c;color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:fadeInOut-05299725 4s ease-in-out}.hint-icon[data-v-05299725]{font-size:var(--text-2xl);animation:swipeAnimation-05299725 2s ease-in-out infinite}.hint-text[data-v-05299725]{font-size:var(--text-sm);font-weight:var(--font-medium);text-align:center}@keyframes fadeInOut-05299725{0%,to{opacity:0;transform:translate(-50%,-50%) scale(.9)}20%,80%{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes swipeAnimation-05299725{0%,to{transform:translate(0)}50%{transform:translate(-10px)}}@media (min-width: 1024px){.board-container[data-v-05299725]{display:block}.board-nav[data-v-05299725]{display:none}.board-swipe-container[data-v-05299725]{overflow:visible}.board-slides[data-v-05299725]{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-xl);transform:none!important}.board-slide[data-v-05299725]{flex:none;width:auto;min-height:auto;pointer-events:all}.swipe-hint[data-v-05299725]{display:none}}@media (max-width: 768px){.board-view[data-v-05299725]{padding:var(--space-lg);height:calc(100vh - 3rem)}.board-nav[data-v-05299725]{gap:var(--space-sm);padding:var(--space-md);flex-shrink:0}.board-title[data-v-05299725]{font-size:var(--text-base)}}@media (max-width: 480px){.board-view[data-v-05299725]{padding:var(--space-md);height:calc(100vh - 2rem)}}.modal-overlay[data-v-ef6db519]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--space-lg)}.modal-content[data-v-ef6db519]{background:var(--md-sys-color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:100%;max-width:600px;max-height:90vh;overflow-y:auto}.modal-header[data-v-ef6db519]{display:flex;justify-content:space-between;align-items:center;padding:var(--space-xl);border-bottom:1px solid var(--md-sys-color-outline-variant)}.modal-title[data-v-ef6db519]{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.close-btn[data-v-ef6db519]{background:none;border:none;font-size:var(--text-xl);color:var(--text-secondary);cursor:pointer;padding:var(--space-sm);border-radius:50%;transition:all var(--transition-fast)}.close-btn[data-v-ef6db519]:hover{background:var(--md-sys-color-surface-container);color:var(--text-primary)}.modal-form[data-v-ef6db519]{padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-lg)}.form-group[data-v-ef6db519]{display:flex;flex-direction:column;gap:var(--space-sm)}.form-row[data-v-ef6db519]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg)}.form-label[data-v-ef6db519]{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.form-input[data-v-ef6db519]{padding:var(--space-md);border:1px solid var(--md-sys-color-outline);border-radius:var(--radius-md);font-size:var(--text-base);background:var(--md-sys-color-surface);color:var(--text-primary);transition:all var(--transition-fast)}.form-input[data-v-ef6db519]:focus{outline:none;border-color:var(--md-sys-color-primary);box-shadow:0 0 0 3px #8b5cf61a}.form-input[data-v-ef6db519]::placeholder{color:var(--text-tertiary)}textarea.form-input[data-v-ef6db519]{resize:vertical;min-height:80px;font-family:inherit;line-height:var(--leading-normal)}.form-hint[data-v-ef6db519]{font-size:var(--text-xs);color:var(--text-tertiary);font-style:italic}.form-actions[data-v-ef6db519]{display:flex;gap:var(--space-md);justify-content:flex-end;padding-top:var(--space-lg);border-top:1px solid var(--md-sys-color-outline-variant)}@media (max-width: 768px){.modal-overlay[data-v-ef6db519]{padding:var(--space-md)}.modal-header[data-v-ef6db519],.modal-form[data-v-ef6db519]{padding:var(--space-lg)}.form-row[data-v-ef6db519]{grid-template-columns:1fr;gap:var(--space-md)}.form-actions[data-v-ef6db519]{flex-direction:column-reverse}}@media (max-width: 480px){.modal-overlay[data-v-ef6db519]{padding:var(--space-sm)}.modal-header[data-v-ef6db519],.modal-form[data-v-ef6db519]{padding:var(--space-md)}.modal-title[data-v-ef6db519]{font-size:var(--text-lg)}}.recipe-detail-view[data-v-5f4f936a]{padding:var(--space-xl);max-width:800px;margin:0 auto;min-height:calc(100vh - 4rem)}.loading[data-v-5f4f936a]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-lg);padding:var(--space-3xl);color:var(--text-secondary)}.error-banner[data-v-5f4f936a]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg);background:#ef44441a;color:var(--md-sys-color-error);border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-md);margin-bottom:var(--space-lg)}.recipe-header[data-v-5f4f936a]{background:var(--md-sys-color-surface);border-radius:var(--radius-lg);padding:var(--space-2xl);margin-bottom:var(--space-xl);box-shadow:var(--shadow-sm)}.recipe-header-content[data-v-5f4f936a]{margin-bottom:var(--space-xl)}.back-btn[data-v-5f4f936a]{margin-bottom:var(--space-lg)}.recipe-title[data-v-5f4f936a]{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--space-sm)}.recipe-description[data-v-5f4f936a]{font-size:var(--text-lg);color:var(--text-secondary);line-height:var(--leading-relaxed)}.recipe-actions[data-v-5f4f936a]{display:flex;gap:var(--space-md);flex-wrap:wrap}.recipe-meta[data-v-5f4f936a]{display:flex;gap:var(--space-xl);padding:var(--space-lg);background:var(--md-sys-color-surface-container);border-radius:var(--radius-md);margin-bottom:var(--space-xl)}.meta-item[data-v-5f4f936a]{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs)}.meta-icon[data-v-5f4f936a]{font-size:var(--text-xl)}.meta-label[data-v-5f4f936a]{font-size:var(--text-xs);color:var(--text-secondary);text-transform:uppercase;font-weight:var(--font-medium)}.meta-value[data-v-5f4f936a]{font-size:var(--text-sm);color:var(--text-primary);font-weight:var(--font-semibold)}.recipe-section[data-v-5f4f936a]{background:var(--md-sys-color-surface);border-radius:var(--radius-lg);padding:var(--space-2xl);margin-bottom:var(--space-xl);box-shadow:var(--shadow-sm)}.section-header[data-v-5f4f936a]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg)}.section-title[data-v-5f4f936a]{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary)}.ingredient-count[data-v-5f4f936a]{font-size:var(--text-sm);color:var(--text-secondary);background:var(--md-sys-color-surface-container);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm)}.ingredients-list[data-v-5f4f936a]{display:grid;gap:var(--space-md)}.ingredient-item[data-v-5f4f936a]{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--md-sys-color-surface-container);border-radius:var(--radius-md)}.ingredient-name[data-v-5f4f936a]{font-weight:var(--font-medium);color:var(--text-primary);flex:1}.ingredient-quantity[data-v-5f4f936a]{font-size:var(--text-sm);color:var(--text-secondary);font-weight:var(--font-medium)}.ingredient-unit[data-v-5f4f936a]{font-size:var(--text-sm);color:var(--text-secondary)}.ingredient-category[data-v-5f4f936a]{font-size:var(--text-xs);color:var(--text-tertiary);background:var(--md-sys-color-outline-variant);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.5px}.empty-state[data-v-5f4f936a]{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg);padding:var(--space-3xl);color:var(--text-secondary);text-align:center}.empty-icon[data-v-5f4f936a]{font-size:var(--text-3xl)}.empty-text[data-v-5f4f936a]{font-size:var(--text-lg)}.instructions-content[data-v-5f4f936a]{margin-top:var(--space-lg)}.instructions-text[data-v-5f4f936a]{line-height:var(--leading-relaxed);color:var(--text-primary)}.instructions-text[data-v-5f4f936a] h1,.instructions-text[data-v-5f4f936a] h2,.instructions-text[data-v-5f4f936a] h3{color:var(--text-primary);margin-top:var(--space-lg);margin-bottom:var(--space-md)}.instructions-text[data-v-5f4f936a] p{margin-bottom:var(--space-md)}.instructions-text[data-v-5f4f936a] ol,.instructions-text[data-v-5f4f936a] ul{margin-bottom:var(--space-md);padding-left:var(--space-lg)}.instructions-text[data-v-5f4f936a] li{margin-bottom:var(--space-sm)}@media (max-width: 768px){.recipe-detail-view[data-v-5f4f936a],.recipe-header[data-v-5f4f936a],.recipe-section[data-v-5f4f936a]{padding:var(--space-lg)}.recipe-title[data-v-5f4f936a]{font-size:var(--text-2xl)}.recipe-actions[data-v-5f4f936a]{flex-direction:column}.recipe-meta[data-v-5f4f936a]{flex-direction:column;gap:var(--space-lg);text-align:center}.ingredient-item[data-v-5f4f936a]{flex-direction:column;align-items:stretch;text-align:center}}@media (max-width: 480px){.recipe-detail-view[data-v-5f4f936a]{padding:var(--space-md)}}.header-bar[data-v-9a353ba6]{position:fixed;top:0;left:0;right:0;background:var(--md-sys-color-surface);border-bottom:1px solid var(--md-sys-color-outline-variant);box-shadow:var(--shadow-sm);z-index:var(--z-fixed);height:4rem}.header-content[data-v-9a353ba6]{display:flex;align-items:center;justify-content:space-between;height:100%;max-width:1400px;margin:0 auto;padding:0 var(--space-lg)}.header-left[data-v-9a353ba6]{display:flex;align-items:center}.logo-section[data-v-9a353ba6]{display:flex;align-items:center;gap:var(--space-md);text-decoration:none;color:var(--text-primary);transition:all var(--transition-fast)}.logo-section[data-v-9a353ba6]:hover{color:var(--md-sys-color-primary);transform:translateY(-1px)}.logo-icon[data-v-9a353ba6]{font-size:var(--text-2xl);display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--md-sys-color-primary-container);border-radius:50%}.logo-text[data-v-9a353ba6]{font-size:var(--text-xl);font-weight:var(--font-bold);margin:0}.header-nav[data-v-9a353ba6]{display:flex;gap:var(--space-md)}.nav-link[data-v-9a353ba6]{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);text-decoration:none;color:var(--text-secondary);border-radius:var(--radius-md);transition:all var(--transition-fast);font-weight:var(--font-medium)}.nav-link[data-v-9a353ba6]:hover{background:var(--md-sys-color-surface-container);color:var(--text-primary);transform:translateY(-1px)}.nav-link.active[data-v-9a353ba6]{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-primary)}.nav-icon[data-v-9a353ba6]{font-size:var(--text-lg)}.nav-text[data-v-9a353ba6]{font-size:var(--text-sm)}.header-right[data-v-9a353ba6]{display:flex;align-items:center}.user-section[data-v-9a353ba6]{position:relative;display:flex;align-items:center;gap:var(--space-md)}.user-info[data-v-9a353ba6]{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-xs)}.user-name[data-v-9a353ba6]{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary)}.user-status[data-v-9a353ba6]{font-size:var(--text-xs);color:var(--text-tertiary)}.user-actions[data-v-9a353ba6]{display:flex;gap:var(--space-sm)}.action-btn[data-v-9a353ba6]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--md-sys-color-surface-container);border:1px solid var(--md-sys-color-outline-variant);border-radius:50%;cursor:pointer;transition:all var(--transition-fast)}.action-btn[data-v-9a353ba6]:hover{background:var(--md-sys-color-surface-container-high);border-color:var(--md-sys-color-outline);transform:scale(1.05)}.action-btn.active[data-v-9a353ba6]{background:var(--md-sys-color-primary);border-color:var(--md-sys-color-primary);color:var(--text-inverse)}.chat-btn.active[data-v-9a353ba6]{background:var(--md-sys-color-secondary);border-color:var(--md-sys-color-secondary)}.btn-icon[data-v-9a353ba6]{font-size:var(--text-lg)}.user-menu[data-v-9a353ba6]{position:absolute;top:calc(100% + var(--space-sm));right:0;background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:240px;z-index:var(--z-dropdown);overflow:hidden}.menu-header[data-v-9a353ba6]{padding:var(--space-lg);background:var(--md-sys-color-surface-container)}.menu-user-info[data-v-9a353ba6]{display:flex;flex-direction:column;gap:var(--space-xs)}.menu-user-name[data-v-9a353ba6]{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary)}.menu-user-email[data-v-9a353ba6]{font-size:var(--text-sm);color:var(--text-secondary)}.menu-divider[data-v-9a353ba6]{height:1px;background:var(--md-sys-color-outline-variant)}.menu-items[data-v-9a353ba6]{padding:var(--space-sm)}.menu-item[data-v-9a353ba6]{display:flex;align-items:center;gap:var(--space-md);width:100%;padding:var(--space-md) var(--space-lg);background:none;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);color:var(--text-primary)}.menu-item[data-v-9a353ba6]:hover{background:var(--md-sys-color-surface-container)}.menu-icon[data-v-9a353ba6]{font-size:var(--text-lg);width:20px;display:flex;justify-content:center}.menu-text[data-v-9a353ba6]{font-size:var(--text-sm);font-weight:var(--font-medium)}.menu-overlay[data-v-9a353ba6]{position:fixed;inset:0;z-index:calc(var(--z-dropdown) - 1)}@media (max-width: 768px){.header-bar[data-v-9a353ba6]{height:3.5rem}.header-content[data-v-9a353ba6]{padding:0 var(--space-md)}.logo-text[data-v-9a353ba6],.nav-text[data-v-9a353ba6],.user-info[data-v-9a353ba6]{display:none}.user-menu[data-v-9a353ba6]{right:var(--space-sm);min-width:200px}}@media (max-width: 480px){.header-content[data-v-9a353ba6]{padding:0 var(--space-sm)}.logo-icon[data-v-9a353ba6]{width:32px;height:32px;font-size:var(--text-lg)}.action-btn[data-v-9a353ba6]{width:36px;height:36px}.btn-icon[data-v-9a353ba6]{font-size:var(--text-base)}}.loading-overlay[data-v-2a484924]{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.loading-content[data-v-2a484924]{display:flex;flex-direction:column;align-items:center;gap:var(--space-xl);padding:var(--space-3xl);background:var(--md-sys-color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);text-align:center;max-width:300px}.loading-spinner[data-v-2a484924]{display:flex;align-items:center;justify-content:center}.spinner[data-v-2a484924]{width:3rem;height:3rem;border:3px solid var(--md-sys-color-outline-variant);border-top:3px solid var(--md-sys-color-primary);border-radius:50%;animation:spin-2a484924 1s linear infinite}.loading-text[data-v-2a484924]{display:flex;flex-direction:column;gap:var(--space-sm)}.loading-title[data-v-2a484924]{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.loading-subtitle[data-v-2a484924]{font-size:var(--text-sm);color:var(--text-secondary);margin:0}@keyframes spin-2a484924{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 480px){.loading-content[data-v-2a484924]{padding:var(--space-2xl);max-width:280px}.spinner[data-v-2a484924]{width:2.5rem;height:2.5rem}.loading-title[data-v-2a484924]{font-size:var(--text-base)}.loading-subtitle[data-v-2a484924]{font-size:var(--text-xs)}}.notification-container[data-v-1696ea3c]{position:fixed;top:5rem;right:var(--space-lg);z-index:var(--z-tooltip);display:flex;flex-direction:column;gap:var(--space-md);max-width:400px}.notification[data-v-1696ea3c]{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-lg);background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:320px}.notification-success[data-v-1696ea3c]{border-left:4px solid var(--md-sys-color-success);background:#22c55e0d}.notification-error[data-v-1696ea3c]{border-left:4px solid var(--md-sys-color-error);background:#ef44440d}.notification-warning[data-v-1696ea3c]{border-left:4px solid var(--md-sys-color-warning);background:#f59e0b0d}.notification-info[data-v-1696ea3c]{border-left:4px solid var(--md-sys-color-primary);background:#8b5cf60d}.notification-icon[data-v-1696ea3c]{font-size:var(--text-lg);flex-shrink:0}.notification-content[data-v-1696ea3c]{flex:1;display:flex;flex-direction:column;gap:var(--space-xs)}.notification-title[data-v-1696ea3c]{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary)}.notification-message[data-v-1696ea3c]{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-normal)}.notification-close[data-v-1696ea3c]{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--space-xs);border-radius:50%;transition:all var(--transition-fast);flex-shrink:0;font-size:var(--text-sm)}.notification-close[data-v-1696ea3c]:hover{background:var(--md-sys-color-surface-container);color:var(--text-primary)}.notification-enter-active[data-v-1696ea3c]{transition:all .4s ease}.notification-leave-active[data-v-1696ea3c]{transition:all .3s ease}.notification-enter-from[data-v-1696ea3c],.notification-leave-to[data-v-1696ea3c]{transform:translate(100%);opacity:0}.notification-move[data-v-1696ea3c]{transition:transform .3s ease}@media (max-width: 768px){.notification-container[data-v-1696ea3c]{top:4rem;right:var(--space-md);left:var(--space-md);max-width:none}.notification[data-v-1696ea3c]{min-width:auto;padding:var(--space-md)}.notification-title[data-v-1696ea3c],.notification-message[data-v-1696ea3c]{font-size:var(--text-xs)}}@media (max-width: 480px){.notification-container[data-v-1696ea3c]{top:3.5rem;right:var(--space-sm);left:var(--space-sm)}.notification[data-v-1696ea3c]{padding:var(--space-sm) var(--space-md)}}.main-content[data-v-0dbc2412]{min-height:100vh;padding:0}.main-content.with-header[data-v-0dbc2412]{padding-top:4rem;min-height:calc(100vh - 4rem)}@media (max-width: 768px){.main-content.with-header[data-v-0dbc2412]{padding-top:3.5rem;min-height:calc(100vh - 3.5rem)}}:root{--md-sys-color-primary: #8b5cf6;--md-sys-color-primary-container: #f3f0ff;--md-sys-color-secondary: #06b6d4;--md-sys-color-secondary-container: #ecfeff;--md-sys-color-background: #fafafa;--md-sys-color-surface: #ffffff;--md-sys-color-surface-container: #f8fafc;--md-sys-color-surface-container-high: #f1f5f9;--md-sys-color-surface-container-highest: #e2e8f0;--md-sys-color-surface-variant: #f1f5f9;--md-sys-color-outline: #cbd5e1;--md-sys-color-outline-variant: #e2e8f0;--md-sys-color-error: #ef4444;--md-sys-color-success: #22c55e;--md-sys-color-warning: #f59e0b;--text-primary: #1e293b;--text-secondary: #64748b;--text-tertiary: #94a3b8;--text-accent: #8b5cf6;--text-inverse: #ffffff;--space-xs: .25rem;--space-sm: .5rem;--space-md: .75rem;--space-lg: 1rem;--space-xl: 1.5rem;--space-2xl: 2rem;--space-3xl: 3rem;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.625;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal: 1040;--z-tooltip: 1070}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;overscroll-behavior:none;touch-action:manipulation;-webkit-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--md-sys-color-background);color:var(--text-primary);min-height:100vh;line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}input,textarea,[contenteditable]{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;touch-action:auto}h1,h2,h3,h4,h5,h6{font-weight:var(--font-semibold);line-height:var(--leading-tight);margin-bottom:var(--space-sm)}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}p{margin-bottom:var(--space-md)}a{color:var(--text-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--md-sys-color-primary);text-decoration:underline}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast);text-decoration:none;-webkit-user-select:none;user-select:none;touch-action:manipulation}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--md-sys-color-primary);color:var(--text-inverse)}.btn-primary:hover:not(:disabled){background:#7c3aed;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--md-sys-color-surface);color:var(--text-primary);border:1px solid var(--md-sys-color-outline)}.btn-secondary:hover:not(:disabled){background:var(--md-sys-color-surface-container);border-color:var(--md-sys-color-primary)}.btn-danger{background:var(--md-sys-color-error);color:var(--text-inverse)}.btn-danger:hover:not(:disabled){background:#dc2626;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-sm{padding:var(--space-sm) var(--space-md);font-size:var(--text-xs)}.btn-lg{padding:var(--space-lg) var(--space-xl);font-size:var(--text-base)}.btn-icon{padding:var(--space-md);border-radius:50%;width:2.5rem;height:2.5rem}.card{background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-normal)}.card:hover{box-shadow:var(--shadow-md);border-color:var(--md-sys-color-outline)}.card-header{padding:var(--space-lg);border-bottom:1px solid var(--md-sys-color-outline-variant)}.card-body{padding:var(--space-lg)}.card-footer{padding:var(--space-lg);border-top:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-variant)}.form-group{margin-bottom:var(--space-lg)}.form-label{display:block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);margin-bottom:var(--space-sm)}.form-input{width:100%;padding:var(--space-md) var(--space-lg);border:1px solid var(--md-sys-color-outline);border-radius:var(--radius-md);font-size:var(--text-base);background:var(--md-sys-color-surface);color:var(--text-primary);transition:all var(--transition-fast)}.form-input:focus{outline:none;border-color:var(--md-sys-color-primary);box-shadow:0 0 0 3px #8b5cf61a}.form-input::placeholder{color:var(--text-tertiary)}.draggable-item{cursor:grab;transition:all var(--transition-normal)}.draggable-item:active{cursor:grabbing}.drag-ghost{opacity:.5;transform:rotate(5deg)}.drop-zone{min-height:4rem;border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);transition:all var(--transition-fast)}.drop-zone.drag-over{border-color:var(--md-sys-color-primary);background:var(--md-sys-color-primary-container);color:var(--md-sys-color-primary)}.loading{display:flex;align-items:center;justify-content:center;padding:var(--space-2xl);color:var(--text-secondary)}.spinner{width:2rem;height:2rem;border:2px solid var(--md-sys-color-outline);border-top:2px solid var(--md-sys-color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.hidden{display:none!important}.invisible{visibility:hidden}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.gap-xl{gap:var(--space-xl)}.p-xs{padding:var(--space-xs)}.p-sm{padding:var(--space-sm)}.p-md{padding:var(--space-md)}.p-lg{padding:var(--space-lg)}.p-xl{padding:var(--space-xl)}.m-xs{margin:var(--space-xs)}.m-sm{margin:var(--space-sm)}.m-md{margin:var(--space-md)}.m-lg{margin:var(--space-lg)}.m-xl{margin:var(--space-xl)}.rounded{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}@media (max-width: 768px){:root{--space-lg: .875rem;--space-xl: 1.25rem;--space-2xl: 1.75rem}.btn{padding:var(--space-md) var(--space-lg)}.card-header,.card-body,.card-footer{padding:var(--space-md)}}@media (max-width: 480px){:root{--space-md: .625rem;--space-lg: .75rem;--space-xl: 1rem}}
