:root{--color-bg: #f8f9fa;--color-surface: #ffffff;--color-primary: #4a90d9;--color-primary-hover: #357abd;--color-success: #28a745;--color-danger: #dc3545;--color-warning: #ffc107;--color-text: #212529;--color-text-muted: #6c757d;--color-border: #dee2e6;--color-tab-inactive: #e9ecef;--radius: 8px;--shadow: 0 1px 3px rgba(0, 0, 0, .1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--color-bg);color:var(--color-text);min-height:100dvh}button{cursor:pointer;border:none;font-family:inherit;font-size:inherit}input,select{font-family:inherit;font-size:inherit}.container{max-width:600px;margin:0 auto;padding:0 16px}.tabs{display:flex;background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:10}.tabs a{flex:1;text-align:center;padding:14px 16px;text-decoration:none;color:var(--color-text-muted);font-weight:500;font-size:15px;border-bottom:3px solid transparent;transition:all .2s}.tabs a.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tabs a:hover{color:var(--color-primary);background:#f0f4f8}.app-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:12px 16px;display:flex;justify-content:space-between;align-items:center}.app-header h1{font-size:18px;font-weight:600}.btn{padding:8px 16px;border-radius:var(--radius);font-weight:500;font-size:14px;transition:all .2s}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{background:#c82333}.btn-outline{background:transparent;border:1px solid var(--color-border);color:var(--color-text-muted)}.btn-outline:hover{background:var(--color-bg)}.btn-sm{padding:5px 10px;font-size:13px}.btn-logout{background:transparent;color:var(--color-text-muted);font-size:13px;padding:6px 12px;border-radius:var(--radius)}.btn-logout:hover{background:var(--color-bg);color:var(--color-danger)}.card{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;margin-bottom:12px}.form-group{margin-bottom:14px}.form-group label{display:block;font-size:13px;font-weight:500;color:var(--color-text-muted);margin-bottom:4px}.form-group input,.form-group select{width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius);font-size:15px;background:var(--color-surface);transition:border-color .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-primary)}.calorie-bar-container{padding:16px;background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px}.calorie-bar-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.calorie-bar-header .consumed{font-size:28px;font-weight:700}.calorie-bar-header .limit{font-size:14px;color:var(--color-text-muted)}.calorie-bar{height:12px;background:var(--color-bg);border-radius:6px;overflow:hidden}.calorie-bar-fill{height:100%;border-radius:6px;transition:width .3s ease}.calorie-bar-fill.ok{background:var(--color-success)}.calorie-bar-fill.warning{background:var(--color-warning)}.calorie-bar-fill.over{background:var(--color-danger)}.calorie-remaining{text-align:right;font-size:13px;color:var(--color-text-muted);margin-top:4px}.calorie-remaining.over{color:var(--color-danger);font-weight:600}.date-nav{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 0}.date-nav button{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:6px 12px;color:var(--color-text);font-size:18px;line-height:1}.date-nav button:hover{background:var(--color-bg)}.date-nav .current-date{font-weight:600;font-size:15px;min-width:160px;text-align:center}.habit-item{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:8px}.habit-info{flex:1}.habit-name{font-weight:500;font-size:15px}.habit-desc{font-size:12px;color:var(--color-text-muted);margin-top:2px}.habit-check{width:32px;height:32px;border-radius:50%;border:2px solid var(--color-border);background:#fff;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0;margin-left:12px}.habit-check.done{background:var(--color-success);border-color:var(--color-success);color:#fff}.habit-check:hover{border-color:var(--color-success)}.meal-item{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--color-bg)}.meal-item:last-child{border-bottom:none}.meal-info{flex:1}.meal-name{font-size:14px;font-weight:500}.meal-detail{font-size:12px;color:var(--color-text-muted)}.meal-calories{font-weight:600;font-size:15px;margin-left:12px;white-space:nowrap}.meal-actions{margin-left:8px}.delete-btn{background:none;color:var(--color-text-muted);font-size:18px;padding:4px 8px;border-radius:4px}.delete-btn:hover{color:var(--color-danger);background:#fee}.login-container{display:flex;align-items:center;justify-content:center;min-height:100dvh;padding:20px}.login-card{background:var(--color-surface);border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:32px;width:100%;max-width:380px}.login-card h1{text-align:center;margin-bottom:24px;font-size:24px}.login-card .error{background:#fee;color:var(--color-danger);padding:10px;border-radius:var(--radius);font-size:14px;margin-bottom:16px}.login-card button[type=submit]{width:100%;padding:12px;font-size:16px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-header h2{font-size:16px;font-weight:600}.weekly-section{margin-top:20px}.weekly-section h3{font-size:14px;color:var(--color-text-muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.habit-frequency{font-size:11px;color:var(--color-text-muted);margin-top:2px}.add-form{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;margin-bottom:16px}.add-form h3{font-size:15px;margin-bottom:12px}.form-row{display:flex;gap:8px}.form-row .form-group{flex:1}.autocomplete-wrapper{position:relative}.autocomplete-list{position:absolute;top:100%;left:0;right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:0 4px 12px #00000026;max-height:200px;overflow-y:auto;z-index:20}.autocomplete-item{padding:10px 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:14px}.autocomplete-item:hover,.autocomplete-item.highlighted{background:#f0f4f8}.autocomplete-item .cal{color:var(--color-text-muted);font-size:12px}.page-content{padding:16px 0 80px}.empty-state{text-align:center;padding:32px 16px;color:var(--color-text-muted);font-size:14px}
