PluginProbe
MxChat – AI Chatbot & Content Generation for WordPress / 3.2.12
MxChat – AI Chatbot & Content Generation for WordPress v3.2.12
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
mxchat-basic / css / admin-testing-tab.css

admin-testing-tab.css in MxChat – AI Chatbot & Content Generation for WordPress 3.2.12, at css/admin-testing-tab.css

700 lines 15.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /* =====================================================
2 MxChat Admin Testing Tab Styles
3 ===================================================== */
4
5 /* Two-column layout */
6 .mxch-testing-layout {
7 display: grid;
8 grid-template-columns: 1fr 1fr;
9 gap: 24px;
10 align-items: start;
11 }
12
13 /* Section titles inside cards */
14 .mxch-testing-section-title {
15 margin: 0 0 16px 0;
16 font-size: 15px;
17 font-weight: 600;
18 color: var(--mxch-text-primary, #1a1a2e);
19 display: flex;
20 align-items: center;
21 gap: 8px;
22 }
23
24 .mxch-testing-section-title::before {
25 content: '';
26 width: 4px;
27 height: 16px;
28 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
29 border-radius: 2px;
30 flex-shrink: 0;
31 }
32
33 /* Quick action buttons row */
34 .mxch-testing-actions-row {
35 display: flex;
36 gap: 10px;
37 flex-wrap: wrap;
38 }
39
40 .mxch-testing-btn {
41 display: inline-flex;
42 align-items: center;
43 gap: 6px;
44 padding: 8px 16px;
45 border: none;
46 border-radius: 8px;
47 font-size: 13px;
48 font-weight: 600;
49 cursor: pointer;
50 transition: all 0.2s ease;
51 color: #fff;
52 }
53
54 .mxch-testing-btn-danger {
55 background: linear-gradient(135deg, #ff6b6b 0%, #ee5a52 100%);
56 box-shadow: 0 2px 8px rgba(255, 107, 107, 0.3);
57 }
58
59 .mxch-testing-btn-danger:hover {
60 transform: translateY(-1px);
61 box-shadow: 0 4px 12px rgba(255, 107, 107, 0.4);
62 }
63
64 .mxch-testing-btn-secondary {
65 background: linear-gradient(135deg, #64748b 0%, #475569 100%);
66 box-shadow: 0 2px 8px rgba(100, 116, 139, 0.3);
67 }
68
69 .mxch-testing-btn-secondary:hover {
70 transform: translateY(-1px);
71 box-shadow: 0 4px 12px rgba(100, 116, 139, 0.4);
72 }
73
74 /* Field labels + values */
75 .mxch-testing-field {
76 background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
77 border: 1px solid #e2e8f0;
78 border-radius: 8px;
79 padding: 14px 16px;
80 margin-top: 12px;
81 font-size: 13px;
82 line-height: 1.5;
83 }
84
85 .mxch-testing-field label {
86 color: var(--mxch-text-primary, #1e293b);
87 display: block;
88 margin-bottom: 6px;
89 font-weight: 600;
90 font-size: 11px;
91 text-transform: uppercase;
92 letter-spacing: 0.5px;
93 }
94
95 .mxch-testing-field code {
96 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
97 color: white;
98 padding: 3px 8px;
99 border-radius: 4px;
100 font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;
101 font-size: 11px;
102 font-weight: 600;
103 }
104
105 /* Query display */
106 .mxch-testing-query-display {
107 font-style: italic;
108 color: #64748b;
109 background: #f8fafc;
110 padding: 10px 14px;
111 border-radius: 6px;
112 border-left: 4px solid #667eea;
113 font-weight: 500;
114 margin-top: 4px;
115 }
116
117 /* No data placeholder */
118 .mxch-testing-no-data {
119 color: #64748b;
120 font-style: italic;
121 padding: 16px;
122 text-align: center;
123 background: #f8fafc;
124 border-radius: 6px;
125 }
126
127 /* Results containers */
128 .mxch-testing-results {
129 max-height: 400px;
130 overflow-y: auto;
131 margin-top: 4px;
132 border-radius: 8px;
133 }
134
135 /* System prompt display */
136 .mxch-testing-system-prompt {
137 max-height: 150px;
138 overflow-y: auto;
139 background: #f8fafc;
140 border: 1px solid #e2e8f0;
141 border-radius: 6px;
142 padding: 12px;
143 margin-top: 4px;
144 font-size: 12px;
145 font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;
146 line-height: 1.5;
147 color: #334155;
148 word-break: break-word;
149 }
150
151 /* Debug console */
152 .mxch-testing-debug-console {
153 max-height: 250px;
154 overflow-y: auto;
155 background: #1e293b;
156 border: 1px solid #334155;
157 border-radius: 8px;
158 padding: 12px;
159 font-size: 12px;
160 font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;
161 color: #e2e8f0;
162 }
163
164 .mxch-testing-debug-entry {
165 margin-bottom: 4px;
166 line-height: 1.5;
167 word-break: break-word;
168 }
169
170 .mxch-testing-debug-timestamp {
171 color: #64748b;
172 font-weight: 500;
173 }
174
175 /* =====================================================
176 Document Match Cards (reused from test-panel)
177 ===================================================== */
178
179 .mxch-testing-results .matches-header {
180 font-size: 13px;
181 margin-bottom: 10px;
182 padding: 10px 14px;
183 background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
184 border-radius: 6px;
185 border-left: 4px solid #667eea;
186 font-weight: 600;
187 color: #1e293b;
188 }
189
190 .mxch-testing-results .matches-subheader {
191 font-size: 11px;
192 font-weight: 400;
193 color: #64748b;
194 margin-left: 6px;
195 }
196
197 .mxch-testing-results .match-card {
198 margin-bottom: 10px;
199 border-radius: 8px;
200 overflow: hidden;
201 box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
202 border: 1px solid #e2e8f0;
203 transition: all 0.2s ease;
204 }
205
206 .mxch-testing-results .match-card:hover {
207 box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1);
208 }
209
210 .mxch-testing-results .match-card.above-threshold {
211 border-left: 4px solid #10b981;
212 background: linear-gradient(135deg, #ecfdf5 0%, #f0fdf4 100%);
213 }
214
215 .mxch-testing-results .match-card.below-threshold {
216 border-left: 4px solid #ef4444;
217 background: linear-gradient(135deg, #fef2f2 0%, #fef7f7 100%);
218 }
219
220 .mxch-testing-results .match-header {
221 display: flex;
222 justify-content: space-between;
223 align-items: center;
224 padding: 10px 14px;
225 border-bottom: 1px solid rgba(0, 0, 0, 0.05);
226 }
227
228 .mxch-testing-results .match-card.above-threshold .match-header {
229 background: rgba(16, 185, 129, 0.08);
230 }
231
232 .mxch-testing-results .match-card.below-threshold .match-header {
233 background: rgba(239, 68, 68, 0.08);
234 }
235
236 .mxch-testing-results .match-title {
237 font-weight: 600;
238 font-size: 13px;
239 display: flex;
240 align-items: center;
241 gap: 6px;
242 }
243
244 .mxch-testing-results .status-icon {
245 font-size: 13px;
246 }
247
248 .mxch-testing-results .match-card.above-threshold .status-icon {
249 color: #10b981;
250 }
251
252 .mxch-testing-results .match-card.below-threshold .status-icon {
253 color: #ef4444;
254 }
255
256 .mxch-testing-results .similarity-score {
257 font-size: 15px;
258 font-weight: 700;
259 }
260
261 .mxch-testing-results .match-card.above-threshold .similarity-score {
262 color: #10b981;
263 }
264
265 .mxch-testing-results .match-card.below-threshold .similarity-score {
266 color: #ef4444;
267 }
268
269 .mxch-testing-results .context-label {
270 font-size: 10px;
271 font-weight: 600;
272 padding: 3px 8px;
273 border-radius: 10px;
274 text-transform: uppercase;
275 letter-spacing: 0.5px;
276 }
277
278 .mxch-testing-results .match-card.above-threshold .context-label {
279 color: #047857;
280 }
281
282 .mxch-testing-results .match-card.below-threshold .context-label {
283 color: #dc2626;
284 }
285
286 .mxch-testing-results .match-source {
287 padding: 10px 14px;
288 font-size: 12px;
289 color: #475569;
290 line-height: 1.4;
291 word-break: break-word;
292 display: flex;
293 align-items: flex-start;
294 gap: 6px;
295 }
296
297 .mxch-testing-results .source-icon {
298 font-size: 13px;
299 flex-shrink: 0;
300 }
301
302 .mxch-testing-results .chunk-summary {
303 display: inline-flex;
304 align-items: center;
305 padding: 2px 7px;
306 font-size: 10px;
307 font-weight: 600;
308 background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);
309 color: #fff;
310 border-radius: 10px;
311 margin-left: 6px;
312 }
313
314 .mxch-testing-results .chunk-expand-toggle {
315 display: block;
316 padding: 6px 14px;
317 font-size: 11px;
318 font-weight: 600;
319 color: #6366f1;
320 cursor: pointer;
321 border-top: 1px solid rgba(0, 0, 0, 0.05);
322 transition: background 0.15s ease;
323 }
324
325 .mxch-testing-results .chunk-expand-toggle:hover {
326 background: rgba(99, 102, 241, 0.08);
327 }
328
329 .mxch-testing-results .chunk-details {
330 display: none;
331 padding: 0 14px 10px 14px;
332 background: rgba(0, 0, 0, 0.02);
333 border-top: 1px solid rgba(0, 0, 0, 0.05);
334 }
335
336 .mxch-testing-results .chunk-details.expanded {
337 display: block;
338 }
339
340 .mxch-testing-results .chunk-detail-row {
341 display: flex;
342 align-items: center;
343 padding: 5px 8px;
344 margin: 3px 0;
345 border-radius: 4px;
346 font-size: 12px;
347 gap: 8px;
348 }
349
350 .mxch-testing-results .chunk-detail-row.chunk-used {
351 background: rgba(16, 185, 129, 0.1);
352 }
353
354 .mxch-testing-results .chunk-detail-row.chunk-not-used {
355 background: rgba(100, 116, 139, 0.08);
356 }
357
358 .mxch-testing-results .chunk-detail-icon {
359 font-size: 12px;
360 width: 16px;
361 text-align: center;
362 }
363
364 .mxch-testing-results .chunk-used .chunk-detail-icon {
365 color: #10b981;
366 }
367
368 .mxch-testing-results .chunk-not-used .chunk-detail-icon {
369 color: #94a3b8;
370 }
371
372 .mxch-testing-results .chunk-detail-num {
373 font-weight: 600;
374 color: #334155;
375 flex: 1;
376 }
377
378 .mxch-testing-results .chunk-detail-score {
379 font-weight: 600;
380 color: #64748b;
381 }
382
383 /* =====================================================
384 Action Cards
385 ===================================================== */
386
387 .mxch-testing-results .actions-header {
388 margin-bottom: 6px;
389 padding-bottom: 4px;
390 border-bottom: 1px solid #e2e8f0;
391 font-size: 12px;
392 }
393
394 .mxch-testing-results .action-card {
395 margin-bottom: 4px;
396 padding: 8px 10px;
397 border-radius: 6px;
398 border-left: 3px solid #ccc;
399 background: white;
400 }
401
402 .mxch-testing-results .action-card.action-triggered {
403 border-left-color: #28a745;
404 background: #f8fff9;
405 }
406
407 .mxch-testing-results .action-card.action-above-threshold {
408 border-left-color: #ffc107;
409 background: #fffdf5;
410 }
411
412 .mxch-testing-results .action-card.action-below-threshold {
413 border-left-color: #dc3545;
414 background: #fff5f5;
415 }
416
417 .mxch-testing-results .action-line {
418 display: flex;
419 align-items: center;
420 justify-content: space-between;
421 gap: 6px;
422 margin-bottom: 3px;
423 }
424
425 .mxch-testing-results .action-icon {
426 font-size: 12px;
427 flex-shrink: 0;
428 }
429
430 .mxch-testing-results .action-name {
431 font-weight: 600;
432 font-size: 12px;
433 color: #333;
434 flex: 1;
435 white-space: nowrap;
436 overflow: hidden;
437 text-overflow: ellipsis;
438 }
439
440 .mxch-testing-results .action-score {
441 font-weight: bold;
442 font-size: 11px;
443 color: #333;
444 background: #f0f0f0;
445 padding: 2px 6px;
446 border-radius: 3px;
447 flex-shrink: 0;
448 }
449
450 .mxch-testing-results .action-details {
451 display: flex;
452 justify-content: space-between;
453 align-items: center;
454 font-size: 10px;
455 color: #666;
456 gap: 6px;
457 }
458
459 .mxch-testing-results .action-status {
460 font-weight: 600;
461 text-transform: uppercase;
462 padding: 1px 4px;
463 border-radius: 3px;
464 font-size: 9px;
465 }
466
467 .mxch-testing-results .action-triggered .action-status {
468 background: #28a745;
469 color: white;
470 }
471
472 .mxch-testing-results .action-above-threshold .action-status {
473 background: #ffc107;
474 color: #333;
475 }
476
477 .mxch-testing-results .action-below-threshold .action-status {
478 background: #dc3545;
479 color: white;
480 }
481
482 .mxch-testing-results .action-threshold {
483 font-size: 10px;
484 color: #666;
485 }
486
487 /* Approved URLs */
488 .mxch-testing-results .urls-header {
489 margin-bottom: 8px;
490 padding: 10px 14px;
491 background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
492 border-radius: 6px;
493 border-left: 4px solid #667eea;
494 font-size: 13px;
495 }
496
497 .mxch-testing-results .url-card {
498 padding: 6px 10px;
499 margin-bottom: 4px;
500 }
501
502 .mxch-testing-results .url-line {
503 display: flex;
504 align-items: center;
505 gap: 6px;
506 font-size: 12px;
507 }
508
509 .mxch-testing-results .url-link {
510 color: #667eea;
511 text-decoration: none;
512 word-break: break-all;
513 }
514
515 .mxch-testing-results .url-link:hover {
516 text-decoration: underline;
517 }
518
519 .mxch-testing-results .urls-note {
520 padding: 8px 10px;
521 font-size: 11px;
522 color: #64748b;
523 border-top: 1px solid #e2e8f0;
524 margin-top: 4px;
525 }
526
527 /* Status text */
528 .mxch-testing-results .error-text {
529 color: #ef4444;
530 font-weight: 500;
531 }
532
533 .mxch-testing-results .success-text {
534 color: #10b981;
535 font-weight: 500;
536 }
537
538 /* =====================================================
539 Chatbot Column - Scoped Overrides
540 ===================================================== */
541
542 .mxch-testing-chatbot-column {
543 position: sticky;
544 top: 24px;
545 }
546
547 .mxch-testing-chatbot-scope {
548 background: var(--mxch-card-bg, #ffffff);
549 border-radius: 12px;
550 overflow: hidden;
551 box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
552 border: 1px solid var(--mxch-border, #e2e8f0);
553 }
554
555 /* Make the chatbot fill the container instead of floating */
556 .mxch-testing-chatbot-scope .mxchat-chatbot-wrapper {
557 position: relative !important;
558 width: 100% !important;
559 max-width: 100% !important;
560 height: 600px !important;
561 max-height: 600px !important;
562 display: flex !important;
563 flex-direction: column !important;
564 border-radius: 12px !important;
565 overflow: hidden !important;
566 box-shadow: none !important;
567 margin: 0 !important;
568 right: auto !important;
569 bottom: auto !important;
570 left: auto !important;
571 top: auto !important;
572 z-index: auto !important;
573 }
574
575 /* Ensure chatbot container fills available space */
576 .mxch-testing-chatbot-scope .mxchat-chatbot {
577 flex: 1 !important;
578 display: flex !important;
579 flex-direction: column !important;
580 height: auto !important;
581 min-height: 0 !important;
582 overflow: hidden !important;
583 }
584
585 .mxch-testing-chatbot-scope .chat-container {
586 flex: 1 !important;
587 display: flex !important;
588 flex-direction: column !important;
589 min-height: 0 !important;
590 overflow: hidden !important;
591 }
592
593 .mxch-testing-chatbot-scope .chat-box {
594 flex: 1 !important;
595 overflow-y: auto !important;
596 min-height: 0 !important;
597 }
598
599 /* Fix WordPress admin input overrides */
600 .mxch-testing-chatbot-scope .chat-input,
601 .mxch-testing-chatbot-scope textarea.chat-input {
602 box-shadow: none !important;
603 border: none !important;
604 outline: none !important;
605 background: transparent !important;
606 min-height: auto !important;
607 width: 100% !important;
608 }
609
610 .mxch-testing-chatbot-scope .send-button,
611 .mxch-testing-chatbot-scope button.send-button {
612 box-shadow: none !important;
613 }
614
615 /* Hide floating button if rendered */
616 .mxch-testing-chatbot-scope .floating-chatbot-button {
617 display: none !important;
618 }
619
620 /* Init loader positioning */
621 .mxch-testing-chatbot-scope .mxchat-init-loader {
622 position: relative !important;
623 }
624
625 /* Ensure quick questions are visible */
626 .mxch-testing-chatbot-scope .mxchat-popular-questions {
627 display: block !important;
628 }
629
630 .mxch-testing-chatbot-scope .mxchat-popular-questions-container {
631 display: flex !important;
632 }
633
634 .mxch-testing-chatbot-scope .mxchat-popular-question {
635 display: block !important;
636 }
637
638 /* Allow collapsed state to hide questions in testing tab */
639 .mxch-testing-chatbot-scope .mxchat-popular-questions.collapsed .mxchat-popular-question {
640 display: none !important;
641 }
642
643 .mxch-testing-chatbot-scope .mxchat-popular-questions.collapsed .questions-collapse-btn {
644 display: none !important;
645 }
646
647 /* =====================================================
648 Scrollbar styling
649 ===================================================== */
650
651 .mxch-testing-debug-console::-webkit-scrollbar,
652 .mxch-testing-results::-webkit-scrollbar,
653 .mxch-testing-system-prompt::-webkit-scrollbar {
654 width: 5px;
655 }
656
657 .mxch-testing-debug-console::-webkit-scrollbar-track {
658 background: #334155;
659 border-radius: 3px;
660 }
661
662 .mxch-testing-results::-webkit-scrollbar-track,
663 .mxch-testing-system-prompt::-webkit-scrollbar-track {
664 background: #f1f5f9;
665 border-radius: 3px;
666 }
667
668 .mxch-testing-debug-console::-webkit-scrollbar-thumb {
669 background: #64748b;
670 border-radius: 3px;
671 }
672
673 .mxch-testing-results::-webkit-scrollbar-thumb,
674 .mxch-testing-system-prompt::-webkit-scrollbar-thumb {
675 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
676 border-radius: 3px;
677 }
678
679 /* =====================================================
680 Responsive
681 ===================================================== */
682
683 @media screen and (max-width: 1200px) {
684 .mxch-testing-layout {
685 grid-template-columns: 1fr;
686 gap: 16px;
687 }
688
689 .mxch-testing-chatbot-column {
690 position: relative;
691 top: 0;
692 order: -1; /* Chatbot first on smaller screens */
693 }
694
695 .mxch-testing-chatbot-scope .mxchat-chatbot-wrapper {
696 height: 500px !important;
697 max-height: 500px !important;
698 }
699 }
700