@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800;900&display=swap);@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;900&display=swap);@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@500;600;700;900&display=swap);:root{--background-dark:#0c1a24;--background-darker:#0b1721;--text-white:#f1f1f1;--text-white-soft:#e5e5e5;--accent-teal:#348ca0;--accent-teal-hover:#2a7a8a;--border-white:#fff;--card-bg:#1a2a36;--card-bg-hover:#243442;--header-text:#f1f1f1;--text-main:#f1f1f1;--text-secondary:#e5e5e5;--primary-accent:#348ca0;--secondary-accent:#4a90a4;--tertiary-accent:#5a9fb3;--success:#4ade80;--error:#f87171;--button-border:#fff;--button-hover:#348ca0;--button-text:#f1f1f1;--info-bg:#1a2a36;--soft-peach:#2a4a5a;--soft-sage:#2a5a4a;--soft-navy:#1a2a36}html{background-color:#0c1a24}body,html{background-color:var(--background-dark);min-height:100vh}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-white)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-backdrop{align-items:center;background-color:#000000b3;display:flex;inset:0;justify-content:center;position:fixed;z-index:999}.login-form-container{background-color:#1a2a36;border:2px solid #fff;border-radius:16px;box-shadow:0 8px 32px #0000004d;color:#f1f1f1;display:flex;flex-direction:column;font-family:Poppins,Nunito,Inter,sans-serif;gap:20px;max-height:90vh;max-width:400px;overflow-y:auto;padding:30px 20px;position:relative;width:90%}.close-btn{background:none;border:none;color:#f1f1f1;cursor:pointer;font-size:1.8rem;position:absolute;right:20px;top:20px;transition:all .2s ease}.close-btn:hover{color:#348ca0}.login-title{color:#f1f1f1;font-family:Poppins,Nunito,Inter,sans-serif;font-size:1.7rem;font-weight:700;margin-top:10px;text-align:center}.login-form{display:flex;flex-direction:column;gap:16px}.login-form input{background-color:#0c1a24;border:2px solid #fff;border-radius:10px;color:#f1f1f1;font-family:Poppins,Nunito,Inter,sans-serif;font-size:1rem;padding:12px;transition:all .2s ease}.login-form input:focus{border-color:#348ca0;box-shadow:0 0 0 3px #348ca033;outline:none}.login-form input::placeholder{color:#e5e5e5}.login-btn{background-color:#348ca0;border:2px solid #fff;border-radius:10px;color:#f1f1f1;cursor:pointer;font-family:Poppins,Nunito,Inter,sans-serif;font-weight:600;padding:12px;transition:all .2s ease}.login-btn:hover{background-color:#2a7a8a;box-shadow:0 4px 8px #348ca04d;color:#f1f1f1;transform:translateY(-1px)}.error-msg{color:#f87171;font-family:Poppins,Nunito,Inter,sans-serif;font-size:.9rem;margin-bottom:10px;margin-top:-10px}@media (max-width:480px){.login-form-container{border-radius:12px;padding:24px 16px}.login-title{font-size:1.5rem}.login-btn{font-size:1rem;padding:10px}.close-btn{font-size:1.5rem;right:10px;top:10px}}body{background-color:#0c1a24;color:#f1f1f1;font-family:Poppins,Nunito,Inter,sans-serif;margin:0}.home-container{background-color:#0c1a24;height:100vh;justify-content:center;padding:20px;text-align:center}.home-container,.home-content{align-items:center;display:flex;font-family:Poppins,Nunito,Inter,sans-serif}.home-content{flex-direction:column;gap:28px}.logo-wrapper{margin-bottom:24px}.home-logo{width:clamp(180px,40vw,280px)}.home-title{font-size:clamp(3.5rem,9vw,5.5rem);font-weight:900;margin:0}.home-caption,.home-title{color:#f1f1f1;font-family:Poppins,Nunito,Inter,sans-serif}.home-caption{font-size:1.5rem;font-weight:600;margin-bottom:20px;margin-top:10px}.home-button-group{display:flex;flex-direction:column;gap:16px}.home-button{border-radius:10px;cursor:pointer;font-family:Poppins,Nunito,Inter,sans-serif;font-size:1.2rem;font-weight:600;letter-spacing:.3px;padding:10px 20px;transition:all .2s ease;width:260px}.home-button,.home-button.outline{background-color:initial;border:2px solid #fff;color:#f1f1f1}.home-button.outline:hover{background-color:#348ca0;box-shadow:0 4px 8px #348ca04d;color:#f1f1f1;transform:translateY(-1px)}.home-button.filled{background-color:#348ca0;border:2px solid #fff;color:#f1f1f1}.home-button.filled:hover{background-color:#2a7a8a;box-shadow:0 4px 8px #348ca04d;color:#f1f1f1;transform:translateY(-1px)}.typing-text{word-wrap:break-word;animation:none!important;border:none!important;overflow-wrap:break-word;white-space:normal;width:100%}@keyframes blinkCursor{50%{border-color:#0000}}.stirring{animation:stirSpoon 3s ease-in-out infinite;transform-origin:70% 20%}@keyframes stirSpoon{0%{transform:rotate(0deg)}25%{transform:rotate(6deg)}50%{transform:rotate(-5deg)}75%{transform:rotate(4deg)}to{transform:rotate(0deg)}}.typing-text{animation:blinkCursor .8s step-end infinite;border-right:2px solid #f1f1f1cc;display:block;font-size:clamp(1.2rem,2.5vw,1.7rem);font-weight:600;margin:0 auto 24px;max-width:90vw;overflow:hidden;text-align:center;white-space:nowrap}.basic-info-container,.typing-text{color:#f1f1f1;font-family:Poppins,Nunito,Inter,sans-serif}.basic-info-container{align-items:center;background-color:#0c1a24;display:flex;flex-direction:column;justify-content:flex-start;min-height:100vh;padding:2rem 1rem}.page-title{color:#f1f1f1;font-family:Poppins,Nunito,Inter,sans-serif;font-size:2.5rem;font-weight:700;margin-bottom:2rem;text-align:center}.info-form{grid-gap:28px 20px;display:grid;gap:28px 20px;grid-template-columns:repeat(2,1fr);margin-bottom:2rem;max-width:800px;width:100%}@media (max-width:700px){.info-form{grid-template-columns:1fr}}.input-group{margin-bottom:1.5rem;max-width:400px;width:100%}.input-group label{color:#f1f1f1;display:block;font-family:Poppins,Nunito,Inter,sans-serif;font-weight:600;margin-bottom:.5rem}.input-group input,.input-group select{background-color:#1a2a36;border:2px solid #fff;border-radius:10px;color:#f1f1f1;font-family:Poppins,Nunito,Inter,sans-serif;font-size:1rem;padding:12px;transition:all .2s ease;width:100%}.input-group input:focus,.input-group select:focus{border-color:#348ca0;box-shadow:0 0 0 3px #348ca033;outline:none}.checkmark{font-size:1.1rem;margin-left:8px}.input-group input::placeholder{color:#e5e5e5}.meal-time-group{grid-column:span 2}.meal-time-inputs{align-items:center;display:flex;gap:8px}.time-input{flex:2 1}.period-select{flex:1 1}@media (max-width:700px){.meal-time-group{grid-column:span 1}}.button-container{align-items:center;display:flex;justify-content:center;margin-top:1rem;width:100%}.submit-btn{background-color:#348ca0;border:2px solid #fff;border-radius:10px;color:#f1f1f1;cursor:pointer;font-family:Poppins,Nunito,Inter,sans-serif;font-size:1.1rem;font-weight:600;max-width:300px;min-width:200px;padding:16px 32px;transition:all .2s ease;width:auto}.submit-btn:hover{background-color:#2a7a8a;box-shadow:0 4px 8px #348ca04d;color:#f1f1f1;transform:translateY(-1px)}@keyframes slideIn{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.basic-info-container{padding:1rem}.page-title{font-size:2rem}.input-group,.submit-btn{max-width:100%}.submit-btn{font-size:1rem;min-width:180px;padding:14px 28px}}.provide-container{align-items:center;background-color:#0c1a24;color:#f1f1f1;display:flex;flex-direction:column;font-family:Poppins,Nunito,Inter,sans-serif;justify-content:center;min-height:100vh;padding:2rem 1rem}.provide-heading{font-size:2.5rem;font-weight:700}.main-paragraph,.provide-heading{color:#f1f1f1;font-family:Poppins,Nunito,Inter,sans-serif;margin-bottom:2rem;text-align:center}.main-paragraph{font-size:1.2rem;line-height:1.6;max-width:800px}.feature-list{gap:48px;margin:0 auto;max-width:900px;padding:0 20px}.feature-block,.feature-list{display:flex;flex-direction:column}.feature-block{align-items:center}.feature-line{color:#f1f1f1;font-size:1.1rem;margin-bottom:1rem}.feature-description,.feature-line{font-family:Poppins,Nunito,Inter,sans-serif;text-align:center}.feature-description{color:#e5e5e5;font-size:1rem;line-height:1.5;margin-bottom:1.5rem;max-width:600px}@media (max-width:768px){.provide-container{padding:1rem}.provide-heading{font-size:2rem}.main-paragraph{font-size:1.1rem}.feature-line{font-size:1rem}}body,html{background:#0c1a24;margin:0;min-height:100vh;padding:0}*{box-sizing:border-box}.calendar-wrapper{align-items:center;background:#0c1a24;box-sizing:border-box;display:flex;flex-direction:column;font-family:Poppins,Nunito,Inter,sans-serif;gap:2rem;justify-content:flex-start;min-height:100vh;overflow-x:hidden;padding:2rem 1rem}.calendar-wrapper,.streak-section{color:#f1f1f1;position:relative;text-align:center;width:100%}.streak-section{animation:fadeInUp .8s ease-out;background:#1a2a36;border:2px solid #fff;border-radius:16px;box-shadow:0 8px 24px #0000004d;max-width:36rem;padding:3rem 2rem;transition:all .3s ease;z-index:1}.streak-section:hover{background:#243442;box-shadow:0 12px 32px #0006;transform:translateY(-3px)}.streak-title{color:#f1f1f1;font-size:1.75rem;font-weight:700;line-height:1.3;margin-bottom:1rem}.streak-subtitle,.streak-title{font-family:Poppins,Nunito,Inter,sans-serif}.streak-subtitle{color:#e5e5e5;font-size:1rem;font-weight:400;margin-bottom:1.5rem}.streak-progress{display:flex;flex-direction:column;gap:.5rem;margin:1.5rem 0;text-align:center}.progress-text{line-height:1.3}.motivation-text{color:#e5e5e5;font-size:.875rem;font-weight:400;line-height:1.3}.motivation-text,.streak-cta{font-family:Poppins,Nunito,Inter,sans-serif}.streak-cta{background:#348ca0;border:2px solid #fff;border-radius:10px;color:#f1f1f1;cursor:pointer;font-size:1rem;font-weight:600;margin-top:1rem;max-width:200px;overflow:hidden;padding:12px 24px;position:relative;transition:all .2s ease;width:100%}.streak-cta:hover{background:#2a7a8a;box-shadow:0 6px 16px #348ca04d;color:#f1f1f1;transform:translateY(-2px)}.streak-cta:active{box-shadow:0 2px 8px #348ca033;transform:translateY(0)}.plate-section{animation:fadeInUp .6s ease-out .2s both;background:#0c1a24;border:2px solid #fff;border-radius:16px;box-shadow:0 4px 6px #0003;max-width:36rem;padding:2rem 1.5rem;transition:all .2s ease;width:100%}.plate-section:hover{background:#0c1a24;box-shadow:0 8px 12px #0000004d;transform:translateY(-2px)}.action-buttons{grid-gap:1rem;background:#0000;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin:0;padding:0}.action-btn{align-items:center;border:2px solid #fff;border-radius:10px;color:#f1f1f1;cursor:pointer;display:flex;flex-direction:column;font-family:Poppins,Nunito,Inter,sans-serif;font-size:.9rem;font-weight:600;justify-content:center;overflow:hidden;padding:1.5rem 1rem;position:relative;transition:all .2s ease}.action-btn,.meal-btn,.shake-btn,.snack-btn{background:#1a2a36}.action-btn:hover{background:#348ca0;box-shadow:0 6px 16px #348ca04d;color:#f1f1f1;transform:translateY(-2px)}.action-btn:active{box-shadow:0 2px 8px #348ca033;transform:translateY(0)}.btn-icon{display:block;font-size:1.5rem;margin-bottom:.5rem}.btn-text{font-family:Poppins,Nunito,Inter,sans-serif;font-size:.85rem;font-weight:600}.progress-section{grid-gap:1rem;background:#0000;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:0;max-width:36rem;padding:0;width:100%}.progress-card{animation:fadeInUp .6s ease-out .4s both;background:#1a2a36;border:2px solid #fff;border-radius:16px;box-shadow:0 4px 6px #0003;padding:2rem 1.5rem;transition:all .2s ease}.progress-card:hover{background:#243442;box-shadow:0 8px 12px #0000004d;transform:translateY(-2px)}.progress-header{align-items:center;display:flex;gap:.5rem;margin-bottom:1rem}.progress-icon{font-size:1.2rem}.progress-label{color:#f1f1f1;font-family:Poppins,Nunito,Inter,sans-serif;font-size:1rem;font-weight:600}.progress-bar{background:#2a4a5a;border-radius:4px;height:8px;margin-bottom:.5rem}.progress-fill{background:linear-gradient(90deg,#348ca0,#4a9db0);border-radius:4px;transition:width .3s ease}.progress-text{font-family:Poppins,Nunito,Inter,sans-serif;font-size:1rem;margin-top:.75rem;text-align:center}.weight-trend{align-items:flex-start;display:flex;flex-direction:column;gap:1rem}.trend-text{color:#e5e5e5;font-size:.9rem;font-weight:500}.goal-weight-display{background:#348ca01a;border:1px solid #348ca04d;border-radius:8px;cursor:help;display:flex;flex-direction:column;gap:.5rem;padding:1rem;transition:all .2s ease}.goal-weight-display:hover{background:#348ca026;border-color:#348ca080}.goal-weight-label{color:#e5e5e5;font-size:.875rem;font-weight:500}.goal-weight-value{color:#348ca0;font-size:1.25rem;font-weight:700}.weight-actions{display:flex;flex-wrap:wrap;gap:.75rem}.goal-weight-btn,.weight-btn{background:#0000;border:2px solid #fff;border-radius:10px;color:#f1f1f1;cursor:pointer;font-family:Poppins,Nunito,Inter,sans-serif;font-size:.875rem;font-weight:600;padding:.75rem 1rem;transition:all .2s ease;white-space:nowrap}.goal-weight-btn:hover,.weight-btn:hover{background:#348ca0;box-shadow:0 4px 12px #348ca04d;color:#f1f1f1;transform:translateY(-1px)}.goal-weight-btn{background:#348ca01a;border-color:#348ca0}.goal-weight-btn:hover{background:#348ca0;border-color:#348ca0}.sleep-info{display:flex;flex-direction:column;gap:.25rem}.sleep-hours{color:#348ca0;font-size:1rem;font-weight:700}.sleep-hours,.sleep-note{font-family:Poppins,Nunito,Inter,sans-serif}.sleep-note{color:#e5e5e5;font-size:.875rem}.meal-plan-section{animation:fadeInUp .6s ease-out .6s both;background:#1a2a36;border:2px solid #fff;border-radius:16px;box-shadow:0 4px 6px #0003;max-width:36rem;padding:2rem 1.5rem;transition:all .2s ease;width:100%}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.meal-plan-section:hover{background:#243442;box-shadow:0 8px 12px #0000004d;transform:translateY(-2px)}.meal-plan-section.inactive{opacity:.7}.section-title{font-family:Poppins,Nunito,Inter,sans-serif;font-size:1.75rem;margin-bottom:1.5rem;text-align:center}.meal-plan-content{gap:1.5rem}.meal-plan-content,.meal-windows{display:flex;flex-direction:column}.meal-windows{gap:.75rem}.meal-window{align-items:center;background:#0c1a24;border:1px solid #2a4a5a;border-radius:8px;display:flex;justify-content:space-between;padding:.75rem 1rem}.time{color:#e5e5e5;font-weight:500}.meal-type,.time{font-family:Poppins,Nunito,Inter,sans-serif;font-size:1rem}.meal-type{color:#f1f1f1;font-weight:600}.calories{color:#4ade80;font-family:Poppins,Nunito,Inter,sans-serif;font-size:.875rem;font-weight:600}.satisfaction-tracking{display:flex;flex-direction:column;gap:.75rem}.tracking-label{color:#e5e5e5;font-family:Poppins,Nunito,Inter,sans-serif;font-size:1rem;font-weight:600;text-align:left}.tracking-slots{display:flex;flex-direction:column;gap:.5rem}.tracking-slot{align-items:center;background:#0c1a24;border-radius:6px;display:flex;justify-content:space-between;padding:.5rem .75rem}.meal-name{font-weight:500}.satisfaction{color:#f59e0b;font-family:Poppins,Nunito,Inter,sans-serif;font-size:.875rem;font-weight:600}.meal-plan-placeholder{padding:2rem 1rem;text-align:center}.placeholder-text{color:#e5e5e5;font-family:Poppins,Nunito,Inter,sans-serif;font-size:.875rem;font-style:italic;margin-bottom:1rem}.placeholder-actions{display:flex;justify-content:center;margin-top:1rem}.placeholder-btn{background:#348ca0;border:2px solid #fff;border-radius:10px;color:#f1f1f1;cursor:pointer;font-family:Poppins,Nunito,Inter,sans-serif;font-size:.9rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.placeholder-btn:hover{background:#2a7a8a;box-shadow:0 4px 8px #348ca04d;transform:translateY(-1px)}.meal-recommendation{align-items:center;background:#0c1a24;border:1px solid #2a4a5a;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:.75rem;padding:1rem;transition:all .2s ease}.meal-recommendation:hover{background:#1a2a36;box-shadow:0 2px 4px #0003;transform:translateY(-1px)}.meal-emoji{font-size:1.5rem}.meal-details{display:flex;flex-direction:column;gap:.25rem}.meal-restaurant{color:#e5e5e5;font-size:.875rem;font-weight:500}.meal-restaurant,.view-recipe-btn{font-family:Poppins,Nunito,Inter,sans-serif}.view-recipe-btn{background:#0000;border:2px solid #fff;border-radius:10px;color:#f1f1f1;cursor:pointer;font-size:.9rem;font-weight:600;padding:12px 20px;transition:all .2s ease}.view-recipe-btn:hover{background:#348ca0;box-shadow:0 6px 16px #348ca04d;color:#f1f1f1;transform:translateY(-2px)}.llm-recommender-section{max-width:36rem;width:100%}.default-recommendations-container{width:100%}.meal-type-tabs{display:flex;gap:.5rem;justify-content:center;margin-bottom:1.5rem}.meal-type-tab{background:#0000;border:2px solid #e5e5e5;border-radius:10px;color:#e5e5e5;cursor:pointer;font-family:Poppins,Nunito,Inter,sans-serif;font-size:.9rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.meal-type-tab:hover{background:#e5e5e51a;color:#f1f1f1;transform:translateY(-1px)}.meal-type-tab.active{background:#348ca0;border-color:#348ca0;color:#f1f1f1}.meal-type-tab.active:hover{background:#2a7a8a;border-color:#2a7a8a}.logged-meals-section{animation:fadeInUp .6s ease-out .8s both;background:#1a2a36;border:2px solid #fff;border-radius:16px;box-shadow:0 4px 6px #0003;max-width:36rem;padding:2rem 1.5rem;transition:all .2s ease;width:100%}.logged-meals-section:hover{background:#243442;box-shadow:0 8px 12px #0000004d;transform:translateY(-2px)}.meals-grid{grid-gap:1rem;align-items:start;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.meal-item{background:#0c1a24;border:1px solid #2a4a5a;border-radius:8px;display:flex;flex-direction:column;gap:.75rem;padding:1rem;transition:all .2s ease}.meal-item:hover{background:#1a2a36;box-shadow:0 2px 4px #0003;transform:translateY(-1px)}.meal-info{align-items:center;display:flex;flex:1 1;gap:.75rem}.meal-icon{font-size:1.2rem}.meal-name{font-family:Poppins,Nunito,Inter,sans-serif;font-weight:700}.meal-actions{display:flex;gap:.5rem;justify-content:flex-start}.delete-btn,.edit-btn{align-items:center;background:#0000;border:2px solid #fff;border-radius:10px;color:#f1f1f1;cursor:pointer;display:flex;font-family:Poppins,Nunito,Inter,sans-serif;font-size:.8rem;font-weight:600;gap:.25rem;padding:8px 12px;transition:all .2s ease}.edit-btn:hover{background:#348ca0;box-shadow:0 4px 12px #348ca04d;color:#f1f1f1;transform:translateY(-1px)}.delete-btn:hover{background:#f8717133;border-color:#f87171;box-shadow:0 4px 12px #f871714d;color:#f87171;transform:translateY(-1px)}.no-meals-message{align-items:center;display:flex;flex-direction:column;gap:1rem;grid-column:1/-1;padding:2rem 1rem;text-align:center}.no-meals-icon{font-size:3rem;opacity:.7}.no-meals-text{color:#e5e5e5;font-family:Poppins,Nunito,Inter,sans-serif;font-size:1rem;font-weight:500;line-height:1.5}.trending-section{animation:fadeInUp .6s ease-out 1s both;background:#0c1a24;border:2px solid #fff;border-radius:16px;box-shadow:0 4px 6px #0003;max-width:36rem;padding:2rem 1.5rem;transition:all .2s ease;width:100%}.trending-section:hover{background:#0c1a24;box-shadow:0 8px 12px #0000004d;transform:translateY(-2px)}.trending-summary{border-bottom:1px solid #2a4a5a;margin-bottom:1rem;padding-bottom:1rem}.summary-text{color:#e5e5e5;font-family:Poppins,Nunito,Inter,sans-serif;font-size:1rem;font-weight:500}.trending-stats{grid-gap:1rem;background:#0000;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin:0;padding:0}.trending-stat{align-items:center;background:#1a2a36;border:1px solid #2a4a5a;border-radius:8px;display:flex;flex-direction:column;gap:.5rem;padding:1rem;transition:all .2s ease}.trending-stat:hover{background:#243442;box-shadow:0 2px 4px #0003;transform:translateY(-1px)}.stat-label{font-size:.875rem;font-weight:500;text-align:center}.stat-label,.stat-value{font-family:Poppins,Nunito,Inter,sans-serif}.stat-value{font-size:1.5rem;font-weight:700}@media (max-width:768px){.calendar-wrapper{gap:1.5rem;min-height:100vh;padding:1.5rem .5rem;width:100%}.logged-meals-section,.meal-plan-section,.plate-section,.progress-section,.streak-section,.trending-section{max-width:100%}.action-buttons{gap:.75rem}.action-buttons,.meals-grid,.progress-section,.trending-stats{grid-template-columns:1fr}.meal-window{gap:.5rem}.meal-window,.tracking-slot{flex-direction:column;text-align:center}.tracking-slot{gap:.25rem}.meal-item{flex-direction:column;gap:.75rem;text-align:center}.meal-actions{justify-content:center;width:100%}.delete-btn,.edit-btn{flex:1 1;justify-content:center;max-width:120px}.weight-actions{flex-direction:column;gap:.5rem}.goal-weight-btn,.weight-btn{justify-content:center;width:100%}.goal-weight-display{padding:.75rem}.goal-weight-value{font-size:1.1rem}.meal-type-tabs{flex-direction:column;gap:.25rem}.meal-type-tab{font-size:.8rem;padding:.5rem 1rem}}.logfood-backdrop{align-items:center;background:#000000b3;display:flex;inset:0;justify-content:center;position:fixed;z-index:999}.logfood-modal{background:#1a2a36;border:2px solid #fff;border-radius:16px;box-shadow:0 8px 32px #0000004d;color:#f1f1f1;flex-direction:column;gap:1.5rem;max-height:80vh;max-width:450px;overflow-x:hidden;overflow-y:auto;padding:2rem;position:relative;width:90%}.logfood-close-btn,.logfood-modal{display:flex;font-family:Poppins,Nunito,Inter,sans-serif}.logfood-close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#e5e5e5;cursor:pointer;font-size:1.5rem;font-weight:600;height:32px;justify-content:center;position:absolute;right:1rem;top:1rem;transition:all .2s ease;width:32px}.logfood-close-btn:hover{background:#e5e5e51a;color:#f1f1f1;transform:scale(1.1)}.logfood-title{color:#f1f1f1;font-family:Poppins,Nunito,Inter,sans-serif;font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;padding-right:2rem;text-align:center}.logfood-form{display:flex;flex-direction:column;gap:1rem}.logfood-label{display:block;font-weight:600}.logfood-input,.logfood-label{color:#f1f1f1;font-family:Poppins,Nunito,Inter,sans-serif;margin-bottom:.5rem}.logfood-input{background:#0c1a24;border:2px solid #fff;border-radius:10px;font-size:1rem;padding:12px;transition:all .2s ease;width:100%}.logfood-input:focus{border-color:#348ca0;box-shadow:0 0 0 3px #348ca033;outline:none}.logfood-input::placeholder{color:#e5e5e5}.logfood-buttons{display:flex;gap:1rem;margin-top:1.5rem}.logfood-submit{background:#348ca0;border:2px solid #fff;border-radius:10px;color:#f1f1f1;cursor:pointer;flex:1 1;font-family:Poppins,Nunito,Inter,sans-serif;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .2s ease}.logfood-submit:hover{background:#2a7a8a;box-shadow:0 4px 8px #348ca04d;color:#f1f1f1;transform:translateY(-1px)}.logfood-cancel{background:#0000;border:2px solid #e5e5e5;border-radius:10px;color:#e5e5e5;cursor:pointer;flex:1 1;font-family:Poppins,Nunito,Inter,sans-serif;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .2s ease}.logfood-cancel:hover{background:#e5e5e5;box-shadow:0 4px 8px #e5e5e54d;color:#0c1a24}.goal-weight-instruction{color:#e5e5e5;font-family:Poppins,Nunito,Inter,sans-serif;font-size:.9rem;line-height:1.5;margin-bottom:1.5rem;text-align:center}.goal-weight-form-group{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.goal-weight-hint{color:#348ca0;font-size:.8rem;font-style:italic;margin-top:.25rem}.current-goal-display,.goal-weight-hint{font-family:Poppins,Nunito,Inter,sans-serif}.current-goal-display{background:#0c1a24;border:2px solid #348ca0;border-radius:10px;margin-bottom:1.5rem;padding:1rem;text-align:center}.current-goal-label{color:#e5e5e5;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.current-goal-label,.current-goal-value{display:block;font-family:Poppins,Nunito,Inter,sans-serif}.current-goal-value{color:#348ca0;font-size:1.2rem;font-weight:700}@media (max-width:480px){.goal-weight-instruction{font-size:.85rem;margin-bottom:1rem}.goal-weight-form-group{gap:.5rem;margin-bottom:1rem}.goal-weight-hint{font-size:.75rem}.logfood-modal{gap:1rem;max-height:85vh;max-width:none;padding:1.5rem;width:95%}.logfood-title{font-size:1.3rem;padding-right:1.5rem}.logfood-close-btn{font-size:1.3rem;right:.75rem;top:.75rem}.logfood-input{font-size:.9rem;padding:10px}.logfood-cancel,.logfood-submit{font-size:.9rem;padding:10px 20px}}.feedback-container{align-items:center;animation:slideInFromTop .5s ease-out;background:#1a2a36;border:2px solid #fff;border-radius:16px;box-shadow:0 8px 32px #0000004d;display:flex;font-family:Poppins,Nunito,Inter,sans-serif;gap:1rem;margin:1rem;max-width:500px;padding:1.5rem}.feedback-icon{align-items:center;background:#348ca01a;border-radius:50%;color:#348ca0;display:flex;flex-shrink:0;font-size:1.5rem;height:48px;justify-content:center;width:48px}.feedback-content{flex:1 1}.feedback-message{color:#f1f1f1;font-size:1rem;font-weight:600;margin-bottom:.25rem}.feedback-message,.feedback-subtitle{font-family:Poppins,Nunito,Inter,sans-serif}.feedback-subtitle{color:#e5e5e5;font-size:.875rem}.feedback-container.success{background:#1a2a36;border-left:4px solid #4ade80}.feedback-container.success .feedback-icon{background:#4ade801a;color:#4ade80}.feedback-container.warning{background:#1a2a36;border-left:4px solid #f59e0b}.feedback-container.warning .feedback-icon{background:#f59e0b1a;color:#f59e0b}.feedback-container.celebration{animation:celebration-pulse 2s ease-in-out infinite;background:#1a2a36;border-left:4px solid #f87171}.feedback-container.celebration .feedback-icon{background:#f871711a;color:#f87171}.feedback-container.info{background:#1a2a36;border-left:4px solid #348ca0}.feedback-container.info .feedback-icon{background:#348ca01a;color:#348ca0}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes celebration-pulse{50%{box-shadow:0 8px 32px #f871714d}}@media (max-width:768px){.feedback-container{flex-direction:column;margin:.5rem;padding:1rem;text-align:center}.feedback-icon{font-size:1.25rem;height:40px;width:40px}.feedback-message{font-size:.9rem}.feedback-subtitle{font-size:.8rem}}.personalized-meal-plan-card{background-color:#1a2a36;border:2px solid #fff;border-radius:16px;font-family:Poppins,Nunito,Inter,sans-serif;margin-bottom:24px;padding:24px}.meal-plan-header{align-items:center;border-bottom:1px solid #348ca0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.section-title{color:#f1f1f1;font-size:1.5rem;font-weight:700;margin:0}.refresh-btn{background-color:#348ca0;border:1px solid #fff;border-radius:8px;color:#f1f1f1;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 16px;transition:all .2s ease}.refresh-btn:hover:not(:disabled){background-color:#2a7a8a;transform:translateY(-1px)}.refresh-btn:disabled{cursor:not-allowed;opacity:.6}.progress-indicator{padding:20px 0;text-align:center}.progress-header{margin-bottom:24px}.progress-title{color:#f1f1f1;font-size:1.3rem;font-weight:600;margin-bottom:8px}.progress-subtitle{color:#e5e5e5;font-size:1rem;margin:0}.progress-bar-container{margin-bottom:24px}.progress-bar{background-color:#2a3a46;border-radius:6px;height:12px;margin-bottom:8px;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,#348ca0,#4a9bb0);border-radius:6px;height:100%;transition:width .8s ease}.progress-text{color:#f1f1f1;font-size:.9rem;font-weight:600}.progress-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-bottom:20px}.stat-item{align-items:center;background-color:#2a3a46;border:1px solid #348ca0;border-radius:8px;display:flex;flex-direction:column;padding:12px}.stat-icon{font-size:1.5rem;margin-bottom:4px}.stat-label{color:#e5e5e5;font-size:.8rem;margin-bottom:4px}.stat-value{color:#f1f1f1;font-size:1rem;font-weight:600}.encouragement-message{background-color:#2a3a46;border:1px solid #348ca0;border-radius:8px;margin-top:16px;padding:16px}.encouragement-message p{color:#f1f1f1;font-size:.9rem;margin:0}.error-state,.loading-state,.no-plan-state{padding:40px 20px;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #2a3a46;border-radius:50%;border-top-color:#348ca0;height:40px;margin:0 auto 16px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-state p,.loading-state p,.no-plan-state p{color:#e5e5e5;margin:0}.meal-plan-content{animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.progress-summary{background-color:#2a3a46;border-radius:8px;margin-bottom:24px;padding:16px}.summary-stats{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-around}.summary-item{color:#f1f1f1;font-size:.9rem;text-align:center}.summary-item strong{color:#348ca0}.meal-type-section{margin-bottom:24px}.meal-type-title{border-bottom:1px solid #348ca0;color:#f1f1f1;font-size:1.2rem;font-weight:600;margin-bottom:16px;padding-bottom:8px}.meal-cards-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.meal-card{background-color:#2a3a46;border:1px solid #348ca0;border-radius:12px;padding:16px;transition:all .2s ease}.meal-card:hover{box-shadow:0 4px 12px #348ca033;transform:translateY(-2px)}.meal-card-header{align-items:center;display:flex;margin-bottom:12px}.meal-icon{font-size:1.5rem;margin-right:8px}.meal-name{color:#f1f1f1;font-size:1rem;font-weight:600}.meal-card-details{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.meal-calories,.meal-satisfaction{color:#e5e5e5;font-size:.85rem}.meal-card-actions{display:flex;flex-wrap:wrap;gap:8px}.meal-action-btn{background-color:#348ca0;border:none;border-radius:6px;color:#f1f1f1;cursor:pointer;flex:1 1;font-size:.8rem;font-weight:500;min-width:100px;padding:6px 12px;transition:all .2s ease}.meal-action-btn:hover{background-color:#2a7a8a;transform:translateY(-1px)}.snack-card{border-color:#4a9bb0}.shake-card{border-color:#5aaac0}.meal-plan-footer{border-top:1px solid #348ca0;margin-top:24px;padding-top:16px;text-align:center}.footer-text{margin:0}@media (max-width:768px){.personalized-meal-plan-card{padding:16px}.meal-plan-header{align-items:flex-start;flex-direction:column;gap:12px}.progress-stats{gap:12px}.meal-cards-grid,.progress-stats{grid-template-columns:1fr}.summary-stats{gap:8px}.meal-card-actions,.summary-stats{flex-direction:column}.meal-action-btn{min-width:auto}}@media (max-width:480px){.section-title{font-size:1.3rem}.meal-type-title,.progress-title{font-size:1.1rem}}.default-recommendations{background:#1a2a36;border:2px solid #fff;border-radius:16px;font-family:Poppins,Nunito,Inter,sans-serif;margin:1rem 0;padding:2rem}.recommendations-header{margin-bottom:2rem;text-align:center}.recommendations-title{color:#f1f1f1;font-family:Poppins,Nunito,Inter,sans-serif;font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.recommendations-subtitle{color:#e5e5e5;font-family:Poppins,Nunito,Inter,sans-serif;font-size:1rem;font-weight:400}.recommendations-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:2rem}.recommendation-card{background:#0c1a24;border:2px solid #348ca0;border-radius:12px;cursor:pointer;font-family:Poppins,Nunito,Inter,sans-serif;padding:1.5rem;transition:all .3s ease}.recommendation-card:hover{border-color:#2a7a8a;box-shadow:0 8px 24px #348ca04d;transform:translateY(-4px)}.recommendation-header{align-items:flex-start;display:flex;gap:1rem;margin-bottom:1.5rem}.recommendation-emoji{flex-shrink:0;font-size:2rem}.recommendation-info{flex:1 1}.recommendation-name{color:#f1f1f1;font-family:Poppins,Nunito,Inter,sans-serif;font-size:1.2rem;font-weight:600;margin-bottom:.5rem}.recommendation-description{color:#e5e5e5;font-family:Poppins,Nunito,Inter,sans-serif;font-size:.9rem;line-height:1.4;margin-bottom:.75rem}.recommendation-calories{background:#348ca0;border-radius:20px;color:#f1f1f1;display:inline-block;font-family:Poppins,Nunito,Inter,sans-serif;font-size:.8rem;font-weight:600;padding:.25rem .75rem}.recommendation-links{display:flex;gap:.75rem;margin-bottom:1.5rem}.recipe-link,.restaurant-link{align-items:center;background:#0000;border:2px solid #e5e5e5;border-radius:8px;color:#e5e5e5;cursor:pointer;display:flex;flex:1 1;font-family:Poppins,Nunito,Inter,sans-serif;font-size:.85rem;font-weight:600;gap:.5rem;justify-content:center;padding:.5rem 1rem;transition:all .2s ease}.recipe-link:hover,.restaurant-link:hover{background:#e5e5e5;color:#0c1a24;transform:translateY(-1px)}.link-icon{font-size:1rem}.recommendation-actions{text-align:center}.log-this-meal-btn{background:#348ca0;border:2px solid #fff;border-radius:10px;color:#f1f1f1;cursor:pointer;font-family:Poppins,Nunito,Inter,sans-serif;font-size:.9rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease;width:100%}.log-this-meal-btn:hover{background:#2a7a8a;box-shadow:0 4px 8px #348ca04d;transform:translateY(-1px)}.recommendations-footer{border-top:1px solid #2a3a46;padding-top:1rem;text-align:center}.footer-text{font-size:.9rem;line-height:1.4}.footer-text,.no-recommendations{color:#e5e5e5;font-family:Poppins,Nunito,Inter,sans-serif}.no-recommendations{padding:2rem;text-align:center}.no-recommendations p{font-size:1rem;font-weight:500}@media (max-width:768px){.default-recommendations{padding:1.5rem}.recommendations-grid{gap:1rem;grid-template-columns:1fr}.recommendation-card{padding:1.25rem}.recommendation-links{flex-direction:column;gap:.5rem}.recipe-link,.restaurant-link{justify-content:center}.recommendations-title{font-size:1.3rem}.recommendation-name{font-size:1.1rem}}@media (max-width:480px){.default-recommendations,.recommendation-card{padding:1rem}.recommendation-header{align-items:center;flex-direction:column;gap:.75rem;text-align:center}.recommendation-emoji{font-size:1.5rem}}.grocery-recommendations{background:#0a1a2f;border:2px solid #348ca0;border-radius:16px;color:#f1f1f1;font-family:Poppins,Nunito,Inter,sans-serif;margin:1rem 0;max-width:36rem;padding:2rem;transition:all .3s ease;width:100%}.grocery-recommendations:hover{box-shadow:0 8px 24px #348ca033;transform:translateY(-2px)}.grocery-header{margin-bottom:1.5rem;text-align:center}.grocery-title{color:#f1f1f1;font-size:1.5rem;font-weight:700;margin-bottom:.75rem}.grocery-subtitle,.grocery-title{font-family:Poppins,Nunito,Inter,sans-serif}.grocery-subtitle{color:#e5e5e5;font-size:1rem;line-height:1.5;margin-bottom:1.5rem}.expand-toggle-btn{background:#348ca0;border:2px solid #fff;border-radius:10px;color:#f1f1f1;cursor:pointer;font-family:Poppins,Nunito,Inter,sans-serif;font-size:.9rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.expand-toggle-btn:hover{background:#2a7a8a;box-shadow:0 4px 8px #348ca04d;transform:translateY(-1px)}.grocery-content{overflow:hidden}.grocery-categories{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}@media (min-width:768px){.grocery-categories{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}}.grocery-category{background:#1a2a36;border:1px solid #2a3a46;border-radius:12px;overflow:hidden;transition:all .2s ease}.grocery-category:hover{border-color:#348ca0;box-shadow:0 4px 12px #0003;transform:translateY(-1px)}.category-header{align-items:center;background:#243442;cursor:pointer;display:flex;justify-content:space-between;padding:1rem 1.5rem;transition:all .2s ease}.category-header:hover{background:#2a3a46}.category-title{color:#f1f1f1;font-family:Poppins,Nunito,Inter,sans-serif;font-size:1.1rem;font-weight:600;margin:0}.category-toggle{color:#348ca0;font-size:1rem;font-weight:600;transition:all .2s ease}.category-content{background:#1a2a36;border-top:1px solid #2a3a46;padding:1rem 1.5rem}.grocery-items{list-style:none;margin:0 0 1rem;padding:0}.grocery-item{color:#e5e5e5;font-family:Poppins,Nunito,Inter,sans-serif;font-size:.95rem;line-height:1.4;padding:.5rem 0 .5rem 1.5rem;position:relative}.grocery-item:before{color:#348ca0;content:"•";font-weight:700;left:0;position:absolute;top:.5rem}.category-description{align-items:flex-start;background:#0c1a24;border-left:3px solid #348ca0;border-radius:8px;display:flex;gap:.75rem;padding:1rem}.description-icon{flex-shrink:0;font-size:1rem;margin-top:.1rem}.description-text{color:#e5e5e5;font-family:Poppins,Nunito,Inter,sans-serif;font-size:.85rem;font-style:italic;line-height:1.4}.grocery-footer{border-top:1px solid #2a3a46;padding-top:1.5rem;text-align:center}.footer-note{color:#e5e5e5;font-family:Poppins,Nunito,Inter,sans-serif;font-size:.9rem;line-height:1.4;margin:0}@media (max-width:768px){.grocery-recommendations{margin:.5rem 0;padding:1.5rem}.grocery-title{font-size:1.3rem}.grocery-subtitle{font-size:.9rem}.category-header{padding:.75rem 1rem}.category-title{font-size:1rem}.category-content{padding:.75rem 1rem}.grocery-item{font-size:.9rem;padding-left:1.25rem}.description-text{font-size:.8rem}.expand-toggle-btn{font-size:.85rem;padding:.6rem 1.2rem}}@media (max-width:480px){.grocery-recommendations{padding:1rem}.grocery-title{font-size:1.2rem}.grocery-subtitle{font-size:.85rem}.category-content,.category-header{padding:.6rem .8rem}.grocery-item{font-size:.85rem;padding-left:1rem}.category-description{flex-direction:column;gap:.5rem;padding:.75rem}.description-text{font-size:.75rem}.expand-toggle-btn{font-size:.8rem;padding:.5rem 1rem}}
/*# sourceMappingURL=main.e628b2cf.css.map*/