v3.25.2
Revenue Recognition, Contracts with Customers - Remaining Performance Obligations included in Contract Liability (Details) - USD ($)
$ in Millions
Jul. 31, 2025
Apr. 30, 2025
Revenue, Performance Obligation Satisfied over Time [Abstract]    
Remaining performance obligation to be recognized $ 380.1  
Sales return reserve recorded in contract liability 15.2 $ 15.1
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-08-01    
Revenue, Performance Obligation Satisfied over Time [Abstract]    
Remaining performance obligations excluding sales return reserve $ 346.4  
Remaining performance obligation, expected timing of satisfaction 12 months  
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 $ 18.5  
Remaining performance obligation, expected timing of satisfaction