v3.26.1
Stock Repurchase Program - Narrative (Details) - USD ($)
Jul. 31, 2026
Apr. 30, 2026
Jan. 31, 2026
Oct. 31, 2025
[1]
Aug. 31, 2025
Jul. 31, 2025
[1]
Jun. 30, 2025
Jun. 29, 2025
Apr. 30, 2025
Oct. 31, 2024
Oct. 30, 2024
Jul. 31, 2023
Jul. 30, 2023
Share Repurchase Program [Line Items]                          
Share repurchase program             $ 15,000,000 $ 11,000,000   $ 11,000,000 $ 9,000,000 $ 9,000,000 $ 4,000,000
Remaining authorization for future common stock repurchases $ 2,147,000 $ 3,173,000 $ 3,181,000 $ 3,846,000   $ 2,631,000     $ 6,274,000        
2025 Stock Repurchase Program                          
Share Repurchase Program [Line Items]                          
Share repurchase program         $ 5,000,000                
2016 Stock Repurchase Program                          
Share Repurchase Program [Line Items]                          
Remaining authorization for future common stock repurchases $ 2,100,000                        
[1] These shares of common stock were purchased through a private transaction.