@refineui/react 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/dist/index.cjs +15530 -0
  2. package/dist/index.cjs.map +1 -0
  3. package/dist/index.d.cts +3905 -0
  4. package/dist/index.d.ts +3905 -0
  5. package/dist/index.js +15445 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/spec/README.md +95 -0
  8. package/dist/spec/components/accordion.json +126 -0
  9. package/dist/spec/components/alert.json +71 -0
  10. package/dist/spec/components/avatar.json +30 -0
  11. package/dist/spec/components/avatars.json +29 -0
  12. package/dist/spec/components/badge.json +41 -0
  13. package/dist/spec/components/box.json +16 -0
  14. package/dist/spec/components/breadcrumb.json +40 -0
  15. package/dist/spec/components/bubble.json +31 -0
  16. package/dist/spec/components/button.json +104 -0
  17. package/dist/spec/components/calendar.json +52 -0
  18. package/dist/spec/components/card.json +57 -0
  19. package/dist/spec/components/carousel.json +65 -0
  20. package/dist/spec/components/chart.json +34 -0
  21. package/dist/spec/components/checkbox.json +38 -0
  22. package/dist/spec/components/chip.json +65 -0
  23. package/dist/spec/components/command.json +65 -0
  24. package/dist/spec/components/container.json +16 -0
  25. package/dist/spec/components/dialog.json +95 -0
  26. package/dist/spec/components/divider.json +29 -0
  27. package/dist/spec/components/drawer.json +71 -0
  28. package/dist/spec/components/dropdown.json +64 -0
  29. package/dist/spec/components/field.json +31 -0
  30. package/dist/spec/components/footer.json +45 -0
  31. package/dist/spec/components/grid.json +17 -0
  32. package/dist/spec/components/input-otp.json +34 -0
  33. package/dist/spec/components/input.json +36 -0
  34. package/dist/spec/components/label.json +24 -0
  35. package/dist/spec/components/link.json +38 -0
  36. package/dist/spec/components/menu.json +67 -0
  37. package/dist/spec/components/navigation-menu.json +74 -0
  38. package/dist/spec/components/pagination.json +41 -0
  39. package/dist/spec/components/popover.json +42 -0
  40. package/dist/spec/components/progress-stepper.json +61 -0
  41. package/dist/spec/components/progress.json +28 -0
  42. package/dist/spec/components/radio.json +43 -0
  43. package/dist/spec/components/resizable.json +34 -0
  44. package/dist/spec/components/scroll-area.json +50 -0
  45. package/dist/spec/components/search-field.json +53 -0
  46. package/dist/spec/components/segmented-control.json +67 -0
  47. package/dist/spec/components/select.json +113 -0
  48. package/dist/spec/components/sidebar.json +45 -0
  49. package/dist/spec/components/skeleton.json +21 -0
  50. package/dist/spec/components/slider.json +43 -0
  51. package/dist/spec/components/spacer.json +16 -0
  52. package/dist/spec/components/spin-button.json +45 -0
  53. package/dist/spec/components/spinner.json +35 -0
  54. package/dist/spec/components/stack.json +16 -0
  55. package/dist/spec/components/stepper.json +62 -0
  56. package/dist/spec/components/switch.json +52 -0
  57. package/dist/spec/components/table.json +17 -0
  58. package/dist/spec/components/tabs.json +77 -0
  59. package/dist/spec/components/tag.json +65 -0
  60. package/dist/spec/components/text.json +16 -0
  61. package/dist/spec/components/textarea.json +22 -0
  62. package/dist/spec/components/toast.json +45 -0
  63. package/dist/spec/components/tooltip.json +31 -0
  64. package/dist/spec/components/tree.json +80 -0
  65. package/dist/spec/contract-index.json +721 -0
  66. package/dist/spec/manifest.json +686 -0
  67. package/dist/spec/schema/component-spec.schema.json +203 -0
  68. package/dist/spec/token-graph.json +6605 -0
  69. package/dist/spec/token-trace-v2.json +5170 -0
  70. package/package.json +54 -0
  71. package/refineui.css +2275 -0
  72. package/spec/README.md +95 -0
  73. package/spec/components/accordion.json +126 -0
  74. package/spec/components/alert.json +71 -0
  75. package/spec/components/avatar.json +30 -0
  76. package/spec/components/avatars.json +29 -0
  77. package/spec/components/badge.json +41 -0
  78. package/spec/components/box.json +16 -0
  79. package/spec/components/breadcrumb.json +40 -0
  80. package/spec/components/bubble.json +31 -0
  81. package/spec/components/button.json +104 -0
  82. package/spec/components/calendar.json +52 -0
  83. package/spec/components/card.json +57 -0
  84. package/spec/components/carousel.json +65 -0
  85. package/spec/components/chart.json +34 -0
  86. package/spec/components/checkbox.json +38 -0
  87. package/spec/components/chip.json +65 -0
  88. package/spec/components/command.json +65 -0
  89. package/spec/components/container.json +16 -0
  90. package/spec/components/dialog.json +95 -0
  91. package/spec/components/divider.json +29 -0
  92. package/spec/components/drawer.json +71 -0
  93. package/spec/components/dropdown.json +64 -0
  94. package/spec/components/field.json +31 -0
  95. package/spec/components/footer.json +45 -0
  96. package/spec/components/grid.json +17 -0
  97. package/spec/components/input-otp.json +34 -0
  98. package/spec/components/input.json +36 -0
  99. package/spec/components/label.json +24 -0
  100. package/spec/components/link.json +38 -0
  101. package/spec/components/menu.json +67 -0
  102. package/spec/components/navigation-menu.json +74 -0
  103. package/spec/components/pagination.json +41 -0
  104. package/spec/components/popover.json +42 -0
  105. package/spec/components/progress-stepper.json +61 -0
  106. package/spec/components/progress.json +28 -0
  107. package/spec/components/radio.json +43 -0
  108. package/spec/components/resizable.json +34 -0
  109. package/spec/components/scroll-area.json +50 -0
  110. package/spec/components/search-field.json +53 -0
  111. package/spec/components/segmented-control.json +67 -0
  112. package/spec/components/select.json +113 -0
  113. package/spec/components/sidebar.json +45 -0
  114. package/spec/components/skeleton.json +21 -0
  115. package/spec/components/slider.json +43 -0
  116. package/spec/components/spacer.json +16 -0
  117. package/spec/components/spin-button.json +45 -0
  118. package/spec/components/spinner.json +35 -0
  119. package/spec/components/stack.json +16 -0
  120. package/spec/components/stepper.json +62 -0
  121. package/spec/components/switch.json +52 -0
  122. package/spec/components/table.json +17 -0
  123. package/spec/components/tabs.json +77 -0
  124. package/spec/components/tag.json +65 -0
  125. package/spec/components/text.json +16 -0
  126. package/spec/components/textarea.json +22 -0
  127. package/spec/components/toast.json +45 -0
  128. package/spec/components/tooltip.json +31 -0
  129. package/spec/components/tree.json +80 -0
  130. package/spec/manifest.json +686 -0
  131. package/spec/schema/component-spec.schema.json +203 -0
