@vobs/ui 0.2.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (208) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +60 -0
  3. package/package.json +52 -102
  4. package/src/activity-rail.ts +125 -0
  5. package/src/alert.ts +65 -0
  6. package/src/assets/icons/alert-circle.svg +1 -0
  7. package/src/assets/icons/alert-triangle.svg +1 -0
  8. package/src/assets/icons/alert.d27e24.svg +1 -0
  9. package/src/assets/icons/alert.svg +1 -0
  10. package/src/assets/icons/apple.svg +1 -0
  11. package/src/assets/icons/arrow-down.svg +1 -0
  12. package/src/assets/icons/arrow-expand.svg +1 -0
  13. package/src/assets/icons/arrow-left.svg +1 -0
  14. package/src/assets/icons/arrow-minimize.svg +1 -0
  15. package/src/assets/icons/arrow-right-to-line.svg +1 -0
  16. package/src/assets/icons/arrow-right.svg +1 -0
  17. package/src/assets/icons/arrow-up-right.svg +1 -0
  18. package/src/assets/icons/arrow-up.0c0c0d.svg +1 -0
  19. package/src/assets/icons/arrow-up.svg +1 -0
  20. package/src/assets/icons/at.svg +1 -0
  21. package/src/assets/icons/atom.0c0c0d.svg +1 -0
  22. package/src/assets/icons/atom.svg +1 -0
  23. package/src/assets/icons/bar.svg +1 -0
  24. package/src/assets/icons/bell.svg +1 -0
  25. package/src/assets/icons/box.svg +1 -0
  26. package/src/assets/icons/bug.svg +1 -0
  27. package/src/assets/icons/calendar.svg +1 -0
  28. package/src/assets/icons/check-circle.33c192.svg +1 -0
  29. package/src/assets/icons/check-circle.svg +1 -0
  30. package/src/assets/icons/check.d1d3db.svg +1 -0
  31. package/src/assets/icons/check.svg +1 -0
  32. package/src/assets/icons/chevron-down.svg +1 -0
  33. package/src/assets/icons/chevron-right.svg +1 -0
  34. package/src/assets/icons/chevron-up.svg +1 -0
  35. package/src/assets/icons/circle.svg +1 -0
  36. package/src/assets/icons/clock.svg +1 -0
  37. package/src/assets/icons/cmd.svg +1 -0
  38. package/src/assets/icons/code.svg +1 -0
  39. package/src/assets/icons/columns.svg +1 -0
  40. package/src/assets/icons/copy.svg +1 -0
  41. package/src/assets/icons/cpu.svg +1 -0
  42. package/src/assets/icons/dashboard.0c0c0d.svg +1 -0
  43. package/src/assets/icons/dashboard.svg +1 -0
  44. package/src/assets/icons/dollar.svg +1 -0
  45. package/src/assets/icons/download.svg +1 -0
  46. package/src/assets/icons/edit.svg +1 -0
  47. package/src/assets/icons/extensions.svg +1 -0
  48. package/src/assets/icons/external.svg +1 -0
  49. package/src/assets/icons/eye.svg +1 -0
  50. package/src/assets/icons/file-text.svg +1 -0
  51. package/src/assets/icons/file.svg +1 -0
  52. package/src/assets/icons/files.svg +1 -0
  53. package/src/assets/icons/filter.svg +1 -0
  54. package/src/assets/icons/folder.svg +1 -0
  55. package/src/assets/icons/gear.svg +1 -0
  56. package/src/assets/icons/git.svg +1 -0
  57. package/src/assets/icons/github.svg +1 -0
  58. package/src/assets/icons/globe.svg +1 -0
  59. package/src/assets/icons/grid-2x2.svg +1 -0
  60. package/src/assets/icons/hash.svg +1 -0
  61. package/src/assets/icons/heart.svg +1 -0
  62. package/src/assets/icons/help.svg +1 -0
  63. package/src/assets/icons/home.svg +1 -0
  64. package/src/assets/icons/image.svg +1 -0
  65. package/src/assets/icons/info-circle.svg +1 -0
  66. package/src/assets/icons/info-square.svg +1 -0
  67. package/src/assets/icons/info.387bff.svg +1 -0
  68. package/src/assets/icons/info.svg +1 -0
  69. package/src/assets/icons/key.svg +1 -0
  70. package/src/assets/icons/layers.svg +1 -0
  71. package/src/assets/icons/layout.svg +1 -0
  72. package/src/assets/icons/link.svg +1 -0
  73. package/src/assets/icons/list.svg +1 -0
  74. package/src/assets/icons/lock.svg +1 -0
  75. package/src/assets/icons/log-out.svg +1 -0
  76. package/src/assets/icons/logo.svg +1 -0
  77. package/src/assets/icons/mail.svg +1 -0
  78. package/src/assets/icons/menu.svg +1 -0
  79. package/src/assets/icons/message-circle.svg +1 -0
  80. package/src/assets/icons/message-plus.svg +1 -0
  81. package/src/assets/icons/message-square.svg +1 -0
  82. package/src/assets/icons/mic.svg +1 -0
  83. package/src/assets/icons/minus.svg +1 -0
  84. package/src/assets/icons/moon.svg +1 -0
  85. package/src/assets/icons/more-h.svg +1 -0
  86. package/src/assets/icons/mouse.svg +1 -0
  87. package/src/assets/icons/palette.svg +1 -0
  88. package/src/assets/icons/panel-bottom.svg +1 -0
  89. package/src/assets/icons/pause.svg +1 -0
  90. package/src/assets/icons/play.svg +1 -0
  91. package/src/assets/icons/plug.svg +1 -0
  92. package/src/assets/icons/plus.0c0c0d.svg +1 -0
  93. package/src/assets/icons/plus.svg +1 -0
  94. package/src/assets/icons/refresh.svg +1 -0
  95. package/src/assets/icons/ruler.svg +1 -0
  96. package/src/assets/icons/scroll-text.svg +1 -0
  97. package/src/assets/icons/search-menu.svg +1 -0
  98. package/src/assets/icons/search.svg +1 -0
  99. package/src/assets/icons/send.0c0c0d.svg +1 -0
  100. package/src/assets/icons/send.svg +1 -0
  101. package/src/assets/icons/settings.0c0c0d.svg +1 -0
  102. package/src/assets/icons/settings.svg +1 -0
  103. package/src/assets/icons/shield.svg +1 -0
  104. package/src/assets/icons/sidebar-left.svg +1 -0
  105. package/src/assets/icons/sidebar-right.svg +1 -0
  106. package/src/assets/icons/sliders.svg +1 -0
  107. package/src/assets/icons/sparkles.32f08c.svg +1 -0
  108. package/src/assets/icons/sparkles.svg +1 -0
  109. package/src/assets/icons/square.svg +1 -0
  110. package/src/assets/icons/star.svg +1 -0
  111. package/src/assets/icons/sun.svg +1 -0
  112. package/src/assets/icons/terminal.svg +1 -0
  113. package/src/assets/icons/trash.svg +1 -0
  114. package/src/assets/icons/trending-down.svg +1 -0
  115. package/src/assets/icons/trending-up.svg +1 -0
  116. package/src/assets/icons/type.svg +1 -0
  117. package/src/assets/icons/upload.svg +1 -0
  118. package/src/assets/icons/user-circle.svg +1 -0
  119. package/src/assets/icons/user.svg +1 -0
  120. package/src/assets/icons/users.svg +1 -0
  121. package/src/assets/icons/wrench.svg +1 -0
  122. package/src/assets/icons/x-circle.svg +1 -0
  123. package/src/assets/icons/x.svg +1 -0
  124. package/src/assets/icons/zap.0c0c0d.svg +1 -0
  125. package/src/assets/icons/zap.svg +1 -0
  126. package/src/avatar.ts +64 -0
  127. package/src/button.ts +88 -0
  128. package/src/card.ts +59 -0
  129. package/src/chat-composer.ts +156 -0
  130. package/src/dialog.ts +127 -0
  131. package/src/drawer.ts +131 -0
  132. package/src/editor-tabs.ts +184 -0
  133. package/src/file-tree.ts +214 -0
  134. package/src/forms.ts +270 -0
  135. package/src/icon.ts +117 -0
  136. package/src/icons.js +165 -0
  137. package/src/index.test.ts +213 -0
  138. package/src/index.ts +94 -0
  139. package/src/kbd.ts +72 -0
  140. package/src/menu.ts +119 -0
  141. package/src/nav-list.ts +157 -0
  142. package/src/overlay.test.ts +66 -0
  143. package/src/overlay.ts +205 -0
  144. package/src/page-header.ts +97 -0
  145. package/src/pagination.ts +163 -0
  146. package/src/second-batch.test.ts +205 -0
  147. package/src/stat-card.ts +92 -0
  148. package/src/status-bar.ts +108 -0
  149. package/src/styles/base.css +240 -0
  150. package/src/styles/components.css +1234 -0
  151. package/{dist → src/styles}/styles.css +2 -0
  152. package/src/styles/toast.css +57 -0
  153. package/src/styles/tokens.css +438 -0
  154. package/src/styles/vui.css +47 -0
  155. package/src/table.ts +191 -0
  156. package/src/tabs.ts +100 -0
  157. package/src/tag.ts +33 -0
  158. package/src/third-batch.test.ts +137 -0
  159. package/src/toast.test.ts +55 -0
  160. package/src/toast.ts +79 -0
  161. package/src/types.ts +25 -0
  162. package/src/utils.ts +221 -0
  163. package/src/workbench-titlebar.ts +137 -0
  164. package/dist/app-shell-dom.d.ts +0 -24
  165. package/dist/app-shell-dom.js +0 -573
  166. package/dist/app-shell.d.ts +0 -199
  167. package/dist/app-shell.js +0 -370
  168. package/dist/base.css +0 -52
  169. package/dist/calendar-picker.d.ts +0 -45
  170. package/dist/calendar-picker.js +0 -217
  171. package/dist/calendar.d.ts +0 -95
  172. package/dist/calendar.js +0 -194
  173. package/dist/complex-inputs.d.ts +0 -300
  174. package/dist/complex-inputs.js +0 -862
  175. package/dist/components.css +0 -4568
  176. package/dist/data-display.d.ts +0 -1063
  177. package/dist/data-display.js +0 -2298
  178. package/dist/feedback.d.ts +0 -88
  179. package/dist/feedback.js +0 -281
  180. package/dist/forms.d.ts +0 -378
  181. package/dist/forms.js +0 -1015
  182. package/dist/icons-config.d.ts +0 -25
  183. package/dist/icons-config.js +0 -14
  184. package/dist/icons.d.ts +0 -41
  185. package/dist/icons.js +0 -185
  186. package/dist/index.d.ts +0 -27
  187. package/dist/index.js +0 -34
  188. package/dist/locale/en-US.d.ts +0 -31
  189. package/dist/locale/en-US.js +0 -20
  190. package/dist/locale/zh-CN.d.ts +0 -31
  191. package/dist/locale/zh-CN.js +0 -20
  192. package/dist/navigation.d.ts +0 -609
  193. package/dist/navigation.js +0 -1707
  194. package/dist/overlay.d.ts +0 -304
  195. package/dist/overlay.js +0 -969
  196. package/dist/primitives.d.ts +0 -268
  197. package/dist/primitives.js +0 -764
  198. package/dist/theme-data.d.ts +0 -363
  199. package/dist/theme-data.js +0 -374
  200. package/dist/theme.d.ts +0 -79
  201. package/dist/theme.js +0 -262
  202. package/dist/tokens.css +0 -449
  203. package/dist/tree.d.ts +0 -144
  204. package/dist/tree.js +0 -469
  205. package/dist/virtual-list.d.ts +0 -190
  206. package/dist/virtual-list.js +0 -521
  207. package/dist/workbench.d.ts +0 -136
  208. package/dist/workbench.js +0 -156
