@altruist03/ui 0.0.0-stage → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.css ADDED
@@ -0,0 +1,514 @@
1
+ /* src/styles.css */
2
+ :root {
3
+ --al-color-primary: #0b6b4f;
4
+ --al-color-primary-hover: #095c44;
5
+ --al-color-on-primary: #ffffff;
6
+ --al-color-secondary: #1f2937;
7
+ --al-color-on-secondary: #ffffff;
8
+ --al-color-danger: #b42318;
9
+ --al-color-success: #067647;
10
+ --al-color-warning: #b54708;
11
+ --al-color-text: #1c2430;
12
+ --al-color-text-muted: #5c6778;
13
+ --al-color-surface: #ffffff;
14
+ --al-color-surface-muted: #f5f7fa;
15
+ --al-color-border: #d8dee8;
16
+ --al-color-focus: #0b6b4f;
17
+ --al-font-family:
18
+ "Segoe UI",
19
+ "Noto Sans",
20
+ sans-serif;
21
+ --al-font-size-xs: 12px;
22
+ --al-font-size-sm: 13px;
23
+ --al-font-size-md: 14px;
24
+ --al-font-size-lg: 16px;
25
+ --al-radius-sm: 6px;
26
+ --al-radius-md: 8px;
27
+ --al-radius-lg: 12px;
28
+ --al-space-sm: 8px;
29
+ --al-space-md: 12px;
30
+ --al-space-lg: 16px;
31
+ }
32
+ .al-btn {
33
+ display: inline-flex;
34
+ align-items: center;
35
+ justify-content: center;
36
+ gap: 8px;
37
+ box-sizing: border-box;
38
+ height: 36px;
39
+ padding: 0 14px;
40
+ border-radius: var(--al-radius-md);
41
+ border: 1px solid transparent;
42
+ background: var(--al-btn-bg, var(--al-color-primary));
43
+ color: var(--al-btn-fg, var(--al-color-on-primary));
44
+ font-family: var(--al-font-family);
45
+ font-size: var(--al-font-size-md);
46
+ font-weight: 600;
47
+ line-height: 1;
48
+ cursor: pointer;
49
+ transition:
50
+ background-color 0.15s ease,
51
+ border-color 0.15s ease,
52
+ color 0.15s ease;
53
+ }
54
+ .al-btn[data-size=sm] {
55
+ height: 30px;
56
+ padding: 0 10px;
57
+ font-size: var(--al-font-size-sm);
58
+ }
59
+ .al-btn[data-size=lg] {
60
+ height: 42px;
61
+ padding: 0 18px;
62
+ font-size: var(--al-font-size-lg);
63
+ }
64
+ .al-btn[data-full-width=true] {
65
+ width: 100%;
66
+ }
67
+ .al-btn[data-variant=outline],
68
+ .al-btn[data-variant=ghost] {
69
+ color: var(--al-btn-bg, var(--al-color-primary));
70
+ background: transparent;
71
+ }
72
+ .al-btn[data-variant=outline] {
73
+ border-color: var(--al-btn-bg, var(--al-color-primary));
74
+ }
75
+ .al-btn[data-variant=solid]:hover:not(:disabled) {
76
+ background: color-mix(in srgb, var(--al-btn-bg, var(--al-color-primary)) 86%, #000);
77
+ }
78
+ .al-btn[data-variant=outline]:hover:not(:disabled) {
79
+ background: color-mix(in srgb, var(--al-btn-bg, var(--al-color-primary)) 12%, transparent);
80
+ }
81
+ .al-btn[data-variant=ghost]:hover:not(:disabled) {
82
+ background: var(--al-color-surface-muted);
83
+ }
84
+ .al-btn:focus-visible,
85
+ .al-control:focus-visible,
86
+ .al-checkbox-input:focus-visible {
87
+ outline: 2px solid var(--al-color-focus);
88
+ outline-offset: 2px;
89
+ }
90
+ .al-btn:disabled {
91
+ opacity: 0.55;
92
+ cursor: not-allowed;
93
+ }
94
+ .al-spinner {
95
+ width: 1em;
96
+ height: 1em;
97
+ border: 2px solid currentColor;
98
+ border-right-color: transparent;
99
+ border-radius: 50%;
100
+ animation: al-spin 0.6s linear infinite;
101
+ }
102
+ @keyframes al-spin {
103
+ to {
104
+ transform: rotate(360deg);
105
+ }
106
+ }
107
+ @media (prefers-reduced-motion: reduce) {
108
+ .al-spinner {
109
+ animation: none;
110
+ }
111
+ }
112
+ .al-field,
113
+ .al-checkbox-field {
114
+ display: flex;
115
+ flex-direction: column;
116
+ gap: 6px;
117
+ min-width: 0;
118
+ font-family: var(--al-font-family);
119
+ color: var(--al-color-text);
120
+ }
121
+ .al-field-label,
122
+ .al-checkbox-label {
123
+ font-size: var(--al-font-size-sm);
124
+ font-weight: 600;
125
+ color: var(--al-color-text);
126
+ }
127
+ .al-field-required {
128
+ margin-left: 2px;
129
+ color: var(--al-color-danger);
130
+ }
131
+ .al-control-wrap {
132
+ position: relative;
133
+ display: flex;
134
+ align-items: center;
135
+ }
136
+ .al-control {
137
+ box-sizing: border-box;
138
+ width: 100%;
139
+ height: 36px;
140
+ padding: 0 12px;
141
+ border: 1px solid var(--al-control-border, var(--al-color-border));
142
+ border-radius: var(--al-radius-md);
143
+ background: var(--al-color-surface);
144
+ color: var(--al-color-text);
145
+ font-family: inherit;
146
+ font-size: var(--al-font-size-md);
147
+ }
148
+ .al-control[data-size=sm] {
149
+ height: 30px;
150
+ font-size: var(--al-font-size-sm);
151
+ }
152
+ .al-control[data-size=lg] {
153
+ height: 42px;
154
+ font-size: var(--al-font-size-lg);
155
+ }
156
+ .al-control::placeholder {
157
+ color: var(--al-color-text-muted);
158
+ }
159
+ .al-control:focus {
160
+ border-color: var(--al-control-accent, var(--al-color-focus));
161
+ }
162
+ .al-control[aria-invalid=true] {
163
+ border-color: var(--al-color-danger);
164
+ }
165
+ .al-control:disabled {
166
+ background: var(--al-color-surface-muted);
167
+ color: var(--al-color-text-muted);
168
+ cursor: not-allowed;
169
+ }
170
+ .has-left .al-control {
171
+ padding-left: 36px;
172
+ }
173
+ .has-right .al-control {
174
+ padding-right: 36px;
175
+ }
176
+ .al-control-icon {
177
+ position: absolute;
178
+ display: inline-flex;
179
+ color: var(--al-color-text-muted);
180
+ }
181
+ .al-control-icon.left {
182
+ left: 10px;
183
+ }
184
+ .al-control-icon.right {
185
+ right: 8px;
186
+ }
187
+ .al-textarea {
188
+ height: auto;
189
+ min-height: 96px;
190
+ padding: 10px 12px;
191
+ resize: vertical;
192
+ line-height: 1.45;
193
+ }
194
+ .al-select {
195
+ appearance: none;
196
+ padding-right: 32px;
197
+ background-image:
198
+ linear-gradient(
199
+ 45deg,
200
+ transparent 50%,
201
+ var(--al-color-text-muted) 50%),
202
+ linear-gradient(
203
+ 135deg,
204
+ var(--al-color-text-muted) 50%,
205
+ transparent 50%);
206
+ background-position: calc(100% - 16px) calc(50% - 2px), calc(100% - 11px) calc(50% - 2px);
207
+ background-size: 5px 5px, 5px 5px;
208
+ background-repeat: no-repeat;
209
+ }
210
+ .al-field-helper,
211
+ .al-field-error,
212
+ .al-checkbox-description {
213
+ margin: 0;
214
+ font-size: var(--al-font-size-xs);
215
+ line-height: 1.4;
216
+ }
217
+ .al-field-helper,
218
+ .al-checkbox-description {
219
+ color: var(--al-color-text-muted);
220
+ }
221
+ .al-field-error {
222
+ color: var(--al-color-danger);
223
+ }
224
+ .al-checkbox {
225
+ display: flex;
226
+ align-items: flex-start;
227
+ gap: 8px;
228
+ cursor: pointer;
229
+ }
230
+ .al-checkbox-input {
231
+ width: 16px;
232
+ height: 16px;
233
+ margin-top: 2px;
234
+ accent-color: var(--al-color-primary);
235
+ }
236
+ .al-checkbox-copy {
237
+ display: flex;
238
+ flex-direction: column;
239
+ gap: 2px;
240
+ }
241
+ .al-card {
242
+ box-sizing: border-box;
243
+ display: flex;
244
+ flex-direction: column;
245
+ gap: 14px;
246
+ background: var(--al-color-surface);
247
+ color: var(--al-color-text);
248
+ border: 1px solid var(--al-color-border);
249
+ border-radius: var(--al-radius-lg);
250
+ font-family: var(--al-font-family);
251
+ }
252
+ .al-card[data-padding=sm] {
253
+ padding: var(--al-space-sm);
254
+ }
255
+ .al-card[data-padding=md] {
256
+ padding: var(--al-space-lg);
257
+ }
258
+ .al-card[data-padding=lg] {
259
+ padding: 24px;
260
+ }
261
+ .al-card-header {
262
+ display: flex;
263
+ flex-direction: column;
264
+ gap: 4px;
265
+ }
266
+ .al-card-title {
267
+ margin: 0;
268
+ font-size: var(--al-font-size-lg);
269
+ line-height: 1.3;
270
+ }
271
+ .al-card-description {
272
+ margin: 0;
273
+ color: var(--al-color-text-muted);
274
+ font-size: var(--al-font-size-sm);
275
+ line-height: 1.45;
276
+ }
277
+ .al-card-footer {
278
+ display: flex;
279
+ justify-content: flex-end;
280
+ gap: 8px;
281
+ }
282
+ .al-badge {
283
+ display: inline-flex;
284
+ align-items: center;
285
+ gap: 4px;
286
+ height: 22px;
287
+ padding: 0 8px;
288
+ border-radius: 999px;
289
+ background: color-mix(in srgb, var(--al-badge-color, var(--al-color-primary)) 14%, var(--al-color-surface));
290
+ color: var(--al-badge-color, var(--al-color-primary));
291
+ font-family: var(--al-font-family);
292
+ font-size: var(--al-font-size-xs);
293
+ font-weight: 700;
294
+ line-height: 1;
295
+ white-space: nowrap;
296
+ }
297
+ .al-badge[data-variant=solid] {
298
+ background: var(--al-badge-color, var(--al-color-primary));
299
+ color: #fff;
300
+ }
301
+ .al-table-wrap {
302
+ width: 100%;
303
+ overflow-x: auto;
304
+ border: 1px solid var(--al-color-border);
305
+ border-radius: var(--al-radius-lg);
306
+ background: var(--al-color-surface);
307
+ }
308
+ .al-table {
309
+ width: 100%;
310
+ border-collapse: collapse;
311
+ font-family: var(--al-font-family);
312
+ font-size: var(--al-font-size-md);
313
+ color: var(--al-color-text);
314
+ }
315
+ .al-table th,
316
+ .al-table td {
317
+ padding: 10px 12px;
318
+ text-align: left;
319
+ border-bottom: 1px solid var(--al-color-border);
320
+ vertical-align: middle;
321
+ }
322
+ .al-table th {
323
+ background: var(--al-color-surface-muted);
324
+ color: var(--al-color-text-muted);
325
+ font-size: var(--al-font-size-xs);
326
+ font-weight: 700;
327
+ letter-spacing: 0.04em;
328
+ text-transform: uppercase;
329
+ }
330
+ .al-table tbody tr:last-child td {
331
+ border-bottom: 0;
332
+ }
333
+ .al-table[data-striped=true] tbody tr:nth-child(even) td {
334
+ background: color-mix(in srgb, var(--al-color-surface-muted) 70%, var(--al-color-surface));
335
+ }
336
+ .al-table tbody tr:hover td {
337
+ background: color-mix(in srgb, var(--al-color-primary) 8%, var(--al-color-surface));
338
+ }
339
+ .al-table[data-size=sm] th,
340
+ .al-table[data-size=sm] td {
341
+ padding: 6px 10px;
342
+ }
343
+ .al-table[data-size=lg] th,
344
+ .al-table[data-size=lg] td {
345
+ padding: 14px 16px;
346
+ }
347
+ .al-table-empty {
348
+ padding: 28px 12px;
349
+ color: var(--al-color-text-muted);
350
+ text-align: center;
351
+ }
352
+ .al-table-caption {
353
+ caption-side: bottom;
354
+ padding: 8px 12px 10px;
355
+ color: var(--al-color-text-muted);
356
+ font-size: var(--al-font-size-xs);
357
+ text-align: left;
358
+ }
359
+ .accordion {
360
+ border: 1px solid var(--al-color-border);
361
+ border-radius: var(--al-radius-lg);
362
+ background: var(--al-color-surface);
363
+ color: var(--al-color-text);
364
+ font-family: var(--al-font-family);
365
+ overflow: hidden;
366
+ }
367
+ .accordion-item + .accordion-item {
368
+ border-top: 1px solid var(--al-color-border);
369
+ }
370
+ .accordion-trigger {
371
+ display: flex;
372
+ align-items: center;
373
+ justify-content: space-between;
374
+ gap: 12px;
375
+ width: 100%;
376
+ padding: 12px 14px;
377
+ border: 0;
378
+ background: transparent;
379
+ color: inherit;
380
+ font: inherit;
381
+ font-weight: 600;
382
+ text-align: left;
383
+ cursor: pointer;
384
+ }
385
+ .accordion-trigger:hover {
386
+ background: var(--al-color-surface-muted);
387
+ }
388
+ .accordion-trigger:focus-visible {
389
+ outline: 2px solid var(--al-color-focus);
390
+ outline-offset: -2px;
391
+ }
392
+ .accordion-chevron {
393
+ width: 8px;
394
+ height: 8px;
395
+ border-right: 2px solid currentColor;
396
+ border-bottom: 2px solid currentColor;
397
+ transform: rotate(45deg);
398
+ }
399
+ .accordion-chevron[data-open=true] {
400
+ transform: rotate(225deg);
401
+ }
402
+ .accordion-panel {
403
+ padding: 0 14px 14px;
404
+ color: var(--al-color-text-muted);
405
+ font-size: var(--al-font-size-sm);
406
+ line-height: 1.5;
407
+ }
408
+ .al-float {
409
+ position: relative;
410
+ }
411
+ .al-float-input {
412
+ height: 52px;
413
+ padding: 18px 12px 6px;
414
+ }
415
+ .al-float[data-size=sm] .al-float-input {
416
+ height: 44px;
417
+ padding-top: 16px;
418
+ }
419
+ .al-float[data-size=lg] .al-float-input {
420
+ height: 58px;
421
+ }
422
+ .al-float-input::placeholder {
423
+ color: transparent;
424
+ }
425
+ .al-float:focus-within .al-float-input::placeholder {
426
+ color: var(--al-color-text-muted);
427
+ }
428
+ .al-float-label {
429
+ position: absolute;
430
+ left: 12px;
431
+ top: 16px;
432
+ max-width: calc(100% - 24px);
433
+ overflow: hidden;
434
+ color: var(--al-color-text-muted);
435
+ font-size: var(--al-font-size-md);
436
+ line-height: 1.2;
437
+ text-overflow: ellipsis;
438
+ white-space: nowrap;
439
+ pointer-events: none;
440
+ transition:
441
+ top 0.15s ease,
442
+ font-size 0.15s ease,
443
+ color 0.15s ease;
444
+ }
445
+ .al-float[data-filled=true] .al-float-label,
446
+ .al-float:focus-within .al-float-label {
447
+ top: 7px;
448
+ color: var(--al-control-accent, var(--al-color-primary));
449
+ font-size: 11px;
450
+ font-weight: 600;
451
+ }
452
+ .al-float[data-invalid=true] .al-float-label {
453
+ color: var(--al-color-danger);
454
+ }
455
+ .al-file {
456
+ display: flex;
457
+ align-items: center;
458
+ justify-content: space-between;
459
+ gap: 16px;
460
+ min-height: 84px;
461
+ padding: 14px 16px;
462
+ border: 1px dashed var(--al-control-border, var(--al-color-border));
463
+ border-radius: var(--al-radius-lg);
464
+ background: var(--al-color-surface);
465
+ color: var(--al-color-text);
466
+ cursor: pointer;
467
+ }
468
+ .al-file:hover,
469
+ .al-file.is-dragging,
470
+ .al-file:focus-within {
471
+ border-style: solid;
472
+ border-color: var(--al-control-accent, var(--al-color-primary));
473
+ background: color-mix(in srgb, var(--al-color-primary) 6%, var(--al-color-surface));
474
+ }
475
+ .al-file[data-invalid=true] {
476
+ border-color: var(--al-color-danger);
477
+ }
478
+ .al-file-input {
479
+ position: absolute;
480
+ width: 1px;
481
+ height: 1px;
482
+ overflow: hidden;
483
+ clip: rect(0, 0, 0, 0);
484
+ white-space: nowrap;
485
+ border: 0;
486
+ }
487
+ .al-file-copy {
488
+ display: flex;
489
+ flex-direction: column;
490
+ gap: 4px;
491
+ min-width: 0;
492
+ }
493
+ .al-file-title {
494
+ font-weight: 600;
495
+ }
496
+ .al-file-names {
497
+ overflow: hidden;
498
+ color: var(--al-color-text-muted);
499
+ font-size: var(--al-font-size-xs);
500
+ text-overflow: ellipsis;
501
+ white-space: nowrap;
502
+ }
503
+ .al-file-button {
504
+ flex: none;
505
+ height: 32px;
506
+ padding: 0 12px;
507
+ border-radius: var(--al-radius-md);
508
+ background: var(--al-color-primary);
509
+ color: var(--al-color-on-primary);
510
+ font-size: var(--al-font-size-sm);
511
+ font-weight: 600;
512
+ line-height: 32px;
513
+ }
514
+ /*# sourceMappingURL=index.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/styles.css"],"sourcesContent":[":root {\n --al-color-primary: #0b6b4f;\n --al-color-primary-hover: #095c44;\n --al-color-on-primary: #ffffff;\n --al-color-secondary: #1f2937;\n --al-color-on-secondary: #ffffff;\n --al-color-danger: #b42318;\n --al-color-success: #067647;\n --al-color-warning: #b54708;\n --al-color-text: #1c2430;\n --al-color-text-muted: #5c6778;\n --al-color-surface: #ffffff;\n --al-color-surface-muted: #f5f7fa;\n --al-color-border: #d8dee8;\n --al-color-focus: #0b6b4f;\n --al-font-family: \"Segoe UI\", \"Noto Sans\", sans-serif;\n --al-font-size-xs: 12px;\n --al-font-size-sm: 13px;\n --al-font-size-md: 14px;\n --al-font-size-lg: 16px;\n --al-radius-sm: 6px;\n --al-radius-md: 8px;\n --al-radius-lg: 12px;\n --al-space-sm: 8px;\n --al-space-md: 12px;\n --al-space-lg: 16px;\n}\n\n.al-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n box-sizing: border-box;\n height: 36px;\n padding: 0 14px;\n border-radius: var(--al-radius-md);\n border: 1px solid transparent;\n background: var(--al-btn-bg, var(--al-color-primary));\n color: var(--al-btn-fg, var(--al-color-on-primary));\n font-family: var(--al-font-family);\n font-size: var(--al-font-size-md);\n font-weight: 600;\n line-height: 1;\n cursor: pointer;\n transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;\n}\n\n.al-btn[data-size='sm'] {\n height: 30px;\n padding: 0 10px;\n font-size: var(--al-font-size-sm);\n}\n\n.al-btn[data-size='lg'] {\n height: 42px;\n padding: 0 18px;\n font-size: var(--al-font-size-lg);\n}\n\n.al-btn[data-full-width='true'] {\n width: 100%;\n}\n\n.al-btn[data-variant='outline'],\n.al-btn[data-variant='ghost'] {\n color: var(--al-btn-bg, var(--al-color-primary));\n background: transparent;\n}\n\n.al-btn[data-variant='outline'] {\n border-color: var(--al-btn-bg, var(--al-color-primary));\n}\n\n.al-btn[data-variant='solid']:hover:not(:disabled) {\n background: color-mix(in srgb, var(--al-btn-bg, var(--al-color-primary)) 86%, #000);\n}\n\n.al-btn[data-variant='outline']:hover:not(:disabled) {\n background: color-mix(in srgb, var(--al-btn-bg, var(--al-color-primary)) 12%, transparent);\n}\n\n.al-btn[data-variant='ghost']:hover:not(:disabled) {\n background: var(--al-color-surface-muted);\n}\n\n.al-btn:focus-visible,\n.al-control:focus-visible,\n.al-checkbox-input:focus-visible {\n outline: 2px solid var(--al-color-focus);\n outline-offset: 2px;\n}\n\n.al-btn:disabled {\n opacity: 0.55;\n cursor: not-allowed;\n}\n\n.al-spinner {\n width: 1em;\n height: 1em;\n border: 2px solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n animation: al-spin 0.6s linear infinite;\n}\n\n@keyframes al-spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .al-spinner {\n animation: none;\n }\n}\n\n.al-field,\n.al-checkbox-field {\n display: flex;\n flex-direction: column;\n gap: 6px;\n min-width: 0;\n font-family: var(--al-font-family);\n color: var(--al-color-text);\n}\n\n.al-field-label,\n.al-checkbox-label {\n font-size: var(--al-font-size-sm);\n font-weight: 600;\n color: var(--al-color-text);\n}\n\n.al-field-required {\n margin-left: 2px;\n color: var(--al-color-danger);\n}\n\n.al-control-wrap {\n position: relative;\n display: flex;\n align-items: center;\n}\n\n.al-control {\n box-sizing: border-box;\n width: 100%;\n height: 36px;\n padding: 0 12px;\n border: 1px solid var(--al-control-border, var(--al-color-border));\n border-radius: var(--al-radius-md);\n background: var(--al-color-surface);\n color: var(--al-color-text);\n font-family: inherit;\n font-size: var(--al-font-size-md);\n}\n\n.al-control[data-size='sm'] {\n height: 30px;\n font-size: var(--al-font-size-sm);\n}\n\n.al-control[data-size='lg'] {\n height: 42px;\n font-size: var(--al-font-size-lg);\n}\n\n.al-control::placeholder {\n color: var(--al-color-text-muted);\n}\n\n.al-control:focus {\n border-color: var(--al-control-accent, var(--al-color-focus));\n}\n\n.al-control[aria-invalid='true'] {\n border-color: var(--al-color-danger);\n}\n\n.al-control:disabled {\n background: var(--al-color-surface-muted);\n color: var(--al-color-text-muted);\n cursor: not-allowed;\n}\n\n.has-left .al-control {\n padding-left: 36px;\n}\n\n.has-right .al-control {\n padding-right: 36px;\n}\n\n.al-control-icon {\n position: absolute;\n display: inline-flex;\n color: var(--al-color-text-muted);\n}\n\n.al-control-icon.left {\n left: 10px;\n}\n\n.al-control-icon.right {\n right: 8px;\n}\n\n.al-textarea {\n height: auto;\n min-height: 96px;\n padding: 10px 12px;\n resize: vertical;\n line-height: 1.45;\n}\n\n.al-select {\n appearance: none;\n padding-right: 32px;\n background-image:\n linear-gradient(45deg, transparent 50%, var(--al-color-text-muted) 50%),\n linear-gradient(135deg, var(--al-color-text-muted) 50%, transparent 50%);\n background-position:\n calc(100% - 16px) calc(50% - 2px),\n calc(100% - 11px) calc(50% - 2px);\n background-size: 5px 5px, 5px 5px;\n background-repeat: no-repeat;\n}\n\n.al-field-helper,\n.al-field-error,\n.al-checkbox-description {\n margin: 0;\n font-size: var(--al-font-size-xs);\n line-height: 1.4;\n}\n\n.al-field-helper,\n.al-checkbox-description {\n color: var(--al-color-text-muted);\n}\n\n.al-field-error {\n color: var(--al-color-danger);\n}\n\n.al-checkbox {\n display: flex;\n align-items: flex-start;\n gap: 8px;\n cursor: pointer;\n}\n\n.al-checkbox-input {\n width: 16px;\n height: 16px;\n margin-top: 2px;\n accent-color: var(--al-color-primary);\n}\n\n.al-checkbox-copy {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.al-card {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n gap: 14px;\n background: var(--al-color-surface);\n color: var(--al-color-text);\n border: 1px solid var(--al-color-border);\n border-radius: var(--al-radius-lg);\n font-family: var(--al-font-family);\n}\n\n.al-card[data-padding='sm'] {\n padding: var(--al-space-sm);\n}\n\n.al-card[data-padding='md'] {\n padding: var(--al-space-lg);\n}\n\n.al-card[data-padding='lg'] {\n padding: 24px;\n}\n\n.al-card-header {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.al-card-title {\n margin: 0;\n font-size: var(--al-font-size-lg);\n line-height: 1.3;\n}\n\n.al-card-description {\n margin: 0;\n color: var(--al-color-text-muted);\n font-size: var(--al-font-size-sm);\n line-height: 1.45;\n}\n\n.al-card-footer {\n display: flex;\n justify-content: flex-end;\n gap: 8px;\n}\n\n.al-badge {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n height: 22px;\n padding: 0 8px;\n border-radius: 999px;\n background: color-mix(in srgb, var(--al-badge-color, var(--al-color-primary)) 14%, var(--al-color-surface));\n color: var(--al-badge-color, var(--al-color-primary));\n font-family: var(--al-font-family);\n font-size: var(--al-font-size-xs);\n font-weight: 700;\n line-height: 1;\n white-space: nowrap;\n}\n\n.al-badge[data-variant='solid'] {\n background: var(--al-badge-color, var(--al-color-primary));\n color: #fff;\n}\n\n.al-table-wrap {\n width: 100%;\n overflow-x: auto;\n border: 1px solid var(--al-color-border);\n border-radius: var(--al-radius-lg);\n background: var(--al-color-surface);\n}\n\n.al-table {\n width: 100%;\n border-collapse: collapse;\n font-family: var(--al-font-family);\n font-size: var(--al-font-size-md);\n color: var(--al-color-text);\n}\n\n.al-table th,\n.al-table td {\n padding: 10px 12px;\n text-align: left;\n border-bottom: 1px solid var(--al-color-border);\n vertical-align: middle;\n}\n\n.al-table th {\n background: var(--al-color-surface-muted);\n color: var(--al-color-text-muted);\n font-size: var(--al-font-size-xs);\n font-weight: 700;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n}\n\n.al-table tbody tr:last-child td {\n border-bottom: 0;\n}\n\n.al-table[data-striped='true'] tbody tr:nth-child(even) td {\n background: color-mix(in srgb, var(--al-color-surface-muted) 70%, var(--al-color-surface));\n}\n\n.al-table tbody tr:hover td {\n background: color-mix(in srgb, var(--al-color-primary) 8%, var(--al-color-surface));\n}\n\n.al-table[data-size='sm'] th,\n.al-table[data-size='sm'] td {\n padding: 6px 10px;\n}\n\n.al-table[data-size='lg'] th,\n.al-table[data-size='lg'] td {\n padding: 14px 16px;\n}\n\n.al-table-empty {\n padding: 28px 12px;\n color: var(--al-color-text-muted);\n text-align: center;\n}\n\n.al-table-caption {\n caption-side: bottom;\n padding: 8px 12px 10px;\n color: var(--al-color-text-muted);\n font-size: var(--al-font-size-xs);\n text-align: left;\n}\n\n/* @altruist component:Accordion */\n.accordion {\n border: 1px solid var(--al-color-border);\n border-radius: var(--al-radius-lg);\n background: var(--al-color-surface);\n color: var(--al-color-text);\n font-family: var(--al-font-family);\n overflow: hidden;\n}\n\n.accordion-item + .accordion-item {\n border-top: 1px solid var(--al-color-border);\n}\n\n.accordion-trigger {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n width: 100%;\n padding: 12px 14px;\n border: 0;\n background: transparent;\n color: inherit;\n font: inherit;\n font-weight: 600;\n text-align: left;\n cursor: pointer;\n}\n\n.accordion-trigger:hover {\n background: var(--al-color-surface-muted);\n}\n\n.accordion-trigger:focus-visible {\n outline: 2px solid var(--al-color-focus);\n outline-offset: -2px;\n}\n\n.accordion-chevron {\n width: 8px;\n height: 8px;\n border-right: 2px solid currentColor;\n border-bottom: 2px solid currentColor;\n transform: rotate(45deg);\n}\n\n.accordion-chevron[data-open='true'] {\n transform: rotate(225deg);\n}\n\n.accordion-panel {\n padding: 0 14px 14px;\n color: var(--al-color-text-muted);\n font-size: var(--al-font-size-sm);\n line-height: 1.5;\n}\n/* @altruist end:Accordion */\n\n.al-float {\n position: relative;\n}\n\n.al-float-input {\n height: 52px;\n padding: 18px 12px 6px;\n}\n\n.al-float[data-size='sm'] .al-float-input {\n height: 44px;\n padding-top: 16px;\n}\n\n.al-float[data-size='lg'] .al-float-input {\n height: 58px;\n}\n\n.al-float-input::placeholder {\n color: transparent;\n}\n\n.al-float:focus-within .al-float-input::placeholder {\n color: var(--al-color-text-muted);\n}\n\n.al-float-label {\n position: absolute;\n left: 12px;\n top: 16px;\n max-width: calc(100% - 24px);\n overflow: hidden;\n color: var(--al-color-text-muted);\n font-size: var(--al-font-size-md);\n line-height: 1.2;\n text-overflow: ellipsis;\n white-space: nowrap;\n pointer-events: none;\n transition: top 0.15s ease, font-size 0.15s ease, color 0.15s ease;\n}\n\n.al-float[data-filled='true'] .al-float-label,\n.al-float:focus-within .al-float-label {\n top: 7px;\n color: var(--al-control-accent, var(--al-color-primary));\n font-size: 11px;\n font-weight: 600;\n}\n\n.al-float[data-invalid='true'] .al-float-label {\n color: var(--al-color-danger);\n}\n\n.al-file {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 16px;\n min-height: 84px;\n padding: 14px 16px;\n border: 1px dashed var(--al-control-border, var(--al-color-border));\n border-radius: var(--al-radius-lg);\n background: var(--al-color-surface);\n color: var(--al-color-text);\n cursor: pointer;\n}\n\n.al-file:hover,\n.al-file.is-dragging,\n.al-file:focus-within {\n border-style: solid;\n border-color: var(--al-control-accent, var(--al-color-primary));\n background: color-mix(in srgb, var(--al-color-primary) 6%, var(--al-color-surface));\n}\n\n.al-file[data-invalid='true'] {\n border-color: var(--al-color-danger);\n}\n\n.al-file-input {\n position: absolute;\n width: 1px;\n height: 1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n.al-file-copy {\n display: flex;\n flex-direction: column;\n gap: 4px;\n min-width: 0;\n}\n\n.al-file-title {\n font-weight: 600;\n}\n\n.al-file-names {\n overflow: hidden;\n color: var(--al-color-text-muted);\n font-size: var(--al-font-size-xs);\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.al-file-button {\n flex: none;\n height: 32px;\n padding: 0 12px;\n border-radius: var(--al-radius-md);\n background: var(--al-color-primary);\n color: var(--al-color-on-primary);\n font-size: var(--al-font-size-sm);\n font-weight: 600;\n line-height: 32px;\n}\n"],"mappings":"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","names":[]}