v3.26.1
Revenues - Narrative (Details) - USD ($)
$ in Thousands
Jun. 30, 2026
Dec. 31, 2025
Disaggregation of Revenue [Line Items]    
Trade and other receivables, net of allowance $ 9,612 $ 9,527
Remaining performance obligation, amount 46,553  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-07-01    
Disaggregation of Revenue [Line Items]    
Remaining performance obligation, amount $ 21,292  
Remaining performance obligation, expected timing of satisfaction 12 months