@salesmind-ai/design-system 1.7.0 → 1.9.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 (64) hide show
  1. package/dist/ChangeEmail-BuUhjW0o.d.cts +226 -0
  2. package/dist/ChangeEmail-BuUhjW0o.d.ts +226 -0
  3. package/dist/{chunk-3NS6X2R4.cjs → chunk-5EIBL6DQ.cjs} +133 -38
  4. package/dist/chunk-5EIBL6DQ.cjs.map +1 -0
  5. package/dist/chunk-AI2YEYT4.js +1368 -0
  6. package/dist/chunk-AI2YEYT4.js.map +1 -0
  7. package/dist/{chunk-4QQKREVH.cjs → chunk-LM3UJILC.cjs} +3 -3
  8. package/dist/{chunk-4QQKREVH.cjs.map → chunk-LM3UJILC.cjs.map} +1 -1
  9. package/dist/{chunk-K7NQ7TQG.cjs → chunk-M4MLGT4B.cjs} +84 -27
  10. package/dist/chunk-M4MLGT4B.cjs.map +1 -0
  11. package/dist/{chunk-6BUS7RMS.js → chunk-Q3YVBUKQ.js} +133 -38
  12. package/dist/chunk-Q3YVBUKQ.js.map +1 -0
  13. package/dist/{chunk-25TUCNN6.js → chunk-QVGDMAZY.js} +84 -27
  14. package/dist/chunk-QVGDMAZY.js.map +1 -0
  15. package/dist/{chunk-2TC5EVSJ.js → chunk-TPZ3PKSF.js} +3 -3
  16. package/dist/{chunk-2TC5EVSJ.js.map → chunk-TPZ3PKSF.js.map} +1 -1
  17. package/dist/chunk-YWJKSY5C.cjs +1381 -0
  18. package/dist/chunk-YWJKSY5C.cjs.map +1 -0
  19. package/dist/index.cjs +57 -40
  20. package/dist/index.cjs.map +1 -1
  21. package/dist/index.css +2426 -0
  22. package/dist/index.css.map +1 -1
  23. package/dist/index.d.cts +1 -0
  24. package/dist/index.d.ts +1 -0
  25. package/dist/index.js +3 -2
  26. package/dist/index.js.map +1 -1
  27. package/dist/marketing/index.cjs +27 -27
  28. package/dist/marketing/index.js +1 -1
  29. package/dist/nav/index.cjs +10 -10
  30. package/dist/nav/index.css +54 -0
  31. package/dist/nav/index.css.map +1 -1
  32. package/dist/nav/index.d.cts +9 -0
  33. package/dist/nav/index.d.ts +9 -0
  34. package/dist/nav/index.js +1 -1
  35. package/dist/onboarding/index.cjs +5870 -0
  36. package/dist/onboarding/index.cjs.map +1 -0
  37. package/dist/onboarding/index.css +557 -0
  38. package/dist/onboarding/index.css.map +1 -0
  39. package/dist/onboarding/index.d.cts +1589 -0
  40. package/dist/onboarding/index.d.ts +1589 -0
  41. package/dist/onboarding/index.js +5736 -0
  42. package/dist/onboarding/index.js.map +1 -0
  43. package/dist/styles/styles.css +2593 -0
  44. package/dist/v2-auth/index.cjs +59 -0
  45. package/dist/v2-auth/index.cjs.map +1 -0
  46. package/dist/v2-auth/index.css +3360 -0
  47. package/dist/v2-auth/index.css.map +1 -0
  48. package/dist/v2-auth/index.d.cts +76 -0
  49. package/dist/v2-auth/index.d.ts +76 -0
  50. package/dist/v2-auth/index.js +24 -0
  51. package/dist/v2-auth/index.js.map +1 -0
  52. package/dist/web/index.cjs +7 -7
  53. package/dist/web/index.d.cts +1 -1
  54. package/dist/web/index.d.ts +1 -1
  55. package/dist/web/index.js +1 -1
  56. package/dist/web/server/index.cjs +7 -7
  57. package/dist/web/server/index.d.cts +91 -27
  58. package/dist/web/server/index.d.ts +91 -27
  59. package/dist/web/server/index.js +1 -1
  60. package/package.json +14 -2
  61. package/dist/chunk-25TUCNN6.js.map +0 -1
  62. package/dist/chunk-3NS6X2R4.cjs.map +0 -1
  63. package/dist/chunk-6BUS7RMS.js.map +0 -1
  64. package/dist/chunk-K7NQ7TQG.cjs.map +0 -1
package/dist/index.css CHANGED
@@ -3635,6 +3635,60 @@
3635
3635
  background: var(--fallback-surface);
3636
3636
  }
3637
3637
  }
3638
+ .ds-locale-dropdown__panel--searchable {
3639
+ display: flex;
3640
+ flex-direction: column;
3641
+ min-width: 220px;
3642
+ }
3643
+ .ds-locale-dropdown__search {
3644
+ display: flex;
3645
+ align-items: center;
3646
+ gap: var(--space-2);
3647
+ padding: var(--space-1-5) var(--space-2-5);
3648
+ margin-bottom: var(--space-1);
3649
+ border-radius: var(--radius-button);
3650
+ background: var(--glass-base-hover);
3651
+ }
3652
+ .ds-locale-dropdown__search:focus-within {
3653
+ box-shadow: var(--focus-ring);
3654
+ }
3655
+ .ds-locale-dropdown__search-icon {
3656
+ display: flex;
3657
+ align-items: center;
3658
+ color: var(--text-tertiary);
3659
+ flex-shrink: 0;
3660
+ }
3661
+ .ds-locale-dropdown__search-input {
3662
+ flex: 1;
3663
+ min-width: 0;
3664
+ padding: 0;
3665
+ border: none;
3666
+ background: transparent;
3667
+ color: var(--text-primary);
3668
+ font-family: var(--font-family);
3669
+ font-size: var(--font-size-sm);
3670
+ line-height: 1;
3671
+ }
3672
+ .ds-locale-dropdown__search-input::placeholder {
3673
+ color: var(--text-tertiary);
3674
+ }
3675
+ .ds-locale-dropdown__search-input:focus,
3676
+ .ds-locale-dropdown__search-input:focus-visible {
3677
+ outline: none;
3678
+ }
3679
+ .ds-locale-dropdown__list {
3680
+ display: flex;
3681
+ flex-direction: column;
3682
+ max-height: 280px;
3683
+ overflow-y: auto;
3684
+ }
3685
+ .ds-locale-dropdown__empty {
3686
+ padding: var(--space-3);
3687
+ color: var(--text-tertiary);
3688
+ font-family: var(--font-family);
3689
+ font-size: var(--font-size-sm);
3690
+ text-align: center;
3691
+ }
3638
3692
 
3639
3693
  /* src/components/Shell/Shell.css */
3640
3694
  .ds-shell {
@@ -9733,4 +9787,2376 @@
9733
9787
  background: var(--fallback-surface);
9734
9788
  }
9735
9789
  }
