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 +398 -1935 3.2.12.4.6 View file →
@@ -1,2160 +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 -.mxch-list-loading,
691 -.mxch-list-empty {
692 - display: flex;
693 - align-items: center;
694 - justify-content: center;
695 - padding: 40px 20px;
696 - color: #9ca3af;
697 - font-size: 13px;
274 +/* Messages Section - Keep existing styling */
275 +.mxchat-messages {
276 + padding: 16px;
277 + background: #ffffff;
698 278 }
699 279
700 -.mxch-panel-footer {
701 - padding: 8px 12px;
702 - border-top: 1px solid #e5e7eb;
703 - background: #f9fafb;
280 +.mxchat-message {
281 + border-radius: 8px;
282 + border-left: 4px solid transparent;
704 283 }
705 284
706 -.mxch-pagination-btns {
707 - display: flex;
708 - align-items: center;
709 - justify-content: center;
710 - gap: 8px;
711 -}
712 -
713 -.mxch-page-btn {
714 - width: 32px;
715 - height: 32px;
716 - border: 1px solid #e5e7eb;
717 - background: #fff;
718 - border-radius: 6px;
719 - cursor: pointer;
720 - display: flex;
721 - align-items: center;
722 - justify-content: center;
285 +.mxchat-message-header {
286 + font-weight: 600;
723 287 font-size: 14px;
724 288 color: #374151;
725 - transition: all 0.15s;
289 + margin-bottom: 6px;
726 290 }
727 291
728 -.mxch-page-btn:hover {
729 - background: #f3f4f6;
730 - border-color: #d1d5db;
292 +.mxchat-message-content {
293 + color: #4b5563;
294 + line-height: 1.6;
295 + font-size: 14px;
296 + margin-bottom: 8px;
731 297 }
732 298
733 -.mxch-page-info {
299 +.mxchat-timestamp {
734 300 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 301 color: #9ca3af;
750 - transition: all 0.15s;
302 + font-weight: 500;
751 303 }
752 304
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;
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);
761 314 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 315 align-items: center;
774 316 justify-content: center;
775 - color: #9ca3af;
776 - text-align: center;
777 - padding: 40px;
317 + animation: mxchatNotificationFadeIn 0.3s ease;
778 318 }
779 319
780 -.mxch-empty-icon {
781 - margin-bottom: 16px;
782 - opacity: 0.5;
320 +@keyframes mxchatNotificationFadeIn {
321 + from { opacity: 0; }
322 + to { opacity: 1; }
783 323 }
784 324
785 -.mxch-conversation-empty h3 {
786 - font-size: 16px;
787 - font-weight: 600;
788 - color: #6b7280;
789 - 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;
790 332 }
791 333
792 -.mxch-conversation-empty p {
793 - font-size: 13px;
794 - margin: 0;
334 +@keyframes mxchatNotificationSlideIn {
335 + from { transform: translateY(-20px); opacity: 0; }
336 + to { transform: translateY(0); opacity: 1; }
795 337 }
796 338
797 -/* Conversation Content */
798 -.mxch-conversation-content {
799 - display: flex;
800 - flex-direction: column;
801 - height: 100%;
802 - min-height: 0; /* Important: allows flex child to shrink below content size */
803 - overflow: hidden;
804 -}
805 -
806 -.mxch-conversation-header {
807 - display: flex;
808 - align-items: center;
809 - gap: 12px;
810 - padding: 16px 20px;
811 - background: #fff;
339 +.mxchat-chat-notification-modal-header {
340 + padding: 20px;
812 341 border-bottom: 1px solid #e5e7eb;
813 -}
814 -
815 -.mxch-user-avatar {
816 - width: 44px;
817 - height: 44px;
818 - border-radius: 50%;
819 - background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
820 342 display: flex;
343 + justify-content: space-between;
821 344 align-items: center;
822 - justify-content: center;
823 - flex-shrink: 0;
824 345 }
825 346
826 -.mxch-user-avatar span {
827 - color: #fff;
828 - font-size: 15px;
347 +.mxchat-chat-notification-modal-header h2 {
348 + margin: 0;
349 + font-size: 20px;
829 350 font-weight: 600;
351 + color: #1f2937;
830 352 }
831 353
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;
354 +.mxchat-chat-notification-modal-close {
355 + background: none;
356 + border: none;
357 + font-size: 24px;
358 + cursor: pointer;
849 359 color: #6b7280;
850 - margin-top: 2px;
851 - overflow: hidden;
852 - text-overflow: ellipsis;
853 - white-space: nowrap;
854 -}
855 -
856 -.mxch-details-toggle {
857 - width: 36px;
858 - height: 36px;
859 - border: 1px solid #e5e7eb;
860 - background: #fff;
861 - border-radius: 8px;
862 - cursor: pointer;
360 + padding: 0;
361 + width: 30px;
362 + height: 30px;
863 363 display: flex;
864 364 align-items: center;
865 365 justify-content: center;
866 - color: #6b7280;
867 - transition: all 0.15s;
366 + border-radius: 50%;
367 + transition: all 0.2s ease;
868 368 }
869 369
870 -.mxch-details-toggle:hover,
871 -.mxch-details-toggle.active {
872 - background: #f3f4f6;
873 - color: #374151;
370 +.mxchat-chat-notification-modal-close:hover {
371 + background-color: #f3f4f6;
372 + color: #1f2937;
874 373 }
875 374
876 -/* Details Drawer */
877 -.mxch-details-drawer {
878 - background: #fff;
879 - border-bottom: 1px solid #e5e7eb;
880 - padding: 16px 20px;
375 +.mxchat-chat-notification-modal-body {
376 + padding: 20px;
881 377 }
882 378
883 -.mxch-details-section {
884 - margin-bottom: 16px;
379 +.mxchat-chat-notification-modal-body p {
380 + margin-top: 0;
381 + color: #4b5563;
382 + line-height: 1.6;
885 383 }
886 384
887 -.mxch-details-section:last-child {
888 - margin-bottom: 0;
889 -}
890 -
891 -.mxch-details-section h4 {
892 - font-size: 11px;
893 - font-weight: 600;
894 - color: #9ca3af;
895 - text-transform: uppercase;
896 - letter-spacing: 0.5px;
897 - margin: 0 0 10px 0;
898 -}
899 -
900 -.mxch-detail-row {
385 +.mxchat-chat-notification-modal-footer {
386 + padding: 20px;
387 + border-top: 1px solid #e5e7eb;
901 388 display: flex;
902 - justify-content: space-between;
903 - align-items: center;
904 - padding: 6px 0;
905 - font-size: 13px;
389 + justify-content: flex-end;
390 + gap: 10px;
906 391 }
907 392
908 -.mxch-detail-label {
909 - 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);
910 396 }
911 397
912 -.mxch-detail-value {
913 - color: #111827;
914 - font-weight: 500;
398 +#mxchat-chat-email-notification-btn .dashicons {
399 + font-size: 18px;
400 + width: 18px;
401 + height: 18px;
915 402 }
916 403
917 -.mxch-detail-value a {
918 - color: #3b82f6;
919 - text-decoration: none;
404 +/* Form styles within chat notification modal */
405 +.mxchat-chat-notification-modal-content .form-table {
406 + margin: 0;
920 407 }
921 408
922 -.mxch-detail-value a:hover {
923 - 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;
924 414 }
925 415
926 -.mxch-clicked-links {
927 - display: flex;
928 - flex-direction: column;
929 - gap: 6px;
416 +.mxchat-chat-notification-modal-content .form-table td {
417 + padding: 15px 10px;
930 418 }
931 419
932 -.mxch-clicked-link {
933 - font-size: 12px;
934 - color: #3b82f6;
935 - text-decoration: none;
936 - padding: 6px 10px;
937 - background: #eff6ff;
420 +.mxchat-chat-notification-modal-content .regular-text {
421 + width: 100%;
422 + max-width: 100%;
423 + border: 1px solid #d1d5db;
938 424 border-radius: 6px;
939 - white-space: nowrap;
940 - overflow: hidden;
941 - text-overflow: ellipsis;
425 + padding: 8px 12px;
426 + font-size: 14px;
942 427 }
943 428
944 -.mxch-clicked-link:hover {
945 - background: #dbeafe;
429 +.mxchat-chat-notification-modal-content .description {
430 + margin-top: 8px;
431 + color: #6b7280;
432 + font-size: 13px;
946 433 }
947 434
948 -.mxch-details-actions {
949 - display: flex;
950 - gap: 8px;
951 - margin-top: 16px;
952 - padding-top: 16px;
953 - 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;
954 438 }
955 439
956 -.mxch-btn-sm {
957 - padding: 8px 12px;
958 - font-size: 12px;
440 +.mxchat-chat-notification-modal-content label {
441 + color: #374151;
442 + font-size: 14px;
959 443 }
960 444
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;
445 +/* Button styling in chat notification modal */
446 +.mxchat-chat-notification-modal-content .button {
447 + padding: 8px 16px;
978 448 border-radius: 6px;
979 - background: #fff;
980 - color: #374151;
449 + font-size: 14px;
981 450 cursor: pointer;
982 - min-width: 100px;
451 + transition: all 0.2s ease;
983 452 }
984 453
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%);
454 +.mxchat-chat-notification-modal-content .button-primary {
455 + background: linear-gradient(135deg, #3b82f6, #8b5cf6);
456 + border: none;
1081 457 color: #fff;
1082 - padding: 12px 16px;
1083 - border-radius: 18px 18px 4px 18px;
1084 - font-size: 14px;
1085 - line-height: 1.5;
1086 - min-width: 80px;
1087 458 }
1088 459
1089 -.mxch-message-user .mxch-message-bubble a {
1090 - color: #bfdbfe;
1091 - 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);
1092 463 }
1093 464
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;
1124 - color: #3b82f6;
1125 - text-decoration: none;
1126 - font-weight: 500;
1127 - padding: 2px 8px;
1128 - background: #eff6ff;
1129 - border-radius: 4px;
1130 - transition: all 0.15s;
1131 -}
1132 -
1133 -.mxch-rag-link:hover {
1134 - background: #dbeafe;
1135 -}
1136 -
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;
465 +.mxchat-chat-notification-modal-content .mxchat-chat-notification-modal-cancel {
466 + background: #f3f4f6;
1144 467 border: 1px solid #e5e7eb;
1145 468 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 469 }
1152 470
1153 -.mxch-message-bot .mxch-message-bubble a {
1154 - color: #3b82f6;
471 +.mxchat-chat-notification-modal-content .mxchat-chat-notification-modal-cancel:hover {
472 + background: #e5e7eb;
1155 473 }
1156 474
1157 -.mxch-message-bot .mxch-message-time {
1158 - font-size: 11px;
1159 - color: #9ca3af;
1160 - margin-top: 4px;
1161 -}
1162 -
1163 -/* Message Content Styles */
1164 -.mxch-message-bubble p {
1165 - margin: 0 0 10px 0;
1166 -}
1167 -
1168 -.mxch-message-bubble p:last-child {
1169 - margin-bottom: 0;
1170 -}
1171 -
1172 -.mxch-message-bubble ul,
1173 -.mxch-message-bubble ol {
1174 - margin: 10px 0;
1175 - padding-left: 20px;
1176 -}
1177 -
1178 -.mxch-message-bubble li {
1179 - margin: 4px 0;
1180 -}
1181 -
1182 -.mxch-message-bubble code {
1183 - background: rgba(0, 0, 0, 0.08);
1184 - padding: 2px 6px;
1185 - border-radius: 4px;
1186 - font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
1187 - font-size: 0.9em;
1188 -}
1189 -
1190 -.mxch-message-user .mxch-message-bubble code {
1191 - background: rgba(255, 255, 255, 0.2);
1192 -}
1193 -
1194 -.mxch-message-bubble pre {
1195 - background: #1e293b;
1196 - color: #e2e8f0;
1197 - padding: 12px 14px;
1198 - border-radius: 8px;
1199 - overflow-x: auto;
1200 - margin: 10px 0;
1201 - font-size: 13px;
1202 -}
1203 -
1204 -.mxch-message-bubble pre code {
1205 - background: none;
1206 - padding: 0;
1207 - color: inherit;
1208 -}
1209 -
1210 -/* Scrollbar Styling */
1211 -.mxch-chat-list::-webkit-scrollbar,
1212 -.mxch-messages-area::-webkit-scrollbar {
1213 - width: 6px;
1214 -}
1215 -
1216 -.mxch-chat-list::-webkit-scrollbar-track,
1217 -.mxch-messages-area::-webkit-scrollbar-track {
1218 - background: transparent;
1219 -}
1220 -
1221 -.mxch-chat-list::-webkit-scrollbar-thumb,
1222 -.mxch-messages-area::-webkit-scrollbar-thumb {
1223 - background: #d1d5db;
1224 - border-radius: 3px;
1225 -}
1226 -
1227 -.mxch-chat-list::-webkit-scrollbar-thumb:hover,
1228 -.mxch-messages-area::-webkit-scrollbar-thumb:hover {
1229 - background: #9ca3af;
1230 -}
1231 -
1232 -/* Responsive Split Panel - Tablet */
1233 -@media screen and (max-width: 900px) and (min-width: 783px) {
1234 - #all-chats.mxch-section {
1235 - padding: 0;
1236 - }
1237 -
1238 - .mxch-split-panel {
1239 - flex-direction: column;
1240 - height: auto;
1241 - }
1242 -
1243 - .mxch-chat-list-panel {
1244 - width: 100%;
1245 - max-width: none;
1246 - height: 350px;
1247 - border-right: none;
1248 - border-bottom: 1px solid #e5e7eb;
1249 - }
1250 -
1251 - .mxch-panel-expand {
1252 - display: none;
1253 - }
1254 -
1255 - .mxch-conversation-panel {
1256 - min-height: 400px;
1257 - }
1258 -
1259 - .mxch-bulk-toolbar {
1260 - flex-wrap: wrap;
1261 - }
1262 -
1263 - .mxch-bulk-btn span {
1264 - display: none;
1265 - }
1266 -}
1267 -
1268 -/* ==========================================================================
1269 - Mobile Split Panel - Full Screen Panels
1270 - ========================================================================== */
1271 -@media screen and (max-width: 782px) {
1272 - #all-chats.mxch-section {
1273 - padding: 0;
1274 - /* Mobile viewport height with fallbacks for browser address bar */
1275 - /* 1. Fallback: standard vh (may be cut off by browser chrome) */
1276 - height: calc(100vh - 46px - 32px);
1277 - /* 2. Better: dvh (dynamic viewport height) for modern browsers */
1278 - height: calc(100dvh - 46px - 32px);
1279 - /* 3. Best: JS-calculated actual viewport via CSS custom property */
1280 - height: calc(var(--mxch-mobile-vh, 100vh) - 46px - 32px);
1281 - overflow: hidden;
1282 - }
1283 -
1284 - .mxch-split-panel {
1285 - height: 100%;
1286 - position: relative;
1287 - }
1288 -
1289 - /* Chat List - Full screen on mobile */
1290 - .mxch-chat-list-panel {
1291 - width: 100%;
1292 - max-width: none;
1293 - height: 100%;
1294 - border-right: none;
1295 - position: absolute;
1296 - top: 0;
1297 - left: 0;
1298 - right: 0;
1299 - bottom: 0;
1300 - z-index: 10;
1301 - transition: transform 0.3s ease;
1302 - }
1303 -
1304 - .mxch-chat-list-panel.panel-hidden {
1305 - transform: translateX(-100%);
1306 - }
1307 -
1308 - .mxch-chat-list {
1309 - flex: 1;
1310 - overflow-y: auto;
1311 - -webkit-overflow-scrolling: touch;
1312 - }
1313 -
1314 - /* Conversation Panel - Slide over from right */
1315 - .mxch-conversation-panel {
1316 - position: absolute;
1317 - top: 0;
1318 - left: 0;
1319 - right: 0;
1320 - bottom: 0;
1321 - z-index: 20;
1322 - transform: translateX(100%);
1323 - transition: transform 0.3s ease;
1324 - min-height: 0;
1325 - height: 100%;
1326 - display: flex;
1327 - flex-direction: column;
1328 - }
1329 -
1330 - .mxch-conversation-panel.panel-active {
1331 - transform: translateX(0);
1332 - }
1333 -
1334 - /* Mobile back button in conversation header */
1335 - .mxch-mobile-back-btn {
1336 - display: flex !important;
1337 - align-items: center;
1338 - justify-content: center;
1339 - width: 36px;
1340 - height: 36px;
1341 - background: #f3f4f6;
1342 - border: none;
1343 - border-radius: 8px;
1344 - color: #374151;
1345 - cursor: pointer;
1346 - margin-right: 8px;
1347 - flex-shrink: 0;
1348 - }
1349 -
1350 - .mxch-mobile-back-btn:hover {
1351 - background: #e5e7eb;
1352 - }
1353 -
1354 - /* Ensure conversation content scrolls properly */
1355 - .mxch-conversation-content {
1356 - flex: 1;
1357 - display: flex;
1358 - flex-direction: column;
1359 - min-height: 0;
1360 - overflow: hidden;
1361 - }
1362 -
1363 - /* Messages area scroll fix for mobile */
1364 - .mxch-messages-area {
1365 - flex: 1;
1366 - overflow-y: auto;
1367 - -webkit-overflow-scrolling: touch;
1368 - padding: 16px;
1369 - padding-bottom: 24px; /* Extra padding at bottom for visibility */
1370 - }
1371 -
1372 - /* Hide expand button on mobile */
1373 - .mxch-panel-expand {
1374 - display: none;
1375 - }
1376 -
1377 - /* Adjust bulk toolbar for mobile */
1378 - .mxch-bulk-toolbar {
1379 - flex-wrap: wrap;
1380 - gap: 6px;
1381 - padding: 8px 10px;
1382 - }
1383 -
1384 - .mxch-bulk-btn span {
1385 - display: none;
1386 - }
1387 -
1388 - /* Make chat items more tappable */
1389 - .mxch-chat-item {
1390 - padding: 14px 12px;
1391 - }
1392 -
1393 - /* Adjust conversation header for mobile */
1394 - .mxch-conversation-header {
1395 - padding: 12px 16px;
1396 - flex-shrink: 0;
1397 - }
1398 -
1399 - /* Details drawer adjustments */
1400 - .mxch-details-drawer {
1401 - max-height: 200px;
1402 - overflow-y: auto;
1403 - flex-shrink: 0;
1404 - }
1405 -
1406 - /* Conversation empty state on mobile */
1407 - .mxch-conversation-empty {
1408 - display: none;
1409 - }
1410 -}
1411 -
1412 -/* ==========================================================================
1413 - Pagination
1414 - ========================================================================== */
1415 -.mxch-pagination {
475 +/* Pagination Styles */
476 +.mxchat-pagination {
477 + margin-top: 20px;
1416 478 display: flex;
1417 479 flex-wrap: wrap;
1418 480 justify-content: space-between;
1419 481 align-items: center;
1420 - margin-top: var(--mxch-spacing-lg);
1421 - padding: var(--mxch-spacing-md);
1422 - background: var(--mxch-card-bg);
1423 - border: 1px solid var(--mxch-card-border);
1424 - border-radius: var(--mxch-radius-md);
1425 482 }
1426 483
1427 -.mxch-pagination-info {
1428 - font-size: 13px;
1429 - color: var(--mxch-text-secondary);
484 +.mxchat-pagination-info {
485 + margin-bottom: 10px;
486 + color: #666;
1430 487 }
1431 488
1432 -.mxch-pagination-controls {
489 +.mxchat-pagination-controls {
1433 490 display: flex;
1434 491 flex-wrap: wrap;
1435 - gap: 4px;
492 + gap: 5px;
1436 493 }
1437 494
1438 -.mxch-pagination-btn {
495 +.mxchat-pagination-button {
1439 496 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;
497 + background: #f7f7f7;
498 + border: 1px solid #ddd;
499 + border-radius: 3px;
1445 500 cursor: pointer;
1446 - transition: all var(--mxch-transition-fast);
501 + transition: all 0.2s ease;
1447 502 }
1448 503
1449 -.mxch-pagination-btn:hover {
1450 - background: #e2e8f0;
504 +.mxchat-pagination-button:hover {
505 + background: #e9e9e9;
1451 506 }
1452 507
1453 -.mxch-pagination-btn.active {
1454 - background: var(--mxch-primary);
1455 - border-color: var(--mxch-primary);
508 +.mxchat-pagination-button.active {
509 + background: #2271b1;
510 + border-color: #2271b1;
1456 511 color: white;
512 + font-weight: bold;
1457 513 }
1458 514
1459 -.mxch-pagination-ellipsis {
515 +.mxchat-pagination-ellipsis {
1460 516 padding: 6px 8px;
1461 - color: var(--mxch-text-muted);
517 + color: #666;
1462 518 }
1463 519
1464 -/* ==========================================================================
1465 - No Results
1466 - ========================================================================== */
1467 -.mxch-no-results {
520 +/* No Results Styling */
521 +.mxchat-no-results {
1468 522 text-align: center;
1469 - padding: var(--mxch-spacing-xl) var(--mxch-spacing-lg);
1470 - color: var(--mxch-text-muted);
523 + padding: 40px 20px;
524 + color: #6b7280;
525 + font-size: 16px;
1471 526 background: #f9fafb;
1472 - border: 2px dashed var(--mxch-card-border);
1473 - border-radius: var(--mxch-radius-lg);
527 + border-radius: 8px;
528 + border: 2px dashed #d1d5db;
1474 529 }
1475 530
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;
1506 - font-weight: 500;
1507 - color: var(--mxch-text-primary);
1508 -}
1509 -
1510 -/* ==========================================================================
1511 - Modal Styles
1512 - ========================================================================== */
1513 -.mxch-modal-overlay {
1514 - position: fixed;
1515 - top: 0;
1516 - left: 0;
1517 - right: 0;
1518 - bottom: 0;
1519 - background: rgba(0, 0, 0, 0.5);
1520 - display: flex;
1521 - align-items: center;
1522 - justify-content: center;
1523 - z-index: 100000;
1524 - animation: mxchFadeIn 0.2s ease;
1525 -}
1526 -
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);
1531 - width: 90%;
1532 - max-width: 600px;
1533 - max-height: 80vh;
1534 - display: flex;
1535 - flex-direction: column;
1536 - animation: mxchSlideIn 0.2s ease;
1537 -}
1538 -
1539 -@keyframes mxchSlideIn {
1540 - from {
1541 - transform: translateY(-20px);
1542 - opacity: 0;
531 +/* Responsive Design */
532 +@media (max-width: 768px) {
533 + body.wp-admin .wrap.mxchat-transcripts-wrapper {
534 + padding: 0;
1543 535 }
1544 - to {
1545 - transform: translateY(0);
1546 - opacity: 1;
536 +
537 + body.wp-admin .wrap.mxchat-transcripts-wrapper .mxchat-main-title {
538 + font-size: 2.5rem;
1547 539 }
1548 -}
1549 -
1550 -.mxch-modal-header {
1551 - display: flex;
1552 - 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 -}
1557 -
1558 -.mxch-modal-header h2 {
1559 - font-size: 18px;
1560 - font-weight: 600;
1561 - color: var(--mxch-text-primary);
1562 - margin: 0;
1563 -}
1564 -
1565 -.mxch-modal-close {
1566 - width: 32px;
1567 - height: 32px;
1568 - display: flex;
1569 - align-items: center;
1570 - justify-content: center;
1571 - background: none;
1572 - border: none;
1573 - font-size: 24px;
1574 - color: var(--mxch-text-muted);
1575 - cursor: pointer;
1576 - border-radius: var(--mxch-radius-sm);
1577 - transition: all var(--mxch-transition-fast);
1578 -}
1579 -
1580 -.mxch-modal-close:hover {
1581 - background: #f1f5f9;
1582 - color: var(--mxch-text-primary);
1583 -}
1584 -
1585 -.mxch-modal-body {
1586 - flex: 1;
1587 - padding: var(--mxch-spacing-lg);
1588 - overflow-y: auto;
1589 -}
1590 -
1591 -/* RAG Context Styles */
1592 -.mxch-rag-summary {
1593 - 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);
1600 -}
1601 -
1602 -.mxch-rag-summary-item {
1603 - font-size: 13px;
1604 -}
1605 -
1606 -.mxch-rag-label {
1607 - color: var(--mxch-text-secondary);
1608 -}
1609 -
1610 -.mxch-rag-value {
1611 - font-weight: 600;
1612 - color: var(--mxch-text-primary);
1613 -}
1614 -
1615 -.mxch-rag-matches h3 {
1616 - font-size: 14px;
1617 - font-weight: 600;
1618 - color: var(--mxch-text-primary);
1619 - margin: 0 0 var(--mxch-spacing-md) 0;
1620 -}
1621 -
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);
1627 -}
1628 -
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 {
1647 - font-size: 14px;
1648 - font-weight: 700;
1649 - color: var(--mxch-primary);
1650 -}
1651 -
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 {
1675 - font-size: 13px;
1676 - color: var(--mxch-text-secondary);
1677 - word-break: break-all;
1678 -}
1679 -
1680 -.mxch-rag-match-source a {
1681 - color: var(--mxch-primary);
1682 - text-decoration: none;
1683 -}
1684 -
1685 -.mxch-rag-match-source a:hover {
1686 - text-decoration: underline;
1687 -}
1688 -
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);
1697 -}
1698 -
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;
1706 - 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);
1714 -}
1715 -
1716 -.mxch-context-tab:hover {
1717 - color: var(--mxch-text-primary);
1718 - background: rgba(255, 255, 255, 0.5);
1719 -}
1720 -
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);
1725 -}
1726 -
1727 -.mxch-context-tab svg {
1728 - width: 16px;
1729 - height: 16px;
1730 - flex-shrink: 0;
1731 -}
1732 -
1733 -.mxch-tab-badge {
1734 - display: inline-flex;
1735 - 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 -}
1746 -
1747 -.mxch-context-tab.active .mxch-tab-badge {
1748 - background: var(--mxch-primary);
1749 - color: white;
1750 -}
1751 -
1752 -.mxch-tab-content {
1753 - min-height: 200px;
1754 -}
1755 -
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;
1802 - border-radius: 3px;
1803 - margin-top: var(--mxch-spacing-sm);
1804 - overflow: visible;
1805 -}
1806 -
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;
1815 -}
1816 -
1817 -.mxch-action-triggered .mxch-action-score-fill {
1818 - background: linear-gradient(90deg, #f59e0b, #fbbf24);
1819 -}
1820 -
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%);
1829 -}
1830 -
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 {
1846 - text-align: center;
1847 - padding: var(--mxch-spacing-xl);
1848 - color: var(--mxch-text-secondary);
1849 -}
1850 -
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);
540 +
541 + body.wp-admin .wrap.mxchat-transcripts-wrapper .mxchat-transcripts-hero {
542 + padding: 2.5rem 1.5rem;
1861 543 }
1862 -
1863 - .mxch-stat-card {
1864 - padding: var(--mxch-spacing-md);
544 +
545 + .auto-fold #wpcontent {
546 + margin-left: 0;
547 + padding-left: 0px;
1865 548 }
1866 -
1867 - .mxch-stat-value {
1868 - font-size: 22px;
549 +
550 + .mxchat-action-button {
551 + width: 100%;
1869 552 }
1870 -
1871 - .mxch-cards-row {
1872 - grid-template-columns: 1fr;
1873 - }
1874 -
1875 - .mxch-transcripts-controls {
553 +
554 + .mxchat-session-header {
555 + padding: 10px 12px;
1876 556 flex-direction: column;
1877 - align-items: stretch;
1878 - }
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 {
1889 - 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 557 align-items: flex-start;
558 + gap: 8px;
1902 559 }
1903 -
1904 - .mxch-quick-actions {
1905 - flex-direction: column;
1906 - }
1907 -
1908 - .mxch-quick-action-btn {
560 +
561 + .mxchat-session-info {
1909 562 width: 100%;
1910 - justify-content: center;
563 + gap: 8px;
1911 564 }
1912 -
1913 - /* Chart responsive */
1914 - .mxch-activity-chart-card .mxch-card-header {
565 +
566 + .mxchat-session-details {
1915 567 flex-direction: column;
1916 568 align-items: flex-start;
569 + gap: 6px;
1917 570 }
1918 -
1919 - .mxch-chart-legend {
1920 - margin-top: var(--mxch-spacing-xs);
571 +
572 + .mxchat-user,
573 + .mxchat-page,
574 + .mxchat-links {
575 + max-width: none;
1921 576 }
1922 -
1923 - #mxchat-activity-chart {
1924 - height: 220px !important;
577 +
578 + .mxchat-session-time {
579 + align-self: flex-end;
1925 580 }
1926 -}
1927 -
1928 -@media screen and (max-width: 480px) {
1929 - .mxch-stats-grid {
1930 - grid-template-columns: 1fr;
581 +
582 + .mxchat-messages {
583 + padding: 12px;
1931 584 }
1932 -
1933 - .mxch-controls-actions {
585 +
586 + .mxchat-pagination {
1934 587 flex-direction: column;
1935 - width: 100%;
588 + align-items: flex-start;
1936 589 }
1937 -
1938 - .mxch-controls-actions .mxch-btn {
1939 - width: 100%;
1940 - justify-content: center;
590 +
591 + .mxchat-pagination-controls {
592 + margin-top: 10px;
1941 593 }
1942 -
1943 - .mxch-controls-actions form {
1944 - width: 100%;
1945 - }
1946 594 }
1947 595
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;
596 +/* Focus states for accessibility */
597 +.mxchat-checkbox:focus {
598 + outline: 2px solid #7873f5;
599 + outline-offset: 2px;
1959 600 }
1960 601
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;
602 +.mxchat-page a:focus,
603 +.mxchat-links a:focus {
604 + outline: 2px solid #3b82f6;
605 + outline-offset: 1px;
606 + border-radius: 2px;
1967 607 }
1968 608
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;
609 +/* Animation for new sessions */
610 +.mxchat-session.animate-in {
611 + animation: slideInFromTop 0.3s ease-out;
1976 612 }
1977 613
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 -}
614 +@keyframes slideInFromTop {
615 + 0% {
616 + opacity: 0;
617 + transform: translateY(-10px);
618 + }
619 + 100% {
620 + opacity: 1;
621 + transform: translateY(0);
622 + }
623 +}