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