v3.26.1
Note 7 - Share-based Compensation (Tables)
6 Months Ended
Jun. 30, 2026
Notes Tables  
Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]
  

Three and Six Months Ended June 30,

 
  

2026

  

2025

 

Expected term (in years)

  5.00 - 6.11    

Expected volatility

  42.63% - 54.18%   

Risk-free rate

  4.26% - 4.43%   

Dividend rate

      
Share-Based Payment Arrangement, Option, Activity [Table Text Block]
  

Number of Shares

  

Weighted-Average Exercise Price Per Option

  

Weighted- Average Remaining Contractual Life (in years)

  

Intrinsic Value

 

Shares underlying outstanding awards at January 1, 2026

  603,287  $3.79   7.24     

Granted

  250,000   4.53         

Exercised

  (37,405)  2.84         

Expired

  (295)  10.91         

Cancelled/forfeited

  (4,951)  3.31         

Shares underlying outstanding awards at June 30, 2026

  810,636  $4.06   7.61  $140,033 

Exercisable options at June 30, 2026

  445,083  $3.99   6.04  $139,800 
Nonvested Restricted Stock Shares Activity [Table Text Block]
  

Six Months Ended June 30, 2026

 
  

Number of RSUs

  

Weighted Average Grant Date Fair Value

 

Outstanding at January 1, 2026

  173,253  $4.04 

Granted

  -   - 

Vested

  (47,422)  5.46 

Cancelled/forfeited

  (1,667)  4.06 

Outstanding at March 31, 2026

  124,164  $3.50 

Granted

  -   - 

Vested

  (18,847)  2.41 

Cancelled/forfeited

  (1,667)  4.06 

Outstanding at June 30, 2026

  103,650  $3.69 
Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]
  

Three Months Ended June 30,

  

Six Months Ended June 30,

 
  

2026

  

2025

  

2026

  

2025

 

Direct product costs

 $13,817  $25,601  $27,349  $52,648 

Research and development

  64,971   86,632   131,883   170,034 

Sales and marketing

  26,278   42,722   55,347   90,184 

General and administrative

  130,088   116,445   154,189   322,445 
  $235,154  $271,400  $368,768  $635,311