html{box-sizing:border-box;scroll-behavior:smooth;overscroll-behavior:none;height:100%;overflow:hidden}body{height:100%;overflow:hidden;overscroll-behavior:none;margin:0}#app{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden}*,*:before,*:after{box-sizing:inherit}body,h1,h2,h3,h4,h5,h6,p,figure{margin:0}ul,ol{margin:0;padding-left:1.25rem}button,input,select,textarea{margin:0;font:inherit}:root{--bg-color: #ffffff;--bg-secondary: #f9fafb;--bg-hover: #f3f4f6;--surface-color: #ffffff;--surface-hover: #f9fafb;--surface-overlay: rgba(0, 0, 0, .5);--bg-surface: #ffffff;--bg-surface-elevated: #f1f5f9;--border-color: #e5e7eb;--border-subtle: #f3f4f6;--border-focus: #667eea;--text-color: #111827;--text-primary: #111827;--text-secondary: #6b7280;--text-muted: #9ca3af;--text-on-primary: #ffffff;--text-inverse: #ffffff;--font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-body: 1rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-h1: 2.25rem;--font-size-h2: 1.75rem;--font-size-h3: 1.25rem;--font-size-h4: 1.1rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.6;--primary-color: #667eea;--primary-dark: #764ba2;--primary-light: #e0e7ff;--primary-subtle: #ede9fe;--secondary-color: #f3f4f6;--success-color: #10b981;--success-subtle: #d1fae5;--warning-color: #f59e0b;--warning-subtle: #fef3c7;--error-color: #ef4444;--danger-color: #ef4444;--danger-subtle: #fee2e2;--info-color: #3b82f6;--info-subtle: #dbeafe;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow: 0 1px 3px 0 rgb(0 0 0 / .1);--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-overlay: 0 14px 32px -4px rgba(15, 23, 42, .18), 0 4px 12px -2px rgba(15, 23, 42, .08);--shadow-focus: 0 0 0 3px rgba(102, 126, 234, .25);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--touch-target-min: 44px;--breakpoint-mobile: 640px;--focus-ring: 2px solid #667eea;--focus-offset: 2px;--z-base: 1;--z-sticky: 100;--z-dropdown: 1000;--z-fab: 1000;--z-popover: 1050;--z-modal: 1100}.surface{background:var(--surface-color);border-radius:var(--radius-md);box-shadow:var(--shadow)}.surface-lg{background:var(--surface-color);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.text-muted{color:var(--text-secondary)}.text-center{text-align:center}.stack-sm{display:flex;flex-direction:column;gap:var(--spacing-sm)}.stack-md{display:flex;flex-direction:column;gap:var(--spacing-md)}.stack-lg{display:flex;flex-direction:column;gap:var(--spacing-lg)}.cluster-md{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-md)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6;color:var(--text-color);background:var(--bg-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-top:max(0px,env(safe-area-inset-top));padding-right:max(0px,env(safe-area-inset-right));padding-bottom:max(0px,env(safe-area-inset-bottom));padding-left:max(0px,env(safe-area-inset-left));touch-action:manipulation}.header,.dashboard,.nav-bar,.mfe-container,.home-container{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}button,input,select,textarea,[role=button],a{touch-action:manipulation}button,input[type=button],input[type=submit],input[type=reset]{min-height:44px;min-width:44px;font-size:16px}input,select,textarea{font-size:16px}#app-sync-surface{display:block;width:100%;--sync-status-margin: 0 auto;--sync-status-align: flex-start;--sync-status-text-align: left}#app-sync-surface[style*="display: none"],#app-sync-surface[hidden]{display:none!important}.nav-bar{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;background:var(--surface-color);box-shadow:var(--shadow);position:sticky;top:0;z-index:100}.nav-primary-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.nav-brand-group{display:flex;align-items:center;gap:.85rem;min-width:0}.nav-brand a{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-decoration:none}.nav-active-route{display:none;align-items:center;padding:.35rem .7rem;border-radius:999px;background:var(--bg-secondary);color:var(--primary-color);font-size:.82rem;font-weight:600;white-space:nowrap}.nav-links{display:flex;gap:1.5rem}.nav-panel{display:flex;align-items:center;justify-content:space-between;flex:1 1 auto;gap:1.5rem}.nav-links a{text-decoration:none;color:var(--text-secondary);font-weight:500;transition:color .2s;padding:.5rem 1rem;border-radius:var(--radius-md)}.nav-links a:hover,.nav-links a.active{color:var(--primary-color);background:var(--bg-secondary)}.nav-user{display:flex;align-items:center;gap:1rem}.nav-mobile-actions{display:none}.nav-menu-toggle{border:1px solid var(--border-color);background:var(--surface-color);color:var(--text-color);border-radius:999px;width:44px;min-width:44px;padding:0;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.22rem;box-shadow:var(--shadow)}.nav-menu-toggle-bar{display:block;width:18px;height:2px;border-radius:999px;background:currentColor}.app-status-banner{width:100%;max-width:none;margin:0;padding:0}.user-email{color:var(--text-secondary);font-size:.9rem}.theme-toggle{border:none;background:var(--bg-secondary);color:var(--text-secondary);border-radius:999px;padding:.35rem .75rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:.9rem;transition:background .2s,transform .1s}.theme-toggle:hover{background:var(--border-color)}.theme-toggle:active{transform:scale(.96)}.theme-toggle-icon{font-size:1.1rem}@media(max-width:640px){.nav-bar{padding:1rem;flex-direction:column;align-items:stretch;gap:.75rem}.nav-brand a{font-size:1.2rem}.nav-primary-row{width:100%}.nav-brand-group{flex:1 1 auto;min-width:0}.nav-active-route{display:none!important}.nav-mobile-actions{display:flex;align-items:center;gap:.5rem;margin-left:auto}.nav-panel{display:none;width:100%;flex-direction:column;align-items:stretch;gap:.75rem;padding-top:.25rem}.nav-panel.is-open{display:flex}.nav-links{width:100%;flex-direction:column;gap:.5rem}.nav-links a{padding:.75rem;text-align:center}.nav-user{width:100%;justify-content:space-between;flex-wrap:wrap}.user-email{display:inline;max-width:calc(100% - 5rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-container{padding:2rem 1rem}.home-container h1{font-size:2rem}.subtitle{font-size:1rem}.mfe-grid{grid-template-columns:1fr;gap:1rem}.auth-container{padding:1rem}.sign-in{padding:2rem 1.5rem}}.home-container{padding:4rem 2rem;max-width:1200px;margin:0 auto;text-align:center}.home-container h1{font-size:3rem;margin-bottom:1rem;background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{font-size:1.2rem;color:var(--text-secondary);margin-bottom:3rem}.mfe-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-top:2rem}.mfe-icon{font-size:3rem;margin-bottom:1rem}.mfe-card h3{margin:1rem 0 .5rem;font-size:1.5rem}.mfe-card p{color:var(--text-secondary);margin:0;background:none;padding:0;border-radius:0}.auth-container{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 200px);min-height:calc(100dvh - 200px);padding:2rem}.mfe-container{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;height:100%;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-gutter:stable;box-sizing:border-box}.mfe-container[style*="display: none"],.mfe-container[hidden]{display:none!important}.mfe-page-layout{--app-controls-sticky-top: 0px;max-width:1200px;margin:0 auto;width:100%;box-sizing:border-box;padding:var(--spacing-xl, 2rem) var(--spacing-lg, 1.5rem) 8rem}@media(max-width:640px){.mfe-page-layout{padding:var(--spacing-md, 1rem) var(--spacing-sm, .5rem) 8rem}}.error-container{text-align:center;padding:4rem 2rem}.error-container h1{font-size:4rem;color:var(--text-secondary)}.error-container p{font-size:1.2rem;color:var(--text-secondary);margin:1rem 0 2rem;background:none;padding:0;border-radius:0}@media(max-width:640px){.hide-mobile{display:none!important}}@media(min-width:641px){.hide-desktop{display:none!important}}button{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}app-nav-bar{display:block;min-height:60px;contain-intrinsic-size:100vw 60px}.app-status-banner,#app-status-banner{display:block;contain-intrinsic-size:100% 48px}#app-sync-surface{display:block;contain-intrinsic-size:100% 36px}#shell-content{flex:1 1 auto;display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scrollbar-gutter:stable;box-sizing:border-box;min-height:0}app-page-layout{display:block;width:100%}.recipes-list{--app-controls-position: static}.recipe-ingredient-item{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:.4rem;max-width:100%}.recipe-ingredient-main{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:.35rem;line-height:1.4}.recipe-ingredient-links{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.25rem;max-width:100%}.recipe-ingredient-links:empty{display:none}.recipe-step-ingredients{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.3rem;max-width:100%}.recipe-step-ingredients-list{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.35rem;max-width:100%}.recipe-step-ingredients-list:empty{display:none}.drawer-section{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.drawer-section-title{font-size:1rem;font-weight:600;color:var(--text-color, #111827);border-bottom:1px solid var(--border-color, #e5e7eb);padding-bottom:.35rem;margin:0}.drawer-item-card{background:var(--bg-secondary, #f9fafb);border:1px solid var(--border-color, #e5e7eb);border-radius:8px;padding:.75rem 1rem;display:flex;flex-direction:column;gap:.4rem}.drawer-item-header{display:flex;justify-content:space-between;align-items:center}.drawer-item-title{font-family:monospace;font-size:.85rem;font-weight:600;word-break:break-all}.drawer-item-meta{font-size:.8rem;color:var(--text-secondary, #6b7280)}.drawer-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.drawer-info-row{display:flex;flex-direction:column}.drawer-info-label{font-size:.75rem;text-transform:uppercase;color:var(--text-secondary, #6b7280);font-weight:600}.drawer-info-value{font-size:.9rem;color:var(--text-color, #111827);font-weight:500;word-break:break-all}#financial-transactions-list{--app-controls-sticky-top: 0px}#financial-loading-mask{display:flex;align-items:center;justify-content:center;min-height:120px;width:100%;margin:1rem 0}#financial-loading-mask[hidden]{display:none!important}:host{display:block;width:100%;box-sizing:border-box}app-page-layout{display:block;width:100%;box-sizing:border-box}.mfe-recipes{display:block;width:100%;max-width:1200px;margin:0 auto;box-sizing:border-box}.recipes-list{--app-controls-position: static;gap:.85rem}.recipes-pagination{margin-top:1.5rem;display:flex;justify-content:flex-end}.recipe-card{--card-padding: .85rem 1rem;min-width:0;margin-bottom:var(--spacing-md, 1rem)}.recipe-card-header{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md, 1rem);width:100%}.recipe-title-group{display:flex;flex:1 1 auto;min-width:0;flex-direction:column;gap:var(--spacing-xs, .25rem)}.recipe-card-actions{display:flex;align-items:center;gap:var(--spacing-sm, .5rem);flex-shrink:0;margin-left:auto;align-self:flex-start}.recipe-title{font-size:var(--font-size-h3, 1.25rem);font-weight:600;color:var(--text-color, #111827);margin:0}.recipe-source-link-container{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-xs, .5rem);margin-top:var(--spacing-xs, .25rem);font-size:var(--font-size-sm, .85rem)}.recipe-source-link{color:var(--primary-color, #667eea);text-decoration:underline;text-underline-offset:3px;word-break:break-word;touch-action:manipulation;font-size:var(--font-size-sm, .85rem)}.recipe-source-link:hover,.recipe-source-link:active{color:var(--primary-dark, #764ba2)}#recipes-create{anchor-name:--recipes-create-anchor;position:fixed!important;right:max(1.25rem,calc(env(safe-area-inset-right) + 1.25rem))!important;bottom:max(1.25rem,calc(env(safe-area-inset-bottom) + 1.25rem))!important;z-index:1000!important}.add-menu-panel{position:fixed;position-anchor:--recipes-create-anchor;position-area:block-start span-inline-start;inset:auto;position-try-fallbacks:flip-block,flip-inline;margin-bottom:.65rem;margin-right:.55rem;padding:.5rem;border:none!important;background:transparent!important;box-shadow:none!important;z-index:1010;display:flex;flex-direction:column;align-items:flex-end;gap:.75rem;opacity:0;transition:opacity .2s ease,display .2s allow-discrete;overflow:visible}@supports not (position-anchor: --recipes-create-anchor){.add-menu-panel{position:fixed!important;bottom:max(5.5rem,calc(env(safe-area-inset-bottom) + 5rem))!important;right:max(1.75rem,calc(env(safe-area-inset-right) + 1.75rem))!important}}.add-menu-panel:not(:popover-open):not(:open){display:none!important}.add-menu-panel:popover-open,.add-menu-panel:open{display:flex;opacity:1}@starting-style{.add-menu-panel:popover-open,.add-menu-panel:open{opacity:0}}app-popover-menu#add-recipe-menu::backdrop{background:#0f172a29}.add-menu-row{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none;opacity:0;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease}.add-menu-panel:popover-open .add-menu-row{opacity:1;transform:translateY(0)}.add-menu-panel:popover-open .add-menu-row:nth-child(1){transition-delay:.03s}.add-menu-panel:popover-open .add-menu-row:nth-child(2){transition-delay:.06s}@starting-style{.add-menu-panel:popover-open .add-menu-row{opacity:0;transform:translateY(8px)}}.add-menu-label{color:var(--text-color, #0f172a);font-size:.85rem;font-weight:600;white-space:nowrap;-webkit-user-select:none;user-select:none;background:var(--surface-color, #ffffff);padding:.4rem .85rem;border-radius:var(--radius-md, 8px);box-shadow:0 4px 14px #0f172a24;border:1px solid var(--border-color, #e2e8f0);transition:transform .15s ease,background-color .15s ease}.add-menu-row:hover .add-menu-label,.add-menu-row:focus-visible .add-menu-label{background:var(--bg-secondary, #f8fafc);transform:translate(-2px)}.add-menu-btn{display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:50%;border:none;background:linear-gradient(135deg,var(--primary-color, #667eea),var(--primary-dark, #764ba2));color:#fff;flex-shrink:0;box-shadow:0 6px 16px #0f172a29;cursor:pointer;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s ease}.add-menu-btn app-icon{width:1.15rem;height:1.15rem;display:inline-flex}.add-menu-row:hover .add-menu-btn,.add-menu-row:focus-visible .add-menu-btn{transform:scale(1.08);box-shadow:0 8px 22px #0f172a3d}.import-dialog{border:1px solid var(--border-color, #e5e7eb);border-radius:var(--radius-lg, 12px);background:var(--surface-color, #ffffff);color:var(--text-color, #111827);padding:1.5rem;max-width:26rem;width:calc(100% - 2rem);box-shadow:0 20px 40px #0f172a38;position:fixed;top:0;right:0;bottom:0;left:0;margin:auto;z-index:200;opacity:0;transform:scale(.96);transition:opacity .2s ease,transform .2s ease,display .2s allow-discrete}.import-dialog[open]{opacity:1;transform:scale(1)}@starting-style{.import-dialog[open]{opacity:0;transform:scale(.96)}}.import-dialog::backdrop{background:#0f172a66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;transition:opacity .2s ease,display .2s allow-discrete}.import-dialog[open]::backdrop{opacity:1}@starting-style{.import-dialog[open]::backdrop{opacity:0}}.import-dialog-form{display:flex;flex-direction:column;gap:1.1rem}.import-dialog h3{font-size:1.25rem;font-weight:700;background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.import-dialog-desc{font-size:.88rem;color:var(--text-secondary, #6b7280);line-height:1.4}.import-field-group{display:flex;flex-direction:column;gap:.4rem}.import-field-group label{font-size:.85rem;font-weight:600;color:var(--text-color, #111827)}.import-field-group input{width:100%;padding:.65rem .85rem;border:1px solid var(--border-color, #e5e7eb);border-radius:var(--radius-md, 8px);background:var(--bg-color, #ffffff);color:var(--text-color, #111827);transition:border-color .18s ease;outline:none}.import-field-group input:focus{border-color:var(--primary-color, #667eea)}.import-dialog-error{padding:.65rem .85rem;background:#fee;color:var(--error-color, #ef4444);border:1px solid color-mix(in srgb,var(--error-color) 20%,white);border-radius:var(--radius-md, 8px);font-size:.85rem;line-height:1.4}.import-dialog-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.4rem}.import-dialog-actions button{min-height:2.5rem;padding:0 1.25rem;font-size:.9rem;font-weight:600;border:0;border-radius:var(--radius-md, 8px);cursor:pointer;transition:background .18s ease,transform .1s ease}.import-dialog-actions button:active{transform:scale(.98)}.btn-cancel{background:var(--bg-secondary, #f3f4f6);color:var(--text-color, #111827)}.btn-cancel:hover{background:var(--border-color, #e5e7eb)}.btn-submit{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:#fff;position:relative;display:flex;align-items:center;justify-content:center}.btn-submit:hover{opacity:.95}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.btn-loader{width:1.1rem;height:1.1rem;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:640px){.add-menu-label{opacity:1!important;font-size:.9rem}.import-dialog{width:calc(100% - 1.5rem);max-width:100%;padding:1.25rem 1rem;box-sizing:border-box}.import-dialog-actions{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:.75rem;width:100%}}app-tabs{margin-top:.5rem;margin-bottom:.75rem;width:100%;max-width:100%;box-sizing:border-box}.shopping-list-container{display:flex;flex-direction:column;gap:1.5rem;margin-top:1rem}.shopping-list-grid{display:grid;grid-template-columns:1.2fr 1.8fr;gap:1.5rem}@media(max-width:768px){.shopping-list-grid{grid-template-columns:1fr}}.shopping-panel{background:var(--surface-color, #ffffff);border:1px solid var(--border-color, #e5e7eb);border-radius:var(--radius-lg, 12px);padding:1.5rem;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;display:flex;flex-direction:column;gap:1rem}.shopping-panel h3{margin:0 0 .5rem;font-size:1.25rem;font-weight:700;color:var(--text-color, #111827);border-bottom:2px solid var(--bg-secondary, #f3f4f6);padding-bottom:.5rem;display:flex;justify-content:space-between;align-items:center}.selected-recipes-list{display:flex;flex-direction:column;gap:.75rem}.selected-recipe-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg-secondary, #f9fafb);border:1px solid var(--border-color, #e5e7eb);border-radius:var(--radius-md, 8px);gap:.5rem;transition:all .2s ease}.selected-recipe-item:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000000d}.selected-recipe-title{font-weight:600;font-size:.95rem;color:var(--text-color, #111827);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.selected-recipe-controls{display:flex;align-items:center;gap:.5rem}.servings-adjust-btn{width:1.75rem;height:1.75rem;min-width:1.75rem;min-height:1.75rem;border-radius:50%;border:1px solid var(--border-color, #e5e7eb);background:var(--surface-color, #ffffff);color:var(--text-color, #111827);cursor:pointer;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;transition:all .15s ease;padding:0}.servings-adjust-btn:hover{background:var(--primary-color, #667eea);color:#fff;border-color:var(--primary-color, #667eea)}.servings-display{font-size:.9rem;font-weight:600;width:1.8rem;text-align:center;color:var(--text-color, #111827)}.remove-recipe-btn{background:transparent;border:none;color:var(--error-color, #ef4444);cursor:pointer;padding:0;border-radius:var(--radius-sm, 6px);display:flex;align-items:center;justify-content:center;opacity:.7;transition:opacity .15s ease,background .15s ease;min-width:1.75rem;min-height:1.75rem}.remove-recipe-btn:hover{opacity:1;background:#fee2e2}.aggregated-ingredients-list{display:flex;flex-direction:column;gap:.25rem}.shopping-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4rem 1.5rem;background:var(--surface-color, #ffffff);border:2px dashed var(--border-color, #e5e7eb);border-radius:var(--radius-lg, 12px);margin-top:1rem}.shopping-empty-icon{width:4rem;height:4rem;background:linear-gradient(135deg,color-mix(in srgb,var(--primary-color) 15%,white),color-mix(in srgb,var(--primary-dark) 15%,white));color:var(--primary-color, #667eea);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;box-shadow:0 4px 10px #667eea1a}.shopping-empty-state h3{margin:0 0 .5rem;font-size:1.25rem;font-weight:700;color:var(--text-color, #111827)}.shopping-empty-state p{margin:0 0 1.5rem;font-size:.9rem;color:var(--text-secondary, #6b7280);max-width:22rem;line-height:1.45}.shopping-empty-action-btn{min-height:2.5rem;padding:0 1.5rem;font-size:.9rem;font-weight:600;border:0;border-radius:var(--radius-md, 8px);background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:#fff;cursor:pointer;transition:opacity .2s ease,transform .1s ease;display:flex;align-items:center;justify-content:center}.shopping-empty-action-btn:hover{opacity:.95}.shopping-empty-action-btn:active{transform:scale(.98)}#recipe-edit-drawer,#recipe-editor-drawer{--drawer-width: clamp(440px, 33.333vw, 840px)}#recipe-edit-drawer .recipe-composer-copy h2,#recipe-editor-drawer .recipe-composer-copy h2{display:none}
