/* Input Field Component Styles */
.input-field {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-sm);
  margin-bottom: var(--spacing-md);
}

.input-field__label {
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-sm);
  color: var(--text-primary);
}

.input-field__input {
  padding: var(--spacing-md);
  border: var(--border-width) solid var(--border-color);
  border-radius: var(--border-radius-md);
  font-size: var(--font-size-base);
  font-family: inherit;
  transition: all var(--transition-base);
  background-color: var(--input-bg);
  color: var(--text-primary);
}

.input-field__input:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px var(--color-primary-50);
}

.input-field__input:disabled {
  background-color: var(--bg-secondary);
  cursor: not-allowed;
  opacity: 0.6;
}

.input-field__error {
  color: var(--color-danger);
  font-size: var(--font-size-sm);
  display: none;
}

.input-field__help {
  color: var(--text-secondary);
  font-size: var(--font-size-sm);
  display: none;
}

.input-field__help:not(:empty) {
  display: block;
}

/* States */
.input-field[data-state="error"] .input-field__input {
  border-color: var(--color-danger);
}

.input-field[data-state="error"] .input-field__error {
  display: block;
}

.input-field[data-state="success"] .input-field__input {
  border-color: var(--color-success);
}

/* Input Types */
.input-field__input[type="textarea"] {
  resize: vertical;
  min-height: 100px;
}
