v3.25.3
Equity-based compensation - Narrative (Details)
1 Months Ended 3 Months Ended 9 Months Ended
Jun. 30, 2019
shares
Oct. 31, 2025
USD ($)
shares
Jul. 31, 2025
USD ($)
shares
Apr. 30, 2025
USD ($)
shares
Oct. 31, 2024
USD ($)
shares
Jul. 31, 2024
USD ($)
shares
Apr. 30, 2024
USD ($)
shares
Oct. 31, 2025
USD ($)
offering_period
shares
Oct. 31, 2024
USD ($)
Jan. 31, 2025
USD ($)
Jan. 31, 2024
Jul. 31, 2023
shares
Jan. 31, 2023
Jan. 31, 2018
shares
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                            
Reduced stock compensation expense               $ 331,000 $ 1,130,000          
Exercises in period, intrinsic value               $ 3,848,000 $ 2,304,000          
Minimum shares earned, minimum target percentage                   55.00% 60.00%   60.00%  
Maximum shares earned, minimum target percentage   90.00%           90.00%            
Issuance of stock for employee stock purchase plan     $ 1,309,000     $ 1,608,000   $ 1,309,000            
Issuance of stock for share-settled bonus awards   $ 3,880,000 $ 37,000 $ 6,508,000 $ 2,853,000 $ 41,000 $ 6,177,000 $ 10,425,000            
Common Stock                            
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                            
Issuance of stock for employee stock purchase plan (in shares) | shares     61,142     89,220   61,142            
Issuance of stock for employee stock purchase plan     $ 1,000     $ 1,000                
Issuance of stock for share-settled bonus awards   $ 2,000   $ 3,000 $ 1,000   $ 3,000              
Issuance of stock for share-settled bonus awards (in shares) | shares   152,233 1,402 267,687 121,148 1,925 283,354 421,322            
Employee stock purchase plan                            
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                            
Employee purchase price of common stock (as a percent)               85.00%            
Employee stock purchase plan                            
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                            
ESPP, employee common stock purchase discount (as a percent)               15.00%            
Unrecognized compensation costs   $ 135,000           $ 135,000            
Weighted average remaining expense term (in years)               2 months            
Restricted stock units                            
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                            
Vesting term (in years)               4 years            
Unrecognized compensation costs   67,951,000           $ 67,951,000            
Weighted average remaining expense term (in years)               2 years 7 months 28 days            
Bonus settlement in shares (as a percent)               115.00%            
Restricted stock units | Share-based Payment Arrangement, Year 1                            
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                            
Vesting term (in years)               1 year            
Annual vesting rate (as a percent)               10.00%            
Restricted stock units | Share-based Payment Arrangement, Year 2                            
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                            
Vesting term (in years)               2 years            
Annual vesting rate (as a percent)               20.00%            
Restricted stock units | Share-based Payment Arrangement, Year 3                            
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                            
Vesting term (in years)               3 years            
Annual vesting rate (as a percent)               30.00%            
Restricted stock units | Share-based Payment Arrangement, Year 4                            
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                            
Vesting term (in years)               4 years            
Annual vesting rate (as a percent)               40.00%            
Stock options                            
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                            
Vesting term (in years)               4 years            
Maximum term (in years)               10 years            
Unrecognized compensation cost   0           $ 0   $ 0        
Performance stock units                            
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                            
Vesting term (in years)               3 years            
Annual vesting rate (as a percent)               100.00%            
Unrecognized compensation costs   $ 21,631,000           $ 21,631,000            
Weighted average remaining expense term (in years)               1 year 9 months 25 days            
Performance stock units | Minimum                            
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                            
Annual vesting rate (as a percent)               0.00%            
Performance stock units | Maximum                            
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                            
Annual vesting rate (as a percent)               220.00%            
2018 Stock Option Plan                            
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                            
Share-based payment award, number of shares authorized (in shares) | shares                           3,048,490
2019 Stock Option and Incentive Plan                            
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                            
Common stock reserve for future issuance (in shares) | shares 2,139,683                          
Percentage increase in number of shares reserved (as a percent) 5.00%                          
2019 Stock Option and Incentive Plan | Employee stock purchase plan                            
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                            
Number of shares available for grant (in shares) | shares 855,873 6,995,445           6,995,445            
Additional shares authorized (in shares) | shares               238,517            
ESPP, number of offering periods per year | offering_period               2            
ESPP offering period (in months)               6 months            
2019 Stock Option and Incentive Plan | Restricted stock units                            
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                            
Number of shares available for grant (in shares) | shares   483,400           483,400            
Outstanding shares (in shares) | shares   7,713           7,713            
2019 Stock Option and Incentive Plan | Stock options | Share-based Payment Arrangement, Year 1                            
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                            
Vesting term (in years)               1 year            
Annual vesting rate (as a percent)               25.00%            
2019 Stock Option and Incentive Plan | Stock options | Share-based Payment Arrangement, Year 2                            
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                            
Vesting term (in years)               1 year            
Annual vesting rate (as a percent)               25.00%            
2019 Stock Option and Incentive Plan | Stock options | Share-based Payment Arrangement, Year 3                            
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                            
Vesting term (in years)               1 year            
Annual vesting rate (as a percent)               25.00%            
2019 Stock Option and Incentive Plan | Stock options | Share-based Payment Arrangement, Year 4                            
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                            
Vesting term (in years)               1 year            
Annual vesting rate (as a percent)               25.00%            
2023 Stock Option And Inducement Plan                            
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                            
Common stock reserve for future issuance (in shares) | shares                       500,000