XML 89 R75.htm IDEA: XBRL DOCUMENT
v3.25.0.1

Equity (Details) $ / shares in Units, $ in Millions |  |  |  | 12 Months Ended |  |  |  |
--- | --- | --- | --- | --- | --- | --- | --- | ---
Jan. 30, 2025 USD ($) $ / shares shares | Jul. 31, 2024 shares | Jul. 31, 2019 trading_day $ / shares shares | Dec. 31, 2024 USD ($) $ / shares shares | Dec. 31, 2023 USD ($) $ / shares shares | Dec. 31, 2022 USD ($) shares | Jan. 29, 2025 $ / shares | Mar. 11, 2024 USD ($) | Sep. 14, 2023 USD ($) | Aug. 02, 2022 USD ($)
Business Acquisition [Line Items] |  |  |  |  |  |  |  |  |  |
Preferred stock authorized (in shares) |  |  |  | 10,000,000 | 10,000,000 |  |  |  |  |
Preferred stock par value (in dollars per share) | $ / shares |  |  |  | $ 0.0001 | $ 0.0001 |  |  |  |  |
Preferred stock issued (in shares) |  |  |  | 0 | 0 |  |  |  |  |
Preferred stock outstanding (in shares) |  |  |  | 0 | 0 |  |  |  |  |
Common stock, authorized (in shares) |  |  |  | 500,000,000 | 500,000,000 |  |  |  |  |
Common stock, par value (in dollars per share) | $ / shares |  |  |  | $ 0.0001 | $ 0.0001 |  |  |  |  |
Common Stock |  |  |  |  |  |  |  |  |  |
Business Acquisition [Line Items] |  |  |  |  |  |  |  |  |  |
Stock repurchase program | $ |  |  |  |  |  |  |  |  |  | $ 30.0
Additional authorized amount | $ |  |  |  |  |  |  |  | $ 25.0 | $ 25.0 |
Shares repurchased (in shares) |  |  |  | 5,900,000 | 6,400,000 | 1,700,000 |  |  |  |
Shares repurchased, amount | $ |  |  |  | $ 28.6 | $ 39.0 | $ 10.5 |  |  |  |
Earnout shares |  |  | 3,100,000 |  |  |  |  |  |  |
Minimum and Second Target Earnout Shares | Common Stock |  |  |  |  |  |  |  |  |  |
Business Acquisition [Line Items] |  |  |  |  |  |  |  |  |  |
Earnout shares |  |  | 2,800,000 |  |  |  |  |  |  |
Earnout share forfeitures |  | 2,800,000 |  |  |  |  |  |  |  |
Maximum Target Earnout Shares | Common Stock |  |  |  |  |  |  |  |  |  |
Business Acquisition [Line Items] |  |  |  |  |  |  |  |  |  |
Earnout shares |  |  | 300,000 |  |  |  |  |  |  |
Earnout shares, contingent consideration, share price | $ / shares |  |  | $ 19.00 |  |  |  |  |  |  |
Earnout shares, contingent consideration, threshold trading days | trading_day |  |  | 20 |  |  |  |  |  |  |
Earnout shares, contingent consideration arrangements, threshold consecutive trading days | trading_day |  |  | 30 |  |  |  |  |  |  |
Maximum Target Earnout Shares | Common Stock | Subsequent Event |  |  |  |  |  |  |  |  |  |
Business Acquisition [Line Items] |  |  |  |  |  |  |  |  |  |
Earnout share forfeitures | 300,000 |  |  |  |  |  |  |  |  |
Energy Capital Partners (ECP) | Common Stock | Subsequent Event |  |  |  |  |  |  |  |  |  |
Business Acquisition [Line Items] |  |  |  |  |  |  |  |  |  |
Common stock, par value (in dollars per share) | $ / shares | $ 0.0001 |  |  |  |  |  |  |  |  |
Shares repurchased (in shares) | 8,143,635 |  |  |  |  |  |  |  |  |
Shares repurchased, amount | $ | $ 32.6 |  |  |  |  |  |  |  |  |
Shares repurchased, repurchase price | $ / shares | $ 4 |  |  |  |  |  |  |  |  |
Shares repurchased, discount percentage | 0.23 |  |  |  |  |  |  |  |  |
Common stock, closing market price per share | $ / shares |  |  |  |  |  |  | $ 5.19 |  |  |
Common Stock | NESCO Holdings, LP | Additional shares if common stock exceeds $19 per share |  |  |  |  |  |  |  |  |  |
Business Acquisition [Line Items] |  |  |  |  |  |  |  |  |  |
Contingent consideration, additional shares (up to) (in shares) |  |  | 1,651,798 |  |  |  |  |  |  |
Contingent consideration term (in years) |  |  | 7 years |  |  |  |  |  |  |
Share price consideration (in dollars per share) | $ / shares |  |  | $ 19.00 |  |  |  |  |  |  |
Trading days threshold | trading_day |  |  | 20 |  |  |  |  |  |  |
Consecutive trading days threshold | trading_day |  |  | 30 |  |  |  |  |  |  |
Contingent consideration stock price in Company sale transaction trigger (in dollars per share) | $ / shares |  |  | $ 19.00 |  |  |  |  |  |  |

