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