XML 55 R44.htm IDEA: XBRL DOCUMENT v3.26.1
Revenue - Narrative (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2026
Mar. 31, 2025
Disaggregation of Revenue [Line Items]    
Future performance obligation $ 325,426  
Revenue recognized that was included in the contract liability balance at the beginning of the period $ 80,543 $ 74,189
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-04-01    
Disaggregation of Revenue [Line Items]    
Remaining performance obligation (in percent) 73.50%  
Revenue recognized during the period 21 months  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2028-01-01    
Disaggregation of Revenue [Line Items]    
Remaining performance obligation (in percent) 14.70%  
Revenue recognized during the period 1 year  
Transferred at Point in Time    
Disaggregation of Revenue [Line Items]    
Remaining performance obligation (in percent) 95.00%  
Transferred over Time    
Disaggregation of Revenue [Line Items]    
Remaining performance obligation (in percent) 5.00%  
Minimum    
Disaggregation of Revenue [Line Items]    
General range of payment terms 30 days  
Maximum    
Disaggregation of Revenue [Line Items]    
General range of payment terms 90 days