@@ -1,4568 +0,0 @@
1
- @layer vobs.components {
2
- :where(.kui-dashboard-layout) {
3
- min-height: 100vh;
4
- display: grid;
5
- grid-template-rows: auto minmax(0, 1fr);
6
- background: var(--bg-base-default);
7
- color: var(--text-default);
8
- }
9
-
10
- :where(.kui-auth-layout) {
11
- min-height: 100vh;
12
- display: grid;
13
- place-items: center;
14
- padding: var(--spacer-24);
15
- background: var(--bg-base-default);
16
- }
17
-
18
- :where(.kui-page-frame) {
19
- min-height: 0;
20
- display: grid;
21
- grid-template-rows: auto auto minmax(0, 1fr);
22
- gap: var(--spacer-12);
23
- }
24
-
25
- :where(.kui-page-header, .kui-page-toolbar) {
26
- min-width: 0;
27
- display: flex;
28
- align-items: center;
29
- justify-content: space-between;
30
- gap: var(--spacer-12);
31
- }
32
-
33
- :where(.kui-product-page-header) {
34
- min-width: 0;
35
- display: grid;
36
- gap: var(--spacer-8);
37
- padding: var(--spacer-12);
38
- background: var(--bg-base-secondary);
39
- border: 1px solid var(--border-neutral-l1);
40
- border-radius: var(--radius-8);
41
- }
42
-
43
- :where(.kui-page-header-breadcrumb) {
44
- min-width: 0;
45
- display: flex;
46
- align-items: center;
47
- gap: var(--spacer-6);
48
- }
49
-
50
- :where(.kui-page-header-content) {
51
- min-width: 0;
52
- display: grid;
53
- gap: var(--spacer-4);
54
- }
55
-
56
- :where(.kui-page-header-title) {
57
- margin: 0;
58
- color: var(--text-default);
59
- font-size: var(--heading-lg-font-size);
60
- line-height: var(--heading-lg-line-height);
61
- }
62
-
63
- :where(.kui-page-header-subtitle) {
64
- margin: 0;
65
- color: var(--text-secondary);
66
- font-size: var(--body-sm-font-size);
67
- line-height: var(--body-sm-line-height);
68
- }
69
-
70
- :where(.kui-page-header-actions) {
71
- min-width: 0;
72
- display: flex;
73
- flex-wrap: wrap;
74
- justify-content: flex-end;
75
- gap: var(--spacer-8);
76
- }
77
-
78
- :where(.kui-page-header-tabs) {
79
- min-width: 0;
80
- display: flex;
81
- flex-wrap: wrap;
82
- gap: var(--spacer-6);
83
- color: var(--text-secondary);
84
- font-size: var(--body-sm-font-size);
85
- }
86
-
87
- :where(.kui-page-header-action) {
88
- min-height: 28px;
89
- display: inline-flex;
90
- align-items: center;
91
- padding-inline: var(--spacer-8);
92
- color: var(--text-secondary);
93
- background: var(--bg-base-tertiary);
94
- border: 1px solid var(--border-neutral-l2);
95
- border-radius: var(--radius-6);
96
- }
97
-
98
- :where(.kui-page-header-action[data-tone='primary']) {
99
- color: var(--text-onbrand);
100
- background: var(--bg-brand);
101
- border-color: var(--border-brand);
102
- }
103
-
104
- :where(.kui-page-toolbar) {
105
- overflow: hidden;
106
- }
107
-
108
- :where(.kui-page-body) {
109
- min-height: 0;
110
- }
111
-
112
- :where(.kui-page-body[data-mode='contained']) {
113
- overflow: hidden;
114
- }
115
-
116
- :where(.kui-page-body[data-mode='scroll']) {
117
- overflow: auto;
118
- }
119
-
120
- :where(.kui-app-shell) {
121
- --kui-shell-sidebar-width: 220px;
122
- --kui-shell-sidebar-collapsed-width: 48px;
123
- height: 100vh;
124
- min-height: 100vh;
125
- display: grid;
126
- grid-template-columns: var(--kui-shell-sidebar-width) minmax(0, 1fr);
127
- grid-template-rows: minmax(0, 1fr);
128
- color: var(--text-default);
129
- background: var(--bg-base-default);
130
- overflow: hidden;
131
- }
132
-
133
- :where(.kui-app-shell[data-sidebar-mode='collapsed']) {
134
- grid-template-columns: var(--kui-shell-sidebar-collapsed-width) minmax(0, 1fr);
135
- }
136
-
137
- :where(.kui-app-shell[data-sidebar-mode='hidden']) {
138
- grid-template-columns: minmax(0, 1fr);
139
- }
140
-
141
- :where(.kui-app-shell-sidebar) {
142
- min-width: 0;
143
- min-height: 0;
144
- display: grid;
145
- grid-template-rows: auto minmax(0, 1fr) auto;
146
- gap: var(--spacer-8);
147
- padding: var(--spacer-8);
148
- overflow: hidden;
149
- background: var(--bg-base-secondary);
150
- border-inline-end: 1px solid var(--border-neutral-l1);
151
- }
152
-
153
- :where(.kui-app-shell-sidebar[data-sidebar-mode='hidden']) {
154
- display: none;
155
- }
156
-
157
- :where(.kui-app-shell-brand) {
158
- min-height: 32px;
159
- display: flex;
160
- align-items: center;
161
- gap: var(--spacer-8);
162
- padding: 0 var(--spacer-8);
163
- color: var(--text-default);
164
- border-radius: var(--radius-6);
165
- font-weight: var(--font-weight-semibold);
166
- text-decoration: none;
167
- }
168
-
169
- :where(.kui-app-shell-brand-mark) {
170
- width: 12px;
171
- height: 12px;
172
- display: inline-block;
173
- background: var(--bg-brand);
174
- border-radius: var(--radius-4);
175
- box-shadow: 0 0 18px rgba(50, 240, 140, 0.4);
176
- }
177
-
178
- :where(.kui-app-shell-brand-name) {
179
- min-width: 0;
180
- overflow: hidden;
181
- text-overflow: ellipsis;
182
- white-space: nowrap;
183
- }
184
-
185
- :where(.kui-app-shell-brand:empty)::before {
186
- width: 12px;
187
- height: 12px;
188
- display: inline-block;
189
- content: '';
190
- background: var(--bg-brand);
191
- border-radius: var(--radius-4);
192
- box-shadow: 0 0 18px rgba(50, 240, 140, 0.4);
193
- }
194
-
195
- :where(.kui-app-shell-brand:empty)::after {
196
- min-width: 0;
197
- overflow: hidden;
198
- content: attr(data-label);
199
- text-overflow: ellipsis;
200
- white-space: nowrap;
201
- }
202
-
203
- :where(.kui-app-shell[data-sidebar-mode='collapsed'] .kui-app-shell-brand-name) {
204
- display: none;
205
- }
206
-
207
- :where(.kui-app-shell-nav, .kui-app-shell-utility-nav) {
208
- min-height: 0;
209
- display: grid;
210
- align-content: start;
211
- gap: var(--spacer-4);
212
- overflow: auto;
213
- }
214
-
215
- :where(.kui-app-shell-nav-item) {
216
- position: relative;
217
- min-height: 32px;
218
- display: grid;
219
- grid-template-columns: auto minmax(0, 1fr) auto;
220
- align-items: center;
221
- gap: var(--spacer-8);
222
- padding: 0 var(--spacer-8);
223
- color: var(--text-secondary);
224
- border-radius: var(--radius-6);
225
- text-decoration: none;
226
- }
227
-
228
- :where(.kui-app-shell-nav-item-icon) {
229
- width: 18px;
230
- height: 18px;
231
- display: inline-flex;
232
- align-items: center;
233
- justify-content: center;
234
- }
235
-
236
- :where(.kui-app-shell-nav-item-label) {
237
- min-width: 0;
238
- overflow: hidden;
239
- text-overflow: ellipsis;
240
- white-space: nowrap;
241
- }
242
-
243
- :where(.kui-app-shell-nav-item:empty)::before {
244
- min-width: 0;
245
- overflow: hidden;
246
- content: attr(data-label);
247
- text-overflow: ellipsis;
248
- white-space: nowrap;
249
- }
250
-
251
- :where(.kui-app-shell[data-sidebar-mode='collapsed'] .kui-app-shell-nav-item-label) {
252
- display: none;
253
- }
254
-
255
- :where(.kui-app-shell[data-sidebar-mode='collapsed'] .kui-app-shell-nav-item:empty)::before {
256
- text-align: center;
257
- }
258
-
259
- :where(.kui-app-shell-nav-item:hover) {
260
- color: var(--text-default-hover);
261
- background: var(--bg-overlay-l2);
262
- }
263
-
264
- :where(.kui-app-shell-nav-item[data-state='active']) {
265
- color: var(--text-default);
266
- background: var(--bg-overlay-l3);
267
- }
268
-
269
- :where(.kui-app-shell-nav-item[data-state='active'])::after {
270
- position: absolute;
271
- inset-block-start: 50%;
272
- inset-inline-start: calc(var(--spacer-8) * -1);
273
- width: 3px;
274
- height: 20px;
275
- content: '';
276
- background: var(--bg-brand);
277
- border-radius: var(--radius-full);
278
- transform: translateY(-50%);
279
- }
280
-
281
- :where(.kui-app-shell-nav-item[data-tone='danger']) {
282
- color: var(--status-error-default);
283
- }
284
-
285
- :where(.kui-app-shell-nav-badge) {
286
- min-width: 20px;
287
- min-height: 20px;
288
- display: inline-flex;
289
- align-items: center;
290
- justify-content: center;
291
- padding-inline: var(--spacer-6);
292
- color: var(--text-onbrand);
293
- background: var(--bg-brand);
294
- border-radius: var(--radius-full);
295
- font-size: var(--body-sm-font-size);
296
- }
297
-
298
- :where(.kui-app-shell-nav-badge)::before {
299
- content: attr(data-value);
300
- }
301
-
302
- :where(.kui-app-shell-topbar-actions) {
303
- min-width: 0;
304
- display: flex;
305
- align-items: center;
306
- justify-content: flex-end;
307
- gap: var(--spacer-8);
308
- }
309
-
310
- :where(.kui-app-shell-icon-button, .kui-app-shell-account-button) {
311
- height: 28px;
312
- border: 1px solid transparent;
313
- color: var(--text-default);
314
- background: transparent;
315
- border-radius: var(--radius-6);
316
- }
317
-
318
- :where(.kui-app-shell-icon-button) {
319
- position: relative;
320
- width: 28px;
321
- display: inline-grid;
322
- place-items: center;
323
- padding: 0;
324
- }
325
-
326
- :where(.kui-app-shell-icon-button:hover, .kui-app-shell-account-button:hover) {
327
- color: var(--text-default-hover);
328
- background: var(--bg-overlay-l2);
329
- }
330
-
331
- :where(.kui-app-shell-icon-button[data-state='pressed']) {
332
- color: var(--text-brand);
333
- background: var(--bg-overlay-l2);
334
- border-color: transparent;
335
- }
336
-
337
- :where(.kui-app-shell-icon-button[data-action-id='theme'][data-theme-mode='light']) {
338
- color: var(--status-warning-default);
339
- }
340
-
341
- :where(.kui-app-shell-icon-button[data-action-id='theme'][data-theme-mode='dark']) {
342
- color: var(--text-brand);
343
- background: var(--bg-overlay-l2);
344
- border-color: transparent;
345
- }
346
-
347
- :where(.kui-app-shell-icon-button[data-action-id='accent'])::after {
348
- position: absolute;
349
- inset-block-end: 3px;
350
- inset-inline-end: 3px;
351
- width: 8px;
352
- height: 8px;
353
- content: '';
354
- background: var(--kui-app-shell-current-brand, var(--bg-brand));
355
- border: 1px solid var(--bg-base-default);
356
- border-radius: var(--radius-full);
357
- }
358
-
359
- :where(.kui-app-shell-icon) {
360
- width: 16px;
361
- height: 16px;
362
- display: block;
363
- flex: none;
364
- }
365
-
366
- :where(.kui-app-shell-icon-button-badge) {
367
- position: absolute;
368
- inset-block-start: -6px;
369
- inset-inline-end: -6px;
370
- min-width: 17px;
371
- height: 17px;
372
- display: grid;
373
- place-items: center;
374
- padding: 0 4px;
375
- color: var(--text-onbrand);
376
- background: var(--bg-brand);
377
- border-radius: var(--radius-full);
378
- font-size: var(--body-xs-font-size);
379
- font-weight: var(--font-weight-semibold);
380
- }
381
-
382
- :where(.kui-app-shell-account-button) {
383
- display: inline-flex;
384
- align-items: center;
385
- gap: var(--spacer-6);
386
- max-width: 168px;
387
- padding: 0 var(--spacer-8) 0 var(--spacer-4);
388
- }
389
-
390
- :where(.kui-app-shell-avatar) {
391
- width: 20px;
392
- height: 20px;
393
- display: inline-grid;
394
- place-items: center;
395
- color: var(--text-brand);
396
- background: var(--bg-brand-popup);
397
- border-radius: var(--radius-full);
398
- }
399
-
400
- :where(.kui-app-shell-user-name) {
401
- overflow: hidden;
402
- text-overflow: ellipsis;
403
- white-space: nowrap;
404
- }
405
-
406
- :where(.kui-app-shell-account) {
407
- position: relative;
408
- display: inline-flex;
409
- }
410
-
411
- :where(.kui-app-shell-account-button[data-state='open']) {
412
- color: var(--text-default-hover);
413
- background: var(--bg-overlay-l2);
414
- }
415
-
416
- :where(.kui-app-shell-account-menu) {
417
- position: absolute;
418
- inset-block-start: calc(100% + var(--spacer-6));
419
- inset-inline-end: 0;
420
- z-index: var(--z-index-dropdown);
421
- min-width: 188px;
422
- padding: var(--spacer-4);
423
- color: var(--text-default);
424
- background: var(--bg-menu);
425
- border: 1px solid var(--border-neutral-l2);
426
- border-radius: var(--radius-8);
427
- box-shadow: 0 16px 40px rgba(0, 0, 0, 0.32);
428
- }
429
-
430
- :where(.kui-app-shell-account-menu[hidden]) {
431
- display: none;
432
- }
433
-
434
- :where(.kui-app-shell-account-menu-header) {
435
- min-width: 0;
436
- display: grid;
437
- grid-template-columns: auto minmax(0, 1fr);
438
- align-items: center;
439
- gap: var(--spacer-8);
440
- min-height: 32px;
441
- padding: 0 var(--spacer-8);
442
- color: var(--text-secondary);
443
- border-bottom: 1px solid var(--border-neutral-l1);
444
- margin-block-end: var(--spacer-4);
445
- }
446
-
447
- :where(.kui-app-shell-account-menu-label) {
448
- overflow: hidden;
449
- font-size: var(--body-sm-font-size);
450
- line-height: var(--body-sm-line-height);
451
- text-overflow: ellipsis;
452
- white-space: nowrap;
453
- }
454
-
455
- :where(.kui-app-shell-account-menu-item) {
456
- width: 100%;
457
- min-height: 30px;
458
- display: grid;
459
- grid-template-columns: auto minmax(0, 1fr);
460
- align-items: center;
461
- gap: var(--spacer-8);
462
- padding: 0 var(--spacer-8);
463
- color: var(--text-default);
464
- background: transparent;
465
- border: 0;
466
- border-radius: var(--radius-4);
467
- text-align: start;
468
- text-decoration: none;
469
- }
470
-
471
- :where(.kui-app-shell-account-menu-item:hover) {
472
- color: var(--text-default-hover);
473
- background: var(--bg-overlay-l2);
474
- }
475
-
476
- :where(.kui-app-shell-account-menu-item[aria-disabled='true']) {
477
- opacity: 0.48;
478
- pointer-events: none;
479
- }
480
-
481
- :where(.kui-app-shell-account-menu-item--danger) {
482
- color: var(--status-error-default);
483
- }
484
-
485
- :where(.kui-app-shell-account-menu-item-label) {
486
- overflow: hidden;
487
- font-size: var(--body-sm-font-size);
488
- line-height: var(--body-sm-line-height);
489
- text-overflow: ellipsis;
490
- white-space: nowrap;
491
- }
492
-
493
- :where(.kui-app-shell-account-menu-separator) {
494
- height: 1px;
495
- margin: var(--spacer-4) 0;
496
- background: var(--border-neutral-l1);
497
- }
498
-
499
- :where(.kui-app-shell-main) {
500
- min-width: 0;
501
- min-height: 0;
502
- display: grid;
503
- grid-template-rows: auto minmax(0, 1fr);
504
- overflow: hidden;
505
- }
506
-
507
- :where(.kui-app-shell-topbar) {
508
- min-width: 0;
509
- min-height: 40px;
510
- display: flex;
511
- align-items: center;
512
- justify-content: space-between;
513
- gap: var(--spacer-8);
514
- padding: 0 var(--spacer-12);
515
- background: var(--bg-base-secondary);
516
- border-bottom: 1px solid var(--border-neutral-l1);
517
- }
518
-
519
- :where(.kui-app-shell-command-trigger) {
520
- min-height: 28px;
521
- min-width: min(320px, 42vw);
522
- display: inline-flex;
523
- align-items: center;
524
- justify-content: space-between;
525
- gap: var(--spacer-12);
526
- padding: 0 var(--spacer-8);
527
- color: var(--text-secondary);
528
- background: var(--bg-base-secondary);
529
- border: 1px solid var(--border-neutral-l2);
530
- border-radius: var(--radius-6);
531
- }
532
-
533
- :where(.kui-app-shell-command-trigger)::before {
534
- content: attr(data-label);
535
- }
536
-
537
- :where(.kui-app-shell-command-trigger)::after {
538
- content: attr(data-shortcut);
539
- color: var(--text-secondary);
540
- font-family: var(--font-family-mono);
541
- font-size: var(--body-sm-font-size);
542
- }
543
-
544
- :where(.kui-app-shell-action) {
545
- min-height: 28px;
546
- display: inline-flex;
547
- align-items: center;
548
- padding-inline: var(--spacer-8);
549
- color: var(--text-secondary);
550
- background: transparent;
551
- border: 1px solid transparent;
552
- border-radius: var(--radius-6);
553
- }
554
-
555
- :where(.kui-app-shell-action)::before {
556
- content: attr(data-label);
557
- }
558
-
559
- :where(.kui-app-shell-action[data-state='pressed']) {
560
- color: var(--text-brand);
561
- background: var(--bg-overlay-l2);
562
- border-color: transparent;
563
- }
564
-
565
- :where(.kui-app-shell-page-frame) {
566
- min-width: 0;
567
- min-height: 0;
568
- display: grid;
569
- grid-template-rows: auto auto minmax(0, 1fr);
570
- gap: var(--spacer-8);
571
- padding: var(--spacer-16);
572
- overflow: hidden;
573
- }
574
-
575
- :where(.kui-app-shell-page-header, .kui-app-shell-page-toolbar) {
576
- min-width: 0;
577
- display: flex;
578
- align-items: center;
579
- justify-content: space-between;
580
- gap: var(--spacer-12);
581
- }
582
-
583
- :where(.kui-app-shell-page-heading) {
584
- min-width: 0;
585
- display: grid;
586
- gap: var(--spacer-4);
587
- }
588
-
589
- :where(.kui-app-shell-page-kicker) {
590
- margin: 0;
591
- color: var(--text-secondary);
592
- font-size: var(--body-xs-font-size);
593
- line-height: var(--body-xs-line-height);
594
- font-weight: var(--font-weight-semibold);
595
- letter-spacing: 0;
596
- text-transform: uppercase;
597
- }
598
-
599
- :where(.kui-app-shell-page-title) {
600
- margin: 0;
601
- color: var(--text-default);
602
- font-size: var(--heading-md-font-size);
603
- line-height: var(--heading-md-line-height);
604
- }
605
-
606
- :where(.kui-app-shell-page-title:empty)::before {
607
- content: attr(data-title);
608
- }
609
-
610
- :where(.kui-app-shell-page-subtitle) {
611
- margin: 0;
612
- color: var(--text-secondary);
613
- font-size: var(--body-sm-font-size);
614
- line-height: var(--body-sm-line-height);
615
- }
616
-
617
- :where(.kui-app-shell-page-subtitle:empty)::before {
618
- content: attr(data-subtitle);
619
- }
620
-
621
- :where(.kui-app-shell-page-body) {
622
- min-width: 0;
623
- min-height: 0;
624
- background: var(--bg-base-secondary);
625
- border: 1px solid var(--border-neutral-l1);
626
- border-radius: var(--radius-8);
627
- }
628
-
629
- :where(.kui-app-shell-page-body[data-mode='contained']) {
630
- overflow: hidden;
631
- }
632
-
633
- :where(.kui-app-shell-page-body[data-mode='scroll']) {
634
- overflow: auto;
635
- }
636
-
637
- :where(.kui-app-shell-statusbar) {
638
- min-height: 24px;
639
- display: flex;
640
- align-items: center;
641
- justify-content: space-between;
642
- gap: var(--spacer-8);
643
- padding-inline: var(--spacer-8);
644
- color: var(--text-secondary);
645
- background: var(--bg-base-secondary);
646
- border-top: 1px solid var(--border-neutral-l1);
647
- font-size: var(--body-xs-font-size);
648
- line-height: var(--body-xs-line-height);
649
- }
650
-
651
- :where(.kui-app-shell-statusbar[data-state='pending']) {
652
- color: var(--status-warning-default);
653
- }
654
-
655
- :where(.kui-app-shell-statusbar[data-state='pending'] .kui-app-shell-status-icon) {
656
- color: var(--status-warning-default);
657
- }
658
-
659
- :where(.kui-app-shell-status, .kui-app-shell-status-icon) {
660
- min-width: 0;
661
- display: inline-flex;
662
- align-items: center;
663
- gap: var(--spacer-6);
664
- }
665
-
666
- :where(.kui-app-shell-status-text, .kui-app-shell-status-version) {
667
- overflow: hidden;
668
- text-overflow: ellipsis;
669
- white-space: nowrap;
670
- }
671
-
672
- :where(.kui-form) {
673
- display: grid;
674
- gap: var(--spacer-16);
675
- }
676
-
677
- :where(.kui-form[data-state='submitting']) {
678
- opacity: 0.72;
679
- }
680
-
681
- :where(.kui-form-field) {
682
- display: grid;
683
- gap: var(--spacer-6);
684
- }
685
-
686
- :where(.kui-form-label) {
687
- font-weight: var(--font-weight-medium);
688
- color: var(--text-default);
689
- }
690
-
691
- :where(.kui-form-description) {
692
- margin: 0;
693
- color: var(--text-secondary);
694
- font-size: var(--body-sm-font-size);
695
- line-height: var(--body-sm-line-height);
696
- }
697
-
698
- :where(.kui-form-error) {
699
- margin: 0;
700
- color: var(--status-error-default);
701
- font-size: var(--body-sm-font-size);
702
- line-height: var(--body-sm-line-height);
703
- }
704
-
705
- :where(.kui-slider) {
706
- --kui-slider-start: 0%;
707
- --kui-slider-end: 0%;
708
- min-width: 0;
709
- display: grid;
710
- gap: var(--spacer-8);
711
- color: var(--text-default);
712
- }
713
-
714
- :where(.kui-slider-track) {
715
- position: relative;
716
- height: 6px;
717
- overflow: hidden;
718
- background: var(--bg-base-tertiary);
719
- border-radius: var(--radius-full);
720
- }
721
-
722
- :where(.kui-slider-range) {
723
- position: absolute;
724
- inset-block: 0;
725
- inset-inline-start: var(--kui-slider-start);
726
- width: calc(var(--kui-slider-end) - var(--kui-slider-start));
727
- min-width: 6px;
728
- background: var(--bg-brand);
729
- border-radius: var(--radius-full);
730
- }
731
-
732
- :where(.kui-slider[data-mode='single'] .kui-slider-range) {
733
- inset-inline-start: 0;
734
- width: var(--kui-slider-end);
735
- }
736
-
737
- :where(.kui-slider-thumb) {
738
- width: 100%;
739
- min-height: 24px;
740
- accent-color: var(--bg-brand);
741
- }
742
-
743
- :where(.kui-slider-mark) {
744
- position: relative;
745
- min-height: 16px;
746
- color: var(--text-secondary);
747
- font-size: var(--body-sm-font-size);
748
- }
749
-
750
- :where(.kui-slider-mark)::before {
751
- position: absolute;
752
- inset-inline-start: var(--kui-slider-mark);
753
- content: attr(data-label);
754
- transform: translateX(-50%);
755
- }
756
-
757
- :where(.kui-slider[data-orientation='vertical']) {
758
- min-height: 180px;
759
- grid-template-columns: auto minmax(0, 1fr);
760
- align-items: stretch;
761
- }
762
-
763
- :where(.kui-slider[data-orientation='vertical'] .kui-slider-track) {
764
- width: 6px;
765
- height: 100%;
766
- }
767
-
768
- :where(.kui-segmented) {
769
- min-width: 0;
770
- display: inline-flex;
771
- align-items: center;
772
- gap: var(--spacer-2);
773
- padding: var(--spacer-2);
774
- background: var(--bg-base-tertiary);
775
- border: 1px solid var(--border-neutral-l2);
776
- border-radius: var(--radius-8);
777
- }
778
-
779
- :where(.kui-segmented[data-orientation='vertical']) {
780
- display: inline-grid;
781
- }
782
-
783
- :where(.kui-segmented[data-segmented-wrap-state='wrapped']) {
784
- flex-wrap: wrap;
785
- }
786
-
787
- :where(.kui-segmented-item) {
788
- min-height: 30px;
789
- display: inline-flex;
790
- align-items: center;
791
- justify-content: center;
792
- gap: var(--spacer-6);
793
- padding-inline: var(--spacer-8);
794
- color: var(--text-secondary);
795
- background: transparent;
796
- border: 1px solid transparent;
797
- border-radius: var(--radius-6);
798
- }
799
-
800
- :where(.kui-segmented-item[hidden]) {
801
- display: none;
802
- }
803
-
804
- :where(.kui-segmented-item)::before {
805
- content: attr(data-label);
806
- }
807
-
808
- :where(.kui-segmented-item[data-state='checked']) {
809
- color: var(--text-onbrand);
810
- background: var(--bg-brand);
811
- border-color: var(--border-brand);
812
- }
813
-
814
- :where(.kui-segmented-icon) {
815
- width: 12px;
816
- height: 12px;
817
- display: inline-block;
818
- background: currentColor;
819
- border-radius: var(--radius-4);
820
- }
821
-
822
- :where(.kui-radio-group, .kui-checkbox-group) {
823
- min-width: 0;
824
- display: grid;
825
- gap: var(--spacer-8);
826
- padding: var(--spacer-12);
827
- color: var(--text-default);
828
- background: var(--bg-base-secondary);
829
- border: 1px solid var(--border-neutral-l1);
830
- border-radius: var(--radius-8);
831
- }
832
-
833
- :where(
834
- .kui-radio-group[data-orientation='horizontal'],
835
- .kui-checkbox-group[data-orientation='horizontal']
836
- ) {
837
- grid-template-columns: repeat(auto-fit, minmax(min(100%, 140px), 1fr));
838
- }
839
-
840
- :where(.kui-radio-group-legend, .kui-checkbox-group-legend) {
841
- padding: 0;
842
- color: var(--text-default);
843
- font-weight: var(--font-weight-semibold);
844
- }
845
-
846
- :where(.kui-radio-group-legend)::before,
847
- :where(.kui-checkbox-group-legend)::before {
848
- content: attr(data-label);
849
- }
850
-
851
- :where(.kui-radio-group-option, .kui-checkbox-group-option) {
852
- min-width: 0;
853
- display: grid;
854
- grid-template-columns: auto minmax(0, 1fr);
855
- align-items: start;
856
- gap: var(--spacer-8);
857
- padding: var(--spacer-8);
858
- color: var(--text-default);
859
- background: var(--bg-base-tertiary);
860
- border: 1px solid var(--border-neutral-l1);
861
- border-radius: var(--radius-6);
862
- }
863
-
864
- :where(
865
- .kui-radio-group-option[data-state='checked'],
866
- .kui-checkbox-group-option[data-state='checked']
867
- ) {
868
- border-color: var(--border-brand);
869
- box-shadow: inset 0 0 0 1px var(--border-brand);
870
- }
871
-
872
- :where(
873
- .kui-radio-group-option[data-card-option='true'][data-selected-emphasis='true'],
874
- .kui-checkbox-group-option[data-card-option='true'][data-selected-emphasis='true']
875
- ) {
876
- background: var(--bg-brand-popup);
877
- }
878
-
879
- :where(
880
- .kui-radio-group-option[data-card-option='true'][data-disabled-emphasis='true'],
881
- .kui-checkbox-group-option[data-card-option='true'][data-disabled-emphasis='true']
882
- ) {
883
- opacity: 0.56;
884
- }
885
-
886
- :where(.kui-radio-group-option)::after,
887
- :where(.kui-checkbox-group-option)::after {
888
- min-width: 0;
889
- content: attr(data-label);
890
- }
891
-
892
- :where(.kui-radio-group-description, .kui-checkbox-group-description) {
893
- grid-column: 2;
894
- color: var(--text-secondary);
895
- font-size: var(--body-sm-font-size);
896
- line-height: var(--body-sm-line-height);
897
- }
898
-
899
- :where(.kui-radio-group-description)::before,
900
- :where(.kui-checkbox-group-description)::before {
901
- content: attr(data-description);
902
- }
903
-
904
- :where(.kui-error-summary) {
905
- padding: var(--spacer-12);
906
- color: var(--text-default);
907
- background: var(--status-error-surface-l1);
908
- border: 1px solid var(--status-error-default);
909
- border-radius: var(--radius-6);
910
- }
911
-
912
- :where(.kui-error-summary-title) {
913
- margin: 0 0 var(--spacer-8);
914
- font-size: var(--heading-sm-font-size);
915
- line-height: var(--heading-sm-line-height);
916
- }
917
-
918
- :where(.kui-overlay-root) {
919
- position: fixed;
920
- inset: 0;
921
- z-index: var(--z-index-modal);
922
- display: grid;
923
- place-items: center;
924
- pointer-events: none;
925
- }
926
-
927
- :where(.kui-overlay-backdrop) {
928
- position: fixed;
929
- inset: 0;
930
- background: rgba(0, 0, 0, 0.48);
931
- pointer-events: auto;
932
- }
933
-
934
- :where(.kui-dialog, .kui-popover, .kui-dropdown, .kui-tooltip) {
935
- position: relative;
936
- z-index: 1;
937
- color: var(--text-default);
938
- background: var(--bg-base-secondary);
939
- border: 1px solid var(--border-neutral-l2);
940
- border-radius: var(--radius-8);
941
- box-shadow: 0 18px 48px rgba(0, 0, 0, 0.32);
942
- pointer-events: auto;
943
- }
944
-
945
- :where(.kui-dialog) {
946
- width: min(520px, calc(100vw - 32px));
947
- max-height: calc(100vh - 32px);
948
- padding: var(--spacer-16);
949
- overflow: auto;
950
- }
951
-
952
- :where(.kui-dialog[data-size='sm']) {
953
- width: min(420px, calc(100vw - 32px));
954
- }
955
-
956
- :where(.kui-dialog[data-size='lg']) {
957
- width: min(720px, calc(100vw - 32px));
958
- }
959
-
960
- :where(.kui-dialog-header) {
961
- min-width: 0;
962
- display: grid;
963
- grid-template-columns: minmax(0, 1fr) auto;
964
- gap: var(--spacer-8);
965
- align-items: start;
966
- margin-block-end: var(--spacer-12);
967
- }
968
-
969
- :where(.kui-dialog-title, .kui-popover-title, .kui-popconfirm-title) {
970
- margin: 0;
971
- color: var(--text-default);
972
- font-size: var(--heading-sm-font-size);
973
- line-height: var(--heading-sm-line-height);
974
- }
975
-
976
- :where(.kui-dialog-description, .kui-popconfirm-description) {
977
- margin: var(--spacer-4) 0 0;
978
- color: var(--text-secondary);
979
- font-size: var(--body-sm-font-size);
980
- line-height: var(--body-sm-line-height);
981
- }
982
-
983
- :where(.kui-dialog-close) {
984
- grid-column: 2;
985
- grid-row: 1 / span 2;
986
- }
987
-
988
- :where(.kui-dialog-close)::before {
989
- content: 'x';
990
- }
991
-
992
- :where(.kui-dialog-body, .kui-popover-body) {
993
- min-width: 0;
994
- color: var(--text-default);
995
- }
996
-
997
- :where(.kui-dialog-footer, .kui-popconfirm-footer) {
998
- display: flex;
999
- flex-wrap: wrap;
1000
- justify-content: flex-end;
1001
- gap: var(--spacer-8);
1002
- margin-block-start: var(--spacer-16);
1003
- }
1004
-
1005
- :where(.kui-dialog-action--danger, .kui-popconfirm-confirm--danger) {
1006
- color: var(--status-error-default);
1007
- border-color: var(--status-error-default);
1008
- }
1009
-
1010
- :where(.kui-popover, .kui-dropdown, .kui-tooltip) {
1011
- max-width: min(320px, calc(100vw - 24px));
1012
- padding: var(--spacer-8);
1013
- }
1014
-
1015
- :where(.kui-popover, .kui-dropdown) {
1016
- min-width: 220px;
1017
- }
1018
-
1019
- :where(.kui-popover-header, .kui-popover-footer) {
1020
- padding-block: var(--spacer-4);
1021
- }
1022
-
1023
- :where(.kui-tooltip) {
1024
- font-size: var(--body-sm-font-size);
1025
- line-height: var(--body-sm-line-height);
1026
- background: var(--bg-tooltip);
1027
- }
1028
-
1029
- :where(.kui-overlay-arrow) {
1030
- position: absolute;
1031
- width: 8px;
1032
- height: 8px;
1033
- z-index: -1;
1034
- background: inherit;
1035
- border: inherit;
1036
- transform: rotate(45deg);
1037
- }
1038
-
1039
- :where(.kui-overlay-arrow[data-placement^='top']) {
1040
- inset-block-end: -5px;
1041
- inset-inline-start: var(--spacer-16);
1042
- }
1043
-
1044
- :where(.kui-overlay-arrow[data-placement^='bottom']) {
1045
- inset-block-start: -5px;
1046
- inset-inline-start: var(--spacer-16);
1047
- }
1048
-
1049
- :where(.kui-overlay-arrow[data-placement='left']) {
1050
- inset-inline-end: -5px;
1051
- inset-block-start: var(--spacer-12);
1052
- }
1053
-
1054
- :where(.kui-overlay-arrow[data-placement='right']) {
1055
- inset-inline-start: -5px;
1056
- inset-block-start: var(--spacer-12);
1057
- }
1058
-
1059
- :where(.kui-dropdown, .kui-context-menu) {
1060
- padding: var(--spacer-4);
1061
- }
1062
-
1063
- :where(.kui-context-menu) {
1064
- position: fixed;
1065
- inset-block-start: var(--kui-context-menu-y, 50%);
1066
- inset-inline-start: var(--kui-context-menu-x, 50%);
1067
- }
1068
-
1069
- :where(.kui-dropdown-item) {
1070
- min-height: 32px;
1071
- display: grid;
1072
- grid-template-columns: minmax(0, 1fr) auto;
1073
- align-items: center;
1074
- gap: var(--spacer-8);
1075
- padding: 0 var(--spacer-8);
1076
- color: var(--text-default);
1077
- border-radius: var(--radius-4);
1078
- }
1079
-
1080
- :where(.kui-dropdown-item)::before {
1081
- min-width: 0;
1082
- overflow: hidden;
1083
- content: attr(data-label);
1084
- text-overflow: ellipsis;
1085
- white-space: nowrap;
1086
- }
1087
-
1088
- :where(.kui-dropdown-item[data-shortcut])::after {
1089
- content: attr(data-shortcut);
1090
- color: var(--text-secondary);
1091
- font-family: var(--font-family-mono);
1092
- font-size: var(--body-sm-font-size);
1093
- }
1094
-
1095
- :where(.kui-dropdown-item[data-kind='separator']) {
1096
- min-height: 1px;
1097
- padding: 0;
1098
- margin-block: var(--spacer-4);
1099
- background: var(--border-neutral-l1);
1100
- }
1101
-
1102
- :where(.kui-dropdown-item[data-kind='separator'])::before,
1103
- :where(.kui-dropdown-item[data-kind='separator'])::after {
1104
- content: none;
1105
- }
1106
-
1107
- :where(.kui-dropdown-item:hover, .kui-dropdown-item[data-state='active']) {
1108
- color: var(--text-default-hover);
1109
- background: var(--bg-overlay-l2);
1110
- }
1111
-
1112
- :where(.kui-dropdown-item[data-state='checked']) {
1113
- color: var(--text-brand);
1114
- }
1115
-
1116
- :where(.kui-dropdown-item[data-state='checked'])::before {
1117
- content: '[x] ' attr(data-label);
1118
- }
1119
-
1120
- :where(.kui-dropdown-item--danger) {
1121
- color: var(--status-error-default);
1122
- }
1123
-
1124
- :where(.kui-popconfirm) {
1125
- display: grid;
1126
- gap: var(--spacer-8);
1127
- }
1128
-
1129
- :where(.kui-popconfirm[data-tone='danger']) {
1130
- border-color: var(--status-error-default);
1131
- }
1132
-
1133
- :where(.kui-drawer) {
1134
- position: fixed;
1135
- inset-block: 0;
1136
- width: min(360px, calc(100vw - 32px));
1137
- max-height: none;
1138
- border-radius: 0;
1139
- }
1140
-
1141
- :where(.kui-drawer--right) {
1142
- right: 0;
1143
- }
1144
-
1145
- :where(.kui-drawer--left) {
1146
- left: 0;
1147
- }
1148
-
1149
- :where(.kui-drawer--bottom) {
1150
- inset-block-start: auto;
1151
- inset-inline: 0;
1152
- width: auto;
1153
- height: min(60vh, 480px);
1154
- }
1155
-
1156
- :where(.kui-alert, .kui-message, .kui-toast) {
1157
- padding: var(--spacer-12);
1158
- color: var(--text-default);
1159
- background: var(--bg-base-secondary);
1160
- border: 1px solid var(--border-neutral-l2);
1161
- border-radius: var(--radius-6);
1162
- }
1163
-
1164
- :where(.kui-alert, .kui-message, .kui-toast, .kui-notification) {
1165
- min-width: 0;
1166
- display: grid;
1167
- grid-template-columns: auto minmax(0, 1fr) auto auto;
1168
- align-items: start;
1169
- gap: var(--spacer-8);
1170
- }
1171
-
1172
- :where(.kui-notification) {
1173
- width: min(380px, calc(100vw - 32px));
1174
- padding: var(--spacer-12);
1175
- color: var(--text-default);
1176
- background: var(--bg-base-secondary);
1177
- border: 1px solid var(--border-neutral-l2);
1178
- border-radius: var(--radius-8);
1179
- box-shadow: 0 18px 48px rgba(0, 0, 0, 0.32);
1180
- pointer-events: auto;
1181
- }
1182
-
1183
- :where(.kui-alert-icon, .kui-message-icon, .kui-toast-icon, .kui-notification-icon) {
1184
- width: 18px;
1185
- height: 18px;
1186
- display: inline-grid;
1187
- place-items: center;
1188
- color: var(--text-secondary);
1189
- }
1190
-
1191
- :where(.kui-alert-icon, .kui-message-icon, .kui-toast-icon, .kui-notification-icon)::before {
1192
- content: 'i';
1193
- font-weight: var(--font-weight-semibold);
1194
- }
1195
-
1196
- :where(
1197
- .kui-alert-icon[data-status='success'],
1198
- .kui-message-icon[data-status='success'],
1199
- .kui-toast-icon[data-status='success'],
1200
- .kui-notification-icon[data-status='success']
1201
- ) {
1202
- color: var(--status-success-default);
1203
- }
1204
-
1205
- :where(
1206
- .kui-alert-icon[data-status='warning'],
1207
- .kui-message-icon[data-status='warning'],
1208
- .kui-toast-icon[data-status='warning'],
1209
- .kui-notification-icon[data-status='warning']
1210
- ) {
1211
- color: var(--status-warning-default);
1212
- }
1213
-
1214
- :where(
1215
- .kui-alert-icon[data-status='error'],
1216
- .kui-message-icon[data-status='error'],
1217
- .kui-toast-icon[data-status='error'],
1218
- .kui-notification-icon[data-status='error']
1219
- ) {
1220
- color: var(--status-error-default);
1221
- }
1222
-
1223
- :where(.kui-alert-content, .kui-message-content, .kui-toast-content, .kui-notification-content) {
1224
- min-width: 0;
1225
- display: grid;
1226
- gap: var(--spacer-2);
1227
- }
1228
-
1229
- :where(.kui-alert-title, .kui-message-title, .kui-toast-title, .kui-notification-title) {
1230
- min-width: 0;
1231
- overflow: hidden;
1232
- color: var(--text-default);
1233
- text-overflow: ellipsis;
1234
- white-space: nowrap;
1235
- }
1236
-
1237
- :where(
1238
- .kui-alert-description,
1239
- .kui-message-description,
1240
- .kui-toast-description,
1241
- .kui-notification-description
1242
- ) {
1243
- margin: 0;
1244
- color: var(--text-secondary);
1245
- font-size: var(--body-sm-font-size);
1246
- line-height: var(--body-sm-line-height);
1247
- }
1248
-
1249
- :where(.kui-alert-close, .kui-message-close, .kui-toast-close, .kui-notification-close)::before {
1250
- content: 'x';
1251
- }
1252
-
1253
- :where(.kui-alert-action, .kui-message-action, .kui-toast-action, .kui-notification-action) {
1254
- white-space: nowrap;
1255
- }
1256
-
1257
- :where(
1258
- .kui-alert[data-status='success'],
1259
- .kui-message[data-status='success'],
1260
- .kui-toast[data-status='success'],
1261
- .kui-notification[data-status='success']
1262
- ) {
1263
- border-color: var(--status-success-default);
1264
- background: var(--status-success-surface-l1);
1265
- }
1266
-
1267
- :where(
1268
- .kui-alert[data-status='warning'],
1269
- .kui-message[data-status='warning'],
1270
- .kui-toast[data-status='warning'],
1271
- .kui-notification[data-status='warning']
1272
- ) {
1273
- border-color: var(--status-warning-default);
1274
- background: var(--status-warning-surface-l1);
1275
- }
1276
-
1277
- :where(
1278
- .kui-alert[data-status='error'],
1279
- .kui-message[data-status='error'],
1280
- .kui-toast[data-status='error'],
1281
- .kui-notification[data-status='error']
1282
- ) {
1283
- border-color: var(--status-error-default);
1284
- background: var(--status-error-surface-l1);
1285
- }
1286
-
1287
- :where(.kui-toast-region) {
1288
- position: fixed;
1289
- z-index: var(--z-index-notification);
1290
- display: grid;
1291
- gap: var(--spacer-8);
1292
- pointer-events: none;
1293
- }
1294
-
1295
- :where(.kui-toast-region[data-placement='top-end']) {
1296
- top: var(--spacer-16);
1297
- right: var(--spacer-16);
1298
- }
1299
-
1300
- :where(.kui-toast-region[data-placement='top-center']) {
1301
- top: var(--spacer-16);
1302
- left: 50%;
1303
- transform: translateX(-50%);
1304
- }
1305
-
1306
- :where(.kui-toast-region[data-placement='bottom-end']) {
1307
- right: var(--spacer-16);
1308
- bottom: var(--spacer-16);
1309
- }
1310
-
1311
- :where(.kui-toast) {
1312
- width: min(360px, calc(100vw - 32px));
1313
- pointer-events: auto;
1314
- }
1315
-
1316
- :where(.kui-tabs) {
1317
- display: flex;
1318
- gap: var(--spacer-4);
1319
- border-bottom: 1px solid var(--border-neutral-l1);
1320
- }
1321
-
1322
- :where(.kui-tab) {
1323
- min-height: 32px;
1324
- padding: 0 var(--spacer-12);
1325
- color: var(--text-secondary);
1326
- background: transparent;
1327
- border: 0;
1328
- border-bottom: 2px solid transparent;
1329
- }
1330
-
1331
- :where(.kui-tab[data-state='active']) {
1332
- color: var(--text-default);
1333
- border-bottom-color: var(--border-brand);
1334
- }
1335
-
1336
- :where(.kui-tabpanel) {
1337
- min-width: 0;
1338
- }
1339
-
1340
- :where(.kui-breadcrumb-list) {
1341
- display: flex;
1342
- flex-wrap: wrap;
1343
- gap: var(--spacer-6);
1344
- padding: 0;
1345
- margin: 0;
1346
- list-style: none;
1347
- }
1348
-
1349
- :where(.kui-breadcrumb-item[data-state='current']) {
1350
- color: var(--text-secondary);
1351
- }
1352
-
1353
- :where(.kui-menu) {
1354
- min-width: 180px;
1355
- display: grid;
1356
- gap: var(--spacer-2);
1357
- padding: var(--spacer-4);
1358
- background: var(--bg-base-secondary);
1359
- border: 1px solid var(--border-neutral-l2);
1360
- border-radius: var(--radius-6);
1361
- }
1362
-
1363
- :where(.kui-menu-item) {
1364
- min-height: 32px;
1365
- display: grid;
1366
- grid-template-columns: minmax(0, 1fr) auto auto;
1367
- align-items: center;
1368
- gap: var(--spacer-8);
1369
- padding: 0 var(--spacer-8);
1370
- color: var(--text-default);
1371
- border-radius: var(--radius-4);
1372
- }
1373
-
1374
- :where(.kui-menu-item)::before,
1375
- :where(.kui-menu-section)::before {
1376
- min-width: 0;
1377
- overflow: hidden;
1378
- content: attr(data-label);
1379
- text-overflow: ellipsis;
1380
- white-space: nowrap;
1381
- }
1382
-
1383
- :where(.kui-menu-section) {
1384
- min-height: 24px;
1385
- display: flex;
1386
- align-items: center;
1387
- padding: var(--spacer-4) var(--spacer-8) 0;
1388
- color: var(--text-secondary);
1389
- font-size: var(--body-sm-font-size);
1390
- line-height: var(--body-sm-line-height);
1391
- }
1392
-
1393
- :where(.kui-menu-item[data-shortcut])::after {
1394
- content: attr(data-shortcut);
1395
- color: var(--text-secondary);
1396
- font-family: var(--font-family-mono);
1397
- font-size: var(--body-sm-font-size);
1398
- }
1399
-
1400
- :where(.kui-menu-item[data-kind='submenu'])::after {
1401
- content: '>';
1402
- color: var(--icon-secondary);
1403
- }
1404
-
1405
- :where(.kui-menu-item[data-kind='checkbox'][aria-checked='true'])::before {
1406
- content: '[x] ' attr(data-label);
1407
- }
1408
-
1409
- :where(.kui-menu-item[data-kind='radio'][aria-checked='true'])::before {
1410
- content: '(*) ' attr(data-label);
1411
- }
1412
-
1413
- :where(.kui-menu-item[data-kind='separator']) {
1414
- min-height: 1px;
1415
- padding: 0;
1416
- margin-block: var(--spacer-4);
1417
- background: var(--border-neutral-l1);
1418
- }
1419
-
1420
- :where(.kui-menu-item[data-kind='separator'])::before,
1421
- :where(.kui-menu-item[data-kind='separator'])::after {
1422
- content: none;
1423
- }
1424
-
1425
- :where(.kui-menu-item[data-state='active']) {
1426
- background: var(--bg-brand-popup);
1427
- }
1428
-
1429
- :where(.kui-menu-item[data-state='checked']) {
1430
- color: var(--text-brand);
1431
- }
1432
-
1433
- :where(.kui-menu-item--danger) {
1434
- color: var(--status-error-default);
1435
- }
1436
-
1437
- :where(.kui-menu-item-shortcut) {
1438
- font-family: var(--font-family-mono);
1439
- font-size: var(--body-sm-font-size);
1440
- }
1441
-
1442
- :where(.kui-drawer--sm) {
1443
- width: min(320px, calc(100vw - 32px));
1444
- }
1445
-
1446
- :where(.kui-drawer--lg) {
1447
- width: min(520px, calc(100vw - 32px));
1448
- }
1449
-
1450
- :where(.kui-drawer--full) {
1451
- width: min(100vw, 960px);
1452
- }
1453
-
1454
- :where(.kui-drawer--bottom.kui-drawer--sm) {
1455
- height: min(42vh, 320px);
1456
- }
1457
-
1458
- :where(.kui-drawer--bottom.kui-drawer--lg) {
1459
- height: min(72vh, 640px);
1460
- }
1461
-
1462
- :where(.kui-drawer--bottom.kui-drawer--full) {
1463
- height: min(100vh, 760px);
1464
- }
1465
-
1466
- :where(.kui-drawer[data-long-content='true'] .kui-dialog-body) {
1467
- min-height: 0;
1468
- overflow: auto;
1469
- }
1470
-
1471
- :where(.kui-steps) {
1472
- min-width: 0;
1473
- color: var(--text-default);
1474
- }
1475
-
1476
- :where(.kui-steps-list) {
1477
- display: flex;
1478
- gap: var(--spacer-12);
1479
- padding: 0;
1480
- margin: 0;
1481
- list-style: none;
1482
- }
1483
-
1484
- :where(.kui-steps[data-orientation='vertical'] .kui-steps-list) {
1485
- display: grid;
1486
- gap: var(--spacer-8);
1487
- }
1488
-
1489
- :where(.kui-step) {
1490
- min-width: 0;
1491
- display: grid;
1492
- grid-template-columns: auto minmax(0, 1fr);
1493
- gap: var(--spacer-8);
1494
- align-items: start;
1495
- color: var(--text-secondary);
1496
- }
1497
-
1498
- :where(.kui-step[data-status='complete']) {
1499
- color: var(--status-success-default);
1500
- }
1501
-
1502
- :where(.kui-step[data-status='current']) {
1503
- color: var(--text-brand);
1504
- }
1505
-
1506
- :where(.kui-step[data-status='error']) {
1507
- color: var(--status-error-default);
1508
- }
1509
-
1510
- :where(.kui-step-indicator) {
1511
- width: 24px;
1512
- height: 24px;
1513
- display: inline-grid;
1514
- place-items: center;
1515
- color: currentColor;
1516
- background: var(--bg-base-tertiary);
1517
- border: 1px solid currentColor;
1518
- border-radius: var(--radius-full);
1519
- font-size: var(--body-sm-font-size);
1520
- }
1521
-
1522
- :where(.kui-step-indicator)::before {
1523
- content: attr(data-index);
1524
- }
1525
-
1526
- :where(.kui-step-trigger) {
1527
- min-width: 0;
1528
- color: currentColor;
1529
- background: transparent;
1530
- border: 0;
1531
- font: inherit;
1532
- text-align: start;
1533
- text-decoration: none;
1534
- }
1535
-
1536
- :where(.kui-step-trigger)::before {
1537
- min-width: 0;
1538
- overflow: hidden;
1539
- content: attr(data-label);
1540
- text-overflow: ellipsis;
1541
- }
1542
-
1543
- :where(.kui-step-trigger[data-clickable='true']) {
1544
- cursor: pointer;
1545
- }
1546
-
1547
- :where(.kui-step-description) {
1548
- grid-column: 2;
1549
- margin: calc(var(--spacer-4) * -1) 0 0;
1550
- color: var(--text-secondary);
1551
- font-size: var(--body-sm-font-size);
1552
- line-height: var(--body-sm-line-height);
1553
- }
1554
-
1555
- :where(.kui-step-description)::before {
1556
- content: attr(data-description);
1557
- }
1558
-
1559
- :where(.kui-collapse) {
1560
- min-width: 0;
1561
- display: grid;
1562
- gap: var(--spacer-6);
1563
- }
1564
-
1565
- :where(.kui-collapse-item) {
1566
- min-width: 0;
1567
- overflow: hidden;
1568
- color: var(--text-default);
1569
- background: var(--bg-base-secondary);
1570
- border: 1px solid var(--border-neutral-l1);
1571
- border-radius: var(--radius-6);
1572
- }
1573
-
1574
- :where(.kui-collapse-item[data-state='open']) {
1575
- border-color: var(--border-neutral-l2);
1576
- }
1577
-
1578
- :where(.kui-collapse-trigger) {
1579
- min-height: 36px;
1580
- width: 100%;
1581
- display: grid;
1582
- grid-template-columns: minmax(0, 1fr) auto;
1583
- align-items: center;
1584
- gap: var(--spacer-8);
1585
- padding: 0 var(--spacer-8);
1586
- color: var(--text-default);
1587
- background: transparent;
1588
- border: 0;
1589
- text-align: start;
1590
- }
1591
-
1592
- :where(.kui-collapse-trigger)::before {
1593
- min-width: 0;
1594
- overflow: hidden;
1595
- content: attr(data-title);
1596
- text-overflow: ellipsis;
1597
- white-space: nowrap;
1598
- }
1599
-
1600
- :where(.kui-collapse-trigger)::after {
1601
- content: '>';
1602
- color: var(--icon-secondary);
1603
- transition: transform var(--transition-fast);
1604
- }
1605
-
1606
- :where(.kui-collapse-trigger[aria-expanded='true'])::after {
1607
- transform: rotate(90deg);
1608
- }
1609
-
1610
- :where(.kui-collapse-panel) {
1611
- padding: 0 var(--spacer-8) var(--spacer-8);
1612
- color: var(--text-secondary);
1613
- font-size: var(--body-sm-font-size);
1614
- line-height: var(--body-sm-line-height);
1615
- }
1616
-
1617
- :where(.kui-collapse-panel)::before {
1618
- content: attr(data-description);
1619
- }
1620
-
1621
- @media (prefers-reduced-motion: reduce) {
1622
- :where(.kui-collapse-trigger)::after {
1623
- transition: none;
1624
- }
1625
- }
1626
-
1627
- :where(.kui-command-palette) {
1628
- width: min(720px, calc(100vw - 32px));
1629
- max-height: min(640px, calc(100vh - 32px));
1630
- display: grid;
1631
- grid-template-rows: auto minmax(0, 1fr);
1632
- gap: var(--spacer-8);
1633
- padding: var(--spacer-8);
1634
- color: var(--text-default);
1635
- background: var(--bg-base-secondary);
1636
- border: 1px solid var(--border-neutral-l2);
1637
- border-radius: var(--radius-8);
1638
- box-shadow: 0 24px 64px rgba(0, 0, 0, 0.4);
1639
- }
1640
-
1641
- :where(.kui-command-palette-input) {
1642
- min-height: 40px;
1643
- width: 100%;
1644
- padding: 0 var(--spacer-12);
1645
- color: var(--text-default);
1646
- background: var(--bg-base-tertiary);
1647
- border: 1px solid var(--border-neutral-l2);
1648
- border-radius: var(--radius-6);
1649
- }
1650
-
1651
- :where(.kui-command-palette-input:focus-visible) {
1652
- outline: 2px solid var(--border-brand);
1653
- outline-offset: 2px;
1654
- }
1655
-
1656
- :where(.kui-command-palette-listbox) {
1657
- min-height: 0;
1658
- display: grid;
1659
- gap: var(--spacer-6);
1660
- overflow: auto;
1661
- }
1662
-
1663
- :where(.kui-command-palette-group) {
1664
- display: grid;
1665
- gap: var(--spacer-4);
1666
- }
1667
-
1668
- :where(.kui-command-palette-group-label) {
1669
- padding: var(--spacer-4) var(--spacer-8) 0;
1670
- color: var(--text-secondary);
1671
- font-size: var(--body-sm-font-size);
1672
- line-height: var(--body-sm-line-height);
1673
- }
1674
-
1675
- :where(.kui-command-palette-group-label)::before {
1676
- content: attr(data-label);
1677
- }
1678
-
1679
- :where(.kui-command-palette-item) {
1680
- min-height: 44px;
1681
- display: grid;
1682
- grid-template-columns: minmax(0, 1fr) auto;
1683
- align-items: center;
1684
- gap: var(--spacer-8);
1685
- padding: var(--spacer-8);
1686
- color: var(--text-default);
1687
- border-radius: var(--radius-6);
1688
- cursor: pointer;
1689
- }
1690
-
1691
- :where(.kui-command-palette-item)::before {
1692
- min-width: 0;
1693
- overflow: hidden;
1694
- content: attr(data-label);
1695
- text-overflow: ellipsis;
1696
- white-space: nowrap;
1697
- }
1698
-
1699
- :where(.kui-command-palette-item)::after {
1700
- min-width: 0;
1701
- overflow: hidden;
1702
- color: var(--text-secondary);
1703
- content: attr(data-description);
1704
- font-size: var(--body-sm-font-size);
1705
- line-height: var(--body-sm-line-height);
1706
- text-overflow: ellipsis;
1707
- white-space: nowrap;
1708
- }
1709
-
1710
- :where(.kui-command-palette-item[data-state='active']) {
1711
- color: var(--text-default-hover);
1712
- background: var(--bg-brand-popup);
1713
- }
1714
-
1715
- :where(.kui-command-palette-item[data-state='selected']) {
1716
- color: var(--text-brand);
1717
- }
1718
-
1719
- :where(.kui-command-palette-shortcut) {
1720
- min-height: 22px;
1721
- display: inline-flex;
1722
- align-items: center;
1723
- padding-inline: var(--spacer-6);
1724
- color: var(--text-secondary);
1725
- background: var(--bg-base-tertiary);
1726
- border: 1px solid var(--border-neutral-l1);
1727
- border-radius: var(--radius-4);
1728
- font-family: var(--font-family-mono);
1729
- font-size: var(--body-sm-font-size);
1730
- }
1731
-
1732
- :where(.kui-command-palette-shortcut)::before {
1733
- content: attr(data-shortcut);
1734
- }
1735
-
1736
- :where(.kui-command-palette-empty) {
1737
- min-height: 96px;
1738
- display: grid;
1739
- place-items: center;
1740
- color: var(--text-secondary);
1741
- }
1742
-
1743
- :where(.kui-command-palette-empty)::before {
1744
- content: attr(data-label);
1745
- }
1746
-
1747
- :where(.kui-table) {
1748
- width: 100%;
1749
- border-collapse: collapse;
1750
- color: var(--text-default);
1751
- background: var(--bg-base-secondary);
1752
- }
1753
-
1754
- :where(.kui-table[data-density='compact']) {
1755
- font-size: var(--body-sm-font-size);
1756
- line-height: var(--body-sm-line-height);
1757
- }
1758
-
1759
- :where(.kui-table-caption) {
1760
- padding-block: var(--spacer-8);
1761
- text-align: start;
1762
- color: var(--text-secondary);
1763
- }
1764
-
1765
- :where(
1766
- .kui-table-header,
1767
- .kui-table-cell,
1768
- .kui-table-selection-header,
1769
- .kui-table-selection-cell
1770
- ) {
1771
- padding: var(--spacer-8);
1772
- border-bottom: 1px solid var(--border-neutral-l1);
1773
- text-align: start;
1774
- }
1775
-
1776
- :where(.kui-table[data-density='compact'])
1777
- :where(
1778
- .kui-table-header,
1779
- .kui-table-cell,
1780
- .kui-table-selection-header,
1781
- .kui-table-selection-cell
1782
- ) {
1783
- padding: var(--spacer-6);
1784
- }
1785
-
1786
- :where(.kui-table[data-sticky-header='true'] .kui-table-header) {
1787
- position: sticky;
1788
- inset-block-start: 0;
1789
- z-index: 1;
1790
- background: var(--bg-base-secondary);
1791
- }
1792
-
1793
- :where(.kui-table-header[data-sortable='true']) {
1794
- cursor: pointer;
1795
- }
1796
-
1797
- :where(
1798
- .kui-table-header[data-sort-direction='ascending'],
1799
- .kui-table-header[data-sort-direction='descending']
1800
- ) {
1801
- color: var(--text-brand);
1802
- }
1803
-
1804
- :where(
1805
- .kui-table-header[data-sticky='start'],
1806
- .kui-table-cell[data-sticky='start'],
1807
- .kui-table-selection-header,
1808
- .kui-table-selection-cell
1809
- ) {
1810
- position: sticky;
1811
- inset-inline-start: 0;
1812
- z-index: 1;
1813
- background: var(--bg-base-secondary);
1814
- }
1815
-
1816
- :where(.kui-table-header[data-sticky='end'], .kui-table-cell[data-sticky='end']) {
1817
- position: sticky;
1818
- inset-inline-end: 0;
1819
- z-index: 1;
1820
- background: var(--bg-base-secondary);
1821
- }
1822
-
1823
- :where(.kui-table-header[data-align='center'], .kui-table-cell[data-align='center']) {
1824
- text-align: center;
1825
- }
1826
-
1827
- :where(.kui-table-header[data-align='end'], .kui-table-cell[data-align='end']) {
1828
- text-align: end;
1829
- }
1830
-
1831
- :where(.kui-table-row[data-state='selected']) {
1832
- background: var(--bg-brand-popup);
1833
- }
1834
-
1835
- :where(.kui-table-row[data-state='disabled']) {
1836
- opacity: 0.56;
1837
- }
1838
-
1839
- :where(.kui-data-toolbar) {
1840
- min-width: 0;
1841
- display: grid;
1842
- grid-template-columns: minmax(180px, 1fr) auto auto;
1843
- align-items: center;
1844
- gap: var(--spacer-8);
1845
- padding: var(--spacer-8);
1846
- color: var(--text-default);
1847
- background: var(--bg-base-secondary);
1848
- border: 1px solid var(--border-neutral-l1);
1849
- border-radius: var(--radius-8);
1850
- }
1851
-
1852
- :where(.kui-data-toolbar[data-density='compact']) {
1853
- padding: var(--spacer-6);
1854
- gap: var(--spacer-6);
1855
- }
1856
-
1857
- :where(.kui-data-toolbar-search) {
1858
- min-height: 32px;
1859
- min-width: 0;
1860
- padding: 0 var(--spacer-8);
1861
- color: var(--text-default);
1862
- background: var(--bg-base-tertiary);
1863
- border: 1px solid var(--border-neutral-l2);
1864
- border-radius: var(--radius-6);
1865
- }
1866
-
1867
- :where(.kui-data-toolbar-search:focus-visible) {
1868
- outline: 2px solid var(--border-brand);
1869
- outline-offset: 2px;
1870
- }
1871
-
1872
- :where(.kui-filter-bar) {
1873
- min-width: 0;
1874
- display: flex;
1875
- flex-wrap: wrap;
1876
- align-items: center;
1877
- gap: var(--spacer-6);
1878
- }
1879
-
1880
- :where(.kui-filter-chip, .kui-filter-clear, .kui-data-toolbar-action) {
1881
- min-height: 28px;
1882
- display: inline-flex;
1883
- align-items: center;
1884
- justify-content: center;
1885
- gap: var(--spacer-4);
1886
- padding: 0 var(--spacer-8);
1887
- color: var(--text-secondary);
1888
- background: var(--bg-base-tertiary);
1889
- border: 1px solid var(--border-neutral-l2);
1890
- border-radius: var(--radius-full);
1891
- cursor: pointer;
1892
- }
1893
-
1894
- :where(.kui-filter-chip)::before {
1895
- content: attr(data-label);
1896
- }
1897
-
1898
- :where(.kui-filter-chip[data-value])::after {
1899
- content: attr(data-value);
1900
- color: var(--text-default);
1901
- }
1902
-
1903
- :where(.kui-filter-chip[data-state='active']) {
1904
- color: var(--text-brand);
1905
- background: var(--bg-brand-popup);
1906
- border-color: var(--border-brand);
1907
- }
1908
-
1909
- :where(.kui-filter-chip[data-tone='warning']) {
1910
- border-color: var(--status-warning-default);
1911
- }
1912
-
1913
- :where(.kui-filter-chip[data-tone='danger']) {
1914
- border-color: var(--status-error-default);
1915
- }
1916
-
1917
- :where(.kui-filter-chip[data-tone='success']) {
1918
- border-color: var(--status-success-default);
1919
- }
1920
-
1921
- :where(.kui-filter-chip[data-removable='true'])::after {
1922
- content: attr(data-value) ' ×';
1923
- }
1924
-
1925
- :where(.kui-filter-clear) {
1926
- color: var(--text-brand);
1927
- background: transparent;
1928
- }
1929
-
1930
- :where(.kui-filter-clear)::before {
1931
- content: attr(aria-label);
1932
- }
1933
-
1934
- :where(.kui-data-toolbar-summary) {
1935
- color: var(--text-secondary);
1936
- font-size: var(--body-sm-font-size);
1937
- line-height: var(--body-sm-line-height);
1938
- white-space: nowrap;
1939
- }
1940
-
1941
- :where(.kui-data-toolbar-summary)::before {
1942
- content: attr(data-summary);
1943
- }
1944
-
1945
- :where(.kui-data-toolbar-action) {
1946
- border-radius: var(--radius-6);
1947
- }
1948
-
1949
- :where(.kui-data-toolbar-action[data-tone='primary']) {
1950
- color: var(--text-onbrand);
1951
- background: var(--bg-brand);
1952
- border-color: var(--border-brand);
1953
- }
1954
-
1955
- :where(.kui-data-toolbar-action[data-tone='danger']) {
1956
- color: var(--status-error-default);
1957
- }
1958
-
1959
- :where(.kui-data-toolbar-action[data-state='pressed']) {
1960
- color: var(--text-brand);
1961
- background: var(--bg-brand-popup);
1962
- }
1963
-
1964
- :where(.kui-typography) {
1965
- min-width: 0;
1966
- margin: 0;
1967
- color: var(--text-default);
1968
- line-height: var(--body-md-line-height);
1969
- }
1970
-
1971
- :where(.kui-typography[data-variant='heading-lg']) {
1972
- font-size: var(--heading-lg-font-size);
1973
- line-height: var(--heading-lg-line-height);
1974
- font-weight: var(--font-weight-semibold);
1975
- }
1976
-
1977
- :where(.kui-typography[data-variant='heading-md']) {
1978
- font-size: var(--heading-md-font-size);
1979
- line-height: var(--heading-md-line-height);
1980
- font-weight: var(--font-weight-semibold);
1981
- }
1982
-
1983
- :where(.kui-typography[data-variant='heading-sm']) {
1984
- font-size: var(--heading-sm-font-size);
1985
- line-height: var(--heading-sm-line-height);
1986
- font-weight: var(--font-weight-semibold);
1987
- }
1988
-
1989
- :where(.kui-typography[data-variant='body-sm'], .kui-typography[data-variant='caption']) {
1990
- font-size: var(--body-sm-font-size);
1991
- line-height: var(--body-sm-line-height);
1992
- }
1993
-
1994
- :where(.kui-typography[data-variant='caption'], .kui-typography[data-variant='muted']) {
1995
- color: var(--text-secondary);
1996
- }
1997
-
1998
- :where(.kui-typography[data-variant='code']) {
1999
- padding: 0 var(--spacer-4);
2000
- color: var(--code-string);
2001
- background: var(--bg-base-tertiary);
2002
- border: 1px solid var(--border-neutral-l1);
2003
- border-radius: var(--radius-4);
2004
- font-family: var(--font-family-mono);
2005
- font-size: var(--body-sm-font-size);
2006
- }
2007
-
2008
- :where(.kui-typography[data-variant='link']) {
2009
- color: var(--text-brand);
2010
- text-decoration: none;
2011
- }
2012
-
2013
- :where(.kui-typography[data-variant='link']:hover) {
2014
- color: var(--text-default-hover);
2015
- text-decoration: underline;
2016
- }
2017
-
2018
- :where(.kui-typography[data-truncate='true']) {
2019
- display: block;
2020
- overflow: hidden;
2021
- text-overflow: ellipsis;
2022
- white-space: nowrap;
2023
- }
2024
-
2025
- :where([data-typography-rich-content-contract='true']) {
2026
- min-width: 0;
2027
- display: grid;
2028
- gap: var(--spacer-12);
2029
- color: var(--text-default);
2030
- line-height: var(--body-md-line-height);
2031
- }
2032
-
2033
- :where([data-typography-rich-content-contract='true'][data-content-density='compact']) {
2034
- gap: var(--spacer-8);
2035
- font-size: var(--body-sm-font-size);
2036
- line-height: var(--body-sm-line-height);
2037
- }
2038
-
2039
- :where([data-typography-rich-content-contract='true'] > :is(h2, h3, h4, p, ul, ol, pre)) {
2040
- margin: 0;
2041
- }
2042
-
2043
- :where([data-typography-rich-content-contract='true'] > :is(ul, ol)) {
2044
- padding-inline-start: var(--spacer-20);
2045
- }
2046
-
2047
- :where([data-typography-rich-content-contract='true'] > pre) {
2048
- max-width: 100%;
2049
- padding: var(--spacer-8);
2050
- overflow: auto;
2051
- background: var(--bg-base-tertiary);
2052
- border: 1px solid var(--border-neutral-l1);
2053
- border-radius: var(--radius-4);
2054
- font-family: var(--font-family-mono);
2055
- }
2056
-
2057
- :where(.kui-divider) {
2058
- min-width: 0;
2059
- display: flex;
2060
- align-items: center;
2061
- gap: var(--spacer-8);
2062
- color: var(--text-secondary);
2063
- font-size: var(--body-sm-font-size);
2064
- line-height: var(--body-sm-line-height);
2065
- }
2066
-
2067
- :where(.kui-divider)::before,
2068
- :where(.kui-divider)::after {
2069
- min-width: 0;
2070
- flex: 1 1 auto;
2071
- height: 1px;
2072
- content: '';
2073
- background: var(--border-neutral-l1);
2074
- }
2075
-
2076
- :where(.kui-divider:not([data-label]))::after {
2077
- content: none;
2078
- }
2079
-
2080
- :where(.kui-divider[data-orientation='vertical']) {
2081
- width: 1px;
2082
- min-height: 24px;
2083
- align-self: stretch;
2084
- display: inline-block;
2085
- background: var(--border-neutral-l1);
2086
- }
2087
-
2088
- :where(.kui-divider[data-orientation='vertical'])::before,
2089
- :where(.kui-divider[data-orientation='vertical'])::after {
2090
- content: none;
2091
- }
2092
-
2093
- :where(.kui-divider[data-inset='both']) {
2094
- margin-inline: var(--spacer-16);
2095
- }
2096
-
2097
- :where(.kui-divider[data-inset='start']) {
2098
- margin-inline-start: var(--spacer-16);
2099
- }
2100
-
2101
- :where(.kui-divider[data-inset='end']) {
2102
- margin-inline-end: var(--spacer-16);
2103
- }
2104
-
2105
- :where(.kui-divider-label) {
2106
- flex: 0 1 auto;
2107
- min-width: 0;
2108
- overflow: hidden;
2109
- text-overflow: ellipsis;
2110
- white-space: nowrap;
2111
- }
2112
-
2113
- :where(.kui-divider-label)::before {
2114
- content: attr(data-label);
2115
- }
2116
-
2117
- :where(.kui-divider[data-divider-section-heading-contract='true'] .kui-divider-label) {
2118
- color: var(--text-default);
2119
- font-weight: var(--font-weight-semibold);
2120
- }
2121
-
2122
- :where(.kui-divider[data-section-heading-state='current'])::before,
2123
- :where(.kui-divider[data-section-heading-state='current'])::after {
2124
- background: var(--border-brand);
2125
- }
2126
-
2127
- :where(.kui-avatar) {
2128
- --kui-avatar-size: 32px;
2129
- position: relative;
2130
- width: var(--kui-avatar-size);
2131
- height: var(--kui-avatar-size);
2132
- flex: 0 0 var(--kui-avatar-size);
2133
- display: inline-grid;
2134
- place-items: center;
2135
- overflow: visible;
2136
- color: var(--text-default);
2137
- background: var(--bg-base-tertiary);
2138
- border: 1px solid var(--border-neutral-l2);
2139
- border-radius: var(--radius-full);
2140
- font-weight: var(--font-weight-semibold);
2141
- vertical-align: middle;
2142
- }
2143
-
2144
- :where(.kui-avatar[data-size='sm'], .kui-avatar-group[data-size='sm'] .kui-avatar) {
2145
- --kui-avatar-size: 24px;
2146
- font-size: var(--body-sm-font-size);
2147
- }
2148
-
2149
- :where(.kui-avatar[data-size='lg'], .kui-avatar-group[data-size='lg'] .kui-avatar) {
2150
- --kui-avatar-size: 40px;
2151
- }
2152
-
2153
- :where(.kui-avatar-image) {
2154
- width: 100%;
2155
- height: 100%;
2156
- display: block;
2157
- object-fit: cover;
2158
- border-radius: inherit;
2159
- }
2160
-
2161
- :where(.kui-avatar-fallback) {
2162
- display: inline-flex;
2163
- align-items: center;
2164
- justify-content: center;
2165
- padding-inline: var(--spacer-2);
2166
- }
2167
-
2168
- :where(.kui-avatar-fallback)::before {
2169
- content: attr(data-initials);
2170
- }
2171
-
2172
- :where(.kui-avatar-image + .kui-avatar-fallback) {
2173
- display: none;
2174
- }
2175
-
2176
- :where(.kui-avatar-status) {
2177
- position: absolute;
2178
- right: -1px;
2179
- bottom: -1px;
2180
- width: 10px;
2181
- height: 10px;
2182
- background: var(--text-secondary);
2183
- border: 2px solid var(--bg-base-secondary);
2184
- border-radius: var(--radius-full);
2185
- }
2186
-
2187
- :where(.kui-avatar-status[data-status='online']) {
2188
- background: var(--status-success-default);
2189
- }
2190
-
2191
- :where(.kui-avatar-status[data-status='away']) {
2192
- background: var(--status-warning-default);
2193
- }
2194
-
2195
- :where(.kui-avatar-status[data-status='busy']) {
2196
- background: var(--status-error-default);
2197
- }
2198
-
2199
- :where(.kui-avatar-group) {
2200
- display: inline-flex;
2201
- align-items: center;
2202
- padding-inline-start: var(--spacer-6);
2203
- }
2204
-
2205
- :where(.kui-avatar-group .kui-avatar, .kui-avatar-overflow) {
2206
- margin-inline-start: calc(var(--spacer-6) * -1);
2207
- box-shadow: 0 0 0 2px var(--bg-base-secondary);
2208
- }
2209
-
2210
- :where(.kui-avatar-overflow) {
2211
- min-width: 24px;
2212
- min-height: 24px;
2213
- display: inline-flex;
2214
- align-items: center;
2215
- justify-content: center;
2216
- padding-inline: var(--spacer-6);
2217
- color: var(--text-secondary);
2218
- background: var(--bg-base-tertiary);
2219
- border: 1px solid var(--border-neutral-l2);
2220
- border-radius: var(--radius-full);
2221
- font-size: var(--body-sm-font-size);
2222
- line-height: var(--body-sm-line-height);
2223
- }
2224
-
2225
- :where(.kui-avatar-overflow)::before {
2226
- content: '+' attr(data-overflow-count);
2227
- }
2228
-
2229
- :where(.kui-kbd) {
2230
- min-width: 22px;
2231
- min-height: 22px;
2232
- display: inline-flex;
2233
- align-items: center;
2234
- justify-content: center;
2235
- padding-inline: var(--spacer-6);
2236
- color: var(--text-default);
2237
- background: var(--bg-base-tertiary);
2238
- border: 1px solid var(--border-neutral-l2);
2239
- border-bottom-color: var(--border-neutral-l1);
2240
- border-radius: var(--radius-4);
2241
- font-family: var(--font-family-mono);
2242
- font-size: var(--body-sm-font-size);
2243
- line-height: var(--body-sm-line-height);
2244
- box-shadow: inset 0 -1px 0 var(--bg-overlay-l2);
2245
- }
2246
-
2247
- :where(.kui-shortcut) {
2248
- display: inline-flex;
2249
- align-items: center;
2250
- gap: var(--spacer-4);
2251
- }
2252
-
2253
- :where(
2254
- .kui-shortcut[data-shortcut-display-state='aliased'] .kui-kbd[data-modifier-alias='true']
2255
- ) {
2256
- color: var(--text-brand);
2257
- border-color: var(--border-brand);
2258
- }
2259
-
2260
- :where(.kui-shortcut-separator)::before {
2261
- content: '+';
2262
- color: var(--text-secondary);
2263
- }
2264
-
2265
- :where(.kui-pagination) {
2266
- min-width: 0;
2267
- display: flex;
2268
- align-items: center;
2269
- justify-content: space-between;
2270
- gap: var(--spacer-12);
2271
- }
2272
-
2273
- :where(.kui-pagination-list) {
2274
- display: flex;
2275
- flex-wrap: wrap;
2276
- align-items: center;
2277
- justify-content: center;
2278
- gap: var(--spacer-4);
2279
- padding: 0;
2280
- margin: 0;
2281
- list-style: none;
2282
- }
2283
-
2284
- :where(.kui-pagination-previous, .kui-pagination-next, .kui-pagination-page) {
2285
- min-width: 32px;
2286
- min-height: 32px;
2287
- display: inline-flex;
2288
- align-items: center;
2289
- justify-content: center;
2290
- padding-inline: var(--spacer-8);
2291
- color: var(--text-secondary);
2292
- background: var(--bg-base-secondary);
2293
- border: 1px solid var(--border-neutral-l2);
2294
- border-radius: var(--radius-6);
2295
- }
2296
-
2297
- :where(.kui-pagination-previous)::before {
2298
- content: 'Previous';
2299
- }
2300
-
2301
- :where(.kui-pagination-next)::before {
2302
- content: 'Next';
2303
- }
2304
-
2305
- :where(.kui-pagination-page)::before {
2306
- content: attr(data-page);
2307
- }
2308
-
2309
- :where(.kui-pagination-page[data-state='current']) {
2310
- color: var(--text-onbrand);
2311
- background: var(--bg-brand);
2312
- border-color: var(--border-brand);
2313
- }
2314
-
2315
- :where(.kui-pagination-ellipsis) {
2316
- min-width: 24px;
2317
- display: inline-flex;
2318
- justify-content: center;
2319
- color: var(--text-secondary);
2320
- }
2321
-
2322
- :where(.kui-pagination-ellipsis)::before {
2323
- content: '...';
2324
- }
2325
-
2326
- :where(.kui-pagination-summary) {
2327
- color: var(--text-secondary);
2328
- font-size: var(--body-sm-font-size);
2329
- }
2330
-
2331
- :where(.kui-pagination-summary)::before {
2332
- content: attr(data-summary);
2333
- }
2334
-
2335
- :where(.kui-list) {
2336
- min-width: 0;
2337
- display: grid;
2338
- gap: var(--spacer-4);
2339
- padding: 0;
2340
- margin: 0;
2341
- list-style: none;
2342
- }
2343
-
2344
- :where(.kui-list-group) {
2345
- min-width: 0;
2346
- display: grid;
2347
- gap: var(--spacer-6);
2348
- list-style: none;
2349
- }
2350
-
2351
- :where(.kui-list-group-heading) {
2352
- margin: 0;
2353
- color: var(--text-secondary);
2354
- font-size: var(--body-sm-font-size);
2355
- font-weight: var(--font-weight-strong);
2356
- line-height: var(--body-sm-line-height);
2357
- }
2358
-
2359
- :where(.kui-list-group-items) {
2360
- min-width: 0;
2361
- display: grid;
2362
- gap: var(--spacer-4);
2363
- padding: 0;
2364
- margin: 0;
2365
- list-style: none;
2366
- }
2367
-
2368
- :where(.kui-list-item) {
2369
- min-width: 0;
2370
- min-height: 44px;
2371
- display: grid;
2372
- grid-template-columns: auto minmax(0, 1fr) auto auto;
2373
- align-items: center;
2374
- gap: var(--spacer-8);
2375
- padding: var(--spacer-8);
2376
- color: var(--text-default);
2377
- background: var(--bg-base-secondary);
2378
- border: 1px solid var(--border-neutral-l1);
2379
- border-radius: var(--radius-6);
2380
- }
2381
-
2382
- :where(.kui-list.kui-density-compact .kui-list-item) {
2383
- min-height: 36px;
2384
- padding: var(--spacer-6);
2385
- }
2386
-
2387
- :where(.kui-list-item[data-state='selected']) {
2388
- border-color: var(--border-brand);
2389
- box-shadow: inset 0 0 0 1px var(--border-brand);
2390
- }
2391
-
2392
- :where(.kui-list-item-icon) {
2393
- width: 24px;
2394
- height: 24px;
2395
- display: inline-grid;
2396
- place-items: center;
2397
- color: var(--text-brand);
2398
- background: var(--bg-brand-popup);
2399
- border-radius: var(--radius-4);
2400
- }
2401
-
2402
- :where(.kui-list-item-icon)::before {
2403
- content: '';
2404
- width: 8px;
2405
- height: 8px;
2406
- background: currentColor;
2407
- border-radius: var(--radius-full);
2408
- }
2409
-
2410
- :where(.kui-list-item-label, .kui-list-item-meta) {
2411
- min-width: 0;
2412
- overflow: hidden;
2413
- text-overflow: ellipsis;
2414
- white-space: nowrap;
2415
- }
2416
-
2417
- :where(.kui-list-item-label)::before {
2418
- content: attr(data-label);
2419
- }
2420
-
2421
- :where(.kui-list-item-description) {
2422
- grid-column: 2 / span 2;
2423
- margin: 0;
2424
- color: var(--text-secondary);
2425
- font-size: var(--body-sm-font-size);
2426
- line-height: var(--body-sm-line-height);
2427
- }
2428
-
2429
- :where(.kui-list-item-description)::before {
2430
- content: attr(data-description);
2431
- }
2432
-
2433
- :where(.kui-list-item-meta) {
2434
- color: var(--text-secondary);
2435
- font-size: var(--body-sm-font-size);
2436
- }
2437
-
2438
- :where(.kui-list-item-meta)::before {
2439
- content: attr(data-meta);
2440
- }
2441
-
2442
- :where(.kui-list-item-action) {
2443
- min-width: 28px;
2444
- min-height: 28px;
2445
- display: inline-grid;
2446
- place-items: center;
2447
- color: var(--text-secondary);
2448
- background: var(--bg-base-tertiary);
2449
- border: 1px solid var(--border-neutral-l2);
2450
- border-radius: var(--radius-6);
2451
- }
2452
-
2453
- :where(.kui-list-item-action[hidden]) {
2454
- display: none;
2455
- }
2456
-
2457
- :where(.kui-list-item-action)::before {
2458
- content: 'Open';
2459
- }
2460
-
2461
- :where(.kui-carousel) {
2462
- min-width: 0;
2463
- display: grid;
2464
- gap: var(--spacer-10);
2465
- padding: var(--spacer-10);
2466
- color: var(--text-default);
2467
- background: var(--bg-base-secondary);
2468
- border: 1px solid var(--border-neutral-l1);
2469
- border-radius: var(--radius-6);
2470
- }
2471
-
2472
- :where(.kui-carousel-viewport) {
2473
- min-width: 0;
2474
- min-height: 168px;
2475
- overflow: hidden;
2476
- }
2477
-
2478
- :where(.kui-carousel-track) {
2479
- min-height: 168px;
2480
- }
2481
-
2482
- :where(.kui-carousel-slide) {
2483
- min-height: 168px;
2484
- display: grid;
2485
- align-content: center;
2486
- gap: var(--spacer-6);
2487
- padding: var(--spacer-12);
2488
- background: var(--bg-base-tertiary);
2489
- border-left: 3px solid var(--border-brand);
2490
- }
2491
-
2492
- :where(.kui-carousel-slide[hidden]) {
2493
- display: none;
2494
- }
2495
-
2496
- :where(.kui-carousel-slide h3, .kui-carousel-slide p) {
2497
- margin: 0;
2498
- }
2499
-
2500
- :where(.kui-carousel-slide p) {
2501
- color: var(--text-secondary);
2502
- font-size: var(--body-sm-font-size);
2503
- line-height: var(--body-sm-line-height);
2504
- }
2505
-
2506
- :where(.kui-carousel-slide-eyebrow) {
2507
- color: var(--text-brand);
2508
- font-size: var(--body-sm-font-size);
2509
- font-weight: var(--font-weight-strong);
2510
- line-height: var(--body-sm-line-height);
2511
- }
2512
-
2513
- :where(.kui-carousel-controls) {
2514
- min-width: 0;
2515
- display: grid;
2516
- grid-template-columns: 32px minmax(72px, 1fr) 32px auto;
2517
- align-items: center;
2518
- gap: var(--spacer-6);
2519
- }
2520
-
2521
- :where(.kui-carousel-control, .kui-carousel-playback, .kui-carousel-indicator) {
2522
- min-width: 32px;
2523
- min-height: 32px;
2524
- display: inline-grid;
2525
- place-items: center;
2526
- color: var(--text-secondary);
2527
- background: var(--bg-base-tertiary);
2528
- border: 1px solid var(--border-neutral-l2);
2529
- border-radius: var(--radius-4);
2530
- }
2531
-
2532
- :where(.kui-carousel-playback) {
2533
- padding-inline: var(--spacer-8);
2534
- color: var(--text-default);
2535
- white-space: nowrap;
2536
- }
2537
-
2538
- :where(.kui-carousel-indicators) {
2539
- min-width: 0;
2540
- display: flex;
2541
- justify-content: center;
2542
- gap: var(--spacer-4);
2543
- }
2544
-
2545
- :where(.kui-carousel-indicator) {
2546
- min-width: 24px;
2547
- min-height: 32px;
2548
- background: transparent;
2549
- border-color: transparent;
2550
- }
2551
-
2552
- :where(.kui-carousel-indicator)::before {
2553
- content: '';
2554
- width: 8px;
2555
- height: 8px;
2556
- background: var(--text-tertiary);
2557
- border-radius: var(--radius-full);
2558
- }
2559
-
2560
- :where(.kui-carousel-indicator[data-slide-state='current'])::before {
2561
- width: 18px;
2562
- background: var(--text-brand);
2563
- }
2564
-
2565
- :where(.kui-empty) {
2566
- min-height: 120px;
2567
- display: grid;
2568
- gap: var(--spacer-8);
2569
- justify-items: start;
2570
- padding: var(--spacer-16);
2571
- color: var(--text-secondary);
2572
- background: var(--bg-base-secondary);
2573
- border: 1px dashed var(--border-neutral-l2);
2574
- border-radius: var(--radius-8);
2575
- }
2576
-
2577
- :where(.kui-empty[data-status='empty']) {
2578
- color: var(--text-secondary);
2579
- }
2580
-
2581
- :where(.kui-empty-icon) {
2582
- color: var(--text-secondary);
2583
- }
2584
-
2585
- :where(.kui-empty-icon)::before {
2586
- content: '∅';
2587
- }
2588
-
2589
- :where(.kui-empty-title) {
2590
- color: var(--text-default);
2591
- font-weight: var(--font-weight-semibold);
2592
- }
2593
-
2594
- :where(.kui-empty-description) {
2595
- margin: 0;
2596
- color: var(--text-secondary);
2597
- font-size: var(--body-sm-font-size);
2598
- line-height: var(--body-sm-line-height);
2599
- }
2600
-
2601
- :where(.kui-empty-action) {
2602
- min-height: 28px;
2603
- display: inline-flex;
2604
- align-items: center;
2605
- justify-content: center;
2606
- padding-inline: var(--spacer-8);
2607
- color: var(--text-brand);
2608
- background: transparent;
2609
- border: 1px solid var(--border-neutral-l2);
2610
- border-radius: var(--radius-6);
2611
- }
2612
-
2613
- :where(.kui-result) {
2614
- min-width: 0;
2615
- display: grid;
2616
- grid-template-columns: auto minmax(0, 1fr) auto auto;
2617
- gap: var(--spacer-8);
2618
- padding: var(--spacer-12);
2619
- color: var(--text-default);
2620
- background: var(--bg-base-secondary);
2621
- border: 1px solid var(--border-neutral-l1);
2622
- border-radius: var(--radius-8);
2623
- }
2624
-
2625
- :where(.kui-result[data-status='warning']) {
2626
- background: var(--status-warning-surface-l1);
2627
- border-color: var(--status-warning-default);
2628
- }
2629
-
2630
- :where(.kui-result[data-status='error']) {
2631
- background: var(--status-error-surface-l1);
2632
- border-color: var(--status-error-default);
2633
- }
2634
-
2635
- :where(.kui-result[data-status='success']) {
2636
- background: var(--status-success-surface-l1);
2637
- border-color: var(--status-success-default);
2638
- }
2639
-
2640
- :where(.kui-result-icon) {
2641
- color: var(--text-secondary);
2642
- }
2643
-
2644
- :where(.kui-result-icon)::before {
2645
- content: '!';
2646
- }
2647
-
2648
- :where(.kui-result-title) {
2649
- margin: 0;
2650
- color: var(--text-default);
2651
- font-size: var(--heading-sm-font-size);
2652
- line-height: var(--heading-sm-line-height);
2653
- }
2654
-
2655
- :where(.kui-result-description) {
2656
- margin: var(--spacer-2) 0 0;
2657
- color: var(--text-secondary);
2658
- font-size: var(--body-sm-font-size);
2659
- line-height: var(--body-sm-line-height);
2660
- }
2661
-
2662
- :where(.kui-result-close) {
2663
- min-width: 28px;
2664
- min-height: 28px;
2665
- padding: 0;
2666
- color: var(--text-secondary);
2667
- background: transparent;
2668
- border: 0;
2669
- border-radius: var(--radius-6);
2670
- }
2671
-
2672
- :where(.kui-badge) {
2673
- min-height: 20px;
2674
- display: inline-flex;
2675
- align-items: center;
2676
- padding-inline: var(--spacer-6);
2677
- color: var(--text-default);
2678
- background: var(--bg-base-tertiary);
2679
- border-radius: var(--radius-full);
2680
- font-size: var(--body-sm-font-size);
2681
- line-height: var(--body-sm-line-height);
2682
- }
2683
-
2684
- :where(.kui-badge[data-tone='brand']) {
2685
- color: var(--text-brand);
2686
- background: var(--bg-brand-popup);
2687
- }
2688
-
2689
- :where(.kui-badge[data-tone='success']) {
2690
- background: var(--status-success-surface-l1);
2691
- }
2692
-
2693
- :where(.kui-badge[data-tone='warning']) {
2694
- background: var(--status-warning-surface-l1);
2695
- }
2696
-
2697
- :where(.kui-badge[data-tone='error']) {
2698
- background: var(--status-error-surface-l1);
2699
- }
2700
-
2701
- :where(.kui-tag, .kui-chip) {
2702
- min-height: 24px;
2703
- display: inline-flex;
2704
- align-items: center;
2705
- gap: var(--spacer-4);
2706
- max-width: 100%;
2707
- padding-inline: var(--spacer-8);
2708
- color: var(--text-secondary);
2709
- background: var(--bg-base-tertiary);
2710
- border: 1px solid var(--border-neutral-l2);
2711
- border-radius: var(--radius-4);
2712
- font-size: var(--body-sm-font-size);
2713
- line-height: var(--body-sm-line-height);
2714
- vertical-align: middle;
2715
- }
2716
-
2717
- :where(.kui-chip) {
2718
- border-radius: var(--radius-full);
2719
- }
2720
-
2721
- :where(.kui-tag[data-tone='brand'], .kui-chip[data-tone='brand']) {
2722
- color: var(--text-brand);
2723
- background: var(--bg-brand-popup);
2724
- border-color: var(--border-brand);
2725
- }
2726
-
2727
- :where(.kui-tag[data-tone='success'], .kui-chip[data-tone='success']) {
2728
- background: var(--status-success-surface-l1);
2729
- border-color: var(--status-success-default);
2730
- }
2731
-
2732
- :where(.kui-tag[data-tone='warning'], .kui-chip[data-tone='warning']) {
2733
- background: var(--status-warning-surface-l1);
2734
- border-color: var(--status-warning-default);
2735
- }
2736
-
2737
- :where(.kui-tag[data-tone='danger'], .kui-chip[data-tone='danger']) {
2738
- color: var(--status-error-default);
2739
- background: var(--status-error-surface-l1);
2740
- border-color: var(--status-error-default);
2741
- }
2742
-
2743
- :where(.kui-tag[data-state='selected'], .kui-chip[data-state='selected']) {
2744
- color: var(--text-brand);
2745
- border-color: var(--border-brand);
2746
- box-shadow: inset 0 0 0 1px var(--border-brand);
2747
- }
2748
-
2749
- :where(.kui-tag-label, .kui-chip-label, .kui-tag-value, .kui-chip-value) {
2750
- min-width: 0;
2751
- overflow: hidden;
2752
- text-overflow: ellipsis;
2753
- white-space: nowrap;
2754
- }
2755
-
2756
- :where(.kui-tag-label, .kui-chip-label)::before {
2757
- content: attr(data-label);
2758
- }
2759
-
2760
- :where(.kui-tag-value, .kui-chip-value)::before {
2761
- content: attr(data-value);
2762
- }
2763
-
2764
- :where(.kui-tag-count, .kui-chip-count) {
2765
- min-width: 18px;
2766
- min-height: 18px;
2767
- display: inline-flex;
2768
- align-items: center;
2769
- justify-content: center;
2770
- padding-inline: var(--spacer-4);
2771
- color: var(--text-default);
2772
- background: var(--bg-overlay-l3);
2773
- border-radius: var(--radius-full);
2774
- }
2775
-
2776
- :where(.kui-tag-count, .kui-chip-count)::before {
2777
- content: attr(data-count);
2778
- }
2779
-
2780
- :where(.kui-tag-icon, .kui-chip-icon)::before {
2781
- content: '#';
2782
- }
2783
-
2784
- :where(.kui-tag-remove, .kui-chip-remove) {
2785
- min-width: 18px;
2786
- min-height: 18px;
2787
- display: inline-grid;
2788
- place-items: center;
2789
- padding: 0;
2790
- color: currentColor;
2791
- background: transparent;
2792
- border: 0;
2793
- border-radius: var(--radius-full);
2794
- }
2795
-
2796
- :where(.kui-tag-remove, .kui-chip-remove)::before {
2797
- content: 'x';
2798
- }
2799
-
2800
- :where(.kui-note, .kui-callout) {
2801
- min-width: 0;
2802
- display: grid;
2803
- grid-template-columns: auto minmax(0, 1fr) auto auto;
2804
- gap: var(--spacer-8);
2805
- padding: var(--spacer-12);
2806
- color: var(--text-default);
2807
- background: var(--bg-base-secondary);
2808
- border: 1px solid var(--border-neutral-l2);
2809
- border-radius: var(--radius-8);
2810
- }
2811
-
2812
- :where(.kui-note[data-content-density='compact'], .kui-callout[data-content-density='compact']) {
2813
- gap: var(--spacer-6);
2814
- padding: var(--spacer-8);
2815
- }
2816
-
2817
- :where(.kui-callout) {
2818
- border-inline-start-width: 3px;
2819
- }
2820
-
2821
- :where(.kui-note[data-tone='success'], .kui-callout[data-tone='success']) {
2822
- background: var(--status-success-surface-l1);
2823
- border-color: var(--status-success-default);
2824
- }
2825
-
2826
- :where(.kui-note[data-tone='warning'], .kui-callout[data-tone='warning']) {
2827
- background: var(--status-warning-surface-l1);
2828
- border-color: var(--status-warning-default);
2829
- }
2830
-
2831
- :where(.kui-note[data-tone='error'], .kui-callout[data-tone='error']) {
2832
- background: var(--status-error-surface-l1);
2833
- border-color: var(--status-error-default);
2834
- }
2835
-
2836
- :where(.kui-note-icon, .kui-callout-icon) {
2837
- color: var(--text-secondary);
2838
- }
2839
-
2840
- :where(.kui-note-icon)::before {
2841
- content: 'i';
2842
- }
2843
-
2844
- :where(.kui-callout-icon)::before {
2845
- content: '!';
2846
- }
2847
-
2848
- :where(.kui-note-content, .kui-callout-content) {
2849
- min-width: 0;
2850
- display: grid;
2851
- gap: var(--spacer-2);
2852
- }
2853
-
2854
- :where([data-note-rich-content='true'][data-content-density='comfortable']) {
2855
- gap: var(--spacer-6);
2856
- }
2857
-
2858
- :where([data-note-rich-content='true'] > :is(p, ul, ol)) {
2859
- margin: 0;
2860
- }
2861
-
2862
- :where([data-note-rich-content='true'] > :is(ul, ol)) {
2863
- padding-inline-start: var(--spacer-20);
2864
- color: var(--text-secondary);
2865
- font-size: var(--body-sm-font-size);
2866
- line-height: var(--body-sm-line-height);
2867
- }
2868
-
2869
- :where(.kui-note-title, .kui-callout-title) {
2870
- color: var(--text-default);
2871
- }
2872
-
2873
- :where(.kui-note-description, .kui-callout-description) {
2874
- margin: 0;
2875
- color: var(--text-secondary);
2876
- font-size: var(--body-sm-font-size);
2877
- line-height: var(--body-sm-line-height);
2878
- }
2879
-
2880
- :where(.kui-note-action, .kui-callout-action, .kui-panel-action, .kui-card-action) {
2881
- min-height: 28px;
2882
- display: inline-flex;
2883
- align-items: center;
2884
- justify-content: center;
2885
- padding-inline: var(--spacer-8);
2886
- color: var(--text-secondary);
2887
- background: var(--bg-base-tertiary);
2888
- border: 1px solid var(--border-neutral-l2);
2889
- border-radius: var(--radius-6);
2890
- }
2891
-
2892
- :where(.kui-note-action, .kui-callout-action, .kui-panel-action, .kui-card-action)::before {
2893
- content: attr(data-label);
2894
- }
2895
-
2896
- :where(
2897
- .kui-note-action[data-tone='primary'],
2898
- .kui-callout-action[data-tone='primary'],
2899
- .kui-panel-action[data-tone='primary'],
2900
- .kui-card-action[data-tone='primary']
2901
- ) {
2902
- color: var(--text-onbrand);
2903
- background: var(--bg-brand);
2904
- border-color: var(--border-brand);
2905
- }
2906
-
2907
- :where(.kui-note-action[data-tone='danger'], .kui-callout-action[data-tone='danger']) {
2908
- color: var(--status-error-default);
2909
- }
2910
-
2911
- :where(.kui-note-close, .kui-callout-close) {
2912
- min-width: 28px;
2913
- min-height: 28px;
2914
- padding: 0;
2915
- color: var(--text-secondary);
2916
- background: transparent;
2917
- border: 0;
2918
- border-radius: var(--radius-6);
2919
- }
2920
-
2921
- :where(.kui-note-close, .kui-callout-close)::before {
2922
- content: 'x';
2923
- }
2924
-
2925
- :where(
2926
- .kui-note-action[data-action-state='disabled'],
2927
- .kui-callout-action[data-action-state='disabled'],
2928
- .kui-note-close[data-close-state='disabled'],
2929
- .kui-callout-close[data-close-state='disabled']
2930
- ) {
2931
- cursor: not-allowed;
2932
- opacity: 0.56;
2933
- }
2934
-
2935
- :where(.kui-panel, .kui-card) {
2936
- min-width: 0;
2937
- display: grid;
2938
- gap: var(--spacer-12);
2939
- padding: var(--spacer-12);
2940
- color: var(--text-default);
2941
- background: var(--bg-base-secondary);
2942
- border: 1px solid var(--border-neutral-l1);
2943
- border-radius: var(--radius-8);
2944
- }
2945
-
2946
- :where(.kui-card) {
2947
- gap: var(--spacer-8);
2948
- }
2949
-
2950
- :where(.kui-panel[data-media-placement='start']) {
2951
- grid-template-columns: minmax(96px, 0.35fr) minmax(0, 1fr);
2952
- }
2953
-
2954
- :where(.kui-panel[data-media-placement='start'] > :not(.kui-panel-media)) {
2955
- grid-column: 2;
2956
- }
2957
-
2958
- :where(.kui-panel-media, .kui-card-media) {
2959
- min-height: 72px;
2960
- display: grid;
2961
- place-items: center;
2962
- padding: var(--spacer-8);
2963
- color: var(--text-secondary);
2964
- background: var(--bg-base-tertiary);
2965
- border: 1px solid var(--border-neutral-l1);
2966
- border-radius: var(--radius-6);
2967
- font-size: var(--body-sm-font-size);
2968
- line-height: var(--body-sm-line-height);
2969
- }
2970
-
2971
- :where(.kui-panel-media)::before,
2972
- :where(.kui-card-media)::before {
2973
- content: attr(aria-label);
2974
- }
2975
-
2976
- :where(.kui-panel[data-media-placement='start'] > .kui-panel-media) {
2977
- grid-row: 1 / -1;
2978
- }
2979
-
2980
- :where(.kui-panel[data-tone='subtle'], .kui-card[data-tone='subtle']) {
2981
- background: var(--bg-base-tertiary);
2982
- }
2983
-
2984
- :where(.kui-panel[data-tone='elevated'], .kui-card[data-tone='elevated']) {
2985
- border-color: var(--border-neutral-l2);
2986
- box-shadow: 0 12px 32px rgba(0, 0, 0, 0.24);
2987
- }
2988
-
2989
- :where(.kui-panel[data-interactive='true'], .kui-card[data-interactive='true']) {
2990
- cursor: pointer;
2991
- }
2992
-
2993
- :where(.kui-panel[data-state='selected'], .kui-card[data-state='selected']) {
2994
- border-color: var(--border-brand);
2995
- box-shadow: inset 0 0 0 1px var(--border-brand);
2996
- }
2997
-
2998
- :where(.kui-panel[data-selected-emphasis='true'], .kui-card[data-selected-emphasis='true']) {
2999
- background: var(--bg-brand-popup);
3000
- }
3001
-
3002
- :where(
3003
- .kui-panel-action[data-action-state='disabled'],
3004
- .kui-card-action[data-action-state='disabled']
3005
- ) {
3006
- cursor: not-allowed;
3007
- opacity: 0.56;
3008
- }
3009
-
3010
- :where(.kui-panel-action[hidden], .kui-card-action[hidden]) {
3011
- display: none;
3012
- }
3013
-
3014
- :where(.kui-panel-header, .kui-card-header) {
3015
- min-width: 0;
3016
- display: grid;
3017
- grid-template-columns: minmax(0, 1fr) auto;
3018
- gap: var(--spacer-8);
3019
- }
3020
-
3021
- :where(.kui-panel-title, .kui-card-title) {
3022
- margin: 0;
3023
- color: var(--text-default);
3024
- font-size: var(--heading-sm-font-size);
3025
- line-height: var(--heading-sm-line-height);
3026
- }
3027
-
3028
- :where(.kui-panel-description, .kui-card-description) {
3029
- margin: var(--spacer-2) 0 0;
3030
- color: var(--text-secondary);
3031
- font-size: var(--body-sm-font-size);
3032
- line-height: var(--body-sm-line-height);
3033
- }
3034
-
3035
- :where(.kui-panel-body, .kui-card-body) {
3036
- min-width: 0;
3037
- }
3038
-
3039
- :where(.kui-panel-footer, .kui-card-footer) {
3040
- display: flex;
3041
- flex-wrap: wrap;
3042
- justify-content: flex-end;
3043
- gap: var(--spacer-8);
3044
- padding-block-start: var(--spacer-8);
3045
- border-top: 1px solid var(--border-neutral-l1);
3046
- }
3047
-
3048
- :where(.kui-stat-card, .kui-table-panel) {
3049
- min-width: 0;
3050
- display: grid;
3051
- gap: var(--spacer-8);
3052
- padding: var(--spacer-12);
3053
- color: var(--text-default);
3054
- background: var(--bg-base-secondary);
3055
- border: 1px solid var(--border-neutral-l1);
3056
- border-radius: var(--radius-8);
3057
- }
3058
-
3059
- :where(.kui-stat-card[data-tone='brand']) {
3060
- border-color: var(--border-brand);
3061
- box-shadow: inset 0 0 0 1px var(--border-brand);
3062
- }
3063
-
3064
- :where(.kui-stat-card-header, .kui-table-panel-header) {
3065
- min-width: 0;
3066
- display: grid;
3067
- gap: var(--spacer-4);
3068
- }
3069
-
3070
- :where(.kui-stat-card-title, .kui-table-panel-title) {
3071
- margin: 0;
3072
- color: var(--text-default);
3073
- font-size: var(--heading-sm-font-size);
3074
- line-height: var(--heading-sm-line-height);
3075
- }
3076
-
3077
- :where(.kui-stat-card-value) {
3078
- color: var(--text-default);
3079
- font-size: var(--heading-lg-font-size);
3080
- line-height: var(--heading-lg-line-height);
3081
- font-weight: var(--font-weight-semibold);
3082
- }
3083
-
3084
- :where(.kui-stat-card-unit, .kui-stat-card-trend) {
3085
- color: var(--text-secondary);
3086
- font-size: var(--body-sm-font-size);
3087
- line-height: var(--body-sm-line-height);
3088
- }
3089
-
3090
- :where(.kui-stat-card-trend[data-direction='up']) {
3091
- color: var(--status-success-default);
3092
- }
3093
-
3094
- :where(.kui-stat-card-trend[data-direction='down']) {
3095
- color: var(--status-error-default);
3096
- }
3097
-
3098
- :where(.kui-stat-card-description, .kui-table-panel-description) {
3099
- margin: 0;
3100
- color: var(--text-secondary);
3101
- font-size: var(--body-sm-font-size);
3102
- line-height: var(--body-sm-line-height);
3103
- }
3104
-
3105
- :where(.kui-stat-card-action, .kui-table-panel-action, .kui-result-action) {
3106
- min-height: 28px;
3107
- display: inline-flex;
3108
- align-items: center;
3109
- justify-content: center;
3110
- padding-inline: var(--spacer-8);
3111
- color: var(--text-secondary);
3112
- background: var(--bg-base-tertiary);
3113
- border: 1px solid var(--border-neutral-l2);
3114
- border-radius: var(--radius-6);
3115
- }
3116
-
3117
- :where(.kui-table-panel-toolbar) {
3118
- display: flex;
3119
- flex-wrap: wrap;
3120
- align-items: center;
3121
- gap: var(--spacer-6);
3122
- }
3123
-
3124
- :where(.kui-table-panel-body) {
3125
- min-width: 0;
3126
- }
3127
-
3128
- :where(.kui-table-panel-scroller) {
3129
- min-width: 0;
3130
- overflow: auto;
3131
- }
3132
-
3133
- :where(.kui-table-panel-empty) {
3134
- min-height: 96px;
3135
- display: grid;
3136
- place-items: center;
3137
- color: var(--text-secondary);
3138
- }
3139
-
3140
- :where(.kui-progress) {
3141
- height: 8px;
3142
- overflow: hidden;
3143
- background: var(--bg-base-tertiary);
3144
- border-radius: var(--radius-full);
3145
- }
3146
-
3147
- :where(.kui-progress)::before {
3148
- width: var(--kui-progress-value, 0%);
3149
- height: 100%;
3150
- display: block;
3151
- content: '';
3152
- background: var(--bg-brand);
3153
- }
3154
-
3155
- :where(.kui-progress[data-status='success'])::before {
3156
- background: var(--status-success-default);
3157
- }
3158
-
3159
- :where(.kui-progress[data-status='warning'])::before {
3160
- background: var(--status-warning-default);
3161
- }
3162
-
3163
- :where(.kui-progress[data-status='error'])::before {
3164
- background: var(--status-error-default);
3165
- }
3166
-
3167
- :where(.kui-split-workspace) {
3168
- min-width: 0;
3169
- min-height: 0;
3170
- display: grid;
3171
- grid-template-columns: repeat(var(--kui-workspace-columns, 3), minmax(0, 1fr));
3172
- gap: var(--spacer-12);
3173
- overflow: hidden;
3174
- }
3175
-
3176
- :where(.kui-split-workspace-area) {
3177
- min-width: min(100%, var(--kui-area-min, 0px));
3178
- min-height: 0;
3179
- overflow: auto;
3180
- }
3181
-
3182
- :where(.kui-virtual-list) {
3183
- position: relative;
3184
- min-height: 0;
3185
- overflow: auto;
3186
- contain: strict;
3187
- }
3188
-
3189
- :where(.kui-virtual-list-spacer) {
3190
- position: relative;
3191
- width: 100%;
3192
- }
3193
-
3194
- :where(.kui-virtual-list-item) {
3195
- position: absolute;
3196
- inset-block-start: 0;
3197
- inset-inline: 0;
3198
- overflow: hidden;
3199
- will-change: transform;
3200
- }
3201
-
3202
- :where(.kui-virtual-list[data-dynamic='true'] .kui-virtual-list-item) {
3203
- overflow: visible;
3204
- contain: layout paint;
3205
- }
3206
-
3207
- :where(.kui-combobox) {
3208
- position: relative;
3209
- display: grid;
3210
- gap: var(--spacer-4);
3211
- }
3212
-
3213
- :where(.kui-combobox-input) {
3214
- min-height: 32px;
3215
- width: 100%;
3216
- padding: 0 var(--spacer-8);
3217
- color: var(--text-default);
3218
- background: var(--bg-base-secondary);
3219
- border: 1px solid var(--border-neutral-l2);
3220
- border-radius: var(--radius-6);
3221
- }
3222
-
3223
- :where(.kui-combobox-listbox) {
3224
- position: absolute;
3225
- inset-block-start: calc(100% + var(--spacer-4));
3226
- inset-inline: 0;
3227
- z-index: var(--z-index-dropdown);
3228
- max-height: 240px;
3229
- padding: var(--spacer-4);
3230
- margin: 0;
3231
- overflow: auto;
3232
- list-style: none;
3233
- background: var(--bg-base-secondary);
3234
- border: 1px solid var(--border-neutral-l2);
3235
- border-radius: var(--radius-6);
3236
- box-shadow: 0 12px 32px rgba(0, 0, 0, 0.24);
3237
- }
3238
-
3239
- :where(.kui-combobox-option) {
3240
- min-height: 32px;
3241
- display: flex;
3242
- align-items: center;
3243
- padding: 0 var(--spacer-8);
3244
- border-radius: var(--radius-4);
3245
- }
3246
-
3247
- :where(.kui-combobox-option[data-state='active']) {
3248
- background: var(--bg-brand-popup);
3249
- }
3250
-
3251
- :where(.kui-combobox-option[data-state='selected']) {
3252
- color: var(--text-brand);
3253
- }
3254
-
3255
- :where(.kui-cascader) {
3256
- position: relative;
3257
- min-width: 0;
3258
- display: grid;
3259
- gap: var(--spacer-4);
3260
- }
3261
-
3262
- :where(.kui-cascader-trigger) {
3263
- min-height: 32px;
3264
- width: 100%;
3265
- display: inline-flex;
3266
- align-items: center;
3267
- justify-content: space-between;
3268
- gap: var(--spacer-8);
3269
- padding: 0 var(--spacer-8);
3270
- color: var(--text-default);
3271
- background: var(--bg-base-secondary);
3272
- border: 1px solid var(--border-neutral-l2);
3273
- border-radius: var(--radius-6);
3274
- }
3275
-
3276
- :where(.kui-cascader-trigger)::before {
3277
- min-width: 0;
3278
- overflow: hidden;
3279
- content: attr(data-label);
3280
- text-overflow: ellipsis;
3281
- white-space: nowrap;
3282
- }
3283
-
3284
- :where(.kui-cascader-trigger)::after {
3285
- content: '›';
3286
- color: var(--icon-secondary);
3287
- transform: rotate(90deg);
3288
- }
3289
-
3290
- :where(.kui-cascader-popup) {
3291
- position: absolute;
3292
- inset-block-start: calc(100% + var(--spacer-4));
3293
- inset-inline-start: 0;
3294
- z-index: var(--z-index-dropdown);
3295
- max-width: min(calc(100vw - 32px), 760px);
3296
- max-height: 320px;
3297
- display: grid;
3298
- grid-auto-columns: minmax(180px, 1fr);
3299
- grid-auto-flow: column;
3300
- color: var(--text-default);
3301
- background: var(--bg-base-secondary);
3302
- border: 1px solid var(--border-neutral-l2);
3303
- border-radius: var(--radius-8);
3304
- box-shadow: 0 12px 32px rgba(0, 0, 0, 0.24);
3305
- overflow: auto;
3306
- }
3307
-
3308
- :where(.kui-cascader-column) {
3309
- min-width: 180px;
3310
- display: grid;
3311
- align-content: start;
3312
- gap: var(--spacer-2);
3313
- padding: var(--spacer-4);
3314
- }
3315
-
3316
- :where(.kui-cascader-column + .kui-cascader-column) {
3317
- border-inline-start: 1px solid var(--border-neutral-l1);
3318
- }
3319
-
3320
- :where(.kui-cascader-option) {
3321
- min-height: 32px;
3322
- display: grid;
3323
- grid-template-columns: minmax(0, 1fr) auto;
3324
- align-items: center;
3325
- gap: var(--spacer-6);
3326
- padding: 0 var(--spacer-8);
3327
- color: var(--text-default);
3328
- background: transparent;
3329
- border: 0;
3330
- border-radius: var(--radius-4);
3331
- text-align: start;
3332
- cursor: pointer;
3333
- }
3334
-
3335
- :where(.kui-cascader-option)::before {
3336
- min-width: 0;
3337
- overflow: hidden;
3338
- content: attr(data-label);
3339
- text-overflow: ellipsis;
3340
- white-space: nowrap;
3341
- }
3342
-
3343
- :where(.kui-cascader-option[data-has-children='true'])::after {
3344
- content: '›';
3345
- color: var(--icon-secondary);
3346
- }
3347
-
3348
- :where(.kui-cascader-option:hover, .kui-cascader-option[data-state='active']) {
3349
- color: var(--text-default-hover);
3350
- background: var(--bg-overlay-l2);
3351
- }
3352
-
3353
- :where(.kui-cascader-option[data-state='selected']) {
3354
- color: var(--text-brand);
3355
- background: var(--bg-brand-popup);
3356
- }
3357
-
3358
- :where(.kui-tree, .kui-tree-select-popup) {
3359
- min-width: 0;
3360
- padding: var(--spacer-4);
3361
- color: var(--text-default);
3362
- background: var(--bg-base-secondary);
3363
- border: 1px solid var(--border-neutral-l1);
3364
- border-radius: var(--radius-6);
3365
- font-size: var(--body-sm-font-size);
3366
- line-height: var(--body-sm-line-height);
3367
- }
3368
-
3369
- :where(.kui-tree-row) {
3370
- height: 26px;
3371
- display: flex;
3372
- align-items: center;
3373
- gap: var(--spacer-6);
3374
- padding-inline: var(--spacer-6);
3375
- padding-inline-start: calc(var(--spacer-6) + (var(--kui-tree-depth, 0) * 16px));
3376
- color: var(--text-default);
3377
- border-radius: var(--radius-4);
3378
- cursor: pointer;
3379
- white-space: nowrap;
3380
- }
3381
-
3382
- :where(.kui-tree-row[data-depth='0']) {
3383
- --kui-tree-depth: 0;
3384
- }
3385
-
3386
- :where(.kui-tree-row[data-depth='1']) {
3387
- --kui-tree-depth: 1;
3388
- }
3389
-
3390
- :where(.kui-tree-row[data-depth='2']) {
3391
- --kui-tree-depth: 2;
3392
- }
3393
-
3394
- :where(.kui-tree-row[data-depth='3']) {
3395
- --kui-tree-depth: 3;
3396
- }
3397
-
3398
- :where(.kui-tree-row:hover) {
3399
- background: var(--bg-overlay-l2);
3400
- }
3401
-
3402
- :where(.kui-tree-row[data-state='active'], .kui-tree-row.is-active) {
3403
- color: var(--text-default-hover);
3404
- background: var(--bg-overlay-l3);
3405
- }
3406
-
3407
- :where(.kui-tree-chevron, .kui-tree-icon) {
3408
- width: 14px;
3409
- height: 14px;
3410
- flex: 0 0 14px;
3411
- display: inline-flex;
3412
- align-items: center;
3413
- justify-content: center;
3414
- }
3415
-
3416
- :where(.kui-tree-chevron)::before {
3417
- content: '›';
3418
- color: var(--icon-secondary);
3419
- }
3420
-
3421
- :where(.kui-tree-chevron[data-expanded='true'])::before {
3422
- transform: rotate(90deg);
3423
- }
3424
-
3425
- :where(.kui-tree-chevron--leaf) {
3426
- visibility: hidden;
3427
- }
3428
-
3429
- :where(.kui-tree-icon) {
3430
- width: 16px;
3431
- height: 16px;
3432
- flex-basis: 16px;
3433
- color: var(--icon-secondary);
3434
- }
3435
-
3436
- :where(.kui-tree-icon)::before {
3437
- content: '□';
3438
- }
3439
-
3440
- :where(.kui-tree-icon--folder)::before {
3441
- content: '▣';
3442
- }
3443
-
3444
- :where(.kui-tree-icon--ts) {
3445
- color: var(--accent-blue);
3446
- }
3447
-
3448
- :where(.kui-tree-icon--css) {
3449
- color: var(--code-attribute);
3450
- }
3451
-
3452
- :where(.kui-tree-icon--json) {
3453
- color: var(--code-constant);
3454
- }
3455
-
3456
- :where(.kui-tree-label) {
3457
- min-width: 0;
3458
- overflow: hidden;
3459
- text-overflow: ellipsis;
3460
- }
3461
-
3462
- :where(.kui-tree-select) {
3463
- position: relative;
3464
- display: grid;
3465
- gap: var(--spacer-4);
3466
- }
3467
-
3468
- :where(.kui-tree-select-trigger) {
3469
- min-height: 32px;
3470
- width: 100%;
3471
- display: inline-flex;
3472
- align-items: center;
3473
- justify-content: space-between;
3474
- padding: 0 var(--spacer-8);
3475
- color: var(--text-default);
3476
- background: var(--bg-base-secondary);
3477
- border: 1px solid var(--border-neutral-l2);
3478
- border-radius: var(--radius-6);
3479
- }
3480
-
3481
- :where(.kui-tree-select-trigger)::after {
3482
- content: attr(data-label);
3483
- min-width: 0;
3484
- overflow: hidden;
3485
- text-overflow: ellipsis;
3486
- }
3487
-
3488
- :where(.kui-tree-select-popup) {
3489
- position: absolute;
3490
- inset-block-start: calc(100% + var(--spacer-4));
3491
- inset-inline: 0;
3492
- z-index: var(--z-index-dropdown);
3493
- max-height: 280px;
3494
- overflow: auto;
3495
- box-shadow: 0 12px 32px rgba(0, 0, 0, 0.24);
3496
- }
3497
-
3498
- :where(.kui-adaptive-grid) {
3499
- display: grid;
3500
- grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--kui-grid-min, 240px)), 1fr));
3501
- gap: var(--spacer-12);
3502
- }
3503
-
3504
- :where(.kui-button, .kui-input, .kui-textarea, .kui-select, .kui-switch) {
3505
- min-height: 32px;
3506
- border: 1px solid var(--border-neutral-l2);
3507
- border-radius: var(--radius-6);
3508
- transition:
3509
- background var(--transition-fast),
3510
- border-color var(--transition-fast),
3511
- color var(--transition-fast),
3512
- opacity var(--transition-fast);
3513
- }
3514
-
3515
- :where(
3516
- .kui-density-comfortable,
3517
- [data-density='comfortable'] .kui-button,
3518
- [data-density='comfortable'] .kui-input,
3519
- [data-density='comfortable'] .kui-textarea,
3520
- [data-density='comfortable'] .kui-select,
3521
- [data-density='comfortable'] .kui-switch
3522
- ) {
3523
- min-height: 40px;
3524
- }
3525
-
3526
- :where(.kui-button) {
3527
- display: inline-flex;
3528
- align-items: center;
3529
- justify-content: center;
3530
- gap: var(--spacer-6);
3531
- padding: 0 var(--spacer-12);
3532
- font-weight: var(--font-weight-medium);
3533
- color: var(--text-onbrand);
3534
- background: var(--bg-brand);
3535
- border-color: var(--border-brand);
3536
- text-decoration: none;
3537
- cursor: pointer;
3538
- }
3539
-
3540
- :where(.kui-button--soft) {
3541
- color: var(--text-brand);
3542
- background: var(--bg-brand-popup);
3543
- }
3544
-
3545
- :where(.kui-button--ghost) {
3546
- color: var(--text-default);
3547
- background: transparent;
3548
- border-color: transparent;
3549
- }
3550
-
3551
- :where(.kui-button--sm) {
3552
- min-height: 28px;
3553
- padding-inline: var(--spacer-8);
3554
- }
3555
-
3556
- :where(.kui-button--lg) {
3557
- min-height: 40px;
3558
- padding-inline: var(--spacer-16);
3559
- }
3560
-
3561
- :where(.kui-button--icon-only) {
3562
- width: 32px;
3563
- padding-inline: 0;
3564
- }
3565
-
3566
- :where(.kui-button:hover:not(:disabled, [aria-disabled='true'])) {
3567
- background: var(--bg-brand-hover);
3568
- }
3569
-
3570
- :where(.kui-input, .kui-textarea, .kui-select) {
3571
- width: 100%;
3572
- padding: 0 var(--spacer-8);
3573
- color: var(--text-default);
3574
- background: var(--bg-base-secondary);
3575
- }
3576
-
3577
- :where(.kui-textarea) {
3578
- min-height: 80px;
3579
- padding-block: var(--spacer-8);
3580
- resize: vertical;
3581
- }
3582
-
3583
- :where(.kui-checkbox, .kui-radio) {
3584
- accent-color: var(--bg-brand);
3585
- }
3586
-
3587
- :where(.kui-switch) {
3588
- min-width: 44px;
3589
- padding: 2px;
3590
- background: var(--bg-base-tertiary);
3591
- }
3592
-
3593
- :where(.kui-switch[data-state='checked']) {
3594
- background: var(--bg-brand);
3595
- }
3596
-
3597
- :where(.kui-icon) {
3598
- width: 1em;
3599
- height: 1em;
3600
- display: inline-flex;
3601
- color: currentColor;
3602
- }
3603
-
3604
- :where(.kui-skeleton) {
3605
- min-height: 1em;
3606
- display: block;
3607
- border-radius: var(--radius-4);
3608
- background: var(--bg-overlay-l3);
3609
- }
3610
-
3611
- :where(.kui-skeleton-screen) {
3612
- min-width: 0;
3613
- display: grid;
3614
- gap: var(--spacer-6);
3615
- }
3616
-
3617
- :where(.kui-skeleton-screen-row) {
3618
- height: 12px;
3619
- width: var(--kui-skeleton-width, 100%);
3620
- }
3621
-
3622
- :where(.kui-spin) {
3623
- width: 1em;
3624
- height: 1em;
3625
- display: inline-block;
3626
- border: 2px solid var(--border-neutral-l2);
3627
- border-top-color: var(--border-brand);
3628
- border-radius: var(--radius-full);
3629
- animation: kui-spin 0.8s linear infinite;
3630
- }
3631
-
3632
- :where(.kui-spin-overlay) {
3633
- min-width: 0;
3634
- display: inline-flex;
3635
- align-items: center;
3636
- gap: var(--spacer-6);
3637
- color: var(--text-secondary);
3638
- }
3639
-
3640
- :where(.kui-button-loading) {
3641
- gap: var(--spacer-6);
3642
- }
3643
-
3644
- :where(.kui-button-loading-indicator) {
3645
- margin-inline-start: var(--spacer-4);
3646
- }
3647
-
3648
- :where(.kui-button-loading-label) {
3649
- min-width: 0;
3650
- overflow: hidden;
3651
- text-overflow: ellipsis;
3652
- white-space: nowrap;
3653
- }
3654
-
3655
- :where([data-disabled], [data-readonly], [data-loading], :disabled) {
3656
- cursor: not-allowed;
3657
- opacity: 0.56;
3658
- }
3659
-
3660
- :where([data-invalid]) {
3661
- border-color: var(--status-error-default);
3662
- }
3663
-
3664
- @media (pointer: coarse) {
3665
- :where(.kui-button, .kui-input, .kui-select, .kui-switch) {
3666
- min-height: 40px;
3667
- }
3668
- }
3669
-
3670
- @keyframes kui-spin {
3671
- to {
3672
- transform: rotate(360deg);
3673
- }
3674
- }
3675
- }
3676
-
3677
- /* ---- calendar picker & calendar grid (2026-08-25, 方案 A 官方组件) ---- */
3678
- :where(.kui-calendar-picker) {
3679
- position: relative;
3680
- display: inline-block;
3681
- }
3682
-
3683
- :where(.kui-calendar-picker__input) {
3684
- width: 180px;
3685
- padding: 6px 10px;
3686
- border: 1px solid var(--border-neutral-l1);
3687
- border-radius: var(--radius-4);
3688
- background: var(--color-surface);
3689
- color: var(--color-foreground);
3690
- font-family: var(--body-base-font-family);
3691
- font-size: var(--font-size-md, 14px);
3692
- cursor: pointer;
3693
- }
3694
-
3695
- :where(.kui-calendar-picker__input:hover) {
3696
- border-color: var(--border-neutral-l2);
3697
- }
3698
-
3699
- :where(.kui-calendar-picker__input[disabled]) {
3700
- opacity: 0.5;
3701
- cursor: not-allowed;
3702
- }
3703
-
3704
- :where(.kui-calendar-popover) {
3705
- position: absolute;
3706
- top: calc(100% + 4px);
3707
- left: 0;
3708
- z-index: 20;
3709
- padding: 12px;
3710
- border: 1px solid var(--border-neutral-l1);
3711
- border-radius: var(--radius-8);
3712
- background: var(--color-surface);
3713
- box-shadow: 0 4px 16px rgb(0 0 0 / 0.12);
3714
- font-family: var(--body-base-font-family);
3715
- }
3716
-
3717
- :where(.kui-calendar-popover[hidden]) {
3718
- display: none;
3719
- }
3720
-
3721
- :where(.kui-calendar-header) {
3722
- display: flex;
3723
- align-items: center;
3724
- justify-content: space-between;
3725
- gap: var(--spacer-8, 8px);
3726
- margin-bottom: 8px;
3727
- }
3728
-
3729
- :where(.kui-calendar-nav) {
3730
- width: 24px;
3731
- height: 24px;
3732
- border: none;
3733
- border-radius: var(--radius-4);
3734
- background: transparent;
3735
- color: var(--color-foreground);
3736
- cursor: pointer;
3737
- font-size: 14px;
3738
- }
3739
-
3740
- :where(.kui-calendar-nav:hover) {
3741
- background: var(--color-surface-variant);
3742
- }
3743
-
3744
- :where(.kui-calendar-nav[disabled]) {
3745
- opacity: 0.4;
3746
- cursor: not-allowed;
3747
- }
3748
-
3749
- :where(.kui-calendar-title) {
3750
- font-size: var(--font-size-md, 14px);
3751
- font-weight: 600;
3752
- }
3753
-
3754
- :where(.kui-calendar-weekday-row) {
3755
- display: grid;
3756
- grid-template-columns: repeat(7, 1fr);
3757
- gap: 2px;
3758
- margin-bottom: 4px;
3759
- }
3760
-
3761
- :where(.kui-calendar-weekday) {
3762
- text-align: center;
3763
- font-size: 12px;
3764
- color: var(--color-foreground-muted, var(--color-foreground));
3765
- opacity: 0.7;
3766
- }
3767
-
3768
- :where(.kui-calendar-grid) {
3769
- display: grid;
3770
- grid-template-columns: repeat(7, 1fr);
3771
- gap: 2px;
3772
- }
3773
-
3774
- :where(.kui-calendar-day) {
3775
- width: 32px;
3776
- height: 32px;
3777
- border: none;
3778
- border-radius: var(--radius-4);
3779
- background: transparent;
3780
- color: var(--color-foreground);
3781
- cursor: pointer;
3782
- font-size: 13px;
3783
- }
3784
-
3785
- :where(.kui-calendar-day:hover) {
3786
- background: var(--color-surface-variant);
3787
- }
3788
-
3789
- :where(.kui-calendar-day[data-state='selected']) {
3790
- background: var(--color-primary);
3791
- color: var(--color-surface);
3792
- font-weight: 600;
3793
- }
3794
-
3795
- :where(.kui-calendar-day[data-state='today']) {
3796
- outline: 1px solid var(--color-primary);
3797
- outline-offset: -1px;
3798
- }
3799
-
3800
- :where(.kui-calendar-day[data-state='outside']) {
3801
- opacity: 0.4;
3802
- }
3803
-
3804
- :where(.kui-calendar-day[data-state='disabled']) {
3805
- opacity: 0.35;
3806
- cursor: not-allowed;
3807
- }
3808
- /* ---- workbench shell: status bar / activity rail / titlebar / composer (2026-08-25) ---- */
3809
- :where(.kui-status-bar) {
3810
- display: flex;
3811
- justify-content: space-between;
3812
- align-items: center;
3813
- gap: var(--spacer-24, 24px);
3814
- padding: 4px 12px;
3815
- background: var(--bg-base-secondary, var(--bg-base-default));
3816
- font-size: 12px;
3817
- color: var(--text-tertiary, var(--color-foreground));
3818
- }
3819
-
3820
- :where(.kui-status-bar-item) {
3821
- display: inline-flex;
3822
- align-items: center;
3823
- gap: 4px;
3824
- white-space: nowrap;
3825
- }
3826
-
3827
- :where(.kui-status-bar-item[data-tone])::before {
3828
- content: '';
3829
- width: 8px;
3830
- height: 8px;
3831
- border-radius: 50%;
3832
- }
3833
-
3834
- :where(.kui-status-bar-item[data-tone='success'])::before {
3835
- background: var(--status-success-default, #16a34a);
3836
- }
3837
- :where(.kui-status-bar-item[data-tone='warning'])::before {
3838
- background: var(--status-warning-default, #d97706);
3839
- }
3840
- :where(.kui-status-bar-item[data-tone='error'])::before {
3841
- background: var(--status-error-default, #dc2626);
3842
- }
3843
-
3844
- :where(.kui-activity-rail) {
3845
- display: flex;
3846
- flex-direction: column;
3847
- align-items: center;
3848
- gap: 4px;
3849
- width: 48px;
3850
- padding: 8px 0;
3851
- background: var(--bg-base-secondary, var(--bg-base-default));
3852
- }
3853
-
3854
- :where(.kui-activity-rail-button) {
3855
- width: 36px;
3856
- height: 36px;
3857
- display: inline-flex;
3858
- align-items: center;
3859
- justify-content: center;
3860
- border: none;
3861
- border-radius: var(--radius-6, 6px);
3862
- background: transparent;
3863
- color: var(--icon-secondary, var(--color-foreground));
3864
- cursor: pointer;
3865
- }
3866
-
3867
- :where(.kui-activity-rail-button:hover) {
3868
- background: var(--bg-overlay-l2, var(--color-surface-variant));
3869
- }
3870
- :where(.kui-activity-rail-button[data-state='active']) {
3871
- background: var(--bg-overlay-l3, var(--color-surface-variant));
3872
- }
3873
- :where(.kui-activity-rail-button[data-state='disabled']) {
3874
- opacity: 0.4;
3875
- cursor: not-allowed;
3876
- }
3877
-
3878
- :where(.kui-activity-rail-divider) {
3879
- width: 28px;
3880
- height: 1px;
3881
- margin: 4px 0;
3882
- background: var(--border-neutral-l2, var(--border-neutral-l1));
3883
- }
3884
-
3885
- :where(.kui-activity-rail-spacer) {
3886
- flex: 1;
3887
- }
3888
-
3889
- :where(.kui-workbench-titlebar) {
3890
- display: flex;
3891
- align-items: center;
3892
- justify-content: space-between;
3893
- height: 36px;
3894
- padding: 0 12px;
3895
- background: var(--bg-base-secondary, var(--bg-base-default));
3896
- border-bottom: 1px solid var(--border-neutral-l1);
3897
- }
3898
-
3899
- :where(.kui-workbench-titlebar-left, .kui-workbench-titlebar-right) {
3900
- display: flex;
3901
- align-items: center;
3902
- gap: 8px;
3903
- }
3904
-
3905
- :where(.kui-workbench-titlebar-light) {
3906
- width: 10px;
3907
- height: 10px;
3908
- border-radius: 50%;
3909
- }
3910
-
3911
- :where(.kui-workbench-titlebar-light[data-light='close']) {
3912
- background: var(--status-error-default, #dc2626);
3913
- }
3914
- :where(.kui-workbench-titlebar-light[data-light='min']) {
3915
- background: var(--status-warning-default, #d97706);
3916
- }
3917
- :where(.kui-workbench-titlebar-light[data-light='max']) {
3918
- background: var(--status-success-default, #16a34a);
3919
- }
3920
-
3921
- :where(.kui-workbench-titlebar-mode-chip) {
3922
- display: inline-flex;
3923
- align-items: center;
3924
- gap: 4px;
3925
- padding: 2px 8px;
3926
- border-radius: var(--radius-full, 999px);
3927
- background: var(--bg-overlay-l2, var(--color-surface-variant));
3928
- font-size: 12px;
3929
- }
3930
-
3931
- :where(.kui-workbench-titlebar-project-selector) {
3932
- display: inline-flex;
3933
- align-items: center;
3934
- gap: 4px;
3935
- padding: 2px 6px;
3936
- border: none;
3937
- background: transparent;
3938
- color: var(--color-foreground);
3939
- cursor: pointer;
3940
- font-size: 12px;
3941
- }
3942
-
3943
- :where(.kui-workbench-titlebar-action) {
3944
- width: 26px;
3945
- height: 26px;
3946
- display: inline-flex;
3947
- align-items: center;
3948
- justify-content: center;
3949
- border: none;
3950
- border-radius: var(--radius-4, 4px);
3951
- background: transparent;
3952
- color: var(--icon-secondary, var(--color-foreground));
3953
- cursor: pointer;
3954
- }
3955
-
3956
- :where(.kui-workbench-titlebar-action:hover) {
3957
- background: var(--bg-overlay-l2, var(--color-surface-variant));
3958
- }
3959
-
3960
- :where(.kui-chat-composer) {
3961
- display: flex;
3962
- flex-direction: column;
3963
- gap: 8px;
3964
- padding: 12px;
3965
- border: 1px solid var(--border-neutral-l1);
3966
- border-radius: var(--radius-8, 8px);
3967
- background: var(--color-surface);
3968
- }
3969
-
3970
- :where(.kui-chat-composer-input) {
3971
- width: 100%;
3972
- min-height: 40px;
3973
- border: none;
3974
- outline: none;
3975
- resize: none;
3976
- background: transparent;
3977
- color: var(--color-foreground);
3978
- font-family: var(--body-base-font-family);
3979
- font-size: 14px;
3980
- }
3981
-
3982
- :where(.kui-chat-composer-toolbar) {
3983
- display: flex;
3984
- align-items: center;
3985
- justify-content: space-between;
3986
- }
3987
-
3988
- :where(.kui-chat-composer-tools, .kui-chat-composer-actions) {
3989
- display: flex;
3990
- align-items: center;
3991
- gap: 4px;
3992
- }
3993
-
3994
- :where(.kui-chat-composer-tool, .kui-chat-composer-action) {
3995
- width: 28px;
3996
- height: 28px;
3997
- display: inline-flex;
3998
- align-items: center;
3999
- justify-content: center;
4000
- border: none;
4001
- border-radius: var(--radius-4, 4px);
4002
- background: transparent;
4003
- color: var(--icon-secondary, var(--color-foreground));
4004
- cursor: pointer;
4005
- }
4006
-
4007
- :where(.kui-chat-composer-tool:hover, .kui-chat-composer-action:hover) {
4008
- background: var(--bg-overlay-l2, var(--color-surface-variant));
4009
- }
4010
-
4011
- :where(.kui-chat-composer-model) {
4012
- display: inline-flex;
4013
- align-items: center;
4014
- gap: 4px;
4015
- padding: 2px 8px;
4016
- border: none;
4017
- border-radius: var(--radius-4, 4px);
4018
- background: var(--bg-overlay-l2, var(--color-surface-variant));
4019
- color: var(--color-foreground);
4020
- cursor: pointer;
4021
- font-size: 12px;
4022
- }
4023
-
4024
- /* ---- nav list (2026-08-25) ---- */
4025
- :where(.kui-nav-list) {
4026
- display: flex;
4027
- flex-direction: column;
4028
- gap: var(--spacer-8, 8px);
4029
- width: 220px;
4030
- padding: 8px;
4031
- }
4032
-
4033
- :where(.kui-nav-list-group) {
4034
- display: flex;
4035
- flex-direction: column;
4036
- gap: 2px;
4037
- }
4038
-
4039
- :where(.kui-nav-list-group-title) {
4040
- padding: 4px 8px;
4041
- font-size: 11px;
4042
- font-weight: 600;
4043
- text-transform: uppercase;
4044
- letter-spacing: 0.04em;
4045
- color: var(--text-tertiary, var(--color-foreground));
4046
- opacity: 0.7;
4047
- }
4048
-
4049
- :where(.kui-nav-list-item) {
4050
- display: flex;
4051
- align-items: center;
4052
- gap: 8px;
4053
- padding: 6px 8px;
4054
- border: none;
4055
- border-radius: var(--radius-4, 4px);
4056
- background: transparent;
4057
- color: var(--text-secondary, var(--color-foreground));
4058
- text-decoration: none;
4059
- cursor: pointer;
4060
- font: inherit;
4061
- font-size: 13px;
4062
- }
4063
-
4064
- :where(.kui-nav-list-item:hover) {
4065
- background: var(--bg-overlay-l2, var(--color-surface-variant));
4066
- }
4067
- :where(.kui-nav-list-item[data-state='active']) {
4068
- background: var(--bg-overlay-l3, var(--color-surface-variant));
4069
- color: var(--text-default, var(--color-foreground));
4070
- font-weight: 500;
4071
- }
4072
- :where(.kui-nav-list-item[data-state='disabled']) {
4073
- opacity: 0.45;
4074
- cursor: not-allowed;
4075
- }
4076
-
4077
- :where(.kui-nav-list-badge) {
4078
- margin-left: auto;
4079
- padding: 0 6px;
4080
- border-radius: var(--radius-full, 999px);
4081
- background: var(--bg-overlay-l3, var(--color-surface-variant));
4082
- font-size: 11px;
4083
- }
4084
-
4085
- /* ---- setting row (2026-08-25) ---- */
4086
- :where(.kui-setting-row-group) {
4087
- display: flex;
4088
- flex-direction: column;
4089
- gap: 8px;
4090
- }
4091
-
4092
- :where(.kui-setting-row-group-label) {
4093
- font-size: 12px;
4094
- font-weight: 600;
4095
- color: var(--text-tertiary, var(--color-foreground));
4096
- }
4097
-
4098
- :where(.kui-setting-row-panel) {
4099
- display: flex;
4100
- flex-direction: column;
4101
- border: 1px solid var(--border-neutral-l1);
4102
- border-radius: var(--radius-8, 8px);
4103
- overflow: hidden;
4104
- }
4105
-
4106
- :where(.kui-setting-row) {
4107
- display: flex;
4108
- align-items: center;
4109
- justify-content: space-between;
4110
- gap: 16px;
4111
- padding: 12px 16px;
4112
- }
4113
-
4114
- :where(.kui-setting-row + .kui-setting-row) {
4115
- border-top: 1px solid var(--border-neutral-l1);
4116
- }
4117
-
4118
- :where(.kui-setting-row-main) {
4119
- display: flex;
4120
- flex-direction: column;
4121
- gap: 2px;
4122
- }
4123
-
4124
- :where(.kui-setting-row-title) {
4125
- font-size: 13px;
4126
- font-weight: 500;
4127
- color: var(--color-foreground);
4128
- }
4129
-
4130
- :where(.kui-setting-row-description) {
4131
- font-size: 12px;
4132
- color: var(--text-tertiary, var(--color-foreground));
4133
- opacity: 0.75;
4134
- }
4135
-
4136
- :where(.kui-setting-row-control) {
4137
- padding: 4px 10px;
4138
- border: 1px solid var(--border-neutral-l1);
4139
- border-radius: var(--radius-4, 4px);
4140
- background: var(--color-surface);
4141
- color: var(--color-foreground);
4142
- cursor: pointer;
4143
- font-size: 12px;
4144
- white-space: nowrap;
4145
- }
4146
-
4147
- :where(.kui-setting-row-control[data-state='danger']) {
4148
- border-color: var(--status-error-default, #dc2626);
4149
- color: var(--status-error-default, #dc2626);
4150
- }
4151
-
4152
- :where(.kui-setting-row-control[data-state='disabled']) {
4153
- opacity: 0.5;
4154
- cursor: not-allowed;
4155
- }
4156
- /* ---- extras: date range picker / descriptions / timeline / rate / color picker / transfer (2026-08-25) ---- */
4157
- :where(.kui-date-range-picker) {
4158
- display: inline-flex;
4159
- align-items: center;
4160
- gap: 6px;
4161
- }
4162
-
4163
- :where(.kui-date-range-input) {
4164
- width: 140px;
4165
- padding: 6px 10px;
4166
- border: 1px solid var(--border-neutral-l1);
4167
- border-radius: var(--radius-4, 4px);
4168
- background: var(--color-surface);
4169
- color: var(--color-foreground);
4170
- font-family: var(--body-base-font-family);
4171
- font-size: 13px;
4172
- cursor: pointer;
4173
- }
4174
-
4175
- :where(.kui-date-range-separator) {
4176
- color: var(--text-tertiary, var(--color-foreground));
4177
- font-size: 13px;
4178
- }
4179
-
4180
- :where(.kui-date-range-popover) {
4181
- position: absolute;
4182
- display: flex;
4183
- gap: 16px;
4184
- padding: 12px;
4185
- border: 1px solid var(--border-neutral-l1);
4186
- border-radius: var(--radius-8, 8px);
4187
- background: var(--color-surface);
4188
- box-shadow: 0 4px 16px rgb(0 0 0 / 0.12);
4189
- z-index: 20;
4190
- }
4191
-
4192
- :where(.kui-date-range-popover[data-state='hidden']) {
4193
- display: none;
4194
- }
4195
-
4196
- :where(.kui-descriptions) {
4197
- display: grid;
4198
- gap: 8px 24px;
4199
- font-family: var(--body-base-font-family);
4200
- font-size: 13px;
4201
- }
4202
-
4203
- :where(.kui-descriptions[data-state='vertical']) {
4204
- grid-template-columns: 1fr;
4205
- }
4206
-
4207
- :where(.kui-descriptions[data-state='horizontal']) {
4208
- grid-template-columns: auto 1fr;
4209
- }
4210
-
4211
- :where(.kui-descriptions[data-bordered='true']) {
4212
- border: 1px solid var(--border-neutral-l1);
4213
- border-radius: var(--radius-8, 8px);
4214
- padding: 12px 16px;
4215
- }
4216
-
4217
- :where(.kui-descriptions-label) {
4218
- color: var(--text-tertiary, var(--color-foreground));
4219
- opacity: 0.75;
4220
- }
4221
-
4222
- :where(.kui-descriptions-value) {
4223
- margin: 0;
4224
- color: var(--color-foreground);
4225
- }
4226
-
4227
- :where(.kui-timeline) {
4228
- list-style: none;
4229
- margin: 0;
4230
- padding: 0;
4231
- font-family: var(--body-base-font-family);
4232
- }
4233
-
4234
- :where(.kui-timeline-title) {
4235
- font-size: 13px;
4236
- font-weight: 500;
4237
- color: var(--color-foreground);
4238
- }
4239
-
4240
- :where(.kui-timeline-description) {
4241
- font-size: 12px;
4242
- color: var(--text-tertiary, var(--color-foreground));
4243
- }
4244
-
4245
- :where(.kui-timeline-time) {
4246
- font-size: 12px;
4247
- color: var(--text-tertiary, var(--color-foreground));
4248
- opacity: 0.75;
4249
- }
4250
-
4251
- :where(.kui-rate) {
4252
- display: inline-flex;
4253
- align-items: center;
4254
- gap: 2px;
4255
- }
4256
-
4257
- :where(.kui-rate-star) {
4258
- width: 22px;
4259
- height: 22px;
4260
- display: inline-flex;
4261
- align-items: center;
4262
- justify-content: center;
4263
- border: none;
4264
- background: transparent;
4265
- color: var(--border-neutral-l2, var(--color-foreground));
4266
- cursor: pointer;
4267
- font-size: 16px;
4268
- }
4269
-
4270
- :where(.kui-rate-star[data-state='active']) {
4271
- color: var(--status-warning-default, #d97706);
4272
- }
4273
-
4274
- :where(.kui-rate-star[data-state='disabled']) {
4275
- cursor: not-allowed;
4276
- opacity: 0.4;
4277
- }
4278
-
4279
- :where(.kui-color-picker) {
4280
- display: inline-flex;
4281
- align-items: center;
4282
- gap: 8px;
4283
- }
4284
-
4285
- :where(.kui-color-picker-input) {
4286
- width: 36px;
4287
- height: 28px;
4288
- padding: 0;
4289
- border: 1px solid var(--border-neutral-l1);
4290
- border-radius: var(--radius-4, 4px);
4291
- background: var(--color-surface);
4292
- cursor: pointer;
4293
- }
4294
-
4295
- :where(.kui-color-picker-preview) {
4296
- width: 18px;
4297
- height: 18px;
4298
- border: 1px solid var(--border-neutral-l1);
4299
- border-radius: var(--radius-4, 4px);
4300
- background: var(--bg-overlay-l2, var(--color-surface-variant));
4301
- }
4302
-
4303
- :where(.kui-color-picker-value) {
4304
- font-size: 12px;
4305
- font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
4306
- color: var(--text-tertiary, var(--color-foreground));
4307
- }
4308
-
4309
- :where(.kui-transfer) {
4310
- display: flex;
4311
- align-items: stretch;
4312
- gap: 12px;
4313
- font-family: var(--body-base-font-family);
4314
- }
4315
-
4316
- :where(.kui-transfer-pane) {
4317
- flex: 1;
4318
- min-width: 160px;
4319
- border: 1px solid var(--border-neutral-l1);
4320
- border-radius: var(--radius-8, 8px);
4321
- overflow: hidden;
4322
- }
4323
-
4324
- :where(.kui-transfer-list) {
4325
- list-style: none;
4326
- margin: 0;
4327
- padding: 4px;
4328
- max-height: 240px;
4329
- overflow-y: auto;
4330
- }
4331
-
4332
- :where(.kui-transfer-actions) {
4333
- display: flex;
4334
- flex-direction: column;
4335
- justify-content: center;
4336
- gap: 8px;
4337
- }
4338
-
4339
- :where(.kui-transfer-action) {
4340
- width: 28px;
4341
- height: 28px;
4342
- display: inline-flex;
4343
- align-items: center;
4344
- justify-content: center;
4345
- border: 1px solid var(--border-neutral-l1);
4346
- border-radius: var(--radius-4, 4px);
4347
- background: var(--color-surface);
4348
- color: var(--color-foreground);
4349
- cursor: pointer;
4350
- }
4351
-
4352
- :where(.kui-transfer-action:hover) {
4353
- background: var(--bg-overlay-l2, var(--color-surface-variant));
4354
- }
4355
- /* ---- extras2: number input / image / back top / mask input (2026-08-25) ---- */
4356
- :where(.kui-number-input) {
4357
- display: inline-flex;
4358
- align-items: stretch;
4359
- border: 1px solid var(--border-neutral-l1);
4360
- border-radius: var(--radius-4, 4px);
4361
- background: var(--color-surface);
4362
- overflow: hidden;
4363
- }
4364
-
4365
- :where(.kui-number-input[data-invalid='true']) {
4366
- border-color: var(--status-error-default, #dc2626);
4367
- }
4368
-
4369
- :where(.kui-number-input-field) {
4370
- width: 72px;
4371
- padding: 6px 8px;
4372
- border: none;
4373
- outline: none;
4374
- background: transparent;
4375
- color: var(--color-foreground);
4376
- font-family: var(--body-base-font-family);
4377
- font-size: 13px;
4378
- text-align: center;
4379
- }
4380
-
4381
- :where(.kui-number-input-step) {
4382
- width: 28px;
4383
- border: none;
4384
- background: transparent;
4385
- color: var(--text-tertiary, var(--color-foreground));
4386
- cursor: pointer;
4387
- font-size: 14px;
4388
- }
4389
-
4390
- :where(.kui-number-input-step:hover) {
4391
- background: var(--bg-overlay-l2, var(--color-surface-variant));
4392
- }
4393
- :where(.kui-number-input-step[data-state='disabled']) {
4394
- opacity: 0.35;
4395
- cursor: not-allowed;
4396
- }
4397
-
4398
- :where(.kui-image) {
4399
- display: inline-block;
4400
- margin: 0;
4401
- }
4402
-
4403
- :where(.kui-image-figure) {
4404
- max-width: 100%;
4405
- border-radius: var(--radius-4, 4px);
4406
- cursor: default;
4407
- }
4408
-
4409
- :where(.kui-image[data-state='preview'] .kui-image-figure) {
4410
- cursor: zoom-in;
4411
- }
4412
-
4413
- :where(.kui-image-caption) {
4414
- margin-top: 4px;
4415
- font-size: 12px;
4416
- color: var(--text-tertiary, var(--color-foreground));
4417
- text-align: center;
4418
- }
4419
-
4420
- :where(.kui-image-overlay) {
4421
- position: fixed;
4422
- inset: 0;
4423
- z-index: 100;
4424
- display: flex;
4425
- align-items: center;
4426
- justify-content: center;
4427
- background: rgb(0 0 0 / 0.7);
4428
- }
4429
-
4430
- :where(.kui-image-overlay[data-state='hidden']) {
4431
- display: none;
4432
- }
4433
-
4434
- :where(.kui-image-overlay-close) {
4435
- position: absolute;
4436
- top: 16px;
4437
- right: 16px;
4438
- width: 32px;
4439
- height: 32px;
4440
- border: none;
4441
- border-radius: var(--radius-4, 4px);
4442
- background: rgb(255 255 255 / 0.15);
4443
- color: #fff;
4444
- cursor: pointer;
4445
- }
4446
-
4447
- :where(.kui-back-top) {
4448
- position: fixed;
4449
- right: 24px;
4450
- bottom: 24px;
4451
- z-index: 50;
4452
- width: 40px;
4453
- height: 40px;
4454
- display: inline-flex;
4455
- align-items: center;
4456
- justify-content: center;
4457
- border: 1px solid var(--border-neutral-l1);
4458
- border-radius: var(--radius-full, 999px);
4459
- background: var(--color-surface);
4460
- color: var(--color-foreground);
4461
- box-shadow: 0 4px 12px rgb(0 0 0 / 0.12);
4462
- cursor: pointer;
4463
- }
4464
-
4465
- :where(.kui-back-top:hover) {
4466
- background: var(--bg-overlay-l2, var(--color-surface-variant));
4467
- }
4468
- :where(.kui-back-top[data-state='hidden']) {
4469
- display: none;
4470
- }
4471
-
4472
- :where(.kui-mask-input) {
4473
- display: inline-block;
4474
- }
4475
-
4476
- :where(.kui-mask-input[data-invalid='true']) .kui-mask-input-field {
4477
- border-color: var(--status-error-default, #dc2626);
4478
- }
4479
-
4480
- :where(.kui-mask-input-field) {
4481
- width: 200px;
4482
- padding: 6px 10px;
4483
- border: 1px solid var(--border-neutral-l1);
4484
- border-radius: var(--radius-4, 4px);
4485
- background: var(--color-surface);
4486
- color: var(--color-foreground);
4487
- font-family: var(--body-base-font-family);
4488
- font-size: 13px;
4489
- }
4490
-
4491
- :where(.kui-mask-input-field:focus) {
4492
- outline: none;
4493
- border-color: var(--color-primary);
4494
- }
4495
-
4496
- :where(.kui-mask-input-field[disabled]) {
4497
- opacity: 0.5;
4498
- cursor: not-allowed;
4499
- }
4500
- /* ---- highlight & code block (2026-08-25) ---- */
4501
- :where(mark.kui-highlight) {
4502
- background: var(--status-warning-default, #d97706);
4503
- color: var(--color-surface, #ffffff);
4504
- border-radius: var(--radius-2, 2px);
4505
- padding: 0 2px;
4506
- }
4507
-
4508
- :where(.kui-code-block) {
4509
- margin: 0;
4510
- border: 1px solid var(--border-neutral-l1);
4511
- border-radius: var(--radius-8, 8px);
4512
- overflow: hidden;
4513
- font-family: var(--body-base-font-family);
4514
- background: var(--color-surface);
4515
- }
4516
-
4517
- :where(.kui-code-block-header) {
4518
- display: flex;
4519
- align-items: center;
4520
- justify-content: space-between;
4521
- padding: 6px 12px;
4522
- background: var(--bg-overlay-l2, var(--color-surface-variant));
4523
- border-bottom: 1px solid var(--border-neutral-l1);
4524
- }
4525
-
4526
- :where(.kui-code-block-language) {
4527
- font-size: 12px;
4528
- font-weight: 500;
4529
- color: var(--text-tertiary, var(--color-foreground));
4530
- }
4531
-
4532
- :where(.kui-code-block-copy) {
4533
- padding: 2px 8px;
4534
- border: none;
4535
- border-radius: var(--radius-4, 4px);
4536
- background: transparent;
4537
- color: var(--text-tertiary, var(--color-foreground));
4538
- cursor: pointer;
4539
- font-size: 12px;
4540
- }
4541
-
4542
- :where(.kui-code-block-copy:hover) {
4543
- background: var(--bg-overlay-l3, var(--color-surface-variant));
4544
- }
4545
- :where(.kui-code-block-copy[hidden]) {
4546
- display: none;
4547
- }
4548
-
4549
- :where(.kui-code-block-code) {
4550
- margin: 0;
4551
- padding: 12px 16px;
4552
- overflow-x: auto;
4553
- font-family: ui-monospace, SFMono-Regular, Consolas, 'Liberation Mono', monospace;
4554
- font-size: 13px;
4555
- line-height: 1.6;
4556
- color: var(--color-foreground);
4557
- }
4558
-
4559
- :where(.kui-code-block-line-numbers) {
4560
- float: left;
4561
- margin-right: 12px;
4562
- padding-right: 12px;
4563
- border-right: 1px solid var(--border-neutral-l1);
4564
- color: var(--text-tertiary, var(--color-foreground));
4565
- opacity: 0.6;
4566
- text-align: right;
4567
- user-select: none;
4568
- }