v3.26.1
REVENUE RECOGNITION - Narrative (Details) - USD ($)
3 Months Ended 6 Months Ended
Jun. 30, 2026
Jun. 30, 2025
Jun. 30, 2026
Jun. 30, 2025
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 3,300,000 $ 1,700,000 8,100,000 $ 4,100,000
Remaining performance obligations $ 56,500,000   $ 56,500,000  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-07-01        
Disaggregation of Revenue [Line Items]        
Remaining performance obligation (as a percent) 98.00%   98.00%  
Remaining performance obligation, period 12 months   12 months  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2027-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 69.00% 68.00% 70.00% 73.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 31.00% 32.00% 30.00% 27.00%