@charset "UTF-8";*{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: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{align-items:center;background:#fff;border-bottom:1px solid #eee;border-radius:8px 8px 0 0;display:flex;gap:12px;justify-content:space-between;left:0;padding:12px 24px;position:absolute;top:0;width:100%;z-index:1}.menu-detail-buttons-group{align-items:center;display:flex;flex-shrink:0;gap:12px}.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{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:fit-content;padding:0 12px;transition:all .2s ease;white-space:nowrap}.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{background:#f7fafc;border-color:#cbd5e0}.menu-detail-close-button{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#4a5568;cursor:pointer;display:flex;font-size:20px;height:40px;justify-content:center;margin-left:8px;transition:all .2s ease;width:40px}.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:64px;width:92%}.menu-detail-actions{align-items:center;background:#fff;border-bottom:1px solid #eee;border-radius:8px 8px 0 0;display:flex;height:56px;justify-content:space-between;left:0;margin:0 auto;padding:8px;position:fixed;right:0;top:0;width:92%;z-index:1202}.menu-detail-buttons-group{display:flex;gap:6px;margin-right:6px}.menu-detail-like-button,.menu-detail-plan-button,.menu-detail-print-button{font-size:14px;min-width:40px;padding:0 8px}.menu-detail-close-button,.menu-detail-like-button,.menu-detail-plan-button,.menu-detail-print-button{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;display:flex;flex-shrink:0;height:40px;justify-content:center}.menu-detail-close-button{font-size:20px;margin-left:auto;width:40px}.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:56px;padding:8px}.menu-detail-buttons-group{gap:8px}.menu-detail-buy-ingredients-button,.menu-detail-content-button,.menu-detail-like-button,.menu-detail-print-button{height:40px;padding:0 10px}.menu-detail-close-button{font-size:20px;height:40px;width:40px}}.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: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-buttons-group{align-items:center;display:flex;gap:8px;margin-right:8px}.menu-detail-actions-buy-ingredients-button,.menu-detail-content-button,.menu-detail-like-button,.menu-detail-print-button{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;display:flex;flex-shrink:0;font-size:14px;height:40px;justify-content:center;min-width:fit-content;padding:0 10px}}@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: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}}@supports (-webkit-touch-callout:none){.menu-detail-actions{gap:8px;padding:8px 12px}.menu-detail-buttons-group{display:flex;gap:8px;margin-right:0}.menu-detail-actions-buy-ingredients-button,.menu-detail-like-button,.menu-detail-plan-button,.menu-detail-print-button{flex-shrink:0;height:40px;min-width:40px;white-space:nowrap}.menu-detail-print-button{min-width:fit-content;padding:8px 12px}.menu-detail-close-button{flex-shrink:0;font-size:24px;height:44px;margin-left:auto;width:44px}}@media (max-width:480px) and (-webkit-touch-callout:none){.menu-detail-actions{gap:8px;padding:8px 12px}.menu-detail-buttons-group{gap:8px}.menu-detail-actions-buy-ingredients-button,.menu-detail-like-button,.menu-detail-plan-button,.menu-detail-print-button{font-size:13px;padding:8px}.menu-detail-close-button{font-size:24px;height:44px;width:44px}.menu-detail-print-button{padding:8px}.menu-detail-print-button span{display:none}.menu-detail-print-button i{font-size:16px;margin:0}}.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: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: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}.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;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;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.meal-plan-modal{background:#fff;border-radius:8px;max-width:500px;padding:24px;position:relative;text-align:center;width:90%}.meal-plan-modal h2{color:#2d3748;margin-bottom:12px}.meal-plan-modal h3{color:#4a5568;margin-bottom:24px}.close-button{color:#666;font-size:24px;position:absolute;right:12px;top:12px}.form-group{margin-bottom:20px}.form-group label{margin-bottom:8px}.meal-type-buttons{display:flex;gap:10px}.meal-type-btn{background:#fff;border:1px solid #e2e8f0;border-radius:4px;cursor:pointer;padding:8px 16px;transition:all .2s}.meal-type-btn.selected{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.modal-actions{display:flex;gap:12px;justify-content:center;margin-top:24px}.cancel-btn{background:#fff;border:1px solid #e2e8f0;border-radius:4px;cursor:pointer;padding:8px 16px}.react-datepicker-wrapper{width:100%}.react-datepicker__input-container input{border:1px solid #e2e8f0;border-radius:4px;padding:8px;width:100%}.meal-plan-modal.success{padding:32px;text-align:center}.meal-plan-modal.success h2{color:#38a169;font-size:1.5rem;margin-bottom:8px}.meal-plan-modal.success h3{color:#4a5568;font-size:1.1rem;margin-bottom:24px}.meal-plan-modal.success .modal-actions{display:flex;gap:12px;justify-content:center}.meal-plan-btn{background:var(--primary-color);border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:8px 16px;transition:background-color .2s}.meal-plan-btn:hover{background:var(--primary-color-dark)}.menu-upload-form{margin:0 auto;max-width:800px;padding:2rem}.menu-upload-form h2{color:#2c3e50;margin-bottom:2rem}.form-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;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-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.ingredient-row{align-items:start;background:#f8f9fa;border-radius:4px;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{grid-gap:1rem;align-items:start;display:grid;gap:1rem;grid-template-columns:1fr auto;margin-bottom:1rem}.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}.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{gap:1rem;grid-template-columns:1fr;padding:1rem}.instruction-row{gap:.5rem}.form-row,.instruction-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{min-width:0;min-width:auto;width:50px}.toggle-fraction-btn{padding:8px}}.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}: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{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-container{margin:20px auto 15px;position:relative;z-index:1001}.search-input:focus{border-color:var(--primary-color)}.filters-row{align-items:flex-start;display:flex;flex-wrap:nowrap;gap:15px;justify-content:center;margin:0 auto;max-width:600px;padding:0 15px 15px;position:relative;z-index:1000}.filter-dropdown{flex:1 1;max-width:none;min-width:0;position:relative}.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-container{margin:15px auto;padding:0 10px}.filters-row{gap:8px;overflow-x:visible;padding:0 10px 10px}.filter-dropdown{min-width:140px}.dropdown-header{font-size:.85rem;padding:8px 10px}.dropdown-options{left:50%;max-height:180px;transform:translateX(-50%);width:180px}}@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{align-items:center;display:flex;gap:1rem;justify-content:center;margin:2rem 0;padding:0 1rem}.pagination-button{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:4px;color:#4a5568;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:8px 16px;transition:all .2s ease}.pagination-button:hover:not(:disabled){background:#f7fafc;border-color:#cbd5e0}.pagination-button:disabled{cursor:not-allowed;opacity:.5}.page-info{color:#4a5568;font-size:.875rem}@media (max-width:768px){.pagination-controls{gap:.5rem}.pagination-button{font-size:.75rem;padding:6px 12px}.page-info{font-size:.75rem}}.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}}.custom-dropdown{background:#fff;cursor:pointer;position:relative;-webkit-user-select:none;user-select:none;z-index:1000}.dropdown-header{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;justify-content:space-between;min-height:38px;padding:10px 15px}.dropdown-arrow{color:#718096;font-size:.8rem;transition:transform .2s ease}.custom-dropdown[aria-expanded=true] .dropdown-arrow{transform:rotate(180deg)}.dropdown-options{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 6px #0000001a;left:0;margin-top:4px;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.dropdown-option{align-items:center;cursor:pointer;display:flex;padding:8px 12px;transition:background-color .2s ease}.dropdown-option:hover{background-color:#f7fafc}.dropdown-option.selected{background-color:#ebf8ff;color:#3182ce;color:var(--primary-color)}.checkbox{align-items:center;border:2px solid #e2e8f0;border-radius:4px;display:inline-flex;height:18px;justify-content:center;margin-right:8px;transition:all .2s ease;width:18px}.dropdown-option.selected .checkbox{background-color:#3182ce;background-color:var(--primary-color);border-color:#3182ce;border-color:var(--primary-color);color:#fff}@media screen and (max-width:768px){.dropdown-header{font-size:.85rem;padding:8px 10px}.dropdown-options{left:50%;max-height:180px;transform:translateX(-50%);width:180px}.dropdown-option{font-size:.85rem;padding:10px 12px}.checkbox{height:20px;width:20px}}.dropdown-overlay{background:#0000001a;bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}.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{padding:10px}.meal-plan-results-modal{max-height:95vh}.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){.stats-grid{grid-template-columns:1fr}.preference-tags{justify-content:center}.meal-item{padding:10px}}.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;transition:background-color .2s;width:40px;z-index:10}.close-button:hover{background-color:#ffffff1a}.modal-content{padding:24px 32px}.preferences-section{margin-bottom:32px}.preferences-section h3{align-items:center;color:#2d3748;display:flex;font-size:1.1rem;font-weight:600;gap:8px;margin:0 0 16px}.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{display:flex;flex-wrap:wrap;gap:16px}.week-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}.week-option input[type=radio]{accent-color:#667eea;height:16px;width:16px}.week-option:has(input[type=radio]:checked){background:#e6f3ff;border-color:#667eea;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{padding:10px}.meal-planify-modal{max-height:95vh}.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)}.modal-footer,.weeks-selector{flex-direction:column}.modal-footer{padding:16px 20px}.generate-meal-plan-btn,.save-preferences-btn{flex:none}}@media (max-width:480px){.day-options{grid-template-columns:1fr}.additional-option,.day-option,.meal-option,.preference-checkbox,.week-option{font-size:.9rem;padding:10px 12px}}.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}.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;border-radius:6px;color:#374151;cursor:pointer;font-weight:500;padding:10px 20px;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{padding:10px}.ingredient-verification-modal{max-height:95vh;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){.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}}.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}.fc{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;max-width:100%;padding:1rem}@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){.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-list-event{cursor:pointer;padding:8px}.meal-event{align-items:center;display:flex;gap:8px;padding:4px}.meal-event-image{border-radius:4px;height:24px;object-fit:cover;width:24px}}.meal-slot h4{color:#666;font-size:.7em;margin:0 0 2px;text-transform:capitalize}.meal-item{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:4px;cursor:pointer;display:flex;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;display:flex;gap:8px;padding:4px;width:100%}.meal-event-image{border-radius:4px;height:48px;object-fit:cover;width:48px}.meal-event-content{flex:1 1;min-width:0}.meal-type{color:#666;font-size:.8rem;text-transform:capitalize}.meal-event-title{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remove-meal-btn{background:none;border:none;color:#dc3545;cursor:pointer;flex-shrink:0;padding:8px}@media (max-width:768px){.fc-list-day{margin:4px 0;position:relative}.fc-list-day-cushion{border-radius:4px;cursor:pointer;padding:12px 8px;position:relative;transition:background-color .2s ease-in-out}.meal-plan-container[data-selection-mode=true]{.fc-list-event{opacity:.7;pointer-events:none}.fc-list-day-cushion:hover{background-color:#4a90e21a!important}}.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: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}.buy-weekly-ingredients-button,.meal-plan-actions{align-items:center;display:flex;justify-content:center}.buy-weekly-ingredients-button{background-color:#fff;border:.5px solid #e8e9eb;border-radius:15px;color:#000;cursor:pointer;font-size:14px;font-weight:500;gap:8px;height:36px;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}@keyframes spin{to{transform:rotate(1turn)}}.buy-ingredients-btn{display:none}@media (max-width:768px){.meal-plan-actions{align-items:stretch;flex-direction:column;gap:8px}.buy-weekly-ingredients-button,.meal-planify-button,.select-dates-button{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{opacity:.7;pointer-events:none}.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}.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:.7;pointer-events:none}}.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: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{opacity:.7;pointer-events:none}.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: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{padding:10px}.selection-instructions{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#f8f9faf2;margin:0 0 10px}}.meal-plan-container[data-selection-mode=true]{.fc-list-day-cushion{cursor:pointer!important;padding:8px!important;transition:background-color .2s ease}.fc-list-day-cushion:hover,.fc-list-day.selected-date{background-color:#4a90e21a!important}.fc-list-day.selected-date .fc-list-day-cushion{background-color:#4a90e21a!important;border-left:3px solid #4a90e2!important}.fc-list-day th{cursor:pointer!important;padding:0!important}.fc-list-day-side-text,.fc-list-day-text{color:#4a90e2!important;text-decoration:none!important}}.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:column;gap:4px;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}}.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}}.about-container{margin:0 auto;max-width:1200px;padding:2rem}.about-title{color:#333;font-size:2.5rem;font-weight:600;margin-bottom:3rem;text-align:center}.steps-container{display:flex;flex-direction:column;gap:3rem;margin-bottom:3rem}.step{align-items:center;background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;display:flex;gap:2rem;padding:2rem;transition:transform .2s ease}.step:hover{transform:translateY(-5px)}.step-content{display:flex;flex:1 1;gap:1.5rem}.step-number{align-items:center;background:#007bff;border-radius:50%;color:#fff;display:flex;font-size:1.5rem;font-weight:700;height:50px;justify-content:center;width:50px}.step-text{flex:1 1}.step-text h2{color:#333;font-size:1.5rem;margin-bottom:.5rem}.step-text p{color:#666;line-height:1.6;margin:0}.step-image{flex:0 0 300px}.step-image img{border-radius:8px;height:auto;object-fit:cover;width:100%}.additional-info{background:#f8f9fa;border-radius:12px;margin-top:3rem;padding:2rem}.additional-info h2{color:#333;font-size:1.8rem;margin-bottom:1rem}.additional-info p{color:#666;line-height:1.6;margin:0}@media (max-width:768px){.step{text-align:center}.step,.step-content{flex-direction:column}.step-content{align-items:center}.step-image{flex:0 0 auto;max-width:300px;width:100%}}.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}}.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:400px;overflow-y:auto;padding:2rem;position:relative;width:100%}.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 label{color:#4b5563}.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;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;color:#dc2626;padding:.75rem;text-align:center}@media (max-width:640px){.dev-login{bottom:0;left:-400px;position:fixed;right:0;top:400px}.dev-login-card{margin:1rem;padding:1.5rem}.persona-info{padding:1rem}.info-item{font-size:.9rem;padding:.5rem}}.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;cursor:pointer;flex-shrink:0;font-size:.875rem;padding:4px 8px;white-space:nowrap}.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: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: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-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:1.5rem;padding:1.5rem}.url-input-group{align-items:center;display:flex;gap:1rem}.url-input{border:1px solid #ddd;border-radius:4px;flex:1 1;font-size:1rem;padding:.75rem;transition:border-color .2s}.url-input:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}.url-input:disabled{background-color:#f5f5f5;cursor:not-allowed}.extract-button{background-color:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:background-color .2s;white-space:nowrap}.extract-button:hover:not(:disabled){background-color:#2980b9}.extract-button:disabled{background-color:#95a5a6;cursor:not-allowed}.extraction-status{background-color:#f8f9fa;border-radius:4px;color:#666;font-size:.9rem;margin-top:1rem;padding:.75rem}@media (max-width:768px){.url-input-group{flex-direction:column}.extract-button{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:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem;padding:1.5rem}.affiliate-profile-section h3{color:#2c3e50;margin-bottom:1.5rem}.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:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem;padding:1.5rem}.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{margin-top:3rem}.section-header{margin-bottom:1.5rem}.menu-items-grid{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}@media (max-width:768px){.menu-actions{flex-direction:column;width:100%}.import-menus-button{justify-content:center;width:100%}}.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;font-size:.9rem;margin-top:8px}@media (max-width:768px){.search-container{margin:15px auto;padding:0 10px}.search-input{font-size:.9rem;padding:10px 12px}.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;display:flex;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{display:flex;flex-direction:column;gap:.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}}.affiliate-registration{margin:0 auto;max-width:800px;padding:2rem}.registration-intro{color:#666;font-size:1.1rem;margin-bottom:2rem}.registration-form{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:2rem}.form-section{border-bottom:1px solid #eee;margin-bottom:2rem;padding-bottom:2rem}.form-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.form-section h2{color:#2c3e50;font-size:1.5rem}.form-group,.form-section h2{margin-bottom:1.5rem}.form-group label{color:#34495e}.form-group input,.form-group select{border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:.75rem;transition:border-color .2s;width:100%}.form-group input:focus,.form-group select:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}.form-group input::placeholder{color:#999}.error-message{background:#fde8e7;border-radius:4px;color:#e74c3c;margin-bottom:1.5rem;padding:1rem}.form-actions{margin-top:2rem;text-align:center}.submit-button{background:#3498db;font-size:1.1rem;padding:1rem 2rem;transition:background-color .2s}.submit-button:hover{background:#2980b9}.submit-button:disabled{background:#95a5a6;cursor:not-allowed}@media (max-width:600px){.affiliate-registration,.registration-form{padding:1rem}.form-section{margin-bottom:1.5rem;padding-bottom:1.5rem}}.status-message{border-radius:8px;font-size:1.1rem;line-height:1.5;margin:1.5rem 0;padding:1.5rem}.status-message.pending{background-color:#fff3cd;border:1px solid #ffeeba;color:#856404}.status-message.active{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.status-message.suspended{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.success-message{border:1px solid #c3e6cb;margin-bottom:1.5rem}.application-details{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-top:2rem;padding:1.5rem}.application-details h2{color:#2c3e50;margin-bottom:1rem;margin-top:0}.application-details p{color:#495057;margin:.5rem 0}.application-details strong{color:#2c3e50;margin-right:.5rem}.terms-section{background-color:#f8f9fa;border-radius:8px;margin-top:30px;padding:20px}.terms-container{display:flex;flex-direction:column;gap:15px}.view-terms-button{align-self:flex-start;background-color:#6c757d;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px;transition:background-color .2s}.view-terms-button:hover{background-color:#5a6268}.terms-content{background-color:#fff;border:1px solid #dee2e6;border-radius:5px;max-height:300px;overflow-y:auto;padding:15px}.terms-content pre{color:#212529;font-family:inherit;font-size:14px;line-height:1.6;white-space:pre-wrap}.terms-acceptance{margin-top:15px}.checkbox-label{align-items:center;color:#495057;cursor:pointer;display:flex;font-size:14px;gap:10px}.checkbox-label input[type=checkbox]{cursor:pointer;height:18px;width:18px}@media (max-width:768px){.terms-section{padding:15px}.terms-content{max-height:250px}.checkbox-label{font-size:13px}}.admin-menu-manager{padding:20px}.section-header{justify-content:space-between;margin-bottom:20px}.header-left,.section-header{align-items:center;display:flex}.header-left{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{background:#2ecc71;font-weight:500}.extract-menu-button:hover{background:#27ae60}.extract-menu-button i{font-size:1rem}.search-container{margin:20px auto;max-width:600px;padding:0 15px}.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}.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;gap:20px;margin-top:20px}.menu-item-card{border:1px solid #e0e0e0;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:none;border-radius:4px;color:#fff;cursor:pointer;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}}.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;display:block;font-weight:500;margin-bottom:.5rem}.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: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}}.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 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{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden;position:relative;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}.menu-items-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}@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}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.action-buttons{align-items:center;display:flex;gap:1rem}.extract-menu-button{align-items:center;background-color:#2ecc71;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:background-color .2s}.extract-menu-button:hover{background-color:#27ae60}.extract-menu-button:disabled{background-color:#95a5a6;cursor:not-allowed}
/*# sourceMappingURL=main.48d67845.css.map*/