XML 51 R40.htm IDEA: XBRL DOCUMENT v3.25.2
REVENUE RECOGNITION - Narrative (Details) - USD ($)
3 Months Ended 6 Months Ended
Jun. 30, 2025
Jun. 30, 2024
Jun. 30, 2025
Jun. 30, 2024
Disaggregation of Revenue [Line Items]        
Contract with customer, asset, cumulative catch-up adjustment to revenue, modification of contract $ 0 $ 0 $ 0 $ 0
Contract loss 0 0 0 0
Contract with customer, liability, revenue recognized 1,700,000 $ 1,900,000 4,100,000 $ 4,500,000
Remaining performance obligations $ 51,700,000   $ 51,700,000  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-07-01        
Disaggregation of Revenue [Line Items]        
Remaining performance obligation (as a percent) 95.00%   95.00%  
Remaining performance obligation, period 1 year   1 year  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-07-01        
Disaggregation of Revenue [Line Items]        
Remaining performance obligation, period    
Revenue from Contract with Customer, Product and Service Benchmark | Revenue Timing of Transfer of Goods or Service | Transferred over Time        
Disaggregation of Revenue [Line Items]        
Concentration risk, percentage 68.00% 84.00% 73.00% 82.00%
Revenue from Contract with Customer, Product and Service Benchmark | Revenue Timing of Transfer of Goods or Service | Transferred at Point in Time        
Disaggregation of Revenue [Line Items]        
Concentration risk, percentage 32.00% 16.00% 27.00% 18.00%