XML 53 R30.htm IDEA: XBRL DOCUMENT v3.25.0.1
Note 5 - Stock-based Compensation (Tables)
12 Months Ended
Dec. 31, 2024
Notes Tables  
Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]
  Year Ended December 31, 
  

2024

  

2023

 

Stock-based compensation:

        

Cost of revenue

 $706  $1,126 

Sales and marketing

  2,788   2,640 

Research, development and engineering

  2,522   2,962 

General and administrative

  4,013   4,430 

Stock-based compensation expense

  10,029   11,158 

Capitalized to software and patent costs

  30   63 

Total stock-based compensation

 $10,059  $11,221 
Share-Based Payment Arrangement, Nonvested Award, Cost [Table Text Block]
  

December 31,

  

December 31,

 
  

2024

  

2023

 

Total unrecognized compensation costs

 $16,226  $15,370 
Employee Service Share Based Compensation Non Vested Awards Compensation Cost Not Yet Recognized Period for Recognition [Table Text Block]
  

RSAs

  

RSUs

  

PRSUs

 

Weighted average period (in years)

  1.01   1.33   1.32 
Nonvested Restricted Stock Shares Activity [Table Text Block]
      

Weighted

 
      

Average

 
  

Number of

  

Grant Date

 
  

Shares

  

Fair Value

 

Unvested balance, December 31, 2022

  196  $32.06 

Granted

  45  $22.10 

Vested

  (130) $30.18 

Forfeited

  (6) $34.89 

Unvested balance, December 31, 2023

  105  $29.89 

Granted

  45  $28.37 

Vested

  (84) $29.20 

Forfeited

  (7) $27.57 

Unvested balance, December 31, 2024

  59  $29.98 
Schedule of Fair Value of Restricted Stock Awards Vested [Table Text Block]
  

Year Ended December 31,

 
  

2024

  

2023

 

Fair value of RSAs vested

 $2,234  $3,273 
Share-Based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block]
      

Weighted

 
      

Average

 
  

Number of

  

Grant Date

 
  

Units

  

Fair Value

 

Unvested balance, December 31, 2022

  370  $24.77 

Granted

  298  $23.20 

Vested

  (161) $24.46 

Forfeited

  (65) $25.17 

Unvested balance, December 31, 2023

  442  $23.77 

Granted

  228  $35.29 

Vested

  (197) $26.86 

Forfeited

  (67) $26.58 

Unvested balance, December 31, 2024

  406  $28.27 
Schedule of Fair Value of Restricted Stock Units Vested [Table Text Block]
  

Year Ended December 31,

 
  

2024

  

2023

 

Fair value of RSU awards vested

 $5,747  $4,893 
Share-Based Payment Arrangement, Performance Shares, Activity [Table Text Block]
      

Weighted

 
      

Average

 
  

Number of

  

Grant Date

 
  

Units

  

Fair Value

 

Unvested balance, December 31, 2021

    $ 

Granted

  73  $31.93 

Vested

    $ 

Forfeited

  (6) $32.02 

Unvested balance, December 31, 2022

  67  $31.92 

Change in units based on performance expectations

  (6) $32.02 

Granted

  134  $27.75 

Vested

  (2) $32.02 

Forfeited

  (1) $32.02 

Unvested balance, December 31, 2023

  192  $29.01 

Change in units based on performance expectations

  30  $22.37 

Granted

  73  $36.77 

Vested

  (60) $22.37 

Forfeited

  (20) $34.17 

Unvested balance, December 31, 2024

  215  $32.08 
Schedule of Fair Value of Performance Stock Units Vested [Table Text Block]
  

Year Ended December 31,

 
  

2024

  

2023

 

Fair value of PRSU awards vested

 $2,370  $54 
Performance Restricted Stock Units (PRSU) [Member]  
Notes Tables  
Schedule of Share-Based Payment Award, Valuation Assumptions [Table Text Block]
  Year Ended December 31, 
  

2024

  

2023

 

Stock price

 $36.64  $22.37 

Expected volatility

  66.3%  74.7%

Risk-free interest rate

  4.3%  4.3%