@consilioweb/payload-support 4.0.0 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. package/README.md +272 -35
  2. package/dist/components/RichTextEditor/index.js +1 -1
  3. package/dist/components/TicketConversation/RewriteDropdown.js +1 -1
  4. package/dist/components/TicketConversation/components/AISummaryPanel.js +3 -0
  5. package/dist/components/TicketConversation/components/ActionPanels.js +13 -8
  6. package/dist/components/TicketConversation/components/ClientHistory.js +1 -0
  7. package/dist/components/TicketConversation/components/CodeBlock.js +1 -0
  8. package/dist/components/TicketConversation/components/CodeBlockInserter.js +1 -1
  9. package/dist/components/TicketConversation/components/QuickActions.js +10 -8
  10. package/dist/components/TicketConversation/components/TicketHeader.js +2 -0
  11. package/dist/components/TicketConversation/components/TimeTrackingPanel.js +15 -9
  12. package/dist/components/TicketConversation/index.d.ts +10 -0
  13. package/dist/components/TicketConversation/index.js +25 -7
  14. package/dist/index.cjs +421 -73
  15. package/dist/index.d.cts +127 -38
  16. package/dist/index.d.ts +127 -38
  17. package/dist/index.js +415 -72
  18. package/dist/styles/BillingView.module.scss +11 -11
  19. package/dist/styles/ChatView.module.scss +7 -7
  20. package/dist/styles/CommandPalette.module.scss +1 -1
  21. package/dist/styles/CrmView.module.scss +9 -9
  22. package/dist/styles/EmailTracking.module.scss +6 -6
  23. package/dist/styles/ImportConversation.module.scss +5 -5
  24. package/dist/styles/Logs.module.scss +5 -5
  25. package/dist/styles/NewTicket.module.scss +2 -2
  26. package/dist/styles/PendingEmails.module.scss +13 -13
  27. package/dist/styles/SupportDashboard.module.scss +24 -8
  28. package/dist/styles/TicketDetail.module.scss +20 -20
  29. package/dist/styles/TicketInbox.module.scss +6 -6
  30. package/dist/styles/TicketingSettings.module.scss +10 -10
  31. package/dist/styles/TimeDashboard.module.scss +6 -6
  32. package/dist/styles/_tokens.scss +3 -1
  33. package/dist/utils/db.d.ts +34 -0
  34. package/dist/utils/readSettings.d.ts +90 -0
  35. package/dist/views/BillingView/client.js +15 -8
  36. package/dist/views/BillingView/index.js +4 -4
  37. package/dist/views/ChatView/client.js +2 -0
  38. package/dist/views/ChatView/index.js +4 -4
  39. package/dist/views/CrmView/client.js +2 -0
  40. package/dist/views/CrmView/index.js +4 -4
  41. package/dist/views/EmailTrackingView/client.js +23 -11
  42. package/dist/views/EmailTrackingView/index.js +4 -4
  43. package/dist/views/ImportConversationView/client.js +1 -0
  44. package/dist/views/ImportConversationView/index.js +4 -4
  45. package/dist/views/LogsView/client.js +1 -1
  46. package/dist/views/LogsView/index.js +4 -2
  47. package/dist/views/NewTicketView/client.js +20 -13
  48. package/dist/views/NewTicketView/index.js +4 -2
  49. package/dist/views/PendingEmailsView/client.js +9 -3
  50. package/dist/views/PendingEmailsView/index.js +4 -4
  51. package/dist/views/SupportDashboardView/client.js +17 -19
  52. package/dist/views/SupportDashboardView/index.js +4 -4
  53. package/dist/views/TicketDetailView/client.js +23 -11
  54. package/dist/views/TicketDetailView/index.js +4 -4
  55. package/dist/views/TicketInboxView/client.js +52 -26
  56. package/dist/views/TicketInboxView/index.js +4 -2
  57. package/dist/views/TicketingSettingsView/TicketingSettings.module.scss +7 -7
  58. package/dist/views/TicketingSettingsView/client.js +44 -26
  59. package/dist/views/TicketingSettingsView/index.js +4 -4
  60. package/dist/views/TimeDashboardView/client.js +10 -7
  61. package/dist/views/TimeDashboardView/index.js +4 -4
  62. package/dist/views/shared/ErrorBoundary.d.ts +36 -1
  63. package/dist/views/shared/ErrorBoundary.js +59 -28
  64. package/dist/views/shared/adminTokens.d.ts +15 -5
  65. package/dist/views/shared/adminTokens.js +23 -7
  66. package/dist/views/shared/icons.d.ts +49 -0
  67. package/dist/views/shared/icons.js +92 -0
  68. package/dist/views/shared/locales/en.json +15 -1
  69. package/dist/views/shared/locales/fr.json +15 -1
  70. package/dist/views/shared/viewAccess.d.ts +29 -0
  71. package/dist/views/shared/viewAccess.js +24 -0
  72. package/package.json +31 -21
  73. package/scripts/uninstall-data.mjs +178 -0
  74. package/scripts/uninstall.mjs +184 -0
  75. package/src/collections/Tickets.ts +7 -0
  76. package/src/collections/TimeEntries.ts +11 -3
  77. package/src/components/RichTextEditor/index.tsx +1 -1
  78. package/src/components/TicketConversation/RewriteDropdown.tsx +1 -1
  79. package/src/components/TicketConversation/components/AISummaryPanel.tsx +3 -0
  80. package/src/components/TicketConversation/components/ActionPanels.tsx +13 -8
  81. package/src/components/TicketConversation/components/ClientHistory.tsx +1 -0
  82. package/src/components/TicketConversation/components/CodeBlock.tsx +1 -0
  83. package/src/components/TicketConversation/components/CodeBlockInserter.tsx +1 -1
  84. package/src/components/TicketConversation/components/QuickActions.tsx +10 -8
  85. package/src/components/TicketConversation/components/TicketHeader.tsx +2 -0
  86. package/src/components/TicketConversation/components/TimeTrackingPanel.tsx +17 -9
  87. package/src/components/TicketConversation/index.tsx +41 -7
  88. package/src/endpoints/auth-2fa.ts +53 -8
  89. package/src/endpoints/capabilities.ts +2 -4
  90. package/src/endpoints/chatbot.ts +2 -2
  91. package/src/endpoints/delete-account.ts +191 -47
  92. package/src/endpoints/export-data.ts +104 -4
  93. package/src/endpoints/import-conversation.ts +2 -2
  94. package/src/endpoints/login.ts +13 -3
  95. package/src/endpoints/purge-logs.ts +6 -15
  96. package/src/endpoints/push.ts +14 -1
  97. package/src/endpoints/statuses.ts +17 -0
  98. package/src/index.ts +2 -0
  99. package/src/plugin.ts +51 -1
  100. package/src/portal/LiveChat.tsx +1 -1
  101. package/src/portal/auth/profile/page.tsx +3 -2
  102. package/src/portal/icons.tsx +91 -0
  103. package/src/portal/login/page.tsx +14 -4
  104. package/src/styles/BillingView.module.scss +11 -11
  105. package/src/styles/ChatView.module.scss +7 -7
  106. package/src/styles/CommandPalette.module.scss +1 -1
  107. package/src/styles/CrmView.module.scss +9 -9
  108. package/src/styles/EmailTracking.module.scss +6 -6
  109. package/src/styles/ImportConversation.module.scss +5 -5
  110. package/src/styles/Logs.module.scss +5 -5
  111. package/src/styles/NewTicket.module.scss +2 -2
  112. package/src/styles/PendingEmails.module.scss +13 -13
  113. package/src/styles/SupportDashboard.module.scss +24 -8
  114. package/src/styles/TicketDetail.module.scss +20 -20
  115. package/src/styles/TicketInbox.module.scss +6 -6
  116. package/src/styles/TicketingSettings.module.scss +10 -10
  117. package/src/styles/TimeDashboard.module.scss +6 -6
  118. package/src/styles/_tokens.scss +3 -1
  119. package/src/types.ts +20 -0
  120. package/src/utils/push.ts +22 -0
  121. package/src/utils/rateLimiter.ts +98 -0
  122. package/src/utils/retention.ts +111 -0
  123. package/src/utils/slugs.ts +15 -0
  124. package/src/utils/twoFactorChallenge.ts +6 -1
  125. package/src/utils/urlSafety.ts +36 -1
  126. package/src/views/BillingView/client.tsx +17 -8
  127. package/src/views/BillingView/index.tsx +4 -4
  128. package/src/views/ChatView/client.tsx +2 -0
  129. package/src/views/ChatView/index.tsx +4 -4
  130. package/src/views/CrmView/client.tsx +2 -0
  131. package/src/views/CrmView/index.tsx +4 -4
  132. package/src/views/EmailTrackingView/client.tsx +18 -7
  133. package/src/views/EmailTrackingView/index.tsx +4 -4
  134. package/src/views/ImportConversationView/client.tsx +1 -0
  135. package/src/views/ImportConversationView/index.tsx +4 -4
  136. package/src/views/LogsView/client.tsx +1 -1
  137. package/src/views/LogsView/index.tsx +4 -2
  138. package/src/views/NewTicketView/client.tsx +22 -13
  139. package/src/views/NewTicketView/index.tsx +4 -2
  140. package/src/views/PendingEmailsView/client.tsx +9 -3
  141. package/src/views/PendingEmailsView/index.tsx +4 -4
  142. package/src/views/SupportDashboardView/client.tsx +11 -5
  143. package/src/views/SupportDashboardView/index.tsx +4 -4
  144. package/src/views/TicketDetailView/client.tsx +25 -11
  145. package/src/views/TicketDetailView/index.tsx +4 -4
  146. package/src/views/TicketInboxView/client.tsx +47 -7
  147. package/src/views/TicketInboxView/index.tsx +4 -2
  148. package/src/views/TicketingSettingsView/TicketingSettings.module.scss +7 -7
  149. package/src/views/TicketingSettingsView/client.tsx +201 -144
  150. package/src/views/TicketingSettingsView/index.tsx +4 -4
  151. package/src/views/TimeDashboardView/client.tsx +10 -7
  152. package/src/views/TimeDashboardView/index.tsx +4 -4
  153. package/src/views/shared/ErrorBoundary.tsx +95 -31
  154. package/src/views/shared/adminTokens.ts +28 -11
  155. package/src/views/shared/icons.tsx +146 -0
  156. package/src/views/shared/locales/en.json +15 -1
  157. package/src/views/shared/locales/fr.json +15 -1
  158. package/src/views/shared/viewAccess.ts +73 -0
  159. package/src/types/lucide-react.d.ts +0 -42
