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