@passflow/react 0.0.1 → 0.2.0

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 (106) hide show
  1. package/dist/index.cjs.js +4 -4
  2. package/dist/index.cjs.js.map +1 -1
  3. package/dist/index.es.js +1440 -119
  4. package/dist/index.es.js.map +1 -1
  5. package/dist/src/components/flow/index.d.ts +1 -0
  6. package/dist/src/components/flow/index.d.ts.map +1 -1
  7. package/dist/src/components/flow/passflow/index.d.ts +1 -1
  8. package/dist/src/components/flow/passflow/index.d.ts.map +1 -1
  9. package/dist/src/components/flow/two-factor-setup/index.d.ts +10 -0
  10. package/dist/src/components/flow/two-factor-setup/index.d.ts.map +1 -0
  11. package/dist/src/components/flow/two-factor-setup-magic-link/index.d.ts +35 -0
  12. package/dist/src/components/flow/two-factor-setup-magic-link/index.d.ts.map +1 -0
  13. package/dist/src/components/flow/two-factor-verify/index.d.ts +10 -0
  14. package/dist/src/components/flow/two-factor-verify/index.d.ts.map +1 -0
  15. package/dist/src/components/form/index.d.ts +2 -0
  16. package/dist/src/components/form/index.d.ts.map +1 -1
  17. package/dist/src/components/form/invitation-join/index.d.ts +1 -1
  18. package/dist/src/components/form/invitation-join/index.d.ts.map +1 -1
  19. package/dist/src/components/form/reset-password/index.d.ts.map +1 -1
  20. package/dist/src/components/form/signin/index.d.ts +2 -1
  21. package/dist/src/components/form/signin/index.d.ts.map +1 -1
  22. package/dist/src/components/form/signup/index.d.ts +1 -1
  23. package/dist/src/components/form/signup/index.d.ts.map +1 -1
  24. package/dist/src/components/form/two-factor-setup/index.d.ts +2 -0
  25. package/dist/src/components/form/two-factor-setup/index.d.ts.map +1 -0
  26. package/dist/src/components/form/two-factor-setup/two-factor-setup-form.d.ts +9 -0
  27. package/dist/src/components/form/two-factor-setup/two-factor-setup-form.d.ts.map +1 -0
  28. package/dist/src/components/form/two-factor-verify/index.d.ts +3 -0
  29. package/dist/src/components/form/two-factor-verify/index.d.ts.map +1 -0
  30. package/dist/src/components/form/two-factor-verify/two-factor-recovery-form.d.ts +11 -0
  31. package/dist/src/components/form/two-factor-verify/two-factor-recovery-form.d.ts.map +1 -0
  32. package/dist/src/components/form/two-factor-verify/two-factor-verify-form.d.ts +14 -0
  33. package/dist/src/components/form/two-factor-verify/two-factor-verify-form.d.ts.map +1 -0
  34. package/dist/src/components/form/verify-challenge/{varify-challenge-otp-redirect.d.ts → verify-challenge-otp-redirect.d.ts} +1 -1
  35. package/dist/src/components/form/verify-challenge/{varify-challenge-otp-redirect.d.ts.map → verify-challenge-otp-redirect.d.ts.map} +1 -1
  36. package/dist/src/components/form/verify-challenge/{varify-challenge-success.d.ts → verify-challenge-success.d.ts} +1 -1
  37. package/dist/src/components/form/verify-challenge/verify-challenge-success.d.ts.map +1 -0
  38. package/dist/src/components/provider/passflow-provider.d.ts.map +1 -1
  39. package/dist/src/context/passflow-context.d.ts +2 -0
  40. package/dist/src/context/passflow-context.d.ts.map +1 -1
  41. package/dist/src/context/router-context.d.ts +12 -0
  42. package/dist/src/context/router-context.d.ts.map +1 -1
  43. package/dist/src/hocs/with-error.d.ts +1 -1
  44. package/dist/src/hocs/with-error.d.ts.map +1 -1
  45. package/dist/src/hooks/index.d.ts +5 -0
  46. package/dist/src/hooks/index.d.ts.map +1 -1
  47. package/dist/src/hooks/use-app-settings.d.ts.map +1 -1
  48. package/dist/src/hooks/use-passflow-store.d.ts.map +1 -1
  49. package/dist/src/hooks/use-signin.d.ts.map +1 -1
  50. package/dist/src/hooks/use-two-factor-manage.d.ts +15 -0
  51. package/dist/src/hooks/use-two-factor-manage.d.ts.map +1 -0
  52. package/dist/src/hooks/use-two-factor-setup-magic-link.d.ts +55 -0
  53. package/dist/src/hooks/use-two-factor-setup-magic-link.d.ts.map +1 -0
  54. package/dist/src/hooks/use-two-factor-setup.d.ts +18 -0
  55. package/dist/src/hooks/use-two-factor-setup.d.ts.map +1 -0
  56. package/dist/src/hooks/use-two-factor-status.d.ts +13 -0
  57. package/dist/src/hooks/use-two-factor-status.d.ts.map +1 -0
  58. package/dist/src/hooks/use-two-factor-verify.d.ts +18 -0
  59. package/dist/src/hooks/use-two-factor-verify.d.ts.map +1 -0
  60. package/dist/src/test/setup.d.ts +1 -0
  61. package/dist/src/test/setup.d.ts.map +1 -0
  62. package/dist/src/test/utils/render.d.ts +4 -0
  63. package/dist/src/test/utils/render.d.ts.map +1 -0
  64. package/dist/src/test/utils/test-passflow.d.ts +6 -0
  65. package/dist/src/test/utils/test-passflow.d.ts.map +1 -0
  66. package/dist/src/types/index.d.ts +1 -0
  67. package/dist/src/types/index.d.ts.map +1 -1
  68. package/dist/src/types/two-factor-errors.d.ts +14 -0
  69. package/dist/src/types/two-factor-errors.d.ts.map +1 -0
  70. package/dist/src/utils/classify-two-factor-error.d.ts +13 -0
  71. package/dist/src/utils/classify-two-factor-error.d.ts.map +1 -0
  72. package/dist/src/utils/{cn/index.d.ts → cn.d.ts} +1 -1
  73. package/dist/src/utils/cn.d.ts.map +1 -0
  74. package/dist/src/utils/{get-app-version/index.d.ts → get-app-version.d.ts} +1 -1
  75. package/dist/src/utils/get-app-version.d.ts.map +1 -0
  76. package/dist/src/utils/{get-auth-methods/index.d.ts → get-auth-methods.d.ts} +1 -1
  77. package/dist/src/utils/get-auth-methods.d.ts.map +1 -0
  78. package/dist/src/utils/{get-form-labels/index.d.ts → get-form-labels.d.ts} +3 -3
  79. package/dist/src/utils/get-form-labels.d.ts.map +1 -0
  80. package/dist/src/utils/{get-url-errors/index.d.ts → get-url-errors.d.ts} +1 -1
  81. package/dist/src/utils/get-url-errors.d.ts.map +1 -0
  82. package/dist/src/utils/get-url-with-tokens.d.ts +4 -0
  83. package/dist/src/utils/get-url-with-tokens.d.ts.map +1 -0
  84. package/dist/src/utils/index.d.ts +3 -1
  85. package/dist/src/utils/index.d.ts.map +1 -1
  86. package/dist/src/utils/two-factor-loop-prevention.d.ts +40 -0
  87. package/dist/src/utils/two-factor-loop-prevention.d.ts.map +1 -0
  88. package/dist/src/utils/{undefined-on-catch/index.d.ts → undefined-on-catch.d.ts} +1 -1
  89. package/dist/src/utils/undefined-on-catch.d.ts.map +1 -0
  90. package/dist/src/utils/{url-params/index.d.ts → url-params.d.ts} +1 -1
  91. package/dist/src/utils/url-params.d.ts.map +1 -0
  92. package/dist/src/utils/{validate-url/index.d.ts → validate-url.d.ts} +1 -1
  93. package/dist/src/utils/validate-url.d.ts.map +1 -0
  94. package/dist/style.css +1 -1
  95. package/package.json +31 -31
  96. package/dist/src/components/form/verify-challenge/varify-challenge-success.d.ts.map +0 -1
  97. package/dist/src/utils/cn/index.d.ts.map +0 -1
  98. package/dist/src/utils/get-app-version/index.d.ts.map +0 -1
  99. package/dist/src/utils/get-auth-methods/index.d.ts.map +0 -1
  100. package/dist/src/utils/get-form-labels/index.d.ts.map +0 -1
  101. package/dist/src/utils/get-url-errors/index.d.ts.map +0 -1
  102. package/dist/src/utils/get-url-with-tokens/index.d.ts +0 -3
  103. package/dist/src/utils/get-url-with-tokens/index.d.ts.map +0 -1
  104. package/dist/src/utils/undefined-on-catch/index.d.ts.map +0 -1
  105. package/dist/src/utils/url-params/index.d.ts.map +0 -1
  106. package/dist/src/utils/validate-url/index.d.ts.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cn.d.ts","sourceRoot":"","sources":["../../../src/utils/cn.ts"],"names":[],"mappings":"AAAA,OAAa,EAAE,KAAK,UAAU,EAAE,MAAM,MAAM,CAAC;AAG7C,eAAO,MAAM,EAAE,GAAI,GAAG,SAAS,UAAU,EAAE,WAA2B,CAAC"}
@@ -4,4 +4,4 @@ declare global {
4
4
  }
5
5
  }
6
6
  export {};
7
- //# sourceMappingURL=index.d.ts.map
7
+ //# sourceMappingURL=get-app-version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-app-version.d.ts","sourceRoot":"","sources":["../../../src/utils/get-app-version.ts"],"names":[],"mappings":"AAEA,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,uBAAuB,EAAE,MAAM,IAAI,CAAC;KACrC;CACF"}
@@ -27,4 +27,4 @@ export type AuthMethods = {
27
27
  hasSignInUsernameMethods: boolean;
28
28
  };
29
29
  export declare const getAuthMethods: (strategies?: AuthStrategies[]) => AuthMethods;
30
- //# sourceMappingURL=index.d.ts.map
30
+ //# sourceMappingURL=get-auth-methods.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-auth-methods.d.ts","sourceRoot":"","sources":["../../../src/utils/get-auth-methods.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAiC,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG/F,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE;QACR,QAAQ,EAAE;YACR,QAAQ,EAAE,OAAO,CAAC;SACnB,CAAC;QACF,KAAK,EAAE;YACL,QAAQ,EAAE,OAAO,CAAC;YAClB,GAAG,EAAE,OAAO,CAAC;YACb,SAAS,EAAE,OAAO,CAAC;SACpB,CAAC;QACF,KAAK,EAAE;YACL,QAAQ,EAAE,OAAO,CAAC;YAClB,GAAG,EAAE,OAAO,CAAC;YACb,SAAS,EAAE,OAAO,CAAC;SACpB,CAAC;KACH,CAAC;IACF,GAAG,EAAE;QACH,SAAS,EAAE,SAAS,EAAE,CAAC;KACxB,CAAC;IACF,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,OAAO,CAAC;IACzB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,eAAe,EAAE,OAAO,CAAC;IACzB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,wBAAwB,EAAE,OAAO,CAAC;CACnC,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,aAAa,cAAc,EAAE,KAAG,WA8E9D,CAAC"}
@@ -1,10 +1,10 @@
1
- import { DefaultMethod } from '../../types';
1
+ import { DefaultMethod } from '../types';
2
2
  import { InternalStrategyChallenge } from '@passflow/core';
3
- import { AuthMethods } from '../get-auth-methods';
3
+ import { AuthMethods } from './get-auth-methods';
4
4
  export declare const getIdentityLabel: (methods: AuthMethods, type: "label" | "button") => "Email or username" | "Use email or username" | "Email" | "Use email" | "Username" | "Use username" | null;
5
5
  export declare const getPasswordlessData: (methods: AuthMethods, currentMethod: DefaultMethod | null) => {
6
6
  label: string;
7
7
  challengeType: InternalStrategyChallenge;
8
8
  } | null;
9
9
  export declare const getValidationErrorsLabel: (methods: AuthMethods) => "Email or username is required" | "Email is required" | "Username is required" | "Field is required";
10
- //# sourceMappingURL=index.d.ts.map
10
+ //# sourceMappingURL=get-form-labels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-form-labels.d.ts","sourceRoot":"","sources":["../../../src/utils/get-form-labels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAGhE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,eAAO,MAAM,gBAAgB,GAAI,SAAS,WAAW,EAAE,MAAM,OAAO,GAAG,QAAQ,+GAO9E,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,SAAS,WAAW,EACpB,eAAe,aAAa,GAAG,IAAI,KAClC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,yBAAyB,CAAA;CAAE,GAAG,IAYhE,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,SAAS,WAAW,yGAM5D,CAAC"}
@@ -2,4 +2,4 @@ export declare const getUrlErrors: (subUrl?: string) => {
2
2
  error: string | null;
3
3
  message: string | null;
4
4
  };
5
- //# sourceMappingURL=index.d.ts.map
5
+ //# sourceMappingURL=get-url-errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-url-errors.d.ts","sourceRoot":"","sources":["../../../src/utils/get-url-errors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,GAAI,SAAS,MAAM;;;CAM3C,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Passflow } from '@passflow/core';
2
+ export type TokenUrlFormat = 'query' | 'hash';
3
+ export declare const getUrlWithTokens: (passflow: Passflow, url: string, format?: TokenUrlFormat) => Promise<string>;
4
+ //# sourceMappingURL=get-url-with-tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-url-with-tokens.d.ts","sourceRoot":"","sources":["../../../src/utils/get-url-with-tokens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,MAAM,CAAC;AAE9C,eAAO,MAAM,gBAAgB,GAAU,UAAU,QAAQ,EAAE,KAAK,MAAM,EAAE,SAAQ,cAAuB,KAAG,OAAO,CAAC,MAAM,CAmBvH,CAAC"}
@@ -1,6 +1,6 @@
1
1
  export * from './validation-schemas';
