/* TDEE Calculator */
.tdee-wrap { max-width: 900px; display: flex; flex-direction: column; gap: 20px; }

/* Input card */
.tdee-inputs { padding: 24px; display: flex; flex-direction: column; gap: 16px; }

.tdee-toggle-row { display: flex; gap: 8px; flex-wrap: wrap; }
.tdee-toggle { padding: 8px 20px; font-size: .9rem; }
.tdee-toggle.active {
  background: var(--accent-grad); color: #fff; border-color: transparent;
}

.tdee-optional { font-weight: 400; opacity: .5; text-transform: none; letter-spacing: 0; }
.tdee-goal-eta { font-size: .82rem; color: var(--muted); margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--line); }
.tdee-goal-eta b { color: var(--accent-2); }
.tdee-goal-eta.warn { color: #ffce5c; }
.tdee-input-unit { display: flex; align-items: center; gap: 10px; }
.tdee-input-unit input { flex: 1; max-width: 140px; }
.tdee-unit { color: var(--muted); font-size: .9rem; font-weight: 600; }

.tdee-ft-row { display: flex; gap: 14px; }
.tdee-ft-row .tdee-input-unit { flex: 1; }

/* Results layout */
.tdee-results { display: flex; flex-direction: column; gap: 16px; }

.tdee-big-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.tdee-big-card { padding: 20px; text-align: center; }
.tdee-big-label { font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); margin-bottom: 6px; }
.tdee-big-num { font-size: 2.2rem; font-weight: 800; line-height: 1; color: var(--text); }
.tdee-big-num small { font-size: .75rem; font-weight: 600; color: var(--muted); }
.tdee-big-sub { font-size: .78rem; color: var(--muted-2); margin-top: 6px; }

.tdee-card--accent .tdee-big-num { background: var(--accent-grad); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.tdee-card--goal .tdee-big-num { color: #5cd98a; }
.tdee-card--goal .tdee-big-label { color: #5cd98a; }

/* Calorie scale */
.tdee-scale-card { padding: 20px; }
.tdee-scale-label-row { display: flex; justify-content: space-between; font-size: .72rem; color: var(--muted); font-weight: 600; margin-bottom: 8px; }
.tdee-scale { padding: 6px 0; }
.tdee-scale-track {
  height: 12px; border-radius: 6px; position: relative;
  background: linear-gradient(to right, #ff6b8a, #ffce5c, #5cd6c0, #56c8ff, #a78bfa);
}
.tdee-scale-marker {
  position: absolute; top: 50%; transform: translate(-50%, -50%);
  width: 20px; height: 20px; border-radius: 50%;
  background: #fff; border: 3px solid var(--accent); box-shadow: 0 2px 8px rgba(0,0,0,.4);
  transition: left .35s cubic-bezier(.23,1,.32,1);
}
.tdee-scale-values {
  display: flex; justify-content: space-between;
  font-size: .78rem; color: var(--muted); font-variant-numeric: tabular-nums;
  margin-top: 8px;
}

/* Macros */
.tdee-section-title { font-size: 1rem; font-weight: 700; margin: 0 0 16px; }
.tdee-macros { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 16px; }
.tdee-macro-card { text-align: center; padding: 16px 10px; border-radius: var(--radius-sm); background: var(--bg-soft); }
.tdee-macro-ico { font-size: 1.5rem; margin-bottom: 6px; }
.tdee-macro-num { font-size: 1.7rem; font-weight: 800; }
.tdee-macro-name { font-size: .75rem; font-weight: 600; color: var(--muted); margin-top: 2px; text-transform: uppercase; letter-spacing: .06em; }
.tdee-macro-cal { font-size: .78rem; color: var(--muted-2); margin-top: 4px; }

.tdee-macro--protein .tdee-macro-num { color: #ff8a7a; }
.tdee-macro--carbs .tdee-macro-num { color: #6c8bff; }
.tdee-macro--fat .tdee-macro-num { color: #ffd06b; }

/* Macro bar */
.tdee-macro-bar { height: 10px; border-radius: 5px; overflow: hidden; display: flex; margin-bottom: 8px; }
.tdee-bar-protein { background: #ff8a7a; transition: flex .4s; }
.tdee-bar-carbs { background: #6c8bff; transition: flex .4s; }
.tdee-bar-fat { background: #ffd06b; transition: flex .4s; }

.tdee-macro-legend { font-size: .78rem; color: var(--muted); }
.tdee-legend-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 4px; }
.tdee-legend--protein { background: #ff8a7a; }
.tdee-legend--carbs { background: #6c8bff; }
.tdee-legend--fat { background: #ffd06b; }

/* Table */
.tdee-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.tdee-table th { text-align: left; font-weight: 700; color: var(--muted); font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; padding: 6px 10px; border-bottom: 1px solid var(--line); }
.tdee-table td { padding: 10px 10px; border-bottom: 1px solid var(--line); }
.tdee-table tr:last-child td { border-bottom: none; }
.tdee-table tr.tdee-row--active td { font-weight: 700; color: var(--text); }
.tdee-table tr.tdee-row--active td:first-child { color: #5cd98a; }
.tdee-cal-pill { font-weight: 700; font-variant-numeric: tabular-nums; }
.tdee-delta { font-size: .8rem; color: var(--muted); }

@media (max-width: 600px) {
  .tdee-big-row { grid-template-columns: 1fr; }
  .tdee-macros { grid-template-columns: repeat(3, 1fr); }
  .tdee-big-num { font-size: 1.8rem; }
  .tdee-scale-label-row { font-size: .65rem; }
}
