Condensed Consolidated Statements of Changes in Stockholders' Equity (Unaudited) - USD ($) $ in Thousands |
Share Repurchase Program [Member]
Common Stock Outstanding [Member]
|
Share Repurchase Program [Member]
Additional Paid-in Capital [Member]
|
Share Repurchase Program [Member]
Treasury Stock, Common [Member]
|
Share Repurchase Program [Member]
AOCI Attributable to Parent [Member]
|
Share Repurchase Program [Member]
Retained Earnings [Member]
|
Share Repurchase Program [Member] |
Stock-based Program [Member]
Common Stock Outstanding [Member]
|
Stock-based Program [Member]
Additional Paid-in Capital [Member]
|
Stock-based Program [Member]
Treasury Stock, Common [Member]
|
Stock-based Program [Member]
AOCI Attributable to Parent [Member]
|
Stock-based Program [Member]
Retained Earnings [Member]
|
Stock-based Program [Member] |
Common Stock Outstanding [Member] |
Additional Paid-in Capital [Member] |
Treasury Stock, Common [Member] |
AOCI Attributable to Parent [Member] |
Retained Earnings [Member] |
Total |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Balance (in shares) at Oct. 31, 2023 | 54,757,445 | |||||||||||||||||
Balance at Oct. 31, 2023 | $ 6 | $ 383,286 | $ (15,114) | $ (5,491) | $ (54,447) | $ 308,240 | ||||||||||||
Stock-based compensation expense | $ 0 | 1,273 | 0 | 0 | 0 | 1,273 | ||||||||||||
Shares issued under stock-based program (in shares) | 132,849 | |||||||||||||||||
Shares issued under stock-based program | $ 0 | 26 | 0 | 0 | $ 26 | |||||||||||||
Treasury shares purchased (in shares) | (207,123) | (191,542) | (207,000) | |||||||||||||||
Treasury shares purchased under share repurchase program | $ 0 | $ 0 | $ (1,517) | $ 0 | $ 0 | $ (1,517) | ||||||||||||
Net loss | 0 | 0 | 0 | 0 | (780) | $ (780) | ||||||||||||
Foreign currency translation adjustment | $ 0 | 0 | 0 | 2,559 | 0 | 2,559 | ||||||||||||
Balance (in shares) at Apr. 30, 2024 | 53,741,044 | |||||||||||||||||
Balance at Apr. 30, 2024 | $ 6 | 384,585 | (18,131) | (2,932) | (55,227) | 308,301 | ||||||||||||
Treasury shares purchased from shares issued under stock-based program | $ 0 | $ 0 | $ (1,500) | $ 0 | $ 0 | $ (1,500) | (1,517) | |||||||||||
Forfeiture/cancellation of restricted stock (in shares) | (750,585) | |||||||||||||||||
Forfeiture/cancellation of restricted stock | $ 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||
Balance (in shares) at Jan. 31, 2024 | 53,870,084 | |||||||||||||||||
Balance at Jan. 31, 2024 | $ 6 | 383,822 | (16,212) | (1,403) | (58,273) | 307,940 | ||||||||||||
Stock-based compensation expense | $ 0 | 737 | 0 | 0 | 0 | 737 | ||||||||||||
Shares issued under stock-based program (in shares) | 124,353 | |||||||||||||||||
Shares issued under stock-based program | $ 0 | 26 | 0 | 0 | $ 26 | |||||||||||||
Treasury shares purchased (in shares) | (171,029) | (82,364) | (171,000) | |||||||||||||||
Treasury shares purchased under share repurchase program | $ 0 | 0 | (1,269) | 0 | 0 | (1,269) | ||||||||||||
Net loss | 0 | 0 | 0 | 0 | 3,046 | $ 3,046 | ||||||||||||
Foreign currency translation adjustment | $ 0 | 0 | 0 | (1,529) | 0 | (1,529) | ||||||||||||
Balance (in shares) at Apr. 30, 2024 | 53,741,044 | |||||||||||||||||
Balance at Apr. 30, 2024 | $ 6 | 384,585 | (18,131) | (2,932) | (55,227) | 308,301 | ||||||||||||
Treasury shares purchased from shares issued under stock-based program | $ 0 | 0 | (650) | 0 | 0 | (650) | (1,269) | |||||||||||
Balance (in shares) at Oct. 31, 2024 | 53,273,644 | |||||||||||||||||
Balance at Oct. 31, 2024 | $ 6 | 386,313 | (25,881) | (483) | (38,240) | 321,715 | ||||||||||||
Stock-based compensation expense | $ 0 | 905 | 0 | 0 | 0 | 905 | ||||||||||||
Shares issued under stock-based program (in shares) | 416,546 | |||||||||||||||||
Shares issued under stock-based program | $ 0 | 1,519 | 0 | 0 | $ 1,519 | |||||||||||||
Treasury shares purchased (in shares) | (1,311,386) | (246,121) | (1,311,000) | |||||||||||||||
Treasury shares purchased under share repurchase program | $ 0 | 0 | (7,925) | 0 | 0 | (7,925) | ||||||||||||
Net loss | 0 | 0 | 0 | 0 | (2,643) | $ (2,643) | ||||||||||||
Foreign currency translation adjustment | $ 0 | 0 | 0 | 3,572 | 0 | 3,572 | ||||||||||||
Balance (in shares) at Apr. 30, 2025 | 52,132,683 | |||||||||||||||||
Balance at Apr. 30, 2025 | $ 6 | 388,737 | (35,972) | 3,089 | (94,015) | 261,845 | ||||||||||||
Treasury shares purchased from shares issued under stock-based program | $ 0 | $ 0 | $ (2,166) | $ 0 | $ 0 | $ (2,166) | (7,925) | |||||||||||
Dividend | $ 0 | 0 | 0 | 0 | (53,132) | (53,132) | ||||||||||||
Balance (in shares) at Jan. 31, 2025 | 53,146,589 | |||||||||||||||||
Balance at Jan. 31, 2025 | $ 6 | 388,199 | (29,981) | (3,478) | (94,011) | 260,735 | ||||||||||||
Stock-based compensation expense | $ 0 | 538 | 0 | 0 | 0 | 538 | ||||||||||||
Shares issued under stock-based program (in shares) | 1,213 | |||||||||||||||||
Shares issued under stock-based program | $ 0 | 0 | 0 | 0 | $ 0 | |||||||||||||
Treasury shares purchased (in shares) | (1,015,119) | (1,015,000) | ||||||||||||||||
Treasury shares purchased under share repurchase program | $ 0 | $ 0 | $ (5,991) | $ 0 | $ 0 | $ (5,991) | ||||||||||||
Net loss | 0 | 0 | 0 | 0 | (4) | $ (4) | ||||||||||||
Foreign currency translation adjustment | $ 0 | 0 | 0 | 6,567 | 0 | 6,567 | ||||||||||||
Balance (in shares) at Apr. 30, 2025 | 52,132,683 | |||||||||||||||||
Balance at Apr. 30, 2025 | $ 6 | $ 388,737 | $ (35,972) | $ 3,089 | $ (94,015) | 261,845 | ||||||||||||
Treasury shares purchased from shares issued under stock-based program | $ (5,991) |