Revenue Recognition, Contracts with Customers - Remaining Performance Obligations included in Contract Liability (Details) - USD ($) $ in Millions |
Jul. 31, 2026 |
Apr. 30, 2026 |
|---|---|---|
| Revenue, Performance Obligation Satisfied over Time [Abstract] | ||
| Remaining performance obligation to be recognized | $ 402.2 | |
| Sales return reserve recorded in contract liability | 11.9 | $ 11.8 |
| Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-08-01 | ||
| Revenue, Performance Obligation Satisfied over Time [Abstract] | ||
| Remaining performance obligations excluding sales return reserve | $ 372.4 | |
| Remaining performance obligation, expected timing of satisfaction | 1 year | |
| Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2027-08-01 | ||
| Revenue, Performance Obligation Satisfied over Time [Abstract] | ||
| Remaining performance obligations excluding sales return reserve | $ 17.9 | |
| Remaining performance obligation, expected timing of satisfaction |