.form-group { margin-bottom: var(--space-5); }

.form-label {
  display: block;
  font-family: var(--font-display); font-size: 13px; font-weight: 600;
  color: var(--ink); margin-bottom: var(--space-2);
}

.form-input,
.form-select,
.form-textarea {
  width: 100%;
  padding: 11px var(--space-4);
  border: 1.5px solid var(--border-strong);
  border-radius: var(--radius-md);
  font-family: var(--font-body); font-size: 15px;
  color: var(--ink); background: #fff;
  outline: none; transition: border-color 150ms;
}

.form-input:focus,
.form-select:focus,
.form-textarea:focus {
  border-color: var(--focus-ring);
  box-shadow: var(--shadow-focus);
}

.form-textarea { resize: vertical; min-height: 120px; }

.form-grid { display: grid; grid-template-columns: 1fr; gap: var(--space-5); }

@media (min-width: 640px) { .form-grid { grid-template-columns: 1fr 1fr; } }

/* === TABLES === */
.data-table { width: 100%; border-collapse: collapse; font-size: 14px; }

.data-table th {
  font-family: var(--font-display); font-size: 12px; font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase;
  color: var(--ink-muted); padding: var(--space-3) var(--space-4);
  border-bottom: 2px solid var(--border); text-align: left;
}

.data-table td { padding: var(--space-4); border-bottom: 1px solid var(--border); color: var(--ink); }
.data-table tr:last-child td { border-bottom: none; }
.data-table tbody tr:hover td { background: var(--surface-alt); }
