v3.26.3
Condensed Consolidated Statements of Stockholders' Equity (Unaudited) - USD ($)
$ in Thousands
Total
Common Stock
Additional Paid-in Capital
Accumulated Other Comprehensive Income
Accumulated Deficit
Balance, shares at Dec. 31, 2024   27,621,557      
Balance, amount at Dec. 31, 2024 $ 51,413 $ 28 $ 138,015 $ 160 $ (86,790)
Share-based compensation 726 $ 0 726 0 0
Vesting of restricted stock units, shares   22,977      
Vesting of restricted stock units, amount 0 $ 0 0 0 0
Foreign currency translation adjustment, net of tax 13 $ 0 0 13 0
Issuance of common stock for exercise of stock options, shares   1,345,852      
Issuance of common stock for exercise of stock options, amount 1,979 $ 1 1,978 0 0
Taxes paid on the net settlement of stock options and RSUs (80) 0 (80) 0 0
Net income/(loss) 1,171 $ 0 0 0 1,171
Balance, shares at Mar. 31, 2025   28,990,386      
Balance, amount at Mar. 31, 2025 55,222 $ 29 140,639 173 (85,619)
Balance, shares at Dec. 31, 2024   27,621,557      
Balance, amount at Dec. 31, 2024 51,413 $ 28 138,015 160 (86,790)
Foreign currency translation adjustment, net of tax 27        
Taxes paid on the net settlement of stock options and RSUs (340)        
Net income/(loss) 3,853        
Balance, shares at Sep. 30, 2025   30,701,950      
Balance, amount at Sep. 30, 2025 61,344 $ 31 144,063 187 (82,937)
Balance, shares at Mar. 31, 2025   28,990,386      
Balance, amount at Mar. 31, 2025 55,222 $ 29 140,639 173 (85,619)
Share-based compensation 762 $ 0 762 0 0
Vesting of restricted stock units, shares   44,862      
Vesting of restricted stock units, amount 0 $ 0 0 0 0
Foreign currency translation adjustment, net of tax 33 $ 0 0 33 0
Issuance of common stock for exercise of stock options, shares   1,124,969      
Issuance of common stock for exercise of stock options, amount 1,154 $ 1 1,153 0 0
Taxes paid on the net settlement of stock options and RSUs (102) 0 (102) 0 0
Net income/(loss) 1,232 $ 0   0 1,232
Balance, shares at Jun. 30, 2025   30,160,217      
Balance, amount at Jun. 30, 2025 58,301 $ 30 142,452 206 (84,387)
Share-based compensation 766 $ 0 766 0 0
Vesting of restricted stock units, shares   41,544      
Vesting of restricted stock units, amount 0 $ 0 0 0 0
Foreign currency translation adjustment, net of tax (19) $ 0 0 (19) 0
Issuance of common stock for exercise of stock options, shares   500,189      
Issuance of common stock for exercise of stock options, amount 1,004 $ 1 1,003 0 0
Taxes paid on the net settlement of stock options and RSUs (158) 0 (158) 0 0
Net income/(loss) 1,450 $ 0 0 0 1,450
Balance, shares at Sep. 30, 2025   30,701,950      
Balance, amount at Sep. 30, 2025 61,344 $ 31 144,063 187 (82,937)
Balance, shares at Dec. 31, 2025   31,004,327      
Balance, amount at Dec. 31, 2025 63,821 $ 31 145,325 184 (81,719)
Share-based compensation 721 $ 0 721 0 0
Vesting of restricted stock units, shares   44,207      
Vesting of restricted stock units, amount 0 $ 0 0 0 0
Foreign currency translation adjustment, net of tax (17) $ 0 0 (17) 0
Issuance of common stock for exercise of stock options, shares   184,471      
Issuance of common stock for exercise of stock options, amount 307 $ 0 307 0 0
Taxes paid on the net settlement of stock options and RSUs (132) 0 (132) 0 0
Net income/(loss) 578 $ 0 0 0 578
Issuance of common stock in connection with a business acquisition, shares   1,159,638      
Issuance of common stock in connection with a business acquisition, amount 7,433 $ 1 7,432 0 0
Balance, shares at Mar. 31, 2026   32,392,643      
Balance, amount at Mar. 31, 2026 72,711 $ 32 153,653 167 (81,141)
Balance, shares at Dec. 31, 2025   31,004,327      
Balance, amount at Dec. 31, 2025 63,821 $ 31 145,325 184 (81,719)
Foreign currency translation adjustment, net of tax (14)        
Taxes paid on the net settlement of stock options and RSUs (643)        
Net income/(loss) 2,747        
Balance, shares at Sep. 30, 2026   33,368,003      
Balance, amount at Sep. 30, 2026 80,060 $ 33 158,829 170 (78,972)
Balance, shares at Mar. 31, 2026   32,392,643      
Balance, amount at Mar. 31, 2026 72,711 $ 32 153,653 167 (81,141)
Share-based compensation 915 $ 0 915 0 0
Vesting of restricted stock units, shares   75,376      
Vesting of restricted stock units, amount 0 $ 0 0 0 0
Foreign currency translation adjustment, net of tax 3 $ 0 0 3 0
Issuance of common stock for exercise of stock options, shares   780,317      
Issuance of common stock for exercise of stock options, amount 3,718 $ 1 3,717 0 0
Taxes paid on the net settlement of stock options and RSUs (285) 0 (285) 0 0
Net income/(loss) 1,051 $ 0   0 1,051
Balance, shares at Jun. 30, 2026   33,248,336      
Balance, amount at Jun. 30, 2026 78,113 $ 33 158,000 170 (80,090)
Share-based compensation 1,038 $ 0 1,038 0 0
Vesting of restricted stock units, shares   84,360      
Vesting of restricted stock units, amount 0 $ 0 0 0 0
Foreign currency translation adjustment, net of tax 0 $ 0 0 0 0
Issuance of common stock for exercise of stock options, shares   35,307      
Issuance of common stock for exercise of stock options, amount 17 $ 0 17 0 0
Taxes paid on the net settlement of stock options and RSUs (226) 0 (226) 0 0
Net income/(loss) 1,118 $ 0 0 0 1,118
Balance, shares at Sep. 30, 2026   33,368,003      
Balance, amount at Sep. 30, 2026 $ 80,060 $ 33 $ 158,829 $ 170 $ (78,972)