/* VaultTextarea — reusable textarea component */

.vault-textarea {
  width: 100%;
  text-align: left;
}

.vault-textarea__label {
  display: block;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--vault-text-muted);
  margin-bottom: 0.5rem;
}

.vault-textarea__required {
  color: var(--vault-error);
}

.vault-textarea__wrap {
  width: 100%;
}

.vault-textarea__field {
  width: 100%;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--vault-text);
  background: var(--vault-input-bg);
  border: 1px solid var(--vault-border);
  border-radius: 0.375rem;
  outline: none;
  resize: vertical;
  min-height: 5rem;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.vault-textarea__field::placeholder {
  color: var(--vault-text-subtle);
}

.vault-textarea__field:hover:not(:disabled) {
  border-color: var(--vault-text-subtle);
}

.vault-textarea__field:focus {
  border-color: var(--vault-primary);
  box-shadow: 0 0 0 2px var(--vault-primary-light);
}

.vault-textarea__field:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.vault-textarea__field[aria-invalid="true"] {
  border-color: var(--vault-error);
}

.vault-textarea--dark .vault-textarea__field {
  background: #1e293b;
  border-color: #475569;
  color: #f1f5f9;
}

.vault-textarea--dark .vault-textarea__field::placeholder {
  color: #94a3b8;
}

.vault-textarea--dark .vault-textarea__field:focus {
  border-color: var(--vault-primary);
  box-shadow: 0 0 0 2px rgba(4, 146, 181, 0.25);
}

.vault-textarea--dark .vault-textarea__label {
  color: #94a3b8;
}

.vault-textarea__error {
  font-size: 0.875rem;
  color: var(--vault-error);
  margin-top: 0.25rem;
}

.vault-textarea__error.hidden {
  display: none !important;
}
