@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap);body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.mobile-app{align-items:center;background:var(--white);display:flex;justify-content:center;min-height:100vh;padding:20px;position:relative}.mobile-frame{background:var(--beige);border-radius:30px;box-shadow:0 20px 60px #0000001a;height:90vh;max-width:400px;overflow:hidden;position:relative;width:100%}.mobile-content{-ms-overflow-style:none;display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:0;scrollbar-width:none}.mobile-content::-webkit-scrollbar{display:none}.mobile-app .navbar{bottom:20px;left:50%;position:absolute;transform:translateX(-50%);z-index:10000}.auth{align-items:center;background:var(--beige);display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:20px}.auth-card{background:var(--white);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);max-width:400px;padding:48px 40px;text-align:center;width:100%}@media (max-width:480px){.mobile-app{padding:10px}.mobile-frame{border-radius:0;max-width:100%;min-height:100vh}.mobile-content{padding:15px}}.onboarding-content{background:var(--beige);display:flex;flex-direction:column;height:100%;padding:0}.onboarding-hero{background:var(--gradient-primary);color:var(--black);padding:56px 20px 32px;position:relative;text-align:center}.hero-decor{inset:0;pointer-events:none;position:absolute}.decor-icon{color:var(--coral);opacity:.25;position:absolute}.decor-icon svg circle,.decor-icon svg path,.decor-icon svg polygon,.decor-icon svg rect{fill:currentColor!important;stroke:currentColor!important}.decor-mint{color:var(--mint)}.decor-coral{color:var(--coral)}.decor-tiffany{color:var(--tiffany)}.decor-periwinkle{color:var(--periwinkle)}.hero-content{margin:0 auto;max-width:300px}.logo{color:var(--black);font-size:2rem;font-weight:800;letter-spacing:-.5px;margin:0 0 16px}.hero-description{color:#000000b3;font-size:14px;font-weight:400;line-height:1.5;margin:0 0 24px}.hero-features{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.feature-item{align-items:center;color:#000000d9;display:flex;font-size:13px;font-weight:500;gap:12px}.feature-icon{font-size:18px;text-align:center;width:24px}.preferences-section{background:var(--white);border-radius:30px 30px 0 0;flex:1 1;margin-top:16px;padding:30px 20px 20px;position:relative;z-index:2}.preferences-intro{margin-bottom:30px;text-align:center}.preferences-intro h2{color:var(--black);font-size:1.5rem;font-weight:700;letter-spacing:-.3px;margin:0 0 8px}.preferences-intro p{color:var(--gray);font-size:14px;font-weight:400;line-height:1.4;margin:0}.preference-group{margin-bottom:32px}.preference-group h3{color:var(--black);font-size:16px;font-weight:700;margin:0 0 16px;text-align:left}.diet-options{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px}.diet-btn{background:var(--white);border:2px solid #f0f0f0;border-radius:16px;box-shadow:0 2px 8px #0000000a;color:var(--gray);cursor:pointer;flex:1 1;font-size:14px;font-weight:600;min-width:80px;padding:16px 20px;transition:all .2s ease}.diet-btn:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-1px)}.diet-btn.active{background:var(--tiffany);border-color:var(--tiffany);box-shadow:0 4px 16px #40e0d04d;color:var(--white);transform:translateY(-1px)}.allergies-options{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px}.allergy-btn{background:var(--white);border:2px solid #f0f0f0;border-radius:12px;box-shadow:0 2px 8px #0000000a;color:var(--gray);cursor:pointer;font-size:12px;font-weight:600;padding:12px 16px;transition:all .2s ease}.allergy-btn:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-1px)}.allergy-btn.active{border-color:var(--jasmine);transform:translateY(-1px)}.allergy-btn.active,.allergy-btn.add-btn{background:var(--jasmine);color:var(--white)}.allergy-btn.add-btn{box-shadow:0 4px 16px #ccccff4d}.allergy-btn.custom{background:var(--jasmine);border-color:var(--jasmine);box-shadow:0 4px 16px #fff8dc80;color:var(--black)}.meals-options{display:flex;gap:16px;justify-content:space-between;margin-bottom:30px}.meal-option{align-items:center;background:var(--white);border:2px solid #f0f0f0;border-radius:12px;box-shadow:0 2px 8px #0000000a;cursor:pointer;display:flex;flex:1 1;flex-direction:column;padding:16px;transition:all .2s ease}.meal-option:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-1px)}.meal-option input[type=radio]{accent-color:var(--tiffany);height:20px;margin-bottom:8px;width:20px}.meal-number{color:var(--gray);font-size:16px;font-weight:600}.save-btn{background:#000;border:none;border-radius:16px;color:var(--white);cursor:pointer;font-size:16px;font-weight:700;letter-spacing:.3px;margin:20px 0;padding:18px 24px;transition:all .2s ease;width:100%}.save-btn:hover{box-shadow:0 6px 20px #40e0d066;transform:translateY(-2px)}.login-link{color:var(--gray);font-size:14px;font-weight:500;margin-top:20px;text-align:center}.login-link button{background:none;border:none;color:var(--tiffany);cursor:pointer;font-size:14px;font-weight:600;text-decoration:none;transition:all .2s ease}.login-link button:hover{color:var(--mint-green)}@media (max-width:600px){.onboarding-container{margin:10px;padding:30px 20px}.logo{font-size:1.8rem}.allergy-options,.diet-options,.meals-options{justify-content:center}.decor-icon{opacity:.2;transform:scale(.8)}}.auth-content{flex-direction:column;height:100%;overflow-y:auto;padding:40px 20px;text-align:center}.auth-content,.auth-logo{display:flex;justify-content:center}.auth-logo{align-items:center;font-size:3rem;gap:8px}.auth-logo:before{content:"🍽️";font-size:2.5rem}.auth-logo-text{color:var(--black);font-size:2rem;font-weight:800;letter-spacing:-1px}.auth-header{margin-bottom:30px}.auth-title{color:var(--black);font-size:1.8rem;font-weight:800;letter-spacing:-.5px;line-height:1.2;margin:0}.auth-form{display:flex;flex-direction:column}.form-group{margin-bottom:20px;text-align:left}.form-group label{color:var(--black);font-size:14px;margin-bottom:8px}.form-group input{background:var(--white);border:2px solid #f0f0f0;border-radius:12px;box-shadow:0 2px 8px #0000000a;color:var(--black);font-size:16px;font-weight:500;padding:18px 20px;transition:all .2s ease}.form-group input:focus{border-color:var(--coral);box-shadow:0 4px 16px #ff8a6533;outline:none;transform:translateY(-1px)}.form-group input::placeholder{color:var(--gray);font-weight:400}.auth-btn{background:var(--black);border:none;border-radius:25px;box-shadow:var(--shadow-sm);color:var(--white);cursor:pointer;font-size:16px;font-weight:700;letter-spacing:.5px;margin-top:12px;padding:18px 24px;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.auth-btn:hover:not(:disabled){box-shadow:0 6px 20px #0000004d;transform:translateY(-2px)}.auth-btn:active{transform:translateY(-1px)}.auth-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.error-message{background:#e74c3c1a;border:2px solid #e74c3c33;border-radius:var(--radius-md);color:#e74c3c;padding:16px 20px}.auth-footer,.error-message{font-weight:500;text-align:center}.auth-footer{color:var(--gray);font-size:14px;margin-top:30px}.link-btn{background:none;border:none;color:var(--coral);cursor:pointer;font-size:15px;font-weight:600;text-decoration:none;transition:all .3s ease}.link-btn:hover{color:var(--bubblegum-pink);text-decoration:underline}@media (max-width:480px){.auth-card{margin:10px;padding:30px 20px}.auth-header .logo{font-size:1.8rem}}.dashboard-content{height:100%;overflow-y:auto;padding:20px 20px 100px}.dashboard-header{margin-bottom:20px;padding-top:10px}.user-greeting h1{color:var(--black);font-size:1.75rem;font-weight:700;letter-spacing:-.5px;margin:0 0 4px}.user-greeting p{color:var(--gray);font-size:14px;font-weight:500;margin:0}.search-btn{background:var(--white);border-radius:12px;box-shadow:var(--shadow-sm);height:40px;width:40px}.search-btn:hover{box-shadow:var(--shadow-md);transform:scale(1.05)}.search-icon{height:18px;position:relative;width:18px}.search-icon:before{border:2px solid var(--gray);border-radius:50%;content:"";height:12px;left:1px;position:absolute;top:1px;width:12px}.search-icon:after{background:var(--gray);border-radius:1px;bottom:1px;content:"";height:6px;position:absolute;right:1px;transform:rotate(45deg);width:2px}.main-card{background:var(--gradient-secondary);border-radius:var(--radius-lg);cursor:pointer;margin-bottom:24px;overflow:hidden;padding:24px;position:relative;transition:all .3s ease}.main-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-content h2{color:var(--white);font-size:1.5rem;font-weight:700;letter-spacing:-.5px;margin:0 0 8px}.card-content p{color:#fffc;font-size:14px;font-weight:500;margin:0}.challenge-visual{height:120px;position:absolute;right:-20px;top:-20px;width:120px}.floating-shapes{height:100%;position:relative;width:100%}.shape{border-radius:50%;opacity:.6;position:absolute}.shape-1{background:var(--jasmine);height:40px;right:30px;top:20px;width:40px}.shape-2{background:var(--mint);height:24px;right:10px;top:40px;width:24px}.shape-3{background:var(--pink);height:32px;right:50px;top:10px;width:32px}.week-calendar{margin-bottom:24px}.calendar-days{display:flex;gap:8px;justify-content:space-between}.calendar-day{align-items:center;background:var(--white);border-radius:var(--radius-md);display:flex;flex:1 1;flex-direction:column;padding:12px 8px;transition:all .3s ease}.calendar-day.today{background:var(--black);color:var(--white)}.calendar-day.today .day-name{color:#ffffffb3}.calendar-day.today .day-number{color:var(--white)}.action-cards{display:flex;flex-direction:column;gap:16px}.action-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;padding:20px;transition:all .3s ease}.action-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.planner-card{background:var(--jasmine)}.grocery-card{background:var(--tiffany)}.card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.card-header h3{color:var(--black);font-size:1.1rem;font-weight:700;letter-spacing:-.3px;margin:0}.card-badge{background:#0000001a;border-radius:12px;color:var(--black);font-size:12px;font-weight:600;padding:4px 12px}.action-card p{color:var(--dark-gray);font-size:14px;font-weight:500;margin:0;opacity:.8}@media (max-width:480px){.dashboard{padding:16px 16px 100px}.dashboard-container{max-width:100%}.user-greeting h1{font-size:1.5rem}.calendar-days{gap:4px}.calendar-day{padding:8px 4px}.day-name{font-size:10px}.day-number{font-size:14px}}.recipes-content{-ms-overflow-style:none;height:100%;overflow-y:auto;padding:20px 20px 100px;scrollbar-width:none}.recipes-content::-webkit-scrollbar{display:none}.recipes-header{margin-bottom:30px;padding-top:20px;text-align:center}.recipes-header h1{color:#333;font-size:2rem;font-weight:700;margin:0 0 10px}.recipes-header p{color:#666;font-size:1rem;margin:0}.search-section{background:#fff;border-radius:20px;box-shadow:0 5px 15px #00000014;margin-bottom:30px;padding:25px}.search-form{display:flex;gap:10px;margin-bottom:20px}.search-input{background:#fafafa;border:2px solid #ffe382;border-radius:12px;flex:1 1;font-size:1rem;padding:12px 16px}.search-input:focus{outline:none}.search-btn{align-items:center;background:var(--gradient-primary);border:none;border-radius:var(--radius-md);color:var(--white);cursor:pointer;display:flex;font-weight:600;justify-content:center;padding:12px 20px;transition:all .3s ease}.search-icon-btn{height:16px;position:relative;width:16px}.search-icon-btn:before{border:2px solid var(--white);border-radius:50%;content:"";height:10px;left:1px;position:absolute;top:1px;width:10px}.search-icon-btn:after{background:var(--white);border-radius:1px;bottom:1px;content:"";height:5px;position:absolute;right:1px;transform:rotate(45deg);width:2px}.filter-select{background:#fff;border:2px solid #ffe382;border-radius:12px;cursor:pointer;font-size:.9rem;margin-right:5px;padding:10px 15px}.filter-select:focus{border-color:#9ad4d6;outline:none}.loading{color:#666;font-size:1.2rem;padding:60px 20px;text-align:center}.recipes-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.recipe-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:all .3s ease}.recipe-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.recipe-image{height:200px;overflow:hidden;position:relative;width:100%}.recipe-image img{height:100%;object-fit:cover;width:100%}.incompatible-overlay{align-items:center;background:#e74c3ce6;bottom:0;color:#fff;display:flex;font-size:.9rem;font-weight:600;justify-content:center;left:0;padding:10px;position:absolute;right:0;text-align:center;top:0}.recipe-content{padding:20px}.recipe-title{color:var(--black);font-size:1.2rem;font-weight:600;line-height:1.3;margin:0 0 15px}.recipe-meta{color:var(--gray);display:flex;font-size:14px;font-weight:500;gap:15px;margin-bottom:15px}.recipe-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.tag{background:var(--light-gray);border-radius:var(--radius-sm);color:var(--gray);font-size:12px;font-weight:600;padding:4px 8px}.tag.vegetarian{background:var(--mint);color:var(--dark-gray)}.tag.gluten-free,.tag.vegan{background:var(--jasmine);color:var(--dark-gray)}.add-btn{background:var(--gradient-primary);border:none;border-radius:var(--radius-md);color:var(--white);cursor:pointer;padding:12px 16px;width:100%}.no-results{color:#666;padding:60px 20px;text-align:center}@media (max-width:768px){.recipes-container{max-width:100%;padding:0 10px}.recipes-grid{gap:16px;grid-template-columns:1fr}.recipe-card{margin:0}}.modal-overlay{padding:20px}.meal-modal{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000004d;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.modal-header{border-bottom:2px solid #f0f0f0;padding:25px 30px 20px}.modal-header h3{font-size:1.3rem;font-weight:600;line-height:1.3}.close-btn{border-radius:50%;font-size:1.8rem;padding:5px;transition:all .3s ease}.close-btn:hover{background:#f0f0f0;color:#333}.modal-content{padding:25px 30px 30px}.recipe-preview{background:#fafafa;border-radius:12px;display:flex;gap:15px;margin-bottom:25px;padding:15px}.recipe-preview img{border-radius:8px;height:80px;object-fit:cover;width:80px}.recipe-info{display:flex;flex-direction:column;gap:5px;justify-content:center}.recipe-info p{color:#666;font-size:.9rem;margin:0}.selection-section{gap:20px;margin-bottom:25px}.form-group,.selection-section{display:flex;flex-direction:column}.form-group{gap:10px}.form-group label{color:#333;font-size:1rem;font-weight:600}.date-select{background:#fff;border:2px solid #f1eae2;border-radius:12px;cursor:pointer;font-size:1rem;padding:12px 15px}.date-select:focus{border-color:#f1eae2;outline:none}.meal-type-buttons{display:flex;flex-wrap:wrap;gap:10px}.meal-type-btn{align-items:center;background:#fff;border:2px solid #f1eae2;border-radius:15px;cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:5px;min-width:100px;padding:15px 20px;transition:all .3s ease}.meal-type-btn:hover{border-color:#ff845e;transform:translateY(-2px)}.meal-type-btn.active{background:#9ad4d6;border-color:#9ad4d6;color:#fff}.meal-type-btn span:last-child{font-size:.9rem;font-weight:600}.modal-actions{display:flex;gap:15px;justify-content:flex-end}.cancel-btn,.confirm-btn{border:none;border-radius:12px;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .3s ease}.cancel-btn{background:#f0f0f0;color:#666}.cancel-btn:hover{background:#e0e0e0}.confirm-btn{background:#000;color:#fff}.confirm-btn:hover:not(:disabled){box-shadow:0 5px 15px #9ad4d6;transform:translateY(-2px)}.confirm-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}@media (max-width:768px){.recipes{padding:15px 15px 100px}.search-section{padding:20px}.search-form{flex-direction:column}.filters{justify-content:center}.recipes-grid{gap:20px;grid-template-columns:1fr}.modal-overlay{padding:10px}.meal-modal{max-height:95vh}.modal-content,.modal-header{padding:20px}.modal-header h3{font-size:1.1rem}.recipe-preview{flex-direction:column;text-align:center}.recipe-preview img{height:100px;margin:0 auto;width:100px}.meal-type-buttons{justify-content:center}.meal-type-btn{min-width:80px;padding:12px 15px}.modal-actions{flex-direction:column}}.planner-content{-ms-overflow-style:none;height:100%;overflow-y:auto;padding:20px 20px 100px;scrollbar-width:none}.planner-content::-webkit-scrollbar{display:none}.planner-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px;padding-top:20px}.planner-header h1{color:var(--black);font-size:1.5rem;font-weight:700;letter-spacing:-.5px;margin:0}.add-meal-btn-header{align-items:center;background:var(--coral);border:none;border-radius:50%;box-shadow:var(--shadow-sm);cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .3s ease;width:40px}.add-meal-btn-header:hover{box-shadow:var(--shadow-md);transform:scale(1.05)}.plus-icon{color:var(--white);font-size:20px;font-weight:700;line-height:1}.week-days-header{display:flex;gap:8px;justify-content:space-between;margin-bottom:24px}.week-day{align-items:center;background:var(--white);border-radius:var(--radius-md);display:flex;flex:1 1;flex-direction:column;padding:12px 8px;transition:all .3s ease}.week-day.selected{background:var(--pink);color:var(--white);cursor:pointer}.week-day{cursor:pointer}.day-name{color:var(--gray);font-size:12px;font-weight:600;margin-bottom:4px}.week-day.selected .day-name{color:#fffc}.day-number{color:var(--black);font-size:16px;font-weight:700}.week-day.selected .day-number{color:var(--white)}.current-day-view{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:24px}.day-title h2{color:var(--black);font-size:1.25rem;font-weight:700;letter-spacing:-.5px;margin:0 0 24px}.meals-list{gap:20px}.meal-item,.meals-list{display:flex;flex-direction:column}.meal-item{gap:12px}.meal-type-header h3{color:var(--gray);font-size:14px;font-weight:600;letter-spacing:.5px;margin:0}.planned-meal-card{align-items:center;background:var(--light-gray);border-radius:var(--radius-md);display:flex;gap:16px;padding:16px;transition:all .3s ease}.planned-meal-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.meal-image{height:60px;width:60px}.meal-info{flex:1 1}.meal-info h4{color:var(--black);font-size:16px;font-weight:600;line-height:1.3;margin:0 0 4px}.meal-info p{color:var(--gray);font-size:14px;font-weight:500;margin:0}.remove-btn{background:#0000;color:var(--gray);font-size:20px;height:32px;transition:all .3s ease;width:32px}.remove-btn:hover{background:#e74c3c1a;border-radius:50%;color:#e74c3c}.edit-icon{height:16px;position:relative;width:16px}.edit-icon:before{background:var(--gray);border-radius:1px;height:2px;left:2px;top:7px;width:12px}.edit-icon:after,.edit-icon:before{content:"";position:absolute;transform:rotate(45deg)}.edit-icon:after{border:2px solid var(--gray);border-right:none;border-top:none;height:6px;left:8px;top:2px;width:6px}.empty-meal-slot{background:var(--light-gray);border:2px dashed #dee2e6;border-radius:var(--radius-md);padding:24px;text-align:center}.empty-meal-slot p{color:var(--gray);font-size:14px;font-weight:500;margin:0}.nav-btn{background:#8b4b8c;border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .3s ease}.nav-btn:hover{background:#a569a5;transform:translateY(-2px)}.week-display{color:#333;font-size:1.1rem;font-weight:600}.planner-grid{display:flex;flex-direction:column;gap:16px}.day-column{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px}.day-column.today{border:2px solid var(--coral);box-shadow:var(--shadow-md)}.day-header{align-items:center;border-bottom:1px solid #f1f3f4;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.day-header h3{color:var(--black);font-size:1.1rem;font-weight:700;margin:0}.date{color:var(--gray);font-size:14px;font-weight:600}.meals-container{display:flex;flex-direction:column;gap:15px}.meal-slot{background:#fafbfc;border:1px solid #f1f3f4;border-radius:var(--radius-md);padding:16px}.meal-header{align-items:center;display:flex;gap:12px;margin-bottom:12px}.meal-info{display:flex;flex-direction:column}.meal-name{color:var(--black);font-size:14px;font-weight:600}.planned-meal{background:var(--white);border:1px solid #e9ecef;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:12px;position:relative}.meal-image{border-radius:var(--radius-sm);height:80px;margin-bottom:8px;object-fit:cover;width:100%}.meal-details h4{color:var(--black);font-size:13px;font-weight:600;line-height:1.3;margin:0 0 4px}.meal-details p{color:var(--gray);font-size:12px;font-weight:500;margin:0}.remove-btn{align-items:center;background:#e74c3ce6;border:none;border-radius:50%;color:var(--white);display:flex;font-weight:700;height:24px;justify-content:center;position:absolute;right:8px;top:8px;width:24px}.add-meal-btn,.remove-btn{cursor:pointer;font-size:14px}.add-meal-btn{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:var(--radius-md);color:var(--gray);font-weight:600;padding:24px 16px;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.add-meal-btn:hover{background:var(--gradient-primary);border-color:var(--coral);color:var(--white);transform:translateY(-2px)}.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}.modal{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000004d;max-width:400px;padding:30px;width:90%}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.modal-header h3{color:#333;font-size:1.2rem;margin:0}.close-btn{background:none;border:none;color:#666;cursor:pointer;font-size:1.5rem}.modal-content{text-align:center}.modal-content p{color:#666;margin-bottom:20px}.recipes-btn{background:#8b4b8c;border:none;border-radius:12px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .3s ease}.recipes-btn:hover{background:#a569a5;transform:translateY(-2px)}@media (max-width:1200px){.planner-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:768px){.planner{padding:15px 15px 100px}.planner-grid{grid-template-columns:repeat(2,1fr)}.week-navigation{flex-direction:column;gap:15px}}@media (max-width:480px){.planner-grid{grid-template-columns:1fr}}.groceries-content{height:100%;overflow-y:auto;padding:20px 20px 100px}.groceries-header{margin-bottom:30px;padding-top:20px;text-align:center}.groceries-header h1{color:#333;font-size:2rem;font-weight:700;margin:0 0 10px}.groceries-header p{color:#666;font-size:1rem;margin:0}.empty-state{background:#fff;border-radius:20px;box-shadow:0 5px 15px #00000014;padding:60px 20px;text-align:center}.empty-state h3{color:#333;font-size:1.3rem;margin:0 0 15px}.empty-state p{color:#666;line-height:1.5;margin:0 0 25px}.planner-btn{background:#ff845e;border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .3s ease}.progress-section{background:#fff;border-radius:20px;box-shadow:0 5px 15px #00000014;margin-bottom:20px;padding:25px}.progress-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.progress-header h3{color:#333;font-size:1.2rem;margin:0}.progress-text{color:#666;font-weight:600}.progress-bar{background:#f0f0f0;border-radius:6px;height:12px;overflow:hidden;width:100%}.progress-fill{background:#d7f9f1;border-radius:6px;height:100%;transition:width .3s ease}.actions-section{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:25px}.action-btn{border:none;border-radius:12px;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:600;min-width:120px;padding:12px 20px;transition:all .3s ease}.action-btn:hover{transform:translateY(-2px)}.check-all{background:#c9bbf4;color:#fff}.check-all:disabled{background:#a3a9a9;cursor:not-allowed;transform:none}.export-pdf{background:#ffe382;color:#fff}.export-csv{background:#9ad4d6;color:#fff}.grocery-list{background:#fff;border-radius:20px;box-shadow:0 5px 15px #00000014;padding:20px}.grocery-item{align-items:center;border-bottom:1px solid #f0f0f0;border-radius:8px;cursor:pointer;display:flex;margin-bottom:5px;padding:15px;transition:all .3s ease}.grocery-item:hover{background:#f8f7f4}.grocery-item.checked{opacity:.6}.grocery-item.checked .item-name{color:#666;text-decoration:line-through}.item-checkbox{margin-right:15px}.item-checkbox input[type=checkbox]{accent-color:#d7f9f1;cursor:pointer;height:18px;width:18px}.item-details{align-items:center;display:flex;flex:1 1;justify-content:space-between}.item-name{color:#333;font-size:1rem;font-weight:500;text-transform:capitalize}.item-amount{color:#666;font-size:.9rem;font-weight:600}@media (max-width:768px){.groceries{padding:15px 15px 100px}.progress-header{gap:10px;text-align:center}.actions-section,.progress-header{flex-direction:column}.action-btn{min-width:auto}.item-details{align-items:flex-start;flex-direction:column;gap:5px}}.profile-content{-ms-overflow-style:none;height:100%;overflow-y:auto;padding:20px 20px 100px;scrollbar-width:none}.profile-content::-webkit-scrollbar{display:none}.profile-header{gap:16px;margin-bottom:24px;padding-top:10px}.avatar,.profile-header{align-items:center;display:flex}.avatar{background:var(--gradient-secondary);border-radius:50%;box-shadow:var(--shadow-md);color:var(--white);flex-shrink:0;height:64px;justify-content:center;width:64px}.avatar,.user-info h1{font-size:1.5rem;font-weight:700}.user-info h1{color:var(--black);letter-spacing:-.5px;margin:0 0 4px}.username{color:var(--gray);font-size:14px;font-weight:500;margin:0}.notification{background:#d4edda;border:1px solid #c3e6cb;border-radius:12px;color:#155724;margin-bottom:20px;padding:12px 20px;text-align:center}.profile-content{display:flex;flex-direction:column;gap:30px}.info-section{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:16px;padding:24px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.section-header h2{color:var(--black);font-size:1.25rem;font-weight:700;letter-spacing:-.5px;margin:0}.edit-btn{border:none;border-radius:var(--radius-md);cursor:pointer;font-size:13px;font-weight:600;letter-spacing:.5px;padding:8px 16px;transition:all .3s cubic-bezier(.4,0,.2,1)}.edit-btn.edit{background:var(--coral);color:var(--white)}.edit-btn.save{background:var(--mint-green);color:var(--white)}.edit-btn:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.preference-cards{display:flex;flex-direction:column;gap:16px}.preference-item{align-items:center;border-bottom:1px solid #f1f3f4;display:flex;justify-content:space-between;padding:16px 0}.preference-item:last-child{border-bottom:none}.item-label{color:var(--gray);font-size:14px;font-weight:600;letter-spacing:.5px}.item-value{color:var(--black);font-size:16px;font-weight:600;text-align:right}.allergy-options,.diet-options,.meals-options{display:flex;flex-wrap:wrap;gap:10px}.allergy-btn,.diet-btn,.meals-btn{background:var(--white);border:2px solid #e9ecef;border-radius:var(--radius-md);color:var(--gray);cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .3s cubic-bezier(.4,0,.2,1)}.allergy-btn:hover,.diet-btn:hover,.meals-btn:hover{border-color:var(--coral);transform:translateY(-1px)}.allergy-btn.active,.diet-btn.active,.meals-btn.active{background:var(--gradient-primary);border-color:var(--coral);color:var(--white)}.logout-section{border-top:1px solid #f1f3f4;margin-top:24px;padding-top:20px}.logout-btn{align-items:center;background:var(--white);border:2px solid #f1f3f4;border-radius:12px;color:var(--gray);cursor:pointer;display:flex;font-size:16px;font-weight:600;justify-content:space-between;padding:16px 20px;transition:all .3s ease;width:100%}.logout-btn:hover{background:#fff5f5;color:#e74c3c}.logout-arrow{color:var(--gray);font-size:18px;transition:all .3s ease}.logout-btn:hover .logout-arrow{color:#e74c3c;transform:translateX(4px)}@media (max-width:768px){.profile{padding:15px 15px 100px}.account-section,.danger-zone,.info-section{padding:20px}.section-header{flex-direction:column;gap:15px;text-align:center}.allergy-options,.diet-options,.meals-options{justify-content:center}.info-item{flex-direction:column;gap:8px;text-align:center}}.navbar{background:var(--black);border-radius:30px;bottom:20px;box-shadow:var(--shadow-lg);left:50%;min-width:350px;padding:12px 20px;position:fixed;transform:translateX(-50%);width:auto;z-index:9999}.navbar-container{justify-content:space-around;width:100%}.nav-item,.navbar-container{align-items:center;display:flex}.nav-item{background:none;border:none;border-radius:var(--radius-md);color:#fff9;cursor:pointer;flex:1 1;flex-direction:column;padding:8px 16px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.nav-item:hover{color:var(--white);transform:scale(1.05)}.nav-item.active,.nav-item.active .nav-label{color:var(--coral)}.nav-icon{height:24px;margin-bottom:4px;position:relative;width:24px}.nav-icon-home:before{border:2px solid;border-bottom:none;border-radius:4px 4px 0 0;content:"";height:16px;left:2px;position:absolute;top:6px;width:20px}.nav-icon-home:after{border-bottom:8px solid;border-left:10px solid #0000;border-right:10px solid #0000;content:"";height:0;left:2px;position:absolute;top:2px;width:0}.nav-icon-recipes:before{border:2px solid;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;content:"";height:12px;left:3px;position:absolute;top:4px;width:18px}.nav-icon-recipes:after{background:currentColor;border-radius:2px;content:"";height:2px;left:6px;position:absolute;top:2px;width:12px}.nav-icon-planner:before{border:2px solid;border-radius:2px;content:"";height:16px;left:3px;position:absolute;top:4px;width:18px}.nav-icon-planner:after{background:currentColor;box-shadow:0 3px 0 currentColor,0 6px 0 currentColor;content:"";height:1px;left:7px;position:absolute;top:9px;width:10px}.nav-icon-groceries:before{border:2px solid;border-radius:0 0 4px 4px;content:"";height:12px;left:4px;position:absolute;top:6px;width:16px}.nav-icon-groceries:after{border:2px solid;border-bottom:none;border-radius:4px 4px 0 0;content:"";height:4px;left:9px;position:absolute;top:4px;width:6px}.nav-icon-profile:before{border:2px solid;border-radius:50%;content:"";height:8px;left:8px;position:absolute;top:2px;width:8px}.nav-icon-profile:after{border:2px solid;border-radius:50% 50% 0 0;content:"";height:10px;left:4px;position:absolute;top:12px;width:16px}.nav-label{font-size:11px;font-weight:500;margin-top:2px;opacity:.9}@media (max-width:480px){.navbar{min-width:300px;padding:10px 16px}.nav-item{padding:6px 10px}.nav-icon{font-size:18px}.nav-label{font-size:10px}}*{box-sizing:border-box;margin:0;padding:0}:root{--beige:#fdf7f0;--coral:#ff845e;--pink:#f5a9b8;--jasmine:#ffe382;--mint:#d7f9f1;--tiffany:#9ad4d6;--periwinkle:#c9bbf4;--white:#fff;--light-gray:#fafafa;--gray:#8e8e93;--dark-gray:#3a3a3c;--black:#1c1c1e;--gradient-primary:linear-gradient(135deg,var(--coral) 0%,var(--pink) 100%);--gradient-secondary:linear-gradient(135deg,var(--tiffany) 0%,var(--periwinkle) 100%);--gradient-accent:linear-gradient(135deg,var(--jasmine) 0%,var(--mint) 100%);--shadow-sm:0 2px 8px #0000000f;--shadow-md:0 4px 16px #00000014;--shadow-lg:0 8px 32px #0000001f;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-xl:32px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fdf7f0;background:var(--beige);color:#3a3a3c;color:var(--dark-gray);font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:16px;font-weight:400;line-height:1.5}.App{min-height:100vh;position:relative}button{border:none;border-radius:16px;border-radius:var(--radius-md);cursor:pointer;font-family:inherit;font-weight:600;outline:none;transition:all .3s cubic-bezier(.4,0,.2,1)}button:focus{outline:2px solid #ff845e;outline:2px solid var(--coral);outline-offset:2px}.btn-primary{background:linear-gradient(135deg,#ff845e,#f5a9b8);background:var(--gradient-primary);box-shadow:0 2px 8px #0000000f;box-shadow:var(--shadow-sm);color:#fff;color:var(--white);padding:12px 24px}.btn-primary:hover{box-shadow:0 4px 16px #00000014;box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-secondary{background:#fff;background:var(--white);border:2px solid #fafafa;border:2px solid var(--light-gray);color:#3a3a3c;color:var(--dark-gray);padding:12px 24px}.btn-secondary:hover{border-color:#ff845e;border-color:var(--coral);color:#ff845e;color:var(--coral)}input,select,textarea{background:#fff;background:var(--white);border:2px solid #e9ecef;border-radius:16px;border-radius:var(--radius-md);font-family:inherit;font-size:16px;outline:none;padding:12px 16px;transition:all .3s cubic-bezier(.4,0,.2,1)}input:focus,select:focus,textarea:focus{border-color:#ff845e;border-color:var(--coral);box-shadow:0 0 0 3px #ff8a651a;outline:none}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background:#c8a8c8;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#8b4b8c}.text-center{text-align:center}.mb-20{margin-bottom:20px}.mt-20{margin-top:20px}@media (max-width:1200px){.container{padding:0 20px}}@media (max-width:768px){body{font-size:14px}.container{padding:0 15px}}@media (max-width:480px){body{font-size:13px}.container{padding:0 10px}}.fade-in{animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}
/*# sourceMappingURL=main.b05c787c.css.map*/