PluginProbe
MxChat – AI Chatbot & Content Generation for WordPress / 2.4.6
MxChat – AI Chatbot & Content Generation for WordPress v2.4.6
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 +394 -2649 3.2.212.4.6 View file →
@@ -1,2878 +1,623 @@
1 -/* ==========================================================================
2 - MxChat Transcripts Page Styles - v2.0
3 - Uses admin-sidebar.css for core layout/navigation styles
4 - ========================================================================== */
5 -
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);
1 +/* Core Styles */
2 +#wpcontent {
3 + padding-left: 0;
14 4 }
15 -
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);
5 +.stat-sublabel {
6 + font-size: 0.8rem;
7 + color: #666;
8 + display: block;
9 + margin-top: 0.5rem;
25 10 }
26 -
27 -.mxch-stat-card:hover {
28 - box-shadow: var(--mxch-card-shadow-hover);
29 - transform: translateY(-2px);
11 +body.wp-admin .wrap.mxchat-transcripts-wrapper {
12 + max-width: 100%;
13 + margin: 0 auto;
14 + padding: 0;
30 15 }
31 16
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;
17 +/* Hero Section */
18 +body.wp-admin .wrap.mxchat-transcripts-wrapper .mxchat-transcripts-hero {
19 + text-align: center;
20 + padding: 3.5rem 2rem;
21 + position: relative;
22 + background: #212121;
23 + border-bottom: 4px solid transparent;
24 + border-image: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1);
25 + border-image-slice: 1;
40 26 }
41 27
42 -.mxch-stat-icon svg {
43 - width: 24px;
44 - height: 24px;
28 +body.wp-admin .wrap.mxchat-transcripts-wrapper .mxchat-transcripts-hero::before {
29 + content: '';
30 + position: absolute;
31 + top: 0;
32 + left: 0;
33 + width: 100%;
34 + height: 100%;
35 + background: radial-gradient(
36 + circle at center,
37 + rgba(250, 115, 230, 0.08) 0%,
38 + rgba(120, 115, 245, 0.08) 50%,
39 + rgba(58, 201, 209, 0.08) 100%
40 + );
41 + z-index: 1;
45 42 }
46 43
47 -.mxch-stat-icon-primary {
48 - background: rgba(120, 115, 245, 0.1);
49 - color: var(--mxch-primary);
50 -}
51 -
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);
44 +body.wp-admin .wrap.mxchat-transcripts-wrapper .mxchat-main-title {
45 + font-size: 3.5rem;
46 + margin: 0 0 1.5rem;
76 47 line-height: 1.2;
48 + color: white;
49 + position: relative;
50 + z-index: 2;
77 51 }
78 52
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;
53 +body.wp-admin .wrap.mxchat-transcripts-wrapper .mxchat-gradient-text {
54 + background: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1);
55 + -webkit-background-clip: text;
56 + -webkit-text-fill-color: transparent;
57 + display: inline-block;
156 58 font-weight: 700;
157 - color: var(--mxch-text-primary);
158 59 }
159 60
160 -.mxch-activity-label {
161 - font-size: 12px;
162 - color: var(--mxch-text-secondary);
163 -}
164 -
165 -/* ==========================================================================
166 - Insights List
167 - ========================================================================== */
168 -.mxch-insights-list {
169 - display: flex;
170 - flex-direction: column;
171 - gap: var(--mxch-spacing-sm);
172 -}
173 -
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);
180 -}
181 -
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;
193 - 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 - display: flex;
227 - align-items: center;
228 - justify-content: space-between;
229 - flex-wrap: wrap;
230 - gap: var(--mxch-spacing-sm);
231 -}
232 -
233 -.mxch-chart-legend {
234 - display: flex;
235 - align-items: center;
236 - gap: var(--mxch-spacing-lg);
237 -}
238 -
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);
246 -}
247 -
248 -.mxch-legend-dot {
249 - width: 10px;
250 - height: 10px;
251 - border-radius: 50%;
252 -}
253 -
254 -.mxch-legend-chats .mxch-legend-dot {
255 - background: #667eea;
256 -}
257 -
258 -.mxch-legend-messages .mxch-legend-dot {
259 - background: #764ba2;
260 -}
261 -
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 -
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;
61 +body.wp-admin .wrap.mxchat-transcripts-wrapper .mxchat-hero-subtitle {
62 + font-size: 1.25rem;
63 + color: rgba(255, 255, 255, 0.9);
64 + max-width: 800px;
65 + margin: 0 auto;
326 66 position: relative;
67 + z-index: 2;
68 + line-height: 1.6;
327 69 }
328 70
329 -.mxch-search-wrapper svg {
330 - position: absolute;
331 - left: 12px;
332 - color: var(--mxch-text-muted);
333 - pointer-events: none;
71 +/* Content Area */
72 +body.wp-admin .wrap.mxchat-transcripts-wrapper .mxchat-content {
73 + padding: 2rem;
74 + max-width: 1400px;
75 + margin: 0 auto;
334 76 }
335 77
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);
78 +/* Action Buttons */
79 +.mxchat-action-button {
80 + background: linear-gradient(135deg, #fa73e6, #7873f5);
355 81 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 */
371 - 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 {
382 - display: flex;
383 - height: 100%;
384 - background: #fff;
385 82 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;
83 + padding: 8px 16px;
84 + border-radius: 8px;
85 + cursor: pointer;
86 + font-weight: 600;
400 87 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 88 align-items: center;
412 89 gap: 8px;
413 - padding: 10px 12px;
414 - background: #f8fafc;
415 - border-bottom: 1px solid #e5e7eb;
90 + transition: transform 0.2s ease, box-shadow 0.2s ease;
416 91 }
417 92
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;
93 +.mxchat-action-button:hover {
94 + transform: translateY(-1px);
95 + box-shadow: 0 4px 12px rgba(120, 115, 245, 0.2);
425 96 }
426 97
427 -.mxch-bulk-select-all input[type="checkbox"] {
428 - width: 16px;
429 - height: 16px;
430 - cursor: pointer;
431 - accent-color: #3b82f6;
432 -}
433 -
434 -.mxch-bulk-actions {
435 - display: flex;
436 - align-items: center;
437 - gap: 4px;
438 - margin-left: auto;
439 -}
440 -
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;
98 +.mxchat-action-button.loading {
99 + opacity: 0.7;
473 100 cursor: not-allowed;
474 101 }
475 102
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;
492 - border-bottom: 1px solid #e5e7eb;
493 -}
494 -
495 -.mxch-panel-title-row {
496 - display: flex;
497 - align-items: center;
498 - justify-content: space-between;
499 - padding: 10px 12px;
500 - border-bottom: 1px solid #f3f4f6;
501 -}
502 -
503 -.mxch-panel-count {
504 - font-size: 12px;
505 - font-weight: 600;
506 - color: #374151;
507 -}
508 -
509 -.mxch-panel-actions {
510 - display: flex;
511 - gap: 4px;
512 -}
513 -
514 -.mxch-icon-btn {
515 - width: 32px;
516 - height: 32px;
517 - border: none;
518 - background: transparent;
519 - color: #6b7280;
520 - border-radius: 6px;
521 - cursor: pointer;
522 - display: flex;
523 - align-items: center;
524 - justify-content: center;
525 - transition: all 0.15s;
526 -}
527 -
528 -.mxch-icon-btn:hover {
529 - background: #f3f4f6;
530 - color: #374151;
531 -}
532 -
533 -.mxch-icon-btn.spinning svg {
534 - animation: spin 0.5s linear;
535 -}
536 -
537 -@keyframes spin {
538 - from { transform: rotate(0deg); }
539 - to { transform: rotate(360deg); }
540 -}
541 -
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 {
587 - display: flex;
588 - align-items: center;
589 - gap: 10px;
590 - padding: 12px;
591 - cursor: pointer;
592 - border-bottom: 1px solid #f3f4f6;
593 - transition: background 0.15s;
594 - position: relative;
595 -}
596 -
597 -.mxch-chat-item:hover {
598 - background: #f9fafb;
599 -}
600 -
601 -.mxch-chat-item.active {
602 - background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
603 - border-left: 3px solid #3b82f6;
604 - padding-left: 9px;
605 -}
606 -
607 -.mxch-chat-item.selected {
608 - background: #eff6ff;
609 -}
610 -
611 -/* Checkbox for chat items */
612 -.mxch-chat-checkbox {
103 +.mxchat-action-button .dashicons {
104 + font-size: 16px;
613 105 width: 16px;
614 106 height: 16px;
615 - flex-shrink: 0;
616 - cursor: pointer;
617 - accent-color: #3b82f6;
618 - opacity: 0;
619 - transition: opacity 0.15s;
620 107 }
621 108
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;
652 - font-weight: 600;
653 - color: #111827;
654 - white-space: nowrap;
655 - overflow: hidden;
656 - text-overflow: ellipsis;
657 -}
658 -
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;
666 -}
667 -
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;
109 +/* Session Container - Clean and Minimal */
110 +.mxchat-session {
722 111 background: #ffffff;
723 112 border: 1px solid #e5e7eb;
724 113 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;
734 - width: 100%;
735 - padding: 8px 10px;
736 - background: transparent;
737 - border: none;
738 - 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 - 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 - font-size: 14px;
796 - color: #374151;
797 - transition: all 0.15s;
798 -}
799 -
800 -.mxch-page-btn:hover {
801 - background: #f3f4f6;
802 - border-color: #d1d5db;
803 -}
804 -
805 -.mxch-page-info {
806 - font-size: 12px;
807 - 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 */
114 + margin-bottom: 16px;
837 115 overflow: hidden;
116 + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
117 + transition: all 0.2s ease;
838 118 }
839 119
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;
120 +.mxchat-session:hover {
121 + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
850 122 }
851 123
852 -.mxch-empty-icon {
853 - margin-bottom: 16px;
854 - opacity: 0.5;
124 +/* Selected state for entire session */
125 +.mxchat-session.selected {
126 + border: 2px solid #3b82f6;
127 + box-shadow: 0 4px 12px rgba(59, 130, 246, 0.15);
855 128 }
856 129
857 -.mxch-conversation-empty h3 {
858 - font-size: 16px;
859 - font-weight: 600;
860 - color: #6b7280;
861 - margin: 0 0 8px 0;
130 +.mxchat-session.selected .mxchat-session-header {
131 + background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%);
862 132 }
863 133
864 -.mxch-conversation-empty p {
865 - font-size: 13px;
866 - margin: 0;
134 +/* Show trash icon when session is selected */
135 +.mxchat-session.selected .mxchat-hover-actions {
136 + opacity: 1;
867 137 }
868 138
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;
876 -}
877 -
878 -.mxch-conversation-header {
879 - display: flex;
880 - align-items: center;
881 - gap: 12px;
139 +/* Clean Hover-Action Session Header */
140 +.mxchat-session-header {
141 + background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
142 + border-bottom: 1px solid #e2e8f0;
882 143 padding: 16px 20px;
883 - background: #fff;
884 - border-bottom: 1px solid #e5e7eb;
144 + transition: background-color 0.2s ease;
145 + position: relative;
146 + cursor: pointer;
885 147 }
886 148
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;
149 +.mxchat-session-header:hover {
150 + background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
896 151 }
897 152
898 -.mxch-user-avatar span {
899 - color: #fff;
153 +/* Top-centered user pill */
154 +.mxchat-user-row {
155 + color: #1e293b;
900 156 font-size: 15px;
901 157 font-weight: 600;
902 -}
903 -
904 -.mxch-user-info {
905 - flex: 1;
906 - min-width: 0; /* Allow flex item to shrink below content size */
158 + margin-bottom: 12px;
159 + background: linear-gradient(135deg, #f0f9ff, #dbeafe);
160 + padding: 6px 16px;
161 + border-radius: 20px;
162 + border: 1px solid #bfdbfe;
163 + display: inline-block;
164 + max-width: calc(100% - 40px);
907 165 overflow: hidden;
908 -}
909 -
910 -.mxch-user-name {
911 - font-size: 15px;
912 - font-weight: 600;
913 - color: #111827;
914 - overflow: hidden;
915 166 text-overflow: ellipsis;
916 167 white-space: nowrap;
168 + text-align: center;
169 + width: fit-content;
170 + display: block;
171 + margin: 0 auto 12px auto;
917 172 }
918 173
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;
174 +.mxchat-header-row {
935 175 display: flex;
176 + justify-content: flex-start;
936 177 align-items: center;
937 - justify-content: center;
938 - color: #6b7280;
939 - transition: all 0.15s;
178 + margin-bottom: 8px;
940 179 }
941 180
942 -.mxch-details-toggle:hover,
943 -.mxch-details-toggle.active {
944 - background: #f3f4f6;
945 - color: #374151;
946 -}
947 -
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 {
181 +.mxchat-main-info {
973 182 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;
183 + align-items: left;
1000 184 flex-direction: column;
1001 - gap: 6px;
185 + gap: 8px;
1002 186 }
1003 187
1004 -.mxch-clicked-link {
1005 - font-size: 12px;
1006 - color: #3b82f6;
1007 - text-decoration: none;
1008 - padding: 6px 10px;
1009 - background: #eff6ff;
188 +.mxchat-session-id {
189 + font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Roboto Mono', monospace;
190 + font-size: 14px;
191 + font-weight: 700;
192 + color: #475569;
193 + background: #e2e8f0;
194 + padding: 4px 8px;
1010 195 border-radius: 6px;
1011 - white-space: nowrap;
1012 - overflow: hidden;
1013 - text-overflow: ellipsis;
1014 196 }
1015 197
1016 -.mxch-clicked-link:hover {
1017 - background: #dbeafe;
198 +.mxchat-separator {
199 + color: #94a3b8;
200 + font-weight: 500;
1018 201 }
1019 202
1020 -.mxch-details-actions {
1021 - display: flex;
1022 - gap: 8px;
1023 - margin-top: 16px;
1024 - padding-top: 16px;
1025 - border-top: 1px solid #f3f4f6;
203 +.mxchat-session-time {
204 + color: #64748b;
205 + font-size: 13px;
206 + font-weight: 500;
1026 207 }
1027 208
1028 -.mxch-btn-sm {
1029 - padding: 8px 12px;
1030 - font-size: 12px;
209 +/* Bottom-right positioned trash can */
210 +.mxchat-hover-actions {
211 + position: absolute;
212 + bottom: 12px;
213 + right: 16px;
214 + opacity: 0;
215 + transition: opacity 0.2s ease;
1031 216 }
1032 217
1033 -/* Translate Controls */
1034 -.mxch-translate-section {
1035 - margin-top: 12px;
1036 - padding-top: 12px;
1037 - border-top: 1px solid #f3f4f6;
218 +.mxchat-session-header:hover .mxchat-hover-actions {
219 + opacity: 1;
1038 220 }
1039 221
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;
222 +.mxchat-delete-btn {
223 + background: none;
224 + border: none;
1053 225 cursor: pointer;
1054 - min-width: 100px;
226 + font-size: 16px;
227 + padding: 4px 8px;
228 + border-radius: 4px;
229 + transition: background-color 0.2s ease;
1055 230 }
1056 231
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);
232 +.mxchat-delete-btn:hover {
233 + background: rgba(239, 68, 68, 0.1);
1061 234 }
1062 235
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;
236 +/* Content Rows */
237 +.mxchat-page-row,
238 +.mxchat-links-row {
239 + color: #64748b;
1127 240 font-size: 13px;
241 + margin-bottom: 4px;
242 + line-height: 1.4;
1128 243 }
1129 244
1130 -/* Message Styles */
1131 -.mxch-message {
1132 - margin-bottom: 20px;
245 +.mxchat-label {
246 + font-weight: 600;
247 + color: #475569;
1133 248 }
1134 249
1135 -.mxch-message:last-child {
1136 - margin-bottom: 0;
250 +.mxchat-page-link {
251 + color: #3b82f6;
252 + text-decoration: none;
253 + font-weight: 500;
254 + transition: color 0.2s ease;
1137 255 }
1138 256
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%);
1153 - 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 -}
1160 -
1161 -.mxch-message-user .mxch-message-bubble a {
1162 - color: #bfdbfe;
257 +.mxchat-page-link:hover {
258 + color: #1d4ed8;
1163 259 text-decoration: underline;
1164 260 }
1165 261
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;
262 +.mxchat-link-item {
1197 263 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 264 text-decoration: none;
1210 265 font-weight: 500;
1211 - padding: 2px 8px;
1212 - background: #eff6ff;
1213 - border-radius: 4px;
1214 - transition: all 0.15s;
266 + transition: color 0.2s ease;
1215 267 }
1216 268
1217 -.mxch-rag-link:hover {
1218 - background: #dbeafe;
269 +.mxchat-link-item:hover {
270 + color: #5b21b6;
271 + text-decoration: underline;
1219 272 }
1220 273
1221 -.mxch-message-bot .mxch-message-row {
1222 - max-width: 80%;
1223 - min-width: 150px;
274 +/* Messages Section - Keep existing styling */
275 +.mxchat-messages {
276 + padding: 16px;
277 + background: #ffffff;
1224 278 }
1225 279
1226 -.mxch-message-bot .mxch-message-bubble {
1227 - background: #fff;
1228 - border: 1px solid #e5e7eb;
1229 - 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 -}
1236 -
1237 -.mxch-message-bot .mxch-message-bubble a {
1238 - color: #3b82f6;
1239 -}
1240 -
1241 -.mxch-message-bot .mxch-message-time {
1242 - font-size: 11px;
1243 - color: #9ca3af;
1244 - margin-top: 4px;
1245 -}
1246 -
1247 -/* Message Content Styles */
1248 -.mxch-message-bubble p {
1249 - margin: 0 0 10px 0;
1250 -}
1251 -
1252 -.mxch-message-bubble p:last-child {
1253 - margin-bottom: 0;
1254 -}
1255 -
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;
280 +.mxchat-message {
1282 281 border-radius: 8px;
1283 - overflow-x: auto;
1284 - margin: 10px 0;
1285 - font-size: 13px;
282 + border-left: 4px solid transparent;
1286 283 }
1287 284
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 {
1500 - display: flex;
1501 - flex-wrap: wrap;
1502 - justify-content: space-between;
1503 - 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 -}
1510 -
1511 -.mxch-pagination-info {
1512 - font-size: 13px;
1513 - color: var(--mxch-text-secondary);
1514 -}
1515 -
1516 -.mxch-pagination-controls {
1517 - display: flex;
1518 - flex-wrap: wrap;
1519 - gap: 4px;
1520 -}
1521 -
1522 -.mxch-pagination-btn {
1523 - 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;
1529 - cursor: pointer;
1530 - transition: all var(--mxch-transition-fast);
1531 -}
1532 -
1533 -.mxch-pagination-btn:hover {
1534 - background: #e2e8f0;
1535 -}
1536 -
1537 -.mxch-pagination-btn.active {
1538 - background: var(--mxch-primary);
1539 - border-color: var(--mxch-primary);
1540 - color: white;
1541 -}
1542 -
1543 -.mxch-pagination-ellipsis {
1544 - padding: 6px 8px;
1545 - color: var(--mxch-text-muted);
1546 -}
1547 -
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;
285 +.mxchat-message-header {
1569 286 font-weight: 600;
1570 - color: var(--mxch-text-secondary);
1571 - margin: 0 0 var(--mxch-spacing-xs) 0;
287 + font-size: 14px;
288 + color: #374151;
289 + margin-bottom: 6px;
1572 290 }
1573 291
1574 -.mxch-no-results p {
292 +.mxchat-message-content {
293 + color: #4b5563;
294 + line-height: 1.6;
1575 295 font-size: 14px;
1576 - margin: 0;
296 + margin-bottom: 8px;
1577 297 }
1578 298
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;
299 +.mxchat-timestamp {
300 + font-size: 12px;
301 + color: #9ca3af;
1590 302 font-weight: 500;
1591 - color: var(--mxch-text-primary);
1592 303 }
1593 304
1594 -/* ==========================================================================
1595 - Modal Styles
1596 - ========================================================================== */
1597 -.mxch-modal-overlay {
305 +/* Chat Email Notification Modal styles */
306 +.mxchat-chat-notification-modal-overlay {
1598 307 position: fixed;
308 + z-index: 9999;
309 + left: 0;
1599 310 top: 0;
1600 - left: 0;
1601 - right: 0;
1602 - bottom: 0;
1603 - background: rgba(0, 0, 0, 0.5);
311 + width: 100%;
312 + height: 100%;
313 + background-color: rgba(0, 0, 0, 0.5);
1604 314 display: flex;
1605 315 align-items: center;
1606 316 justify-content: center;
1607 - z-index: 100000;
1608 - animation: mxchFadeIn 0.2s ease;
317 + animation: mxchatNotificationFadeIn 0.3s ease;
1609 318 }
1610 319
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);
320 +@keyframes mxchatNotificationFadeIn {
321 + from { opacity: 0; }
322 + to { opacity: 1; }
323 +}
324 +
325 +.mxchat-chat-notification-modal-content {
326 + background-color: #fff;
327 + border-radius: 12px;
328 + box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
1615 329 width: 90%;
1616 - max-width: 600px;
1617 - max-height: 80vh;
1618 - display: flex;
1619 - flex-direction: column;
1620 - animation: mxchSlideIn 0.2s ease;
330 + max-width: 500px;
331 + animation: mxchatNotificationSlideIn 0.3s ease;
1621 332 }
1622 333
1623 -@keyframes mxchSlideIn {
1624 - from {
1625 - transform: translateY(-20px);
1626 - opacity: 0;
1627 - }
1628 - to {
1629 - transform: translateY(0);
1630 - opacity: 1;
1631 - }
334 +@keyframes mxchatNotificationSlideIn {
335 + from { transform: translateY(-20px); opacity: 0; }
336 + to { transform: translateY(0); opacity: 1; }
1632 337 }
1633 338
1634 -.mxch-modal-header {
339 +.mxchat-chat-notification-modal-header {
340 + padding: 20px;
341 + border-bottom: 1px solid #e5e7eb;
1635 342 display: flex;
343 + justify-content: space-between;
1636 344 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 345 }
1641 346
1642 -.mxch-modal-header h2 {
1643 - font-size: 18px;
347 +.mxchat-chat-notification-modal-header h2 {
348 + margin: 0;
349 + font-size: 20px;
1644 350 font-weight: 600;
1645 - color: var(--mxch-text-primary);
1646 - margin: 0;
351 + color: #1f2937;
1647 352 }
1648 353
1649 -.mxch-modal-close {
1650 - width: 32px;
1651 - height: 32px;
1652 - display: flex;
1653 - align-items: center;
1654 - justify-content: center;
354 +.mxchat-chat-notification-modal-close {
1655 355 background: none;
1656 356 border: none;
1657 357 font-size: 24px;
1658 - color: var(--mxch-text-muted);
1659 358 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 {
359 + color: #6b7280;
360 + padding: 0;
361 + width: 30px;
362 + height: 30px;
1677 363 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);
364 + align-items: center;
365 + justify-content: center;
366 + border-radius: 50%;
367 + transition: all 0.2s ease;
1684 368 }
1685 369
1686 -.mxch-rag-summary-item {
1687 - font-size: 13px;
370 +.mxchat-chat-notification-modal-close:hover {
371 + background-color: #f3f4f6;
372 + color: #1f2937;
1688 373 }
1689 374
1690 -.mxch-rag-label {
1691 - color: var(--mxch-text-secondary);
375 +.mxchat-chat-notification-modal-body {
376 + padding: 20px;
1692 377 }
1693 378
1694 -.mxch-rag-value {
1695 - font-weight: 600;
1696 - color: var(--mxch-text-primary);
379 +.mxchat-chat-notification-modal-body p {
380 + margin-top: 0;
381 + color: #4b5563;
382 + line-height: 1.6;
1697 383 }
1698 384
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 {
385 +.mxchat-chat-notification-modal-footer {
386 + padding: 20px;
387 + border-top: 1px solid #e5e7eb;
1724 388 display: flex;
1725 - align-items: center;
1726 - gap: var(--mxch-spacing-sm);
1727 - margin-bottom: var(--mxch-spacing-sm);
389 + justify-content: flex-end;
390 + gap: 10px;
1728 391 }
1729 392
1730 -.mxch-rag-match-score {
1731 - font-size: 14px;
1732 - font-weight: 700;
1733 - color: var(--mxch-primary);
393 +#mxchat-chat-email-notification-btn:hover {
394 + transform: translateY(-2px);
395 + box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
1734 396 }
1735 397
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;
398 +#mxchat-chat-email-notification-btn .dashicons {
399 + font-size: 18px;
400 + width: 18px;
401 + height: 18px;
1742 402 }
1743 403
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;
404 +/* Form styles within chat notification modal */
405 +.mxchat-chat-notification-modal-content .form-table {
406 + margin: 0;
1751 407 }
1752 408
1753 -.mxch-rag-via-vector {
1754 - background: rgba(120, 115, 245, 0.1);
1755 - color: var(--mxch-primary);
409 +.mxchat-chat-notification-modal-content .form-table th {
410 + padding: 15px 10px 15px 0;
411 + width: 180px;
412 + font-weight: 600;
413 + color: #374151;
1756 414 }
1757 415
1758 -.mxch-rag-via-keyword {
1759 - background: rgba(16, 185, 129, 0.12);
1760 - color: #059669;
416 +.mxchat-chat-notification-modal-content .form-table td {
417 + padding: 15px 10px;
1761 418 }
1762 419
1763 -.mxch-rag-via-both {
1764 - background: rgba(245, 158, 11, 0.12);
1765 - color: #b45309;
420 +.mxchat-chat-notification-modal-content .regular-text {
421 + width: 100%;
422 + max-width: 100%;
423 + border: 1px solid #d1d5db;
424 + border-radius: 6px;
425 + padding: 8px 12px;
426 + font-size: 14px;
1766 427 }
1767 428
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 {
429 +.mxchat-chat-notification-modal-content .description {
430 + margin-top: 8px;
431 + color: #6b7280;
1783 432 font-size: 13px;
1784 - color: var(--mxch-text-secondary);
1785 - word-break: break-all;
1786 433 }
1787 434
1788 -.mxch-rag-match-source a {
1789 - color: var(--mxch-primary);
1790 - text-decoration: none;
435 +/* Checkbox styling in chat notification modal */
436 +.mxchat-chat-notification-modal-content input[type="checkbox"] {
437 + margin-right: 8px;
1791 438 }
1792 439
1793 -.mxch-rag-match-source a:hover {
1794 - text-decoration: underline;
440 +.mxchat-chat-notification-modal-content label {
441 + color: #374151;
442 + font-size: 14px;
1795 443 }
1796 444
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);
445 +/* Button styling in chat notification modal */
446 +.mxchat-chat-notification-modal-content .button {
447 + padding: 8px 16px;
448 + border-radius: 6px;
449 + font-size: 14px;
450 + cursor: pointer;
451 + transition: all 0.2s ease;
1805 452 }
1806 453
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;
454 +.mxchat-chat-notification-modal-content .button-primary {
455 + background: linear-gradient(135deg, #3b82f6, #8b5cf6);
1814 456 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);
457 + color: #fff;
1822 458 }
1823 459
1824 -.mxch-context-tab:hover {
1825 - color: var(--mxch-text-primary);
1826 - background: rgba(255, 255, 255, 0.5);
460 +.mxchat-chat-notification-modal-content .button-primary:hover {
461 + transform: translateY(-1px);
462 + box-shadow: 0 4px 12px rgba(59, 130, 246, 0.2);
1827 463 }
1828 464
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);
465 +.mxchat-chat-notification-modal-content .mxchat-chat-notification-modal-cancel {
466 + background: #f3f4f6;
467 + border: 1px solid #e5e7eb;
468 + color: #374151;
1833 469 }
1834 470
1835 -.mxch-context-tab svg {
1836 - width: 16px;
1837 - height: 16px;
1838 - flex-shrink: 0;
471 +.mxchat-chat-notification-modal-content .mxchat-chat-notification-modal-cancel:hover {
472 + background: #e5e7eb;
1839 473 }
1840 474
1841 -.mxch-tab-badge {
1842 - display: inline-flex;
475 +/* Pagination Styles */
476 +.mxchat-pagination {
477 + margin-top: 20px;
478 + display: flex;
479 + flex-wrap: wrap;
480 + justify-content: space-between;
1843 481 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 482 }
1854 483
1855 -.mxch-context-tab.active .mxch-tab-badge {
1856 - background: var(--mxch-primary);
1857 - color: white;
484 +.mxchat-pagination-info {
485 + margin-bottom: 10px;
486 + color: #666;
1858 487 }
1859 488
1860 -.mxch-tab-content {
1861 - min-height: 200px;
489 +.mxchat-pagination-controls {
490 + display: flex;
491 + flex-wrap: wrap;
492 + gap: 5px;
1862 493 }
1863 494
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;
495 +.mxchat-pagination-button {
496 + padding: 6px 12px;
497 + background: #f7f7f7;
498 + border: 1px solid #ddd;
1910 499 border-radius: 3px;
1911 - margin-top: var(--mxch-spacing-sm);
1912 - overflow: visible;
500 + cursor: pointer;
501 + transition: all 0.2s ease;
1913 502 }
1914 503
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;
504 +.mxchat-pagination-button:hover {
505 + background: #e9e9e9;
1923 506 }
1924 507
1925 -.mxch-action-triggered .mxch-action-score-fill {
1926 - background: linear-gradient(90deg, #f59e0b, #fbbf24);
508 +.mxchat-pagination-button.active {
509 + background: #2271b1;
510 + border-color: #2271b1;
511 + color: white;
512 + font-weight: bold;
1927 513 }
1928 514
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%);
515 +.mxchat-pagination-ellipsis {
516 + padding: 6px 8px;
517 + color: #666;
1937 518 }
1938 519
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 -/* AI Tools trace (plan-mxchat-20260813-470f68)
1953 - One card per tool EXECUTION, rendered above the trigger-phrase scores. The box
1954 - itself reuses .mxch-rag-match-card / .mxch-rag-match-used; the rules below are
1955 - only the states the trigger-phrase cards have no equivalent of — a failed run,
1956 - a duration chip, and the argument excerpt. */
1957 -.mxch-tool-failed {
1958 - border-color: rgba(239, 68, 68, 0.35);
1959 - background: rgba(239, 68, 68, 0.05);
1960 -}
1961 -
1962 -.mxch-rag-match-status.status-failed {
1963 - color: var(--mxch-error);
1964 - font-weight: 600;
1965 -}
1966 -
1967 -.mxch-tool-duration {
1968 - font-size: 11px;
1969 - padding: 2px 8px;
1970 - background: rgba(100, 116, 139, 0.1);
1971 - color: var(--mxch-text-secondary);
1972 - border-radius: 10px;
1973 -}
1974 -
1975 -.mxch-tool-error {
1976 - margin-top: var(--mxch-spacing-sm);
1977 - font-size: 12px;
1978 - color: var(--mxch-error);
1979 - word-break: break-word;
1980 -}
1981 -
1982 -.mxch-tool-args {
1983 - margin-top: var(--mxch-spacing-sm);
1984 -}
1985 -
1986 -.mxch-tool-args > summary {
1987 - font-size: 12px;
1988 - color: var(--mxch-text-secondary);
1989 - cursor: pointer;
1990 - list-style: revert;
1991 -}
1992 -
1993 -.mxch-tool-args-body {
1994 - margin-top: 6px;
1995 - padding: var(--mxch-spacing-sm);
1996 - background: #f8fafc;
1997 - border: 1px solid var(--mxch-card-border);
1998 - border-radius: var(--mxch-radius-sm);
1999 - font-size: 12px;
2000 - font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;
2001 - color: var(--mxch-text-secondary);
2002 - white-space: pre-wrap;
2003 - word-break: break-word;
2004 -}
2005 -
2006 -.mxch-tool-redacted {
2007 - margin-top: var(--mxch-spacing-sm);
2008 - font-size: 12px;
2009 - color: var(--mxch-text-muted);
2010 - font-style: italic;
2011 -}
2012 -
2013 -/* No Results State */
2014 -.mxch-no-results {
520 +/* No Results Styling */
521 +.mxchat-no-results {
2015 522 text-align: center;
2016 - padding: var(--mxch-spacing-xl);
2017 - color: var(--mxch-text-secondary);
523 + padding: 40px 20px;
524 + color: #6b7280;
525 + font-size: 16px;
526 + background: #f9fafb;
527 + border-radius: 8px;
528 + border: 2px dashed #d1d5db;
2018 529 }
2019 530
2020 -.mxch-no-results p {
2021 - margin: 0;
2022 -}
2023 -
2024 -/* ==========================================================================
2025 - Responsive Adjustments
2026 - ========================================================================== */
2027 -@media screen and (max-width: 768px) {
2028 - .mxch-stats-grid {
2029 - grid-template-columns: repeat(2, 1fr);
531 +/* Responsive Design */
532 +@media (max-width: 768px) {
533 + body.wp-admin .wrap.mxchat-transcripts-wrapper {
534 + padding: 0;
2030 535 }
2031 -
2032 - .mxch-stat-card {
2033 - padding: var(--mxch-spacing-md);
536 +
537 + body.wp-admin .wrap.mxchat-transcripts-wrapper .mxchat-main-title {
538 + font-size: 2.5rem;
2034 539 }
2035 -
2036 - .mxch-stat-value {
2037 - font-size: 22px;
540 +
541 + body.wp-admin .wrap.mxchat-transcripts-wrapper .mxchat-transcripts-hero {
542 + padding: 2.5rem 1.5rem;
2038 543 }
2039 -
2040 - .mxch-cards-row {
2041 - grid-template-columns: 1fr;
544 +
545 + .auto-fold #wpcontent {
546 + margin-left: 0;
547 + padding-left: 0px;
2042 548 }
2043 -
2044 - .mxch-transcripts-controls {
2045 - flex-direction: column;
2046 - align-items: stretch;
549 +
550 + .mxchat-action-button {
551 + width: 100%;
2047 552 }
2048 -
2049 - .mxch-search-wrapper {
2050 - max-width: none;
2051 - }
2052 -
2053 - .mxch-controls-actions {
2054 - justify-content: flex-end;
2055 - }
2056 -
2057 - .mxch-session-header {
553 +
554 + .mxchat-session-header {
555 + padding: 10px 12px;
2058 556 flex-direction: column;
2059 - gap: var(--mxch-spacing-sm);
2060 - }
2061 -
2062 - .mxch-session-actions {
2063 - opacity: 1;
2064 - align-self: flex-end;
2065 - }
2066 -
2067 - .mxch-pagination {
2068 - flex-direction: column;
2069 - gap: var(--mxch-spacing-md);
2070 557 align-items: flex-start;
558 + gap: 8px;
2071 559 }
2072 -
2073 - .mxch-quick-actions {
2074 - flex-direction: column;
2075 - }
2076 -
2077 - .mxch-quick-action-btn {
560 +
561 + .mxchat-session-info {
2078 562 width: 100%;
2079 - justify-content: center;
563 + gap: 8px;
2080 564 }
2081 -
2082 - /* Chart responsive */
2083 - .mxch-activity-chart-card .mxch-card-header {
565 +
566 + .mxchat-session-details {
2084 567 flex-direction: column;
2085 568 align-items: flex-start;
569 + gap: 6px;
2086 570 }
2087 -
2088 - .mxch-chart-legend {
2089 - margin-top: var(--mxch-spacing-xs);
571 +
572 + .mxchat-user,
573 + .mxchat-page,
574 + .mxchat-links {
575 + max-width: none;
2090 576 }
2091 -
2092 - #mxchat-activity-chart {
2093 - height: 220px !important;
577 +
578 + .mxchat-session-time {
579 + align-self: flex-end;
2094 580 }
2095 -}
2096 -
2097 -@media screen and (max-width: 480px) {
2098 - .mxch-stats-grid {
2099 - grid-template-columns: 1fr;
581 +
582 + .mxchat-messages {
583 + padding: 12px;
2100 584 }
2101 -
2102 - .mxch-controls-actions {
585 +
586 + .mxchat-pagination {
2103 587 flex-direction: column;
2104 - width: 100%;
588 + align-items: flex-start;
2105 589 }
2106 -
2107 - .mxch-controls-actions .mxch-btn {
2108 - width: 100%;
2109 - justify-content: center;
590 +
591 + .mxchat-pagination-controls {
592 + margin-top: 10px;
2110 593 }
2111 -
2112 - .mxch-controls-actions form {
2113 - width: 100%;
2114 - }
2115 594 }
2116 595
2117 -/* Product Card in Transcripts */
2118 -.mxch-message-bubble .mxchat-product-card {
2119 - display: flex;
2120 - flex-direction: column;
2121 - align-items: center;
2122 - margin: 8px 0;
2123 - padding: 12px;
2124 - border-radius: 8px;
2125 - background: #f9f9f9;
2126 - border: 1px solid #e5e5e5;
2127 - max-width: 280px;
596 +/* Focus states for accessibility */
597 +.mxchat-checkbox:focus {
598 + outline: 2px solid #7873f5;
599 + outline-offset: 2px;
2128 600 }
2129 601
2130 -.mxch-message-bubble .mxchat-product-card a.mxchat-product-link {
2131 - text-decoration: none;
2132 - color: inherit;
2133 - display: flex;
2134 - flex-direction: column;
2135 - align-items: center;
602 +.mxchat-page a:focus,
603 +.mxchat-links a:focus {
604 + outline: 2px solid #3b82f6;
605 + outline-offset: 1px;
606 + border-radius: 2px;
2136 607 }
2137 608
2138 -.mxch-message-bubble .mxchat-product-card img.mxchat-product-image {
2139 - max-width: 100%;
2140 - height: auto;
2141 - max-height: 180px;
2142 - object-fit: contain;
2143 - margin-bottom: 8px;
2144 - border-radius: 6px;
609 +/* Animation for new sessions */
610 +.mxchat-session.animate-in {
611 + animation: slideInFromTop 0.3s ease-out;
2145 612 }
2146 613
2147 -.mxch-message-bubble .mxchat-product-card h3.mxchat-product-name {
2148 - font-size: 14px;
2149 - font-weight: 600;
2150 - margin: 4px 0;
2151 - text-align: center;
2152 - color: #1a1a1a;
2153 -}
2154 -
2155 -.mxch-message-bubble .mxchat-product-card .mxchat-product-price {
2156 - color: #2e7d32;
2157 - font-weight: 600;
2158 - font-size: 15px;
2159 - margin: 4px 0 8px;
2160 -}
2161 -
2162 -.mxch-message-bubble .mxchat-product-card .mxchat-add-to-cart-button {
2163 - background-color: #212121;
2164 - color: #fff;
2165 - padding: 7px 16px;
2166 - border: none;
2167 - border-radius: 6px;
2168 - font-size: 13px;
2169 - cursor: default;
2170 - opacity: 0.6;
2171 -}
2172 -
2173 -.mxch-message-bubble .mxchat-product-card select {
2174 - width: 100%;
2175 - padding: 6px 8px;
2176 - margin: 4px 0;
2177 - border: 1px solid #ddd;
2178 - border-radius: 4px;
2179 - font-size: 13px;
2180 -}
2181 -
2182 -/* Featured Products in Transcripts */
2183 -.mxch-message-bubble .mxchat-featured-products {
2184 - margin: 8px 0;
2185 - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
2186 - line-height: 1.4;
2187 - display: flex;
2188 - flex-direction: column;
2189 - gap: 0;
2190 - padding: 0;
2191 -}
2192 -
2193 -.mxch-message-bubble .mxchat-featured-item {
2194 - padding: 10px 0;
2195 - border-bottom: 1px solid #e5e5e5;
2196 - margin: 0;
2197 -}
2198 -
2199 -.mxch-message-bubble .mxchat-featured-item:last-child {
2200 - border-bottom: none;
2201 - padding-bottom: 0;
2202 -}
2203 -
2204 -.mxch-message-bubble .mxchat-featured-item:first-child {
2205 - padding-top: 0;
2206 -}
2207 -
2208 -.mxch-message-bubble .mxchat-featured-item-top {
2209 - display: flex;
2210 - flex-direction: row;
2211 - align-items: center;
2212 - gap: 12px;
2213 - margin-bottom: 8px;
2214 -}
2215 -
2216 -.mxch-message-bubble .mxchat-featured-item-image {
2217 - flex-shrink: 0;
2218 - width: 70px;
2219 - height: 70px;
2220 - overflow: hidden;
2221 - border-radius: 8px;
2222 - background: #f1f1f1;
2223 -}
2224 -
2225 -.mxch-message-bubble .mxchat-featured-item-image a {
2226 - display: block;
2227 - width: 70px;
2228 - height: 70px;
2229 - text-decoration: none;
2230 -}
2231 -
2232 -.mxch-message-bubble .mxchat-featured-item-image img {
2233 - width: 70px;
2234 - height: 70px;
2235 - object-fit: cover;
2236 - border-radius: 8px;
2237 - display: block;
2238 -}
2239 -
2240 -.mxch-message-bubble .mxchat-featured-item-info {
2241 - flex: 1;
2242 - min-width: 0;
2243 - display: flex;
2244 - flex-direction: column;
2245 - gap: 2px;
2246 - justify-content: center;
2247 -}
2248 -
2249 -.mxch-message-bubble .mxchat-featured-item-title,
2250 -.mxch-message-bubble a.mxchat-featured-item-title {
2251 - font-size: 13px;
2252 - font-weight: 600;
2253 - color: #1a1a1a;
2254 - text-decoration: none;
2255 - line-height: 1.3;
2256 - display: -webkit-box;
2257 - -webkit-line-clamp: 2;
2258 - -webkit-box-orient: vertical;
2259 - overflow: hidden;
2260 - margin: 0;
2261 - padding: 0;
2262 -}
2263 -
2264 -.mxch-message-bubble a.mxchat-featured-item-title:hover {
2265 - opacity: 0.8;
2266 -}
2267 -
2268 -.mxch-message-bubble .mxchat-featured-item-price {
2269 - font-weight: 700;
2270 - font-size: 13px;
2271 - color: #2e7d32;
2272 - margin: 0;
2273 -}
2274 -
2275 -.mxch-message-bubble .mxchat-featured-item-price del {
2276 - opacity: 0.6;
2277 - font-weight: 400;
2278 - font-size: 0.85em;
2279 - margin-right: 4px;
2280 -}
2281 -
2282 -.mxch-message-bubble .mxchat-featured-item-price ins {
2283 - text-decoration: none;
2284 - background: none;
2285 -}
2286 -
2287 -.mxch-message-bubble .mxchat-featured-item-actions {
2288 - display: flex;
2289 - flex-direction: row;
2290 - gap: 8px;
2291 - margin: 0;
2292 - padding: 0;
2293 -}
2294 -
2295 -.mxch-message-bubble .mxchat-featured-btn-details,
2296 -.mxch-message-bubble a.mxchat-featured-btn-details {
2297 - display: flex;
2298 - align-items: center;
2299 - justify-content: center;
2300 - flex: 1;
2301 - padding: 7px 10px;
2302 - font-size: 12px;
2303 - font-weight: 500;
2304 - border-radius: 6px;
2305 - text-decoration: none;
2306 - border: 1px solid #ddd;
2307 - background: transparent;
2308 - color: #1a1a1a;
2309 - text-align: center;
2310 - line-height: 1.2;
2311 -}
2312 -
2313 -.mxch-message-bubble .mxchat-featured-btn-cart,
2314 -.mxch-message-bubble button.mxchat-featured-btn-cart {
2315 - display: flex;
2316 - align-items: center;
2317 - justify-content: center;
2318 - flex: 1;
2319 - padding: 7px 10px;
2320 - font-size: 12px;
2321 - font-weight: 500;
2322 - border-radius: 6px;
2323 - border: none;
2324 - background: #212121;
2325 - color: #fff;
2326 - cursor: default;
2327 - opacity: 0.6;
2328 - line-height: 1.2;
2329 -}
2330 -
2331 -/* ==========================================================================
2332 - Leads Tab
2333 - ========================================================================== */
2334 -
2335 -.mxch-leads-stats {
2336 - display: grid;
2337 - grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
2338 - gap: var(--mxch-spacing-lg);
2339 - margin-bottom: var(--mxch-spacing-xl);
2340 -}
2341 -
2342 -.mxch-leads-toppages {
2343 - margin-bottom: var(--mxch-spacing-xl);
2344 -}
2345 -
2346 -.mxch-leads-toppages-hint {
2347 - margin-left: auto;
2348 - font-size: 12px;
2349 - color: var(--mxch-text-muted);
2350 - font-weight: 400;
2351 -}
2352 -
2353 -.mxch-leads-toppages-list {
2354 - display: grid;
2355 - grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
2356 - gap: var(--mxch-spacing-sm);
2357 -}
2358 -
2359 -.mxch-leads-toppage-row {
2360 - display: flex;
2361 - align-items: center;
2362 - justify-content: space-between;
2363 - gap: var(--mxch-spacing-sm);
2364 - padding: 10px 14px;
2365 - background: var(--mxch-card-bg);
2366 - border: 1px solid var(--mxch-card-border);
2367 - border-radius: var(--mxch-radius-md);
2368 - text-align: left;
2369 - cursor: pointer;
2370 - transition: all var(--mxch-transition);
2371 - color: var(--mxch-text-primary);
2372 - font-size: 13px;
2373 -}
2374 -
2375 -.mxch-leads-toppage-row:hover {
2376 - border-color: var(--mxch-primary);
2377 - box-shadow: var(--mxch-card-shadow-hover);
2378 -}
2379 -
2380 -.mxch-leads-toppage-row.is-active {
2381 - border-color: var(--mxch-primary);
2382 - background: rgba(99, 102, 241, 0.06);
2383 -}
2384 -
2385 -.mxch-leads-toppage-title {
2386 - flex: 1 1 auto;
2387 - min-width: 0;
2388 - overflow: hidden;
2389 - text-overflow: ellipsis;
2390 - white-space: nowrap;
2391 -}
2392 -
2393 -.mxch-leads-toppage-count {
2394 - flex: 0 0 auto;
2395 - display: inline-flex;
2396 - align-items: center;
2397 - justify-content: center;
2398 - min-width: 28px;
2399 - height: 22px;
2400 - padding: 0 8px;
2401 - border-radius: 999px;
2402 - background: var(--mxch-primary);
2403 - color: #fff;
2404 - font-size: 11px;
2405 - font-weight: 600;
2406 -}
2407 -
2408 -.mxch-leads-empty-mini {
2409 - padding: 12px;
2410 - text-align: center;
2411 - color: var(--mxch-text-muted);
2412 - font-size: 13px;
2413 -}
2414 -
2415 -/* Toolbar + card */
2416 -.mxch-leads-card {
2417 - padding: 0;
2418 - overflow: hidden;
2419 -}
2420 -
2421 -.mxch-leads-toolbar {
2422 - display: flex;
2423 - align-items: center;
2424 - justify-content: space-between;
2425 - gap: var(--mxch-spacing-md);
2426 - padding: var(--mxch-spacing-md) var(--mxch-spacing-lg);
2427 - border-bottom: 1px solid var(--mxch-card-border);
2428 - flex-wrap: wrap;
2429 -}
2430 -
2431 -.mxch-leads-toolbar-left,
2432 -.mxch-leads-toolbar-right {
2433 - display: flex;
2434 - align-items: center;
2435 - gap: var(--mxch-spacing-sm);
2436 -}
2437 -
2438 -.mxch-leads-export {
2439 - position: relative;
2440 -}
2441 -
2442 -.mxch-leads-export-menu {
2443 - position: absolute;
2444 - right: 0;
2445 - top: calc(100% + 6px);
2446 - min-width: 240px;
2447 - background: var(--mxch-card-bg);
2448 - border: 1px solid var(--mxch-card-border);
2449 - border-radius: var(--mxch-radius-md);
2450 - box-shadow: var(--mxch-card-shadow-hover);
2451 - padding: 4px;
2452 - z-index: 20;
2453 - display: none;
2454 -}
2455 -
2456 -.mxch-leads-export-menu.is-open { display: block; }
2457 -
2458 -.mxch-leads-export-menu button {
2459 - display: block;
2460 - width: 100%;
2461 - padding: 8px 12px;
2462 - background: transparent;
2463 - border: none;
2464 - border-radius: 6px;
2465 - text-align: left;
2466 - color: var(--mxch-text-primary);
2467 - font-size: 13px;
2468 - cursor: pointer;
2469 -}
2470 -
2471 -.mxch-leads-export-menu button:hover:not(:disabled) {
2472 - background: rgba(99, 102, 241, 0.08);
2473 -}
2474 -
2475 -.mxch-leads-export-menu button:disabled {
2476 - color: var(--mxch-text-muted);
2477 - cursor: not-allowed;
2478 -}
2479 -
2480 -/* Filters row */
2481 -.mxch-leads-filters {
2482 - display: flex;
2483 - align-items: center;
2484 - gap: var(--mxch-spacing-sm);
2485 - padding: var(--mxch-spacing-md) var(--mxch-spacing-lg);
2486 - border-bottom: 1px solid var(--mxch-card-border);
2487 - flex-wrap: wrap;
2488 -}
2489 -
2490 -.mxch-leads-filters .mxch-search-wrapper {
2491 - flex: 1 1 260px;
2492 - min-width: 180px;
2493 -}
2494 -
2495 -.mxch-leads-filters .mxch-select {
2496 - height: 36px;
2497 - min-width: 160px;
2498 -}
2499 -
2500 -.mxch-leads-active-page-filter {
2501 - display: inline-flex;
2502 - align-items: center;
2503 - gap: 6px;
2504 - padding: 4px 6px 4px 10px;
2505 - background: rgba(99, 102, 241, 0.08);
2506 - border: 1px solid rgba(99, 102, 241, 0.28);
2507 - border-radius: 999px;
2508 - font-size: 12px;
2509 - color: var(--mxch-text-primary);
2510 - max-width: 280px;
2511 -}
2512 -
2513 -.mxch-leads-page-chip-label {
2514 - overflow: hidden;
2515 - text-overflow: ellipsis;
2516 - white-space: nowrap;
2517 -}
2518 -
2519 -.mxch-leads-page-chip-remove {
2520 - border: none;
2521 - background: transparent;
2522 - font-size: 16px;
2523 - line-height: 1;
2524 - cursor: pointer;
2525 - padding: 0 4px;
2526 - color: var(--mxch-text-muted);
2527 -}
2528 -
2529 -.mxch-leads-page-chip-remove:hover {
2530 - color: var(--mxch-text-primary);
2531 -}
2532 -
2533 -/* Table */
2534 -.mxch-leads-table-wrap {
2535 - overflow-x: auto;
2536 -}
2537 -
2538 -.mxch-leads-table {
2539 - width: 100%;
2540 - border-collapse: separate;
2541 - border-spacing: 0;
2542 - font-size: 13px;
2543 -}
2544 -
2545 -.mxch-leads-table thead th {
2546 - padding: 10px 14px;
2547 - text-align: left;
2548 - background: var(--mxch-card-bg);
2549 - border-bottom: 1px solid var(--mxch-card-border);
2550 - color: var(--mxch-text-secondary);
2551 - font-weight: 600;
2552 - font-size: 11px;
2553 - text-transform: uppercase;
2554 - letter-spacing: 0.04em;
2555 - position: sticky;
2556 - top: 0;
2557 -}
2558 -
2559 -.mxch-leads-table tbody td {
2560 - padding: 12px 14px;
2561 - border-bottom: 1px solid var(--mxch-card-border);
2562 - vertical-align: middle;
2563 - color: var(--mxch-text-primary);
2564 -}
2565 -
2566 -.mxch-leads-table tbody tr:last-child td {
2567 - border-bottom: none;
2568 -}
2569 -
2570 -.mxch-leads-table tbody tr:hover {
2571 - background: rgba(99, 102, 241, 0.04);
2572 -}
2573 -
2574 -.mxch-leads-row.is-orphan .mxch-leads-lead-email {
2575 - font-style: italic;
2576 - color: var(--mxch-text-secondary);
2577 -}
2578 -
2579 -.mxch-leads-table { table-layout: fixed; }
2580 -
2581 -.mxch-leads-col-check { width: 40px; }
2582 -.mxch-leads-col-lead { width: auto; min-width: 280px; }
2583 -.mxch-leads-col-count { width: 130px; text-align: left; }
2584 -.mxch-leads-col-last { width: 110px; white-space: nowrap; }
2585 -.mxch-leads-col-page { width: 180px; max-width: 180px; }
2586 -.mxch-leads-col-actions { width: 170px; white-space: nowrap; text-align: right; }
2587 -
2588 -.mxch-leads-lead-cell {
2589 - display: flex;
2590 - flex-direction: column;
2591 - min-width: 0;
2592 - gap: 2px;
2593 -}
2594 -
2595 -.mxch-leads-lead-email {
2596 - font-weight: 500;
2597 - color: var(--mxch-text-primary);
2598 - overflow: hidden;
2599 - text-overflow: ellipsis;
2600 - white-space: nowrap;
2601 -}
2602 -
2603 -.mxch-leads-lead-name {
2604 - font-size: 11px;
2605 - color: var(--mxch-text-muted);
2606 - overflow: hidden;
2607 - text-overflow: ellipsis;
2608 - white-space: nowrap;
2609 -}
2610 -
2611 -.mxch-leads-muted { color: var(--mxch-text-muted); }
2612 -
2613 -.mxch-leads-pill {
2614 - display: inline-flex;
2615 - align-items: center;
2616 - justify-content: center;
2617 - min-width: 28px;
2618 - height: 22px;
2619 - padding: 0 8px;
2620 - border-radius: 999px;
2621 - background: rgba(99, 102, 241, 0.12);
2622 - color: var(--mxch-primary);
2623 - font-weight: 600;
2624 - font-size: 11px;
2625 -}
2626 -
2627 -.mxch-leads-pill-orphan {
2628 - background: rgba(245, 158, 11, 0.14);
2629 - color: var(--mxch-warning);
2630 -}
2631 -
2632 -.mxch-leads-pill-deleted {
2633 - background: rgba(100, 116, 139, 0.12);
2634 - color: var(--mxch-text-secondary);
2635 - border: 1px solid rgba(100, 116, 139, 0.22);
2636 - padding: 0 10px;
2637 -}
2638 -
2639 -/* Consent column (b062c4). Yes/No are recorded decisions; "not recorded"
2640 - renders via .mxch-leads-muted (different fact, different look). */
2641 -.mxch-leads-pill-consent-yes {
2642 - background: rgba(16, 185, 129, 0.14);
2643 - color: var(--mxch-success, #059669);
2644 -}
2645 -
2646 -.mxch-leads-pill-consent-no {
2647 - background: rgba(239, 68, 68, 0.12);
2648 - color: var(--mxch-danger, #dc2626);
2649 -}
2650 -
2651 -.mxch-leads-row.is-chat-deleted .mxch-leads-lead-email {
2652 - color: var(--mxch-text-secondary);
2653 -}
2654 -
2655 -.mxch-transcript-confirm-check {
2656 - display: flex;
2657 - gap: 10px;
2658 - align-items: flex-start;
2659 - padding: 10px 12px;
2660 - margin: 12px 0 4px;
2661 - background: rgba(99, 102, 241, 0.04);
2662 - border: 1px solid var(--mxch-card-border);
2663 - border-radius: var(--mxch-radius-md);
2664 - cursor: pointer;
2665 -}
2666 -
2667 -.mxch-transcript-confirm-check input[type="checkbox"] {
2668 - margin-top: 3px;
2669 - flex: 0 0 auto;
2670 -}
2671 -
2672 -.mxch-transcript-confirm-check strong {
2673 - display: block;
2674 - color: var(--mxch-text-primary);
2675 - font-weight: 600;
2676 - font-size: 13px;
2677 -}
2678 -
2679 -.mxch-transcript-confirm-sublabel {
2680 - display: block;
2681 - margin-top: 2px;
2682 - font-size: 12px;
2683 - color: var(--mxch-text-muted);
2684 - font-style: normal;
2685 -}
2686 -
2687 -.mxch-leads-page-link {
2688 - display: inline-block;
2689 - max-width: 100%;
2690 - overflow: hidden;
2691 - text-overflow: ellipsis;
2692 - white-space: nowrap;
2693 - vertical-align: middle;
2694 - color: var(--mxch-primary);
2695 - text-decoration: none;
2696 -}
2697 -
2698 -.mxch-leads-page-link:hover { text-decoration: underline; }
2699 -
2700 -.mxch-leads-col-actions .mxch-btn {
2701 - margin-left: 6px;
2702 -}
2703 -
2704 -.mxch-btn-danger-ghost {
2705 - color: #b91c1c;
2706 -}
2707 -
2708 -.mxch-btn-danger-ghost:hover {
2709 - background: rgba(185, 28, 28, 0.08);
2710 - color: #991b1b;
2711 -}
2712 -
2713 -.mxch-leads-empty,
2714 -.mxch-leads-loading {
2715 - padding: 40px 16px;
2716 - text-align: center;
2717 - color: var(--mxch-text-muted);
2718 -}
2719 -
2720 -.mxch-leads-empty-wrap {
2721 - display: flex;
2722 - flex-direction: column;
2723 - align-items: center;
2724 - gap: var(--mxch-spacing-sm);
2725 - color: var(--mxch-text-muted);
2726 -}
2727 -
2728 -.mxch-leads-empty-wrap svg { opacity: 0.6; }
2729 -
2730 -.mxch-leads-count {
2731 - font-size: 12px;
2732 - color: var(--mxch-text-muted);
2733 -}
2734 -
2735 -/* Confirm modal */
2736 -.mxch-leads-confirm-box {
2737 - max-width: 440px;
2738 -}
2739 -
2740 -.mxch-leads-confirm-warning {
2741 - color: var(--mxch-text-muted);
2742 - font-size: 12px;
2743 - margin-top: 8px;
2744 -}
2745 -
2746 -.mxch-leads-confirm-actions {
2747 - display: flex;
2748 - justify-content: flex-end;
2749 - gap: 8px;
2750 - padding: var(--mxch-spacing-md) var(--mxch-spacing-lg);
2751 - border-top: 1px solid var(--mxch-card-border);
2752 -}
2753 -
2754 -/* Responsive: tablet */
2755 -@media (max-width: 1024px) {
2756 - .mxch-leads-col-page { width: 140px; max-width: 140px; }
2757 - .mxch-leads-col-actions { width: 140px; }
2758 - .mxch-leads-col-actions .mxch-leads-view span { display: none; }
2759 -}
2760 -
2761 -/* Responsive: phone */
2762 -@media (max-width: 768px) {
2763 - .mxch-leads-col-page,
2764 - .mxch-leads-col-last {
2765 - display: none;
614 +@keyframes slideInFromTop {
615 + 0% {
616 + opacity: 0;
617 + transform: translateY(-10px);
2766 618 }
2767 - .mxch-leads-filters {
2768 - padding: var(--mxch-spacing-sm);
619 + 100% {
620 + opacity: 1;
621 + transform: translateY(0);
2769 622 }
2770 - .mxch-leads-filters .mxch-select {
2771 - flex: 1 1 48%;
2772 - min-width: 0;
2773 - }
2774 - .mxch-leads-toolbar {
2775 - padding: var(--mxch-spacing-sm);
2776 - }
2777 - .mxch-leads-table thead th { padding: 8px 10px; font-size: 10px; }
2778 - .mxch-leads-table tbody td { padding: 10px; font-size: 12px; }
2779 -}
2780 -
2781 -@media (max-width: 480px) {
2782 - .mxch-leads-col-count { display: none; }
2783 - .mxch-leads-toppages-list { grid-template-columns: 1fr; }
2784 -}
2785 -
2786 -/* Satisfaction card on Transcripts dashboard (plan-a5b006). */
2787 -.mxch-satisfaction-card .mxch-card-body {
2788 - padding: var(--mxch-spacing-md);
2789 -}
2790 -.mxch-satisfaction-empty {
2791 - margin: 0;
2792 - padding: var(--mxch-spacing-sm) 0;
2793 - color: #6b7280;
2794 - font-size: 13px;
2795 - line-height: 1.5;
2796 -}
2797 -.mxch-satisfaction-list {
2798 - list-style: none;
2799 - margin: 0;
2800 - padding: 0;
2801 - display: flex;
2802 - flex-direction: column;
2803 - gap: 8px;
2804 -}
2805 -.mxch-satisfaction-row {
2806 - display: flex;
2807 - align-items: center;
2808 - gap: var(--mxch-spacing-md);
2809 - padding: 10px 12px;
2810 - background: #f9fafb;
2811 - border: 1px solid #f3f4f6;
2812 - border-radius: var(--mxch-radius-md, 8px);
2813 -}
2814 -.mxch-satisfaction-bot {
2815 - flex: 0 0 28%;
2816 - min-width: 0;
2817 - font-weight: 600;
2818 - font-size: 13px;
2819 - color: #1a1a2e;
2820 - overflow: hidden;
2821 - text-overflow: ellipsis;
2822 - white-space: nowrap;
2823 -}
2824 -.mxch-satisfaction-meta {
2825 - flex: 1;
2826 - display: flex;
2827 - align-items: center;
2828 - gap: 10px;
2829 - font-size: 12px;
2830 - color: #4b5563;
2831 - flex-wrap: wrap;
2832 -}
2833 -.mxch-satisfaction-total {
2834 - color: #6b7280;
2835 - white-space: nowrap;
2836 -}
2837 -.mxch-satisfaction-bar {
2838 - flex: 1;
2839 - min-width: 80px;
2840 - height: 6px;
2841 - background: #e5e7eb;
2842 - border-radius: 999px;
2843 - overflow: hidden;
2844 - display: flex;
2845 -}
2846 -.mxch-satisfaction-bar-up {
2847 - background: #10b981;
2848 - height: 100%;
2849 -}
2850 -.mxch-satisfaction-bar-down {
2851 - background: #ef4444;
2852 - height: 100%;
2853 -}
2854 -.mxch-satisfaction-pct {
2855 - display: inline-flex;
2856 - align-items: center;
2857 - gap: 4px;
2858 - font-weight: 600;
2859 - white-space: nowrap;
2860 -}
2861 -.mxch-satisfaction-pct-up { color: #047857; }
2862 -.mxch-satisfaction-pct-down { color: #b91c1c; }
2863 -@media (max-width: 600px) {
2864 - .mxch-satisfaction-row { flex-direction: column; align-items: flex-start; gap: 8px; }
2865 - .mxch-satisfaction-bot { flex: 1 1 100%; }
2866 - .mxch-satisfaction-meta { width: 100%; }
2867 -}
2868 -
2869 -/* Details drawer — Feedback row value (user-submitted rating feedback). */
2870 -.mxch-detail-feedback-value {
2871 - white-space: pre-wrap;
2872 - word-break: break-word;
2873 - max-width: 100%;
2874 - display: block;
2875 - margin-top: 4px;
2876 - opacity: 0.9;
2877 - font-style: italic;
2878 -}
623 +}