v3.25.2
CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2025
Jun. 30, 2024
Jun. 30, 2025
Jun. 30, 2024
Income Statement [Abstract]        
Revenues $ 49,097 $ 49,534 $ 97,414 $ 96,357
Cost of revenues 35,277 35,554 70,702 70,246
Gross profit 13,820 13,980 26,712 26,111
Selling, general and administrative expenses 13,793 12,287 28,538 24,824
Income (loss) from operations 27 1,693 (1,826) 1,287
Interest income (expense), net 190 130 305 284
Other income (expense), net (7) (14) (31) (44)
Income (loss) before income taxes 210 1,809 (1,552) 1,527
Income tax expense (benefit) 75 418 (248) 297
Net income (loss) $ 135 $ 1,391 $ (1,304) $ 1,230
Earnings (loss) per share:        
Basic $ 0.01 $ 0.12 $ (0.11) $ 0.11
Diluted $ 0.01 $ 0.12 $ (0.11) $ 0.10
Weighted average common shares outstanding:        
Basic 11,767 11,652 11,760 11,633
Diluted 11,964 11,922 11,760 11,915