Quarterly report [Sections 13 or 15(d)]

CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS??? EQUITY

v3.25.3
CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY - USD ($)
$ in Thousands
Total
Common Stock
Additional Paid in Capital
Retained Deficit
Accumulated Other Comprehensive Income
Beginning balance (in shares) at Dec. 31, 2023   21,197,000      
Beginning balance at Dec. 31, 2023 $ 52,302 $ 2 $ 109,837 $ (58,625) $ 1,088
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Shares issued upon restricted stock vesting and option exercise (in shares)   212,000      
Shares issued upon restricted stock vesting and option exercise 39   39    
Stock-based compensation expense 3,276   3,276    
Employee stock purchase plan (in shares)   53,000      
Employee stock purchase plan 342   342    
Common stock repurchased as part of share repurchase program (in shares)   (150,000)      
Common stock repurchased as part of share repurchase program (981)     (981)  
Common stock repurchased to satisfy minimum statutory withholding on stock-based compensation (in shares)   (78,000)      
Common stock repurchased to satisfy minimum statutory withholding on stock-based compensation (625)   (625)    
Other comprehensive loss (252)       (252)
Net income 1,412     1,412  
Ending balance (in shares) at Sep. 30, 2024   21,234,000      
Ending balance at Sep. 30, 2024 55,513 $ 2 112,869 (58,194) 836
Beginning balance (in shares) at Jun. 30, 2024   21,315,000      
Beginning balance at Jun. 30, 2024 53,487 $ 2 111,493 (59,303) 1,295
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Shares issued upon restricted stock vesting and option exercise (in shares)   1,000      
Shares issued upon restricted stock vesting and option exercise 0        
Stock-based compensation expense 1,221   1,221    
Employee stock purchase plan (in shares)   27,000      
Employee stock purchase plan 156   156    
Common stock repurchased as part of share repurchase program (in shares)   (109,000)      
Common stock repurchased as part of share repurchase program (698)     (698)  
Common stock repurchased to satisfy minimum statutory withholding on stock-based compensation (1)   (1)    
Other comprehensive loss (459)       (459)
Net income 1,807     1,807  
Ending balance (in shares) at Sep. 30, 2024   21,234,000      
Ending balance at Sep. 30, 2024 $ 55,513 $ 2 112,869 (58,194) 836
Beginning balance (in shares) at Dec. 31, 2024 21,272,351 21,272,000      
Beginning balance at Dec. 31, 2024 $ 57,529 $ 2 113,868 (57,460) 1,119
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Shares issued upon restricted stock vesting and option exercise (in shares)   309,000      
Shares issued upon restricted stock vesting and option exercise 55   55    
Stock-based compensation expense 3,091   3,091    
Employee stock purchase plan (in shares)   62,000      
Employee stock purchase plan 281   281    
Common stock repurchased as part of share repurchase program (in shares)   (1,190,000)      
Common stock repurchased as part of share repurchase program (8,563)     (8,563)  
Common stock repurchased to satisfy minimum statutory withholding on stock-based compensation (in shares)   (126,000)      
Common stock repurchased to satisfy minimum statutory withholding on stock-based compensation (1,036)   (1,036)    
Other comprehensive loss (477)       (477)
Net income $ 4,591     4,591  
Ending balance (in shares) at Sep. 30, 2025 20,327,352 20,327,000      
Ending balance at Sep. 30, 2025 $ 55,471 $ 2 116,259 (61,432) 642
Beginning balance (in shares) at Jun. 30, 2025   20,426,000      
Beginning balance at Jun. 30, 2025 54,534 $ 2 115,338 (61,523) 717
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Shares issued upon restricted stock vesting and option exercise (in shares)   145,000      
Shares issued upon restricted stock vesting and option exercise 55   55    
Stock-based compensation expense 1,322   1,322    
Employee stock purchase plan (in shares)   27,000      
Employee stock purchase plan 122   122    
Common stock repurchased as part of share repurchase program (in shares)   (211,000)      
Common stock repurchased as part of share repurchase program (2,168)     (2,168)  
Common stock repurchased to satisfy minimum statutory withholding on stock-based compensation (in shares)   (60,000)      
Common stock repurchased to satisfy minimum statutory withholding on stock-based compensation (578)   (578)    
Other comprehensive loss (75)       (75)
Net income $ 2,259     2,259  
Ending balance (in shares) at Sep. 30, 2025 20,327,352 20,327,000      
Ending balance at Sep. 30, 2025 $ 55,471 $ 2 $ 116,259 $ (61,432) $ 642