XML 63 R53.htm IDEA: XBRL DOCUMENT
v3.25.4

Revenue - Schedule of Remaining Performance Obligations (Details) $ in Thousands | Dec. 31, 2025 USD ($)
--- | ---
Revenue Remaining Performance Obligation Expected Timing Of Satisfaction [Line Items] |
Remaining performance obligations | $ 123,523
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date: 2026-01-01 |
Revenue Remaining Performance Obligation Expected Timing Of Satisfaction [Line Items] |
Remaining performance obligations | $ 63,275
Performance obligations expected to be satisfied, expected timing | 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date: 2027-01-01 |
Revenue Remaining Performance Obligation Expected Timing Of Satisfaction [Line Items] |
Remaining performance obligations | $ 27,038
Performance obligations expected to be satisfied, expected timing | 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date: 2028-01-01 |
Revenue Remaining Performance Obligation Expected Timing Of Satisfaction [Line Items] |
Remaining performance obligations | $ 15,872
Performance obligations expected to be satisfied, expected timing | 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date: 2029-01-01 |
Revenue Remaining Performance Obligation Expected Timing Of Satisfaction [Line Items] |
Remaining performance obligations | $ 10,033
Performance obligations expected to be satisfied, expected timing | 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date: 2030-01-01 |
Revenue Remaining Performance Obligation Expected Timing Of Satisfaction [Line Items] |
Remaining performance obligations | $ 7,153
Performance obligations expected to be satisfied, expected timing | 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date: 2031-01-01 |
Revenue Remaining Performance Obligation Expected Timing Of Satisfaction [Line Items] |
Remaining performance obligations | $ 152
Performance obligations expected to be satisfied, expected timing |

X
- Definition Amount of transaction price allocated to performance obligation that has not been recognized as revenue. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Name Accounting Standards Codification -Section 50 -Paragraph 13 -Subparagraph (a) -SubTopic 10 -Topic 606 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-13 + Details
Name: | us-gaap_RevenueRemainingPerformanceObligation
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table. + References No definition available. + Details
Name: | us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Name Accounting Standards Codification -Section 50 -Paragraph 13 -Subparagraph (b)(1) -SubTopic 10 -Topic 606 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-13 + Details
Name: | us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | instant

X
- Details
Name: | us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2026-01-01
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2027-01-01
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2028-01-01
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2029-01-01
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2030-01-01
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2031-01-01
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |