v3.25.4
Stockholders' equity - Narrative (Details) - USD ($)
shares in Thousands, $ in Millions
12 Months Ended
Dec. 31, 2025
Dec. 31, 2024
Dec. 31, 2023
Non-Statutory Stock Options      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Dividend yield 0.00% 0.00% 0.00%
Restricted stock units      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Period for recognition 1 year 9 months 18 days    
Unrecognized compensation expense, excluding options $ 14.5    
Performance stock units      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Period for recognition 6 months    
Unrecognized compensation expense, excluding options $ 5.4    
2018 Stock Plan      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Accelerated vesting period 12 months    
Expiration term 10 years    
2020 Equity Incentive Plan      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Expiration term 10 years    
Number of shares authorized (in shares) 19,800    
Remaining shares available for issuance (in shares) 6,600    
Unrecognized compensation expense, option $ 1.5    
2020 Equity Incentive Plan | Relative Total Shareholder Return (rTSR)      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Performance modifier percentage 20.00%    
2020 Equity Incentive Plan | Relative Compound Annual Growth Rate (rCAGR)      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Performance modifier percentage 20.00%    
2020 Equity Incentive Plan | Non-Statutory Stock Options      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Period for recognition 1 year 1 month 6 days    
2020 Equity Incentive Plan | Non-Statutory Stock Options | Subsequent three-month anniversary      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Vesting percentage 6.25%    
2020 Equity Incentive Plan | Non-Statutory Stock Options | One year after the grant date      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Vesting percentage 25.00%    
2020 Equity Incentive Plan | Performance stock units      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
External maximum payout percentage 280.00%    
Internal maximum payout percentage 200.00%    
Vesting percentage, revenue growth 50.00%    
Vesting percentage, contribution margin 50.00%