X
- Definition Business Combination, Contingent Consideration Arrangements, Range Of Outcomes, Shares, High + References No definition available. + Details
Name: | ctos_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesSharesHigh
Namespace Prefix: | ctos_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | instant

X
- Definition Business Combination, Contingent Consideration Arrangements, Stock Price In Company Sale Transaction Trigger + References No definition available. + Details
Name: | ctos_BusinessCombinationContingentConsiderationArrangementsStockPriceInCompanySaleTransactionTrigger
Namespace Prefix: | ctos_
Data Type: | dtr-types1:perShareItemType
Balance Type: | na
Period Type: | instant

X
- Definition Business Combination, Contingent Consideration Arrangements, Threshold Consecutive Trading Days + References No definition available. + Details
Name: | ctos_BusinessCombinationContingentConsiderationArrangementsThresholdConsecutiveTradingDays
Namespace Prefix: | ctos_
Data Type: | xbrli:integerItemType
Balance Type: | na
Period Type: | instant

X
- Definition Business Combination, Contingent Consideration, Share Price + References No definition available. + Details
Name: | ctos_BusinessCombinationContingentConsiderationSharePrice
Namespace Prefix: | ctos_
Data Type: | dtr-types1:perShareItemType
Balance Type: | na
Period Type: | instant

X
- Definition Business Combination, Contingent Consideration, Term + References No definition available. + Details
Name: | ctos_BusinessCombinationContingentConsiderationTerm
Namespace Prefix: | ctos_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Business Combination, Contingent Consideration, Threshold Trading Days + References No definition available. + Details
Name: | ctos_BusinessCombinationContingentConsiderationThresholdTradingDays
Namespace Prefix: | ctos_
Data Type: | xbrli:integerItemType
Balance Type: | na
Period Type: | instant

X
- Definition Market price per share of the Company's common stock, at close of business day. + References No definition available. + Details
Name: | ctos_CommonStockClosingMarketPricePerShare
Namespace Prefix: | ctos_
Data Type: | dtr-types:perShareItemType
Balance Type: | na
Period Type: | instant

X
- Definition Number of common shares for which certain stockholders agreed to restrictions, considered Earnout Shares + References No definition available. + Details
Name: | ctos_EarnoutShares
Namespace Prefix: | ctos_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | instant

X
- Definition Earnout Shares, Contingent Consideration Arrangements, Threshold Consecutive Trading Days + References No definition available. + Details
Name: | ctos_EarnoutSharesContingentConsiderationArrangementsThresholdConsecutiveTradingDays
Namespace Prefix: | ctos_
Data Type: | xbrli:integerItemType
Balance Type: | na
Period Type: | instant

X
- Definition Earnout Shares, Contingent Consideration, Share Price + References No definition available. + Details
Name: | ctos_EarnoutSharesContingentConsiderationSharePrice
Namespace Prefix: | ctos_
Data Type: | dtr-types:perShareItemType
Balance Type: | na
Period Type: | instant

X
- Definition Earnout Shares, Contingent Consideration, Threshold Trading Days + References No definition available. + Details
Name: | ctos_EarnoutSharesContingentConsiderationThresholdTradingDays
Namespace Prefix: | ctos_
Data Type: | xbrli:integerItemType
Balance Type: | na
Period Type: | instant

