Stockholders' Equity - Schedule of Stockholders' Equity (Details) - USD ($) $ in Thousands |
3 Months Ended | 9 Months Ended | ||||||
|---|---|---|---|---|---|---|---|---|
Jun. 30, 2026 |
Mar. 31, 2026 |
Dec. 31, 2025 |
Jun. 30, 2025 |
Mar. 31, 2025 |
Dec. 31, 2024 |
Jun. 30, 2026 |
Jun. 30, 2025 |
|
| Increase (Decrease) in Stockholders' Equity | ||||||||
| Balance | $ 222,068 | $ 215,265 | $ 203,242 | $ 196,325 | $ 189,161 | $ 182,560 | $ 203,242 | $ 182,560 |
| Balance (in shares) | 37,317,175 | 37,317,175 | ||||||
| Balance (in shares) | (6,640,580) | (6,640,580) | ||||||
| Net income | 10,426 | 7,522 | $ 7,489 | 7,410 | 7,051 | 5,810 | $ 25,437 | 20,271 |
| Exercise of common stock options, grants of restricted stock awards, and vesting of restricted stock units | 486 | 151 | 738 | 78 | 114 | |||
| Taxes paid associated with net settlement of stock compensation awards | (2,229) | (4,588) | (1,168) | (266) | (3,957) | (883) | ||
| Acquisition consideration paid in common stock | 945 | |||||||
| Shares swapped to exercise stock options (in shares) | (56,676) | |||||||
| Stock compensation expense | 5,272 | 4,350 | 6,174 | 3,512 | 2,578 | 3,431 | ||
| Foreign currency translation and other | 1,669 | 469 | (1,871) | |||||
| Balance | $ 235,852 | 222,068 | 215,265 | 208,650 | 196,325 | 189,161 | $ 235,852 | 208,650 |
| Balance (in shares) | 38,025,125 | 38,025,125 | ||||||
| Balance (in shares) | (6,701,268) | (6,701,268) | ||||||
| Common Stock | ||||||||
| Increase (Decrease) in Stockholders' Equity | ||||||||
| Balance | $ 38 | $ 38 | $ 37 | $ 37 | $ 37 | $ 37 | $ 37 | $ 37 |
| Balance (in shares) | 37,873,724 | 37,501,270 | 37,317,175 | 37,223,165 | 36,793,603 | 36,707,840 | 37,317,175 | 36,707,840 |
| Exercise of common stock options, grants of restricted stock awards, and vesting of restricted stock units | $ 1 | |||||||
| Exercise of common stock options, grants of restricted stock awards, and vesting of restricted stock units (in shares) | 214,743 | 573,106 | 224,396 | 34,554 | 522,121 | 138,838 | ||
| Taxes paid associated with net settlement of stock compensation awards (in shares) | (63,342) | (149,559) | (40,301) | (9,442) | (119,819) | (30,575) | ||
| Acquisition consideration paid in common stock (in shares) | 27,260 | |||||||
| Forfeitures of restricted stock awards (in shares) | (51,093) | (22,500) | ||||||
| Balance | $ 38 | $ 38 | $ 38 | $ 37 | $ 37 | $ 37 | $ 38 | $ 37 |
| Balance (in shares) | 38,025,125 | 37,873,724 | 37,501,270 | 37,248,277 | 37,223,165 | 36,793,603 | 38,025,125 | 37,248,277 |
| Additional Paid-in Capital | ||||||||
| Increase (Decrease) in Stockholders' Equity | ||||||||
| Balance | $ 291,480 | $ 291,531 | $ 285,721 | $ 278,124 | $ 278,452 | $ 275,771 | $ 285,721 | $ 275,771 |
| Exercise of common stock options, grants of restricted stock awards, and vesting of restricted stock units | 486 | 151 | 737 | 78 | 114 | |||
| Taxes paid associated with net settlement of stock compensation awards | (2,229) | (4,588) | (1,168) | (266) | (3,957) | (883) | ||
| Acquisition consideration paid in common stock | 945 | |||||||
| Shares swapped to exercise stock options | 17 | 36 | 67 | 28 | 19 | |||
| Stock compensation expense | 5,272 | 4,350 | 6,174 | 3,512 | 2,578 | 3,431 | ||
| Balance | 295,026 | 291,480 | 291,531 | 281,370 | 278,124 | 278,452 | 295,026 | 281,370 |
| Treasury Stock | ||||||||
| Increase (Decrease) in Stockholders' Equity | ||||||||
| Balance | $ (111,618) | $ (111,542) | $ (110,002) | $ (93,901) | $ (93,873) | $ (93,854) | $ (110,002) | $ (93,854) |
| Balance (in shares) | (6,700,775) | (6,698,214) | (6,640,580) | (6,016,893) | (6,016,078) | (6,015,496) | (6,640,580) | (6,015,496) |
| Shares swapped to exercise stock options | $ (17) | $ (36) | $ (67) | $ (28) | $ (19) | |||
| Shares swapped to exercise stock options (in shares) | (1,430) | (55,246) | (815) | (582) | ||||
| Balance | $ (111,635) | $ (111,618) | $ (111,542) | $ (93,901) | $ (93,901) | $ (93,873) | $ (111,635) | $ (93,901) |
| Balance (in shares) | (6,701,268) | (6,700,775) | (6,698,214) | (6,016,893) | (6,016,893) | (6,016,078) | (6,701,268) | (6,016,893) |
| Accumulated Other Comprehensive Loss | ||||||||
| Increase (Decrease) in Stockholders' Equity | ||||||||
| Balance | $ (10,969) | $ (10,377) | $ (10,640) | $ (10,829) | $ (11,298) | $ (9,427) | $ (10,640) | $ (9,427) |
| Foreign currency translation and other | 1,669 | 469 | (1,871) | |||||
| Balance | (11,140) | (10,969) | (10,377) | (9,160) | (10,829) | (11,298) | (11,140) | (9,160) |
| Retained Earnings [Member] | ||||||||
| Increase (Decrease) in Stockholders' Equity | ||||||||
| Balance | 53,137 | 45,615 | 38,126 | 22,894 | 15,843 | 10,033 | 38,126 | 10,033 |
| Net income | 10,426 | 7,522 | 7,489 | 7,410 | 7,051 | 5,810 | ||
| Balance | $ 63,563 | $ 53,137 | $ 45,615 | $ 30,304 | $ 22,894 | $ 15,843 | $ 63,563 | $ 30,304 |
| X | ||||||||||
- Definition Other Comprehensive Income (Loss), Foreign Currency Transaction And Translation Adjustment, Net Of Tax, Portion Attributable To Parent (Including Impact To Retained Earnings) No definition available.
|
| X | ||||||||||
- Definition Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement. Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef
|
| X | ||||||||||
- Definition Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement. Reference 1: http://www.xbrl.org/2003/role/disclosureRef
|
| X | ||||||||||
- Definition Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation. Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef
|
| X | ||||||||||
- Definition A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period. No definition available.
|
| X | ||||||||||
- Definition The portion of profit or loss for the period, net of income taxes, which is attributable to the parent. Reference 1: http://www.xbrl.org/2003/role/disclosureRef
|
| X | ||||||||||
- Definition Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement. Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef
|
| X | ||||||||||
- Definition Number of shares of stock issued during the period pursuant to acquisitions. Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef
|
| X | ||||||||||
- Definition Number of shares related to Restricted Stock Award forfeited during the period. Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef
|
| X | ||||||||||
- Definition Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP). Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef
|
| X | ||||||||||
- Definition Value of stock issued pursuant to acquisitions during the period. Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef
|
| X | ||||||||||
- Definition Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP). Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef
|
| X | ||||||||||
- Definition Equity impact of the value of stock bought back by the entity at the exercise price or redemption price. Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef
|
| X | ||||||||||
- Definition Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest. Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef
|
| X | ||||||||||
- Definition Number of previously issued common shares repurchased by the issuing entity and held in treasury. Reference 1: http://www.xbrl.org/2003/role/disclosureRef
|
| X | ||||||||||
- Definition Number of shares that have been repurchased during the period and are being held in treasury. Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef
|
| X | ||||||||||
- Details
|
| X | ||||||||||
- Details
|
| X | ||||||||||
- Details
|
| X | ||||||||||
- Details
|
| X | ||||||||||
- Details
|