@@ -23,7 +23,7 @@
23
23
  }
24
24
 
25
25
  .subtitle {
26
- color: var(--theme-elevation-500);
26
+ color: var(--theme-elevation-650);
27
27
  margin: 4px 0 0;
28
28
  font-size: 14px;
29
29
  }
@@ -59,7 +59,7 @@
59
59
  .label {
60
60
  font-size: 12px;
61
61
  font-weight: 700;
62
- color: var(--theme-elevation-500);
62
+ color: var(--theme-elevation-650);
63
63
  margin-bottom: 4px;
64
64
  }
65
65
 
@@ -134,7 +134,7 @@
134
134
  border: 1px solid var(--theme-elevation-300);
135
135
  border-radius: 8px;
136
136
  background: var(--theme-elevation-100);
137
- color: var(--theme-elevation-500);
137
+ color: var(--theme-elevation-650);
138
138
  font-size: 14px;
139
139
  }
140
140
 
@@ -162,7 +162,7 @@
162
162
  }
163
163
 
164
164
  .groupClient {
165
- color: var(--theme-elevation-500);
165
+ color: var(--theme-elevation-650);
166
166
  margin-left: 10px;
167
167
  font-size: 13px;
168
168
  }
@@ -190,7 +190,7 @@
190
190
 