2
2
  export { isValidUrl } from './validate-url';
3
- export { getUrlWithTokens } from './get-url-with-tokens';
3
+ export { getUrlWithTokens, type TokenUrlFormat } from './get-url-with-tokens';
4
4
  export * from './dayjs';
5
5
  export { cn } from './cn';
6
6
  export { undefinedOnCatch } from './undefined-on-catch';
@@ -8,4 +8,6 @@ export { getAuthMethods, type AuthMethods } from './get-auth-methods';
8
8
  export { getIdentityLabel, getPasswordlessData, getValidationErrorsLabel } from './get-form-labels';
9
9
  export { useUrlParams } from './url-params';
10
10
  export { getUrlErrors } from './get-url-errors';
11
+ export { classifyTwoFactorError, getUserFriendlyErrorMessage } from './classify-two-factor-error';
12
+ export { TwoFactorLoopPrevention } from './two-factor-loop-prevention';
11
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AACpG,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC9E,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AACpG,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAClG,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Loop prevention for 2FA redirect cycles
3
+ */
4
+ export declare const TwoFactorLoopPrevention: {
5
+ /**
6
+ * Check if redirect should be allowed
7
+ * @returns true if redirect is safe, false if loop detected
8
+ */
9
+ canRedirect(): boolean;
10
+ /**
11
+ * Increment redirect counter
12
+ */
13
+ incrementRedirect(): void;
14
+ /**
15
+ * Get current redirect count
16
+ */
17
+ getRedirectCount(): number;
18
+ /**
19
+ * Reset redirect counter (call on successful auth)
20
+ */
21
+ reset(): void;
22
+ /**
23
+ * Track last error type to detect repeated errors
24
+ */
25
+ setLastErrorType(errorType: string): void;
26
+ /**
27
+ * Get last error type
28
+ */
29
+ getLastErrorType(): string | null;
30
+ /**
31
+ * Check if same error is repeating
32
+ */
33
+ isRepeatingError(errorType: string): boolean;
34
+ /**
35
+ * Get user-friendly message when loop is detected
36
+ */
37
+ getLoopDetectedMessage(): string;
38
+ };
39
+ export default TwoFactorLoopPrevention;
40
+ //# sourceMappingURL=two-factor-loop-prevention.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"two-factor-loop-prevention.d.ts","sourceRoot":"","sources":["../../../src/utils/two-factor-loop-prevention.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,eAAO,MAAM,uBAAuB;IAClC;;;OAGG;mBACY,OAAO;IAUtB;;OAEG;yBACkB,IAAI;IASzB;;OAEG;wBACiB,MAAM;IAS1B;;OAEG;aACM,IAAI;IASb;;OAEG;gCACyB,MAAM,GAAG,IAAI;IAQzC;;OAEG;wBACiB,MAAM,GAAG,IAAI;IAQjC;;OAEG;gCACyB,MAAM,GAAG,OAAO;IAK5C;;OAEG;8BACuB,MAAM;CAGjC,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
@@ -1,2 +1,2 @@
1
1
  export declare function undefinedOnCatch<T, K>(fn: (t: K) => T): (t: K) => T | undefined;
2
- //# sourceMappingURL=index.d.ts.map
2
+ //# sourceMappingURL=undefined-on-catch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"undefined-on-catch.d.ts","sourceRoot":"","sources":["../../../src/utils/undefined-on-catch.ts"],"names":[],"mappings":"AAAA,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,SAAS,CAQ/E"}
@@ -11,4 +11,4 @@ export declare const useUrlParams: <T extends Record<string, string>>(defaultVal
11
11
  get: (key: string) => string | null;
12
12
  set: (params: Record<string, string>) => void;
13
13
  };
14
- //# sourceMappingURL=index.d.ts.map
14
+ //# sourceMappingURL=url-params.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url-params.d.ts","sourceRoot":"","sources":["../../../src/utils/url-params.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,gBAAgB,CAAC;;eAuC5D,MAAM;kBASH,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAoB5C,CAAC"}
@@ -1,2 +1,2 @@
1
1
  export declare const isValidUrl: (url: string) => boolean;