9790
+
9791
+ /* src/v2-auth/Button/Button.css */
9792
+ .ds-button {
9793
+ position: relative;
9794
+ display: inline-flex;
9795
+ align-items: center;
9796
+ justify-content: center;
9797
+ gap: var(--space-2);
9798
+ border: none;
9799
+ cursor: pointer;
9800
+ font-family: var(--font-family);
9801
+ font-weight: var(--font-weight-medium);
9802
+ border-radius: var(--radius-button);
9803
+ color: var(--text-primary);
9804
+ outline: none;
9805
+ white-space: nowrap;
9806
+ hyphens: none;
9807
+ word-break: normal;
9808
+ overflow-wrap: normal;
9809
+ backdrop-filter: blur(12px) saturate(140%);
9810
+ -webkit-backdrop-filter: blur(12px) saturate(140%);
9811
+ transition:
9812
+ background var(--transition-glass),
9813
+ box-shadow var(--transition-glass),
9814
+ transform var(--transition-glass);
9815
+ }
9816
+ .ds-button::before {
9817
+ content: "";
9818
+ position: absolute;
9819
+ inset: 0;
9820
+ border-radius: inherit;
9821
+ padding: var(--space-px);
9822
+ background:
9823
+ linear-gradient(
9824
+ 180deg,
9825
+ var(--rim-light-top) 0,
9826
+ var(--rim-light-bottom) 100%);
9827
+ mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
9828
+ mask-composite: exclude;
9829
+ -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
9830
+ -webkit-mask-composite: xor;
9831
+ pointer-events: none;
9832
+ transition: background var(--transition-glass);
9833
+ }
9834
+ .ds-button:focus-visible {
9835
+ box-shadow: var(--focus-ring);
9836
+ }
9837
+ .ds-button:disabled {
9838
+ opacity: .4;
9839
+ cursor: not-allowed;
9840
+ transform: none !important;
9841
+ }
9842
+ .ds-button--primary {
9843
+ background: var(--btn-primary-bg);
9844
+ color: var(--btn-primary-text,#fff);
9845
+ box-shadow:
9846
+ var(--shadow-interactive-rest),
9847
+ var(--glass-shadow-inner),
9848
+ var(--btn-primary-glow);
9849
+ backdrop-filter: none;
9850
+ -webkit-backdrop-filter: none;
9851
+ }
9852
+ .ds-button--primary::before {
9853
+ background:
9854
+ linear-gradient(
9855
+ 180deg,
9856
+ var(--glass-highlight-strong) 0,
9857
+ rgba(var(--brand-pink-rgb), .2) 100%);
9858
+ }
9859
+ .ds-button--primary:hover:not(:disabled) {
9860
+ background: var(--btn-primary-bg-hover);
9861
+ box-shadow:
9862
+ var(--shadow-interactive-hover),
9863
+ var(--glass-shadow-inner),
9864
+ var(--btn-primary-glow-hover);
9865
+ transform: translateY(-1px);
9866
+ }
9867
+ .ds-button--primary:hover:not(:disabled)::before {
9868
+ background:
9869
+ linear-gradient(
9870
+ 180deg,
9871
+ var(--glass-highlight-bright) 0,
9872
+ rgba(var(--brand-pink-rgb), .25) 100%);
9873
+ }
9874
+ .ds-button--primary:active:not(:disabled) {
9875
+ transform: translateY(0);
9876
+ box-shadow:
9877
+ var(--shadow-interactive-active),
9878
+ var(--glass-shadow-inner),
9879
+ var(--btn-primary-glow);
9880
+ }
9881
+ .ds-button--secondary {
9882
+ background: var(--btn-secondary-bg);
9883
+ box-shadow: var(--shadow-interactive-rest-subtle), var(--glass-shadow-inner);
9884
+ }
9885
+ .ds-button--secondary:hover:not(:disabled) {
9886
+ background: var(--btn-secondary-bg-hover);
9887
+ box-shadow: var(--shadow-interactive-hover-subtle), var(--glass-shadow-inner);
9888
+ transform: translateY(-1px);
9889
+ }
9890
+ .ds-button--secondary:hover:not(:disabled)::before {
9891
+ background:
9892
+ linear-gradient(
9893
+ 180deg,
9894
+ var(--rim-light-hover-top) 0,
9895
+ var(--rim-light-hover-bottom) 100%);
9896
+ }
9897
+ .ds-button--secondary:active:not(:disabled) {
9898
+ transform: translateY(0);
9899
+ background: var(--glass-base-active);
9900
+ }
9901
+ .ds-button--outline {
9902
+ background: transparent;
9903
+ box-shadow: none;
9904
+ backdrop-filter: none;
9905
+ -webkit-backdrop-filter: none;
9906
+ color: var(--text-secondary);
9907
+ transition:
9908
+ background var(--transition-glass),
9909
+ color var(--transition-glass),
9910
+ box-shadow var(--transition-glass),
9911
+ transform var(--transition-glass);
9912
+ }
9913
+ .ds-button--outline::before {
9914
+ background:
9915
+ linear-gradient(
9916
+ 180deg,
9917
+ var(--outline-rim-top) 0,
9918
+ var(--outline-rim-bottom) 100%);
9919
+ }
9920
+ .ds-button--outline:hover:not(:disabled) {
9921
+ background: rgba(var(--brand-pink-rgb), .05);
9922
+ color: var(--text-primary);
9923
+ backdrop-filter: blur(12px) saturate(140%);
9924
+ -webkit-backdrop-filter: blur(12px) saturate(140%);
9925
+ box-shadow:
9926
+ var(--shadow-interactive-rest-light),
9927
+ var(--glass-shadow-inner),
9928
+ 0 0 16px rgba(var(--brand-pink-rgb), .1);
9929
+ transform: translateY(-1px);
9930
+ }
9931
+ .ds-button--outline:hover:not(:disabled)::before {
9932
+ background:
9933
+ linear-gradient(
9934
+ 180deg,
9935
+ rgba(var(--brand-pink-rgb), .3) 0,
9936
+ rgba(var(--brand-pink-rgb), .1) 100%);
9937
+ }
9938
+ .ds-button--outline:active:not(:disabled) {
9939
+ transform: translateY(0);
9940
+ background: rgba(var(--brand-pink-rgb), .1);
9941
+ }
9942
+ .ds-button--ghost {
9943
+ background: transparent;
9944
+ box-shadow: none;
9945
+ backdrop-filter: none;
9946
+ -webkit-backdrop-filter: none;
9947
+ color: var(--text-secondary);
9948
+ }
9949
+ .ds-button--ghost::before {
9950
+ display: none;
9951
+ }
9952
+ .ds-button--ghost:hover:not(:disabled) {
9953
+ background: var(--interactive-hover-bg);
9954
+ color: var(--text-primary);
9955
+ }
9956
+ .ds-button--ghost:active:not(:disabled) {
9957
+ background: var(--interactive-active-bg);
9958
+ }
9959
+ .ds-button--link {
9960
+ background: transparent;
9961
+ box-shadow: none;
9962
+ backdrop-filter: none;
9963
+ -webkit-backdrop-filter: none;
9964
+ color: var(--brand-pink);
9965
+ text-underline-offset: 4px;
9966
+ height: auto;
9967
+ padding: 0;
9968
+ }
9969
+ .ds-button--link::before {
9970
+ display: none;
9971
+ }
9972
+ .ds-button--link:hover:not(:disabled) {
9973
+ text-decoration: underline;
9974
+ }
9975
+ .ds-button--link:active:not(:disabled) {
9976
+ opacity: .8;
9977
+ }
9978
+ .ds-button--destructive {
9979
+ background: var(--btn-destructive-bg,rgba(var(--status-error-rgb,239,68,68),.6));
9980
+ color: var(--btn-destructive-text,#fff);
9981
+ box-shadow:
9982
+ var(--shadow-interactive-rest),
9983
+ var(--glass-shadow-inner),
9984
+ 0 0 20px rgba(var(--status-error-rgb,239,68,68), .15);
9985
+ backdrop-filter: none;
9986
+ -webkit-backdrop-filter: none;
9987
+ }
9988
+ .ds-button--destructive::before {
9989
+ background:
9990
+ linear-gradient(
9991
+ 180deg,
9992
+ var(--glass-highlight-medium) 0,
9993
+ rgba(var(--status-error-rgb,239,68,68), .15) 100%);
9994
+ }
9995
+ .ds-button--destructive:hover:not(:disabled) {
9996
+ background: var(--btn-destructive-bg-hover,rgba(var(--status-error-rgb,239,68,68),.75));
9997
+ box-shadow:
9998
+ var(--shadow-interactive-hover),
9999
+ var(--glass-shadow-inner),
10000
+ 0 0 24px rgba(var(--status-error-rgb,239,68,68), .25);
10001
+ transform: translateY(-1px);
10002
+ }
10003
+ .ds-button--destructive:hover:not(:disabled)::before {
10004
+ background:
10005
+ linear-gradient(
10006
+ 180deg,
10007
+ var(--glass-highlight-strong) 0,
10008
+ rgba(var(--status-error-rgb,239,68,68), .2) 100%);
10009
+ }
10010
+ .ds-button--destructive:active:not(:disabled) {
10011
+ transform: translateY(0);
10012
+ background: var(--btn-destructive-bg-active,rgba(var(--status-error-rgb,239,68,68),.85));
10013
+ }
10014
+ .ds-button--sm {
10015
+ font-size: var(--font-size-sm);
10016
+ padding: var(--space-2) var(--space-4);
10017
+ height: 2rem;
10018
+ }
10019
+ .ds-button--md {
10020
+ font-size: var(--font-size-base);
10021
+ padding: var(--space-2) var(--space-5);
10022
+ height: 2.5rem;
10023
+ }
10024
+ .ds-button--lg {
10025
+ font-size: var(--font-size-lg);
10026
+ padding: var(--space-3) var(--space-6);
10027
+ height: 3rem;
10028
+ }
10029
+ .ds-button--icon {
10030
+ padding: 0;
10031
+ aspect-ratio: 1;
10032
+ }
10033
+ .ds-button--icon.ds-button--sm {
10034
+ width: 2rem;
10035
+ }
10036
+ .ds-button--icon.ds-button--md {
10037
+ width: 2.5rem;
10038
+ }
10039
+ .ds-button--icon.ds-button--lg {
10040
+ width: 3rem;
10041
+ }
10042
+ @media (prefers-contrast:more) {
10043
+ .ds-button {
10044
+ border: 1px solid var(--hc-border);
10045
+ }
10046
+ .ds-button::before {
10047
+ display: none;
10048
+ }
10049
+ .ds-button--primary {
10050
+ background: rgba(var(--brand-pink-rgb), .8);
10051
+ }
10052
+ .ds-button--secondary {
10053
+ background: var(--hc-surface-subtle);
10054
+ }
10055
+ .ds-button--ghost {
10056
+ border-color: transparent;
10057
+ }
10058
+ .ds-button--ghost:hover:not(:disabled) {
10059
+ border-color: var(--hc-border-subtle);
10060
+ }
10061
+ .ds-button--link {
10062
+ border: none;
10063
+ text-decoration: underline;
10064
+ }
10065
+ .ds-button--destructive {
10066
+ background: rgba(var(--status-error-rgb,239,68,68), .85);
10067
+ }
10068
+ }
10069
+ @supports not (backdrop-filter:blur(1px)) {
10070
+ .ds-button--primary {
10071
+ background: rgba(var(--brand-pink-rgb), .85);
10072
+ }
10073
+ .ds-button--secondary {
10074
+ background: var(--fallback-surface);
10075
+ }
10076
+ }
10077
+ :root[data-theme=light-contrast] .ds-button--primary::before,
10078
+ :root[data-theme=light] .ds-button--primary::before {
10079
+ background:
10080
+ linear-gradient(
10081
+ 180deg,
10082
+ var(--glass-highlight-light) 0,
10083
+ rgba(var(--brand-pink-rgb), .08) 100%);
10084
+ }
10085
+ :root[data-theme=light-contrast] .ds-button--primary:hover:not(:disabled)::before,
10086
+ :root[data-theme=light] .ds-button--primary:hover:not(:disabled)::before {
10087
+ background:
10088
+ linear-gradient(
10089
+ 180deg,
10090
+ var(--glass-highlight-medium) 0,
10091
+ rgba(var(--brand-pink-rgb), .1) 100%);
10092
+ }
10093
+ :root[data-theme=light-contrast] .ds-button--destructive::before,
10094
+ :root[data-theme=light] .ds-button--destructive::before {
10095
+ background:
10096
+ linear-gradient(
10097
+ 180deg,
10098
+ var(--glass-highlight-light) 0,
10099
+ rgba(var(--status-error-rgb,239,68,68), .06) 100%);
10100
+ }
10101
+ :root[data-theme=light-contrast] .ds-button--destructive:hover:not(:disabled)::before,
10102
+ :root[data-theme=light] .ds-button--destructive:hover:not(:disabled)::before {
10103
+ background:
10104
+ linear-gradient(
10105
+ 180deg,
10106
+ var(--glass-highlight-light) 0,
10107
+ rgba(var(--status-error-rgb,239,68,68), .08) 100%);
10108
+ }
10109
+ .ds-button--loading {
10110
+ position: relative;
10111
+ cursor: not-allowed;
10112
+ opacity: .8;
10113
+ }
10114
+ .ds-button__spinner {
10115
+ position: absolute;
10116
+ top: 50%;
10117
+ left: 50%;
10118
+ transform: translate(-50%, -50%);
10119
+ animation: ds-button-spin 1s linear infinite;
10120
+ }
10121
+ .ds-button__content {
10122
+ display: inline-flex;
10123
+ align-items: center;
10124
+ justify-content: center;
10125
+ gap: inherit;
10126
+ visibility: visible;
10127
+ }
10128
+ .ds-button__content--hidden {
10129
+ visibility: hidden;
10130
+ }
10131
+ @keyframes ds-button-spin {
10132
+ 0% {
10133
+ transform: translate(-50%, -50%) rotate(0deg);
10134
+ }
10135
+ 100% {
10136
+ transform: translate(-50%, -50%) rotate(1turn);
10137
+ }
10138
+ }
10139
+
10140
+ /* src/v2-auth/TextField/TextField.css */
10141
+ .ds-textfield {
10142
+ display: flex;
10143
+ flex-direction: column;
10144
+ gap: var(--space-2);
10145
+ }
10146
+ .ds-textfield__label {
10147
+ font-family: var(--font-family);
10148
+ font-size: var(--font-size-sm);
10149
+ font-weight: var(--font-weight-medium);
10150
+ color: var(--text-secondary);
10151
+ transition: color var(--transition-base);
10152
+ }
10153
+ .ds-textfield:focus-within .ds-textfield__label {
10154
+ color: var(--text-primary);
10155
+ }
10156
+ .ds-textfield__input {
10157
+ position: relative;
10158
+ font-family: var(--font-family);
10159
+ font-size: var(--font-size-base);
10160
+ padding: var(--space-3) var(--space-4);
10161
+ border: none;
10162
+ border-radius: var(--radius-button);
10163
+ color: var(--text-primary);
10164
+ outline: none;
10165
+ width: 100%;
10166
+ box-sizing: border-box;
10167
+ background: var(--glass-base-active);
10168
+ backdrop-filter: blur(20px) saturate(140%);
10169
+ -webkit-backdrop-filter: blur(20px) saturate(140%);
10170
+ box-shadow: var(--shadow-md), var(--shadow-inset-border-subtle);
10171
+ transition: background var(--transition-glass), box-shadow var(--transition-glass);
10172
+ }
10173
+ .ds-textfield__input::before {
10174
+ content: "";
10175
+ position: absolute;
10176
+ inset: 0;
10177
+ border-radius: inherit;
10178
+ padding: var(--space-px);
10179
+ background:
10180
+ linear-gradient(
10181
+ 180deg,
10182
+ var(--rim-light-top) 0,
10183
+ var(--rim-light-bottom) 100%);
10184
+ mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
10185
+ mask-composite: exclude;
10186
+ -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
10187
+ -webkit-mask-composite: xor;
10188
+ pointer-events: none;
10189
+ }
10190
+ .ds-textfield__input-wrapper {
10191
+ position: relative;
10192
+ }
10193
+ .ds-textfield__input-wrapper::before {
10194
+ content: "";
10195
+ position: absolute;
10196
+ inset: 0;
10197
+ border-radius: var(--radius-button);
10198
+ padding: var(--space-px);
10199
+ background:
10200
+ linear-gradient(
10201
+ 180deg,
10202
+ var(--rim-light-top) 0,
10203
+ var(--rim-light-bottom) 100%);
10204
+ mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
10205
+ mask-composite: exclude;
10206
+ -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
10207
+ -webkit-mask-composite: xor;
10208
+ pointer-events: none;
10209
+ transition: background var(--transition-glass);
10210
+ }
10211
+ .ds-textfield__input::placeholder {
10212
+ color: var(--text-tertiary);
10213
+ }
10214
+ .ds-textfield__input::placeholder {
10215
+ color: var(--text-tertiary);
10216
+ }
10217
+ .ds-textfield__input:hover:not(:disabled):not(:focus) {
10218
+ background: var(--glass-base-hover);
10219
+ }
10220
+ .ds-textfield__input-wrapper:hover:not(:has(:disabled)):not(:has(:focus))::before {
10221
+ background:
10222
+ linear-gradient(
10223
+ 180deg,
10224
+ var(--rim-light-hover-top) 0,
10225
+ var(--rim-light-hover-bottom) 100%);
10226
+ }
10227
+ .ds-textfield__input:focus {
10228
+ background: var(--glass-base-hover);
10229
+ box-shadow:
10230
+ var(--shadow-lg),
10231
+ var(--glass-shadow-inner),
10232
+ 0 0 0 2px rgba(var(--brand-pink-rgb), .3);
10233
+ }
10234
+ .ds-textfield__input-wrapper:has(:focus)::before {
10235
+ background:
10236
+ linear-gradient(
10237
+ 180deg,
10238
+ rgba(var(--brand-pink-rgb), .4) 0,
10239
+ rgba(var(--brand-pink-rgb), .1) 100%);
10240
+ }
10241
+ .ds-textfield__input:disabled {
10242
+ opacity: .4;
10243
+ cursor: not-allowed;
10244
+ }
10245
+ .ds-textfield__input--adorned {
10246
+ padding-right: var(--space-12);
10247
+ }
10248
+ .ds-textfield__adornment {
10249
+ position: absolute;
10250
+ right: var(--space-2);
10251
+ top: 50%;
10252
+ transform: translateY(-50%);
10253
+ display: flex;
10254
+ align-items: center;
10255
+ justify-content: center;
10256
+ z-index: 2;
10257
+ }
10258
+ .ds-textfield__input--error {
10259
+ box-shadow:
10260
+ var(--shadow-md),
10261
+ var(--shadow-inset-border-error),
10262
+ 0 0 0 1px rgba(var(--status-error-rgb), .5);
10263
+ }
10264
+ .ds-textfield__input-wrapper:has(.ds-textfield__input--error)::before {
10265
+ background:
10266
+ linear-gradient(
10267
+ 180deg,
10268
+ rgba(var(--status-error-rgb), .4) 0,
10269
+ rgba(var(--status-error-rgb), .1) 100%);
10270
+ }
10271
+ .ds-textfield__input--error:focus {
10272
+ box-shadow:
10273
+ var(--shadow-lg),
10274
+ var(--glass-shadow-inner),
10275
+ 0 0 0 2px rgba(var(--status-error-rgb), .4);
10276
+ }
10277
+ .ds-textfield__helper {
10278
+ font-family: var(--font-family);
10279
+ font-size: var(--font-size-xs);
10280
+ color: var(--text-tertiary);
10281
+ }
10282
+ .ds-textfield__helper--error {
10283
+ color: var(--status-error);
10284
+ }
10285
+ @media (prefers-contrast:more) {
10286
+ .ds-textfield__input {
10287
+ background: var(--hc-surface-input);
10288
+ border: 1px solid var(--hc-border);
10289
+ }
10290
+ .ds-textfield__input-wrapper::before {
10291
+ display: none;
10292
+ }
10293
+ .ds-textfield__input:focus {
10294
+ border-color: var(--brand-pink);
10295
+ }
10296
+ .ds-textfield__input--error {
10297
+ border-color: var(--status-error);
10298
+ }
10299
+ }
10300
+ @supports not (backdrop-filter:blur(1px)) {
10301
+ .ds-textfield__input {
10302
+ background: var(--fallback-surface);
10303
+ }
10304
+ }
10305
+ .ds-signup__phone-container,
10306
+ .ds-signup__phone-container.ds-textfield__input {
10307
+ display: flex;
10308
+ align-items: center;
10309
+ position: relative;
10310
+ width: 100%;
10311
+ }
10312
+ .ds-signup__phone-container.ds-textfield__input {
10313
+ padding: 0;
10314
+ overflow: hidden;
10315
+ }
10316
+ .ds-signup__password-wrapper .ds-textfield__input {
10317
+ padding-right: var(--space-12);
10318
+ }
10319
+ .ds-forgot__password-wrapper .ds-textfield__input {
10320
+ padding-right: var(--space-12);
10321
+ }
10322
+
10323
+ /* src/v2-auth/Checkbox/Checkbox.css */
10324
+ .ds-checkbox-wrapper {
10325
+ display: flex;
10326
+ align-items: center;
10327
+ gap: var(--space-3);
10328
+ }
10329
+ .ds-checkbox {
10330
+ all: unset;
10331
+ position: relative;
10332
+ width: 1.25rem;
10333
+ height: 1.25rem;
10334
+ border-radius: var(--radius-badge);
10335
+ display: flex;
10336
+ align-items: center;
10337
+ justify-content: center;
10338
+ cursor: pointer;
10339
+ flex-shrink: 0;
10340
+ background: var(--glass-base);
10341
+ backdrop-filter: blur(12px) saturate(140%);
10342
+ -webkit-backdrop-filter: blur(12px) saturate(140%);
10343
+ box-shadow: var(--shadow-sm), var(--shadow-inset-border-error);
10344
+ transition:
10345
+ background var(--transition-glass),
10346
+ box-shadow var(--transition-glass),
10347
+ transform var(--transition-glass);
10348
+ }
10349
+ .ds-checkbox::before {
10350
+ content: "";
10351
+ position: absolute;
10352
+ inset: 0;
10353
+ border-radius: inherit;
10354
+ padding: var(--space-px);
10355
+ background:
10356
+ linear-gradient(
10357
+ 180deg,
10358
+ var(--rim-light-top) 0,
10359
+ var(--rim-light-bottom) 100%);
10360
+ mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
10361
+ mask-composite: exclude;
10362
+ -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
10363
+ -webkit-mask-composite: xor;
10364
+ pointer-events: none;
10365
+ transition: background var(--transition-glass);
10366
+ }
10367
+ .ds-checkbox:hover:not([disabled]) {
10368
+ background: var(--glass-base-hover);
10369
+ transform: translateY(-1px);
10370
+ box-shadow: var(--shadow-md), var(--glass-shadow-inner);
10371
+ }
10372
+ .ds-checkbox:hover:not([disabled])::before {
10373
+ background:
10374
+ linear-gradient(
10375
+ 180deg,
10376
+ var(--rim-light-hover-top) 0,
10377
+ var(--rim-light-hover-bottom) 100%);
10378
+ }
10379
+ .ds-checkbox:focus-visible {
10380
+ box-shadow: var(--focus-ring);
10381
+ }
10382
+ .ds-checkbox[data-state=checked] {
10383
+ background: var(--btn-primary-bg);
10384
+ box-shadow:
10385
+ var(--shadow-sm),
10386
+ var(--glass-shadow-inner),
10387
+ var(--btn-primary-glow);
10388
+ }
10389
+ .ds-checkbox[data-state=checked]::before {
10390
+ background:
10391
+ linear-gradient(
10392
+ 180deg,
10393
+ var(--glass-highlight-strong) 0,
10394
+ rgba(var(--brand-pink-rgb), .2) 100%);
10395
+ }
10396
+ .ds-checkbox[data-state=checked]:hover:not([disabled]) {
10397
+ background: var(--btn-primary-bg-hover);
10398
+ box-shadow:
10399
+ var(--shadow-md),
10400
+ var(--glass-highlight-medium),
10401
+ var(--btn-primary-glow-hover);
10402
+ }
10403
+ .ds-checkbox[disabled] {
10404
+ opacity: .4;
10405
+ cursor: not-allowed;
10406
+ transform: none !important;
10407
+ }
10408
+ .ds-checkbox__indicator {
10409
+ display: flex;
10410
+ align-items: center;
10411
+ justify-content: center;
10412
+ width: 100%;
10413
+ height: 100%;
10414
+ color: var(--text-primary);
10415
+ position: relative;
10416
+ z-index: 1;
10417
+ }
10418
+ .ds-checkbox__icon {
10419
+ width: .75rem;
10420
+ height: .75rem;
10421
+ animation: ds-checkbox-check-in .15s ease-out;
10422
+ }
10423
+ @keyframes ds-checkbox-check-in {
10424
+ 0% {
10425
+ opacity: 0;
10426
+ transform: scale(.8);
10427
+ }
10428
+ 100% {
10429
+ opacity: 1;
10430
+ transform: scale(1);
10431
+ }
10432
+ }
10433
+ .ds-checkbox__label {
10434
+ font-family: var(--font-family);
10435
+ font-size: var(--font-size-base);
10436
+ color: var(--text-primary);
10437
+ cursor: pointer;
10438
+ -webkit-user-select: none;
10439
+ -moz-user-select: none;
10440
+ user-select: none;
10441
+ line-height: var(--line-height-normal);
10442
+ }
10443
+ .ds-checkbox-wrapper:has(.ds-checkbox[disabled]) .ds-checkbox__label,
10444
+ .ds-checkbox[disabled] + .ds-checkbox__label {
10445
+ opacity: .4;
10446
+ cursor: not-allowed;
10447
+ }
10448
+ @media (prefers-contrast:more) {
10449
+ .ds-checkbox {
10450
+ background: var(--hc-surface-input);
10451
+ border: 1px solid var(--hc-border-strong);
10452
+ }
10453
+ .ds-checkbox::before {
10454
+ display: none;
10455
+ }
10456
+ .ds-checkbox[data-state=checked] {
10457
+ background: rgba(var(--brand-pink-rgb), .8);
10458
+ border-color: var(--brand-pink);
10459
+ }
10460
+ }
10461
+ @media (prefers-reduced-motion:reduce) {
10462
+ .ds-checkbox__icon {
10463
+ animation: none;
10464
+ }
10465
+ }
10466
+
10467
+ /* src/v2-auth/Login/Login.css */
10468
+ .ds-login {
10469
+ position: relative;
10470
+ display: flex;
10471
+ flex-direction: column;
10472
+ align-items: center;
10473
+ justify-content: center;
10474
+ width: 100%;
10475
+ padding: var(--space-6);
10476
+ }
10477
+ .ds-login__accent {
10478
+ position: absolute;
10479
+ border-radius: 50%;
10480
+ filter: blur(80px);
10481
+ opacity: .5;
10482
+ pointer-events: none;
10483
+ animation: ds-login-float 20s ease-in-out infinite;
10484
+ }
10485
+ .ds-login__accent--1 {
10486
+ width: 400px;
10487
+ height: 400px;
10488
+ background:
10489
+ radial-gradient(
10490
+ circle,
10491
+ rgba(var(--accent-rgb), .4) 0,
10492
+ transparent 70%);
10493
+ top: -100px;
10494
+ right: -100px;
10495
+ animation-delay: 0s;
10496
+ }
10497
+ .ds-login__accent--2 {
10498
+ width: 300px;
10499
+ height: 300px;
10500
+ background:
10501
+ radial-gradient(
10502
+ circle,
10503
+ rgba(var(--accent2-rgb), .3) 0,
10504
+ transparent 70%);
10505
+ bottom: -50px;
10506
+ left: -50px;
10507
+ animation-delay: -10s;
10508
+ }
10509
+ @keyframes ds-login-float {
10510
+ 0%, 100% {
10511
+ transform: translate(0) scale(1);
10512
+ }
10513
+ 25% {
10514
+ transform: translate(20px, -30px) scale(1.05);
10515
+ }
10516
+ 50% {
10517
+ transform: translate(-10px, 20px) scale(.95);
10518
+ }
10519
+ 75% {
10520
+ transform: translate(-30px, -10px) scale(1.02);
10521
+ }
10522
+ }
10523
+ .ds-login__card {
10524
+ position: relative;
10525
+ width: 100%;
10526
+ max-width: 420px;
10527
+ padding: var(--space-8);
10528
+ border-radius: var(--radius-panel);
10529
+ background: var(--glass-base);
10530
+ backdrop-filter: var(--glass-backdrop);
10531
+ -webkit-backdrop-filter: var(--glass-backdrop);
10532
+ box-shadow: var(--glass-shadow-elevated-combined);
10533
+ animation: ds-login-card-enter .6s cubic-bezier(.16, 1, .3, 1) forwards;
10534
+ opacity: 0;
10535
+ transform: translateY(20px);
10536
+ }
10537
+ .ds-login__card::before {
10538
+ content: "";
10539
+ position: absolute;
10540
+ inset: 0;
10541
+ border-radius: inherit;
10542
+ padding: 1px;
10543
+ background:
10544
+ linear-gradient(
10545
+ 180deg,
10546
+ var(--rim-light-hover-top) 0,
10547
+ var(--rim-light-bottom) 100%);
10548
+ mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
10549
+ mask-composite: exclude;
10550
+ -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
10551
+ -webkit-mask-composite: xor;
10552
+ pointer-events: none;
10553
+ }
10554
+ @keyframes ds-login-card-enter {
10555
+ to {
10556
+ opacity: 1;
10557
+ transform: translateY(0);
10558
+ }
10559
+ }
10560
+ .ds-login__header {
10561
+ text-align: center;
10562
+ margin-bottom: var(--space-6);
10563
+ }
10564
+ .ds-login__logo {
10565
+ display: flex;
10566
+ justify-content: center;
10567
+ margin-bottom: var(--space-4);
10568
+ animation: ds-login-fade-in .5s ease-out .1s forwards;
10569
+ opacity: 0;
10570
+ }
10571
+ .ds-login__logo--default {
10572
+ display: flex;
10573
+ }
10574
+ .ds-login__logo-icon {
10575
+ width: 56px;
10576
+ height: 56px;
10577
+ animation: ds-login-logo-pulse 3s ease-in-out infinite;
10578
+ }
10579
+ .ds-login__logo-icon svg {
10580
+ width: 100%;
10581
+ height: 100%;
10582
+ filter: drop-shadow(0 4px 12px rgba(var(--accent-rgb), .3));
10583
+ }
10584
+ @keyframes ds-login-logo-pulse {
10585
+ 0%, 100% {
10586
+ transform: scale(1);
10587
+ filter: drop-shadow(0 4px 12px rgba(var(--accent-rgb), .3));
10588
+ }
10589
+ 50% {
10590
+ transform: scale(1.05);
10591
+ filter: drop-shadow(0 6px 20px rgba(var(--accent-rgb), .5));
10592
+ }
10593
+ }
10594
+ .ds-login__title {
10595
+ animation: ds-login-fade-in .5s ease-out .2s forwards;
10596
+ }
10597
+ .ds-login__tagline,
10598
+ .ds-login__title {
10599
+ font-family: var(--font-family);
10600
+ font-size: var(--font-size-2xl);
10601
+ font-weight: var(--font-weight-bold);
10602
+ color: var(--text-primary);
10603
+ margin: 0 0 var(--space-2);
10604
+ opacity: 0;
10605
+ }
10606
+ .ds-login__tagline {
10607
+ line-height: var(--line-height-normal);
10608
+ animation: ds-login-fade-in .5s ease-out .3s forwards;
10609
+ }
10610
+ @keyframes ds-login-fade-in {
10611
+ to {
10612
+ opacity: 1;
10613
+ }
10614
+ }
10615
+ .ds-login__error {
10616
+ display: flex;
10617
+ align-items: center;
10618
+ gap: var(--space-2);
10619
+ padding: var(--space-3) var(--space-4);
10620
+ margin-bottom: var(--space-4);
10621
+ border-radius: var(--radius-button);
10622
+ background: rgba(var(--status-error-rgb), .1);
10623
+ border: 1px solid rgba(var(--status-error-rgb), .3);
10624
+ color: var(--status-error);
10625
+ font-size: var(--font-size-sm);
10626
+ animation: ds-login-error-enter .4s ease-out;
10627
+ }
10628
+ @keyframes ds-login-error-enter {
10629
+ 0% {
10630
+ opacity: 0;
10631
+ transform: translateX(-10px);
10632
+ }
10633
+ 50% {
10634
+ transform: translateX(5px);
10635
+ }
10636
+ 100% {
10637
+ opacity: 1;
10638
+ transform: translateX(0);
10639
+ }
10640
+ }
10641
+ .ds-login__social {
10642
+ margin-bottom: var(--space-4);
10643
+ animation: ds-login-fade-in .5s ease-out .4s forwards;
10644
+ opacity: 0;
10645
+ }
10646
+ .ds-login__social-btn {
10647
+ display: flex;
10648
+ align-items: center;
10649
+ justify-content: center;
10650
+ gap: var(--space-3);
10651
+ width: 100%;
10652
+ padding: var(--space-3) var(--space-4);
10653
+ margin-bottom: var(--space-3);
10654
+ border: none;
10655
+ border-radius: var(--radius-button);
10656
+ background: var(--glass-base);
10657
+ color: var(--text-primary);
10658
+ font-family: var(--font-family);
10659
+ font-size: var(--font-size-base);
10660
+ font-weight: var(--font-weight-medium);
10661
+ cursor: pointer;
10662
+ position: relative;
10663
+ transition:
10664
+ background var(--transition-glass),
10665
+ transform var(--transition-glass),
10666
+ box-shadow var(--transition-glass);
10667
+ }
10668
+ .ds-login__social-btn::before {
10669
+ content: "";
10670
+ position: absolute;
10671
+ inset: 0;
10672
+ border-radius: inherit;
10673
+ padding: 1px;
10674
+ background:
10675
+ linear-gradient(
10676
+ 180deg,
10677
+ var(--rim-light-top) 0,
10678
+ var(--rim-light-bottom) 100%);
10679
+ mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
10680
+ mask-composite: exclude;
10681
+ -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
10682
+ -webkit-mask-composite: xor;
10683
+ pointer-events: none;
10684
+ transition: background var(--transition-glass);
10685
+ }
10686
+ .ds-login__social-btn:hover:not(:disabled) {
10687
+ background: var(--glass-base-hover);
10688
+ transform: translateY(-2px);
10689
+ box-shadow: var(--shadow-lg);
10690
+ }
10691
+ .ds-login__social-btn:hover:not(:disabled)::before {
10692
+ background:
10693
+ linear-gradient(
10694
+ 180deg,
10695
+ var(--rim-light-hover-top) 0,
10696
+ var(--rim-light-hover-bottom) 100%);
10697
+ }
10698
+ .ds-login__social-btn:disabled {
10699
+ opacity: .5;
10700
+ cursor: not-allowed;
10701
+ }
10702
+ .ds-login__divider {
10703
+ display: flex;
10704
+ align-items: center;
10705
+ gap: var(--space-4);
10706
+ margin: var(--space-4) 0;
10707
+ color: var(--text-tertiary);
10708
+ font-size: var(--font-size-sm);
10709
+ }
10710
+ .ds-login__divider::after,
10711
+ .ds-login__divider::before {
10712
+ content: "";
10713
+ flex: 1 1;
10714
+ height: 1px;
10715
+ background:
10716
+ linear-gradient(
10717
+ 90deg,
10718
+ transparent 0,
10719
+ var(--rim-light-top) 50%,
10720
+ transparent 100%);
10721
+ }
10722
+ .ds-login__form {
10723
+ animation: ds-login-fade-in .5s ease-out .5s forwards;
10724
+ opacity: 0;
10725
+ }
10726
+ .ds-login__field {
10727
+ margin-bottom: var(--space-4);
10728
+ }
10729
+ .ds-login__password-toggle {
10730
+ position: static;
10731
+ transform: none;
10732
+ padding: var(--space-2);
10733
+ border: none;
10734
+ background: transparent;
10735
+ color: var(--text-tertiary);
10736
+ cursor: pointer;
10737
+ border-radius: var(--radius-badge);
10738
+ display: flex;
10739
+ align-items: center;
10740
+ justify-content: center;
10741
+ transition: color var(--transition-glass), background var(--transition-glass);
10742
+ }
10743
+ .ds-login__password-toggle:hover {
10744
+ color: var(--text-primary);
10745
+ background: var(--glass-base-hover);
10746
+ }
10747
+ .ds-login__options {
10748
+ display: flex;
10749
+ align-items: center;
10750
+ justify-content: space-between;
10751
+ margin-bottom: var(--space-6);
10752
+ flex-wrap: wrap;
10753
+ gap: var(--space-2);
10754
+ }
10755
+ .ds-login__link {
10756
+ padding: 0;
10757
+ border: none;
10758
+ background: transparent;
10759
+ color: var(--text-secondary);
10760
+ font-family: var(--font-family);
10761
+ font-size: var(--font-size-sm);
10762
+ cursor: pointer;
10763
+ transition: color var(--transition-glass);
10764
+ }
10765
+ .ds-login__link:hover:not(:disabled) {
10766
+ color: var(--text-primary);
10767
+ }
10768
+ .ds-login__link--accent {
10769
+ color: rgb(var(--accent-rgb));
10770
+ font-weight: var(--font-weight-medium);
10771
+ }
10772
+ .ds-login__link--accent:hover:not(:disabled) {
10773
+ color: rgb(var(--accent-rgb));
10774
+ text-decoration: underline;
10775
+ }
10776
+ .ds-login__link:disabled {
10777
+ opacity: .5;
10778
+ cursor: not-allowed;
10779
+ }
10780
+ .ds-login__submit {
10781
+ width: 100%;
10782
+ }
10783
+ .ds-login__spinner {
10784
+ display: inline-block;
10785
+ width: 20px;
10786
+ height: 20px;
10787
+ border: 2px solid var(--hc-border);
10788
+ border-top-color: var(--hc-control-knob);
10789
+ border-radius: 50%;
10790
+ animation: ds-login-spin .8s linear infinite;
10791
+ }
10792
+ @keyframes ds-login-spin {
10793
+ to {
10794
+ transform: rotate(1turn);
10795
+ }
10796
+ }
10797
+ .ds-login__footer {
10798
+ display: flex;
10799
+ align-items: center;
10800
+ justify-content: center;
10801
+ gap: var(--space-2);
10802
+ margin-top: var(--space-6);
10803
+ padding-top: var(--space-6);
10804
+ border-top: 1px solid var(--rim-light-bottom);
10805
+ font-size: var(--font-size-sm);
10806
+ color: var(--text-tertiary);
10807
+ animation: ds-login-fade-in .5s ease-out .6s forwards;
10808
+ opacity: 0;
10809
+ }
10810
+ @media (max-width:480px) {
10811
+ .ds-login {
10812
+ padding: var(--space-4);
10813
+ }
10814
+ .ds-login__card {
10815
+ padding: var(--space-6);
10816
+ border-radius: var(--radius-card);
10817
+ }
10818
+ .ds-login__accent--1 {
10819
+ width: 200px;
10820
+ height: 200px;
10821
+ top: -50px;
10822
+ right: -50px;
10823
+ }
10824
+ .ds-login__accent--2 {
10825
+ width: 150px;
10826
+ height: 150px;
10827
+ bottom: -30px;
10828
+ left: -30px;
10829
+ }
10830
+ .ds-login__options {
10831
+ flex-direction: column;
10832
+ align-items: flex-start;
10833
+ gap: var(--space-3);
10834
+ }
10835
+ }
10836
+ @media (prefers-reduced-motion:reduce) {
10837
+ .ds-login__card,
10838
+ .ds-login__footer,
10839
+ .ds-login__form,
10840
+ .ds-login__logo,
10841
+ .ds-login__social,
10842
+ .ds-login__tagline,
10843
+ .ds-login__title,
10844
+ .ds-login__trust {
10845
+ animation: none;
10846
+ opacity: 1;
10847
+ }
10848
+ .ds-login__accent,
10849
+ .ds-login__logo-icon {
10850
+ animation: none;
10851
+ }
10852
+ .ds-login__spinner {
10853
+ animation-duration: 1.5s;
10854
+ }
10855
+ }
10856
+ @media (prefers-contrast:more) {
10857
+ .ds-login__card {
10858
+ border: 1px solid var(--hc-border);
10859
+ }
10860
+ .ds-login__social-btn {
10861
+ border: 1px solid var(--hc-border-subtle);
10862
+ }
10863
+ .ds-login__social-btn::before {
10864
+ display: none;
10865
+ }
10866
+ }
10867
+
10868
+ /* src/v2-auth/Signup/Signup.css */
10869
+ .ds-signup {
10870
+ position: relative;
10871
+ display: flex;
10872
+ flex-direction: column;
10873
+ align-items: center;
10874
+ justify-content: center;
10875
+ width: 100%;
10876
+ padding: var(--space-6) var(--space-4);
10877
+ box-sizing: border-box;
10878
+ }
10879
+ .ds-signup__accent {
10880
+ position: absolute;
10881
+ border-radius: 50%;
10882
+ filter: blur(80px);
10883
+ opacity: .5;
10884
+ pointer-events: none;
10885
+ animation: ds-signup-float 20s ease-in-out infinite;
10886
+ }
10887
+ .ds-signup__accent--1 {
10888
+ width: 400px;
10889
+ height: 400px;
10890
+ background:
10891
+ radial-gradient(
10892
+ circle,
10893
+ rgba(var(--accent-rgb), .4) 0,
10894
+ transparent 70%);
10895
+ top: -100px;
10896
+ right: -100px;
10897
+ animation-delay: 0s;
10898
+ }
10899
+ .ds-signup__accent--2 {
10900
+ width: 300px;
10901
+ height: 300px;
10902
+ background:
10903
+ radial-gradient(
10904
+ circle,
10905
+ rgba(var(--accent2-rgb), .3) 0,
10906
+ transparent 70%);
10907
+ bottom: -50px;
10908
+ left: -50px;
10909
+ animation-delay: -10s;
10910
+ }
10911
+ @keyframes ds-signup-float {
10912
+ 0%, 100% {
10913
+ transform: translate(0) scale(1);
10914
+ }
10915
+ 25% {
10916
+ transform: translate(20px, -30px) scale(1.05);
10917
+ }
10918
+ 50% {
10919
+ transform: translate(-10px, 20px) scale(.95);
10920
+ }
10921
+ 75% {
10922
+ transform: translate(-30px, -10px) scale(1.02);
10923
+ }
10924
+ }
10925
+ .ds-signup__card {
10926
+ position: relative;
10927
+ width: 100%;
10928
+ max-width: 420px;
10929
+ padding: var(--space-8);
10930
+ border-radius: var(--radius-panel);
10931
+ background: var(--glass-base);
10932
+ backdrop-filter: var(--glass-backdrop);
10933
+ -webkit-backdrop-filter: var(--glass-backdrop);
10934
+ box-shadow: var(--glass-shadow-elevated-combined);
10935
+ animation: ds-signup-card-enter .6s cubic-bezier(.16, 1, .3, 1) forwards;
10936
+ opacity: 0;
10937
+ transform: translateY(20px);
10938
+ }
10939
+ .ds-signup__card::before {
10940
+ content: "";
10941
+ position: absolute;
10942
+ inset: 0;
10943
+ border-radius: inherit;
10944
+ padding: 1px;
10945
+ background:
10946
+ linear-gradient(
10947
+ 180deg,
10948
+ var(--rim-light-hover-top) 0,
10949
+ var(--rim-light-bottom) 100%);
10950
+ mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
10951
+ mask-composite: exclude;
10952
+ -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
10953
+ -webkit-mask-composite: xor;
10954
+ pointer-events: none;
10955
+ }
10956
+ @keyframes ds-signup-card-enter {
10957
+ to {
10958
+ opacity: 1;
10959
+ transform: translateY(0);
10960
+ }
10961
+ }
10962
+ .ds-signup__card--success {
10963
+ text-align: center;
10964
+ }
10965
+ .ds-signup__success-icon {
10966
+ width: 64px;
10967
+ height: 64px;
10968
+ margin: 0 auto var(--space-6);
10969
+ animation: ds-signup-success-icon .6s cubic-bezier(.16, 1, .3, 1) forwards;
10970
+ }
10971
+ .ds-signup__success-icon svg {
10972
+ width: 100%;
10973
+ height: 100%;
10974
+ }
10975
+ @keyframes ds-signup-success-icon {
10976
+ 0% {
10977
+ transform: scale(0);
10978
+ opacity: 0;
10979
+ }
10980
+ 50% {
10981
+ transform: scale(1.2);
10982
+ }
10983
+ 100% {
10984
+ transform: scale(1);
10985
+ opacity: 1;
10986
+ }
10987
+ }
10988
+ .ds-signup__success-title {
10989
+ font-family: var(--font-family);
10990
+ font-size: var(--font-size-2xl);
10991
+ font-weight: var(--font-weight-bold);
10992
+ color: var(--text-primary);
10993
+ margin: 0 0 var(--space-2);
10994
+ }
10995
+ .ds-signup__success-message {
10996
+ font-family: var(--font-family);
10997
+ font-size: var(--font-size-base);
10998
+ color: var(--text-secondary);
10999
+ margin: 0 0 var(--space-6);
11000
+ line-height: var(--line-height-normal);
11001
+ }
11002
+ .ds-signup__success-btn {
11003
+ width: 100%;
11004
+ }
11005
+ .ds-signup__header {
11006
+ text-align: center;
11007
+ margin-bottom: var(--space-6);
11008
+ }
11009
+ .ds-signup__logo {
11010
+ display: flex;
11011
+ justify-content: center;
11012
+ margin-bottom: var(--space-4);
11013
+ animation: ds-signup-fade-in .5s ease-out .1s forwards;
11014
+ opacity: 0;
11015
+ }
11016
+ .ds-signup__logo-icon {
11017
+ width: 56px;
11018
+ height: 56px;
11019
+ animation: ds-signup-logo-pulse 3s ease-in-out infinite;
11020
+ }
11021
+ .ds-signup__logo-icon svg {
11022
+ width: 100%;
11023
+ height: 100%;
11024
+ filter: drop-shadow(0 4px 12px rgba(var(--accent-rgb), .3));
11025
+ }
11026
+ @keyframes ds-signup-logo-pulse {
11027
+ 0%, 100% {
11028
+ transform: scale(1);
11029
+ filter: drop-shadow(0 4px 12px rgba(var(--accent-rgb), .3));
11030
+ }
11031
+ 50% {
11032
+ transform: scale(1.05);
11033
+ filter: drop-shadow(0 6px 20px rgba(var(--accent-rgb), .5));
11034
+ }
11035
+ }
11036
+ .ds-signup__title {
11037
+ font-size: var(--font-size-2xl);
11038
+ font-weight: var(--font-weight-bold);
11039
+ color: var(--text-primary);
11040
+ margin: 0 0 var(--space-2);
11041
+ animation: ds-signup-fade-in .5s ease-out .2s forwards;
11042
+ }
11043
+ .ds-signup__tagline,
11044
+ .ds-signup__title {
11045
+ font-family: var(--font-family);
11046
+ opacity: 0;
11047
+ }
11048
+ .ds-signup__tagline {
11049
+ font-size: var(--font-size-sm);
11050
+ color: var(--text-secondary);
11051
+ margin: 0;
11052
+ line-height: var(--line-height-normal);
11053
+ animation: ds-signup-fade-in .5s ease-out .3s forwards;
11054
+ }
11055
+ @keyframes ds-signup-fade-in {
11056
+ to {
11057
+ opacity: 1;
11058
+ }
11059
+ }
11060
+ .ds-signup__error {
11061
+ display: flex;
11062
+ align-items: center;
11063
+ gap: var(--space-2);
11064
+ padding: var(--space-3) var(--space-4);
11065
+ margin-bottom: var(--space-4);
11066
+ border-radius: var(--radius-button);
11067
+ background: rgba(var(--status-error-rgb), .1);
11068
+ border: 1px solid rgba(var(--status-error-rgb), .3);
11069
+ color: var(--status-error);
11070
+ font-size: var(--font-size-sm);
11071
+ animation: ds-signup-error-enter .4s ease-out;
11072
+ }
11073
+ @keyframes ds-signup-error-enter {
11074
+ 0% {
11075
+ opacity: 0;
11076
+ transform: translateX(-10px);
11077
+ }
11078
+ 50% {
11079
+ transform: translateX(5px);
11080
+ }
11081
+ 100% {
11082
+ opacity: 1;
11083
+ transform: translateX(0);
11084
+ }
11085
+ }
11086
+ .ds-signup__social {
11087
+ margin-bottom: var(--space-4);
11088
+ animation: ds-signup-fade-in .5s ease-out .4s forwards;
11089
+ opacity: 0;
11090
+ }
11091
+ .ds-signup__social-btn {
11092
+ display: flex;
11093
+ align-items: center;
11094
+ justify-content: center;
11095
+ gap: var(--space-3);
11096
+ width: 100%;
11097
+ padding: var(--space-3) var(--space-4);
11098
+ margin-bottom: var(--space-3);
11099
+ border: none;
11100
+ border-radius: var(--radius-button);
11101
+ background: var(--glass-base);
11102
+ color: var(--text-primary);
11103
+ font-family: var(--font-family);
11104
+ font-size: var(--font-size-base);
11105
+ font-weight: var(--font-weight-medium);
11106
+ cursor: pointer;
11107
+ position: relative;
11108
+ transition:
11109
+ background var(--transition-glass),
11110
+ transform var(--transition-glass),
11111
+ box-shadow var(--transition-glass);
11112
+ }
11113
+ .ds-signup__social-btn::before {
11114
+ content: "";
11115
+ position: absolute;
11116
+ inset: 0;
11117
+ border-radius: inherit;
11118
+ padding: 1px;
11119
+ background:
11120
+ linear-gradient(
11121
+ 180deg,
11122
+ var(--rim-light-top) 0,
11123
+ var(--rim-light-bottom) 100%);
11124
+ mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
11125
+ mask-composite: exclude;
11126
+ -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
11127
+ -webkit-mask-composite: xor;
11128
+ pointer-events: none;
11129
+ transition: background var(--transition-glass);
11130
+ }
11131
+ .ds-signup__social-btn:hover:not(:disabled) {
11132
+ background: var(--glass-base-hover);
11133
+ transform: translateY(-2px);
11134
+ box-shadow: var(--shadow-lg);
11135
+ }
11136
+ .ds-signup__social-btn:disabled {
11137
+ opacity: .5;
11138
+ cursor: not-allowed;
11139
+ }
11140
+ .ds-signup__divider {
11141
+ display: flex;
11142
+ align-items: center;
11143
+ gap: var(--space-4);
11144
+ margin: var(--space-4) 0;
11145
+ color: var(--text-tertiary);
11146
+ font-size: var(--font-size-sm);
11147
+ }
11148
+ .ds-signup__divider::after,
11149
+ .ds-signup__divider::before {
11150
+ content: "";
11151
+ flex: 1 1;
11152
+ height: 1px;
11153
+ background:
11154
+ linear-gradient(
11155
+ 90deg,
11156
+ transparent 0,
11157
+ var(--rim-light-top) 50%,
11158
+ transparent 100%);
11159
+ }
11160
+ .ds-signup__form {
11161
+ animation: ds-signup-fade-in .5s ease-out .5s forwards;
11162
+ opacity: 0;
11163
+ }
11164
+ .ds-signup__field {
11165
+ margin-bottom: var(--space-4);
11166
+ }
11167
+ .ds-signup__phone-container,
11168
+ .ds-signup__phone-container.ds-textfield__input {
11169
+ display: flex;
11170
+ align-items: center;
11171
+ position: relative;
11172
+ width: 100%;
11173
+ }
11174
+ .ds-signup__phone-container.ds-textfield__input {
11175
+ padding: 0;
11176
+ overflow: hidden;
11177
+ }
11178
+ .ds-signup__flag-select-wrapper {
11179
+ position: relative;
11180
+ display: flex;
11181
+ align-items: center;
11182
+ align-self: stretch;
11183
+ }
11184
+ .ds-signup__flag-select-native {
11185
+ position: absolute;
11186
+ inset: 0;
11187
+ width: 100%;
11188
+ height: 100%;
11189
+ opacity: 0;
11190
+ cursor: pointer;
11191
+ z-index: 2;
11192
+ }
11193
+ .ds-signup__flag-display {
11194
+ display: flex;
11195
+ align-items: center;
11196
+ gap: var(--space-2);
11197
+ padding: var(--space-3) var(--space-3) var(--space-3) var(--space-4);
11198
+ height: 100%;
11199
+ background: transparent;
11200
+ color: var(--text-primary);
11201
+ border-right: 1px solid var(--border-subtle);
11202
+ pointer-events: none;
11203
+ }
11204
+ .ds-signup__flag-icon {
11205
+ font-size: var(--font-size-lg);
11206
+ line-height: 1;
11207
+ }
11208
+ .ds-signup__phone-input-native {
11209
+ flex-grow: 1;
11210
+ border: none !important;
11211
+ background: transparent !important;
11212
+ border-radius: 0 !important;
11213
+ box-shadow: none !important;
11214
+ padding: var(--space-3) var(--space-4) var(--space-3) var(--space-3) !important;
11215
+ color: inherit;
11216
+ font-family: inherit;
11217
+ font-size: inherit;
11218
+ outline: none;
11219
+ }
11220
+ .ds-signup__phone-input-native:focus {
11221
+ outline: none;
11222
+ border-color: transparent !important;
11223
+ box-shadow: none !important;
11224
+ }
11225
+ .ds-signup__phone-container:disabled,
11226
+ .ds-signup__phone-input-native:disabled {
11227
+ opacity: .5;
11228
+ cursor: not-allowed;
11229
+ }
11230
+ .ds-signup__password-wrapper {
11231
+ position: relative;
11232
+ }
11233
+ .ds-signup__password-wrapper .ds-textfield__input {
11234
+ padding-right: var(--space-12);
11235
+ }
11236
+ .ds-signup__password-toggle {
11237
+ position: absolute;
11238
+ right: var(--space-3);
11239
+ top: 60%;
11240
+ transform: translateY(calc(-50% + 10px));
11241
+ padding: var(--space-2);
11242
+ border: none;
11243
+ background: transparent;
11244
+ color: var(--text-tertiary);
11245
+ cursor: pointer;
11246
+ border-radius: var(--radius-badge);
11247
+ transition: color var(--transition-glass), background var(--transition-glass);
11248
+ }
11249
+ .ds-signup__password-toggle:hover {
11250
+ color: var(--text-primary);
11251
+ background: var(--glass-base-hover);
11252
+ }
11253
+ .ds-signup__strength {
11254
+ display: flex;
11255
+ align-items: center;
11256
+ gap: var(--space-3);
11257
+ margin-top: var(--space-2);
11258
+ }
11259
+ .ds-signup__strength-bar {
11260
+ display: flex;
11261
+ gap: var(--space-1);
11262
+ flex: 1 1;
11263
+ }
11264
+ .ds-signup__strength-segment {
11265
+ height: 4px;
11266
+ flex: 1 1;
11267
+ border-radius: 2px;
11268
+ background: var(--glass-base-hover);
11269
+ transition: background-color var(--transition-fast);
11270
+ }
11271
+ .ds-signup__strength-segment--active {
11272
+ background: var(--status-success);
11273
+ }
11274
+ .ds-signup__strength-label {
11275
+ font-family: var(--font-family);
11276
+ font-size: var(--font-size-xs);
11277
+ font-weight: var(--font-weight-medium);
11278
+ white-space: nowrap;
11279
+ transition: color var(--transition-fast);
11280
+ }
11281
+ .ds-signup__terms {
11282
+ display: flex;
11283
+ align-items: flex-start;
11284
+ gap: var(--space-2);
11285
+ margin-bottom: var(--space-6);
11286
+ }
11287
+ .ds-signup__terms-text {
11288
+ font-family: var(--font-family);
11289
+ font-size: var(--font-size-sm);
11290
+ color: var(--text-secondary);
11291
+ line-height: var(--line-height-normal);
11292
+ }
11293
+ .ds-signup__link {
11294
+ padding: 0;
11295
+ border: none;
11296
+ background: transparent;
11297
+ color: rgb(var(--accent-rgb));
11298
+ font-family: var(--font-family);
11299
+ font-size: inherit;
11300
+ font-weight: var(--font-weight-medium);
11301
+ cursor: pointer;
11302
+ transition: color var(--transition-glass);
11303
+ }
11304
+ .ds-signup__link:hover:not(:disabled) {
11305
+ text-decoration: underline;
11306
+ }
11307
+ .ds-signup__link:disabled {
11308
+ opacity: .5;
11309
+ cursor: not-allowed;
11310
+ }
11311
+ .ds-signup__link--accent {
11312
+ color: rgb(var(--accent-rgb));
11313
+ }
11314
+ .ds-signup__submit {
11315
+ width: 100%;
11316
+ }
11317
+ .ds-signup__spinner {
11318
+ display: inline-block;
11319
+ width: 20px;
11320
+ height: 20px;
11321
+ border: 2px solid var(--hc-border);
11322
+ border-top-color: var(--hc-control-knob);
11323
+ border-radius: 50%;
11324
+ animation: ds-signup-spin .8s linear infinite;
11325
+ }
11326
+ @keyframes ds-signup-spin {
11327
+ to {
11328
+ transform: rotate(1turn);
11329
+ }
11330
+ }
11331
+ .ds-signup__footer {
11332
+ display: flex;
11333
+ align-items: center;
11334
+ justify-content: center;
11335
+ gap: var(--space-2);
11336
+ margin-top: var(--space-6);
11337
+ padding-top: var(--space-6);
11338
+ border-top: 1px solid var(--rim-light-bottom);
11339
+ font-size: var(--font-size-sm);
11340
+ color: var(--text-tertiary);
11341
+ animation: ds-signup-fade-in .5s ease-out .6s forwards;
11342
+ opacity: 0;
11343
+ }
11344
+ @media (max-width:480px) {
11345
+ .ds-signup {
11346
+ padding: var(--space-4);
11347
+ }
11348
+ .ds-signup__card {
11349
+ padding: var(--space-6);
11350
+ border-radius: var(--radius-card);
11351
+ }
11352
+ .ds-signup__accent--1 {
11353
+ width: 200px;
11354
+ height: 200px;
11355
+ top: -50px;
11356
+ right: -50px;
11357
+ }
11358
+ .ds-signup__accent--2 {
11359
+ width: 150px;
11360
+ height: 150px;
11361
+ bottom: -30px;
11362
+ left: -30px;
11363
+ }
11364
+ }
11365
+ @media (prefers-reduced-motion:reduce) {
11366
+ .ds-signup__card,
11367
+ .ds-signup__footer,
11368
+ .ds-signup__form,
11369
+ .ds-signup__logo,
11370
+ .ds-signup__social,
11371
+ .ds-signup__success-icon,
11372
+ .ds-signup__tagline,
11373
+ .ds-signup__title,
11374
+ .ds-signup__trust {
11375
+ animation: none;
11376
+ opacity: 1;
11377
+ }
11378
+ .ds-signup__accent,
11379
+ .ds-signup__logo-icon {
11380
+ animation: none;
11381
+ }
11382
+ .ds-signup__spinner {
11383
+ animation-duration: 1.5s;
11384
+ }
11385
+ }
11386
+ @media (prefers-contrast:more) {
11387
+ .ds-signup__card {
11388
+ border: 1px solid var(--hc-border);
11389
+ }
11390
+ .ds-signup__social-btn {
11391
+ border: 1px solid var(--hc-border-subtle);
11392
+ }
11393
+ .ds-signup__social-btn::before {
11394
+ display: none;
11395
+ }
11396
+ }
11397
+
11398
+ /* src/v2-auth/ForgotPassword/ForgotPassword.css */
11399
+ .ds-forgot {
11400
+ position: relative;
11401
+ display: flex;
11402
+ flex-direction: column;
11403
+ align-items: center;
11404
+ justify-content: center;
11405
+ padding: var(--space-6);
11406
+ }
11407
+ .ds-forgot__accent {
11408
+ position: absolute;
11409
+ border-radius: 50%;
11410
+ filter: blur(80px);
11411
+ opacity: .5;
11412
+ pointer-events: none;
11413
+ animation: ds-forgot-float 20s ease-in-out infinite;
11414
+ }
11415
+ .ds-forgot__accent--1 {
11416
+ width: 400px;
11417
+ height: 400px;
11418
+ background:
11419
+ radial-gradient(
11420
+ circle,
11421
+ rgba(var(--accent-rgb), .4) 0,
11422
+ transparent 70%);
11423
+ top: -100px;
11424
+ right: -100px;
11425
+ animation-delay: 0s;
11426
+ }
11427
+ .ds-forgot__accent--2 {
11428
+ width: 300px;
11429
+ height: 300px;
11430
+ background:
11431
+ radial-gradient(
11432
+ circle,
11433
+ rgba(var(--accent2-rgb), .3) 0,
11434
+ transparent 70%);
11435
+ bottom: -50px;
11436
+ left: -50px;
11437
+ animation-delay: -10s;
11438
+ }
11439
+ @keyframes ds-forgot-float {
11440
+ 0%, 100% {
11441
+ transform: translate(0) scale(1);
11442
+ }
11443
+ 25% {
11444
+ transform: translate(20px, -30px) scale(1.05);
11445
+ }
11446
+ 50% {
11447
+ transform: translate(-10px, 20px) scale(.95);
11448
+ }
11449
+ 75% {
11450
+ transform: translate(-30px, -10px) scale(1.02);
11451
+ }
11452
+ }
11453
+ .ds-forgot__card {
11454
+ position: relative;
11455
+ width: 100%;
11456
+ max-width: 400px;
11457
+ padding: var(--space-8);
11458
+ border-radius: var(--radius-panel);
11459
+ background: var(--glass-base);
11460
+ backdrop-filter: var(--glass-backdrop);
11461
+ -webkit-backdrop-filter: var(--glass-backdrop);
11462
+ box-shadow: var(--glass-shadow-elevated-combined);
11463
+ animation: ds-forgot-card-enter .6s cubic-bezier(.16, 1, .3, 1) forwards;
11464
+ opacity: 0;
11465
+ transform: translateY(20px);
11466
+ }
11467
+ .ds-forgot__card::before {
11468
+ content: "";
11469
+ position: absolute;
11470
+ inset: 0;
11471
+ border-radius: inherit;
11472
+ padding: 1px;
11473
+ background:
11474
+ linear-gradient(
11475
+ 180deg,
11476
+ var(--rim-light-hover-top) 0,
11477
+ var(--rim-light-bottom) 100%);
11478
+ mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
11479
+ mask-composite: exclude;
11480
+ -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
11481
+ -webkit-mask-composite: xor;
11482
+ pointer-events: none;
11483
+ }
11484
+ .ds-forgot__card--centered {
11485
+ text-align: center;
11486
+ }
11487
+ @keyframes ds-forgot-card-enter {
11488
+ to {
11489
+ opacity: 1;
11490
+ transform: translateY(0);
11491
+ }
11492
+ }
11493
+ .ds-forgot__header {
11494
+ text-align: center;
11495
+ margin-bottom: var(--space-6);
11496
+ }
11497
+ .ds-forgot__logo {
11498
+ display: flex;
11499
+ justify-content: center;
11500
+ margin-bottom: var(--space-4);
11501
+ animation: ds-forgot-fade-in .5s ease-out .1s forwards;
11502
+ opacity: 0;
11503
+ }
11504
+ .ds-forgot__logo-icon {
11505
+ width: 56px;
11506
+ height: 56px;
11507
+ }
11508
+ .ds-forgot__logo-icon svg {
11509
+ width: 100%;
11510
+ height: 100%;
11511
+ filter: drop-shadow(0 4px 12px rgba(var(--accent-rgb), .3));
11512
+ }
11513
+ .ds-forgot__title {
11514
+ font-size: var(--font-size-2xl);
11515
+ font-weight: var(--font-weight-bold);
11516
+ color: var(--text-primary);
11517
+ margin: 0 0 var(--space-2);
11518
+ animation: ds-forgot-fade-in .5s ease-out .2s forwards;
11519
+ }
11520
+ .ds-forgot__tagline,
11521
+ .ds-forgot__title {
11522
+ font-family: var(--font-family);
11523
+ opacity: 0;
11524
+ }
11525
+ .ds-forgot__tagline {
11526
+ font-size: var(--font-size-sm);
11527
+ color: var(--text-secondary);
11528
+ margin: 0;
11529
+ line-height: var(--line-height-normal);
11530
+ animation: ds-forgot-fade-in .5s ease-out .3s forwards;
11531
+ }
11532
+ .ds-forgot__tagline strong {
11533
+ color: var(--text-primary);
11534
+ }
11535
+ @keyframes ds-forgot-fade-in {
11536
+ to {
11537
+ opacity: 1;
11538
+ }
11539
+ }
11540
+ .ds-forgot__success-icon {
11541
+ width: 64px;
11542
+ height: 64px;
11543
+ margin: 0 auto var(--space-6);
11544
+ animation: ds-forgot-success-icon .6s cubic-bezier(.16, 1, .3, 1) forwards;
11545
+ }
11546
+ .ds-forgot__success-icon svg {
11547
+ width: 100%;
11548
+ height: 100%;
11549
+ }
11550
+ @keyframes ds-forgot-success-icon {
11551
+ 0% {
11552
+ transform: scale(0);
11553
+ opacity: 0;
11554
+ }
11555
+ 50% {
11556
+ transform: scale(1.2);
11557
+ }
11558
+ 100% {
11559
+ transform: scale(1);
11560
+ opacity: 1;
11561
+ }
11562
+ }
11563
+ .ds-forgot__error {
11564
+ display: flex;
11565
+ align-items: center;
11566
+ gap: var(--space-2);
11567
+ padding: var(--space-3) var(--space-4);
11568
+ margin-bottom: var(--space-4);
11569
+ border-radius: var(--radius-button);
11570
+ background: rgba(var(--status-error-rgb), .1);
11571
+ border: 1px solid rgba(var(--status-error-rgb), .3);
11572
+ color: var(--status-error);
11573
+ font-size: var(--font-size-sm);
11574
+ animation: ds-forgot-error-enter .4s ease-out;
11575
+ }
11576
+ @keyframes ds-forgot-error-enter {
11577
+ 0% {
11578
+ opacity: 0;
11579
+ transform: translateX(-10px);
11580
+ }
11581
+ 50% {
11582
+ transform: translateX(5px);
11583
+ }
11584
+ 100% {
11585
+ opacity: 1;
11586
+ transform: translateX(0);
11587
+ }
11588
+ }
11589
+ .ds-forgot__form {
11590
+ animation: ds-forgot-fade-in .5s ease-out .4s forwards;
11591
+ opacity: 0;
11592
+ }
11593
+ .ds-forgot__field {
11594
+ margin-bottom: var(--space-4);
11595
+ }
11596
+ .ds-forgot__password-wrapper {
11597
+ position: relative;
11598
+ }
11599
+ .ds-forgot__password-wrapper .ds-textfield__input {
11600
+ padding-right: var(--space-12);
11601
+ }
11602
+ .ds-forgot__password-toggle {
11603
+ position: absolute;
11604
+ right: var(--space-3);
11605
+ top: 60%;
11606
+ transform: translateY(calc(-50% + 10px));
11607
+ padding: var(--space-2);
11608
+ border: none;
11609
+ background: transparent;
11610
+ color: var(--text-tertiary);
11611
+ cursor: pointer;
11612
+ border-radius: var(--radius-badge);
11613
+ transition: color var(--transition-glass), background var(--transition-glass);
11614
+ }
11615
+ .ds-forgot__password-toggle:hover {
11616
+ color: var(--text-primary);
11617
+ background: var(--glass-base-hover);
11618
+ }
11619
+ .ds-forgot__submit {
11620
+ width: 100%;
11621
+ margin-top: var(--space-2);
11622
+ }
11623
+ .ds-forgot__spinner {
11624
+ display: inline-block;
11625
+ width: 20px;
11626
+ height: 20px;
11627
+ border: 2px solid var(--hc-border);
11628
+ border-top: 2px solid #fff;
11629
+ border-radius: 50%;
11630
+ animation: ds-forgot-spin .8s linear infinite;
11631
+ }
11632
+ @keyframes ds-forgot-spin {
11633
+ to {
11634
+ transform: rotate(1turn);
11635
+ }
11636
+ }
11637
+ .ds-forgot__hint {
11638
+ margin-top: var(--space-6);
11639
+ font-family: var(--font-family);
11640
+ font-size: var(--font-size-sm);
11641
+ color: var(--text-tertiary);
11642
+ }
11643
+ .ds-forgot__link {
11644
+ padding: 0;
11645
+ border: none;
11646
+ background: transparent;
11647
+ color: rgb(var(--accent-rgb));
11648
+ font-family: var(--font-family);
11649
+ font-size: inherit;
11650
+ font-weight: var(--font-weight-medium);
11651
+ cursor: pointer;
11652
+ transition: color var(--transition-glass);
11653
+ margin-left: var(--space-1);
11654
+ }
11655
+ .ds-forgot__link:hover:not(:disabled) {
11656
+ text-decoration: underline;
11657
+ }
11658
+ .ds-forgot__link:disabled {
11659
+ opacity: .5;
11660
+ cursor: not-allowed;
11661
+ }
11662
+ .ds-forgot__footer {
11663
+ display: flex;
11664
+ justify-content: center;
11665
+ margin-top: var(--space-6);
11666
+ padding-top: var(--space-6);
11667
+ border-top: 1px solid var(--rim-light-bottom);
11668
+ animation: ds-forgot-fade-in .5s ease-out .5s forwards;
11669
+ opacity: 0;
11670
+ }
11671
+ .ds-forgot__back {
11672
+ display: flex;
11673
+ align-items: center;
11674
+ gap: var(--space-2);
11675
+ padding: var(--space-2) var(--space-3);
11676
+ border: none;
11677
+ border-radius: var(--radius-button);
11678
+ background: transparent;
11679
+ color: var(--text-secondary);
11680
+ font-family: var(--font-family);
11681
+ font-size: var(--font-size-sm);
11682
+ font-weight: var(--font-weight-medium);
11683
+ cursor: pointer;
11684
+ transition: color var(--transition-glass), background var(--transition-glass);
11685
+ }
11686
+ .ds-forgot__back:hover:not(:disabled) {
11687
+ color: var(--text-primary);
11688
+ background: var(--glass-base-hover);
11689
+ }
11690
+ .ds-forgot__back:disabled {
11691
+ opacity: .5;
11692
+ cursor: not-allowed;
11693
+ }
11694
+ @media (max-width:480px) {
11695
+ .ds-forgot {
11696
+ padding: var(--space-4);
11697
+ }
11698
+ .ds-forgot__card {
11699
+ padding: var(--space-6);
11700
+ border-radius: var(--radius-card);
11701
+ }
11702
+ .ds-forgot__accent--1 {
11703
+ width: 200px;
11704
+ height: 200px;
11705
+ top: -50px;
11706
+ right: -50px;
11707
+ }
11708
+ .ds-forgot__accent--2 {
11709
+ width: 150px;
11710
+ height: 150px;
11711
+ bottom: -30px;
11712
+ left: -30px;
11713
+ }
11714
+ }
11715
+ @media (prefers-reduced-motion:reduce) {
11716
+ .ds-forgot__card,
11717
+ .ds-forgot__footer,
11718
+ .ds-forgot__form,
11719
+ .ds-forgot__logo,
11720
+ .ds-forgot__success-icon,
11721
+ .ds-forgot__tagline,
11722
+ .ds-forgot__title {
11723
+ animation: none;
11724
+ opacity: 1;
11725
+ }
11726
+ .ds-forgot__accent {
11727
+ animation: none;
11728
+ }
11729
+ .ds-forgot__spinner {
11730
+ animation-duration: 1.5s;
11731
+ }
11732
+ }
11733
+ @media (prefers-contrast:more) {
11734
+ .ds-forgot__card {
11735
+ border: 1px solid var(--hc-border);
11736
+ }
11737
+ }
11738
+
11739
+ /* src/v2-auth/ChangeEmail/ChangeEmail.css */
11740
+ .ds-change-email {
11741
+ position: relative;
11742
+ display: flex;
11743
+ flex-direction: column;
11744
+ align-items: center;
11745
+ justify-content: center;
11746
+ width: 100%;
11747
+ padding: var(--space-6);
11748
+ box-sizing: border-box;
11749
+ }
11750
+ .void__content .ds-change-email {
11751
+ min-height: auto;
11752
+ flex: 1 1;
11753
+ }
11754
+ .ds-change-email__accent {
11755
+ position: absolute;
11756
+ border-radius: 50%;
11757
+ filter: blur(80px);
11758
+ opacity: .5;
11759
+ pointer-events: none;
11760
+ animation: ds-change-email-float 20s ease-in-out infinite;
11761
+ }
11762
+ .ds-change-email__accent--1 {
11763
+ width: 400px;
11764
+ height: 400px;
11765
+ background:
11766
+ radial-gradient(
11767
+ circle,
11768
+ rgba(var(--accent-rgb), .4) 0,
11769
+ transparent 70%);
11770
+ top: -100px;
11771
+ right: -100px;
11772
+ animation-delay: 0s;
11773
+ }
11774
+ .ds-change-email__accent--2 {
11775
+ width: 300px;
11776
+ height: 300px;
11777
+ background:
11778
+ radial-gradient(
11779
+ circle,
11780
+ rgba(var(--accent2-rgb), .3) 0,
11781
+ transparent 70%);
11782
+ bottom: -50px;
11783
+ left: -50px;
11784
+ animation-delay: -10s;
11785
+ }
11786
+ .ds-change-email__container {
11787
+ position: relative;
11788
+ width: 100%;
11789
+ max-width: 420px;
11790
+ display: flex;
11791
+ flex-direction: column;
11792
+ align-items: center;
11793
+ }
11794
+ @keyframes ds-change-email-float {
11795
+ 0%, 100% {
11796
+ transform: translate(0) scale(1);
11797
+ }
11798
+ 25% {
11799
+ transform: translate(20px, -30px) scale(1.05);
11800
+ }
11801
+ 50% {
11802
+ transform: translate(-10px, 20px) scale(.95);
11803
+ }
11804
+ 75% {
11805
+ transform: translate(-30px, -10px) scale(1.02);
11806
+ }
11807
+ }
11808
+ .ds-change-email__card {
11809
+ position: relative;
11810
+ width: 100%;
11811
+ max-width: 420px;
11812
+ padding: var(--space-8);
11813
+ border-radius: var(--radius-panel);
11814
+ background: var(--glass-base);
11815
+ backdrop-filter: var(--glass-backdrop);
11816
+ -webkit-backdrop-filter: var(--glass-backdrop);
11817
+ box-shadow: var(--glass-shadow-elevated-combined);
11818
+ animation: ds-change-email-card-enter .6s cubic-bezier(.16, 1, .3, 1) forwards;
11819
+ opacity: 0;
11820
+ transform: translateY(20px);
11821
+ }
11822
+ .ds-change-email__card::before {
11823
+ content: "";
11824
+ position: absolute;
11825
+ inset: 0;
11826
+ border-radius: inherit;
11827
+ padding: 1px;
11828
+ background:
11829
+ linear-gradient(
11830
+ 180deg,
11831
+ var(--rim-light-hover-top) 0,
11832
+ var(--rim-light-bottom) 100%);
11833
+ mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
11834
+ mask-composite: exclude;
11835
+ -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
11836
+ -webkit-mask-composite: xor;
11837
+ pointer-events: none;
11838
+ }
11839
+ @keyframes ds-change-email-card-enter {
11840
+ to {
11841
+ opacity: 1;
11842
+ transform: translateY(0);
11843
+ }
11844
+ }
11845
+ .ds-change-email__header {
11846
+ text-align: center;
11847
+ margin-bottom: var(--space-6);
11848
+ }
11849
+ .ds-change-email__logo {
11850
+ display: flex;
11851
+ justify-content: center;
11852
+ margin-bottom: var(--space-4);
11853
+ animation: ds-change-email-fade-in .5s ease-out .1s forwards;
11854
+ opacity: 0;
11855
+ }
11856
+ .ds-change-email__logo-icon {
11857
+ width: 56px;
11858
+ height: 56px;
11859
+ animation: ds-change-email-logo-pulse 3s ease-in-out infinite;
11860
+ }
11861
+ .ds-change-email__logo-icon svg {
11862
+ width: 100%;
11863
+ height: 100%;
11864
+ filter: drop-shadow(0 4px 12px rgba(var(--accent-rgb), .3));
11865
+ }
11866
+ @keyframes ds-change-email-logo-pulse {
11867
+ 0%, 100% {
11868
+ transform: scale(1);
11869
+ filter: drop-shadow(0 4px 12px rgba(var(--accent-rgb), .3));
11870
+ }
11871
+ 50% {
11872
+ transform: scale(1.05);
11873
+ filter: drop-shadow(0 6px 20px rgba(var(--accent-rgb), .5));
11874
+ }
11875
+ }
11876
+ .ds-change-email__title {
11877
+ font-family: var(--font-family);
11878
+ font-size: var(--font-size-2xl);
11879
+ font-weight: var(--font-weight-bold);
11880
+ color: var(--text-primary);
11881
+ margin: 0 0 var(--space-2);
11882
+ animation: ds-change-email-fade-in .5s ease-out .2s forwards;
11883
+ opacity: 0;
11884
+ }
11885
+ .ds-change-email__tagline {
11886
+ font-family: var(--font-family);
11887
+ font-size: var(--font-size-sm);
11888
+ color: var(--text-secondary);
11889
+ margin: 0;
11890
+ line-height: var(--line-height-normal);
11891
+ animation: ds-change-email-fade-in .5s ease-out .3s forwards;
11892
+ opacity: 0;
11893
+ }
11894
+ @keyframes ds-change-email-fade-in {
11895
+ to {
11896
+ opacity: 1;
11897
+ }
11898
+ }
11899
+ .ds-change-email__error {
11900
+ display: flex;
11901
+ align-items: center;
11902
+ gap: var(--space-2);
11903
+ padding: var(--space-3) var(--space-4);
11904
+ margin-bottom: var(--space-4);
11905
+ border-radius: var(--radius-button);
11906
+ background: rgba(var(--status-error-rgb), .1);
11907
+ border: 1px solid rgba(var(--status-error-rgb), .3);
11908
+ color: var(--status-error);
11909
+ font-size: var(--font-size-sm);
11910
+ animation: ds-change-email-error-enter .4s ease-out;
11911
+ }
11912
+ @keyframes ds-change-email-error-enter {
11913
+ 0% {
11914
+ opacity: 0;
11915
+ transform: translateX(-10px);
11916
+ }
11917
+ 50% {
11918
+ transform: translateX(5px);
11919
+ }
11920
+ 100% {
11921
+ opacity: 1;
11922
+ transform: translateX(0);
11923
+ }
11924
+ }
11925
+ .ds-change-email__social {
11926
+ margin-bottom: var(--space-4);
11927
+ animation: ds-change-email-fade-in .5s ease-out .4s forwards;
11928
+ opacity: 0;
11929
+ }
11930
+ .ds-change-email__social-btn {
11931
+ display: flex;
11932
+ align-items: center;
11933
+ justify-content: center;
11934
+ gap: var(--space-3);
11935
+ width: 100%;
11936
+ padding: var(--space-3) var(--space-4);
11937
+ margin-bottom: var(--space-3);
11938
+ border: none;
11939
+ border-radius: var(--radius-button);
11940
+ background: var(--glass-base);
11941
+ color: var(--text-primary);
11942
+ font-family: var(--font-family);
11943
+ font-size: var(--font-size-base);
11944
+ font-weight: var(--font-weight-medium);
11945
+ cursor: pointer;
11946
+ position: relative;
11947
+ transition:
11948
+ background var(--transition-glass),
11949
+ transform var(--transition-glass),
11950
+ box-shadow var(--transition-glass);
11951
+ }
11952
+ .ds-change-email__social-btn::before {
11953
+ content: "";
11954
+ position: absolute;
11955
+ inset: 0;
11956
+ border-radius: inherit;
11957
+ padding: 1px;
11958
+ background:
11959
+ linear-gradient(
11960
+ 180deg,
11961
+ var(--rim-light-top) 0,
11962
+ var(--rim-light-bottom) 100%);
11963
+ mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
11964
+ mask-composite: exclude;
11965
+ -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
11966
+ -webkit-mask-composite: xor;
11967
+ pointer-events: none;
11968
+ transition: background var(--transition-glass);
11969
+ }
11970
+ .ds-change-email__social-btn:hover:not(:disabled) {
11971
+ background: var(--glass-base-hover);
11972
+ transform: translateY(-2px);
11973
+ box-shadow: 0 8px 24px var(--shadow-color-heavy,rgba(0,0,0,.2));
11974
+ }
11975
+ .ds-change-email__social-btn:hover:not(:disabled)::before {
11976
+ background:
11977
+ linear-gradient(
11978
+ 180deg,
11979
+ var(--rim-light-hover-top) 0,
11980
+ var(--rim-light-hover-bottom) 100%);
11981
+ }
11982
+ .ds-change-email__social-btn:disabled {
11983
+ opacity: .5;
11984
+ cursor: not-allowed;
11985
+ }
11986
+ .ds-change-email__divider {
11987
+ display: flex;
11988
+ align-items: center;
11989
+ gap: var(--space-4);
11990
+ margin: var(--space-4) 0;
11991
+ color: var(--text-tertiary);
11992
+ font-family: var(--font-family);
11993
+ font-size: var(--font-size-sm);
11994
+ }
11995
+ .ds-change-email__divider::after,
11996
+ .ds-change-email__divider::before {
11997
+ content: "";
11998
+ flex: 1 1;
11999
+ height: 1px;
12000
+ background:
12001
+ linear-gradient(
12002
+ 90deg,
12003
+ transparent 0,
12004
+ var(--rim-light-top) 50%,
12005
+ transparent 100%);
12006
+ }
12007
+ .ds-change-email__form {
12008
+ animation: ds-change-email-fade-in .5s ease-out .5s forwards;
12009
+ opacity: 0;
12010
+ }
12011
+ .ds-change-email__field {
12012
+ margin-bottom: var(--space-4);
12013
+ }
12014
+ .ds-change-email__password-toggle {
12015
+ position: static;
12016
+ transform: none;
12017
+ padding: var(--space-2);
12018
+ border: none;
12019
+ background: transparent;
12020
+ color: var(--text-tertiary);
12021
+ cursor: pointer;
12022
+ border-radius: var(--radius-badge);
12023
+ display: flex;
12024
+ align-items: center;
12025
+ justify-content: center;
12026
+ transition: color var(--transition-glass), background var(--transition-glass);
12027
+ }
12028
+ .ds-change-email__password-toggle:hover {
12029
+ color: var(--text-primary);
12030
+ background: var(--glass-base-hover);
12031
+ }
12032
+ .ds-change-email__options {
12033
+ display: flex;
12034
+ align-items: center;
12035
+ justify-content: space-between;
12036
+ margin-bottom: var(--space-6);
12037
+ flex-wrap: wrap;
12038
+ gap: var(--space-2);
12039
+ }
12040
+ .ds-change-email__link {
12041
+ padding: 0;
12042
+ border: none;
12043
+ background: transparent;
12044
+ color: var(--text-secondary);
12045
+ font-family: var(--font-family);
12046
+ font-size: var(--font-size-sm);
12047
+ cursor: pointer;
12048
+ transition: color var(--transition-glass);
12049
+ }
12050
+ .ds-change-email__link:hover:not(:disabled) {
12051
+ color: var(--text-primary);
12052
+ }
12053
+ .ds-change-email__link--accent {
12054
+ color: rgb(var(--accent-rgb));
12055
+ font-weight: var(--font-weight-medium);
12056
+ }
12057
+ .ds-change-email__link--accent:hover:not(:disabled) {
12058
+ color: rgb(var(--accent-rgb));
12059
+ text-decoration: underline;
12060
+ }
12061
+ .ds-change-email__link:disabled {
12062
+ opacity: .5;
12063
+ cursor: not-allowed;
12064
+ }
12065
+ .ds-change-email__submit {
12066
+ width: 100%;
12067
+ }
12068
+ .ds-change-email__spinner {
12069
+ display: inline-block;
12070
+ width: 20px;
12071
+ height: 20px;
12072
+ border: 2px solid var(--border-subtle,hsla(0deg,0%,100%,.3));
12073
+ border-top-color: var(--text-primary,#fff);
12074
+ border-radius: 50%;
12075
+ animation: ds-change-email-spin .8s linear infinite;
12076
+ }
12077
+ @keyframes ds-change-email-spin {
12078
+ to {
12079
+ transform: rotate(1turn);
12080
+ }
12081
+ }
12082
+ .ds-change-email__footer {
12083
+ display: flex;
12084
+ align-items: center;
12085
+ justify-content: center;
12086
+ gap: var(--space-2);
12087
+ margin-top: var(--space-6);
12088
+ border-top: 1px solid var(--rim-light-bottom);
12089
+ font-size: var(--font-size-sm);
12090
+ animation: ds-change-email-fade-in .5s ease-out .6s forwards;
12091
+ }
12092
+ .ds-change-email__footer,
12093
+ .ds-change-email__trust {
12094
+ padding-top: var(--space-6);
12095
+ font-family: var(--font-family);
12096
+ color: var(--text-tertiary);
12097
+ opacity: 0;
12098
+ }
12099
+ .ds-change-email__trust {
12100
+ padding-bottom: var(--space-2);
12101
+ text-align: center;
12102
+ font-size: var(--font-size-xs);
12103
+ animation: ds-change-email-fade-in .5s ease-out .7s forwards;
12104
+ }
12105
+ @media (max-width:480px) {
12106
+ .ds-change-email {
12107
+ padding: var(--space-4);
12108
+ }
12109
+ .ds-change-email__card {
12110
+ padding: var(--space-6);
12111
+ border-radius: var(--radius-card);
12112
+ }
12113
+ .ds-change-email__accent--1 {
12114
+ width: 200px;
12115
+ height: 200px;
12116
+ top: -50px;
12117
+ right: -50px;
12118
+ }
12119
+ .ds-change-email__accent--2 {
12120
+ width: 150px;
12121
+ height: 150px;
12122
+ bottom: -30px;
12123
+ left: -30px;
12124
+ }
12125
+ .ds-change-email__options {
12126
+ flex-direction: column;
12127
+ align-items: flex-start;
12128
+ gap: var(--space-3);
12129
+ }
12130
+ }
12131
+ @media (prefers-reduced-motion:reduce) {
12132
+ .ds-change-email__card,
12133
+ .ds-change-email__footer,
12134
+ .ds-change-email__form,
12135
+ .ds-change-email__logo,
12136
+ .ds-change-email__social,
12137
+ .ds-change-email__tagline,
12138
+ .ds-change-email__title,
12139
+ .ds-change-email__trust {
12140
+ animation: none;
12141
+ opacity: 1;
12142
+ }
12143
+ .ds-change-email__accent,
12144
+ .ds-change-email__logo-icon {
12145
+ animation: none;
12146
+ }
12147
+ .ds-change-email__spinner {
12148
+ animation-duration: 1.5s;
12149
+ }
12150
+ }
12151
+ @media (prefers-contrast:more) {
12152
+ .ds-change-email__card {
12153
+ border: 1px solid var(--hc-border);
12154
+ }
12155
+ .ds-change-email__social-btn {
12156
+ border: 1px solid var(--hc-border-subtle);
12157
+ }
12158
+ .ds-change-email__social-btn::before {
12159
+ display: none;
12160
+ }
12161
+ }
9736
12162
  /*# sourceMappingURL=index.css.map */