:root{--bg-main: #f7faf4;--bg-card: #ffffff;--bg-surface: #eef7e6;--bg-input: #f1f8ec;--green-primary: #4db810;--green-light: #A8E63D;--green-dark: #3a8c0e;--green-glow: rgba(77, 184, 16, .12);--green-gradient: linear-gradient(135deg, #A8E63D 0%, #6FCF2A 50%, #3CB843 100%);--text-primary: #1a2b0e;--text-secondary: #4f6b3a;--text-muted: #5a7a40;--border: #cce8b0;--border-green: rgba(77, 184, 16, .35);--danger: #e53e3e;--radius-sm: 10px;--radius-md: 16px;--radius-lg: 24px;--nav-height: 72px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;background:var(--bg-main);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}#root{height:100%}.app{display:flex;flex-direction:column;height:100dvh;max-width:480px;margin:0 auto;position:relative;background:var(--bg-main);padding-top:env(safe-area-inset-top,0px);overflow:hidden}.main-content{flex:1;overflow-y:auto;overflow-x:hidden;padding-bottom:16px;scrollbar-width:none}.main-content::-webkit-scrollbar{display:none}.bottom-nav{flex-shrink:0;width:100%;max-width:480px;background:#fffffff5;box-shadow:0 -1px 0 var(--border);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-around;padding:0 8px;padding-bottom:env(safe-area-inset-bottom,12px);height:calc(var(--nav-height) + env(safe-area-inset-bottom,12px));z-index:100}.nav-btn{display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:8px 20px;border-radius:var(--radius-md);transition:color .2s,background .2s;font-size:12px;font-weight:600}.nav-btn.active{color:#3a8c0e;font-weight:700}.nav-btn:active{background:var(--green-glow)}.nav-btn svg{width:24px;height:24px;stroke:currentColor}.loading-screen{height:100dvh;display:flex;align-items:center;justify-content:center;background:var(--bg-main);animation:fadeIn .3s ease}.loading-logo{display:flex;flex-direction:column;align-items:center;gap:16px}.loading-pulse{width:80px;height:80px;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}.card{background:var(--bg-card);border-radius:var(--radius-md);padding:16px;border:1px solid var(--border)}.btn-primary{width:100%;padding:16px;background:var(--green-gradient);color:#0a0a0a;border:none;border-radius:var(--radius-md);font-size:16px;font-weight:700;cursor:pointer;transition:opacity .2s,transform .1s}.btn-primary:hover{opacity:.9}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-secondary{width:100%;padding:16px;background:var(--bg-card);color:var(--text-primary);border:1.5px solid var(--border);border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:background .2s}.btn-secondary:hover{background:var(--bg-surface)}.input-group{display:flex;flex-direction:column;gap:6px}.input-label{font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.input-field{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:16px;padding:14px 16px;outline:none;transition:border-color .2s,box-shadow .2s;width:100%}.input-field:focus{border-color:var(--green-primary);box-shadow:0 0 0 3px var(--green-glow)}.input-field::placeholder{color:var(--text-muted)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideUpModal{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.onboarding{min-height:100dvh;display:flex;flex-direction:column;background:var(--bg-main);max-width:480px;margin:0 auto;padding:0 24px}.onboarding-header{padding:60px 0 24px}.progress-dots{display:flex;gap:8px;margin-bottom:32px}.progress-dot{height:4px;border-radius:2px;background:var(--border);flex:1;transition:background .3s}.progress-dot.active{background:var(--green-primary)}.onboarding-step{flex:1;display:flex;flex-direction:column;gap:24px;animation:slideUp .35s ease;padding-bottom:40px}.onboarding-title{font-size:28px;font-weight:700;line-height:1.2}.onboarding-subtitle{font-size:15px;color:var(--text-secondary);line-height:1.6}.onboarding-footer{padding:24px 0 40px;display:flex;gap:12px}.welcome-logo{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px 0}.gender-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.gender-option{border:2px solid var(--border);border-radius:var(--radius-md);padding:20px 16px;text-align:center;cursor:pointer;background:var(--bg-card);transition:border-color .2s,background .2s;display:flex;flex-direction:column;align-items:center;gap:8px}.gender-option.selected{border-color:var(--green-primary);background:var(--green-glow)}.gender-option-icon{font-size:32px}.gender-option-label{font-size:15px;font-weight:600;color:var(--text-primary)}.goal-preview{background:var(--bg-card);border:1px solid var(--border-green);border-radius:var(--radius-lg);padding:24px;text-align:center;display:flex;flex-direction:column;gap:12px}.goal-preview-calories{font-size:48px;font-weight:800;background:var(--green-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.goal-preview-label{font-size:14px;color:var(--text-secondary)}.goal-preview-tag{display:inline-block;background:var(--green-glow);border:1px solid var(--border-green);color:var(--green-primary);font-size:13px;font-weight:600;padding:6px 16px;border-radius:100px;margin:0 auto}.dashboard{padding:0;animation:fadeIn .3s ease}.dashboard-header{text-align:center;padding:40px 24px 16px}.dashboard-title{font-size:26px;font-weight:700;letter-spacing:-.5px}.dashboard-title span{background:var(--green-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.week-calendar{padding:8px 16px 16px;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.week-calendar::-webkit-scrollbar{display:none}.day-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 12px;border-radius:var(--radius-sm);border:none;background:transparent;cursor:pointer;min-width:50px;transition:background .2s;color:var(--text-secondary);flex-shrink:0}.day-btn.selected{background:var(--green-primary);color:#000}.day-btn.today:not(.selected) .day-num:after{content:"";display:block;width:4px;height:4px;background:var(--green-primary);border-radius:50%;margin:2px auto 0}.day-name{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.day-num{font-size:18px;font-weight:700}.calorie-section{display:flex;justify-content:center;padding:8px 24px 24px}.macro-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;padding:0 16px 24px}.meals-section{padding:0 16px}.section-title{font-size:18px;font-weight:700;margin-bottom:12px}.empty-state{background:var(--bg-card);border-radius:var(--radius-md);padding:40px 24px;text-align:center;border:1px solid var(--border)}.empty-title{font-size:16px;font-weight:600;margin-bottom:8px}.empty-sub{font-size:14px;color:var(--text-secondary);line-height:1.5}.empty-arrow{font-size:32px;margin-top:16px;display:block;animation:bounce 1.5s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.fab-container{position:fixed;bottom:calc(var(--nav-height) + env(safe-area-inset-bottom,0px) + 20px);left:50%;transform:translate(-50%);z-index:99}.fab{width:60px;height:60px;border-radius:50%;background:var(--green-gradient);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #6fcf2a66;transition:transform .2s,box-shadow .2s}.fab:active{transform:scale(.93);box-shadow:0 2px 10px #6fcf2a4d}.fab svg{width:28px;height:28px;stroke:#000;stroke-width:2.5}.macro-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px 10px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.macro-icon{font-size:22px}.macro-amount{font-size:18px;font-weight:700;color:var(--text-primary)}.macro-label{font-size:11px;color:var(--text-secondary);font-weight:500}.meal-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px 16px;display:flex;align-items:center;gap:12px;margin-bottom:8px;animation:slideUp .2s ease}.meal-emoji{font-size:32px;flex-shrink:0}.meal-info{flex:1;min-width:0}.meal-name{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meal-macros{font-size:12px;color:var(--text-secondary);margin-top:2px}.meal-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.meal-calories{font-size:16px;font-weight:700;color:var(--green-primary)}.meal-time{font-size:11px;color:var(--text-muted)}.meal-delete{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:6px;transition:color .2s,background .2s;display:flex;align-items:center}.meal-delete:hover{color:var(--danger);background:#ef44441a}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;padding-bottom:max(0px,calc(var(--kb, 0px) - env(safe-area-inset-bottom,0px)));transition:padding-bottom .25s cubic-bezier(.25,.1,.25,1);background:#000000b3;z-index:200;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .2s ease}.modal-sheet{width:100%;max-width:480px;background:var(--bg-surface);border-radius:24px 24px 0 0;padding:24px 24px calc(20px + env(safe-area-inset-bottom,0px));animation:slideUpModal .3s ease;max-height:calc(100% - env(safe-area-inset-top,0px) - 12px);overflow-y:auto;overscroll-behavior:contain}.modal-handle{width:40px;height:4px;background:var(--border);border-radius:2px;margin:0 auto 24px}.modal-title{font-size:20px;font-weight:700;text-align:center;margin-bottom:24px}.modal-options{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:24px}.modal-option{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 12px;background:var(--bg-main);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:background .2s,border-color .2s}.modal-option:hover{background:var(--bg-surface)}.modal-option-icon{width:48px;height:48px;border-radius:14px;background:var(--bg-main);display:flex;align-items:center;justify-content:center;font-size:24px}.modal-option-label{font-size:13px;font-weight:600;color:var(--text-primary)}.modal-text-input{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-size:15px;padding:14px 16px;width:100%;outline:none;resize:none;font-family:inherit;min-height:80px;transition:border-color .2s}.modal-text-input:focus{border-color:var(--green-primary)}.modal-text-input::placeholder{color:var(--text-muted)}.modal-close{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;margin:16px auto 0;font-size:20px;transition:background .2s}.modal-close:hover{background:var(--bg-surface)}.spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--green-primary);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto}.analyzing-state{text-align:center;padding:32px 0;display:flex;flex-direction:column;gap:16px;align-items:center}.analyzing-text{font-size:16px;color:var(--text-secondary)}.food-result{display:flex;flex-direction:column;gap:16px;animation:slideUp .3s ease}.food-result-name{font-size:22px;font-weight:700;text-align:center}.food-result-calories{text-align:center}.food-result-calories-num{font-size:52px;font-weight:800;background:var(--green-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:block;line-height:1}.food-result-calories-label{font-size:13px;color:var(--text-secondary)}.food-result-macros{display:flex;gap:10px;justify-content:center}.macro-badge{background:var(--bg-card);border:1px solid var(--border);border-radius:100px;padding:8px 16px;font-size:13px;font-weight:600;color:var(--text-primary);display:flex;flex-direction:column;align-items:center;gap:2px}.macro-badge-label{font-size:10px;color:var(--text-secondary);font-weight:400}.food-result-serving{text-align:center;font-size:13px;color:var(--text-secondary)}.food-result-actions{display:flex;gap:12px}.settings{padding:0 16px;animation:fadeIn .3s ease}.settings-header{padding:48px 8px 24px}.settings-title{font-size:28px;font-weight:700}.settings-section{margin-bottom:24px}.settings-section-label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.8px;padding:0 4px 10px}.settings-group{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.settings-item{display:flex;align-items:center;justify-content:space-between;padding:16px;cursor:pointer;transition:background .15s;border-bottom:1px solid var(--border)}.settings-item:last-child{border-bottom:none}.settings-item:hover{background:var(--bg-surface)}.settings-item-left{display:flex;align-items:center;gap:12px}.settings-item-icon{width:36px;height:36px;border-radius:10px;background:var(--bg-main);display:flex;align-items:center;justify-content:center;font-size:18px}.settings-item-label{font-size:15px;font-weight:600}.settings-item-value{font-size:13px;color:var(--text-secondary);margin-top:1px}.settings-item-arrow{color:var(--text-muted);font-size:18px}.edit-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;z-index:300;display:flex;align-items:center;justify-content:center;padding:24px;padding-bottom:calc(24px + var(--kb, 0px));transition:padding-bottom .25s cubic-bezier(.25,.1,.25,1);animation:fadeIn .2s ease}.edit-modal{background:var(--bg-surface);border-radius:var(--radius-lg);padding:24px;width:100%;max-width:380px;display:flex;flex-direction:column;gap:20px;animation:slideUp .25s ease}.edit-modal-title{font-size:18px;font-weight:700}.edit-modal-actions{display:flex;gap:12px}.input-field.input-error{border-color:var(--danger);box-shadow:0 0 0 3px #ef444426}.gender-options-row{display:flex;gap:8px;height:50px;align-items:stretch}.gender-chip{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:border-color .2s,background .2s,color .2s;padding:0 10px}.gender-chip.selected{border-color:var(--green-primary);background:var(--green-glow);color:var(--green-primary)}.gender-chip.error{border-color:var(--danger)}.week-calendar-wrapper{padding:4px 0 0}.week-calendar-month{text-align:center;font-size:13px;font-weight:600;color:var(--green-primary);text-transform:uppercase;letter-spacing:.8px;padding-bottom:4px}.macro-icon-wrap{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center}.water-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;margin:0 16px 24px}.water-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.water-stats{font-size:14px;color:var(--text-secondary)}.water-consumed{color:#3b82f6;font-weight:700}.water-sep{color:var(--text-muted)}.water-goal{color:var(--text-secondary)}.water-drops{display:flex;flex-wrap:wrap;gap:4px;margin:10px 0 8px}.water-drop{cursor:default;transition:fill .2s}.water-progress-track{height:6px;border-radius:3px;background:var(--bg-surface);overflow:hidden}.water-progress-fill{height:100%;background:#3b82f6;border-radius:3px;transition:width .3s ease}.water-actions{display:flex;gap:8px;margin-top:12px}.water-btn-add{flex:1;height:40px;background:var(--green-gradient);border:none;border-radius:10px;font-size:14px;font-weight:700;color:#000;cursor:pointer;transition:opacity .2s}.water-btn-add:hover{opacity:.9}.water-btn-add:active{opacity:.8}.water-btn-remove{width:40px;height:40px;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;font-size:22px;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;transition:background .2s;flex-shrink:0}.water-btn-remove:hover{background:var(--bg-surface)}.water-btn-remove:disabled{opacity:.35;cursor:not-allowed}.lang-selector{display:flex;gap:8px}.lang-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;background:var(--bg-card);border:1.5px solid var(--border);border-radius:12px;padding:12px 8px;cursor:pointer;font-size:13px;font-weight:600;color:var(--text-secondary);transition:border-color .2s,background .2s,color .2s}.lang-btn.active{border-color:var(--green-primary);background:var(--green-glow);color:var(--green-primary)}.lang-btn:hover:not(.active){background:var(--bg-surface)}.cache-badge{font-size:12px;font-weight:600;padding:4px 14px;background:#6fcf2a26;color:var(--green-primary);border-radius:100px;text-align:center;margin-bottom:10px;display:inline-block;width:100%;box-sizing:border-box}.dashboard-logo-row{display:flex;align-items:center;gap:10px;padding:14px 20px 8px}.calorie-row{display:flex;align-items:center;gap:0;padding:8px 16px 0;justify-content:space-between}.macro-card-sm{padding:12px 10px;flex:1}.today-goals{background:var(--bg-card);border-radius:var(--radius-md);margin:8px 16px;padding:14px 16px}.today-goals-title{font-size:13px;font-weight:700;color:var(--text-secondary);margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}.today-goals-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.today-goal-item{display:flex;align-items:center;gap:8px;background:var(--bg-surface);border-radius:10px;padding:8px 10px}.today-goal-icon{font-size:16px;line-height:1}.today-goal-label{font-size:12px;font-weight:600;color:var(--text-primary)}.water-section-compact{padding:12px 16px;margin:4px 16px 8px;background:var(--bg-card);border-radius:var(--radius-md)}.hero-card{display:flex;align-items:center;gap:4px;background:transparent;border:none;border-radius:0;padding:8px 14px 12px 8px;margin:0;overflow:hidden}.hero-ring-wrap{flex-shrink:0}.hero-athlete-wrap{flex-shrink:0;display:flex;align-items:flex-end;padding-bottom:2px}.hero-goals-wrap{flex:1;min-width:0;padding-left:2px;padding-right:6px}.hero-goals-title{font-size:11px;font-weight:700;color:var(--text-primary);letter-spacing:.2px;margin-bottom:2px}.hero-goals-sub{font-size:9px;color:var(--text-muted);margin-bottom:6px;line-height:1.3}.hero-goals-list{display:flex;flex-direction:column;gap:4px}.hero-goal-row{display:flex;align-items:center;gap:5px}.hero-goal-icon{font-size:11px;line-height:1;flex-shrink:0}.hero-goal-label{font-size:10px;font-weight:500;color:var(--text-secondary);flex:1}.hero-goal-val{font-size:9px;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.fr2{display:flex;flex-direction:column;gap:14px;animation:slideUp .3s ease}.fr2-name{font-size:22px;font-weight:800;color:var(--text-primary);letter-spacing:-.3px}.fr2-feedback-row{display:flex;gap:10px}.fr2-fb-btn{display:flex;align-items:center;gap:6px;padding:9px 16px;border-radius:100px;border:1.5px solid var(--border);background:var(--bg-card);color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.fr2-fb-correct{border-color:var(--green-primary);background:#6fcf2a1f;color:var(--green-primary)}.fr2-fb-wrong{border-color:var(--danger);background:#ef44441a;color:var(--danger)}.fr2-section-label{font-size:17px;font-weight:700;color:var(--text-primary);margin-bottom:-4px}.fr2-cal-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:22px;display:flex;align-items:baseline;justify-content:center;gap:8px}.fr2-cal-num{font-size:52px;font-weight:800;color:var(--text-primary);line-height:1;letter-spacing:-2px}.fr2-cal-unit{font-size:16px;color:var(--text-secondary);font-weight:500}.fr2-macros-row{display:flex;align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 0}.fr2-macro-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px}.fr2-macro-label{font-size:12px;color:var(--text-secondary);font-weight:500}.fr2-macro-val{font-size:24px;font-weight:700;color:var(--text-primary)}.fr2-macro-divider{width:1px;height:36px;background:var(--border)}.fr2-ing-header{display:flex;align-items:center;justify-content:space-between}.fr2-add-ing-btn{background:var(--bg-surface);border:1px solid var(--border);border-radius:100px;color:var(--text-primary);font-size:13px;font-weight:600;padding:6px 14px;cursor:pointer;transition:background .2s}.fr2-add-ing-btn:hover{background:var(--bg-surface)}.fr2-ing-list{display:flex;flex-direction:column;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.fr2-ing-item{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-bottom:1px solid var(--border)}.fr2-ing-item:last-child{border-bottom:none}.fr2-ing-name{font-size:14px;color:var(--text-primary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:8px}.fr2-ing-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.fr2-ing-amount{font-size:14px;font-weight:600;color:var(--text-secondary);min-width:44px;text-align:right}.fr2-ing-g{font-size:11px;font-weight:400}.fr2-ing-input{width:56px;background:var(--bg-surface);border:1.5px solid var(--green-primary);border-radius:8px;color:var(--text-primary);font-size:14px;font-weight:600;padding:4px 8px;text-align:center;outline:none}.fr2-ing-icon-btn{background:none;border:none;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;justify-content:center;padding:2px;transition:color .2s}.fr2-ing-icon-btn:hover{color:var(--text-secondary)}.fr2-ing-remove:hover{color:var(--danger)!important}.fr2-add-form{display:flex;gap:8px;align-items:center;background:var(--bg-card);border:1px solid var(--border-green);border-radius:var(--radius-md);padding:10px 12px}.fr2-add-input{flex:1;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:14px;padding:8px 10px;outline:none}.fr2-add-input:focus{border-color:var(--green-primary)}.fr2-add-input::placeholder{color:var(--text-muted)}.fr2-add-input-sm{flex:0 0 72px}.fr2-add-confirm-btn{width:36px;height:36px;background:var(--green-gradient);border:none;border-radius:8px;color:#000;font-size:20px;font-weight:700;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center}.meal-thumb{width:48px;height:48px;border-radius:10px;object-fit:cover;flex-shrink:0}.fr2-weight-row{display:flex;align-items:center;justify-content:space-between;background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:10px 14px;margin-bottom:8px}.fr2-weight-label{font-size:13px;color:var(--text-secondary);font-weight:500}.fr2-weight-input-wrap{display:flex;align-items:center;gap:4px;background:var(--bg-card);border:1.5px solid var(--green-primary);border-radius:8px;padding:2px 8px}.fr2-weight-input{background:transparent;border:none;outline:none;color:var(--text-primary);font-size:16px;font-weight:700;width:64px;text-align:right;-moz-appearance:textfield}.fr2-weight-input::-webkit-outer-spin-button,.fr2-weight-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.fr2-weight-unit{font-size:13px;color:#6fcf2a;font-weight:600}.fr2-per100-row{display:flex;align-items:center;gap:8px;padding:6px 0 2px;margin-bottom:4px}.fr2-per100-label{font-size:11px;color:var(--text-muted);font-weight:600;flex-shrink:0}.fr2-per100-val{font-size:11px;color:var(--text-muted)}input,textarea,select{font-size:16px}@supports (-webkit-touch-callout: none){input,textarea,select{font-size:16px!important}}
