v3.26.1
Stock-based compensation - Schedule of Stock Options Activity (Details)
$ / shares in Units, $ in Thousands
6 Months Ended
Jun. 30, 2026
USD ($)
$ / shares
shares
Shares  
Options outstanding, beginning balance (in shares) | shares 1,377,054
Granted (in shares) | shares 8,775
Forfeited (in shares) | shares (69,843)
Expired (in shares) | shares (22,950)
Options outstanding, ending balance (in shares) | shares 1,293,036
Options exercisable (in shares) | shares 658,060
Weighted-average exercise price per share  
Options outstanding, beginning balance (in dollars per share) | $ / shares $ 7.83
Granted (in dollars per share) | $ / shares 7.88
Forfeited (in dollars per share) | $ / shares 6.74
Expired (in dollars per share) | $ / shares 10.01
Options outstanding, ending balance (in dollars per share) | $ / shares 7.85
Options exercisable (in dollars per share) | $ / shares $ 8.92
Share-based Compensation Arrangement by Share-based Payment Award, Options, Additional Disclosures [Abstract]  
Weighted average remaining contractual term, options outstanding 4 years 8 months 12 days
Weighted average remaining contractual term, options exercisable 3 years 4 months 24 days
Aggregate intrinsic value, options outstanding | $ $ 18
Aggregate intrinsic value, options exercisable | $ $ 8