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