v3.26.1
Weighted Average Shares Outstanding (Details) - shares
3 Months Ended
Jul. 31, 2026
Jul. 31, 2025
Earnings Per Share, Diluted, by Common Class, Including Two-Class Method [Line Items]    
Weighted average shares outstanding-basic (in shares) 8,329,512 8,274,054
Dilutive options and restricted stock (in shares) 0 0
Weighted average shares outstanding-diluted (in shares) 8,329,512 8,274,054
Antidilutive securities not included (in shares) 70,495 175,773
Options    
Earnings Per Share, Diluted, by Common Class, Including Two-Class Method [Line Items]    
Antidilutive securities not included (in shares) 854,844 628,934
Warrants    
Earnings Per Share, Diluted, by Common Class, Including Two-Class Method [Line Items]    
Antidilutive securities not included (in shares) 937,487 0
Restricted stock    
Earnings Per Share, Diluted, by Common Class, Including Two-Class Method [Line Items]    
Antidilutive securities not included (in shares) 297,669 6,250