@bpjs/design-system 0.0.0-stage → 0.0.1

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.
@@ -0,0 +1,3257 @@
1
+ /*! @bpjs/design-system v0.0.1 | generated from Figma */
2
+ :root {
3
+ --bpjs-color-blues-10: #f3f8ff;
4
+ --bpjs-color-blues-50: #cfe0f9;
5
+ --bpjs-color-blues-100: #afcbf4;
6
+ --bpjs-color-blues-200: #86b1ef;
7
+ --bpjs-color-blues-300: #5e98ea;
8
+ --bpjs-color-blues-400: #367ee4;
9
+ --bpjs-color-blues-500: #0e64df;
10
+ --bpjs-color-blues-600: #0c53ba;
11
+ --bpjs-color-blues-700: #094395;
12
+ --bpjs-color-blues-800: #073270;
13
+ --bpjs-color-blues-900: #05214a;
14
+ --bpjs-color-blues-1000: #03142d;
15
+ --bpjs-color-gray-dark-50: #b9babb;
16
+ --bpjs-color-gray-dark-100: #979899;
17
+ --bpjs-color-gray-dark-200: #747577;
18
+ --bpjs-color-gray-dark-300: #515355;
19
+ --bpjs-color-gray-dark-400: #2e3033;
20
+ --bpjs-color-gray-dark-500: #26282b;
21
+ --bpjs-color-gray-dark-600: #1f2022;
22
+ --bpjs-color-gray-dark-700: #17181a;
23
+ --bpjs-color-gray-dark-800: #0f1011;
24
+ --bpjs-color-gray-dark-900: #090a0a;
25
+ --bpjs-color-gray-light-50: #fdfdfd;
26
+ --bpjs-color-gray-light-100: #f4f4f4;
27
+ --bpjs-color-gray-light-200: #d6d6d6;
28
+ --bpjs-color-gray-light-300: #c8c8c8;
29
+ --bpjs-color-gray-light-400: #bbb;
30
+ --bpjs-color-gray-light-500: #adadad;
31
+ --bpjs-color-gray-light-600: #909090;
32
+ --bpjs-color-gray-light-700: #737373;
33
+ --bpjs-color-gray-light-800: #575757;
34
+ --bpjs-color-gray-light-900: #3a3a3a;
35
+ --bpjs-color-gray-light-1000: #232323;
36
+ --bpjs-color-greens-10: #eaf7ef;
37
+ --bpjs-color-greens-50: #ccf0d9;
38
+ --bpjs-color-greens-100: #aae6c0;
39
+ --bpjs-color-greens-200: #80daa0;
40
+ --bpjs-color-greens-300: #55ce80;
41
+ --bpjs-color-greens-400: #2bc161;
42
+ --bpjs-color-greens-500: #00b541;
43
+ --bpjs-color-greens-600: #009736;
44
+ --bpjs-color-greens-700: #00792b;
45
+ --bpjs-color-greens-800: #005b21;
46
+ --bpjs-color-greens-900: #003c16;
47
+ --bpjs-color-greens-1000: #00240d;
48
+ --bpjs-color-red-10: #fdeded;
49
+ --bpjs-color-red-50: #facdcc;
50
+ --bpjs-color-red-100: #f7abaa;
51
+ --bpjs-color-red-200: #f28180;
52
+ --bpjs-color-red-300: #ee5855;
53
+ --bpjs-color-red-400: #ea2e2b;
54
+ --bpjs-color-red-500: #e60400;
55
+ --bpjs-color-red-600: #c00300;
56
+ --bpjs-color-red-700: #990300;
57
+ --bpjs-color-red-800: #730200;
58
+ --bpjs-color-red-900: #4d0100;
59
+ --bpjs-color-red-1000: #2e0100;
60
+ --bpjs-color-whites-500: #fff;
61
+ --bpjs-color-yellow-50: #fcecd6;
62
+ --bpjs-color-yellow-100: #fae0ba;
63
+ --bpjs-color-yellow-200: #f7d098;
64
+ --bpjs-color-yellow-300: #f5c076;
65
+ --bpjs-color-yellow-400: #f2b153;
66
+ --bpjs-color-yellow-500: #f0a131;
67
+ --bpjs-color-yellow-600: #c88629;
68
+ --bpjs-color-yellow-700: #a06b21;
69
+ --bpjs-color-yellow-800: #785119;
70
+ --bpjs-color-yellow-900: #503610;
71
+ --bpjs-display-2xl-font-size: 72px;
72
+ --bpjs-display-2xl-line-height: 90px;
73
+ --bpjs-display-lg-font-size: 48px;
74
+ --bpjs-display-lg-line-height: 60px;
75
+ --bpjs-display-md-font-size: 36px;
76
+ --bpjs-display-md-line-height: 44px;
77
+ --bpjs-display-sm-font-size: 30px;
78
+ --bpjs-display-sm-line-height: 38px;
79
+ --bpjs-display-xl-font-size: 60px;
80
+ --bpjs-display-xl-line-height: 72px;
81
+ --bpjs-display-xs-font-size: 24px;
82
+ --bpjs-display-xs-line-height: 32px;
83
+ --bpjs-font-family: "Plus Jakarta Sans", system-ui, sans-serif;
84
+ --bpjs-font-weight-black: 900;
85
+ --bpjs-font-weight-bold: 700;
86
+ --bpjs-font-weight-extra-bold: 800;
87
+ --bpjs-font-weight-medium: 500;
88
+ --bpjs-font-weight-regular: 400;
89
+ --bpjs-font-weight-semi-bold: 600;
90
+ --bpjs-number-0: 0px;
91
+ --bpjs-number-2: 2px;
92
+ --bpjs-number-4: 4px;
93
+ --bpjs-number-6: 6px;
94
+ --bpjs-number-8: 8px;
95
+ --bpjs-number-10: 10px;
96
+ --bpjs-number-12: 12px;
97
+ --bpjs-number-14: 14px;
98
+ --bpjs-number-16: 16px;
99
+ --bpjs-number-20: 20px;
100
+ --bpjs-number-24: 24px;
101
+ --bpjs-number-28: 28px;
102
+ --bpjs-number-32: 32px;
103
+ --bpjs-number-40: 40px;
104
+ --bpjs-number-48: 48px;
105
+ --bpjs-number-56: 56px;
106
+ --bpjs-number-64: 64px;
107
+ --bpjs-number-72: 72px;
108
+ --bpjs-number-80: 80px;
109
+ --bpjs-number-128: 128px;
110
+ --bpjs-number-999: 999px;
111
+ --bpjs-text-lg-font-size: 18px;
112
+ --bpjs-text-lg-line-height: 28px;
113
+ --bpjs-text-md-font-size: 16px;
114
+ --bpjs-text-md-line-height: 24px;
115
+ --bpjs-text-sm-font-size: 14px;
116
+ --bpjs-text-sm-line-height: 20px;
117
+ --bpjs-text-xl-font-size: 20px;
118
+ --bpjs-text-xl-line-height: 30px;
119
+ --bpjs-text-xs-font-size: 12px;
120
+ --bpjs-text-xs-line-height: 18px;
121
+ --bpjs-device-desktop-sm: 1440px;
122
+ --bpjs-device-desktop-xl: 1728px;
123
+ --bpjs-device-mobile: 390px;
124
+ --bpjs-device-tablet: 768px;
125
+ --bpjs-layout-grid-color: #ff000008;
126
+ --bpjs-layout-grid-desktop-columns: 12;
127
+ --bpjs-layout-grid-tablet-columns: 8;
128
+ --bpjs-layout-grid-mobile-columns: 4;
129
+ --bpjs-blue-10: var(--bpjs-color-blues-10);
130
+ --bpjs-blue-50: var(--bpjs-color-blues-50);
131
+ --bpjs-blue-100: var(--bpjs-color-blues-100);
132
+ --bpjs-blue-200: var(--bpjs-color-blues-200);
133
+ --bpjs-blue-300: var(--bpjs-color-blues-300);
134
+ --bpjs-blue-400: var(--bpjs-color-blues-400);
135
+ --bpjs-blue-500: var(--bpjs-color-blues-500);
136
+ --bpjs-blue-600: var(--bpjs-color-blues-600);
137
+ --bpjs-blue-700: var(--bpjs-color-blues-700);
138
+ --bpjs-blue-800: var(--bpjs-color-blues-800);
139
+ --bpjs-blue-900: var(--bpjs-color-blues-900);
140
+ --bpjs-blue-1000: var(--bpjs-color-blues-1000);
141
+ --bpjs-brand-10: var(--bpjs-color-blues-10);
142
+ --bpjs-brand-50: var(--bpjs-color-blues-50);
143
+ --bpjs-brand-100: var(--bpjs-color-blues-100);
144
+ --bpjs-brand-200: var(--bpjs-color-blues-200);
145
+ --bpjs-brand-300: var(--bpjs-color-blues-300);
146
+ --bpjs-brand-400: var(--bpjs-color-blues-400);
147
+ --bpjs-brand-500: var(--bpjs-color-blues-500);
148
+ --bpjs-brand-600: var(--bpjs-color-blues-600);
149
+ --bpjs-brand-700: var(--bpjs-color-blues-700);
150
+ --bpjs-brand-800: var(--bpjs-color-blues-800);
151
+ --bpjs-brand-900: var(--bpjs-color-blues-900);
152
+ --bpjs-brand-1000: var(--bpjs-color-blues-1000);
153
+ --bpjs-gray-dark-50: var(--bpjs-color-gray-dark-50);
154
+ --bpjs-gray-dark-100: var(--bpjs-color-gray-dark-100);
155
+ --bpjs-gray-dark-200: var(--bpjs-color-gray-dark-200);
156
+ --bpjs-gray-dark-300: var(--bpjs-color-gray-dark-300);
157
+ --bpjs-gray-dark-400: var(--bpjs-color-gray-dark-400);
158
+ --bpjs-gray-dark-500: var(--bpjs-color-gray-dark-500);
159
+ --bpjs-gray-dark-600: var(--bpjs-color-gray-dark-600);
160
+ --bpjs-gray-dark-700: var(--bpjs-color-gray-dark-700);
161
+ --bpjs-gray-dark-800: var(--bpjs-color-gray-dark-800);
162
+ --bpjs-gray-dark-900: var(--bpjs-color-gray-dark-900);
163
+ --bpjs-gray-light-50: var(--bpjs-color-gray-light-50);
164
+ --bpjs-gray-light-100: var(--bpjs-color-gray-light-100);
165
+ --bpjs-gray-light-200: var(--bpjs-color-gray-light-200);
166
+ --bpjs-gray-light-300: var(--bpjs-color-gray-light-300);
167
+ --bpjs-gray-light-400: var(--bpjs-color-gray-light-400);
168
+ --bpjs-gray-light-500: var(--bpjs-color-gray-light-500);
169
+ --bpjs-gray-light-600: var(--bpjs-color-gray-light-600);
170
+ --bpjs-gray-light-700: var(--bpjs-color-gray-light-700);
171
+ --bpjs-gray-light-800: var(--bpjs-color-gray-light-800);
172
+ --bpjs-gray-light-900: var(--bpjs-color-gray-light-900);
173
+ --bpjs-green-10: var(--bpjs-color-greens-10);
174
+ --bpjs-green-50: var(--bpjs-color-greens-50);
175
+ --bpjs-green-100: var(--bpjs-color-greens-100);
176
+ --bpjs-green-200: var(--bpjs-color-greens-200);
177
+ --bpjs-green-300: var(--bpjs-color-greens-300);
178
+ --bpjs-green-400: var(--bpjs-color-greens-400);
179
+ --bpjs-green-500: var(--bpjs-color-greens-500);
180
+ --bpjs-green-600: var(--bpjs-color-greens-600);
181
+ --bpjs-green-700: var(--bpjs-color-greens-700);
182
+ --bpjs-green-800: var(--bpjs-color-greens-800);
183
+ --bpjs-green-900: var(--bpjs-color-greens-900);
184
+ --bpjs-green-1000: var(--bpjs-color-greens-1000);
185
+ --bpjs-red-10: var(--bpjs-color-red-10);
186
+ --bpjs-red-50: var(--bpjs-color-red-50);
187
+ --bpjs-red-100: var(--bpjs-color-red-100);
188
+ --bpjs-red-200: var(--bpjs-color-red-200);
189
+ --bpjs-red-300: var(--bpjs-color-red-300);
190
+ --bpjs-red-400: var(--bpjs-color-red-400);
191
+ --bpjs-red-500: var(--bpjs-color-red-500);
192
+ --bpjs-red-600: var(--bpjs-color-red-600);
193
+ --bpjs-red-700: var(--bpjs-color-red-700);
194
+ --bpjs-red-800: var(--bpjs-color-red-800);
195
+ --bpjs-red-900: var(--bpjs-color-red-900);
196
+ --bpjs-red-1000: var(--bpjs-color-red-1000);
197
+ --bpjs-yellow-50: var(--bpjs-color-yellow-50);
198
+ --bpjs-yellow-100: var(--bpjs-color-yellow-100);
199
+ --bpjs-yellow-200: var(--bpjs-color-yellow-200);
200
+ --bpjs-yellow-300: var(--bpjs-color-yellow-300);
201
+ --bpjs-yellow-400: var(--bpjs-color-yellow-400);
202
+ --bpjs-yellow-500: var(--bpjs-color-yellow-500);
203
+ --bpjs-yellow-600: var(--bpjs-color-yellow-600);
204
+ --bpjs-yellow-700: var(--bpjs-color-yellow-700);
205
+ --bpjs-yellow-800: var(--bpjs-color-yellow-800);
206
+ --bpjs-yellow-900: var(--bpjs-color-yellow-900);
207
+ --bpjs-spacing-2xl: var(--bpjs-number-32);
208
+ --bpjs-spacing-2xs: var(--bpjs-number-2);
209
+ --bpjs-spacing-4xl: var(--bpjs-number-48);
210
+ --bpjs-spacing-5xl: var(--bpjs-number-56);
211
+ --bpjs-spacing-6: var(--bpjs-number-6);
212
+ --bpjs-spacing-6xl: var(--bpjs-number-64);
213
+ --bpjs-spacing-7xl: var(--bpjs-number-72);
214
+ --bpjs-spacing-10: var(--bpjs-number-10);
215
+ --bpjs-spacing-14: var(--bpjs-number-14);
216
+ --bpjs-spacing-20: var(--bpjs-number-20);
217
+ --bpjs-spacing-28: var(--bpjs-number-28);
218
+ --bpjs-spacing-40: var(--bpjs-number-40);
219
+ --bpjs-spacing-lg: var(--bpjs-number-16);
220
+ --bpjs-spacing-md: var(--bpjs-number-12);
221
+ --bpjs-spacing-none: var(--bpjs-number-0);
222
+ --bpjs-spacing-sm: var(--bpjs-number-8);
223
+ --bpjs-spacing-xl: var(--bpjs-number-24);
224
+ --bpjs-spacing-xs: var(--bpjs-number-4);
225
+ --bpjs-radius-2xl: var(--bpjs-number-16);
226
+ --bpjs-radius-2xs: var(--bpjs-number-2);
227
+ --bpjs-radius-lg: var(--bpjs-number-12);
228
+ --bpjs-radius-md: var(--bpjs-number-10);
229
+ --bpjs-radius-none: var(--bpjs-number-0);
230
+ --bpjs-radius-round: var(--bpjs-number-999);
231
+ --bpjs-radius-sm: var(--bpjs-number-8);
232
+ --bpjs-radius-xs: var(--bpjs-number-4);
233
+ --bpjs-display-2xl-bold: var(--bpjs-font-weight-bold) var(--bpjs-display-2xl-font-size)/var(--bpjs-display-2xl-line-height) var(--bpjs-font-family);
234
+ --bpjs-display-2xl-extra-bold: var(--bpjs-font-weight-extra-bold) var(--bpjs-display-2xl-font-size)/var(--bpjs-display-2xl-line-height) var(--bpjs-font-family);
235
+ --bpjs-display-2xl-medium: var(--bpjs-font-weight-medium) var(--bpjs-display-2xl-font-size)/var(--bpjs-display-2xl-line-height) var(--bpjs-font-family);
236
+ --bpjs-display-2xl-regular: var(--bpjs-font-weight-regular) var(--bpjs-display-2xl-font-size)/var(--bpjs-display-2xl-line-height) var(--bpjs-font-family);
237
+ --bpjs-display-2xl-semibold: var(--bpjs-font-weight-semi-bold) var(--bpjs-display-2xl-font-size)/var(--bpjs-display-2xl-line-height) var(--bpjs-font-family);
238
+ --bpjs-display-lg-bold: var(--bpjs-font-weight-bold) var(--bpjs-display-lg-font-size)/var(--bpjs-display-lg-line-height) var(--bpjs-font-family);
239
+ --bpjs-display-lg-extra-bold: var(--bpjs-font-weight-extra-bold) var(--bpjs-display-lg-font-size)/var(--bpjs-display-lg-line-height) var(--bpjs-font-family);
240
+ --bpjs-display-lg-medium: var(--bpjs-font-weight-medium) var(--bpjs-display-lg-font-size)/var(--bpjs-display-lg-line-height) var(--bpjs-font-family);
241
+ --bpjs-display-lg-regular: var(--bpjs-font-weight-regular) var(--bpjs-display-lg-font-size)/var(--bpjs-display-lg-line-height) var(--bpjs-font-family);
242
+ --bpjs-display-lg-semibold: var(--bpjs-font-weight-semi-bold) var(--bpjs-display-lg-font-size)/var(--bpjs-display-lg-line-height) var(--bpjs-font-family);
243
+ --bpjs-display-md-bold: var(--bpjs-font-weight-bold) var(--bpjs-display-md-font-size)/var(--bpjs-display-md-line-height) var(--bpjs-font-family);
244
+ --bpjs-display-md-extra-bold: var(--bpjs-font-weight-extra-bold) var(--bpjs-display-md-font-size)/var(--bpjs-display-md-line-height) var(--bpjs-font-family);
245
+ --bpjs-display-md-medium: var(--bpjs-font-weight-medium) var(--bpjs-display-md-font-size)/var(--bpjs-display-md-line-height) var(--bpjs-font-family);
246
+ --bpjs-display-md-regular: var(--bpjs-font-weight-regular) var(--bpjs-display-md-font-size)/var(--bpjs-display-md-line-height) var(--bpjs-font-family);
247
+ --bpjs-display-md-semibold: var(--bpjs-font-weight-semi-bold) var(--bpjs-display-md-font-size)/var(--bpjs-display-md-line-height) var(--bpjs-font-family);
248
+ --bpjs-display-sm-bold: var(--bpjs-font-weight-bold) var(--bpjs-display-sm-font-size)/var(--bpjs-display-sm-line-height) var(--bpjs-font-family);
249
+ --bpjs-display-sm-extra-bold: var(--bpjs-font-weight-extra-bold) var(--bpjs-display-sm-font-size)/var(--bpjs-display-sm-line-height) var(--bpjs-font-family);
250
+ --bpjs-display-sm-medium: var(--bpjs-font-weight-medium) var(--bpjs-display-sm-font-size)/var(--bpjs-display-sm-line-height) var(--bpjs-font-family);
251
+ --bpjs-display-sm-regular: var(--bpjs-font-weight-regular) var(--bpjs-display-sm-font-size)/var(--bpjs-display-sm-line-height) var(--bpjs-font-family);
252
+ --bpjs-display-sm-semibold: var(--bpjs-font-weight-semi-bold) var(--bpjs-display-sm-font-size)/var(--bpjs-display-sm-line-height) var(--bpjs-font-family);
253
+ --bpjs-display-xl-bold: var(--bpjs-font-weight-bold) var(--bpjs-display-xl-font-size)/var(--bpjs-display-xl-line-height) var(--bpjs-font-family);
254
+ --bpjs-display-xl-extra-bold: var(--bpjs-font-weight-extra-bold) var(--bpjs-display-xl-font-size)/var(--bpjs-display-xl-line-height) var(--bpjs-font-family);
255
+ --bpjs-display-xl-medium: var(--bpjs-font-weight-medium) var(--bpjs-display-xl-font-size)/var(--bpjs-display-xl-line-height) var(--bpjs-font-family);
256
+ --bpjs-display-xl-regular: var(--bpjs-font-weight-regular) var(--bpjs-display-xl-font-size)/var(--bpjs-display-xl-line-height) var(--bpjs-font-family);
257
+ --bpjs-display-xl-semibold: var(--bpjs-font-weight-semi-bold) var(--bpjs-display-xl-font-size)/var(--bpjs-display-xl-line-height) var(--bpjs-font-family);
258
+ --bpjs-display-xs-bold: var(--bpjs-font-weight-bold) var(--bpjs-display-xs-font-size)/var(--bpjs-display-xs-line-height) var(--bpjs-font-family);
259
+ --bpjs-display-xs-extra-bold: var(--bpjs-font-weight-extra-bold) var(--bpjs-display-xs-font-size)/var(--bpjs-display-xs-line-height) var(--bpjs-font-family);
260
+ --bpjs-display-xs-medium: var(--bpjs-font-weight-medium) var(--bpjs-display-xs-font-size)/var(--bpjs-display-xs-line-height) var(--bpjs-font-family);
261
+ --bpjs-display-xs-regular: var(--bpjs-font-weight-regular) var(--bpjs-display-xs-font-size)/var(--bpjs-display-xs-line-height) var(--bpjs-font-family);
262
+ --bpjs-display-xs-semibold: var(--bpjs-font-weight-semi-bold) var(--bpjs-display-xs-font-size)/var(--bpjs-display-xs-line-height) var(--bpjs-font-family);
263
+ --bpjs-text-lg-bold: var(--bpjs-font-weight-bold) var(--bpjs-text-lg-font-size)/var(--bpjs-text-lg-line-height) var(--bpjs-font-family);
264
+ --bpjs-text-lg-extra-bold: var(--bpjs-font-weight-extra-bold) var(--bpjs-text-lg-font-size)/var(--bpjs-text-lg-line-height) var(--bpjs-font-family);
265
+ --bpjs-text-lg-medium: var(--bpjs-font-weight-medium) var(--bpjs-text-lg-font-size)/var(--bpjs-text-lg-line-height) var(--bpjs-font-family);
266
+ --bpjs-text-lg-regular: var(--bpjs-font-weight-regular) var(--bpjs-text-lg-font-size)/var(--bpjs-text-lg-line-height) var(--bpjs-font-family);
267
+ --bpjs-text-lg-semibold: var(--bpjs-font-weight-semi-bold) var(--bpjs-text-lg-font-size)/var(--bpjs-text-lg-line-height) var(--bpjs-font-family);
268
+ --bpjs-text-md-bold: var(--bpjs-font-weight-bold) var(--bpjs-text-md-font-size)/var(--bpjs-text-md-line-height) var(--bpjs-font-family);
269
+ --bpjs-text-md-extra-bold: var(--bpjs-font-weight-extra-bold) var(--bpjs-text-md-font-size)/var(--bpjs-text-md-line-height) var(--bpjs-font-family);
270
+ --bpjs-text-md-medium: var(--bpjs-font-weight-medium) var(--bpjs-text-md-font-size)/var(--bpjs-text-md-line-height) var(--bpjs-font-family);
271
+ --bpjs-text-md-regular: var(--bpjs-font-weight-regular) var(--bpjs-text-md-font-size)/var(--bpjs-text-md-line-height) var(--bpjs-font-family);
272
+ --bpjs-text-md-semibold: var(--bpjs-font-weight-semi-bold) var(--bpjs-text-md-font-size)/var(--bpjs-text-md-line-height) var(--bpjs-font-family);
273
+ --bpjs-text-sm-bold: var(--bpjs-font-weight-bold) var(--bpjs-text-sm-font-size)/var(--bpjs-text-sm-line-height) var(--bpjs-font-family);
274
+ --bpjs-text-sm-extra-bold: var(--bpjs-font-weight-extra-bold) var(--bpjs-text-sm-font-size)/var(--bpjs-text-sm-line-height) var(--bpjs-font-family);
275
+ --bpjs-text-sm-medium: var(--bpjs-font-weight-medium) var(--bpjs-text-sm-font-size)/var(--bpjs-text-sm-line-height) var(--bpjs-font-family);
276
+ --bpjs-text-sm-regular: var(--bpjs-font-weight-regular) var(--bpjs-text-sm-font-size)/var(--bpjs-text-sm-line-height) var(--bpjs-font-family);
277
+ --bpjs-text-sm-semibold: var(--bpjs-font-weight-semi-bold) var(--bpjs-text-sm-font-size)/var(--bpjs-text-sm-line-height) var(--bpjs-font-family);
278
+ --bpjs-text-xl-bold: var(--bpjs-font-weight-bold) var(--bpjs-text-xl-font-size)/var(--bpjs-text-xl-line-height) var(--bpjs-font-family);
279
+ --bpjs-text-xl-extra-bold: var(--bpjs-font-weight-extra-bold) var(--bpjs-text-xl-font-size)/var(--bpjs-text-xl-line-height) var(--bpjs-font-family);
280
+ --bpjs-text-xl-medium: var(--bpjs-font-weight-medium) var(--bpjs-text-xl-font-size)/var(--bpjs-text-xl-line-height) var(--bpjs-font-family);
281
+ --bpjs-text-xl-regular: var(--bpjs-font-weight-regular) var(--bpjs-text-xl-font-size)/var(--bpjs-text-xl-line-height) var(--bpjs-font-family);
282
+ --bpjs-text-xl-semibold: var(--bpjs-font-weight-semi-bold) var(--bpjs-text-xl-font-size)/var(--bpjs-text-xl-line-height) var(--bpjs-font-family);
283
+ --bpjs-text-xs-bold: var(--bpjs-font-weight-bold) var(--bpjs-text-xs-font-size)/var(--bpjs-text-xs-line-height) var(--bpjs-font-family);
284
+ --bpjs-text-xs-extra-bold: var(--bpjs-font-weight-extra-bold) var(--bpjs-text-xs-font-size)/var(--bpjs-text-xs-line-height) var(--bpjs-font-family);
285
+ --bpjs-text-xs-medium: var(--bpjs-font-weight-medium) var(--bpjs-text-xs-font-size)/var(--bpjs-text-xs-line-height) var(--bpjs-font-family);
286
+ --bpjs-text-xs-regular: var(--bpjs-font-weight-regular) var(--bpjs-text-xs-font-size)/var(--bpjs-text-xs-line-height) var(--bpjs-font-family);
287
+ --bpjs-text-xs-semibold: var(--bpjs-font-weight-semi-bold) var(--bpjs-text-xs-font-size)/var(--bpjs-text-xs-line-height) var(--bpjs-font-family);
288
+ --bpjs-layout-grid-desktop-gutter: var(--bpjs-number-32);
289
+ --bpjs-layout-grid-desktop-margin: var(--bpjs-number-32);
290
+ --bpjs-layout-grid-tablet-gutter: var(--bpjs-number-24);
291
+ --bpjs-layout-grid-tablet-margin: var(--bpjs-number-24);
292
+ --bpjs-layout-grid-mobile-gutter: var(--bpjs-number-16);
293
+ --bpjs-layout-grid-mobile-margin: var(--bpjs-number-16);
294
+ --bpjs-icon-size-xs: var(--bpjs-number-12);
295
+ --bpjs-icon-size-sm: var(--bpjs-number-16);
296
+ --bpjs-icon-size-md: var(--bpjs-number-20);
297
+ --bpjs-icon-size-lg: var(--bpjs-number-24);
298
+ --bpjs-icon-size-xl: var(--bpjs-number-32);
299
+ --bpjs-brand-radius-components: var(--bpjs-radius-md);
300
+ }
301
+
302
+ :root, [data-theme="light"] {
303
+ --lightningcss-light: initial;
304
+ --lightningcss-dark: ;
305
+ color-scheme: light;
306
+ --bpjs-shadow-md: 0px 3px 14px 0px #00000014;
307
+ --bpjs-shadow-sm: 0px 1px 3px 0px #00000014, 0px 1px 2px -1px #00000014;
308
+ --bpjs-background-gradient-primary: linear-gradient(180deg, #0e64df 2.4%, #0752be 86.54%);
309
+ --bpjs-border-gradient-low: linear-gradient(180deg, #0000 14.42%, #0000001a 100%);
310
+ --bpjs-border-gradient-primary: linear-gradient(180deg, #ffffff73 0%, #fff0 100%);
311
+ --bpjs-border-very-low: #d6d6d6b3;
312
+ --bpjs-shadow-border-gray: 0px 0px 0px 1px var(--bpjs-border-very-low);
313
+ --bpjs-background-black: var(--bpjs-color-gray-dark-900);
314
+ --bpjs-background-black-static: var(--bpjs-color-gray-dark-900);
315
+ --bpjs-background-gray: var(--bpjs-color-gray-light-200);
316
+ --bpjs-background-high: var(--bpjs-color-gray-light-50);
317
+ --bpjs-background-low: var(--bpjs-color-gray-light-300);
318
+ --bpjs-background-medium: var(--bpjs-color-gray-light-100);
319
+ --bpjs-background-white: var(--bpjs-color-whites-500);
320
+ --bpjs-background-white-static: var(--bpjs-color-whites-500);
321
+ --bpjs-border-black: var(--bpjs-color-gray-dark-900);
322
+ --bpjs-border-black-static: var(--bpjs-color-gray-dark-900);
323
+ --bpjs-border-high: var(--bpjs-color-gray-light-600);
324
+ --bpjs-border-low: var(--bpjs-color-gray-light-400);
325
+ --bpjs-border-medium: var(--bpjs-color-gray-light-500);
326
+ --bpjs-border-white: var(--bpjs-color-whites-500);
327
+ --bpjs-border-white-static: var(--bpjs-color-whites-500);
328
+ --bpjs-text-white: var(--bpjs-color-whites-500);
329
+ --bpjs-background-gradient-danger: linear-gradient(180deg, var(--bpjs-red-500) 0%, var(--bpjs-red-600) 100%);
330
+ --bpjs-background-brand-primary: var(--bpjs-brand-500);
331
+ --bpjs-background-brand-primary-soft: var(--bpjs-brand-200);
332
+ --bpjs-background-brand-secondary: var(--bpjs-brand-700);
333
+ --bpjs-background-danger-hard: var(--bpjs-red-500);
334
+ --bpjs-background-danger-soft: var(--bpjs-red-10);
335
+ --bpjs-background-info-hard: var(--bpjs-blue-500);
336
+ --bpjs-background-info-soft: var(--bpjs-blue-10);
337
+ --bpjs-background-success-hard: var(--bpjs-green-500);
338
+ --bpjs-background-success-soft: var(--bpjs-green-10);
339
+ --bpjs-background-warning-hard: var(--bpjs-yellow-500);
340
+ --bpjs-background-warning-soft: var(--bpjs-yellow-50);
341
+ --bpjs-border-brand-primary: var(--bpjs-brand-500);
342
+ --bpjs-border-brand-secondary: var(--bpjs-brand-700);
343
+ --bpjs-border-danger-hard: var(--bpjs-red-500);
344
+ --bpjs-border-danger-soft: var(--bpjs-red-300);
345
+ --bpjs-border-info-hard: var(--bpjs-blue-500);
346
+ --bpjs-border-info-soft: var(--bpjs-blue-300);
347
+ --bpjs-border-success-hard: var(--bpjs-green-500);
348
+ --bpjs-border-success-soft: var(--bpjs-green-300);
349
+ --bpjs-border-warning-hard: var(--bpjs-yellow-500);
350
+ --bpjs-border-warning-soft: var(--bpjs-yellow-300);
351
+ --bpjs-focus-danger: var(--bpjs-red-100);
352
+ --bpjs-focus-normal: var(--bpjs-brand-100);
353
+ --bpjs-text-black: var(--bpjs-gray-dark-900);
354
+ --bpjs-text-brand: var(--bpjs-brand-500);
355
+ --bpjs-text-danger: var(--bpjs-red-500);
356
+ --bpjs-text-high: var(--bpjs-gray-dark-900);
357
+ --bpjs-text-info: var(--bpjs-blue-500);
358
+ --bpjs-text-low: var(--bpjs-gray-light-600);
359
+ --bpjs-text-medium: var(--bpjs-gray-light-700);
360
+ --bpjs-text-success: var(--bpjs-green-600);
361
+ --bpjs-text-very-low: var(--bpjs-gray-light-500);
362
+ --bpjs-text-warning: var(--bpjs-yellow-600);
363
+ --bpjs-shadow-border-brand: 0px 0px 0px 1px var(--bpjs-border-brand-primary);
364
+ --bpjs-shadow-focus: 0px 0px 0px 2px var(--bpjs-focus-normal);
365
+ --bpjs-shadow-focus-danger: 0px 0px 0px 2px var(--bpjs-focus-danger);
366
+ }
367
+
368
+ [data-theme="dark"] {
369
+ --lightningcss-light: ;
370
+ --lightningcss-dark: initial;
371
+ color-scheme: dark;
372
+ --bpjs-shadow-md: 0px 3px 14px 0px #00000014;
373
+ --bpjs-shadow-sm: 0px 1px 3px 0px #00000014, 0px 1px 2px -1px #00000014;
374
+ --bpjs-background-gradient-primary: linear-gradient(180deg, #0e64df 2.4%, #0752be 86.54%);
375
+ --bpjs-border-gradient-low: linear-gradient(180deg, #0000 14.42%, #0000001a 100%);
376
+ --bpjs-border-gradient-primary: linear-gradient(180deg, #ffffff73 0%, #fff0 100%);
377
+ --bpjs-border-very-low: #26282bb3;
378
+ --bpjs-shadow-border-gray: 0px 0px 0px 1px var(--bpjs-border-very-low);
379
+ --bpjs-background-black: var(--bpjs-color-whites-500);
380
+ --bpjs-background-black-static: var(--bpjs-color-gray-dark-900);
381
+ --bpjs-background-high: var(--bpjs-color-gray-dark-700);
382
+ --bpjs-background-low: var(--bpjs-color-gray-dark-900);
383
+ --bpjs-background-medium: var(--bpjs-color-gray-dark-800);
384
+ --bpjs-background-warning-hard: var(--bpjs-color-yellow-400);
385
+ --bpjs-background-white: var(--bpjs-color-gray-dark-900);
386
+ --bpjs-background-white-static: var(--bpjs-color-whites-500);
387
+ --bpjs-border-black: var(--bpjs-color-whites-500);
388
+ --bpjs-border-black-static: var(--bpjs-color-gray-dark-900);
389
+ --bpjs-border-brand-primary: var(--bpjs-color-blues-500);
390
+ --bpjs-border-brand-secondary: var(--bpjs-color-blues-700);
391
+ --bpjs-border-high: var(--bpjs-color-gray-dark-200);
392
+ --bpjs-border-low: var(--bpjs-color-gray-dark-400);
393
+ --bpjs-border-medium: var(--bpjs-color-gray-dark-300);
394
+ --bpjs-border-white: var(--bpjs-color-gray-dark-900);
395
+ --bpjs-border-white-static: var(--bpjs-color-whites-500);
396
+ --bpjs-text-white: var(--bpjs-color-whites-500);
397
+ --bpjs-shadow-border-brand: 0px 0px 0px 1px var(--bpjs-border-brand-primary);
398
+ --bpjs-background-gradient-danger: linear-gradient(180deg, var(--bpjs-red-500) 0%, var(--bpjs-red-600) 100%);
399
+ --bpjs-background-brand-primary: var(--bpjs-brand-500);
400
+ --bpjs-background-brand-primary-soft: var(--bpjs-brand-800);
401
+ --bpjs-background-brand-secondary: var(--bpjs-brand-700);
402
+ --bpjs-background-danger-hard: var(--bpjs-red-500);
403
+ --bpjs-background-danger-soft: var(--bpjs-red-1000);
404
+ --bpjs-background-gray: var(--bpjs-gray-dark-300);
405
+ --bpjs-background-info-hard: var(--bpjs-blue-400);
406
+ --bpjs-background-info-soft: var(--bpjs-blue-1000);
407
+ --bpjs-background-success-hard: var(--bpjs-green-600);
408
+ --bpjs-background-success-soft: var(--bpjs-green-1000);
409
+ --bpjs-background-warning-soft: var(--bpjs-yellow-900);
410
+ --bpjs-border-danger-hard: var(--bpjs-red-400);
411
+ --bpjs-border-danger-soft: var(--bpjs-red-800);
412
+ --bpjs-border-info-hard: var(--bpjs-blue-400);
413
+ --bpjs-border-info-soft: var(--bpjs-blue-800);
414
+ --bpjs-border-success-hard: var(--bpjs-green-400);
415
+ --bpjs-border-success-soft: var(--bpjs-green-800);
416
+ --bpjs-border-warning-hard: var(--bpjs-yellow-400);
417
+ --bpjs-border-warning-soft: var(--bpjs-yellow-800);
418
+ --bpjs-focus-danger: var(--bpjs-red-800);
419
+ --bpjs-focus-normal: var(--bpjs-brand-800);
420
+ --bpjs-text-black: var(--bpjs-gray-dark-900);
421
+ --bpjs-text-brand: var(--bpjs-brand-400);
422
+ --bpjs-text-danger: var(--bpjs-red-400);
423
+ --bpjs-text-high: var(--bpjs-gray-light-50);
424
+ --bpjs-text-info: var(--bpjs-blue-400);
425
+ --bpjs-text-low: var(--bpjs-gray-light-600);
426
+ --bpjs-text-medium: var(--bpjs-gray-light-400);
427
+ --bpjs-text-success: var(--bpjs-green-400);
428
+ --bpjs-text-very-low: var(--bpjs-gray-light-700);
429
+ --bpjs-text-warning: var(--bpjs-yellow-500);
430
+ --bpjs-shadow-focus: 0px 0px 0px 2px var(--bpjs-focus-normal);
431
+ --bpjs-shadow-focus-danger: 0px 0px 0px 2px var(--bpjs-focus-danger);
432
+ }
433
+
434
+ .bpjs-type-display-2xl-bold {
435
+ font: var(--bpjs-display-2xl-bold);
436
+ }
437
+
438
+ .bpjs-type-display-2xl-extra-bold {
439
+ font: var(--bpjs-display-2xl-extra-bold);
440
+ }
441
+
442
+ .bpjs-type-display-2xl-medium {
443
+ font: var(--bpjs-display-2xl-medium);
444
+ }
445
+
446
+ .bpjs-type-display-2xl-regular {
447
+ font: var(--bpjs-display-2xl-regular);
448
+ }
449
+
450
+ .bpjs-type-display-2xl-semibold {
451
+ font: var(--bpjs-display-2xl-semibold);
452
+ }
453
+
454
+ .bpjs-type-display-lg-bold {
455
+ font: var(--bpjs-display-lg-bold);
456
+ }
457
+
458
+ .bpjs-type-display-lg-extra-bold {
459
+ font: var(--bpjs-display-lg-extra-bold);
460
+ }
461
+
462
+ .bpjs-type-display-lg-medium {
463
+ font: var(--bpjs-display-lg-medium);
464
+ }
465
+
466
+ .bpjs-type-display-lg-regular {
467
+ font: var(--bpjs-display-lg-regular);
468
+ }
469
+
470
+ .bpjs-type-display-lg-semibold {
471
+ font: var(--bpjs-display-lg-semibold);
472
+ }
473
+
474
+ .bpjs-type-display-md-bold {
475
+ font: var(--bpjs-display-md-bold);
476
+ }
477
+
478
+ .bpjs-type-display-md-extra-bold {
479
+ font: var(--bpjs-display-md-extra-bold);
480
+ }
481
+
482
+ .bpjs-type-display-md-medium {
483
+ font: var(--bpjs-display-md-medium);
484
+ }
485
+
486
+ .bpjs-type-display-md-regular {
487
+ font: var(--bpjs-display-md-regular);
488
+ }
489
+
490
+ .bpjs-type-display-md-semibold {
491
+ font: var(--bpjs-display-md-semibold);
492
+ }
493
+
494
+ .bpjs-type-display-sm-bold {
495
+ font: var(--bpjs-display-sm-bold);
496
+ }
497
+
498
+ .bpjs-type-display-sm-extra-bold {
499
+ font: var(--bpjs-display-sm-extra-bold);
500
+ }
501
+
502
+ .bpjs-type-display-sm-medium {
503
+ font: var(--bpjs-display-sm-medium);
504
+ }
505
+
506
+ .bpjs-type-display-sm-regular {
507
+ font: var(--bpjs-display-sm-regular);
508
+ }
509
+
510
+ .bpjs-type-display-sm-semibold {
511
+ font: var(--bpjs-display-sm-semibold);
512
+ }
513
+
514
+ .bpjs-type-display-xl-bold {
515
+ font: var(--bpjs-display-xl-bold);
516
+ }
517
+
518
+ .bpjs-type-display-xl-extra-bold {
519
+ font: var(--bpjs-display-xl-extra-bold);
520
+ }
521
+
522
+ .bpjs-type-display-xl-medium {
523
+ font: var(--bpjs-display-xl-medium);
524
+ }
525
+
526
+ .bpjs-type-display-xl-regular {
527
+ font: var(--bpjs-display-xl-regular);
528
+ }
529
+
530
+ .bpjs-type-display-xl-semibold {
531
+ font: var(--bpjs-display-xl-semibold);
532
+ }
533
+
534
+ .bpjs-type-display-xs-bold {
535
+ font: var(--bpjs-display-xs-bold);
536
+ }
537
+
538
+ .bpjs-type-display-xs-extra-bold {
539
+ font: var(--bpjs-display-xs-extra-bold);
540
+ }
541
+
542
+ .bpjs-type-display-xs-medium {
543
+ font: var(--bpjs-display-xs-medium);
544
+ }
545
+
546
+ .bpjs-type-display-xs-regular {
547
+ font: var(--bpjs-display-xs-regular);
548
+ }
549
+
550
+ .bpjs-type-display-xs-semibold {
551
+ font: var(--bpjs-display-xs-semibold);
552
+ }
553
+
554
+ .bpjs-type-text-lg-bold {
555
+ font: var(--bpjs-text-lg-bold);
556
+ }
557
+
558
+ .bpjs-type-text-lg-extra-bold {
559
+ font: var(--bpjs-text-lg-extra-bold);
560
+ }
561
+
562
+ .bpjs-type-text-lg-medium {
563
+ font: var(--bpjs-text-lg-medium);
564
+ }
565
+
566
+ .bpjs-type-text-lg-regular {
567
+ font: var(--bpjs-text-lg-regular);
568
+ }
569
+
570
+ .bpjs-type-text-lg-semibold {
571
+ font: var(--bpjs-text-lg-semibold);
572
+ }
573
+
574
+ .bpjs-type-text-md-bold {
575
+ font: var(--bpjs-text-md-bold);
576
+ }
577
+
578
+ .bpjs-type-text-md-extra-bold {
579
+ font: var(--bpjs-text-md-extra-bold);
580
+ }
581
+
582
+ .bpjs-type-text-md-medium {
583
+ font: var(--bpjs-text-md-medium);
584
+ }
585
+
586
+ .bpjs-type-text-md-regular {
587
+ font: var(--bpjs-text-md-regular);
588
+ }
589
+
590
+ .bpjs-type-text-md-semibold {
591
+ font: var(--bpjs-text-md-semibold);
592
+ }
593
+
594
+ .bpjs-type-text-sm-bold {
595
+ font: var(--bpjs-text-sm-bold);
596
+ }
597
+
598
+ .bpjs-type-text-sm-extra-bold {
599
+ font: var(--bpjs-text-sm-extra-bold);
600
+ }
601
+
602
+ .bpjs-type-text-sm-medium {
603
+ font: var(--bpjs-text-sm-medium);
604
+ }
605
+
606
+ .bpjs-type-text-sm-regular {
607
+ font: var(--bpjs-text-sm-regular);
608
+ }
609
+
610
+ .bpjs-type-text-sm-semibold {
611
+ font: var(--bpjs-text-sm-semibold);
612
+ }
613
+
614
+ .bpjs-type-text-xl-bold {
615
+ font: var(--bpjs-text-xl-bold);
616
+ }
617
+
618
+ .bpjs-type-text-xl-extra-bold {
619
+ font: var(--bpjs-text-xl-extra-bold);
620
+ }
621
+
622
+ .bpjs-type-text-xl-medium {
623
+ font: var(--bpjs-text-xl-medium);
624
+ }
625
+
626
+ .bpjs-type-text-xl-regular {
627
+ font: var(--bpjs-text-xl-regular);
628
+ }
629
+
630
+ .bpjs-type-text-xl-semibold {
631
+ font: var(--bpjs-text-xl-semibold);
632
+ }
633
+
634
+ .bpjs-type-text-xs-bold {
635
+ font: var(--bpjs-text-xs-bold);
636
+ }
637
+
638
+ .bpjs-type-text-xs-extra-bold {
639
+ font: var(--bpjs-text-xs-extra-bold);
640
+ }
641
+
642
+ .bpjs-type-text-xs-medium {
643
+ font: var(--bpjs-text-xs-medium);
644
+ }
645
+
646
+ .bpjs-type-text-xs-regular {
647
+ font: var(--bpjs-text-xs-regular);
648
+ }
649
+
650
+ .bpjs-type-text-xs-semibold {
651
+ font: var(--bpjs-text-xs-semibold);
652
+ }
653
+
654
+ .bpjs-theme {
655
+ background-color: var(--bpjs-background-high);
656
+ color: var(--bpjs-text-high);
657
+ font: var(--bpjs-text-md-regular);
658
+ }
659
+
660
+ .bpjs-sr-only {
661
+ clip-path: inset(50%);
662
+ white-space: nowrap;
663
+ width: 1px;
664
+ height: 1px;
665
+ font: var(--bpjs-text-sm-regular);
666
+ border: 0;
667
+ margin: -1px;
668
+ padding: 0;
669
+ position: absolute;
670
+ overflow: hidden;
671
+ }
672
+
673
+ .bpjs-button, .bpjs-pill, .bpjs-segmented-item, .bpjs-pagination__page, .bpjs-pagination__nav, .bpjs-table__sort, .bpjs-file-row__retry, .bpjs-dropdown-item, .bpjs-text-field__control, .bpjs-textarea__control, .bpjs-select__control, .bpjs-select__native {
674
+ font-family: var(--bpjs-font-family);
675
+ }
676
+
677
+ .bpjs-scroll-lock {
678
+ overflow: hidden;
679
+ }
680
+
681
+ @keyframes bpjs-spin {
682
+ to {
683
+ transform: rotate(360deg);
684
+ }
685
+ }
686
+
687
+ .bpjs-icon {
688
+ width: var(--bpjs-icon-size, var(--bpjs-icon-size-md));
689
+ height: var(--bpjs-icon-size, var(--bpjs-icon-size-md));
690
+ vertical-align: middle;
691
+ flex: none;
692
+ display: inline-block;
693
+ }
694
+
695
+ .bpjs-icon--xs {
696
+ --bpjs-icon-size: var(--bpjs-icon-size-xs);
697
+ }
698
+
699
+ .bpjs-icon--sm {
700
+ --bpjs-icon-size: var(--bpjs-icon-size-sm);
701
+ }
702
+
703
+ .bpjs-icon--md {
704
+ --bpjs-icon-size: var(--bpjs-icon-size-md);
705
+ }
706
+
707
+ .bpjs-icon--lg {
708
+ --bpjs-icon-size: var(--bpjs-icon-size-lg);
709
+ }
710
+
711
+ .bpjs-icon--xl {
712
+ --bpjs-icon-size: var(--bpjs-icon-size-xl);
713
+ }
714
+
715
+ .bpjs-button {
716
+ --bpjs-button-bg: var(--bpjs-background-brand-primary);
717
+ --bpjs-button-bg-hover: var(--bpjs-background-brand-secondary);
718
+ --bpjs-button-fg: var(--bpjs-text-white);
719
+ --bpjs-button-border: transparent;
720
+ --bpjs-button-shadow: 0 0 #0000;
721
+ --bpjs-button-ring: var(--bpjs-shadow-focus);
722
+ --bpjs-button-height: 40px;
723
+ --bpjs-button-padding-x: var(--bpjs-spacing-14);
724
+ --bpjs-button-font: var(--bpjs-text-sm-semibold);
725
+ --bpjs-icon-size: var(--bpjs-icon-size-md);
726
+ box-sizing: border-box;
727
+ justify-content: center;
728
+ align-items: center;
729
+ gap: var(--bpjs-spacing-6);
730
+ min-height: var(--bpjs-button-height);
731
+ padding: 0 calc(var(--bpjs-button-padding-x) - 1px);
732
+ border: 1px solid var(--bpjs-button-border);
733
+ border-radius: var(--bpjs-brand-radius-components);
734
+ background-color: var(--bpjs-button-bg);
735
+ box-shadow: var(--bpjs-button-shadow);
736
+ color: var(--bpjs-button-fg);
737
+ font: var(--bpjs-button-font);
738
+ text-align: center;
739
+ white-space: nowrap;
740
+ cursor: pointer;
741
+ -webkit-user-select: none;
742
+ user-select: none;
743
+ -webkit-tap-highlight-color: transparent;
744
+ outline-offset: 2px;
745
+ outline: 2px solid #0000;
746
+ margin: 0;
747
+ text-decoration: none;
748
+ transition: background-color .15s, box-shadow .15s, color .15s;
749
+ display: inline-flex;
750
+ }
751
+
752
+ .bpjs-button--secondary {
753
+ --bpjs-button-bg: var(--bpjs-background-high);
754
+ --bpjs-button-bg-hover: var(--bpjs-background-medium);
755
+ --bpjs-button-fg: var(--bpjs-text-high);
756
+ --bpjs-button-border: var(--bpjs-border-very-low);
757
+ }
758
+
759
+ .bpjs-button--tertiary {
760
+ --bpjs-button-bg: var(--bpjs-background-high);
761
+ --bpjs-button-bg-hover: var(--bpjs-background-medium);
762
+ --bpjs-button-fg: var(--bpjs-text-brand);
763
+ }
764
+
765
+ .bpjs-button--ghost {
766
+ --bpjs-button-bg: var(--bpjs-background-high);
767
+ --bpjs-button-bg-hover: var(--bpjs-background-medium);
768
+ --bpjs-button-fg: var(--bpjs-text-brand);
769
+ --bpjs-button-border: var(--bpjs-border-brand-primary);
770
+ }
771
+
772
+ .bpjs-button--danger {
773
+ --bpjs-button-bg: var(--bpjs-background-danger-hard);
774
+ --bpjs-button-bg-hover: var(--bpjs-red-600);
775
+ --bpjs-button-fg: var(--bpjs-text-white);
776
+ --bpjs-button-ring: var(--bpjs-shadow-focus-danger);
777
+ }
778
+
779
+ .bpjs-button--text {
780
+ --bpjs-button-bg: transparent;
781
+ --bpjs-button-bg-hover: transparent;
782
+ --bpjs-button-fg: var(--bpjs-text-brand);
783
+ border-radius: var(--bpjs-radius-xs);
784
+ border: 0;
785
+ min-height: 0;
786
+ padding: 0;
787
+ }
788
+
789
+ .bpjs-button--sm {
790
+ --bpjs-button-height: 36px;
791
+ --bpjs-button-padding-x: var(--bpjs-spacing-md);
792
+ }
793
+
794
+ .bpjs-button--md {
795
+ --bpjs-button-height: 40px;
796
+ --bpjs-button-padding-x: var(--bpjs-spacing-14);
797
+ }
798
+
799
+ .bpjs-button--lg {
800
+ --bpjs-button-height: 44px;
801
+ --bpjs-button-padding-x: var(--bpjs-spacing-14);
802
+ --bpjs-button-font: var(--bpjs-text-md-semibold);
803
+ }
804
+
805
+ .bpjs-button--xl {
806
+ --bpjs-button-height: 48px;
807
+ --bpjs-button-padding-x: var(--bpjs-spacing-lg);
808
+ --bpjs-button-font: var(--bpjs-text-md-semibold);
809
+ }
810
+
811
+ .bpjs-button--icon-only {
812
+ width: var(--bpjs-button-height);
813
+ padding: 0;
814
+ }
815
+
816
+ .bpjs-button--icon-only.bpjs-button--text {
817
+ width: auto;
818
+ }
819
+
820
+ .bpjs-button--block {
821
+ width: 100%;
822
+ display: flex;
823
+ }
824
+
825
+ .bpjs-button--gradient {
826
+ --bpjs-button-gradient: var(--bpjs-background-gradient-primary);
827
+ --bpjs-button-stroke: var(--bpjs-border-gradient-primary);
828
+ background-image: var(--bpjs-button-gradient), var(--bpjs-button-stroke), var(--bpjs-button-gradient);
829
+ background-origin: border-box;
830
+ background-clip: padding-box, border-box, border-box;
831
+ border-color: #0000;
832
+ }
833
+
834
+ .bpjs-button--gradient.bpjs-button--danger {
835
+ --bpjs-button-gradient: var(--bpjs-background-gradient-danger);
836
+ }
837
+
838
+ .bpjs-button--gradient.bpjs-button--secondary, .bpjs-button--gradient.bpjs-button--ghost, .bpjs-button--gradient.bpjs-button--tertiary {
839
+ --bpjs-button-gradient: linear-gradient(var(--bpjs-button-bg) 0 0);
840
+ --bpjs-button-stroke: var(--bpjs-border-gradient-low);
841
+ }
842
+
843
+ .bpjs-button--gradient.bpjs-button--secondary {
844
+ --bpjs-button-shadow: var(--bpjs-shadow-border-gray);
845
+ }
846
+
847
+ .bpjs-button--gradient.bpjs-button--ghost {
848
+ --bpjs-button-shadow: var(--bpjs-shadow-border-brand);
849
+ }
850
+
851
+ .bpjs-button--gradient.bpjs-button--tertiary {
852
+ --bpjs-button-stroke: linear-gradient(transparent 0 0);
853
+ }
854
+
855
+ .bpjs-button--gradient.bpjs-button--text {
856
+ background-image: none;
857
+ }
858
+
859
+ .bpjs-button:not(:disabled, [aria-disabled="true"], [aria-busy="true"]):hover {
860
+ --bpjs-button-bg: var(--bpjs-button-bg-hover);
861
+ }
862
+
863
+ .bpjs-button--gradient:not(:disabled, [aria-disabled="true"], [aria-busy="true"]):hover {
864
+ --bpjs-button-gradient: linear-gradient(var(--bpjs-button-bg-hover) 0 0);
865
+ }
866
+
867
+ .bpjs-button--text:not(:disabled, [aria-disabled="true"], [aria-busy="true"]):hover {
868
+ text-decoration: underline;
869
+ }
870
+
871
+ .bpjs-button:focus-visible {
872
+ box-shadow: var(--bpjs-button-shadow), var(--bpjs-button-ring);
873
+ }
874
+
875
+ .bpjs-button:disabled, .bpjs-button[aria-disabled="true"] {
876
+ --bpjs-button-bg: var(--bpjs-background-medium);
877
+ --bpjs-button-fg: var(--bpjs-text-low);
878
+ --bpjs-button-border: transparent;
879
+ --bpjs-button-shadow: 0 0 #0000;
880
+ cursor: not-allowed;
881
+ }
882
+
883
+ .bpjs-button--gradient:disabled, .bpjs-button--gradient[aria-disabled="true"] {
884
+ --bpjs-button-gradient: linear-gradient(var(--bpjs-background-medium) 0 0);
885
+ --bpjs-button-stroke: var(--bpjs-border-gradient-low);
886
+ }
887
+
888
+ .bpjs-button--text:disabled, .bpjs-button--text[aria-disabled="true"] {
889
+ --bpjs-button-bg: transparent;
890
+ }
891
+
892
+ .bpjs-button[aria-busy="true"] {
893
+ cursor: progress;
894
+ pointer-events: none;
895
+ }
896
+
897
+ .bpjs-button[aria-busy="true"] > .bpjs-icon {
898
+ display: none;
899
+ }
900
+
901
+ .bpjs-button[aria-busy="true"]:before {
902
+ content: "";
903
+ box-sizing: border-box;
904
+ width: var(--bpjs-icon-size);
905
+ height: var(--bpjs-icon-size);
906
+ border-radius: var(--bpjs-radius-round);
907
+ border: 2px solid;
908
+ border-right-color: #0000;
909
+ flex: none;
910
+ animation: .8s linear infinite bpjs-spin;
911
+ }
912
+
913
+ .bpjs-button--icon-only[aria-busy="true"] > :not(.bpjs-icon) {
914
+ display: none;
915
+ }
916
+
917
+ @media (prefers-reduced-motion: reduce) {
918
+ .bpjs-button {
919
+ transition: none;
920
+ }
921
+
922
+ .bpjs-button[aria-busy="true"]:before {
923
+ animation-duration: 2.4s;
924
+ }
925
+ }
926
+
927
+ .bpjs-modal {
928
+ --bpjs-modal-width: 480px;
929
+ --bpjs-modal-gutter: var(--bpjs-spacing-6xl);
930
+ --bpjs-modal-backdrop: #000000a6;
931
+ box-sizing: border-box;
932
+ width: min(var(--bpjs-modal-width), calc(100vw - 2 * var(--bpjs-spacing-lg)));
933
+ max-width: none;
934
+ max-height: calc(100dvh - 2 * var(--bpjs-modal-gutter));
935
+ border-radius: var(--bpjs-radius-lg);
936
+ background-color: var(--bpjs-background-high);
937
+ box-shadow: var(--bpjs-shadow-md);
938
+ color: var(--bpjs-text-high);
939
+ font: var(--bpjs-text-sm-regular);
940
+ border: 0;
941
+ margin: auto;
942
+ padding: 0;
943
+ overflow: hidden;
944
+ }
945
+
946
+ .bpjs-modal[open] {
947
+ flex-direction: column;
948
+ animation: .16s ease-out bpjs-modal-in;
949
+ display: flex;
950
+ }
951
+
952
+ .bpjs-modal::backdrop {
953
+ background-color: var(--bpjs-modal-backdrop);
954
+ }
955
+
956
+ .bpjs-modal[open]::backdrop {
957
+ animation: .16s ease-out bpjs-modal-backdrop-in;
958
+ }
959
+
960
+ .bpjs-modal--sm {
961
+ --bpjs-modal-width: 480px;
962
+ }
963
+
964
+ .bpjs-modal--md {
965
+ --bpjs-modal-width: 600px;
966
+ }
967
+
968
+ .bpjs-modal--lg {
969
+ --bpjs-modal-width: 720px;
970
+ }
971
+
972
+ @media (width <= 480px) {
973
+ .bpjs-modal {
974
+ --bpjs-modal-gutter: var(--bpjs-spacing-lg);
975
+ }
976
+ }
977
+
978
+ .bpjs-modal__header {
979
+ align-items: flex-start;
980
+ gap: var(--bpjs-spacing-lg);
981
+ padding: var(--bpjs-spacing-20);
982
+ flex: none;
983
+ display: flex;
984
+ }
985
+
986
+ .bpjs-modal__heading {
987
+ gap: var(--bpjs-spacing-lg);
988
+ flex-direction: column;
989
+ flex: auto;
990
+ min-width: 0;
991
+ display: flex;
992
+ }
993
+
994
+ .bpjs-modal__icon {
995
+ box-sizing: border-box;
996
+ border: 1px solid var(--bpjs-border-very-low);
997
+ border-radius: var(--bpjs-radius-sm);
998
+ background-color: var(--bpjs-background-high);
999
+ width: 40px;
1000
+ height: 40px;
1001
+ color: var(--bpjs-text-high);
1002
+ --bpjs-icon-size: var(--bpjs-icon-size-lg);
1003
+ justify-content: center;
1004
+ align-items: center;
1005
+ display: inline-flex;
1006
+ }
1007
+
1008
+ .bpjs-modal__titles {
1009
+ gap: var(--bpjs-spacing-2xs);
1010
+ flex-direction: column;
1011
+ display: flex;
1012
+ }
1013
+
1014
+ .bpjs-modal__title {
1015
+ color: var(--bpjs-text-high);
1016
+ font: var(--bpjs-text-md-semibold);
1017
+ margin: 0;
1018
+ }
1019
+
1020
+ .bpjs-modal__description {
1021
+ color: var(--bpjs-text-medium);
1022
+ font: var(--bpjs-text-sm-regular);
1023
+ margin: 0;
1024
+ }
1025
+
1026
+ .bpjs-modal__close {
1027
+ box-sizing: border-box;
1028
+ border-radius: var(--bpjs-brand-radius-components);
1029
+ width: 36px;
1030
+ height: 36px;
1031
+ color: var(--bpjs-text-medium);
1032
+ cursor: pointer;
1033
+ outline-offset: 2px;
1034
+ --bpjs-icon-size: var(--bpjs-icon-size-md);
1035
+ background-color: #0000;
1036
+ border: 0;
1037
+ outline: 2px solid #0000;
1038
+ flex: none;
1039
+ justify-content: center;
1040
+ align-items: center;
1041
+ margin: 0;
1042
+ padding: 0;
1043
+ transition: background-color .15s;
1044
+ display: inline-flex;
1045
+ }
1046
+
1047
+ .bpjs-modal__close:hover {
1048
+ background-color: var(--bpjs-background-medium);
1049
+ color: var(--bpjs-text-high);
1050
+ }
1051
+
1052
+ .bpjs-modal__close:focus-visible {
1053
+ box-shadow: var(--bpjs-shadow-focus);
1054
+ }
1055
+
1056
+ .bpjs-modal__body {
1057
+ min-height: 0;
1058
+ padding: 0 var(--bpjs-spacing-20) var(--bpjs-spacing-20);
1059
+ overscroll-behavior: contain;
1060
+ flex: auto;
1061
+ overflow-y: auto;
1062
+ }
1063
+
1064
+ .bpjs-modal__footer {
1065
+ box-sizing: border-box;
1066
+ gap: var(--bpjs-spacing-md);
1067
+ padding: var(--bpjs-spacing-20);
1068
+ box-shadow: inset 0 1px 0 var(--bpjs-border-very-low);
1069
+ flex: none;
1070
+ display: flex;
1071
+ }
1072
+
1073
+ .bpjs-modal__footer > * {
1074
+ flex: 1 1 0;
1075
+ min-width: 0;
1076
+ }
1077
+
1078
+ .bpjs-modal__footer--end {
1079
+ justify-content: flex-end;
1080
+ }
1081
+
1082
+ .bpjs-modal__footer--end > * {
1083
+ flex: none;
1084
+ }
1085
+
1086
+ @keyframes bpjs-modal-in {
1087
+ from {
1088
+ opacity: 0;
1089
+ transform: translateY(8px) scale(.98);
1090
+ }
1091
+ }
1092
+
1093
+ @keyframes bpjs-modal-backdrop-in {
1094
+ from {
1095
+ opacity: 0;
1096
+ }
1097
+ }
1098
+
1099
+ @media (prefers-reduced-motion: reduce) {
1100
+ .bpjs-modal[open], .bpjs-modal[open]::backdrop {
1101
+ animation: none;
1102
+ }
1103
+ }
1104
+
1105
+ .bpjs-heading {
1106
+ --bpjs-type-size: var(--bpjs-display-md-font-size);
1107
+ --bpjs-type-leading: var(--bpjs-display-md-line-height);
1108
+ }
1109
+
1110
+ .bpjs-subtitle {
1111
+ --bpjs-type-size: var(--bpjs-text-lg-font-size);
1112
+ --bpjs-type-leading: var(--bpjs-text-lg-line-height);
1113
+ }
1114
+
1115
+ .bpjs-body {
1116
+ --bpjs-type-size: var(--bpjs-text-sm-font-size);
1117
+ --bpjs-type-leading: var(--bpjs-text-sm-line-height);
1118
+ }
1119
+
1120
+ .bpjs-note {
1121
+ --bpjs-type-size: var(--bpjs-text-xs-font-size);
1122
+ --bpjs-type-leading: var(--bpjs-text-xs-line-height);
1123
+ }
1124
+
1125
+ .bpjs-heading, .bpjs-subtitle, .bpjs-body, .bpjs-note {
1126
+ --bpjs-type-weight: var(--bpjs-font-weight-regular);
1127
+ color: var(--bpjs-text-high);
1128
+ font-family: var(--bpjs-font-family);
1129
+ font-size: var(--bpjs-type-size);
1130
+ font-weight: var(--bpjs-type-weight);
1131
+ line-height: var(--bpjs-type-leading);
1132
+ margin: 0;
1133
+ }
1134
+
1135
+ .bpjs-heading--2xl {
1136
+ --bpjs-type-size: var(--bpjs-display-2xl-font-size);
1137
+ --bpjs-type-leading: var(--bpjs-display-2xl-line-height);
1138
+ }
1139
+
1140
+ .bpjs-heading--xl {
1141
+ --bpjs-type-size: var(--bpjs-display-xl-font-size);
1142
+ --bpjs-type-leading: var(--bpjs-display-xl-line-height);
1143
+ }
1144
+
1145
+ .bpjs-heading--lg {
1146
+ --bpjs-type-size: var(--bpjs-display-lg-font-size);
1147
+ --bpjs-type-leading: var(--bpjs-display-lg-line-height);
1148
+ }
1149
+
1150
+ .bpjs-heading--md {
1151
+ --bpjs-type-size: var(--bpjs-display-md-font-size);
1152
+ --bpjs-type-leading: var(--bpjs-display-md-line-height);
1153
+ }
1154
+
1155
+ .bpjs-heading--sm {
1156
+ --bpjs-type-size: var(--bpjs-display-sm-font-size);
1157
+ --bpjs-type-leading: var(--bpjs-display-sm-line-height);
1158
+ }
1159
+
1160
+ .bpjs-heading--xs {
1161
+ --bpjs-type-size: var(--bpjs-display-xs-font-size);
1162
+ --bpjs-type-leading: var(--bpjs-display-xs-line-height);
1163
+ }
1164
+
1165
+ .bpjs-subtitle--lg {
1166
+ --bpjs-type-size: var(--bpjs-text-xl-font-size);
1167
+ --bpjs-type-leading: var(--bpjs-text-xl-line-height);
1168
+ }
1169
+
1170
+ .bpjs-body--lg {
1171
+ --bpjs-type-size: var(--bpjs-text-md-font-size);
1172
+ --bpjs-type-leading: var(--bpjs-text-md-line-height);
1173
+ }
1174
+
1175
+ .bpjs-heading--medium, .bpjs-subtitle--medium, .bpjs-body--medium, .bpjs-note--medium {
1176
+ --bpjs-type-weight: var(--bpjs-font-weight-medium);
1177
+ }
1178
+
1179
+ .bpjs-heading--semibold, .bpjs-subtitle--semibold, .bpjs-body--semibold, .bpjs-note--semibold {
1180
+ --bpjs-type-weight: var(--bpjs-font-weight-semi-bold);
1181
+ }
1182
+
1183
+ .bpjs-heading--bold, .bpjs-subtitle--bold, .bpjs-body--bold, .bpjs-note--bold {
1184
+ --bpjs-type-weight: var(--bpjs-font-weight-bold);
1185
+ }
1186
+
1187
+ .bpjs-heading--extra-bold, .bpjs-subtitle--extra-bold, .bpjs-body--extra-bold, .bpjs-note--extra-bold {
1188
+ --bpjs-type-weight: var(--bpjs-font-weight-extra-bold);
1189
+ }
1190
+
1191
+ .bpjs-subtitle--level-medium, .bpjs-body--level-medium, .bpjs-note--level-medium {
1192
+ color: var(--bpjs-text-medium);
1193
+ }
1194
+
1195
+ .bpjs-subtitle--level-low, .bpjs-body--level-low, .bpjs-note--level-low {
1196
+ color: var(--bpjs-text-low);
1197
+ }
1198
+
1199
+ .bpjs-subtitle--level-very-low, .bpjs-body--level-very-low, .bpjs-note--level-very-low {
1200
+ color: var(--bpjs-text-very-low);
1201
+ }
1202
+
1203
+ .bpjs-control-field:focus-within {
1204
+ border-color: var(--bpjs-border-brand-primary);
1205
+ box-shadow: var(--bpjs-shadow-focus);
1206
+ }
1207
+
1208
+ .bpjs-control-field:has(:is(input, textarea, select)[aria-invalid="true"]) {
1209
+ border-color: var(--bpjs-border-danger-hard);
1210
+ }
1211
+
1212
+ .bpjs-control-field:focus-within:has(:is(input, textarea, select)[aria-invalid="true"]) {
1213
+ box-shadow: var(--bpjs-shadow-focus-danger);
1214
+ }
1215
+
1216
+ .bpjs-control-field:has(:is(input, textarea, select):disabled) {
1217
+ background-color: var(--bpjs-background-medium);
1218
+ color: var(--bpjs-text-low);
1219
+ }
1220
+
1221
+ .bpjs-control-field:has(:is(input, textarea, select):disabled) :is(input, textarea, select) {
1222
+ cursor: not-allowed;
1223
+ color: var(--bpjs-text-low);
1224
+ }
1225
+
1226
+ .bpjs-control-field:has(:is(input, textarea):disabled) :is(input, textarea)::placeholder {
1227
+ color: var(--bpjs-text-very-low);
1228
+ }
1229
+
1230
+ @media (forced-colors: active) {
1231
+ .bpjs-control-field:focus-within {
1232
+ outline-offset: 2px;
1233
+ outline: 2px solid highlight;
1234
+ }
1235
+ }
1236
+
1237
+ .bpjs-text-field {
1238
+ --bpjs-icon-size: var(--bpjs-icon-size-md);
1239
+ box-sizing: border-box;
1240
+ border: 1px solid var(--bpjs-border-very-low);
1241
+ border-radius: var(--bpjs-radius-sm);
1242
+ background-color: var(--bpjs-background-high);
1243
+ width: 100%;
1244
+ height: 40px;
1245
+ color: var(--bpjs-text-high);
1246
+ font: var(--bpjs-text-sm-regular);
1247
+ align-items: stretch;
1248
+ transition: border-color .15s, box-shadow .15s;
1249
+ display: flex;
1250
+ overflow: hidden;
1251
+ }
1252
+
1253
+ .bpjs-text-field__control {
1254
+ box-sizing: border-box;
1255
+ min-width: 0;
1256
+ color: inherit;
1257
+ font: inherit;
1258
+ background: none;
1259
+ border: 0;
1260
+ outline: none;
1261
+ flex: auto;
1262
+ margin: 0;
1263
+ padding: 0;
1264
+ }
1265
+
1266
+ .bpjs-text-field__control:first-child {
1267
+ padding-inline-start: var(--bpjs-spacing-md);
1268
+ }
1269
+
1270
+ .bpjs-text-field__control:last-child {
1271
+ padding-inline-end: var(--bpjs-spacing-md);
1272
+ }
1273
+
1274
+ .bpjs-text-field__control::placeholder {
1275
+ color: var(--bpjs-text-medium);
1276
+ opacity: 1;
1277
+ }
1278
+
1279
+ .bpjs-text-field__icon {
1280
+ margin-inline: var(--bpjs-spacing-md);
1281
+ flex: none;
1282
+ align-self: center;
1283
+ }
1284
+
1285
+ .bpjs-text-field__addon {
1286
+ box-sizing: border-box;
1287
+ padding: var(--bpjs-spacing-sm) var(--bpjs-spacing-md);
1288
+ color: var(--bpjs-text-high);
1289
+ font: var(--bpjs-text-sm-medium);
1290
+ white-space: nowrap;
1291
+ flex: none;
1292
+ align-items: center;
1293
+ display: flex;
1294
+ }
1295
+
1296
+ .bpjs-text-field__addon--prefix {
1297
+ border-right: 1px solid var(--bpjs-border-very-low);
1298
+ }
1299
+
1300
+ .bpjs-text-field__addon--suffix {
1301
+ border-left: 1px solid var(--bpjs-border-very-low);
1302
+ }
1303
+
1304
+ .bpjs-textarea {
1305
+ box-sizing: border-box;
1306
+ border: 1px solid var(--bpjs-border-very-low);
1307
+ border-radius: var(--bpjs-radius-sm);
1308
+ background-color: var(--bpjs-background-high);
1309
+ width: 100%;
1310
+ height: 100px;
1311
+ color: var(--bpjs-text-high);
1312
+ font: var(--bpjs-text-sm-regular);
1313
+ transition: border-color .15s, box-shadow .15s;
1314
+ display: flex;
1315
+ }
1316
+
1317
+ .bpjs-textarea__control {
1318
+ box-sizing: border-box;
1319
+ border-radius: inherit;
1320
+ min-width: 0;
1321
+ height: 100%;
1322
+ min-height: 0;
1323
+ color: inherit;
1324
+ font: inherit;
1325
+ resize: vertical;
1326
+ background: none;
1327
+ border: 0;
1328
+ outline: none;
1329
+ flex: auto;
1330
+ margin: 0;
1331
+ padding: 10px 12px 12px 10px;
1332
+ }
1333
+
1334
+ .bpjs-textarea__control::placeholder {
1335
+ color: var(--bpjs-text-medium);
1336
+ opacity: 1;
1337
+ }
1338
+
1339
+ .bpjs-textarea__control:disabled {
1340
+ cursor: not-allowed;
1341
+ resize: none;
1342
+ }
1343
+
1344
+ .bpjs-checkbox {
1345
+ --bpjs-checkbox-size: 16px;
1346
+ --bpjs-checkbox-radius: var(--bpjs-radius-xs);
1347
+ --bpjs-checkbox-mark: 12px;
1348
+ color: var(--bpjs-text-high);
1349
+ font: var(--bpjs-text-sm-regular);
1350
+ cursor: pointer;
1351
+ -webkit-user-select: none;
1352
+ user-select: none;
1353
+ align-items: center;
1354
+ gap: 8px;
1355
+ display: inline-flex;
1356
+ position: relative;
1357
+ }
1358
+
1359
+ .bpjs-checkbox--lg {
1360
+ --bpjs-checkbox-size: 20px;
1361
+ --bpjs-checkbox-radius: 6px;
1362
+ --bpjs-checkbox-mark: 14px;
1363
+ font-size: 16px;
1364
+ }
1365
+
1366
+ .bpjs-checkbox__control {
1367
+ clip-path: inset(50%);
1368
+ white-space: nowrap;
1369
+ opacity: 0;
1370
+ border: 0;
1371
+ width: 1px;
1372
+ height: 1px;
1373
+ margin: -1px;
1374
+ padding: 0;
1375
+ position: absolute;
1376
+ overflow: hidden;
1377
+ }
1378
+
1379
+ .bpjs-checkbox__box {
1380
+ box-sizing: border-box;
1381
+ width: var(--bpjs-checkbox-size);
1382
+ height: var(--bpjs-checkbox-size);
1383
+ border: 1px solid var(--bpjs-border-very-low);
1384
+ border-radius: var(--bpjs-checkbox-radius);
1385
+ background-color: var(--bpjs-background-high);
1386
+ flex: none;
1387
+ justify-content: center;
1388
+ align-items: center;
1389
+ transition: background-color .15s, border-color .15s, box-shadow .15s;
1390
+ display: inline-flex;
1391
+ }
1392
+
1393
+ .bpjs-checkbox__mark {
1394
+ --bpjs-icon-size: var(--bpjs-checkbox-mark);
1395
+ color: var(--bpjs-text-white);
1396
+ display: none;
1397
+ }
1398
+
1399
+ .bpjs-checkbox__control:checked:not(:indeterminate) + .bpjs-checkbox__box .bpjs-checkbox__mark--check, .bpjs-checkbox__control:indeterminate + .bpjs-checkbox__box .bpjs-checkbox__mark--minus {
1400
+ display: inline-block;
1401
+ }
1402
+
1403
+ .bpjs-checkbox__control:checked + .bpjs-checkbox__box, .bpjs-checkbox__control:indeterminate + .bpjs-checkbox__box {
1404
+ border-color: var(--bpjs-border-brand-primary);
1405
+ background-color: var(--bpjs-background-brand-primary);
1406
+ }
1407
+
1408
+ .bpjs-checkbox__control:focus-visible + .bpjs-checkbox__box {
1409
+ box-shadow: var(--bpjs-shadow-focus);
1410
+ }
1411
+
1412
+ .bpjs-checkbox:has(.bpjs-checkbox__control:disabled) {
1413
+ cursor: not-allowed;
1414
+ color: var(--bpjs-text-low);
1415
+ }
1416
+
1417
+ .bpjs-checkbox__control:disabled + .bpjs-checkbox__box {
1418
+ border-color: var(--bpjs-border-very-low);
1419
+ background-color: var(--bpjs-background-medium);
1420
+ }
1421
+
1422
+ .bpjs-checkbox__control:disabled:checked + .bpjs-checkbox__box, .bpjs-checkbox__control:disabled:indeterminate + .bpjs-checkbox__box {
1423
+ border-color: var(--bpjs-border-brand-primary);
1424
+ background-color: var(--bpjs-background-brand-primary-soft);
1425
+ }
1426
+
1427
+ @media (forced-colors: active) {
1428
+ .bpjs-checkbox__control:focus-visible + .bpjs-checkbox__box {
1429
+ outline-offset: 2px;
1430
+ outline: 2px solid highlight;
1431
+ }
1432
+ }
1433
+
1434
+ .bpjs-radio {
1435
+ --bpjs-radio-size: 16px;
1436
+ --bpjs-radio-dot: 6px;
1437
+ color: var(--bpjs-text-high);
1438
+ font: var(--bpjs-text-sm-regular);
1439
+ cursor: pointer;
1440
+ -webkit-user-select: none;
1441
+ user-select: none;
1442
+ align-items: center;
1443
+ gap: 8px;
1444
+ display: inline-flex;
1445
+ position: relative;
1446
+ }
1447
+
1448
+ .bpjs-radio--lg {
1449
+ --bpjs-radio-size: 20px;
1450
+ --bpjs-radio-dot: 8px;
1451
+ font-size: 16px;
1452
+ }
1453
+
1454
+ .bpjs-radio__control {
1455
+ clip-path: inset(50%);
1456
+ white-space: nowrap;
1457
+ opacity: 0;
1458
+ border: 0;
1459
+ width: 1px;
1460
+ height: 1px;
1461
+ margin: -1px;
1462
+ padding: 0;
1463
+ position: absolute;
1464
+ overflow: hidden;
1465
+ }
1466
+
1467
+ .bpjs-radio__dot {
1468
+ box-sizing: border-box;
1469
+ width: var(--bpjs-radio-size);
1470
+ height: var(--bpjs-radio-size);
1471
+ border: 1px solid var(--bpjs-border-very-low);
1472
+ border-radius: var(--bpjs-radius-round);
1473
+ background-color: var(--bpjs-background-high);
1474
+ flex: none;
1475
+ justify-content: center;
1476
+ align-items: center;
1477
+ transition: background-color .15s, border-color .15s, box-shadow .15s;
1478
+ display: inline-flex;
1479
+ }
1480
+
1481
+ .bpjs-radio__dot:after {
1482
+ content: "";
1483
+ width: var(--bpjs-radio-dot);
1484
+ height: var(--bpjs-radio-dot);
1485
+ border-radius: var(--bpjs-radius-round);
1486
+ background-color: var(--bpjs-background-white-static);
1487
+ transition: transform .15s;
1488
+ transform: scale(0);
1489
+ }
1490
+
1491
+ .bpjs-radio__control:checked + .bpjs-radio__dot {
1492
+ border-color: var(--bpjs-border-brand-primary);
1493
+ background-color: var(--bpjs-background-brand-primary);
1494
+ }
1495
+
1496
+ .bpjs-radio__control:checked + .bpjs-radio__dot:after {
1497
+ transform: scale(1);
1498
+ }
1499
+
1500
+ .bpjs-radio__control:focus-visible + .bpjs-radio__dot {
1501
+ box-shadow: var(--bpjs-shadow-focus);
1502
+ border-color: var(--bpjs-border-brand-primary);
1503
+ }
1504
+
1505
+ .bpjs-radio:has(.bpjs-radio__control:disabled) {
1506
+ cursor: not-allowed;
1507
+ color: var(--bpjs-text-low);
1508
+ }
1509
+
1510
+ .bpjs-radio__control:disabled + .bpjs-radio__dot {
1511
+ border-color: var(--bpjs-border-very-low);
1512
+ background-color: var(--bpjs-background-medium);
1513
+ }
1514
+
1515
+ .bpjs-radio__control:disabled:checked + .bpjs-radio__dot {
1516
+ border-color: var(--bpjs-border-brand-primary);
1517
+ background-color: var(--bpjs-background-brand-primary-soft);
1518
+ }
1519
+
1520
+ @media (forced-colors: active) {
1521
+ .bpjs-radio__control:focus-visible + .bpjs-radio__dot {
1522
+ outline-offset: 2px;
1523
+ outline: 2px solid highlight;
1524
+ }
1525
+ }
1526
+
1527
+ .bpjs-radio-card {
1528
+ --bpjs-radio-size: 16px;
1529
+ --bpjs-radio-dot: 6px;
1530
+ box-sizing: border-box;
1531
+ border: 1px solid var(--bpjs-border-very-low);
1532
+ background-color: var(--bpjs-background-medium);
1533
+ width: 100%;
1534
+ color: var(--bpjs-text-high);
1535
+ cursor: pointer;
1536
+ -webkit-user-select: none;
1537
+ user-select: none;
1538
+ border-radius: 10px;
1539
+ align-items: center;
1540
+ gap: 16px;
1541
+ padding: 16px;
1542
+ transition: border-color .15s, background-color .15s, box-shadow .15s;
1543
+ display: flex;
1544
+ position: relative;
1545
+ }
1546
+
1547
+ .bpjs-radio-card__control {
1548
+ clip-path: inset(50%);
1549
+ white-space: nowrap;
1550
+ opacity: 0;
1551
+ border: 0;
1552
+ width: 1px;
1553
+ height: 1px;
1554
+ margin: -1px;
1555
+ padding: 0;
1556
+ position: absolute;
1557
+ overflow: hidden;
1558
+ }
1559
+
1560
+ .bpjs-radio-card__icon {
1561
+ --bpjs-icon-size: var(--bpjs-icon-size-md);
1562
+ color: var(--bpjs-text-high);
1563
+ flex: none;
1564
+ justify-content: center;
1565
+ align-items: center;
1566
+ display: inline-flex;
1567
+ }
1568
+
1569
+ .bpjs-radio-card__content {
1570
+ flex-direction: column;
1571
+ flex: auto;
1572
+ gap: 4px;
1573
+ min-width: 0;
1574
+ display: flex;
1575
+ }
1576
+
1577
+ .bpjs-radio-card__value {
1578
+ color: var(--bpjs-text-high);
1579
+ font: var(--bpjs-text-sm-medium);
1580
+ }
1581
+
1582
+ .bpjs-radio-card__description {
1583
+ color: var(--bpjs-text-high);
1584
+ font: var(--bpjs-text-xs-regular);
1585
+ }
1586
+
1587
+ .bpjs-radio-card__icon {
1588
+ order: 1;
1589
+ }
1590
+
1591
+ .bpjs-radio-card__content {
1592
+ order: 2;
1593
+ }
1594
+
1595
+ .bpjs-radio-card .bpjs-radio__dot {
1596
+ flex: none;
1597
+ order: 3;
1598
+ }
1599
+
1600
+ .bpjs-radio-card:has(.bpjs-radio-card__control:checked) {
1601
+ border-color: var(--bpjs-border-brand-primary);
1602
+ background-color: var(--bpjs-background-high);
1603
+ }
1604
+
1605
+ .bpjs-radio-card:has(.bpjs-radio-card__control:checked) .bpjs-radio-card__value, .bpjs-radio-card:has(.bpjs-radio-card__control:checked) .bpjs-radio-card__icon {
1606
+ color: var(--bpjs-text-brand);
1607
+ }
1608
+
1609
+ .bpjs-radio-card:has(.bpjs-radio-card__control:focus-visible) {
1610
+ box-shadow: var(--bpjs-shadow-focus);
1611
+ }
1612
+
1613
+ .bpjs-radio-card:has(.bpjs-radio-card__control:disabled) {
1614
+ cursor: not-allowed;
1615
+ background-color: var(--bpjs-background-medium);
1616
+ color: var(--bpjs-text-low);
1617
+ }
1618
+
1619
+ .bpjs-radio-card:has(.bpjs-radio-card__control:disabled) .bpjs-radio-card__value, .bpjs-radio-card:has(.bpjs-radio-card__control:disabled) .bpjs-radio-card__description, .bpjs-radio-card:has(.bpjs-radio-card__control:disabled) .bpjs-radio-card__icon {
1620
+ color: var(--bpjs-text-low);
1621
+ }
1622
+
1623
+ .bpjs-switch-field {
1624
+ --bpjs-switch-width: 36px;
1625
+ --bpjs-switch-height: 20px;
1626
+ --bpjs-switch-thumb: 16px;
1627
+ color: var(--bpjs-text-high);
1628
+ font: var(--bpjs-text-sm-medium);
1629
+ cursor: pointer;
1630
+ -webkit-user-select: none;
1631
+ user-select: none;
1632
+ align-items: center;
1633
+ gap: 8px;
1634
+ display: inline-flex;
1635
+ position: relative;
1636
+ }
1637
+
1638
+ .bpjs-switch-field--lg {
1639
+ --bpjs-switch-width: 44px;
1640
+ --bpjs-switch-height: 24px;
1641
+ --bpjs-switch-thumb: 20px;
1642
+ }
1643
+
1644
+ .bpjs-switch {
1645
+ clip-path: inset(50%);
1646
+ white-space: nowrap;
1647
+ opacity: 0;
1648
+ border: 0;
1649
+ width: 1px;
1650
+ height: 1px;
1651
+ margin: -1px;
1652
+ padding: 0;
1653
+ position: absolute;
1654
+ overflow: hidden;
1655
+ }
1656
+
1657
+ .bpjs-switch__track {
1658
+ box-sizing: border-box;
1659
+ width: var(--bpjs-switch-width);
1660
+ height: var(--bpjs-switch-height);
1661
+ border-radius: var(--bpjs-radius-round);
1662
+ background-color: var(--bpjs-background-low);
1663
+ flex: none;
1664
+ transition: background-color .15s, box-shadow .15s;
1665
+ display: inline-block;
1666
+ position: relative;
1667
+ }
1668
+
1669
+ .bpjs-switch__thumb {
1670
+ width: var(--bpjs-switch-thumb);
1671
+ height: var(--bpjs-switch-thumb);
1672
+ border-radius: var(--bpjs-radius-round);
1673
+ background-color: var(--bpjs-background-white-static);
1674
+ transition: transform .15s;
1675
+ position: absolute;
1676
+ top: 2px;
1677
+ left: 2px;
1678
+ }
1679
+
1680
+ .bpjs-switch:checked + .bpjs-switch__track {
1681
+ background-color: var(--bpjs-background-brand-primary);
1682
+ }
1683
+
1684
+ .bpjs-switch:checked + .bpjs-switch__track .bpjs-switch__thumb {
1685
+ transform: translateX(calc(var(--bpjs-switch-width) - var(--bpjs-switch-thumb) - 4px));
1686
+ }
1687
+
1688
+ .bpjs-switch:focus-visible + .bpjs-switch__track {
1689
+ box-shadow: var(--bpjs-shadow-focus);
1690
+ }
1691
+
1692
+ .bpjs-switch-field:has(.bpjs-switch:disabled) {
1693
+ cursor: not-allowed;
1694
+ color: var(--bpjs-text-low);
1695
+ }
1696
+
1697
+ .bpjs-switch:disabled + .bpjs-switch__track {
1698
+ background-color: var(--bpjs-background-medium);
1699
+ }
1700
+
1701
+ .bpjs-switch:disabled:checked + .bpjs-switch__track {
1702
+ background-color: var(--bpjs-background-brand-primary-soft);
1703
+ opacity: 1;
1704
+ }
1705
+
1706
+ @media (prefers-reduced-motion: reduce) {
1707
+ .bpjs-switch__thumb, .bpjs-switch__track {
1708
+ transition: none;
1709
+ }
1710
+ }
1711
+
1712
+ @media (forced-colors: active) {
1713
+ .bpjs-switch:focus-visible + .bpjs-switch__track {
1714
+ outline-offset: 2px;
1715
+ outline: 2px solid highlight;
1716
+ }
1717
+ }
1718
+
1719
+ .bpjs-pill {
1720
+ box-sizing: border-box;
1721
+ border: 1px solid var(--bpjs-border-very-low);
1722
+ border-radius: var(--bpjs-radius-round);
1723
+ background-color: var(--bpjs-background-medium);
1724
+ height: 32px;
1725
+ color: var(--bpjs-text-medium);
1726
+ font: var(--bpjs-text-xs-medium);
1727
+ white-space: nowrap;
1728
+ cursor: pointer;
1729
+ -webkit-user-select: none;
1730
+ user-select: none;
1731
+ align-items: center;
1732
+ gap: 4px;
1733
+ padding: 6px 8px 6px 6px;
1734
+ transition: border-color .15s, background-color .15s, box-shadow .15s;
1735
+ display: inline-flex;
1736
+ position: relative;
1737
+ }
1738
+
1739
+ .bpjs-pill__icon {
1740
+ --bpjs-icon-size: var(--bpjs-icon-size-sm);
1741
+ color: var(--bpjs-text-high);
1742
+ flex: none;
1743
+ }
1744
+
1745
+ .bpjs-pill__label {
1746
+ line-height: 18px;
1747
+ }
1748
+
1749
+ .bpjs-pill--active {
1750
+ border-color: var(--bpjs-border-brand-primary);
1751
+ background-color: var(--bpjs-background-high);
1752
+ color: var(--bpjs-text-brand);
1753
+ font: var(--bpjs-text-xs-semibold);
1754
+ }
1755
+
1756
+ .bpjs-pill--active .bpjs-pill__icon {
1757
+ color: var(--bpjs-text-brand);
1758
+ }
1759
+
1760
+ .bpjs-pill__badge {
1761
+ box-sizing: border-box;
1762
+ border: 1px solid var(--bpjs-border-info-soft);
1763
+ border-radius: var(--bpjs-radius-round);
1764
+ background-color: var(--bpjs-background-brand-primary);
1765
+ height: 20px;
1766
+ color: var(--bpjs-text-white);
1767
+ font: var(--bpjs-text-xs-semibold);
1768
+ align-items: center;
1769
+ gap: 2px;
1770
+ padding: 2px 6px 2px 4px;
1771
+ display: inline-flex;
1772
+ }
1773
+
1774
+ .bpjs-pill__dot {
1775
+ border-radius: var(--bpjs-radius-round);
1776
+ background-color: var(--bpjs-background-high);
1777
+ width: 6px;
1778
+ height: 6px;
1779
+ }
1780
+
1781
+ .bpjs-pill--active .bpjs-pill__badge {
1782
+ background-color: var(--bpjs-background-brand-primary);
1783
+ }
1784
+
1785
+ .bpjs-pill--radio {
1786
+ --bpjs-radio-size: 16px;
1787
+ --bpjs-radio-dot: 6px;
1788
+ padding: 6px 12px 6px 6px;
1789
+ }
1790
+
1791
+ .bpjs-pill--radio .bpjs-radio__control {
1792
+ clip-path: inset(50%);
1793
+ white-space: nowrap;
1794
+ opacity: 0;
1795
+ border: 0;
1796
+ width: 1px;
1797
+ height: 1px;
1798
+ margin: -1px;
1799
+ padding: 0;
1800
+ position: absolute;
1801
+ overflow: hidden;
1802
+ }
1803
+
1804
+ .bpjs-pill--radio .bpjs-radio__dot {
1805
+ order: 3;
1806
+ }
1807
+
1808
+ .bpjs-pill--radio .bpjs-pill__icon {
1809
+ order: 1;
1810
+ }
1811
+
1812
+ .bpjs-pill--radio .bpjs-pill__label {
1813
+ order: 2;
1814
+ }
1815
+
1816
+ .bpjs-pill--radio .bpjs-pill__badge {
1817
+ order: 4;
1818
+ }
1819
+
1820
+ .bpjs-pill--radio:has(.bpjs-radio__control:checked) {
1821
+ border-color: var(--bpjs-border-brand-primary);
1822
+ background-color: var(--bpjs-background-high);
1823
+ color: var(--bpjs-text-brand);
1824
+ font: var(--bpjs-text-xs-semibold);
1825
+ }
1826
+
1827
+ .bpjs-pill--radio:has(.bpjs-radio__control:focus-visible) {
1828
+ box-shadow: var(--bpjs-shadow-focus);
1829
+ }
1830
+
1831
+ .bpjs-pill--radio:has(.bpjs-radio__control:disabled) {
1832
+ cursor: not-allowed;
1833
+ color: var(--bpjs-text-low);
1834
+ }
1835
+
1836
+ .bpjs-pill:disabled, .bpjs-pill[aria-disabled="true"] {
1837
+ cursor: not-allowed;
1838
+ color: var(--bpjs-text-low);
1839
+ background-color: var(--bpjs-background-medium);
1840
+ }
1841
+
1842
+ .bpjs-pill:focus-visible {
1843
+ box-shadow: var(--bpjs-shadow-focus);
1844
+ outline: none;
1845
+ }
1846
+
1847
+ @media (forced-colors: active) {
1848
+ .bpjs-pill:focus-visible {
1849
+ outline-offset: 2px;
1850
+ outline: 2px solid highlight;
1851
+ }
1852
+ }
1853
+
1854
+ .bpjs-form-item {
1855
+ gap: var(--bpjs-spacing-6);
1856
+ min-width: 0;
1857
+ color: var(--bpjs-text-high);
1858
+ font: var(--bpjs-text-sm-regular);
1859
+ flex-direction: column;
1860
+ display: flex;
1861
+ }
1862
+
1863
+ .bpjs-form-item__label {
1864
+ color: var(--bpjs-text-high);
1865
+ font: var(--bpjs-text-sm-medium);
1866
+ margin: 0;
1867
+ }
1868
+
1869
+ .bpjs-form-item__caption {
1870
+ --bpjs-icon-size: var(--bpjs-icon-size-sm);
1871
+ align-items: center;
1872
+ gap: var(--bpjs-spacing-xs);
1873
+ color: var(--bpjs-text-medium);
1874
+ font: var(--bpjs-text-sm-regular);
1875
+ margin: 0;
1876
+ display: flex;
1877
+ }
1878
+
1879
+ .bpjs-form-item:has(:is(input, textarea, select):disabled) .bpjs-form-item__label, .bpjs-form-item:has(:is(input, textarea, select):disabled) .bpjs-form-item__caption {
1880
+ color: var(--bpjs-text-low);
1881
+ }
1882
+
1883
+ .bpjs-form-item:has([aria-invalid="true"]) .bpjs-form-item__caption {
1884
+ color: var(--bpjs-text-danger);
1885
+ }
1886
+
1887
+ .bpjs-select {
1888
+ --bpjs-icon-size: var(--bpjs-icon-size-md);
1889
+ box-sizing: border-box;
1890
+ border: 1px solid var(--bpjs-border-very-low);
1891
+ border-radius: var(--bpjs-radius-sm);
1892
+ background-color: var(--bpjs-background-high);
1893
+ width: 100%;
1894
+ height: 40px;
1895
+ color: var(--bpjs-text-high);
1896
+ font: var(--bpjs-text-sm-regular);
1897
+ align-items: stretch;
1898
+ transition: border-color .15s, box-shadow .15s;
1899
+ display: flex;
1900
+ position: relative;
1901
+ overflow: hidden;
1902
+ }
1903
+
1904
+ .bpjs-select__control {
1905
+ box-sizing: border-box;
1906
+ min-width: 0;
1907
+ height: 100%;
1908
+ padding: 0 calc(var(--bpjs-spacing-md) + var(--bpjs-icon-size-md) + var(--bpjs-spacing-xs)) 0 var(--bpjs-spacing-md);
1909
+ color: inherit;
1910
+ font: inherit;
1911
+ appearance: none;
1912
+ cursor: pointer;
1913
+ background: none;
1914
+ border: 0;
1915
+ outline: none;
1916
+ flex: auto;
1917
+ margin: 0;
1918
+ }
1919
+
1920
+ .bpjs-select__control:has( > option[value=""]:checked) {
1921
+ color: var(--bpjs-text-medium);
1922
+ }
1923
+
1924
+ .bpjs-select__control:disabled {
1925
+ cursor: not-allowed;
1926
+ }
1927
+
1928
+ .bpjs-select__icon {
1929
+ top: 50%;
1930
+ right: var(--bpjs-spacing-md);
1931
+ color: var(--bpjs-text-high);
1932
+ pointer-events: none;
1933
+ position: absolute;
1934
+ transform: translateY(-50%);
1935
+ }
1936
+
1937
+ .bpjs-select__addon {
1938
+ box-sizing: border-box;
1939
+ padding: var(--bpjs-spacing-sm) var(--bpjs-spacing-md);
1940
+ color: var(--bpjs-text-high);
1941
+ font: var(--bpjs-text-sm-medium);
1942
+ white-space: nowrap;
1943
+ flex: none;
1944
+ align-items: center;
1945
+ display: flex;
1946
+ }
1947
+
1948
+ .bpjs-select__addon--prefix {
1949
+ border-right: 1px solid var(--bpjs-border-very-low);
1950
+ }
1951
+
1952
+ .bpjs-select:has(.bpjs-select__control:disabled) .bpjs-select__icon {
1953
+ color: var(--bpjs-text-low);
1954
+ }
1955
+
1956
+ .bpjs-select:has(.bpjs-select__control:disabled) .bpjs-select__control:has( > option[value=""]:checked) {
1957
+ color: var(--bpjs-text-very-low);
1958
+ }
1959
+
1960
+ .bpjs-avatar {
1961
+ --bpjs-avatar-size: 40px;
1962
+ --bpjs-avatar-status-size: 14px;
1963
+ --bpjs-avatar-font: var(--bpjs-text-md-medium);
1964
+ box-sizing: border-box;
1965
+ width: var(--bpjs-avatar-size);
1966
+ height: var(--bpjs-avatar-size);
1967
+ border: 1px solid var(--bpjs-border-low);
1968
+ border-radius: var(--bpjs-radius-round);
1969
+ background-color: var(--bpjs-background-medium);
1970
+ color: var(--bpjs-text-medium);
1971
+ flex: none;
1972
+ justify-content: center;
1973
+ align-items: center;
1974
+ display: inline-flex;
1975
+ position: relative;
1976
+ overflow: visible;
1977
+ }
1978
+
1979
+ .bpjs-avatar--xs {
1980
+ --bpjs-avatar-size: 24px;
1981
+ --bpjs-avatar-status-size: 10px;
1982
+ --bpjs-avatar-font: var(--bpjs-font-weight-medium) 10px / 14px var(--bpjs-font-family);
1983
+ }
1984
+
1985
+ .bpjs-avatar--sm {
1986
+ --bpjs-avatar-size: 32px;
1987
+ --bpjs-avatar-status-size: 12px;
1988
+ --bpjs-avatar-font: var(--bpjs-text-sm-medium);
1989
+ }
1990
+
1991
+ .bpjs-avatar--md {
1992
+ --bpjs-avatar-size: 40px;
1993
+ --bpjs-avatar-status-size: 14px;
1994
+ --bpjs-avatar-font: var(--bpjs-text-md-medium);
1995
+ }
1996
+
1997
+ .bpjs-avatar--lg {
1998
+ --bpjs-avatar-size: 48px;
1999
+ --bpjs-avatar-status-size: 16px;
2000
+ --bpjs-avatar-font: var(--bpjs-text-lg-medium);
2001
+ }
2002
+
2003
+ .bpjs-avatar--xl {
2004
+ --bpjs-avatar-size: 56px;
2005
+ --bpjs-avatar-status-size: 18px;
2006
+ --bpjs-avatar-font: var(--bpjs-display-xs-medium);
2007
+ }
2008
+
2009
+ .bpjs-avatar--2xl {
2010
+ --bpjs-avatar-size: 64px;
2011
+ --bpjs-avatar-status-size: 20px;
2012
+ --bpjs-avatar-font: var(--bpjs-display-xs-medium);
2013
+ }
2014
+
2015
+ .bpjs-avatar__image {
2016
+ border-radius: inherit;
2017
+ object-fit: cover;
2018
+ width: 100%;
2019
+ height: 100%;
2020
+ }
2021
+
2022
+ .bpjs-avatar__icon {
2023
+ --bpjs-icon-size: calc(var(--bpjs-avatar-size) * .6);
2024
+ color: var(--bpjs-text-high);
2025
+ }
2026
+
2027
+ .bpjs-avatar__text {
2028
+ font: var(--bpjs-avatar-font);
2029
+ color: var(--bpjs-text-medium);
2030
+ text-transform: uppercase;
2031
+ }
2032
+
2033
+ .bpjs-avatar__status {
2034
+ --bpjs-avatar-status-color: var(--bpjs-color-greens-400);
2035
+ box-sizing: border-box;
2036
+ width: var(--bpjs-avatar-status-size);
2037
+ height: var(--bpjs-avatar-status-size);
2038
+ border: 1.5px solid var(--bpjs-background-white-static);
2039
+ border-radius: var(--bpjs-radius-round);
2040
+ background-color: var(--bpjs-avatar-status-color);
2041
+ color: var(--bpjs-text-white);
2042
+ justify-content: center;
2043
+ align-items: center;
2044
+ display: inline-flex;
2045
+ position: absolute;
2046
+ bottom: -1px;
2047
+ right: -1px;
2048
+ }
2049
+
2050
+ .bpjs-avatar__status--inactive {
2051
+ --bpjs-avatar-status-color: var(--bpjs-background-low);
2052
+ }
2053
+
2054
+ .bpjs-avatar__status--badge {
2055
+ --bpjs-avatar-status-color: var(--bpjs-background-danger-hard);
2056
+ font: var(--bpjs-text-xs-semibold);
2057
+ font-size: 9px;
2058
+ line-height: 1;
2059
+ }
2060
+
2061
+ .bpjs-avatar__status--icon {
2062
+ --bpjs-avatar-status-color: var(--bpjs-background-high);
2063
+ color: var(--bpjs-text-high);
2064
+ }
2065
+
2066
+ .bpjs-avatar__status--icon .bpjs-icon {
2067
+ --bpjs-icon-size: calc(var(--bpjs-avatar-status-size) * .5);
2068
+ color: inherit;
2069
+ }
2070
+
2071
+ @media (forced-colors: active) {
2072
+ .bpjs-avatar__status {
2073
+ border-color: canvas;
2074
+ }
2075
+ }
2076
+
2077
+ .bpjs-badge {
2078
+ --bpjs-badge-height: 22px;
2079
+ --bpjs-badge-font: var(--bpjs-text-xs-semibold);
2080
+ --bpjs-badge-fill: var(--bpjs-background-high);
2081
+ --bpjs-badge-border: var(--bpjs-border-very-low);
2082
+ --bpjs-badge-text: var(--bpjs-text-high);
2083
+ --bpjs-badge-dot: var(--bpjs-text-high);
2084
+ box-sizing: border-box;
2085
+ height: var(--bpjs-badge-height);
2086
+ border: 1px solid var(--bpjs-badge-border);
2087
+ border-radius: var(--bpjs-radius-xs);
2088
+ background-color: var(--bpjs-badge-fill);
2089
+ color: var(--bpjs-badge-text);
2090
+ font: var(--bpjs-badge-font);
2091
+ white-space: nowrap;
2092
+ flex: none;
2093
+ align-items: center;
2094
+ gap: 4px;
2095
+ padding: 2px 6px;
2096
+ display: inline-flex;
2097
+ }
2098
+
2099
+ .bpjs-badge--md {
2100
+ --bpjs-badge-height: 24px;
2101
+ --bpjs-badge-font: var(--bpjs-text-sm-semibold);
2102
+ }
2103
+
2104
+ .bpjs-badge--lg {
2105
+ --bpjs-badge-height: 28px;
2106
+ --bpjs-badge-font: var(--bpjs-text-sm-semibold);
2107
+ }
2108
+
2109
+ .bpjs-badge__icon {
2110
+ --bpjs-icon-size: var(--bpjs-icon-size-sm);
2111
+ color: inherit;
2112
+ flex: none;
2113
+ }
2114
+
2115
+ .bpjs-badge__dot {
2116
+ border-radius: var(--bpjs-radius-round);
2117
+ background-color: var(--bpjs-badge-dot);
2118
+ flex: none;
2119
+ width: 6px;
2120
+ height: 6px;
2121
+ }
2122
+
2123
+ .bpjs-badge--icon-only {
2124
+ width: var(--bpjs-badge-height);
2125
+ justify-content: center;
2126
+ padding: 2px;
2127
+ }
2128
+
2129
+ .bpjs-badge--icon-only .bpjs-badge__icon {
2130
+ margin: 0;
2131
+ }
2132
+
2133
+ .bpjs-badge--neutral.bpjs-badge--hard {
2134
+ --bpjs-badge-fill: var(--bpjs-background-medium);
2135
+ }
2136
+
2137
+ .bpjs-badge--info {
2138
+ --bpjs-badge-dot: var(--bpjs-background-info-hard);
2139
+ }
2140
+
2141
+ .bpjs-badge--info.bpjs-badge--hard {
2142
+ --bpjs-badge-fill: var(--bpjs-background-info-soft);
2143
+ --bpjs-badge-border: var(--bpjs-border-info-soft);
2144
+ --bpjs-badge-text: var(--bpjs-text-info);
2145
+ }
2146
+
2147
+ .bpjs-badge--success {
2148
+ --bpjs-badge-dot: var(--bpjs-background-success-hard);
2149
+ }
2150
+
2151
+ .bpjs-badge--success.bpjs-badge--hard {
2152
+ --bpjs-badge-fill: var(--bpjs-background-success-soft);
2153
+ --bpjs-badge-border: var(--bpjs-border-success-soft);
2154
+ --bpjs-badge-text: var(--bpjs-text-success);
2155
+ }
2156
+
2157
+ .bpjs-badge--warning {
2158
+ --bpjs-badge-dot: var(--bpjs-background-warning-hard);
2159
+ }
2160
+
2161
+ .bpjs-badge--warning.bpjs-badge--hard {
2162
+ --bpjs-badge-fill: var(--bpjs-background-warning-soft);
2163
+ --bpjs-badge-border: var(--bpjs-border-warning-soft);
2164
+ --bpjs-badge-text: var(--bpjs-text-warning);
2165
+ }
2166
+
2167
+ .bpjs-badge--danger {
2168
+ --bpjs-badge-dot: var(--bpjs-background-danger-hard);
2169
+ }
2170
+
2171
+ .bpjs-badge--danger.bpjs-badge--hard {
2172
+ --bpjs-badge-fill: var(--bpjs-background-danger-soft);
2173
+ --bpjs-badge-border: var(--bpjs-border-danger-soft);
2174
+ --bpjs-badge-text: var(--bpjs-text-danger);
2175
+ }
2176
+
2177
+ @media (forced-colors: active) {
2178
+ .bpjs-badge {
2179
+ border-color: canvastext;
2180
+ }
2181
+ }
2182
+
2183
+ .bpjs-swiper-dots {
2184
+ align-items: center;
2185
+ gap: 4px;
2186
+ display: inline-flex;
2187
+ }
2188
+
2189
+ .bpjs-swiper-dot {
2190
+ box-sizing: border-box;
2191
+ border-radius: var(--bpjs-radius-round);
2192
+ background-color: var(--bpjs-background-gray);
2193
+ width: 8px;
2194
+ height: 8px;
2195
+ transition: background-color .15s;
2196
+ }
2197
+
2198
+ .bpjs-swiper-dot--active {
2199
+ background-color: var(--bpjs-background-brand-primary);
2200
+ }
2201
+
2202
+ .bpjs-swiper-progress {
2203
+ --bpjs-swiper-progress: 0%;
2204
+ border-radius: var(--bpjs-radius-round);
2205
+ background-color: var(--bpjs-background-gray);
2206
+ width: 72px;
2207
+ height: 6px;
2208
+ position: relative;
2209
+ overflow: hidden;
2210
+ }
2211
+
2212
+ .bpjs-swiper-progress__bar {
2213
+ width: var(--bpjs-swiper-progress);
2214
+ border-radius: inherit;
2215
+ background-color: var(--bpjs-background-brand-primary);
2216
+ transition: width .3s;
2217
+ position: absolute;
2218
+ inset: 0 auto 0 0;
2219
+ }
2220
+
2221
+ @media (prefers-reduced-motion: reduce) {
2222
+ .bpjs-swiper-dot, .bpjs-swiper-progress__bar {
2223
+ transition: none;
2224
+ }
2225
+ }
2226
+
2227
+ .bpjs-stepper {
2228
+ --bpjs-step-marker: 24px;
2229
+ --bpjs-step-line: var(--bpjs-border-very-low);
2230
+ margin: 0;
2231
+ padding: 0;
2232
+ list-style: none;
2233
+ }
2234
+
2235
+ .bpjs-stepper--vertical {
2236
+ flex-direction: column;
2237
+ display: flex;
2238
+ }
2239
+
2240
+ .bpjs-stepper--timeline {
2241
+ flex-direction: column;
2242
+ align-items: flex-start;
2243
+ display: flex;
2244
+ }
2245
+
2246
+ .bpjs-step {
2247
+ --bpjs-step-ring: var(--bpjs-border-very-low);
2248
+ box-sizing: border-box;
2249
+ display: flex;
2250
+ position: relative;
2251
+ }
2252
+
2253
+ .bpjs-stepper--vertical .bpjs-step {
2254
+ gap: 12px;
2255
+ min-height: 52px;
2256
+ padding-bottom: 12px;
2257
+ }
2258
+
2259
+ .bpjs-stepper--timeline .bpjs-step {
2260
+ align-items: flex-start;
2261
+ min-height: 52px;
2262
+ padding-bottom: 0;
2263
+ }
2264
+
2265
+ .bpjs-step:not(:last-child):after {
2266
+ content: "";
2267
+ background-color: var(--bpjs-step-line);
2268
+ position: absolute;
2269
+ }
2270
+
2271
+ .bpjs-stepper--vertical .bpjs-step:not(:last-child):after, .bpjs-stepper--timeline .bpjs-step:not(:last-child):after {
2272
+ top: var(--bpjs-step-marker);
2273
+ bottom: 0;
2274
+ left: calc(var(--bpjs-step-marker) / 2 - 1px);
2275
+ width: 2px;
2276
+ }
2277
+
2278
+ .bpjs-step__marker {
2279
+ box-sizing: border-box;
2280
+ width: var(--bpjs-step-marker);
2281
+ height: var(--bpjs-step-marker);
2282
+ border: 1px solid var(--bpjs-step-ring);
2283
+ border-radius: var(--bpjs-radius-round);
2284
+ background-color: var(--bpjs-background-high);
2285
+ color: var(--bpjs-text-very-low);
2286
+ font: var(--bpjs-text-xs-semibold);
2287
+ flex: none;
2288
+ justify-content: center;
2289
+ align-items: center;
2290
+ display: inline-flex;
2291
+ }
2292
+
2293
+ .bpjs-step__icon {
2294
+ --bpjs-icon-size: var(--bpjs-icon-size-sm);
2295
+ color: inherit;
2296
+ }
2297
+
2298
+ .bpjs-step__content {
2299
+ flex-direction: column;
2300
+ gap: 2px;
2301
+ min-width: 0;
2302
+ display: flex;
2303
+ }
2304
+
2305
+ .bpjs-step__title {
2306
+ color: var(--bpjs-text-high);
2307
+ font: var(--bpjs-text-sm-semibold);
2308
+ }
2309
+
2310
+ .bpjs-step__note {
2311
+ color: var(--bpjs-text-medium);
2312
+ font: var(--bpjs-text-xs-regular);
2313
+ }
2314
+
2315
+ .bpjs-step--idle .bpjs-step__title {
2316
+ color: var(--bpjs-text-medium);
2317
+ font: var(--bpjs-text-sm-regular);
2318
+ }
2319
+
2320
+ .bpjs-step--active {
2321
+ --bpjs-step-ring: var(--bpjs-border-brand-primary);
2322
+ }
2323
+
2324
+ .bpjs-step--active .bpjs-step__marker, .bpjs-step--active .bpjs-step__title {
2325
+ color: var(--bpjs-text-brand);
2326
+ }
2327
+
2328
+ .bpjs-step--done {
2329
+ --bpjs-step-ring: var(--bpjs-background-brand-primary);
2330
+ }
2331
+
2332
+ .bpjs-step--done .bpjs-step__marker {
2333
+ background-color: var(--bpjs-background-brand-primary);
2334
+ color: var(--bpjs-text-white);
2335
+ }
2336
+
2337
+ .bpjs-step--active:not(:last-child):after, .bpjs-step--done:not(:last-child):after {
2338
+ --bpjs-step-line: var(--bpjs-background-brand-primary);
2339
+ }
2340
+
2341
+ @media (forced-colors: active) {
2342
+ .bpjs-step--active .bpjs-step__marker, .bpjs-step--done .bpjs-step__marker {
2343
+ border: 2px solid canvastext;
2344
+ }
2345
+ }
2346
+
2347
+ .bpjs-tooltip-wrap {
2348
+ display: inline-flex;
2349
+ position: relative;
2350
+ }
2351
+
2352
+ .bpjs-tooltip {
2353
+ --bpjs-tooltip-gap: 8px;
2354
+ z-index: 10;
2355
+ box-sizing: border-box;
2356
+ border-radius: var(--bpjs-radius-sm);
2357
+ background-color: var(--bpjs-background-black-static);
2358
+ width: max-content;
2359
+ max-width: 240px;
2360
+ color: var(--bpjs-text-white);
2361
+ font: var(--bpjs-text-xs-regular);
2362
+ text-align: left;
2363
+ opacity: 0;
2364
+ visibility: hidden;
2365
+ pointer-events: none;
2366
+ flex-direction: column;
2367
+ gap: 2px;
2368
+ padding: 8px 12px;
2369
+ transition: opacity .15s, visibility .15s;
2370
+ display: flex;
2371
+ position: absolute;
2372
+ }
2373
+
2374
+ .bpjs-tooltip:after {
2375
+ content: "";
2376
+ background-color: var(--bpjs-background-black-static);
2377
+ clip-path: polygon(0 0, 100% 0, 50% 100%);
2378
+ width: 16px;
2379
+ height: 6px;
2380
+ position: absolute;
2381
+ }
2382
+
2383
+ .bpjs-tooltip__title {
2384
+ font: var(--bpjs-text-xs-semibold);
2385
+ }
2386
+
2387
+ .bpjs-tooltip__description {
2388
+ font: var(--bpjs-text-xs-regular);
2389
+ }
2390
+
2391
+ .bpjs-tooltip-wrap:hover > .bpjs-tooltip, .bpjs-tooltip-wrap:focus-within > .bpjs-tooltip, .bpjs-tooltip--open {
2392
+ opacity: 1;
2393
+ visibility: visible;
2394
+ }
2395
+
2396
+ .bpjs-tooltip--top {
2397
+ bottom: calc(100% + var(--bpjs-tooltip-gap));
2398
+ left: 50%;
2399
+ transform: translateX(-50%);
2400
+ }
2401
+
2402
+ .bpjs-tooltip--top:after {
2403
+ top: 100%;
2404
+ left: 50%;
2405
+ transform: translateX(-50%);
2406
+ }
2407
+
2408
+ .bpjs-tooltip--bottom {
2409
+ top: calc(100% + var(--bpjs-tooltip-gap));
2410
+ left: 50%;
2411
+ transform: translateX(-50%);
2412
+ }
2413
+
2414
+ .bpjs-tooltip--bottom:after {
2415
+ bottom: 100%;
2416
+ left: 50%;
2417
+ transform: translateX(-50%) rotate(180deg);
2418
+ }
2419
+
2420
+ .bpjs-tooltip--top.bpjs-tooltip--start, .bpjs-tooltip--bottom.bpjs-tooltip--start {
2421
+ left: 0;
2422
+ transform: none;
2423
+ }
2424
+
2425
+ .bpjs-tooltip--top.bpjs-tooltip--start:after, .bpjs-tooltip--bottom.bpjs-tooltip--start:after {
2426
+ left: 12px;
2427
+ transform: none;
2428
+ }
2429
+
2430
+ .bpjs-tooltip--top.bpjs-tooltip--end, .bpjs-tooltip--bottom.bpjs-tooltip--end {
2431
+ left: auto;
2432
+ right: 0;
2433
+ transform: none;
2434
+ }
2435
+
2436
+ .bpjs-tooltip--top.bpjs-tooltip--end:after, .bpjs-tooltip--bottom.bpjs-tooltip--end:after {
2437
+ left: auto;
2438
+ right: 12px;
2439
+ transform: none;
2440
+ }
2441
+
2442
+ .bpjs-tooltip--left, .bpjs-tooltip--right {
2443
+ top: 50%;
2444
+ transform: translateY(-50%);
2445
+ }
2446
+
2447
+ .bpjs-tooltip--left {
2448
+ right: calc(100% + var(--bpjs-tooltip-gap));
2449
+ }
2450
+
2451
+ .bpjs-tooltip--right {
2452
+ left: calc(100% + var(--bpjs-tooltip-gap));
2453
+ }
2454
+
2455
+ .bpjs-tooltip--left:after, .bpjs-tooltip--right:after {
2456
+ clip-path: polygon(0 0, 100% 50%, 0 100%);
2457
+ width: 6px;
2458
+ height: 16px;
2459
+ top: 50%;
2460
+ transform: translateY(-50%);
2461
+ }
2462
+
2463
+ .bpjs-tooltip--left:after {
2464
+ left: 100%;
2465
+ }
2466
+
2467
+ .bpjs-tooltip--right:after {
2468
+ clip-path: polygon(100% 0, 0 50%, 100% 100%);
2469
+ right: 100%;
2470
+ }
2471
+
2472
+ @media (prefers-reduced-motion: reduce) {
2473
+ .bpjs-tooltip {
2474
+ transition: none;
2475
+ }
2476
+ }
2477
+
2478
+ @media (forced-colors: active) {
2479
+ .bpjs-tooltip {
2480
+ border: 1px solid canvastext;
2481
+ }
2482
+ }
2483
+
2484
+ .bpjs-dropdown {
2485
+ box-sizing: border-box;
2486
+ border: 1px solid var(--bpjs-border-very-low);
2487
+ border-radius: var(--bpjs-radius-md);
2488
+ background-color: var(--bpjs-background-high);
2489
+ width: 240px;
2490
+ box-shadow: var(--bpjs-shadow-md);
2491
+ flex-direction: column;
2492
+ padding: 4px 0;
2493
+ display: flex;
2494
+ }
2495
+
2496
+ .bpjs-dropdown-header {
2497
+ flex-direction: column;
2498
+ gap: 0;
2499
+ padding: 12px;
2500
+ display: flex;
2501
+ }
2502
+
2503
+ .bpjs-dropdown-header__title {
2504
+ color: var(--bpjs-text-high);
2505
+ font: var(--bpjs-text-sm-semibold);
2506
+ }
2507
+
2508
+ .bpjs-dropdown-header__description {
2509
+ color: var(--bpjs-text-medium);
2510
+ font: var(--bpjs-text-sm-regular);
2511
+ }
2512
+
2513
+ .bpjs-dropdown-header--user {
2514
+ flex-direction: row;
2515
+ align-items: center;
2516
+ gap: 12px;
2517
+ }
2518
+
2519
+ .bpjs-dropdown-header__text {
2520
+ flex-direction: column;
2521
+ min-width: 0;
2522
+ display: flex;
2523
+ }
2524
+
2525
+ .bpjs-dropdown__divider {
2526
+ background-color: var(--bpjs-border-very-low);
2527
+ height: 1px;
2528
+ margin: 4px 0;
2529
+ }
2530
+
2531
+ .bpjs-dropdown-item {
2532
+ box-sizing: border-box;
2533
+ border-radius: var(--bpjs-radius-sm);
2534
+ background-color: var(--bpjs-background-high);
2535
+ width: 100%;
2536
+ height: 36px;
2537
+ color: var(--bpjs-text-high);
2538
+ font: inherit;
2539
+ text-align: left;
2540
+ cursor: pointer;
2541
+ -webkit-user-select: none;
2542
+ user-select: none;
2543
+ border: 0;
2544
+ align-items: center;
2545
+ gap: 8px;
2546
+ margin: 2px 0;
2547
+ padding: 8px 6px;
2548
+ display: flex;
2549
+ }
2550
+
2551
+ .bpjs-dropdown-item:hover {
2552
+ background-color: var(--bpjs-background-medium);
2553
+ }
2554
+
2555
+ .bpjs-dropdown-item__leading {
2556
+ --bpjs-icon-size: var(--bpjs-icon-size-md);
2557
+ color: inherit;
2558
+ flex: none;
2559
+ }
2560
+
2561
+ .bpjs-dropdown-item__label {
2562
+ text-overflow: ellipsis;
2563
+ white-space: nowrap;
2564
+ min-width: 0;
2565
+ font: var(--bpjs-text-sm-medium);
2566
+ flex: auto;
2567
+ overflow: hidden;
2568
+ }
2569
+
2570
+ .bpjs-dropdown-item__trailing {
2571
+ --bpjs-icon-size: var(--bpjs-icon-size-sm);
2572
+ color: inherit;
2573
+ flex: none;
2574
+ }
2575
+
2576
+ .bpjs-dropdown-item:focus-visible {
2577
+ box-shadow: var(--bpjs-shadow-focus);
2578
+ outline: none;
2579
+ }
2580
+
2581
+ .bpjs-dropdown-item:disabled, .bpjs-dropdown-item[aria-disabled="true"] {
2582
+ cursor: not-allowed;
2583
+ color: var(--bpjs-text-low);
2584
+ }
2585
+
2586
+ .bpjs-dropdown-item:disabled:hover, .bpjs-dropdown-item[aria-disabled="true"]:hover {
2587
+ background-color: var(--bpjs-background-high);
2588
+ }
2589
+
2590
+ @media (forced-colors: active) {
2591
+ .bpjs-dropdown-item:focus-visible {
2592
+ outline-offset: 2px;
2593
+ outline: 2px solid highlight;
2594
+ }
2595
+ }
2596
+
2597
+ .bpjs-segmented {
2598
+ box-sizing: border-box;
2599
+ border-radius: var(--bpjs-radius-sm);
2600
+ background-color: var(--bpjs-background-medium);
2601
+ align-items: stretch;
2602
+ gap: 0;
2603
+ height: 40px;
2604
+ padding: 2px;
2605
+ display: inline-flex;
2606
+ }
2607
+
2608
+ .bpjs-segmented-item {
2609
+ box-sizing: border-box;
2610
+ border-radius: var(--bpjs-radius-sm);
2611
+ min-width: 104px;
2612
+ height: 36px;
2613
+ color: var(--bpjs-text-medium);
2614
+ font: var(--bpjs-text-sm-medium);
2615
+ white-space: nowrap;
2616
+ cursor: pointer;
2617
+ -webkit-user-select: none;
2618
+ user-select: none;
2619
+ background: none;
2620
+ border: 0;
2621
+ flex: auto;
2622
+ justify-content: center;
2623
+ align-items: center;
2624
+ gap: 4px;
2625
+ margin: 0;
2626
+ padding: 8px 10px;
2627
+ transition: background-color .15s;
2628
+ display: inline-flex;
2629
+ }
2630
+
2631
+ .bpjs-segmented-item:hover {
2632
+ background-color: var(--bpjs-background-low);
2633
+ }
2634
+
2635
+ .bpjs-segmented-item--active, .bpjs-segmented-item[aria-pressed="true"] {
2636
+ background-color: var(--bpjs-background-high);
2637
+ color: var(--bpjs-text-high);
2638
+ font: var(--bpjs-text-sm-semibold);
2639
+ }
2640
+
2641
+ .bpjs-segmented-item:focus-visible {
2642
+ box-shadow: var(--bpjs-shadow-focus);
2643
+ outline: none;
2644
+ }
2645
+
2646
+ .bpjs-segmented-item:disabled, .bpjs-segmented-item[aria-disabled="true"] {
2647
+ cursor: not-allowed;
2648
+ color: var(--bpjs-text-low);
2649
+ background-color: #0000;
2650
+ }
2651
+
2652
+ @media (prefers-reduced-motion: reduce) {
2653
+ .bpjs-segmented-item {
2654
+ transition: none;
2655
+ }
2656
+ }
2657
+
2658
+ @media (forced-colors: active) {
2659
+ .bpjs-segmented-item:focus-visible {
2660
+ outline-offset: 2px;
2661
+ outline: 2px solid highlight;
2662
+ }
2663
+ }
2664
+
2665
+ .bpjs-pagination {
2666
+ box-sizing: border-box;
2667
+ font: var(--bpjs-text-xs-medium);
2668
+ color: var(--bpjs-text-high);
2669
+ align-items: center;
2670
+ gap: 4px;
2671
+ display: inline-flex;
2672
+ }
2673
+
2674
+ .bpjs-pagination__pages {
2675
+ align-items: center;
2676
+ gap: 4px;
2677
+ margin: 0;
2678
+ padding: 0;
2679
+ list-style: none;
2680
+ display: inline-flex;
2681
+ }
2682
+
2683
+ .bpjs-pagination__page, .bpjs-pagination__nav {
2684
+ box-sizing: border-box;
2685
+ border-radius: var(--bpjs-radius-sm);
2686
+ background-color: var(--bpjs-background-high);
2687
+ width: 32px;
2688
+ height: 32px;
2689
+ color: var(--bpjs-text-high);
2690
+ font: var(--bpjs-text-xs-medium);
2691
+ cursor: pointer;
2692
+ -webkit-user-select: none;
2693
+ user-select: none;
2694
+ border: 0;
2695
+ flex: none;
2696
+ justify-content: center;
2697
+ align-items: center;
2698
+ margin: 0;
2699
+ padding: 0;
2700
+ display: inline-flex;
2701
+ }
2702
+
2703
+ .bpjs-pagination__page:hover, .bpjs-pagination__nav:hover:not(:disabled) {
2704
+ background-color: var(--bpjs-background-medium);
2705
+ }
2706
+
2707
+ .bpjs-pagination__page--active, .bpjs-pagination__page[aria-current="page"] {
2708
+ background-color: var(--bpjs-background-brand-primary);
2709
+ color: var(--bpjs-text-white);
2710
+ font: var(--bpjs-text-xs-bold);
2711
+ }
2712
+
2713
+ .bpjs-pagination__page--active:hover, .bpjs-pagination__page[aria-current="page"]:hover {
2714
+ background-color: var(--bpjs-background-brand-primary);
2715
+ }
2716
+
2717
+ .bpjs-pagination__nav {
2718
+ color: var(--bpjs-text-high);
2719
+ }
2720
+
2721
+ .bpjs-pagination__nav .bpjs-icon {
2722
+ --bpjs-icon-size: var(--bpjs-icon-size-sm);
2723
+ }
2724
+
2725
+ .bpjs-pagination__nav:disabled {
2726
+ cursor: not-allowed;
2727
+ color: var(--bpjs-text-low);
2728
+ background-color: var(--bpjs-background-high);
2729
+ }
2730
+
2731
+ .bpjs-pagination__ellipsis {
2732
+ width: 32px;
2733
+ height: 32px;
2734
+ color: var(--bpjs-text-medium);
2735
+ justify-content: center;
2736
+ align-items: center;
2737
+ display: inline-flex;
2738
+ }
2739
+
2740
+ .bpjs-pagination__page:focus-visible, .bpjs-pagination__nav:focus-visible {
2741
+ box-shadow: var(--bpjs-shadow-focus);
2742
+ outline: none;
2743
+ }
2744
+
2745
+ .bpjs-pagination__summary {
2746
+ color: var(--bpjs-text-high);
2747
+ font: var(--bpjs-text-xs-regular);
2748
+ }
2749
+
2750
+ .bpjs-pagination__summary strong {
2751
+ font: var(--bpjs-text-xs-semibold);
2752
+ }
2753
+
2754
+ .bpjs-pagination__per-page {
2755
+ color: var(--bpjs-text-high);
2756
+ font: var(--bpjs-text-xs-regular);
2757
+ align-items: center;
2758
+ gap: 8px;
2759
+ display: inline-flex;
2760
+ }
2761
+
2762
+ .bpjs-select__native {
2763
+ box-sizing: border-box;
2764
+ border: 1px solid var(--bpjs-border-very-low);
2765
+ border-radius: var(--bpjs-radius-sm);
2766
+ background-color: var(--bpjs-background-high);
2767
+ height: 32px;
2768
+ color: var(--bpjs-text-high);
2769
+ font: var(--bpjs-text-xs-regular);
2770
+ padding: 0 28px 0 10px;
2771
+ }
2772
+
2773
+ @media (forced-colors: active) {
2774
+ .bpjs-pagination__page--active, .bpjs-pagination__page[aria-current="page"] {
2775
+ border: 2px solid highlight;
2776
+ }
2777
+ }
2778
+
2779
+ @media (prefers-reduced-motion: reduce) {
2780
+ .bpjs-pagination__page, .bpjs-pagination__nav {
2781
+ transition: none;
2782
+ }
2783
+ }
2784
+
2785
+ .bpjs-pagination-row {
2786
+ flex-wrap: wrap;
2787
+ justify-content: space-between;
2788
+ align-items: center;
2789
+ gap: 12px;
2790
+ width: 100%;
2791
+ display: flex;
2792
+ }
2793
+
2794
+ .bpjs-pagination__meta {
2795
+ flex-wrap: wrap;
2796
+ align-items: center;
2797
+ gap: 16px;
2798
+ display: flex;
2799
+ }
2800
+
2801
+ .bpjs-table-card {
2802
+ box-sizing: border-box;
2803
+ border: 1px solid var(--bpjs-border-very-low);
2804
+ border-radius: var(--bpjs-radius-sm);
2805
+ background-color: var(--bpjs-background-high);
2806
+ flex-direction: column;
2807
+ display: flex;
2808
+ overflow: hidden;
2809
+ }
2810
+
2811
+ .bpjs-table-title {
2812
+ flex-wrap: wrap;
2813
+ justify-content: space-between;
2814
+ align-items: center;
2815
+ gap: 12px;
2816
+ padding: 20px 20px 16px;
2817
+ display: flex;
2818
+ }
2819
+
2820
+ .bpjs-table-title__heading {
2821
+ color: var(--bpjs-text-high);
2822
+ font: var(--bpjs-text-lg-bold);
2823
+ margin: 0;
2824
+ }
2825
+
2826
+ .bpjs-table-title__description {
2827
+ color: var(--bpjs-text-medium);
2828
+ font: var(--bpjs-text-xs-regular);
2829
+ margin: 2px 0 0;
2830
+ }
2831
+
2832
+ .bpjs-table-toolbar {
2833
+ flex-wrap: wrap;
2834
+ justify-content: space-between;
2835
+ align-items: center;
2836
+ gap: 12px;
2837
+ padding: 0 20px 16px;
2838
+ display: flex;
2839
+ }
2840
+
2841
+ .bpjs-table-toolbar__end {
2842
+ flex-wrap: wrap;
2843
+ align-items: center;
2844
+ gap: 8px;
2845
+ display: flex;
2846
+ }
2847
+
2848
+ .bpjs-table__stack {
2849
+ font: var(--bpjs-text-sm-regular);
2850
+ flex-direction: column;
2851
+ gap: 2px;
2852
+ display: flex;
2853
+ }
2854
+
2855
+ .bpjs-table__secondary {
2856
+ color: var(--bpjs-text-medium);
2857
+ font: var(--bpjs-text-xs-regular);
2858
+ }
2859
+
2860
+ .bpjs-table__action {
2861
+ text-align: right;
2862
+ width: 48px;
2863
+ }
2864
+
2865
+ .bpjs-table__row-action {
2866
+ border-radius: var(--bpjs-radius-sm);
2867
+ width: 32px;
2868
+ height: 32px;
2869
+ color: var(--bpjs-text-high);
2870
+ cursor: pointer;
2871
+ background: none;
2872
+ border: 0;
2873
+ justify-content: center;
2874
+ align-items: center;
2875
+ margin: 0;
2876
+ padding: 0;
2877
+ display: inline-flex;
2878
+ }
2879
+
2880
+ .bpjs-table__row-action:hover {
2881
+ background-color: var(--bpjs-background-medium);
2882
+ }
2883
+
2884
+ .bpjs-table__row-action:focus-visible {
2885
+ box-shadow: var(--bpjs-shadow-focus);
2886
+ outline: none;
2887
+ }
2888
+
2889
+ .bpjs-table__row-action .bpjs-icon {
2890
+ --bpjs-icon-size: var(--bpjs-icon-size-md);
2891
+ }
2892
+
2893
+ .bpjs-table-scroll {
2894
+ overflow-x: auto;
2895
+ }
2896
+
2897
+ .bpjs-table {
2898
+ border-collapse: separate;
2899
+ border-spacing: 0;
2900
+ width: 100%;
2901
+ color: var(--bpjs-text-high);
2902
+ font: var(--bpjs-text-sm-regular);
2903
+ }
2904
+
2905
+ .bpjs-table th, .bpjs-table td {
2906
+ box-sizing: border-box;
2907
+ border-bottom: 1px solid var(--bpjs-border-very-low);
2908
+ text-align: left;
2909
+ vertical-align: middle;
2910
+ padding: 8px 20px;
2911
+ }
2912
+
2913
+ .bpjs-table td {
2914
+ height: 68px;
2915
+ }
2916
+
2917
+ .bpjs-table th {
2918
+ white-space: nowrap;
2919
+ background-color: var(--bpjs-background-medium);
2920
+ height: 40px;
2921
+ color: var(--bpjs-text-high);
2922
+ font: var(--bpjs-text-xs-semibold);
2923
+ }
2924
+
2925
+ .bpjs-table tbody tr:hover td {
2926
+ background-color: var(--bpjs-background-medium);
2927
+ }
2928
+
2929
+ .bpjs-table tbody tr:last-child td {
2930
+ border-bottom: 0;
2931
+ }
2932
+
2933
+ .bpjs-table th.bpjs-table__check, .bpjs-table td.bpjs-table__check {
2934
+ width: 40px;
2935
+ padding-inline: 12px;
2936
+ }
2937
+
2938
+ .bpjs-table__check input {
2939
+ margin: 0;
2940
+ }
2941
+
2942
+ .bpjs-table__sort {
2943
+ color: inherit;
2944
+ font: inherit;
2945
+ cursor: pointer;
2946
+ background: none;
2947
+ border: 0;
2948
+ align-items: center;
2949
+ gap: 4px;
2950
+ margin: 0;
2951
+ padding: 0;
2952
+ display: inline-flex;
2953
+ }
2954
+
2955
+ .bpjs-table__sort .bpjs-icon {
2956
+ --bpjs-icon-size: var(--bpjs-icon-size-sm);
2957
+ }
2958
+
2959
+ .bpjs-table__sort:focus-visible {
2960
+ box-shadow: var(--bpjs-shadow-focus);
2961
+ border-radius: var(--bpjs-radius-xs);
2962
+ outline: none;
2963
+ }
2964
+
2965
+ .bpjs-table-footer {
2966
+ border-top: 1px solid var(--bpjs-border-very-low);
2967
+ flex-wrap: wrap;
2968
+ justify-content: space-between;
2969
+ align-items: center;
2970
+ gap: 12px;
2971
+ padding: 12px 20px;
2972
+ display: flex;
2973
+ }
2974
+
2975
+ .bpjs-table-footer .bpjs-pagination {
2976
+ margin-inline-start: auto;
2977
+ }
2978
+
2979
+ .bpjs-empty-state {
2980
+ box-sizing: border-box;
2981
+ text-align: center;
2982
+ flex-direction: column;
2983
+ align-items: center;
2984
+ width: 100%;
2985
+ padding: 24px;
2986
+ display: flex;
2987
+ }
2988
+
2989
+ .bpjs-empty-state__body {
2990
+ flex-direction: column;
2991
+ align-items: center;
2992
+ gap: 16px;
2993
+ display: flex;
2994
+ }
2995
+
2996
+ .bpjs-empty-state__icon {
2997
+ box-sizing: border-box;
2998
+ border: 1px solid var(--bpjs-border-very-low);
2999
+ border-radius: var(--bpjs-radius-sm);
3000
+ background-color: var(--bpjs-background-high);
3001
+ width: 40px;
3002
+ height: 40px;
3003
+ color: var(--bpjs-text-high);
3004
+ justify-content: center;
3005
+ align-items: center;
3006
+ display: inline-flex;
3007
+ }
3008
+
3009
+ .bpjs-empty-state__icon .bpjs-icon {
3010
+ --bpjs-icon-size: var(--bpjs-icon-size-lg);
3011
+ }
3012
+
3013
+ .bpjs-empty-state__content {
3014
+ flex-direction: column;
3015
+ align-items: center;
3016
+ gap: 4px;
3017
+ display: flex;
3018
+ }
3019
+
3020
+ .bpjs-empty-state__title {
3021
+ color: var(--bpjs-text-high);
3022
+ font: var(--bpjs-text-md-semibold);
3023
+ margin: 0;
3024
+ }
3025
+
3026
+ .bpjs-empty-state__description {
3027
+ color: var(--bpjs-text-medium);
3028
+ font: var(--bpjs-text-sm-regular);
3029
+ margin: 0;
3030
+ }
3031
+
3032
+ .bpjs-empty-state__footer {
3033
+ flex-wrap: wrap;
3034
+ justify-content: center;
3035
+ align-items: center;
3036
+ gap: 12px;
3037
+ margin-top: 24px;
3038
+ display: flex;
3039
+ }
3040
+
3041
+ @media (forced-colors: active) {
3042
+ .bpjs-table th, .bpjs-table td {
3043
+ border-color: canvastext;
3044
+ }
3045
+ }
3046
+
3047
+ .bpjs-file-upload {
3048
+ box-sizing: border-box;
3049
+ width: 100%;
3050
+ display: block;
3051
+ }
3052
+
3053
+ .bpjs-file-upload__zone {
3054
+ box-sizing: border-box;
3055
+ border: 1px solid var(--bpjs-border-very-low);
3056
+ border-radius: var(--bpjs-radius-lg);
3057
+ background-color: var(--bpjs-background-high);
3058
+ width: 100%;
3059
+ color: var(--bpjs-text-high);
3060
+ text-align: center;
3061
+ cursor: pointer;
3062
+ flex-direction: column;
3063
+ align-items: center;
3064
+ gap: 8px;
3065
+ padding: 24px 16px;
3066
+ transition: border-color .15s, background-color .15s;
3067
+ display: flex;
3068
+ position: relative;
3069
+ }
3070
+
3071
+ .bpjs-file-upload__zone:hover {
3072
+ border-color: var(--bpjs-border-brand-primary);
3073
+ }
3074
+
3075
+ .bpjs-file-upload__zone:focus-within {
3076
+ border-color: var(--bpjs-border-brand-primary);
3077
+ box-shadow: var(--bpjs-shadow-focus);
3078
+ }
3079
+
3080
+ .bpjs-file-upload__input {
3081
+ clip-path: inset(50%);
3082
+ white-space: nowrap;
3083
+ opacity: 0;
3084
+ border: 0;
3085
+ width: 1px;
3086
+ height: 1px;
3087
+ margin: -1px;
3088
+ padding: 0;
3089
+ position: absolute;
3090
+ overflow: hidden;
3091
+ }
3092
+
3093
+ .bpjs-file-upload__icon {
3094
+ box-sizing: border-box;
3095
+ border: 1px solid var(--bpjs-border-very-low);
3096
+ border-radius: var(--bpjs-radius-sm);
3097
+ background-color: var(--bpjs-background-high);
3098
+ justify-content: center;
3099
+ align-items: center;
3100
+ width: 40px;
3101
+ height: 40px;
3102
+ display: inline-flex;
3103
+ }
3104
+
3105
+ .bpjs-file-upload__icon .bpjs-icon {
3106
+ --bpjs-icon-size: var(--bpjs-icon-size-md);
3107
+ }
3108
+
3109
+ .bpjs-file-upload__title {
3110
+ color: var(--bpjs-text-high);
3111
+ font: var(--bpjs-text-sm-regular);
3112
+ }
3113
+
3114
+ .bpjs-file-upload__action {
3115
+ color: var(--bpjs-text-brand);
3116
+ font: var(--bpjs-text-sm-semibold);
3117
+ }
3118
+
3119
+ .bpjs-file-upload__hint {
3120
+ color: var(--bpjs-text-medium);
3121
+ font: var(--bpjs-text-sm-regular);
3122
+ }
3123
+
3124
+ .bpjs-file-upload__zone:has(.bpjs-file-upload__input:focus-visible) {
3125
+ box-shadow: var(--bpjs-shadow-focus);
3126
+ }
3127
+
3128
+ .bpjs-file-upload__zone:has(.bpjs-file-upload__input:disabled) {
3129
+ cursor: not-allowed;
3130
+ background-color: var(--bpjs-background-medium);
3131
+ border-color: var(--bpjs-border-very-low);
3132
+ }
3133
+
3134
+ .bpjs-file-upload__zone:has(.bpjs-file-upload__input:disabled) .bpjs-file-upload__title, .bpjs-file-upload__zone:has(.bpjs-file-upload__input:disabled) .bpjs-file-upload__icon {
3135
+ color: var(--bpjs-text-low);
3136
+ }
3137
+
3138
+ .bpjs-file-upload__zone:has(.bpjs-file-upload__input:disabled) .bpjs-file-upload__icon {
3139
+ background-color: var(--bpjs-background-medium);
3140
+ }
3141
+
3142
+ .bpjs-file-upload__zone:has(.bpjs-file-upload__input:disabled) .bpjs-file-upload__hint {
3143
+ color: var(--bpjs-text-low);
3144
+ }
3145
+
3146
+ .bpjs-file-row {
3147
+ box-sizing: border-box;
3148
+ border: 1px solid var(--bpjs-border-very-low);
3149
+ border-radius: var(--bpjs-radius-lg);
3150
+ background-color: var(--bpjs-background-high);
3151
+ width: 100%;
3152
+ color: var(--bpjs-text-high);
3153
+ grid-template-columns: minmax(0, 1fr) auto;
3154
+ grid-template-areas: "name meta"
3155
+ "bar bar";
3156
+ gap: 8px 12px;
3157
+ padding: 16px;
3158
+ display: grid;
3159
+ }
3160
+
3161
+ .bpjs-file-row__name {
3162
+ text-overflow: ellipsis;
3163
+ white-space: nowrap;
3164
+ min-width: 0;
3165
+ color: var(--bpjs-text-black);
3166
+ font: var(--bpjs-text-sm-semibold);
3167
+ grid-area: name;
3168
+ overflow: hidden;
3169
+ }
3170
+
3171
+ .bpjs-file-row__meta {
3172
+ color: var(--bpjs-text-medium);
3173
+ font: var(--bpjs-text-sm-regular);
3174
+ white-space: nowrap;
3175
+ grid-area: meta;
3176
+ align-items: center;
3177
+ gap: 8px;
3178
+ display: inline-flex;
3179
+ }
3180
+
3181
+ .bpjs-file-row__status {
3182
+ font: var(--bpjs-text-xs-medium);
3183
+ }
3184
+
3185
+ .bpjs-file-row__percent {
3186
+ color: var(--bpjs-text-black);
3187
+ font: var(--bpjs-text-sm-regular);
3188
+ }
3189
+
3190
+ .bpjs-file-row__bar {
3191
+ --bpjs-file-progress: 0%;
3192
+ border-radius: var(--bpjs-radius-round);
3193
+ background-color: var(--bpjs-background-gray);
3194
+ grid-area: bar;
3195
+ height: 6px;
3196
+ display: block;
3197
+ overflow: hidden;
3198
+ }
3199
+
3200
+ .bpjs-file-row__bar > span {
3201
+ width: var(--bpjs-file-progress, 0%);
3202
+ border-radius: inherit;
3203
+ background-color: var(--bpjs-background-brand-primary);
3204
+ height: 100%;
3205
+ transition: width .2s;
3206
+ display: block;
3207
+ }
3208
+
3209
+ .bpjs-file-row--completed .bpjs-file-row__status {
3210
+ color: var(--bpjs-text-success);
3211
+ }
3212
+
3213
+ .bpjs-file-row--completed .bpjs-file-row__bar > span {
3214
+ background-color: var(--bpjs-background-brand-primary);
3215
+ }
3216
+
3217
+ .bpjs-file-row--failed .bpjs-file-row__status, .bpjs-file-row--failed .bpjs-file-row__retry {
3218
+ color: var(--bpjs-text-danger);
3219
+ }
3220
+
3221
+ .bpjs-file-row--failed {
3222
+ border-color: var(--bpjs-border-danger-soft);
3223
+ }
3224
+
3225
+ .bpjs-file-row--failed .bpjs-file-row__bar > span {
3226
+ background-color: var(--bpjs-background-danger-hard);
3227
+ }
3228
+
3229
+ .bpjs-file-row__retry {
3230
+ color: var(--bpjs-text-danger);
3231
+ font: var(--bpjs-text-sm-semibold);
3232
+ cursor: pointer;
3233
+ text-underline-offset: 2px;
3234
+ background: none;
3235
+ border: 0;
3236
+ margin: 0;
3237
+ padding: 0;
3238
+ text-decoration: underline;
3239
+ }
3240
+
3241
+ .bpjs-file-row__retry:focus-visible {
3242
+ box-shadow: var(--bpjs-shadow-focus);
3243
+ border-radius: var(--bpjs-radius-xs);
3244
+ outline: none;
3245
+ }
3246
+
3247
+ @media (prefers-reduced-motion: reduce) {
3248
+ .bpjs-file-row__bar > span, .bpjs-file-upload__zone {
3249
+ transition: none;
3250
+ }
3251
+ }
3252
+
3253
+ @media (forced-colors: active) {
3254
+ .bpjs-file-upload__zone, .bpjs-file-row {
3255
+ border-color: canvastext;
3256
+ }
3257
+ }