XML 164 R92.htm IDEA: XBRL DOCUMENT v2.4.1.9
RETIREMENT BENEFITS - Fair Value Disclosure (Details) (USD $)
In Millions, unless otherwise specified
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
U.S. pension and postretirement benefit plans      
Defined Benefit Plan Disclosure      
Total assets $ 13,716c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
$ 13,422c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
 
Other investment liabilities (635)c_DefinedBenefitPlanOtherInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
(659)c_DefinedBenefitPlanOtherInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
 
Total net assets 13,081us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
12,763us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
 
U.S. pension and postretirement benefit plans | U.S. equity      
Defined Benefit Plan Disclosure      
Total assets 773c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_UnitedStatesEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
793c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_UnitedStatesEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
 
U.S. pension and postretirement benefit plans | Non-U.S. equity      
Defined Benefit Plan Disclosure      
Total assets 601c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
442c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
 
U.S. pension and postretirement benefit plans | Mutual Funds      
Defined Benefit Plan Disclosure      
Total assets 214c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
203c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
 
U.S. pension and postretirement benefit plans | Commingled funds      
Defined Benefit Plan Disclosure      
Total assets 939c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_CommingledFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
977c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_CommingledFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
 
U.S. pension and postretirement benefit plans | U.S. Treasury      
Defined Benefit Plan Disclosure      
Total assets 1,178c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
1,112c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
 
U.S. pension and postretirement benefit plans | U.S. Agency      
Defined Benefit Plan Disclosure      
Total assets 113c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
91c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
 
U.S. pension and postretirement benefit plans | U.S. corporate bonds      
Defined Benefit Plan Disclosure      
Total assets 1,533c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
1,387c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
 
U.S. pension and postretirement benefit plans | Foreign government      
Defined Benefit Plan Disclosure      
Total assets 357c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
349c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
 
U.S. pension and postretirement benefit plans | Non-U.S. corporate bond      
Defined Benefit Plan Disclosure      
Total assets 405c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
398c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
 
U.S. pension and postretirement benefit plans | State and municipal securities      
Defined Benefit Plan Disclosure      
Total assets 132c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
137c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
 
U.S. pension and postretirement benefit plans | Hedge funds      
Defined Benefit Plan Disclosure      
Total assets 3,193c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
3,258c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
 
U.S. pension and postretirement benefit plans | Asset-backed securities      
Defined Benefit Plan Disclosure      
Total assets 41c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
61c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
 
U.S. pension and postretirement benefit plans | Mortgage-backed securities      
Defined Benefit Plan Disclosure      
Total assets 76c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
64c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
 
U.S. pension and postretirement benefit plans | Annuity contracts      
Defined Benefit Plan Disclosure      
Total assets 59c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VariableAnnuityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
91c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VariableAnnuityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
 
U.S. pension and postretirement benefit plans | Private equity      
Defined Benefit Plan Disclosure      
Total assets 1,631c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
2,106c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
 
U.S. pension and postretirement benefit plans | Derivatives      
Defined Benefit Plan Disclosure      
Total assets 649c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DerivativeMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
609c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DerivativeMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
 
U.S. pension and postretirement benefit plans | Other investments      
Defined Benefit Plan Disclosure      
Total assets 361c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherDefinedBenefitPlanInvestmentsFairValueMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
179c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherDefinedBenefitPlanInvestmentsFairValueMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
 
U.S. pension and postretirement benefit plans | Total investments at fair value      
Defined Benefit Plan Disclosure      
Total assets 12,255c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_InvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
12,257c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_InvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
 
U.S. pension and postretirement benefit plans | Cash and short-term investments      
Defined Benefit Plan Disclosure      
Total assets 1,398c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashAndCashEquivalentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
1,064c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashAndCashEquivalentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
 
U.S. pension and postretirement benefit plans | Other investment receivables      
Defined Benefit Plan Disclosure      
Total assets 63c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherInvestmentReceivablesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
101c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherInvestmentReceivablesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
 