package/refineui.css ADDED
@@ -0,0 +1,2275 @@
1
+ /* RefineUI base styles — hover, focus, active */
2
+ /* Import: import "@refineui/react/refineui.css" */
3
+ /* Foundation: https://www.figma.com/design/GOLyxZSkzbRIuMNBvxeqr3/Pelagornis-RefineUI-Foundation */
4
+
5
+ /* @refineui/tokens — single source for palette, spacing, radius, etc. */
6
+ /* Vite can break `@refineui/tokens/...` when resolving via index.mjs; sibling packages use a relative import */
7
+ @import "../tokens/dist/css-variables.css";
8
+ @import "@refineui/web-icons/dist/fonts/refineui-system-icons.css";
9
+
10
+ :root {
11
+ --refineui-focus-color: var(--refineui-color-primary-black);
12
+ --refineui-focus-offset: var(--refineui-spacing-size-xxx-small);
13
+ --refineui-bg: var(--refineui-color-neutral-white);
14
+ --refineui-text: var(--refineui-color-primary-black);
15
+ --refineui-border: var(--refineui-color-neutral-300);
16
+ --refineui-placeholder: var(--refineui-color-neutral-450);
17
+ --refineui-btn-primary-hover: var(--refineui-color-alias-background-brand-hover);
18
+ --refineui-btn-primary-pressed: var(--refineui-color-alias-background-brand-active);
19
+ }
20
+
21
+ /* Dark mode — supports data-theme or .dark on ancestor */
22
+ [data-theme="dark"], .dark {
23
+ --refineui-focus-color: var(--refineui-color-neutral-white);
24
+ --refineui-bg: var(--refineui-color-neutral-900);
25
+ --refineui-text: var(--refineui-color-neutral-250);
26
+ --refineui-border: var(--refineui-color-neutral-700);
27
+ --refineui-placeholder: var(--refineui-color-neutral-550);
28
+ --refineui-btn-primary-hover: var(--refineui-color-alias-background-brand-hover);
29
+ --refineui-btn-primary-pressed: var(--refineui-color-alias-background-brand-active);
30
+ --refineui-btn-danger-hover: var(--refineui-color-red-500);
31
+ }
32
+
33
+ /* Avatars stack — Web Kit Avater Stack `69:3008` (`--avatar-stack-overlap` = foundation step vars) */
34
+ [data-refineui="avatars"][data-layout="stack"] {
35
+ padding-right: var(--avatar-stack-overlap, var(--refineui-size-foundation-size-60));
36
+ }
37
+ [data-refineui="avatars"][data-layout="stack"] > *:not(:first-child) {
38
+ margin-left: calc(-1 * var(--avatar-stack-overlap, var(--refineui-size-foundation-size-60)));
39
+ }
40
+
41
+ /* Button & button-like */
42
+ [data-refineui="button"] {
43
+ transition:
44
+ opacity var(--refineui-motion-duration-fast),
45
+ background-color var(--refineui-motion-duration-fast),
46
+ border-color var(--refineui-motion-duration-fast),
47
+ transform var(--refineui-motion-duration-fast);
48
+ }
49
+ [data-refineui="switch"],
50
+ [data-refineui="pagination"],
51
+ [data-refineui="accordion-trigger"],
52
+ [data-refineui="menu-item"],
53
+ [data-refineui="tree-item-trigger"],
54
+ [data-refineui="command-item"],
55
+ [data-refineui="segmented-control-item"],
56
+ [data-refineui="tab"],
57
+ [data-refineui="calendar-nav"],
58
+ [data-refineui="chip-remove"],
59
+ [data-refineui="search-field-clear"] {
60
+ transition:
61
+ opacity var(--refineui-motion-duration-fast),
62
+ background-color var(--refineui-motion-duration-fast),
63
+ transform var(--refineui-motion-duration-fast);
64
+ }
65
+ [data-refineui="dropdown-item"] {
66
+ transition:
67
+ background-color var(--refineui-motion-duration-fast),
68
+ transform var(--refineui-motion-duration-fast);
69
+ }
70
+ [data-refineui="select-item"] {
71
+ transition:
72
+ background-color var(--refineui-motion-duration-fast),
73
+ transform var(--refineui-motion-duration-fast);
74
+ }
75
+ /* List rows — Sidebar link plate (primary hover / active) */
76
+ [data-refineui="dropdown-item"][data-selected="true"]:not(:disabled) {
77
+ color: var(--refineui-color-alias-foreground-primary) !important;
78
+ background-color: var(--refineui-color-alias-background-primary-hover) !important;
79
+ }
80
+ [data-refineui="dropdown-item"][data-state="selected"]:not(:disabled) {
81
+ color: var(--refineui-color-alias-foreground-primary) !important;
82
+ background-color: var(--refineui-color-alias-background-primary-hover) !important;
83
+ }
84
+ [data-refineui="select-item"][data-selected="true"]:not([aria-disabled="true"]) {
85
+ color: var(--refineui-color-alias-foreground-primary) !important;
86
+ background-color: var(--refineui-color-alias-background-primary-hover) !important;
87
+ border-color: transparent;
88
+ }
89
+ [data-refineui="dropdown-item"]:not(:disabled):hover:not(:active),
90
+ [data-refineui="dropdown-menu"] [data-refineui="dropdown-item"]:not(:disabled):focus {
91
+ color: var(--refineui-color-alias-foreground-primary-hover) !important;
92
+ background-color: var(--refineui-color-alias-background-primary-hover) !important;
93
+ }
94
+ [data-refineui="select-item"]:not([aria-disabled="true"]):hover:not(:active),
95
+ [data-refineui="select-menu"] [data-refineui="select-item"]:not([aria-disabled="true"]):not(:active):focus {
96
+ color: var(--refineui-color-alias-foreground-primary-hover) !important;
97
+ background-color: var(--refineui-color-alias-background-primary-hover) !important;
98
+ }
99
+ [data-refineui="dropdown-item"]:not(:disabled):active,
100
+ [data-refineui="dropdown-item"][data-state="pressed"]:not(:disabled),
101
+ [data-refineui="dropdown-item"][data-state="pressed"]:not(:disabled):hover,
102
+ [data-refineui="dropdown-item"][data-selected="true"]:not(:disabled):active {
103
+ color: var(--refineui-color-alias-foreground-primary) !important;
104
+ background-color: var(--refineui-color-alias-background-primary-active) !important;
105
+ }
106
+ [data-refineui="select-item"]:not([aria-disabled="true"]):active,
107
+ [data-refineui="select-item"][data-selected="true"]:not([aria-disabled="true"]):active,
108
+ [data-refineui="select-item"][data-state="pressed"]:not([aria-disabled="true"]),
109
+ [data-refineui="select-item"][data-state="pressed"]:not([aria-disabled="true"]):hover,
110
+ [data-refineui="select-item"][data-state="pressed"][data-selected="true"]:not([aria-disabled="true"]) {
111
+ color: var(--refineui-color-alias-foreground-primary) !important;
112
+ background-color: var(--refineui-color-alias-background-primary-active) !important;
113
+ }
114
+ [data-refineui="select-item"][data-state="hover"]:not([aria-disabled="true"]) {
115
+ color: var(--refineui-color-alias-foreground-primary-hover) !important;
116
+ background-color: var(--refineui-color-alias-background-primary-hover) !important;
117
+ }
118
+ [data-refineui="select-item"][data-state="selected"]:not([aria-disabled="true"]) {
119
+ color: var(--refineui-color-alias-foreground-primary) !important;
120
+ background-color: var(--refineui-color-alias-background-primary-hover) !important;
121
+ border-color: transparent;
122
+ }
123
+ [data-refineui="select-item"][data-selected="true"]:focus-visible,
124
+ [data-refineui="select-item"][data-state="selected"]:focus-visible {
125
+ outline: none;
126
+ }
127
+ /* State=Disabled `1144:2423` — background surfaceDisabled + text foregroundDisabled */
128
+ [data-refineui="select-item"][aria-disabled="true"] {
129
+ background-color: var(--refineui-color-alias-background-surface-disabled) !important;
130
+ color: var(--refineui-color-alias-foreground-disabled) !important;
131
+ transform: none !important;
132
+ }
133
+ [data-refineui="select-item"][aria-disabled="true"] [data-refineui-select-item-text] {
134
+ color: inherit;
135
+ }
136
+
137
+ [data-refineui="dropdown-menu"][data-side="bottom"] {
138
+ transform-origin: top center;
139
+ animation: refineui-dropdown-menu-enter-bottom var(--refineui-motion-duration-normal) var(--refineui-motion-easing-standard) both;
140
+ }
141
+ [data-refineui="select-menu"][data-side="bottom"] {
142
+ transform-origin: top center;
143
+ animation: refineui-dropdown-menu-enter-bottom var(--refineui-motion-duration-normal) var(--refineui-motion-easing-standard) both;
144
+ }
145
+ [data-refineui="dropdown-menu"][data-side="top"] {
146
+ transform-origin: bottom center;
147
+ animation: refineui-dropdown-menu-enter-top var(--refineui-motion-duration-normal) var(--refineui-motion-easing-standard) both;
148
+ }
149
+ [data-refineui="select-menu"][data-side="top"] {
150
+ transform-origin: bottom center;
151
+ animation: refineui-dropdown-menu-enter-top var(--refineui-motion-duration-normal) var(--refineui-motion-easing-standard) both;
152
+ }
153
+ @keyframes refineui-dropdown-menu-enter-bottom {
154
+ from {
155
+ opacity: 0;
156
+ transform: translateY(-4px);
157
+ }
158
+ to {
159
+ opacity: 1;
160
+ transform: translateY(0);
161
+ }
162
+ }
163
+ @keyframes refineui-dropdown-menu-enter-top {
164
+ from {
165
+ opacity: 0;
166
+ transform: translateY(4px);
167
+ }
168
+ to {
169
+ opacity: 1;
170
+ transform: translateY(0);
171
+ }
172
+ }
173
+ @media (prefers-reduced-motion: reduce) {
174
+ [data-refineui="dropdown-menu"],
175
+ [data-refineui="select-menu"] {
176
+ animation: none !important;
177
+ }
178
+ }
179
+ [data-refineui="calendar-day"] {
180
+ transition:
181
+ background-color var(--refineui-motion-duration-fast),
182
+ border-color var(--refineui-motion-duration-fast),
183
+ color var(--refineui-motion-duration-fast),
184
+ transform var(--refineui-motion-duration-fast);
185
+ }
186
+ /* Calendar caption selects — ghost plate (header chrome, not form-field outline) */
187
+ [data-refineui="calendar"] [data-refineui="select-trigger"][data-calendar-header]:not(:disabled):hover:not(:active),
188
+ [data-refineui="calendar"] [data-refineui="select-trigger"][data-calendar-header][data-state="open"]:not(:disabled) {
189
+ background-color: var(--refineui-color-alias-background-primary-hover);
190
+ color: var(--refineui-color-alias-foreground-primary-hover);
191
+ }
192
+ [data-refineui="calendar"] [data-refineui="select-trigger"][data-calendar-header]:not(:disabled):active,
193
+ [data-refineui="calendar"] [data-refineui="select-trigger"][data-calendar-header][data-state="open"]:not(:disabled):active {
194
+ background-color: var(--refineui-color-alias-background-primary-active);
195
+ color: var(--refineui-color-alias-foreground-primary);
196
+ }
197
+ [data-refineui="calendar-nav"]:hover,
198
+ [data-refineui="chip-remove"]:hover {
199
+ opacity: 0.9;
200
+ }
201
+
202
+ /* Accordion — Web Kit `54:146`: pressed only (no hover) + unified open item shell */
203
+ [data-refineui="accordion-trigger"]:active {
204
+ background-color: var(--refineui-color-alias-background-primary-active) !important;
205
+ transform: scale(var(--refineui-motion-scale-press));
206
+ }
207
+ [data-refineui="accordion-item"][data-state="open"] [data-refineui="accordion-trigger"] {
208
+ background-color: transparent;
209
+ }
210
+ [data-refineui="accordion-item"][data-state="open"] [data-refineui="accordion-trigger"]:active {
211
+ background-color: var(--refineui-color-alias-background-primary-active) !important;
212
+ transform: scale(var(--refineui-motion-scale-press));
213
+ }
214
+
215
+ /* Alert — host radius `roundedXLarge` (Foundation). Do not rely on Tailwind `rounded-*`. */
216
+ [data-refineui="alert"] {
217
+ border-radius: var(--refineui-radius-rounded-x-large);
218
+ }
219
+
220
+ /* Switch — Web Kit `270:3057` · color feedback (alias tokens only) */
221
+ [data-refineui="switch"][data-checked="false"]:not(:disabled):hover:not(:active) {
222
+ background-color: var(--refineui-color-alias-background-surface-selected) !important;
223
+ }
224
+ [data-refineui="switch"][data-checked="false"]:not(:disabled):active {
225
+ background-color: var(--refineui-color-alias-background-brand-subtle) !important;
226
+ }
227
+ [data-refineui="switch"][data-checked="true"]:not(:disabled):hover:not(:active) {
228
+ background-color: var(--refineui-color-alias-background-brand-hover) !important;
229
+ }
230
+ [data-refineui="switch"][data-checked="true"]:not(:disabled):active {
231
+ background-color: var(--refineui-color-alias-background-brand-active) !important;
232
+ }
233
+ [data-refineui="switch"]:focus-visible:not(:disabled) {
234
+ outline: 2px solid var(--refineui-color-alias-border-focus);
235
+ outline-offset: var(--refineui-spacing-size-xxx-small);
236
+ }
237
+
238
+ /* Thumb travel — logical: flip translateX under dir=rtl */
239
+ [data-refineui="switch"] > span {
240
+ transform: translateX(0);
241
+ }
242
+ [data-refineui="switch"][data-checked="true"] > span {
243
+ transform: translateX(var(--refineui-size-switch-thumb));
244
+ }
245
+ [dir="rtl"] [data-refineui="switch"][data-checked="true"] > span {
246
+ transform: translateX(calc(-1 * var(--refineui-size-switch-thumb)));
247
+ }
248
+
249
+ /* Table — header rail · inset rows · selected matches Menu/Dropdown (no brand mark) */
250
+ [data-refineui="table"] table {
251
+ border-collapse: separate;
252
+ border-spacing: 0 var(--refineui-spacing-size-xx-small);
253
+ }
254
+
255
+ /* Chrome strips — header + footer share surface language */
256
+ [data-refineui="table"] thead th,
257
+ [data-refineui="table"] tfoot td {
258
+ background-color: var(--refineui-color-alias-background-surface-active);
259
+ }
260
+ [data-refineui="table"] thead th:first-child,
261
+ [data-refineui="table"] tfoot td:first-child {
262
+ border-start-start-radius: var(--refineui-radius-rounded-large);
263
+ border-end-start-radius: var(--refineui-radius-rounded-large);
264
+ }
265
+ [data-refineui="table"] thead th:last-child,
266
+ [data-refineui="table"] tfoot td:last-child {
267
+ border-start-end-radius: var(--refineui-radius-rounded-large);
268
+ border-end-end-radius: var(--refineui-radius-rounded-large);
269
+ }
270
+
271
+ /* Header labels — quieter than body, same strip as footer */
272
+ [data-refineui="table"] thead th {
273
+ color: var(--refineui-color-alias-foreground-tertiary);
274
+ box-shadow: inset 0 calc(-1 * var(--refineui-stroke-width-thin)) 0 0
275
+ var(--refineui-color-alias-border-subtle);
276
+ }
277
+
278
+ /* Footer values — secondary emphasis on the same strip */
279
+ [data-refineui="table"] tfoot td {
280
+ font-weight: 500;
281
+ color: var(--refineui-color-alias-foreground-secondary);
282
+ }
283
+
284
+ /* Inset hover — Menu / Dropdown `surfaceHover` */
285
+ [data-refineui="table"] tbody [data-refineui="table-row"]:not([data-state="selected"]):hover > * {
286
+ background-color: var(--refineui-color-alias-background-surface-hover);
287
+ }
288
+ [data-refineui="table"] tbody [data-refineui="table-row"]:not([data-state="selected"]):hover > *:first-child {
289
+ border-start-start-radius: var(--refineui-radius-rounded-large);
290
+ border-end-start-radius: var(--refineui-radius-rounded-large);
291
+ }
292
+ [data-refineui="table"] tbody [data-refineui="table-row"]:not([data-state="selected"]):hover > *:last-child {
293
+ border-start-end-radius: var(--refineui-radius-rounded-large);
294
+ border-end-end-radius: var(--refineui-radius-rounded-large);
295
+ }
296
+
297
+ /* Selected — Menu / Dropdown `surfaceSelected`, no leading brand bar */
298
+ [data-refineui="table"] tbody [data-refineui="table-row"][data-state="selected"] > * {
299
+ background-color: var(--refineui-color-alias-background-surface-selected);
300
+ }
301
+ [data-refineui="table"] tbody [data-refineui="table-row"][data-state="selected"] > *:first-child {
302
+ border-start-start-radius: var(--refineui-radius-rounded-large);
303
+ border-end-start-radius: var(--refineui-radius-rounded-large);
304
+ }
305
+ [data-refineui="table"] tbody [data-refineui="table-row"][data-state="selected"] > *:last-child {
306
+ border-start-end-radius: var(--refineui-radius-rounded-large);
307
+ border-end-end-radius: var(--refineui-radius-rounded-large);
308
+ }
309
+
310
+ /* Segmented Control — sliding brand indicator */
311
+
312
+ /* Overflowing options stay reachable by drag/keyboard without native scrollbar chrome inside the pill. */
313
+ [data-refineui="segmented-control"] {
314
+ scrollbar-width: none;
315
+ overscroll-behavior-x: contain;
316
+ }
317
+ [data-refineui="segmented-control"]::-webkit-scrollbar {
318
+ display: none;
319
+ }
320
+
321
+ [data-refineui="segmented-control-indicator"] {
322
+ transition: none;
323
+ display: block;
324
+ }
325
+ [data-refineui="segmented-control-indicator"][data-ready="true"] {
326
+ transition:
327
+ transform var(--refineui-motion-duration-medium) var(--refineui-motion-easing-emphasized),
328
+ width var(--refineui-motion-duration-medium) var(--refineui-motion-easing-emphasized);
329
+ }
330
+
331
+ [data-refineui="segmented-control"] [data-refineui="segmented-control-item"]:not(:disabled):not([aria-disabled="true"]):not([data-selected="true"]):hover {
332
+ color: var(--refineui-color-alias-foreground-primary);
333
+ background-color: transparent;
334
+ }
335
+ [data-refineui="segmented-control"] [data-refineui="segmented-control-item"][data-selected="true"]:not(:disabled):not([aria-disabled="true"]):hover {
336
+ color: var(--refineui-color-alias-foreground-on-brand);
337
+ background-color: transparent;
338
+ }
339
+ [data-refineui="segmented-control"]:has(
340
+ [data-refineui="segmented-control-item"][data-selected="true"]:not(:disabled):hover
341
+ ) [data-refineui="segmented-control-indicator"] {
342
+ background-color: var(--refineui-color-alias-background-brand-hover);
343
+ }
344
+ [data-refineui="segmented-control-item"]:active {
345
+ transform: none;
346
+ }
347
+
348
+ /* Tabs — underline track, sliding brand indicator */
349
+ [data-refineui="tabs-indicator"] {
350
+ transition: none;
351
+ display: block;
352
+ }
353
+ [data-refineui="tabs-indicator"][data-ready="true"] {
354
+ transition:
355
+ transform var(--refineui-motion-duration-medium) var(--refineui-motion-easing-emphasized),
356
+ width var(--refineui-motion-duration-medium) var(--refineui-motion-easing-emphasized);
357
+ }
358
+ [data-refineui="tab"]:not(:disabled):not([aria-disabled="true"]):not([data-selected="true"]):hover {
359
+ color: var(--refineui-color-alias-foreground-primary-hover);
360
+ }
361
+ [data-refineui="tab"][data-selected="true"]:not(:disabled):not([aria-disabled="true"]):hover {
362
+ color: var(--refineui-color-alias-foreground-primary);
363
+ }
364
+ [data-refineui="tabs"]:has(
365
+ [data-refineui="tab"][data-selected="true"]:not(:disabled):hover
366
+ ) [data-refineui="tabs-indicator"] {
367
+ background-color: var(--refineui-color-alias-background-brand-hover);
368
+ }
369
+ [data-refineui="tab"]:active {
370
+ transform: none;
371
+ }
372
+ /* Calendar / Day — Web Kit `Calendar / Day` (`639:7052`) */
373
+ [data-refineui="calendar-day"]:not([disabled]):not([data-inactive="true"]):not([data-selected]):not([data-range-middle]):hover:not(:active) {
374
+ background-color: var(--refineui-color-alias-background-primary-hover) !important;
375
+ color: var(--refineui-color-alias-foreground-primary-hover) !important;
376
+ }
377
+ [data-refineui="calendar-day"]:not([disabled]):not([data-inactive="true"]):not([data-selected]):not([data-range-middle]):active {
378
+ background-color: var(--refineui-color-alias-background-primary-active) !important;
379
+ color: var(--refineui-color-alias-foreground-primary) !important;
380
+ }
381
+ [data-refineui="calendar-day"][data-range-middle]:not([disabled]):not([data-inactive="true"]):hover:not(:active) {
382
+ background-color: var(--refineui-color-alias-background-primary-hover) !important;
383
+ color: var(--refineui-color-alias-foreground-primary-hover) !important;
384
+ }
385
+ [data-refineui="calendar-day"][data-range-middle]:not([disabled]):not([data-inactive="true"]):active {
386
+ background-color: var(--refineui-color-alias-background-primary-active) !important;
387
+ color: var(--refineui-color-alias-foreground-primary) !important;
388
+ }
389
+ /* Selected / Day — selection uses fixed rest only; no hover/pressed background (Web Kit) */
390
+ /* Stepper — markers share Calendar day cell selection; upcoming uses primary hover/active */
391
+ [data-refineui="stepper-item"]:not([data-disabled="true"])
392
+ [data-refineui="stepper-indicator"][data-state="upcoming"]:active {
393
+ background-color: var(--refineui-color-alias-background-primary-active) !important;
394
+ border-color: var(--refineui-color-alias-border-strong) !important;
395
+ color: var(--refineui-color-alias-foreground-primary) !important;
396
+ }
397
+ /* Pagination — Web Kit `558:1989` · `Pagination / Item` `570:2332` */
398
+ [data-refineui="pagination"]:not([data-ellipsis="true"]):not(:disabled):not(:focus):hover {
399
+ background-color: var(--refineui-color-alias-background-surface-hover) !important;
400
+ border-color: var(--refineui-color-alias-border-hover) !important;
401
+ }
402
+ [data-refineui="pagination"][data-page="true"][data-selected="true"] {
403
+ border-width: var(--refineui-stroke-width-thick);
404
+ border-color: var(--refineui-color-alias-border-focus);
405
+ background-color: var(--refineui-color-alias-background-surface-selected);
406
+ color: var(--refineui-color-alias-foreground-primary);
407
+ font-weight: 600;
408
+ }
409
+ [data-refineui="pagination"]:not([data-ellipsis="true"]):focus-visible {
410
+ border-color: var(--refineui-color-alias-border-focus) !important;
411
+ box-shadow: 0 0 0 0.5px var(--refineui-color-alias-border-focus);
412
+ }
413
+ [data-refineui="pagination"]:disabled {
414
+ background-color: var(--refineui-color-alias-background-surface-disabled) !important;
415
+ border-color: var(--refineui-color-alias-border-disabled) !important;
416
+ color: var(--refineui-color-alias-foreground-disabled) !important;
417
+ cursor: not-allowed;
418
+ opacity: 1;
419
+ transform: none;
420
+ }
421
+ /* Button — Web Kit `79:3304` — Hover: `:hover:not(:active)`; Pressed: `:active` only (no overlap) */
422
+ [data-refineui="button"][data-variant="primary"]:not([data-inactive="true"]):hover:not(:active) {
423
+ background-color: var(--refineui-btn-primary-hover) !important;
424
+ }
425
+ [data-refineui="button"][data-variant="primary"]:not([data-inactive="true"]):active {
426
+ background-color: var(--refineui-btn-primary-pressed) !important;
427
+ }
428
+ [data-refineui="button"][data-variant="secondary"]:not([data-inactive="true"]):hover:not(:active) {
429
+ background-color: var(--refineui-color-alias-background-surface-hover) !important;
430
+ border-color: var(--refineui-color-alias-border-strong) !important;
431
+ color: var(--refineui-color-alias-foreground-primary-hover) !important;
432
+ }
433
+ [data-refineui="button"][data-variant="secondary"]:not([data-inactive="true"]):active {
434
+ background-color: var(--refineui-color-alias-background-surface-active) !important;
435
+ border-color: var(--refineui-color-alias-border-strong) !important;
436
+ color: var(--refineui-color-alias-foreground-primary) !important;
437
+ }
438
+ [data-refineui="button"][data-variant="outline"]:not([data-inactive="true"]):hover:not(:active) {
439
+ border-color: var(--refineui-color-alias-border-strong) !important;
440
+ color: var(--refineui-color-alias-foreground-primary-hover) !important;
441
+ }
442
+ [data-refineui="button"][data-variant="outline"]:not([data-inactive="true"]):active {
443
+ border-color: var(--refineui-color-alias-border-strong) !important;
444
+ }
445
+ [data-refineui="button"][data-variant="ghost"]:not([data-inactive="true"]):hover:not(:active) {
446
+ background-color: var(--refineui-color-alias-background-primary-hover) !important;
447
+ color: var(--refineui-color-alias-foreground-primary-hover) !important;
448
+ }
449
+ [data-refineui="button"][data-variant="ghost"]:not([data-inactive="true"]):active {
450
+ background-color: var(--refineui-color-alias-background-primary-active) !important;
451
+ color: var(--refineui-color-alias-foreground-primary) !important;
452
+ }
453
+
454
+ /* Button — inactive / disabled (`data-inactive` — native disabled or aria-disabled) */
455
+ [data-refineui="button"][data-inactive="true"] {
456
+ opacity: 1;
457
+ transform: none !important;
458
+ }
459
+ [data-refineui="button"][data-variant="primary"][data-inactive="true"] {
460
+ background-color: var(--refineui-color-alias-background-brand-disabled) !important;
461
+ border-color: transparent !important;
462
+ color: var(--refineui-color-alias-foreground-disabled) !important;
463
+ }
464
+ [data-refineui="button"][data-variant="secondary"][data-inactive="true"] {
465
+ background-color: var(--refineui-color-alias-background-surface-disabled) !important;
466
+ border-color: var(--refineui-color-alias-border-disabled) !important;
467
+ color: var(--refineui-color-alias-foreground-disabled) !important;
468
+ }
469
+ [data-refineui="button"][data-variant="outline"][data-inactive="true"] {
470
+ background-color: transparent !important;
471
+ border-color: var(--refineui-color-alias-border-disabled) !important;
472
+ color: var(--refineui-color-alias-foreground-disabled) !important;
473
+ }
474
+ [data-refineui="button"][data-variant="ghost"][data-inactive="true"] {
475
+ background-color: transparent !important;
476
+ border-color: transparent !important;
477
+ color: var(--refineui-color-alias-foreground-disabled) !important;
478
+ }
479
+
480
+ [data-refineui="button"]:not([data-inactive="true"]):active,
481
+ [data-refineui="pagination"][data-page="true"]:not(:disabled):active,
482
+ [data-refineui="pagination"]:not(:disabled):active,
483
+ [data-refineui="dropdown-item"]:not(:disabled):active,
484
+ [data-refineui="select-item"]:not([aria-disabled="true"]):active,
485
+ [data-refineui="menu-item"]:not(:disabled):active,
486
+ [data-refineui="command-item"]:not(:disabled):active,
487
+ [data-refineui="calendar-nav"]:active,
488
+ [data-refineui="calendar-day"]:active,
489
+ [data-refineui="chip-remove"]:active {
490
+ transform: scale(var(--refineui-motion-scale-press));
491
+ }
492
+ /* `data-state="pressed"` — div options (`select-item`) can drop scale with `:active` alone; mirror here */
493
+ [data-refineui="dropdown-item"][data-state="pressed"]:not(:disabled),
494
+ [data-refineui="select-item"][data-state="pressed"]:not([aria-disabled="true"]),
495
+ [data-refineui="menu-item"][data-state="pressed"]:not(:disabled),
496
+ [data-refineui="command-item"][data-state="pressed"]:not(:disabled) {
497
+ transform: scale(var(--refineui-motion-scale-press));
498
+ }
499
+ [data-refineui="button"]:focus-visible,
500
+ [data-refineui="pagination"][data-page="true"]:focus-visible,
501
+ [data-refineui="pagination"]:focus-visible,
502
+ [data-refineui="accordion-trigger"]:focus-visible,
503
+ [data-refineui="select-item"]:focus:not(:focus-visible) {
504
+ outline: none;
505
+ }
506
+ [data-refineui="dropdown-item"]:focus-visible,
507
+ [data-refineui="select-item"]:focus-visible,
508
+ [data-refineui="menu-item"]:focus-visible,
509
+ [data-refineui="command-item"]:focus-visible,
510
+ [data-refineui="segmented-control-item"]:focus-visible,
511
+ [data-refineui="tab"]:focus-visible,
512
+ [data-refineui="calendar-nav"]:focus-visible,
513
+ [data-refineui="calendar-day"]:focus-visible,
514
+ [data-refineui="chip-remove"]:focus-visible,
515
+ [data-refineui="drawer-close"]:focus-visible,
516
+ [data-refineui="search-field-clear"]:focus-visible {
517
+ outline: 2px solid var(--refineui-focus-color);
518
+ outline-offset: var(--refineui-focus-offset);
519
+ }
520
+ /* Segmented Control: inset focus — outline is not clipped by track overflow */
521
+ [data-refineui="segmented-control"] [data-refineui="segmented-control-item"]:focus-visible {
522
+ outline: none;
523
+ outline-offset: 0;
524
+ }
525
+ [data-refineui="segmented-control"] [data-refineui="segmented-control-item"]:not([data-selected="true"]):focus-visible {
526
+ box-shadow: inset 0 0 0 var(--refineui-stroke-width-thick) var(--refineui-color-alias-border-focus);
527
+ }
528
+ [data-refineui="segmented-control"] [data-refineui="segmented-control-item"][data-selected="true"]:focus-visible {
529
+ box-shadow: none;
530
+ }
531
+
532
+ /* Tree / Item — Sidebar link plate (see list rows above) */
533
+ [data-refineui="tree-item-trigger"] {
534
+ border-radius: var(--refineui-radius-rounded-large);
535
+ transition:
536
+ color var(--refineui-motion-duration-fast),
537
+ background-color var(--refineui-motion-duration-fast);
538
+ }
539
+ [data-refineui="tree-item-trigger"]:not([data-disabled="true"]):hover:not(:active) {
540
+ color: var(--refineui-color-alias-foreground-primary-hover) !important;
541
+ background-color: var(--refineui-color-alias-background-primary-hover) !important;
542
+ }
543
+ [data-refineui="tree-item-trigger"][data-selected="true"] {
544
+ color: var(--refineui-color-alias-foreground-primary) !important;
545
+ background-color: var(--refineui-color-alias-background-primary-hover) !important;
546
+ }
547
+ [data-refineui="tree-item-trigger"][data-selected="true"]:hover:not(:active) {
548
+ color: var(--refineui-color-alias-foreground-primary-hover) !important;
549
+ }
550
+ [data-refineui="tree-item-trigger"]:not([data-disabled="true"]):active,
551
+ [data-refineui="tree-item-trigger"][data-selected="true"]:active {
552
+ color: var(--refineui-color-alias-foreground-primary) !important;
553
+ background-color: var(--refineui-color-alias-background-primary-active) !important;
554
+ }
555
+ [data-refineui="tree-item-trigger"]:not([data-disabled="true"]):focus-visible {
556
+ outline: 2px solid var(--refineui-focus-color);
557
+ outline-offset: var(--refineui-focus-offset);
558
+ }
559
+ [data-refineui="tree-item-trigger"][data-disabled="true"] {
560
+ color: var(--refineui-color-alias-foreground-disabled) !important;
561
+ pointer-events: none;
562
+ cursor: not-allowed;
563
+ }
564
+
565
+ /* Menu / Item — Sidebar link plate */
566
+ [data-refineui="menu-item"][data-state="hover"] {
567
+ color: var(--refineui-color-alias-foreground-primary-hover) !important;
568
+ background-color: var(--refineui-color-alias-background-primary-hover) !important;
569
+ }
570
+ [data-refineui="menu-item"][data-state="pressed"] {
571
+ color: var(--refineui-color-alias-foreground-primary) !important;
572
+ background-color: var(--refineui-color-alias-background-primary-active) !important;
573
+ }
574
+ [data-refineui="menu-item"][data-state="active"] {
575
+ color: var(--refineui-color-alias-foreground-primary) !important;
576
+ background-color: var(--refineui-color-alias-background-primary-hover) !important;
577
+ }
578
+ [data-refineui="menu-item"][data-state="disabled"] {
579
+ background-color: transparent !important;
580
+ color: var(--refineui-color-alias-foreground-disabled) !important;
581
+ }
582
+ [data-refineui="menu-item"][data-state="default"]:not(:disabled):hover {
583
+ color: var(--refineui-color-alias-foreground-primary-hover) !important;
584
+ background-color: var(--refineui-color-alias-background-primary-hover) !important;
585
+ }
586
+ [data-refineui="menu-item"][data-state="default"]:not(:disabled):active {
587
+ color: var(--refineui-color-alias-foreground-primary) !important;
588
+ background-color: var(--refineui-color-alias-background-primary-active) !important;
589
+ }
590
+
591
+ /* Command / Item — Sidebar link plate */
592
+ [data-refineui="command-item"][data-state="hover"],
593
+ [data-refineui="command-item"][data-selected="true"]:not(:disabled):not(:active) {
594
+ color: var(--refineui-color-alias-foreground-primary-hover) !important;
595
+ background-color: var(--refineui-color-alias-background-primary-hover) !important;
596
+ }
597
+ [data-refineui="command-item"][data-state="pressed"],
598
+ [data-refineui="command-item"][data-state="active"]:not(:disabled):active,
599
+ [data-refineui="command-item"][data-selected="true"]:not(:disabled):active {
600
+ color: var(--refineui-color-alias-foreground-primary) !important;
601
+ background-color: var(--refineui-color-alias-background-primary-active) !important;
602
+ }
603
+ [data-refineui="command-item"][data-state="active"]:not(:disabled):not(:active) {
604
+ color: var(--refineui-color-alias-foreground-primary) !important;
605
+ background-color: var(--refineui-color-alias-background-primary-hover) !important;
606
+ }
607
+ [data-refineui="command-item"][data-state="disabled"],
608
+ [data-refineui="command-item"]:disabled {
609
+ background-color: transparent !important;
610
+ color: var(--refineui-color-alias-foreground-disabled) !important;
611
+ }
612
+ [data-refineui="command-item"][data-state="default"]:not(:disabled):hover {
613
+ color: var(--refineui-color-alias-foreground-primary-hover) !important;
614
+ background-color: var(--refineui-color-alias-background-primary-hover) !important;
615
+ }
616
+ [data-refineui="command-item"][data-state="default"]:not(:disabled):active,
617
+ [data-refineui="command-item"]:not(:disabled):active {
618
+ color: var(--refineui-color-alias-foreground-primary) !important;
619
+ background-color: var(--refineui-color-alias-background-primary-active) !important;
620
+ }
621
+
622
+ @keyframes refineui-menu-popover-enter {
623
+ from {
624
+ opacity: 0;
625
+ transform: translateY(calc(-1 * var(--refineui-motion-distance-float))) scale(var(--refineui-motion-scale-press));
626
+ }
627
+ to {
628
+ opacity: 1;
629
+ transform: translateY(0) scale(1);
630
+ }
631
+ }
632
+
633
+ @keyframes refineui-menu-popover-exit {
634
+ from {
635
+ opacity: 1;
636
+ transform: translateY(0) scale(1);
637
+ }
638
+ to {
639
+ opacity: 0;
640
+ transform: translateY(calc(-1 * var(--refineui-motion-distance-float))) scale(var(--refineui-motion-scale-press));
641
+ }
642
+ }
643
+
644
+ [data-refineui="menu-popover"][data-state="open"] {
645
+ transform-origin: top left;
646
+ animation: refineui-menu-popover-enter var(--refineui-motion-duration-normal) var(--refineui-motion-easing-standard);
647
+ }
648
+ [data-refineui="menu-popover"][data-state="closed"] {
649
+ transform-origin: top left;
650
+ pointer-events: none;
651
+ animation: refineui-menu-popover-exit var(--refineui-motion-duration-normal) var(--refineui-motion-easing-standard);
652
+ }
653
+ /* Ensure portaled panel paints above Starlight content (inline z-index is the source of truth) */
654
+ [data-refineui="menu-popover"] {
655
+ z-index: var(--refineui-z-messages);
656
+ }
657
+
658
+ @media (prefers-reduced-motion: reduce) {
659
+ [data-refineui="menu-popover"] {
660
+ animation: none;
661
+ }
662
+ }
663
+
664
+ @keyframes refineui-menu-submenu-enter-right {
665
+ from {
666
+ opacity: 0;
667
+ transform: translateX(calc(-1 * var(--refineui-motion-distance-float)));
668
+ }
669
+ to {
670
+ opacity: 1;
671
+ transform: translateX(0);
672
+ }
673
+ }
674
+
675
+ @keyframes refineui-menu-submenu-enter-left {
676
+ from {
677
+ opacity: 0;
678
+ transform: translateX(var(--refineui-motion-distance-float));
679
+ }
680
+ to {
681
+ opacity: 1;
682
+ transform: translateX(0);
683
+ }
684
+ }
685
+
686
+ [data-refineui="menu"][data-submenu="true"][data-state="open"] {
687
+ animation: refineui-menu-submenu-enter-right var(--refineui-motion-duration-fast) var(--refineui-motion-easing-standard) both;
688
+ }
689
+ [data-refineui="menu"][data-submenu="true"][data-state="open"][data-side="left"] {
690
+ transform-origin: right center;
691
+ animation-name: refineui-menu-submenu-enter-left;
692
+ }
693
+ [data-refineui="menu"][data-submenu="true"][data-state="open"][data-side="right"] {
694
+ transform-origin: left center;
695
+ animation-name: refineui-menu-submenu-enter-right;
696
+ }
697
+
698
+ [data-refineui="dropdown-menu"][data-submenu="true"][data-state="open"] {
699
+ animation: refineui-menu-submenu-enter-right var(--refineui-motion-duration-fast) var(--refineui-motion-easing-standard) both;
700
+ }
701
+ [data-refineui="dropdown-menu"][data-submenu="true"][data-state="open"][data-side="left"] {
702
+ transform-origin: right center;
703
+ animation-name: refineui-menu-submenu-enter-left;
704
+ }
705
+ [data-refineui="dropdown-menu"][data-submenu="true"][data-state="open"][data-side="right"] {
706
+ transform-origin: left center;
707
+ animation-name: refineui-menu-submenu-enter-right;
708
+ }
709
+
710
+ @media (prefers-reduced-motion: reduce) {
711
+ [data-refineui="menu"][data-submenu="true"],
712
+ [data-refineui="dropdown-menu"][data-submenu="true"] {
713
+ animation: none;
714
+ }
715
+ }
716
+
717
+ /* Spin Button — Web Kit `561:2067` (focus ring unified on root border) */
718
+ [data-refineui="spinbutton"] {
719
+ transition: border-color var(--refineui-motion-duration-fast), background-color var(--refineui-motion-duration-fast);
720
+ }
721
+ [data-refineui="spinbutton"]:focus-within:not([data-disabled="true"]) {
722
+ border-color: var(--refineui-color-alias-border-focus) !important;
723
+ }
724
+
725
+ /* Spin Button / Stepper — default · hover · pressed · disabled (icons: currentColor) */
726
+ [data-refineui="spinbutton-step"] {
727
+ transition: background-color var(--refineui-motion-duration-fast), color var(--refineui-motion-duration-fast),
728
+ opacity var(--refineui-motion-duration-fast);
729
+ }
730
+ [data-refineui="spinbutton-step"]:not(:disabled) {
731
+ background-color: var(--refineui-color-alias-background-primary) !important;
732
+ color: var(--refineui-color-alias-foreground-secondary) !important;
733
+ opacity: 1;
734
+ }
735
+ [data-refineui="spinbutton-step"]:not(:disabled):hover {
736
+ background-color: var(--refineui-color-alias-background-surface-hover) !important;
737
+ color: var(--refineui-color-alias-foreground-primary) !important;
738
+ }
739
+ [data-refineui="spinbutton-step"]:not(:disabled):active {
740
+ background-color: var(--refineui-color-alias-background-surface-active) !important;
741
+ color: var(--refineui-color-alias-foreground-primary) !important;
742
+ }
743
+ [data-refineui="spinbutton-step"]:disabled {
744
+ background-color: var(--refineui-color-alias-background-surface-disabled) !important;
745
+ color: var(--refineui-color-alias-foreground-disabled) !important;
746
+ opacity: 0.5;
747
+ cursor: not-allowed;
748
+ }
749
+ /* Focus ring on root `[data-refineui="spinbutton"]:focus-within` — steps drop native ring */
750
+ [data-refineui="spinbutton-step"]:focus-visible {
751
+ outline: none;
752
+ }
753
+
754
+ /* Spin Button: no layout scale on press (exempt from shared button :active scale) */
755
+ [data-refineui="spinbutton"]:active,
756
+ [data-refineui="spinbutton-step"]:active {
757
+ transform: none !important;
758
+ }
759
+
760
+ /* Base typography — Inter (Foundation font) */
761
+ [data-refineui] {
762
+ font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
763
+ }
764
+
765
+ /* Textarea, Input — Web Kit form controls */
766
+ [data-refineui="textarea"],
767
+ [data-refineui="input"] {
768
+ transition: border-color var(--refineui-motion-duration-fast), box-shadow var(--refineui-motion-duration-fast);
769
+ }
770
+ [data-refineui="textarea"]:not(:disabled):not(:focus):hover:not([data-error="true"]):not([data-success="true"]),
771
+ [data-refineui="input"]:not(:disabled):not(:focus):hover:not([data-error="true"]):not([data-success="true"]) {
772
+ border-color: var(--refineui-color-alias-border-hover);
773
+ }
774
+ [data-refineui="textarea"]:focus:not(:disabled):not([data-error="true"]):not([data-success="true"]),
775
+ [data-refineui="input"]:focus:not(:disabled):not([data-error="true"]):not([data-success="true"]) {
776
+ border-color: var(--refineui-color-alias-border-focus) !important;
777
+ box-shadow: 0 0 0 0.5px var(--refineui-color-alias-border-focus);
778
+ }
779
+ [data-refineui="textarea"][data-error="true"]:focus:not(:disabled),
780
+ [data-refineui="input"][data-error="true"]:focus:not(:disabled) {
781
+ border-color: var(--refineui-color-alias-background-error-hover) !important;
782
+ box-shadow: 0 0 0 0.5px var(--refineui-color-alias-background-error-hover);
783
+ }
784
+ [data-refineui="textarea"][data-success="true"]:focus:not(:disabled),
785
+ [data-refineui="input"][data-success="true"]:focus:not(:disabled) {
786
+ border-color: var(--refineui-color-alias-background-success-hover) !important;
787
+ box-shadow: 0 0 0 0.5px var(--refineui-color-alias-background-success-hover);
788
+ }
789
+
790
+ /* Select trigger — Navigation Menu hover / press / open plate; hairline field chrome */
791
+ [data-refineui="select-trigger"]:not([data-appearance="plain"]) {
792
+ transition:
793
+ color var(--refineui-motion-duration-fast),
794
+ background-color var(--refineui-motion-duration-fast),
795
+ border-color var(--refineui-motion-duration-fast);
796
+ }
797
+ [data-refineui="select-trigger"]:not([data-appearance="plain"]):not(:disabled):hover:not(:active) {
798
+ color: var(--refineui-color-alias-foreground-primary-hover) !important;
799
+ background-color: var(--refineui-color-alias-background-primary-hover) !important;
800
+ }
801
+ [data-refineui="select-trigger"]:not([data-appearance="plain"]):not(:disabled):active {
802
+ color: var(--refineui-color-alias-foreground-primary) !important;
803
+ background-color: var(--refineui-color-alias-background-primary-active) !important;
804
+ }
805
+ [data-refineui="select-trigger"]:not([data-appearance="plain"])[data-state="open"]:not(:disabled) {
806
+ color: var(--refineui-color-alias-foreground-primary) !important;
807
+ background-color: var(--refineui-color-alias-background-primary-hover) !important;
808
+ }
809
+ [data-refineui="select-trigger"]:not([data-appearance="plain"])[data-state="open"]:not(:disabled):active {
810
+ background-color: var(--refineui-color-alias-background-primary-active) !important;
811
+ }
812
+ [data-refineui="select-trigger"]:not([data-appearance="plain"]):focus-visible:not(:disabled) {
813
+ outline: none;
814
+ color: var(--refineui-color-alias-foreground-primary-hover);
815
+ background-color: var(--refineui-color-alias-background-primary-hover);
816
+ }
817
+ [data-refineui="input-otp-slot"] {
818
+ transition:
819
+ background-color var(--refineui-motion-duration-fast),
820
+ border-color var(--refineui-motion-duration-fast);
821
+ caret-color: var(--refineui-color-alias-foreground-primary);
822
+ }
823
+ /* OTP digit typography — CSS vars (not Tailwind @utility; runtime-resolved classes are tree-shaken) */
824
+ [data-refineui="input-otp"][data-size="sm"] [data-refineui="input-otp-slot"] {
825
+ font-family: var(--refineui-typography-sub-title-1-font-family);
826
+ font-size: var(--refineui-typography-sub-title-1-font-size);
827
+ font-weight: var(--refineui-typography-sub-title-1-font-weight);
828
+ line-height: var(--refineui-typography-sub-title-1-line-height);
829
+ }
830
+ [data-refineui="input-otp"][data-size="md"] [data-refineui="input-otp-slot"] {
831
+ font-family: var(--refineui-typography-title-3-font-family);
832
+ font-size: var(--refineui-typography-title-3-font-size);
833
+ font-weight: var(--refineui-typography-title-3-font-weight);
834
+ line-height: var(--refineui-typography-title-3-line-height);
835
+ }
836
+ [data-refineui="input-otp"][data-size="lg"] [data-refineui="input-otp-slot"] {
837
+ font-family: var(--refineui-typography-title-2-font-family);
838
+ font-size: var(--refineui-typography-title-2-font-size);
839
+ font-weight: var(--refineui-typography-title-2-font-weight);
840
+ line-height: var(--refineui-typography-title-2-line-height);
841
+ }
842
+ /* Hover: slightly lighter plate */
843
+ [data-refineui="input-otp"]:not([data-disabled="true"]) [data-refineui="input-otp-slot"]:not(:disabled):not(:focus):hover,
844
+ [data-refineui="search-field"]:not([data-appearance="plain"]):not([data-disabled="true"]):not(:focus-within):hover {
845
+ background-color: var(--refineui-color-alias-background-surface-active);
846
+ }
847
+ /* Focus: keep soft plate; thin border only — OTP slot & Search Field share one rule */
848
+ [data-refineui="input-otp-slot"]:focus:not(:disabled),
849
+ [data-refineui="search-field"]:not([data-appearance="plain"]):not([data-disabled="true"]):focus-within {
850
+ border-color: var(--refineui-color-alias-border-default);
851
+ }
852
+
853
+ /* Search Field — rest plate is Tailwind class only (same as OTP slot); hover/focus above */
854
+ [data-refineui="search-field"] {
855
+ caret-color: var(--refineui-color-alias-foreground-primary);
856
+ }
857
+ [data-refineui="search-field"][data-disabled="true"]:not([data-appearance="plain"]) {
858
+ cursor: not-allowed;
859
+ background-color: var(--refineui-color-alias-background-surface-disabled);
860
+ border-color: var(--refineui-color-alias-border-disabled);
861
+ }
862
+ [data-refineui="search-field"][data-disabled="true"] {
863
+ cursor: not-allowed;
864
+ }
865
+ [data-refineui="search-field-input"]::-webkit-search-decoration,
866
+ [data-refineui="search-field-input"]::-webkit-search-cancel-button,
867
+ [data-refineui="search-field-input"]::-webkit-search-results-button,
868
+ [data-refineui="search-field-input"]::-webkit-search-results-decoration {
869
+ -webkit-appearance: none;
870
+ appearance: none;
871
+ }
872
+ [data-refineui="search-field-clear"]:not(:disabled):hover {
873
+ color: var(--refineui-color-alias-foreground-primary);
874
+ }
875
+ [data-refineui="search-field"]:active,
876
+ [data-refineui="search-field-clear"]:active {
877
+ transform: none !important;
878
+ }
879
+ [data-refineui="input"]::placeholder,
880
+ [data-refineui="textarea"]::placeholder,
881
+ [data-refineui="search-field-input"]::placeholder {
882
+ color: var(--refineui-color-alias-foreground-placeholder);
883
+ }
884
+ [data-refineui="input"]:disabled,
885
+ [data-refineui="textarea"]:disabled,
886
+ [data-refineui="select-trigger"]:disabled {
887
+ cursor: not-allowed;
888
+ opacity: 1;
889
+ }
890
+
891
+ /* Toast — Sonner-like `<ol>/<li>` stack + expand full vertical stack on `ol` hover (card spec Web Kit `548:655`) */
892
+ [data-refineui="toaster"] {
893
+ --refineui-toaster-inset: var(--refineui-spacing-size-large);
894
+ --refineui-toaster-inset-top: calc(
895
+ var(--refineui-spacing-size-xxx-large) + var(--refineui-spacing-size-large)
896
+ );
897
+ --refineui-toaster-safe-top: env(safe-area-inset-top, 0px);
898
+ --refineui-toaster-safe-right: env(safe-area-inset-right, 0px);
899
+ --refineui-toaster-safe-bottom: env(safe-area-inset-bottom, 0px);
900
+ --refineui-toaster-safe-left: env(safe-area-inset-left, 0px);
901
+ --refineui-toast-slide-in-y: -100%;
902
+ --refineui-toast-slide-out-y: -100%;
903
+ position: fixed;
904
+ /* fixed width uses viewport; notch sides via env + inset */
905
+ width: min(
906
+ calc(
907
+ 100% - var(--refineui-toaster-safe-left) - var(--refineui-toaster-safe-right) - 2 * var(--refineui-toaster-inset)
908
+ ),
909
+ var(--refineui-size-toast-max-width)
910
+ );
911
+ max-width: var(--refineui-size-toast-max-width);
912
+ inset-inline: 0;
913
+ top: calc(var(--refineui-toaster-inset-top) + var(--refineui-toaster-safe-top));
914
+ margin-inline: auto;
915
+ z-index: var(--refineui-z-messages);
916
+ box-sizing: border-box;
917
+ list-style: none;
918
+ margin-block: 0;
919
+ padding: 0;
920
+ pointer-events: none;
921
+ /* avoid zero height when children are `position:absolute` — hover hit area from collapsed/expanded stack height */
922
+ min-height: var(--refineui-toast-collapsed-stack-height, var(--refineui-toast-front-height, 0px));
923
+ transition: min-height var(--refineui-motion-duration-panel) var(--refineui-motion-easing-emphasized);
924
+ }
925
+
926
+ @media (max-width: 480px) {
927
+ [data-refineui="toaster"] {
928
+ --refineui-toaster-inset: var(--refineui-spacing-size-medium);
929
+ --refineui-toaster-inset-top: var(--refineui-spacing-size-xxx-large);
930
+ }
931
+ }
932
+
933
+ /*
934
+ * With `pointer-events: none` on `ol`, pointer passes through gaps to the page and `ol:hover` collapses.
935
+ * Transparent hit layer uses `pointer-events: auto` to keep hover across gaps (z-index below `li`).
936
+ */
937
+ [data-refineui="toaster"]::before {
938
+ content: "";
939
+ position: absolute;
940
+ inset: 0;
941
+ z-index: 0;
942
+ pointer-events: auto;
943
+ }
944
+
945
+ @media (hover: hover) and (pointer: fine) {
946
+ [data-refineui="toaster"]:hover {
947
+ min-height: var(--refineui-toast-expanded-stack-height, var(--refineui-toast-collapsed-stack-height, 0px));
948
+ }
949
+ }
950
+
951
+ [data-refineui="toast-item"] {
952
+ position: absolute;
953
+ inset-inline: 0;
954
+ top: 0;
955
+ bottom: auto;
956
+ display: flex;
957
+ justify-content: center;
958
+ overflow: visible;
959
+ pointer-events: auto;
960
+ transform: translateY(var(--refineui-toast-offset-collapsed, 0px));
961
+ transition: transform var(--refineui-motion-duration-panel) var(--refineui-motion-easing-emphasized), height var(--refineui-motion-duration-panel) var(--refineui-motion-easing-emphasized);
962
+ z-index: var(--refineui-toast-z-index, 100);
963
+ }
964
+
965
+ @media (hover: hover) and (pointer: fine) {
966
+ [data-refineui="toaster"]:hover [data-refineui="toast-item"] {
967
+ transform: translateY(var(--refineui-toast-offset-expanded, 0px));
968
+ }
969
+ }
970
+
971
+ /*
972
+ * Keep stack scale/opacity on the outer wrapper only.
973
+ * `position:absolute; inset:0` on the card pulls it out of flow with absolute `li` → zero height and broken layout.
974
+ */
975
+ [data-refineui="toast-scale-layer"] {
976
+ --refineui-toast-stack-opacity-step: 0.12;
977
+ position: relative;
978
+ width: fit-content;
979
+ max-width: 100%;
980
+ box-sizing: border-box;
981
+ transform: scale(calc(1 - (var(--refineui-toast-stack-index, 0) * 0.018)));
982
+ transform-origin: top center;
983
+ opacity: calc(1 - (var(--refineui-toast-stack-index, 0) * var(--refineui-toast-stack-opacity-step)));
984
+ transition: transform var(--refineui-motion-duration-panel) var(--refineui-motion-easing-emphasized), opacity var(--refineui-motion-duration-slow) var(--refineui-motion-easing-ease-in-out);
985
+ }
986
+
987
+ @media (hover: hover) and (pointer: fine) {
988
+ [data-refineui="toaster"]:hover [data-refineui="toast-scale-layer"] {
989
+ transform: scale(1);
990
+ opacity: 1;
991
+ }
992
+ }
993
+
994
+ /* Mobile/touch: no hover expand → always expanded vertical spacing + full scale (later, more specific rules) */
995
+ @media (hover: none), (pointer: coarse) {
996
+ [data-refineui="toaster"] {
997
+ min-height: var(--refineui-toast-expanded-stack-height, var(--refineui-toast-collapsed-stack-height, 0px));
998
+ }
999
+
1000
+ [data-refineui="toaster"] [data-refineui="toast-item"] {
1001
+ transform: translateY(var(--refineui-toast-offset-expanded, 0px));
1002
+ }
1003
+
1004
+ [data-refineui="toaster"] [data-refineui="toast-scale-layer"] {
1005
+ transform: scale(1);
1006
+ opacity: 1;
1007
+ }
1008
+ }
1009
+
1010
+ [data-refineui="toast"] {
1011
+ --refineui-toast-swipe-x: 0px;
1012
+ --refineui-toast-swipe-y: 0px;
1013
+ --refineui-toast-motion-duration: var(--refineui-motion-duration-toast-enter);
1014
+ --refineui-toast-motion-easing: var(--refineui-motion-easing-emphasized);
1015
+ position: relative;
1016
+ width: fit-content;
1017
+ max-width: 100%;
1018
+ box-sizing: border-box;
1019
+ background-color: color-mix(
1020
+ in srgb,
1021
+ var(--refineui-color-alias-surface-popover) 82%,
1022
+ transparent
1023
+ );
1024
+ backdrop-filter: blur(var(--refineui-spacing-size-xxx-large));
1025
+ -webkit-backdrop-filter: blur(var(--refineui-spacing-size-xxx-large));
1026
+ box-shadow: var(--refineui-elevation-8);
1027
+ touch-action: none;
1028
+ cursor: grab;
1029
+ transform: translate3d(var(--refineui-toast-swipe-x), var(--refineui-toast-swipe-y), 0);
1030
+ transition:
1031
+ opacity var(--refineui-toast-motion-duration) var(--refineui-toast-motion-easing),
1032
+ transform var(--refineui-toast-motion-duration) var(--refineui-toast-motion-easing);
1033
+ will-change: transform, opacity;
1034
+ user-select: none;
1035
+ }
1036
+
1037
+ [data-refineui="toast-icon"] {
1038
+ color: var(--refineui-color-alias-foreground-primary);
1039
+ }
1040
+
1041
+ [data-refineui="toast"][data-variant="success"] [data-refineui="toast-icon"] {
1042
+ color: var(--refineui-color-alias-foreground-success);
1043
+ }
1044
+
1045
+ [data-refineui="toast"][data-variant="error"] [data-refineui="toast-icon"] {
1046
+ color: var(--refineui-color-alias-foreground-error);
1047
+ }
1048
+
1049
+ [data-refineui="toast"][data-variant="warning"] [data-refineui="toast-icon"] {
1050
+ color: var(--refineui-color-alias-foreground-warning);
1051
+ }
1052
+
1053
+ @media (prefers-reduced-transparency: reduce) {
1054
+ [data-refineui="toast"] {
1055
+ background-color: var(--refineui-color-alias-surface-popover);
1056
+ backdrop-filter: none;
1057
+ -webkit-backdrop-filter: none;
1058
+ }
1059
+
1060
+ [data-refineui="dialog"] > [role="presentation"],
1061
+ [data-refineui="drawer"] > [role="presentation"] {
1062
+ backdrop-filter: none;
1063
+ -webkit-backdrop-filter: none;
1064
+ }
1065
+ }
1066
+
1067
+ /* Dialog / Drawer scrim — tint (`surfaceOverlay`) + light blur (keep behind content readable) */
1068
+ [data-refineui="dialog"] > [role="presentation"],
1069
+ [data-refineui="drawer"] > [role="presentation"] {
1070
+ backdrop-filter: blur(var(--refineui-spacing-size-xxx-small));
1071
+ -webkit-backdrop-filter: blur(var(--refineui-spacing-size-xxx-small));
1072
+ }
1073
+
1074
+ [data-refineui="toast"][data-swiping="true"] {
1075
+ cursor: grabbing;
1076
+ transition: none;
1077
+ }
1078
+
1079
+ [data-refineui="toast"][data-swipe-out="left"] {
1080
+ --refineui-toast-swipe-x: -120%;
1081
+ opacity: 0;
1082
+ }
1083
+
1084
+ [data-refineui="toast"][data-swipe-out="right"] {
1085
+ --refineui-toast-swipe-x: 120%;
1086
+ opacity: 0;
1087
+ }
1088
+
1089
+ [data-refineui="toast"][data-swipe-out="top"] {
1090
+ --refineui-toast-swipe-y: -120%;
1091
+ opacity: 0;
1092
+ }
1093
+
1094
+ [data-refineui="toast"][data-swipe-out="bottom"] {
1095
+ --refineui-toast-swipe-y: 120%;
1096
+ opacity: 0;
1097
+ }
1098
+
1099
+ /* Enter: slide in from off-edge → rest. Leave (non-swipe): slide back out the same way. */
1100
+ [data-refineui="toast"][data-stack-state="entering"] {
1101
+ opacity: 0;
1102
+ transform: translate3d(
1103
+ var(--refineui-toast-swipe-x, 0px),
1104
+ var(--refineui-toast-slide-in-y, -100%),
1105
+ 0
1106
+ );
1107
+ }
1108
+
1109
+ [data-refineui="toast"][data-stack-state="leaving"]:not([data-swipe-out]) {
1110
+ --refineui-toast-motion-duration: var(--refineui-motion-duration-toast-leave);
1111
+ --refineui-toast-motion-easing: var(--refineui-motion-easing-standard);
1112
+ opacity: 0;
1113
+ transform: translate3d(
1114
+ var(--refineui-toast-swipe-x, 0px),
1115
+ var(--refineui-toast-slide-out-y, -100%),
1116
+ 0
1117
+ );
1118
+ }
1119
+
1120
+ [data-refineui="toast"][data-swipe-out] {
1121
+ --refineui-toast-motion-duration: var(--refineui-motion-duration-toast-leave);
1122
+ --refineui-toast-motion-easing: var(--refineui-motion-easing-standard);
1123
+ }
1124
+
1125
+ @media (prefers-reduced-motion: reduce) {
1126
+ [data-refineui="toaster"],
1127
+ [data-refineui="toast-item"],
1128
+ [data-refineui="toast-scale-layer"],
1129
+ [data-refineui="toast"] {
1130
+ transition-duration: var(--refineui-motion-duration-instant);
1131
+ }
1132
+
1133
+ [data-refineui="toast"][data-stack-state="entering"],
1134
+ [data-refineui="toast"][data-stack-state="leaving"]:not([data-swipe-out]) {
1135
+ transform: none;
1136
+ }
1137
+ }
1138
+
1139
+ /* Skeleton — solid wash + opacity pulse (shadcn/MUI-style; not sliding shimmer) */
1140
+ @keyframes refineui-skeleton-pulse {
1141
+ 0%,
1142
+ 100% {
1143
+ opacity: 1;
1144
+ }
1145
+ 50% {
1146
+ opacity: var(--refineui-opacity-disabled);
1147
+ }
1148
+ }
1149
+ [data-refineui="skeleton"] {
1150
+ background-color: var(--refineui-color-alias-background-surface-selected);
1151
+ animation: refineui-skeleton-pulse var(--refineui-motion-duration-skeleton) var(--refineui-motion-easing-ease-in-out) infinite;
1152
+ }
1153
+ @media (prefers-reduced-motion: reduce) {
1154
+ [data-refineui="skeleton"] {
1155
+ animation: none;
1156
+ opacity: 1;
1157
+ }
1158
+ }
1159
+
1160
+ /* Carousel — stage drag + control focus (nav lives below slides) */
1161
+ @media (prefers-reduced-motion: reduce) {
1162
+ [data-refineui="carousel-track"][data-animated="true"] {
1163
+ transition: none !important;
1164
+ }
1165
+ }
1166
+ [data-refineui="carousel-viewport"] {
1167
+ touch-action: pan-y;
1168
+ }
1169
+ [data-refineui="carousel-viewport"][data-dragging="true"] {
1170
+ cursor: grabbing;
1171
+ }
1172
+ [data-refineui="carousel-indicator-thumb"] {
1173
+ transition: none;
1174
+ }
1175
+ [data-refineui="carousel-indicator-thumb"][data-ready="true"] {
1176
+ transition: transform var(--refineui-motion-duration-medium) var(--refineui-motion-easing-emphasized),
1177
+ width var(--refineui-motion-duration-medium) var(--refineui-motion-easing-emphasized);
1178
+ }
1179
+ [data-refineui="carousel-nav"]:focus-visible,
1180
+ [data-refineui="carousel-indicator"]:focus-visible,
1181
+ [data-refineui="carousel"]:focus-visible {
1182
+ outline: 2px solid var(--refineui-focus-color);
1183
+ outline-offset: var(--refineui-focus-offset);
1184
+ }
1185
+
1186
+ /* Spinner — Web Kit COMPONENT_SET `Spinner` `550:3669` */
1187
+ @keyframes refineui-spin {
1188
+ to {
1189
+ transform: rotate(360deg);
1190
+ }
1191
+ }
1192
+ [data-refineui="spinner"] {
1193
+ flex-shrink: 0;
1194
+ animation: refineui-spin var(--refineui-motion-duration-spinner) var(--refineui-motion-easing-linear) infinite;
1195
+ }
1196
+
1197
+ /* Checkbox — Web Kit `327:2539` (MCP: Default/Hover/Pressed/Focused/Disabled × checked/unchecked) */
1198
+ [data-refineui="checkbox"] {
1199
+ box-sizing: border-box;
1200
+ width: var(--refineui-size-control-checkbox, 20px);
1201
+ height: var(--refineui-size-control-checkbox, 20px);
1202
+ min-width: var(--refineui-size-control-checkbox, 20px);
1203
+ min-height: var(--refineui-size-control-checkbox, 20px);
1204
+ border: 1px solid var(--refineui-color-alias-border-default);
1205
+ border-radius: 4px;
1206
+ background-color: var(--refineui-color-alias-background-primary);
1207
+ transition: background-color var(--refineui-motion-duration-fast), border-color var(--refineui-motion-duration-fast), border-width var(--refineui-motion-duration-fast);
1208
+ }
1209
+ [data-refineui="checkbox"][data-variant="circular"] {
1210
+ border-radius: 9999px;
1211
+ }
1212
+ /* Unchecked — Hover: border subtle; Pressed: border strong */
1213
+ label:hover:not(:active) [data-refineui="checkbox"][data-checked="false"]:not([data-disabled="true"]) {
1214
+ border-color: var(--refineui-color-alias-border-subtle);
1215
+ }
1216
+ label:active [data-refineui="checkbox"][data-checked="false"]:not([data-disabled="true"]) {
1217
+ border-color: var(--refineui-color-alias-border-strong);
1218
+ }
1219
+ /* Checked — Default brand; Hover brandHover; Pressed brandActive */
1220
+ [data-refineui="checkbox"][data-checked="true"]:not([data-disabled="true"]) {
1221
+ background-color: var(--refineui-color-alias-background-brand);
1222
+ border-color: var(--refineui-color-alias-background-brand);
1223
+ }
1224
+ label:hover:not(:active) [data-refineui="checkbox"][data-checked="true"]:not([data-disabled="true"]) {
1225
+ background-color: var(--refineui-color-alias-background-brand-hover);
1226
+ border-color: var(--refineui-color-alias-background-brand-hover);
1227
+ }
1228
+ label:active [data-refineui="checkbox"][data-checked="true"]:not([data-disabled="true"]) {
1229
+ background-color: var(--refineui-color-alias-background-brand-active);
1230
+ border-color: var(--refineui-color-alias-background-brand-active);
1231
+ }
1232
+ /* Focused (Figma `state: Focused`) — `focus-within` covers hidden input + flaky `:focus-visible` */
1233
+ label:focus-within:not(:active) [data-refineui="checkbox"]:not([data-disabled="true"]) {
1234
+ outline: none;
1235
+ border-width: 2px;
1236
+ border-color: var(--refineui-color-alias-border-strong);
1237
+ border-style: solid;
1238
+ background-color: var(--refineui-color-alias-background-primary);
1239
+ }
1240
+ label:focus-within:not(:active) [data-refineui="checkbox"][data-checked="true"]:not([data-disabled="true"]) {
1241
+ background-color: var(--refineui-color-alias-background-brand-active);
1242
+ border-color: var(--refineui-color-alias-border-focus);
1243
+ }
1244
+ [data-refineui="checkbox"][data-disabled="true"][data-checked="false"] {
1245
+ background-color: var(--refineui-color-alias-background-primary-hover);
1246
+ border-color: var(--refineui-color-alias-border-disabled);
1247
+ }
1248
+ [data-refineui="checkbox"][data-disabled="true"][data-checked="true"] {
1249
+ background-color: var(--refineui-color-alias-background-surface-selected);
1250
+ border-color: var(--refineui-color-alias-background-surface-selected);
1251
+ }
1252
+
1253
+ /* Radio — Web Kit `397:1001` (`Radio` row) + `Radio / Input` 20px circle — MCP aliases only */
1254
+ [data-refineui="radio"] {
1255
+ appearance: none;
1256
+ -webkit-appearance: none;
1257
+ box-sizing: border-box;
1258
+ position: relative;
1259
+ display: inline-grid;
1260
+ place-content: center;
1261
+ width: var(--refineui-size-control-checkbox-radio, 20px);
1262
+ height: var(--refineui-size-control-checkbox-radio, 20px);
1263
+ min-width: var(--refineui-size-control-checkbox-radio, 20px);
1264
+ min-height: var(--refineui-size-control-checkbox-radio, 20px);
1265
+ margin: 0;
1266
+ flex-shrink: 0;
1267
+ border: 1px solid var(--refineui-color-alias-border-default);
1268
+ border-radius: 9999px;
1269
+ background-color: var(--refineui-color-alias-background-primary);
1270
+ box-shadow: none;
1271
+ transition: border-color var(--refineui-motion-duration-fast), background-color var(--refineui-motion-duration-fast), box-shadow var(--refineui-motion-duration-fast), opacity var(--refineui-motion-duration-fast);
1272
+ }
1273
+ [data-refineui="radio"]::after {
1274
+ content: "";
1275
+ width: var(--refineui-spacing-size-medium);
1276
+ height: var(--refineui-spacing-size-medium);
1277
+ border-radius: 9999px;
1278
+ background-color: var(--refineui-color-alias-background-primary);
1279
+ transform: scale(0);
1280
+ transition: transform var(--refineui-motion-duration-fast) var(--refineui-motion-easing-ease-out);
1281
+ }
1282
+ [data-refineui="radio"]:not(:disabled):not(:checked):focus,
1283
+ [data-refineui="radio"]:not(:disabled):not(:checked):focus-visible {
1284
+ outline: none;
1285
+ border-color: var(--refineui-color-alias-border-default);
1286
+ box-shadow: 0 0 0 2px var(--refineui-color-alias-border-strong);
1287
+ }
1288
+ [data-refineui="radio"]:not(:disabled):checked {
1289
+ border-color: var(--refineui-color-alias-foreground-primary);
1290
+ background-color: var(--refineui-color-alias-foreground-primary);
1291
+ }
1292
+ [data-refineui="radio"]:not(:disabled):checked::after {
1293
+ transform: scale(1);
1294
+ }
1295
+ [data-refineui="radio"]:not(:disabled):checked:focus,
1296
+ [data-refineui="radio"]:not(:disabled):checked:focus-visible {
1297
+ outline: none;
1298
+ border-color: var(--refineui-color-alias-foreground-primary);
1299
+ box-shadow: 0 0 0 2px var(--refineui-color-alias-border-strong);
1300
+ }
1301
+ [data-refineui="radio"]:disabled:not(:checked) {
1302
+ cursor: not-allowed;
1303
+ background-color: var(--refineui-color-alias-background-primary);
1304
+ border-color: var(--refineui-color-alias-border-disabled);
1305
+ opacity: 1;
1306
+ }
1307
+ [data-refineui="radio"]:disabled:checked {
1308
+ cursor: not-allowed;
1309
+ background-color: var(--refineui-color-alias-foreground-disabled);
1310
+ border-color: var(--refineui-color-alias-foreground-disabled);
1311
+ }
1312
+ [data-refineui="radio"]:disabled:checked::after {
1313
+ transform: scale(1);
1314
+ }
1315
+ [data-refineui="radio"]:disabled {
1316
+ cursor: not-allowed;
1317
+ }
1318
+
1319
+ /* Link — Web Kit `226:158` (Default / Hover / Focus / Pressed / Disabled) */
1320
+ a[data-refineui="link"] {
1321
+ transition: color var(--refineui-motion-duration-fast) ease, text-decoration-color var(--refineui-motion-duration-fast) ease;
1322
+ }
1323
+ a[data-refineui="link"]:not(.page-btn):not(.page-btn-primary):not(.page-github-btn) {
1324
+ color: var(--refineui-color-alias-foreground-link) !important;
1325
+ text-decoration: none;
1326
+ }
1327
+ a[data-refineui="link"]:visited:not([aria-disabled="true"]):not(.page-btn):not(.page-btn-primary):not(.page-github-btn) {
1328
+ color: var(--refineui-color-alias-foreground-link-visited) !important;
1329
+ }
1330
+ a[data-refineui="link"]:hover:not([aria-disabled="true"]):not(.page-btn):not(.page-btn-primary):not(.page-github-btn) {
1331
+ color: var(--refineui-color-alias-foreground-link-hover) !important;
1332
+ text-decoration: underline;
1333
+ text-underline-offset: 2px;
1334
+ }
1335
+ a[data-refineui="link"]:focus-visible:not([aria-disabled="true"]):not(.page-btn):not(.page-btn-primary):not(.page-github-btn) {
1336
+ color: var(--refineui-color-alias-foreground-link-active) !important;
1337
+ text-decoration: underline;
1338
+ text-underline-offset: 2px;
1339
+ }
1340
+ a[data-refineui="link"]:active:not([aria-disabled="true"]):not(.page-btn):not(.page-btn-primary):not(.page-github-btn) {
1341
+ color: var(--refineui-color-alias-foreground-link-visited) !important;
1342
+ text-decoration: underline;
1343
+ text-underline-offset: 2px;
1344
+ }
1345
+ a[data-refineui="link"][aria-disabled="true"] {
1346
+ color: var(--refineui-color-alias-foreground-disabled) !important;
1347
+ text-decoration: none !important;
1348
+ pointer-events: none;
1349
+ cursor: not-allowed;
1350
+ }
1351
+ a[data-refineui="link"]:focus-visible {
1352
+ outline: 2px solid var(--refineui-focus-color);
1353
+ outline-offset: var(--refineui-focus-offset);
1354
+ }
1355
+
1356
+ /* Breadcrumb — Web Kit `283:688` (Figma Breadcrumb / BreadcrumbItem) */
1357
+ [data-refineui="breadcrumb-link"],
1358
+ [data-refineui="breadcrumb-ellipsis"] {
1359
+ box-sizing: border-box;
1360
+ min-height: var(--refineui-size-button-min-height-sm);
1361
+ border-radius: var(--refineui-radius-rounded-large);
1362
+ transition:
1363
+ color var(--refineui-motion-duration-fast),
1364
+ background-color var(--refineui-motion-duration-fast);
1365
+ }
1366
+ [data-refineui="breadcrumb-link"]:hover:not(:active) {
1367
+ color: var(--refineui-color-alias-foreground-primary-hover) !important;
1368
+ background-color: var(--refineui-color-alias-background-primary-hover) !important;
1369
+ }
1370
+ [data-refineui="breadcrumb-link"][data-current]:hover:not(:active) {
1371
+ color: var(--refineui-color-alias-foreground-primary-hover) !important;
1372
+ background-color: var(--refineui-color-alias-background-primary-hover) !important;
1373
+ }
1374
+ [data-refineui="breadcrumb-link"]:active,
1375
+ [data-refineui="breadcrumb-link"][data-state="pressed"] {
1376
+ background-color: var(--refineui-color-alias-background-primary-active) !important;
1377
+ }
1378
+ [data-refineui="breadcrumb-link"][data-current]:active,
1379
+ [data-refineui="breadcrumb-link"][data-current][data-state="pressed"] {
1380
+ color: var(--refineui-color-alias-foreground-primary) !important;
1381
+ }
1382
+ [data-refineui="breadcrumb-link"]:focus-visible {
1383
+ outline: 2px solid var(--refineui-focus-color);
1384
+ outline-offset: var(--refineui-focus-offset);
1385
+ }
1386
+
1387
+ [data-refineui="breadcrumb-page"] {
1388
+ cursor: default;
1389
+ }
1390
+
1391
+ /* Footer — token-based composition (no Web Kit COMPONENT_SET) */
1392
+ [data-refineui="footer-nav"] {
1393
+ grid-template-columns: repeat(
1394
+ auto-fit,
1395
+ minmax(var(--refineui-size-foundation-size-2000), 1fr)
1396
+ );
1397
+ }
1398
+
1399
+ /**
1400
+ * Meta row: social (start) | brand/copyright (center) | locale (end).
1401
+ * Brand stays optically centered when locale (or social) is omitted.
1402
+ */
1403
+ @media (min-width: 48rem) {
1404
+ [data-refineui="footer-meta"] {
1405
+ display: grid;
1406
+ grid-template-columns: 1fr auto 1fr;
1407
+ align-items: center;
1408
+ justify-items: stretch;
1409
+ gap: var(--refineui-spacing-size-x-large);
1410
+ }
1411
+
1412
+ [data-refineui="footer-social"] {
1413
+ grid-column: 1;
1414
+ justify-self: start;
1415
+ justify-content: flex-start;
1416
+ }
1417
+
1418
+ [data-refineui="footer-brand"] {
1419
+ grid-column: 2;
1420
+ justify-self: center;
1421
+ }
1422
+
1423
+ [data-refineui="footer-meta-end"] {
1424
+ grid-column: 3;
1425
+ justify-self: end;
1426
+ }
1427
+ }
1428
+
1429
+ [data-refineui="footer-link"]:hover:not([aria-disabled="true"]) {
1430
+ color: var(--refineui-color-alias-foreground-primary) !important;
1431
+ }
1432
+ [data-refineui="footer-link"]:focus-visible {
1433
+ outline: 2px solid var(--refineui-focus-color);
1434
+ outline-offset: var(--refineui-focus-offset);
1435
+ }
1436
+ [data-refineui="footer-link"][aria-disabled="true"] {
1437
+ color: var(--refineui-color-alias-foreground-disabled) !important;
1438
+ pointer-events: none;
1439
+ cursor: not-allowed;
1440
+ }
1441
+ [data-refineui="footer-social"] [data-refineui="footer-link"] {
1442
+ width: var(--refineui-size-foundation-size-240);
1443
+ height: var(--refineui-size-foundation-size-240);
1444
+ }
1445
+ [data-refineui="footer-social"] [data-refineui="footer-link"] svg {
1446
+ display: block;
1447
+ width: var(--refineui-size-foundation-size-160);
1448
+ height: var(--refineui-size-foundation-size-160);
1449
+ }
1450
+ [data-refineui="footer-social"] [data-refineui="footer-link"]:hover:not([aria-disabled="true"]) {
1451
+ color: var(--refineui-color-alias-foreground-primary) !important;
1452
+ }
1453
+ [data-refineui="footer-social"] [data-refineui="footer-link"]:focus-visible {
1454
+ outline: 2px solid var(--refineui-focus-color);
1455
+ outline-offset: var(--refineui-focus-offset);
1456
+ }
1457
+ [data-refineui="footer-locale"] [data-refineui="footer-link"]:hover:not([aria-disabled="true"]),
1458
+ [data-refineui="footer-locale"] [data-refineui="footer-link"][aria-current] {
1459
+ color: var(--refineui-color-alias-foreground-primary) !important;
1460
+ }
1461
+
1462
+ [data-refineui="footer-locale"] [data-refineui="select-trigger"] {
1463
+ transition:
1464
+ color var(--refineui-motion-duration-fast),
1465
+ background-color var(--refineui-motion-duration-fast),
1466
+ border-color var(--refineui-motion-duration-fast),
1467
+ transform var(--refineui-motion-duration-fast);
1468
+ }
1469
+ [data-refineui="footer-locale"] [data-refineui-select-trigger-value] {
1470
+ display: inline-flex;
1471
+ flex: none;
1472
+ align-items: center;
1473
+ gap: var(--refineui-spacing-size-xx-small);
1474
+ }
1475
+ /* Match Button outline hover / pressed / open */
1476
+ [data-refineui="footer-locale"] [data-refineui="select-trigger"]:not(:disabled):hover:not(:active),
1477
+ [data-refineui="footer-locale"] [data-refineui="select-trigger"][data-state="open"]:not(:disabled) {
1478
+ border-color: var(--refineui-color-alias-border-strong);
1479
+ color: var(--refineui-color-alias-foreground-primary-hover);
1480
+ }
1481
+ [data-refineui="footer-locale"] [data-refineui="select-trigger"]:not(:disabled):active {
1482
+ border-color: var(--refineui-color-alias-border-strong);
1483
+ color: var(--refineui-color-alias-foreground-primary);
1484
+ }
1485
+ [data-refineui="footer-locale"] [data-refineui="select-trigger"]:focus:not(:disabled) {
1486
+ outline: none;
1487
+ }
1488
+ [data-refineui="footer-locale"] [data-refineui="select-trigger"]:focus-visible {
1489
+ outline: 2px solid var(--refineui-focus-color);
1490
+ outline-offset: var(--refineui-focus-offset);
1491
+ }
1492
+
1493
+ /* Sidebar — token-based composition (no Web Kit COMPONENT_SET) */
1494
+ [data-refineui="sidebar-link"] {
1495
+ transition:
1496
+ color var(--refineui-motion-duration-fast),
1497
+ background-color var(--refineui-motion-duration-fast);
1498
+ }
1499
+ [data-refineui="sidebar-link"]:not([aria-disabled="true"]):hover:not(:active) {
1500
+ color: var(--refineui-color-alias-foreground-primary-hover) !important;
1501
+ background-color: var(--refineui-color-alias-background-primary-hover) !important;
1502
+ }
1503
+ [data-refineui="sidebar-link"][data-active] {
1504
+ color: var(--refineui-color-alias-foreground-primary) !important;
1505
+ background-color: var(--refineui-color-alias-background-primary-hover) !important;
1506
+ }
1507
+ [data-refineui="sidebar-link"][data-active]:hover:not(:active) {
1508
+ color: var(--refineui-color-alias-foreground-primary-hover) !important;
1509
+ }
1510
+ [data-refineui="sidebar-link"]:not([aria-disabled="true"]):active {
1511
+ color: var(--refineui-color-alias-foreground-primary) !important;
1512
+ background-color: var(--refineui-color-alias-background-primary-active) !important;
1513
+ }
1514
+ [data-refineui="sidebar-link"]:focus-visible {
1515
+ outline: 2px solid var(--refineui-focus-color);
1516
+ outline-offset: var(--refineui-focus-offset);
1517
+ }
1518
+ [data-refineui="sidebar-link"][aria-disabled="true"] {
1519
+ color: var(--refineui-color-alias-foreground-disabled) !important;
1520
+ pointer-events: none;
1521
+ cursor: not-allowed;
1522
+ }
1523
+
1524
+ [data-refineui="sidebar-peek-surface"] {
1525
+ --refineui-sidebar-peek-float-gap: var(--refineui-size-foundation-size-120);
1526
+ --refineui-sidebar-peek-float-inset-block: var(--refineui-spacing-size-small);
1527
+ --refineui-sidebar-peek-hit-slop: var(--refineui-spacing-size-x-small);
1528
+ --refineui-sidebar-peek-panel-width: min(22rem, 36vw);
1529
+
1530
+ z-index: var(--refineui-z-floating);
1531
+ box-sizing: border-box;
1532
+ padding: var(--refineui-sidebar-peek-hit-slop);
1533
+ pointer-events: none;
1534
+ inset-block: calc(
1535
+ var(--refineui-sidebar-peek-float-inset-block) - var(--refineui-sidebar-peek-hit-slop)
1536
+ );
1537
+ inset-inline-start: calc(
1538
+ var(--refineui-sidebar-peek-float-gap) - var(--refineui-sidebar-peek-hit-slop)
1539
+ );
1540
+ width: calc(
1541
+ var(--refineui-sidebar-peek-panel-width) + (2 * var(--refineui-sidebar-peek-hit-slop))
1542
+ );
1543
+ visibility: hidden;
1544
+ transform: translateX(
1545
+ calc(-100% - var(--refineui-sidebar-peek-float-gap) + var(--refineui-sidebar-peek-hit-slop))
1546
+ );
1547
+ transition:
1548
+ transform var(--refineui-motion-duration-overlay) var(--refineui-motion-easing-standard),
1549
+ visibility 0s linear var(--refineui-motion-duration-overlay);
1550
+ }
1551
+
1552
+ [data-refineui="sidebar-peek-edge"][data-sidebar-peek-edge-suspended] {
1553
+ pointer-events: none;
1554
+ }
1555
+
1556
+ [data-refineui="sidebar-peek-surface"][data-sidebar-peek-mode="viewport"] {
1557
+ inset-block: auto;
1558
+ top: calc(
1559
+ var(--refineui-sidebar-peek-viewport-offset, 0px) + var(--refineui-sidebar-peek-float-inset-block) -
1560
+ var(--refineui-sidebar-peek-hit-slop)
1561
+ );
1562
+ bottom: calc(var(--refineui-sidebar-peek-float-inset-block) - var(--refineui-sidebar-peek-hit-slop));
1563
+ }
1564
+
1565
+ [data-refineui="sidebar-peek-surface"][data-sidebar-peek-panel-open] {
1566
+ visibility: visible;
1567
+ pointer-events: auto;
1568
+ transform: translateX(0);
1569
+ transition:
1570
+ transform var(--refineui-motion-duration-overlay) var(--refineui-motion-easing-standard),
1571
+ visibility 0s linear 0s;
1572
+ }
1573
+
1574
+ [data-refineui="sidebar-peek-panel"] {
1575
+ height: 100%;
1576
+ width: 100%;
1577
+ pointer-events: auto;
1578
+ border: var(--refineui-stroke-width-thin) solid var(--refineui-color-alias-border-default);
1579
+ border-radius: var(--refineui-radius-rounded-xx-large);
1580
+ background: var(--refineui-color-alias-background-primary);
1581
+ box-shadow: var(--refineui-elevation-16);
1582
+ overflow: hidden;
1583
+ transition: box-shadow var(--refineui-motion-duration-overlay) var(--refineui-motion-easing-standard);
1584
+ }
1585
+
1586
+ [data-refineui="sidebar-peek-surface"][data-sidebar-peek-panel-open] [data-refineui="sidebar-peek-panel"] {
1587
+ box-shadow: var(--refineui-elevation-24);
1588
+ }
1589
+
1590
+ [data-refineui="sidebar-peek-panel"] [data-refineui="sidebar"] {
1591
+ height: 100%;
1592
+ border-inline-end: none;
1593
+ border-radius: inherit;
1594
+ background: transparent;
1595
+ }
1596
+
1597
+ @media (prefers-reduced-motion: reduce) {
1598
+ [data-refineui="sidebar-peek-surface"],
1599
+ [data-refineui="sidebar-peek-panel"] {
1600
+ transition: none !important;
1601
+ }
1602
+ }
1603
+
1604
+ /* Navigation Menu — top-level hover plate; content rows = Menu item */
1605
+ [data-refineui="navigation-menu-trigger"],
1606
+ [data-refineui="navigation-menu-list"] > [data-refineui="navigation-menu-item"] > [data-refineui="navigation-menu-link"] {
1607
+ transition:
1608
+ color var(--refineui-motion-duration-fast),
1609
+ background-color var(--refineui-motion-duration-fast);
1610
+ }
1611
+ /* Top-level hover: primary hover plate */
1612
+ [data-refineui="navigation-menu-trigger"]:not(:disabled):hover:not(:active),
1613
+ [data-refineui="navigation-menu-list"] > [data-refineui="navigation-menu-item"] > [data-refineui="navigation-menu-link"]:not([aria-disabled="true"]):hover:not(:active) {
1614
+ color: var(--refineui-color-alias-foreground-primary-hover) !important;
1615
+ background-color: var(--refineui-color-alias-background-primary-hover) !important;
1616
+ }
1617
+ [data-refineui="navigation-menu-list"] > [data-refineui="navigation-menu-item"] > [data-refineui="navigation-menu-link"][data-active]:hover:not(:active) {
1618
+ color: var(--refineui-color-alias-foreground-primary-hover) !important;
1619
+ }
1620
+ /* Top-level press */
1621
+ [data-refineui="navigation-menu-trigger"]:not(:disabled):active,
1622
+ [data-refineui="navigation-menu-list"] > [data-refineui="navigation-menu-item"] > [data-refineui="navigation-menu-link"]:not([aria-disabled="true"]):active {
1623
+ color: var(--refineui-color-alias-foreground-primary) !important;
1624
+ background-color: var(--refineui-color-alias-background-primary-active) !important;
1625
+ }
1626
+ /* Open trigger: same plate language as hover */
1627
+ [data-refineui="navigation-menu-trigger"][data-state="open"]:not(:disabled) {
1628
+ color: var(--refineui-color-alias-foreground-primary) !important;
1629
+ background-color: var(--refineui-color-alias-background-primary-hover) !important;
1630
+ }
1631
+ [data-refineui="navigation-menu-trigger"][data-state="open"]:not(:disabled):active {
1632
+ background-color: var(--refineui-color-alias-background-primary-active) !important;
1633
+ }
1634
+ [data-refineui="navigation-menu-trigger"]:focus-visible,
1635
+ [data-refineui="navigation-menu-link"]:focus-visible {
1636
+ outline: 2px solid var(--refineui-focus-color);
1637
+ outline-offset: var(--refineui-focus-offset);
1638
+ }
1639
+ /* Hide legacy underline indicator */
1640
+ [data-refineui="navigation-menu-indicator"] {
1641
+ display: none !important;
1642
+ }
1643
+ /* Content links: Sidebar link plate */
1644
+ [data-refineui="navigation-menu-content"] [data-refineui="navigation-menu-link"]:not([aria-disabled="true"]):hover:not(:active) {
1645
+ color: var(--refineui-color-alias-foreground-primary-hover) !important;
1646
+ background-color: var(--refineui-color-alias-background-primary-hover) !important;
1647
+ }
1648
+ [data-refineui="navigation-menu-content"] [data-refineui="navigation-menu-link"]:not([aria-disabled="true"]):active {
1649
+ color: var(--refineui-color-alias-foreground-primary) !important;
1650
+ background-color: var(--refineui-color-alias-background-primary-active) !important;
1651
+ }
1652
+ [data-refineui="navigation-menu-content"][data-state="open"] {
1653
+ opacity: 1;
1654
+ }
1655
+ [data-refineui="navigation-menu-content"][data-state="closed"] {
1656
+ opacity: 0;
1657
+ pointer-events: none;
1658
+ }
1659
+ [data-refineui="navigation-menu-content"] {
1660
+ transition: opacity var(--refineui-motion-duration-fast) var(--refineui-motion-easing-ease-out);
1661
+ }
1662
+
1663
+ /* Breadcrumb ellipsis — Web Kit pressed (BreadcrumbItem Ellipsis, same tone as links) */
1664
+ [data-refineui="breadcrumb-ellipsis"] {
1665
+ margin: 0;
1666
+ border: none;
1667
+ background: transparent;
1668
+ font: inherit;
1669
+ color: inherit;
1670
+ appearance: none;
1671
+ }
1672
+ [data-refineui="breadcrumb-ellipsis"]:hover:not(:active) {
1673
+ color: var(--refineui-color-alias-foreground-primary-hover) !important;
1674
+ background-color: var(--refineui-color-alias-background-primary-hover) !important;
1675
+ }
1676
+ [data-refineui="breadcrumb-ellipsis"]:active,
1677
+ [data-refineui="breadcrumb-ellipsis"][data-state="pressed"] {
1678
+ background-color: var(--refineui-color-alias-background-primary-active) !important;
1679
+ }
1680
+ [data-refineui="breadcrumb-ellipsis"]:focus-visible {
1681
+ outline: 2px solid var(--refineui-focus-color);
1682
+ outline-offset: var(--refineui-focus-offset);
1683
+ }
1684
+
1685
+ /* Card — Web Kit COMPONENT_SET `Card` `394:865` (State: Default / Hover / Pressed / Disabled); Header px `sizeXLarge` py `sizeLarge`, Footer px `sizeXLarge` py `sizeMedium`, elevated = Shadow 4 (no stroke), outlined = thin border, radius `roundedXXLarge` */
1686
+ [data-refineui="card"] {
1687
+ /* Token radius on the host — do not rely only on Tailwind `rounded-*` (theme indirection can drop corners) */
1688
+ border-radius: var(--refineui-radius-rounded-xx-large);
1689
+ overflow: hidden;
1690
+ transition: background-color var(--refineui-motion-duration-fast), border-color var(--refineui-motion-duration-fast), box-shadow var(--refineui-motion-duration-fast);
1691
+ }
1692
+ /* Selected — inset ring so `overflow: hidden` still clips children to `roundedXXLarge` without squaring the card */
1693
+ [data-refineui="card"][data-selected="true"] {
1694
+ box-shadow: inset 0 0 0 var(--refineui-stroke-width-thick) var(--refineui-color-alias-border-focus);
1695
+ }
1696
+ [data-refineui="card"][data-variant="elevated"][data-selected="true"] {
1697
+ box-shadow:
1698
+ var(--refineui-elevation-4),
1699
+ inset 0 0 0 var(--refineui-stroke-width-thick) var(--refineui-color-alias-border-focus);
1700
+ }
1701
+ [data-refineui="card"][data-interactive="true"]:not([data-disabled="true"]):not([aria-disabled="true"]):hover:not(:active) {
1702
+ background-color: var(--refineui-color-alias-background-primary-hover) !important;
1703
+ }
1704
+ [data-refineui="card"][data-variant="outlined"][data-interactive="true"]:not([data-disabled="true"]):not([aria-disabled="true"]):hover:not(:active) {
1705
+ border-color: var(--refineui-color-alias-border-default) !important;
1706
+ }
1707
+ [data-refineui="card"][data-interactive="true"]:not([data-disabled="true"]):not([aria-disabled="true"]):active {
1708
+ background-color: var(--refineui-color-alias-background-surface-selected) !important;
1709
+ }
1710
+ [data-refineui="card"][data-variant="outlined"][data-interactive="true"]:not([data-disabled="true"]):not([aria-disabled="true"]):active {
1711
+ border-color: var(--refineui-color-alias-border-strong) !important;
1712
+ }
1713
+ [data-refineui="card"][data-disabled="true"],
1714
+ [data-refineui="card"][aria-disabled="true"] {
1715
+ background-color: var(--refineui-color-alias-background-surface-disabled) !important;
1716
+ }
1717
+ [data-refineui="card"][data-variant="outlined"][data-disabled="true"],
1718
+ [data-refineui="card"][data-variant="outlined"][aria-disabled="true"] {
1719
+ border-color: var(--refineui-color-alias-border-disabled) !important;
1720
+ }
1721
+ [data-refineui="card"][data-disabled="true"] [data-refineui="card-title"],
1722
+ [data-refineui="card"][aria-disabled="true"] [data-refineui="card-title"],
1723
+ [data-refineui="card"][data-disabled="true"] [data-refineui="card-description"],
1724
+ [data-refineui="card"][aria-disabled="true"] [data-refineui="card-description"],
1725
+ [data-refineui="card"][data-disabled="true"] [data-refineui="card-content"],
1726
+ [data-refineui="card"][aria-disabled="true"] [data-refineui="card-content"] {
1727
+ color: var(--refineui-color-alias-foreground-disabled) !important;
1728
+ }
1729
+
1730
+ /* Badge — Web Kit hover/pressed (Figma Badge; Foundation palette) */
1731
+ [data-refineui="badge"] {
1732
+ transition: background-color var(--refineui-motion-duration-fast), border-color var(--refineui-motion-duration-fast);
1733
+ }
1734
+ [data-refineui="badge"][data-variant="default"]:hover {
1735
+ background-color: var(--refineui-color-alias-background-brand-hover) !important;
1736
+ }
1737
+ [data-refineui="badge"][data-variant="default"]:active {
1738
+ background-color: var(--refineui-color-alias-background-brand-active) !important;
1739
+ }
1740
+ [data-refineui="badge"][data-variant="neutral"]:hover {
1741
+ background-color: var(--refineui-color-alias-background-primary-hover) !important;
1742
+ }
1743
+ [data-refineui="badge"][data-variant="neutral"]:active {
1744
+ background-color: var(--refineui-color-alias-background-primary-active) !important;
1745
+ }
1746
+ [data-refineui="badge"][data-variant="outline"]:active {
1747
+ border-color: var(--refineui-color-alias-border-strong) !important;
1748
+ }
1749
+ [data-refineui="badge"][data-variant="success"]:hover {
1750
+ background-color: var(--refineui-color-alias-background-success-hover) !important;
1751
+ }
1752
+ [data-refineui="badge"][data-variant="success"]:active {
1753
+ background-color: var(--refineui-color-alias-background-success-subtle) !important;
1754
+ }
1755
+ [data-refineui="badge"][data-variant="warning"]:hover {
1756
+ background-color: var(--refineui-color-alias-background-warning-hover) !important;
1757
+ }
1758
+ [data-refineui="badge"][data-variant="warning"]:active {
1759
+ background-color: var(--refineui-color-alias-background-warning-subtle) !important;
1760
+ }
1761
+ [data-refineui="badge"][data-variant="danger"]:hover {
1762
+ background-color: var(--refineui-color-alias-background-error-hover) !important;
1763
+ }
1764
+ [data-refineui="badge"][data-variant="danger"]:active {
1765
+ background-color: var(--refineui-color-alias-background-error-subtle) !important;
1766
+ }
1767
+
1768
+ /* Chip / Tag — Web Kit COMPONENT_SET `Tag` `574:6578` */
1769
+ [data-refineui="chip"] {
1770
+ transition: background-color var(--refineui-motion-duration-fast), border-color var(--refineui-motion-duration-fast);
1771
+ }
1772
+ [data-refineui="chip"][data-disabled="true"] {
1773
+ pointer-events: none;
1774
+ cursor: not-allowed;
1775
+ }
1776
+ [data-refineui="chip"][data-variant="filled"]:not([data-disabled]):hover {
1777
+ background-color: var(--refineui-color-alias-background-brand-hover) !important;
1778
+ }
1779
+ [data-refineui="chip"][data-variant="filled"]:not([data-disabled]):active {
1780
+ background-color: var(--refineui-color-alias-background-brand-active) !important;
1781
+ }
1782
+ [data-refineui="chip"][data-variant="default"]:not([data-disabled]):hover {
1783
+ background-color: var(--refineui-color-alias-background-primary-hover) !important;
1784
+ }
1785
+ [data-refineui="chip"][data-variant="default"]:not([data-disabled]):active {
1786
+ background-color: var(--refineui-color-alias-background-primary-active) !important;
1787
+ }
1788
+ [data-refineui="chip"][data-variant="outline"]:not([data-disabled]):hover {
1789
+ border-color: var(--refineui-color-alias-border-hover) !important;
1790
+ }
1791
+ [data-refineui="chip"][data-variant="outline"]:not([data-disabled]):active {
1792
+ border-color: var(--refineui-color-alias-border-focus) !important;
1793
+ }
1794
+
1795
+ /* Slider — Web Kit `526:1556` + Slider/Item (alias colors only; sm/md) */
1796
+ /* Slider — pill rail + surface thumb; motion tokens for hover/press */
1797
+ [data-refineui="slider"] {
1798
+ -webkit-appearance: none;
1799
+ appearance: none;
1800
+ outline: none !important;
1801
+ background: transparent;
1802
+ box-sizing: border-box;
1803
+ touch-action: none;
1804
+ cursor: grab;
1805
+ --refineui-slider-rail: var(--refineui-color-alias-background-brand-subtle);
1806
+ --refineui-slider-fill-color: var(--refineui-color-alias-background-brand);
1807
+ --refineui-slider-thumb-size: var(--refineui-size-foundation-size-200);
1808
+ }
1809
+ [data-refineui="slider"]:not(:disabled):active {
1810
+ cursor: grabbing;
1811
+ }
1812
+ [data-refineui="slider"]:disabled {
1813
+ --refineui-slider-rail: var(--refineui-color-alias-background-surface-disabled);
1814
+ --refineui-slider-fill-color: var(--refineui-color-alias-foreground-disabled);
1815
+ cursor: not-allowed;
1816
+ }
1817
+ [data-refineui="slider"]:focus {
1818
+ outline: none !important;
1819
+ }
1820
+ [data-refineui="slider"][data-size="md"]::-webkit-slider-runnable-track {
1821
+ height: var(--refineui-size-slider-track-height-md);
1822
+ border-radius: var(--refineui-radius-rounded-circle);
1823
+ background: linear-gradient(
1824
+ to right,
1825
+ var(--refineui-slider-fill-color) 0%,
1826
+ var(--refineui-slider-fill-color) var(--refineui-slider-fill, 0%),
1827
+ var(--refineui-slider-rail) var(--refineui-slider-fill, 0%),
1828
+ var(--refineui-slider-rail) 100%
1829
+ );
1830
+ }
1831
+ [data-refineui="slider"][data-size="sm"]::-webkit-slider-runnable-track {
1832
+ height: var(--refineui-size-slider-track-height-sm);
1833
+ border-radius: var(--refineui-radius-rounded-circle);
1834
+ background: linear-gradient(
1835
+ to right,
1836
+ var(--refineui-slider-fill-color) 0%,
1837
+ var(--refineui-slider-fill-color) var(--refineui-slider-fill, 0%),
1838
+ var(--refineui-slider-rail) var(--refineui-slider-fill, 0%),
1839
+ var(--refineui-slider-rail) 100%
1840
+ );
1841
+ }
1842
+ [data-refineui="slider"]::-webkit-slider-thumb {
1843
+ -webkit-appearance: none;
1844
+ box-sizing: border-box;
1845
+ width: var(--refineui-slider-thumb-size);
1846
+ height: var(--refineui-slider-thumb-size);
1847
+ border-radius: var(--refineui-radius-rounded-circle);
1848
+ border: var(--refineui-stroke-width-thin) solid var(--refineui-color-alias-border-default);
1849
+ background-color: var(--refineui-color-alias-background-primary);
1850
+ box-shadow: var(--refineui-elevation-2lighter);
1851
+ cursor: inherit;
1852
+ transition:
1853
+ transform var(--refineui-motion-duration-fast) var(--refineui-motion-easing-ease-out),
1854
+ box-shadow var(--refineui-motion-duration-fast) var(--refineui-motion-easing-ease-out),
1855
+ border-color var(--refineui-motion-duration-fast) var(--refineui-motion-easing-ease-out),
1856
+ background-color var(--refineui-motion-duration-fast) var(--refineui-motion-easing-ease-out);
1857
+ }
1858
+ [data-refineui="slider"][data-size="md"]::-webkit-slider-thumb {
1859
+ margin-top: calc(
1860
+ (var(--refineui-slider-thumb-size) - var(--refineui-size-slider-track-height-md)) / -2
1861
+ );
1862
+ }
1863
+ [data-refineui="slider"][data-size="sm"]::-webkit-slider-thumb {
1864
+ margin-top: calc(
1865
+ (var(--refineui-slider-thumb-size) - var(--refineui-size-slider-track-height-sm)) / -2
1866
+ );
1867
+ }
1868
+ [data-refineui="slider"]:not(:disabled)::-webkit-slider-thumb:hover {
1869
+ border-color: var(--refineui-color-alias-border-strong);
1870
+ box-shadow: var(--refineui-elevation-2);
1871
+ transform: scale(var(--refineui-motion-scale-hover-grow));
1872
+ }
1873
+ [data-refineui="slider"]:not(:disabled):active::-webkit-slider-thumb {
1874
+ border-color: var(--refineui-color-alias-border-strong);
1875
+ box-shadow: var(--refineui-elevation-2lighter);
1876
+ transform: scale(var(--refineui-motion-scale-press));
1877
+ }
1878
+ [data-refineui="slider"]:focus-visible:not(:disabled)::-webkit-slider-thumb {
1879
+ border-color: var(--refineui-color-alias-border-focus);
1880
+ box-shadow:
1881
+ 0 0 0 var(--refineui-stroke-width-thick) var(--refineui-color-alias-border-focus),
1882
+ var(--refineui-elevation-2lighter);
1883
+ }
1884
+ [data-refineui="slider"]:disabled::-webkit-slider-thumb {
1885
+ background-color: var(--refineui-color-alias-background-surface-disabled);
1886
+ border-color: var(--refineui-color-alias-border-disabled);
1887
+ box-shadow: none;
1888
+ transform: none;
1889
+ cursor: not-allowed;
1890
+ }
1891
+ [data-refineui="slider"][data-size="md"]::-moz-range-track {
1892
+ height: var(--refineui-size-slider-track-height-md);
1893
+ border-radius: var(--refineui-radius-rounded-circle);
1894
+ background: var(--refineui-slider-rail);
1895
+ }
1896
+ [data-refineui="slider"][data-size="md"]::-moz-range-progress {
1897
+ height: var(--refineui-size-slider-track-height-md);
1898
+ border-radius: var(--refineui-radius-rounded-circle);
1899
+ background: var(--refineui-slider-fill-color);
1900
+ }
1901
+ [data-refineui="slider"][data-size="sm"]::-moz-range-track {
1902
+ height: var(--refineui-size-slider-track-height-sm);
1903
+ border-radius: var(--refineui-radius-rounded-circle);
1904
+ background: var(--refineui-slider-rail);
1905
+ }
1906
+ [data-refineui="slider"][data-size="sm"]::-moz-range-progress {
1907
+ height: var(--refineui-size-slider-track-height-sm);
1908
+ border-radius: var(--refineui-radius-rounded-circle);
1909
+ background: var(--refineui-slider-fill-color);
1910
+ }
1911
+ [data-refineui="slider"]::-moz-range-thumb {
1912
+ box-sizing: border-box;
1913
+ width: var(--refineui-slider-thumb-size);
1914
+ height: var(--refineui-slider-thumb-size);
1915
+ border-radius: var(--refineui-radius-rounded-circle);
1916
+ border: var(--refineui-stroke-width-thin) solid var(--refineui-color-alias-border-default);
1917
+ background-color: var(--refineui-color-alias-background-primary);
1918
+ box-shadow: var(--refineui-elevation-2lighter);
1919
+ cursor: inherit;
1920
+ transition:
1921
+ transform var(--refineui-motion-duration-fast) var(--refineui-motion-easing-ease-out),
1922
+ box-shadow var(--refineui-motion-duration-fast) var(--refineui-motion-easing-ease-out),
1923
+ border-color var(--refineui-motion-duration-fast) var(--refineui-motion-easing-ease-out),
1924
+ background-color var(--refineui-motion-duration-fast) var(--refineui-motion-easing-ease-out);
1925
+ }
1926
+ [data-refineui="slider"]:not(:disabled)::-moz-range-thumb:hover {
1927
+ border-color: var(--refineui-color-alias-border-strong);
1928
+ box-shadow: var(--refineui-elevation-2);
1929
+ transform: scale(var(--refineui-motion-scale-hover-grow));
1930
+ }
1931
+ [data-refineui="slider"]:not(:disabled):active::-moz-range-thumb {
1932
+ border-color: var(--refineui-color-alias-border-strong);
1933
+ box-shadow: var(--refineui-elevation-2lighter);
1934
+ transform: scale(var(--refineui-motion-scale-press));
1935
+ }
1936
+ [data-refineui="slider"]:focus-visible:not(:disabled)::-moz-range-thumb {
1937
+ border-color: var(--refineui-color-alias-border-focus);
1938
+ box-shadow:
1939
+ 0 0 0 var(--refineui-stroke-width-thick) var(--refineui-color-alias-border-focus),
1940
+ var(--refineui-elevation-2lighter);
1941
+ }
1942
+ [data-refineui="slider"]:disabled::-moz-range-thumb {
1943
+ background-color: var(--refineui-color-alias-background-surface-disabled);
1944
+ border-color: var(--refineui-color-alias-border-disabled);
1945
+ box-shadow: none;
1946
+ transform: none;
1947
+ cursor: not-allowed;
1948
+ }
1949
+
1950
+ /**
1951
+ * ScrollArea — overlay scrollbar (does not steal viewport width/height).
1952
+ * Rails float over the viewport; show/hide is opacity-only so docs/shell
1953
+ * content does not shift when the bar appears.
1954
+ */
1955
+ [data-refineui="scroll-area"] {
1956
+ position: relative;
1957
+ }
1958
+ /* Horizontal-only: size viewport to content (no fixed parent height). */
1959
+ [data-refineui="scroll-area"]:has(
1960
+ > [data-refineui="scroll-area-scrollbar"][data-orientation="horizontal"]
1961
+ ):not(
1962
+ :has(> [data-refineui="scroll-area-scrollbar"][data-orientation="vertical"])
1963
+ )
1964
+ > [data-refineui="scroll-area-viewport"] {
1965
+ height: auto;
1966
+ }
1967
+ [data-refineui="scroll-area-viewport"] {
1968
+ scrollbar-width: none;
1969
+ -ms-overflow-style: none;
1970
+ }
1971
+ [data-refineui="scroll-area-viewport"]::-webkit-scrollbar {
1972
+ display: none;
1973
+ width: 0;
1974
+ height: 0;
1975
+ }
1976
+ [data-refineui="scroll-area-scrollbar"][data-orientation="vertical"] {
1977
+ position: absolute;
1978
+ inset-block: var(--refineui-spacing-size-xxx-small);
1979
+ inset-inline-end: var(--refineui-spacing-size-xxx-small);
1980
+ width: var(--refineui-spacing-size-medium);
1981
+ overflow: hidden;
1982
+ }
1983
+ [data-refineui="scroll-area-scrollbar"][data-orientation="horizontal"] {
1984
+ position: absolute;
1985
+ inset-inline: var(--refineui-spacing-size-xxx-small);
1986
+ inset-block-end: var(--refineui-spacing-size-xxx-small);
1987
+ height: var(--refineui-spacing-size-medium);
1988
+ overflow: hidden;
1989
+ }
1990
+ [data-refineui="scroll-area-track"] {
1991
+ background-color: var(--refineui-color-alias-background-surface-selected);
1992
+ border-radius: var(--refineui-radius-rounded-circle);
1993
+ }
1994
+ [data-refineui="scroll-area-thumb"][data-orientation="vertical"] {
1995
+ left: 0;
1996
+ width: 100%;
1997
+ }
1998
+ [data-refineui="scroll-area-thumb"][data-orientation="horizontal"] {
1999
+ top: 0;
2000
+ height: 100%;
2001
+ }
2002
+ [data-refineui="scroll-area-scrollbar"][data-state="hidden"] {
2003
+ pointer-events: none;
2004
+ opacity: 0;
2005
+ }
2006
+ [data-refineui="scroll-area-scrollbar"][data-visibility="always"][data-state="visible"] {
2007
+ opacity: 1;
2008
+ }
2009
+ [data-refineui="scroll-area-scrollbar"][data-visibility="hover"][data-state="visible"] {
2010
+ opacity: 0;
2011
+ pointer-events: none;
2012
+ }
2013
+ [data-refineui="scroll-area"]:hover
2014
+ > [data-refineui="scroll-area-scrollbar"][data-visibility="hover"][data-state="visible"],
2015
+ [data-refineui="scroll-area"]:focus-within
2016
+ > [data-refineui="scroll-area-scrollbar"][data-visibility="hover"][data-state="visible"],
2017
+ [data-refineui="scroll-area"][data-scrolling]
2018
+ > [data-refineui="scroll-area-scrollbar"][data-visibility="hover"][data-state="visible"],
2019
+ [data-refineui="scroll-area"][data-interacting]
2020
+ > [data-refineui="scroll-area-scrollbar"][data-visibility="hover"][data-state="visible"],
2021
+ [data-refineui="scroll-area-scrollbar"][data-visibility="hover"][data-state="visible"][data-active="true"] {
2022
+ opacity: 1;
2023
+ pointer-events: auto;
2024
+ }
2025
+ /**
2026
+ * Select menu is focused while open and may auto-scroll to the selected item,
2027
+ * so the shared hover ScrollArea would stay visible. Reveal on pointer hover
2028
+ * (and thumb drag) only.
2029
+ */
2030
+ [data-refineui="select-menu"]
2031
+ [data-refineui="scroll-area"]:focus-within
2032
+ > [data-refineui="scroll-area-scrollbar"][data-visibility="hover"][data-state="visible"],
2033
+ [data-refineui="select-menu"]
2034
+ [data-refineui="scroll-area"][data-scrolling]
2035
+ > [data-refineui="scroll-area-scrollbar"][data-visibility="hover"][data-state="visible"] {
2036
+ opacity: 0;
2037
+ pointer-events: none;
2038
+ }
2039
+ [data-refineui="select-menu"]
2040
+ [data-refineui="scroll-area"]:hover
2041
+ > [data-refineui="scroll-area-scrollbar"][data-visibility="hover"][data-state="visible"],
2042
+ [data-refineui="select-menu"]
2043
+ [data-refineui="scroll-area"][data-interacting]
2044
+ > [data-refineui="scroll-area-scrollbar"][data-visibility="hover"][data-state="visible"] {
2045
+ opacity: 1;
2046
+ pointer-events: auto;
2047
+ }
2048
+
2049
+ /* Command list — fixed height shell so ScrollArea viewport can scroll */
2050
+ [data-refineui="command-list"] {
2051
+ height: min(60vh, var(--refineui-size-foundation-size-3200));
2052
+ max-height: min(60vh, var(--refineui-size-foundation-size-3200));
2053
+ overflow: hidden;
2054
+ }
2055
+ [data-refineui="command-list"] > [data-refineui="scroll-area"] {
2056
+ height: 100%;
2057
+ min-height: 0;
2058
+ }
2059
+
2060
+ /* Chart — enter motion + hover / selected */
2061
+ [data-refineui="chart-bar"] {
2062
+ transform-box: fill-box;
2063
+ transform-origin: bottom center;
2064
+ animation: refineui-chart-bar-enter var(--refineui-motion-duration-panel)
2065
+ var(--refineui-motion-easing-emphasized) both;
2066
+ transition: opacity var(--refineui-motion-duration-fast)
2067
+ var(--refineui-motion-easing-ease-out);
2068
+ }
2069
+ [data-refineui="chart-plot-frame"][data-hover] [data-refineui="chart-bar"][data-state="default"] {
2070
+ opacity: var(--refineui-opacity-disabled);
2071
+ }
2072
+ [data-refineui="chart-bar"][data-state="hover"],
2073
+ [data-refineui="chart-bar"][data-state="selected"] {
2074
+ opacity: var(--refineui-opacity-full);
2075
+ }
2076
+ [data-refineui="chart-bar-track"] {
2077
+ pointer-events: none;
2078
+ }
2079
+ [data-refineui="chart-line-stroke"] {
2080
+ stroke-dasharray: 1;
2081
+ stroke-dashoffset: 1;
2082
+ animation: refineui-chart-line-enter var(--refineui-motion-duration-panel)
2083
+ var(--refineui-motion-easing-emphasized) both;
2084
+ }
2085
+ [data-refineui="chart-line-area"] {
2086
+ animation: refineui-chart-point-enter var(--refineui-motion-duration-panel)
2087
+ var(--refineui-motion-easing-emphasized) both;
2088
+ }
2089
+ [data-refineui="chart-point"] {
2090
+ animation: refineui-chart-point-enter var(--refineui-motion-duration-fast)
2091
+ var(--refineui-motion-easing-emphasized) both;
2092
+ }
2093
+
2094
+ @keyframes refineui-chart-bar-enter {
2095
+ from {
2096
+ transform: scaleY(0);
2097
+ }
2098
+ to {
2099
+ transform: scaleY(1);
2100
+ }
2101
+ }
2102
+ @keyframes refineui-chart-line-enter {
2103
+ from {
2104
+ stroke-dashoffset: 1;
2105
+ }
2106
+ to {
2107
+ stroke-dashoffset: 0;
2108
+ }
2109
+ }
2110
+ @keyframes refineui-chart-point-enter {
2111
+ from {
2112
+ opacity: 0;
2113
+ }
2114
+ to {
2115
+ opacity: 1;
2116
+ }
2117
+ }
2118
+
2119
+ /*
2120
+ * Environment — Forced colors (Windows High Contrast / forced-colors: active)
2121
+ * Declared in Component Spec: states.environment includes "forced-colors"
2122
+ * System colors only — theme semantic aliases are remapped/unreliable here.
2123
+ */
2124
+ @media (forced-colors: active) {
2125
+ [data-refineui="button"]:focus-visible,
2126
+ [data-refineui="accordion-trigger"]:focus-visible,
2127
+ [data-refineui="select-trigger"]:focus-visible,
2128
+ [data-refineui="navigation-menu-trigger"]:focus-visible,
2129
+ [data-refineui="tree-item-trigger"]:focus-visible,
2130
+ [data-refineui="tab"]:focus-visible,
2131
+ [data-refineui="switch"]:focus-visible,
2132
+ [data-refineui="link"]:focus-visible,
2133
+ [data-refineui="pagination"]:focus-visible,
2134
+ [data-refineui="chip-remove"]:focus-visible,
2135
+ [data-refineui="carousel"]:focus-visible,
2136
+ [data-refineui="carousel-nav"]:focus-visible,
2137
+ [data-refineui="segmented-control-item"]:focus-visible,
2138
+ [data-refineui="menu-item"]:focus-visible,
2139
+ [data-refineui="dropdown-item"]:focus-visible,
2140
+ [data-refineui="command-item"]:focus-visible,
2141
+ [data-refineui="calendar-day"]:focus-visible,
2142
+ [data-refineui="sidebar-link"]:focus-visible,
2143
+ [data-refineui="breadcrumb-link"]:focus-visible,
2144
+ [data-refineui="footer-link"]:focus-visible,
2145
+ [data-refineui="search-field-clear"]:focus-visible,
2146
+ [data-refineui="spinbutton-step"]:focus-visible,
2147
+ [data-refineui="radio"]:focus-visible,
2148
+ [data-refineui="slider"]:focus-visible {
2149
+ outline: 2px solid Highlight;
2150
+ outline-offset: var(--refineui-focus-offset);
2151
+ }
2152
+
2153
+ [data-refineui="button"],
2154
+ [data-refineui="select-trigger"],
2155
+ [data-refineui="chip"],
2156
+ [data-refineui="segmented-control"],
2157
+ [data-refineui="segmented-control-item"],
2158
+ [data-refineui="tab"],
2159
+ [data-refineui="switch"],
2160
+ [data-refineui="breadcrumb"],
2161
+ [data-refineui="calendar"],
2162
+ [data-refineui="checkbox"],
2163
+ [data-refineui="footer"],
2164
+ [data-refineui="progress-stepper"],
2165
+ [data-refineui="scroll-area"],
2166
+ [data-refineui="search-field"],
2167
+ [data-refineui="sidebar"],
2168
+ [data-refineui="spinbutton"],
2169
+ [data-refineui="stepper"],
2170
+ [data-refineui="popover"],
2171
+ [data-refineui="badge"],
2172
+ [data-refineui="input"],
2173
+ [data-refineui="textarea"],
2174
+ [data-refineui="toast"],
2175
+ [data-refineui="link"] {
2176
+ border-color: ButtonBorder;
2177
+ }
2178
+
2179
+ [data-refineui="alert"],
2180
+ [data-refineui="card"],
2181
+ [data-refineui="toast"],
2182
+ [data-refineui="popover"],
2183
+ [data-refineui="drawer"],
2184
+ [data-refineui="tooltip"],
2185
+ [data-refineui="menu"],
2186
+ [data-refineui="dropdown-menu"],
2187
+ [data-refineui="select-menu"],
2188
+ [data-refineui="command"],
2189
+ [data-refineui="dialog"] {
2190
+ border-color: CanvasText;
2191
+ }
2192
+
2193
+ [data-refineui="toast"] {
2194
+ background-color: Canvas;
2195
+ backdrop-filter: none;
2196
+ -webkit-backdrop-filter: none;
2197
+ }
2198
+
2199
+ [data-refineui="dialog"] > [role="presentation"],
2200
+ [data-refineui="drawer"] > [role="presentation"] {
2201
+ backdrop-filter: none;
2202
+ -webkit-backdrop-filter: none;
2203
+ }
2204
+
2205
+ [data-refineui="toast-icon"] {
2206
+ color: ButtonText;
2207
+ forced-color-adjust: none;
2208
+ }
2209
+
2210
+ [data-refineui="dialog"],
2211
+ [data-refineui="drawer"],
2212
+ [data-refineui="popover"] {
2213
+ border: var(--refineui-stroke-width-thin) solid CanvasText;
2214
+ }
2215
+
2216
+ [data-refineui="popover"]:focus-visible {
2217
+ outline: 2px solid Highlight;
2218
+ outline-offset: var(--refineui-focus-offset);
2219
+ }
2220
+ }
2221
+
2222
+ /*
2223
+ * Environment — Prefers contrast
2224
+ * Declared in Component Spec: states.environment includes "prefers-contrast"
2225
+ * Strengthen borders for interactive surfaces; theme aliases stay valid here.
2226
+ */
2227
+ @media (prefers-contrast: more) {
2228
+ [data-refineui="button"],
2229
+ [data-refineui="select-trigger"],
2230
+ [data-refineui="accordion-trigger"],
2231
+ [data-refineui="dialog"],
2232
+ [data-refineui="drawer"],
2233
+ [data-refineui="alert"],
2234
+ [data-refineui="input"],
2235
+ [data-refineui="textarea"],
2236
+ [data-refineui="checkbox"],
2237
+ [data-refineui="radio"],
2238
+ [data-refineui="switch"],
2239
+ [data-refineui="tab"],
2240
+ [data-refineui="badge"],
2241
+ [data-refineui="toast"],
2242
+ [data-refineui="chip"],
2243
+ [data-refineui="segmented-control"],
2244
+ [data-refineui="segmented-control-item"] {
2245
+ border-width: var(--refineui-stroke-width-thick);
2246
+ }
2247
+
2248
+ [data-refineui="toast"] {
2249
+ border-style: solid;
2250
+ border-color: var(--refineui-color-alias-border-default);
2251
+ background-color: var(--refineui-color-alias-surface-popover);
2252
+ backdrop-filter: none;
2253
+ -webkit-backdrop-filter: none;
2254
+ }
2255
+
2256
+ [data-refineui="dialog"] > [role="presentation"],
2257
+ [data-refineui="drawer"] > [role="presentation"] {
2258
+ backdrop-filter: none;
2259
+ -webkit-backdrop-filter: none;
2260
+ }
2261
+
2262
+ [data-refineui="link"],
2263
+ [data-refineui="breadcrumb-link"],
2264
+ [data-refineui="sidebar-link"] {
2265
+ text-decoration-thickness: from-font;
2266
+ text-underline-offset: 0.12em;
2267
+ }
2268
+ }
2269
+
2270
+ /*
2271
+ * Layout — RTL
2272
+ * Spec: layout.direction=logical, layout.rtl=true (+ states.environment "dir")
2273
+ * Components use logical Tailwind / CSS properties; document dir="rtl" flips automatically.
2274
+ * Doctor layout-contract rejects physical left/right utilities in pilot components.
2275
+ */