@zeniai/web-app-ui 5.3.57-dev → 5.3.58-dev

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/dist/assets/{AccountMappingScreen-jr8NYSf0.js → AccountMappingScreen-i9VnJUfN.js} +1 -1
  2. package/dist/assets/{ActualMatchingMatchDetailScreen-D7uo3hon.js → ActualMatchingMatchDetailScreen-BezdP5hK.js} +1 -1
  3. package/dist/assets/AddressRoutes-Bdit2HAJ.js +1 -0
  4. package/dist/assets/{AddressScreen-CzeehWEB.js → AddressScreen-VFwclDOo.js} +1 -1
  5. package/dist/assets/{AiCfoScreen-B6Qm6OGC.js → AiCfoScreen-DxQtaOj7.js} +1 -1
  6. package/dist/assets/{AppDrawer-CWthlF8n.js → AppDrawer-C6RwU25A.js} +1 -1
  7. package/dist/assets/{BillPayApprovalRoutes-BmUgGtKM.js → BillPayApprovalRoutes-DYWuhb41.js} +1 -1
  8. package/dist/assets/{BillPayRoutes-CP47fxd2.js → BillPayRoutes-C1JyoH4j.js} +1 -1
  9. package/dist/assets/{BusinessVerificationPageScreen-tFrQ8x6S.js → BusinessVerificationPageScreen-CGL4LCDJ.js} +1 -1
  10. package/dist/assets/{CardsAiCfoScreen-CrGCfJAL.js → CardsAiCfoScreen-DbF_UrIW.js} +1 -1
  11. package/dist/assets/{ChargeCardRoutes-HEtZ4-6z.js → ChargeCardRoutes-BZfJocDx.js} +1 -1
  12. package/dist/assets/{CompanyPassportScreen-BntoeEDx.js → CompanyPassportScreen-C4Q98a-_.js} +1 -1
  13. package/dist/assets/{ConnectionAuthScreen-Dat6_wbT.js → ConnectionAuthScreen-413EOD9J.js} +1 -1
  14. package/dist/assets/CustomerOnboardingAuthScreen-DGoLyCcj.js +1 -0
  15. package/dist/assets/{CustomerOnboardingRoutes-D7AR6_5E.js → CustomerOnboardingRoutes-CUI-gFVx.js} +1 -1
  16. package/dist/assets/{DashboardRoutes-xYm5IqDw.js → DashboardRoutes-CZU-ohC4.js} +1 -1
  17. package/dist/assets/{DefaultTenantHome-COzEbzIO.js → DefaultTenantHome-BIH8L2zP.js} +1 -1
  18. package/dist/assets/{DomesticWireDetailScreen-DNQyCQC6.js → DomesticWireDetailScreen-MDUoS_v9.js} +1 -1
  19. package/dist/assets/{DrawerScreen-B_TpDjbP.js → DrawerScreen-BzNdt1AI.js} +1 -1
  20. package/dist/assets/{EntityDetailRoutes-ZwAM0SZG.js → EntityDetailRoutes-Cn6snoxK.js} +1 -1
  21. package/dist/assets/{ExpenseAutomationRoutes-07jYvY-X.js → ExpenseAutomationRoutes-G_4mZDU-.js} +1 -1
  22. package/dist/assets/{FeaturePreviewScreen-Bxq-5yf4.js → FeaturePreviewScreen-C-uktVbl.js} +1 -1
  23. package/dist/assets/{HubSpotOAuthCallbackScreen-BRU2IAyD.js → HubSpotOAuthCallbackScreen-DPJHmsFd.js} +1 -1
  24. package/dist/assets/{InboxNotificationsProvider-XqYApNHe.js → InboxNotificationsProvider-zG7x1gLM.js} +1 -1
  25. package/dist/assets/{InvoicingRoutes-r0fcBRFQ.js → InvoicingRoutes-De3ZOg_V.js} +1 -1
  26. package/dist/assets/{MagicLinkRoutes-CCEHT5BA.js → MagicLinkRoutes-D8WmClD4.js} +1 -1
  27. package/dist/assets/{MagicLinkSignInScreen-B_zN3L0m.js → MagicLinkSignInScreen-DUzZyQDK.js} +1 -1
  28. package/dist/assets/{MobileAppDrawer-BQafCiIm.js → MobileAppDrawer-nX8kGgUI.js} +1 -1
  29. package/dist/assets/NotFoundScreen-znPj3CVA.js +1 -0
  30. package/dist/assets/{NotificationRoutes-D_uvLz5W.js → NotificationRoutes-DQ95Eu44.js} +1 -1
  31. package/dist/assets/{OAuthConsentScreen-BoC0mDLZ.js → OAuthConsentScreen-dDQYvFle.js} +1 -1
  32. package/dist/assets/{PandLWithForecastRoutes-eFW0kX5c.js → PandLWithForecastRoutes-CxDiuohR.js} +1 -1
  33. package/dist/assets/{PaymentLinkScreen-C1EeaAzl.js → PaymentLinkScreen-D586vchF.js} +1 -1
  34. package/dist/assets/{PeopleRoutes-DvSn9Sjn.js → PeopleRoutes-Kyg4bRaa.js} +1 -1
  35. package/dist/assets/{PerformanceRoutes-DdN4A-Qw.js → PerformanceRoutes-P-3150On.js} +1 -1
  36. package/dist/assets/{Preview-u3wRUzMg.js → Preview-Crvq2j5W.js} +1 -1
  37. package/dist/assets/{QBOConnectionScreen-DphcQ8vo.js → QBOConnectionScreen-Bf8b_4PY.js} +1 -1
  38. package/dist/assets/{ReimbursementApprovalRoutes-CZw_F1Nq.js → ReimbursementApprovalRoutes-3BFLJn19.js} +1 -1
  39. package/dist/assets/{ReimbursementApprovalRuleDetailScreen-BVnDjDhK.js → ReimbursementApprovalRuleDetailScreen-BXMGleKX.js} +1 -1
  40. package/dist/assets/{ReimbursementRoutes-BOqV_hzz.js → ReimbursementRoutes-CycF_Spp.js} +1 -1
  41. package/dist/assets/{ReportsRoutes-DyLPjuj4.js → ReportsRoutes-Bu-WEiek.js} +1 -1
  42. package/dist/assets/{RewardsRoutes-AUfiOtCj.js → RewardsRoutes-P_7Rwvsn.js} +1 -1
  43. package/dist/assets/{ScheduleDetailsPrepaidExpensesScreen-DhoHikDf.js → ScheduleDetailsPrepaidExpensesScreen-D7v-1M8j.js} +1 -1
  44. package/dist/assets/{ScreenRoutes-CfEzduwn.js → ScreenRoutes-D5MH9SH5.js} +2 -2
  45. package/dist/assets/{SettingsRoutes-DTOWMWw9.js → SettingsRoutes-dfB8V5LJ.js} +1 -1
  46. package/dist/assets/{SetupPagesScreen-gianurSV.js → SetupPagesScreen-CiEvawPy.js} +1 -1
  47. package/dist/assets/{SignInScreen-DE6DoKmD.js → SignInScreen-CvFNfCth.js} +1 -1
  48. package/dist/assets/{SignOutScreen-D9LIjKFn.js → SignOutScreen-m-IPtY4_.js} +1 -1
  49. package/dist/assets/{TaskListScreen-BmcgOAIm.js → TaskListScreen-8Fb8ti00.js} +1 -1
  50. package/dist/assets/{TaskRoutes-DkM_Zzie.js → TaskRoutes-CiBAjLDk.js} +1 -1
  51. package/dist/assets/TransactionDetailRoutes-DgMv2RRC.js +1 -0
  52. package/dist/assets/{TransactionDetailScreen-Ce-oRpAr.js → TransactionDetailScreen-DiUMYJym.js} +1 -1
  53. package/dist/assets/{TransactionListRoutes-CylRSxMs.js → TransactionListRoutes-DIxo91Cd.js} +1 -1
  54. package/dist/assets/{TreasuryRoutes-B6L2qWvE.js → TreasuryRoutes-iyMNrkVz.js} +1 -1
  55. package/dist/assets/{VendorsRoutes-ByRbQjm3.js → VendorsRoutes-Co_zhdIN.js} +1 -1
  56. package/dist/assets/{WiseConfirmationScreen-BnAAqPup.js → WiseConfirmationScreen-DbcfT5oS.js} +1 -1
  57. package/dist/assets/{ZeniAccountRoutes-B_VmtdQ_.js → ZeniAccountRoutes-CtKmgkAm.js} +1 -1
  58. package/dist/assets/{ZeniAccountStatementScreen-D3B6toGi.js → ZeniAccountStatementScreen-hSEFk11y.js} +1 -1
  59. package/dist/assets/{accountMappingHelper-C05BGWXi.js → accountMappingHelper-Dr9MEF3a.js} +1 -1
  60. package/dist/assets/{analytics-CdlFAR7_.js → analytics-Ckbn2qr2.js} +1 -1
  61. package/dist/assets/{analyticsHelper-Ck5nyZDK.js → analyticsHelper-DsmnThaa.js} +1 -1
  62. package/dist/assets/{core-BxGWoVcT.js → core-C1MQ75FC.js} +1 -1
  63. package/dist/assets/{decodeURIComponentSafe-COWOoCD-.js → decodeURIComponentSafe-BkSrHWOz.js} +1 -1
  64. package/dist/assets/{dnd-4QLQvWVu.js → dnd-64pfrglk.js} +1 -1
  65. package/dist/assets/{empty-DTpu2BE3.js → empty-CPYiU0XG.js} +1 -1
  66. package/dist/assets/{empty-CKa69gT2.js → empty-DTjUxrNn.js} +1 -1
  67. package/dist/assets/{emptyVideoElement-CE_3f_HJ.js → emptyVideoElement-lIBGY-aq.js} +1 -1
  68. package/dist/assets/{epic-DoarAhcY.js → epic-Sk9LU7p7.js} +1 -1
  69. package/dist/assets/{expenseAutomationHelper-CY9qPhLr.js → expenseAutomationHelper-VfFbXlTC.js} +1 -1
  70. package/dist/assets/{getLocaleForTenant-BqjAu1V6.js → getLocaleForTenant-B7a_04KB.js} +1 -1
  71. package/dist/assets/{index-ByUkyI1p.js → index-BgIX2Tk5.js} +2 -2
  72. package/dist/assets/{index-BGEGJOhz.js → index-DBaQwW7d.js} +1 -1
  73. package/dist/assets/{index-DKWZmEZ6.js → index-DMDsYekO.js} +7 -7
  74. package/dist/assets/{index-Dp8eQc1C.js → index-Dcy8EwAy.js} +1 -1
  75. package/dist/assets/{index-I0RC_WxM.js → index-Dl0S4JM9.js} +1 -1
  76. package/dist/assets/{index-ClrEdm3Z.js → index-DuTsLjcS.js} +1 -1
  77. package/dist/assets/{index-iq3MsRX8.js → index-RA90NjT0.js} +1 -1
  78. package/dist/assets/{index-CQNQucIy.js → index-fx_VKS0e.js} +1 -1
  79. package/dist/assets/{lexical-DXD9Kn-N.js → lexical-TkcJlpM_.js} +1 -1
  80. package/dist/assets/{liveblocks-SKYC1C2A.js → liveblocks-BF-IiX2V.js} +1 -1
  81. package/dist/assets/{lottie-B7wq19x9.js → lottie-CWNAcXJv.js} +1 -1
  82. package/dist/assets/{mui-KBl5-FbY.js → mui-D4JyxRuO.js} +1 -1
  83. package/dist/assets/{pathToGoBack-YHA3dWdG.js → pathToGoBack-wJzek_Cz.js} +1 -1
  84. package/dist/assets/{pdf-B0ceY1o5.js → pdf-Cj_veg-U.js} +3 -3
  85. package/dist/assets/{pdf-lib-CWPynulQ.js → pdf-lib-LgS50teK.js} +1 -1
  86. package/dist/assets/{plaid-YTuVWNGR.js → plaid-CD2DDkpy.js} +1 -1
  87. package/dist/assets/{pusher-CKqdMamV.js → pusher-CgyD-8gi.js} +1 -1
  88. package/dist/assets/{react-DAKIElX4.js → react-BPkYL230.js} +1 -1
  89. package/dist/assets/{react-CXCp6-Q4.js → react-BhEAmIaW.js} +1 -1
  90. package/dist/assets/{react-Chh3O9yq.js → react-CBd5YUO5.js} +1 -1
  91. package/dist/assets/{react-DuVFeEpk.js → react-DW9umh8L.js} +1 -1
  92. package/dist/assets/{react-C6vdSbOp.js → react-DylygKQb.js} +1 -1
  93. package/dist/assets/{react-CsK9fFr3.js → react-LQ8ewR7F.js} +1 -1
  94. package/dist/assets/{recharts-CflkB2e4.js → recharts-BEOxWuh3.js} +1 -1
  95. package/dist/assets/{routePaths-Z5dkQJU8.js → routePaths-DtiHE0tS.js} +1 -1
  96. package/dist/assets/{sentry-DZfHa7Ie.js → sentry-DQv7eTqs.js} +1 -1
  97. package/dist/assets/{stripSplatSuffix-pcOF7B7F.js → stripSplatSuffix-CF6NUsXZ.js} +1 -1
  98. package/dist/assets/{url-98Mp7WPJ.js → url-BQJem0W5.js} +1 -1
  99. package/dist/assets/{url-HFE8hMjk.js → url-Eifk29FQ.js} +1 -1
  100. package/dist/assets/{useActualMatchingMatchDetail-B1LonM7y.js → useActualMatchingMatchDetail-BAqmIJo_.js} +1 -1
  101. package/dist/assets/{useAiCfoDashboardSuggestedQuestionsChips-C0DuY81W.js → useAiCfoDashboardSuggestedQuestionsChips-yFi8Syac.js} +1 -1
  102. package/dist/assets/{useAskAiCfoHostNavButtonProps-BIY8jQkA.js → useAskAiCfoHostNavButtonProps-BPjVLeQ1.js} +1 -1
  103. package/dist/assets/{useChargeCardPusherEvents-3n5HIVFd.js → useChargeCardPusherEvents-DFAQ6Tan.js} +1 -1
  104. package/dist/assets/{useDeviceId-6zQhAsQ2.js → useDeviceId-BrccfFDF.js} +1 -1
  105. package/dist/assets/{useEmailConnectResultRefresh-CDKbf6Wa.js → useEmailConnectResultRefresh-GEPB7d7i.js} +1 -1
  106. package/dist/assets/{useInitialThreadRequest-DEcIGuME.js → useInitialThreadRequest-B7Oi83EI.js} +1 -1
  107. package/dist/assets/{useTaskManagerAccess-BnFoXekz.js → useTaskManagerAccess-CZ3Xfg1w.js} +1 -1
  108. package/dist/assets/{useTaskManagerPusherEvents-VcaHPnA5.js → useTaskManagerPusherEvents-BPMYVmLa.js} +1 -1
  109. package/dist/assets/{utils-BqbdeqC-.js → utils-G6VVxCSd.js} +1 -1
  110. package/dist/assets/{withTransactionSidePanel-F0u06ceZ.js → withTransactionSidePanel-BNIz03mj.js} +1 -1
  111. package/dist/assets/{zeni-epic-state-C7XRcjyb.js → zeni-epic-state-Dmop9tB7.js} +3 -3
  112. package/dist/index.html +1 -1
  113. package/package.json +2 -2
  114. package/dist/assets/AddressRoutes-B7MK1TKw.js +0 -1
  115. package/dist/assets/CustomerOnboardingAuthScreen-yyUnJxkm.js +0 -1
  116. package/dist/assets/NotFoundScreen-BG7wRKZX.js +0 -1
  117. package/dist/assets/TransactionDetailRoutes-BYam8_IE.js +0 -1
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/zeni-epic-state-C7XRcjyb.js","assets/sentry-DZfHa7Ie.js","assets/core-BxGWoVcT.js","assets/index-ByUkyI1p.js","assets/DefaultTenantHome-COzEbzIO.js","assets/mui-KBl5-FbY.js","assets/getLocaleForTenant-BqjAu1V6.js","assets/analytics-CdlFAR7_.js","assets/utils-BqbdeqC-.js","assets/AppDrawer-CWthlF8n.js","assets/InboxNotificationsProvider-XqYApNHe.js","assets/useTaskManagerAccess-BnFoXekz.js","assets/expenseAutomationHelper-CY9qPhLr.js","assets/ScreenRoutes-CfEzduwn.js","assets/analyticsHelper-Ck5nyZDK.js","assets/ConnectionAuthScreen-Dat6_wbT.js","assets/AccountMappingScreen-jr8NYSf0.js","assets/MobileAppDrawer-BQafCiIm.js","assets/QBOConnectionScreen-DphcQ8vo.js","assets/empty-CKa69gT2.js","assets/index-BGEGJOhz.js","assets/url-HFE8hMjk.js","assets/index-iq3MsRX8.js","assets/decodeURIComponentSafe-COWOoCD-.js","assets/accountMappingHelper-C05BGWXi.js","assets/SignInScreen-DE6DoKmD.js","assets/useDeviceId-6zQhAsQ2.js","assets/MagicLinkSignInScreen-B_zN3L0m.js","assets/NotFoundScreen-BG7wRKZX.js","assets/MagicLinkRoutes-CCEHT5BA.js","assets/PaymentLinkScreen-C1EeaAzl.js","assets/WiseConfirmationScreen-BnAAqPup.js","assets/HubSpotOAuthCallbackScreen-BRU2IAyD.js","assets/CustomerOnboardingAuthScreen-yyUnJxkm.js","assets/SignOutScreen-D9LIjKFn.js","assets/OAuthConsentScreen-BoC0mDLZ.js"])))=>i.map(i=>d[i]);
2
- import{a as m,R as M,b as _5e,e as ysn,p as wse,r as Am,g as jAt,d as Uje,f as bsn,s as Wje,i as wsn,w as Csn,j as vsn,S as Asn,k as Ssn,l as ksn,m as jsn,n as $sn,o as Esn}from"./sentry-DZfHa7Ie.js";import{L as Isn,C as Qje,_ as sh,a as Dsn,b as PN,c as Tsn,d as Jte,e as MN,u as $At,T as Lsn,f as Bsn,g as Psn,h as Msn,i as Osn,k as EAt,l as Fsn,m as Rsn,j as Zt}from"./liveblocks-SKYC1C2A.js";import{f as IAt,r as ka,R as mA,P as Wl,O as zsn,N as DAt,u as Kp,g as d2,h as Xte,i as TAt,j as qr,m as $8e,s as _Z,k as LAt,l as Nsn,n as _sn,o as cp,p as Vsn,B as Hsn}from"./core-BxGWoVcT.js";import{L as Yje,bl as Usn,bm as Wsn,bn as ON,bo as Qsn,bp as Ysn,bq as _s,br as Wt,bs as rL,bt as s3,bu as Gsn,bv as Q7,bw as Rs,bx as qsn,by as Ksn,bz as Zsn,bA as p1,bB as np,bC as fz,bD as a8,bE as pn,bF as BAt,bG as Y1,bH as Sa,bI as tT,bJ as PAt,bK as MAt,bL as E8e,bM as sx,bN as i1,bO as s7,bP as Jsn,bQ as zc,bR as Xsn,bS as aL,bT as eln,bU as tln,bV as VZ,bW as nln,bX as iln,bY as HZ,bZ as oln,b_ as rln,b$ as s8,c0 as Gje,c1 as aln,c2 as sln,c3 as lln,c4 as cln,c5 as dln,c6 as uln,c7 as pln,c8 as l7,c9 as ene,ca as hln,cb as tne,cc as nne,cd as ine,ce as I8e,cf as FN,cg as CS,ch as RN,ci as nT,cj as iT,ck as vS,cl as one,cm as YA,cn as mln,co as qje,cp as gln,cq as fln,cr as xln,cs as yln,ct as OAt,cu as bln,cv as wln,cw as qw,cx as Kje,cy as Cln,cz as vln,cA as Aln,cB as ak,cC as sk,cD as FAt,cE as RAt,cF as D8e,cG as Sln,cH as zAt,cI as kln,cJ as UZ,cK as NAt,cL as jln,cM as _At,cN as $ln,cO as HO,cP as Eln,cQ as Iln,cR as Zje,cS as Dln,cT as T8e,cU as L8e,cV as Tln,cW as Lln,cX as Bln,cY as Pln,cZ as DV,c_ as oT,c$ as TV,d0 as Mln,d1 as Oln,d2 as VAt,d3 as Fln,d4 as Rln,d5 as zln,d6 as Nln,d7 as _ln,d8 as HAt,d9 as Jje,da as Vln,db as B8e,dc as Hln,dd as Uln,de as Wln,df as UAt,dg as gu,dh as Gl,di as rne,dj as Qln,dk as Yln,dl as N1,dm as WAt,dn as Gln,dp as xz,dq as GA,dr as Ys,ds as Xje,dt as qln,du as Kln,dv as Zln,dw as QAt,dx as P8e,dy as LV,dz as YAt,dA as Mg,dB as Jln,dC as Xln,dD as ecn,dE as tcn,dF as ncn,dG as icn,dH as ocn,dI as rcn,dJ as BV,dK as AS,dL as ane,dM as acn,dN as scn,dO as lk,dP as G1,dQ as GAt,dR as qAt,dS as lcn,dT as KAt,dU as ccn,dV as dcn,dW as ucn,dX as pcn,dY as sL,dZ as M8e,d_ as O8e,d$ as hcn,e0 as F8e,e1 as ZAt,e2 as JAt,e3 as XAt,e4 as eSt,e5 as tSt,e6 as nSt,e7 as mcn,_ as Md,e8 as lL,e9 as gcn,ea as e$e,eb as sne,ec as fcn,ed as xcn,ee as iSt,ef as ycn,eg as YF,eh as Mm,ei as c7,ej as oSt,ek as rSt,el as bcn,em as aSt,en as V5e,eo as wcn,ep as tK,eq as Ccn,er as vcn,es as Acn,et as Scn,eu as kcn,ev as sSt,ew as lSt,ex as jcn,ey as $cn,ez as cSt,eA as GF,eB as qF,eC as dSt,eD as Ecn,eE as Icn,eF as Dcn,eG as Tcn,eH as R8e,eI as uSt,eJ as pSt,eK as z8e,eL as cL,eM as lne,eN as N8e,eO as _8e,eP as V8e,eQ as H8e,eR as Lcn,eS as Bcn,eT as hSt,eU as t$e,eV as Pcn,eW as U8e,eX as Mcn,eY as Ocn,eZ as q1,e_ as Fcn,e$ as cne,f0 as mSt,f1 as gSt,f2 as Rcn,f3 as W8e,f4 as Q8e,f5 as zcn,f6 as Ncn,f7 as _cn,f8 as Vcn,f9 as Hcn,fa as Zg,fb as n$e,fc as fSt,fd as Ucn,fe as Wcn,ff as Qcn,fg as xSt,fh as ySt,fi as bSt,fj as wSt,fk as CSt,fl as vSt,fm as Ycn,fn as rT,fo as Gcn,fp as qcn,fq as Kcn,fr as Zcn,fs as ASt,ft as SSt,fu as i$e,fv as o$e,fw as Jcn,fx as Xcn,fy as r$e,fz as a$e,fA as edn,fB as tdn,fC as H5e,fD as ndn,v as idn,fE as dne,fF as xm,fG as kSt,fH as jSt,fI as odn,fJ as rdn,fK as s$e,fL as adn,fM as sdn,fN as ldn,fO as cdn,fP as ddn,fQ as udn,fR as pdn,fS as hdn,fT as mdn,fU as gdn,fV as fdn,fW as xdn,fX as ydn,fY as bdn,fZ as wdn,f_ as Cdn,f$ as vdn,g0 as Adn,g1 as Sdn,g2 as l$e,g3 as kdn,g4 as jdn,g5 as $dn,g6 as Edn,g7 as Idn,g8 as $St,g9 as une,ga as Y8e,gb as ESt,gc as Ddn,gd as Tdn,ge as Ldn,gf as ISt,gg as c$e,gh as DSt,gi as TSt,gj as Bdn,gk as LSt,gl as BSt,gm as Pdn,gn as Mdn,go as U5e,gp as Odn,gq as KF,gr as Fdn,gs as Rdn,gt as zdn,gu as Ndn,gv as _dn,gw as Vdn,gx as Hdn,gy as Udn,gz as Wdn,gA as Qdn,gB as Ydn,gC as Gdn,gD as PSt,gE as qdn,gF as Kdn,gG as Zdn,gH as d$e,gI as Jdn,gJ as Xdn,gK as eun,gL as tun,gM as nun,gN as iun,gO as MSt,gP as OSt,gQ as oun,gR as FSt,gS as run,gT as aun,gU as W5e,gV as sun,gW as lun,gX as cun,gY as dun,gZ as uun,g_ as pun,g$ as u$e,h0 as hun,h1 as mun,h2 as gun}from"./zeni-epic-state-C7XRcjyb.js";import{n as a,T as RSt,G as zN,j as Do,c as De,k as ii,C as zSt,u as fun,D as NSt,S as _St,a as xun}from"./mui-KBl5-FbY.js";import{r as yun,m as jg}from"./analytics-CdlFAR7_.js";import{u as op}from"./plaid-YTuVWNGR.js";import{D as G8e,H as pne,g as bun,O as wun,S as Cun,T as vun,u as q8e,a as K8e,b as Aun}from"./dnd-4QLQvWVu.js";import{l as Z8e}from"./stripe-cKAAJElX.js";import{L as hD}from"./lottie-B7wq19x9.js";import{r as ld}from"./lexical-DXD9Kn-N.js";import{D as Q5e,P as Y5e,_ as VSt,a as HSt}from"./pdf-B0ceY1o5.js";import{R as SS,G as l8,H as th,X as Jl,Y as Pl,I as Td,J as c8,K as F8,L as qA,M as ep,N as dL,O as USt,P as Sun,Q as kun,S as hne,U as jun,V as J8e,W as $un,Z as Eun,_ as Iun,d as Dun}from"./recharts-CflkB2e4.js";import{r as Tun,n as p$e}from"./utils-BqbdeqC-.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},n=new e.Error().stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="3d5e7975-7475-4fb0-b051-2a0d354b75a7",e._sentryDebugIdIdentifier="sentry-dbid-3d5e7975-7475-4fb0-b051-2a0d354b75a7")}catch{}})();(function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver((i=>{for(const r of i)if(r.type==="childList")for(const s of r.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&n(s)})).observe(document,{childList:!0,subtree:!0})}function n(i){if(i.ep)return;i.ep=!0;const r=(function(s){const l={};return s.integrity&&(l.integrity=s.integrity),s.referrerPolicy&&(l.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?l.credentials="include":s.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l})(i);fetch(i.href,r)}})();var h$e,PV={},Lun=(function(){if(h$e)return PV;h$e=1;var e=IAt();return PV.createRoot=e.createRoot,PV.hydrateRoot=e.hydrateRoot,PV})(),cm=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof _5e<"u"?_5e:typeof self<"u"?self:{};function yr(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var m$e,g$e,f$e={exports:{}},gB={};function WSt(){return g$e||(g$e=1,f$e.exports=(function(){if(m$e)return gB;m$e=1;var e=M,n=Symbol.for("react.element"),i=Symbol.for("react.fragment"),r=Object.prototype.hasOwnProperty,s=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};function c(d,u,p){var h,g={},f=null,x=null;for(h in p!==void 0&&(f=""+p),u.key!==void 0&&(f=""+u.key),u.ref!==void 0&&(x=u.ref),u)r.call(u,h)&&!l.hasOwnProperty(h)&&(g[h]=u[h]);if(d&&d.defaultProps)for(h in u=d.defaultProps)g[h]===void 0&&(g[h]=u[h]);return{$$typeof:n,type:d,key:f,ref:x,props:g,_owner:s.current}}return gB.Fragment=i,gB.jsx=c,gB.jsxs=c,gB})()),f$e.exports}var t=WSt();const Bun=m.createContext(null),Cse={didCatch:!1,error:null};let Pun=class extends m.Component{constructor(e){super(e),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=Cse}static getDerivedStateFromError(e){return{didCatch:!0,error:e}}resetErrorBoundary(){const{error:e}=this.state;if(e!==null){for(var n,i,r=arguments.length,s=new Array(r),l=0;l<r;l++)s[l]=arguments[l];(n=(i=this.props).onReset)===null||n===void 0||n.call(i,{args:s,reason:"imperative-api"}),this.setState(Cse)}}componentDidCatch(e,n){var i,r;(i=(r=this.props).onError)===null||i===void 0||i.call(r,e,n)}componentDidUpdate(e,n){const{didCatch:i}=this.state,{resetKeys:r}=this.props;var s,l;i&&n.error!==null&&(function(){let c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return c.length!==d.length||c.some(((u,p)=>!Object.is(u,d[p])))})(e.resetKeys,r)&&((s=(l=this.props).onReset)===null||s===void 0||s.call(l,{next:r,prev:e.resetKeys,reason:"keys"}),this.setState(Cse))}render(){const{children:e,fallbackRender:n,FallbackComponent:i,fallback:r}=this.props,{didCatch:s,error:l}=this.state;let c=e;if(s){const d={error:l,resetErrorBoundary:this.resetErrorBoundary};if(typeof n=="function")c=n(d);else if(i)c=m.createElement(i,d);else{if(r===void 0)throw l;c=r}}return m.createElement(Bun.Provider,{value:{didCatch:s,error:l,resetErrorBoundary:this.resetErrorBoundary}},c)}};var x$e,vse={exports:{}},Ase,Mun=(x$e||(x$e=1,Ase=vse,(function(e,n){Ase.exports?Ase.exports=n():e.numeral=n()})(vse.exports,(function(){var e,n,i,r,s,l={},c={},d={currentLocale:"en",zeroFormat:null,nullFormat:null,defaultFormat:"0,0",scalePercentBy100:!0},u={currentLocale:d.currentLocale,zeroFormat:d.zeroFormat,nullFormat:d.nullFormat,defaultFormat:d.defaultFormat,scalePercentBy100:d.scalePercentBy100};function p(h,g){this._input=h,this._value=g}return e=function(h){var g,f,x,y;if(e.isNumeral(h))g=h.value();else if(h===0||typeof h>"u")g=0;else if(h===null||n.isNaN(h))g=null;else if(typeof h=="string")if(u.zeroFormat&&h===u.zeroFormat)g=0;else if(u.nullFormat&&h===u.nullFormat||!h.replace(/[^0-9]+/g,"").length)g=null;else{for(f in l)if((y=typeof l[f].regexps.unformat=="function"?l[f].regexps.unformat():l[f].regexps.unformat)&&h.match(y)){x=l[f].unformat;break}g=(x=x||e._.stringToNumber)(h)}else g=Number(h)||null;return new p(h,g)},e.version="2.0.6",e.isNumeral=function(h){return h instanceof p},e._=n={numberToFormat:function(h,g,f){var x,y,b,w,C,v,A,S,$=c[e.options.currentLocale],j=!1,I=!1,E="",D=1e12,B=1e9,F=1e6,R="",_=!1;if(h=h||0,b=Math.abs(h),e._.includes(g,"(")?(j=!0,g=g.replace(/[\(|\)]/g,"")):(e._.includes(g,"+")||e._.includes(g,"-"))&&(v=e._.includes(g,"+")?g.indexOf("+"):h<0?g.indexOf("-"):-1,g=g.replace(/[\+|\-]/g,"")),e._.includes(g,"a")&&(y=!!(y=g.match(/a(k|m|b|t)?/))&&y[1],e._.includes(g," a")&&(E=" "),g=g.replace(new RegExp(E+"a[kmbt]?"),""),b>=D&&!y||y==="t"?(E+=$.abbreviations.trillion,h/=D):b<D&&b>=B&&!y||y==="b"?(E+=$.abbreviations.billion,h/=B):b<B&&b>=F&&!y||y==="m"?(E+=$.abbreviations.million,h/=F):(b<F&&b>=1e3&&!y||y==="k")&&(E+=$.abbreviations.thousand,h/=1e3)),e._.includes(g,"[.]")&&(I=!0,g=g.replace("[.]",".")),w=h.toString().split(".")[0],C=g.split(".")[1],A=g.indexOf(","),x=(g.split(".")[0].split(",")[0].match(/0/g)||[]).length,C?(e._.includes(C,"[")?(C=(C=C.replace("]","")).split("["),R=e._.toFixed(h,C[0].length+C[1].length,f,C[1].length)):R=e._.toFixed(h,C.length,f),w=R.split(".")[0],R=e._.includes(R,".")?$.delimiters.decimal+R.split(".")[1]:"",I&&Number(R.slice(1))===0&&(R="")):w=e._.toFixed(h,0,f),E&&!y&&Number(w)>=1e3&&E!==$.abbreviations.trillion)switch(w=String(Number(w)/1e3),E){case $.abbreviations.thousand:E=$.abbreviations.million;break;case $.abbreviations.million:E=$.abbreviations.billion;break;case $.abbreviations.billion:E=$.abbreviations.trillion}if(e._.includes(w,"-")&&(w=w.slice(1),_=!0),w.length<x)for(var N=x-w.length;N>0;N--)w="0"+w;return A>-1&&(w=w.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1"+$.delimiters.thousands)),g.indexOf(".")===0&&(w=""),S=w+R+(E||""),j?S=(j&&_?"(":"")+S+(j&&_?")":""):v>=0?S=v===0?(_?"-":"+")+S:S+(_?"-":"+"):_&&(S="-"+S),S},stringToNumber:function(h){var g,f,x,y=c[u.currentLocale],b=h,w={thousand:3,million:6,billion:9,trillion:12};if(u.zeroFormat&&h===u.zeroFormat)f=0;else if(u.nullFormat&&h===u.nullFormat||!h.replace(/[^0-9]+/g,"").length)f=null;else{for(g in f=1,y.delimiters.decimal!=="."&&(h=h.replace(/\./g,"").replace(y.delimiters.decimal,".")),w)if(x=new RegExp("[^a-zA-Z]"+y.abbreviations[g]+"(?:\\)|(\\"+y.currency.symbol+")?(?:\\))?)?$"),b.match(x)){f*=Math.pow(10,w[g]);break}f*=(h.split("-").length+Math.min(h.split("(").length-1,h.split(")").length-1))%2?1:-1,h=h.replace(/[^0-9\.]+/g,""),f*=Number(h)}return f},isNaN:function(h){return typeof h=="number"&&isNaN(h)},includes:function(h,g){return h.indexOf(g)!==-1},insert:function(h,g,f){return h.slice(0,f)+g+h.slice(f)},reduce:function(h,g){if(this===null)throw new TypeError("Array.prototype.reduce called on null or undefined");if(typeof g!="function")throw new TypeError(g+" is not a function");var f,x=Object(h),y=x.length>>>0,b=0;if(arguments.length===3)f=arguments[2];else{for(;b<y&&!(b in x);)b++;if(b>=y)throw new TypeError("Reduce of empty array with no initial value");f=x[b++]}for(;b<y;b++)b in x&&(f=g(f,x[b],b,x));return f},multiplier:function(h){var g=h.toString().split(".");return g.length<2?1:Math.pow(10,g[1].length)},correctionFactor:function(){return Array.prototype.slice.call(arguments).reduce((function(h,g){var f=n.multiplier(g);return h>f?h:f}),1)},toFixed:function(h,g,f,x){var y,b,w,C,v=h.toString().split("."),A=g-(x||0);return y=v.length===2?Math.min(Math.max(v[1].length,A),g):A,w=Math.pow(10,y),C=(f(h+"e+"+y)/w).toFixed(y),x>g-y&&(b=new RegExp("\\.?0{1,"+(x-(g-y))+"}$"),C=C.replace(b,"")),C}},e.options=u,e.formats=l,e.locales=c,e.locale=function(h){return h&&(u.currentLocale=h.toLowerCase()),u.currentLocale},e.localeData=function(h){if(!h)return c[u.currentLocale];if(h=h.toLowerCase(),!c[h])throw new Error("Unknown locale : "+h);return c[h]},e.reset=function(){for(var h in d)u[h]=d[h]},e.zeroFormat=function(h){u.zeroFormat=typeof h=="string"?h:null},e.nullFormat=function(h){u.nullFormat=typeof h=="string"?h:null},e.defaultFormat=function(h){u.defaultFormat=typeof h=="string"?h:"0.0"},e.register=function(h,g,f){if(g=g.toLowerCase(),this[h+"s"][g])throw new TypeError(g+" "+h+" already registered.");return this[h+"s"][g]=f,f},e.validate=function(h,g){var f,x,y,b,w,C,v,A;if(typeof h!="string"&&(h+="",console.warn&&console.warn("Numeral.js: Value is not string. It has been co-erced to: ",h)),(h=h.trim()).match(/^\d+$/))return!0;if(h==="")return!1;try{v=e.localeData(g)}catch{v=e.localeData(e.locale())}return y=v.currency.symbol,w=v.abbreviations,f=v.delimiters.decimal,x=v.delimiters.thousands==="."?"\\.":v.delimiters.thousands,!((A=h.match(/^[^\d]+/))!==null&&(h=h.substr(1),A[0]!==y)||(A=h.match(/[^\d]+$/))!==null&&(h=h.slice(0,-1),A[0]!==w.thousand&&A[0]!==w.million&&A[0]!==w.billion&&A[0]!==w.trillion)||(C=new RegExp(x+"{2}"),h.match(/[^\d.,]/g)||(b=h.split(f)).length>2||(b.length<2?!b[0].match(/^\d+.*\d$/)||b[0].match(C):b[0].length===1?!b[0].match(/^\d+$/)||b[0].match(C)||!b[1].match(/^\d+$/):!b[0].match(/^\d+.*\d$/)||b[0].match(C)||!b[1].match(/^\d+$/))))},e.fn=p.prototype={clone:function(){return e(this)},format:function(h,g){var f,x,y,b=this._value,w=h||u.defaultFormat;if(g=g||Math.round,b===0&&u.zeroFormat!==null)x=u.zeroFormat;else if(b===null&&u.nullFormat!==null)x=u.nullFormat;else{for(f in l)if(w.match(l[f].regexps.format)){y=l[f].format;break}x=(y=y||e._.numberToFormat)(b,w,g)}return x},value:function(){return this._value},input:function(){return this._input},set:function(h){return this._value=Number(h),this},add:function(h){var g=n.correctionFactor.call(null,this._value,h);return this._value=n.reduce([this._value,h],(function(f,x,y,b){return f+Math.round(g*x)}),0)/g,this},subtract:function(h){var g=n.correctionFactor.call(null,this._value,h);return this._value=n.reduce([h],(function(f,x,y,b){return f-Math.round(g*x)}),Math.round(this._value*g))/g,this},multiply:function(h){return this._value=n.reduce([this._value,h],(function(g,f,x,y){var b=n.correctionFactor(g,f);return Math.round(g*b)*Math.round(f*b)/Math.round(b*b)}),1),this},divide:function(h){return this._value=n.reduce([this._value,h],(function(g,f,x,y){var b=n.correctionFactor(g,f);return Math.round(g*b)/Math.round(f*b)})),this},difference:function(h){return Math.abs(e(this._value).subtract(h).value())}},e.register("locale","en",{delimiters:{thousands:",",decimal:"."},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(h){var g=h%10;return~~(h%100/10)==1?"th":g===1?"st":g===2?"nd":g===3?"rd":"th"},currency:{symbol:"$"}}),e.register("format","bps",{regexps:{format:/(BPS)/,unformat:/(BPS)/},format:function(h,g,f){var x,y=e._.includes(g," BPS")?" ":"";return h*=1e4,g=g.replace(/\s?BPS/,""),x=e._.numberToFormat(h,g,f),e._.includes(x,")")?((x=x.split("")).splice(-1,0,y+"BPS"),x=x.join("")):x=x+y+"BPS",x},unformat:function(h){return+(1e-4*e._.stringToNumber(h)).toFixed(15)}}),r={base:1024,suffixes:["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"]},s="("+(s=(i={base:1e3,suffixes:["B","KB","MB","GB","TB","PB","EB","ZB","YB"]}).suffixes.concat(r.suffixes.filter((function(h){return i.suffixes.indexOf(h)<0}))).join("|")).replace("B","B(?!PS)")+")",e.register("format","bytes",{regexps:{format:/([0\s]i?b)/,unformat:new RegExp(s)},format:function(h,g,f){var x,y,b,w=e._.includes(g,"ib")?r:i,C=e._.includes(g," b")||e._.includes(g," ib")?" ":"";for(g=g.replace(/\s?i?b/,""),x=0;x<=w.suffixes.length;x++)if(y=Math.pow(w.base,x),b=Math.pow(w.base,x+1),h===null||h===0||h>=y&&h<b){C+=w.suffixes[x],y>0&&(h/=y);break}return e._.numberToFormat(h,g,f)+C},unformat:function(h){var g,f,x=e._.stringToNumber(h);if(x){for(g=i.suffixes.length-1;g>=0;g--){if(e._.includes(h,i.suffixes[g])){f=Math.pow(i.base,g);break}if(e._.includes(h,r.suffixes[g])){f=Math.pow(r.base,g);break}}x*=f||1}return x}}),e.register("format","currency",{regexps:{format:/(\$)/},format:function(h,g,f){var x,y,b,w=e.locales[e.options.currentLocale],C={before:g.match(/^([\+|\-|\(|\s|\$]*)/)[0],after:g.match(/([\+|\-|\)|\s|\$]*)$/)[0]};for(g=g.replace(/\s?\$\s?/,""),x=e._.numberToFormat(h,g,f),h>=0?(C.before=C.before.replace(/[\-\(]/,""),C.after=C.after.replace(/[\-\)]/,"")):h<0&&!e._.includes(C.before,"-")&&!e._.includes(C.before,"(")&&(C.before="-"+C.before),b=0;b<C.before.length;b++)switch(y=C.before[b],y){case"$":x=e._.insert(x,w.currency.symbol,b);break;case" ":x=e._.insert(x," ",b+w.currency.symbol.length-1)}for(b=C.after.length-1;b>=0;b--)switch(y=C.after[b],y){case"$":x=b===C.after.length-1?x+w.currency.symbol:e._.insert(x,w.currency.symbol,-(C.after.length-(1+b)));break;case" ":x=b===C.after.length-1?x+" ":e._.insert(x," ",-(C.after.length-(1+b)+w.currency.symbol.length-1))}return x}}),e.register("format","exponential",{regexps:{format:/(e\+|e-)/,unformat:/(e\+|e-)/},format:function(h,g,f){var x=(typeof h!="number"||e._.isNaN(h)?"0e+0":h.toExponential()).split("e");return g=g.replace(/e[\+|\-]{1}0/,""),e._.numberToFormat(Number(x[0]),g,f)+"e"+x[1]},unformat:function(h){var g=e._.includes(h,"e+")?h.split("e+"):h.split("e-"),f=Number(g[0]),x=Number(g[1]);return x=e._.includes(h,"e-")?x*=-1:x,e._.reduce([f,Math.pow(10,x)],(function(y,b,w,C){var v=e._.correctionFactor(y,b);return y*v*(b*v)/(v*v)}),1)}}),e.register("format","ordinal",{regexps:{format:/(o)/},format:function(h,g,f){var x=e.locales[e.options.currentLocale],y=e._.includes(g," o")?" ":"";return g=g.replace(/\s?o/,""),y+=x.ordinal(h),e._.numberToFormat(h,g,f)+y}}),e.register("format","percentage",{regexps:{format:/(%)/,unformat:/(%)/},format:function(h,g,f){var x,y=e._.includes(g," %")?" ":"";return e.options.scalePercentBy100&&(h*=100),g=g.replace(/\s?\%/,""),x=e._.numberToFormat(h,g,f),e._.includes(x,")")?((x=x.split("")).splice(-1,0,y+"%"),x=x.join("")):x=x+y+"%",x},unformat:function(h){var g=e._.stringToNumber(h);return e.options.scalePercentBy100?.01*g:g}}),e.register("format","time",{regexps:{format:/(:)/,unformat:/(:)/},format:function(h,g,f){var x=Math.floor(h/60/60),y=Math.floor((h-60*x*60)/60),b=Math.round(h-60*x*60-60*y);return x+":"+(y<10?"0"+y:y)+":"+(b<10?"0"+b:b)},unformat:function(h){var g=h.split(":"),f=0;return g.length===3?(f+=60*Number(g[0])*60,f+=60*Number(g[1]),f+=Number(g[2])):g.length===2&&(f+=60*Number(g[0]),f+=Number(g[1])),Number(f)}}),e}))),vse.exports);const Rf=yr(Mun);function L7(e,...n){const i=new URL(`https://mui.com/production-error/?code=${e}`);return n.forEach((r=>i.searchParams.append("args[]",r))),`Minified MUI error #${e}; visit ${i} for the full message.`}const v7="$$material";var Oun={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,scale:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1};function Fun(e){var n=Object.create(null);return function(i){return n[i]===void 0&&(n[i]=e(i)),n[i]}}var Run=/[A-Z]|^ms/g,zun=/_EMO_([^_]+?)_([^]*?)_EMO_/g,QSt=function(e){return e.charCodeAt(1)===45},y$e=function(e){return e!=null&&typeof e!="boolean"},Sse=Fun((function(e){return QSt(e)?e:e.replace(Run,"-$&").toLowerCase()})),b$e=function(e,n){switch(e){case"animation":case"animationName":if(typeof n=="string")return n.replace(zun,(function(i,r,s){return I9={name:r,styles:s,next:I9},r}))}return Oun[e]===1||QSt(e)||typeof n!="number"||n===0?n:n+"px"};function WZ(e,n,i){if(i==null)return"";var r=i;if(r.__emotion_styles!==void 0)return r;switch(typeof i){case"boolean":return"";case"object":var s=i;if(s.anim===1)return I9={name:s.name,styles:s.styles,next:I9},s.name;var l=i;if(l.styles!==void 0){var c=l.next;if(c!==void 0)for(;c!==void 0;)I9={name:c.name,styles:c.styles,next:I9},c=c.next;return l.styles+";"}return(function(d,u,p){var h="";if(Array.isArray(p))for(var g=0;g<p.length;g++)h+=WZ(d,u,p[g])+";";else for(var f in p){var x=p[f];if(typeof x!="object"){var y=x;y$e(y)&&(h+=Sse(f)+":"+b$e(f,y)+";")}else if(Array.isArray(x)&&typeof x[0]=="string"&&u==null)for(var b=0;b<x.length;b++)y$e(x[b])&&(h+=Sse(f)+":"+b$e(f,x[b])+";");else{var w=WZ(d,u,x);switch(f){case"animation":case"animationName":h+=Sse(f)+":"+w+";";break;default:h+=f+"{"+w+"}"}}}return h})(e,n,i)}return i}var I9,w$e=/label:\s*([^\s;{]+)\s*(;|$)/g,C$e,v$e,A$e,S$e,k$e,j$e={exports:{}};function Nun(){return v$e?C$e:(v$e=1,C$e="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}function _un(){if(S$e)return A$e;S$e=1;var e=Nun();function n(){}function i(){}return i.resetWarningCache=n,A$e=function(){function r(c,d,u,p,h,g){if(g!==e){var f=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw f.name="Invariant Violation",f}}function s(){return r}r.isRequired=r;var l={array:r,bigint:r,bool:r,func:r,number:r,object:r,string:r,symbol:r,any:r,arrayOf:s,element:r,elementType:r,instanceOf:s,node:r,objectOf:s,oneOf:s,oneOfType:s,shape:s,exact:s,checkPropTypes:i,resetWarningCache:n};return l.PropTypes=l,l}}function X8e(){return k$e||(k$e=1,j$e.exports=_un()()),j$e.exports}const _n=yr(X8e());var Vun=(function(){function e(i){var r=this;this._insertTag=function(s){var l;l=r.tags.length===0?r.insertionPoint?r.insertionPoint.nextSibling:r.prepend?r.container.firstChild:r.before:r.tags[r.tags.length-1].nextSibling,r.container.insertBefore(s,l),r.tags.push(s)},this.isSpeedy=i.speedy===void 0||i.speedy,this.tags=[],this.ctr=0,this.nonce=i.nonce,this.key=i.key,this.container=i.container,this.prepend=i.prepend,this.insertionPoint=i.insertionPoint,this.before=null}var n=e.prototype;return n.hydrate=function(i){i.forEach(this._insertTag)},n.insert=function(i){this.ctr%(this.isSpeedy?65e3:1)==0&&this._insertTag((function(l){var c=document.createElement("style");return c.setAttribute("data-emotion",l.key),l.nonce!==void 0&&c.setAttribute("nonce",l.nonce),c.appendChild(document.createTextNode("")),c.setAttribute("data-s",""),c})(this));var r=this.tags[this.tags.length-1];if(this.isSpeedy){var s=(function(l){if(l.sheet)return l.sheet;for(var c=0;c<document.styleSheets.length;c++)if(document.styleSheets[c].ownerNode===l)return document.styleSheets[c]})(r);try{s.insertRule(i,s.cssRules.length)}catch{}}else r.appendChild(document.createTextNode(i));this.ctr++},n.flush=function(){this.tags.forEach((function(i){var r;return(r=i.parentNode)==null?void 0:r.removeChild(i)})),this.tags=[],this.ctr=0},e})(),D1="-ms-",$$e="-moz-",es="-webkit-",YSt="comm",ewe="rule",twe="decl",GSt="@keyframes",Hun=Math.abs,mne=String.fromCharCode,Uun=Object.assign;function qSt(e){return e.trim()}function ns(e,n,i){return e.replace(n,i)}function G5e(e,n){return e.indexOf(n)}function qu(e,n){return 0|e.charCodeAt(n)}function yz(e,n,i){return e.slice(n,i)}function c5(e){return e.length}function nwe(e){return e.length}function MV(e,n){return n.push(e),e}var gne=1,aT=1,KSt=0,ym=0,ed=0,uL="";function fne(e,n,i,r,s,l,c){return{value:e,root:n,parent:i,type:r,props:s,children:l,line:gne,column:aT,length:c,return:""}}function fB(e,n){return Uun(fne("",null,null,"",null,null,0),e,{length:-e.length},n)}function S0(){return ed=ym<KSt?qu(uL,ym++):0,aT++,ed===10&&(aT=1,gne++),ed}function K5(){return qu(uL,ym)}function nK(){return ym}function NN(e,n){return yz(uL,e,n)}function bz(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function ZSt(e){return gne=aT=1,KSt=c5(uL=e),ym=0,[]}function JSt(e){return uL="",e}function iK(e){return qSt(NN(ym-1,q5e(e===91?e+2:e===40?e+1:e)))}function Wun(e){for(;(ed=K5())&&ed<33;)S0();return bz(e)>2||bz(ed)>3?"":" "}function Qun(e,n){for(;--n&&S0()&&!(ed<48||ed>102||ed>57&&ed<65||ed>70&&ed<97););return NN(e,nK()+(n<6&&K5()==32&&S0()==32))}function q5e(e){for(;S0();)switch(ed){case e:return ym;case 34:case 39:e!==34&&e!==39&&q5e(ed);break;case 40:e===41&&q5e(e);break;case 92:S0()}return ym}function Yun(e,n){for(;S0()&&e+ed!==57&&(e+ed!==84||K5()!==47););return"/*"+NN(n,ym-1)+"*"+mne(e===47?e:S0())}function Gun(e){for(;!bz(K5());)S0();return NN(e,ym)}function qun(e){return JSt(oK("",null,null,null,[""],e=ZSt(e),0,[0],e))}function oK(e,n,i,r,s,l,c,d,u){for(var p=0,h=0,g=c,f=0,x=0,y=0,b=1,w=1,C=1,v=0,A="",S=s,$=l,j=r,I=A;w;)switch(y=v,v=S0()){case 40:if(y!=108&&qu(I,g-1)==58){G5e(I+=ns(iK(v),"&","&\f"),"&\f")!=-1&&(C=-1);break}case 34:case 39:case 91:I+=iK(v);break;case 9:case 10:case 13:case 32:I+=Wun(y);break;case 92:I+=Qun(nK()-1,7);continue;case 47:switch(K5()){case 42:case 47:MV(Kun(Yun(S0(),nK()),n,i),u);break;default:I+="/"}break;case 123*b:d[p++]=c5(I)*C;case 125*b:case 59:case 0:switch(v){case 0:case 125:w=0;case 59+h:C==-1&&(I=ns(I,/\f/g,"")),x>0&&c5(I)-g&&MV(x>32?I$e(I+";",r,i,g-1):I$e(ns(I," ","")+";",r,i,g-2),u);break;case 59:I+=";";default:if(MV(j=E$e(I,n,i,p,h,s,d,A,S=[],$=[],g),l),v===123)if(h===0)oK(I,n,j,j,S,l,g,d,$);else switch(f===99&&qu(I,3)===110?100:f){case 100:case 108:case 109:case 115:oK(e,j,j,r&&MV(E$e(e,j,j,0,0,s,d,A,s,S=[],g),$),s,$,g,d,r?S:$);break;default:oK(I,j,j,j,[""],$,0,d,$)}}p=h=x=0,b=C=1,A=I="",g=c;break;case 58:g=1+c5(I),x=y;default:if(b<1){if(v==123)--b;else if(v==125&&b++==0&&(ed=ym>0?qu(uL,--ym):0,aT--,ed===10&&(aT=1,gne--),ed==125))continue}switch(I+=mne(v),v*b){case 38:C=h>0?1:(I+="\f",-1);break;case 44:d[p++]=(c5(I)-1)*C,C=1;break;case 64:K5()===45&&(I+=iK(S0())),f=K5(),h=g=c5(A=I+=Gun(nK())),v++;break;case 45:y===45&&c5(I)==2&&(b=0)}}return l}function E$e(e,n,i,r,s,l,c,d,u,p,h){for(var g=s-1,f=s===0?l:[""],x=nwe(f),y=0,b=0,w=0;y<r;++y)for(var C=0,v=yz(e,g+1,g=Hun(b=c[y])),A=e;C<x;++C)(A=qSt(b>0?f[C]+" "+v:ns(v,/&\f/g,f[C])))&&(u[w++]=A);return fne(e,n,i,s===0?ewe:d,u,p,h)}function Kun(e,n,i){return fne(e,n,i,YSt,mne(ed),yz(e,2,-2),0)}function I$e(e,n,i,r){return fne(e,n,i,twe,yz(e,0,r),yz(e,r+1,-1),r)}function mD(e,n){for(var i="",r=nwe(e),s=0;s<r;s++)i+=n(e[s],s,e,n)||"";return i}function Zun(e,n,i,r){switch(e.type){case"@layer":if(e.children.length)break;case"@import":case twe:return e.return=e.return||e.value;case YSt:return"";case GSt:return e.return=e.value+"{"+mD(e.children,r)+"}";case ewe:e.value=e.props.join(",")}return c5(i=mD(e.children,r))?e.return=e.value+"{"+i+"}":""}function Jun(e){return function(n){n.root||(n=n.return)&&e(n)}}var Xun=function(e,n,i){for(var r=0,s=0;r=s,s=K5(),r===38&&s===12&&(n[i]=1),!bz(s);)S0();return NN(e,ym)},e1n=function(e,n){return JSt((function(i,r){var s=-1,l=44;do switch(bz(l)){case 0:l===38&&K5()===12&&(r[s]=1),i[s]+=Xun(ym-1,r,s);break;case 2:i[s]+=iK(l);break;case 4:if(l===44){i[++s]=K5()===58?"&\f":"",r[s]=i[s].length;break}default:i[s]+=mne(l)}while(l=S0());return i})(ZSt(e),n))},D$e=new WeakMap,t1n=function(e){if(e.type==="rule"&&e.parent&&!(e.length<1)){for(var n=e.value,i=e.parent,r=e.column===i.column&&e.line===i.line;i.type!=="rule";)if(!(i=i.parent))return;if((e.props.length!==1||n.charCodeAt(0)===58||D$e.get(i))&&!r){D$e.set(e,!0);for(var s=[],l=e1n(n,s),c=i.props,d=0,u=0;d<l.length;d++)for(var p=0;p<c.length;p++,u++)e.props[u]=s[d]?l[d].replace(/&\f/g,c[p]):c[p]+" "+l[d]}}},n1n=function(e){if(e.type==="decl"){var n=e.value;n.charCodeAt(0)===108&&n.charCodeAt(2)===98&&(e.return="",e.value="")}};function XSt(e,n){switch((function(i,r){return 45^qu(i,0)?(((r<<2^qu(i,0))<<2^qu(i,1))<<2^qu(i,2))<<2^qu(i,3):0})(e,n)){case 5103:return es+"print-"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return es+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return es+e+$$e+e+D1+e+e;case 6828:case 4268:return es+e+D1+e+e;case 6165:return es+e+D1+"flex-"+e+e;case 5187:return es+e+ns(e,/(\w+).+(:[^]+)/,es+"box-$1$2"+D1+"flex-$1$2")+e;case 5443:return es+e+D1+"flex-item-"+ns(e,/flex-|-self/,"")+e;case 4675:return es+e+D1+"flex-line-pack"+ns(e,/align-content|flex-|-self/,"")+e;case 5548:return es+e+D1+ns(e,"shrink","negative")+e;case 5292:return es+e+D1+ns(e,"basis","preferred-size")+e;case 6060:return es+"box-"+ns(e,"-grow","")+es+e+D1+ns(e,"grow","positive")+e;case 4554:return es+ns(e,/([^-])(transform)/g,"$1"+es+"$2")+e;case 6187:return ns(ns(ns(e,/(zoom-|grab)/,es+"$1"),/(image-set)/,es+"$1"),e,"")+e;case 5495:case 3959:return ns(e,/(image-set\([^]*)/,es+"$1$`$1");case 4968:return ns(ns(e,/(.+:)(flex-)?(.*)/,es+"box-pack:$3"+D1+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+es+e+e;case 4095:case 3583:case 4068:case 2532:return ns(e,/(.+)-inline(.+)/,es+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(c5(e)-1-n>6)switch(qu(e,n+1)){case 109:if(qu(e,n+4)!==45)break;case 102:return ns(e,/(.+:)(.+)-([^]+)/,"$1"+es+"$2-$3$1"+$$e+(qu(e,n+3)==108?"$3":"$2-$3"))+e;case 115:return~G5e(e,"stretch")?XSt(ns(e,"stretch","fill-available"),n)+e:e}break;case 4949:if(qu(e,n+1)!==115)break;case 6444:switch(qu(e,c5(e)-3-(~G5e(e,"!important")&&10))){case 107:return ns(e,":",":"+es)+e;case 101:return ns(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+es+(qu(e,14)===45?"inline-":"")+"box$3$1"+es+"$2$3$1"+D1+"$2box$3")+e}break;case 5936:switch(qu(e,n+11)){case 114:return es+e+D1+ns(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return es+e+D1+ns(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return es+e+D1+ns(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return es+e+D1+e+e}return e}var i1n=[function(e,n,i,r){if(e.length>-1&&!e.return)switch(e.type){case twe:e.return=XSt(e.value,e.length);break;case GSt:return mD([fB(e,{value:ns(e.value,"@","@"+es)})],r);case ewe:if(e.length)return(function(s,l){return s.map(l).join("")})(e.props,(function(s){switch((function(l,c){return(l=c.exec(l))?l[0]:l})(s,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return mD([fB(e,{props:[ns(s,/:(read-\w+)/,":-moz-$1")]})],r);case"::placeholder":return mD([fB(e,{props:[ns(s,/:(plac\w+)/,":"+es+"input-$1")]}),fB(e,{props:[ns(s,/:(plac\w+)/,":-moz-$1")]}),fB(e,{props:[ns(s,/:(plac\w+)/,D1+"input-$1")]})],r)}return""}))}}],ekt=function(e){var n=e.key;if(n==="css"){var i=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(i,(function(x){x.getAttribute("data-emotion").indexOf(" ")!==-1&&(document.head.appendChild(x),x.setAttribute("data-s",""))}))}var r,s=e.stylisPlugins||i1n,l={},c=[];r=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+n+' "]'),(function(x){for(var y=x.getAttribute("data-emotion").split(" "),b=1;b<y.length;b++)l[y[b]]=!0;c.push(x)}));var d,u,p=[t1n,n1n],h=[Zun,Jun((function(x){u.insert(x)}))],g=(function(x){var y=nwe(x);return function(b,w,C,v){for(var A="",S=0;S<y;S++)A+=x[S](b,w,C,v)||"";return A}})(p.concat(s,h));d=function(x,y,b,w){u=b,(function(C){mD(qun(C),g)})(x?x+"{"+y.styles+"}":y.styles),w&&(f.inserted[y.name]=!0)};var f={key:n,sheet:new Vun({key:n,container:r,nonce:e.nonce,speedy:e.speedy,prepend:e.prepend,insertionPoint:e.insertionPoint}),nonce:e.nonce,inserted:l,registered:{},insert:d};return f.sheet.hydrate(c),f};function tkt(e){const{styles:n,defaultTheme:i={}}=e,r=typeof n=="function"?s=>n((function(l){return l==null||Object.keys(l).length===0})(s)?i:s):n;return t.jsx(zN,{styles:r})}const T$e=[];function Q9(e){return T$e[0]=e,(function(n,i,r){if(n.length===1&&typeof n[0]=="object"&&n[0]!==null&&n[0].styles!==void 0)return n[0];var s=!0,l="";I9=void 0;var c=n[0];c==null||c.raw===void 0?(s=!1,l+=WZ(r,i,c)):l+=c[0];for(var d=1;d<n.length;d++)l+=WZ(r,i,n[d]),s&&(l+=c[d]);w$e.lastIndex=0;for(var u,p="";(u=w$e.exec(l))!==null;)p+="-"+u[1];var h=(function(g){for(var f,x=0,y=0,b=g.length;b>=4;++y,b-=4)f=1540483477*(65535&(f=255&g.charCodeAt(y)|(255&g.charCodeAt(++y))<<8|(255&g.charCodeAt(++y))<<16|(255&g.charCodeAt(++y))<<24))+(59797*(f>>>16)<<16),x=1540483477*(65535&(f^=f>>>24))+(59797*(f>>>16)<<16)^1540483477*(65535&x)+(59797*(x>>>16)<<16);switch(b){case 3:x^=(255&g.charCodeAt(y+2))<<16;case 2:x^=(255&g.charCodeAt(y+1))<<8;case 1:x=1540483477*(65535&(x^=255&g.charCodeAt(y)))+(59797*(x>>>16)<<16)}return(((x=1540483477*(65535&(x^=x>>>13))+(59797*(x>>>16)<<16))^x>>>15)>>>0).toString(36)})(l)+p;return{name:h,styles:l,next:I9}})(T$e)}var L$e,B$e,P$e={exports:{}},Ls={};function o1n(){if(L$e)return Ls;L$e=1;var e=Symbol.for("react.transitional.element"),n=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),l=Symbol.for("react.consumer"),c=Symbol.for("react.context"),d=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),p=Symbol.for("react.suspense_list"),h=Symbol.for("react.memo"),g=Symbol.for("react.lazy"),f=Symbol.for("react.view_transition"),x=Symbol.for("react.client.reference");function y(b){if(typeof b=="object"&&b!==null){var w=b.$$typeof;switch(w){case e:switch(b=b.type){case i:case s:case r:case u:case p:case f:return b;default:switch(b=b&&b.$$typeof){case c:case d:case g:case h:case l:return b;default:return w}}case n:return w}}}return Ls.ContextConsumer=l,Ls.ContextProvider=c,Ls.Element=e,Ls.ForwardRef=d,Ls.Fragment=i,Ls.Lazy=g,Ls.Memo=h,Ls.Portal=n,Ls.Profiler=s,Ls.StrictMode=r,Ls.Suspense=u,Ls.SuspenseList=p,Ls.isContextConsumer=function(b){return y(b)===l},Ls.isContextProvider=function(b){return y(b)===c},Ls.isElement=function(b){return typeof b=="object"&&b!==null&&b.$$typeof===e},Ls.isForwardRef=function(b){return y(b)===d},Ls.isFragment=function(b){return y(b)===i},Ls.isLazy=function(b){return y(b)===g},Ls.isMemo=function(b){return y(b)===h},Ls.isPortal=function(b){return y(b)===n},Ls.isProfiler=function(b){return y(b)===s},Ls.isStrictMode=function(b){return y(b)===r},Ls.isSuspense=function(b){return y(b)===u},Ls.isSuspenseList=function(b){return y(b)===p},Ls.isValidElementType=function(b){return typeof b=="string"||typeof b=="function"||b===i||b===s||b===r||b===u||b===p||typeof b=="object"&&b!==null&&(b.$$typeof===g||b.$$typeof===h||b.$$typeof===c||b.$$typeof===l||b.$$typeof===d||b.$$typeof===x||b.getModuleId!==void 0)},Ls.typeOf=y,Ls}function r1n(){return B$e||(B$e=1,P$e.exports=o1n()),P$e.exports}var nkt=r1n();function Ky(e){if(typeof e!="object"||e===null)return!1;const n=Object.getPrototypeOf(e);return!(n!==null&&n!==Object.prototype&&Object.getPrototypeOf(n)!==null||Symbol.toStringTag in e||Symbol.iterator in e)}function ikt(e){if(m.isValidElement(e)||nkt.isValidElementType(e)||!Ky(e))return e;const n={};return Object.keys(e).forEach((i=>{n[i]=ikt(e[i])})),n}function K1(e,n,i={clone:!0}){const r=i.clone?{...e}:e;return Ky(e)&&Ky(n)&&Object.keys(n).forEach((s=>{m.isValidElement(n[s])||nkt.isValidElementType(n[s])?r[s]=n[s]:Ky(n[s])&&Object.prototype.hasOwnProperty.call(e,s)&&Ky(e[s])?r[s]=K1(e[s],n[s],i):i.clone?r[s]=Ky(n[s])?ikt(n[s]):n[s]:r[s]=n[s]})),r}function a1n(e){const{values:n={xs:0,sm:600,md:900,lg:1200,xl:1536},unit:i="px",step:r=5,...s}=e,l=(h=>{const g=Object.keys(h).map((f=>({key:f,val:h[f]})))||[];return g.sort(((f,x)=>f.val-x.val)),g.reduce(((f,x)=>({...f,[x.key]:x.val})),{})})(n),c=Object.keys(l);function d(h){return`@media (min-width:${typeof n[h]=="number"?n[h]:h}${i})`}function u(h){return`@media (max-width:${(typeof n[h]=="number"?n[h]:h)-r/100}${i})`}function p(h,g){const f=c.indexOf(g);return`@media (min-width:${typeof n[h]=="number"?n[h]:h}${i}) and (max-width:${(f!==-1&&typeof n[c[f]]=="number"?n[c[f]]:g)-r/100}${i})`}return{keys:c,values:l,up:d,down:u,between:p,only:function(h){return c.indexOf(h)+1<c.length?p(h,c[c.indexOf(h)+1]):d(h)},not:function(h){const g=c.indexOf(h);return g===0?d(c[1]):g===c.length-1?u(c[g]):p(h,c[c.indexOf(h)+1]).replace("@media","@media not all and")},unit:i,...s}}function M$e(e,n){if(!e.containerQueries)return n;const i=Object.keys(n).filter((r=>r.startsWith("@container"))).sort(((r,s)=>{const l=/min-width:\s*([0-9.]+)/;return+(r.match(l)?.[1]||0)-+(s.match(l)?.[1]||0)}));return i.length?i.reduce(((r,s)=>{const l=n[s];return delete r[s],r[s]=l,r}),{...n}):n}const s1n={borderRadius:4};function ZF(e,n){return n?K1(e,n,{clone:!1}):e}const xne={xs:0,sm:600,md:900,lg:1200,xl:1536},O$e={keys:["xs","sm","md","lg","xl"],up:e=>`@media (min-width:${xne[e]}px)`},l1n={containerQueries:e=>({up:n=>{let i=typeof n=="number"?n:xne[n]||n;return typeof i=="number"&&(i=`${i}px`),e?`@container ${e} (min-width:${i})`:`@container (min-width:${i})`}})};function B7(e,n,i){const r=e.theme||{};if(Array.isArray(n)){const s=r.breakpoints||O$e;return n.reduce(((l,c,d)=>(l[s.up(s.keys[d])]=i(n[d]),l)),{})}if(typeof n=="object"){const s=r.breakpoints||O$e;return Object.keys(n).reduce(((l,c)=>{if((function(d,u){return u==="@"||u.startsWith("@")&&(d.some((p=>u.startsWith(`@${p}`)))||!!u.match(/^@\d/))})(s.keys,c)){const d=(function(u,p){const h=p.match(/^@([^/]+)?\/?(.+)?$/);if(!h)return null;const[,g,f]=h,x=Number.isNaN(+g)?g||0:+g;return u.containerQueries(f).up(x)})(r.containerQueries?r:l1n,c);d&&(l[d]=i(n[c],c))}else if(Object.keys(s.values||xne).includes(c))l[s.up(c)]=i(n[c],c);else{const d=c;l[d]=n[d]}return l}),{})}return i(n)}function F$e(e,n){return e.reduce(((i,r)=>{const s=i[r];return(!s||Object.keys(s).length===0)&&delete i[r],i}),n)}function nr(e){if(typeof e!="string")throw new Error(L7(7));return e.charAt(0).toUpperCase()+e.slice(1)}function yne(e,n,i=!0){if(!n||typeof n!="string")return null;if(e&&e.vars&&i){const r=`vars.${n}`.split(".").reduce(((s,l)=>s&&s[l]?s[l]:null),e);if(r!=null)return r}return n.split(".").reduce(((r,s)=>r&&r[s]!=null?r[s]:null),e)}function QZ(e,n,i,r=i){let s;return s=typeof e=="function"?e(i):Array.isArray(e)?e[i]||r:yne(e,i)||r,n&&(s=n(s,r,e)),s}function Pc(e){const{prop:n,cssProperty:i=e.prop,themeKey:r,transform:s}=e,l=c=>{if(c[n]==null)return null;const d=c[n],u=yne(c.theme,r)||{};return B7(c,d,(p=>{let h=QZ(u,s,p);return p===h&&typeof p=="string"&&(h=QZ(u,s,`${n}${p==="default"?"":nr(p)}`,p)),i===!1?h:{[i]:h}}))};return l.propTypes={},l.filterProps=[n],l}const c1n={m:"margin",p:"padding"},d1n={t:"Top",r:"Right",b:"Bottom",l:"Left",x:["Left","Right"],y:["Top","Bottom"]},R$e={marginX:"mx",marginY:"my",paddingX:"px",paddingY:"py"},u1n=(function(e){const n={};return i=>(n[i]===void 0&&(n[i]=e(i)),n[i])})((e=>{if(e.length>2){if(!R$e[e])return[e];e=R$e[e]}const[n,i]=e.split(""),r=c1n[n],s=d1n[i]||"";return Array.isArray(s)?s.map((l=>r+l)):[r+s]})),okt=["m","mt","mr","mb","ml","mx","my","margin","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","marginInline","marginInlineStart","marginInlineEnd","marginBlock","marginBlockStart","marginBlockEnd"],rkt=["p","pt","pr","pb","pl","px","py","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","paddingInline","paddingInlineStart","paddingInlineEnd","paddingBlock","paddingBlockStart","paddingBlockEnd"];function _N(e,n,i,r){const s=yne(e,n,!0)??i;return typeof s=="number"||typeof s=="string"?l=>typeof l=="string"?l:typeof s=="string"?s.startsWith("var(")&&l===0?0:s.startsWith("var(")&&l===1?s:`calc(${l} * ${s})`:s*l:Array.isArray(s)?l=>{if(typeof l=="string")return l;const c=Math.abs(l),d=s[c];return l>=0?d:typeof d=="number"?-d:typeof d=="string"&&d.startsWith("var(")?`calc(-1 * ${d})`:`-${d}`}:typeof s=="function"?s:()=>{}}function iwe(e){return _N(e,"spacing",8)}function VN(e,n){return typeof n=="string"||n==null?n:e(n)}function p1n(e,n,i,r){if(!n.includes(i))return null;const s=(function(l,c){return d=>l.reduce(((u,p)=>(u[p]=VN(c,d),u)),{})})(u1n(i),r);return B7(e,e[i],s)}function akt(e,n){const i=iwe(e.theme);return Object.keys(e).map((r=>p1n(e,n,r,i))).reduce(ZF,{})}function sc(e){return akt(e,okt)}function lc(e){return akt(e,rkt)}function skt(e=8,n=iwe({spacing:e})){if(e.mui)return e;const i=(...r)=>(r.length===0?[1]:r).map((s=>{const l=n(s);return typeof l=="number"?`${l}px`:l})).join(" ");return i.mui=!0,i}function bne(...e){const n=e.reduce(((r,s)=>(s.filterProps.forEach((l=>{r[l]=s})),r)),{}),i=r=>Object.keys(r).reduce(((s,l)=>n[l]?ZF(s,n[l](r)):s),{});return i.propTypes={},i.filterProps=e.reduce(((r,s)=>r.concat(s.filterProps)),[]),i}function Og(e){return typeof e!="number"?e:`${e}px solid`}function y2(e,n){return Pc({prop:e,themeKey:"borders",transform:n})}sc.propTypes={},sc.filterProps=okt,lc.propTypes={},lc.filterProps=rkt;const h1n=y2("border",Og),m1n=y2("borderTop",Og),g1n=y2("borderRight",Og),f1n=y2("borderBottom",Og),x1n=y2("borderLeft",Og),y1n=y2("borderColor"),b1n=y2("borderTopColor"),w1n=y2("borderRightColor"),C1n=y2("borderBottomColor"),v1n=y2("borderLeftColor"),A1n=y2("outline",Og),S1n=y2("outlineColor"),rK=e=>{if(e.borderRadius!==void 0&&e.borderRadius!==null){const n=_N(e.theme,"shape.borderRadius",4),i=r=>({borderRadius:VN(n,r)});return B7(e,e.borderRadius,i)}return null};rK.propTypes={},rK.filterProps=["borderRadius"],bne(h1n,m1n,g1n,f1n,x1n,y1n,b1n,w1n,C1n,v1n,rK,A1n,S1n);const YZ=e=>{if(e.gap!==void 0&&e.gap!==null){const n=_N(e.theme,"spacing",8),i=r=>({gap:VN(n,r)});return B7(e,e.gap,i)}return null};YZ.propTypes={},YZ.filterProps=["gap"];const GZ=e=>{if(e.columnGap!==void 0&&e.columnGap!==null){const n=_N(e.theme,"spacing",8),i=r=>({columnGap:VN(n,r)});return B7(e,e.columnGap,i)}return null};GZ.propTypes={},GZ.filterProps=["columnGap"];const qZ=e=>{if(e.rowGap!==void 0&&e.rowGap!==null){const n=_N(e.theme,"spacing",8),i=r=>({rowGap:VN(n,r)});return B7(e,e.rowGap,i)}return null};qZ.propTypes={},qZ.filterProps=["rowGap"];function gD(e,n){return n==="grey"?n:e}bne(YZ,GZ,qZ,Pc({prop:"gridColumn"}),Pc({prop:"gridRow"}),Pc({prop:"gridAutoFlow"}),Pc({prop:"gridAutoColumns"}),Pc({prop:"gridAutoRows"}),Pc({prop:"gridTemplateColumns"}),Pc({prop:"gridTemplateRows"}),Pc({prop:"gridTemplateAreas"}),Pc({prop:"gridArea"}));function p0(e){return e<=1&&e!==0?100*e+"%":e}bne(Pc({prop:"color",themeKey:"palette",transform:gD}),Pc({prop:"bgcolor",cssProperty:"backgroundColor",themeKey:"palette",transform:gD}),Pc({prop:"backgroundColor",themeKey:"palette",transform:gD}));const k1n=Pc({prop:"width",transform:p0}),owe=e=>{if(e.maxWidth!==void 0&&e.maxWidth!==null){const n=i=>{const r=e.theme?.breakpoints?.values?.[i]||xne[i];return r?e.theme?.breakpoints?.unit!=="px"?{maxWidth:`${r}${e.theme.breakpoints.unit}`}:{maxWidth:r}:{maxWidth:p0(i)}};return B7(e,e.maxWidth,n)}return null};owe.filterProps=["maxWidth"];const j1n=Pc({prop:"minWidth",transform:p0}),$1n=Pc({prop:"height",transform:p0}),E1n=Pc({prop:"maxHeight",transform:p0}),I1n=Pc({prop:"minHeight",transform:p0});Pc({prop:"size",cssProperty:"width",transform:p0}),Pc({prop:"size",cssProperty:"height",transform:p0});bne(k1n,owe,j1n,$1n,E1n,I1n,Pc({prop:"boxSizing"}));const wne={border:{themeKey:"borders",transform:Og},borderTop:{themeKey:"borders",transform:Og},borderRight:{themeKey:"borders",transform:Og},borderBottom:{themeKey:"borders",transform:Og},borderLeft:{themeKey:"borders",transform:Og},borderColor:{themeKey:"palette"},borderTopColor:{themeKey:"palette"},borderRightColor:{themeKey:"palette"},borderBottomColor:{themeKey:"palette"},borderLeftColor:{themeKey:"palette"},outline:{themeKey:"borders",transform:Og},outlineColor:{themeKey:"palette"},borderRadius:{themeKey:"shape.borderRadius",style:rK},color:{themeKey:"palette",transform:gD},bgcolor:{themeKey:"palette",cssProperty:"backgroundColor",transform:gD},backgroundColor:{themeKey:"palette",transform:gD},p:{style:lc},pt:{style:lc},pr:{style:lc},pb:{style:lc},pl:{style:lc},px:{style:lc},py:{style:lc},padding:{style:lc},paddingTop:{style:lc},paddingRight:{style:lc},paddingBottom:{style:lc},paddingLeft:{style:lc},paddingX:{style:lc},paddingY:{style:lc},paddingInline:{style:lc},paddingInlineStart:{style:lc},paddingInlineEnd:{style:lc},paddingBlock:{style:lc},paddingBlockStart:{style:lc},paddingBlockEnd:{style:lc},m:{style:sc},mt:{style:sc},mr:{style:sc},mb:{style:sc},ml:{style:sc},mx:{style:sc},my:{style:sc},margin:{style:sc},marginTop:{style:sc},marginRight:{style:sc},marginBottom:{style:sc},marginLeft:{style:sc},marginX:{style:sc},marginY:{style:sc},marginInline:{style:sc},marginInlineStart:{style:sc},marginInlineEnd:{style:sc},marginBlock:{style:sc},marginBlockStart:{style:sc},marginBlockEnd:{style:sc},displayPrint:{cssProperty:!1,transform:e=>({"@media print":{display:e}})},display:{},overflow:{},textOverflow:{},visibility:{},whiteSpace:{},flexBasis:{},flexDirection:{},flexWrap:{},justifyContent:{},alignItems:{},alignContent:{},order:{},flex:{},flexGrow:{},flexShrink:{},alignSelf:{},justifyItems:{},justifySelf:{},gap:{style:YZ},rowGap:{style:qZ},columnGap:{style:GZ},gridColumn:{},gridRow:{},gridAutoFlow:{},gridAutoColumns:{},gridAutoRows:{},gridTemplateColumns:{},gridTemplateRows:{},gridTemplateAreas:{},gridArea:{},position:{},zIndex:{themeKey:"zIndex"},top:{},right:{},bottom:{},left:{},boxShadow:{themeKey:"shadows"},width:{transform:p0},maxWidth:{style:owe},minWidth:{transform:p0},height:{transform:p0},maxHeight:{transform:p0},minHeight:{transform:p0},boxSizing:{},font:{themeKey:"font"},fontFamily:{themeKey:"typography"},fontSize:{themeKey:"typography"},fontStyle:{themeKey:"typography"},fontWeight:{themeKey:"typography"},letterSpacing:{},textTransform:{},lineHeight:{},textAlign:{},typography:{cssProperty:!1,themeKey:"typography"}},kS=(function(){function e(n,i,r,s){const l={[n]:i,theme:r},c=s[n];if(!c)return{[n]:i};const{cssProperty:d=n,themeKey:u,transform:p,style:h}=c;if(i==null)return null;if(u==="typography"&&i==="inherit")return{[n]:i};const g=yne(r,u)||{};return h?h(l):B7(l,i,(f=>{let x=QZ(g,p,f);return f===x&&typeof f=="string"&&(x=QZ(g,p,`${n}${f==="default"?"":nr(f)}`,f)),d===!1?x:{[d]:x}}))}return function n(i){const{sx:r,theme:s={},nested:l}=i||{};if(!r)return null;const c=s.unstable_sxConfig??wne;function d(u){let p=u;if(typeof u=="function")p=u(s);else if(typeof u!="object")return u;if(!p)return null;const h=(function(x={}){return x.keys?.reduce(((y,b)=>(y[x.up(b)]={},y)),{})||{}})(s.breakpoints),g=Object.keys(h);let f=h;return Object.keys(p).forEach((x=>{const y=(function(b,w){return typeof b=="function"?b(w):b})(p[x],s);if(y!=null)if(typeof y=="object")if(c[x])f=ZF(f,e(x,y,s,c));else{const b=B7({theme:s},y,(w=>({[x]:w})));(function(...w){const C=w.reduce(((A,S)=>A.concat(Object.keys(S))),[]),v=new Set(C);return w.every((A=>v.size===Object.keys(A).length))})(b,y)?f[x]=n({sx:y,theme:s,nested:!0}):f=ZF(f,b)}else f=ZF(f,e(x,y,s,c))})),!l&&s.modularCssLayers?{"@layer sx":M$e(s,F$e(g,f))}:M$e(s,F$e(g,f))}return Array.isArray(r)?r.map(d):d(r)}})();function D1n(e,n){const i=this;if(i.vars){if(!i.colorSchemes?.[e]||typeof i.getColorSchemeSelector!="function")return{};let r=i.getColorSchemeSelector(e);return r==="&"?n:((r.includes("data-")||r.includes("."))&&(r=`*:where(${r.replace(/\s*&$/,"")}) &`),{[r]:n})}return i.palette.mode===e?n:{}}function rwe(e={},...n){const{breakpoints:i={},palette:r={},spacing:s,shape:l={},...c}=e;let d=K1({breakpoints:a1n(i),direction:"ltr",components:{},palette:{mode:"light",...r},spacing:skt(s),shape:{...s1n,...l}},c);return d=(function(u){const p=(x,y)=>x.replace("@media",y?`@container ${y}`:"@container");function h(x,y){x.up=(...b)=>p(u.breakpoints.up(...b),y),x.down=(...b)=>p(u.breakpoints.down(...b),y),x.between=(...b)=>p(u.breakpoints.between(...b),y),x.only=(...b)=>p(u.breakpoints.only(...b),y),x.not=(...b)=>{const w=p(u.breakpoints.not(...b),y);return w.includes("not all and")?w.replace("not all and ","").replace("min-width:","width<").replace("max-width:","width>").replace("and","or"):w}}const g={},f=x=>(h(g,x),g);return h(f),{...u,containerQueries:f}})(d),d.applyStyles=D1n,d=n.reduce(((u,p)=>K1(u,p)),d),d.unstable_sxConfig={...wne,...c?.unstable_sxConfig},d.unstable_sx=function(u){return kS({sx:u,theme:this})},d}function K5e(e=null){const n=m.useContext(RSt);return!n||(function(i){return Object.keys(i).length===0})(n)?e:n}kS.filterProps=["sx"];const T1n=rwe();function lkt(e=T1n){return K5e(e)}function z$e(e){const n=Q9(e);return e!==n&&n.styles?(n.styles.match(/^@layer\s+[^{]*$/)||(n.styles=`@layer global{${n.styles}}`),n):e}function ckt({styles:e,themeId:n,defaultTheme:i={}}){const r=lkt(i),s=n&&r[n]||r;let l=typeof e=="function"?e(s):e;return s.modularCssLayers&&(l=Array.isArray(l)?l.map((c=>z$e(typeof c=="function"?c(s):c))):z$e(l)),t.jsx(tkt,{styles:l})}const N$e=e=>e,L1n=(()=>{let e=N$e;return{configure(n){e=n},generate:n=>e(n),reset(){e=N$e}}})();function dkt(e){var n,i,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(n=0;n<s;n++)e[n]&&(i=dkt(e[n]))&&(r&&(r+=" "),r+=i)}else for(i in e)e[i]&&(r&&(r+=" "),r+=i);return r}function or(){for(var e,n,i=0,r="",s=arguments.length;i<s;i++)(e=arguments[i])&&(n=dkt(e))&&(r&&(r+=" "),r+=n);return r}const B1n={active:"active",checked:"checked",completed:"completed",disabled:"disabled",error:"error",expanded:"expanded",focused:"focused",focusVisible:"focusVisible",open:"open",readOnly:"readOnly",required:"required",selected:"selected"};function is(e,n,i="Mui"){const r=B1n[n];return r?`${i}-${r}`:`${L1n.generate(e)}-${n}`}function Ba(e,n,i="Mui"){const r={};return n.forEach((s=>{r[s]=is(e,s,i)})),r}function ukt(e){const{variants:n,...i}=e,r={variants:n,style:Q9(i),isProcessed:!0};return r.style===i||n&&n.forEach((s=>{typeof s.style!="function"&&(s.style=Q9(s.style))})),r}const P1n=rwe();function kse(e){return e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"}function gA(e,n){return n&&e&&typeof e=="object"&&e.styles&&!e.styles.startsWith("@layer")&&(e.styles=`@layer ${n}{${String(e.styles)}}`),e}function M1n(e){return e?(n,i)=>i[e]:null}function aK(e,n,i){const r=typeof n=="function"?n(e):n;if(Array.isArray(r))return r.flatMap((s=>aK(e,s,i)));if(Array.isArray(r?.variants)){let s;if(r.isProcessed)s=i?gA(r.style,i):r.style;else{const{variants:l,...c}=r;s=i?gA(Q9(c),i):c}return pkt(e,r.variants,[s],i)}return r?.isProcessed?i?gA(Q9(r.style),i):r.style:i?gA(Q9(r),i):r}function pkt(e,n,i=[],r=void 0){let s;e:for(let l=0;l<n.length;l+=1){const c=n[l];if(typeof c.props=="function"){if(s??={...e,...e.ownerState,ownerState:e.ownerState},!c.props(s))continue}else for(const d in c.props)if(e[d]!==c.props[d]&&e.ownerState?.[d]!==c.props[d])continue e;typeof c.style=="function"?(s??={...e,...e.ownerState,ownerState:e.ownerState},i.push(r?gA(Q9(c.style(s)),r):c.style(s))):i.push(r?gA(Q9(c.style),r):c.style)}return i}function O1n(e){return e&&e.charAt(0).toLowerCase()+e.slice(1)}function Z5e(e,n,i=!1){const r={...n};for(const s in e)if(Object.prototype.hasOwnProperty.call(e,s)){const l=s;if(l==="components"||l==="slots")r[l]={...e[l],...r[l]};else if(l==="componentsProps"||l==="slotProps"){const c=e[l],d=n[l];if(d)if(c){r[l]={...d};for(const u in c)if(Object.prototype.hasOwnProperty.call(c,u)){const p=u;r[l][p]=Z5e(c[p],d[p],i)}}else r[l]=d;else r[l]=c||{}}else l==="className"&&i&&n.className?r.className=or(e?.className,n?.className):l==="style"&&i&&n.style?r.style={...e?.style,...n?.style}:r[l]===void 0&&(r[l]=e[l])}return r}const D0=typeof window<"u"?m.useLayoutEffect:m.useEffect;function awe(e,n=0,i=1){return(function(r,s=Number.MIN_SAFE_INTEGER,l=Number.MAX_SAFE_INTEGER){return Math.max(s,Math.min(r,l))})(e,n,i)}function d8(e){if(e.type)return e;if(e.charAt(0)==="#")return d8((function(l){l=l.slice(1);const c=new RegExp(`.{1,${l.length>=6?2:1}}`,"g");let d=l.match(c);return d&&d[0].length===1&&(d=d.map((u=>u+u))),d?`rgb${d.length===4?"a":""}(${d.map(((u,p)=>p<3?parseInt(u,16):Math.round(parseInt(u,16)/255*1e3)/1e3)).join(", ")})`:""})(e));const n=e.indexOf("("),i=e.substring(0,n);if(!["rgb","rgba","hsl","hsla","color"].includes(i))throw new Error(L7(9,e));let r,s=e.substring(n+1,e.length-1);if(i==="color"){if(s=s.split(" "),r=s.shift(),s.length===4&&s[3].charAt(0)==="/"&&(s[3]=s[3].slice(1)),!["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].includes(r))throw new Error(L7(10,r))}else s=s.split(",");return s=s.map((l=>parseFloat(l))),{type:i,values:s,colorSpace:r}}const UO=(e,n)=>{try{return(i=>{const r=d8(i);return r.values.slice(0,3).map(((s,l)=>r.type.includes("hsl")&&l!==0?`${s}%`:s)).join(" ")})(e)}catch{return e}};function Cne(e){const{type:n,colorSpace:i}=e;let{values:r}=e;return n.includes("rgb")?r=r.map(((s,l)=>l<3?parseInt(s,10):s)):n.includes("hsl")&&(r[1]=`${r[1]}%`,r[2]=`${r[2]}%`),r=n.includes("color")?`${i} ${r.join(" ")}`:`${r.join(", ")}`,`${n}(${r})`}function hkt(e){e=d8(e);const{values:n}=e,i=n[0],r=n[1]/100,s=n[2]/100,l=r*Math.min(s,1-s),c=(p,h=(p+i/30)%12)=>s-l*Math.max(Math.min(h-3,9-h,1),-1);let d="rgb";const u=[Math.round(255*c(0)),Math.round(255*c(8)),Math.round(255*c(4))];return e.type==="hsla"&&(d+="a",u.push(n[3])),Cne({type:d,values:u})}function J5e(e){let n=(e=d8(e)).type==="hsl"||e.type==="hsla"?d8(hkt(e)).values:e.values;return n=n.map((i=>(e.type!=="color"&&(i/=255),i<=.03928?i/12.92:((i+.055)/1.055)**2.4))),Number((.2126*n[0]+.7152*n[1]+.0722*n[2]).toFixed(3))}function KZ(e,n){return e=d8(e),n=awe(n),(e.type==="rgb"||e.type==="hsl")&&(e.type+="a"),e.type==="color"?e.values[3]=`/${n}`:e.values[3]=n,Cne(e)}function Kw(e,n,i){try{return KZ(e,n)}catch{return e}}function vne(e,n){if(e=d8(e),n=awe(n),e.type.includes("hsl"))e.values[2]*=1-n;else if(e.type.includes("rgb")||e.type.includes("color"))for(let i=0;i<3;i+=1)e.values[i]*=1-n;return Cne(e)}function ys(e,n,i){try{return vne(e,n)}catch{return e}}function Ane(e,n){if(e=d8(e),n=awe(n),e.type.includes("hsl"))e.values[2]+=(100-e.values[2])*n;else if(e.type.includes("rgb"))for(let i=0;i<3;i+=1)e.values[i]+=(255-e.values[i])*n;else if(e.type.includes("color"))for(let i=0;i<3;i+=1)e.values[i]+=(1-e.values[i])*n;return Cne(e)}function bs(e,n,i){try{return Ane(e,n)}catch{return e}}function OV(e,n,i){try{return(function(r,s=.15){return J5e(r)>.5?vne(r,s):Ane(r,s)})(e,n)}catch{return e}}const mkt=m.createContext(null);function swe(){return m.useContext(mkt)}const F1n=typeof Symbol=="function"&&Symbol.for?Symbol.for("mui.nested"):"__THEME_NESTED__";function R1n(e){const{children:n,theme:i}=e,r=swe(),s=m.useMemo((()=>{const l=r===null?{...i}:(function(c,d){return typeof d=="function"?d(c):{...c,...d}})(r,i);return l!=null&&(l[F1n]=r!==null),l}),[i,r]);return t.jsx(mkt.Provider,{value:s,children:n})}const gkt=m.createContext();function z1n({value:e,...n}){return t.jsx(gkt.Provider,{value:e??!0,...n})}const Sne=()=>m.useContext(gkt)??!1,fkt=m.createContext(void 0);function N1n({value:e,children:n}){return t.jsx(fkt.Provider,{value:e,children:n})}function _1n({props:e,name:n}){return(function(i){const{theme:r,name:s,props:l}=i;if(!r||!r.components||!r.components[s])return l;const c=r.components[s];return c.defaultProps?Z5e(c.defaultProps,l,r.components.mergeClassNameAndStyle):c.styleOverrides||c.variants?l:Z5e(c,l,r.components.mergeClassNameAndStyle)})({props:e,name:n,theme:{components:m.useContext(fkt)}})}let _$e=0;const V$e={...ysn}.useId;function kne(e){if(V$e!==void 0){const n=V$e();return e??n}return(function(n){const[i,r]=m.useState(n),s=n||i;return m.useEffect((()=>{i==null&&(_$e+=1,r(`mui-${_$e}`))}),[i]),s})(e)}const H$e={};function U$e(e,n,i,r=!1){return m.useMemo((()=>{const s=e&&n[e]||n;if(typeof i=="function"){const l=i(s),c=e?{...n,[e]:l}:l;return r?()=>c:c}return e?{...n,[e]:i}:{...n,...i}}),[e,n,i,r])}function xkt(e){const{children:n,theme:i,themeId:r}=e,s=K5e(H$e),l=swe()||H$e,c=U$e(r,s,i),d=U$e(r,l,i,!0),u=(r?c[r]:c).direction==="rtl",p=(function(h){const g=K5e(),f=kne()||"",{modularCssLayers:x}=h;let y="mui.global, mui.components, mui.theme, mui.custom, mui.sx";return y=x&&g===null?typeof x=="string"?x.replace(/mui(?!\.)/g,y):`@layer ${y};`:"",D0((()=>{const b=document.querySelector("head");if(!b)return;const w=b.firstChild;if(y){if(w&&w.hasAttribute?.("data-mui-layer-order")&&w.getAttribute("data-mui-layer-order")===f)return;const C=document.createElement("style");C.setAttribute("data-mui-layer-order",f),C.textContent=y,b.prepend(C)}else b.querySelector(`style[data-mui-layer-order="${f}"]`)?.remove()}),[y,f]),y?t.jsx(ckt,{styles:y}):null})(c);return t.jsx(R1n,{theme:d,children:t.jsx(RSt.Provider,{value:c,children:t.jsx(z1n,{value:u,children:t.jsxs(N1n,{value:r?c[r].components:c.components,children:[p,n]})})})})}const W$e={theme:void 0},X5e="mode",exe="color-scheme",V1n="data-color-scheme";function H1n(){}const U1n=({key:e,storageWindow:n})=>(!n&&typeof window<"u"&&(n=window),{get(i){if(typeof window>"u")return;if(!n)return i;let r;try{r=n.localStorage.getItem(e)}catch{}return r||i},set:i=>{if(n)try{n.localStorage.setItem(e,i)}catch{}},subscribe:i=>{if(!n)return H1n;const r=s=>{const l=s.newValue;s.key===e&&i(l)};return n.addEventListener("storage",r),()=>{n.removeEventListener("storage",r)}}});function jse(){}function Q$e(e){if(typeof window<"u"&&typeof window.matchMedia=="function"&&e==="system")return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function Y$e(e,n){return e.mode==="light"||e.mode==="system"&&e.systemMode==="light"?n("light"):e.mode==="dark"||e.mode==="system"&&e.systemMode==="dark"?n("dark"):void 0}function W1n(e){const{defaultMode:n="light",defaultLightColorScheme:i,defaultDarkColorScheme:r,supportedColorSchemes:s=[],modeStorageKey:l=X5e,colorSchemeStorageKey:c=exe,storageWindow:d=typeof window>"u"?void 0:window,storageManager:u=U1n,noSsr:p=!1}=e,h=s.join(","),g=s.length>1,f=m.useMemo((()=>u?.({key:l,storageWindow:d})),[u,l,d]),x=m.useMemo((()=>u?.({key:`${c}-light`,storageWindow:d})),[u,c,d]),y=m.useMemo((()=>u?.({key:`${c}-dark`,storageWindow:d})),[u,c,d]),[b,w]=m.useState((()=>{const E=f?.get(n)||n,D=x?.get(i)||i,B=y?.get(r)||r;return{mode:E,systemMode:Q$e(E),lightColorScheme:D,darkColorScheme:B}})),[C,v]=m.useState(p||!g);m.useEffect((()=>{v(!0)}),[]);const A=(function(E){return Y$e(E,(D=>D==="light"?E.lightColorScheme:D==="dark"?E.darkColorScheme:void 0))})(b),S=m.useCallback((E=>{w((D=>{if(E===D.mode)return D;const B=E??n;return f?.set(B),{...D,mode:B,systemMode:Q$e(B)}}))}),[f,n]),$=m.useCallback((E=>{E?typeof E=="string"?E&&!h.includes(E)?console.error(`\`${E}\` does not exist in \`theme.colorSchemes\`.`):w((D=>{const B={...D};return Y$e(D,(F=>{F==="light"&&(x?.set(E),B.lightColorScheme=E),F==="dark"&&(y?.set(E),B.darkColorScheme=E)})),B})):w((D=>{const B={...D},F=E.light===null?i:E.light,R=E.dark===null?r:E.dark;return F&&(h.includes(F)?(B.lightColorScheme=F,x?.set(F)):console.error(`\`${F}\` does not exist in \`theme.colorSchemes\`.`)),R&&(h.includes(R)?(B.darkColorScheme=R,y?.set(R)):console.error(`\`${R}\` does not exist in \`theme.colorSchemes\`.`)),B})):w((D=>(x?.set(i),y?.set(r),{...D,lightColorScheme:i,darkColorScheme:r})))}),[h,x,y,i,r]),j=m.useCallback((E=>{b.mode==="system"&&w((D=>{const B=E?.matches?"dark":"light";return D.systemMode===B?D:{...D,systemMode:B}}))}),[b.mode]),I=m.useRef(j);return I.current=j,m.useEffect((()=>{if(typeof window.matchMedia!="function"||!g)return;const E=(...B)=>I.current(...B),D=window.matchMedia("(prefers-color-scheme: dark)");return D.addListener(E),E(D),()=>{D.removeListener(E)}}),[g]),m.useEffect((()=>{if(g){const E=f?.subscribe((F=>{(!F||["light","dark","system"].includes(F))&&S(F||n)}))||jse,D=x?.subscribe((F=>{(!F||h.match(F))&&$({light:F})}))||jse,B=y?.subscribe((F=>{(!F||h.match(F))&&$({dark:F})}))||jse;return()=>{E(),D(),B()}}}),[$,S,h,n,d,g,f,x,y]),{...b,mode:C?b.mode:void 0,systemMode:C?b.systemMode:void 0,colorScheme:C?A:void 0,setMode:S,setColorScheme:$}}function Q1n(e=""){function n(...i){if(!i.length)return"";const r=i[0];return typeof r!="string"||r.match(/(#|\(|\)|(-?(\d*\.)?\d+)(px|em|%|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc))|^(-?(\d*\.)?\d+)$|(\d+ \d+ \d+)/)?`, ${r}`:`, var(--${e?`${e}-`:""}${r}${n(...i.slice(1))})`}return(i,...r)=>`var(--${e?`${e}-`:""}${i}${n(...r)})`}const G$e=(e,n,i,r=[])=>{let s=e;n.forEach(((l,c)=>{c===n.length-1?Array.isArray(s)?s[Number(l)]=i:s&&typeof s=="object"&&(s[l]=i):s&&typeof s=="object"&&(s[l]||(s[l]=r.includes(l)?[]:{}),s=s[l])}))};function $se(e,n){const{prefix:i,shouldSkipGeneratingVar:r}=n||{},s={},l={},c={};return((d,u,p)=>{(function h(g,f=[],x=[]){Object.entries(g).forEach((([y,b])=>{(!p||p&&!p([...f,y]))&&b!=null&&(typeof b=="object"&&Object.keys(b).length>0?h(b,[...f,y],Array.isArray(b)?[...x,y]:x):u([...f,y],b,x))}))})(d)})(e,((d,u,p)=>{if(!(typeof u!="string"&&typeof u!="number"||r&&r(d,u))){const h=`--${i?`${i}-`:""}${d.join("-")}`,g=((f,x)=>typeof x=="number"?["lineHeight","fontWeight","opacity","zIndex"].some((y=>f.includes(y)))||f[f.length-1].toLowerCase().includes("opacity")?x:`${x}px`:x)(d,u);Object.assign(s,{[h]:g}),G$e(l,d,`var(${h})`,p),G$e(c,d,`var(${h}, ${g})`,p)}}),(d=>d[0]==="vars")),{css:s,vars:l,varsWithDefaults:c}}function os(e,n,i=void 0){const r={};for(const s in e){const l=e[s];let c="",d=!0;for(let u=0;u<l.length;u+=1){const p=l[u];p&&(c+=(d===!0?"":" ")+n(p),d=!1,i&&i[p]&&(c+=" "+i[p]))}r[s]=c}return r}function Ese(e,n){return m.isValidElement(e)&&n.indexOf(e.type.muiName??e.type?._payload?.value?.muiName)!==-1}const wz={black:"#000",white:"#fff"},Y1n={50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",A100:"#f5f5f5",A200:"#eeeeee",A400:"#bdbdbd",A700:"#616161"},G1n="#f3e5f5",q1n="#ce93d8",K1n="#ba68c8",Z1n="#ab47bc",J1n="#9c27b0",X1n="#7b1fa2",epn="#e57373",tpn="#ef5350",npn="#f44336",q$e="#d32f2f",ipn="#c62828",opn="#ffb74d",rpn="#ffa726",apn="#ff9800",spn="#f57c00",lpn="#e65100",cpn="#e3f2fd",dpn="#90caf9",K$e="#42a5f5",upn="#1976d2",ppn="#1565c0",hpn="#4fc3f7",mpn="#29b6f6",gpn="#03a9f4",Z$e="#0288d1",fpn="#01579b",xpn="#81c784",ypn="#66bb6a",bpn="#4caf50",wpn="#388e3c",Cpn="#2e7d32",vpn="#1b5e20";function ykt(){return{text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.6)",disabled:"rgba(0, 0, 0, 0.38)"},divider:"rgba(0, 0, 0, 0.12)",background:{paper:wz.white,default:wz.white},action:{active:"rgba(0, 0, 0, 0.54)",hover:"rgba(0, 0, 0, 0.04)",hoverOpacity:.04,selected:"rgba(0, 0, 0, 0.08)",selectedOpacity:.08,disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(0, 0, 0, 0.12)",disabledOpacity:.38,focus:"rgba(0, 0, 0, 0.12)",focusOpacity:.12,activatedOpacity:.12}}}const bkt=ykt();function wkt(){return{text:{primary:wz.white,secondary:"rgba(255, 255, 255, 0.7)",disabled:"rgba(255, 255, 255, 0.5)",icon:"rgba(255, 255, 255, 0.5)"},divider:"rgba(255, 255, 255, 0.12)",background:{paper:"#121212",default:"#121212"},action:{active:wz.white,hover:"rgba(255, 255, 255, 0.08)",hoverOpacity:.08,selected:"rgba(255, 255, 255, 0.16)",selectedOpacity:.16,disabled:"rgba(255, 255, 255, 0.3)",disabledBackground:"rgba(255, 255, 255, 0.12)",disabledOpacity:.38,focus:"rgba(255, 255, 255, 0.12)",focusOpacity:.12,activatedOpacity:.24}}}const txe=wkt();function J$e(e,n,i,r){const s=r.light||r,l=r.dark||1.5*r;e[n]||(e.hasOwnProperty(i)?e[n]=e[i]:n==="light"?e.light=Ane(e.main,s):n==="dark"&&(e.dark=vne(e.main,l)))}function X$e(e,n,i,r,s){const l=s.light||s,c=s.dark||1.5*s;n[i]||(n.hasOwnProperty(r)?n[i]=n[r]:i==="light"?n.light=`color-mix(in ${e}, ${n.main}, #fff ${(100*l).toFixed(0)}%)`:i==="dark"&&(n.dark=`color-mix(in ${e}, ${n.main}, #000 ${(100*c).toFixed(0)}%)`))}function lwe(e){const{mode:n="light",contrastThreshold:i=3,tonalOffset:r=.2,colorSpace:s,...l}=e,c=e.primary||(function(b="light"){return b==="dark"?{main:dpn,light:cpn,dark:K$e}:{main:upn,light:K$e,dark:ppn}})(n),d=e.secondary||(function(b="light"){return b==="dark"?{main:q1n,light:G1n,dark:Z1n}:{main:J1n,light:K1n,dark:X1n}})(n),u=e.error||(function(b="light"){return b==="dark"?{main:npn,light:epn,dark:q$e}:{main:q$e,light:tpn,dark:ipn}})(n),p=e.info||(function(b="light"){return b==="dark"?{main:mpn,light:hpn,dark:Z$e}:{main:Z$e,light:gpn,dark:fpn}})(n),h=e.success||(function(b="light"){return b==="dark"?{main:ypn,light:xpn,dark:wpn}:{main:Cpn,light:bpn,dark:vpn}})(n),g=e.warning||(function(b="light"){return b==="dark"?{main:rpn,light:opn,dark:spn}:{main:"#ed6c02",light:apn,dark:lpn}})(n);function f(b){return s?(function(C){return`oklch(from ${C} var(--__l) 0 h / var(--__a))`})(b):(function(C,v){const A=J5e(C),S=J5e(v);return(Math.max(A,S)+.05)/(Math.min(A,S)+.05)})(b,txe.text.primary)>=i?txe.text.primary:bkt.text.primary}const x=({color:b,name:w,mainShade:C=500,lightShade:v=300,darkShade:A=700})=>{if(!(b={...b}).main&&b[C]&&(b.main=b[C]),!b.hasOwnProperty("main"))throw new Error(L7(11,w?` (${w})`:"",C));if(typeof b.main!="string")throw new Error(L7(12,w?` (${w})`:"",JSON.stringify(b.main)));return s?(X$e(s,b,"light",v,r),X$e(s,b,"dark",A,r)):(J$e(b,"light",v,r),J$e(b,"dark",A,r)),b.contrastText||(b.contrastText=f(b.main)),b};let y;return n==="light"?y=ykt():n==="dark"&&(y=wkt()),K1({common:{...wz},mode:n,primary:x({color:c,name:"primary"}),secondary:x({color:d,name:"secondary",mainShade:"A400",lightShade:"A200",darkShade:"A700"}),error:x({color:u,name:"error"}),warning:x({color:g,name:"warning"}),info:x({color:p,name:"info"}),success:x({color:h,name:"success"}),grey:Y1n,contrastThreshold:i,getContrastText:f,augmentColor:x,tonalOffset:r,...y},l)}function Apn(e){const n={};return Object.entries(e).forEach((i=>{const[r,s]=i;typeof s=="object"&&(n[r]=`${s.fontStyle?`${s.fontStyle} `:""}${s.fontVariant?`${s.fontVariant} `:""}${s.fontWeight?`${s.fontWeight} `:""}${s.fontStretch?`${s.fontStretch} `:""}${s.fontSize||""}${s.lineHeight?`/${s.lineHeight} `:""}${s.fontFamily||""}`)})),n}function Spn(e,n){return{toolbar:{minHeight:56,[e.up("xs")]:{"@media (orientation: landscape)":{minHeight:48}},[e.up("sm")]:{minHeight:64}},...n}}function kpn(e){return Math.round(1e5*e)/1e5}const eEe={textTransform:"uppercase"},tEe='"Roboto", "Helvetica", "Arial", sans-serif';function Ckt(e,n){const{fontFamily:i=tEe,fontSize:r=14,fontWeightLight:s=300,fontWeightRegular:l=400,fontWeightMedium:c=500,fontWeightBold:d=700,htmlFontSize:u=16,allVariants:p,pxToRem:h,...g}=typeof n=="function"?n(e):n,f=r/14,x=h||(w=>w/u*f+"rem"),y=(w,C,v,A,S)=>({fontFamily:i,fontWeight:w,fontSize:x(C),lineHeight:v,...i===tEe?{letterSpacing:`${kpn(A/C)}em`}:{},...S,...p}),b={h1:y(s,96,1.167,-1.5),h2:y(s,60,1.2,-.5),h3:y(l,48,1.167,0),h4:y(l,34,1.235,.25),h5:y(l,24,1.334,0),h6:y(c,20,1.6,.15),subtitle1:y(l,16,1.75,.15),subtitle2:y(c,14,1.57,.1),body1:y(l,16,1.5,.15),body2:y(l,14,1.43,.15),button:y(c,14,1.75,.4,eEe),caption:y(l,12,1.66,.4),overline:y(l,12,2.66,1,eEe),inherit:{fontFamily:"inherit",fontWeight:"inherit",fontSize:"inherit",lineHeight:"inherit",letterSpacing:"inherit"}};return K1({htmlFontSize:u,pxToRem:x,fontFamily:i,fontSize:r,fontWeightLight:s,fontWeightRegular:l,fontWeightMedium:c,fontWeightBold:d,...b},g,{clone:!1})}function kl(...e){return[`${e[0]}px ${e[1]}px ${e[2]}px ${e[3]}px rgba(0,0,0,0.2)`,`${e[4]}px ${e[5]}px ${e[6]}px ${e[7]}px rgba(0,0,0,0.14)`,`${e[8]}px ${e[9]}px ${e[10]}px ${e[11]}px rgba(0,0,0,0.12)`].join(",")}const jpn=["none",kl(0,2,1,-1,0,1,1,0,0,1,3,0),kl(0,3,1,-2,0,2,2,0,0,1,5,0),kl(0,3,3,-2,0,3,4,0,0,1,8,0),kl(0,2,4,-1,0,4,5,0,0,1,10,0),kl(0,3,5,-1,0,5,8,0,0,1,14,0),kl(0,3,5,-1,0,6,10,0,0,1,18,0),kl(0,4,5,-2,0,7,10,1,0,2,16,1),kl(0,5,5,-3,0,8,10,1,0,3,14,2),kl(0,5,6,-3,0,9,12,1,0,3,16,2),kl(0,6,6,-3,0,10,14,1,0,4,18,3),kl(0,6,7,-4,0,11,15,1,0,4,20,3),kl(0,7,8,-4,0,12,17,2,0,5,22,4),kl(0,7,8,-4,0,13,19,2,0,5,24,4),kl(0,7,9,-4,0,14,21,2,0,5,26,4),kl(0,8,9,-5,0,15,22,2,0,6,28,5),kl(0,8,10,-5,0,16,24,2,0,6,30,5),kl(0,8,11,-5,0,17,26,2,0,6,32,5),kl(0,9,11,-5,0,18,28,2,0,7,34,6),kl(0,9,12,-6,0,19,29,2,0,7,36,6),kl(0,10,13,-6,0,20,31,3,0,8,38,7),kl(0,10,13,-6,0,21,33,3,0,8,40,7),kl(0,10,14,-6,0,22,35,3,0,8,42,7),kl(0,11,14,-7,0,23,36,3,0,9,44,8),kl(0,11,15,-7,0,24,38,3,0,9,46,8)],$pn={easeInOut:"cubic-bezier(0.4, 0, 0.2, 1)",easeOut:"cubic-bezier(0.0, 0, 0.2, 1)",easeIn:"cubic-bezier(0.4, 0, 1, 1)",sharp:"cubic-bezier(0.4, 0, 0.6, 1)"},vkt={shortest:150,shorter:200,short:250,standard:300,complex:375,enteringScreen:225,leavingScreen:195};function nEe(e){return`${Math.round(e)}ms`}function Epn(e){if(!e)return 0;const n=e/36;return Math.min(Math.round(10*(4+15*n**.25+n/5)),3e3)}function Ipn(e){const n={...$pn,...e.easing},i={...vkt,...e.duration};return{getAutoHeightDuration:Epn,create:(r=["all"],s={})=>{const{duration:l=i.standard,easing:c=n.easeInOut,delay:d=0,...u}=s;return(Array.isArray(r)?r:[r]).map((p=>`${p} ${typeof l=="string"?l:nEe(l)} ${c} ${typeof d=="string"?d:nEe(d)}`)).join(",")},...e,easing:n,duration:i}}const Dpn={mobileStepper:1e3,fab:1050,speedDial:1050,appBar:1100,drawer:1200,modal:1300,snackbar:1400,tooltip:1500};function Tpn(e){return Ky(e)||typeof e>"u"||typeof e=="string"||typeof e=="boolean"||typeof e=="number"||Array.isArray(e)}function Akt(e={}){const n={...e};return(function i(r){const s=Object.entries(r);for(let l=0;l<s.length;l++){const[c,d]=s[l];!Tpn(d)||c.startsWith("unstable_")?delete r[c]:Ky(d)&&(r[c]={...d},i(r[c]))}})(n),`import { unstable_createBreakpoints as createBreakpoints, createTransitions } from '@mui/material/styles';
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/zeni-epic-state-Dmop9tB7.js","assets/sentry-DQv7eTqs.js","assets/core-C1MQ75FC.js","assets/index-BgIX2Tk5.js","assets/DefaultTenantHome-BIH8L2zP.js","assets/mui-D4JyxRuO.js","assets/getLocaleForTenant-B7a_04KB.js","assets/analytics-Ckbn2qr2.js","assets/utils-G6VVxCSd.js","assets/AppDrawer-C6RwU25A.js","assets/InboxNotificationsProvider-zG7x1gLM.js","assets/useTaskManagerAccess-CZ3Xfg1w.js","assets/expenseAutomationHelper-VfFbXlTC.js","assets/ScreenRoutes-D5MH9SH5.js","assets/analyticsHelper-DsmnThaa.js","assets/ConnectionAuthScreen-413EOD9J.js","assets/AccountMappingScreen-i9VnJUfN.js","assets/MobileAppDrawer-nX8kGgUI.js","assets/QBOConnectionScreen-Bf8b_4PY.js","assets/empty-DTjUxrNn.js","assets/index-DBaQwW7d.js","assets/url-Eifk29FQ.js","assets/index-RA90NjT0.js","assets/decodeURIComponentSafe-BkSrHWOz.js","assets/accountMappingHelper-Dr9MEF3a.js","assets/SignInScreen-CvFNfCth.js","assets/useDeviceId-BrccfFDF.js","assets/MagicLinkSignInScreen-DUzZyQDK.js","assets/NotFoundScreen-znPj3CVA.js","assets/MagicLinkRoutes-D8WmClD4.js","assets/PaymentLinkScreen-D586vchF.js","assets/WiseConfirmationScreen-DbcfT5oS.js","assets/HubSpotOAuthCallbackScreen-DPJHmsFd.js","assets/CustomerOnboardingAuthScreen-DGoLyCcj.js","assets/SignOutScreen-m-IPtY4_.js","assets/OAuthConsentScreen-dDQYvFle.js"])))=>i.map(i=>d[i]);
2
+ import{a as m,R as M,b as _5e,e as ysn,p as wse,r as Am,g as jAt,d as Uje,f as bsn,s as Wje,i as wsn,w as Csn,j as vsn,S as Asn,k as Ssn,l as ksn,m as jsn,n as $sn,o as Esn}from"./sentry-DQv7eTqs.js";import{L as Isn,C as Qje,_ as sh,a as Dsn,b as PN,c as Tsn,d as Jte,e as MN,u as $At,T as Lsn,f as Bsn,g as Psn,h as Msn,i as Osn,k as EAt,l as Fsn,m as Rsn,j as Zt}from"./liveblocks-BF-IiX2V.js";import{f as IAt,r as ka,R as mA,P as Wl,O as zsn,N as DAt,u as Kp,g as d2,h as Xte,i as TAt,j as qr,m as $8e,s as _Z,k as LAt,l as Nsn,n as _sn,o as cp,p as Vsn,B as Hsn}from"./core-C1MQ75FC.js";import{L as Yje,bl as Usn,bm as Wsn,bn as ON,bo as Qsn,bp as Ysn,bq as _s,br as Wt,bs as rL,bt as s3,bu as Gsn,bv as Q7,bw as Rs,bx as qsn,by as Ksn,bz as Zsn,bA as p1,bB as np,bC as fz,bD as a8,bE as pn,bF as BAt,bG as Y1,bH as Sa,bI as tT,bJ as PAt,bK as MAt,bL as E8e,bM as sx,bN as i1,bO as s7,bP as Jsn,bQ as zc,bR as Xsn,bS as aL,bT as eln,bU as tln,bV as VZ,bW as nln,bX as iln,bY as HZ,bZ as oln,b_ as rln,b$ as s8,c0 as Gje,c1 as aln,c2 as sln,c3 as lln,c4 as cln,c5 as dln,c6 as uln,c7 as pln,c8 as l7,c9 as ene,ca as hln,cb as tne,cc as nne,cd as ine,ce as I8e,cf as FN,cg as CS,ch as RN,ci as nT,cj as iT,ck as vS,cl as one,cm as YA,cn as mln,co as qje,cp as gln,cq as fln,cr as xln,cs as yln,ct as OAt,cu as bln,cv as wln,cw as qw,cx as Kje,cy as Cln,cz as vln,cA as Aln,cB as ak,cC as sk,cD as FAt,cE as RAt,cF as D8e,cG as Sln,cH as zAt,cI as kln,cJ as UZ,cK as NAt,cL as jln,cM as _At,cN as $ln,cO as HO,cP as Eln,cQ as Iln,cR as Zje,cS as Dln,cT as T8e,cU as L8e,cV as Tln,cW as Lln,cX as Bln,cY as Pln,cZ as DV,c_ as oT,c$ as TV,d0 as Mln,d1 as Oln,d2 as VAt,d3 as Fln,d4 as Rln,d5 as zln,d6 as Nln,d7 as _ln,d8 as HAt,d9 as Jje,da as Vln,db as B8e,dc as Hln,dd as Uln,de as Wln,df as UAt,dg as gu,dh as Gl,di as rne,dj as Qln,dk as Yln,dl as N1,dm as WAt,dn as Gln,dp as xz,dq as GA,dr as Ys,ds as Xje,dt as qln,du as Kln,dv as Zln,dw as QAt,dx as P8e,dy as LV,dz as YAt,dA as Mg,dB as Jln,dC as Xln,dD as ecn,dE as tcn,dF as ncn,dG as icn,dH as ocn,dI as rcn,dJ as BV,dK as AS,dL as ane,dM as acn,dN as scn,dO as lk,dP as G1,dQ as GAt,dR as qAt,dS as lcn,dT as KAt,dU as ccn,dV as dcn,dW as ucn,dX as pcn,dY as sL,dZ as M8e,d_ as O8e,d$ as hcn,e0 as F8e,e1 as ZAt,e2 as JAt,e3 as XAt,e4 as eSt,e5 as tSt,e6 as nSt,e7 as mcn,_ as Md,e8 as lL,e9 as gcn,ea as e$e,eb as sne,ec as fcn,ed as xcn,ee as iSt,ef as ycn,eg as YF,eh as Mm,ei as c7,ej as oSt,ek as rSt,el as bcn,em as aSt,en as V5e,eo as wcn,ep as tK,eq as Ccn,er as vcn,es as Acn,et as Scn,eu as kcn,ev as sSt,ew as lSt,ex as jcn,ey as $cn,ez as cSt,eA as GF,eB as qF,eC as dSt,eD as Ecn,eE as Icn,eF as Dcn,eG as Tcn,eH as R8e,eI as uSt,eJ as pSt,eK as z8e,eL as cL,eM as lne,eN as N8e,eO as _8e,eP as V8e,eQ as H8e,eR as Lcn,eS as Bcn,eT as hSt,eU as t$e,eV as Pcn,eW as U8e,eX as Mcn,eY as Ocn,eZ as q1,e_ as Fcn,e$ as cne,f0 as mSt,f1 as gSt,f2 as Rcn,f3 as W8e,f4 as Q8e,f5 as zcn,f6 as Ncn,f7 as _cn,f8 as Vcn,f9 as Hcn,fa as Zg,fb as n$e,fc as fSt,fd as Ucn,fe as Wcn,ff as Qcn,fg as xSt,fh as ySt,fi as bSt,fj as wSt,fk as CSt,fl as vSt,fm as Ycn,fn as rT,fo as Gcn,fp as qcn,fq as Kcn,fr as Zcn,fs as ASt,ft as SSt,fu as i$e,fv as o$e,fw as Jcn,fx as Xcn,fy as r$e,fz as a$e,fA as edn,fB as tdn,fC as H5e,fD as ndn,v as idn,fE as dne,fF as xm,fG as kSt,fH as jSt,fI as odn,fJ as rdn,fK as s$e,fL as adn,fM as sdn,fN as ldn,fO as cdn,fP as ddn,fQ as udn,fR as pdn,fS as hdn,fT as mdn,fU as gdn,fV as fdn,fW as xdn,fX as ydn,fY as bdn,fZ as wdn,f_ as Cdn,f$ as vdn,g0 as Adn,g1 as Sdn,g2 as l$e,g3 as kdn,g4 as jdn,g5 as $dn,g6 as Edn,g7 as Idn,g8 as $St,g9 as une,ga as Y8e,gb as ESt,gc as Ddn,gd as Tdn,ge as Ldn,gf as ISt,gg as c$e,gh as DSt,gi as TSt,gj as Bdn,gk as LSt,gl as BSt,gm as Pdn,gn as Mdn,go as U5e,gp as Odn,gq as KF,gr as Fdn,gs as Rdn,gt as zdn,gu as Ndn,gv as _dn,gw as Vdn,gx as Hdn,gy as Udn,gz as Wdn,gA as Qdn,gB as Ydn,gC as Gdn,gD as PSt,gE as qdn,gF as Kdn,gG as Zdn,gH as d$e,gI as Jdn,gJ as Xdn,gK as eun,gL as tun,gM as nun,gN as iun,gO as MSt,gP as OSt,gQ as oun,gR as FSt,gS as run,gT as aun,gU as W5e,gV as sun,gW as lun,gX as cun,gY as dun,gZ as uun,g_ as pun,g$ as u$e,h0 as hun,h1 as mun,h2 as gun}from"./zeni-epic-state-Dmop9tB7.js";import{n as a,T as RSt,G as zN,j as Do,c as De,k as ii,C as zSt,u as fun,D as NSt,S as _St,a as xun}from"./mui-D4JyxRuO.js";import{r as yun,m as jg}from"./analytics-Ckbn2qr2.js";import{u as op}from"./plaid-CD2DDkpy.js";import{D as G8e,H as pne,g as bun,O as wun,S as Cun,T as vun,u as q8e,a as K8e,b as Aun}from"./dnd-64pfrglk.js";import{l as Z8e}from"./stripe-cKAAJElX.js";import{L as hD}from"./lottie-CWNAcXJv.js";import{r as ld}from"./lexical-TkcJlpM_.js";import{D as Q5e,P as Y5e,_ as VSt,a as HSt}from"./pdf-Cj_veg-U.js";import{R as SS,G as l8,H as th,X as Jl,Y as Pl,I as Td,J as c8,K as F8,L as qA,M as ep,N as dL,O as USt,P as Sun,Q as kun,S as hne,U as jun,V as J8e,W as $un,Z as Eun,_ as Iun,d as Dun}from"./recharts-BEOxWuh3.js";import{r as Tun,n as p$e}from"./utils-G6VVxCSd.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},n=new e.Error().stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="e52752b3-ddb6-44c7-8b0e-72cee8960346",e._sentryDebugIdIdentifier="sentry-dbid-e52752b3-ddb6-44c7-8b0e-72cee8960346")}catch{}})();(function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver((i=>{for(const r of i)if(r.type==="childList")for(const s of r.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&n(s)})).observe(document,{childList:!0,subtree:!0})}function n(i){if(i.ep)return;i.ep=!0;const r=(function(s){const l={};return s.integrity&&(l.integrity=s.integrity),s.referrerPolicy&&(l.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?l.credentials="include":s.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l})(i);fetch(i.href,r)}})();var h$e,PV={},Lun=(function(){if(h$e)return PV;h$e=1;var e=IAt();return PV.createRoot=e.createRoot,PV.hydrateRoot=e.hydrateRoot,PV})(),cm=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof _5e<"u"?_5e:typeof self<"u"?self:{};function yr(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var m$e,g$e,f$e={exports:{}},gB={};function WSt(){return g$e||(g$e=1,f$e.exports=(function(){if(m$e)return gB;m$e=1;var e=M,n=Symbol.for("react.element"),i=Symbol.for("react.fragment"),r=Object.prototype.hasOwnProperty,s=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};function c(d,u,p){var h,g={},f=null,x=null;for(h in p!==void 0&&(f=""+p),u.key!==void 0&&(f=""+u.key),u.ref!==void 0&&(x=u.ref),u)r.call(u,h)&&!l.hasOwnProperty(h)&&(g[h]=u[h]);if(d&&d.defaultProps)for(h in u=d.defaultProps)g[h]===void 0&&(g[h]=u[h]);return{$$typeof:n,type:d,key:f,ref:x,props:g,_owner:s.current}}return gB.Fragment=i,gB.jsx=c,gB.jsxs=c,gB})()),f$e.exports}var t=WSt();const Bun=m.createContext(null),Cse={didCatch:!1,error:null};let Pun=class extends m.Component{constructor(e){super(e),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=Cse}static getDerivedStateFromError(e){return{didCatch:!0,error:e}}resetErrorBoundary(){const{error:e}=this.state;if(e!==null){for(var n,i,r=arguments.length,s=new Array(r),l=0;l<r;l++)s[l]=arguments[l];(n=(i=this.props).onReset)===null||n===void 0||n.call(i,{args:s,reason:"imperative-api"}),this.setState(Cse)}}componentDidCatch(e,n){var i,r;(i=(r=this.props).onError)===null||i===void 0||i.call(r,e,n)}componentDidUpdate(e,n){const{didCatch:i}=this.state,{resetKeys:r}=this.props;var s,l;i&&n.error!==null&&(function(){let c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return c.length!==d.length||c.some(((u,p)=>!Object.is(u,d[p])))})(e.resetKeys,r)&&((s=(l=this.props).onReset)===null||s===void 0||s.call(l,{next:r,prev:e.resetKeys,reason:"keys"}),this.setState(Cse))}render(){const{children:e,fallbackRender:n,FallbackComponent:i,fallback:r}=this.props,{didCatch:s,error:l}=this.state;let c=e;if(s){const d={error:l,resetErrorBoundary:this.resetErrorBoundary};if(typeof n=="function")c=n(d);else if(i)c=m.createElement(i,d);else{if(r===void 0)throw l;c=r}}return m.createElement(Bun.Provider,{value:{didCatch:s,error:l,resetErrorBoundary:this.resetErrorBoundary}},c)}};var x$e,vse={exports:{}},Ase,Mun=(x$e||(x$e=1,Ase=vse,(function(e,n){Ase.exports?Ase.exports=n():e.numeral=n()})(vse.exports,(function(){var e,n,i,r,s,l={},c={},d={currentLocale:"en",zeroFormat:null,nullFormat:null,defaultFormat:"0,0",scalePercentBy100:!0},u={currentLocale:d.currentLocale,zeroFormat:d.zeroFormat,nullFormat:d.nullFormat,defaultFormat:d.defaultFormat,scalePercentBy100:d.scalePercentBy100};function p(h,g){this._input=h,this._value=g}return e=function(h){var g,f,x,y;if(e.isNumeral(h))g=h.value();else if(h===0||typeof h>"u")g=0;else if(h===null||n.isNaN(h))g=null;else if(typeof h=="string")if(u.zeroFormat&&h===u.zeroFormat)g=0;else if(u.nullFormat&&h===u.nullFormat||!h.replace(/[^0-9]+/g,"").length)g=null;else{for(f in l)if((y=typeof l[f].regexps.unformat=="function"?l[f].regexps.unformat():l[f].regexps.unformat)&&h.match(y)){x=l[f].unformat;break}g=(x=x||e._.stringToNumber)(h)}else g=Number(h)||null;return new p(h,g)},e.version="2.0.6",e.isNumeral=function(h){return h instanceof p},e._=n={numberToFormat:function(h,g,f){var x,y,b,w,C,v,A,S,$=c[e.options.currentLocale],j=!1,I=!1,E="",D=1e12,B=1e9,F=1e6,R="",_=!1;if(h=h||0,b=Math.abs(h),e._.includes(g,"(")?(j=!0,g=g.replace(/[\(|\)]/g,"")):(e._.includes(g,"+")||e._.includes(g,"-"))&&(v=e._.includes(g,"+")?g.indexOf("+"):h<0?g.indexOf("-"):-1,g=g.replace(/[\+|\-]/g,"")),e._.includes(g,"a")&&(y=!!(y=g.match(/a(k|m|b|t)?/))&&y[1],e._.includes(g," a")&&(E=" "),g=g.replace(new RegExp(E+"a[kmbt]?"),""),b>=D&&!y||y==="t"?(E+=$.abbreviations.trillion,h/=D):b<D&&b>=B&&!y||y==="b"?(E+=$.abbreviations.billion,h/=B):b<B&&b>=F&&!y||y==="m"?(E+=$.abbreviations.million,h/=F):(b<F&&b>=1e3&&!y||y==="k")&&(E+=$.abbreviations.thousand,h/=1e3)),e._.includes(g,"[.]")&&(I=!0,g=g.replace("[.]",".")),w=h.toString().split(".")[0],C=g.split(".")[1],A=g.indexOf(","),x=(g.split(".")[0].split(",")[0].match(/0/g)||[]).length,C?(e._.includes(C,"[")?(C=(C=C.replace("]","")).split("["),R=e._.toFixed(h,C[0].length+C[1].length,f,C[1].length)):R=e._.toFixed(h,C.length,f),w=R.split(".")[0],R=e._.includes(R,".")?$.delimiters.decimal+R.split(".")[1]:"",I&&Number(R.slice(1))===0&&(R="")):w=e._.toFixed(h,0,f),E&&!y&&Number(w)>=1e3&&E!==$.abbreviations.trillion)switch(w=String(Number(w)/1e3),E){case $.abbreviations.thousand:E=$.abbreviations.million;break;case $.abbreviations.million:E=$.abbreviations.billion;break;case $.abbreviations.billion:E=$.abbreviations.trillion}if(e._.includes(w,"-")&&(w=w.slice(1),_=!0),w.length<x)for(var N=x-w.length;N>0;N--)w="0"+w;return A>-1&&(w=w.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1"+$.delimiters.thousands)),g.indexOf(".")===0&&(w=""),S=w+R+(E||""),j?S=(j&&_?"(":"")+S+(j&&_?")":""):v>=0?S=v===0?(_?"-":"+")+S:S+(_?"-":"+"):_&&(S="-"+S),S},stringToNumber:function(h){var g,f,x,y=c[u.currentLocale],b=h,w={thousand:3,million:6,billion:9,trillion:12};if(u.zeroFormat&&h===u.zeroFormat)f=0;else if(u.nullFormat&&h===u.nullFormat||!h.replace(/[^0-9]+/g,"").length)f=null;else{for(g in f=1,y.delimiters.decimal!=="."&&(h=h.replace(/\./g,"").replace(y.delimiters.decimal,".")),w)if(x=new RegExp("[^a-zA-Z]"+y.abbreviations[g]+"(?:\\)|(\\"+y.currency.symbol+")?(?:\\))?)?$"),b.match(x)){f*=Math.pow(10,w[g]);break}f*=(h.split("-").length+Math.min(h.split("(").length-1,h.split(")").length-1))%2?1:-1,h=h.replace(/[^0-9\.]+/g,""),f*=Number(h)}return f},isNaN:function(h){return typeof h=="number"&&isNaN(h)},includes:function(h,g){return h.indexOf(g)!==-1},insert:function(h,g,f){return h.slice(0,f)+g+h.slice(f)},reduce:function(h,g){if(this===null)throw new TypeError("Array.prototype.reduce called on null or undefined");if(typeof g!="function")throw new TypeError(g+" is not a function");var f,x=Object(h),y=x.length>>>0,b=0;if(arguments.length===3)f=arguments[2];else{for(;b<y&&!(b in x);)b++;if(b>=y)throw new TypeError("Reduce of empty array with no initial value");f=x[b++]}for(;b<y;b++)b in x&&(f=g(f,x[b],b,x));return f},multiplier:function(h){var g=h.toString().split(".");return g.length<2?1:Math.pow(10,g[1].length)},correctionFactor:function(){return Array.prototype.slice.call(arguments).reduce((function(h,g){var f=n.multiplier(g);return h>f?h:f}),1)},toFixed:function(h,g,f,x){var y,b,w,C,v=h.toString().split("."),A=g-(x||0);return y=v.length===2?Math.min(Math.max(v[1].length,A),g):A,w=Math.pow(10,y),C=(f(h+"e+"+y)/w).toFixed(y),x>g-y&&(b=new RegExp("\\.?0{1,"+(x-(g-y))+"}$"),C=C.replace(b,"")),C}},e.options=u,e.formats=l,e.locales=c,e.locale=function(h){return h&&(u.currentLocale=h.toLowerCase()),u.currentLocale},e.localeData=function(h){if(!h)return c[u.currentLocale];if(h=h.toLowerCase(),!c[h])throw new Error("Unknown locale : "+h);return c[h]},e.reset=function(){for(var h in d)u[h]=d[h]},e.zeroFormat=function(h){u.zeroFormat=typeof h=="string"?h:null},e.nullFormat=function(h){u.nullFormat=typeof h=="string"?h:null},e.defaultFormat=function(h){u.defaultFormat=typeof h=="string"?h:"0.0"},e.register=function(h,g,f){if(g=g.toLowerCase(),this[h+"s"][g])throw new TypeError(g+" "+h+" already registered.");return this[h+"s"][g]=f,f},e.validate=function(h,g){var f,x,y,b,w,C,v,A;if(typeof h!="string"&&(h+="",console.warn&&console.warn("Numeral.js: Value is not string. It has been co-erced to: ",h)),(h=h.trim()).match(/^\d+$/))return!0;if(h==="")return!1;try{v=e.localeData(g)}catch{v=e.localeData(e.locale())}return y=v.currency.symbol,w=v.abbreviations,f=v.delimiters.decimal,x=v.delimiters.thousands==="."?"\\.":v.delimiters.thousands,!((A=h.match(/^[^\d]+/))!==null&&(h=h.substr(1),A[0]!==y)||(A=h.match(/[^\d]+$/))!==null&&(h=h.slice(0,-1),A[0]!==w.thousand&&A[0]!==w.million&&A[0]!==w.billion&&A[0]!==w.trillion)||(C=new RegExp(x+"{2}"),h.match(/[^\d.,]/g)||(b=h.split(f)).length>2||(b.length<2?!b[0].match(/^\d+.*\d$/)||b[0].match(C):b[0].length===1?!b[0].match(/^\d+$/)||b[0].match(C)||!b[1].match(/^\d+$/):!b[0].match(/^\d+.*\d$/)||b[0].match(C)||!b[1].match(/^\d+$/))))},e.fn=p.prototype={clone:function(){return e(this)},format:function(h,g){var f,x,y,b=this._value,w=h||u.defaultFormat;if(g=g||Math.round,b===0&&u.zeroFormat!==null)x=u.zeroFormat;else if(b===null&&u.nullFormat!==null)x=u.nullFormat;else{for(f in l)if(w.match(l[f].regexps.format)){y=l[f].format;break}x=(y=y||e._.numberToFormat)(b,w,g)}return x},value:function(){return this._value},input:function(){return this._input},set:function(h){return this._value=Number(h),this},add:function(h){var g=n.correctionFactor.call(null,this._value,h);return this._value=n.reduce([this._value,h],(function(f,x,y,b){return f+Math.round(g*x)}),0)/g,this},subtract:function(h){var g=n.correctionFactor.call(null,this._value,h);return this._value=n.reduce([h],(function(f,x,y,b){return f-Math.round(g*x)}),Math.round(this._value*g))/g,this},multiply:function(h){return this._value=n.reduce([this._value,h],(function(g,f,x,y){var b=n.correctionFactor(g,f);return Math.round(g*b)*Math.round(f*b)/Math.round(b*b)}),1),this},divide:function(h){return this._value=n.reduce([this._value,h],(function(g,f,x,y){var b=n.correctionFactor(g,f);return Math.round(g*b)/Math.round(f*b)})),this},difference:function(h){return Math.abs(e(this._value).subtract(h).value())}},e.register("locale","en",{delimiters:{thousands:",",decimal:"."},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(h){var g=h%10;return~~(h%100/10)==1?"th":g===1?"st":g===2?"nd":g===3?"rd":"th"},currency:{symbol:"$"}}),e.register("format","bps",{regexps:{format:/(BPS)/,unformat:/(BPS)/},format:function(h,g,f){var x,y=e._.includes(g," BPS")?" ":"";return h*=1e4,g=g.replace(/\s?BPS/,""),x=e._.numberToFormat(h,g,f),e._.includes(x,")")?((x=x.split("")).splice(-1,0,y+"BPS"),x=x.join("")):x=x+y+"BPS",x},unformat:function(h){return+(1e-4*e._.stringToNumber(h)).toFixed(15)}}),r={base:1024,suffixes:["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"]},s="("+(s=(i={base:1e3,suffixes:["B","KB","MB","GB","TB","PB","EB","ZB","YB"]}).suffixes.concat(r.suffixes.filter((function(h){return i.suffixes.indexOf(h)<0}))).join("|")).replace("B","B(?!PS)")+")",e.register("format","bytes",{regexps:{format:/([0\s]i?b)/,unformat:new RegExp(s)},format:function(h,g,f){var x,y,b,w=e._.includes(g,"ib")?r:i,C=e._.includes(g," b")||e._.includes(g," ib")?" ":"";for(g=g.replace(/\s?i?b/,""),x=0;x<=w.suffixes.length;x++)if(y=Math.pow(w.base,x),b=Math.pow(w.base,x+1),h===null||h===0||h>=y&&h<b){C+=w.suffixes[x],y>0&&(h/=y);break}return e._.numberToFormat(h,g,f)+C},unformat:function(h){var g,f,x=e._.stringToNumber(h);if(x){for(g=i.suffixes.length-1;g>=0;g--){if(e._.includes(h,i.suffixes[g])){f=Math.pow(i.base,g);break}if(e._.includes(h,r.suffixes[g])){f=Math.pow(r.base,g);break}}x*=f||1}return x}}),e.register("format","currency",{regexps:{format:/(\$)/},format:function(h,g,f){var x,y,b,w=e.locales[e.options.currentLocale],C={before:g.match(/^([\+|\-|\(|\s|\$]*)/)[0],after:g.match(/([\+|\-|\)|\s|\$]*)$/)[0]};for(g=g.replace(/\s?\$\s?/,""),x=e._.numberToFormat(h,g,f),h>=0?(C.before=C.before.replace(/[\-\(]/,""),C.after=C.after.replace(/[\-\)]/,"")):h<0&&!e._.includes(C.before,"-")&&!e._.includes(C.before,"(")&&(C.before="-"+C.before),b=0;b<C.before.length;b++)switch(y=C.before[b],y){case"$":x=e._.insert(x,w.currency.symbol,b);break;case" ":x=e._.insert(x," ",b+w.currency.symbol.length-1)}for(b=C.after.length-1;b>=0;b--)switch(y=C.after[b],y){case"$":x=b===C.after.length-1?x+w.currency.symbol:e._.insert(x,w.currency.symbol,-(C.after.length-(1+b)));break;case" ":x=b===C.after.length-1?x+" ":e._.insert(x," ",-(C.after.length-(1+b)+w.currency.symbol.length-1))}return x}}),e.register("format","exponential",{regexps:{format:/(e\+|e-)/,unformat:/(e\+|e-)/},format:function(h,g,f){var x=(typeof h!="number"||e._.isNaN(h)?"0e+0":h.toExponential()).split("e");return g=g.replace(/e[\+|\-]{1}0/,""),e._.numberToFormat(Number(x[0]),g,f)+"e"+x[1]},unformat:function(h){var g=e._.includes(h,"e+")?h.split("e+"):h.split("e-"),f=Number(g[0]),x=Number(g[1]);return x=e._.includes(h,"e-")?x*=-1:x,e._.reduce([f,Math.pow(10,x)],(function(y,b,w,C){var v=e._.correctionFactor(y,b);return y*v*(b*v)/(v*v)}),1)}}),e.register("format","ordinal",{regexps:{format:/(o)/},format:function(h,g,f){var x=e.locales[e.options.currentLocale],y=e._.includes(g," o")?" ":"";return g=g.replace(/\s?o/,""),y+=x.ordinal(h),e._.numberToFormat(h,g,f)+y}}),e.register("format","percentage",{regexps:{format:/(%)/,unformat:/(%)/},format:function(h,g,f){var x,y=e._.includes(g," %")?" ":"";return e.options.scalePercentBy100&&(h*=100),g=g.replace(/\s?\%/,""),x=e._.numberToFormat(h,g,f),e._.includes(x,")")?((x=x.split("")).splice(-1,0,y+"%"),x=x.join("")):x=x+y+"%",x},unformat:function(h){var g=e._.stringToNumber(h);return e.options.scalePercentBy100?.01*g:g}}),e.register("format","time",{regexps:{format:/(:)/,unformat:/(:)/},format:function(h,g,f){var x=Math.floor(h/60/60),y=Math.floor((h-60*x*60)/60),b=Math.round(h-60*x*60-60*y);return x+":"+(y<10?"0"+y:y)+":"+(b<10?"0"+b:b)},unformat:function(h){var g=h.split(":"),f=0;return g.length===3?(f+=60*Number(g[0])*60,f+=60*Number(g[1]),f+=Number(g[2])):g.length===2&&(f+=60*Number(g[0]),f+=Number(g[1])),Number(f)}}),e}))),vse.exports);const Rf=yr(Mun);function L7(e,...n){const i=new URL(`https://mui.com/production-error/?code=${e}`);return n.forEach((r=>i.searchParams.append("args[]",r))),`Minified MUI error #${e}; visit ${i} for the full message.`}const v7="$$material";var Oun={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,scale:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1};function Fun(e){var n=Object.create(null);return function(i){return n[i]===void 0&&(n[i]=e(i)),n[i]}}var Run=/[A-Z]|^ms/g,zun=/_EMO_([^_]+?)_([^]*?)_EMO_/g,QSt=function(e){return e.charCodeAt(1)===45},y$e=function(e){return e!=null&&typeof e!="boolean"},Sse=Fun((function(e){return QSt(e)?e:e.replace(Run,"-$&").toLowerCase()})),b$e=function(e,n){switch(e){case"animation":case"animationName":if(typeof n=="string")return n.replace(zun,(function(i,r,s){return I9={name:r,styles:s,next:I9},r}))}return Oun[e]===1||QSt(e)||typeof n!="number"||n===0?n:n+"px"};function WZ(e,n,i){if(i==null)return"";var r=i;if(r.__emotion_styles!==void 0)return r;switch(typeof i){case"boolean":return"";case"object":var s=i;if(s.anim===1)return I9={name:s.name,styles:s.styles,next:I9},s.name;var l=i;if(l.styles!==void 0){var c=l.next;if(c!==void 0)for(;c!==void 0;)I9={name:c.name,styles:c.styles,next:I9},c=c.next;return l.styles+";"}return(function(d,u,p){var h="";if(Array.isArray(p))for(var g=0;g<p.length;g++)h+=WZ(d,u,p[g])+";";else for(var f in p){var x=p[f];if(typeof x!="object"){var y=x;y$e(y)&&(h+=Sse(f)+":"+b$e(f,y)+";")}else if(Array.isArray(x)&&typeof x[0]=="string"&&u==null)for(var b=0;b<x.length;b++)y$e(x[b])&&(h+=Sse(f)+":"+b$e(f,x[b])+";");else{var w=WZ(d,u,x);switch(f){case"animation":case"animationName":h+=Sse(f)+":"+w+";";break;default:h+=f+"{"+w+"}"}}}return h})(e,n,i)}return i}var I9,w$e=/label:\s*([^\s;{]+)\s*(;|$)/g,C$e,v$e,A$e,S$e,k$e,j$e={exports:{}};function Nun(){return v$e?C$e:(v$e=1,C$e="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}function _un(){if(S$e)return A$e;S$e=1;var e=Nun();function n(){}function i(){}return i.resetWarningCache=n,A$e=function(){function r(c,d,u,p,h,g){if(g!==e){var f=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw f.name="Invariant Violation",f}}function s(){return r}r.isRequired=r;var l={array:r,bigint:r,bool:r,func:r,number:r,object:r,string:r,symbol:r,any:r,arrayOf:s,element:r,elementType:r,instanceOf:s,node:r,objectOf:s,oneOf:s,oneOfType:s,shape:s,exact:s,checkPropTypes:i,resetWarningCache:n};return l.PropTypes=l,l}}function X8e(){return k$e||(k$e=1,j$e.exports=_un()()),j$e.exports}const _n=yr(X8e());var Vun=(function(){function e(i){var r=this;this._insertTag=function(s){var l;l=r.tags.length===0?r.insertionPoint?r.insertionPoint.nextSibling:r.prepend?r.container.firstChild:r.before:r.tags[r.tags.length-1].nextSibling,r.container.insertBefore(s,l),r.tags.push(s)},this.isSpeedy=i.speedy===void 0||i.speedy,this.tags=[],this.ctr=0,this.nonce=i.nonce,this.key=i.key,this.container=i.container,this.prepend=i.prepend,this.insertionPoint=i.insertionPoint,this.before=null}var n=e.prototype;return n.hydrate=function(i){i.forEach(this._insertTag)},n.insert=function(i){this.ctr%(this.isSpeedy?65e3:1)==0&&this._insertTag((function(l){var c=document.createElement("style");return c.setAttribute("data-emotion",l.key),l.nonce!==void 0&&c.setAttribute("nonce",l.nonce),c.appendChild(document.createTextNode("")),c.setAttribute("data-s",""),c})(this));var r=this.tags[this.tags.length-1];if(this.isSpeedy){var s=(function(l){if(l.sheet)return l.sheet;for(var c=0;c<document.styleSheets.length;c++)if(document.styleSheets[c].ownerNode===l)return document.styleSheets[c]})(r);try{s.insertRule(i,s.cssRules.length)}catch{}}else r.appendChild(document.createTextNode(i));this.ctr++},n.flush=function(){this.tags.forEach((function(i){var r;return(r=i.parentNode)==null?void 0:r.removeChild(i)})),this.tags=[],this.ctr=0},e})(),D1="-ms-",$$e="-moz-",es="-webkit-",YSt="comm",ewe="rule",twe="decl",GSt="@keyframes",Hun=Math.abs,mne=String.fromCharCode,Uun=Object.assign;function qSt(e){return e.trim()}function ns(e,n,i){return e.replace(n,i)}function G5e(e,n){return e.indexOf(n)}function qu(e,n){return 0|e.charCodeAt(n)}function yz(e,n,i){return e.slice(n,i)}function c5(e){return e.length}function nwe(e){return e.length}function MV(e,n){return n.push(e),e}var gne=1,aT=1,KSt=0,ym=0,ed=0,uL="";function fne(e,n,i,r,s,l,c){return{value:e,root:n,parent:i,type:r,props:s,children:l,line:gne,column:aT,length:c,return:""}}function fB(e,n){return Uun(fne("",null,null,"",null,null,0),e,{length:-e.length},n)}function S0(){return ed=ym<KSt?qu(uL,ym++):0,aT++,ed===10&&(aT=1,gne++),ed}function K5(){return qu(uL,ym)}function nK(){return ym}function NN(e,n){return yz(uL,e,n)}function bz(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function ZSt(e){return gne=aT=1,KSt=c5(uL=e),ym=0,[]}function JSt(e){return uL="",e}function iK(e){return qSt(NN(ym-1,q5e(e===91?e+2:e===40?e+1:e)))}function Wun(e){for(;(ed=K5())&&ed<33;)S0();return bz(e)>2||bz(ed)>3?"":" "}function Qun(e,n){for(;--n&&S0()&&!(ed<48||ed>102||ed>57&&ed<65||ed>70&&ed<97););return NN(e,nK()+(n<6&&K5()==32&&S0()==32))}function q5e(e){for(;S0();)switch(ed){case e:return ym;case 34:case 39:e!==34&&e!==39&&q5e(ed);break;case 40:e===41&&q5e(e);break;case 92:S0()}return ym}function Yun(e,n){for(;S0()&&e+ed!==57&&(e+ed!==84||K5()!==47););return"/*"+NN(n,ym-1)+"*"+mne(e===47?e:S0())}function Gun(e){for(;!bz(K5());)S0();return NN(e,ym)}function qun(e){return JSt(oK("",null,null,null,[""],e=ZSt(e),0,[0],e))}function oK(e,n,i,r,s,l,c,d,u){for(var p=0,h=0,g=c,f=0,x=0,y=0,b=1,w=1,C=1,v=0,A="",S=s,$=l,j=r,I=A;w;)switch(y=v,v=S0()){case 40:if(y!=108&&qu(I,g-1)==58){G5e(I+=ns(iK(v),"&","&\f"),"&\f")!=-1&&(C=-1);break}case 34:case 39:case 91:I+=iK(v);break;case 9:case 10:case 13:case 32:I+=Wun(y);break;case 92:I+=Qun(nK()-1,7);continue;case 47:switch(K5()){case 42:case 47:MV(Kun(Yun(S0(),nK()),n,i),u);break;default:I+="/"}break;case 123*b:d[p++]=c5(I)*C;case 125*b:case 59:case 0:switch(v){case 0:case 125:w=0;case 59+h:C==-1&&(I=ns(I,/\f/g,"")),x>0&&c5(I)-g&&MV(x>32?I$e(I+";",r,i,g-1):I$e(ns(I," ","")+";",r,i,g-2),u);break;case 59:I+=";";default:if(MV(j=E$e(I,n,i,p,h,s,d,A,S=[],$=[],g),l),v===123)if(h===0)oK(I,n,j,j,S,l,g,d,$);else switch(f===99&&qu(I,3)===110?100:f){case 100:case 108:case 109:case 115:oK(e,j,j,r&&MV(E$e(e,j,j,0,0,s,d,A,s,S=[],g),$),s,$,g,d,r?S:$);break;default:oK(I,j,j,j,[""],$,0,d,$)}}p=h=x=0,b=C=1,A=I="",g=c;break;case 58:g=1+c5(I),x=y;default:if(b<1){if(v==123)--b;else if(v==125&&b++==0&&(ed=ym>0?qu(uL,--ym):0,aT--,ed===10&&(aT=1,gne--),ed==125))continue}switch(I+=mne(v),v*b){case 38:C=h>0?1:(I+="\f",-1);break;case 44:d[p++]=(c5(I)-1)*C,C=1;break;case 64:K5()===45&&(I+=iK(S0())),f=K5(),h=g=c5(A=I+=Gun(nK())),v++;break;case 45:y===45&&c5(I)==2&&(b=0)}}return l}function E$e(e,n,i,r,s,l,c,d,u,p,h){for(var g=s-1,f=s===0?l:[""],x=nwe(f),y=0,b=0,w=0;y<r;++y)for(var C=0,v=yz(e,g+1,g=Hun(b=c[y])),A=e;C<x;++C)(A=qSt(b>0?f[C]+" "+v:ns(v,/&\f/g,f[C])))&&(u[w++]=A);return fne(e,n,i,s===0?ewe:d,u,p,h)}function Kun(e,n,i){return fne(e,n,i,YSt,mne(ed),yz(e,2,-2),0)}function I$e(e,n,i,r){return fne(e,n,i,twe,yz(e,0,r),yz(e,r+1,-1),r)}function mD(e,n){for(var i="",r=nwe(e),s=0;s<r;s++)i+=n(e[s],s,e,n)||"";return i}function Zun(e,n,i,r){switch(e.type){case"@layer":if(e.children.length)break;case"@import":case twe:return e.return=e.return||e.value;case YSt:return"";case GSt:return e.return=e.value+"{"+mD(e.children,r)+"}";case ewe:e.value=e.props.join(",")}return c5(i=mD(e.children,r))?e.return=e.value+"{"+i+"}":""}function Jun(e){return function(n){n.root||(n=n.return)&&e(n)}}var Xun=function(e,n,i){for(var r=0,s=0;r=s,s=K5(),r===38&&s===12&&(n[i]=1),!bz(s);)S0();return NN(e,ym)},e1n=function(e,n){return JSt((function(i,r){var s=-1,l=44;do switch(bz(l)){case 0:l===38&&K5()===12&&(r[s]=1),i[s]+=Xun(ym-1,r,s);break;case 2:i[s]+=iK(l);break;case 4:if(l===44){i[++s]=K5()===58?"&\f":"",r[s]=i[s].length;break}default:i[s]+=mne(l)}while(l=S0());return i})(ZSt(e),n))},D$e=new WeakMap,t1n=function(e){if(e.type==="rule"&&e.parent&&!(e.length<1)){for(var n=e.value,i=e.parent,r=e.column===i.column&&e.line===i.line;i.type!=="rule";)if(!(i=i.parent))return;if((e.props.length!==1||n.charCodeAt(0)===58||D$e.get(i))&&!r){D$e.set(e,!0);for(var s=[],l=e1n(n,s),c=i.props,d=0,u=0;d<l.length;d++)for(var p=0;p<c.length;p++,u++)e.props[u]=s[d]?l[d].replace(/&\f/g,c[p]):c[p]+" "+l[d]}}},n1n=function(e){if(e.type==="decl"){var n=e.value;n.charCodeAt(0)===108&&n.charCodeAt(2)===98&&(e.return="",e.value="")}};function XSt(e,n){switch((function(i,r){return 45^qu(i,0)?(((r<<2^qu(i,0))<<2^qu(i,1))<<2^qu(i,2))<<2^qu(i,3):0})(e,n)){case 5103:return es+"print-"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return es+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return es+e+$$e+e+D1+e+e;case 6828:case 4268:return es+e+D1+e+e;case 6165:return es+e+D1+"flex-"+e+e;case 5187:return es+e+ns(e,/(\w+).+(:[^]+)/,es+"box-$1$2"+D1+"flex-$1$2")+e;case 5443:return es+e+D1+"flex-item-"+ns(e,/flex-|-self/,"")+e;case 4675:return es+e+D1+"flex-line-pack"+ns(e,/align-content|flex-|-self/,"")+e;case 5548:return es+e+D1+ns(e,"shrink","negative")+e;case 5292:return es+e+D1+ns(e,"basis","preferred-size")+e;case 6060:return es+"box-"+ns(e,"-grow","")+es+e+D1+ns(e,"grow","positive")+e;case 4554:return es+ns(e,/([^-])(transform)/g,"$1"+es+"$2")+e;case 6187:return ns(ns(ns(e,/(zoom-|grab)/,es+"$1"),/(image-set)/,es+"$1"),e,"")+e;case 5495:case 3959:return ns(e,/(image-set\([^]*)/,es+"$1$`$1");case 4968:return ns(ns(e,/(.+:)(flex-)?(.*)/,es+"box-pack:$3"+D1+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+es+e+e;case 4095:case 3583:case 4068:case 2532:return ns(e,/(.+)-inline(.+)/,es+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(c5(e)-1-n>6)switch(qu(e,n+1)){case 109:if(qu(e,n+4)!==45)break;case 102:return ns(e,/(.+:)(.+)-([^]+)/,"$1"+es+"$2-$3$1"+$$e+(qu(e,n+3)==108?"$3":"$2-$3"))+e;case 115:return~G5e(e,"stretch")?XSt(ns(e,"stretch","fill-available"),n)+e:e}break;case 4949:if(qu(e,n+1)!==115)break;case 6444:switch(qu(e,c5(e)-3-(~G5e(e,"!important")&&10))){case 107:return ns(e,":",":"+es)+e;case 101:return ns(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+es+(qu(e,14)===45?"inline-":"")+"box$3$1"+es+"$2$3$1"+D1+"$2box$3")+e}break;case 5936:switch(qu(e,n+11)){case 114:return es+e+D1+ns(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return es+e+D1+ns(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return es+e+D1+ns(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return es+e+D1+e+e}return e}var i1n=[function(e,n,i,r){if(e.length>-1&&!e.return)switch(e.type){case twe:e.return=XSt(e.value,e.length);break;case GSt:return mD([fB(e,{value:ns(e.value,"@","@"+es)})],r);case ewe:if(e.length)return(function(s,l){return s.map(l).join("")})(e.props,(function(s){switch((function(l,c){return(l=c.exec(l))?l[0]:l})(s,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return mD([fB(e,{props:[ns(s,/:(read-\w+)/,":-moz-$1")]})],r);case"::placeholder":return mD([fB(e,{props:[ns(s,/:(plac\w+)/,":"+es+"input-$1")]}),fB(e,{props:[ns(s,/:(plac\w+)/,":-moz-$1")]}),fB(e,{props:[ns(s,/:(plac\w+)/,D1+"input-$1")]})],r)}return""}))}}],ekt=function(e){var n=e.key;if(n==="css"){var i=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(i,(function(x){x.getAttribute("data-emotion").indexOf(" ")!==-1&&(document.head.appendChild(x),x.setAttribute("data-s",""))}))}var r,s=e.stylisPlugins||i1n,l={},c=[];r=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+n+' "]'),(function(x){for(var y=x.getAttribute("data-emotion").split(" "),b=1;b<y.length;b++)l[y[b]]=!0;c.push(x)}));var d,u,p=[t1n,n1n],h=[Zun,Jun((function(x){u.insert(x)}))],g=(function(x){var y=nwe(x);return function(b,w,C,v){for(var A="",S=0;S<y;S++)A+=x[S](b,w,C,v)||"";return A}})(p.concat(s,h));d=function(x,y,b,w){u=b,(function(C){mD(qun(C),g)})(x?x+"{"+y.styles+"}":y.styles),w&&(f.inserted[y.name]=!0)};var f={key:n,sheet:new Vun({key:n,container:r,nonce:e.nonce,speedy:e.speedy,prepend:e.prepend,insertionPoint:e.insertionPoint}),nonce:e.nonce,inserted:l,registered:{},insert:d};return f.sheet.hydrate(c),f};function tkt(e){const{styles:n,defaultTheme:i={}}=e,r=typeof n=="function"?s=>n((function(l){return l==null||Object.keys(l).length===0})(s)?i:s):n;return t.jsx(zN,{styles:r})}const T$e=[];function Q9(e){return T$e[0]=e,(function(n,i,r){if(n.length===1&&typeof n[0]=="object"&&n[0]!==null&&n[0].styles!==void 0)return n[0];var s=!0,l="";I9=void 0;var c=n[0];c==null||c.raw===void 0?(s=!1,l+=WZ(r,i,c)):l+=c[0];for(var d=1;d<n.length;d++)l+=WZ(r,i,n[d]),s&&(l+=c[d]);w$e.lastIndex=0;for(var u,p="";(u=w$e.exec(l))!==null;)p+="-"+u[1];var h=(function(g){for(var f,x=0,y=0,b=g.length;b>=4;++y,b-=4)f=1540483477*(65535&(f=255&g.charCodeAt(y)|(255&g.charCodeAt(++y))<<8|(255&g.charCodeAt(++y))<<16|(255&g.charCodeAt(++y))<<24))+(59797*(f>>>16)<<16),x=1540483477*(65535&(f^=f>>>24))+(59797*(f>>>16)<<16)^1540483477*(65535&x)+(59797*(x>>>16)<<16);switch(b){case 3:x^=(255&g.charCodeAt(y+2))<<16;case 2:x^=(255&g.charCodeAt(y+1))<<8;case 1:x=1540483477*(65535&(x^=255&g.charCodeAt(y)))+(59797*(x>>>16)<<16)}return(((x=1540483477*(65535&(x^=x>>>13))+(59797*(x>>>16)<<16))^x>>>15)>>>0).toString(36)})(l)+p;return{name:h,styles:l,next:I9}})(T$e)}var L$e,B$e,P$e={exports:{}},Ls={};function o1n(){if(L$e)return Ls;L$e=1;var e=Symbol.for("react.transitional.element"),n=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),l=Symbol.for("react.consumer"),c=Symbol.for("react.context"),d=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),p=Symbol.for("react.suspense_list"),h=Symbol.for("react.memo"),g=Symbol.for("react.lazy"),f=Symbol.for("react.view_transition"),x=Symbol.for("react.client.reference");function y(b){if(typeof b=="object"&&b!==null){var w=b.$$typeof;switch(w){case e:switch(b=b.type){case i:case s:case r:case u:case p:case f:return b;default:switch(b=b&&b.$$typeof){case c:case d:case g:case h:case l:return b;default:return w}}case n:return w}}}return Ls.ContextConsumer=l,Ls.ContextProvider=c,Ls.Element=e,Ls.ForwardRef=d,Ls.Fragment=i,Ls.Lazy=g,Ls.Memo=h,Ls.Portal=n,Ls.Profiler=s,Ls.StrictMode=r,Ls.Suspense=u,Ls.SuspenseList=p,Ls.isContextConsumer=function(b){return y(b)===l},Ls.isContextProvider=function(b){return y(b)===c},Ls.isElement=function(b){return typeof b=="object"&&b!==null&&b.$$typeof===e},Ls.isForwardRef=function(b){return y(b)===d},Ls.isFragment=function(b){return y(b)===i},Ls.isLazy=function(b){return y(b)===g},Ls.isMemo=function(b){return y(b)===h},Ls.isPortal=function(b){return y(b)===n},Ls.isProfiler=function(b){return y(b)===s},Ls.isStrictMode=function(b){return y(b)===r},Ls.isSuspense=function(b){return y(b)===u},Ls.isSuspenseList=function(b){return y(b)===p},Ls.isValidElementType=function(b){return typeof b=="string"||typeof b=="function"||b===i||b===s||b===r||b===u||b===p||typeof b=="object"&&b!==null&&(b.$$typeof===g||b.$$typeof===h||b.$$typeof===c||b.$$typeof===l||b.$$typeof===d||b.$$typeof===x||b.getModuleId!==void 0)},Ls.typeOf=y,Ls}function r1n(){return B$e||(B$e=1,P$e.exports=o1n()),P$e.exports}var nkt=r1n();function Ky(e){if(typeof e!="object"||e===null)return!1;const n=Object.getPrototypeOf(e);return!(n!==null&&n!==Object.prototype&&Object.getPrototypeOf(n)!==null||Symbol.toStringTag in e||Symbol.iterator in e)}function ikt(e){if(m.isValidElement(e)||nkt.isValidElementType(e)||!Ky(e))return e;const n={};return Object.keys(e).forEach((i=>{n[i]=ikt(e[i])})),n}function K1(e,n,i={clone:!0}){const r=i.clone?{...e}:e;return Ky(e)&&Ky(n)&&Object.keys(n).forEach((s=>{m.isValidElement(n[s])||nkt.isValidElementType(n[s])?r[s]=n[s]:Ky(n[s])&&Object.prototype.hasOwnProperty.call(e,s)&&Ky(e[s])?r[s]=K1(e[s],n[s],i):i.clone?r[s]=Ky(n[s])?ikt(n[s]):n[s]:r[s]=n[s]})),r}function a1n(e){const{values:n={xs:0,sm:600,md:900,lg:1200,xl:1536},unit:i="px",step:r=5,...s}=e,l=(h=>{const g=Object.keys(h).map((f=>({key:f,val:h[f]})))||[];return g.sort(((f,x)=>f.val-x.val)),g.reduce(((f,x)=>({...f,[x.key]:x.val})),{})})(n),c=Object.keys(l);function d(h){return`@media (min-width:${typeof n[h]=="number"?n[h]:h}${i})`}function u(h){return`@media (max-width:${(typeof n[h]=="number"?n[h]:h)-r/100}${i})`}function p(h,g){const f=c.indexOf(g);return`@media (min-width:${typeof n[h]=="number"?n[h]:h}${i}) and (max-width:${(f!==-1&&typeof n[c[f]]=="number"?n[c[f]]:g)-r/100}${i})`}return{keys:c,values:l,up:d,down:u,between:p,only:function(h){return c.indexOf(h)+1<c.length?p(h,c[c.indexOf(h)+1]):d(h)},not:function(h){const g=c.indexOf(h);return g===0?d(c[1]):g===c.length-1?u(c[g]):p(h,c[c.indexOf(h)+1]).replace("@media","@media not all and")},unit:i,...s}}function M$e(e,n){if(!e.containerQueries)return n;const i=Object.keys(n).filter((r=>r.startsWith("@container"))).sort(((r,s)=>{const l=/min-width:\s*([0-9.]+)/;return+(r.match(l)?.[1]||0)-+(s.match(l)?.[1]||0)}));return i.length?i.reduce(((r,s)=>{const l=n[s];return delete r[s],r[s]=l,r}),{...n}):n}const s1n={borderRadius:4};function ZF(e,n){return n?K1(e,n,{clone:!1}):e}const xne={xs:0,sm:600,md:900,lg:1200,xl:1536},O$e={keys:["xs","sm","md","lg","xl"],up:e=>`@media (min-width:${xne[e]}px)`},l1n={containerQueries:e=>({up:n=>{let i=typeof n=="number"?n:xne[n]||n;return typeof i=="number"&&(i=`${i}px`),e?`@container ${e} (min-width:${i})`:`@container (min-width:${i})`}})};function B7(e,n,i){const r=e.theme||{};if(Array.isArray(n)){const s=r.breakpoints||O$e;return n.reduce(((l,c,d)=>(l[s.up(s.keys[d])]=i(n[d]),l)),{})}if(typeof n=="object"){const s=r.breakpoints||O$e;return Object.keys(n).reduce(((l,c)=>{if((function(d,u){return u==="@"||u.startsWith("@")&&(d.some((p=>u.startsWith(`@${p}`)))||!!u.match(/^@\d/))})(s.keys,c)){const d=(function(u,p){const h=p.match(/^@([^/]+)?\/?(.+)?$/);if(!h)return null;const[,g,f]=h,x=Number.isNaN(+g)?g||0:+g;return u.containerQueries(f).up(x)})(r.containerQueries?r:l1n,c);d&&(l[d]=i(n[c],c))}else if(Object.keys(s.values||xne).includes(c))l[s.up(c)]=i(n[c],c);else{const d=c;l[d]=n[d]}return l}),{})}return i(n)}function F$e(e,n){return e.reduce(((i,r)=>{const s=i[r];return(!s||Object.keys(s).length===0)&&delete i[r],i}),n)}function nr(e){if(typeof e!="string")throw new Error(L7(7));return e.charAt(0).toUpperCase()+e.slice(1)}function yne(e,n,i=!0){if(!n||typeof n!="string")return null;if(e&&e.vars&&i){const r=`vars.${n}`.split(".").reduce(((s,l)=>s&&s[l]?s[l]:null),e);if(r!=null)return r}return n.split(".").reduce(((r,s)=>r&&r[s]!=null?r[s]:null),e)}function QZ(e,n,i,r=i){let s;return s=typeof e=="function"?e(i):Array.isArray(e)?e[i]||r:yne(e,i)||r,n&&(s=n(s,r,e)),s}function Pc(e){const{prop:n,cssProperty:i=e.prop,themeKey:r,transform:s}=e,l=c=>{if(c[n]==null)return null;const d=c[n],u=yne(c.theme,r)||{};return B7(c,d,(p=>{let h=QZ(u,s,p);return p===h&&typeof p=="string"&&(h=QZ(u,s,`${n}${p==="default"?"":nr(p)}`,p)),i===!1?h:{[i]:h}}))};return l.propTypes={},l.filterProps=[n],l}const c1n={m:"margin",p:"padding"},d1n={t:"Top",r:"Right",b:"Bottom",l:"Left",x:["Left","Right"],y:["Top","Bottom"]},R$e={marginX:"mx",marginY:"my",paddingX:"px",paddingY:"py"},u1n=(function(e){const n={};return i=>(n[i]===void 0&&(n[i]=e(i)),n[i])})((e=>{if(e.length>2){if(!R$e[e])return[e];e=R$e[e]}const[n,i]=e.split(""),r=c1n[n],s=d1n[i]||"";return Array.isArray(s)?s.map((l=>r+l)):[r+s]})),okt=["m","mt","mr","mb","ml","mx","my","margin","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","marginInline","marginInlineStart","marginInlineEnd","marginBlock","marginBlockStart","marginBlockEnd"],rkt=["p","pt","pr","pb","pl","px","py","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","paddingInline","paddingInlineStart","paddingInlineEnd","paddingBlock","paddingBlockStart","paddingBlockEnd"];function _N(e,n,i,r){const s=yne(e,n,!0)??i;return typeof s=="number"||typeof s=="string"?l=>typeof l=="string"?l:typeof s=="string"?s.startsWith("var(")&&l===0?0:s.startsWith("var(")&&l===1?s:`calc(${l} * ${s})`:s*l:Array.isArray(s)?l=>{if(typeof l=="string")return l;const c=Math.abs(l),d=s[c];return l>=0?d:typeof d=="number"?-d:typeof d=="string"&&d.startsWith("var(")?`calc(-1 * ${d})`:`-${d}`}:typeof s=="function"?s:()=>{}}function iwe(e){return _N(e,"spacing",8)}function VN(e,n){return typeof n=="string"||n==null?n:e(n)}function p1n(e,n,i,r){if(!n.includes(i))return null;const s=(function(l,c){return d=>l.reduce(((u,p)=>(u[p]=VN(c,d),u)),{})})(u1n(i),r);return B7(e,e[i],s)}function akt(e,n){const i=iwe(e.theme);return Object.keys(e).map((r=>p1n(e,n,r,i))).reduce(ZF,{})}function sc(e){return akt(e,okt)}function lc(e){return akt(e,rkt)}function skt(e=8,n=iwe({spacing:e})){if(e.mui)return e;const i=(...r)=>(r.length===0?[1]:r).map((s=>{const l=n(s);return typeof l=="number"?`${l}px`:l})).join(" ");return i.mui=!0,i}function bne(...e){const n=e.reduce(((r,s)=>(s.filterProps.forEach((l=>{r[l]=s})),r)),{}),i=r=>Object.keys(r).reduce(((s,l)=>n[l]?ZF(s,n[l](r)):s),{});return i.propTypes={},i.filterProps=e.reduce(((r,s)=>r.concat(s.filterProps)),[]),i}function Og(e){return typeof e!="number"?e:`${e}px solid`}function y2(e,n){return Pc({prop:e,themeKey:"borders",transform:n})}sc.propTypes={},sc.filterProps=okt,lc.propTypes={},lc.filterProps=rkt;const h1n=y2("border",Og),m1n=y2("borderTop",Og),g1n=y2("borderRight",Og),f1n=y2("borderBottom",Og),x1n=y2("borderLeft",Og),y1n=y2("borderColor"),b1n=y2("borderTopColor"),w1n=y2("borderRightColor"),C1n=y2("borderBottomColor"),v1n=y2("borderLeftColor"),A1n=y2("outline",Og),S1n=y2("outlineColor"),rK=e=>{if(e.borderRadius!==void 0&&e.borderRadius!==null){const n=_N(e.theme,"shape.borderRadius",4),i=r=>({borderRadius:VN(n,r)});return B7(e,e.borderRadius,i)}return null};rK.propTypes={},rK.filterProps=["borderRadius"],bne(h1n,m1n,g1n,f1n,x1n,y1n,b1n,w1n,C1n,v1n,rK,A1n,S1n);const YZ=e=>{if(e.gap!==void 0&&e.gap!==null){const n=_N(e.theme,"spacing",8),i=r=>({gap:VN(n,r)});return B7(e,e.gap,i)}return null};YZ.propTypes={},YZ.filterProps=["gap"];const GZ=e=>{if(e.columnGap!==void 0&&e.columnGap!==null){const n=_N(e.theme,"spacing",8),i=r=>({columnGap:VN(n,r)});return B7(e,e.columnGap,i)}return null};GZ.propTypes={},GZ.filterProps=["columnGap"];const qZ=e=>{if(e.rowGap!==void 0&&e.rowGap!==null){const n=_N(e.theme,"spacing",8),i=r=>({rowGap:VN(n,r)});return B7(e,e.rowGap,i)}return null};qZ.propTypes={},qZ.filterProps=["rowGap"];function gD(e,n){return n==="grey"?n:e}bne(YZ,GZ,qZ,Pc({prop:"gridColumn"}),Pc({prop:"gridRow"}),Pc({prop:"gridAutoFlow"}),Pc({prop:"gridAutoColumns"}),Pc({prop:"gridAutoRows"}),Pc({prop:"gridTemplateColumns"}),Pc({prop:"gridTemplateRows"}),Pc({prop:"gridTemplateAreas"}),Pc({prop:"gridArea"}));function p0(e){return e<=1&&e!==0?100*e+"%":e}bne(Pc({prop:"color",themeKey:"palette",transform:gD}),Pc({prop:"bgcolor",cssProperty:"backgroundColor",themeKey:"palette",transform:gD}),Pc({prop:"backgroundColor",themeKey:"palette",transform:gD}));const k1n=Pc({prop:"width",transform:p0}),owe=e=>{if(e.maxWidth!==void 0&&e.maxWidth!==null){const n=i=>{const r=e.theme?.breakpoints?.values?.[i]||xne[i];return r?e.theme?.breakpoints?.unit!=="px"?{maxWidth:`${r}${e.theme.breakpoints.unit}`}:{maxWidth:r}:{maxWidth:p0(i)}};return B7(e,e.maxWidth,n)}return null};owe.filterProps=["maxWidth"];const j1n=Pc({prop:"minWidth",transform:p0}),$1n=Pc({prop:"height",transform:p0}),E1n=Pc({prop:"maxHeight",transform:p0}),I1n=Pc({prop:"minHeight",transform:p0});Pc({prop:"size",cssProperty:"width",transform:p0}),Pc({prop:"size",cssProperty:"height",transform:p0});bne(k1n,owe,j1n,$1n,E1n,I1n,Pc({prop:"boxSizing"}));const wne={border:{themeKey:"borders",transform:Og},borderTop:{themeKey:"borders",transform:Og},borderRight:{themeKey:"borders",transform:Og},borderBottom:{themeKey:"borders",transform:Og},borderLeft:{themeKey:"borders",transform:Og},borderColor:{themeKey:"palette"},borderTopColor:{themeKey:"palette"},borderRightColor:{themeKey:"palette"},borderBottomColor:{themeKey:"palette"},borderLeftColor:{themeKey:"palette"},outline:{themeKey:"borders",transform:Og},outlineColor:{themeKey:"palette"},borderRadius:{themeKey:"shape.borderRadius",style:rK},color:{themeKey:"palette",transform:gD},bgcolor:{themeKey:"palette",cssProperty:"backgroundColor",transform:gD},backgroundColor:{themeKey:"palette",transform:gD},p:{style:lc},pt:{style:lc},pr:{style:lc},pb:{style:lc},pl:{style:lc},px:{style:lc},py:{style:lc},padding:{style:lc},paddingTop:{style:lc},paddingRight:{style:lc},paddingBottom:{style:lc},paddingLeft:{style:lc},paddingX:{style:lc},paddingY:{style:lc},paddingInline:{style:lc},paddingInlineStart:{style:lc},paddingInlineEnd:{style:lc},paddingBlock:{style:lc},paddingBlockStart:{style:lc},paddingBlockEnd:{style:lc},m:{style:sc},mt:{style:sc},mr:{style:sc},mb:{style:sc},ml:{style:sc},mx:{style:sc},my:{style:sc},margin:{style:sc},marginTop:{style:sc},marginRight:{style:sc},marginBottom:{style:sc},marginLeft:{style:sc},marginX:{style:sc},marginY:{style:sc},marginInline:{style:sc},marginInlineStart:{style:sc},marginInlineEnd:{style:sc},marginBlock:{style:sc},marginBlockStart:{style:sc},marginBlockEnd:{style:sc},displayPrint:{cssProperty:!1,transform:e=>({"@media print":{display:e}})},display:{},overflow:{},textOverflow:{},visibility:{},whiteSpace:{},flexBasis:{},flexDirection:{},flexWrap:{},justifyContent:{},alignItems:{},alignContent:{},order:{},flex:{},flexGrow:{},flexShrink:{},alignSelf:{},justifyItems:{},justifySelf:{},gap:{style:YZ},rowGap:{style:qZ},columnGap:{style:GZ},gridColumn:{},gridRow:{},gridAutoFlow:{},gridAutoColumns:{},gridAutoRows:{},gridTemplateColumns:{},gridTemplateRows:{},gridTemplateAreas:{},gridArea:{},position:{},zIndex:{themeKey:"zIndex"},top:{},right:{},bottom:{},left:{},boxShadow:{themeKey:"shadows"},width:{transform:p0},maxWidth:{style:owe},minWidth:{transform:p0},height:{transform:p0},maxHeight:{transform:p0},minHeight:{transform:p0},boxSizing:{},font:{themeKey:"font"},fontFamily:{themeKey:"typography"},fontSize:{themeKey:"typography"},fontStyle:{themeKey:"typography"},fontWeight:{themeKey:"typography"},letterSpacing:{},textTransform:{},lineHeight:{},textAlign:{},typography:{cssProperty:!1,themeKey:"typography"}},kS=(function(){function e(n,i,r,s){const l={[n]:i,theme:r},c=s[n];if(!c)return{[n]:i};const{cssProperty:d=n,themeKey:u,transform:p,style:h}=c;if(i==null)return null;if(u==="typography"&&i==="inherit")return{[n]:i};const g=yne(r,u)||{};return h?h(l):B7(l,i,(f=>{let x=QZ(g,p,f);return f===x&&typeof f=="string"&&(x=QZ(g,p,`${n}${f==="default"?"":nr(f)}`,f)),d===!1?x:{[d]:x}}))}return function n(i){const{sx:r,theme:s={},nested:l}=i||{};if(!r)return null;const c=s.unstable_sxConfig??wne;function d(u){let p=u;if(typeof u=="function")p=u(s);else if(typeof u!="object")return u;if(!p)return null;const h=(function(x={}){return x.keys?.reduce(((y,b)=>(y[x.up(b)]={},y)),{})||{}})(s.breakpoints),g=Object.keys(h);let f=h;return Object.keys(p).forEach((x=>{const y=(function(b,w){return typeof b=="function"?b(w):b})(p[x],s);if(y!=null)if(typeof y=="object")if(c[x])f=ZF(f,e(x,y,s,c));else{const b=B7({theme:s},y,(w=>({[x]:w})));(function(...w){const C=w.reduce(((A,S)=>A.concat(Object.keys(S))),[]),v=new Set(C);return w.every((A=>v.size===Object.keys(A).length))})(b,y)?f[x]=n({sx:y,theme:s,nested:!0}):f=ZF(f,b)}else f=ZF(f,e(x,y,s,c))})),!l&&s.modularCssLayers?{"@layer sx":M$e(s,F$e(g,f))}:M$e(s,F$e(g,f))}return Array.isArray(r)?r.map(d):d(r)}})();function D1n(e,n){const i=this;if(i.vars){if(!i.colorSchemes?.[e]||typeof i.getColorSchemeSelector!="function")return{};let r=i.getColorSchemeSelector(e);return r==="&"?n:((r.includes("data-")||r.includes("."))&&(r=`*:where(${r.replace(/\s*&$/,"")}) &`),{[r]:n})}return i.palette.mode===e?n:{}}function rwe(e={},...n){const{breakpoints:i={},palette:r={},spacing:s,shape:l={},...c}=e;let d=K1({breakpoints:a1n(i),direction:"ltr",components:{},palette:{mode:"light",...r},spacing:skt(s),shape:{...s1n,...l}},c);return d=(function(u){const p=(x,y)=>x.replace("@media",y?`@container ${y}`:"@container");function h(x,y){x.up=(...b)=>p(u.breakpoints.up(...b),y),x.down=(...b)=>p(u.breakpoints.down(...b),y),x.between=(...b)=>p(u.breakpoints.between(...b),y),x.only=(...b)=>p(u.breakpoints.only(...b),y),x.not=(...b)=>{const w=p(u.breakpoints.not(...b),y);return w.includes("not all and")?w.replace("not all and ","").replace("min-width:","width<").replace("max-width:","width>").replace("and","or"):w}}const g={},f=x=>(h(g,x),g);return h(f),{...u,containerQueries:f}})(d),d.applyStyles=D1n,d=n.reduce(((u,p)=>K1(u,p)),d),d.unstable_sxConfig={...wne,...c?.unstable_sxConfig},d.unstable_sx=function(u){return kS({sx:u,theme:this})},d}function K5e(e=null){const n=m.useContext(RSt);return!n||(function(i){return Object.keys(i).length===0})(n)?e:n}kS.filterProps=["sx"];const T1n=rwe();function lkt(e=T1n){return K5e(e)}function z$e(e){const n=Q9(e);return e!==n&&n.styles?(n.styles.match(/^@layer\s+[^{]*$/)||(n.styles=`@layer global{${n.styles}}`),n):e}function ckt({styles:e,themeId:n,defaultTheme:i={}}){const r=lkt(i),s=n&&r[n]||r;let l=typeof e=="function"?e(s):e;return s.modularCssLayers&&(l=Array.isArray(l)?l.map((c=>z$e(typeof c=="function"?c(s):c))):z$e(l)),t.jsx(tkt,{styles:l})}const N$e=e=>e,L1n=(()=>{let e=N$e;return{configure(n){e=n},generate:n=>e(n),reset(){e=N$e}}})();function dkt(e){var n,i,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(n=0;n<s;n++)e[n]&&(i=dkt(e[n]))&&(r&&(r+=" "),r+=i)}else for(i in e)e[i]&&(r&&(r+=" "),r+=i);return r}function or(){for(var e,n,i=0,r="",s=arguments.length;i<s;i++)(e=arguments[i])&&(n=dkt(e))&&(r&&(r+=" "),r+=n);return r}const B1n={active:"active",checked:"checked",completed:"completed",disabled:"disabled",error:"error",expanded:"expanded",focused:"focused",focusVisible:"focusVisible",open:"open",readOnly:"readOnly",required:"required",selected:"selected"};function is(e,n,i="Mui"){const r=B1n[n];return r?`${i}-${r}`:`${L1n.generate(e)}-${n}`}function Ba(e,n,i="Mui"){const r={};return n.forEach((s=>{r[s]=is(e,s,i)})),r}function ukt(e){const{variants:n,...i}=e,r={variants:n,style:Q9(i),isProcessed:!0};return r.style===i||n&&n.forEach((s=>{typeof s.style!="function"&&(s.style=Q9(s.style))})),r}const P1n=rwe();function kse(e){return e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"}function gA(e,n){return n&&e&&typeof e=="object"&&e.styles&&!e.styles.startsWith("@layer")&&(e.styles=`@layer ${n}{${String(e.styles)}}`),e}function M1n(e){return e?(n,i)=>i[e]:null}function aK(e,n,i){const r=typeof n=="function"?n(e):n;if(Array.isArray(r))return r.flatMap((s=>aK(e,s,i)));if(Array.isArray(r?.variants)){let s;if(r.isProcessed)s=i?gA(r.style,i):r.style;else{const{variants:l,...c}=r;s=i?gA(Q9(c),i):c}return pkt(e,r.variants,[s],i)}return r?.isProcessed?i?gA(Q9(r.style),i):r.style:i?gA(Q9(r),i):r}function pkt(e,n,i=[],r=void 0){let s;e:for(let l=0;l<n.length;l+=1){const c=n[l];if(typeof c.props=="function"){if(s??={...e,...e.ownerState,ownerState:e.ownerState},!c.props(s))continue}else for(const d in c.props)if(e[d]!==c.props[d]&&e.ownerState?.[d]!==c.props[d])continue e;typeof c.style=="function"?(s??={...e,...e.ownerState,ownerState:e.ownerState},i.push(r?gA(Q9(c.style(s)),r):c.style(s))):i.push(r?gA(Q9(c.style),r):c.style)}return i}function O1n(e){return e&&e.charAt(0).toLowerCase()+e.slice(1)}function Z5e(e,n,i=!1){const r={...n};for(const s in e)if(Object.prototype.hasOwnProperty.call(e,s)){const l=s;if(l==="components"||l==="slots")r[l]={...e[l],...r[l]};else if(l==="componentsProps"||l==="slotProps"){const c=e[l],d=n[l];if(d)if(c){r[l]={...d};for(const u in c)if(Object.prototype.hasOwnProperty.call(c,u)){const p=u;r[l][p]=Z5e(c[p],d[p],i)}}else r[l]=d;else r[l]=c||{}}else l==="className"&&i&&n.className?r.className=or(e?.className,n?.className):l==="style"&&i&&n.style?r.style={...e?.style,...n?.style}:r[l]===void 0&&(r[l]=e[l])}return r}const D0=typeof window<"u"?m.useLayoutEffect:m.useEffect;function awe(e,n=0,i=1){return(function(r,s=Number.MIN_SAFE_INTEGER,l=Number.MAX_SAFE_INTEGER){return Math.max(s,Math.min(r,l))})(e,n,i)}function d8(e){if(e.type)return e;if(e.charAt(0)==="#")return d8((function(l){l=l.slice(1);const c=new RegExp(`.{1,${l.length>=6?2:1}}`,"g");let d=l.match(c);return d&&d[0].length===1&&(d=d.map((u=>u+u))),d?`rgb${d.length===4?"a":""}(${d.map(((u,p)=>p<3?parseInt(u,16):Math.round(parseInt(u,16)/255*1e3)/1e3)).join(", ")})`:""})(e));const n=e.indexOf("("),i=e.substring(0,n);if(!["rgb","rgba","hsl","hsla","color"].includes(i))throw new Error(L7(9,e));let r,s=e.substring(n+1,e.length-1);if(i==="color"){if(s=s.split(" "),r=s.shift(),s.length===4&&s[3].charAt(0)==="/"&&(s[3]=s[3].slice(1)),!["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].includes(r))throw new Error(L7(10,r))}else s=s.split(",");return s=s.map((l=>parseFloat(l))),{type:i,values:s,colorSpace:r}}const UO=(e,n)=>{try{return(i=>{const r=d8(i);return r.values.slice(0,3).map(((s,l)=>r.type.includes("hsl")&&l!==0?`${s}%`:s)).join(" ")})(e)}catch{return e}};function Cne(e){const{type:n,colorSpace:i}=e;let{values:r}=e;return n.includes("rgb")?r=r.map(((s,l)=>l<3?parseInt(s,10):s)):n.includes("hsl")&&(r[1]=`${r[1]}%`,r[2]=`${r[2]}%`),r=n.includes("color")?`${i} ${r.join(" ")}`:`${r.join(", ")}`,`${n}(${r})`}function hkt(e){e=d8(e);const{values:n}=e,i=n[0],r=n[1]/100,s=n[2]/100,l=r*Math.min(s,1-s),c=(p,h=(p+i/30)%12)=>s-l*Math.max(Math.min(h-3,9-h,1),-1);let d="rgb";const u=[Math.round(255*c(0)),Math.round(255*c(8)),Math.round(255*c(4))];return e.type==="hsla"&&(d+="a",u.push(n[3])),Cne({type:d,values:u})}function J5e(e){let n=(e=d8(e)).type==="hsl"||e.type==="hsla"?d8(hkt(e)).values:e.values;return n=n.map((i=>(e.type!=="color"&&(i/=255),i<=.03928?i/12.92:((i+.055)/1.055)**2.4))),Number((.2126*n[0]+.7152*n[1]+.0722*n[2]).toFixed(3))}function KZ(e,n){return e=d8(e),n=awe(n),(e.type==="rgb"||e.type==="hsl")&&(e.type+="a"),e.type==="color"?e.values[3]=`/${n}`:e.values[3]=n,Cne(e)}function Kw(e,n,i){try{return KZ(e,n)}catch{return e}}function vne(e,n){if(e=d8(e),n=awe(n),e.type.includes("hsl"))e.values[2]*=1-n;else if(e.type.includes("rgb")||e.type.includes("color"))for(let i=0;i<3;i+=1)e.values[i]*=1-n;return Cne(e)}function ys(e,n,i){try{return vne(e,n)}catch{return e}}function Ane(e,n){if(e=d8(e),n=awe(n),e.type.includes("hsl"))e.values[2]+=(100-e.values[2])*n;else if(e.type.includes("rgb"))for(let i=0;i<3;i+=1)e.values[i]+=(255-e.values[i])*n;else if(e.type.includes("color"))for(let i=0;i<3;i+=1)e.values[i]+=(1-e.values[i])*n;return Cne(e)}function bs(e,n,i){try{return Ane(e,n)}catch{return e}}function OV(e,n,i){try{return(function(r,s=.15){return J5e(r)>.5?vne(r,s):Ane(r,s)})(e,n)}catch{return e}}const mkt=m.createContext(null);function swe(){return m.useContext(mkt)}const F1n=typeof Symbol=="function"&&Symbol.for?Symbol.for("mui.nested"):"__THEME_NESTED__";function R1n(e){const{children:n,theme:i}=e,r=swe(),s=m.useMemo((()=>{const l=r===null?{...i}:(function(c,d){return typeof d=="function"?d(c):{...c,...d}})(r,i);return l!=null&&(l[F1n]=r!==null),l}),[i,r]);return t.jsx(mkt.Provider,{value:s,children:n})}const gkt=m.createContext();function z1n({value:e,...n}){return t.jsx(gkt.Provider,{value:e??!0,...n})}const Sne=()=>m.useContext(gkt)??!1,fkt=m.createContext(void 0);function N1n({value:e,children:n}){return t.jsx(fkt.Provider,{value:e,children:n})}function _1n({props:e,name:n}){return(function(i){const{theme:r,name:s,props:l}=i;if(!r||!r.components||!r.components[s])return l;const c=r.components[s];return c.defaultProps?Z5e(c.defaultProps,l,r.components.mergeClassNameAndStyle):c.styleOverrides||c.variants?l:Z5e(c,l,r.components.mergeClassNameAndStyle)})({props:e,name:n,theme:{components:m.useContext(fkt)}})}let _$e=0;const V$e={...ysn}.useId;function kne(e){if(V$e!==void 0){const n=V$e();return e??n}return(function(n){const[i,r]=m.useState(n),s=n||i;return m.useEffect((()=>{i==null&&(_$e+=1,r(`mui-${_$e}`))}),[i]),s})(e)}const H$e={};function U$e(e,n,i,r=!1){return m.useMemo((()=>{const s=e&&n[e]||n;if(typeof i=="function"){const l=i(s),c=e?{...n,[e]:l}:l;return r?()=>c:c}return e?{...n,[e]:i}:{...n,...i}}),[e,n,i,r])}function xkt(e){const{children:n,theme:i,themeId:r}=e,s=K5e(H$e),l=swe()||H$e,c=U$e(r,s,i),d=U$e(r,l,i,!0),u=(r?c[r]:c).direction==="rtl",p=(function(h){const g=K5e(),f=kne()||"",{modularCssLayers:x}=h;let y="mui.global, mui.components, mui.theme, mui.custom, mui.sx";return y=x&&g===null?typeof x=="string"?x.replace(/mui(?!\.)/g,y):`@layer ${y};`:"",D0((()=>{const b=document.querySelector("head");if(!b)return;const w=b.firstChild;if(y){if(w&&w.hasAttribute?.("data-mui-layer-order")&&w.getAttribute("data-mui-layer-order")===f)return;const C=document.createElement("style");C.setAttribute("data-mui-layer-order",f),C.textContent=y,b.prepend(C)}else b.querySelector(`style[data-mui-layer-order="${f}"]`)?.remove()}),[y,f]),y?t.jsx(ckt,{styles:y}):null})(c);return t.jsx(R1n,{theme:d,children:t.jsx(RSt.Provider,{value:c,children:t.jsx(z1n,{value:u,children:t.jsxs(N1n,{value:r?c[r].components:c.components,children:[p,n]})})})})}const W$e={theme:void 0},X5e="mode",exe="color-scheme",V1n="data-color-scheme";function H1n(){}const U1n=({key:e,storageWindow:n})=>(!n&&typeof window<"u"&&(n=window),{get(i){if(typeof window>"u")return;if(!n)return i;let r;try{r=n.localStorage.getItem(e)}catch{}return r||i},set:i=>{if(n)try{n.localStorage.setItem(e,i)}catch{}},subscribe:i=>{if(!n)return H1n;const r=s=>{const l=s.newValue;s.key===e&&i(l)};return n.addEventListener("storage",r),()=>{n.removeEventListener("storage",r)}}});function jse(){}function Q$e(e){if(typeof window<"u"&&typeof window.matchMedia=="function"&&e==="system")return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function Y$e(e,n){return e.mode==="light"||e.mode==="system"&&e.systemMode==="light"?n("light"):e.mode==="dark"||e.mode==="system"&&e.systemMode==="dark"?n("dark"):void 0}function W1n(e){const{defaultMode:n="light",defaultLightColorScheme:i,defaultDarkColorScheme:r,supportedColorSchemes:s=[],modeStorageKey:l=X5e,colorSchemeStorageKey:c=exe,storageWindow:d=typeof window>"u"?void 0:window,storageManager:u=U1n,noSsr:p=!1}=e,h=s.join(","),g=s.length>1,f=m.useMemo((()=>u?.({key:l,storageWindow:d})),[u,l,d]),x=m.useMemo((()=>u?.({key:`${c}-light`,storageWindow:d})),[u,c,d]),y=m.useMemo((()=>u?.({key:`${c}-dark`,storageWindow:d})),[u,c,d]),[b,w]=m.useState((()=>{const E=f?.get(n)||n,D=x?.get(i)||i,B=y?.get(r)||r;return{mode:E,systemMode:Q$e(E),lightColorScheme:D,darkColorScheme:B}})),[C,v]=m.useState(p||!g);m.useEffect((()=>{v(!0)}),[]);const A=(function(E){return Y$e(E,(D=>D==="light"?E.lightColorScheme:D==="dark"?E.darkColorScheme:void 0))})(b),S=m.useCallback((E=>{w((D=>{if(E===D.mode)return D;const B=E??n;return f?.set(B),{...D,mode:B,systemMode:Q$e(B)}}))}),[f,n]),$=m.useCallback((E=>{E?typeof E=="string"?E&&!h.includes(E)?console.error(`\`${E}\` does not exist in \`theme.colorSchemes\`.`):w((D=>{const B={...D};return Y$e(D,(F=>{F==="light"&&(x?.set(E),B.lightColorScheme=E),F==="dark"&&(y?.set(E),B.darkColorScheme=E)})),B})):w((D=>{const B={...D},F=E.light===null?i:E.light,R=E.dark===null?r:E.dark;return F&&(h.includes(F)?(B.lightColorScheme=F,x?.set(F)):console.error(`\`${F}\` does not exist in \`theme.colorSchemes\`.`)),R&&(h.includes(R)?(B.darkColorScheme=R,y?.set(R)):console.error(`\`${R}\` does not exist in \`theme.colorSchemes\`.`)),B})):w((D=>(x?.set(i),y?.set(r),{...D,lightColorScheme:i,darkColorScheme:r})))}),[h,x,y,i,r]),j=m.useCallback((E=>{b.mode==="system"&&w((D=>{const B=E?.matches?"dark":"light";return D.systemMode===B?D:{...D,systemMode:B}}))}),[b.mode]),I=m.useRef(j);return I.current=j,m.useEffect((()=>{if(typeof window.matchMedia!="function"||!g)return;const E=(...B)=>I.current(...B),D=window.matchMedia("(prefers-color-scheme: dark)");return D.addListener(E),E(D),()=>{D.removeListener(E)}}),[g]),m.useEffect((()=>{if(g){const E=f?.subscribe((F=>{(!F||["light","dark","system"].includes(F))&&S(F||n)}))||jse,D=x?.subscribe((F=>{(!F||h.match(F))&&$({light:F})}))||jse,B=y?.subscribe((F=>{(!F||h.match(F))&&$({dark:F})}))||jse;return()=>{E(),D(),B()}}}),[$,S,h,n,d,g,f,x,y]),{...b,mode:C?b.mode:void 0,systemMode:C?b.systemMode:void 0,colorScheme:C?A:void 0,setMode:S,setColorScheme:$}}function Q1n(e=""){function n(...i){if(!i.length)return"";const r=i[0];return typeof r!="string"||r.match(/(#|\(|\)|(-?(\d*\.)?\d+)(px|em|%|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc))|^(-?(\d*\.)?\d+)$|(\d+ \d+ \d+)/)?`, ${r}`:`, var(--${e?`${e}-`:""}${r}${n(...i.slice(1))})`}return(i,...r)=>`var(--${e?`${e}-`:""}${i}${n(...r)})`}const G$e=(e,n,i,r=[])=>{let s=e;n.forEach(((l,c)=>{c===n.length-1?Array.isArray(s)?s[Number(l)]=i:s&&typeof s=="object"&&(s[l]=i):s&&typeof s=="object"&&(s[l]||(s[l]=r.includes(l)?[]:{}),s=s[l])}))};function $se(e,n){const{prefix:i,shouldSkipGeneratingVar:r}=n||{},s={},l={},c={};return((d,u,p)=>{(function h(g,f=[],x=[]){Object.entries(g).forEach((([y,b])=>{(!p||p&&!p([...f,y]))&&b!=null&&(typeof b=="object"&&Object.keys(b).length>0?h(b,[...f,y],Array.isArray(b)?[...x,y]:x):u([...f,y],b,x))}))})(d)})(e,((d,u,p)=>{if(!(typeof u!="string"&&typeof u!="number"||r&&r(d,u))){const h=`--${i?`${i}-`:""}${d.join("-")}`,g=((f,x)=>typeof x=="number"?["lineHeight","fontWeight","opacity","zIndex"].some((y=>f.includes(y)))||f[f.length-1].toLowerCase().includes("opacity")?x:`${x}px`:x)(d,u);Object.assign(s,{[h]:g}),G$e(l,d,`var(${h})`,p),G$e(c,d,`var(${h}, ${g})`,p)}}),(d=>d[0]==="vars")),{css:s,vars:l,varsWithDefaults:c}}function os(e,n,i=void 0){const r={};for(const s in e){const l=e[s];let c="",d=!0;for(let u=0;u<l.length;u+=1){const p=l[u];p&&(c+=(d===!0?"":" ")+n(p),d=!1,i&&i[p]&&(c+=" "+i[p]))}r[s]=c}return r}function Ese(e,n){return m.isValidElement(e)&&n.indexOf(e.type.muiName??e.type?._payload?.value?.muiName)!==-1}const wz={black:"#000",white:"#fff"},Y1n={50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",A100:"#f5f5f5",A200:"#eeeeee",A400:"#bdbdbd",A700:"#616161"},G1n="#f3e5f5",q1n="#ce93d8",K1n="#ba68c8",Z1n="#ab47bc",J1n="#9c27b0",X1n="#7b1fa2",epn="#e57373",tpn="#ef5350",npn="#f44336",q$e="#d32f2f",ipn="#c62828",opn="#ffb74d",rpn="#ffa726",apn="#ff9800",spn="#f57c00",lpn="#e65100",cpn="#e3f2fd",dpn="#90caf9",K$e="#42a5f5",upn="#1976d2",ppn="#1565c0",hpn="#4fc3f7",mpn="#29b6f6",gpn="#03a9f4",Z$e="#0288d1",fpn="#01579b",xpn="#81c784",ypn="#66bb6a",bpn="#4caf50",wpn="#388e3c",Cpn="#2e7d32",vpn="#1b5e20";function ykt(){return{text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.6)",disabled:"rgba(0, 0, 0, 0.38)"},divider:"rgba(0, 0, 0, 0.12)",background:{paper:wz.white,default:wz.white},action:{active:"rgba(0, 0, 0, 0.54)",hover:"rgba(0, 0, 0, 0.04)",hoverOpacity:.04,selected:"rgba(0, 0, 0, 0.08)",selectedOpacity:.08,disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(0, 0, 0, 0.12)",disabledOpacity:.38,focus:"rgba(0, 0, 0, 0.12)",focusOpacity:.12,activatedOpacity:.12}}}const bkt=ykt();function wkt(){return{text:{primary:wz.white,secondary:"rgba(255, 255, 255, 0.7)",disabled:"rgba(255, 255, 255, 0.5)",icon:"rgba(255, 255, 255, 0.5)"},divider:"rgba(255, 255, 255, 0.12)",background:{paper:"#121212",default:"#121212"},action:{active:wz.white,hover:"rgba(255, 255, 255, 0.08)",hoverOpacity:.08,selected:"rgba(255, 255, 255, 0.16)",selectedOpacity:.16,disabled:"rgba(255, 255, 255, 0.3)",disabledBackground:"rgba(255, 255, 255, 0.12)",disabledOpacity:.38,focus:"rgba(255, 255, 255, 0.12)",focusOpacity:.12,activatedOpacity:.24}}}const txe=wkt();function J$e(e,n,i,r){const s=r.light||r,l=r.dark||1.5*r;e[n]||(e.hasOwnProperty(i)?e[n]=e[i]:n==="light"?e.light=Ane(e.main,s):n==="dark"&&(e.dark=vne(e.main,l)))}function X$e(e,n,i,r,s){const l=s.light||s,c=s.dark||1.5*s;n[i]||(n.hasOwnProperty(r)?n[i]=n[r]:i==="light"?n.light=`color-mix(in ${e}, ${n.main}, #fff ${(100*l).toFixed(0)}%)`:i==="dark"&&(n.dark=`color-mix(in ${e}, ${n.main}, #000 ${(100*c).toFixed(0)}%)`))}function lwe(e){const{mode:n="light",contrastThreshold:i=3,tonalOffset:r=.2,colorSpace:s,...l}=e,c=e.primary||(function(b="light"){return b==="dark"?{main:dpn,light:cpn,dark:K$e}:{main:upn,light:K$e,dark:ppn}})(n),d=e.secondary||(function(b="light"){return b==="dark"?{main:q1n,light:G1n,dark:Z1n}:{main:J1n,light:K1n,dark:X1n}})(n),u=e.error||(function(b="light"){return b==="dark"?{main:npn,light:epn,dark:q$e}:{main:q$e,light:tpn,dark:ipn}})(n),p=e.info||(function(b="light"){return b==="dark"?{main:mpn,light:hpn,dark:Z$e}:{main:Z$e,light:gpn,dark:fpn}})(n),h=e.success||(function(b="light"){return b==="dark"?{main:ypn,light:xpn,dark:wpn}:{main:Cpn,light:bpn,dark:vpn}})(n),g=e.warning||(function(b="light"){return b==="dark"?{main:rpn,light:opn,dark:spn}:{main:"#ed6c02",light:apn,dark:lpn}})(n);function f(b){return s?(function(C){return`oklch(from ${C} var(--__l) 0 h / var(--__a))`})(b):(function(C,v){const A=J5e(C),S=J5e(v);return(Math.max(A,S)+.05)/(Math.min(A,S)+.05)})(b,txe.text.primary)>=i?txe.text.primary:bkt.text.primary}const x=({color:b,name:w,mainShade:C=500,lightShade:v=300,darkShade:A=700})=>{if(!(b={...b}).main&&b[C]&&(b.main=b[C]),!b.hasOwnProperty("main"))throw new Error(L7(11,w?` (${w})`:"",C));if(typeof b.main!="string")throw new Error(L7(12,w?` (${w})`:"",JSON.stringify(b.main)));return s?(X$e(s,b,"light",v,r),X$e(s,b,"dark",A,r)):(J$e(b,"light",v,r),J$e(b,"dark",A,r)),b.contrastText||(b.contrastText=f(b.main)),b};let y;return n==="light"?y=ykt():n==="dark"&&(y=wkt()),K1({common:{...wz},mode:n,primary:x({color:c,name:"primary"}),secondary:x({color:d,name:"secondary",mainShade:"A400",lightShade:"A200",darkShade:"A700"}),error:x({color:u,name:"error"}),warning:x({color:g,name:"warning"}),info:x({color:p,name:"info"}),success:x({color:h,name:"success"}),grey:Y1n,contrastThreshold:i,getContrastText:f,augmentColor:x,tonalOffset:r,...y},l)}function Apn(e){const n={};return Object.entries(e).forEach((i=>{const[r,s]=i;typeof s=="object"&&(n[r]=`${s.fontStyle?`${s.fontStyle} `:""}${s.fontVariant?`${s.fontVariant} `:""}${s.fontWeight?`${s.fontWeight} `:""}${s.fontStretch?`${s.fontStretch} `:""}${s.fontSize||""}${s.lineHeight?`/${s.lineHeight} `:""}${s.fontFamily||""}`)})),n}function Spn(e,n){return{toolbar:{minHeight:56,[e.up("xs")]:{"@media (orientation: landscape)":{minHeight:48}},[e.up("sm")]:{minHeight:64}},...n}}function kpn(e){return Math.round(1e5*e)/1e5}const eEe={textTransform:"uppercase"},tEe='"Roboto", "Helvetica", "Arial", sans-serif';function Ckt(e,n){const{fontFamily:i=tEe,fontSize:r=14,fontWeightLight:s=300,fontWeightRegular:l=400,fontWeightMedium:c=500,fontWeightBold:d=700,htmlFontSize:u=16,allVariants:p,pxToRem:h,...g}=typeof n=="function"?n(e):n,f=r/14,x=h||(w=>w/u*f+"rem"),y=(w,C,v,A,S)=>({fontFamily:i,fontWeight:w,fontSize:x(C),lineHeight:v,...i===tEe?{letterSpacing:`${kpn(A/C)}em`}:{},...S,...p}),b={h1:y(s,96,1.167,-1.5),h2:y(s,60,1.2,-.5),h3:y(l,48,1.167,0),h4:y(l,34,1.235,.25),h5:y(l,24,1.334,0),h6:y(c,20,1.6,.15),subtitle1:y(l,16,1.75,.15),subtitle2:y(c,14,1.57,.1),body1:y(l,16,1.5,.15),body2:y(l,14,1.43,.15),button:y(c,14,1.75,.4,eEe),caption:y(l,12,1.66,.4),overline:y(l,12,2.66,1,eEe),inherit:{fontFamily:"inherit",fontWeight:"inherit",fontSize:"inherit",lineHeight:"inherit",letterSpacing:"inherit"}};return K1({htmlFontSize:u,pxToRem:x,fontFamily:i,fontSize:r,fontWeightLight:s,fontWeightRegular:l,fontWeightMedium:c,fontWeightBold:d,...b},g,{clone:!1})}function kl(...e){return[`${e[0]}px ${e[1]}px ${e[2]}px ${e[3]}px rgba(0,0,0,0.2)`,`${e[4]}px ${e[5]}px ${e[6]}px ${e[7]}px rgba(0,0,0,0.14)`,`${e[8]}px ${e[9]}px ${e[10]}px ${e[11]}px rgba(0,0,0,0.12)`].join(",")}const jpn=["none",kl(0,2,1,-1,0,1,1,0,0,1,3,0),kl(0,3,1,-2,0,2,2,0,0,1,5,0),kl(0,3,3,-2,0,3,4,0,0,1,8,0),kl(0,2,4,-1,0,4,5,0,0,1,10,0),kl(0,3,5,-1,0,5,8,0,0,1,14,0),kl(0,3,5,-1,0,6,10,0,0,1,18,0),kl(0,4,5,-2,0,7,10,1,0,2,16,1),kl(0,5,5,-3,0,8,10,1,0,3,14,2),kl(0,5,6,-3,0,9,12,1,0,3,16,2),kl(0,6,6,-3,0,10,14,1,0,4,18,3),kl(0,6,7,-4,0,11,15,1,0,4,20,3),kl(0,7,8,-4,0,12,17,2,0,5,22,4),kl(0,7,8,-4,0,13,19,2,0,5,24,4),kl(0,7,9,-4,0,14,21,2,0,5,26,4),kl(0,8,9,-5,0,15,22,2,0,6,28,5),kl(0,8,10,-5,0,16,24,2,0,6,30,5),kl(0,8,11,-5,0,17,26,2,0,6,32,5),kl(0,9,11,-5,0,18,28,2,0,7,34,6),kl(0,9,12,-6,0,19,29,2,0,7,36,6),kl(0,10,13,-6,0,20,31,3,0,8,38,7),kl(0,10,13,-6,0,21,33,3,0,8,40,7),kl(0,10,14,-6,0,22,35,3,0,8,42,7),kl(0,11,14,-7,0,23,36,3,0,9,44,8),kl(0,11,15,-7,0,24,38,3,0,9,46,8)],$pn={easeInOut:"cubic-bezier(0.4, 0, 0.2, 1)",easeOut:"cubic-bezier(0.0, 0, 0.2, 1)",easeIn:"cubic-bezier(0.4, 0, 1, 1)",sharp:"cubic-bezier(0.4, 0, 0.6, 1)"},vkt={shortest:150,shorter:200,short:250,standard:300,complex:375,enteringScreen:225,leavingScreen:195};function nEe(e){return`${Math.round(e)}ms`}function Epn(e){if(!e)return 0;const n=e/36;return Math.min(Math.round(10*(4+15*n**.25+n/5)),3e3)}function Ipn(e){const n={...$pn,...e.easing},i={...vkt,...e.duration};return{getAutoHeightDuration:Epn,create:(r=["all"],s={})=>{const{duration:l=i.standard,easing:c=n.easeInOut,delay:d=0,...u}=s;return(Array.isArray(r)?r:[r]).map((p=>`${p} ${typeof l=="string"?l:nEe(l)} ${c} ${typeof d=="string"?d:nEe(d)}`)).join(",")},...e,easing:n,duration:i}}const Dpn={mobileStepper:1e3,fab:1050,speedDial:1050,appBar:1100,drawer:1200,modal:1300,snackbar:1400,tooltip:1500};function Tpn(e){return Ky(e)||typeof e>"u"||typeof e=="string"||typeof e=="boolean"||typeof e=="number"||Array.isArray(e)}function Akt(e={}){const n={...e};return(function i(r){const s=Object.entries(r);for(let l=0;l<s.length;l++){const[c,d]=s[l];!Tpn(d)||c.startsWith("unstable_")?delete r[c]:Ky(d)&&(r[c]={...d},i(r[c]))}})(n),`import { unstable_createBreakpoints as createBreakpoints, createTransitions } from '@mui/material/styles';
3
3
 
4
4
  const theme = ${JSON.stringify(n,null,2)};
5
5
 
@@ -342,7 +342,7 @@ Initiate your first transfer to start earning yield.`,insuredFundsTooltip:"Secur
342
342
  The KYB info is required to comply with financial regulations and uphold the security of our customers.`,stepSubText:"Enter business details to complete verification."},link_card:{footNote:{text2:"Switch to credit card (3% fee)"},footNoteCard:{text1:"Switch to bank account — save 3% on your fee"}}},navBar:{skipText:"Skip, I will do this later",link_payment_account:{title:"Go live with your Zeni Dashboard!",subTitle:"To setup your Zeni dashboard, please complete the following steps"},qbo_connection:{subTitle:"To set up your dashboard, we must connect with your QuickBooks account."},company_officer:{subTitle:`Enter proof of identity to complete verification.
343
343
  The KYC info is required to comply with the Bank Secrecy Act and Anti-Money Laundering regulations.`},company_details:{subTitle:`Enter business details to complete verification.
344
344
  The KYB info is required to comply with financial regulations and uphold the security of our customers.`}},sections:{link_payment_account:{subText:"Log in securely to your bank and start managing your payments right away",smsOptIn:"SMS Opt-in",smsOptOut:"SMS Opt-out",bankVerificationTitle:"Follow these steps to verify bank account",plaidSmsVerification:"An example of Plaid sending an SMS with the verification link",highlightedWords:{depositAmount:"$0.01",plaidSms:"Plaid will then send you a",smsWithALink:"SMS with a link",zeniAccountVerify:"ZENI ACCTVERIFY",smsLink:"link in the SMS"},bankVerification1:{step1:"Within a few days, you'll see a $0.01 deposit from Plaid in your bank account.",step2:"Plaid will then send you an SMS with a link (unless opted out) to complete the verification.",step3:'Check your bank statement for a 3-letter code after "#" symbol in "ZENI ACCTVERIFY" transaction.',step4:'Open the link in the SMS from Plaid or click "Start Verification" below to verify.'},bankVerification2:{step1:"Within a few days, you'll see a $0.01 deposit from Plaid in your bank account",step2:'Check your bank statement for a 3-letter code after "#" symbol in "ZENI ACCTVERIFY" transaction.',step3:'Enter this code by clicking "Start Verification" button below to complete your verification.'},verifyButton:"Verify Bank Account",verificationNotice:{title:"We're verifying your account via Plaid",subTitle:"This may take up to 2 business days.",notificationText:"Once verified, we’ll notify you via email so you can complete the onboarding."}},card_payment_method:{subHeader:"Securely add your preferred payment method to activate your account.",addNewCard:"Link a new card",protectedCardNo:"****"},connectLedger:{introBody:"This is the moment AI Accountant activates. In the first 2 hours it will read your books, detect recurring journal entry patterns, flag variance anomalies, and hand AI CFO the financial foundation it needs to answer any question you ask.",whatHappensHeading:"What happens after you connect?",firstPhase:{title:"First 2 hours",body:"Reads your chart of accounts and every transaction to build a complete finance graph of your company — a structured model of vendors, accounts, cash flows, and relationships that powers every automated report."},secondPhase:{title:"First 2 to 4 hours — your AI gets personal",body:"Zeni builds AI models fine-tuned specifically to {tenantName} — your vendors, your chart of accounts, your accounting patterns. Trained on signals from 1,000+ Zeni customers and over $20B in transactions."},unlocksTooltip:{quickbooks:{heading:"What you unlock by connecting Quickbooks",accountantBullets:["Auto-categorizes every transaction into your chart of accounts.","Reconciles bank, card, and ledger lines end-to-end.","Drafts the journal entries that close your books."],cfoBullets:["Grounds every forecast and answer in your live ledger.","Powers cash, burn, and runway in the dashboard."]},netsuite:{accountantBullets:["Consolidates close across every subsidiary in your structure.","Drafts multi-entity GL with intercompany eliminations.","Handles advanced revenue recognition schedules."],cfoBullets:["Rolls cash, burn, and runway up across all subsidiaries.","Forecasts respect entity-level transfer pricing and FX."]}},pageSubtitle:"Required foundation for both AI Agents"},officerVerification:{introBody:"Upload a government-issued ID below. Zeni AI reads the document and autofills your details automatically — no manual typing required.",aiCallout:{body:"will retrieve data from the document once you upload it and autofill the details."},autofillFooter:"Fields marked with the Zeni AI sparkle were autofilled from your uploaded document."},companyVerification:{introTitle:"Verify your business.",introBody:"Upload your EIN document. Zeni AI extracts all business details automatically — no manual typing required.",aiCallout:{body:"will retrieve data from your EIN document and autofill all business details."},autofillFooter:"Fields marked with the Zeni AI sparkle were autofilled from your uploaded document."},unlockFinancialStack:{pageTitle:"Unlock your financial stack",pageSubtitle:"You can complete verification any time from Company Settings.",introTitle:"Verify once. Unlock two financial products.",introBody:"A quick identity and business check — required for financial compliance and takes about 5 minutes. Your AI Agents are already working. When you use Zeni's own products, every transaction flows natively into AI Accountant with zero gaps — your close literally takes care of itself. Here is what you unlock.",products:{chargeCard:{name:"Zeni Charge Card",body:"On every purchase. No annual fees, no foreign transaction fees, no complexity. Credit based on your financial health — no personal guarantee."},businessChecking:{value:"2.5% APY",body:"FDIC insured up to $3M through Thread Bank sweep network. Interest compounded daily. No minimums, unlimited accounts."},treasury:{value:"Up to 4% APY",body:"Put idle cash to work automatically. Smart allocation across instruments to maximize yield on your operating reserves."},billPay:{body:"Free domestic transfers, free USD international wires, $0 ACH fees. AI auto-fills invoice details and handles all journal entries automatically."},reimbursements:{body:"Unlimited reimbursements with same-day ACH payouts. Supports 160 currencies, multi-level approval workflows, and AI categorization built in."},debitCard:{name:"Zeni Debit Card",body:"Instant cashback on every spend with no minimums. Full AI spend management, real-time controls per employee or department, and zero foreign transaction fees."}},aiActiveCallout:{heading:"AI Accountant and AI CFO are already active.",body:"Zeni AI will read your uploaded documents and autofill all details automatically.",metaPrimary:"Most verifications",metaSecondary:"complete in under 5 mins"},kycStep:{title:"Step 1 — Verify your identity (KYC)",body:"Upload a government-issued ID. Zeni AI reads the document and autofills name, date of birth, and address automatically. Required by the Bank Secrecy Act and Anti-Money Laundering regulations."},kybStep:{title:"Step 2 — Verify your business (KYB)",body:"Upload your EIN document. Zeni AI extracts company legal name, incorporation type, registered address, and Tax ID automatically. Required for financial services compliance.",meta:"Takes about 3 mins"},startVerificationCta:"Start verification"},chrome:{skipLabel:"Skip for now",skipToDashboardDisabledTooltip:"Connect QuickBooks to activate your dashboard",skipToDashboardPendingVerificationTooltip:"Verify your bank account to activate your dashboard",skipToDashboardLoginRequiredTooltip:"Re-login to your bank account to activate your dashboard"},activateSubscription:{pageTitle:"Activate your subscription",pageSubtitle:"Required to activate your Zeni subscription.",ctaLabel:"Continue to connect your ledger",ctaLabelWithoutLedger:"Continue to verify your business"},connectLedgerPage:{ctaLabel:"Continue to activation",pageSubtitle:"Required foundation for both AI Agents"},officerVerifyPage:{pageSubtitle:"Documents are encrypted and stored with SOC 2 Type II compliance.",ctaLabel:"Continue to business verification"},companyVerifyPage:{pageTitle:"Verify your business",pageSubtitle:"Documents are encrypted and stored with SOC 2 Type II compliance.",ctaLabel:"Submit and go to dashboard"},aiAgentsActivating:{demoTenantName:"Pied Piper"},connectDataSources:{pageTitle:"Connect your Data Sources",pageSubtitle:"Connect what you have access to — others on your team can add the rest later.",ctaLabel:"Continue to verification"},setupBilling:{introTitle:"To get started, please link your payment method and enter company billing address.",introBody:"Your AI Agents are already reading your books. Set up billing to keep them running after your trial ends.",includedCard:{heading:"What's always included:",accountantBody:"Runs your books every day, automatically.",cfoBody:"Answers every financial question, always available.",connectionsLabel:"Unlimited data source connections",connectionsBody:"QBO, banks, cards, AR, AP, revenue, payroll, email and more.",financeTeamLabel:"Your dedicated finance team",financeTeamBody:"Controller, Team Lead and Accountant available Monday–Friday."},paymentMethodHeading:"Subscription Payment Method",paymentMethodSubheading:"ACH bank debit — no additional fees"},qbo_connection:{subTitle:"To set up your dashboard, we must connect with your QuickBooks account.",sucessText:"Congratulations! You have successfully established a connection with QuickBooks.",subtitleText:"Accounting & bookkeeping — journal entries, invoices, bills, expenses",requiredText:"Please connect Quickbooks to sync your financial data",errorText:"Unable to connect quickbooks. Please try again."},company_officer:{subTitle:"Enter proof of identity to complete verification."},company_details:{subTitle:"Enter business details to complete verification."}},thankYou:{title:"Thank you for providing the details.",subTitle:"We are currently verifying and working on your Dashboard."},footer:{buttons:{submitText:'By clicking "__action__", I certify that the information provided here is complete and correct.'}},productSuite:{navTitleCFO:"Thank you, we've got your details",navTitle:"Thank you for completing your onboarding steps",updatePaymentDetails:"Update Payment Details",messageBox:{default:"We're now setting up your Quickbooks account and will notify you via email once it's ready.",onlyTax:"Our Tax team will email you with the next steps within 2 business days.",onlyCFO:"Our CFO team will email you with the next steps before your service start date.",onlyPayroll:"Our Payroll team will email you with the next steps within 2 business days.",taxAndPayroll:"Our Tax & Payroll teams will email you with the next steps within 2 business days.",withTax:"Our Tax team will email you within 2 business days.",withPayroll:"Our Payroll team will email you within 2 business days.",withCFO:"Our CFO team will reach out to you before your service start date.",withTaxAndPayroll:"Our Tax & Payroll teams will email you within 2 business days."},sectionTitleCFO:"Explore more solutions tailored for your business",sectionTitle:"Meanwhile, learn more about Zeni products",sectionFooter:"Discover Zeni's product suite",productCard:{cards:[{cardTitle:"Zeni Reimbursements",sectionTitle:"Pay your employees back faster",sectionSubTitle:"Reimburse your employees at lightning speed with AI-powered expense processing at no additional cost."},{cardTitle:"Zeni Bill Payments",sectionTitle:"Pay your bills in seconds",sectionSubTitle:"Speed up domestic and international vendor payments with AI-powered invoice processing at no additional cost."},{cardTitle:"Zeni AI Bookkeeping",sectionTitle:"Simplify your bookkeeping",sectionSubTitle:"Give your business all the financial insights it needs to succeed on a single dashboard."}]}},aiFinanceTeamReady:{title:{prefix:"Your ",highlight:"AI finance",suffix:" team is ready, {firstName}."},agentChip:"Two AI Agents are joining {companyName}'s finance org today.",description:"Connect them to your financial data and they start working immediately — categorizing, reconciling, journalizing, and answering every question your CFO has.",accountantCard:{subtitle:"Runs the books every day. Handles every accounting task automatically.",tasks:{bankReconciliation:{title:"Bank reconciliation",meta:"Chase ••••8992 — 847 transactions matched"},autoCategorization:{title:"Auto categorization",meta:"1,204 transactions — 94% categorized"},journalEntryEngine:{title:"Journal entry engine",meta:"12 recurring JEs detected and scheduled"},fluxAnalysis:{title:"Flux analysis",meta:"AWS +29% vs last month — flagged"},apArAging:{title:"AP and AR aging",meta:"3 invoices 30+ days overdue — surfaced"}},footer:"All of this happens automatically, every day."},cfoCard:{subtitle:"Answers every financial question. Always available, always precise.",chat:{netBurnQuestion:"What is our net burn this month?",netBurnAnswer:{heading:"Net burn is $487K this month",body:"Payroll 61%, software and infrastructure 22%. Up $34K vs last month — new engineering hire Mar 12 and an $18K AWS overage."},revenueQuestion:"Are we on track for Q2 revenue?",revenueAnswer:{heading:"Yes, on track at 94% confidence",body:"$312K closed, $180K in late stage pipeline due this month. Risk: 3 March renewal invoices totalling $42K still outstanding."}},suggestions:{runway:"What's our current runway?",burnByDept:"Show me burn by department",vendorReview:"Which vendors should I review?",closeStatus:"Close status for November"}},trustRow:{soc2:"SOC 2 Type II",bankGrade:"Bank-grade encryption",trusted:"Trusted by 1,500+ finance teams"},cta:"Connect your Finance Team"}},uncategorizedAccountsMapping:{accountingSettings:{heading:"Account Settings",accountingClasses:{title:"Accounting Classes",subTitle:"Track and categorize transactions by class. Turning this off hides class fields and columns across the workspace.",enableConfirmation:{title:"Enable Accounting Classes?",description:"Class fields will appear on transactions, bills, reimbursements, and reports so you can track spending by class."},disableConfirmation:{title:"Disable Accounting Classes?",description:"Class fields and columns will be hidden across the workspace. Existing class assignments on transactions are preserved but won't be visible until you re-enable this setting."}},projects:{subTitle:"Track and categorize transactions by project. Turning this off hides project fields and columns across the workspace."}},uncategorizedSection:{heading:"Uncategorized Accounts",title:"Income & Expense Accounts",subTitle:"Select the accounts used to temporarily track transactions that require clarification.",incomeLabel:"Income Account:",expenseLabel:"Expense Account:",incomeAccount:"Income Account",expenseAccount:"Expense Account"},billsSection:{subTitle:"Select the account used to track charges while using Zeni Bill Pay",bankChargesAndFeesLabel:"Bank Charges & Fees Account:",billPayExpenseAccount:"Bill Pay Expense Account"},reimbursementsSection:{subTitle:"Select the account used to track charges while using Zeni Reimbursements",mileageLabel:"Mileage Account:",reimbursementsExpenseAccount:"Mileage Expense Account"},vendorSection:{prepaidExpenseSubTitle:"Select the accounts used to track prepaid expenses",fixedAssetsSubTitle:"Select the accounts used to track fixed asset expenses",accruedExpensesSubTitle:"Select the accounts used to track accrued expenses",prepaidExpenselabel:"Prepaid Expense Accounts:",fixedAssetslabel:"Fixed Asset Accounts:",accruedExpenseslabel:"Accrued Expense Accounts:",prepaidExpenseAccount:"Prepaid Expense Account",fixedAssetsAccount:"Fixed Asset Account",accruedExpensesAccount:"Accrued Expense Account"},common:{label:{bankAccountLabel:"Bank Accounts:",expenseCategoriesLabel:"Expense Categories:"}},filing1099Section:{subHeading:"Form 1099 is a tax form filed by businesses to report annual payments of $600 or more to vendors or independent contractors.",bankAccountTitle:"Bank Accounts",bankAccountSubTitle:"Select the bank accounts used to pay vendors",expenseCategoriesSubTitle:"Select the expense categories to filter eligible payment types",infoTextBankAccount:"To fetch all payments made to vendors",infoTextGlAccount:"To filter the eligible payments",allExpenseTypes:"All Expense Types",all1099Types:"All 1099 Types",allBoxes:"All Boxes"},placeholder:{incomePlaceholder:"Select Income Account",expensePlaceholder:"Select Expense Account",accountPlaceholders:"Select accounts",categoryPlaceholder:"Select Category",boxPlaceholder:"Select box"},tooltip:'The "__account__" recommendation is __based__',noOptions:{establishQBO:"Kindly establish the accounts in QuickBooks.",noTypesFound:"No type found!",noBoxTypesFound:"No box type found!"},capitalizationSection:{heading:"Capitalization Thresholds",headingSubtitle:"Thresholds are auto-calculated nightly. Set a user override to use your own value instead.",onboardingPopup:{titles:{prepaid:"Prepaid Expense Thresholds Identified",fixed_asset:"Fixed Asset Thresholds Identified"},descriptions:{prepaid:"Set a capitalization threshold for __accountName__. Transactions below the threshold will be expensed directly instead of being capitalized.",fixed_asset:"Set a capitalization threshold for __accountName__. Transactions below the threshold will be expensed rather than capitalized as assets."},maybeLaterButton:"Maybe Later",thresholdPlaceholder:"Enter threshold amount",helpText:"You can always update this later in Settings > Accounting."},globalControls:{title:"Global Threshold Controls",threshold:{description:"Overrides all learned thresholds when set. Clear to use per-account learned values."},maxCeiling:{label:"Max Ceiling",description:"Caps learned thresholds — any account whose learned value exceeds this is clamped. Clear to use system default."}},accountsTable:{subtitle:"Capitalizable Accounts",overrideBanner:"All accounts using user-set threshold: __value__",headers:{threshold:"Threshold",matchStrength:"Match Strength",effectiveThreshold:"Effective Threshold",learnedThreshold:"Learned Threshold",userOverride:"User Override"},classification:{prepaid:"Prepaid"},matchPattern:{LABEL:"Strong",TYPE_ONLY:"Weak"},sourceBadge:{override:"Override",learned:"Learned"},lastUpdated:"Last updated: __date__",empty:{noData:"Accounts will appear here after the nightly analysis runs.",noLearned:"No capitalizable accounts with identified thresholds yet.",noAccounts:"No capitalizable accounts identified yet."}},defaultCurrencySymbol:"$"}},jeSchedules:{scheduleList:{defaultDownloadFileName:"__tenant__ Schedules.xlsx",tableHeaders:{balanceAsOfToday:"Balance as of today",endMonth:"End Month",expenseCategory:"Expense Category",assetId:"Asset ID"},noData:"No Schedules Found",heading:{expenseSchedules:"Expense Schedules",searchPlaceholder:"Search Schedules"},getSchedules:{selectSchedule:"Select Schedule:",getSchedules:"Get Schedules"},scheduleStatus:{draft:"Draft"}},scheduleDetails:{jeSchedule:"JE Schedule",showTransactionTooltip:"Show Transaction",scheduleTransactionsHeader:{vendorName:"Vendor Name",expenseCategory:"Expense Category:"},sequenceSchedule:{header:"Schedule Sequence",notCreated:"Once details are entered, the schedule sequence will be displayed here.",sequenceHeaders:{runningBalance:"Running Balance (as of today)",jeLink:""},accruedSequenceHeader:{jePostingDate:"Accrual Posting Date",runningBalance:"Accrual Balance",jeLink:""},sequenceData:{amountPlaceholder:"0"},postingStatus:{pending:"Pending",unknown:"Unknown",posted:"Posted",canceled:"Canceled",recorded:"Recorded"}},scheduleDetailsSection:{header:"Schedule Details",startMonth:"Start Month:",startMonthPlaceholder:"Select start month",months:"Months:",monthsPlaceholder:"Select month",accumulatedDepreciationCategory:"Accumulated Depreciation Category:",accumulatedDepreciationCategoryPlaceholder:"Select accumulated depreciation category",assetId:"Asset ID:",assetIdPlaceholder:"Add asset ID",postingDate:"Posting Date:",postingDatePlaceholder:"Select posting date",confirmCancelAccrualDescription:"Cancel all the pending accrual schedules. This action cannot be undone.",confirmDeletionDescription:"Are you sure you want to delete this schedule? This action cannot be undone.",confirmDeletionDescriptionNote:"Note - Deleting the schedule will not delete any associated journal entries in QBO.",markAsCompleted:"Mark As Completed",createSchedule:"Create Schedule",scheduleMarkedAsCompleted:"Schedule has been marked as completed",cancelPendingAccrual:"Cancel Pending Accruals",cancelAccrual:"Cancel Accrual",viewRecordedJE:"View Recorded JE",viewPostedJE:"View Posted JE",deleteSchedule:"Delete Schedule"},linkJE:{fetchJE:"Fetch JE",jeLinkURLPlaceholder:"Add Link",jeLink:"JE Link:",linkJE:"Link JE",linkBillExpense:"Link Bill or Expense",viewBillExpense:"View Bill or Expense",jePostingDate:"JE Posting Date:",jeDetails:"JE details will be presented here once you enter the JE link and complete the fetch operation.",transactionFetchError:"There was an error fetching the transaction.",zeniRecommendation:"Based on Zeni GPT recommendation, journal entry posting has been automatically retrieved for the schedule."}},scheduleAccruedDetails:{new:{header:"New Accrued Expenses",new:"new"},labels:{estimatedMonthlyAmount:"Estimated Monthly Amount:",accruedExpenseCategory:"Accrued Expense Category:",startingBalance:"Starting Balance:"},placeholders:{selectVendor:"Search and select vendor",addBalance:"Add Balance",selectAccruedExpenseCat:"Select accrued expense category"}},linkBillExpenseDetails:{tableHeaders:{transactionAttachment:""},title:"Link Bill Or Expense",noBillFound:"No Bill or Expense found for the schedule",linkBill:"Link Bill",additionalBills:"Additional Bills For The Vendor",zeniGPTText:"Based on Zeni GPT recommendation, the bill or expense posting has been automatically retrieved for the schedule."}},vendorReview:{globalReview:{newGlobalMerchant:{tip:"Protip: Verify online domain availability of the vendor name.",recommendationInfoText:"Enter text to fetch recommendation"},globalMerchantList:{navBarTitle:"Global Vendors Review",searchPlaceholder:"Search tenant",confirmationPopup:{title:'Are you sure you want to add "_merchant_name_" in Global vendor list?',description:"Confirm will add the vendor to the global list. This change can’t be reverted back.",merchantNameFallback:"this merchant"},selectPlaceholder:"Select Global Vendor",noDataText:"No global vendors to display yet!",noMatchedDataText:"No global vendors matched your search."}},firstReview:{searchPlaceholder:"Search vendor",viewRecipts:"View receipts",vendorDropdown:{recommendedCustomer:"Recommended Customer",allCustomers:"AllCustomers",fromOldName:'Change name from "__old_name__"',toNewName:' to "__new_name__"'},invoice:"invoice",popupMessages:{netsuiteLinkPopupTitle:'A vendor by name "_vendor_name_" already exists in NetSuite',netsuiteLinkPopupMsgHeader:"Please login to NetSuite and follow the steps given below to merge the vendor",netsuiteLinkPopupSubTitle:"Keep in mind that merging vendor profiles is permanent. You can't undo this later.",netsuiteLinkPopupDescription:"Please note that the related transactions will be migrated within the next 24 hours after the change.",qboLinkPopupMsgHeader:"Please login to QBO and follow the steps given below to merge the vendor",qboLinkPopupSubTitle:"Keep in mind that merging vendor profiles is permanent. You can't undo this later.",qboLinkPopupTitle:'A vendor by name "_vendor_name_" already exists in QBO',zeniUpdatedRecommendationPopupTitle:'Vendor recommendation for "_vendor_name_" is updated from "_old_recommendation_" to "_new_recommendation_".',zeniUpdatedRecommendationPopupMsg:"Zeni AI has updated the recommendation for this vendor name. Click 'Continue' to use updated vendor name or Click 'cancel' & refresh the page to view the updated vendor recommendation.",zeniNewRecommendationPopupTitle:'Vendor recommendation for "_vendor_name_" is updated to "_new_recommendation_".',zeniNewRecommendationPopupMsg:"Zeni AI has provided a recommendation for this vendor name. Click 'Continue' to proceed with the selected vendor name or 'Cancel' to view the newly added recommendation.",zeniNewRecommendationNotAvailablePopupTitle:'Vendor recommendation for "_vendor_name_" is no longer available.',zeniNewRecommendationNotAvailablePopupMsg:`Zeni AI has updated the recommendation for this vendor. Please try again.
345
- `,redirectToQBO:"Redirect to QBO",mergeInQBOSteppedContent:{step1:{navigateTo:"Navigate to ",andSelectThe:" and Select the ",tab:" tab."},step2:{lineText:"Find and open the vendor profile you want to keep. Then Select ",andCopy:" and copy",display:"Display"},step3:{goBackTo:"Go back to the ",lineText:" tab. Find and open the vendor you don't want to keep. Then select "},step4:{lineText:"Change the display name to make it identical to the vendor you're merging it with."},step5:{andThen:" and then "}},mergeInNetSuiteSteppedContent:{step1:{goTo:"Go to ",lists:"Lists",then:" then ",relationships:"Relationships",then2:" then "},step2:{click:"Click ",next:" next to the ",sourceInfo:" that will be the source "},step3:{onThe:"On the ",page:" page, under ",click:", click "},step4:{onThe:"On the ",mergeVendor:"Merge Vendor",endText:" page, select the target vendor into which you want to merge this source vendor record. "},step5:{text:" Both the source and target vendor records must have the same primary subsidiary to merge the records. "},step6:{click:"Click ",text:" . At the prompt to confirm the action, click "},step7:{onThe:"On the ",duplicateResolution:"Duplicate Resolution Status",text:" page, the merge is queued for process. "},step8:{click:"Click ",processText:" to process the merge or the ",haltText:" link to halt the merge process. "},step9:{the:"The ",text:" column provides the results of the merge. "},step10:{text:"The un-categorized and mis-categorized transactions for the deleted vendor will be migrated within 24 hours after the vendor merge is completed. "}}},rowMoreActions:{markAsEmployee:"Mark as Employee",markAsLocalContractor:"Mark as Local Contractor"},tooltip:{mergeInQBOText:"Updated vendor name already exists in QBO and needs to be merged.",mergeInNetSuiteText:"Updated vendor name already exists in NetSuite and needs to be merged."},overlay:{title:'Add Website for "_vendor_name_"'}}},commentsAndNotifications:{notifications:{texts:{markAsRead:"Mark as Read",markAllAsRead:"Mark all as read"},actionStrings:{comments:{mention:"mentioned you in comment",reply:"replied to your comment",reaction:"reacted to your message",toMessage:"to your message",assign:"assigned you to a task",unassign:"unassigned you from a task",newThread:"created a new thread",resolveComment:"resolved a comment",unResolveComment:"reopened a comment",newActivity:"performed new activity on your message",newRepliesAdded:"replied to a comment",newCommentAdded:"added a comment"},notifications:{create:"created this task.",assign:"assigned this task to you.",overdue:"Due date was __date__",due:"Currently __task_status__ and is due tomorrow.",dueTomorrow:"This task is due tomorrow.",statusUpdate:"Status updated from",activities:"made updates to this task.",delete:"deleted this task.",archive:"archived this task.",newActivity:"performed new activity on this task."}},strings:{notificationSelected:"Notification selected",notificationsSelected:"Notifications selected",newMessage:"You have received a new message"},message:{noNotificationsMessage:"No notifications at this time. You're all caught up."}}},featurePreview:{scheduleDemo:"Schedule a Demo",popups:{home:{title:"Unleash the Power of AI Bookkeeping",text:"Update your books daily, access real-time insights, and receive personalized support from a dedicated team of experts — all on a single platform"},ai_automation:{title:"Unleash the Power of AI Bookkeeping",text:"Update your books daily, access real-time insights, and receive personalized support from a dedicated team of experts — all on a single platform"},reports:{title:"Investor Ready Reports",text:"Generate beautiful PDF reports to forward to investors, bankers, or to build into your board deck. Alternatively, download or share view-only access to your dashboard."},forecast:{title:"Forecasting and Planning",text:"Don't settle for Excel. Accurately forecast your bookings, revenues, workforce, expenses and cash flows by comparing Actuals vs Budgets from a central dashboard."},bills:{title:"The fastest way to pay vendors",text:"Pay domestic and international vendors quickly and automate your accounts payable process end-to-end directly from the dashboard – at no additional cost. "},reimbursements:{title:"Reimburse employees at lightning speed",text:"Embrace the efficiency and future of AI-driven expense reimbursements while boosting employee satisfaction."},vendors:{title:"Stop wondering how you’re spending money",text:"Daily, crystal-clear insights into your Operating Expenses give you an instant view into your cash burn and expenses, including Gross Burn and Net Burn trends."},people:{title:"",text:""},rewards:{title:"",text:""},cards:{title:"",text:""},checking:{title:"Business banking turning transactions into triumphs",text:"Modern checking accounts with a guaranteed yield earned from your first dollar and no hidden fees. Leverage AI to auto categorize your transactions effortlessly."},treasury:{title:"",text:""},accounting:{title:"",text:""},approval_rules:{title:"",text:""},bank_connections:{title:"",text:""},business_verification:{title:"",text:""},company_details:{title:"",text:""},integrations:{title:"",text:""},my_profile:{title:"",text:""},my_bank_connections:{title:"",text:""},notifications:{title:"",text:""},billing:{title:"",text:""},performance:{title:"",text:""},ai_cfo:{title:"",text:""}}},collaboration:{commentOnField:"comment on field",threads:{placeholder:{replyAComment:"Reply to comment...",addANewComment:"Add a new comment..."},tooltip:{resolveComment:"Resolve comment",unResolveComment:"Re-open comment"}}},expenseAutomation:{common:{numbers:{maximumCount:999}},overview:{confidenceScoreDescription:"Higher score means you're close to finish.",auditScoreDescription:"Streamline your month-end close with Zeni AI.",monthEndCloseProgress:"Month-end close progress",targetClose:"Target Close:",daysToClose:"Days to Close:",financialClose:"Financial Close",reviewReport:"Review month-end close report.",insightsCtaMessage:"Improve your confidence score to _minimum_score_ or above to unlock month-end insights",createInsights:"Create _month_name_ Insights",monthEndCloseTrend:"Performance Trend",monthEndCloseTrendNoData:"No data yet!",monthEndCloseTrendNoDataDescription:"Initiate your first month-end close to track performance.",confidenceScoreTooltip:"Indicates overall progress of all month-end close tasks. Higher score means you're closer to finishing the close.",byHumans:"by Humans",progress:"Progress",headerByAI:"By AI",statistics:{accountsAutoReconciled:"Accounts auto-reconciled",transactionsAutoCategorized:"Transactions auto-categorized",humanEfficiency:"Tasks completed by AI Agents",fasterReviews:"Faster reviews",vendorsWithFluctuations:"Vendors with fluctuations"}},confirmationDescription:"Are you sure you want to exit without saving?",dashboardCard:{month_end_insights:"Month end insights"},transactions:{header:{memoReceipt:"Memo | Receipt",receipt:"Receipt",toFrom:"To/From"},searchPlaceholder:"Search by vendor, amount, date, or memo",tabs:{autoCategorized:"Auto-categorized"},transactionGroupFilter:{transactionGroupLabel:"Transaction Group"},subTitles:{review:{item1:{pre:"",bold:"AI Bookkeeper",post:"has recommendations for Payees, Categories, Classes."},item2:{pre:"",bold:"",prefixIconName:"",post:"Review them, select, save your changes, and AI Bookkeeper will learn from your updates."}},autoCategorized:{item1:{pre:"",post:"have auto-categorized the below #number transactions for this month."},item2:{pre:"",bold:"",prefixIconName:"",post:"Feel free to review and make the necessary changes. AI Agents will learn from your updates."}}},allDoneText:{title:"All set!",subTitle:"Task cleared, ready to soar!"},emptyStates:{noSearchResults:{title:"No matching transactions",subTitle:"Try adjusting your search or filters."}},filters:{categoryLabels:{paymentAccountName:"Payment Account Name",paymentAccountType:"Payment Account Type"},amountOperators:{isEqual:"Is equal",inBetween:"In between",placeholder:"Select operator"},filterOptions:{transactionAmountOptions:[{label:"< 100",value:"-10000000<->100"},{label:"100 to 500",value:"100<->500"},{label:"500 to 1K",value:"500<->1000"},{label:"1K to 5K",value:"1000<->5000"},{label:"5K to 10K",value:"5000<->10000"},{label:"10K to 20K",value:"10000<->20000"},{label:"> 20K",value:"20000<->10000000"}],transactionTypeOptions:[{label:"Auto-categorized",value:"autoCategorized"},{label:"Review",value:"review"},{label:"Categorized",value:"categorized"},{label:"Uncategorized",value:"uncategorized"}]},selectPaymentAccountNamePlaceholder:"Select Payment Account Name",searchForPayeePlaceholder:"Search for Payee"},addProject:"Add Project",transactionActivityLog:{noLogsFound:"No Activity logs found",transactionIngested:"Transaction ingested.",aiBookkeeperAdded:"AI Bookkeeper added the",userUpdatedDetails:"Updated the transaction details.",linePrefix:"Line #"},transferDrawer:{debitAccountLabel:"Debit Account:",creditAccountLabel:"Credit Account:",keepExpense:"Keep {transactionType}",convert:"Convert",convertToTransfer:"Convert {transactionType} to Transfer",convertToCreditCard:"Convert {transactionType} to Credit Card Payment",transferDrawerSubtitle:"The current {transactionType} will be deleted and replaced with a transfer entry",creditCardPaymentDrawerSubtitle:"The current {transactionType} will be deleted and replaced with a credit card payment entry",groupHeadingAllAccounts:"All Accounts",noEligibleAccountsDropdownLine2:"Connect an account or keep this as an expense."},transactionTypeDropdown:{multilineNotEligibleTooltip:"Multiline transactions are not eligible for transfer entry."}},jeSchedules:{subTitles:{item1:{pre:"",bold:"",prefixIconName:"",post:"Please review the following journal entries below and correct or post them."},item2:{pre:"",post:"will learn from your update, automate it, and boost accuracy and efficiency to simplify every step."}},allDoneText:{title:"High five!",subTitle:"All schedules reviewed!"},emptyState:{pendingReview:{title:"High five!",subTitle:"All schedules reviewed!"},ongoing:{title:"High five!",subTitle:"No ongoing schedules"},completed:{title:"High five!",subTitle:"No completed schedules"}},scheduleHeaders:{period:"Amortization Period",balance:"Running balance (as of today)",months:"Remaining Months",amountForMonth:"Amount(for this month)",entry:"Entry",monthlyAmount:"Monthly Amount",reversesOn:"Reverses on",reversesOnMatch:"Reverses on match",scheduledAndPosted:"Scheduled + Posted",startMonth:"Start Month",amount:"Amount",memo:"Memo"},scheduleCot:{recommendedMethod:"Recommended method",monthLifeSuffix:"-mo life",methodByType:{prepaid_expenses:"Straight-line amortization",fixed_assets:"Straight-line depreciation",accrued_expenses:"Accrual",deferred_revenue:"Straight-line recognition"},credit:"Credit",debit:"Debit"},oneTimeAccrualType:"Accrual",lifecycleLabel:{prepaid_expenses:"Prepaid Schedule",fixed_assets:"Fixed Asset Schedule",accrued_expenses:"Accrued Schedule",deferred_revenue:"Deferred Revenue Schedule"},tooltipText:{missingVendor:'The vendor "_deleted_vendor_" was deleted from the Journal Entry. Please add the correct vendor and try posting again.',missingCategory:'The category "_deleted_category_" was deleted from the Journal Entry. Please add the correct category and try posting again.',missingDepCategory:'The category "_deleted_dep_category_" was deleted from the Journal Entry. Please add the correct accumulated depreciation category and try posting again.'},resolveErrors:{heading:"This entry could not be posted",vendor_deleted:'Vendor "_deleted_field_" was deleted. Update it in Review.',debit_category_deleted:'Category "_deleted_field_" was deleted. Update it in Review.',credit_category_deleted:'Accumulated depreciation category "_deleted_field_" was deleted. Update it in Review.',qbo_error:"QuickBooks rejected this entry. Try posting again.",qbo_authorization_error:"The QuickBooks connection expired. Reconnect it, then post again.",qbo_invalid_company_status_error:"The QuickBooks subscription is inactive. Resolve it, then post again.",qbo_book_close_date_error:"The books are closed for this date. Reopen the period or move the date."},addDepCategory:"Add Depreciation Category",aiBotEmail:"ai@zeni.ai",botEmail:"bot@zeni.ai",aiAccountant:"AI Accountant ",zeniGPTText:"recommends a new JE schedule. Please review and set it up!",kpiStrip:{aiAccountant:"AI Accountant Created",manual:"Manual Created",schedules:"schedules",total:"Total this close",typeLabels:{fixed_assets:"Fixed Asset",prepaid_expenses:"Prepaid",accrued_expenses:"Accrual",deferred_revenue:"Revenue Accrual"}},typeFilter:{prepaid_expenses:"Prepaid",fixed_assets:"Fixed Asset",accrued_expenses:"Accrual",deferred_revenue:"Deferred Revenue",all:"All"},groups:{createdInsight:"Auto-posted or manually recorded",failedPostings:"Failed Postings",pendingReviewInsight:"Input requested before posting"},tabs:{schedules:"Review Schedules",actualMatching:"Actual Matching",existingSchedules:"Existing Schedules"},actualMatching:{matchNew:"Match new",undoReversal:"Undo reversal",continueMatch:"Continue match",openBill:"Open bill",openCharge:"Open charge",openTransaction:"Open {type}",kpi:{actualsReceived:"Actuals received ({month})",ofExpected:"of {count} expected",vendorsStillPending:"{count} vendors still pending",vendorStillPending:"1 vendor still pending",autoReversed:"Auto-reversed",cleared:"{amount} cleared",pendingReview:"Pending review",estMinutesToClear:"Est. {minutes} min to clear",variance:"Variance (actual vs accrued)",varianceFooter:"avg {percent} per match · {amount} net"},groups:{reversed:"REVERSED"},groupSubtitles:{reversed:"AI Accountant and Human User · {amount}",pendingReview:"Variance above threshold or ambiguous match · {amount}"},columns:{received:"Received",vendor:"Vendor",type:"Type",service:"Service",reverses:"Reverses",matchTier:"Match tier",reversedBy:"Reversed by",accrued:"Accrued",actual:"Actual",variance:"Variance"},reversedBy:{aiAccountant:"AI Accountant",humanUser:"Human User"},matchTier:{exact:"Exact match",fuzzy:"Fuzzy",aiAccountant:"AI Accountant",manual:"Manual"},reversesCount:"{count} accruals",groupedOpenAccrual:"Open accrual",groupedMenuAria:"Accruals in this match",lifecycle:{pendingReview:"PENDING REVIEW",autoReversed:"AUTO-REVERSED"},emptyState:{title:"No matches this close",subTitle:"Reversed and pending-review accruals for this close will show up here."},matchModal:{title:"Match transactions to accruals",subtitle:"Select one bill or expense line and one or more posted accruals to reverse.",leftTitle:"Transactions",rightTitle:"Accruals",selectedLabel:"selected",leftSearchPlaceholder:"Search bills, expenses, and checks",rightSearchPlaceholder:"Search posted accruals",emptyLeft:"No transactions found",emptyRight:"No posted accruals found",confirm:"Confirm Match",maxAccruals:"You can match up to 50 accruals at once.",conflict:"Could not reverse this accrual",vendorLock:"Only accruals for the selected vendor can be matched.",selectLineHint:"Select a line on this bill",previewEmpty:"Pick at least one transaction and one accrual to preview the match.",accrualJeTitle:"Accrual journal entry being reversed",reversalJeTitle:"Reversal journal entry",reversalJeNote:"One per accrual · mirrors its amount",transactionMatchedTitle:"Transaction matched",columnDate:"Date",columnAccount:"Account",columnDebit:"Debit",columnCredit:"Credit",lastDayOfMonth:"last day",reversesLabel:"_REV Reverses",vsAccrued:"vs. accrued {amount} · variance posts to {account}",accruedExpensesFallback:"Accrued Expenses"},matchDetail:{service:"service",accrued:"Accrued",actual:"Actual",variance:"Variance",accrualJes:"Accrual journal entries",leftovers:"Not reversed",reversalFailed:"Reversal failed",undoFailed:"Undo failed",loadErrorTitle:"Couldn't load this match",loadErrorSubTitle:"Refresh to try again.",reversalJe:"Reversal journal entry",matchedBill:"Matched bill",matchedCharge:"Matched charge",matchedTransaction:"Matched {type}",statusAutoReversed:"Auto-reversed",statusPendingReview:"Pending review",statusManuallyReversed:"Manually reversed"}},newSchedule:{title:"New Schedule",oneTimeAccrualTitle:"New one-time accrual",oneTimeAccrualSubtitle:"Posts directly to the books",recurringTitle:"New recurring schedule",recurringSubtitle:"Posts monthly entries starting {month}",reviewSchedule:"Review schedule",scheduleDetails:{title:"Schedule Details",oneTimeAccrual:"One time accrual",oneTimeAccrualDescription:"Single JE this month",recurringSchedule:"Recurring Schedule"},scheduleType:{title:"Schedule type",subtitle:"What is this schedule spreading?",fixedAssetDescription:"Depreciate a purchase",prepaid:"Prepaid",prepaidDescription:"Amortize a prepayment",accrual:"Accrual",accrualDescription:"Recurring estimate",deferredRevenueDescription:"Recognize over time",deferredRevenue:"Deferred Revenue",fixedAsset:"Fixed Asset"},baseTransaction:{title:"Base Transaction",subtitleFixedAsset:"The purchase being capitalized",subtitlePrepaid:"The prepayment being spread",searchPlaceholder:"Search by vendor, amount, date and memo",noResults:"Nothing matched your search... Try again.",aiAccountantInsight:"AI Accountant spreads {amount} over {months} months ≈ {amountPerMonth}/mo."},fields:{numberOfMonths:"No. of Month",amountPerMonth:"Amount Per Month",sourceOrTrigger:"Source / trigger",addVendor:"Add vendor",selectStartMonth:"Select start month",selectPostingDate:"Select posting date",selectMonths:"Select months",addAccumulatedDepreciationCategory:"Add accumulated depreciation category",addAssetId:"Add asset ID",addSourceOrTrigger:"Add Source / trigger",selectServiceMonth:"Select service month",accrualCategory:"Accrual Category",addAccrualCategory:"Add accrual category",memoPrefix:"Accrue",estimatedMonthlyAmount:"Estimated Monthly Amount",startingBalance:"Starting Balance",addStartingBalance:"Add balance",accumulatedDepreciationCategory:"Accumulated Depreciation Category",serviceMonth:"Service month",postingDate:"Posting Date",addCategory:"Add category",startMonth:"Start Month",addAmount:"Add amount",category:"Category",addClass:"Add class",assetId:"Asset ID",addMemo:"Add memo",vendor:"Vendor",amount:"Amount",class:"Class",memo:"Memo"},oneTimeAccrual:{postAccrual:"Post accrual",reverseNextMonth:"Reverse next month",reverseNextMonthOff:"Off — accrual stays open until a matching bill arrives from this vendor and clears it.",reverseNextMonthOn:"A reversing JE will post on {date} automatically — use this when no matching bill is expected (e.g., estimated bonus, true-up).",reverseNextMonthOnNoServiceMonth:"A reversing JE will post on the 1st of the month after the service month automatically — use this when no matching bill is expected (e.g., estimated bonus, true-up)."},journalEntryPreview:{title:"Journal Entry Preview",debit:"DR",credit:"CR",autoReversesOnBillMatch:"Auto-reverses when a matching bill arrives from {vendor}.",autoReversesOnDate:"Auto-reverses on {date}."},schedulePreview:{title:"Schedule preview",posts:"Posts",postsValue:"{amount} × {months} months",window:"Window",windowValue:"{start} → {end}",totalCommitted:"Total committed",eachEntry:"Each entry",eachEntryValue:"DR {debit} · CR {credit}",autoPostSuffix:" will auto-post each month until the schedule completes.",autoPostPrefix:"AI Accountant",class:"Class"},newButtonLabel:"New"},accrualDetail:{accrualTypeMonthly:"Monthly Accrual",estimatedBy:"Estimated by",editAmount:"Edit amount",statusLabels:{draft:"Pending Review",posting:"Posting",posted:"Posted",posting_blocked:"Posting Blocked",reversing:"Reversing",reversed:"Reversed",reverted:"Reverted"},details:{title:"Accrual Details",servicePeriod:"Service Period",servicePeriodValue:"{month} Service",accrualType:"Accrual Type",liabilityAccount:"Liability Account",autoReversal:"Auto Reversal",reverseNextMonthOption:"Reverse Next Month",onInvoiceMatch:"On Invoice Match",onDate:"On {date}",monthsOfHistoryUsed:"Months of History Used",monthsValue:"{months} months",expenseCategory:"Expense Category",postingDate:"Posting Date",department:"Department",memo:"Memo"},calculationBreakdown:{title:"Calculation Breakdown",calculationMethod:"Calculation Method",weight:"Weight",weightedValue:"Weighted Value",recommendedAccrual:"Recommended Accrual",invoiceAmount:"Invoice Amount",month:"Month"},journalEntryPreview:{title:"Journal Entry Preview",postedTitle:"Posted Journal Entry",reversedTitle:"Reversed Journal Entry",autoReversalEnabled:"Enabled"},billingPattern:{title:"Billing Pattern",avgAmount:"Avg Amount",lastBill:"Last Bill",consistency:"Consistency",billingLag:"Billing lag",monthsTracked:"Months Tracked",percentValue:"{percent}%",serviceMonthMarker:"This service month",noHistoryTitle:"No vendor billing history",noHistoryDescription:"This accrual was entered manually, so there is no vendor profile behind it to chart. The AI Accountant builds one only for the vendors it accrues automatically.",daysValue:"{days} days"},actions:{skipThisMonth:"Skip This Month",approveAndPost:"Approve & Post"},statusStates:{reversed:"Entry reversed"},feedback:{title:"Why skip this accrual?",subtitle:"Tell us why {amount} shouldn't be accrued for {vendor} this month — AI Accountant learns from this.",reasons:{no_activity:"No activity this month",paused:"Vendor paused / off-boarded",too_small:"Not material",need_invoice:"Wait for actual invoice",other_ignore:"Something else"},revert:{title:"Why revert this accrual?",subtitle:"This deletes the {amount} journal entry for {vendor} from the books. AI Accountant learns from the reason.",submit:"Revert Accrual",reasons:{amount_off:"Amount was wrong",wrong_period:"Wrong period",not_accrual:"Shouldn't be accrued",duplicate:"Duplicate",other_revert:"Something else"}},ignoreSchedule:{title:"Why ignore this schedule?",subtitle:"Tell us why this schedule isn't needed — AI Accountant learns from this.",submit:"Ignore Schedule",reasons:{not_needed:"Not needed",wrong_account:"Wrong account",duplicate:"Duplicate",already_handled:"Already handled",other_ignore:"Something else"}},revertSchedule:{title:"Why revert this schedule?",subtitle:"This deletes the posted journal entry from the books and removes the schedule. AI Accountant learns from the reason.",submit:"Revert Schedule",reasons:{amount_off:"Amount was wrong",wrong_period:"Wrong period",duplicate:"Duplicate",created_by_mistake:"Created by mistake",other_revert:"Something else"}},noteLabel:"Add a note (optional)",notePlaceholder:"Anything else we should know?",submit:"Submit Feedback"}},existingSchedules:{downloadCompletedSchedules:"Download Completed Schedules",downloadRange:{title:"Download Completed Schedules",subtitle:"Completed schedules are matched on when they started, not when they finished, so search from before the schedules you are looking for began.",fromLabel:"Started on or after",fromPlaceholder:"Select a month",throughToday:"Includes everything up to today, {today}"},kpi:{ongoingSchedules:"Ongoing schedules",monthlyPosting:"Monthly posting",remainingBalance:"Remaining Balance",toDepreciateAmortize:"to depreciate / amortize",posted:"Posted",typeAbbreviations:{fixed_assets:"Fixed",prepaid_expenses:"Prepaid",deferred_revenue:"Deferred rev",accrued_expenses:"Accrued"}}},searchPlaceholder:"Search for schedules",addCategory:"Add Category"},missingReceipts:{searchPlaceholder:"Search for transactions",subTitles:{pre:"",preLink:"",post:"will do the best to automatically match receipts with the correct transactions. Forward all receipts to {receiptsEmail}",postLink:"{receiptsEmail}"},allDoneText:{subTitle:"All receipts uploaded, like magic!"}},fluxAnalysis:{searchPlaceholder:"Search for vendors",subTitles:{item1:{pre:"",bold:"",prefixIconName:"",post:"Review vendor account transactions for emerging trends and adjust categories and classes to resolve anomalies."},item2:{pre:"Feel free to review and make the necessary changes",post:"will learn from it."}},sectionTitle:{generalExpense:"General Expenses"},reviewedBy:"Reviewed by",remarksBy:"Remarks by",viewVendorDetails:"View Vendor Details",emptyPageTexts:{youDidIt:"You did it!",allReviewed:"All flux reviewed!"},stepsBanner:{collapsedTitle:"Quick steps for Flux Analysis",step1:{title:"Review Variances",description:"Compare vendor-wise spend across months and drill down into categories and classes."},step2:{descriptionPrefix:"Once variances are confirmed,",descriptionSuffix:"select vendors and mark as reviewed."}}},accountRecon:{reconciliation:{headers:{section:{assets:{title:"Assets",subTitle:"Cash and Equivalents"},liabilities:{title:"Liabilities",subTitle:"Credit Cards"}},bankBalance:"Bank Balance",openingBalance:"Opening Balance",closingBalance:"Closing Balance",clearedBalance:"Cleared Balance",matchProgress:"AI Progress",lastReconciled:"Last Reconciled",excludedAccountTitle:"Excluded Accounts"},matchProgressLegend:{byHuman:"by human"},progressBar:{byHumans:"by humans"},stepsBanner:{collapsedTitle:"Quick steps for Bank Reconciliation",step1:{title:"Connect Bank Account",line1AfterIcon:"to add a bank account or",line2:"upload a bank statement."},step2:{title:"Compare Balance",body:'Compare bank statement and cleared balances. Select "Review" if they differ.'},step3:{eyebrow:"Step 3",title:"Review & Update Transactions",body:"Approve AI suggestions to categorize or match entries, and complete any missing fields."},step4:{eyebrow:"Step 4",title:"Reconcile the account",body:'Ensure balances match, then select "Reconcile" to complete reconciliation.'}},menu:{statement:"Account Statement"},statsCards:{autoMatched:"AI Accountant Auto-matched",needsReview:"Needs Review",accountsDone:"Accounts Reconciled",timeSavedByAi:"Time saved by AI Accountant",ofTotalTxn:"of _total_ transactions",acrossAccounts:"across _count_ accounts",ofTotalAccounts:"of _total_ Accounts",hrsSuffix:"hrs"},connectAccountsBanner:{leadNeedConnectedSuffix:"need to be connected.",body:"Connect a data source to start reconciliation. Takes less than 2 min per account.",connectAccounts:"Connect Accounts",dismissAriaLabel:"Dismiss"},status:{reconciled:"Reconciled",reconciledBy:"Reconciled by",reconciledVia:"Reconciled via",reconcileViaQBO:"Reconcile via QBO",balanceSyncInProgress:"Balance sync",statementSyncInProgress:"Statement sync",autoReconInProgress:"Auto-reconciliation",statementParseError:"Statement parse",statementValidationFailed:"Statement validation",statementProcessingFailed:"Statement processing",failed:"failed",isInProgress:"is in progress",booksClosedTooltip:"Books closed. Reopen to reconcile again."},tooltips:{reconciledByLabel:"Reconciled by:",lastUpdatedLabel:"Last updated:",applyingChanges:"Applying changes...",failed:"Could not apply changes",inProgress:"Connection is in progress. Please check back in a few minutes.",balancesNotFound:"Unable to fetch balances for this account.",bankBalanceNotFound:"Unable to fetch bank balance for this account.",clearedBalanceNotFound:"Unable to fetch cleared balance for this account.",reconInProgress:"Reconciliation is in progress. Please check back in a few minutes.",excludeAccount:{title:"Exclude Account"}},drawer:{uploadDropZoneSuffix:"your statement",uploadDropZoneSupportingText:{single_account:"Upload a statement for a single account.",multi_account:"Upload a statement containing multiple accounts."},statementAccountScopeOptions:{single_account:"Single Account",multi_account:"Multiple Accounts"},labels:{lastUpdated:"Last Updated:",lastSync:"Last Sync:"},values:{bank:"Bank",connecting:"Connecting",uploaded:"Uploaded",statementParsing:"Statement sync is in progress"},deleteConfirmation:{heading:"Delete this file?",description:"Deleting the file will affect your reviewed transactions or reconciliation progress."},validationFailed:{heading:"Validation Failed"},fileValidationFailed:{heading:"File Validation failed",description:"We couldn't process your statement. Please check the file and try uploading again."},dateRangeConflict:{alreadyReconciled:{heading:"Date Range Already Reconciled",description:"The statement period overlaps with a period that has already been reconciled"},gap:{heading:"Gap in Reconciliation Period",description:"The statement must start the day after the last reconciled period",expectedStartDate:e=>`Please upload a statement starting ${e}`},lastReconciled:e=>`Last Reconciled: ${e}`,lastReconciledBy:(e,n)=>`Last Reconciled: ${e} by ${n}`},error:{validationFailed:"Validation failed",parsingFailed:"Parsing failed"},excludeFromReconciliation:"Exclude from Reconciliation",excludeConfirmation:{heading:e=>`Exclude "${e}" from Reconciliation?`,description:"This account will be removed from your reconciliation workflow and progress report. Existing data will not be affected, and you can include the account again at any time."},includeForReconciliation:"Include account for Reconciliation",includeConfirmation:{heading:e=>`Include "${e}" for Reconciliation?`,description:"This account will be added back to your reconciliation workflow and progress report."}}},statementProcessing:{steps:["Uploaded file","Reading document structure","Identifying statement type","Extracting account details","Determining opening & closing balances","Verifying statement details","Gathering transactions","Finalizing Reconciliation"],headerTitle:"AI Accountant Reading Statement",stepSubtitles:["Setting up statement analysis and validation","Recognizing transaction layouts and summary sections","Matching format against known bank statement templates","Pulling account number, entity name, and statement period","Locating balance summary from the checking summary table","Cross-checking deposit and withdrawal totals for accuracy","Reading transactions. Extracting dates, amounts, and descriptions","Matching transactions to your ledger and preparing the review"],stepProgressLabel:(e,n)=>`Step ${e} of ${n} completed`,timeRemainingMinutes:e=>`${e} min left`,timeRemainingSeconds:e=>`${e} sec left`,takingLongerThanExpected:"Taking longer than expected...",actionNeeded:"Action needed",continueInBackground:"Continue in Background",accountMapping:{headerSubtitle:e=>`Almost done — assign each of the ${e} cards to a ledger account to finish.`,headerSubtitleAccounts:e=>`Almost done — assign each of the ${e} accounts to a ledger account to finish.`,banner:(e,n)=>`I've extracted all charges from this combined ${e} statement — it covers ${n} cards. Assign each card to a ledger account to file everything. You won't need to upload this file again.`,bannerAccounts:(e,n)=>`I've extracted all charges from this combined ${e} statement — it covers ${n} accounts. Assign each account to a ledger account to file everything. You won't need to upload this file again.`,aiMatched:"AI matched",ledgerAccountLabel:"Ledger account",ledgerAccountPlaceholder:"Select ledger account",overrideWarning:"This account has an ongoing reconciliation. Selecting it will override the existing work.",transactionSummary:(e,n)=>`${e} transactions • ${n} in new charges`,deleteRowAriaLabel:"Remove card mapping",deleteConfirmation:{heading:"Remove this card?",headingAccount:"Remove this account?",description:"The transactions from this card will be excluded from this combined statement, you can still map the remaining cards.",descriptionAccount:"The transactions from this account will be excluded from this combined statement, you can still map the remaining accounts."}},cancelConfirmation:{heading:"Cancel statement parsing?",description:"Your uploaded statement is still being parsed. If you cancel now, the uploaded file and all processing progress will be lost.",continueParsing:"Continue Parsing"}},statementParseInfo:{statementPeriodAndBalances:"Statement period & balances",statementValuesFootnote:"These values are copied directly from the statement.",from:"From:",to:"To:",credits:"Deposits",calculatedValues:"Calculated values",calculatedValuesFootnote:"These values are calculated from transactions in the statement.",extractedTransactions:"Extracted transactions",addTransaction:"Add transaction",totalsDoNotAddUp:"The totals do not add up.",reparseStatement:"Re-parse statement",retryParsing:"Retry Parsing",cancelConfirmation:{heading:"Are you sure?",description:"You have unsaved changes. If you cancel now, your changes will be lost"},reparseConfirmation:{heading:"Restart parsing?",description:"Re-parsing reads the statement again from scratch and replaces your current review. Any edits you've made will be lost.",reparse:"Re-parse"},closingBalanceMismatchConfirmation:{heading:"Closing balance doesn’t match",descriptionBeforeStatementAmount:"The closing balance on your statement is ",forAccountDescriptionBeforeStatementAmount:"For {accountName}, the closing balance on your statement is ",descriptionBetweenAmounts:", but the transactions you’ve added total ",reviewHint:"Please review the transactions and add, remove, or edit any that are incorrect.",reviewTransactions:"Review transactions",continueAnyway:"Continue anyway",descriptionAfterTransactionsAmount:"."},aiSummary:{accountRecognized:"Account recognized",transactionsExtracted:"Transactions extracted",exceptionsDetected:"Exceptions detected",fieldsCaptured:"Fields captured",validated:"Validated",openingDate:"Opening date"}},tabs:{},review:{allDoneText:{title:"High five!",subTitle:"All transactions reviewed!"},header:{match:"Record or Match",amount:"Amount",memo:"Memo"},transactionDirection:{credit:"Credit",debit:"Debit"},matchesCount:"__count__ Matches",matchedFoundCount:"__count__ Matches Found",matchesFoundFullInfo:"for this bank transaction within the last 90 days",bankDetail:"Bank Detail",creditCardDetail:"Credit Card Detail",formLabels:{match:"Match",categorize:"Categorize",selectCard:"Select Card",allBankAccounts:"All bank accounts",allCreditCards:"All credit cards",addCategory:"Add Category",addClass:"Add Class",addMemo:"Add Memo"}},reconcile:{allDoneText:{title:"Ta-da!",subTitle:"No transactions found for reconciliation!"},header:{clearedDate:"Cleared Date",amount:"Amount",memo:"Memo"}},subTitles:{review:{item1:{pre:"",bold:"",prefixIconName:"",post:"Please review these transactions because the general ledger balance doesn't match the bank balance."},item2:{pre:"",post:"suggest updating these transactions to resolve the ledger discrepancies, which will help auto-adjust the variance."}},reconcile:{item1:{pre:"",post:"have reconciled pending transactions and saved 42% of your reconciliation time."},item2:{pre:"",prefixIconName:"",bold:"",post:"It's time to review for discrepancies and select all transactions to bring the variance to zero."}}},titles:{item1:{pre:"",post:"have reconciled your bank transactions and saved 38% of your reconciliation time."},item2:{pre:"",bold:"",prefixIconName:"",post:" It's time to check for discrepancies and review them if there's a difference."}}},recommendationFeedback:{title:"Help me get this right next time.",skipLabel:"Skip Feedback",yourSelection:"Your Selection",reasonPlaceholder:'e.g. "Always put Amazon under Software Subscription, not Office Supplies"',submitHintPrefix:"Press ",submitHintKey:"Enter/Return",submitHintSuffix:" to submit",dimensionLabels:{vendor:"Payee Recommendation",category:"Category Recommendation",class:"Class Recommendation"}}},aiCfo:{pageView:{scopePageTitle:"AI CFO Scope",titleTag:"BETA",hello:"Hello, ",helpText:"How can I help you today?",showMoreSuggestedQuestions:"Show __count__ more..."},questionTemplates:{sampleQuestion1:"Show me last month's Month-end insights",sampleQuestion2:"Show me the runway and projected cash zero date",sampleQuestion3:"Show me the top expenses from past six months"},skillMenu:{examplePrefix:"try:",tip:"Tip: type details after a skill to tailor it — e.g. a period, a filter, or what to focus on."},routines:{title:"Scheduled Tasks",am:"am",pm:"pm",subtitle:"Work that runs on a schedule and emails you the answer. A saved skill, or a one-off you write here.",empty:"You don’t have any scheduled tasks yet.",loading:"Loading scheduled tasks…",loadFailed:"Couldn’t load scheduled tasks. Please try again.",newRoutine:"New scheduled task",capReached:"You’ve reached the limit of __max__ scheduled tasks. Delete one to add another.",everyDayAt:"Every day at __time__",everyWeekAt:"Every __weekday__ at __time__",everyMonthAt:"Every month on the __day__ at __time__",unknownSchedule:"On a schedule this app doesn’t recognise",weekdays:["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],ordinalSuffixes:{one:"st",two:"nd",few:"rd",other:"th"},unknownScheduleHint:"This scheduled task uses a schedule set up elsewhere. You can pause or delete it here, or contact support to change it.",inTimezone:"__schedule__ (__timezone__)",nextRun:"Next __date__",neverRun:"Hasn’t run yet",lastRunSucceeded:"Last run __date__",lastRunSucceededNoDate:"Last run succeeded",lastRunFailedNoDate:"Last run failed",lastRunTimeoutNoDate:"Last run timed out",lastRunFailed:"Last run failed __date__",lastRunTimeout:"Last run timed out __date__",pausedBadge:"Paused",autoPaused:"Paused after repeated failures",adHocBadge:"Prompt",brokenSkill:"The skill this ran was deleted",pause:"Pause",resume:"Resume",pauseRoutine:"Pause __name__",resumeRoutine:"Resume __name__",editRoutine:"Edit __name__",deleteRoutine:"Delete __name__",openThread:"Open conversation",run:"Run now",runRoutine:"Run __name__ now",running:"Running…",runQueued:"Started. The answer appears in the conversation, and is emailed when it finishes.",runFailed:"Couldn’t start this scheduled task. Please try again.",history:"History",hideHistory:"Hide history",historyLoading:"Loading runs…",historyFailed:"Couldn’t load this scheduled task’s runs.",historyEmpty:"No runs yet.",runManual:"Manual",runScheduled:"Automatic",runInFlight:"Running",runInProgressNotice:"Running — this usually takes 1–3 minutes. The answer appears here and is emailed when it finishes.",runSucceeded:"Succeeded",runFailedStatus:"Failed",runTimedOut:"Timed out",runUnknownStatus:"Unknown",runAt:"__date__ at __time__",runAttempt:"Attempt __n__",openRun:"Open",openRunLabel:"Open the conversation for the run on __date__",backToRoutines:"Scheduled Tasks",configuration:"Configuration",enabledLabel:"Status",enabledOn:"Active",enabledOff:"Paused",enabledOnHint:"Runs on its schedule.",enabledOffHint:"Paused — it will not run.",scheduleRow:"Schedule",oneOffSource:"A prompt you wrote",instructionsHeading:"Instructions",showAll:"Show all",showLess:"Show less",runsHeading:"History",successRatio:"__succeeded__ of the last __total__ succeeded",neverRunStatus:"Hasn’t run yet",openRoutine:"Open __name__",openRoutinePage:"Open scheduled task settings",breadcrumbRoot:"Scheduled Tasks",edit:"Edit",runRowLabel:"Run · __when__",newRuns:"__count__ new",scheduledSection:"SCHEDULED",cadenceDaily:"Daily",cadenceWeekly:"Weekly",cadenceMonthly:"Monthly",cadenceCustom:"Custom",showRuns:"Show runs",hideRuns:"Hide runs",panelRuns:"Runs",panelDetails:"Details",panelSkill:"Skill",composerPlaceholder:"What do you want on a schedule?",composerSubmit:"Draft scheduled task",composerExamples:["Summarise last week’s spend and flag anything unusual","Send me the cash position every Monday morning","List invoices over 60 days past due"],deleteConfirm:"Delete scheduled task",deleteConfirmBody:"It stops running and stops emailing you. The skill it runs is not affected.",deleting:"Deleting…",deleteFailed:"Couldn’t delete this scheduled task. Please try again.",saveFailed:"Couldn’t save this scheduled task. Please try again.",nameLabel:"Name",namePlaceholder:"Monday spend review",sourceLabel:"What it runs",sourceSkill:"A saved skill",sourcePrompt:"Something I write here",promptPlaceholder:"Summarise last week’s spend and flag anything unusual.",promptHint:"Runs exactly as written, every time. It won’t appear in the / menu.",skillLabel:"Skill",skillHint:"Pinned to the version you pick, so editing the skill later won’t change what runs.",cadenceLabel:"How often",daily:"Every day",weekly:"Every week",monthly:"Every month",weekdayLabel:"Day of week",dayOfMonthLabel:"Day of month",dayOfMonthHint:"A month that’s too short runs on its last day instead.",hourLabel:"Hour",minuteLabel:"Minute",timeLabel:"At",scheduleLabel:"Schedule",runsSummary:"Runs __schedule__",timezoneLabel:"Timezone",timezonePlaceholder:"Search timezones…",timezoneHint:"The time above is in this timezone.",timezoneInvalid:"That isn’t a timezone we recognise.",skillPlaceholder:"Search skills…",skillUnknown:"Pick a skill from the list.",templateLabel:"Start from a skill",templatePlaceholder:"Optional — search skills…",templateHint:"Copies that skill’s instructions below, where you can edit them. The scheduled task then runs your edited copy, not the skill.",templateLoading:"Loading that skill’s instructions…",templateFailed:"Couldn’t load that skill’s instructions. You can still write your own.",skillInstructionsLabel:"What it will run",skillInstructionsLoading:"Loading…",skillInstructionsFailed:"Couldn’t load this skill’s instructions.",editACopy:"Edit a copy instead",editACopyHint:"Runs the skill as written. To change it for this scheduled task only, edit a copy.",noMatches:"No matches",deliveryNote:"The answer is emailed to you when it finishes.",save:"Save scheduled task",saving:"Saving…"},skills:{subtitle:"Ready-made analyses you can run in a new chat. Zeni's are available to everyone; yours are your company's own.",byZeni:"By Zeni",byTenant:"Your company",empty:"No skills are available yet.",emptyTenant:"Your company hasn’t added any skills yet.",loading:"Loading skills…",loadingPrompt:"Loading this skill’s instructions…",loadFailed:"Couldn’t load skills. Please try again.",detailLoadFailed:"Couldn’t load this skill. Please try again.",back:"All skills",backToSkill:"Back to skill",audienceCurrentPrivate:"Only you can use this skill.",audienceCurrentTenant:"Everyone at your company can use this skill.",publish:"Share with company",unpublish:"Make private",publishing:"Sharing…",unpublishing:"Making private…",publishFailed:"Couldn’t change who can use this. Please try again.",run:"Run skill",runHint:"Runs this skill in a new chat.",instructionsHeading:"What this skill tells the agent",tenantBadge:"Shared",lastUpdated:"Updated __date__",neverUpdated:"Not updated yet",newSkill:"New skill",fork:"Copy to my skills",forkHint:"Starts a new skill of your own from this one.",forkNameSeed:"__name__ copy",deleteConfirm:"Delete this skill?",deleteConfirmBody:"It stops appearing in the / menu for everyone who can run it. Its name becomes available again.",deleting:"Deleting…",deleteFailed:"Couldn’t delete this skill. Please try again.",namePlaceholder:"Cash burn summary",nameHint:"How people find this skill — the / command is set from this name when you save.",nameHandleHint:"Runs as /{handle} — type / then any part of the name.",audienceLabel:"Who can use this",audiencePrivate:"Only me",audiencePrivateHint:"Stays in your own / menu.",audienceTenant:"Everyone at my company",audienceTenantHint:"Appears in every colleague's / menu.",audiencePublishWarning:"Published skills run with the permissions of whoever uses them. Only publish a prompt you would be comfortable running as any colleague.",descriptionPlaceholder:"One line on what this skill does",descriptionHint:"Shown under the name in the / menu.",instructionsLabel:"Instructions",instructionsPlaceholder:"Tell the agent exactly what to do. Be specific about the period, the accounts and the format you want back.",instructionsHint:"The agent receives this verbatim. Written like a brief, not a search query.",charCount:"__count__ characters",create:"Create skill",creating:"Creating…",saveNewVersion:"Save new version",saveFailed:"Couldn’t save this skill. Please try again.",unsavedTitle:"Discard your changes?",unsavedBody:"This skill has edits that haven’t been saved.",keepEditing:"Keep editing",nameRequired:"A name is required.",instructionsRequired:"Instructions are required.",instructionsTooShort:"Instructions need at least __min__ characters.",renameWarning:"Renaming changes the / command. The old one stops working.",historyHeading:"Version history",historyLoading:"Loading history…",historyFailed:"Couldn’t load version history.",historyEmpty:"No earlier versions.",versionLabel:"Version __version__",restore:"Restore",restoreHint:"Brings this version’s instructions back as a new version. Nothing is overwritten.",restoreLoading:"Loading this version…",restoreFailed:"Couldn’t load that version. Please try again.",emptyTenantCta:"Write your first skill, or copy one of Zeni’s."},texts:{generating:"Generating...",artifactFallbackTitle:"Financial visualization",downloadArtifactImage:"Download chart as image",saveToSkill:"Save to Skill",savedToSkill:"Saved — run it with /{command}",saveToSkillFailed:"Couldn't save. Please try again.",createSkillCommandDescription:"Turn this conversation into a reusable skill",createSkillCommandExampleHint:"that compares vendor spend month over month",downloadTableFailed:"Couldn’t download the table. Please try again.",downloadTableTooLarge:"This table is too large to export. Try narrowing the question to a shorter period or fewer categories.",downloadArtifactImageFailed:"Couldn’t download the chart. Please try again.",errorInAnswer:"We couldn’t generate a response at the moment. Please submit question again.",errorInArtifact:"Unable to render visualization. The data is available in the text response above.",creatingCards:"Creating cards...",creatingPolicies:"Creating policies based on your preferences...",cardCreatedSingular:"1 card is created and ready",cardsCreatedPlural:"__count__ cards are created and ready",policyCreatedSingular:"1 policy is created and saved",policiesCreatedPlural:"__count__ policies are created and saved",createdCardsTableRecommendedLimitHeader:"Recommended Limit"},interactiveForm:{noMatches:"No matches",cardPolicy:{limits:{transactionLimitHelperText:"Maximum amount per single transaction",amountPlaceholder:"$0"}},cardsCreation:{step1Title:"Based on your last 3 months of spend, here are the cards. Review and confirm.",step1AddRowPlaceholder:"Add something else",step1ColumnAvgMonthlySpend:"Avg monthly spend",step2Title:"Who should these cards be assigned to? Suggested owners based on past spend.",step2Cta:"Create cards",cardTypeOptions:{virtual:{label:"Virtual card",description:"Issued instantly"}}}},chainOfThoughts:{reasoning:"Thinking"},reason:{show:"Show Reason",hide:"Hide Reason"},tooltips:{likeResponse:"Like",dislikeResponse:"Dislike",chatWithAI:"Chat with AI CFO"},headers:{followUpQuestions:"Follow-up questions to ask next",didYouKnow:"Did you know?",assumptions:"Key Assumptions"},exports:{downloading:"Preparing download",errors:{expired:"This file is no longer available. Ask the question again to regenerate it.",generic:"Could not download the file. Please try again."}},input:{disclaimer:"__agent__ can make mistakes. Check important info.",maxFilesError:"Cannot add __count__ file(s). Maximum __max__ files allowed per message.",fileTooLargeError:"'__fileName__' exceeds the 5MB size limit and was not added.",unsupportedFileTypeError:"'__fileName__' is not a supported file type and was not added.",uploading:"Uploading",uploadPromoTooltip:{title:"Now upload documents",description:"Add a financial document to see key insights and ask questions."},placeholder:"Ask AI CFO a question and get clear answers.",placeholderWithSkills:"Ask a question, or type / to run a Skill.",placeholderWithSkillsAndUpload:"Ask a question, type / for Skills, or attach a file.",placeholderWithUpload:"Ask a question, or attach a file to analyze."},loading:{discoveryTips:{excelExport:"Tip: Ask for any analysis as an Excel file and I'll attach a download.",followUps:"Tip: Ask follow-up questions in the same chat — I keep the conversation's context.",skills:"Tip: Type / in the message box to run Skills like flux analysis and cash forecasts.",uploads:"Tip: Attach a CSV or spreadsheet and I'll analyze it alongside your books."}},menu:{chatHistory:"CHAT HISTORY"},onboarding:{section:{title:"Run your business with confidence.",subtitle:"Built to analyze, explain, and summarize your numbers like a real CFO would."},capabilities:[{title:"Analyze Financials",subtitle:"Profit & loss, balance sheets, and trend detection — no spreadsheets required.",icon:"analyzing"},{title:"Spot Vendor Patterns",subtitle:"Review expenses across vendors and categories. Surface anomalies and overspend.",icon:"vendors"},{title:"Calculate Core Metrics",subtitle:"Runway, burn, margins — calculated from your real books.",icon:"calculator"},{title:"Forecast With Confidence",subtitle:"Auto-generate projections based on historicals. Updated weekly.",icon:"forecast"},{title:"Visualize Key Trends",subtitle:"Bar graphs, line charts, tables — linked to real data for full traceability.",icon:"graph-trend"}],whoIsItFor:{title:"Who's It For",details:["Startup founders without a full-time CFO — but need strategic clarity.","VPs of Finance/Operations who want faster answers, fewer spreadsheets.","Department heads (Sales, Marketing, Eng) who want to own their numbers.","Fractional CFOs managing multiple clients on Zeni.","In-house CFOs using it as a 10x strategic co-pilot."]},footer:{buttonText:"Launch __agent__",scope:"__agent__ Scope",betaText:"This is Beta — and your usage will shape what’s next.",footerText:'By clicking "Launch __agent__" I accept '}}},aiPerformanceDashboard:{tileTitle:"AI Performance",tileSubtitle:"Monitor and analyze the performance of your AI agents.",chartTitle:"Cost and Time Savings Trend",aiCostSavedTile:{title:"Cost Saved",subtitle:"Total reduction in expense."},aiTimeSavedTile:{title:"Time Saved",subtitle:"Manual hours saved by AI."},noPerformanceData:{firstLine:"No tasks performed yet!"},personas:{aiBookkeeper:"AI Bookkeeper Agent",aiCardsAgent:"AI Cards Agent",aiBillsAgent:"AI Bills Agent",aiExpenseAgent:"AI Expenses Agent",aiBankingAgent:"AI Banking Agent",aiAccountantAgent:"AI Accountant Agent",personaTypes:{aiBookkeeper:"bookkeeper",aiCardsAgent:"ai_cards_agent",aiBillsAgent:"ai_bills_agent",aiExpensesAgent:"ai_expenses_agent",aiBankingAgent:"ai_banking_agent",accountant:"accountant",aiCfo:"ai_cfo"}},valueDelivered:{title:"Value Delivered",subtitle:"Measurement of what you get vs. what you pay",zeniSubscriptionPlan:"Zeni Subscription Plan"},annualizedImpact:{title:"Annualized Impact",subtitle:"At this rate annually, you'll save"}},sessionTimeout:{title:"Session ends in",description:"You will be signed out due to inactivity.",descriptionClickPrefix:"Click",descriptionSuffix:"to stay signed in.",signOut:"Sign Out",continueSession:"Continue Session"},aiAccountantCustomer:{table:{bookClose:"Book Close",accuracy:"Accuracy"},actions:{onboard:"Onboard",evaluate:"Evaluate",fullPipeline:"Full Pipeline",retrain:"Retrain",offboard:"Offboard",cancelOnboarding:"Cancel Onboarding"},jobTriggerDialog:{title:"Trigger Job",datesInstruction:"Please provide start and end dates.",singleDescription:"__companyName__. __datesInstruction__",singleDescriptionOffboard:"__companyName__ will be offboarded from AI Accountant."},drawer:{enrollmentDetails:"Enrollment Details",onboarded:"Onboarded",modelAccuracy:"Model Accuracy",noAccuracyData:"No accuracy data available",jobHistory:"Job History",loadingJobs:"Loading jobs...",noJobsFound:"No jobs found",operation:"Operation"},summary:{totalCustomers:"Total Customers",avgAccuracy:"Avg Accuracy"},bulkActions:{menuLabel:"Bulk Actions",selectedCount:"__count__ selected",noCommonOperations:"No actions available for the selected customers",disabledInfo:"The selected customers have no action in common. Narrow your selection to customers in the same state.",bulkDialogDescription:"__count__ customers selected for __action__. Please provide start and end dates.",bulkDialogDescriptionOffboard:"__count__ customers selected for offboarding.",evaluateAllDialogDescription:"__count__ unonboarded customer(s) will be evaluated. Please provide start and end dates."}},cardsShutdown:{bannerDescription:"We're sunsetting Zeni Cards on {date} and partnering with Ramp as our recommended corporate cards provider. Here's what's changing, key dates, and how to apply.",bannerDescriptionWithoutDate:"We're sunsetting Zeni Cards and partnering with Ramp as our recommended corporate cards provider. Here's what's changing, key dates, and how to apply.",introBody:"We're sunsetting Zeni Cards on {date} as we focus on our core AI accounting and bookkeeping platform. To keep your financial operations running without interruption, we recommend Ramp as your corporate card provider.",introBodyWithoutDate:"We're sunsetting Zeni Cards as we focus on our core AI accounting and bookkeeping platform. To keep your financial operations running without interruption, we recommend Ramp as your corporate card provider.",programEnds:"Program ends {date}",applicationDisclaimer:"Ramp reviews each application independently. Approval, card limits, and implementation timing aren't guaranteed and depend on the information provided during the application.",whatThisMeansTitle:"What this means for you",meansProgramEnd:"Your current Zeni Card program is expected to end on {date}.",meansApplicationRequired:"Moving to Ramp is not automatic. Your business will need to complete a new Ramp application, and Ramp will conduct its standard business and identity review.",meansImplementation:"If approved, Zeni and Ramp will coordinate with you on card setup, policies, approvals, and implementation.",meansControllerSupport:"Your Zeni controller will remain available to help you understand the transition and next steps.",whatToDoNowTitle:"What to do now",watchForInvitationTitle:"Watch for your Ramp invitation",watchForInvitationBody:"Look out for an email from Ramp titled “You’ve been invited” to review and complete your pre-filled application.",loopInControllerTitle:"Loop in your Zeni controller",loopInControllerBody:"Share any card limits, approval rules, expense policies, or timing constraints during setup.",needHelpPrefix:"Need help? Reach us at ",needHelpSuffix:"."},invoicingOverview:{revenueMetricOverTime:"Revenue - {metric} Over Time",mrrMovement:"MRR Movement",mrrMovementNewSubscriptions:"New Subscriptions",mrrMovementExpansions:"Expansions",mrrMovementNewChange:"New MRR Change",customerMovement:"Customer Movement",customerMovementSubtitle:"All status transitions this month",netCustomerChange:"Net customer change",totalActiveCustomers:"Total active customers",customerChurnRate:"Customer churn rate",revenueByPlan:"Revenue by Plan",noPlanData:"No plan data available.",noRecentSubscriptions:"No recent subscriptions.",kpiActiveSubs:"Active Subs",metricChurnRate:"Churn Rate",tabRecentSubscriptions:"Recent Subscriptions",tabMonthlyMrrBreakdown:"Monthly MRR Breakdown",pillPaused:"Paused",pillResumed:"Resumed",pillReactivated:"Reactivated",alertFailedPayments:"Failed Payments",alertNeedsAction:"Needs action",alertUpcomingInvoices:"Upcoming Invoices",alertNext7Days:"Next 7 days",alertPastDueInvoices:"Past Due Invoices",nrrTitle:"Net Revenue Retention (NRR)",nrrSubtitle:"Trailing 12 months · benchmark for SaaS health",nrrFootnote:"NRR over 112% means existing customers are growing faster than they’re churning — typically a sign of strong product-market fit. Healthy SaaS benchmark is >100%.",grrTitle:"Gross Revenue Retention (GRR)",grrSubtitle:"Excludes expansion · pure retention signal",grrFootnote:"GRR caps at 100% — it strips out upsell to show how much revenue you’d retain without expansion. Best-in-class SaaS sits at 90%+. Below 80% signals a churn problem.",startingArr:"Starting ARR",expansionsArr:"Expansions ARR",contraction:"Contraction",churn:"Churn",endingArr:"Ending ARR",nrr:"NRR",retainedArr:"Retained ARR",grr:"GRR",summaryNewMrr:"New MRR",summaryExpansion:"Expansion",summaryChurnedMrr:"Churned MRR",summaryNetMrrChange:"Net MRR Change",summaryEndingMrr:"Ending MRR",colAutoCollect:"Auto Collect",autoCollectOn:"ON",autoCollectOff:"OFF",cadenceAnnual:"Annual",since:"Since"},invoicingCommon:{minimumQuantityAllowed:"Minimum 1 allowed",zipPlaceholder:"94105",usage:"Usage",pricing:"Pricing",subFamilyCode:"Price Point Code",productCode:"Product Code",columnTarget:"Target",labelBillingPeriod:"Billing Period",labelPricingModel:"Pricing Model",addOns:"Add-ons",oneTimeChargesTab:"One-time Charges",importCsvFile:"Import CSV File",pluralSuffix:"s",description:"Description",subFamilyId:"Price Point ID",itemDetails:"Item Details",name:"Name",externalName:"External Name",unit:"Unit",itemApplicability:"Item Applicability",applicableItems:"Applicable Items",timestamps:"Timestamps",updatedAt:"Updated At",addOn:"Add-on",coupons:"Coupons",oneTimeCharge:"One-time Charge",cancelSubscription:"Cancel Subscription",nameShownOnInvoices:"Name shown on invoices",placeholderPriceZero:"0.00",trialPeriod:"Trial Period",labelFreeQuantity:"Free Quantity",invoiceNotes:"Invoice Notes",invoiceName:"Invoice Name",placeholderAddInvoiceName:"Add invoice name",appendedToInvoiceLineItem:"Appended to invoice line item",addInvoiceNotes:"Add invoice notes",checkmark:"✓",yourCompany:"Your Company",thankYouForYourBusiness:"Thank you for your business.",onReceipt:"On receipt",net:"Net ",newSuffix:"—NEW",invoiceNumber:"Invoice #",poNumberLabel:"PO #",logoAlt:"Logo",taxIdLabel:"Tax ID: ",billedTo:"Billed To",amount2:"Amount (",paymentLinkNoItemizedInvoice:"Payment link — no itemized invoice",qtyLabel:"Qty: ",subtotal:"Subtotal",amountDue:"Amount Due (",signatureAlt:"Signature",currencySymbolEur:"€",currencySymbolGbp:"£",currencySymbolInr:"₹",createCoupon:"Create Coupon",couponDetails:"Coupon Details",couponId:"Coupon ID",couponCodeLabel:"Coupon Code",applyOn:"Apply On",discountType:"Discount Type",maxRedemptions:"Max Redemptions",validFrom:"Valid From",validTill:"Valid Till",dueOnReceipt:"Due on receipt",createInvoice:"Create Invoice",customerDetails:"Customer Details",billingFrequency:"Billing Frequency",openCustomerInNewTab:"Open customer in new tab",openSubscriptionInNewTab:"Open subscription in new tab",openInvoiceInNewTab:"Open invoice in new tab",allocated:"Allocated",refunded:"Refunded",referenceInvoice:"Reference Invoice",subTotal:"Sub Total",noLineItems:"No line items.",creditNote:"Credit Note",preparing:"Preparing…",bankAccountAch:"Bank Account (ACH)",connectViaPlaid:"Connect via Plaid — lower fees, 2–4 day settlement",loading:"Loading…",creditDebitCard:"Credit / Debit Card",cardMethodDescription:"Visa, Mastercard, Amex — instant settlement",cardSetupFailed:"Card setup failed.",failedToSaveCard:"Failed to save card.",expiry:"Expiry",saveCard:"Save Card",newSubscription:"New Subscription",outstanding:"Outstanding",namePlaceholder:"James Johnson",firstNamePlaceholder:"James",lastNamePlaceholder:"Johnson",emailPlaceholder:"billing@acme.com",phonePlaceholder:"(555) 000-0000",companyPlaceholder:"Acme Corp",billingDetails:"Billing Details",vatNumber:"VAT Number",vatNumberPlaceholder:"US-EIN-12-3456789",autoCollectionDescription:"Enabling this automatically charges the customer each billing cycle.",autoCollection:"Auto Collection",netTerms:"Net Terms",selectNetTerm:"Select net term",preferredCurrency:"Preferred Currency",taxability:"Taxability",selectTaxability:"Select taxability",invoiceNotesHint:"Default note to appear on invoices",invoiceNotesPlaceholder:"Default notes to appear on invoices…",addStreetAddress:"Add street address",floorSuiteOffice:"Floor/Suite/Office",city:"City",addCity:"Add city",state:"State",addState:"Add state",addCountry:"Add country",zipCode:"ZIP Code",yourVendor:"Your vendor",createCustomerLabel:"Create Customer",of:" of ",free:" free",code:"Code",redemptions:"Redemptions",slashSeparator:" / ",duration:"Duration",daysPastDue:"Days Past Due",nextRetry:"Next Retry",attempts:"Attempts",line1:"Line 1",line2:"Line 2",recordPayment:"Record Payment",arrowSeparator:" → ",shippingAddress:"Shipping Address",poNumber:"PO Number",poNumber2:"PO number",refunds:"Refunds",gateway:"Gateway",referenceNumber:"Reference Number",subscriptionDetails:"Subscription Details",addShippingAddressButton:"Add shipping address",addBusinessAddressButton:"Add business address",addPoNumber:"Add PO number",shipLine1Placeholder:"123 Main St",shipLine2Placeholder:"Suite 200",cityPlaceholder:"San Francisco",statePlaceholder:"CA",createSubscriptionLabel:"Create Subscription",cardStatus:"Card Status",creditNumber:"Credit Number",dateIssued:"Date Issued",creditedAgainst:"Credited Against",totalCredits:"Total Credits",daySuffix:"d",trial:"Trial",amount:"Amount",all:"All"},invoicingAuditLog:{timeColumnHeader:"Time",actorColumnHeader:"Actor",detailColumnHeader:"Detail",noAuditEntriesMatchSearch:"No audit entries match your search.",noAuditActivityYet:"No audit activity yet.",searchActionTargetActorPlaceholder:"Search action, target, or actor"},invoicingCatalog:{addOnsNoun:"add-ons",oneTimeChargesNoun:"one-time charges",plansNoun:"plans",itemsNoun:"items",addItem:"Add Item",addAddOn:"Add Add-on",addOneTimeCharge:"Add One-time Charge",periodSingular:"1 ${label}",periodPlural:"${period} ${label}s",productColumnHeader:"Product",itemTypeColumnHeader:"Item Type",activePlansKpi:"Active Plans",activeProductsKpi:"Active Products",avgPlanPriceKpi:"Avg Plan Price",noMatchSearch:"No ${tabNoun} match your search.",noItemsYet:"No ${tabNoun} yet.",emptyStateDescription:"Bring in your historical product catalog data by importing your product catalog csv file",emptyStateTitle:"No Product Catalog Yet",searchPlaceholder:"Search ${tabNoun}"},invoicingCatalogDetail:{oneSpace:"1 ",activeSubFamilies:"Active Price points",archivedSubFamilies:"Archived Price points",lowestActiveSubFamilyPrice:"Lowest Price Point Price",priceTiers:"Price / Tiers",catalogItemNotFound:"Catalog item not found.",itemNamePlaceholder:"Item name",externalNamePlaceholder:"External name",addDescriptionPlaceholder:"Add a description",lineItemDescription:"Line Item Description",itemFamily:"Item Family",restrictedPrefix:"Restricted (",itemsSuffix:" items)",subFamilies:"Price points",noSubFamilies:"No Price points.",archivedAt:"Archived At",archiveSubFamily:"Archive price point",archiveSubFamilyBlocked:"Cannot archive while subscriptions reference this price point.",duplicateSubFamily:"Duplicate price point",subscriptionsUseSubFamilyBanner:"{count} subscriptions use this price point. To change pricing, create a new price point."},invoicingCatalogForm:{trialUnitDay:"Day",periodUnitWeek:"Week",pricingModelFlatFee:"Flat fee",pricingModelPerUnit:"Per unit",pricingModelTiered:"Tiered",pricingModelVolume:"Volume",pricingModelStairstep:"Stairstep",tierTypePerUnit:"Per Unit",tierTypeFlatFee:"Flat Fee",tierTypePackage:"Package",trialEndActivateSubscription:"Activate Subscription",prorationPartialTerm:"Partial Term",prorationFullTerm:"Full Term",applicabilityAll:"All add-ons & charges",applicabilityRestricted:"Restricted — Select applicable items",applicableItemsEmptyPlaceholder:"No add-ons or charges available",selectApplicableItemsPlaceholder:"Select applicable items",validationProductFamilyRequired:"Enter a Product Family name for this catalog item.",validationSubFamilyNameRequired:"Add at least one price point and enter a name for each one.",titleEditCatalogItem:"Edit Catalog Item",titleCreatePlan:"Create Plan",titleCreateOneTimeCharge:"Create One-time Charge",titleCreateAddon:"Create Add-on",sectionPlanAndProductFamilyDetails:"Plan and Product Family Details",productCodeExample:"Optional. Generated from Product Family when left blank.",placeholderAddProductCode:"Add product code",customerFacingName:"Customer facing name",labelProductFamily:"Product Family",placeholderAddProductFamily:"Add product family",labelPricePointName:"Price point name",placeholderAddSubFamilyName:"e.g. Growth Monthly",subFamilyCodeExample:"Optional. Generated from the price point name when left blank.",placeholderAddSubFamilyCode:"Add price point code",forInternalUseOnly:"For internal use only",subFamilyDetailsTitle:"Price Points",pricePointsRequiredHint:"Add at least one price point to create this plan. Add more for different billing frequencies (e.g. monthly, annual) or currencies.",addNewLink:"Add another price point",subFamilyNumberPrefix:"Price Point",removeSubFamilyConfirmation:"Remove this price point?",labelSubFamily:"Price Point",placeholderAddSubFamily:"Add price point",labelAddTiers:"Add Tiers",tierColumnTo:"To (blank for unlimited)",tierColumnPackageSize:"Package size",infinity:"∞",removeTierX:"✕",addTierLink:"Add Tier",hintAddBillingPeriod:"Add billing period",placeholderTrialPeriodExample:"e.g. 14",labelTrialEndAction:"Trial End Action",hintBillingCyclesUnlimited:"Keep it blank for unlimited cycles",placeholderAddBillingCycles:"Add number of billing cycles",labelProrationType:"Proration Type",labelFlags:"Flags",selectFlagsPlaceholder:"Select flags",labelShowDescriptionInQuotes:"Show Description in Quotes",lineItemDescriptionHint:"Shown below the line-item name when invoice descriptions are enabled",subFamilyInvoiceNotesHint:"Shown in the invoice Notes section when this price point is billed",nameShownOnInvoiceLineItem:"Name shown on the invoice line item",sectionAccountingIntegration:"Accounting Integration",skuQboExample:"QBO Product code. Example: BASIC-M",labelSku:"SKU",placeholderAddSku:"Add SKU",placeholderAddAccountingCode:"Add accounting code",placeholderSelectIncomeAccount:"Select income account"},invoicingCouponForm:{enterCouponIdError:"Enter a Coupon ID.",enterCouponNameError:"Enter a name for this coupon.",editCouponTitle:"Edit Coupon",couponIdPlaceholder:"e.g. WELCOME20",namePlaceholder:"e.g. Welcome 20% Off",discountPercentagePlaceholder:"e.g. 20",discountPercentageLabel:"Discount Percentage",discountAmountLabel:"Discount Amount",freeQuantityPlaceholder:"e.g. 1",durationLimitsSectionTitle:"Duration & Limits",durationTypeLabel:"Duration Type",periodPlaceholder:"e.g. 3",periodUnitLabel:"Period Unit",maxRedemptionsPlaceholder:"Add max redemptions",discountsAccountLabel:"Discounts Account",discountsAccountPlaceholder:"Select income account"},invoicingCreateInvoice:{selectPaymentTerm:"Select payment term",net7:"Net 7",net15:"Net 15",net30:"Net 30",net45:"Net 45",net60:"Net 60",selectBillingFrequency:"Select billing frequency",halfYearly:"Half-yearly",annually:"Annually",addAtLeastOneLineItem:"Add at least one line item with a description and unit price.",step1CustomerAndType:"Step 1: Customer and Type",step2InvoiceDetails:"Step 2: Invoice Details",step1Subtitle:"How would you like to create an invoice? Select a customer and choose the invoice type.",step2Subtitle:"Set dates, line items, and additional details.",invoiceJpg:"Invoice.jpg",livePreviewSuffix:" - Live Preview",paymentLink:"Payment link",paymentLinkCalloutText:"A payment link will be generated and sent to the customer — no itemized invoice document is required.",chooseExistingCustomerHint:"Choose an existing customer or create one first",searchOrTypeCustomerName:"Search or type a customer name",pleaseSelectCustomer:"Please select a customer to continue.",invoiceType:"Invoice Type",selectAnInvoiceType:"Select an invoice type",oneTimeInvoiceDescription:"Send a one-time invoice with a built-in payment link.",oneTimeInvoiceTitle:"One-time Invoice",recurringSeriesDescription:"Automatically generate recurring invoices on a set schedule.",recurringSeriesTitle:"Recurring Series",paymentLinkOnlyDescription:"Send only a payment link with a single amount — No itemized invoice.",paymentLinkOnlyTitle:"Payment Link Only",general:"General",setInvoiceDatesHint:"Set the invoice dates and additional details.",selectInvoiceDate:"Select invoice date",paymentTerms:"Payment Terms",usdUsDollar:"USD — US Dollar",soNumber:"SO Number",addSoNumber:"Add SO number",exampleSoNumber:"Example: SO-2026-001",exampleMemo:"Example: thank you for your business",unitPriceLabel:"Unit Price (",useDescriptionAs:"Use description as",addQuantity:"Add quantity",addPrice:"Add price",removeLine:"Remove line",addLine:"Add Line",unitPriceInDollars:"Unit price in dollars"},invoicingCreditDetail:{allocatedAt:"Allocated At",creditNoteNotFound:"Credit note not found.",creditNoteTitlePrefix:"Credit Note ",creditNoteDetails:"Credit Note Details",creditNoteId:"Credit Note ID",creditNoteNumber:"Credit Note Number",priceType:"Price Type",amounts:"Amounts",amountAvailable:"Amount Available",amountAllocated:"Amount Allocated",amountRefunded:"Amount Refunded",allocations:"Allocations",noAllocations:"No allocations.",linkedRefunds:"Linked Refunds"},invoicingCreditList:{noCreditNotesMatchSearch:"No credit notes match your search.",noCreditNotesYet:"No credit notes yet.",createCreditNoteButton:"Create Credit Note",emptyStateDescription:"Bring in your historical credit note data by importing your credit note csv file",emptyStateTitle:"No Credit Notes Yet",searchPlaceholder:"Search by customer or credit note"},invoicingCustomerDetail:{paymentMethodSavedTitle:"Payment method saved",paymentMethodSavedDescription:"The payment method has been added and is now the default. Existing payment methods are kept, and future invoices can be collected automatically.",addPaymentMethod:"Add Payment Method",addPaymentMethodSubtitle:"Securely add a bank account or card to collect invoice payments.",connectStripeNotice:"Connect a Stripe account in Settings › Payment Destination before adding a payment method.",securedByStripeAndPlaid:"Secured by Stripe & Plaid.",countryAustralia:"Australia",countryCanada:"Canada",countryGermany:"Germany",countryFrance:"France",countryUnitedKingdom:"United Kingdom",countryIndia:"India",countryJapan:"Japan",countrySingapore:"Singapore",countryUnitedStates:"United States",netTermsDueImmediately:"Due immediately",createPromotionalCreditsSubtitle:"Add promotional credits to this customer&apos;s balance. Credits are applied automatically on the next invoice before tax.",currentPromotionalCreditsBalance:"Current balance",promotionalCreditAmountRequired:"Enter a positive amount.",promotionalCreditDescriptionRequired:"Description is required.",promotionalCreditDescriptionPlaceholder:"e.g. Welcome bonus",promotionalCreditsAddedTitle:"Promotional credits added",promotionalCreditsAddedDescription:"The customer's promotional credit balance has been updated.",customerSince:"Customer Since",sincePrefix:"Since ",lifetimeValue:"Lifetime Value",promotionalCredits:"Promotional Credits",refundableCredits:"Refundable Credits",excessPayments:"Excess Payments",unbilledCharges:"Unbilled Charges",maskedDigitsPrefix:"•••• ",maskedDigitsMiddle:" •••• ",expires:"Expires",customerNotFound:"Customer not found.",taxable:"taxable",netDashPrefix:"Net-",streetAddress:"Street Address",balances:"Balances",connectStripeTooltip:"Connect a Stripe account in Settings › Payment Destination first",paymentMethods:"Payment Methods",connectStripeBefore:"Connect your Stripe account in",settingsPaymentDestination:"Settings › Payment Destination",connectStripeAfter:"to add payment methods.",invoicePaymentDetails:"Invoice payment details:",customerEmailPlaceholder:"customer@email.com",emailPaymentLinkTooltip:"Email the customer a link to add their payment details",collectAchHint:"We will email the customer to provide their ACH details.",paymentLinkSentTo:"Payment link sent to ",copyPaymentLink:"Copy payment link",sendPaymentLinkFailed:"Failed to send payment link.",default:"Default",noPaymentMethodOnFile:"No payment method on file",previewEmailHeading:"Preview email",previewEmailSubtitle:"Edit the subject and message; the preview updates as you type.",previewEmailFrameTitle:"Rendered payment link email preview",previewEmailLoading:"Loading the branded email preview…",previewEmailUnavailable:"The email preview is unavailable right now. You can still send the payment link.",previewEmailFailed:"Could not load the email preview.",previewEmailRetry:"Retry",previewEmailSend:"Send email",previewEmailMessageLabel:"Message",previewEmailSubjectRequired:"Enter an email subject.",previewEmailBodyRequired:"Enter an email message.",sending:"Sending…",noSubscriptions:"No subscriptions.",recentInvoices:"Recent Invoices",noInvoices:"No invoices.",addNoteAboutCustomer:"Add a note about this customer"},invoicingCustomerForm:{validationEnterEmail:"Enter an email for this customer.",customerDetailsDescription:"Primary contact for billing and invoices",customerTypeLabel:"Customer Type",billingAddressSectionDescription:"Enter your company's official billing address for invoicing.",addSecondaryInfoPlaceholder:"Add secondary info (Optional)",addressSecondaryHint:"Example: Address on your driver&apos;s license",addBillingAddressButton:"Add billing address",billingSettingsDescription:"Tax IDs, currency, and payment defaults",billingSettingsTitle:"Billing Settings",customerTypeResidential:"Residential",netTermImmediate:"Immediate",taxabilityExempt:"Exempt"},invoicingCustomerList:{noCustomersMatchSearch:"No customers match your search.",noCustomersYet:"No customers yet.",importCustomersDescription:"Bring in your historical customers by importing your customers csv file",noCustomerYetTitle:"No Customer Yet"},invoicingDataImport:{inSync:"In Sync",skippedSuffix:" Skipped",warningsSuffix:" Warnings",newImport:"New Import",chargebeeImportFailed:"Chargebee import failed",chargebeeImportInProgress:"Chargebee import in progress",csvImportFailed:"CSV import failed",csvImportInProgress:"CSV import in progress",viewDetails:"View details",records:"records",bulletSeparator:" • ",lastImportReversible:"Last import is reversible",recordsBulletSeparator:"records • ",rollback:"Rollback",importedModules:"Imported Modules",module:"Module",recordsColumn:"Records",lastImported:"Last Imported",loadingImportStatus:"Loading import status…",noImportedRecords:"No imported records yet. Start a new import to populate this table.",templateProductCatalogPlans:"Product Catalog (Plans)",templateCouponsAndDiscounts:"Coupons & Discounts",chargebeeStepSettingsImportExport:"Chargebee → Settings → Import & Export → Export",chargebeeStepDetailModulesList:"Plans, add-ons, one-time charges, customers, subscriptions, invoices, credit notes",chargebeeStepDetailPickAllTime:'Pick "All time" range. CSV format. Default columns are fine.',chargebeeStepExportModule:"Export the module you want",chargebeeStepDropCsvFiles:"Drop the .CSV files above",capsuleIssuesSuffix:" Issues",capsuleReady:"Ready",scanningCaptionCsv:"Larger exports can take a few minutes — you can leave this page, it keeps running.",scanningCaptionChargebee:"This can take a moment for larger accounts — you can leave this page, it keeps running.",scanningLabelCsv:"Reading your uploaded files…",defaultImportErrorMessage:"Something went wrong during import.",backToDataImport:"Back to Data Import",migrateHeading:"Migrate from Chargebee → Zeni",migrateSubtitle:"Connect Chargebee or drop your CSV exports — we’ll handle the rest.",connectWithChargebee:"Connect with Chargebee",importFromChargebee:"Import from Chargebee",connectedToChargebee:"Connected to {site}",chargebeeConnectedLabel:"Connected to Chargebee",buttonFetchFromChargebee:"Fetch from Chargebee",chargebeeNotConnectedMessage:"Connect Chargebee in Invoicing Settings → Integrations to fetch data automatically.",buttonGoToIntegrations:"Connect Chargebee in Settings",connectPullEverything:"Pull everything automatically — fully linked, no CSV juggling.",connectingToChargebee:"Connecting to Chargebee…",fieldLabelChargebeeSite:"Chargebee site",sitePlaceholderAcme:"acme",fieldHintSiteSubdomain:`The subdomain in your Chargebee URL — e.g. acme in
345
+ `,redirectToQBO:"Redirect to QBO",mergeInQBOSteppedContent:{step1:{navigateTo:"Navigate to ",andSelectThe:" and Select the ",tab:" tab."},step2:{lineText:"Find and open the vendor profile you want to keep. Then Select ",andCopy:" and copy",display:"Display"},step3:{goBackTo:"Go back to the ",lineText:" tab. Find and open the vendor you don't want to keep. Then select "},step4:{lineText:"Change the display name to make it identical to the vendor you're merging it with."},step5:{andThen:" and then "}},mergeInNetSuiteSteppedContent:{step1:{goTo:"Go to ",lists:"Lists",then:" then ",relationships:"Relationships",then2:" then "},step2:{click:"Click ",next:" next to the ",sourceInfo:" that will be the source "},step3:{onThe:"On the ",page:" page, under ",click:", click "},step4:{onThe:"On the ",mergeVendor:"Merge Vendor",endText:" page, select the target vendor into which you want to merge this source vendor record. "},step5:{text:" Both the source and target vendor records must have the same primary subsidiary to merge the records. "},step6:{click:"Click ",text:" . At the prompt to confirm the action, click "},step7:{onThe:"On the ",duplicateResolution:"Duplicate Resolution Status",text:" page, the merge is queued for process. "},step8:{click:"Click ",processText:" to process the merge or the ",haltText:" link to halt the merge process. "},step9:{the:"The ",text:" column provides the results of the merge. "},step10:{text:"The un-categorized and mis-categorized transactions for the deleted vendor will be migrated within 24 hours after the vendor merge is completed. "}}},rowMoreActions:{markAsEmployee:"Mark as Employee",markAsLocalContractor:"Mark as Local Contractor"},tooltip:{mergeInQBOText:"Updated vendor name already exists in QBO and needs to be merged.",mergeInNetSuiteText:"Updated vendor name already exists in NetSuite and needs to be merged."},overlay:{title:'Add Website for "_vendor_name_"'}}},commentsAndNotifications:{notifications:{texts:{markAsRead:"Mark as Read",markAllAsRead:"Mark all as read"},actionStrings:{comments:{mention:"mentioned you in comment",reply:"replied to your comment",reaction:"reacted to your message",toMessage:"to your message",assign:"assigned you to a task",unassign:"unassigned you from a task",newThread:"created a new thread",resolveComment:"resolved a comment",unResolveComment:"reopened a comment",newActivity:"performed new activity on your message",newRepliesAdded:"replied to a comment",newCommentAdded:"added a comment"},notifications:{create:"created this task.",assign:"assigned this task to you.",overdue:"Due date was __date__",due:"Currently __task_status__ and is due tomorrow.",dueTomorrow:"This task is due tomorrow.",statusUpdate:"Status updated from",activities:"made updates to this task.",delete:"deleted this task.",archive:"archived this task.",newActivity:"performed new activity on this task."}},strings:{notificationSelected:"Notification selected",notificationsSelected:"Notifications selected",newMessage:"You have received a new message"},message:{noNotificationsMessage:"No notifications at this time. You're all caught up."}}},featurePreview:{scheduleDemo:"Schedule a Demo",popups:{home:{title:"Unleash the Power of AI Bookkeeping",text:"Update your books daily, access real-time insights, and receive personalized support from a dedicated team of experts — all on a single platform"},ai_automation:{title:"Unleash the Power of AI Bookkeeping",text:"Update your books daily, access real-time insights, and receive personalized support from a dedicated team of experts — all on a single platform"},reports:{title:"Investor Ready Reports",text:"Generate beautiful PDF reports to forward to investors, bankers, or to build into your board deck. Alternatively, download or share view-only access to your dashboard."},forecast:{title:"Forecasting and Planning",text:"Don't settle for Excel. Accurately forecast your bookings, revenues, workforce, expenses and cash flows by comparing Actuals vs Budgets from a central dashboard."},bills:{title:"The fastest way to pay vendors",text:"Pay domestic and international vendors quickly and automate your accounts payable process end-to-end directly from the dashboard – at no additional cost. "},reimbursements:{title:"Reimburse employees at lightning speed",text:"Embrace the efficiency and future of AI-driven expense reimbursements while boosting employee satisfaction."},vendors:{title:"Stop wondering how you’re spending money",text:"Daily, crystal-clear insights into your Operating Expenses give you an instant view into your cash burn and expenses, including Gross Burn and Net Burn trends."},people:{title:"",text:""},rewards:{title:"",text:""},cards:{title:"",text:""},checking:{title:"Business banking turning transactions into triumphs",text:"Modern checking accounts with a guaranteed yield earned from your first dollar and no hidden fees. Leverage AI to auto categorize your transactions effortlessly."},treasury:{title:"",text:""},accounting:{title:"",text:""},approval_rules:{title:"",text:""},bank_connections:{title:"",text:""},business_verification:{title:"",text:""},company_details:{title:"",text:""},integrations:{title:"",text:""},my_profile:{title:"",text:""},my_bank_connections:{title:"",text:""},notifications:{title:"",text:""},billing:{title:"",text:""},performance:{title:"",text:""},ai_cfo:{title:"",text:""}}},collaboration:{commentOnField:"comment on field",threads:{placeholder:{replyAComment:"Reply to comment...",addANewComment:"Add a new comment..."},tooltip:{resolveComment:"Resolve comment",unResolveComment:"Re-open comment"}}},expenseAutomation:{common:{numbers:{maximumCount:999}},overview:{confidenceScoreDescription:"Higher score means you're close to finish.",auditScoreDescription:"Streamline your month-end close with Zeni AI.",monthEndCloseProgress:"Month-end close progress",targetClose:"Target Close:",daysToClose:"Days to Close:",financialClose:"Financial Close",reviewReport:"Review month-end close report.",insightsCtaMessage:"Improve your confidence score to _minimum_score_ or above to unlock month-end insights",createInsights:"Create _month_name_ Insights",monthEndCloseTrend:"Performance Trend",monthEndCloseTrendNoData:"No data yet!",monthEndCloseTrendNoDataDescription:"Initiate your first month-end close to track performance.",confidenceScoreTooltip:"Indicates overall progress of all month-end close tasks. Higher score means you're closer to finishing the close.",byHumans:"by Humans",progress:"Progress",headerByAI:"By AI",statistics:{accountsAutoReconciled:"Accounts auto-reconciled",transactionsAutoCategorized:"Transactions auto-categorized",humanEfficiency:"Tasks completed by AI Agents",fasterReviews:"Faster reviews",vendorsWithFluctuations:"Vendors with fluctuations"}},confirmationDescription:"Are you sure you want to exit without saving?",dashboardCard:{month_end_insights:"Month end insights"},transactions:{header:{memoReceipt:"Memo | Receipt",receipt:"Receipt",toFrom:"To/From"},searchPlaceholder:"Search by vendor, amount, date, or memo",tabs:{autoCategorized:"Auto-categorized"},transactionGroupFilter:{transactionGroupLabel:"Transaction Group"},subTitles:{review:{item1:{pre:"",bold:"AI Bookkeeper",post:"has recommendations for Payees, Categories, Classes."},item2:{pre:"",bold:"",prefixIconName:"",post:"Review them, select, save your changes, and AI Bookkeeper will learn from your updates."}},autoCategorized:{item1:{pre:"",post:"have auto-categorized the below #number transactions for this month."},item2:{pre:"",bold:"",prefixIconName:"",post:"Feel free to review and make the necessary changes. AI Agents will learn from your updates."}}},allDoneText:{title:"All set!",subTitle:"Task cleared, ready to soar!"},emptyStates:{noSearchResults:{title:"No matching transactions",subTitle:"Try adjusting your search or filters."}},filters:{categoryLabels:{paymentAccountName:"Payment Account Name",paymentAccountType:"Payment Account Type"},amountOperators:{isEqual:"Is equal",inBetween:"In between",placeholder:"Select operator"},filterOptions:{transactionAmountOptions:[{label:"< 100",value:"-10000000<->100"},{label:"100 to 500",value:"100<->500"},{label:"500 to 1K",value:"500<->1000"},{label:"1K to 5K",value:"1000<->5000"},{label:"5K to 10K",value:"5000<->10000"},{label:"10K to 20K",value:"10000<->20000"},{label:"> 20K",value:"20000<->10000000"}],transactionTypeOptions:[{label:"Auto-categorized",value:"autoCategorized"},{label:"Review",value:"review"},{label:"Categorized",value:"categorized"},{label:"Uncategorized",value:"uncategorized"}]},selectPaymentAccountNamePlaceholder:"Select Payment Account Name",searchForPayeePlaceholder:"Search for Payee"},addProject:"Add Project",transactionActivityLog:{noLogsFound:"No Activity logs found",transactionIngested:"Transaction ingested.",aiBookkeeperAdded:"AI Bookkeeper added the",userUpdatedDetails:"Updated the transaction details.",linePrefix:"Line #"},transferDrawer:{debitAccountLabel:"Debit Account:",creditAccountLabel:"Credit Account:",keepExpense:"Keep {transactionType}",convert:"Convert",convertToTransfer:"Convert {transactionType} to Transfer",convertToCreditCard:"Convert {transactionType} to Credit Card Payment",transferDrawerSubtitle:"The current {transactionType} will be deleted and replaced with a transfer entry",creditCardPaymentDrawerSubtitle:"The current {transactionType} will be deleted and replaced with a credit card payment entry",groupHeadingAllAccounts:"All Accounts",noEligibleAccountsDropdownLine2:"Connect an account or keep this as an expense."},transactionTypeDropdown:{multilineNotEligibleTooltip:"Multiline transactions are not eligible for transfer entry."}},jeSchedules:{subTitles:{item1:{pre:"",bold:"",prefixIconName:"",post:"Please review the following journal entries below and correct or post them."},item2:{pre:"",post:"will learn from your update, automate it, and boost accuracy and efficiency to simplify every step."}},allDoneText:{title:"High five!",subTitle:"All schedules reviewed!"},emptyState:{pendingReview:{title:"High five!",subTitle:"All schedules reviewed!"},ongoing:{title:"High five!",subTitle:"No ongoing schedules"},completed:{title:"High five!",subTitle:"No completed schedules"}},scheduleHeaders:{period:"Amortization Period",balance:"Running balance (as of today)",months:"Remaining Months",amountForMonth:"Amount(for this month)",entry:"Entry",monthlyAmount:"Monthly Amount",reversesOn:"Reverses on",reversesOnMatch:"Reverses on match",scheduledAndPosted:"Scheduled + Posted",startMonth:"Start Month",amount:"Amount",memo:"Memo"},scheduleCot:{recommendedMethod:"Recommended method",monthLifeSuffix:"-mo life",methodByType:{prepaid_expenses:"Straight-line amortization",fixed_assets:"Straight-line depreciation",accrued_expenses:"Accrual",deferred_revenue:"Straight-line recognition"},credit:"Credit",debit:"Debit"},oneTimeAccrualType:"Accrual",lifecycleLabel:{prepaid_expenses:"Prepaid Schedule",fixed_assets:"Fixed Asset Schedule",accrued_expenses:"Accrued Schedule",deferred_revenue:"Deferred Revenue Schedule"},tooltipText:{missingVendor:'The vendor "_deleted_vendor_" was deleted from the Journal Entry. Please add the correct vendor and try posting again.',missingCategory:'The category "_deleted_category_" was deleted from the Journal Entry. Please add the correct category and try posting again.',missingDepCategory:'The category "_deleted_dep_category_" was deleted from the Journal Entry. Please add the correct accumulated depreciation category and try posting again.'},resolveErrors:{heading:"This entry could not be posted",vendor_deleted:'Vendor "_deleted_field_" was deleted. Update it in Review.',debit_category_deleted:'Category "_deleted_field_" was deleted. Update it in Review.',credit_category_deleted:'Accumulated depreciation category "_deleted_field_" was deleted. Update it in Review.',qbo_error:"QuickBooks rejected this entry. Try posting again.",qbo_authorization_error:"The QuickBooks connection expired. Reconnect it, then post again.",qbo_invalid_company_status_error:"The QuickBooks subscription is inactive. Resolve it, then post again.",qbo_book_close_date_error:"The books are closed for this date. Reopen the period or move the date."},addDepCategory:"Add Depreciation Category",aiBotEmail:"ai@zeni.ai",botEmail:"bot@zeni.ai",aiAccountant:"AI Accountant ",zeniGPTText:"recommends a new JE schedule. Please review and set it up!",kpiStrip:{aiAccountant:"AI Accountant Created",manual:"Manual Created",schedules:"schedules",total:"Total this close",typeLabels:{fixed_assets:"Fixed Asset",prepaid_expenses:"Prepaid",accrued_expenses:"Accrual",deferred_revenue:"Revenue Accrual"}},typeFilter:{prepaid_expenses:"Prepaid",fixed_assets:"Fixed Asset",accrued_expenses:"Accrual",deferred_revenue:"Deferred Revenue",all:"All"},groups:{createdInsight:"Auto-posted or manually recorded",failedPostings:"Failed Postings",pendingReviewInsight:"Input requested before posting"},tabs:{schedules:"Review Schedules",actualMatching:"Actual Matching",existingSchedules:"Existing Schedules"},actualMatching:{matchNew:"Match new",undoReversal:"Undo reversal",continueMatch:"Continue match",openBill:"Open bill",openCharge:"Open charge",openTransaction:"Open {type}",kpi:{actualsReceived:"Actuals received ({month})",ofExpected:"of {count} expected",vendorsStillPending:"{count} vendors still pending",vendorStillPending:"1 vendor still pending",autoReversed:"Auto-reversed",cleared:"{amount} cleared",pendingReview:"Pending review",estMinutesToClear:"Est. {minutes} min to clear",variance:"Variance (actual vs accrued)",varianceFooter:"avg {percent} per match · {amount} net"},groups:{reversed:"REVERSED"},groupSubtitles:{reversed:"AI Accountant and Human User · {amount}",pendingReview:"Variance above threshold or ambiguous match · {amount}"},columns:{received:"Received",vendor:"Vendor",type:"Type",service:"Service",reverses:"Reverses",matchTier:"Match tier",reversedBy:"Reversed by",accrued:"Accrued",actual:"Actual",variance:"Variance"},reversedBy:{aiAccountant:"AI Accountant",humanUser:"Human User"},matchTier:{exact:"Exact match",fuzzy:"Fuzzy",aiAccountant:"AI Accountant",manual:"Manual"},reversesCount:"{count} accruals",groupedOpenAccrual:"Open accrual",groupedMenuAria:"Accruals in this match",lifecycle:{pendingReview:"PENDING REVIEW",autoReversed:"AUTO-REVERSED"},emptyState:{title:"No matches this close",subTitle:"Reversed and pending-review accruals for this close will show up here."},matchModal:{title:"Match transactions to accruals",subtitle:"Select one bill or expense line and one or more posted accruals to reverse.",leftTitle:"Transactions",rightTitle:"Accruals",selectedLabel:"selected",leftSearchPlaceholder:"Search bills, expenses, and checks",rightSearchPlaceholder:"Search posted accruals",emptyLeft:"No transactions found",emptyRight:"No posted accruals found",confirm:"Confirm Match",maxAccruals:"You can match up to 50 accruals at once.",conflict:"Could not reverse this accrual",vendorLock:"Only accruals for the selected vendor can be matched.",selectLineHint:"Select a line on this bill",previewEmpty:"Pick at least one transaction and one accrual to preview the match.",accrualJeTitle:"Accrual journal entry being reversed",reversalJeTitle:"Reversal journal entry",reversalJeNote:"One per accrual · mirrors its amount",transactionMatchedTitle:"Transaction matched",columnDate:"Date",columnAccount:"Account",columnDebit:"Debit",columnCredit:"Credit",lastDayOfMonth:"last day",reversesLabel:"_REV Reverses",vsAccrued:"vs. accrued {amount} · variance posts to {account}",accruedExpensesFallback:"Accrued Expenses"},matchDetail:{service:"service",accrued:"Accrued",actual:"Actual",variance:"Variance",accrualJes:"Accrual journal entries",leftovers:"Not reversed",reversalFailed:"Reversal failed",undoFailed:"Undo failed",loadErrorTitle:"Couldn't load this match",loadErrorSubTitle:"Refresh to try again.",reversalJe:"Reversal journal entry",matchedBill:"Matched bill",matchedCharge:"Matched charge",matchedTransaction:"Matched {type}",statusAutoReversed:"Auto-reversed",statusPendingReview:"Pending review",statusManuallyReversed:"Manually reversed"}},newSchedule:{title:"New Schedule",oneTimeAccrualTitle:"New one-time accrual",oneTimeAccrualSubtitle:"Posts directly to the books",recurringTitle:"New recurring schedule",recurringSubtitle:"Posts monthly entries starting {month}",reviewSchedule:"Review schedule",scheduleDetails:{title:"Schedule Details",oneTimeAccrual:"One time accrual",oneTimeAccrualDescription:"Single JE this month",recurringSchedule:"Recurring Schedule"},scheduleType:{title:"Schedule type",subtitle:"What is this schedule spreading?",fixedAssetDescription:"Depreciate a purchase",prepaid:"Prepaid",prepaidDescription:"Amortize a prepayment",accrual:"Accrual",accrualDescription:"Recurring estimate",deferredRevenueDescription:"Recognize over time",deferredRevenue:"Deferred Revenue",fixedAsset:"Fixed Asset"},baseTransaction:{title:"Base Transaction",subtitleFixedAsset:"The purchase being capitalized",subtitlePrepaid:"The prepayment being spread",searchPlaceholder:"Search by vendor, amount, date and memo",noResults:"Nothing matched your search... Try again.",aiAccountantInsight:"AI Accountant spreads {amount} over {months} months ≈ {amountPerMonth}/mo."},fields:{numberOfMonths:"No. of Month",amountPerMonth:"Amount Per Month",sourceOrTrigger:"Source / trigger",addVendor:"Add vendor",selectStartMonth:"Select start month",selectPostingDate:"Select posting date",selectMonths:"Select months",addAccumulatedDepreciationCategory:"Add accumulated depreciation category",addAssetId:"Add asset ID",addSourceOrTrigger:"Add Source / trigger",selectServiceMonth:"Select service month",accrualCategory:"Accrual Category",addAccrualCategory:"Add accrual category",memoPrefix:"Accrue",estimatedMonthlyAmount:"Estimated Monthly Amount",startingBalance:"Starting Balance",addStartingBalance:"Add balance",accumulatedDepreciationCategory:"Accumulated Depreciation Category",serviceMonth:"Service month",postingDate:"Posting Date",addCategory:"Add category",startMonth:"Start Month",addAmount:"Add amount",category:"Category",addClass:"Add class",assetId:"Asset ID",addMemo:"Add memo",vendor:"Vendor",amount:"Amount",class:"Class",memo:"Memo"},oneTimeAccrual:{postAccrual:"Post accrual",reverseNextMonth:"Reverse next month",reverseNextMonthOff:"Off — accrual stays open until a matching bill arrives from this vendor and clears it.",reverseNextMonthOn:"A reversing JE will post on {date} automatically — use this when no matching bill is expected (e.g., estimated bonus, true-up).",reverseNextMonthOnNoServiceMonth:"A reversing JE will post on the 1st of the month after the service month automatically — use this when no matching bill is expected (e.g., estimated bonus, true-up)."},journalEntryPreview:{title:"Journal Entry Preview",debit:"DR",credit:"CR",autoReversesOnBillMatch:"Auto-reverses when a matching bill arrives from {vendor}.",autoReversesOnDate:"Auto-reverses on {date}."},schedulePreview:{title:"Schedule preview",posts:"Posts",postsValue:"{amount} × {months} months",window:"Window",windowValue:"{start} → {end}",totalCommitted:"Total committed",eachEntry:"Each entry",eachEntryValue:"DR {debit} · CR {credit}",autoPostSuffix:" will auto-post each month until the schedule completes.",autoPostPrefix:"AI Accountant",class:"Class"},newButtonLabel:"New"},accrualDetail:{accrualTypeMonthly:"Monthly Accrual",estimatedBy:"Estimated by",editAmount:"Edit amount",statusLabels:{draft:"Pending Review",posting:"Posting",posted:"Posted",posting_blocked:"Posting Blocked",reversing:"Reversing",reversed:"Reversed",reverted:"Reverted"},details:{title:"Accrual Details",servicePeriod:"Service Period",servicePeriodValue:"{month} Service",accrualType:"Accrual Type",liabilityAccount:"Liability Account",autoReversal:"Auto Reversal",reverseNextMonthOption:"Reverse Next Month",onInvoiceMatch:"On Invoice Match",onDate:"On {date}",monthsOfHistoryUsed:"Months of History Used",monthsValue:"{months} months",expenseCategory:"Expense Category",postingDate:"Posting Date",department:"Department",memo:"Memo"},calculationBreakdown:{title:"Calculation Breakdown",calculationMethod:"Calculation Method",weight:"Weight",weightedValue:"Weighted Value",recommendedAccrual:"Recommended Accrual",invoiceAmount:"Invoice Amount",month:"Month"},journalEntryPreview:{title:"Journal Entry Preview",postedTitle:"Posted Journal Entry",reversedTitle:"Reversed Journal Entry",autoReversalEnabled:"Enabled"},billingPattern:{title:"Billing Pattern",avgAmount:"Avg Amount",lastBill:"Last Bill",consistency:"Consistency",billingLag:"Billing lag",monthsTracked:"Months Tracked",percentValue:"{percent}%",serviceMonthMarker:"This service month",noHistoryTitle:"No vendor billing history",noHistoryDescription:"This accrual was entered manually, so there is no vendor profile behind it to chart. The AI Accountant builds one only for the vendors it accrues automatically.",daysValue:"{days} days"},actions:{skipThisMonth:"Skip This Month",approveAndPost:"Approve & Post"},statusStates:{reversed:"Entry reversed"},feedback:{title:"Why skip this accrual?",subtitle:"Tell us why {amount} shouldn't be accrued for {vendor} this month — AI Accountant learns from this.",reasons:{no_activity:"No activity this month",paused:"Vendor paused / off-boarded",too_small:"Not material",need_invoice:"Wait for actual invoice",other_ignore:"Something else"},revert:{title:"Why revert this accrual?",subtitle:"This deletes the {amount} journal entry for {vendor} from the books. AI Accountant learns from the reason.",submit:"Revert Accrual",reasons:{amount_off:"Amount was wrong",wrong_period:"Wrong period",not_accrual:"Shouldn't be accrued",duplicate:"Duplicate",other_revert:"Something else"}},ignoreSchedule:{title:"Why ignore this schedule?",subtitle:"Tell us why this schedule isn't needed — AI Accountant learns from this.",submit:"Ignore Schedule",reasons:{not_needed:"Not needed",wrong_account:"Wrong account",duplicate:"Duplicate",already_handled:"Already handled",other_ignore:"Something else"}},revertSchedule:{title:"Why revert this schedule?",subtitle:"This deletes the posted journal entry from the books and removes the schedule. AI Accountant learns from the reason.",submit:"Revert Schedule",reasons:{amount_off:"Amount was wrong",wrong_period:"Wrong period",duplicate:"Duplicate",created_by_mistake:"Created by mistake",other_revert:"Something else"}},noteLabel:"Add a note (optional)",notePlaceholder:"Anything else we should know?",submit:"Submit Feedback"}},existingSchedules:{downloadCompletedSchedules:"Download Completed Schedules",downloadRange:{title:"Download Completed Schedules",subtitle:"Completed schedules are matched on when they started, not when they finished, so search from before the schedules you are looking for began.",fromLabel:"Started on or after",fromPlaceholder:"Select a month",throughToday:"Includes everything up to today, {today}"},kpi:{ongoingSchedules:"Ongoing schedules",monthlyPosting:"Monthly posting",remainingBalance:"Remaining Balance",toDepreciateAmortize:"to depreciate / amortize",posted:"Posted",typeAbbreviations:{fixed_assets:"Fixed",prepaid_expenses:"Prepaid",deferred_revenue:"Deferred rev",accrued_expenses:"Accrued"}}},searchPlaceholder:"Search for schedules",addCategory:"Add Category"},missingReceipts:{searchPlaceholder:"Search for transactions",subTitles:{pre:"",preLink:"",post:"will do the best to automatically match receipts with the correct transactions. Forward all receipts to {receiptsEmail}",postLink:"{receiptsEmail}"},allDoneText:{subTitle:"All receipts uploaded, like magic!"}},fluxAnalysis:{searchPlaceholder:"Search for vendors",subTitles:{item1:{pre:"",bold:"",prefixIconName:"",post:"Review vendor account transactions for emerging trends and adjust categories and classes to resolve anomalies."},item2:{pre:"Feel free to review and make the necessary changes",post:"will learn from it."}},sectionTitle:{generalExpense:"General Expenses"},reviewedBy:"Reviewed by",remarksBy:"Remarks by",viewVendorDetails:"View Vendor Details",emptyPageTexts:{youDidIt:"You did it!",allReviewed:"All flux reviewed!"},stepsBanner:{collapsedTitle:"Quick steps for Flux Analysis",step1:{title:"Review Variances",description:"Compare vendor-wise spend across months and drill down into categories and classes."},step2:{descriptionPrefix:"Once variances are confirmed,",descriptionSuffix:"select vendors and mark as reviewed."}}},accountRecon:{reconciliation:{headers:{section:{assets:{title:"Assets",subTitle:"Cash and Equivalents"},liabilities:{title:"Liabilities",subTitle:"Credit Cards"}},bankBalance:"Bank Balance",openingBalance:"Opening Balance",closingBalance:"Closing Balance",clearedBalance:"Cleared Balance",matchProgress:"AI Progress",lastReconciled:"Last Reconciled",excludedAccountTitle:"Excluded Accounts"},matchProgressLegend:{byHuman:"by human"},progressBar:{byHumans:"by humans"},stepsBanner:{collapsedTitle:"Quick steps for Bank Reconciliation",step1:{title:"Connect Bank Account",line1AfterIcon:"to add a bank account or",line2:"upload a bank statement."},step2:{title:"Compare Balance",body:'Compare bank statement and cleared balances. Select "Review" if they differ.'},step3:{eyebrow:"Step 3",title:"Review & Update Transactions",body:"Approve AI suggestions to categorize or match entries, and complete any missing fields."},step4:{eyebrow:"Step 4",title:"Reconcile the account",body:'Ensure balances match, then select "Reconcile" to complete reconciliation.'}},menu:{statement:"Account Statement"},statsCards:{autoMatched:"AI Accountant Auto-matched",needsReview:"Needs Review",accountsDone:"Accounts Reconciled",timeSavedByAi:"Time saved by AI Accountant",ofTotalTxn:"of _total_ transactions",acrossAccounts:"across _count_ accounts",ofTotalAccounts:"of _total_ Accounts",hrsSuffix:"hrs"},connectAccountsBanner:{leadNeedConnectedSuffix:"need to be connected.",body:"Connect a data source to start reconciliation. Takes less than 2 min per account.",connectAccounts:"Connect Accounts",dismissAriaLabel:"Dismiss"},status:{reconciled:"Reconciled",reconciledBy:"Reconciled by",reconciledVia:"Reconciled via",reconcileViaQBO:"Reconcile via QBO",balanceSyncInProgress:"Balance sync",statementSyncInProgress:"Statement sync",autoReconInProgress:"Auto-reconciliation",statementParseError:"Statement parse",statementValidationFailed:"Statement validation",statementProcessingFailed:"Statement processing",failed:"failed",isInProgress:"is in progress",booksClosedTooltip:"Books closed. Reopen to reconcile again."},tooltips:{reconciledByLabel:"Reconciled by:",lastUpdatedLabel:"Last updated:",applyingChanges:"Applying changes...",failed:"Could not apply changes",inProgress:"Connection is in progress. Please check back in a few minutes.",balancesNotFound:"Unable to fetch balances for this account.",bankBalanceNotFound:"Unable to fetch bank balance for this account.",clearedBalanceNotFound:"Unable to fetch cleared balance for this account.",reconInProgress:"Reconciliation is in progress. Please check back in a few minutes.",excludeAccount:{title:"Exclude Account"}},drawer:{uploadDropZoneSuffix:"your statement",uploadDropZoneSupportingText:{single_account:"Upload a statement for a single account.",multi_account:"Upload a statement containing multiple accounts."},statementAccountScopeOptions:{single_account:"Single Account",multi_account:"Multiple Accounts"},labels:{lastUpdated:"Last Updated:",lastSync:"Last Sync:"},values:{bank:"Bank",connecting:"Connecting",uploaded:"Uploaded",statementParsing:"Statement sync is in progress"},deleteConfirmation:{heading:"Delete this file?",description:"Deleting the file will affect your reviewed transactions or reconciliation progress."},validationFailed:{heading:"Validation Failed"},fileValidationFailed:{heading:"File Validation failed",description:"We couldn't process your statement. Please check the file and try uploading again."},dateRangeConflict:{alreadyReconciled:{heading:"Date Range Already Reconciled",description:"The statement period overlaps with a period that has already been reconciled"},gap:{heading:"Gap in Reconciliation Period",description:"The statement must start the day after the last reconciled period",expectedStartDate:e=>`Please upload a statement starting ${e}`},lastReconciled:e=>`Last Reconciled: ${e}`,lastReconciledBy:(e,n)=>`Last Reconciled: ${e} by ${n}`},error:{validationFailed:"Validation failed",parsingFailed:"Parsing failed"},excludeFromReconciliation:"Exclude from Reconciliation",excludeConfirmation:{heading:e=>`Exclude "${e}" from Reconciliation?`,description:"This account will be removed from your reconciliation workflow and progress report. Existing data will not be affected, and you can include the account again at any time."},includeForReconciliation:"Include account for Reconciliation",includeConfirmation:{heading:e=>`Include "${e}" for Reconciliation?`,description:"This account will be added back to your reconciliation workflow and progress report."}}},statementProcessing:{steps:["Uploaded file","Reading document structure","Identifying statement type","Extracting account details","Determining opening & closing balances","Verifying statement details","Gathering transactions","Finalizing Reconciliation"],headerTitle:"AI Accountant Reading Statement",stepSubtitles:["Setting up statement analysis and validation","Recognizing transaction layouts and summary sections","Matching format against known bank statement templates","Pulling account number, entity name, and statement period","Locating balance summary from the checking summary table","Cross-checking deposit and withdrawal totals for accuracy","Reading transactions. Extracting dates, amounts, and descriptions","Matching transactions to your ledger and preparing the review"],stepProgressLabel:(e,n)=>`Step ${e} of ${n} completed`,timeRemainingMinutes:e=>`${e} min left`,timeRemainingSeconds:e=>`${e} sec left`,takingLongerThanExpected:"Taking longer than expected...",actionNeeded:"Action needed",continueInBackground:"Continue in Background",accountMapping:{headerSubtitle:e=>`Almost done — assign each of the ${e} cards to a ledger account to finish.`,headerSubtitleAccounts:e=>`Almost done — assign each of the ${e} accounts to a ledger account to finish.`,banner:(e,n)=>`I've extracted all charges from this combined ${e} statement — it covers ${n} cards. Assign each card to a ledger account to file everything. You won't need to upload this file again.`,bannerAccounts:(e,n)=>`I've extracted all charges from this combined ${e} statement — it covers ${n} accounts. Assign each account to a ledger account to file everything. You won't need to upload this file again.`,aiMatched:"AI matched",ledgerAccountLabel:"Ledger account",ledgerAccountPlaceholder:"Select ledger account",overrideWarning:"This account has an ongoing reconciliation. Selecting it will override the existing work.",transactionSummary:(e,n)=>`${e} transactions • ${n} in new charges`,deleteRowAriaLabel:"Remove card mapping",deleteConfirmation:{heading:"Remove this card?",headingAccount:"Remove this account?",description:"The transactions from this card will be excluded from this combined statement, you can still map the remaining cards.",descriptionAccount:"The transactions from this account will be excluded from this combined statement, you can still map the remaining accounts."}},cancelConfirmation:{heading:"Cancel statement parsing?",description:"Your uploaded statement is still being parsed. If you cancel now, the uploaded file and all processing progress will be lost.",continueParsing:"Continue Parsing"}},statementParseInfo:{statementPeriodAndBalances:"Statement period & balances",statementValuesFootnote:"These values are copied directly from the statement.",from:"From:",to:"To:",credits:"Deposits",calculatedValues:"Calculated values",calculatedValuesFootnote:"These values are calculated from transactions in the statement.",extractedTransactions:"Extracted transactions",addTransaction:"Add transaction",totalsDoNotAddUp:"The totals do not add up.",reparseStatement:"Re-parse statement",retryParsing:"Retry Parsing",cancelConfirmation:{heading:"Are you sure?",description:"You have unsaved changes. If you cancel now, your changes will be lost"},reparseConfirmation:{heading:"Restart parsing?",description:"Re-parsing reads the statement again from scratch and replaces your current review. Any edits you've made will be lost.",reparse:"Re-parse"},closingBalanceMismatchConfirmation:{heading:"Closing balance doesn’t match",descriptionBeforeStatementAmount:"The closing balance on your statement is ",forAccountDescriptionBeforeStatementAmount:"For {accountName}, the closing balance on your statement is ",descriptionBetweenAmounts:", but the transactions you’ve added total ",reviewHint:"Please review the transactions and add, remove, or edit any that are incorrect.",reviewTransactions:"Review transactions",continueAnyway:"Continue anyway",descriptionAfterTransactionsAmount:"."},aiSummary:{accountRecognized:"Account recognized",transactionsExtracted:"Transactions extracted",exceptionsDetected:"Exceptions detected",fieldsCaptured:"Fields captured",validated:"Validated",openingDate:"Opening date"}},tabs:{},review:{allDoneText:{title:"High five!",subTitle:"All transactions reviewed!"},header:{match:"Record or Match",amount:"Amount",memo:"Memo"},transactionDirection:{credit:"Credit",debit:"Debit"},matchesCount:"__count__ Matches",matchedFoundCount:"__count__ Matches Found",matchesFoundFullInfo:"for this bank transaction within the last 90 days",bankDetail:"Bank Detail",creditCardDetail:"Credit Card Detail",formLabels:{match:"Match",categorize:"Categorize",selectCard:"Select Card",allBankAccounts:"All bank accounts",allCreditCards:"All credit cards",addCategory:"Add Category",addClass:"Add Class",addMemo:"Add Memo"}},reconcile:{allDoneText:{title:"Ta-da!",subTitle:"No transactions found for reconciliation!"},header:{clearedDate:"Cleared Date",amount:"Amount",memo:"Memo"}},subTitles:{review:{item1:{pre:"",bold:"",prefixIconName:"",post:"Please review these transactions because the general ledger balance doesn't match the bank balance."},item2:{pre:"",post:"suggest updating these transactions to resolve the ledger discrepancies, which will help auto-adjust the variance."}},reconcile:{item1:{pre:"",post:"have reconciled pending transactions and saved 42% of your reconciliation time."},item2:{pre:"",prefixIconName:"",bold:"",post:"It's time to review for discrepancies and select all transactions to bring the variance to zero."}}},titles:{item1:{pre:"",post:"have reconciled your bank transactions and saved 38% of your reconciliation time."},item2:{pre:"",bold:"",prefixIconName:"",post:" It's time to check for discrepancies and review them if there's a difference."}}},recommendationFeedback:{title:"Help me get this right next time.",skipLabel:"Skip Feedback",yourSelection:"Your Selection",reasonPlaceholder:'e.g. "Always put Amazon under Software Subscription, not Office Supplies"',submitHintPrefix:"Press ",submitHintKey:"Enter/Return",submitHintSuffix:" to submit",dimensionLabels:{vendor:"Payee Recommendation",category:"Category Recommendation",class:"Class Recommendation"}}},aiCfo:{pageView:{scopePageTitle:"AI CFO Scope",titleTag:"BETA",hello:"Hello, ",helpText:"How can I help you today?",showMoreSuggestedQuestions:"Show __count__ more..."},questionTemplates:{sampleQuestion1:"Show me last month's Month-end insights",sampleQuestion2:"Show me the runway and projected cash zero date",sampleQuestion3:"Show me the top expenses from past six months"},skillMenu:{examplePrefix:"try:",tip:"Tip: type details after a skill to tailor it — e.g. a period, a filter, or what to focus on."},routines:{title:"Scheduled Tasks",am:"am",pm:"pm",subtitle:"Work that runs on a schedule and emails you the answer. A saved skill, or a one-off you write here.",empty:"You don’t have any scheduled tasks yet.",loading:"Loading scheduled tasks…",loadFailed:"Couldn’t load scheduled tasks. Please try again.",newRoutine:"New scheduled task",capReached:"You’ve reached the limit of __max__ scheduled tasks. Delete one to add another.",everyDayAt:"Every day at __time__",everyWeekAt:"Every __weekday__ at __time__",everyMonthAt:"Every month on the __day__ at __time__",unknownSchedule:"On a schedule this app doesn’t recognise",weekdays:["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],ordinalSuffixes:{one:"st",two:"nd",few:"rd",other:"th"},unknownScheduleHint:"This scheduled task uses a schedule set up elsewhere. You can pause or delete it here, or contact support to change it.",inTimezone:"__schedule__ (__timezone__)",nextRun:"Next __date__",neverRun:"Hasn’t run yet",lastRunSucceeded:"Last run __date__",lastRunSucceededNoDate:"Last run succeeded",lastRunFailedNoDate:"Last run failed",lastRunTimeoutNoDate:"Last run timed out",lastRunFailed:"Last run failed __date__",lastRunTimeout:"Last run timed out __date__",pausedBadge:"Paused",autoPaused:"Paused after repeated failures",adHocBadge:"Prompt",brokenSkill:"The skill this ran was deleted",pause:"Pause",resume:"Resume",pauseRoutine:"Pause __name__",resumeRoutine:"Resume __name__",editRoutine:"Edit __name__",deleteRoutine:"Delete __name__",openThread:"Open conversation",run:"Run now",runRoutine:"Run __name__ now",running:"Running…",runQueued:"Started. The answer appears in the conversation, and is emailed when it finishes.",runFailed:"Couldn’t start this scheduled task. Please try again.",history:"History",hideHistory:"Hide history",historyLoading:"Loading runs…",historyFailed:"Couldn’t load this scheduled task’s runs.",historyEmpty:"No runs yet.",runManual:"Manual",runScheduled:"Automatic",runInFlight:"Running",runInProgressNotice:"Running — this usually takes 1–3 minutes. The answer appears here and is emailed when it finishes.",runSucceeded:"Succeeded",runFailedStatus:"Failed",runTimedOut:"Timed out",runUnknownStatus:"Unknown",runAt:"__date__ at __time__",runAttempt:"Attempt __n__",openRun:"Open",openRunLabel:"Open the conversation for the run on __date__",backToRoutines:"Scheduled Tasks",configuration:"Configuration",enabledLabel:"Status",enabledOn:"Active",enabledOff:"Paused",enabledOnHint:"Runs on its schedule.",enabledOffHint:"Paused — it will not run.",scheduleRow:"Schedule",oneOffSource:"A prompt you wrote",instructionsHeading:"Instructions",showAll:"Show all",showLess:"Show less",runsHeading:"History",successRatio:"__succeeded__ of the last __total__ succeeded",neverRunStatus:"Hasn’t run yet",openRoutine:"Open __name__",openRoutinePage:"Open scheduled task settings",breadcrumbRoot:"Scheduled Tasks",edit:"Edit",runRowLabel:"Run · __when__",newRuns:"__count__ new",scheduledSection:"SCHEDULED",cadenceDaily:"Daily",cadenceWeekly:"Weekly",cadenceMonthly:"Monthly",cadenceCustom:"Custom",showRuns:"Show runs",hideRuns:"Hide runs",panelRuns:"Runs",panelDetails:"Details",panelSkill:"Skill",composerPlaceholder:"What do you want on a schedule?",composerSubmit:"Draft scheduled task",composerExamples:["Summarise last week’s spend and flag anything unusual","Send me the cash position every Monday morning","List invoices over 60 days past due"],deleteConfirm:"Delete scheduled task",deleteConfirmBody:"It stops running and stops emailing you. The skill it runs is not affected.",deleting:"Deleting…",deleteFailed:"Couldn’t delete this scheduled task. Please try again.",saveFailed:"Couldn’t save this scheduled task. Please try again.",nameLabel:"Name",namePlaceholder:"Monday spend review",sourceLabel:"What it runs",sourceSkill:"A saved skill",sourcePrompt:"Something I write here",promptPlaceholder:"Summarise last week’s spend and flag anything unusual.",promptHint:"Runs exactly as written, every time. It won’t appear in the / menu.",skillLabel:"Skill",skillHint:"Pinned to the version you pick, so editing the skill later won’t change what runs.",cadenceLabel:"How often",daily:"Every day",weekly:"Every week",monthly:"Every month",weekdayLabel:"Day of week",dayOfMonthLabel:"Day of month",dayOfMonthHint:"A month that’s too short runs on its last day instead.",hourLabel:"Hour",minuteLabel:"Minute",timeLabel:"At",scheduleLabel:"Schedule",runsSummary:"Runs __schedule__",timezoneLabel:"Timezone",timezonePlaceholder:"Search timezones…",timezoneHint:"The time above is in this timezone.",timezoneInvalid:"That isn’t a timezone we recognise.",skillPlaceholder:"Search skills…",skillUnknown:"Pick a skill from the list.",templateLabel:"Start from a skill",templatePlaceholder:"Optional — search skills…",templateHint:"Copies that skill’s instructions below, where you can edit them. The scheduled task then runs your edited copy, not the skill.",templateLoading:"Loading that skill’s instructions…",templateFailed:"Couldn’t load that skill’s instructions. You can still write your own.",skillInstructionsLabel:"What it will run",skillInstructionsLoading:"Loading…",skillInstructionsFailed:"Couldn’t load this skill’s instructions.",editACopy:"Edit a copy instead",editACopyHint:"Runs the skill as written. To change it for this scheduled task only, edit a copy.",noMatches:"No matches",deliveryNote:"The answer is emailed to you when it finishes.",save:"Save scheduled task",saving:"Saving…"},skills:{subtitle:"Ready-made analyses you can run in a new chat. Zeni's are available to everyone; yours are your company's own.",byZeni:"By Zeni",byTenant:"Your company",empty:"No skills are available yet.",emptyTenant:"Your company hasn’t added any skills yet.",loading:"Loading skills…",loadingPrompt:"Loading this skill’s instructions…",loadFailed:"Couldn’t load skills. Please try again.",detailLoadFailed:"Couldn’t load this skill. Please try again.",back:"All skills",backToSkill:"Back to skill",audienceCurrentPrivate:"Only you can use this skill.",audienceCurrentTenant:"Everyone at your company can use this skill.",publish:"Share with company",unpublish:"Make private",publishing:"Sharing…",unpublishing:"Making private…",publishFailed:"Couldn’t change who can use this. Please try again.",run:"Run skill",runHint:"Runs this skill in a new chat.",instructionsHeading:"What this skill tells the agent",tenantBadge:"Shared",lastUpdated:"Updated __date__",neverUpdated:"Not updated yet",newSkill:"New skill",fork:"Copy to my skills",forkHint:"Starts a new skill of your own from this one.",forkNameSeed:"__name__ copy",deleteConfirm:"Delete this skill?",deleteConfirmBody:"It stops appearing in the / menu for everyone who can run it. Its name becomes available again.",deleting:"Deleting…",deleteFailed:"Couldn’t delete this skill. Please try again.",namePlaceholder:"Cash burn summary",nameHint:"How people find this skill — the / command is set from this name when you save.",nameHandleHint:"Runs as /{handle} — type / then any part of the name.",audienceLabel:"Who can use this",audiencePrivate:"Only me",audiencePrivateHint:"Stays in your own / menu.",audienceTenant:"Everyone at my company",audienceTenantHint:"Appears in every colleague's / menu.",audiencePublishWarning:"Published skills run with the permissions of whoever uses them. Only publish a prompt you would be comfortable running as any colleague.",descriptionPlaceholder:"One line on what this skill does",descriptionHint:"Shown under the name in the / menu.",instructionsLabel:"Instructions",instructionsPlaceholder:"Tell the agent exactly what to do. Be specific about the period, the accounts and the format you want back.",instructionsHint:"The agent receives this verbatim. Written like a brief, not a search query.",charCount:"__count__ characters",create:"Create skill",creating:"Creating…",saveNewVersion:"Save new version",saveFailed:"Couldn’t save this skill. Please try again.",unsavedTitle:"Discard your changes?",unsavedBody:"This skill has edits that haven’t been saved.",keepEditing:"Keep editing",nameRequired:"A name is required.",instructionsRequired:"Instructions are required.",instructionsTooShort:"Instructions need at least __min__ characters.",renameWarning:"Renaming changes the / command. The old one stops working.",historyHeading:"Version history",historyLoading:"Loading history…",historyFailed:"Couldn’t load version history.",historyEmpty:"No earlier versions.",versionLabel:"Version __version__",restore:"Restore",restoreHint:"Brings this version’s instructions back as a new version. Nothing is overwritten.",restoreLoading:"Loading this version…",restoreFailed:"Couldn’t load that version. Please try again.",emptyTenantCta:"Write your first skill, or copy one of Zeni’s."},texts:{generating:"Generating...",artifactFallbackTitle:"Financial visualization",downloadArtifactImage:"Download chart as image",saveToSkill:"Save to Skill",savedToSkill:"Saved — run it with /{command}",saveToSkillFailed:"Couldn't save. Please try again.",createSkillCommandDescription:"Turn this conversation into a reusable skill",createSkillCommandExampleHint:"that compares vendor spend month over month",downloadTableFailed:"Couldn’t download the table. Please try again.",downloadTableTooLarge:"This table is too large to export. Try narrowing the question to a shorter period or fewer categories.",downloadArtifactImageFailed:"Couldn’t download the chart. Please try again.",errorInAnswer:"We couldn’t generate a response at the moment. Please submit question again.",errorInArtifact:"Unable to render visualization. The data is available in the text response above.",creatingCards:"Creating cards...",creatingPolicies:"Creating policies based on your preferences...",cardCreatedSingular:"1 card is created and ready",cardsCreatedPlural:"__count__ cards are created and ready",policyCreatedSingular:"1 policy is created and saved",policiesCreatedPlural:"__count__ policies are created and saved",createdCardsTableRecommendedLimitHeader:"Recommended Limit"},interactiveForm:{noMatches:"No matches",cardPolicy:{limits:{transactionLimitHelperText:"Maximum amount per single transaction",amountPlaceholder:"$0"}},cardsCreation:{step1Title:"Based on your last 3 months of spend, here are the cards. Review and confirm.",step1AddRowPlaceholder:"Add something else",step1ColumnAvgMonthlySpend:"Avg monthly spend",step2Title:"Who should these cards be assigned to? Suggested owners based on past spend.",step2Cta:"Create cards",cardTypeOptions:{virtual:{label:"Virtual card",description:"Issued instantly"}}}},chainOfThoughts:{reasoning:"Thinking"},reason:{show:"Show Reason",hide:"Hide Reason"},tooltips:{likeResponse:"Like",dislikeResponse:"Dislike",chatWithAI:"Chat with AI CFO"},headers:{followUpQuestions:"Follow-up questions to ask next",didYouKnow:"Did you know?",assumptions:"Key Assumptions"},exports:{downloading:"Preparing download",errors:{expired:"This file is no longer available. Ask the question again to regenerate it.",generic:"Could not download the file. Please try again."}},input:{disclaimer:"__agent__ can make mistakes. Check important info.",maxFilesError:"Cannot add __count__ file(s). Maximum __max__ files allowed per message.",fileTooLargeError:"'__fileName__' exceeds the 5MB size limit and was not added.",unsupportedFileTypeError:"'__fileName__' is not a supported file type and was not added.",uploading:"Uploading",uploadPromoTooltip:{title:"Now upload documents",description:"Add a financial document to see key insights and ask questions."},placeholder:"Ask AI CFO a question and get clear answers.",placeholderWithSkills:"Ask a question, or type / to run a Skill.",placeholderWithSkillsAndUpload:"Ask a question, type / for Skills, or attach a file.",placeholderWithUpload:"Ask a question, or attach a file to analyze."},loading:{discoveryTips:{excelExport:"Tip: Ask for any analysis as an Excel file and I'll attach a download.",followUps:"Tip: Ask follow-up questions in the same chat — I keep the conversation's context.",skills:"Tip: Type / in the message box to run Skills like flux analysis and cash forecasts.",uploads:"Tip: Attach a CSV or spreadsheet and I'll analyze it alongside your books."}},menu:{chatHistory:"CHAT HISTORY"},onboarding:{section:{title:"Run your business with confidence.",subtitle:"Built to analyze, explain, and summarize your numbers like a real CFO would."},capabilities:[{title:"Analyze Financials",subtitle:"Profit & loss, balance sheets, and trend detection — no spreadsheets required.",icon:"analyzing"},{title:"Spot Vendor Patterns",subtitle:"Review expenses across vendors and categories. Surface anomalies and overspend.",icon:"vendors"},{title:"Calculate Core Metrics",subtitle:"Runway, burn, margins — calculated from your real books.",icon:"calculator"},{title:"Forecast With Confidence",subtitle:"Auto-generate projections based on historicals. Updated weekly.",icon:"forecast"},{title:"Visualize Key Trends",subtitle:"Bar graphs, line charts, tables — linked to real data for full traceability.",icon:"graph-trend"}],whoIsItFor:{title:"Who's It For",details:["Startup founders without a full-time CFO — but need strategic clarity.","VPs of Finance/Operations who want faster answers, fewer spreadsheets.","Department heads (Sales, Marketing, Eng) who want to own their numbers.","Fractional CFOs managing multiple clients on Zeni.","In-house CFOs using it as a 10x strategic co-pilot."]},footer:{buttonText:"Launch __agent__",scope:"__agent__ Scope",betaText:"This is Beta — and your usage will shape what’s next.",footerText:'By clicking "Launch __agent__" I accept '}}},aiPerformanceDashboard:{tileTitle:"AI Performance",tileSubtitle:"Monitor and analyze the performance of your AI agents.",chartTitle:"Cost and Time Savings Trend",aiCostSavedTile:{title:"Cost Saved",subtitle:"Total reduction in expense."},aiTimeSavedTile:{title:"Time Saved",subtitle:"Manual hours saved by AI."},noPerformanceData:{firstLine:"No tasks performed yet!"},personas:{aiBookkeeper:"AI Bookkeeper Agent",aiCardsAgent:"AI Cards Agent",aiBillsAgent:"AI Bills Agent",aiExpenseAgent:"AI Expenses Agent",aiBankingAgent:"AI Banking Agent",aiAccountantAgent:"AI Accountant Agent",personaTypes:{aiBookkeeper:"bookkeeper",aiCardsAgent:"ai_cards_agent",aiBillsAgent:"ai_bills_agent",aiExpensesAgent:"ai_expenses_agent",aiBankingAgent:"ai_banking_agent",accountant:"accountant",aiCfo:"ai_cfo"}},valueDelivered:{title:"Value Delivered",subtitle:"Measurement of what you get vs. what you pay",zeniSubscriptionPlan:"Zeni Subscription Plan"},annualizedImpact:{title:"Annualized Impact",subtitle:"At this rate annually, you'll save"}},sessionTimeout:{title:"Session ends in",description:"You will be signed out due to inactivity.",descriptionClickPrefix:"Click",descriptionSuffix:"to stay signed in.",signOut:"Sign Out",continueSession:"Continue Session"},aiAccountantCustomer:{table:{bookClose:"Book Close",accuracy:"Accuracy"},actions:{onboard:"Onboard",evaluate:"Evaluate",fullPipeline:"Full Pipeline",retrain:"Retrain",offboard:"Offboard",cancelOnboarding:"Cancel Onboarding"},jobTriggerDialog:{title:"Trigger Job",datesInstruction:"Please provide start and end dates.",singleDescription:"__companyName__. __datesInstruction__",singleDescriptionOffboard:"__companyName__ will be offboarded from AI Accountant."},drawer:{enrollmentDetails:"Enrollment Details",onboarded:"Onboarded",modelAccuracy:"Model Accuracy",noAccuracyData:"No accuracy data available",jobHistory:"Job History",loadingJobs:"Loading jobs...",noJobsFound:"No jobs found",operation:"Operation"},summary:{totalCustomers:"Total Customers",avgAccuracy:"Avg Accuracy"},bulkActions:{menuLabel:"Bulk Actions",selectedCount:"__count__ selected",noCommonOperations:"No actions available for the selected customers",disabledInfo:"The selected customers have no action in common. Narrow your selection to customers in the same state.",bulkDialogDescription:"__count__ customers selected for __action__. Please provide start and end dates.",bulkDialogDescriptionOffboard:"__count__ customers selected for offboarding.",evaluateAllDialogDescription:"__count__ unonboarded customer(s) will be evaluated. Please provide start and end dates."}},cardsShutdown:{bannerDescription:"We're sunsetting Zeni Cards on {date} and partnering with Ramp as our recommended corporate cards provider. Here's what's changing and how to apply.",bannerDescriptionWithoutDate:"We're sunsetting Zeni Cards and partnering with Ramp as our recommended corporate cards provider. Here's what's changing and how to apply.",introBody:"We're sunsetting Zeni Cards on {date} as we focus on our core AI accounting and bookkeeping platform. To keep your financial operations running without interruption, we recommend Ramp as your corporate card provider.",introBodyWithoutDate:"We're sunsetting Zeni Cards as we focus on our core AI accounting and bookkeeping platform. To keep your financial operations running without interruption, we recommend Ramp as your corporate card provider.",programEnds:"Program ends {date}",applicationDisclaimer:"Ramp reviews each application independently. Approval, card limits, and implementation timing aren't guaranteed and depend on the information provided during the application.",whatThisMeansTitle:"What this means for you",meansProgramEnd:"Your current Zeni Card program is expected to end on {date}.",meansApplicationRequired:"Moving to Ramp is not automatic. Your business will need to complete a new Ramp application, and Ramp will conduct its standard business and identity review.",meansImplementation:"If approved, Zeni and Ramp will coordinate with you on card setup, policies, approvals, and implementation.",meansControllerSupport:"Your Zeni controller will remain available to help you understand the transition and next steps.",whatToDoNowTitle:"What to do now",watchForInvitationTitle:"Watch for your Ramp invitation",watchForInvitationBody:"Look out for an email from Ramp titled “You’ve been invited” to review and complete your pre-filled application.",loopInControllerTitle:"Loop in your Zeni controller",loopInControllerBody:"Share any card limits, approval rules, expense policies, or timing constraints during setup.",needHelpPrefix:"Need help? Reach us at ",needHelpSuffix:"."},invoicingOverview:{revenueMetricOverTime:"Revenue - {metric} Over Time",mrrMovement:"MRR Movement",mrrMovementNewSubscriptions:"New Subscriptions",mrrMovementExpansions:"Expansions",mrrMovementNewChange:"New MRR Change",customerMovement:"Customer Movement",customerMovementSubtitle:"All status transitions this month",netCustomerChange:"Net customer change",totalActiveCustomers:"Total active customers",customerChurnRate:"Customer churn rate",revenueByPlan:"Revenue by Plan",noPlanData:"No plan data available.",noRecentSubscriptions:"No recent subscriptions.",kpiActiveSubs:"Active Subs",metricChurnRate:"Churn Rate",tabRecentSubscriptions:"Recent Subscriptions",tabMonthlyMrrBreakdown:"Monthly MRR Breakdown",pillPaused:"Paused",pillResumed:"Resumed",pillReactivated:"Reactivated",alertFailedPayments:"Failed Payments",alertNeedsAction:"Needs action",alertUpcomingInvoices:"Upcoming Invoices",alertNext7Days:"Next 7 days",alertPastDueInvoices:"Past Due Invoices",nrrTitle:"Net Revenue Retention (NRR)",nrrSubtitle:"Trailing 12 months · benchmark for SaaS health",nrrFootnote:"NRR over 112% means existing customers are growing faster than they’re churning — typically a sign of strong product-market fit. Healthy SaaS benchmark is >100%.",grrTitle:"Gross Revenue Retention (GRR)",grrSubtitle:"Excludes expansion · pure retention signal",grrFootnote:"GRR caps at 100% — it strips out upsell to show how much revenue you’d retain without expansion. Best-in-class SaaS sits at 90%+. Below 80% signals a churn problem.",startingArr:"Starting ARR",expansionsArr:"Expansions ARR",contraction:"Contraction",churn:"Churn",endingArr:"Ending ARR",nrr:"NRR",retainedArr:"Retained ARR",grr:"GRR",summaryNewMrr:"New MRR",summaryExpansion:"Expansion",summaryChurnedMrr:"Churned MRR",summaryNetMrrChange:"Net MRR Change",summaryEndingMrr:"Ending MRR",colAutoCollect:"Auto Collect",autoCollectOn:"ON",autoCollectOff:"OFF",cadenceAnnual:"Annual",since:"Since"},invoicingCommon:{minimumQuantityAllowed:"Minimum 1 allowed",zipPlaceholder:"94105",usage:"Usage",pricing:"Pricing",subFamilyCode:"Price Point Code",productCode:"Product Code",columnTarget:"Target",labelBillingPeriod:"Billing Period",labelPricingModel:"Pricing Model",addOns:"Add-ons",oneTimeChargesTab:"One-time Charges",importCsvFile:"Import CSV File",pluralSuffix:"s",description:"Description",subFamilyId:"Price Point ID",itemDetails:"Item Details",name:"Name",externalName:"External Name",unit:"Unit",itemApplicability:"Item Applicability",applicableItems:"Applicable Items",timestamps:"Timestamps",updatedAt:"Updated At",addOn:"Add-on",coupons:"Coupons",oneTimeCharge:"One-time Charge",cancelSubscription:"Cancel Subscription",nameShownOnInvoices:"Name shown on invoices",placeholderPriceZero:"0.00",trialPeriod:"Trial Period",labelFreeQuantity:"Free Quantity",invoiceNotes:"Invoice Notes",invoiceName:"Invoice Name",placeholderAddInvoiceName:"Add invoice name",appendedToInvoiceLineItem:"Appended to invoice line item",addInvoiceNotes:"Add invoice notes",checkmark:"✓",yourCompany:"Your Company",thankYouForYourBusiness:"Thank you for your business.",onReceipt:"On receipt",net:"Net ",newSuffix:"—NEW",invoiceNumber:"Invoice #",poNumberLabel:"PO #",logoAlt:"Logo",taxIdLabel:"Tax ID: ",billedTo:"Billed To",amount2:"Amount (",paymentLinkNoItemizedInvoice:"Payment link — no itemized invoice",qtyLabel:"Qty: ",subtotal:"Subtotal",amountDue:"Amount Due (",signatureAlt:"Signature",currencySymbolEur:"€",currencySymbolGbp:"£",currencySymbolInr:"₹",createCoupon:"Create Coupon",couponDetails:"Coupon Details",couponId:"Coupon ID",couponCodeLabel:"Coupon Code",applyOn:"Apply On",discountType:"Discount Type",maxRedemptions:"Max Redemptions",validFrom:"Valid From",validTill:"Valid Till",dueOnReceipt:"Due on receipt",createInvoice:"Create Invoice",customerDetails:"Customer Details",billingFrequency:"Billing Frequency",openCustomerInNewTab:"Open customer in new tab",openSubscriptionInNewTab:"Open subscription in new tab",openInvoiceInNewTab:"Open invoice in new tab",allocated:"Allocated",refunded:"Refunded",referenceInvoice:"Reference Invoice",subTotal:"Sub Total",noLineItems:"No line items.",creditNote:"Credit Note",preparing:"Preparing…",bankAccountAch:"Bank Account (ACH)",connectViaPlaid:"Connect via Plaid — lower fees, 2–4 day settlement",loading:"Loading…",creditDebitCard:"Credit / Debit Card",cardMethodDescription:"Visa, Mastercard, Amex — instant settlement",cardSetupFailed:"Card setup failed.",failedToSaveCard:"Failed to save card.",expiry:"Expiry",saveCard:"Save Card",newSubscription:"New Subscription",outstanding:"Outstanding",namePlaceholder:"James Johnson",firstNamePlaceholder:"James",lastNamePlaceholder:"Johnson",emailPlaceholder:"billing@acme.com",phonePlaceholder:"(555) 000-0000",companyPlaceholder:"Acme Corp",billingDetails:"Billing Details",vatNumber:"VAT Number",vatNumberPlaceholder:"US-EIN-12-3456789",autoCollectionDescription:"Enabling this automatically charges the customer each billing cycle.",autoCollection:"Auto Collection",netTerms:"Net Terms",selectNetTerm:"Select net term",preferredCurrency:"Preferred Currency",taxability:"Taxability",selectTaxability:"Select taxability",invoiceNotesHint:"Default note to appear on invoices",invoiceNotesPlaceholder:"Default notes to appear on invoices…",addStreetAddress:"Add street address",floorSuiteOffice:"Floor/Suite/Office",city:"City",addCity:"Add city",state:"State",addState:"Add state",addCountry:"Add country",zipCode:"ZIP Code",yourVendor:"Your vendor",createCustomerLabel:"Create Customer",of:" of ",free:" free",code:"Code",redemptions:"Redemptions",slashSeparator:" / ",duration:"Duration",daysPastDue:"Days Past Due",nextRetry:"Next Retry",attempts:"Attempts",line1:"Line 1",line2:"Line 2",recordPayment:"Record Payment",arrowSeparator:" → ",shippingAddress:"Shipping Address",poNumber:"PO Number",poNumber2:"PO number",refunds:"Refunds",gateway:"Gateway",referenceNumber:"Reference Number",subscriptionDetails:"Subscription Details",addShippingAddressButton:"Add shipping address",addBusinessAddressButton:"Add business address",addPoNumber:"Add PO number",shipLine1Placeholder:"123 Main St",shipLine2Placeholder:"Suite 200",cityPlaceholder:"San Francisco",statePlaceholder:"CA",createSubscriptionLabel:"Create Subscription",cardStatus:"Card Status",creditNumber:"Credit Number",dateIssued:"Date Issued",creditedAgainst:"Credited Against",totalCredits:"Total Credits",daySuffix:"d",trial:"Trial",amount:"Amount",all:"All"},invoicingAuditLog:{timeColumnHeader:"Time",actorColumnHeader:"Actor",detailColumnHeader:"Detail",noAuditEntriesMatchSearch:"No audit entries match your search.",noAuditActivityYet:"No audit activity yet.",searchActionTargetActorPlaceholder:"Search action, target, or actor"},invoicingCatalog:{addOnsNoun:"add-ons",oneTimeChargesNoun:"one-time charges",plansNoun:"plans",itemsNoun:"items",addItem:"Add Item",addAddOn:"Add Add-on",addOneTimeCharge:"Add One-time Charge",periodSingular:"1 ${label}",periodPlural:"${period} ${label}s",productColumnHeader:"Product",itemTypeColumnHeader:"Item Type",activePlansKpi:"Active Plans",activeProductsKpi:"Active Products",avgPlanPriceKpi:"Avg Plan Price",noMatchSearch:"No ${tabNoun} match your search.",noItemsYet:"No ${tabNoun} yet.",emptyStateDescription:"Bring in your historical product catalog data by importing your product catalog csv file",emptyStateTitle:"No Product Catalog Yet",searchPlaceholder:"Search ${tabNoun}"},invoicingCatalogDetail:{oneSpace:"1 ",activeSubFamilies:"Active Price points",archivedSubFamilies:"Archived Price points",lowestActiveSubFamilyPrice:"Lowest Price Point Price",priceTiers:"Price / Tiers",catalogItemNotFound:"Catalog item not found.",itemNamePlaceholder:"Item name",externalNamePlaceholder:"External name",addDescriptionPlaceholder:"Add a description",lineItemDescription:"Line Item Description",itemFamily:"Item Family",restrictedPrefix:"Restricted (",itemsSuffix:" items)",subFamilies:"Price points",noSubFamilies:"No Price points.",archivedAt:"Archived At",archiveSubFamily:"Archive price point",archiveSubFamilyBlocked:"Cannot archive while subscriptions reference this price point.",duplicateSubFamily:"Duplicate price point",subscriptionsUseSubFamilyBanner:"{count} subscriptions use this price point. To change pricing, create a new price point."},invoicingCatalogForm:{trialUnitDay:"Day",periodUnitWeek:"Week",pricingModelFlatFee:"Flat fee",pricingModelPerUnit:"Per unit",pricingModelTiered:"Tiered",pricingModelVolume:"Volume",pricingModelStairstep:"Stairstep",tierTypePerUnit:"Per Unit",tierTypeFlatFee:"Flat Fee",tierTypePackage:"Package",trialEndActivateSubscription:"Activate Subscription",prorationPartialTerm:"Partial Term",prorationFullTerm:"Full Term",applicabilityAll:"All add-ons & charges",applicabilityRestricted:"Restricted — Select applicable items",applicableItemsEmptyPlaceholder:"No add-ons or charges available",selectApplicableItemsPlaceholder:"Select applicable items",validationProductFamilyRequired:"Enter a Product Family name for this catalog item.",validationSubFamilyNameRequired:"Add at least one price point and enter a name for each one.",titleEditCatalogItem:"Edit Catalog Item",titleCreatePlan:"Create Plan",titleCreateOneTimeCharge:"Create One-time Charge",titleCreateAddon:"Create Add-on",sectionPlanAndProductFamilyDetails:"Plan and Product Family Details",productCodeExample:"Optional. Generated from Product Family when left blank.",placeholderAddProductCode:"Add product code",customerFacingName:"Customer facing name",labelProductFamily:"Product Family",placeholderAddProductFamily:"Add product family",labelPricePointName:"Price point name",placeholderAddSubFamilyName:"e.g. Growth Monthly",subFamilyCodeExample:"Optional. Generated from the price point name when left blank.",placeholderAddSubFamilyCode:"Add price point code",forInternalUseOnly:"For internal use only",subFamilyDetailsTitle:"Price Points",pricePointsRequiredHint:"Add at least one price point to create this plan. Add more for different billing frequencies (e.g. monthly, annual) or currencies.",addNewLink:"Add another price point",subFamilyNumberPrefix:"Price Point",removeSubFamilyConfirmation:"Remove this price point?",labelSubFamily:"Price Point",placeholderAddSubFamily:"Add price point",labelAddTiers:"Add Tiers",tierColumnTo:"To (blank for unlimited)",tierColumnPackageSize:"Package size",infinity:"∞",removeTierX:"✕",addTierLink:"Add Tier",hintAddBillingPeriod:"Add billing period",placeholderTrialPeriodExample:"e.g. 14",labelTrialEndAction:"Trial End Action",hintBillingCyclesUnlimited:"Keep it blank for unlimited cycles",placeholderAddBillingCycles:"Add number of billing cycles",labelProrationType:"Proration Type",labelFlags:"Flags",selectFlagsPlaceholder:"Select flags",labelShowDescriptionInQuotes:"Show Description in Quotes",lineItemDescriptionHint:"Shown below the line-item name when invoice descriptions are enabled",subFamilyInvoiceNotesHint:"Shown in the invoice Notes section when this price point is billed",nameShownOnInvoiceLineItem:"Name shown on the invoice line item",sectionAccountingIntegration:"Accounting Integration",skuQboExample:"QBO Product code. Example: BASIC-M",labelSku:"SKU",placeholderAddSku:"Add SKU",placeholderAddAccountingCode:"Add accounting code",placeholderSelectIncomeAccount:"Select income account"},invoicingCouponForm:{enterCouponIdError:"Enter a Coupon ID.",enterCouponNameError:"Enter a name for this coupon.",editCouponTitle:"Edit Coupon",couponIdPlaceholder:"e.g. WELCOME20",namePlaceholder:"e.g. Welcome 20% Off",discountPercentagePlaceholder:"e.g. 20",discountPercentageLabel:"Discount Percentage",discountAmountLabel:"Discount Amount",freeQuantityPlaceholder:"e.g. 1",durationLimitsSectionTitle:"Duration & Limits",durationTypeLabel:"Duration Type",periodPlaceholder:"e.g. 3",periodUnitLabel:"Period Unit",maxRedemptionsPlaceholder:"Add max redemptions",discountsAccountLabel:"Discounts Account",discountsAccountPlaceholder:"Select income account"},invoicingCreateInvoice:{selectPaymentTerm:"Select payment term",net7:"Net 7",net15:"Net 15",net30:"Net 30",net45:"Net 45",net60:"Net 60",selectBillingFrequency:"Select billing frequency",halfYearly:"Half-yearly",annually:"Annually",addAtLeastOneLineItem:"Add at least one line item with a description and unit price.",step1CustomerAndType:"Step 1: Customer and Type",step2InvoiceDetails:"Step 2: Invoice Details",step1Subtitle:"How would you like to create an invoice? Select a customer and choose the invoice type.",step2Subtitle:"Set dates, line items, and additional details.",invoiceJpg:"Invoice.jpg",livePreviewSuffix:" - Live Preview",paymentLink:"Payment link",paymentLinkCalloutText:"A payment link will be generated and sent to the customer — no itemized invoice document is required.",chooseExistingCustomerHint:"Choose an existing customer or create one first",searchOrTypeCustomerName:"Search or type a customer name",pleaseSelectCustomer:"Please select a customer to continue.",invoiceType:"Invoice Type",selectAnInvoiceType:"Select an invoice type",oneTimeInvoiceDescription:"Send a one-time invoice with a built-in payment link.",oneTimeInvoiceTitle:"One-time Invoice",recurringSeriesDescription:"Automatically generate recurring invoices on a set schedule.",recurringSeriesTitle:"Recurring Series",paymentLinkOnlyDescription:"Send only a payment link with a single amount — No itemized invoice.",paymentLinkOnlyTitle:"Payment Link Only",general:"General",setInvoiceDatesHint:"Set the invoice dates and additional details.",selectInvoiceDate:"Select invoice date",paymentTerms:"Payment Terms",usdUsDollar:"USD — US Dollar",soNumber:"SO Number",addSoNumber:"Add SO number",exampleSoNumber:"Example: SO-2026-001",exampleMemo:"Example: thank you for your business",unitPriceLabel:"Unit Price (",useDescriptionAs:"Use description as",addQuantity:"Add quantity",addPrice:"Add price",removeLine:"Remove line",addLine:"Add Line",unitPriceInDollars:"Unit price in dollars"},invoicingCreditDetail:{allocatedAt:"Allocated At",creditNoteNotFound:"Credit note not found.",creditNoteTitlePrefix:"Credit Note ",creditNoteDetails:"Credit Note Details",creditNoteId:"Credit Note ID",creditNoteNumber:"Credit Note Number",priceType:"Price Type",amounts:"Amounts",amountAvailable:"Amount Available",amountAllocated:"Amount Allocated",amountRefunded:"Amount Refunded",allocations:"Allocations",noAllocations:"No allocations.",linkedRefunds:"Linked Refunds"},invoicingCreditList:{noCreditNotesMatchSearch:"No credit notes match your search.",noCreditNotesYet:"No credit notes yet.",createCreditNoteButton:"Create Credit Note",emptyStateDescription:"Bring in your historical credit note data by importing your credit note csv file",emptyStateTitle:"No Credit Notes Yet",searchPlaceholder:"Search by customer or credit note"},invoicingCustomerDetail:{paymentMethodSavedTitle:"Payment method saved",paymentMethodSavedDescription:"The payment method has been added and is now the default. Existing payment methods are kept, and future invoices can be collected automatically.",addPaymentMethod:"Add Payment Method",addPaymentMethodSubtitle:"Securely add a bank account or card to collect invoice payments.",connectStripeNotice:"Connect a Stripe account in Settings › Payment Destination before adding a payment method.",securedByStripeAndPlaid:"Secured by Stripe & Plaid.",countryAustralia:"Australia",countryCanada:"Canada",countryGermany:"Germany",countryFrance:"France",countryUnitedKingdom:"United Kingdom",countryIndia:"India",countryJapan:"Japan",countrySingapore:"Singapore",countryUnitedStates:"United States",netTermsDueImmediately:"Due immediately",createPromotionalCreditsSubtitle:"Add promotional credits to this customer&apos;s balance. Credits are applied automatically on the next invoice before tax.",currentPromotionalCreditsBalance:"Current balance",promotionalCreditAmountRequired:"Enter a positive amount.",promotionalCreditDescriptionRequired:"Description is required.",promotionalCreditDescriptionPlaceholder:"e.g. Welcome bonus",promotionalCreditsAddedTitle:"Promotional credits added",promotionalCreditsAddedDescription:"The customer's promotional credit balance has been updated.",customerSince:"Customer Since",sincePrefix:"Since ",lifetimeValue:"Lifetime Value",promotionalCredits:"Promotional Credits",refundableCredits:"Refundable Credits",excessPayments:"Excess Payments",unbilledCharges:"Unbilled Charges",maskedDigitsPrefix:"•••• ",maskedDigitsMiddle:" •••• ",expires:"Expires",customerNotFound:"Customer not found.",taxable:"taxable",netDashPrefix:"Net-",streetAddress:"Street Address",balances:"Balances",connectStripeTooltip:"Connect a Stripe account in Settings › Payment Destination first",paymentMethods:"Payment Methods",connectStripeBefore:"Connect your Stripe account in",settingsPaymentDestination:"Settings › Payment Destination",connectStripeAfter:"to add payment methods.",invoicePaymentDetails:"Invoice payment details:",customerEmailPlaceholder:"customer@email.com",emailPaymentLinkTooltip:"Email the customer a link to add their payment details",collectAchHint:"We will email the customer to provide their ACH details.",paymentLinkSentTo:"Payment link sent to ",copyPaymentLink:"Copy payment link",sendPaymentLinkFailed:"Failed to send payment link.",default:"Default",noPaymentMethodOnFile:"No payment method on file",previewEmailHeading:"Preview email",previewEmailSubtitle:"Edit the subject and message; the preview updates as you type.",previewEmailFrameTitle:"Rendered payment link email preview",previewEmailLoading:"Loading the branded email preview…",previewEmailUnavailable:"The email preview is unavailable right now. You can still send the payment link.",previewEmailFailed:"Could not load the email preview.",previewEmailRetry:"Retry",previewEmailSend:"Send email",previewEmailMessageLabel:"Message",previewEmailSubjectRequired:"Enter an email subject.",previewEmailBodyRequired:"Enter an email message.",sending:"Sending…",noSubscriptions:"No subscriptions.",recentInvoices:"Recent Invoices",noInvoices:"No invoices.",addNoteAboutCustomer:"Add a note about this customer"},invoicingCustomerForm:{validationEnterEmail:"Enter an email for this customer.",customerDetailsDescription:"Primary contact for billing and invoices",customerTypeLabel:"Customer Type",billingAddressSectionDescription:"Enter your company's official billing address for invoicing.",addSecondaryInfoPlaceholder:"Add secondary info (Optional)",addressSecondaryHint:"Example: Address on your driver&apos;s license",addBillingAddressButton:"Add billing address",billingSettingsDescription:"Tax IDs, currency, and payment defaults",billingSettingsTitle:"Billing Settings",customerTypeResidential:"Residential",netTermImmediate:"Immediate",taxabilityExempt:"Exempt"},invoicingCustomerList:{noCustomersMatchSearch:"No customers match your search.",noCustomersYet:"No customers yet.",importCustomersDescription:"Bring in your historical customers by importing your customers csv file",noCustomerYetTitle:"No Customer Yet"},invoicingDataImport:{inSync:"In Sync",skippedSuffix:" Skipped",warningsSuffix:" Warnings",newImport:"New Import",chargebeeImportFailed:"Chargebee import failed",chargebeeImportInProgress:"Chargebee import in progress",csvImportFailed:"CSV import failed",csvImportInProgress:"CSV import in progress",viewDetails:"View details",records:"records",bulletSeparator:" • ",lastImportReversible:"Last import is reversible",recordsBulletSeparator:"records • ",rollback:"Rollback",importedModules:"Imported Modules",module:"Module",recordsColumn:"Records",lastImported:"Last Imported",loadingImportStatus:"Loading import status…",noImportedRecords:"No imported records yet. Start a new import to populate this table.",templateProductCatalogPlans:"Product Catalog (Plans)",templateCouponsAndDiscounts:"Coupons & Discounts",chargebeeStepSettingsImportExport:"Chargebee → Settings → Import & Export → Export",chargebeeStepDetailModulesList:"Plans, add-ons, one-time charges, customers, subscriptions, invoices, credit notes",chargebeeStepDetailPickAllTime:'Pick "All time" range. CSV format. Default columns are fine.',chargebeeStepExportModule:"Export the module you want",chargebeeStepDropCsvFiles:"Drop the .CSV files above",capsuleIssuesSuffix:" Issues",capsuleReady:"Ready",scanningCaptionCsv:"Larger exports can take a few minutes — you can leave this page, it keeps running.",scanningCaptionChargebee:"This can take a moment for larger accounts — you can leave this page, it keeps running.",scanningLabelCsv:"Reading your uploaded files…",defaultImportErrorMessage:"Something went wrong during import.",backToDataImport:"Back to Data Import",migrateHeading:"Migrate from Chargebee → Zeni",migrateSubtitle:"Connect Chargebee or drop your CSV exports — we’ll handle the rest.",connectWithChargebee:"Connect with Chargebee",importFromChargebee:"Import from Chargebee",connectedToChargebee:"Connected to {site}",chargebeeConnectedLabel:"Connected to Chargebee",buttonFetchFromChargebee:"Fetch from Chargebee",chargebeeNotConnectedMessage:"Connect Chargebee in Invoicing Settings → Integrations to fetch data automatically.",buttonGoToIntegrations:"Connect Chargebee in Settings",connectPullEverything:"Pull everything automatically — fully linked, no CSV juggling.",connectingToChargebee:"Connecting to Chargebee…",fieldLabelChargebeeSite:"Chargebee site",sitePlaceholderAcme:"acme",fieldHintSiteSubdomain:`The subdomain in your Chargebee URL — e.g. acme in
346
346
  acme.chargebee.com.`,fieldLabelApiKey:"API key",fieldLabelApiKeySavedSuffix:" (saved)",apiKeyPlaceholderUsingSaved:"Using saved API key",apiKeyPlaceholderLive:"live_xxxxxxxxxxxxxxxx",fieldHintApiKeyReuse:"Leave blank to reuse your saved API key.",fieldHintApiKeyLocation:"Settings → Configure Chargebee → API Keys & Webhooks.",connectReadOnlyAccess:`Read-only access. We never store your billing data without
347
347
  confirmation.`,dividerOrImportCsv:"or import from CSV instead",downloadBlankTemplateHeader:"Don’t have a Chargebee export yet? Download a blank template",buttonDownloadAllZip:"Download All (Zip)",csvExtensionSuffix:".csv",orExportDirectly:"Or export directly from Chargebee",followStepsBelow:"Follow the steps below",stepDetailLetterSeparator:". ",uploadingExtractingFiles:"Uploading & extracting your files…",dropzoneStrongDropOrUpload:"Drop or upload",dropzoneTitleRest:`your CSV or ZIP exports
348
348
  here`,dropzoneMetaSupportedFiles:"Chargebee .zip bundles and individual .csv files are both supported",recordsSuffix:" records",afterSkippingPrefix:"After skipping ",issuesRollbackSuffix:` issues · Rollback
@@ -10588,7 +10588,7 @@ To reactivate your account, please settle the outstanding balance. Contact suppo
10588
10588
  padding-top: ${e=>Cm.ButtonContainerPaddingTop.valuePx(e.windowSize)};
10589
10589
  `,ixi=a.div``,oxi=a((e=>m.createElement("svg",{width:598,height:361,viewBox:"0 0 598 361",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},m.createElement("path",{d:"M3 42V10C3 5.58172 6.58172 2 11 2H43",stroke:"#FEFEFE",strokeWidth:3,strokeLinejoin:"round"}),m.createElement("path",{d:"M595 42V10C595 5.58172 591.418 2 587 2H555",stroke:"#FEFEFE",strokeWidth:3,strokeLinejoin:"round"}),m.createElement("path",{d:"M3 319V351C3 355.418 6.58172 359 11 359H43",stroke:"#FEFEFE",strokeWidth:3,strokeLinejoin:"round"}),m.createElement("path",{d:"M595 319V351C595 355.418 591.418 359 587 359H555",stroke:"#FEFEFE",strokeWidth:3,strokeLinejoin:"round"}),m.createElement("path",{d:"M160 164.999C160 163.344 161.05 162 162.344 162L232.656 162C233.95 162 235 163.344 235 164.999C235 166.655 233.95 167.999 232.656 167.999L162.344 167.999C161.05 167.999 160 166.655 160 164.999Z",fill:"#FEFEFE"}),m.createElement("path",{d:"M337.544 164.999C337.544 163.344 338.944 162 340.669 162L434.419 162C436.144 162 437.544 163.344 437.544 164.999C437.544 166.655 436.144 167.999 434.419 167.999L340.669 167.999C338.944 167.999 337.544 166.655 337.544 164.999Z",fill:"#FEFEFE"}),m.createElement("path",{d:"M261.544 165C261.544 163.344 262.594 162 263.888 162L309.2 162C310.494 162 311.544 163.344 311.544 165C311.544 166.656 310.494 168 309.2 168L263.888 168C262.594 168 261.544 166.656 261.544 165Z",fill:"#FEFEFE"}),m.createElement("path",{d:"M138 202C138 200.344 140.924 199 144.527 199L453.473 199C457.076 199 460 200.344 460 202C460 203.656 457.076 205 453.473 205L144.527 205C140.924 205 138 203.656 138 202Z",fill:"#FEFEFE"}),m.createElement("path",{d:"M138 276C138 274.344 140.924 273 144.527 273L453.473 273C457.076 273 460 274.344 460 276C460 277.656 457.076 279 453.473 279L144.527 279C140.924 279 138 277.656 138 276Z",fill:"#FEFEFE"}),m.createElement("path",{d:"M207 239C207 237.344 209.29 236 212.111 236L385.889 236C388.71 236 391 237.344 391 239C391 240.656 388.71 242 385.889 242L212.111 242C209.29 242 207 240.656 207 239Z",fill:"#FEFEFE"}),m.createElement("path",{d:"M3 113C234.19 51.6667 363.81 51.6667 595 113",stroke:"#FAFAFA",strokeWidth:5,strokeLinecap:"round"}))))`
10590
10590
  transform: scale(1, 0.9);
10591
- `,rxi=a(ul)``,dqe="application/pdf",qzt=["image/jpg","image/jpeg","image/png","image/webp","image/bmp"],axi={useWebWorker:!0,maxWidthOrHeight:1920,initialQuality:.92,maxSizeMB:2};async function sxi(e,n,i){const r=e.getViewport({scale:n}),s=document.createElement("canvas");s.width=Math.floor(r.width),s.height=Math.floor(r.height);const l=s.getContext("2d");if(l==null)throw new Error("Could not get canvas 2d context");return await e.render({canvasContext:l,viewport:r}).promise,(await(function(c,d){return new Promise(((u,p)=>{c.toBlob((h=>{h!=null?u(h):p(new Error("canvas.toBlob returned null"))}),"image/jpeg",d)}))})(s,i)).arrayBuffer()}async function lxi(e,n){const i=e instanceof File?e:new File([e],n,{type:e.type});if(e.type===dqe){const s=await(async function(l,c){const[{PDFDocument:d},u]=await Promise.all([Md((()=>import("./pdf-lib-CWPynulQ.js").then((b=>b.i))),__vite__mapDeps([0,1,2])),Md((()=>import("./pdf-B0ceY1o5.js").then((b=>b.i))),__vite__mapDeps([0,1,2])).then((b=>b.pdfjs))]),p=await l.arrayBuffer(),h=await u.getDocument({data:new Uint8Array(p)}).promise,g=h.numPages,f=await d.create();for(let b=1;b<=g;b++){const w=await h.getPage(b),C=await sxi(w,1.5,.7),v=await f.embedJpg(new Uint8Array(C)),A=v.scale(1);f.addPage([A.width,A.height]).drawImage(v,{x:0,y:0,width:A.width,height:A.height})}const x=await f.save(),y=c.toLowerCase().endsWith(".pdf")?c:`${c}.pdf`;return new File([x],y,{type:dqe,lastModified:l.lastModified})})(i,n);return s.size<i.size?{blob:s,name:s.name}:{blob:e,name:n}}const r=await(async(s,l)=>{if(qzt.includes(s.type)===!1)return s;const c=await Uu(s,axi),d=c.type.split("/")[1],u=`${l.replace(/\.[^.]+$/,"")||"image"}.${d}`;return new File([c],u,{lastModified:s.lastModified,type:c.type})})(i,n);return{blob:r,name:r.name}}const cxi=({fileType:e="file",fileRef:n,name:i,value:r="",multiple:s=!1,acceptableTypes:l,onFileSizeError:c,onImageChange:d})=>t.jsx("input",{type:e,ref:n,name:i,value:r,size:1e3,"data-testid":Y("input-file-element-mobile",i),onChange:async u=>{const p=u.target.files?.[0],h=p?.size;p!=null&&h!=null?(c?.(!1),d(p),u.target.value=""):(c?.(!0),u.target.value="")},style:{display:"none"},accept:`${(l??"image/jpg, image/jpeg").toString()}`,multiple:s,capture:!0}),x_=({shouldDisplay:e,width:n=30,height:i=30,styles:r,animationInLoop:s=!1})=>{const[,l]=YCe(jOt),[c]=ra("MoneyTransferSuccess");return M.useEffect((()=>{e&&l(!0)}),[e,l]),e&&c!=null?t.jsx(Ks,{style:{width:n,height:i,...r},play:!0,animationData:c,loop:s,rendererSettings:{preserveAspectRatio:"xMidYMid slice"}}):null},Hve=e=>m.createElement("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},m.createElement("path",{d:"M7.5055 4L1.5 9.54354L22.5 9.5435",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"}),m.createElement("path",{d:"M16.4945 19.7067L22.5 14.1632H1.5",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"}));HSt.workerSrc=`//cdnjs.cloudflare.com/ajax/libs/pdf.js/${VSt}/pdf.worker.mjs`;const{common:uqe}=le.getLocalizedStrings(),pqe=(e,n,i)=>e.variant==="deleted"?"deleted":e.variant==="excluded"?"excluded":n!=null&&e.statementTransactionId===n||i!=null&&e.statementTransactionId===i?"hovered":e.variant??"default",hqe=(e,n,i)=>{const r=Array.from(e.querySelectorAll("[data-statement-transaction-id]"));for(const s of r){if(s.dataset.citationVariant==="excluded")continue;const l=s.getBoundingClientRect();if(n>=l.left&&n<=l.right&&i>=l.top&&i<=l.bottom)return s.dataset.statementTransactionId}},mqe=(e,n)=>n==null?void 0:e.find((i=>i.statementTransactionId===n))?.page,dxi=(e,n,i="smooth")=>{const r=n??(d=>{let u=d.parentElement;for(;u!=null;){const{overflowY:p}=window.getComputedStyle(u);if((p==="auto"||p==="scroll")&&u.scrollHeight>u.clientHeight)return u;u=u.parentElement}return null})(e);if(r==null)return void e.scrollIntoView({behavior:i,block:"center"});const s=e.getBoundingClientRect(),l=r.getBoundingClientRect(),c=r.scrollTop+(s.top-l.top)-(r.clientHeight-s.height)/2;r.scrollTo({top:Math.max(0,c),behavior:i})};function gqe(e,n,i){const{minX:r,maxX:s,minY:l,maxY:c}=(function(d){const u=d.map((h=>h.x)),p=d.map((h=>h.y));return{maxX:Math.max(...u),maxY:Math.max(...p),minX:Math.min(...u),minY:Math.min(...p)}})(e);return{height:(c-l)/i*100,left:r/n*100,top:l/i*100,width:(s-r)/n*100}}function Hz(e){const[n,i]=m.useState(0),[r,s]=m.useState(void 0),[l,c]=m.useState(null),[d,u]=m.useState(void 0),p=ge(),h=m.useRef(null),g=m.useRef(null),f=m.useRef(void 0),x=e.highlightedCitations!=null&&e.highlightedCitations.length>0;m.useLayoutEffect((()=>{if(e.isFullScreen)return void s(void 0);const $=g.current;if($==null)return;const j=()=>{const E=Math.floor($.clientWidth);E>0&&s((D=>D===E?D:E))};j();const I=new ResizeObserver(j);return I.observe($),()=>{I.disconnect()}}),[e.isFullScreen,e.fileUrl]);const y=$=>{f.current!==$&&(f.current=$,u($),e.onCitationHover?.($))},b=$=>{x===!0&&y(hqe($.currentTarget,$.clientX,$.clientY))},w=()=>{x===!0&&y(void 0)},C=$=>{e.onCitationClick!=null&&e.onCitationClick(hqe($.currentTarget,$.clientX,$.clientY))},v=m.useCallback((()=>{if(e.highlightedCitations==null||e.highlightedCitations.length===0)return;const $=mqe(e.highlightedCitations,e.selectedStatementTransactionId);if($==null)return;const j=g.current?.querySelector(`[data-testid="pdf-page-${$}"]`);if(j!=null){const I=g.current,E=I!=null&&I.scrollHeight>I.clientHeight?I:null,D=(e.selectedStatementTransactionId!=null?j.querySelector(`[data-statement-transaction-id="${CSS.escape(String(e.selectedStatementTransactionId))}"]`):null)??j;if(((B,F)=>{const R=B.getBoundingClientRect(),_=F!=null?F.getBoundingClientRect():{top:0,left:0,bottom:window.innerHeight,right:window.innerWidth};return R.bottom>_.top&&R.top<_.bottom&&R.right>_.left&&R.left<_.right})(D,E))return;dxi(D,E)}}),[e.highlightedCitations,e.selectedStatementTransactionId]);m.useEffect((()=>{if(e.highlightedCitations==null||e.highlightedCitations.length===0||e.selectedStatementTransactionId==null)return;v();const $=requestAnimationFrame(v),j=window.setTimeout(v,150);return()=>{cancelAnimationFrame($),window.clearTimeout(j)}}),[e.highlightedCitations,e.selectedStatementTransactionId,n,v]),m.useEffect((()=>{c(null),i(0)}),[e.fileUrl]);const A=$=>{if(!e.highlightedCitations)return null;const j=e.highlightedCitations.filter((I=>I.page===$));return j.length===0?null:t.jsx(fqe,{children:j.flatMap(((I,E)=>{const D=gqe(I.polygon,I.pageWidth,I.pageHeight),B=pqe(I,e.selectedStatementTransactionId,d);return t.jsx(xqe,{"data-citation-variant":B,"data-statement-transaction-id":I.statementTransactionId,$variant:B,style:{height:`${D.height}%`,left:`${D.left}%`,top:`${D.top}%`,width:`${D.width}%`}},`${E}`)}))})},S=()=>{e.setShowFullScreenView(!0)};return t.jsxs(t.Fragment,{children:[t.jsx(ih,{fileRef:h,name:"invoice",onFileChange:$=>{if($.target.files!=null){const j=$.target.files[0];e.onUploadAttachment?.([j],[j.name])}},multiple:e.allowMultiFiles,sizeLimit:oS,onFileSizeError:$=>e.openSizeLimitPopup?.($)}),t.jsx(uxi,{maxHeight:e.maxHeight??!1,$allowTextSelection:x,"data-statement-pdf-surface":"",onClick:()=>{x||S()},onDoubleClick:()=>{x&&S()},windowSize:p,"data-testid":Y("attachment-container",e.pdfTitle),children:t.jsxs(pxi,{isFullScreen:e.isFullScreen,ref:g,children:[e.showTitlebar===!0?t.jsxs(hxi,{children:[t.jsx(mxi,{children:e.pdfTitle}),e.showTitlebarIcon===!0?t.jsxs(gxi,{className:"actionIcons",children:[e.showReplaceIcon!==!1?t.jsx(qe,{enterDelay:600,display:"flex",title:uqe.texts.replace,placement:"top-end",children:t.jsx(fxi,{"data-testid":Y("replace-attachment",e.pdfTitle),onClick:$=>{$.stopPropagation(),h.current?.click()}})}):null,p==="small"?t.jsx(yxi,{"data-testid":e.deleteAttachmentDataTestId!=null?`${e.deleteAttachmentDataTestId}-mobile`:Y("delete-attachment-mobile",e.pdfTitle),onClick:$=>{$.stopPropagation(),e.onDeleteClick?.()}}):t.jsx(qe,{enterDelay:600,display:"flex",title:uqe.delete,placement:"top",children:t.jsx(xxi,{onClick:$=>{$.stopPropagation(),e.onDeleteClick?.()},"data-testid":e.deleteAttachmentDataTestId??Y("delete-attachment",e.pdfTitle)})})]}):null]}):null,(()=>{const $=e.fileUrl.toLowerCase();return[".jpg",".jpeg",".png",".gif",".webp",".bmp"].some((j=>$.includes(j)))})()?t.jsx(Axi,{children:t.jsxs(Sxi,{onMouseMove:b,onMouseLeave:w,onClick:C,children:[t.jsx(kxi,{src:e.fileUrl,alt:e.pdfTitle,onLoad:$=>{const j=$.currentTarget;c({width:j.naturalWidth,height:j.naturalHeight})}},e.fileUrl),(()=>{if(!e.highlightedCitations||l==null)return null;const $=e.highlightedCitations.filter((j=>j.page===1));return $.length===0?null:t.jsx(fqe,{children:$.flatMap(((j,I)=>{const E=gqe(j.polygon,j.pageWidth,j.pageHeight),D=pqe(j,e.selectedStatementTransactionId,d);return t.jsx(xqe,{"data-citation-variant":D,"data-statement-transaction-id":j.statementTransactionId,$variant:D,style:{height:`${E.height}%`,left:`${E.left}%`,top:`${E.top}%`,width:`${E.width}%`}},`${I}`)}))})})()]})}):t.jsxs(Q5e,{file:e.fileUrl,onLoadSuccess:({numPages:$})=>i($),onLoadError:()=>i(0),loading:t.jsx(Cxi,{children:t.jsx(Gn,{size:"ExtraLarge",start:!0})}),className:"pdfDoc",children:[Array.from(new Array(n),(($,j)=>t.jsx(si,{onClickAway:()=>e.onCrossClick?.(),children:t.jsxs(bxi,{windowSize:p,isFullScreen:e.isFullScreen,children:[t.jsxs(vxi,{"data-testid":`pdf-page-${j+1}`,isFullScreen:e.isFullScreen,onMouseMove:b,onMouseLeave:w,onClick:C,children:[t.jsx(Y5e,{pageNumber:j+1,className:"reactPdfPage",...e.isFullScreen?{scale:1.5}:r!=null?{width:r}:{scale:1},error:t.jsx("div",{}),onRenderSuccess:()=>{(e.highlightedCitations!=null?mqe(e.highlightedCitations,e.selectedStatementTransactionId):void 0)===j+1&&v()}},`page_${j+1}`),A(j+1)]}),n!=j+1?t.jsx(wxi,{}):null]})},`page_${j+1}`))),t.jsx("div",{})]},e.fileUrl)]})})]})}const uxi=a.div`
10591
+ `,rxi=a(ul)``,dqe="application/pdf",qzt=["image/jpg","image/jpeg","image/png","image/webp","image/bmp"],axi={useWebWorker:!0,maxWidthOrHeight:1920,initialQuality:.92,maxSizeMB:2};async function sxi(e,n,i){const r=e.getViewport({scale:n}),s=document.createElement("canvas");s.width=Math.floor(r.width),s.height=Math.floor(r.height);const l=s.getContext("2d");if(l==null)throw new Error("Could not get canvas 2d context");return await e.render({canvasContext:l,viewport:r}).promise,(await(function(c,d){return new Promise(((u,p)=>{c.toBlob((h=>{h!=null?u(h):p(new Error("canvas.toBlob returned null"))}),"image/jpeg",d)}))})(s,i)).arrayBuffer()}async function lxi(e,n){const i=e instanceof File?e:new File([e],n,{type:e.type});if(e.type===dqe){const s=await(async function(l,c){const[{PDFDocument:d},u]=await Promise.all([Md((()=>import("./pdf-lib-LgS50teK.js").then((b=>b.i))),__vite__mapDeps([0,1,2])),Md((()=>import("./pdf-Cj_veg-U.js").then((b=>b.i))),__vite__mapDeps([0,1,2])).then((b=>b.pdfjs))]),p=await l.arrayBuffer(),h=await u.getDocument({data:new Uint8Array(p)}).promise,g=h.numPages,f=await d.create();for(let b=1;b<=g;b++){const w=await h.getPage(b),C=await sxi(w,1.5,.7),v=await f.embedJpg(new Uint8Array(C)),A=v.scale(1);f.addPage([A.width,A.height]).drawImage(v,{x:0,y:0,width:A.width,height:A.height})}const x=await f.save(),y=c.toLowerCase().endsWith(".pdf")?c:`${c}.pdf`;return new File([x],y,{type:dqe,lastModified:l.lastModified})})(i,n);return s.size<i.size?{blob:s,name:s.name}:{blob:e,name:n}}const r=await(async(s,l)=>{if(qzt.includes(s.type)===!1)return s;const c=await Uu(s,axi),d=c.type.split("/")[1],u=`${l.replace(/\.[^.]+$/,"")||"image"}.${d}`;return new File([c],u,{lastModified:s.lastModified,type:c.type})})(i,n);return{blob:r,name:r.name}}const cxi=({fileType:e="file",fileRef:n,name:i,value:r="",multiple:s=!1,acceptableTypes:l,onFileSizeError:c,onImageChange:d})=>t.jsx("input",{type:e,ref:n,name:i,value:r,size:1e3,"data-testid":Y("input-file-element-mobile",i),onChange:async u=>{const p=u.target.files?.[0],h=p?.size;p!=null&&h!=null?(c?.(!1),d(p),u.target.value=""):(c?.(!0),u.target.value="")},style:{display:"none"},accept:`${(l??"image/jpg, image/jpeg").toString()}`,multiple:s,capture:!0}),x_=({shouldDisplay:e,width:n=30,height:i=30,styles:r,animationInLoop:s=!1})=>{const[,l]=YCe(jOt),[c]=ra("MoneyTransferSuccess");return M.useEffect((()=>{e&&l(!0)}),[e,l]),e&&c!=null?t.jsx(Ks,{style:{width:n,height:i,...r},play:!0,animationData:c,loop:s,rendererSettings:{preserveAspectRatio:"xMidYMid slice"}}):null},Hve=e=>m.createElement("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},m.createElement("path",{d:"M7.5055 4L1.5 9.54354L22.5 9.5435",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"}),m.createElement("path",{d:"M16.4945 19.7067L22.5 14.1632H1.5",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"}));HSt.workerSrc=`//cdnjs.cloudflare.com/ajax/libs/pdf.js/${VSt}/pdf.worker.mjs`;const{common:uqe}=le.getLocalizedStrings(),pqe=(e,n,i)=>e.variant==="deleted"?"deleted":e.variant==="excluded"?"excluded":n!=null&&e.statementTransactionId===n||i!=null&&e.statementTransactionId===i?"hovered":e.variant??"default",hqe=(e,n,i)=>{const r=Array.from(e.querySelectorAll("[data-statement-transaction-id]"));for(const s of r){if(s.dataset.citationVariant==="excluded")continue;const l=s.getBoundingClientRect();if(n>=l.left&&n<=l.right&&i>=l.top&&i<=l.bottom)return s.dataset.statementTransactionId}},mqe=(e,n)=>n==null?void 0:e.find((i=>i.statementTransactionId===n))?.page,dxi=(e,n,i="smooth")=>{const r=n??(d=>{let u=d.parentElement;for(;u!=null;){const{overflowY:p}=window.getComputedStyle(u);if((p==="auto"||p==="scroll")&&u.scrollHeight>u.clientHeight)return u;u=u.parentElement}return null})(e);if(r==null)return void e.scrollIntoView({behavior:i,block:"center"});const s=e.getBoundingClientRect(),l=r.getBoundingClientRect(),c=r.scrollTop+(s.top-l.top)-(r.clientHeight-s.height)/2;r.scrollTo({top:Math.max(0,c),behavior:i})};function gqe(e,n,i){const{minX:r,maxX:s,minY:l,maxY:c}=(function(d){const u=d.map((h=>h.x)),p=d.map((h=>h.y));return{maxX:Math.max(...u),maxY:Math.max(...p),minX:Math.min(...u),minY:Math.min(...p)}})(e);return{height:(c-l)/i*100,left:r/n*100,top:l/i*100,width:(s-r)/n*100}}function Hz(e){const[n,i]=m.useState(0),[r,s]=m.useState(void 0),[l,c]=m.useState(null),[d,u]=m.useState(void 0),p=ge(),h=m.useRef(null),g=m.useRef(null),f=m.useRef(void 0),x=e.highlightedCitations!=null&&e.highlightedCitations.length>0;m.useLayoutEffect((()=>{if(e.isFullScreen)return void s(void 0);const $=g.current;if($==null)return;const j=()=>{const E=Math.floor($.clientWidth);E>0&&s((D=>D===E?D:E))};j();const I=new ResizeObserver(j);return I.observe($),()=>{I.disconnect()}}),[e.isFullScreen,e.fileUrl]);const y=$=>{f.current!==$&&(f.current=$,u($),e.onCitationHover?.($))},b=$=>{x===!0&&y(hqe($.currentTarget,$.clientX,$.clientY))},w=()=>{x===!0&&y(void 0)},C=$=>{e.onCitationClick!=null&&e.onCitationClick(hqe($.currentTarget,$.clientX,$.clientY))},v=m.useCallback((()=>{if(e.highlightedCitations==null||e.highlightedCitations.length===0)return;const $=mqe(e.highlightedCitations,e.selectedStatementTransactionId);if($==null)return;const j=g.current?.querySelector(`[data-testid="pdf-page-${$}"]`);if(j!=null){const I=g.current,E=I!=null&&I.scrollHeight>I.clientHeight?I:null,D=(e.selectedStatementTransactionId!=null?j.querySelector(`[data-statement-transaction-id="${CSS.escape(String(e.selectedStatementTransactionId))}"]`):null)??j;if(((B,F)=>{const R=B.getBoundingClientRect(),_=F!=null?F.getBoundingClientRect():{top:0,left:0,bottom:window.innerHeight,right:window.innerWidth};return R.bottom>_.top&&R.top<_.bottom&&R.right>_.left&&R.left<_.right})(D,E))return;dxi(D,E)}}),[e.highlightedCitations,e.selectedStatementTransactionId]);m.useEffect((()=>{if(e.highlightedCitations==null||e.highlightedCitations.length===0||e.selectedStatementTransactionId==null)return;v();const $=requestAnimationFrame(v),j=window.setTimeout(v,150);return()=>{cancelAnimationFrame($),window.clearTimeout(j)}}),[e.highlightedCitations,e.selectedStatementTransactionId,n,v]),m.useEffect((()=>{c(null),i(0)}),[e.fileUrl]);const A=$=>{if(!e.highlightedCitations)return null;const j=e.highlightedCitations.filter((I=>I.page===$));return j.length===0?null:t.jsx(fqe,{children:j.flatMap(((I,E)=>{const D=gqe(I.polygon,I.pageWidth,I.pageHeight),B=pqe(I,e.selectedStatementTransactionId,d);return t.jsx(xqe,{"data-citation-variant":B,"data-statement-transaction-id":I.statementTransactionId,$variant:B,style:{height:`${D.height}%`,left:`${D.left}%`,top:`${D.top}%`,width:`${D.width}%`}},`${E}`)}))})},S=()=>{e.setShowFullScreenView(!0)};return t.jsxs(t.Fragment,{children:[t.jsx(ih,{fileRef:h,name:"invoice",onFileChange:$=>{if($.target.files!=null){const j=$.target.files[0];e.onUploadAttachment?.([j],[j.name])}},multiple:e.allowMultiFiles,sizeLimit:oS,onFileSizeError:$=>e.openSizeLimitPopup?.($)}),t.jsx(uxi,{maxHeight:e.maxHeight??!1,$allowTextSelection:x,"data-statement-pdf-surface":"",onClick:()=>{x||S()},onDoubleClick:()=>{x&&S()},windowSize:p,"data-testid":Y("attachment-container",e.pdfTitle),children:t.jsxs(pxi,{isFullScreen:e.isFullScreen,ref:g,children:[e.showTitlebar===!0?t.jsxs(hxi,{children:[t.jsx(mxi,{children:e.pdfTitle}),e.showTitlebarIcon===!0?t.jsxs(gxi,{className:"actionIcons",children:[e.showReplaceIcon!==!1?t.jsx(qe,{enterDelay:600,display:"flex",title:uqe.texts.replace,placement:"top-end",children:t.jsx(fxi,{"data-testid":Y("replace-attachment",e.pdfTitle),onClick:$=>{$.stopPropagation(),h.current?.click()}})}):null,p==="small"?t.jsx(yxi,{"data-testid":e.deleteAttachmentDataTestId!=null?`${e.deleteAttachmentDataTestId}-mobile`:Y("delete-attachment-mobile",e.pdfTitle),onClick:$=>{$.stopPropagation(),e.onDeleteClick?.()}}):t.jsx(qe,{enterDelay:600,display:"flex",title:uqe.delete,placement:"top",children:t.jsx(xxi,{onClick:$=>{$.stopPropagation(),e.onDeleteClick?.()},"data-testid":e.deleteAttachmentDataTestId??Y("delete-attachment",e.pdfTitle)})})]}):null]}):null,(()=>{const $=e.fileUrl.toLowerCase();return[".jpg",".jpeg",".png",".gif",".webp",".bmp"].some((j=>$.includes(j)))})()?t.jsx(Axi,{children:t.jsxs(Sxi,{onMouseMove:b,onMouseLeave:w,onClick:C,children:[t.jsx(kxi,{src:e.fileUrl,alt:e.pdfTitle,onLoad:$=>{const j=$.currentTarget;c({width:j.naturalWidth,height:j.naturalHeight})}},e.fileUrl),(()=>{if(!e.highlightedCitations||l==null)return null;const $=e.highlightedCitations.filter((j=>j.page===1));return $.length===0?null:t.jsx(fqe,{children:$.flatMap(((j,I)=>{const E=gqe(j.polygon,j.pageWidth,j.pageHeight),D=pqe(j,e.selectedStatementTransactionId,d);return t.jsx(xqe,{"data-citation-variant":D,"data-statement-transaction-id":j.statementTransactionId,$variant:D,style:{height:`${E.height}%`,left:`${E.left}%`,top:`${E.top}%`,width:`${E.width}%`}},`${I}`)}))})})()]})}):t.jsxs(Q5e,{file:e.fileUrl,onLoadSuccess:({numPages:$})=>i($),onLoadError:()=>i(0),loading:t.jsx(Cxi,{children:t.jsx(Gn,{size:"ExtraLarge",start:!0})}),className:"pdfDoc",children:[Array.from(new Array(n),(($,j)=>t.jsx(si,{onClickAway:()=>e.onCrossClick?.(),children:t.jsxs(bxi,{windowSize:p,isFullScreen:e.isFullScreen,children:[t.jsxs(vxi,{"data-testid":`pdf-page-${j+1}`,isFullScreen:e.isFullScreen,onMouseMove:b,onMouseLeave:w,onClick:C,children:[t.jsx(Y5e,{pageNumber:j+1,className:"reactPdfPage",...e.isFullScreen?{scale:1.5}:r!=null?{width:r}:{scale:1},error:t.jsx("div",{}),onRenderSuccess:()=>{(e.highlightedCitations!=null?mqe(e.highlightedCitations,e.selectedStatementTransactionId):void 0)===j+1&&v()}},`page_${j+1}`),A(j+1)]}),n!=j+1?t.jsx(wxi,{}):null]})},`page_${j+1}`))),t.jsx("div",{})]},e.fileUrl)]})})]})}const uxi=a.div`
10592
10592
  max-height: ${e=>e.maxHeight===!0?"650px":"auto"};
10593
10593
  display: flex;
10594
10594
  flex-direction: column;
@@ -23913,7 +23913,7 @@ to {
23913
23913
  ${({isMenuVisible:e})=>e===!1?De`
23914
23914
  display: none;
23915
23915
  `:null};
23916
- `,NAe=e=>m.createElement("svg",{width:208,height:208,viewBox:"0 0 208 208",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},m.createElement("g",{filter:"url(#filter0_f_251_38441)"},m.createElement("circle",{cx:104,cy:104,r:44,fill:"url(#paint0_linear_251_38441)"}),m.createElement("circle",{cx:104,cy:104,r:50,stroke:"url(#paint1_linear_251_38441)",strokeWidth:12})),m.createElement("g",{filter:"url(#filter1_d_251_38441)"},m.createElement("circle",{cx:104,cy:104,r:41.1429,fill:"#FAFAFA"}),m.createElement("circle",{cx:104,cy:104,r:43.1429,stroke:"url(#paint2_linear_251_38441)",strokeWidth:4})),m.createElement("g",{clipPath:"url(#clip0_251_38441)"},m.createElement("path",{d:"M120.16 102.411L96.2853 90.4684C96.0134 90.3343 95.7118 90.2718 95.409 90.2867C95.1062 90.3016 94.8122 90.3935 94.5548 90.5536C94.2974 90.7138 94.0851 90.9369 93.938 91.202C93.7908 91.467 93.7137 91.7652 93.7139 92.0684V115.931C93.7137 116.234 93.7908 116.533 93.938 116.798C94.0851 117.063 94.2974 117.286 94.5548 117.446C94.8122 117.606 95.1062 117.698 95.409 117.713C95.7118 117.728 96.0134 117.665 96.2853 117.531L120.16 105.588C120.456 105.442 120.706 105.216 120.88 104.935C121.055 104.654 121.147 104.33 121.147 104C121.147 103.669 121.055 103.345 120.88 103.065C120.706 102.784 120.456 102.558 120.16 102.411Z",fill:"black"})),m.createElement("defs",null,m.createElement("filter",{id:"filter0_f_251_38441",x:0,y:0,width:208,height:208,filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB"},m.createElement("feFlood",{floodOpacity:0,result:"BackgroundImageFix"}),m.createElement("feBlend",{mode:"normal",in:"SourceGraphic",in2:"BackgroundImageFix",result:"shape"}),m.createElement("feGaussianBlur",{stdDeviation:24,result:"effect1_foregroundBlur_251_38441"})),m.createElement("filter",{id:"filter1_d_251_38441",x:54.8569,y:58.8571,width:98.2856,height:98.2857,filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB"},m.createElement("feFlood",{floodOpacity:0,result:"BackgroundImageFix"}),m.createElement("feColorMatrix",{in:"SourceAlpha",type:"matrix",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0",result:"hardAlpha"}),m.createElement("feOffset",{dy:4}),m.createElement("feGaussianBlur",{stdDeviation:2}),m.createElement("feComposite",{in2:"hardAlpha",operator:"out"}),m.createElement("feColorMatrix",{type:"matrix",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"}),m.createElement("feBlend",{mode:"normal",in2:"BackgroundImageFix",result:"effect1_dropShadow_251_38441"}),m.createElement("feBlend",{mode:"normal",in:"SourceGraphic",in2:"effect1_dropShadow_251_38441",result:"shape"})),m.createElement("linearGradient",{id:"paint0_linear_251_38441",x1:119.671,y1:119.671,x2:87.9755,y2:87.9758,gradientUnits:"userSpaceOnUse"},m.createElement("stop",{stopColor:"#7135FF"}),m.createElement("stop",{offset:.27204,stopColor:"#A050E4"}),m.createElement("stop",{offset:.364594,stopColor:"#B85ED7"}),m.createElement("stop",{offset:.546546,stopColor:"#CF6CC9"}),m.createElement("stop",{offset:.732127,stopColor:"#EE609C"}),m.createElement("stop",{offset:.85586,stopColor:"#EB61A0"}),m.createElement("stop",{offset:1,stopColor:"#EE609C"})),m.createElement("linearGradient",{id:"paint1_linear_251_38441",x1:119.671,y1:119.671,x2:87.9755,y2:87.9758,gradientUnits:"userSpaceOnUse"},m.createElement("stop",{stopColor:"#7135FF"}),m.createElement("stop",{offset:.27204,stopColor:"#A050E4"}),m.createElement("stop",{offset:.364594,stopColor:"#B85ED7"}),m.createElement("stop",{offset:.546546,stopColor:"#CF6CC9"}),m.createElement("stop",{offset:.732127,stopColor:"#EE609C"}),m.createElement("stop",{offset:.85586,stopColor:"#EB61A0"}),m.createElement("stop",{offset:1,stopColor:"#EE609C"})),m.createElement("linearGradient",{id:"paint2_linear_251_38441",x1:118.653,y1:118.653,x2:89.0159,y2:89.0164,gradientUnits:"userSpaceOnUse"},m.createElement("stop",{stopColor:"#7135FF"}),m.createElement("stop",{offset:.27204,stopColor:"#A050E4"}),m.createElement("stop",{offset:.364594,stopColor:"#B85ED7"}),m.createElement("stop",{offset:.546546,stopColor:"#CF6CC9"}),m.createElement("stop",{offset:.732127,stopColor:"#EE609C"}),m.createElement("stop",{offset:.85586,stopColor:"#EB61A0"}),m.createElement("stop",{offset:1,stopColor:"#EE609C"})),m.createElement("clipPath",{id:"clip0_251_38441"},m.createElement("rect",{width:27.4286,height:27.4286,fill:"white",transform:"translate(93.7139 90.2849)"})))),_et=m.lazy((()=>Md((()=>import("./index-ByUkyI1p.js")),__vite__mapDeps([3,0,1,2]))));function _Ae({src:e,autoPlay:n=!0,config:i,controls:r=!0,height:s="100%",isModalOpen:l,loop:c=!1,muted:d=!1,showPlayButton:u=!1,style:p,thumbnail:h,width:g="100%",onEnded:f,onModalClose:x,onPlay:y}){const b=ge(),[w,C]=m.useState(!1);m.useEffect((()=>{l===!0&&n?C(!0):l===!1&&C(!1)}),[l,n]);const v={};i?.youtube&&(v.youtube=i.youtube);const A=()=>{C(!1),f?.(),l!=null&&x?.()},S=()=>{C(!0),y?.()};return l!=null?l?ka.createPortal(t.jsx(FZi,{windowSize:b,role:"presentation",children:t.jsx(si,{onClickAway:()=>{C(!1),x?.()},children:t.jsx(RZi,{windowSize:b,"data-testid":"video-player-modal",children:t.jsxs(zZi,{children:[u&&!w&&t.jsxs(t.Fragment,{children:[h!=null&&h!==""&&t.jsx(OZi,{src:h,alt:"Video thumbnail"}),t.jsx(PZi,{onClick:()=>{C(!0),y?.()},children:t.jsx(MZi,{windowSize:b})})]}),(!u||w)&&t.jsx(m.Suspense,{fallback:t.jsx("div",{style:{width:"100%",height:"100%"}}),children:t.jsx(_et,{src:e,playing:w,controls:r,muted:d,loop:c,width:"100%",height:"100%",onEnded:A,onPlay:S,config:v})})]})})})}),document.body):null:t.jsx(m.Suspense,{fallback:t.jsx("div",{style:{width:g,height:s,...p}}),children:t.jsx(_et,{src:e,playing:w,controls:r,muted:d,loop:c,width:g,height:s,style:p,light:!(!u||w)&&(h??!0),onEnded:A,onPlay:S,config:v})})}const BZi=ii`
23916
+ `,NAe=e=>m.createElement("svg",{width:208,height:208,viewBox:"0 0 208 208",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},m.createElement("g",{filter:"url(#filter0_f_251_38441)"},m.createElement("circle",{cx:104,cy:104,r:44,fill:"url(#paint0_linear_251_38441)"}),m.createElement("circle",{cx:104,cy:104,r:50,stroke:"url(#paint1_linear_251_38441)",strokeWidth:12})),m.createElement("g",{filter:"url(#filter1_d_251_38441)"},m.createElement("circle",{cx:104,cy:104,r:41.1429,fill:"#FAFAFA"}),m.createElement("circle",{cx:104,cy:104,r:43.1429,stroke:"url(#paint2_linear_251_38441)",strokeWidth:4})),m.createElement("g",{clipPath:"url(#clip0_251_38441)"},m.createElement("path",{d:"M120.16 102.411L96.2853 90.4684C96.0134 90.3343 95.7118 90.2718 95.409 90.2867C95.1062 90.3016 94.8122 90.3935 94.5548 90.5536C94.2974 90.7138 94.0851 90.9369 93.938 91.202C93.7908 91.467 93.7137 91.7652 93.7139 92.0684V115.931C93.7137 116.234 93.7908 116.533 93.938 116.798C94.0851 117.063 94.2974 117.286 94.5548 117.446C94.8122 117.606 95.1062 117.698 95.409 117.713C95.7118 117.728 96.0134 117.665 96.2853 117.531L120.16 105.588C120.456 105.442 120.706 105.216 120.88 104.935C121.055 104.654 121.147 104.33 121.147 104C121.147 103.669 121.055 103.345 120.88 103.065C120.706 102.784 120.456 102.558 120.16 102.411Z",fill:"black"})),m.createElement("defs",null,m.createElement("filter",{id:"filter0_f_251_38441",x:0,y:0,width:208,height:208,filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB"},m.createElement("feFlood",{floodOpacity:0,result:"BackgroundImageFix"}),m.createElement("feBlend",{mode:"normal",in:"SourceGraphic",in2:"BackgroundImageFix",result:"shape"}),m.createElement("feGaussianBlur",{stdDeviation:24,result:"effect1_foregroundBlur_251_38441"})),m.createElement("filter",{id:"filter1_d_251_38441",x:54.8569,y:58.8571,width:98.2856,height:98.2857,filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB"},m.createElement("feFlood",{floodOpacity:0,result:"BackgroundImageFix"}),m.createElement("feColorMatrix",{in:"SourceAlpha",type:"matrix",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0",result:"hardAlpha"}),m.createElement("feOffset",{dy:4}),m.createElement("feGaussianBlur",{stdDeviation:2}),m.createElement("feComposite",{in2:"hardAlpha",operator:"out"}),m.createElement("feColorMatrix",{type:"matrix",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"}),m.createElement("feBlend",{mode:"normal",in2:"BackgroundImageFix",result:"effect1_dropShadow_251_38441"}),m.createElement("feBlend",{mode:"normal",in:"SourceGraphic",in2:"effect1_dropShadow_251_38441",result:"shape"})),m.createElement("linearGradient",{id:"paint0_linear_251_38441",x1:119.671,y1:119.671,x2:87.9755,y2:87.9758,gradientUnits:"userSpaceOnUse"},m.createElement("stop",{stopColor:"#7135FF"}),m.createElement("stop",{offset:.27204,stopColor:"#A050E4"}),m.createElement("stop",{offset:.364594,stopColor:"#B85ED7"}),m.createElement("stop",{offset:.546546,stopColor:"#CF6CC9"}),m.createElement("stop",{offset:.732127,stopColor:"#EE609C"}),m.createElement("stop",{offset:.85586,stopColor:"#EB61A0"}),m.createElement("stop",{offset:1,stopColor:"#EE609C"})),m.createElement("linearGradient",{id:"paint1_linear_251_38441",x1:119.671,y1:119.671,x2:87.9755,y2:87.9758,gradientUnits:"userSpaceOnUse"},m.createElement("stop",{stopColor:"#7135FF"}),m.createElement("stop",{offset:.27204,stopColor:"#A050E4"}),m.createElement("stop",{offset:.364594,stopColor:"#B85ED7"}),m.createElement("stop",{offset:.546546,stopColor:"#CF6CC9"}),m.createElement("stop",{offset:.732127,stopColor:"#EE609C"}),m.createElement("stop",{offset:.85586,stopColor:"#EB61A0"}),m.createElement("stop",{offset:1,stopColor:"#EE609C"})),m.createElement("linearGradient",{id:"paint2_linear_251_38441",x1:118.653,y1:118.653,x2:89.0159,y2:89.0164,gradientUnits:"userSpaceOnUse"},m.createElement("stop",{stopColor:"#7135FF"}),m.createElement("stop",{offset:.27204,stopColor:"#A050E4"}),m.createElement("stop",{offset:.364594,stopColor:"#B85ED7"}),m.createElement("stop",{offset:.546546,stopColor:"#CF6CC9"}),m.createElement("stop",{offset:.732127,stopColor:"#EE609C"}),m.createElement("stop",{offset:.85586,stopColor:"#EB61A0"}),m.createElement("stop",{offset:1,stopColor:"#EE609C"})),m.createElement("clipPath",{id:"clip0_251_38441"},m.createElement("rect",{width:27.4286,height:27.4286,fill:"white",transform:"translate(93.7139 90.2849)"})))),_et=m.lazy((()=>Md((()=>import("./index-BgIX2Tk5.js")),__vite__mapDeps([3,0,1,2]))));function _Ae({src:e,autoPlay:n=!0,config:i,controls:r=!0,height:s="100%",isModalOpen:l,loop:c=!1,muted:d=!1,showPlayButton:u=!1,style:p,thumbnail:h,width:g="100%",onEnded:f,onModalClose:x,onPlay:y}){const b=ge(),[w,C]=m.useState(!1);m.useEffect((()=>{l===!0&&n?C(!0):l===!1&&C(!1)}),[l,n]);const v={};i?.youtube&&(v.youtube=i.youtube);const A=()=>{C(!1),f?.(),l!=null&&x?.()},S=()=>{C(!0),y?.()};return l!=null?l?ka.createPortal(t.jsx(FZi,{windowSize:b,role:"presentation",children:t.jsx(si,{onClickAway:()=>{C(!1),x?.()},children:t.jsx(RZi,{windowSize:b,"data-testid":"video-player-modal",children:t.jsxs(zZi,{children:[u&&!w&&t.jsxs(t.Fragment,{children:[h!=null&&h!==""&&t.jsx(OZi,{src:h,alt:"Video thumbnail"}),t.jsx(PZi,{onClick:()=>{C(!0),y?.()},children:t.jsx(MZi,{windowSize:b})})]}),(!u||w)&&t.jsx(m.Suspense,{fallback:t.jsx("div",{style:{width:"100%",height:"100%"}}),children:t.jsx(_et,{src:e,playing:w,controls:r,muted:d,loop:c,width:"100%",height:"100%",onEnded:A,onPlay:S,config:v})})]})})})}),document.body):null:t.jsx(m.Suspense,{fallback:t.jsx("div",{style:{width:g,height:s,...p}}),children:t.jsx(_et,{src:e,playing:w,controls:r,muted:d,loop:c,width:g,height:s,style:p,light:!(!u||w)&&(h??!0),onEnded:A,onPlay:S,config:v})})}const BZi=ii`
23917
23917
  0% {
23918
23918
  transform: rotate(0deg);
23919
23919
  }
@@ -86057,7 +86057,7 @@ ${IO.gap.expectedStartDate(u)}.`:f.description,y=p===!0||d!=null;return t.jsx(Ei
86057
86057
  color: ${O.tagWarningColorLight};
86058
86058
  `,ups=a(wt)`
86059
86059
  color: ${O.tagWarningColorLight};
86060
- `,{expenseAutomation:{accountRecon:{statementProcessing:Zm}},common:kq}=le.getLocalizedStrings(),gy="statement-processing-page";function pps(){const[e]=ra("AiStar");return t.jsx(e2,{$slotSize:o.sp4,children:e!=null?t.jsx(vL,{animationData:e,play:!0,loop:!0,slotSize:o.sp4}):t.jsx(wps,{})})}function hps({isUploadComplete:e,_storyCompletedSteps:n,_storyPageCount:i,accountMapping:r,isParsedDataReady:s,statementFile:l,onCancel:c,onContinueInBackground:d,onAllStepsComplete:u,onCompletedStepsChange:p}){const h=Zm.steps.length,g=Math.max(h-1,0),f=r!=null&&r.accounts.length>0,x=r?.isConfirmLoading===!0,y=r?.isConfirmCompleted===!0,[b,w]=m.useState(n??0),[C,v]=m.useState([]),[A,S]=m.useState(!1),$=m.useCallback(((ue,re)=>{v(ue),S(re)}),[]),[j,I]=m.useState((()=>h===0?0:(n??0)/h*100)),E=l?.signedUrl?.trim()??"",[D,B]=m.useState(i),[F,R]=m.useState(i!=null),[_,N]=m.useState(null),[T,P]=m.useState(0),L=m.useRef(null),V=m.useRef(!1),H=m.useRef(null),Q=m.useRef(!1);m.useEffect((()=>{if(i!=null)return B(i),void R(!0);if(E==="")return B(void 0),void R(!1);let ue=!1;return R(!1),(async function(re){if(re==null)return;if(krn(re))return 1;if(!(function(ce){return ce.contentType?.toLowerCase()==="application/pdf"||ce.extension?.toLowerCase()===".pdf"})(re))return;const se=re.signedUrl.trim();if(se!=="")try{const ce=await fetch(se);return ce.ok?(await(await Md((()=>import("./pdf-B0ceY1o5.js").then((me=>me.i))),__vite__mapDeps([0,1,2])).then((me=>me.pdfjs))).getDocument({data:new Uint8Array(await ce.arrayBuffer())}).promise).numPages:void 0}catch{return}})({signedUrl:E,contentType:l?.contentType,extension:l?.extension}).then((re=>{ue||(B(re),R(!0))})),()=>{ue=!0}}),[i,E,l?.contentType,l?.extension]),m.useEffect((()=>{N(null)}),[E]),m.useEffect((()=>{!F||_!=null||N((function(ue){return ue==null||ue<=0?125:ue<=2?65:ue<=4?120:ue<=8?160:ue<=12?190:200})(D))}),[F,_,D]);const U=_??125,W=s8e(h),q=1e3*U,K=Math.floor(q/Math.max(W,1));m.useEffect((()=>{if(!e)return L.current=null,V.current=!1,P(0),void N(null);if(!V.current){const se=(function(ce,me,fe){const ye=s8e(fe);return me*(Math.max(0,Math.min(ce,fe)-1)/ye)})(Math.max(n??0,b,1),U,h);L.current=Date.now()-1e3*se,V.current=!0}const ue=()=>{L.current!=null&&P(Math.floor((Date.now()-L.current)/1e3))};ue();const re=setInterval(ue,5e3);return()=>clearInterval(re)}),[e,U,h,n,b]);const J=_!=null?Math.max(0,_-T):0,te=_!=null?(function(ue,re,se){return re?null:ue<=0?{label:se.takingLongerThanExpected,showClock:!1}:ue<60?{label:se.timeRemainingSeconds(ue),showClock:!0}:{label:se.timeRemainingMinutes(Math.ceil(ue/60)),showClock:!0}})(J,b>=h,Zm):null;m.useEffect((()=>{p?.(b)}),[b,p]),m.useEffect((()=>{n!=null&&n>b&&w(n)}),[n,b]),m.useEffect((()=>{e&&b===0&&w(1)}),[e,b]);const ne=s===!0||f===!0&&b<g;m.useEffect((()=>{if(b===0||b>=h||s!==!0&&b>=g||f===!0&&b>=g)return;const ue=setTimeout((()=>{w((re=>re+1))}),ne?300:K);return()=>clearTimeout(ue)}),[b,s,f,g,ne,K,h]),m.useEffect((()=>{if(b!==h||u==null||f===!0)return;const ue=setTimeout(u,1e3);return()=>clearTimeout(ue)}),[b,f,u,h]);const X=f===!0&&b>=g,ie=m.useCallback((()=>{const ue=L.current??Date.now();d({completedSteps:b,startedAtMs:ue,totalDurationSeconds:U,accountMappings:X===!0?C:void 0})}),[b,X,C,d,U]);m.useEffect((()=>{if(X!==!0)return void(Q.current=!1);if(Q.current===!0)return;Q.current=!0;const ue=requestAnimationFrame((()=>{const re=H.current;re?.scrollTo({top:re.scrollHeight,behavior:"smooth"})}));return()=>cancelAnimationFrame(ue)}),[X]),m.useEffect((()=>{if(h===0)return void I(0);const ue=b/h*100;if(b===0)return void I(0);if(b>=h)return void I(100);if(s!==!0&&f!==!0&&b>=g||f===!0&&b>=g)return void I(ue);const re=(b+1)/h*100,se=ne?300:K,ce=performance.now();let me=0;const fe=ye=>{const be=Math.min((ye-ce)/se,1);I(ue+(re-ue)*be),be<1&&(me=requestAnimationFrame(fe))};return me=requestAnimationFrame(fe),()=>cancelAnimationFrame(me)}),[b,s,f,g,ne,K,h]);const oe=Math.min(100,Math.round(j)),ae=b>=h?h-1:Math.min(b,Zm.stepSubtitles.length-1),he=r?.accounts.length??0,de=X===!0&&he>0?r?.accountType==="bank"?Zm.accountMapping.headerSubtitleAccounts(he):Zm.accountMapping.headerSubtitle(he):Zm.stepSubtitles[ae];return t.jsxs(t.Fragment,{children:[t.jsxs(mps,{ref:H,"data-testid":Y(gy,"container"),children:[t.jsxs(fps,{"data-testid":Y(gy,"header"),children:[t.jsxs(xps,{children:[t.jsxs(yps,{children:[t.jsxs(bps,{children:[t.jsx(pps,{}),t.jsx(Cps,{children:Zm.headerTitle})]}),X===!0?t.jsxs(bwt,{"data-testid":Y(gy,"action-needed"),children:[t.jsx(kps,{}),t.jsx(jps,{children:Zm.actionNeeded})]}):te!=null?t.jsxs(bwt,{"data-testid":Y(gy,"time-remaining"),children:[te.showClock?t.jsx(Aps,{}):null,t.jsx(Sps,{children:te.label})]}):null]}),t.jsx(vps,{children:de})]}),t.jsxs($ps,{children:[t.jsxs(Eps,{children:[t.jsx(Ips,{children:Zm.stepProgressLabel(b,h)}),t.jsx(Dps,{children:`${oe}%`})]}),t.jsx(Tps,{children:t.jsx(Lps,{style:{width:`${j}%`}})})]})]}),t.jsx(gps,{"data-testid":Y(gy,"steps"),children:Zm.steps.map(((ue,re)=>{const se=re+1,ce=re===Zm.steps.length-1,me=X===!0&&y!==!0&&ce===!0,fe=f===!0&&y===!0&&ce===!0&&b>=g,ye=me!==!0&&fe!==!0&&se<=b,be=fe===!0||me!==!0&&se===b+1;return t.jsxs(Bps,{"data-testid":Y(gy,`step-${se}`),children:[t.jsxs(Pps,{children:[t.jsx(Ops,{$isDone:ye,$isInProgress:be,children:se}),ce?null:t.jsx(Mps,{$isDone:ye})]}),t.jsx(Hps,{children:ue}),t.jsx(Ups,{children:me===!0?t.jsx(Nps,{"data-testid":Y(gy,"action-required"),children:t.jsx(_ps,{children:kq.texts.actionRequired})}):ye?t.jsx(Fps,{}):be?t.jsxs(Rps,{children:[t.jsx(Vps,{}),t.jsx(zps,{children:kq.aiAgentsActivatingPage.ledgerSection.workingPillLabel})]}):null})]},se)}))}),X===!0&&r!=null?t.jsx(H1s,{accounts:r.accounts,fileName:l?.fileName??"",ledgerAccounts:r.ledgerAccounts,accountType:r.accountType,initialMappings:r.initialMappings,statementOverrideWarningAccountIds:r.statementOverrideWarningAccountIds,unavailableLedgerAccountIds:r.unavailableLedgerAccountIds,onMappingsChange:$}):null]}),X===!0&&r!=null?t.jsx(Jn,{formId:gy,showCancel:!0,cancelBtn:{label:Zm.continueInBackground,onClick:ie,style:{width:"195px"}},primaryBtn:{label:kq.confirm,isDisabled:A!==!0||x===!0||y===!0,isLoading:x,onClick:()=>{y===!0||x===!0||r.onConfirmMapping(C)},style:{width:"195px"}}}):t.jsx(Jn,{formId:gy,showCancel:!0,cancelBtn:{label:kq.cancel,onClick:c,style:{width:"195px"}},primaryBtn:{label:Zm.continueInBackground,onClick:ie,variant:"secondary",style:{width:"195px"}}})]})}const mps=a.div`
86060
+ `,{expenseAutomation:{accountRecon:{statementProcessing:Zm}},common:kq}=le.getLocalizedStrings(),gy="statement-processing-page";function pps(){const[e]=ra("AiStar");return t.jsx(e2,{$slotSize:o.sp4,children:e!=null?t.jsx(vL,{animationData:e,play:!0,loop:!0,slotSize:o.sp4}):t.jsx(wps,{})})}function hps({isUploadComplete:e,_storyCompletedSteps:n,_storyPageCount:i,accountMapping:r,isParsedDataReady:s,statementFile:l,onCancel:c,onContinueInBackground:d,onAllStepsComplete:u,onCompletedStepsChange:p}){const h=Zm.steps.length,g=Math.max(h-1,0),f=r!=null&&r.accounts.length>0,x=r?.isConfirmLoading===!0,y=r?.isConfirmCompleted===!0,[b,w]=m.useState(n??0),[C,v]=m.useState([]),[A,S]=m.useState(!1),$=m.useCallback(((ue,re)=>{v(ue),S(re)}),[]),[j,I]=m.useState((()=>h===0?0:(n??0)/h*100)),E=l?.signedUrl?.trim()??"",[D,B]=m.useState(i),[F,R]=m.useState(i!=null),[_,N]=m.useState(null),[T,P]=m.useState(0),L=m.useRef(null),V=m.useRef(!1),H=m.useRef(null),Q=m.useRef(!1);m.useEffect((()=>{if(i!=null)return B(i),void R(!0);if(E==="")return B(void 0),void R(!1);let ue=!1;return R(!1),(async function(re){if(re==null)return;if(krn(re))return 1;if(!(function(ce){return ce.contentType?.toLowerCase()==="application/pdf"||ce.extension?.toLowerCase()===".pdf"})(re))return;const se=re.signedUrl.trim();if(se!=="")try{const ce=await fetch(se);return ce.ok?(await(await Md((()=>import("./pdf-Cj_veg-U.js").then((me=>me.i))),__vite__mapDeps([0,1,2])).then((me=>me.pdfjs))).getDocument({data:new Uint8Array(await ce.arrayBuffer())}).promise).numPages:void 0}catch{return}})({signedUrl:E,contentType:l?.contentType,extension:l?.extension}).then((re=>{ue||(B(re),R(!0))})),()=>{ue=!0}}),[i,E,l?.contentType,l?.extension]),m.useEffect((()=>{N(null)}),[E]),m.useEffect((()=>{!F||_!=null||N((function(ue){return ue==null||ue<=0?125:ue<=2?65:ue<=4?120:ue<=8?160:ue<=12?190:200})(D))}),[F,_,D]);const U=_??125,W=s8e(h),q=1e3*U,K=Math.floor(q/Math.max(W,1));m.useEffect((()=>{if(!e)return L.current=null,V.current=!1,P(0),void N(null);if(!V.current){const se=(function(ce,me,fe){const ye=s8e(fe);return me*(Math.max(0,Math.min(ce,fe)-1)/ye)})(Math.max(n??0,b,1),U,h);L.current=Date.now()-1e3*se,V.current=!0}const ue=()=>{L.current!=null&&P(Math.floor((Date.now()-L.current)/1e3))};ue();const re=setInterval(ue,5e3);return()=>clearInterval(re)}),[e,U,h,n,b]);const J=_!=null?Math.max(0,_-T):0,te=_!=null?(function(ue,re,se){return re?null:ue<=0?{label:se.takingLongerThanExpected,showClock:!1}:ue<60?{label:se.timeRemainingSeconds(ue),showClock:!0}:{label:se.timeRemainingMinutes(Math.ceil(ue/60)),showClock:!0}})(J,b>=h,Zm):null;m.useEffect((()=>{p?.(b)}),[b,p]),m.useEffect((()=>{n!=null&&n>b&&w(n)}),[n,b]),m.useEffect((()=>{e&&b===0&&w(1)}),[e,b]);const ne=s===!0||f===!0&&b<g;m.useEffect((()=>{if(b===0||b>=h||s!==!0&&b>=g||f===!0&&b>=g)return;const ue=setTimeout((()=>{w((re=>re+1))}),ne?300:K);return()=>clearTimeout(ue)}),[b,s,f,g,ne,K,h]),m.useEffect((()=>{if(b!==h||u==null||f===!0)return;const ue=setTimeout(u,1e3);return()=>clearTimeout(ue)}),[b,f,u,h]);const X=f===!0&&b>=g,ie=m.useCallback((()=>{const ue=L.current??Date.now();d({completedSteps:b,startedAtMs:ue,totalDurationSeconds:U,accountMappings:X===!0?C:void 0})}),[b,X,C,d,U]);m.useEffect((()=>{if(X!==!0)return void(Q.current=!1);if(Q.current===!0)return;Q.current=!0;const ue=requestAnimationFrame((()=>{const re=H.current;re?.scrollTo({top:re.scrollHeight,behavior:"smooth"})}));return()=>cancelAnimationFrame(ue)}),[X]),m.useEffect((()=>{if(h===0)return void I(0);const ue=b/h*100;if(b===0)return void I(0);if(b>=h)return void I(100);if(s!==!0&&f!==!0&&b>=g||f===!0&&b>=g)return void I(ue);const re=(b+1)/h*100,se=ne?300:K,ce=performance.now();let me=0;const fe=ye=>{const be=Math.min((ye-ce)/se,1);I(ue+(re-ue)*be),be<1&&(me=requestAnimationFrame(fe))};return me=requestAnimationFrame(fe),()=>cancelAnimationFrame(me)}),[b,s,f,g,ne,K,h]);const oe=Math.min(100,Math.round(j)),ae=b>=h?h-1:Math.min(b,Zm.stepSubtitles.length-1),he=r?.accounts.length??0,de=X===!0&&he>0?r?.accountType==="bank"?Zm.accountMapping.headerSubtitleAccounts(he):Zm.accountMapping.headerSubtitle(he):Zm.stepSubtitles[ae];return t.jsxs(t.Fragment,{children:[t.jsxs(mps,{ref:H,"data-testid":Y(gy,"container"),children:[t.jsxs(fps,{"data-testid":Y(gy,"header"),children:[t.jsxs(xps,{children:[t.jsxs(yps,{children:[t.jsxs(bps,{children:[t.jsx(pps,{}),t.jsx(Cps,{children:Zm.headerTitle})]}),X===!0?t.jsxs(bwt,{"data-testid":Y(gy,"action-needed"),children:[t.jsx(kps,{}),t.jsx(jps,{children:Zm.actionNeeded})]}):te!=null?t.jsxs(bwt,{"data-testid":Y(gy,"time-remaining"),children:[te.showClock?t.jsx(Aps,{}):null,t.jsx(Sps,{children:te.label})]}):null]}),t.jsx(vps,{children:de})]}),t.jsxs($ps,{children:[t.jsxs(Eps,{children:[t.jsx(Ips,{children:Zm.stepProgressLabel(b,h)}),t.jsx(Dps,{children:`${oe}%`})]}),t.jsx(Tps,{children:t.jsx(Lps,{style:{width:`${j}%`}})})]})]}),t.jsx(gps,{"data-testid":Y(gy,"steps"),children:Zm.steps.map(((ue,re)=>{const se=re+1,ce=re===Zm.steps.length-1,me=X===!0&&y!==!0&&ce===!0,fe=f===!0&&y===!0&&ce===!0&&b>=g,ye=me!==!0&&fe!==!0&&se<=b,be=fe===!0||me!==!0&&se===b+1;return t.jsxs(Bps,{"data-testid":Y(gy,`step-${se}`),children:[t.jsxs(Pps,{children:[t.jsx(Ops,{$isDone:ye,$isInProgress:be,children:se}),ce?null:t.jsx(Mps,{$isDone:ye})]}),t.jsx(Hps,{children:ue}),t.jsx(Ups,{children:me===!0?t.jsx(Nps,{"data-testid":Y(gy,"action-required"),children:t.jsx(_ps,{children:kq.texts.actionRequired})}):ye?t.jsx(Fps,{}):be?t.jsxs(Rps,{children:[t.jsx(Vps,{}),t.jsx(zps,{children:kq.aiAgentsActivatingPage.ledgerSection.workingPillLabel})]}):null})]},se)}))}),X===!0&&r!=null?t.jsx(H1s,{accounts:r.accounts,fileName:l?.fileName??"",ledgerAccounts:r.ledgerAccounts,accountType:r.accountType,initialMappings:r.initialMappings,statementOverrideWarningAccountIds:r.statementOverrideWarningAccountIds,unavailableLedgerAccountIds:r.unavailableLedgerAccountIds,onMappingsChange:$}):null]}),X===!0&&r!=null?t.jsx(Jn,{formId:gy,showCancel:!0,cancelBtn:{label:Zm.continueInBackground,onClick:ie,style:{width:"195px"}},primaryBtn:{label:kq.confirm,isDisabled:A!==!0||x===!0||y===!0,isLoading:x,onClick:()=>{y===!0||x===!0||r.onConfirmMapping(C)},style:{width:"195px"}}}):t.jsx(Jn,{formId:gy,showCancel:!0,cancelBtn:{label:kq.cancel,onClick:c,style:{width:"195px"}},primaryBtn:{label:Zm.continueInBackground,onClick:ie,variant:"secondary",style:{width:"195px"}}})]})}const mps=a.div`
86061
86061
  flex: 1;
86062
86062
  display: flex;
86063
86063
  flex-direction: column;
@@ -90977,7 +90977,7 @@ ${IO.gap.expectedStartDate(u)}.`:f.description,y=p===!0||d!=null;return t.jsx(Ei
90977
90977
  display: flex;
90978
90978
  min-height: 100%;
90979
90979
  flex-direction: column;
90980
- `,Q9s=()=>{const[e,n]=m.useState((()=>Br.getSignedInUser())),i=Kp(),[r,s]=m.useState(!1),[l,c]=m.useState(!1),d=qr((g=>PSt(g).fetchState)),u=qr((g=>xm(g)));m.useEffect((()=>{const g=e!=null&&e.authProvider==="email"&&(!e?.firstName||!e?.lastName||!e.phoneNumber);s(g)}),[e]);const p=m.useCallback((()=>{const g=Br.getSignedInUser();n((f=>JSON.stringify(f)!==JSON.stringify(g)?g:f))}),[]);m.useEffect((()=>(window.addEventListener("completeProfileDone",p),()=>{window.removeEventListener("completeProfileDone",p)})),[]),m.useEffect((()=>{u?.companyId!=null&&d==="Not-Started"&&i(Jdn(u.companyId))}),[d,u.companyId,i]);const h=m.useMemo((()=>!!e?.firstName&&!e?.phoneNumber),[e]);return Zt.jsxs(m.Fragment,{children:[l&&Zt.jsx(EAe,{showConfetti:!0}),e?.userEmail!=null&&e.authProvider==="email"?Zt.jsx(U9s,{userEmail:e.userEmail,isCompleteProfileOpen:r,closeDrawerHandler:()=>{s(!1),c(!0)},hasUserEnteredBasicDetails:h}):null]})},aAt="init-enter",Y9s=m.memo((function({location:e,visitedUrl:n}){const{pathname:i}=e;return m.useLayoutEffect((()=>{const r=n.get(i||aAt);G9s(r!==void 0?r:0)})),null}),((e,n)=>{const{location:i,visitedUrl:r}=e,{location:s}=n,l=i.pathname||aAt,c=q9s();return r.set(l,c),!((s.pathname!==i.pathname||s.search!==i.search)&&s.hash==="")})),G9s=(e=0)=>window.requestAnimationFrame((()=>{window.scrollTo(0,e)})),q9s=()=>{let e=0;return document!=null&&document.documentElement!==null&&(e=document.documentElement.scrollTop),window.pageYOffset||e},Bm=e=>m.lazy((async()=>{const n=e.toString(),i=Br.getForceRefreshedComponents(),r=new Set(i),s=Br.isSignedIn(),l=r.has(n);try{const c=await e();return r.delete(n),s&&Br.saveForceRefreshedComponents(Array.from(r)),c}catch(c){throw l||(r.add(n),s&&Br.saveForceRefreshedComponents(Array.from(r)),location.reload()),c}})),y$s=(e,n,i)=>{const r=M8e(e),s=rne(e),l=O8e(i,e);return(n||i||s||r||l)&&B8e(e.company)},dsn=globalThis.window?.location.href.startsWith("https://delhi-dot-zeni"),usn=globalThis.window?.location.href.startsWith("https://pune-dot-zeni"),psn=globalThis.window?.location.href.startsWith("https://sunnyvale-dot-zeni"),hsn=globalThis.window?.location.href.startsWith("https://dev.app.zeni.ai");function Tc(...e){const n=Mc==="DEV"||Mc==="QA";if(dsn||usn||psn||hsn)return void console.log(...e);const i=globalThis.window!==void 0&&(globalThis.window.location.hostname==="localhost"||globalThis.window.location.hostname==="127.0.0.1")&&globalThis.window.location.port==="3000";n&&i&&console.log(...e)}function eT(...e){const n=Mc==="DEV"||Mc==="QA";if(dsn||usn||psn||hsn)return void console.warn(...e);const i=globalThis.window!==void 0&&(globalThis.window.location.hostname==="localhost"||globalThis.window.location.hostname==="127.0.0.1")&&globalThis.window.location.port==="3000";n&&i&&console.warn(...e)}let NE=null,VO=!1;const Lc=Mc==="PROD"?"https://api.zeni.ai":Mc==="DEV"?"https://dev.api.zeni.ai":"https://qa.api.zeni.ai";function sAt(e){const n=encodeURIComponent(JSON.stringify({is_full_response:!0,time_series_groups:["months"]})),i=encodeURIComponent(JSON.stringify({is_full_response:!0,time_series_groups:["quarters"]})),r=encodeURIComponent(JSON.stringify({is_full_response:!0,time_series_groups:["years"]})),s=encodeURIComponent(JSON.stringify({is_full_response:!0,time_series_groups:["months"]})),l=encodeURIComponent(JSON.stringify({is_full_response:!0,time_series_groups:["quarters"]})),c=encodeURIComponent(JSON.stringify({is_full_response:!0,time_series_groups:["years"]})),d=encodeURIComponent(JSON.stringify({is_full_response:!0,time_series_groups:["months"]})),u=encodeURIComponent(JSON.stringify({is_full_response:!0,time_series_groups:["quarters"]})),p=encodeURIComponent(JSON.stringify({is_full_response:!0,time_series_groups:["years"]}));return[{url:`${Lc}/accounting/2.0/reports/profit_and_loss?query=${n}`,priority:"HIGH",reason:"Reports - Profit & Loss by Months (first load)",apiType:"reports"},{url:`${Lc}/accounting/2.0/reports/profit_and_loss?query=${i}`,priority:"HIGH",reason:"Reports - Profit & Loss by Quarters (first load)",apiType:"reports"},{url:`${Lc}/accounting/2.0/reports/profit_and_loss?query=${r}`,priority:"HIGH",reason:"Reports - Profit & Loss by Years (first load)",apiType:"reports"},{url:`${Lc}/accounting/2.0/reports/balance_sheet?query=${s}`,priority:"HIGH",reason:"Reports - Balance Sheet by Months (first load)",apiType:"reports"},{url:`${Lc}/accounting/2.0/reports/balance_sheet?query=${l}`,priority:"HIGH",reason:"Reports - Balance Sheet by Quarters (first load)",apiType:"reports"},{url:`${Lc}/accounting/2.0/reports/balance_sheet?query=${c}`,priority:"HIGH",reason:"Reports - Balance Sheet by Years (first load)",apiType:"reports"},{url:`${Lc}/accounting/2.0/reports/cash_flow?query=${d}`,priority:"HIGH",reason:"Reports - Cash Flow by Months (first load)",apiType:"reports"},{url:`${Lc}/accounting/2.0/reports/cash_flow?query=${u}`,priority:"HIGH",reason:"Reports - Cash Flow by Quarters (first load)",apiType:"reports"},{url:`${Lc}/accounting/2.0/reports/cash_flow?query=${p}`,priority:"HIGH",reason:"Reports - Cash Flow by Years (first load)",apiType:"reports"}]}const K9s={dashboard:function(e){return[...sAt()]},reports:sAt,aging:function(e){return[]},transactions:function(e){return[]},forecast:function(e){const n=encodeURIComponent(JSON.stringify({is_full_response:!0,time_series_groups:["months"],forecast_id:e.forecastId,is_forecast_vs_actual:!0})),i=encodeURIComponent(JSON.stringify({is_full_response:!0,time_series_groups:["quarters"],forecast_id:e.forecastId,is_forecast_vs_actual:!0})),r=encodeURIComponent(JSON.stringify({is_full_response:!0,time_series_groups:["years"],forecast_id:e.forecastId,is_forecast_vs_actual:!0}));return[{url:`${Lc}/accounting/2.0/reports/profit_and_loss?query=${n}`,priority:"HIGH",reason:"Forecast - Profit & Loss by Months (first load)",apiType:"forecast"},{url:`${Lc}/accounting/2.0/reports/profit_and_loss?query=${i}`,priority:"HIGH",reason:"Forecast - Profit & Loss by Quarters (first load)",apiType:"forecast"},{url:`${Lc}/accounting/2.0/reports/profit_and_loss?query=${r}`,priority:"HIGH",reason:"Forecast - Profit & Loss by Years (first load)",apiType:"forecast"}]},checking:function(e){const n=encodeURIComponent(JSON.stringify({is_include_deposit_accounts_summary:!0}));return[{url:`${Lc}/banking/1.0/deposit-accounts?query=${n}`,priority:"HIGH",reason:"Checking - Deposit Accounts (first load)",apiType:"checking"},{url:`${Lc}/pay/1.0/payment-accounts`,priority:"HIGH",reason:"Checking - Payment Accounts (first load)",apiType:"checking"},{url:`${Lc}/banking/1.0/baas/config`,priority:"HIGH",reason:"Checking - BAAS Config (first load)",apiType:"checking"}]},rewards:function(e){const n=encodeURIComponent(JSON.stringify({is_primary_refer_reward_plan:!0}));return[{url:`${Lc}/tenant/1.0/company-refer-reward-plan?query=${n}`,priority:"HIGH",reason:"Rewards Page - Rewards Plan (first load)",apiType:"rewards"},{url:`${Lc}/tenant/1.0/company-referrals`,priority:"HIGH",reason:"Rewards Page - Referrals (first load)",apiType:"rewards"}]},people:function(e){const n=encodeURIComponent(JSON.stringify({is_manager_candidate:!0})),{companyId:i}=e,r=encodeURIComponent(JSON.stringify({view:"passport"}));return[{url:`${Lc}/tenant/1.0/user-roles`,priority:"HIGH",reason:"People Page - User Roles (first load)",apiType:"people"},{url:`${Lc}/tenant/1.0/users?query=${n}`,priority:"HIGH",reason:"People Page - Users (first load)",apiType:"people"},{url:`${Lc}/accounting/1.0/classes`,priority:"HIGH",reason:"People Page - Classes (first load)",apiType:"people"},{url:`${Lc}/tenant/1.0/companies/${i}?query=${r}`,priority:"HIGH",reason:"People Page - Company Passport (first load)",apiType:"people"}]}};function lAt(e){const{currentPage:n,isRewardsFeatureEnabled:i,isPeopleTabVisible:r,isReportsPageVisible:s,isPageIndependent:l=!1}=e,c=(0,K9s[l?"dashboard":n])(e),d=c.filter((u=>i===!1&&u.reason.includes("Rewards")?(Tc(`[Prefetch Manager - Service Worker] ⚠️ Skipping rewards URL (feature disabled): ${u.url}`),!1):r===!1&&u.reason.includes("People")?(Tc(`[Prefetch Manager - Service Worker] ⚠️ Skipping people URL (feature disabled): ${u.url}`),!1):s!==!1||!u.reason.includes("Reports")||(Tc(`[Prefetch Manager - Service Worker] ⚠️ Skipping reports URL (feature disabled): ${u.url}`),!1)));return Tc(`[Prefetch Manager - Service Worker] 📋 Prefetch list: ${c.length} total, ${d.length} after filtering`),d}async function cAt(e,n=0,i){if("serviceWorker"in navigator)try{const r=await(async function(u=1e4){if(!("serviceWorker"in navigator))throw new Error("Service Worker not supported");if(navigator.serviceWorker.controller)return navigator.serviceWorker.ready;const p=await navigator.serviceWorker.ready;return navigator.serviceWorker.controller!=null?p:new Promise(((h,g)=>{const f=Date.now();let x=100;const y=()=>navigator.serviceWorker.controller?(C(),void h(p)):Date.now()-f>=u?(C(),void(p.active?(Tc("[Prefetch Manager - Service Worker] ⚠️ No controller but SW is active, proceeding anyway"),h(p)):g(new Error("Service Worker controller timeout")))):(x=Math.min(1.5*x,1e3),void(b=setTimeout(y,x)));let b;const w=()=>{navigator.serviceWorker.controller&&(C(),h(p))},C=()=>{clearTimeout(b),navigator.serviceWorker.removeEventListener("controllerchange",w)};navigator.serviceWorker.addEventListener("controllerchange",w),b=setTimeout(y,x)}))})(1e4),s=navigator.serviceWorker.controller||r.active;if(!s)return void eT("[Prefetch Manager - Service Worker] No active Service Worker available");const l=(function(u){const p={HIGH:0,MEDIUM:1,LOW:2};return u.sort(((h,g)=>p[h.priority]-p[g.priority]))})(e);Tc("[Prefetch Manager - Service Worker] 📋 Sending prefetch list to SW:",{total:l.length,high:l.filter((u=>u.priority==="HIGH")).length,medium:l.filter((u=>u.priority==="MEDIUM")).length,low:l.filter((u=>u.priority==="LOW")).length,batchSize:n>0?n:"disabled",expirationTime:i??"20 minutes",viaController:!!navigator.serviceWorker.controller}),l.forEach(((u,p)=>{Tc(`[Prefetch Manager - Service Worker] ${p+1}. [${u.priority}] ${u.reason} - ${u.url}`),Tc(` URL: ${u.url}`)}));const c=une(),d={"zeni-session-id":c.sessionId,"zeni-user-id":c.userId,"zeni-tenant-id":c.tenantId};s.postMessage({type:"PREFETCH_URLS",payload:{urls:l.map((u=>({url:u.url,priority:u.priority,apiType:u.apiType}))),authHeaders:d,batchSize:n,expirationTime:i}}),Tc("[Prefetch Manager - Service Worker] ✅ Prefetch request sent to Service Worker")}catch(r){eT("[Prefetch Manager - Service Worker] Failed to send prefetch request:",r instanceof Error?r.message:"Unknown error")}else eT("[Prefetch Manager - Service Worker] Service Worker not supported in this browser")}function Z9s({children:e,currentPage:n,tenantId:i,batchCalls:r=0,expirationTime:s,delay:l=1e3,enabled:c=!0,enableIdlePrefetch:d=!1,features:u,forecastId:p,idleTimeout:h=2e3,isPageIndependent:g=!1,isRefreshTriggerEnabled:f=!1}){const[x,y]=m.useState(!1),[b,w]=m.useState(!1),C=m.useRef(null),v=d2(),A=Br.getSignedInUser(),{useFeatureGate:S}=us(),{isFeatureEnabled:$}=S(Gr.isReferralFeatureEnabled),j=Dn(),I=l7(j?.loggedInUserRole??[]),E=qr((_=>xm(_))),{isFeatureEnabled:D}=S(Gr.isDebitCardFeatureEnabled),B=O8e(D,E),F=M8e(E),R=B===!1&&F===!1;return m.useEffect((()=>{if(!c||x||!A||!i)return;const _=lAt({currentPage:n,userId:A.userId,tenantId:i,sessionId:A.zeniSessionId??"",features:u,forecastId:p,isRewardsFeatureEnabled:$,isPeopleTabVisible:I,isReportsPageVisible:R,companyId:E?.companyId??"",isPageIndependent:g}),N=g?"dashboard":n;if(_.length===0)return void Tc(`[Prefetch Provider - ${N}${g?" (base)":""}] No URLs to prefetch`);Tc(`[Prefetch Provider - ${N}${g?" (base)":""}] 📦 Generated ${_.length} URLs to prefetch`);const T=setTimeout((()=>{cAt(_,r,s).catch((P=>{eT(`[Prefetch Provider - ${N}${g?" (base)":""}] Prefetch failed:`,P)})),y(!0)}),l);return()=>clearTimeout(T)}),[c,x,A,i,n,u,p,$,I,R,E?.companyId,g,r,s,l,v.pathname]),m.useEffect((()=>{y(!1)}),[i,v.pathname]),m.useEffect((()=>{g||(y(!1),w(!1))}),[v.pathname,g]),m.useEffect((()=>{if(C.current&&(C.current(),C.current=null),!(c&&d&&A&&i)||b)return;Tc(`[Prefetch Provider - Idle] 👀 Setting up idle prefetch detection (timeout: ${h}ms)`);const _=(function(N){const{timeout:T=2e3,onIdle:P}=N;Tc(`[Idle Detection - Service Worker] 👀 Starting Idle Detection - Service Worker (timeout: ${T}ms)`);const L=()=>{VO&&(Tc("[Idle Detection - Service Worker] 🏃 User became active again"),VO=!1),NE&&clearTimeout(NE),NE=setTimeout((()=>{VO||(Tc("[Idle Detection - Service Worker] ⏱️ Browser is now IDLE"),VO=!0,P())}),T)},V=["mousedown","mousemove","keypress","scroll","touchstart","click"];return V.forEach((H=>{document.addEventListener(H,L,!0)})),L(),()=>{Tc("[Idle Detection - Service Worker] 🛑 Stopping Idle Detection - Service Worker"),NE&&(clearTimeout(NE),NE=null),V.forEach((H=>{document.removeEventListener(H,L,!0)})),VO=!1}})({timeout:h,onIdle:()=>{if(b)return;Tc("[Prefetch Provider - Idle] ⏱️ Browser is idle, fetching prefetch list with isIdleCallEnabled=true");const N=lAt({currentPage:n,userId:A.userId,tenantId:i,sessionId:A.zeniSessionId??"",features:u,forecastId:p,isRewardsFeatureEnabled:$,isPeopleTabVisible:I,isReportsPageVisible:R,companyId:E.companyId,isPageIndependent:g,isIdleCallEnabled:!0}),T=g?"dashboard":n;N.length!==0?(Tc(`[Prefetch Provider - Idle - ${T}${g?" (base)":""}] 📦 Generated ${N.length} URLs to prefetch on idle`),cAt(N,r,s).catch((P=>{eT(`[Prefetch Provider - Idle - ${T}${g?" (base)":""}] Idle prefetch failed:`,P)})),w(!0)):Tc(`[Prefetch Provider - Idle - ${T}${g?" (base)":""}] No URLs to prefetch on idle`)}});return C.current=_,()=>{C.current&&(C.current(),C.current=null)}}),[c,d,h,A,i,b,n,u,p,$,I,R,E.companyId,g,r,s]),m.useEffect((()=>{w(!1)}),[i]),m.useEffect((()=>{(function(){const _=performance.getEntriesByType("navigation");if(_.length>0)return _[0].type==="reload";const N=performance.navigation;return!(!N||typeof N.type!="number")&&N.type===1})()&&f&&(Tc("[Prefetch Provider] 🔄 Page refresh detected - will bypass cache for fresh data"),(async function(){if("serviceWorker"in navigator)try{const _=await navigator.serviceWorker.ready,N=navigator.serviceWorker.controller||_.active;if(!N)return;Tc("[Prefetch Provider] 🔄 Page refresh detected, notifying service worker to bypass cache"),N.postMessage({type:"PAGE_REFRESH",payload:{timestamp:Date.now()}})}catch(_){eT("[Prefetch Provider] Failed to notify service worker of refresh:",_)}})())}),[]),Zt.jsx(Zt.Fragment,{children:e})}function J9s({children:e,isPageIndependent:n=!1,batchCalls:i=0,enableIdlePrefetch:r=!1,expirationTime:s,idleTimeout:l=2e3,isRefreshTriggerEnabled:c=!1}){const d=d2(),u=qr((y=>xm(y))),p=(h=d.pathname).includes("/dashboard")?"dashboard":h.includes("/reports")||h.includes("/financials")?"reports":h.includes("/aging")?"aging":h.includes("/transactions")?"transactions":h.includes("/forecast")?"forecast":h.includes("/checking")||h.includes("/bank-accounts")?"checking":h.includes("/rewards")?"rewards":null;var h;const g=u.tenantId,{useFeatureGate:f}=us(),{isFeatureEnabled:x}=f(Gr.isServiceWorkerPrefetchingEnabled);return g&&p?Zt.jsx(Z9s,{currentPage:p,tenantId:g,delay:5e3,enabled:x,batchCalls:i,enableIdlePrefetch:r,expirationTime:s,idleTimeout:l,isRefreshTriggerEnabled:c,isPageIndependent:n,children:e}):Zt.jsx(Zt.Fragment,{children:e})}function X9s(e,n){const i=Bi.extractUtmParamsFromUrl(n),r=new URLSearchParams(i).toString();if(!r)return e;const s=e.includes("?")?"&":"?";return`${e}${s}${r}`}const e8s=Bm((()=>Md((()=>import("./DefaultTenantHome-COzEbzIO.js")),__vite__mapDeps([4,1,2,0,5,6,7,8])))),t8s=Bm((()=>Md((()=>import("./AppDrawer-CWthlF8n.js")),__vite__mapDeps([9,1,2,0,5,10,11,12,7,8])))),dAt=Bm((()=>Md((()=>import("./ScreenRoutes-CfEzduwn.js").then((e=>e.S))),__vite__mapDeps([13,0,1,2,5,14,6])))),n8s=Bm((()=>Md((()=>import("./ConnectionAuthScreen-Dat6_wbT.js")),__vite__mapDeps([15,1,2,0,5,16,17,10,11,18,8,19,20,21,22,23,24,6,7])))),i8s=Bm((()=>Md((()=>import("./SignInScreen-DE6DoKmD.js")),__vite__mapDeps([25,1,2,0,5,26,14,6,7,8])))),o8s=Bm((()=>Md((()=>import("./MagicLinkSignInScreen-B_zN3L0m.js")),__vite__mapDeps([27,1,2,0,5,26,14,6,7,8])))),uAt=Bm((()=>Md((()=>import("./NotFoundScreen-BG7wRKZX.js")),__vite__mapDeps([28,1,2,0,5,7,8])))),r8s=Bm((()=>Md((()=>import("./MagicLinkRoutes-CCEHT5BA.js")),__vite__mapDeps([29,1,2,0,5,28,7,8])))),a8s=Bm((()=>Md((()=>import("./PaymentLinkScreen-C1EeaAzl.js")),__vite__mapDeps([30,1,2,0,5,7,8])))),s8s=Bm((()=>Md((()=>import("./WiseConfirmationScreen-BnAAqPup.js")),__vite__mapDeps([31,1,2,0,5,7,8])))),l8s=Bm((()=>Md((()=>import("./HubSpotOAuthCallbackScreen-BRU2IAyD.js")),__vite__mapDeps([32,1,2,0,5,7,8])))),c8s=Bm((()=>Md((()=>import("./CustomerOnboardingAuthScreen-yyUnJxkm.js")),__vite__mapDeps([33,1,2,0,18,8,19,20,21,22,5,23,7])))),d8s=Bm((()=>Md((()=>import("./SignOutScreen-D9LIjKFn.js")),__vite__mapDeps([34,1,2,0,5,7,8])))),u8s=Bm((()=>Md((()=>import("./OAuthConsentScreen-BoC0mDLZ.js")),__vite__mapDeps([35,1,2,0,5,7,8])))),p8s=()=>{const e=d2(),n=new URLSearchParams(e.search),i=n.get("question"),r=i?.replace(/^["']|["']$/g,"")??null,s=n.get("should_submit")==="true",l=X9s("/",n);return Zt.jsx(DAt,{to:l,replace:!0,state:{origin:"/aicfo",message:"",queryParams:{aiCfoQuestion:r,aiCfoShouldSubmit:s?"true":"false"}}})};function h8s(){const{isOpen:e}=Mk(),n=jgi(),{isAiCfoOpen:i,setIsAiCfoOpen:r}=Lje(),s=m.useRef(!1),l=m.useRef(i),c=m.useRef(!1);return m.useLayoutEffect((()=>{const d=i&&!l.current;l.current=i,d&&e&&(r(!1),n(),c.current=!0)}),[i,e,r,n]),m.useEffect((()=>{e&&!s.current&&(c.current=!1,i&&r(!1)),s.current=e}),[e,i,r]),m.useEffect((()=>{!e&&c.current&&(c.current=!1,r(!0))}),[e,r]),null}const m8s=({tenantEmailDomain:e,setTenantEmailDomain:n})=>{const i=Br.isSignedIn(),r=qr((T=>xm(T))),s=Br.getSignedInUser(),l=i&&ON(s),c=qr((T=>Xdn(T))).tenantsBaseInOrder.map((T=>({companyId:T.companyId,tenantId:T.tenantId,companyName:T.companyName}))),d={userId:s?.userId??"",sessionId:s?.zeniSessionId??"",tenantId:r.tenantId??""},u=Kp(),p=ou(["/:tenantEmailDomain/dashboard/*","/:tenantEmailDomain/dashboard"]),h=Fan(),g=Nje(),[f,x]=m.useState(!1),[y,b]=m.useState(null),w=m.useMemo((()=>({isAiCfoOpen:f,setIsAiCfoOpen:x,aiCfoSidePanelQuestionToSubmit:y,setAiCfoSidePanelQuestionToSubmit:b})),[f,y,x,b]),{useFeatureGate:C}=us(),{isFeatureEnabled:v}=C(Gr.isAiCfoFileUploadEnabled),{isFeatureEnabled:A}=C(Gr.isBillPayCommentingEnabled),{isFeatureEnabled:S}=C(Gr.isReimbursementCommentingEnabled),{isFeatureEnabled:$}=C(Gr.isExpenseAutomationEnabled),{isFeatureEnabled:j}=C(Gr.isExpenseAutomationEnabledV2),{isFeatureEnabled:I}=C(Gr.isTreasuryCommentingEnabled),{isFeatureEnabled:E}=C(Gr.isCheckingCommentingEnabled),{isFeatureEnabled:D}=C(Gr.isTransactionCommentingEnabled),{isFeatureEnabled:B}=C(Gr.isCardsCommentingEnabled),F=A||S||l&&$||!l&&j||I||E||D||B;m.useEffect((()=>{!h&&f&&x(!1)}),[h,f]),m.useEffect((()=>{h||u(eun())}),[u,h]);const R=d2().pathname.includes("/collect-payment/"),_=Zt.jsx(g8s,{setTenantEmailDomain:n,isOnDashboard:p,userHasZeniAiCfoAccess:g,isAiCfoFileUploadEnabled:v});if(R)return Zt.jsx(jGe,{children:Zt.jsx(l5t,{children:Zt.jsx(A8e.Provider,{value:w,children:_})})});const N=Zt.jsxs(A8e.Provider,{value:w,children:[Zt.jsx(h8s,{}),Zt.jsxs(y8s,{children:[Zt.jsx(t8s,{tenantEmailDomain:e}),Zt.jsx(f8s,{children:_})]})]});return Zt.jsx(jGe,{children:r.tenantId!=null?Zt.jsx(H4a,{roomId:`dashboard_${r.companyId}`,authParams:d,users:[],companies:c,authUrlEndPoint:`${O8.tenantMicroServiceBaseUrl}/1.0/commenting/auth`,fetchZeniUsers:!0,commentingUsersUrlEndPoint:`${O8.tenantMicroServiceBaseUrl}/1.0/users/commenting-users`,isZeniUser:l,autoConnect:l||D||B,loggedInUser:s,withRoomProvider:!0,withThreadsProvider:F,threadsIndexStrategy:"roomThreads",filter:{application:"dashboard",companyId:r.companyId},children:N},r.tenantId):Zt.jsx(l5t,{children:N})})},g8s=({setTenantEmailDomain:e,isOnDashboard:n,userHasZeniAiCfoAccess:i,isAiCfoFileUploadEnabled:r})=>{const s=qr((x=>x.tenantState.loggedInUser)),{useDynamicConfig:l}=us(),{configValue:c}=l(J7.webappPrefetchConfig),d=typeof c.SERVICE_WORKER_BATCH_CALLS=="number"?c.SERVICE_WORKER_BATCH_CALLS:15,u=typeof c.SERVICE_WORKER_IDLE_TIMEOUT=="number"?c.SERVICE_WORKER_IDLE_TIMEOUT:3e3,p=typeof c.EXPIRATION_TIME=="number"&&c.EXPIRATION_TIME>0?c.EXPIRATION_TIME:12e5,{clearLoading:h}=Mje(),{isAiCfoOpen:g,setIsAiCfoOpen:f}=Lje();return m.useEffect((()=>{h(zan.APP_INITIALIZATION)}),[h]),Zt.jsx(m.Suspense,{fallback:null,children:Zt.jsx(J9s,{isPageIndependent:!0,batchCalls:d,isRefreshTriggerEnabled:!1,enableIdlePrefetch:!1,idleTimeout:u,expirationTime:p,children:Zt.jsxs(_sn,{children:[Zt.jsx(cp,{path:"/magic_links/*",element:Zt.jsx(r8s,{})}),Zt.jsx(cp,{path:"/collect-payment/:namespace/:token",element:Zt.jsx(a8s,{})}),Zt.jsx(cp,{path:"/wise/callback/link-account/*",element:Zt.jsx(s8s,{})}),Zt.jsx(cp,{path:"/page-not-found",element:Zt.jsx(uAt,{})}),Zt.jsx(cp,{path:"/",element:Zt.jsx(e8s,{})}),Zt.jsx(cp,{path:"/aicfo",element:Zt.jsx(p8s,{})}),Zt.jsx(cp,{path:"/onboarding/auth",element:Zt.jsx(c8s,{})}),Zt.jsx(cp,{path:"/:tenantEmailDomain/*",element:Zt.jsx(w8s,{children:Zt.jsxs(d9s,{children:[Zt.jsxs(C8s,{children:[s!=null?Zt.jsx(Q9s,{}):null,n?Zt.jsx(dAt,{setTenantEmailDomain:e}):Zt.jsx(z5e,{children:Zt.jsx(dAt,{setTenantEmailDomain:e})})]}),i?Zt.jsxs(Zt.Fragment,{children:[Zt.jsx(Vbs,{}),Zt.jsx(v8s,{isOpen:g,children:Zt.jsx(O9s,{isOpen:g,onClose:()=>f(!1),isFileUploadEnabled:r})})]}):null]})})}),Zt.jsx(cp,{path:"/signin/auth",element:Zt.jsx(z5e,{children:Zt.jsx(i8s,{setTenantEmailDomain:e})})}),Zt.jsx(cp,{path:"/signin/magic-link",element:Zt.jsx(z5e,{children:Zt.jsx(o8s,{})})}),Zt.jsx(cp,{path:"/signout",element:Zt.jsx(d8s,{})}),Zt.jsx(cp,{path:"/connection/auth",element:Zt.jsx(n8s,{})}),Zt.jsx(cp,{path:"/oauth/hubspot/callback",element:Zt.jsx(l8s,{})}),Zt.jsx(cp,{path:"/oauth/authorize",element:Zt.jsx(u8s,{})}),Zt.jsx(cp,{path:"*",element:Zt.jsx(uAt,{})})]})})})},f8s=({children:e})=>{const{isOpen:n,width:i}=Mk();return Zt.jsx(b8s,{commentsDrawerWidth:n?i:0,children:e})},x8s=di("div")`
90980
+ `,Q9s=()=>{const[e,n]=m.useState((()=>Br.getSignedInUser())),i=Kp(),[r,s]=m.useState(!1),[l,c]=m.useState(!1),d=qr((g=>PSt(g).fetchState)),u=qr((g=>xm(g)));m.useEffect((()=>{const g=e!=null&&e.authProvider==="email"&&(!e?.firstName||!e?.lastName||!e.phoneNumber);s(g)}),[e]);const p=m.useCallback((()=>{const g=Br.getSignedInUser();n((f=>JSON.stringify(f)!==JSON.stringify(g)?g:f))}),[]);m.useEffect((()=>(window.addEventListener("completeProfileDone",p),()=>{window.removeEventListener("completeProfileDone",p)})),[]),m.useEffect((()=>{u?.companyId!=null&&d==="Not-Started"&&i(Jdn(u.companyId))}),[d,u.companyId,i]);const h=m.useMemo((()=>!!e?.firstName&&!e?.phoneNumber),[e]);return Zt.jsxs(m.Fragment,{children:[l&&Zt.jsx(EAe,{showConfetti:!0}),e?.userEmail!=null&&e.authProvider==="email"?Zt.jsx(U9s,{userEmail:e.userEmail,isCompleteProfileOpen:r,closeDrawerHandler:()=>{s(!1),c(!0)},hasUserEnteredBasicDetails:h}):null]})},aAt="init-enter",Y9s=m.memo((function({location:e,visitedUrl:n}){const{pathname:i}=e;return m.useLayoutEffect((()=>{const r=n.get(i||aAt);G9s(r!==void 0?r:0)})),null}),((e,n)=>{const{location:i,visitedUrl:r}=e,{location:s}=n,l=i.pathname||aAt,c=q9s();return r.set(l,c),!((s.pathname!==i.pathname||s.search!==i.search)&&s.hash==="")})),G9s=(e=0)=>window.requestAnimationFrame((()=>{window.scrollTo(0,e)})),q9s=()=>{let e=0;return document!=null&&document.documentElement!==null&&(e=document.documentElement.scrollTop),window.pageYOffset||e},Bm=e=>m.lazy((async()=>{const n=e.toString(),i=Br.getForceRefreshedComponents(),r=new Set(i),s=Br.isSignedIn(),l=r.has(n);try{const c=await e();return r.delete(n),s&&Br.saveForceRefreshedComponents(Array.from(r)),c}catch(c){throw l||(r.add(n),s&&Br.saveForceRefreshedComponents(Array.from(r)),location.reload()),c}})),y$s=(e,n,i)=>{const r=M8e(e),s=rne(e),l=O8e(i,e);return(n||i||s||r||l)&&B8e(e.company)},dsn=globalThis.window?.location.href.startsWith("https://delhi-dot-zeni"),usn=globalThis.window?.location.href.startsWith("https://pune-dot-zeni"),psn=globalThis.window?.location.href.startsWith("https://sunnyvale-dot-zeni"),hsn=globalThis.window?.location.href.startsWith("https://dev.app.zeni.ai");function Tc(...e){const n=Mc==="DEV"||Mc==="QA";if(dsn||usn||psn||hsn)return void console.log(...e);const i=globalThis.window!==void 0&&(globalThis.window.location.hostname==="localhost"||globalThis.window.location.hostname==="127.0.0.1")&&globalThis.window.location.port==="3000";n&&i&&console.log(...e)}function eT(...e){const n=Mc==="DEV"||Mc==="QA";if(dsn||usn||psn||hsn)return void console.warn(...e);const i=globalThis.window!==void 0&&(globalThis.window.location.hostname==="localhost"||globalThis.window.location.hostname==="127.0.0.1")&&globalThis.window.location.port==="3000";n&&i&&console.warn(...e)}let NE=null,VO=!1;const Lc=Mc==="PROD"?"https://api.zeni.ai":Mc==="DEV"?"https://dev.api.zeni.ai":"https://qa.api.zeni.ai";function sAt(e){const n=encodeURIComponent(JSON.stringify({is_full_response:!0,time_series_groups:["months"]})),i=encodeURIComponent(JSON.stringify({is_full_response:!0,time_series_groups:["quarters"]})),r=encodeURIComponent(JSON.stringify({is_full_response:!0,time_series_groups:["years"]})),s=encodeURIComponent(JSON.stringify({is_full_response:!0,time_series_groups:["months"]})),l=encodeURIComponent(JSON.stringify({is_full_response:!0,time_series_groups:["quarters"]})),c=encodeURIComponent(JSON.stringify({is_full_response:!0,time_series_groups:["years"]})),d=encodeURIComponent(JSON.stringify({is_full_response:!0,time_series_groups:["months"]})),u=encodeURIComponent(JSON.stringify({is_full_response:!0,time_series_groups:["quarters"]})),p=encodeURIComponent(JSON.stringify({is_full_response:!0,time_series_groups:["years"]}));return[{url:`${Lc}/accounting/2.0/reports/profit_and_loss?query=${n}`,priority:"HIGH",reason:"Reports - Profit & Loss by Months (first load)",apiType:"reports"},{url:`${Lc}/accounting/2.0/reports/profit_and_loss?query=${i}`,priority:"HIGH",reason:"Reports - Profit & Loss by Quarters (first load)",apiType:"reports"},{url:`${Lc}/accounting/2.0/reports/profit_and_loss?query=${r}`,priority:"HIGH",reason:"Reports - Profit & Loss by Years (first load)",apiType:"reports"},{url:`${Lc}/accounting/2.0/reports/balance_sheet?query=${s}`,priority:"HIGH",reason:"Reports - Balance Sheet by Months (first load)",apiType:"reports"},{url:`${Lc}/accounting/2.0/reports/balance_sheet?query=${l}`,priority:"HIGH",reason:"Reports - Balance Sheet by Quarters (first load)",apiType:"reports"},{url:`${Lc}/accounting/2.0/reports/balance_sheet?query=${c}`,priority:"HIGH",reason:"Reports - Balance Sheet by Years (first load)",apiType:"reports"},{url:`${Lc}/accounting/2.0/reports/cash_flow?query=${d}`,priority:"HIGH",reason:"Reports - Cash Flow by Months (first load)",apiType:"reports"},{url:`${Lc}/accounting/2.0/reports/cash_flow?query=${u}`,priority:"HIGH",reason:"Reports - Cash Flow by Quarters (first load)",apiType:"reports"},{url:`${Lc}/accounting/2.0/reports/cash_flow?query=${p}`,priority:"HIGH",reason:"Reports - Cash Flow by Years (first load)",apiType:"reports"}]}const K9s={dashboard:function(e){return[...sAt()]},reports:sAt,aging:function(e){return[]},transactions:function(e){return[]},forecast:function(e){const n=encodeURIComponent(JSON.stringify({is_full_response:!0,time_series_groups:["months"],forecast_id:e.forecastId,is_forecast_vs_actual:!0})),i=encodeURIComponent(JSON.stringify({is_full_response:!0,time_series_groups:["quarters"],forecast_id:e.forecastId,is_forecast_vs_actual:!0})),r=encodeURIComponent(JSON.stringify({is_full_response:!0,time_series_groups:["years"],forecast_id:e.forecastId,is_forecast_vs_actual:!0}));return[{url:`${Lc}/accounting/2.0/reports/profit_and_loss?query=${n}`,priority:"HIGH",reason:"Forecast - Profit & Loss by Months (first load)",apiType:"forecast"},{url:`${Lc}/accounting/2.0/reports/profit_and_loss?query=${i}`,priority:"HIGH",reason:"Forecast - Profit & Loss by Quarters (first load)",apiType:"forecast"},{url:`${Lc}/accounting/2.0/reports/profit_and_loss?query=${r}`,priority:"HIGH",reason:"Forecast - Profit & Loss by Years (first load)",apiType:"forecast"}]},checking:function(e){const n=encodeURIComponent(JSON.stringify({is_include_deposit_accounts_summary:!0}));return[{url:`${Lc}/banking/1.0/deposit-accounts?query=${n}`,priority:"HIGH",reason:"Checking - Deposit Accounts (first load)",apiType:"checking"},{url:`${Lc}/pay/1.0/payment-accounts`,priority:"HIGH",reason:"Checking - Payment Accounts (first load)",apiType:"checking"},{url:`${Lc}/banking/1.0/baas/config`,priority:"HIGH",reason:"Checking - BAAS Config (first load)",apiType:"checking"}]},rewards:function(e){const n=encodeURIComponent(JSON.stringify({is_primary_refer_reward_plan:!0}));return[{url:`${Lc}/tenant/1.0/company-refer-reward-plan?query=${n}`,priority:"HIGH",reason:"Rewards Page - Rewards Plan (first load)",apiType:"rewards"},{url:`${Lc}/tenant/1.0/company-referrals`,priority:"HIGH",reason:"Rewards Page - Referrals (first load)",apiType:"rewards"}]},people:function(e){const n=encodeURIComponent(JSON.stringify({is_manager_candidate:!0})),{companyId:i}=e,r=encodeURIComponent(JSON.stringify({view:"passport"}));return[{url:`${Lc}/tenant/1.0/user-roles`,priority:"HIGH",reason:"People Page - User Roles (first load)",apiType:"people"},{url:`${Lc}/tenant/1.0/users?query=${n}`,priority:"HIGH",reason:"People Page - Users (first load)",apiType:"people"},{url:`${Lc}/accounting/1.0/classes`,priority:"HIGH",reason:"People Page - Classes (first load)",apiType:"people"},{url:`${Lc}/tenant/1.0/companies/${i}?query=${r}`,priority:"HIGH",reason:"People Page - Company Passport (first load)",apiType:"people"}]}};function lAt(e){const{currentPage:n,isRewardsFeatureEnabled:i,isPeopleTabVisible:r,isReportsPageVisible:s,isPageIndependent:l=!1}=e,c=(0,K9s[l?"dashboard":n])(e),d=c.filter((u=>i===!1&&u.reason.includes("Rewards")?(Tc(`[Prefetch Manager - Service Worker] ⚠️ Skipping rewards URL (feature disabled): ${u.url}`),!1):r===!1&&u.reason.includes("People")?(Tc(`[Prefetch Manager - Service Worker] ⚠️ Skipping people URL (feature disabled): ${u.url}`),!1):s!==!1||!u.reason.includes("Reports")||(Tc(`[Prefetch Manager - Service Worker] ⚠️ Skipping reports URL (feature disabled): ${u.url}`),!1)));return Tc(`[Prefetch Manager - Service Worker] 📋 Prefetch list: ${c.length} total, ${d.length} after filtering`),d}async function cAt(e,n=0,i){if("serviceWorker"in navigator)try{const r=await(async function(u=1e4){if(!("serviceWorker"in navigator))throw new Error("Service Worker not supported");if(navigator.serviceWorker.controller)return navigator.serviceWorker.ready;const p=await navigator.serviceWorker.ready;return navigator.serviceWorker.controller!=null?p:new Promise(((h,g)=>{const f=Date.now();let x=100;const y=()=>navigator.serviceWorker.controller?(C(),void h(p)):Date.now()-f>=u?(C(),void(p.active?(Tc("[Prefetch Manager - Service Worker] ⚠️ No controller but SW is active, proceeding anyway"),h(p)):g(new Error("Service Worker controller timeout")))):(x=Math.min(1.5*x,1e3),void(b=setTimeout(y,x)));let b;const w=()=>{navigator.serviceWorker.controller&&(C(),h(p))},C=()=>{clearTimeout(b),navigator.serviceWorker.removeEventListener("controllerchange",w)};navigator.serviceWorker.addEventListener("controllerchange",w),b=setTimeout(y,x)}))})(1e4),s=navigator.serviceWorker.controller||r.active;if(!s)return void eT("[Prefetch Manager - Service Worker] No active Service Worker available");const l=(function(u){const p={HIGH:0,MEDIUM:1,LOW:2};return u.sort(((h,g)=>p[h.priority]-p[g.priority]))})(e);Tc("[Prefetch Manager - Service Worker] 📋 Sending prefetch list to SW:",{total:l.length,high:l.filter((u=>u.priority==="HIGH")).length,medium:l.filter((u=>u.priority==="MEDIUM")).length,low:l.filter((u=>u.priority==="LOW")).length,batchSize:n>0?n:"disabled",expirationTime:i??"20 minutes",viaController:!!navigator.serviceWorker.controller}),l.forEach(((u,p)=>{Tc(`[Prefetch Manager - Service Worker] ${p+1}. [${u.priority}] ${u.reason} - ${u.url}`),Tc(` URL: ${u.url}`)}));const c=une(),d={"zeni-session-id":c.sessionId,"zeni-user-id":c.userId,"zeni-tenant-id":c.tenantId};s.postMessage({type:"PREFETCH_URLS",payload:{urls:l.map((u=>({url:u.url,priority:u.priority,apiType:u.apiType}))),authHeaders:d,batchSize:n,expirationTime:i}}),Tc("[Prefetch Manager - Service Worker] ✅ Prefetch request sent to Service Worker")}catch(r){eT("[Prefetch Manager - Service Worker] Failed to send prefetch request:",r instanceof Error?r.message:"Unknown error")}else eT("[Prefetch Manager - Service Worker] Service Worker not supported in this browser")}function Z9s({children:e,currentPage:n,tenantId:i,batchCalls:r=0,expirationTime:s,delay:l=1e3,enabled:c=!0,enableIdlePrefetch:d=!1,features:u,forecastId:p,idleTimeout:h=2e3,isPageIndependent:g=!1,isRefreshTriggerEnabled:f=!1}){const[x,y]=m.useState(!1),[b,w]=m.useState(!1),C=m.useRef(null),v=d2(),A=Br.getSignedInUser(),{useFeatureGate:S}=us(),{isFeatureEnabled:$}=S(Gr.isReferralFeatureEnabled),j=Dn(),I=l7(j?.loggedInUserRole??[]),E=qr((_=>xm(_))),{isFeatureEnabled:D}=S(Gr.isDebitCardFeatureEnabled),B=O8e(D,E),F=M8e(E),R=B===!1&&F===!1;return m.useEffect((()=>{if(!c||x||!A||!i)return;const _=lAt({currentPage:n,userId:A.userId,tenantId:i,sessionId:A.zeniSessionId??"",features:u,forecastId:p,isRewardsFeatureEnabled:$,isPeopleTabVisible:I,isReportsPageVisible:R,companyId:E?.companyId??"",isPageIndependent:g}),N=g?"dashboard":n;if(_.length===0)return void Tc(`[Prefetch Provider - ${N}${g?" (base)":""}] No URLs to prefetch`);Tc(`[Prefetch Provider - ${N}${g?" (base)":""}] 📦 Generated ${_.length} URLs to prefetch`);const T=setTimeout((()=>{cAt(_,r,s).catch((P=>{eT(`[Prefetch Provider - ${N}${g?" (base)":""}] Prefetch failed:`,P)})),y(!0)}),l);return()=>clearTimeout(T)}),[c,x,A,i,n,u,p,$,I,R,E?.companyId,g,r,s,l,v.pathname]),m.useEffect((()=>{y(!1)}),[i,v.pathname]),m.useEffect((()=>{g||(y(!1),w(!1))}),[v.pathname,g]),m.useEffect((()=>{if(C.current&&(C.current(),C.current=null),!(c&&d&&A&&i)||b)return;Tc(`[Prefetch Provider - Idle] 👀 Setting up idle prefetch detection (timeout: ${h}ms)`);const _=(function(N){const{timeout:T=2e3,onIdle:P}=N;Tc(`[Idle Detection - Service Worker] 👀 Starting Idle Detection - Service Worker (timeout: ${T}ms)`);const L=()=>{VO&&(Tc("[Idle Detection - Service Worker] 🏃 User became active again"),VO=!1),NE&&clearTimeout(NE),NE=setTimeout((()=>{VO||(Tc("[Idle Detection - Service Worker] ⏱️ Browser is now IDLE"),VO=!0,P())}),T)},V=["mousedown","mousemove","keypress","scroll","touchstart","click"];return V.forEach((H=>{document.addEventListener(H,L,!0)})),L(),()=>{Tc("[Idle Detection - Service Worker] 🛑 Stopping Idle Detection - Service Worker"),NE&&(clearTimeout(NE),NE=null),V.forEach((H=>{document.removeEventListener(H,L,!0)})),VO=!1}})({timeout:h,onIdle:()=>{if(b)return;Tc("[Prefetch Provider - Idle] ⏱️ Browser is idle, fetching prefetch list with isIdleCallEnabled=true");const N=lAt({currentPage:n,userId:A.userId,tenantId:i,sessionId:A.zeniSessionId??"",features:u,forecastId:p,isRewardsFeatureEnabled:$,isPeopleTabVisible:I,isReportsPageVisible:R,companyId:E.companyId,isPageIndependent:g,isIdleCallEnabled:!0}),T=g?"dashboard":n;N.length!==0?(Tc(`[Prefetch Provider - Idle - ${T}${g?" (base)":""}] 📦 Generated ${N.length} URLs to prefetch on idle`),cAt(N,r,s).catch((P=>{eT(`[Prefetch Provider - Idle - ${T}${g?" (base)":""}] Idle prefetch failed:`,P)})),w(!0)):Tc(`[Prefetch Provider - Idle - ${T}${g?" (base)":""}] No URLs to prefetch on idle`)}});return C.current=_,()=>{C.current&&(C.current(),C.current=null)}}),[c,d,h,A,i,b,n,u,p,$,I,R,E.companyId,g,r,s]),m.useEffect((()=>{w(!1)}),[i]),m.useEffect((()=>{(function(){const _=performance.getEntriesByType("navigation");if(_.length>0)return _[0].type==="reload";const N=performance.navigation;return!(!N||typeof N.type!="number")&&N.type===1})()&&f&&(Tc("[Prefetch Provider] 🔄 Page refresh detected - will bypass cache for fresh data"),(async function(){if("serviceWorker"in navigator)try{const _=await navigator.serviceWorker.ready,N=navigator.serviceWorker.controller||_.active;if(!N)return;Tc("[Prefetch Provider] 🔄 Page refresh detected, notifying service worker to bypass cache"),N.postMessage({type:"PAGE_REFRESH",payload:{timestamp:Date.now()}})}catch(_){eT("[Prefetch Provider] Failed to notify service worker of refresh:",_)}})())}),[]),Zt.jsx(Zt.Fragment,{children:e})}function J9s({children:e,isPageIndependent:n=!1,batchCalls:i=0,enableIdlePrefetch:r=!1,expirationTime:s,idleTimeout:l=2e3,isRefreshTriggerEnabled:c=!1}){const d=d2(),u=qr((y=>xm(y))),p=(h=d.pathname).includes("/dashboard")?"dashboard":h.includes("/reports")||h.includes("/financials")?"reports":h.includes("/aging")?"aging":h.includes("/transactions")?"transactions":h.includes("/forecast")?"forecast":h.includes("/checking")||h.includes("/bank-accounts")?"checking":h.includes("/rewards")?"rewards":null;var h;const g=u.tenantId,{useFeatureGate:f}=us(),{isFeatureEnabled:x}=f(Gr.isServiceWorkerPrefetchingEnabled);return g&&p?Zt.jsx(Z9s,{currentPage:p,tenantId:g,delay:5e3,enabled:x,batchCalls:i,enableIdlePrefetch:r,expirationTime:s,idleTimeout:l,isRefreshTriggerEnabled:c,isPageIndependent:n,children:e}):Zt.jsx(Zt.Fragment,{children:e})}function X9s(e,n){const i=Bi.extractUtmParamsFromUrl(n),r=new URLSearchParams(i).toString();if(!r)return e;const s=e.includes("?")?"&":"?";return`${e}${s}${r}`}const e8s=Bm((()=>Md((()=>import("./DefaultTenantHome-BIH8L2zP.js")),__vite__mapDeps([4,1,2,0,5,6,7,8])))),t8s=Bm((()=>Md((()=>import("./AppDrawer-C6RwU25A.js")),__vite__mapDeps([9,1,2,0,5,10,11,12,7,8])))),dAt=Bm((()=>Md((()=>import("./ScreenRoutes-D5MH9SH5.js").then((e=>e.S))),__vite__mapDeps([13,0,1,2,5,14,6])))),n8s=Bm((()=>Md((()=>import("./ConnectionAuthScreen-413EOD9J.js")),__vite__mapDeps([15,1,2,0,5,16,17,10,11,18,8,19,20,21,22,23,24,6,7])))),i8s=Bm((()=>Md((()=>import("./SignInScreen-CvFNfCth.js")),__vite__mapDeps([25,1,2,0,5,26,14,6,7,8])))),o8s=Bm((()=>Md((()=>import("./MagicLinkSignInScreen-DUzZyQDK.js")),__vite__mapDeps([27,1,2,0,5,26,14,6,7,8])))),uAt=Bm((()=>Md((()=>import("./NotFoundScreen-znPj3CVA.js")),__vite__mapDeps([28,1,2,0,5,7,8])))),r8s=Bm((()=>Md((()=>import("./MagicLinkRoutes-D8WmClD4.js")),__vite__mapDeps([29,1,2,0,5,28,7,8])))),a8s=Bm((()=>Md((()=>import("./PaymentLinkScreen-D586vchF.js")),__vite__mapDeps([30,1,2,0,5,7,8])))),s8s=Bm((()=>Md((()=>import("./WiseConfirmationScreen-DbcfT5oS.js")),__vite__mapDeps([31,1,2,0,5,7,8])))),l8s=Bm((()=>Md((()=>import("./HubSpotOAuthCallbackScreen-DPJHmsFd.js")),__vite__mapDeps([32,1,2,0,5,7,8])))),c8s=Bm((()=>Md((()=>import("./CustomerOnboardingAuthScreen-DGoLyCcj.js")),__vite__mapDeps([33,1,2,0,18,8,19,20,21,22,5,23,7])))),d8s=Bm((()=>Md((()=>import("./SignOutScreen-m-IPtY4_.js")),__vite__mapDeps([34,1,2,0,5,7,8])))),u8s=Bm((()=>Md((()=>import("./OAuthConsentScreen-dDQYvFle.js")),__vite__mapDeps([35,1,2,0,5,7,8])))),p8s=()=>{const e=d2(),n=new URLSearchParams(e.search),i=n.get("question"),r=i?.replace(/^["']|["']$/g,"")??null,s=n.get("should_submit")==="true",l=X9s("/",n);return Zt.jsx(DAt,{to:l,replace:!0,state:{origin:"/aicfo",message:"",queryParams:{aiCfoQuestion:r,aiCfoShouldSubmit:s?"true":"false"}}})};function h8s(){const{isOpen:e}=Mk(),n=jgi(),{isAiCfoOpen:i,setIsAiCfoOpen:r}=Lje(),s=m.useRef(!1),l=m.useRef(i),c=m.useRef(!1);return m.useLayoutEffect((()=>{const d=i&&!l.current;l.current=i,d&&e&&(r(!1),n(),c.current=!0)}),[i,e,r,n]),m.useEffect((()=>{e&&!s.current&&(c.current=!1,i&&r(!1)),s.current=e}),[e,i,r]),m.useEffect((()=>{!e&&c.current&&(c.current=!1,r(!0))}),[e,r]),null}const m8s=({tenantEmailDomain:e,setTenantEmailDomain:n})=>{const i=Br.isSignedIn(),r=qr((T=>xm(T))),s=Br.getSignedInUser(),l=i&&ON(s),c=qr((T=>Xdn(T))).tenantsBaseInOrder.map((T=>({companyId:T.companyId,tenantId:T.tenantId,companyName:T.companyName}))),d={userId:s?.userId??"",sessionId:s?.zeniSessionId??"",tenantId:r.tenantId??""},u=Kp(),p=ou(["/:tenantEmailDomain/dashboard/*","/:tenantEmailDomain/dashboard"]),h=Fan(),g=Nje(),[f,x]=m.useState(!1),[y,b]=m.useState(null),w=m.useMemo((()=>({isAiCfoOpen:f,setIsAiCfoOpen:x,aiCfoSidePanelQuestionToSubmit:y,setAiCfoSidePanelQuestionToSubmit:b})),[f,y,x,b]),{useFeatureGate:C}=us(),{isFeatureEnabled:v}=C(Gr.isAiCfoFileUploadEnabled),{isFeatureEnabled:A}=C(Gr.isBillPayCommentingEnabled),{isFeatureEnabled:S}=C(Gr.isReimbursementCommentingEnabled),{isFeatureEnabled:$}=C(Gr.isExpenseAutomationEnabled),{isFeatureEnabled:j}=C(Gr.isExpenseAutomationEnabledV2),{isFeatureEnabled:I}=C(Gr.isTreasuryCommentingEnabled),{isFeatureEnabled:E}=C(Gr.isCheckingCommentingEnabled),{isFeatureEnabled:D}=C(Gr.isTransactionCommentingEnabled),{isFeatureEnabled:B}=C(Gr.isCardsCommentingEnabled),F=A||S||l&&$||!l&&j||I||E||D||B;m.useEffect((()=>{!h&&f&&x(!1)}),[h,f]),m.useEffect((()=>{h||u(eun())}),[u,h]);const R=d2().pathname.includes("/collect-payment/"),_=Zt.jsx(g8s,{setTenantEmailDomain:n,isOnDashboard:p,userHasZeniAiCfoAccess:g,isAiCfoFileUploadEnabled:v});if(R)return Zt.jsx(jGe,{children:Zt.jsx(l5t,{children:Zt.jsx(A8e.Provider,{value:w,children:_})})});const N=Zt.jsxs(A8e.Provider,{value:w,children:[Zt.jsx(h8s,{}),Zt.jsxs(y8s,{children:[Zt.jsx(t8s,{tenantEmailDomain:e}),Zt.jsx(f8s,{children:_})]})]});return Zt.jsx(jGe,{children:r.tenantId!=null?Zt.jsx(H4a,{roomId:`dashboard_${r.companyId}`,authParams:d,users:[],companies:c,authUrlEndPoint:`${O8.tenantMicroServiceBaseUrl}/1.0/commenting/auth`,fetchZeniUsers:!0,commentingUsersUrlEndPoint:`${O8.tenantMicroServiceBaseUrl}/1.0/users/commenting-users`,isZeniUser:l,autoConnect:l||D||B,loggedInUser:s,withRoomProvider:!0,withThreadsProvider:F,threadsIndexStrategy:"roomThreads",filter:{application:"dashboard",companyId:r.companyId},children:N},r.tenantId):Zt.jsx(l5t,{children:N})})},g8s=({setTenantEmailDomain:e,isOnDashboard:n,userHasZeniAiCfoAccess:i,isAiCfoFileUploadEnabled:r})=>{const s=qr((x=>x.tenantState.loggedInUser)),{useDynamicConfig:l}=us(),{configValue:c}=l(J7.webappPrefetchConfig),d=typeof c.SERVICE_WORKER_BATCH_CALLS=="number"?c.SERVICE_WORKER_BATCH_CALLS:15,u=typeof c.SERVICE_WORKER_IDLE_TIMEOUT=="number"?c.SERVICE_WORKER_IDLE_TIMEOUT:3e3,p=typeof c.EXPIRATION_TIME=="number"&&c.EXPIRATION_TIME>0?c.EXPIRATION_TIME:12e5,{clearLoading:h}=Mje(),{isAiCfoOpen:g,setIsAiCfoOpen:f}=Lje();return m.useEffect((()=>{h(zan.APP_INITIALIZATION)}),[h]),Zt.jsx(m.Suspense,{fallback:null,children:Zt.jsx(J9s,{isPageIndependent:!0,batchCalls:d,isRefreshTriggerEnabled:!1,enableIdlePrefetch:!1,idleTimeout:u,expirationTime:p,children:Zt.jsxs(_sn,{children:[Zt.jsx(cp,{path:"/magic_links/*",element:Zt.jsx(r8s,{})}),Zt.jsx(cp,{path:"/collect-payment/:namespace/:token",element:Zt.jsx(a8s,{})}),Zt.jsx(cp,{path:"/wise/callback/link-account/*",element:Zt.jsx(s8s,{})}),Zt.jsx(cp,{path:"/page-not-found",element:Zt.jsx(uAt,{})}),Zt.jsx(cp,{path:"/",element:Zt.jsx(e8s,{})}),Zt.jsx(cp,{path:"/aicfo",element:Zt.jsx(p8s,{})}),Zt.jsx(cp,{path:"/onboarding/auth",element:Zt.jsx(c8s,{})}),Zt.jsx(cp,{path:"/:tenantEmailDomain/*",element:Zt.jsx(w8s,{children:Zt.jsxs(d9s,{children:[Zt.jsxs(C8s,{children:[s!=null?Zt.jsx(Q9s,{}):null,n?Zt.jsx(dAt,{setTenantEmailDomain:e}):Zt.jsx(z5e,{children:Zt.jsx(dAt,{setTenantEmailDomain:e})})]}),i?Zt.jsxs(Zt.Fragment,{children:[Zt.jsx(Vbs,{}),Zt.jsx(v8s,{isOpen:g,children:Zt.jsx(O9s,{isOpen:g,onClose:()=>f(!1),isFileUploadEnabled:r})})]}):null]})})}),Zt.jsx(cp,{path:"/signin/auth",element:Zt.jsx(z5e,{children:Zt.jsx(i8s,{setTenantEmailDomain:e})})}),Zt.jsx(cp,{path:"/signin/magic-link",element:Zt.jsx(z5e,{children:Zt.jsx(o8s,{})})}),Zt.jsx(cp,{path:"/signout",element:Zt.jsx(d8s,{})}),Zt.jsx(cp,{path:"/connection/auth",element:Zt.jsx(n8s,{})}),Zt.jsx(cp,{path:"/oauth/hubspot/callback",element:Zt.jsx(l8s,{})}),Zt.jsx(cp,{path:"/oauth/authorize",element:Zt.jsx(u8s,{})}),Zt.jsx(cp,{path:"*",element:Zt.jsx(uAt,{})})]})})})},f8s=({children:e})=>{const{isOpen:n,width:i}=Mk();return Zt.jsx(b8s,{commentsDrawerWidth:n?i:0,children:e})},x8s=di("div")`
90981
90981
  display:flex;
90982
90982
  `,y8s=di("div")`
90983
90983
  display: flex;