.legal-page{margin:0 auto;max-width:800px;padding:48px 24px 80px}.legal-error,.legal-loading{color:#6b7280;color:var(--color-text-muted,#6b7280);font-size:15px;padding:48px 0;text-align:center}.legal-error{color:#dc2626;color:var(--color-error,#dc2626)}.legal-content h1{color:#1f2937;color:var(--color-text,#1f2937);font-size:28px;font-weight:700;margin:0 0 8px}.legal-content h2{border-top:1px solid #e5e7eb;border-top:1px solid var(--color-border,#e5e7eb);font-size:20px;margin:32px 0 12px;padding-top:16px}.legal-content h2,.legal-content h3{color:#1f2937;color:var(--color-text,#1f2937);font-weight:600}.legal-content h3{font-size:16px;margin:20px 0 8px}.legal-content p{color:#4b5563;color:var(--color-text-secondary,#4b5563);font-size:15px;line-height:1.7;margin:0 0 12px}.legal-content strong{color:#1f2937;color:var(--color-text,#1f2937)}.legal-content ol,.legal-content ul{margin:0 0 16px;padding-left:24px}.legal-content li{color:#4b5563;color:var(--color-text-secondary,#4b5563);font-size:15px;line-height:1.7;margin-bottom:4px}.legal-content table{border-collapse:collapse;font-size:14px;margin:16px 0;width:100%}.legal-content th{background:#f9fafb;background:var(--color-bg-secondary,#f9fafb);border-bottom:2px solid #e5e7eb;border-bottom:2px solid var(--color-border,#e5e7eb);color:#1f2937;color:var(--color-text,#1f2937);font-weight:600;padding:10px 12px;text-align:left}.legal-content td{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-border,#e5e7eb);color:#4b5563;color:var(--color-text-secondary,#4b5563);padding:10px 12px;vertical-align:top}.legal-content a{color:#2d6a4f;color:var(--color-primary,#2d6a4f);text-decoration:underline}.legal-content a:hover{opacity:.8}.calendar-planner{padding:0}.calendar-meals-pool{background:#f9fafb;background:var(--color-bg-alt,#f9fafb);border-radius:8px;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:1.5rem;min-height:60px;padding:1rem}.calendar-meal-tile{align-items:center;background:#fff;background:var(--color-bg,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-border,#e5e7eb);border-radius:8px;cursor:grab;display:flex;font-size:.85rem;font-weight:500;gap:8px;max-width:220px;padding:6px 12px;transition:box-shadow .15s,border-color .15s;-webkit-user-select:none;user-select:none}.calendar-meal-tile:active{cursor:grabbing}.calendar-meal-tile.dragging{box-shadow:0 2px 8px rgba(0,0,0,.15);opacity:.5}.calendar-meal-tile.placed{border-style:dashed;opacity:.45}.calendar-meal-tile-img{border-radius:6px;flex-shrink:0;height:32px;object-fit:cover;width:32px}.calendar-meal-tile-placeholder{align-items:center;background:#f3f4f6;background:var(--color-bg-alt,#f3f4f6);border-radius:6px;display:flex;flex-shrink:0;font-size:1rem;height:32px;justify-content:center;width:32px}.calendar-meal-tile-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-week-section{margin-bottom:2rem}.calendar-week-header{color:#111;color:var(--color-text-primary,#111);font-size:1rem;font-weight:600;margin-bottom:.75rem}.calendar-grid{grid-gap:1px;background:#e5e7eb;background:var(--color-border,#e5e7eb);border:1px solid #e5e7eb;border:1px solid var(--color-border,#e5e7eb);border-radius:8px;display:grid;gap:1px;grid-template-columns:72px repeat(7,minmax(0,1fr));overflow:hidden}.calendar-grid-corner,.calendar-grid-day-header{background:#f9fafb;background:var(--color-bg-alt,#f9fafb);padding:8px 4px}.calendar-grid-day-header{color:#6b7280;color:var(--color-text-muted,#6b7280);font-size:.75rem;font-weight:600;letter-spacing:.03em;text-align:center;text-transform:uppercase}.calendar-grid-day-date{color:#111;color:var(--color-text-primary,#111);display:block;font-size:.85rem;font-weight:500;letter-spacing:0;margin-top:2px;text-transform:none}.calendar-grid-row-label{align-items:center;background:#f9fafb;background:var(--color-bg-alt,#f9fafb);color:#6b7280;color:var(--color-text-muted,#6b7280);display:flex;font-size:.8rem;font-weight:500;padding:8px}.calendar-slot{align-items:center;background:#fff;background:var(--color-bg,#fff);display:flex;justify-content:center;min-height:52px;padding:6px;transition:background-color .15s}.calendar-slot.droppable{cursor:pointer}.calendar-slot.drag-over{background:#fef3e2;background:var(--color-primary-light,#fef3e2);outline:2px dashed #dfa159;outline:2px dashed var(--color-primary,#dfa159);outline-offset:-2px}.calendar-slot-empty{color:#d1d5db;color:var(--color-text-muted,#d1d5db);font-size:.75rem;text-align:center}.calendar-slot-meal{align-items:center;background:#fef3e2;background:var(--color-primary-light,#fef3e2);border-radius:6px;display:flex;gap:4px;padding:2px;position:relative;width:100%}.calendar-slot-meal-img{border-radius:4px;flex-shrink:0;height:28px;object-fit:cover;width:28px}.calendar-slot-meal-name{flex:1 1;font-size:.7rem;font-weight:500;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-slot-remove{align-items:center;background:#ef4444;background:var(--color-danger,#ef4444);border:none;border-radius:50%;color:#fff;cursor:pointer;display:none;font-size:10px;height:16px;justify-content:center;line-height:1;padding:0;position:absolute;right:-4px;top:-4px;width:16px}.calendar-slot-meal:hover .calendar-slot-remove{display:flex}@media (max-width:768px){.calendar-grid{min-width:600px}.calendar-week-section{-webkit-overflow-scrolling:touch;overflow-x:auto}}.calendar-save-indicator{align-items:center;color:#6b7280;color:var(--color-text-muted,#6b7280);display:inline-flex;font-size:.8rem;gap:6px;margin-left:auto}.calendar-save-indicator.saved{color:#22c55e;color:var(--color-success,#22c55e)}:root{--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--radius-md:12px;--radius-lg:20px;--radius-full:999px;--shadow-sm:0 1px 3px rgba(44,36,22,.06);--shadow-md:0 4px 12px rgba(44,36,22,.08);--shadow-lg:0 8px 30px rgba(44,36,22,.12);--shadow-glow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,transparent)}.page-header{margin-bottom:2.5rem;margin-bottom:var(--space-xl)}.page-header h1{color:var(--color-text);font-size:2.25rem;font-weight:800;letter-spacing:-.03em;line-height:1.15}.page-header p{color:var(--color-text-muted);font-size:1.05rem;margin-top:.5rem;margin-top:var(--space-sm)}.meals-grid{grid-gap:1.5rem;grid-gap:var(--space-lg);display:grid;gap:1.5rem;gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.meal-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;border-radius:var(--radius-md);overflow:hidden;position:relative;transition:all .3s}.meal-card:hover{box-shadow:0 8px 30px rgba(44,36,22,.12);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.meal-card-image{aspect-ratio:16/10;background:var(--color-bg-alt);overflow:hidden;position:relative;width:100%}.meal-card-image img{height:100%;object-fit:cover;transition:transform .4s;width:100%}.meal-card:hover .meal-card-image img{transform:scale(1.05)}.meal-card-source{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:rgba(0,0,0,.6);border-radius:6px;border-radius:var(--radius-sm);color:#fff;font-size:.65rem;font-weight:700;left:8px;letter-spacing:.08em;padding:3px 8px;position:absolute;text-transform:uppercase;top:8px}.meal-card-body{padding:1rem;padding:var(--space-md)}.meal-card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--color-text);display:-webkit-box;font-size:1rem;font-weight:700;line-height:1.3;overflow:hidden}.meal-card-meta,.meal-card-title{margin-bottom:.5rem;margin-bottom:var(--space-sm)}.meal-card-meta{color:var(--color-text-muted);display:flex;font-size:.78rem;gap:1rem;gap:var(--space-md)}.meal-card-meta span{align-items:center;display:flex;gap:4px}.add-recipe-bar{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;border-radius:var(--radius-md);display:flex;flex-wrap:wrap;gap:1rem;gap:var(--space-md);margin-bottom:1.5rem;margin-bottom:var(--space-lg);padding:1rem 1.5rem;padding:var(--space-md) var(--space-lg)}.add-recipe-label{color:var(--color-text-muted);font-size:.88rem;font-weight:600;white-space:nowrap}.add-recipe-buttons{display:flex;flex-wrap:wrap;gap:6px}.add-recipe-panel{animation:slideDown .2s ease-out;background:var(--color-surface);border:2px solid var(--color-primary);border-radius:20px;border-radius:var(--radius-lg);margin-bottom:2.5rem;margin-bottom:var(--space-xl);padding:2.5rem;padding:var(--space-xl);position:relative}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.add-panel-close{background:none;border:none;border-radius:6px;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;font-size:.82rem;font-weight:600;padding:4px 8px;position:absolute;right:16px;top:12px;transition:all .15s}.add-panel-close:hover{background:var(--color-bg-alt);color:var(--color-text)}.ai-success-banner{background:color-mix(in srgb,var(--color-success) 10%,transparent);border:1px solid var(--color-success);border-radius:6px;border-radius:var(--radius-sm);color:var(--color-success);font-size:.9rem;font-weight:500;margin-bottom:1.5rem;margin-bottom:var(--space-lg);padding:10px 14px}.ai-success-banner strong{font-weight:700}.btn{border:1px solid transparent;border-radius:6px;border-radius:var(--radius-sm);font-size:.88rem;gap:6px;padding:10px 18px;white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{border-color:var(--color-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark);border-color:var(--color-primary-dark)}.btn-secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-alt);border-color:var(--color-text-muted)}.form-group{margin-bottom:1rem;margin-bottom:var(--space-md)}.form-label{color:var(--color-text);font-size:.88rem}.add-recipe-panel input[type=number],.add-recipe-panel input[type=text],.add-recipe-panel input[type=url],.add-recipe-panel select,.add-recipe-panel textarea,.form-input,.settings-panel input[type=number],.settings-panel input[type=text],.settings-panel input[type=url],.settings-panel select,.settings-panel textarea{background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;border-radius:var(--radius-sm);box-sizing:border-box;color:var(--color-text);display:block;font-size:.95rem;padding:12px 14px;transition:border-color .2s,box-shadow .2s;width:100%}.add-recipe-panel input:focus,.add-recipe-panel select:focus,.add-recipe-panel textarea:focus,.form-input:focus,.settings-panel input:focus,.settings-panel select:focus,.settings-panel textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,transparent);box-shadow:var(--shadow-glow);outline:none}.add-recipe-panel input::placeholder,.form-input::placeholder,.settings-panel input::placeholder{color:var(--color-text-muted);opacity:.6}.manual-field{margin-bottom:1rem;margin-bottom:var(--space-md)}.manual-label{color:var(--color-text);display:block;font-size:.88rem;font-weight:500;margin-bottom:6px}.image-dropzone{align-items:center;border:2px dashed var(--color-border);border-radius:12px;border-radius:var(--radius-md);cursor:pointer;display:flex;justify-content:center;min-height:180px;overflow:hidden;transition:all .2s}.image-dropzone:hover{background:color-mix(in srgb,var(--color-primary) 5%,transparent);border-color:var(--color-primary)}.dropzone-placeholder{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;font-size:.9rem;gap:6px;padding:2.5rem;padding:var(--space-xl)}.image-preview{max-height:300px;object-fit:cover;width:100%}.image-preview,.settings-panel{border-radius:12px;border-radius:var(--radius-md)}.settings-panel{background:var(--color-surface)}.settings-group{margin-bottom:1.5rem;margin-bottom:var(--space-lg)}.settings-group h3{color:var(--color-text);font-size:1.1rem;font-weight:700;margin-bottom:1rem;margin-bottom:var(--space-md)}.recipe-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:rgba(0,0,0,.6);display:flex;inset:0;justify-content:center;padding:1.5rem;padding:var(--space-lg);position:fixed;z-index:200}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.recipe-modal{animation:modalSlideUp .25s ease-out;background:var(--color-surface);border-radius:20px;border-radius:var(--radius-lg);box-shadow:0 8px 30px rgba(44,36,22,.12);box-shadow:var(--shadow-lg);max-height:90vh;max-width:700px;overflow-y:auto;width:100%}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.recipe-modal-image{aspect-ratio:16/9;overflow:hidden;position:relative;width:100%}.recipe-modal-image img{height:100%;object-fit:cover;width:100%}.recipe-modal-close{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:rgba(0,0,0,.5);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;height:36px;justify-content:center;position:absolute;right:12px;top:12px;transition:background .2s;width:36px}.recipe-modal-close:hover{background:rgba(0,0,0,.8)}.recipe-modal-body{padding:1.5rem 2.5rem;padding:var(--space-lg) var(--space-xl)}.recipe-modal-title{color:var(--color-text);font-size:1.6rem;font-weight:800;letter-spacing:-.02em;line-height:1.2}.recipe-modal-meta,.recipe-modal-title{margin-bottom:1rem;margin-bottom:var(--space-md)}.recipe-modal-meta{display:flex;flex-wrap:wrap;gap:8px}.recipe-meta-chip{background:var(--color-bg-alt);border-radius:999px;border-radius:var(--radius-full);color:var(--color-text-muted);font-size:.78rem;font-weight:500;padding:4px 10px}.recipe-source-link{color:var(--color-primary);display:inline-block;font-size:.85rem;font-weight:500;margin-bottom:1.5rem;margin-bottom:var(--space-lg);padding:6px 0;text-decoration:none}.recipe-source-link:hover{text-decoration:underline}.recipe-section{border-top:1px solid var(--color-bg-alt);margin-bottom:1.5rem;margin-bottom:var(--space-lg);padding-top:1rem;padding-top:var(--space-md)}.recipe-section-heading{align-items:center;color:var(--color-text);display:flex;font-size:1.05rem;font-weight:700;gap:8px;margin-bottom:1rem;margin-bottom:var(--space-md)}.recipe-section-count{background:var(--color-bg-alt);border-radius:999px;border-radius:var(--radius-full);color:var(--color-text-muted);font-size:.78rem;font-weight:500;padding:2px 8px}.recipe-summary{color:var(--color-text-muted);font-size:.95rem;line-height:1.6}.recipe-ingredients{display:flex;flex-direction:column;gap:6px;list-style:none}.recipe-ingredient{align-items:baseline;border-bottom:1px solid var(--color-bg-alt);display:flex;font-size:.95rem;gap:8px;padding:6px 0}.recipe-ingredient-bullet{color:var(--color-primary);flex-shrink:0;font-weight:700}.recipe-steps{counter-reset:step-counter;display:flex;flex-direction:column;gap:12px;list-style:none}.recipe-step{align-items:flex-start;display:flex;gap:14px}.recipe-step-number{align-items:center;background:var(--color-primary);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.82rem;font-weight:700;height:30px;justify-content:center;width:30px}.recipe-step-text{font-size:.95rem;line-height:1.6;padding-top:4px}.loading-container{align-items:center;display:flex;flex-direction:column;gap:1rem;gap:var(--space-md);justify-content:center;padding:4rem;padding:var(--space-2xl)}.spinner{animation:spin .8s linear infinite;border:3px solid var(--color-border);border-radius:50%;border-top-color:var(--color-primary);height:40px;width:40px}.toast{animation:toastSlideUp .3s ease-out;border-radius:12px;box-shadow:0 8px 30px rgba(44,36,22,.12);font-size:.9rem;padding:1rem 1.5rem;padding:var(--space-md) var(--space-lg)}@keyframes toastSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.favorites-empty{color:var(--color-text-muted);padding:4rem 2.5rem;padding:var(--space-2xl) var(--space-xl);text-align:center}.favorites-empty h3{color:var(--color-text);font-size:1.2rem;font-weight:700;margin-top:1rem;margin-top:var(--space-md)}.favorites-empty p{font-size:.95rem;margin-top:.5rem;margin-top:var(--space-sm)}.recipes-search{border-radius:12px;margin-bottom:1.5rem;margin-bottom:var(--space-lg);padding:10px 16px;transition:border-color .2s,box-shadow .2s}.recipes-search:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,transparent);box-shadow:var(--shadow-glow)}.recipes-search svg{color:var(--color-text-muted);flex-shrink:0}.recipes-search input{color:var(--color-text);font-size:.95rem}.recipes-search input::placeholder{color:var(--color-text-muted);opacity:.6}@media (max-width:768px){.meals-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.page-header h1{font-size:1.75rem}.recipe-modal{border-radius:12px;border-radius:var(--radius-md);max-height:95vh}.recipe-modal-body{padding:1rem;padding:var(--space-md)}.recipe-modal-title{font-size:1.3rem}.add-recipe-bar{align-items:stretch;flex-direction:column}.add-recipe-buttons{justify-content:center}}@media (max-width:480px){.meals-grid{grid-template-columns:1fr}}.grocery-store-prompt{align-items:center;background:#fef3c7;border:1px solid #f59e0b;border-radius:var(--radius-md);color:#92400e;display:flex;font-size:14px;gap:10px;margin-bottom:16px;padding:12px 16px}.grocery-store-prompt svg{color:#d97706;flex-shrink:0}.grocery-store-prompt-link{background:none;border:none;color:var(--color-primary);cursor:pointer;font-family:var(--font-sans);font-size:14px;font-weight:600;padding:0;text-decoration:underline}.grocery-store-prompt-link:hover{color:var(--color-primary-dark)}.grocery-store-legend{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.grocery-store-legend-label{color:var(--color-text-muted);font-size:13px;font-weight:500}.grocery-store-legend-chip{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:700;gap:4px;letter-spacing:.02em;padding:4px 12px}.grocery-store-legend-chip--0{background:#dbeafe;color:#1e40af}.grocery-store-legend-chip--1{background:#d1fae5;color:#065f46}.grocery-store-legend-chip--2{background:#fde68a;color:#92400e}.grocery-meals-bar{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px;padding:10px 14px}.grocery-meals-bar-label{color:var(--color-text-muted);font-size:13px;font-weight:600;white-space:nowrap}.grocery-progress{align-items:center;display:flex;gap:12px;margin-bottom:16px}.grocery-progress-bar{background:var(--color-border);border-radius:999px;flex:1 1;height:6px;overflow:hidden}.grocery-progress-fill{background:var(--color-primary);border-radius:999px;height:100%;transition:width .3s ease}.grocery-progress-text{color:var(--color-text-muted);font-size:13px;font-weight:500;white-space:nowrap}.grocery-col-headers{align-items:center;border-bottom:2px solid var(--color-border);color:var(--color-text-muted);display:flex;font-size:11px;font-weight:700;gap:8px;letter-spacing:.05em;margin-bottom:8px;padding:6px 8px;text-transform:uppercase}.grocery-col-check{flex-shrink:0;width:28px}.grocery-col-name{flex:2 1;min-width:0}.grocery-col-qty{flex-shrink:0;text-align:right;width:70px}.grocery-col-recipe{flex-shrink:0;width:120px}.grocery-col-store{flex-shrink:0;text-align:right}.grocery-section-v2{margin-bottom:24px}.grocery-aisle-v2{margin-bottom:16px}.grocery-aisle-header-v2{align-items:center;border-bottom:2px solid var(--color-primary-light);display:flex;gap:8px;margin-bottom:2px;padding:8px 0}.grocery-aisle-header-v2.pantry{border-bottom-color:var(--color-warning)}.grocery-aisle-name-v2{color:var(--color-primary);font-size:14px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.grocery-aisle-header-v2.pantry .grocery-aisle-name-v2{color:var(--color-warning)}.grocery-aisle-count-v2{background:var(--color-bg-alt);border-radius:999px;color:var(--color-text-muted);font-size:12px;font-weight:600;padding:1px 8px}.grocery-row{align-items:center;border-bottom:1px solid rgba(0,0,0,.05);border-radius:var(--radius-sm);display:flex;gap:8px;padding:8px;transition:background .15s}.grocery-row:hover{background:var(--color-bg-alt)}.grocery-row--checked{opacity:.5}.grocery-row--pantry{opacity:.85}.grocery-row--checked.grocery-row--pantry{opacity:.4}.grocery-row-check{align-items:center;background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-inverse);cursor:pointer;display:flex;flex-shrink:0;font-family:var(--font-sans);font-size:13px;font-weight:700;height:24px;justify-content:center;padding:0;transition:all .15s;width:24px}.grocery-row-check--on,.grocery-row-check:hover{border-color:var(--color-primary)}.grocery-row-check--on{background:var(--color-primary)}.grocery-row-name{flex:2 1;font-size:15px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grocery-row-name--struck{color:var(--color-text-muted);text-decoration:line-through}.grocery-row-qty{font-size:13px;text-align:right;width:70px}.grocery-row-qty,.grocery-row-recipe{color:var(--color-text-muted);flex-shrink:0;white-space:nowrap}.grocery-row-recipe{font-size:12px;overflow:hidden;text-overflow:ellipsis;width:120px}.grocery-row-stores{display:flex;flex-shrink:0;gap:6px}.grocery-store-btn{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:4px;line-height:1.2;padding:5px 12px;text-decoration:none;transition:all .15s;white-space:nowrap}.grocery-store-btn svg{flex-shrink:0}.grocery-store-btn--0{background:#dbeafe;border:1px solid #bfdbfe;color:#1e40af}.grocery-store-btn--0:hover{background:#1e40af;border-color:#1e40af;color:#fff}.grocery-store-btn--1{background:#d1fae5;border:1px solid #a7f3d0;color:#065f46}.grocery-store-btn--1:hover{background:#065f46;border-color:#065f46;color:#fff}.grocery-store-btn--2{background:#fde68a;border:1px solid #fcd34d;color:#92400e}.grocery-store-btn--2:hover{background:#92400e;border-color:#92400e;color:#fff}.grocery-pantry-v2{background:#fffbeb;border:1px solid #fcd34d;border-radius:var(--radius-lg);margin-top:24px;padding:20px}.grocery-pantry-title{font-size:20px;font-weight:800;margin-bottom:4px}.grocery-pantry-subtitle{color:var(--color-text-muted);font-size:14px;margin-bottom:16px}.toast{align-items:center;animation:toastSlide .3s ease-out;background:var(--color-text);border-radius:var(--radius-md);bottom:24px;box-shadow:var(--shadow-lg);color:var(--color-text-inverse);display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 20px;position:fixed;right:24px;z-index:1000}.toast--success{background:var(--color-success)}.toast--error{background:var(--color-error)}@keyframes toastSlide{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.spin{animation:spin 1s linear infinite}@media (max-width:768px){.grocery-col-headers{display:none}.grocery-row{flex-wrap:wrap;gap:6px;padding:10px 8px}.grocery-row-name{flex:1 1;font-size:14px;min-width:calc(100% - 40px)}.grocery-row-qty{font-size:12px;text-align:left;width:auto}.grocery-row-recipe{font-size:11px;width:auto}.grocery-row-stores{margin-top:4px;padding-left:32px;width:100%}.grocery-store-btn{font-size:12px;padding:4px 10px}.tab-header{flex-direction:column}.tab-header-action{flex-wrap:wrap;width:100%}.tab-header-action .btn{flex:1 1;font-size:13px;padding:8px 12px}}.admin-shell{background:#f9fafb;background:var(--color-bg,#f9fafb);display:flex;min-height:100vh}.admin-sidebar{background:#fff;background:var(--color-bg-card,#fff);border-right:1px solid #e5e7eb;border-right:1px solid var(--color-border,#e5e7eb);bottom:0;display:flex;flex-direction:column;left:0;position:fixed;top:0;width:240px;z-index:10}.admin-sidebar-header{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-border,#e5e7eb);display:flex;gap:.75rem;padding:1.25rem 1rem}.admin-sidebar-title{color:#111827;color:var(--color-text,#111827);font-size:1rem;font-weight:600}.admin-nav{flex:1 1;padding:.75rem .5rem}.admin-nav-item{align-items:center;background:none;border:none;border-radius:6px;color:#6b7280;color:var(--color-text-secondary,#6b7280);cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.625rem;padding:.625rem .75rem;text-align:left;text-decoration:none;transition:background-color .15s,color .15s;width:100%}.admin-nav-item:hover{background:#f3f4f6;background:var(--color-bg-alt,#f3f4f6);color:#111827;color:var(--color-text,#111827)}.admin-nav-item.active{background:#eff6ff;background:var(--color-primary-light,#eff6ff);color:#2563eb;color:var(--color-primary,#2563eb)}.admin-sidebar-footer{border-top:1px solid #e5e7eb;border-top:1px solid var(--color-border,#e5e7eb);padding:.75rem .5rem}.admin-main{flex:1 1;margin-left:240px;max-width:960px;padding:2rem}.admin-unauthorized{align-items:center;color:#6b7280;color:var(--color-text-secondary,#6b7280);display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:100vh}.admin-unauthorized h2{color:#111827;color:var(--color-text,#111827)}.admin-page{display:flex;flex-direction:column;gap:1.5rem}.admin-page-header h1{align-items:center;color:#111827;color:var(--color-text,#111827);display:flex;font-size:1.5rem;font-weight:700;gap:.5rem;margin:0}.admin-subtitle{font-size:.875rem;margin-top:.25rem}.admin-breadcrumb,.admin-subtitle{color:#9ca3af;color:var(--color-text-muted,#9ca3af)}.admin-breadcrumb{align-items:center;display:flex;font-size:.8125rem;gap:.375rem;margin-bottom:.25rem}.admin-breadcrumb-link{color:#2563eb;color:var(--color-primary,#2563eb);text-decoration:none}.admin-breadcrumb-link:hover{text-decoration:underline}.admin-breadcrumb-sep{color:#9ca3af;color:var(--color-text-muted,#9ca3af)}.admin-search-form{align-items:stretch;display:flex;gap:.75rem}.admin-search-input-wrapper{align-items:center;display:flex;flex:1 1;position:relative}.admin-search-icon{color:#9ca3af;color:var(--color-text-muted,#9ca3af);left:.75rem;pointer-events:none;position:absolute}.admin-search-input{background:#fff;background:var(--color-bg-card,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-border,#e5e7eb);border-radius:8px;color:#111827;color:var(--color-text,#111827);font-size:.9375rem;outline:none;padding:.625rem .75rem .625rem 2.5rem;transition:border-color .15s;width:100%}.admin-search-input:focus{border-color:#2563eb;border-color:var(--color-primary,#2563eb);box-shadow:0 0 0 3px rgba(37,99,235,.1)}.admin-search-input::placeholder{color:#9ca3af;color:var(--color-text-muted,#9ca3af)}.admin-card{background:#fff;background:var(--color-bg-card,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-border,#e5e7eb);border-radius:10px;overflow:hidden}.admin-card-header{align-items:center;background:#f9fafb;background:var(--color-bg-alt,#f9fafb);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-border,#e5e7eb);display:flex;gap:.5rem;padding:.875rem 1.25rem}.admin-card-header h2{color:#111827;color:var(--color-text,#111827);font-size:.9375rem;font-weight:600;margin:0}.admin-card-body{padding:1.25rem}.admin-card-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem}.admin-detail-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.admin-detail{display:flex;flex-direction:column;gap:.25rem}.admin-detail-label{color:#9ca3af;color:var(--color-text-muted,#9ca3af);font-size:.75rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.admin-detail-value{color:#111827;color:var(--color-text,#111827);font-size:.875rem;word-break:break-all}.admin-detail-mono{font-family:SF Mono,Monaco,Menlo,monospace;font-size:.8125rem}.admin-badge{border-radius:9999px;display:inline-block;font-size:.75rem;font-weight:600;padding:.15rem .5rem;text-transform:capitalize}.admin-badge--success{background:#dcfce7;color:#166534}.admin-badge--warning{background:#fef3c7;color:#92400e}.admin-badge--danger{background:#fee2e2;color:#991b1b}.admin-badge--info{background:#dbeafe;color:#1e40af}.admin-badge--neutral{background:#f3f4f6;background:var(--color-bg-alt,#f3f4f6);color:#6b7280;color:var(--color-text-secondary,#6b7280)}.admin-alert{align-items:center;border-radius:8px;display:flex;font-size:.875rem;gap:.5rem;padding:.75rem 1rem}.admin-alert--error{background:#fee2e2;border:1px solid #fecaca;color:#991b1b}.admin-alert--warning{background:#fef3c7;border:1px solid #fde68a;color:#92400e}.admin-table{border-collapse:collapse;font-size:.875rem;width:100%}.admin-table th{color:#9ca3af;color:var(--color-text-muted,#9ca3af);font-size:.75rem;font-weight:600;letter-spacing:.03em;padding:.5rem .75rem;text-align:left;text-transform:uppercase}.admin-table td,.admin-table th{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-border,#e5e7eb)}.admin-table td{color:#111827;color:var(--color-text,#111827);padding:.625rem .75rem}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:#f9fafb;background:var(--color-bg-alt,#f9fafb)}.admin-sub-entry{margin-bottom:1rem}.admin-divider{border:none;border-top:1px solid #e5e7eb;border-top:1px solid var(--color-border,#e5e7eb);margin:1rem 0}.admin-results{display:flex;flex-direction:column;gap:1.25rem}@media (max-width:768px){.admin-sidebar{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-border,#e5e7eb);border-right:none;flex-direction:row;gap:.5rem;padding:.5rem;position:relative;width:100%}.admin-shell{flex-direction:column}.admin-main{margin-left:0;padding:1rem}.admin-sidebar-header{border-bottom:none;padding:.5rem}.admin-nav{display:flex;flex-direction:row;gap:.25rem;padding:0}.admin-sidebar-footer{border-top:none;margin-left:auto;padding:0}}:root{--color-primary:#ba626c;--color-primary-light:#d08e96;--color-primary-dark:#9a4a53;--color-secondary:#8eb66b;--color-secondary-light:#dfa159;--color-accent:#102984;--color-bg:#fdfaf5;--color-bg-alt:#f5efe5;--color-surface:#fff;--color-text:#1b1b1b;--color-text-muted:#6b7280;--color-text-inverse:#fff;--color-border:#e5e7eb;--color-success:#8eb66b;--color-warning:#dfa159;--color-error:#ba626c;--color-nav-glass:hsla(38,67%,98%,.92);--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-serif:"Crimson Pro",Georgia,serif;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--shadow-sm:0 1px 2px rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;background:#fdfaf5;background:var(--color-bg);color:#1b1b1b;color:var(--color-text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);line-height:1.6}a{color:#ba626c;color:var(--color-primary);text-decoration:none}a:hover{color:#9a4a53;color:var(--color-primary-dark)}img{display:block;max-width:100%}.btn{align-items:center;border:none;border-radius:10px;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);font-size:15px;font-weight:600;gap:8px;justify-content:center;padding:10px 20px;text-decoration:none;transition:all .2s}.btn-primary{background:#ba626c;background:var(--color-primary)}.btn-primary,.btn-primary:hover{color:#fff;color:var(--color-text-inverse)}.btn-primary:hover{background:#9a4a53;background:var(--color-primary-dark)}.btn-secondary{background:transparent;border:2px solid #ba626c;border:2px solid var(--color-primary);color:#ba626c;color:var(--color-primary)}.btn-secondary:hover{background:#ba626c;background:var(--color-primary);color:#fff;color:var(--color-text-inverse)}.btn-lg{border-radius:10px;border-radius:var(--radius-md);font-size:17px;padding:14px 28px}.public-nav{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(38,67%,98%,.92);background:var(--color-nav-glass);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100}.nav-inner{justify-content:space-between;margin:0 auto;max-width:1200px;padding:14px 24px}.nav-inner,.nav-logo{align-items:center;display:flex}.nav-logo{gap:10px;text-decoration:none}.nav-brand-name{color:#1b1b1b;color:var(--color-text);font-size:24px;font-weight:800}.nav-links{align-items:center;display:flex;gap:24px}.nav-link{color:#6b7280;color:var(--color-text-muted);font-size:17px;font-weight:500;transition:color .2s}.nav-link.active,.nav-link:hover{color:#1b1b1b;color:var(--color-text)}.nav-cta{background:#ba626c;background:var(--color-primary);border-radius:10px;border-radius:var(--radius-md);color:#fff!important;color:var(--color-text-inverse)!important;font-size:14px;font-weight:600;padding:8px 20px;transition:background .2s}.nav-cta:hover{background:#9a4a53;background:var(--color-primary-dark)}.public-main{min-height:calc(100vh - 140px)}.public-footer{background:#f5efe5;background:var(--color-bg-alt);border-top:1px solid #e5e7eb;border-top:1px solid var(--color-border);padding:40px 24px}.footer-inner{flex-wrap:wrap;gap:16px;justify-content:space-between;margin:0 auto;max-width:1200px}.footer-brand,.footer-inner{align-items:center;display:flex}.footer-brand{font-weight:700;gap:8px}.footer-links{display:flex;gap:20px}.footer-links a{font-size:14px}.footer-copyright,.footer-links a{color:#6b7280;color:var(--color-text-muted)}.footer-copyright{font-size:13px}.hero{grid-gap:60px;align-items:center;display:grid;gap:60px;grid-template-columns:1fr 1fr;margin:0 auto;max-width:1200px;padding:80px 24px 60px}.hero-title{color:#1b1b1b;color:var(--color-text);font-size:52px;font-weight:800;letter-spacing:-.02em;line-height:1.1}.hero-highlight{color:#ba626c;color:var(--color-primary)}.hero-subtitle{color:#6b7280;color:var(--color-text-muted);font-size:19px;line-height:1.6;margin-top:20px;max-width:520px}.hero-cta-group{display:flex;flex-wrap:wrap;gap:16px;margin-top:32px}.hero-note{color:#6b7280;color:var(--color-text-muted);font-size:13px;margin-top:14px}.hero-placeholder-image{align-items:center;background:#fff;background:var(--color-surface);border:2px dashed #e5e7eb;border:2px dashed var(--color-border);border-radius:24px;border-radius:var(--radius-xl);display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:400px;padding:60px}.hero-placeholder-image p{color:#6b7280;color:var(--color-text-muted);font-size:14px}.features,.final-cta,.how-it-works,.pricing-cta{margin:0 auto;max-width:1200px;padding:80px 24px}.how-it-works{background:#f5efe5;background:var(--color-bg-alt);max-width:100%}.section-title{color:#1b1b1b;color:var(--color-text);font-size:36px;font-weight:800;letter-spacing:-.01em;text-align:center}.section-subtitle{color:#6b7280;color:var(--color-text-muted);font-size:18px;margin-top:12px;text-align:center}.steps-grid{grid-gap:32px;display:grid;gap:32px;grid-template-columns:repeat(3,1fr);margin-top:48px}.step-card{background:#fff;background:var(--color-surface);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);box-shadow:var(--shadow-md);padding:32px;text-align:center}.step-number{align-items:center;background:#ba626c;background:var(--color-primary);border-radius:50%;color:#fff;color:var(--color-text-inverse);display:inline-flex;font-size:18px;font-weight:800;height:40px;justify-content:center;width:40px}.step-icon-group{color:#ba626c;color:var(--color-primary);display:flex;gap:12px;justify-content:center;margin:20px 0}.step-card h3{font-size:20px;font-weight:700;margin-bottom:12px}.step-card p{color:#6b7280;color:var(--color-text-muted);font-size:16px;line-height:1.6}.features-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(3,1fr);margin-top:48px}.feature-card{background:#fff;background:var(--color-surface);border:1px solid #e5e7eb;border:1px solid var(--color-border);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:var(--shadow-sm);padding:28px}.feature-card h3{font-size:20px;font-weight:700;margin:14px 0 8px}.feature-card p{color:#6b7280;color:var(--color-text-muted);font-size:16px;line-height:1.6}.pricing-cta{text-align:center}.pricing-card-hero{background:#fff;background:var(--color-surface);border:2px solid #ba626c;border:2px solid var(--color-primary);border-radius:24px;border-radius:var(--radius-xl);box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);box-shadow:var(--shadow-lg);margin:40px auto 0;max-width:440px;padding:40px}.price-amount{color:#1b1b1b;color:var(--color-text);font-size:48px;font-weight:800}.price-period{font-size:18px}.price-period,.pricing-or{color:#6b7280;color:var(--color-text-muted)}.pricing-or{font-size:14px;margin-top:4px}.pricing-features{display:flex;flex-direction:column;gap:12px;list-style:none;margin:28px 0;text-align:left}.pricing-features li{align-items:center;color:#1b1b1b;color:var(--color-text);display:flex;font-size:15px;gap:10px}.final-cta{background:#ba626c;background:var(--color-primary);border-radius:24px;border-radius:var(--radius-xl);margin-bottom:48px;max-width:900px;padding:60px 40px;text-align:center}.final-cta,.final-cta h2{color:#fff;color:var(--color-text-inverse)}.final-cta h2{font-size:32px;font-weight:800}.final-cta p{color:hsla(0,0%,100%,.8);font-size:18px;margin:12px 0 28px}.final-cta .btn-primary{background:#fff;background:var(--color-text-inverse);color:#ba626c;color:var(--color-primary)}.final-cta .btn-primary:hover{background:hsla(0,0%,100%,.9)}.app-shell{display:flex;flex-direction:column;min-height:100vh}.app-topbar{background:#fff;background:var(--color-surface);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-border);box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:100}.topbar-inner{align-items:center;display:flex;height:56px;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 24px}.topbar-left,.topbar-logo{align-items:center;display:flex;gap:8px}.topbar-logo{text-decoration:none}.topbar-brand{color:#1b1b1b;color:var(--color-text);font-size:18px;font-weight:800}.topbar-home-btn{align-items:center;border-radius:10px;border-radius:var(--radius-md);color:#6b7280;color:var(--color-text-muted);display:flex;height:34px;justify-content:center;margin-left:4px;text-decoration:none;transition:all .15s;width:34px}.topbar-home-btn:hover{background:#f5efe5;background:var(--color-bg-alt);color:#1b1b1b;color:var(--color-text)}.topbar-right{position:relative}.topbar-user-btn{align-items:center;background:none;border:1px solid #e5e7eb;border:1px solid var(--color-border);border-radius:999px;cursor:pointer;display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);gap:8px;padding:4px 12px 4px 4px;transition:all .15s}.topbar-user-btn:hover{background:#f5efe5;background:var(--color-bg-alt)}.topbar-avatar{align-items:center;background:#ba626c;background:var(--color-primary);border-radius:50%;color:#fff;color:var(--color-text-inverse);display:flex;font-size:13px;font-weight:700;height:30px;justify-content:center;width:30px}.topbar-user-name{color:#1b1b1b;color:var(--color-text);font-size:14px;font-weight:600}.topbar-chevron{color:#6b7280;color:var(--color-text-muted);transition:transform .2s}.topbar-chevron.open{transform:rotate(180deg)}.topbar-dropdown{animation:dropdownFadeIn .15s ease-out;background:#fff;background:var(--color-surface);border:1px solid #e5e7eb;border:1px solid var(--color-border);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);box-shadow:var(--shadow-lg);padding:6px;position:absolute;right:0;top:calc(100% + 8px);width:220px;z-index:200}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{padding:10px 12px}.dropdown-name{color:#1b1b1b;color:var(--color-text);display:block;font-size:14px;font-weight:700}.dropdown-role{color:#6b7280;color:var(--color-text-muted);font-size:12px}.dropdown-divider{background:#e5e7eb;background:var(--color-border);height:1px;margin:4px 0}.dropdown-item{align-items:center;background:none;border:none;border-radius:10px;border-radius:var(--radius-md);color:#1b1b1b;color:var(--color-text);cursor:pointer;display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);font-size:14px;font-weight:500;gap:10px;padding:9px 12px;text-align:left;transition:background .1s;width:100%}.dropdown-item:hover{background:#f5efe5;background:var(--color-bg-alt)}.dropdown-item svg{color:#6b7280;color:var(--color-text-muted)}.dropdown-item--danger,.dropdown-item--danger svg{color:#ba626c;color:var(--color-error)}.app-content{flex:1 1;margin:0 auto;max-width:1200px;padding:24px;width:100%}.dashboard-tabs{border-bottom:2px solid #e5e7eb;border-bottom:2px solid var(--color-border);display:flex;gap:4px;margin-bottom:24px}.dashboard-tab{align-items:center;background:none;border:none;border-bottom:2px solid transparent;color:#6b7280;color:var(--color-text-muted);cursor:pointer;display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);font-size:15px;font-weight:600;gap:8px;margin-bottom:-2px;padding:12px 20px;transition:all .15s}.dashboard-tab:hover{color:#1b1b1b;color:var(--color-text)}.dashboard-tab.active{border-bottom-color:#ba626c;border-bottom-color:var(--color-primary);color:#ba626c;color:var(--color-primary)}.tab-panel{animation:tabFadeIn .2s ease-out}@keyframes tabFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.tab-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.tab-header h2{font-size:24px;font-weight:800}.tab-subtitle{color:#6b7280;color:var(--color-text-muted);font-size:15px;margin-top:4px}.tab-header-action{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.meal-voting-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.meal-vote-card{background:#fff;background:var(--color-surface);border:1px solid #e5e7eb;border:1px solid var(--color-border);border-radius:16px;border-radius:var(--radius-lg);overflow:hidden;transition:box-shadow .15s}.meal-vote-card:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);box-shadow:var(--shadow-md)}.meal-vote-image{align-items:center;background:#f5efe5;background:var(--color-bg-alt);color:#6b7280;color:var(--color-text-muted);display:flex;height:140px;justify-content:center}.meal-vote-body{padding:14px 16px}.meal-vote-body h4{font-size:16px;font-weight:700;margin-bottom:4px}.meal-vote-meta{color:#6b7280;color:var(--color-text-muted);font-size:13px;margin-bottom:12px}.meal-vote-actions{display:flex;gap:8px;margin-bottom:10px}.vote-btn{align-items:center;background:#fff;background:var(--color-surface);border:1px solid #e5e7eb;border:1px solid var(--color-border);border-radius:10px;border-radius:var(--radius-md);cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .15s;width:36px}.vote-btn--up:hover{background:#dcfce7;border-color:#8eb66b;border-color:var(--color-success);color:#8eb66b;color:var(--color-success)}.vote-btn--down:hover{background:#fee2e2;border-color:#ba626c;border-color:var(--color-error);color:#ba626c;color:var(--color-error)}.meal-vote-summary{display:flex;gap:6px}.vote-dot{border-radius:50%;height:10px;width:10px}.vote-dot--up{background:#8eb66b;background:var(--color-success)}.vote-dot--down{background:#ba626c;background:var(--color-error)}.vote-dot--pending{background:#e5e7eb;background:var(--color-border)}.results-member-filters{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.results-filter-label{color:#6b7280;color:var(--color-text-muted);font-size:14px;font-weight:600;white-space:nowrap}.results-filter-bubbles{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.results-filter-bubble{align-items:center;background:#fff;background:var(--color-surface);border:1px solid #e5e7eb;border:1px solid var(--color-border);border-radius:999px;color:#1b1b1b;color:var(--color-text);cursor:pointer;display:inline-flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);font-size:13px;font-weight:600;gap:6px;padding:6px 14px;transition:all .15s}.results-filter-bubble:hover{background:rgba(186,98,108,.04);border-color:#ba626c;border-color:var(--color-primary)}.results-filter-bubble.active{background:#ba626c;background:var(--color-primary);border-color:#ba626c;border-color:var(--color-primary);color:#fff;color:var(--color-text-inverse)}.results-filter-bubble-initial{align-items:center;background:#f5efe5;background:var(--color-bg-alt);border-radius:50%;color:#6b7280;color:var(--color-text-muted);display:flex;font-size:11px;font-weight:700;height:22px;justify-content:center;width:22px}.results-filter-bubble.active .results-filter-bubble-initial{background:hsla(0,0%,100%,.25);color:#fff;color:var(--color-text-inverse)}.results-filter-clear{align-items:center;background:#fff;background:var(--color-surface);border:1px solid #e5e7eb;border:1px solid var(--color-border);border-radius:999px;color:#6b7280;color:var(--color-text-muted);cursor:pointer;display:inline-flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);font-size:13px;font-weight:500;gap:4px;padding:6px 12px;transition:all .15s}.results-filter-clear:hover{background:#f5efe5;background:var(--color-bg-alt);color:#1b1b1b;color:var(--color-text)}.results-vote-tally{bottom:8px;display:flex;gap:6px;position:absolute;right:8px}.results-tally-down,.results-tally-up{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:6px;border-radius:var(--radius-sm);display:flex;font-size:12px;font-weight:700;gap:3px;padding:3px 8px}.results-tally-up{background:hsla(92,34%,57%,.85);color:#fff}.results-tally-down{background:rgba(186,98,108,.85);color:#fff}.results-voter-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.results-voter-chip{align-items:center;border-radius:999px;display:inline-flex;font-size:11px;font-weight:600;gap:3px;padding:2px 8px}.results-voter-chip--up{background:hsla(92,34%,57%,.12);border:1px solid hsla(92,34%,57%,.3);color:#8eb66b;color:var(--color-success)}.results-voter-chip--down{background:rgba(186,98,108,.1);border:1px solid rgba(186,98,108,.25);color:#ba626c;color:var(--color-error)}.results-badge{align-items:center;background:rgba(186,98,108,.08);border-radius:999px;color:#ba626c;color:var(--color-primary);display:flex;font-size:12px;font-weight:600;gap:4px;padding:3px 10px}.grocery-tabs{background:#f5efe5;background:var(--color-bg-alt);border-radius:16px;border-radius:var(--radius-lg);display:flex;gap:4px;margin-bottom:24px;padding:4px}.grocery-tab{align-items:center;background:transparent;border:none;border-radius:10px;border-radius:var(--radius-md);color:#6b7280;color:var(--color-text-muted);cursor:pointer;display:flex;flex:1 1;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);font-size:14px;font-weight:600;gap:6px;justify-content:center;padding:10px 16px;transition:all .2s}.grocery-tab.active,.grocery-tab:hover{color:#1b1b1b;color:var(--color-text)}.grocery-tab.active{background:#fff;background:var(--color-surface);box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:var(--shadow-sm)}.grocery-tab.heb-tab.active{background:#ba626c;background:var(--color-primary);color:#fff;color:var(--color-text-inverse)}.grocery-section{margin-bottom:32px}.grocery-section-title{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);font-size:22px}.grocery-section-subtitle{color:var(--color-text-muted);font-size:15px;margin-bottom:20px}.grocery-section.pantry-section{background:rgba(223,161,89,.1);border:1px solid #dfa159;border:1px solid var(--color-warning);border-radius:24px;border-radius:var(--radius-xl);padding:24px}.grocery-aisle{margin-bottom:16px}.grocery-aisle-header{border-bottom:2px solid var(--color-primary);cursor:pointer}.grocery-aisle-header.pantry{border-bottom-color:var(--color-warning)}.grocery-aisle-header.heb{border-bottom-color:#ba626c;border-bottom-color:var(--color-primary)}.grocery-aisle-emoji{font-size:18px}.grocery-aisle-name{color:var(--color-text);font-size:15px}.grocery-aisle-count,.grocery-aisle-name{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans)}.grocery-aisle-count{background:#f5efe5;background:var(--color-bg-alt);color:var(--color-text-muted);font-size:12px}.grocery-items{display:flex;flex-direction:column}.grocery-item{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-border);cursor:pointer;display:flex;gap:10px;padding:10px 8px;transition:background .15s;-webkit-user-select:none;user-select:none}.grocery-item:last-child{border-bottom:none}.grocery-item:hover{background:#f5efe5;background:var(--color-bg-alt)}.grocery-item.checked{opacity:.5}.grocery-item.checked .grocery-item-name{color:#6b7280;color:var(--color-text-muted);text-decoration:line-through}.grocery-checkbox{align-items:center;border:2px solid #e5e7eb;border:2px solid var(--color-border);border-radius:6px;color:#fff;display:flex;font-size:12px;font-weight:700;height:24px;justify-content:center;min-width:24px;transition:all .2s;width:24px}.grocery-checkbox.checked{background:#8eb66b;background:var(--color-success);border-color:#8eb66b;border-color:var(--color-success)}.grocery-item.pantry .grocery-checkbox.checked{background:#dfa159;background:var(--color-warning);border-color:#dfa159;border-color:var(--color-warning)}.grocery-item-detail{gap:8px}.grocery-item-name{color:var(--color-text);font-size:15px;font-weight:500}.grocery-item-name,.grocery-item-qty{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans)}.grocery-item-qty{color:var(--color-primary);font-size:13px;font-weight:600;white-space:nowrap}.grocery-item-recipe{background:#f5efe5;background:var(--color-bg-alt);border-radius:4px;color:var(--color-text-muted)}.grocery-item-recipe,.grocery-store-link{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);font-size:11px}.grocery-store-link{background:rgba(186,98,108,.08);border:1px solid rgba(186,98,108,.2);border-radius:999px;color:#ba626c;color:var(--color-primary)}.grocery-store-link:hover{background:#ba626c;background:var(--color-primary);border-color:#ba626c;border-color:var(--color-primary);color:var(--color-text-inverse)}.action-bar{align-items:center;background:#fff;background:var(--color-surface);border:1px solid #e5e7eb;border:1px solid var(--color-border);border-radius:16px;border-radius:var(--radius-lg);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px;padding:14px 16px}.action-bar-info{color:#6b7280;color:var(--color-text-muted);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);font-size:14px}.heb-banner{align-items:center;background:#ba626c;background:var(--color-primary);border-radius:16px;border-radius:var(--radius-lg);color:#fff;color:var(--color-text-inverse);display:flex;gap:16px;margin-bottom:24px;padding:20px}.heb-banner-text{display:flex;flex-direction:column;gap:4px}.heb-banner-text strong{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);font-size:16px}.heb-banner-text span{font-size:14px;opacity:.9}.heb-item{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-border);border-radius:6px;border-radius:var(--radius-sm);color:#1b1b1b;color:var(--color-text);cursor:pointer;display:flex;gap:12px;justify-content:space-between;padding:12px 10px;text-decoration:none;transition:all .2s}.heb-item:hover{background:rgba(186,98,108,.04);padding-left:14px}.heb-item.pantry{opacity:.85}.heb-item.pantry:hover{opacity:1}.heb-item-info{align-items:baseline;display:flex;flex:1 1;flex-wrap:wrap;gap:8px;min-width:0}.heb-item-name{color:#1b1b1b;color:var(--color-text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);font-size:15px;font-weight:600}.heb-item:hover .heb-item-name{color:#ba626c;color:var(--color-primary)}.heb-item-action{flex-shrink:0}.heb-search-badge{background:rgba(186,98,108,.08);border:1px solid rgba(186,98,108,.2);border-radius:999px;color:#ba626c;color:var(--color-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);font-size:11px;font-weight:600;padding:4px 10px;transition:all .2s;white-space:nowrap}.heb-item:hover .heb-search-badge{background:#ba626c;background:var(--color-primary);border-color:#ba626c;border-color:var(--color-primary);color:#fff;color:var(--color-text-inverse)}@media (max-width:768px){.action-bar,.grocery-tabs{flex-direction:column}.action-bar{text-align:center}.grocery-item-recipe{display:none}}.page-container{max-width:760px}.page-title{font-size:28px;font-weight:800;margin-bottom:8px}.page-subtitle{color:#6b7280;color:var(--color-text-muted);margin-bottom:24px}.profile-card{background:#fff;background:var(--color-surface);border:1px solid #e5e7eb;border:1px solid var(--color-border);border-radius:24px;border-radius:var(--radius-xl);padding:32px}.profile-avatar{align-items:center;background:#ba626c;background:var(--color-primary);border-radius:50%;color:#fff;color:var(--color-text-inverse);display:flex;font-size:28px;font-weight:800;height:64px;justify-content:center;margin-bottom:24px;width:64px}.profile-fields{display:flex;flex-direction:column;gap:16px}.profile-field{align-items:flex-start;display:flex;gap:12px}.profile-field svg{margin-top:2px}.profile-field label,.profile-field svg{color:#6b7280;color:var(--color-text-muted)}.profile-field label{font-size:12px;letter-spacing:.03em;text-transform:uppercase}.profile-field p{font-size:16px;font-weight:600}.profile-role-badge{background:rgba(45,106,79,.1);border-radius:999px;color:#ba626c;color:var(--color-primary);display:inline-block;font-size:13px;font-weight:600;padding:4px 12px}.profile-divider{background:#e5e7eb;background:var(--color-border);height:1px;margin:24px 0}.profile-billing h3{align-items:center;display:flex;font-size:18px;gap:8px;margin-bottom:8px}.profile-billing p{color:#6b7280;color:var(--color-text-muted);font-size:14px;margin-bottom:16px}.users-card{background:#fff;background:var(--color-surface);border:1px solid #e5e7eb;border:1px solid var(--color-border);border-radius:24px;border-radius:var(--radius-xl);margin-bottom:20px;padding:24px}.users-card h3{align-items:center;display:flex;font-size:18px;font-weight:700;gap:8px;margin-bottom:16px}.users-list{display:flex;flex-direction:column;gap:4px}.user-row{align-items:center;border-radius:10px;border-radius:var(--radius-md);display:flex;gap:12px;padding:10px 12px;transition:background .1s}.user-row:hover{background:#f5efe5;background:var(--color-bg-alt)}.user-avatar{align-items:center;background:#102984;background:var(--color-accent);border-radius:50%;color:#fff;color:var(--color-text-inverse);display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:36px;justify-content:center;width:36px}.user-info{flex:1 1}.user-name{align-items:center;display:flex;font-size:14px;font-weight:600;gap:6px}.user-email{color:#6b7280;color:var(--color-text-muted);font-size:13px}.user-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:11px;font-weight:600;gap:4px;padding:2px 8px}.user-badge--owner{background:#fef3c7;color:#92400e}.user-badge--primary{background:rgba(45,106,79,.1);color:#ba626c;color:var(--color-primary)}.user-badge--member{background:#f5efe5;background:var(--color-bg-alt)}.user-action-btn,.user-badge--member{color:#6b7280;color:var(--color-text-muted)}.user-action-btn{background:none;border:none;border-radius:10px;border-radius:var(--radius-md);cursor:pointer;padding:6px}.user-action-btn:hover{background:#fee2e2;color:#ba626c;color:var(--color-error)}.invite-form{display:flex;flex-direction:column;gap:12px}.invite-row{display:flex;flex-wrap:wrap;gap:12px}.settings-card{background:#fff;background:var(--color-surface);border:1px solid #e5e7eb;border:1px solid var(--color-border);border-radius:24px;border-radius:var(--radius-xl);padding:32px}.settings-section{margin-bottom:32px}.settings-section h3{align-items:center;display:flex;font-size:17px;font-weight:700;gap:8px;margin-bottom:4px}.settings-desc{color:#6b7280;color:var(--color-text-muted);font-size:14px;margin-bottom:14px}.settings-control{align-items:center;display:flex;gap:16px}.settings-range{accent-color:#ba626c;accent-color:var(--color-primary);flex:1 1}.settings-range-value{font-size:15px;font-weight:700;min-width:90px}.settings-row{display:flex;flex-wrap:wrap;gap:16px}.settings-hint{color:#6b7280;color:var(--color-text-muted);font-size:13px;margin-top:8px}.store-picker{display:flex;flex-wrap:wrap;gap:8px}.store-chip{align-items:center;background:#fff;background:var(--color-surface);border:1px solid #e5e7eb;border:1px solid var(--color-border);border-radius:999px;cursor:pointer;display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);font-size:14px;font-weight:500;gap:6px;padding:8px 16px;transition:all .15s}.store-chip--selected,.store-chip:hover:not(:disabled){border-color:#ba626c;border-color:var(--color-primary)}.store-chip--selected{background:#ba626c;background:var(--color-primary);color:#fff;color:var(--color-text-inverse)}.store-chip:disabled{cursor:not-allowed;opacity:.4}.store-chip-badge{background:hsla(0,0%,100%,.2);border-radius:999px;font-size:10px;padding:1px 6px}.support-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.support-card{background:#fff;background:var(--color-surface);border:1px solid #e5e7eb;border:1px solid var(--color-border);border-radius:16px;border-radius:var(--radius-lg);padding:24px;text-decoration:none;transition:box-shadow .15s,border-color .15s}.support-card,.support-card:hover{color:#1b1b1b;color:var(--color-text)}.support-card:hover{border-color:#ba626c;border-color:var(--color-primary);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);box-shadow:var(--shadow-md)}.support-card svg:first-child{color:#ba626c;color:var(--color-primary);margin-bottom:12px}.support-card h3{font-size:17px;font-weight:700;margin-bottom:6px}.support-card p{color:#6b7280;color:var(--color-text-muted);font-size:14px;line-height:1.5;margin-bottom:12px}.support-link{color:#ba626c;color:var(--color-primary);font-size:14px;font-weight:600;gap:4px}.recipes-header,.support-link{align-items:center;display:flex}.recipes-header{flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:16px}.recipes-add-group{display:flex;gap:8px}.recipes-search{align-items:center;background:#fff;background:var(--color-surface);border:1px solid #e5e7eb;border:1px solid var(--color-border);border-radius:10px;border-radius:var(--radius-md);color:#6b7280;color:var(--color-text-muted);display:flex;gap:10px;margin-bottom:20px;padding:8px 14px}.recipes-search input{background:transparent;border:none;flex:1 1;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);font-size:15px;outline:none}.recipes-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.recipe-list-card{background:#fff;background:var(--color-surface);border:1px solid #e5e7eb;border:1px solid var(--color-border);border-radius:16px;border-radius:var(--radius-lg);cursor:pointer;display:flex;gap:14px;padding:14px;transition:box-shadow .15s}.recipe-list-card:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);box-shadow:var(--shadow-md)}.recipe-list-image{align-items:center;background:#f5efe5;background:var(--color-bg-alt);border-radius:10px;border-radius:var(--radius-md);color:#6b7280;color:var(--color-text-muted);display:flex;flex-shrink:0;height:60px;justify-content:center;width:60px}.recipe-list-body h4{font-size:15px;font-weight:700}.recipe-list-body p{font-size:13px}.recipe-list-body p,.recipe-source-badge{color:#6b7280;color:var(--color-text-muted)}.recipe-source-badge{font-size:11px}.recipe-add-panel{background:#fff;background:var(--color-surface);border:1px solid #ba626c;border:1px solid var(--color-primary);border-radius:24px;border-radius:var(--radius-xl);margin-bottom:24px;overflow:hidden}.recipe-add-panel-header{align-items:center;background:rgba(45,106,79,.04);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:16px 20px}.recipe-add-panel-header h3{align-items:center;display:flex;font-size:16px;gap:8px}.recipe-add-close{background:none;border:none;color:#6b7280;color:var(--color-text-muted);cursor:pointer;padding:4px}.recipe-add-panel-body{padding:20px}.recipe-add-desc{font-size:14px;margin-bottom:16px}.recipe-add-desc,.recipe-upload-zone{color:#6b7280;color:var(--color-text-muted)}.recipe-upload-zone{align-items:center;border:2px dashed #e5e7eb;border:2px dashed var(--color-border);border-radius:16px;border-radius:var(--radius-lg);cursor:pointer;display:flex;flex-direction:column;gap:10px;padding:40px;text-align:center;transition:border-color .15s}.recipe-upload-zone:hover{border-color:#ba626c;border-color:var(--color-primary)}.auth-page{margin:80px auto;max-width:440px;padding:0 24px}.auth-card{background:var(--color-surface);border-radius:24px;border-radius:var(--radius-xl);box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);box-shadow:var(--shadow-lg);padding:40px}.auth-card h2{font-size:24px;font-weight:800;margin-bottom:24px;text-align:center}.form-group{margin-bottom:18px}.form-label{display:block;font-size:14px;font-weight:600;margin-bottom:6px}.form-input{border:1px solid #e5e7eb;border:1px solid var(--color-border);border-radius:10px;border-radius:var(--radius-md);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);font-size:15px;padding:10px 14px;transition:border-color .2s;width:100%}.form-input:focus{border-color:#ba626c;border-color:var(--color-primary);outline:none}.form-error{color:#ba626c;color:var(--color-error);font-size:13px;margin-top:6px}.auth-switch{color:var(--color-text-muted);font-size:14px;margin-top:20px}.auth-switch a{font-weight:600}.form-select{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%236B7280' d='M6 8 1 3h10z'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;cursor:pointer;padding-right:36px}.form-textarea{line-height:1.5;min-height:120px;resize:vertical}.contact-page{margin:0 auto;max-width:1060px;padding:60px 24px 80px}.contact-header{margin-bottom:48px;text-align:center}.contact-header h1{color:#1b1b1b;color:var(--color-text);font-size:40px;font-weight:800;letter-spacing:-.02em}.contact-header p{color:#6b7280;color:var(--color-text-muted);font-size:18px;margin-left:auto;margin-right:auto;margin-top:12px;max-width:480px}.contact-grid{grid-gap:40px;align-items:start;display:grid;gap:40px;grid-template-columns:1fr 340px}.contact-form-card{background:#fff;background:var(--color-surface);border:1px solid #e5e7eb;border:1px solid var(--color-border);border-radius:24px;border-radius:var(--radius-xl);box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);box-shadow:var(--shadow-lg);padding:40px}.contact-form{display:flex;flex-direction:column;gap:0}.contact-form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.contact-success{color:#8eb66b;color:var(--color-success);padding:40px 20px;text-align:center}.contact-success h3{color:#1b1b1b;color:var(--color-text);font-size:22px;font-weight:700;margin-top:16px}.contact-success p{color:#6b7280;color:var(--color-text-muted);font-size:15px;margin:8px 0 24px}.contact-error{align-items:center;background:rgba(220,38,38,.06);border:1px solid rgba(220,38,38,.2);border-radius:10px;border-radius:var(--radius-md);color:#ba626c;color:var(--color-error);display:flex;font-size:14px;gap:8px;margin-bottom:16px;padding:10px 14px}.contact-sidebar{display:flex;flex-direction:column;gap:20px}.contact-info-card{align-items:flex-start;background:#fff;background:var(--color-surface);border:1px solid #e5e7eb;border:1px solid var(--color-border);border-radius:16px;border-radius:var(--radius-lg);display:flex;gap:16px;padding:20px}.contact-info-icon{align-items:center;background:#f5efe5;background:var(--color-bg-alt);border-radius:10px;border-radius:var(--radius-md);color:#ba626c;color:var(--color-primary);display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.contact-info-card h4{color:#1b1b1b;color:var(--color-text);font-size:15px;font-weight:700;margin-bottom:4px}.contact-info-card p{color:#6b7280;color:var(--color-text-muted);font-size:14px;line-height:1.5}.contact-info-card a{color:#ba626c;color:var(--color-primary);font-size:14px;font-weight:600}.contact-quick-links{background:#fff;background:var(--color-surface);border:1px solid #e5e7eb;border:1px solid var(--color-border);border-radius:16px;border-radius:var(--radius-lg);padding:20px}.contact-quick-links h4{color:#6b7280;color:var(--color-text-muted);font-size:14px;font-weight:700;letter-spacing:.04em;margin-bottom:12px;text-transform:uppercase}.contact-quick-link{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-border);color:#1b1b1b;color:var(--color-text);display:flex;font-size:14px;font-weight:500;gap:10px;padding:10px 0;text-decoration:none;transition:color .15s}.contact-quick-link:last-child{border-bottom:none}.contact-quick-link:hover{color:#ba626c;color:var(--color-primary)}.contact-quick-link svg:first-child{color:#6b7280;color:var(--color-text-muted);flex-shrink:0}.contact-quick-link span{flex:1 1}.contact-quick-link svg:last-child{color:#e5e7eb;color:var(--color-border)}.contact-quick-link:hover svg:last-child{color:#ba626c;color:var(--color-primary)}.contact-company{padding-top:8px;text-align:center}.contact-company p{color:#6b7280;color:var(--color-text-muted);font-size:13px;line-height:1.6}.faq-page{margin:0 auto;max-width:800px;padding:60px 24px 80px}.faq-header{margin-bottom:48px;text-align:center}.faq-header h1{color:#1b1b1b;color:var(--color-text);font-size:40px;font-weight:800;letter-spacing:-.02em}.faq-header p{color:#6b7280;color:var(--color-text-muted);font-size:18px;margin-left:auto;margin-right:auto;margin-top:12px;max-width:520px}.faq-header a{color:#ba626c;color:var(--color-primary);font-weight:600}.faq-header a:hover{color:#9a4a53;color:var(--color-primary-dark)}.faq-sections{display:flex;flex-direction:column;gap:40px}.faq-section-header{align-items:center;color:#ba626c;color:var(--color-primary);display:flex;gap:12px;margin-bottom:16px}.faq-section-header h2{color:#1b1b1b;color:var(--color-text);font-size:22px;font-weight:700}.faq-accordion{background:#fff;background:var(--color-surface);border:1px solid #e5e7eb;border:1px solid var(--color-border);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:var(--shadow-sm);overflow:hidden}.faq-accordion-item{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-border)}.faq-accordion-item:last-child{border-bottom:none}.faq-accordion-trigger{align-items:center;background:none;border:none;cursor:pointer;display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);gap:16px;justify-content:space-between;padding:18px 24px;text-align:left;transition:background .15s;width:100%}.faq-accordion-trigger:hover{background:#f5efe5;background:var(--color-bg-alt)}.faq-accordion-question{color:#1b1b1b;color:var(--color-text);font-size:15px;font-weight:600;line-height:1.4}.faq-accordion-chevron{color:#6b7280;color:var(--color-text-muted);flex-shrink:0;transition:transform .25s ease}.faq-accordion-item.open .faq-accordion-chevron{transform:rotate(180deg)}.faq-accordion-content{max-height:0;overflow:hidden;transition:max-height .3s ease}.faq-accordion-item.open .faq-accordion-content{max-height:400px}.faq-accordion-answer{padding:0 24px 20px}.faq-accordion-answer p{color:#6b7280;color:var(--color-text-muted);font-size:15px;line-height:1.7}.faq-cta{background:#fff;background:var(--color-surface);border:1px solid #e5e7eb;border:1px solid var(--color-border);border-radius:24px;border-radius:var(--radius-xl);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);box-shadow:var(--shadow-md);margin-top:64px;padding:40px;text-align:center}.faq-cta h3{color:#1b1b1b;color:var(--color-text);font-size:22px;font-weight:700;margin-bottom:8px}.faq-cta p{color:#6b7280;color:var(--color-text-muted);font-size:15px;margin-bottom:24px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.spinning{animation:spin 1s linear infinite}.grocery-store-link{align-items:center;background:var(--clr-surface-2);border:1px solid var(--clr-border);border-radius:var(--radius-full);color:var(--clr-accent);display:inline-flex;font-family:var(--font-display);font-size:.68rem;font-weight:600;gap:3px;padding:3px 8px;text-decoration:none;transition:all .2s;white-space:nowrap}.grocery-store-link:hover{background:var(--clr-accent);border-color:var(--clr-accent);color:#fff}@media (max-width:768px){.faq-header h1{font-size:30px}.faq-accordion-trigger{padding:16px 18px}.faq-accordion-answer{padding:0 18px 16px}.faq-cta{padding:28px 20px}.hero{grid-template-columns:1fr;padding:40px 20px}.hero-title{font-size:36px}.hero-visual{display:none}.features-grid,.steps-grid{grid-template-columns:1fr}.nav-cta,.nav-link,.topbar-right{display:none}.contact-form-row,.contact-grid{grid-template-columns:1fr}.contact-form-card{padding:24px}.contact-header h1{font-size:30px}.topbar-brand,.topbar-user-name{display:none}.app-content{padding:16px}.dashboard-tab span{display:none}.dashboard-tab{padding:12px 14px}.tab-header{flex-direction:column}.tab-header-action{width:100%}.meal-voting-grid,.support-grid{grid-template-columns:1fr}.invite-row,.recipes-header{flex-direction:column}.recipes-header{align-items:stretch}.recipes-add-group{justify-content:stretch}.recipes-add-group .btn{flex:1 1}}@media (max-width:1024px){.features-grid{grid-template-columns:repeat(2,1fr)}}.auth-page{align-items:center;display:flex;justify-content:center;min-height:80vh;padding:2rem}.auth-card{background:#fff;background:var(--color-surface,#fff);border-radius:12px;box-shadow:0 4px 24px rgba(0,0,0,.08);max-width:440px;padding:2.5rem;width:100%}.auth-field{margin-bottom:1rem}.auth-field label{display:block;font-size:.875rem;font-weight:600;margin-bottom:.375rem}.auth-field input,.auth-field label{color:#1b1b1b;color:var(--color-text,#1f2937)}.auth-field input{background:#fff;background:var(--color-surface,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-border,#d1d5db);border-radius:8px;box-sizing:border-box;font-size:.95rem;outline:none;padding:.625rem .875rem;transition:border-color .15s;width:100%}.auth-field input:focus{border-color:#ba626c;border-color:var(--color-primary,#2d6a4f);box-shadow:0 0 0 3px rgba(45,106,79,.1)}.auth-field input:disabled{cursor:not-allowed;opacity:.6}.auth-hint{color:#6b7280;color:var(--color-text-muted,#6b7280);display:block;font-size:.8rem;line-height:1.4;margin-top:.25rem}.auth-message{border-radius:8px;font-size:.875rem;line-height:1.4;margin-bottom:1rem;padding:.75rem 1rem}.auth-message--error{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626}.auth-message--success{background-color:#f0fdf4;border:1px solid #bbf7d0;color:#059669}.auth-submit{font-size:1rem;font-weight:600;margin-top:.5rem;padding:.75rem;width:100%}.auth-switch{color:#6b7280;color:var(--color-text-muted,#6b7280);font-size:.9rem;margin-top:1.25rem;text-align:center}.auth-switch-link{background:none;border:none;color:#ba626c;color:var(--color-primary,#2d6a4f);cursor:pointer;font-size:inherit;font-weight:600;padding:0;text-decoration:underline;text-underline-offset:2px}.auth-switch-link:hover{color:#9a4a53;color:var(--color-primary-dark,#1b4332)}.grocery-sub-tabs{background:#fff;background:var(--color-surface,#f9f5f0);border:1px solid #e5e7eb;border:1px solid var(--color-border,#e5e0d8);border-radius:16px;border-radius:var(--radius-lg,12px);display:flex;gap:4px;margin-bottom:24px;margin-bottom:var(--space-lg,24px);padding:4px}.grocery-sub-tab{align-items:center;background:transparent;border:none;border-radius:10px;border-radius:var(--radius-md,8px);color:#6b7280;color:var(--color-text-muted,#6b7280);cursor:pointer;display:flex;flex:1 1;font-family:Inter,sans-serif;font-family:var(--font-display,"Inter",sans-serif);font-size:.9rem;font-weight:600;gap:6px;justify-content:center;padding:10px 16px;transition:all .2s;white-space:nowrap}.grocery-sub-tab.active,.grocery-sub-tab:hover{color:#1b1b1b;color:var(--color-text,#1a1a1a)}.grocery-sub-tab.active{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.08)}.grocery-sub-tab.store-tab.active{background:#ba626c;background:var(--color-primary,#2d6a4f);color:#fff}.grocery-meals-card{background:#fff;background:var(--color-surface,#f9f5f0);border:1px solid #e5e7eb;border:1px solid var(--color-border,#e5e0d8);border-radius:16px;border-radius:var(--radius-lg,12px);margin-bottom:24px;margin-bottom:var(--space-lg,24px);padding:24px;padding:var(--space-lg,24px)}.grocery-meals-card h4{color:#6b7280;color:var(--color-text-muted,#6b7280);font-family:Inter,sans-serif;font-family:var(--font-display,"Inter",sans-serif);font-size:.9rem;font-weight:600;margin-bottom:8px;margin-bottom:var(--space-sm,8px)}.grocery-meal-chips{display:flex;flex-wrap:wrap;gap:6px}.grocery-meal-chip{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--color-border,#e5e0d8);border-radius:999px;color:#1b1b1b;color:var(--color-text,#1a1a1a);font-family:Inter,sans-serif;font-family:var(--font-display,"Inter",sans-serif);font-size:.78rem;font-weight:500;padding:4px 10px}.grocery-action-bar{align-items:center;background:#fff;background:var(--color-surface,#f9f5f0);border:1px solid #e5e7eb;border:1px solid var(--color-border,#e5e0d8);border-radius:16px;border-radius:var(--radius-lg,12px);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:24px;margin-bottom:var(--space-lg,24px);padding:16px}.grocery-action-info{color:#6b7280;color:var(--color-text-muted,#6b7280);font-size:.9rem}.grocery-action-buttons{display:flex;flex-wrap:wrap;gap:8px}.btn-sm{align-items:center;display:inline-flex;font-size:.82rem;gap:4px;padding:6px 12px}.grocery-aisle-group{margin-bottom:16px;margin-bottom:var(--space-md,16px)}.grocery-aisle-header{align-items:center;border-bottom:2px solid #ba626c;border-bottom:2px solid var(--color-primary,#2d6a4f);display:flex;gap:8px;margin-bottom:4px;padding:8px 0}.grocery-aisle-header.pantry{border-bottom-color:#dfa159;border-bottom-color:var(--color-warning,#d4a017)}.grocery-aisle-header.store{border-bottom-color:#ba626c;border-bottom-color:var(--color-primary,#2d6a4f)}.grocery-aisle-emoji{font-size:1.1rem}.grocery-aisle-name{color:#1b1b1b;color:var(--color-text,#1a1a1a);flex:1 1;font-size:.88rem;font-weight:700}.grocery-aisle-count,.grocery-aisle-name{font-family:Inter,sans-serif;font-family:var(--font-display,"Inter",sans-serif)}.grocery-aisle-count{background:#fff;background:var(--color-surface,#f9f5f0);border:1px solid #e5e7eb;border:1px solid var(--color-border,#e5e0d8);border-radius:999px;color:#6b7280;color:var(--color-text-muted,#6b7280);font-size:.75rem;font-weight:600;padding:2px 8px}.grocery-item-row{align-items:center;border-bottom:1px solid rgba(0,0,0,.04);border-radius:6px;border-radius:var(--radius-sm,6px);cursor:pointer;display:flex;gap:10px;padding:10px 8px;transition:all .15s}.grocery-item-row:hover{background:rgba(0,0,0,.02)}.grocery-item-row.checked{opacity:.5}.grocery-item-row.checked .grocery-item-name{text-decoration:line-through}.grocery-check{align-items:center;border:2px solid #e5e7eb;border:2px solid var(--color-border,#e5e0d8);border-radius:4px;color:#fff;display:flex;flex-shrink:0;font-size:12px;font-weight:700;height:20px;justify-content:center;transition:all .15s;width:20px}.grocery-check.checked{background:#ba626c;background:var(--color-primary,#2d6a4f);border-color:#ba626c;border-color:var(--color-primary,#2d6a4f)}.grocery-item-detail{align-items:baseline;display:flex;flex:1 1;flex-wrap:wrap;gap:6px;min-width:0}.grocery-item-name{color:#1b1b1b;color:var(--color-text,#1a1a1a);font-family:Inter,sans-serif;font-family:var(--font-display,"Inter",sans-serif);font-size:.92rem;font-weight:600}.grocery-item-qty{color:#ba626c;color:var(--color-primary,#2d6a4f);font-size:.82rem;font-weight:500}.grocery-item-recipe{background:#fff;background:var(--color-surface,#f9f5f0);border:1px solid #e5e7eb;border:1px solid var(--color-border,#e5e0d8);border-radius:999px;color:#6b7280;color:var(--color-text-muted,#6b7280);flex-shrink:0;font-family:Inter,sans-serif;font-family:var(--font-display,"Inter",sans-serif);font-size:.72rem;font-weight:500;max-width:160px;overflow:hidden;padding:2px 8px;text-overflow:ellipsis;white-space:nowrap}.grocery-pantry-section{background:rgba(212,160,23,.06);border:1px solid rgba(212,160,23,.3);border-radius:16px;border-radius:var(--radius-lg,12px);margin-top:24px;margin-top:var(--space-lg,24px);padding:24px;padding:var(--space-lg,24px)}.grocery-section-title{align-items:center;display:flex;font-family:Inter,sans-serif;font-family:var(--font-display,"Inter",sans-serif);font-size:1.3rem;font-weight:800;gap:8px;letter-spacing:-.02em;margin-bottom:8px;margin-bottom:var(--space-sm,8px)}.grocery-section-subtitle{color:#6b7280;color:var(--color-text-muted,#6b7280);font-size:.9rem}.grocery-section-subtitle,.store-banner{margin-bottom:24px;margin-bottom:var(--space-lg,24px)}.store-banner{background:linear-gradient(135deg,#ba626c,#9a4a53);background:linear-gradient(135deg,var(--color-primary,#2d6a4f) 0,var(--color-primary-dark,#1b4332) 100%);border-radius:16px;border-radius:var(--radius-lg,12px);color:#fff;padding:24px;padding:var(--space-lg,24px)}.store-banner-text{display:flex;flex-direction:column;gap:4px}.store-banner-text strong{font-family:Inter,sans-serif;font-family:var(--font-display,"Inter",sans-serif);font-size:1.05rem}.store-banner-text span{font-size:.88rem;opacity:.9}.store-item-row{align-items:center;border-bottom:1px solid rgba(0,0,0,.04);border-radius:6px;border-radius:var(--radius-sm,6px);color:#1b1b1b;color:var(--color-text,#1a1a1a);cursor:pointer;display:flex;gap:12px;justify-content:space-between;padding:10px 8px;text-decoration:none;transition:all .15s}.store-item-row:hover{background:rgba(45,106,79,.04);padding-left:12px}.store-item-row.pantry{opacity:.85}.store-item-row.pantry:hover{opacity:1}.store-item-info{align-items:baseline;display:flex;flex:1 1;flex-wrap:wrap;gap:8px;min-width:0}.store-item-name{color:#1b1b1b;color:var(--color-text,#1a1a1a);font-family:Inter,sans-serif;font-family:var(--font-display,"Inter",sans-serif);font-size:.92rem;font-weight:600}.store-item-row:hover .store-item-name{color:#ba626c;color:var(--color-primary,#2d6a4f)}.store-item-action{flex-shrink:0}.store-search-badge{align-items:center;background:rgba(45,106,79,.08);border:1px solid rgba(45,106,79,.2);border-radius:999px;color:#ba626c;color:var(--color-primary,#2d6a4f);display:inline-flex;font-family:Inter,sans-serif;font-family:var(--font-display,"Inter",sans-serif);font-size:.72rem;font-weight:600;gap:4px;padding:4px 10px;transition:all .2s;white-space:nowrap}.store-item-row:hover .store-search-badge{background:#ba626c;background:var(--color-primary,#2d6a4f);border-color:#ba626c;border-color:var(--color-primary,#2d6a4f);color:#fff}.grocery-loading{color:#6b7280;color:var(--color-text-muted,#6b7280)}.grocery-empty,.grocery-loading{align-items:center;display:flex;flex-direction:column;gap:12px;padding:48px 0}.grocery-empty{text-align:center}.grocery-empty h3{font-size:1.1rem;font-weight:700}.grocery-empty p{color:#6b7280;color:var(--color-text-muted,#6b7280);max-width:360px}@media (max-width:640px){.grocery-action-bar,.grocery-sub-tabs{flex-direction:column}.grocery-action-bar{align-items:stretch}.grocery-action-buttons{justify-content:stretch}.grocery-action-buttons .btn-sm{flex:1 1;justify-content:center}.grocery-item-recipe{max-width:120px}}.nav-hamburger{align-items:center;background:none;border:none;border-radius:10px;border-radius:var(--radius-md);color:#1b1b1b;color:var(--color-text);cursor:pointer;display:none;height:40px;justify-content:center;transition:background .15s;width:40px}.nav-hamburger:hover{background:#f5efe5;background:var(--color-bg-alt)}@media (max-width:768px){.nav-hamburger{display:flex}}.drawer-backdrop{background:transparent;inset:0;pointer-events:none;position:fixed;transition:background .3s ease;z-index:300}.drawer-backdrop--open{background:rgba(0,0,0,.4);pointer-events:auto}.drawer-panel{background:#fff;background:var(--color-surface);bottom:0;box-shadow:-4px 0 24px rgba(0,0,0,.12);max-width:85vw;overflow-y:auto;position:fixed;right:0;top:0;transform:translateX(100%);transition:transform .3s ease;width:280px;z-index:301}.drawer-panel--open{transform:translateX(0)}.drawer-header{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-border);justify-content:space-between;padding:16px 20px}.drawer-header,.drawer-user{align-items:center;display:flex}.drawer-user{gap:10px}.drawer-user-name{font-size:15px;font-weight:600}.drawer-title,.drawer-user-name{color:#1b1b1b;color:var(--color-text)}.drawer-title{font-size:16px;font-weight:700}.drawer-close{align-items:center;background:none;border:none;border-radius:10px;border-radius:var(--radius-md);color:#6b7280;color:var(--color-text-muted);cursor:pointer;display:flex;height:36px;justify-content:center;transition:background .15s;width:36px}.drawer-close:hover{background:#f5efe5;background:var(--color-bg-alt);color:#1b1b1b;color:var(--color-text)}.drawer-nav{padding:8px 0}.drawer-link{color:#1b1b1b;color:var(--color-text);display:block;font-size:15px;font-weight:500;padding:14px 20px;text-decoration:none;transition:background .15s}.drawer-link:hover{background:#f5efe5;background:var(--color-bg-alt)}.drawer-link--accent{color:#ba626c;color:var(--color-primary);font-weight:600}.drawer-link-btn{align-items:center;background:none;border:none;color:#1b1b1b;color:var(--color-text);cursor:pointer;display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);font-size:14px;font-weight:500;gap:12px;padding:12px 20px;text-align:left;transition:background .15s;width:100%}.drawer-link-btn:hover{background:#f5efe5;background:var(--color-bg-alt)}.drawer-link-btn svg{color:#6b7280;color:var(--color-text-muted)}.drawer-link-btn--danger,.drawer-link-btn--danger svg{color:#ba626c;color:var(--color-error)}.drawer-divider{background:#e5e7eb;background:var(--color-border);height:1px;margin:4px 16px}.drawer-actions{display:flex;flex-direction:column;gap:10px;padding:16px 20px}
/*# sourceMappingURL=main.62affa2f.css.map*/