En la app actual, al dejar vacía la cantidad se invalida el presupuesto pero todavía se puede pulsar Imprimir / guardar PDF. Corrígelo: desactiva el botón y comprueba la validez dentro de su manejador antes de llamar a window.print(). Acepta solo enteros seguros hasta 10.000, con el mínimo correspondiente al servicio; muestra un mensaje claro cuando no sea válido. Corrige también el plural «unidads» a «unidades». Conserva las tarifas y el resto de funciones. Devuelve el HTML completo.
