PluginProbe
MxChat – AI Chatbot & Content Generation for WordPress / 2.6.1
MxChat – AI Chatbot & Content Generation for WordPress v2.6.1
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 +399 -2374 3.2.32.6.1 View file →
@@ -1,2603 +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 -.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;
109 +/* Session Container - Clean and Minimal */
110 +.mxchat-session {
111 + background: #ffffff;
716 112 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 */
113 + border-radius: 8px;
114 + margin-bottom: 16px;
765 115 overflow: hidden;
116 + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
117 + transition: all 0.2s ease;
766 118 }
767 119
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;
120 +.mxchat-session:hover {
121 + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
778 122 }
779 123
780 -.mxch-empty-icon {
781 - margin-bottom: 16px;
782 - 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);
783 128 }
784 129
785 -.mxch-conversation-empty h3 {
786 - font-size: 16px;
787 - font-weight: 600;
788 - color: #6b7280;
789 - margin: 0 0 8px 0;
130 +.mxchat-session.selected .mxchat-session-header {
131 + background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%);
790 132 }
791 133
792 -.mxch-conversation-empty p {
793 - font-size: 13px;
794 - margin: 0;
134 +/* Show trash icon when session is selected */
135 +.mxchat-session.selected .mxchat-hover-actions {
136 + opacity: 1;
795 137 }
796 138
797 -/* Conversation Content */
798 -.mxch-conversation-content {
799 - display: flex;
800 - flex-direction: column;
801 - height: 100%;
802 - min-height: 0; /* Important: allows flex child to shrink below content size */
803 - overflow: hidden;
804 -}
805 -
806 -.mxch-conversation-header {
807 - display: flex;
808 - align-items: center;
809 - 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;
810 143 padding: 16px 20px;
811 - background: #fff;
812 - border-bottom: 1px solid #e5e7eb;
144 + transition: background-color 0.2s ease;
145 + position: relative;
146 + cursor: pointer;
813 147 }
814 148
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;
149 +.mxchat-session-header:hover {
150 + background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
824 151 }
825 152
826 -.mxch-user-avatar span {
827 - color: #fff;
153 +/* Top-centered user pill */
154 +.mxchat-user-row {
155 + color: #1e293b;
828 156 font-size: 15px;
829 157 font-weight: 600;
830 -}
831 -
832 -.mxch-user-info {
833 - flex: 1;
834 - 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);
835 165 overflow: hidden;
836 -}
837 -
838 -.mxch-user-name {
839 - font-size: 15px;
840 - font-weight: 600;
841 - color: #111827;
842 - overflow: hidden;
843 166 text-overflow: ellipsis;
844 167 white-space: nowrap;
168 + text-align: center;
169 + width: fit-content;
170 + display: block;
171 + margin: 0 auto 12px auto;
845 172 }
846 173
847 -.mxch-user-meta {
848 - font-size: 12px;
849 - color: #6b7280;
850 - margin-top: 2px;
851 - overflow: hidden;
852 - text-overflow: ellipsis;
853 - white-space: nowrap;
854 -}
855 -
856 -.mxch-details-toggle {
857 - width: 36px;
858 - height: 36px;
859 - border: 1px solid #e5e7eb;
860 - background: #fff;
861 - border-radius: 8px;
862 - cursor: pointer;
174 +.mxchat-header-row {
863 175 display: flex;
176 + justify-content: flex-start;
864 177 align-items: center;
865 - justify-content: center;
866 - color: #6b7280;
867 - transition: all 0.15s;
178 + margin-bottom: 8px;
868 179 }
869 180
870 -.mxch-details-toggle:hover,
871 -.mxch-details-toggle.active {
872 - background: #f3f4f6;
873 - color: #374151;
874 -}
875 -
876 -/* Details Drawer */
877 -.mxch-details-drawer {
878 - background: #fff;
879 - border-bottom: 1px solid #e5e7eb;
880 - padding: 16px 20px;
881 -}
882 -
883 -.mxch-details-section {
884 - margin-bottom: 16px;
885 -}
886 -
887 -.mxch-details-section:last-child {
888 - margin-bottom: 0;
889 -}
890 -
891 -.mxch-details-section h4 {
892 - font-size: 11px;
893 - font-weight: 600;
894 - color: #9ca3af;
895 - text-transform: uppercase;
896 - letter-spacing: 0.5px;
897 - margin: 0 0 10px 0;
898 -}
899 -
900 -.mxch-detail-row {
181 +.mxchat-main-info {
901 182 display: flex;
902 - justify-content: space-between;
903 - align-items: center;
904 - padding: 6px 0;
905 - font-size: 13px;
906 -}
907 -
908 -.mxch-detail-label {
909 - color: #6b7280;
910 -}
911 -
912 -.mxch-detail-value {
913 - color: #111827;
914 - font-weight: 500;
915 -}
916 -
917 -.mxch-detail-value a {
918 - color: #3b82f6;
919 - text-decoration: none;
920 -}
921 -
922 -.mxch-detail-value a:hover {
923 - text-decoration: underline;
924 -}
925 -
926 -.mxch-clicked-links {
927 - display: flex;
183 + align-items: left;
928 184 flex-direction: column;
929 - gap: 6px;
185 + gap: 8px;
930 186 }
931 187
932 -.mxch-clicked-link {
933 - font-size: 12px;
934 - color: #3b82f6;
935 - text-decoration: none;
936 - padding: 6px 10px;
937 - 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;
938 195 border-radius: 6px;
939 - white-space: nowrap;
940 - overflow: hidden;
941 - text-overflow: ellipsis;
942 196 }
943 197
944 -.mxch-clicked-link:hover {
945 - background: #dbeafe;
198 +.mxchat-separator {
199 + color: #94a3b8;
200 + font-weight: 500;
946 201 }
947 202
948 -.mxch-details-actions {
949 - display: flex;
950 - gap: 8px;
951 - margin-top: 16px;
952 - padding-top: 16px;
953 - border-top: 1px solid #f3f4f6;
203 +.mxchat-session-time {
204 + color: #64748b;
205 + font-size: 13px;
206 + font-weight: 500;
954 207 }
955 208
956 -.mxch-btn-sm {
957 - padding: 8px 12px;
958 - 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;
959 216 }
960 217
961 -/* Translate Controls */
962 -.mxch-translate-section {
963 - margin-top: 12px;
964 - padding-top: 12px;
965 - border-top: 1px solid #f3f4f6;
218 +.mxchat-session-header:hover .mxchat-hover-actions {
219 + opacity: 1;
966 220 }
967 221
968 -.mxch-translate-controls {
969 - display: flex;
970 - align-items: center;
971 - gap: 8px;
972 -}
973 -
974 -.mxch-translate-select {
975 - padding: 6px 10px;
976 - font-size: 12px;
977 - border: 1px solid #e5e7eb;
978 - border-radius: 6px;
979 - background: #fff;
980 - color: #374151;
222 +.mxchat-delete-btn {
223 + background: none;
224 + border: none;
981 225 cursor: pointer;
982 - min-width: 100px;
226 + font-size: 16px;
227 + padding: 4px 8px;
228 + border-radius: 4px;
229 + transition: background-color 0.2s ease;
983 230 }
984 231
985 -.mxch-translate-select:focus {
986 - outline: none;
987 - border-color: #3b82f6;
988 - 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);
989 234 }
990 235
991 -#mxch-translate-btn,
992 -#mxch-show-original-btn {
993 - display: inline-flex;
994 - align-items: center;
995 - gap: 6px;
996 -}
997 -
998 -#mxch-translate-btn svg,
999 -#mxch-show-original-btn svg {
1000 - width: 14px;
1001 - height: 14px;
1002 - flex-shrink: 0;
1003 -}
1004 -
1005 -#mxch-translate-btn:disabled {
1006 - opacity: 0.6;
1007 - cursor: not-allowed;
1008 -}
1009 -
1010 -.mxch-translate-spinner {
1011 - animation: spin 1s linear infinite;
1012 -}
1013 -
1014 -@keyframes mxch-translate-spin {
1015 - from { transform: rotate(0deg); }
1016 - to { transform: rotate(360deg); }
1017 -}
1018 -
1019 -/* Translated message indicator */
1020 -.mxch-message-bubble.translated {
1021 - position: relative;
1022 -}
1023 -
1024 -.mxch-message-bubble.translated::after {
1025 - content: '';
1026 - position: absolute;
1027 - top: 6px;
1028 - right: 6px;
1029 - width: 6px;
1030 - height: 6px;
1031 - background: #3b82f6;
1032 - border-radius: 50%;
1033 - opacity: 0.6;
1034 -}
1035 -
1036 -/* Messages Area */
1037 -.mxch-messages-area {
1038 - flex: 1;
1039 - overflow-y: auto;
1040 - padding: 20px;
1041 -}
1042 -
1043 -/* Mobile back button - hidden by default on desktop */
1044 -.mxch-mobile-back-btn {
1045 - display: none;
1046 -}
1047 -
1048 -.mxch-messages-loading,
1049 -.mxch-messages-error {
1050 - display: flex;
1051 - align-items: center;
1052 - justify-content: center;
1053 - padding: 40px;
1054 - color: #9ca3af;
236 +/* Content Rows */
237 +.mxchat-page-row,
238 +.mxchat-links-row {
239 + color: #64748b;
1055 240 font-size: 13px;
241 + margin-bottom: 4px;
242 + line-height: 1.4;
1056 243 }
1057 244
1058 -/* Message Styles */
1059 -.mxch-message {
1060 - margin-bottom: 20px;
1061 -}
1062 -
1063 -.mxch-message:last-child {
1064 - margin-bottom: 0;
1065 -}
1066 -
1067 -/* User Message */
1068 -.mxch-message-user {
1069 - display: flex;
1070 - flex-direction: column;
1071 - align-items: flex-end;
1072 -}
1073 -
1074 -.mxch-message-user .mxch-message-row {
1075 - max-width: 70%;
1076 - min-width: 120px;
1077 -}
1078 -
1079 -.mxch-message-user .mxch-message-bubble {
1080 - background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
1081 - color: #fff;
1082 - padding: 12px 16px;
1083 - border-radius: 18px 18px 4px 18px;
1084 - font-size: 14px;
1085 - line-height: 1.5;
1086 - min-width: 80px;
1087 -}
1088 -
1089 -.mxch-message-user .mxch-message-bubble a {
1090 - color: #bfdbfe;
1091 - text-decoration: underline;
1092 -}
1093 -
1094 -.mxch-message-user .mxch-message-time {
1095 - font-size: 11px;
1096 - color: #9ca3af;
1097 - margin-top: 4px;
1098 -}
1099 -
1100 -/* Bot Message */
1101 -.mxch-message-bot {
1102 - display: flex;
1103 - flex-direction: column;
1104 - align-items: flex-start;
1105 -}
1106 -
1107 -.mxch-message-header {
1108 - display: flex;
1109 - align-items: center;
1110 - gap: 10px;
1111 - margin-bottom: 6px;
1112 -}
1113 -
1114 -.mxch-bot-label {
1115 - font-size: 11px;
245 +.mxchat-label {
1116 246 font-weight: 600;
1117 - color: #059669;
1118 - text-transform: uppercase;
1119 - letter-spacing: 0.5px;
247 + color: #475569;
1120 248 }
1121 249
1122 -.mxch-rag-link {
1123 - font-size: 11px;
250 +.mxchat-page-link {
1124 251 color: #3b82f6;
1125 252 text-decoration: none;
1126 253 font-weight: 500;
1127 - padding: 2px 8px;
1128 - background: #eff6ff;
1129 - border-radius: 4px;
1130 - transition: all 0.15s;
254 + transition: color 0.2s ease;
1131 255 }
1132 256
1133 -.mxch-rag-link:hover {
1134 - background: #dbeafe;
257 +.mxchat-page-link:hover {
258 + color: #1d4ed8;
259 + text-decoration: underline;
1135 260 }
1136 261
1137 -.mxch-message-bot .mxch-message-row {
1138 - max-width: 80%;
1139 - min-width: 150px;
262 +.mxchat-link-item {
263 + color: #7c3aed;
264 + text-decoration: none;
265 + font-weight: 500;
266 + transition: color 0.2s ease;
1140 267 }
1141 268
1142 -.mxch-message-bot .mxch-message-bubble {
1143 - background: #fff;
1144 - border: 1px solid #e5e7eb;
1145 - color: #374151;
1146 - padding: 12px 16px;
1147 - border-radius: 18px 18px 18px 4px;
1148 - font-size: 14px;
1149 - line-height: 1.5;
1150 - min-width: 100px;
269 +.mxchat-link-item:hover {
270 + color: #5b21b6;
271 + text-decoration: underline;
1151 272 }
1152 273
1153 -.mxch-message-bot .mxch-message-bubble a {
1154 - color: #3b82f6;
274 +/* Messages Section - Keep existing styling */
275 +.mxchat-messages {
276 + padding: 16px;
277 + background: #ffffff;
1155 278 }
1156 279
1157 -.mxch-message-bot .mxch-message-time {
1158 - font-size: 11px;
1159 - color: #9ca3af;
1160 - margin-top: 4px;
1161 -}
1162 -
1163 -/* Message Content Styles */
1164 -.mxch-message-bubble p {
1165 - margin: 0 0 10px 0;
1166 -}
1167 -
1168 -.mxch-message-bubble p:last-child {
1169 - margin-bottom: 0;
1170 -}
1171 -
1172 -.mxch-message-bubble ul,
1173 -.mxch-message-bubble ol {
1174 - margin: 10px 0;
1175 - padding-left: 20px;
1176 -}
1177 -
1178 -.mxch-message-bubble li {
1179 - margin: 4px 0;
1180 -}
1181 -
1182 -.mxch-message-bubble code {
1183 - background: rgba(0, 0, 0, 0.08);
1184 - padding: 2px 6px;
1185 - border-radius: 4px;
1186 - font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
1187 - font-size: 0.9em;
1188 -}
1189 -
1190 -.mxch-message-user .mxch-message-bubble code {
1191 - background: rgba(255, 255, 255, 0.2);
1192 -}
1193 -
1194 -.mxch-message-bubble pre {
1195 - background: #1e293b;
1196 - color: #e2e8f0;
1197 - padding: 12px 14px;
280 +.mxchat-message {
1198 281 border-radius: 8px;
1199 - overflow-x: auto;
1200 - margin: 10px 0;
1201 - font-size: 13px;
282 + border-left: 4px solid transparent;
1202 283 }
1203 284
1204 -.mxch-message-bubble pre code {
1205 - background: none;
1206 - padding: 0;
1207 - color: inherit;
1208 -}
1209 -
1210 -/* Scrollbar Styling */
1211 -.mxch-chat-list::-webkit-scrollbar,
1212 -.mxch-messages-area::-webkit-scrollbar {
1213 - width: 6px;
1214 -}
1215 -
1216 -.mxch-chat-list::-webkit-scrollbar-track,
1217 -.mxch-messages-area::-webkit-scrollbar-track {
1218 - background: transparent;
1219 -}
1220 -
1221 -.mxch-chat-list::-webkit-scrollbar-thumb,
1222 -.mxch-messages-area::-webkit-scrollbar-thumb {
1223 - background: #d1d5db;
1224 - border-radius: 3px;
1225 -}
1226 -
1227 -.mxch-chat-list::-webkit-scrollbar-thumb:hover,
1228 -.mxch-messages-area::-webkit-scrollbar-thumb:hover {
1229 - background: #9ca3af;
1230 -}
1231 -
1232 -/* Responsive Split Panel - Tablet */
1233 -@media screen and (max-width: 900px) and (min-width: 783px) {
1234 - #all-chats.mxch-section {
1235 - padding: 0;
1236 - }
1237 -
1238 - .mxch-split-panel {
1239 - flex-direction: column;
1240 - height: auto;
1241 - }
1242 -
1243 - .mxch-chat-list-panel {
1244 - width: 100%;
1245 - max-width: none;
1246 - height: 350px;
1247 - border-right: none;
1248 - border-bottom: 1px solid #e5e7eb;
1249 - }
1250 -
1251 - .mxch-panel-expand {
1252 - display: none;
1253 - }
1254 -
1255 - .mxch-conversation-panel {
1256 - min-height: 400px;
1257 - }
1258 -
1259 - .mxch-bulk-toolbar {
1260 - flex-wrap: wrap;
1261 - }
1262 -
1263 - .mxch-bulk-btn span {
1264 - display: none;
1265 - }
1266 -}
1267 -
1268 -/* ==========================================================================
1269 - Mobile Split Panel - Full Screen Panels
1270 - ========================================================================== */
1271 -@media screen and (max-width: 782px) {
1272 - #all-chats.mxch-section {
1273 - padding: 0;
1274 - /* Mobile viewport height with fallbacks for browser address bar */
1275 - /* 1. Fallback: standard vh (may be cut off by browser chrome) */
1276 - height: calc(100vh - 46px - 32px);
1277 - /* 2. Better: dvh (dynamic viewport height) for modern browsers */
1278 - height: calc(100dvh - 46px - 32px);
1279 - /* 3. Best: JS-calculated actual viewport via CSS custom property */
1280 - height: calc(var(--mxch-mobile-vh, 100vh) - 46px - 32px);
1281 - overflow: hidden;
1282 - }
1283 -
1284 - .mxch-split-panel {
1285 - height: 100%;
1286 - position: relative;
1287 - }
1288 -
1289 - /* Chat List - Full screen on mobile */
1290 - .mxch-chat-list-panel {
1291 - width: 100%;
1292 - max-width: none;
1293 - height: 100%;
1294 - border-right: none;
1295 - position: absolute;
1296 - top: 0;
1297 - left: 0;
1298 - right: 0;
1299 - bottom: 0;
1300 - z-index: 10;
1301 - transition: transform 0.3s ease;
1302 - }
1303 -
1304 - .mxch-chat-list-panel.panel-hidden {
1305 - transform: translateX(-100%);
1306 - }
1307 -
1308 - .mxch-chat-list {
1309 - flex: 1;
1310 - overflow-y: auto;
1311 - -webkit-overflow-scrolling: touch;
1312 - }
1313 -
1314 - /* Conversation Panel - Slide over from right */
1315 - .mxch-conversation-panel {
1316 - position: absolute;
1317 - top: 0;
1318 - left: 0;
1319 - right: 0;
1320 - bottom: 0;
1321 - z-index: 20;
1322 - transform: translateX(100%);
1323 - transition: transform 0.3s ease;
1324 - min-height: 0;
1325 - height: 100%;
1326 - display: flex;
1327 - flex-direction: column;
1328 - }
1329 -
1330 - .mxch-conversation-panel.panel-active {
1331 - transform: translateX(0);
1332 - }
1333 -
1334 - /* Mobile back button in conversation header */
1335 - .mxch-mobile-back-btn {
1336 - display: flex !important;
1337 - align-items: center;
1338 - justify-content: center;
1339 - width: 36px;
1340 - height: 36px;
1341 - background: #f3f4f6;
1342 - border: none;
1343 - border-radius: 8px;
1344 - color: #374151;
1345 - cursor: pointer;
1346 - margin-right: 8px;
1347 - flex-shrink: 0;
1348 - }
1349 -
1350 - .mxch-mobile-back-btn:hover {
1351 - background: #e5e7eb;
1352 - }
1353 -
1354 - /* Ensure conversation content scrolls properly */
1355 - .mxch-conversation-content {
1356 - flex: 1;
1357 - display: flex;
1358 - flex-direction: column;
1359 - min-height: 0;
1360 - overflow: hidden;
1361 - }
1362 -
1363 - /* Messages area scroll fix for mobile */
1364 - .mxch-messages-area {
1365 - flex: 1;
1366 - overflow-y: auto;
1367 - -webkit-overflow-scrolling: touch;
1368 - padding: 16px;
1369 - padding-bottom: 24px; /* Extra padding at bottom for visibility */
1370 - }
1371 -
1372 - /* Hide expand button on mobile */
1373 - .mxch-panel-expand {
1374 - display: none;
1375 - }
1376 -
1377 - /* Adjust bulk toolbar for mobile */
1378 - .mxch-bulk-toolbar {
1379 - flex-wrap: wrap;
1380 - gap: 6px;
1381 - padding: 8px 10px;
1382 - }
1383 -
1384 - .mxch-bulk-btn span {
1385 - display: none;
1386 - }
1387 -
1388 - /* Make chat items more tappable */
1389 - .mxch-chat-item {
1390 - padding: 14px 12px;
1391 - }
1392 -
1393 - /* Adjust conversation header for mobile */
1394 - .mxch-conversation-header {
1395 - padding: 12px 16px;
1396 - flex-shrink: 0;
1397 - }
1398 -
1399 - /* Details drawer adjustments */
1400 - .mxch-details-drawer {
1401 - max-height: 200px;
1402 - overflow-y: auto;
1403 - flex-shrink: 0;
1404 - }
1405 -
1406 - /* Conversation empty state on mobile */
1407 - .mxch-conversation-empty {
1408 - display: none;
1409 - }
1410 -}
1411 -
1412 -/* ==========================================================================
1413 - Pagination
1414 - ========================================================================== */
1415 -.mxch-pagination {
1416 - display: flex;
1417 - flex-wrap: wrap;
1418 - justify-content: space-between;
1419 - align-items: center;
1420 - margin-top: var(--mxch-spacing-lg);
1421 - padding: var(--mxch-spacing-md);
1422 - background: var(--mxch-card-bg);
1423 - border: 1px solid var(--mxch-card-border);
1424 - border-radius: var(--mxch-radius-md);
1425 -}
1426 -
1427 -.mxch-pagination-info {
1428 - font-size: 13px;
1429 - color: var(--mxch-text-secondary);
1430 -}
1431 -
1432 -.mxch-pagination-controls {
1433 - display: flex;
1434 - flex-wrap: wrap;
1435 - gap: 4px;
1436 -}
1437 -
1438 -.mxch-pagination-btn {
1439 - padding: 6px 12px;
1440 - background: #f8fafc;
1441 - border: 1px solid var(--mxch-card-border);
1442 - border-radius: var(--mxch-radius-sm);
1443 - color: var(--mxch-text-primary);
1444 - font-size: 13px;
1445 - cursor: pointer;
1446 - transition: all var(--mxch-transition-fast);
1447 -}
1448 -
1449 -.mxch-pagination-btn:hover {
1450 - background: #e2e8f0;
1451 -}
1452 -
1453 -.mxch-pagination-btn.active {
1454 - background: var(--mxch-primary);
1455 - border-color: var(--mxch-primary);
1456 - color: white;
1457 -}
1458 -
1459 -.mxch-pagination-ellipsis {
1460 - padding: 6px 8px;
1461 - color: var(--mxch-text-muted);
1462 -}
1463 -
1464 -/* ==========================================================================
1465 - No Results
1466 - ========================================================================== */
1467 -.mxch-no-results {
1468 - text-align: center;
1469 - padding: var(--mxch-spacing-xl) var(--mxch-spacing-lg);
1470 - color: var(--mxch-text-muted);
1471 - background: #f9fafb;
1472 - border: 2px dashed var(--mxch-card-border);
1473 - border-radius: var(--mxch-radius-lg);
1474 -}
1475 -
1476 -.mxch-no-results svg {
1477 - width: 48px;
1478 - height: 48px;
1479 - margin-bottom: var(--mxch-spacing-md);
1480 - opacity: 0.5;
1481 -}
1482 -
1483 -.mxch-no-results h3 {
1484 - font-size: 16px;
285 +.mxchat-message-header {
1485 286 font-weight: 600;
1486 - color: var(--mxch-text-secondary);
1487 - margin: 0 0 var(--mxch-spacing-xs) 0;
287 + font-size: 14px;
288 + color: #374151;
289 + margin-bottom: 6px;
1488 290 }
1489 291
1490 -.mxch-no-results p {
292 +.mxchat-message-content {
293 + color: #4b5563;
294 + line-height: 1.6;
1491 295 font-size: 14px;
1492 - margin: 0;
296 + margin-bottom: 8px;
1493 297 }
1494 298
1495 -/* ==========================================================================
1496 - Toggle Row
1497 - ========================================================================== */
1498 -.mxch-toggle-row {
1499 - display: flex;
1500 - align-items: center;
1501 - gap: var(--mxch-spacing-sm);
1502 -}
1503 -
1504 -.mxch-toggle-label {
1505 - font-size: 14px;
299 +.mxchat-timestamp {
300 + font-size: 12px;
301 + color: #9ca3af;
1506 302 font-weight: 500;
1507 - color: var(--mxch-text-primary);
1508 303 }
1509 304
1510 -/* ==========================================================================
1511 - Modal Styles
1512 - ========================================================================== */
1513 -.mxch-modal-overlay {
305 +/* Chat Email Notification Modal styles */
306 +.mxchat-chat-notification-modal-overlay {
1514 307 position: fixed;
308 + z-index: 9999;
309 + left: 0;
1515 310 top: 0;
1516 - left: 0;
1517 - right: 0;
1518 - bottom: 0;
1519 - background: rgba(0, 0, 0, 0.5);
311 + width: 100%;
312 + height: 100%;
313 + background-color: rgba(0, 0, 0, 0.5);
1520 314 display: flex;
1521 315 align-items: center;
1522 316 justify-content: center;
1523 - z-index: 100000;
1524 - animation: mxchFadeIn 0.2s ease;
317 + animation: mxchatNotificationFadeIn 0.3s ease;
1525 318 }
1526 319
1527 -.mxch-modal-content {
1528 - background: white;
1529 - border-radius: var(--mxch-radius-lg);
1530 - 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);
1531 329 width: 90%;
1532 - max-width: 600px;
1533 - max-height: 80vh;
330 + max-width: 500px;
331 + max-height: 90vh;
1534 332 display: flex;
1535 333 flex-direction: column;
1536 - animation: mxchSlideIn 0.2s ease;
334 + animation: mxchatNotificationSlideIn 0.3s ease;
1537 335 }
1538 336
1539 -@keyframes mxchSlideIn {
1540 - from {
1541 - transform: translateY(-20px);
1542 - opacity: 0;
1543 - }
1544 - to {
1545 - transform: translateY(0);
1546 - opacity: 1;
1547 - }
337 +@keyframes mxchatNotificationSlideIn {
338 + from { transform: translateY(-20px); opacity: 0; }
339 + to { transform: translateY(0); opacity: 1; }
1548 340 }
1549 341
1550 -.mxch-modal-header {
342 +.mxchat-chat-notification-modal-header {
343 + padding: 20px;
344 + border-bottom: 1px solid #e5e7eb;
1551 345 display: flex;
346 + justify-content: space-between;
1552 347 align-items: center;
1553 - justify-content: space-between;
1554 - padding: var(--mxch-spacing-md) var(--mxch-spacing-lg);
1555 - border-bottom: 1px solid var(--mxch-card-border);
1556 348 }
1557 349
1558 -.mxch-modal-header h2 {
1559 - font-size: 18px;
350 +.mxchat-chat-notification-modal-header h2 {
351 + margin: 0;
352 + font-size: 20px;
1560 353 font-weight: 600;
1561 - color: var(--mxch-text-primary);
1562 - margin: 0;
354 + color: #1f2937;
1563 355 }
1564 356
1565 -.mxch-modal-close {
1566 - width: 32px;
1567 - height: 32px;
1568 - display: flex;
1569 - align-items: center;
1570 - justify-content: center;
357 +.mxchat-chat-notification-modal-close {
1571 358 background: none;
1572 359 border: none;
1573 360 font-size: 24px;
1574 - color: var(--mxch-text-muted);
1575 361 cursor: pointer;
1576 - border-radius: var(--mxch-radius-sm);
1577 - 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;
1578 371 }
1579 372
1580 -.mxch-modal-close:hover {
1581 - background: #f1f5f9;
1582 - color: var(--mxch-text-primary);
373 +.mxchat-chat-notification-modal-close:hover {
374 + background-color: #f3f4f6;
375 + color: #1f2937;
1583 376 }
1584 377
1585 -.mxch-modal-body {
378 +.mxchat-chat-notification-modal-body {
379 + padding: 20px;
380 + overflow-y: auto;
1586 381 flex: 1;
1587 - padding: var(--mxch-spacing-lg);
1588 - overflow-y: auto;
1589 382 }
1590 383
1591 -/* RAG Context Styles */
1592 -.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;
1593 393 display: flex;
1594 - flex-wrap: wrap;
1595 - gap: var(--mxch-spacing-md);
1596 - padding: var(--mxch-spacing-md);
1597 - background: #f8fafc;
1598 - border-radius: var(--mxch-radius-md);
1599 - margin-bottom: var(--mxch-spacing-lg);
394 + justify-content: flex-end;
395 + gap: 10px;
1600 396 }
1601 397
1602 -.mxch-rag-summary-item {
1603 - 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);
1604 401 }
1605 402
1606 -.mxch-rag-label {
1607 - color: var(--mxch-text-secondary);
403 +#mxchat-chat-email-notification-btn .dashicons {
404 + font-size: 18px;
405 + width: 18px;
406 + height: 18px;
1608 407 }
1609 408
1610 -.mxch-rag-value {
1611 - font-weight: 600;
1612 - color: var(--mxch-text-primary);
409 +/* Form styles within chat notification modal */
410 +.mxchat-chat-notification-modal-content .form-table {
411 + margin: 0;
1613 412 }
1614 413
1615 -.mxch-rag-matches h3 {
1616 - font-size: 14px;
414 +.mxchat-chat-notification-modal-content .form-table th {
415 + padding: 15px 10px 15px 0;
416 + width: 180px;
1617 417 font-weight: 600;
1618 - color: var(--mxch-text-primary);
1619 - margin: 0 0 var(--mxch-spacing-md) 0;
418 + color: #374151;
1620 419 }
1621 420
1622 -.mxch-rag-match-card {
1623 - border: 1px solid var(--mxch-card-border);
1624 - border-radius: var(--mxch-radius-md);
1625 - padding: var(--mxch-spacing-md);
1626 - margin-bottom: var(--mxch-spacing-sm);
421 +.mxchat-chat-notification-modal-content .form-table td {
422 + padding: 15px 10px;
1627 423 }
1628 424
1629 -.mxch-rag-match-used {
1630 - border-color: rgba(16, 185, 129, 0.3);
1631 - background: rgba(16, 185, 129, 0.05);
1632 -}
1633 -
1634 -.mxch-rag-match-below {
1635 - border-color: var(--mxch-card-border);
1636 - background: #fafafa;
1637 -}
1638 -
1639 -.mxch-rag-match-header {
1640 - display: flex;
1641 - align-items: center;
1642 - gap: var(--mxch-spacing-sm);
1643 - margin-bottom: var(--mxch-spacing-sm);
1644 -}
1645 -
1646 -.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;
1647 431 font-size: 14px;
1648 - font-weight: 700;
1649 - color: var(--mxch-primary);
1650 432 }
1651 433
1652 -.mxch-rag-chunk-badge {
1653 - font-size: 11px;
1654 - padding: 2px 8px;
1655 - background: rgba(120, 115, 245, 0.1);
1656 - color: var(--mxch-primary);
1657 - border-radius: 10px;
1658 -}
1659 -
1660 -.mxch-rag-match-status {
1661 - margin-left: auto;
1662 - font-size: 12px;
1663 - font-weight: 500;
1664 -}
1665 -
1666 -.mxch-rag-match-status.status-used {
1667 - color: var(--mxch-success);
1668 -}
1669 -
1670 -.mxch-rag-match-status.status-below {
1671 - color: var(--mxch-text-muted);
1672 -}
1673 -
1674 -.mxch-rag-match-source {
434 +.mxchat-chat-notification-modal-content .description {
435 + margin-top: 8px;
436 + color: #6b7280;
1675 437 font-size: 13px;
1676 - color: var(--mxch-text-secondary);
1677 - word-break: break-all;
1678 438 }
1679 439
1680 -.mxch-rag-match-source a {
1681 - color: var(--mxch-primary);
1682 - text-decoration: none;
440 +/* Checkbox styling in chat notification modal */
441 +.mxchat-chat-notification-modal-content input[type="checkbox"] {
442 + margin-right: 8px;
1683 443 }
1684 444
1685 -.mxch-rag-match-source a:hover {
1686 - text-decoration: underline;
445 +.mxchat-chat-notification-modal-content label {
446 + color: #374151;
447 + font-size: 14px;
1687 448 }
1688 449
1689 -/* Context Modal Tabs */
1690 -.mxch-context-tabs {
1691 - display: flex;
1692 - gap: 4px;
1693 - padding: 4px;
1694 - background: #f1f5f9;
1695 - border-radius: var(--mxch-radius-md);
1696 - 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;
1697 457 }
1698 458
1699 -.mxch-context-tab {
1700 - flex: 1;
1701 - display: flex;
1702 - align-items: center;
1703 - justify-content: center;
1704 - gap: 8px;
1705 - padding: 10px 16px;
459 +.mxchat-chat-notification-modal-content .button-primary {
460 + background: linear-gradient(135deg, #3b82f6, #8b5cf6);
1706 461 border: none;
1707 - background: transparent;
1708 - border-radius: var(--mxch-radius-sm);
1709 - font-size: 13px;
1710 - font-weight: 500;
1711 - color: var(--mxch-text-secondary);
1712 - cursor: pointer;
1713 - transition: all var(--mxch-transition-fast);
462 + color: #fff;
1714 463 }
1715 464
1716 -.mxch-context-tab:hover {
1717 - color: var(--mxch-text-primary);
1718 - 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);
1719 468 }
1720 469
1721 -.mxch-context-tab.active {
1722 - background: white;
1723 - color: var(--mxch-primary);
1724 - 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;
1725 474 }
1726 475
1727 -.mxch-context-tab svg {
1728 - width: 16px;
1729 - height: 16px;
1730 - flex-shrink: 0;
476 +.mxchat-chat-notification-modal-content .mxchat-chat-notification-modal-cancel:hover {
477 + background: #e5e7eb;
1731 478 }
1732 479
1733 -.mxch-tab-badge {
1734 - 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;
1735 486 align-items: center;
1736 - justify-content: center;
1737 - min-width: 20px;
1738 - height: 20px;
1739 - padding: 0 6px;
1740 - background: rgba(120, 115, 245, 0.1);
1741 - color: var(--mxch-primary);
1742 - font-size: 11px;
1743 - font-weight: 600;
1744 - border-radius: 10px;
1745 487 }
1746 488
1747 -.mxch-context-tab.active .mxch-tab-badge {
1748 - background: var(--mxch-primary);
1749 - color: white;
489 +.mxchat-pagination-info {
490 + margin-bottom: 10px;
491 + color: #666;
1750 492 }
1751 493
1752 -.mxch-tab-content {
1753 - min-height: 200px;
494 +.mxchat-pagination-controls {
495 + display: flex;
496 + flex-wrap: wrap;
497 + gap: 5px;
1754 498 }
1755 499
1756 -/* Action Specific Styles */
1757 -.mxch-action-triggered {
1758 - border-color: rgba(245, 158, 11, 0.4);
1759 - background: rgba(245, 158, 11, 0.08);
1760 -}
1761 -
1762 -.mxch-action-threshold-badge {
1763 - font-size: 11px;
1764 - padding: 2px 8px;
1765 - background: rgba(100, 116, 139, 0.1);
1766 - color: var(--mxch-text-secondary);
1767 - border-radius: 10px;
1768 -}
1769 -
1770 -.mxch-rag-match-status.status-triggered {
1771 - color: #f59e0b;
1772 - font-weight: 600;
1773 -}
1774 -
1775 -.mxch-action-details {
1776 - margin-top: var(--mxch-spacing-sm);
1777 -}
1778 -
1779 -.mxch-action-label {
1780 - font-size: 14px;
1781 - font-weight: 600;
1782 - color: var(--mxch-text-primary);
1783 - margin-bottom: 4px;
1784 -}
1785 -
1786 -.mxch-action-callback {
1787 - font-size: 12px;
1788 - color: var(--mxch-text-muted);
1789 - font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;
1790 -}
1791 -
1792 -.mxch-action-callback-label {
1793 - color: var(--mxch-text-secondary);
1794 - font-family: inherit;
1795 -}
1796 -
1797 -/* Action Score Bar Visualization */
1798 -.mxch-action-score-bar {
1799 - position: relative;
1800 - height: 6px;
1801 - background: #e2e8f0;
500 +.mxchat-pagination-button {
501 + padding: 6px 12px;
502 + background: #f7f7f7;
503 + border: 1px solid #ddd;
1802 504 border-radius: 3px;
1803 - margin-top: var(--mxch-spacing-sm);
1804 - overflow: visible;
505 + cursor: pointer;
506 + transition: all 0.2s ease;
1805 507 }
1806 508
1807 -.mxch-action-score-fill {
1808 - position: absolute;
1809 - left: 0;
1810 - top: 0;
1811 - height: 100%;
1812 - background: linear-gradient(90deg, #7873f5, #a5a1fa);
1813 - border-radius: 3px;
1814 - transition: width 0.3s ease;
509 +.mxchat-pagination-button:hover {
510 + background: #e9e9e9;
1815 511 }
1816 512
1817 -.mxch-action-triggered .mxch-action-score-fill {
1818 - 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;
1819 518 }
1820 519
1821 -.mxch-action-threshold-marker {
1822 - position: absolute;
1823 - top: -4px;
1824 - width: 2px;
1825 - height: 14px;
1826 - background: #ef4444;
1827 - border-radius: 1px;
1828 - transform: translateX(-50%);
520 +.mxchat-pagination-ellipsis {
521 + padding: 6px 8px;
522 + color: #666;
1829 523 }
1830 524
1831 -.mxch-action-threshold-marker::after {
1832 - content: '';
1833 - position: absolute;
1834 - top: -3px;
1835 - left: 50%;
1836 - transform: translateX(-50%);
1837 - width: 0;
1838 - height: 0;
1839 - border-left: 4px solid transparent;
1840 - border-right: 4px solid transparent;
1841 - border-top: 4px solid #ef4444;
1842 -}
1843 -
1844 -/* No Results State */
1845 -.mxch-no-results {
525 +/* No Results Styling */
526 +.mxchat-no-results {
1846 527 text-align: center;
1847 - padding: var(--mxch-spacing-xl);
1848 - 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;
1849 534 }
1850 535
1851 -.mxch-no-results p {
1852 - margin: 0;
1853 -}
1854 -
1855 -/* ==========================================================================
1856 - Responsive Adjustments
1857 - ========================================================================== */
1858 -@media screen and (max-width: 768px) {
1859 - .mxch-stats-grid {
1860 - 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;
1861 540 }
1862 -
1863 - .mxch-stat-card {
1864 - padding: var(--mxch-spacing-md);
541 +
542 + body.wp-admin .wrap.mxchat-transcripts-wrapper .mxchat-main-title {
543 + font-size: 2.5rem;
1865 544 }
1866 -
1867 - .mxch-stat-value {
1868 - font-size: 22px;
545 +
546 + body.wp-admin .wrap.mxchat-transcripts-wrapper .mxchat-transcripts-hero {
547 + padding: 2.5rem 1.5rem;
1869 548 }
1870 -
1871 - .mxch-cards-row {
1872 - grid-template-columns: 1fr;
549 +
550 + .auto-fold #wpcontent {
551 + margin-left: 0;
552 + padding-left: 0px;
1873 553 }
1874 -
1875 - .mxch-transcripts-controls {
1876 - flex-direction: column;
1877 - align-items: stretch;
554 +
555 + .mxchat-action-button {
556 + width: 100%;
1878 557 }
1879 -
1880 - .mxch-search-wrapper {
1881 - max-width: none;
1882 - }
1883 -
1884 - .mxch-controls-actions {
1885 - justify-content: flex-end;
1886 - }
1887 -
1888 - .mxch-session-header {
558 +
559 + .mxchat-session-header {
560 + padding: 10px 12px;
1889 561 flex-direction: column;
1890 - gap: var(--mxch-spacing-sm);
1891 - }
1892 -
1893 - .mxch-session-actions {
1894 - opacity: 1;
1895 - align-self: flex-end;
1896 - }
1897 -
1898 - .mxch-pagination {
1899 - flex-direction: column;
1900 - gap: var(--mxch-spacing-md);
1901 562 align-items: flex-start;
563 + gap: 8px;
1902 564 }
1903 -
1904 - .mxch-quick-actions {
1905 - flex-direction: column;
1906 - }
1907 -
1908 - .mxch-quick-action-btn {
565 +
566 + .mxchat-session-info {
1909 567 width: 100%;
1910 - justify-content: center;
568 + gap: 8px;
1911 569 }
1912 -
1913 - /* Chart responsive */
1914 - .mxch-activity-chart-card .mxch-card-header {
570 +
571 + .mxchat-session-details {
1915 572 flex-direction: column;
1916 573 align-items: flex-start;
574 + gap: 6px;
1917 575 }
1918 -
1919 - .mxch-chart-legend {
1920 - margin-top: var(--mxch-spacing-xs);
576 +
577 + .mxchat-user,
578 + .mxchat-page,
579 + .mxchat-links {
580 + max-width: none;
1921 581 }
1922 -
1923 - #mxchat-activity-chart {
1924 - height: 220px !important;
582 +
583 + .mxchat-session-time {
584 + align-self: flex-end;
1925 585 }
1926 -}
1927 -
1928 -@media screen and (max-width: 480px) {
1929 - .mxch-stats-grid {
1930 - grid-template-columns: 1fr;
586 +
587 + .mxchat-messages {
588 + padding: 12px;
1931 589 }
1932 -
1933 - .mxch-controls-actions {
590 +
591 + .mxchat-pagination {
1934 592 flex-direction: column;
1935 - width: 100%;
593 + align-items: flex-start;
1936 594 }
1937 -
1938 - .mxch-controls-actions .mxch-btn {
1939 - width: 100%;
1940 - justify-content: center;
595 +
596 + .mxchat-pagination-controls {
597 + margin-top: 10px;
1941 598 }
1942 -
1943 - .mxch-controls-actions form {
1944 - width: 100%;
1945 - }
1946 599 }
1947 600
1948 -/* Product Card in Transcripts */
1949 -.mxch-message-bubble .mxchat-product-card {
1950 - display: flex;
1951 - flex-direction: column;
1952 - align-items: center;
1953 - margin: 8px 0;
1954 - padding: 12px;
1955 - border-radius: 8px;
1956 - background: #f9f9f9;
1957 - border: 1px solid #e5e5e5;
1958 - max-width: 280px;
601 +/* Focus states for accessibility */
602 +.mxchat-checkbox:focus {
603 + outline: 2px solid #7873f5;
604 + outline-offset: 2px;
1959 605 }
1960 606
1961 -.mxch-message-bubble .mxchat-product-card a.mxchat-product-link {
1962 - text-decoration: none;
1963 - color: inherit;
1964 - display: flex;
1965 - flex-direction: column;
1966 - 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;
1967 612 }
1968 613
1969 -.mxch-message-bubble .mxchat-product-card img.mxchat-product-image {
1970 - max-width: 100%;
1971 - height: auto;
1972 - max-height: 180px;
1973 - object-fit: contain;
1974 - margin-bottom: 8px;
1975 - border-radius: 6px;
614 +/* Animation for new sessions */
615 +.mxchat-session.animate-in {
616 + animation: slideInFromTop 0.3s ease-out;
1976 617 }
1977 618
1978 -.mxch-message-bubble .mxchat-product-card h3.mxchat-product-name {
1979 - font-size: 14px;
1980 - font-weight: 600;
1981 - margin: 4px 0;
1982 - text-align: center;
1983 - color: #1a1a1a;
1984 -}
1985 -
1986 -.mxch-message-bubble .mxchat-product-card .mxchat-product-price {
1987 - color: #2e7d32;
1988 - font-weight: 600;
1989 - font-size: 15px;
1990 - margin: 4px 0 8px;
1991 -}
1992 -
1993 -.mxch-message-bubble .mxchat-product-card .mxchat-add-to-cart-button {
1994 - background-color: #212121;
1995 - color: #fff;
1996 - padding: 7px 16px;
1997 - border: none;
1998 - border-radius: 6px;
1999 - font-size: 13px;
2000 - cursor: default;
2001 - opacity: 0.6;
2002 -}
2003 -
2004 -.mxch-message-bubble .mxchat-product-card select {
2005 - width: 100%;
2006 - padding: 6px 8px;
2007 - margin: 4px 0;
2008 - border: 1px solid #ddd;
2009 - border-radius: 4px;
2010 - font-size: 13px;
2011 -}
2012 -
2013 -/* Featured Products in Transcripts */
2014 -.mxch-message-bubble .mxchat-featured-products {
2015 - margin: 8px 0;
2016 - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
2017 - line-height: 1.4;
2018 - display: flex;
2019 - flex-direction: column;
2020 - gap: 0;
2021 - padding: 0;
2022 -}
2023 -
2024 -.mxch-message-bubble .mxchat-featured-item {
2025 - padding: 10px 0;
2026 - border-bottom: 1px solid #e5e5e5;
2027 - margin: 0;
2028 -}
2029 -
2030 -.mxch-message-bubble .mxchat-featured-item:last-child {
2031 - border-bottom: none;
2032 - padding-bottom: 0;
2033 -}
2034 -
2035 -.mxch-message-bubble .mxchat-featured-item:first-child {
2036 - padding-top: 0;
2037 -}
2038 -
2039 -.mxch-message-bubble .mxchat-featured-item-top {
2040 - display: flex;
2041 - flex-direction: row;
2042 - align-items: center;
2043 - gap: 12px;
2044 - margin-bottom: 8px;
2045 -}
2046 -
2047 -.mxch-message-bubble .mxchat-featured-item-image {
2048 - flex-shrink: 0;
2049 - width: 70px;
2050 - height: 70px;
2051 - overflow: hidden;
2052 - border-radius: 8px;
2053 - background: #f1f1f1;
2054 -}
2055 -
2056 -.mxch-message-bubble .mxchat-featured-item-image a {
2057 - display: block;
2058 - width: 70px;
2059 - height: 70px;
2060 - text-decoration: none;
2061 -}
2062 -
2063 -.mxch-message-bubble .mxchat-featured-item-image img {
2064 - width: 70px;
2065 - height: 70px;
2066 - object-fit: cover;
2067 - border-radius: 8px;
2068 - display: block;
2069 -}
2070 -
2071 -.mxch-message-bubble .mxchat-featured-item-info {
2072 - flex: 1;
2073 - min-width: 0;
2074 - display: flex;
2075 - flex-direction: column;
2076 - gap: 2px;
2077 - justify-content: center;
2078 -}
2079 -
2080 -.mxch-message-bubble .mxchat-featured-item-title,
2081 -.mxch-message-bubble a.mxchat-featured-item-title {
2082 - font-size: 13px;
2083 - font-weight: 600;
2084 - color: #1a1a1a;
2085 - text-decoration: none;
2086 - line-height: 1.3;
2087 - display: -webkit-box;
2088 - -webkit-line-clamp: 2;
2089 - -webkit-box-orient: vertical;
2090 - overflow: hidden;
2091 - margin: 0;
2092 - padding: 0;
2093 -}
2094 -
2095 -.mxch-message-bubble a.mxchat-featured-item-title:hover {
2096 - opacity: 0.8;
2097 -}
2098 -
2099 -.mxch-message-bubble .mxchat-featured-item-price {
2100 - font-weight: 700;
2101 - font-size: 13px;
2102 - color: #2e7d32;
2103 - margin: 0;
2104 -}
2105 -
2106 -.mxch-message-bubble .mxchat-featured-item-price del {
2107 - opacity: 0.6;
2108 - font-weight: 400;
2109 - font-size: 0.85em;
2110 - margin-right: 4px;
2111 -}
2112 -
2113 -.mxch-message-bubble .mxchat-featured-item-price ins {
2114 - text-decoration: none;
2115 - background: none;
2116 -}
2117 -
2118 -.mxch-message-bubble .mxchat-featured-item-actions {
2119 - display: flex;
2120 - flex-direction: row;
2121 - gap: 8px;
2122 - margin: 0;
2123 - padding: 0;
2124 -}
2125 -
2126 -.mxch-message-bubble .mxchat-featured-btn-details,
2127 -.mxch-message-bubble a.mxchat-featured-btn-details {
2128 - display: flex;
2129 - align-items: center;
2130 - justify-content: center;
2131 - flex: 1;
2132 - padding: 7px 10px;
2133 - font-size: 12px;
2134 - font-weight: 500;
2135 - border-radius: 6px;
2136 - text-decoration: none;
2137 - border: 1px solid #ddd;
2138 - background: transparent;
2139 - color: #1a1a1a;
2140 - text-align: center;
2141 - line-height: 1.2;
2142 -}
2143 -
2144 -.mxch-message-bubble .mxchat-featured-btn-cart,
2145 -.mxch-message-bubble button.mxchat-featured-btn-cart {
2146 - display: flex;
2147 - align-items: center;
2148 - justify-content: center;
2149 - flex: 1;
2150 - padding: 7px 10px;
2151 - font-size: 12px;
2152 - font-weight: 500;
2153 - border-radius: 6px;
2154 - border: none;
2155 - background: #212121;
2156 - color: #fff;
2157 - cursor: default;
2158 - opacity: 0.6;
2159 - line-height: 1.2;
2160 -}
2161 -
2162 -/* ==========================================================================
2163 - Leads Tab
2164 - ========================================================================== */
2165 -
2166 -.mxch-leads-stats {
2167 - display: grid;
2168 - grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
2169 - gap: var(--mxch-spacing-lg);
2170 - margin-bottom: var(--mxch-spacing-xl);
2171 -}
2172 -
2173 -.mxch-leads-toppages {
2174 - margin-bottom: var(--mxch-spacing-xl);
2175 -}
2176 -
2177 -.mxch-leads-toppages-hint {
2178 - margin-left: auto;
2179 - font-size: 12px;
2180 - color: var(--mxch-text-muted);
2181 - font-weight: 400;
2182 -}
2183 -
2184 -.mxch-leads-toppages-list {
2185 - display: grid;
2186 - grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
2187 - gap: var(--mxch-spacing-sm);
2188 -}
2189 -
2190 -.mxch-leads-toppage-row {
2191 - display: flex;
2192 - align-items: center;
2193 - justify-content: space-between;
2194 - gap: var(--mxch-spacing-sm);
2195 - padding: 10px 14px;
2196 - background: var(--mxch-card-bg);
2197 - border: 1px solid var(--mxch-card-border);
2198 - border-radius: var(--mxch-radius-md);
2199 - text-align: left;
2200 - cursor: pointer;
2201 - transition: all var(--mxch-transition);
2202 - color: var(--mxch-text-primary);
2203 - font-size: 13px;
2204 -}
2205 -
2206 -.mxch-leads-toppage-row:hover {
2207 - border-color: var(--mxch-primary);
2208 - box-shadow: var(--mxch-card-shadow-hover);
2209 -}
2210 -
2211 -.mxch-leads-toppage-row.is-active {
2212 - border-color: var(--mxch-primary);
2213 - background: rgba(99, 102, 241, 0.06);
2214 -}
2215 -
2216 -.mxch-leads-toppage-title {
2217 - flex: 1 1 auto;
2218 - min-width: 0;
2219 - overflow: hidden;
2220 - text-overflow: ellipsis;
2221 - white-space: nowrap;
2222 -}
2223 -
2224 -.mxch-leads-toppage-count {
2225 - flex: 0 0 auto;
2226 - display: inline-flex;
2227 - align-items: center;
2228 - justify-content: center;
2229 - min-width: 28px;
2230 - height: 22px;
2231 - padding: 0 8px;
2232 - border-radius: 999px;
2233 - background: var(--mxch-primary);
2234 - color: #fff;
2235 - font-size: 11px;
2236 - font-weight: 600;
2237 -}
2238 -
2239 -.mxch-leads-empty-mini {
2240 - padding: 12px;
2241 - text-align: center;
2242 - color: var(--mxch-text-muted);
2243 - font-size: 13px;
2244 -}
2245 -
2246 -/* Toolbar + card */
2247 -.mxch-leads-card {
2248 - padding: 0;
2249 - overflow: hidden;
2250 -}
2251 -
2252 -.mxch-leads-toolbar {
2253 - display: flex;
2254 - align-items: center;
2255 - justify-content: space-between;
2256 - gap: var(--mxch-spacing-md);
2257 - padding: var(--mxch-spacing-md) var(--mxch-spacing-lg);
2258 - border-bottom: 1px solid var(--mxch-card-border);
2259 - flex-wrap: wrap;
2260 -}
2261 -
2262 -.mxch-leads-toolbar-left,
2263 -.mxch-leads-toolbar-right {
2264 - display: flex;
2265 - align-items: center;
2266 - gap: var(--mxch-spacing-sm);
2267 -}
2268 -
2269 -.mxch-leads-export {
2270 - position: relative;
2271 -}
2272 -
2273 -.mxch-leads-export-menu {
2274 - position: absolute;
2275 - right: 0;
2276 - top: calc(100% + 6px);
2277 - min-width: 240px;
2278 - background: var(--mxch-card-bg);
2279 - border: 1px solid var(--mxch-card-border);
2280 - border-radius: var(--mxch-radius-md);
2281 - box-shadow: var(--mxch-card-shadow-hover);
2282 - padding: 4px;
2283 - z-index: 20;
2284 - display: none;
2285 -}
2286 -
2287 -.mxch-leads-export-menu.is-open { display: block; }
2288 -
2289 -.mxch-leads-export-menu button {
2290 - display: block;
2291 - width: 100%;
2292 - padding: 8px 12px;
2293 - background: transparent;
2294 - border: none;
2295 - border-radius: 6px;
2296 - text-align: left;
2297 - color: var(--mxch-text-primary);
2298 - font-size: 13px;
2299 - cursor: pointer;
2300 -}
2301 -
2302 -.mxch-leads-export-menu button:hover:not(:disabled) {
2303 - background: rgba(99, 102, 241, 0.08);
2304 -}
2305 -
2306 -.mxch-leads-export-menu button:disabled {
2307 - color: var(--mxch-text-muted);
2308 - cursor: not-allowed;
2309 -}
2310 -
2311 -/* Filters row */
2312 -.mxch-leads-filters {
2313 - display: flex;
2314 - align-items: center;
2315 - gap: var(--mxch-spacing-sm);
2316 - padding: var(--mxch-spacing-md) var(--mxch-spacing-lg);
2317 - border-bottom: 1px solid var(--mxch-card-border);
2318 - flex-wrap: wrap;
2319 -}
2320 -
2321 -.mxch-leads-filters .mxch-search-wrapper {
2322 - flex: 1 1 260px;
2323 - min-width: 180px;
2324 -}
2325 -
2326 -.mxch-leads-filters .mxch-select {
2327 - height: 36px;
2328 - min-width: 160px;
2329 -}
2330 -
2331 -.mxch-leads-active-page-filter {
2332 - display: inline-flex;
2333 - align-items: center;
2334 - gap: 6px;
2335 - padding: 4px 6px 4px 10px;
2336 - background: rgba(99, 102, 241, 0.08);
2337 - border: 1px solid rgba(99, 102, 241, 0.28);
2338 - border-radius: 999px;
2339 - font-size: 12px;
2340 - color: var(--mxch-text-primary);
2341 - max-width: 280px;
2342 -}
2343 -
2344 -.mxch-leads-page-chip-label {
2345 - overflow: hidden;
2346 - text-overflow: ellipsis;
2347 - white-space: nowrap;
2348 -}
2349 -
2350 -.mxch-leads-page-chip-remove {
2351 - border: none;
2352 - background: transparent;
2353 - font-size: 16px;
2354 - line-height: 1;
2355 - cursor: pointer;
2356 - padding: 0 4px;
2357 - color: var(--mxch-text-muted);
2358 -}
2359 -
2360 -.mxch-leads-page-chip-remove:hover {
2361 - color: var(--mxch-text-primary);
2362 -}
2363 -
2364 -/* Table */
2365 -.mxch-leads-table-wrap {
2366 - overflow-x: auto;
2367 -}
2368 -
2369 -.mxch-leads-table {
2370 - width: 100%;
2371 - border-collapse: separate;
2372 - border-spacing: 0;
2373 - font-size: 13px;
2374 -}
2375 -
2376 -.mxch-leads-table thead th {
2377 - padding: 10px 14px;
2378 - text-align: left;
2379 - background: var(--mxch-card-bg);
2380 - border-bottom: 1px solid var(--mxch-card-border);
2381 - color: var(--mxch-text-secondary);
2382 - font-weight: 600;
2383 - font-size: 11px;
2384 - text-transform: uppercase;
2385 - letter-spacing: 0.04em;
2386 - position: sticky;
2387 - top: 0;
2388 -}
2389 -
2390 -.mxch-leads-table tbody td {
2391 - padding: 12px 14px;
2392 - border-bottom: 1px solid var(--mxch-card-border);
2393 - vertical-align: middle;
2394 - color: var(--mxch-text-primary);
2395 -}
2396 -
2397 -.mxch-leads-table tbody tr:last-child td {
2398 - border-bottom: none;
2399 -}
2400 -
2401 -.mxch-leads-table tbody tr:hover {
2402 - background: rgba(99, 102, 241, 0.04);
2403 -}
2404 -
2405 -.mxch-leads-row.is-orphan .mxch-leads-lead-email {
2406 - font-style: italic;
2407 - color: var(--mxch-text-secondary);
2408 -}
2409 -
2410 -.mxch-leads-table { table-layout: fixed; }
2411 -
2412 -.mxch-leads-col-check { width: 40px; }
2413 -.mxch-leads-col-lead { width: auto; min-width: 280px; }
2414 -.mxch-leads-col-count { width: 130px; text-align: left; }
2415 -.mxch-leads-col-last { width: 110px; white-space: nowrap; }
2416 -.mxch-leads-col-page { width: 180px; max-width: 180px; }
2417 -.mxch-leads-col-actions { width: 170px; white-space: nowrap; text-align: right; }
2418 -
2419 -.mxch-leads-lead-cell {
2420 - display: flex;
2421 - flex-direction: column;
2422 - min-width: 0;
2423 - gap: 2px;
2424 -}
2425 -
2426 -.mxch-leads-lead-email {
2427 - font-weight: 500;
2428 - color: var(--mxch-text-primary);
2429 - overflow: hidden;
2430 - text-overflow: ellipsis;
2431 - white-space: nowrap;
2432 -}
2433 -
2434 -.mxch-leads-lead-name {
2435 - font-size: 11px;
2436 - color: var(--mxch-text-muted);
2437 - overflow: hidden;
2438 - text-overflow: ellipsis;
2439 - white-space: nowrap;
2440 -}
2441 -
2442 -.mxch-leads-muted { color: var(--mxch-text-muted); }
2443 -
2444 -.mxch-leads-pill {
2445 - display: inline-flex;
2446 - align-items: center;
2447 - justify-content: center;
2448 - min-width: 28px;
2449 - height: 22px;
2450 - padding: 0 8px;
2451 - border-radius: 999px;
2452 - background: rgba(99, 102, 241, 0.12);
2453 - color: var(--mxch-primary);
2454 - font-weight: 600;
2455 - font-size: 11px;
2456 -}
2457 -
2458 -.mxch-leads-pill-orphan {
2459 - background: rgba(245, 158, 11, 0.14);
2460 - color: var(--mxch-warning);
2461 -}
2462 -
2463 -.mxch-leads-pill-deleted {
2464 - background: rgba(100, 116, 139, 0.12);
2465 - color: var(--mxch-text-secondary);
2466 - border: 1px solid rgba(100, 116, 139, 0.22);
2467 - padding: 0 10px;
2468 -}
2469 -
2470 -.mxch-leads-row.is-chat-deleted .mxch-leads-lead-email {
2471 - color: var(--mxch-text-secondary);
2472 -}
2473 -
2474 -.mxch-transcript-confirm-check {
2475 - display: flex;
2476 - gap: 10px;
2477 - align-items: flex-start;
2478 - padding: 10px 12px;
2479 - margin: 12px 0 4px;
2480 - background: rgba(99, 102, 241, 0.04);
2481 - border: 1px solid var(--mxch-card-border);
2482 - border-radius: var(--mxch-radius-md);
2483 - cursor: pointer;
2484 -}
2485 -
2486 -.mxch-transcript-confirm-check input[type="checkbox"] {
2487 - margin-top: 3px;
2488 - flex: 0 0 auto;
2489 -}
2490 -
2491 -.mxch-transcript-confirm-check strong {
2492 - display: block;
2493 - color: var(--mxch-text-primary);
2494 - font-weight: 600;
2495 - font-size: 13px;
2496 -}
2497 -
2498 -.mxch-transcript-confirm-sublabel {
2499 - display: block;
2500 - margin-top: 2px;
2501 - font-size: 12px;
2502 - color: var(--mxch-text-muted);
2503 - font-style: normal;
2504 -}
2505 -
2506 -.mxch-leads-page-link {
2507 - display: inline-block;
2508 - max-width: 100%;
2509 - overflow: hidden;
2510 - text-overflow: ellipsis;
2511 - white-space: nowrap;
2512 - vertical-align: middle;
2513 - color: var(--mxch-primary);
2514 - text-decoration: none;
2515 -}
2516 -
2517 -.mxch-leads-page-link:hover { text-decoration: underline; }
2518 -
2519 -.mxch-leads-col-actions .mxch-btn {
2520 - margin-left: 6px;
2521 -}
2522 -
2523 -.mxch-btn-danger-ghost {
2524 - color: #b91c1c;
2525 -}
2526 -
2527 -.mxch-btn-danger-ghost:hover {
2528 - background: rgba(185, 28, 28, 0.08);
2529 - color: #991b1b;
2530 -}
2531 -
2532 -.mxch-leads-empty,
2533 -.mxch-leads-loading {
2534 - padding: 40px 16px;
2535 - text-align: center;
2536 - color: var(--mxch-text-muted);
2537 -}
2538 -
2539 -.mxch-leads-empty-wrap {
2540 - display: flex;
2541 - flex-direction: column;
2542 - align-items: center;
2543 - gap: var(--mxch-spacing-sm);
2544 - color: var(--mxch-text-muted);
2545 -}
2546 -
2547 -.mxch-leads-empty-wrap svg { opacity: 0.6; }
2548 -
2549 -.mxch-leads-count {
2550 - font-size: 12px;
2551 - color: var(--mxch-text-muted);
2552 -}
2553 -
2554 -/* Confirm modal */
2555 -.mxch-leads-confirm-box {
2556 - max-width: 440px;
2557 -}
2558 -
2559 -.mxch-leads-confirm-warning {
2560 - color: var(--mxch-text-muted);
2561 - font-size: 12px;
2562 - margin-top: 8px;
2563 -}
2564 -
2565 -.mxch-leads-confirm-actions {
2566 - display: flex;
2567 - justify-content: flex-end;
2568 - gap: 8px;
2569 - padding: var(--mxch-spacing-md) var(--mxch-spacing-lg);
2570 - border-top: 1px solid var(--mxch-card-border);
2571 -}
2572 -
2573 -/* Responsive: tablet */
2574 -@media (max-width: 1024px) {
2575 - .mxch-leads-col-page { width: 140px; max-width: 140px; }
2576 - .mxch-leads-col-actions { width: 140px; }
2577 - .mxch-leads-col-actions .mxch-leads-view span { display: none; }
2578 -}
2579 -
2580 -/* Responsive: phone */
2581 -@media (max-width: 768px) {
2582 - .mxch-leads-col-page,
2583 - .mxch-leads-col-last {
2584 - display: none;
619 +@keyframes slideInFromTop {
620 + 0% {
621 + opacity: 0;
622 + transform: translateY(-10px);
2585 623 }
2586 - .mxch-leads-filters {
2587 - padding: var(--mxch-spacing-sm);
624 + 100% {
625 + opacity: 1;
626 + transform: translateY(0);
2588 627 }
2589 - .mxch-leads-filters .mxch-select {
2590 - flex: 1 1 48%;
2591 - min-width: 0;
2592 - }
2593 - .mxch-leads-toolbar {
2594 - padding: var(--mxch-spacing-sm);
2595 - }
2596 - .mxch-leads-table thead th { padding: 8px 10px; font-size: 10px; }
2597 - .mxch-leads-table tbody td { padding: 10px; font-size: 12px; }
2598 -}
2599 -
2600 -@media (max-width: 480px) {
2601 - .mxch-leads-col-count { display: none; }
2602 - .mxch-leads-toppages-list { grid-template-columns: 1fr; }
2603 -}
628 +}