PluginProbe
MxChat – AI Chatbot & Content Generation for WordPress / 3.0.2
MxChat – AI Chatbot & Content Generation for WordPress v3.0.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 +1652 -86 2.0.53.0.2 View file →
@@ -1,131 +1,1697 @@
1 +/* ==========================================================================
2 + MxChat Transcripts Page Styles - v2.0
3 + Uses admin-sidebar.css for core layout/navigation styles
4 + ========================================================================== */
1 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);
14 +}
2 15
3 -/* Core Styles */
4 -#wpcontent {
5 - padding-left: 0;
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);
6 25 }
7 -.stat-sublabel {
8 - font-size: 0.8rem;
9 - color: #666;
10 - display: block;
11 - margin-top: 0.5rem;
26 +
27 +.mxch-stat-card:hover {
28 + box-shadow: var(--mxch-card-shadow-hover);
29 + transform: translateY(-2px);
12 30 }
13 -body.wp-admin .wrap.mxchat-transcripts-wrapper {
14 - max-width: 100%;
15 - margin: 0 auto;
31 +
32 +.mxch-stat-icon {
33 + width: 48px;
34 + height: 48px;
35 + border-radius: var(--mxch-radius-md);
36 + display: flex;
37 + align-items: center;
38 + justify-content: center;
39 + flex-shrink: 0;
40 +}
41 +
42 +.mxch-stat-icon svg {
43 + width: 24px;
44 + height: 24px;
45 +}
46 +
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);
76 + line-height: 1.2;
77 +}
78 +
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;
156 + font-weight: 700;
157 + color: var(--mxch-text-primary);
158 +}
159 +
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;
326 + position: relative;
327 +}
328 +
329 +.mxch-search-wrapper svg {
330 + position: absolute;
331 + left: 12px;
332 + color: var(--mxch-text-muted);
333 + pointer-events: none;
334 +}
335 +
336 +.mxch-search-wrapper .mxch-input {
337 + padding-left: 40px;
338 +}
339 +
340 +.mxch-controls-actions {
341 + display: flex;
342 + flex-wrap: wrap;
343 + gap: var(--mxch-spacing-sm);
344 +}
345 +
346 +/* Danger Button */
347 +.mxch-btn-danger {
348 + background: white;
349 + color: var(--mxch-error);
350 + border: 1px solid var(--mxch-error);
351 +}
352 +
353 +.mxch-btn-danger:hover:not(:disabled) {
354 + background: var(--mxch-error);
355 + color: white;
356 +}
357 +
358 +.mxch-btn-danger:disabled {
359 + opacity: 0.5;
360 + cursor: not-allowed;
361 +}
362 +
363 +/* ==========================================================================
364 + Split Panel Layout - Chat List + Conversation View
365 + ========================================================================== */
366 +
367 +/* Override parent content padding and scrolling for split panel view */
368 +.mxch-content:has(#all-chats.mxch-section.active) {
369 + padding: 0 !important;
370 + overflow: hidden !important; /* Prevent content area from scrolling */
371 + height: 100%;
372 +}
373 +
374 +#all-chats.mxch-section {
16 375 padding: 0;
376 + margin: 0;
377 + height: 100%;
378 + overflow: hidden;
17 379 }
18 380
19 -/* Hero Section */
20 -body.wp-admin .wrap.mxchat-transcripts-wrapper .mxchat-transcripts-hero {
21 - text-align: center;
22 - padding: 3.5rem 2rem;
381 +.mxch-split-panel {
382 + display: flex;
383 + height: 100%;
384 + background: #fff;
385 + border: none;
386 + border-radius: 0;
387 + overflow: hidden;
388 +}
389 +
390 +/* Hide the expand button - not needed */
391 +.mxch-panel-expand {
392 + display: none;
393 +}
394 +
395 +/* Left Panel - Chat List */
396 +.mxch-chat-list-panel {
397 + width: 340px;
398 + min-width: 280px;
399 + max-width: 400px;
400 + display: flex;
401 + flex-direction: column;
402 + border-right: 1px solid #e5e7eb;
403 + background: #fff;
404 + min-height: 0; /* Important: allows flex child to shrink below content size */
405 + overflow: hidden;
406 +}
407 +
408 +/* Bulk Actions Toolbar */
409 +.mxch-bulk-toolbar {
410 + display: flex;
411 + align-items: center;
412 + gap: 8px;
413 + padding: 10px 12px;
414 + background: #f8fafc;
415 + border-bottom: 1px solid #e5e7eb;
416 +}
417 +
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;
425 +}
426 +
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;
473 + cursor: not-allowed;
474 +}
475 +
476 +.mxch-selected-count {
477 + font-size: 11px;
478 + color: #3b82f6;
479 + font-weight: 600;
480 + padding: 2px 8px;
481 + background: #eff6ff;
482 + border-radius: 10px;
483 + display: none;
484 +}
485 +
486 +.mxch-selected-count.has-selection {
487 + display: inline-block;
488 +}
489 +
490 +.mxch-panel-header {
491 + padding: 0;
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 {
23 543 position: relative;
24 - background: #212121;
25 - border-bottom: 4px solid transparent;
26 - border-image: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1);
27 - border-image-slice: 1;
544 + background: #fff;
28 545 }
29 546
30 -body.wp-admin .wrap.mxchat-transcripts-wrapper .mxchat-transcripts-hero::before {
31 - content: '';
547 +.mxch-search-wrapper svg {
32 548 position: absolute;
33 - top: 0;
34 - left: 0;
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 {
35 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 {
613 + width: 16px;
614 + height: 16px;
615 + flex-shrink: 0;
616 + cursor: pointer;
617 + accent-color: #3b82f6;
618 + opacity: 0;
619 + transition: opacity 0.15s;
620 +}
621 +
622 +.mxch-chat-item:hover .mxch-chat-checkbox,
623 +.mxch-chat-item.selected .mxch-chat-checkbox,
624 +.mxch-chat-list.selection-mode .mxch-chat-checkbox {
625 + opacity: 1;
626 +}
627 +
628 +/* Always show checkboxes on mobile/touch devices since hover doesn't work */
629 +@media screen and (max-width: 782px) {
630 + .mxch-chat-checkbox {
631 + opacity: 0.4; /* Subtle but visible */
632 + }
633 +
634 + .mxch-chat-item.selected .mxch-chat-checkbox,
635 + .mxch-chat-list.selection-mode .mxch-chat-checkbox {
636 + opacity: 1;
637 + }
638 +}
639 +
640 +/* Avatar hidden - cleaner look */
641 +.mxch-chat-avatar {
642 + display: none;
643 +}
644 +
645 +.mxch-chat-info {
646 + flex: 1;
647 + min-width: 0;
648 +}
649 +
650 +.mxch-chat-name {
651 + font-size: 14px;
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 +.mxch-list-loading,
691 +.mxch-list-empty {
692 + display: flex;
693 + align-items: center;
694 + justify-content: center;
695 + padding: 40px 20px;
696 + color: #9ca3af;
697 + font-size: 13px;
698 +}
699 +
700 +.mxch-panel-footer {
701 + padding: 8px 12px;
702 + border-top: 1px solid #e5e7eb;
703 + background: #f9fafb;
704 +}
705 +
706 +.mxch-pagination-btns {
707 + display: flex;
708 + align-items: center;
709 + justify-content: center;
710 + gap: 8px;
711 +}
712 +
713 +.mxch-page-btn {
714 + width: 32px;
715 + height: 32px;
716 + border: 1px solid #e5e7eb;
717 + background: #fff;
718 + border-radius: 6px;
719 + cursor: pointer;
720 + display: flex;
721 + align-items: center;
722 + justify-content: center;
723 + font-size: 14px;
724 + color: #374151;
725 + transition: all 0.15s;
726 +}
727 +
728 +.mxch-page-btn:hover {
729 + background: #f3f4f6;
730 + border-color: #d1d5db;
731 +}
732 +
733 +.mxch-page-info {
734 + font-size: 12px;
735 + color: #6b7280;
736 +}
737 +
738 +/* Expand Button */
739 +.mxch-panel-expand {
740 + width: 24px;
741 + background: #f9fafb;
742 + border: none;
743 + border-left: 1px solid #e5e7eb;
744 + border-right: 1px solid #e5e7eb;
745 + cursor: pointer;
746 + display: flex;
747 + align-items: center;
748 + justify-content: center;
749 + color: #9ca3af;
750 + transition: all 0.15s;
751 +}
752 +
753 +.mxch-panel-expand:hover {
754 + background: #f3f4f6;
755 + color: #374151;
756 +}
757 +
758 +/* Right Panel - Conversation View */
759 +.mxch-conversation-panel {
760 + flex: 1;
761 + display: flex;
762 + flex-direction: column;
763 + background: #f9fafb;
764 + min-height: 0; /* Important: allows flex child to shrink below content size */
765 + overflow: hidden;
766 +}
767 +
768 +/* Empty State */
769 +.mxch-conversation-empty {
770 + flex: 1;
771 + display: flex;
772 + flex-direction: column;
773 + align-items: center;
774 + justify-content: center;
775 + color: #9ca3af;
776 + text-align: center;
777 + padding: 40px;
778 +}
779 +
780 +.mxch-empty-icon {
781 + margin-bottom: 16px;
782 + opacity: 0.5;
783 +}
784 +
785 +.mxch-conversation-empty h3 {
786 + font-size: 16px;
787 + font-weight: 600;
788 + color: #6b7280;
789 + margin: 0 0 8px 0;
790 +}
791 +
792 +.mxch-conversation-empty p {
793 + font-size: 13px;
794 + margin: 0;
795 +}
796 +
797 +/* Conversation Content */
798 +.mxch-conversation-content {
799 + display: flex;
800 + flex-direction: column;
36 801 height: 100%;
37 - background: radial-gradient(
38 - circle at center,
39 - rgba(250, 115, 230, 0.08) 0%,
40 - rgba(120, 115, 245, 0.08) 50%,
41 - rgba(58, 201, 209, 0.08) 100%
42 - );
43 - z-index: 1;
802 + min-height: 0; /* Important: allows flex child to shrink below content size */
803 + overflow: hidden;
44 804 }
45 805
46 -body.wp-admin .wrap.mxchat-transcripts-wrapper .mxchat-main-title {
47 - font-size: 3.5rem;
48 - margin: 0 0 1.5rem;
49 - line-height: 1.2;
50 - color: white;
51 - position: relative;
52 - z-index: 2;
806 +.mxch-conversation-header {
807 + display: flex;
808 + align-items: center;
809 + gap: 12px;
810 + padding: 16px 20px;
811 + background: #fff;
812 + border-bottom: 1px solid #e5e7eb;
53 813 }
54 814
55 -body.wp-admin .wrap.mxchat-transcripts-wrapper .mxchat-gradient-text {
56 - background: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1);
57 - -webkit-background-clip: text;
58 - -webkit-text-fill-color: transparent;
59 - display: inline-block;
60 - font-weight: 700;
815 +.mxch-user-avatar {
816 + width: 44px;
817 + height: 44px;
818 + border-radius: 50%;
819 + background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
820 + display: flex;
821 + align-items: center;
822 + justify-content: center;
823 + flex-shrink: 0;
61 824 }
62 825
63 -body.wp-admin .wrap.mxchat-transcripts-wrapper .mxchat-hero-subtitle {
64 - font-size: 1.25rem;
65 - color: rgba(255, 255, 255, 0.9);
66 - max-width: 800px;
67 - margin: 0 auto;
68 - position: relative;
69 - z-index: 2;
70 - line-height: 1.6;
826 +.mxch-user-avatar span {
827 + color: #fff;
828 + font-size: 15px;
829 + font-weight: 600;
71 830 }
72 831
73 -/* Content Area */
74 -body.wp-admin .wrap.mxchat-transcripts-wrapper .mxchat-content {
75 - padding: 2rem;
76 - max-width: 1400px;
77 - margin: 0 auto;
832 +.mxch-user-info {
833 + flex: 1;
78 834 }
79 835
80 -/* Responsive Design */
81 -@media (max-width: 768px) {
82 - body.wp-admin .wrap.mxchat-transcripts-wrapper {
836 +.mxch-user-name {
837 + font-size: 15px;
838 + font-weight: 600;
839 + color: #111827;
840 +}
841 +
842 +.mxch-user-meta {
843 + font-size: 12px;
844 + color: #6b7280;
845 + margin-top: 2px;
846 +}
847 +
848 +.mxch-details-toggle {
849 + width: 36px;
850 + height: 36px;
851 + border: 1px solid #e5e7eb;
852 + background: #fff;
853 + border-radius: 8px;
854 + cursor: pointer;
855 + display: flex;
856 + align-items: center;
857 + justify-content: center;
858 + color: #6b7280;
859 + transition: all 0.15s;
860 +}
861 +
862 +.mxch-details-toggle:hover,
863 +.mxch-details-toggle.active {
864 + background: #f3f4f6;
865 + color: #374151;
866 +}
867 +
868 +/* Details Drawer */
869 +.mxch-details-drawer {
870 + background: #fff;
871 + border-bottom: 1px solid #e5e7eb;
872 + padding: 16px 20px;
873 +}
874 +
875 +.mxch-details-section {
876 + margin-bottom: 16px;
877 +}
878 +
879 +.mxch-details-section:last-child {
880 + margin-bottom: 0;
881 +}
882 +
883 +.mxch-details-section h4 {
884 + font-size: 11px;
885 + font-weight: 600;
886 + color: #9ca3af;
887 + text-transform: uppercase;
888 + letter-spacing: 0.5px;
889 + margin: 0 0 10px 0;
890 +}
891 +
892 +.mxch-detail-row {
893 + display: flex;
894 + justify-content: space-between;
895 + align-items: center;
896 + padding: 6px 0;
897 + font-size: 13px;
898 +}
899 +
900 +.mxch-detail-label {
901 + color: #6b7280;
902 +}
903 +
904 +.mxch-detail-value {
905 + color: #111827;
906 + font-weight: 500;
907 +}
908 +
909 +.mxch-detail-value a {
910 + color: #3b82f6;
911 + text-decoration: none;
912 +}
913 +
914 +.mxch-detail-value a:hover {
915 + text-decoration: underline;
916 +}
917 +
918 +.mxch-clicked-links {
919 + display: flex;
920 + flex-direction: column;
921 + gap: 6px;
922 +}
923 +
924 +.mxch-clicked-link {
925 + font-size: 12px;
926 + color: #3b82f6;
927 + text-decoration: none;
928 + padding: 6px 10px;
929 + background: #eff6ff;
930 + border-radius: 6px;
931 + white-space: nowrap;
932 + overflow: hidden;
933 + text-overflow: ellipsis;
934 +}
935 +
936 +.mxch-clicked-link:hover {
937 + background: #dbeafe;
938 +}
939 +
940 +.mxch-details-actions {
941 + display: flex;
942 + gap: 8px;
943 + margin-top: 16px;
944 + padding-top: 16px;
945 + border-top: 1px solid #f3f4f6;
946 +}
947 +
948 +.mxch-btn-sm {
949 + padding: 8px 12px;
950 + font-size: 12px;
951 +}
952 +
953 +/* Messages Area */
954 +.mxch-messages-area {
955 + flex: 1;
956 + overflow-y: auto;
957 + padding: 20px;
958 +}
959 +
960 +/* Mobile back button - hidden by default on desktop */
961 +.mxch-mobile-back-btn {
962 + display: none;
963 +}
964 +
965 +.mxch-messages-loading,
966 +.mxch-messages-error {
967 + display: flex;
968 + align-items: center;
969 + justify-content: center;
970 + padding: 40px;
971 + color: #9ca3af;
972 + font-size: 13px;
973 +}
974 +
975 +/* Message Styles */
976 +.mxch-message {
977 + margin-bottom: 20px;
978 +}
979 +
980 +.mxch-message:last-child {
981 + margin-bottom: 0;
982 +}
983 +
984 +/* User Message */
985 +.mxch-message-user {
986 + display: flex;
987 + flex-direction: column;
988 + align-items: flex-end;
989 +}
990 +
991 +.mxch-message-user .mxch-message-row {
992 + max-width: 70%;
993 + min-width: 120px;
994 +}
995 +
996 +.mxch-message-user .mxch-message-bubble {
997 + background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
998 + color: #fff;
999 + padding: 12px 16px;
1000 + border-radius: 18px 18px 4px 18px;
1001 + font-size: 14px;
1002 + line-height: 1.5;
1003 + min-width: 80px;
1004 +}
1005 +
1006 +.mxch-message-user .mxch-message-bubble a {
1007 + color: #bfdbfe;
1008 + text-decoration: underline;
1009 +}
1010 +
1011 +.mxch-message-user .mxch-message-time {
1012 + font-size: 11px;
1013 + color: #9ca3af;
1014 + margin-top: 4px;
1015 +}
1016 +
1017 +/* Bot Message */
1018 +.mxch-message-bot {
1019 + display: flex;
1020 + flex-direction: column;
1021 + align-items: flex-start;
1022 +}
1023 +
1024 +.mxch-message-header {
1025 + display: flex;
1026 + align-items: center;
1027 + gap: 10px;
1028 + margin-bottom: 6px;
1029 +}
1030 +
1031 +.mxch-bot-label {
1032 + font-size: 11px;
1033 + font-weight: 600;
1034 + color: #059669;
1035 + text-transform: uppercase;
1036 + letter-spacing: 0.5px;
1037 +}
1038 +
1039 +.mxch-rag-link {
1040 + font-size: 11px;
1041 + color: #3b82f6;
1042 + text-decoration: none;
1043 + font-weight: 500;
1044 + padding: 2px 8px;
1045 + background: #eff6ff;
1046 + border-radius: 4px;
1047 + transition: all 0.15s;
1048 +}
1049 +
1050 +.mxch-rag-link:hover {
1051 + background: #dbeafe;
1052 +}
1053 +
1054 +.mxch-message-bot .mxch-message-row {
1055 + max-width: 80%;
1056 + min-width: 150px;
1057 +}
1058 +
1059 +.mxch-message-bot .mxch-message-bubble {
1060 + background: #fff;
1061 + border: 1px solid #e5e7eb;
1062 + color: #374151;
1063 + padding: 12px 16px;
1064 + border-radius: 18px 18px 18px 4px;
1065 + font-size: 14px;
1066 + line-height: 1.5;
1067 + min-width: 100px;
1068 +}
1069 +
1070 +.mxch-message-bot .mxch-message-bubble a {
1071 + color: #3b82f6;
1072 +}
1073 +
1074 +.mxch-message-bot .mxch-message-time {
1075 + font-size: 11px;
1076 + color: #9ca3af;
1077 + margin-top: 4px;
1078 +}
1079 +
1080 +/* Message Content Styles */
1081 +.mxch-message-bubble p {
1082 + margin: 0 0 10px 0;
1083 +}
1084 +
1085 +.mxch-message-bubble p:last-child {
1086 + margin-bottom: 0;
1087 +}
1088 +
1089 +.mxch-message-bubble ul,
1090 +.mxch-message-bubble ol {
1091 + margin: 10px 0;
1092 + padding-left: 20px;
1093 +}
1094 +
1095 +.mxch-message-bubble li {
1096 + margin: 4px 0;
1097 +}
1098 +
1099 +.mxch-message-bubble code {
1100 + background: rgba(0, 0, 0, 0.08);
1101 + padding: 2px 6px;
1102 + border-radius: 4px;
1103 + font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
1104 + font-size: 0.9em;
1105 +}
1106 +
1107 +.mxch-message-user .mxch-message-bubble code {
1108 + background: rgba(255, 255, 255, 0.2);
1109 +}
1110 +
1111 +.mxch-message-bubble pre {
1112 + background: #1e293b;
1113 + color: #e2e8f0;
1114 + padding: 12px 14px;
1115 + border-radius: 8px;
1116 + overflow-x: auto;
1117 + margin: 10px 0;
1118 + font-size: 13px;
1119 +}
1120 +
1121 +.mxch-message-bubble pre code {
1122 + background: none;
1123 + padding: 0;
1124 + color: inherit;
1125 +}
1126 +
1127 +/* Scrollbar Styling */
1128 +.mxch-chat-list::-webkit-scrollbar,
1129 +.mxch-messages-area::-webkit-scrollbar {
1130 + width: 6px;
1131 +}
1132 +
1133 +.mxch-chat-list::-webkit-scrollbar-track,
1134 +.mxch-messages-area::-webkit-scrollbar-track {
1135 + background: transparent;
1136 +}
1137 +
1138 +.mxch-chat-list::-webkit-scrollbar-thumb,
1139 +.mxch-messages-area::-webkit-scrollbar-thumb {
1140 + background: #d1d5db;
1141 + border-radius: 3px;
1142 +}
1143 +
1144 +.mxch-chat-list::-webkit-scrollbar-thumb:hover,
1145 +.mxch-messages-area::-webkit-scrollbar-thumb:hover {
1146 + background: #9ca3af;
1147 +}
1148 +
1149 +/* Responsive Split Panel - Tablet */
1150 +@media screen and (max-width: 900px) and (min-width: 783px) {
1151 + #all-chats.mxch-section {
83 1152 padding: 0;
84 1153 }
85 -
86 - body.wp-admin .wrap.mxchat-transcripts-wrapper .mxchat-main-title {
87 - font-size: 2.5rem;
1154 +
1155 + .mxch-split-panel {
1156 + flex-direction: column;
1157 + height: auto;
88 1158 }
89 -
90 - body.wp-admin .wrap.mxchat-transcripts-wrapper .mxchat-transcripts-hero {
91 - padding: 2.5rem 1.5rem;
1159 +
1160 + .mxch-chat-list-panel {
1161 + width: 100%;
1162 + max-width: none;
1163 + height: 350px;
1164 + border-right: none;
1165 + border-bottom: 1px solid #e5e7eb;
92 1166 }
93 -
94 - .auto-fold #wpcontent {
95 - margin-left: 0;
96 - padding-left: 0px;
1167 +
1168 + .mxch-panel-expand {
1169 + display: none;
97 1170 }
98 - .mxchat-action-button {
1171 +
1172 + .mxch-conversation-panel {
1173 + min-height: 400px;
1174 + }
1175 +
1176 + .mxch-bulk-toolbar {
1177 + flex-wrap: wrap;
1178 + }
1179 +
1180 + .mxch-bulk-btn span {
1181 + display: none;
1182 + }
1183 +}
1184 +
1185 +/* ==========================================================================
1186 + Mobile Split Panel - Full Screen Panels
1187 + ========================================================================== */
1188 +@media screen and (max-width: 782px) {
1189 + #all-chats.mxch-section {
1190 + padding: 0;
1191 + /* Mobile viewport height with fallbacks for browser address bar */
1192 + /* 1. Fallback: standard vh (may be cut off by browser chrome) */
1193 + height: calc(100vh - 46px - 32px);
1194 + /* 2. Better: dvh (dynamic viewport height) for modern browsers */
1195 + height: calc(100dvh - 46px - 32px);
1196 + /* 3. Best: JS-calculated actual viewport via CSS custom property */
1197 + height: calc(var(--mxch-mobile-vh, 100vh) - 46px - 32px);
1198 + overflow: hidden;
1199 + }
1200 +
1201 + .mxch-split-panel {
1202 + height: 100%;
1203 + position: relative;
1204 + }
1205 +
1206 + /* Chat List - Full screen on mobile */
1207 + .mxch-chat-list-panel {
99 1208 width: 100%;
1209 + max-width: none;
1210 + height: 100%;
1211 + border-right: none;
1212 + position: absolute;
1213 + top: 0;
1214 + left: 0;
1215 + right: 0;
1216 + bottom: 0;
1217 + z-index: 10;
1218 + transition: transform 0.3s ease;
100 1219 }
1220 +
1221 + .mxch-chat-list-panel.panel-hidden {
1222 + transform: translateX(-100%);
1223 + }
1224 +
1225 + .mxch-chat-list {
1226 + flex: 1;
1227 + overflow-y: auto;
1228 + -webkit-overflow-scrolling: touch;
1229 + }
1230 +
1231 + /* Conversation Panel - Slide over from right */
1232 + .mxch-conversation-panel {
1233 + position: absolute;
1234 + top: 0;
1235 + left: 0;
1236 + right: 0;
1237 + bottom: 0;
1238 + z-index: 20;
1239 + transform: translateX(100%);
1240 + transition: transform 0.3s ease;
1241 + min-height: 0;
1242 + height: 100%;
1243 + display: flex;
1244 + flex-direction: column;
1245 + }
1246 +
1247 + .mxch-conversation-panel.panel-active {
1248 + transform: translateX(0);
1249 + }
1250 +
1251 + /* Mobile back button in conversation header */
1252 + .mxch-mobile-back-btn {
1253 + display: flex !important;
1254 + align-items: center;
1255 + justify-content: center;
1256 + width: 36px;
1257 + height: 36px;
1258 + background: #f3f4f6;
1259 + border: none;
1260 + border-radius: 8px;
1261 + color: #374151;
1262 + cursor: pointer;
1263 + margin-right: 8px;
1264 + flex-shrink: 0;
1265 + }
1266 +
1267 + .mxch-mobile-back-btn:hover {
1268 + background: #e5e7eb;
1269 + }
1270 +
1271 + /* Ensure conversation content scrolls properly */
1272 + .mxch-conversation-content {
1273 + flex: 1;
1274 + display: flex;
1275 + flex-direction: column;
1276 + min-height: 0;
1277 + overflow: hidden;
1278 + }
1279 +
1280 + /* Messages area scroll fix for mobile */
1281 + .mxch-messages-area {
1282 + flex: 1;
1283 + overflow-y: auto;
1284 + -webkit-overflow-scrolling: touch;
1285 + padding: 16px;
1286 + padding-bottom: 24px; /* Extra padding at bottom for visibility */
1287 + }
1288 +
1289 + /* Hide expand button on mobile */
1290 + .mxch-panel-expand {
1291 + display: none;
1292 + }
1293 +
1294 + /* Adjust bulk toolbar for mobile */
1295 + .mxch-bulk-toolbar {
1296 + flex-wrap: wrap;
1297 + gap: 6px;
1298 + padding: 8px 10px;
1299 + }
1300 +
1301 + .mxch-bulk-btn span {
1302 + display: none;
1303 + }
1304 +
1305 + /* Make chat items more tappable */
1306 + .mxch-chat-item {
1307 + padding: 14px 12px;
1308 + }
1309 +
1310 + /* Adjust conversation header for mobile */
1311 + .mxch-conversation-header {
1312 + padding: 12px 16px;
1313 + flex-shrink: 0;
1314 + }
1315 +
1316 + /* Details drawer adjustments */
1317 + .mxch-details-drawer {
1318 + max-height: 200px;
1319 + overflow-y: auto;
1320 + flex-shrink: 0;
1321 + }
1322 +
1323 + /* Conversation empty state on mobile */
1324 + .mxch-conversation-empty {
1325 + display: none;
1326 + }
101 1327 }
102 1328
103 -.mxchat-action-button {
104 - background: linear-gradient(135deg, #fa73e6, #7873f5);
1329 +/* ==========================================================================
1330 + Pagination
1331 + ========================================================================== */
1332 +.mxch-pagination {
1333 + display: flex;
1334 + flex-wrap: wrap;
1335 + justify-content: space-between;
1336 + align-items: center;
1337 + margin-top: var(--mxch-spacing-lg);
1338 + padding: var(--mxch-spacing-md);
1339 + background: var(--mxch-card-bg);
1340 + border: 1px solid var(--mxch-card-border);
1341 + border-radius: var(--mxch-radius-md);
1342 +}
1343 +
1344 +.mxch-pagination-info {
1345 + font-size: 13px;
1346 + color: var(--mxch-text-secondary);
1347 +}
1348 +
1349 +.mxch-pagination-controls {
1350 + display: flex;
1351 + flex-wrap: wrap;
1352 + gap: 4px;
1353 +}
1354 +
1355 +.mxch-pagination-btn {
1356 + padding: 6px 12px;
1357 + background: #f8fafc;
1358 + border: 1px solid var(--mxch-card-border);
1359 + border-radius: var(--mxch-radius-sm);
1360 + color: var(--mxch-text-primary);
1361 + font-size: 13px;
1362 + cursor: pointer;
1363 + transition: all var(--mxch-transition-fast);
1364 +}
1365 +
1366 +.mxch-pagination-btn:hover {
1367 + background: #e2e8f0;
1368 +}
1369 +
1370 +.mxch-pagination-btn.active {
1371 + background: var(--mxch-primary);
1372 + border-color: var(--mxch-primary);
105 1373 color: white;
1374 +}
1375 +
1376 +.mxch-pagination-ellipsis {
1377 + padding: 6px 8px;
1378 + color: var(--mxch-text-muted);
1379 +}
1380 +
1381 +/* ==========================================================================
1382 + No Results
1383 + ========================================================================== */
1384 +.mxch-no-results {
1385 + text-align: center;
1386 + padding: var(--mxch-spacing-xl) var(--mxch-spacing-lg);
1387 + color: var(--mxch-text-muted);
1388 + background: #f9fafb;
1389 + border: 2px dashed var(--mxch-card-border);
1390 + border-radius: var(--mxch-radius-lg);
1391 +}
1392 +
1393 +.mxch-no-results svg {
1394 + width: 48px;
1395 + height: 48px;
1396 + margin-bottom: var(--mxch-spacing-md);
1397 + opacity: 0.5;
1398 +}
1399 +
1400 +.mxch-no-results h3 {
1401 + font-size: 16px;
1402 + font-weight: 600;
1403 + color: var(--mxch-text-secondary);
1404 + margin: 0 0 var(--mxch-spacing-xs) 0;
1405 +}
1406 +
1407 +.mxch-no-results p {
1408 + font-size: 14px;
1409 + margin: 0;
1410 +}
1411 +
1412 +/* ==========================================================================
1413 + Toggle Row
1414 + ========================================================================== */
1415 +.mxch-toggle-row {
1416 + display: flex;
1417 + align-items: center;
1418 + gap: var(--mxch-spacing-sm);
1419 +}
1420 +
1421 +.mxch-toggle-label {
1422 + font-size: 14px;
1423 + font-weight: 500;
1424 + color: var(--mxch-text-primary);
1425 +}
1426 +
1427 +/* ==========================================================================
1428 + Modal Styles
1429 + ========================================================================== */
1430 +.mxch-modal-overlay {
1431 + position: fixed;
1432 + top: 0;
1433 + left: 0;
1434 + right: 0;
1435 + bottom: 0;
1436 + background: rgba(0, 0, 0, 0.5);
1437 + display: flex;
1438 + align-items: center;
1439 + justify-content: center;
1440 + z-index: 100000;
1441 + animation: mxchFadeIn 0.2s ease;
1442 +}
1443 +
1444 +.mxch-modal-content {
1445 + background: white;
1446 + border-radius: var(--mxch-radius-lg);
1447 + box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
1448 + width: 90%;
1449 + max-width: 600px;
1450 + max-height: 80vh;
1451 + display: flex;
1452 + flex-direction: column;
1453 + animation: mxchSlideIn 0.2s ease;
1454 +}
1455 +
1456 +@keyframes mxchSlideIn {
1457 + from {
1458 + transform: translateY(-20px);
1459 + opacity: 0;
1460 + }
1461 + to {
1462 + transform: translateY(0);
1463 + opacity: 1;
1464 + }
1465 +}
1466 +
1467 +.mxch-modal-header {
1468 + display: flex;
1469 + align-items: center;
1470 + justify-content: space-between;
1471 + padding: var(--mxch-spacing-md) var(--mxch-spacing-lg);
1472 + border-bottom: 1px solid var(--mxch-card-border);
1473 +}
1474 +
1475 +.mxch-modal-header h2 {
1476 + font-size: 18px;
1477 + font-weight: 600;
1478 + color: var(--mxch-text-primary);
1479 + margin: 0;
1480 +}
1481 +
1482 +.mxch-modal-close {
1483 + width: 32px;
1484 + height: 32px;
1485 + display: flex;
1486 + align-items: center;
1487 + justify-content: center;
1488 + background: none;
106 1489 border: none;
107 - padding: 8px 16px;
108 - border-radius: 8px;
1490 + font-size: 24px;
1491 + color: var(--mxch-text-muted);
109 1492 cursor: pointer;
1493 + border-radius: var(--mxch-radius-sm);
1494 + transition: all var(--mxch-transition-fast);
1495 +}
1496 +
1497 +.mxch-modal-close:hover {
1498 + background: #f1f5f9;
1499 + color: var(--mxch-text-primary);
1500 +}
1501 +
1502 +.mxch-modal-body {
1503 + flex: 1;
1504 + padding: var(--mxch-spacing-lg);
1505 + overflow-y: auto;
1506 +}
1507 +
1508 +/* RAG Context Styles */
1509 +.mxch-rag-summary {
1510 + display: flex;
1511 + flex-wrap: wrap;
1512 + gap: var(--mxch-spacing-md);
1513 + padding: var(--mxch-spacing-md);
1514 + background: #f8fafc;
1515 + border-radius: var(--mxch-radius-md);
1516 + margin-bottom: var(--mxch-spacing-lg);
1517 +}
1518 +
1519 +.mxch-rag-summary-item {
1520 + font-size: 13px;
1521 +}
1522 +
1523 +.mxch-rag-label {
1524 + color: var(--mxch-text-secondary);
1525 +}
1526 +
1527 +.mxch-rag-value {
110 1528 font-weight: 600;
1529 + color: var(--mxch-text-primary);
1530 +}
1531 +
1532 +.mxch-rag-matches h3 {
1533 + font-size: 14px;
1534 + font-weight: 600;
1535 + color: var(--mxch-text-primary);
1536 + margin: 0 0 var(--mxch-spacing-md) 0;
1537 +}
1538 +
1539 +.mxch-rag-match-card {
1540 + border: 1px solid var(--mxch-card-border);
1541 + border-radius: var(--mxch-radius-md);
1542 + padding: var(--mxch-spacing-md);
1543 + margin-bottom: var(--mxch-spacing-sm);
1544 +}
1545 +
1546 +.mxch-rag-match-used {
1547 + border-color: rgba(16, 185, 129, 0.3);
1548 + background: rgba(16, 185, 129, 0.05);
1549 +}
1550 +
1551 +.mxch-rag-match-below {
1552 + border-color: var(--mxch-card-border);
1553 + background: #fafafa;
1554 +}
1555 +
1556 +.mxch-rag-match-header {
111 1557 display: flex;
112 1558 align-items: center;
113 - gap: 8px;
114 - transition: transform 0.2s ease, box-shadow 0.2s ease;
1559 + gap: var(--mxch-spacing-sm);
1560 + margin-bottom: var(--mxch-spacing-sm);
115 1561 }
116 1562
117 -.mxchat-action-button:hover {
118 - transform: translateY(-1px);
119 - box-shadow: 0 4px 12px rgba(120, 115, 245, 0.2);
1563 +.mxch-rag-match-score {
1564 + font-size: 14px;
1565 + font-weight: 700;
1566 + color: var(--mxch-primary);
120 1567 }
121 1568
122 -.mxchat-action-button.loading {
123 - opacity: 0.7;
124 - cursor: not-allowed;
1569 +.mxch-rag-chunk-badge {
1570 + font-size: 11px;
1571 + padding: 2px 8px;
1572 + background: rgba(120, 115, 245, 0.1);
1573 + color: var(--mxch-primary);
1574 + border-radius: 10px;
125 1575 }
126 1576
127 -.mxchat-action-button .dashicons {
128 - font-size: 16px;
129 - width: 16px;
130 - height: 16px;
1577 +.mxch-rag-match-status {
1578 + margin-left: auto;
1579 + font-size: 12px;
1580 + font-weight: 500;
1581 +}
1582 +
1583 +.mxch-rag-match-status.status-used {
1584 + color: var(--mxch-success);
1585 +}
1586 +
1587 +.mxch-rag-match-status.status-below {
1588 + color: var(--mxch-text-muted);
1589 +}
1590 +
1591 +.mxch-rag-match-source {
1592 + font-size: 13px;
1593 + color: var(--mxch-text-secondary);
1594 + word-break: break-all;
1595 +}
1596 +
1597 +.mxch-rag-match-source a {
1598 + color: var(--mxch-primary);
1599 + text-decoration: none;
1600 +}
1601 +
1602 +.mxch-rag-match-source a:hover {
1603 + text-decoration: underline;
1604 +}
1605 +
1606 +/* ==========================================================================
1607 + Responsive Adjustments
1608 + ========================================================================== */
1609 +@media screen and (max-width: 768px) {
1610 + .mxch-stats-grid {
1611 + grid-template-columns: repeat(2, 1fr);
1612 + }
1613 +
1614 + .mxch-stat-card {
1615 + padding: var(--mxch-spacing-md);
1616 + }
1617 +
1618 + .mxch-stat-value {
1619 + font-size: 22px;
1620 + }
1621 +
1622 + .mxch-cards-row {
1623 + grid-template-columns: 1fr;
1624 + }
1625 +
1626 + .mxch-transcripts-controls {
1627 + flex-direction: column;
1628 + align-items: stretch;
1629 + }
1630 +
1631 + .mxch-search-wrapper {
1632 + max-width: none;
1633 + }
1634 +
1635 + .mxch-controls-actions {
1636 + justify-content: flex-end;
1637 + }
1638 +
1639 + .mxch-session-header {
1640 + flex-direction: column;
1641 + gap: var(--mxch-spacing-sm);
1642 + }
1643 +
1644 + .mxch-session-actions {
1645 + opacity: 1;
1646 + align-self: flex-end;
1647 + }
1648 +
1649 + .mxch-pagination {
1650 + flex-direction: column;
1651 + gap: var(--mxch-spacing-md);
1652 + align-items: flex-start;
1653 + }
1654 +
1655 + .mxch-quick-actions {
1656 + flex-direction: column;
1657 + }
1658 +
1659 + .mxch-quick-action-btn {
1660 + width: 100%;
1661 + justify-content: center;
1662 + }
1663 +
1664 + /* Chart responsive */
1665 + .mxch-activity-chart-card .mxch-card-header {
1666 + flex-direction: column;
1667 + align-items: flex-start;
1668 + }
1669 +
1670 + .mxch-chart-legend {
1671 + margin-top: var(--mxch-spacing-xs);
1672 + }
1673 +
1674 + #mxchat-activity-chart {
1675 + height: 220px !important;
1676 + }
1677 +}
1678 +
1679 +@media screen and (max-width: 480px) {
1680 + .mxch-stats-grid {
1681 + grid-template-columns: 1fr;
1682 + }
1683 +
1684 + .mxch-controls-actions {
1685 + flex-direction: column;
1686 + width: 100%;
1687 + }
1688 +
1689 + .mxch-controls-actions .mxch-btn {
1690 + width: 100%;
1691 + justify-content: center;
1692 + }
1693 +
1694 + .mxch-controls-actions form {
1695 + width: 100%;
1696 + }
131 1697 }