/* Forms (scoped to dag- classes) */

.dag-form {
  display: grid;
  gap: var(--dag-space-4);
  max-width: 100%;
}

.dag-field,
.dag-form-field {
  display: grid;
  gap: var(--dag-space-2);
}

.dag-label {
  font-size: var(--dag-text-size-0);
  font-weight: 600;
  color: var(--dag-color-text);
}

.dag-input,
.dag-textarea,
.dag-select {
  width: 100%;
  border: 1px solid var(--dag-color-border);
  border-radius: var(--dag-radius-2);
  padding: 0.75rem 0.875rem;
  font-family: var(--dag-font-sans);
  font-size: var(--dag-text-size-1);
  color: var(--dag-color-text);
  background: var(--dag-color-bg);
  transition: box-shadow 120ms ease, border-color 120ms ease, background-color 120ms ease;
}

.dag-textarea {
  min-height: 140px;
  resize: vertical;
}

.dag-input::placeholder,
.dag-textarea::placeholder {
  color: rgba(90, 100, 112, 0.75);
}

.dag-input:focus,
.dag-textarea:focus,
.dag-select:focus {
  outline: none;
  border-color: rgba(31, 111, 235, 0.75);
  box-shadow: var(--dag-focus-ring);
}

.dag-input[disabled],
.dag-textarea[disabled],
.dag-select[disabled] {
  background: rgba(247,248,250,0.85);
  cursor: not-allowed;
}

.dag-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--dag-space-3);
  align-items: center;
}

/* Help text */
.dag-help,
.dag-hint {
  font-size: var(--dag-text-size-0);
  color: var(--dag-color-muted);
  margin: 0;
}

.dag-error {
  font-size: var(--dag-text-size-0);
  color: var(--dag-color-danger);
  margin: 0;
}

/* Error states (apply class to wrapper or input) */
.dag-field--error .dag-input,
.dag-field--error .dag-textarea,
.dag-field--error .dag-select,
.dag-form-field--error .dag-input,
.dag-form-field--error .dag-textarea,
.dag-form-field--error .dag-select,
.dag-input.is-error,
.dag-textarea.is-error,
.dag-select.is-error {
  border-color: rgba(209, 36, 47, 0.75);
  box-shadow: 0 0 0 3px rgba(209, 36, 47, 0.18);
}

/* Inline filter bar (used in inventory/search forms) */
.dag-filter-bar {
  display: grid;
  gap: var(--dag-space-3);
}

@media (min-width: 768px) {
  .dag-filter-bar {
    grid-template-columns: 2fr 1fr 1fr 1fr;
    align-items: end;
  }
}

/* Compact fields */
.dag-input--sm,
.dag-select--sm {
  padding: 0.6rem 0.75rem;
  font-size: var(--dag-text-size-0);
  border-radius: var(--dag-radius-1);
}
