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