v3.26.1
Earnings (Loss) Per Share - Computation Of Diluted Earnings (Loss) Per Share. (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2026
Mar. 31, 2026
Jun. 30, 2025
Mar. 31, 2025
Jun. 30, 2026
Jun. 30, 2025
Numerator:            
Net income (loss) $ (100) $ 264 $ 135 $ (1,439) $ 164 $ (1,304)
Denominator:            
Weighted-average basic shares outstanding 12,011   11,767   11,919 11,760
Weighted-average diluted shares 12,011   11,964   11,984 11,760
Basic earnings per share $ (0.01)   $ 0.01   $ 0.01 $ (0.11)
Diluted earnings per share $ (0.01)   $ 0.01   $ 0.01 $ (0.11)
Options And Unvested Restricted Stock Awards [Member]            
Numerator:            
Net income (loss) $ (100)   $ 135   $ 164 $ (1,304)
Denominator:            
Weighted-average basic shares outstanding 12,011   11,767   11,919 11,760
Effect of dilutive share-based awards 0   197   65 0
Weighted-average diluted shares 12,011   11,964   11,984 11,760
Basic earnings per share $ (0.01)   $ 0.01   $ 0.01 $ (0.11)
Diluted earnings per share $ (0.01)   $ 0.01   $ 0.01 $ (0.11)
Anti-dilutive shares excluded 2,547   2,357   2,625 3,247