/* C-03 Seletor de quantidade inside a meal card. */
.refeicao {
  display: flex; align-items: center; justify-content: space-between; gap: var(--sp-5);
  padding: var(--sp-6) var(--sp-6) var(--sp-6) var(--sp-7);
  border: 1px solid var(--line); border-radius: var(--r-card); background: var(--surface);
}
.refeicao__info { min-width: 0; }
.refeicao__nome { margin: 0; font-size: var(--fs-body-app); font-weight: 600; }
.refeicao__descricao { margin: 0; font-size: var(--fs-small); color: var(--muted); }
.refeicao__limite { margin: 2px 0 0; font-size: var(--fs-small); font-weight: 500; color: var(--ink-2); }
.refeicao__limite--atingido { color: var(--danger); font-weight: 600; }
.refeicao__limite--bloqueado { color: var(--danger); }
.seletor { flex: 0 0 auto; display: flex; align-items: center; gap: var(--sp-1); }
.seletor__botao {
  display: flex; align-items: center; justify-content: center;
  width: var(--touch-min); height: var(--touch-min);
  border: 1px solid var(--border); border-radius: var(--r-button-app);
  background: var(--surface); color: var(--ink); cursor: pointer; touch-action: manipulation;
}
.seletor__botao--mais { border: none; background: var(--brand); color: var(--on-brand); }
.seletor__botao:disabled { opacity: 0.35; cursor: not-allowed; }
.seletor__valor { width: 40px; text-align: center; font-family: var(--font-mono); font-size: 20px; }

/* C-03, panel version: compact −/value/+ (W-06.1 limits, W-08). Custom limit = yellow. */
.passo {
  display: inline-flex; align-items: stretch; height: 36px; justify-self: start;
  border: 1px solid var(--border); border-radius: var(--r-field-panel); background: var(--surface);
  overflow: hidden;
}
.passo--destaque { border-color: var(--accent-border); background: var(--accent-soft); }
.passo__botao {
  display: flex; align-items: center; justify-content: center; width: 36px; padding: 0;
  border: none; background: transparent; color: var(--brand); cursor: pointer;
}
.passo__botao:disabled { opacity: 0.35; cursor: not-allowed; }
.passo__valor {
  min-width: 44px; display: flex; align-items: center; justify-content: center;
  border-left: 1px solid var(--line); border-right: 1px solid var(--line);
  font-family: var(--font-mono); font-size: var(--fs-body-panel);
}
.passo__entrada {
  width: 56px; padding: 0; border-top: none; border-bottom: none; background: transparent;
  color: var(--ink); text-align: center; -moz-appearance: textfield; appearance: textfield;
}
.passo__entrada::-webkit-inner-spin-button, .passo__entrada::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
