.numeric-field-wrapper {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
}

.numeric-field-label {
  font-size: 14px;
  color: var(--vysta-text-secondary);
}

.numeric-field-input {
  height: 36px;
  padding: 0 12px;
  border: 1px solid var(--vysta-border-color);
  border-radius: 4px;
  background: var(--vysta-bg-primary);
  font-size: 14px;
  color: var(--vysta-text-primary);
  transition: border-color 0.2s ease;
}

/* Hide spinner buttons */
.numeric-field-input::-webkit-outer-spin-button,
.numeric-field-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.numeric-field-input[type=number] {
  -moz-appearance: textfield;
}

.numeric-field-input:hover {
  border-color: var(--vysta-border-color-hover);
}

.numeric-field-input:focus {
  outline: none;
  border-color: var(--vysta-border-color-focus);
}

.numeric-field-input:disabled {
  background-color: var(--vysta-bg-disabled);
  color: var(--vysta-text-disabled);
  cursor: not-allowed;
}

.numeric-field-error {
  border-color: var(--vysta-color-error);
}

.numeric-field-error:hover,
.numeric-field-error:focus {
  border-color: var(--vysta-color-error-hover);
}

.numeric-field-error-message {
  font-size: 12px;
  color: var(--vysta-color-error);
}

.numeric-field-readonly {
  font-size: 14px;
  color: var(--vysta-text-primary);
} 