@santi020k/lumen 1.6.0 → 1.7.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.
@@ -0,0 +1,2054 @@
1
+ /* Generated by scripts/generate-critical-web-css.mjs. */
2
+ @layer lumen.tokens, lumen.base, lumen.components, lumen.glass;
3
+
4
+ @layer lumen.tokens {
5
+ :root,
6
+ [data-theme="light"],
7
+ [data-theme="lumen-light"] {
8
+ color-scheme: light;
9
+ --canvas: 210 24% 98%;
10
+ --surface: 0 0% 100%;
11
+ --surface-muted: 210 22% 95%;
12
+ --surface-strong: 213 18% 88%;
13
+ --line: 214 17% 84%;
14
+ --ink: 216 28% 12%;
15
+ --ink-soft: 215 14% 35%;
16
+ --ink-muted: 215 10% 50%;
17
+ --brand: 201 96% 32%;
18
+ --brand-solid: 201 96% 28%;
19
+ --brand-soft: 198 64% 92%;
20
+ --on-brand: 0 0% 100%;
21
+ --accent: 169 78% 33%;
22
+ --success: 142 76% 36%;
23
+ --warning: 38 92% 50%;
24
+ --danger: 0 84% 60%;
25
+ --on-danger: 0 0% 0%;
26
+ --chart-axis: var(--ink-muted);
27
+ --chart-diverging-mid: 213 18% 88%;
28
+ --chart-diverging-negative: 0 84% 60%;
29
+ --chart-diverging-positive: 201 96% 32%;
30
+ --chart-grid: var(--line);
31
+ --chart-reference: var(--ink-soft);
32
+ --chart-selection: var(--brand);
33
+ --chart-sequential-high: 201 96% 24%;
34
+ --chart-sequential-low: 198 64% 92%;
35
+ --chart-sequential-mid: 201 80% 58%;
36
+ --chart-series-1: 201 96% 32%;
37
+ --chart-series-2: 169 78% 33%;
38
+ --chart-series-3: 280 72% 56%;
39
+ --chart-series-4: 25 95% 53%;
40
+ --chart-series-5: 340 82% 55%;
41
+ --chart-series-6: 190 82% 42%;
42
+ --chart-series-7: 52 92% 45%;
43
+ --chart-series-8: 215 16% 47%;
44
+ --chart-tooltip-background: var(--ink);
45
+ --chart-tooltip-foreground: var(--surface);
46
+ --ui-on-danger: var(--on-danger);
47
+ --ui-radius: 0.625rem;
48
+ --ui-radius-sm: 0.375rem;
49
+ --ui-radius-lg: 0.75rem;
50
+ --ui-shadow-sm: 0 1px 2px hsl(222 47% 11% / 0.06);
51
+ --ui-shadow-md: 0 8px 24px hsl(222 47% 11% / 0.08);
52
+ --ui-shadow-lg: 0 24px 64px hsl(222 47% 11% / 0.14);
53
+ --glass-bg: 0 0% 100% / 0.55;
54
+ --glass-bg-subtle: 0 0% 100% / 0.38;
55
+ --glass-bg-strong: 0 0% 100% / 0.72;
56
+ --glass-border: 220 30% 100% / 0.55;
57
+ --glass-highlight: 0 0% 100% / 0.85;
58
+ --glass-blur: 22px;
59
+ --glass-saturate: 1.7;
60
+ --glass-brightness: 1.05;
61
+ --glass-edge: 0 0% 100% / 0.9;
62
+ --glass-edge-soft: 0 0% 100% / 0.34;
63
+ --glass-shade: 222 47% 11% / 0.07;
64
+ --glass-refraction: 201 96% 32% / 0.08;
65
+ --glass-shadow:
66
+ 0 1px 2px hsl(222 47% 11% / 0.08),
67
+ 0 12px 32px hsl(222 47% 11% / 0.12),
68
+ 0 32px 80px hsl(222 47% 11% / 0.14);
69
+ --ui-font: "Montserrat", "Avenir Next", "Segoe UI", sans-serif;
70
+ --ui-duration-fast: 120ms;
71
+ --ui-duration: 160ms;
72
+ --ui-duration-slow: 300ms;
73
+ --ui-ease: cubic-bezier(0.32, 0.72, 0, 1);
74
+ --ui-ease-emphasized: cubic-bezier(0.22, 1, 0.36, 1);
75
+ }
76
+
77
+ [data-theme="dark"],
78
+ [data-theme="lumen-dark"] {
79
+ color-scheme: dark;
80
+ --canvas: 224 24% 8%;
81
+ --surface: 224 18% 11%;
82
+ --surface-muted: 223 16% 15%;
83
+ --surface-strong: 222 14% 22%;
84
+ --line: 222 14% 26%;
85
+ --ink: 210 20% 96%;
86
+ --ink-soft: 214 14% 77%;
87
+ --ink-muted: 216 10% 62%;
88
+ --brand: 199 91% 56%;
89
+ --brand-solid: 199 91% 36%;
90
+ --brand-soft: 199 84% 16%;
91
+ --on-brand: 0 0% 100%;
92
+ --accent: 166 76% 43%;
93
+ --success: 142 69% 45%;
94
+ --warning: 38 92% 55%;
95
+ --danger: 0 84% 65%;
96
+ --on-danger: 224 24% 8%;
97
+ --chart-axis: var(--ink-muted);
98
+ --chart-diverging-mid: 222 14% 22%;
99
+ --chart-diverging-negative: 0 84% 65%;
100
+ --chart-diverging-positive: 199 91% 56%;
101
+ --chart-grid: var(--line);
102
+ --chart-reference: var(--ink-soft);
103
+ --chart-selection: var(--brand);
104
+ --chart-sequential-high: 199 91% 66%;
105
+ --chart-sequential-low: 199 84% 16%;
106
+ --chart-sequential-mid: 199 72% 42%;
107
+ --chart-series-1: 199 91% 56%;
108
+ --chart-series-2: 166 76% 43%;
109
+ --chart-series-3: 285 82% 72%;
110
+ --chart-series-4: 31 96% 62%;
111
+ --chart-series-5: 342 88% 68%;
112
+ --chart-series-6: 188 86% 54%;
113
+ --chart-series-7: 52 94% 58%;
114
+ --chart-series-8: 215 18% 68%;
115
+ --chart-tooltip-background: var(--ink);
116
+ --chart-tooltip-foreground: var(--canvas);
117
+ --ui-on-danger: var(--canvas);
118
+ --ui-shadow-sm: 0 1px 2px hsl(0 0% 0% / 0.18);
119
+ --ui-shadow-md: 0 12px 32px hsl(0 0% 0% / 0.24);
120
+ --ui-shadow-lg: 0 28px 80px hsl(0 0% 0% / 0.36);
121
+ --glass-bg: 224 20% 13% / 0.78;
122
+ --glass-bg-subtle: 224 20% 13% / 0.64;
123
+ --glass-bg-strong: 224 20% 13% / 0.9;
124
+ --glass-border: 210 30% 92% / 0.24;
125
+ --glass-highlight: 210 30% 96% / 0.1;
126
+ --glass-brightness: 1;
127
+ --glass-edge: 210 40% 98% / 0.24;
128
+ --glass-edge-soft: 210 40% 98% / 0.08;
129
+ --glass-shade: 240 40% 3% / 0.3;
130
+ --glass-refraction: 199 91% 56% / 0.1;
131
+ --glass-shadow:
132
+ 0 1px 2px hsl(0 0% 0% / 0.3),
133
+ 0 16px 40px hsl(0 0% 0% / 0.34),
134
+ 0 40px 96px hsl(0 0% 0% / 0.38);
135
+ }
136
+
137
+ [data-theme$="-dark"] {
138
+ --on-danger: var(--canvas);
139
+ --ui-on-danger: var(--canvas);
140
+ }
141
+ }
142
+
143
+ @layer lumen.base {
144
+ @keyframes ui-shimmer {
145
+ from {
146
+ background-position: 200% 0;
147
+ }
148
+
149
+ to {
150
+ background-position: -200% 0;
151
+ }
152
+ }
153
+
154
+ @keyframes ui-spin {
155
+ to {
156
+ transform: rotate(360deg);
157
+ }
158
+ }
159
+
160
+ @keyframes ui-animated-logo-reveal {
161
+ from {
162
+ opacity: 0;
163
+ transform: translateY(0.35rem) scale(0.96);
164
+ }
165
+
166
+ to {
167
+ opacity: 1;
168
+ transform: translateY(0) scale(1);
169
+ }
170
+ }
171
+
172
+ @keyframes ui-animated-logo-pop {
173
+ from {
174
+ transform: scale(0);
175
+ }
176
+
177
+ to {
178
+ transform: scale(1);
179
+ }
180
+ }
181
+
182
+ @keyframes ui-animated-logo-draw {
183
+ to {
184
+ stroke-dashoffset: 0;
185
+ }
186
+ }
187
+
188
+ @keyframes ui-animated-logo-slide {
189
+ from {
190
+ opacity: 0;
191
+ transform: translateX(-0.625rem);
192
+ }
193
+
194
+ to {
195
+ opacity: 1;
196
+ transform: translateX(0);
197
+ }
198
+ }
199
+
200
+ @keyframes ui-graphic-orbit {
201
+ to {
202
+ transform: rotate(1turn);
203
+ }
204
+ }
205
+
206
+ .ui-sr-only {
207
+ position: absolute;
208
+ width: 1px;
209
+ height: 1px;
210
+ padding: 0;
211
+ margin: -1px;
212
+ overflow: hidden;
213
+ clip: rect(0, 0, 0, 0);
214
+ white-space: nowrap;
215
+ border: 0;
216
+ }
217
+
218
+ :where(
219
+ .ui-accordion,
220
+ .ui-alert,
221
+ .ui-agenda,
222
+ .ui-animated-logo,
223
+ .ui-animated-number,
224
+ .ui-aspect-ratio,
225
+ .ui-attachment,
226
+ .ui-autocomplete,
227
+ .ui-avatar,
228
+ .ui-backdrop,
229
+ .ui-back-to-top,
230
+ .ui-badge,
231
+ .ui-bubble,
232
+ .ui-button,
233
+ .ui-button-group,
234
+ .ui-calendar,
235
+ .ui-card,
236
+ .ui-carousel,
237
+ .ui-chart,
238
+ .ui-checkbox,
239
+ .ui-collapsible,
240
+ .ui-combobox,
241
+ .ui-code,
242
+ .ui-command,
243
+ .ui-context-navigation,
244
+ .ui-callout,
245
+ .ui-color-picker,
246
+ .ui-dialog,
247
+ .ui-drawer,
248
+ .ui-date-range-picker,
249
+ .ui-empty,
250
+ .ui-error-state,
251
+ .ui-eyebrow,
252
+ .ui-field,
253
+ .ui-floating-badge,
254
+ .ui-formatted-date,
255
+ .ui-gradient-divider,
256
+ .ui-graphic,
257
+ .ui-icon,
258
+ .ui-input,
259
+ .ui-input-group,
260
+ .ui-input-otp-field,
261
+ .ui-input-otp,
262
+ .ui-image,
263
+ .ui-illustration,
264
+ .ui-item,
265
+ .ui-kbd,
266
+ .ui-label,
267
+ .ui-language-toggle,
268
+ .ui-link,
269
+ .ui-menu,
270
+ .ui-menubar,
271
+ .ui-message,
272
+ .ui-message-scroller,
273
+ .ui-navigation-menu,
274
+ .ui-pagination,
275
+ .ui-particles,
276
+ .ui-pill,
277
+ .ui-popover,
278
+ .ui-progress,
279
+ .ui-prose,
280
+ .ui-radio-group,
281
+ .ui-resizable,
282
+ .ui-rich-text-editor,
283
+ .ui-scroll-area,
284
+ .ui-scroll-reveal,
285
+ .ui-reveal-group,
286
+ .ui-schedule,
287
+ .ui-search-field,
288
+ .ui-select,
289
+ .ui-select-field,
290
+ .ui-separator,
291
+ .ui-sheet,
292
+ .ui-sidebar,
293
+ .ui-skip-link,
294
+ .ui-skeleton,
295
+ .ui-slider,
296
+ .ui-tvp,
297
+ .ui-sparkline,
298
+ .ui-spinner,
299
+ .ui-switch,
300
+ .ui-table-wrap,
301
+ .ui-tabs,
302
+ .ui-tag-group,
303
+ .ui-textarea,
304
+ .ui-theme-builder,
305
+ .ui-time-field,
306
+ .ui-toast,
307
+ .ui-toggle,
308
+ .ui-toggle-group,
309
+ .ui-tooltip,
310
+ .ui-tree,
311
+ .ui-tree-grid,
312
+ .ui-typography,
313
+ .ui-virtual-list
314
+ ) {
315
+ box-sizing: border-box;
316
+ font-family: var(--ui-font);
317
+ }
318
+
319
+ :where(.ui-button, .ui-back-to-top, .ui-code__copy, .ui-input, .ui-language-toggle, .ui-link, .ui-select, .ui-skip-link, .ui-textarea, .ui-checkbox, .ui-switch, .ui-toggle, .ui-theme-toggle, .ui-slider, .ui-color-picker, .ui-resizable__handle):focus-visible {
320
+ outline: 2px solid hsl(var(--brand));
321
+ outline-offset: 2px;
322
+ }
323
+ }
324
+
325
+ @layer lumen.components {
326
+ .panel-card,
327
+ .ui-card {
328
+ position: relative;
329
+ overflow: hidden;
330
+ border: 1px solid hsl(var(--line));
331
+ border-radius: var(--ui-radius-lg);
332
+ background: hsl(var(--surface));
333
+ box-shadow: var(--ui-shadow-sm);
334
+ color: hsl(var(--ink));
335
+ }
336
+
337
+ .card-interactive,
338
+ .ui-card--interactive {
339
+ transition:
340
+ border-color 160ms ease,
341
+ box-shadow 160ms ease,
342
+ transform 160ms ease;
343
+ }
344
+
345
+ .card-interactive:hover,
346
+ .ui-card--interactive:hover {
347
+ border-color: hsl(var(--brand) / 0.36);
348
+ box-shadow: var(--ui-shadow-md);
349
+ transform: translateY(-1px);
350
+ }
351
+
352
+ .ui-card {
353
+ --ui-card-gap: 1rem;
354
+ --ui-card-padding: 1.25rem;
355
+ --ui-card-section-gap: 0.375rem;
356
+
357
+ padding: var(--ui-card-padding);
358
+ }
359
+
360
+ .ui-card__header {
361
+ display: grid;
362
+ gap: var(--ui-card-section-gap);
363
+ }
364
+
365
+ .ui-card__title {
366
+ color: hsl(var(--ink));
367
+ font-size: 1.125rem;
368
+ font-weight: 700;
369
+ letter-spacing: -0.015em;
370
+ line-height: 1.3;
371
+ }
372
+
373
+ .ui-card__description {
374
+ color: hsl(var(--ink-muted));
375
+ font-size: 0.875rem;
376
+ line-height: 1.55;
377
+ }
378
+
379
+ .ui-card__content {
380
+ color: hsl(var(--ink-soft));
381
+ }
382
+
383
+ .ui-card__footer {
384
+ align-items: center;
385
+ display: flex;
386
+ gap: 0.75rem;
387
+ }
388
+
389
+ .ui-card > :where(
390
+ .ui-card__content,
391
+ .ui-card__footer
392
+ ) {
393
+ margin-block-start: var(--ui-card-gap);
394
+ }
395
+
396
+ .ui-card--muted {
397
+ background: hsl(var(--surface-muted) / 0.72);
398
+ }
399
+
400
+ .ui-card--unstyled,
401
+ .ui-button-link--unstyled {
402
+ all: revert-layer;
403
+ }
404
+
405
+ .ui-card--glass.ui-card--interactive:hover,
406
+ .ui-card--glass.card-interactive:hover {
407
+ border-color: hsl(var(--glass-edge));
408
+ background:
409
+ radial-gradient(140% 100% at 12% -8%, hsl(var(--glass-highlight)) 0%, transparent 48%),
410
+ radial-gradient(120% 90% at 88% 110%, hsl(var(--glass-refraction)) 0%, transparent 50%),
411
+ hsl(var(--glass-bg-strong));
412
+ transform: translateY(-2px);
413
+ }
414
+
415
+ .ui-button {
416
+ --ui-button-font-size: 0.875rem;
417
+ --ui-button-font-weight: 600;
418
+ --ui-button-gap: 0.5rem;
419
+ --ui-button-min-height: 2.5rem;
420
+ --ui-button-padding: 0.5rem 1rem;
421
+ --ui-button-radius: var(--ui-radius-sm);
422
+
423
+ display: inline-flex;
424
+ min-height: var(--ui-button-min-height);
425
+ align-items: center;
426
+ justify-content: center;
427
+ gap: var(--ui-button-gap);
428
+ border: 1px solid transparent;
429
+ border-radius: var(--ui-button-radius);
430
+ padding: var(--ui-button-padding);
431
+ cursor: pointer;
432
+ font-size: var(--ui-button-font-size);
433
+ font-weight: var(--ui-button-font-weight);
434
+ line-height: 1.2;
435
+ text-align: center;
436
+ text-decoration: none;
437
+ white-space: nowrap;
438
+ transition:
439
+ background-color 160ms ease,
440
+ border-color 160ms ease,
441
+ box-shadow 160ms ease,
442
+ color 160ms ease,
443
+ transform 160ms ease;
444
+ user-select: none;
445
+ }
446
+
447
+ .ui-button:hover {
448
+ transform: translateY(-1px);
449
+ }
450
+
451
+ .ui-button:active {
452
+ transform: translateY(0);
453
+ }
454
+
455
+ .ui-button:disabled,
456
+ .ui-button[aria-disabled="true"],
457
+ .ui-button--disabled {
458
+ pointer-events: none;
459
+ opacity: 0.52;
460
+ }
461
+
462
+ .ui-button--default {
463
+ background: hsl(var(--brand-solid));
464
+ border-color: hsl(var(--brand-solid));
465
+ color: hsl(var(--on-brand));
466
+ box-shadow: 0 8px 20px hsl(var(--brand) / 0.22);
467
+ }
468
+
469
+ .ui-button--default:hover {
470
+ background: hsl(var(--brand-solid));
471
+ border-color: hsl(var(--brand-solid));
472
+ }
473
+
474
+ .ui-button--primary {
475
+ background: hsl(var(--brand-solid));
476
+ border-color: hsl(var(--brand-solid));
477
+ color: hsl(var(--on-brand));
478
+ box-shadow: 0 8px 20px hsl(var(--brand) / 0.22);
479
+ }
480
+
481
+ .ui-button--primary:hover {
482
+ background: hsl(var(--brand-solid));
483
+ border-color: hsl(var(--brand-solid));
484
+ }
485
+
486
+ .ui-button--secondary {
487
+ background: hsl(var(--surface-muted));
488
+ border-color: hsl(var(--line));
489
+ color: hsl(var(--ink));
490
+ }
491
+
492
+ .ui-button--secondary:hover {
493
+ background: hsl(var(--surface-strong));
494
+ }
495
+
496
+ .ui-button--outline {
497
+ background: hsl(var(--surface) / 0.76);
498
+ border-color: hsl(var(--line));
499
+ color: hsl(var(--ink));
500
+ }
501
+
502
+ .ui-button--outline:hover {
503
+ border-color: hsl(var(--brand) / 0.48);
504
+ color: hsl(var(--brand));
505
+ }
506
+
507
+ .ui-button--ghost {
508
+ background: transparent;
509
+ color: hsl(var(--ink-soft));
510
+ }
511
+
512
+ .ui-button--ghost:hover {
513
+ background: hsl(var(--surface-muted));
514
+ color: hsl(var(--ink));
515
+ }
516
+
517
+ .ui-button--destructive {
518
+ background: hsl(var(--danger));
519
+ border-color: hsl(var(--danger));
520
+ color: hsl(var(--on-danger));
521
+ }
522
+
523
+ .ui-button--destructive:hover {
524
+ background: hsl(var(--danger) / 0.9);
525
+ }
526
+
527
+ .ui-button--link {
528
+ min-height: auto;
529
+ border-color: transparent;
530
+ background: transparent;
531
+ padding: 0;
532
+ color: hsl(var(--brand));
533
+ text-underline-offset: 0.25rem;
534
+ }
535
+
536
+ .ui-button--link:hover {
537
+ text-decoration: underline;
538
+ transform: none;
539
+ }
540
+
541
+ .ui-button--sm {
542
+ min-height: 2.25rem;
543
+ padding: 0.4rem 0.75rem;
544
+ font-size: 0.8125rem;
545
+ }
546
+
547
+ .ui-button--default-size {
548
+ min-height: 2.5rem;
549
+ padding: 0.5rem 1rem;
550
+ }
551
+
552
+ .ui-button--lg {
553
+ min-height: 3rem;
554
+ padding: 0.65rem 1.25rem;
555
+ font-size: 0.9375rem;
556
+ }
557
+
558
+ .ui-button--icon {
559
+ width: 2.5rem;
560
+ padding: 0;
561
+ }
562
+
563
+ .ui-alert,
564
+ .ui-toast {
565
+ border: 1px solid hsl(var(--line));
566
+ border-radius: var(--ui-radius);
567
+ background: hsl(var(--surface));
568
+ color: hsl(var(--ink-soft));
569
+ font-size: 0.875rem;
570
+ line-height: 1.55;
571
+ box-shadow: var(--ui-shadow-sm);
572
+ }
573
+
574
+ .ui-toast {
575
+ position: relative;
576
+ display: grid;
577
+ grid-template-columns: minmax(0, 1fr) auto;
578
+ align-items: start;
579
+ gap: 0.75rem;
580
+ }
581
+
582
+ .ui-alert {
583
+ padding: 0.875rem 1rem;
584
+ }
585
+
586
+ .ui-alert > :first-child,
587
+ .ui-toast > :first-child {
588
+ color: hsl(var(--ink));
589
+ }
590
+
591
+ .ui-alert > * + *,
592
+ .ui-toast > * + * {
593
+ margin-block-start: 0.25rem;
594
+ }
595
+
596
+ .ui-toast__body {
597
+ min-width: 0;
598
+ }
599
+
600
+ .ui-toast__body > * {
601
+ margin: 0;
602
+ }
603
+
604
+ .ui-toast__body > * + * {
605
+ margin-block-start: 0.25rem;
606
+ }
607
+
608
+ .ui-toast__action {
609
+ align-self: center;
610
+ margin: 0;
611
+ }
612
+
613
+ .ui-toast > .ui-toast__action,
614
+ .ui-toast > .ui-toast__dismiss {
615
+ margin-block-start: 0;
616
+ }
617
+
618
+ .ui-toast__dismiss {
619
+ align-self: start;
620
+ border: 0;
621
+ background: transparent;
622
+ color: hsl(var(--ink-muted));
623
+ cursor: pointer;
624
+ font: inherit;
625
+ font-size: 0.75rem;
626
+ line-height: 1.2;
627
+ padding: 0.15rem;
628
+ }
629
+
630
+ .ui-toast__dismiss:hover {
631
+ color: hsl(var(--ink));
632
+ }
633
+
634
+ .ui-alert--destructive,
635
+ .ui-toast--destructive {
636
+ border-color: hsl(var(--danger) / 0.36);
637
+ background: hsl(var(--danger) / 0.08);
638
+ color: hsl(var(--danger));
639
+ }
640
+
641
+ .ui-alert--success,
642
+ .ui-toast--success {
643
+ border-color: hsl(var(--success) / 0.36);
644
+ background: hsl(var(--success) / 0.08);
645
+ color: hsl(var(--success));
646
+ }
647
+
648
+ .ui-alert--warning,
649
+ .ui-toast--warning {
650
+ border-color: hsl(var(--warning) / 0.42);
651
+ background: hsl(var(--warning) / 0.1);
652
+ color: hsl(var(--warning));
653
+ }
654
+
655
+ .ui-badge {
656
+ display: inline-flex;
657
+ min-height: 1.5rem;
658
+ max-width: 100%;
659
+ align-items: center;
660
+ border: 1px solid transparent;
661
+ border-radius: 999px;
662
+ padding: 0.2rem 0.6rem;
663
+ font-size: 0.75rem;
664
+ font-weight: 650;
665
+ line-height: 1;
666
+ white-space: nowrap;
667
+ }
668
+
669
+ .ui-badge--default {
670
+ background: hsl(var(--brand-solid));
671
+ color: white;
672
+ }
673
+
674
+ .ui-badge--secondary {
675
+ background: hsl(var(--surface-muted));
676
+ border-color: hsl(var(--line));
677
+ color: hsl(var(--ink-soft));
678
+ }
679
+
680
+ .ui-badge--outline {
681
+ background: transparent;
682
+ border-color: hsl(var(--line));
683
+ color: hsl(var(--ink-soft));
684
+ }
685
+
686
+ .ui-badge--destructive {
687
+ background: hsl(var(--danger) / 0.1);
688
+ border-color: hsl(var(--danger) / 0.32);
689
+ color: hsl(var(--danger));
690
+ }
691
+
692
+ .ui-badge--success {
693
+ background: hsl(var(--success) / 0.1);
694
+ border-color: hsl(var(--success) / 0.32);
695
+ color: hsl(var(--success));
696
+ }
697
+
698
+ .ui-badge--warning {
699
+ background: hsl(var(--warning) / 0.12);
700
+ border-color: hsl(var(--warning) / 0.36);
701
+ color: hsl(var(--warning));
702
+ }
703
+
704
+ .ui-input,
705
+ .ui-textarea,
706
+ .ui-select,
707
+ .ui-input-otp {
708
+ min-height: 2.75rem;
709
+ width: 100%;
710
+ border: 1px solid hsl(var(--line));
711
+ border-radius: var(--ui-radius-sm);
712
+ background: hsl(var(--surface));
713
+ color: hsl(var(--ink));
714
+ box-shadow: inset 0 1px 2px hsl(222 47% 11% / 0.04);
715
+ font: inherit;
716
+ font-size: 0.875rem;
717
+ line-height: 1.4;
718
+ transition:
719
+ border-color 160ms ease,
720
+ box-shadow 160ms ease;
721
+ }
722
+
723
+ .ui-input,
724
+ .ui-select,
725
+ .ui-input-otp {
726
+ height: 2.75rem;
727
+ padding: 0 0.75rem;
728
+ }
729
+
730
+ .ui-textarea {
731
+ min-height: 7rem;
732
+ padding: 0.65rem 0.75rem;
733
+ resize: vertical;
734
+ }
735
+
736
+ .ui-input::placeholder,
737
+ .ui-textarea::placeholder {
738
+ color: hsl(var(--ink-muted));
739
+ }
740
+
741
+ .ui-input:hover,
742
+ .ui-textarea:hover,
743
+ .ui-select:hover,
744
+ .ui-input-otp:hover {
745
+ border-color: hsl(var(--brand) / 0.42);
746
+ }
747
+
748
+ .ui-input:disabled,
749
+ .ui-textarea:disabled,
750
+ .ui-select:disabled,
751
+ .ui-input-otp:disabled {
752
+ cursor: not-allowed;
753
+ opacity: 0.55;
754
+ }
755
+
756
+ .ui-select {
757
+ appearance: none;
758
+ padding-inline-end: 2.4rem;
759
+ background-image:
760
+ linear-gradient(45deg, transparent 50%, hsl(var(--ink-muted)) 50%),
761
+ linear-gradient(135deg, hsl(var(--ink-muted)) 50%, transparent 50%);
762
+ background-position:
763
+ calc(100% - 1rem) 50%,
764
+ calc(100% - 0.72rem) 50%;
765
+ background-size:
766
+ 0.32rem 0.32rem,
767
+ 0.32rem 0.32rem;
768
+ background-repeat: no-repeat;
769
+ }
770
+
771
+ .ui-label {
772
+ color: hsl(var(--ink));
773
+ font-size: 0.875rem;
774
+ font-weight: 600;
775
+ line-height: 1.4;
776
+ }
777
+
778
+ .ui-field,
779
+ .ui-combobox,
780
+ .ui-select-field {
781
+ display: grid;
782
+ gap: 0.45rem;
783
+ }
784
+
785
+ .ui-combobox,
786
+ .ui-date-picker-field,
787
+ .ui-select-field {
788
+ position: relative;
789
+ width: min(100%, 34rem);
790
+ }
791
+
792
+ .ui-combobox > .ui-input {
793
+ width: 100%;
794
+ }
795
+
796
+ .ui-date-picker__control,
797
+ .ui-select__control {
798
+ position: relative;
799
+ width: 100%;
800
+ }
801
+
802
+ .ui-date-picker__control[hidden],
803
+ .ui-select__control[hidden] {
804
+ display: none;
805
+ }
806
+
807
+ .ui-date-picker__native[data-ui-enhanced="true"],
808
+ .ui-select__native[data-ui-enhanced="true"] {
809
+ position: absolute;
810
+ width: 1px;
811
+ height: 1px;
812
+ overflow: hidden;
813
+ clip-path: inset(50%);
814
+ opacity: 0;
815
+ pointer-events: none;
816
+ }
817
+
818
+ .ui-date-picker__trigger,
819
+ .ui-select__trigger {
820
+ display: flex;
821
+ align-items: center;
822
+ justify-content: space-between;
823
+ cursor: pointer;
824
+ text-align: start;
825
+ }
826
+
827
+ .ui-select__trigger > [data-ui-select-value] {
828
+ min-width: 0;
829
+ overflow: hidden;
830
+ text-overflow: ellipsis;
831
+ white-space: nowrap;
832
+ }
833
+
834
+ .ui-select-field[data-placeholder="true"] .ui-select__trigger {
835
+ color: hsl(var(--ink-muted));
836
+ }
837
+
838
+ .ui-combobox__list,
839
+ .ui-date-picker__popover,
840
+ .ui-select__list {
841
+ position: absolute;
842
+ z-index: 50;
843
+ top: calc(100% + 0.35rem);
844
+ left: 0;
845
+ display: grid;
846
+ width: 100%;
847
+ max-height: min(16rem, 50vh);
848
+ overflow-y: auto;
849
+ border: 1px solid hsl(var(--line));
850
+ border-radius: var(--ui-radius);
851
+ background: hsl(var(--surface));
852
+ box-shadow: var(--ui-shadow-md);
853
+ padding: 0.35rem;
854
+ }
855
+
856
+ .ui-date-picker__popover > .ui-calendar {
857
+ border: 0;
858
+ box-shadow: none;
859
+ }
860
+
861
+ .ui-combobox__list[hidden],
862
+ .ui-date-picker__popover[hidden],
863
+ .ui-select__list[hidden] {
864
+ display: none;
865
+ }
866
+
867
+ .ui-combobox__list [role="option"],
868
+ .ui-select__list [role="option"] {
869
+ border: 0;
870
+ border-radius: var(--ui-radius-sm);
871
+ background: transparent;
872
+ color: hsl(var(--ink-soft));
873
+ cursor: pointer;
874
+ font: inherit;
875
+ padding: 0.65rem 0.75rem;
876
+ text-align: start;
877
+ }
878
+
879
+ .ui-select__list [role="option"][aria-disabled="true"] {
880
+ cursor: not-allowed;
881
+ opacity: 0.55;
882
+ }
883
+
884
+ .ui-combobox__list [role="option"]:is(:hover, :focus-visible),
885
+ .ui-combobox__list [role="option"][aria-selected="true"],
886
+ .ui-select__list [role="option"]:is(:hover, :focus-visible),
887
+ .ui-select__list [role="option"][aria-selected="true"] {
888
+ background: hsl(var(--brand-soft));
889
+ color: hsl(var(--brand-solid));
890
+ outline: none;
891
+ }
892
+
893
+ .ui-field > p,
894
+ .ui-field > small {
895
+ margin: 0;
896
+ color: hsl(var(--ink-muted));
897
+ font-size: 0.8125rem;
898
+ line-height: 1.5;
899
+ }
900
+
901
+ .ui-input-group {
902
+ display: flex;
903
+ min-height: 2.75rem;
904
+ align-items: center;
905
+ gap: 0.5rem;
906
+ overflow: hidden;
907
+ border: 1px solid hsl(var(--line));
908
+ border-radius: var(--ui-radius-sm);
909
+ background: hsl(var(--surface));
910
+ color: hsl(var(--ink-soft));
911
+ box-shadow: inset 0 1px 2px hsl(222 47% 11% / 0.04);
912
+ font-size: 0.875rem;
913
+ }
914
+
915
+ .ui-input-group:focus-within {
916
+ border-color: hsl(var(--brand));
917
+ box-shadow: 0 0 0 3px hsl(var(--brand) / 0.18);
918
+ }
919
+
920
+ .ui-input-group > :where(span, strong):not(.ui-icon) {
921
+ padding-inline: 0.75rem 0;
922
+ white-space: nowrap;
923
+ }
924
+
925
+ .ui-input-group > .ui-icon {
926
+ margin-inline-start: 0.75rem;
927
+ }
928
+
929
+ .ui-input-group > .ui-input {
930
+ min-height: calc(2.75rem - 2px);
931
+ border: 0;
932
+ border-radius: 0;
933
+ box-shadow: none;
934
+ }
935
+
936
+ .ui-input-group > .ui-button {
937
+ margin-inline-end: 0.25rem;
938
+ }
939
+
940
+ .ui-checkbox {
941
+ width: 1rem;
942
+ height: 1rem;
943
+ margin: 0;
944
+ appearance: none;
945
+ border: 1px solid hsl(var(--line));
946
+ border-radius: 0.25rem;
947
+ background: hsl(var(--surface));
948
+ cursor: pointer;
949
+ vertical-align: -0.125em;
950
+ }
951
+
952
+ .ui-checkbox:checked {
953
+ border-color: hsl(var(--brand-solid));
954
+ background-color: hsl(var(--brand-solid));
955
+ /* Lucide check */
956
+ background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 6 9 17l-5-5' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
957
+ background-position: center;
958
+ background-repeat: no-repeat;
959
+ background-size: 0.78rem 0.78rem;
960
+ }
961
+
962
+ .ui-progress {
963
+ width: 100%;
964
+ height: 0.5rem;
965
+ overflow: hidden;
966
+ border-radius: 999px;
967
+ background: hsl(var(--surface-strong));
968
+ }
969
+
970
+ .ui-progress__bar {
971
+ display: block;
972
+ height: 100%;
973
+ border-radius: inherit;
974
+ background: hsl(var(--brand-solid));
975
+ transition: width 260ms ease;
976
+ }
977
+
978
+ .ui-skeleton {
979
+ min-height: 1rem;
980
+ border-radius: var(--ui-radius-sm);
981
+ background: linear-gradient(
982
+ 90deg,
983
+ hsl(var(--surface-muted)),
984
+ hsl(var(--surface-strong)),
985
+ hsl(var(--surface-muted))
986
+ );
987
+ background-size: 200% 100%;
988
+ animation: ui-shimmer 2.2s linear infinite;
989
+ }
990
+
991
+ .ui-spinner {
992
+ box-sizing: border-box;
993
+ display: inline-block;
994
+ width: 1rem;
995
+ height: 1rem;
996
+ flex-shrink: 0;
997
+ border: 2px solid hsl(var(--line));
998
+ border-top-color: currentColor;
999
+ border-radius: 50%;
1000
+ color: hsl(var(--brand));
1001
+ animation: ui-spin 700ms linear infinite;
1002
+ vertical-align: -0.15em;
1003
+ }
1004
+
1005
+ .ui-button .ui-spinner {
1006
+ border-color: currentColor;
1007
+ border-top-color: transparent;
1008
+ color: currentColor;
1009
+ }
1010
+
1011
+ .ui-dialog,
1012
+ .ui-alert-dialog,
1013
+ .ui-drawer,
1014
+ .ui-sheet {
1015
+ width: min(100% - 2rem, 34rem);
1016
+ max-width: 34rem;
1017
+ border: 1px solid hsl(var(--line));
1018
+ border-radius: var(--ui-radius-lg);
1019
+ background: hsl(var(--surface));
1020
+ color: hsl(var(--ink));
1021
+ box-shadow: var(--ui-shadow-lg);
1022
+ padding: 1.25rem;
1023
+ }
1024
+
1025
+ .ui-dialog,
1026
+ .ui-alert-dialog {
1027
+ position: fixed;
1028
+ z-index: 50;
1029
+ top: 50%;
1030
+ left: 50%;
1031
+ max-height: calc(100dvh - 2rem);
1032
+ margin: 0;
1033
+ overflow: auto;
1034
+ transform: translate(-50%, -50%);
1035
+ }
1036
+
1037
+ .ui-dialog--fullscreen {
1038
+ inset: 0;
1039
+ width: 100%;
1040
+ max-width: none;
1041
+ height: 100dvh;
1042
+ max-height: none;
1043
+ margin: 0;
1044
+ border: 0;
1045
+ border-radius: 0;
1046
+ padding: 0;
1047
+ transform: none;
1048
+ }
1049
+
1050
+ .ui-dialog::backdrop,
1051
+ .ui-alert-dialog::backdrop,
1052
+ .ui-drawer::backdrop,
1053
+ .ui-sheet::backdrop {
1054
+ background: hsl(222 47% 11% / 0.56);
1055
+ backdrop-filter: blur(4px);
1056
+ }
1057
+
1058
+ .ui-dialog > * + *,
1059
+ .ui-alert-dialog > * + *,
1060
+ .ui-drawer > * + *,
1061
+ .ui-sheet > * + * {
1062
+ margin-block-start: 0.9rem;
1063
+ }
1064
+
1065
+ .ui-dialog footer,
1066
+ .ui-alert-dialog footer,
1067
+ .ui-drawer footer,
1068
+ .ui-sheet footer {
1069
+ display: flex;
1070
+ flex-wrap: wrap;
1071
+ justify-content: flex-end;
1072
+ gap: 0.5rem;
1073
+ }
1074
+
1075
+ .ui-alert-dialog {
1076
+ max-width: 28rem;
1077
+ }
1078
+
1079
+ .ui-tooltip {
1080
+ display: inline-grid;
1081
+ position: relative;
1082
+ gap: 0.35rem;
1083
+ width: fit-content;
1084
+ }
1085
+
1086
+ .ui-tooltip [role="tooltip"] {
1087
+ position: absolute;
1088
+ z-index: 50;
1089
+ bottom: calc(100% + 0.45rem);
1090
+ left: 50%;
1091
+ width: max-content;
1092
+ max-width: 16rem;
1093
+ transform: translateX(-50%);
1094
+ border-radius: var(--ui-radius-sm);
1095
+ background: hsl(var(--ink));
1096
+ color: hsl(var(--canvas));
1097
+ box-shadow: var(--ui-shadow-md);
1098
+ padding: 0.35rem 0.55rem;
1099
+ font-size: 0.75rem;
1100
+ font-weight: 600;
1101
+ line-height: 1.3;
1102
+ opacity: 0;
1103
+ pointer-events: none;
1104
+ transition:
1105
+ opacity var(--ui-duration-fast) var(--ui-ease),
1106
+ visibility var(--ui-duration-fast) var(--ui-ease);
1107
+ visibility: hidden;
1108
+ }
1109
+
1110
+ .ui-tooltip:is(:hover, :focus-within) [role="tooltip"] {
1111
+ opacity: 1;
1112
+ visibility: visible;
1113
+ }
1114
+
1115
+ .ui-menubar,
1116
+ .ui-navigation-menu,
1117
+ .ui-button-group,
1118
+ .ui-toggle-group {
1119
+ display: inline-flex;
1120
+ align-items: center;
1121
+ gap: 0.25rem;
1122
+ border: 1px solid hsl(var(--line));
1123
+ border-radius: var(--ui-radius);
1124
+ background: hsl(var(--surface));
1125
+ padding: 0.25rem;
1126
+ }
1127
+
1128
+ .ui-tabs {
1129
+ display: grid;
1130
+ gap: 1rem;
1131
+ }
1132
+
1133
+ .ui-tabs [role="tablist"] {
1134
+ display: inline-flex;
1135
+ width: fit-content;
1136
+ max-width: 100%;
1137
+ align-items: center;
1138
+ gap: 0.25rem;
1139
+ overflow-x: auto;
1140
+ overscroll-behavior-inline: contain;
1141
+ border: 1px solid hsl(var(--line));
1142
+ border-radius: var(--ui-radius);
1143
+ background: hsl(var(--surface-muted));
1144
+ padding: 0.25rem;
1145
+ scrollbar-width: thin;
1146
+ }
1147
+
1148
+ .ui-tabs [role="tablist"][aria-orientation="vertical"] {
1149
+ overflow-x: visible;
1150
+ }
1151
+
1152
+ .ui-tabs [role="tab"] {
1153
+ flex: 0 0 auto;
1154
+ border: 0;
1155
+ border-radius: var(--ui-radius-sm);
1156
+ background: transparent;
1157
+ color: hsl(var(--ink-soft));
1158
+ cursor: pointer;
1159
+ font: inherit;
1160
+ font-size: 0.875rem;
1161
+ font-weight: 650;
1162
+ padding: 0.45rem 0.75rem;
1163
+ }
1164
+
1165
+ .ui-tabs [role="tab"][aria-selected="true"] {
1166
+ background: hsl(var(--surface));
1167
+ color: hsl(var(--ink));
1168
+ box-shadow: var(--ui-shadow-sm);
1169
+ }
1170
+
1171
+ .ui-tabs [role="tabpanel"] {
1172
+ color: hsl(var(--ink-soft));
1173
+ }
1174
+
1175
+ .ui-table-wrap,
1176
+ .ui-data-table {
1177
+ --ui-table-cell-padding: 0.75rem 1rem;
1178
+
1179
+ width: 100%;
1180
+ overflow-x: auto;
1181
+ border: 1px solid hsl(var(--line));
1182
+ border-radius: var(--ui-radius);
1183
+ background: hsl(var(--surface));
1184
+ }
1185
+
1186
+ .ui-table-wrap table,
1187
+ .ui-data-table table {
1188
+ width: 100%;
1189
+ border-collapse: collapse;
1190
+ font-size: 0.875rem;
1191
+ }
1192
+
1193
+ .ui-table-wrap th,
1194
+ .ui-data-table th {
1195
+ border-bottom: 1px solid hsl(var(--line));
1196
+ color: hsl(var(--ink));
1197
+ font-weight: 650;
1198
+ padding: var(--ui-table-cell-padding);
1199
+ text-align: start;
1200
+ }
1201
+
1202
+ .ui-data-table th[aria-sort] {
1203
+ padding: 0;
1204
+ }
1205
+
1206
+ .ui-data-table__sort {
1207
+ display: inline-flex;
1208
+ width: 100%;
1209
+ min-height: 2.75rem;
1210
+ align-items: center;
1211
+ justify-content: flex-start;
1212
+ gap: 0.375rem;
1213
+ border: 0;
1214
+ background: transparent;
1215
+ color: inherit;
1216
+ cursor: pointer;
1217
+ font: inherit;
1218
+ font-weight: inherit;
1219
+ padding: var(--ui-table-cell-padding);
1220
+ text-align: inherit;
1221
+ }
1222
+
1223
+ .ui-data-table__sort:hover {
1224
+ background: hsl(var(--surface-muted));
1225
+ }
1226
+
1227
+ .ui-data-table__sort:focus-visible {
1228
+ outline: 2px solid hsl(var(--brand));
1229
+ outline-offset: -2px;
1230
+ }
1231
+
1232
+ .ui-data-table__sort::after {
1233
+ content: "";
1234
+ width: 0.875rem;
1235
+ height: 0.875rem;
1236
+ flex: 0 0 auto;
1237
+ background-color: hsl(var(--ink-muted));
1238
+ /* Lucide chevrons-up-down */
1239
+ mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 15 5 5 5-5'/%3E%3Cpath d='m7 9 5-5 5 5'/%3E%3C/svg%3E") center / contain no-repeat;
1240
+ -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 15 5 5 5-5'/%3E%3Cpath d='m7 9 5-5 5 5'/%3E%3C/svg%3E") center / contain no-repeat;
1241
+ }
1242
+
1243
+ .ui-data-table th[aria-sort="ascending"] .ui-data-table__sort::after {
1244
+ background-color: hsl(var(--brand-solid));
1245
+ /* Lucide chevron-up */
1246
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m18 15-6-6-6 6'/%3E%3C/svg%3E");
1247
+ -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m18 15-6-6-6 6'/%3E%3C/svg%3E");
1248
+ }
1249
+
1250
+ .ui-data-table th[aria-sort="descending"] .ui-data-table__sort::after {
1251
+ background-color: hsl(var(--brand-solid));
1252
+ /* Lucide chevron-down */
1253
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
1254
+ -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
1255
+ }
1256
+
1257
+ .ui-table-wrap td,
1258
+ .ui-data-table td {
1259
+ border-bottom: 1px solid hsl(var(--line) / 0.72);
1260
+ color: hsl(var(--ink-soft));
1261
+ padding: var(--ui-table-cell-padding);
1262
+ }
1263
+
1264
+ .ui-data-table__selection {
1265
+ width: 2.75rem;
1266
+ min-width: 2.75rem;
1267
+ padding-inline: 0.875rem;
1268
+ text-align: center;
1269
+ }
1270
+
1271
+ .ui-data-table th.ui-data-table__selection {
1272
+ padding-block: 0.75rem;
1273
+ }
1274
+
1275
+ .ui-data-table__checkbox {
1276
+ width: 1rem;
1277
+ height: 1rem;
1278
+ accent-color: hsl(var(--brand-solid));
1279
+ }
1280
+
1281
+ .ui-data-table tbody tr[data-state="selected"] {
1282
+ background: hsl(var(--brand-soft));
1283
+ }
1284
+
1285
+ .ui-data-table tbody tr[data-state="selected"] td {
1286
+ color: hsl(var(--ink));
1287
+ }
1288
+
1289
+ .ui-table-wrap tr:last-child td,
1290
+ .ui-data-table tr:last-child td {
1291
+ border-bottom: 0;
1292
+ }
1293
+
1294
+ .ui-calendar {
1295
+ border: 1px solid hsl(var(--line));
1296
+ border-radius: var(--ui-radius-lg);
1297
+ background: hsl(var(--surface));
1298
+ box-shadow: var(--ui-shadow-sm);
1299
+ color: hsl(var(--ink-soft));
1300
+ padding: 1rem;
1301
+ user-select: none;
1302
+ }
1303
+
1304
+ .ui-calendar__header {
1305
+ display: grid;
1306
+ grid-template-columns: 2rem 1fr 2rem;
1307
+ align-items: center;
1308
+ gap: 0.5rem;
1309
+ }
1310
+
1311
+ .ui-calendar__label {
1312
+ color: hsl(var(--ink));
1313
+ font-size: 0.95rem;
1314
+ font-weight: 700;
1315
+ text-align: center;
1316
+ }
1317
+
1318
+ .ui-calendar__nav {
1319
+ display: inline-grid;
1320
+ width: 2rem;
1321
+ height: 2rem;
1322
+ place-items: center;
1323
+ border: 1px solid hsl(var(--line));
1324
+ border-radius: var(--ui-radius-sm);
1325
+ background: hsl(var(--surface));
1326
+ color: hsl(var(--ink-soft));
1327
+ cursor: pointer;
1328
+ font: inherit;
1329
+ }
1330
+
1331
+ .ui-calendar__nav:hover:not(:disabled) {
1332
+ border-color: hsl(var(--brand) / 0.42);
1333
+ background: hsl(var(--brand-soft));
1334
+ color: hsl(var(--brand-solid));
1335
+ }
1336
+
1337
+ .ui-calendar__nav:focus-visible {
1338
+ outline: 2px solid hsl(var(--brand));
1339
+ outline-offset: 2px;
1340
+ }
1341
+
1342
+ .ui-calendar__nav:disabled {
1343
+ cursor: not-allowed;
1344
+ opacity: 0.5;
1345
+ }
1346
+
1347
+ .ui-calendar table {
1348
+ width: 100%;
1349
+ border-collapse: collapse;
1350
+ margin-block-start: 0.75rem;
1351
+ text-align: center;
1352
+ }
1353
+
1354
+ .ui-calendar th {
1355
+ color: hsl(var(--ink-muted));
1356
+ font-size: 0.75rem;
1357
+ font-weight: 700;
1358
+ padding: 0.35rem;
1359
+ }
1360
+
1361
+ .ui-calendar td {
1362
+ width: 2.35rem;
1363
+ height: 2.35rem;
1364
+ border-radius: var(--ui-radius-sm);
1365
+ color: hsl(var(--ink-soft));
1366
+ cursor: pointer;
1367
+ padding: 0;
1368
+ }
1369
+
1370
+ .ui-calendar td:hover:not([aria-disabled="true"]) {
1371
+ background: hsl(var(--brand-soft));
1372
+ color: hsl(var(--brand-solid));
1373
+ }
1374
+
1375
+ .ui-calendar td:focus-visible {
1376
+ outline: 2px solid hsl(var(--brand));
1377
+ outline-offset: 2px;
1378
+ }
1379
+
1380
+ .ui-calendar td[data-outside="true"] {
1381
+ color: hsl(var(--ink-muted));
1382
+ }
1383
+
1384
+ .ui-calendar td[data-today="true"] {
1385
+ box-shadow: inset 0 0 0 1px hsl(var(--brand) / 0.58);
1386
+ color: hsl(var(--ink));
1387
+ font-weight: 700;
1388
+ }
1389
+
1390
+ .ui-calendar td[aria-selected="true"] {
1391
+ background: hsl(var(--brand-solid));
1392
+ box-shadow: 0 0 0 1px hsl(var(--brand-solid));
1393
+ color: white;
1394
+ font-weight: 700;
1395
+ }
1396
+
1397
+ .ui-calendar td[aria-disabled="true"] {
1398
+ cursor: not-allowed;
1399
+ opacity: 0.42;
1400
+ }
1401
+
1402
+ .ui-input-otp-field {
1403
+ position: relative;
1404
+ display: inline-grid;
1405
+ width: min(100%, max-content);
1406
+ }
1407
+
1408
+ .ui-input-otp {
1409
+ max-width: 16rem;
1410
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
1411
+ text-align: center;
1412
+ }
1413
+
1414
+ .ui-input-otp__native[data-ui-enhanced="true"] {
1415
+ position: absolute;
1416
+ width: 1px;
1417
+ height: 1px;
1418
+ overflow: hidden;
1419
+ clip-path: inset(50%);
1420
+ opacity: 0;
1421
+ pointer-events: none;
1422
+ }
1423
+
1424
+ .ui-input-otp__segments {
1425
+ display: flex;
1426
+ flex-wrap: wrap;
1427
+ gap: 0.45rem;
1428
+ }
1429
+
1430
+ .ui-input-otp__segments[hidden] {
1431
+ display: none;
1432
+ }
1433
+
1434
+ .ui-input-otp__segment {
1435
+ display: inline-grid;
1436
+ width: 2.5rem;
1437
+ min-height: 2.75rem;
1438
+ place-items: center;
1439
+ border: 1px solid hsl(var(--line));
1440
+ border-radius: var(--ui-radius-sm);
1441
+ background: hsl(var(--surface));
1442
+ color: hsl(var(--ink));
1443
+ box-shadow: inset 0 1px 2px hsl(222 47% 11% / 0.04);
1444
+ cursor: text;
1445
+ font: 600 1rem/1 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
1446
+ padding: 0;
1447
+ transition:
1448
+ border-color 160ms ease,
1449
+ box-shadow 160ms ease;
1450
+ }
1451
+
1452
+ .ui-input-otp-field:focus-within .ui-input-otp__segment[data-active="true"] {
1453
+ border-color: hsl(var(--brand));
1454
+ box-shadow: 0 0 0 3px hsl(var(--brand) / 0.18);
1455
+ }
1456
+
1457
+ .ui-input-otp-field[data-disabled="true"] .ui-input-otp__segment {
1458
+ cursor: not-allowed;
1459
+ opacity: 0.55;
1460
+ }
1461
+
1462
+ .ui-input-otp-field[data-invalid="true"] .ui-input-otp__segment {
1463
+ border-color: hsl(var(--danger) / 0.6);
1464
+ box-shadow: 0 0 0 3px hsl(var(--danger) / 0.14);
1465
+ }
1466
+
1467
+ .ui-tvp > .ui-toast {
1468
+ pointer-events: auto;
1469
+ }
1470
+
1471
+ .ui-toast {
1472
+ padding: 1rem;
1473
+ }
1474
+
1475
+ .ui-rich-text-editor :where([role="toolbar"], [data-ui-editor-toolbar]) > :where(.ui-button-group, [data-ui-editor-group]) {
1476
+ flex: 0 0 auto;
1477
+ }
1478
+
1479
+ .ui-rich-text-editor .ui-button-group > select[data-ui-editor-command] {
1480
+ min-height: 2.5rem;
1481
+ border: 0;
1482
+ border-radius: var(--ui-radius-sm);
1483
+ background: transparent;
1484
+ padding-block: 0.375rem;
1485
+ }
1486
+ }
1487
+
1488
+ @layer lumen.glass {
1489
+ .ui-glass,
1490
+ .ui-glass-subtle,
1491
+ .ui-glass-strong,
1492
+ .ui-alert--glass,
1493
+ .ui-agenda--glass,
1494
+ .ui-attachment--glass,
1495
+ .ui-bubble--glass,
1496
+ .ui-calendar--glass,
1497
+ .ui-card--glass,
1498
+ .ui-carousel--glass,
1499
+ .ui-chart--glass,
1500
+ .ui-command--glass,
1501
+ .ui-data-table--glass,
1502
+ .ui-dialog--glass,
1503
+ .ui-drawer--glass,
1504
+ .ui-empty--glass,
1505
+ .ui-field--glass,
1506
+ .ui-sheet--glass,
1507
+ .ui-popover--glass > :where(div, section, article, form, [role="dialog"]),
1508
+ .ui-hover-card--glass > :where(div, section, article, [role="tooltip"]),
1509
+ .ui-item--glass,
1510
+ .ui-menu--glass,
1511
+ .ui-menu--glass[data-ui-dropdown-menu] > [role="menu"],
1512
+ .ui-menubar--glass,
1513
+ .ui-message-scroller--glass,
1514
+ .ui-navigation-menu--glass,
1515
+ .ui-rich-text-editor--glass,
1516
+ .ui-scroll-area--glass,
1517
+ .ui-schedule--glass,
1518
+ .ui-date-picker-field--glass .ui-date-picker__popover,
1519
+ .ui-select-field--glass .ui-select__list,
1520
+ .ui-sidebar--glass,
1521
+ .ui-stat--glass,
1522
+ .ui-table-wrap--glass,
1523
+ .ui-tabs--glass,
1524
+ .ui-theme-builder--glass,
1525
+ .ui-toast--glass,
1526
+ .ui-tree--glass,
1527
+ .ui-tree-grid--glass,
1528
+ .ui-virtual-list--glass {
1529
+ border-color: hsl(var(--glass-border));
1530
+ background:
1531
+ radial-gradient(140% 100% at 12% -8%, hsl(var(--glass-highlight)) 0%, transparent 42%),
1532
+ radial-gradient(120% 90% at 88% 110%, hsl(var(--glass-refraction)) 0%, transparent 44%),
1533
+ hsl(var(--glass-bg));
1534
+ box-shadow:
1535
+ inset 0 1px 0 hsl(var(--glass-edge)),
1536
+ inset 0 0 0 1px hsl(var(--glass-edge-soft)),
1537
+ inset 0 -20px 32px -20px hsl(var(--glass-shade)),
1538
+ var(--glass-shadow);
1539
+ -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate)) brightness(var(--glass-brightness));
1540
+ backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate)) brightness(var(--glass-brightness));
1541
+ }
1542
+
1543
+ .ui-popover--glass > :where(div, section, article, form, [role="dialog"]),
1544
+ .ui-hover-card--glass > :where(div, section, article, [role="tooltip"]),
1545
+ .ui-menu--glass[data-ui-dropdown-menu] > [role="menu"],
1546
+ .ui-date-picker-field--glass .ui-date-picker__popover,
1547
+ .ui-select-field--glass .ui-select__list,
1548
+ .ui-toast--glass {
1549
+ background:
1550
+ radial-gradient(140% 100% at 12% -8%, hsl(var(--glass-highlight)) 0%, transparent 42%),
1551
+ radial-gradient(120% 90% at 88% 110%, hsl(var(--glass-refraction)) 0%, transparent 44%),
1552
+ hsl(var(--glass-bg-strong));
1553
+ }
1554
+
1555
+ .ui-dialog--glass::backdrop,
1556
+ .ui-drawer--glass::backdrop,
1557
+ .ui-sheet--glass::backdrop {
1558
+ background:
1559
+ radial-gradient(80% 60% at 50% 0%, hsl(var(--brand) / 0.12), transparent 70%),
1560
+ hsl(222 47% 11% / 0.42);
1561
+ -webkit-backdrop-filter: blur(10px) saturate(1.2);
1562
+ backdrop-filter: blur(10px) saturate(1.2);
1563
+ }
1564
+
1565
+ .ui-tabs--glass [role="tablist"] {
1566
+ border-color: hsl(var(--glass-border));
1567
+ background: hsl(var(--glass-bg-subtle));
1568
+ }
1569
+
1570
+ .ui-tabs--glass [role="tab"][aria-selected="true"] {
1571
+ background:
1572
+ linear-gradient(180deg, hsl(var(--glass-highlight)), transparent 80%),
1573
+ hsl(var(--glass-bg-strong));
1574
+ box-shadow:
1575
+ inset 0 1px 0 hsl(var(--glass-edge)),
1576
+ 0 2px 8px hsl(222 47% 11% / 0.1);
1577
+ }
1578
+
1579
+ .ui-sidebar--glass a:hover,
1580
+ .ui-sidebar--glass a[aria-current="page"],
1581
+ .ui-menu--glass :where(a, button, [role="menuitem"]):hover,
1582
+ .ui-command--glass :where(button, [data-ui-command-item], [role="option"]):hover,
1583
+ .ui-select-field--glass .ui-select__list [role="option"]:is(:hover, :focus-visible),
1584
+ .ui-select-field--glass .ui-select__list [role="option"][aria-selected="true"],
1585
+ .ui-menubar--glass :where(a, button):hover,
1586
+ .ui-navigation-menu--glass :where(a, button):hover,
1587
+ .ui-menubar--glass :where(a, button)[aria-current="page"],
1588
+ .ui-navigation-menu--glass :where(a, button)[aria-current="page"] {
1589
+ background: hsl(var(--glass-highlight));
1590
+ color: hsl(var(--ink));
1591
+ }
1592
+
1593
+ .ui-field--glass :where(.ui-input, .ui-textarea, .ui-select, .ui-input-otp),
1594
+ .ui-date-picker-field--glass :where(.ui-date-picker),
1595
+ .ui-select-field--glass :where(.ui-select),
1596
+ .ui-rich-text-editor--glass :where([contenteditable="true"], textarea, [data-ui-editor-content]) {
1597
+ border-color: hsl(var(--glass-border));
1598
+ background: hsl(var(--glass-bg-subtle));
1599
+ box-shadow: inset 0 1px 2px hsl(var(--glass-shade));
1600
+ }
1601
+
1602
+ .ui-date-picker-field--glass .ui-date-picker__popover > .ui-calendar {
1603
+ background: transparent;
1604
+ }
1605
+
1606
+ .ui-table-wrap--glass :where(th, td),
1607
+ .ui-data-table--glass :where(th, td) {
1608
+ border-color: hsl(var(--glass-border));
1609
+ }
1610
+
1611
+ .ui-calendar--glass td:hover:not([aria-disabled="true"]) {
1612
+ background: hsl(var(--glass-highlight));
1613
+ color: hsl(var(--ink));
1614
+ }
1615
+
1616
+ @media (prefers-reduced-transparency: reduce) {
1617
+ .ui-date-picker-field--glass,
1618
+ .ui-select-field--glass {
1619
+ background: none;
1620
+ }
1621
+
1622
+ .ui-date-picker-field--glass .ui-date-picker__popover,
1623
+ .ui-select-field--glass .ui-select__list {
1624
+ -webkit-backdrop-filter: none;
1625
+ backdrop-filter: none;
1626
+ background: hsl(var(--surface) / 0.97);
1627
+ }
1628
+ }
1629
+
1630
+ @supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
1631
+ .ui-glass,
1632
+ .ui-glass-subtle,
1633
+ .ui-glass-strong,
1634
+ .ui-alert--glass,
1635
+ .ui-agenda--glass,
1636
+ .ui-attachment--glass,
1637
+ .ui-bubble--glass,
1638
+ .ui-calendar--glass,
1639
+ .ui-card--glass,
1640
+ .ui-carousel--glass,
1641
+ .ui-chart--glass,
1642
+ .ui-command--glass,
1643
+ .ui-data-table--glass,
1644
+ .ui-dialog--glass,
1645
+ .ui-drawer--glass,
1646
+ .ui-empty--glass,
1647
+ .ui-field--glass,
1648
+ .ui-sheet--glass,
1649
+ .ui-popover--glass > :where(div, section, article, form, [role="dialog"]),
1650
+ .ui-hover-card--glass > :where(div, section, article, [role="tooltip"]),
1651
+ .ui-item--glass,
1652
+ .ui-menu--glass,
1653
+ .ui-menu--glass[data-ui-dropdown-menu] > [role="menu"],
1654
+ .ui-menubar--glass,
1655
+ .ui-message-scroller--glass,
1656
+ .ui-navigation-menu--glass,
1657
+ .ui-rich-text-editor--glass,
1658
+ .ui-scroll-area--glass,
1659
+ .ui-schedule--glass,
1660
+ .ui-date-picker-field--glass .ui-date-picker__popover,
1661
+ .ui-select-field--glass .ui-select__list,
1662
+ .ui-sidebar--glass,
1663
+ .ui-stat--glass,
1664
+ .ui-table-wrap--glass,
1665
+ .ui-tabs--glass,
1666
+ .ui-theme-builder--glass,
1667
+ .ui-toast--glass,
1668
+ .ui-tree--glass,
1669
+ .ui-tree-grid--glass,
1670
+ .ui-virtual-list--glass {
1671
+ border-color: hsl(var(--line));
1672
+ background: hsl(var(--surface) / 0.94);
1673
+ box-shadow: var(--ui-shadow-lg);
1674
+ }
1675
+
1676
+ .ui-date-picker-field--glass .ui-date-picker__popover > .ui-calendar {
1677
+ background: transparent;
1678
+ }
1679
+ }
1680
+ }
1681
+
1682
+ @media (prefers-reduced-motion: reduce) {
1683
+ .ui-button:hover,
1684
+ .card-interactive:hover,
1685
+ .ui-card--interactive:hover {
1686
+ transform: none;
1687
+ }
1688
+ }
1689
+
1690
+ @layer lumen.components {
1691
+ .ui-dialog,
1692
+ .ui-alert-dialog {
1693
+ transition:
1694
+ opacity var(--ui-duration) var(--ui-ease),
1695
+ transform var(--ui-duration-slow) var(--ui-ease-emphasized),
1696
+ overlay var(--ui-duration-slow) var(--ui-ease) allow-discrete,
1697
+ display var(--ui-duration-slow) var(--ui-ease) allow-discrete;
1698
+ }
1699
+
1700
+ .ui-dialog:not([open]),
1701
+ .ui-alert-dialog:not([open]) {
1702
+ opacity: 0;
1703
+ transform: translate(-50%, calc(-50% + 0.75rem)) scale(0.97);
1704
+ }
1705
+
1706
+ @starting-style {
1707
+ .ui-dialog[open],
1708
+ .ui-alert-dialog[open] {
1709
+ opacity: 0;
1710
+ transform: translate(-50%, calc(-50% + 0.75rem)) scale(0.97);
1711
+ }
1712
+ }
1713
+
1714
+ .ui-dialog--fullscreen:not([open]) {
1715
+ transform: none;
1716
+ }
1717
+
1718
+ @starting-style {
1719
+ .ui-dialog--fullscreen[open] {
1720
+ transform: none;
1721
+ }
1722
+ }
1723
+
1724
+ .ui-dialog::backdrop,
1725
+ .ui-alert-dialog::backdrop,
1726
+ .ui-drawer::backdrop,
1727
+ .ui-sheet::backdrop {
1728
+ transition:
1729
+ opacity var(--ui-duration) var(--ui-ease),
1730
+ overlay var(--ui-duration-slow) var(--ui-ease) allow-discrete,
1731
+ display var(--ui-duration-slow) var(--ui-ease) allow-discrete;
1732
+ }
1733
+
1734
+ :is(.ui-dialog, .ui-alert-dialog, .ui-drawer, .ui-sheet):not([open])::backdrop {
1735
+ opacity: 0;
1736
+ }
1737
+
1738
+ @starting-style {
1739
+ :is(.ui-dialog, .ui-alert-dialog, .ui-drawer, .ui-sheet)[open]::backdrop {
1740
+ opacity: 0;
1741
+ }
1742
+ }
1743
+
1744
+ .ui-popover > :where(div, section, article, form, [role="dialog"]),
1745
+ .ui-hover-card > :where(div, section, article, [role="tooltip"]),
1746
+ .ui-menu[data-ui-dropdown-menu] > [role="menu"],
1747
+ .ui-combobox__list,
1748
+ .ui-select__list {
1749
+ transition:
1750
+ opacity var(--ui-duration-fast) var(--ui-ease),
1751
+ transform var(--ui-duration) var(--ui-ease-emphasized),
1752
+ display var(--ui-duration) var(--ui-ease) allow-discrete;
1753
+ }
1754
+
1755
+ .ui-popover > :where(div, section, article, form, [role="dialog"])[data-state="closed"],
1756
+ .ui-hover-card > :where(div, section, article, [role="tooltip"])[data-state="closed"],
1757
+ .ui-menu[data-ui-dropdown-menu] > [role="menu"][data-state="closed"],
1758
+ .ui-combobox__list[data-state="closed"],
1759
+ .ui-select__list[data-state="closed"] {
1760
+ opacity: 0;
1761
+ transform: translateY(-0.25rem) scale(0.98);
1762
+ }
1763
+
1764
+ @starting-style {
1765
+ .ui-popover > :where(div, section, article, form, [role="dialog"])[data-state="open"],
1766
+ .ui-hover-card > :where(div, section, article, [role="tooltip"])[data-state="open"],
1767
+ .ui-menu[data-ui-dropdown-menu] > [role="menu"][data-state="open"],
1768
+ .ui-combobox__list[data-state="open"],
1769
+ .ui-select__list[data-state="open"] {
1770
+ opacity: 0;
1771
+ transform: translateY(-0.25rem) scale(0.98);
1772
+ }
1773
+ }
1774
+
1775
+ .ui-tvp .ui-toast {
1776
+ transition:
1777
+ opacity var(--ui-duration) var(--ui-ease),
1778
+ transform var(--ui-duration-slow) var(--ui-ease-emphasized),
1779
+ display var(--ui-duration-slow) var(--ui-ease) allow-discrete;
1780
+ }
1781
+
1782
+ .ui-tvp .ui-toast[data-state="closed"] {
1783
+ opacity: 0;
1784
+ transform: translateY(0.5rem) scale(0.98);
1785
+ }
1786
+
1787
+ .ui-tvp[data-placement^="top"] .ui-toast[data-state="closed"] {
1788
+ transform: translateY(-0.5rem) scale(0.98);
1789
+ }
1790
+
1791
+ @starting-style {
1792
+ .ui-tvp .ui-toast {
1793
+ opacity: 0;
1794
+ transform: translateY(0.75rem);
1795
+ }
1796
+
1797
+ .ui-tvp[data-placement^="top"] .ui-toast {
1798
+ transform: translateY(-0.75rem);
1799
+ }
1800
+ }
1801
+ }
1802
+
1803
+ @layer lumen.components {
1804
+ .ui-input[aria-invalid="true"],
1805
+ .ui-textarea[aria-invalid="true"],
1806
+ .ui-select[aria-invalid="true"],
1807
+ .ui-input-otp[aria-invalid="true"] {
1808
+ border-color: hsl(var(--danger) / 0.6);
1809
+ box-shadow:
1810
+ inset 0 1px 2px hsl(222 47% 11% / 0.04),
1811
+ 0 0 0 3px hsl(var(--danger) / 0.14);
1812
+ }
1813
+
1814
+ .ui-input[aria-invalid="true"]:focus-visible,
1815
+ .ui-textarea[aria-invalid="true"]:focus-visible,
1816
+ .ui-select[aria-invalid="true"]:focus-visible {
1817
+ outline-color: hsl(var(--danger));
1818
+ }
1819
+
1820
+ .ui-input-group:has(> [aria-invalid="true"]) {
1821
+ border-color: hsl(var(--danger) / 0.6);
1822
+ }
1823
+
1824
+ .ui-field > [data-ui-field-error],
1825
+ .ui-field__error {
1826
+ margin: 0;
1827
+ color: hsl(var(--danger));
1828
+ font-size: 0.8125rem;
1829
+ line-height: 1.5;
1830
+ }
1831
+
1832
+ .ui-checkbox:indeterminate {
1833
+ border-color: hsl(var(--brand-solid));
1834
+ background-color: hsl(var(--brand-solid));
1835
+ /* Lucide minus */
1836
+ background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 12h14' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
1837
+ background-position: center;
1838
+ background-repeat: no-repeat;
1839
+ background-size: 0.78rem 0.78rem;
1840
+ }
1841
+
1842
+ .ui-button[aria-busy="true"],
1843
+ .ui-button--loading {
1844
+ pointer-events: none;
1845
+ opacity: 0.8;
1846
+ }
1847
+
1848
+ .ui-input--sm,
1849
+ .ui-select--sm {
1850
+ min-height: 2.25rem;
1851
+ height: 2.25rem;
1852
+ font-size: 0.8125rem;
1853
+ }
1854
+
1855
+ .ui-input--lg,
1856
+ .ui-select--lg {
1857
+ min-height: 3.25rem;
1858
+ height: 3.25rem;
1859
+ font-size: 1rem;
1860
+ }
1861
+ }
1862
+
1863
+ @layer lumen.components {
1864
+ .ui-tooltip [role="tooltip"][popover] {
1865
+ position: fixed;
1866
+ position-area: block-start;
1867
+ position-try-fallbacks: flip-block;
1868
+ inset: auto;
1869
+ margin: 0 0 0.45rem;
1870
+ transform: none;
1871
+ transition:
1872
+ opacity var(--ui-duration-fast) var(--ui-ease),
1873
+ display var(--ui-duration-fast) var(--ui-ease) allow-discrete;
1874
+ }
1875
+
1876
+ .ui-tooltip [role="tooltip"][popover]:popover-open {
1877
+ opacity: 1;
1878
+ visibility: visible;
1879
+ }
1880
+
1881
+ @starting-style {
1882
+ .ui-tooltip [role="tooltip"][popover]:popover-open {
1883
+ opacity: 0;
1884
+ }
1885
+ }
1886
+ }
1887
+
1888
+ @layer lumen.glass {
1889
+ .ui-popover--glass:is(.ui-glass-subtle, .ui-glass-strong),
1890
+ .ui-hover-card--glass:is(.ui-glass-subtle, .ui-glass-strong),
1891
+ .ui-menu--glass[data-ui-dropdown-menu]:is(.ui-glass-subtle, .ui-glass-strong),
1892
+ .ui-date-picker-field--glass:is(.ui-glass-subtle, .ui-glass-strong),
1893
+ .ui-select-field--glass:is(.ui-glass-subtle, .ui-glass-strong) {
1894
+ border-color: transparent;
1895
+ background: none;
1896
+ box-shadow: none;
1897
+ -webkit-backdrop-filter: none;
1898
+ backdrop-filter: none;
1899
+ }
1900
+
1901
+ .ui-popover--glass.ui-glass-subtle > :where(div, section, article, form, [role="dialog"]),
1902
+ .ui-hover-card--glass.ui-glass-subtle > :where(div, section, article, [role="tooltip"]),
1903
+ .ui-menu--glass.ui-glass-subtle[data-ui-dropdown-menu] > [role="menu"],
1904
+ .ui-date-picker-field--glass.ui-glass-subtle .ui-date-picker__popover,
1905
+ .ui-select-field--glass.ui-glass-subtle .ui-select__list {
1906
+ background:
1907
+ radial-gradient(140% 100% at 12% -8%, hsl(var(--glass-highlight)) 0%, transparent 38%),
1908
+ radial-gradient(120% 90% at 88% 110%, hsl(var(--glass-refraction)) 0%, transparent 40%),
1909
+ hsl(var(--glass-bg-subtle));
1910
+ }
1911
+
1912
+ .ui-popover--glass.ui-glass-strong > :where(div, section, article, form, [role="dialog"]),
1913
+ .ui-hover-card--glass.ui-glass-strong > :where(div, section, article, [role="tooltip"]),
1914
+ .ui-menu--glass.ui-glass-strong[data-ui-dropdown-menu] > [role="menu"],
1915
+ .ui-date-picker-field--glass.ui-glass-strong .ui-date-picker__popover,
1916
+ .ui-select-field--glass.ui-glass-strong .ui-select__list {
1917
+ background:
1918
+ radial-gradient(140% 100% at 12% -8%, hsl(var(--glass-highlight)) 0%, transparent 46%),
1919
+ radial-gradient(120% 90% at 88% 110%, hsl(var(--glass-refraction)) 0%, transparent 48%),
1920
+ hsl(var(--glass-bg-strong));
1921
+ }
1922
+
1923
+ :is(.ui-glass, .ui-glass-subtle, .ui-glass-strong, [class*="--glass"])[data-ui-glass-track]:not(.ui-date-picker-field--glass):not(.ui-select-field--glass),
1924
+ .ui-date-picker-field--glass[data-ui-glass-track] .ui-date-picker__popover,
1925
+ .ui-select-field--glass[data-ui-glass-track] .ui-select__list {
1926
+ background:
1927
+ radial-gradient(24rem 24rem at var(--glass-x, 12%) var(--glass-y, -8%), hsl(var(--glass-highlight)) 0%, transparent 42%),
1928
+ radial-gradient(120% 90% at 88% 110%, hsl(var(--glass-refraction)) 0%, transparent 44%),
1929
+ hsl(var(--glass-bg));
1930
+ }
1931
+
1932
+ .ui-glass-subtle[data-ui-glass-track]:not(.ui-date-picker-field--glass):not(.ui-select-field--glass),
1933
+ .ui-date-picker-field--glass.ui-glass-subtle[data-ui-glass-track] .ui-date-picker__popover,
1934
+ .ui-select-field--glass.ui-glass-subtle[data-ui-glass-track] .ui-select__list {
1935
+ background:
1936
+ radial-gradient(24rem 24rem at var(--glass-x, 12%) var(--glass-y, -8%), hsl(var(--glass-highlight)) 0%, transparent 38%),
1937
+ radial-gradient(120% 90% at 88% 110%, hsl(var(--glass-refraction)) 0%, transparent 40%),
1938
+ hsl(var(--glass-bg-subtle));
1939
+ }
1940
+
1941
+ .ui-glass-strong[data-ui-glass-track]:not(.ui-date-picker-field--glass):not(.ui-select-field--glass),
1942
+ .ui-date-picker-field--glass.ui-glass-strong[data-ui-glass-track] .ui-date-picker__popover,
1943
+ .ui-select-field--glass.ui-glass-strong[data-ui-glass-track] .ui-select__list {
1944
+ background:
1945
+ radial-gradient(24rem 24rem at var(--glass-x, 12%) var(--glass-y, -8%), hsl(var(--glass-highlight)) 0%, transparent 46%),
1946
+ radial-gradient(120% 90% at 88% 110%, hsl(var(--glass-refraction)) 0%, transparent 48%),
1947
+ hsl(var(--glass-bg-strong));
1948
+ }
1949
+
1950
+ @media (prefers-reduced-transparency: reduce) {
1951
+ :is(.ui-glass, .ui-glass-subtle, .ui-glass-strong, [class*="--glass"])[data-ui-glass-track],
1952
+ .ui-date-picker-field--glass .ui-date-picker__popover,
1953
+ .ui-select-field--glass .ui-select__list {
1954
+ -webkit-backdrop-filter: none;
1955
+ backdrop-filter: none;
1956
+ background: hsl(var(--surface) / 0.97);
1957
+ }
1958
+
1959
+ .ui-date-picker-field--glass,
1960
+ .ui-select-field--glass {
1961
+ background: none;
1962
+ }
1963
+ }
1964
+
1965
+ @supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
1966
+ :is(.ui-glass, .ui-glass-subtle, .ui-glass-strong, [class*="--glass"])[data-ui-glass-track],
1967
+ .ui-date-picker-field--glass .ui-date-picker__popover,
1968
+ .ui-select-field--glass .ui-select__list {
1969
+ background: hsl(var(--surface) / 0.94);
1970
+ }
1971
+
1972
+ .ui-date-picker-field--glass,
1973
+ .ui-select-field--glass {
1974
+ background: none;
1975
+ }
1976
+ }
1977
+ }
1978
+
1979
+ .ui-button-link--icon {
1980
+ width: 2.75rem;
1981
+ height: 2.75rem;
1982
+ min-height: 2.75rem;
1983
+ padding: 0;
1984
+ aspect-ratio: 1 / 1;
1985
+ }
1986
+
1987
+ .ui-transfer__option:has(.ui-checkbox:checked) {
1988
+ background: hsl(var(--brand-soft) / 0.72);
1989
+ color: hsl(var(--brand-solid));
1990
+ }
1991
+
1992
+ .ui-transfer__controls .ui-button {
1993
+ box-shadow: 0 1px 2px hsl(var(--ink) / 0.05);
1994
+ }
1995
+
1996
+ .ui-transfer__controls .ui-button + .ui-button {
1997
+ margin: 0;
1998
+ }
1999
+
2000
+ @layer lumen.components {
2001
+ .ui-field-error {
2002
+ margin: 0;
2003
+ color: hsl(var(--danger));
2004
+ font-size: 0.8125rem;
2005
+ line-height: 1.5;
2006
+ }
2007
+
2008
+ .ui-checkbox-group {
2009
+ display: flex;
2010
+ min-width: 0;
2011
+ gap: 0.75rem;
2012
+ padding: 0;
2013
+ border: 0;
2014
+ margin: 0;
2015
+ }
2016
+
2017
+ .ui-checkbox-group--vertical {
2018
+ flex-direction: column;
2019
+ }
2020
+
2021
+ .ui-checkbox-group--horizontal {
2022
+ flex-flow: row wrap;
2023
+ align-items: center;
2024
+ }
2025
+
2026
+ .ui-checkbox-group > legend {
2027
+ padding: 0;
2028
+ margin-block-end: 0.25rem;
2029
+ color: hsl(var(--ink));
2030
+ font-size: 0.875rem;
2031
+ font-weight: 650;
2032
+ }
2033
+
2034
+ .ui-checkbox-group[aria-invalid="true"],
2035
+ .ui-checkbox-group[data-invalid="true"] {
2036
+ color: hsl(var(--danger));
2037
+ }
2038
+
2039
+ .ui-password-field__control > .ui-input {
2040
+ grid-area: 1 / 1;
2041
+ padding-inline-end: 3.25rem;
2042
+ }
2043
+
2044
+ .ui-password-field__control > .ui-button {
2045
+ z-index: 1;
2046
+ grid-area: 1 / 1;
2047
+ justify-self: end;
2048
+ margin-inline-end: 0.25rem;
2049
+ }
2050
+
2051
+ .ui-password-field__control > .ui-button span {
2052
+ font-size: 0.6875rem;
2053
+ }
2054
+ }