After considering several options for layout lighting I decided to go with LED tape lighting. LEDs have several advantages over the traditional fluorescent tubes, including more flexible installation and the ability to adjust the color, depending on which type you use. While LED tape is available for under $20 for a 16 foot length, these cheaper ones are much too dim to light a layout. Adequate lighting requires at least 300 lumens per foot, which typically costs closer to $3 per foot.
To mimic daylight, it's important to have a high color temperature (around 5000K) and CRI (color rendering index) above 90. After shopping around for a while I found a 600 LED, 16 ft "daylight white" LED tape that met these criteria. Coincidentally, right after I found it, I also found a YouTube video showing the same LED tape lights used on a larger layout, so I figured I was on the right track.
I also bought a remote-controlled color-changing 16ft RGB tape from the same manufacturer to install in parallel. The color-changing strip is too weak to light anything on its own but will be useful for color-balancing the white LEDs, and I can also use it for evening/night effects. In retrospect I wish the RGB LEDs were stronger but they will be adequate for my purposes.
I could have simply stuck the LEDs to the underside of the shelf above the layout, but I wanted them to be closer to the layout to give a slightly lower angle for foreground lighting. Since I had two 10' L-girders that were salvaged from a previous layout, I cut them to fit the front edge of the shelving and screwed them to the shelves with the 1x2 flange of the L-girder pointing toward the backdrop. The high-intensity white LED tape was then attached to the lower edge of the L-girder, while the lower-intensity RGB tape was stuck to the underside of the 1x2 flange. In the first photo below the tape that's hanging down is the end of the RGB tape, which hasn't yet been stuck in place.
A masonite valence was then attached to the L-girder to mask the lighting.
I applied metal insulation tape to the back of both the L-girder and the edge of the valence to reflect light back onto the layout, both to increase the amount of light and to fill in the foreground. The shelves overhang the layout by 1.5", which also helps ensure that the front edge of the layout is well lit.
The "daylight white" LEDs appeared a little too harsh to my eye, so I set one of the customizable settings on the RGB strip to a yellowish white to provide a slightly warmer look, as shown below. Other custom settings will be used for dawn, evening, and night effects.
The combination of the high-intensity white LEDs and the RGB LED strip works well and the fascia and valence give a nice "shadow box" effect. The high-intensity LEDs are definitely strong enough to light this 14"-wide shelf layout on their own, but if the layout were any deeper I would want a second strip about halfway back to light the full depth evenly.