:root{--bg-color:#f4f7f9;--card-bg:#fff;--text-main:#1e293b;--text-muted:#64748b;--primary:#3b82f6;--primary-hover:#2563eb;--success:#10b981;--danger:#ef4444;--danger-hover:#dc2626;--border:#e2e8f0;--shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;--radius:16px;--radius-sm:10px;--transition:all 0.2s cubic-bezier(0.4,0,0.2,1)}[data-theme=dark]{--bg-color:#0f172a;--card-bg:#1e293b;--text-main:#f8fafc;--text-muted:#94a3b8;--primary:#60a5fa;--primary-hover:#3b82f6;--success:#34d399;--danger:#f87171;--danger-hover:#ef4444;--border:#334155;--shadow:0 10px 15px -3px #0000004d}*{box-sizing:border-box}body{background-color:#f4f7f9;background-color:var(--bg-color);color:#1e293b;color:var(--text-main);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0;transition:background-color all .2s cubic-bezier(.4,0,.2,1);transition:background-color var(--transition)}.app-container{min-height:100vh;padding-bottom:60px}.max-width-wrapper{margin:0 auto;max-width:560px;padding:0 16px}.header{align-items:center;display:flex;gap:12px;justify-content:space-between;padding:24px 0 16px}.offline-banner{background:#fff;background:var(--card-bg);border:1px solid #ef4444;border:1px solid var(--danger);color:#ef4444;color:var(--danger);font-weight:500;gap:8px;justify-content:center;padding:10px 16px;text-align:center}.offline-banner,.plan-expired-banner{align-items:center;border-radius:10px;border-radius:var(--radius-sm);display:flex;font-size:14px;margin-bottom:12px}.plan-expired-banner{background:color-mix(in srgb,#b45309 12%,#fff);background:color-mix(in srgb,#b45309 12%,var(--card-bg));border:1px solid color-mix(in srgb,#b45309 35%,#e2e8f0);border:1px solid color-mix(in srgb,#b45309 35%,var(--border));flex-wrap:wrap;gap:10px;justify-content:space-between;padding:12px 16px}.plan-expired-banner p{flex:1 1 200px;margin:0}.plan-expired-banner-actions{align-items:center;display:flex;gap:8px}.plan-expired-banner-link{color:#3b82f6;color:var(--primary);font-weight:700;text-decoration:none}.plan-expired-banner-dismiss{background:#0000;border:none;color:#64748b;color:var(--text-muted,var(--text));cursor:pointer;font-size:13px;padding:4px 8px}.account-section{display:flex;flex-direction:column;gap:10px}.account-section-title{font-size:16px;margin:0}.account-meta{display:flex;font-size:14px;gap:12px;justify-content:space-between;margin:0}.account-meta span{color:#4b5563}.account-plan-status{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin:0}.account-plan-badge{background:color-mix(in srgb,#3b82f6 12%,#0000);background:color-mix(in srgb,var(--primary) 12%,#0000);border-radius:999px;color:#3b82f6;color:var(--primary);display:inline-block;font-size:13px;font-weight:700;padding:4px 10px}.account-plan-badge--expired{background:color-mix(in srgb,#b45309 15%,#0000);color:#b45309}.account-plan-badge--active{background:color-mix(in srgb,#15803d 12%,#0000);color:#15803d}.account-hint,.account-plan-days{font-size:14px}.account-hint{color:#4b5563;margin:0}.account-actions{display:flex;flex-wrap:wrap;gap:8px}.account-form{border-top:1px solid #e2e8f0;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px;margin-top:12px;padding-top:12px}.account-form:first-of-type{border-top:none;margin-top:4px;padding-top:0}.account-subsection-title{font-size:14px;font-weight:700;margin:4px 0 0}.account-flash{background:color-mix(in srgb,#e2e8f0 40%,#0000);background:color-mix(in srgb,var(--border) 40%,#0000);border-radius:10px;border-radius:var(--radius-sm);font-size:14px;margin:0 0 8px;padding:10px 12px}.account-flash--ok{background:color-mix(in srgb,#15803d 12%,#0000)}.account-flash--err{background:color-mix(in srgb,#b91c1c 12%,#0000)}.header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#3b82f6,#8b5cf6);background:linear-gradient(135deg,var(--primary),#8b5cf6);-webkit-background-clip:text;background-clip:text;font-size:26px;font-weight:800;letter-spacing:-.5px;margin:0}.header-actions{gap:8px}.header-actions,.theme-toggle{align-items:center;display:flex}.theme-toggle{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:50%;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;box-shadow:var(--shadow);cursor:pointer;font-size:18px;height:40px;justify-content:center;transition:all .2s cubic-bezier(.4,0,.2,1);transition:var(--transition);width:40px}.theme-toggle:hover{border-color:#3b82f6;border-color:var(--primary);transform:scale(1.05)}.logout-btn{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:20px;color:#64748b;color:var(--text-muted);cursor:pointer;font-size:13px;font-weight:600;padding:8px 14px;transition:all .2s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.logout-btn:hover{border-color:#ef4444;border-color:var(--danger);color:#ef4444;color:var(--danger)}.tab-container{background:#e2e8f0;background:var(--border);border-radius:12px;display:flex;gap:4px;margin-bottom:22px;padding:4px}.tab{background:#0000;border:none;border-radius:8px;color:#64748b;color:var(--text-muted);cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:10px;transition:all .2s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.tab.active{color:#3b82f6;color:var(--primary)}.panel-card,.tab.active{background:#fff;background:var(--card-bg);box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;box-shadow:var(--shadow)}.panel-card{border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:16px;border-radius:var(--radius);margin-bottom:18px;padding:18px}.card-title{font-size:17px;margin:0 0 14px}.empty-hint{color:#64748b;color:var(--text-muted);margin-top:40px;text-align:center}.input-row{display:flex;flex-wrap:wrap;gap:8px}.input-main{background:#f4f7f9;background:var(--bg-color);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius-sm);color:#1e293b;color:var(--text-main);flex:1 1;font-size:16px;min-width:0;outline:none;padding:12px 14px;transition:all .2s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.input-block{margin-bottom:12px;width:100%}.input-qty{flex:0 0 80px;padding:12px 8px;text-align:center;width:80px}.select-unit{background:#f4f7f9;background:var(--bg-color);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius-sm);color:#1e293b;color:var(--text-main);flex:0 0 96px;font-size:15px;outline:none;padding:12px 10px}.input-main:focus,.select-unit:focus,.textarea-field:focus{border-color:#3b82f6;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f626}.input-invalid,.textarea-field.input-invalid{border-color:#dc2626}.field-error{color:#dc2626;font-size:13px;line-height:1.3;margin:6px 0 0}.textarea-field{background:#f4f7f9;background:var(--bg-color);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius-sm);color:#1e293b;color:var(--text-main);font-family:inherit;font-size:15px;margin-bottom:12px;min-height:84px;outline:none;padding:12px;resize:vertical;width:100%}.btn-primary{background:#3b82f6;background:var(--primary);border:none;border-radius:10px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:15px;font-weight:700;padding:12px 18px;transition:all .2s cubic-bezier(.4,0,.2,1);transition:var(--transition);white-space:nowrap}.btn-primary:hover{background:#2563eb;background:var(--primary-hover)}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.btn-block{width:100%}.btn-ghost{background:#0000;border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius-sm);color:#64748b;color:var(--text-muted);cursor:pointer;font-size:14px;font-weight:600;padding:10px 14px;transition:all .2s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.btn-ghost:hover{border-color:#3b82f6;border-color:var(--primary);color:#3b82f6;color:var(--primary)}.btn-danger{background:#ef4444;background:var(--danger);border:none;border-radius:10px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-weight:700;padding:10px 16px;transition:all .2s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.btn-danger:hover{background:#dc2626;background:var(--danger-hover)}.btn-small{font-size:13px;padding:8px 12px}.icon-btn{background:#0000;border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius-sm);cursor:pointer;font-size:15px;line-height:1;padding:8px 10px;transition:all .2s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.icon-btn:hover{border-color:#3b82f6;border-color:var(--primary)}.icon-btn-danger:hover{border-color:#ef4444;border-color:var(--danger)}.list-selector{align-items:center;display:flex;gap:10px;margin-bottom:8px;overflow-x:auto;padding-bottom:12px;scrollbar-width:none}.list-selector::-webkit-scrollbar{display:none}.list-pill-group{align-items:center;display:flex;flex-shrink:0;gap:4px}.list-pill-group.active{background:#f4f7f9;background:var(--bg-color);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:22px;padding:2px 4px 2px 2px}.list-pill-controls{align-items:center;display:flex;gap:2px}.list-control-btn{align-items:center;background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:50%;color:#64748b;color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;font-size:16px;height:28px;justify-content:center;line-height:1;padding:0;transition:all .2s cubic-bezier(.4,0,.2,1);transition:var(--transition);width:28px}.list-control-btn:hover:not(:disabled){border-color:#3b82f6;border-color:var(--primary);color:#3b82f6;color:var(--primary)}.list-control-btn:disabled{cursor:not-allowed;opacity:.35}.list-control-btn-danger:hover:not(:disabled){border-color:#ef4444;border-color:var(--danger);color:#ef4444;color:var(--danger)}.list-pill{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:20px;color:#64748b;color:var(--text-muted);cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s cubic-bezier(.4,0,.2,1);transition:var(--transition);white-space:nowrap}.list-pill:hover{color:#1e293b;color:var(--text-main)}.list-pill.active,.list-pill:hover{border-color:#3b82f6;border-color:var(--primary)}.list-pill.active{background:#3b82f6;background:var(--primary);color:#fff}.list-pill-add{background:#0000;border:1px dashed #64748b;border:1px dashed var(--text-muted)}.add-item-form{display:flex;flex-direction:column;gap:10px}.add-item-form>.input-main{width:100%}.add-item-details{align-items:stretch;display:flex;gap:8px}.add-item-details .input-qty{flex:0 0 80px;width:80px}.add-item-details .select-unit{flex:1 1;min-width:0}.add-item-details .btn-primary{flex-shrink:0;padding:12px 16px}.view-toggle{background:#e2e8f0;background:var(--border);border-radius:12px;display:flex;gap:4px;margin-bottom:14px;padding:4px}.view-toggle-btn{background:#0000;border:none;border-radius:8px;color:#64748b;color:var(--text-muted);cursor:pointer;flex:1 1;font-size:13px;font-weight:600;padding:9px;transition:all .2s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.view-toggle-btn.active{background:#fff;background:var(--card-bg);box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;box-shadow:var(--shadow);color:#3b82f6;color:var(--primary)}.list-action-bar{align-items:center;color:#64748b;color:var(--text-muted);display:flex;flex-wrap:wrap;font-size:14px;font-weight:600;gap:10px;justify-content:space-between;margin-bottom:14px}.list-action-buttons{display:flex;flex-wrap:wrap;gap:8px}.btn-clear-checked{background:#0000;border:1px solid #ef4444;border:1px solid var(--danger);border-radius:20px;color:#ef4444;color:var(--danger);cursor:pointer;font-size:13px;font-weight:700;padding:8px 14px;transition:all .2s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.btn-clear-checked:hover{background:#ef4444;background:var(--danger);color:#fff}.category-block{margin-bottom:22px}.group-header{align-items:center;border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--border);display:flex;gap:8px;justify-content:space-between;margin-bottom:10px;padding:4px 4px 8px}.group-header-recipe{border-bottom-color:#3b82f6;border-bottom-color:var(--primary)}.group-checkbox-label{align-items:center;cursor:pointer;display:inline-flex;flex:1 1;gap:10px}.group-checkbox-label input,.item-checkbox{accent-color:#3b82f6;accent-color:var(--primary);cursor:pointer;flex-shrink:0;height:20px;width:20px}.group-title{color:#64748b;color:var(--text-muted);font-size:14px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.group-header-recipe .group-title{color:#3b82f6;color:var(--primary)}.group-count{background:#f4f7f9;background:var(--bg-color);border-radius:10px;color:#64748b;color:var(--text-muted);font-size:12px;font-weight:700;padding:3px 8px}.item-row{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:12px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;box-shadow:var(--shadow);gap:10px;justify-content:space-between;margin-bottom:8px;padding:12px 14px;transition:all .2s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.item-left,.item-row{align-items:center;display:flex}.item-left{cursor:pointer;flex:1 1;gap:12px;min-width:0}.item-name{font-size:15px;font-weight:500;overflow-wrap:anywhere}.item-right{align-items:center;display:flex;flex-shrink:0;gap:8px}.item-meta{background:#f4f7f9;background:var(--bg-color);border-radius:6px;color:#64748b;color:var(--text-muted);font-size:12px;font-weight:600;padding:4px 8px;white-space:nowrap}.row-checked{opacity:.55}.row-checked .item-name{color:#64748b;color:var(--text-muted);text-decoration:line-through}.card-grid{display:flex;flex-direction:column;gap:14px}.recipe-header-inline{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:10px}.recipe-header-inline h4{font-size:18px;margin:0}.recipe-ingredients-preview{color:#64748b;color:var(--text-muted);font-size:14px;line-height:1.6;margin:0 0 14px;padding-left:18px}.scale-controls{align-items:center;display:flex;font-size:14px;font-weight:600;gap:8px}.scale-value{min-width:38px;text-align:center}.scale-btn{background:#f4f7f9;background:var(--bg-color);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:8px;color:#1e293b;color:var(--text-main);cursor:pointer;font-size:16px;font-weight:700;height:30px;width:30px}.scale-btn:hover{border-color:#3b82f6;border-color:var(--primary)}.card-actions{align-items:center;display:flex;gap:8px}.card-actions .btn-primary{flex:1 1}.recipe-controls-card{display:flex;flex-direction:column;gap:12px}.recipe-meal-type{color:#64748b;color:var(--text-muted);font-size:12px;font-weight:600;margin-left:auto;margin-right:8px}.recipe-fridge-card{display:flex;flex-direction:column;gap:10px}.fridge-source-row{display:flex;flex-wrap:wrap;gap:12px}.fridge-source-option{align-items:center;display:inline-flex;font-size:14px;gap:6px}.starter-recipes-toggle{margin-top:2px}.fridge-suggestions{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}.fridge-suggestion{border-top:1px solid #e2e8f0;border-top:1px solid var(--border,#00000014);padding-top:10px}.fridge-suggestion-head{align-items:baseline;display:flex;gap:8px;justify-content:space-between}.fridge-suggestion-meta,.fridge-suggestion-missing{color:#64748b;color:var(--text-muted);font-size:13px;margin:4px 0}.recipe-list-selector{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.recipe-list-selector label{color:#64748b;color:var(--text-muted);font-size:14px;font-weight:600}.select-list{flex:1 1;min-width:160px}.favorite-card{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:0}.favorite-info{display:flex;flex-direction:column;gap:6px}.favorite-info strong{font-size:15px}.login-screen,.splash-screen{align-items:center;display:flex;flex-direction:column;gap:12px;justify-content:center;min-height:100vh;padding:20px}.login-card{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:16px;border-radius:var(--radius);box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:16px;max-width:380px;padding:28px 24px;width:100%}.login-brand{text-align:center}.login-emoji{font-size:44px}.login-brand h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#3b82f6,#8b5cf6);background:linear-gradient(135deg,var(--primary),#8b5cf6);-webkit-background-clip:text;background-clip:text;font-size:24px;font-weight:800;margin:8px 0 4px}.login-brand p{color:#4b5563;font-size:14px;margin:0}.field{display:flex;flex-direction:column;gap:6px}.field-label{color:#64748b;color:var(--text-muted);font-size:13px;font-weight:600}.field-row{display:flex;gap:12px}.field-row .field{flex:1 1}.login-error{color:#ef4444;color:var(--danger)}.login-error,.login-success{font-size:14px;font-weight:600;margin:0;text-align:center}.login-success{color:#10b981;color:var(--success)}.language-switcher{color:#64748b;color:var(--text-muted);display:flex;flex-direction:column;font-size:13px;gap:6px}.language-switcher__label{font-weight:600}.language-switcher__select{background:var(--bg);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius-sm);color:var(--text);font-size:14px;padding:10px 12px;width:100%}.login-language-switcher{border-top:1px solid #e2e8f0;border-top:1px solid var(--border);margin-top:4px;padding-top:12px}.auth-switch{color:#64748b;color:var(--text-muted);font-size:14px;margin:0;text-align:center}.auth-switch .link-button,.auth-switch a{color:#3b82f6;color:var(--primary);font-weight:600;text-decoration:none}.link-button{background:none;font:inherit}.hamburger-btn,.link-button{border:none;cursor:pointer;padding:0}.hamburger-btn{align-items:center;background:#0000;color:#1e293b;color:var(--text-main);display:inline-flex;flex-shrink:0;height:40px;justify-content:center;width:40px}[data-theme=dark] .hamburger-btn{color:#fff}.hamburger-icon{background:currentColor;border-radius:1px;box-shadow:0 -6px 0 currentColor,0 6px 0 currentColor;display:block;height:2px;width:20px}.drawer-overlay{background:#0f172a73;inset:0;position:fixed;z-index:1100}.drawer-panel{animation:slideIn .18s ease;background:#fff;background:var(--card-bg);border-right:1px solid #e2e8f0;border-right:1px solid var(--border);color:#1e293b;color:var(--text-main);display:flex;flex-direction:column;gap:10px;height:100%;overflow-y:auto;padding:16px;width:min(320px,88vw)}.drawer-header{align-items:center;display:flex;justify-content:space-between}.drawer-user{color:#64748b;color:var(--text-muted);font-size:13px;margin:0}.drawer-link{border-radius:10px;border-radius:var(--radius-sm);color:#1e293b;color:var(--text-main);display:block;font-weight:600;padding:10px 12px;text-decoration:none}.drawer-link.active{background:color-mix(in srgb,#3b82f6 12%,#0000);background:color-mix(in srgb,var(--primary) 12%,#0000);color:#3b82f6;color:var(--primary)}.drawer-section{border-top:1px solid #e2e8f0;border-top:1px solid var(--border);margin-top:8px;padding-top:12px}.drawer-logout{margin-top:auto}.page-stack{display:flex;flex-direction:column;gap:16px}.page-title{font-size:22px;margin:0}.wishlist-photo{border-radius:10px;border-radius:var(--radius-sm);margin-bottom:8px;max-height:180px;object-fit:cover;width:100%}.wishlist-notes{color:#64748b;color:var(--text-muted);font-size:14px;margin:0 0 8px}.wishlist-photo-preview{border-radius:10px;border-radius:var(--radius-sm);margin-bottom:8px;max-height:220px;object-fit:cover;width:100%}.wishlist-form-toggle{align-items:center;cursor:pointer;display:flex;font-size:17px;font-weight:700;gap:12px;justify-content:space-between;list-style:none}.wishlist-form-toggle::-webkit-details-marker,.wishlist-form-toggle::marker{content:"";display:none}.wishlist-form-toggle:after{color:#64748b;color:var(--text-muted);content:"▸";font-size:16px;line-height:1}.wishlist-form-details[open]>.wishlist-form-toggle:after{content:"▾"}.wishlist-form{display:flex;flex-direction:column;gap:10px;margin-top:14px}.wishlist-form-actions{display:flex;flex-direction:column;gap:5px}.wishlist-photo-btn{background:#f97316;border:none;border-radius:10px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:15px;font-weight:700;padding:12px 18px;transition:all .2s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.wishlist-photo-btn:hover{background:#ea580c}.loyalty-form{display:flex;flex-direction:column;gap:10px}.loyalty-format-label{color:#64748b;color:var(--text-muted);display:flex;flex-direction:column;font-size:13px;font-weight:600;gap:6px}.loyalty-form-actions,.loyalty-present-actions,.loyalty-scan-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.loyalty-photo-label{align-items:center;cursor:pointer;display:inline-flex;justify-content:center}.loyalty-photo-hint{color:#64748b;color:var(--text-muted);font-size:13px;margin:0}.loyalty-photo-preview{max-height:180px;object-fit:contain}.loyalty-photo-preview,.loyalty-scan-video{background:#111;border-radius:12px;width:100%}.loyalty-scan-video{max-height:240px;object-fit:cover}.loyalty-scan-hint{margin:0}.loyalty-preview-label{color:#64748b;color:var(--text-muted);font-size:13px;font-weight:600;margin:0 0 8px}.loyalty-list-controls{display:flex;flex-direction:column;gap:10px}.loyalty-list-controls .input-block{margin-bottom:0}.loyalty-card-list{display:flex;flex-direction:column;gap:8px}.loyalty-card-list .loyalty-card{margin-bottom:0;padding:4px 16px 8px}.loyalty-card-toggle{align-items:center;background:#0000;border:none;color:inherit;cursor:pointer;display:flex;font:inherit;gap:12px;justify-content:space-between;padding:12px 0;text-align:left;width:100%}.loyalty-card-toggle h3{font-size:17px;margin:0}.loyalty-card-chevron{color:#64748b;color:var(--text-muted);flex:0 0 auto;font-size:16px;line-height:1}.loyalty-card-body{display:flex;flex-direction:column;gap:10px;padding-bottom:8px}.loyalty-card-preview{background:#0000;border:0;color:inherit;cursor:pointer;display:block;padding:0;text-align:left;width:100%}.loyalty-present-surface{background:#fff;border-radius:12px;color:#111;padding:16px 12px 12px}.loyalty-present-surface-lg{padding:20px 14px 16px}.loyalty-barcode{display:block;height:auto;width:100%}.loyalty-qr{display:block;height:auto;margin:0 auto;width:min(240px,100%)}.loyalty-qr-placeholder{aspect-ratio:1;background:#f3f3f3;border-radius:8px;margin:0 auto;width:min(240px,100%)}.loyalty-code-fallback,.loyalty-code-text{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;letter-spacing:.03em;margin:10px 0 0;text-align:center;word-break:break-all}.loyalty-brightness-hint{color:#64748b;color:var(--text-muted);font-size:14px;margin:0 0 12px}.settlement-balances,.settlement-expenses,.settlement-plan{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.settlement-balances li,.settlement-expenses li,.settlement-plan li{align-items:center;display:flex;gap:12px;justify-content:space-between}.settlement-balance-item{align-items:stretch!important;flex-direction:column!important;gap:6px!important}.settlement-balance-toggle{align-items:center;background:#0000;border:none;color:inherit;cursor:pointer;display:flex;font:inherit;gap:12px;justify-content:space-between;padding:8px 0;text-align:left;width:100%}.settlement-balance-breakdown{border-left:2px solid #e2e8f0;border-left:2px solid var(--border);display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0 0 4px 8px}.settlement-balance-breakdown li{color:#64748b;color:var(--text-muted);display:flex;font-size:13px;gap:8px;justify-content:space-between}.onboarding-root{inset:0;pointer-events:none;position:fixed;z-index:1200}.onboarding-scrim{background:#0000;inset:0;pointer-events:auto;position:fixed}.onboarding-highlight{border-radius:12px;box-shadow:0 0 0 9999px #0f172a73;outline:2px solid #3b82f6;outline:2px solid var(--primary);pointer-events:none;position:absolute;z-index:1}.onboarding-tooltip{background:#f4f7f9;background:var(--bg-color);border-radius:12px;box-shadow:0 12px 32px #0003;color:#1e293b;color:var(--text-main);padding:14px 14px 12px;pointer-events:auto;position:absolute;width:min(280px,calc(100vw - 24px));z-index:2}.onboarding-step{color:#64748b;color:var(--text-muted);font-size:12px;margin:0 0 6px}.onboarding-message{font-size:15px;line-height:1.4;margin:0 0 12px}.onboarding-actions{display:flex;gap:8px;justify-content:flex-end}.settlement-invites{display:flex;flex-direction:column;gap:8px;list-style:none;margin:12px 0 0;padding:0}.settlement-invites li{align-items:center;display:flex;font-size:14px;gap:12px;justify-content:space-between}.invite-status{color:#64748b;color:var(--text-muted);font-size:13px}.invite-link-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.settlement-members{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0 0 12px;padding:0}.settlement-members li{align-items:center;display:flex;gap:12px;justify-content:space-between}.settlement-add-member{align-items:center;display:flex;gap:8px}.settlement-add-member .input-main{flex:1 1}.settlement-add-member .btn-ghost{flex-shrink:0;width:auto}.settlement-split-fieldset{border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:6px;margin:0;padding:10px 12px}.settlement-split-fieldset legend{padding:0 4px}.settlement-split-option{align-items:center;display:flex;font-size:14px;font-weight:400;gap:8px}.landing-title{color:#3b82f6;color:var(--primary);font-size:24px;font-weight:800;margin:8px 0 4px}.landing-subtitle{color:#374151;margin:0}.landing-card .landing-features{color:#374151;content-visibility:auto;margin:0;padding-left:18px}.landing-price{font-weight:700;text-align:center}.landing-cta{text-align:center;text-decoration:none}.landing-lang{display:flex;justify-content:center;margin-top:4px}.legal-content p{margin:0 0 12px}@keyframes slideIn{0%{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}.modal-overlay{align-items:center;animation:fadeIn .15s ease;background:#0f172a8c;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1000}.modal-card{animation:popIn .18s ease;background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:16px;border-radius:var(--radius);box-shadow:0 20px 40px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:420px;outline:none;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:18px 20px}.modal-header h3{font-size:17px;margin:0}.modal-close{background:#0000;border:none;color:#64748b;color:var(--text-muted);cursor:pointer;font-size:18px;line-height:1}.modal-body{overflow-y:auto;padding:20px}.modal-form{display:flex;flex-direction:column;gap:14px}.modal-message{font-size:15px;line-height:1.5;margin:0}.modal-footer{border-top:1px solid #e2e8f0;border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end;padding:16px 20px}.notification-checkmark{animation:fadeInOutBanner 1.5s ease-in-out forwards;font-size:40px;pointer-events:none;position:fixed;right:20px;top:20px;z-index:9999}.notification-checkmark.center{animation:fadeInOutCenter 1.5s ease-in-out forwards;left:50%;right:auto;top:50%;transform:translate(-50%,-50%)}.notification-checkmark.is-error{align-items:center;animation:fadeInOutBanner 4s ease-in-out forwards;background:#fff;background:var(--card-bg);border:1px solid #ef4444;border:1px solid var(--danger);border-radius:10px;border-radius:var(--radius-sm);box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;box-shadow:var(--shadow);color:#ef4444;color:var(--danger);cursor:pointer;display:flex;font-size:15px;gap:10px;left:20px;line-height:1.35;margin-left:auto;max-width:380px;padding:12px 16px;pointer-events:auto;right:20px;text-align:left;top:20px}.notification-checkmark.is-error.center{animation:fadeInOutCenter 4s ease-in-out forwards;left:50%;margin-left:0;right:auto;top:50%;transform:translate(-50%,-50%)}.notification-icon{flex-shrink:0}.notification-checkmark.is-error .notification-icon{font-size:22px}.notification-message{color:#1e293b;color:var(--text-main);flex:1 1}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeInOutBanner{0%{opacity:0;transform:scale(.5)}20%{opacity:1;transform:scale(1)}80%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes fadeInOutCenter{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}20%{opacity:1;transform:translate(-50%,-50%) scale(1)}80%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.8)}}@media (max-width:480px){.add-item-details{flex-wrap:wrap}.add-item-details .input-qty{flex:1 1 72px;width:auto}.add-item-details .select-unit{flex:1 1 100px}.add-item-details .btn-primary{flex:1 1 100%}.input-qty{flex:1 1 70px}.select-unit{flex:1 1 90px}.input-row .btn-primary{flex:1 1 100%}.field-row{flex-direction:column}.recipe-header-inline h4{font-size:16px}}
/*# sourceMappingURL=main.1acc877c.css.map*/