@nurihaus/web-design-system 2.0.10 → 3.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,1729 @@
1
+
2
+ @import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.8/dist/web/static/pretendard.css');
3
+ @import url('https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap');
4
+ @import url('https://fonts.googleapis.com/icon?family=Material+Icons');
5
+ /* 토큰 + 글꼴 + 리셋 + 유틸리티 + 컴포넌트. 디자인 시스템 컴포넌트를 쓸 때 가져온다. */
6
+ /* 변수만. 이것만 가져와도 화면이 바뀌지 않는다. CSS Modules 에서 var() 로 쓴다. */
7
+ /* tokens/figma.json 에서 생성됨 — 손으로 고치지 않는다. `npm run tokens` */
8
+ :root {
9
+ --color-purple-50: #F4EFFA;
10
+ --color-purple-100: #E9E0F5;
11
+ --color-purple-200: #DDD1F0;
12
+ --color-purple-300: #C3B4DD;
13
+ --color-purple-400: #A894C7;
14
+ --color-purple-500: #957EB4;
15
+ --color-purple-600: #6F56A3;
16
+ --color-purple-700: #4C277C;
17
+ --color-purple-800: #4C1D88;
18
+ --color-purple-900: #391D5D;
19
+ --color-grey-scale-50: #FAFAFA;
20
+ --color-grey-scale-100: #F4F4F5;
21
+ --color-grey-scale-200: #E4E4E7;
22
+ --color-grey-scale-300: #D4D4D8;
23
+ --color-grey-scale-400: #A1A1AA;
24
+ --color-grey-scale-500: #71717A;
25
+ --color-grey-scale-600: #52525B;
26
+ --color-grey-scale-700: #3F3F46;
27
+ --color-grey-scale-800: #27272A;
28
+ --color-grey-scale-900: #18181B;
29
+ --color-accent-red-50: #FFF5F6;
30
+ --color-accent-red-100: #FFE8E9;
31
+ --color-accent-red-200: #FBCFD2;
32
+ --color-accent-red-300: #F39AA0;
33
+ --color-accent-red-400: #E86F77;
34
+ --color-accent-red-500: #DF535C;
35
+ --color-accent-red-600: #C94751;
36
+ --color-accent-red-700: #B02E4C;
37
+ --color-accent-red-800: #8F243A;
38
+ --color-accent-red-900: #6E1A2C;
39
+ --color-accent-pink-50: #FFF1F6;
40
+ --color-accent-pink-100: #FFE4EE;
41
+ --color-accent-pink-200: #FECFE3;
42
+ --color-accent-pink-300: #FDA4CC;
43
+ --color-accent-pink-400: #F472B6;
44
+ --color-accent-pink-500: #EC6FAE;
45
+ --color-accent-pink-600: #D95D9A;
46
+ --color-accent-pink-700: #B94A7E;
47
+ --color-accent-pink-800: #93385F;
48
+ --color-accent-pink-900: #6E2644;
49
+ --color-accent-magenta-50: #FEF0FF;
50
+ --color-accent-magenta-100: #FEF0FF;
51
+ --color-accent-magenta-200: #F8C6FF;
52
+ --color-accent-magenta-300: #F29BFF;
53
+ --color-accent-magenta-400: #EC5CEF;
54
+ --color-accent-magenta-500: #E13BE7;
55
+ --color-accent-magenta-600: #C82FCC;
56
+ --color-accent-magenta-700: #A923A8;
57
+ --color-accent-magenta-800: #831C83;
58
+ --color-accent-magenta-900: #5E145E;
59
+ --color-accent-blue-50: #F1F4FF;
60
+ --color-accent-blue-100: #E3E8FF;
61
+ --color-accent-blue-200: #C7D2FE;
62
+ --color-accent-blue-300: #A5B4FC;
63
+ --color-accent-blue-400: #818CF8;
64
+ --color-accent-blue-500: #2563EB;
65
+ --color-accent-blue-600: #1F52C9;
66
+ --color-accent-blue-700: #1E40AF;
67
+ --color-accent-blue-800: #1C348A;
68
+ --color-accent-blue-900: #162763;
69
+ --color-accent-mint-50: #ECFEFD;
70
+ --color-accent-mint-100: #D1FAF7;
71
+ --color-accent-mint-200: #A7F3EE;
72
+ --color-accent-mint-300: #6EE7E0;
73
+ --color-accent-mint-400: #2DD4CB;
74
+ --color-accent-mint-500: #01ECE1;
75
+ --color-accent-mint-600: #0BC5BC;
76
+ --color-accent-mint-700: #0F9F99;
77
+ --color-accent-mint-800: #117D78;
78
+ --color-accent-mint-900: #135C58;
79
+ --color-accent-green-50: #ECFDF3;
80
+ --color-accent-green-100: #D1FAE1;
81
+ --color-accent-green-200: #A7F3C8;
82
+ --color-accent-green-300: #6EE7A3;
83
+ --color-accent-green-400: #41E176;
84
+ --color-accent-green-500: #22C55E;
85
+ --color-accent-green-600: #16A34A;
86
+ --color-accent-green-700: #289A3A;
87
+ --color-accent-green-800: #166534;
88
+ --color-accent-green-900: #14532D;
89
+ --color-accent-yellow-50: #FFFBEB;
90
+ --color-accent-yellow-100: #FEF3C7;
91
+ --color-accent-yellow-200: #FDE68A;
92
+ --color-accent-yellow-300: #FCD34D;
93
+ --color-accent-yellow-400: #FBBF24;
94
+ --color-accent-yellow-500: #FFB800;
95
+ --color-accent-yellow-600: #E0A106;
96
+ --color-accent-yellow-700: #B58105;
97
+ --color-accent-yellow-800: #8A6404;
98
+ --color-accent-yellow-900: #5F4703;
99
+ --color-accent-orange-50: #FFF7ED;
100
+ --color-accent-orange-100: #FFEDD5;
101
+ --color-accent-orange-200: #FED7AA;
102
+ --color-accent-orange-300: #FDBA74;
103
+ --color-accent-orange-400: #FB923C;
104
+ --color-accent-orange-500: #F97316;
105
+ --color-accent-orange-600: #EA580C;
106
+ --color-accent-orange-700: #C2410C;
107
+ --color-accent-orange-800: #9A3412;
108
+ --color-accent-orange-900: #7C2D12;
109
+ --font-family-primary: Pretendard;
110
+ --font-weight-regular: 400;
111
+ --font-weight-medium: 500;
112
+ --font-weight-semibold: 600;
113
+ --font-weight-bold: 700;
114
+ --font-weight-extrabold: 800;
115
+ --font-size-xsm: 12px;
116
+ --font-size-sm: 14px;
117
+ --font-size-base: 16px;
118
+ --font-size-lg: 18px;
119
+ --font-size-xl: 20px;
120
+ --font-size-2xl: 24px;
121
+ --font-size-3xl: 30px;
122
+ --font-size-4xl: 36px;
123
+ --font-size-5xl: 48px;
124
+ --font-size-6xl: 60px;
125
+ --spacing-2: 2px;
126
+ --spacing-4: 4px;
127
+ --spacing-6: 6px;
128
+ --spacing-8: 8px;
129
+ --spacing-10: 10px;
130
+ --spacing-12: 12px;
131
+ --spacing-14: 14px;
132
+ --spacing-16: 16px;
133
+ --spacing-18: 18px;
134
+ --spacing-20: 20px;
135
+ --spacing-22: 22px;
136
+ --spacing-24: 24px;
137
+ --spacing-26: 26px;
138
+ --spacing-28: 28px;
139
+ --spacing-30: 30px;
140
+ --radius-4: 4px;
141
+ --radius-6: 6px;
142
+ --radius-16: 16px;
143
+ --radius-20: 20px;
144
+ --radius-full: 9999px;
145
+ --color-black: #000000;
146
+ --color-white: #FFFFFF;
147
+
148
+ --line-height-xsm: 18px;
149
+ --line-height-sm: 18px;
150
+ --line-height-base: 22px;
151
+ --line-height-lg: 24px;
152
+ --line-height-xl: 28px;
153
+ --line-height-2xl: 32px;
154
+ --line-height-3xl: 36px;
155
+ --line-height-4xl: 43px;
156
+ --line-height-5xl: 66px;
157
+ --line-height-6xl: 82px;
158
+ }
159
+ /* semantic: app */
160
+ :root, :root[data-ds-theme='app'] {
161
+ --button-variant-primary-background: var(--color-purple-900);
162
+ --button-variant-primary-border: var(--color-purple-900);
163
+ --button-variant-primary-text: var(--color-white);
164
+ --button-variant-ghost-background: var(--color-white);
165
+ --button-variant-ghost-border: var(--color-grey-scale-300);
166
+ --button-variant-ghost-text: var(--color-purple-900);
167
+ --button-variant-secondary-background: var(--color-purple-50);
168
+ --button-variant-secondary-border: var(--color-purple-50);
169
+ --button-variant-secondary-text: var(--color-purple-900);
170
+ --button-variant-neutral-background: var(--color-white);
171
+ --button-variant-neutral-border: var(--color-white);
172
+ --button-variant-neutral-text: var(--color-purple-900);
173
+ --button-variant-disabled-background: var(--color-grey-scale-200);
174
+ --button-variant-disabled-border: var(--color-grey-scale-200);
175
+ --button-variant-disabled-text: var(--color-white);
176
+ --button-variant-outlined-background: var(--color-white);
177
+ --button-variant-outlined-border: var(--color-accent-red-700);
178
+ --button-variant-outlined-text: var(--color-accent-red-700);
179
+ --button-size-xl: [object Object];
180
+ --button-size-lg: [object Object];
181
+ --button-size-md: [object Object];
182
+ --button-size-rg: [object Object];
183
+ --button-size-sm: [object Object];
184
+ --button-size-xs: [object Object];
185
+ }
186
+ /* semantic: admin */
187
+ :root[data-ds-theme='admin'] {
188
+ --button-variant-primary-border: var(--color-purple-900);
189
+ --button-variant-primary-text: var(--color-white);
190
+ --button-variant-primary-hover-background: var(--color-purple-900);
191
+ --button-variant-primary-hover-border: var(--color-purple-900);
192
+ --button-variant-primary-hover-text: var(--color-white);
193
+ --button-variant-ghost-background: var(--color-white);
194
+ --button-variant-ghost-border: var(--color-grey-scale-300);
195
+ --button-variant-ghost-text: var(--color-purple-900);
196
+ --button-variant-ghost-hover-background: var(--color-white);
197
+ --button-variant-ghost-hover-border: var(--color-purple-900);
198
+ --button-variant-ghost-hover-text: var(--color-purple-900);
199
+ --button-variant-secondary-background: var(--color-purple-50);
200
+ --button-variant-secondary-border: var(--color-purple-50);
201
+ --button-variant-secondary-text: var(--color-purple-900);
202
+ --button-variant-secondary-hover-background: var(--color-purple-100);
203
+ --button-variant-secondary-hover-border: var(--color-purple-100);
204
+ --button-variant-secondary-hover-text: var(--color-purple-900);
205
+ --button-variant-disabled-background: var(--color-grey-scale-200);
206
+ --button-variant-disabled-border: var(--color-grey-scale-200);
207
+ --button-variant-disabled-text: var(--color-white);
208
+ --button-variant-outlined-background: var(--color-white);
209
+ --button-variant-outlined-border: var(--color-accent-red-700);
210
+ --button-variant-outlined-text: var(--color-accent-red-700);
211
+ --button-variant-neutral-background: var(--color-white);
212
+ --button-variant-neutral-border: var(--color-white);
213
+ --button-variant-neutral-text: var(--color-purple-900);
214
+ --button-variant-neutral-hover-background: var(--color-grey-scale-100);
215
+ --button-variant-neutral-hover-border: var(--color-grey-scale-100);
216
+ --button-variant-neutral-hover-text: var(--color-purple-900);
217
+ --button-variant-confirm-background: var(--color-accent-red-500);
218
+ --button-variant-confirm-border: var(--color-accent-red-500);
219
+ --button-variant-confirm-text: var(--color-white);
220
+ --button-variant-confirm-hover-background: var(--color-accent-red-700);
221
+ --button-variant-confirm-hover-border: var(--color-accent-red-700);
222
+ --button-variant-confirm-hover-text: var(--color-white);
223
+ --button-xl: [object Object];
224
+ --button-l: [object Object];
225
+ --button-sb: [object Object];
226
+ --button-r: [object Object];
227
+ --button-s: [object Object];
228
+ --button-xs: [object Object];
229
+ --button-size-xs: 30;
230
+ --button-size-s: 40;
231
+ --button-size-r: 48;
232
+ --button-size-m: 50;
233
+ --button-size-l: 54;
234
+ --button-size-xl: 60;
235
+ }
236
+ .nuri-theme {
237
+ --cursor-button: pointer;
238
+ --cursor-disabled: not-allowed;
239
+ --cursor-link: pointer;
240
+ font-family:
241
+ 'Twemoji Country Flags',
242
+ 'Pretendard',
243
+ Pretendard,
244
+ -apple-system,
245
+ BlinkMacSystemFont,
246
+ system-ui,
247
+ Roboto,
248
+ 'Helvetica Neue',
249
+ 'Segoe UI',
250
+ 'Apple SD Gothic Neo',
251
+ 'Noto Sans KR',
252
+ 'Malgun Gothic',
253
+ 'Apple Color Emoji',
254
+ 'Segoe UI Emoji',
255
+ 'Segoe UI Symbol',
256
+ 'Noto Color Emoji',
257
+ sans-serif;
258
+ }
259
+ /* 웹폰트와 기본 글꼴. 토큰이 아니라 손으로 유지한다. */
260
+ /*
261
+ * 글꼴은 `:root` 에 걸지 않는다. 토큰만 가져다 쓰는 앱의 글꼴을 뺏지 않기 위해서다.
262
+ * 디자인 시스템의 글꼴을 원하면 이 클래스를 붙인다.
263
+ */
264
+ .nuri-placeholder {
265
+ color: var(--color-grey-scale-400);
266
+ }
267
+ /* Reset */
268
+ /* 모든 요소의 마진과 패딩 제거 */
269
+ * {
270
+ margin: 0;
271
+ padding: 0;
272
+ box-sizing: border-box;
273
+ }
274
+ /* 기본 폰트 설정 및 텍스트 렌더링 최적화 */
275
+ html {
276
+ -webkit-text-size-adjust: 100%;
277
+ -webkit-font-smoothing: antialiased;
278
+ -moz-osx-font-smoothing: grayscale;
279
+ }
280
+ /* 리스트 스타일 제거 */
281
+ ul,
282
+ ol {
283
+ list-style: none;
284
+ }
285
+ /* 링크 스타일 초기화 */
286
+ a {
287
+ text-decoration: none;
288
+ color: inherit;
289
+ }
290
+ /* 버튼 스타일 초기화 */
291
+ button {
292
+ border: none;
293
+ background: none;
294
+ cursor: pointer;
295
+ }
296
+ /* 이미지 관련 설정 */
297
+ img {
298
+ max-width: 100%;
299
+ height: auto;
300
+ display: block;
301
+ }
302
+ /* 폼 요소 스타일 초기화 */
303
+ input,
304
+ textarea,
305
+ select {
306
+ font-family: inherit;
307
+ font-size: inherit;
308
+ }
309
+ p {
310
+ margin-top: 0;
311
+ margin-bottom: 0;
312
+ }
313
+ /* Utility */
314
+ .nuri-display-flex {
315
+ display: flex;
316
+ }
317
+ .nuri-display-inline-flex {
318
+ display: inline-flex;
319
+ }
320
+ .nuri-display-block {
321
+ display: block;
322
+ }
323
+ .nuri-display-inline-block {
324
+ display: inline-block;
325
+ }
326
+ .nuri-display-grid {
327
+ display: grid;
328
+ }
329
+ .nuri-display-inline-grid {
330
+ display: inline-grid;
331
+ }
332
+ .nuri-display-contents {
333
+ display: contents;
334
+ }
335
+ .nuri-display-none {
336
+ display: none;
337
+ }
338
+ .nuri-position-static {
339
+ position: static;
340
+ }
341
+ .nuri-position-relative {
342
+ position: relative;
343
+ }
344
+ .nuri-position-absolute {
345
+ position: absolute;
346
+ }
347
+ .nuri-position-fixed {
348
+ position: fixed;
349
+ }
350
+ .nuri-position-sticky {
351
+ position: sticky;
352
+ }
353
+ .nuri-flex-row {
354
+ flex-direction: row;
355
+ }
356
+ .nuri-flex-row-reverse {
357
+ flex-direction: row-reverse;
358
+ }
359
+ .nuri-flex-column {
360
+ flex-direction: column;
361
+ }
362
+ .nuri-flex-column-reverse {
363
+ flex-direction: column-reverse;
364
+ }
365
+ .nuri-ai-start {
366
+ align-items: flex-start;
367
+ }
368
+ .nuri-ai-center {
369
+ align-items: center;
370
+ }
371
+ .nuri-ai-end {
372
+ align-items: flex-end;
373
+ }
374
+ .nuri-ai-stretch {
375
+ align-items: stretch;
376
+ }
377
+ .nuri-ai-baseline {
378
+ align-items: baseline;
379
+ }
380
+ .nuri-justify-content-start {
381
+ justify-content: flex-start;
382
+ }
383
+ .nuri-justify-content-center {
384
+ justify-content: center;
385
+ }
386
+ .nuri-justify-content-end {
387
+ justify-content: flex-end;
388
+ }
389
+ .nuri-justify-content-between {
390
+ justify-content: space-between;
391
+ }
392
+ .nuri-justify-content-around {
393
+ justify-content: space-around;
394
+ }
395
+ .nuri-justify-content-evenly {
396
+ justify-content: space-evenly;
397
+ }
398
+ .nuri-overflow-visible {
399
+ overflow: visible;
400
+ }
401
+ .nuri-overflow-hidden {
402
+ overflow: hidden;
403
+ }
404
+ .nuri-overflow-scroll {
405
+ overflow: scroll;
406
+ }
407
+ .nuri-overflow-auto {
408
+ overflow: auto;
409
+ }
410
+ .nuri-overflow-x-visible {
411
+ overflow-x: visible;
412
+ }
413
+ .nuri-overflow-x-hidden {
414
+ overflow-x: hidden;
415
+ }
416
+ .nuri-overflow-x-scroll {
417
+ overflow-x: scroll;
418
+ }
419
+ .nuri-overflow-x-auto {
420
+ overflow-x: auto;
421
+ }
422
+ .nuri-overflow-y-visible {
423
+ overflow-y: visible;
424
+ }
425
+ .nuri-overflow-y-hidden {
426
+ overflow-y: hidden;
427
+ }
428
+ .nuri-overflow-y-scroll {
429
+ overflow-y: scroll;
430
+ }
431
+ .nuri-overflow-y-auto {
432
+ overflow-y: auto;
433
+ }
434
+ /* Component */
435
+ .base-avatar {
436
+ border-radius: 50%;
437
+ width: -moz-fit-content;
438
+ width: fit-content;
439
+ height: -moz-fit-content;
440
+ height: fit-content;
441
+ overflow: hidden;
442
+ }
443
+ .base-avatar.avatar-image {
444
+ width: 100%;
445
+ height: 100%;
446
+ -o-object-fit: cover;
447
+ object-fit: cover;
448
+ }
449
+ .base-avatar .avatar-fallback {
450
+ display: block;
451
+ width: 100%;
452
+ height: 100%;
453
+ }
454
+ :is(.base-avatar .avatar-fallback) svg {
455
+ width: 100%;
456
+ height: 100%;
457
+ }
458
+ /***************************************************************************************************
459
+ * *
460
+ * avatar *
461
+ * *
462
+ ***************************************************************************************************/
463
+ .avatar {
464
+ display: flex;
465
+ align-items: center;
466
+ justify-content: center;
467
+ }
468
+ .avatar.size-xl {
469
+ width: 124px;
470
+ height: 124px;
471
+ border: 1px solid #e4e4e7;
472
+ }
473
+ .avatar.size-xl.badge-option {
474
+ width: 48px;
475
+ height: 48px;
476
+ }
477
+ .avatar.size-l {
478
+ width: 74px;
479
+ height: 74px;
480
+ border: 1px solid #e4e4e7;
481
+ }
482
+ .avatar.size-l.badge-option {
483
+ width: 30px;
484
+ height: 30px;
485
+ }
486
+ .avatar.size-m {
487
+ width: 58px;
488
+ height: 58px;
489
+ border: 1px solid #e4e4e7;
490
+ }
491
+ .avatar.size-m.badge-option {
492
+ width: 24px;
493
+ height: 24px;
494
+ }
495
+ .avatar.size-s {
496
+ width: 40px;
497
+ height: 40px;
498
+ border: 1px solid #e4e4e7;
499
+ }
500
+ .avatar.size-s.badge-option {
501
+ width: 18px;
502
+ height: 18px;
503
+ }
504
+ .base-badge {
505
+ position: relative;
506
+ display: flex;
507
+ align-items: center;
508
+ gap: 4px;
509
+ border-radius: 40px;
510
+
511
+ background-color: attr(data-backgroundColor color, transparent);
512
+ color: attr(data-textColor color, transparent);
513
+ border: attr(data-borderColor color, transparent);
514
+ }
515
+ .base-badge.size-l {
516
+ height: 48px;
517
+
518
+ font-size: var(--font-size-sm);
519
+ line-height: var(--line-height-sm);
520
+ font-weight: var(--font-weight-semibold);
521
+ }
522
+ .base-badge.size-m {
523
+ height: 40px;
524
+
525
+ font-size: var(--font-size-sm);
526
+ line-height: var(--line-height-sm);
527
+ font-weight: var(--font-weight-semibold);
528
+ }
529
+ .base-badge.size-r {
530
+ height: 36px;
531
+
532
+ font-size: var(--font-size-sm);
533
+ line-height: var(--line-height-sm);
534
+ font-weight: var(--font-weight-semibold);
535
+ }
536
+ .base-badge.size-s {
537
+ height: 32px;
538
+
539
+ font-size: var(--font-size-sm);
540
+ line-height: var(--line-height-sm);
541
+ font-weight: var(--font-weight-bold);
542
+ }
543
+ .base-badge.size-sm {
544
+ height: 28px;
545
+
546
+ font-size: var(--font-size-xsm);
547
+ line-height: var(--line-height-xsm);
548
+ font-weight: var(--font-weight-bold);
549
+ }
550
+ .base-badge.icon-text-option {
551
+ display: flex;
552
+ align-items: center;
553
+ justify-content: space-between;
554
+
555
+ padding: 0 20px;
556
+ }
557
+ /***************************************************************************************************
558
+ * *
559
+ * option-badge *
560
+ * *
561
+ ***************************************************************************************************/
562
+ .option {
563
+ display: flex;
564
+ align-items: center;
565
+ justify-content: center;
566
+
567
+ border-width: 1px;
568
+ border-style: solid;
569
+ }
570
+ /***************************************************************************************************
571
+ * *
572
+ * option-badge *
573
+ * *
574
+ ***************************************************************************************************/
575
+ .icon-text {
576
+ display: flex;
577
+ align-items: center;
578
+ justify-content: center;
579
+ gap: 4px;
580
+
581
+ border-width: 1px;
582
+ border-style: solid;
583
+ }
584
+ /***************************************************************************************************
585
+ * *
586
+ * icon-text-option-badge *
587
+ * *
588
+ ***************************************************************************************************/
589
+ .icon-text-option {
590
+ display: flex;
591
+ align-items: center;
592
+ justify-content: space-between;
593
+
594
+ padding: 0 20px;
595
+ }
596
+ .icon-text-option > span {
597
+ display: flex;
598
+ align-items: center;
599
+ gap: 4px;
600
+ }
601
+ .base-button {
602
+ display: flex;
603
+ justify-content: center;
604
+ align-items: center;
605
+ gap: 10px;
606
+ border-radius: 6px;
607
+ border: none;
608
+ cursor: pointer;
609
+ }
610
+ .base-button:focus-visible {
611
+ outline: none;
612
+ box-shadow: none;
613
+ }
614
+ /***************************************************************************************************
615
+ * *
616
+ * cta-button *
617
+ * *
618
+ ***************************************************************************************************/
619
+ .cta-button {
620
+ border-radius: 6px;
621
+ }
622
+ .cta-button.variant-primary {
623
+ background-color: var(--color-purple-900);
624
+ border: 1px solid var(--color-purple-900);
625
+ color: var(--color-white);
626
+ }
627
+ .cta-button.variant-primary:not(:disabled):hover {
628
+ background-color: var(--color-purple-900);
629
+ border-color: var(--color-purple-900);
630
+ color: var(--color-white);
631
+ }
632
+ .cta-button.variant-secondary {
633
+ background-color: var(--color-purple-50);
634
+ color: var(--color-purple-900);
635
+ }
636
+ .cta-button.variant-secondary:not(:disabled):hover {
637
+ background-color: var(--color-purple-100);
638
+ border-color: var(--color-purple-100);
639
+ color: var(--color-purple-900);
640
+ }
641
+ .cta-button.variant-ghost {
642
+ background-color: var(--color-white);
643
+ border: 1px solid var(--color-grey-scale-300);
644
+ color: var(--color-purple-900);
645
+ }
646
+ .cta-button.variant-ghost:not(:disabled):hover {
647
+ background-color: var(--color-white);
648
+ border-color: var(--color-purple-900);
649
+ color: var(--color-purple-900);
650
+ }
651
+ .cta-button.variant-neutral {
652
+ background-color: var(--color-white);
653
+ color: var(--color-purple-900);
654
+ }
655
+ .cta-button.variant-neutral:not(:disabled):hover {
656
+ background-color: var(--color-grey-scale-100);
657
+ border: 1px solid var(--color-grey-scale-100);
658
+ color: var(--color-purple-900);
659
+ }
660
+ .cta-button.variant-confirm {
661
+ background-color: var(--color-accent-red-500);
662
+ border: 1px solid var(--color-accent-red-500);
663
+ color: var(--color-white);
664
+ }
665
+ .cta-button.variant-confirm:not(:disabled):hover {
666
+ background-color: var(--color-accent-red-700);
667
+ border-color: var(--color-accent-red-700);
668
+ color: var(--color-white);
669
+ }
670
+ .cta-button.variant-outlined {
671
+ background-color: var(--color-white);
672
+ border: 1px solid var(--color-accent-red-700);
673
+ color: var(--color-accent-red-700);
674
+ }
675
+ .cta-button.size-xl {
676
+ height: 60px;
677
+
678
+ font-size: var(--font-size-lg);
679
+ line-height: var(--line-height-lg);
680
+ font-weight: var(--font-weight-bold);
681
+ }
682
+ .cta-button.size-l {
683
+ height: 54px;
684
+
685
+ font-size: var(--font-size-base);
686
+ line-height: var(--line-height-base);
687
+ font-weight: var(--font-weight-bold);
688
+ }
689
+ .cta-button.size-r {
690
+ height: 48px;
691
+
692
+ font-size: var(--font-size-sm);
693
+ line-height: var(--line-height-sm);
694
+ font-weight: var(--font-weight-semibold);
695
+ }
696
+ .cta-button.size-m {
697
+ height: 50px;
698
+
699
+ font-size: var(--font-size-sm);
700
+ line-height: var(--line-height-sm);
701
+ font-weight: var(--font-weight-semibold);
702
+ }
703
+ .cta-button.size-s {
704
+ height: 40px;
705
+
706
+ font-size: var(--font-size-xsm);
707
+ line-height: var(--line-height-xsm);
708
+ font-weight: var(--font-weight-semibold);
709
+ }
710
+ .cta-button.size-xs {
711
+ height: 30px;
712
+
713
+ font-size: var(--font-size-xsm);
714
+ line-height: var(--line-height-xsm);
715
+ font-weight: var(--font-weight-semibold);
716
+ }
717
+ .cta-button:disabled {
718
+ background-color: var(--color-grey-scale-200);
719
+ color: var(--color-white);
720
+ cursor: not-allowed;
721
+ border: none;
722
+ }
723
+ .base-check-box.label {
724
+ font-size: var(--font-size-sm);
725
+ font-weight: var(--font-weight-medium);
726
+ color: var(--color-black);
727
+ }
728
+ /***************************************************************************************************
729
+ * *
730
+ * check-box *
731
+ * *
732
+ ***************************************************************************************************/
733
+ .check-box {
734
+ display: flex;
735
+ align-items: center;
736
+ gap: 10px;
737
+
738
+ background-color: transparent;
739
+ border: none;
740
+ }
741
+ .check-box-indicator.wrapper {
742
+ display: flex;
743
+ align-items: center;
744
+ justify-content: center;
745
+ border-radius: 4px;
746
+ border: 1.5px solid var(--color-purple-900);
747
+ }
748
+ .check-box-indicator {
749
+
750
+ width: 100%;
751
+ height: 100%;
752
+ }
753
+ .check-box-indicator.size-l {
754
+ width: 24px;
755
+ height: 24px;
756
+ }
757
+ .check-box-indicator.size-m {
758
+ width: 20px;
759
+ height: 20px;
760
+ }
761
+ .check-box-indicator.size-s {
762
+ width: 18px;
763
+ height: 18px;
764
+ }
765
+ .check-box-indicator[data-state='unchecked'] {
766
+ background-color: #fff;
767
+ }
768
+ .check-box-indicator[data-state='checked'] {
769
+ background-color: var(--color-purple-900);
770
+ }
771
+ .check-box-indicator[data-disabled='true'] {
772
+ border: none;
773
+ border-radius: 4px;
774
+ background-color: var(--color-grey-scale-300);
775
+ }
776
+ .base-collapsible-menu.trigger {
777
+ display: flex;
778
+ align-items: center;
779
+ justify-content: space-between;
780
+ gap: 10px;
781
+ width: 100%;
782
+ }
783
+ /***************************************************************************************************
784
+ * *
785
+ * collapsible-menu *
786
+ * *
787
+ ***************************************************************************************************/
788
+ .collapsible-menu {
789
+ display: flex;
790
+ flex-direction: column;
791
+ gap: 4px;
792
+ }
793
+ .collapsible-menu.size-m .collapsible-menu-row {
794
+ height: 40px;
795
+ }
796
+ .collapsible-menu.size-l .collapsible-menu-row {
797
+ height: 48px;
798
+ }
799
+ .collapsible-menu-row {
800
+ all: unset;
801
+ box-sizing: border-box;
802
+ display: flex;
803
+ align-items: center;
804
+ justify-content: space-between;
805
+ gap: 10px;
806
+
807
+ width: 100%;
808
+ padding: 0 12px;
809
+ border-radius: 8px;
810
+ cursor: pointer;
811
+
812
+ font-size: var(--font-size-sm);
813
+ line-height: var(--line-height-sm);
814
+ font-weight: var(--font-weight-medium);
815
+ color: var(--collapsible-menu-text-color, var(--color-grey-scale-700));
816
+ }
817
+ .collapsible-menu-row:hover {
818
+ background-color: var(--collapsible-menu-hover-bg-color, var(--color-grey-scale-100));
819
+ }
820
+ .collapsible-menu-row.is-active {
821
+ background-color: var(--collapsible-menu-active-bg-color, var(--color-grey-scale-100));
822
+ color: var(--collapsible-menu-active-text-color, var(--color-purple-800));
823
+ font-weight: var(--collapsible-menu-active-font-weight, 600);
824
+ }
825
+ .collapsible-menu-row:disabled,.collapsible-menu-row[aria-disabled='true'] {
826
+ cursor: not-allowed;
827
+ color: var(--collapsible-menu-disabled-text-color, var(--color-grey-scale-400));
828
+ }
829
+ .collapsible-menu-left {
830
+ display: inline-flex;
831
+ align-items: center;
832
+ gap: 10px;
833
+ min-width: 0;
834
+ }
835
+ .collapsible-menu-left > * {
836
+ min-width: 0;
837
+ }
838
+ .collapsible-menu-chevron {
839
+ width: 18px;
840
+ height: 18px;
841
+ color: var(--color-grey-scale-500);
842
+ transition: transform 160ms ease;
843
+ }
844
+ .base-collapsible-menu.trigger[data-state='open'] .collapsible-menu-chevron {
845
+ transform: rotate(180deg);
846
+ }
847
+ .collapsible-menu-content {
848
+ display: flex;
849
+ flex-direction: column;
850
+ gap: 2px;
851
+ margin-top: 2px;
852
+ margin-bottom: 4px;
853
+ }
854
+ .base-drop-down.trigger {
855
+ display: flex;
856
+ align-items: center;
857
+ justify-content: space-between;
858
+ gap: 10px;
859
+ }
860
+ /***************************************************************************************************
861
+ * *
862
+ * drop-down-single *
863
+ * *
864
+ ***************************************************************************************************/
865
+ .drop-down-single-trigger.size-m {
866
+ height: 40px;
867
+ }
868
+ .drop-down-single-trigger.size-l {
869
+ height: 50px;
870
+ }
871
+ .drop-down-single-trigger {
872
+
873
+ border: 1px solid var(--color-grey-scale-300);
874
+ border-radius: 4px;
875
+ width: -moz-fit-content;
876
+ width: fit-content;
877
+ padding: 0 14px;
878
+ background-color: var(--color-white);
879
+ }
880
+ .drop-down-single-trigger:focus {
881
+ border-color: var(--color-purple-900);
882
+ }
883
+ .drop-down-single-trigger[data-placeholder] .drop-down-single-icon {
884
+ color: var(--color-grey-scale-400);
885
+ }
886
+ .drop-down-single-trigger[data-placeholder] svg {
887
+ color: var(--color-grey-scale-400);
888
+ }
889
+ .drop-down-single-trigger:not([data-placeholder]) .drop-down-single-icon {
890
+ color: var(--color-black);
891
+ }
892
+ .drop-down-single-trigger:not([data-placeholder]) svg {
893
+ color: var(--color-black);
894
+ }
895
+ .drop-down-single-trigger[data-state='open'] .rotate {
896
+ transform: rotate(180deg);
897
+ transform-origin: 50% 50%;
898
+ transition: transform 160ms ease;
899
+ will-change: transform;
900
+ }
901
+ .drop-down-single-value {
902
+ font-size: var(--font-size-sm);
903
+ line-height: var(--line-height-sm);
904
+ font-weight: var(--font-weight-medium);
905
+
906
+ text-align: left;
907
+ }
908
+ .drop-down-single-value ::-moz-placeholder {
909
+ color: var(--color-grey-scale-400);
910
+ }
911
+ .drop-down-single-value ::placeholder {
912
+ color: var(--color-grey-scale-400);
913
+ }
914
+ .drop-down-single-content {
915
+ z-index: 5;
916
+ min-width: var(--radix-select-trigger-width);
917
+ overflow: hidden;
918
+ box-shadow:
919
+ 0px 4px 6px -2px rgba(0, 0, 0, 0.06),
920
+ 0px 10px 15px -3px rgba(0, 0, 0, 0.1);
921
+ border-radius: 6px;
922
+ }
923
+ .drop-down-single-item {
924
+ padding: 14px;
925
+ background-color: var(--color-white);
926
+ outline: none;
927
+ height: 46px;
928
+
929
+ font-size: var(--font-size-sm);
930
+ line-height: var(--line-height-sm);
931
+ font-weight: var(--font-weight-medium);
932
+
933
+ cursor: pointer;
934
+ }
935
+ .drop-down-single-item[data-highlighted] {
936
+ background-color: var(--color-purple-50);
937
+ outline: none;
938
+ }
939
+ .drop-down-single-item:disabled {
940
+ background-color: var(--color-grey-scale-100);
941
+ color: var(--color-grey-scale-400);
942
+ cursor: not-allowed;
943
+ }
944
+ .base-text:where(.xsm) {
945
+ font-size: var(--font-size-xsm);
946
+ line-height: var(--line-height-xsm);
947
+ }
948
+ .base-text:where(.sm) {
949
+ font-size: var(--font-size-sm);
950
+ line-height: var(--line-height-sm);
951
+ }
952
+ .base-text:where(.base) {
953
+ font-size: var(--font-size-base);
954
+ line-height: var(--line-height-base);
955
+ }
956
+ .base-text:where(.lg) {
957
+ font-size: var(--font-size-lg);
958
+ line-height: var(--line-height-lg);
959
+ }
960
+ .base-text:where(.xl) {
961
+ font-size: var(--font-size-xl);
962
+ line-height: var(--line-height-xl);
963
+ }
964
+ .base-text:where(.t-2xl) {
965
+ font-size: var(--font-size-2xl);
966
+ line-height: var(--line-height-2xl);
967
+ }
968
+ .base-text:where(.t-3xl) {
969
+ font-size: var(--font-size-3xl);
970
+ line-height: var(--line-height-3xl);
971
+ }
972
+ .base-text:where(.t-4xl) {
973
+ font-size: var(--font-size-4xl);
974
+ line-height: var(--line-height-4xl);
975
+ }
976
+ .base-text:where(.t-5xl) {
977
+ font-size: var(--font-size-5xl);
978
+ line-height: var(--line-height-5xl);
979
+ }
980
+ .base-text:where(.t-6xl) {
981
+ font-size: var(--font-size-6xl);
982
+ line-height: var(--line-height-6xl);
983
+ }
984
+ .base-text:where(.regular) {
985
+ font-weight: var(--font-weight-regular);
986
+ }
987
+ .base-text:where(.medium) {
988
+ font-weight: var(--font-weight-medium);
989
+ }
990
+ .base-text:where(.semibold) {
991
+ font-weight: var(--font-weight-semibold);
992
+ }
993
+ .base-text:where(.bold) {
994
+ font-weight: var(--font-weight-bold);
995
+ }
996
+ .base-text:where(.extrabold) {
997
+ font-weight: var(--font-weight-extrabold);
998
+ }
999
+ .base-text.textAlign-left[class*='textAlign-'] {
1000
+ text-align: left;
1001
+ }
1002
+ .base-text.textAlign-center[class*='textAlign-'] {
1003
+ text-align: center;
1004
+ }
1005
+ .base-text.textDecoration-underline[class*='textDecoration-'] {
1006
+ text-decoration: underline;
1007
+ }
1008
+ .base-text.textDecoration-none[class*='textDecoration-'] {
1009
+ text-decoration: none;
1010
+ }
1011
+ .base-text.textDecoration-lineThrough[class*='textDecoration-'] {
1012
+ text-decoration: line-through;
1013
+ }
1014
+ .base-text.textDecoration-overline[class*='textDecoration-'] {
1015
+ text-decoration: overline;
1016
+ }
1017
+ .base-text.textDecoration-blink[class*='textDecoration-'] {
1018
+ text-decoration: blink;
1019
+ }
1020
+ .base-text.wordBreak-normal[class*='wordBreak-'] {
1021
+ word-break: normal;
1022
+ }
1023
+ .base-text.wordBreak-breakAll[class*='wordBreak-'] {
1024
+ word-break: break-all;
1025
+ }
1026
+ .base-text.wordBreak-breakWord[class*='wordBreak-'] {
1027
+ word-break: break-word;
1028
+ }
1029
+ .base-text.wordBreak-keepAll[class*='wordBreak-'] {
1030
+ word-break: keep-all;
1031
+ }
1032
+ .base-text.wordBreak-keepWord[class*='wordBreak-'] {
1033
+ word-break: keep-word;
1034
+ }
1035
+ .base-text.wordBreak-breakSpaces[class*='wordBreak-'] {
1036
+ word-break: break-spaces;
1037
+ }
1038
+ .base-text.wordBreak-all[class*='wordBreak-'] {
1039
+ word-break: all;
1040
+ }
1041
+ .base-text.whiteSpace-normal[class*='whiteSpace-'] {
1042
+ white-space: normal;
1043
+ }
1044
+ .base-text.whiteSpace-nowrap[class*='whiteSpace-'] {
1045
+ white-space: nowrap;
1046
+ }
1047
+ .base-text.whiteSpace-pre[class*='whiteSpace-'] {
1048
+ white-space: pre;
1049
+ }
1050
+ .base-text.whiteSpace-preLine[class*='whiteSpace-'] {
1051
+ white-space: pre-line;
1052
+ }
1053
+ .base-text.whiteSpace-preWrap[class*='whiteSpace-'] {
1054
+ white-space: pre-wrap;
1055
+ }
1056
+ .base-text.color-black[class*='color-'] {
1057
+ color: var(--color-black);
1058
+ }
1059
+ .base-text.color-white[class*='color-'] {
1060
+ color: var(--color-white);
1061
+ }
1062
+ .base-text.color-grey-scale-50[class*='color-'] {
1063
+ color: var(--color-grey-scale-50);
1064
+ }
1065
+ .base-text.color-grey-scale-100[class*='color-'] {
1066
+ color: var(--color-grey-scale-100);
1067
+ }
1068
+ .base-text.color-grey-scale-200[class*='color-'] {
1069
+ color: var(--color-grey-scale-200);
1070
+ }
1071
+ .base-text.color-grey-scale-300[class*='color-'] {
1072
+ color: var(--color-grey-scale-300);
1073
+ }
1074
+ .base-text.color-grey-scale-400[class*='color-'] {
1075
+ color: var(--color-grey-scale-400);
1076
+ }
1077
+ .base-text.color-grey-scale-500[class*='color-'] {
1078
+ color: var(--color-grey-scale-500);
1079
+ }
1080
+ .base-text.color-grey-scale-600[class*='color-'] {
1081
+ color: var(--color-grey-scale-600);
1082
+ }
1083
+ .base-text.color-grey-scale-700[class*='color-'] {
1084
+ color: var(--color-grey-scale-700);
1085
+ }
1086
+ .base-text.color-grey-scale-800[class*='color-'] {
1087
+ color: var(--color-grey-scale-800);
1088
+ }
1089
+ .base-text.color-grey-scale-900[class*='color-'] {
1090
+ color: var(--color-grey-scale-900);
1091
+ }
1092
+ .base-text.color-purple-50[class*='color-'] {
1093
+ color: var(--color-purple-50);
1094
+ }
1095
+ .base-text.color-purple-100[class*='color-'] {
1096
+ color: var(--color-purple-100);
1097
+ }
1098
+ .base-text.color-purple-200[class*='color-'] {
1099
+ color: var(--color-purple-200);
1100
+ }
1101
+ .base-text.color-purple-300[class*='color-'] {
1102
+ color: var(--color-purple-300);
1103
+ }
1104
+ .base-text.color-purple-400[class*='color-'] {
1105
+ color: var(--color-purple-400);
1106
+ }
1107
+ .base-text.color-purple-500[class*='color-'] {
1108
+ color: var(--color-purple-500);
1109
+ }
1110
+ .base-text.color-purple-600[class*='color-'] {
1111
+ color: var(--color-purple-600);
1112
+ }
1113
+ .base-text.color-purple-700[class*='color-'] {
1114
+ color: var(--color-purple-700);
1115
+ }
1116
+ .base-text.color-purple-800[class*='color-'] {
1117
+ color: var(--color-purple-800);
1118
+ }
1119
+ .base-text.color-purple-900[class*='color-'] {
1120
+ color: var(--color-purple-900);
1121
+ }
1122
+ .base-text.color-accent-red-50[class*='color-'] {
1123
+ color: var(--color-accent-red-50);
1124
+ }
1125
+ .base-text.color-accent-red-100[class*='color-'] {
1126
+ color: var(--color-accent-red-100);
1127
+ }
1128
+ .base-text.color-accent-red-200[class*='color-'] {
1129
+ color: var(--color-accent-red-200);
1130
+ }
1131
+ .base-text.color-accent-red-300[class*='color-'] {
1132
+ color: var(--color-accent-red-300);
1133
+ }
1134
+ .base-text.color-accent-red-400[class*='color-'] {
1135
+ color: var(--color-accent-red-400);
1136
+ }
1137
+ .base-text.color-accent-red-500[class*='color-'] {
1138
+ color: var(--color-accent-red-500);
1139
+ }
1140
+ .base-text.color-accent-red-600[class*='color-'] {
1141
+ color: var(--color-accent-red-600);
1142
+ }
1143
+ .base-text.color-accent-red-700[class*='color-'] {
1144
+ color: var(--color-accent-red-700);
1145
+ }
1146
+ .base-text.color-accent-red-800[class*='color-'] {
1147
+ color: var(--color-accent-red-800);
1148
+ }
1149
+ .base-text.color-accent-red-900[class*='color-'] {
1150
+ color: var(--color-accent-red-900);
1151
+ }
1152
+ .base-text.color-accent-pink-50[class*='color-'] {
1153
+ color: var(--color-accent-pink-50);
1154
+ }
1155
+ .base-text.color-accent-pink-100[class*='color-'] {
1156
+ color: var(--color-accent-pink-100);
1157
+ }
1158
+ .base-text.color-accent-pink-200[class*='color-'] {
1159
+ color: var(--color-accent-pink-200);
1160
+ }
1161
+ .base-text.color-accent-pink-300[class*='color-'] {
1162
+ color: var(--color-accent-pink-300);
1163
+ }
1164
+ .base-text.color-accent-pink-400[class*='color-'] {
1165
+ color: var(--color-accent-pink-400);
1166
+ }
1167
+ .base-text.color-accent-pink-500[class*='color-'] {
1168
+ color: var(--color-accent-pink-500);
1169
+ }
1170
+ .base-text.color-accent-pink-600[class*='color-'] {
1171
+ color: var(--color-accent-pink-600);
1172
+ }
1173
+ .base-text.color-accent-pink-700[class*='color-'] {
1174
+ color: var(--color-accent-pink-700);
1175
+ }
1176
+ .base-text.color-accent-pink-800[class*='color-'] {
1177
+ color: var(--color-accent-pink-800);
1178
+ }
1179
+ .base-text.color-accent-pink-900[class*='color-'] {
1180
+ color: var(--color-accent-pink-900);
1181
+ }
1182
+ .base-text.color-accent-magenta-50[class*='color-'] {
1183
+ color: var(--color-accent-magenta-50);
1184
+ }
1185
+ .base-text.color-accent-magenta-100[class*='color-'] {
1186
+ color: var(--color-accent-magenta-100);
1187
+ }
1188
+ .base-text.color-accent-magenta-200[class*='color-'] {
1189
+ color: var(--color-accent-magenta-200);
1190
+ }
1191
+ .base-text.color-accent-magenta-300[class*='color-'] {
1192
+ color: var(--color-accent-magenta-300);
1193
+ }
1194
+ .base-text.color-accent-magenta-400[class*='color-'] {
1195
+ color: var(--color-accent-magenta-400);
1196
+ }
1197
+ .base-text.color-accent-magenta-500[class*='color-'] {
1198
+ color: var(--color-accent-magenta-500);
1199
+ }
1200
+ .base-text.color-accent-magenta-600[class*='color-'] {
1201
+ color: var(--color-accent-magenta-600);
1202
+ }
1203
+ .base-text.color-accent-magenta-700[class*='color-'] {
1204
+ color: var(--color-accent-magenta-700);
1205
+ }
1206
+ .base-text.color-accent-magenta-800[class*='color-'] {
1207
+ color: var(--color-accent-magenta-800);
1208
+ }
1209
+ .base-text.color-accent-magenta-900[class*='color-'] {
1210
+ color: var(--color-accent-magenta-900);
1211
+ }
1212
+ .base-text.color-accent-blue-50[class*='color-'] {
1213
+ color: var(--color-accent-blue-50);
1214
+ }
1215
+ .base-text.color-accent-blue-100[class*='color-'] {
1216
+ color: var(--color-accent-blue-100);
1217
+ }
1218
+ .base-text.color-accent-blue-200[class*='color-'] {
1219
+ color: var(--color-accent-blue-200);
1220
+ }
1221
+ .base-text.color-accent-blue-300[class*='color-'] {
1222
+ color: var(--color-accent-blue-300);
1223
+ }
1224
+ .base-text.color-accent-blue-400[class*='color-'] {
1225
+ color: var(--color-accent-blue-400);
1226
+ }
1227
+ .base-text.color-accent-blue-500[class*='color-'] {
1228
+ color: var(--color-accent-blue-500);
1229
+ }
1230
+ .base-text.color-accent-blue-600[class*='color-'] {
1231
+ color: var(--color-accent-blue-600);
1232
+ }
1233
+ .base-text.color-accent-blue-700[class*='color-'] {
1234
+ color: var(--color-accent-blue-700);
1235
+ }
1236
+ .base-text.color-accent-blue-800[class*='color-'] {
1237
+ color: var(--color-accent-blue-800);
1238
+ }
1239
+ .base-text.color-accent-blue-900[class*='color-'] {
1240
+ color: var(--color-accent-blue-900);
1241
+ }
1242
+ .base-text.color-accent-mint-50[class*='color-'] {
1243
+ color: var(--color-accent-mint-50);
1244
+ }
1245
+ .base-text.color-accent-mint-100[class*='color-'] {
1246
+ color: var(--color-accent-mint-100);
1247
+ }
1248
+ .base-text.color-accent-mint-200[class*='color-'] {
1249
+ color: var(--color-accent-mint-200);
1250
+ }
1251
+ .base-text.color-accent-mint-300[class*='color-'] {
1252
+ color: var(--color-accent-mint-300);
1253
+ }
1254
+ .base-text.color-accent-mint-400[class*='color-'] {
1255
+ color: var(--color-accent-mint-400);
1256
+ }
1257
+ .base-text.color-accent-mint-500[class*='color-'] {
1258
+ color: var(--color-accent-mint-500);
1259
+ }
1260
+ .base-text.color-accent-mint-600[class*='color-'] {
1261
+ color: var(--color-accent-mint-600);
1262
+ }
1263
+ .base-text.color-accent-mint-700[class*='color-'] {
1264
+ color: var(--color-accent-mint-700);
1265
+ }
1266
+ .base-text.color-accent-mint-800[class*='color-'] {
1267
+ color: var(--color-accent-mint-800);
1268
+ }
1269
+ .base-text.color-accent-mint-900[class*='color-'] {
1270
+ color: var(--color-accent-mint-900);
1271
+ }
1272
+ .base-text.color-accent-green-50[class*='color-'] {
1273
+ color: var(--color-accent-green-50);
1274
+ }
1275
+ .base-text.color-accent-green-100[class*='color-'] {
1276
+ color: var(--color-accent-green-100);
1277
+ }
1278
+ .base-text.color-accent-green-200[class*='color-'] {
1279
+ color: var(--color-accent-green-200);
1280
+ }
1281
+ .base-text.color-accent-green-300[class*='color-'] {
1282
+ color: var(--color-accent-green-300);
1283
+ }
1284
+ .base-text.color-accent-green-400[class*='color-'] {
1285
+ color: var(--color-accent-green-400);
1286
+ }
1287
+ .base-text.color-accent-green-500[class*='color-'] {
1288
+ color: var(--color-accent-green-500);
1289
+ }
1290
+ .base-text.color-accent-green-600[class*='color-'] {
1291
+ color: var(--color-accent-green-600);
1292
+ }
1293
+ .base-text.color-accent-green-700[class*='color-'] {
1294
+ color: var(--color-accent-green-700);
1295
+ }
1296
+ .base-text.color-accent-green-800[class*='color-'] {
1297
+ color: var(--color-accent-green-800);
1298
+ }
1299
+ .base-text.color-accent-green-900[class*='color-'] {
1300
+ color: var(--color-accent-green-900);
1301
+ }
1302
+ .base-text.color-accent-yellow-50[class*='color-'] {
1303
+ color: var(--color-accent-yellow-50);
1304
+ }
1305
+ .base-text.color-accent-yellow-100[class*='color-'] {
1306
+ color: var(--color-accent-yellow-100);
1307
+ }
1308
+ .base-text.color-accent-yellow-200[class*='color-'] {
1309
+ color: var(--color-accent-yellow-200);
1310
+ }
1311
+ .base-text.color-accent-yellow-300[class*='color-'] {
1312
+ color: var(--color-accent-yellow-300);
1313
+ }
1314
+ .base-text.color-accent-yellow-400[class*='color-'] {
1315
+ color: var(--color-accent-yellow-400);
1316
+ }
1317
+ .base-text.color-accent-yellow-500[class*='color-'] {
1318
+ color: var(--color-accent-yellow-500);
1319
+ }
1320
+ .base-text.color-accent-yellow-600[class*='color-'] {
1321
+ color: var(--color-accent-yellow-600);
1322
+ }
1323
+ .base-text.color-accent-yellow-700[class*='color-'] {
1324
+ color: var(--color-accent-yellow-700);
1325
+ }
1326
+ .base-text.color-accent-yellow-800[class*='color-'] {
1327
+ color: var(--color-accent-yellow-800);
1328
+ }
1329
+ .base-text.color-accent-yellow-900[class*='color-'] {
1330
+ color: var(--color-accent-yellow-900);
1331
+ }
1332
+ .base-text.color-accent-orange-50[class*='color-'] {
1333
+ color: var(--color-accent-orange-50);
1334
+ }
1335
+ .base-text.color-accent-orange-100[class*='color-'] {
1336
+ color: var(--color-accent-orange-100);
1337
+ }
1338
+ .base-text.color-accent-orange-200[class*='color-'] {
1339
+ color: var(--color-accent-orange-200);
1340
+ }
1341
+ .base-text.color-accent-orange-300[class*='color-'] {
1342
+ color: var(--color-accent-orange-300);
1343
+ }
1344
+ .base-text.color-accent-orange-400[class*='color-'] {
1345
+ color: var(--color-accent-orange-400);
1346
+ }
1347
+ .base-text.color-accent-orange-500[class*='color-'] {
1348
+ color: var(--color-accent-orange-500);
1349
+ }
1350
+ .base-text.color-accent-orange-600[class*='color-'] {
1351
+ color: var(--color-accent-orange-600);
1352
+ }
1353
+ .base-text.color-accent-orange-700[class*='color-'] {
1354
+ color: var(--color-accent-orange-700);
1355
+ }
1356
+ .base-text.color-accent-orange-800[class*='color-'] {
1357
+ color: var(--color-accent-orange-800);
1358
+ }
1359
+ .base-text.color-accent-orange-900[class*='color-'] {
1360
+ color: var(--color-accent-orange-900);
1361
+ }
1362
+ .component-loading-inline {
1363
+ display: flex;
1364
+ width: 100%;
1365
+ height: 100%;
1366
+ align-items: center;
1367
+ }
1368
+ /* components/loading/overlay-loading/overlay-loading-style.css */
1369
+ .page-loading-container {
1370
+ position: fixed;
1371
+ inset: 0;
1372
+ display: flex;
1373
+ align-items: center;
1374
+ justify-content: center;
1375
+ }
1376
+ .page-loading-backdrop { position: absolute; inset: 0; }
1377
+ .page-loading-content {
1378
+ position: relative;
1379
+ display: flex;
1380
+ flex-direction: column;
1381
+ align-items: center;
1382
+ gap: 16px;
1383
+ }
1384
+ /* 기본 스피너(20px)를 확대 */
1385
+ .page-loading-indicator { transform: scale(3.2); transform-origin: center; }
1386
+ .page-loading-text { position: relative; }
1387
+ .component-loading-container {
1388
+ display: flex;
1389
+ width: 20px;
1390
+ height: 20px;
1391
+ align-items: center;
1392
+ justify-content: center;
1393
+ }
1394
+ .loading-indicator-ring {
1395
+ position: relative;
1396
+ width: 20px;
1397
+ height: 20px;
1398
+ }
1399
+ .loading-indicator-single-ring {
1400
+ box-sizing: border-box;
1401
+ display: block;
1402
+ position: absolute;
1403
+ width: 100%;
1404
+ height: 100%;
1405
+ border: 3px solid;
1406
+ border-radius: 50%;
1407
+ animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
1408
+ /* 기본값은 white, 상위에서 --spinner-border-color 주입 */
1409
+ border-color: var(--spinner-border-color, var(--color-white)) transparent transparent transparent;
1410
+ }
1411
+ /* nth-child 지연은 그대로 CSS or 인라인 중 하나만 사용한다면, 아래는 제거 가능 (지금은 인라인 사용 중) */
1412
+ /*
1413
+ .loading-indicator-single-ring:nth-child(1) { animation-delay: -0.45s; }
1414
+ .loading-indicator-single-ring:nth-child(2) { animation-delay: -0.3s; }
1415
+ .loading-indicator-single-ring:nth-child(3) { animation-delay: -0.15s; }
1416
+ .loading-indicator-single-ring:nth-child(4) { animation-delay: 0s; }
1417
+ */
1418
+ @keyframes lds-ring {
1419
+ 0% { transform: rotate(0deg); }
1420
+ 100% { transform: rotate(360deg); }
1421
+ }
1422
+ .base-modal {
1423
+ display: flex;
1424
+ flex-direction: column;
1425
+ align-items: center;
1426
+
1427
+ padding: 30px;
1428
+ border-radius: 6px;
1429
+ }
1430
+ .base-modal.modal-container {
1431
+ position: fixed;
1432
+ top: 50%;
1433
+ left: 50%;
1434
+ transform: translate(-50%, -50%);
1435
+ z-index: 9999;
1436
+ background-color: var(--color-white);
1437
+ }
1438
+ .base-modal.modal-overlay {
1439
+ position: fixed;
1440
+ top: 0;
1441
+ left: 0;
1442
+ right: 0;
1443
+ bottom: 0;
1444
+ background-color: rgba(0, 0, 0, 0.5);
1445
+ z-index: 9998;
1446
+ }
1447
+ /***************************************************************************************************
1448
+ * *
1449
+ * modal-with-double-button *
1450
+ * *
1451
+ ***************************************************************************************************/
1452
+ .modal-with-double-button-close-button {
1453
+ display: flex;
1454
+ justify-content: flex-start;
1455
+ align-items: center;
1456
+ width: 100%;
1457
+ }
1458
+ .modal-with-double-button-container.size-s {
1459
+ width: 400px;
1460
+ }
1461
+ .modal-with-double-button-container.size-m {
1462
+ width: 450px;
1463
+ }
1464
+ .modal-with-double-button-container.size-l {
1465
+ width: 500px;
1466
+ }
1467
+ .modal-with-double-button-title-icon {
1468
+ margin-bottom: 20px;
1469
+ }
1470
+ .modal-with-double-button-title {
1471
+ margin-bottom: 4px;
1472
+ }
1473
+ .modal-with-double-button-content {
1474
+ margin-top: 20px;
1475
+ }
1476
+ .modal-with-double-button-close {
1477
+ display: flex;
1478
+ justify-content: space-between;
1479
+ align-items: center;
1480
+ gap: 16px;
1481
+ width: 100%;
1482
+ margin-top: 30px;
1483
+ }
1484
+ .modal-with-double-button-close.row {
1485
+ display: flex;
1486
+ justify-content: center;
1487
+ align-items: center;
1488
+ gap: 16px;
1489
+ }
1490
+ .modal-with-double-button-close.row > * {
1491
+ flex: 1;
1492
+ }
1493
+ .modal-with-double-button-close.column {
1494
+ display: flex;
1495
+ flex-direction: column;
1496
+ justify-content: center;
1497
+ align-items: center;
1498
+ gap: 10px;
1499
+ }
1500
+ .modal-with-double-button-close.column > * {
1501
+ width: 100%;
1502
+ }
1503
+ .radio:where(.radio-group) {
1504
+ display: flex;
1505
+ flex-direction: column;
1506
+ gap: 16px;
1507
+ }
1508
+ .radio:where(.radio-button) {
1509
+ display: flex;
1510
+ align-items: center;
1511
+ justify-content: center;
1512
+ width: 18px;
1513
+ height: 18px;
1514
+ border-radius: 50%;
1515
+ background-color: var(--color-grey-scale-200);
1516
+ }
1517
+ .radio:where(.radio-indicator) {
1518
+ width: 8px;
1519
+ height: 8px;
1520
+ border-radius: 50%;
1521
+ background-color: var(--color-purple-900);
1522
+ }
1523
+ .radio:where(.radio-label) {
1524
+ font-size: var(--font-size-sm);
1525
+ font-weight: var(--font-weight-medium);
1526
+ color: var(--color-black);
1527
+ }
1528
+ .base-table {
1529
+ width: -moz-fit-content;
1530
+ width: fit-content;
1531
+ }
1532
+ .base-table .header {
1533
+ display: flex;
1534
+ align-items: center;
1535
+ width: 100%;
1536
+ }
1537
+ .base-table .body {
1538
+ width: 100%;
1539
+ }
1540
+ .base-table .row {
1541
+ display: flex;
1542
+ align-items: center;
1543
+ width: 100%;
1544
+ }
1545
+ .base-table .cell {
1546
+ text-align: start;
1547
+ display: flex;
1548
+ flex-direction: column;
1549
+ justify-content: center;
1550
+ }
1551
+ /***************************************************************************************************
1552
+ * *
1553
+ * data-table *
1554
+ * *
1555
+ ***************************************************************************************************/
1556
+ .data-table {
1557
+ position: relative;
1558
+ width: 100%;
1559
+ }
1560
+ .data-table-header {
1561
+ position: sticky;
1562
+ top: 0;
1563
+ background-color: #fff;
1564
+ z-index: 3;
1565
+ border-bottom: 1px solid #e4e4e7;
1566
+ }
1567
+ .data-table-row {
1568
+ position: relative;
1569
+ border-bottom: 1px solid var(--color-grey-scale-200);
1570
+ }
1571
+ .data-table-row .fixed {
1572
+ position: sticky;
1573
+ background-color: #fff;
1574
+ z-index: 2;
1575
+ }
1576
+ :is(.data-table-row .fixed) > * {
1577
+ position: relative;
1578
+ z-index: 1;
1579
+ }
1580
+ .body .data-table-row:hover {
1581
+ background-color: #f5f5f5;
1582
+ }
1583
+ :is(.body .data-table-row:hover) .fixed {
1584
+ background-color: #f5f5f5;
1585
+ }
1586
+ .fixed-cell {
1587
+ position: sticky;
1588
+ left: 0;
1589
+ }
1590
+ .base-text-field.input {
1591
+ border: none;
1592
+ outline: none;
1593
+ background-color: transparent;
1594
+
1595
+ font-size: var(--font-size-sm);
1596
+ line-height: var(--line-height-sm);
1597
+ font-weight: var(--font-weight-medium);
1598
+ }
1599
+ .base-text-field.input::-moz-placeholder {
1600
+ color: var(--color-grey-scale-400);
1601
+ }
1602
+ .base-text-field.input::placeholder {
1603
+ color: var(--color-grey-scale-400);
1604
+ }
1605
+ .base-text-field.input:-webkit-autofill,.base-text-field.input:-webkit-autofill:hover,.base-text-field.input:-webkit-autofill:focus,.base-text-field.input:-webkit-autofill:active {
1606
+ box-shadow: 0 0 0px 1000px transparent inset;
1607
+ -webkit-transition: background-color 5000s ease-in-out 0s;
1608
+ transition: background-color 5000s ease-in-out 0s;
1609
+ }
1610
+ /***************************************************************************************************
1611
+ * *
1612
+ * base-text-field *
1613
+ * *
1614
+ ***************************************************************************************************/
1615
+ .text-field-title {
1616
+ margin-bottom: 8px;
1617
+ }
1618
+ .text-field-input-wrapper {
1619
+ display: flex;
1620
+ align-items: center;
1621
+ justify-content: space-between;
1622
+ gap: 10px;
1623
+
1624
+ padding: 0 14px;
1625
+
1626
+ border-radius: 4px;
1627
+ border: 1px solid var(--color-grey-scale-300);
1628
+ }
1629
+ .text-field-input-wrapper.size-m {
1630
+ height: 40px;
1631
+ }
1632
+ .text-field-input-wrapper.size-l {
1633
+ height: 50px;
1634
+ }
1635
+ .text-field-input-wrapper:has([data-disabled='true']) {
1636
+ border-color: var(--color-grey-scale-300);
1637
+ background-color: var(--color-grey-scale-100);
1638
+ }
1639
+ .text-field-input-wrapper:focus-within {
1640
+ border: 1px solid var(--color-purple-900);
1641
+ }
1642
+ .text-field-input-wrapper > input {
1643
+ width: 100%;
1644
+ }
1645
+ .text-field-helper-text {
1646
+ margin-top: 4px;
1647
+ }
1648
+ .text-field-helper-text.error {
1649
+ color: var(--color-accent-red-500);
1650
+ }
1651
+ .base-tooltip {
1652
+ z-index: 3;
1653
+ }
1654
+ .base-tooltip.content {
1655
+ text-align: center;
1656
+ }
1657
+ /***************************************************************************************************
1658
+ * *
1659
+ * tooltip *
1660
+ * *
1661
+ ***************************************************************************************************/
1662
+ .tooltip-trigger {
1663
+ width: -moz-fit-content;
1664
+ width: fit-content;
1665
+ }
1666
+ .tooltip-content {
1667
+ display: flex;
1668
+ justify-content: space-around;
1669
+ align-items: center;
1670
+ gap: 10px;
1671
+
1672
+ background-color: var(--color-purple-900);
1673
+ color: var(--color-white);
1674
+ border-radius: 6px;
1675
+ padding: 12px;
1676
+
1677
+ font-size: var(--font-size-sm);
1678
+ line-height: var(--line-height-sm);
1679
+ font-weight: var(--font-weight-regular);
1680
+
1681
+ position: relative;
1682
+ }
1683
+ .tooltip-content::before {
1684
+ content: '';
1685
+ position: absolute;
1686
+ width: 0;
1687
+ height: 0;
1688
+ border-style: solid;
1689
+ }
1690
+ .tooltip-content.direction-top {
1691
+ transform: translateY(-10px);
1692
+ }
1693
+ .tooltip-content.direction-top::before {
1694
+ bottom: -8px;
1695
+ left: 50%;
1696
+ transform: translateX(-50%);
1697
+ border-width: 8px 8px 0 8px;
1698
+ border-color: var(--color-purple-900) transparent transparent transparent;
1699
+ }
1700
+ .tooltip-content.direction-bottom {
1701
+ transform: translateY(10px);
1702
+ }
1703
+ .tooltip-content.direction-bottom::before {
1704
+ top: -8px;
1705
+ left: 50%;
1706
+ transform: translateX(-50%);
1707
+ border-width: 0 8px 8px 8px;
1708
+ border-color: transparent transparent var(--color-purple-900) transparent;
1709
+ }
1710
+ .tooltip-content.direction-left {
1711
+ transform: translateX(-10px);
1712
+ }
1713
+ .tooltip-content.direction-left::before {
1714
+ right: -8px;
1715
+ top: 50%;
1716
+ transform: translateY(-50%);
1717
+ border-width: 8px 0 8px 8px;
1718
+ border-color: transparent transparent transparent var(--color-purple-900);
1719
+ }
1720
+ .tooltip-content.direction-right {
1721
+ transform: translateX(10px);
1722
+ }
1723
+ .tooltip-content.direction-right::before {
1724
+ left: -8px;
1725
+ top: 50%;
1726
+ transform: translateY(-50%);
1727
+ border-width: 8px 8px 8px 0;
1728
+ border-color: transparent var(--color-purple-900) transparent transparent;
1729
+ }