v3.26.3
Condensed Consolidated Statements of Stockholders’ Equity - USD ($)
$ in Thousands
Total
Common Stock
Additional Paid-In Capital
Retained Earnings
Accumulated Other Comprehensive Loss
Beginning balance (in shares) at Nov. 30, 2024   43,361,000      
Beginning balance at Nov. 30, 2024 $ 438,788 $ 434 $ 354,158 $ 120,405 $ (36,209)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Issuance of stock under employee stock purchase plan (in shares)   250,000      
Issuance of stock under employee stock purchase plan 11,004 $ 2 11,002    
Exercise of stock options (in shares)   170,000      
Exercise of stock options 4,589 $ 2 4,587    
Vesting of RSUs (in shares)   477,000      
Vesting of RSUs 0 $ 5 (5)    
Withholding tax payments related to net issuance of RSUs (in shares)   (180,000)      
Withholding tax payments related to net issuance of RSUs (10,101) $ (2) (10,099)    
Stock-based compensation $ 47,394   47,394    
Common stock repurchases and retirements (in shares) (1,200,000) (1,173,000)      
Common stock repurchases and retirements $ (65,168) $ (12) (35,414) (29,742)  
Net income 47,388     47,388  
Other comprehensive (loss) income 3,788       3,788
Ending balance (in shares) at Aug. 31, 2025   42,905,000      
Ending balance at Aug. 31, 2025 477,682 $ 429 371,623 138,051 (32,421)
Beginning balance (in shares) at May. 31, 2025   43,101,000      
Beginning balance at May. 31, 2025 452,701 $ 431 362,091 123,254 (33,075)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Issuance of stock under employee stock purchase plan (in shares)   74,000      
Issuance of stock under employee stock purchase plan 3,601 $ 1 3,600    
Exercise of stock options (in shares)   15,000      
Exercise of stock options 337   337    
Withholding tax payments related to net issuance of RSUs (in shares)   (2,000)      
Stock-based compensation $ 15,970   15,970    
Common stock repurchases and retirements (in shares) (300,000) (283,000)      
Common stock repurchases and retirements $ (14,994) $ (3) (10,375) (4,616)  
Net income 19,413     19,413  
Other comprehensive (loss) income 654       654
Ending balance (in shares) at Aug. 31, 2025   42,905,000      
Ending balance at Aug. 31, 2025 $ 477,682 $ 429 371,623 138,051 (32,421)
Beginning balance (in shares) at Nov. 30, 2025 42,335,700 42,336,000      
Beginning balance at Nov. 30, 2025 $ 478,349 $ 423 383,696 127,373 (33,143)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Issuance of stock under employee stock purchase plan (in shares)   400,000      
Issuance of stock under employee stock purchase plan 9,601 $ 4 9,597    
Exercise of stock options (in shares)   34,000      
Exercise of stock options 1,262 $ 1 1,261    
Vesting of RSUs (in shares)   570,000      
Vesting of RSUs 0 $ 6 (6)    
Withholding tax payments related to net issuance of RSUs (in shares)   (207,000)      
Withholding tax payments related to net issuance of RSUs (6,629) $ (2) (6,627)    
Stock-based compensation $ 55,062   55,062    
Common stock repurchases and retirements (in shares) (2,200,000) (2,181,000)      
Common stock repurchases and retirements $ (71,962) $ (22) (11,270) (60,670)  
Net income 66,662     66,662  
Other comprehensive (loss) income $ (2,367)       (2,367)
Ending balance (in shares) at Aug. 31, 2026 40,952,367 40,952,000      
Ending balance at Aug. 31, 2026 $ 529,978 $ 410 431,713 133,365 (35,510)
Beginning balance (in shares) at May. 31, 2026   41,312,000      
Beginning balance at May. 31, 2026 506,083 $ 413 415,630 124,414 (34,374)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Issuance of stock under employee stock purchase plan (in shares)   114,000      
Issuance of stock under employee stock purchase plan 2,427 $ 1 2,426    
Exercise of stock options (in shares)   16,000      
Exercise of stock options 620 $ 1 619    
Stock-based compensation $ 16,079   16,079    
Common stock repurchases and retirements (in shares) (500,000) (490,000)      
Common stock repurchases and retirements $ (16,871) $ (5) (3,041) (13,825)  
Net income 22,776     22,776  
Other comprehensive (loss) income $ (1,136)       (1,136)
Ending balance (in shares) at Aug. 31, 2026 40,952,367 40,952,000      
Ending balance at Aug. 31, 2026 $ 529,978 $ 410 $ 431,713 $ 133,365 $ (35,510)