| | | | | | | | | | | | | | | | | | | | | |
<?xml version="1.0" encoding="windows-1252"?> |
<FilingSummary> |
| <Version> 3.24.0.1 </Version> |
| <ProcessingTime/> |
| <ReportFormat> html </ReportFormat> |
| <ContextCount> 146 </ContextCount> |
| <ElementCount> 394 </ElementCount> |
| <EntityCount> 1 </EntityCount> |
| <FootnotesReported> false </FootnotesReported> |
| <SegmentCount> 52 </SegmentCount> |
| <ScenarioCount> 0 </ScenarioCount> |
| <TuplesReported> false </TuplesReported> |
| <UnitCount> 7 </UnitCount> |
| <MyReports> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R1.htm </HtmlFileName> |
| | | <LongName> 00090 - Document - Document and Entity Information </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DocumentDocumentAndEntityInformation </Role> |
| | | <ShortName> Document and Entity Information </ShortName> |
| | | <MenuCategory> Cover </MenuCategory> |
| | | <Position> 1 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R2.htm </HtmlFileName> |
| | | <LongName> 00100 - Statement - Consolidated Balance Sheets </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/StatementConsolidatedBalanceSheets </Role> |
| | | <ShortName> Consolidated Balance Sheets </ShortName> |
| | | <MenuCategory> Statements </MenuCategory> |
| | | <Position> 2 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R3.htm </HtmlFileName> |
| | | <LongName> 00105 - Statement - Consolidated Balance Sheets (Parenthetical) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/StatementConsolidatedBalanceSheetsParenthetical </Role> |
| | | <ShortName> Consolidated Balance Sheets (Parenthetical) </ShortName> |
| | | <MenuCategory> Statements </MenuCategory> |
| | | <Position> 3 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R4.htm </HtmlFileName> |
| | | <LongName> 00200 - Statement - Consolidated Statements of Operations and Comprehensive Income </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome </Role> |
| | | <ShortName> Consolidated Statements of Operations and Comprehensive Income </ShortName> |
| | | <MenuCategory> Statements </MenuCategory> |
| | | <Position> 4 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R5.htm </HtmlFileName> |
| | | <LongName> 00300 - Statement - Consolidated Statements of Stockholders' Deficit </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/StatementConsolidatedStatementsOfStockholdersDeficit </Role> |
| | | <ShortName> Consolidated Statements of Stockholders' Deficit </ShortName> |
| | | <MenuCategory> Statements </MenuCategory> |
| | | <Position> 5 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R6.htm </HtmlFileName> |
| | | <LongName> 00400 - Statement - Consolidated Statements of Cash Flows </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/StatementConsolidatedStatementsOfCashFlows </Role> |
| | | <ShortName> Consolidated Statements of Cash Flows </ShortName> |
| | | <MenuCategory> Statements </MenuCategory> |
| | | <Position> 6 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R7.htm </HtmlFileName> |
| | | <LongName> 10101 - Disclosure - Business </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureBusiness </Role> |
| | | <ShortName> Business </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 7 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R8.htm </HtmlFileName> |
| | | <LongName> 10201 - Disclosure - Summary of Significant Accounting Policies </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureSummaryOfSignificantAccountingPolicies </Role> |
| | | <ShortName> Summary of Significant Accounting Policies </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 8 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R9.htm </HtmlFileName> |
| | | <LongName> 10301 - Disclosure - Net Sales </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureNetSales </Role> |
| | | <ShortName> Net Sales </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 9 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R10.htm </HtmlFileName> |
| | | <LongName> 10401 - Disclosure - Inventories </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureInventories </Role> |
| | | <ShortName> Inventories </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 10 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R11.htm </HtmlFileName> |
| | | <LongName> 10501 - Disclosure - Plant, Equipment, Leasehold Improvements and Operating Lease Right-of-Use Assets </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosurePlantEquipmentLeaseholdImprovementsAndOperatingLeaseRightOfUseAssets </Role> |
| | | <ShortName> Plant, Equipment, Leasehold Improvements and Operating Lease Right-of-Use Assets </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 11 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R12.htm </HtmlFileName> |
| | | <LongName> 10601 - Disclosure - Goodwill and Other Intangible Assets </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureGoodwillAndOtherIntangibleAssets </Role> |
| | | <ShortName> Goodwill and Other Intangible Assets </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 12 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R13.htm </HtmlFileName> |
| | | <LongName> 10701 - Disclosure - Fair Value of Financial Instruments </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureFairValueOfFinancialInstruments </Role> |
| | | <ShortName> Fair Value of Financial Instruments </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 13 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R14.htm </HtmlFileName> |
| | | <LongName> 10801 - Disclosure - Accrued Expenses </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureAccruedExpenses </Role> |
| | | <ShortName> Accrued Expenses </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 14 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R15.htm </HtmlFileName> |
| | | <LongName> 10901 - Disclosure - Financing and Operating Leases </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureFinancingAndOperatingLeases </Role> |
| | | <ShortName> Financing and Operating Leases </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 15 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R16.htm </HtmlFileName> |
| | | <LongName> 11001 - Disclosure - Long-Term Debt </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureLongTermDebt </Role> |
| | | <ShortName> Long-Term Debt </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 16 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R17.htm </HtmlFileName> |
| | | <LongName> 11101 - Disclosure - Income Taxes </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureIncomeTaxes </Role> |
| | | <ShortName> Income Taxes </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 17 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R18.htm </HtmlFileName> |
| | | <LongName> 11201 - Disclosure - Stockholders' Deficit </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureStockholdersDeficit </Role> |
| | | <ShortName> Stockholders' Deficit </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 18 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R19.htm </HtmlFileName> |
| | | <LongName> 11301 - Disclosure - Earnings per Share </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureEarningsPerShare </Role> |
| | | <ShortName> Earnings per Share </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 19 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R20.htm </HtmlFileName> |
| | | <LongName> 11401 - Disclosure - Commitments and Contingencies </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureCommitmentsAndContingencies </Role> |
| | | <ShortName> Commitments and Contingencies </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 20 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R21.htm </HtmlFileName> |
| | | <LongName> 11501 - Disclosure - Employee Benefit Plan </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureEmployeeBenefitPlan </Role> |
| | | <ShortName> Employee Benefit Plan </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 21 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R22.htm </HtmlFileName> |
| | | <LongName> 11601 - Disclosure - Stock-Based Compensation </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureStockBasedCompensation </Role> |
| | | <ShortName> Stock-Based Compensation </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 22 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R23.htm </HtmlFileName> |
| | | <LongName> 11701 - Disclosure - Segment Reporting </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureSegmentReporting </Role> |
| | | <ShortName> Segment Reporting </ShortName> |
| | | <MenuCategory> Notes </MenuCategory> |
| | | <Position> 23 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R24.htm </HtmlFileName> |
| | | <LongName> 20202 - Disclosure - Summary of Significant Accounting Policies (Policies) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies </Role> |
| | | <ShortName> Summary of Significant Accounting Policies (Policies) </ShortName> |
| | | <MenuCategory> Policies </MenuCategory> |
| | | <ParentRole> http://www.cpicardgroup.com/role/DisclosureSummaryOfSignificantAccountingPolicies </ParentRole> |
| | | <Position> 24 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R25.htm </HtmlFileName> |
| | | <LongName> 30203 - Disclosure - Summary of Significant Accounting Policies (Tables) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables </Role> |
| | | <ShortName> Summary of Significant Accounting Policies (Tables) </ShortName> |
| | | <MenuCategory> Tables </MenuCategory> |
| | | <ParentRole> http://www.cpicardgroup.com/role/DisclosureSummaryOfSignificantAccountingPolicies </ParentRole> |
| | | <Position> 25 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R26.htm </HtmlFileName> |
| | | <LongName> 30303 - Disclosure - Net Sales (Tables) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureNetSalesTables </Role> |
| | | <ShortName> Net Sales (Tables) </ShortName> |
| | | <MenuCategory> Tables </MenuCategory> |
| | | <ParentRole> http://www.cpicardgroup.com/role/DisclosureNetSales </ParentRole> |
| | | <Position> 26 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R27.htm </HtmlFileName> |
| | | <LongName> 30403 - Disclosure - Inventories (Tables) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureInventoriesTables </Role> |
| | | <ShortName> Inventories (Tables) </ShortName> |
| | | <MenuCategory> Tables </MenuCategory> |
| | | <ParentRole> http://www.cpicardgroup.com/role/DisclosureInventories </ParentRole> |
| | | <Position> 27 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R28.htm </HtmlFileName> |
| | | <LongName> 30503 - Disclosure - Plant, Equipment, Leasehold Improvements and Operating Lease Right-of-Use Assets (Tables) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosurePlantEquipmentLeaseholdImprovementsAndOperatingLeaseRightOfUseAssetsTables </Role> |
| | | <ShortName> Plant, Equipment, Leasehold Improvements and Operating Lease Right-of-Use Assets (Tables) </ShortName> |
| | | <MenuCategory> Tables </MenuCategory> |
| | | <ParentRole> http://www.cpicardgroup.com/role/DisclosurePlantEquipmentLeaseholdImprovementsAndOperatingLeaseRightOfUseAssets </ParentRole> |
| | | <Position> 28 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R29.htm </HtmlFileName> |
| | | <LongName> 30603 - Disclosure - Goodwill and Other Intangible Assets (Tables) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureGoodwillAndOtherIntangibleAssetsTables </Role> |
| | | <ShortName> Goodwill and Other Intangible Assets (Tables) </ShortName> |
| | | <MenuCategory> Tables </MenuCategory> |
| | | <ParentRole> http://www.cpicardgroup.com/role/DisclosureGoodwillAndOtherIntangibleAssets </ParentRole> |
| | | <Position> 29 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R30.htm </HtmlFileName> |
| | | <LongName> 30703 - Disclosure - Fair Value of Financial Instruments (Tables) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureFairValueOfFinancialInstrumentsTables </Role> |
| | | <ShortName> Fair Value of Financial Instruments (Tables) </ShortName> |
| | | <MenuCategory> Tables </MenuCategory> |
| | | <ParentRole> http://www.cpicardgroup.com/role/DisclosureFairValueOfFinancialInstruments </ParentRole> |
| | | <Position> 30 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R31.htm </HtmlFileName> |
| | | <LongName> 30803 - Disclosure - Accrued Expenses (Tables) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureAccruedExpensesTables </Role> |
| | | <ShortName> Accrued Expenses (Tables) </ShortName> |
| | | <MenuCategory> Tables </MenuCategory> |
| | | <ParentRole> http://www.cpicardgroup.com/role/DisclosureAccruedExpenses </ParentRole> |
| | | <Position> 31 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R32.htm </HtmlFileName> |
| | | <LongName> 30903 - Disclosure - Financing and Operating Leases (Tables) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureFinancingAndOperatingLeasesTables </Role> |
| | | <ShortName> Financing and Operating Leases (Tables) </ShortName> |
| | | <MenuCategory> Tables </MenuCategory> |
| | | <ParentRole> http://www.cpicardgroup.com/role/DisclosureFinancingAndOperatingLeases </ParentRole> |
| | | <Position> 32 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R33.htm </HtmlFileName> |
| | | <LongName> 31003 - Disclosure - Long-Term Debt (Tables) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureLongTermDebtTables </Role> |
| | | <ShortName> Long-Term Debt (Tables) </ShortName> |
| | | <MenuCategory> Tables </MenuCategory> |
| | | <ParentRole> http://www.cpicardgroup.com/role/DisclosureLongTermDebt </ParentRole> |
| | | <Position> 33 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R34.htm </HtmlFileName> |
| | | <LongName> 31103 - Disclosure - Income Taxes (Tables) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureIncomeTaxesTables </Role> |
| | | <ShortName> Income Taxes (Tables) </ShortName> |
| | | <MenuCategory> Tables </MenuCategory> |
| | | <ParentRole> http://www.cpicardgroup.com/role/DisclosureIncomeTaxes </ParentRole> |
| | | <Position> 34 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R35.htm </HtmlFileName> |
| | | <LongName> 31303 - Disclosure - Earnings per Share (Tables) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureEarningsPerShareTables </Role> |
| | | <ShortName> Earnings per Share (Tables) </ShortName> |
| | | <MenuCategory> Tables </MenuCategory> |
| | | <ParentRole> http://www.cpicardgroup.com/role/DisclosureEarningsPerShare </ParentRole> |
| | | <Position> 35 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R36.htm </HtmlFileName> |
| | | <LongName> 31603 - Disclosure - Stock Based Compensation (Tables) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationTables </Role> |
| | | <ShortName> Stock Based Compensation (Tables) </ShortName> |
| | | <MenuCategory> Tables </MenuCategory> |
| | | <Position> 36 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R37.htm </HtmlFileName> |
| | | <LongName> 31703 - Disclosure - Segment Reporting (Tables) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureSegmentReportingTables </Role> |
| | | <ShortName> Segment Reporting (Tables) </ShortName> |
| | | <MenuCategory> Tables </MenuCategory> |
| | | <ParentRole> http://www.cpicardgroup.com/role/DisclosureSegmentReporting </ParentRole> |
| | | <Position> 37 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R38.htm </HtmlFileName> |
| | | <LongName> 40201 - Disclosure - Summary of Significant Accounting Policies - Trade Accounts Receivable (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTradeAccountsReceivableDetails </Role> |
| | | <ShortName> Summary of Significant Accounting Policies - Trade Accounts Receivable (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 38 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R39.htm </HtmlFileName> |
| | | <LongName> 40202 - Disclosure - Summary of Significant Accounting Policies - Bad debts and Concentration of Credit Risk (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureSummaryOfSignificantAccountingPoliciesBadDebtsAndConcentrationOfCreditRiskDetails </Role> |
| | | <ShortName> Summary of Significant Accounting Policies - Bad debts and Concentration of Credit Risk (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 39 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R40.htm </HtmlFileName> |
| | | <LongName> 40203 - Disclosure - Summary of Significant Accounting Policies - Plant, Equipment and Leasehold Improvements (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPlantEquipmentAndLeaseholdImprovementsDetails </Role> |
| | | <ShortName> Summary of Significant Accounting Policies - Plant, Equipment and Leasehold Improvements (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 40 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R41.htm </HtmlFileName> |
| | | <LongName> 40301 - Disclosure - Net Sales (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureNetSalesDetails </Role> |
| | | <ShortName> Net Sales (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <ParentRole> http://www.cpicardgroup.com/role/DisclosureNetSalesTables </ParentRole> |
| | | <Position> 41 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R42.htm </HtmlFileName> |
| | | <LongName> 40401 - Disclosure - Inventories (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureInventoriesDetails </Role> |
| | | <ShortName> Inventories (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <ParentRole> http://www.cpicardgroup.com/role/DisclosureInventoriesTables </ParentRole> |
| | | <Position> 42 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R43.htm </HtmlFileName> |
| | | <LongName> 40501 - Disclosure - Plant, Equipment, Leasehold Improvements and Operating Lease Right-of-Use Assets (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosurePlantEquipmentLeaseholdImprovementsAndOperatingLeaseRightOfUseAssetsDetails </Role> |
| | | <ShortName> Plant, Equipment, Leasehold Improvements and Operating Lease Right-of-Use Assets (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <ParentRole> http://www.cpicardgroup.com/role/DisclosurePlantEquipmentLeaseholdImprovementsAndOperatingLeaseRightOfUseAssetsTables </ParentRole> |
| | | <Position> 43 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R44.htm </HtmlFileName> |
| | | <LongName> 40601 - Disclosure - Goodwill and Other Intangible Assets - Intangible Assets (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureGoodwillAndOtherIntangibleAssetsIntangibleAssetsDetails </Role> |
| | | <ShortName> Goodwill and Other Intangible Assets - Intangible Assets (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 44 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R45.htm </HtmlFileName> |
| | | <LongName> 40602 - Disclosure - Goodwill and Other Intangible Assets - Future Aggregate Amortization Expense (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureGoodwillAndOtherIntangibleAssetsFutureAggregateAmortizationExpenseDetails </Role> |
| | | <ShortName> Goodwill and Other Intangible Assets - Future Aggregate Amortization Expense (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 45 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R46.htm </HtmlFileName> |
| | | <LongName> 40701 - Disclosure - Fair Value of Financial Instruments (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureFairValueOfFinancialInstrumentsDetails </Role> |
| | | <ShortName> Fair Value of Financial Instruments (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <ParentRole> http://www.cpicardgroup.com/role/DisclosureFairValueOfFinancialInstrumentsTables </ParentRole> |
| | | <Position> 46 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R47.htm </HtmlFileName> |
| | | <LongName> 40801 - Disclosure - Accrued Expenses (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureAccruedExpensesDetails </Role> |
| | | <ShortName> Accrued Expenses (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <ParentRole> http://www.cpicardgroup.com/role/DisclosureAccruedExpensesTables </ParentRole> |
| | | <Position> 47 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R48.htm </HtmlFileName> |
| | | <LongName> 40901 - Disclosure - Financing and Operating Leases - Components of Operating and Finance Lease Expense (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureFinancingAndOperatingLeasesComponentsOfOperatingAndFinanceLeaseExpenseDetails </Role> |
| | | <ShortName> Financing and Operating Leases - Components of Operating and Finance Lease Expense (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 48 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R49.htm </HtmlFileName> |
| | | <LongName> 40902 - Disclosure - Financing and Operating Leases - Operating and Financing Leases (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureFinancingAndOperatingLeasesOperatingAndFinancingLeasesDetails </Role> |
| | | <ShortName> Financing and Operating Leases - Operating and Financing Leases (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 49 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R50.htm </HtmlFileName> |
| | | <LongName> 40903 - Disclosure - Financing and Operating Leases - Components of Lease Expense (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureFinancingAndOperatingLeasesComponentsOfLeaseExpenseDetails </Role> |
| | | <ShortName> Financing and Operating Leases - Components of Lease Expense (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 50 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R51.htm </HtmlFileName> |
| | | <LongName> 40904 - Disclosure - Financing and Operating Leases - Lease Maturity (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureFinancingAndOperatingLeasesLeaseMaturityDetails </Role> |
| | | <ShortName> Financing and Operating Leases - Lease Maturity (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 51 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R52.htm </HtmlFileName> |
| | | <LongName> 41001 - Disclosure - Long-Term Debt - Long-Term Debt (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureLongTermDebtLongTermDebtDetails </Role> |
| | | <ShortName> Long-Term Debt - Long-Term Debt (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 52 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R53.htm </HtmlFileName> |
| | | <LongName> 41002 - Disclosure - Long-Term Debt - First Lien Credit Facility (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureLongTermDebtFirstLienCreditFacilityDetails </Role> |
| | | <ShortName> Long-Term Debt - First Lien Credit Facility (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 53 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R54.htm </HtmlFileName> |
| | | <LongName> 41101 - Disclosure - Income Taxes - Continuing Operations - Other (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureIncomeTaxesContinuingOperationsOtherDetails </Role> |
| | | <ShortName> Income Taxes - Continuing Operations - Other (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 54 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R55.htm </HtmlFileName> |
| | | <LongName> 41102 - Disclosure - Income Taxes - Effective Income Tax Rate Reconciliation (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureIncomeTaxesEffectiveIncomeTaxRateReconciliationDetails </Role> |
| | | <ShortName> Income Taxes - Effective Income Tax Rate Reconciliation (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 55 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R56.htm </HtmlFileName> |
| | | <LongName> 41103 - Disclosure - Income Taxes - Components of Deferred Tax Assets and Liabilities (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxAssetsAndLiabilitiesDetails </Role> |
| | | <ShortName> Income Taxes - Components of Deferred Tax Assets and Liabilities (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 56 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R57.htm </HtmlFileName> |
| | | <LongName> 41104 - Disclosure - Income Taxes - Unrecognized Tax Benefits (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails </Role> |
| | | <ShortName> Income Taxes - Unrecognized Tax Benefits (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 57 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R58.htm </HtmlFileName> |
| | | <LongName> 41201 - Disclosure - Stockholders' Deficit (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureStockholdersDeficitDetails </Role> |
| | | <ShortName> Stockholders' Deficit (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <ParentRole> http://www.cpicardgroup.com/role/DisclosureStockholdersDeficit </ParentRole> |
| | | <Position> 58 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R59.htm </HtmlFileName> |
| | | <LongName> 41301 - Disclosure - Earnings per Share (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureEarningsPerShareDetails </Role> |
| | | <ShortName> Earnings per Share (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <ParentRole> http://www.cpicardgroup.com/role/DisclosureEarningsPerShareTables </ParentRole> |
| | | <Position> 59 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R60.htm </HtmlFileName> |
| | | <LongName> 41401 - Disclosure - Commitments and Contingencies - Contingencies (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails </Role> |
| | | <ShortName> Commitments and Contingencies - Contingencies (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 60 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R61.htm </HtmlFileName> |
| | | <LongName> 41501 - Disclosure - Employee Benefit Plan (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureEmployeeBenefitPlanDetails </Role> |
| | | <ShortName> Employee Benefit Plan (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <ParentRole> http://www.cpicardgroup.com/role/DisclosureEmployeeBenefitPlan </ParentRole> |
| | | <Position> 61 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R62.htm </HtmlFileName> |
| | | <LongName> 41601 - Disclosure - StockBased Compensation - Omnibus Incentive Plan (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureStockbasedCompensationOmnibusIncentivePlanDetails </Role> |
| | | <ShortName> StockBased Compensation - Omnibus Incentive Plan (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 62 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R63.htm </HtmlFileName> |
| | | <LongName> 41602 - Disclosure - StockBased Compensation - Restricted Stock Units (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureStockbasedCompensationRestrictedStockUnitsDetails </Role> |
| | | <ShortName> StockBased Compensation - Restricted Stock Units (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 63 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R64.htm </HtmlFileName> |
| | | <LongName> 41603 - Disclosure - Stock-Based Compensation - Additional information (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails </Role> |
| | | <ShortName> Stock-Based Compensation - Additional information (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 64 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R65.htm </HtmlFileName> |
| | | <LongName> 41701 - Disclosure - Segment Reporting - Revenue and EBITDA from Continuing Operations (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureSegmentReportingRevenueAndEbitdaFromContinuingOperationsDetails </Role> |
| | | <ShortName> Segment Reporting - Revenue and EBITDA from Continuing Operations (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 65 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R66.htm </HtmlFileName> |
| | | <LongName> 41702 - Disclosure - Segment Reporting - Reconciliation of EBITDA to net income (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureSegmentReportingReconciliationOfEbitdaToNetIncomeDetails </Role> |
| | | <ShortName> Segment Reporting - Reconciliation of EBITDA to net income (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 66 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R67.htm </HtmlFileName> |
| | | <LongName> 41703 - Disclosure - Segment Reporting - Balance Sheet Data (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureSegmentReportingBalanceSheetDataDetails </Role> |
| | | <ShortName> Segment Reporting - Balance Sheet Data (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 67 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R68.htm </HtmlFileName> |
| | | <LongName> 41704 - Disclosure - Segment Reporting - Capital Expenditure (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureSegmentReportingCapitalExpenditureDetails </Role> |
| | | <ShortName> Segment Reporting - Capital Expenditure (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 68 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R69.htm </HtmlFileName> |
| | | <LongName> 41705 - Disclosure - Segment Reporting - Net Sales by Product and Services (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://www.cpicardgroup.com/role/DisclosureSegmentReportingNetSalesByProductAndServicesDetails </Role> |
| | | <ShortName> Segment Reporting - Net Sales by Product and Services (Details) </ShortName> |
| | | <MenuCategory> Details </MenuCategory> |
| | | <Position> 69 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R70.htm </HtmlFileName> |
| | | <LongName> 995410 - Disclosure - Pay vs Performance Disclosure </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://xbrl.sec.gov/ecd/role/PvpDisclosure </Role> |
| | | <ShortName> Pay vs Performance Disclosure </ShortName> |
| | | <MenuCategory> Uncategorized </MenuCategory> |
| | | <Position> 70 </Position> |
| | | </Report> |
| | <Report instance="pmts-20231231x10k.htm"> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R71.htm </HtmlFileName> |
| | | <LongName> 995445 - Disclosure - Insider Trading Arrangements </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements </Role> |
| | | <ShortName> Insider Trading Arrangements </ShortName> |
| | | <MenuCategory> Cover </MenuCategory> |
| | | <Position> 71 </Position> |
| | | </Report> |
| | <Report> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <LongName> All Reports </LongName> |
| | | <ReportType> Book </ReportType> |
| | | <ShortName> All Reports </ShortName> |
| | | </Report> |
| | </MyReports> |
| <InputFiles> |
| | <File> pmts-20231231.xsd </File> |
| | <File> pmts-20231231_cal.xml </File> |
| | <File> pmts-20231231_def.xml </File> |
| | <File> pmts-20231231_lab.xml </File> |
| | <File> pmts-20231231_pre.xml </File> |
| | <File doctype="10-K" isDefinitelyFs="true" isUsgaap="true" original="pmts-20231231x10k.htm"> pmts-20231231x10k.htm </File> |
| | </InputFiles> |
| <SupplementalFiles/> |
| <BaseTaxonomies> |
| | <BaseTaxonomy items="714"> http://fasb.org/us-gaap/2023 </BaseTaxonomy> |
| | <BaseTaxonomy items="37"> http://xbrl.sec.gov/dei/2023 </BaseTaxonomy> |
| | <BaseTaxonomy items="4"> http://xbrl.sec.gov/ecd/2023 </BaseTaxonomy> |
| | </BaseTaxonomies> |
| <HasPresentationLinkbase> true </HasPresentationLinkbase> |
| <HasCalculationLinkbase> true </HasCalculationLinkbase> |
| </FilingSummary> |