191
191
  .groupAmountStrike {
192
192
  font-size: 11px;
193
- color: var(--theme-elevation-500);
193
+ color: var(--theme-elevation-650);
194
194
  text-decoration: line-through;
195
195
  }
196
196
 
@@ -208,7 +208,7 @@
208
208
  text-transform: uppercase;
209
209
  letter-spacing: 0.5px;
210
210
  text-align: center;
211
- color: var(--theme-elevation-500);
211
+ color: var(--theme-elevation-650);
212
212
  background: var(--theme-elevation-50);
213
213
  border-bottom: 1px solid var(--theme-elevation-300);
214
214
  }
@@ -268,7 +268,7 @@
268
268
  }
269
269
 
270
270
  .secondary {
271
- color: var(--theme-elevation-500);
271
+ color: var(--theme-elevation-650);
272
272
  }
273
273
 
274
274
  .billedAmount {
@@ -326,7 +326,7 @@
326
326
  border-radius: 4px;
327
327
  border: 1px solid var(--theme-elevation-300);
328
328
  background: var(--theme-elevation-100);
329
- color: var(--theme-elevation-500);
329
+ color: var(--theme-elevation-650);
330
330
  font-size: 10px;
331
331
  font-weight: 600;
332
332
  cursor: pointer;
@@ -367,7 +367,7 @@
367
367
 
368
368
  .summaryMeta {
369
369
  font-size: 11px;
370
- color: var(--theme-elevation-500);
370
+ color: var(--theme-elevation-650);
371
371
  }
372
372
 
373
373
  .summaryAction {
@@ -403,7 +403,7 @@
403
403
  background: var(--theme-elevation-100);
404
404
  border: 1px dashed var(--theme-elevation-300);
405
405
  border-radius: 6px;
406
- color: var(--theme-elevation-500);
406
+ color: var(--theme-elevation-650);
407
407
  font-size: 12px;
408
408
  font-style: italic;
409
409
  }
@@ -423,7 +423,7 @@
423
423
 
424
424
  .totalMeta {
425
425
  font-size: 13px;
426
- color: var(--theme-elevation-500);
426
+ color: var(--theme-elevation-650);
427
427
  }
428
428
 
429
429
  .totalChecked {
@@ -29,7 +29,7 @@ $font-stack: -apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', system-ui,
29
29
 
30
30
  .subtitle {
31
31
  font-size: 13px;
32
- color: var(--theme-elevation-500);
32
+ color: var(--theme-elevation-650);
33
33
  margin: 4px 0 0;
34
34
  }
35
35
 
@@ -67,7 +67,7 @@ $font-stack: -apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', system-ui,
67
67
  letter-spacing: 0.04em;
68
68
  border: none;
69
69
  cursor: pointer;
70
- color: var(--theme-elevation-500);
70
+ color: var(--theme-elevation-650);
71
71
  background: none;
72
72
  position: relative;
73
73
  transition: color 100ms;
@@ -175,7 +175,7 @@ $font-stack: -apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', system-ui,
175
175
 
176
176
  .sessionPreview {
177
177
  font-size: 12px;
178
- color: var(--theme-elevation-500);
178
+ color: var(--theme-elevation-650);
179
179
  white-space: nowrap;
180
180
  overflow: hidden;
181
181
  text-overflow: ellipsis;
@@ -233,7 +233,7 @@ $font-stack: -apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', system-ui,
233
233
  border-radius: 6px;
234
234
  border: 1px solid var(--theme-elevation-200);
235
235
  background: none;
236
- color: var(--theme-elevation-500);
236
+ color: var(--theme-elevation-650);
237
237
  font-weight: 600;
238
238
  font-size: 12px;
239
239
  cursor: pointer;
@@ -301,7 +301,7 @@ $font-stack: -apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', system-ui,
301
301
  border-color: var(--theme-elevation-200);
302
302
  padding: 6px 14px;
303
303
  font-size: 12px;
304
- color: var(--theme-elevation-500);
304
+ color: var(--theme-elevation-650);
305
305
  border-radius: 8px;
306
306
  max-width: 80%;
307
307
  }
@@ -339,7 +339,7 @@ $font-stack: -apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', system-ui,
339
339
  font-weight: 700;
340
340
  margin-bottom: 4px;
341
341
  opacity: 0.7;
342
- color: var(--theme-elevation-500);
342
+ color: var(--theme-elevation-650);
343
343
  }
344
344
 
345
345
  .bubbleBody {
@@ -373,7 +373,7 @@ $font-stack: -apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', system-ui,
373
373
  font-size: 12px;
374
374
  font-weight: 600;
375
375
  background: none;
376
- color: var(--theme-elevation-500);
376
+ color: var(--theme-elevation-650);
377
377
  cursor: pointer;
378
378
  transition: all 80ms;
379
379
 
@@ -121,7 +121,7 @@
121
121
 
122
122
  .itemSub {
123
123
  font-size: 11px;
124
- color: var(--theme-elevation-500);
124
+ color: var(--theme-elevation-650);
125
125
  margin-top: 1px;
126
126
  }
127
127
 
@@ -34,7 +34,7 @@ $red: #dc2626;
34
34
 
35
35
  .subtitle {
36
36
  font-size: 13px;
37
- color: var(--theme-elevation-500);
37
+ color: var(--theme-elevation-650);
38
38
  font-weight: 400;
39
39
  }
40
40
 
@@ -125,7 +125,7 @@ $red: #dc2626;
125
125
 
126
126
  .clientName {
127
127
  font-size: 12px;
128
- color: var(--theme-elevation-500);
128
+ color: var(--theme-elevation-650);
129
129
  }
130
130
 
131
131
  .clientEmail {
@@ -181,7 +181,7 @@ $red: #dc2626;
181
181
 
182
182
  .clientHeaderContact {
183
183
  font-size: 14px;
184
- color: var(--theme-elevation-500);
184
+ color: var(--theme-elevation-650);
185
185
  margin-top: 4px;
186
186
  }
187
187
 
@@ -199,7 +199,7 @@ $red: #dc2626;
199
199
  background: var(--theme-elevation-50);
200
200
  border-radius: 6px;
201
201
  font-size: 12px;
202
- color: var(--theme-elevation-500);
202
+ color: var(--theme-elevation-650);
203
203
  font-style: italic;
204
204
  }
205
205
 
@@ -281,7 +281,7 @@ $red: #dc2626;
281
281
 
282
282
  .mergePanelDesc {
283
283
  font-size: 12px;
284
- color: var(--theme-elevation-500);
284
+ color: var(--theme-elevation-650);
285
285
  margin: 0 0 10px;
286
286
  line-height: 1.5;
287
287
  }
@@ -328,13 +328,13 @@ $red: #dc2626;
328
328
  }
329
329
 
330
330
  .mergeResultName {
331
- color: var(--theme-elevation-500);
331
+ color: var(--theme-elevation-650);
332
332
  margin-left: 8px;
333
333
  }
334
334
 
335
335
  .mergeEmpty {
336
336
  font-size: 12px;
337
- color: var(--theme-elevation-500);
337
+ color: var(--theme-elevation-650);
338
338
  font-style: italic;
339
339
  margin: 0;
340
340
  }
@@ -355,7 +355,7 @@ $red: #dc2626;
355
355
  font-size: 10px;
356
356
  font-weight: 700;
357
357
  text-transform: uppercase;
358
- color: var(--theme-elevation-500);
358
+ color: var(--theme-elevation-650);
359
359
  letter-spacing: 0.03em;
360
360
  }
361
361
 
@@ -477,7 +477,7 @@ $red: #dc2626;
477
477
  font-size: 10px;
478
478
  font-weight: 600;
479
479
  text-transform: uppercase;
480
- color: var(--theme-elevation-500);
480
+ color: var(--theme-elevation-650);
481
481
  border-bottom: 1px solid var(--theme-elevation-200);
482
482
  letter-spacing: 0.03em;
483
483
  }
@@ -42,7 +42,7 @@
42
42
  font-weight: 700;
43
43
  text-transform: uppercase;
44
44
  letter-spacing: 0.06em;
45
- color: var(--theme-elevation-500);
45
+ color: var(--theme-elevation-650);
46
46
  margin-bottom: 6px;
47
47
  }
48
48
 
@@ -55,7 +55,7 @@
55
55
  .statUnit {
56
56
  font-size: 14px;
57
57
  font-weight: 500;
58
- color: var(--theme-elevation-500);
58
+ color: var(--theme-elevation-650);
59
59
  margin-left: 2px;
60
60
  }
61
61
 
@@ -78,7 +78,7 @@
78
78
  padding: 8px 14px;
79
79
  font-size: 13px;
80
80
  font-weight: 600;
81
- color: var(--theme-elevation-500);
81
+ color: var(--theme-elevation-650);
82
82
  background: none;
