American Leak Detection was about $400 for my pool. They tested all lines, tested skimmers and light niches with dye. They returned to check again because I knew there was a leak that had not been found. That visit located several small leaks at the plaster/rock coping including a very hard to see leak at the edge of the swim out that could only be seen with a mirror as the water level was too shallow to get an eyeball on that area due to the rock overhang. All my leaks were sealed with a fraction of a $20 tube of two part pool epoxy.
Get a large enough bucket, like a 5 gallon paint bucket or pool chem bucket. Fill it to within maybe 4" of the top, then make a weave of packing tape across it so the dog can't drink it. It will be heavy enough that he probably can't move it and the wind won't either. (I think it was hungry raccoons that kept tipping my bucket.) Pencil in where the water is on the inside level and where it is on the outside at pool level. They don't have to be the same level but the bucket does have to be rather straight sided. Turn everything off in the pool, so that any waterfall losses or leaks are not involved. Test one night that way. If the drop inside and outside are different, then the pool leaks when still. If it does not, then test again with the system running, but waterfalls off. Finding a leak due to the waterfall is really hard, you have to be sure that the waterfall pools are all full, and the rocks are all wet, before you set your first measure. You have some evaporation in any case that cannot be accounted for.