Stockholders' Equity - Additional Information (Details) - USD ($) |
3 Months Ended | |
|---|---|---|
Apr. 30, 2026 |
Apr. 30, 2025 |
|
| Stockholders Equity Note Disclosure [Line Items] | ||
| Stock options granted | 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 | $ 3,254,000 | $ 2,203,000 |
| Stock repurchase program, remaining authorized repurchase amount | $ 4,700,000 | |
| ESPP | ||
| Stockholders Equity Note Disclosure [Line Items] | ||
| Weighted-average price of shares of common stock under ESPP | $ 10.82 | $ 7.46 |
| Employee Stock Option | ||
| Stockholders Equity Note Disclosure [Line Items] | ||
| Aggregate intrinsic value of vested options exercised | $ 100,000 | $ 400,000 |
| Common Stock | ||
| Stockholders Equity Note Disclosure [Line Items] | ||
| Repurchases of common stock, Shares | 200,000 | 200,000 |
| Repurchases of common stock | $ 3,300,000 | $ 2,200,000 |
| Maximum | Common Stock | ||
| Stockholders Equity Note Disclosure [Line Items] | ||
| Stock repurchase program authorized amount | $ 24,000,000 | |
| X | ||||||||||
- Definition Stockholders equity note disclosure. No definition available.
|
| X | ||||||||||
- Definition Amount authorized for purchase of share under share repurchase plan. Includes, but is not limited to, repurchase of stock and unit of ownership. Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef
|
| X | ||||||||||
- Definition Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares. Reference 1: http://www.xbrl.org/2003/role/disclosureRef
|
| X | ||||||||||
- Definition Gross number of share options (or share units) granted during the period. Reference 1: http://www.xbrl.org/2003/role/disclosureRef
|
| X | ||||||||||
- Definition The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology. Reference 1: http://www.xbrl.org/2003/role/disclosureRef
|
| X | ||||||||||
- Definition Per share weighted-average price paid for shares purchased on open market for issuance under share-based payment arrangement. Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef
|
| X | ||||||||||
- Definition Number of shares issued during the period as a result of an employee stock purchase plan. Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef
|
| X | ||||||||||
- Definition Amount remaining authorized for purchase of share under share repurchase plan. Includes, but is not limited to, repurchase of stock and unit of ownership. No definition available.
|
| X | ||||||||||
- Definition Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock. Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef
|
| X | ||||||||||
- Definition Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock. Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef
|
| X | ||||||||||
- Details
|
| X | ||||||||||
- Details
|
| X | ||||||||||
- Details
|
| X | ||||||||||
- Details
|