X
- Definition Number of earnout shares forfeited during the period. + References No definition available. + Details
Name: | ctos_EarnoutSharesForfeitedDuringPeriodShares
Namespace Prefix: | ctos_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | duration

X
- Definition Stock Repurchase Program, Additional Authorized Amount + References No definition available. + Details
Name: | ctos_StockRepurchaseProgramAdditionalAuthorizedAmount
Namespace Prefix: | ctos_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Treasury stock acquired, discount from fair value, percentage + References No definition available. + Details
Name: | ctos_TreasuryStockAcquiredDiscountPercentage
Namespace Prefix: | ctos_
Data Type: | xbrli:decimalItemType
Balance Type: | na
Period Type: | instant

X
- Definition Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 805 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 5 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org//1943274/2147479907/805-20-50-5 + Details
Name: | us-gaap_BusinessAcquisitionLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Face amount or stated value per share of common stock. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 210 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02(29)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1 + Details
Name: | us-gaap_CommonStockParOrStatedValuePerShare
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:perShareItemType
Balance Type: | na
Period Type: | instant

X
- Definition The maximum number of common shares permitted to be issued by an entity's charter and bylaws. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 946 -SubTopic 210 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.6-04(16)(a)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 210 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02(29)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1 + Details
Name: | us-gaap_CommonStockSharesAuthorized
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | instant

X
- Definition Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 505 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 13 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 210 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02(28)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1 + Details
Name: | us-gaap_PreferredStockParOrStatedValuePerShare
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:perShareItemType
Balance Type: | na
Period Type: | instant

X
- Definition The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 946 -SubTopic 210 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.6-04(16)(a)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 210 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02(28)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1 + Details
Name: | us-gaap_PreferredStockSharesAuthorized
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | instant

X
- Definition Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 505 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 13 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 210 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02(28)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1 + Details
Name: | us-gaap_PreferredStockSharesIssued
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | instant

X
- Definition Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 946 -SubTopic 210 -Name Accounting Standards Codification -Section S99 -Paragraph 2 -Subparagraph (SX 210.6-05(4)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2 Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 946 -SubTopic 220 -Name Accounting Standards Codification -Section S99 -Paragraph 3 -Subparagraph (SX 210.6-09(4)(b)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 946 -SubTopic 210 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.6-04(16)(a)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1 Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 946 -SubTopic 220 -Name Accounting Standards Codification -Section S99 -Paragraph 3 -Subparagraph (SX 210.6-09(7)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3 Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 210 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02(28)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1 + Details
Name: | us-gaap_PreferredStockSharesOutstanding
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | instant

X
- Definition Amount of stock repurchase plan authorized. + References No definition available. + Details
Name: | us-gaap_StockRepurchaseProgramAuthorizedAmount1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Total cost of shares repurchased divided by the total number of shares repurchased. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 505 -SubTopic 30 -Section 45 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org//1943274/2147481549/505-30-45-1 + Details
Name: | us-gaap_TreasuryStockAcquiredAverageCostPerShare
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:perShareItemType
Balance Type: | na
Period Type: | duration

X
- Definition Number of shares that have been repurchased during the period and are being held in treasury. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Section 50 -Paragraph 2 -SubTopic 10 -Topic 505 -Publisher FASB -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 505 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.3-04) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 210 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02(29)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1 + Details
Name: | us-gaap_TreasuryStockSharesAcquired
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | duration

X
- Definition Equity impact of the cost of common and preferred stock that were repurchased during the period. Recorded using the cost method. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Section 50 -Paragraph 2 -SubTopic 10 -Topic 505 -Publisher FASB -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 505 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.3-04) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 505 -SubTopic 30 -Section 45 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org//1943274/2147481549/505-30-45-1 + Details
Name: | us-gaap_TreasuryStockValueAcquiredCostMethod
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Details
Name: | us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ctos_EarnoutSharesAxis=ctos_MinimumAndSecondTargetEarnoutSharesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ctos_EarnoutSharesAxis=ctos_MaximumTargetEarnoutSharesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_BusinessAcquisitionAxis=ctos_EnergyCapitalPartnersECPMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_EquityInterestIssuedOrIssuableByTypeAxis=us-gaap_CommonStockMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_BusinessAcquisitionAxis=ctos_NESCOHoldingsLPMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ContingentConsiderationByTypeAxis=ctos_ContingentConsiderationStockPriceRequirementMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |