XML 22 R11.htm IDEA: XBRL DOCUMENT
v3.26.1

REVENUE RECOGNITION | 6 Months Ended
--- | ---
Jun. 30, 2026
REVENUE RECOGNITION |
REVENUE RECOGNITION | 3. REVENUE RECOGNITION The following tables disaggregate net sales by channel and geography: ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | Three Months Ended June 30, | ​ | Six Months Ended June 30,
​ | ​ ​ ​ | 2026 | ​ ​ ​ | 2025 | ​ ​ ​ | 2026 | ​ ​ ​ | 2025
U.S. state and local agencies (a) | ​ | $ | 69,600 | ​ | $ | 77,600 | ​ | $ | 135,760 | ​ | $ | 151,009
Commercial | ​ |  | 16,080 | ​ |  | 11,887 | ​ |  | 28,263 | ​ |  | 22,906
U.S. federal agencies | ​ |  | 40,405 | ​ |  | 29,022 | ​ |  | 71,932 | ​ |  | 50,506
International | ​ |  | 77,198 | ​ |  | 36,859 | ​ |  | 121,602 | ​ |  | 59,740
Other | ​ |  | 3,843 | ​ |  | 1,741 | ​ |  | 4,998 | ​ |  | 3,054
Net sales | ​ | $ | 207,126 | ​ | $ | 157,109 | ​ | $ | 362,555 | ​ | $ | 287,215
​ (a) Includes all Distribution sales ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | Three Months Ended June 30, | ​ | Six Months Ended June 30,
​ | ​ ​ ​ | 2026 | ​ ​ ​ | 2025 | ​ ​ ​ | 2026 | ​ ​ ​ | 2025
United States | ​ | $ | 129,928 | ​ | $ | 120,250 | ​ | $ | 240,953 | ​ | $ | 227,475
International | ​ |  | 77,198 | ​ |  | 36,859 | ​ |  | 121,602 | ​ |  | 59,740
Net sales | ​ | $ | 207,126 | ​ | $ | 157,109 | ​ | $ | 362,555 | ​ | $ | 287,215
​ Revenue by product is not disclosed, as it is impractical to do so. Contract Assets and Liabilities Contract assets represent unbilled amounts resulting from certain long-term contracts that contain performance obligations that are satisfied over time. In these contracts, the revenue recognized exceeds the amount billed to the customer. Contract assets totaled $20,456 and $17,875 as of June 30, 2026 and December 31, 2025, respectively. The Company has determined that it has an unconditional right to consideration for these amounts and therefore includes contract assets in accounts receivable, net in the Company’s condensed consolidated balance sheets. Contract liabilities are recorded when customers are billed or remit cash payments in advance of the Company satisfying performance obligations. Contract liabilities are recognized into revenue when the performance obligation is satisfied. Contract liabilities are included in accrued liabilities in the Company’s condensed consolidated balance sheets, as they are expected to be recognized in revenue within one year, and totaled $14,910 and $12,023 as of June 30, 2026 and December 31, 2025, respectively. Revenue recognized during the three and six months ended June 30, 2026 from amounts included in contract liabilities as of December 31, 2025 was $953 and $7,732, respectively. Remaining Performance Obligations As of June 30, 2026, we had $184,890 of remaining unfulfilled performance obligations, which include amounts that will be invoiced and recognized in future periods. The remaining performance obligations are limited only to arrangements that meet the definition of a contract under ASC Topic 606, Revenue from Contracts with Customers, as of June 30, 2026. We expect to recognize approximately 49% of this balance over the next twelve months and expect the remainder to be recognized in the following two years.

X
- References No definition available. + Details
Name: | us-gaap_RevenueFromContractWithCustomerAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 7 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-7 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 9 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-9 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 10 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-10 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 15 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-15 Reference 5: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12 Reference 6: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12 Reference 7: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12 Reference 8: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (d) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12 Reference 9: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (e) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12 Reference 10: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 13 -Subparagraph (b)(2) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-13 Reference 11: http://www.xbrl.org/2003/role/disclosureRef -Name Accounting Standards Codification -Topic 606 -Publisher FASB -URI https://asc.fasb.org/606/tableOfContent + Details
Name: | us-gaap_RevenueFromContractWithCustomerTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration