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 -2546 3.2.172.6.3 View file →
@@ -1,2805 +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-agent-label {
1195 - font-size: 11px;
1196 - font-weight: 600;
1197 - color: #7c3aed;
1198 - text-transform: uppercase;
1199 - letter-spacing: 0.5px;
1200 -}
1201 -
1202 -.mxch-message-agent .mxch-message-bubble {
1203 - border-color: #ddd6fe;
1204 -}
1205 -
1206 -.mxch-rag-link {
1207 - font-size: 11px;
299 +/* Message content markdown styling */
300 +.mxchat-message-content a {
1208 301 color: #3b82f6;
1209 302 text-decoration: none;
1210 - font-weight: 500;
1211 - padding: 2px 8px;
1212 - background: #eff6ff;
1213 - border-radius: 4px;
1214 - transition: all 0.15s;
1215 303 }
1216 304
1217 -.mxch-rag-link:hover {
1218 - background: #dbeafe;
305 +.mxchat-message-content a:hover {
306 + text-decoration: underline;
1219 307 }
1220 308
1221 -.mxch-message-bot .mxch-message-row {
1222 - max-width: 80%;
1223 - min-width: 150px;
1224 -}
1225 -
1226 -.mxch-message-bot .mxch-message-bubble {
1227 - background: #fff;
1228 - border: 1px solid #e5e7eb;
1229 - color: #374151;
1230 - padding: 12px 16px;
1231 - border-radius: 18px 18px 18px 4px;
1232 - font-size: 14px;
1233 - line-height: 1.5;
1234 - min-width: 100px;
1235 -}
1236 -
1237 -.mxch-message-bot .mxch-message-bubble a {
1238 - color: #3b82f6;
1239 -}
1240 -
1241 -.mxch-message-bot .mxch-message-time {
1242 - font-size: 11px;
1243 - color: #9ca3af;
1244 - margin-top: 4px;
1245 -}
1246 -
1247 -/* Message Content Styles */
1248 -.mxch-message-bubble p {
1249 - margin: 0 0 10px 0;
1250 -}
1251 -
1252 -.mxch-message-bubble p:last-child {
1253 - margin-bottom: 0;
1254 -}
1255 -
1256 -.mxch-message-bubble ul,
1257 -.mxch-message-bubble ol {
1258 - margin: 10px 0;
1259 - padding-left: 20px;
1260 -}
1261 -
1262 -.mxch-message-bubble li {
1263 - margin: 4px 0;
1264 -}
1265 -
1266 -.mxch-message-bubble code {
1267 - background: rgba(0, 0, 0, 0.08);
1268 - padding: 2px 6px;
1269 - border-radius: 4px;
309 +.mxchat-message-content code {
310 + background: rgba(0, 0, 0, 0.06);
311 + padding: 2px 5px;
312 + border-radius: 3px;
1270 313 font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
1271 314 font-size: 0.9em;
1272 315 }
1273 316
1274 -.mxch-message-user .mxch-message-bubble code {
1275 - background: rgba(255, 255, 255, 0.2);
1276 -}
1277 -
1278 -.mxch-message-bubble pre {
317 +.mxchat-message-content pre {
1279 318 background: #1e293b;
1280 319 color: #e2e8f0;
1281 - padding: 12px 14px;
1282 - border-radius: 8px;
320 + padding: 12px 16px;
321 + border-radius: 6px;
1283 322 overflow-x: auto;
1284 - margin: 10px 0;
1285 - font-size: 13px;
323 + margin: 8px 0;
1286 324 }
1287 325
1288 -.mxch-message-bubble pre code {
326 +.mxchat-message-content pre code {
1289 327 background: none;
1290 328 padding: 0;
1291 329 color: inherit;
1292 330 }
1293 331
1294 -/* Scrollbar Styling */
1295 -.mxch-chat-list::-webkit-scrollbar,
1296 -.mxch-messages-area::-webkit-scrollbar {
1297 - width: 6px;
332 +.mxchat-message-content strong {
333 + font-weight: 600;
1298 334 }
1299 335
1300 -.mxch-chat-list::-webkit-scrollbar-track,
1301 -.mxch-messages-area::-webkit-scrollbar-track {
1302 - background: transparent;
336 +.mxchat-message-content em {
337 + font-style: italic;
1303 338 }
1304 339
1305 -.mxch-chat-list::-webkit-scrollbar-thumb,
1306 -.mxch-messages-area::-webkit-scrollbar-thumb {
1307 - background: #d1d5db;
1308 - 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;
1309 350 }
1310 351
1311 -.mxch-chat-list::-webkit-scrollbar-thumb:hover,
1312 -.mxch-messages-area::-webkit-scrollbar-thumb:hover {
1313 - background: #9ca3af;
1314 -}
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; }
1315 358
1316 -/* Responsive Split Panel - Tablet */
1317 -@media screen and (max-width: 900px) and (min-width: 783px) {
1318 - #all-chats.mxch-section {
1319 - padding: 0;
1320 - }
1321 -
1322 - .mxch-split-panel {
1323 - flex-direction: column;
1324 - height: auto;
1325 - }
1326 -
1327 - .mxch-chat-list-panel {
1328 - width: 100%;
1329 - max-width: none;
1330 - height: 350px;
1331 - border-right: none;
1332 - border-bottom: 1px solid #e5e7eb;
1333 - }
1334 -
1335 - .mxch-panel-expand {
1336 - display: none;
1337 - }
1338 -
1339 - .mxch-conversation-panel {
1340 - min-height: 400px;
1341 - }
1342 -
1343 - .mxch-bulk-toolbar {
1344 - flex-wrap: wrap;
1345 - }
1346 -
1347 - .mxch-bulk-btn span {
1348 - display: none;
1349 - }
359 +.mxchat-message-content ul,
360 +.mxchat-message-content ol {
361 + margin: 8px 0;
362 + padding-left: 24px;
1350 363 }
1351 364
1352 -/* ==========================================================================
1353 - Mobile Split Panel - Full Screen Panels
1354 - ========================================================================== */
1355 -@media screen and (max-width: 782px) {
1356 - #all-chats.mxch-section {
1357 - padding: 0;
1358 - /* Mobile viewport height with fallbacks for browser address bar */
1359 - /* 1. Fallback: standard vh (may be cut off by browser chrome) */
1360 - height: calc(100vh - 46px - 32px);
1361 - /* 2. Better: dvh (dynamic viewport height) for modern browsers */
1362 - height: calc(100dvh - 46px - 32px);
1363 - /* 3. Best: JS-calculated actual viewport via CSS custom property */
1364 - height: calc(var(--mxch-mobile-vh, 100vh) - 46px - 32px);
1365 - overflow: hidden;
1366 - }
1367 -
1368 - .mxch-split-panel {
1369 - height: 100%;
1370 - position: relative;
1371 - }
1372 -
1373 - /* Chat List - Full screen on mobile */
1374 - .mxch-chat-list-panel {
1375 - width: 100%;
1376 - max-width: none;
1377 - height: 100%;
1378 - border-right: none;
1379 - position: absolute;
1380 - top: 0;
1381 - left: 0;
1382 - right: 0;
1383 - bottom: 0;
1384 - z-index: 10;
1385 - transition: transform 0.3s ease;
1386 - }
1387 -
1388 - .mxch-chat-list-panel.panel-hidden {
1389 - transform: translateX(-100%);
1390 - }
1391 -
1392 - .mxch-chat-list {
1393 - flex: 1;
1394 - overflow-y: auto;
1395 - -webkit-overflow-scrolling: touch;
1396 - }
1397 -
1398 - /* Conversation Panel - Slide over from right */
1399 - .mxch-conversation-panel {
1400 - position: absolute;
1401 - top: 0;
1402 - left: 0;
1403 - right: 0;
1404 - bottom: 0;
1405 - z-index: 20;
1406 - transform: translateX(100%);
1407 - transition: transform 0.3s ease;
1408 - min-height: 0;
1409 - height: 100%;
1410 - display: flex;
1411 - flex-direction: column;
1412 - }
1413 -
1414 - .mxch-conversation-panel.panel-active {
1415 - transform: translateX(0);
1416 - }
1417 -
1418 - /* Mobile back button in conversation header */
1419 - .mxch-mobile-back-btn {
1420 - display: flex !important;
1421 - align-items: center;
1422 - justify-content: center;
1423 - width: 36px;
1424 - height: 36px;
1425 - background: #f3f4f6;
1426 - border: none;
1427 - border-radius: 8px;
1428 - color: #374151;
1429 - cursor: pointer;
1430 - margin-right: 8px;
1431 - flex-shrink: 0;
1432 - }
1433 -
1434 - .mxch-mobile-back-btn:hover {
1435 - background: #e5e7eb;
1436 - }
1437 -
1438 - /* Ensure conversation content scrolls properly */
1439 - .mxch-conversation-content {
1440 - flex: 1;
1441 - display: flex;
1442 - flex-direction: column;
1443 - min-height: 0;
1444 - overflow: hidden;
1445 - }
1446 -
1447 - /* Messages area scroll fix for mobile */
1448 - .mxch-messages-area {
1449 - flex: 1;
1450 - overflow-y: auto;
1451 - -webkit-overflow-scrolling: touch;
1452 - padding: 16px;
1453 - padding-bottom: 24px; /* Extra padding at bottom for visibility */
1454 - }
1455 -
1456 - /* Hide expand button on mobile */
1457 - .mxch-panel-expand {
1458 - display: none;
1459 - }
1460 -
1461 - /* Adjust bulk toolbar for mobile */
1462 - .mxch-bulk-toolbar {
1463 - flex-wrap: wrap;
1464 - gap: 6px;
1465 - padding: 8px 10px;
1466 - }
1467 -
1468 - .mxch-bulk-btn span {
1469 - display: none;
1470 - }
1471 -
1472 - /* Make chat items more tappable */
1473 - .mxch-chat-item {
1474 - padding: 14px 12px;
1475 - }
1476 -
1477 - /* Adjust conversation header for mobile */
1478 - .mxch-conversation-header {
1479 - padding: 12px 16px;
1480 - flex-shrink: 0;
1481 - }
1482 -
1483 - /* Details drawer adjustments */
1484 - .mxch-details-drawer {
1485 - max-height: 200px;
1486 - overflow-y: auto;
1487 - flex-shrink: 0;
1488 - }
1489 -
1490 - /* Conversation empty state on mobile */
1491 - .mxch-conversation-empty {
1492 - display: none;
1493 - }
365 +.mxchat-message-content li {
366 + margin: 4px 0;
1494 367 }
1495 368
1496 -/* ==========================================================================
1497 - Pagination
1498 - ========================================================================== */
1499 -.mxch-pagination {
1500 - display: flex;
1501 - flex-wrap: wrap;
1502 - justify-content: space-between;
1503 - align-items: center;
1504 - margin-top: var(--mxch-spacing-lg);
1505 - padding: var(--mxch-spacing-md);
1506 - background: var(--mxch-card-bg);
1507 - border: 1px solid var(--mxch-card-border);
1508 - border-radius: var(--mxch-radius-md);
369 +.mxchat-message-content p {
370 + margin: 8px 0;
1509 371 }
1510 372
1511 -.mxch-pagination-info {
1512 - font-size: 13px;
1513 - color: var(--mxch-text-secondary);
1514 -}
1515 -
1516 -.mxch-pagination-controls {
1517 - display: flex;
1518 - flex-wrap: wrap;
1519 - gap: 4px;
1520 -}
1521 -
1522 -.mxch-pagination-btn {
1523 - padding: 6px 12px;
1524 - background: #f8fafc;
1525 - border: 1px solid var(--mxch-card-border);
1526 - border-radius: var(--mxch-radius-sm);
1527 - color: var(--mxch-text-primary);
1528 - font-size: 13px;
1529 - cursor: pointer;
1530 - transition: all var(--mxch-transition-fast);
1531 -}
1532 -
1533 -.mxch-pagination-btn:hover {
1534 - background: #e2e8f0;
1535 -}
1536 -
1537 -.mxch-pagination-btn.active {
1538 - background: var(--mxch-primary);
1539 - border-color: var(--mxch-primary);
1540 - color: white;
1541 -}
1542 -
1543 -.mxch-pagination-ellipsis {
1544 - padding: 6px 8px;
1545 - color: var(--mxch-text-muted);
1546 -}
1547 -
1548 -/* ==========================================================================
1549 - No Results
1550 - ========================================================================== */
1551 -.mxch-no-results {
1552 - text-align: center;
1553 - padding: var(--mxch-spacing-xl) var(--mxch-spacing-lg);
1554 - color: var(--mxch-text-muted);
1555 - background: #f9fafb;
1556 - border: 2px dashed var(--mxch-card-border);
1557 - border-radius: var(--mxch-radius-lg);
1558 -}
1559 -
1560 -.mxch-no-results svg {
1561 - width: 48px;
1562 - height: 48px;
1563 - margin-bottom: var(--mxch-spacing-md);
1564 - opacity: 0.5;
1565 -}
1566 -
1567 -.mxch-no-results h3 {
1568 - font-size: 16px;
1569 - font-weight: 600;
1570 - color: var(--mxch-text-secondary);
1571 - margin: 0 0 var(--mxch-spacing-xs) 0;
1572 -}
1573 -
1574 -.mxch-no-results p {
1575 - font-size: 14px;
1576 - margin: 0;
1577 -}
1578 -
1579 -/* ==========================================================================
1580 - Toggle Row
1581 - ========================================================================== */
1582 -.mxch-toggle-row {
1583 - display: flex;
1584 - align-items: center;
1585 - gap: var(--mxch-spacing-sm);
1586 -}
1587 -
1588 -.mxch-toggle-label {
1589 - font-size: 14px;
373 +.mxchat-timestamp {
374 + font-size: 12px;
375 + color: #9ca3af;
1590 376 font-weight: 500;
1591 - color: var(--mxch-text-primary);
1592 377 }
1593 378
1594 -/* ==========================================================================
1595 - Modal Styles
1596 - ========================================================================== */
1597 -.mxch-modal-overlay {
379 +/* Chat Email Notification Modal styles */
380 +.mxchat-chat-notification-modal-overlay {
1598 381 position: fixed;
382 + z-index: 9999;
383 + left: 0;
1599 384 top: 0;
1600 - left: 0;
1601 - right: 0;
1602 - bottom: 0;
1603 - background: rgba(0, 0, 0, 0.5);
385 + width: 100%;
386 + height: 100%;
387 + background-color: rgba(0, 0, 0, 0.5);
1604 388 display: flex;
1605 389 align-items: center;
1606 390 justify-content: center;
1607 - z-index: 100000;
1608 - animation: mxchFadeIn 0.2s ease;
391 + animation: mxchatNotificationFadeIn 0.3s ease;
1609 392 }
1610 393
1611 -.mxch-modal-content {
1612 - background: white;
1613 - border-radius: var(--mxch-radius-lg);
1614 - box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
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);
1615 403 width: 90%;
1616 - max-width: 600px;
1617 - max-height: 80vh;
404 + max-width: 500px;
405 + max-height: 90vh;
1618 406 display: flex;
1619 407 flex-direction: column;
1620 - animation: mxchSlideIn 0.2s ease;
408 + animation: mxchatNotificationSlideIn 0.3s ease;
1621 409 }
1622 410
1623 -@keyframes mxchSlideIn {
1624 - from {
1625 - transform: translateY(-20px);
1626 - opacity: 0;
1627 - }
1628 - to {
1629 - transform: translateY(0);
1630 - opacity: 1;
1631 - }
411 +@keyframes mxchatNotificationSlideIn {
412 + from { transform: translateY(-20px); opacity: 0; }
413 + to { transform: translateY(0); opacity: 1; }
1632 414 }
1633 415
1634 -.mxch-modal-header {
416 +.mxchat-chat-notification-modal-header {
417 + padding: 20px;
418 + border-bottom: 1px solid #e5e7eb;
1635 419 display: flex;
420 + justify-content: space-between;
1636 421 align-items: center;
1637 - justify-content: space-between;
1638 - padding: var(--mxch-spacing-md) var(--mxch-spacing-lg);
1639 - border-bottom: 1px solid var(--mxch-card-border);
1640 422 }
1641 423
1642 -.mxch-modal-header h2 {
1643 - font-size: 18px;
424 +.mxchat-chat-notification-modal-header h2 {
425 + margin: 0;
426 + font-size: 20px;
1644 427 font-weight: 600;
1645 - color: var(--mxch-text-primary);
1646 - margin: 0;
428 + color: #1f2937;
1647 429 }
1648 430
1649 -.mxch-modal-close {
1650 - width: 32px;
1651 - height: 32px;
1652 - display: flex;
1653 - align-items: center;
1654 - justify-content: center;
431 +.mxchat-chat-notification-modal-close {
1655 432 background: none;
1656 433 border: none;
1657 434 font-size: 24px;
1658 - color: var(--mxch-text-muted);
1659 435 cursor: pointer;
1660 - border-radius: var(--mxch-radius-sm);
1661 - 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;
1662 445 }
1663 446
1664 -.mxch-modal-close:hover {
1665 - background: #f1f5f9;
1666 - color: var(--mxch-text-primary);
447 +.mxchat-chat-notification-modal-close:hover {
448 + background-color: #f3f4f6;
449 + color: #1f2937;
1667 450 }
1668 451
1669 -.mxch-modal-body {
452 +.mxchat-chat-notification-modal-body {
453 + padding: 20px;
454 + overflow-y: auto;
1670 455 flex: 1;
1671 - padding: var(--mxch-spacing-lg);
1672 - overflow-y: auto;
1673 456 }
1674 457
1675 -/* RAG Context Styles */
1676 -.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;
1677 467 display: flex;
1678 - flex-wrap: wrap;
1679 - gap: var(--mxch-spacing-md);
1680 - padding: var(--mxch-spacing-md);
1681 - background: #f8fafc;
1682 - border-radius: var(--mxch-radius-md);
1683 - margin-bottom: var(--mxch-spacing-lg);
468 + justify-content: flex-end;
469 + gap: 10px;
1684 470 }
1685 471
1686 -.mxch-rag-summary-item {
1687 - 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);
1688 475 }
1689 476
1690 -.mxch-rag-label {
1691 - color: var(--mxch-text-secondary);
477 +#mxchat-chat-email-notification-btn .dashicons {
478 + font-size: 18px;
479 + width: 18px;
480 + height: 18px;
1692 481 }
1693 482
1694 -.mxch-rag-value {
1695 - font-weight: 600;
1696 - color: var(--mxch-text-primary);
483 +/* Form styles within chat notification modal */
484 +.mxchat-chat-notification-modal-content .form-table {
485 + margin: 0;
1697 486 }
1698 487
1699 -.mxch-rag-matches h3 {
1700 - font-size: 14px;
488 +.mxchat-chat-notification-modal-content .form-table th {
489 + padding: 15px 10px 15px 0;
490 + width: 180px;
1701 491 font-weight: 600;
1702 - color: var(--mxch-text-primary);
1703 - margin: 0 0 var(--mxch-spacing-md) 0;
492 + color: #374151;
1704 493 }
1705 494
1706 -.mxch-rag-match-card {
1707 - border: 1px solid var(--mxch-card-border);
1708 - border-radius: var(--mxch-radius-md);
1709 - padding: var(--mxch-spacing-md);
1710 - margin-bottom: var(--mxch-spacing-sm);
495 +.mxchat-chat-notification-modal-content .form-table td {
496 + padding: 15px 10px;
1711 497 }
1712 498
1713 -.mxch-rag-match-used {
1714 - border-color: rgba(16, 185, 129, 0.3);
1715 - background: rgba(16, 185, 129, 0.05);
1716 -}
1717 -
1718 -.mxch-rag-match-below {
1719 - border-color: var(--mxch-card-border);
1720 - background: #fafafa;
1721 -}
1722 -
1723 -.mxch-rag-match-header {
1724 - display: flex;
1725 - align-items: center;
1726 - gap: var(--mxch-spacing-sm);
1727 - margin-bottom: var(--mxch-spacing-sm);
1728 -}
1729 -
1730 -.mxch-rag-match-score {
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;
1731 505 font-size: 14px;
1732 - font-weight: 700;
1733 - color: var(--mxch-primary);
1734 506 }
1735 507
1736 -.mxch-rag-chunk-badge {
1737 - font-size: 11px;
1738 - padding: 2px 8px;
1739 - background: rgba(120, 115, 245, 0.1);
1740 - color: var(--mxch-primary);
1741 - border-radius: 10px;
1742 -}
1743 -
1744 -/* Hybrid retrieval matched-via chips (38ffa1): Vector / Keyword / Both */
1745 -.mxch-rag-via-chip {
1746 - font-size: 11px;
1747 - font-weight: 500;
1748 - padding: 2px 8px;
1749 - border-radius: 10px;
1750 - white-space: nowrap;
1751 -}
1752 -
1753 -.mxch-rag-via-vector {
1754 - background: rgba(120, 115, 245, 0.1);
1755 - color: var(--mxch-primary);
1756 -}
1757 -
1758 -.mxch-rag-via-keyword {
1759 - background: rgba(16, 185, 129, 0.12);
1760 - color: #059669;
1761 -}
1762 -
1763 -.mxch-rag-via-both {
1764 - background: rgba(245, 158, 11, 0.12);
1765 - color: #b45309;
1766 -}
1767 -
1768 -.mxch-rag-match-status {
1769 - margin-left: auto;
1770 - font-size: 12px;
1771 - font-weight: 500;
1772 -}
1773 -
1774 -.mxch-rag-match-status.status-used {
1775 - color: var(--mxch-success);
1776 -}
1777 -
1778 -.mxch-rag-match-status.status-below {
1779 - color: var(--mxch-text-muted);
1780 -}
1781 -
1782 -.mxch-rag-match-source {
508 +.mxchat-chat-notification-modal-content .description {
509 + margin-top: 8px;
510 + color: #6b7280;
1783 511 font-size: 13px;
1784 - color: var(--mxch-text-secondary);
1785 - word-break: break-all;
1786 512 }
1787 513
1788 -.mxch-rag-match-source a {
1789 - color: var(--mxch-primary);
1790 - text-decoration: none;
514 +/* Checkbox styling in chat notification modal */
515 +.mxchat-chat-notification-modal-content input[type="checkbox"] {
516 + margin-right: 8px;
1791 517 }
1792 518
1793 -.mxch-rag-match-source a:hover {
1794 - text-decoration: underline;
519 +.mxchat-chat-notification-modal-content label {
520 + color: #374151;
521 + font-size: 14px;
1795 522 }
1796 523
1797 -/* Context Modal Tabs */
1798 -.mxch-context-tabs {
1799 - display: flex;
1800 - gap: 4px;
1801 - padding: 4px;
1802 - background: #f1f5f9;
1803 - border-radius: var(--mxch-radius-md);
1804 - margin-bottom: var(--mxch-spacing-md);
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;
1805 531 }
1806 532
1807 -.mxch-context-tab {
1808 - flex: 1;
1809 - display: flex;
1810 - align-items: center;
1811 - justify-content: center;
1812 - gap: 8px;
1813 - padding: 10px 16px;
533 +.mxchat-chat-notification-modal-content .button-primary {
534 + background: linear-gradient(135deg, #3b82f6, #8b5cf6);
1814 535 border: none;
1815 - background: transparent;
1816 - border-radius: var(--mxch-radius-sm);
1817 - font-size: 13px;
1818 - font-weight: 500;
1819 - color: var(--mxch-text-secondary);
1820 - cursor: pointer;
1821 - transition: all var(--mxch-transition-fast);
536 + color: #fff;
1822 537 }
1823 538
1824 -.mxch-context-tab:hover {
1825 - color: var(--mxch-text-primary);
1826 - 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);
1827 542 }
1828 543
1829 -.mxch-context-tab.active {
1830 - background: white;
1831 - color: var(--mxch-primary);
1832 - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
544 +.mxchat-chat-notification-modal-content .mxchat-chat-notification-modal-cancel {
545 + background: #f3f4f6;
546 + border: 1px solid #e5e7eb;
547 + color: #374151;
1833 548 }
1834 549
1835 -.mxch-context-tab svg {
1836 - width: 16px;
1837 - height: 16px;
1838 - flex-shrink: 0;
550 +.mxchat-chat-notification-modal-content .mxchat-chat-notification-modal-cancel:hover {
551 + background: #e5e7eb;
1839 552 }
1840 553
1841 -.mxch-tab-badge {
1842 - 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;
1843 560 align-items: center;
1844 - justify-content: center;
1845 - min-width: 20px;
1846 - height: 20px;
1847 - padding: 0 6px;
1848 - background: rgba(120, 115, 245, 0.1);
1849 - color: var(--mxch-primary);
1850 - font-size: 11px;
1851 - font-weight: 600;
1852 - border-radius: 10px;
1853 561 }
1854 562
1855 -.mxch-context-tab.active .mxch-tab-badge {
1856 - background: var(--mxch-primary);
1857 - color: white;
563 +.mxchat-pagination-info {
564 + margin-bottom: 10px;
565 + color: #666;
1858 566 }
1859 567
1860 -.mxch-tab-content {
1861 - min-height: 200px;
568 +.mxchat-pagination-controls {
569 + display: flex;
570 + flex-wrap: wrap;
571 + gap: 5px;
1862 572 }
1863 573
1864 -/* Action Specific Styles */
1865 -.mxch-action-triggered {
1866 - border-color: rgba(245, 158, 11, 0.4);
1867 - background: rgba(245, 158, 11, 0.08);
1868 -}
1869 -
1870 -.mxch-action-threshold-badge {
1871 - font-size: 11px;
1872 - padding: 2px 8px;
1873 - background: rgba(100, 116, 139, 0.1);
1874 - color: var(--mxch-text-secondary);
1875 - border-radius: 10px;
1876 -}
1877 -
1878 -.mxch-rag-match-status.status-triggered {
1879 - color: #f59e0b;
1880 - font-weight: 600;
1881 -}
1882 -
1883 -.mxch-action-details {
1884 - margin-top: var(--mxch-spacing-sm);
1885 -}
1886 -
1887 -.mxch-action-label {
1888 - font-size: 14px;
1889 - font-weight: 600;
1890 - color: var(--mxch-text-primary);
1891 - margin-bottom: 4px;
1892 -}
1893 -
1894 -.mxch-action-callback {
1895 - font-size: 12px;
1896 - color: var(--mxch-text-muted);
1897 - font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;
1898 -}
1899 -
1900 -.mxch-action-callback-label {
1901 - color: var(--mxch-text-secondary);
1902 - font-family: inherit;
1903 -}
1904 -
1905 -/* Action Score Bar Visualization */
1906 -.mxch-action-score-bar {
1907 - position: relative;
1908 - height: 6px;
1909 - background: #e2e8f0;
574 +.mxchat-pagination-button {
575 + padding: 6px 12px;
576 + background: #f7f7f7;
577 + border: 1px solid #ddd;
1910 578 border-radius: 3px;
1911 - margin-top: var(--mxch-spacing-sm);
1912 - overflow: visible;
579 + cursor: pointer;
580 + transition: all 0.2s ease;
1913 581 }
1914 582
1915 -.mxch-action-score-fill {
1916 - position: absolute;
1917 - left: 0;
1918 - top: 0;
1919 - height: 100%;
1920 - background: linear-gradient(90deg, #7873f5, #a5a1fa);
1921 - border-radius: 3px;
1922 - transition: width 0.3s ease;
583 +.mxchat-pagination-button:hover {
584 + background: #e9e9e9;
1923 585 }
1924 586
1925 -.mxch-action-triggered .mxch-action-score-fill {
1926 - 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;
1927 592 }
1928 593
1929 -.mxch-action-threshold-marker {
1930 - position: absolute;
1931 - top: -4px;
1932 - width: 2px;
1933 - height: 14px;
1934 - background: #ef4444;
1935 - border-radius: 1px;
1936 - transform: translateX(-50%);
594 +.mxchat-pagination-ellipsis {
595 + padding: 6px 8px;
596 + color: #666;
1937 597 }
1938 598
1939 -.mxch-action-threshold-marker::after {
1940 - content: '';
1941 - position: absolute;
1942 - top: -3px;
1943 - left: 50%;
1944 - transform: translateX(-50%);
1945 - width: 0;
1946 - height: 0;
1947 - border-left: 4px solid transparent;
1948 - border-right: 4px solid transparent;
1949 - border-top: 4px solid #ef4444;
1950 -}
1951 -
1952 -/* No Results State */
1953 -.mxch-no-results {
599 +/* No Results Styling */
600 +.mxchat-no-results {
1954 601 text-align: center;
1955 - padding: var(--mxch-spacing-xl);
1956 - 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;
1957 608 }
1958 609
1959 -.mxch-no-results p {
1960 - margin: 0;
1961 -}
1962 -
1963 -/* ==========================================================================
1964 - Responsive Adjustments
1965 - ========================================================================== */
1966 -@media screen and (max-width: 768px) {
1967 - .mxch-stats-grid {
1968 - 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;
1969 614 }
1970 -
1971 - .mxch-stat-card {
1972 - padding: var(--mxch-spacing-md);
615 +
616 + body.wp-admin .wrap.mxchat-transcripts-wrapper .mxchat-main-title {
617 + font-size: 2.5rem;
1973 618 }
1974 -
1975 - .mxch-stat-value {
1976 - font-size: 22px;
619 +
620 + body.wp-admin .wrap.mxchat-transcripts-wrapper .mxchat-transcripts-hero {
621 + padding: 2.5rem 1.5rem;
1977 622 }
1978 -
1979 - .mxch-cards-row {
1980 - grid-template-columns: 1fr;
623 +
624 + .auto-fold #wpcontent {
625 + margin-left: 0;
626 + padding-left: 0px;
1981 627 }
1982 -
1983 - .mxch-transcripts-controls {
1984 - flex-direction: column;
1985 - align-items: stretch;
628 +
629 + .mxchat-action-button {
630 + width: 100%;
1986 631 }
1987 -
1988 - .mxch-search-wrapper {
1989 - max-width: none;
1990 - }
1991 -
1992 - .mxch-controls-actions {
1993 - justify-content: flex-end;
1994 - }
1995 -
1996 - .mxch-session-header {
632 +
633 + .mxchat-session-header {
634 + padding: 10px 12px;
1997 635 flex-direction: column;
1998 - gap: var(--mxch-spacing-sm);
1999 - }
2000 -
2001 - .mxch-session-actions {
2002 - opacity: 1;
2003 - align-self: flex-end;
2004 - }
2005 -
2006 - .mxch-pagination {
2007 - flex-direction: column;
2008 - gap: var(--mxch-spacing-md);
2009 636 align-items: flex-start;
637 + gap: 8px;
2010 638 }
2011 -
2012 - .mxch-quick-actions {
2013 - flex-direction: column;
2014 - }
2015 -
2016 - .mxch-quick-action-btn {
639 +
640 + .mxchat-session-info {
2017 641 width: 100%;
2018 - justify-content: center;
642 + gap: 8px;
2019 643 }
2020 -
2021 - /* Chart responsive */
2022 - .mxch-activity-chart-card .mxch-card-header {
644 +
645 + .mxchat-session-details {
2023 646 flex-direction: column;
2024 647 align-items: flex-start;
648 + gap: 6px;
2025 649 }
2026 -
2027 - .mxch-chart-legend {
2028 - margin-top: var(--mxch-spacing-xs);
650 +
651 + .mxchat-user,
652 + .mxchat-page,
653 + .mxchat-links {
654 + max-width: none;
2029 655 }
2030 -
2031 - #mxchat-activity-chart {
2032 - height: 220px !important;
656 +
657 + .mxchat-session-time {
658 + align-self: flex-end;
2033 659 }
2034 -}
2035 -
2036 -@media screen and (max-width: 480px) {
2037 - .mxch-stats-grid {
2038 - grid-template-columns: 1fr;
660 +
661 + .mxchat-messages {
662 + padding: 12px;
2039 663 }
2040 -
2041 - .mxch-controls-actions {
664 +
665 + .mxchat-pagination {
2042 666 flex-direction: column;
2043 - width: 100%;
667 + align-items: flex-start;
2044 668 }
2045 -
2046 - .mxch-controls-actions .mxch-btn {
2047 - width: 100%;
2048 - justify-content: center;
669 +
670 + .mxchat-pagination-controls {
671 + margin-top: 10px;
2049 672 }
2050 -
2051 - .mxch-controls-actions form {
2052 - width: 100%;
2053 - }
2054 673 }
2055 674
2056 -/* Product Card in Transcripts */
2057 -.mxch-message-bubble .mxchat-product-card {
2058 - display: flex;
2059 - flex-direction: column;
2060 - align-items: center;
2061 - margin: 8px 0;
2062 - padding: 12px;
2063 - border-radius: 8px;
2064 - background: #f9f9f9;
2065 - border: 1px solid #e5e5e5;
2066 - max-width: 280px;
675 +/* Focus states for accessibility */
676 +.mxchat-checkbox:focus {
677 + outline: 2px solid #7873f5;
678 + outline-offset: 2px;
2067 679 }
2068 680
2069 -.mxch-message-bubble .mxchat-product-card a.mxchat-product-link {
2070 - text-decoration: none;
2071 - color: inherit;
2072 - display: flex;
2073 - flex-direction: column;
2074 - 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;
2075 686 }
2076 687
2077 -.mxch-message-bubble .mxchat-product-card img.mxchat-product-image {
2078 - max-width: 100%;
2079 - height: auto;
2080 - max-height: 180px;
2081 - object-fit: contain;
2082 - margin-bottom: 8px;
2083 - border-radius: 6px;
688 +/* Animation for new sessions */
689 +.mxchat-session.animate-in {
690 + animation: slideInFromTop 0.3s ease-out;
2084 691 }
2085 692
2086 -.mxch-message-bubble .mxchat-product-card h3.mxchat-product-name {
2087 - font-size: 14px;
2088 - font-weight: 600;
2089 - margin: 4px 0;
2090 - text-align: center;
2091 - color: #1a1a1a;
2092 -}
2093 -
2094 -.mxch-message-bubble .mxchat-product-card .mxchat-product-price {
2095 - color: #2e7d32;
2096 - font-weight: 600;
2097 - font-size: 15px;
2098 - margin: 4px 0 8px;
2099 -}
2100 -
2101 -.mxch-message-bubble .mxchat-product-card .mxchat-add-to-cart-button {
2102 - background-color: #212121;
2103 - color: #fff;
2104 - padding: 7px 16px;
2105 - border: none;
2106 - border-radius: 6px;
2107 - font-size: 13px;
2108 - cursor: default;
2109 - opacity: 0.6;
2110 -}
2111 -
2112 -.mxch-message-bubble .mxchat-product-card select {
2113 - width: 100%;
2114 - padding: 6px 8px;
2115 - margin: 4px 0;
2116 - border: 1px solid #ddd;
2117 - border-radius: 4px;
2118 - font-size: 13px;
2119 -}
2120 -
2121 -/* Featured Products in Transcripts */
2122 -.mxch-message-bubble .mxchat-featured-products {
2123 - margin: 8px 0;
2124 - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
2125 - line-height: 1.4;
2126 - display: flex;
2127 - flex-direction: column;
2128 - gap: 0;
2129 - padding: 0;
2130 -}
2131 -
2132 -.mxch-message-bubble .mxchat-featured-item {
2133 - padding: 10px 0;
2134 - border-bottom: 1px solid #e5e5e5;
2135 - margin: 0;
2136 -}
2137 -
2138 -.mxch-message-bubble .mxchat-featured-item:last-child {
2139 - border-bottom: none;
2140 - padding-bottom: 0;
2141 -}
2142 -
2143 -.mxch-message-bubble .mxchat-featured-item:first-child {
2144 - padding-top: 0;
2145 -}
2146 -
2147 -.mxch-message-bubble .mxchat-featured-item-top {
2148 - display: flex;
2149 - flex-direction: row;
2150 - align-items: center;
2151 - gap: 12px;
2152 - margin-bottom: 8px;
2153 -}
2154 -
2155 -.mxch-message-bubble .mxchat-featured-item-image {
2156 - flex-shrink: 0;
2157 - width: 70px;
2158 - height: 70px;
2159 - overflow: hidden;
2160 - border-radius: 8px;
2161 - background: #f1f1f1;
2162 -}
2163 -
2164 -.mxch-message-bubble .mxchat-featured-item-image a {
2165 - display: block;
2166 - width: 70px;
2167 - height: 70px;
2168 - text-decoration: none;
2169 -}
2170 -
2171 -.mxch-message-bubble .mxchat-featured-item-image img {
2172 - width: 70px;
2173 - height: 70px;
2174 - object-fit: cover;
2175 - border-radius: 8px;
2176 - display: block;
2177 -}
2178 -
2179 -.mxch-message-bubble .mxchat-featured-item-info {
2180 - flex: 1;
2181 - min-width: 0;
2182 - display: flex;
2183 - flex-direction: column;
2184 - gap: 2px;
2185 - justify-content: center;
2186 -}
2187 -
2188 -.mxch-message-bubble .mxchat-featured-item-title,
2189 -.mxch-message-bubble a.mxchat-featured-item-title {
2190 - font-size: 13px;
2191 - font-weight: 600;
2192 - color: #1a1a1a;
2193 - text-decoration: none;
2194 - line-height: 1.3;
2195 - display: -webkit-box;
2196 - -webkit-line-clamp: 2;
2197 - -webkit-box-orient: vertical;
2198 - overflow: hidden;
2199 - margin: 0;
2200 - padding: 0;
2201 -}
2202 -
2203 -.mxch-message-bubble a.mxchat-featured-item-title:hover {
2204 - opacity: 0.8;
2205 -}
2206 -
2207 -.mxch-message-bubble .mxchat-featured-item-price {
2208 - font-weight: 700;
2209 - font-size: 13px;
2210 - color: #2e7d32;
2211 - margin: 0;
2212 -}
2213 -
2214 -.mxch-message-bubble .mxchat-featured-item-price del {
2215 - opacity: 0.6;
2216 - font-weight: 400;
2217 - font-size: 0.85em;
2218 - margin-right: 4px;
2219 -}
2220 -
2221 -.mxch-message-bubble .mxchat-featured-item-price ins {
2222 - text-decoration: none;
2223 - background: none;
2224 -}
2225 -
2226 -.mxch-message-bubble .mxchat-featured-item-actions {
2227 - display: flex;
2228 - flex-direction: row;
2229 - gap: 8px;
2230 - margin: 0;
2231 - padding: 0;
2232 -}
2233 -
2234 -.mxch-message-bubble .mxchat-featured-btn-details,
2235 -.mxch-message-bubble a.mxchat-featured-btn-details {
2236 - display: flex;
2237 - align-items: center;
2238 - justify-content: center;
2239 - flex: 1;
2240 - padding: 7px 10px;
2241 - font-size: 12px;
2242 - font-weight: 500;
2243 - border-radius: 6px;
2244 - text-decoration: none;
2245 - border: 1px solid #ddd;
2246 - background: transparent;
2247 - color: #1a1a1a;
2248 - text-align: center;
2249 - line-height: 1.2;
2250 -}
2251 -
2252 -.mxch-message-bubble .mxchat-featured-btn-cart,
2253 -.mxch-message-bubble button.mxchat-featured-btn-cart {
2254 - display: flex;
2255 - align-items: center;
2256 - justify-content: center;
2257 - flex: 1;
2258 - padding: 7px 10px;
2259 - font-size: 12px;
2260 - font-weight: 500;
2261 - border-radius: 6px;
2262 - border: none;
2263 - background: #212121;
2264 - color: #fff;
2265 - cursor: default;
2266 - opacity: 0.6;
2267 - line-height: 1.2;
2268 -}
2269 -
2270 -/* ==========================================================================
2271 - Leads Tab
2272 - ========================================================================== */
2273 -
2274 -.mxch-leads-stats {
2275 - display: grid;
2276 - grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
2277 - gap: var(--mxch-spacing-lg);
2278 - margin-bottom: var(--mxch-spacing-xl);
2279 -}
2280 -
2281 -.mxch-leads-toppages {
2282 - margin-bottom: var(--mxch-spacing-xl);
2283 -}
2284 -
2285 -.mxch-leads-toppages-hint {
2286 - margin-left: auto;
2287 - font-size: 12px;
2288 - color: var(--mxch-text-muted);
2289 - font-weight: 400;
2290 -}
2291 -
2292 -.mxch-leads-toppages-list {
2293 - display: grid;
2294 - grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
2295 - gap: var(--mxch-spacing-sm);
2296 -}
2297 -
2298 -.mxch-leads-toppage-row {
2299 - display: flex;
2300 - align-items: center;
2301 - justify-content: space-between;
2302 - gap: var(--mxch-spacing-sm);
2303 - padding: 10px 14px;
2304 - background: var(--mxch-card-bg);
2305 - border: 1px solid var(--mxch-card-border);
2306 - border-radius: var(--mxch-radius-md);
2307 - text-align: left;
2308 - cursor: pointer;
2309 - transition: all var(--mxch-transition);
2310 - color: var(--mxch-text-primary);
2311 - font-size: 13px;
2312 -}
2313 -
2314 -.mxch-leads-toppage-row:hover {
2315 - border-color: var(--mxch-primary);
2316 - box-shadow: var(--mxch-card-shadow-hover);
2317 -}
2318 -
2319 -.mxch-leads-toppage-row.is-active {
2320 - border-color: var(--mxch-primary);
2321 - background: rgba(99, 102, 241, 0.06);
2322 -}
2323 -
2324 -.mxch-leads-toppage-title {
2325 - flex: 1 1 auto;
2326 - min-width: 0;
2327 - overflow: hidden;
2328 - text-overflow: ellipsis;
2329 - white-space: nowrap;
2330 -}
2331 -
2332 -.mxch-leads-toppage-count {
2333 - flex: 0 0 auto;
2334 - display: inline-flex;
2335 - align-items: center;
2336 - justify-content: center;
2337 - min-width: 28px;
2338 - height: 22px;
2339 - padding: 0 8px;
2340 - border-radius: 999px;
2341 - background: var(--mxch-primary);
2342 - color: #fff;
2343 - font-size: 11px;
2344 - font-weight: 600;
2345 -}
2346 -
2347 -.mxch-leads-empty-mini {
2348 - padding: 12px;
2349 - text-align: center;
2350 - color: var(--mxch-text-muted);
2351 - font-size: 13px;
2352 -}
2353 -
2354 -/* Toolbar + card */
2355 -.mxch-leads-card {
2356 - padding: 0;
2357 - overflow: hidden;
2358 -}
2359 -
2360 -.mxch-leads-toolbar {
2361 - display: flex;
2362 - align-items: center;
2363 - justify-content: space-between;
2364 - gap: var(--mxch-spacing-md);
2365 - padding: var(--mxch-spacing-md) var(--mxch-spacing-lg);
2366 - border-bottom: 1px solid var(--mxch-card-border);
2367 - flex-wrap: wrap;
2368 -}
2369 -
2370 -.mxch-leads-toolbar-left,
2371 -.mxch-leads-toolbar-right {
2372 - display: flex;
2373 - align-items: center;
2374 - gap: var(--mxch-spacing-sm);
2375 -}
2376 -
2377 -.mxch-leads-export {
2378 - position: relative;
2379 -}
2380 -
2381 -.mxch-leads-export-menu {
2382 - position: absolute;
2383 - right: 0;
2384 - top: calc(100% + 6px);
2385 - min-width: 240px;
2386 - background: var(--mxch-card-bg);
2387 - border: 1px solid var(--mxch-card-border);
2388 - border-radius: var(--mxch-radius-md);
2389 - box-shadow: var(--mxch-card-shadow-hover);
2390 - padding: 4px;
2391 - z-index: 20;
2392 - display: none;
2393 -}
2394 -
2395 -.mxch-leads-export-menu.is-open { display: block; }
2396 -
2397 -.mxch-leads-export-menu button {
2398 - display: block;
2399 - width: 100%;
2400 - padding: 8px 12px;
2401 - background: transparent;
2402 - border: none;
2403 - border-radius: 6px;
2404 - text-align: left;
2405 - color: var(--mxch-text-primary);
2406 - font-size: 13px;
2407 - cursor: pointer;
2408 -}
2409 -
2410 -.mxch-leads-export-menu button:hover:not(:disabled) {
2411 - background: rgba(99, 102, 241, 0.08);
2412 -}
2413 -
2414 -.mxch-leads-export-menu button:disabled {
2415 - color: var(--mxch-text-muted);
2416 - cursor: not-allowed;
2417 -}
2418 -
2419 -/* Filters row */
2420 -.mxch-leads-filters {
2421 - display: flex;
2422 - align-items: center;
2423 - gap: var(--mxch-spacing-sm);
2424 - padding: var(--mxch-spacing-md) var(--mxch-spacing-lg);
2425 - border-bottom: 1px solid var(--mxch-card-border);
2426 - flex-wrap: wrap;
2427 -}
2428 -
2429 -.mxch-leads-filters .mxch-search-wrapper {
2430 - flex: 1 1 260px;
2431 - min-width: 180px;
2432 -}
2433 -
2434 -.mxch-leads-filters .mxch-select {
2435 - height: 36px;
2436 - min-width: 160px;
2437 -}
2438 -
2439 -.mxch-leads-active-page-filter {
2440 - display: inline-flex;
2441 - align-items: center;
2442 - gap: 6px;
2443 - padding: 4px 6px 4px 10px;
2444 - background: rgba(99, 102, 241, 0.08);
2445 - border: 1px solid rgba(99, 102, 241, 0.28);
2446 - border-radius: 999px;
2447 - font-size: 12px;
2448 - color: var(--mxch-text-primary);
2449 - max-width: 280px;
2450 -}
2451 -
2452 -.mxch-leads-page-chip-label {
2453 - overflow: hidden;
2454 - text-overflow: ellipsis;
2455 - white-space: nowrap;
2456 -}
2457 -
2458 -.mxch-leads-page-chip-remove {
2459 - border: none;
2460 - background: transparent;
2461 - font-size: 16px;
2462 - line-height: 1;
2463 - cursor: pointer;
2464 - padding: 0 4px;
2465 - color: var(--mxch-text-muted);
2466 -}
2467 -
2468 -.mxch-leads-page-chip-remove:hover {
2469 - color: var(--mxch-text-primary);
2470 -}
2471 -
2472 -/* Table */
2473 -.mxch-leads-table-wrap {
2474 - overflow-x: auto;
2475 -}
2476 -
2477 -.mxch-leads-table {
2478 - width: 100%;
2479 - border-collapse: separate;
2480 - border-spacing: 0;
2481 - font-size: 13px;
2482 -}
2483 -
2484 -.mxch-leads-table thead th {
2485 - padding: 10px 14px;
2486 - text-align: left;
2487 - background: var(--mxch-card-bg);
2488 - border-bottom: 1px solid var(--mxch-card-border);
2489 - color: var(--mxch-text-secondary);
2490 - font-weight: 600;
2491 - font-size: 11px;
2492 - text-transform: uppercase;
2493 - letter-spacing: 0.04em;
2494 - position: sticky;
2495 - top: 0;
2496 -}
2497 -
2498 -.mxch-leads-table tbody td {
2499 - padding: 12px 14px;
2500 - border-bottom: 1px solid var(--mxch-card-border);
2501 - vertical-align: middle;
2502 - color: var(--mxch-text-primary);
2503 -}
2504 -
2505 -.mxch-leads-table tbody tr:last-child td {
2506 - border-bottom: none;
2507 -}
2508 -
2509 -.mxch-leads-table tbody tr:hover {
2510 - background: rgba(99, 102, 241, 0.04);
2511 -}
2512 -
2513 -.mxch-leads-row.is-orphan .mxch-leads-lead-email {
2514 - font-style: italic;
2515 - color: var(--mxch-text-secondary);
2516 -}
2517 -
2518 -.mxch-leads-table { table-layout: fixed; }
2519 -
2520 -.mxch-leads-col-check { width: 40px; }
2521 -.mxch-leads-col-lead { width: auto; min-width: 280px; }
2522 -.mxch-leads-col-count { width: 130px; text-align: left; }
2523 -.mxch-leads-col-last { width: 110px; white-space: nowrap; }
2524 -.mxch-leads-col-page { width: 180px; max-width: 180px; }
2525 -.mxch-leads-col-actions { width: 170px; white-space: nowrap; text-align: right; }
2526 -
2527 -.mxch-leads-lead-cell {
2528 - display: flex;
2529 - flex-direction: column;
2530 - min-width: 0;
2531 - gap: 2px;
2532 -}
2533 -
2534 -.mxch-leads-lead-email {
2535 - font-weight: 500;
2536 - color: var(--mxch-text-primary);
2537 - overflow: hidden;
2538 - text-overflow: ellipsis;
2539 - white-space: nowrap;
2540 -}
2541 -
2542 -.mxch-leads-lead-name {
2543 - font-size: 11px;
2544 - color: var(--mxch-text-muted);
2545 - overflow: hidden;
2546 - text-overflow: ellipsis;
2547 - white-space: nowrap;
2548 -}
2549 -
2550 -.mxch-leads-muted { color: var(--mxch-text-muted); }
2551 -
2552 -.mxch-leads-pill {
2553 - display: inline-flex;
2554 - align-items: center;
2555 - justify-content: center;
2556 - min-width: 28px;
2557 - height: 22px;
2558 - padding: 0 8px;
2559 - border-radius: 999px;
2560 - background: rgba(99, 102, 241, 0.12);
2561 - color: var(--mxch-primary);
2562 - font-weight: 600;
2563 - font-size: 11px;
2564 -}
2565 -
2566 -.mxch-leads-pill-orphan {
2567 - background: rgba(245, 158, 11, 0.14);
2568 - color: var(--mxch-warning);
2569 -}
2570 -
2571 -.mxch-leads-pill-deleted {
2572 - background: rgba(100, 116, 139, 0.12);
2573 - color: var(--mxch-text-secondary);
2574 - border: 1px solid rgba(100, 116, 139, 0.22);
2575 - padding: 0 10px;
2576 -}
2577 -
2578 -.mxch-leads-row.is-chat-deleted .mxch-leads-lead-email {
2579 - color: var(--mxch-text-secondary);
2580 -}
2581 -
2582 -.mxch-transcript-confirm-check {
2583 - display: flex;
2584 - gap: 10px;
2585 - align-items: flex-start;
2586 - padding: 10px 12px;
2587 - margin: 12px 0 4px;
2588 - background: rgba(99, 102, 241, 0.04);
2589 - border: 1px solid var(--mxch-card-border);
2590 - border-radius: var(--mxch-radius-md);
2591 - cursor: pointer;
2592 -}
2593 -
2594 -.mxch-transcript-confirm-check input[type="checkbox"] {
2595 - margin-top: 3px;
2596 - flex: 0 0 auto;
2597 -}
2598 -
2599 -.mxch-transcript-confirm-check strong {
2600 - display: block;
2601 - color: var(--mxch-text-primary);
2602 - font-weight: 600;
2603 - font-size: 13px;
2604 -}
2605 -
2606 -.mxch-transcript-confirm-sublabel {
2607 - display: block;
2608 - margin-top: 2px;
2609 - font-size: 12px;
2610 - color: var(--mxch-text-muted);
2611 - font-style: normal;
2612 -}
2613 -
2614 -.mxch-leads-page-link {
2615 - display: inline-block;
2616 - max-width: 100%;
2617 - overflow: hidden;
2618 - text-overflow: ellipsis;
2619 - white-space: nowrap;
2620 - vertical-align: middle;
2621 - color: var(--mxch-primary);
2622 - text-decoration: none;
2623 -}
2624 -
2625 -.mxch-leads-page-link:hover { text-decoration: underline; }
2626 -
2627 -.mxch-leads-col-actions .mxch-btn {
2628 - margin-left: 6px;
2629 -}
2630 -
2631 -.mxch-btn-danger-ghost {
2632 - color: #b91c1c;
2633 -}
2634 -
2635 -.mxch-btn-danger-ghost:hover {
2636 - background: rgba(185, 28, 28, 0.08);
2637 - color: #991b1b;
2638 -}
2639 -
2640 -.mxch-leads-empty,
2641 -.mxch-leads-loading {
2642 - padding: 40px 16px;
2643 - text-align: center;
2644 - color: var(--mxch-text-muted);
2645 -}
2646 -
2647 -.mxch-leads-empty-wrap {
2648 - display: flex;
2649 - flex-direction: column;
2650 - align-items: center;
2651 - gap: var(--mxch-spacing-sm);
2652 - color: var(--mxch-text-muted);
2653 -}
2654 -
2655 -.mxch-leads-empty-wrap svg { opacity: 0.6; }
2656 -
2657 -.mxch-leads-count {
2658 - font-size: 12px;
2659 - color: var(--mxch-text-muted);
2660 -}
2661 -
2662 -/* Confirm modal */
2663 -.mxch-leads-confirm-box {
2664 - max-width: 440px;
2665 -}
2666 -
2667 -.mxch-leads-confirm-warning {
2668 - color: var(--mxch-text-muted);
2669 - font-size: 12px;
2670 - margin-top: 8px;
2671 -}
2672 -
2673 -.mxch-leads-confirm-actions {
2674 - display: flex;
2675 - justify-content: flex-end;
2676 - gap: 8px;
2677 - padding: var(--mxch-spacing-md) var(--mxch-spacing-lg);
2678 - border-top: 1px solid var(--mxch-card-border);
2679 -}
2680 -
2681 -/* Responsive: tablet */
2682 -@media (max-width: 1024px) {
2683 - .mxch-leads-col-page { width: 140px; max-width: 140px; }
2684 - .mxch-leads-col-actions { width: 140px; }
2685 - .mxch-leads-col-actions .mxch-leads-view span { display: none; }
2686 -}
2687 -
2688 -/* Responsive: phone */
2689 -@media (max-width: 768px) {
2690 - .mxch-leads-col-page,
2691 - .mxch-leads-col-last {
2692 - display: none;
693 +@keyframes slideInFromTop {
694 + 0% {
695 + opacity: 0;
696 + transform: translateY(-10px);
2693 697 }
2694 - .mxch-leads-filters {
2695 - padding: var(--mxch-spacing-sm);
698 + 100% {
699 + opacity: 1;
700 + transform: translateY(0);
2696 701 }
2697 - .mxch-leads-filters .mxch-select {
2698 - flex: 1 1 48%;
2699 - min-width: 0;
2700 - }
2701 - .mxch-leads-toolbar {
2702 - padding: var(--mxch-spacing-sm);
2703 - }
2704 - .mxch-leads-table thead th { padding: 8px 10px; font-size: 10px; }
2705 - .mxch-leads-table tbody td { padding: 10px; font-size: 12px; }
2706 -}
2707 -
2708 -@media (max-width: 480px) {
2709 - .mxch-leads-col-count { display: none; }
2710 - .mxch-leads-toppages-list { grid-template-columns: 1fr; }
2711 -}
2712 -
2713 -/* Satisfaction card on Transcripts dashboard (plan-a5b006). */
2714 -.mxch-satisfaction-card .mxch-card-body {
2715 - padding: var(--mxch-spacing-md);
2716 -}
2717 -.mxch-satisfaction-empty {
2718 - margin: 0;
2719 - padding: var(--mxch-spacing-sm) 0;
2720 - color: #6b7280;
2721 - font-size: 13px;
2722 - line-height: 1.5;
2723 -}
2724 -.mxch-satisfaction-list {
2725 - list-style: none;
2726 - margin: 0;
2727 - padding: 0;
2728 - display: flex;
2729 - flex-direction: column;
2730 - gap: 8px;
2731 -}
2732 -.mxch-satisfaction-row {
2733 - display: flex;
2734 - align-items: center;
2735 - gap: var(--mxch-spacing-md);
2736 - padding: 10px 12px;
2737 - background: #f9fafb;
2738 - border: 1px solid #f3f4f6;
2739 - border-radius: var(--mxch-radius-md, 8px);
2740 -}
2741 -.mxch-satisfaction-bot {
2742 - flex: 0 0 28%;
2743 - min-width: 0;
2744 - font-weight: 600;
2745 - font-size: 13px;
2746 - color: #1a1a2e;
2747 - overflow: hidden;
2748 - text-overflow: ellipsis;
2749 - white-space: nowrap;
2750 -}
2751 -.mxch-satisfaction-meta {
2752 - flex: 1;
2753 - display: flex;
2754 - align-items: center;
2755 - gap: 10px;
2756 - font-size: 12px;
2757 - color: #4b5563;
2758 - flex-wrap: wrap;
2759 -}
2760 -.mxch-satisfaction-total {
2761 - color: #6b7280;
2762 - white-space: nowrap;
2763 -}
2764 -.mxch-satisfaction-bar {
2765 - flex: 1;
2766 - min-width: 80px;
2767 - height: 6px;
2768 - background: #e5e7eb;
2769 - border-radius: 999px;
2770 - overflow: hidden;
2771 - display: flex;
2772 -}
2773 -.mxch-satisfaction-bar-up {
2774 - background: #10b981;
2775 - height: 100%;
2776 -}
2777 -.mxch-satisfaction-bar-down {
2778 - background: #ef4444;
2779 - height: 100%;
2780 -}
2781 -.mxch-satisfaction-pct {
2782 - display: inline-flex;
2783 - align-items: center;
2784 - gap: 4px;
2785 - font-weight: 600;
2786 - white-space: nowrap;
2787 -}
2788 -.mxch-satisfaction-pct-up { color: #047857; }
2789 -.mxch-satisfaction-pct-down { color: #b91c1c; }
2790 -@media (max-width: 600px) {
2791 - .mxch-satisfaction-row { flex-direction: column; align-items: flex-start; gap: 8px; }
2792 - .mxch-satisfaction-bot { flex: 1 1 100%; }
2793 - .mxch-satisfaction-meta { width: 100%; }
2794 -}
2795 -
2796 -/* Details drawer — Feedback row value (user-submitted rating feedback). */
2797 -.mxch-detail-feedback-value {
2798 - white-space: pre-wrap;
2799 - word-break: break-word;
2800 - max-width: 100%;
2801 - display: block;
2802 - margin-top: 4px;
2803 - opacity: 0.9;
2804 - font-style: italic;
2805 -}
702 +}