/* forms.css — Sprint 50.8. Padrão global de forms (utilitário, não sobrescreve estilos específicos).
   Usa tokens --az-* quando disponíveis; fallbacks neutros. */
.form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; margin: 12px 0; }
.form-grid.cols-2 { grid-template-columns: repeat(2, 1fr); }
.form-grid.cols-3 { grid-template-columns: repeat(3, 1fr); }
.form-field { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.form-field.full-width { grid-column: 1 / -1; }
.form-field > label { font-size: 12px; font-weight: 500; color: var(--az-text-secondary, #4b5563); }
.form-field input:not([type="checkbox"]):not([type="radio"]),
.form-field select, .form-field textarea {
  width: 100%; padding: 8px 10px; border: 1px solid var(--az-border-secondary, #d1d5db);
  border-radius: 6px; font-size: 13px; background: var(--az-bg-primary, #fff); box-sizing: border-box; font-family: inherit;
}
.form-field input:focus, .form-field select:focus, .form-field textarea:focus {
  outline: none; border-color: var(--az-primary, #3b82f6); box-shadow: 0 0 0 2px rgba(59,130,246,.1);
}
.form-field small.hint { font-size: 11px; color: var(--az-text-tertiary, #6b7280); margin-top: 2px; }
.form-actions { display: flex; gap: 8px; margin-top: 16px; justify-content: flex-end; }
.form-actions.left { justify-content: flex-start; }

.filter-row { display: grid; grid-template-columns: 1fr 1fr 40px; gap: 8px; margin-bottom: 6px; align-items: center; }
.filter-row select, .filter-row input { padding: 8px 10px; border: 1px solid var(--az-border-secondary, #d1d5db); border-radius: 6px; font-size: 13px; box-sizing: border-box; }

.panel-card { background: var(--az-bg-primary, #fff); border: 1px solid var(--az-border-tertiary, #e5e7eb); border-radius: 8px; padding: 16px; margin-bottom: 16px; }
.panel-card-header { display: flex; align-items: center; justify-content: space-between; padding-bottom: 12px; margin-bottom: 12px; border-bottom: 1px solid var(--az-border-tertiary, #f3f4f6); }
.panel-card-header h3 { margin: 0; font-size: 14px; }

@media (max-width: 768px) {
  .form-grid, .form-grid.cols-2, .form-grid.cols-3 { grid-template-columns: 1fr; }
  .filter-row { grid-template-columns: 1fr 1fr 36px; }
}
