Quarterly report [Sections 13 or 15(d)]

CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY

v3.26.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, 2024   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) income (477)       (477)
Net income 4,591     4,591  
Ending balance (in shares) at Sep. 30, 2025   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) income (75)       (75)
Net income 2,259     2,259  
Ending balance (in shares) at Sep. 30, 2025   20,327,000      
Ending balance at Sep. 30, 2025 $ 55,471 $ 2 116,259 (61,432) 642
Beginning balance (in shares) at Dec. 31, 2025 20,209,636 20,210,000      
Beginning balance at Dec. 31, 2025 $ 57,326 $ 2 117,461 (60,702) 565
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Shares issued upon restricted stock vesting and option exercise (in shares)   398,000      
Shares issued upon restricted stock vesting and option exercise 1,079   1,079    
Stock-based compensation expense 3,719   3,719    
Employee stock purchase plan (in shares)   34,000      
Employee stock purchase plan 267   267    
Common stock repurchased as part of share repurchase program (in shares)   (525,000)      
Common stock repurchased as part of share repurchase program (4,963)     (4,963)  
Common stock repurchased to satisfy minimum statutory withholding on stock-based compensation (in shares)   (89,000)      
Common stock repurchased to satisfy minimum statutory withholding on stock-based compensation (798)   (798)    
Other comprehensive (loss) income 116       116
Net income $ 7,404     7,404  
Ending balance (in shares) at Sep. 30, 2026 20,028,177 20,028,000      
Ending balance at Sep. 30, 2026 $ 64,150 $ 2 121,728 (58,261) 681
Beginning balance (in shares) at Jun. 30, 2026   19,914,000      
Beginning balance at Jun. 30, 2026 59,146 $ 2 119,350 (60,812) 606
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Shares issued upon restricted stock vesting and option exercise (in shares)   152,000      
Shares issued upon restricted stock vesting and option exercise 1,043   1,043    
Stock-based compensation expense 1,244   1,244    
Employee stock purchase plan (in shares)   14,000      
Employee stock purchase plan 114   114    
Common stock repurchased as part of share repurchase program (in shares)   (50,000)      
Common stock repurchased as part of share repurchase program (605)     (605)  
Common stock repurchased to satisfy minimum statutory withholding on stock-based compensation (in shares)   (2,000)      
Common stock repurchased to satisfy minimum statutory withholding on stock-based compensation (23)   (23)    
Other comprehensive (loss) income 75       75
Net income $ 3,156     3,156  
Ending balance (in shares) at Sep. 30, 2026 20,028,177 20,028,000      
Ending balance at Sep. 30, 2026 $ 64,150 $ 2 $ 121,728 $ (58,261) $ 681