U.S. pension and postretirement benefit plans | Level 1      
Defined Benefit Plan Disclosure      
Total assets 2,889c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
2,665c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Other investment liabilities (17)c_DefinedBenefitPlanOtherInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
(9)c_DefinedBenefitPlanOtherInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Total net assets 2,872us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
2,656us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
U.S. pension and postretirement benefit plans | Level 1 | U.S. equity      
Defined Benefit Plan Disclosure      
Total assets 773c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_UnitedStatesEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
793c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_UnitedStatesEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
U.S. pension and postretirement benefit plans | Level 1 | Non-U.S. equity      
Defined Benefit Plan Disclosure      
Total assets 601c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
442c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
U.S. pension and postretirement benefit plans | Level 1 | Mutual Funds      
Defined Benefit Plan Disclosure      
Total assets 214c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
203c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
U.S. pension and postretirement benefit plans | Level 1 | Commingled funds      
Defined Benefit Plan Disclosure      
Total assets 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_CommingledFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_CommingledFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
U.S. pension and postretirement benefit plans | Level 1 | U.S. Treasury      
Defined Benefit Plan Disclosure      
Total assets 1,178c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
1,112c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
U.S. pension and postretirement benefit plans | Level 1 | U.S. Agency      
Defined Benefit Plan Disclosure      
Total assets 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
U.S. pension and postretirement benefit plans | Level 1 | U.S. corporate bonds      
Defined Benefit Plan Disclosure      
Total assets 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
U.S. pension and postretirement benefit plans | Level 1 | Foreign government      
Defined Benefit Plan Disclosure      
Total assets 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
U.S. pension and postretirement benefit plans | Level 1 | Non-U.S. corporate bond      
Defined Benefit Plan Disclosure      
Total assets 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
U.S. pension and postretirement benefit plans | Level 1 | State and municipal securities      
Defined Benefit Plan Disclosure      
Total assets 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
U.S. pension and postretirement benefit plans | Level 1 | Hedge funds      
Defined Benefit Plan Disclosure      
Total assets 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
U.S. pension and postretirement benefit plans | Level 1 | Asset-backed securities      
Defined Benefit Plan Disclosure      
Total assets 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
U.S. pension and postretirement benefit plans | Level 1 | Mortgage-backed securities      
Defined Benefit Plan Disclosure      
Total assets 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
U.S. pension and postretirement benefit plans | Level 1 | Annuity contracts      
Defined Benefit Plan Disclosure      
Total assets 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VariableAnnuityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VariableAnnuityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
U.S. pension and postretirement benefit plans | Level 1 | Private equity      
Defined Benefit Plan Disclosure      
Total assets 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
U.S. pension and postretirement benefit plans | Level 1 | Derivatives      
Defined Benefit Plan Disclosure      
Total assets 12c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DerivativeMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
8c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DerivativeMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
U.S. pension and postretirement benefit plans | Level 1 | Other investments      
Defined Benefit Plan Disclosure      
Total assets 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherDefinedBenefitPlanInvestmentsFairValueMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherDefinedBenefitPlanInvestmentsFairValueMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
U.S. pension and postretirement benefit plans | Level 1 | Total investments at fair value      
Defined Benefit Plan Disclosure      
Total assets 2,778c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_InvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
2,558c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_InvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
U.S. pension and postretirement benefit plans | Level 1 | Cash and short-term investments      
Defined Benefit Plan Disclosure      
Total assets 111c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashAndCashEquivalentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
107c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashAndCashEquivalentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
U.S. pension and postretirement benefit plans | Level 1 | Other investment receivables      
Defined Benefit Plan Disclosure      
Total assets 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherInvestmentReceivablesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherInvestmentReceivablesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
U.S. pension and postretirement benefit plans | Level 2      
Defined Benefit Plan Disclosure      
Total assets 8,111c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
7,232c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Other investment liabilities (618)c_DefinedBenefitPlanOtherInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
(650)c_DefinedBenefitPlanOtherInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Total net assets 7,493us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
6,582us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
U.S. pension and postretirement benefit plans | Level 2 | U.S. equity      
Defined Benefit Plan Disclosure      
Total assets 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_UnitedStatesEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_UnitedStatesEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
U.S. pension and postretirement benefit plans | Level 2 | Non-U.S. equity      
Defined Benefit Plan Disclosure      
Total assets 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
U.S. pension and postretirement benefit plans | Level 2 | Mutual Funds      
Defined Benefit Plan Disclosure      
Total assets 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
U.S. pension and postretirement benefit plans | Level 2 | Commingled funds      
Defined Benefit Plan Disclosure      
Total assets 939c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_CommingledFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
977c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_CommingledFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
U.S. pension and postretirement benefit plans | Level 2 | U.S. Treasury      
Defined Benefit Plan Disclosure      
Total assets 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
U.S. pension and postretirement benefit plans | Level 2 | U.S. Agency      
Defined Benefit Plan Disclosure      
Total assets 113c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
91c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
U.S. pension and postretirement benefit plans | Level 2 | U.S. corporate bonds      
Defined Benefit Plan Disclosure      
Total assets 1,533c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
1,387c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
U.S. pension and postretirement benefit plans | Level 2 | Foreign government      
Defined Benefit Plan Disclosure      
Total assets 357c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
349c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
U.S. pension and postretirement benefit plans | Level 2 | Non-U.S. corporate bond      
Defined Benefit Plan Disclosure      
Total assets 405c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
398c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
U.S. pension and postretirement benefit plans | Level 2 | State and municipal securities      
Defined Benefit Plan Disclosure      
Total assets 132c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
137c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
U.S. pension and postretirement benefit plans | Level 2 | Hedge funds      
Defined Benefit Plan Disclosure      
Total assets 2,462c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
2,132c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
U.S. pension and postretirement benefit plans | Level 2 | Asset-backed securities      
Defined Benefit Plan Disclosure      
Total assets 41c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
61c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
U.S. pension and postretirement benefit plans | Level 2 | Mortgage-backed securities      
Defined Benefit Plan Disclosure      
Total assets 76c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
64c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
U.S. pension and postretirement benefit plans | Level 2 | Annuity contracts      
Defined Benefit Plan Disclosure      
Total assets 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VariableAnnuityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VariableAnnuityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
U.S. pension and postretirement benefit plans | Level 2 | Private equity      
Defined Benefit Plan Disclosure      
Total assets 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
U.S. pension and postretirement benefit plans | Level 2 | Derivatives      
Defined Benefit Plan Disclosure      
Total assets 637c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DerivativeMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
601c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DerivativeMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
U.S. pension and postretirement benefit plans | Level 2 | Other investments      
Defined Benefit Plan Disclosure      
Total assets 101c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherDefinedBenefitPlanInvestmentsFairValueMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
29c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherDefinedBenefitPlanInvestmentsFairValueMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
U.S. pension and postretirement benefit plans | Level 2 | Total investments at fair value      
Defined Benefit Plan Disclosure      
Total assets 6,796c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_InvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
6,226c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_InvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
U.S. pension and postretirement benefit plans | Level 2 | Cash and short-term investments      
Defined Benefit Plan Disclosure      
Total assets 1,287c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashAndCashEquivalentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
957c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashAndCashEquivalentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
U.S. pension and postretirement benefit plans | Level 2 | Other investment receivables      
Defined Benefit Plan Disclosure      
Total assets 28c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherInvestmentReceivablesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
49c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherInvestmentReceivablesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
U.S. pension and postretirement benefit plans | Level 3      
Defined Benefit Plan Disclosure      
Total assets 2,716c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
3,525c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
4,239c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Other investment liabilities 0c_DefinedBenefitPlanOtherInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0c_DefinedBenefitPlanOtherInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Total net assets 2,716us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
3,525us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
U.S. pension and postretirement benefit plans | Level 3 | U.S. equity      
Defined Benefit Plan Disclosure      
Total assets 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_UnitedStatesEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_UnitedStatesEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
U.S. pension and postretirement benefit plans | Level 3 | Non-U.S. equity      
Defined Benefit Plan Disclosure      
Total assets 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
U.S. pension and postretirement benefit plans | Level 3 | Mutual Funds      
Defined Benefit Plan Disclosure      
Total assets 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
U.S. pension and postretirement benefit plans | Level 3 | Commingled funds      
Defined Benefit Plan Disclosure      
Total assets 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_CommingledFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_CommingledFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
U.S. pension and postretirement benefit plans | Level 3 | U.S. Treasury      
Defined Benefit Plan Disclosure      
Total assets 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
U.S. pension and postretirement benefit plans | Level 3 | U.S. Agency      
Defined Benefit Plan Disclosure      
Total assets 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
U.S. pension and postretirement benefit plans | Level 3 | U.S. corporate bonds      
Defined Benefit Plan Disclosure      
Total assets 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
U.S. pension and postretirement benefit plans | Level 3 | Foreign government      
Defined Benefit Plan Disclosure      
Total assets 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
U.S. pension and postretirement benefit plans | Level 3 | Non-U.S. corporate bond      
Defined Benefit Plan Disclosure      
Total assets 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
U.S. pension and postretirement benefit plans | Level 3 | State and municipal securities      
Defined Benefit Plan Disclosure      
Total assets 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
U.S. pension and postretirement benefit plans | Level 3 | Hedge funds      
Defined Benefit Plan Disclosure      
Total assets 731c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
1,126c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
1,524c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
U.S. pension and postretirement benefit plans | Level 3 | Asset-backed securities      
Defined Benefit Plan Disclosure      
Total assets 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
U.S. pension and postretirement benefit plans | Level 3 | Mortgage-backed securities      
Defined Benefit Plan Disclosure      
Total assets 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
U.S. pension and postretirement benefit plans | Level 3 | Annuity contracts      
Defined Benefit Plan Disclosure      
Total assets 59c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VariableAnnuityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
91c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VariableAnnuityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
130c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VariableAnnuityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
U.S. pension and postretirement benefit plans | Level 3 | Private equity      
Defined Benefit Plan Disclosure      
Total assets 1,631c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
2,106c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
2,419c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
U.S. pension and postretirement benefit plans | Level 3 | Derivatives      
Defined Benefit Plan Disclosure      
Total assets 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DerivativeMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DerivativeMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
U.S. pension and postretirement benefit plans | Level 3 | Other investments      
Defined Benefit Plan Disclosure      
Total assets 260c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherDefinedBenefitPlanInvestmentsFairValueMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
150c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherDefinedBenefitPlanInvestmentsFairValueMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
142c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherDefinedBenefitPlanInvestmentsFairValueMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
U.S. pension and postretirement benefit plans | Level 3 | Total investments at fair value      
Defined Benefit Plan Disclosure      
Total assets 2,681c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_InvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
3,473c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_InvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
4,215c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_InvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
U.S. pension and postretirement benefit plans | Level 3 | Cash and short-term investments      
Defined Benefit Plan Disclosure      
Total assets 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashAndCashEquivalentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashAndCashEquivalentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
U.S. pension and postretirement benefit plans | Level 3 | Other investment receivables      
Defined Benefit Plan Disclosure      
Total assets 35c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherInvestmentReceivablesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
52c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherInvestmentReceivablesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
24c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherInvestmentReceivablesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_USPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
U.S. Pension Plans      
Defined Benefit Plan Disclosure      
Total net assets 13,071us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
12,731us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
Allocable interest (as a percent) 99.90%c_PercentageOfAllocableInterestInTrust
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
99.70%c_PercentageOfAllocableInterestInTrust
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
U.S. Postretirement Benefit Plans      
Defined Benefit Plan Disclosure      
Total net assets 10us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
32us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
50us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
Allocable interest (as a percent) 0.10%c_PercentageOfAllocableInterestInTrust
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
0.30%c_PercentageOfAllocableInterestInTrust
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
 
