*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);color:#333;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}#root,body{min-height:100vh}*{transition:all .3s ease}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#ffffff1a;border-radius:4px}::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff80}::selection{background:#667eea4d;color:#333}::-moz-selection{background:#667eea4d;color:#333}button:focus-visible,input:focus-visible{outline:2px solid #667eea;outline-offset:2px}.page-transition-enter{opacity:0;transform:translateY(20px)}.page-transition-enter-active{transition:opacity .3s,transform .3s}.page-transition-enter-active,.page-transition-exit{opacity:1;transform:translateY(0)}.page-transition-exit-active{opacity:0;transform:translateY(-20px);transition:opacity .3s,transform .3s}.App,.app-loading{display:flex;flex-direction:column;min-height:100vh}.app-loading{align-items:center;color:#fff;justify-content:center;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:40px;margin-bottom:20px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.app-loading p{font-size:18px;font-weight:300;opacity:.9}@media (max-width:768px){.App{padding:0}}.fade-in{animation:fadeIn .6s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.onboarding-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.onboarding-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #fff3;border-radius:24px;box-shadow:0 20px 40px #0000001a;max-width:600px;padding:40px;width:100%}.progress-bar{background:#667eea33;border-radius:2px;height:4px;margin-bottom:40px;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:2px;height:100%;transition:width .5s ease}.onboarding-step{text-align:center}.step-header{margin-bottom:40px}.step-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#333;font-size:32px;font-weight:700;margin-bottom:12px}.step-header h2{color:#333;font-size:28px;font-weight:600;margin-bottom:12px}.step-header p{color:#666;font-size:16px;font-weight:400}.input-group{margin-bottom:40px}.input-group label{color:#333;display:block;font-size:16px;font-weight:500;margin-bottom:12px;text-align:left}.name-input{background:#fff;border:2px solid #667eea33;border-radius:12px;font-size:16px;outline:none;padding:16px 20px;transition:all .3s ease;width:100%}.name-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.options-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:40px}.age-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.option-card{align-items:center;background:#fff;border:2px solid #667eea33;border-radius:16px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:140px;padding:24px 16px;text-align:center;transition:all .3s ease}.option-card:hover{box-shadow:0 8px 25px #667eea26}.option-card.selected,.option-card:hover{border-color:#667eea;transform:translateY(-2px)}.option-card.selected{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 8px 25px #667eea4d;color:#fff}.option-icon{display:block;font-size:32px;margin-bottom:12px}.option-card h3{font-size:18px;font-weight:600;margin-bottom:8px}.option-card p{font-size:14px;line-height:1.4;opacity:.8}.option-card.selected p{opacity:.9}.concerns-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px}.concern-card{align-items:center;background:#fff;border:2px solid #667eea33;border-radius:16px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:160px;padding:20px 16px;position:relative;text-align:center;transition:all .3s ease}.concern-card:hover:not(.disabled){border-color:#667eea;box-shadow:0 8px 25px #667eea26;transform:translateY(-2px)}.concern-card.selected{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;box-shadow:0 8px 25px #667eea4d;color:#fff;transform:translateY(-2px)}.concern-card.disabled{cursor:not-allowed;opacity:.5}.concern-icon{display:block;font-size:28px;margin-bottom:12px}.concern-card h3{font-size:16px;font-weight:600;margin-bottom:8px}.concern-card p{font-size:13px;line-height:1.4;margin-bottom:12px;opacity:.8}.concern-card.selected p{opacity:.9}.priority-badge{background:#fff3;border:1px solid #ffffff4d;border-radius:12px;padding:4px 8px;position:absolute;right:12px;top:12px}.selection-info{margin-top:16px;text-align:center}.selection-info p{color:#666;font-size:14px;font-weight:500}.products-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:24px}.product-card{align-items:center;background:#fff;border:2px solid #667eea33;border-radius:16px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:120px;padding:16px 12px;position:relative;text-align:center;transition:all .3s ease}.product-card:hover{box-shadow:0 8px 25px #667eea26}.product-card.selected,.product-card:hover{border-color:#667eea;transform:translateY(-2px)}.product-card.selected{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 8px 25px #667eea4d;color:#fff}.product-icon{display:block;font-size:24px;margin-bottom:8px}.product-card h3{font-size:14px;font-weight:600;line-height:1.2;margin-bottom:6px}.product-card p{font-size:11px;line-height:1.3;margin-bottom:8px;opacity:.8}.product-card.selected p{opacity:.9}.selected-badge{align-items:center;background:#fff3;border:1px solid #ffffff4d;border-radius:50%;display:flex;font-size:12px;font-weight:700;height:20px;justify-content:center;position:absolute;right:8px;top:8px;width:20px}.products-info{margin-top:16px;text-align:center}.products-info p{color:#666;font-size:14px;font-weight:500;margin-bottom:8px}.products-note{color:#888!important;font-size:12px!important;font-style:italic}.onboarding-actions{display:flex;gap:16px;justify-content:center;margin-top:40px}.btn-primary,.btn-secondary{border:none;border-radius:12px;cursor:pointer;font-size:16px;font-weight:600;min-width:120px;padding:16px 32px;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 15px #667eea4d;color:#fff}.btn-primary:hover:not(:disabled){box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.btn-primary:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.btn-secondary{background:#fff;border:2px solid #667eea;color:#667eea}.btn-secondary:hover{background:#667eea;color:#fff;transform:translateY(-2px)}@media (max-width:768px){.onboarding-card{margin:10px;padding:30px 20px}.step-header h1{font-size:28px}.step-header h2{font-size:24px}.options-grid{gap:12px;grid-template-columns:1fr}.age-grid{grid-template-columns:repeat(2,1fr)}.concerns-grid{gap:12px;grid-template-columns:1fr}.concern-card{min-height:140px;padding:16px 12px}.concern-icon{font-size:24px}.concern-card h3{font-size:15px}.concern-card p{font-size:12px}.products-grid{gap:12px;grid-template-columns:repeat(2,1fr)}.product-card{min-height:100px;padding:12px 8px}.product-icon{font-size:20px}.product-card h3{font-size:13px}.product-card p{font-size:10px}.option-card{min-height:120px;padding:20px 16px}.onboarding-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}.products-grid{gap:10px;grid-template-columns:1fr}.product-card{min-height:90px;padding:10px 6px}.product-icon{font-size:18px}.product-card h3{font-size:12px}.product-card p{font-size:9px}.selected-badge{font-size:10px;height:16px;width:16px}}.habit-tracker{background:linear-gradient(135deg,#667eea,#764ba2)}.habit-tracker,.habit-tracker-loading{display:flex;flex-direction:column;min-height:100vh}.habit-tracker-loading{align-items:center;color:#fff;justify-content:center;text-align:center}.habit-tracker-loading .loading-spinner{animation:spin 1s linear infinite;border:3px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:40px;margin-bottom:20px;width:40px}.habit-tracker-loading p{font-size:18px;font-weight:300;opacity:.9}.habit-tracker-content{flex:1 1;margin:0 auto;max-width:800px;padding:20px;width:100%}@media (max-width:768px){.habit-tracker-content{padding:15px}}@media (max-width:480px){.habit-tracker-content{padding:10px}}.schedule-preview-container{margin:16px 0}.schedule-toggle{display:flex;justify-content:center;margin-bottom:16px}.schedule-toggle-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .3s ease}.schedule-toggle-btn:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.schedule-toggle-btn:active{transform:translateY(0)}.date-navigation{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #fff3;border-radius:20px;box-shadow:0 8px 32px #0000001a;justify-content:space-between;margin-bottom:20px;padding:20px}.date-navigation,.nav-button{align-items:center;display:flex}.nav-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:20px;font-weight:600;height:48px;justify-content:center;transition:all .3s ease;width:48px}.nav-button:hover:not(:disabled){box-shadow:0 4px 15px #667eea66;transform:scale(1.1)}.nav-button:disabled{box-shadow:none;cursor:not-allowed;opacity:.3;transform:none}.date-display{flex:1 1;margin:0 20px;text-align:center}.date-label{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#333;font-size:24px;font-weight:700;margin:0 0 8px}.date-full{color:#666;font-size:16px;font-weight:400;margin:0 0 12px}.today-button{background:#667eea1a;border:1px solid #667eea4d;border-radius:20px;color:#667eea;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .3s ease}.today-button:hover{background:#667eea33;border-color:#667eea;transform:translateY(-1px)}@media (max-width:768px){.date-navigation{margin-bottom:15px;padding:15px}.nav-button{font-size:18px;height:44px;width:44px}.date-display{margin:0 15px}.date-label{font-size:20px}.date-full{font-size:14px}}@media (max-width:480px){.date-navigation{margin-bottom:12px;padding:12px}.nav-button{font-size:16px;height:40px;width:40px}.date-display{margin:0 10px}.date-label{font-size:18px}.date-full,.today-button{font-size:13px}.today-button{padding:6px 12px}}.habit-list{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #fff3;border-radius:20px;box-shadow:0 8px 32px #0000001a;padding:24px}.habit-list-header{align-items:center;border-bottom:1px solid #e2e8f080;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.habit-list-header h3{color:#333;font-size:20px;font-weight:600;margin:0}.completion-summary{align-items:center;display:flex;gap:8px}.completion-count{color:#666;font-size:14px;font-weight:500}.completion-celebration{animation:bounce .6s ease-in-out;font-size:18px}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.habit-groups{gap:24px}.habit-group,.habit-groups{display:flex;flex-direction:column}.habit-group{gap:12px}.group-title{align-items:center;color:#333;display:flex;font-size:16px;font-weight:600;gap:8px;margin:0;padding:8px 0}.habit-items{display:flex;flex-direction:column;gap:12px}.habit-list-empty{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #fff3;border-radius:20px;box-shadow:0 8px 32px #0000001a;padding:40px;text-align:center}.empty-state{align-items:center;display:flex;flex-direction:column;gap:16px}.empty-icon{font-size:48px;opacity:.7}.empty-state h3{color:#333;font-size:20px;font-weight:600;margin:0}.empty-state p{color:#666;font-size:16px;line-height:1.5;margin:0}.daily-completion-message{border-top:1px solid #e2e8f080;margin-top:24px;padding-top:24px}.completion-celebration-card{animation:fadeInUp .6s ease-out;background:linear-gradient(135deg,#10b9811a,#0596691a);border:1px solid #10b98133;border-radius:16px;padding:20px;text-align:center}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.celebration-emoji{animation:pulse 2s infinite;display:block;font-size:32px;margin-bottom:12px}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.completion-celebration-card h4{color:#059669;font-size:18px;font-weight:600;margin:0 0 8px}.completion-celebration-card p{color:#047857;font-size:14px;line-height:1.5;margin:0}@media (max-width:768px){.habit-list{padding:20px}.habit-list-header{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:20px}.habit-list-header h3{font-size:18px}.habit-groups{gap:20px}.group-title{font-size:15px}.habit-items{gap:10px}.habit-list-empty{padding:30px 20px}.empty-icon{font-size:40px}.empty-state h3{font-size:18px}.empty-state p{font-size:14px}}@media (max-width:480px){.habit-list{padding:16px}.habit-list-header{margin-bottom:16px}.habit-list-header h3{font-size:16px}.completion-count{font-size:13px}.habit-groups{gap:16px}.group-title{font-size:14px}.habit-items{gap:8px}.habit-list-empty{padding:24px 16px}.completion-celebration-card{padding:16px}.celebration-emoji{font-size:28px}.completion-celebration-card h4{font-size:16px}.completion-celebration-card p{font-size:13px}}.habit-item{background:#fff;border:2px solid #e2e8f080;border-radius:16px;overflow:hidden;padding:16px;position:relative;transition:all .3s ease}.habit-item:hover{border-color:#667eea4d;box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}.habit-item.completed{background:linear-gradient(135deg,#10b9810d,#0596690d);border-color:#10b9814d}.habit-item.special-treatment{background:linear-gradient(135deg,#f59e0b0d,#d977060d);border-color:#f59e0b4d}.habit-item.priority{background:linear-gradient(135deg,#ef44440d,#dc26260d);border-color:#ef444466}.habit-item.animating{animation:completeAnimation .6s ease-out}@keyframes completeAnimation{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.habit-content{align-items:flex-start;display:flex;gap:16px}.habit-checkbox{align-items:center;background:#fff;border:2px solid #d1d5db;border-radius:50%;cursor:pointer;display:flex;flex-shrink:0;height:24px;justify-content:center;margin-top:2px;transition:all .3s ease;width:24px}.habit-checkbox:hover:not(:disabled){border-color:#667eea;transform:scale(1.1)}.habit-checkbox:disabled{cursor:not-allowed}.habit-item.completed .habit-checkbox{background:linear-gradient(135deg,#10b981,#059669);border-color:#10b981}.checkbox-inner{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;width:100%}.checkmark{animation:checkmarkAppear .3s ease-out;color:#fff;font-size:14px;font-weight:700}@keyframes checkmarkAppear{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.habit-info{flex:1 1;min-width:0}.habit-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.habit-icon{flex-shrink:0;font-size:20px}.habit-name{flex:1 1;font-size:16px;font-weight:600;margin:0;min-width:0}.habit-item.completed .habit-name{color:#059669}.priority-badge{background:linear-gradient(135deg,#ef4444,#dc2626);border-radius:8px;color:#fff;font-size:10px;font-weight:600;letter-spacing:.5px;padding:2px 6px;text-transform:uppercase}.habit-description{color:#666;font-size:14px;line-height:1.4;margin:0 0 12px}.habit-item.completed .habit-description{color:#047857}.habit-meta{display:flex;flex-wrap:wrap;gap:12px}.habit-category,.habit-frequency{color:#9ca3af;font-size:12px;font-weight:500;text-transform:capitalize}.habit-frequency{color:#667eea}.concern-badge{background:#f59e0b1a;border:1px solid #f59e0b33;border-radius:8px;color:#d97706;font-size:11px;font-weight:600;padding:2px 6px;text-transform:capitalize}.ingredient-info-button{background:none;border:1px solid #667eea4d;border-radius:12px;color:#667eea;cursor:pointer;font-size:11px;font-weight:500;margin-top:8px;padding:4px 8px;transition:all .3s ease}.ingredient-info-button:hover{background:#667eea1a;border-color:#667eea;transform:translateY(-1px)}.special-treatment-indicator{align-items:center;background:#f59e0b1a;border:1px solid #f59e0b4d;border-radius:12px;display:flex;gap:4px;padding:4px 8px;position:absolute;right:12px;top:12px}.special-icon{font-size:12px}.special-text{color:#d97706;font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.completion-feedback{animation:sparkle .6s ease-out;position:absolute;right:12px;top:12px}@keyframes sparkle{0%{opacity:0;transform:scale(0) rotate(0deg)}50%{opacity:1;transform:scale(1.2) rotate(180deg)}to{opacity:1;transform:scale(1) rotate(1turn)}}.completion-icon{color:#10b981;font-size:16px}@media (max-width:768px){.habit-item{padding:14px}.habit-content{gap:12px}.habit-checkbox{height:22px;width:22px}.habit-icon{font-size:18px}.habit-name{font-size:15px}.habit-description{font-size:13px}.special-treatment-indicator{padding:3px 6px;right:10px;top:10px}.special-text{font-size:9px}.completion-feedback{right:10px;top:10px}}@media (max-width:480px){.habit-item{padding:12px}.habit-content{gap:10px}.habit-checkbox{height:20px;width:20px}.checkmark{font-size:12px}.habit-icon{font-size:16px}.habit-name{font-size:14px}.habit-description{font-size:12px;margin-bottom:8px}.habit-meta{gap:8px}.habit-category,.habit-frequency{font-size:11px}.priority-badge{font-size:9px;padding:1px 4px}.concern-badge{font-size:10px;padding:1px 4px}.ingredient-info-button{font-size:10px;margin-top:6px;padding:3px 6px}}.ingredient-education-overlay{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:9999}.ingredient-education-modal{animation:slideIn .3s ease-out;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #ffffff4d;border-radius:20px;box-shadow:0 20px 40px #0003;max-height:80vh;max-width:600px;overflow:hidden;width:100%}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px;padding:24px 24px 0}.ingredient-title{align-items:center;display:flex;gap:12px}.ingredient-title h2{color:#333;font-size:24px;font-weight:700;margin:0}.ingredient-type{border-radius:12px;color:#fff;font-size:12px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.modal-tabs{border-bottom:1px solid #e2e8f080;display:flex;margin:0 24px}.tab{background:none;border:none;border-bottom:2px solid #0000;color:#666;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:12px 16px;transition:all .3s ease}.tab.active,.tab:hover{color:#667eea}.tab.active{border-bottom-color:#667eea}.modal-content{max-height:60vh;overflow-y:auto;padding:24px}.personality-section{margin-bottom:24px}.personality-section h3{color:#333;font-size:18px;font-weight:600;margin-bottom:12px}.personality-text{background:linear-gradient(135deg,#667eea1a,#764ba21a);border-left:4px solid #667eea;border-radius:12px;color:#555;font-size:16px;font-style:italic;line-height:1.6;padding:16px}.benefits-section,.suitable-section,.timing-section,.tips-section{margin-bottom:24px}.benefits-section h3,.suitable-section h3,.timing-section h3,.tips-section h3{color:#333;font-size:16px;font-weight:600;margin-bottom:12px}.benefits-list,.tips-list{list-style:none;padding:0}.benefits-list li,.tips-list li{color:#555;line-height:1.5;padding:8px 0 8px 20px;position:relative}.benefits-list li:before{content:"✨";left:0;position:absolute;top:8px}.tips-list li:before{content:"💡";left:0;position:absolute;top:8px}.ingredient-tags,.suitable-tags{display:flex;flex-wrap:wrap;gap:8px}.ingredient-tag,.suitable-tag{border-radius:20px;font-size:12px;font-weight:500;padding:6px 12px;text-transform:capitalize}.suitable-tag{background:#667eea1a;border:1px solid #667eea33;color:#667eea}.ingredient-tag.synergy{background:#10b9811a;border:1px solid #10b98133;color:#059669}.ingredient-tag.compatible{background:#3b82f61a;border:1px solid #3b82f633;color:#2563eb}.ingredient-tag.conflict{background:#ef44441a;border:1px solid #ef444433;color:#dc2626}.compatibility-section{display:flex;flex-direction:column;gap:20px}.compatibility-group h4{color:#333;font-size:14px;font-weight:600;margin-bottom:8px}.compatibility-intro{color:#666;font-size:14px;line-height:1.5;margin-bottom:20px}.conflict-note{color:#dc2626;font-size:12px;font-style:italic;margin-top:8px}.timing-info{display:flex;flex-direction:column;gap:8px}.timing-item{align-items:center;color:#555;display:flex;font-size:14px;gap:8px}.timing-icon{font-size:16px}@media (max-width:768px){.ingredient-education-overlay{padding:10px}.ingredient-education-modal{max-height:90vh}.modal-header{padding:20px 20px 0}.ingredient-title h2{font-size:20px}.modal-content{padding:20px}.modal-tabs{margin:0 20px}.tab{font-size:13px;padding:10px 12px}}@media (max-width:480px){.ingredient-education-overlay{padding:5px}.modal-header{padding:16px 16px 0}.ingredient-title{align-items:flex-start;flex-direction:column;gap:8px}.ingredient-title h2{font-size:18px}.modal-content{padding:16px}.modal-tabs{margin:0 16px}}.progress-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #fff3;border-radius:20px;box-shadow:0 8px 32px #0000001a;margin-bottom:20px;padding:24px}.progress-section{align-items:center;display:flex;gap:24px;margin-bottom:20px}.progress-circle-container{align-items:center;display:flex;height:100px;justify-content:center;position:relative;width:100px}.progress-circle{filter:drop-shadow(0 4px 8px rgba(0,0,0,.1))}.progress-circle-fill{transition:stroke-dashoffset .8s ease-in-out}.progress-text{align-items:center;display:flex;flex-direction:column;height:70px;justify-content:center;left:50%;pointer-events:none;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);width:70px}.progress-percentage{font-size:18px;font-weight:700;line-height:1;margin-bottom:2px}.progress-label{color:#666;font-size:9px;font-weight:500;letter-spacing:.2px;line-height:1;text-transform:uppercase;white-space:nowrap}.progress-stats{flex:1 1}.stat-item{align-items:flex-start;display:flex;flex-direction:column}.stat-value{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:32px}.stat-label{font-size:14px}.motivation-section{background:linear-gradient(135deg,#667eea1a,#764ba21a);border:1px solid #667eea33;border-radius:16px;margin-bottom:20px;padding:20px}.motivation-message{align-items:center;display:flex;gap:12px;text-align:left}.motivation-emoji{flex-shrink:0;font-size:24px}.motivation-message p{color:#333;font-size:16px;font-weight:500;line-height:1.4;margin:0}.tips-section{background:#f8fafccc;border:1px solid #e2e8f080;border-radius:16px;padding:20px}.tips-section h4{color:#333;font-size:16px;font-weight:600;margin:0 0 12px}.tips-section p{color:#555;font-size:14px;line-height:1.5;margin:0 0 16px}.key-ingredients{color:#666;font-size:13px;line-height:1.4}.ingredient-tag{color:#667eea;font-weight:500}@media (max-width:768px){.progress-card{margin-bottom:15px;padding:20px}.progress-section{flex-direction:column;gap:20px;text-align:center}.stat-item{align-items:center}.motivation-section{margin-bottom:16px;padding:16px}.motivation-message{flex-direction:column;gap:8px;text-align:center}.tips-section{padding:16px}}@media (max-width:480px){.progress-card{margin-bottom:12px;padding:16px}.progress-circle,.progress-circle-container{height:80px;width:80px}.progress-text{height:60px;width:60px}.progress-percentage{font-size:14px}.progress-label{font-size:8px}.stat-value{font-size:28px}.motivation-section{margin-bottom:12px;padding:12px}.motivation-message p{font-size:14px}.tips-section{padding:12px}}.app-header{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff1a;border-bottom:1px solid #fff3;color:#fff;padding:20px}.header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:800px}.header-left{display:flex;flex-direction:column}.app-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff,#f8fafc);-webkit-background-clip:text;background-clip:text;font-size:28px;font-weight:700;margin:0}.app-subtitle{font-size:14px;font-weight:300;margin-top:4px;opacity:.8}.header-right{position:relative}.profile-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:2px solid #ffffff4d;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:18px;font-weight:600;height:48px;justify-content:center;transition:all .3s ease;width:48px}.profile-button:hover{border-color:#ffffff80;transform:scale(1.05)}.profile-initial{font-size:20px;font-weight:700}.profile-menu{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #ffffff4d;border-radius:12px;box-shadow:0 10px 30px #0003;min-width:200px;padding:20px;position:absolute;right:0;top:60px;z-index:1000}.profile-info{border-bottom:1px solid #667eea33;margin-bottom:16px;padding-bottom:16px}.profile-info h3{color:#333;font-size:18px;font-weight:600;margin:0 0 8px}.profile-info p{color:#666;font-size:14px;margin:0;text-transform:capitalize}.menu-item{background:none;border:none;border-radius:8px;color:#666;cursor:pointer;font-size:14px;padding:12px 16px;text-align:left;transition:all .2s ease;width:100%}.menu-item:hover{background:#667eea1a;color:#667eea}.welcome-banner{background:#ffffff1a;border:1px solid #fff3;border-radius:16px;margin:20px auto 0;max-width:800px;padding:20px;text-align:center}.welcome-banner h2{color:#fff;font-size:24px;font-weight:600;margin:0 0 12px}.welcome-banner p{font-size:16px;line-height:1.5;margin:8px 0;opacity:.9}.encouragement{font-style:italic;font-weight:500;opacity:1!important}@media (max-width:768px){.app-header{padding:15px}.app-title{font-size:24px}.profile-button{height:44px;width:44px}.profile-initial{font-size:18px}.welcome-banner{margin:15px auto 0;padding:15px}.welcome-banner h2{font-size:20px}.welcome-banner p{font-size:14px}}@media (max-width:480px){.header-content{flex-direction:column;gap:15px;text-align:center}.profile-menu{right:50%;transform:translateX(50%)}}.settings-overlay{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:9999}.settings-panel{animation:slideIn .3s ease-out;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #ffffff4d;border-radius:20px;box-shadow:0 20px 40px #0003;max-height:80vh;max-width:500px;overflow-y:auto;width:100%}@keyframes slideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.settings-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px;padding:24px 24px 0}.settings-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#333;font-size:24px;font-weight:700;margin:0}.close-button{align-items:center;background:#667eea1a;border:none;border-radius:50%;color:#667eea;cursor:pointer;display:flex;font-size:20px;font-weight:700;height:32px;justify-content:center;transition:all .3s ease;width:32px}.close-button:hover{background:#667eea33;transform:scale(1.1)}.settings-content{padding:0 24px 24px}.settings-section{margin-bottom:32px}.settings-section:last-child{margin-bottom:0}.settings-section h3{border-bottom:1px solid #e2e8f080;color:#333;font-size:18px;font-weight:600;margin:0 0 16px;padding-bottom:8px}.setting-item{margin-bottom:16px}.setting-item:last-child{margin-bottom:0}.setting-item label{color:#333;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.setting-item label input[type=checkbox]{margin-right:8px}.checkbox-label{display:inline;margin-left:8px}.setting-input,.setting-select{background:#fff;border:2px solid #e2e8f080;border-radius:12px;font-size:14px;outline:none;padding:12px 16px;transition:all .3s ease;width:100%}.setting-input:focus,.setting-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.setting-select{cursor:pointer}.danger-button{background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .3s ease}.danger-button:hover{box-shadow:0 4px 15px #ef44444d;transform:translateY(-2px)}input[type=checkbox]{appearance:none;background:#fff;border:2px solid #d1d5db;border-radius:4px;cursor:pointer;height:20px;position:relative;transition:all .3s ease;width:20px}input[type=checkbox]:checked{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea}input[type=checkbox]:checked:after{color:#fff;content:"✓";font-size:12px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}input[type=checkbox]:focus{outline:2px solid #667eea;outline-offset:2px}@media (max-width:768px){.settings-overlay{padding:10px}.settings-panel{max-height:90vh}.settings-header{margin-bottom:20px;padding:20px 20px 0}.settings-header h2{font-size:20px}.settings-content{padding:0 20px 20px}.settings-section{margin-bottom:24px}.settings-section h3{font-size:16px}}@media (max-width:480px){.settings-overlay{padding:5px}.settings-header{margin-bottom:16px;padding:16px 16px 0}.close-button,.settings-header h2{font-size:18px}.close-button{height:28px;width:28px}.settings-content{padding:0 16px 16px}.settings-section{margin-bottom:20px}.setting-input,.setting-select{font-size:13px;padding:10px 14px}}.notification-toast{align-items:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #ffffff4d;border-radius:12px;box-shadow:0 8px 32px #0003;display:flex;gap:12px;opacity:1;padding:16px 20px;position:fixed;right:20px;top:20px;transform:translateX(0);transition:all .3s ease;z-index:10000}.notification-toast.hidden{opacity:0;transform:translateX(100%)}.notification-toast.success{border-left:4px solid #10b981}.notification-toast.celebration{background:linear-gradient(135deg,#f59e0b1a,#d977061a);border-left:4px solid #f59e0b}.notification-toast.streak{background:linear-gradient(135deg,#ef44441a,#dc26261a);border-left:4px solid #ef4444}.toast-icon{flex-shrink:0;font-size:20px}.toast-message{color:#333;font-size:14px;font-weight:500;line-height:1.4}@media (max-width:768px){.notification-toast{left:10px;padding:12px 16px;right:10px;top:10px}.toast-icon{font-size:18px}.toast-message{font-size:13px}}.weekly-overview{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #fff3;border-radius:20px;box-shadow:0 8px 32px #0000001a;margin-bottom:20px;padding:24px}.weekly-header{align-items:center;border-bottom:1px solid #e2e8f080;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.weekly-header h3{color:#333;font-size:18px;font-weight:600;margin:0}.weekly-average{align-items:flex-end;display:flex;flex-direction:column}.average-label{color:#666;font-size:12px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.average-value{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#333;font-size:20px;font-weight:700}.week-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(7,1fr)}.day-cell{align-items:center;background:#f8fafc80;border:1px solid #e2e8f04d;border-radius:12px;display:flex;flex-direction:column;padding:12px 8px;transition:all .3s ease}.day-cell.today{background:linear-gradient(135deg,#667eea1a,#764ba21a);border-color:#667eea4d;transform:scale(1.05)}.day-cell.past{opacity:.8}.day-cell.future{opacity:.6}.day-header{align-items:center;display:flex;flex-direction:column;margin-bottom:8px}.day-name{color:#666;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.day-number{color:#333;font-size:14px;font-weight:700;margin-top:2px}.day-cell.today .day-number{color:#667eea}.day-progress{margin-bottom:8px;position:relative}.progress-ring{align-items:center;display:flex;justify-content:center;position:relative}.progress-circle{transform:rotate(-90deg);transition:stroke-dashoffset .5s ease}.progress-percentage{color:#333;font-size:10px;font-weight:600;position:absolute}.day-habits{text-align:center}.habit-count{color:#666;font-size:11px;font-weight:500}@media (max-width:768px){.weekly-overview{margin-bottom:15px;padding:20px}.weekly-header{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:16px}.weekly-header h3{font-size:16px}.average-value{font-size:18px}.week-grid{gap:8px}.day-cell{padding:10px 6px}.day-name{font-size:10px}.day-number{font-size:13px}.progress-ring svg{height:35px;width:35px}.progress-percentage{font-size:9px}.habit-count{font-size:10px}}@media (max-width:480px){.weekly-overview{margin-bottom:12px;padding:16px}.week-grid{gap:6px}.day-cell{padding:8px 4px}.day-name{font-size:9px}.day-number{font-size:12px}.progress-ring svg{height:30px;width:30px}.progress-percentage{font-size:8px}}.habit-insights{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #fff3;border-radius:20px;box-shadow:0 8px 32px #0000001a;margin-bottom:20px;padding:24px}.insights-header{align-items:center;border-bottom:1px solid #e2e8f080;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.insights-header h3{color:#333;font-size:18px;font-weight:600;margin:0}.completion-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;font-size:12px;font-weight:600;padding:6px 12px}.recommendations-section,.tips-section{margin-bottom:24px}.recommendations-section h4,.tips-section h4{color:#333;font-size:16px;font-weight:600;margin:0 0 16px}.recommendations-list,.tips-list{display:flex;flex-direction:column;gap:12px}.recommendation-card,.tip-card{align-items:flex-start;background:#f8fafc80;border:1px solid #e2e8f080;border-radius:12px;display:flex;gap:12px;padding:16px;transition:all .3s ease}.recommendation-card:hover,.tip-card:hover{box-shadow:0 4px 15px #0000001a;transform:translateY(-2px)}.recommendation-card.improvement{background:linear-gradient(135deg,#3b82f60d,#2563eb0d);border-color:#3b82f633}.recommendation-card.new-habit{background:linear-gradient(135deg,#10b9810d,#0596690d);border-color:#10b98133}.recommendation-card.celebration{background:linear-gradient(135deg,#f59e0b0d,#d977060d);border-color:#f59e0b33}.rec-icon,.tip-icon{flex-shrink:0;font-size:20px;margin-top:2px}.rec-content,.tip-content{flex:1 1}.rec-content h5,.tip-content h5{color:#333;font-size:14px;font-weight:600;margin:0 0 8px}.rec-content p,.tip-content p{color:#666;font-size:13px;line-height:1.4;margin:0}.quick-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.stat-card{align-items:center;background:linear-gradient(135deg,#667eea0d,#764ba20d);border:1px solid #667eea33;border-radius:12px;display:flex;gap:12px;padding:16px;transition:all .3s ease}.stat-card:hover{box-shadow:0 4px 15px #667eea26;transform:translateY(-2px)}.stat-icon{flex-shrink:0;font-size:24px}.stat-info{display:flex;flex-direction:column}.stat-value{color:#333;font-size:20px;font-weight:700;line-height:1}.stat-label{color:#666;font-size:12px;font-weight:500;margin-top:4px}@media (max-width:768px){.habit-insights{margin-bottom:15px;padding:20px}.insights-header{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:20px}.insights-header h3{font-size:16px}.recommendations-section h4,.tips-section h4{font-size:15px;margin-bottom:12px}.recommendation-card,.tip-card{gap:10px;padding:14px}.rec-icon,.tip-icon{font-size:18px}.quick-stats{gap:12px;grid-template-columns:1fr}.stat-card{padding:14px}.stat-icon{font-size:20px}.stat-value{font-size:18px}}@media (max-width:480px){.habit-insights{margin-bottom:12px;padding:16px}.recommendations-section,.tips-section{margin-bottom:20px}.recommendation-card,.tip-card{gap:8px;padding:12px}.rec-content h5,.tip-content h5{font-size:13px}.rec-content p,.tip-content p{font-size:12px}.stat-card{padding:12px}.stat-value{font-size:16px}.stat-label{font-size:11px}}.habit-schedule-preview{background:#fff;border:1px solid #667eea1a;border-radius:16px;box-shadow:0 4px 20px #00000014;margin:16px 0;padding:24px}.schedule-header{margin-bottom:24px;text-align:center}.schedule-header h3{color:#333;font-size:20px;font-weight:700;margin-bottom:8px}.schedule-header p{color:#666;font-size:14px;margin:0}.schedule-summary{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.daily-summary,.monthly-summary,.weekly-summary{align-items:flex-start;background:#667eea0d;border-left:4px solid #667eea;border-radius:12px;display:flex;gap:12px;padding:16px}.summary-icon{flex-shrink:0;font-size:24px}.summary-content{flex:1 1}.summary-content h4{color:#333;font-size:16px;font-weight:600;margin:0 0 8px}.summary-content p{color:#666;font-size:14px;margin:0}.monthly-list,.weekly-list{display:flex;flex-direction:column;gap:6px}.monthly-item,.weekly-item{align-items:center;display:flex;font-size:13px;justify-content:space-between}.habit-name{color:#333;font-weight:500}.habit-day,.habit-timing{color:#667eea;font-size:12px;font-weight:600}.upcoming-preview{margin-bottom:20px}.upcoming-preview h4{color:#333;font-size:16px;font-weight:600;margin-bottom:12px}.upcoming-list{display:flex;flex-direction:column;gap:12px}.upcoming-day{align-items:center;background:#667eea08;border:1px solid #667eea1a;border-radius:8px;display:flex;gap:16px;padding:12px}.upcoming-date{background:#667eea1a;border-radius:6px;color:#667eea;font-size:12px;font-weight:600;min-width:80px;padding:4px 8px;text-align:center}.upcoming-habits{display:flex;flex:1 1;flex-wrap:wrap;gap:8px}.upcoming-habit{background:#fff;border:1px solid #667eea33;border-radius:6px;color:#333;font-size:12px;padding:4px 8px;white-space:nowrap}.schedule-note{background:linear-gradient(135deg,#667eea1a,#764ba21a);border:1px solid #667eea33;border-radius:12px;padding:16px}.schedule-note p{color:#555;font-size:13px;line-height:1.5;margin:0}.schedule-note strong{color:#667eea}@media (max-width:768px){.habit-schedule-preview{margin:12px 0;padding:16px}.schedule-header h3{font-size:18px}.daily-summary,.monthly-summary,.weekly-summary{padding:12px}.summary-icon{font-size:20px}.summary-content h4{font-size:14px}.upcoming-day{align-items:flex-start;flex-direction:column;gap:8px}.upcoming-date{align-self:flex-start}}@media (max-width:480px){.habit-schedule-preview{padding:12px}.monthly-item,.weekly-item{align-items:flex-start;flex-direction:column;gap:2px}.upcoming-habits{flex-direction:column;gap:4px}.upcoming-habit{align-self:flex-start}}
/*# sourceMappingURL=main.a48fec71.css.map*/