*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;width:100%;min-height:100vh;min-height:-webkit-fill-available;overscroll-behavior:none;-webkit-text-size-adjust:100%}html{height:-webkit-fill-available}#root{width:100%;min-height:100vh;min-height:-webkit-fill-available}:root{--primary: #6366f1;--primary-dark: #4f46e5;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--protein-color: #8b5cf6;--carbs-color: #f59e0b;--fat-color: #ec4899;--fiber-color: #10b981;--sugar-color: #f97316;--border-radius: 12px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--nav-height: 64px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--gray-50);color:var(--gray-800);line-height:1.5}.app{min-height:100vh;max-width:100%;width:100%;margin:0 auto;padding-bottom:80px}@media(min-width:1200px){.app{max-width:1200px}}.app-header{display:flex;justify-content:space-between;align-items:center;padding:16px;padding-top:calc(16px + env(safe-area-inset-top,0px));background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;position:sticky;top:0;z-index:101}.header-left{text-align:left}.app-header h1{font-size:1.5rem;font-weight:700;margin-bottom:2px}.app-header .subtitle{font-size:.75rem;opacity:.9}.header-right{display:flex;align-items:center;gap:12px}.sync-status{display:flex;align-items:center;opacity:.9}.sync-status .sync-ok{color:#a5f3fc}.sync-status .sync-error{color:#fca5a5}.header-icon-btn{display:flex;align-items:center;justify-content:center;background:#ffffff26;border:none;color:#ffffffd9;padding:8px;border-radius:8px;cursor:pointer;transition:all .2s}.header-icon-btn:hover{background:#ffffff40;color:#fff}.header-icon-btn.active{background:#ffffff4d;color:#fff}.header-icon-btn.logout:hover{background:#ef44444d;color:#fca5a5}.logout-btn{display:flex;align-items:center;justify-content:center;background:#fff3;border:none;color:#fff;padding:8px;border-radius:8px;cursor:pointer;transition:background .2s}.logout-btn:hover{background:#ffffff4d}.user-initials{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#ffffff40;border-radius:50%;color:#fff;font-weight:600;font-size:.85rem;cursor:default}.app-nav{display:flex;background:#fff;border-bottom:1px solid var(--gray-200);padding:0 8px;overflow-x:auto;position:sticky;top:0;z-index:100}.nav-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;background:none;border:none;color:var(--gray-400);cursor:pointer;font-size:.75rem;transition:color .2s;min-width:64px}.nav-btn.active{color:var(--primary);border-bottom:2px solid var(--primary)}.nav-btn:hover:not(.active){color:var(--gray-600)}.app-main{padding:16px}.card{background:#fff;border-radius:var(--border-radius);padding:20px;margin-bottom:16px;box-shadow:var(--shadow-sm);border:1px solid var(--gray-100)}.card-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:16px;color:var(--gray-700)}.card-header-left{display:flex;align-items:center;gap:8px}.card-header h3{font-size:1rem;font-weight:600}.scan-meal-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer;transition:background .2s}.scan-meal-btn svg{color:#fff}.scan-meal-btn:hover{background:var(--primary-dark)}.dashboard-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:16px}@media(min-width:768px){.dashboard-grid{grid-template-columns:repeat(2,1fr)}.main-progress{grid-column:span 2}}.date-selector-card{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fff;margin-bottom:8px}.date-nav-btn{background:var(--gray-100);border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--gray-600);transition:all .2s}.date-nav-btn:hover:not(:disabled){background:var(--primary);color:#fff}.date-nav-btn:disabled{opacity:.3;cursor:not-allowed}.date-display-main{display:flex;align-items:center;gap:12px;color:var(--primary)}.date-display-main svg{color:var(--primary)}.date-text{display:flex;flex-direction:column;align-items:center}.date-day{font-weight:600;font-size:1.1rem;color:var(--gray-800)}.date-full{font-size:.85rem;color:var(--gray-500)}.scan-food-card{background:linear-gradient(135deg,var(--success) 0%,#059669 100%);border:none;cursor:pointer;transition:all .3s ease}.scan-food-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #10b9814d}.scan-food-btn{display:flex;align-items:center;justify-content:center;gap:16px;padding:24px;background:none;border:none;color:#fff;cursor:pointer;width:100%}.scan-food-btn .icon-wrapper{width:64px;height:64px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center}.scan-food-btn .btn-text{text-align:left}.scan-food-btn .btn-title{display:block;font-size:1.25rem;font-weight:700;margin-bottom:4px}.scan-food-btn .btn-subtitle{font-size:.875rem;opacity:.9}.main-progress{text-align:center}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.progress-header h2{font-size:1.25rem;color:var(--gray-800)}.target-badge{background:var(--gray-100);padding:4px 12px;border-radius:20px;font-size:.875rem;color:var(--gray-600)}.progress-content{display:flex;justify-content:center;margin-bottom:16px}.circular-progress{position:relative}.circular-progress-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.circular-progress-value{display:block;font-size:2rem;font-weight:700;color:var(--gray-800)}.circular-progress-label{display:block;font-size:.875rem;color:var(--gray-500)}.circular-progress-sublabel{display:block;font-size:.75rem;color:var(--gray-400)}.calories-remaining{text-align:center;padding-top:12px;border-top:1px solid var(--gray-100)}.remaining-value{display:block;font-size:1.5rem;font-weight:700}.remaining-value.positive{color:var(--success)}.remaining-value.negative{color:var(--danger)}.remaining-label{font-size:.875rem;color:var(--gray-500)}.macros-card h3{margin-bottom:16px;font-size:1rem;color:var(--gray-700)}.macro-bars{display:flex;flex-direction:column;gap:12px}.macro-row{display:flex;flex-direction:column;gap:4px}.macro-label{display:flex;justify-content:space-between;font-size:.875rem}.macro-name{color:var(--gray-600)}.macro-value{font-weight:600;color:var(--gray-800)}.macro-bar{height:8px;background:var(--gray-100);border-radius:4px;overflow:hidden}.macro-bar-fill{height:100%;border-radius:4px;transition:width .3s ease}.macro-bar-fill.protein{background:var(--protein-color)}.macro-bar-fill.carbs{background:var(--carbs-color)}.macro-bar-fill.fat{background:var(--fat-color)}.macro-bar-fill.fiber{background:var(--fiber-color)}.macro-bar-fill.sugar{background:var(--sugar-color)}.macro-bar-fill.sugar.over-limit{background:var(--danger)}.workout-input-group{display:flex;align-items:center;gap:8px}.workout-input-group input{width:100px;padding:10px 12px;font-size:1.25rem;font-weight:600;text-align:center;border:2px solid var(--gray-200);border-radius:8px;outline:none;transition:border-color .2s}.workout-input-group input:focus{border-color:var(--primary)}.workout-input-group span{color:var(--gray-500);font-size:.875rem}.deficit-value{text-align:center;margin-bottom:16px}.deficit-value span:first-child{display:block;font-size:2rem;font-weight:700}.deficit-value .positive{color:var(--success)}.deficit-value .negative{color:var(--danger)}.deficit-label{color:var(--gray-500);font-size:.875rem}.deficit-breakdown{background:var(--gray-50);padding:12px;border-radius:8px;font-size:.875rem}.breakdown-row{display:flex;justify-content:space-between;padding:4px 0;color:var(--gray-600)}.dashboard-v2{padding-bottom:80px}.date-selector-compact{display:flex;align-items:center;justify-content:center;gap:16px;padding:12px;margin-bottom:12px}.date-display-compact{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--gray-700)}.hero-calories-card{background:#fff;border-radius:20px;padding:24px;text-align:center;box-shadow:0 4px 20px #00000014;margin-bottom:16px}.hero-calories-card.over-target{background:linear-gradient(135deg,#fef2f2,#fee2e2)}.hero-ring{position:relative;width:180px;height:180px;margin:0 auto 16px}.progress-ring{width:100%;height:100%;transform:rotate(-90deg)}.progress-ring-bg{stroke:var(--gray-100)}.progress-ring-fill{stroke:var(--success);transition:stroke-dasharray .5s ease}.progress-ring-fill.over{stroke:var(--danger)}.hero-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.hero-number{display:block;font-size:3rem;font-weight:700;color:var(--success);line-height:1}.hero-number.over{color:var(--danger)}.hero-label{font-size:.9rem;color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px}.hero-details{display:flex;align-items:center;justify-content:center;gap:16px}.hero-eaten,.hero-target{text-align:center}.hero-details .detail-value{display:block;font-size:1.25rem;font-weight:600;color:var(--gray-800)}.hero-details .detail-label{font-size:.75rem;color:var(--gray-500);text-transform:uppercase}.hero-divider{font-size:1.5rem;color:var(--gray-300);font-weight:300}.macros-compact{display:flex;gap:8px;overflow-x:auto;padding:4px 0 12px;margin-bottom:12px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.macros-compact::-webkit-scrollbar{display:none}.macro-pill{flex:1;min-width:65px;background:#fff;border-radius:12px;padding:10px 8px;text-align:center;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000000f}.macro-pill-value{display:block;font-size:1rem;font-weight:700;color:var(--gray-800)}.macro-pill-label{display:block;font-size:.65rem;color:var(--gray-500);text-transform:uppercase;letter-spacing:.3px}.macro-pill-bar{position:absolute;bottom:0;left:0;height:3px;transition:width .3s ease}.macro-pill.protein .macro-pill-bar{background:var(--protein-color)}.macro-pill.carbs .macro-pill-bar{background:var(--carbs-color)}.macro-pill.fat .macro-pill-bar{background:var(--fat-color)}.macro-pill.fiber .macro-pill-bar{background:var(--fiber-color)}.macro-pill.sugar .macro-pill-bar{background:var(--sugar-color)}.macro-pill.sugar.over-limit .macro-pill-bar{background:var(--danger)}.quick-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.stat-card{background:#fff;border-radius:14px;padding:14px 10px;text-align:center;box-shadow:0 2px 8px #0000000f;cursor:pointer;transition:transform .2s;overflow:hidden;min-width:0}.stat-card:hover{transform:translateY(-2px)}.stat-card-header{display:flex;align-items:center;justify-content:center;gap:4px;color:var(--gray-500);font-size:.7rem;text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px}.stat-card-value{font-size:1.4rem;font-weight:700;color:var(--gray-800)}.stat-card-value.positive{color:var(--success)}.stat-card-value.negative{color:var(--danger)}.stat-card-value.empty{color:var(--gray-400);font-size:1.2rem}.stat-card.clickable{cursor:pointer;transition:transform .15s,box-shadow .15s}.stat-card.clickable:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-card.clickable:active{transform:translateY(0)}.stat-card.tdee-deficit-card .stat-card-header{color:var(--primary)}.stat-card.steps-card .stat-card-header{color:#f59e0b}.stat-card.muscle-card .stat-card-header,.stat-card.muscle-card .stat-card-value{color:#8b5cf6}.stat-card-label{font-size:.7rem;color:var(--gray-500)}.stat-card-action{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:6px;font-size:.65rem;color:var(--primary)}.workout-input-mini{width:60px;text-align:center;font-size:1.3rem;font-weight:700;border:none;background:var(--gray-50);border-radius:8px;padding:4px;color:var(--gray-800)}.workout-input-mini:focus{outline:2px solid var(--primary)}.goal-mini-progress{height:4px;background:var(--gray-100);border-radius:2px;margin-top:8px;overflow:hidden}.goal-mini-fill{height:100%;background:var(--primary);border-radius:2px;transition:width .3s ease}.tdee-summary{background:#fff;border-radius:14px;padding:14px;display:flex;align-items:center;gap:12px;margin-bottom:16px;box-shadow:0 2px 8px #0000000f}.tdee-item{display:flex;align-items:center;gap:6px}.tdee-icon{font-size:1.2rem}.tdee-summary .tdee-value{font-size:1.1rem;font-weight:700;color:var(--gray-800)}.tdee-summary .tdee-label{font-size:.75rem;color:var(--gray-500);text-transform:uppercase}.tdee-breakdown{flex:1;font-size:.8rem;color:var(--gray-500);text-align:center}.tdee-extras{display:flex;gap:10px}.tdee-extra{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--gray-600)}.calorie-equation-card{background:#fff;border-radius:16px;padding:16px;margin-bottom:16px;box-shadow:0 2px 12px #00000014}.equation-row{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.equation-item{text-align:center;min-width:50px}.equation-value{display:block;font-size:1.2rem;font-weight:700;color:var(--gray-800);line-height:1.2}.equation-label{display:block;font-size:.65rem;color:var(--gray-500);text-transform:uppercase;letter-spacing:.3px}.equation-item.goal .equation-value{color:var(--primary)}.equation-item.food .equation-value{color:var(--gray-700)}.equation-item.exercise .equation-value{color:var(--success)}.equation-item.result .equation-value{color:var(--success);font-size:1.4rem}.equation-item.result.negative .equation-value{color:var(--danger)}.equation-operator{font-size:1.25rem;font-weight:300;color:var(--gray-400);margin:0 2px}.bmr-info-row{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding-top:12px;border-top:1px solid var(--gray-100)}.bmr-badge{display:flex;align-items:center;gap:6px;background:linear-gradient(135deg,#fef3c7,#fde68a);padding:6px 12px;border-radius:20px;font-size:.75rem}.bmr-badge svg{color:#d97706}.bmr-value{font-weight:600;color:var(--gray-700)}.bmr-source{color:var(--gray-500);font-size:.7rem}.activity-badges{display:flex;gap:8px}.activity-badge{display:flex;align-items:center;gap:4px;background:var(--gray-100);padding:4px 10px;border-radius:12px;font-size:.75rem;color:var(--gray-600)}.activity-badge svg{color:var(--gray-500)}@media(max-width:360px){.equation-row{gap:4px}.equation-value{font-size:1rem}.equation-item.result .equation-value{font-size:1.2rem}.equation-operator{font-size:1rem}.bmr-info-row{flex-direction:column;gap:8px}}.floating-scan-btn{position:fixed;bottom:24px;right:24px;width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--success) 0%,#059669 100%);border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 20px #10b98166;transition:all .3s ease;z-index:100}.floating-scan-btn:hover{transform:scale(1.1);box-shadow:0 6px 25px #10b98180}.floating-scan-btn:active{transform:scale(.95)}.clickable{cursor:pointer;transition:transform .2s,box-shadow .2s}.clickable:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000001f}.clickable:active{transform:translateY(0)}.macro-pill.clickable:hover{transform:translateY(-3px)}.tap-hint{display:block;margin-top:12px;font-size:.7rem;color:var(--gray-400);text-transform:uppercase;letter-spacing:.5px}.breakdown-modal{background:#fff;border-radius:20px;width:90%;max-width:400px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.breakdown-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--gray-100)}.breakdown-header h3{font-size:1.1rem;font-weight:600;margin:0}.breakdown-header .close-btn{background:var(--gray-100);border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--gray-600)}.breakdown-header .close-btn:hover{background:var(--gray-200)}.breakdown-total{padding:20px;text-align:center;background:var(--gray-50)}.breakdown-total-value{display:block;font-size:2.5rem;font-weight:700;color:var(--gray-800)}.breakdown-total-label{font-size:.85rem;color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px}.breakdown-empty{padding:40px 20px;text-align:center;color:var(--gray-500)}.breakdown-list{flex:1;overflow-y:auto;padding:12px 16px}.breakdown-item{padding:12px;border-radius:12px;background:var(--gray-50);margin-bottom:8px}.breakdown-item-info{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px}.breakdown-item-name{font-weight:500;color:var(--gray-800);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.breakdown-item-name .community-badge{font-size:.6rem;padding:2px 6px;background:var(--primary);color:#fff;border-radius:4px;font-weight:500;text-transform:uppercase}.breakdown-item-qty{font-size:.75rem;color:var(--gray-500)}.breakdown-item-value{font-size:1.1rem;font-weight:600;color:var(--gray-700);margin-bottom:6px}.breakdown-item-bar{height:4px;background:var(--gray-200);border-radius:2px;overflow:hidden}.breakdown-item-fill{height:100%;border-radius:2px;transition:width .3s ease}.breakdown-item-fill.calories{background:var(--primary)}.breakdown-item-fill.protein{background:var(--protein-color)}.breakdown-item-fill.carbs{background:var(--carbs-color)}.breakdown-item-fill.fat{background:var(--fat-color)}.breakdown-item-fill.fiber{background:var(--fiber-color)}.breakdown-item-fill.sugar{background:var(--sugar-color)}@media(max-width:480px){.hero-ring{width:150px;height:150px}.hero-number{font-size:2.5rem}.quick-stats-grid{grid-template-columns:repeat(2,1fr);gap:8px}.stat-card{padding:10px 6px}.stat-card-value{font-size:1.2rem}.floating-scan-btn{bottom:16px;right:16px;width:56px;height:56px}}@media(max-width:375px){.quick-stats-grid{grid-template-columns:repeat(2,1fr);gap:6px}.stat-card{padding:8px 4px}.stat-card-value{font-size:1rem}.stat-card-header{font-size:.6rem}.hero-ring{width:130px;height:130px}.hero-number{font-size:2rem}}.meal-logger{padding-top:8px}.date-selector{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:20px}.date-btn{padding:8px;background:var(--gray-100);border:none;border-radius:8px;cursor:pointer;color:var(--gray-600);transition:background .2s}.date-btn:hover:not(:disabled){background:var(--gray-200)}.date-btn:disabled{opacity:.5;cursor:not-allowed}.date-display{text-align:center}.date-label{display:block;font-size:.75rem;color:var(--gray-500);text-transform:uppercase}.date-value{font-weight:600;color:var(--gray-800)}.meal-list h3{font-size:.875rem;color:var(--gray-500);margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.meal-item{display:flex;align-items:center;gap:12px;padding:14px;margin-bottom:8px;background:var(--gray-50);border:2px solid transparent;border-radius:10px;cursor:pointer;transition:all .2s}.meal-item:hover{background:var(--gray-100)}.meal-item.selected{background:#6366f114;border-color:var(--primary)}.meal-checkbox{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:2px solid var(--gray-300);border-radius:6px;flex-shrink:0;transition:all .2s}.meal-item.selected .meal-checkbox{background:var(--primary);border-color:var(--primary);color:#fff}.meal-info{flex:1}.meal-name{display:block;font-weight:600;color:var(--gray-800);margin-bottom:2px}.meal-macros{display:block;font-size:.8rem;color:var(--gray-500)}.meal-macros.secondary{display:block;font-size:.75rem;color:var(--gray-400);margin-top:2px}.added-sugar-indicator{font-size:.85em;color:var(--gray-400);opacity:.9}.macro-pill .added-sugar-indicator{font-size:.7em;opacity:.8;white-space:nowrap}.delete-meal-btn{padding:6px;background:none;border:none;color:var(--gray-400);cursor:pointer;border-radius:6px;transition:all .2s}.delete-meal-btn:hover{background:var(--danger);color:#fff}.remove-from-library-btn{padding:6px;background:none;border:none;color:var(--gray-400);cursor:pointer;border-radius:6px;transition:all .2s}.remove-from-library-btn:hover{background:var(--gray-200);color:var(--gray-600)}.edit-meal-btn{padding:6px;background:none;border:none;color:var(--gray-400);cursor:pointer;border-radius:6px;transition:all .2s}.edit-meal-btn:hover{background:var(--primary);color:#fff}.meal-actions{display:flex;align-items:center;gap:4px}.favorite-btn{background:none;border:none;cursor:pointer;color:var(--gray-300);padding:6px;border-radius:6px;transition:all .2s;display:flex;align-items:center;justify-content:center}.favorite-btn:hover{color:#fbbf24;background:#fbbf241a}.favorite-btn.active{color:#f59e0b}.favorite-btn.active:hover{color:#d97706}.delete-confirm-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.delete-confirm-dialog{background:#fff;padding:24px;border-radius:16px;max-width:400px;width:100%;text-align:center;box-shadow:var(--shadow-lg)}.delete-confirm-dialog h4{font-size:1.25rem;margin-bottom:12px;color:var(--gray-900)}.delete-confirm-dialog p{color:var(--gray-600);margin-bottom:8px}.delete-warning{color:var(--danger)!important;font-size:.9rem;margin-top:8px}.delete-confirm-actions{display:flex;gap:12px;justify-content:center;margin-top:20px}.btn-secondary{padding:10px 20px;border:1px solid var(--gray-300);background:#fff;color:var(--gray-700);border-radius:8px;cursor:pointer;font-size:.95rem;transition:all .2s}.btn-secondary:hover{background:var(--gray-100)}.btn-danger{padding:10px 20px;border:none;background:var(--danger);color:#fff;border-radius:8px;cursor:pointer;font-size:.95rem;transition:all .2s}.btn-danger:hover{background:#dc2626}.btn-primary{padding:10px 20px;border:none;background:var(--primary);color:#fff;border-radius:8px;cursor:pointer;font-size:.95rem;transition:all .2s}.meal-toggle-dialog .meal-toggle-name{font-size:1.1rem;font-weight:600;color:var(--gray-900);margin-bottom:8px}.meal-toggle-dialog .meal-toggle-macros{font-size:.9rem;color:var(--gray-500);margin-bottom:4px}.meal-toggle-dialog .meal-toggle-quantity{display:flex;align-items:center;justify-content:center;gap:8px;margin:16px 0}.meal-toggle-dialog .quantity-input{width:80px;padding:10px 12px;font-size:1.1rem;text-align:center}.meal-toggle-dialog .unit-select{padding:10px 12px;font-size:1rem}.meal-toggle-dialog .unit-label{font-size:1rem;color:var(--gray-600)}.trash-section{margin-top:24px;border-top:1px solid var(--gray-200);padding-top:16px}.trash-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 16px;background:var(--gray-100);border:none;border-radius:10px;cursor:pointer;color:var(--gray-600);font-size:.9rem;font-weight:500;transition:all .2s}.trash-header:hover{background:var(--gray-200)}.trash-header-left{display:flex;align-items:center;gap:8px}.trash-content{margin-top:12px}.trash-info{font-size:.8rem;color:var(--gray-500);margin-bottom:12px;padding:0 4px}.trash-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;margin-bottom:8px;background:var(--gray-50);border:1px dashed var(--gray-300);border-radius:10px;opacity:.8}.trash-item-info{flex:1;display:flex;flex-direction:column;gap:2px}.trash-item-info .meal-name{color:var(--gray-600);text-decoration:line-through;text-decoration-color:var(--gray-400)}.trash-item-info .meal-macros{font-size:.75rem;color:var(--gray-400)}.expiry-badge{font-size:.7rem;color:var(--gray-500);background:var(--gray-200);padding:2px 8px;border-radius:12px;width:fit-content;margin-top:4px}.expiry-badge.expiring-soon{background:#ef44441a;color:var(--danger)}.trash-item-actions{display:flex;align-items:center;gap:4px}.restore-btn{padding:8px;background:none;border:none;color:var(--gray-400);cursor:pointer;border-radius:6px;transition:all .2s;display:flex;align-items:center;justify-content:center}.restore-btn:hover{background:var(--success);color:#fff}.perm-delete-btn{padding:8px;background:none;border:none;color:var(--gray-400);cursor:pointer;border-radius:6px;transition:all .2s;display:flex;align-items:center;justify-content:center}.perm-delete-btn:hover{background:var(--danger);color:#fff}.warning-icon{color:var(--danger);margin-bottom:12px}.delete-info{color:var(--gray-500)!important;font-size:.85rem}.add-meal-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;margin-top:16px;background:#fff;border:2px dashed var(--gray-300);border-radius:10px;color:var(--gray-600);cursor:pointer;font-size:.9rem;transition:all .2s}.add-meal-btn:hover{border-color:var(--primary);color:var(--primary)}.add-meal-form{margin-top:16px;padding:16px;background:var(--gray-50);border-radius:10px}.form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.form-header h4{font-size:1rem;color:var(--gray-800)}.form-header button{background:none;border:none;color:var(--gray-400);cursor:pointer;padding:4px}.add-meal-form input{width:100%;padding:12px;margin-bottom:12px;border:1px solid var(--gray-200);border-radius:8px;font-size:1rem;outline:none;transition:border-color .2s}.add-meal-form input:focus{border-color:var(--primary)}.macro-inputs{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.macro-inputs input{margin-bottom:0}.macro-field{display:flex;flex-direction:column;gap:4px}.macro-field label{font-size:.75rem;font-weight:500;color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px}.macro-field input{margin-bottom:0}.form-field{margin-bottom:12px}.form-field label{display:block;font-size:.8rem;font-weight:500;color:var(--gray-600);margin-bottom:4px}.form-field input{margin-bottom:0}.edit-meal-modal{max-width:480px;width:90%;max-height:90vh;overflow-y:auto;padding:24px}.edit-meal-modal .form-header{margin:-24px -24px 20px;padding:16px 24px;border-bottom:1px solid var(--gray-200)}.edit-meal-modal .add-meal-form{background:none;padding:0;border:none;border-radius:0}.edit-meal-modal .macro-inputs{margin-bottom:16px}.edit-meal-modal .submit-btn{margin-top:20px}.submit-btn{width:100%;padding:12px;margin-top:12px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.submit-btn:hover{background:var(--primary-dark)}.food-scanner-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.food-scanner{background:#fff;border-radius:16px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.scanner-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--gray-100)}.scanner-header h2{font-size:1.25rem}.close-btn{padding:8px;background:none;border:none;color:var(--gray-400);cursor:pointer;border-radius:8px}.close-btn:hover{background:var(--gray-100);color:var(--gray-600)}.capture-section{padding:40px 20px;display:flex;flex-direction:column;align-items:center;gap:16px}.capture-btn{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 48px;border:none;border-radius:16px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .2s}.capture-btn.primary{background:linear-gradient(135deg,var(--success) 0%,#059669 100%);color:#fff;width:100%}.capture-btn.primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #10b9814d}.capture-btn.secondary{background:var(--gray-100);color:var(--gray-700);width:100%}.capture-btn.secondary:hover:not(:disabled){background:var(--gray-200)}.capture-btn:disabled{opacity:.5;cursor:not-allowed}.api-warning{display:flex;align-items:center;gap:8px;color:var(--warning);font-size:.875rem;margin-top:8px}.analysis-section{padding:20px}.image-preview{position:relative;border-radius:12px;overflow:hidden;margin-bottom:16px}.image-preview img{width:100%;height:auto;display:block}.analyzing-overlay{position:absolute;inset:0;background:#000000b3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#fff}.spin{animation:spin 1s linear infinite}.detected-foods{margin-bottom:16px}.detected-foods h3{font-size:1rem;margin-bottom:12px;color:var(--gray-700)}.food-card{background:var(--gray-50);border-radius:12px;padding:16px;margin-bottom:12px}.food-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.food-name-input{flex:1;padding:8px 12px;font-size:1rem;font-weight:600;border:1px solid var(--gray-200);border-radius:8px;background:#fff}.food-name-input:focus{outline:none;border-color:var(--primary)}.confidence-badge{padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:capitalize}.portion-info{margin-bottom:12px}.portion-text{font-size:.875rem;color:var(--gray-500)}.portion-slider{margin-bottom:16px}.slider-label{display:block;font-size:.75rem;color:var(--gray-500);margin-bottom:8px}.slider-container{display:flex;align-items:center;gap:12px;margin-bottom:8px}.slider-container input[type=range]{flex:1;height:8px;-webkit-appearance:none;background:var(--gray-200);border-radius:4px;outline:none}.slider-container input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;background:var(--primary);border-radius:50%;cursor:pointer}.multiplier-value{font-weight:600;color:var(--primary);min-width:40px}.preset-buttons{display:flex;gap:8px}.preset-buttons button{flex:1;padding:8px;background:#fff;border:1px solid var(--gray-200);border-radius:6px;font-size:.875rem;cursor:pointer;transition:all .2s}.preset-buttons button:hover{background:var(--gray-100)}.nutrition-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}.nutrition-item{text-align:center;padding:8px;background:#fff;border-radius:8px}.nutrition-value{display:block;font-size:1.125rem;font-weight:700;color:var(--gray-800)}.nutrition-item.protein .nutrition-value{color:var(--protein-color)}.nutrition-item.carbs .nutrition-value{color:var(--carbs-color)}.nutrition-item.fat .nutrition-value{color:var(--fat-color)}.nutrition-item.fiber .nutrition-value{color:var(--fiber-color)}.nutrition-item.sugar .nutrition-value{color:var(--sugar-color)}.nutrition-label{font-size:.7rem;color:var(--gray-500);text-transform:uppercase}.food-actions{display:flex;gap:8px}.log-btn,.save-log-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:12px;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.log-btn{background:var(--primary);color:#fff}.log-btn:hover{background:var(--primary-dark)}.save-log-btn{background:var(--success);color:#fff}.save-log-btn:hover{filter:brightness(1.1)}.log-all-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:16px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;margin-top:8px}.log-all-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.scanner-actions{display:flex;gap:12px}.retake-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background:var(--gray-100);color:var(--gray-700);border:none;border-radius:8px;font-size:.9rem;cursor:pointer}.retake-btn:hover{background:var(--gray-200)}.error-message{display:flex;align-items:center;gap:8px;margin-bottom:16px;padding:12px;background:#ef44441a;color:var(--danger);border-radius:8px;font-size:.9rem}.success-message{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:16px;padding:16px;background:#10b9811a;color:#047857;border-radius:8px;font-size:1rem;font-weight:500}.inbody-upload{max-width:600px;margin:0 auto}.inbody-header{text-align:center;margin-bottom:24px}.inbody-header h2{font-size:1.5rem;margin-bottom:8px}.inbody-header p{color:var(--gray-500)}.api-key-card{margin-bottom:16px}.api-key-card h3{font-size:.9rem;color:var(--gray-600)}.api-key-form{display:flex;gap:8px;flex-wrap:wrap}.api-key-form input{flex:1;min-width:200px;padding:10px 12px;border:1px solid var(--gray-200);border-radius:8px;font-size:.9rem;outline:none}.api-key-form input:focus{border-color:var(--primary)}.api-key-actions{display:flex;gap:8px}.api-key-status{display:flex;align-items:center;gap:8px;color:var(--success);font-size:.9rem}.upload-card{text-align:center}.upload-btn{display:inline-flex;align-items:center;gap:12px;padding:20px 32px;background:var(--primary);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.upload-btn:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px)}.upload-btn:disabled{opacity:.6;cursor:not-allowed}.upload-options{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}.or-divider{color:var(--gray-500);font-size:.9rem;font-weight:500}.manual-entry-btn{display:inline-flex;align-items:center;gap:12px;padding:20px 32px;background:transparent;color:var(--primary);border:2px solid var(--primary);border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.manual-entry-btn:hover:not(:disabled){background:var(--primary);color:#fff;transform:translateY(-1px)}.manual-entry-btn:disabled{opacity:.6;cursor:not-allowed}.preview-card{border:2px solid var(--primary)}.preview-card h3{margin-bottom:4px}.preview-note{font-size:.875rem;color:var(--gray-500);margin-bottom:16px}.preview-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.preview-field{display:flex;flex-direction:column;gap:4px}.preview-field label{font-size:.75rem;color:var(--gray-500);text-transform:uppercase}.preview-field input{padding:10px;border:1px solid var(--gray-200);border-radius:8px;font-size:1rem;outline:none}.preview-field input:focus{border-color:var(--primary)}.preview-actions{display:flex;gap:12px;margin-top:16px}.confirm-btn,.cancel-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.confirm-btn{background:var(--success);color:#fff}.confirm-btn:hover{filter:brightness(1.1)}.cancel-btn{background:var(--gray-100);color:var(--gray-600)}.cancel-btn:hover{background:var(--gray-200)}.scans-history h3{margin-bottom:16px}.scans-table{overflow-x:auto}.table-header,.table-row{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr 40px;gap:8px;padding:12px;align-items:center}.table-header{font-size:.75rem;text-transform:uppercase;color:var(--gray-500);border-bottom:1px solid var(--gray-200)}.table-row{font-size:.9rem;border-bottom:1px solid var(--gray-100)}.table-row:last-child{border-bottom:none}.delete-btn,.edit-btn{padding:6px;background:none;border:none;color:var(--gray-400);cursor:pointer;border-radius:4px}.delete-btn:hover{background:var(--danger);color:#fff}.edit-btn:hover{color:var(--primary)}.overwrite-warning-modal{background:#fff;border-radius:16px;width:100%;max-width:400px;box-shadow:var(--shadow-lg);overflow:hidden}.overwrite-warning-modal .modal-header{display:flex;align-items:center;gap:12px;padding:20px;background:#fef3c7;border-bottom:1px solid #fde68a}.overwrite-warning-modal .modal-header.warning{color:#92400e}.overwrite-warning-modal .modal-header h3{margin:0;font-size:1.1rem}.overwrite-warning-modal .modal-body{padding:20px}.overwrite-warning-modal .modal-body p{margin:0 0 12px;color:var(--gray-600)}.overwrite-warning-modal .modal-body p:last-child{margin-bottom:0}.overwrite-warning-modal .modal-actions{display:flex;gap:12px;padding:16px 20px 20px;border-top:1px solid var(--gray-100)}.overwrite-warning-modal .modal-actions button{flex:1;padding:12px 16px;border-radius:8px;border:none;font-weight:600;cursor:pointer;transition:all .2s}.overwrite-warning-modal .btn-secondary{background:var(--gray-100);color:var(--gray-700)}.overwrite-warning-modal .btn-secondary:hover{background:var(--gray-200)}.overwrite-warning-modal .btn-danger{background:#dc2626;color:#fff}.overwrite-warning-modal .btn-danger:hover{background:#b91c1c}.progress-tracker{max-width:800px;margin:0 auto}.progress-header{text-align:center;margin-bottom:24px}.progress-header h2{font-size:1.5rem}.goal-card{text-align:center}.goal-header{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:20px;color:var(--primary)}.goal-stats{display:flex;justify-content:space-around;margin-bottom:20px}.stat{text-align:center}.stat.current{transform:scale(1.1)}.stat-value{display:block;font-size:1.5rem;font-weight:700;color:var(--gray-800)}.stat.current .stat-value{color:var(--primary)}.stat-label{font-size:.75rem;color:var(--gray-500)}.goal-progress-bar{position:relative;height:24px;background:var(--gray-100);border-radius:12px;overflow:hidden;margin-bottom:12px}.goal-progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--success));border-radius:12px;transition:width .5s ease}.goal-progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.75rem;font-weight:600;color:var(--gray-700)}.goal-details{display:flex;justify-content:space-between;font-size:.875rem}.goal-details .lost{display:flex;align-items:center;gap:4px;color:var(--success)}.goal-details .remaining{color:var(--gray-500)}.weighin-form-card h3{margin-bottom:12px}.weighin-form{display:flex;gap:12px;flex-wrap:wrap}.weighin-form input[type=date]{padding:10px 12px;border:1px solid var(--gray-200);border-radius:8px;font-size:1rem;outline:none}.weight-input-group{display:flex;align-items:center;gap:4px}.weight-input-group input{width:80px;padding:10px 12px;border:1px solid var(--gray-200);border-radius:8px;font-size:1rem;outline:none}.weight-input-group span{color:var(--gray-500)}.weighin-form button{display:flex;align-items:center;gap:4px;padding:10px 16px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:1rem;cursor:pointer}.chart-tabs{display:flex;gap:8px;margin-bottom:16px}.chart-tabs button{padding:10px 20px;background:#fff;border:1px solid var(--gray-200);border-radius:8px;font-size:.9rem;color:var(--gray-600);cursor:pointer;transition:all .2s}.chart-tabs button.active{background:var(--primary);border-color:var(--primary);color:#fff}.chart-card h3{margin-bottom:16px}.chart-container{width:100%;height:300px}.no-data{text-align:center;color:var(--gray-400);padding:40px}.no-data-icon{color:var(--gray-300);margin-bottom:16px}.no-data-hint{font-size:.85rem;color:var(--gray-400);margin-top:8px}.steps-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}.steps-stat-card{display:flex;align-items:center;gap:12px;padding:14px;background:var(--gray-50);border-radius:12px;border:1px solid var(--gray-100)}.steps-stat-card .stat-icon{flex-shrink:0}.steps-stat-card .stat-icon.flame{color:#f97316}.steps-stat-card .stat-icon.avg{color:#3b82f6}.steps-stat-card .stat-icon.trophy{color:#eab308}.steps-stat-card .stat-icon.total{color:#8b5cf6}.steps-stat-card .stat-content{display:flex;flex-direction:column}.steps-stat-card .stat-value{font-size:1.1rem;font-weight:700;color:var(--gray-800)}.steps-stat-card .stat-label{font-size:.75rem;color:var(--gray-500)}.steps-motivation{margin-top:16px;padding:16px;border-radius:12px;text-align:center}.motivation-text{margin:0;font-size:.95rem;font-weight:500}.motivation-text.success{color:#059669;background:#d1fae5;padding:12px 16px;border-radius:8px}.motivation-text.good{color:#2563eb;background:#dbeafe;padding:12px 16px;border-radius:8px}.motivation-text.encourage{color:#7c3aed;background:#ede9fe;padding:12px 16px;border-radius:8px}.hero-stats-bar{display:flex;align-items:center;justify-content:space-around;background:#fff;border-radius:12px;padding:16px 12px;margin-bottom:16px;box-shadow:0 1px 3px #00000014}.hero-stat{display:flex;flex-direction:column;align-items:center;text-align:center}.hero-stat-value{font-size:1.3rem;font-weight:700;line-height:1.2}.hero-stat-label{font-size:.7rem;color:var(--gray-500);text-transform:uppercase;letter-spacing:.3px;margin-top:2px}.hero-stat-divider{width:1px;height:36px;background:var(--gray-200)}.card-header{display:flex;align-items:center;gap:10px;margin-bottom:16px;color:var(--gray-700)}.card-header h3{margin:0;font-size:1.1rem;font-weight:600}.card-header svg{color:var(--primary)}.confidence-badge{margin-left:auto;padding:4px 10px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;border-radius:12px}.confidence-badge.confidence-high{background:#d1fae5;color:#059669}.confidence-badge.confidence-medium{background:#dbeafe;color:#2563eb}.confidence-badge.confidence-low{background:#fef3c7;color:#d97706}.confidence-badge.confidence-very-low{background:#f3f4f6;color:#6b7280}.confidence-notice{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#fffbeb;border:1px solid #fef3c7;border-radius:8px;margin-bottom:12px;font-size:.8rem;color:#92400e}.confidence-icon{font-size:1rem}.intelligence-status,.quality-status,.metabolic-status{display:flex;align-items:flex-start;gap:12px;padding:14px;background:var(--gray-50);border-radius:10px;border-left:4px solid var(--gray-300);margin-bottom:16px}.status-emoji{font-size:1.4rem;line-height:1}.status-content{flex:1}.status-title{display:block;font-weight:600;font-size:1rem;margin-bottom:4px}.status-message{margin:0;font-size:.85rem;color:var(--gray-600);line-height:1.4}.intelligence-details,.metabolic-details{padding-top:8px}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--gray-100)}.detail-row:last-child{border-bottom:none}.detail-label{font-size:.85rem;color:var(--gray-500)}.detail-value{font-size:.95rem;font-weight:600;color:var(--gray-800)}.detail-value.highlight{color:var(--primary)}.response-bar{position:relative;height:24px;background:var(--gray-100);border-radius:12px;overflow:hidden;margin:12px 0 8px}.response-fill{height:100%;border-radius:12px;transition:width .5s ease}.response-label{position:absolute;top:50%;right:12px;transform:translateY(-50%);font-size:.75rem;font-weight:600;color:var(--gray-700)}.intelligence-footnote,.metabolic-footnote{font-size:.75rem;color:var(--gray-400);margin:8px 0 0;text-align:center}.quality-breakdown{margin-top:16px}.breakdown-item{margin-bottom:12px}.breakdown-item:last-child{margin-bottom:0}.breakdown-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:.85rem}.breakdown-header span:first-child{color:var(--gray-600)}.breakdown-header span:last-child{font-weight:600;color:var(--gray-800)}.breakdown-bar{height:8px;background:var(--gray-100);border-radius:4px;overflow:hidden}.breakdown-fill{height:100%;border-radius:4px;transition:width .5s ease}.breakdown-fill.fat{background:#ef4444}.breakdown-fill.muscle{background:#10b981}.breakdown-fill.water{background:#3b82f6}.collapsible-card{padding:0;overflow:hidden}.collapsible-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px;background:none;border:none;cursor:pointer;color:var(--gray-800);gap:12px}.collapsible-header:hover{background:var(--gray-50)}.collapsible-header-left{display:flex;align-items:center;gap:10px}.collapsible-header-left h3{margin:0;font-size:1rem;font-weight:600}.collapsible-header-left svg{color:var(--primary);flex-shrink:0}.collapsible-header-right{display:flex;align-items:center;gap:12px}.collapsible-header-right svg{color:var(--gray-400);flex-shrink:0}.collapsible-insight{font-size:.875rem;font-weight:500;white-space:nowrap}.collapsible-content{padding:0 16px 16px;border-top:1px solid var(--gray-100)}.weighins-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0;background:none;border:none;cursor:pointer;color:var(--gray-800)}.weighins-toggle h3{margin:0;font-size:1rem}.weighins-toggle svg{color:var(--gray-400)}.chart-subtitle{display:flex;flex-wrap:wrap;gap:12px;font-size:.75rem;margin-bottom:12px}.chart-subtitle span{padding:4px 8px;border-radius:4px}.chart-subtitle .healthy-zone{background:#d1fae5;color:#059669}.chart-subtitle .elevated-zone{background:#fef3c7;color:#d97706}.chart-subtitle .danger-zone{background:#fee2e2;color:#dc2626}@media(max-width:400px){.hero-stats-bar{padding:12px 8px}.hero-stat-value{font-size:1.1rem}.hero-stat-label{font-size:.65rem}.hero-stat-divider{height:28px}}.weighins-list h3{margin-bottom:16px}.weighins-grid{display:flex;flex-direction:column;gap:8px}.weighin-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--gray-50);border-radius:8px}.weighin-date{flex:1;color:var(--gray-600)}.weighin-weight{font-weight:600;color:var(--gray-800)}.weekly-summary{max-width:800px;margin:0 auto}.summary-header{text-align:center;margin-bottom:24px}.summary-header h2{font-size:1.5rem;margin-bottom:4px}.days-logged{color:var(--gray-500);font-size:.9rem}.empty-state{text-align:center;padding:48px 24px;color:var(--gray-400)}.empty-state svg{margin-bottom:16px}.empty-state .subtitle{font-size:.9rem}.summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}@media(min-width:640px){.summary-grid{grid-template-columns:repeat(4,1fr)}}.summary-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:16px}.card-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--gray-100);border-radius:12px;margin-bottom:12px;color:var(--gray-600)}.card-icon.positive{background:#10b9811a;color:var(--success)}.card-icon.negative{background:#ef44441a;color:var(--danger)}.card-icon.calories{background:#6366f11a;color:var(--primary)}.card-icon.goal{background:#f59e0b1a;color:var(--warning)}.card-content .card-value{display:block;font-size:1.25rem;font-weight:700;color:var(--gray-800)}.card-content .card-label{font-size:.75rem;color:var(--gray-500)}.progress-overview h3{margin-bottom:16px}.journey-stats{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}.journey-stat{text-align:center;padding:12px 16px;background:var(--gray-50);border-radius:8px}.journey-stat.current{background:#6366f11a}.journey-stat.goal{background:#10b9811a}.journey-stat .label{display:block;font-size:.75rem;color:var(--gray-500);margin-bottom:4px}.journey-stat .value{font-size:1.25rem;font-weight:700;color:var(--gray-800)}.journey-arrow{color:var(--gray-300);font-size:1.25rem}.journey-progress .progress-bar{height:12px;background:var(--gray-100);border-radius:6px;overflow:hidden;margin-bottom:8px}.journey-progress .progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--success));border-radius:6px}.progress-labels{display:flex;justify-content:space-between;font-size:.875rem;color:var(--gray-500)}.insights-card h3{margin-bottom:12px}.insights-list{list-style:none}.insight{padding:12px 16px;margin-bottom:8px;border-radius:8px;font-size:.9rem}.insight.positive{background:#10b9811a;color:#047857}.insight.warning{background:#f59e0b1a;color:#b45309}.insight.info{background:#6366f11a;color:var(--primary)}.insight.success{background:#10b98126;color:#047857;font-weight:600}.settings{max-width:600px;margin:0 auto}.settings-header{text-align:center;margin-bottom:24px}.settings-header h2{font-size:1.5rem}.settings-card h3{display:flex;align-items:center;gap:8px;margin-bottom:16px;font-size:1rem;color:var(--gray-700)}.coach-code-settings-card{background:linear-gradient(135deg,var(--primary-50),var(--gray-50));border:2px solid var(--primary-200)}.coach-code-settings-display{display:flex;align-items:center;gap:16px;margin-top:16px;padding:16px;background:#fff;border-radius:12px;border:1px solid var(--gray-200)}.coach-code-value{font-size:1.75rem;font-weight:700;font-family:SF Mono,Monaco,Inconsolata,Fira Mono,monospace;letter-spacing:.15em;color:var(--primary-600)}.copy-code-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--primary-500);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.copy-code-btn:hover:not(:disabled){background:var(--primary-600)}.copy-code-btn:disabled{opacity:.5;cursor:not-allowed}.nutrition-goals-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.goal-item{background:var(--gray-50);border-radius:8px;padding:12px;text-align:center}.goal-item .goal-label{display:block;font-size:.75rem;color:var(--gray-500);text-transform:uppercase;margin-bottom:4px}.goal-item .goal-value{display:block;font-size:1.25rem;font-weight:700;color:var(--gray-800)}.goal-item .goal-note{display:block;font-size:.65rem;color:var(--gray-400);margin-top:4px}.goal-item.fiber .goal-value{color:var(--fiber-color)}.goal-item.sugar .goal-value{color:var(--sugar-color)}.form-group{margin-bottom:16px;min-width:0}.form-group label{display:block;font-size:.875rem;color:var(--gray-600);margin-bottom:8px}.form-group input,.form-group select{width:100%;max-width:100%;padding:12px;border:1px solid var(--gray-200);border-radius:8px;font-size:1rem;outline:none;box-sizing:border-box}.form-group input:focus,.form-group select:focus{border-color:var(--primary)}.range-inputs{display:flex;align-items:center;gap:8px}.range-inputs input{width:100px}.range-inputs span{color:var(--gray-500)}.height-inputs{display:flex;align-items:center;gap:8px}.height-inputs input{width:70px!important;text-align:center}.height-inputs span{color:var(--gray-500);font-size:.9rem}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media screen and (max-width:500px){.form-row{grid-template-columns:1fr;gap:12px}}.form-help{font-size:.875rem;color:var(--gray-500);margin-bottom:12px}.form-help a{color:var(--primary);text-decoration:none}.form-help a:hover{text-decoration:underline}.settings-actions{display:flex;gap:12px;margin-top:24px;margin-bottom:24px}.save-btn,.reset-btn{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;padding:14px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer}.save-btn{background:var(--primary);color:#fff}.save-btn:hover{background:var(--primary-dark)}.reset-btn{background:var(--gray-100);color:var(--gray-600)}.reset-btn:hover{background:var(--gray-200)}.coach-connection-section{background:var(--card-bg);border-radius:12px;padding:20px;margin-bottom:16px;border:1px solid var(--gray-200)}.coach-connection-section h3{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:1rem;color:var(--gray-800)}.coach-connection-section .section-description{color:var(--gray-500);font-size:.875rem;margin:0 0 16px}.coach-lookup-form .input-with-button{display:flex;gap:8px}.coach-lookup-form input{flex:1;padding:12px 16px;border:1px solid var(--gray-300);border-radius:8px;font-size:1rem;text-transform:uppercase;letter-spacing:1px}.coach-lookup-form input:focus{outline:none;border-color:var(--primary)}.lookup-btn{display:flex;align-items:center;gap:6px;padding:12px 20px;background:var(--gray-100);border:1px solid var(--gray-300);border-radius:8px;font-weight:600;cursor:pointer;white-space:nowrap}.lookup-btn:hover:not(:disabled){background:var(--gray-200)}.lookup-btn:disabled{opacity:.5;cursor:not-allowed}.coach-found-card{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding:16px;background:var(--gray-50);border-radius:8px;border:1px solid var(--gray-200)}.coach-found-card .coach-info{display:flex;align-items:center;gap:12px}.coach-found-card .coach-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:600;text-transform:uppercase}.coach-found-card strong{display:block;font-size:1rem}.coach-found-card p{margin:4px 0 0;color:var(--gray-500);font-size:.875rem}.connect-btn{display:flex;align-items:center;gap:6px;padding:10px 20px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer}.connect-btn:hover:not(:disabled){background:linear-gradient(135deg,#4f46e5,#7c3aed)}.connect-btn:disabled{opacity:.7;cursor:not-allowed}.coach-connection-status{display:flex;align-items:center;justify-content:space-between;padding:16px;border-radius:8px;margin-top:8px}.coach-connection-status.pending{background:#fef3c7;border:1px solid #fcd34d}.coach-connection-status.connected{background:#d1fae5;border:1px solid #6ee7b7}.coach-connection-status .connection-info{display:flex;align-items:center;gap:12px}.coach-connection-status .status-icon{flex-shrink:0}.coach-connection-status .status-icon.pending{color:#d97706}.coach-connection-status .status-icon.connected{color:#059669}.coach-connection-status .connection-info strong{display:block;font-size:.95rem}.coach-connection-status .connection-info p{margin:2px 0 0;font-size:.85rem;color:var(--gray-600)}.disconnect-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:transparent;border:1px solid var(--gray-400);border-radius:6px;font-size:.85rem;cursor:pointer;color:var(--gray-600)}.disconnect-btn:hover{background:var(--gray-100);border-color:var(--gray-500)}.coach-success-message{margin-top:12px;padding:12px;background:#d1fae5;border:1px solid #6ee7b7;border-radius:8px;color:#059669;font-size:.9rem}.coach-error-message{margin-top:12px;padding:12px;background:#fee2e2;border:1px solid #fca5a5;border-radius:8px;color:#dc2626;font-size:.9rem}.coach-dashboard{padding:16px;max-width:1200px;margin:0 auto}.coach-dashboard.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;color:var(--gray-500)}.coach-code-section{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:16px;padding:24px;margin-bottom:20px;color:#fff}.coach-code-section h3{margin:0 0 8px;font-size:1.25rem}.coach-code-section p{margin:0 0 16px;opacity:.9;font-size:.9rem}.coach-code-display{display:flex;align-items:center;gap:12px;background:#fff3;padding:12px 16px;border-radius:12px}.coach-code-display .code{font-family:monospace;font-size:1.5rem;font-weight:700;letter-spacing:2px}.coach-code-display .copy-btn{display:flex;align-items:center;gap:6px;margin-left:auto;padding:8px 16px;background:#fff;color:#6366f1;border:none;border-radius:8px;font-weight:600;cursor:pointer}.coach-code-display .copy-btn:hover{background:#f0f0ff}.coach-alerts-section{background:var(--card-bg);border-radius:12px;padding:20px;margin-bottom:20px;border:1px solid var(--gray-200)}.coach-alerts-section h3{display:flex;align-items:center;gap:8px;margin:0 0 16px;font-size:1rem}.alerts-list{display:flex;flex-direction:column;gap:10px}.alert-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px}.alert-item.info{background:#dbeafe;border:1px solid #93c5fd}.alert-item.warning{background:#fef3c7;border:1px solid #fcd34d}.alert-item.critical{background:#fee2e2;border:1px solid #fca5a5}.alert-item .alert-icon{flex-shrink:0}.alert-item.info .alert-icon{color:#3b82f6}.alert-item.warning .alert-icon{color:#d97706}.alert-item.critical .alert-icon{color:#dc2626}.alert-item .alert-content{flex:1}.alert-item .alert-message{font-size:.9rem}.alert-item .alert-action{padding:6px 12px;background:#fff;border:1px solid var(--gray-300);border-radius:6px;font-size:.85rem;cursor:pointer}.alert-item .alert-action:hover{background:var(--gray-50)}.pending-requests-section{background:var(--card-bg);border-radius:12px;padding:20px;margin-bottom:20px;border:1px solid var(--gray-200)}.pending-requests-section h3{display:flex;align-items:center;gap:8px;margin:0 0 16px;font-size:1rem;color:#d97706}.requests-list{display:flex;flex-direction:column;gap:12px}.request-card{display:flex;align-items:center;justify-content:space-between;padding:16px;background:var(--gray-50);border-radius:10px;border:1px solid var(--gray-200)}.request-card .request-info{display:flex;align-items:center;gap:12px}.request-card .client-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:600;text-transform:uppercase}.request-card .client-details{display:flex;flex-direction:column}.request-card .client-details strong{font-size:1rem}.request-card .client-email{font-size:.85rem;color:var(--gray-500)}.request-card .request-actions{display:flex;gap:8px}.request-card .accept-btn,.request-card .reject-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer}.request-card .accept-btn{background:#10b981;color:#fff;border:none}.request-card .accept-btn:hover:not(:disabled){background:#059669}.request-card .reject-btn{background:transparent;color:var(--gray-600);border:1px solid var(--gray-300)}.request-card .reject-btn:hover:not(:disabled){background:var(--gray-100)}.request-card .accept-btn:disabled,.request-card .reject-btn:disabled{opacity:.6;cursor:not-allowed}.clients-section{background:var(--card-bg);border-radius:12px;padding:20px;border:1px solid var(--gray-200)}.clients-section .section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.clients-section .section-header h3{display:flex;align-items:center;gap:8px;margin:0;font-size:1rem}.clients-section .refresh-btn{padding:6px 12px;background:var(--gray-100);border:1px solid var(--gray-300);border-radius:6px;font-size:.85rem;cursor:pointer}.clients-section .refresh-btn:hover{background:var(--gray-200)}.empty-clients{display:flex;flex-direction:column;align-items:center;padding:40px 20px;color:var(--gray-400);text-align:center}.empty-clients h4{margin:16px 0 8px;color:var(--gray-600)}.empty-clients p{margin:0;font-size:.9rem}.clients-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.client-card{background:var(--gray-50);border-radius:12px;padding:16px;border:1px solid var(--gray-200);cursor:pointer;transition:all .2s}.client-card:hover{border-color:#6366f1;box-shadow:0 4px 12px #6366f126}.client-card.inactive{border-color:#fcd34d}.client-card .client-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.client-card .client-avatar.large{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:600}.client-card .client-name-section{display:flex;flex-direction:column}.client-card .client-name-section strong{font-size:1rem}.client-card .inactive-badge{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;color:#d97706;background:#fef3c7;padding:2px 8px;border-radius:10px;margin-top:4px}.client-card .client-stats{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.client-card .stat{display:flex;justify-content:space-between;align-items:center}.client-card .stat-label{font-size:.85rem;color:var(--gray-500)}.client-card .stat-value{font-size:.9rem;font-weight:600;display:flex;align-items:center;gap:8px}.client-card .trend{display:inline-flex;align-items:center;gap:2px;font-size:.8rem;font-weight:500}.client-card .trend.down{color:#10b981}.client-card .trend.up{color:#ef4444}.client-card .view-details{display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid var(--gray-200);color:#6366f1;font-size:.9rem;font-weight:500}.client-card.on-track{border-left:4px solid #10b981}.client-card.needs-attention{border-left:4px solid #f59e0b}.client-card.inactive{border-left:4px solid #ef4444}.status-badge{display:inline-flex;align-items:center;gap:4px;font-size:.7rem;font-weight:500;padding:2px 8px;border-radius:10px;margin-top:4px}.status-badge.on-track{color:#059669;background:#d1fae5}.status-badge.needs-attention{color:#d97706;background:#fef3c7}.status-badge.inactive{color:#dc2626;background:#fee2e2}.calorie-progress-section{margin-bottom:16px;padding:12px;background:var(--gray-50);border-radius:8px}.calorie-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.calorie-label{font-size:.8rem;color:var(--gray-500)}.calorie-numbers{font-size:.9rem;color:var(--gray-700)}.calorie-numbers strong{font-size:1rem;color:var(--gray-900)}.calorie-progress-bar{height:8px;background:var(--gray-200);border-radius:4px;overflow:hidden}.calorie-progress-fill{height:100%;background:linear-gradient(90deg,#10b981,#059669);border-radius:4px;transition:width .3s ease}.calorie-progress-fill.over{background:linear-gradient(90deg,#f59e0b,#d97706)}.coach-overview-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.overview-stat{background:#fff;border-radius:12px;padding:16px;text-align:center;border:1px solid var(--gray-200);box-shadow:0 1px 3px #0000000d}.overview-stat .stat-number{display:block;font-size:2rem;font-weight:700;color:var(--gray-800)}.overview-stat .stat-label{display:block;font-size:.8rem;color:var(--gray-500);margin-top:4px}.overview-stat.on-track{border-left:4px solid #10b981}.overview-stat.on-track .stat-number{color:#059669}.overview-stat.needs-attention{border-left:4px solid #f59e0b}.overview-stat.needs-attention .stat-number{color:#d97706}.overview-stat.inactive{border-left:4px solid #ef4444}.overview-stat.inactive .stat-number{color:#dc2626}@media(max-width:640px){.coach-overview-stats{grid-template-columns:repeat(2,1fr)}}.coach-error-banner{display:flex;align-items:center;gap:8px;margin-top:16px;padding:12px 16px;background:#fee2e2;border:1px solid #fca5a5;border-radius:8px;color:#dc2626}@media(max-width:640px){.coach-code-display{flex-direction:column;align-items:stretch;gap:12px}.coach-code-display .code{text-align:center}.coach-code-display .copy-btn{margin-left:0;justify-content:center}.request-card{flex-direction:column;gap:12px}.request-card .request-actions{width:100%}.request-card .accept-btn,.request-card .reject-btn{flex:1;justify-content:center}.clients-grid{grid-template-columns:1fr}}.client-detail-view{padding:16px;max-width:800px;margin:0 auto}.client-detail-view.loading,.client-detail-view.error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;color:var(--gray-500)}.client-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.client-detail-header .back-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--gray-100);border:1px solid var(--gray-300);border-radius:8px;font-weight:500;cursor:pointer}.client-detail-header .back-btn:hover{background:var(--gray-200)}.client-detail-header .terminate-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:transparent;border:1px solid #fca5a5;border-radius:8px;color:#dc2626;font-weight:500;cursor:pointer}.client-detail-header .terminate-btn:hover:not(:disabled){background:#fee2e2}.client-detail-header .terminate-btn:disabled{opacity:.6;cursor:not-allowed}.client-profile-card{display:flex;align-items:center;gap:16px;padding:24px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:16px;color:#fff;margin-bottom:20px}.client-profile-card .client-avatar-large{width:72px;height:72px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:600;text-transform:uppercase}.client-profile-card .client-info h2{margin:0 0 4px;font-size:1.5rem}.client-profile-card .client-info .email{margin:0;opacity:.9;font-size:.9rem}.client-detail-view .stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}.client-detail-view .stat-card{display:flex;align-items:flex-start;gap:12px;padding:16px;background:var(--card-bg);border-radius:12px;border:1px solid var(--gray-200)}.client-detail-view .stat-card svg{color:#6366f1;flex-shrink:0;margin-top:2px}.client-detail-view .stat-card .stat-content{display:flex;flex-direction:column}.client-detail-view .stat-card .stat-label{font-size:.8rem;color:var(--gray-500)}.client-detail-view .stat-card .stat-value{font-size:1.1rem;font-weight:600;color:var(--gray-800)}.client-detail-view .stat-card .stat-change{display:inline-flex;align-items:center;gap:4px;font-size:.85rem;margin-top:4px}.client-detail-view .stat-card .stat-change.positive{color:#10b981}.client-detail-view .stat-card .stat-change.negative{color:#ef4444}.detail-section{background:var(--card-bg);border-radius:12px;border:1px solid var(--gray-200);padding:20px;margin-bottom:16px}.detail-section h3{margin:0 0 16px;font-size:1rem;color:var(--gray-800)}.detail-section .no-data{color:var(--gray-400);font-size:.9rem;text-align:center;padding:20px}.chart-section .chart-container{width:100%;height:250px}.weighin-list,.activity-list{display:flex;flex-direction:column;gap:8px}.weighin-item,.activity-item{display:flex;align-items:center;padding:12px;background:var(--gray-50);border-radius:8px}.weighin-item .weighin-date,.activity-item .activity-date{font-size:.9rem;color:var(--gray-600);width:100px}.weighin-item .weighin-weight{font-weight:600;flex:1}.weighin-item .weighin-change{font-size:.85rem;font-weight:500}.weighin-item .weighin-change.positive{color:#10b981}.weighin-item .weighin-change.negative{color:#ef4444}.activity-item .activity-meals{flex:1;font-weight:500}.activity-item .activity-metrics{font-size:.85rem;color:var(--gray-500)}@media(max-width:640px){.stats-grid{grid-template-columns:1fr}.client-profile-card{flex-direction:column;text-align:center}.weighin-item,.activity-item{flex-wrap:wrap;gap:8px}.weighin-item .weighin-date,.activity-item .activity-date{width:100%}}.data-card{border:1px solid var(--gray-200)}.data-card h3{margin-bottom:8px}.export-btn,.danger-btn{display:block;width:100%;padding:12px;margin-top:12px;border:none;border-radius:8px;font-size:.9rem;cursor:pointer}.export-btn{background:var(--gray-100);color:var(--gray-700)}.export-btn:hover{background:var(--gray-200)}.danger-btn{background:#ef44441a;color:var(--danger)}.danger-btn:hover{background:#ef444433}.activity-recommendation-card{background:linear-gradient(135deg,#10b9811a,#3b82f61a);border:1px solid rgba(16,185,129,.3);border-radius:12px;padding:16px;margin-top:16px}.rec-header{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--success);margin-bottom:8px}.rec-message{font-size:.875rem;color:var(--gray-600);line-height:1.5;margin-bottom:12px}.rec-suggestion{background:#fff;border-radius:8px;padding:12px;text-align:center;margin-bottom:12px;color:var(--gray-800)}.rec-update-btn{width:100%;padding:10px;font-size:.875rem}.maintenance-info{display:flex;align-items:center;gap:8px;margin-top:12px;padding:12px;background:var(--gray-50);border-radius:8px;flex-wrap:wrap}.maintenance-label{font-size:.875rem;color:var(--gray-500)}.maintenance-value{font-weight:600;color:var(--gray-800)}.maintenance-formula{font-size:.75rem;color:var(--gray-400)}.goal-summary{margin-top:20px;padding:16px;background:var(--gray-50);border-radius:12px;border:1px solid var(--gray-200)}.goal-summary .goal-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:12px}@media screen and (min-width:500px){.goal-summary .goal-stats{grid-template-columns:repeat(4,1fr)}}.goal-stat{text-align:center;padding:12px;background:#fff;border-radius:8px}.goal-stat .stat-label{display:block;font-size:.7rem;color:var(--gray-500);text-transform:uppercase;margin-bottom:4px}.goal-stat .stat-value{display:block;font-size:1.1rem;font-weight:700;color:var(--gray-800)}.goal-stat .stat-value.warning{color:var(--warning)}.goal-stat .stat-value.danger{color:var(--danger)}.goal-stat .stat-value.success{color:var(--success)}.goal-warning{font-size:.875rem;color:var(--warning);background:#f59e0b1a;padding:12px;border-radius:8px;margin-top:8px}.goal-danger{font-size:.875rem;color:var(--danger);background:#ef44441a;padding:12px;border-radius:8px;margin-top:8px}.disabled-input{background:var(--gray-100)!important;color:var(--gray-500)!important;cursor:not-allowed}.recipe-import-section{background:var(--gray-50);border-radius:8px;padding:16px;margin-bottom:16px;border:1px solid var(--gray-200)}.recipe-import-section h4{display:flex;align-items:center;gap:8px;font-size:1rem;margin:0 0 8px;color:var(--gray-800)}.import-recipe-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;margin-top:12px;border:none;border-radius:8px;font-size:.9rem;cursor:pointer;background:var(--primary);color:#fff;font-weight:500}.import-recipe-btn:hover:not(:disabled){background:var(--primary-dark)}.import-recipe-btn:disabled{opacity:.5;cursor:not-allowed}.body-metrics-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.body-metrics-card .card-header{color:#fff;margin-bottom:12px}.body-metrics-card .card-header h3{color:#fff}.metrics-date{margin-left:auto;opacity:.8;font-size:.875rem}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.metric-item{text-align:center;padding:12px 8px;background:#ffffff26;border-radius:10px}.metric-value{font-size:1.5rem;font-weight:700;display:block}.metric-unit{font-size:.75rem;opacity:.8}.metric-label{display:block;font-size:.7rem;opacity:.7;margin-top:4px;text-transform:uppercase}.metric-change{display:block;font-size:.75rem;margin-top:4px;font-weight:600}.change-positive{color:#4ade80}.change-negative{color:#fca5a5}.goal-progress-card{background:var(--gray-50)}.goal-progress-card .card-header{margin-bottom:8px}.goal-mini-stats{display:flex;align-items:center;justify-content:center;gap:8px;font-size:1.125rem;font-weight:600;margin-bottom:12px}.goal-arrow{color:var(--gray-400)}.goal-target{color:var(--success)}.goal-mini-bar{height:8px;background:var(--gray-200);border-radius:4px;overflow:hidden;margin-bottom:8px}.goal-mini-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--success));border-radius:4px;transition:width .5s ease}.goal-mini-labels{display:flex;justify-content:space-between;font-size:.8rem}.goal-mini-labels .lost{color:var(--success);font-weight:500}.goal-mini-labels .remaining{color:var(--gray-500)}@media(max-width:480px){.metrics-grid{grid-template-columns:repeat(2,1fr)}.metric-value{font-size:1.25rem}}@media(max-width:480px){.app-header h1{font-size:1.5rem}.card{padding:16px}.circular-progress-value{font-size:1.75rem}.table-header,.table-row{grid-template-columns:1.2fr .8fr .8fr .8fr .8fr 30px;font-size:.75rem;padding:8px}.preview-grid{grid-template-columns:1fr}.journey-arrow{display:none}.journey-stats{gap:8px}.nutrition-grid{grid-template-columns:repeat(2,1fr)}}.health-scanner-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.health-scanner{background:#fff;border-radius:16px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.scanner-content{padding:20px}.entry-mode-toggle{display:flex;padding:4px;margin:0 20px 16px;background:var(--gray-100);border-radius:12px}.mode-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:transparent;border:none;border-radius:10px;font-size:.9rem;font-weight:500;color:var(--gray-600);cursor:pointer;transition:all .2s}.mode-btn:hover{color:var(--gray-800)}.mode-btn.active{background:#fff;color:var(--primary);box-shadow:0 2px 8px #0000001a}.manual-entry-section{padding:8px 0}.manual-form{display:flex;flex-direction:column;gap:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-field{display:flex;flex-direction:column;gap:6px}.form-field label{display:flex;align-items:center;gap:6px;font-size:.85rem;font-weight:500;color:var(--gray-700)}.form-field input{padding:12px;border:1px solid var(--gray-300);border-radius:8px;font-size:1rem}.form-field input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.input-with-unit{display:flex;align-items:center;gap:8px}.input-with-unit input{flex:1}.input-with-unit .unit{font-size:.9rem;color:var(--gray-500);min-width:30px}.form-field .field-hint{font-size:.75rem;color:var(--gray-500)}.tdee-preview{display:flex;align-items:center;gap:12px;padding:16px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;margin-top:8px}.tdee-info{display:flex;flex-direction:column}.tdee-info .tdee-label{font-size:.85rem;opacity:.9}.tdee-info .tdee-value{font-size:1.25rem;font-weight:700}.manual-actions{margin-top:20px}.manual-actions .save-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;background:var(--success);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.manual-actions .save-btn:hover{filter:brightness(1.1)}.import-success{text-align:center;padding:32px 16px}.import-success .success-icon{color:var(--success);margin-bottom:16px}.import-success h3{margin-bottom:8px;color:var(--gray-800)}.import-success p{color:var(--gray-600);margin-bottom:20px}.upload-section{text-align:center}.upload-health-btn{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;padding:32px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:16px;cursor:pointer;transition:all .3s ease}.upload-health-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #667eea4d}.upload-health-btn:disabled{opacity:.5;cursor:not-allowed}.upload-title{font-size:1.125rem;font-weight:600}.upload-hint{font-size:.875rem;opacity:.9}.health-tips{margin-top:20px;text-align:left;padding:16px;background:var(--gray-50);border-radius:12px}.health-tips h4{font-size:.875rem;color:var(--gray-700);margin-bottom:8px}.health-tips ul{list-style:none;padding:0;margin:0}.health-tips li{font-size:.875rem;color:var(--gray-600);padding:4px 0 4px 20px;position:relative}.health-tips li:before{content:"•";position:absolute;left:6px;color:var(--primary)}.image-preview-small{position:relative;border-radius:12px;overflow:hidden;margin-bottom:16px;max-height:200px}.image-preview-small img{width:100%;height:auto;object-fit:cover;max-height:200px}.extracted-data h3{font-size:1rem;margin-bottom:12px;color:var(--gray-700)}.data-date{font-size:.875rem;color:var(--gray-500);margin-bottom:16px}.health-metrics{display:flex;flex-direction:column;gap:12px}.health-metric-card{display:flex;align-items:center;gap:12px;padding:16px;background:var(--gray-50);border-radius:12px;border:2px solid transparent;transition:all .2s}.health-metric-card.applied{background:#10b9811a;border-color:var(--success)}.health-metric-card.info-only{opacity:.8}.metric-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.metric-icon.calories{background:#ef44441a;color:var(--danger)}.metric-icon.weight{background:#6366f11a;color:var(--primary)}.metric-icon.steps{background:#10b9811a;color:var(--success)}.metric-icon.exercise{background:#f59e0b1a;color:var(--warning)}.metric-details{flex:1;display:flex;flex-direction:column}.metric-title{font-size:.75rem;color:var(--gray-500);text-transform:uppercase}.metric-value-large{font-size:1.25rem;font-weight:700;color:var(--gray-800)}.metric-sub{font-size:.8rem;color:var(--gray-500)}.apply-btn{padding:8px 16px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.apply-btn:hover:not(:disabled){background:var(--primary-dark)}.apply-btn.applied{background:var(--success);padding:8px 12px}.apply-btn:disabled{cursor:default}.no-data-message{text-align:center;color:var(--gray-500);padding:20px;font-size:.9rem}.done-btn{flex:1;padding:12px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer}.done-btn:hover{background:var(--primary-dark)}.import-health-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:12px;padding:10px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.import-health-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.tdee-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.tdee-card .card-header{border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:12px;margin-bottom:16px}.tdee-card .card-header h3{color:#fff}.tdee-main{text-align:center;margin-bottom:16px}.tdee-value{font-size:2.5rem;font-weight:700;line-height:1.2}.tdee-label{font-size:.875rem;opacity:.9}.tdee-breakdown-row{display:flex;justify-content:center;align-items:center;gap:16px;padding:12px;background:#ffffff26;border-radius:12px;margin-bottom:12px}.tdee-item{text-align:center}.tdee-item-value{display:block;font-size:1.25rem;font-weight:600}.tdee-item-label{font-size:.75rem;opacity:.9}.tdee-plus{font-size:1.25rem;opacity:.7}.tdee-stats-row{display:flex;justify-content:center;gap:20px}.tdee-stat{display:flex;align-items:center;gap:6px;font-size:.875rem;opacity:.9}.activity-summary{text-align:center;padding:12px}.activity-value{font-size:2rem;font-weight:700;color:var(--primary)}.activity-label{font-size:.875rem;color:var(--gray-500)}.tdee-summary-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:16px;border-radius:12px;margin-bottom:16px;text-align:center}.tdee-header{display:flex;align-items:center;justify-content:center;gap:8px;font-size:.875rem;opacity:.9;margin-bottom:8px}.tdee-summary-card .tdee-value{font-size:2rem;font-weight:700}.tdee-breakdown{display:flex;justify-content:center;gap:8px;font-size:.875rem;opacity:.8;margin-top:8px}.metric-icon.resting{background:#ef44441a;color:#ef4444}.metric-icon.stand{background:#3b82f61a;color:#3b82f6}.import-all-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;margin-top:16px;background:var(--primary);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.import-all-btn:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px)}.import-all-btn.imported{background:var(--success)}.import-all-btn:disabled{cursor:default}.breakdown-row.highlight{font-weight:600;color:var(--primary);border-top:1px solid var(--gray-200);padding-top:8px;margin-top:8px}.provider-select{display:flex;gap:12px;margin-top:8px}.provider-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px;background:var(--gray-50);border:2px solid var(--gray-200);border-radius:12px;cursor:pointer;transition:all .2s}.provider-btn:hover{border-color:var(--gray-300)}.provider-btn.active{background:#6366f11a;border-color:var(--primary)}.provider-name{font-size:1rem;font-weight:600;color:var(--gray-800)}.provider-tag{font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:10px;text-transform:uppercase}.provider-tag.free{background:#10b98126;color:var(--success)}.provider-tag.paid{background:#f59e0b26;color:var(--warning)}.unit-toggle{display:flex;gap:8px;margin-top:8px}.unit-btn{flex:1;padding:12px 24px;font-size:1rem;font-weight:600;background:var(--gray-50);border:2px solid var(--gray-200);border-radius:10px;cursor:pointer;transition:all .2s;text-transform:uppercase}.unit-btn:hover{border-color:var(--gray-300)}.unit-btn.active{background:#6366f11a;border-color:var(--primary);color:var(--primary)}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:16px;color:var(--gray-500)}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%)}.auth-card{background:#fff;border-radius:16px;padding:32px;width:100%;max-width:400px;box-shadow:var(--shadow-lg)}.auth-header{text-align:center;margin-bottom:24px}.auth-header h1{font-size:1.75rem;font-weight:700;color:var(--gray-800);margin-bottom:4px}.auth-header p{color:var(--gray-500);font-size:.9rem}.auth-tabs{display:flex;gap:8px;margin-bottom:24px}.auth-tabs button{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border:2px solid var(--gray-200);background:#fff;border-radius:10px;font-size:.95rem;font-weight:500;color:var(--gray-500);cursor:pointer;transition:all .2s}.auth-tabs button.active{border-color:var(--primary);color:var(--primary);background:#6366f10d}.auth-tabs button:hover:not(.active){border-color:var(--gray-300)}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-form .input-group{position:relative}.auth-form .input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--gray-400)}.auth-form input{width:100%;padding:14px 14px 14px 44px;border:2px solid var(--gray-200);border-radius:10px;font-size:1rem;transition:all .2s}.auth-form input:focus{outline:none;border-color:var(--primary)}.auth-error{padding:12px;background:#ef44441a;border-radius:8px;color:var(--danger);font-size:.9rem}.auth-message{padding:12px;background:#10b9811a;border-radius:8px;color:var(--success);font-size:.9rem}.auth-submit{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;background:var(--primary);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.auth-submit:hover:not(:disabled){background:var(--primary-dark)}.auth-submit:disabled{opacity:.7;cursor:not-allowed}.auth-footer{text-align:center;margin-top:24px;color:var(--gray-500);font-size:.9rem}.auth-switch{background:none;border:none;color:var(--primary);font-weight:600;cursor:pointer;font-size:.9rem}.auth-switch:hover{text-decoration:underline}.auth-forgot-link{display:block;width:100%;margin-top:12px;padding:0;background:none;border:none;color:var(--gray-500);font-size:.875rem;cursor:pointer;text-align:center}.auth-forgot-link:hover{color:var(--primary);text-decoration:underline}.coach-badge{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;padding:8px 16px;border-radius:20px;font-size:.875rem;font-weight:600;margin-bottom:12px}.coach-features{display:flex;flex-direction:column;gap:12px;margin-bottom:24px;padding:16px;background:var(--gray-50);border-radius:12px}.coach-feature{display:flex;align-items:center;gap:12px;font-size:.9rem;color:var(--gray-700)}.coach-feature .feature-icon{font-size:1.25rem}.auth-submit.coach-submit{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.auth-submit.coach-submit:hover:not(:disabled){background:linear-gradient(135deg,#4f46e5,#7c3aed)}.coach-link{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;padding:12px;background:var(--gray-50);border-radius:8px;color:var(--gray-600);font-size:.875rem}.coach-link button{background:none;border:none;color:#6366f1;font-weight:600;cursor:pointer}.coach-link button:hover{text-decoration:underline}.success-icon{color:#10b981;margin-bottom:16px}.enhanced-metrics-section{margin-top:20px;border-top:2px solid var(--primary);padding-top:16px}.enhanced-metrics-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:8px 0}.enhanced-metrics-header h4{color:var(--primary);margin:0;font-size:1rem}.toggle-icon{color:var(--primary)}.enhanced-metrics-content{margin-top:12px}.metrics-tier{margin-bottom:16px;padding:12px;background:var(--gray-50);border-radius:8px;border-left:4px solid var(--primary)}.metrics-tier.tier-2{border-left-color:var(--gray-300)}.tier-label{display:block;font-size:.75rem;text-transform:uppercase;color:var(--primary);font-weight:600;margin-bottom:12px}.metrics-tier.tier-2 .tier-label{color:var(--gray-500)}.bmr-field{background:#6366f10d;padding:12px;border-radius:8px;margin-bottom:12px}.field-hint{display:block;font-size:.75rem;color:var(--gray-500);margin-top:4px}.visceral-status{font-size:.8rem;font-weight:500;margin-top:4px}.bmr-highlight{margin-top:16px;padding:16px;background:#fff3;border-radius:12px;text-align:center}.bmr-label{display:block;font-size:.75rem;text-transform:uppercase;opacity:.9;margin-bottom:4px}.bmr-value{display:block;font-size:1.5rem;font-weight:700}.bmr-subtitle{display:block;font-size:.75rem;opacity:.8;margin-top:4px}.enhanced-metrics-row{display:flex;gap:12px;margin-top:12px}.mini-metric{flex:1;padding:12px;background:#ffffff26;border-radius:8px;text-align:center}.mini-metric.status-success{border-left:3px solid #10b981}.mini-metric.status-warning{border-left:3px solid #f59e0b}.mini-metric.status-danger{border-left:3px solid #ef4444}.mini-label{display:block;font-size:.7rem;text-transform:uppercase;opacity:.8}.mini-value{display:block;font-size:1rem;font-weight:600;margin:4px 0}.mini-status{display:block;font-size:.7rem;opacity:.9}.more-metrics-details{margin-top:12px}.more-metrics-details summary{cursor:pointer;padding:8px 12px;background:#ffffff1a;border-radius:6px;font-size:.85rem;font-weight:500;-webkit-user-select:none;user-select:none}.more-metrics-details summary:hover{background:#ffffff26}.more-metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.detail-item{padding:8px;background:#ffffff1a;border-radius:6px;text-align:center}.detail-label{display:block;font-size:.65rem;text-transform:uppercase;opacity:.8}.detail-value{display:block;font-size:.9rem;font-weight:600}.chart-subtitle{display:flex;justify-content:center;gap:16px;font-size:.75rem;margin-bottom:12px}.healthy-zone{color:#10b981}.elevated-zone{color:#f59e0b}.danger-zone{color:#ef4444}.chart-tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.chart-tabs::-webkit-scrollbar{display:none}.chart-tabs button{white-space:nowrap;flex-shrink:0}@media(max-width:480px){.more-metrics-grid{grid-template-columns:repeat(2,1fr)}.enhanced-metrics-row{flex-direction:column}.chart-subtitle{flex-direction:column;gap:4px}}.meal-search{position:relative;display:flex;align-items:center;margin-bottom:12px}.meal-search .search-icon{position:absolute;left:12px;color:var(--gray-400);pointer-events:none}.meal-search .search-input{width:100%;padding:10px 40px;border:1px solid var(--gray-200);border-radius:8px;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.meal-search .search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.meal-search .search-input::placeholder{color:var(--gray-400)}.meal-search .clear-search{position:absolute;right:8px;background:none;border:none;padding:4px;cursor:pointer;color:var(--gray-400);display:flex;align-items:center;justify-content:center;border-radius:4px;transition:color .2s,background .2s}.meal-search .clear-search:hover{color:var(--gray-600);background:var(--gray-100)}.no-meals-found{text-align:center;padding:20px;color:var(--gray-500);font-size:.9rem;background:var(--gray-50);border-radius:8px;margin-bottom:8px}.recipe-indicator{display:inline-flex;margin-left:8px;cursor:pointer;font-size:12px;font-weight:600;opacity:.95;transition:opacity .2s,background .2s,color .2s,border-color .2s;background:#eef2ff;border:1px solid #c7d2fe;color:#4338ca;padding:4px 8px;border-radius:999px;align-items:center;gap:6px;justify-content:center}.recipe-indicator:hover{opacity:1;background:#e0e7ff;border-color:#a5b4fc}.community-badge{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:3px 8px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-size:11px;font-weight:600;border-radius:999px;text-transform:uppercase;letter-spacing:.3px}.community-badge svg{flex-shrink:0}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1100;padding:16px}.modal-content{background:#fff;border-radius:16px;width:100%;max-width:640px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--gray-100)}.modal-header h2{font-size:1.25rem}.close-button{padding:8px;background:none;border:none;color:var(--gray-400);cursor:pointer;border-radius:8px}.close-button:hover{background:var(--gray-100);color:var(--gray-600)}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px 20px;border-top:1px solid var(--gray-100)}.btn{padding:10px 16px;border-radius:8px;border:none;cursor:pointer;font-weight:600}.btn-primary{background:var(--primary);color:#fff}.btn-secondary{background:var(--gray-100);color:var(--gray-700)}.recipe-modal{max-width:600px;max-height:90vh}.recipe-body{padding:20px}.nutrition-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:16px;background:var(--gray-50);border-radius:8px;margin-bottom:20px}.nutrition-summary .nutrition-item{text-align:center}.nutrition-summary .label{display:block;font-size:12px;color:var(--gray-500);margin-bottom:4px}.nutrition-summary .value{display:block;font-size:18px;font-weight:600;color:var(--primary)}.recipe-info{display:flex;gap:20px;margin-bottom:24px;font-size:14px;color:var(--gray-500)}.recipe-section{margin-bottom:24px}.recipe-section h3{font-size:16px;font-weight:600;margin-bottom:12px;color:var(--gray-800)}.section-header{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px}.section-nutrition-container{display:flex;flex-direction:column;gap:2px;align-items:flex-end}.section-nutrition{font-size:12px;color:var(--gray-500)}.section-nutrition.secondary{font-size:11px;color:var(--gray-400)}.section-notes{margin-top:8px;font-size:.85rem;color:var(--gray-600)}.ingredients-list{list-style:none;padding:0}.ingredients-list li{display:flex;padding:8px 0;border-bottom:1px solid var(--gray-200)}.ingredients-list li:last-child{border-bottom:none}.ingredient-amount{min-width:80px;font-weight:600;color:var(--primary);margin-right:12px}.ingredient-item{color:var(--gray-800)}.instructions-list{padding-left:0;counter-reset:step-counter;list-style:none}.instructions-list li{counter-increment:step-counter;padding:12px 0 12px 40px;position:relative;border-left:2px solid var(--gray-200);margin-left:12px;line-height:1.6}.instructions-list li:before{content:counter(step-counter);position:absolute;left:-12px;top:8px;background:var(--primary);color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.recipe-editor{margin-top:20px;border:1px solid var(--gray-200);border-radius:8px;padding:16px}.recipe-editor summary{cursor:pointer;font-weight:600;color:var(--primary);margin-bottom:16px}.recipe-editor[open] summary{margin-bottom:20px}.recipe-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.recipe-form .form-section{margin-bottom:16px}.recipe-textarea{width:100%;margin-top:8px;padding:10px 12px;border-radius:8px;border:1px solid var(--gray-200);font-size:.95rem;resize:vertical;min-height:120px}.recipe-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.recipe-error{margin-top:8px;color:var(--danger);font-size:.85rem}.recipe-hint{margin-top:8px;color:var(--gray-500);font-size:.85rem}.ingredient-row,.instruction-row{display:flex;gap:8px;margin-bottom:8px;align-items:flex-start}.step-number{min-width:24px;margin-top:8px;font-weight:600;color:var(--primary)}.btn-remove{background:var(--danger);color:#fff;border:none;width:32px;height:32px;border-radius:4px;cursor:pointer;flex-shrink:0}.btn-remove:disabled{opacity:.3;cursor:not-allowed}.btn-add{margin-top:8px;padding:8px 16px;background:var(--gray-100);border:1px dashed var(--primary);color:var(--primary);border-radius:4px;cursor:pointer;font-size:14px}.btn-add:hover{background:#e0e7ff}.logged-meals{margin-top:16px;border-top:1px solid var(--gray-100);padding-top:16px}.logged-meals h4{font-size:.95rem;margin-bottom:8px;color:var(--gray-700)}.logged-meal{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--gray-100)}.logged-meal:last-child{border-bottom:none}.recipe-btn{background:#eef2ff;border:1px solid #c7d2fe;color:#4338ca;font-size:12px;font-weight:600;cursor:pointer;padding:4px 8px;opacity:.95;transition:opacity .2s,background .2s,color .2s,border-color .2s;border-radius:999px;display:inline-flex;align-items:center;gap:6px;justify-content:center}.recipe-btn:hover{opacity:1;background:#e0e7ff;border-color:#a5b4fc}.generate-recipe-option{margin:12px 0 16px;font-size:14px;color:var(--gray-600)}.generate-recipe-option input{margin-right:8px}.discover-tab{padding:20px;max-width:1200px;margin:0 auto}.discover-header{text-align:center;margin-bottom:24px}.discover-title{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:8px}.discover-title h2{font-size:1.5rem;color:var(--gray-800)}.discover-title svg{color:var(--primary)}.discover-subtitle{color:var(--gray-500);font-size:.95rem}.discover-actions{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap}.discover-search{flex:1;min-width:200px;position:relative}.discover-search .search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--gray-400)}.discover-search .search-input{width:100%;padding:12px 40px;border:1px solid var(--gray-200);border-radius:10px;font-size:.95rem}.discover-search .search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.discover-search .clear-search{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--gray-400);cursor:pointer;padding:4px}.submit-meal-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;background:var(--primary);color:#fff;border:none;border-radius:10px;font-weight:500;cursor:pointer;transition:background .2s}.submit-meal-btn:hover{background:var(--primary-dark)}.master-meals-section{margin-top:24px}.master-meals-section h3{font-size:1.1rem;color:var(--gray-700);margin-bottom:16px}.master-meals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.loading-state,.empty-state{text-align:center;padding:48px 24px;color:var(--gray-500)}.loading-state .spinner{margin-bottom:12px;color:var(--primary)}.empty-state .empty-icon{color:var(--gray-300);margin-bottom:12px}.empty-state .empty-hint{font-size:.85rem;margin-top:4px}.master-meal-card{background:#fff;border:1px solid var(--gray-200);border-radius:12px;padding:16px;transition:border-color .2s,box-shadow .2s;display:flex;flex-direction:column;height:100%}.master-meal-card:hover{border-color:var(--primary);box-shadow:var(--shadow)}.master-meal-card.saved{border-color:var(--success);background:#10b9810d}.master-meal-header{margin-bottom:8px}.master-meal-name{font-size:1rem;font-weight:600;color:var(--gray-800);display:flex;align-items:center;gap:8px}.master-meal-name .recipe-indicator{background:#eef2ff;border:none;padding:4px 6px;border-radius:4px;color:#4338ca;cursor:pointer;display:flex;align-items:center}.master-meal-author{font-size:.8rem;color:var(--gray-500);margin-top:2px;display:block}.master-meal-macros{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.master-meal-macros .macro-item{font-size:.8rem;color:var(--gray-600);background:var(--gray-100);padding:4px 8px;border-radius:6px}.master-meal-macros .macro-item.calories{background:#6366f11a;color:var(--primary);font-weight:600}.master-meal-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:12px}.usage-count{display:flex;align-items:center;gap:4px;font-size:.8rem;color:var(--gray-500)}.add-to-library-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer;transition:background .2s}.add-to-library-btn:hover{background:var(--primary-dark)}.add-to-library-btn.saved{background:var(--success);cursor:default}.add-to-library-btn:disabled{opacity:.7;cursor:not-allowed}.master-meal-actions{display:flex;align-items:center;gap:8px}.delete-master-meal-btn{display:flex;align-items:center;justify-content:center;padding:8px;background:transparent;border:1px solid var(--danger);color:var(--danger);border-radius:var(--radius);cursor:pointer;transition:all .2s}.delete-master-meal-btn:hover{background:var(--danger);color:#fff}.delete-master-meal-btn:disabled{opacity:.5;cursor:not-allowed}.duplicate-warning{display:flex;align-items:center;gap:8px;padding:10px 12px;margin-top:12px;background:#ef44441a;border:1px solid var(--danger);border-radius:var(--radius);color:var(--danger);font-size:.85rem}.duplicate-warning svg{flex-shrink:0}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1100;padding:20px}.modal-content{background:#fff;border-radius:16px;max-width:500px;width:100%;max-height:80vh;overflow-y:auto}.submit-meal-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--gray-200)}.submit-meal-modal .modal-header h3{font-size:1.2rem;color:var(--gray-800)}.submit-meal-modal .close-btn{background:none;border:none;color:var(--gray-400);cursor:pointer;padding:4px}.submit-meal-modal .close-btn:hover{color:var(--gray-600)}.submit-meal-modal .modal-body{padding:20px}.submit-info{color:var(--gray-600);font-size:.9rem;margin-bottom:16px}.submit-meal-search{position:relative;margin-bottom:16px}.submit-meal-search .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--gray-400)}.submit-meal-search .search-input{width:100%;padding:10px 36px;border:1px solid var(--gray-200);border-radius:8px;font-size:.9rem;background:var(--gray-50)}.submit-meal-search .search-input:focus{outline:none;border-color:var(--primary);background:#fff}.submit-meal-search .clear-search{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--gray-400);cursor:pointer;padding:4px}.submit-meal-search .clear-search:hover{color:var(--gray-600)}.no-meals-message{text-align:center;padding:24px;color:var(--gray-500)}.meal-select-list{max-height:300px;overflow-y:auto}.meal-select-item{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--gray-200);border-radius:10px;margin-bottom:8px;cursor:pointer;transition:border-color .2s,background .2s}.meal-select-item:hover{border-color:var(--gray-300);background:var(--gray-50)}.meal-select-item.selected{border-color:var(--primary);background:#6366f10d}.meal-select-checkbox{width:20px;height:20px;border:2px solid var(--gray-300);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.meal-select-item.selected .meal-select-checkbox{background:var(--primary);border-color:var(--primary);color:#fff}.meal-select-info{flex:1}.meal-select-name{font-weight:500;color:var(--gray-800);display:block}.meal-select-macros{font-size:.8rem;color:var(--gray-500)}.meal-select-macros.secondary{font-size:.75rem;color:var(--gray-400);display:block;margin-top:2px}.selected-meal-preview{margin-top:16px;padding:16px;background:var(--gray-50);border-radius:10px}.selected-meal-preview h4{font-size:.9rem;color:var(--gray-600);margin-bottom:8px}.selected-meal-preview .preview-details{font-size:.9rem;color:var(--gray-700)}.selected-meal-preview .has-recipe{color:var(--success);font-weight:500;margin-top:4px}.submit-meal-modal .modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid var(--gray-200)}.btn-secondary{padding:10px 20px;background:var(--gray-100);color:var(--gray-700);border:none;border-radius:8px;font-weight:500;cursor:pointer}.btn-secondary:hover{background:var(--gray-200)}.btn-primary{display:flex;align-items:center;gap:8px;padding:10px 20px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer}.btn-primary:hover{background:var(--primary-dark)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.submit-success{text-align:center;padding:48px 24px}.submit-success .success-icon{color:var(--success);margin-bottom:12px}.submit-success h4{color:var(--gray-800);margin-bottom:8px}.submit-success p{color:var(--gray-500)}.my-submissions-panel{margin-bottom:24px;border:1px solid var(--gray-200);border-radius:12px;overflow:hidden}.submissions-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 16px;background:var(--gray-50);border:none;cursor:pointer;font-size:.95rem;font-weight:500;color:var(--gray-700)}.submissions-header:hover{background:var(--gray-100)}.submissions-header-left{display:flex;align-items:center;gap:8px}.pending-badge{background:var(--warning);color:#fff;font-size:.75rem;padding:2px 8px;border-radius:12px}.submissions-content{padding:16px;background:#fff}.submission-item{display:flex;align-items:center;justify-content:space-between;padding:12px;border:1px solid var(--gray-200);border-radius:8px;margin-bottom:8px}.submission-item:last-child{margin-bottom:0}.submission-item.pending{border-left:3px solid var(--warning)}.submission-item.approved{border-left:3px solid var(--success)}.submission-item.rejected{border-left:3px solid var(--danger)}.submission-info{flex:1}.submission-name{font-weight:500;color:var(--gray-800);display:block}.submission-macros{font-size:.8rem;color:var(--gray-500)}.submission-macros.secondary{font-size:.75rem;color:var(--gray-400);margin-top:2px}.submission-status{display:flex;align-items:center;gap:6px;font-size:.8rem;margin-top:4px}.status-icon.pending{color:var(--warning)}.status-icon.approved{color:var(--success)}.status-icon.rejected{color:var(--danger)}.rejection-reason{font-size:.75rem;color:var(--danger);margin-top:4px;display:block}.cancel-submission-btn{background:none;border:none;color:var(--gray-400);cursor:pointer;padding:8px;border-radius:6px}.cancel-submission-btn:hover{background:var(--danger);color:#fff}.admin-panel{margin-bottom:24px;border:2px solid var(--primary);border-radius:12px;overflow:hidden;background:#fff}.admin-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 16px;background:#6366f10d;border:none;cursor:pointer;font-size:.95rem;font-weight:500;color:var(--primary)}.admin-header:hover{background:#6366f11a}.admin-header-left{display:flex;align-items:center;gap:8px}.admin-icon{color:var(--primary)}.admin-header-right{display:flex;align-items:center;gap:8px}.refresh-btn{background:none;border:none;color:var(--gray-400);cursor:pointer;padding:4px}.refresh-btn:hover{color:var(--primary)}.pending-count-badge{background:var(--danger);color:#fff;font-size:.75rem;padding:2px 8px;border-radius:12px;font-weight:600}.admin-content{padding:16px}.no-pending{text-align:center;padding:24px;color:var(--gray-500)}.no-pending .all-clear-icon{color:var(--success);margin-bottom:8px}.submissions-list{display:flex;flex-direction:column;gap:12px}.submission-review-card{border:1px solid var(--gray-200);border-radius:10px;padding:16px}.submission-details h4{font-size:1rem;color:var(--gray-800);margin-bottom:4px}.submission-details .submission-macros{font-size:.85rem;color:var(--gray-600);margin-bottom:4px}.submission-details .submission-author{font-size:.8rem;color:var(--gray-500)}.has-recipe-badge{display:inline-block;background:#eef2ff;color:#4338ca;font-size:.75rem;padding:2px 8px;border-radius:4px;margin-top:8px}.submission-actions{display:flex;gap:8px;margin-top:12px}.approve-btn,.reject-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer;transition:opacity .2s}.approve-btn{background:var(--success);color:#fff}.approve-btn:hover{opacity:.9}.reject-btn{background:var(--gray-100);color:var(--danger)}.reject-btn:hover{background:var(--danger);color:#fff}.rejection-form{margin-top:12px}.rejection-form input{width:100%;padding:10px 12px;border:1px solid var(--gray-300);border-radius:8px;font-size:.9rem;margin-bottom:8px}.rejection-form input:focus{outline:none;border-color:var(--danger)}.rejection-actions{display:flex;gap:8px}.cancel-reject-btn{padding:8px 14px;background:var(--gray-100);color:var(--gray-700);border:none;border-radius:6px;font-size:.85rem;cursor:pointer}.confirm-reject-btn{padding:8px 14px;background:var(--danger);color:#fff;border:none;border-radius:6px;font-size:.85rem;cursor:pointer}.confirm-reject-btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:600px){.discover-tab{padding:16px}.discover-actions{flex-direction:column}.discover-search{width:100%}.submit-meal-btn{width:100%;justify-content:center}.master-meals-grid{grid-template-columns:1fr}.master-meal-footer{flex-direction:column;gap:12px;align-items:stretch}.add-to-library-btn{justify-content:center}.submission-actions{flex-direction:column}.approve-btn,.reject-btn{justify-content:center}}.app{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px));padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}.app-nav{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);-webkit-overflow-scrolling:touch}.app-main{padding-left:calc(16px + env(safe-area-inset-left,0px));padding-right:calc(16px + env(safe-area-inset-right,0px))}.app{min-height:100vh;min-height:-webkit-fill-available}input,select,textarea{font-size:16px!important}@media screen and (max-width:768px){input[type=text],input[type=number],input[type=email],input[type=password],input[type=date],input[type=time],input[type=search],select,textarea{font-size:16px!important}}.food-scanner,.modal-content,.settings-content,.meal-list,.scans-history,.scans-table,.discover-tab,.health-scanner,.progress-tracker{-webkit-overflow-scrolling:touch;overflow-y:auto}.food-scanner-overlay,.modal-overlay,.delete-confirm-overlay{padding-top:env(safe-area-inset-top,16px);padding-bottom:env(safe-area-inset-bottom,16px);padding-left:calc(16px + env(safe-area-inset-left,0px));padding-right:calc(16px + env(safe-area-inset-right,0px))}.food-scanner,.modal-content,.recipe-modal{max-height:calc(90vh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}.nav-btn,.date-nav-btn,.date-btn,.delete-meal-btn,.edit-meal-btn,.favorite-btn,.restore-btn,.perm-delete-btn,.close-btn,.close-button{min-width:44px;min-height:44px}.food-scanner-overlay,.modal-overlay,.delete-confirm-overlay{overscroll-behavior:contain}@supports not (gap: 1px){.macro-bars>*+*{margin-top:12px}.food-actions>*+*{margin-left:8px}.header-right>*+*{margin-left:12px}}.meal-list,.scans-table,.master-meals-grid{will-change:scroll-position}.app-nav{position:-webkit-sticky;position:sticky}.nav-btn,.capture-btn,.log-btn,.submit-btn,button{-webkit-user-select:none;user-select:none}.delete-confirm-dialog{margin-bottom:env(safe-area-inset-bottom,0px)}.chart-tabs,.preset-buttons{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}input[type=range]{-webkit-appearance:none;appearance:none;background:transparent}input[type=range]::-webkit-slider-runnable-track{height:8px;background:var(--gray-200);border-radius:4px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;background:var(--primary);border-radius:50%;cursor:pointer;margin-top:-8px}@media(hover:none)and (pointer:coarse){.nav-btn:active,.capture-btn:active,.log-btn:active,.submit-btn:active,.add-meal-btn:active,.date-nav-btn:active{opacity:.7;transform:scale(.98)}}@supports (-webkit-touch-callout: none){.app,.food-scanner-overlay,.modal-overlay{min-height:-webkit-fill-available}}@media(hover:none){.meal-item:active{background:var(--gray-100)}}.meal-logger,.settings,.inbody-upload,.health-scanner,.progress-tracker,.discover-tab{padding-bottom:env(safe-area-inset-bottom,20px)}.quantity-controls{display:flex;align-items:center;gap:8px;background:var(--gray-100);padding:4px 8px;border-radius:20px;margin-right:8px}.quantity-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:#fff;border-radius:50%;cursor:pointer;color:var(--primary);transition:all .2s;box-shadow:var(--shadow-sm)}.quantity-btn:hover{background:var(--primary);color:#fff}.quantity-btn:active{transform:scale(.95)}.quantity-value{font-weight:600;font-size:.95rem;color:var(--gray-800);min-width:32px;text-align:center}.quantity-input{width:60px;padding:4px 8px;border:1px solid var(--gray-300);border-radius:8px;font-size:.9rem;font-weight:600;text-align:center;background:#fff;color:var(--gray-800)}.quantity-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #4caf5033}.unit-select{padding:4px 8px;border:1px solid var(--gray-300);border-radius:8px;font-size:.85rem;background:#fff;color:var(--gray-700);cursor:pointer;min-width:70px}.unit-select:focus{outline:none;border-color:var(--primary)}.serving-size-input{margin-top:12px}.serving-size-input label{display:flex;flex-direction:column;gap:4px}.serving-size-input label>span:first-child{font-size:.9rem;color:var(--gray-700)}.serving-size-row{display:flex;align-items:center;gap:8px}.serving-size-row input{width:80px;padding:8px 12px;border:1px solid var(--gray-300);border-radius:8px;font-size:.95rem}.serving-size-row input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #4caf5033}.serving-size-unit{font-size:.9rem;color:var(--gray-600)}.serving-size-hint{font-size:.8rem;color:var(--gray-500)}.meal-item.selected{flex-wrap:wrap}@media(max-width:480px){.quantity-controls{order:3;width:100%;justify-content:center;margin-top:8px;margin-right:0}}.profile-setup-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1200;padding:20px}.profile-setup-modal{background:#fff;border-radius:16px;width:100%;max-width:480px;padding:32px;box-shadow:var(--shadow-lg)}.profile-setup-header{text-align:center;margin-bottom:24px}.profile-setup-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;background:var(--primary-light);border-radius:50%;color:var(--primary);margin-bottom:16px}.profile-setup-header h2{margin:0 0 8px;font-size:1.5rem;color:var(--gray-900)}.profile-setup-header p{margin:0;color:var(--gray-600);font-size:.95rem}.profile-setup-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.profile-setup-form .form-group{display:flex;flex-direction:column;gap:6px}.profile-setup-form label{font-size:.9rem;font-weight:500;color:var(--gray-700)}.profile-setup-form input,.profile-setup-form select{padding:12px;border:1px solid var(--gray-300);border-radius:8px;font-size:1rem}.profile-setup-form input:focus,.profile-setup-form select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4caf5026}.profile-setup-error{background:var(--danger-light);color:var(--danger);padding:12px;border-radius:8px;margin-bottom:16px;font-size:.9rem}.profile-setup-btn{width:100%;padding:14px;font-size:1rem;margin-top:8px}@media(max-width:480px){.profile-setup-form .form-row{grid-template-columns:1fr}.profile-setup-modal{padding:24px}}.profile-card h3{display:flex;align-items:center;gap:8px}.profile-card .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.profile-card .form-group{min-width:0}.profile-card input[type=date]{width:100%;max-width:100%;box-sizing:border-box;-webkit-appearance:none;appearance:none}@media(max-width:480px){.profile-card .form-row{grid-template-columns:1fr}}.profile-save-btn{margin-top:16px}.ai-insights-card{background:linear-gradient(135deg,#faf5ff,#f3e8ff);border:1px solid #e9d5ff;border-radius:var(--border-radius);padding:16px;margin-top:16px}.ai-insights-card.daily-insights{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#bbf7d0}.ai-insights-card.weekly-insights{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:#bfdbfe}.ai-insights-card.monthly-insights{background:linear-gradient(135deg,#fdf4ff,#fae8ff);border-color:#f5d0fe}.ai-insights-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.ai-insights-title{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--gray-800)}.ai-insights-title h3{margin:0;font-size:1rem}.ai-insights-title svg{color:#a855f7}.daily-insights .ai-insights-title svg{color:#22c55e}.weekly-insights .ai-insights-title svg{color:#3b82f6}.monthly-insights .ai-insights-title svg{color:#d946ef}.insights-refresh-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:#fffc;border-radius:8px;cursor:pointer;color:var(--gray-600);transition:all .2s}.insights-refresh-btn:hover:not(:disabled){background:#fff;color:var(--primary)}.insights-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.insights-no-key{text-align:center;padding:16px;color:var(--gray-600);font-size:.9rem}.insights-loading{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px;color:var(--gray-600)}.insights-error{text-align:center;padding:16px;color:var(--danger)}.insights-error button{margin-top:8px;padding:8px 16px;background:#fff;border:1px solid var(--danger);color:var(--danger);border-radius:8px;cursor:pointer}.insights-empty{text-align:center;padding:16px}.generate-insights-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:background .2s}.generate-insights-btn:hover{background:var(--primary-dark)}.insights-content{display:flex;flex-direction:column;gap:8px}.insight-tip{display:flex;gap:8px;align-items:flex-start;padding:8px 12px;background:#ffffffb3;border-radius:8px;font-size:.95rem;color:var(--gray-700)}.tip-bullet{color:#22c55e;font-weight:700}.insight-remaining{margin-top:8px;padding:10px 12px;background:#ffffffe6;border-radius:8px;font-size:.9rem;color:var(--gray-600);text-align:center;font-weight:500}.insights-content.enhanced.compact{display:flex;flex-direction:column;gap:8px}.insight-row{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:#ffffffd9;border-radius:8px;border-left:3px solid transparent;font-size:.9rem;line-height:1.4;color:var(--gray-700)}.insight-row .row-icon{flex-shrink:0;font-size:1rem}.insight-row.wins{background:linear-gradient(135deg,#fef3c7cc,#fde68a99);border-left-color:#fbbf24;color:#92400e;font-weight:500}.insight-row.pattern{background:linear-gradient(135deg,#dbeafecc,#bfdbfe99);border-left-color:#60a5fa;color:#1e40af}.insight-row.action{background:linear-gradient(135deg,#d1fae5cc,#a7f3d099);border-left-color:#4ade80;color:#166534}.insight-row.progress{background:linear-gradient(135deg,#ede9fecc,#ddd6fe99);border-left-color:#a78bfa;color:#5b21b6}.insight-remaining.compact{margin-top:4px;padding:8px 12px;font-size:.85rem}.weekly-insights-content,.monthly-insights-content{display:flex;flex-direction:column;gap:16px}.weekly-insight-section,.monthly-insight-section{background:#ffffffb3;border-radius:8px;padding:12px}.weekly-insight-section.summary-section,.monthly-insight-section.summary-section{background:#ffffffe6}.weekly-summary-text,.monthly-summary-text{margin:0;font-size:.95rem;line-height:1.6;color:var(--gray-700)}.section-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-weight:600;font-size:.9rem;color:var(--gray-700)}.section-header svg{color:var(--primary)}.insight-list{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}.insight-list li{font-size:.9rem;color:var(--gray-600);line-height:1.5}.insight-list.wins li{color:var(--success)}.insight-list.suggestions li{color:var(--gray-700)}.prediction-section{border-left:3px solid #d946ef}.goal-prediction-text{margin:0;font-size:.95rem;color:var(--gray-700);font-weight:500}.comparison-section p{margin:0;font-size:.9rem;color:var(--gray-600)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner{animation:spin 1s linear infinite}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(5deg)}}@keyframes floatReverse{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(20px) rotate(-5deg)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.landing-page{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(-45deg,#667eea,#764ba2,#6b8dd6,#8e37d7);background-size:400% 400%;animation:gradientShift 15s ease infinite;color:#fff;padding:calc(20px + env(safe-area-inset-top,0px)) 20px calc(20px + env(safe-area-inset-bottom,0px));position:relative;overflow:hidden}.landing-bg-elements{position:absolute;inset:0;pointer-events:none;overflow:hidden}.floating-icon{position:absolute;opacity:.15;color:#fff}.floating-1{top:10%;left:10%;animation:float 6s ease-in-out infinite}.floating-2{top:20%;right:15%;animation:floatReverse 8s ease-in-out infinite}.floating-3{top:60%;left:5%;animation:float 7s ease-in-out infinite 1s}.floating-4{top:75%;right:10%;animation:floatReverse 5s ease-in-out infinite .5s}.floating-5{top:40%;right:5%;animation:float 9s ease-in-out infinite 2s}.floating-6{top:85%;left:20%;animation:floatReverse 6s ease-in-out infinite 1.5s}.landing-hero{text-align:center;padding:40px 20px 20px;animation:fadeInUp .8s ease-out;position:relative;z-index:1}.hero-badge{display:inline-block;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:6px 16px;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;margin-bottom:16px;border:1px solid rgba(255,255,255,.3)}.landing-hero h1{font-size:2.8rem;font-weight:800;margin:0;letter-spacing:-1px;text-shadow:0 4px 30px rgba(0,0,0,.2)}.landing-hero .tagline{font-size:1rem;opacity:.9;margin-top:12px;max-width:280px;margin-left:auto;margin-right:auto;line-height:1.5}.hero-cta{margin-top:24px}.hero-cta .cta-subtext{font-size:.8rem;opacity:.8;margin-top:12px}.phone-mockup{margin:30px auto 0;width:180px;height:320px;background:linear-gradient(145deg,#1a1a2e,#16213e);border-radius:30px;padding:8px;box-shadow:0 25px 50px #0006,0 0 0 2px #ffffff1a,inset 0 0 20px #ffffff0d;animation:fadeInUp .8s ease-out .2s both}.phone-screen{background:linear-gradient(180deg,#1e1e30,#252540);border-radius:24px;height:100%;padding:16px 12px;display:flex;flex-direction:column;gap:16px}.mock-header{text-align:center;font-size:.7rem;font-weight:600;opacity:.7}.mock-calories{display:flex;justify-content:center;flex:1;align-items:center}.mock-circle{width:100px;height:100px;border-radius:50%;background:conic-gradient(from 0deg,#10b981 0deg 216deg,#ffffff1a 216deg 360deg);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;animation:pulse 3s ease-in-out infinite}.mock-circle:before{content:"";position:absolute;inset:8px;background:#252540;border-radius:50%}.mock-number{position:relative;z-index:1;font-size:1.1rem;font-weight:700;color:#10b981}.mock-label{position:relative;z-index:1;font-size:.6rem;opacity:.6}.mock-macros{display:flex;justify-content:space-between;gap:8px}.mock-macro{flex:1;text-align:center}.mock-bar{height:4px;border-radius:2px;margin-bottom:4px}.mock-bar.protein{background:linear-gradient(90deg,#ef4444 0% 70%,#ffffff1a 70%)}.mock-bar.carbs{background:linear-gradient(90deg,#f59e0b 0% 85%,#ffffff1a 85%)}.mock-bar.fat{background:linear-gradient(90deg,#3b82f6 0% 50%,#ffffff1a 50%)}.mock-macro span{font-size:.5rem;opacity:.5}.landing-features{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:20px;max-width:400px;margin:0 auto;width:100%;animation:fadeInUp .8s ease-out .4s both;position:relative;z-index:1}.landing-page .feature{background:#ffffff1a;border-radius:20px;padding:16px 12px;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.15);transition:transform .3s ease,background .3s ease}.landing-page .feature:active{transform:scale(.97);background:#ffffff26}.landing-page .feature-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:linear-gradient(135deg,#ffffff4d,#ffffff1a);border-radius:12px;margin:0 auto 10px;box-shadow:0 4px 15px #0000001a}.landing-page .feature-text h3{font-size:.9rem;font-weight:700;margin:0 0 4px}.landing-page .feature-text p{font-size:.75rem;opacity:.8;margin:0;line-height:1.4}.cta-button{background:linear-gradient(135deg,#fff,#f0f0f0);color:#6366f1;border:none;padding:16px 36px;font-size:1.1rem;font-weight:700;border-radius:50px;cursor:pointer;box-shadow:0 10px 40px #0000004d,0 0 0 1px #ffffff80;transition:transform .3s ease,box-shadow .3s ease;min-height:54px;display:inline-flex;align-items:center;gap:8px}.cta-button:hover{transform:translateY(-3px);box-shadow:0 15px 50px #00000059,0 0 0 1px #fff9}.cta-button:active{transform:scale(.97)}.landing-footer{text-align:center;padding:16px;font-size:.8rem;opacity:.6;position:relative;z-index:1}@media(max-width:380px){.landing-hero h1{font-size:2.2rem}.phone-mockup{width:160px;height:280px}.mock-circle{width:80px;height:80px}.mock-number{font-size:1rem}.landing-features{grid-template-columns:1fr;gap:10px}.landing-page .feature{display:flex;align-items:center;text-align:left;gap:14px;padding:14px}.landing-page .feature-icon{margin:0;flex-shrink:0}.landing-page .feature-text{flex:1}}@media(max-width:768px){.app-nav{position:fixed;inset:auto 0 0;border-bottom:none;border-top:1px solid var(--gray-200);padding-bottom:env(safe-area-inset-bottom,0px);box-shadow:0 -2px 10px #00000014;background:#fff}.app-header{z-index:102}.app-nav{z-index:101}.floating-scan-btn{bottom:calc(80px + env(safe-area-inset-bottom,0px));z-index:100}.app-main{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}.meal-logger,.settings,.inbody-upload,.health-scanner,.progress-tracker,.discover-tab,.weekly-summary{padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}.nav-btn.active{border-bottom:none;border-top:2px solid var(--primary)}}.auth-back-btn{position:absolute;top:calc(16px + env(safe-area-inset-top,0px));left:16px;display:flex;align-items:center;gap:6px;background:#fff3;border:none;color:#fff;padding:8px 12px;border-radius:8px;cursor:pointer;font-size:.9rem;transition:background .2s}.auth-back-btn:hover{background:#ffffff4d}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px;background:var(--gray-50)}.error-boundary-content{text-align:center;max-width:400px;padding:40px;background:#fff;border-radius:16px;box-shadow:var(--shadow-lg)}.error-boundary-content h2{color:var(--danger);margin-bottom:12px;font-size:1.5rem}.error-boundary-content p{color:var(--gray-600);margin-bottom:20px}.error-details{text-align:left;margin-bottom:20px;padding:12px;background:var(--gray-50);border-radius:8px}.error-details summary{cursor:pointer;color:var(--gray-500);font-size:.875rem}.error-details pre{margin-top:8px;font-size:.75rem;color:var(--danger);white-space:pre-wrap;word-break:break-word}.error-retry-btn{padding:12px 24px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.error-retry-btn:hover{background:var(--primary-dark)}.tab-loading{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--gray-400)}
