/* ========================================================
   FORMS — Consistent form controls
   ======================================================== */

.form-group  { margin-bottom: 1.125rem; }
.form-label  { display: block; font-size: var(--text-small); font-weight: 600; color: var(--fg-2); margin-bottom: 0.375rem; }
.form-control {
  width: 100%;
  padding: 0.625rem 0.875rem;
  font-family: var(--font-sans);
  font-size: var(--text-small);
  color: var(--fg);
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r-md);
  transition: var(--t-fast);
}
.form-control:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px hsl(152 69% 31% / 0.12); }
.form-control::placeholder { color: var(--muted-light); }
textarea.form-control { resize: vertical; min-height: 100px; }
select.form-control { cursor: pointer; }

/* Amount chips */
.amount-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.5rem; margin-bottom: 0.875rem; }
.amount-chip {
  padding: 0.5rem;
  border: 1px solid var(--border);
  background: var(--bg-alt);
  border-radius: var(--r-sm);
  font-size: var(--text-small);
  font-weight: 600;
  cursor: pointer;
  text-align: center;
  transition: var(--t-fast);
  color: var(--fg-2);
  -webkit-tap-highlight-color: transparent;
}
.amount-chip:hover, .amount-chip.is-selected {
  background: var(--primary);
  color: #fff;
  border-color: var(--primary);
}

/* Inline edit in stats table */
.inline-edit-form { display: flex; gap: 0.5rem; align-items: center; }
.inline-edit-form input {
  width: 100px;
  padding: 0.375rem 0.625rem;
  font-size: var(--text-small);
  border: 1px solid var(--border);
  border-radius: var(--r-sm);
  background: var(--bg-alt);
  color: var(--fg);
}
.inline-edit-form input:focus { border-color: var(--primary); outline: none; }

/* Responsive */
@media (max-width: 480px) {
  .amount-grid { grid-template-columns: repeat(2, 1fr); }
  .inline-edit-form { flex-direction: column; align-items: stretch; }
  .inline-edit-form input { width: 100%; }
}