v3.26.1
Note 15 - Earnings Per Share - Schedule of Earnings Per Share (Details) - shares
shares in Thousands
3 Months Ended 9 Months Ended
Apr. 30, 2026
Apr. 30, 2025
Apr. 30, 2026
Apr. 30, 2025
Basic (in shares) 24,893 25,165 25,041 25,177
Diluted weighted-average number of shares (in shares) 24,915 25,249 25,054 25,312
Share-Based Payment Arrangement, Option [Member]        
Stock options (in shares) 1 0 3 0
Non Vested Restricted Common Stock [Member]        
Stock options (in shares) 21 84 10 135