v3.26.1
Stockholders' Equity - Additional Information (Details) - USD ($)
3 Months Ended 6 Months Ended
Jul. 31, 2026
Apr. 30, 2026
Jul. 31, 2025
Apr. 30, 2025
Jul. 31, 2026
Jul. 31, 2025
Stockholders Equity Note Disclosure [Line Items]            
Stock options granted 0   0   40,500 0
Weighted average fair value           $ 5.89
Number of shares of common stock issued under ESPP         100,000 200,000
Repurchases of common stock $ 2,452,000 $ 3,254,000 $ 3,196,000 $ 2,203,000    
Stock repurchase program, remaining authorized repurchase amount $ 2,200,000       $ 2,200,000  
ESPP            
Stockholders Equity Note Disclosure [Line Items]            
Weighted-average price of shares of common stock under ESPP $ 10.82   $ 7.46   $ 10.82 $ 7.46
Employee Stock Option            
Stockholders Equity Note Disclosure [Line Items]            
Aggregate intrinsic value of vested options exercised         $ 200,000 $ 400,000
Common Stock            
Stockholders Equity Note Disclosure [Line Items]            
Repurchases of common stock, Shares 100,000   200,000   400,000 400,000
Repurchases of common stock $ 2,500,000   $ 3,200,000   $ 5,700,000 $ 5,400,000
Maximum | Common Stock            
Stockholders Equity Note Disclosure [Line Items]            
Stock repurchase program authorized amount $ 24,000,000       $ 24,000,000