Non-U.S. pension and postretirement benefit plans      
Defined Benefit Plan Disclosure      
Total assets 9,167c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
8,826c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
 
Other investment liabilities (726)c_DefinedBenefitPlanOtherInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
(436)c_DefinedBenefitPlanOtherInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
 
Total net assets 8,441us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
8,390us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
 
Non-U.S. pension and postretirement benefit plans | U.S. equity      
Defined Benefit Plan Disclosure      
Total assets 21c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_UnitedStatesEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
19c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_UnitedStatesEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
 
Non-U.S. pension and postretirement benefit plans | Non-U.S. equity      
Defined Benefit Plan Disclosure      
Total assets 402c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
458c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
 
Non-U.S. pension and postretirement benefit plans | Mutual Funds      
Defined Benefit Plan Disclosure      
Total assets 3,541c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
3,850c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
 
Non-U.S. pension and postretirement benefit plans | Commingled funds      
Defined Benefit Plan Disclosure      
Total assets 35c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_CommingledFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
29c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_CommingledFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
 
Non-U.S. pension and postretirement benefit plans | U.S. corporate bonds      
Defined Benefit Plan Disclosure      
Total assets 357c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
392c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
 
Non-U.S. pension and postretirement benefit plans | Foreign government      
Defined Benefit Plan Disclosure      
Total assets 3,540c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
2,779c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
 
