PluginProbe
MxChat – AI Chatbot & Content Generation for WordPress / 2.6.2
MxChat – AI Chatbot & Content Generation for WordPress v2.6.2
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 +397 -2647 3.2.202.6.2 View file →
@@ -1,2878 +1,628 @@
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;
330 + max-width: 500px;
331 + max-height: 90vh;
1618 332 display: flex;
1619 333 flex-direction: column;
1620 - animation: mxchSlideIn 0.2s ease;
334 + animation: mxchatNotificationSlideIn 0.3s ease;
1621 335 }
1622 336
1623 -@keyframes mxchSlideIn {
1624 - from {
1625 - transform: translateY(-20px);
1626 - opacity: 0;
1627 - }
1628 - to {
1629 - transform: translateY(0);
1630 - opacity: 1;
1631 - }
337 +@keyframes mxchatNotificationSlideIn {
338 + from { transform: translateY(-20px); opacity: 0; }
339 + to { transform: translateY(0); opacity: 1; }
1632 340 }
1633 341
1634 -.mxch-modal-header {
342 +.mxchat-chat-notification-modal-header {
343 + padding: 20px;
344 + border-bottom: 1px solid #e5e7eb;
1635 345 display: flex;
346 + justify-content: space-between;
1636 347 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 348 }
1641 349
1642 -.mxch-modal-header h2 {
1643 - font-size: 18px;
350 +.mxchat-chat-notification-modal-header h2 {
351 + margin: 0;
352 + font-size: 20px;
1644 353 font-weight: 600;
1645 - color: var(--mxch-text-primary);
1646 - margin: 0;
354 + color: #1f2937;
1647 355 }
1648 356
1649 -.mxch-modal-close {
1650 - width: 32px;
1651 - height: 32px;
1652 - display: flex;
1653 - align-items: center;
1654 - justify-content: center;
357 +.mxchat-chat-notification-modal-close {
1655 358 background: none;
1656 359 border: none;
1657 360 font-size: 24px;
1658 - color: var(--mxch-text-muted);
1659 361 cursor: pointer;
1660 - border-radius: var(--mxch-radius-sm);
1661 - transition: all var(--mxch-transition-fast);
362 + color: #6b7280;
363 + padding: 0;
364 + width: 30px;
365 + height: 30px;
366 + display: flex;
367 + align-items: center;
368 + justify-content: center;
369 + border-radius: 50%;
370 + transition: all 0.2s ease;
1662 371 }
1663 372
1664 -.mxch-modal-close:hover {
1665 - background: #f1f5f9;
1666 - color: var(--mxch-text-primary);
373 +.mxchat-chat-notification-modal-close:hover {
374 + background-color: #f3f4f6;
375 + color: #1f2937;
1667 376 }
1668 377
1669 -.mxch-modal-body {
378 +.mxchat-chat-notification-modal-body {
379 + padding: 20px;
380 + overflow-y: auto;
1670 381 flex: 1;
1671 - padding: var(--mxch-spacing-lg);
1672 - overflow-y: auto;
1673 382 }
1674 383
1675 -/* RAG Context Styles */
1676 -.mxch-rag-summary {
384 +.mxchat-chat-notification-modal-body p {
385 + margin-top: 0;
386 + color: #4b5563;
387 + line-height: 1.6;
388 +}
389 +
390 +.mxchat-chat-notification-modal-footer {
391 + padding: 20px;
392 + border-top: 1px solid #e5e7eb;
1677 393 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);
394 + justify-content: flex-end;
395 + gap: 10px;
1684 396 }
1685 397
1686 -.mxch-rag-summary-item {
1687 - font-size: 13px;
398 +#mxchat-chat-email-notification-btn:hover {
399 + transform: translateY(-2px);
400 + box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
1688 401 }
1689 402
1690 -.mxch-rag-label {
1691 - color: var(--mxch-text-secondary);
403 +#mxchat-chat-email-notification-btn .dashicons {
404 + font-size: 18px;
405 + width: 18px;
406 + height: 18px;
1692 407 }
1693 408
1694 -.mxch-rag-value {
1695 - font-weight: 600;
1696 - color: var(--mxch-text-primary);
409 +/* Form styles within chat notification modal */
410 +.mxchat-chat-notification-modal-content .form-table {
411 + margin: 0;
1697 412 }
1698 413
1699 -.mxch-rag-matches h3 {
1700 - font-size: 14px;
414 +.mxchat-chat-notification-modal-content .form-table th {
415 + padding: 15px 10px 15px 0;
416 + width: 180px;
1701 417 font-weight: 600;
1702 - color: var(--mxch-text-primary);
1703 - margin: 0 0 var(--mxch-spacing-md) 0;
418 + color: #374151;
1704 419 }
1705 420
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);
421 +.mxchat-chat-notification-modal-content .form-table td {
422 + padding: 15px 10px;
1711 423 }
1712 424
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 {
425 +.mxchat-chat-notification-modal-content .regular-text {
426 + width: 100%;
427 + max-width: 100%;
428 + border: 1px solid #d1d5db;
429 + border-radius: 6px;
430 + padding: 8px 12px;
1731 431 font-size: 14px;
1732 - font-weight: 700;
1733 - color: var(--mxch-primary);
1734 432 }
1735 433
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 {
434 +.mxchat-chat-notification-modal-content .description {
435 + margin-top: 8px;
436 + color: #6b7280;
1783 437 font-size: 13px;
1784 - color: var(--mxch-text-secondary);
1785 - word-break: break-all;
1786 438 }
1787 439
1788 -.mxch-rag-match-source a {
1789 - color: var(--mxch-primary);
1790 - text-decoration: none;
440 +/* Checkbox styling in chat notification modal */
441 +.mxchat-chat-notification-modal-content input[type="checkbox"] {
442 + margin-right: 8px;
1791 443 }
1792 444
1793 -.mxch-rag-match-source a:hover {
1794 - text-decoration: underline;
445 +.mxchat-chat-notification-modal-content label {
446 + color: #374151;
447 + font-size: 14px;
1795 448 }
1796 449
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);
450 +/* Button styling in chat notification modal */
451 +.mxchat-chat-notification-modal-content .button {
452 + padding: 8px 16px;
453 + border-radius: 6px;
454 + font-size: 14px;
455 + cursor: pointer;
456 + transition: all 0.2s ease;
1805 457 }
1806 458
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;
459 +.mxchat-chat-notification-modal-content .button-primary {
460 + background: linear-gradient(135deg, #3b82f6, #8b5cf6);
1814 461 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);
462 + color: #fff;
1822 463 }
1823 464
1824 -.mxch-context-tab:hover {
1825 - color: var(--mxch-text-primary);
1826 - background: rgba(255, 255, 255, 0.5);
465 +.mxchat-chat-notification-modal-content .button-primary:hover {
466 + transform: translateY(-1px);
467 + box-shadow: 0 4px 12px rgba(59, 130, 246, 0.2);
1827 468 }
1828 469
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);
470 +.mxchat-chat-notification-modal-content .mxchat-chat-notification-modal-cancel {
471 + background: #f3f4f6;
472 + border: 1px solid #e5e7eb;
473 + color: #374151;
1833 474 }
1834 475
1835 -.mxch-context-tab svg {
1836 - width: 16px;
1837 - height: 16px;
1838 - flex-shrink: 0;
476 +.mxchat-chat-notification-modal-content .mxchat-chat-notification-modal-cancel:hover {
477 + background: #e5e7eb;
1839 478 }
1840 479
1841 -.mxch-tab-badge {
1842 - display: inline-flex;
480 +/* Pagination Styles */
481 +.mxchat-pagination {
482 + margin-top: 20px;
483 + display: flex;
484 + flex-wrap: wrap;
485 + justify-content: space-between;
1843 486 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 487 }
1854 488
1855 -.mxch-context-tab.active .mxch-tab-badge {
1856 - background: var(--mxch-primary);
1857 - color: white;
489 +.mxchat-pagination-info {
490 + margin-bottom: 10px;
491 + color: #666;
1858 492 }
1859 493
1860 -.mxch-tab-content {
1861 - min-height: 200px;
494 +.mxchat-pagination-controls {
495 + display: flex;
496 + flex-wrap: wrap;
497 + gap: 5px;
1862 498 }
1863 499
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;
500 +.mxchat-pagination-button {
501 + padding: 6px 12px;
502 + background: #f7f7f7;
503 + border: 1px solid #ddd;
1910 504 border-radius: 3px;
1911 - margin-top: var(--mxch-spacing-sm);
1912 - overflow: visible;
505 + cursor: pointer;
506 + transition: all 0.2s ease;
1913 507 }
1914 508
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;
509 +.mxchat-pagination-button:hover {
510 + background: #e9e9e9;
1923 511 }
1924 512
1925 -.mxch-action-triggered .mxch-action-score-fill {
1926 - background: linear-gradient(90deg, #f59e0b, #fbbf24);
513 +.mxchat-pagination-button.active {
514 + background: #2271b1;
515 + border-color: #2271b1;
516 + color: white;
517 + font-weight: bold;
1927 518 }
1928 519
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%);
520 +.mxchat-pagination-ellipsis {
521 + padding: 6px 8px;
522 + color: #666;
1937 523 }
1938 524
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 {
525 +/* No Results Styling */
526 +.mxchat-no-results {
2015 527 text-align: center;
2016 - padding: var(--mxch-spacing-xl);
2017 - color: var(--mxch-text-secondary);
528 + padding: 40px 20px;
529 + color: #6b7280;
530 + font-size: 16px;
531 + background: #f9fafb;
532 + border-radius: 8px;
533 + border: 2px dashed #d1d5db;
2018 534 }
2019 535
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);
536 +/* Responsive Design */
537 +@media (max-width: 768px) {
538 + body.wp-admin .wrap.mxchat-transcripts-wrapper {
539 + padding: 0;
2030 540 }
2031 -
2032 - .mxch-stat-card {
2033 - padding: var(--mxch-spacing-md);
541 +
542 + body.wp-admin .wrap.mxchat-transcripts-wrapper .mxchat-main-title {
543 + font-size: 2.5rem;
2034 544 }
2035 -
2036 - .mxch-stat-value {
2037 - font-size: 22px;
545 +
546 + body.wp-admin .wrap.mxchat-transcripts-wrapper .mxchat-transcripts-hero {
547 + padding: 2.5rem 1.5rem;
2038 548 }
2039 -
2040 - .mxch-cards-row {
2041 - grid-template-columns: 1fr;
549 +
550 + .auto-fold #wpcontent {
551 + margin-left: 0;
552 + padding-left: 0px;
2042 553 }
2043 -
2044 - .mxch-transcripts-controls {
2045 - flex-direction: column;
2046 - align-items: stretch;
554 +
555 + .mxchat-action-button {
556 + width: 100%;
2047 557 }
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 {
558 +
559 + .mxchat-session-header {
560 + padding: 10px 12px;
2058 561 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 562 align-items: flex-start;
563 + gap: 8px;
2071 564 }
2072 -
2073 - .mxch-quick-actions {
2074 - flex-direction: column;
2075 - }
2076 -
2077 - .mxch-quick-action-btn {
565 +
566 + .mxchat-session-info {
2078 567 width: 100%;
2079 - justify-content: center;
568 + gap: 8px;
2080 569 }
2081 -
2082 - /* Chart responsive */
2083 - .mxch-activity-chart-card .mxch-card-header {
570 +
571 + .mxchat-session-details {
2084 572 flex-direction: column;
2085 573 align-items: flex-start;
574 + gap: 6px;
2086 575 }
2087 -
2088 - .mxch-chart-legend {
2089 - margin-top: var(--mxch-spacing-xs);
576 +
577 + .mxchat-user,
578 + .mxchat-page,
579 + .mxchat-links {
580 + max-width: none;
2090 581 }
2091 -
2092 - #mxchat-activity-chart {
2093 - height: 220px !important;
582 +
583 + .mxchat-session-time {
584 + align-self: flex-end;
2094 585 }
2095 -}
2096 -
2097 -@media screen and (max-width: 480px) {
2098 - .mxch-stats-grid {
2099 - grid-template-columns: 1fr;
586 +
587 + .mxchat-messages {
588 + padding: 12px;
2100 589 }
2101 -
2102 - .mxch-controls-actions {
590 +
591 + .mxchat-pagination {
2103 592 flex-direction: column;
2104 - width: 100%;
593 + align-items: flex-start;
2105 594 }
2106 -
2107 - .mxch-controls-actions .mxch-btn {
2108 - width: 100%;
2109 - justify-content: center;
595 +
596 + .mxchat-pagination-controls {
597 + margin-top: 10px;
2110 598 }
2111 -
2112 - .mxch-controls-actions form {
2113 - width: 100%;
2114 - }
2115 599 }
2116 600
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;
601 +/* Focus states for accessibility */
602 +.mxchat-checkbox:focus {
603 + outline: 2px solid #7873f5;
604 + outline-offset: 2px;
2128 605 }
2129 606
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;
607 +.mxchat-page a:focus,
608 +.mxchat-links a:focus {
609 + outline: 2px solid #3b82f6;
610 + outline-offset: 1px;
611 + border-radius: 2px;
2136 612 }
2137 613
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;
614 +/* Animation for new sessions */
615 +.mxchat-session.animate-in {
616 + animation: slideInFromTop 0.3s ease-out;
2145 617 }
2146 618
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;
619 +@keyframes slideInFromTop {
620 + 0% {
621 + opacity: 0;
622 + transform: translateY(-10px);
2766 623 }
2767 - .mxch-leads-filters {
2768 - padding: var(--mxch-spacing-sm);
624 + 100% {
625 + opacity: 1;
626 + transform: translateY(0);
2769 627 }
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 -}
628 +}