83
83
  border: none;
84
84
  border-bottom: 2px solid transparent;
@@ -104,7 +104,7 @@
104
104
  background: none;
105
105
  font-size: 12px;
106
106
  font-weight: 600;
107
- color: var(--theme-elevation-500);
107
+ color: var(--theme-elevation-650);
108
108
  cursor: pointer;
109
109
  transition: all 80ms;
110
110
  &:hover { background: var(--theme-elevation-100); }
@@ -141,7 +141,7 @@
141
141
  font-weight: 700;
142
142
  text-transform: uppercase;
143
143
  letter-spacing: 0.04em;
144
- color: var(--theme-elevation-500);
144
+ color: var(--theme-elevation-650);
145
145
  border-bottom: 1px solid var(--theme-elevation-200);
146
146
  }
147
147
 
@@ -217,7 +217,7 @@
217
217
  background: none;
218
218
  font-size: 12px;
219
219
  font-weight: 600;
220
- color: var(--theme-elevation-500);
220
+ color: var(--theme-elevation-650);
221
221
  cursor: pointer;
222
222
  &:hover { background: var(--theme-elevation-100); }
223
223
  &:disabled { opacity: 0.4; cursor: not-allowed; }
@@ -89,7 +89,7 @@
89
89
 
90
90
  .dropzoneText {
91
91
  font-size: 15px;
92
- color: var(--theme-elevation-500);
92
+ color: var(--theme-elevation-650);
93
93
  margin-top: 8px;
94
94
  }