Non-U.S. pension and postretirement benefit plans | Non-U.S. corporate bond      
Defined Benefit Plan Disclosure      
Total assets 919c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
892c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
 
Non-U.S. pension and postretirement benefit plans | Hedge funds      
Defined Benefit Plan Disclosure      
Total assets 10c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
11c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
 
Non-U.S. pension and postretirement benefit plans | Mortgage-backed securities      
Defined Benefit Plan Disclosure      
Total assets 1c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
4c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
 
Non-U.S. pension and postretirement benefit plans | Annuity contracts      
Defined Benefit Plan Disclosure      
Total assets 33c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VariableAnnuityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
33c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VariableAnnuityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
 
Non-U.S. pension and postretirement benefit plans | Derivatives      
Defined Benefit Plan Disclosure      
Total assets 11c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DerivativeMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
42c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DerivativeMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
 
Non-U.S. pension and postretirement benefit plans | Other investments      
Defined Benefit Plan Disclosure      
Total assets 183c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherDefinedBenefitPlanInvestmentsFairValueMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
221c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherDefinedBenefitPlanInvestmentsFairValueMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
 
Non-U.S. pension and postretirement benefit plans | Total investments at fair value      
Defined Benefit Plan Disclosure      
Total assets 9,053c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_InvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
8,730c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_InvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
 
