This tool can help you find a motor for your project, or by trail and error the required gearing or other data.

About user input:
"Input pulling force at minimum acceptable speed (up a ramp, for example)":
It can be calculated using this formula: Mass * 9,81m/s^2*sin(climb in degrees) = N (Newton)
For example: 41 kg on a 10° slope give a longitudinal force of 41kg*9.81m/s^2*sin(10°)=70N (~7kg)
However, this does not take rolling resistance, mechanical loss etc. into account.
You can either carry out a live test and physically measure the required force, or input a safety margin below. (or both...)
If it is 100% certain that the vehicle will never encounter any slopes / climbs, then use calculation / measurement from a flat surface.

You can work your way towards the perfect values by changing gearbox gearing, rpm, wheel size and so on, one value at the time.

User inputs: ( Decimal point = komma )

Input pulling force at minimum acceptable speed
(up a ramp, for example.)

*1) Absolute min. motor power. If you have omitted 1. gear with a "1" in the input, choose value from 2nd gear, etc. *2) Absolute min. motor speed. If you have omitted 3. gear with a "1" in the input, choose value from 2nd gear, etc.

If you choose to only just meet the minimum requirements, then
you should also prepare to change gears a lot. also, remember to check that the margin matches your system.
I would go with the power value for 3. gear, and the speed
value for 2. gear. Then you will have the power you need, and
both higher and lower top speed than you asked for.

This service is free of charge. I cannot be held responsible in any way. Use at your own risk.