*,*:before,*:after{box-sizing:border-box}:root{--bg-primary: #ffffff;--bg-secondary: #f7f7f7;--bg-tertiary: #f2f2f7;--text-primary: #1c1c1e;--text-secondary: #8e8e93;--text-tertiary: #c7c7cc;--border: #e5e5ea;--accent: #007aff;--accent-light: #e3f2fd;--success: #34c759;--warning: #ff9500;--danger: #ff3b30;--purple: #af52de;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,Arial,sans-serif;line-height:1.47;font-weight:400;letter-spacing:-.022em;color-scheme:light;color:var(--text-primary);background-color:var(--bg-tertiary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{margin:0;padding:0;min-height:100vh}body{background:var(--bg-tertiary)}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600;line-height:1.2;letter-spacing:-.022em}p{margin:0}input,select,textarea,button{font-family:inherit;font-size:inherit}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}::-webkit-scrollbar{width:0;height:0}::selection{background:var(--accent);color:#fff}.progress-card{background:var(--bg-primary);border-radius:10px;padding:12px}.progress-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}.dday{font-size:26px;font-weight:700;color:var(--danger);letter-spacing:-.5px}.day-info{font-size:13px;color:var(--text-secondary)}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px}.stat{background:var(--bg-tertiary);border-radius:8px;padding:8px 6px;text-align:center}.stat.accent{background:var(--bg-tertiary)}.stat-label{display:block;font-size:11px;color:var(--text-secondary);margin-bottom:2px;font-weight:500}.stat-value{font-size:18px;font-weight:600;color:var(--text-primary);letter-spacing:-.3px}.stat-value small{font-size:12px;font-weight:400;color:var(--text-secondary)}.stat.accent .stat-value{color:var(--text-primary)}.progress-bar-wrap{margin-top:4px}.progress-bar{height:6px;background:var(--border);border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--success),#30d158);border-radius:3px;transition:width .4s ease}.progress-labels{display:flex;justify-content:space-between;margin-top:4px;font-size:11px;color:var(--text-tertiary)}.progress-labels .target{color:var(--success);font-weight:500}.calorie-section{background:var(--bg-primary);border-radius:6px;padding:8px 10px}.calorie-row{display:flex;justify-content:space-between;align-items:center;padding:2px 0}.calorie-row.net{border-top:.5px solid var(--border);margin-top:2px;padding-top:6px}.calorie-label{font-size:12px;color:var(--text-secondary)}.calorie-value{font-size:13px;font-weight:600;color:var(--text-primary)}.calorie-value.burn{color:var(--danger)}.calorie-value.success{color:var(--success)}.calorie-value.warning{color:var(--warning)}.weight-chart{background:var(--bg-primary);border-radius:10px;padding:12px}.weight-chart h3{font-size:13px;font-weight:600;margin:0 0 8px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px}.weight-chart.empty{text-align:center;padding:24px 12px}.empty-message{color:var(--text-tertiary);font-size:13px;margin-top:8px}.chart-container{background:var(--bg-tertiary);border-radius:8px;padding:8px 4px 4px 0}.chart-legend{display:flex;justify-content:center;gap:14px;margin-top:6px}.legend-item{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-secondary)}.legend-item .dot{width:6px;height:6px;border-radius:50%}.legend-item .dot.red{background:var(--danger)}.legend-item .line{width:12px;height:2px}.legend-item .line.green{background:repeating-linear-gradient(90deg,var(--success) 0px,var(--success) 3px,transparent 3px,transparent 6px)}.calendar{background:var(--bg-primary);border-radius:10px;padding:12px}.calendar-title{font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px;margin:0 0 8px}.calendar-grid{background:var(--bg-tertiary);border-radius:8px;padding:10px}.weekday-header{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:6px}.weekday{text-align:center;font-size:10px;font-weight:500;color:var(--text-tertiary);padding:2px 0}.week-row{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.day-cell{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border:none;border-radius:5px;background:transparent;cursor:pointer;padding:2px;transition:all .15s;min-height:32px}.day-cell:hover{background:var(--bg-tertiary)}.day-cell.empty{cursor:default}.day-cell.empty:hover{background:transparent}.day-cell.selected{background:var(--accent)}.day-cell.selected .day-num,.day-cell.selected .day-weight{color:#fff}.day-cell.today{border:1.5px solid var(--accent)}.day-num{font-size:12px;font-weight:500;color:var(--text-primary);line-height:1}.day-weight{font-size:8px;color:var(--text-secondary);margin-top:1px;line-height:1}.day-cell.has-data .day-num{color:var(--success);font-weight:600}.daily-tracker{width:100%}.tracker-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;background:var(--bg-primary);border-radius:10px;padding:10px 14px}.date-nav{display:flex;align-items:center;gap:12px}.nav-btn{width:32px;height:32px;border:none;border-radius:8px;background:var(--bg-tertiary);color:var(--text-primary);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.nav-btn:hover:not(:disabled){background:var(--accent);color:#fff}.nav-btn:disabled{opacity:.3;cursor:not-allowed}.tracker-date{font-size:18px;font-weight:600;color:var(--text-primary);min-width:120px;text-align:center}.save-btn{padding:8px 20px;border:none;border-radius:8px;background:var(--accent);color:#fff;font-size:14px;font-weight:600;cursor:pointer}.save-btn:hover{opacity:.9}.tracker-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.tracker-col{display:flex;flex-direction:column;gap:12px}.ios-section{display:flex;flex-direction:column;gap:6px}.section-title{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px;margin-left:12px}.ios-card{background:var(--bg-primary);border-radius:10px;overflow:hidden}.ios-row{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;min-height:40px}.ios-row label{font-size:15px;color:var(--text-primary)}.ios-row input[type=number]{border:none;background:transparent;font-size:15px;color:var(--accent);text-align:right;padding:0;width:auto;min-width:55px}.ios-row input:focus{outline:none}.time-input{border:none;background:transparent;font-size:15px;color:var(--accent);text-align:right;padding:0;width:55px}.time-input:focus{outline:none}.input-with-unit{display:flex;align-items:center;gap:3px}.input-with-unit input{width:55px;text-align:right}.input-with-unit span{color:var(--text-secondary);font-size:14px}.weight-diff{font-size:12px;font-weight:500;margin-left:6px;padding:2px 6px;border-radius:4px}.weight-diff.down{color:var(--success);background:#dcf5e7}.weight-diff.up{color:var(--danger);background:#ffe5e5}.value-text{color:var(--accent);font-size:15px}.ios-divider{height:.5px;background:var(--border);margin-left:14px}.workout-badge{font-size:14px;color:var(--purple);font-weight:500}.strength-row{display:flex;align-items:center;gap:10px}.routine-select{padding:4px 8px;border:1px solid var(--border);border-radius:6px;font-size:13px;color:var(--purple);background:var(--bg-tertiary);cursor:pointer;font-weight:500}.routine-select:focus{outline:none;border-color:var(--accent)}.activity-select{padding:4px 8px;border:1px solid var(--border);border-radius:6px;font-size:13px;color:var(--text-primary);background:var(--bg-tertiary);cursor:pointer}.activity-select:focus{outline:none;border-color:var(--accent)}.water-section{padding:10px 14px 12px}.water-header{margin-bottom:8px;font-size:14px}.water-value{color:var(--text-secondary)}.water-value.success{color:var(--success);font-weight:500}.water-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:4px}.water-btn{aspect-ratio:1;border:1px solid var(--border);border-radius:5px;background:var(--bg-tertiary);cursor:pointer;transition:all .1s}.water-btn.filled{background:var(--accent);border-color:var(--accent)}.water-btn:hover{transform:scale(1.05)}.calorie-summary{display:flex;gap:8px}.calorie-item{flex:1;background:var(--bg-primary);border-radius:8px;padding:8px 6px;text-align:center}.calorie-item .calorie-label{display:block;font-size:15px;color:var(--text-secondary);margin-bottom:2px}.calorie-item .calorie-value{font-size:22px;font-weight:700;color:var(--text-primary)}.calorie-value.good{color:var(--success)}.calorie-value.bad{color:var(--danger)}.net-value-row{display:flex;align-items:baseline;justify-content:center;gap:6px}.net-status{font-size:14px;font-weight:500}.net-status.good{color:var(--success)}.net-status.bad{color:var(--danger)}.protein-gauge{margin-top:10px;padding:10px 12px;background:var(--bg-primary);border-radius:10px}.protein-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.protein-label{font-size:12px;color:var(--text-secondary);font-weight:500}.protein-value{font-size:14px;font-weight:600;color:var(--text-primary)}.protein-value.success{color:var(--success)}.protein-bar{height:8px;background:var(--border);border-radius:4px;overflow:hidden}.protein-fill{height:100%;background:var(--warning);border-radius:4px;transition:width .3s ease}.protein-fill.success{background:var(--success)}.meal-row{padding:8px 12px}.meal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.meal-label{font-size:14px;font-weight:500;color:var(--text-primary)}.preset-select{padding:3px 8px;border:1px solid var(--border);border-radius:5px;font-size:11px;color:var(--text-secondary);background:var(--bg-tertiary);cursor:pointer}.meal-inputs{display:flex;flex-direction:column;gap:5px}.menu-input{width:100%;padding:6px 8px;border:1px solid var(--border);border-radius:5px;font-size:13px;color:var(--text-primary);background:var(--bg-tertiary)}.menu-input:focus{outline:none;border-color:var(--accent);background:var(--bg-primary)}.nutrient-inputs{display:flex;gap:6px}.nutrient-field{flex:1;display:flex;align-items:center;gap:2px}.nutrient-field input{width:100%;padding:6px;border:1px solid var(--border);border-radius:5px;font-size:12px;text-align:right;color:var(--text-primary);background:var(--bg-tertiary)}.nutrient-field input:focus{outline:none;border-color:var(--accent);background:var(--bg-primary)}.nutrient-field span{font-size:11px;color:var(--text-secondary);min-width:24px}.summary-row{display:flex;gap:8px;margin-top:8px}.summary-pill{flex:1;padding:10px;background:var(--bg-primary);border-radius:8px;font-size:13px;color:var(--text-secondary);text-align:center}.summary-pill.success{background:#dcf5e7;color:var(--success)}.summary-pill.warning{background:#fff8e6;color:var(--warning)}@media(max-width:700px){.tracker-grid{grid-template-columns:1fr}}.history{width:100%}.history.empty{background:var(--bg-primary);border-radius:10px;padding:40px 20px;text-align:center}.empty-message{color:var(--text-tertiary);font-size:14px}.table-container{background:var(--bg-primary);border-radius:10px;overflow-x:auto}.history-table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}.history-table th{padding:10px 8px;text-align:center;font-size:10px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px;background:var(--bg-tertiary);border-bottom:.5px solid var(--border)}.history-table th:first-child{text-align:left}.history-table td{padding:10px 8px;border-bottom:.5px solid var(--border);color:var(--text-primary);vertical-align:middle;text-align:center}.history-table td:first-child{text-align:left}.history-table tr:last-child td{border-bottom:none}.history-table tr:hover td{background:var(--bg-tertiary)}.date-cell{min-width:100px}.date-text{font-weight:500}.weight-cell{font-weight:600}.body-cell{color:var(--text-secondary);font-size:11px}.empty-value{color:var(--text-tertiary)}.diff-value{font-weight:500;font-size:11px}.diff-value.down{color:var(--success)}.diff-value.up{color:var(--danger)}.workout-cell{min-width:50px}.workout-done{color:var(--success);font-weight:600}.workout-not{color:var(--danger);font-weight:500}.calorie-cell{font-weight:500}.net-cell{font-weight:600}.net-cell.success{color:var(--success)}.net-cell.danger{color:var(--danger)}.protein-cell,.water-cell{font-weight:500}.protein-cell.success,.water-cell.success{color:var(--success)}.protein-cell.danger,.water-cell.danger{color:var(--danger)}.time-cell{color:var(--text-secondary);font-size:11px}.sleep-cell{color:var(--text-secondary)}.app{min-height:100vh;background:var(--bg-tertiary)}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:12px;color:var(--text-secondary)}.loading-spinner{font-size:40px;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.95)}}.app-header{background:#ffffffb8;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:.5px solid var(--border);padding:12px 20px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100}.app-header h1{font-size:17px;font-weight:600;color:var(--text-primary)}.header-info{font-size:13px;color:var(--text-secondary)}.main-layout{display:grid;grid-template-columns:420px 1fr;gap:0;max-width:1400px;margin:0 auto;min-height:calc(100vh - 45px)}.sidebar{background:var(--bg-tertiary);border-right:.5px solid var(--border);padding:12px;display:flex;flex-direction:column;gap:10px;position:sticky;top:45px;height:calc(100vh - 45px);overflow-y:auto}.content{padding:12px 16px;background:var(--bg-tertiary)}.tab-nav{display:flex;background:var(--bg-secondary);border-radius:7px;padding:2px;margin-bottom:10px}.tab-button{flex:1;padding:6px 12px;border:none;border-radius:5px;background:transparent;font-size:12px;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.tab-button:hover{color:var(--accent)}.tab-button.active{background:var(--bg-primary);box-shadow:0 1px 3px #00000014,0 1px 2px #0000000a;color:var(--text-primary)}@media(max-width:900px){.main-layout{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:none;border-bottom:.5px solid var(--border)}}
