body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.meal-plan-container{margin:0 auto;max-width:1200px;padding:20px}.generate-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:60px 20px;text-align:center}.generate-btn{margin-top:20px;padding:14px 32px}.meal-plan{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:20px}.meal-actions{border-top:1px solid #f0f0f0;display:flex;gap:8px;margin-top:10px;padding-top:10px}.thumb-btn{background:#f5f5f5;border:1px solid #ddd;border-radius:20px;cursor:pointer;font-size:16px;padding:6px 12px;transition:all .2s}.thumb-btn:hover{background:#e0e0e0;transform:scale(1.1)}.thumb-btn.active{background:#4caf50;border-color:#4caf50}.thumb-btn.active:nth-of-type(2){background:#f44336;border-color:#f44336}.cooked-btn{background:#ff9800;border:none;border-radius:20px;color:#fff;cursor:pointer;font-size:14px;padding:6px 12px;transition:all .2s}.cooked-btn:hover{background:#f57c00;transform:scale(1.05)}.plan-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.accept-btn{background:#2196f3;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px}.accept-btn:hover:not(:disabled){background:#1976d2}.days-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:30px}.day-card{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;padding:15px}.day-card h4{color:#333;font-size:18px;margin-bottom:15px;padding:8px;text-align:center}.day-card h4,.meal-item{background:#fff;border-radius:6px}.meal-item{margin-bottom:10px;padding:12px}.meal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.meal-type{color:#666;font-size:12px;font-weight:600;text-transform:uppercase}.replace-btn{background:#ff9800;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:4px 12px}.replace-btn:hover:not(:disabled){background:#f57c00}.replace-btn:disabled{background:#ccc;cursor:not-allowed}.meal-name{color:#333;font-weight:500;margin-bottom:4px}.meal-cost{color:#4caf50;font-size:14px;font-weight:500}.snack-section{background:#fff3e0;border-radius:6px;margin-top:12px;padding:12px}.snack-header{color:#f57c00;font-size:14px;font-weight:600;margin-bottom:8px;text-transform:uppercase}.snack-list{display:flex;flex-direction:column;gap:4px}.snack-item{color:#666;font-size:13px;margin:0;padding-left:8px}.meal-nutrition{border-top:1px solid #f0f0f0;display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;padding-top:8px}.daily-nutrition-totals{border-top:1px solid #e0e0e0;margin-top:15px;padding-top:15px}.daily-nutrition-totals h5{color:#4caf50;font-size:14px;margin-bottom:8px}.nutrition-summary{color:#555;display:flex;flex-direction:column;font-size:12px;gap:5px}.nutrition-summary span{display:flex;justify-content:space-between}.shopping-list-preview{background:#e8f5e9;border-radius:8px;margin-bottom:20px;padding:20px;text-align:center}.shopping-list-preview h3{color:#2e7d32;margin-bottom:10px}.walmart-section{border-top:1px solid #4caf504d;margin-top:20px;padding-top:20px}.walmart-cart-btn{font-size:16px;padding:12px 24px}.plan-actions{display:flex;gap:15px;margin-top:20px}.delete-plan-btn,.new-plan-btn{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:16px;font-weight:500;padding:12px;transition:background .3s}.new-plan-btn{background:#2196f3;color:#fff}.new-plan-btn:hover{background:#1976d2}.delete-plan-btn{background:#f44336;color:#fff}.delete-plan-btn:hover{background:#d32f2f}.pantry-container{box-sizing:border-box;margin:0 auto;padding:10px;width:100%}.pantry-actions{display:flex;gap:15px;margin-bottom:20px}.add-btn,.barcode-btn,.camera-btn,.photo-btn{border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:500;padding:12px 24px;transition:transform .2s}.camera-btn{background:#2196f3;color:#fff}.barcode-btn{background:#ff9800;color:#fff}.add-btn{background:#4caf50;color:#fff}.photo-btn{background:#9c27b0;color:#fff}.photo-btn:disabled{cursor:not-allowed;opacity:.6}.add-btn:hover,.barcode-btn:hover,.camera-btn:hover,.photo-btn:hover:not(:disabled){transform:translateY(-2px)}.add-form{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px;padding:20px}.add-form input,.add-form select{border:1px solid #ddd;border-radius:6px;flex:1 1;font-size:14px;min-width:150px;padding:10px}.add-form button{background:#4caf50;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:10px 20px}.camera-modal{background:#000;bottom:0;display:flex;flex-direction:column;left:0;position:fixed;right:0;top:0;z-index:9999}.camera-container{background:#000;display:flex;flex:1 1;flex-direction:column;height:100%;position:relative;width:100%}.camera-header{background:#000c;left:0;padding:15px;position:absolute;right:0;text-align:center;top:0;z-index:10}.camera-header h3{color:#fff;font-size:20px;margin:0 0 5px}.camera-header p{color:#ccc;font-size:14px;margin:0}.camera-video{background:#000;height:100%;object-fit:cover;width:100%}.barcode-container{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;overflow:auto;padding:20px}.barcode-scanner{background:#fff;border-radius:12px;max-width:600px;padding:20px;width:100%}#barcode-reader__camera_permission_button{background:#2196f3!important;border:none!important;border-radius:8px!important;cursor:pointer!important;font-weight:600!important;padding:14px 28px!important}#barcode-reader__camera_permission_button,#barcode-reader__dashboard_section_csr span{color:#fff!important;font-size:16px!important}#barcode-reader__dashboard_section_csr select{background:#fff!important;border:1px solid #ddd!important;border-radius:6px!important;font-size:14px!important;margin:10px 0!important;padding:10px!important}#barcode-reader__dashboard_section{padding:20px!important}#barcode-reader__dashboard_section_swaplink{background:#4caf50!important;border-radius:6px!important;color:#fff!important;display:inline-block!important;margin:10px 0!important;padding:10px 20px!important;text-decoration:none!important}#barcode-reader video{border-radius:8px!important}#barcode-reader__scan_region video{height:auto!important;width:100%!important}#barcode-reader__header_message{color:#333!important;font-size:16px!important;padding:10px!important}#barcode-reader__status_span{color:#666!important;font-size:14px!important}#barcode-reader__filescan_input_section{background:#f5f5f5!important;border-radius:8px!important;margin:10px 0!important;padding:20px!important}#barcode-reader__filescan_input_section input[type=file]{font-size:14px!important;padding:10px!important}#barcode-reader *,#barcode-reader button{font-size:16px!important}#barcode-reader button{font-weight:600!important;min-height:48px!important;padding:12px 24px!important}#barcode-reader__camera_permission{background:#fff!important;border-radius:12px!important;padding:20px!important}#barcode-reader__camera_permission_text{color:#333!important;font-size:18px!important;line-height:1.5!important;margin-bottom:20px!important}#barcode-reader__torch_button{background:#ff9800!important;border-radius:6px!important;color:#fff!important;margin:10px!important;padding:10px 20px!important}#barcode-reader__zoom_slider{margin:20px 0!important;width:100%!important}#barcode-reader__filescan_input_section label{color:#333!important;font-size:16px!important;font-weight:500!important}#barcode-reader__stop_scan{background:#f44336!important;border-radius:8px!important;color:#fff!important;font-size:16px!important;margin:10px!important;padding:12px 24px!important}@media (max-width:768px){#barcode-reader__dashboard_section_csr,#barcode-reader__scan_region{width:100%!important}.barcode-scanner{padding:10px!important}}.scan-result{background:#e8f5e9;border-radius:8px;margin:15px 0;padding:15px;text-align:center}.scan-result p{color:#2e7d32;font-weight:500;margin:0}.camera-controls{background:#000c;bottom:0;display:flex;flex-wrap:wrap;gap:15px;justify-content:center;left:0;padding:20px;position:absolute;right:0;z-index:10}.camera-controls button{border:none;border-radius:25px;cursor:pointer;font-size:16px;font-weight:600;padding:14px 28px;transition:all .3s}.cancel-btn{background:#f44336e6;color:#fff}.capture-btn{background:#2196f3e6;color:#fff;font-size:18px;padding:16px 40px}.process-btn{background:#4caf50e6;color:#fff}.camera-controls button:active{transform:scale(.95)}.captured-preview{background:#000000b3;border-radius:8px;padding:10px;position:absolute;right:10px;top:80px;z-index:10}.captured-preview p{color:#fff;font-size:12px;font-weight:500;margin:0 0 8px}.preview-grid{display:flex;flex-direction:column;gap:5px}.preview-grid img{border:2px solid #4caf50cc;border-radius:4px;height:60px;object-fit:cover;width:60px}@media (max-width:768px){.camera-container{max-width:100%;padding:15px}.camera-video{max-height:40vh}.camera-controls{flex-direction:column}.camera-controls button{width:100%}}.processing-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.processing-message{background:#fff;border-radius:12px;padding:40px;text-align:center}.spinner{animation:spin 1s linear infinite;border:5px solid #f3f3f3;border-radius:50%;border-top-color:#4caf50;height:50px;margin:0 auto 20px;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.pantry-items{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;box-sizing:border-box;padding:10px;width:100%}.pantry-items h3{color:#333;margin-bottom:20px}.category-section{margin-bottom:25px}.category-section h4{border-bottom:2px solid #f0f0f0;color:#666;margin-bottom:15px;padding-bottom:8px}.items-grid{display:flex;flex-direction:column;gap:12px}.pantry-item{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;justify-content:space-between;padding:15px;transition:box-shadow .2s}.pantry-item:hover{box-shadow:0 2px 6px #00000026}.item-info{flex:1 1;min-width:0}.item-name{color:#2c3e50;font-size:16px;font-weight:600;margin-bottom:4px}.item-details,.item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-details{color:#7f8c8d;font-size:14px}.item-actions{flex-shrink:0;gap:8px}.item-actions,.qty-btn{align-items:center;display:flex}.qty-btn{background:#ecf0f1;border:none;border-radius:50%;color:#2c3e50;cursor:pointer;font-size:18px;font-weight:600;height:32px;justify-content:center;transition:background .2s;width:32px}.qty-btn:hover{background:#d5dbde}.qty-btn:active{transform:scale(.95)}.remove-btn{align-items:center;background:#e74c3c;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:20px;height:32px;justify-content:center;line-height:1;margin-left:8px;transition:background .2s;width:32px}.remove-btn:hover{background:#c0392b}.remove-btn:active{transform:scale(.95)}.empty-message{padding:40px}@media (max-width:768px){.pantry-container{padding:8px}.pantry-items{border-radius:8px;padding:8px}.pantry-item{margin-bottom:8px;padding:12px!important}.item-name{font-size:15px!important}.item-details{font-size:13px!important}.qty-btn,.remove-btn{font-size:16px!important;height:30px!important;width:30px!important}.pantry-actions{flex-direction:column;gap:10px}.add-btn,.barcode-btn,.camera-btn,.photo-btn{padding:14px;width:100%}.category-section h4{font-size:16px;margin-bottom:10px}}.shopping-list-container{margin:0 auto;max-width:800px;padding:20px}.list-header{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px;padding:20px}.budget-info{display:flex;font-size:18px;font-weight:500;justify-content:space-between}.budget-info span:first-child{color:#4caf50}.shopping-sections{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:20px}.category-section{margin-bottom:30px}.category-section h3{border-bottom:2px solid #f0f0f0;color:#333;margin-bottom:15px;padding-bottom:10px}.items-list{display:flex;flex-direction:column;gap:8px}.shopping-item{align-items:center;background:#f9f9f9;border-radius:6px;cursor:pointer;display:flex;padding:12px;transition:background .2s}.shopping-item:hover{background:#f0f0f0}.shopping-item.checked{opacity:.6}.shopping-item.checked .item-name{text-decoration:line-through}.shopping-item input[type=checkbox]{cursor:pointer;height:20px;margin-right:12px;width:20px}.item-details{align-items:center;display:flex;flex:1 1;justify-content:space-between}.item-name{color:#333;font-weight:500}.item-price{color:#4caf50;font-size:14px;font-weight:500}.tips-section{background:#e8f5e9;border-radius:8px;margin-top:20px;padding:20px}.tips-section h3{color:#2e7d32;margin-bottom:15px}.tips-section ul{list-style:none;padding:0}.tips-section li{padding:8px 0 8px 25px;position:relative}.tips-section li:before{content:"💡";left:0;position:absolute}.walmart-section{background:#f8f9fa;border-radius:8px;margin-top:30px;padding:20px;text-align:center}.walmart-cart-btn{background:#0071dc;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:18px;font-weight:600;padding:15px 40px;transition:all .3s}.walmart-cart-btn:hover:not(:disabled){background:#005a9e;box-shadow:0 4px 12px #0071dc4d;transform:translateY(-2px)}.walmart-cart-btn:disabled{background:#ccc;cursor:not-allowed}.walmart-results{background:#fff;border-radius:6px;font-size:14px;margin-top:15px;padding:10px}.walmart-results p{color:#333;margin:5px 0}.unmatched-warning{color:#ff6b00!important;font-weight:500}.list-header{align-items:center;display:flex;justify-content:space-between}.print-btn:hover{background:#e0e0e0!important}@media print{body *{visibility:hidden}.shopping-list-container,.shopping-list-container *{visibility:visible}.shopping-list-container{left:0;padding:10px;position:absolute;top:0;width:100%}.print-btn,.tips-section,.walmart-notice,.walmart-section{display:none!important}.shopping-sections{box-shadow:none!important;padding:10px!important}.list-header{border-bottom:2px solid #333;box-shadow:none!important;margin-bottom:20px;padding-bottom:10px}.category-section h3{border-bottom:1px solid #333;font-size:16px;font-weight:700;page-break-after:avoid}.shopping-item{border:none!important;padding:5px 0!important;page-break-inside:avoid}.shopping-item,.shopping-item:hover{background:none!important}.shopping-item input[type=checkbox]{print-color-adjust:exact;-webkit-print-color-adjust:exact}.shopping-item a{color:#000!important;text-decoration:none!important}.item-price{color:#000!important;font-weight:700}.category-section{page-break-inside:avoid}@page{margin:.5in}h2{font-size:20px;margin-bottom:10px}}.recipes-container{margin:0 auto;max-width:1200px;padding:20px}.recipes-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.recipe-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:20px;transition:transform .2s,box-shadow .2s}.recipe-card:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-4px)}.recipe-card>div:first-child{cursor:pointer}.recipe-actions{border-top:1px solid #f0f0f0;display:flex;gap:8px;justify-content:center;margin-top:12px;padding-top:12px}.recipe-header{display:flex;justify-content:space-between;margin-bottom:12px}.recipe-day{background:#e3f2fd;color:#1976d2}.recipe-day,.recipe-type{border-radius:4px;font-size:12px;font-weight:500;padding:4px 8px}.recipe-type{background:#fff3e0;color:#f57c00;text-transform:capitalize}.recipe-card h3{color:#333;font-size:18px;margin-bottom:15px}.recipe-meta{justify-content:space-between}.recipe-card-nutrition{border-top:1px solid #f0f0f0;display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px}.nutrition-badge{background:#e8f5e9;border-radius:12px;color:#2e7d32;font-size:12px;font-weight:500;padding:4px 8px}.loading-overlay{background:#000000b3;flex-direction:column;z-index:1000}.loading-overlay,.recipe-modal{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0}.recipe-modal{background:#000c;padding:20px;z-index:2000}.recipe-detail{background:#fff;border-radius:12px;max-height:90vh;max-width:800px;overflow-y:auto;padding:30px;position:relative}.close-btn{align-items:center;background:#f44336;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;height:36px;justify-content:center;position:absolute;right:15px;top:15px;width:36px}.recipe-detail h2{color:#333;margin-bottom:20px;padding-right:40px}.recipe-info{border-bottom:2px solid #f0f0f0;display:flex;gap:20px;margin-bottom:30px;padding-bottom:20px}.recipe-info span{background:#f5f5f5;border-radius:6px;font-weight:500;padding:8px 16px}.recipe-section{margin-bottom:30px}.recipe-section h3{border-bottom:1px solid #e0e0e0;color:#333;margin-bottom:15px;padding-bottom:10px}.recipe-section ul li{padding:8px 0 8px 25px}.recipe-section ul li:before{left:8px}.nutrition-grid{grid-gap:15px;background:#f8f8f8;border-radius:8px;gap:15px;margin-top:15px;padding:15px}.nutrition-item{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:6px;display:flex;justify-content:space-between;padding:8px 12px}.nutrition-label{color:#555;font-size:14px;font-weight:500}.nutrition-value{color:#4caf50;font-size:14px;font-weight:600}.empty-message{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;color:#666;font-size:16px;padding:60px 20px;text-align:center}.youtube-link{display:block;text-decoration:none}.youtube-button{align-items:center;background:#fff;border:2px solid red;border-radius:12px;cursor:pointer;display:flex;gap:15px;padding:15px;transition:all .3s ease}.youtube-button:hover{background:#fff5f5;box-shadow:0 4px 12px #ff000026;transform:translateY(-2px)}.play-icon{align-items:center;background:red;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:16px;height:40px;justify-content:center;width:40px}.youtube-text{flex:1 1;text-align:left}.youtube-title{color:#333;font-size:15px;font-weight:600;margin-bottom:4px}.youtube-subtitle{color:#666;font-size:13px}.quick-meal-container{margin:0 auto;max-width:800px;padding:20px}.quick-meal-container h2{color:#333;margin-bottom:10px}.subtitle{color:#666;font-size:16px;margin-bottom:30px}.pantry-info{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px;padding:20px}.pantry-preview{color:#666;font-size:14px;margin-top:10px}.generate-btn{background:#4caf50;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:18px;font-weight:500;padding:15px;transition:background .3s;width:100%}.generate-btn:hover:not(:disabled){background:#45a049}.generate-btn:disabled{background:#ccc;cursor:not-allowed}.result-container{margin-top:30px}.meal-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:25px}.meal-card h3{color:#4caf50;font-size:24px;margin-bottom:20px}.recipe-section{margin-bottom:25px}.recipe-section h4{border-bottom:1px solid #e0e0e0;color:#333;margin-bottom:15px;padding-bottom:8px}.recipe-section ul{list-style:none;padding:0}.recipe-section ul li{padding:8px 0 8px 20px;position:relative}.recipe-section ul li:before{color:#4caf50;content:"•";font-weight:700;left:0;position:absolute}.recipe-section ol{padding-left:20px}.recipe-section ol li{line-height:1.6;padding:10px 0}.recipe-meta{border-top:1px solid #e0e0e0;color:#666;display:flex;font-size:14px;gap:20px;padding-top:20px}.profile-setup{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.setup-container{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0003;max-width:600px;padding:40px;width:100%}.progress-bar{background:#e0e0e0;border-radius:3px;height:6px;margin-bottom:30px;overflow:hidden}.progress{background:#4caf50;border-radius:3px;height:100%;transition:width .3s ease}.step-indicators{flex-wrap:wrap;gap:10px;margin:20px 0}.step-dot,.step-indicators{display:flex;justify-content:center}.step-dot{align-items:center;background:#fff;border:2px solid #ddd;border-radius:50%;color:#999;cursor:pointer;font-size:14px;font-weight:500;height:35px;transition:all .3s;width:35px}.step-dot:hover{border-color:#4caf50;transform:scale(1.1)}.step-dot.completed{background:#e8f5e9;border-color:#4caf50;color:#4caf50}.step-dot.active{background:#4caf50;border-color:#4caf50;color:#fff;transform:scale(1.1)}.setup-container h2{color:#333;margin-bottom:30px;text-align:center}.setup-step h3{color:#555;margin-bottom:20px}.input-group{display:flex;gap:20px;margin-bottom:20px}.age-selectors{display:flex;flex-wrap:wrap;gap:15px;margin-top:10px}.age-selector{align-items:center;display:flex;gap:10px}.age-selector label{color:#666;font-size:14px}.age-selector select{background:#fff;border:1px solid #ddd;border-radius:8px;cursor:pointer;font-size:16px;padding:8px 12px}.age-selector select:focus{border-color:#4caf50;box-shadow:0 0 0 2px #4caf5033;outline:none}.input-group label{color:#666;display:flex;flex:1 1;flex-direction:column;font-weight:500}.input-group input{border:1px solid #ddd;border-radius:6px;font-size:16px;margin-top:8px;padding:10px}.kid-ages{margin-top:20px}.kid-ages label{color:#666;display:block;font-weight:500;margin-bottom:8px}.kid-ages input{border:1px solid #ddd;border-radius:6px;font-size:16px;padding:10px;width:100%}.budget-input{margin-top:20px}.budget-input>label{color:#666;display:block;font-weight:500;margin-bottom:8px}.budget-input input[type=number]{border:1px solid #ddd;border-radius:6px;font-size:16px;padding:10px;width:100%}.checkbox-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:20px}.checkbox-item{align-items:center;background:#f9f9f9;border-radius:8px;cursor:pointer;display:flex;padding:12px;transition:background .2s}.checkbox-item:hover{background:#f0f0f0}.checkbox-item input{cursor:pointer;height:18px;margin-right:8px;width:18px}.radio-group{margin-bottom:25px}.radio-group>label{color:#666;display:block;font-weight:500;margin-bottom:12px}.radio-item{align-items:center;background:#f9f9f9;border-radius:6px;cursor:pointer;display:flex;margin-bottom:8px;padding:10px;transition:background .2s}.radio-item:hover{background:#f0f0f0}.radio-item input{cursor:pointer;height:18px;margin-right:10px;width:18px}textarea{border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:14px;margin-top:10px;padding:10px;resize:vertical;width:100%}.custom-input,.restrictions-input{margin-top:20px}.custom-input label{color:#555;display:block;font-weight:500;margin-bottom:8px}.custom-input input{border:1px solid #ddd;border-radius:8px;font-size:16px;padding:10px;width:100%}.restrictions-input label{color:#666;display:block;font-weight:500;margin-bottom:8px}.restrictions-input input{border:1px solid #ddd;border-radius:6px;font-size:14px;padding:10px;width:100%}.nutrition-note,.nutrition-toggle{margin-bottom:20px}.nutrition-note{color:#666;font-size:14px;font-style:italic}.nutrition-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:20px}.nutrition-input{display:flex;flex-direction:column}.nutrition-input label{color:#555;font-size:14px;font-weight:500;margin-bottom:5px}.nutrition-input input{border:1px solid #ddd;border-radius:8px;font-size:16px;padding:8px;width:100%}.nutrition-input input:focus{border-color:#4caf50;box-shadow:0 0 0 2px #4caf5033;outline:none}.setup-actions{display:flex;justify-content:space-between;margin-top:30px}.back-btn,.next-btn{border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:500;padding:12px 30px;transition:transform .2s}.back-btn{background:#f0f0f0;color:#666}.next-btn{background:#4caf50;color:#fff}.back-btn:hover,.next-btn:hover{transform:translateY(-2px)}.next-btn:hover{background:#45a049}.budget-toggle{background:#f8f9fa;border-radius:8px;margin-top:20px;padding:15px}.toggle-label{align-items:center;cursor:pointer;display:flex;position:relative}.toggle-label input[type=checkbox]{display:none}.toggle-slider{background:#ddd;border-radius:13px;height:26px;margin-right:12px;position:relative;transition:background .3s;width:50px}.toggle-slider:after{background:#fff;border-radius:50%;content:"";height:20px;left:3px;position:absolute;top:3px;transition:transform .3s;width:20px}.toggle-label input:checked+.toggle-slider{background:#4caf50}.toggle-label input:checked+.toggle-slider:after{transform:translateX(24px)}.toggle-text{color:#333;font-weight:500}.toggle-description{color:#666;font-size:14px;line-height:1.4;margin-top:8px}.save-indicator{color:#4caf50;font-size:14px;margin-top:10px;opacity:.8;text-align:center}.save-indicator span{align-items:center;display:inline-flex;gap:5px}.location-input{margin-top:10px}.location-input>label{color:#666;display:block;font-weight:500;margin-bottom:10px}.location-input input[type=text]{border:1px solid #ddd;border-radius:8px;font-size:16px;margin-bottom:10px;padding:12px;width:100%}.loading-stores{color:#666;font-style:italic;margin:15px 0;text-align:center}.store-selection{background:#f9f9f9;border-radius:8px;margin-top:20px;padding:15px}.store-selection>label{color:#333;display:block;font-weight:500;margin-bottom:12px}.store-options{display:flex;flex-direction:column;gap:10px}.store-option{align-items:flex-start;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;padding:12px;transition:all .3s}.store-option:hover{background:#fafafa;border-color:#4caf50}.store-option input[type=radio]{height:18px;margin-right:12px;margin-top:4px;width:18px}.store-option input[type=radio]:checked+.store-details strong{color:#4caf50}.store-details{display:flex;flex:1 1;flex-direction:column;gap:4px}.store-details strong{color:#333;font-size:16px}.store-details span{color:#666;font-size:14px;line-height:1.3}.store-distance{color:#4caf50!important;font-weight:500;margin-top:4px}.location-note{background:#e8f5e9;color:#2e7d32;line-height:1.4}.location-note,.zip-confirmed{border-radius:8px;font-size:14px;margin-top:15px;padding:12px}.zip-confirmed{background:#4caf50;color:#fff;font-weight:500;text-align:center}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.loading{color:#666;font-size:24px;height:100vh}.auth-container,.loading{align-items:center;display:flex;justify-content:center}.auth-container{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}.auth-box{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001a;max-width:400px;padding:40px;width:100%}.auth-logo{margin-bottom:20px;text-align:center}.auth-logo img{height:80px;object-fit:contain;width:80px}.auth-box h1{color:#333;margin-bottom:10px;text-align:center}.auth-box h2{color:#666;font-weight:400;margin-bottom:20px;text-align:center}.price-info{color:#4caf50;font-size:18px;font-weight:500;margin-bottom:30px;text-align:center}.auth-box form{display:flex;flex-direction:column}.auth-box input{border:1px solid #ddd;border-radius:6px;font-size:16px;margin-bottom:15px;padding:12px}.auth-box button{background:#4caf50;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:18px;font-weight:500;padding:14px;transition:background .3s}.auth-box button:hover:not(:disabled){background:#45a049}.auth-box button:disabled{background:#ccc;cursor:not-allowed}.error{background:#fee;border-radius:4px;color:#c33;margin-bottom:15px;padding:10px}.auth-footer{color:#666;margin-top:20px;text-align:center}.auth-footer a{color:#4caf50;text-decoration:none}.dashboard{background:#f5f5f5;min-height:100vh}.site-header{background:#fff;box-shadow:0 2px 8px #0000001a;justify-content:space-between;padding:15px 30px}.header-left,.site-header{align-items:center;display:flex}.header-left{gap:15px}.header-logo{height:35px;object-fit:contain;width:35px}.header-left h1{color:#4caf50;font-size:24px}.subscription-badge{background:#e8f5e9;border-radius:20px;color:#2e7d32;font-size:12px;font-weight:500;padding:4px 12px}.header-right{align-items:center;display:flex;gap:20px}.user-email{color:#666;font-size:14px}.logout-btn{background:#f44336;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:8px 16px}.tab-navigation{background:#fff;border-bottom:1px solid #e0e0e0;display:flex;gap:10px;overflow-x:auto;padding:0 30px}.tab-navigation button{background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;font-size:15px;font-weight:500;padding:15px 20px;transition:all .3s;white-space:nowrap}.tab-navigation button:hover{background:#f9f9f9;color:#333}.tab-navigation button.active{border-bottom-color:#4caf50;color:#4caf50}.tab-content{min-height:calc(100vh - 120px)}.dashboard-content{grid-gap:30px;display:grid;gap:30px}.features,.welcome-section{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:25px}.features ul{list-style:none;padding-left:0}.features li{padding:8px 0 8px 25px;position:relative}.features li:before{color:#4caf50;content:"✓";font-weight:700;left:0;position:absolute}.upgrade-prompt{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;padding:30px;text-align:center}.upgrade-btn{background:#fff;border:none;border-radius:6px;color:#667eea;cursor:pointer;font-size:16px;font-weight:500;margin-top:20px;padding:12px 30px}.payment-error,.payment-processing,.payment-success{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100vh;text-align:center}.payment-success h1{color:#4caf50;margin-bottom:20px}.payment-error h2{color:#f44336;margin-bottom:20px}.settings-container{margin:0 auto;max-width:800px;padding:20px}.settings-section{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px;padding:25px}.settings-section h3{border-bottom:1px solid #e0e0e0;color:#333;margin-bottom:15px;padding-bottom:10px}.settings-section p{color:#666;margin-bottom:10px}.settings-section button{background:#4caf50;border:none;cursor:pointer;margin-top:15px}.download-link,.settings-section button{border-radius:6px;color:#fff;font-weight:500;padding:10px 20px}.download-link{background:#2196f3;display:inline-block;margin-top:10px;text-decoration:none}.success-text{color:#4caf50;font-weight:500}@media (max-width:768px){.site-header{flex-direction:column;gap:10px;padding:10px 15px}.header-left h1{font-size:20px}.header-right{justify-content:space-between;width:100%}.tab-navigation{gap:5px;padding:0 15px}.tab-navigation button{font-size:14px;padding:12px 15px}.auth-box{margin:20px;padding:30px 20px}.settings-container{padding:15px}.pantry-actions{flex-direction:column}.pantry-actions button{width:100%}}@media (max-width:480px){.header-left h1{font-size:18px}.subscription-badge{font-size:11px;padding:3px 8px}.user-email{display:none}.tab-navigation button{font-size:13px;padding:10px 12px}}
/*# sourceMappingURL=main.b7bb4455.css.map*/