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)
|