@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap);body{-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;overflow-x:hidden}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}@keyframes shimmer{0%{left:-100%}to{left:200%}}@keyframes barGrow{0%{width:0}to{width:var(--w)}}@keyframes glow{0%,to{box-shadow:0 0 0 0 #5b4fd400}50%{box-shadow:0 0 16px 2px #5b4fd426}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.85)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes orb{0%,to{transform:translate(0)}25%{transform:translate(12px,-10px)}50%{transform:translate(-10px,8px)}75%{transform:translate(8px,12px)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes ringDraw{0%{stroke-dashoffset:302}to{stroke-dashoffset:88}}@keyframes countUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}*{box-sizing:border-box;margin:0;padding:0}#root,body,html{height:100%;overflow-x:hidden;width:100%}body{-webkit-font-smoothing:antialiased;background:#f0f0f5;color:#0a0a14;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.auth-page{align-items:center;background:#f5f5f8;display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:20px;position:relative}.auth-page:before{animation:orb 10s ease-in-out infinite;background:radial-gradient(circle,#5b4fd414 0,#0000 70%);height:500px;right:-100px;top:-100px;width:500px}.auth-page:after,.auth-page:before{border-radius:50%;content:"";pointer-events:none;position:fixed}.auth-page:after{animation:orb 12s ease-in-out infinite reverse;background:radial-gradient(circle,#1d9e750f 0,#0000 70%);bottom:-100px;height:400px;left:-100px;width:400px}.auth-container{animation:fadeUp .5s ease both;max-width:420px;position:relative;width:100%;z-index:1}.auth-logo{margin-bottom:32px;text-align:center}.auth-logo-icon{animation:float 3s ease-in-out infinite;display:block;font-size:44px;margin-bottom:10px}.auth-logo-text{color:#0a0a14;font-size:26px;font-weight:700;letter-spacing:-.5px}.auth-logo-sub{color:#9898aa;font-size:13px;margin-top:4px}.auth-card{background:#fff;border:.5px solid #e4e4ec;border-radius:24px;box-shadow:0 20px 60px #0000000f,0 4px 16px #0000000a;padding:36px}.auth-title{color:#0a0a14;font-size:22px;font-weight:700;letter-spacing:-.3px;margin-bottom:4px}.auth-subtitle{color:#9898aa;font-size:13px;margin-bottom:24px}.input-group{margin-bottom:16px}.input-group label{color:#8888a0;display:block;font-size:11px;font-weight:600;letter-spacing:.6px;margin-bottom:6px;text-transform:uppercase}.auth-input{background:#f7f7fa;border:1px solid #ebebf0;border-radius:12px;color:#0a0a14;font-family:Inter,sans-serif;font-size:14px;outline:none;padding:12px 16px;transition:all .2s;width:100%}.auth-input:focus{background:#fff;border-color:#5b4fd4;box-shadow:0 0 0 3px #5b4fd41a}.auth-error{background:#fef4ee;border:.5px solid #f5c4a8;border-radius:10px;color:#d85a30;font-size:12px;margin-bottom:12px;padding:10px 12px}.auth-btn{background:#0a0a14;border:none;border-radius:12px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-weight:600;margin-top:8px;overflow:hidden;padding:14px;position:relative;transition:all .2s;width:100%}.auth-btn:after{animation:shimmer 3s ease infinite;background:linear-gradient(90deg,#0000,#ffffff26,#0000);content:"";height:200%;left:-100%;position:absolute;top:-50%;width:60%}.auth-btn:hover{background:#2d2b55;box-shadow:0 8px 24px #5b4fd440;transform:translateY(-1px)}.auth-switch{color:#9898aa;font-size:13px;margin-top:20px;text-align:center}.auth-switch span{color:#5b4fd4;cursor:pointer;font-weight:600}.forgot-link{color:#5b4fd4;cursor:pointer;font-size:13px;margin:8px 0;text-align:center}.forgot-link:hover{text-decoration:underline}.auth-success{color:#1d9e75;font-size:13px;margin:8px 0;text-align:center}.app{background:#f0f0f5;display:grid;grid-template-columns:200px 1fr;grid-template-rows:auto 1fr;min-height:100vh;overflow:hidden;position:relative}.app:before{animation:orb 10s ease-in-out infinite;background:radial-gradient(circle,#5b4fd40f 0,#0000 70%);height:400px;right:200px;top:-80px;width:400px}.app:after,.app:before{border-radius:50%;content:"";pointer-events:none;position:fixed;z-index:0}.app:after{animation:orb 12s ease-in-out infinite reverse;background:radial-gradient(circle,#1d9e750d 0,#0000 70%);bottom:-80px;height:350px;right:100px;width:350px}.sidebar{background:#fff;border-right:.5px solid #ebebf0;display:flex;flex-direction:column;grid-row:1/-1;height:100vh;overflow-y:auto;padding:24px 16px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.sidebar-logo{align-items:center;animation:fadeUp .4s ease both;display:flex;gap:9px;margin-bottom:32px;padding:0 6px}.sidebar-logo-mark{align-items:center;background:#0a0a14;border-radius:10px;display:flex;flex-shrink:0;height:32px;justify-content:center;overflow:hidden;position:relative;width:32px}.sidebar-logo-mark:after{animation:shimmer 4s ease 1s infinite;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:200%;left:-100%;position:absolute;top:-50%;width:60%}.sidebar-logo-text{color:#0a0a14;font-size:16px;font-weight:700;letter-spacing:-.4px}.nav-section-label{color:#c4c4d0;font-size:9px;font-weight:600;letter-spacing:1.2px;margin:18px 0 6px;padding:0 8px;text-transform:uppercase}.nav-item{align-items:center;animation:slideIn .4s ease both;border-radius:10px;color:#8888a0;cursor:pointer;display:flex;font-size:13px;gap:10px;margin-bottom:2px;padding:9px 10px;transition:all .2s}.nav-item:hover{background:#f5f5f8;color:#5b4fd4;transform:translateX(2px)}.nav-item.active{animation:glow 3s ease-in-out infinite;background:#f0effd;color:#5b4fd4;font-weight:600}.nav-item i{font-size:16px}.nav-item .nav-badge{background:#5b4fd4;border-radius:20px;color:#fff;font-size:9px;font-weight:700;margin-left:auto;padding:2px 6px}.sidebar-bottom{display:flex;flex-direction:column;gap:10px;margin-top:auto}.score-card{background:#0a0a14;border-radius:16px;overflow:hidden;padding:16px;position:relative}.score-card:before{background:radial-gradient(circle,#5b4fd480 0,#0000 70%);height:90px;right:-30px;top:-30px;width:90px}.score-card:after,.score-card:before{border-radius:50%;content:"";position:absolute}.score-card:after{background:radial-gradient(circle,#1d9e7566 0,#0000 70%);bottom:-20px;height:70px;left:-20px;width:70px}.score-label{color:#fff6;font-size:9px;letter-spacing:1px;margin-bottom:6px;text-transform:uppercase}.score-number{animation:countUp .6s ease .3s both;color:#fff;font-size:36px;font-weight:700;letter-spacing:-2px;line-height:1}.score-sub{color:#ffffff59;font-size:10px;margin-top:3px}.score-bar{background:#ffffff1a;border-radius:2px;height:3px;margin-top:14px;overflow:hidden}.score-bar-fill{--w:78%;animation:barGrow .8s ease .5s forwards;background:linear-gradient(90deg,#7b6fe8,#c4beff);border-radius:2px;height:100%;width:0}.streak-card{align-items:center;background:#f7f7fa;border-radius:12px;display:flex;justify-content:space-between;padding:12px 14px}.streak-info .streak-lbl{color:#a0a0b0;font-size:9px;letter-spacing:.5px;margin-bottom:3px;text-transform:uppercase}.streak-info .streak-val{color:#0a0a14;font-size:20px;font-weight:700;letter-spacing:-.5px}.streak-dots{display:flex;flex-wrap:wrap;gap:3px;max-width:70px}.streak-dot{background:#0a0a14;border-radius:3px;cursor:pointer;height:11px;transition:transform .2s;width:11px}.streak-dot:hover{transform:scale(1.3)}.streak-dot.off{background:#e4e4ec}.topnav{align-items:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffc;border-bottom:.5px solid #ebebf0;display:flex;grid-column:2;justify-content:space-between;padding:14px 28px;position:-webkit-sticky;position:sticky;top:0;z-index:99}.topnav-greeting h2{color:#0a0a14;font-size:18px;font-weight:700;letter-spacing:-.4px}.topnav-greeting p{color:#9898aa;font-size:12px;font-style:italic;margin-top:2px}.topnav-right{align-items:center;display:flex;gap:10px}.topnav-date{background:#f7f7fa;border:.5px solid #e4e4ec;border-radius:20px;color:#8888a0;font-size:11px;padding:6px 12px}.topnav-notif{align-items:center;background:#fff;border:.5px solid #e4e4ec;border-radius:10px;cursor:pointer;display:flex;height:34px;justify-content:center;position:relative;transition:all .2s;width:34px}.topnav-notif:hover{border-color:#5b4fd4;box-shadow:0 0 0 3px #5b4fd41a}.topnav-notif-dot{animation:pulse 2s ease infinite;background:#e8820c;border-radius:50%;height:5px;position:absolute;right:7px;top:7px;width:5px}.topnav-user{align-items:center;background:#f7f7fa;border:.5px solid #e4e4ec;border-radius:20px;cursor:pointer;display:flex;gap:8px;padding:6px 12px 6px 6px;transition:all .2s}.topnav-user:hover{border-color:#5b4fd4}.topnav-avatar{align-items:center;background:#0a0a14;border-radius:50%;color:#fff;display:flex;font-size:10px;font-weight:700;height:24px;justify-content:center;width:24px}.topnav-username{color:#0a0a14;font-size:12px;font-weight:600}.topnav-logout{background:#0000;border:.5px solid #e4e4ec;border-radius:10px;color:#9898aa;cursor:pointer;font-family:Inter,sans-serif;font-size:12px;padding:6px 12px;transition:all .2s}.topnav-logout:hover{border-color:#e85a5a;color:#e85a5a}.main-content{grid-column:2;padding:24px 28px;position:relative;z-index:1}.main-content,.tab-content{display:flex;flex-direction:column;gap:14px}.date-nav{animation:fadeUp .4s ease .1s both;background:#fff;border:.5px solid #ebebf0;border-radius:14px;justify-content:space-between;padding:10px 16px}.date-nav,.date-nav-btn{align-items:center;display:flex}.date-nav-btn{background:#f7f7fa;border:.5px solid #e4e4ec;border-radius:8px;color:#8888a0;cursor:pointer;font-family:Inter,sans-serif;font-size:18px;height:32px;justify-content:center;transition:all .2s;width:32px}.date-nav-btn:hover:not(:disabled){border-color:#5b4fd4;color:#5b4fd4}.date-nav-btn:disabled{cursor:not-allowed;opacity:.3}.date-nav-center{align-items:center;display:flex;flex-direction:column;gap:4px}.date-nav-label{color:#0a0a14;font-size:15px;font-weight:700;letter-spacing:-.3px}.date-today-btn{background:#0000;border:.5px solid #5b4fd44d;border-radius:20px;color:#5b4fd4;cursor:pointer;font-family:Inter,sans-serif;font-size:10px;padding:3px 10px;transition:all .2s}.date-today-btn:hover{background:#f0effd}.streak-banner{align-items:center;animation:fadeUp .4s ease .2s both;background:linear-gradient(135deg,#5b4fd40f,#1d9e750a);border:.5px solid #5b4fd426;border-radius:14px;display:flex;gap:10px;padding:14px 18px}.streak-fire{animation:float 2s ease-in-out infinite;font-size:22px}.streak-num{color:#5b4fd4;font-size:28px;font-weight:700;letter-spacing:-1px;line-height:1}.streak-text{color:#8888a0;font-size:12px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.streak-badge{background:#f0effd;border:.5px solid #5b4fd433;border-radius:20px;color:#5b4fd4;font-size:11px;font-weight:600;margin-left:auto;padding:4px 12px}.calorie-card{align-items:center;animation:fadeUp .4s ease .2s both;background:#fff;border:.5px solid #ebebf0;border-radius:20px;display:flex;gap:28px;overflow:hidden;padding:22px 24px;position:relative;transition:box-shadow .2s}.calorie-card:hover{box-shadow:0 8px 40px #00000012}.calorie-card:after{animation:shimmer 5s ease 1s infinite;background:linear-gradient(90deg,#0000,#fff9,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;width:50%}.calorie-ring-wrapper{flex-shrink:0;height:130px;position:relative;width:130px}.calorie-ring-text{animation:countUp .6s ease .4s both;left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.calorie-ring-num{color:#0a0a14;display:block;font-size:24px;font-weight:700;letter-spacing:-.5px;line-height:1}.calorie-ring-label{color:#a0a0b0;font-size:10px;letter-spacing:.5px;margin-top:2px;text-transform:uppercase}.calorie-stats{display:flex;flex:1 1;flex-direction:column;gap:8px}.cal-stat-row{align-items:center;display:flex;gap:8px}.cal-stat-dot{border-radius:50%;flex-shrink:0;height:7px;width:7px}.cal-stat-label{color:#9898aa;flex:1 1;font-size:12px}.cal-stat-val{color:#0a0a14;font-size:15px;font-weight:700;letter-spacing:-.3px}.cal-stat-badge{border-radius:20px;font-size:9px;font-weight:600;padding:2px 7px}.badge-purple{background:#f0effd;color:#5b4fd4}.badge-green{background:#edfaf5;color:#1d9e75}.badge-orange{background:#fef4e8;color:#e8820c}.badge-warn{background:#fef9ec;color:#b87b0c}.cal-sep{background:#f5f5f8;height:.5px}.macro-row{grid-gap:12px;animation:fadeUp .4s ease .3s both;display:grid;gap:12px;grid-template-columns:1fr 1fr 1fr}.macro-card{background:#fff;border:.5px solid #ebebf0;border-radius:16px;cursor:pointer;overflow:hidden;padding:16px;position:relative;transition:all .2s}.macro-card:hover{border-color:#5b4fd4;box-shadow:0 8px 24px #5b4fd41f;transform:translateY(-3px)}.macro-card-label{color:#9898aa;font-size:10px;font-weight:600;letter-spacing:.8px;margin-bottom:10px;text-transform:uppercase}.macro-card-pct{border-radius:20px;font-size:10px;font-weight:700;padding:3px 7px;position:absolute;right:14px;top:14px}.macro-card-val{font-size:26px;font-weight:700;letter-spacing:-1px;line-height:1;margin-bottom:3px}.macro-card-goal{color:#a0a0b0;font-size:11px}.macro-card-bar{background:#f0f0f4;border-radius:2px;height:4px;margin-top:12px;overflow:hidden}.macro-card-fill{animation:barGrow .8s ease .5s forwards;border-radius:2px;height:100%;width:0}.water-card{animation:fadeUp .4s ease .4s both;background:#fff;border:.5px solid #ebebf0;border-radius:16px;padding:18px}.water-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.water-title{color:#0a0a14}.water-count,.water-title{font-size:12px;font-weight:600}.water-count{background:#f0effd;border-radius:20px;color:#5b4fd4;padding:3px 10px}.water-glasses{display:flex;flex-wrap:wrap;gap:8px}.glass{align-items:center;background:#f7f7fa;border:.5px solid #e4e4ec;border-radius:10px;cursor:pointer;display:flex;font-size:18px;height:38px;justify-content:center;opacity:.3;transition:all .2s;width:38px}.glass:hover{transform:scale(1.15)}.glass-full{animation:float 3s ease-in-out infinite;background:#eef4ff;border-color:#c8deff;box-shadow:0 2px 8px #5b4fd41a;opacity:1}.glass-full:nth-child(2){animation-delay:.2s}.glass-full:nth-child(3){animation-delay:.4s}.glass-full:nth-child(4){animation-delay:.6s}.foodlog-card{animation:fadeUp .4s ease .5s both;background:#fff;border:.5px solid #ebebf0;border-radius:20px;padding:20px}.foodlog-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.foodlog-title{color:#0a0a14;font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.foodlog-count{background:#f7f7fa;border:.5px solid #e4e4ec;border-radius:20px;color:#9898aa;font-size:11px;font-weight:600;padding:3px 10px}.meal-section{margin-bottom:16px}.meal-section-header{align-items:center;border-bottom:.5px solid #f5f5f8;display:flex;justify-content:space-between;margin-bottom:4px;padding:6px 0}.meal-section-name{color:#b0b0ba;font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase}.meal-section-cal{color:#5b4fd4;font-size:11px;font-weight:600}.food-item{align-items:center;border-bottom:.5px solid #f7f7fa;border-radius:8px;cursor:pointer;display:flex;gap:10px;padding:8px 6px;transition:all .2s}.food-item:last-child{border-bottom:none}.food-item:hover{background:#f9f9fc;padding-left:10px}.food-meal-dot{border-radius:50%;flex-shrink:0;height:7px;width:7px}.food-item-name{color:#0a0a14;flex:1 1;font-size:13px;font-weight:500;word-break:break-word}.food-item-macros{color:#b0b0ba;font-size:11px}.food-insight{color:#5b4fd4}.food-insight,.food-insight-loading{font-size:11px;font-style:italic;margin-top:2px}.food-insight-loading{color:#c0c0cc}.food-item-cal{background:#f7f7fa;border:.5px solid #e4e4ec;border-radius:20px;color:#5b4fd4;font-size:12px;font-weight:700;padding:3px 10px;white-space:nowrap}.food-delete-btn{background:#0000;border:none;color:#e4e4ec;cursor:pointer;font-size:16px;padding:2px 4px;transition:color .2s}.food-delete-btn:hover{color:#e85a5a}.empty-state{color:#c0c0cc;padding:32px 0;text-align:center}.empty-state span{animation:float 3s ease-in-out infinite;display:block;font-size:36px;margin-bottom:8px}.empty-state p{font-size:13px;margin-bottom:16px}.empty-btn{background:#0000;border:.5px solid #5b4fd44d;border-radius:10px;color:#5b4fd4;cursor:pointer;font-family:Inter,sans-serif;font-size:12px;padding:8px 20px;transition:all .2s}.empty-btn:hover{background:#f0effd}.log-card{animation:fadeUp .4s ease .1s both;background:#fff;border:.5px solid #ebebf0;border-radius:20px;padding:24px}.log-title{color:#0a0a14;font-size:18px;font-weight:700;letter-spacing:-.3px;margin-bottom:4px}.log-sub{color:#9898aa;font-size:13px;margin-bottom:20px}.meal-selector{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.meal-btn{background:#f7f7fa;border:.5px solid #e4e4ec;border-radius:20px;color:#8888a0;cursor:pointer;font-family:Inter,sans-serif;font-size:12px;padding:8px 16px;transition:all .2s}.meal-btn:hover{border-color:#5b4fd4;color:#5b4fd4}.meal-btn-active{background:#f0effd!important;border-color:#5b4fd4!important;color:#5b4fd4!important;font-weight:600}.search-row{display:flex;gap:10px;margin-bottom:12px}.search-input{background:#f7f7fa;border:1px solid #ebebf0;border-radius:12px;color:#0a0a14;flex:1 1;font-family:Inter,sans-serif;font-size:14px;outline:none;padding:12px 16px;transition:all .2s}.search-input:focus{background:#fff;border-color:#5b4fd4;box-shadow:0 0 0 3px #5b4fd41a}.search-btn{background:#0a0a14;border:none;border-radius:12px;cursor:pointer;font-size:18px;overflow:hidden;padding:12px 18px;position:relative;transition:all .2s}.search-btn:hover{background:#2d2b55;transform:translateY(-1px)}.search-btn:after{animation:shimmer 2s ease infinite;background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:200%;left:-100%;position:absolute;top:-50%;width:60%}.log-message{background:#edfaf5;border:.5px solid #baf0d8;border-radius:10px;color:#1d9e75;font-size:12px;margin-bottom:12px;padding:10px 14px}.search-results{border:.5px solid #ebebf0;border-radius:14px;overflow:hidden}.result-item{align-items:center;background:#fff;border-bottom:.5px solid #f5f5f8;display:flex;padding:14px 16px;transition:all .2s}.result-item:last-child{border-bottom:none}.result-item:hover{background:#f9f9fc}.result-left{flex:1 1;min-width:0}.result-name{color:#0a0a14;font-size:13px;font-weight:600;margin-bottom:3px;word-break:break-word}.result-macros{color:#9898aa;font-size:11px}.log-btn{background:#0a0a14;border:none;border-radius:10px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:12px;font-weight:600;margin-left:12px;padding:8px 16px;transition:all .2s;white-space:nowrap}.log-btn:hover{background:#5b4fd4;transform:translateY(-1px)}.progress-card{animation:fadeUp .4s ease .1s both;background:#fff;border:.5px solid #ebebf0;border-radius:20px;padding:24px}.progress-card h3{color:#0a0a14;font-size:15px;font-weight:700;letter-spacing:-.2px;margin-bottom:20px}.progress-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.progress-stat{background:#f7f7fa;border:.5px solid #ebebf0;border-radius:14px;cursor:pointer;padding:16px;text-align:center;transition:all .2s}.progress-stat:hover{background:#f0effd;border-color:#5b4fd4}.progress-stat-num{color:#5b4fd4;display:block;font-size:26px;font-weight:700;letter-spacing:-.5px;margin-bottom:4px}.progress-stat-label{color:#9898aa;font-size:10px;letter-spacing:.5px;text-transform:uppercase}.progress-bar-section{margin-bottom:16px}.progress-bar-label{color:#8888a0;display:flex;font-size:12px;font-weight:500;justify-content:space-between;margin-bottom:8px}.progress-bar-bg{background:#f0f0f4;border-radius:4px;height:6px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg,#5b4fd4,#9f8fff);border-radius:4px;height:100%;transition:width .5s ease}.weight-input-row{display:flex;gap:10px;margin-bottom:16px}.weight-input{background:#f7f7fa;border:1px solid #ebebf0;border-radius:12px;color:#0a0a14;flex:1 1;font-family:Inter,sans-serif;font-size:14px;outline:none;padding:10px 14px;transition:all .2s}.weight-input:focus{background:#fff;border-color:#5b4fd4;box-shadow:0 0 0 3px #5b4fd41a}.weight-log-btn{background:#0a0a14;border:none;border-radius:12px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:13px;font-weight:600;padding:10px 20px;transition:all .2s}.weight-log-btn:hover{background:#5b4fd4;transform:translateY(-1px)}.weight-list{display:flex;flex-direction:column;gap:6px}.weight-item{align-items:center;background:#f7f7fa;border:.5px solid #ebebf0;border-radius:12px;display:flex;justify-content:space-between;padding:10px 14px;transition:all .2s}.weight-item:hover{background:#f0effd;border-color:#5b4fd4}.weight-date{color:#9898aa;font-size:12px;font-weight:500}.weight-val{color:#5b4fd4;font-size:15px;font-weight:700}.weight-change{border-top:.5px solid #f0f0f4;color:#1d9e75;font-size:12px;font-weight:600;margin-top:6px;padding:10px;text-align:center}.profile-card{animation:fadeUp .4s ease .1s both;background:#fff;border:.5px solid #ebebf0;border-radius:20px;padding:24px}.profile-title{color:#0a0a14;font-size:18px;font-weight:700;letter-spacing:-.3px;margin-bottom:4px}.profile-sub{color:#9898aa;font-size:13px;margin-bottom:20px}.profile-goal-banner{background:linear-gradient(135deg,#f0effd,#eef3ff);border:.5px solid #ddd8ff;border-radius:18px;margin-bottom:24px;overflow:hidden;padding:22px;position:relative;text-align:center}.profile-goal-banner:after{background:radial-gradient(circle,#5b4fd41f 0,#0000 70%);border-radius:50%;content:"";height:100px;position:absolute;right:-30px;top:-30px;width:100px}.profile-goal-label{color:#9898aa;display:block;font-size:10px;letter-spacing:.6px;margin-bottom:8px;text-transform:uppercase}.profile-goal-num{animation:countUp .6s ease .2s both;color:#5b4fd4;display:block;font-size:48px;font-weight:700;letter-spacing:-2px;line-height:1;margin-bottom:8px}.profile-goal-sub{color:#8888a0;font-size:13px}.profile-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:16px}.profile-field{display:flex;flex-direction:column;gap:6px}.profile-field-full{margin-bottom:16px}.profile-field label,.profile-field-full label{color:#9898aa;font-size:10px;font-weight:600;letter-spacing:.6px;text-transform:uppercase}.profile-input{background:#f7f7fa;border:1px solid #ebebf0;border-radius:12px;color:#0a0a14;font-family:Inter,sans-serif;font-size:14px;margin-top:6px;outline:none;padding:10px 14px;transition:all .2s;width:100%}.profile-input:focus{background:#fff;border-color:#5b4fd4;box-shadow:0 0 0 3px #5b4fd41a}.profile-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.profile-option{background:#f7f7fa;border:.5px solid #e4e4ec;border-radius:10px;color:#8888a0;cursor:pointer;font-family:Inter,sans-serif;font-size:12px;padding:8px 16px;transition:all .2s}.profile-option:hover{border-color:#5b4fd4;color:#5b4fd4}.profile-option-active{background:#f0effd!important;border-color:#5b4fd4!important;color:#5b4fd4!important}.profile-save-btn{background:#0a0a14;border:none;border-radius:14px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-weight:600;margin-top:8px;overflow:hidden;padding:14px;position:relative;transition:all .2s;width:100%}.profile-save-btn:hover{background:#5b4fd4;box-shadow:0 8px 24px #5b4fd440;transform:translateY(-1px)}.profile-save-btn:after{animation:shimmer 3s ease infinite;background:linear-gradient(90deg,#0000,#ffffff26,#0000);content:"";height:200%;left:-100%;position:absolute;top:-50%;width:60%}.bottomnav{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffffe6;border-top:.5px solid #ebebf0;bottom:0;display:none;left:0;padding:8px 0;position:fixed;right:0;z-index:200}.bottomnav-btn{align-items:center;background:#0000;border:none;color:#c0c0cc;cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-family:Inter,sans-serif;font-size:10px;gap:3px;padding:6px;transition:color .2s}.bottomnav-active{color:#5b4fd4!important}.spinner{animation:spin .6s linear infinite;border:2px solid #5b4fd433;border-radius:50%;border-top-color:#5b4fd4;display:inline-block;height:18px;width:18px}@media(max-width:768px){.app{grid-template-columns:1fr;grid-template-rows:auto auto 1fr}.sidebar{display:none}.topnav{grid-column:1}.main-content{grid-column:1;padding:16px}.bottomnav{display:flex}.macro-row{grid-template-columns:1fr}.calorie-card{flex-direction:column;text-align:center}.calorie-stats{width:100%}.progress-stats{grid-template-columns:1fr}}@media(max-width:480px){.macro-row,.profile-grid{grid-template-columns:1fr}}@media(min-width:1440px){.main-content{padding:32px 40px}.topnav{padding:18px 40px}.sidebar{padding:28px 20px}.calorie-ring-num{font-size:28px}.macro-card-val{font-size:30px}.score-number{font-size:42px}}@media(max-width:1280px){.app{grid-template-columns:180px 1fr}.sidebar{padding:20px 12px}.nav-item{font-size:12px;padding:8px}.main-content{padding:20px}.topnav{padding:12px 20px}.topnav-greeting h2{font-size:16px}.calorie-card{gap:20px;padding:18px}.calorie-ring-num{font-size:22px}}@media(max-width:1024px){.app{grid-template-columns:160px 1fr}.sidebar-logo-text{font-size:13px}.nav-item{font-size:12px;gap:7px}.nav-item i{font-size:14px}.main-content{padding:16px}.macro-card-val{font-size:20px}.topnav-date{display:none}.cal-stat-val{font-size:13px}}@media(max-width:900px){.app{grid-template-columns:1fr;grid-template-rows:auto auto 1fr}.sidebar{display:none}.topnav{grid-column:1;padding:14px 20px}.topnav-greeting h2{font-size:16px}.topnav-greeting p{display:none}.main-content{grid-column:1;padding:16px 16px 100px}.bottomnav{display:flex}.calorie-card{align-items:center;flex-direction:column;gap:16px;text-align:center}.calorie-stats{width:100%}.cal-stat-row{justify-content:center}.macro-row{gap:8px;grid-template-columns:1fr 1fr 1fr}.macro-card-val{font-size:20px}.progress-stats{grid-template-columns:1fr 1fr}.score-card,.streak-card{display:none}}@media(max-width:768px){.topnav-greeting h2{font-size:15px}.topnav-date,.topnav-user{display:none}.calorie-ring-num{font-size:20px}.macro-row{gap:8px;grid-template-columns:1fr 1fr}.macro-card{padding:12px}.macro-card-val{font-size:18px}.macro-card-label{font-size:9px}.water-card{padding:14px}.glass{font-size:16px;height:34px;width:34px}.foodlog-card{padding:16px}.food-item-name{font-size:12px}.progress-stats{grid-template-columns:1fr 1fr}.progress-stat-num{font-size:22px}.profile-grid{grid-template-columns:1fr 1fr}.date-nav-label{font-size:14px}.streak-banner{padding:10px 14px}.streak-num{font-size:22px}}@media(max-width:480px){.topnav{padding:10px 14px}.topnav-greeting h2{font-size:14px}.topnav-notif{display:none}.main-content{padding:12px 12px 90px}.calorie-card{padding:14px}.calorie-ring-wrapper{height:110px;width:110px}.macro-row{grid-template-columns:1fr 1fr}.macro-card{padding:10px}.macro-card-val{font-size:16px}.profile-grid,.progress-stats{grid-template-columns:1fr}.profile-options{gap:6px}.profile-option{font-size:11px;padding:7px 12px}.water-glasses{gap:6px}.glass{font-size:14px;height:30px;width:30px}.foodlog-title{font-size:11px}.meal-section-name{font-size:9px}.food-item-name{font-size:11px}.food-item-macros{font-size:10px}.search-input{font-size:13px}.log-title{font-size:16px}.profile-goal-num{font-size:38px}.date-nav{padding:8px 12px}.date-nav-label{font-size:13px}.date-nav-btn{font-size:16px;height:28px;width:28px}.streak-banner{padding:10px 12px}.streak-num{font-size:20px}.streak-text{font-size:10px}}@media(min-width:768px) and (max-width:1024px) and (orientation:portrait){.app{grid-template-columns:180px 1fr}.sidebar{display:flex}.bottomnav{display:none}.macro-row{grid-template-columns:1fr 1fr 1fr}.main-content{padding:20px}}@media(min-width:1024px) and (max-width:1366px) and (orientation:landscape){.app{grid-template-columns:160px 1fr}.sidebar{display:flex}.bottomnav{display:none}.main-content{padding:20px 24px}}@media(hover:none) and (pointer:coarse){.glass{font-size:20px;height:42px;width:42px}.meal-btn,.profile-option{padding:10px 18px}.log-btn{padding:10px 20px}.nav-item{padding:10px}.date-nav-btn{height:40px;width:40px}}.achievements-progress-bar{background:#f0f0f4;border-radius:4px;height:6px;margin-top:8px;overflow:hidden}.achievements-progress-fill{background:linear-gradient(90deg,#5b4fd4,#9f8fff);border-radius:4px;height:100%;transition:width .8s ease}.achievements-grid{display:flex;flex-direction:column;gap:10px}.achievement-card{align-items:center;background:#fff;border:.5px solid #ebebf0;border-radius:14px;display:flex;gap:14px;padding:14px 16px;transition:all .2s}.achievement-card.unlocked{box-shadow:0 2px 12px #0000000d}.achievement-card.locked{filter:grayscale(1);opacity:.45}.achievement-card.unlocked:hover{box-shadow:0 6px 20px #00000014;transform:translateY(-2px)}.achievement-icon{align-items:center;background:#f7f7fa;border:.5px solid #ebebf0;border-radius:12px;display:flex;flex-shrink:0;font-size:22px;height:44px;justify-content:center;width:44px}.achievement-info{flex:1 1}.achievement-title{color:#0a0a14;font-size:13px;font-weight:700;margin-bottom:2px}.achievement-desc{color:#9898aa;font-size:11px}.achievement-check{align-items:center;background:#1d9e75;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:11px;font-weight:700;height:22px;justify-content:center;width:22px}.exercise-category-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.exercise-input-row{align-items:center;display:flex}.exercise-preview{background:#fef4e8;border:.5px solid #f5d4a8;border-radius:10px;color:#b87b0c;font-size:12px;margin-top:12px;padding:10px 14px}.exercise-total{border-bottom:.5px solid #f5f5f8;color:#9898aa;font-size:13px;margin-bottom:14px;padding-bottom:12px}.coach-context{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr;margin-bottom:4px}.coach-context-item{align-items:center;background:#f7f7fa;border:.5px solid #ebebf0;border-radius:10px;display:flex;justify-content:space-between;padding:10px 12px}.coach-context-item span{color:#9898aa;font-size:11px}.coach-context-item strong{color:#0a0a14;font-size:12px;font-weight:600}.chat-messages{display:flex;flex-direction:column;gap:12px;margin-bottom:16px;max-height:400px;min-height:200px;overflow-y:auto}.chat-welcome{padding:20px 0;text-align:center}.quick-prompts{display:flex;flex-direction:column;gap:8px}.quick-prompt-btn{background:#f7f7fa;border:.5px solid #e4e4ec;border-radius:10px;color:#5b4fd4;cursor:pointer;font-family:Inter,sans-serif;font-size:12px;padding:10px 14px;text-align:left;transition:all .2s}.quick-prompt-btn:hover{background:#f0effd;border-color:#5b4fd4}.chat-msg{align-items:flex-start;display:flex;gap:8px}.chat-msg-user{flex-direction:row-reverse}.chat-ai-icon{align-items:center;background:#f0effd;border-radius:8px;display:flex;flex-shrink:0;font-size:14px;height:28px;justify-content:center;width:28px}.chat-bubble{border-radius:14px;font-size:13px;line-height:1.5;max-width:80%;padding:10px 14px}.chat-bubble-user{background:#5b4fd4;border-radius:14px 14px 4px 14px;color:#fff}.chat-bubble-ai{background:#f7f7fa;border:.5px solid #ebebf0;border-radius:14px 14px 14px 4px;color:#0a0a14}.chat-typing{align-items:center;display:flex;gap:4px;padding:4px 0}.chat-typing span{animation:pulse 1.2s ease-in-out infinite;background:#9898aa;border-radius:50%;height:6px;width:6px}.chat-typing span:nth-child(2){animation-delay:.2s}.chat-typing span:nth-child(3){animation-delay:.4s}.chat-input-row{display:flex;gap:10px}.chat-input{background:#f7f7fa;border:1px solid #ebebf0;border-radius:12px;color:#0a0a14;flex:1 1;font-family:Inter,sans-serif;font-size:14px;outline:none;padding:12px 16px;transition:all .2s}.chat-input:focus{background:#fff;border-color:#5b4fd4;box-shadow:0 0 0 3px #5b4fd41a}.chat-send-btn{align-items:center;background:#5b4fd4;border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;height:44px;justify-content:center;transition:all .2s;width:44px}.chat-send-btn:hover{background:#4a3fc0;transform:translateY(-1px)}.chat-send-btn:disabled{cursor:not-allowed;opacity:.5}.dark-mode-btn{align-items:center;background:#f7f7fa;border:.5px solid #e4e4ec;border-radius:10px;cursor:pointer;display:flex;font-size:16px;height:34px;justify-content:center;transition:all .2s;width:34px}.dark-mode-btn:hover{border-color:#5b4fd4}body.dark{background:#0a0a14;color:#e2e8f0}body.dark .app{background:#0a0a14;background-image:radial-gradient(circle at 100% 0,#1a1a2e 0,#0000 50%),radial-gradient(circle at 0 100%,#1a1a2e 0,#0000 50%)}body.dark .app:before{background:radial-gradient(circle,#5b4fd426 0,#0000 70%)}body.dark .app:after{background:radial-gradient(circle,#1d9e751a 0,#0000 70%)}body.dark .sidebar{background:#111118;border-right-color:#ffffff0f}body.dark .sidebar-logo-text{color:#f0f0ff}body.dark .nav-section-label{color:#fff3}body.dark .nav-item{color:#fff6}body.dark .nav-item:hover{background:#5b4fd426;color:#a89eff}body.dark .nav-item.active{background:#5b4fd433;color:#a89eff}body.dark .streak-card{background:#ffffff0d}body.dark .streak-lbl{color:#ffffff4d}body.dark .streak-val{color:#f0f0ff}body.dark .streak-dot{background:#a89eff}body.dark .streak-dot.off{background:#ffffff1a}body.dark .topnav{background:#111118e6;border-bottom-color:#ffffff0f}body.dark .topnav-greeting h2{color:#f0f0ff}body.dark .topnav-greeting p{color:#ffffff59}body.dark .topnav-date{color:#fff6}body.dark .topnav-date,body.dark .topnav-notif,body.dark .topnav-user{background:#ffffff0f;border-color:#ffffff14}body.dark .topnav-username{color:#f0f0ff}body.dark .topnav-logout{border-color:#ffffff1a;color:#fff6}body.dark .topnav-logout:hover{border-color:#e85a5a;color:#e85a5a}body.dark .dark-mode-btn{background:#ffffff0f;border-color:#ffffff14}body.dark .calorie-card,body.dark .date-nav,body.dark .foodlog-card,body.dark .log-card,body.dark .macro-card,body.dark .profile-card,body.dark .progress-card,body.dark .water-card{background:#ffffff0a;border-color:#ffffff12;box-shadow:0 4px 24px #0000004d}body.dark .cal-stat-val,body.dark .calorie-ring-num{color:#f0f0ff}body.dark .cal-stat-label{color:#ffffff59}body.dark .cal-stat-divider{background:#ffffff14}body.dark .cal-sep{background:#ffffff0f}body.dark .macro-card-label{color:#ffffff59}body.dark .macro-card-goal{color:#ffffff40}body.dark .macro-card-bar{background:#ffffff0f}body.dark .water-title{color:#ffffffb3}body.dark .glass{background:#ffffff0a;border-color:#ffffff14}body.dark .glass-full{background:#5b4fd433;border-color:#5b4fd4}body.dark .foodlog-title{color:#f0f0ff}body.dark .foodlog-count{background:#ffffff0f;border-color:#ffffff14;color:#fff6}body.dark .food-item{border-bottom-color:#ffffff0d}body.dark .food-item:hover{background:#ffffff0a}body.dark .food-item-name{color:#f0f0ff}body.dark .food-item-macros{color:#ffffff4d}body.dark .food-item-cal{background:#5b4fd426;border-color:#5b4fd433}body.dark .food-delete-btn{color:#ffffff26}body.dark .meal-section-header{border-bottom-color:#ffffff0f}body.dark .meal-section-name{color:#ffffff59}body.dark .date-nav-btn{background:#ffffff0f;border-color:#ffffff14;color:#fff6}body.dark .date-nav-label{color:#f0f0ff}body.dark .date-today-btn{border-color:#5b4fd44d;color:#a89eff}body.dark .streak-banner{background:linear-gradient(135deg,#5b4fd41f,#1d9e7514);border-color:#5b4fd433}body.dark .streak-text{color:#fff6}body.dark .auth-input,body.dark .chat-input,body.dark .profile-input,body.dark .search-input,body.dark .weight-input{background:#ffffff0f;border-color:#ffffff14;color:#f0f0ff}body.dark .chat-input:focus,body.dark .profile-input:focus,body.dark .search-input:focus,body.dark .weight-input:focus{background:#ffffff14;border-color:#5b4fd4}body.dark .chat-input::placeholder,body.dark .search-input::placeholder,body.dark .weight-input::placeholder{color:#fff3}body.dark .result-item{background:#ffffff08;border-bottom-color:#ffffff0d}body.dark .result-item:hover{background:#ffffff0f}body.dark .result-name{color:#f0f0ff}body.dark .result-macros{color:#ffffff4d}body.dark .progress-card h3{color:#f0f0ff}body.dark .progress-stat{background:#ffffff0a;border-color:#ffffff0f}body.dark .progress-stat:hover{background:#5b4fd41a}body.dark .progress-stat-label{color:#ffffff4d}body.dark .progress-bar-bg{background:#ffffff0f}body.dark .progress-bar-label{color:#fff6}body.dark .weight-item{background:#ffffff0a;border-color:#ffffff0f}body.dark .weight-item:hover{background:#5b4fd414}body.dark .weight-date{color:#fff6}body.dark .weight-change{border-top-color:#ffffff0f}body.dark .profile-title{color:#f0f0ff}body.dark .profile-sub{color:#ffffff4d}body.dark .profile-goal-banner{background:linear-gradient(135deg,#5b4fd426,#5b4fd414);border-color:#5b4fd433}body.dark .profile-goal-label{color:#fff6}body.dark .profile-goal-sub{color:#ffffff59}body.dark .profile-option{background:#ffffff0d;border-color:#ffffff14;color:#fff6}body.dark .profile-option:hover{border-color:#5b4fd4;color:#a89eff}body.dark .profile-option-active{background:#5b4fd433!important;border-color:#5b4fd4!important;color:#a89eff!important}body.dark .meal-btn{background:#ffffff0d;border-color:#ffffff14;color:#fff6}body.dark .meal-btn:hover{border-color:#5b4fd4;color:#a89eff}body.dark .meal-btn-active{background:#5b4fd433!important;border-color:#5b4fd4!important;color:#a89eff!important}body.dark .achievement-card{background:#ffffff0a;border-color:#ffffff12}body.dark .achievement-card.locked{opacity:.3}body.dark .achievement-icon{background:#ffffff0f;border-color:#ffffff14}body.dark .achievement-title{color:#f0f0ff}body.dark .achievement-desc{color:#ffffff59}body.dark .achievements-progress-bar{background:#ffffff14}body.dark .coach-context-item{background:#ffffff0a;border-color:#ffffff0f}body.dark .coach-context-item span{color:#ffffff59}body.dark .coach-context-item strong{color:#f0f0ff}body.dark .chat-bubble-ai{background:#ffffff0f;border-color:#ffffff14;color:#f0f0ff}body.dark .quick-prompt-btn{background:#ffffff0d;border-color:#ffffff14}body.dark .quick-prompt-btn:hover{background:#5b4fd426;border-color:#5b4fd4}body.dark .chat-welcome div,body.dark .log-title{color:#f0f0ff}body.dark .log-sub{color:#ffffff59}body.dark .log-message{background:#1d9e751a;border-color:#1d9e7533}body.dark .exercise-preview{background:#e8820c1a;border-color:#e8820c33;color:#e8820c}body.dark .empty-state{color:#fff3}body.dark .empty-btn{border-color:#5b4fd44d;color:#a89eff}body.dark .auth-page{background:#0a0a14}body.dark .auth-card{background:#ffffff0a;border-color:#ffffff14}body.dark .auth-title{color:#f0f0ff}body.dark .auth-subtitle{color:#ffffff59}body.dark .auth-logo-text{color:#a89eff}body.dark .auth-logo-sub{color:#ffffff4d}body.dark .input-group label{color:#fff6}body.dark .bottomnav{background:#111118f2;border-top-color:#ffffff0f}body.dark .bottomnav-btn{color:#fff3}body.dark .bottomnav-active{color:#a89eff!important}body.dark .recharts-cartesian-grid-horizontal line{stroke:#ffffff0d}body.dark .recharts-text{fill:#ffffff4d!important}body.dark .nav-badge{background:#5b4fd4}body.dark .food-insight{color:#a89eff}body.dark .food-insight-loading{color:#fff3}body.dark .score-card{background:#1a1a2e}.app{padding-bottom:env(safe-area-inset-bottom);padding-top:env(safe-area-inset-top)}.topnav{padding-top:max(14px,env(safe-area-inset-top))}.bottomnav{padding-bottom:max(8px,env(safe-area-inset-bottom))}html{overflow:hidden}body,html{height:100%}body{-webkit-overflow-scrolling:touch;overflow-y:auto}@media (hover:none) and (pointer:coarse){.nav-item{min-height:44px}.bottomnav-btn{min-height:50px}.date-nav-btn,.glass{min-height:44px;min-width:44px}.log-btn{min-height:44px}.auth-btn{min-height:50px}}@media only screen and (min-device-width:1024px) and (max-device-width:1366px) and (-webkit-min-device-pixel-ratio:2){.app{grid-template-columns:200px 1fr}.sidebar{display:flex}.bottomnav{display:none}.main-content{padding:24px 32px}}@media only screen and (min-device-width:768px) and (max-device-width:1024px) and (-webkit-min-device-pixel-ratio:2){.app{grid-template-columns:180px 1fr}.sidebar{display:flex}.bottomnav{display:none}.macro-row{grid-template-columns:1fr 1fr 1fr}}@media only screen and (max-device-width:430px){.macro-row{grid-template-columns:1fr 1fr}.calorie-card{align-items:center;flex-direction:column}.topnav-date,.topnav-user{display:none}}@media only screen and (max-device-width:375px){.macro-row{grid-template-columns:1fr 1fr}.main-content{padding:12px 10px 90px}.topnav{padding:10px 12px}}@media only screen and (max-device-width:900px) and (orientation:landscape){.bottomnav{display:none}.sidebar{display:flex}.app{grid-template-columns:160px 1fr}.main-content{padding:12px 16px 20px}}@media only screen and (max-device-width:480px) and (-webkit-min-device-pixel-ratio:3){.macro-row{grid-template-columns:1fr 1fr}.calorie-card{flex-direction:column}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.sidebar-logo-mark{image-rendering:crisp-edges}}@media (display-mode:standalone){.topnav{padding-top:max(18px,env(safe-area-inset-top))}.bottomnav{padding-bottom:max(16px,env(safe-area-inset-bottom))}}
/*# sourceMappingURL=main.a252688a.css.map*/