Quarterly report [Sections 13 or 15(d)]

Capital Transactions - Narrative (Details)

v3.26.3
Capital Transactions - Narrative (Details) - USD ($)
3 Months Ended 9 Months Ended
Sep. 30, 2026
Jun. 30, 2026
Mar. 31, 2026
Sep. 30, 2025
Jun. 30, 2025
Mar. 31, 2025
Sep. 30, 2026
Sep. 30, 2025
May 06, 2026
Dec. 31, 2025
May 06, 2025
Mar. 08, 2022
Mar. 10, 2021
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                          
Stock repurchase program, authorized amount                         $ 15,000,000.0
Share repurchase program, additional amount authorized                     $ 25,000,000.0 $ 30,000,000.0  
Repurchase of common stock (in shares)             345,000 1,129,000          
Repurchase of common stock $ 3,534,000 $ 2,062,000 $ 500,000 $ 2,022,000 $ 11,878,000 $ 476,000 $ 6,100,000 $ 14,400,000          
Stock repurchase program, remaining authorized repurchase amount 11,300,000           11,300,000            
Stock Incentive Plan 2026                          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                          
Shares of common stock reserved for issuance (in shares)                 1,500,000        
Stock options                          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                          
Share-based compensation expense 0     0     0 $ 0          
Unrecognized share-based compensation expense $ 0           $ 0     $ 0      
Options outstanding (in shares) 25,000           25,000     25,000      
Aggregate intrinsic value, outstanding $ 0           $ 0     $ 200,000      
Exercised (in shares)             0 25,000          
Exercised (in dollars per share)             $ 0 $ 9.05          
Intrinsic value               $ 100,000          
Tax benefit               100,000          
Weighted-average grant date fair value (in dollars per share)             $ 0            
Time-based stock options | Maximum                          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                          
Vesting period             48 months            
Performance based stock options operating income margins                          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                          
Operating income margin, one (percentage)             6.00%            
Operating income margin, two (percentage)             8.00%            
Operating income margin, three (percentage)             10.00%            
Unvested stock options outstanding (in shares) 0           0     0      
Performance based stock options operating income margins | Minimum                          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                          
Vesting period             1 year            
Performance based stock options operating income margins | Maximum                          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                          
Vesting period             1 year 3 months            
RSUs                          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                          
Share-based compensation expense $ 1,200,000     900,000     $ 3,100,000 $ 2,900,000          
Unrecognized share-based compensation expense $ 6,400,000           $ 6,400,000     $ 3,600,000      
Granted (in shares)             602,000            
Weighted-average period over which the remaining compensation cost is expected to be recognized             10 months 24 days            
Minimum withholding requirements (in shares)             99,000 70,000          
RSUs | Stock Incentive Plan 2026                          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                          
Granted (in shares)             602,000            
RSUs | Minimum                          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                          
Vesting period             12 months            
RSUs | Maximum                          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                          
Vesting period             36 months            
RSUs | Director                          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                          
Restriction period for issuance of shares             2 years            
Nonvested subject to restriction period (in shares) 87,000           87,000     78,000      
Time-Based Restricted Stock Units (RSUs), 1-year Vesting | Stock Incentive Plan 2026                          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                          
Vesting period             1 year            
Weighted-average grant date fair value (in dollars per share)             $ 19.59            
Time-Based Restricted Stock Units (RSUs), 3-year Vesting | Stock Incentive Plan 2026                          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                          
Vesting period             3 years            
Adjusted EBITDA Performance-Based Restricted Stock Units | Stock Incentive Plan 2026                          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                          
Vesting period             1 year            
Weighted-average grant date fair value (in dollars per share)             $ 19.68            
Total Shareholder Return, Performance Based Restricted Stock Units | Stock Incentive Plan 2026                          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                          
Weighted-average grant date fair value (in dollars per share)             $ 21.55            
Total Shareholder Return, Performance Based Restricted Stock Units | Minimum | Stock Incentive Plan 2026                          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                          
Vesting period             2 years            
Total Shareholder Return, Performance Based Restricted Stock Units | Maximum | Stock Incentive Plan 2026                          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                          
Vesting period             3 years            
Performance-Based Restricted Stock Units (RSUs)                          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                          
Share-based compensation expense $ 700,000     $ 400,000     $ 2,500,000 $ 1,300,000          
Weighted-average period over which the remaining compensation cost is expected to be recognized             2 years 3 months 18 days            
Share based compensation potential compensation expense to be recognized 4,800,000           $ 4,800,000            
Performance-Based Restricted Stock Units (RSUs) | Maximum                          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                          
Share based compensation potential compensation expense to be recognized $ 6,300,000           $ 6,300,000