@charset "UTF-8";@import url(https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700&display=swap);@import url(https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&display=swap);*{box-sizing:border-box;margin:0;padding:0}:root{--primary-color:#007bff;--secondary-color:#6c757d;--background-color:#f5f5f5;--text-color:#333;--border-color:#ddd;--shadow:0 2px 4px #0000001a}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;background-color:var(--background-color);color:#333;color:var(--text-color);font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.container{margin:0 auto;max-width:1200px;padding:0 1rem}.text-center{text-align:center}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.menu-detail-overlay{align-items:flex-start;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:5vh 0;position:fixed;right:0;top:0;z-index:9998}.menu-detail-wrapper{background:#fff;border-radius:8px;margin:5vh auto 0;max-width:1200px;position:relative;width:90%}.menu-detail-container{background:#fff;display:flex;flex-direction:column;height:auto;min-height:-webkit-min-content;min-height:min-content;padding:12px;width:100%}.menu-detail-container img{border-radius:8px;height:auto;object-fit:contain;width:100%}@media (min-width:769px){.menu-detail-container{margin:0 auto;max-width:none;padding:72px 40px 40px}.menu-detail-header{margin-bottom:1.5rem;position:relative}.menu-detail-header .header-content{margin-right:320px}.menu-detail-container img.detail-image{border-radius:8px;float:right;height:300px;margin-bottom:1.5rem;margin-left:1.5rem;object-fit:cover;position:absolute;right:0;top:0;width:300px}.menu-detail-content{display:flex;flex-direction:column;gap:1.5rem}.menu-detail-header .time-info{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(120px,1fr));margin-bottom:1.5rem;margin-top:1rem;max-width:500px}.description-section{margin-bottom:1.5rem;margin-right:320px}button.buy-ingredients-button{margin-right:320px;position:relative;z-index:2}.ingredients-section{clear:both;margin-right:0;width:100%}.ingredients-list{column-count:3;column-gap:2rem}.equipment-section,.instructions-section,.nutrition-section{clear:both;width:100%}.menu-detail-container .menu-upload-form{max-width:none;padding:0;width:100%}.menu-detail-container .menu-upload-form form{width:100%}.menu-detail-container .menu-upload-form .form-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem;padding:1.5rem;width:100%}.menu-detail-container .menu-upload-form .form-group{margin-bottom:1.5rem}.menu-detail-container .menu-upload-form .form-row{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.menu-detail-container .menu-upload-form .ingredient-row{grid-gap:1rem;align-items:start;background:#f8f9fa;border-radius:8px;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:1rem;padding:1.5rem}}.menu-detail-actions{background:#fff;border-bottom:1px solid #eee;border-radius:8px 8px 0 0;left:0;padding:10px 16px;position:absolute;top:0;width:100%;z-index:1}.menu-detail-actions,.menu-detail-buttons-group{align-items:center;display:flex;gap:8px;justify-content:center}.menu-detail-close-button{position:absolute;right:16px;top:50%;transform:translateY(-50%)}.menu-detail-actions-buy-ingredients-button,.menu-detail-content-button,.menu-detail-edit-button,.menu-detail-like-button,.menu-detail-plan-button,.menu-detail-print-button,.menu-detail-share-button{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#4a5568;cursor:pointer;display:flex;font-size:13px;gap:5px;height:36px;justify-content:center;min-width:-webkit-fit-content;min-width:fit-content;padding:0 10px;transition:all .2s ease;white-space:nowrap}.menu-detail-like-button,.menu-detail-share-button{min-width:36px;padding:0 8px}.menu-detail-actions-buy-ingredients-button:hover,.menu-detail-content-button:hover,.menu-detail-edit-button:hover,.menu-detail-like-button:hover,.menu-detail-plan-button:hover,.menu-detail-print-button:hover,.menu-detail-share-button:hover{background:#f7fafc;border-color:#cbd5e0}.menu-detail-share-button:hover{border-color:#4a90e2;color:#4a90e2}.menu-detail-close-button{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#4a5568;cursor:pointer;display:flex;font-size:16px;height:36px;justify-content:center;transition:all .2s ease;width:36px}.menu-detail-close-button:hover{background:#f7fafc;border-color:#cbd5e0}@supports (-webkit-touch-callout:none){.menu-detail-container{border-radius:8px;margin:1vh auto;max-width:1200px;padding-top:56px;width:92%}.menu-detail-actions{align-items:center;background:#fff;border-bottom:1px solid #eee;border-radius:8px 8px 0 0;display:flex;gap:8px;height:52px;justify-content:center;left:0;margin:0 auto;padding:8px 50px 8px 12px;position:fixed;right:0;top:0;width:92%;z-index:1202}.menu-detail-buttons-group{display:flex;gap:6px;justify-content:center;overflow-x:auto}.menu-detail-actions-buy-ingredients-button,.menu-detail-edit-button,.menu-detail-like-button,.menu-detail-plan-button,.menu-detail-print-button,.menu-detail-share-button{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;display:flex;flex-shrink:0;font-size:12px;height:34px;justify-content:center;min-width:34px;padding:0 8px}.menu-detail-close-button{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;display:flex;font-size:16px;height:34px;justify-content:center;position:absolute;right:12px;top:50%;transform:translateY(-50%);width:34px}.menu-detail-buy-ingredients-button .instacart-logo{height:18px;object-fit:contain;width:18px}}@media (max-width:480px) and (-webkit-touch-callout:none){.menu-detail-actions{height:48px;padding:6px 46px 6px 10px}.menu-detail-buttons-group{gap:5px}.menu-detail-actions-buy-ingredients-button,.menu-detail-content-button,.menu-detail-edit-button,.menu-detail-like-button,.menu-detail-plan-button,.menu-detail-print-button,.menu-detail-share-button{font-size:11px;height:32px;padding:0 6px}.menu-detail-close-button{font-size:14px;height:32px;right:10px;width:32px}}.detail-plan-button:hover{background:#f7fafc;border-color:#cbd5e0}.detail-plan-button:disabled{cursor:not-allowed;opacity:.6}.buy-ingredients-button:hover{background-color:#f8f8f8}.buy-ingredients-button:disabled{cursor:not-allowed;opacity:.6;position:relative}.buy-ingredients-button:disabled:after{background-color:#4a5568;border-radius:4px;color:#fff;content:attr(data-tooltip);font-size:.75rem;left:50%;opacity:0;padding:4px 8px;pointer-events:none;position:absolute;top:-30px;transform:translateX(-50%);transition:opacity .2s;white-space:nowrap}.buy-ingredients-button:disabled:hover:after{opacity:1}.buy-ingredients-button .instacart-logo{height:22px;object-fit:contain;width:22px}.buy-ingredients-button.loading{color:#0000;position:relative}.buy-ingredients-button.loading:after{animation:spin 1s linear infinite;border:2px solid #e8e9eb;border-radius:50%;border-top-color:#ff7009;content:"";height:16px;position:absolute;width:16px}.error-container{align-items:center;display:flex;justify-content:center;min-height:200px;padding:20px}.error-container .error{background-color:#fff3f3;border:1px solid #ffcdd2;border-radius:8px;margin:0 auto;max-width:400px;padding:20px;text-align:center}.error-container .error h3{color:#dc3545;margin-bottom:10px}.error-container .error p{color:#666;margin-bottom:15px}.error-container .close-button{background-color:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px;transition:background-color .2s}.error-container .close-button:hover{background-color:#c82333}.ingredients-section .buy-ingredients-button{align-items:center;align-self:flex-start;background-color:#fff;border:.5px solid #e8e9eb;border-radius:4px;color:#000;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:4px;height:36px;justify-content:center;margin-top:15px;min-width:-webkit-fit-content;min-width:fit-content;padding:0 8px;width:auto}.ingredients-section .buy-ingredients-button:hover{background-color:#f8f8f8}.ingredients-section .buy-ingredients-button:disabled{cursor:not-allowed;opacity:.6}.ingredients-section .buy-ingredients-button .instacart-logo{height:22px;object-fit:contain;width:22px}.ingredients-section .buy-ingredients-button.loading{color:#0000;position:relative}.ingredients-section .buy-ingredients-button.loading:after{animation:spin 1s linear infinite;border:2px solid #e8e9eb;border-radius:50%;border-top-color:#ff7009;content:"";height:16px;position:absolute;width:16px}@media (max-width:768px){.menu-detail-overlay{background-color:#00000080;padding:0}.menu-detail-wrapper{margin:0;width:100%}.menu-detail-container{border-radius:0;padding-top:64px;width:100%}.menu-detail-actions{border-radius:0;padding:8px 16px;position:fixed;width:100%}.menu-detail-content{background:#fff;padding:16px}.menu-detail-actions{justify-content:center;padding-right:50px}.menu-detail-buttons-group{-webkit-overflow-scrolling:touch;align-items:center;display:flex;gap:6px;justify-content:center;overflow-x:auto}.menu-detail-actions-buy-ingredients-button,.menu-detail-content-button,.menu-detail-edit-button,.menu-detail-like-button,.menu-detail-plan-button,.menu-detail-print-button,.menu-detail-share-button{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;display:flex;flex-shrink:0;font-size:12px;height:34px;justify-content:center;min-width:-webkit-fit-content;min-width:fit-content;padding:0 8px}.menu-detail-close-button{font-size:14px;height:34px;position:absolute;right:12px;top:50%;transform:translateY(-50%);width:34px}}@media print{.buy-ingredients-button,.ingredient-checkbox,.ingredients-tip,.no-print,.select-all-btn,.servings-control{display:none!important}.menu-detail-container{height:auto;overflow:visible;padding:0}.menu-detail-content{padding:20px 0}.ingredients-section h3,.menu-detail-content section h3{border-bottom:1px solid #e2e8f0;color:#2d3748;display:block!important;font-size:16pt;margin-bottom:16px;margin-top:24px;padding-bottom:8px}.ingredients-list{column-count:2;column-gap:20px;font-size:12px;list-style:none;margin:0;padding:0}.ingredient-item{break-inside:avoid;display:block;margin-bottom:4px;page-break-inside:avoid}.ingredient-text{display:block!important;line-height:1.4;margin:0;padding:0}.ingredient-quantity{display:inline;font-weight:500}.ingredient-unit{color:#666;display:inline}.ingredient-name{color:#2d3748;display:inline}.ingredient-prep-notes{color:#666;font-style:italic}.nutrition-table{border-collapse:collapse;margin-top:8px;width:100%}.nutrition-table tr{border:none}.nutrition-table td{border-bottom:none;color:#2d3748;padding:4px 0}.nutrition-table td:first-child{font-weight:500;width:40%}.nutrition-table td:last-child{text-align:right;width:60%}section{page-break-inside:avoid}.menu-detail-header h1{color:#2d3748;font-size:24pt;margin-bottom:16px;margin-top:20px}.equipment-list,.instructions-list{margin:10px 0;padding-left:20px}.instructions-list li{margin-bottom:8px}.detail-image{max-height:300px;width:auto}}.menu-detail-header .time-info{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(120px,1fr));margin-bottom:1.5rem;margin-top:1rem;max-width:500px}.menu-detail-header .time-info .cook-time,.menu-detail-header .time-info .prep-time,.menu-detail-header .time-info .total-time{align-items:flex-start;color:#666;display:flex;font-size:.9rem;gap:8px;justify-content:flex-start;min-width:120px;white-space:nowrap}.menu-detail-header .time-info i{color:var(--primary-color);text-align:center;width:16px}@media (max-width:768px){.menu-detail-header .time-info{grid-template-columns:1fr;max-width:100%}}.ingredients-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.servings-control{align-items:center;display:flex;gap:8px;margin-left:16px}.servings-input{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield;border:1px solid #e2e8f0;border-radius:4px;font-size:14px;padding:4px 8px;text-align:center;width:60px}.servings-input::-webkit-inner-spin-button,.servings-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.servings-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 1px var(--primary-color);outline:none}.servings-stepper{align-items:center;display:flex;gap:4px}.servings-button{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:4px;color:#4a5568;cursor:pointer;display:flex;font-size:1.2rem;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.servings-button:hover{background:#f7fafc;border-color:#cbd5e0}.servings-button:active{background:#edf2f7;transform:scale(.95)}.servings-button:disabled{cursor:not-allowed;opacity:.5}.servings-info{color:#666}.ingredients-tip{align-items:center;color:#666;display:flex;font-size:.9rem;gap:8px;margin:0}.ingredients-tip i{color:#4a90e2}.select-all-btn{background:none;border:1px solid #e2e8f0;border-radius:4px;color:#4a90e2;cursor:pointer;font-size:.9rem;padding:4px 12px;transition:all .2s ease}.select-all-btn:hover{background:#f7fafc;border-color:#4a90e2}.ingredient-item{align-items:flex-start;border-radius:4px;display:flex;margin-bottom:8px;padding:4px;transition:background-color .2s ease}.ingredient-item:hover{background-color:#f7fafc}.ingredient-label{align-items:flex-start;cursor:pointer;display:flex;gap:8px;width:100%}.ingredient-checkbox{border:2px solid #e2e8f0;border-radius:3px;height:16px;margin-top:4px;transition:all .2s ease;width:16px}.ingredient-checkbox:checked{background-color:#4a90e2;border-color:#4a90e2}.ingredient-text{flex:1 1;line-height:1.4}.ingredient-quantity{font-weight:500}.ingredient-unit{color:#666}.ingredient-name{color:#2d3748}@media (max-width:768px){.ingredients-header{align-items:flex-start;flex-direction:column;gap:12px}.servings-control{align-items:center;gap:12px;justify-content:flex-start;margin-left:0;width:100%}.servings-stepper{align-items:center;display:flex;gap:8px}.servings-button{font-size:1.4rem;height:40px;width:40px}.servings-input{font-size:1.2rem;height:40px;padding:4px;width:60px}.servings-info{font-size:1rem}.select-all-btn{width:100%}.ingredient-item{padding:8px 4px}.ingredient-checkbox{height:20px;width:20px}}.tiktok-button{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:4px;color:#4a5568;cursor:pointer;display:flex;font-size:1rem;gap:6px;height:44px;justify-content:center;min-width:-webkit-fit-content;min-width:fit-content;padding:0 16px;text-decoration:none;transition:all .2s ease;white-space:nowrap}.tiktok-button:hover{background:#f7fafc;border-color:#cbd5e0}.tiktok-button i{font-size:1.2rem}@media (max-width:480px){.tiktok-button span{display:none}.tiktok-button{padding:0 12px}.tiktok-button i{font-size:1rem}}.ingredient-item.is-spice{color:#718096}.ingredient-item.is-spice .ingredient-checkbox:checked+.ingredient-text{color:#2d3748}@media (max-width:768px){.spice-toggle{align-items:flex-start;flex-direction:column;gap:.5rem}.spice-note{margin-top:1rem}}.ingredients-controls{background-color:#f8fafc;border-radius:8px;margin-bottom:1rem;padding:1rem}.ingredient-toggles{display:flex;gap:1.5rem;margin-bottom:1rem}.toggle-group{align-items:center;display:flex;gap:.5rem}.toggle-switch{display:inline-block;height:24px;position:relative;width:48px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background-color:#cbd5e0;border-radius:24px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.4s}.toggle-slider:before{background-color:#fff;border-radius:50%;bottom:2px;content:"";height:20px;left:2px;position:absolute;transition:.4s;width:20px}input:checked+.toggle-slider{background-color:#48bb78}input:focus+.toggle-slider{box-shadow:0 0 1px #48bb78}input:checked+.toggle-slider:before{transform:translateX(24px)}.toggle-label{color:#4a5568;font-size:.9rem}@media (max-width:768px){.ingredients-controls{padding:.75rem}.ingredient-toggles{flex-direction:column;gap:1rem}.toggle-group{justify-content:space-between;width:100%}}@supports (-webkit-hyphens:none){.buy-ingredients-button,.content-button,.detail-plan-button,.print-button,.tiktok-button{flex-shrink:0;min-width:auto}.like-button{flex-shrink:0;margin-right:.5rem}}.menu-detail-actions-buy-ingredients-button{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#4a5568;cursor:pointer;display:flex;font-size:14px;gap:6px;height:40px;justify-content:center;min-width:-webkit-fit-content;min-width:fit-content;padding:0 12px;transition:all .2s ease;white-space:nowrap}.menu-detail-actions-buy-ingredients-button:hover{background:#f7fafc;border-color:#cbd5e0}.menu-detail-actions-buy-ingredients-button .instacart-logo{height:18px;object-fit:contain;width:18px}.menu-detail-content .buy-ingredients-button{align-items:center;background-color:#fff;border:.5px solid #e8e9eb;border-radius:15px;color:#000;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;height:46px;justify-content:center;margin-bottom:24px;margin-top:16px;padding:0 16px;transition:all .2s ease;width:-webkit-fit-content;width:fit-content}.menu-detail-content .buy-ingredients-button:hover{background-color:#f8f8f8}.menu-detail-content .buy-ingredients-button:disabled{cursor:not-allowed;opacity:.6}.menu-detail-content .buy-ingredients-button .instacart-logo{height:22px;object-fit:contain;width:22px}.menu-detail-actions-buy-ingredients-button.loading,.menu-detail-content .buy-ingredients-button.loading{color:#0000;position:relative}.menu-detail-actions-buy-ingredients-button.loading:after,.menu-detail-content .buy-ingredients-button.loading:after{animation:spin 1s linear infinite;border:2px solid #e8e9eb;border-radius:50%;border-top-color:#ff7009;content:"";height:16px;position:absolute;width:16px}@media (max-width:480px){.menu-detail-content .buy-ingredients-button{padding:0 12px;width:100%}.menu-detail-actions-buy-ingredients-button{padding:0 10px}.menu-detail-actions-buy-ingredients-button .instacart-logo{height:16px;width:16px}}@-moz-document url-prefix(){.menu-detail-container,.menu-detail-wrapper{height:auto;min-height:min-content}.menu-detail-actions{left:0;margin-top:0;position:absolute;top:0;transform:none}.menu-detail-content{background:#fff;border-radius:0 0 8px 8px}}@media screen and (-webkit-min-device-pixel-ratio:0){@media (min-width:769px){.menu-detail-actions{position:absolute;top:0}}}.menu-detail-container .menu-upload-form{margin:0;max-width:none;padding:0;width:100%}.menu-detail-container .menu-upload-form form{width:100%}.menu-detail-container .menu-upload-form .form-section{margin-bottom:2rem;width:100%}.menu-detail-container .menu-upload-form .form-group{width:100%}@media (min-width:769px){.menu-detail-container .menu-upload-form{padding:0 20px}.menu-detail-container .menu-upload-form .form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.menu-detail-container .menu-upload-form .ingredient-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}.nutrition-section{border:1px solid #666;font-family:Helvetica,Arial,sans-serif;margin-top:1rem;max-width:300px;padding:.5rem;width:100%}.nutrition-section h3{border-bottom:8px solid #000;font-size:1.5rem;margin-bottom:.5rem;padding-bottom:.5rem}.servings-info{font-size:.9rem;margin-bottom:.5rem}.amount-per-serving{font-size:.8rem;font-weight:700;margin-bottom:.5rem}.calories-row{align-items:center;border-bottom:4px solid #000;display:flex;justify-content:space-between;margin-bottom:.5rem;padding:.25rem 0}.calories-label,.calories-value{font-size:1.2rem;font-weight:700}.nutrition-table{border-spacing:0;margin-bottom:.5rem;width:100%}.nutrition-row{grid-gap:1rem;border-bottom:1px solid #ccc;display:grid;font-size:.9rem;gap:1rem;grid-template-columns:1fr auto auto;padding:.25rem 0}.nutrition-row:last-child{border-bottom:none}.nutrition-label{font-weight:500}.nutrition-value{text-align:right}.nutrition-amount{font-weight:400}.daily-value{color:#666;text-align:right}.nutrition-subrow{font-size:.85rem;padding-left:1.5rem}.nutrition-footer{color:#666;font-size:.7rem;margin-top:.5rem}.nutrition-footer p{margin:.25rem 0}@media (max-width:768px){.nutrition-section{max-width:none;width:100%}}.affiliate-website{border-top:1px solid #edf2f7;margin-top:1rem;padding-top:1rem}.affiliate-website p{align-items:center;color:#718096;display:flex;font-size:.9rem;gap:.5rem;margin:0}.affiliate-website a{color:#4a5568;font-weight:500;text-decoration:none;transition:color .2s ease}.affiliate-website a:hover{color:#2d3748;text-decoration:underline}.affiliate-website i{color:#4a5568;font-size:1rem}.tags-dietary-section{display:flex;flex-direction:column;gap:1rem;margin-bottom:.5rem;padding:1rem 0}.dietary-badges,.dietary-info{display:flex;flex-wrap:wrap;gap:.5rem}.dietary-badge{align-items:center;background:linear-gradient(135deg,#dcfce7,#bbf7d0);border:1px solid #86efac;border-radius:20px;color:#166534;display:inline-flex;font-size:.85rem;font-weight:600;gap:.4rem;padding:.5rem .875rem;transition:all .2s ease}.dietary-badge i{color:#22c55e;font-size:.8rem}.dietary-badge:hover{box-shadow:0 2px 8px #22c55e33;transform:translateY(-1px)}.recipe-tags,.tags-list{display:flex;flex-wrap:wrap;gap:.5rem}.recipe-tag{align-items:center;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:16px;color:#475569;display:inline-flex;font-size:.8rem;font-weight:500;padding:.4rem .75rem;transition:all .2s ease}.recipe-tag:hover{background:#e2e8f0;color:#334155}@media (min-width:769px){.tags-dietary-section{margin-right:320px}}@media (max-width:768px){.tags-dietary-section{padding:.75rem 0}.dietary-badge{font-size:.8rem;padding:.4rem .7rem}.recipe-tag{font-size:.75rem;padding:.35rem .6rem}}.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle,.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle{margin-left:-4px;position:absolute;width:0}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:after,.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:before,.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:after,.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:before{border:8px solid #0000;box-sizing:initial;content:"";height:0;left:-8px;position:absolute;width:1px;z-index:-1}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:before,.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:before{border-bottom-color:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{margin-top:-8px;top:0}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:after,.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:before{border-bottom-color:#f0f0f0;border-top:none}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:after{top:0}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:before{border-bottom-color:#aeaeae;top:-1px}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle{bottom:0;margin-bottom:-8px}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:after,.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:before{border-bottom:none;border-top-color:#fff}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:after{bottom:0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:before{border-top-color:#aeaeae;bottom:-1px}.react-datepicker-wrapper{border:0;display:inline-block;padding:0}.react-datepicker{background-color:#fff;border:1px solid #aeaeae;border-radius:.3rem;color:#000;display:inline-block;font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;position:relative}.react-datepicker--time-only .react-datepicker__triangle{left:35px}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker__triangle{left:50px;position:absolute}.react-datepicker-popper{z-index:1}.react-datepicker-popper[data-placement^=bottom]{padding-top:10px}.react-datepicker-popper[data-placement=bottom-end] .react-datepicker__triangle,.react-datepicker-popper[data-placement=top-end] .react-datepicker__triangle{left:auto;right:50px}.react-datepicker-popper[data-placement^=top]{padding-bottom:10px}.react-datepicker-popper[data-placement^=right]{padding-left:8px}.react-datepicker-popper[data-placement^=right] .react-datepicker__triangle{left:auto;right:42px}.react-datepicker-popper[data-placement^=left]{padding-right:8px}.react-datepicker-popper[data-placement^=left] .react-datepicker__triangle{left:42px;right:auto}.react-datepicker__header{background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative;text-align:center}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select){border-top-right-radius:.3rem}.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__year-dropdown-container--select{display:inline-block;margin:0 15px}.react-datepicker-time__header,.react-datepicker-year-header,.react-datepicker__current-month{color:#000;font-size:.944rem;font-weight:700;margin-top:0}.react-datepicker-time__header{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.react-datepicker__navigation{align-items:center;background:none;border:none;cursor:pointer;display:flex;height:32px;justify-content:center;overflow:hidden;padding:0;position:absolute;text-align:center;text-indent:-999em;top:2px;width:32px;z-index:1}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{display:block;margin-left:auto;margin-right:auto;position:relative;top:0}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover :before{border-color:#a6a6a6}.react-datepicker__navigation-icon{font-size:20px;position:relative;top:-1px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{left:-7px;transform:rotate(45deg)}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{right:-7px;transform:rotate(225deg)}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.4rem;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;margin:2px;width:4rem}.react-datepicker__month{margin:.4rem;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;margin:2px;width:4rem}.react-datepicker__input-time-container{clear:both;float:left;margin:5px 0 10px 15px;text-align:left;width:100%}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{display:inline-block;margin-left:5px}.react-datepicker__time-container{border-left:1px solid #aeaeae;float:right;width:85px}.react-datepicker__time-container--with-today-button{border:1px solid #aeaeae;border-radius:.3rem;display:inline;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{background:#fff;border-bottom-right-radius:.3rem;position:relative}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{border-bottom-right-radius:.3rem;margin:0 auto;overflow-x:hidden;text-align:center;width:85px}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{box-sizing:initial;height:calc(195px + .85rem);list-style:none;margin:0;overflow-y:scroll;padding-left:0;padding-right:0;width:100%}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{background-color:#f0f0f0;cursor:pointer}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{background-color:initial;cursor:default}.react-datepicker__week-number{color:#ccc;display:inline-block;line-height:1.7rem;margin:.166rem;text-align:center;width:1.7rem}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected,.react-datepicker__week-number--keyboard-selected):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__week-number--selected{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__week-number--keyboard-selected{background-color:#2a87d0;border-radius:.3rem;color:#fff}.react-datepicker__week-number--keyboard-selected:hover{background-color:#1d5d90}.react-datepicker__day-names{margin-bottom:-8px;white-space:nowrap}.react-datepicker__week{white-space:nowrap}.react-datepicker__day,.react-datepicker__day-name,.react-datepicker__time-name{color:#000;display:inline-block;line-height:1.7rem;margin:.166rem;text-align:center;width:1.7rem}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:hover,.react-datepicker__month-text:hover,.react-datepicker__quarter-text:hover,.react-datepicker__year-text:hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{background-color:#3dcc4a;border-radius:.3rem;color:#fff}.react-datepicker__day--highlighted:hover,.react-datepicker__month-text--highlighted:hover,.react-datepicker__quarter-text--highlighted:hover,.react-datepicker__year-text--highlighted:hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{background-color:#ff6803;border-radius:.3rem;color:#fff;position:relative}.react-datepicker__day--holidays .holiday-overlay,.react-datepicker__month-text--holidays .holiday-overlay,.react-datepicker__quarter-text--holidays .holiday-overlay,.react-datepicker__year-text--holidays .holiday-overlay{background-color:#333;border-radius:4px;bottom:100%;color:#fff;left:50%;opacity:0;padding:4px;position:absolute;transform:translateX(-50%);transition:visibility 0s,opacity .3s ease-in-out;visibility:hidden;white-space:nowrap}.react-datepicker__day--holidays:hover,.react-datepicker__month-text--holidays:hover,.react-datepicker__quarter-text--holidays:hover,.react-datepicker__year-text--holidays:hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .holiday-overlay,.react-datepicker__month-text--holidays:hover .holiday-overlay,.react-datepicker__quarter-text--holidays:hover .holiday-overlay,.react-datepicker__year-text--holidays:hover .holiday-overlay{opacity:1;visibility:visible}.react-datepicker__day--in-range,.react-datepicker__day--in-selecting-range,.react-datepicker__day--selected,.react-datepicker__month-text--in-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--selected,.react-datepicker__quarter-text--in-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--selected,.react-datepicker__year-text--in-range,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--selected{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__day--in-range:hover,.react-datepicker__day--in-selecting-range:hover,.react-datepicker__day--selected:hover,.react-datepicker__month-text--in-range:hover,.react-datepicker__month-text--in-selecting-range:hover,.react-datepicker__month-text--selected:hover,.react-datepicker__quarter-text--in-range:hover,.react-datepicker__quarter-text--in-selecting-range:hover,.react-datepicker__quarter-text--selected:hover,.react-datepicker__year-text--in-range:hover,.react-datepicker__year-text--in-selecting-range:hover,.react-datepicker__year-text--selected:hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{background-color:#bad9f1;border-radius:.3rem;color:#000}.react-datepicker__day--keyboard-selected:hover,.react-datepicker__month-text--keyboard-selected:hover,.react-datepicker__quarter-text--keyboard-selected:hover,.react-datepicker__year-text--keyboard-selected:hover{background-color:#1d5d90}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{color:#ccc;cursor:default}.react-datepicker__day--disabled:hover,.react-datepicker__month-text--disabled:hover,.react-datepicker__quarter-text--disabled:hover,.react-datepicker__year-text--disabled:hover{background-color:initial}.react-datepicker__input-container{display:inline-block;position:relative;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{box-sizing:initial;padding:.5rem;position:absolute}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__month-read-view,.react-datepicker__month-year-read-view,.react-datepicker__year-read-view{border:1px solid #0000;border-radius:.3rem;position:relative}.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover,.react-datepicker__year-read-view:hover{cursor:pointer}.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__year-read-view--down-arrow{right:-16px;top:0;transform:rotate(135deg)}.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown,.react-datepicker__year-dropdown{background-color:#f0f0f0;border:1px solid #aeaeae;border-radius:.3rem;left:25%;position:absolute;text-align:center;top:30px;width:50%;z-index:1}.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover,.react-datepicker__year-dropdown:hover{cursor:pointer}.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable,.react-datepicker__year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__month-option,.react-datepicker__month-year-option,.react-datepicker__year-option{display:block;line-height:20px;margin-left:auto;margin-right:auto;width:100%}.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type,.react-datepicker__year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type,.react-datepicker__year-option:last-of-type{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem;-webkit-user-select:none;user-select:none}.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover,.react-datepicker__year-option:hover{background-color:#ccc}.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected,.react-datepicker__year-option--selected{left:15px;position:absolute}.react-datepicker__close-icon{background-color:initial;border:0;cursor:pointer;display:table-cell;height:100%;outline:0;padding:0 6px 0 0;position:absolute;right:0;top:0;vertical-align:middle}.react-datepicker__close-icon:after{background-color:#216ba5;border-radius:50%;color:#fff;content:"×";cursor:pointer;display:table-cell;font-size:12px;height:16px;line-height:1;padding:2px;text-align:center;vertical-align:middle;width:16px}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{background-color:#ccc;cursor:default}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;clear:left;cursor:pointer;font-weight:700;padding:5px 0;text-align:center}.react-datepicker__portal{align-items:center;background-color:#000c;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:2147483647}.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__time-name{line-height:3rem;width:3rem}@media (max-height:550px),(max-width:400px){.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__time-name{line-height:2rem;width:2rem}}.react-datepicker__portal .react-datepicker-time__header,.react-datepicker__portal .react-datepicker__current-month{font-size:1.44rem}.react-datepicker__children-container{height:auto;margin:.4rem;padding-left:.2rem;padding-right:.2rem;width:13.8rem}.react-datepicker__aria-live{border:0;-webkit-clip-path:circle(0);clip-path:circle(0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.react-datepicker__calendar-icon{height:1em;vertical-align:-.125em;width:1em}.meal-plan-modal-overlay{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.meal-plan-modal{animation:slideUp .3s ease;background:#fff;border-radius:16px;box-shadow:0 20px 50px #0003;max-width:450px;padding:2rem;position:relative;text-align:center;width:90%}.meal-plan-modal h2{color:#1e293b;font-size:1.5rem;font-weight:700;margin:0 0 .5rem}.meal-plan-modal h3{color:#64748b;font-size:1rem;font-weight:500;margin:0 0 1.5rem}.close-button{background:#f1f5f9;color:#64748b;font-size:20px;left:1rem;position:absolute;top:1rem}.close-button:hover{background:#e2e8f0;color:#334155}.meal-plan-modal .form-group{margin-bottom:1.5rem;text-align:left}.meal-plan-modal .form-group label{color:#475569;display:block;font-size:.9rem;font-weight:600;letter-spacing:.5px;margin-bottom:.75rem;text-align:center;text-transform:uppercase}.meal-type-buttons{gap:.75rem;justify-content:center}.meal-type-btn{border:2px solid #e2e8f0;border-radius:10px;color:#475569;font-size:.95rem;font-weight:500;padding:.75rem 1.25rem;transition:all .2s ease}.meal-type-btn:hover{background:#f8fafc;border-color:#cbd5e1}.meal-type-btn.selected{background:linear-gradient(135deg,#22c55e,#16a34a);border-color:#0000;box-shadow:0 4px 12px #22c55e4d;color:#fff}.modal-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.cancel-btn{border:2px solid #e2e8f0;border-radius:10px;color:#64748b;font-size:.95rem;padding:.875rem 1.5rem}.cancel-btn:hover{background:#f8fafc;border-color:#cbd5e1;color:#475569}.save-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:10px;box-shadow:0 4px 12px #3b82f64d;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:.875rem 1.5rem;transition:all .2s ease}.save-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 6px 16px #3b82f666;transform:translateY(-1px)}.react-datepicker-wrapper{width:100%}.react-datepicker__input-container input{border:2px solid #e2e8f0;border-radius:10px;color:#1e293b;font-size:1rem;font-weight:500;padding:.875rem 1rem;text-align:center;transition:all .2s ease;width:100%}.react-datepicker__input-container input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626;outline:none}.meal-plan-modal.success{padding:2.5rem 2rem;text-align:center}.meal-plan-modal.success h2{align-items:center;color:#22c55e;display:flex;font-size:1.75rem;gap:.5rem;justify-content:center;margin-bottom:.5rem}.meal-plan-modal.success h2:before{align-items:center;background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:50%;color:#fff;content:"✓";display:inline-flex;font-size:1.25rem;height:40px;justify-content:center;width:40px}.meal-plan-modal.success h3{color:#475569;font-size:1.1rem;font-weight:500;margin-bottom:2rem}.meal-plan-modal.success .modal-actions{display:flex;gap:1rem;justify-content:center}.meal-plan-btn{background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:10px;box-shadow:0 4px 12px #22c55e4d;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:.875rem 1.5rem;transition:all .2s ease}.meal-plan-btn:hover{background:linear-gradient(135deg,#16a34a,#15803d);box-shadow:0 6px 16px #22c55e66;transform:translateY(-1px)}@media (max-width:480px){.meal-plan-modal{margin:1rem;padding:1.5rem;width:calc(100% - 2rem)}.meal-plan-modal h2{font-size:1.25rem}.meal-type-buttons{flex-wrap:wrap}.meal-type-btn{flex:1 1;font-size:.875rem;min-width:calc(50% - .5rem);padding:.625rem 1rem}.modal-actions{flex-direction:column-reverse;gap:.75rem}.cancel-btn,.meal-plan-btn,.save-btn{width:100%}}.menu-upload-form{margin:0 auto;max-width:800px;padding:2rem}.form-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.menu-upload-form h2{color:#2c3e50;margin:0}.form-close-btn{align-items:center;background:#f1f5f9;border:none;border-radius:50%;color:#64748b;cursor:pointer;display:flex;font-size:1rem;height:36px;justify-content:center;transition:all .2s ease;width:36px}.form-close-btn:hover{background:#fee2e2;color:#dc2626}.form-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem;padding:1.5rem}.form-section h3{border-bottom:2px solid #eee;color:#34495e;margin-bottom:1.5rem;padding-bottom:.5rem}.form-group label{color:#2c3e50}.form-group input[type=number],.form-group input[type=text],.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:.75rem;transition:border-color .2s;width:100%}.form-group textarea{min-height:100px;resize:vertical}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}.form-row,.ingredient-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.ingredient-row{grid-gap:1rem;align-items:start;background:#f8f9fa;border-radius:4px;display:grid;gap:1rem;margin-bottom:1.5rem;padding:1rem}.ingredient-row .form-group{margin-bottom:.5rem}.ingredient-row .form-group input{width:100%}.ingredient-row label{color:#666;display:block;font-size:.9rem;margin-bottom:.25rem}.instruction-row,.instruction-wrapper{margin-bottom:.5rem}.instruction-row{grid-gap:1rem;align-items:start;display:grid;gap:1rem;grid-template-columns:auto 1fr auto}.instruction-number{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:50%;color:#fff;flex-shrink:0;font-size:.875rem;font-weight:600;height:32px;margin-top:.5rem;width:32px}.insert-instruction-btn,.instruction-number{align-items:center;display:flex;justify-content:center}.insert-instruction-btn{background:#0000;border:2px dashed #d1d5db;border-radius:6px;color:#9ca3af;cursor:pointer;font-size:.8rem;gap:.5rem;margin:.25rem 0 .75rem;padding:.5rem;transition:all .2s ease;width:100%}.insert-instruction-btn:hover{background:#f5f3ff;border-color:#6366f1;color:#6366f1}.insert-instruction-btn i{font-size:.7rem}.nutrition-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.add-button,.remove-button{border:none;border-radius:4px;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:background-color .2s}.add-button{background:#2ecc71;color:#fff;margin-top:1rem}.add-button:hover{background:#27ae60}.remove-button{background:#e74c3c;color:#fff}.remove-button:hover{background:#c0392b}.image-preview{margin:1rem 0;position:relative}.image-preview img{border-radius:4px;max-height:300px;max-width:100%}.remove-image-button{background:#f00c;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:5px 10px;position:absolute;right:10px;top:10px}.remove-image-button:hover{background:red}.current-image{background:#f8f9fa;border-radius:4px;color:#666;font-size:.9rem;margin:.5rem 0;padding:.5rem;word-break:break-all}.image-upload-options{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.image-upload-options input[type=file]{flex:1 1;min-width:200px}.image-option-separator{color:#94a3b8;font-size:.875rem;font-weight:500}.generate-image-button{align-items:center;background:linear-gradient(135deg,#8b5cf6,#6366f1);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.75rem 1.25rem;transition:all .3s ease;white-space:nowrap}.generate-image-button:hover:not(:disabled){box-shadow:0 4px 12px #6366f166;transform:translateY(-1px)}.generate-image-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.generate-image-button i{font-size:.875rem}.button-spinner{animation:buttonSpin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}@keyframes buttonSpin{to{transform:rotate(1turn)}}@media (max-width:640px){.image-upload-options{align-items:stretch;flex-direction:column}.image-upload-options input[type=file]{min-width:100%}.image-option-separator{text-align:center}.generate-image-button{justify-content:center;width:100%}}.error-message{background:#fde8e7;color:#e74c3c;padding:1rem}.form-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.cancel-button{background:#fff;border:2px solid #e2e8f0;border-radius:4px;color:#64748b;font-size:1.1rem;padding:1rem 2rem}.cancel-button:hover{background:#f8fafc;border-color:#cbd5e1;color:#475569}.cancel-button:disabled{opacity:.5}.submit-button{background:#3498db;font-weight:500;padding:1rem 2rem;transition:background-color .2s}.submit-button:hover{background:#2980b9}.submit-button:disabled{background:#95a5a6}.ingredient-type-checkboxes{align-items:center;display:flex;gap:1rem;margin-top:.5rem}.ingredient-type-checkboxes label{align-items:center;color:#666;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem}.ingredient-type-checkboxes input[type=checkbox]{cursor:pointer;margin:0;width:auto}.quantity-input-group{display:flex;flex-direction:column;gap:.25rem}.quantity-with-toggle{align-items:center;display:flex;flex:1 1;gap:.5rem;min-width:150px}.quantity-with-toggle input[type=number]{-moz-appearance:textfield;border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:.75rem;width:100%}.quantity-with-toggle input[type=number]::-webkit-inner-spin-button,.quantity-with-toggle input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.fraction-inputs{align-items:center;display:flex;gap:.25rem;width:100%}.fraction-inputs input{-moz-appearance:textfield;border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:.75rem;text-align:center;width:60px}.fraction-inputs input[type=number]::-webkit-inner-spin-button,.fraction-inputs input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.fraction-inputs span{color:#666;flex-shrink:0;font-weight:700;padding:0 4px}.toggle-fraction-btn{background:#f0f0f0;border:1px solid #ddd;border-radius:4px;color:#666;cursor:pointer;flex-shrink:0;font-size:.9rem;height:38px;padding:8px;position:relative;transition:all .2s ease;white-space:nowrap}.toggle-fraction-btn:hover{background:#e0e0e0;border-color:#ccc}.toggle-fraction-btn[title]{position:relative}.toggle-fraction-btn[title]:hover:after{background:#333;border-radius:4px;bottom:100%;color:#fff;content:attr(title);font-size:.8rem;left:50%;margin-bottom:5px;padding:4px 8px;position:absolute;transform:translateX(-50%);white-space:nowrap;z-index:1}.toggle-fraction-btn[title]:hover:before{border:5px solid #0000;border-top-color:#333;bottom:100%;content:"";left:50%;margin-bottom:-5px;position:absolute;transform:translateX(-50%)}@media (max-width:768px){.menu-upload-form{padding:1rem}.ingredient-row{border:1px solid #e2e8f0;border-radius:8px;gap:.75rem;grid-template-columns:1fr;margin-bottom:1rem;padding:1rem;position:relative}.ingredient-row .form-group,.ingredient-row .quantity-input-group{width:100%}.ingredient-row .quantity-input-group{display:flex;flex-direction:column}.ingredient-type-checkboxes{background:#f1f5f9;border-radius:6px;flex-wrap:wrap;justify-content:flex-start;padding:.5rem}.ingredient-type-checkboxes label{font-size:.85rem;padding:.25rem 0}.ingredient-row .remove-button{font-size:.9rem;margin-top:.5rem;padding:.75rem;width:100%}.instruction-row{gap:.5rem;grid-template-columns:auto 1fr auto}.instruction-number{font-size:.75rem;height:28px;width:28px}.insert-instruction-btn{font-size:.75rem;padding:.4rem}.form-row{grid-template-columns:1fr}.quantity-input-group,.quantity-with-toggle{flex:1 1;min-width:100%}.quantity-with-toggle input[type=number]{min-width:0;min-width:auto;width:100%}.fraction-inputs{width:100%}.fraction-inputs input{flex:1 1;min-width:0;min-width:auto;width:50px}.toggle-fraction-btn{padding:8px}.form-section .section-content .add-button{bottom:0;box-shadow:0 -2px 10px #0000001a;font-size:1rem;font-weight:600;margin-top:1rem;padding:1rem;position:-webkit-sticky;position:sticky;width:100%;z-index:5}}.time-input-container{align-items:center;display:flex;gap:.5rem}.time-input-container .time-input{border:1px solid #ddd;border-radius:4px;flex:1 1;font-size:1rem;padding:.75rem;text-align:left;width:100%}.time-input-container .time-unit{background:#f1f5f9;border:1px solid #ddd;border-left:none;border-radius:0 4px 4px 0;color:#64748b;font-size:.9rem;font-weight:500;margin-left:-.5rem;padding:.75rem;white-space:nowrap}.time-input-container .time-input{border-radius:4px 0 0 4px}.field-error.time-error{animation:shake .3s ease-in-out;color:#dc2626;font-size:.8rem}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.total-time-group{position:relative}.total-time-input{background-color:#f1f5f9!important;border-color:#e2e8f0!important;color:#64748b!important;cursor:not-allowed}.total-time-input::placeholder{color:#94a3b8;font-style:italic}.field-hint{color:#64748b;display:block;font-size:.8rem;font-style:italic;margin-top:.35rem}.form-group select{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='%23666' d='M6 8 1 3h10z'/%3E%3C/svg%3E");background-position:right .75rem center;border:1px solid #ddd;padding:.75rem 2.5rem .75rem .75rem}.form-group select:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33}.form-group select option[value=__new__]{border-top:1px solid #e2e8f0;color:#22c55e;font-weight:600}.new-cuisine-input-container{align-items:center;display:flex;gap:.5rem}.new-cuisine-input-container input{flex:1 1}.cancel-new-cuisine-btn{align-items:center;background:#f1f5f9;border:1px solid #ddd;border-radius:4px;color:#64748b;cursor:pointer;display:flex;flex-shrink:0;height:38px;justify-content:center;padding:0;transition:all .2s ease;width:38px}.cancel-new-cuisine-btn:hover{background:#fee2e2;border-color:#fecaca;color:#dc2626}.url-input-container{align-items:center;display:flex;position:relative}.url-input-container input{padding-right:30px;width:100%}.url-input-container input.error{border-color:#dc3545}.validation-icon{font-size:16px;position:absolute;right:10px}.validation-icon.success{color:#28a745}.validation-icon.error{color:#dc3545}input[data-tooltip]{position:relative}input[data-tooltip]:hover:after{background:#000c;border-radius:4px;color:#fff;content:attr(data-tooltip);font-size:12px;margin-bottom:5px;padding:5px 10px;white-space:nowrap;z-index:1000}input[data-tooltip]:hover:after,input[data-tooltip]:hover:before{bottom:100%;left:50%;position:absolute;transform:translateX(-50%)}input[data-tooltip]:hover:before{border:5px solid #0000;border-top-color:#000c;content:"";margin-bottom:-5px}.image-auto-generate-notice{align-items:flex-start;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:8px;color:#0369a1;display:flex;font-size:.9rem;gap:.75rem;line-height:1.5;margin-top:1rem;padding:1rem 1.25rem}.image-auto-generate-notice i{color:#0ea5e9;flex-shrink:0;margin-top:.15rem}.image-auto-generate-notice strong{color:#0c4a6e}.form-section{position:relative;transition:all .3s ease}.form-section .section-header{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0;border-radius:8px 8px 0 0;cursor:pointer;display:flex;justify-content:space-between;margin:-1.5rem -1.5rem 1.5rem;padding:1rem 1.5rem;transition:all .2s ease;-webkit-user-select:none;user-select:none}.form-section .section-header:hover{background:linear-gradient(135deg,#f1f5f9,#e2e8f0)}.form-section .section-header h3{align-items:center;border:none;display:flex;font-size:1.1rem;gap:.5rem;margin:0;padding:0}.form-section .section-toggle{background:none;border:none;color:#64748b;cursor:pointer;padding:.5rem;transition:transform .2s ease}.form-section .section-toggle:hover{color:#334155}.form-section .section-content{max-height:5000px;opacity:1;overflow:hidden;transition:max-height .4s ease,opacity .3s ease,padding .3s ease}.form-section.collapsed .section-content{margin:0;max-height:0;opacity:0;padding-bottom:0;padding-top:0}.form-section.collapsed .section-header{border-bottom:none;border-radius:8px;margin-bottom:-1.5rem}.section-complete-icon{color:#22c55e;font-size:1rem}.section-error-icon{color:#ef4444;font-size:1rem}.form-section.has-error .section-header{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-color:#fecaca}.form-section.is-complete .section-header{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#bbf7d0}.optional-badge{background:#f1f5f9;border-radius:4px;color:#94a3b8;font-size:.75rem;font-weight:400;margin-left:.5rem;padding:.2rem .5rem}.form-group.has-error input,.form-group.has-error select,.form-group.has-error textarea,input.error-input,textarea.error-input{background-color:#fef2f2;border-color:#ef4444!important}.form-group.has-error input:focus,.form-group.has-error textarea:focus{box-shadow:0 0 0 3px #ef444426}.field-error{color:#dc2626;display:block;font-size:.8rem;font-weight:500;margin-top:.35rem}.section-error-notice{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;display:flex;font-size:.9rem;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem}.section-error-notice i{color:#ef4444}.error-message.sticky-error{align-items:center;background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;font-size:.95rem;gap:.75rem;margin-bottom:1.5rem;padding:1rem 1.25rem}.error-message.sticky-error i{color:#ef4444;flex-shrink:0}.error-message.sticky-error span{flex:1 1}.error-dismiss{background:none;border:none;color:#dc2626;cursor:pointer;opacity:.6;padding:.25rem;transition:opacity .2s}.error-dismiss:hover{opacity:1}.save-button-container{display:flex;flex-direction:column;gap:.75rem;width:100%}.save-button-actions{display:flex;gap:1rem;justify-content:flex-end}.save-status-indicator{align-items:center;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #93c5fd;border-radius:8px;color:#1d4ed8;display:flex;font-size:.9rem;font-weight:500;gap:.75rem;justify-content:center;padding:.75rem 1rem}.save-spinner{animation:spin .8s linear infinite;border:2px solid #93c5fd;border-radius:50%;border-top-color:#2563eb;height:18px;width:18px}.save-status-text{color:#1e40af}.floating-save-container{animation:slideUp .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(0deg,#fffffffa,#fffffff2);border-top:1px solid #e2e8f0;bottom:0;box-shadow:0 -4px 20px #0000001a;left:0;padding:1rem 2rem;position:fixed;right:0;z-index:1000}.floating-save-container .save-button-container{margin:0 auto;max-width:800px}.floating-save-container .save-button-actions{justify-content:space-between}.floating-save-container .cancel-button{flex:0 0 auto}.floating-save-container .submit-button{flex:1 1;max-width:300px}.floating-error-message{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;display:flex;font-size:.85rem;gap:.5rem;justify-content:center;padding:.6rem 1rem;text-align:center}.floating-error-message i{color:#ef4444}.submit-button{display:flex;gap:.5rem;justify-content:center;min-width:150px}.submit-button .button-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}@media (max-width:768px){.form-section .section-header{margin:-1rem -1rem 1rem;padding:.75rem 1rem}.form-section .section-header h3{font-size:1rem}.form-section .section-content{max-height:none;overflow:visible}.form-section{overflow:visible;padding:1rem}.floating-save-container{padding:.75rem 1rem}.floating-save-container .save-button-actions{flex-direction:column;gap:.5rem}.floating-save-container .cancel-button,.floating-save-container .submit-button{max-width:none;width:100%}.save-status-indicator{font-size:.85rem;padding:.6rem .75rem}.optional-badge{display:none}}.menu-upload-form{padding-bottom:100px}.tags-selection-container{display:flex;flex-direction:column;gap:1.5rem}.tags-help-text{align-items:flex-start;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:8px;color:#0369a1;display:flex;font-size:.9rem;gap:.75rem;line-height:1.5;margin:0;padding:1rem}.tags-help-text i{color:#0ea5e9;flex-shrink:0;margin-top:.15rem}.selected-tags-display{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #bbf7d0;border-radius:8px;padding:1rem}.selected-tags-display label{color:#166534;display:block;font-size:.9rem;font-weight:600;margin-bottom:.75rem}.selected-tags-chips{display:flex;flex-wrap:wrap;gap:.5rem}.selected-tag-chip{align-items:center;background:#22c55e;border-radius:20px;color:#fff;display:inline-flex;font-size:.85rem;font-weight:500;gap:.5rem;padding:.4rem .75rem}.remove-tag-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:.7rem;height:18px;justify-content:center;padding:0;transition:all .2s ease;width:18px}.remove-tag-btn:hover{background:#fff6}.tag-category{background:#fafafa;border:1px solid #e2e8f0;border-radius:8px;padding:1rem}.tag-category h4{align-items:center;border-bottom:1px solid #e2e8f0;color:#475569;display:flex;font-size:.95rem;font-weight:600;gap:.5rem;margin:0 0 .75rem;padding-bottom:.5rem}.tag-category h4 i{color:#64748b;font-size:.9rem}.tag-chips{display:flex;flex-wrap:wrap;gap:.5rem}.tag-chip{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:20px;color:#4b5563;cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:500;gap:.35rem;padding:.5rem .9rem;transition:all .2s ease}.tag-chip:hover{background:#f3f4f6;border-color:#9ca3af}.tag-chip.selected{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-color:#0000;color:#fff}.tag-chip.selected:hover{background:linear-gradient(135deg,#4f46e5,#7c3aed)}.tag-chip i{font-size:.7rem}.tag-chip.dietary.selected{background:linear-gradient(135deg,#22c55e,#16a34a)}.tag-chip.dietary.selected:hover{background:linear-gradient(135deg,#16a34a,#15803d)}.selected-tag-chip.dietary-chip{background:linear-gradient(135deg,#22c55e,#16a34a)}.selected-tag-chip.dietary-chip i{font-size:.75rem}.tag-category.dietary-category{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#bbf7d0}.tag-category.dietary-category h4{color:#166534}.tag-category.dietary-category h4 i{color:#22c55e}.no-tags-message{align-items:center;color:#64748b;display:flex;font-size:.95rem;gap:.75rem;justify-content:center;padding:2rem}@media (max-width:768px){.tags-selection-container{gap:1rem}.tags-help-text{font-size:.85rem;padding:.75rem}.tag-category{padding:.75rem}.tag-category h4{font-size:.9rem}.tag-chips{gap:.4rem}.tag-chip{font-size:.8rem;padding:.4rem .7rem}.selected-tags-chips{gap:.4rem}.selected-tag-chip{font-size:.8rem;padding:.35rem .6rem}}:root{--primary-color:#3182ce;--primary-color-dark:#2c5282}.menu-filter-container{box-sizing:border-box;margin:0 auto;max-width:1200px;padding:0 10px;width:100%}.filters-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin:20px 0;max-height:1000px;opacity:1;overflow:hidden;padding:20px;transition:all .3s ease-in-out}.filter-group{margin-bottom:20px}.filter-group:last-child{margin-bottom:0}.filter-group h3{color:#333;font-size:1.2rem;font-weight:500;margin-bottom:15px}.filter-options{display:flex;flex-wrap:wrap;gap:10px}.filter-button{background:#fff;border:1px solid #ddd;border-radius:20px;color:#666;cursor:pointer;font-size:.9rem;font-weight:500;outline:none;padding:8px 16px;transition:all .3s ease}.filter-button:hover{background:#f5f5f5;transform:translateY(-1px)}.filter-button.active{background:#3182ce;background:var(--primary-color);border-color:#3182ce;border-color:var(--primary-color);color:#fff}.menu-cards{padding:10px 20px;position:relative;z-index:1}.menu-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden;width:100%}.menu-card:hover{box-shadow:0 5px 15px #0000001a;transform:translateY(-5px)}.menu-image{height:200px;object-fit:cover;width:100%}.menu-content{flex:1 1;padding:15px}.menu-content h3{color:#333;font-size:1.2rem;font-weight:600;margin:0 0 10px}.menu-content p{color:#666;font-size:.9rem;line-height:1.5;margin-bottom:15px}.tag{background:#f0f0f0;border-radius:12px;color:#666;font-size:.8rem;font-weight:500;padding:4px 12px}.tag.cuisine{background:#3182ce;background:var(--primary-color);color:#fff}.prep-time i{color:#3182ce;color:var(--primary-color)}@media (max-width:768px){.menu-filter-container{padding:10px}.filters-section{padding:15px}.filter-button{font-size:.8rem;padding:6px 12px}.menu-cards{gap:10px;grid-template-columns:repeat(2,1fr);padding:10px}.menu-content{padding:15px}.menu-content h3{font-size:1.1rem}}.loading-state,.no-results{color:#666;padding:40px;text-align:center}.no-results{grid-column:1/-1}.menu-card{animation:fadeIn .3s ease-out}.filter-button:focus{outline:2px solid #3182ce;outline:2px solid var(--primary-color);outline-offset:2px}.filters-section::-webkit-scrollbar{width:8px}.filters-section::-webkit-scrollbar-track{background:#f1f1f1}.filters-section::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.filters-section::-webkit-scrollbar-thumb:hover{background:#666}.card-footer{align-items:center;display:flex;justify-content:space-between;margin-top:15px}.likes-count{font-size:.85rem;margin-left:2px}.menu-item-actions{gap:8px;margin-top:8px}.header,.menu-item-actions{align-items:center;display:flex}.header{background:#fff;box-shadow:0 2px 4px #0000001a;justify-content:space-between;margin-bottom:20px;padding:20px}.site-title{color:#3182ce;color:var(--primary-color);font-size:2rem;font-weight:600;margin:0}.auth-section{background:#fff;border-radius:4px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;gap:10px;padding:10px;position:absolute;right:20px;top:20px}.user-section{align-items:center;display:flex;gap:10px}.user-name{font-size:.9rem;font-weight:500}.google-auth-button{background-color:#f8f9fa;border:none;border-radius:4px;cursor:pointer;padding:8px 16px}.google-auth-button:hover{background-color:#e9ecef}.like-button.liked{color:#ff4757}.like-button.liked i{animation:likeAnimation .3s ease-in-out}@keyframes likeAnimation{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}@media screen and (max-width:768px){.auth-section{justify-content:center;margin:20px auto;padding:0 20px;position:relative;right:0;top:0}.user-section{flex-wrap:wrap;justify-content:center;width:100%}}.menu-cards{grid-gap:20px;box-sizing:border-box;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));padding:20px;width:100%}@media screen and (max-width:768px){.menu-cards{gap:10px;grid-template-columns:repeat(2,1fr);margin:0 auto;padding:10px;width:100%}.menu-card{margin:0;min-width:0;min-width:auto;padding-bottom:0;width:100%}.menu-image{height:120px;object-fit:cover;width:100%}.menu-content{padding:8px}.menu-card h3{font-size:.9rem;line-height:1.2;margin:4px 0}.menu-card p{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:.75rem;line-height:1.3;margin:4px 0;overflow:hidden}}@media screen and (max-width:360px){.menu-cards{gap:8px;grid-template-columns:repeat(2,1fr);padding:8px}.menu-card img{height:100px}.menu-card h3{font-size:.9rem}.menu-card p{font-size:.75rem}.menu-content{padding:8px}}.menu-card h2{color:#333;margin:0}.menu-card .description{color:#666;line-height:1.4}.menu-card .price{color:#2c5282;font-weight:700}.menu-card .tags{display:flex;flex-wrap:wrap;gap:8px}.menu-card .tag{background:#e2e8f0;border-radius:16px;color:#4a5568;font-size:.9em;padding:4px 12px}.add-to-plan-btn{align-items:center;background:#3182ce;background:var(--primary-color);border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;gap:6px;padding:8px 16px;transition:background-color .2s ease}.add-to-plan-btn:hover{background:#2c5282;background:var(--primary-color-dark)}.add-to-plan-btn i{font-size:.9em}.menu-card:hover .add-to-plan-btn{opacity:1}.login-options{display:flex;flex-direction:column;gap:10px}.add-to-plan-button{background-color:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:.85rem;padding:5px 10px;transition:all .2s ease}.add-to-plan-button:hover{background-color:#f0f0f0;border-color:#ccc}.error,.loading{border-radius:8px;margin:20px;padding:20px}.loading{background-color:#f8f9fa}.error{background-color:#fff3f3;border:1px solid #ffcdd2}.menu-filter .menu-card{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a;overflow:hidden;position:relative;transition:transform .3s ease,box-shadow .3s ease}.menu-filter .menu-card:hover{box-shadow:0 5px 15px #0000001a;transform:translateY(-5px)}.menu-filter .menu-card .add-to-plan-btn{bottom:10px;opacity:1;position:absolute;right:10px;z-index:999}.menu-filter .menu-card .add-to-plan-btn:hover{background:#2c5282;background:var(--primary-color-dark)}.menu-filter .menu-card .add-to-plan-btn i{font-size:.9em}.search-filter-row{align-items:center;display:flex;gap:12px;margin:12px auto 8px;max-width:800px;padding:0 15px;position:relative;z-index:1001}.search-container{position:relative;width:100%}.search-input:focus{border-color:var(--primary-color)}.search-suggestions{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 12px #0000001a;left:0;margin-top:4px;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1002}.suggestion-item{align-items:center;border-bottom:1px solid #f7fafc;cursor:pointer;display:flex;justify-content:space-between;padding:12px 15px;transition:background-color .2s ease}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover{background-color:#f7fafc}.suggestion-text{color:#2d3748;font-size:.95rem;font-weight:500}.suggestion-type{background:#edf2f7;border-radius:12px;color:#718096;font-size:.75rem;padding:2px 8px;text-transform:capitalize}@media (max-width:768px){.search-suggestions{max-height:200px}.suggestion-item{padding:10px 12px}.suggestion-text{font-size:.875rem}.suggestion-type{font-size:.7rem}}.clear-filters-container{display:flex;justify-content:center;margin:0 auto;max-width:800px;padding:0 15px 6px}.filter-panel-trigger{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:10px;color:#4a5568;cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:8px;padding:10px 18px;position:relative;transition:all .2s ease}.filter-panel-trigger:hover{border-color:#3182ce;border-color:var(--primary-color);box-shadow:0 2px 8px #3182ce26;color:#3182ce;color:var(--primary-color);transform:translateY(-1px)}.filter-panel-trigger.has-filters{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff}.filter-panel-trigger.has-filters:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.filter-count{background:#fff;border-radius:10px;color:#667eea;font-size:.75rem;font-weight:700;min-width:20px;padding:2px 8px;text-align:center}.clear-filters-btn{align-items:center;background:#fee;border:1px solid #fcc;border-radius:8px;color:#dc2626;cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:6px;padding:8px 14px;transition:all .2s ease}.clear-filters-btn:hover{background:#fcc;transform:translateY(-1px)}.active-filters{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:0 auto;max-width:800px;padding:0 15px 10px}.filter-chip{align-items:center;animation:fadeIn .2s ease;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;display:inline-flex;font-size:.85rem;font-weight:500;gap:6px;padding:6px 12px}.filter-chip i{font-size:.75rem;opacity:.9}.filter-chip button{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:16px;justify-content:center;margin-left:4px;padding:0;transition:background .2s;width:16px}.filter-chip button:hover{background:#fff3}.filter-panel-overlay{animation:fadeIn .2s ease;background:#00000080;left:0;z-index:1000}.filter-panel,.filter-panel-overlay{bottom:0;position:fixed;right:0;top:80px}.filter-panel{animation:slideInRight .3s ease;background:#fff;box-shadow:-4px 0 20px #00000026;display:flex;flex-direction:column;max-width:400px;width:100%;z-index:1001}@keyframes slideInRight{0%{transform:translateX(100%)}to{transform:translateX(0)}}.filter-panel-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #e2e8f0;color:#fff;display:flex;justify-content:space-between;padding:20px}.filter-panel-header h3{font-size:1.3rem;font-weight:600;margin:0}.close-panel-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.close-panel-btn:hover{background:#ffffff4d;transform:rotate(90deg)}.filter-panel-content{flex:1 1;overflow-y:auto;padding:20px}.filter-section{margin-bottom:28px}.filter-section:last-child{margin-bottom:0}.filter-section h4{align-items:center;color:#2d3748;display:flex;font-size:1rem;font-weight:600;gap:8px;margin:0 0 12px}.filter-section h4 i{color:#667eea;font-size:.9rem}.filter-chips{display:flex;flex-wrap:wrap;gap:8px}.chip{align-items:center;background:#f7fafc;border:2px solid #e2e8f0;border-radius:20px;color:#4a5568;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:6px;padding:8px 14px;transition:all .2s ease;white-space:nowrap}.chip:hover{background:#edf2f7;border-color:#cbd5e0;transform:translateY(-1px)}.chip.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff}.chip.active:hover{box-shadow:0 2px 8px #667eea4d}.chip i{font-size:.75rem}.filter-panel-footer{background:#f9fafb;border-top:1px solid #e2e8f0;padding:20px}.apply-filters-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:8px;justify-content:center;padding:14px;transition:all .2s ease;width:100%}.apply-filters-btn:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.filter-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;border-radius:8px;color:#4a5568;font-size:.9rem;padding:10px 15px;width:100%}select.filter-select:not([multiple]){background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:1em;padding-right:40px}select.filter-select[multiple]{background-image:none;border:1px solid #e2e8f0;border-radius:8px;height:auto;max-height:200px;min-height:38px;overflow-y:auto;padding:0}select.filter-select[multiple] option{border-bottom:1px solid #e2e8f0;line-height:1.2;margin:0;min-height:32px;padding:8px 12px;white-space:normal}select.filter-select[multiple] option:first-child{background-color:#f7fafc;color:#718096;font-weight:500}select.filter-select[multiple] option:last-child{border-bottom:none}select.filter-select[multiple] option:checked{background:#3182ce;background:var(--primary-color);color:#fff}select.filter-select[multiple] option:hover:not(:disabled){background-color:#edf2f7}@media screen and (max-width:768px){.search-filter-row{gap:8px;margin:10px auto 6px;padding:0 10px}.search-container{flex:1 1}.search-input{font-size:.9rem;padding:10px 12px}.filter-panel-trigger{flex-shrink:0;font-size:.875rem;padding:10px 14px}.filter-panel-trigger span{display:none}.clear-filters-container{padding:0 10px 6px}.clear-filters-btn{font-size:.8rem;padding:8px 12px}.active-filters{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;padding:0 10px 8px}.filter-chip{flex-shrink:0;font-size:.8rem;padding:5px 10px}.filter-panel{max-width:100%}.filter-panel-content{padding:16px}.filter-section{margin-bottom:24px}.filter-section h4{font-size:.95rem}.chip{font-size:.8rem;padding:7px 12px}.filter-panel-footer{padding:16px}}@media screen and (max-width:360px){.filter-dropdown{min-width:90px}.filter-select{font-size:.8rem;padding:6px 8px}}.filters-section,.filters-toggle{display:none}.pagination-controls{flex-wrap:wrap;justify-content:center;margin:.75rem 0;padding:0 1rem}.pagination-button,.pagination-controls{align-items:center;display:flex;gap:.5rem}.pagination-button{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#4a5568;cursor:pointer;font-size:.875rem;font-weight:500;padding:8px 16px;transition:all .2s ease}.pagination-button:hover:not(:disabled){background:#f7fafc;border-color:#3182ce;border-color:var(--primary-color);color:#3182ce;color:var(--primary-color);transform:translateY(-1px)}.pagination-button:disabled{cursor:not-allowed;opacity:.4}.page-numbers{gap:.25rem}.page-number,.page-numbers{align-items:center;display:flex}.page-number{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#4a5568;cursor:pointer;font-size:.875rem;font-weight:500;height:36px;justify-content:center;min-width:36px;padding:0 8px;transition:all .2s ease}.page-number:hover{background:#f7fafc;color:#3182ce;color:var(--primary-color);transform:translateY(-1px)}.page-number.active,.page-number:hover{border-color:#3182ce;border-color:var(--primary-color)}.page-number.active{background:#3182ce;background:var(--primary-color);color:#fff;font-weight:600}.page-ellipsis{color:#a0aec0;font-weight:500;padding:0 8px}.page-info{color:#4a5568;font-size:.875rem}@media (max-width:768px){.pagination-controls{gap:.15rem;margin:.5rem 0}.pagination-button{font-size:.7rem;min-width:32px;padding:6px 8px}.pagination-button span{display:none}.page-number,.pagination-button i{font-size:.7rem}.page-number{height:28px;min-width:28px;padding:0 4px}.page-ellipsis,.page-info{font-size:.7rem}.page-ellipsis{padding:0 2px}.page-numbers{gap:.15rem}}.time-slider{margin:10px 0;padding:0 20px}.time-range-labels{color:#666;display:flex;font-size:.9em;justify-content:space-between;margin-top:8px}.filters-header{margin:20px 0;padding:0 20px}.filters-header,.filters-toggle{align-items:center;display:flex;justify-content:center}.filters-toggle{background:#3182ce;background:var(--primary-color);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;gap:10px;min-width:120px;padding:10px 20px;transition:background-color .2s ease}.filters-toggle:hover{background:#2c5282;background:var(--primary-color-dark)}.filters-toggle i{transition:transform .3s ease}.filters-section.hidden{margin:0;max-height:0;opacity:0;padding:0;pointer-events:none}.filters-section.visible{margin:20px 0}.card-actions{border-top:1px solid #eee;bottom:0;height:50px;justify-content:space-between;left:0;padding:0 15px;position:absolute;right:0}.card-actions,.like-button{align-items:center;background:#fff;display:flex}.like-button{border:1px solid #e2e8f0;border-radius:50%;color:#666;cursor:pointer;height:36px;justify-content:center;padding:8px;transition:all .2s ease;width:36px}.like-button.liked{border-color:#e53e3e;color:#e53e3e}.like-button i{font-size:1rem}.prep-time{align-items:center;color:#666;display:flex;font-size:.9rem;gap:5px;justify-content:center;margin:0}.menu-filter .menu-card .add-to-plan-btn{align-items:center;background:#3182ce;background:var(--primary-color);border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;gap:6px;padding:8px 16px;transition:background-color .2s ease}.menu-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;margin-top:10px;padding-bottom:10px}.menu-content{padding:20px}.menu-card .card-actions{align-items:center;background:#fff;border-top:1px solid #eee;bottom:0;display:flex;height:50px;justify-content:space-between;left:0;padding:0 15px;position:absolute;right:0;z-index:2}.menu-card .card-actions .like-button{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:20px;color:#666;cursor:pointer;display:flex;flex-shrink:0;gap:4px;height:36px;min-width:60px;padding:8px;transition:all .2s ease}.menu-card .card-actions .like-button .likes-count{color:#666;font-size:.85rem;margin-left:2px}.menu-card .card-actions .like-button.liked{border-color:#e53e3e;color:#e53e3e}.menu-card .card-actions .like-button.liked .likes-count{color:#e53e3e}.menu-card .card-actions .prep-time{align-items:center;background:#fff;color:#666;display:flex;font-size:.9rem;gap:5px;left:50%;padding:0 10px;position:absolute;transform:translateX(-50%);white-space:nowrap;z-index:1}.menu-card .card-actions .add-to-plan-btn{align-items:center;background:#3182ce;background:var(--primary-color);border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;gap:6px;height:36px;padding:8px 16px;transition:background-color .2s ease;white-space:nowrap;z-index:2}.menu-card .card-actions .add-to-plan-btn:hover{background:#2c5282;background:var(--primary-color-dark)}@media screen and (max-width:768px){.menu-filter-container{padding:0 5px}}.meal-plan-results-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.meal-plan-results-modal{background:#fff;border-radius:16px;box-shadow:0 20px 40px #00000026;display:flex;flex-direction:column;max-height:90vh;max-width:700px;overflow:hidden;width:100%}.results-header{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border-bottom:1px solid #e2e8f0;color:#fff;display:flex;justify-content:space-between;padding:24px 32px}.results-header h2{align-items:center;display:flex;font-size:1.5rem;font-weight:600;gap:12px;margin:0}.results-header h2 i{font-size:1.3rem}.results-content{flex:1 1;overflow-y:auto;padding:24px 32px}.summary-section{margin-bottom:32px}.summary-section h3{align-items:center;color:#2d3748;display:flex;font-size:1.2rem;font-weight:600;gap:8px;margin:0 0 16px}.summary-text{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;color:#0369a1;font-size:1rem;line-height:1.5;margin-bottom:20px;padding:16px}.stats-grid{grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.stat-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px;text-align:center}.stat-number{color:#10b981;font-size:2rem;margin-bottom:4px}.stat-label{color:#64748b;font-weight:500}.preferences-section{margin-bottom:24px}.preferences-section h3{margin:0 0 12px}.preference-tags{display:flex;flex-wrap:wrap;gap:8px}.preference-tag{border-radius:20px;font-size:.85rem;font-weight:500;padding:6px 12px;text-transform:capitalize}.preference-tag.dietary{background:#fef3c7;border:1px solid #fbbf24;color:#92400e}.preference-tag.cuisine{background:#dbeafe;border:1px solid #3b82f6;color:#1e40af}.meal-plan-preview{margin-bottom:24px}.meal-plan-preview h3{align-items:center;color:#2d3748;display:flex;font-size:1.1rem;font-weight:600;gap:8px;margin:0 0 16px}.meal-plan-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.meal-item{background:#f8fafc;border-radius:8px;padding:12px}.meal-date{color:#374151;font-size:.9rem;font-weight:600;margin-bottom:8px}.meal-details,.meal-type{align-items:center;display:flex}.meal-type{font-size:.85rem;font-weight:500;gap:4px}.more-meals{color:#6b7280;font-size:.9rem;font-style:italic;margin-top:12px;text-align:center}.next-steps{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;padding:20px}.next-steps h3{align-items:center;color:#0369a1;display:flex;font-size:1.1rem;font-weight:600;gap:8px;margin:0 0 16px}.next-steps ul{list-style:none;margin:0;padding-left:0}.next-steps li{align-items:center;color:#0369a1;display:flex;font-size:.95rem;gap:12px;margin-bottom:8px}.next-steps li i{color:#10b981;font-size:.9rem}.results-footer{background:#f7fafc;border-top:1px solid #e2e8f0;display:flex;justify-content:center;padding:24px 32px}.view-meal-plan-btn{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:8px;justify-content:center;padding:12px 24px;transition:all .2s}.view-meal-plan-btn:hover{box-shadow:0 4px 12px #10b98166;transform:translateY(-1px)}@media (max-width:768px){.meal-plan-results-overlay{align-items:flex-start;padding:80px 10px 10px}.meal-plan-results-modal{margin-top:0;max-height:calc(100vh - 90px)}.results-header{padding:16px 20px}.results-header h2{font-size:1.3rem}.results-content{padding:16px 20px}.stats-grid{grid-template-columns:repeat(2,1fr)}.meal-plan-grid{grid-template-columns:1fr}.results-footer{padding:16px 20px}}@media (max-width:480px){.meal-plan-results-overlay{padding:70px 5px 5px}.meal-plan-results-modal{border-radius:12px;max-height:calc(100vh - 75px)}.stats-grid{grid-template-columns:1fr}.preference-tags{justify-content:center}.meal-item{padding:10px}.results-header h2{font-size:1.1rem}.results-content,.results-footer{padding:12px 16px}}.meal-planify-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.meal-planify-modal{background:#fff;border-radius:16px;box-shadow:0 20px 40px #00000026;display:flex;flex-direction:column;max-height:90vh;max-width:800px;overflow:hidden;width:100%}.modal-header{background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #e2e8f0;color:#fff;flex-shrink:0;padding:24px 32px;position:relative;z-index:5}.modal-header h2{align-items:center;display:flex;font-size:1.5rem;gap:12px}.modal-header h2 i{font-size:1.3rem}.close-button{border-radius:8px;color:#fff;flex-shrink:0;font-size:1.5rem;height:40px;padding:8px;position:relative;top:0;transition:background-color .2s;width:40px;z-index:10}.close-button:hover{background-color:#ffffff1a}.modal-content{padding:24px 32px}.mealplanify-intro{align-items:flex-start;background:linear-gradient(135deg,#f0f4ff,#e8f0fe);border:1px solid #d4e0ff;border-radius:12px;display:flex;gap:16px;margin-bottom:24px;padding:20px}.mealplanify-intro .intro-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;display:flex;flex-shrink:0;font-size:1.25rem;height:48px;justify-content:center;width:48px}.mealplanify-intro .intro-text{flex:1 1}.mealplanify-intro .intro-headline{color:#1a1a2e;font-size:1.1rem;font-weight:600;margin:0 0 8px}.mealplanify-intro .intro-description{color:#4a5568;font-size:.9rem;line-height:1.5;margin:0}@media (max-width:600px){.mealplanify-intro{align-items:center;flex-direction:column;padding:16px;text-align:center}.mealplanify-intro .intro-icon{font-size:1rem;height:40px;width:40px}.mealplanify-intro .intro-headline{font-size:1rem}.mealplanify-intro .intro-description{font-size:.85rem}}.preferences-section{margin-bottom:32px}.preferences-section h3{font-weight:600;gap:8px;margin:0 0 16px}.loading-options{color:#718096}.loading-options,.no-options{font-size:.95rem;padding:24px;text-align:center}.no-options{color:#a0aec0;font-style:italic}.preference-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.preference-checkbox{align-items:center;background:#f7fafc;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;font-size:.9rem;gap:8px;padding:12px 16px;transition:all .2s}.preference-checkbox:hover{background:#edf2f7;border-color:#cbd5e0}.preference-checkbox input[type=checkbox]{accent-color:#667eea;height:16px;width:16px}.preference-checkbox input[type=checkbox]:checked+span{color:#667eea;font-weight:500}.preference-checkbox:has(input[type=checkbox]:checked){background:#e6f3ff;border-color:#667eea}.cost-options{display:flex;flex-wrap:wrap;gap:16px}.cost-option{cursor:pointer;flex:1 1;min-width:120px}.cost-option input[type=radio]{display:none}.cost-option-content{align-items:center;background:#f7fafc;border:2px solid #e2e8f0;border-radius:12px;display:flex;flex-direction:column;gap:8px;padding:20px 16px;text-align:center;transition:all .2s}.cost-option input[type=radio]:checked+.cost-option-content{background:#e6f3ff;border-color:#667eea;color:#667eea}.cost-option:hover .cost-option-content{background:#edf2f7;border-color:#cbd5e0}.cost-icon{font-size:1.5rem}.meal-options{display:flex;flex-wrap:wrap;gap:16px}.meal-option{align-items:center;background:#f7fafc;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;font-weight:500;gap:8px;padding:12px 20px;transition:all .2s}.meal-option input[type=checkbox]{accent-color:#667eea;height:16px;width:16px}.meal-option:has(input[type=checkbox]:checked){background:#e6f3ff;border-color:#667eea;color:#667eea}.day-options{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.day-option{align-items:center;background:#f7fafc;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;font-weight:500;gap:8px;justify-content:center;padding:12px 16px;transition:all .2s}.day-option input[type=checkbox]{accent-color:#667eea;height:16px;width:16px}.day-option:has(input[type=checkbox]:checked){background:#e6f3ff;border-color:#667eea;color:#667eea}.weeks-selector{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.week-option{align-items:flex-start;background:#f7fafc;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:12px 16px;transition:all .2s}.week-option input[type=checkbox]{accent-color:#667eea;flex-shrink:0;height:18px;margin-top:2px;width:18px}.week-option-content{display:flex;flex:1 1;flex-direction:column;gap:4px}.week-label{color:#2d3748;font-size:.95rem;font-weight:600}.week-dates{color:#718096;font-size:.85rem;font-weight:400}.week-option:hover{background:#edf2f7;border-color:#cbd5e0}.week-option:has(input[type=checkbox]:checked){background:#e6f3ff;border-color:#667eea}.week-option:has(input[type=checkbox]:checked) .week-label{color:#667eea}.week-option:has(input[type=checkbox]:checked) .week-dates{color:#667eea}.additional-options{display:flex;flex-direction:column;gap:12px}.additional-option{align-items:center;background:#f7fafc;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;font-weight:500;gap:12px;padding:16px 20px;transition:all .2s}.additional-option input[type=checkbox]{accent-color:#667eea;height:18px;width:18px}.additional-option:has(input[type=checkbox]:checked){background:#e6f3ff;border-color:#667eea;color:#667eea}.spice-level{background:#f7fafc;border-radius:12px;display:flex;flex-direction:column;gap:12px;padding:20px}.spice-slider{-webkit-appearance:none;appearance:none;background:#e2e8f0;border-radius:4px;height:8px;outline:none;width:100%}.spice-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#667eea;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:24px;width:24px}.spice-slider::-moz-range-thumb{background:#667eea;border:none;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:24px;width:24px}.spice-labels{color:#718096;display:flex;font-size:.9rem;font-weight:500;justify-content:space-between}.modal-footer{background:#f7fafc;border-top:1px solid #e2e8f0;gap:16px;padding:24px 32px}.save-preferences-btn{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#4a5568;cursor:pointer;display:flex;flex:1 1;font-weight:500;gap:8px;justify-content:center;padding:12px 24px;transition:all .2s}.save-preferences-btn:hover{background:#f7fafc;border-color:#cbd5e0}.save-preferences-btn:disabled{cursor:not-allowed;opacity:.6}.generate-meal-plan-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex:2 1;font-size:1rem;font-weight:600;gap:8px;justify-content:center;padding:12px 24px;transition:all .2s}.generate-meal-plan-btn:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.generate-meal-plan-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}@media (max-width:768px){.meal-planify-modal-overlay{align-items:flex-start;padding:80px 10px 10px}.meal-planify-modal{margin-top:0;max-height:calc(100vh - 90px)}.modal-header{padding:16px 20px}.modal-header h2{font-size:1.3rem}.modal-content{padding:16px 20px}.preferences-section{margin-bottom:24px}.preference-grid{grid-template-columns:1fr}.cost-options,.meal-options{flex-direction:column}.day-options{grid-template-columns:repeat(2,1fr)}.weeks-selector{grid-template-columns:1fr}.modal-footer{flex-direction:column;padding:16px 20px}.generate-meal-plan-btn,.save-preferences-btn{flex:none}}@media (max-width:480px){.meal-planify-modal-overlay{padding:70px 5px 5px}.meal-planify-modal{border-radius:12px;max-height:calc(100vh - 75px)}.day-options{grid-template-columns:1fr}.additional-option,.day-option,.meal-option,.preference-checkbox,.week-option{font-size:.9rem;padding:10px 12px}.modal-header h2{font-size:1.1rem}.modal-content,.modal-footer{padding:12px 16px}}.preview-banner-modal{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 8px #667eea4d;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:500;gap:10px;justify-content:center;padding:12px 20px;text-align:center}.preview-banner-modal i{font-size:1.1rem}.meal-planify-modal.preview-modal{opacity:1}.modal-content.preview-content{position:relative}.preview-checkbox,.preview-option,.preview-slider{cursor:pointer;position:relative}.preview-btn,.preview-checkbox input,.preview-option input,.preview-slider{cursor:pointer}.preview-btn{position:relative}.preview-btn:hover:after,.preview-checkbox:hover:after,.preview-option:hover:after{background-color:#2d3748;border-radius:6px;bottom:calc(100% + 8px);color:#fff;content:"🔒 Sign in required";font-size:.75rem;left:50%;opacity:1;padding:6px 12px;pointer-events:none;position:absolute;transform:translateX(-50%);white-space:nowrap;z-index:1000}@media (max-width:768px){.preview-banner-modal{font-size:12px;padding:10px 15px}.preview-btn:hover:after,.preview-checkbox:hover:after,.preview-option:hover:after{font-size:.7rem;padding:4px 8px}}.ingredient-verification-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.ingredient-verification-modal{background:#fff;border-radius:12px;box-shadow:0 20px 40px #00000026;display:flex;flex-direction:column;max-height:90vh;max-width:900px;overflow:hidden;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:20px;padding:24px 24px 0}.modal-header h2{color:#1f2937;font-size:24px;font-weight:600;margin:0}.close-button{align-items:center;background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.close-button:hover{background-color:#f3f4f6;color:#374151}.modal-content{flex:1 1;overflow-y:auto;padding:0 24px}.verification-info{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:24px;padding:16px}.verification-info p{color:#475569;line-height:1.5;margin:0 0 12px}.note{align-items:flex-start;background-color:#fef3c7;border:1px solid #f59e0b;border-radius:6px;display:flex;gap:8px;padding:12px}.note-icon{flex-shrink:0;font-size:16px}.note span:last-child{color:#92400e;font-size:14px;line-height:1.4}.shopping-list-container{margin-bottom:24px}.list-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.list-header h3{color:#1f2937;font-size:18px;font-weight:600;margin:0}.bulk-actions{display:flex;gap:8px}.deselect-all-btn,.select-all-btn{background-color:#fff;border:1px solid #d1d5db;border-radius:4px;color:#374151;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s ease}.deselect-all-btn:hover,.select-all-btn:hover{background-color:#f9fafb;border-color:#9ca3af}.shopping-list-table{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.table-header{background-color:#f9fafb;border-bottom:1px solid #e5e7eb;color:#374151;display:grid;font-size:14px;font-weight:600;grid-template-columns:60px 1fr 120px 200px}.table-header>div{align-items:center;border-right:1px solid #e5e7eb;display:flex;padding:12px 16px}.table-header>div:last-child{border-right:none}.table-body{max-height:400px;overflow-y:auto}.table-row{border-bottom:1px solid #f3f4f6;display:grid;grid-template-columns:60px 1fr 120px 200px;transition:all .2s ease}.table-row:hover{background-color:#f9fafb}.table-row.selected{background-color:#eff6ff}.table-row.deselected{background-color:#fef2f2;opacity:.7}.table-row>div{align-items:center;border-right:1px solid #f3f4f6;display:flex;min-height:60px;padding:12px 16px}.table-row>div:last-child{border-right:none}.col-checkbox{justify-content:center}.ingredient-checkbox{accent-color:#3b82f6;cursor:pointer;height:18px;width:18px}.col-ingredient{color:#1f2937;font-weight:500}.ingredient-name{font-size:15px}.ingredient-brand{color:#6b7280;display:block;font-size:12px;font-style:italic;margin-top:2px}.table-row.food-item{background-color:#f0fdf4}.table-row.food-item.selected{background-color:#dcfce7}.food-source{align-items:center;display:flex;gap:6px}.food-icon{font-size:18px}.no-source{color:#9ca3af;font-style:italic}.col-quantity{color:#6b7280;font-size:14px;font-weight:500}.col-sources{padding:8px 16px!important}.source-recipes{display:flex;flex-direction:column;gap:6px;width:100%}.recipe-source{align-items:center;background-color:#fff;border:1px solid #e5e7eb;border-radius:4px;display:flex;font-size:11px;gap:8px;max-width:180px;padding:4px 6px}.recipe-thumbnail{border:1px solid #e5e7eb;border-radius:3px;flex-shrink:0;height:20px;object-fit:cover;width:20px}.recipe-title{color:#374151;flex:1 1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-footer{background-color:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:20px 24px}.cancel-button{background-color:#fff;border:1px solid #d1d5db;color:#374151;font-weight:500;transition:all .2s ease}.cancel-button:hover{background-color:#f9fafb;border-color:#9ca3af}.confirm-button{background-color:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px;transition:all .2s ease}.confirm-button:hover:not(:disabled){background-color:#2563eb}.confirm-button:disabled{background-color:#9ca3af;cursor:not-allowed}@media (max-width:768px){.ingredient-verification-overlay{align-items:flex-start;padding:80px 10px 10px}.ingredient-verification-modal{margin-top:0;max-height:calc(100vh - 90px);max-width:100%}.modal-header{padding:16px 16px 0}.modal-content{padding:0 16px}.modal-footer{padding:16px}.table-header,.table-row{grid-template-columns:50px 1fr 100px 150px}.table-header>div,.table-row>div{font-size:13px;padding:8px 12px}.recipe-source{max-width:130px;padding:3px 4px}.recipe-thumbnail{height:16px;width:16px}.recipe-title{font-size:10px}.list-header{align-items:flex-start;flex-direction:column;gap:12px}.bulk-actions{justify-content:flex-end;width:100%}}@media (max-width:480px){.ingredient-verification-overlay{padding:70px 5px 5px}.ingredient-verification-modal{border-radius:8px;max-height:calc(100vh - 75px)}.table-header,.table-row{grid-template-columns:40px 1fr 80px 120px}.table-header>div,.table-row>div{font-size:12px;padding:6px 8px}.recipe-source{max-width:100px}.recipe-title{font-size:9px}.modal-header h2{font-size:18px}.modal-footer{flex-direction:column;padding:12px}.cancel-button,.confirm-button{width:100%}}.shopping-list-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:16px;position:fixed;right:0;top:0;z-index:10000}.shopping-list-modal{animation:slideUp .3s ease-out;background:linear-gradient(180deg,#fff,#f8fafc);border-radius:20px;box-shadow:0 25px 50px -12px #00000040;display:flex;flex-direction:column;max-height:90vh;max-width:520px;overflow:hidden;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.shopping-list-header{background:linear-gradient(135deg,#059669,#10b981 50%,#34d399);color:#fff;padding:20px 24px 16px}.shopping-list-header .sl-header-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.shopping-list-header h2{align-items:center;display:flex;font-size:22px;font-weight:700;gap:12px;margin:0;text-shadow:0 1px 2px #0000001a}.shopping-list-header h2 i{font-size:24px}.shopping-list-header .sl-close-button{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:18px;height:40px;justify-content:center;transition:all .2s ease;width:40px}.shopping-list-header .sl-close-button:hover{background:#ffffff59;transform:scale(1.05)}.sl-shopping-summary{display:flex;font-size:14px;gap:20px;margin-bottom:16px;opacity:.95}.sl-shopping-summary span{align-items:center;display:flex;gap:8px}.sl-shopping-summary i{font-size:14px;opacity:.9}.sl-progress-container{background:#ffffff26;border-radius:12px;padding:12px 16px}.sl-progress-bar{background:#ffffff4d;border-radius:5px;height:10px;margin-bottom:8px;overflow:hidden}.sl-progress-fill{background:#fff;border-radius:5px;box-shadow:0 0 10px #ffffff80;height:100%;transition:width .4s ease}.sl-progress-text{font-size:13px;font-weight:500;opacity:.95}.shopping-list-controls{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:14px 20px}.sl-sort-controls{align-items:center;display:flex;gap:10px}.sl-sort-controls label{color:#6b7280;font-size:13px;font-weight:500}.sl-sort-controls select{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;font-size:13px;padding:8px 12px;transition:border-color .2s}.sl-sort-controls select:focus{border-color:#10b981;outline:none}.sl-bulk-actions{display:flex;gap:8px}.sl-action-btn{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#4b5563;cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:6px;padding:8px 14px;transition:all .2s ease}.sl-action-btn:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.sl-action-btn:disabled{cursor:not-allowed;opacity:.5}.sl-action-btn i{font-size:12px}.shopping-list-content{background:#f8fafc;flex:1 1;overflow-y:auto;padding:8px 0}.sl-empty-list{align-items:center;color:#9ca3af;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.sl-empty-list i{font-size:48px;margin-bottom:16px;opacity:.5}.sl-empty-list p{font-size:16px;margin:0}.sl-empty-list .sl-hint{font-size:14px;margin-top:8px;opacity:.7}.sl-shopping-items{list-style:none;margin:0;padding:0 16px}.sl-shopping-item{align-items:center;background:#fff;border:2px solid #0000;border-radius:12px;box-shadow:0 1px 3px #0000000d;cursor:pointer;display:flex;gap:14px;margin-bottom:8px;padding:16px;transition:all .2s ease}.sl-shopping-item:hover{border-color:#10b981;box-shadow:0 4px 6px -1px #0000001a}.sl-shopping-item.checked{background:#f0fdf4;border-color:#bbf7d0;opacity:.75}.sl-shopping-item.checked .sl-item-name{color:#9ca3af;text-decoration:line-through}.sl-item-checkbox{flex-shrink:0;position:relative}.sl-checkbox-input{height:0;opacity:0;position:absolute;width:0}.sl-checkbox-custom{align-items:center;background:#fff;border:2px solid #d1d5db;border-radius:50%;display:flex;height:28px;justify-content:center;transition:all .2s ease;width:28px}.sl-shopping-item:hover .sl-checkbox-custom{border-color:#10b981}.sl-shopping-item.checked .sl-checkbox-custom{background:#10b981;border-color:#10b981;color:#fff}.sl-checkbox-custom i{font-size:14px}.sl-item-details{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.sl-item-name{color:#1f2937;font-size:15px;font-weight:500;line-height:1.3;transition:all .2s ease}.sl-item-quantity{color:#6b7280;font-size:13px;font-weight:500}.sl-item-brand{color:#6b7280;display:block;font-size:11px;font-style:italic;margin-top:2px}.sl-item-sources{align-items:center;display:flex;flex-shrink:0;gap:4px}.sl-source-thumb{border:2px solid #fff;border-radius:6px;box-shadow:0 1px 2px #0000001a;height:28px;margin-left:-8px;object-fit:cover;width:28px}.sl-source-thumb:first-child{margin-left:0}.sl-more-sources{background:#f3f4f6;border-radius:10px;color:#6b7280;font-size:11px;font-weight:600;margin-left:4px;padding:4px 8px}.sl-food-indicator{align-items:center;background:linear-gradient(135deg,#dcfce7,#bbf7d0);border-radius:6px;color:#16a34a;display:flex;font-size:14px;height:28px;justify-content:center;width:28px}.sl-shopping-item.food-item{background:linear-gradient(135deg,#f0fdf4,#ecfdf5)}.sl-shopping-item.food-item.checked{background:#f9fafb}.shopping-list-footer{background:#fff;border-top:1px solid #e5e7eb;display:flex;flex-direction:column;gap:14px;padding:16px 20px}.sl-footer-tip{align-items:center;color:#6b7280;display:flex;font-size:13px;gap:8px;justify-content:center}.sl-footer-tip i{color:#fbbf24}.sl-done-button{align-items:center;background:linear-gradient(135deg,#059669,#10b981);border:none;border-radius:12px;box-shadow:0 4px 14px #10b9814d;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:10px;justify-content:center;padding:16px;transition:all .2s ease;width:100%}.sl-done-button:hover{box-shadow:0 6px 20px #10b98166;transform:translateY(-1px)}.sl-done-button i{font-size:18px}@media (max-width:768px){.shopping-list-overlay{align-items:flex-end;padding:0}.shopping-list-modal{border-radius:24px 24px 0 0;max-height:95vh;max-width:100%}.shopping-list-header{border-radius:24px 24px 0 0;padding:16px 20px 14px}.sl-header-top{margin-bottom:12px}.shopping-list-header h2{font-size:20px}.sl-shopping-summary{font-size:13px;gap:16px;margin-bottom:12px}.sl-progress-container{padding:10px 14px}.shopping-list-controls{padding:12px 16px}.sl-sort-controls select{font-size:12px;padding:6px 10px}.sl-action-btn{font-size:11px;padding:6px 10px}.sl-shopping-items{padding:0 12px}.sl-shopping-item{border-radius:10px;margin-bottom:6px;padding:14px}.sl-checkbox-custom{height:32px;width:32px}.sl-item-name{font-size:14px}.sl-item-quantity{font-size:12px}.sl-source-thumb{height:24px;width:24px}.shopping-list-footer{padding:14px 16px 24px}.sl-footer-tip{font-size:12px}.sl-done-button{font-size:15px;padding:14px}}@media (max-width:375px){.shopping-list-header h2{font-size:18px}.sl-shopping-summary{flex-direction:column;gap:8px}.shopping-list-controls{align-items:stretch;flex-direction:column}.sl-sort-controls{justify-content:space-between}.sl-bulk-actions{justify-content:center}.sl-shopping-item{gap:10px;padding:12px}.sl-checkbox-custom{height:28px;width:28px}.sl-item-sources{display:none}}.nutrition-goal-summary{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:1rem;overflow:hidden}.nutrition-goal-summary.no-goal{background:linear-gradient(135deg,#10b98115,#10b98108);border:1px solid #10b98130}.no-goal-content{align-items:center;display:flex;gap:1rem;padding:1rem 1.25rem}.no-goal-content i{color:#10b981;font-size:1.5rem}.no-goal-text{display:flex;flex:1 1;flex-direction:column}.no-goal-text strong{color:#1a1a2e;font-size:.95rem}.no-goal-text span{color:#666;font-size:.85rem}.create-goal-link{align-items:center;background:#10b981;border-radius:6px;color:#fff;display:inline-flex;font-size:.85rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;text-decoration:none;transition:background .2s}.create-goal-link:hover{background:#059669}.summary-header{align-items:center;background:linear-gradient(135deg,#10b98120,#10b98110);cursor:pointer;justify-content:space-between;padding:.75rem 1rem;-webkit-user-select:none;user-select:none}.header-left{gap:.75rem}.header-left i{color:#10b981}.goal-name{color:#1a1a2e;font-weight:600}.goal-type-badge{background:#10b981;border-radius:4px;color:#fff;font-size:.7rem;padding:.2rem .5rem;text-transform:uppercase}.header-right{align-items:center;display:flex;gap:1rem}.manage-link{align-items:center;color:#10b981;display:flex;font-size:.85rem;font-weight:500;gap:.35rem;text-decoration:none}.manage-link:hover{text-decoration:underline}.delete-plan-btn{background:none;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;font-size:.9rem;padding:.25rem .5rem;transition:all .2s}.delete-plan-btn:hover{background:#fee2e2;color:#ef4444}.header-right>i{color:#666}.coach-badge{align-items:center;background:linear-gradient(135deg,#8b5cf6,#6d28d9);border-radius:12px;color:#fff;display:inline-flex;font-size:.7rem;font-weight:600;gap:.35rem;letter-spacing:.3px;padding:.25rem .6rem;text-transform:uppercase}.coach-badge i{font-size:.65rem}.delete-confirm-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.delete-confirm-modal{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0003;max-width:400px;padding:1.5rem;width:90%}.delete-confirm-modal h4{align-items:center;color:#ef4444;display:flex;gap:.5rem;margin:0 0 1rem}.delete-confirm-modal p{color:#4b5563;line-height:1.5;margin:0 0 1.5rem}.delete-confirm-actions{display:flex;gap:.75rem;justify-content:flex-end}.delete-confirm-actions .cancel-btn{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-weight:500;padding:.5rem 1rem}.delete-confirm-actions .cancel-btn:hover{background:#f9fafb}.delete-confirm-actions .confirm-delete-btn{align-items:center;background:#ef4444;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:.35rem;padding:.5rem 1rem}.delete-confirm-actions .confirm-delete-btn:hover{background:#dc2626}.delete-confirm-actions .confirm-delete-btn:disabled{background:#fca5a5;cursor:not-allowed}.summary-content{padding:1rem}.targets-row{display:flex;gap:.75rem;margin-bottom:1rem}.target-item{background:#f8fafc;flex:1 1;padding:.5rem}.target-item.highlight{background:linear-gradient(135deg,#10b98120,#10b98110);border:1px solid #10b98130}.target-label{font-size:.7rem}.target-value{display:block;font-size:.95rem;font-weight:600}.target-item.highlight .target-value{color:#10b981}.progress-section{border-top:1px solid #e5e7eb;padding-top:1rem}.progress-section h4{align-items:center;color:#1a1a2e;display:flex;font-size:.9rem;gap:.5rem;margin:0 0 .75rem}.progress-section h4 i{color:#10b981}.meal-count{color:#888;font-size:.8rem;font-weight:400}.progress-bars{display:flex;flex-direction:column;gap:.75rem}.progress-item{width:100%}.progress-header{font-size:.8rem;margin-bottom:.25rem}.progress-header span:first-child{color:#1a1a2e;font-weight:500}.progress-header span:last-child{color:#666}.progress-bar{background:#e5e7eb}.progress-fill{transition:width .3s ease}.progress-row-small{display:flex;gap:1rem}.progress-item.small{color:#666;font-size:.75rem}.protein-tip{align-items:center;background:#fef3c7;border-radius:8px;color:#92400e;display:flex;font-size:.85rem;gap:.5rem;margin-top:.75rem;padding:.75rem}.protein-tip i{color:#f59e0b}.no-meals-message,.select-date-hint{align-items:center;background:#f8fafc;border-radius:8px;color:#666;display:flex;font-size:.9rem;gap:.5rem;justify-content:center;padding:1rem;text-align:center}.no-meals-message i,.select-date-hint i{color:#10b981}.nutrition-goal-summary.collapsed .summary-content{display:none}@media (max-width:600px){.nutrition-goal-summary{overflow:visible}.summary-header{flex-wrap:wrap;gap:.5rem;padding:.6rem .75rem}.header-left{flex:1 1 100%;min-width:0}.header-left .goal-name{font-size:.9rem;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-right{flex:1 1 100%;flex-wrap:nowrap;gap:.5rem;justify-content:flex-start}.header-right>i.fas{flex-shrink:0;font-size:1rem;margin-left:auto;min-width:20px;padding:.25rem;text-align:center}.coach-badge{font-size:.6rem;padding:.2rem .4rem}.manage-link{font-size:.8rem}.goal-type-badge{font-size:.6rem;padding:.15rem .4rem}.targets-row{flex-wrap:wrap}.target-item{flex:1 1 45%}.no-goal-content{flex-wrap:wrap}.create-goal-link{justify-content:center;margin-top:.5rem;width:100%}}.meal-plan{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.day-cell{min-height:120px;overflow:hidden;padding:4px}.date-number{font-size:.9em;font-weight:700;margin-bottom:4px}.meal-slot{background:#f8f9fa;border-radius:4px;margin:2px 0;min-height:20px;padding:2px}.meal-item{box-sizing:border-box;max-width:100%}.meal-item:hover{background-color:#f7fafc}.meal-item-image{border-radius:2px;flex-shrink:0;height:16px;margin-right:4px;object-fit:cover;width:16px}.meal-item-title{flex:1 1;margin-right:4px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remove-meal{align-items:center;background:none;border:none;color:#e53e3e;cursor:pointer;display:flex;flex-shrink:0;font-size:1em;line-height:1;padding:0 2px}.remove-meal:hover{color:#c53030}.react-calendar{background:#fff;border:1px solid #e2e8f0;border-radius:8px;max-width:100%;padding:8px;width:100%}.react-calendar__month-view__days__day{aspect-ratio:1;max-height:150px}.react-calendar__tile{overflow:hidden;padding:0}.meal-plan-container{overflow-x:hidden}.fc,.meal-plan-container{box-sizing:border-box;max-width:100%}.fc{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden;padding:1rem;width:100%}.fc-view-harness{max-width:100%;overflow:hidden}.fc-scroller{overflow-x:hidden!important;overflow-y:auto}.fc-list-table,.fc-scroller{box-sizing:border-box!important;max-width:100%!important}.fc-list-table{table-layout:fixed!important;width:100%!important}.fc-list-table tbody,.fc-list-table thead{max-width:100%;width:100%}.fc-list-event-title{box-sizing:border-box;max-width:100%;overflow:hidden}.fc-list-table tr{display:table;max-width:100%;table-layout:fixed;width:100%}.fc-list-table td,.fc-list-table th{box-sizing:border-box;overflow:hidden}@media (min-width:768px){.meal-plan-container{padding:2rem}.day-cell{min-height:120px;overflow:hidden;padding:4px}.meal-slot{background:#f8f9fa;border-radius:4px;margin:2px 0;min-height:20px;padding:2px}}@media (max-width:767px){.meal-plan-container{max-width:100vw;overflow-x:hidden;padding:10px}.fc{box-sizing:border-box!important;max-width:100%!important;overflow:hidden!important;padding:.5rem!important;width:100%!important}.fc *{box-sizing:border-box}.fc .fc-toolbar{flex-direction:column;gap:.5rem}.fc .fc-toolbar-title{font-size:1.2em}.fc .fc-button{font-size:.9em;padding:.2em .4em}.fc .fc-scroller{overflow-x:hidden!important;overflow-y:auto!important}.fc .fc-list-table,.fc .fc-scroller{box-sizing:border-box!important;max-width:100%!important;width:100%!important}.fc .fc-list-table{background-color:#fafafa;table-layout:fixed!important}.fc .fc-list-table tbody,.fc .fc-list-table thead,.fc .fc-list-table tr{max-width:100%!important;width:100%!important}.fc .fc-list-table tr{display:table!important;table-layout:fixed!important}.fc .fc-list-table td,.fc .fc-list-table th{box-sizing:border-box!important;max-width:100%!important;overflow:hidden!important}.fc .fc-list-day{background-color:initial;max-width:100%!important;width:100%}.fc .fc-list-event{box-sizing:border-box;cursor:pointer;max-width:100%!important;overflow:hidden;padding:8px 6px;transition:background-color .2s ease;width:100%}.fc .fc-scroller-harness{max-width:100%!important;overflow-x:hidden!important;width:100%}.fc .fc-list-event:hover{background-color:#f8f9fa}.fc .fc-list-event-title{box-sizing:border-box;padding:0!important}.fc .fc-list-day th,.fc .fc-list-event-title,.meal-event{max-width:100%;overflow:hidden}.meal-event{align-items:center;background:#fff;border-radius:6px;box-sizing:border-box;display:flex;gap:10px;min-height:64px;padding:10px 6px;transition:all .2s ease}.fc .fc-list-event:active .meal-event{background-color:#f1f5f9;transform:scale(.98)}.meal-event-image{border-radius:6px;flex-shrink:0;height:48px;object-fit:cover;width:48px}.meal-event-content{display:flex;flex:1 1;flex-direction:column;gap:3px;min-width:0;overflow:hidden}.meal-type{color:#718096;font-size:.7rem;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.meal-event-title{color:#2d3748;font-size:.9rem;font-weight:500;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remove-meal-btn{font-size:1rem;height:36px;min-width:36px;padding:6px}}.meal-slot h4{color:#666;font-size:.7em;margin:0 0 2px;text-transform:capitalize}.meal-item{background:#fff;border:1px solid #e2e8f0;border-radius:4px;cursor:pointer;font-size:.75em;margin:1px 0;padding:2px 4px;transition:background-color .2s}.error,.loading{color:#666;padding:2rem;text-align:center}.error{color:#e53e3e}.fc-list-event{cursor:pointer}.meal-event{align-items:center;background:#fff;border-radius:6px;display:flex;gap:10px;min-height:64px;padding:10px 6px;transition:all .2s ease;width:100%}.meal-event-image{border-radius:6px;flex-shrink:0;height:48px;object-fit:cover;width:48px}.meal-event-content{display:flex;flex:1 1;flex-direction:column;gap:3px;min-width:0}.meal-type{color:#718096;font-size:.7rem;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.meal-event-title{color:#2d3748;font-size:.9rem;font-weight:500;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meal-event.food-event{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-left:3px solid #22c55e}.food-icon{align-items:center;background:#22c55e;border-radius:8px;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.food-icon i{color:#fff;font-size:1rem}.food-title{color:#166534!important}.food-macros{color:#166534;font-size:.7rem;font-weight:500;gap:.5rem}.food-macros span{background:#22c55e33;border-radius:3px;padding:1px 4px}.remove-meal-btn{align-items:center;background:none;border:none;color:#dc3545;cursor:pointer;display:flex;flex-shrink:0;font-size:1rem;height:36px;justify-content:center;min-width:36px;padding:6px}@media (max-width:768px){.fc-list-day{margin:8px 0;position:relative}.fc-list-day-cushion{border-radius:4px;cursor:pointer;font-size:1rem;font-weight:600;padding:14px 12px;position:relative;transition:background-color .2s ease-in-out}.fc-list-event{border-bottom:none;margin-bottom:8px}.fc-list-event:last-child{margin-bottom:0}.fc-list-event .meal-event{box-shadow:0 1px 3px #00000014}.fc-list-event:hover .meal-event{box-shadow:0 2px 6px #0000001f}.fc-list-day.selected-date{background-color:#4a90e233!important}.fc-list-day.selected-date .fc-list-day-cushion{border:2px solid #4a90e2!important;border-radius:4px}.selection-instructions{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#f8f9faf2;border-bottom:1px solid #e2e8f0;margin:0;padding:12px 16px;position:-webkit-sticky;position:sticky;text-align:center;top:0;z-index:10}.selection-instructions p{color:#4a5568;font-size:.9rem;margin:4px 0}.fc-list-event-dot,.fc-list-event-graphic{display:none!important}.fc-list-event-title{padding-left:8px!important}}.fc-event{background:#fff!important;border:1px solid #e2e8f0!important}.fc-event:hover{background:#f8f9fa!important}.fc-daygrid-event{background:#fff!important;border:1px solid #e2e8f0!important;margin:2px 0!important;min-height:40px!important;padding:2px!important}.fc-daygrid-event .meal-event{height:100%;padding:2px}.fc-daygrid-event .meal-event-image{border-radius:4px;height:36px;width:36px}.fc-daygrid-event .meal-event-content{display:flex;flex:1 1;flex-direction:column;justify-content:center;min-width:0}.fc-daygrid-event .meal-type{color:#666;font-size:.7rem;line-height:1.1;text-transform:capitalize}.fc-daygrid-event .meal-event-title{color:#333;font-size:.8rem;font-weight:500;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fc .fc-daygrid-event-harness{margin:2px 0}.fc-daygrid-event-harness a{overflow:visible!important}.fc .fc-daygrid-body-balanced .fc-daygrid-day-events{position:relative!important}.meal-plan-actions{flex-wrap:wrap;gap:16px;margin-bottom:20px;margin-top:20px}.meal-plan-actions,.shopping-list-button{align-items:center;display:flex;justify-content:center}.shopping-list-button{background:linear-gradient(135deg,#059669,#10b981);border:none;border-radius:15px;box-shadow:0 2px 4px #10b98133;color:#fff;cursor:pointer;font-size:14px;font-weight:500;gap:8px;height:36px;padding:16px 18px;transition:all .2s ease}.shopping-list-button:hover:not(:disabled){box-shadow:0 4px 8px #10b9814d;transform:translateY(-1px)}.shopping-list-button:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.shopping-list-button i{font-size:16px}.buy-weekly-ingredients-button{align-items:center;background-color:#fff;border:.5px solid #e8e9eb;border-radius:15px;color:#000;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;height:36px;justify-content:center;padding:16px 18px;transition:all .2s ease}.buy-weekly-ingredients-button:hover{background-color:#f8f8f8}.buy-weekly-ingredients-button .instacart-logo{height:22px;object-fit:contain;width:22px}.buy-weekly-ingredients-button.loading{color:#0000;position:relative}.buy-weekly-ingredients-button.loading:after{animation:spin 1s linear infinite;border:2px solid #e8e9eb;border-radius:50%;border-top-color:#ff7009;content:"";height:16px;position:absolute;width:16px}.buy-ingredients-btn{display:none}@media (max-width:768px){.meal-plan-actions{align-items:stretch;box-sizing:border-box;flex-direction:column;gap:8px;max-width:100%;overflow:hidden;padding:0 4px}.build-meal-plan-button,.buy-weekly-ingredients-button,.meal-planify-button,.select-dates-button,.shopping-list-button{box-sizing:border-box;max-width:100%;width:100%}.shop-button-container{flex-direction:column;gap:8px;max-width:100%;width:100%}}.selection-instructions{background-color:#f8f9fa;border:1px solid #e2e8f0;border-radius:8px;margin:10px 0;padding:12px 16px;text-align:center}.selection-instructions p{color:#4a5568;font-size:.9rem;margin:4px 0}.meal-event.select-mode{cursor:pointer;opacity:.85}.meal-plan-container[data-selection-mode=true]{.fc-list-day-cushion{transition:background-color .2s ease}.fc-list-day-text{color:#4a90e2}}.select-dates-button{align-items:center;background-color:#fff;border:1px solid #e2e8f0;border-radius:4px;color:#4a90e2;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;height:36px;justify-content:center;min-width:140px;padding:8px 16px;transition:all .2s ease}.select-dates-button:hover{background-color:#f7fafc;border-color:#cbd5e0}.select-dates-button.active{background-color:#ebf5ff;border-color:#4a90e2;color:#4a90e2}.build-meal-plan-button{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;box-shadow:0 2px 4px #10b9814d;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;height:36px;justify-content:center;min-width:150px;padding:8px 16px;transition:all .2s ease}.build-meal-plan-button:hover{box-shadow:0 4px 8px #10b98166;transform:translateY(-1px)}.build-meal-plan-button.continue{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 2px 4px #f59e0b4d}.build-meal-plan-button.continue:hover{box-shadow:0 4px 8px #f59e0b66}.build-meal-plan-button i{font-size:1rem}.current-plan-badge{align-items:center;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac;border-radius:20px;color:#166534;display:flex;font-size:12px;font-weight:600;gap:6px;padding:6px 12px}.current-plan-badge i{color:#22c55e}.meal-planify-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 2px 4px #667eea4d;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;height:36px;justify-content:center;min-width:140px;padding:8px 16px;transition:all .2s ease}.meal-planify-button:hover{box-shadow:0 4px 8px #667eea66;transform:translateY(-1px)}.meal-planify-button i{font-size:1rem}.meal-plan-container[data-selection-mode=true]{.fc-list-event{opacity:.85}.fc-list-event:hover{opacity:1}}.fc-list-day.selected-date .fc-list-day-cushion{background-color:#4a90e233;border:2px solid #4a90e2;border-radius:4px}@media (max-width:768px){.fc-list-day{position:relative}.fc-list-day-cushion{margin:4px 0;padding:12px 8px;transition:background-color .2s ease}.meal-plan-container[data-selection-mode=true]{.fc-list-day-cushion:hover{background-color:#4a90e21a}.fc-list-day.selected-date .fc-list-day-cushion{background-color:#4a90e233;border:2px solid #4a90e2;border-radius:4px}}.selection-instructions{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#f8f9faf2;border-bottom:1px solid #e2e8f0;margin:0;padding:12px 16px;position:-webkit-sticky;position:sticky;text-align:center;top:0;z-index:10}.selection-instructions p{color:#4a5568;font-size:.9rem;margin:4px 0}}.meal-plan-container{padding:20px;position:relative}.meal-plan-container[data-selection-mode=true]{.fc-event{cursor:pointer;opacity:.85}.fc-event:hover{opacity:1}.fc-day,.fc-list-day{cursor:pointer}}.fc .fc-day.selected-date,.fc .fc-list-day.selected-date{background-color:#4a90e21a!important}.fc .fc-day.selected-date{border:1px solid #4a90e2!important}.fc .fc-list-day.selected-date{border-left:2px solid #4a90e2!important}.fc .fc-day:hover,.fc .fc-list-day:hover{background-color:#4a90e20d!important}.selection-instructions{background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;margin-bottom:15px;padding:10px;position:-webkit-sticky;position:sticky;top:0;z-index:1}.selection-instructions p{color:#495057;margin:5px 0}.fc-list-event-dot,.fc-list-event-graphic{display:none!important}.fc-list-event-title{padding-left:8px!important}@media (max-width:768px){.meal-plan-container{box-sizing:border-box;max-width:100vw;overflow-x:hidden;padding:10px;width:100%}.selection-instructions{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#f8f9faf2;margin:0 0 10px;max-width:100%}.fc-scroller-liquid-absolute,.fc-view-harness{max-width:100%!important;overflow-x:hidden!important;width:100%!important}.fc-scroller-liquid-absolute{box-sizing:border-box!important}.fc-list-day-cushion{word-wrap:break-word;box-sizing:border-box;max-width:100%!important;overflow:hidden;width:100%}.fc tbody,.fc thead{max-width:100%;width:100%}img{height:auto;max-width:100%}}.meal-plan-container[data-selection-mode=true]{.fc-list-day.selected-date{background-color:#4a90e20d!important}.fc-list-day.selected-date .fc-list-day-cushion{background-color:#4a90e233!important;border-left:4px solid #4a90e2!important;font-weight:600}.fc-list-event{cursor:pointer!important;transition:all .2s ease}.fc-list-event:hover{background-color:#4a90e21a!important;transform:scale(1.01)}.fc-list-day.selected-date .fc-list-event{background-color:#4a90e20d}}.fc-list-day-cushion{position:relative;width:100%;z-index:1}.selection-instructions.info-mode{background-color:#e8f4ff;border:1px solid #b3d7ff;border-radius:8px;margin:10px 0;padding:12px 16px;text-align:center}.selection-instructions.info-mode p{align-items:center;color:#06c;display:flex;gap:8px;justify-content:center;margin:0}.selection-instructions i,.selection-instructions.info-mode i{font-size:1.1rem}.shop-button-container{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;gap:12px;justify-content:center;position:relative}.selected-days-indicator{background-color:#e8f4ff;border-radius:4px;color:#4a90e2;font-size:.8rem;padding:2px 8px;white-space:nowrap}.buy-weekly-ingredients-button:disabled{cursor:not-allowed;opacity:.6;position:relative}.buy-weekly-ingredients-button:disabled:after{background-color:#4a5568;border-radius:4px;color:#fff;content:"Select dates first";font-size:.75rem;left:50%;opacity:0;padding:4px 8px;pointer-events:none;position:absolute;top:-30px;transform:translateX(-50%);transition:opacity .2s;white-space:nowrap}.buy-weekly-ingredients-button:disabled:hover:after{opacity:1}@media (max-width:768px){.shop-button-container{width:100%}.selected-days-indicator{font-size:.75rem}.selection-instructions.info-mode p{font-size:.9rem}}.meal-plan-preview-wrapper{width:100%}.meal-plan-container.preview-mode{opacity:1;position:relative}.disabled-preview:hover{transform:none!important}.disabled-preview:after{background-color:#2d3748;border-radius:6px;color:#fff;content:"🔒 Sign in required";font-size:.75rem;left:50%;opacity:0;padding:6px 12px;pointer-events:none;position:absolute;top:-35px;transform:translateX(-50%);transition:opacity .2s;white-space:nowrap;z-index:1000}.disabled-preview:hover:after{opacity:1}.meal-event-preview{cursor:default!important;opacity:.9}.login-prompt-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.login-prompt-modal{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0003;max-width:400px;padding:30px;text-align:center}.login-prompt-modal h3{color:#2d3748;font-size:1.5rem;margin-top:0}.login-prompt-modal p{color:#4a5568;margin:15px 0 25px}.login-prompt-modal button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:15px;font-weight:500;padding:10px 24px}.login-prompt-modal button:hover{opacity:.9}@media (max-width:768px){.preview-banner{font-size:13px;padding:10px 15px}.disabled-preview:after{font-size:.7rem;padding:4px 8px}.login-prompt-modal{margin:20px;padding:20px}}.share-meal-plan-button{align-items:center;background:linear-gradient(135deg,#43cea2,#185a9d);border:none;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:10px 20px;transition:all .3s ease}.share-meal-plan-button:hover:not(:disabled){box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.share-meal-plan-button:disabled{cursor:not-allowed;opacity:.6}.share-meal-plan-button i{font-size:16px}.modal-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:0;position:fixed;right:0;top:0;z-index:10000}.share-modal{animation:slideDown .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;margin:auto;max-height:90vh;max-width:500px;overflow-y:auto;padding:0;width:90%}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.share-modal-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #e2e8f0;border-radius:16px 16px 0 0;display:flex;justify-content:space-between;padding:20px 24px;position:relative}.share-modal-header h2{align-items:center;color:#fff;display:flex;flex:1 1;font-size:20px;font-weight:600;gap:12px;margin:0;padding-right:10px}.share-modal-header i{font-size:22px}.close-modal-btn{background:#fff3;border-radius:50%;color:#fff;flex-shrink:0;font-size:20px;height:36px;min-width:36px;width:36px}.close-modal-btn:hover{background:#ffffff59;transform:scale(1.05)}.share-modal-content{padding:28px}.share-description{color:#4a5568;font-size:14px;line-height:1.6;margin:0 0 24px}.share-link-container{display:flex;gap:12px;margin-bottom:24px}.share-link-input{background:#f7fafc;border:2px solid #e2e8f0;border-radius:8px;color:#2d3748;flex:1 1;font-family:Monaco,Courier New,monospace;font-size:14px;outline:none;padding:12px 16px;transition:border-color .2s}.share-link-input:focus{background:#fff;border-color:#667eea}.copy-link-btn{align-items:center;background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 20px;transition:background .2s;white-space:nowrap}.copy-link-btn:hover{background:#5568d3}.copy-link-btn i{font-size:16px}.share-actions{margin-bottom:20px}.disable-sharing-btn{align-items:center;background:#f56565;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 18px;transition:background .2s}.disable-sharing-btn:hover{background:#e53e3e}.disable-sharing-btn i{font-size:16px}.share-note{align-items:flex-start;background:#edf2f7;border-left:4px solid #667eea;border-radius:6px;color:#4a5568;display:flex;font-size:13px;gap:10px;padding:14px}.share-note i{color:#667eea;flex-shrink:0;margin-top:2px}@media (max-width:768px){.modal-overlay{align-items:center;padding:10px}.share-meal-plan-button{font-size:13px;padding:8px 16px}.share-modal{margin:0;max-height:calc(100vh - 40px);max-width:none;width:100%}.share-modal-header{padding:16px 18px}.share-modal-header h2{font-size:16px;gap:8px}.share-modal-header h2 i{font-size:18px}.close-modal-btn{background:#ffffff4d;font-size:18px;height:32px;min-width:32px;width:32px}.close-modal-btn:hover{background:#ffffff73}.share-modal-content{padding:20px}.share-description{font-size:13px}.share-link-container{flex-direction:column}.share-link-input{font-size:12px;padding:10px 14px;word-break:break-all}.copy-link-btn,.disable-sharing-btn{justify-content:center;width:100%}.share-note{font-size:12px;padding:12px}}.shared-meal-plan-container{margin:0 auto;max-width:1400px;padding:20px}.shared-meal-plan-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 6px #0000001a;color:#fff;margin-bottom:30px;padding:30px}.shared-meal-plan-header .header-content{align-items:center;display:flex;gap:15px;margin-bottom:10px}.shared-meal-plan-header i{font-size:32px}.shared-meal-plan-header h1{font-size:28px;font-weight:600;margin:0}.shared-meal-plan-header .shared-info{font-size:14px;margin:0 0 0 47px;opacity:.9}.error-message{color:#666;padding:60px 20px}.error-message i{color:#ddd;font-size:64px;margin-bottom:20px}.error-message h2{color:#333;margin-bottom:10px}.error-message p{color:#666;font-size:16px}.loading{padding:100px 20px}@media (max-width:768px){.shared-meal-plan-container{padding:10px}.shared-meal-plan-header{margin-bottom:20px;padding:20px 16px}.shared-meal-plan-header .header-content{gap:12px;margin-bottom:8px}.shared-meal-plan-header h1{font-size:20px}.shared-meal-plan-header i{font-size:22px}.shared-meal-plan-header .shared-info{font-size:13px;line-height:1.4;margin-left:0}.error-message{padding:40px 20px}.error-message i{font-size:48px}.error-message h2{font-size:20px}.error-message p{font-size:14px}.loading{font-size:16px;padding:60px 20px}}.user-dashboard{margin:0 auto;max-width:1200px;padding:2rem}.dashboard-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.menu-limit-indicator{align-items:center;display:flex;gap:1rem}.menu-count{background:#f0f4f8;border-radius:20px;color:#4a5568;font-size:.9rem;padding:.5rem 1rem}.upgrade-button{align-items:center;background:#553c9a;border:none;border-radius:20px;color:#fff;cursor:pointer;display:flex;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s}.upgrade-button:hover{background:#44337a;transform:translateY(-1px)}.crown-icon{font-size:1.2rem}.empty-state{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:4rem 2rem;text-align:center}.empty-state-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:1.5rem}.empty-state-actions .add-menu-button,.empty-state-actions .extract-menu-button,.empty-state-actions .image-import-button{align-items:center;display:flex;gap:.5rem}.empty-state img{margin-bottom:2rem;width:200px}.empty-state h2{color:#2d3748;margin-bottom:1rem}.empty-state p{color:#718096;margin-bottom:2rem}.dashboard-actions{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.menu-item-card{transition:transform .2s}.personal-badge{background:#4fd1c5e6;border-radius:20px;color:#fff;font-size:.8rem;font-weight:500;padding:.25rem .75rem;position:absolute;right:1rem;top:1rem}@media (max-width:768px){.user-dashboard{padding:1rem}.dashboard-header{text-align:center}.dashboard-actions,.dashboard-header{flex-direction:column;gap:1rem}.menu-limit-indicator{flex-direction:column;gap:.5rem}}.success-message{animation:fadeIn .3s ease-in;background-color:#d4edda;border-radius:4px;color:#155724;margin:1rem 0;padding:1rem;text-align:center}.action-buttons{align-items:center;display:flex;gap:1rem}.extract-menu-button{background-color:#2ecc71;font-weight:600}.extract-menu-button:hover{background-color:#27ae60}.extract-menu-button:disabled{background-color:#95a5a6;cursor:not-allowed}.image-import-button{background:linear-gradient(135deg,#667eea,#764ba2);font-weight:600;transition:all .2s}.image-import-button:hover{box-shadow:0 4px 12px #667eea4d}.image-import-button:disabled{background:#95a5a6;box-shadow:none;cursor:not-allowed;transform:none}.usage-stats-banner{background:linear-gradient(135deg,#f8fafc,#edf2f7);border:1px solid #e2e8f0;border-radius:10px;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding:1rem 1.5rem}.usage-stat-item{align-items:center;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000000d;color:#4a5568;display:flex;font-size:.9rem;gap:8px;padding:8px 16px}.usage-stat-item i{color:#667eea;font-size:1rem}@media (max-width:600px){.usage-stats-banner{flex-direction:column}.usage-stat-item{justify-content:center;width:100%}}.my-menus-preview-wrapper{width:100%}.user-dashboard.preview-mode{opacity:1;position:relative}.menu-item-card.preview-card{position:relative}.preview-overlay{align-items:center;background:#0009;border-radius:8px;bottom:0;cursor:pointer;display:flex;flex-direction:column;gap:10px;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s;z-index:10}.preview-overlay:hover{opacity:1}.preview-overlay i{color:#fff;font-size:2rem}.preview-overlay span{color:#fff;font-size:1rem;font-weight:600}.disabled-preview{cursor:not-allowed!important;opacity:.7;position:relative}.disabled-preview:hover{opacity:.8}.search-input.disabled-preview{background-color:#f7fafc;cursor:not-allowed}.menu-count.preview-text{background:linear-gradient(135deg,#e8f4ff,#f0e8ff);color:#667eea;font-weight:500}@media (max-width:768px){.preview-banner{font-size:13px;padding:10px 15px}.preview-overlay i{font-size:1.5rem}.preview-overlay span{font-size:.9rem}.preview-cta{padding:2rem 1rem}.preview-cta h2{font-size:1.3rem}.preview-cta p{font-size:1rem}}.header-title-row{align-items:center;display:flex;gap:1rem}.tier-free{background:#e5e7eb;color:#6b7280}.tier-standard{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.tier-premium{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.upgrade-banner{align-items:center;background:linear-gradient(135deg,#f5f7ff,#faf5ff);border:1px solid #e5e7eb;border-radius:12px;display:flex;gap:1rem;margin-top:1rem;padding:1rem 1.5rem}.upgrade-banner i{color:#667eea;font-size:1.2rem}.upgrade-banner span{color:#4a5568;flex:1 1;font-size:.95rem}.upgrade-banner-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.5rem 1rem;transition:all .2s}.upgrade-banner-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.dashboard-header{align-items:flex-start;flex-direction:column}.menu-limit-indicator{margin-top:.5rem}@media (max-width:600px){.header-title-row{flex-wrap:wrap}.upgrade-banner{flex-direction:column}.upgrade-banner,.upgrade-banner span{text-align:center}}.affiliate-registration{margin:0 auto;max-width:700px;padding:2rem}.loading-spinner{padding:4rem 2rem;text-align:center}.loading-spinner i{color:#667eea;font-size:3rem;margin-bottom:1rem}.loading-spinner p{color:#718096;font-size:1.1rem}.registration-hero{margin-bottom:2rem;text-align:center}.hero-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 10px 30px #667eea4d;display:flex;height:80px;justify-content:center;margin:0 auto 1.5rem;width:80px}.hero-icon i{color:#fff;font-size:2.5rem}.registration-hero h1{color:#2d3748;font-size:2rem;margin:0 0 .75rem}.registration-intro{color:#718096;font-size:1.15rem;margin:0}.registration-success{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:3rem 2rem;text-align:center}.success-icon{background:linear-gradient(135deg,#48bb78,#38a169);height:100px;margin:0 auto 1.5rem;width:100px}.success-icon i{color:#fff;font-size:3rem}.registration-success h1{color:#2d3748;margin:0 0 1rem}.registration-success p{color:#718096;font-size:1.1rem;margin-bottom:1.5rem}.dashboard-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;display:inline-flex;font-size:1.1rem;gap:10px;padding:1rem 2rem;transition:all .2s}.dashboard-button:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.suspended-notice{align-items:center;background:#fff5f5;border:1px solid #feb2b2;border-radius:10px;color:#c53030;display:flex;gap:12px;padding:1.5rem}.suspended-notice i{font-size:1.5rem}.registration-form{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:2rem}.quick-signup-section{margin-bottom:1.5rem}.benefits-list{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}.benefit-item{align-items:center;background:#f0fff4;border-radius:8px;color:#276749;display:flex;font-size:.95rem;gap:10px;padding:12px 16px}.benefit-item i{color:#48bb78;font-size:1rem}.error-message{background:#fff5f5;border:1px solid #feb2b2;border-radius:10px;color:#c53030}.error-message,.success-message{align-items:center;display:flex;gap:10px;padding:1rem 1.25rem}.success-message{background:#f0fff4;border:1px solid #9ae6b4;border-radius:10px;color:#276749;margin-bottom:1.5rem}.terms-section{background:#f7fafc;border:none;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.terms-container{display:flex;flex-direction:column;gap:15px}.view-terms-button{align-items:center;align-self:flex-start;background:#0000;border:1px solid #e2e8f0;border-radius:8px;color:#4a5568;cursor:pointer;display:flex;font-size:.9rem;gap:8px;padding:10px 16px;transition:all .2s}.view-terms-button:hover{background:#edf2f7;border-color:#cbd5e0}.terms-content{background:#fff;border:1px solid #e2e8f0;border-radius:8px;max-height:250px;overflow-y:auto;padding:15px}.terms-content pre{color:#4a5568;font-family:inherit;font-size:.85rem;line-height:1.6;margin:0;white-space:pre-wrap}.terms-acceptance{padding-top:5px}.checkbox-label{align-items:center;color:#2d3748;cursor:pointer;display:flex;font-size:.95rem;gap:12px;padding-left:32px;position:relative}.checkbox-label input[type=checkbox]{accent-color:#667eea;cursor:pointer;height:20px;left:0;position:absolute;width:20px}.optional-fields-toggle{border-bottom:1px dashed #e2e8f0;border-top:1px dashed #e2e8f0;margin-bottom:1.5rem;padding:1rem 0;text-align:center}.toggle-optional-button{align-items:center;background:#0000;border:1px solid #667eea;border-radius:8px;color:#667eea;cursor:pointer;display:inline-flex;font-size:.95rem;gap:8px;padding:10px 20px;transition:all .2s}.toggle-optional-button:hover{background:#667eea;color:#fff}.optional-hint{color:#a0aec0;font-size:.85rem;margin:10px 0 0}.form-section{border-bottom:1px solid #edf2f7}.form-section:last-of-type{margin-bottom:0;padding-bottom:0}.form-section h2{align-items:center;color:#2d3748;display:flex;font-size:1.1rem;gap:10px;margin:0 0 1rem}.form-section h2 i{color:#667eea;font-size:1rem}.section-hint{color:#a0aec0;font-size:.85rem;margin:-.5rem 0 1rem}.form-group label i{color:#a0aec0;margin-right:6px}.form-group input,.form-group select{background:#fff;padding:.75rem 1rem;transition:all .2s;width:100%}.form-group input::placeholder{color:#a0aec0}.social-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.form-actions{margin-top:1.5rem;text-align:center}.submit-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;box-shadow:0 4px 15px #667eea4d;display:inline-flex;font-size:1.1rem;font-weight:600;gap:10px;padding:1rem 3rem;transition:all .2s}.submit-button:hover:not(:disabled){box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.submit-button:disabled{cursor:not-allowed;opacity:.6;transform:none}@media (max-width:600px){.affiliate-registration{padding:1rem}.registration-hero h1{font-size:1.5rem}.registration-intro{font-size:1rem}.registration-form{padding:1.5rem}.benefits-list,.social-grid{grid-template-columns:1fr}.submit-button{justify-content:center;width:100%}}.affiliate-registration-preview-wrapper{width:100%}.preview-banner{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 8px #667eea4d;color:#fff;display:flex;font-size:15px;font-weight:500;gap:10px;justify-content:center;padding:12px 20px;text-align:center}.preview-banner i{font-size:1.2rem}.affiliate-registration.preview-mode{opacity:1}.preview-info-box{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px solid #dee2e6;border-radius:12px;margin-bottom:2rem;padding:2rem}.preview-info-box h3{color:#2d3748;font-size:1.3rem;margin-bottom:1rem;margin-top:0}.preview-info-box ul{list-style:none;margin:0;padding:0}.preview-info-box li{color:#4a5568;font-size:1rem;line-height:1.6;padding:.5rem 0}.registration-form.preview-form{position:relative}.preview-input{cursor:pointer!important}.preview-input,.preview-input:focus{background-color:#f7fafc!important}.preview-checkbox{cursor:pointer}.preview-submit-btn{background:linear-gradient(135deg,#667eea,#764ba2)!important;cursor:pointer!important;position:relative}.preview-submit-btn:hover{opacity:.9}.preview-submit-btn:hover:after{background-color:#2d3748;border-radius:6px;bottom:calc(100% + 8px);color:#fff;content:"🔒 Sign in required";font-size:.75rem;left:50%;opacity:1;padding:6px 12px;pointer-events:none;position:absolute;transform:translateX(-50%);white-space:nowrap;z-index:1000}.preview-signin-section{background:linear-gradient(135deg,#f0fff4,#e6fffa);border:2px solid #9ae6b4;border-radius:16px;margin-bottom:2rem;padding:2rem;text-align:center}.preview-signin-section h3{color:#276749;font-size:1.25rem;margin:0 0 .5rem}.preview-signin-section p{color:#4a5568;font-size:.95rem;margin:0 0 1.25rem}.preview-signin-buttons{display:flex;gap:1rem;justify-content:center}.preview-signin-section .dev-login-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:500;gap:8px;padding:12px 24px;transition:all .2s}.preview-signin-section .dev-login-button:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.preview-signin-section .google-login-wrapper{display:flex;justify-content:center}.preview-signin-section .auth-error{color:#c53030;font-size:.875rem;margin-top:1rem}.quick-signup-section h3{color:#2d3748;font-size:1.1rem;margin:0 0 1rem;text-align:center}.form-hint{color:#a0aec0;font-size:.85rem;margin:12px 0 0}.preview-cta{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;margin-top:3rem;padding:3rem 2rem;text-align:center}.preview-cta h2{color:#2d3748;margin-bottom:1rem}.preview-cta p{color:#4a5568;font-size:1.1rem}@media (max-width:768px){.preview-banner{font-size:13px;padding:10px 15px}.preview-info-box{padding:1.5rem}.preview-info-box h3{font-size:1.1rem}.preview-info-box li{font-size:.9rem}.preview-cta{padding:2rem 1rem}.preview-cta h2{font-size:1.3rem}.preview-cta p{font-size:1rem}.preview-submit-btn:hover:after{font-size:.7rem;padding:4px 8px}}.legal-container{color:#333;font-family:Poppins,sans-serif;line-height:1.6;margin:0 auto;max-width:800px;padding:40px 20px}.legal-container h1{color:var(--primary-color);font-size:2.5rem;margin-bottom:20px}.last-updated{color:#666;font-style:italic}.last-updated,.legal-container section{margin-bottom:40px}.legal-container h2{border-bottom:2px solid #eee;color:var(--primary-color);font-size:1.8rem;margin-bottom:20px;padding-bottom:10px}.legal-container h3{color:#444;font-size:1.4rem;margin:20px 0 15px}.legal-container p{margin-bottom:15px}.legal-container ul{margin:15px 0;padding-left:20px}.legal-container li{margin-bottom:10px}@media (max-width:768px){.legal-container{padding:20px}.legal-container h1{font-size:2rem}.legal-container h2{font-size:1.5rem}.legal-container h3{font-size:1.2rem}}.faq-page{--faq-green:#16a34a;--faq-green-light:#4ade80;--faq-purple:#a855f7;--faq-dark:#1a1a2e;--faq-gray:#64748b;--faq-light:#f8fafc;--faq-border:#e2e8f0;font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;margin:0 auto;max-width:900px;padding:2rem 1.5rem 4rem}.faq-header{border-bottom:2px solid var(--faq-border);margin-bottom:3rem;padding-bottom:2rem;text-align:center}.faq-header h1{color:var(--faq-dark);font-size:clamp(2rem,4vw,2.75rem);font-weight:700;margin:0 0 .75rem}.faq-header p{color:var(--faq-gray);font-size:1.15rem;margin:0}.faq-content{gap:2.5rem}.faq-category,.faq-content{display:flex;flex-direction:column}.faq-category{gap:.75rem}.faq-category-title{border-left:4px solid var(--faq-green);color:var(--faq-dark);font-size:1.35rem;font-weight:600;margin:0 0 .5rem;padding-left:.5rem}.faq-items{display:flex;flex-direction:column;gap:.5rem}.faq-item{background:#fff;border:1px solid var(--faq-border);overflow:hidden;transition:all .2s ease}.faq-item:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000000a}.faq-item.open{border-color:var(--faq-green-light);box-shadow:0 4px 12px #16a34a1a}.faq-question{align-items:center;background:none;border:none;color:var(--faq-dark);cursor:pointer;display:flex;font-family:inherit;font-size:1.05rem;font-weight:500;gap:1rem;justify-content:space-between;padding:1.25rem 1.5rem;text-align:left;transition:color .2s ease;width:100%}.faq-item.open .faq-question,.faq-question:hover{color:var(--faq-green)}.faq-chevron{color:var(--faq-gray);flex-shrink:0;transition:transform .3s ease}.faq-item.open .faq-chevron{color:var(--faq-green);transform:rotate(180deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease}.faq-item.open .faq-answer{max-height:500px}.faq-answer p{color:var(--faq-gray);font-size:1rem;line-height:1.7;margin:0;padding:0 1.5rem 1.5rem}.faq-cta{background:linear-gradient(135deg,var(--faq-light) 0,#f0fdf4 100%);border-radius:20px;margin-top:4rem;padding:3rem 2rem;text-align:center}.faq-cta h3{color:var(--faq-dark);font-size:1.5rem;font-weight:700;margin:0 0 .5rem}.faq-cta>p{color:var(--faq-gray);font-size:1.05rem;margin:0 0 1.5rem}.faq-cta-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.faq-cta-primary,.faq-cta-secondary{align-items:center;border-radius:12px;display:inline-flex;font-family:inherit;font-size:1rem;font-weight:600;justify-content:center;padding:.875rem 1.75rem;text-decoration:none;transition:all .2s ease}.faq-cta-primary{background:linear-gradient(135deg,var(--faq-green) 0,#059669 100%);box-shadow:0 4px 15px #16a34a4d;color:#fff}.faq-cta-primary:hover{box-shadow:0 6px 20px #16a34a66;transform:translateY(-2px)}.faq-cta-secondary{background:#fff;border:2px solid var(--faq-purple);color:var(--faq-purple)}.faq-cta-secondary:hover{background:var(--faq-purple);color:#fff;transform:translateY(-2px)}@media (max-width:640px){.faq-page{padding:1.5rem 1rem 3rem}.faq-header{margin-bottom:2rem;padding-bottom:1.5rem}.faq-header h1{font-size:1.75rem}.faq-header p{font-size:1rem}.faq-category-title{font-size:1.15rem}.faq-question{font-size:.95rem;padding:1rem 1.25rem}.faq-answer p{font-size:.95rem;padding:0 1.25rem 1.25rem}.faq-cta{margin-top:3rem;padding:2rem 1.5rem}.faq-cta h3{font-size:1.25rem}.faq-cta-buttons{align-items:center;flex-direction:column}.faq-cta-primary,.faq-cta-secondary{max-width:280px;width:100%}}@media (prefers-reduced-motion:reduce){.faq-answer,.faq-chevron,.faq-cta-primary,.faq-cta-secondary,.faq-item{transition:none}}.landing-page{--landing-green:#16a34a;--landing-green-light:#4ade80;--landing-orange:#f97316;--landing-orange-light:#fdba74;--landing-cyan:#06b6d4;--landing-purple:#a855f7;--landing-dark:#1a1a2e;--landing-gray:#64748b;--landing-light:#f8fafc;background:linear-gradient(165deg,#fff,#f0fdf4 50%,#fff7ed);font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;min-height:calc(100vh - 56px);overflow-x:hidden;position:relative}.landing-bg-shapes{inset:0;overflow:hidden;pointer-events:none;position:absolute;z-index:0}.shape{border-radius:50%;filter:blur(80px);opacity:.4;position:absolute}.shape-1{background:var(--landing-green-light);height:400px;right:-100px;top:-100px;width:400px}.shape-2{background:var(--landing-orange-light);bottom:40%;height:300px;left:-80px;width:300px}.shape-3{background:var(--landing-cyan);bottom:10%;height:250px;opacity:.25;right:10%;width:250px}.landing-hero{margin:0 auto;max-width:1200px;padding:3rem 2rem 2rem;position:relative;z-index:1}.landing-hero-centered{align-items:center;display:flex;justify-content:center;min-height:50vh}.hero-content{animation:fadeInUp .6s ease-out}.hero-content-centered{max-width:700px;text-align:center}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero-badge{background:linear-gradient(135deg,var(--landing-green-light) 0,var(--landing-cyan) 100%);border-radius:100px;display:inline-block;font-size:.85rem;font-weight:600;letter-spacing:.02em;margin-bottom:1.5rem;padding:.5rem 1rem}.hero-badge,.hero-title{color:var(--landing-dark)}.hero-title{font-size:clamp(2.5rem,5vw,3.75rem);font-weight:700;line-height:1.1;margin:0 0 1.5rem}.hero-title .highlight{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--landing-green) 0,var(--landing-cyan) 100%);-webkit-background-clip:text;background-clip:text}.hero-subtitle{color:var(--landing-gray);font-size:1.15rem;line-height:1.7;margin:0 0 2rem;max-width:600px}.hero-content-centered .hero-subtitle{margin-left:auto;margin-right:auto}.hero-cta{display:flex;flex-direction:column;gap:1.25rem}.cta-primary,.hero-cta-centered{align-items:center}.cta-primary{background:linear-gradient(135deg,var(--landing-green) 0,#059669 100%);border:none;border-radius:14px;box-shadow:0 4px 20px #16a34a59;color:#fff;cursor:pointer;display:inline-flex;font-family:inherit;font-size:1.1rem;font-weight:600;gap:.75rem;justify-content:center;padding:1rem 2rem;text-decoration:none;transition:all .3s ease;width:-webkit-fit-content;width:fit-content}.cta-primary:hover{box-shadow:0 8px 30px #16a34a73;transform:translateY(-3px)}.cta-primary:active{transform:translateY(-1px)}.cta-primary svg{transition:transform .3s ease}.cta-primary:hover svg{transform:translateX(4px)}.cta-divider{align-items:center;color:var(--landing-gray);display:flex;font-size:.9rem;gap:1rem;max-width:250px;width:100%}.cta-divider:after,.cta-divider:before{background:linear-gradient(90deg,#0000,#e2e8f0,#0000);content:"";flex:1 1;height:1px}.login-section{display:flex;flex-direction:column;gap:.75rem}.login-section-centered{align-items:center}.login-label{color:var(--landing-gray);font-size:.95rem;margin:0}.google-login-wrapper{width:-webkit-fit-content;width:fit-content}.dev-login-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;font-family:inherit;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.dev-login-button:hover{box-shadow:0 4px 15px #667eea66;transform:translateY(-2px)}.auth-error{color:#dc2626;font-size:.875rem;margin:0}.landing-showcase{animation:fadeInUp .6s ease-out .2s backwards;margin:0 auto;max-width:700px;padding:2rem 2rem 4rem;position:relative;z-index:1}.menu-showcase{background:#fff;border-radius:24px;box-shadow:0 25px 50px -12px #00000026,0 0 0 1px #0000000d;padding:1.5rem}.showcase-header{align-items:baseline;border-bottom:2px solid var(--landing-green-light);display:flex;gap:.5rem;margin-bottom:1rem;padding-bottom:1rem}.showcase-count{color:var(--landing-green);font-size:2rem;font-weight:700}.showcase-label{color:var(--landing-gray);font-size:1rem;font-weight:500}.showcase-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(3,1fr)}.showcase-card{aspect-ratio:1;border-radius:16px;cursor:pointer;overflow:hidden;position:relative;transition:all .4s ease}.showcase-card img{height:100%;object-fit:cover;transition:transform .4s ease;width:100%}.showcase-card:hover img{transform:scale(1.08)}.showcase-card-overlay{background:linear-gradient(#0000,#000000b3);bottom:0;display:flex;flex-direction:column;gap:.15rem;left:0;opacity:0;padding:2.5rem .75rem .75rem;position:absolute;right:0;transition:opacity .3s ease}.showcase-card.active .showcase-card-overlay,.showcase-card:hover .showcase-card-overlay{opacity:1}.showcase-card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#fff;display:-webkit-box;font-size:.8rem;font-weight:600;line-height:1.2;overflow:hidden}.showcase-card.active .showcase-card-title{font-size:.85rem}.showcase-card-cuisine{color:var(--landing-green-light);font-size:.7rem;font-weight:500}.showcase-card.active .showcase-card-cuisine{font-size:.75rem}.showcase-badge{align-items:center;border-top:1px solid #f1f5f9;color:var(--landing-gray);display:flex;font-size:.9rem;gap:.5rem;justify-content:center;margin-top:1rem;padding-top:1rem}.showcase-badge svg{color:var(--landing-orange)}.landing-benefits{margin:0 auto;max-width:1200px;padding:4rem 2rem 5rem;position:relative;z-index:1}.benefits-title{color:var(--landing-dark);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;margin:0 auto 3rem;max-width:600px;text-align:center}.benefits-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(4,1fr)}.benefit-card{background:#fff;border:1px solid #0000000a;border-radius:20px;box-shadow:0 4px 20px #0000000d;padding:2rem 1.5rem;transition:all .3s ease}.benefit-card:hover{box-shadow:0 15px 35px #0000001a;transform:translateY(-6px)}.benefit-icon{color:var(--landing-dark);height:64px;margin-bottom:1.25rem;width:64px}.benefit-icon svg{height:100%;width:100%}.benefit-card h3{color:var(--landing-dark);font-size:1.15rem;font-weight:600;margin:0 0 .6rem}.benefit-card p{color:var(--landing-gray);font-size:.95rem;line-height:1.6;margin:0}.landing-affiliate{background:linear-gradient(135deg,#faf5ff,#f0fdf4);margin-top:2rem;padding:5rem 2rem;position:relative;z-index:1}.affiliate-content{grid-gap:4rem;align-items:center;display:grid;gap:4rem;grid-template-columns:1.2fr 1fr;margin:0 auto;max-width:1200px}.affiliate-text{animation:fadeInUp .5s ease-out}.affiliate-badge{background:linear-gradient(135deg,var(--landing-purple) 0,var(--landing-orange) 100%);border-radius:100px;color:#fff;display:inline-block;font-size:.85rem;font-weight:600;margin-bottom:1.25rem;padding:.5rem 1rem}.affiliate-text h2{color:var(--landing-dark);font-size:clamp(1.75rem,3.5vw,2.25rem);font-weight:700;margin:0 0 1rem}.affiliate-text>p{color:var(--landing-gray);font-size:1.1rem;line-height:1.7;margin:0 0 1.5rem}.affiliate-perks{display:flex;flex-direction:column;gap:.75rem;list-style:none;margin:0 0 2rem;padding:0}.affiliate-perks li{align-items:center;color:var(--landing-dark);display:flex;font-size:1rem;gap:.75rem}.affiliate-perks svg{flex-shrink:0}.affiliate-cta{align-items:center;background:linear-gradient(135deg,var(--landing-purple) 0,#7c3aed 100%);border:none;border-radius:14px;box-shadow:0 4px 20px #a855f759;color:#fff;cursor:pointer;display:inline-flex;font-family:inherit;font-size:1.1rem;font-weight:600;gap:.75rem;padding:1rem 2rem;text-decoration:none;transition:all .3s ease}.affiliate-cta:hover{box-shadow:0 8px 30px #a855f773;transform:translateY(-3px)}.affiliate-cta svg{transition:transform .3s ease}.affiliate-cta:hover svg{transform:translateX(4px)}.affiliate-visual{display:flex;justify-content:center}.earnings-card{animation:floatCard 4s ease-in-out infinite;background:#fff;border-radius:24px;box-shadow:0 25px 50px -12px #0000001f,0 0 0 1px #0000000d;max-width:320px;padding:2rem;width:100%}@keyframes floatCard{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.earnings-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.earnings-label{color:var(--landing-dark);font-weight:600}.earnings-period{background:#f1f5f9;border-radius:100px;color:var(--landing-gray);font-size:.85rem;padding:.25rem .75rem}.earnings-amount{color:var(--landing-green);font-size:3rem;font-weight:700;line-height:1;margin-bottom:1.5rem}.earnings-stats{grid-gap:1rem;border-top:2px solid #f1f5f9;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);padding-top:1.5rem}.earnings-stat{text-align:center}.stat-value{color:var(--landing-dark);display:block;font-size:1.5rem;font-weight:700}.stat-label{color:var(--landing-gray);font-size:.8rem}.landing-final-cta{background:linear-gradient(135deg,var(--landing-dark) 0,#16213e 100%);padding:5rem 2rem;position:relative;z-index:1}.final-cta-content{margin:0 auto;max-width:700px;text-align:center}.final-cta-content h2{color:#fff;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;margin:0 0 1rem}.final-cta-content p{color:#ffffffb3;font-size:1.15rem;margin:0 0 2rem}.cta-large{font-size:1.2rem;margin:0 auto;padding:1.25rem 2.5rem}@media (max-width:1024px){.landing-hero-centered{min-height:auto;padding:2.5rem 1.5rem 2rem}.benefits-grid{grid-template-columns:repeat(2,1fr)}.affiliate-content{gap:3rem;grid-template-columns:1fr;text-align:center}.affiliate-perks{align-items:center}.affiliate-cta{margin:0 auto}}@media (max-width:640px){.landing-page{min-height:auto}.landing-hero{padding:2rem 1rem 1rem}.hero-title{font-size:2rem}.hero-subtitle{font-size:1rem}.landing-showcase{padding:1rem 1rem 3rem}.menu-showcase{padding:1.25rem}.showcase-grid{grid-template-columns:repeat(2,1fr)}.showcase-card:nth-child(5),.showcase-card:nth-child(6){display:none}.showcase-header{align-items:flex-start;flex-direction:column;gap:.25rem}.benefits-grid{grid-template-columns:1fr;margin:0 auto;max-width:400px}.benefit-card{padding:1.5rem}.benefit-icon{height:56px;width:56px}.landing-affiliate{padding:3rem 1rem}.affiliate-text h2{font-size:1.5rem}.earnings-card{max-width:280px;padding:1.5rem}.earnings-amount{font-size:2.5rem}.landing-final-cta{padding:3rem 1rem}.cta-large{max-width:300px;width:100%}}@media (prefers-reduced-motion:reduce){.affiliate-text,.earnings-card,.hero-content,.landing-showcase{animation:none}.affiliate-cta:hover,.benefit-card:hover,.cta-primary:hover{transform:none}.showcase-card img{transition:none}}.site-footer{background-color:#f8f9fa;border-top:1px solid #eee;margin-top:60px;padding:40px 0 20px}.footer-content{grid-gap:40px;display:grid;gap:40px;grid-template-columns:repeat(4,1fr);margin:0 auto;max-width:1200px;padding:0 20px}.footer-section h3{color:var(--primary-color);font-size:1.2rem;margin-bottom:15px}.footer-section ul{list-style:none;margin:0;padding:0}.footer-section ul li{margin-bottom:10px}.footer-section a{color:#666;text-decoration:none;transition:color .3s ease}.footer-section a:hover{color:var(--primary-color)}.footer-bottom{border-top:1px solid #eee;color:#666;margin-top:40px;padding-top:20px;text-align:center}@media (max-width:992px){.footer-content{gap:30px;grid-template-columns:repeat(2,1fr)}}@media (max-width:576px){.footer-content{gap:30px;grid-template-columns:1fr}.footer-section{text-align:center}}.navbar{background-color:#fff;box-shadow:0 2px 4px #0000001a;position:relative;width:100%;z-index:1100}.navbar-container{align-items:center;display:flex;gap:1rem;height:100%;margin:0 auto;max-width:1200px;padding:0 .75rem;position:relative}.site-title{color:#2c3e50;flex:0 0 auto;font-size:1.5rem;font-weight:700;margin-right:auto;text-decoration:none;white-space:nowrap}.desktop-nav{display:flex;gap:2rem;left:50%;margin:0;position:absolute;transform:translateX(-50%);z-index:1}.desktop-nav a{color:#333;font-weight:500;padding:.5rem 1rem;text-decoration:none}.desktop-nav a:hover{color:#007bff}.login-buttons{box-sizing:border-box;justify-content:center;padding:0;width:100%}.login-buttons,.user-info{align-items:center;display:flex;height:100%}.user-info{gap:.5rem;max-width:300px;padding:8px 0}.user-avatar{border-radius:50%;flex-shrink:0;height:32px;width:32px}.user-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-button{background:#fff;border:1px solid #e2e8f0;border-radius:4px;flex-shrink:0;padding:4px 8px}.dev-login-btn,.logout-button{cursor:pointer;font-size:.875rem;white-space:nowrap}.dev-login-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;font-weight:500;padding:8px 16px;transition:all .2s ease}.dev-login-btn:hover{box-shadow:0 4px 8px #667eea66;transform:translateY(-1px)}.hamburger-menu{background:none;border:none;cursor:pointer;display:none;flex-direction:column;height:20px;justify-content:space-between;padding:4px;position:relative;width:24px;z-index:1002}.hamburger-line{background-color:#333;height:2px;transition:all .3s ease;width:100%}.mobile-menu{background-color:#fff;box-shadow:0 2px 4px #0000001a;display:none;flex-direction:column;gap:1rem;left:0;padding:1rem;position:absolute;right:0;top:64px;z-index:1100}.mobile-menu a{color:#333;font-weight:500;padding:.5rem 0;text-decoration:none}@media (max-width:768px){.navbar{height:64px}.navbar-container{gap:.5rem;height:64px;justify-content:flex-start;padding:0 1rem}.desktop-nav{display:none}.hamburger-menu{display:flex;flex:0 0 auto;height:28px;margin-right:.5rem;width:32px}.site-title{flex:1 1;font-size:1.4rem;margin:0;min-width:0;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.navbar-auth-section{height:64px;margin-left:0;min-width:-webkit-fit-content;min-width:fit-content;padding:0;width:auto}.login-buttons{align-items:center;display:flex;height:100%;padding:0;transform:scale(.9)}.user-info{gap:.5rem;padding:8px 0}.user-avatar{height:36px;width:36px}.user-name{display:none}.logout-button{border-radius:6px;font-size:.875rem;padding:6px 12px}.mobile-menu{padding:1rem;position:fixed;top:64px}.mobile-menu a{border-radius:8px;font-size:1.1rem;margin-bottom:.5rem;padding:.75rem 1rem}.mobile-menu.open{display:flex;flex-direction:column;gap:.5rem;padding:1rem}.mobile-menu a:active{background-color:#f7fafc}}@media (max-width:360px){.navbar-auth-section{min-width:auto}.user-info{padding:8px 0}.user-avatar{height:32px;width:32px}}#g_id_onload,.g_id_signin{margin-right:8px!important;transform:scale(1.2)!important}.hamburger-menu:active{opacity:.7}.mobile-menu a:active{background-color:#f7fafc}#g_id_onload,.g_id_signin{position:relative!important;z-index:auto!important}.navbar-auth-section{align-items:center;box-sizing:border-box;display:flex;height:56px;margin-left:auto;min-width:-webkit-fit-content;min-width:fit-content;padding:0;position:relative;width:auto;z-index:2}.login-buttons .google-login-button{background:#fff;border-radius:4px;cursor:pointer;font-size:.875rem;height:36px;max-width:100%;text-overflow:ellipsis;white-space:nowrap}.settings-icon{color:#6b7280;font-size:1.25rem;transition:color .2s ease}.settings-icon:hover{color:#4b5563}.desktop-nav a,.mobile-menu a{color:#333;padding:.5rem 1rem;text-decoration:none;transition:color .2s}.desktop-nav a:hover,.mobile-menu a:hover{color:#3498db}.desktop-nav a.active,.mobile-menu a.active{color:#3498db;font-weight:500}@media (max-width:768px){.mobile-menu a{border-bottom:1px solid #eee;display:block;padding:1rem}.mobile-menu a:last-child{border-bottom:none}}.admin-upload-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin:2rem auto;max-width:800px;padding:2rem}.admin-upload-container h2{color:#2d3748;margin-bottom:1.5rem}.upload-form{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.file-input-container{position:relative}.file-input-container input[type=file]{height:.1px;opacity:0;overflow:hidden;position:absolute;width:.1px;z-index:-1}.file-input-label{background-color:#edf2f7;border:2px dashed #cbd5e0;border-radius:4px;color:#4a5568;cursor:pointer;display:inline-block;padding:.75rem 1.5rem;text-align:center;transition:all .2s ease;width:100%}.file-input-label:hover{background-color:#e2e8f0;border-color:#a0aec0}.upload-button{background-color:#4299e1;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:background-color .2s ease}.upload-button:hover:not(:disabled){background-color:#3182ce}.upload-button:disabled{background-color:#a0aec0;cursor:not-allowed}.upload-instructions{background-color:#f7fafc;border-radius:4px;margin-top:2rem;padding:1.5rem}.upload-instructions h3{color:#2d3748;margin-bottom:1rem}.upload-instructions pre{background-color:#edf2f7;border-radius:4px;font-size:.875rem;line-height:1.5;overflow-x:auto;padding:1rem}.menu-url-extractor{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1.5rem}.extractor-header,.menu-url-extractor{margin-bottom:1.5rem}.extractor-header h3{align-items:center;color:#1e293b;display:flex;font-size:1.25rem;gap:.5rem;margin:0 0 .75rem}.extractor-header h3 i{color:#3498db}.extractor-description{color:#64748b;font-size:.95rem;line-height:1.6;margin:0 0 1rem}.extractor-tips{display:flex;flex-wrap:wrap;gap:.75rem}.extractor-tips .tip{align-items:center;background:#f8fafc;border-radius:20px;color:#475569;display:flex;font-size:.85rem;gap:.35rem;padding:.35rem .75rem}.extractor-tips .tip i.fa-check-circle{color:#22c55e}.extractor-tips .tip i.fa-info-circle{color:#3b82f6}.url-input-group{align-items:center;display:flex;gap:1rem}.url-input{border:2px solid #e2e8f0;border-radius:8px;flex:1 1;font-size:1rem;padding:.875rem 1rem;transition:all .2s}.url-input:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db26;outline:none}.url-input:disabled{background-color:#f8fafc;cursor:not-allowed}.extract-button{align-items:center;background:linear-gradient(135deg,#3498db,#2980b9);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;padding:.875rem 1.5rem;transition:all .2s;white-space:nowrap}.extract-button:hover:not(:disabled){box-shadow:0 4px 12px #3498db59;transform:translateY(-1px)}.extract-button:disabled{background:#94a3b8;box-shadow:none;cursor:not-allowed;transform:none}.extract-button .btn-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}.extraction-progress{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:8px;margin-top:1.25rem;padding:1rem 1.25rem}.progress-step{align-items:center;display:flex;gap:.75rem;margin-bottom:.75rem}.step-icon{font-size:1.25rem}.step-message{color:#0369a1;font-size:.95rem;font-weight:500}.progress-bar{background:#e0f2fe;border-radius:3px;height:6px}.progress-fill{background:linear-gradient(90deg,#3498db,#0ea5e9);border-radius:3px;transition:width .5s ease}.extraction-status{align-items:center;border-radius:8px;display:flex;font-size:.9rem;gap:.5rem;margin-top:1rem;padding:1rem}.extraction-status.error{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626}.extraction-status.error i{color:#dc2626}.extractor-note{align-items:flex-start;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;color:#92400e;display:flex;font-size:.9rem;gap:.75rem;margin-top:1.25rem;padding:1rem}.extractor-note i{color:#f59e0b;margin-top:.15rem}.extractor-note span strong{color:#78350f}@media (max-width:768px){.url-input-group{flex-direction:column}.extract-button{justify-content:center;width:100%}.extractor-tips{flex-direction:column}.extractor-tips .tip{width:-webkit-fit-content;width:fit-content}}.menu-image-import{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 20px #00000014;margin-bottom:2rem;padding:2rem}.import-header{margin-bottom:2rem;text-align:center}.import-header h2{align-items:center;color:#1e293b;display:flex;font-size:1.75rem;font-weight:700;gap:.75rem;justify-content:center;margin-bottom:.75rem}.import-header h2 i{color:#6366f1}.import-description{color:#64748b;font-size:1rem;line-height:1.6;margin:0 auto;max-width:600px}.upload-area{background:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;padding:2rem;text-align:center;transition:all .3s ease}.upload-area:hover{background:#f1f5f9;border-color:#6366f1}.upload-options{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;margin-bottom:1rem}.upload-option-btn{align-items:center;border:2px solid #0000;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;font-size:1rem;font-weight:600;gap:.75rem;padding:1.5rem 2.5rem;transition:all .3s ease}.upload-option-btn i{font-size:2rem}.upload-option-btn.camera-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.upload-option-btn.camera-btn:hover:not(:disabled){box-shadow:0 8px 20px #6366f166;transform:translateY(-2px)}.upload-option-btn.file-btn{background:#fff;border-color:#d1d5db;color:#374151}.upload-option-btn.file-btn:hover:not(:disabled){border-color:#6366f1;box-shadow:0 8px 20px #00000014;color:#6366f1;transform:translateY(-2px)}.upload-option-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.upload-hint{color:#94a3b8;font-size:.875rem;margin-top:1rem}.camera-container{background:#0f172a;border-radius:12px;margin-bottom:1.5rem;overflow:hidden;position:relative}.camera-preview{display:block;max-height:400px;object-fit:cover;width:100%}.camera-controls{background:linear-gradient(#0000,#000c);bottom:0;display:flex;gap:1rem;justify-content:center;left:0;padding:1rem;position:absolute;right:0}.capture-btn{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:50px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.capture-btn:hover:not(:disabled){box-shadow:0 6px 20px #10b98166;transform:scale(1.05)}.capture-btn:disabled{cursor:not-allowed;opacity:.5}.close-camera-btn{align-items:center;background:#fff3;border:1px solid #ffffff4d;border-radius:50px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.close-camera-btn:hover{background:#ffffff4d}.image-previews{margin:1.5rem 0}.image-previews h3{color:#374151;font-size:1rem;font-weight:600;margin-bottom:1rem}.preview-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.preview-item{aspect-ratio:4/3;border-radius:12px;box-shadow:0 4px 12px #0000001a;overflow:hidden;position:relative;transition:transform .2s ease}.preview-item:hover{transform:scale(1.02)}.preview-item img{height:100%;object-fit:cover;width:100%}.remove-preview-btn{align-items:center;background:#ef4444e6;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:.75rem;height:28px;justify-content:center;position:absolute;right:8px;top:8px;transition:all .2s ease;width:28px}.remove-preview-btn:hover{background:#dc2626;transform:scale(1.1)}.preview-number{background:#000000b3;border-radius:50%;bottom:8px;font-size:.75rem;font-weight:600;height:24px;justify-content:center;left:8px;position:absolute;width:24px}.extraction-progress,.preview-number{align-items:center;color:#fff;display:flex}.extraction-progress{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:12px;flex-direction:column;gap:1rem;margin:1.5rem 0;padding:2rem}.progress-spinner{animation:spin 1s linear infinite;border:4px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:48px;width:48px}.extraction-progress p{font-size:1rem;font-weight:500;margin:0}.import-tips{background:#fef3c7;border:1px solid #fcd34d;border-radius:12px;margin:1.5rem 0;padding:1.25rem}.import-tips h4{align-items:center;color:#92400e;display:flex;font-size:.9375rem;font-weight:600;gap:.5rem;margin:0 0 .75rem}.import-tips h4 i{color:#f59e0b}.import-tips ul{color:#78350f;font-size:.875rem;line-height:1.8;margin:0;padding-left:1.25rem}.import-tips li{margin-bottom:.25rem}.import-actions{border-top:1px solid #e2e8f0;display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1.5rem}.cancel-btn{background:#fff;border:2px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;font-size:1rem;font-weight:600;padding:.875rem 1.75rem;transition:all .2s ease}.cancel-btn:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.cancel-btn:disabled{cursor:not-allowed;opacity:.5}.extract-btn{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;padding:.875rem 2rem;transition:all .3s ease}.extract-btn:hover:not(:disabled){box-shadow:0 6px 20px #10b98166;transform:translateY(-1px)}.extract-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.btn-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:18px;width:18px}@media (max-width:640px){.menu-image-import{padding:1.25rem}.import-header h2{font-size:1.375rem}.upload-options{flex-direction:column;gap:1rem}.upload-option-btn{padding:1.25rem;width:100%}.preview-grid{grid-template-columns:repeat(2,1fr)}.import-actions{flex-direction:column-reverse}.cancel-btn,.extract-btn{justify-content:center;width:100%}}.confirm-modal-overlay{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:10000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.confirm-modal{animation:slideIn .25s ease;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0003;max-width:420px;overflow:hidden;width:100%}@keyframes slideIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.confirm-modal-header{align-items:center;display:flex;flex-direction:column;padding:2rem 2rem 1rem;text-align:center}.confirm-modal-icon{align-items:center;border-radius:50%;display:flex;font-size:1.75rem;height:64px;justify-content:center;margin-bottom:1rem;width:64px}.confirm-modal-icon.danger{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626}.confirm-modal-icon.warning{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#d97706}.confirm-modal-icon.info{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#2563eb}.confirm-modal-title{color:#1e293b;font-size:1.25rem;font-weight:600;margin:0}.confirm-modal-body{padding:0 2rem 1.5rem;text-align:center}.confirm-modal-message{color:#64748b;font-size:.95rem;line-height:1.6;margin:0}.confirm-modal-actions{display:flex;gap:.75rem;justify-content:center;padding:1rem 2rem 2rem}.confirm-modal-btn{align-items:center;border-radius:8px;cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:.5rem;justify-content:center;min-width:120px;padding:.75rem 1.5rem;transition:all .2s ease}.confirm-modal-btn.cancel{background:#f1f5f9;border:1px solid #e2e8f0;color:#475569}.confirm-modal-btn.cancel:hover:not(:disabled){background:#e2e8f0;border-color:#cbd5e1}.confirm-modal-btn.confirm{border:none;color:#fff}.confirm-modal-btn.confirm.danger{background:linear-gradient(135deg,#ef4444,#dc2626)}.confirm-modal-btn.confirm.danger:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 12px #dc26264d;transform:translateY(-1px)}.confirm-modal-btn.confirm.warning{background:linear-gradient(135deg,#f59e0b,#d97706)}.confirm-modal-btn.confirm.warning:hover:not(:disabled){background:linear-gradient(135deg,#d97706,#b45309);box-shadow:0 4px 12px #d977064d;transform:translateY(-1px)}.confirm-modal-btn.confirm.info{background:linear-gradient(135deg,#3b82f6,#2563eb)}.confirm-modal-btn.confirm.info:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #2563eb4d;transform:translateY(-1px)}.confirm-modal-btn:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.confirm-modal-btn .btn-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}@media (max-width:480px){.confirm-modal{margin:1rem;max-width:calc(100% - 2rem)}.confirm-modal-header{padding:1.5rem 1.5rem .75rem}.confirm-modal-icon{font-size:1.5rem;height:56px;width:56px}.confirm-modal-body{padding:0 1.5rem 1rem}.confirm-modal-actions{flex-direction:column-reverse;padding:.75rem 1.5rem 1.5rem}.confirm-modal-btn{width:100%}}.affiliate-dashboard{margin:0 auto;max-width:1200px;padding:2rem}.affiliate-id-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem;padding:1.5rem}.affiliate-id-section h3{color:#2c3e50;margin-bottom:1rem}.affiliate-profile-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:2rem;padding:1.5rem}.profile-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.affiliate-profile-section h3{align-items:center;color:#2d3748;display:flex;font-size:1.25rem;font-weight:600;gap:10px;margin:0}.affiliate-profile-section h3 i{color:#667eea}.edit-profile-btn{align-items:center;background:#0000;border:1px solid #667eea;border-radius:8px;color:#667eea;cursor:pointer;display:flex;font-size:.9rem;gap:8px;padding:8px 16px;transition:all .2s}.edit-profile-btn:hover{background:#667eea;color:#fff}.profile-edit-form{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:1.5rem}.edit-form-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.edit-form-group{display:flex;flex-direction:column;gap:6px}.edit-form-group.full-width{grid-column:span 2}.edit-form-group label{align-items:center;color:#4a5568;display:flex;font-size:.85rem;font-weight:500;gap:6px}.edit-form-group label i{color:#a0aec0}.edit-form-group input,.edit-form-group select{border:1px solid #e2e8f0;border-radius:8px;font-size:.95rem;padding:10px 12px;transition:all .2s}.edit-form-group input:focus,.edit-form-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.edit-form-group input::placeholder{color:#a0aec0}.edit-form-actions{border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;margin-top:1.5rem;padding-top:1.5rem}.cancel-edit-btn{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#4a5568;cursor:pointer;font-size:.9rem;padding:10px 20px;transition:all .2s}.cancel-edit-btn:hover:not(:disabled){background:#f7fafc;border-color:#cbd5e0}.save-profile-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 2px 8px #667eea4d;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:8px;padding:10px 24px;transition:all .2s}.save-profile-btn:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.cancel-edit-btn:disabled,.save-profile-btn:disabled{cursor:not-allowed;opacity:.6}.not-set{color:#a0aec0;font-style:italic}@media (max-width:600px){.profile-header{align-items:flex-start;flex-direction:column;gap:1rem}.edit-form-grid{grid-template-columns:1fr}.edit-form-group.full-width{grid-column:span 1}.edit-form-actions{flex-direction:column}.cancel-edit-btn,.save-profile-btn{justify-content:center;width:100%}}.usage-stats-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:2rem;padding:1.5rem}.usage-stats-section h3{align-items:center;color:#2d3748;display:flex;font-size:1.1rem;gap:10px;margin:0 0 1.25rem}.usage-stats-section h3 i{color:#667eea}.usage-stats-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.usage-stat-card{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:10px;padding:1.25rem}.usage-stat-header{align-items:center;color:#4a5568;display:flex;font-weight:600;gap:10px;margin-bottom:1rem}.usage-stat-header i{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;display:flex;font-size:.9rem;height:32px;justify-content:center;width:32px}.usage-stat-progress{margin-bottom:.75rem}.usage-stat-bar{background:#e2e8f0;border-radius:4px;height:8px;margin-bottom:.5rem;overflow:hidden}.usage-stat-fill{border-radius:4px;height:100%;transition:width .3s ease}.usage-stat-numbers{align-items:center;display:flex;font-size:1.25rem;font-weight:700;gap:4px}.usage-current{color:#2d3748}.usage-divider{color:#a0aec0;font-weight:400}.usage-limit{color:#718096;font-weight:500}.usage-stat-remaining{color:#718096;font-size:.85rem;margin:0}.profile-details{grid-gap:1.5rem;display:grid;gap:1.5rem}.profile-field{display:flex;flex-direction:column;gap:.5rem}.profile-field label{color:#666;font-size:.9rem;font-weight:600}.profile-field p{color:#2c3e50;margin:0}.profile-field a{color:#3498db;text-decoration:none}.profile-field a:hover{text-decoration:underline}.social-media-links{display:flex;flex-wrap:wrap;gap:1rem}.social-media-links a{align-items:center;background:#f8f9fa;border-radius:4px;display:flex;gap:.5rem;padding:.5rem 1rem;transition:background-color .2s}.social-media-links a:hover{background:#e9ecef;text-decoration:none}.social-media-links i{font-size:1.1rem}.status-badge{border-radius:999px;display:inline-block;font-size:.9rem}.status-badge.active{background:#e8f5e9;color:#2e7d32}.status-badge.pending{background:#fff3e0;color:#f57c00}.status-badge.suspended{background:#ffebee;color:#c62828}@media (min-width:768px){.profile-details{grid-template-columns:repeat(2,1fr)}}.affiliate-link-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem;padding:1.5rem}.affiliate-link-section h3{color:#2c3e50;margin-bottom:1rem}.link-description{color:#666;font-size:.95rem;line-height:1.5;margin-bottom:1rem}.id-display{background:#f8f9fa;border-radius:4px;display:flex;flex-direction:column;gap:1rem;padding:1rem;word-break:break-all}.id-display code{color:#2c3e50;font-family:monospace;font-size:1.1rem}.copy-button{align-self:flex-start;background:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:.5rem 1rem;transition:background-color .2s}.copy-button:hover{background:#2980b9}@media (min-width:768px){.id-display{align-items:center;flex-direction:row;word-break:normal}.copy-button{flex-shrink:0}}.metrics-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:2rem;padding:1.5rem}.metrics-section>h3{align-items:center;color:#2d3748;display:flex;font-size:1.25rem;font-weight:600;gap:10px;margin:0 0 1.5rem}.metrics-section>h3 i{color:#667eea;font-size:1.1rem}.metrics-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1.5rem}.metric-card{background:#f8f9fa;border-radius:8px;padding:1.5rem;text-align:center;transition:transform .2s ease}.metric-card:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-4px)}.metric-card h3{color:#7f8c8d;font-size:.9rem;margin-bottom:.5rem}.metric-value{font-size:1.8rem}.menu-items-section{border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:2rem;margin-top:2rem}.menu-items-section .section-header h3{align-items:center;color:#2d3748;display:flex;font-size:1.25rem;font-weight:600;gap:10px;margin:0}.menu-items-section .section-header h3 i{color:#667eea;font-size:1.1rem}.section-header{margin-bottom:1.5rem}.menu-items-grid{grid-gap:2rem;gap:2rem;margin-top:2rem}.item-details{padding:1.5rem}.item-details h3{font-size:1.25rem;margin:0 0 .5rem}.item-details p{margin:.5rem 0}.status{color:#444;font-weight:500}.item-actions{gap:.5rem;margin-top:1rem}.edit-button,.view-details-button{border:none;border-radius:4px;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:background-color .2s ease}.view-details-button{background-color:#007bff}.view-details-button:hover{background-color:#0056b3}.edit-button{background-color:#6c757d;color:#fff}.edit-button:hover{background-color:#5a6268}.loading{font-size:1.2rem}.error{background-color:#f8d7da;color:#dc3545;margin:1rem 0;padding:1rem}.metrics-row{justify-content:space-between;margin:.75rem 0}.metric{gap:.5rem}.metric-value{font-weight:600}.share-button{align-items:center;background-color:#6c5ce7;border:none;border-radius:4px;cursor:pointer;display:flex;font-weight:500;gap:6px;padding:.5rem 1rem;transition:background-color .2s ease}.share-button:hover{background-color:#5849c2}.share-button i{font-size:14px}.delete-button{align-items:center;background-color:#e74c3c;border:none;border-radius:4px;cursor:pointer;display:flex;font-weight:500;gap:6px;padding:.5rem 1rem;transition:background-color .2s ease}.delete-button:hover{background-color:#c0392b}.delete-button i{font-size:14px}@media (max-width:768px){.affiliate-dashboard{padding:1rem}.menu-items-grid,.metrics-grid{grid-template-columns:1fr}.section-header{flex-direction:column;gap:1rem;text-align:center}.add-menu-button{width:100%}.item-actions button{flex:1 1;min-width:calc(50% - .25rem)}}.metrics-explanation{gap:.5rem;margin-top:1rem;padding:1rem}.metrics-explanation i{margin-top:.2rem}.import-menus-button{align-items:center;background:#6366f1;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:background-color .2s}.import-menus-button:hover{background:#4f46e5}.import-menus-button i{font-size:1rem}.image-import-button{background:linear-gradient(135deg,#8b5cf6,#6366f1);transition:all .3s ease}.image-import-button:hover{box-shadow:0 4px 12px #8b5cf666;transform:translateY(-1px)}@media (max-width:768px){.menu-actions{flex-direction:column;width:100%}.image-import-button,.import-menus-button{justify-content:center;width:100%}}.search-container{margin:20px auto;max-width:600px;padding:0 15px}.import-progress{background:#f7fafc;border-radius:8px;margin:20px 0;padding:15px}.import-progress.error{background:#fff5f5;border:1px solid #feb2b2}.import-progress.complete{background:#f0fff4;border:1px solid #9ae6b4}.error-message{color:#e53e3e;margin-top:8px}@media (max-width:768px){.search-container{margin:15px auto;padding:0 10px}.search-input{font-size:.9rem;padding:10px 12px}}.extract-menu-button{background:#2ecc71}.extract-menu-button:hover{background:#27ae60}@media (max-width:768px){.menu-actions{flex-direction:column;width:100%}.extract-menu-button,.menu-actions button{justify-content:center;width:100%}}.commission-info-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin:2rem 0;padding:1.5rem}.commission-info-section h4{color:#2c3e50;font-size:1.2rem;margin-bottom:1.5rem}.commission-details{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.info-item{align-items:flex-start;background:#f8f9fa;border-radius:8px;gap:1rem;padding:1rem;transition:transform .2s ease}.info-item:hover{transform:translateY(-2px)}.info-item i{color:#3498db;font-size:1.5rem;margin-top:.25rem}.info-item h5{color:#2c3e50;font-size:1rem;margin:0 0 .5rem}.info-item p{color:#666;font-size:.9rem;line-height:1.5;margin:0}.info-item code{background:#e9ecef;border-radius:4px;color:#2c3e50;font-family:monospace;padding:.2rem .4rem}.payout-status{color:#666;font-size:.8rem;margin-top:.5rem;text-align:center}@media (max-width:768px){.commission-details{grid-template-columns:1fr}.info-item{padding:1rem}.info-item i{font-size:1.2rem}}.metrics-group{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;margin-bottom:1.5rem;padding:1.5rem}.metrics-group-title{align-items:center;align-items:flex-start;color:#2d3748;display:flex;flex-direction:column;font-size:1.25rem;font-weight:600;gap:.75rem;margin-bottom:1.5rem}.metrics-group-title i{font-size:1.1rem}.metrics-subtitle{color:#718096;font-size:.9rem;font-weight:400;margin-top:.25rem}.metrics-group.freshmenulab{border-left:4px solid #4299e1}.metrics-group.impact{border-left:4px solid #48bb78}.metric-description{color:#718096;font-size:.85rem;margin-top:.5rem;text-align:center}.metrics-explanation{align-items:flex-start;background-color:#f7fafc;border-radius:.5rem;color:#4a5568;display:flex;font-size:.9rem;gap:1rem;line-height:1.5;margin-top:1.5rem;padding:1.25rem}.metrics-explanation i{color:#4299e1;font-size:1.1rem;margin-top:.25rem}.metrics-explanation p{margin:.5rem 0}.metrics-explanation p:first-child{margin-top:0}.metrics-explanation p:last-child{margin-bottom:0}.metrics-explanation strong{color:#2d3748}@media (max-width:768px){.metrics-group{padding:1rem}.metrics-group-title{font-size:1.1rem}.metrics-subtitle{font-size:.85rem}.metrics-explanation{flex-direction:column;padding:1rem}.metrics-explanation i{margin-bottom:.5rem}}.orders-table-container{margin-top:2rem}.orders-table-container h5{color:#2c3e50;font-size:1.1rem;margin-bottom:1rem}.orders-table{background:#fff;font-size:14px;margin-top:10px}.orders-table td,.orders-table th{border-bottom:1px solid #eee;padding:12px}.orders-table th{color:#495057}.orders-table th,.orders-table tr:hover{background-color:#f8f9fa}.orders-table .status-badge{border-radius:4px;font-size:12px;font-weight:500;padding:4px 8px;text-transform:capitalize}.orders-table .status-badge.pending{background-color:#fff3cd;color:#856404}.orders-table .status-badge.approved{background-color:#d4edda;color:#155724}.orders-table .status-badge.rejected{background-color:#f8d7da;color:#721c24}.orders-table .menu-link{color:#007bff;text-decoration:none}.orders-table .menu-link:hover{text-decoration:underline}.orders-table .no-menu{color:#6c757d;font-style:italic}.orders-table .url-link{color:#28a745;text-decoration:none}.orders-table .url-link:hover{text-decoration:underline}@media (max-width:768px){.orders-table{font-size:13px}.orders-table td,.orders-table th{padding:8px}.orders-table .status-badge{font-size:11px;padding:3px 6px}}.payments-section{background:#fff;border-radius:10px;box-shadow:0 2px 4px #0000001a;margin-bottom:1.5rem;padding:2rem}.payments-section h2{color:#333;font-size:1.5rem;margin:0 0 1.5rem}.date-filters{display:flex;gap:1rem;margin-bottom:1.5rem}.form-group label{color:#666;font-size:.9rem}.form-group input{border-radius:5px;font-size:.9rem;padding:.5rem}.payments-table-container{overflow-x:auto}.payments-table th{color:#666;font-size:.9rem;letter-spacing:.5px;text-transform:uppercase}.payments-table tr:hover{background:#f8f9fa}.status-badge{padding:.25rem .75rem;text-transform:capitalize}.no-payments{background:#f8f9fa;border-radius:5px;color:#666;padding:2rem;text-align:center}@media (max-width:768px){.date-filters{flex-direction:column}.payments-table td,.payments-table th{font-size:.9rem;padding:.75rem}}.payments-table tfoot{background:#f8f9fa;border-top:2px solid #dee2e6}.payments-table tfoot td{padding:1rem!important}.payment-summary{align-items:center;color:#2d3748;display:flex;font-weight:500;justify-content:space-around}.payment-summary span{background:#fff;border-radius:4px;box-shadow:0 1px 2px #0000000d;padding:.5rem 1rem}.transaction-link{color:#4299e1;font-weight:500;text-decoration:none}.transaction-link:hover{color:#2b6cb0;text-decoration:underline}@media (max-width:768px){.payments-table td,.payments-table th{font-size:.9rem;padding:.75rem}}.import-explainer{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;box-shadow:0 10px 40px #667eea4d;margin:20px 0;overflow:hidden;padding:0}.explainer-header{align-items:center;background:#ffffff1a;display:flex;gap:16px;padding:24px 28px;position:relative}.explainer-icon{align-items:center;background:#fff3;border-radius:12px;color:#fff;display:flex;font-size:1.5rem;height:52px;justify-content:center;width:52px}.explainer-header h3{color:#fff;flex:1 1;font-size:1.35rem;font-weight:600;margin:0}.explainer-close-btn{align-items:center;background:#ffffff26;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;position:absolute;right:16px;top:16px;transition:all .2s ease;width:32px}.explainer-close-btn:hover{background:#ffffff40}.explainer-content{background:#fff;padding:28px}.explainer-description{color:#4a5568;font-size:1.1rem;line-height:1.6;margin:0 0 24px}.explainer-details{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.explainer-detail-item{align-items:flex-start;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:flex;gap:14px;padding:16px}.explainer-detail-item>i{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;display:flex;flex-shrink:0;font-size:.95rem;height:36px;justify-content:center;width:36px}.explainer-detail-item>div{display:flex;flex-direction:column;gap:4px}.explainer-detail-item strong{color:#2d3748;font-size:.95rem}.explainer-detail-item span{color:#718096;font-size:.9rem;line-height:1.5}.explainer-warning{align-items:center;background:#fffbeb;border:1px solid #fcd34d;border-radius:10px;display:flex;gap:12px;margin-bottom:16px;padding:14px 16px}.explainer-warning>i{color:#d97706;font-size:1.1rem}.explainer-warning>span{color:#92400e;font-size:.9rem}.explainer-note{align-items:flex-start;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;display:flex;gap:12px;padding:14px 16px}.explainer-note>i{color:#3b82f6;font-size:1rem;margin-top:2px}.explainer-note>span{color:#1e40af;font-size:.9rem;line-height:1.5}.explainer-actions{background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;padding:20px 28px}.explainer-cancel-btn{background:#fff;border:1px solid #e2e8f0;border-radius:10px;color:#4a5568;cursor:pointer;font-size:.95rem;font-weight:500;padding:12px 24px;transition:all .2s ease}.explainer-cancel-btn:hover{background:#f7fafc;border-color:#cbd5e0}.explainer-start-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:10px;padding:12px 28px;transition:all .2s ease}.explainer-start-btn:hover:not(:disabled){box-shadow:0 6px 20px #667eea66;transform:translateY(-1px)}.explainer-start-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.explainer-start-btn .btn-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}@media (max-width:600px){.explainer-header{padding:20px}.explainer-header h3{font-size:1.15rem}.explainer-content{padding:20px}.explainer-description{font-size:1rem}.explainer-actions{flex-direction:column;padding:16px 20px}.explainer-cancel-btn,.explainer-start-btn{justify-content:center;width:100%}}.nutrition-coach-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:2rem;padding:1.5rem}.nutrition-coach-section.expanded .section-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.nutrition-coach-section h3{align-items:center;color:#2d3748;display:flex;font-size:1.25rem;gap:10px;margin:0}.nutrition-coach-section h3 i{color:#10b981}.coach-stats-badge{background:#10b98120;border-radius:20px;color:#10b981;font-size:.85rem;font-weight:500;padding:.25rem .75rem}.profile-title-row{align-items:center;display:flex;gap:1rem}.section-description{color:#666;margin-bottom:1.5rem}.coach-stats-grid{display:flex;gap:1rem;margin-bottom:1.5rem}.coach-stat-card{background:linear-gradient(135deg,#10b98115,#10b98108);border:1px solid #10b98130;border-radius:10px;flex:1 1;padding:1rem;text-align:center}.coach-stat-card .stat-value{color:#10b981;display:block;font-size:1.75rem;font-weight:700}.coach-stat-card .stat-label{color:#666;font-size:.85rem}.clients-section{background:#f8fafc;border-radius:10px;margin-bottom:1.5rem;padding:1rem}.clients-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.clients-header h4{color:#1a1a2e;font-size:1rem;margin:0}.clients-header h4 i{color:#10b981;margin-right:.5rem}.add-client-btn{background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;padding:.5rem 1rem}.add-client-btn:hover{background:#059669}.add-client-form{background:#fff;border-radius:8px;margin-bottom:1rem;padding:1rem}.add-client-form .form-row{display:flex;gap:.75rem}.add-client-form input{border:1px solid #e5e7eb;border-radius:6px;flex:1 1;font-size:.9rem;padding:.75rem}.add-client-form button{background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.5rem}.no-clients{color:#666;padding:2rem;text-align:center}.no-clients i{color:#10b981;font-size:2rem;margin-bottom:.5rem}.clients-list{display:flex;flex-direction:column;gap:.75rem}.client-card{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;justify-content:space-between;padding:1rem}.client-info h5{color:#1a1a2e;margin:0 0 .25rem}.client-info p{color:#666;font-size:.85rem;margin:0 0 .5rem}.client-info .status-badge{border-radius:4px;display:inline-block;font-size:.7rem;font-weight:500;padding:.2rem .5rem;text-transform:uppercase}.client-info .status-badge.invited{background:#fef3c7;color:#92400e}.client-info .status-badge.active{background:#d1fae5;color:#065f46}.client-actions{align-items:center;display:flex;gap:.5rem}.has-plan-badge{color:#10b981;font-size:.85rem}.has-plan-badge i{margin-right:.25rem}.create-plan-btn{background:#3b82f620;border:none;border-radius:6px;color:#3b82f6;cursor:pointer;font-size:.8rem;padding:.5rem .75rem}.create-plan-btn:hover{background:#3b82f640}.delete-client-btn{background:#0000;border:none;border-radius:4px;color:#999;cursor:pointer;padding:.5rem}.delete-client-btn:hover{background:#fee2e2;color:#ef4444}.nutrition-actions{display:flex;flex-wrap:wrap;gap:1rem}.create-plan-primary-btn{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;padding:.875rem 1.5rem;transition:all .2s;width:100%}.create-plan-primary-btn:hover{box-shadow:0 4px 12px #10b9814d;transform:translateY(-2px)}.create-plan-primary-btn i{font-size:1.1rem}.nutrition-actions .action-link{align-items:center;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;color:#1a1a2e;display:flex;flex:1 1;font-weight:500;gap:.5rem;justify-content:center;padding:.75rem 1rem;text-decoration:none;transition:all .2s}.nutrition-actions .action-link:hover{background:#10b98120;border-color:#10b98150;color:#10b981}.nutrition-actions .action-link i{color:#10b981}.copy-invite-btn,.view-plan-btn{background:#0000;border:none;border-radius:4px;color:#666;cursor:pointer;padding:.5rem;transition:all .2s}.view-plan-btn:hover{background:#eff6ff;color:#3b82f6}.copy-invite-btn:hover{background:#f0fdf4;color:#10b981}.coach-help-tip{align-items:flex-start;background:linear-gradient(135deg,#fef3c7,#fef9c3);border:1px solid #fde68a;border-radius:10px;display:flex;gap:.75rem;margin-top:1rem;padding:1rem}.coach-help-tip i{color:#f59e0b;flex-shrink:0;font-size:1.25rem}.coach-help-tip div{color:#92400e;font-size:.9rem;line-height:1.5}.coach-help-tip strong{color:#78350f}.coach-steps{margin:.75rem 0;padding-left:1.25rem}.coach-steps li{color:#92400e;margin-bottom:.5rem}.coach-note{border-top:1px solid #fde68a;font-size:.85rem;margin-top:.75rem;padding-top:.75rem}.coach-note i{font-size:.9rem!important;margin-right:.25rem}.coach-note a{color:#b45309;font-weight:600;text-decoration:underline}@media (max-width:600px){.coach-stats-grid{flex-wrap:wrap}.coach-stat-card{flex:1 1 45%}.add-client-form .form-row,.client-card{flex-direction:column}.client-card{align-items:flex-start;gap:1rem}.client-actions{justify-content:flex-end;width:100%}.nutrition-actions .action-link{flex:none}.coach-help-tip{gap:.5rem}.coach-help-tip,.nutrition-actions{flex-direction:column}}.tier-badge{border-radius:20px;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.3rem .8rem;text-transform:uppercase}.tier-affiliate-free{background:#e5e7eb;color:#6b7280}.tier-affiliate-pro{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.affiliate-upgrade-banner{align-items:center;background:linear-gradient(135deg,#faf5ff,#fef3f2);border:1px solid #f3e8ff;border-radius:12px;display:flex;gap:1rem;margin-bottom:1rem;margin-top:1rem;padding:1rem 1.5rem}.affiliate-upgrade-banner i{color:#f5576c;font-size:1.2rem}.affiliate-upgrade-banner span{color:#4a5568;flex:1 1;font-size:.95rem}.affiliate-upgrade-banner .upgrade-banner-btn{background:linear-gradient(135deg,#f093fb,#f5576c);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.6rem 1.2rem;transition:all .2s;white-space:nowrap}.affiliate-upgrade-banner .upgrade-banner-btn:hover{box-shadow:0 4px 12px #f5576c66;transform:translateY(-1px)}@media (max-width:600px){.profile-title-row{flex-wrap:wrap}.affiliate-upgrade-banner{flex-direction:column;text-align:center}.affiliate-upgrade-banner span{text-align:center}}.unmigrated-menus-notice{background:linear-gradient(135deg,#e0f2fe,#dbeafe);border:1px solid #93c5fd;border-radius:12px;margin-bottom:1.5rem;padding:1rem 1.5rem}.unmigrated-menus-notice .notice-content{align-items:center;display:flex;gap:1rem}.unmigrated-menus-notice i{color:#3b82f6;font-size:1.5rem}.unmigrated-menus-notice .notice-text{flex:1 1}.unmigrated-menus-notice .notice-text strong{color:#1e40af;display:block;margin-bottom:.25rem}.unmigrated-menus-notice .notice-text p{color:#1e3a8a;font-size:.9rem;margin:0}.unmigrated-menus-notice .migrate-btn{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.25rem;transition:all .2s;white-space:nowrap}.unmigrated-menus-notice .migrate-btn:hover:not(:disabled){background:#2563eb;box-shadow:0 4px 12px #3b82f666;transform:translateY(-1px)}.unmigrated-menus-notice .migrate-btn:disabled{cursor:not-allowed;opacity:.7}.status-badge{align-items:center;display:inline-flex;gap:.4rem;margin:.5rem 0;padding:.4rem .75rem}.status-badge.status-draft{background:#f1f5f9;border:1px solid #e2e8f0;color:#64748b}.status-badge.status-pending{background:#fef3c7;border:1px solid #fcd34d;color:#92400e}.status-badge.status-approved{background:#d1fae5;border:1px solid #6ee7b7;color:#065f46}.status-badge.status-rejected{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b}.migrated-badge{background:#eef2ff;border-radius:4px;color:#6366f1;font-size:.75rem;gap:.3rem;margin-bottom:.5rem;padding:.2rem .5rem}.migrated-badge,.publish-button{align-items:center;display:inline-flex}.publish-button{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;gap:.4rem;padding:.5rem 1rem;transition:all .2s}.publish-button:hover:not(:disabled){box-shadow:0 4px 12px #6366f166;transform:translateY(-1px)}.publish-button:disabled{cursor:not-allowed;opacity:.7}.menu-item-card.status-draft{border-left:4px solid #94a3b8}.menu-item-card.status-pending{border-left:4px solid #fbbf24}.menu-item-card.status-approved{border-left:4px solid #10b981}.menu-item-card.status-rejected{border-left:4px solid #ef4444}@media (max-width:768px){.unmigrated-menus-notice .notice-content{flex-direction:column;text-align:center}.unmigrated-menus-notice i{display:none}}.admin-menu-manager{padding:20px}.section-header{justify-content:space-between;margin-bottom:20px}.header-left{align-items:center;display:flex;gap:10px}.toggle-section-button{background-color:#6c757d;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;padding:8px 15px;transition:background-color .2s}.toggle-section-button:hover{background-color:#5a6268}.menu-actions{gap:1rem}.add-menu-button,.menu-actions{align-items:center;display:flex}.add-menu-button{background:#2ecc71;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:background-color .2s}.add-menu-button:hover{background:#27ae60}.extract-menu-button{align-items:center;background:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:background-color .2s}.extract-menu-button:hover{background:#2980b9}.extract-menu-button i{font-size:1rem}.image-import-button{align-items:center;background:#9b59b6;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:background-color .2s}.image-import-button:hover{background:#8e44ad}.image-import-button i{font-size:1rem}.search-and-sort-container{align-items:flex-start;display:flex;gap:20px;margin:20px auto;max-width:1000px;padding:0 15px}.search-container{flex:1 1}.search-input{border:1px solid #e2e8f0;border-radius:8px;color:#4a5568;font-size:1rem;padding:12px 15px;transition:all .2s ease;width:100%}.search-input:focus{border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a;outline:none}.sort-container{align-items:center;display:flex;gap:10px;white-space:nowrap}.sort-container label{color:#4a5568;font-size:.95rem;font-weight:500}.sort-select{background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#4a5568;cursor:pointer;font-size:1rem;min-width:200px;padding:12px 15px;transition:all .2s ease}.sort-select:focus{border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a;outline:none}.sort-select:hover{border-color:#cbd5e0}@media (max-width:768px){.search-and-sort-container{flex-direction:column;gap:15px}.sort-container{justify-content:space-between;width:100%}.sort-select{flex:1 1;min-width:auto}}.search-input::placeholder{color:#a0aec0}.menu-item-card{background-color:#fff;border:1px solid #ddd}.menu-item-card:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-4px)}.item-details h3{font-size:18px}.status{font-weight:700}.owner{color:#888;font-size:.9em}.metrics-row{background:#f8f9fa;border-radius:4px;display:flex;gap:20px;margin:10px 0;padding:.5rem}.metric{gap:5px}.metric-label{color:#6c757d;font-size:.9rem}.metric-value{color:#2c3e50;font-size:1rem;font-weight:700}.item-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}.item-actions button{align-items:center;border:none;border-radius:4px;cursor:pointer;display:flex;font-size:14px;gap:5px;padding:8px 12px;transition:background-color .2s ease}.edit-button{background-color:#ffc107;color:#000}.edit-button:hover{background-color:#ffa000}.share-button{background-color:#9c27b0;color:#fff}.share-button:hover{background-color:#7b1fa2}.delete-button{background-color:#f44336;color:#fff}.delete-button:hover{background-color:#d32f2f}.loading{font-size:18px}.error{color:#d32f2f}.retry-button{background-color:#2196f3;border-radius:5px;padding:10px 20px}.retry-button:hover{background-color:#1976d2}.pagination{align-items:center;display:flex;gap:15px;justify-content:center;margin-top:20px;padding:15px}.page-button{background-color:#2196f3;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:8px 15px;transition:background-color .2s}.page-button:hover:not(:disabled){background-color:#1976d2}.page-button:disabled{background-color:#ccc;cursor:not-allowed}.page-info{color:#666;font-size:14px}.sync-stats-button{align-items:center;background-color:#4a90e2;border:none;border-radius:5px;color:#fff;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:8px 15px;transition:background-color .2s}.sync-stats-button:hover{background-color:#357abd}.sync-stats-button i{font-size:14px}.orders-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px;padding:20px}.orders-table-container{margin-top:20px;overflow-x:auto}.orders-table{border-collapse:collapse;margin:1rem 0;width:100%}.orders-table td,.orders-table th{border-bottom:1px solid #e2e8f0;padding:.75rem;text-align:left}.orders-table th{background-color:#f7fafc;font-weight:600}.status-badge{border-radius:9999px;font-size:.875rem}.status-badge.pending{background-color:#fef3c7;color:#92400e}.status-badge.approved,.status-badge.completed{background-color:#dcfce7;color:#166534}.status-badge.failed,.status-badge.rejected{background-color:#fee2e2;color:#991b1b}.text-muted{color:#6b7280;font-size:.875rem}.orders-table a{color:#2563eb;text-decoration:none}.orders-table a:hover{text-decoration:underline}@media (max-width:768px){.menu-actions{flex-direction:column;width:100%}.extract-menu-button,.menu-actions button{justify-content:center;width:100%}.search-container{margin:15px auto;padding:0 10px}.search-input{font-size:.9rem;padding:10px 12px}.orders-table{font-size:13px}.orders-table td,.orders-table th{padding:8px}.orders-table .status-badge{font-size:11px;padding:3px 6px}}.affiliate-menu-manager{padding:20px;width:100%}.affiliate-menu-manager h2{color:#2d3748;margin-bottom:2rem}.filters-section{display:flex;flex-wrap:wrap;gap:2rem;margin-bottom:2rem}.filter-group{display:flex;flex-direction:column;gap:.5rem;min-width:250px}.filter-group label{align-items:center;color:#4a5568;cursor:pointer;display:flex;font-size:.9rem;font-weight:500}.filter-select{background-color:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#2d3748;cursor:pointer;font-size:1rem;padding:.75rem;transition:all .2s}.filter-select:hover{border-color:#cbd5e0}.filter-select:focus{border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a;outline:none}.bulk-actions{background-color:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:2rem;padding:1rem}.bulk-approve-button{background-color:#48bb78;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:background-color .2s}.bulk-approve-button:hover{background-color:#38a169}.menu-items-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.menu-items-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:20px}.menu-item-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden;position:relative;transition:transform .2s ease}.menu-item-card:hover{transform:translateY(-2px)}.item-select{left:10px;position:absolute;top:10px;z-index:1}.item-select input[type=checkbox]{cursor:pointer;height:20px;width:20px}.item-image{cursor:pointer;height:200px;object-fit:cover;width:100%}.item-details{padding:15px}.item-details h3{color:#333;font-size:1.2em;margin:0 0 10px}.item-details p{color:#666;margin:5px 0}.cuisine{color:#888;font-style:italic}.affiliate{color:#4a5568;font-weight:500;margin-top:8px}.moderation-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.approve-button,.reject-button,.view-details-button{border:none;border-radius:4px;cursor:pointer;flex:1 1;font-weight:500;min-width:100px;padding:8px 16px;text-align:center;transition:background-color .2s ease}.approve-button{background-color:#4caf50}.approve-button:hover{background-color:#45a049}.reject-button{background-color:#f44336}.reject-button:hover{background-color:#da190b}.view-details-button{background-color:#2196f3;color:#fff}.view-details-button:hover{background-color:#1976d2}.loading{padding:20px}.error{color:#f44336}.retry-button{background:#e74c3c;border-radius:4px;font-size:.9rem;margin-top:10px;padding:.5rem 1rem;transition:background-color .2s}.retry-button:hover{background:#c0392b}.select-all-checkbox{cursor:pointer;height:18px;margin-right:8px;width:18px}@media (max-width:768px){.filters-section{flex-direction:column;gap:1rem}.filter-group{width:100%}.menu-items-grid{grid-template-columns:1fr}.moderation-actions{flex-direction:column}.moderation-actions button{width:100%}}.affiliate-management{padding:1rem}.status-filter{margin-bottom:2rem}.status-filter select{background-color:#fff;border:1px solid #ddd;border-radius:4px;font-size:1rem;min-width:200px;padding:.5rem 1rem}.affiliate-card,.affiliates-list{grid-gap:1.5rem;display:grid;gap:1.5rem}.affiliate-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.affiliate-info h3{color:#2c3e50;font-size:1.25rem;margin:0 0 .5rem}.business-type{color:#666;text-transform:capitalize}.business-type,.website{font-size:.9rem;margin:.25rem 0}.website{color:#3498db;text-decoration:none}.created-date{color:#666;font-size:.85rem;font-style:italic;margin:.5rem 0 0}.payment-info{grid-gap:.5rem;color:#666;display:grid;font-size:.9rem;gap:.5rem;margin-top:1rem}.affiliate-metrics{grid-gap:1rem;background:#f8f9fa;border-radius:6px;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));padding:1rem}.metric{align-items:center;display:flex;flex-direction:column;text-align:center}.metric .label{color:#666;font-size:.8rem;margin-bottom:.25rem}.metric .value{color:#2c3e50;font-size:1.5rem;font-weight:700}.affiliate-actions{display:flex;gap:1rem;justify-content:flex-end}.affiliate-actions button{border:none;border-radius:4px;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:background-color .2s}.approve-button{background-color:#2ecc71}.approve-button:hover{background-color:#27ae60}.reject-button,.suspend-button{background-color:#e74c3c;color:#fff}.reject-button:hover,.suspend-button:hover{background-color:#c0392b}.reactivate-button{background-color:#3498db;color:#fff}.reactivate-button:hover{background-color:#2980b9}.error{color:#e74c3c;padding:2rem}.error button{background-color:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;margin-top:1rem;padding:.5rem 1rem}.error button:hover{background-color:#2980b9}.no-affiliates{color:#666;font-style:italic;padding:2rem;text-align:center}@media (max-width:768px){.affiliate-card{padding:1rem}.affiliate-metrics{grid-template-columns:1fr 1fr}.affiliate-actions{flex-direction:column}.affiliate-actions button{width:100%}}.error{background-color:#ffebee;border:1px solid #f44336;border-radius:4px;margin:20px 0;padding:20px;text-align:center}.error p{color:#d32f2f;margin-bottom:15px}.error-actions{display:flex;gap:10px;justify-content:center}.error-actions button{background-color:#f44336;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:8px 16px}.error-actions button:hover{background-color:#d32f2f}.crawler-manager{margin:0 auto;max-width:1200px;padding:20px}.crawler-manager h2{border-bottom:2px solid #4caf50;color:#333;font-size:2rem;margin-bottom:30px;padding-bottom:10px}.crawler-status-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:30px;padding:25px}.status-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:25px}.status-indicator{align-items:center;display:flex;gap:10px}.status-dot{animation:pulse 2s infinite;border-radius:50%;height:12px;width:12px}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.status-text{color:#333;font-size:1.1rem;font-weight:600}.runtime{color:#666;font-size:.9rem}.crawler-controls{display:flex;flex-direction:column;gap:20px}.strategy-selector{align-items:center;display:flex;gap:15px}.strategy-selector label{color:#333;font-weight:600;min-width:150px}.strategy-selector select{background:#fff;border:2px solid #ddd;border-radius:6px;font-size:1rem;min-width:200px;padding:8px 12px}.strategy-selector select:focus{border-color:#4caf50;outline:none}.control-buttons{display:flex;flex-wrap:wrap;gap:15px}.control-buttons button{border:none;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:600;min-width:140px;padding:12px 24px;transition:all .3s ease}.start-button{background:#4caf50;color:#fff}.start-button:hover:not(.disabled){background:#45a049;transform:translateY(-2px)}.stop-button{background:#f44336;color:#fff}.stop-button:hover:not(.disabled){background:#da190b;transform:translateY(-2px)}.reset-button{background:#ff9800;color:#fff}.reset-button:hover:not(.disabled){background:#e68900;transform:translateY(-2px)}.control-buttons button.disabled{background:#ccc;cursor:not-allowed;transform:none}.crawler-stats{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:30px;padding:25px}.crawler-stats h3{color:#333;font-size:1.5rem;margin-bottom:20px}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:20px;text-align:center}.stat-number{color:#4caf50;font-size:2.5rem;font-weight:700;margin-bottom:8px}.stat-label{color:#666;font-size:.9rem;letter-spacing:.5px;text-transform:uppercase}.session-stats{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:30px;padding:25px}.session-stats h3{color:#333;font-size:1.5rem;margin-bottom:20px}.session-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.session-stat{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;display:flex;justify-content:space-between;padding:12px 16px}.session-label{color:#333;font-weight:600}.session-value{color:#4caf50;font-weight:600}.recent-recipes{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:30px;padding:25px}.recent-recipes h3{color:#333;font-size:1.5rem;margin-bottom:20px}.recipes-list{display:flex;flex-direction:column;gap:15px}.recipe-item{align-items:flex-start;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:flex;justify-content:space-between;padding:20px;transition:all .3s ease}.recipe-item:hover{background:#e9ecef;box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.recipe-info{flex:1 1}.recipe-info h4{color:#333;font-size:1.2rem;margin-bottom:8px}.recipe-meta{color:#666;font-size:.9rem;margin-bottom:8px}.recipe-description{color:#555;font-size:.95rem;line-height:1.4}.recipe-status{align-items:flex-end;display:flex;flex-direction:column;gap:8px;min-width:120px}.status-badge{border-radius:20px;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.status-badge.pending{background:#fff3cd;border:1px solid #ffeaa7}.status-badge.approved{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.status-badge.rejected{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.recipe-date{color:#666;font-size:.8rem}.progress-indicator{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:30px;padding:25px}.progress-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.progress-header h3{color:#333;font-size:1.5rem;margin:0}.progress-status{background:#4caf50;border-radius:20px;color:#fff;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.progress-bar{background:#e0e0e0;border-radius:4px;height:8px;margin-bottom:15px;overflow:hidden;width:100%}.progress-fill{animation:progress-animation 2s ease-in-out infinite;background:linear-gradient(90deg,#4caf50,#8bc34a);border-radius:4px;height:100%}@keyframes progress-animation{0%{width:0}50%{width:70%}to{width:100%}}.progress-note{color:#666;font-size:.9rem;margin:0;text-align:center}@media (max-width:768px){.crawler-manager{padding:15px}.status-header{align-items:flex-start;flex-direction:column;gap:10px}.crawler-controls{gap:15px}.strategy-selector{align-items:flex-start;flex-direction:column;gap:8px}.strategy-selector select{min-width:100%}.control-buttons{flex-direction:column}.control-buttons button{min-width:100%}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.session-grid{grid-template-columns:1fr}.recipe-item{flex-direction:column;gap:15px}.recipe-status{align-items:flex-start;flex-direction:row;justify-content:space-between;min-width:auto}}.meal-plan-stats{background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:16px;color:#e8e8e8;padding:2rem}.meal-plan-stats.error-state,.meal-plan-stats.loading-state{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:200px}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #ffffff1a;border-top-color:#6366f1;height:40px;width:40px}.retry-button{align-items:center;background:#6366f1;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease}.retry-button:hover{background:#4f46e5;transform:translateY(-2px)}.stats-header{justify-content:space-between;margin-bottom:2rem}.stats-header,.stats-header h2{align-items:center;display:flex}.stats-header h2{color:#fff;font-size:1.75rem;font-weight:700;gap:.75rem;margin:0}.stats-header h2 i{color:#6366f1}.refresh-button{align-items:center;background:#6366f126;border:1px solid #6366f14d;border-radius:8px;color:#a5b4fc;cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.refresh-button:hover{background:#6366f140;border-color:#6366f180}.stats-summary-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:2rem}.stat-card{align-items:center;background:#ffffff0d;border:1px solid #ffffff14;border-radius:12px;display:flex;gap:1rem;padding:1.25rem;transition:all .3s ease}.stat-card:hover{border-color:#ffffff26;box-shadow:0 10px 30px #0000004d;transform:translateY(-4px)}.stat-icon{align-items:center;border-radius:12px;display:flex;font-size:1.25rem;height:50px;justify-content:center;width:50px}.stat-card.primary .stat-icon{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.stat-card.success .stat-icon{background:linear-gradient(135deg,#10b981,#34d399);color:#fff}.stat-card.info .stat-icon{background:linear-gradient(135deg,#0ea5e9,#38bdf8);color:#fff}.stat-card.warning .stat-icon{background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#fff}.stat-card.secondary .stat-icon{background:linear-gradient(135deg,#64748b,#94a3b8);color:#fff}.stat-card.accent .stat-icon{background:linear-gradient(135deg,#ec4899,#f472b6);color:#fff}.stat-content h3{color:#fff;font-size:1.75rem;font-weight:700;line-height:1;margin:0}.stat-content p{color:#9ca3af;font-size:.85rem;margin:.25rem 0 0}.stats-section{background:#ffffff08;border:1px solid #ffffff0f;border-radius:12px;margin-bottom:1.5rem;overflow:hidden}.section-header{align-items:center;background:#ffffff08;border-bottom:1px solid #ffffff0f;color:#e8e8e8;display:flex;font-size:1.1rem;font-weight:600;gap:.75rem;margin:0;padding:1rem 1.25rem}.section-header.clickable{cursor:pointer;transition:background .2s ease}.section-header.clickable:hover{background:#ffffff0f}.section-header i:first-child{color:#6366f1}.toggle-icon{color:#6b7280;font-size:.9rem;margin-left:auto}.meal-type-distribution{padding:1.25rem}.meal-type-bar{align-items:center;display:flex;gap:1rem;margin-bottom:1rem}.meal-type-bar:last-child{margin-bottom:0}.meal-type-label{align-items:center;display:flex;gap:.5rem;min-width:120px}.meal-type-icon{font-size:1.25rem}.meal-type-name{color:#d1d5db;font-weight:500;text-transform:capitalize}.meal-type-bar-container{background:#ffffff14;border-radius:12px;flex:1 1;height:24px;overflow:hidden}.meal-type-bar-fill{border-radius:12px;height:100%;transition:width .6s ease}.meal-type-count{color:#a5b4fc;font-weight:600;min-width:50px;text-align:right}.recent-plans-list,.top-users-list{overflow-x:auto;padding:.5rem}.stats-table{border-collapse:collapse;width:100%}.stats-table th{border-bottom:1px solid #ffffff14;color:#9ca3af;font-size:.85rem;font-weight:600;letter-spacing:.5px;padding:1rem;text-align:left;text-transform:uppercase}.stats-table td{border-bottom:1px solid #ffffff0a;color:#e8e8e8;padding:1rem}.stats-table tbody tr:hover{background:#ffffff08}.stats-table tbody tr:last-child td{border-bottom:none}.email-cell{color:#9ca3af;font-size:.9rem}.date-cell{color:#9ca3af;font-size:.85rem;white-space:nowrap}.rank-badge{font-size:1.25rem}.rank-badge.rank-1,.rank-badge.rank-2,.rank-badge.rank-3{font-size:1.5rem}.meal-count-badge{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;font-size:.9rem;font-weight:600}.meal-count-badge,.shared-badge{border-radius:20px;padding:.25rem .75rem}.shared-badge{align-items:center;display:inline-flex;font-size:.85rem;font-weight:500;gap:.35rem}.shared-badge.yes{background:#10b98126;color:#34d399}.shared-badge.no{background:#6b728026;color:#9ca3af}@media (max-width:768px){.meal-plan-stats{border-radius:12px;padding:1.25rem}.stats-header{align-items:flex-start;flex-direction:column;gap:1rem}.stats-header h2{font-size:1.5rem}.stats-summary-grid{gap:1rem;grid-template-columns:repeat(2,1fr)}.stat-card{flex-direction:column;padding:1rem;text-align:center}.stat-icon{font-size:1.1rem;height:45px;width:45px}.stat-content h3{font-size:1.5rem}.meal-type-bar{flex-wrap:wrap}.meal-type-label{margin-bottom:.5rem;min-width:100%}.stats-table{font-size:.9rem}.stats-table td,.stats-table th{padding:.75rem .5rem}.email-cell{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media (max-width:480px){.meal-plan-stats{padding:1rem}.stats-summary-grid{grid-template-columns:1fr}.stat-card{flex-direction:row;text-align:left}.stats-table td:nth-child(3),.stats-table th:nth-child(3){display:none}}.admin-dashboard{margin:0 auto;max-width:1400px;padding:2rem}.admin-dashboard h1{color:#333;font-size:2.5rem;margin-bottom:2rem}.admin-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem;padding:2rem}.admin-section h2{border-bottom:2px solid #f0f0f0;color:#444;font-size:1.8rem;margin-bottom:1.5rem;padding-bottom:.5rem}.payments-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:300px 1fr;grid-template-rows:auto 1fr;margin-top:1rem}.affiliates-list{grid-row:span 2}.affiliates-grid{display:flex;flex-direction:column;gap:1rem;max-height:600px;overflow-y:auto}.affiliate-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;cursor:pointer;padding:1rem;transition:all .2s ease}.affiliate-card:hover{box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.affiliate-card.selected{background:#e7f5ff;border-color:#4dabf7}.affiliate-card h4{color:#333;margin:0 0 .5rem}.affiliate-card p{color:#666;font-size:.9rem;margin:.25rem 0}.payment-form{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;padding:1.5rem}.form-group{margin-bottom:1rem}.form-group label{color:#555}.form-group input{border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:.75rem;width:100%}.form-group input:disabled{background:#f8f9fa;cursor:not-allowed}.submit-button{background:#228be6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;margin-top:1rem;padding:.75rem 1.5rem;transition:background .2s ease;width:100%}.submit-button:hover{background:#1c7ed6}.payments-list{grid-column:1/-1;overflow-x:hidden;width:100%}.filters{display:flex;gap:1rem;margin-bottom:1.5rem}.filters input,.filters select{border:1px solid #ddd;border-radius:4px;font-size:.9rem;padding:.5rem}.payments-table{border-collapse:collapse;margin-top:1rem;width:100%}.payments-table td,.payments-table th{border-bottom:1px solid #eee;padding:1rem;text-align:left}.payments-table th{background:#f8f9fa;color:#444;font-weight:600}.status-badge{border-radius:4px;font-size:.85rem;font-weight:500;padding:.25rem .5rem}.status-badge.pending{background:#fff3bf;color:#856404}.status-badge.completed{background:#d3f9d8;color:#2b8a3e}.status-badge.failed{background:#ffe3e3;color:#c92a2a}.upgrade-requests{margin-top:1rem}.upgrade-requests-list{grid-gap:1rem;display:grid;gap:1rem}.upgrade-request-item{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;display:flex;justify-content:space-between;padding:1rem}.request-info h3{color:#333;margin:0 0 .5rem}.request-info p{color:#666;margin:.25rem 0}.request-actions{display:flex;gap:.5rem}.approve-button,.reject-button{border:none;border-radius:4px;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.approve-button{background:#40c057;color:#fff}.approve-button:hover{background:#37b24d}.reject-button{background:#fa5252;color:#fff}.reject-button:hover{background:#f03e3e}.loading{color:#666;padding:2rem;text-align:center}@media (max-width:1200px){.payments-grid{grid-template-columns:1fr}.affiliates-list{grid-row:auto}.affiliates-grid{max-height:300px}}@media (max-width:768px){.admin-dashboard,.admin-section{overflow-x:hidden;padding:1rem;width:100%}.payments-grid{gap:1rem;width:100%}.payments-list{padding:0}.payments-list,.payments-table{-webkit-overflow-scrolling:touch;overflow-x:auto;width:100%}.payments-table{display:block}.payments-table table{min-width:100%;width:-webkit-max-content;width:max-content}.payments-table thead{display:table-header-group}.payments-table tbody{display:table-row-group}.payments-table tr{display:table-row}.payments-table td,.payments-table th{display:table-cell;min-width:120px;padding:.75rem;white-space:nowrap}.payments-table td:nth-child(2),.payments-table th:nth-child(2){min-width:150px}.payments-table td:nth-child(4),.payments-table th:nth-child(4){min-width:200px}.filters{flex-direction:column;width:100%}.filters input,.filters select{max-width:100%;width:100%}.form-group input,.form-group select{font-size:16px;padding:.5rem}.affiliate-card{padding:.75rem}.affiliate-card h4{font-size:1rem}.affiliate-card p{font-size:.85rem}.status-badge{font-size:.75rem;padding:.2rem .4rem}.upgrade-request-item{flex-direction:column;gap:1rem;text-align:center}.request-actions{justify-content:center;width:100%}.payments-list{margin:0 -1rem;padding:0 1rem;position:relative}.payments-list:after{bottom:-1.5rem;color:#666;content:"← Scroll →";font-size:.8rem;left:50%;opacity:.8;position:absolute;transform:translateX(-50%)}}@media (max-width:480px){.admin-dashboard{padding:.5rem}.admin-section{margin:.5rem 0;padding:.5rem}.payments-list{margin:0}.payments-table td,.payments-table th{font-size:.9rem;padding:.5rem}.payments-table td:nth-child(2),.payments-table th:nth-child(2){min-width:120px}.payments-table td:nth-child(4),.payments-table th:nth-child(4){min-width:160px}}.dev-login{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.dev-login-card{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-height:90vh;max-width:480px;overflow-y:auto;padding:2rem;position:relative;width:100%}.close-modal-btn{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;font-size:2rem;height:32px;justify-content:center;line-height:1;padding:0;position:absolute;right:1rem;top:1rem;transition:all .2s;width:32px}.close-modal-btn:hover{background-color:#f3f4f6;color:#111827}.close-modal-btn:active{background-color:#e5e7eb}.dev-login-card h2{color:#2c3e50;font-size:1.5rem;font-weight:600}.dev-login-card h2,.dev-notice{margin-bottom:1.5rem;text-align:center}.dev-notice{background-color:#fef2f2;border-radius:4px;color:#dc2626;font-size:.9rem;padding:.75rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#4b5563;display:block;margin-bottom:.5rem}.form-group select{-webkit-appearance:none;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;border:1px solid #d1d5db;border-radius:4px;color:#1f2937;cursor:pointer;font-size:1rem;padding:.75rem;width:100%}.form-group select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.persona-info{background-color:#f8fafc;border-radius:6px;margin-bottom:1.5rem;padding:1.25rem}.persona-info h3{color:#374151;font-size:1rem;font-weight:600;margin-bottom:1rem}.info-grid{grid-gap:.75rem;display:grid;gap:.75rem}.info-item{align-items:center;background-color:#fff;border:1px solid #e5e7eb;border-radius:4px;display:flex;justify-content:space-between;padding:.5rem}.info-item .label{color:#6b7280;font-weight:500}.info-item .value{color:#111827;font-weight:600}.dev-login .dev-login-button{background-color:#2563eb;border:none;border-radius:4px;box-shadow:0 2px 4px #2563eb1a;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;margin-top:1rem;padding:.75rem;transition:all .2s ease;width:100%}.dev-login .dev-login-button:hover{background-color:#1d4ed8;box-shadow:0 4px 6px #2563eb33;transform:translateY(-1px)}.dev-login .dev-login-button:active{box-shadow:0 2px 4px #2563eb1a;transform:translateY(0)}.dev-login .dev-login-button:disabled{background-color:#9ca3af;box-shadow:none;cursor:not-allowed;transform:none}.error-message{background-color:#fee2e2;border-radius:4px;color:#dc2626;font-size:.9rem;margin-bottom:1.5rem;padding:.75rem;text-align:center}.dev-testing-panel{border-top:2px dashed #e5e7eb;margin-top:2rem;padding-top:1.5rem}.dev-testing-panel h3{color:#7c3aed;font-size:1.1rem;margin-bottom:.5rem}.dev-testing-panel .testing-info{color:#6b7280;font-size:.85rem;margin-bottom:1rem}.action-message{border-radius:6px;font-size:.9rem;margin-bottom:1rem;padding:.75rem}.action-message.success{background:#d1fae5;border:1px solid #6ee7b7;color:#065f46}.action-message.error{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b}.user-status{background:#f8fafc;border-radius:8px;margin-bottom:1rem;padding:1rem}.status-row{border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:.4rem 0}.status-row:last-child{border-bottom:none}.status-label{color:#64748b;font-size:.85rem}.status-value{font-size:.85rem;font-weight:600}.status-value.active{color:#059669}.status-value.inactive{color:#dc2626}.status-loading{color:#6b7280;padding:1rem;text-align:center}.testing-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.test-action-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;flex:1 1;font-size:.8rem;font-weight:600;gap:.4rem;justify-content:center;min-width:120px;padding:.6rem .75rem;transition:all .2s}.test-action-btn:disabled{cursor:not-allowed;opacity:.6}.test-action-btn.create-menus{background:#dbeafe;color:#1e40af}.test-action-btn.create-menus:hover:not(:disabled){background:#bfdbfe}.test-action-btn.reset-affiliate{background:#fef3c7;color:#92400e}.test-action-btn.reset-affiliate:hover:not(:disabled){background:#fde68a}.test-action-btn.delete-menus{background:#fee2e2;color:#991b1b}.test-action-btn.delete-menus:hover:not(:disabled){background:#fecaca}.testing-instructions{background:#faf5ff;border:1px solid #e9d5ff;border-radius:8px;padding:1rem}.testing-instructions h4{color:#7c3aed;font-size:.9rem;margin-bottom:.75rem}.testing-instructions ol{color:#6b7280;font-size:.8rem;margin:0;padding-left:1.25rem}.testing-instructions li{margin-bottom:.4rem}@media (max-width:640px){.dev-login{padding:10px}.dev-login-card{max-width:100%;padding:1.5rem}.persona-info{padding:1rem}.info-item{font-size:.9rem;padding:.5rem}.close-modal-btn{right:.5rem;top:.5rem}.testing-actions{flex-direction:column}.test-action-btn{width:100%}}.shared-nutrition-plan{margin:0 auto;max-width:900px;padding:2rem 1rem}.shared-nutrition-plan.error,.shared-nutrition-plan.loading{align-items:center;display:flex;justify-content:center;min-height:60vh}.error-content,.loading-content{text-align:center}.error-content i,.loading-content i{font-size:3rem;margin-bottom:1rem}.loading-content i{color:#10b981}.error-content i{color:#ef4444}.error-content h2{color:#1a1a2e;margin-bottom:.5rem}.error-content p{color:#666;margin-bottom:1.5rem}.create-own-btn{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border-radius:8px;color:#fff;display:inline-flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;text-decoration:none}.shared-header{border-bottom:1px solid #e5e7eb;margin-bottom:2rem;padding-bottom:2rem;text-align:center}.header-badge{align-items:center;background:#3b82f620;border-radius:20px;color:#3b82f6;display:inline-flex;font-size:.85rem;gap:.5rem;margin-bottom:1rem;padding:.5rem 1rem}.shared-header h1{color:#1a1a2e;font-size:2rem;margin-bottom:1rem}.goal-badge{align-items:center;border-radius:20px;display:inline-flex;font-weight:600;gap:.5rem;margin-bottom:.5rem;padding:.5rem 1rem}.plan-meta{color:#666}.shared-tabs{border-bottom:2px solid #e5e7eb;display:flex;gap:.5rem;margin-bottom:2rem}.shared-tabs .tab-btn{background:none;border:none;border-bottom:2px solid #0000;color:#666;cursor:pointer;font-size:1rem;margin-bottom:-2px;padding:.75rem 1.5rem;transition:all .2s}.shared-tabs .tab-btn:hover{color:#10b981}.shared-tabs .tab-btn.active{border-bottom-color:#10b981;color:#10b981;font-weight:600}.shared-tabs .tab-btn i{margin-right:.5rem}.shared-content{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:2rem}.shared-content section{margin-bottom:2.5rem}.shared-content section:last-child{margin-bottom:0}.shared-content h2{color:#1a1a2e;font-size:1.25rem;margin-bottom:1rem}.shared-content h2 i{color:#10b981;margin-right:.5rem}.section-subtitle{margin-bottom:1rem}.targets-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.target-card{align-items:center;background:#f8fafc;border-left:4px solid;border-radius:12px;display:flex;gap:1rem;padding:1.25rem}.target-card.calories{border-left-color:#f59e0b}.target-card.protein{border-left-color:#10b981}.target-card.carbs{border-left-color:#8b5cf6}.target-card.fat{border-left-color:#f472b6}.target-icon{align-items:center;border-radius:12px;display:flex;font-size:1.25rem;height:50px;justify-content:center;width:50px}.target-card.calories .target-icon{background:#f59e0b20;color:#f59e0b}.target-card.protein .target-icon{background:#10b98120;color:#10b981}.target-card.carbs .target-icon{background:#8b5cf620;color:#8b5cf6}.target-card.fat .target-icon{background:#f472b620;color:#f472b6}.target-info{display:flex;flex-direction:column}.target-value{color:#1a1a2e;font-size:1.5rem}.target-label{color:#666;font-size:.9rem}.target-range{color:#888;font-size:.75rem}.per-meal-cards{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(4,1fr)}.per-meal-card{background:#f8fafc;border-radius:10px;padding:1.5rem 1rem;text-align:center}.per-meal-card.highlight{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.per-meal-value{display:block;font-size:2rem;font-weight:700;margin-bottom:.25rem}.per-meal-label{display:block;font-size:.9rem;opacity:.9}.per-meal-note{display:block;font-size:.75rem;margin-top:.5rem;opacity:.8}.macro-visual{background:#f8fafc;border-radius:10px;padding:1.5rem}.macro-bar-item{align-items:center;display:flex;gap:1rem;margin-bottom:1rem}.macro-bar-item:last-child{margin-bottom:0}.bar-label{color:#1a1a2e;font-weight:500;width:80px}.bar-container{background:#e5e7eb;border-radius:12px;flex:1 1;height:24px;overflow:hidden}.bar-fill{border-radius:12px;height:100%;transition:width .5s ease}.bar-fill.protein{background:linear-gradient(90deg,#10b981,#059669)}.bar-fill.carbs{background:linear-gradient(90deg,#8b5cf6,#7c3aed)}.bar-fill.fat{background:linear-gradient(90deg,#f472b6,#ec4899)}.bar-value{color:#1a1a2e;font-weight:600;text-align:right;width:50px}.notes-section{border-top:1px solid #e5e7eb;padding-top:2rem}.notes-content{background:#fef3c7;border-radius:10px;color:#92400e;line-height:1.6;padding:1.25rem;white-space:pre-wrap}.week-plan-section h2{margin-bottom:1.5rem}.week-days-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.day-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.day-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;justify-content:space-between;padding:.75rem 1rem}.day-name{font-weight:600}.day-date{font-size:.85rem;opacity:.9}.day-meals{padding:1rem}.meal-section{margin-bottom:1rem}.meal-section:last-child{margin-bottom:0}.meal-type-label{color:#6b7280;font-size:.75rem;font-weight:600;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.meal-items-list{list-style:none;margin:0;padding:0}.meal-item{align-items:center;color:#374151;display:flex;font-size:.9rem;gap:.5rem;padding:.4rem 0}.meal-item i{font-size:.8rem;width:16px}.meal-item.recipe i{color:#667eea}.meal-item.food i{color:#10b981}.meal-item .quantity,.meal-item .servings{color:#9ca3af;font-size:.75rem;margin-left:auto}.shared-footer{margin-top:2rem;text-align:center}.cta-section{background:linear-gradient(135deg,#10b98115,#10b98108);border:1px solid #10b98130;border-radius:12px;margin-bottom:1.5rem;padding:2rem}.cta-section h3{color:#1a1a2e;margin-bottom:.5rem}.cta-section p{color:#666;margin-bottom:1rem}.create-plan-btn{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border-radius:8px;color:#fff;display:inline-flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;text-decoration:none;transition:transform .2s,box-shadow .2s}.create-plan-btn:hover{box-shadow:0 4px 15px #10b98166;transform:translateY(-2px)}.powered-by{color:#888;font-size:.9rem}.powered-by a{color:#10b981;font-weight:600;text-decoration:none}@media (max-width:768px){.shared-nutrition-plan{padding:1rem .75rem}.shared-header{margin-bottom:1.5rem;padding-bottom:1.5rem}.shared-header h1{font-size:1.5rem}.header-badge{font-size:.75rem;padding:.4rem .75rem}.goal-badge{padding:.4rem .75rem}.goal-badge,.plan-meta{font-size:.85rem}.shared-tabs{gap:0}.shared-tabs .tab-btn{flex:1 1;font-size:.85rem;padding:.6rem .75rem;text-align:center}.shared-tabs .tab-btn i{display:block;font-size:1rem;margin:0 0 .25rem}.shared-content{border-radius:10px;padding:1rem}.shared-content h2{font-size:1.1rem}.per-meal-cards{gap:.75rem;grid-template-columns:repeat(2,1fr)}.per-meal-card{padding:1rem .75rem}.per-meal-value{font-size:1.5rem}.per-meal-label{font-size:.8rem}.targets-grid{gap:.75rem;grid-template-columns:1fr}.target-card{padding:1rem}.target-icon{font-size:1rem;height:40px;width:40px}.target-value{font-size:1.25rem}.bar-label{font-size:.85rem;width:60px}.macro-visual{padding:1rem}.week-days-grid{grid-template-columns:1fr}.day-card{margin-bottom:.5rem}.notes-content{font-size:.9rem;padding:1rem}.shared-footer{margin-top:1.5rem}}@media (max-width:400px){.per-meal-cards{gap:.5rem;grid-template-columns:1fr 1fr}.per-meal-card{padding:.75rem .5rem}.per-meal-value{font-size:1.25rem}.per-meal-note{font-size:.65rem}}.step1-goals,.step1-goals *{box-sizing:border-box}.step1-goals{margin:0 auto;max-width:800px;width:100%}.form-section{border-bottom:1px solid #e2e8f0;margin-bottom:1.5rem;padding-bottom:1.5rem}.form-section:last-of-type{border-bottom:none}.form-section h3{align-items:center;color:#4a5568;display:flex;font-size:1rem;gap:.5rem;margin:0 0 1rem}.form-section h3 i{color:#667eea;width:20px}.goal-type-selector{display:flex;gap:1rem;margin-bottom:.75rem}.goal-type-btn{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:.5rem;padding:1rem;transition:all .2s}.goal-type-btn:hover{border-color:#667eea}.goal-type-btn.active{background:linear-gradient(135deg,#667eea08,#764ba208);border-color:#667eea}.goal-icon{color:#a0aec0;font-size:1.5rem}.goal-type-btn.active .goal-icon{color:#667eea}.goal-label{color:#4a5568;font-weight:500}.goal-description{color:#718096;font-size:.85rem;margin:0;text-align:center}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.form-row-3{grid-template-columns:repeat(3,1fr)}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{color:#4a5568;font-size:.85rem;font-weight:500}.form-group input,.form-group select{border:1px solid #e2e8f0;border-radius:8px;font-size:1rem;padding:.75rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.activity-select{border:1px solid #e2e8f0;border-radius:8px;font-size:1rem;padding:.75rem;width:100%}.meals-selector{display:flex;gap:.75rem}.meals-btn{background:#fff;border:2px solid #e2e8f0;border-radius:12px;color:#4a5568;cursor:pointer;font-size:1.25rem;font-weight:600;height:60px;transition:all .2s;width:60px}.meals-btn.active,.meals-btn:hover{border-color:#667eea}.meals-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.calculate-section{margin-top:2rem;text-align:center}.calculate-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:pointer;display:inline-flex;font-size:1.1rem;font-weight:500;gap:.5rem;padding:1rem 2rem;transition:all .2s}.calculate-btn:hover:not(:disabled){box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.calculate-btn:disabled{cursor:not-allowed;opacity:.7}.step1-results{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:16px;margin-top:2rem;overflow-x:hidden;padding:1.5rem}.step1-results h3{align-items:center;color:#2d3748;display:flex;gap:.5rem;justify-content:center;margin:0 0 1.5rem;text-align:center}.step1-results h3 i{color:#10b981}.step1-targets-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(4,1fr);margin-bottom:1.5rem}.step1-target-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:1rem;text-align:center}.step1-target-icon{font-size:1.5rem;margin-bottom:.5rem}.step1-target-card.calories .step1-target-icon{color:#f59e0b}.step1-target-card.protein .step1-target-icon{color:#ef4444}.step1-target-card.carbs .step1-target-icon{color:#10b981}.step1-target-card.fat .step1-target-icon{color:#3b82f6}.step1-target-value{color:#2d3748;font-size:1.5rem;font-weight:700}.step1-target-label{color:#718096;font-size:.8rem;text-transform:uppercase}.step1-per-meal{background:#fff;border-radius:10px;margin-bottom:1rem;padding:1rem}.step1-per-meal h4{color:#4a5568;font-size:.9rem;margin:0 0 .75rem;text-align:center}.step1-per-meal-grid{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center}.step1-per-meal-grid span{color:#718096;font-size:.9rem}.step1-per-meal-grid strong{color:#2d3748}.step1-success{align-items:center;background:#d1fae5;border-radius:8px;color:#065f46;display:flex;font-size:.9rem;gap:.5rem;justify-content:center;padding:.75rem}.step1-success i{color:#10b981}@media (max-width:768px){.step1-goals{max-width:100%;overflow-x:hidden;padding:0 .5rem}.goal-type-selector{flex-direction:column}.form-row,.form-row-3{grid-template-columns:1fr}.step1-targets-grid{gap:.75rem;grid-template-columns:repeat(2,1fr)}.step1-target-card{padding:.75rem}.step1-target-icon{font-size:1.25rem;margin-bottom:.35rem}.step1-target-value{font-size:1.25rem}.step1-target-label{font-size:.7rem}.step1-results{margin-top:1.5rem;padding:1rem}.step1-results h3{font-size:1rem;margin-bottom:1rem}.step1-per-meal{padding:.75rem}.step1-per-meal h4{font-size:.85rem}.step1-per-meal-grid{gap:1rem}.step1-per-meal-grid span{font-size:.8rem}.meals-btn{font-size:1.1rem;height:50px;width:50px}.calculate-section{margin-top:1.5rem}.calculate-btn{font-size:1rem;justify-content:center;padding:.875rem 1.5rem;width:100%}}@media (max-width:400px){.step1-targets-grid{gap:.5rem}.step1-target-card{padding:.5rem}.step1-target-icon{font-size:1rem}.step1-target-value{font-size:1.1rem}.step1-target-label{font-size:.65rem}.step1-per-meal-grid{align-items:center;flex-direction:column;gap:.5rem}}.menu-browser,.menu-browser *{box-sizing:border-box}.menu-browser{display:flex;flex-direction:column;gap:1rem;max-width:100%;width:100%}.coach-mode-notice{align-items:flex-start;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #7dd3fc;border-radius:8px;display:flex;gap:.75rem;margin-bottom:.5rem;padding:.875rem 1rem}.coach-mode-notice>i{color:#0284c7;font-size:1.1rem;margin-top:2px}.coach-mode-notice strong{color:#0369a1;display:block;font-size:.9rem;margin-bottom:.25rem}.coach-mode-notice p{color:#0c4a6e;font-size:.8rem;line-height:1.4;margin:0}.menu-source-notice{align-items:flex-start;background:linear-gradient(135deg,#fefce8,#fef9c3);border:1px solid #fcd34d;border-radius:8px;display:flex;gap:.75rem;margin-bottom:.5rem;padding:.875rem 1rem}.menu-source-notice>i{color:#ca8a04;font-size:1.1rem;margin-top:2px}.menu-source-notice>div{flex:1 1}.menu-source-notice strong{color:#854d0e;display:block;font-size:.9rem;margin-bottom:.25rem}.menu-source-notice p{color:#713f12;font-size:.8rem;line-height:1.4;margin:0}.clear-source-btn{align-items:center;background:#fff;border:1px solid #ca8a04;border-radius:6px;color:#854d0e;cursor:pointer;display:flex;flex-shrink:0;font-size:.75rem;font-weight:500;gap:.375rem;padding:.5rem .75rem;transition:all .2s}.clear-source-btn:hover{background:#fef3c7;border-color:#854d0e}.menu-search-controls{display:flex;gap:.75rem}.menu-browser .search-input-wrapper{align-items:center;display:flex;flex:1 1;position:relative}.menu-browser .search-input-wrapper>i{color:#a0aec0;left:12px;position:absolute}.menu-browser .search-input-wrapper input{background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:.95rem;padding:.75rem 2.5rem;width:100%}.menu-browser .search-input-wrapper input:focus{border-color:#667eea;outline:none}.menu-browser .clear-btn{background:none;border:none;color:#a0aec0;cursor:pointer;padding:4px;position:absolute;right:8px}.cuisine-select{background:#fff;border:1px solid #e2e8f0;border-radius:8px;min-width:150px;padding:.75rem}.dietary-filter-section{align-items:center;background:linear-gradient(135deg,#10b98108,#10b98105);border:1px solid #10b98130;border-radius:8px;display:flex;flex-wrap:wrap;gap:.75rem;padding:.75rem}.dietary-filter-section .filter-label{align-items:center;color:#10b981;display:flex;font-size:.85rem;font-weight:500;gap:.35rem;white-space:nowrap}.dietary-chips{display:flex;flex:1 1;flex-wrap:wrap;gap:.35rem}.dietary-chip{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:20px;color:#64748b;cursor:pointer;display:flex;font-size:.75rem;gap:.25rem;padding:.35rem .65rem;transition:all .15s}.dietary-chip:hover{border-color:#10b981;color:#10b981}.dietary-chip.active{background:#10b981;border-color:#10b981;color:#fff}.dietary-chip i{font-size:.65rem}.dietary-chip.clear-chip{background:#fee2e2;border-color:#fca5a5;color:#dc2626}.dietary-chip.clear-chip:hover{background:#fecaca}.category-filter{display:flex;flex-wrap:wrap;gap:.5rem}.category-btn{background:#fff;border:1px solid #e2e8f0;border-radius:20px;color:#64748b;cursor:pointer;font-size:.8rem;padding:.4rem .75rem;transition:all .2s}.category-btn:hover{border-color:#7c3aed;color:#7c3aed}.category-btn.active{background:#7c3aed;border-color:#7c3aed;color:#fff}.meal-type-selector{background:#f8fafc}.selector-label{white-space:nowrap}.meal-type-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.menu-results{max-height:450px;overflow-y:auto}.empty-state .hint{color:#a0aec0;font-size:.85rem}.menu-browser .menu-list{display:flex;flex-direction:column;gap:.75rem}.menu-browser .menu-item{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;display:flex;gap:1rem;padding:.75rem;transition:all .2s}.menu-browser .menu-item:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea1a}.menu-browser .menu-image{border-radius:8px;flex-shrink:0;height:70px;overflow:hidden;width:70px}.menu-browser .menu-image img{height:100%;object-fit:cover;width:100%}.menu-browser .menu-info{flex:1 1;min-width:0}.menu-browser .menu-info h4{color:#2d3748;font-size:.95rem;font-weight:500;margin:0 0 .25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-browser .menu-meta{color:#718096;display:flex;font-size:.75rem;gap:.75rem;margin-bottom:.5rem}.menu-browser .menu-meta .cuisine{background:#f1f5f9;border-radius:4px;padding:.15rem .5rem}.menu-browser .menu-meta i{margin-right:.25rem}.menu-browser .menu-macros{display:flex;gap:.5rem}.menu-browser .menu-macros .macro{border-radius:4px;font-size:.7rem;font-weight:500;padding:.2rem .4rem}.menu-browser .menu-macros .macro.protein{background:#fef2f2;color:#dc2626}.menu-browser .menu-macros .macro.calories{background:#fffbeb;color:#d97706}.menu-browser .menu-macros .macro.carbs{background:#f0fdf4;color:#16a34a}.menu-browser .menu-macros .macro.fat{background:#eff6ff;color:#2563eb}.menu-browser .menu-item .add-btn{align-items:center;background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:.8rem;gap:.25rem;padding:.5rem .75rem;transition:all .2s}.menu-browser .menu-item .add-btn:hover{background:#5a67d8}.menu-browser .menu-item .add-btn.in-plan{background:#10b981}@media (max-width:768px){.menu-browser{gap:.75rem;max-width:100%;overflow-x:hidden;width:100%}.coach-mode-notice{font-size:.85rem;padding:.75rem}.menu-source-notice{flex-direction:column;gap:.5rem}.clear-source-btn{align-self:flex-start}.menu-browser .menu-search-controls{flex-direction:column}.menu-browser .cuisine-select{min-width:0;min-width:auto;width:100%}.dietary-filter-section{align-items:flex-start;flex-direction:column;gap:.5rem;padding:.5rem .75rem}.dietary-filter-section .filter-label{margin-bottom:.25rem;width:100%}.dietary-chips{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;max-width:100%;overflow-x:auto;padding-bottom:.25rem;width:100%}.dietary-chip{flex-shrink:0;font-size:.7rem;padding:.3rem .5rem}.category-filter{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto;padding-bottom:.25rem}.category-btn{flex-shrink:0;font-size:.75rem;padding:.35rem .6rem}.meal-type-selector{align-items:stretch;flex-direction:column;gap:.5rem;padding:.5rem .75rem}.meal-type-selector .selector-label{font-size:.8rem;text-align:center}.meal-type-selector .meal-type-buttons{grid-gap:.4rem;display:grid;gap:.4rem;grid-template-columns:repeat(2,1fr);width:100%}.meal-type-btn{font-size:.8rem;justify-content:center;padding:.5rem;text-align:center}.menu-results{max-height:350px}.menu-browser .menu-item{flex-wrap:wrap;gap:.5rem;padding:.5rem}.menu-browser .menu-image{height:50px;width:50px}.menu-browser .menu-info{flex:1 1;min-width:calc(100% - 65px)}.menu-browser .menu-info h4{font-size:.85rem}.menu-browser .menu-meta{flex-wrap:wrap;font-size:.7rem;gap:.5rem}.menu-browser .menu-macros{flex-wrap:wrap;gap:.35rem}.menu-browser .menu-macros .macro{font-size:.65rem;padding:.15rem .35rem}.menu-browser .menu-item .add-btn{justify-content:center;margin-top:.25rem;padding:.6rem;width:100%}.empty-state,.loading-state{padding:2rem 1rem}.empty-state i,.loading-state i{font-size:1.5rem}}@media (max-width:400px){.dietary-chip{font-size:.65rem;padding:.25rem .4rem}.category-btn{font-size:.7rem;padding:.3rem .5rem}.meal-type-btn{font-size:.75rem;padding:.4rem}.menu-browser .menu-image{height:45px;width:45px}}.meal-bucket{background:#fff;border:1px solid #e2e8f0;border-radius:10px;border-top:3px solid #718096;border-top:3px solid var(--meal-color,#718096);overflow:hidden}.bucket-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;padding:.75rem 1rem}.bucket-header,.bucket-title{align-items:center;display:flex}.bucket-title{color:#2d3748;font-weight:600;gap:.5rem}.bucket-title i{color:#718096;color:var(--meal-color,#718096)}.bucket-title .item-count{color:#a0aec0;font-size:.85rem;font-weight:400}.bucket-totals{display:flex;font-size:.8rem;gap:.75rem}.bucket-totals .total-calories{color:#d97706;font-weight:500}.bucket-totals .total-protein{color:#dc2626;font-weight:500}.bucket-content{max-height:200px;min-height:60px;overflow-y:auto}.bucket-empty{align-items:center;color:#a0aec0;display:flex;font-size:.85rem;height:60px;justify-content:center}.bucket-items{flex-direction:column}.bucket-item,.bucket-items{display:flex;gap:.5rem;padding:.5rem}.bucket-item{background:#f8fafc}.bucket-item,.item-icon{align-items:center;border-radius:6px}.item-icon{display:flex;flex-shrink:0;font-size:.75rem;height:28px;justify-content:center;width:28px}.item-icon.recipe{background:#ede9fe;color:#7c3aed}.item-icon.food{background:#d1fae5;color:#059669}.item-info{display:flex;flex:1 1;flex-direction:column;min-width:0}.item-name{color:#2d3748;font-size:.85rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-nutrition{color:#718096;font-size:.7rem}.item-controls{flex-shrink:0;gap:.25rem}.item-controls,.qty-btn{align-items:center;display:flex}.qty-btn{background:#fff;border:1px solid #e2e8f0;border-radius:4px;color:#4a5568;cursor:pointer;font-size:.65rem;height:24px;justify-content:center;width:24px}.qty-btn:hover{background:#f1f5f9}.qty-value{font-size:.8rem;font-weight:500;text-align:center;width:20px}.remove-btn{align-items:center;background:#fef2f2;border:none;border-radius:4px;color:#ef4444;cursor:pointer;display:flex;font-size:.65rem;height:24px;justify-content:center;margin-left:.25rem;width:24px}.remove-btn:hover{background:#fee2e2}.bucket-footer{border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;padding:.5rem}.clear-meal-btn{align-items:center;background:none;border:none;color:#a0aec0;cursor:pointer;display:flex;font-size:.75rem;gap:.25rem;padding:.25rem .5rem}.clear-meal-btn:hover{color:#ef4444}@media (max-width:600px){.bucket-header{align-items:flex-start;flex-direction:column;gap:.5rem}.bucket-item{flex-wrap:wrap}.item-info{flex-basis:calc(100% - 40px);flex-grow:1;flex-shrink:1}.item-controls{justify-content:flex-end;margin-top:.25rem;width:100%}}.step3-shopping-cart,.step3-shopping-cart *{box-sizing:border-box}.step3-shopping-cart{max-width:100%;overflow-x:hidden;width:100%}.step-intro{margin-bottom:1.5rem}.week-date-picker{align-items:center;background:linear-gradient(135deg,#667eea10,#764ba210);border:1px solid #667eea30;border-radius:10px;display:flex;gap:1rem;justify-content:center;margin-bottom:1rem;padding:.75rem 1rem}.week-date-picker label{align-items:center;color:#4a5568;display:flex;font-weight:500;gap:.5rem}.week-date-picker label i{color:#667eea}.week-date-picker .date-input{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#2d3748;cursor:pointer;font-size:.95rem;padding:.5rem .75rem}.week-date-picker .date-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.week-date-picker .week-range{color:#667eea;font-size:.9rem;font-weight:500}.week-navigation{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:1rem;padding:1rem 1.5rem}.day-nav-controls{gap:1.5rem;margin-bottom:1rem}.day-nav-btn,.day-nav-controls{align-items:center;display:flex;justify-content:center}.day-nav-btn{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#667eea;cursor:pointer;height:40px;transition:all .2s;width:40px}.day-nav-btn:hover:not(:disabled){background:#667eea;border-color:#667eea;color:#fff}.day-nav-btn:disabled{cursor:not-allowed;opacity:.4}.current-day-info{text-align:center}.day-number{color:#2d3748;display:block;font-size:1.1rem;font-weight:600}.day-name{color:#718096;display:block;font-size:.85rem}.week-overview{gap:.5rem;margin-bottom:1rem}.day-dot,.week-overview{display:flex;justify-content:center}.day-dot{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:50%;cursor:pointer;flex-direction:column;height:36px;position:relative;transition:all .2s;width:36px}.day-dot.active,.day-dot:hover{border-color:#667eea}.day-dot.active{background:#667eea}.day-dot.active .dot-day{color:#fff}.day-dot.has-items{border-color:#10b981}.day-dot.has-items.active{background:#10b981;border-color:#10b981}.dot-day{color:#64748b;font-size:.7rem;font-weight:600}.dot-indicator{background:#10b981;border:2px solid #fff;border-radius:50%;bottom:-2px;height:8px;position:absolute;width:8px}.week-progress-bar{margin-top:.5rem}.week-progress-bar .progress-label{color:#718096;display:flex;font-size:.8rem;justify-content:space-between;margin-bottom:.5rem}.progress-track{background:#e2e8f0;border-radius:3px;height:6px;overflow:hidden}.week-progress-bar .progress-fill{background:linear-gradient(90deg,#667eea,#10b981);border-radius:3px;height:100%;transition:width .3s ease}.daily-targets-banner{align-items:center;background:linear-gradient(135deg,#667eea10,#764ba210);border-radius:12px;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-bottom:1.5rem;padding:1rem 1.5rem}.targets-label{color:#667eea;font-size:.9rem;font-weight:600}.target-pill{background:#fff;border-radius:20px;font-size:.85rem;font-weight:500;padding:.35rem .75rem}.target-pill.protein{border:1px solid #fecaca;color:#dc2626}.target-pill.calories{border:1px solid #fde68a;color:#d97706}.target-pill.carbs{border:1px solid #bbf7d0;color:#16a34a}.target-pill.fat{border:1px solid #bfdbfe;color:#2563eb}.cart-layout-v2{grid-gap:1.5rem;align-items:start;display:grid;gap:1.5rem;grid-template-columns:minmax(0,1fr) 340px;max-width:100%}.source-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;min-height:600px;min-width:0;overflow:hidden;padding:1.25rem}.source-toggle{background:#e2e8f0;border-radius:10px;display:flex;margin-bottom:1rem;padding:4px}.toggle-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:#64748b;cursor:pointer;display:flex;flex:1 1;font-size:.9rem;font-weight:500;gap:.5rem;justify-content:center;padding:.75rem 1rem;transition:all .2s}.toggle-btn:hover{color:#475569}.toggle-btn.active{background:#fff;box-shadow:0 1px 3px #0000001a;color:#667eea}.toggle-btn i{font-size:1rem}.food-search-section{display:flex;flex-direction:column;gap:1rem}.meal-type-selector{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:.5rem;padding:.75rem}.selector-label{color:#718096;font-size:.85rem;font-weight:500}.meal-type-btn{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#4a5568;cursor:pointer;font-size:.85rem;padding:.5rem .75rem;transition:all .2s}.meal-type-btn:hover{border-color:#667eea}.meal-type-btn.active{background:#667eea;border-color:#667eea;color:#fff}.search-controls{display:flex;gap:.75rem}.search-input-wrapper{align-items:center;display:flex;flex:1 1;position:relative}.search-input-wrapper>i{color:#a0aec0;left:12px;position:absolute}.search-input-wrapper input{background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:.95rem;padding:.75rem 2.5rem;width:100%}.search-input-wrapper input:focus{border-color:#667eea;outline:none}.clear-btn{background:none;border:none;color:#a0aec0;cursor:pointer;padding:4px;position:absolute;right:8px}.category-select{min-width:150px;padding:.75rem}.category-select,.match-btn{background:#fff;border:1px solid #e2e8f0;border-radius:8px}.match-btn{align-items:center;color:#4a5568;cursor:pointer;display:flex;gap:.5rem;padding:.75rem 1rem;transition:all .2s;white-space:nowrap}.match-btn.active,.match-btn:hover{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff}.food-type-filter{align-items:center;background:#f8fafc;border-radius:8px;display:flex;gap:.75rem;margin-top:.75rem;padding:.5rem .75rem}.food-type-filter .filter-label{color:#64748b;font-size:.8rem;font-weight:500}.filter-toggle{background:#fff;border:1px solid #e2e8f0;border-radius:6px;display:flex;gap:.25rem;padding:2px}.filter-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:#64748b;cursor:pointer;display:flex;font-size:.75rem;font-weight:500;gap:.35rem;padding:.4rem .65rem;transition:all .15s}.filter-btn:hover{background:#f1f5f9}.filter-btn.active{background:#667eea;color:#fff}.filter-btn i{font-size:.7rem}.food-results{max-height:450px;overflow-y:auto}.empty-state,.loading-state{color:#718096;padding:3rem 1rem;text-align:center}.empty-state i,.loading-state i{color:#cbd5e0;font-size:2rem;margin-bottom:1rem}.food-list{display:flex;flex-direction:column;gap:.5rem}.food-item{align-items:flex-start;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:.75rem;min-height:60px;padding:.75rem;transition:all .2s}.food-item:hover{border-color:#667eea}.food-info{display:flex;flex:1 1;flex-direction:column;gap:.25rem;min-width:0}.food-info h4{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#2d3748;display:-webkit-box;font-size:.85rem;font-weight:500;line-height:1.3;margin:0;overflow:hidden;word-break:break-word}.food-category{color:#a0aec0;font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.food-macros{display:flex;flex-shrink:0;flex-wrap:wrap;gap:.35rem;justify-content:flex-end;max-width:90px}.macro{border-radius:4px;font-size:.75rem;font-weight:500;padding:.2rem .4rem}.macro.protein{background:#fef2f2;color:#dc2626}.macro.calories{background:#fffbeb;color:#d97706}.macro.carbs{background:#f0fdf4;color:#16a34a}.macro.fat{background:#eff6ff;color:#2563eb}.match-score{background:#10b981;border-radius:4px;color:#fff;font-size:.75rem;font-weight:500;padding:.25rem .5rem}.add-btn{align-items:center;background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:.8rem;gap:.25rem;padding:.5rem .75rem;transition:all .2s}.add-btn:hover{background:#5a67d8}.add-btn.in-cart{background:#10b981}.step3-plan-panel{display:flex;flex-direction:column;flex-shrink:0;gap:1rem;max-width:340px;min-height:600px;position:-webkit-sticky;position:sticky;top:1rem;width:340px}.step3-daily-progress{background:#fff;border:1px solid #e2e8f0;border-radius:12px;max-width:100%;overflow:hidden;padding:1.25rem}.step3-daily-progress h3{align-items:center;color:#2d3748;display:flex;font-size:1rem;gap:.5rem;margin:0 0 1rem}.step3-daily-progress h3 i{color:#667eea}.step3-progress-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(4,1fr)}.step3-progress-item{align-items:center;display:flex;flex-direction:column;min-width:0;overflow:hidden;text-align:center}.step3-circle-container{height:60px;margin-bottom:.5rem;position:relative;width:60px}.step3-circle{height:100%;transform:rotate(-90deg);width:100%}.step3-circle-bg{fill:none;stroke:#e2e8f0;stroke-width:3}.step3-circle-fill{fill:none;stroke-width:3;stroke-linecap:round;transition:stroke-dasharray .3s ease}.step3-circle-fill.calories{stroke:#f59e0b}.step3-circle-fill.protein{stroke:#ef4444}.step3-circle-fill.carbs{stroke:#10b981}.step3-circle-fill.fat{stroke:#3b82f6}.step3-percent{color:#2d3748;font-size:.75rem;font-weight:600;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.step3-macro-label{color:#4a5568;font-size:.75rem;font-weight:600}.step3-values{color:#a0aec0;font-size:.65rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meal-buckets{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.25rem}.buckets-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.buckets-header h3{align-items:center;color:#2d3748;display:flex;font-size:1rem;gap:.5rem;margin:0}.buckets-header h3 i{color:#667eea}.total-items{background:#f1f5f9;border-radius:20px;color:#718096;font-size:.85rem;padding:.25rem .75rem}.buckets-grid{display:flex;flex-direction:column;gap:.75rem}.plan-actions{border-top:1px solid #e2e8f0;display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem;padding-top:1rem}.clear-day-btn,.clear-plan-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#718096;cursor:pointer;display:flex;font-size:.85rem;gap:.5rem;padding:.5rem 1rem}.clear-day-btn:hover{border-color:#f59e0b;color:#f59e0b}.clear-plan-btn:hover{border-color:#ef4444;color:#ef4444}.week-summary-card{background:linear-gradient(135deg,#667eea08,#10b98108);border:1px solid #e2e8f0;border-radius:12px;padding:1rem}.week-summary-card h4{align-items:center;color:#2d3748;display:flex;font-size:.9rem;gap:.5rem;margin:0 0 .75rem}.week-summary-card h4 i{color:#667eea}.week-stats{display:flex;gap:1rem}.week-stats .stat{background:#fff;border-radius:8px;flex:1 1;padding:.5rem;text-align:center}.week-stats .stat-value{color:#2d3748;display:block;font-size:1.1rem;font-weight:600}.week-stats .stat-label{color:#718096;display:block;font-size:.7rem;text-transform:uppercase}@media (max-width:1024px){.step3-shopping-cart{box-sizing:border-box;max-width:100%;overflow-x:hidden;width:100%}.cart-layout-v2{grid-template-columns:1fr;max-width:100%;width:100%}.step3-plan-panel{min-height:auto;order:-1;overflow:hidden;position:relative;top:0}.meal-buckets,.source-panel,.step3-daily-progress,.step3-plan-panel,.week-summary-card{box-sizing:border-box;max-width:100%;width:100%}.source-panel{min-height:auto}.step3-progress-grid{grid-template-columns:repeat(4,1fr)}.daily-targets-banner,.step-intro,.week-date-picker,.week-navigation{box-sizing:border-box;max-width:100%;width:100%}}@media (max-width:600px){.step-intro h2{font-size:1.2rem}.step-intro p{font-size:.85rem}.week-date-picker{flex-direction:column;gap:.5rem;padding:.75rem}.week-date-picker .week-range{font-size:.8rem}.week-navigation{padding:.75rem}.day-nav-controls{gap:1rem}.day-number{font-size:1rem}.day-dot{height:32px;width:32px}.daily-targets-banner{align-items:stretch;flex-direction:column;gap:.5rem;padding:.75rem;text-align:center}.target-pill{display:inline-block;margin:.15rem}.source-panel{overflow-x:hidden;padding:.75rem}.search-controls{flex-wrap:wrap}.search-input-wrapper{width:100%}.category-select{flex:1 1}.food-type-filter{align-items:flex-start;flex-direction:column;gap:.5rem;margin-top:.5rem}.filter-toggle{grid-gap:.25rem;display:grid;gap:.25rem;grid-template-columns:repeat(3,1fr);width:100%}.filter-btn{justify-content:center;text-align:center}.toggle-btn{font-size:.8rem;padding:.6rem .5rem}.toggle-btn i{font-size:.85rem}.food-item{flex-wrap:wrap}.food-info{flex:1 1 60%}.food-macros{justify-content:flex-start;max-width:none}.add-btn{justify-content:center;margin-top:.5rem;width:100%}.step3-daily-progress{padding:1rem}.step3-progress-grid{gap:.75rem;grid-template-columns:repeat(2,1fr)}.step3-circle-container{height:45px;width:45px}.step3-percent{font-size:.65rem}.step3-macro-label{font-size:.7rem}.step3-values{font-size:.6rem}.meal-buckets{padding:1rem}.meal-type-selector{flex-wrap:wrap}.plan-actions{flex-direction:column}.clear-day-btn,.clear-plan-btn{justify-content:center;width:100%}.week-stats{flex-direction:column;gap:.5rem}}.step4-review{margin:0 auto;max-width:900px}.step-intro h2 i{color:#10b981}.review-layout{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr;margin-bottom:2rem}.cart-summary-section h3,.summary-section h3{align-items:center;color:#2d3748;display:flex;font-size:1rem;gap:.5rem;margin:0 0 1rem}.summary-section h3 i{color:#667eea}.cart-summary-section h3 i{color:#10b981}.cart-summary-card,.summary-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:1.25rem}.summary-header{display:flex;gap:.75rem;margin-bottom:1.25rem}.goal-badge,.meals-badge{align-items:center;border-radius:8px;display:flex;font-size:.85rem;font-weight:500;gap:.5rem;padding:.5rem 1rem}.goal-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.meals-badge{background:#fff;border:1px solid #e2e8f0;color:#4a5568}.targets-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.target-item{background:#fff;border-radius:8px;padding:.75rem;text-align:center}.target-label{color:#718096;display:block;font-size:.75rem;margin-bottom:.25rem;text-transform:uppercase}.target-value{font-size:1.25rem;font-weight:700}.target-value.calories{color:#f59e0b}.target-value.protein{color:#ef4444}.target-value.carbs{color:#10b981}.target-value.fat{color:#3b82f6}.dietary-summary{align-items:center;border-top:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem;padding-top:1rem}.dietary-label{color:#718096;font-size:.85rem}.dietary-tag{background:#d1fae5;border-radius:20px;color:#065f46;font-size:.8rem;padding:.25rem .75rem}.cart-totals{margin-bottom:1.25rem}.cart-items-list h4,.cart-totals h4{color:#4a5568;font-size:.9rem;margin:0 0 .75rem}.totals-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(4,1fr)}.total-item{background:#fff;border-radius:6px;padding:.5rem;text-align:center}.total-value{color:#2d3748;display:block;font-size:1rem;font-weight:600}.total-label{color:#a0aec0;font-size:.7rem;text-transform:uppercase}.meal-breakdown{border-top:1px solid #e2e8f0;margin-top:1rem;padding-top:1rem}.meal-breakdown h4{color:#4a5568;font-size:.9rem;margin:0 0 .75rem}.meal-summary-item{background:#fff;border-left:3px solid #667eea;border-radius:8px;margin-bottom:.75rem;padding:.75rem}.meal-summary-item:last-child{margin-bottom:0}.meal-summary-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.meal-name{align-items:center;color:#2d3748;display:flex;font-weight:600;gap:.5rem}.meal-name i{color:#667eea;font-size:.85rem}.meal-stats{color:#718096;font-size:.8rem;font-weight:500}.meal-items-list{display:flex;flex-direction:column;gap:.35rem}.meal-list-item{align-items:center;color:#4a5568;display:flex;font-size:.8rem;gap:.5rem}.meal-list-item i{font-size:.7rem;text-align:center;width:16px}.meal-list-item.recipe i{color:#7c3aed}.meal-list-item.food i{color:#059669}.meal-list-item span:first-of-type{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meal-list-item .item-qty{color:#a0aec0;font-size:.75rem}.empty-cart-message,.empty-message{color:#a0aec0;font-size:.9rem;padding:1rem;text-align:center}.day-summary{border-left-color:#10b981}.day-summary .meal-summary-header{margin-bottom:0}.item-type-summary{border-top:1px solid #e2e8f0;display:flex;gap:1rem;margin-top:1rem;padding-top:1rem}.item-type{align-items:center;background:#fff;border-radius:8px;display:flex;flex:1 1;gap:.75rem;padding:.75rem}.item-type i{font-size:1.25rem}.item-type.recipes i{color:#7c3aed}.item-type.foods i{color:#059669}.item-type .count{color:#2d3748;font-size:1.25rem;font-weight:600}.item-type .label{color:#718096;font-size:.8rem}.action-section{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:2rem}.action-card{border:2px solid;border-radius:16px;display:flex;flex-direction:column;padding:1.5rem}.mealplan-card{background:linear-gradient(135deg,#667eea10,#667eea05);border-color:#667eea40}.action-card.instacart-card{background:linear-gradient(135deg,#00754a10,#00754a05);border-color:#00754a40}.action-card.save-card{background:linear-gradient(135deg,#3b82f610,#3b82f605);border-color:#3b82f640}.action-card.save-card .action-info i{color:#3b82f6}.action-btn.save-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.action-btn.save-btn:hover:not(:disabled){box-shadow:0 4px 12px #3b82f64d;transform:translateY(-2px)}.action-btn.save-btn:disabled{opacity:.7}.action-info .note.success{color:#10b981}.action-info{align-items:flex-start;display:flex;gap:1rem;margin-bottom:1rem}.action-info>i{color:#667eea;font-size:2rem}.instacart-logo{height:32px}.action-info h4{color:#2d3748;font-size:1.1rem;margin:0}.action-info p{color:#718096;font-size:.85rem;margin:.25rem 0 0}.action-info .note{color:#f59e0b;font-size:.75rem;font-style:italic}.action-btn{align-items:center;border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:.5rem;justify-content:center;margin-top:auto;padding:.875rem 1.5rem;transition:all .2s}.mealplan-btn{background:#667eea}.mealplan-btn:hover:not(:disabled){background:#5a67d8;box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.dashboard-btn{background:#6b7280}.dashboard-btn:hover:not(:disabled){background:#4b5563;box-shadow:0 4px 12px #6b72804d;transform:translateY(-2px)}.action-btn.instacart-btn{background:#00754a}.action-btn.instacart-btn:hover:not(:disabled){background:#006341;box-shadow:0 4px 12px #00754a4d;transform:translateY(-2px)}.action-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.completion-message{align-items:center;background:linear-gradient(135deg,#d1fae510,#10b98108);border:1px solid #10b98130;border-radius:12px;display:flex;gap:1rem;padding:1.25rem}.completion-message>i{color:#10b981;font-size:2.5rem}.completion-message h4{color:#065f46;font-size:1rem;margin:0}.completion-message p{color:#047857;font-size:.9rem;margin:.25rem 0 0}@media (max-width:768px){.action-section,.review-layout{grid-template-columns:1fr}.action-card{text-align:center}.action-info{align-items:center;flex-direction:column}.targets-grid,.totals-grid{grid-template-columns:repeat(2,1fr)}.item-type-summary{flex-direction:column}}.conflict-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.conflict-modal{background:#fff;border-radius:16px;box-shadow:0 20px 40px #0003;max-width:400px;padding:2rem;width:90%}.conflict-modal-header{align-items:center;display:flex;gap:.75rem;margin-bottom:1rem}.conflict-modal-header i{color:#f59e0b;font-size:1.5rem}.conflict-modal-header h3{color:#1a1a2e;font-size:1.25rem;margin:0}.conflict-modal-content{margin-bottom:1.5rem}.conflict-modal-content p{color:#4a5568;margin:0 0 .5rem}.conflict-days{background:#f7fafc;border-radius:6px;color:#1a1a2e;font-weight:600;margin:.75rem 0!important;padding:.5rem}.conflict-modal-actions{display:flex;gap:1rem;justify-content:flex-end}.conflict-modal-actions button{border-radius:8px;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.conflict-modal-actions .cancel-btn{background:#f7fafc;border:1px solid #e2e8f0;color:#4a5568}.conflict-modal-actions .cancel-btn:hover{background:#edf2f7}.conflict-modal-actions .confirm-btn{background:#667eea;border:none;color:#fff}.conflict-modal-actions .confirm-btn:hover{background:#5a67d8}.nutrition-planner-wizard{margin:0 auto;max-width:1100px;overflow-x:hidden;padding:2rem 1rem}.wizard-header{margin-bottom:2rem;text-align:center}.wizard-header h1{align-items:center;color:#1a1a2e;display:flex;font-size:2rem;gap:.75rem;justify-content:center;margin-bottom:.5rem}.wizard-header h1 i{color:#667eea}.wizard-subtitle{color:#666;font-size:1.1rem}.wizard-steps{background:#fff;border-radius:16px;box-shadow:0 2px 12px #00000014;gap:0;justify-content:center;margin-bottom:2rem;padding:1.5rem}.wizard-step,.wizard-steps{align-items:center;display:flex}.wizard-step{border-radius:12px;cursor:default;gap:.75rem;padding:.75rem 1rem;transition:all .2s}.wizard-step.accessible{cursor:pointer}.wizard-step.accessible:hover{background:#f8fafc}.wizard-step.current{background:linear-gradient(135deg,#667eea10,#764ba210)}.step-circle{align-items:center;background:#e2e8f0;border-radius:50%;color:#718096;display:flex;font-size:1.1rem;height:48px;justify-content:center;transition:all .3s;width:48px}.wizard-step.current .step-circle{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 12px #667eea4d;color:#fff}.wizard-step.completed .step-circle{background:#10b981;color:#fff}.step-info{display:flex;flex-direction:column}.step-title{color:#2d3748;font-size:.95rem;font-weight:600}.wizard-step.current .step-title{color:#667eea}.wizard-step.completed .step-title{color:#10b981}.step-description{color:#a0aec0;font-size:.8rem}.step-connector{background:#e2e8f0;height:2px;margin:0 .5rem;transition:background .3s;width:40px}.step-connector.completed{background:#10b981}.wizard-content{background:#fff;border-radius:16px;box-shadow:0 2px 12px #00000014;min-height:400px;overflow-x:hidden;padding:2rem}.wizard-navigation{justify-content:space-between;margin-top:1.5rem;padding:1rem 0}.nav-btn,.wizard-navigation{align-items:center;display:flex}.nav-btn{border:none;border-radius:10px;cursor:pointer;font-size:1rem;font-weight:500;gap:.5rem;padding:.875rem 1.5rem;transition:all .2s}.back-btn{background:#f7fafc;border:1px solid #e2e8f0;color:#4a5568}.back-btn:hover:not(:disabled){background:#edf2f7}.back-btn:disabled{cursor:not-allowed;opacity:.5}.next-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.next-btn:hover:not(:disabled){box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.next-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.nav-btn-placeholder{width:120px}.step-counter{color:#718096;font-size:.9rem}@media (max-width:900px){.wizard-steps{flex-wrap:wrap;gap:.5rem}.step-connector{display:none}.wizard-step{flex:1 1 45%;min-width:160px}.step-description{display:none}}@media (max-width:600px){.nutrition-planner-wizard{overflow-x:hidden;padding:.5rem}.nutrition-planner-wizard,.wizard-header{box-sizing:border-box;max-width:100%;width:100%}.wizard-header h1{font-size:1.25rem}.wizard-subtitle{font-size:.9rem}.wizard-steps{box-sizing:border-box;max-width:100%;padding:.75rem;width:100%}.wizard-step{flex:1 1 100%;padding:.5rem}.step-circle{font-size:.9rem;height:36px;width:36px}.step-title{font-size:.85rem}.wizard-content{border-radius:12px;overflow-x:hidden;padding:.5rem;width:100%}.wizard-content,.wizard-content>*,.wizard-navigation{box-sizing:border-box;max-width:100%}.wizard-navigation{margin-top:1rem;padding:.75rem 0;width:100%}.nav-btn{font-size:.85rem;padding:.6rem .75rem}.step-counter{font-size:.8rem}.nav-btn-placeholder{width:80px}}.wizard-loading{align-items:center;background:#fff;border-radius:16px;box-shadow:0 2px 12px #00000014;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem}.wizard-loading i{color:#667eea;font-size:3rem;margin-bottom:1rem}.wizard-loading p{color:#666;font-size:1.1rem}.auto-save-badge{align-items:center;background:#f0fdf4;border:1px solid #86efac;border-radius:20px;color:#166534;display:inline-flex;font-size:.8rem;gap:.5rem;margin-top:.5rem;padding:.4rem .8rem}.auto-save-badge i{color:#22c55e;font-size:.9rem}.step2-preferences{margin:0 auto;max-width:900px}.step-intro{margin-bottom:2rem;text-align:center}.step-intro h2{align-items:center;color:#2d3748;display:flex;font-size:1.5rem;gap:.5rem;justify-content:center;margin:0 0 .5rem}.step-intro h2 i{color:#667eea}.step-intro p{color:#718096;margin:0}.preferences-section{margin-bottom:2rem}.preferences-section h3{align-items:center;color:#2d3748;display:flex;font-size:1.1rem;gap:.5rem;margin:0 0 .5rem}.preferences-section h3 i{color:#667eea}.section-description{color:#718096;font-size:.9rem;margin:0 0 1rem}.options-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.option-btn{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;display:flex;gap:1rem;padding:1rem;text-align:left;transition:all .2s}.option-btn:hover{background:#f8fafc;border-color:#667eea}.option-btn.selected{background:linear-gradient(135deg,#d1fae510,#10b98108);border-color:#10b981}.option-icon{align-items:center;background:#f1f5f9;border-radius:10px;color:#64748b;display:flex;flex-shrink:0;font-size:1.2rem;height:44px;justify-content:center;width:44px}.option-btn.selected .option-icon{background:#d1fae5;color:#10b981}.option-info{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.option-label{color:#2d3748;font-weight:600}.option-description{color:#718096;font-size:.8rem}.option-check{flex-shrink:0;width:24px}.option-check i{color:#10b981;font-size:1.25rem}.allergy-grid{display:flex;flex-wrap:wrap;gap:.75rem}.allergy-btn{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:30px;color:#4a5568;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;padding:.75rem 1rem;transition:all .2s}.allergy-btn:hover{background:#fffbeb;border-color:#f59e0b}.allergy-btn.selected{background:#fef2f2;border-color:#ef4444;color:#dc2626}.allergy-btn i:first-child{font-size:1rem}.allergy-btn .remove-icon{font-size:.9rem;margin-left:.25rem}.preferences-summary{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:12px;margin-top:2rem;padding:1rem 1.5rem}.summary-content{align-items:flex-start;display:flex;gap:.75rem}.summary-content>i{color:#667eea;margin-top:.2rem}.summary-content>div{flex:1 1}.filter-tags{display:inline-flex;flex-wrap:wrap;gap:.5rem;margin-left:.5rem}.filter-tag{border-radius:20px;display:inline-block;font-size:.8rem;font-weight:500;padding:.25rem .75rem}.filter-tag.dietary{background:#d1fae5;color:#065f46}.filter-note{color:#718096;font-size:.85rem;font-style:italic;margin:.5rem 0 0}.skip-hint{margin-top:1.5rem;text-align:center}.skip-hint p{align-items:center;color:#a0aec0;display:flex;font-size:.9rem;gap:.5rem;justify-content:center;margin:0}.skip-hint i{color:#667eea}@media (max-width:600px){.options-grid{grid-template-columns:1fr}.option-btn{padding:.875rem}.option-icon{height:40px;width:40px}.allergy-btn{font-size:.85rem;padding:.5rem .875rem}}.pricing-page{margin:0 auto;max-width:1200px;min-height:calc(100vh - 200px);padding:40px 20px}.pricing-header{margin-bottom:50px;text-align:center}.pricing-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#1a1a2e;font-size:2.5rem;font-weight:700;margin-bottom:15px}.pricing-header p{color:#666;font-size:1.1rem;margin:0 auto;max-width:600px}.pricing-section{margin-bottom:60px}.pricing-section h2{color:#1a1a2e;font-size:1.8rem;margin-bottom:10px;text-align:center}.section-subtitle{color:#666;margin-bottom:30px;margin-left:auto;margin-right:auto;max-width:600px;text-align:center}.pricing-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(3,1fr);margin:0 auto;max-width:1100px}.pricing-grid.two-col{grid-template-columns:repeat(2,1fr);max-width:800px}.pricing-card{background:#fff;border:2px solid #0000;border-radius:16px;box-shadow:0 4px 20px #00000014;display:flex;flex-direction:column;padding:30px;position:relative;transition:all .3s ease}.pricing-card:hover{box-shadow:0 8px 30px #0000001f;transform:translateY(-5px)}.pricing-card.popular{border-color:#667eea;transform:scale(1.02)}.pricing-card.popular:hover{transform:scale(1.02) translateY(-5px)}.pricing-card.current{background:linear-gradient(180deg,#f0fdf4,#fff);border-color:#10b981}.current-badge,.popular-badge{border-radius:20px;font-size:.75rem;font-weight:600;left:50%;letter-spacing:.5px;padding:5px 15px;position:absolute;text-transform:uppercase;top:-12px;transform:translateX(-50%)}.popular-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.current-badge{background:#10b981;color:#fff}.plan-header{border-bottom:1px solid #eee;margin-bottom:25px;padding-bottom:25px;text-align:center}.plan-header h3{color:#1a1a2e;font-size:1.4rem;margin-bottom:15px}.plan-price{align-items:baseline;display:flex;gap:5px;justify-content:center}.plan-price .price{color:#1a1a2e;font-size:2.5rem;font-weight:700}.plan-price .interval{color:#888;font-size:1rem}.plan-description{color:#666;font-size:.9rem;margin-top:10px}.plan-features{flex-grow:1;list-style:none;margin:0 0 25px;padding:0}.plan-features li{align-items:flex-start;color:#444;display:flex;font-size:.95rem;gap:10px;padding:8px 0}.plan-features li i{color:#10b981;flex-shrink:0;margin-top:3px}.plan-cta{margin-top:auto}.manage-btn,.subscribe-btn{border:none;border-radius:10px;cursor:pointer;font-size:1rem;font-weight:600;padding:14px 20px;transition:all .3s ease;width:100%}.subscribe-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.subscribe-btn:hover:not(.disabled){box-shadow:0 4px 15px #667eea66;transform:translateY(-2px)}.subscribe-btn.disabled{background:#e5e7eb;color:#9ca3af;cursor:not-allowed}.manage-btn{background:#fff;border:2px solid #667eea;color:#667eea}.manage-btn:hover{background:#f5f7ff}.reactivate-btn{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:14px 20px;transition:all .3s ease;width:100%}.reactivate-btn:hover:not(:disabled){box-shadow:0 4px 15px #10b98166;transform:translateY(-2px)}.reactivate-btn:disabled{cursor:not-allowed;opacity:.7}.cancellation-notice{align-items:center;background:#fef3cd;border:1px solid #ffc107;border-radius:8px;color:#856404;display:flex;font-size:.85rem;gap:8px;justify-content:center;margin-bottom:15px;padding:12px 15px}.cancellation-notice i{color:#e5a00d}.loading-spinner{animation:spin .8s ease-in-out infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:20px;width:20px}.affiliate-section{background:linear-gradient(90deg,#f5f7ff,#faf5ff);border-radius:20px;margin-left:-20px;margin-right:-20px;padding:50px 20px}.affiliate-section h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#764ba2,#f093fb);-webkit-background-clip:text;background-clip:text}.pricing-faq{margin-top:60px;text-align:center}.pricing-faq h2{color:#1a1a2e;font-size:1.8rem;margin-bottom:30px}.faq-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(2,1fr);margin:0 auto;max-width:900px;text-align:left}.faq-item{background:#f8fafc;border-radius:12px;padding:25px}.faq-item h4{color:#1a1a2e;font-size:1rem;margin-bottom:10px}.faq-item p{color:#666;font-size:.9rem;line-height:1.6;margin:0}.usage-section{margin-top:60px;text-align:center}.usage-section h2{color:#1a1a2e;font-size:1.5rem;margin-bottom:25px}.usage-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr);margin:0 auto;max-width:800px}.usage-card{background:#f8fafc;border-radius:12px;padding:20px;text-align:left}.usage-card h4{color:#1a1a2e;font-size:.9rem;margin-bottom:10px}.usage-bar{background:#e5e7eb;border-radius:4px;height:8px;margin-bottom:8px;overflow:hidden}.usage-fill{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:4px;height:100%;transition:width .3s ease}.usage-text{color:#666;font-size:.85rem}@media (max-width:992px){.pricing-grid{grid-template-columns:repeat(2,1fr)}.pricing-grid.two-col{grid-template-columns:1fr;max-width:400px}.pricing-card.popular{transform:none}.pricing-card.popular:hover{transform:translateY(-5px)}}@media (max-width:768px){.pricing-page{padding:30px 15px}.pricing-header h1{font-size:2rem}.pricing-grid{max-width:400px}.faq-grid,.pricing-grid,.usage-grid{grid-template-columns:1fr}.affiliate-section{border-radius:0;margin-left:-15px;margin-right:-15px;padding:40px 15px}}.usage-section-title{border-left:3px solid #6366f1;border-left:3px solid var(--primary-color,#6366f1);color:#666;font-size:1.1rem;margin:20px 0 15px;padding-left:5px}.usage-section-title:first-of-type{margin-top:0}.downgrade-info{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;padding:12px 16px;text-align:center}.downgrade-info p{color:#0369a1;font-size:.9rem;font-weight:500;margin:0}@media (max-width:480px){.pricing-header h1{font-size:1.7rem}.plan-price .price{font-size:2rem}.pricing-card{padding:20px}}.subscription-success{align-items:center;background:linear-gradient(135deg,#f5f7ff,#faf5ff);display:flex;justify-content:center;min-height:calc(100vh - 200px);padding:40px 20px}.success-card{background:#fff;border-radius:20px;box-shadow:0 10px 40px #0000001a;max-width:550px;padding:50px 40px;text-align:center;width:100%}.success-card.loading{padding:80px 40px}.loading-spinner-large{animation:spin 1s ease-in-out infinite;border:4px solid #667eea33;border-radius:50%;border-top-color:#667eea;height:60px;margin:0 auto 20px;width:60px}@keyframes spin{to{transform:rotate(1turn)}}.success-icon{margin-bottom:25px}.success-icon i{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#10b981,#059669);-webkit-background-clip:text;background-clip:text;font-size:80px}.success-card h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#1a1a2e;font-size:2rem;margin-bottom:15px}.success-message{color:#666;font-size:1.1rem;line-height:1.6;margin-bottom:30px}.subscription-details{background:#f8fafc;border-radius:12px;margin-bottom:30px;padding:25px;text-align:left}.subscription-details h3{color:#1a1a2e;font-size:1.1rem;margin-bottom:15px;text-align:center}.subscription-details ul{list-style:none;margin:0;padding:0}.subscription-details li{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;gap:12px;padding:10px 0}.subscription-details li:last-child{border-bottom:none}.subscription-details li i{color:#667eea;text-align:center;width:20px}.subscription-details li span{color:#444;font-size:.95rem}.subscription-details li strong{color:#1a1a2e;margin-left:auto}.success-actions{display:flex;gap:15px;justify-content:center;margin-bottom:25px}.primary-btn,.secondary-btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:8px;padding:14px 24px;transition:all .3s ease}.primary-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.primary-btn:hover{box-shadow:0 4px 15px #667eea66;transform:translateY(-2px)}.secondary-btn{background:#fff;border:2px solid #667eea;color:#667eea}.secondary-btn:hover{background:#f5f7ff}.manage-subscription{color:#888;font-size:.9rem}.link-btn{font-weight:600;text-decoration:underline}.link-btn:hover{color:#764ba2}@media (max-width:600px){.success-card{padding:40px 25px}.success-card h1{font-size:1.6rem}.success-icon i{font-size:60px}.success-actions{flex-direction:column}.primary-btn,.secondary-btn{justify-content:center;width:100%}}.coach-invite{align-items:center;background:linear-gradient(135deg,#f8fafc,#edf2f7);display:flex;justify-content:center;min-height:calc(100vh - 200px);padding:2rem}.invite-card{background:#fff;border-radius:20px;box-shadow:0 10px 40px #0000001a;max-width:500px;overflow:hidden;width:100%}.invite-card.error,.invite-card.loading{padding:3rem;text-align:center}.invite-card.error i,.invite-card.loading i{font-size:3rem;margin-bottom:1rem}.invite-card.loading i{color:#667eea}.invite-card.error i{color:#ef4444}.invite-card.error h2{color:#2d3748;margin:0 0 .5rem}.invite-card.error p{color:#718096;margin-bottom:1.5rem}.invite-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2rem;text-align:center}.coach-avatar{align-items:center;background:#fff;border:4px solid #ffffff4d;border-radius:50%;display:flex;height:80px;justify-content:center;margin:0 auto 1rem;overflow:hidden;width:80px}.coach-avatar img{height:100%;object-fit:cover;width:100%}.coach-avatar i{color:#667eea;font-size:2.5rem}.invite-header h1{font-size:1.5rem;font-weight:600;margin:0}.invite-body{padding:2rem}.greeting{color:#2d3748;font-size:1.1rem;margin:0 0 1rem}.invite-message{color:#4a5568;line-height:1.6;margin-bottom:1.5rem}.plan-badge{align-items:center;background:linear-gradient(135deg,#10b98110,#10b98105);border:1px solid #10b98130;border-radius:10px;display:flex;gap:.75rem;margin-bottom:1.5rem;padding:1rem}.plan-badge i{color:#10b981;font-size:1.25rem}.plan-badge span{color:#065f46;font-weight:500}.benefits{background:#f8fafc;border-radius:10px;padding:1.25rem}.benefits h3{color:#4a5568;font-size:.9rem;letter-spacing:.5px;margin:0 0 1rem;text-transform:uppercase}.benefits ul{list-style:none;margin:0;padding:0}.benefits li{align-items:center;color:#2d3748;display:flex;font-size:.95rem;gap:.75rem;padding:.5rem 0}.benefits li i{color:#10b981}.invite-actions{padding:0 2rem 2rem;text-align:center}.btn-primary{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;padding:1rem;transition:all .2s;width:100%}.btn-primary:hover:not(:disabled){box-shadow:0 4px 15px #667eea66;transform:translateY(-2px)}.btn-primary:disabled{cursor:not-allowed;opacity:.7}.btn-view-plan{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;margin-bottom:1rem;padding:1rem;transition:all .2s;width:100%}.btn-view-plan:hover{box-shadow:0 4px 15px #10b98166;transform:translateY(-2px)}.btn-secondary{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#4a5568;cursor:pointer;font-size:.9rem;padding:.75rem 1.5rem;transition:all .2s}.btn-secondary:hover{border-color:#667eea;color:#667eea}.logged-in-note{color:#718096;font-size:.85rem;margin-top:1rem}.logged-in-note strong{color:#4a5568}.signup-note{color:#718096;font-size:.9rem;margin-top:1rem}.link-btn{background:none;border:none;color:#667eea;cursor:pointer;font-weight:500;margin-left:.25rem;padding:0}.link-btn:hover{text-decoration:underline}.invite-footer{background:#f8fafc;border-top:1px solid #e2e8f0;padding:1rem 2rem}.privacy-note{align-items:center;color:#a0aec0;display:flex;font-size:.8rem;gap:.5rem;justify-content:center;margin:0}.privacy-note i{font-size:.75rem}@media (max-width:540px){.coach-invite{padding:1rem}.invite-card{border-radius:16px}.invite-body,.invite-header{padding:1.5rem}.invite-actions{padding:0 1.5rem 1.5rem}}.deletion-steps{margin:20px 0;padding-left:20px}.deletion-steps li{line-height:1.6;margin-bottom:15px}.deletion-action-section{background:#fafafa;border-radius:12px;margin-top:40px;padding:30px}.account-info{margin-bottom:20px}.user-card{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:8px;display:flex;gap:12px;margin-top:10px;padding:15px}.user-avatar-small{border-radius:50%;height:40px;width:40px}.user-email{color:#666;font-size:.9rem}.delete-button-initial{background:#dc3545;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:background .2s}.delete-button-initial:hover{background:#c82333}.confirmation-box{background:#fff;border:2px solid #dc3545;border-radius:12px;padding:24px}.warning-banner{align-items:flex-start;background:#fff3cd;border:1px solid #ffc107;border-radius:8px;display:flex;gap:12px;margin-bottom:20px;padding:16px}.warning-icon{color:#856404;flex-shrink:0;font-size:1.5rem}.warning-banner p{color:#856404;font-size:.9rem;margin:5px 0 0}.warning-banner strong{color:#856404}.confirm-instruction{margin-bottom:10px}.confirm-input{border:2px solid #ddd;border-radius:6px;font-size:1rem;margin-bottom:16px;max-width:300px;padding:10px 14px;transition:border-color .2s;width:100%}.confirm-input:focus{border-color:#dc3545;outline:none}.confirmation-buttons{display:flex;gap:12px;margin-top:8px}.cancel-button{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.95rem;padding:10px 20px;transition:background .2s}.cancel-button:hover{background:#5a6268}.delete-button-final{background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:10px 20px;transition:background .2s}.delete-button-final:hover:not(:disabled){background:#c82333}.delete-button-final:disabled{background:#e0a0a7;cursor:not-allowed}.cancel-button:disabled{background:#adb5bd;cursor:not-allowed}.login-prompt{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:30px;text-align:center}.login-prompt h2{border-bottom:none;margin-bottom:10px}.deletion-success{padding:60px 20px;text-align:center}.success-icon{align-items:center;background:#28a745;border-radius:50%;color:#fff;display:flex;font-size:2rem;height:60px;justify-content:center;margin:0 auto 20px;width:60px}@media (max-width:768px){.deletion-action-section{padding:20px}.confirmation-buttons{flex-direction:column}.confirmation-buttons button{width:100%}}
/*# sourceMappingURL=main.1952675d.css.map*/