95
95
 
@@ -122,7 +122,7 @@
122
122
  .sectionTitleRight {
123
123
  font-weight: 400;
124
124
  font-size: 13px;
125
- color: var(--theme-elevation-500);
125
+ color: var(--theme-elevation-650);
126
126
  margin-left: auto;
127
127
  }
128
128
 
@@ -139,7 +139,7 @@
139
139
 
140
140
  .infoLabel {
141
141
  font-weight: 600;
142
- color: var(--theme-elevation-500);
142
+ color: var(--theme-elevation-650);
143
143
  min-width: 100px;
144
144
  }
145
145
 
@@ -182,11 +182,11 @@
182
182
 
183
183
  .msgDate {
184
184
  font-size: 11px;
185
- color: var(--theme-elevation-500);
185
+ color: var(--theme-elevation-650);
186
186
  }
187
187
 
188
188
  .msgPreview {
189
- color: var(--theme-elevation-500);
189
+ color: var(--theme-elevation-650);
190
190
  font-size: 12px;
191
191
  line-height: 1.4;
192
192
  }
@@ -34,7 +34,7 @@
34
34
  background: none;
35
35
  font-size: 12px;
36
36
  font-weight: 600;
37
- color: var(--theme-elevation-500);
37
+ color: var(--theme-elevation-650);
38
38
  cursor: pointer;
39
39
  transition: all 100ms;
40
40
  &:hover { background: var(--theme-elevation-100); color: var(--theme-text); }
@@ -57,7 +57,7 @@
57
57
  padding: 10px 16px;
58
58
  font-size: 13px;
59
59
  font-weight: 600;
60
- color: var(--theme-elevation-500);
60
+ color: var(--theme-elevation-650);
61
61
  background: none;
62
62
  border: none;
63
63
  border-bottom: 2px solid transparent;
@@ -80,7 +80,7 @@
80
80
  font-weight: 700;
81
81
  text-transform: uppercase;
82
82
  letter-spacing: 0.04em;
83
- color: var(--theme-elevation-500);
83
+ color: var(--theme-elevation-650);
84
84
  border-bottom: 1px solid var(--theme-elevation-200);
85
85
  }
86
86
 
@@ -128,7 +128,7 @@
128
128
  background: none;
129
129
  font-size: 12px;
130
130
  font-weight: 600;
131
- color: var(--theme-elevation-500);
131
+ color: var(--theme-elevation-650);
132
132
  cursor: pointer;
133
133
  &:hover { background: var(--theme-elevation-100); }
134
134
  &:disabled { opacity: 0.4; cursor: not-allowed; }
@@ -136,7 +136,7 @@
136
136
 
137
137
  .pageInfo {
138
138
  font-size: 12px;
139
- color: var(--theme-elevation-500);
139
+ color: var(--theme-elevation-650);
140
140
  }
141
141
 
142
142
  .empty {
@@ -13,7 +13,7 @@
13
13
  display: inline-flex;
14
14
  align-items: center;
15
15
  gap: 4px;
16
- color: var(--theme-elevation-500);
16
+ color: var(--theme-elevation-650);
17
17
  text-decoration: none;
18
18
  font-size: 13px;
19
19
  font-weight: 500;
@@ -30,7 +30,7 @@
30
30
 
31
31
  .subtitle {
32
32
  font-size: 13px;
33
- color: var(--theme-elevation-500);
33
+ color: var(--theme-elevation-650);
34
34
  margin: 0 0 24px;
35
35
  }
36
36
 
@@ -56,7 +56,7 @@ $radius-pill: 20px;
56
56
  }
57
57
 
58
58
  .subtitle {
59
- color: var(--theme-elevation-500);
59
+ color: var(--theme-elevation-650);
60
60
  margin: 0;
61
61
  font-size: 14px;
62
62
  }
@@ -86,7 +86,7 @@ $radius-pill: 20px;
86
86
  font-size: 13px;
87
87
  font-weight: 600;
88
88
  border-bottom: 2px solid transparent;
89
- color: var(--theme-elevation-500);
89
+ color: var(--theme-elevation-650);
90
90
  background: transparent;
91
91
  transition: color 100ms, border-color 100ms;
92
92
 
@@ -156,7 +156,7 @@ $radius-pill: 20px;
156
156
 
157
157
  .senderEmail {
158
158
  font-size: 12px;
159
- color: var(--theme-elevation-500);
159
+ color: var(--theme-elevation-650);
160
160
  }
161
161
 
162
162
  .cardSubject {
@@ -171,7 +171,7 @@ $radius-pill: 20px;
171
171
  align-items: center;
172
172
  gap: 10px;
173
173
  font-size: 12px;
174
- color: var(--theme-elevation-500);
174
+ color: var(--theme-elevation-650);
175
175
  }
176
176
 
177
177
  .attachment {
@@ -226,7 +226,7 @@ $radius-pill: 20px;
226
226
 
227
227
  .suggestionLow {
228
228
  background-color: var(--theme-elevation-100);
229
- color: var(--theme-elevation-500);
229
+ color: var(--theme-elevation-650);
230
230
  }
231
231
 
232
232
  // ── Body preview ─────────────────────────────────────────────
@@ -236,7 +236,7 @@ $radius-pill: 20px;
236
236
 
237
237
  .bodyText {
238
238
  font-size: 13px;
239
- color: var(--theme-elevation-500);
239
+ color: var(--theme-elevation-650);
240
240
  line-height: 1.5;
241
241
  }
242
242
 
@@ -353,7 +353,7 @@ $radius-pill: 20px;
353
353
  background: none;
354
354
  border: none;
355
355
  cursor: pointer;
356
- color: var(--theme-elevation-500);
356
+ color: var(--theme-elevation-650);
357
357
  padding: 4px;
358
358
  border-radius: 4px;
359
359
  display: flex;
@@ -368,7 +368,7 @@ $radius-pill: 20px;
368
368
  .sectionLabel {
369
369
  font-size: 12px;
370
370
  font-weight: 700;
371
- color: var(--theme-elevation-500);
371
+ color: var(--theme-elevation-650);
372
372
  text-transform: uppercase;
373
373
  letter-spacing: 0.5px;
374
374
  margin-bottom: 8px;
@@ -433,7 +433,7 @@ $radius-pill: 20px;
433
433
  }
434
434
 
435
435
  .scoreLow {
436
- background-color: var(--theme-elevation-500);
436
+ background-color: var(--theme-elevation-650);
437
437
  }
438
438
 
439
439
  // ── Detected client row ──────────────────────────────────────
@@ -456,7 +456,7 @@ $radius-pill: 20px;
456
456
 
457
457
  .detectedEmail {
458
458
  font-size: 12px;
459
- color: var(--theme-elevation-500);
459
+ color: var(--theme-elevation-650);
460
460
  margin-left: 8px;
461
461
  }
462
462
 
@@ -481,7 +481,7 @@ $radius-pill: 20px;
481
481
 
482
482
  .clientResultEmail {
483
483
  font-size: 12px;
484
- color: var(--theme-elevation-500);
484
+ color: var(--theme-elevation-650);
485
485
  margin-left: 8px;
486
486
  }
487
487
 
@@ -523,13 +523,13 @@ $radius-pill: 20px;
523
523
 
524
524
  .searchingHint {
525
525
  font-size: 13px;
526
- color: var(--theme-elevation-500);
526
+ color: var(--theme-elevation-650);
527
527
  padding: 8px;
528
528
  }
529
529
 
530
530
  .noResults {
531
531
  font-size: 13px;
532
- color: var(--theme-elevation-500);
532
+ color: var(--theme-elevation-650);
533
533
  padding: 8px;
534
534
  }
535
535
 
@@ -26,7 +26,7 @@ $radius-md: 12px;
26
26
 
27
27
  .subtitle {
28
28
  font-size: 13px;
29
- color: var(--theme-elevation-500);
29
+ color: var(--theme-elevation-650);
30
30
  margin: 0;
31
31
  }
32
32
 
@@ -75,7 +75,7 @@ $radius-md: 12px;
75
75
  font-weight: 700;
76
76
  text-transform: uppercase;
77
77
  letter-spacing: 0.6px;
78
- color: var(--theme-elevation-500);
78
+ color: var(--theme-elevation-650);
79
79
  margin-bottom: 8px;
80
80
  }
81
81
 
@@ -148,7 +148,7 @@ $radius-md: 12px;
148
148
  font-weight: 700;
149
149
  text-transform: uppercase;
150
150
  letter-spacing: 0.5px;
151
- color: var(--theme-elevation-500);
151
+ color: var(--theme-elevation-650);
152
152
  margin: 0 0 16px;
153
153
  }
154
154
 
@@ -207,7 +207,7 @@ $radius-md: 12px;
207
207
  font-weight: 600;
208
208
  font-variant-numeric: tabular-nums;
209
209
  font-size: 12px;
210
- color: var(--theme-elevation-500);
210
+ color: var(--theme-elevation-650);
211
211
  white-space: nowrap;
212
212
  }
213
213
 
@@ -219,9 +219,25 @@ $radius-md: 12px;
219
219
  font-weight: 500;
220
220
  }
221
221
 
222
+ // The whole row looks clickable, but only this link actually is — it is what
223
+ // carries the ticket into the keyboard tab order.
224
+ .ticketLink {
225
+ display: block;
226
+ overflow: hidden;
227
+ text-overflow: ellipsis;
228
+ white-space: nowrap;
229
+ color: inherit;
230
+ text-decoration: none;
231
+
232
+ &:hover,
233
+ &:focus-visible {
234
+ text-decoration: underline;
235
+ }
236
+ }
237
+
222
238
  .ticketClient {
223
239
  font-size: 12px;
224
- color: var(--theme-elevation-500);
240
+ color: var(--theme-elevation-650);
225
241
  max-width: 120px;
226
242
  overflow: hidden;
227
243
  text-overflow: ellipsis;
@@ -430,7 +446,7 @@ $radius-md: 12px;
430
446
  font-weight: 700;
431
447
  text-transform: uppercase;
432
448
  letter-spacing: 0.5px;
433
- color: var(--theme-elevation-500);
449
+ color: var(--theme-elevation-650);
434
450
  margin: 0 0 16px;
435
451
  }
436
452
 
@@ -582,7 +598,7 @@ $radius-md: 12px;
582
598
  font-size: 12px;
583
599
  font-weight: 600;
584
600
  font-variant-numeric: tabular-nums;
585
- color: var(--theme-elevation-500);
601
+ color: var(--theme-elevation-650);
586
602
  white-space: nowrap;
587
603
  flex-shrink: 0;
588
604
  }
@@ -637,7 +653,7 @@ $radius-md: 12px;
637
653
  .errorState {
638
654
  text-align: center;
639
655
  padding: 60px 24px;
640
- color: var(--theme-elevation-500);
656
+ color: var(--theme-elevation-650);
641
657
  font-size: 14px;
642
658
 
643
659
  strong {