v3.25.1
Note 11 - Stock-based Compensation (Tables)
12 Months Ended
Jan. 31, 2025
Notes Tables  
Share-Based Payment Arrangement, Option, Activity [Table Text Block]
      

Weighted

         
      

Average

  

Remaining

  

Aggregate

 
      

Exercise

  

Life in

  

intrinsic

 
  

Options

  

Price

  

Years

  

value

 

Outstanding as of January 31, 2024

  4,496  $25.90   2.37  $ 

Granted

              

Exercised

              

Expired

  (100)           

Forfeited

  (766)           

Outstanding as of January 31, 2025

 $3,630  $23.87   1.39  $ 
Nonvested Restricted Stock Shares Activity [Table Text Block]
      

Weighted

 
  

Non-vested

  

Average

 
  

Number of

  

Grant Date

 
  

Shares

  

Fair Value

 

Non-vested balance at January 31, 2023

  124,497  $22.17 

Granted

  99,228   23.62 

Vested

  (66,813)  22.15 

Forfeited

  (25,562)  25.01 

Non-vested balance at January 31, 2024

  131,350  $22.72 

Granted

  174,654   6.20 

Vested

  (68,025)  22.83 

Forfeited

  (24,706)  13.15 

Non-vested balance at January 31, 2025

  213,273  $10.27