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