STOCK-BASED AWARD PLANS (Tables)
|
6 Months Ended |
Jun. 30, 2026 |
| Compensation plans: |
|
| Schedule of ESPP valuation assumptions |
| | | | | | | | Offering Period Ending | | 11/30/2026 | | 11/30/2025 | | Fair market value of common stock | $ | 14.96 | | $ | 39.86 | | Volatility | | 44.7 | % | | 33.5 | % | Expected term (years) | | 0.5 | | | 0.5 | | Expected dividend yield | | - | % | | - | % | Risk-free interest rate | | 3.8 | % | | 4.3 | % |
|
| Schedule of stock-based compensation expense related to incentive awards |
| | | | | | | | | | | | | | | For the three months ended June 30, | | For the six months ended June 30, | | | 2026 | | 2025 | | 2026 | | 2025 | | | | (unaudited) | | (unaudited) | Stock-based compensation expense: | | | | | | | | | | | | | Stock options | | $ | — | | $ | 110 | | $ | — | | $ | 421 | RSUs | | | 11,849 | | | 10,398 | | | 27,394 | | | 29,751 | RSAs | | | 804 | | | 308 | | | 1,293 | | | 606 | PSUs | | | 903 | | | 878 | | | 3,030 | | | 1,708 | ESPP | | | 206 | | | 296 | | | 553 | | | 548 | Total stock-based compensation expense | | $ | 13,762 | | $ | 11,990 | | $ | 32,270 | | $ | 33,034 |
|
| Schedule of stock-based compensation expense in condensed consolidated statements of comprehensive income (loss) |
| | | | | | | | | | | | | | | For the three months ended June 30, | | For the six months ended June 30, | | | 2026 | | 2025 | | 2026 | | 2025 | | | | (unaudited) | | (unaudited) | Stock-based compensation expense: | | | | | | | | | | | | | Cost of revenues, software subscriptions | | $ | 1,083 | | $ | 1,233 | | $ | 2,828 | | $ | 3,460 | Cost of revenues, services | | | 934 | | | 1,024 | | | 2,605 | | | 2,720 | Research and development | | | 2,440 | | | 2,512 | | | 6,306 | | | 6,864 | Selling and marketing | | | 4,297 | | | 3,235 | | | 9,640 | | | 9,041 | General and administrative | | | 5,008 | | | 3,986 | | | 10,891 | | | 10,949 | Total stock-based compensation expense | | $ | 13,762 | | $ | 11,990 | | $ | 32,270 | | $ | 33,034 |
|
| Employee Stock Option |
|
| Compensation plans: |
|
| Schedule of Option activity |
| | | | | | | | | | | | | | | | | | Weighted | | | | | | | | | Weighted | | Average | | | | | | | | Average | | Remaining | | Aggregate | | | | | | Exercise | | Contractual | | Intrinsic | 2020 Plan Option Activity | | Units | | | Price | | Life (Years) | | Value | | | | (unaudited) | Outstanding at January 1, 2026 | | 1,700 | | $ | 7.32 | | 4.3 | | $ | 22,526 | Exercised | | (365) | | | 2.56 | | | | | | Forfeited | | (64) | | | 19.73 | | | | | | 2020 Plan options outstanding at June 30, 2026 | | 1,271 | | $ | 8.06 | | 3.9 | | $ | 7,654 | 2020 Plan options exercisable at June 30, 2026 | | 1,271 | | $ | 8.06 | | 3.9 | | $ | 7,654 |
|
| Schedule of outstanding, vested and exercisable |
| | | | | | | | | | | | | | | | | | | | Options Outstanding | | Options Vested and Exercisable | | | | | Weighted | | | | Weighted | | | | | Average | | | | Average | Exercise Prices | | Units | | Life (Years) | | Units | | Life (Years) | | | | (unaudited) | $0.15 to $0.71 | | 152 | | * | | 152 | | * | $3.17 | | 53 | | 1.6 | | 53 | | 1.6 | $3.73 | | 392 | | 3.4 | | 392 | | 3.4 | $4.70 | | 361 | | 3.6 | | 361 | | 3.6 | $18.47 | | 190 | | 5.4 | | 190 | | 5.4 | $19.00 | | 43 | | 5.2 | | 43 | | 5.2 | $32.16 | | 80 | | 4.6 | | 80 | | 4.6 | | | 1,271 | | | | 1,271 | | | *These options have indefinite contractual lives. | | | | | | | | |
|
| Restricted Stock Units |
|
| Compensation plans: |
|
| Schedule of restricted activity |
| | | | | | | | | | Weighted | | | | | Average | | | | | Grant Date Fair | | | Units | | Value Per Share | | | | | (unaudited) | Outstanding at January 1, 2026 | | 5,412 | | $ | 25.05 | Granted | | 4,431 | | | 12.79 | Vested | | (1,615) | | | 23.03 | Forfeited | | (544) | | | 19.42 | Outstanding at June 30, 2026 | | 7,684 | | $ | 18.86 |
|
| Restricted Stock Awards |
|
| Compensation plans: |
|
| Schedule of restricted activity |
| | | | | | | | | | | | | | | | Weighted | | | | | Average | | | | | Grant Date Fair | | | Units | | Value Per Share | | | | | (unaudited) | Outstanding at January 1, 2026 | | 37 | | $ | 37.55 | Granted | | 622 | | | 14.08 | Vested | | (37) | | | 37.55 | Outstanding at June 30, 2026 | | 622 | | $ | 14.08 |
|
| Performance Stock Units |
|
| Compensation plans: |
|
| Schedule of restricted activity |
| | | | | | | | | | Average | | | | | Grant Date Fair | | | Units | | Value Per Share | | | | | (unaudited) | Outstanding at January 1, 2026 | | 141 | | $ | 50.86 | Granted | | 59 | | | 12.97 | Forfeited | | (2) | | | 46.48 | Outstanding at June 30, 2026 | | 198 | | $ | 39.63 |
|