v3.26.3
Note 17 - (Loss) Earnings Per Share (Tables)
9 Months Ended
Aug. 31, 2026
Notes Tables  
Schedule of Earnings Per Share, Basic, by Common Class, Including Two Class Method [Table Text Block]
  

For the Three Months Ended

  

For the Nine Months Ended

 
  

August 31,

  

August 31,

 
  

2026

  

2025

  

2026

  

2025

 

Net (loss) income

 $(2,911) $2,235  $(12,198) $6,324 
                 

Weighted-average number of shares used in computing net (loss) income per share, basic

  22,981,181   22,691,574   22,779,451   22,649,525 

Net (loss) income per share - basic

 $(0.13) $0.10  $(0.54) $0.28 

Weighted-average number of shares used in computing net (loss) income per share, diluted

  22,981,181   24,103,760   22,779,451   24,147,430 

Net (loss) income per share - diluted

 $(0.13) $0.09  $(0.54) $0.26 
Schedule of Weighted Average Number of Shares [Table Text Block]
  

For the Three Months Ended

  

For the Nine Months Ended

 
  

August 31,

  

August 31,

 
  

2025

  

2025

 

Weighted-average common shares outstanding- basic

  22,691,574   22,649,525 

Assumed conversion of:

        

Dilutive stock options

  679,720   657,234 

Dilutive RSUs

  732,466   840,671 

Weighted-average common share outstanding- diluted

  24,103,760   24,147,430 
Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]
  

For the Three Months Ended

  

For the Nine Months Ended

 
  

August 31,

  

August 31,

 
  

2026

  

2025

  

2026

  

2025

 

Options

  1,062,835   —   1,062,835   - 

RSUs

  488,682   20,919   488,682   41,944 

Total

  1,551,517   20,919   1,551,517   41,944