Contract Assets and Liabilities - Changes in Short-term and Long-term Contracts (Details) - USD ($) $ in Thousands |
9 Months Ended | |
|---|---|---|
Sep. 30, 2026 |
Dec. 31, 2025 |
|
| Contract Assets | ||
| Billings or revenue recognized that was included in the beginning balance | $ (18,596) | |
| Changes in contract assets or contract liabilities, net of reclassification to receivables | 15,712 | |
| Cumulative catch-up adjustment arising from changes in estimates to complete during the period | 1,271 | |
| Changes in costs to fulfill and amortization of commission costs | (298) | |
| Contract Liabilities | ||
| Contract Liability, Beginning balance | 31,021 | |
| Billings or revenue recognized that was included in the beginning balance | (2,728) | |
| Changes in contract assets or contract liabilities, net of reclassification to receivables | (9,721) | |
| Cumulative catch-up adjustment arising from changes in estimates to complete during the period | (299) | |
| Changes in contract commission costs | (274) | |
| Contract assets | 27,364 | $ 29,275 |
| Contract Liability, Ending balance | $ 17,999 |