v3.25.1
Stock-Based Compensation - Stock Options (Details) - USD ($)
$ / shares in Units, $ in Thousands
6 Months Ended
Apr. 30, 2025
Apr. 30, 2024
Stock Options, [Roll Forward]    
Outstanding at beginning of period (in shares) 78,250  
Exercised (in shares) (9,300)  
Outstanding at end of period (in shares) 68,950  
Vested (in shares) 68,950  
Exercisable at end of period (in shares) 68,950  
Weighted-Average Exercise Price    
Outstanding at beginning of period (in usd per share) $ 19.45  
Exercised (in usd per share) 19.97  
Outstanding at end of period (in usd per share) 19.38  
Vested or expected to vest at end of period (in usd per share) 19.38  
Exercisable at end of period (in usd per share) $ 19.38  
Weighted Average Remaining Contractual Life    
Outstanding, weighted average remaining contractual life 1 year 1 month 6 days  
Vested, remaining contractual life 1 year 1 month 6 days  
Exercisable, weighted average remaining contractual life 1 year 1 month 6 days  
Aggregate Intrinsic Value    
Outstanding at end of period $ 0  
Vested or expected to vest at end of period 0  
Exercisable at end of period $ 0  
Stock Options    
Stock Options, [Roll Forward]    
Exercised (in shares) (9,300)  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]    
Award vesting period 3 years  
Total intrinsic value of options exercised $ 100 $ 400