@pollar/react 0.11.5 → 0.12.0-rc.5

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.
package/dist/index.css CHANGED
@@ -15,14 +15,14 @@
15
15
  .pollar-overlay {
16
16
  position: fixed;
17
17
  inset: 0;
18
- z-index: var(--pollar-overlay-z-index, 50);
18
+ z-index: var(--pollar-overlay-z-index);
19
19
  display: flex;
20
20
  align-items: center;
21
21
  justify-content: center;
22
22
  overflow-y: auto;
23
23
  padding: 1rem;
24
24
  box-sizing: border-box;
25
- background-color: rgba(0, 0, 0, 0.5);
25
+ background-color: var(--pollar-overlay-bg);
26
26
  }
27
27
  .pollar-modal-card {
28
28
  position: relative;
@@ -33,22 +33,55 @@
33
33
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
34
34
  background-color: var(--pollar-bg);
35
35
  box-sizing: border-box;
36
- font-family: inherit;
36
+ font-family: var(--pollar-font-family, inherit);
37
37
  max-height: calc(100dvh - 2rem);
38
38
  overflow-y: auto;
39
39
  }
40
- html.dark .pollar-modal-card {
41
- --pollar-bg: #1a1a1a !important;
42
- --pollar-border: #374151 !important;
43
- --pollar-text: #ffffff !important;
44
- --pollar-muted: #9ca3af !important;
45
- --pollar-input-bg: #374151 !important;
46
- --pollar-error-bg: #2a1515 !important;
47
- --pollar-error-border: #7f1d1d !important;
48
- --pollar-error-text: #f87171 !important;
49
- --pollar-success-text: #4ade80 !important;
50
- --pollar-logo-on-light-display: none !important;
51
- --pollar-logo-on-dark-display: block !important;
40
+ :where(.pollar-modal-card, .pollar-wallet-wrapper, .pollar-wallet-login-btn) {
41
+ --pollar-accent: var(--pollar-brand-accent, #005db4);
42
+ --pollar-btn-primary-fg: var(--pollar-brand-btn-primary-fg, #ffffff);
43
+ --pollar-btn-secondary-bg: var(--pollar-brand-btn-secondary-bg);
44
+ --pollar-btn-secondary-fg: var(--pollar-brand-btn-secondary-fg);
45
+ --pollar-bg: var(--pollar-brand-bg, #ffffff);
46
+ --pollar-border: var(--pollar-brand-border, #e5e7eb);
47
+ --pollar-text: var(--pollar-brand-text, #111827);
48
+ --pollar-muted: var(--pollar-brand-muted, #6b7280);
49
+ --pollar-input-bg: var(--pollar-brand-input-bg, #f9fafb);
50
+ --pollar-error-bg: var(--pollar-brand-error-bg, #fef2f2);
51
+ --pollar-error-border: var(--pollar-brand-error-border, #fecaca);
52
+ --pollar-error-text: var(--pollar-brand-error-text, #dc2626);
53
+ --pollar-success-text: var(--pollar-brand-success-text, #16a34a);
54
+ --pollar-logo-on-light-display: var(--pollar-brand-logo-on-light-display, block);
55
+ --pollar-logo-on-dark-display: var(--pollar-brand-logo-on-dark-display, none);
56
+ --pollar-modal-border-radius: var(--pollar-brand-modal-border-radius, 16px);
57
+ --pollar-buttons-border-radius: var(--pollar-brand-buttons-border-radius, 6px);
58
+ --pollar-buttons-height: 44px;
59
+ --pollar-input-height: 44px;
60
+ --pollar-input-border-radius: var(--pollar-buttons-border-radius);
61
+ --pollar-card-border-radius: 10px;
62
+ --pollar-modal-padding: var(--pollar-brand-modal-padding);
63
+ --pollar-modal-heading-size: var(--pollar-brand-modal-heading-size);
64
+ --pollar-modal-subtitle-size: var(--pollar-brand-modal-subtitle-size);
65
+ }
66
+ :where(html.dark) :where(.pollar-modal-card, .pollar-wallet-wrapper, .pollar-wallet-login-btn) {
67
+ --pollar-bg: var(--pollar-brand-bg, #1a1a1a);
68
+ --pollar-border: var(--pollar-brand-border, #374151);
69
+ --pollar-text: var(--pollar-brand-text, #ffffff);
70
+ --pollar-muted: var(--pollar-brand-muted, #9ca3af);
71
+ --pollar-input-bg: var(--pollar-brand-input-bg, #374151);
72
+ --pollar-error-bg: var(--pollar-brand-error-bg, #2a1515);
73
+ --pollar-error-border: var(--pollar-brand-error-border, #7f1d1d);
74
+ --pollar-error-text: var(--pollar-brand-error-text, #f87171);
75
+ --pollar-success-text: var(--pollar-brand-success-text, #4ade80);
76
+ --pollar-logo-on-light-display: var(--pollar-brand-logo-on-light-display, none);
77
+ --pollar-logo-on-dark-display: var(--pollar-brand-logo-on-dark-display, block);
78
+ }
79
+ :where(.pollar-modal-card, .pollar-wallet-wrapper) :where(button, input, select, textarea) {
80
+ font-family: inherit;
81
+ }
82
+ :where(.pollar-overlay) {
83
+ --pollar-overlay-z-index: var(--pollar-brand-overlay-z-index, 50);
84
+ --pollar-overlay-bg: rgba(0, 0, 0, 0.5);
52
85
  }
53
86
  .pollar-input {
54
87
  width: 100%;
@@ -234,7 +267,7 @@ html.dark .pollar-modal-card {
234
267
  flex: 1;
235
268
  height: 36px;
236
269
  border: none;
237
- border-radius: 6px;
270
+ border-radius: max(0px, calc(var(--pollar-card-border-radius, 10px) - 4px));
238
271
  background: transparent;
239
272
  color: var(--pollar-muted);
240
273
  font-size: 14px;
@@ -316,10 +349,10 @@ html.dark .pollar-modal-card {
316
349
  opacity: 1;
317
350
  }
318
351
  .pollar-status[data-kind=ERROR] {
319
- color: #ef4444;
352
+ color: var(--pollar-error-text);
320
353
  }
321
354
  .pollar-status[data-kind=SUCCESS] {
322
- color: #10b981;
355
+ color: var(--pollar-success-text);
323
356
  }
324
357
  .pollar-status[data-kind=LOADING] {
325
358
  color: var(--pollar-accent);
@@ -371,7 +404,7 @@ html.dark .pollar-modal-card {
371
404
  }
372
405
  .pollar-issuer-addr {
373
406
  font-size: 0.6875rem;
374
- font-family: monospace;
407
+ font-family: var(--pollar-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
375
408
  color: var(--pollar-muted);
376
409
  }
377
410
  .pollar-busy-overlay {
@@ -447,7 +480,7 @@ html.dark .pollar-modal-card {
447
480
  flex: 1;
448
481
  min-width: 0;
449
482
  font-size: 0.75rem;
450
- font-family: monospace;
483
+ font-family: var(--pollar-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
451
484
  color: var(--pollar-muted);
452
485
  background: var(--pollar-input-bg);
453
486
  border: 1px solid var(--pollar-border);
@@ -537,11 +570,11 @@ html.dark .pollar-modal-card {
537
570
  letter-spacing: 0.04em;
538
571
  }
539
572
  .pollar-dist-item-status[data-kind=claimed] {
540
- background: rgba(22, 163, 74, 0.12);
573
+ background: color-mix(in srgb, var(--pollar-success-text) 12%, transparent);
541
574
  color: var(--pollar-success-text, #16a34a);
542
575
  }
543
576
  .pollar-dist-item-status[data-kind=unavailable] {
544
- background: rgba(107, 114, 128, 0.12);
577
+ background: color-mix(in srgb, var(--pollar-muted) 12%, transparent);
545
578
  color: var(--pollar-muted);
546
579
  }
547
580
  .pollar-dist-item-error {
@@ -603,7 +636,7 @@ html.dark .pollar-modal-card {
603
636
  padding: 0.75rem 0.875rem;
604
637
  gap: 0.75rem;
605
638
  border: 1px solid var(--pollar-border);
606
- border-radius: 0.75rem;
639
+ border-radius: var(--pollar-input-border-radius, 0.5rem);
607
640
  background: var(--pollar-input-bg);
608
641
  color: var(--pollar-text);
609
642
  text-align: left;
@@ -684,7 +717,7 @@ html.dark .pollar-modal-card {
684
717
  padding: 0.375rem;
685
718
  overflow-y: auto;
686
719
  border: 1px solid var(--pollar-border);
687
- border-radius: 0.75rem;
720
+ border-radius: var(--pollar-input-border-radius, 0.5rem);
688
721
  background: var(--pollar-bg);
689
722
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.16);
690
723
  }
@@ -695,7 +728,7 @@ html.dark .pollar-modal-card {
695
728
  gap: 0.625rem;
696
729
  padding: 0.625rem;
697
730
  border: 1px solid transparent;
698
- border-radius: 0.5rem;
731
+ border-radius: max(0px, calc(var(--pollar-input-border-radius, 0.5rem) - 6px));
699
732
  background: transparent;
700
733
  color: var(--pollar-text);
701
734
  text-align: left;
@@ -713,12 +746,12 @@ html.dark .pollar-modal-card {
713
746
  padding-right: 5.75rem;
714
747
  }
715
748
  .pollar-send-amount-input {
716
- font-family: Geist, sans-serif;
749
+ font-family: inherit;
717
750
  font-size: 20px;
718
751
  font-style: normal;
719
752
  font-weight: 500;
720
753
  line-height: 30px;
721
- color: var(--Color-Neutral-400, #94a3b8);
754
+ color: var(--pollar-text);
722
755
  }
723
756
  .pollar-send-label-optional {
724
757
  font-weight: 400;
@@ -737,7 +770,7 @@ html.dark .pollar-modal-card {
737
770
  min-width: 0;
738
771
  }
739
772
  .pollar-send-destination-input {
740
- font-family: "Geist Mono", monospace;
773
+ font-family: var(--pollar-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
741
774
  font-size: 14px;
742
775
  font-style: normal;
743
776
  font-weight: 400;
@@ -764,10 +797,10 @@ html.dark .pollar-modal-card {
764
797
  height: 28px;
765
798
  padding: 0 0.5rem;
766
799
  border: 0;
767
- border-radius: 0.375rem;
768
- background: var(--pollar-btn-secondary-bg, #eaf2fa);
800
+ border-radius: var(--pollar-buttons-border-radius, 0.375rem);
801
+ background: var(--pollar-btn-secondary-bg, color-mix(in srgb, var(--pollar-accent) 10%, var(--pollar-bg)));
769
802
  box-shadow: none;
770
- color: var(--pollar-accent);
803
+ color: var(--pollar-btn-secondary-fg, var(--pollar-accent));
771
804
  font: inherit;
772
805
  font-size: 0.75rem;
773
806
  font-weight: 700;
@@ -776,7 +809,7 @@ html.dark .pollar-modal-card {
776
809
  pointer-events: auto;
777
810
  }
778
811
  .pollar-send-inline-action:hover:not(:disabled) {
779
- background: color-mix(in srgb, var(--pollar-btn-secondary-bg, #eaf2fa) 82%, var(--pollar-accent));
812
+ background: color-mix(in srgb, var(--pollar-btn-secondary-bg, color-mix(in srgb, var(--pollar-accent) 10%, var(--pollar-bg))) 82%, var(--pollar-accent));
780
813
  color: var(--pollar-btn-secondary-fg, var(--pollar-text));
781
814
  }
782
815
  .pollar-send-inline-action:disabled {
@@ -790,15 +823,11 @@ html.dark .pollar-modal-card {
790
823
  bottom: auto;
791
824
  transform: translateY(-50%);
792
825
  }
793
- html.dark .pollar-send-inline-action {
794
- background: var(--pollar-btn-secondary-bg, #253b52);
795
- }
796
826
  .pollar-send-modal .pollar-modal-actions {
797
827
  margin-top: 0.25rem;
798
828
  }
799
829
  .pollar-send-modal .pollar-btn-primary {
800
830
  min-height: 48px;
801
- border-radius: 999px;
802
831
  font-size: 0.9375rem;
803
832
  }
804
833
  @media (max-width: 480px) {
@@ -835,6 +864,39 @@ html.dark .pollar-send-inline-action {
835
864
  background-size: 200% 100%;
836
865
  animation: pollar-pulse 1.4s ease-in-out infinite;
837
866
  }
867
+ .pollar-send-notice {
868
+ display: flex;
869
+ flex-direction: column;
870
+ gap: 0.5rem;
871
+ padding: 0.875rem 1rem;
872
+ border: 1px solid var(--pollar-border);
873
+ border-radius: var(--pollar-card-border-radius, 12px);
874
+ font-size: 0.8125rem;
875
+ line-height: 1.45;
876
+ color: var(--pollar-text);
877
+ }
878
+ .pollar-send-notice p {
879
+ margin: 0;
880
+ }
881
+ .pollar-send-notice-title {
882
+ font-weight: 600;
883
+ font-size: 0.875rem;
884
+ }
885
+ .pollar-send-notice-address {
886
+ font-family: var(--pollar-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
887
+ font-size: 0.75rem;
888
+ color: var(--pollar-muted);
889
+ word-break: break-all;
890
+ }
891
+ .pollar-send-notice-warning {
892
+ color: var(--pollar-error-text, #dc2626);
893
+ }
894
+ .pollar-send-account-actions {
895
+ display: flex;
896
+ flex-direction: column;
897
+ gap: 0.5rem;
898
+ margin-top: 1rem;
899
+ }
838
900
 
839
901
  /* src/components/enabled-assets-modal/EnabledAssetsModal.css */
840
902
  .pollar-asset-modal {
@@ -1078,9 +1140,10 @@ html.dark .pollar-send-inline-action {
1078
1140
  justify-content: space-between;
1079
1141
  width: 100%;
1080
1142
  padding: 0.875rem 1rem;
1081
- border-radius: var(--pollar-card-border-radius, 10px);
1143
+ border-radius: var(--pollar-buttons-border-radius, 10px);
1082
1144
  border: 1px solid var(--pollar-border);
1083
1145
  background-color: var(--pollar-btn-secondary-bg, var(--pollar-input-bg));
1146
+ color: var(--pollar-btn-secondary-fg, var(--pollar-text));
1084
1147
  cursor: pointer;
1085
1148
  transition:
1086
1149
  border-color 0.15s,
@@ -1090,7 +1153,7 @@ html.dark .pollar-send-inline-action {
1090
1153
  }
1091
1154
  .pollar-kyc-provider-btn:hover:not(:disabled) {
1092
1155
  border-color: var(--pollar-accent);
1093
- background-color: color-mix(in srgb, var(--pollar-accent) 5%, var(--pollar-input-bg));
1156
+ background-color: color-mix(in srgb, var(--pollar-accent) 5%, var(--pollar-btn-secondary-bg, var(--pollar-input-bg)));
1094
1157
  }
1095
1158
  .pollar-kyc-provider-btn:disabled {
1096
1159
  opacity: 0.5;
@@ -1102,6 +1165,9 @@ html.dark .pollar-send-inline-action {
1102
1165
  color: var(--pollar-btn-secondary-fg, var(--pollar-text));
1103
1166
  }
1104
1167
  .pollar-kyc-provider-flow {
1168
+ display: inline-flex;
1169
+ align-items: center;
1170
+ gap: 0.375rem;
1105
1171
  font-size: 0.75rem;
1106
1172
  color: var(--pollar-muted);
1107
1173
  text-align: right;
@@ -1701,11 +1767,7 @@ html.dark .pollar-send-inline-action {
1701
1767
  cursor: pointer;
1702
1768
  transition: all 0.15s;
1703
1769
  box-sizing: border-box;
1704
- font-family:
1705
- -apple-system,
1706
- BlinkMacSystemFont,
1707
- "Segoe UI",
1708
- sans-serif;
1770
+ font-family: inherit;
1709
1771
  }
1710
1772
  .pollar-wallet-entry-btn:hover:not(:disabled) {
1711
1773
  border-color: var(--pollar-accent);
@@ -1742,7 +1804,7 @@ html.dark .pollar-send-inline-action {
1742
1804
  .pollar-code-input {
1743
1805
  width: 2.75rem;
1744
1806
  height: 3rem;
1745
- border-radius: 0.5rem;
1807
+ border-radius: var(--pollar-input-border-radius, 0.5rem);
1746
1808
  border: 1px solid var(--pollar-border);
1747
1809
  background-color: var(--pollar-input-bg);
1748
1810
  font-size: 1.25rem;
@@ -1783,26 +1845,65 @@ html.dark .pollar-send-inline-action {
1783
1845
  margin-bottom: 1.25rem;
1784
1846
  }
1785
1847
  .pollar-ramp-steps-label {
1786
- font-size: 0.6875rem;
1848
+ font-size: 0.75rem;
1787
1849
  font-weight: 600;
1788
- letter-spacing: 0.05em;
1789
- text-transform: uppercase;
1790
1850
  color: var(--pollar-muted);
1791
1851
  }
1792
1852
  .pollar-ramp-steps-track {
1793
1853
  display: flex;
1794
1854
  gap: 0.375rem;
1855
+ margin: 0;
1856
+ padding: 0;
1857
+ list-style: none;
1795
1858
  }
1796
- .pollar-ramp-steps-segment {
1859
+ .pollar-ramp-steps-item {
1797
1860
  flex: 1;
1861
+ min-width: 0;
1862
+ }
1863
+ .pollar-ramp-steps-step {
1864
+ display: flex;
1865
+ flex-direction: column;
1866
+ gap: 0.375rem;
1867
+ width: 100%;
1868
+ padding: 0 0 0.125rem;
1869
+ border: none;
1870
+ background: none;
1871
+ font: inherit;
1872
+ text-align: left;
1873
+ color: var(--pollar-muted);
1874
+ cursor: pointer;
1875
+ }
1876
+ .pollar-ramp-steps-step:disabled {
1877
+ cursor: default;
1878
+ }
1879
+ .pollar-ramp-steps-segment {
1798
1880
  height: 4px;
1799
1881
  border-radius: 999px;
1800
1882
  background: var(--pollar-border);
1801
1883
  transition: background-color 0.2s;
1802
1884
  }
1803
- .pollar-ramp-steps-segment[data-done] {
1885
+ .pollar-ramp-steps-step[data-done] .pollar-ramp-steps-segment {
1804
1886
  background: var(--pollar-accent);
1805
1887
  }
1888
+ .pollar-ramp-steps-name {
1889
+ overflow: hidden;
1890
+ font-size: 0.75rem;
1891
+ white-space: nowrap;
1892
+ text-overflow: ellipsis;
1893
+ }
1894
+ .pollar-ramp-steps-item[aria-current=step] .pollar-ramp-steps-name {
1895
+ font-weight: 600;
1896
+ color: var(--pollar-text);
1897
+ }
1898
+ .pollar-ramp-steps-step:not(:disabled):hover .pollar-ramp-steps-name {
1899
+ color: var(--pollar-accent);
1900
+ text-decoration: underline;
1901
+ }
1902
+ .pollar-ramp-steps-step:focus-visible {
1903
+ outline: 2px solid var(--pollar-accent);
1904
+ outline-offset: 2px;
1905
+ border-radius: 0.25rem;
1906
+ }
1806
1907
  .pollar-ramp-field {
1807
1908
  margin-bottom: 1rem;
1808
1909
  }
@@ -1812,8 +1913,9 @@ html.dark .pollar-send-inline-action {
1812
1913
  font-size: 0.8125rem;
1813
1914
  font-weight: 600;
1814
1915
  color: var(--pollar-muted);
1815
- text-transform: uppercase;
1816
- letter-spacing: 0.04em;
1916
+ }
1917
+ .pollar-ramp-field > .pollar-send-field {
1918
+ margin-bottom: 0;
1817
1919
  }
1818
1920
  .pollar-ramp-input {
1819
1921
  width: 100%;
@@ -1956,23 +2058,69 @@ html.dark .pollar-send-inline-action {
1956
2058
  color: var(--pollar-text);
1957
2059
  }
1958
2060
  .pollar-ramp-route-badge {
1959
- font-size: 0.6875rem;
2061
+ font-size: 0.75rem;
1960
2062
  font-weight: 700;
1961
2063
  color: var(--pollar-accent);
1962
- text-transform: uppercase;
1963
- letter-spacing: 0.04em;
1964
2064
  }
1965
2065
  .pollar-ramp-payment {
1966
2066
  display: flex;
1967
2067
  flex-direction: column;
1968
2068
  gap: 1rem;
1969
2069
  }
2070
+ .pollar-ramp-saved {
2071
+ gap: 0.625rem;
2072
+ padding-bottom: 1rem;
2073
+ margin-bottom: 1rem;
2074
+ border-bottom: 1px solid var(--pollar-border);
2075
+ }
2076
+ .pollar-ramp-saved-row {
2077
+ display: flex;
2078
+ gap: 0.625rem;
2079
+ align-items: center;
2080
+ }
2081
+ .pollar-ramp-saved-row > button:first-child {
2082
+ flex: 1;
2083
+ min-width: 0;
2084
+ }
2085
+ .pollar-ramp-saved-row > button:last-child:not(:first-child) {
2086
+ width: auto;
2087
+ }
2088
+ .pollar-ramp-explore {
2089
+ display: flex;
2090
+ flex-direction: column;
2091
+ gap: 0.625rem;
2092
+ border-top: 1px solid var(--pollar-border);
2093
+ margin-top: 1.25rem;
2094
+ padding-top: 1.25rem;
2095
+ }
2096
+ .pollar-ramp-workflow p {
2097
+ margin: 0;
2098
+ }
2099
+ .pollar-ramp-terms {
2100
+ padding: 0.875rem 1rem;
2101
+ border: 1px solid var(--pollar-border);
2102
+ border-radius: var(--pollar-card-border-radius, 10px);
2103
+ background: var(--pollar-input-bg);
2104
+ color: var(--pollar-text);
2105
+ line-height: 1.6;
2106
+ font-size: 0.875rem;
2107
+ }
2108
+ .pollar-ramp-workflow-detail,
2109
+ .pollar-ramp-reference {
2110
+ overflow-wrap: anywhere;
2111
+ font-size: 0.8125rem;
2112
+ line-height: 1.5;
2113
+ color: var(--pollar-muted);
2114
+ }
2115
+ .pollar-ramp-hosted-link {
2116
+ display: flex;
2117
+ justify-content: center;
2118
+ text-decoration: none;
2119
+ }
1970
2120
  .pollar-ramp-payment-title {
1971
2121
  font-size: 0.8125rem;
1972
2122
  font-weight: 600;
1973
2123
  color: var(--pollar-muted);
1974
- text-transform: uppercase;
1975
- letter-spacing: 0.04em;
1976
2124
  margin: 0;
1977
2125
  }
1978
2126
  .pollar-ramp-payment-field {
@@ -1998,7 +2146,7 @@ html.dark .pollar-send-inline-action {
1998
2146
  font-weight: 700;
1999
2147
  color: var(--pollar-text);
2000
2148
  letter-spacing: 0.03em;
2001
- font-family: monospace;
2149
+ font-family: var(--pollar-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
2002
2150
  }
2003
2151
  .pollar-ramp-qr {
2004
2152
  display: flex;
@@ -2044,6 +2192,104 @@ html.dark .pollar-send-inline-action {
2044
2192
  font-size: 0.8125rem;
2045
2193
  white-space: nowrap;
2046
2194
  }
2195
+ .pollar-ramp-legs {
2196
+ list-style: none;
2197
+ margin: 0 0 1rem;
2198
+ padding: 0;
2199
+ display: flex;
2200
+ flex-direction: column;
2201
+ gap: 0.625rem;
2202
+ }
2203
+ .pollar-ramp-leg {
2204
+ display: flex;
2205
+ flex-wrap: wrap;
2206
+ align-items: center;
2207
+ gap: 0.625rem;
2208
+ font-size: 0.875rem;
2209
+ color: var(--pollar-muted);
2210
+ }
2211
+ .pollar-ramp-leg-dot {
2212
+ width: 0.625rem;
2213
+ height: 0.625rem;
2214
+ border-radius: 50%;
2215
+ border: 2px solid var(--pollar-border);
2216
+ flex-shrink: 0;
2217
+ }
2218
+ .pollar-ramp-leg[data-status=active],
2219
+ .pollar-ramp-leg[data-status=done] {
2220
+ color: var(--pollar-text);
2221
+ }
2222
+ .pollar-ramp-leg[data-status=active] .pollar-ramp-leg-dot {
2223
+ border-color: var(--pollar-accent);
2224
+ }
2225
+ .pollar-ramp-leg[data-status=done] .pollar-ramp-leg-dot {
2226
+ border-color: var(--pollar-accent);
2227
+ background: var(--pollar-accent);
2228
+ }
2229
+ .pollar-ramp-leg[data-status=failed] {
2230
+ color: var(--pollar-error-text, #dc2626);
2231
+ }
2232
+ .pollar-ramp-leg[data-status=failed] .pollar-ramp-leg-dot {
2233
+ border-color: var(--pollar-error-text, #dc2626);
2234
+ }
2235
+ .pollar-ramp-leg-title {
2236
+ flex: 1;
2237
+ min-width: 0;
2238
+ }
2239
+ .pollar-ramp-leg-note {
2240
+ flex-basis: 100%;
2241
+ padding-left: 1.25rem;
2242
+ font-size: 0.75rem;
2243
+ line-height: 1.4;
2244
+ color: var(--pollar-muted);
2245
+ }
2246
+ .pollar-ramp-steps {
2247
+ flex-basis: 100%;
2248
+ list-style: none;
2249
+ margin: 0.125rem 0 0;
2250
+ padding: 0 0 0 1.25rem;
2251
+ display: flex;
2252
+ flex-direction: column;
2253
+ gap: 0.375rem;
2254
+ }
2255
+ .pollar-ramp-step {
2256
+ display: flex;
2257
+ justify-content: space-between;
2258
+ gap: 0.75rem;
2259
+ font-size: 0.8125rem;
2260
+ color: var(--pollar-muted);
2261
+ }
2262
+ .pollar-ramp-step[data-status=done],
2263
+ .pollar-ramp-step[data-status=confirming],
2264
+ .pollar-ramp-step[data-status=awaiting_approval] {
2265
+ color: var(--pollar-text);
2266
+ }
2267
+ .pollar-ramp-step[data-status=awaiting_approval] .pollar-ramp-step-state {
2268
+ color: var(--pollar-accent);
2269
+ font-weight: 500;
2270
+ }
2271
+ .pollar-ramp-step-state {
2272
+ display: inline-flex;
2273
+ align-items: center;
2274
+ gap: 0.375rem;
2275
+ white-space: nowrap;
2276
+ }
2277
+ .pollar-ramp-leg-eta {
2278
+ flex-basis: 100%;
2279
+ padding-left: 1.25rem;
2280
+ font-size: 0.75rem;
2281
+ color: var(--pollar-muted);
2282
+ }
2283
+ .pollar-ramp-next {
2284
+ margin: -0.5rem 0 1rem;
2285
+ font-size: 0.8125rem;
2286
+ color: var(--pollar-muted);
2287
+ }
2288
+ .pollar-ramp-leg-link {
2289
+ font-family: var(--pollar-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
2290
+ font-size: 0.75rem;
2291
+ color: var(--pollar-accent);
2292
+ }
2047
2293
 
2048
2294
  /* src/components/receive-modal/ReceiveModal.css */
2049
2295
  .pollar-receive-modal {
@@ -2149,7 +2395,7 @@ html.dark .pollar-send-inline-action {
2149
2395
  min-width: 0;
2150
2396
  overflow: hidden;
2151
2397
  font-size: 0.75rem;
2152
- font-family: monospace;
2398
+ font-family: var(--pollar-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
2153
2399
  color: var(--pollar-text);
2154
2400
  line-height: 1.25rem;
2155
2401
  text-overflow: ellipsis;
@@ -2209,6 +2455,23 @@ html.dark .pollar-send-inline-action {
2209
2455
  padding-inline: 0.625rem;
2210
2456
  }
2211
2457
  }
2458
+ .pollar-receive-locked {
2459
+ display: flex;
2460
+ flex-direction: column;
2461
+ align-items: center;
2462
+ gap: 0.75rem;
2463
+ padding: 1rem;
2464
+ border: 1px solid var(--pollar-error-border, #fecaca);
2465
+ border-radius: var(--pollar-card-border-radius, 10px);
2466
+ background: var(--pollar-error-bg, #fef2f2);
2467
+ color: var(--pollar-error-text, #b91c1c);
2468
+ font-size: 0.85rem;
2469
+ line-height: 1.4;
2470
+ text-align: center;
2471
+ }
2472
+ .pollar-receive-locked p {
2473
+ margin: 0;
2474
+ }
2212
2475
 
2213
2476
  /* src/components/transaction-modal/TransactionModal.css */
2214
2477
  .pollar-tx-modal {
@@ -2293,7 +2556,7 @@ html.dark .pollar-send-inline-action {
2293
2556
  }
2294
2557
  .pollar-tx-summary-line {
2295
2558
  font-size: 0.875rem;
2296
- font-family: monospace;
2559
+ font-family: var(--pollar-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
2297
2560
  white-space: nowrap;
2298
2561
  color: var(--pollar-text);
2299
2562
  }
@@ -2342,7 +2605,7 @@ html.dark .pollar-send-inline-action {
2342
2605
  }
2343
2606
  .pollar-tx-result-hash {
2344
2607
  font-size: 0.8125rem;
2345
- font-family: monospace;
2608
+ font-family: var(--pollar-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
2346
2609
  color: var(--pollar-text);
2347
2610
  }
2348
2611
  .pollar-tx-result-actions {
@@ -2413,7 +2676,7 @@ html.dark .pollar-send-inline-action {
2413
2676
  background: var(--pollar-input-bg);
2414
2677
  border: 1px solid var(--pollar-border);
2415
2678
  border-radius: var(--pollar-card-border-radius, 10px);
2416
- font-family: monospace;
2679
+ font-family: var(--pollar-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
2417
2680
  font-size: 0.6875rem;
2418
2681
  color: var(--pollar-text);
2419
2682
  overflow-x: auto;
@@ -2439,7 +2702,7 @@ html.dark .pollar-send-inline-action {
2439
2702
  background: var(--pollar-input-bg);
2440
2703
  border: 1px solid var(--pollar-border);
2441
2704
  border-radius: var(--pollar-card-border-radius, 10px);
2442
- font-family: monospace;
2705
+ font-family: var(--pollar-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
2443
2706
  font-size: 0.6875rem;
2444
2707
  color: var(--pollar-error-text);
2445
2708
  white-space: pre-wrap;
@@ -2520,7 +2783,7 @@ html.dark .pollar-send-inline-action {
2520
2783
  outline: 0;
2521
2784
  background: transparent;
2522
2785
  color: var(--pollar-text);
2523
- font-family: Geist, inherit;
2786
+ font-family: inherit;
2524
2787
  font-size: 1.75rem;
2525
2788
  font-weight: 600;
2526
2789
  letter-spacing: -0.04em;
@@ -2619,10 +2882,10 @@ html.dark .pollar-send-inline-action {
2619
2882
  .pollar-swap-custom-toggle {
2620
2883
  min-height: 1.75rem;
2621
2884
  padding: 0.25rem 0.625rem;
2622
- border-radius: 0.375rem;
2885
+ border-radius: var(--pollar-buttons-border-radius, 0.375rem);
2623
2886
  border: 0;
2624
- background: var(--pollar-btn-secondary-bg, #eaf2fa);
2625
- color: var(--pollar-accent);
2887
+ background: var(--pollar-btn-secondary-bg, color-mix(in srgb, var(--pollar-accent) 10%, var(--pollar-bg)));
2888
+ color: var(--pollar-btn-secondary-fg, var(--pollar-accent));
2626
2889
  font-size: 0.6875rem;
2627
2890
  font-weight: 700;
2628
2891
  cursor: pointer;
@@ -2701,8 +2964,8 @@ html.dark .pollar-send-inline-action {
2701
2964
  .pollar-swap-rate-row {
2702
2965
  margin-top: 0.75rem;
2703
2966
  min-height: 2.25rem;
2704
- color: var(--Color-Neutral-600, #475569);
2705
- font-family: Geist, sans-serif;
2967
+ color: var(--pollar-muted);
2968
+ font-family: inherit;
2706
2969
  font-size: 0.875rem;
2707
2970
  font-style: normal;
2708
2971
  font-weight: 400;
@@ -2776,7 +3039,6 @@ html.dark .pollar-send-inline-action {
2776
3039
  }
2777
3040
  .pollar-swap-modal .pollar-btn-primary {
2778
3041
  min-height: 3rem;
2779
- border-radius: 999px;
2780
3042
  font-size: 0.9375rem;
2781
3043
  }
2782
3044
  @media (max-width: 480px) {
@@ -2804,23 +3066,6 @@ html.dark .pollar-send-inline-action {
2804
3066
  }
2805
3067
 
2806
3068
  /* src/components/earn-modal/EarnModal.css */
2807
- .pollar-earn-amount {
2808
- position: relative;
2809
- display: flex;
2810
- align-items: center;
2811
- }
2812
- .pollar-earn-amount .pollar-input {
2813
- width: 100%;
2814
- padding-right: 64px;
2815
- }
2816
- .pollar-earn-amount-unit {
2817
- position: absolute;
2818
- right: 12px;
2819
- color: var(--pollar-muted);
2820
- font-size: 13px;
2821
- font-weight: 600;
2822
- pointer-events: none;
2823
- }
2824
3069
  .pollar-earn-live {
2825
3070
  color: var(--pollar-accent);
2826
3071
  font-weight: 600;
@@ -2881,11 +3126,7 @@ html.dark .pollar-send-inline-action {
2881
3126
  #c9a24a);
2882
3127
  }
2883
3128
  .pollar-card-visual-number {
2884
- font-family:
2885
- ui-monospace,
2886
- SFMono-Regular,
2887
- Menlo,
2888
- monospace;
3129
+ font-family: var(--pollar-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
2889
3130
  font-size: 1.25rem;
2890
3131
  letter-spacing: 0.14em;
2891
3132
  word-break: break-all;
@@ -2904,11 +3145,7 @@ html.dark .pollar-send-inline-action {
2904
3145
  text-transform: uppercase;
2905
3146
  }
2906
3147
  .pollar-card-visual-bottom strong {
2907
- font-family:
2908
- ui-monospace,
2909
- SFMono-Regular,
2910
- Menlo,
2911
- monospace;
3148
+ font-family: var(--pollar-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
2912
3149
  font-weight: 600;
2913
3150
  font-size: 0.875rem;
2914
3151
  }
@@ -2961,7 +3198,7 @@ html.dark .pollar-send-inline-action {
2961
3198
  font-variant-numeric: tabular-nums;
2962
3199
  }
2963
3200
  .pollar-card-tx-amount[data-direction=credit] {
2964
- color: #15803d;
3201
+ color: var(--pollar-success-text);
2965
3202
  }
2966
3203
  .pollar-card-grid {
2967
3204
  display: grid;
@@ -3027,17 +3264,6 @@ html.dark .pollar-send-inline-action {
3027
3264
  overflow: hidden;
3028
3265
  padding-bottom: 0.75rem;
3029
3266
  }
3030
- html.dark .pollar-sessions-modal {
3031
- --pollar-bg: #1a1a1a !important;
3032
- --pollar-border: #374151 !important;
3033
- --pollar-text: #ffffff !important;
3034
- --pollar-muted: #9ca3af !important;
3035
- --pollar-input-bg: #374151 !important;
3036
- --pollar-error-bg: #2a1515 !important;
3037
- --pollar-error-border: #7f1d1d !important;
3038
- --pollar-error-text: #f87171 !important;
3039
- --pollar-success-text: #4ade80 !important;
3040
- }
3041
3267
  .pollar-sessions-list {
3042
3268
  display: flex;
3043
3269
  flex: 0 0 auto;
@@ -3070,10 +3296,10 @@ html.dark .pollar-sessions-modal {
3070
3296
  background:
3071
3297
  linear-gradient(
3072
3298
  123.69deg,
3073
- #0560a9 0%,
3074
- #053f70 66.67%);
3075
- color: #fff;
3076
- box-shadow: 0 10px 22px -6px #0560a973;
3299
+ var(--pollar-accent) 0%,
3300
+ color-mix(in srgb, var(--pollar-accent) 66%, #000) 66.67%);
3301
+ color: var(--pollar-btn-primary-fg, #fff);
3302
+ box-shadow: 0 10px 22px -6px color-mix(in srgb, var(--pollar-accent) 45%, transparent);
3077
3303
  }
3078
3304
  .pollar-sessions-current-check {
3079
3305
  position: absolute;
@@ -3085,8 +3311,8 @@ html.dark .pollar-sessions-modal {
3085
3311
  height: 23px;
3086
3312
  border: 3px solid var(--pollar-bg);
3087
3313
  border-radius: 50%;
3088
- background: #16a34a;
3089
- color: #fff;
3314
+ background: var(--pollar-success-text);
3315
+ color: var(--pollar-bg);
3090
3316
  }
3091
3317
  .pollar-sessions-current-label,
3092
3318
  .pollar-sessions-section-title {
@@ -3112,8 +3338,8 @@ html.dark .pollar-sessions-modal {
3112
3338
  width: 7px;
3113
3339
  height: 7px;
3114
3340
  border-radius: 50%;
3115
- background: #16a34a;
3116
- box-shadow: 0 0 0 3px color-mix(in srgb, #16a34a 15%, transparent);
3341
+ background: var(--pollar-success-text);
3342
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--pollar-success-text) 15%, transparent);
3117
3343
  }
3118
3344
  .pollar-sessions-other-section {
3119
3345
  display: flex;
@@ -3179,7 +3405,7 @@ html.dark .pollar-sessions-modal {
3179
3405
  height: 28px;
3180
3406
  padding: 0;
3181
3407
  border: 0;
3182
- border-radius: 8px;
3408
+ border-radius: var(--pollar-buttons-border-radius, 8px);
3183
3409
  background: color-mix(in srgb, var(--pollar-accent) 7%, var(--pollar-bg));
3184
3410
  color: var(--pollar-muted);
3185
3411
  cursor: pointer;
@@ -3222,9 +3448,9 @@ html.dark .pollar-sessions-modal {
3222
3448
  gap: 0.5rem;
3223
3449
  padding: 0.7rem 1rem;
3224
3450
  border: 0;
3225
- border-radius: 999px;
3451
+ border-radius: var(--pollar-buttons-border-radius, 999px);
3226
3452
  background: var(--pollar-error-text, #dc2626);
3227
- color: #fff;
3453
+ color: var(--pollar-bg, #fff);
3228
3454
  font-size: 0.875rem;
3229
3455
  font-weight: 700;
3230
3456
  cursor: pointer;
@@ -3269,17 +3495,6 @@ html.dark .pollar-sessions-modal {
3269
3495
  overflow: auto;
3270
3496
  padding-bottom: 0.75rem;
3271
3497
  }
3272
- html.dark .pollar-cosign-modal {
3273
- --pollar-bg: #1a1a1a !important;
3274
- --pollar-border: #374151 !important;
3275
- --pollar-text: #ffffff !important;
3276
- --pollar-muted: #9ca3af !important;
3277
- --pollar-input-bg: #374151 !important;
3278
- --pollar-error-bg: #2a1515 !important;
3279
- --pollar-error-border: #7f1d1d !important;
3280
- --pollar-error-text: #f87171 !important;
3281
- --pollar-success-text: #4ade80 !important;
3282
- }
3283
3498
  .pollar-cosign-muted {
3284
3499
  color: var(--pollar-muted);
3285
3500
  font-size: 0.85rem;
@@ -3296,12 +3511,29 @@ html.dark .pollar-cosign-modal {
3296
3511
  }
3297
3512
  .pollar-cosign-tx-link {
3298
3513
  color: var(--pollar-accent);
3299
- font-family: "Geist Mono", monospace;
3514
+ font-family: var(--pollar-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
3300
3515
  text-decoration: none;
3301
3516
  }
3302
3517
  .pollar-cosign-tx-link:hover {
3303
3518
  text-decoration: underline;
3304
3519
  }
3520
+ .pollar-cosign-copy {
3521
+ margin-left: 0.15rem;
3522
+ vertical-align: middle;
3523
+ }
3524
+ .pollar-cosign-closing {
3525
+ margin-top: 0.75rem;
3526
+ font-size: 0.75rem;
3527
+ }
3528
+ .pollar-cosign-next {
3529
+ margin: 0.75rem 0 0;
3530
+ display: flex;
3531
+ align-items: center;
3532
+ justify-content: center;
3533
+ gap: 0.5rem;
3534
+ font-size: 0.8125rem;
3535
+ color: var(--pollar-text);
3536
+ }
3305
3537
  .pollar-cosign-empty-title {
3306
3538
  margin: 0 0 0.35rem;
3307
3539
  font-weight: 600;
@@ -3339,6 +3571,33 @@ html.dark .pollar-cosign-modal {
3339
3571
  border: 1px solid var(--pollar-border);
3340
3572
  border-radius: calc(var(--pollar-card-border-radius, 10px) + 2px);
3341
3573
  }
3574
+ .pollar-cosign-detail-head {
3575
+ display: flex;
3576
+ align-items: center;
3577
+ justify-content: space-between;
3578
+ gap: 0.5rem;
3579
+ }
3580
+ .pollar-cosign-chip {
3581
+ display: inline-flex;
3582
+ align-items: center;
3583
+ gap: 0.35rem;
3584
+ flex-shrink: 0;
3585
+ padding: 0.2rem 0.55rem;
3586
+ border: 1px solid var(--pollar-border);
3587
+ border-radius: 999px;
3588
+ background: transparent;
3589
+ color: var(--pollar-muted);
3590
+ font: inherit;
3591
+ font-size: 0.78rem;
3592
+ }
3593
+ .pollar-cosign-chip-ok {
3594
+ cursor: pointer;
3595
+ color: var(--pollar-success-text, #15803d);
3596
+ border-color: color-mix(in srgb, var(--pollar-success-text, #15803d) 40%, var(--pollar-border));
3597
+ }
3598
+ .pollar-cosign-chip-ok:hover {
3599
+ background: color-mix(in srgb, var(--pollar-success-text, #15803d) 8%, transparent);
3600
+ }
3342
3601
  .pollar-cosign-detail-title {
3343
3602
  margin: 0;
3344
3603
  font-size: 1.05rem;
@@ -3394,7 +3653,7 @@ html.dark .pollar-cosign-modal {
3394
3653
  .pollar-cosign-btn {
3395
3654
  flex: 1;
3396
3655
  padding: 0.65rem 0.75rem;
3397
- border-radius: var(--pollar-button-border-radius, 10px);
3656
+ border-radius: var(--pollar-buttons-border-radius, 10px);
3398
3657
  font: inherit;
3399
3658
  font-weight: 600;
3400
3659
  cursor: pointer;
@@ -3405,31 +3664,157 @@ html.dark .pollar-cosign-modal {
3405
3664
  cursor: not-allowed;
3406
3665
  }
3407
3666
  .pollar-cosign-btn-secondary {
3408
- background: transparent;
3409
- color: var(--pollar-text);
3667
+ background: var(--pollar-btn-secondary-bg, transparent);
3668
+ color: var(--pollar-btn-secondary-fg, var(--pollar-text));
3410
3669
  }
3411
3670
  .pollar-cosign-btn-primary {
3412
3671
  background: var(--pollar-accent);
3413
3672
  border-color: var(--pollar-accent);
3414
- color: var(--pollar-accent-text, #fff);
3673
+ color: var(--pollar-btn-primary-fg, #fff);
3415
3674
  }
3416
- .pollar-cosign-group {
3417
- margin: 8px 0 12px;
3418
- padding: 10px 12px;
3419
- border-radius: var(--pollar-card-border-radius);
3420
- border: 1px solid var(--pollar-border);
3675
+
3676
+ /* src/components/recovery-modal/RecoveryModal.css */
3677
+ .pollar-recovery-modal {
3678
+ display: flex;
3679
+ flex-direction: column;
3680
+ width: 440px;
3681
+ max-width: calc(100vw - 2rem);
3682
+ max-height: calc(100dvh - 2rem);
3683
+ overflow: hidden;
3684
+ padding-bottom: 0.75rem;
3421
3685
  }
3422
- .pollar-cosign-group-title {
3423
- margin: 0 0 4px;
3686
+ .pollar-recovery-body {
3687
+ display: flex;
3688
+ flex-direction: column;
3689
+ gap: 0.75rem;
3690
+ overflow-y: auto;
3691
+ padding: 0 0.25rem 0.5rem;
3692
+ }
3693
+ .pollar-recovery-banner {
3694
+ padding: 0.75rem 0.9rem;
3695
+ border-radius: var(--pollar-card-border-radius, 10px);
3696
+ font-size: 0.85rem;
3697
+ line-height: 1.4;
3698
+ }
3699
+ .pollar-recovery-banner-warn {
3700
+ border: 1px solid var(--pollar-error-border, #fecaca);
3701
+ background: var(--pollar-error-bg, #fef2f2);
3702
+ color: var(--pollar-error-text, #b91c1c);
3703
+ }
3704
+ .pollar-recovery-banner-ok {
3705
+ border: 1px solid color-mix(in srgb, var(--pollar-success-text, #16a34a) 35%, transparent);
3706
+ background: color-mix(in srgb, var(--pollar-success-text, #16a34a) 8%, var(--pollar-bg));
3707
+ color: var(--pollar-text);
3708
+ }
3709
+ .pollar-recovery-section {
3710
+ display: flex;
3711
+ flex-direction: column;
3712
+ gap: 0.45rem;
3713
+ padding-top: 0.6rem;
3714
+ border-top: 1px solid var(--pollar-border);
3715
+ }
3716
+ .pollar-recovery-section h3 {
3717
+ margin: 0;
3718
+ font-size: 0.9rem;
3424
3719
  font-weight: 600;
3720
+ color: var(--pollar-text);
3721
+ }
3722
+ .pollar-recovery-item {
3723
+ display: flex;
3724
+ align-items: center;
3725
+ justify-content: space-between;
3726
+ gap: 0.5rem;
3727
+ font-size: 0.85rem;
3728
+ color: var(--pollar-text);
3425
3729
  }
3426
- .pollar-cosign-group-steps {
3427
- margin: 8px 0 0;
3428
- padding-left: 20px;
3730
+ .pollar-recovery-item-pending {
3731
+ flex-wrap: wrap;
3732
+ }
3733
+ .pollar-recovery-actions {
3734
+ display: flex;
3735
+ gap: 0.4rem;
3429
3736
  }
3430
- .pollar-cosign-group-step-current {
3737
+ .pollar-recovery-tag {
3738
+ padding: 0.1rem 0.45rem;
3739
+ border-radius: 999px;
3740
+ background: color-mix(in srgb, var(--pollar-accent) 12%, var(--pollar-bg));
3741
+ color: var(--pollar-accent);
3742
+ font-size: 0.72rem;
3431
3743
  font-weight: 600;
3432
3744
  }
3745
+ .pollar-recovery-muted {
3746
+ margin: 0;
3747
+ color: var(--pollar-muted);
3748
+ font-size: 0.8rem;
3749
+ line-height: 1.4;
3750
+ }
3751
+ .pollar-recovery-row {
3752
+ display: flex;
3753
+ gap: 0.5rem;
3754
+ }
3755
+ .pollar-recovery-input {
3756
+ flex: 1;
3757
+ min-width: 0;
3758
+ padding: 0.55rem 0.7rem;
3759
+ border: 1px solid var(--pollar-border);
3760
+ border-radius: var(--pollar-input-border-radius, 8px);
3761
+ background: var(--pollar-input-bg, transparent);
3762
+ color: var(--pollar-text);
3763
+ font-size: 0.85rem;
3764
+ }
3765
+ .pollar-recovery-btn {
3766
+ padding: 0.5rem 0.8rem;
3767
+ border: 1px solid var(--pollar-border);
3768
+ border-radius: var(--pollar-buttons-border-radius, 8px);
3769
+ background: var(--pollar-btn-secondary-bg, transparent);
3770
+ color: var(--pollar-btn-secondary-fg, var(--pollar-text));
3771
+ font-size: 0.82rem;
3772
+ font-weight: 500;
3773
+ cursor: pointer;
3774
+ }
3775
+ .pollar-recovery-btn:disabled {
3776
+ opacity: 0.55;
3777
+ cursor: not-allowed;
3778
+ }
3779
+ .pollar-recovery-btn-primary {
3780
+ border-color: var(--pollar-accent);
3781
+ background: var(--pollar-accent);
3782
+ color: var(--pollar-btn-primary-fg, #fff);
3783
+ }
3784
+ .pollar-recovery-btn-danger {
3785
+ border-color: var(--pollar-error-border, #fecaca);
3786
+ background: transparent;
3787
+ color: var(--pollar-error-text, #b91c1c);
3788
+ }
3789
+ .pollar-recovery-check {
3790
+ display: flex;
3791
+ gap: 0.45rem;
3792
+ align-items: flex-start;
3793
+ color: var(--pollar-text);
3794
+ font-size: 0.8rem;
3795
+ }
3796
+ .pollar-recovery-phrase {
3797
+ margin: 0;
3798
+ padding: 0.8rem;
3799
+ border: 1px dashed var(--pollar-border);
3800
+ border-radius: var(--pollar-card-border-radius, 10px);
3801
+ background: var(--pollar-input-bg, transparent);
3802
+ color: var(--pollar-text);
3803
+ font-size: 0.9rem;
3804
+ white-space: pre-wrap;
3805
+ word-break: break-word;
3806
+ user-select: all;
3807
+ }
3808
+ .pollar-recovery-notice {
3809
+ margin: 0;
3810
+ color: var(--pollar-success-text, #16a34a);
3811
+ font-size: 0.8rem;
3812
+ }
3813
+ .pollar-recovery-error {
3814
+ margin: 0;
3815
+ color: var(--pollar-error-text, #b91c1c);
3816
+ font-size: 0.8rem;
3817
+ }
3433
3818
 
3434
3819
  /* src/components/tx-history-modal/TxHistoryModal.css */
3435
3820
  .pollar-hist-modal {
@@ -3477,11 +3862,7 @@ html.dark .pollar-cosign-modal {
3477
3862
  display: inline-flex;
3478
3863
  align-items: center;
3479
3864
  gap: 2px;
3480
- font-family:
3481
- ui-monospace,
3482
- SFMono-Regular,
3483
- Menlo,
3484
- monospace;
3865
+ font-family: var(--pollar-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
3485
3866
  font-size: 0.75rem;
3486
3867
  font-weight: 400;
3487
3868
  color: var(--pollar-muted);
@@ -3506,11 +3887,7 @@ html.dark .pollar-cosign-modal {
3506
3887
  color: var(--pollar-muted);
3507
3888
  }
3508
3889
  .pollar-hist-item-hash {
3509
- font-family:
3510
- ui-monospace,
3511
- SFMono-Regular,
3512
- Menlo,
3513
- monospace;
3890
+ font-family: var(--pollar-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
3514
3891
  }
3515
3892
  .pollar-hist-item-dot {
3516
3893
  opacity: 0.6;
@@ -3527,15 +3904,15 @@ html.dark .pollar-cosign-modal {
3527
3904
  white-space: nowrap;
3528
3905
  }
3529
3906
  .pollar-hist-item-badge[data-status=SUCCESS] {
3530
- background: rgba(22, 163, 74, 0.12);
3907
+ background: color-mix(in srgb, var(--pollar-success-text) 12%, transparent);
3531
3908
  color: var(--pollar-success-text, #16a34a);
3532
3909
  }
3533
3910
  .pollar-hist-item-badge[data-status=FAILED] {
3534
- background: rgba(220, 38, 38, 0.1);
3911
+ background: color-mix(in srgb, var(--pollar-error-text) 10%, transparent);
3535
3912
  color: var(--pollar-error-text, #dc2626);
3536
3913
  }
3537
3914
  .pollar-hist-item-badge[data-status=PENDING] {
3538
- background: rgba(107, 114, 128, 0.12);
3915
+ background: color-mix(in srgb, var(--pollar-muted) 12%, transparent);
3539
3916
  color: var(--pollar-muted);
3540
3917
  }
3541
3918
  .pollar-hist-item-explorer {
@@ -3624,10 +4001,10 @@ html.dark .pollar-cosign-modal {
3624
4001
  min-width: 0;
3625
4002
  gap: 0.35rem;
3626
4003
  padding: 0.25rem 0.35rem 0.25rem 0.55rem;
3627
- border: 1px solid rgba(255, 255, 255, 0.22);
4004
+ border: 1px solid color-mix(in srgb, var(--pollar-btn-primary-fg) 22%, transparent);
3628
4005
  border-radius: 999px;
3629
- background: rgba(15, 23, 42, 0.2);
3630
- font-family: monospace;
4006
+ background: color-mix(in srgb, var(--pollar-btn-primary-fg) 14%, transparent);
4007
+ font-family: var(--pollar-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
3631
4008
  font-size: 0.625rem;
3632
4009
  white-space: nowrap;
3633
4010
  }
@@ -3642,7 +4019,7 @@ html.dark .pollar-cosign-modal {
3642
4019
  .pollar-bal-summary-copy:hover {
3643
4020
  border: 0;
3644
4021
  color: currentColor;
3645
- background: rgba(255, 255, 255, 0.14);
4022
+ background: color-mix(in srgb, var(--pollar-btn-primary-fg) 14%, transparent);
3646
4023
  }
3647
4024
  .pollar-bal-summary-value {
3648
4025
  margin-top: 1rem;
@@ -3724,7 +4101,7 @@ html.dark .pollar-cosign-modal {
3724
4101
  .pollar-bal-asset-secondary {
3725
4102
  overflow: hidden;
3726
4103
  color: var(--pollar-muted);
3727
- font-family: monospace;
4104
+ font-family: var(--pollar-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
3728
4105
  font-size: 0.625rem;
3729
4106
  text-overflow: ellipsis;
3730
4107
  white-space: nowrap;
@@ -3762,7 +4139,7 @@ html.dark .pollar-cosign-modal {
3762
4139
  .pollar-bal-available {
3763
4140
  max-width: 11rem;
3764
4141
  overflow: hidden;
3765
- font-family: monospace;
4142
+ font-family: var(--pollar-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
3766
4143
  font-variant-numeric: tabular-nums;
3767
4144
  text-overflow: ellipsis;
3768
4145
  white-space: nowrap;
@@ -3799,12 +4176,14 @@ html.dark .pollar-cosign-modal {
3799
4176
  display: flex;
3800
4177
  align-items: center;
3801
4178
  gap: 0.75rem;
3802
- border-radius: 0.75rem;
4179
+ border-radius: var(--pollar-buttons-border-radius, 0.75rem);
3803
4180
  border: none;
3804
4181
  padding: 0.875rem 1.5rem;
4182
+ font-family: var(--pollar-font-family, inherit);
3805
4183
  font-size: 1rem;
3806
4184
  font-weight: 700;
3807
- color: #fff;
4185
+ background-color: var(--pollar-accent);
4186
+ color: var(--pollar-btn-primary-fg, #fff);
3808
4187
  cursor: pointer;
3809
4188
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
3810
4189
  transition: all 0.15s;
@@ -3820,26 +4199,27 @@ html.dark .pollar-cosign-modal {
3820
4199
  width: 22px;
3821
4200
  height: 22px;
3822
4201
  object-fit: contain;
3823
- filter: brightness(0) invert(1);
3824
4202
  }
3825
4203
  .pollar-wallet-wrapper {
3826
4204
  position: relative;
3827
4205
  display: inline-block;
4206
+ font-family: var(--pollar-font-family, inherit);
3828
4207
  }
3829
- .pollar-wallet-btn {
4208
+ .pollar-wallet-wrapper > .pollar-wallet-btn {
3830
4209
  display: flex;
3831
4210
  align-items: center;
3832
4211
  gap: 8px;
3833
4212
  padding: 10px 16px;
3834
- border-radius: 6px;
3835
- color: #fff;
4213
+ border-radius: var(--pollar-buttons-border-radius, 6px);
4214
+ background-color: var(--pollar-accent);
4215
+ color: var(--pollar-btn-primary-fg, #fff);
3836
4216
  font-size: 14px;
3837
4217
  font-weight: 500;
3838
4218
  border: none;
3839
4219
  cursor: pointer;
3840
4220
  transition: background 0.15s;
3841
4221
  }
3842
- .pollar-wallet-btn:hover {
4222
+ .pollar-wallet-wrapper > .pollar-wallet-btn:hover {
3843
4223
  opacity: 0.9;
3844
4224
  }
3845
4225
  .pollar-wallet-chevron {
@@ -3855,8 +4235,10 @@ html.dark .pollar-cosign-modal {
3855
4235
  top: calc(100% + 6px);
3856
4236
  right: 0;
3857
4237
  min-width: 180px;
3858
- border: 1px solid;
4238
+ border: 1px solid var(--pollar-border);
3859
4239
  border-radius: 6px;
4240
+ background-color: var(--pollar-bg);
4241
+ color: var(--pollar-text);
3860
4242
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
3861
4243
  overflow: hidden;
3862
4244
  z-index: 50;
@@ -3870,19 +4252,20 @@ html.dark .pollar-cosign-modal {
3870
4252
  font-size: 14px;
3871
4253
  font-weight: 400;
3872
4254
  background: none;
4255
+ color: inherit;
3873
4256
  border: none;
3874
4257
  cursor: pointer;
3875
4258
  text-align: left;
3876
4259
  transition: background 0.1s;
3877
4260
  }
3878
4261
  .pollar-wallet-dropdown-item:hover {
3879
- background: rgba(0, 0, 0, 0.05);
4262
+ background: color-mix(in srgb, var(--pollar-text) 6%, transparent);
3880
4263
  }
3881
4264
  .pollar-wallet-dropdown-item.pollar-danger {
3882
- color: #dc2626;
4265
+ color: var(--pollar-error-text);
3883
4266
  }
3884
4267
  .pollar-wallet-dropdown-item.pollar-danger:hover {
3885
- background: #fef2f2;
4268
+ background: var(--pollar-error-bg);
3886
4269
  }
3887
4270
  .pollar-wallet-dropdown-notice {
3888
4271
  padding: 8px 12px;
@@ -3892,7 +4275,7 @@ html.dark .pollar-cosign-modal {
3892
4275
  }
3893
4276
  .pollar-wallet-dropdown-divider {
3894
4277
  height: 1px;
3895
- background: rgba(0, 0, 0, 0.08);
4278
+ background: var(--pollar-border);
3896
4279
  margin: 2px 0;
3897
4280
  }
3898
4281
  .pollar-wallet-btn-label {
@@ -3902,7 +4285,7 @@ html.dark .pollar-cosign-modal {
3902
4285
  flex: 1;
3903
4286
  min-width: 0;
3904
4287
  }
3905
- .pollar-wallet-btn:disabled {
4288
+ .pollar-wallet-wrapper > .pollar-wallet-btn:disabled {
3906
4289
  cursor: not-allowed;
3907
4290
  opacity: 1;
3908
4291
  }