XML 46 R32.htm IDEA: XBRL DOCUMENT
v3.25.2

SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Tables) | 12 Months Ended
--- | ---
Jul. 31, 2025
Accounting Policies [Abstract] |
Schedule of Difference Between Basic EPS and Diluted EPS | The difference between basic EPS and diluted EPS is the result of unvested restricted stock units and performance stock units as follows:
|  | 2025 |  | 2024 |  | 2023
Weighted-average shares outstanding for basic earnings per share |  | 53,085,577 |  |  | 53,248,488 |  |  | 53,478,310 |
Unvested restricted stock units and performance stock units |  | 314,729 |  |  | 438,889 |  |  | 378,833 |
Weighted-average shares outstanding assuming dilution |  | 53,400,306 |  |  | 53,687,377 |  |  | 53,857,143 |

X
- References No definition available. + Details
Name: | us-gaap_AccountingPoliciesAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1 + Details
Name: | us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration