PluginProbe
MxChat – AI Chatbot & Content Generation for WordPress / 2.3.4
MxChat – AI Chatbot & Content Generation for WordPress v2.3.4
3.2.21 3.2.20 3.2.19 3.2.18 3.2.17 3.2.16 3.2.15 3.2.14 3.2.12 3.2.13 3.2.11 3.2.10 3.2.9 3.2.8 3.2.7 3.2.6 3.2.5 3.2.4 3.2.3 3.2.2 3.2.1 2.0.3 2.0.4 2.0.5 2.0.6 All 152 releases
← All changes | css/chat-transcripts.css +219 -2661 3.2.162.3.4 View file →
@@ -1,2805 +1,363 @@
1 -/* ==========================================================================
2 - MxChat Transcripts Page Styles - v2.0
3 - Uses admin-sidebar.css for core layout/navigation styles
4 - ========================================================================== */
5 1
6 -/* ==========================================================================
7 - Stats Grid
8 - ========================================================================== */
9 -.mxch-stats-grid {
10 - display: grid;
11 - grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
12 - gap: var(--mxch-spacing-lg);
13 - margin-bottom: var(--mxch-spacing-xl);
14 -}
15 2
16 -.mxch-stat-card {
17 - background: var(--mxch-card-bg);
18 - border: 1px solid var(--mxch-card-border);
19 - border-radius: var(--mxch-radius-lg);
20 - padding: var(--mxch-spacing-lg);
21 - display: flex;
22 - align-items: center;
23 - gap: var(--mxch-spacing-md);
24 - transition: all var(--mxch-transition);
3 +/* Core Styles */
4 +#wpcontent {
5 + padding-left: 0;
25 6 }
26 -
27 -.mxch-stat-card:hover {
28 - box-shadow: var(--mxch-card-shadow-hover);
29 - transform: translateY(-2px);
7 +.stat-sublabel {
8 + font-size: 0.8rem;
9 + color: #666;
10 + display: block;
11 + margin-top: 0.5rem;
30 12 }
31 -
32 -.mxch-stat-icon {
33 - width: 48px;
34 - height: 48px;
35 - border-radius: var(--mxch-radius-md);
36 - display: flex;
37 - align-items: center;
38 - justify-content: center;
39 - flex-shrink: 0;
13 +body.wp-admin .wrap.mxchat-transcripts-wrapper {
14 + max-width: 100%;
15 + margin: 0 auto;
16 + padding: 0;
40 17 }
41 18
42 -.mxch-stat-icon svg {
43 - width: 24px;
44 - height: 24px;
19 +/* Hero Section */
20 +body.wp-admin .wrap.mxchat-transcripts-wrapper .mxchat-transcripts-hero {
21 + text-align: center;
22 + padding: 3.5rem 2rem;
23 + position: relative;
24 + background: #212121;
25 + border-bottom: 4px solid transparent;
26 + border-image: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1);
27 + border-image-slice: 1;
45 28 }
46 29
47 -.mxch-stat-icon-primary {
48 - background: rgba(120, 115, 245, 0.1);
49 - color: var(--mxch-primary);
30 +body.wp-admin .wrap.mxchat-transcripts-wrapper .mxchat-transcripts-hero::before {
31 + content: '';
32 + position: absolute;
33 + top: 0;
34 + left: 0;
35 + width: 100%;
36 + height: 100%;
37 + background: radial-gradient(
38 + circle at center,
39 + rgba(250, 115, 230, 0.08) 0%,
40 + rgba(120, 115, 245, 0.08) 50%,
41 + rgba(58, 201, 209, 0.08) 100%
42 + );
43 + z-index: 1;
50 44 }
51 45
52 -.mxch-stat-icon-success {
53 - background: rgba(16, 185, 129, 0.1);
54 - color: var(--mxch-success);
55 -}
56 -
57 -.mxch-stat-icon-info {
58 - background: rgba(59, 130, 246, 0.1);
59 - color: var(--mxch-info);
60 -}
61 -
62 -.mxch-stat-icon-warning {
63 - background: rgba(245, 158, 11, 0.1);
64 - color: var(--mxch-warning);
65 -}
66 -
67 -.mxch-stat-content {
68 - display: flex;
69 - flex-direction: column;
70 -}
71 -
72 -.mxch-stat-value {
73 - font-size: 28px;
74 - font-weight: 700;
75 - color: var(--mxch-text-primary);
46 +body.wp-admin .wrap.mxchat-transcripts-wrapper .mxchat-main-title {
47 + font-size: 3.5rem;
48 + margin: 0 0 1.5rem;
76 49 line-height: 1.2;
50 + color: white;
51 + position: relative;
52 + z-index: 2;
77 53 }
78 54
79 -.mxch-stat-label {
80 - font-size: 13px;
81 - color: var(--mxch-text-secondary);
82 - margin-top: 2px;
83 -}
84 -
85 -.mxch-stat-sublabel {
86 - font-size: 11px;
87 - color: var(--mxch-text-muted);
88 - margin-top: 4px;
89 -}
90 -
91 -/* ==========================================================================
92 - Cards Row Layout
93 - ========================================================================== */
94 -.mxch-cards-row {
95 - display: grid;
96 - grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
97 - gap: var(--mxch-spacing-lg);
98 - margin-bottom: var(--mxch-spacing-xl);
99 -}
100 -
101 -.mxch-card-flex {
102 - display: flex;
103 - flex-direction: column;
104 -}
105 -
106 -/* ==========================================================================
107 - Activity Stats
108 - ========================================================================== */
109 -.mxch-activity-stats {
110 - display: flex;
111 - flex-direction: column;
112 - gap: var(--mxch-spacing-md);
113 -}
114 -
115 -.mxch-activity-item {
116 - display: flex;
117 - align-items: center;
118 - gap: var(--mxch-spacing-md);
119 - padding: var(--mxch-spacing-sm);
120 - background: #f8fafc;
121 - border-radius: var(--mxch-radius-md);
122 -}
123 -
124 -.mxch-activity-icon {
125 - width: 36px;
126 - height: 36px;
127 - border-radius: var(--mxch-radius-sm);
128 - display: flex;
129 - align-items: center;
130 - justify-content: center;
131 - flex-shrink: 0;
132 -}
133 -
134 -.mxch-activity-today {
135 - background: rgba(16, 185, 129, 0.1);
136 - color: var(--mxch-success);
137 -}
138 -
139 -.mxch-activity-week {
140 - background: rgba(59, 130, 246, 0.1);
141 - color: var(--mxch-info);
142 -}
143 -
144 -.mxch-activity-month {
145 - background: rgba(120, 115, 245, 0.1);
146 - color: var(--mxch-primary);
147 -}
148 -
149 -.mxch-activity-content {
150 - display: flex;
151 - flex-direction: column;
152 -}
153 -
154 -.mxch-activity-value {
155 - font-size: 20px;
55 +body.wp-admin .wrap.mxchat-transcripts-wrapper .mxchat-gradient-text {
56 + background: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1);
57 + -webkit-background-clip: text;
58 + -webkit-text-fill-color: transparent;
59 + display: inline-block;
156 60 font-weight: 700;
157 - color: var(--mxch-text-primary);
158 61 }
159 62
160 -.mxch-activity-label {
161 - font-size: 12px;
162 - color: var(--mxch-text-secondary);
63 +body.wp-admin .wrap.mxchat-transcripts-wrapper .mxchat-hero-subtitle {
64 + font-size: 1.25rem;
65 + color: rgba(255, 255, 255, 0.9);
66 + max-width: 800px;
67 + margin: 0 auto;
68 + position: relative;
69 + z-index: 2;
70 + line-height: 1.6;
163 71 }
164 72
165 -/* ==========================================================================
166 - Insights List
167 - ========================================================================== */
168 -.mxch-insights-list {
169 - display: flex;
170 - flex-direction: column;
171 - gap: var(--mxch-spacing-sm);
73 +/* Content Area */
74 +body.wp-admin .wrap.mxchat-transcripts-wrapper .mxchat-content {
75 + padding: 2rem;
76 + max-width: 1400px;
77 + margin: 0 auto;
172 78 }
173 79
174 -.mxch-insight-item {
175 - display: flex;
176 - justify-content: space-between;
177 - align-items: center;
178 - padding: var(--mxch-spacing-sm) 0;
179 - border-bottom: 1px solid var(--mxch-card-border);
80 +/* Responsive Design */
81 +@media (max-width: 768px) {
82 + body.wp-admin .wrap.mxchat-transcripts-wrapper {
83 + padding: 0;
84 + }
85 +
86 + body.wp-admin .wrap.mxchat-transcripts-wrapper .mxchat-main-title {
87 + font-size: 2.5rem;
88 + }
89 +
90 + body.wp-admin .wrap.mxchat-transcripts-wrapper .mxchat-transcripts-hero {
91 + padding: 2.5rem 1.5rem;
92 + }
93 +
94 + .auto-fold #wpcontent {
95 + margin-left: 0;
96 + padding-left: 0px;
97 + }
98 + .mxchat-action-button {
99 + width: 100%;
100 + }
180 101 }
181 102
182 -.mxch-insight-item:last-child {
183 - border-bottom: none;
184 -}
185 -
186 -.mxch-insight-label {
187 - font-size: 13px;
188 - color: var(--mxch-text-secondary);
189 -}
190 -
191 -.mxch-insight-value {
192 - font-size: 14px;
103 +.mxchat-action-button {
104 + background: linear-gradient(135deg, #fa73e6, #7873f5);
105 + color: white;
106 + border: none;
107 + padding: 8px 16px;
108 + border-radius: 8px;
109 + cursor: pointer;
193 110 font-weight: 600;
194 - color: var(--mxch-text-primary);
195 -}
196 -
197 -/* Status Badges */
198 -.mxch-status-badge {
199 - display: inline-flex;
200 - align-items: center;
201 - padding: 4px 10px;
202 - border-radius: 20px;
203 - font-size: 12px;
204 - font-weight: 600;
205 -}
206 -
207 -.mxch-status-active {
208 - background: rgba(16, 185, 129, 0.1);
209 - color: var(--mxch-success);
210 -}
211 -
212 -.mxch-status-moderate {
213 - background: rgba(245, 158, 11, 0.1);
214 - color: var(--mxch-warning);
215 -}
216 -
217 -.mxch-status-quiet {
218 - background: rgba(100, 116, 139, 0.1);
219 - color: var(--mxch-text-muted);
220 -}
221 -
222 -/* ==========================================================================
223 - Activity Chart
224 - ========================================================================== */
225 -.mxch-activity-chart-card .mxch-card-header {
226 111 display: flex;
227 112 align-items: center;
228 - justify-content: space-between;
229 - flex-wrap: wrap;
230 - gap: var(--mxch-spacing-sm);
113 + gap: 8px;
114 + transition: transform 0.2s ease, box-shadow 0.2s ease;
231 115 }
232 116
233 -.mxch-chart-legend {
234 - display: flex;
235 - align-items: center;
236 - gap: var(--mxch-spacing-lg);
117 +.mxchat-action-button:hover {
118 + transform: translateY(-1px);
119 + box-shadow: 0 4px 12px rgba(120, 115, 245, 0.2);
237 120 }
238 121
239 -.mxch-legend-item {
240 - display: flex;
241 - align-items: center;
242 - gap: 6px;
243 - font-size: 12px;
244 - font-weight: 500;
245 - color: var(--mxch-text-secondary);
122 +.mxchat-action-button.loading {
123 + opacity: 0.7;
124 + cursor: not-allowed;
246 125 }
247 126
248 -.mxch-legend-dot {
249 - width: 10px;
250 - height: 10px;
251 - border-radius: 50%;
127 +.mxchat-action-button .dashicons {
128 + font-size: 16px;
129 + width: 16px;
130 + height: 16px;
252 131 }
253 132
254 -.mxch-legend-chats .mxch-legend-dot {
255 - background: #667eea;
256 -}
257 133
258 -.mxch-legend-messages .mxch-legend-dot {
259 - background: #764ba2;
260 -}
261 134
262 -.mxch-chart-container {
263 - background: #f9fafb;
264 - border-radius: var(--mxch-radius-md);
265 - padding: var(--mxch-spacing-lg);
266 - border: 1px solid #e5e7eb;
267 -}
268 135
269 -#mxchat-activity-chart {
270 - max-height: 280px;
271 - width: 100% !important;
272 - height: 280px !important;
273 -}
274 -
275 -/* ==========================================================================
276 - Quick Actions
277 - ========================================================================== */
278 -.mxch-quick-actions {
279 - display: flex;
280 - flex-wrap: wrap;
281 - gap: var(--mxch-spacing-md);
282 -}
283 -
284 -.mxch-quick-action-btn {
285 - display: flex;
286 - align-items: center;
287 - gap: var(--mxch-spacing-sm);
288 - padding: var(--mxch-spacing-md) var(--mxch-spacing-lg);
289 - background: #f8fafc;
290 - border: 1px solid var(--mxch-card-border);
291 - border-radius: var(--mxch-radius-md);
292 - color: var(--mxch-text-primary);
293 - font-size: 14px;
294 - font-weight: 500;
295 - cursor: pointer;
296 - transition: all var(--mxch-transition-fast);
297 -}
298 -
299 -.mxch-quick-action-btn:hover {
300 - background: var(--mxch-primary);
301 - border-color: var(--mxch-primary);
302 - color: white;
303 -}
304 -
305 -.mxch-quick-action-btn svg {
306 - flex-shrink: 0;
307 -}
308 -
309 -/* ==========================================================================
310 - Transcripts Controls
311 - ========================================================================== */
312 -.mxch-transcripts-controls {
313 - display: flex;
314 - flex-wrap: wrap;
315 - gap: var(--mxch-spacing-md);
316 - align-items: center;
317 - justify-content: space-between;
318 -}
319 -
320 -.mxch-search-wrapper {
321 - display: flex;
322 - align-items: center;
323 - gap: var(--mxch-spacing-sm);
324 - flex: 1;
325 - max-width: 400px;
326 - position: relative;
327 -}
328 -
329 -.mxch-search-wrapper svg {
330 - position: absolute;
331 - left: 12px;
332 - color: var(--mxch-text-muted);
333 - pointer-events: none;
334 -}
335 -
336 -.mxch-search-wrapper .mxch-input {
337 - padding-left: 40px;
338 -}
339 -
340 -.mxch-controls-actions {
341 - display: flex;
342 - flex-wrap: wrap;
343 - gap: var(--mxch-spacing-sm);
344 -}
345 -
346 -/* Danger Button */
347 -.mxch-btn-danger {
348 - background: white;
349 - color: var(--mxch-error);
350 - border: 1px solid var(--mxch-error);
351 -}
352 -
353 -.mxch-btn-danger:hover:not(:disabled) {
354 - background: var(--mxch-error);
355 - color: white;
356 -}
357 -
358 -.mxch-btn-danger:disabled {
359 - opacity: 0.5;
360 - cursor: not-allowed;
361 -}
362 -
363 -/* ==========================================================================
364 - Split Panel Layout - Chat List + Conversation View
365 - ========================================================================== */
366 -
367 -/* Override parent content padding and scrolling for split panel view */
368 -.mxch-content:has(#all-chats.mxch-section.active) {
369 - padding: 0 !important;
370 - overflow: hidden !important; /* Prevent content area from scrolling */
136 +/* Chat Email Notification Modal styles */
137 +.mxchat-chat-notification-modal-overlay {
138 + position: fixed;
139 + z-index: 9999;
140 + left: 0;
141 + top: 0;
142 + width: 100%;
371 143 height: 100%;
372 -}
373 -
374 -#all-chats.mxch-section {
375 - padding: 0;
376 - margin: 0;
377 - height: 100%;
378 - overflow: hidden;
379 -}
380 -
381 -.mxch-split-panel {
144 + background-color: rgba(0, 0, 0, 0.5);
382 145 display: flex;
383 - height: 100%;
384 - background: #fff;
385 - border: none;
386 - border-radius: 0;
387 - overflow: hidden;
388 -}
389 -
390 -/* Hide the expand button - not needed */
391 -.mxch-panel-expand {
392 - display: none;
393 -}
394 -
395 -/* Left Panel - Chat List */
396 -.mxch-chat-list-panel {
397 - width: 340px;
398 - min-width: 280px;
399 - max-width: 400px;
400 - display: flex;
401 - flex-direction: column;
402 - border-right: 1px solid #e5e7eb;
403 - background: #fff;
404 - min-height: 0; /* Important: allows flex child to shrink below content size */
405 - overflow: hidden;
406 -}
407 -
408 -/* Bulk Actions Toolbar */
409 -.mxch-bulk-toolbar {
410 - display: flex;
411 146 align-items: center;
412 - gap: 8px;
413 - padding: 10px 12px;
414 - background: #f8fafc;
415 - border-bottom: 1px solid #e5e7eb;
147 + justify-content: center;
148 + animation: mxchatNotificationFadeIn 0.3s ease;
416 149 }
417 150
418 -.mxch-bulk-select-all {
419 - display: flex;
420 - align-items: center;
421 - gap: 6px;
422 - font-size: 12px;
423 - color: #6b7280;
424 - cursor: pointer;
151 +@keyframes mxchatNotificationFadeIn {
152 + from { opacity: 0; }
153 + to { opacity: 1; }
425 154 }
426 155
427 -.mxch-bulk-select-all input[type="checkbox"] {
428 - width: 16px;
429 - height: 16px;
430 - cursor: pointer;
431 - accent-color: #3b82f6;
156 +.mxchat-chat-notification-modal-content {
157 + background-color: #fff;
158 + border-radius: 12px;
159 + box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
160 + width: 90%;
161 + max-width: 500px;
162 + animation: mxchatNotificationSlideIn 0.3s ease;
432 163 }
433 164
434 -.mxch-bulk-actions {
435 - display: flex;
436 - align-items: center;
437 - gap: 4px;
438 - margin-left: auto;
165 +@keyframes mxchatNotificationSlideIn {
166 + from { transform: translateY(-20px); opacity: 0; }
167 + to { transform: translateY(0); opacity: 1; }
439 168 }
440 169
441 -.mxch-bulk-btn {
442 - display: flex;
443 - align-items: center;
444 - gap: 4px;
445 - padding: 6px 10px;
446 - font-size: 12px;
447 - font-weight: 500;
448 - background: #fff;
449 - border: 1px solid #e5e7eb;
450 - border-radius: 6px;
451 - color: #374151;
452 - cursor: pointer;
453 - transition: all 0.15s;
454 -}
455 -
456 -.mxch-bulk-btn:hover {
457 - background: #f3f4f6;
458 - border-color: #d1d5db;
459 -}
460 -
461 -.mxch-bulk-btn.mxch-bulk-delete {
462 - color: #dc2626;
463 - border-color: #fecaca;
464 -}
465 -
466 -.mxch-bulk-btn.mxch-bulk-delete:hover {
467 - background: #fef2f2;
468 - border-color: #fca5a5;
469 -}
470 -
471 -.mxch-bulk-btn:disabled {
472 - opacity: 0.5;
473 - cursor: not-allowed;
474 -}
475 -
476 -.mxch-selected-count {
477 - font-size: 11px;
478 - color: #3b82f6;
479 - font-weight: 600;
480 - padding: 2px 8px;
481 - background: #eff6ff;
482 - border-radius: 10px;
483 - display: none;
484 -}
485 -
486 -.mxch-selected-count.has-selection {
487 - display: inline-block;
488 -}
489 -
490 -.mxch-panel-header {
491 - padding: 0;
170 +.mxchat-chat-notification-modal-header {
171 + padding: 20px;
492 172 border-bottom: 1px solid #e5e7eb;
493 -}
494 -
495 -.mxch-panel-title-row {
496 173 display: flex;
174 + justify-content: space-between;
497 175 align-items: center;
498 - justify-content: space-between;
499 - padding: 10px 12px;
500 - border-bottom: 1px solid #f3f4f6;
501 176 }
502 177
503 -.mxch-panel-count {
504 - font-size: 12px;
178 +.mxchat-chat-notification-modal-header h2 {
179 + margin: 0;
180 + font-size: 20px;
505 181 font-weight: 600;
506 - color: #374151;
182 + color: #1f2937;
507 183 }
508 184
509 -.mxch-panel-actions {
510 - display: flex;
511 - gap: 4px;
512 -}
513 -
514 -.mxch-icon-btn {
515 - width: 32px;
516 - height: 32px;
185 +.mxchat-chat-notification-modal-close {
186 + background: none;
517 187 border: none;
518 - background: transparent;
188 + font-size: 24px;
189 + cursor: pointer;
519 190 color: #6b7280;
520 - border-radius: 6px;
521 - cursor: pointer;
191 + padding: 0;
192 + width: 30px;
193 + height: 30px;
522 194 display: flex;
523 195 align-items: center;
524 196 justify-content: center;
525 - transition: all 0.15s;
197 + border-radius: 50%;
198 + transition: all 0.2s ease;
526 199 }
527 200
528 -.mxch-icon-btn:hover {
529 - background: #f3f4f6;
530 - color: #374151;
201 +.mxchat-chat-notification-modal-close:hover {
202 + background-color: #f3f4f6;
203 + color: #1f2937;
531 204 }
532 205
533 -.mxch-icon-btn.spinning svg {
534 - animation: spin 0.5s linear;
206 +.mxchat-chat-notification-modal-body {
207 + padding: 20px;
535 208 }
536 209
537 -@keyframes spin {
538 - from { transform: rotate(0deg); }
539 - to { transform: rotate(360deg); }
210 +.mxchat-chat-notification-modal-body p {
211 + margin-top: 0;
212 + color: #4b5563;
213 + line-height: 1.6;
540 214 }
541 215
542 -.mxch-search-wrapper {
543 - position: relative;
544 - background: #fff;
545 -}
546 -
547 -.mxch-search-wrapper svg {
548 - position: absolute;
549 - left: 10px;
550 - top: 50%;
551 - transform: translateY(-50%);
552 - color: #9ca3af;
553 - pointer-events: none;
554 - width: 14px;
555 - height: 14px;
556 - z-index: 1;
557 -}
558 -
559 -.mxch-search-input {
560 - width: 100%;
561 - padding: 10px 12px 10px 32px;
562 - border: none;
563 - border-radius: 0;
564 - font-size: 13px;
565 - background: #fff;
566 - transition: all 0.15s;
567 - box-sizing: border-box;
568 -}
569 -
570 -.mxch-search-input:focus {
571 - outline: none;
572 - background: #fff;
573 - box-shadow: none;
574 -}
575 -
576 -.mxch-search-input::placeholder {
577 - color: #9ca3af;
578 -}
579 -
580 -/* Chat List */
581 -.mxch-chat-list {
582 - flex: 1;
583 - overflow-y: auto;
584 -}
585 -
586 -.mxch-chat-item {
216 +.mxchat-chat-notification-modal-footer {
217 + padding: 20px;
218 + border-top: 1px solid #e5e7eb;
587 219 display: flex;
588 - align-items: center;
220 + justify-content: flex-end;
589 221 gap: 10px;
590 - padding: 12px;
591 - cursor: pointer;
592 - border-bottom: 1px solid #f3f4f6;
593 - transition: background 0.15s;
594 - position: relative;
595 222 }
596 223
597 -.mxch-chat-item:hover {
598 - background: #f9fafb;
224 +#mxchat-chat-email-notification-btn:hover {
225 + transform: translateY(-2px);
226 + box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
599 227 }
600 228
601 -.mxch-chat-item.active {
602 - background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
603 - border-left: 3px solid #3b82f6;
604 - padding-left: 9px;
229 +#mxchat-chat-email-notification-btn .dashicons {
230 + font-size: 18px;
231 + width: 18px;
232 + height: 18px;
605 233 }
606 234
607 -.mxch-chat-item.selected {
608 - background: #eff6ff;
235 +/* Form styles within chat notification modal */
236 +.mxchat-chat-notification-modal-content .form-table {
237 + margin: 0;
609 238 }
610 239
611 -/* Checkbox for chat items */
612 -.mxch-chat-checkbox {
613 - width: 16px;
614 - height: 16px;
615 - flex-shrink: 0;
616 - cursor: pointer;
617 - accent-color: #3b82f6;
618 - opacity: 0;
619 - transition: opacity 0.15s;
620 -}
621 -
622 -.mxch-chat-item:hover .mxch-chat-checkbox,
623 -.mxch-chat-item.selected .mxch-chat-checkbox,
624 -.mxch-chat-list.selection-mode .mxch-chat-checkbox {
625 - opacity: 1;
626 -}
627 -
628 -/* Always show checkboxes on mobile/touch devices since hover doesn't work */
629 -@media screen and (max-width: 782px) {
630 - .mxch-chat-checkbox {
631 - opacity: 0.4; /* Subtle but visible */
632 - }
633 -
634 - .mxch-chat-item.selected .mxch-chat-checkbox,
635 - .mxch-chat-list.selection-mode .mxch-chat-checkbox {
636 - opacity: 1;
637 - }
638 -}
639 -
640 -/* Avatar hidden - cleaner look */
641 -.mxch-chat-avatar {
642 - display: none;
643 -}
644 -
645 -.mxch-chat-info {
646 - flex: 1;
647 - min-width: 0;
648 -}
649 -
650 -.mxch-chat-name {
651 - font-size: 14px;
240 +.mxchat-chat-notification-modal-content .form-table th {
241 + padding: 15px 10px 15px 0;
242 + width: 180px;
652 243 font-weight: 600;
653 - color: #111827;
654 - white-space: nowrap;
655 - overflow: hidden;
656 - text-overflow: ellipsis;
244 + color: #374151;
657 245 }
658 246
659 -.mxch-chat-preview {
660 - font-size: 12px;
661 - color: #6b7280;
662 - white-space: nowrap;
663 - overflow: hidden;
664 - text-overflow: ellipsis;
665 - margin-top: 2px;
247 +.mxchat-chat-notification-modal-content .form-table td {
248 + padding: 15px 10px;
666 249 }
667 250
668 -.mxch-chat-meta {
669 - display: flex;
670 - flex-direction: column;
671 - align-items: flex-end;
672 - gap: 4px;
673 - flex-shrink: 0;
674 -}
675 -
676 -.mxch-chat-time {
677 - font-size: 11px;
678 - color: #9ca3af;
679 -}
680 -
681 -.mxch-chat-count {
682 - font-size: 11px;
683 - font-weight: 600;
684 - color: #6b7280;
685 - background: #f3f4f6;
686 - padding: 2px 8px;
687 - border-radius: 10px;
688 -}
689 -
690 -/* Satisfaction rating badge on chat-list rows (plan-a5b006). */
691 -.mxch-chat-rating {
692 - display: inline-flex;
693 - align-items: center;
694 - justify-content: center;
695 - font-size: 11px;
696 - line-height: 1;
697 - min-width: 18px;
698 - height: 18px;
699 - border-radius: 999px;
700 - padding: 0 4px;
701 - cursor: default;
702 -}
703 -.mxch-chat-rating-up {
704 - background: #ecfdf5;
705 - color: #047857;
706 -}
707 -.mxch-chat-rating-down {
708 - background: #fef2f2;
709 - color: #b91c1c;
710 -}
711 -.mxch-chat-rating-empty {
712 - color: #cbd5e1;
713 - background: transparent;
714 -}
715 -.mxch-chat-rating svg {
716 - display: block;
717 -}
718 -
719 -/* Sort dropdown menu — appended to <body> from JS. */
720 -.mxch-sort-menu {
721 - display: none;
722 - background: #ffffff;
723 - border: 1px solid #e5e7eb;
724 - border-radius: 8px;
725 - box-shadow: 0 6px 20px rgba(15, 23, 42, 0.12);
726 - padding: 4px;
727 - min-width: 200px;
728 - z-index: 9999;
729 -}
730 -.mxch-sort-option {
731 - display: flex;
732 - align-items: center;
733 - gap: 8px;
251 +.mxchat-chat-notification-modal-content .regular-text {
734 252 width: 100%;
735 - padding: 8px 10px;
736 - background: transparent;
737 - border: none;
253 + max-width: 100%;
254 + border: 1px solid #d1d5db;
738 255 border-radius: 6px;
739 - text-align: left;
740 - font-size: 13px;
741 - color: #1a1a2e;
742 - cursor: pointer;
743 -}
744 -.mxch-sort-option:hover {
745 - background: #f3f4f6;
746 -}
747 -.mxch-sort-option.active {
748 - background: #eff6ff;
749 - color: #1d4ed8;
750 - font-weight: 600;
751 -}
752 -.mxch-sort-option-icon {
753 - display: inline-flex;
754 - align-items: center;
755 - justify-content: center;
756 - width: 16px;
757 - height: 16px;
758 -}
759 -.mxch-sort-option-icon.mxch-rating-thumb-up { color: #047857; }
760 -.mxch-sort-option-icon.mxch-rating-thumb-down { color: #b91c1c; }
761 -
762 -.mxch-list-loading,
763 -.mxch-list-empty {
764 - display: flex;
765 - align-items: center;
766 - justify-content: center;
767 - padding: 40px 20px;
768 - color: #9ca3af;
769 - font-size: 13px;
770 -}
771 -
772 -.mxch-panel-footer {
773 256 padding: 8px 12px;
774 - border-top: 1px solid #e5e7eb;
775 - background: #f9fafb;
776 -}
777 -
778 -.mxch-pagination-btns {
779 - display: flex;
780 - align-items: center;
781 - justify-content: center;
782 - gap: 8px;
783 -}
784 -
785 -.mxch-page-btn {
786 - width: 32px;
787 - height: 32px;
788 - border: 1px solid #e5e7eb;
789 - background: #fff;
790 - border-radius: 6px;
791 - cursor: pointer;
792 - display: flex;
793 - align-items: center;
794 - justify-content: center;
795 257 font-size: 14px;
796 - color: #374151;
797 - transition: all 0.15s;
798 258 }
799 259
800 -.mxch-page-btn:hover {
801 - background: #f3f4f6;
802 - border-color: #d1d5db;
803 -}
804 -
805 -.mxch-page-info {
806 - font-size: 12px;
260 +.mxchat-chat-notification-modal-content .description {
261 + margin-top: 8px;
807 262 color: #6b7280;
808 -}
809 -
810 -/* Expand Button */
811 -.mxch-panel-expand {
812 - width: 24px;
813 - background: #f9fafb;
814 - border: none;
815 - border-left: 1px solid #e5e7eb;
816 - border-right: 1px solid #e5e7eb;
817 - cursor: pointer;
818 - display: flex;
819 - align-items: center;
820 - justify-content: center;
821 - color: #9ca3af;
822 - transition: all 0.15s;
823 -}
824 -
825 -.mxch-panel-expand:hover {
826 - background: #f3f4f6;
827 - color: #374151;
828 -}
829 -
830 -/* Right Panel - Conversation View */
831 -.mxch-conversation-panel {
832 - flex: 1;
833 - display: flex;
834 - flex-direction: column;
835 - background: #f9fafb;
836 - min-height: 0; /* Important: allows flex child to shrink below content size */
837 - overflow: hidden;
838 -}
839 -
840 -/* Empty State */
841 -.mxch-conversation-empty {
842 - flex: 1;
843 - display: flex;
844 - flex-direction: column;
845 - align-items: center;
846 - justify-content: center;
847 - color: #9ca3af;
848 - text-align: center;
849 - padding: 40px;
850 -}
851 -
852 -.mxch-empty-icon {
853 - margin-bottom: 16px;
854 - opacity: 0.5;
855 -}
856 -
857 -.mxch-conversation-empty h3 {
858 - font-size: 16px;
859 - font-weight: 600;
860 - color: #6b7280;
861 - margin: 0 0 8px 0;
862 -}
863 -
864 -.mxch-conversation-empty p {
865 263 font-size: 13px;
866 - margin: 0;
867 264 }
868 265
869 -/* Conversation Content */
870 -.mxch-conversation-content {
871 - display: flex;
872 - flex-direction: column;
873 - height: 100%;
874 - min-height: 0; /* Important: allows flex child to shrink below content size */
875 - overflow: hidden;
266 +/* Checkbox styling in chat notification modal */
267 +.mxchat-chat-notification-modal-content input[type="checkbox"] {
268 + margin-right: 8px;
876 269 }
877 270
878 -.mxch-conversation-header {
879 - display: flex;
880 - align-items: center;
881 - gap: 12px;
882 - padding: 16px 20px;
883 - background: #fff;
884 - border-bottom: 1px solid #e5e7eb;
885 -}
886 -
887 -.mxch-user-avatar {
888 - width: 44px;
889 - height: 44px;
890 - border-radius: 50%;
891 - background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
892 - display: flex;
893 - align-items: center;
894 - justify-content: center;
895 - flex-shrink: 0;
896 -}
897 -
898 -.mxch-user-avatar span {
899 - color: #fff;
900 - font-size: 15px;
901 - font-weight: 600;
902 -}
903 -
904 -.mxch-user-info {
905 - flex: 1;
906 - min-width: 0; /* Allow flex item to shrink below content size */
907 - overflow: hidden;
908 -}
909 -
910 -.mxch-user-name {
911 - font-size: 15px;
912 - font-weight: 600;
913 - color: #111827;
914 - overflow: hidden;
915 - text-overflow: ellipsis;
916 - white-space: nowrap;
917 -}
918 -
919 -.mxch-user-meta {
920 - font-size: 12px;
921 - color: #6b7280;
922 - margin-top: 2px;
923 - overflow: hidden;
924 - text-overflow: ellipsis;
925 - white-space: nowrap;
926 -}
927 -
928 -.mxch-details-toggle {
929 - width: 36px;
930 - height: 36px;
931 - border: 1px solid #e5e7eb;
932 - background: #fff;
933 - border-radius: 8px;
934 - cursor: pointer;
935 - display: flex;
936 - align-items: center;
937 - justify-content: center;
938 - color: #6b7280;
939 - transition: all 0.15s;
940 -}
941 -
942 -.mxch-details-toggle:hover,
943 -.mxch-details-toggle.active {
944 - background: #f3f4f6;
271 +.mxchat-chat-notification-modal-content label {
945 272 color: #374151;
273 + font-size: 14px;
946 274 }
947 275
948 -/* Details Drawer */
949 -.mxch-details-drawer {
950 - background: #fff;
951 - border-bottom: 1px solid #e5e7eb;
952 - padding: 16px 20px;
953 -}
954 -
955 -.mxch-details-section {
956 - margin-bottom: 16px;
957 -}
958 -
959 -.mxch-details-section:last-child {
960 - margin-bottom: 0;
961 -}
962 -
963 -.mxch-details-section h4 {
964 - font-size: 11px;
965 - font-weight: 600;
966 - color: #9ca3af;
967 - text-transform: uppercase;
968 - letter-spacing: 0.5px;
969 - margin: 0 0 10px 0;
970 -}
971 -
972 -.mxch-detail-row {
973 - display: flex;
974 - justify-content: space-between;
975 - align-items: center;
976 - padding: 6px 0;
977 - font-size: 13px;
978 -}
979 -
980 -.mxch-detail-label {
981 - color: #6b7280;
982 -}
983 -
984 -.mxch-detail-value {
985 - color: #111827;
986 - font-weight: 500;
987 -}
988 -
989 -.mxch-detail-value a {
990 - color: #3b82f6;
991 - text-decoration: none;
992 -}
993 -
994 -.mxch-detail-value a:hover {
995 - text-decoration: underline;
996 -}
997 -
998 -.mxch-clicked-links {
999 - display: flex;
1000 - flex-direction: column;
1001 - gap: 6px;
1002 -}
1003 -
1004 -.mxch-clicked-link {
1005 - font-size: 12px;
1006 - color: #3b82f6;
1007 - text-decoration: none;
1008 - padding: 6px 10px;
1009 - background: #eff6ff;
276 +/* Button styling in chat notification modal */
277 +.mxchat-chat-notification-modal-content .button {
278 + padding: 8px 16px;
1010 279 border-radius: 6px;
1011 - white-space: nowrap;
1012 - overflow: hidden;
1013 - text-overflow: ellipsis;
1014 -}
1015 -
1016 -.mxch-clicked-link:hover {
1017 - background: #dbeafe;
1018 -}
1019 -
1020 -.mxch-details-actions {
1021 - display: flex;
1022 - gap: 8px;
1023 - margin-top: 16px;
1024 - padding-top: 16px;
1025 - border-top: 1px solid #f3f4f6;
1026 -}
1027 -
1028 -.mxch-btn-sm {
1029 - padding: 8px 12px;
1030 - font-size: 12px;
1031 -}
1032 -
1033 -/* Translate Controls */
1034 -.mxch-translate-section {
1035 - margin-top: 12px;
1036 - padding-top: 12px;
1037 - border-top: 1px solid #f3f4f6;
1038 -}
1039 -
1040 -.mxch-translate-controls {
1041 - display: flex;
1042 - align-items: center;
1043 - gap: 8px;
1044 -}
1045 -
1046 -.mxch-translate-select {
1047 - padding: 6px 10px;
1048 - font-size: 12px;
1049 - border: 1px solid #e5e7eb;
1050 - border-radius: 6px;
1051 - background: #fff;
1052 - color: #374151;
280 + font-size: 14px;
1053 281 cursor: pointer;
1054 - min-width: 100px;
282 + transition: all 0.2s ease;
1055 283 }
1056 284
1057 -.mxch-translate-select:focus {
1058 - outline: none;
1059 - border-color: #3b82f6;
1060 - box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.1);
1061 -}
1062 -
1063 -#mxch-translate-btn,
1064 -#mxch-show-original-btn {
1065 - display: inline-flex;
1066 - align-items: center;
1067 - gap: 6px;
1068 -}
1069 -
1070 -#mxch-translate-btn svg,
1071 -#mxch-show-original-btn svg {
1072 - width: 14px;
1073 - height: 14px;
1074 - flex-shrink: 0;
1075 -}
1076 -
1077 -#mxch-translate-btn:disabled {
1078 - opacity: 0.6;
1079 - cursor: not-allowed;
1080 -}
1081 -
1082 -.mxch-translate-spinner {
1083 - animation: spin 1s linear infinite;
1084 -}
1085 -
1086 -@keyframes mxch-translate-spin {
1087 - from { transform: rotate(0deg); }
1088 - to { transform: rotate(360deg); }
1089 -}
1090 -
1091 -/* Translated message indicator */
1092 -.mxch-message-bubble.translated {
1093 - position: relative;
1094 -}
1095 -
1096 -.mxch-message-bubble.translated::after {
1097 - content: '';
1098 - position: absolute;
1099 - top: 6px;
1100 - right: 6px;
1101 - width: 6px;
1102 - height: 6px;
1103 - background: #3b82f6;
1104 - border-radius: 50%;
1105 - opacity: 0.6;
1106 -}
1107 -
1108 -/* Messages Area */
1109 -.mxch-messages-area {
1110 - flex: 1;
1111 - overflow-y: auto;
1112 - padding: 20px;
1113 -}
1114 -
1115 -/* Mobile back button - hidden by default on desktop */
1116 -.mxch-mobile-back-btn {
1117 - display: none;
1118 -}
1119 -
1120 -.mxch-messages-loading,
1121 -.mxch-messages-error {
1122 - display: flex;
1123 - align-items: center;
1124 - justify-content: center;
1125 - padding: 40px;
1126 - color: #9ca3af;
1127 - font-size: 13px;
1128 -}
1129 -
1130 -/* Message Styles */
1131 -.mxch-message {
1132 - margin-bottom: 20px;
1133 -}
1134 -
1135 -.mxch-message:last-child {
1136 - margin-bottom: 0;
1137 -}
1138 -
1139 -/* User Message */
1140 -.mxch-message-user {
1141 - display: flex;
1142 - flex-direction: column;
1143 - align-items: flex-end;
1144 -}
1145 -
1146 -.mxch-message-user .mxch-message-row {
1147 - max-width: 70%;
1148 - min-width: 120px;
1149 -}
1150 -
1151 -.mxch-message-user .mxch-message-bubble {
1152 - background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
285 +.mxchat-chat-notification-modal-content .button-primary {
286 + background: linear-gradient(135deg, #3b82f6, #8b5cf6);
287 + border: none;
1153 288 color: #fff;
1154 - padding: 12px 16px;
1155 - border-radius: 18px 18px 4px 18px;
1156 - font-size: 14px;
1157 - line-height: 1.5;
1158 - min-width: 80px;
1159 289 }
1160 290
1161 -.mxch-message-user .mxch-message-bubble a {
1162 - color: #bfdbfe;
1163 - text-decoration: underline;
291 +.mxchat-chat-notification-modal-content .button-primary:hover {
292 + transform: translateY(-1px);
293 + box-shadow: 0 4px 12px rgba(59, 130, 246, 0.2);
1164 294 }
1165 295
1166 -.mxch-message-user .mxch-message-time {
1167 - font-size: 11px;
1168 - color: #9ca3af;
1169 - margin-top: 4px;
1170 -}
1171 -
1172 -/* Bot Message */
1173 -.mxch-message-bot {
1174 - display: flex;
1175 - flex-direction: column;
1176 - align-items: flex-start;
1177 -}
1178 -
1179 -.mxch-message-header {
1180 - display: flex;
1181 - align-items: center;
1182 - gap: 10px;
1183 - margin-bottom: 6px;
1184 -}
1185 -
1186 -.mxch-bot-label {
1187 - font-size: 11px;
1188 - font-weight: 600;
1189 - color: #059669;
1190 - text-transform: uppercase;
1191 - letter-spacing: 0.5px;
1192 -}
1193 -
1194 -.mxch-agent-label {
1195 - font-size: 11px;
1196 - font-weight: 600;
1197 - color: #7c3aed;
1198 - text-transform: uppercase;
1199 - letter-spacing: 0.5px;
1200 -}
1201 -
1202 -.mxch-message-agent .mxch-message-bubble {
1203 - border-color: #ddd6fe;
1204 -}
1205 -
1206 -.mxch-rag-link {
1207 - font-size: 11px;
1208 - color: #3b82f6;
1209 - text-decoration: none;
1210 - font-weight: 500;
1211 - padding: 2px 8px;
1212 - background: #eff6ff;
1213 - border-radius: 4px;
1214 - transition: all 0.15s;
1215 -}
1216 -
1217 -.mxch-rag-link:hover {
1218 - background: #dbeafe;
1219 -}
1220 -
1221 -.mxch-message-bot .mxch-message-row {
1222 - max-width: 80%;
1223 - min-width: 150px;
1224 -}
1225 -
1226 -.mxch-message-bot .mxch-message-bubble {
1227 - background: #fff;
296 +.mxchat-chat-notification-modal-content .mxchat-chat-notification-modal-cancel {
297 + background: #f3f4f6;
1228 298 border: 1px solid #e5e7eb;
1229 299 color: #374151;
1230 - padding: 12px 16px;
1231 - border-radius: 18px 18px 18px 4px;
1232 - font-size: 14px;
1233 - line-height: 1.5;
1234 - min-width: 100px;
1235 300 }
1236 301
1237 -.mxch-message-bot .mxch-message-bubble a {
1238 - color: #3b82f6;
302 +.mxchat-chat-notification-modal-content .mxchat-chat-notification-modal-cancel:hover {
303 + background: #e5e7eb;
1239 304 }
1240 305
1241 -.mxch-message-bot .mxch-message-time {
1242 - font-size: 11px;
1243 - color: #9ca3af;
1244 - margin-top: 4px;
1245 -}
1246 306
1247 -/* Message Content Styles */
1248 -.mxch-message-bubble p {
1249 - margin: 0 0 10px 0;
1250 -}
1251 307
1252 -.mxch-message-bubble p:last-child {
1253 - margin-bottom: 0;
1254 -}
1255 308
1256 -.mxch-message-bubble ul,
1257 -.mxch-message-bubble ol {
1258 - margin: 10px 0;
1259 - padding-left: 20px;
1260 -}
1261 -
1262 -.mxch-message-bubble li {
1263 - margin: 4px 0;
1264 -}
1265 -
1266 -.mxch-message-bubble code {
1267 - background: rgba(0, 0, 0, 0.08);
1268 - padding: 2px 6px;
1269 - border-radius: 4px;
1270 - font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
1271 - font-size: 0.9em;
1272 -}
1273 -
1274 -.mxch-message-user .mxch-message-bubble code {
1275 - background: rgba(255, 255, 255, 0.2);
1276 -}
1277 -
1278 -.mxch-message-bubble pre {
1279 - background: #1e293b;
1280 - color: #e2e8f0;
1281 - padding: 12px 14px;
1282 - border-radius: 8px;
1283 - overflow-x: auto;
1284 - margin: 10px 0;
1285 - font-size: 13px;
1286 -}
1287 -
1288 -.mxch-message-bubble pre code {
1289 - background: none;
1290 - padding: 0;
1291 - color: inherit;
1292 -}
1293 -
1294 -/* Scrollbar Styling */
1295 -.mxch-chat-list::-webkit-scrollbar,
1296 -.mxch-messages-area::-webkit-scrollbar {
1297 - width: 6px;
1298 -}
1299 -
1300 -.mxch-chat-list::-webkit-scrollbar-track,
1301 -.mxch-messages-area::-webkit-scrollbar-track {
1302 - background: transparent;
1303 -}
1304 -
1305 -.mxch-chat-list::-webkit-scrollbar-thumb,
1306 -.mxch-messages-area::-webkit-scrollbar-thumb {
1307 - background: #d1d5db;
1308 - border-radius: 3px;
1309 -}
1310 -
1311 -.mxch-chat-list::-webkit-scrollbar-thumb:hover,
1312 -.mxch-messages-area::-webkit-scrollbar-thumb:hover {
1313 - background: #9ca3af;
1314 -}
1315 -
1316 -/* Responsive Split Panel - Tablet */
1317 -@media screen and (max-width: 900px) and (min-width: 783px) {
1318 - #all-chats.mxch-section {
1319 - padding: 0;
1320 - }
1321 -
1322 - .mxch-split-panel {
1323 - flex-direction: column;
1324 - height: auto;
1325 - }
1326 -
1327 - .mxch-chat-list-panel {
1328 - width: 100%;
1329 - max-width: none;
1330 - height: 350px;
1331 - border-right: none;
1332 - border-bottom: 1px solid #e5e7eb;
1333 - }
1334 -
1335 - .mxch-panel-expand {
1336 - display: none;
1337 - }
1338 -
1339 - .mxch-conversation-panel {
1340 - min-height: 400px;
1341 - }
1342 -
1343 - .mxch-bulk-toolbar {
1344 - flex-wrap: wrap;
1345 - }
1346 -
1347 - .mxch-bulk-btn span {
1348 - display: none;
1349 - }
1350 -}
1351 -
1352 -/* ==========================================================================
1353 - Mobile Split Panel - Full Screen Panels
1354 - ========================================================================== */
1355 -@media screen and (max-width: 782px) {
1356 - #all-chats.mxch-section {
1357 - padding: 0;
1358 - /* Mobile viewport height with fallbacks for browser address bar */
1359 - /* 1. Fallback: standard vh (may be cut off by browser chrome) */
1360 - height: calc(100vh - 46px - 32px);
1361 - /* 2. Better: dvh (dynamic viewport height) for modern browsers */
1362 - height: calc(100dvh - 46px - 32px);
1363 - /* 3. Best: JS-calculated actual viewport via CSS custom property */
1364 - height: calc(var(--mxch-mobile-vh, 100vh) - 46px - 32px);
1365 - overflow: hidden;
1366 - }
1367 -
1368 - .mxch-split-panel {
1369 - height: 100%;
1370 - position: relative;
1371 - }
1372 -
1373 - /* Chat List - Full screen on mobile */
1374 - .mxch-chat-list-panel {
1375 - width: 100%;
1376 - max-width: none;
1377 - height: 100%;
1378 - border-right: none;
1379 - position: absolute;
1380 - top: 0;
1381 - left: 0;
1382 - right: 0;
1383 - bottom: 0;
1384 - z-index: 10;
1385 - transition: transform 0.3s ease;
1386 - }
1387 -
1388 - .mxch-chat-list-panel.panel-hidden {
1389 - transform: translateX(-100%);
1390 - }
1391 -
1392 - .mxch-chat-list {
1393 - flex: 1;
1394 - overflow-y: auto;
1395 - -webkit-overflow-scrolling: touch;
1396 - }
1397 -
1398 - /* Conversation Panel - Slide over from right */
1399 - .mxch-conversation-panel {
1400 - position: absolute;
1401 - top: 0;
1402 - left: 0;
1403 - right: 0;
1404 - bottom: 0;
1405 - z-index: 20;
1406 - transform: translateX(100%);
1407 - transition: transform 0.3s ease;
1408 - min-height: 0;
1409 - height: 100%;
1410 - display: flex;
1411 - flex-direction: column;
1412 - }
1413 -
1414 - .mxch-conversation-panel.panel-active {
1415 - transform: translateX(0);
1416 - }
1417 -
1418 - /* Mobile back button in conversation header */
1419 - .mxch-mobile-back-btn {
1420 - display: flex !important;
1421 - align-items: center;
1422 - justify-content: center;
1423 - width: 36px;
1424 - height: 36px;
1425 - background: #f3f4f6;
1426 - border: none;
1427 - border-radius: 8px;
1428 - color: #374151;
1429 - cursor: pointer;
1430 - margin-right: 8px;
1431 - flex-shrink: 0;
1432 - }
1433 -
1434 - .mxch-mobile-back-btn:hover {
1435 - background: #e5e7eb;
1436 - }
1437 -
1438 - /* Ensure conversation content scrolls properly */
1439 - .mxch-conversation-content {
1440 - flex: 1;
1441 - display: flex;
1442 - flex-direction: column;
1443 - min-height: 0;
1444 - overflow: hidden;
1445 - }
1446 -
1447 - /* Messages area scroll fix for mobile */
1448 - .mxch-messages-area {
1449 - flex: 1;
1450 - overflow-y: auto;
1451 - -webkit-overflow-scrolling: touch;
1452 - padding: 16px;
1453 - padding-bottom: 24px; /* Extra padding at bottom for visibility */
1454 - }
1455 -
1456 - /* Hide expand button on mobile */
1457 - .mxch-panel-expand {
1458 - display: none;
1459 - }
1460 -
1461 - /* Adjust bulk toolbar for mobile */
1462 - .mxch-bulk-toolbar {
1463 - flex-wrap: wrap;
1464 - gap: 6px;
1465 - padding: 8px 10px;
1466 - }
1467 -
1468 - .mxch-bulk-btn span {
1469 - display: none;
1470 - }
1471 -
1472 - /* Make chat items more tappable */
1473 - .mxch-chat-item {
1474 - padding: 14px 12px;
1475 - }
1476 -
1477 - /* Adjust conversation header for mobile */
1478 - .mxch-conversation-header {
1479 - padding: 12px 16px;
1480 - flex-shrink: 0;
1481 - }
1482 -
1483 - /* Details drawer adjustments */
1484 - .mxch-details-drawer {
1485 - max-height: 200px;
1486 - overflow-y: auto;
1487 - flex-shrink: 0;
1488 - }
1489 -
1490 - /* Conversation empty state on mobile */
1491 - .mxch-conversation-empty {
1492 - display: none;
1493 - }
1494 -}
1495 -
1496 -/* ==========================================================================
1497 - Pagination
1498 - ========================================================================== */
1499 -.mxch-pagination {
309 +/* Pagination Styles */
310 +.mxchat-pagination {
311 + margin-top: 20px;
1500 312 display: flex;
1501 313 flex-wrap: wrap;
1502 314 justify-content: space-between;
1503 315 align-items: center;
1504 - margin-top: var(--mxch-spacing-lg);
1505 - padding: var(--mxch-spacing-md);
1506 - background: var(--mxch-card-bg);
1507 - border: 1px solid var(--mxch-card-border);
1508 - border-radius: var(--mxch-radius-md);
1509 316 }
1510 317
1511 -.mxch-pagination-info {
1512 - font-size: 13px;
1513 - color: var(--mxch-text-secondary);
318 +.mxchat-pagination-info {
319 + margin-bottom: 10px;
320 + color: #666;
1514 321 }
1515 322
1516 -.mxch-pagination-controls {
323 +.mxchat-pagination-controls {
1517 324 display: flex;
1518 325 flex-wrap: wrap;
1519 - gap: 4px;
326 + gap: 5px;
1520 327 }
1521 328
1522 -.mxch-pagination-btn {
329 +.mxchat-pagination-button {
1523 330 padding: 6px 12px;
1524 - background: #f8fafc;
1525 - border: 1px solid var(--mxch-card-border);
1526 - border-radius: var(--mxch-radius-sm);
1527 - color: var(--mxch-text-primary);
1528 - font-size: 13px;
331 + background: #f7f7f7;
332 + border: 1px solid #ddd;
333 + border-radius: 3px;
1529 334 cursor: pointer;
1530 - transition: all var(--mxch-transition-fast);
335 + transition: all 0.2s ease;
1531 336 }
1532 337
1533 -.mxch-pagination-btn:hover {
1534 - background: #e2e8f0;
338 +.mxchat-pagination-button:hover {
339 + background: #e9e9e9;
1535 340 }
1536 341
1537 -.mxch-pagination-btn.active {
1538 - background: var(--mxch-primary);
1539 - border-color: var(--mxch-primary);
342 +.mxchat-pagination-button.active {
343 + background: #2271b1;
344 + border-color: #2271b1;
1540 345 color: white;
346 + font-weight: bold;
1541 347 }
1542 348
1543 -.mxch-pagination-ellipsis {
349 +.mxchat-pagination-ellipsis {
1544 350 padding: 6px 8px;
1545 - color: var(--mxch-text-muted);
351 + color: #666;
1546 352 }
1547 353
1548 -/* ==========================================================================
1549 - No Results
1550 - ========================================================================== */
1551 -.mxch-no-results {
1552 - text-align: center;
1553 - padding: var(--mxch-spacing-xl) var(--mxch-spacing-lg);
1554 - color: var(--mxch-text-muted);
1555 - background: #f9fafb;
1556 - border: 2px dashed var(--mxch-card-border);
1557 - border-radius: var(--mxch-radius-lg);
1558 -}
1559 -
1560 -.mxch-no-results svg {
1561 - width: 48px;
1562 - height: 48px;
1563 - margin-bottom: var(--mxch-spacing-md);
1564 - opacity: 0.5;
1565 -}
1566 -
1567 -.mxch-no-results h3 {
1568 - font-size: 16px;
1569 - font-weight: 600;
1570 - color: var(--mxch-text-secondary);
1571 - margin: 0 0 var(--mxch-spacing-xs) 0;
1572 -}
1573 -
1574 -.mxch-no-results p {
1575 - font-size: 14px;
1576 - margin: 0;
1577 -}
1578 -
1579 -/* ==========================================================================
1580 - Toggle Row
1581 - ========================================================================== */
1582 -.mxch-toggle-row {
1583 - display: flex;
1584 - align-items: center;
1585 - gap: var(--mxch-spacing-sm);
1586 -}
1587 -
1588 -.mxch-toggle-label {
1589 - font-size: 14px;
1590 - font-weight: 500;
1591 - color: var(--mxch-text-primary);
1592 -}
1593 -
1594 -/* ==========================================================================
1595 - Modal Styles
1596 - ========================================================================== */
1597 -.mxch-modal-overlay {
1598 - position: fixed;
1599 - top: 0;
1600 - left: 0;
1601 - right: 0;
1602 - bottom: 0;
1603 - background: rgba(0, 0, 0, 0.5);
1604 - display: flex;
1605 - align-items: center;
1606 - justify-content: center;
1607 - z-index: 100000;
1608 - animation: mxchFadeIn 0.2s ease;
1609 -}
1610 -
1611 -.mxch-modal-content {
1612 - background: white;
1613 - border-radius: var(--mxch-radius-lg);
1614 - box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
1615 - width: 90%;
1616 - max-width: 600px;
1617 - max-height: 80vh;
1618 - display: flex;
1619 - flex-direction: column;
1620 - animation: mxchSlideIn 0.2s ease;
1621 -}
1622 -
1623 -@keyframes mxchSlideIn {
1624 - from {
1625 - transform: translateY(-20px);
1626 - opacity: 0;
1627 - }
1628 - to {
1629 - transform: translateY(0);
1630 - opacity: 1;
1631 - }
1632 -}
1633 -
1634 -.mxch-modal-header {
1635 - display: flex;
1636 - align-items: center;
1637 - justify-content: space-between;
1638 - padding: var(--mxch-spacing-md) var(--mxch-spacing-lg);
1639 - border-bottom: 1px solid var(--mxch-card-border);
1640 -}
1641 -
1642 -.mxch-modal-header h2 {
1643 - font-size: 18px;
1644 - font-weight: 600;
1645 - color: var(--mxch-text-primary);
1646 - margin: 0;
1647 -}
1648 -
1649 -.mxch-modal-close {
1650 - width: 32px;
1651 - height: 32px;
1652 - display: flex;
1653 - align-items: center;
1654 - justify-content: center;
1655 - background: none;
1656 - border: none;
1657 - font-size: 24px;
1658 - color: var(--mxch-text-muted);
1659 - cursor: pointer;
1660 - border-radius: var(--mxch-radius-sm);
1661 - transition: all var(--mxch-transition-fast);
1662 -}
1663 -
1664 -.mxch-modal-close:hover {
1665 - background: #f1f5f9;
1666 - color: var(--mxch-text-primary);
1667 -}
1668 -
1669 -.mxch-modal-body {
1670 - flex: 1;
1671 - padding: var(--mxch-spacing-lg);
1672 - overflow-y: auto;
1673 -}
1674 -
1675 -/* RAG Context Styles */
1676 -.mxch-rag-summary {
1677 - display: flex;
1678 - flex-wrap: wrap;
1679 - gap: var(--mxch-spacing-md);
1680 - padding: var(--mxch-spacing-md);
1681 - background: #f8fafc;
1682 - border-radius: var(--mxch-radius-md);
1683 - margin-bottom: var(--mxch-spacing-lg);
1684 -}
1685 -
1686 -.mxch-rag-summary-item {
1687 - font-size: 13px;
1688 -}
1689 -
1690 -.mxch-rag-label {
1691 - color: var(--mxch-text-secondary);
1692 -}
1693 -
1694 -.mxch-rag-value {
1695 - font-weight: 600;
1696 - color: var(--mxch-text-primary);
1697 -}
1698 -
1699 -.mxch-rag-matches h3 {
1700 - font-size: 14px;
1701 - font-weight: 600;
1702 - color: var(--mxch-text-primary);
1703 - margin: 0 0 var(--mxch-spacing-md) 0;
1704 -}
1705 -
1706 -.mxch-rag-match-card {
1707 - border: 1px solid var(--mxch-card-border);
1708 - border-radius: var(--mxch-radius-md);
1709 - padding: var(--mxch-spacing-md);
1710 - margin-bottom: var(--mxch-spacing-sm);
1711 -}
1712 -
1713 -.mxch-rag-match-used {
1714 - border-color: rgba(16, 185, 129, 0.3);
1715 - background: rgba(16, 185, 129, 0.05);
1716 -}
1717 -
1718 -.mxch-rag-match-below {
1719 - border-color: var(--mxch-card-border);
1720 - background: #fafafa;
1721 -}
1722 -
1723 -.mxch-rag-match-header {
1724 - display: flex;
1725 - align-items: center;
1726 - gap: var(--mxch-spacing-sm);
1727 - margin-bottom: var(--mxch-spacing-sm);
1728 -}
1729 -
1730 -.mxch-rag-match-score {
1731 - font-size: 14px;
1732 - font-weight: 700;
1733 - color: var(--mxch-primary);
1734 -}
1735 -
1736 -.mxch-rag-chunk-badge {
1737 - font-size: 11px;
1738 - padding: 2px 8px;
1739 - background: rgba(120, 115, 245, 0.1);
1740 - color: var(--mxch-primary);
1741 - border-radius: 10px;
1742 -}
1743 -
1744 -/* Hybrid retrieval matched-via chips (38ffa1): Vector / Keyword / Both */
1745 -.mxch-rag-via-chip {
1746 - font-size: 11px;
1747 - font-weight: 500;
1748 - padding: 2px 8px;
1749 - border-radius: 10px;
1750 - white-space: nowrap;
1751 -}
1752 -
1753 -.mxch-rag-via-vector {
1754 - background: rgba(120, 115, 245, 0.1);
1755 - color: var(--mxch-primary);
1756 -}
1757 -
1758 -.mxch-rag-via-keyword {
1759 - background: rgba(16, 185, 129, 0.12);
1760 - color: #059669;
1761 -}
1762 -
1763 -.mxch-rag-via-both {
1764 - background: rgba(245, 158, 11, 0.12);
1765 - color: #b45309;
1766 -}
1767 -
1768 -.mxch-rag-match-status {
1769 - margin-left: auto;
1770 - font-size: 12px;
1771 - font-weight: 500;
1772 -}
1773 -
1774 -.mxch-rag-match-status.status-used {
1775 - color: var(--mxch-success);
1776 -}
1777 -
1778 -.mxch-rag-match-status.status-below {
1779 - color: var(--mxch-text-muted);
1780 -}
1781 -
1782 -.mxch-rag-match-source {
1783 - font-size: 13px;
1784 - color: var(--mxch-text-secondary);
1785 - word-break: break-all;
1786 -}
1787 -
1788 -.mxch-rag-match-source a {
1789 - color: var(--mxch-primary);
1790 - text-decoration: none;
1791 -}
1792 -
1793 -.mxch-rag-match-source a:hover {
1794 - text-decoration: underline;
1795 -}
1796 -
1797 -/* Context Modal Tabs */
1798 -.mxch-context-tabs {
1799 - display: flex;
1800 - gap: 4px;
1801 - padding: 4px;
1802 - background: #f1f5f9;
1803 - border-radius: var(--mxch-radius-md);
1804 - margin-bottom: var(--mxch-spacing-md);
1805 -}
1806 -
1807 -.mxch-context-tab {
1808 - flex: 1;
1809 - display: flex;
1810 - align-items: center;
1811 - justify-content: center;
1812 - gap: 8px;
1813 - padding: 10px 16px;
1814 - border: none;
1815 - background: transparent;
1816 - border-radius: var(--mxch-radius-sm);
1817 - font-size: 13px;
1818 - font-weight: 500;
1819 - color: var(--mxch-text-secondary);
1820 - cursor: pointer;
1821 - transition: all var(--mxch-transition-fast);
1822 -}
1823 -
1824 -.mxch-context-tab:hover {
1825 - color: var(--mxch-text-primary);
1826 - background: rgba(255, 255, 255, 0.5);
1827 -}
1828 -
1829 -.mxch-context-tab.active {
1830 - background: white;
1831 - color: var(--mxch-primary);
1832 - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
1833 -}
1834 -
1835 -.mxch-context-tab svg {
1836 - width: 16px;
1837 - height: 16px;
1838 - flex-shrink: 0;
1839 -}
1840 -
1841 -.mxch-tab-badge {
1842 - display: inline-flex;
1843 - align-items: center;
1844 - justify-content: center;
1845 - min-width: 20px;
1846 - height: 20px;
1847 - padding: 0 6px;
1848 - background: rgba(120, 115, 245, 0.1);
1849 - color: var(--mxch-primary);
1850 - font-size: 11px;
1851 - font-weight: 600;
1852 - border-radius: 10px;
1853 -}
1854 -
1855 -.mxch-context-tab.active .mxch-tab-badge {
1856 - background: var(--mxch-primary);
1857 - color: white;
1858 -}
1859 -
1860 -.mxch-tab-content {
1861 - min-height: 200px;
1862 -}
1863 -
1864 -/* Action Specific Styles */
1865 -.mxch-action-triggered {
1866 - border-color: rgba(245, 158, 11, 0.4);
1867 - background: rgba(245, 158, 11, 0.08);
1868 -}
1869 -
1870 -.mxch-action-threshold-badge {
1871 - font-size: 11px;
1872 - padding: 2px 8px;
1873 - background: rgba(100, 116, 139, 0.1);
1874 - color: var(--mxch-text-secondary);
1875 - border-radius: 10px;
1876 -}
1877 -
1878 -.mxch-rag-match-status.status-triggered {
1879 - color: #f59e0b;
1880 - font-weight: 600;
1881 -}
1882 -
1883 -.mxch-action-details {
1884 - margin-top: var(--mxch-spacing-sm);
1885 -}
1886 -
1887 -.mxch-action-label {
1888 - font-size: 14px;
1889 - font-weight: 600;
1890 - color: var(--mxch-text-primary);
1891 - margin-bottom: 4px;
1892 -}
1893 -
1894 -.mxch-action-callback {
1895 - font-size: 12px;
1896 - color: var(--mxch-text-muted);
1897 - font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;
1898 -}
1899 -
1900 -.mxch-action-callback-label {
1901 - color: var(--mxch-text-secondary);
1902 - font-family: inherit;
1903 -}
1904 -
1905 -/* Action Score Bar Visualization */
1906 -.mxch-action-score-bar {
1907 - position: relative;
1908 - height: 6px;
1909 - background: #e2e8f0;
1910 - border-radius: 3px;
1911 - margin-top: var(--mxch-spacing-sm);
1912 - overflow: visible;
1913 -}
1914 -
1915 -.mxch-action-score-fill {
1916 - position: absolute;
1917 - left: 0;
1918 - top: 0;
1919 - height: 100%;
1920 - background: linear-gradient(90deg, #7873f5, #a5a1fa);
1921 - border-radius: 3px;
1922 - transition: width 0.3s ease;
1923 -}
1924 -
1925 -.mxch-action-triggered .mxch-action-score-fill {
1926 - background: linear-gradient(90deg, #f59e0b, #fbbf24);
1927 -}
1928 -
1929 -.mxch-action-threshold-marker {
1930 - position: absolute;
1931 - top: -4px;
1932 - width: 2px;
1933 - height: 14px;
1934 - background: #ef4444;
1935 - border-radius: 1px;
1936 - transform: translateX(-50%);
1937 -}
1938 -
1939 -.mxch-action-threshold-marker::after {
1940 - content: '';
1941 - position: absolute;
1942 - top: -3px;
1943 - left: 50%;
1944 - transform: translateX(-50%);
1945 - width: 0;
1946 - height: 0;
1947 - border-left: 4px solid transparent;
1948 - border-right: 4px solid transparent;
1949 - border-top: 4px solid #ef4444;
1950 -}
1951 -
1952 -/* No Results State */
1953 -.mxch-no-results {
1954 - text-align: center;
1955 - padding: var(--mxch-spacing-xl);
1956 - color: var(--mxch-text-secondary);
1957 -}
1958 -
1959 -.mxch-no-results p {
1960 - margin: 0;
1961 -}
1962 -
1963 -/* ==========================================================================
1964 - Responsive Adjustments
1965 - ========================================================================== */
1966 -@media screen and (max-width: 768px) {
1967 - .mxch-stats-grid {
1968 - grid-template-columns: repeat(2, 1fr);
1969 - }
1970 -
1971 - .mxch-stat-card {
1972 - padding: var(--mxch-spacing-md);
1973 - }
1974 -
1975 - .mxch-stat-value {
1976 - font-size: 22px;
1977 - }
1978 -
1979 - .mxch-cards-row {
1980 - grid-template-columns: 1fr;
1981 - }
1982 -
1983 - .mxch-transcripts-controls {
354 +@media (max-width: 782px) {
355 + .mxchat-pagination {
1984 356 flex-direction: column;
1985 - align-items: stretch;
1986 - }
1987 -
1988 - .mxch-search-wrapper {
1989 - max-width: none;
1990 - }
1991 -
1992 - .mxch-controls-actions {
1993 - justify-content: flex-end;
1994 - }
1995 -
1996 - .mxch-session-header {
1997 - flex-direction: column;
1998 - gap: var(--mxch-spacing-sm);
1999 - }
2000 -
2001 - .mxch-session-actions {
2002 - opacity: 1;
2003 - align-self: flex-end;
2004 - }
2005 -
2006 - .mxch-pagination {
2007 - flex-direction: column;
2008 - gap: var(--mxch-spacing-md);
2009 357 align-items: flex-start;
2010 358 }
2011 -
2012 - .mxch-quick-actions {
2013 - flex-direction: column;
359 +
360 + .mxchat-pagination-controls {
361 + margin-top: 10px;
2014 362 }
2015 -
2016 - .mxch-quick-action-btn {
2017 - width: 100%;
2018 - justify-content: center;
2019 - }
2020 -
2021 - /* Chart responsive */
2022 - .mxch-activity-chart-card .mxch-card-header {
2023 - flex-direction: column;
2024 - align-items: flex-start;
2025 - }
2026 -
2027 - .mxch-chart-legend {
2028 - margin-top: var(--mxch-spacing-xs);
2029 - }
2030 -
2031 - #mxchat-activity-chart {
2032 - height: 220px !important;
2033 - }
2034 -}
2035 -
2036 -@media screen and (max-width: 480px) {
2037 - .mxch-stats-grid {
2038 - grid-template-columns: 1fr;
2039 - }
2040 -
2041 - .mxch-controls-actions {
2042 - flex-direction: column;
2043 - width: 100%;
2044 - }
2045 -
2046 - .mxch-controls-actions .mxch-btn {
2047 - width: 100%;
2048 - justify-content: center;
2049 - }
2050 -
2051 - .mxch-controls-actions form {
2052 - width: 100%;
2053 - }
2054 -}
2055 -
2056 -/* Product Card in Transcripts */
2057 -.mxch-message-bubble .mxchat-product-card {
2058 - display: flex;
2059 - flex-direction: column;
2060 - align-items: center;
2061 - margin: 8px 0;
2062 - padding: 12px;
2063 - border-radius: 8px;
2064 - background: #f9f9f9;
2065 - border: 1px solid #e5e5e5;
2066 - max-width: 280px;
2067 -}
2068 -
2069 -.mxch-message-bubble .mxchat-product-card a.mxchat-product-link {
2070 - text-decoration: none;
2071 - color: inherit;
2072 - display: flex;
2073 - flex-direction: column;
2074 - align-items: center;
2075 -}
2076 -
2077 -.mxch-message-bubble .mxchat-product-card img.mxchat-product-image {
2078 - max-width: 100%;
2079 - height: auto;
2080 - max-height: 180px;
2081 - object-fit: contain;
2082 - margin-bottom: 8px;
2083 - border-radius: 6px;
2084 -}
2085 -
2086 -.mxch-message-bubble .mxchat-product-card h3.mxchat-product-name {
2087 - font-size: 14px;
2088 - font-weight: 600;
2089 - margin: 4px 0;
2090 - text-align: center;
2091 - color: #1a1a1a;
2092 -}
2093 -
2094 -.mxch-message-bubble .mxchat-product-card .mxchat-product-price {
2095 - color: #2e7d32;
2096 - font-weight: 600;
2097 - font-size: 15px;
2098 - margin: 4px 0 8px;
2099 -}
2100 -
2101 -.mxch-message-bubble .mxchat-product-card .mxchat-add-to-cart-button {
2102 - background-color: #212121;
2103 - color: #fff;
2104 - padding: 7px 16px;
2105 - border: none;
2106 - border-radius: 6px;
2107 - font-size: 13px;
2108 - cursor: default;
2109 - opacity: 0.6;
2110 -}
2111 -
2112 -.mxch-message-bubble .mxchat-product-card select {
2113 - width: 100%;
2114 - padding: 6px 8px;
2115 - margin: 4px 0;
2116 - border: 1px solid #ddd;
2117 - border-radius: 4px;
2118 - font-size: 13px;
2119 -}
2120 -
2121 -/* Featured Products in Transcripts */
2122 -.mxch-message-bubble .mxchat-featured-products {
2123 - margin: 8px 0;
2124 - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
2125 - line-height: 1.4;
2126 - display: flex;
2127 - flex-direction: column;
2128 - gap: 0;
2129 - padding: 0;
2130 -}
2131 -
2132 -.mxch-message-bubble .mxchat-featured-item {
2133 - padding: 10px 0;
2134 - border-bottom: 1px solid #e5e5e5;
2135 - margin: 0;
2136 -}
2137 -
2138 -.mxch-message-bubble .mxchat-featured-item:last-child {
2139 - border-bottom: none;
2140 - padding-bottom: 0;
2141 -}
2142 -
2143 -.mxch-message-bubble .mxchat-featured-item:first-child {
2144 - padding-top: 0;
2145 -}
2146 -
2147 -.mxch-message-bubble .mxchat-featured-item-top {
2148 - display: flex;
2149 - flex-direction: row;
2150 - align-items: center;
2151 - gap: 12px;
2152 - margin-bottom: 8px;
2153 -}
2154 -
2155 -.mxch-message-bubble .mxchat-featured-item-image {
2156 - flex-shrink: 0;
2157 - width: 70px;
2158 - height: 70px;
2159 - overflow: hidden;
2160 - border-radius: 8px;
2161 - background: #f1f1f1;
2162 -}
2163 -
2164 -.mxch-message-bubble .mxchat-featured-item-image a {
2165 - display: block;
2166 - width: 70px;
2167 - height: 70px;
2168 - text-decoration: none;
2169 -}
2170 -
2171 -.mxch-message-bubble .mxchat-featured-item-image img {
2172 - width: 70px;
2173 - height: 70px;
2174 - object-fit: cover;
2175 - border-radius: 8px;
2176 - display: block;
2177 -}
2178 -
2179 -.mxch-message-bubble .mxchat-featured-item-info {
2180 - flex: 1;
2181 - min-width: 0;
2182 - display: flex;
2183 - flex-direction: column;
2184 - gap: 2px;
2185 - justify-content: center;
2186 -}
2187 -
2188 -.mxch-message-bubble .mxchat-featured-item-title,
2189 -.mxch-message-bubble a.mxchat-featured-item-title {
2190 - font-size: 13px;
2191 - font-weight: 600;
2192 - color: #1a1a1a;
2193 - text-decoration: none;
2194 - line-height: 1.3;
2195 - display: -webkit-box;
2196 - -webkit-line-clamp: 2;
2197 - -webkit-box-orient: vertical;
2198 - overflow: hidden;
2199 - margin: 0;
2200 - padding: 0;
2201 -}
2202 -
2203 -.mxch-message-bubble a.mxchat-featured-item-title:hover {
2204 - opacity: 0.8;
2205 -}
2206 -
2207 -.mxch-message-bubble .mxchat-featured-item-price {
2208 - font-weight: 700;
2209 - font-size: 13px;
2210 - color: #2e7d32;
2211 - margin: 0;
2212 -}
2213 -
2214 -.mxch-message-bubble .mxchat-featured-item-price del {
2215 - opacity: 0.6;
2216 - font-weight: 400;
2217 - font-size: 0.85em;
2218 - margin-right: 4px;
2219 -}
2220 -
2221 -.mxch-message-bubble .mxchat-featured-item-price ins {
2222 - text-decoration: none;
2223 - background: none;
2224 -}
2225 -
2226 -.mxch-message-bubble .mxchat-featured-item-actions {
2227 - display: flex;
2228 - flex-direction: row;
2229 - gap: 8px;
2230 - margin: 0;
2231 - padding: 0;
2232 -}
2233 -
2234 -.mxch-message-bubble .mxchat-featured-btn-details,
2235 -.mxch-message-bubble a.mxchat-featured-btn-details {
2236 - display: flex;
2237 - align-items: center;
2238 - justify-content: center;
2239 - flex: 1;
2240 - padding: 7px 10px;
2241 - font-size: 12px;
2242 - font-weight: 500;
2243 - border-radius: 6px;
2244 - text-decoration: none;
2245 - border: 1px solid #ddd;
2246 - background: transparent;
2247 - color: #1a1a1a;
2248 - text-align: center;
2249 - line-height: 1.2;
2250 -}
2251 -
2252 -.mxch-message-bubble .mxchat-featured-btn-cart,
2253 -.mxch-message-bubble button.mxchat-featured-btn-cart {
2254 - display: flex;
2255 - align-items: center;
2256 - justify-content: center;
2257 - flex: 1;
2258 - padding: 7px 10px;
2259 - font-size: 12px;
2260 - font-weight: 500;
2261 - border-radius: 6px;
2262 - border: none;
2263 - background: #212121;
2264 - color: #fff;
2265 - cursor: default;
2266 - opacity: 0.6;
2267 - line-height: 1.2;
2268 -}
2269 -
2270 -/* ==========================================================================
2271 - Leads Tab
2272 - ========================================================================== */
2273 -
2274 -.mxch-leads-stats {
2275 - display: grid;
2276 - grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
2277 - gap: var(--mxch-spacing-lg);
2278 - margin-bottom: var(--mxch-spacing-xl);
2279 -}
2280 -
2281 -.mxch-leads-toppages {
2282 - margin-bottom: var(--mxch-spacing-xl);
2283 -}
2284 -
2285 -.mxch-leads-toppages-hint {
2286 - margin-left: auto;
2287 - font-size: 12px;
2288 - color: var(--mxch-text-muted);
2289 - font-weight: 400;
2290 -}
2291 -
2292 -.mxch-leads-toppages-list {
2293 - display: grid;
2294 - grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
2295 - gap: var(--mxch-spacing-sm);
2296 -}
2297 -
2298 -.mxch-leads-toppage-row {
2299 - display: flex;
2300 - align-items: center;
2301 - justify-content: space-between;
2302 - gap: var(--mxch-spacing-sm);
2303 - padding: 10px 14px;
2304 - background: var(--mxch-card-bg);
2305 - border: 1px solid var(--mxch-card-border);
2306 - border-radius: var(--mxch-radius-md);
2307 - text-align: left;
2308 - cursor: pointer;
2309 - transition: all var(--mxch-transition);
2310 - color: var(--mxch-text-primary);
2311 - font-size: 13px;
2312 -}
2313 -
2314 -.mxch-leads-toppage-row:hover {
2315 - border-color: var(--mxch-primary);
2316 - box-shadow: var(--mxch-card-shadow-hover);
2317 -}
2318 -
2319 -.mxch-leads-toppage-row.is-active {
2320 - border-color: var(--mxch-primary);
2321 - background: rgba(99, 102, 241, 0.06);
2322 -}
2323 -
2324 -.mxch-leads-toppage-title {
2325 - flex: 1 1 auto;
2326 - min-width: 0;
2327 - overflow: hidden;
2328 - text-overflow: ellipsis;
2329 - white-space: nowrap;
2330 -}
2331 -
2332 -.mxch-leads-toppage-count {
2333 - flex: 0 0 auto;
2334 - display: inline-flex;
2335 - align-items: center;
2336 - justify-content: center;
2337 - min-width: 28px;
2338 - height: 22px;
2339 - padding: 0 8px;
2340 - border-radius: 999px;
2341 - background: var(--mxch-primary);
2342 - color: #fff;
2343 - font-size: 11px;
2344 - font-weight: 600;
2345 -}
2346 -
2347 -.mxch-leads-empty-mini {
2348 - padding: 12px;
2349 - text-align: center;
2350 - color: var(--mxch-text-muted);
2351 - font-size: 13px;
2352 -}
2353 -
2354 -/* Toolbar + card */
2355 -.mxch-leads-card {
2356 - padding: 0;
2357 - overflow: hidden;
2358 -}
2359 -
2360 -.mxch-leads-toolbar {
2361 - display: flex;
2362 - align-items: center;
2363 - justify-content: space-between;
2364 - gap: var(--mxch-spacing-md);
2365 - padding: var(--mxch-spacing-md) var(--mxch-spacing-lg);
2366 - border-bottom: 1px solid var(--mxch-card-border);
2367 - flex-wrap: wrap;
2368 -}
2369 -
2370 -.mxch-leads-toolbar-left,
2371 -.mxch-leads-toolbar-right {
2372 - display: flex;
2373 - align-items: center;
2374 - gap: var(--mxch-spacing-sm);
2375 -}
2376 -
2377 -.mxch-leads-export {
2378 - position: relative;
2379 -}
2380 -
2381 -.mxch-leads-export-menu {
2382 - position: absolute;
2383 - right: 0;
2384 - top: calc(100% + 6px);
2385 - min-width: 240px;
2386 - background: var(--mxch-card-bg);
2387 - border: 1px solid var(--mxch-card-border);
2388 - border-radius: var(--mxch-radius-md);
2389 - box-shadow: var(--mxch-card-shadow-hover);
2390 - padding: 4px;
2391 - z-index: 20;
2392 - display: none;
2393 -}
2394 -
2395 -.mxch-leads-export-menu.is-open { display: block; }
2396 -
2397 -.mxch-leads-export-menu button {
2398 - display: block;
2399 - width: 100%;
2400 - padding: 8px 12px;
2401 - background: transparent;
2402 - border: none;
2403 - border-radius: 6px;
2404 - text-align: left;
2405 - color: var(--mxch-text-primary);
2406 - font-size: 13px;
2407 - cursor: pointer;
2408 -}
2409 -
2410 -.mxch-leads-export-menu button:hover:not(:disabled) {
2411 - background: rgba(99, 102, 241, 0.08);
2412 -}
2413 -
2414 -.mxch-leads-export-menu button:disabled {
2415 - color: var(--mxch-text-muted);
2416 - cursor: not-allowed;
2417 -}
2418 -
2419 -/* Filters row */
2420 -.mxch-leads-filters {
2421 - display: flex;
2422 - align-items: center;
2423 - gap: var(--mxch-spacing-sm);
2424 - padding: var(--mxch-spacing-md) var(--mxch-spacing-lg);
2425 - border-bottom: 1px solid var(--mxch-card-border);
2426 - flex-wrap: wrap;
2427 -}
2428 -
2429 -.mxch-leads-filters .mxch-search-wrapper {
2430 - flex: 1 1 260px;
2431 - min-width: 180px;
2432 -}
2433 -
2434 -.mxch-leads-filters .mxch-select {
2435 - height: 36px;
2436 - min-width: 160px;
2437 -}
2438 -
2439 -.mxch-leads-active-page-filter {
2440 - display: inline-flex;
2441 - align-items: center;
2442 - gap: 6px;
2443 - padding: 4px 6px 4px 10px;
2444 - background: rgba(99, 102, 241, 0.08);
2445 - border: 1px solid rgba(99, 102, 241, 0.28);
2446 - border-radius: 999px;
2447 - font-size: 12px;
2448 - color: var(--mxch-text-primary);
2449 - max-width: 280px;
2450 -}
2451 -
2452 -.mxch-leads-page-chip-label {
2453 - overflow: hidden;
2454 - text-overflow: ellipsis;
2455 - white-space: nowrap;
2456 -}
2457 -
2458 -.mxch-leads-page-chip-remove {
2459 - border: none;
2460 - background: transparent;
2461 - font-size: 16px;
2462 - line-height: 1;
2463 - cursor: pointer;
2464 - padding: 0 4px;
2465 - color: var(--mxch-text-muted);
2466 -}
2467 -
2468 -.mxch-leads-page-chip-remove:hover {
2469 - color: var(--mxch-text-primary);
2470 -}
2471 -
2472 -/* Table */
2473 -.mxch-leads-table-wrap {
2474 - overflow-x: auto;
2475 -}
2476 -
2477 -.mxch-leads-table {
2478 - width: 100%;
2479 - border-collapse: separate;
2480 - border-spacing: 0;
2481 - font-size: 13px;
2482 -}
2483 -
2484 -.mxch-leads-table thead th {
2485 - padding: 10px 14px;
2486 - text-align: left;
2487 - background: var(--mxch-card-bg);
2488 - border-bottom: 1px solid var(--mxch-card-border);
2489 - color: var(--mxch-text-secondary);
2490 - font-weight: 600;
2491 - font-size: 11px;
2492 - text-transform: uppercase;
2493 - letter-spacing: 0.04em;
2494 - position: sticky;
2495 - top: 0;
2496 -}
2497 -
2498 -.mxch-leads-table tbody td {
2499 - padding: 12px 14px;
2500 - border-bottom: 1px solid var(--mxch-card-border);
2501 - vertical-align: middle;
2502 - color: var(--mxch-text-primary);
2503 -}
2504 -
2505 -.mxch-leads-table tbody tr:last-child td {
2506 - border-bottom: none;
2507 -}
2508 -
2509 -.mxch-leads-table tbody tr:hover {
2510 - background: rgba(99, 102, 241, 0.04);
2511 -}
2512 -
2513 -.mxch-leads-row.is-orphan .mxch-leads-lead-email {
2514 - font-style: italic;
2515 - color: var(--mxch-text-secondary);
2516 -}
2517 -
2518 -.mxch-leads-table { table-layout: fixed; }
2519 -
2520 -.mxch-leads-col-check { width: 40px; }
2521 -.mxch-leads-col-lead { width: auto; min-width: 280px; }
2522 -.mxch-leads-col-count { width: 130px; text-align: left; }
2523 -.mxch-leads-col-last { width: 110px; white-space: nowrap; }
2524 -.mxch-leads-col-page { width: 180px; max-width: 180px; }
2525 -.mxch-leads-col-actions { width: 170px; white-space: nowrap; text-align: right; }
2526 -
2527 -.mxch-leads-lead-cell {
2528 - display: flex;
2529 - flex-direction: column;
2530 - min-width: 0;
2531 - gap: 2px;
2532 -}
2533 -
2534 -.mxch-leads-lead-email {
2535 - font-weight: 500;
2536 - color: var(--mxch-text-primary);
2537 - overflow: hidden;
2538 - text-overflow: ellipsis;
2539 - white-space: nowrap;
2540 -}
2541 -
2542 -.mxch-leads-lead-name {
2543 - font-size: 11px;
2544 - color: var(--mxch-text-muted);
2545 - overflow: hidden;
2546 - text-overflow: ellipsis;
2547 - white-space: nowrap;
2548 -}
2549 -
2550 -.mxch-leads-muted { color: var(--mxch-text-muted); }
2551 -
2552 -.mxch-leads-pill {
2553 - display: inline-flex;
2554 - align-items: center;
2555 - justify-content: center;
2556 - min-width: 28px;
2557 - height: 22px;
2558 - padding: 0 8px;
2559 - border-radius: 999px;
2560 - background: rgba(99, 102, 241, 0.12);
2561 - color: var(--mxch-primary);
2562 - font-weight: 600;
2563 - font-size: 11px;
2564 -}
2565 -
2566 -.mxch-leads-pill-orphan {
2567 - background: rgba(245, 158, 11, 0.14);
2568 - color: var(--mxch-warning);
2569 -}
2570 -
2571 -.mxch-leads-pill-deleted {
2572 - background: rgba(100, 116, 139, 0.12);
2573 - color: var(--mxch-text-secondary);
2574 - border: 1px solid rgba(100, 116, 139, 0.22);
2575 - padding: 0 10px;
2576 -}
2577 -
2578 -.mxch-leads-row.is-chat-deleted .mxch-leads-lead-email {
2579 - color: var(--mxch-text-secondary);
2580 -}
2581 -
2582 -.mxch-transcript-confirm-check {
2583 - display: flex;
2584 - gap: 10px;
2585 - align-items: flex-start;
2586 - padding: 10px 12px;
2587 - margin: 12px 0 4px;
2588 - background: rgba(99, 102, 241, 0.04);
2589 - border: 1px solid var(--mxch-card-border);
2590 - border-radius: var(--mxch-radius-md);
2591 - cursor: pointer;
2592 -}
2593 -
2594 -.mxch-transcript-confirm-check input[type="checkbox"] {
2595 - margin-top: 3px;
2596 - flex: 0 0 auto;
2597 -}
2598 -
2599 -.mxch-transcript-confirm-check strong {
2600 - display: block;
2601 - color: var(--mxch-text-primary);
2602 - font-weight: 600;
2603 - font-size: 13px;
2604 -}
2605 -
2606 -.mxch-transcript-confirm-sublabel {
2607 - display: block;
2608 - margin-top: 2px;
2609 - font-size: 12px;
2610 - color: var(--mxch-text-muted);
2611 - font-style: normal;
2612 -}
2613 -
2614 -.mxch-leads-page-link {
2615 - display: inline-block;
2616 - max-width: 100%;
2617 - overflow: hidden;
2618 - text-overflow: ellipsis;
2619 - white-space: nowrap;
2620 - vertical-align: middle;
2621 - color: var(--mxch-primary);
2622 - text-decoration: none;
2623 -}
2624 -
2625 -.mxch-leads-page-link:hover { text-decoration: underline; }
2626 -
2627 -.mxch-leads-col-actions .mxch-btn {
2628 - margin-left: 6px;
2629 -}
2630 -
2631 -.mxch-btn-danger-ghost {
2632 - color: #b91c1c;
2633 -}
2634 -
2635 -.mxch-btn-danger-ghost:hover {
2636 - background: rgba(185, 28, 28, 0.08);
2637 - color: #991b1b;
2638 -}
2639 -
2640 -.mxch-leads-empty,
2641 -.mxch-leads-loading {
2642 - padding: 40px 16px;
2643 - text-align: center;
2644 - color: var(--mxch-text-muted);
2645 -}
2646 -
2647 -.mxch-leads-empty-wrap {
2648 - display: flex;
2649 - flex-direction: column;
2650 - align-items: center;
2651 - gap: var(--mxch-spacing-sm);
2652 - color: var(--mxch-text-muted);
2653 -}
2654 -
2655 -.mxch-leads-empty-wrap svg { opacity: 0.6; }
2656 -
2657 -.mxch-leads-count {
2658 - font-size: 12px;
2659 - color: var(--mxch-text-muted);
2660 -}
2661 -
2662 -/* Confirm modal */
2663 -.mxch-leads-confirm-box {
2664 - max-width: 440px;
2665 -}
2666 -
2667 -.mxch-leads-confirm-warning {
2668 - color: var(--mxch-text-muted);
2669 - font-size: 12px;
2670 - margin-top: 8px;
2671 -}
2672 -
2673 -.mxch-leads-confirm-actions {
2674 - display: flex;
2675 - justify-content: flex-end;
2676 - gap: 8px;
2677 - padding: var(--mxch-spacing-md) var(--mxch-spacing-lg);
2678 - border-top: 1px solid var(--mxch-card-border);
2679 -}
2680 -
2681 -/* Responsive: tablet */
2682 -@media (max-width: 1024px) {
2683 - .mxch-leads-col-page { width: 140px; max-width: 140px; }
2684 - .mxch-leads-col-actions { width: 140px; }
2685 - .mxch-leads-col-actions .mxch-leads-view span { display: none; }
2686 -}
2687 -
2688 -/* Responsive: phone */
2689 -@media (max-width: 768px) {
2690 - .mxch-leads-col-page,
2691 - .mxch-leads-col-last {
2692 - display: none;
2693 - }
2694 - .mxch-leads-filters {
2695 - padding: var(--mxch-spacing-sm);
2696 - }
2697 - .mxch-leads-filters .mxch-select {
2698 - flex: 1 1 48%;
2699 - min-width: 0;
2700 - }
2701 - .mxch-leads-toolbar {
2702 - padding: var(--mxch-spacing-sm);
2703 - }
2704 - .mxch-leads-table thead th { padding: 8px 10px; font-size: 10px; }
2705 - .mxch-leads-table tbody td { padding: 10px; font-size: 12px; }
2706 -}
2707 -
2708 -@media (max-width: 480px) {
2709 - .mxch-leads-col-count { display: none; }
2710 - .mxch-leads-toppages-list { grid-template-columns: 1fr; }
2711 -}
2712 -
2713 -/* Satisfaction card on Transcripts dashboard (plan-a5b006). */
2714 -.mxch-satisfaction-card .mxch-card-body {
2715 - padding: var(--mxch-spacing-md);
2716 -}
2717 -.mxch-satisfaction-empty {
2718 - margin: 0;
2719 - padding: var(--mxch-spacing-sm) 0;
2720 - color: #6b7280;
2721 - font-size: 13px;
2722 - line-height: 1.5;
2723 -}
2724 -.mxch-satisfaction-list {
2725 - list-style: none;
2726 - margin: 0;
2727 - padding: 0;
2728 - display: flex;
2729 - flex-direction: column;
2730 - gap: 8px;
2731 -}
2732 -.mxch-satisfaction-row {
2733 - display: flex;
2734 - align-items: center;
2735 - gap: var(--mxch-spacing-md);
2736 - padding: 10px 12px;
2737 - background: #f9fafb;
2738 - border: 1px solid #f3f4f6;
2739 - border-radius: var(--mxch-radius-md, 8px);
2740 -}
2741 -.mxch-satisfaction-bot {
2742 - flex: 0 0 28%;
2743 - min-width: 0;
2744 - font-weight: 600;
2745 - font-size: 13px;
2746 - color: #1a1a2e;
2747 - overflow: hidden;
2748 - text-overflow: ellipsis;
2749 - white-space: nowrap;
2750 -}
2751 -.mxch-satisfaction-meta {
2752 - flex: 1;
2753 - display: flex;
2754 - align-items: center;
2755 - gap: 10px;
2756 - font-size: 12px;
2757 - color: #4b5563;
2758 - flex-wrap: wrap;
2759 -}
2760 -.mxch-satisfaction-total {
2761 - color: #6b7280;
2762 - white-space: nowrap;
2763 -}
2764 -.mxch-satisfaction-bar {
2765 - flex: 1;
2766 - min-width: 80px;
2767 - height: 6px;
2768 - background: #e5e7eb;
2769 - border-radius: 999px;
2770 - overflow: hidden;
2771 - display: flex;
2772 -}
2773 -.mxch-satisfaction-bar-up {
2774 - background: #10b981;
2775 - height: 100%;
2776 -}
2777 -.mxch-satisfaction-bar-down {
2778 - background: #ef4444;
2779 - height: 100%;
2780 -}
2781 -.mxch-satisfaction-pct {
2782 - display: inline-flex;
2783 - align-items: center;
2784 - gap: 4px;
2785 - font-weight: 600;
2786 - white-space: nowrap;
2787 -}
2788 -.mxch-satisfaction-pct-up { color: #047857; }
2789 -.mxch-satisfaction-pct-down { color: #b91c1c; }
2790 -@media (max-width: 600px) {
2791 - .mxch-satisfaction-row { flex-direction: column; align-items: flex-start; gap: 8px; }
2792 - .mxch-satisfaction-bot { flex: 1 1 100%; }
2793 - .mxch-satisfaction-meta { width: 100%; }
2794 -}
2795 -
2796 -/* Details drawer — Feedback row value (user-submitted rating feedback). */
2797 -.mxch-detail-feedback-value {
2798 - white-space: pre-wrap;
2799 - word-break: break-word;
2800 - max-width: 100%;
2801 - display: block;
2802 - margin-top: 4px;
2803 - opacity: 0.9;
2804 - font-style: italic;
2805 -}
363 +}