v3.26.1
Note 6 - Earnings Per Share (Tables)
6 Months Ended
Jun. 30, 2026
Notes Tables  
Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]
  

Three Months Ended June 30,

  

Six Months Ended June 30,

 
  

2026

  

2025

  

2026

  

2025

 

Numerator:

                

Net income

 $6,669  $5,389  $12,579  $9,721 

Denominator:

                

Weighted-average shares outstanding

  29,230   30,320   29,303   30,382 

Effect of dilutive shares

  84   130   66   137 

Weighted-average diluted shares

  29,314   30,450   29,369   30,519 
                 

Net income per share:

                

Basic

 $0.23  $0.18  $0.43  $0.32 

Diluted

 $0.23  $0.18  $0.43  $0.32