Non-U.S. pension and postretirement benefit plans | Cash and short-term investments      
Defined Benefit Plan Disclosure      
Total assets 114c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashAndCashEquivalentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
96c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashAndCashEquivalentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
 
Non-U.S. pension and postretirement benefit plans | Level 1      
Defined Benefit Plan Disclosure      
Total assets 3,835c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
3,185c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Other investment liabilities (3)c_DefinedBenefitPlanOtherInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0c_DefinedBenefitPlanOtherInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Total net assets 3,832us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
3,185us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Non-U.S. pension and postretirement benefit plans | Level 1 | U.S. equity      
Defined Benefit Plan Disclosure      
Total assets 6c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_UnitedStatesEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
6c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_UnitedStatesEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Non-U.S. pension and postretirement benefit plans | Level 1 | Non-U.S. equity      
Defined Benefit Plan Disclosure      
Total assets 86c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
117c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Non-U.S. pension and postretirement benefit plans | Level 1 | Mutual Funds      
Defined Benefit Plan Disclosure      
Total assets 207c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
257c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Non-U.S. pension and postretirement benefit plans | Level 1 | Commingled funds      
Defined Benefit Plan Disclosure      
Total assets 10c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_CommingledFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
7c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_CommingledFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Non-U.S. pension and postretirement benefit plans | Level 1 | U.S. corporate bonds      
Defined Benefit Plan Disclosure      
Total assets 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Non-U.S. pension and postretirement benefit plans | Level 1 | Foreign government      
Defined Benefit Plan Disclosure      
Total assets 3,293c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
2,547c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Non-U.S. pension and postretirement benefit plans | Level 1 | Non-U.S. corporate bond      
Defined Benefit Plan Disclosure      
Total assets 103c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
107c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Non-U.S. pension and postretirement benefit plans | Level 1 | Hedge funds      
Defined Benefit Plan Disclosure      
Total assets 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Non-U.S. pension and postretirement benefit plans | Level 1 | Mortgage-backed securities      
Defined Benefit Plan Disclosure      
Total assets 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
3c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Non-U.S. pension and postretirement benefit plans | Level 1 | Annuity contracts      
Defined Benefit Plan Disclosure      
Total assets 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VariableAnnuityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VariableAnnuityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Non-U.S. pension and postretirement benefit plans | Level 1 | Derivatives      
Defined Benefit Plan Disclosure      
Total assets 11c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DerivativeMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
42c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DerivativeMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Non-U.S. pension and postretirement benefit plans | Level 1 | Other investments      
Defined Benefit Plan Disclosure      
Total assets 7c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherDefinedBenefitPlanInvestmentsFairValueMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
7c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherDefinedBenefitPlanInvestmentsFairValueMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Non-U.S. pension and postretirement benefit plans | Level 1 | Total investments at fair value      
Defined Benefit Plan Disclosure      
Total assets 3,723c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_InvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
3,093c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_InvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Non-U.S. pension and postretirement benefit plans | Level 1 | Cash and short-term investments      
Defined Benefit Plan Disclosure      
Total assets 112c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashAndCashEquivalentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
92c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashAndCashEquivalentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Non-U.S. pension and postretirement benefit plans | Level 2      
Defined Benefit Plan Disclosure      
Total assets 5,076c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
5,342c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Other investment liabilities (723)c_DefinedBenefitPlanOtherInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
(436)c_DefinedBenefitPlanOtherInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Total net assets 4,353us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
4,906us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Non-U.S. pension and postretirement benefit plans | Level 2 | U.S. equity      
Defined Benefit Plan Disclosure      
Total assets 15c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_UnitedStatesEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
13c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_UnitedStatesEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Non-U.S. pension and postretirement benefit plans | Level 2 | Non-U.S. equity      
Defined Benefit Plan Disclosure      
Total assets 271c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
292c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Non-U.S. pension and postretirement benefit plans | Level 2 | Mutual Funds      
Defined Benefit Plan Disclosure      
Total assets 3,334c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
3,593c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Non-U.S. pension and postretirement benefit plans | Level 2 | Commingled funds      
Defined Benefit Plan Disclosure      
Total assets 25c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_CommingledFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
22c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_CommingledFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Non-U.S. pension and postretirement benefit plans | Level 2 | U.S. corporate bonds      
Defined Benefit Plan Disclosure      
Total assets 357c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
392c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Non-U.S. pension and postretirement benefit plans | Level 2 | Foreign government      
Defined Benefit Plan Disclosure      
Total assets 246c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
232c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Non-U.S. pension and postretirement benefit plans | Level 2 | Non-U.S. corporate bond      
Defined Benefit Plan Disclosure      
Total assets 811c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
780c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Non-U.S. pension and postretirement benefit plans | Level 2 | Hedge funds      
Defined Benefit Plan Disclosure      
Total assets 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Non-U.S. pension and postretirement benefit plans | Level 2 | Mortgage-backed securities      
Defined Benefit Plan Disclosure      
Total assets 1c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
1c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Non-U.S. pension and postretirement benefit plans | Level 2 | Annuity contracts      
Defined Benefit Plan Disclosure      
Total assets 1c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VariableAnnuityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
1c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VariableAnnuityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Non-U.S. pension and postretirement benefit plans | Level 2 | Derivatives      
Defined Benefit Plan Disclosure      
Total assets 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DerivativeMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DerivativeMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Non-U.S. pension and postretirement benefit plans | Level 2 | Other investments      
Defined Benefit Plan Disclosure      
Total assets 13c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherDefinedBenefitPlanInvestmentsFairValueMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
12c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherDefinedBenefitPlanInvestmentsFairValueMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Non-U.S. pension and postretirement benefit plans | Level 2 | Total investments at fair value      
Defined Benefit Plan Disclosure      
Total assets 5,074c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_InvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
5,338c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_InvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Non-U.S. pension and postretirement benefit plans | Level 2 | Cash and short-term investments      
Defined Benefit Plan Disclosure      
Total assets 2c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashAndCashEquivalentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
4c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashAndCashEquivalentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Non-U.S. pension and postretirement benefit plans | Level 3      
Defined Benefit Plan Disclosure      
Total assets 256c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
299c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
300c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Other investment liabilities 0c_DefinedBenefitPlanOtherInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0c_DefinedBenefitPlanOtherInvestmentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Total net assets 256us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
299us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Non-U.S. pension and postretirement benefit plans | Level 3 | U.S. equity      
Defined Benefit Plan Disclosure      
Total assets 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_UnitedStatesEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_UnitedStatesEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Non-U.S. pension and postretirement benefit plans | Level 3 | Non-U.S. equity      
Defined Benefit Plan Disclosure      
Total assets 45c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
49c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
48c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherEquitySecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Non-U.S. pension and postretirement benefit plans | Level 3 | Mutual Funds      
Defined Benefit Plan Disclosure      
Total assets 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_EquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Non-U.S. pension and postretirement benefit plans | Level 3 | Commingled funds      
Defined Benefit Plan Disclosure      
Total assets 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_CommingledFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_CommingledFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Non-U.S. pension and postretirement benefit plans | Level 3 | U.S. corporate bonds      
Defined Benefit Plan Disclosure      
Total assets 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Non-U.S. pension and postretirement benefit plans | Level 3 | Foreign government      
Defined Benefit Plan Disclosure      
Total assets 1c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
4c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Non-U.S. pension and postretirement benefit plans | Level 3 | Non-U.S. corporate bond      
Defined Benefit Plan Disclosure      
Total assets 5c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
5c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
4c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Non-U.S. pension and postretirement benefit plans | Level 3 | Hedge funds      
Defined Benefit Plan Disclosure      
Total assets 10c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
11c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
16c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_HedgeFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Non-U.S. pension and postretirement benefit plans | Level 3 | Mortgage-backed securities      
Defined Benefit Plan Disclosure      
Total assets 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Non-U.S. pension and postretirement benefit plans | Level 3 | Annuity contracts      
Defined Benefit Plan Disclosure      
Total assets 32c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VariableAnnuityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
32c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VariableAnnuityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
6c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_VariableAnnuityMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Non-U.S. pension and postretirement benefit plans | Level 3 | Derivatives      
Defined Benefit Plan Disclosure      
Total assets 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DerivativeMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DerivativeMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Non-U.S. pension and postretirement benefit plans | Level 3 | Other investments      
Defined Benefit Plan Disclosure      
Total assets 163c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherDefinedBenefitPlanInvestmentsFairValueMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
202c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherDefinedBenefitPlanInvestmentsFairValueMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
219c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= c_OtherDefinedBenefitPlanInvestmentsFairValueMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Non-U.S. pension and postretirement benefit plans | Level 3 | Total investments at fair value      
Defined Benefit Plan Disclosure      
Total assets 256c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_InvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
299c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_InvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
297c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_InvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
Non-U.S. pension and postretirement benefit plans | Level 3 | Cash and short-term investments      
Defined Benefit Plan Disclosure      
Total assets $ 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashAndCashEquivalentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
$ 0c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashAndCashEquivalentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
$ 3c_DefinedBenefitPlanFairValueOfPlanAssetsBeforeDeductingInvestmentLiabilities
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_CashAndCashEquivalentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= c_NonUSPensionAndPostretirementBenefitPlansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member