@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap);body{margin:0}:root{--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px)}.login-container{align-items:center;background:linear-gradient(160deg,var(--c-primary-d) 0,var(--c-primary) 55%,#0e7490 100%);box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;min-height:100vh;overflow-x:hidden;padding:16px}.login-brand{color:#fff;margin-bottom:28px;text-align:center}.login-brand-icon{font-size:42px;line-height:1;margin-bottom:8px}.login-brand h1{font-size:22px;font-weight:700;letter-spacing:-.3px;margin-bottom:4px}.login-brand p{font-size:13px;font-weight:400;opacity:.85}.login-card{background:var(--c-surface);border-radius:var(--radius-lg);box-shadow:0 12px 40px #00000038;box-sizing:border-box;max-width:360px;overflow:hidden;padding:20px 18px;width:100%}.login-card-title{color:var(--c-text);font-size:15px;font-weight:700;margin-bottom:14px;text-align:center}.login-options{align-items:center;display:flex;flex-direction:column;gap:10px}.google-disabled-box{background:var(--c-bg);border:1.5px solid var(--c-border);border-radius:var(--radius-sm);color:var(--c-text-2);font-size:13px;padding:10px;text-align:center;width:100%}.google-disabled-box small{color:var(--c-text-3);display:block;font-size:11px;margin-top:2px}.login-divider{align-items:center;color:var(--c-text-3);display:flex;font-size:11px;font-weight:600;gap:8px;width:100%}.login-divider:after,.login-divider:before{background:var(--c-border);content:"";flex:1 1;height:1px}.skip-button{background:var(--c-primary);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-family:var(--font);font-size:14px;font-weight:600;padding:11px;transition:background .2s;width:100%}.skip-button:hover{background:var(--c-primary-d)}.skip-button:active{transform:scale(.97)}.error-message{background:var(--c-danger-l);border-radius:var(--radius-sm);color:#9f1239;font-size:12px;font-weight:500;padding:8px 10px;width:100%}.info-text{color:var(--c-text-3);font-size:11px;line-height:1.5;text-align:center}.diet-tracker{width:100%}.tracker-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:10px}.tracker-header h2{color:var(--c-text);font-size:16px;font-weight:700}.date-picker{background:var(--c-surface);border:1.5px solid var(--c-border);border-radius:var(--radius-sm);font-family:var(--font);font-size:13px;padding:7px 10px}.daily-summary{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr);margin-bottom:10px}.summary-card{background:var(--c-surface);border-radius:var(--radius);box-shadow:var(--shadow-xs);padding:10px}.summary-label{color:var(--c-text-3);font-size:11px;font-weight:600;letter-spacing:.3px;margin-bottom:6px;text-transform:uppercase}.summary-progress{display:flex;flex-direction:column;gap:4px}.progress-fill{transition:width .3s ease}.progress-fill.fat{background:var(--c-warn)}.progress-text{color:var(--c-text);font-size:12px;font-weight:600}.add-food-section{background:var(--c-surface);border-radius:var(--radius);box-shadow:var(--shadow-xs);margin-bottom:10px;padding:12px}.add-food-section h3{color:var(--c-text);font-size:13px;font-weight:700;margin-bottom:10px}.category-filter{margin-bottom:10px}.category-filter label{color:var(--c-text-2);display:block;font-size:11px;font-weight:600;letter-spacing:.3px;margin-bottom:6px;text-transform:uppercase}.category-buttons{display:flex;flex-wrap:wrap;gap:6px;max-width:100%;overflow-x:auto;padding-bottom:2px}.category-btn{background:var(--c-bg);border:1.5px solid var(--c-border);border-radius:20px;color:var(--c-text-2);cursor:pointer;font-family:var(--font);font-size:12px;font-weight:500;padding:5px 10px;transition:all .15s}.category-btn:hover{border-color:var(--c-primary);color:var(--c-primary)}.category-btn.active{background:var(--c-primary);border-color:var(--c-primary);color:#fff}.category-hint{color:var(--c-primary);font-size:11px;font-style:italic;margin-top:6px}.search-container{display:flex;gap:8px;margin-bottom:8px}.search-input-wrapper{flex:1 1;min-width:0;position:relative}.search-input{border:1.5px solid var(--c-border);border-radius:var(--radius-sm);box-sizing:border-box;font-family:var(--font);font-size:13px;padding:8px 10px;width:100%}.search-input:focus{border-color:var(--c-primary)}.suggestions-dropdown{background:var(--c-surface);border:1.5px solid var(--c-primary);border-radius:0 0 var(--radius-sm) var(--radius-sm);border-top:none;box-shadow:0 4px 12px #0000001f;left:0;max-height:160px;max-width:calc(100vw - 32px);overflow-x:hidden;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.suggestion-item{border-bottom:1px solid var(--c-border);color:var(--c-text);cursor:pointer;font-size:13px;padding:8px 10px}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover{background:var(--c-primary-l);color:var(--c-primary-d)}.search-btn{background:var(--c-primary);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-family:var(--font);font-size:13px;font-weight:600;padding:8px 14px;white-space:nowrap}.search-btn:disabled{cursor:not-allowed;opacity:.55}.search-btn:not(:disabled):hover{background:var(--c-primary-d)}.search-results{margin-bottom:10px;max-height:220px;overflow-x:hidden;overflow-y:auto;scrollbar-color:var(--c-border) #0000;scrollbar-width:thin}.search-results::-webkit-scrollbar{width:4px}.search-results::-webkit-scrollbar-track{background:#0000}.search-results::-webkit-scrollbar-thumb{background:var(--c-border);border-radius:4px}.food-item{word-wrap:break-word;background:var(--c-bg);border:1.5px solid var(--c-border);border-radius:var(--radius-sm);cursor:pointer;margin-bottom:6px;overflow-wrap:break-word;padding:10px;transition:border-color .15s}.food-item.selected,.food-item:hover{border-color:var(--c-primary)}.food-item.selected{background:var(--c-primary-l)}.food-name{color:var(--c-text);font-size:13px;font-weight:600;margin-bottom:2px}.food-brand{color:var(--c-text-3);font-size:11px;margin-bottom:4px}.food-nutrition{color:var(--c-text-2);font-size:12px}.add-entry-form{background:var(--c-bg);border-radius:var(--radius-sm);padding:10px}.add-btn{background:var(--c-primary);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-family:var(--font);font-size:13px;font-weight:600;padding:10px;width:100%}.add-btn:hover{background:var(--c-primary-d)}.add-btn:active{transform:scale(.97)}.entries-section h3{color:var(--c-text);font-size:13px;font-weight:700;margin-bottom:8px;margin-top:12px}.no-entries{color:var(--c-text-3);font-size:13px;padding:24px;text-align:center}.meal-group{margin-bottom:14px}.meal-group h4{color:var(--c-primary);font-size:12px;font-weight:700;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.entry-item{align-items:center;background:var(--c-surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-xs);display:flex;gap:8px;margin-bottom:5px;min-width:0;padding:8px 10px}.entry-info{flex:1 1;min-width:0;overflow:hidden}.entry-name{color:var(--c-text);font-size:13px;font-weight:600}.entry-brand,.entry-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-brand{color:var(--c-text-3);font-size:11px}.entry-nutrition,.entry-quantity{color:var(--c-text-2);font-size:11px}.entry-nutrition{display:flex;flex-shrink:0;gap:8px}.delete-btn{align-items:center;background:var(--c-danger-l);border:none;border-radius:50%;color:var(--c-danger);cursor:pointer;display:flex;flex-shrink:0;font-size:16px;height:26px;justify-content:center;transition:background .15s;width:26px}.delete-btn:hover{background:var(--c-danger);color:#fff}.test-reports{width:100%}.test-reports h2{color:var(--c-text);font-size:16px;font-weight:700;margin-bottom:10px}.add-test-section{background:var(--c-surface);border-radius:var(--radius);box-shadow:var(--shadow-xs);margin-bottom:10px;padding:12px}.add-test-section h3{color:var(--c-text);font-size:13px;font-weight:700;margin-bottom:10px}.test-results{margin:8px 0;max-height:200px;overflow-y:auto}.test-item{background:var(--c-bg);border:1.5px solid var(--c-border);border-radius:var(--radius-sm);cursor:pointer;margin-bottom:5px;padding:9px 10px;transition:border-color .15s}.test-item:hover{border-color:var(--c-primary)}.test-name{color:var(--c-text);font-size:13px}.test-category,.test-name{font-weight:600;margin-bottom:2px}.test-category{background:var(--c-primary-l);border-radius:12px;color:var(--c-primary-d);display:inline-block;font-size:10px;padding:2px 7px}.test-unit{color:var(--c-text-3);font-size:11px}.test-form{background:var(--c-bg);border-radius:var(--radius-sm);margin-top:10px;padding:10px}.selected-test-info{border-bottom:1px solid var(--c-border);margin-bottom:10px;padding-bottom:8px}.selected-test-info h4{color:var(--c-primary);font-size:13px;font-weight:700;margin:0 0 2px}.selected-test-info p{color:var(--c-text-2);font-size:12px;margin:0}.form-row{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr);margin-bottom:8px}.form-actions{display:flex;gap:8px;margin-top:8px}.submit-btn{flex:1 1;padding:9px}.cancel-btn{background:var(--c-bg);border:1.5px solid var(--c-border);border-radius:var(--radius-sm);color:var(--c-text-2);cursor:pointer;font-family:var(--font);font-size:13px;font-weight:600;padding:9px 14px}.cancel-btn:hover{background:var(--c-border)}.reports-section h3{color:var(--c-text);font-size:13px;font-weight:700;margin:12px 0 8px}.no-reports{color:var(--c-text-3);font-size:13px;padding:24px;text-align:center}.reports-list{display:flex;flex-direction:column;gap:8px}.report-card{background:var(--c-surface);border:1.5px solid var(--c-border);border-radius:var(--radius);box-shadow:var(--shadow-xs);padding:10px 12px}.report-header{align-items:flex-start;display:flex;gap:8px;justify-content:space-between;margin-bottom:8px}.report-header h4{color:var(--c-text);font-size:13px;font-weight:700;margin:0 0 3px}.report-category{background:var(--c-primary-l);border-radius:12px;color:var(--c-primary-d);display:inline-block;font-size:10px;font-weight:600;padding:2px 7px}.report-body{display:flex;flex-direction:column;gap:6px}.report-value{align-items:center;display:flex;gap:8px}.value-label{color:var(--c-text-2);font-size:12px}.value-number{color:var(--c-text);font-size:20px;font-weight:700;line-height:1}.report-status{align-items:center;display:flex;gap:8px}.status-badge{color:#fff;letter-spacing:.3px}.status-message{color:var(--c-text-2);font-size:12px}.report-date{color:var(--c-text-3);font-size:11px}.categories-info{background:var(--c-surface);border-radius:var(--radius);box-shadow:var(--shadow-xs);margin-top:12px;padding:10px}.categories-info h3{color:var(--c-text);font-size:13px;font-weight:700;margin-bottom:8px}.categories-grid{display:flex;flex-wrap:wrap;gap:6px}.category-badge{background:var(--c-bg);border:1.5px solid var(--c-border);border-radius:16px;color:var(--c-text-2);font-size:12px;font-weight:500;padding:5px 10px}.health-goals{width:100%}.goals-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:10px}.goals-header h2{color:var(--c-text);font-size:16px;font-weight:700}.add-goal-btn{background:var(--c-primary);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-family:var(--font);font-size:13px;font-weight:600;padding:8px 14px}.add-goal-btn:hover{background:var(--c-primary-d)}.add-goal-btn:active{transform:scale(.96)}.goal-form{background:var(--c-surface);border-radius:var(--radius);box-shadow:var(--shadow-xs);margin-bottom:10px;padding:12px}.form-grid{grid-template-columns:repeat(2,1fr);margin-bottom:8px}.form-group.full-width{grid-column:1/-1}.form-group label{display:block}.form-group input,.form-group select,.form-group textarea{border:1.5px solid var(--c-border);border-radius:var(--radius-sm);font-family:var(--font);font-size:13px;padding:8px;resize:vertical;width:100%}.submit-btn{background:var(--c-primary);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-family:var(--font);font-size:13px;font-weight:600;padding:10px;width:100%}.submit-btn:hover{background:var(--c-primary-d)}.submit-btn:active{transform:scale(.97)}.no-goals{color:var(--c-text-3);font-size:13px;padding:36px 12px;text-align:center}.goals-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr}.goal-card{background:var(--c-surface);border:1.5px solid var(--c-border);border-radius:var(--radius);box-shadow:var(--shadow-xs);overflow:hidden;padding:12px;position:relative}.goal-card.completed{background:var(--c-accent-l);border-color:var(--c-accent)}.goal-header{align-items:flex-start;display:flex;gap:8px;justify-content:space-between;margin-bottom:8px}.goal-title-row{align-items:center;display:flex;flex:1 1;gap:6px}.goal-icon{font-size:18px}.goal-card h3{color:var(--c-text);font-size:14px;font-weight:700}.goal-description{color:var(--c-text-2);font-size:12px;line-height:1.5;margin-bottom:10px}.goal-progress{margin-bottom:8px}.progress-info{display:flex;justify-content:space-between;margin-bottom:5px}.current-value{color:var(--c-primary);font-size:17px;font-weight:700}.target-value{color:var(--c-text-3);font-size:13px}.progress-bar{margin-bottom:3px}.progress-percentage{color:var(--c-text-2);font-size:11px;font-weight:600;text-align:right}.goal-update{margin-bottom:8px}.update-input{border:1.5px solid var(--c-border);border-radius:var(--radius-sm);font-family:var(--font);font-size:13px;margin-bottom:3px;padding:7px 9px;width:100%}.update-input:focus{border-color:var(--c-primary)}.update-hint{color:var(--c-text-3);font-size:11px}.goal-footer{align-items:center;border-top:1px solid var(--c-border);display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;padding-top:8px}.goal-category{background:var(--c-primary-l);border-radius:12px;color:var(--c-primary-d);font-size:11px;font-weight:600;padding:2px 8px;text-transform:capitalize}.goal-deadline{color:var(--c-text-3);font-size:11px}.completion-badge{background:var(--c-accent);border-radius:12px;color:#fff;font-size:10px;font-weight:700;padding:3px 8px;position:absolute;right:8px;top:8px}@media (min-width:600px){.form-grid,.goals-grid{grid-template-columns:repeat(2,1fr)}}.daily-checklist{width:100%}.checklist-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:10px}.checklist-header h2{color:var(--c-text);font-size:16px;font-weight:700}.no-checklist{padding:40px 16px;text-align:center}.no-checklist p{color:var(--c-text-3);font-size:13px;margin-bottom:12px}.create-btn{background:var(--c-primary);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-family:var(--font);font-size:13px;font-weight:600;padding:9px 20px}.create-btn:hover{background:var(--c-primary-d)}.checklist-summary{background:var(--c-surface);border-radius:var(--radius);box-shadow:var(--shadow-xs);margin-bottom:10px;padding:12px}.summary-stats{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr);margin-bottom:10px}.stat{text-align:center}.stat-value{color:var(--c-primary);display:block;font-size:26px;font-weight:700;line-height:1;margin-bottom:3px}.stat-label{color:var(--c-text-3);display:block;font-size:10px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.progress-bar{background:var(--c-border);border-radius:3px;height:5px;overflow:hidden}.progress-fill{transition:width .5s ease}.checklist-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.add-item-btn,.report-btn{border:none;border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font);font-size:12px;font-weight:600;padding:8px 14px;transition:background .15s}.add-item-btn{background:var(--c-primary);color:#fff}.add-item-btn:hover{background:var(--c-primary-d)}.report-btn{background:var(--c-bg);border:1.5px solid var(--c-border);color:var(--c-text-2)}.report-btn:hover{background:var(--c-border)}.add-item-form{background:var(--c-surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-xs);display:flex;gap:6px;margin-bottom:10px;padding:10px}.item-input{border:1.5px solid var(--c-border);border-radius:var(--radius-sm);flex:1 1;font-family:var(--font);font-size:13px;padding:8px 10px}.item-input:focus{border-color:var(--c-primary)}.save-item-btn{background:var(--c-primary);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-family:var(--font);font-size:12px;font-weight:600;padding:8px 14px;white-space:nowrap}.save-item-btn:hover{background:var(--c-primary-d)}.checklist-items{display:flex;flex-direction:column;gap:6px}.no-items{color:var(--c-text-3);font-size:13px;padding:24px;text-align:center}.checklist-item{align-items:center;background:var(--c-surface);border:1.5px solid var(--c-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-xs);display:flex;gap:10px;padding:10px 12px;transition:border-color .15s}.checklist-item:hover{border-color:var(--c-primary)}.checklist-item.completed{background:var(--c-accent-l);border-color:var(--c-accent)}.item-checkbox{accent-color:var(--c-primary);cursor:pointer;flex-shrink:0;height:18px;width:18px}.item-text{color:var(--c-text);flex:1 1;font-size:13px}.checklist-item.completed .item-text{color:var(--c-text-3);text-decoration:line-through}.delete-item-btn{align-items:center;background:var(--c-danger-l);border:none;border-radius:50%;color:var(--c-danger);cursor:pointer;display:flex;flex-shrink:0;font-size:15px;height:24px;justify-content:center;transition:background .15s;width:24px}.delete-item-btn:hover{background:var(--c-danger);color:#fff}.user-profile{width:100%}.user-profile h2{color:var(--c-text);font-size:16px;font-weight:700;margin-bottom:10px}.profile-form{background:var(--c-surface);border-radius:var(--radius);box-shadow:var(--shadow-xs);margin-bottom:10px;padding:12px}.form-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr;margin-bottom:10px}.form-group{display:flex;flex-direction:column}.form-group label{color:var(--c-text-2);font-size:11px;font-weight:600;letter-spacing:.3px;margin-bottom:4px;text-transform:uppercase}.form-group input,.form-group select{border:1.5px solid var(--c-border);border-radius:var(--radius-sm);font-family:var(--font);font-size:13px;padding:8px}.form-group input:focus,.form-group select:focus{border-color:var(--c-primary);box-shadow:0 0 0 2px #0d94881a}.save-btn{background:var(--c-primary);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-family:var(--font);font-size:13px;font-weight:600;padding:10px 20px}.save-btn:hover{background:var(--c-primary-d)}.save-btn:active{transform:scale(.97)}.diet-plan{background:var(--c-surface);border-radius:var(--radius);box-shadow:var(--shadow-xs);margin-top:10px;padding:12px}.diet-plan h3{color:var(--c-text);font-size:13px;font-weight:700;margin-bottom:10px}.metrics-grid{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(3,1fr);margin-bottom:12px}.metric-card{background:var(--c-bg);border-radius:var(--radius-sm);padding:10px 7px;text-align:center}.metric-label{color:var(--c-text-3);font-size:10px;font-weight:600;letter-spacing:.3px;margin-bottom:4px;text-transform:uppercase}.metric-value{color:var(--c-primary);font-size:22px;font-weight:700;line-height:1;margin-bottom:2px}.metric-status,.metric-unit{color:var(--c-text-2);font-size:11px}.macros-section{margin-bottom:12px}.macros-section h4{color:var(--c-text);font-size:12px;font-weight:700;letter-spacing:.3px;margin-bottom:7px;text-transform:uppercase}.macros-grid{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(3,1fr)}.macro-item{background:var(--c-bg);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:2px;padding:8px;text-align:center}.macro-label{color:var(--c-text-2);font-size:11px;font-weight:600}.macro-value{color:var(--c-primary);font-size:18px;font-weight:700}.recommendations{background:var(--c-bg);border-radius:var(--radius-sm);padding:10px}.recommendations h4{color:var(--c-text);font-size:12px;font-weight:700;letter-spacing:.3px;margin-bottom:7px;text-transform:uppercase}.recommendations ul{list-style:none;padding:0}.recommendations li{border-bottom:1px solid var(--c-border);color:var(--c-text-2);font-size:12px;line-height:1.5;padding:6px 0}.recommendations li:last-child{border-bottom:none}.recommendations li:before{color:var(--c-accent);content:"✓ ";font-weight:700}@media (min-width:480px){.form-grid{grid-template-columns:repeat(2,1fr)}.metrics-grid{grid-template-columns:repeat(4,1fr)}}.reports{width:100%}.reports-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:10px}.reports-header h2{color:var(--c-text);font-size:16px;font-weight:700;margin:0}.download-btn{background:var(--c-primary);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-family:var(--font);font-size:13px;font-weight:600;padding:8px 14px}.download-btn:hover{background:var(--c-primary-d)}.report-controls{background:var(--c-surface);border-radius:var(--radius);box-shadow:var(--shadow-xs);gap:8px;margin-bottom:10px;padding:10px}.control-group,.report-controls{display:flex;flex-direction:column}.control-group{gap:4px}.control-group label{color:var(--c-text-2);font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.control-group select{background:var(--c-surface);border:1.5px solid var(--c-border);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font);font-size:13px;padding:7px 9px}.report-section{background:var(--c-surface);border-radius:var(--radius);box-shadow:var(--shadow-xs);margin-bottom:10px;padding:12px}.report-section h3{border-bottom:2px solid var(--c-primary-l);color:var(--c-text);font-size:13px;font-weight:700;margin:16px 0 10px;padding-bottom:6px}.report-section h3:first-child{margin-top:0}.chart-container{background:var(--c-bg);border-radius:var(--radius-sm);margin-bottom:4px;padding:6px 0;width:100%}.no-data-card{background:var(--c-bg);border:2px dashed var(--c-border);border-radius:var(--radius);padding:32px 16px;text-align:center}.no-data-icon{font-size:36px;margin-bottom:10px}.no-data-card h4{color:var(--c-text);font-size:15px;font-weight:700;margin:0 0 6px}.no-data-card p{color:var(--c-text-3);font-size:13px;line-height:1.5;margin:0}.test-chart{border-bottom:1px solid var(--c-border);margin-bottom:14px;padding-bottom:12px}.test-chart:last-child{border-bottom:none;margin-bottom:0}.test-chart h3{color:var(--c-primary);margin-top:0!important}@media (min-width:480px){.report-controls{flex-direction:row}.control-group{flex:1 1}}.notification-settings{width:100%}.notification-settings h2{color:var(--c-text);font-size:16px;font-weight:700;margin-bottom:10px}.settings-section{background:var(--c-surface);border-radius:var(--radius);box-shadow:var(--shadow-xs);margin-bottom:8px;padding:12px}.settings-section h3{border-bottom:2px solid var(--c-primary-l);color:var(--c-text-2);font-size:12px;font-weight:700;letter-spacing:.4px;margin-bottom:8px;padding-bottom:6px;text-transform:uppercase}.setting-item{align-items:center;border-bottom:1px solid var(--c-border);display:flex;gap:10px;justify-content:space-between;padding:10px 0}.setting-item:last-child{border-bottom:none}.setting-info{flex:1 1;min-width:0}.setting-info label{color:var(--c-text);display:block;font-size:13px;font-weight:600;margin-bottom:2px}.setting-description{color:var(--c-text-3);font-size:11px;line-height:1.4;margin:0}.toggle-switch{display:inline-block;flex-shrink:0;height:24px;position:relative;width:44px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background:#cbd5e1;border-radius:24px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.3s}.toggle-slider:before{background:#fff;border-radius:50%;bottom:3px;box-shadow:0 1px 3px #0003;content:"";height:18px;left:3px;position:absolute;transition:.3s;width:18px}.toggle-switch input:checked+.toggle-slider{background:var(--c-primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(20px)}.meal-times{grid-gap:8px;background:var(--c-bg);border-radius:var(--radius-sm);display:grid;gap:8px;grid-template-columns:repeat(3,1fr);margin-top:10px;padding:10px}.time-input{display:flex;flex-direction:column;gap:4px}.time-input label{color:var(--c-text-2);font-size:10px;font-weight:700;letter-spacing:.3px;text-transform:uppercase}.time-input input[type=time]{border:1.5px solid var(--c-border);border-radius:var(--radius-sm);font-family:var(--font);font-size:12px;padding:6px 7px}.time-input input[type=time]:focus{border-color:var(--c-primary)}.settings-actions{display:flex;flex-direction:column;gap:8px;margin-top:10px}.btn-primary,.btn-secondary{border:none;border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font);font-size:13px;font-weight:600;padding:10px;transition:background .15s;width:100%}.btn-secondary{background:#3b82f6;color:#fff}.btn-secondary:hover{background:#2563eb}.settings-info-box{background:var(--c-primary-l);border-left:3px solid var(--c-primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin-top:8px;padding:10px}.settings-info-box p{color:var(--c-primary-d);font-size:12px;line-height:1.5;margin:0}@media (min-width:480px){.settings-actions{flex-direction:row}.meal-times{grid-template-columns:repeat(3,1fr)}}.about-container{width:100%}.about-header{background:var(--c-primary);border-radius:var(--radius);color:#fff;margin-bottom:10px;padding:16px;text-align:center}.about-header h2{font-size:18px;font-weight:700;letter-spacing:-.2px;margin:0 0 8px}.about-header p{font-size:12px;line-height:1.4;margin:0 0 10px;opacity:.88}.version-display{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.build-number,.version-number{background:#ffffff2e;border:1px solid #ffffff40;border-radius:12px;font-size:11px;font-weight:600;padding:4px 10px}.about-section{background:var(--c-surface);border-radius:var(--radius);box-shadow:var(--shadow-xs);margin-bottom:8px;padding:12px}.about-section h3{border-bottom:2px solid var(--c-primary-l);color:var(--c-text-2);font-size:12px;font-weight:700;letter-spacing:.4px;margin:0 0 10px;padding-bottom:6px;text-transform:uppercase}.info-grid{grid-gap:5px;display:grid;gap:5px;grid-template-columns:1fr}.info-item{align-items:center;background:var(--c-bg);border-radius:var(--radius-sm);display:flex;gap:8px;justify-content:space-between;padding:8px 10px}.info-item label{color:var(--c-text-2);font-size:12px;font-weight:600}.info-item span{color:var(--c-text);font-size:12px;text-align:right}.status-badge{border-radius:12px;font-size:10px;font-weight:700;padding:2px 8px}.status-active{background:var(--c-accent-l);color:#065f46}.status-inactive{background:var(--c-danger-l);color:#9f1239}.features-grid{grid-gap:5px;display:grid;gap:5px;grid-template-columns:1fr}.feature-item{align-items:center;background:var(--c-bg);border-left:3px solid var(--c-primary);border-radius:var(--radius-sm);display:flex;justify-content:space-between;padding:8px 10px}.feature-name{color:var(--c-text);font-size:12px;font-weight:500}.feature-version{color:var(--c-primary);font-size:11px;font-weight:600}.links-list{display:flex;flex-direction:column;gap:5px}.doc-link{background:var(--c-bg);border:1.5px solid var(--c-primary-l);border-radius:var(--radius-sm);color:var(--c-primary);display:block;font-size:13px;font-weight:600;padding:9px 10px;text-decoration:none;transition:background .15s}.doc-link:hover{background:var(--c-primary-l)}.about-text{color:var(--c-text-2);font-size:13px;line-height:1.6;margin:0 0 10px}.about-text:last-child{margin-bottom:0}.about-footer{color:var(--c-text-3);font-size:11px;padding:12px;text-align:center}.about-footer p{margin:3px 0}.license{font-size:10px;opacity:.7}@media (min-width:480px){.features-grid,.info-grid{grid-template-columns:repeat(2,1fr)}.links-list{flex-direction:row;flex-wrap:wrap}.doc-link{flex:1 1;min-width:140px}}.dashboard{background:var(--c-bg);min-height:100vh;overflow-x:hidden;padding-bottom:calc(70px + var(--sab))}.dashboard-header{background:linear-gradient(135deg,#0a6b62 0,var(--c-primary) 60%,#0e9f8e 100%);box-shadow:0 3px 12px #0000002e;color:#fff;padding:0 14px;padding-top:var(--sat);position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-content{height:52px;justify-content:space-between;margin:0 auto;max-width:700px}.header-brand,.header-content{align-items:center;display:flex;gap:8px}.header-brand{min-width:0}.header-logo{align-items:center;background:#ffffff2e;border:1.5px solid #ffffff4d;border-radius:9px;display:flex;flex-shrink:0;font-size:17px;height:32px;justify-content:center;width:32px}.header-title-group{display:flex;flex-direction:column;min-width:0}.header-title-group h1{align-items:center;display:flex;font-size:15px;font-weight:700;gap:5px;letter-spacing:-.2px;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-tagline{font-size:10px;font-weight:400;letter-spacing:.1px;margin-top:1px;opacity:.72;white-space:nowrap}.version-badge{align-items:center;background:#ffffff2e;border:1px solid #ffffff40;border-radius:10px;color:#ffffffe6;display:inline-flex;font-size:9px;font-weight:700;letter-spacing:.2px;padding:1px 5px}.user-info{flex-shrink:0;gap:6px}.user-chip,.user-info{align-items:center;display:flex}.user-chip{background:#ffffff26;border:1px solid #ffffff38;border-radius:20px;gap:5px;padding:4px 8px 4px 5px}.user-avatar{align-items:center;background:#ffffff40;border-radius:50%;display:flex;font-size:12px;height:22px;justify-content:center;width:22px}.user-name{max-width:70px;overflow:hidden;text-overflow:ellipsis}.logout-btn,.user-name{font-size:11px;font-weight:600;white-space:nowrap}.logout-btn{background:#ffffff1f;border:1px solid #ffffff38;border-radius:14px;color:#fff;cursor:pointer;font-family:var(--font);padding:5px 10px;transition:background .15s}.logout-btn:hover{background:#ffffff3d}.dashboard-container{box-sizing:border-box;margin:0 auto;max-width:600px;overflow-x:hidden;padding:12px;width:100%}.sidebar{display:none}.main-content{background:#0000}.bottom-nav{background:var(--c-surface);border-top:1px solid var(--c-border);bottom:0;box-shadow:0 -2px 10px #0000000f;justify-content:space-around;left:0;max-width:100vw;padding-bottom:var(--sab);position:fixed;right:0;z-index:200}.bottom-nav,.nav-item{display:flex;overflow:hidden}.nav-item{align-items:center;background:#0000;border:none;cursor:pointer;flex:1 1;flex-direction:column;gap:2px;min-width:0;padding:7px 6px 6px;transition:none}.nav-icon{font-size:20px;transition:transform .15s}.nav-label{color:var(--c-text-3);font-size:9px;font-weight:600;letter-spacing:.2px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-item.active .nav-icon{transform:scale(1.1)}.nav-item.active .nav-label{color:var(--c-primary)}.nav-item.active .nav-icon{filter:none}.greeting-section{align-items:center;background:var(--c-surface);border-radius:var(--radius);box-shadow:var(--shadow-xs);display:flex;gap:10px;margin-bottom:10px;padding:12px}.greeting-avatar{align-items:center;background:var(--c-primary-l);border-radius:50%;display:flex;flex-shrink:0;font-size:18px;height:38px;justify-content:center;width:38px}.greeting-text h2{color:var(--c-text);font-size:15px;font-weight:700;margin-bottom:1px}.greeting-text p{color:var(--c-text-3);font-size:12px}.stats-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr);margin-bottom:10px}.stat-card{background:var(--c-surface);border-radius:var(--radius);box-shadow:var(--shadow-xs);padding:11px}.stat-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.stat-card-title{color:var(--c-text-3);font-size:11px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.stat-card-icon{font-size:18px}.stat-card-value{color:var(--c-text);font-size:22px;font-weight:700;line-height:1;margin-bottom:2px}.stat-card-label{color:var(--c-text-3);font-size:11px}.overview-progress-section{background:var(--c-surface);border-radius:var(--radius);box-shadow:var(--shadow-xs);display:block;margin-bottom:10px;padding:14px}.overview-progress-header{align-items:center;color:var(--c-text);display:flex;font-size:13px;font-weight:600;justify-content:space-between;margin-bottom:10px}.overview-progress-pct{color:var(--c-primary);font-size:14px;font-weight:700}.overview-progress-track{background:var(--c-bg);border:1px solid var(--c-border);border-radius:5px;height:10px;margin-bottom:12px;overflow:hidden;width:100%}.overview-progress-fill{background:linear-gradient(90deg,var(--c-primary),var(--c-accent));border-radius:5px;height:100%;min-width:2px;transition:width .4s ease}.overview-macro-row{border-top:1px solid var(--c-border);color:var(--c-text-2);display:flex;font-size:12px;font-weight:600;justify-content:space-between;padding:8px 0 0}.overview-macro-row span{align-items:center;display:inline-flex;gap:2px}.overview-meals{background:var(--c-surface);border-radius:var(--radius);box-shadow:var(--shadow-xs);display:block;margin-bottom:10px;padding:14px}.overview-meals h3{color:var(--c-text);font-size:14px;font-weight:700;margin:0 0 12px}.overview-empty{color:var(--c-text-3);font-size:13px;padding:20px 8px;text-align:center}.overview-empty p{margin:0 0 12px}.overview-meal-list{display:flex;flex-direction:column;gap:8px}.overview-meal-group{background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-sm);padding:10px 12px}.overview-meal-title{border-bottom:1px dashed var(--c-border);color:var(--c-primary-d);font-size:12px;font-weight:700;letter-spacing:.3px;margin-bottom:8px;padding-bottom:4px}.overview-meal-item{align-items:center;border-bottom:1px solid var(--c-border);display:flex;gap:10px;justify-content:space-between;min-height:28px;padding:6px 0}.overview-meal-item:last-child{border-bottom:none}.overview-meal-name{color:var(--c-text);flex:1 1;font-size:13px;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overview-meal-cal{background:var(--c-primary-l);border-radius:10px;color:var(--c-primary);flex-shrink:0;font-size:12px;font-weight:700;padding:2px 8px;white-space:nowrap}.quick-actions{background:var(--c-surface);border-radius:var(--radius);box-shadow:var(--shadow-xs);margin-bottom:10px;padding:12px}.quick-actions h3{color:var(--c-text);font-size:13px;font-weight:700;margin-bottom:10px}.action-buttons{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr)}.action-btn{align-items:center;background:var(--c-primary-l);border:none;border-radius:var(--radius-sm);color:var(--c-primary-d);cursor:pointer;display:flex;flex-direction:column;font-family:var(--font);font-size:12px;font-weight:600;gap:4px;padding:10px 8px;transition:transform .15s,background .15s}.action-btn:active{transform:scale(.95)}.action-btn:hover{background:#a7f3d0}.action-btn-icon{font-size:22px}.setup-banner{align-items:center;background:var(--c-warn-l);border:1px solid var(--c-warn);border-radius:var(--radius-sm);display:flex;gap:8px;justify-content:space-between;margin-bottom:10px;padding:10px 12px}.setup-banner p{color:#92400e;flex:1 1;font-size:12px;margin:0}.setup-banner button{background:var(--c-warn);border:none;border-radius:5px;color:#fff;cursor:pointer;font-family:var(--font);font-size:12px;font-weight:600;padding:6px 12px;white-space:nowrap}.more-overlay{align-items:flex-end;animation:fadeIn .15s ease;background:#00000059;display:flex;inset:0;justify-content:center;position:fixed;z-index:200}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.more-sheet{animation:slideUp .2s ease;background:var(--c-surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-width:420px;padding:6px 12px calc(68px + var(--sab));width:100%}.more-sheet-header{align-items:center;border-bottom:1px solid var(--c-border);color:var(--c-text);display:flex;font-size:14px;font-weight:700;justify-content:space-between;margin-bottom:4px;padding:8px 4px 10px}.more-close{background:var(--c-bg);border:1px solid var(--c-border);border-radius:50%;color:var(--c-text-2);height:28px;justify-content:center;width:28px}.more-close,.more-item{align-items:center;cursor:pointer;display:flex;font-size:14px}.more-item{background:#0000;border:none;border-bottom:1px solid var(--c-border);color:var(--c-text);font-family:var(--font);font-weight:500;gap:12px;padding:12px 8px;text-align:left;transition:background .12s;width:100%}.more-item:last-child{border-bottom:none}.more-item:hover{background:var(--c-bg)}.more-item.active{color:var(--c-primary);font-weight:600}.more-icon{font-size:20px}@media (min-width:768px){.bottom-nav,.more-overlay{display:none}.sidebar{background:var(--c-surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;flex-shrink:0;gap:2px;height:-webkit-fit-content;height:fit-content;padding:10px;position:-webkit-sticky;position:sticky;top:60px;width:200px}.dashboard-container{display:flex;gap:14px;max-width:1100px;padding:14px}.main-content{background:var(--c-surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex:1 1;padding:18px}.dashboard{padding-bottom:0}.nav-item{border-radius:7px;flex-direction:row;gap:8px;padding:8px 10px;text-align:left;width:100%}.nav-label{color:var(--c-text-2);font-size:13px;font-weight:500;letter-spacing:0}.nav-item:hover{background:var(--c-bg)}.nav-item.active{background:var(--c-primary-l)}.nav-item.active .nav-label{color:var(--c-primary-d)}.action-buttons,.stats-grid{grid-template-columns:repeat(4,1fr)}}:root{--c-primary:#0d9488;--c-primary-d:#0b7a70;--c-primary-l:#ccfbf1;--c-accent:#10b981;--c-accent-l:#d1fae5;--c-danger:#f43f5e;--c-danger-l:#ffe4e6;--c-warn:#f59e0b;--c-warn-l:#fef3c7;--c-surface:#fff;--c-bg:#f0fdf4;--c-border:#e2e8f0;--c-text:#0f172a;--c-text-2:#475569;--c-text-3:#94a3b8;--radius-sm:6px;--radius:10px;--radius-lg:14px;--shadow-xs:0 1px 3px #00000012;--shadow-sm:0 2px 8px #00000017;--font:"Inter",-apple-system,BlinkMacSystemFont,sans-serif}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f0fdf4;background:var(--c-bg);color:#0f172a;color:var(--c-text);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--font);font-size:14px}::-webkit-scrollbar{height:4px;width:4px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#e2e8f0;background:var(--c-border);border-radius:4px}input,select,textarea{background:#fff;background:var(--c-surface);border:1.5px solid #e2e8f0;border:1.5px solid var(--c-border);border-radius:6px;border-radius:var(--radius-sm);box-sizing:border-box;color:#0f172a;color:var(--c-text);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--font);font-size:14px;font-size:16px;max-width:100%;outline:none;padding:8px 10px;transition:border-color .2s;width:100%}select{appearance:auto;-webkit-appearance:auto;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}html{overflow-x:clip;overflow-y:scroll}body{max-width:100vw;overflow-x:hidden;overflow-y:auto}input:focus,select:focus,textarea:focus{border-color:#0d9488;border-color:var(--c-primary);box-shadow:0 0 0 3px #0d94881f}.btn{align-items:center;border:none;border-radius:6px;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--font);font-size:13px;font-weight:600;gap:5px;justify-content:center;padding:9px 16px;transition:transform .15s,opacity .15s;white-space:nowrap}.btn:active{transform:scale(.96)}.btn-primary{background:#0d9488;background:var(--c-primary);color:#fff}.btn-primary:hover{background:#0b7a70;background:var(--c-primary-d)}.btn-ghost{background:#f0fdf4;background:var(--c-bg);border:1.5px solid #e2e8f0;border:1.5px solid var(--c-border);color:#475569;color:var(--c-text-2)}.btn-ghost:hover{background:#e2e8f0;background:var(--c-border)}.btn-danger{background:#f43f5e;background:var(--c-danger);color:#fff}.btn-full{width:100%}.card{background:#fff;background:var(--c-surface);border-radius:10px;border-radius:var(--radius);box-shadow:0 2px 8px #00000017;box-shadow:var(--shadow-sm);padding:12px}.section-title{color:#0f172a;color:var(--c-text);font-size:15px;font-weight:700;margin-bottom:10px}.app-loading{align-items:center;background:#0d9488;background:var(--c-primary);color:#fff;display:flex;flex-direction:column;gap:12px;height:100vh;justify-content:center}.app-loading .brand-icon{font-size:40px}.app-loading .brand-text{font-size:16px;font-weight:600;letter-spacing:.3px;opacity:.9}.app-loading .spinner{animation:spin .7s linear infinite;border:3px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:24px;width:24px}@keyframes spin{to{transform:rotate(1turn)}}.badge{border-radius:20px;display:inline-block;font-size:10px;font-weight:700;letter-spacing:.3px;padding:2px 7px}.badge-primary{background:#ccfbf1;background:var(--c-primary-l);color:#0b7a70;color:var(--c-primary-d)}.badge-accent{background:#d1fae5;background:var(--c-accent-l);color:#065f46}.badge-danger{background:#ffe4e6;background:var(--c-danger-l);color:#9f1239}.badge-warn{background:#fef3c7;background:var(--c-warn-l);color:#92400e}.progress-track{background:#e2e8f0;background:var(--c-border);border-radius:3px;height:6px;overflow:hidden}.progress-fill{background:#0d9488;background:var(--c-primary);border-radius:3px;height:100%;transition:width .4s ease}.progress-fill.accent{background:#10b981;background:var(--c-accent)}.progress-fill.protein{background:#8b5cf6}.progress-fill.carbs{background:#3b82f6}.progress-fill.fat{background:#f59e0b}*{max-width:100%}body{-webkit-overflow-scrolling:touch}input,select,textarea{text-overflow:ellipsis}.scrollable{-webkit-overflow-scrolling:touch;scrollbar-color:#e2e8f0 #0000;scrollbar-color:var(--c-border) #0000;scrollbar-width:thin}.btn,.nav-item,button{min-height:44px;min-width:44px}@media screen and (max-width:768px){input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],select,textarea{font-size:16px!important}}
/*# sourceMappingURL=main.d1723ec5.css.map*/