2
- //# sourceMappingURL=index.d.ts.map
2
+ //# sourceMappingURL=validate-url.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-url.d.ts","sourceRoot":"","sources":["../../../src/utils/validate-url.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,KAAG,OAOxC,CAAC"}
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- @import"https://fonts.googleapis.com/css2?family=Gasoek+One&family=Inter:opsz,wght@14..32,100..900&display=swap";[class*=passflow-]{border:0;box-sizing:border-box;font:inherit;margin:0;padding:0;vertical-align:baseline}.passflow-article,.passflow-aside,.passflow-details,.passflow-figcaption,.passflow-figure,.passflow-footer,.passflow-header,.passflow-hgroup,.passflow-menu,.passflow-nav,.passflow-section{display:block}html{font-size:16px;scroll-behavior:smooth}body{line-height:1.5;min-height:100vh;text-rendering:optimizeSpeed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.passflow-list{list-style:none}.passflow-link{color:inherit;text-decoration:none}.passflow-canvas,.passflow-image,.passflow-picture,.passflow-svg,.passflow-video{display:block;max-width:100%}.passflow-button{background:none;border:none;padding:0}.passflow-button,.passflow-input,.passflow-select,.passflow-textarea{color:inherit;font:inherit}.passflow-table{border-collapse:collapse;border-spacing:0}@media (prefers-reduced-motion:reduce){[class*=passflow-]{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}body,html{box-sizing:border-box;margin:0;padding:0}:root{--passflow-primary:#0c59dd;--passflow-primary-dark:#0a47b1;--passflow-warning:#d85d5d;--passflow-warning-dark:#b14d4d;--passflow-dark:#1e1e1e;--passflow-dark-two:#2e2e2e;--passflow-dark-three:#3e3e3e;--passflow-white:#fff;--passflow-grey-one:#7f7f7f;--passflow-grey-two:#bfbfbf;--passflow-grey-three:#e9eaf0;--passflow-grey-four:#f3f5f7;--passflow-background:#f8f9fb;--passflow-success:#4cb782;--passflow-primary-color:var(--passflow-primary);--passflow-text-color:var(--passflow-dark);--passflow-secondary-text-color:var(--passflow-grey-one);--passflow-button-text-color:var(--passflow-white);--passflow-background-color:var(--passflow-white);--passflow-background-image:url();--passflow-card-color:var(--passflow-white);--passflow-input-background-color:var(--passflow-grey-four);--passflow-input-border-color:var(--passflow-grey-four);--passflow-passkey-button-text-color:var(--passflow-white);--passflow-passkey-button-background-color:var(--passflow-dark);--passflow-divider-color:var(--passflow-grey-three);--passflow-federated_button_background_color:var(--passflow-background);--passflow-federated_button_text_color:var(--passflow-dark);--passflow-h1:2rem;--passflow-h2:1.5rem;--passflow-body-1:1rem;--passflow-body-2:13px;--passflow-caption:12px;--passflow-normal:400;--passflow-medium:500;--passflow-semibold:600;--passflow-bold:700;--passflow-spacing-1:4px;--passflow-spacing-2:8px;--passflow-spacing-3:12px;--passflow-spacing-4:16px;--passflow-spacing-5:20px;--passflow-spacing-6:24px}#passflow-wrapper{font-family:Inter,sans-serif;min-height:100vh;width:100%;-webkit-font-smoothing:antialiased;box-sizing:border-box;overflow-x:hidden}.passflow-wrapper{background-color:var(--passflow-background-color);background-image:var(--passflow-background-image);background-position:50%;background-repeat:no-repeat;background-size:cover;color:var(--passflow-text-color);height:100vh;position:relative;width:100vw}.passflow-heading{color:var(--passflow-text-color);font-size:var(--passflow-h1);font-weight:600;margin-bottom:var(--passflow-spacing-4)}.passflow-text{color:var(--passflow-text-color);font-size:var(--passflow-body-1);line-height:1.5}.passflow-secondary-text{color:var(--passflow-secondary-text-color);font-size:var(--passflow-body-2)}.passflow-secondary-font{font-family:Gasoek One,sans-serif;font-style:normal}.passflow-button{align-items:center;border-radius:4px;cursor:pointer;display:inline-flex;font-size:var(--passflow-body-2);font-weight:500;justify-content:center;overflow:hidden;padding:var(--passflow-spacing-3) var(--passflow-spacing-6);position:relative;transition:all .2s}.passflow-button:focus-visible{outline:none}.passflow-button--primary{background-color:var(--passflow-primary-color);box-shadow:0 3px 15px #0c59dd59;color:var(--passflow-button-text-color)}.passflow-button--primary:focus-visible,.passflow-button--primary:hover{background-color:var(--passflow-primary-color)}.passflow-button--secondary{background-color:var(--passflow-white);border:1px solid var(--passflow-primary-color);color:var(--passflow-primary-color)}.passflow-button--secondary:focus-visible,.passflow-button--secondary:hover{border-color:var(--passflow-primary-color);color:var(--passflow-primary-color)}.passflow-button--outlined{background-color:var(--passflow-white);border:1px solid var(--passflow-grey-four);color:var(--passflow-dark)}.passflow-button--outlined:focus-visible,.passflow-button--outlined:hover{background-color:var(--passflow-grey-four)}.passflow-button--warning{background-color:var(--passflow-warning);box-shadow:0 5px 9px #d85d5d40;color:var(--passflow-button-text-color)}.passflow-button--warning:focus-visible,.passflow-button--warning:hover{background-color:var(--passflow-warning-dark)}.passflow-button--clean{background-color:var(--passflow-white);border:none}.passflow-button--provider{background-color:var(--passflow-federated_button_background_color)}.passflow-button--provider:focus-visible,.passflow-button--provider:hover{background-color:var(--passflow-grey-four)}.passflow-button--dark{background-color:var(--passflow-dark-three);box-shadow:0 3px 15px #1e1e1e59;color:var(--passflow-button-text-color)}.passflow-button--dark:focus-visible,.passflow-button--dark:hover{opacity:.9}.passflow-button--small{height:28px;max-width:28px;padding:var(--passflow-spacing-1);width:100%}.passflow-button--medium{font-size:var(--passflow-body-2);height:32px;max-width:66px;padding:7px var(--passflow-spacing-3);width:100%}.passflow-button--big{font-size:var(--passflow-body-2);font-weight:600;height:48px;max-width:336px;min-width:40px;padding:15px var(--passflow-spacing-2);width:100%}.passflow-button--dark:disabled,.passflow-button--primary:disabled,.passflow-button--warning:disabled{background-color:var(--passflow-grey-two);box-shadow:none;cursor:not-allowed}.passflow-button--outlined:disabled,.passflow-button--secondary:disabled{background-color:var(--passflow-white);border-color:var(--passflow-grey-four);color:var(--passflow-grey-two);cursor:not-allowed}.passflow-button--clean:disabled{background-color:transparent;cursor:not-allowed;opacity:.5}.passflow-button--with-icon{gap:var(--passflow-spacing-2)}.passflow-button--as-icon{height:max-content;padding:0;width:max-content}.passflow-button-go-back-error,.passflow-button-invitation-join,.passflow-button-invitation-join-register,.passflow-button-invitation-join-switch,.passflow-button-passkey,.passflow-button-passwordless,.passflow-button-resend-magic-link,.passflow-button-resend-reset-password,.passflow-button-reset-password,.passflow-button-send-reset-password,.passflow-button-signin,.passflow-button-signup{font-size:var(--passflow-body-2);font-weight:var(--passflow-semibold);line-height:18px;margin:0 auto}.passflow-button-passkey{background-color:var(--passflow-passkey-button-background-color);color:var(--passflow-passkey-button-text-color)}.passflow-button-passwordless--active{background-color:transparent;border:1px solid var(--passflow-primary-color);color:var(--passflow-primary-color);font-size:var(--passflow-body-2);font-weight:var(--passflow-semibold);line-height:18px}.passflow-button-show-country{background-color:var(--passflow-input-background-color);border-radius:4px;gap:4px;margin-left:12px;min-width:41px;width:41px}.passflow-button-display-password{background-color:transparent}.passflow-send-reset-wrapper{display:flex;flex-direction:column;gap:24px}.passflow-button-go-back-error,.passflow-button-resend-magic-link,.passflow-button-resend-reset-password{font-weight:var(--passflow-medium);max-width:196px}.passflow-button-resend-magic-link:hover{background-color:var(--passflow-grey-four)}.passflow-button-timer{background-color:var(--passflow-background-color);display:inline-block;font-weight:var(--passflow-semibold);max-width:max-content;padding:3px}.passflow-button-timer--active{color:var(--passflow-secondary-text-color);opacity:1!important}.passflow-button-timer--inactive{color:var(--passflow-primary-color)}.passflow-button-invitation-join{margin-top:32px}.passflow-field{align-items:center;background-color:var(--passflow-input-background-color);border-radius:4px;color:var(--passflow-dark);display:flex;font-size:var(--passflow-body-2);justify-content:flex-start;min-height:48px;outline:1px solid var(--passflow-input-border-color);padding:11px var(--passflow-spacing-3);width:100%}.passflow-field::placeholder{color:var(--passflow-secondary-text-color)}.passflow-field--focused:focus-visible,.passflow-field-otp--focused:focus-visible{outline:1px solid var(--passflow-primary-color)}.passflow-field--error,.passflow-field-otp--error{outline:1px solid var(--passflow-warning)!important}.passflow-field:disabled{border-color:var(--passflow-input-border-color);color:var(--passflow-secondary-text-color);cursor:not-allowed}.passflow-field-otp,.passflow-field:disabled{background-color:var(--passflow-input-background-color)}.passflow-field-otp{border-radius:4px;color:var(--passflow-dark);font-size:var(--passflow-body-2);height:48px;outline:1px solid var(--passflow-input-border-color);text-align:center;width:48px}.passflow-ripple{animation:passflow-ripple .6s linear;background-color:#ffffff4d;border-radius:50%;position:absolute;transform:scale(0)}@keyframes passflow-ripple{to{opacity:0;transform:scale(4)}}.passflow-container{margin:0 auto;max-width:1200px;padding:0 var(--passflow-spacing-4);width:100%}.passflow-flex{display:flex}.passflow-flex-col{flex-direction:column}.passflow-items-center{align-items:center}.passflow-justify-center{justify-content:center}.passflow-justify-between{justify-content:space-between}.passflow-mt-4{margin-top:var(--passflow-spacing-4)}.passflow-mb-4{margin-bottom:var(--passflow-spacing-4)}.passflow-gap-4{gap:var(--passflow-spacing-4)}.passflow-branding{align-items:center;background-color:var(--passflow-background);border-radius:4px;bottom:24px;display:flex;gap:4px;justify-content:center;padding:7px 12px;position:absolute;right:24px}.passflow-branding-text{color:var(--passflow-secondary-text-color);font-size:11px;font-weight:var(--passflow-bold);line-height:18px}.passflow-branding-text-secondary{font-weight:var(--passflow-normal)}.passflow-form-main-wrapper{border-radius:6px;gap:32px;height:100%;padding:24px;position:relative}.passflow-form-main-container,.passflow-form-main-wrapper{align-items:center;display:flex;flex-direction:column;justify-content:center;width:100%}.passflow-form-main-container{gap:24px;margin:0 auto;max-width:384px}.passflow-form-header{align-items:center;display:flex;flex-direction:column;gap:8px;justify-content:center;text-align:center}.passflow-form-title{color:var(--passflow-text-color);font-size:var(--passflow-h2);font-weight:var(--passflow-bold)}.passflow-form-subscriptions,.passflow-form-subtitle{color:var(--passflow-secondary-text-color);font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);text-align:center}.passflow-form-subscriptions{display:flex;margin:-24px auto 0;max-width:384px}.passflow-field-wrapper{position:relative;width:100%}.passflow-field-container{display:flex;flex-direction:column;gap:6px;width:100%}.passflow-field-label{color:var(--passflow-secondary-text-color);font-size:var(--passflow-caption);font-weight:var(--passflow-medium);line-height:18px}.passflow-field-label--error{color:var(--passflow-warning)}.passflow-field-label-button{background-color:var(--passflow-card-color);color:var(--passflow-primary-color);font-size:var(--passflow-caption);max-width:100%;text-decoration:none;width:max-content}.passflow-field-input,.passflow-field-label-button{font-weight:var(--passflow-medium);line-height:18px}.passflow-field-input{background-color:var(--passflow-input-background-color);border-radius:4px;color:var(--passflow-text-color);font-size:var(--passflow-body-2);min-height:48px;outline:1px solid var(--passflow-input-border-color);padding:11px var(--passflow-spacing-3);width:100%}.passflow-field-input--with-icon{padding-right:40px}.passflow-field-icon-button{position:absolute;right:0;top:50%;transform:translate(-12px,-50%)}.passflow-field-error{align-items:center;display:flex;gap:4px;justify-content:center;margin-top:4px}.passflow-field-error-text{color:var(--passflow-warning);font-size:var(--passflow-caption);font-weight:var(--passflow-medium)}.passflow-field-phone-wrapper{align-items:center;background-color:var(--passflow-input-background-color);border-radius:4px;color:var(--passflow-text-color);display:flex;font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);height:48px;justify-content:flex-start;outline:1px solid var(--passflow-input-border-color);position:relative;width:100%}.passflow-field-phone-wrapper--focus{outline:1px solid var(--passflow-primary-color)}.passflow-field-phone-wrapper--error{outline:1px solid var(--passflow-warning)}.passflow-field-phone-wrapper::placeholder{color:var(--passflow-secondary-text-color)}.passflow-field-phone-input{background-color:var(--passflow-input-background-color);border-radius:4px;color:var(--passflow-text-color);font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);height:48px;padding:0 8px;width:100%}.passflow-field-phone-input:focus-within{outline:none}.passflow-field-country-search-wrapper{padding-left:28px;position:relative;z-index:20}.passflow-field-country-search,.passflow-field-country-search-wrapper{background-color:var(--passflow-input-background-color);border-radius:4px;width:100%}.passflow-field-country-search{color:var(--passflow-text-color);font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);height:48px;padding:0 8px}.passflow-field-country-search::placeholder{color:var(--passflow-secondary-text-color);font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);line-height:18px}.passflow-field-country-search:focus-visible{outline:none}.passflow-field-country-search-icon{left:12px;position:absolute;top:50%;transform:translateY(-50%)}.passflow-password-validation{display:flex;flex-direction:column;gap:4px;margin-top:4px}.passflow-password-validation-item{align-items:center;color:var(--passflow-secondary-text-color);display:flex;font-size:var(--passflow-caption);font-weight:var(--passflow-medium);gap:4px;justify-content:flex-start}.passflow-password-validation-item--success{color:var(--passflow-success)}.passflow-dialog-overlay{background-color:#1e1e1e80;inset:0;position:fixed;z-index:40}.passflow-dialog-content{left:50%;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:50}.passflow-dialog-header{display:flex;flex-direction:column;gap:6px;text-align:center}@media (min-width:640px){.passflow-dialog-header{text-align:left}}.passflow-dialog-footer{display:flex;flex-direction:column-reverse;gap:8px}@media (min-width:640px){.passflow-dialog-footer{flex-direction:row;justify-content:flex-end}}.passflow-dialog-title{font-size:var(--passflow-h2);font-weight:var(--passflow-semibold);letter-spacing:-.02em;line-height:1}.passflow-dialog-description{color:var(--passflow-secondary-text-color);font-size:var(--passflow-body-2)}.passflow-popover-content{background-color:var(--passflow-white);border-radius:4px;box-shadow:0 5px 20px #0000000d;z-index:10}.passflow-popover-menu{align-items:flex-start;display:flex;flex-direction:column;gap:4px;padding:6px;width:125px}.passflow-popover-menu-item{gap:6px;justify-content:flex-start;padding:6px;width:100%}.passflow-popover-menu-item:hover{background-color:var(--passflow-background)}.passflow-popover-menu-item-text{color:var(--passflow-dark-three);font-size:var(--passflow-body-2);font-weight:var(--passflow-medium)}.passflow-popover-menu-item-text--warning{color:var(--passflow-warning)}.passflow-switch-wrapper{align-items:center;cursor:pointer;display:inline-flex;gap:12px;position:relative}.passflow-switch-label{color:var(--passflow-text-color);font-size:var(--passflow-caption);font-weight:var(--passflow-medium)}.passflow-switch-input{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}.passflow-switch-track{background-color:var(--passflow-grey-two);border-radius:9999px;height:16px;position:relative;transition:background-color .2s;width:28px}.passflow-switch-track:after{background-color:var(--passflow-white);border-radius:50%;content:"";height:12px;position:absolute;right:14px;top:50%;transform:translateY(-50%);transition:transform .2s;width:12px}.passflow-switch-input:checked+.passflow-switch-track{background-color:var(--passflow-primary-color)}.passflow-switch-input:checked+.passflow-switch-track:after{transform:translate(12px,-50%)}[dir=rtl] .passflow-switch-input:checked+.passflow-switch-track:after{transform:translate(-14px,-50%)}.passflow-icon{background-color:transparent}.passflow-icon--small{height:16px;width:16px}.passflow-icon--medium{height:20px;width:20px}.passflow-icon--big{height:32px;width:32px}.passflow-icon--large{height:44px;width:44px}.passflow-icon--warning{stroke:var(--passflow-warning)}.passflow-icon--white{background-color:var(--passflow-white)}.passflow-icon--success{stroke:var(--passflow-primary-color)}.passflow-flag{background-position:50%;background-repeat:no-repeat;background-size:contain;height:100%;width:100%}.passflow-verify-otp{display:flex;flex-direction:column;gap:32px}.passflow-verify-otp-container{background-color:var(--passflow-card-color);border-radius:6px;box-shadow:0 4px 15px #00000017;display:flex;flex-direction:column;gap:56px;padding:24px 24px 56px}.passflow-verify-otp-button{background-color:var(--passflow-background);border:none;position:relative}.passflow-verify-otp-button-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%)}.passflow-verify-otp-wrapper{align-items:center;display:flex;flex-direction:column;gap:6px;justify-content:center}.passflow-verify-otp-inputs{align-items:center;display:flex;gap:10px;justify-content:center}.passflow-verify-otp-error{align-items:center;display:flex;gap:4px;justify-content:center}.passflow-verify-otp-error-text{color:var(--passflow-warning);font-size:var(--passflow-caption);font-weight:var(--passflow-medium)}.passflow-verify-otp-resend{color:var(--passflow-secondary-text-color);font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);text-align:center}.passflow-providers-box{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;justify-content:center;width:100%}.passflow-providers-box--grid{align-items:stretch;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(49px,1fr));justify-content:stretch}.passflow-provider-item{align-items:center;display:flex;gap:8px}.passflow-provider-text{color:var(--passflow-federated_button_text_color);font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);text-transform:capitalize}.passflow-ripple-container{inset:0;overflow:hidden;position:absolute}.passflow-ripple-effect{background-color:currentColor;opacity:.6}.passflow-form{display:flex;flex-direction:column;gap:32px;max-width:384px;width:100%}.passflow-form-switch{align-items:center;display:flex;justify-content:center;margin-bottom:-8px;width:100%}.passflow-form-container{background-color:var(--passflow-card-color);border-radius:6px;box-shadow:0 4px 15px #00000017;gap:24px;max-width:384px;padding:24px}.passflow-form-container,.passflow-form-field{align-items:flex-start;display:flex;flex-direction:column;justify-content:flex-start;width:100%}.passflow-form-field{gap:6px}.passflow-form-field__header{align-items:center;display:flex;justify-content:space-between;max-height:18px;width:100%}.passflow-form-error{align-items:center;display:flex;gap:4px;justify-content:center;margin-top:4px}.passflow-form-error-text{color:var(--passflow-warning);font-size:var(--passflow-caption);font-weight:var(--passflow-medium)}.passflow-form-actions{align-items:center;display:flex;justify-content:center;margin:0 auto;max-width:336px;width:100%}.passflow-form-actions--top-space{margin-top:-8px}.passflow-form-divider{align-items:center;display:flex;justify-content:space-between;padding:9px 0;position:relative;width:100%}.passflow-form-divider__line-left,.passflow-form-divider__line-right{background-color:var(--passflow-divider-color);height:1px;width:105px}.passflow-form-divider__text{background-color:transparent;color:var(--passflow-secondary-text-color);font-size:var(--passflow-caption);font-weight:var(--passflow-medium);left:50%;padding:0 15px;position:absolute;top:50%;transform:translate(-50%,-50%)}.passflow-form-providers{align-items:flex-start;display:flex;flex-direction:column;gap:24px;justify-content:flex-start;margin:0 auto;max-width:336px;width:100%}.passflow-link{color:var(--passflow-primary-color);font-size:var(--passflow-body-2);font-weight:var(--passflow-semibold);line-height:18px}.passflow-dont-have-account,.passflow-have-account,.passflow-remember-password{color:var(--passflow-secondary-text-color);font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);line-height:18px;text-align:center}.passflow-country-search-wrapper{background-color:var(--passflow-card-color);border-bottom-left-radius:4px;border-bottom-right-radius:4px;box-shadow:0 4px 15px #00000017;left:0;max-height:200px;overflow-y:auto;position:absolute;scrollbar-color:var(--passflow-secondary-text-color) transparent;scrollbar-width:thin;top:2px;transform:translateY(48px);width:100%;z-index:10}.passflow-country-search-wrapper::-webkit-scrollbar{width:6px}.passflow-country-search-wrapper::-webkit-scrollbar-track{background:transparent}.passflow-country-search-wrapper::-webkit-scrollbar-thumb{background-color:var(--passflow-secondary-text-color);border-radius:3px}.passflow-country-search-wrapper--show{display:block;opacity:1;transition:opacity .2s ease,visibility .2s ease;visibility:visible}.passflow-country-search-wrapper--hidden{display:none;opacity:0;visibility:hidden}.passflow-country-search-sticky-bottom,.passflow-country-search-sticky-top{background-color:var(--passflow-card-color);height:10px;left:0;overflow-x:hidden;position:sticky;width:100%;z-index:10}.passflow-country-search-sticky-top{top:0}.passflow-country-search-sticky-bottom{bottom:0}.passflow-country-search-item{align-items:center;background-color:var(--passflow-card-color);cursor:pointer;display:flex;justify-content:flex-start;max-height:32px;padding:7px 12px;transition:background-color .2s ease;width:100%}.passflow-country-search-item:focus,.passflow-country-search-item:hover{background-color:var(--passflow-background)}.passflow-country-search-flag{height:15px;width:21px}.passflow-country-search-name{color:var(--passflow-text-color);margin-left:8px}.passflow-country-search-code,.passflow-country-search-name{font-size:var(--passflow-body-2);font-weight:var(--passflow-medium)}.passflow-country-search-code{color:var(--passflow-secondary-text-color);margin-left:auto;transition:color .2s ease}.passflow-country-search-item:hover .passflow-country-search-code{color:var(--passflow-text-color)}.passflow-country-search-divider{border-bottom:1px solid var(--passflow-divider-color);font-size:var(--passflow-caption);margin:12px 12px 6px;padding-bottom:6px}.passflow-country-search-divider,.passflow-country-search-no-matches{color:var(--passflow-secondary-text-color);font-weight:var(--passflow-medium)}.passflow-country-search-no-matches{display:block;font-size:var(--passflow-body-2);margin:0 auto;padding:15px;text-align:center;width:100%}.passflow-forgot-password-success-wrapper{display:flex;flex-direction:column;gap:24px;width:100%}.passflow-forgot-password-success-container{display:flex;flex-direction:column;gap:32px;margin-top:-8px;max-width:336px;width:100%}.passflow-forgot-password-success-text{color:var(--passflow-secondary-text-color);font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);text-align:center}.passflow-forgot-password-success-text--strong{font-weight:var(--passflow-bold)}.passflow-verify-challenge-magic-link-wrapper{display:flex;flex-direction:column;margin:0 auto;width:100%}.passflow-verify-challenge-magic-link-container{display:flex;flex-direction:column;gap:32px;margin-top:-24px;max-width:336px;width:100%}.passflow-verify-challenge-magic-link-text{color:var(--passflow-secondary-text-color);font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);text-align:center}.passflow-verify-challenge-magic-link-text--strong{font-weight:var(--passflow-bold)}.passflow-verify-challenge-success-wrapper{gap:32px}.passflow-verify-challenge-success-container,.passflow-verify-challenge-success-wrapper{align-items:center;display:flex;flex-direction:column;justify-content:flex-start;width:100%}.passflow-verify-challenge-success-container{gap:8px}.passflow-verify-challenge-success-text{color:var(--passflow-text-color);font-size:var(--passflow-h2);font-weight:var(--passflow-bold);text-align:center}.passflow-invitation-join-text,.passflow-verify-challenge-success-text-secondary{color:var(--passflow-secondary-text-color);font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);text-align:center}.passflow-invitation-join-text{display:block;margin-top:-8px;max-width:320px}.passflow-invitation-join-text-strong{font-weight:var(--passflow-bold)}.passflow-invitation-join-actions{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:start;width:100%}.passflow-reset-password-text{color:var(--passflow-secondary-text-color);display:block;font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);margin-top:-32px;text-align:center}.passflow-error-container{gap:32px;margin-top:-8px}.passflow-error-container,.passflow-error-container-text-wrapper{align-items:center;display:flex;flex-direction:column;justify-content:start}.passflow-error-container-text-wrapper{gap:8px}.passflow-error-container-text{color:var(--passflow-warning);font-size:var(--passflow-h2);font-weight:var(--passflow-bold);text-align:center}.passflow-error-container-text-secondary{color:var(--passflow-secondary-text-color);font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);text-align:center}.passflow-form-main-container-logo{border-radius:8px;height:44px;object-fit:cover;object-position:center;width:44px}.ad{background-position:-48px -27px}.ae{background-position:-72px -27px}.af{background-position:-96px -27px}.ag{background-position:-120px -27px}.ai{background-position:-144px -27px}.al{background-position:-168px -27px}.am{background-position:-192px -27px}.an{background-position:-216px -27px}.ao{background-position:-240px -27px}.aq{background-position:-264px -27px}.ar{background-position:-288px -27px}.as{background-position:-312px -27px}.at{background-position:-336px -27px}.au{background-position:-360px -27px}.aw{background-position:-384px -27px}.ax{background-position:0 -51px}.az{background-position:-24px -51px}.ba{background-position:-48px -51px}.bb{background-position:-72px -51px}.bd{background-position:-96px -51px}.be{background-position:-120px -51px}.bf{background-position:-144px -51px}.bg{background-position:-168px -51px}.bh{background-position:-192px -51px}.bi{background-position:-216px -51px}.bj{background-position:-240px -51px}.bl{background-position:-264px -51px}.bm{background-position:-288px -51px}.bn{background-position:-312px -51px}.bo{background-position:-336px -51px}.br{background-position:-360px -51px}.bs{background-position:-384px -51px}.bt{background-position:0 -75px}.bw{background-position:-24px -75px}.by{background-position:-48px -75px}.bz{background-position:-72px -75px}.ca{background-position:-96px -75px}.cc{background-position:-120px -75px}.cd{background-position:-144px -75px}.cf{background-position:-168px -75px}.cg{background-position:-192px -75px}.ch{background-position:-216px -75px}.ci{background-position:-240px -75px}.ck{background-position:-264px -75px}.cl{background-position:-288px -75px}.cm{background-position:-312px -75px}.cn{background-position:-336px -75px}.co{background-position:-360px -75px}.cr{background-position:-384px -75px}.cu{background-position:0 -99px}.cv{background-position:-24px -99px}.cw{background-position:-48px -99px}.cx{background-position:-72px -99px}.cy{background-position:-96px -99px}.cz{background-position:-120px -99px}.de{background-position:-144px -99px}.dj{background-position:-168px -99px}.dk{background-position:-192px -99px}.dm{background-position:-216px -99px}.do{background-position:-240px -99px}.dz{background-position:-264px -99px}.ec{background-position:-288px -99px}.ee{background-position:-312px -99px}.eg{background-position:-336px -99px}.eh{background-position:-360px -99px}.er{background-position:-384px -99px}.es{background-position:0 -123px}.et{background-position:-24px -123px}.eu{background-position:-48px -123px}.fi{background-position:-72px -123px}.fj{background-position:-96px -123px}.fk{background-position:-120px -123px}.fm{background-position:-144px -123px}.fo{background-position:-168px -123px}.fr{background-position:-192px -123px}.ga{background-position:-216px -123px}.gb{background-position:-240px -123px}.gd{background-position:-264px -123px}.ge{background-position:-288px -123px}.gg{background-position:-312px -123px}.gh{background-position:-336px -123px}.gi{background-position:-360px -123px}.gl{background-position:-384px -123px}.gm{background-position:0 -147px}.gn{background-position:-24px -147px}.gq{background-position:-48px -147px}.gr{background-position:-72px -147px}.gs{background-position:-96px -147px}.gt{background-position:-120px -147px}.gu{background-position:-144px -147px}.gw{background-position:-168px -147px}.gy{background-position:-192px -147px}.hk{background-position:-216px -147px}.hn{background-position:-240px -147px}.hr{background-position:-264px -147px}.ht{background-position:-288px -147px}.hu{background-position:-312px -147px}.ic{background-position:-336px -147px}.id{background-position:-360px -147px}.ie{background-position:-384px -147px}.il{background-position:0 -171px}.im{background-position:-24px -171px}.in{background-position:-48px -171px}.iq{background-position:-72px -171px}.ir{background-position:-96px -171px}.is{background-position:-120px -171px}.it{background-position:-144px -171px}.je{background-position:-168px -171px}.jm{background-position:-192px -171px}.jo{background-position:-216px -171px}.jp{background-position:-240px -171px}.ke{background-position:-264px -171px}.kg{background-position:-288px -171px}.kh{background-position:-312px -171px}.ki{background-position:-336px -171px}.xk{background-position:-144px 3px}.km{background-position:-360px -171px}.kn{background-position:-384px -171px}.kp{background-position:0 -195px}.kr{background-position:-24px -195px}.kw{background-position:-48px -195px}.ky{background-position:-72px -195px}.kz{background-position:-96px -195px}.la{background-position:-120px -195px}.lb{background-position:-144px -195px}.lc{background-position:-168px -195px}.li{background-position:-192px -195px}.lk{background-position:-216px -195px}.lr{background-position:-240px -195px}.ls{background-position:-264px -195px}.lt{background-position:-288px -195px}.lu{background-position:-312px -195px}.lv{background-position:-336px -195px}.ly{background-position:-360px -195px}.ma{background-position:-384px -195px}.mc{background-position:0 -219px}.md{background-position:-24px -219px}.me{background-position:-48px -219px}.mf{background-position:-72px -219px}.mg{background-position:-96px -219px}.mh{background-position:-120px -219px}.mk{background-position:-144px -219px}.ml{background-position:-168px -219px}.mm{background-position:-192px -219px}.mn{background-position:-216px -219px}.mo{background-position:-240px -219px}.mp{background-position:-264px -219px}.mq{background-position:-288px -219px}.mr{background-position:-312px -219px}.ms{background-position:-336px -219px}.mt{background-position:-360px -219px}.mu{background-position:-384px -219px}.mv{background-position:0 -243px}.mw{background-position:-24px -243px}.mx{background-position:-48px -243px}.my{background-position:-72px -243px}.mz{background-position:-96px -243px}.na{background-position:-120px -243px}.nc{background-position:-144px -243px}.ne{background-position:-168px -243px}.nf{background-position:-192px -243px}.ng{background-position:-216px -243px}.ni{background-position:-240px -243px}.nl{background-position:-264px -243px}.no{background-position:-288px -243px}.np{background-position:-312px -243px}.nr{background-position:-336px -243px}.nu{background-position:-360px -243px}.nz{background-position:-384px -243px}.om{background-position:0 -267px}.pa{background-position:-24px -267px}.pe{background-position:-48px -267px}.pf{background-position:-72px -267px}.pg{background-position:-96px -267px}.ph{background-position:-120px -267px}.pk{background-position:-192px -267px}.pl{background-position:-216px -267px}.pn{background-position:-240px -267px}.pr{background-position:-264px -267px}.ps{background-position:-288px -267px}.pt{background-position:-312px -267px}.pw{background-position:-336px -267px}.py{background-position:-360px -267px}.qa{background-position:-384px -267px}.ro{background-position:0 -291px}.rs{background-position:-24px -291px}.ru{background-position:-48px -291px}.rw{background-position:-72px -291px}.sa{background-position:-96px -291px}.sb{background-position:-120px -291px}.sc{background-position:-144px -291px}.sd{background-position:-168px -291px}.se{background-position:-192px -291px}.sg{background-position:-216px -291px}.sh{background-position:-240px -291px}.si{background-position:-264px -291px}.sk{background-position:-288px -291px}.sl{background-position:-312px -291px}.sm{background-position:-336px -291px}.sn{background-position:-360px -291px}.so{background-position:-384px -291px}.sr{background-position:0 -315px}.ss{background-position:-24px -315px}.st{background-position:-48px -315px}.sv{background-position:-72px -315px}.sy{background-position:-96px -315px}.sz{background-position:-120px -315px}.tc{background-position:-144px -315px}.td{background-position:-168px -315px}.tf{background-position:-192px -315px}.tg{background-position:-216px -315px}.th{background-position:-240px -315px}.tj{background-position:-264px -315px}.tk{background-position:-288px -315px}.tl{background-position:-312px -315px}.tm{background-position:-336px -315px}.tn{background-position:-360px -315px}.to{background-position:-384px -315px}.tr{background-position:0 -339px}.tt{background-position:-24px -339px}.tv{background-position:-48px -339px}.tw{background-position:-72px -339px}.tz{background-position:-96px -339px}.ua{background-position:-120px -339px}.ug{background-position:-144px -339px}.us{background-position:-168px -339px}.uy{background-position:-192px -339px}.uz{background-position:-216px -339px}.va{background-position:-240px -339px}.vc{background-position:-264px -339px}.ve{background-position:-288px -339px}.vg{background-position:-312px -339px}.vi{background-position:-336px -339px}.vn{background-position:-360px -339px}.vu{background-position:-384px -339px}.wf{background-position:0 -363px}.ws{background-position:-24px -363px}.ye{background-position:-48px -363px}.za{background-position:-96px -363px}.zm{background-position:-120px -363px}.zw{background-position:-144px -363px}.icon-warning{filter:invert(62%) sepia(14%) saturate(7187%) hue-rotate(321deg) brightness(90%) contrast(86%)}.icon-white{filter:brightness(0) saturate(100%) invert(100%) sepia(2%) saturate(7%) hue-rotate(80deg) brightness(103%) contrast(100%)}.react-international-phone-country-selector{position:relative}.react-international-phone-country-selector-button{align-items:center;appearance:button;-webkit-appearance:button;background-color:var(--react-international-phone-country-selector-background-color,var(--react-international-phone-background-color,#fff));border:1px solid var(--react-international-phone-country-selector-border-color,var(--react-international-phone-border-color,#dcdcdc));box-sizing:border-box;cursor:pointer;display:flex;height:var(--react-international-phone-height,36px);justify-content:center;margin:0;padding:0;text-transform:none;user-select:none}.react-international-phone-country-selector-button:hover{background-color:var(--react-international-phone-country-selector-background-color-hover,#f5f5f5)}.react-international-phone-country-selector-button--hide-dropdown{cursor:auto}.react-international-phone-country-selector-button--hide-dropdown:hover{background-color:transparent}.react-international-phone-country-selector-button__button-content{align-items:center;display:flex;justify-content:center}.react-international-phone-country-selector-button__flag-emoji{margin:0 4px}.react-international-phone-country-selector-button__flag-emoji--disabled{opacity:.75}.react-international-phone-country-selector-button__dropdown-arrow{border-left:var(--react-international-phone-country-selector-arrow-size,4px) solid transparent;border-right:var(--react-international-phone-country-selector-arrow-size,4px) solid transparent;border-top:var(--react-international-phone-country-selector-arrow-size,4px) solid var(--react-international-phone-country-selector-arrow-color,#777);margin-right:4px;transition:all .1s ease-out}.react-international-phone-country-selector-button__dropdown-arrow--active{transform:rotateX(180deg)}.react-international-phone-country-selector-button__dropdown-arrow--disabled{border-top-color:var(--react-international-phone-disabled-country-selector-arrow-color,#999)}.react-international-phone-country-selector-button--disabled{cursor:auto}.react-international-phone-country-selector-button--disabled,.react-international-phone-country-selector-button--disabled:hover{background-color:var(--react-international-phone-disabled-country-selector-background-color,var(--react-international-phone-disabled-background-color,#f5f5f5))}.react-international-phone-flag-emoji{box-sizing:border-box;height:var(--react-international-phone-flag-height,24px);width:var(--react-international-phone-flag-width,24px)}.react-international-phone-country-selector-dropdown{background-color:var(--react-international-phone-dropdown-item-background-color,var(--react-international-phone-background-color,#fff));box-shadow:var(--react-international-phone-dropdown-shadow,2px 2px 16px rgba(0,0,0,.25));color:var(--react-international-phone-dropdown-item-text-color,var(--react-international-phone-text-color,#222));display:flex;flex-direction:column;left:var(--react-international-phone-dropdown-left,0);list-style:none;margin:0;max-height:200px;overflow-y:scroll;padding:4px 0;position:absolute;top:var(--react-international-phone-dropdown-top,44px);width:300px;z-index:1}.react-international-phone-country-selector-dropdown__preferred-list-divider{background:var(--react-international-phone-dropdown-preferred-list-divider-color,var(--react-international-phone-border-color,#dcdcdc));border:none;height:1px;margin:var(--react-international-phone-dropdown-preferred-list-divider-margin,0)}.react-international-phone-country-selector-dropdown__list-item{align-items:center;box-sizing:border-box;display:flex;min-height:var(--react-international-phone-dropdown-item-height,28px);padding:2px 8px}.react-international-phone-country-selector-dropdown__list-item-flag-emoji{margin-right:8px}.react-international-phone-country-selector-dropdown__list-item-country-name{font-size:var(--react-international-phone-dropdown-item-font-size,14px);margin-right:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.react-international-phone-country-selector-dropdown__list-item-dial-code{color:var(--react-international-phone-dropdown-item-dial-code-color,gray);font-size:var(--react-international-phone-dropdown-item-font-size,14px)}.react-international-phone-country-selector-dropdown__list-item:hover{background-color:var(--react-international-phone-selected-dropdown-item-background-color,var(--react-international-phone-selected-dropdown-item-background-color,#f5f5f5));cursor:pointer}.react-international-phone-country-selector-dropdown__list-item--focused,.react-international-phone-country-selector-dropdown__list-item--selected{background-color:var(--react-international-phone-selected-dropdown-item-background-color,#f5f5f5);color:var(--react-international-phone-selected-dropdown-item-text-color,var(--react-international-phone-text-color,#222))}.react-international-phone-country-selector-dropdown__list-item--focused .react-international-phone-country-selector-dropdown__list-item-dial-code,.react-international-phone-country-selector-dropdown__list-item--selected .react-international-phone-country-selector-dropdown__list-item-dial-code{color:var(--react-international-phone-selected-dropdown-item-dial-code-color,var(--react-international-phone-dropdown-item-dial-code-color,gray))}.react-international-phone-country-selector-dropdown__list-item--focused{background-color:var(--react-international-phone-selected-dropdown-item-background-color,var(--react-international-phone-selected-dropdown-item-background-color,#f5f5f5))}.react-international-phone-dial-code-preview{align-items:center;background-color:var(--react-international-phone-dial-code-preview-background-color,var(--react-international-phone-background-color,#fff));border:1px solid var(--react-international-phone-dial-code-preview-border-color,var(--react-international-phone-border-color,#dcdcdc));color:var(--react-international-phone-dial-code-preview-text-color,var(--react-international-phone-text-color,#222));display:flex;font-size:var(--react-international-phone-dial-code-preview-font-size,var(--react-international-phone-font-size,13px));justify-content:center;margin-right:-1px;padding:0 8px}.react-international-phone-dial-code-preview--disabled{background-color:var(--react-international-phone-dial-code-preview-disabled-background-color,var(--react-international-phone-disabled-background-color,#f5f5f5));color:var(--react-international-phone-dial-code-preview-disabled-text-color,var(--react-international-phone-disabled-text-color,#666))}.react-international-phone-input-container{display:flex}.react-international-phone-input-container .react-international-phone-country-selector-button{border-radius:var(--react-international-phone-border-radius,4px);border-bottom-right-radius:0;border-top-right-radius:0;margin-right:-1px}.react-international-phone-input-container .react-international-phone-input{background-color:var(--react-international-phone-background-color,#fff);border:1px solid var(--react-international-phone-border-color,#dcdcdc);border-radius:var(--react-international-phone-border-radius,4px);border-bottom-left-radius:0;border-top-left-radius:0;box-sizing:border-box;color:var(--react-international-phone-text-color,#222);font-family:inherit;font-size:var(--react-international-phone-font-size,13px);height:var(--react-international-phone-height,36px);margin:0;overflow:visible;padding:0 8px}.react-international-phone-input-container .react-international-phone-input:focus{outline:none}.react-international-phone-input-container .react-international-phone-input--disabled{background-color:var(--react-international-phone-disabled-background-color,#f5f5f5);color:var(--react-international-phone-disabled-text-color,#666)}
1
+ @import"https://fonts.googleapis.com/css2?family=Gasoek+One&family=Inter:opsz,wght@14..32,100..900&display=swap";[class*=passflow-]{border:0;box-sizing:border-box;font:inherit;margin:0;padding:0;vertical-align:baseline}.passflow-article,.passflow-aside,.passflow-details,.passflow-figcaption,.passflow-figure,.passflow-footer,.passflow-header,.passflow-hgroup,.passflow-menu,.passflow-nav,.passflow-section{display:block}html{font-size:16px;scroll-behavior:smooth}body{line-height:1.5;min-height:100vh;text-rendering:optimizeSpeed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.passflow-list{list-style:none}.passflow-link{color:inherit;text-decoration:none}.passflow-canvas,.passflow-image,.passflow-picture,.passflow-svg,.passflow-video{display:block;max-width:100%}.passflow-button{background:none;border:none;padding:0}.passflow-button,.passflow-input,.passflow-select,.passflow-textarea{color:inherit;font:inherit}.passflow-table{border-collapse:collapse;border-spacing:0}@media(prefers-reduced-motion:reduce){[class*=passflow-]{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}body,html{box-sizing:border-box;margin:0;padding:0}:root{--passflow-primary:#0c59dd;--passflow-primary-dark:#0a47b1;--passflow-warning:#d85d5d;--passflow-warning-dark:#b14d4d;--passflow-dark:#1e1e1e;--passflow-dark-two:#2e2e2e;--passflow-dark-three:#3e3e3e;--passflow-white:#fff;--passflow-grey-one:#7f7f7f;--passflow-grey-two:#bfbfbf;--passflow-grey-three:#e9eaf0;--passflow-grey-four:#f3f5f7;--passflow-background:#f8f9fb;--passflow-success:#4cb782;--passflow-primary-color:var(--passflow-primary);--passflow-text-color:var(--passflow-dark);--passflow-secondary-text-color:var(--passflow-grey-one);--passflow-button-text-color:var(--passflow-white);--passflow-background-color:var(--passflow-white);--passflow-background-image:url();--passflow-card-color:var(--passflow-white);--passflow-input-background-color:var(--passflow-grey-four);--passflow-input-border-color:var(--passflow-grey-four);--passflow-passkey-button-text-color:var(--passflow-white);--passflow-passkey-button-background-color:var(--passflow-dark);--passflow-divider-color:var(--passflow-grey-three);--passflow-federated_button_background_color:var(--passflow-background);--passflow-federated_button_text_color:var(--passflow-dark);--passflow-h1:2rem;--passflow-h2:1.5rem;--passflow-body-1:1rem;--passflow-body-2:13px;--passflow-caption:12px;--passflow-normal:400;--passflow-medium:500;--passflow-semibold:600;--passflow-bold:700;--passflow-spacing-1:4px;--passflow-spacing-2:8px;--passflow-spacing-3:12px;--passflow-spacing-4:16px;--passflow-spacing-5:20px;--passflow-spacing-6:24px}#passflow-wrapper{font-family:Inter,sans-serif;min-height:100vh;width:100%;-webkit-font-smoothing:antialiased;box-sizing:border-box;overflow-x:hidden}.passflow-wrapper{background-color:var(--passflow-background-color);background-image:var(--passflow-background-image);background-position:50%;background-repeat:no-repeat;background-size:cover;color:var(--passflow-text-color);height:100vh;position:relative;width:100vw}.passflow-heading{color:var(--passflow-text-color);font-size:var(--passflow-h1);font-weight:600;margin-bottom:var(--passflow-spacing-4)}.passflow-text{color:var(--passflow-text-color);font-size:var(--passflow-body-1);line-height:1.5}.passflow-secondary-text{color:var(--passflow-secondary-text-color);font-size:var(--passflow-body-2)}.passflow-secondary-font{font-family:Gasoek One,sans-serif;font-style:normal}.passflow-button{align-items:center;border-radius:4px;cursor:pointer;display:inline-flex;font-size:var(--passflow-body-2);font-weight:500;justify-content:center;overflow:hidden;padding:var(--passflow-spacing-3) var(--passflow-spacing-6);position:relative;transition:all .2s}.passflow-button:focus-visible{outline:none}.passflow-button--primary{background-color:var(--passflow-primary-color);box-shadow:0 3px 15px #0c59dd59;color:var(--passflow-button-text-color)}.passflow-button--primary:focus-visible,.passflow-button--primary:hover{background-color:var(--passflow-primary-color)}.passflow-button--secondary{background-color:var(--passflow-white);border:1px solid var(--passflow-primary-color);color:var(--passflow-primary-color)}.passflow-button--secondary:focus-visible,.passflow-button--secondary:hover{border-color:var(--passflow-primary-color);color:var(--passflow-primary-color)}.passflow-button--outlined{background-color:var(--passflow-white);border:1px solid var(--passflow-grey-four);color:var(--passflow-dark)}.passflow-button--outlined:focus-visible,.passflow-button--outlined:hover{background-color:var(--passflow-grey-four)}.passflow-button--warning{background-color:var(--passflow-warning);box-shadow:0 5px 9px #d85d5d40;color:var(--passflow-button-text-color)}.passflow-button--warning:focus-visible,.passflow-button--warning:hover{background-color:var(--passflow-warning-dark)}.passflow-button--clean{background-color:var(--passflow-white);border:none}.passflow-button--provider{background-color:var(--passflow-federated_button_background_color)}.passflow-button--provider:focus-visible,.passflow-button--provider:hover{background-color:var(--passflow-grey-four)}.passflow-button--dark{background-color:var(--passflow-dark-three);box-shadow:0 3px 15px #1e1e1e59;color:var(--passflow-button-text-color)}.passflow-button--dark:focus-visible,.passflow-button--dark:hover{opacity:.9}.passflow-button--small{height:28px;max-width:28px;padding:var(--passflow-spacing-1);width:100%}.passflow-button--medium{font-size:var(--passflow-body-2);height:32px;max-width:66px;padding:7px var(--passflow-spacing-3);width:100%}.passflow-button--big{font-size:var(--passflow-body-2);font-weight:600;height:48px;max-width:336px;min-width:40px;padding:15px var(--passflow-spacing-2);width:100%}.passflow-button--dark:disabled,.passflow-button--primary:disabled,.passflow-button--warning:disabled{background-color:var(--passflow-grey-two);box-shadow:none;cursor:not-allowed}.passflow-button--outlined:disabled,.passflow-button--secondary:disabled{background-color:var(--passflow-white);border-color:var(--passflow-grey-four);color:var(--passflow-grey-two);cursor:not-allowed}.passflow-button--clean:disabled{background-color:transparent;cursor:not-allowed;opacity:.5}.passflow-button--with-icon{gap:var(--passflow-spacing-2)}.passflow-button--as-icon{height:max-content;padding:0;width:max-content}.passflow-button-go-back-error,.passflow-button-invitation-join,.passflow-button-invitation-join-register,.passflow-button-invitation-join-switch,.passflow-button-passkey,.passflow-button-passwordless,.passflow-button-resend-magic-link,.passflow-button-resend-reset-password,.passflow-button-reset-password,.passflow-button-send-reset-password,.passflow-button-signin,.passflow-button-signup{font-size:var(--passflow-body-2);font-weight:var(--passflow-semibold);line-height:18px;margin:0 auto}.passflow-button-passkey{background-color:var(--passflow-passkey-button-background-color);color:var(--passflow-passkey-button-text-color)}.passflow-button-passwordless--active{background-color:transparent;border:1px solid var(--passflow-primary-color);color:var(--passflow-primary-color);font-size:var(--passflow-body-2);font-weight:var(--passflow-semibold);line-height:18px}.passflow-button-show-country{background-color:var(--passflow-input-background-color);border-radius:4px;gap:4px;margin-left:12px;min-width:41px;width:41px}.passflow-button-display-password{background-color:transparent}.passflow-send-reset-wrapper{display:flex;flex-direction:column;gap:24px}.passflow-button-go-back-error,.passflow-button-resend-magic-link,.passflow-button-resend-reset-password{font-weight:var(--passflow-medium);max-width:196px}.passflow-button-resend-magic-link:hover{background-color:var(--passflow-grey-four)}.passflow-button-timer{background-color:var(--passflow-background-color);display:inline-block;font-weight:var(--passflow-semibold);max-width:max-content;padding:3px}.passflow-button-timer--active{color:var(--passflow-secondary-text-color);opacity:1!important}.passflow-button-timer--inactive{color:var(--passflow-primary-color)}.passflow-button-invitation-join{margin-top:32px}.passflow-field{align-items:center;background-color:var(--passflow-input-background-color);border-radius:4px;color:var(--passflow-dark);display:flex;font-size:var(--passflow-body-2);justify-content:flex-start;min-height:48px;outline:1px solid var(--passflow-input-border-color);padding:11px var(--passflow-spacing-3);width:100%}.passflow-field::placeholder{color:var(--passflow-secondary-text-color)}.passflow-field--focused:focus-visible,.passflow-field-otp--focused:focus-visible{outline:1px solid var(--passflow-primary-color)}.passflow-field--error,.passflow-field-otp--error{outline:1px solid var(--passflow-warning)!important}.passflow-field:disabled{border-color:var(--passflow-input-border-color);color:var(--passflow-secondary-text-color);cursor:not-allowed}.passflow-field-otp,.passflow-field:disabled{background-color:var(--passflow-input-background-color)}.passflow-field-otp{border-radius:4px;color:var(--passflow-dark);font-size:var(--passflow-body-2);height:48px;outline:1px solid var(--passflow-input-border-color);text-align:center;width:48px}.passflow-ripple{animation:passflow-ripple .6s linear;background-color:#ffffff4d;border-radius:50%;position:absolute;transform:scale(0)}@keyframes passflow-ripple{to{opacity:0;transform:scale(4)}}.passflow-container{margin:0 auto;max-width:1200px;padding:0 var(--passflow-spacing-4);width:100%}.passflow-flex{display:flex}.passflow-flex-col{flex-direction:column}.passflow-items-center{align-items:center}.passflow-justify-center{justify-content:center}.passflow-justify-between{justify-content:space-between}.passflow-mt-4{margin-top:var(--passflow-spacing-4)}.passflow-mb-4{margin-bottom:var(--passflow-spacing-4)}.passflow-gap-4{gap:var(--passflow-spacing-4)}.passflow-branding{align-items:center;background-color:var(--passflow-background);border-radius:4px;bottom:24px;display:flex;gap:4px;justify-content:center;padding:7px 12px;position:absolute;right:24px}.passflow-branding-text{color:var(--passflow-secondary-text-color);font-size:11px;font-weight:var(--passflow-bold);line-height:18px}.passflow-branding-text-secondary{font-weight:var(--passflow-normal)}.passflow-form-main-wrapper{border-radius:6px;gap:32px;height:100%;padding:24px;position:relative}.passflow-form-main-container,.passflow-form-main-wrapper{align-items:center;display:flex;flex-direction:column;justify-content:center;width:100%}.passflow-form-main-container{gap:24px;margin:0 auto;max-width:384px}.passflow-form-header{align-items:center;display:flex;flex-direction:column;gap:8px;justify-content:center;text-align:center}.passflow-form-title{color:var(--passflow-text-color);font-size:var(--passflow-h2);font-weight:var(--passflow-bold)}.passflow-form-subscriptions,.passflow-form-subtitle{color:var(--passflow-secondary-text-color);font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);text-align:center}.passflow-form-subscriptions{display:flex;margin:-24px auto 0;max-width:384px}.passflow-field-wrapper{position:relative;width:100%}.passflow-field-container{display:flex;flex-direction:column;gap:6px;width:100%}.passflow-field-label{color:var(--passflow-secondary-text-color);font-size:var(--passflow-caption);font-weight:var(--passflow-medium);line-height:18px}.passflow-field-label--error{color:var(--passflow-warning)}.passflow-field-label-button{background-color:var(--passflow-card-color);color:var(--passflow-primary-color);font-size:var(--passflow-caption);max-width:100%;text-decoration:none;width:max-content}.passflow-field-input,.passflow-field-label-button{font-weight:var(--passflow-medium);line-height:18px}.passflow-field-input{background-color:var(--passflow-input-background-color);border-radius:4px;color:var(--passflow-text-color);font-size:var(--passflow-body-2);min-height:48px;outline:1px solid var(--passflow-input-border-color);padding:11px var(--passflow-spacing-3);width:100%}.passflow-field-input--with-icon{padding-right:40px}.passflow-field-icon-button{position:absolute;right:0;top:50%;transform:translate(-12px,-50%)}.passflow-field-error{align-items:center;display:flex;gap:4px;justify-content:center;margin-top:4px}.passflow-field-error-text{color:var(--passflow-warning);font-size:var(--passflow-caption);font-weight:var(--passflow-medium)}.passflow-field-phone-wrapper{align-items:center;background-color:var(--passflow-input-background-color);border-radius:4px;color:var(--passflow-text-color);display:flex;font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);height:48px;justify-content:flex-start;outline:1px solid var(--passflow-input-border-color);position:relative;width:100%}.passflow-field-phone-wrapper--focus{outline:1px solid var(--passflow-primary-color)}.passflow-field-phone-wrapper--error{outline:1px solid var(--passflow-warning)}.passflow-field-phone-wrapper::placeholder{color:var(--passflow-secondary-text-color)}.passflow-field-phone-input{background-color:var(--passflow-input-background-color);border-radius:4px;color:var(--passflow-text-color);font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);height:48px;padding:0 8px;width:100%}.passflow-field-phone-input:focus-within{outline:none}.passflow-field-country-search-wrapper{padding-left:28px;position:relative;z-index:20}.passflow-field-country-search,.passflow-field-country-search-wrapper{background-color:var(--passflow-input-background-color);border-radius:4px;width:100%}.passflow-field-country-search{color:var(--passflow-text-color);font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);height:48px;padding:0 8px}.passflow-field-country-search::placeholder{color:var(--passflow-secondary-text-color);font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);line-height:18px}.passflow-field-country-search:focus-visible{outline:none}.passflow-field-country-search-icon{left:12px;position:absolute;top:50%;transform:translateY(-50%)}.passflow-password-validation{display:flex;flex-direction:column;gap:4px;margin-top:4px}.passflow-password-validation-item{align-items:center;color:var(--passflow-secondary-text-color);display:flex;font-size:var(--passflow-caption);font-weight:var(--passflow-medium);gap:4px;justify-content:flex-start}.passflow-password-validation-item--success{color:var(--passflow-success)}.passflow-dialog-overlay{background-color:#1e1e1e80;inset:0;position:fixed;z-index:40}.passflow-dialog-content{left:50%;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:50}.passflow-dialog-header{display:flex;flex-direction:column;gap:6px;text-align:center}@media(min-width:640px){.passflow-dialog-header{text-align:left}}.passflow-dialog-footer{display:flex;flex-direction:column-reverse;gap:8px}@media(min-width:640px){.passflow-dialog-footer{flex-direction:row;justify-content:flex-end}}.passflow-dialog-title{font-size:var(--passflow-h2);font-weight:var(--passflow-semibold);letter-spacing:-.02em;line-height:1}.passflow-dialog-description{color:var(--passflow-secondary-text-color);font-size:var(--passflow-body-2)}.passflow-popover-content{background-color:var(--passflow-white);border-radius:4px;box-shadow:0 5px 20px #0000000d;z-index:10}.passflow-popover-menu{align-items:flex-start;display:flex;flex-direction:column;gap:4px;padding:6px;width:125px}.passflow-popover-menu-item{gap:6px;justify-content:flex-start;padding:6px;width:100%}.passflow-popover-menu-item:hover{background-color:var(--passflow-background)}.passflow-popover-menu-item-text{color:var(--passflow-dark-three);font-size:var(--passflow-body-2);font-weight:var(--passflow-medium)}.passflow-popover-menu-item-text--warning{color:var(--passflow-warning)}.passflow-switch-wrapper{align-items:center;cursor:pointer;display:inline-flex;gap:12px;position:relative}.passflow-switch-label{color:var(--passflow-text-color);font-size:var(--passflow-caption);font-weight:var(--passflow-medium)}.passflow-switch-input{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}.passflow-switch-track{background-color:var(--passflow-grey-two);border-radius:9999px;height:16px;position:relative;transition:background-color .2s;width:28px}.passflow-switch-track:after{background-color:var(--passflow-white);border-radius:50%;content:"";height:12px;position:absolute;right:14px;top:50%;transform:translateY(-50%);transition:transform .2s;width:12px}.passflow-switch-input:checked+.passflow-switch-track{background-color:var(--passflow-primary-color)}.passflow-switch-input:checked+.passflow-switch-track:after{transform:translate(12px,-50%)}[dir=rtl] .passflow-switch-input:checked+.passflow-switch-track:after{transform:translate(-14px,-50%)}.passflow-icon{background-color:transparent}.passflow-icon--small{height:16px;width:16px}.passflow-icon--medium{height:20px;width:20px}.passflow-icon--big{height:32px;width:32px}.passflow-icon--large{height:44px;width:44px}.passflow-icon--warning{stroke:var(--passflow-warning)}.passflow-icon--white{background-color:var(--passflow-white)}.passflow-icon--success{stroke:var(--passflow-primary-color)}.passflow-flag{background-position:50%;background-repeat:no-repeat;background-size:contain;height:100%;width:100%}.passflow-verify-otp{display:flex;flex-direction:column;gap:32px}.passflow-verify-otp-container{background-color:var(--passflow-card-color);border-radius:6px;box-shadow:0 4px 15px #00000017;display:flex;flex-direction:column;gap:56px;padding:24px 24px 56px}.passflow-verify-otp-button{background-color:var(--passflow-background);border:none;position:relative}.passflow-verify-otp-button-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%)}.passflow-verify-otp-wrapper{align-items:center;display:flex;flex-direction:column;gap:6px;justify-content:center}.passflow-verify-otp-inputs{align-items:center;display:flex;gap:10px;justify-content:center}.passflow-verify-otp-error{align-items:center;display:flex;gap:4px;justify-content:center}.passflow-verify-otp-error-text{color:var(--passflow-warning);font-size:var(--passflow-caption);font-weight:var(--passflow-medium)}.passflow-verify-otp-resend{color:var(--passflow-secondary-text-color);font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);text-align:center}.passflow-providers-box{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;justify-content:center;width:100%}.passflow-providers-box--grid{align-items:stretch;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(49px,1fr));justify-content:stretch}.passflow-provider-item{align-items:center;display:flex;gap:8px}.passflow-provider-text{color:var(--passflow-federated_button_text_color);font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);text-transform:capitalize}.passflow-ripple-container{inset:0;overflow:hidden;position:absolute}.passflow-ripple-effect{background-color:currentColor;opacity:.6}.passflow-form{display:flex;flex-direction:column;gap:32px;max-width:384px;width:100%}.passflow-form-switch{align-items:center;display:flex;justify-content:center;margin-bottom:-8px;width:100%}.passflow-form-container{background-color:var(--passflow-card-color);border-radius:6px;box-shadow:0 4px 15px #00000017;gap:24px;max-width:384px;padding:24px}.passflow-form-container,.passflow-form-field{align-items:flex-start;display:flex;flex-direction:column;justify-content:flex-start;width:100%}.passflow-form-field{gap:6px}.passflow-form-field__header{align-items:center;display:flex;justify-content:space-between;max-height:18px;width:100%}.passflow-form-error{align-items:center;display:flex;gap:4px;justify-content:center;margin-top:4px}.passflow-form-error-text{color:var(--passflow-warning);font-size:var(--passflow-caption);font-weight:var(--passflow-medium)}.passflow-form-actions{align-items:center;display:flex;justify-content:center;margin:0 auto;max-width:336px;width:100%}.passflow-form-actions--top-space{margin-top:-8px}.passflow-form-divider{align-items:center;display:flex;justify-content:space-between;padding:9px 0;position:relative;width:100%}.passflow-form-divider__line-left,.passflow-form-divider__line-right{background-color:var(--passflow-divider-color);height:1px;width:105px}.passflow-form-divider__text{background-color:transparent;color:var(--passflow-secondary-text-color);font-size:var(--passflow-caption);font-weight:var(--passflow-medium);left:50%;padding:0 15px;position:absolute;top:50%;transform:translate(-50%,-50%)}.passflow-form-providers{align-items:flex-start;display:flex;flex-direction:column;gap:24px;justify-content:flex-start;margin:0 auto;max-width:336px;width:100%}.passflow-link{color:var(--passflow-primary-color);font-size:var(--passflow-body-2);font-weight:var(--passflow-semibold);line-height:18px}.passflow-dont-have-account,.passflow-have-account,.passflow-remember-password{color:var(--passflow-secondary-text-color);font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);line-height:18px;text-align:center}.passflow-country-search-wrapper{background-color:var(--passflow-card-color);border-bottom-left-radius:4px;border-bottom-right-radius:4px;box-shadow:0 4px 15px #00000017;left:0;max-height:200px;overflow-y:auto;position:absolute;scrollbar-color:var(--passflow-secondary-text-color) transparent;scrollbar-width:thin;top:2px;transform:translateY(48px);width:100%;z-index:10}.passflow-country-search-wrapper::-webkit-scrollbar{width:6px}.passflow-country-search-wrapper::-webkit-scrollbar-track{background:transparent}.passflow-country-search-wrapper::-webkit-scrollbar-thumb{background-color:var(--passflow-secondary-text-color);border-radius:3px}.passflow-country-search-wrapper--show{display:block;opacity:1;transition:opacity .2s ease,visibility .2s ease;visibility:visible}.passflow-country-search-wrapper--hidden{display:none;opacity:0;visibility:hidden}.passflow-country-search-sticky-bottom,.passflow-country-search-sticky-top{background-color:var(--passflow-card-color);height:10px;left:0;overflow-x:hidden;position:sticky;width:100%;z-index:10}.passflow-country-search-sticky-top{top:0}.passflow-country-search-sticky-bottom{bottom:0}.passflow-country-search-item{align-items:center;background-color:var(--passflow-card-color);cursor:pointer;display:flex;justify-content:flex-start;max-height:32px;padding:7px 12px;transition:background-color .2s ease;width:100%}.passflow-country-search-item:focus,.passflow-country-search-item:hover{background-color:var(--passflow-background)}.passflow-country-search-flag{height:15px;width:21px}.passflow-country-search-name{color:var(--passflow-text-color);margin-left:8px}.passflow-country-search-code,.passflow-country-search-name{font-size:var(--passflow-body-2);font-weight:var(--passflow-medium)}.passflow-country-search-code{color:var(--passflow-secondary-text-color);margin-left:auto;transition:color .2s ease}.passflow-country-search-item:hover .passflow-country-search-code{color:var(--passflow-text-color)}.passflow-country-search-divider{border-bottom:1px solid var(--passflow-divider-color);font-size:var(--passflow-caption);margin:12px 12px 6px;padding-bottom:6px}.passflow-country-search-divider,.passflow-country-search-no-matches{color:var(--passflow-secondary-text-color);font-weight:var(--passflow-medium)}.passflow-country-search-no-matches{display:block;font-size:var(--passflow-body-2);margin:0 auto;padding:15px;text-align:center;width:100%}.passflow-forgot-password-success-wrapper{display:flex;flex-direction:column;gap:24px;width:100%}.passflow-forgot-password-success-container{display:flex;flex-direction:column;gap:32px;margin-top:-8px;max-width:336px;width:100%}.passflow-forgot-password-success-text{color:var(--passflow-secondary-text-color);font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);text-align:center}.passflow-forgot-password-success-text--strong{font-weight:var(--passflow-bold)}.passflow-verify-challenge-magic-link-wrapper{display:flex;flex-direction:column;margin:0 auto;width:100%}.passflow-verify-challenge-magic-link-container{display:flex;flex-direction:column;gap:32px;margin-top:-24px;max-width:336px;width:100%}.passflow-verify-challenge-magic-link-text{color:var(--passflow-secondary-text-color);font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);text-align:center}.passflow-verify-challenge-magic-link-text--strong{font-weight:var(--passflow-bold)}.passflow-verify-challenge-success-wrapper{gap:32px}.passflow-verify-challenge-success-container,.passflow-verify-challenge-success-wrapper{align-items:center;display:flex;flex-direction:column;justify-content:flex-start;width:100%}.passflow-verify-challenge-success-container{gap:8px}.passflow-verify-challenge-success-text{color:var(--passflow-text-color);font-size:var(--passflow-h2);font-weight:var(--passflow-bold);text-align:center}.passflow-invitation-join-text,.passflow-verify-challenge-success-text-secondary{color:var(--passflow-secondary-text-color);font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);text-align:center}.passflow-invitation-join-text{display:block;margin-top:-8px;max-width:320px}.passflow-invitation-join-text-strong{font-weight:var(--passflow-bold)}.passflow-invitation-join-actions{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:start;width:100%}.passflow-reset-password-text{color:var(--passflow-secondary-text-color);display:block;font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);margin-top:-32px;text-align:center}.passflow-error-container{gap:32px;margin-top:-8px}.passflow-error-container,.passflow-error-container-text-wrapper{align-items:center;display:flex;flex-direction:column;justify-content:start}.passflow-error-container-text-wrapper{gap:8px}.passflow-error-container-text{color:var(--passflow-warning);font-size:var(--passflow-h2);font-weight:var(--passflow-bold);text-align:center}.passflow-error-container-text-secondary{color:var(--passflow-secondary-text-color);font-size:var(--passflow-body-2);font-weight:var(--passflow-medium);text-align:center}.passflow-form-main-container-logo{border-radius:8px;height:44px;object-fit:cover;object-position:center;width:44px}.passflow-form-error--critical,.passflow-form-error--persistent{align-items:center;background-color:#fef2f2;border:1px solid #fecaca;border-radius:12px;display:flex;flex-direction:column;gap:12px;margin-top:16px;padding:20px 24px;text-align:center}.passflow-form-error--critical .icon-warning,.passflow-form-error--persistent .icon-warning{color:#dc2626;flex-shrink:0;height:32px;width:32px}.passflow-form-error-content{align-items:center;display:flex;flex-direction:column;gap:16px;width:100%}.passflow-form-error--critical .passflow-form-error-text,.passflow-form-error--persistent .passflow-form-error-text{color:#991b1b;font-size:14px;line-height:1.5;margin:0}.passflow-form-error-actions{align-items:center;display:flex;flex-direction:column;gap:12px;justify-content:center;width:100%}.passflow-button-setup-2fa{min-width:140px;white-space:nowrap}.passflow-form-info{align-items:flex-start;background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;display:flex;gap:12px;margin-top:16px;padding:16px}.passflow-form-info .icon-info{color:#2563eb;flex-shrink:0;height:20px;margin-top:2px;width:20px}.passflow-form-info-text{color:#1e40af;font-size:14px;line-height:1.5}.passflow-field--disabled,.passflow-field-otp--disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.passflow-button-back-to-signin{min-width:140px;white-space:nowrap}.icon-info{color:#2563eb}.ad{background-position:-48px -27px}.ae{background-position:-72px -27px}.af{background-position:-96px -27px}.ag{background-position:-120px -27px}.ai{background-position:-144px -27px}.al{background-position:-168px -27px}.am{background-position:-192px -27px}.an{background-position:-216px -27px}.ao{background-position:-240px -27px}.aq{background-position:-264px -27px}.ar{background-position:-288px -27px}.as{background-position:-312px -27px}.at{background-position:-336px -27px}.au{background-position:-360px -27px}.aw{background-position:-384px -27px}.ax{background-position:0 -51px}.az{background-position:-24px -51px}.ba{background-position:-48px -51px}.bb{background-position:-72px -51px}.bd{background-position:-96px -51px}.be{background-position:-120px -51px}.bf{background-position:-144px -51px}.bg{background-position:-168px -51px}.bh{background-position:-192px -51px}.bi{background-position:-216px -51px}.bj{background-position:-240px -51px}.bl{background-position:-264px -51px}.bm{background-position:-288px -51px}.bn{background-position:-312px -51px}.bo{background-position:-336px -51px}.br{background-position:-360px -51px}.bs{background-position:-384px -51px}.bt{background-position:0 -75px}.bw{background-position:-24px -75px}.by{background-position:-48px -75px}.bz{background-position:-72px -75px}.ca{background-position:-96px -75px}.cc{background-position:-120px -75px}.cd{background-position:-144px -75px}.cf{background-position:-168px -75px}.cg{background-position:-192px -75px}.ch{background-position:-216px -75px}.ci{background-position:-240px -75px}.ck{background-position:-264px -75px}.cl{background-position:-288px -75px}.cm{background-position:-312px -75px}.cn{background-position:-336px -75px}.co{background-position:-360px -75px}.cr{background-position:-384px -75px}.cu{background-position:0 -99px}.cv{background-position:-24px -99px}.cw{background-position:-48px -99px}.cx{background-position:-72px -99px}.cy{background-position:-96px -99px}.cz{background-position:-120px -99px}.de{background-position:-144px -99px}.dj{background-position:-168px -99px}.dk{background-position:-192px -99px}.dm{background-position:-216px -99px}.do{background-position:-240px -99px}.dz{background-position:-264px -99px}.ec{background-position:-288px -99px}.ee{background-position:-312px -99px}.eg{background-position:-336px -99px}.eh{background-position:-360px -99px}.er{background-position:-384px -99px}.es{background-position:0 -123px}.et{background-position:-24px -123px}.eu{background-position:-48px -123px}.fi{background-position:-72px -123px}.fj{background-position:-96px -123px}.fk{background-position:-120px -123px}.fm{background-position:-144px -123px}.fo{background-position:-168px -123px}.fr{background-position:-192px -123px}.ga{background-position:-216px -123px}.gb{background-position:-240px -123px}.gd{background-position:-264px -123px}.ge{background-position:-288px -123px}.gg{background-position:-312px -123px}.gh{background-position:-336px -123px}.gi{background-position:-360px -123px}.gl{background-position:-384px -123px}.gm{background-position:0 -147px}.gn{background-position:-24px -147px}.gq{background-position:-48px -147px}.gr{background-position:-72px -147px}.gs{background-position:-96px -147px}.gt{background-position:-120px -147px}.gu{background-position:-144px -147px}.gw{background-position:-168px -147px}.gy{background-position:-192px -147px}.hk{background-position:-216px -147px}.hn{background-position:-240px -147px}.hr{background-position:-264px -147px}.ht{background-position:-288px -147px}.hu{background-position:-312px -147px}.ic{background-position:-336px -147px}.id{background-position:-360px -147px}.ie{background-position:-384px -147px}.il{background-position:0 -171px}.im{background-position:-24px -171px}.in{background-position:-48px -171px}.iq{background-position:-72px -171px}.ir{background-position:-96px -171px}.is{background-position:-120px -171px}.it{background-position:-144px -171px}.je{background-position:-168px -171px}.jm{background-position:-192px -171px}.jo{background-position:-216px -171px}.jp{background-position:-240px -171px}.ke{background-position:-264px -171px}.kg{background-position:-288px -171px}.kh{background-position:-312px -171px}.ki{background-position:-336px -171px}.xk{background-position:-144px 3px}.km{background-position:-360px -171px}.kn{background-position:-384px -171px}.kp{background-position:0 -195px}.kr{background-position:-24px -195px}.kw{background-position:-48px -195px}.ky{background-position:-72px -195px}.kz{background-position:-96px -195px}.la{background-position:-120px -195px}.lb{background-position:-144px -195px}.lc{background-position:-168px -195px}.li{background-position:-192px -195px}.lk{background-position:-216px -195px}.lr{background-position:-240px -195px}.ls{background-position:-264px -195px}.lt{background-position:-288px -195px}.lu{background-position:-312px -195px}.lv{background-position:-336px -195px}.ly{background-position:-360px -195px}.ma{background-position:-384px -195px}.mc{background-position:0 -219px}.md{background-position:-24px -219px}.me{background-position:-48px -219px}.mf{background-position:-72px -219px}.mg{background-position:-96px -219px}.mh{background-position:-120px -219px}.mk{background-position:-144px -219px}.ml{background-position:-168px -219px}.mm{background-position:-192px -219px}.mn{background-position:-216px -219px}.mo{background-position:-240px -219px}.mp{background-position:-264px -219px}.mq{background-position:-288px -219px}.mr{background-position:-312px -219px}.ms{background-position:-336px -219px}.mt{background-position:-360px -219px}.mu{background-position:-384px -219px}.mv{background-position:0 -243px}.mw{background-position:-24px -243px}.mx{background-position:-48px -243px}.my{background-position:-72px -243px}.mz{background-position:-96px -243px}.na{background-position:-120px -243px}.nc{background-position:-144px -243px}.ne{background-position:-168px -243px}.nf{background-position:-192px -243px}.ng{background-position:-216px -243px}.ni{background-position:-240px -243px}.nl{background-position:-264px -243px}.no{background-position:-288px -243px}.np{background-position:-312px -243px}.nr{background-position:-336px -243px}.nu{background-position:-360px -243px}.nz{background-position:-384px -243px}.om{background-position:0 -267px}.pa{background-position:-24px -267px}.pe{background-position:-48px -267px}.pf{background-position:-72px -267px}.pg{background-position:-96px -267px}.ph{background-position:-120px -267px}.pk{background-position:-192px -267px}.pl{background-position:-216px -267px}.pn{background-position:-240px -267px}.pr{background-position:-264px -267px}.ps{background-position:-288px -267px}.pt{background-position:-312px -267px}.pw{background-position:-336px -267px}.py{background-position:-360px -267px}.qa{background-position:-384px -267px}.ro{background-position:0 -291px}.rs{background-position:-24px -291px}.ru{background-position:-48px -291px}.rw{background-position:-72px -291px}.sa{background-position:-96px -291px}.sb{background-position:-120px -291px}.sc{background-position:-144px -291px}.sd{background-position:-168px -291px}.se{background-position:-192px -291px}.sg{background-position:-216px -291px}.sh{background-position:-240px -291px}.si{background-position:-264px -291px}.sk{background-position:-288px -291px}.sl{background-position:-312px -291px}.sm{background-position:-336px -291px}.sn{background-position:-360px -291px}.so{background-position:-384px -291px}.sr{background-position:0 -315px}.ss{background-position:-24px -315px}.st{background-position:-48px -315px}.sv{background-position:-72px -315px}.sy{background-position:-96px -315px}.sz{background-position:-120px -315px}.tc{background-position:-144px -315px}.td{background-position:-168px -315px}.tf{background-position:-192px -315px}.tg{background-position:-216px -315px}.th{background-position:-240px -315px}.tj{background-position:-264px -315px}.tk{background-position:-288px -315px}.tl{background-position:-312px -315px}.tm{background-position:-336px -315px}.tn{background-position:-360px -315px}.to{background-position:-384px -315px}.tr{background-position:0 -339px}.tt{background-position:-24px -339px}.tv{background-position:-48px -339px}.tw{background-position:-72px -339px}.tz{background-position:-96px -339px}.ua{background-position:-120px -339px}.ug{background-position:-144px -339px}.us{background-position:-168px -339px}.uy{background-position:-192px -339px}.uz{background-position:-216px -339px}.va{background-position:-240px -339px}.vc{background-position:-264px -339px}.ve{background-position:-288px -339px}.vg{background-position:-312px -339px}.vi{background-position:-336px -339px}.vn{background-position:-360px -339px}.vu{background-position:-384px -339px}.wf{background-position:0 -363px}.ws{background-position:-24px -363px}.ye{background-position:-48px -363px}.za{background-position:-96px -363px}.zm{background-position:-120px -363px}.zw{background-position:-144px -363px}.icon-warning{filter:invert(62%) sepia(14%) saturate(7187%) hue-rotate(321deg) brightness(90%) contrast(86%)}.icon-white{filter:brightness(0) saturate(100%) invert(100%) sepia(2%) saturate(7%) hue-rotate(80deg) brightness(103%) contrast(100%)}.react-international-phone-country-selector{position:relative}.react-international-phone-country-selector-button{align-items:center;appearance:button;-webkit-appearance:button;background-color:var(--react-international-phone-country-selector-background-color,var(--react-international-phone-background-color,#fff));border:1px solid var(--react-international-phone-country-selector-border-color,var(--react-international-phone-border-color,#dcdcdc));box-sizing:border-box;cursor:pointer;display:flex;height:var(--react-international-phone-height,36px);justify-content:center;margin:0;padding:0;text-transform:none;user-select:none}.react-international-phone-country-selector-button:hover{background-color:var(--react-international-phone-country-selector-background-color-hover,#f5f5f5)}.react-international-phone-country-selector-button--hide-dropdown{cursor:auto}.react-international-phone-country-selector-button--hide-dropdown:hover{background-color:transparent}.react-international-phone-country-selector-button__button-content{align-items:center;display:flex;justify-content:center}.react-international-phone-country-selector-button__flag-emoji{margin:0 4px}.react-international-phone-country-selector-button__flag-emoji--disabled{opacity:.75}.react-international-phone-country-selector-button__dropdown-arrow{border-left:var(--react-international-phone-country-selector-arrow-size,4px) solid transparent;border-right:var(--react-international-phone-country-selector-arrow-size,4px) solid transparent;border-top:var(--react-international-phone-country-selector-arrow-size,4px) solid var(--react-international-phone-country-selector-arrow-color,#777);margin-right:4px;transition:all .1s ease-out}.react-international-phone-country-selector-button__dropdown-arrow--active{transform:rotateX(180deg)}.react-international-phone-country-selector-button__dropdown-arrow--disabled{border-top-color:var(--react-international-phone-disabled-country-selector-arrow-color,#999)}.react-international-phone-country-selector-button--disabled,.react-international-phone-country-selector-button--disabled:hover{background-color:var(--react-international-phone-disabled-country-selector-background-color,var(--react-international-phone-disabled-background-color,#f5f5f5))}.react-international-phone-country-selector-button--disabled{cursor:auto}.react-international-phone-flag-emoji{box-sizing:border-box;height:var(--react-international-phone-flag-height,24px);width:var(--react-international-phone-flag-width,24px)}.react-international-phone-country-selector-dropdown{background-color:var(--react-international-phone-dropdown-item-background-color,var(--react-international-phone-background-color,#fff));box-shadow:var(--react-international-phone-dropdown-shadow,2px 2px 16px rgba(0,0,0,.25));color:var(--react-international-phone-dropdown-item-text-color,var(--react-international-phone-text-color,#222));display:flex;flex-direction:column;left:var(--react-international-phone-dropdown-left,0);list-style:none;margin:0;max-height:200px;overflow-y:scroll;padding:4px 0;position:absolute;top:var(--react-international-phone-dropdown-top,44px);width:300px;z-index:1}.react-international-phone-country-selector-dropdown__preferred-list-divider{background:var(--react-international-phone-dropdown-preferred-list-divider-color,var(--react-international-phone-border-color,#dcdcdc));border:none;height:1px;margin:var(--react-international-phone-dropdown-preferred-list-divider-margin,0)}.react-international-phone-country-selector-dropdown__list-item{align-items:center;box-sizing:border-box;display:flex;min-height:var(--react-international-phone-dropdown-item-height,28px);padding:2px 8px}.react-international-phone-country-selector-dropdown__list-item-flag-emoji{margin-right:8px}.react-international-phone-country-selector-dropdown__list-item-country-name{font-size:var(--react-international-phone-dropdown-item-font-size,14px);margin-right:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.react-international-phone-country-selector-dropdown__list-item-dial-code{color:var(--react-international-phone-dropdown-item-dial-code-color,gray);font-size:var(--react-international-phone-dropdown-item-font-size,14px)}.react-international-phone-country-selector-dropdown__list-item:hover{background-color:var(--react-international-phone-selected-dropdown-item-background-color,var(--react-international-phone-selected-dropdown-item-background-color,#f5f5f5));cursor:pointer}.react-international-phone-country-selector-dropdown__list-item--focused,.react-international-phone-country-selector-dropdown__list-item--selected{background-color:var(--react-international-phone-selected-dropdown-item-background-color,#f5f5f5);color:var(--react-international-phone-selected-dropdown-item-text-color,var(--react-international-phone-text-color,#222))}.react-international-phone-country-selector-dropdown__list-item--focused .react-international-phone-country-selector-dropdown__list-item-dial-code,.react-international-phone-country-selector-dropdown__list-item--selected .react-international-phone-country-selector-dropdown__list-item-dial-code{color:var(--react-international-phone-selected-dropdown-item-dial-code-color,var(--react-international-phone-dropdown-item-dial-code-color,gray))}.react-international-phone-country-selector-dropdown__list-item--focused{background-color:var(--react-international-phone-selected-dropdown-item-background-color,var(--react-international-phone-selected-dropdown-item-background-color,#f5f5f5))}.react-international-phone-dial-code-preview{align-items:center;background-color:var(--react-international-phone-dial-code-preview-background-color,var(--react-international-phone-background-color,#fff));border:1px solid var(--react-international-phone-dial-code-preview-border-color,var(--react-international-phone-border-color,#dcdcdc));color:var(--react-international-phone-dial-code-preview-text-color,var(--react-international-phone-text-color,#222));display:flex;font-size:var(--react-international-phone-dial-code-preview-font-size,var(--react-international-phone-font-size,13px));justify-content:center;margin-right:-1px;padding:0 8px}.react-international-phone-dial-code-preview--disabled{background-color:var(--react-international-phone-dial-code-preview-disabled-background-color,var(--react-international-phone-disabled-background-color,#f5f5f5));color:var(--react-international-phone-dial-code-preview-disabled-text-color,var(--react-international-phone-disabled-text-color,#666))}.react-international-phone-input-container{display:flex}.react-international-phone-input-container .react-international-phone-country-selector-button{border-radius:var(--react-international-phone-border-radius,4px);border-bottom-right-radius:0;border-top-right-radius:0;margin-right:-1px}.react-international-phone-input-container .react-international-phone-input{background-color:var(--react-international-phone-background-color,#fff);border:1px solid var(--react-international-phone-border-color,#dcdcdc);border-radius:var(--react-international-phone-border-radius,4px);border-bottom-left-radius:0;border-top-left-radius:0;box-sizing:border-box;color:var(--react-international-phone-text-color,#222);font-family:inherit;font-size:var(--react-international-phone-font-size,13px);height:var(--react-international-phone-height,36px);margin:0;overflow:visible;padding:0 8px}.react-international-phone-input-container .react-international-phone-input:focus{outline:none}.react-international-phone-input-container .react-international-phone-input--disabled{background-color:var(--react-international-phone-disabled-background-color,#f5f5f5);color:var(--react-international-phone-disabled-text-color,#666)}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@passflow/react",
3
3
  "description": "Passflow React UI Kit",
4
- "version": "0.0.1",
4
+ "version": "0.2.0",
5
5
  "type": "module",
6
6
  "files": [
7
7
  "dist"
@@ -32,6 +32,9 @@
32
32
  "preview": "vite preview",
33
33
  "test": "pnpm playwright test",
34
34
  "test:ui": "pnpm playwright test --ui",
35
+ "test:unit": "vitest run",
36
+ "test:unit:watch": "vitest",
37
+ "test:coverage": "vitest run --coverage",
35
38
  "storybook": "storybook dev -p 6006",
36
39
  "build-storybook": "storybook build"
37
40
  },
@@ -40,52 +43,52 @@
40
43
  "react-dom": "^18.0.0 || ^19.0.0"
41
44
  },
42
45
  "dependencies": {
43
- "@passflow/core": "^0.0.1",
44
- "@radix-ui/react-dialog": "^1.1.14",
45
- "@radix-ui/react-popover": "^1.1.14",
46
- "@storybook/react": "^8.6.14",
47
- "@storybook/react-vite": "^8.6.14",
48
- "@types/jest": "^29.5.14",
49
- "@types/querystringify": "^2.0.2",
50
- "classnames": "^2.5.1",
46
+ "@passflow/core": "workspace:*",
47
+ "@radix-ui/react-dialog": "^1.1.15",
48
+ "@radix-ui/react-popover": "^1.1.15",
51
49
  "clsx": "^2.1.1",
52
50
  "countries-and-timezones": "^3.8.0",
53
- "dayjs": "^1.11.13",
54
- "formik": "^2.4.6",
51
+ "dayjs": "^1.11.19",
55
52
  "history": "^5.3.0",
56
53
  "lodash": "^4.17.21",
57
- "phone": "^3.1.59",
58
- "query-string": "^9.2.0",
59
- "querystringify": "^2.2.0",
54
+ "phone": "^3.1.69",
55
+ "query-string": "^9.3.1",
60
56
  "react-error-boundary": "^4.1.2",
61
57
  "react-helmet-async": "^2.0.5",
62
- "react-hook-form": "^7.56.4",
63
- "react-international-phone": "^4.5.0",
58
+ "react-hook-form": "^7.71.1",
59
+ "react-international-phone": "^4.6.1",
64
60
  "react-otp-input": "^3.1.1",
65
61
  "tailwind-merge": "^2.6.0",
66
- "tailwindcss-scoped-preflight": "^3.4.12",
67
- "terser": "^5.39.2",
68
- "yup": "^1.6.1"
62
+ "tailwindcss-scoped-preflight": "^3.5.7",
63
+ "terser": "^5.44.1",
64
+ "yup": "^1.7.1"
69
65
  },
70
66
  "devDependencies": {
71
67
  "@biomejs/biome": "^1.9.4",
72
- "@playwright/test": "^1.52.0",
73
- "@types/lodash": "^4.17.17",
74
- "@types/node": "^22.15.21",
75
- "@types/react": "^18.3.22",
68
+ "@playwright/test": "^1.57.0",
69
+ "@testing-library/jest-dom": "^6.9.1",
70
+ "@testing-library/react": "^16.3.1",
71
+ "@testing-library/user-event": "^14.6.1",
72
+ "@types/lodash": "^4.17.23",
73
+ "@types/node": "^22.19.6",
74
+ "@types/react": "^18.3.27",
76
75
  "@types/react-dom": "^18.3.7",
77
- "@vitejs/plugin-react": "^4.5.0",
78
- "cssnano": "^7.0.7",
79
- "globals": "^16.1.0",
76
+ "@vitejs/plugin-react": "^4.7.0",
77
+ "@vitest/coverage-v8": "^4.0.17",
78
+ "autoprefixer": "^10.4.23",
79
+ "cssnano": "^7.1.2",
80
+ "globals": "^16.5.0",
81
+ "jsdom": "^27.4.0",
80
82
  "react": "^18.3.1",
81
83
  "react-dom": "^18.3.1",
82
84
  "react-router-dom": "6.30.0",
83
85
  "ts-node": "^10.9.2",
84
86
  "tsc-alias": "^1.8.16",
85
87
  "typescript": "5.8.2",
86
- "vite": "^6.3.5",
88
+ "vite": "^6.4.1",
87
89
  "vite-plugin-dts": "^4.5.4",
88
- "vite-plugin-environment": "^1.1.3"
90
+ "vite-plugin-environment": "^1.1.3",
91
+ "vitest": "^4.0.17"
89
92
  },
90
93
  "authors": [
91
94
  {
@@ -122,8 +125,5 @@
122
125
  "react-ui-kit",
123
126
  "passflow-react-ui-kit"
124
127
  ],
125
- "pnpm": {
126
- "overrides": {}
127
- },
128
128
  "packageManager": "pnpm@10.8.0"
129
129
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"varify-challenge-success.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/verify-challenge/varify-challenge-success.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAGhC,eAAO,MAAM,sBAAsB,EAAE,EAmBpC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/cn/index.ts"],"names":[],"mappings":"AAAA,OAAa,EAAE,KAAK,UAAU,EAAE,MAAM,MAAM,CAAC;AAG7C,eAAO,MAAM,EAAE,GAAI,GAAG,SAAS,UAAU,EAAE,WAA2B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/get-app-version/index.ts"],"names":[],"mappings":"AAEA,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,uBAAuB,EAAE,MAAM,IAAI,CAAC;KACrC;CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/get-auth-methods/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAiC,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG/F,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE;QACR,QAAQ,EAAE;YACR,QAAQ,EAAE,OAAO,CAAC;SACnB,CAAC;QACF,KAAK,EAAE;YACL,QAAQ,EAAE,OAAO,CAAC;YAClB,GAAG,EAAE,OAAO,CAAC;YACb,SAAS,EAAE,OAAO,CAAC;SACpB,CAAC;QACF,KAAK,EAAE;YACL,QAAQ,EAAE,OAAO,CAAC;YAClB,GAAG,EAAE,OAAO,CAAC;YACb,SAAS,EAAE,OAAO,CAAC;SACpB,CAAC;KACH,CAAC;IACF,GAAG,EAAE;QACH,SAAS,EAAE,SAAS,EAAE,CAAC;KACxB,CAAC;IACF,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,OAAO,CAAC;IACzB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,eAAe,EAAE,OAAO,CAAC;IACzB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,wBAAwB,EAAE,OAAO,CAAC;CACnC,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,aAAa,cAAc,EAAE,KAAG,WA8E9D,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/get-form-labels/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAGhE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,eAAO,MAAM,gBAAgB,GAAI,SAAS,WAAW,EAAE,MAAM,OAAO,GAAG,QAAQ,+GAO9E,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,SAAS,WAAW,EACpB,eAAe,aAAa,GAAG,IAAI,KAClC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,yBAAyB,CAAA;CAAE,GAAG,IAYhE,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,SAAS,WAAW,yGAM5D,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/get-url-errors/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,GAAI,SAAS,MAAM;;;CAM3C,CAAC"}
@@ -1,3 +0,0 @@
1
- import { Passflow } from '@passflow/core';
2
- export declare const getUrlWithTokens: (passflow: Passflow, url: string) => Promise<string>;
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/get-url-with-tokens/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,eAAO,MAAM,gBAAgB,GAAU,UAAU,QAAQ,EAAE,KAAK,MAAM,KAAG,OAAO,CAAC,MAAM,CActF,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/undefined-on-catch/index.ts"],"names":[],"mappings":"AAAA,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,SAAS,CAQ/E"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/url-params/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,gBAAgB,CAAC;;eAuC5D,MAAM;kBASH,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAoB5C,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/validate-url/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,KAAG,OAOxC,CAAC"}