PluginProbe
MxChat – AI Chatbot & Content Generation for WordPress / 3.2.19
MxChat – AI Chatbot & Content Generation for WordPress v3.2.19
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-style.css

admin-style.css in MxChat – AI Chatbot & Content Generation for WordPress 3.2.19, at css/admin-style.css

6,659 lines 136.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 .wp-core-ui .notice.is-dismissible {
2 z-index: 10000;
3 }
4
5 #system_prompt_instructions {
6 transition: height 0.3s ease;
7 }
8 .red-warning {
9 color: red;
10 }
11
12 .mxchat-form-intent {
13 background-color: rgba(240, 240, 245, 0.5);
14 }
15 /* Style the Add Ons submenu item with subtle gradient */
16 #adminmenu a[href="admin.php?page=mxchat-addons"] {
17 position: relative;
18 border-left: 3px solid #fa73e6;
19 font-weight: 600;
20 background-color: rgba(120, 115, 245, 0.08) !important;
21 }
22
23 /* Make the text stand out a bit more when active */
24 #adminmenu .current a[href="admin.php?page=mxchat-addons"] {
25 color: white !important;
26 }
27
28 /* Add hover effect with smooth transition */
29 #adminmenu a[href="admin.php?page=mxchat-addons"]:hover {
30 background-color: rgba(120, 115, 245, 0.12) !important;
31 color: white !important;
32 }
33 .mxchat-badge {
34 display: inline-block;
35 padding: 2px 8px;
36 border-radius: 12px;
37 background: #7873f5;
38 color: white;
39 font-size: 12px;
40 margin-left: 8px;
41 }
42
43 .mxchat-threshold-readonly {
44 padding: 8px;
45 background: rgba(120, 115, 245, 0.1);
46 border-radius: 4px;
47 text-align: center;
48 }
49
50 .mxchat-form-intent .mxchat-button-secondary {
51 background: #7873f5;
52 color: white;
53 border: none;
54 padding: 6px 12px;
55 border-radius: 4px;
56 text-decoration: none;
57 display: inline-block;
58 }
59
60 .mxchat-form-intent .mxchat-button-secondary:hover {
61 background: #6863e5;
62 }
63
64 /* Tab Navigation */
65 .mxchat-tabs {
66 border-bottom: 1px solid #ccc;
67 margin-bottom: 20px;
68 padding-bottom: 0;
69 }
70
71 .mxchat-default-db-h2 {
72 text-align: center;
73 margin: 0px;
74 padding: 0px;
75 }
76
77 .mxchat-tab-button {
78 background: #f1f1f1;
79 border: 1px solid #ccc;
80 border-bottom: none;
81 color: #555;
82 cursor: pointer;
83 font-size: 14px;
84 margin: 0 5px -1px 0;
85 padding: 10px 15px;
86 transition: all 0.3s ease;
87 }
88
89 .mxchat-tab-button.active {
90 background: #fff;
91 border-bottom: 1px solid #fff;
92 color: #000;
93 }
94
95 #default-db.mxchat-tab-content, #pinecone-db.mxchat-tab-content {
96 border: none;
97 box-shadow: none;
98 padding: 0px;
99 }
100
101 .mxchat-tab-content.active {
102 display: block;
103 }
104
105 @keyframes fadeIn {
106 from { opacity: 0; }
107 to { opacity: 1; }
108 }
109
110 .mxchat-tab-content.active {
111 display: block;
112 }
113
114 /* Pinecone Settings Styling */
115 .mxchat-input-group {
116 margin-bottom: 20px;
117 }
118
119 .mxchat-input-group label {
120 display: block;
121 font-weight: 600;
122 margin-bottom: 5px;
123 }
124
125 .mxchat-input-group .description {
126 color: #666;
127 font-style: italic;
128 margin-top: 5px;
129 }
130
131
132 .mxchat-sync-settings {
133 background: #fff;
134 border-radius: 5px;
135 }
136
137 .mxchat-toggle-container {
138 margin-bottom: 15px;
139 }
140
141 .mxchat-toggle-switch {
142 position: relative;
143 display: inline-block;
144 width: 60px;
145 height: 34px;
146 }
147
148 .mxchat-toggle-switch input {
149 opacity: 0;
150 width: 0;
151 height: 0;
152 }
153
154 .mxchat-toggle-slider {
155 position: absolute;
156 cursor: pointer;
157 top: 0;
158 left: 0;
159 right: 0;
160 bottom: 0;
161 background-color: #ccc;
162 transition: .4s;
163 border-radius: 34px;
164 }
165
166 .mxchat-toggle-slider:before {
167 position: absolute;
168 content: "";
169 height: 26px;
170 width: 26px;
171 left: 4px;
172 bottom: 4px;
173 background-color: white;
174 transition: .4s;
175 border-radius: 50%;
176 }
177
178 input:checked + .mxchat-toggle-slider {
179 background-color: #2196F3;
180 }
181
182 input:checked + .mxchat-toggle-slider:before {
183 transform: translateX(26px);
184 }
185
186 .mxchat-toggle-label {
187 vertical-align: super;
188 font-weight: 500;
189 }
190 .mxchat-knowledge-container {
191 display: flex;
192 flex-direction: column;
193 gap: 1rem;
194 margin: 1.5rem 0;
195 padding: 1rem;
196 background: #fff;
197 border-radius: 10px;
198 border: 1px solid #ddd;
199 box-shadow: 0 2px 4px rgba(0, 0, 0, .1);
200 }
201
202 /* Left Column */
203 .mxchat-knowledge-controls {
204 flex: 1;
205 display: flex;
206 gap: 1rem;
207 justify-content: space-between;
208 align-items: center;
209 }
210
211 .mxchat-controls-header {
212 display: flex;
213 justify-content: space-between;
214 align-items: center;
215 }
216
217 .displaying-num {
218 color: #666;
219 font-size: 0.9rem;
220 }
221
222 .mxchat-delete-all {
223 color: #dc3545;
224 border-color: #dc3545;
225 }
226
227 .mxchat-delete-all:hover {
228 background: #dc3545;
229 color: #fff;
230 }
231
232 .mxchat-pagination .page-numbers {
233 padding: 0.25rem 0.5rem;
234 margin: 0 0.25rem;
235 border: 1px solid #ddd;
236 border-radius: 4px;
237 text-decoration: none;
238 }
239
240 .mxchat-pagination .current {
241 background: #2271b1;
242 color: #fff;
243 border-color: #2271b1;
244 }
245
246 /* Right Column */
247 .mxchat-knowledge-search {
248 flex: 1;
249 }
250 .search-input {
251 flex: 1;
252 padding: 0.5rem;
253 border: 1px solid #ddd;
254 border-radius: 4px;
255 }
256
257 .search-button {
258 display: flex;
259 align-items: center;
260 gap: 0.5rem;
261 padding: 0.5rem 1rem;
262 }
263
264 /* Mobile Responsiveness */
265 @media screen and (max-width: 782px) {
266 .mxchat-pro-notification ul {
267 padding-left: 1.2em; /* Add left padding so bullets appear nicely */
268 margin: 0.5em 0;
269 text-align: left;
270 list-style: disc; /* or 'none' if you don’t want bullets */
271 }
272
273 .mxchat-pro-notification ul li {
274 text-align: left;
275 margin-bottom: 0.3em;
276 }
277
278 .mxchat-pro-content p {
279 text-align: left;
280 }
281 .mxchat-knowledge-controls {
282 flex-direction: column;
283 }
284
285 .mxchat-addon-notice-buttons {
286 flex-direction: column;
287 }
288
289 .mxchat-grid-container {
290 display: grid;
291 /* Add these properties */
292 max-width: 100%; /* Constrain to parent width */
293 width: 100%;
294 overflow-x: hidden; /* Prevent horizontal scrolling */
295 grid-template-columns: 1fr; /* Single column layout */
296 grid-gap: 20px;
297 }
298
299 .mxchat-controls-header {
300 flex-direction: column;
301 gap: 1rem;
302 align-items: flex-start;
303 }
304
305 .mxchat-search-group {
306 flex-direction: column;
307 }
308
309 }
310
311
312
313
314
315
316
317
318
319
320 .mxchat-modal {
321 display: none;
322 position: fixed;
323 z-index: 1000;
324 left: 0;
325 top: 0;
326 width: 100%;
327 height: 100%;
328 background-color: rgba(0,0,0,0.4);
329 }
330
331 .mxchat-modal-content {
332 background-color: #fefefe;
333 margin: 15% auto;
334 padding: 20px;
335 border: 1px solid #ddd;
336 width: 70%;
337 max-width: 600px;
338 border-radius: 4px;
339 }
340
341 .mxchat-modal-close {
342 color: #aaa;
343 float: right;
344 font-size: 28px;
345 font-weight: bold;
346 cursor: pointer;
347 }
348
349 .mxchat-modal-close:hover {
350 color: black;
351 }
352
353
354
355
356 .mxchat-admin .button.button-secondary.mxchat-edit-button {
357 background: #3498db;
358 color: #fff;
359 border-radius: 20px;
360 padding: 0px 20px !important;
361 font-size: 1rem;
362 font-weight: 700;
363 text-decoration: none;
364 transition: all .2s;
365 justify-content: center;
366 align-items: center;
367 box-shadow: 4px 4px #2980b9;
368 cursor: pointer;
369 margin-top: 10px;
370 border: none;
371 width: 100%;
372 }
373
374
375 .mxchat-admin .mxchat-intents-table .mxchat-delete-all {
376 width: 100%;
377 }
378
379 .mxchat-admin .mxchat-intents-table .mxchat-save-button {
380 max-width: 100% !important;
381 width: 100% !important;
382 }
383
384 .mxchat-agents-banner {
385 background-color: #fff;
386 margin-bottom: 20px;
387 border-radius: 4px;
388 box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
389 position: relative;
390 margin-left: auto;
391 margin-right: auto;
392 padding: 0px 15px;
393 }
394
395 .mxchat-agents-banner::before {
396 content: '';
397 position: absolute;
398 top: 0;
399 left: 0px;
400 width: 10px; /* Matches border-left width */
401 height: 100%;
402 background: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1); /* Gradient */
403 border-radius: 4px 0 0 4px; /* Match overall border radius */
404 }
405
406 .mxchat-agents-banner p {
407 font-size: 14px;
408 line-height: 1.6;
409 color: #444; /* Dark gray text */
410 margin: 0;
411 padding: 15px 10px;
412 }
413
414 .mxchat-agents-banner a {
415 background: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1); /* Gradient text */
416 -webkit-background-clip: text;
417 -webkit-text-fill-color: transparent; /* Makes gradient visible */
418 font-weight: bold;
419 text-decoration: none;
420 transition: opacity 0.2s ease;
421 }
422
423 .mxchat-agents-banner a:hover {
424 opacity: 0.8; /* Subtle fade on hover */
425 text-decoration: underline; /* Underline for accessibility */
426 }
427
428
429
430 .mxchat-timestamp {
431 font-size: 10px;
432 color: #8c8f94;
433 margin-top: 2px;
434 padding: 0 8px;
435 }
436
437 .mxchat-messages::-webkit-scrollbar {
438 width: 6px;
439 }
440
441 .mxchat-messages::-webkit-scrollbar-track {
442 background: #f1f1f1;
443 }
444
445 .mxchat-messages::-webkit-scrollbar-thumb {
446 background: #888;
447 border-radius: 3px;
448 }
449
450
451
452
453
454
455
456
457
458 .mxchat-process-status {
459 margin-top: 20px;
460 padding: 15px;
461 background: #fff;
462 border: 1px solid #ddd;
463 border-radius: 4px;
464 box-shadow: 0 1px 3px rgba(0,0,0,0.1);
465 }
466
467 .mxchat-process-status h3 {
468 margin: 0 0 15px 0;
469 color: #23282d;
470 font-size: 14px;
471 font-weight: 600;
472 }
473
474 .mxchat-process-status p {
475 margin: 8px 0;
476 color: #555;
477 font-size: 13px;
478 }
479
480 .mxchat-process-status .status-complete {
481 color: #46b450;
482 font-weight: 500;
483 }
484
485 .mxchat-process-status.complete {
486 border-color: #46b450;
487 }
488
489
490
491
492
493 /* Toggle Switch Styles */
494 .mxchat-switch {
495 position: relative;
496 display: inline-block;
497 width: 60px;
498 height: 34px;
499 margin-right: 10px;
500 }
501
502 .mxchat-switch input {
503 opacity: 0;
504 width: 0;
505 height: 0;
506 }
507
508 .mxchat-slider {
509 position: absolute;
510 cursor: pointer;
511 top: 0;
512 left: 0;
513 right: 0;
514 bottom: 0;
515 background-color: #ccc;
516 transition: .4s;
517 border-radius: 34px;
518 }
519
520 .mxchat-slider:before {
521 position: absolute;
522 content: "";
523 height: 26px;
524 width: 26px;
525 left: 4px;
526 bottom: 4px;
527 background-color: white;
528 transition: .4s;
529 border-radius: 50%;
530 }
531
532 input:checked + .mxchat-slider {
533 background-color: #2196F3;
534 }
535
536 input:disabled + .mxchat-slider {
537 opacity: 0.5;
538 cursor: not-allowed;
539 }
540
541 input:checked + .mxchat-slider:before {
542 transform: translateX(26px);
543 }
544
545 .mxchat-status-label {
546 display: inline-block;
547 vertical-align: middle;
548 margin-left: 10px;
549 }
550
551 .status-text {
552 font-weight: 500;
553 }
554
555
556
557
558 .mxchat-question-row {
559 margin-bottom: 10px;
560 }
561
562 .mxchat-similarity-threshold .mxchat-slider-container {
563 display: flex;
564 align-items: center;
565 gap: 15px;
566 margin-top: 10px;
567 }
568
569 .mxchat-similarity-threshold input[type="range"] {
570 flex: 1;
571 margin: 0;
572 }
573
574 .mxchat-similarity-threshold .button-primary {
575 white-space: nowrap;
576 }
577
578 .mxchat-similarity-threshold label {
579 font-weight: bold;
580 display: block;
581 margin-bottom: 5px;
582 }
583
584 .mxchat-similarity-threshold {
585 max-width: 600px;
586 }
587
588 #threshold_value_display {
589 font-weight: normal;
590 margin-left: 10px;
591 color: #0073aa;
592 }
593
594 .mxchat-form-group {
595 margin-bottom: 20px;
596 }
597
598 .mxchat-form-group input[type="range"] {
599 width: 100%;
600 margin-top: 10px;
601 }
602
603 .mxchat-form-group label {
604 font-weight: bold;
605 display: block;
606 margin-bottom: 5px;
607 }
608
609 .mxchat-form-group .description {
610 font-size: 0.9em;
611 color: #666;
612 }
613
614 #threshold_value_display {
615 font-weight: normal;
616 margin-left: 10px;
617 color: #0073aa;
618 }
619
620
621
622
623 .mxchat-product-image, .mxchat-generated-image, .mxchat-image-thumbnail {
624 max-width: 100%;
625 }
626 .description {
627 margin-top: -10px;
628 }
629
630 .tablenav .tablenav-pages {
631 display: flex;
632 align-items: center;
633 margin-left: 20px;
634 gap: 5px;
635 }
636
637 /* General Styles */
638 .mxchat-admin body, .mxchat-admin html {
639 font-family: Arial, sans-serif;
640 background-color: #fff;
641 color: #212121;
642 margin: 0;
643 padding: 0;
644 }
645
646 /* Main Wrapper */
647 .mxchat-admin .wrap {
648 max-width: 1200px;
649 margin: 0 auto;
650 padding: 20px;
651 background: #f9f9f9;
652 box-shadow: 0 2px 4px rgba(0, 0, 0, .1);
653 }
654 /* Header */
655 .mxchat-admin .wrap h2 {
656 border-bottom: 2px solid #ddd;
657 padding-bottom: 10px;
658 margin-bottom: 20px;
659 color: #212121;
660 }
661
662 .wrap.mxchat-admin .admin-title {
663 text-shadow: 0 2px 0 #c6c6c6;
664 font-weight: bold;
665 letter-spacing: 5px;
666 color: #212121;
667 font-size: 2.5rem;
668 }
669
670 .mxchat-admin .admin-emphasis {
671 color: white;
672 text-shadow: 2px 1px 0 #000, -1px -1px 0 #000, -1px 1px 0 #000, 1px -1px 0 #000, 0px 0 0 #000, 4px 0 0 #000, 0 0px 0 #000, 0 0px 0 #000;
673 font-weight: bold;
674 letter-spacing: 5px;
675 font-size: 2.5rem;
676 }
677 /* Grid Layout */
678 .mxchat-admin .mxchat-grid-container {
679 display: grid;
680 grid-template-columns: repeat(2, 1fr);
681 grid-gap: 20px;
682 }
683
684 .mxchat-admin .mxchat-grid-item {
685 background: #fff;
686 border: 1px solid #ddd;
687 box-shadow: 0 2px 4px rgba(0, 0, 0, .1);
688 padding: 20px;
689 border-radius: 10px;
690 }
691
692 /* Full Width for Submit Content */
693 .mxchat-admin .mxchat-grid-item.full-width {
694 grid-column: span 2;
695 }
696
697 /* Form Styles */
698 .mxchat-admin .mxchat-form-group {
699 display: flex;
700 flex-direction: column;
701 margin-bottom: 20px;
702 }
703
704 .mxchat-admin .mxchat-form-group label {
705 margin-bottom: 10px;
706 font-weight: bold;
707 color: #212121;
708 }
709
710 .mxchat-admin .mxchat-form-group input[type="url"],
711 .mxchat-admin .mxchat-form-group input[type="text"],
712 .mxchat-admin .mxchat-form-group input[type="password"],
713 .mxchat-admin .mxchat-form-group textarea {
714 padding: 10px;
715 border: 1px solid #ddd;
716 border-radius: 4px;
717 font-size: 1rem;
718 width: 100%;
719 box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
720 }
721
722 /* Larger Textarea for Content Submission */
723 .mxchat-admin .mxchat-form-group textarea {
724 min-height: 200px;
725 }
726
727 /* Button Styles */
728 .mxchat-admin .button.button-primary {
729 color: #fff;
730 background: #212121;
731 border-radius: 20px;
732 padding: 0px 30px;
733 font-size: 1rem;
734 font-weight: 700;
735 text-decoration: none;
736 transition: all .2s;
737 display: inline-flex;
738 justify-content: center;
739 align-items: center;
740 max-width: 200px;
741 width: auto;
742 box-shadow: 4px 4px #14141499;
743 border: none;
744 cursor: pointer;
745 }
746
747 .mxchat-search-group .button.button-primary.search-button {
748 box-shadow: none;
749 border-radius: 0px 20px 20px 0px;
750 margin-bottom: 0px;
751 padding: 0px 15px;
752 }
753
754 .mxchat-search-group .button.button-primary.search-button:hover {
755 opacity: .8px;
756 }
757
758 .mxchat-admin .button.button-primary:hover,
759 .mxchat-admin .button.button-primary:active {
760 background: #444;
761 }
762
763 .submit-content-button {
764 margin-top: 10px !important;
765 }
766
767 /* Search and Sitemap Group */
768 .mxchat-admin .mxchat-search-group {
769 display: flex;
770 gap: 0px;
771 max-width: 800px;
772 margin: auto;
773 margin-top: 20px;
774 align-items: stretch;
775 flex-direction: row;
776 }
777
778 .mxchat-admin .mxchat-search-group input[type="text"],
779 .mxchat-admin .mxchat-search-group input[type="url"] {
780 flex-grow: 1;
781 border-radius: 20px 0px 0px 20px;
782 padding: 8px;
783 }
784
785 .mxchat-search-group #mxchat-intent-search {
786 border-radius: 0px 0px 0px 0px;
787 }
788
789 .mxchat-admin .mxchat-search-group input[type="submit"] {
790 background: #212121;
791 color: #fff;
792 border-radius: 20px;
793 padding: 0px 30px;
794 font-size: 1rem;
795 font-weight: 700;
796 box-shadow: 4px 4px #14141499;
797 border: none;
798 transition: background-color .2s;
799 cursor: pointer;
800 }
801
802 .mxchat-admin .mxchat-search-group input[type="submit"]:hover {
803 background-color: #444;
804 }
805
806 .mxchat-admin .mxchat-delete-all, .button.button-link-delete.mxchat-delete-all {
807 background: #e74c3c;
808 color: #fff;
809 border-radius: 20px;
810 padding: 0px 15px !important;
811 font-size: 1rem;
812 font-weight: 700;
813 text-decoration: none;
814 transition: all .2s;
815 justify-content: center;
816 align-items: center;
817 box-shadow: 4px 4px #c0392b;
818 cursor: pointer;
819 margin-bottom: 10px;
820 border: none;
821 }
822
823 .mxchat-admin .mxchat-delete-all:hover {
824 color: #fff;
825 background-color: #c0392b;
826 box-shadow: 4px 4px #a93226
827 }
828
829 .mxchat-admin .mxchat-intents-table .mxchat-delete-all {
830 background: #e74c3c;
831 color: #fff;
832 border-radius: 20px;
833 padding: 0px 20px !important;
834 font-size: 1rem;
835 font-weight: 700;
836 text-decoration: none;
837 transition: all .2s;
838 justify-content: center;
839 align-items: center;
840 box-shadow: 4px 4px #c0392b;
841 cursor: pointer;
842 margin-top: 10px;
843 border: none;
844 }
845
846 .mxchat-admin .mxchat-intents-table .mxchat-delete-all:hover {
847 color: #fff;
848 background-color: #c0392b;
849 box-shadow: 4px 4px #a93226;
850 }
851
852
853
854 /* Table Styles */
855 .mxchat-admin .wp-list-table {
856 width: 100%;
857 margin-top: 20px;
858 border-collapse: collapse;
859 background: #fff;
860 box-shadow: 0 2px 4px rgba(0, 0, 0, .1);
861 }
862
863 .mxchat-admin .wp-list-table th,
864 .mxchat-admin .wp-list-table td {
865 padding: 15px;
866 border-bottom: 1px solid #ddd;
867 text-align: left;
868 }
869
870 .mxchat-admin .wp-list-table th {
871 background: #f0f2f5;
872 color: #212121;
873 }
874
875 .mxchat-admin .wp-list-table tr:nth-child(even) {
876 background: #f9f9f9;
877 }
878
879 .mxchat-admin .mxchat-pro-banner {
880 background-color: #fff;
881 padding: 0px 15px;
882 margin-bottom: 20px;
883 box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* Subtle shadow for depth */
884 position: relative; /* Required for the ::before pseudo-element */
885 }
886
887 .mxchat-admin .mxchat-pro-banner::before {
888 content: '';
889 position: absolute;
890 top: 0;
891 left: 0px;
892 width: 10px; /* Matches the border-left width in your original CSS */
893 height: 100%;
894 background-color: #212121; /* Dark bar color */
895 border-radius: 4px 0 0 4px; /* Rounded corners on the left */
896 }
897
898
899 .mxchat-admin .mxchat-pro-banner p {
900 margin: 0;
901 font-size: 16px;
902 color: #212121;
903 padding: 15px 10px;
904 }
905
906 .mxchat-admin .mxchat-pro-banner a {
907 color: #212121;
908 text-decoration: none;
909 font-weight: bold;
910 }
911
912 .mxchat-admin .mxchat-pro-banner a:hover {
913 text-decoration: underline;
914 }
915
916 /* Toggle Switch Styles */
917 .mxchat-admin .toggle-switch {
918 position: relative;
919 display: inline-block;
920 width: 60px;
921 height: 34px;
922 }
923
924 .mxchat-admin .toggle-switch input {
925 opacity: 0;
926 width: 0;
927 height: 0;
928 }
929
930 .mxchat-admin .slider {
931 position: absolute;
932 cursor: pointer;
933 top: 0;
934 left: 0;
935 right: 0;
936 bottom: 0;
937 background-color: #ccc;
938 transition: .4s;
939 border-radius: 34px;
940 }
941
942 .mxchat-admin .slider:before {
943 position: absolute;
944 content: "";
945 height: 26px;
946 width: 26px;
947 left: 4px;
948 bottom: 4px;
949 background-color: white;
950 transition: .4s;
951 border-radius: 50%;
952 }
953
954 .mxchat-admin input:checked + .slider {
955 background-color: #212121;
956 }
957
958 .mxchat-admin input:checked + .slider:before {
959 transform: translateX(26px);
960 }
961
962 /* Toggle Switch Label */
963 .mxchat-admin .toggle-switch-label {
964 display: flex;
965 align-items: center;
966 font-weight: 600;
967 color: #212121;
968 margin-bottom: 20px;
969 }
970
971 .mxchat-loading-text {
972 display: none;
973 margin-top: 10px;
974 color: #333;
975 }
976
977 .mxchat-spinner {
978 border: 8px solid #f3f3f3;
979 border-top: 8px solid #333;
980 border-radius: 50%;
981 width: 30px;
982 height: 30px;
983 animation: mxchat-spin 1s linear infinite;
984 display: flex;
985 justify-content: center;
986 align-items: center;
987 }
988
989 #mxchat-content-loading-text {
990 display: none;
991 margin-top: 10px;
992 color: #333;
993 }
994
995 .mxchat-content-spinner {
996 border: 8px solid #f3f3f3;
997 border-top: 8px solid #333;
998 border-radius: 50%;
999 width: 30px;
1000 height: 30px;
1001 animation: mxchat-spin 1s linear infinite;
1002 display: flex;
1003 justify-content: center;
1004 align-items: center;
1005 }
1006
1007
1008 #mxchat-activation-spinner {
1009 border: 4px solid #f3f3f3;
1010 border-top: 4px solid #007cba; /* Match the WordPress primary button color */
1011 border-radius: 50%;
1012 width: 20px;
1013 height: 20px;
1014 animation: mxchat-spin 1s linear infinite;
1015 display: inline-block;
1016 vertical-align: middle;
1017 margin-left: 10px;
1018 }
1019
1020 @keyframes mxchat-spin {
1021 0% { transform: rotate(0deg); }
1022 100% { transform: rotate(360deg); }
1023 }
1024
1025
1026
1027 .pro-feature-wrapper.active select,
1028 .pro-feature-wrapper.active textarea {
1029 opacity: 1; /* Fully opaque when active */
1030 }
1031
1032 .pro-feature-wrapper.inactive select,
1033 .pro-feature-wrapper.inactive textarea {
1034 opacity: 0.5; /* Grayed out when inactive */
1035 }
1036
1037 .pro-feature-overlay {
1038 position: absolute;
1039 top: 0;
1040 left: 0;
1041 width: 100%;
1042 height: 100%;
1043 display: flex;
1044 justify-content: center;
1045 align-items: center;
1046 pointer-events: none;
1047 }
1048
1049 .pro-feature-overlay img {
1050 max-width: 100px;
1051 pointer-events: auto; /* Allow clicking the image */
1052 }
1053
1054 .pro-feature-wrapper a {
1055 text-decoration: none;
1056 position: absolute;
1057 top: 0;
1058 left: 0;
1059 width: 100%;
1060 height: 100%;
1061 z-index: 10; /* Ensure the link is above everything else */
1062 }
1063
1064
1065 .mxchat-admin .chat-session {
1066 border: 1px solid #ddd;
1067 padding: 15px;
1068 width: calc(33.333% - 20px);
1069 box-sizing: border-box;
1070 background-color: #f9f9f9;
1071 display: flex;
1072 flex-direction: column;
1073 max-height: 500px;
1074 overflow: auto;
1075 }
1076
1077 .mxchat-admin .chat-message {
1078 border-bottom: 1px solid #eee;
1079 padding-bottom: 10px;
1080 margin-bottom: 10px;
1081 }
1082
1083 .mxchat-admin .chat-session h4 {
1084 margin-bottom: 15px;
1085 font-size: 1.1em;
1086 font-weight: 700;
1087 }
1088
1089 .mxchat-controls {
1090 display: flex;
1091 align-items: center;
1092 margin-bottom: 15px;
1093 }
1094
1095 .mxchat-select-all-label {
1096 margin-right: 15px;
1097 display: flex;
1098 align-items: center;
1099 }
1100
1101 .mxchat-select-all-label input[type="checkbox"] {
1102 margin-right: 5px;
1103 }
1104
1105 .mxchat-controls .delete-chats-button.button {
1106 padding: 6px 12px;
1107 font-size: 14px;
1108 background: #e74c3c;
1109 color: #fff;
1110 border-radius: 20px;
1111 font-weight: 700;
1112 text-decoration: none;
1113 transition: all .2s;
1114 justify-content: center;
1115 align-items: center;
1116 cursor: pointer;
1117 border: none;
1118 line-height: 1;
1119 }
1120
1121
1122 .mxchat-controls .delete-chats-button.button:hover {
1123 color: #fff;
1124 background-color: #c0392b;
1125 box-shadow: 4px 4px #a93226
1126 }
1127
1128
1129 .mxchat-license-status.active {
1130 color: green;
1131 font-weight: bold;
1132 }
1133
1134 .mxchat-license-status.inactive {
1135 color: red;
1136 font-weight: bold;
1137 }
1138 .mxchat-nav-tab-wrapper {
1139 margin: 0px 0px;
1140 padding: 0px 0px;
1141 display: flex;
1142 padding-left: 20px;
1143 }
1144
1145 .mxchat-nav-tab {
1146 font-size: 14px;
1147 padding: 10px 20px;
1148 margin-right: 10px;
1149 background: #f1f1f1;
1150 border: 1px solid #ddd;
1151 border-bottom: none;
1152 cursor: pointer;
1153 box-shadow: none;
1154 color: #333;
1155 text-decoration: none;
1156 }
1157
1158 .mxchat-nav-tab:hover, .mxchat-nav-tab:focus {
1159 background: #fff;
1160 color: #0073aa;
1161 box-shadow: none;
1162 }
1163
1164 .mxchat-nav-tab-active {
1165 background: #fff;
1166 border-bottom: 1px solid #fff;
1167 color: #0073aa;
1168 }
1169
1170
1171
1172 .mxchat-tab-content.active {
1173 display: block;
1174 }
1175
1176
1177 .mxchat-settings-section {
1178 padding: 20px 0;
1179 }
1180
1181 .mxchat-settings-section h2 {
1182 font-size: 1.2em;
1183 margin-bottom: 10px;
1184 color: #333;
1185 font-weight: bold;
1186 }
1187
1188 .section-divider {
1189 width: 95%;
1190 height: 2px;
1191 background-color: #e0e0e0;
1192 margin: 20px auto;
1193 border-radius: 1px;
1194 }
1195
1196 .form-table th {
1197 padding: 10px 0;
1198 vertical-align: top;
1199 width: 220px;
1200 }
1201
1202 .form-table td {
1203 padding: 10px 0;
1204 }
1205
1206
1207
1208
1209 .mxchat-table {
1210 width: 100%;
1211 table-layout: fixed;
1212 border-collapse: collapse;
1213 border: 1px solid #ccc; /* Adds a border around the table */
1214 }
1215
1216 /* Header styling to match theme */
1217 .mxchat-table th {
1218 background-color: #212121; /* Dark gray/black background */
1219 color: #fff; /* White text */
1220 font-weight: bold;
1221 padding: 10px;
1222 border-bottom: 3px solid #ccc; /* Thicker divider for the header */
1223 }
1224
1225 /* General cell styling */
1226 .mxchat-table th, .mxchat-table td {
1227 padding: 8px 10px;
1228 text-align: left;
1229 vertical-align: top; /* Aligns content to the top of the cell */
1230 border-bottom: 2px solid #ddd; /* Adds prominent dividers between rows */
1231 }
1232
1233 /* Alternate row background for better readability */
1234 .mxchat-table tbody tr:nth-child(odd) {
1235 background-color: #f9f9f9;
1236 }
1237
1238 .mxchat-table tbody tr:nth-child(even) {
1239 background-color: #fff;
1240 }
1241
1242 /* ID column should be small */
1243 .mxchat-table td:nth-child(1),
1244 .mxchat-table th:nth-child(1) {
1245 width: 15%; /* ID column */
1246 text-align: center;
1247 }
1248
1249 /* Content column should be wide */
1250 .mxchat-table td:nth-child(2),
1251 .mxchat-table th:nth-child(2) {
1252 width: 50%; /* Content column */
1253 }
1254
1255 /* URL column */
1256 .mxchat-table td:nth-child(3),
1257 .mxchat-table th:nth-child(3) {
1258 width: 20%; /* URL column */
1259 text-align: left;
1260 overflow-x: auto; /* Allow the URL to scroll horizontally if it's too long */
1261 white-space: nowrap;
1262 }
1263
1264 /* Actions column */
1265 .mxchat-table td:nth-child(4),
1266 .mxchat-table th:nth-child(4) {
1267 width: 15%; /* Edit/Delete column */
1268 text-align: center;
1269 }
1270
1271 .mxchat-intents-table {
1272 width: 100%;
1273 table-layout: fixed;
1274 border-collapse: collapse;
1275 border: 1px solid #ccc;
1276 }
1277
1278 .mxchat-intents-table th {
1279 background-color: #212121;
1280 color: #fff;
1281 font-weight: bold;
1282 padding: 10px;
1283 border-bottom: 3px solid #ccc;
1284 }
1285
1286 .mxchat-intents-table th,
1287 .mxchat-intents-table td {
1288 padding: 8px 10px;
1289 text-align: left;
1290 vertical-align: top;
1291 border-bottom: 2px solid #ddd;
1292 }
1293
1294 .mxchat-intents-table tbody tr:nth-child(odd) {
1295 background-color: #f9f9f9;
1296 }
1297
1298 .mxchat-intents-table tbody tr:nth-child(even) {
1299 background-color: #fff;
1300 }
1301
1302 /* Intent Label column */
1303 .mxchat-intents-table td:nth-child(1),
1304 .mxchat-intents-table th:nth-child(1) {
1305 width: 20%;
1306 }
1307
1308 /* Phrases column */
1309 .mxchat-intents-table td:nth-child(2),
1310 .mxchat-intents-table th:nth-child(2) {
1311 width: 30%;
1312 overflow-x: auto;
1313 }
1314
1315 /* Callback Function column */
1316 .mxchat-intents-table td:nth-child(3),
1317 .mxchat-intents-table th:nth-child(3) {
1318 width: 20%;
1319 }
1320
1321 /* Similarity Threshold column */
1322 .mxchat-intents-table td:nth-child(4),
1323 .mxchat-intents-table th:nth-child(4) {
1324 width: 15%;
1325 text-align: center;
1326 }
1327
1328 /* Actions column */
1329 .mxchat-intents-table td:nth-child(5),
1330 .mxchat-intents-table th:nth-child(5) {
1331 width: 15%;
1332 text-align: center;
1333 }
1334
1335 /* Style the threshold range slider */
1336 .mxchat-intents-threshold-form input[type="range"] {
1337 width: 100%;
1338 margin: 5px 0;
1339 }
1340
1341 .mxchat-intents-threshold-form button {
1342 margin-top: 5px;
1343 }
1344
1345
1346
1347 /* Edit content textarea styling */
1348 .content-edit {
1349 width: 100%; /* Make textarea fill the column */
1350 height: 100px; /* Adjust height as needed */
1351 box-sizing: border-box; /* Ensure padding and border are included in the width/height */
1352 }
1353
1354 /* Button styling to match theme */
1355 .mxchat-table td .button {
1356 display: inline-block;
1357 margin-right: 5px;
1358 background-color: #212121;
1359 color: #fff;
1360 border: none;
1361 padding: 5px 10px;
1362 text-decoration: none;
1363 border-radius: 3px;
1364 cursor: pointer;
1365 box-shadow: 4px 4px #14141499;
1366 }
1367
1368 /* Hover state */
1369 .mxchat-table td .button:hover {
1370 display: inline-block;
1371 margin-right: 5px;
1372 background-color: #444;
1373 color: #fff;
1374 border: none;
1375 padding: 5px 10px;
1376 text-decoration: none;
1377 border-radius: 3px;
1378 cursor: pointer;
1379 box-shadow: 4px 4px #14141499;
1380 }
1381
1382 /* Active state */
1383 .mxchat-table td .button:active {
1384 display: inline-block;
1385 margin-right: 5px;
1386 background-color: #444;
1387 color: #fff;
1388 border: none;
1389 padding: 5px 10px;
1390 text-decoration: none;
1391 border-radius: 3px;
1392 cursor: pointer;
1393 box-shadow: 4px 4px #14141499;
1394 }
1395
1396 /* Focus state */
1397 .mxchat-table td .button:focus {
1398 display: inline-block;
1399 margin-right: 5px;
1400 background-color: #444;
1401 color: #fff;
1402 border: none;
1403 padding: 5px 10px;
1404 text-decoration: none;
1405 border-radius: 3px;
1406 cursor: pointer;
1407 box-shadow: 4px 4px #14141499;
1408 outline: none; /* Removes default outline */
1409 }
1410
1411
1412
1413 /* Responsive Design */
1414 @media (max-width: 1024px) {
1415 .mxchat-admin .mxchat-grid-container {
1416 grid-template-columns: 1fr;
1417 }
1418
1419 .mxchat-admin .mxchat-grid-item.full-width {
1420 grid-column: span 1;
1421 }
1422
1423 .mxchat-admin .chat-session {
1424 width: calc(100% - 0px);
1425 }
1426
1427 .mxchat-nav-tab {
1428 padding: 10px 12px;
1429 }
1430
1431 .mxchat-admin .mxchat-nav-tab-wrapper,
1432 .mxchat-admin .wrap h2.mxchat-nav-tab-wrapper,
1433 .mxchat-admin h1.mxchat-nav-tab-wrapper {
1434 border-bottom: 0;
1435 justify-content: space-evenly;
1436 display: flex;
1437 }
1438
1439 .mxchat-admin .mxchat-nav-tab-wrapper .mxchat-nav-tab {
1440 margin: 0;
1441 }
1442 .mxchat-nav-tab-wrapper {
1443 padding-left: 0px;
1444 }
1445
1446 .mxchat-session {
1447 width: 100%;
1448 }
1449
1450
1451 }
1452
1453
1454 /* Basic responsive table styles */
1455 @media screen and (max-width: 782px) {
1456 .mxchat-intents-table {
1457 display: block;
1458 width: 100%;
1459 }
1460
1461 .mxchat-intents-table thead {
1462 display: none; /* Hide header on mobile */
1463 }
1464
1465 .mxchat-intents-table tbody,
1466 .mxchat-intents-table tr,
1467 .mxchat-intents-table td {
1468 display: block;
1469 width: 100%;
1470 }
1471
1472 .mxchat-intents-table tr {
1473 margin-bottom: 1.5rem;
1474 background: #fff;
1475 padding: 1rem;
1476 border-radius: 8px;
1477 box-shadow: 0 1px 3px rgba(0,0,0,0.1);
1478 max-width: 300px;
1479 }
1480
1481 /* Add labels before content */
1482 .mxchat-intents-table td:before {
1483 content: attr(data-label);
1484 font-weight: 600;
1485 display: block;
1486 margin-bottom: 0.5rem;
1487 color: #1d2327;
1488 }
1489
1490 /* Spacing between cells */
1491 .mxchat-intents-table td {
1492 padding: 0.5rem 0;
1493 border: none;
1494 }
1495
1496 /* Handle the slider container */
1497 .mxchat-intents-table td:nth-child(4) {
1498 margin: 1rem 0;
1499 }
1500
1501 /* Style the range input */
1502 .mxchat-intents-table input[type="range"] {
1503 width: 100%;
1504 margin: 0.5rem 0;
1505 }
1506
1507 /* Style the actions column */
1508 .mxchat-intents-table td:last-child {
1509 display: flex;
1510 flex-direction: column;
1511 gap: 0.5rem;
1512 margin-top: 1rem;
1513 }
1514
1515 /* Make buttons full width on mobile */
1516 .mxchat-intents-table .mxchat-save-button,
1517 .mxchat-intents-table .mxchat-edit-button,
1518 .mxchat-intents-table .mxchat-delete-all {
1519 width: 100%;
1520 margin: 0;
1521 }
1522
1523 /* Adjust output display */
1524 .mxchat-intents-table output {
1525 display: block;
1526 text-align: center;
1527 margin-top: 0.25rem;
1528 }
1529
1530 /* Additional spacing for forms */
1531 .mxchat-intents-table form {
1532 margin: 0;
1533 }
1534 }
1535
1536 /* Stats Grid */
1537 .mxchat-stats-grid {
1538 display: grid;
1539 grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
1540 gap: 20px;
1541 margin-bottom: 30px;
1542 margin-top: 20px;
1543 }
1544
1545 .mxchat-stat-card {
1546 background: white;
1547 padding: 20px;
1548 border-radius: 10px;
1549 box-shadow: 0 2px 4px rgba(0,0,0,0.1);
1550 display: flex;
1551 align-items: center;
1552 gap: 15px;
1553 }
1554
1555 .stat-icon {
1556 font-size: 24px;
1557 background: #f0f0f1;
1558 width: 50px;
1559 height: 50px;
1560 display: flex;
1561 align-items: center;
1562 justify-content: center;
1563 border-radius: 10px;
1564 }
1565
1566 .stat-content {
1567 display: flex;
1568 flex-direction: column;
1569 }
1570
1571 .stat-value {
1572 font-size: 24px;
1573 font-weight: bold;
1574 color: #1d2327;
1575 }
1576
1577 .stat-label {
1578 color: #50575e;
1579 font-size: 14px;
1580 }
1581
1582 /* Controls Section */
1583 .mxchat-controls-wrapper {
1584 background: white;
1585 padding: 20px;
1586 border-radius: 10px;
1587 box-shadow: 0 2px 4px rgba(0,0,0,0.1);
1588 margin-bottom: 20px;
1589 display: flex;
1590 justify-content: space-between;
1591 align-items: center;
1592 flex-wrap: wrap;
1593 gap: 15px;
1594 }
1595
1596 .mxchat-controls {
1597 display: flex;
1598 gap: 15px;
1599 align-items: center;
1600 }
1601
1602 .mxchat-search-box input {
1603 padding: 8px 12px;
1604 border-radius: 5px;
1605 border: 1px solid #dcdcde;
1606 width: 300px;
1607 }
1608
1609 /* Select/Delete Buttons */
1610 .mxchat-select-button {
1611 display: flex;
1612 align-items: center;
1613 gap: 8px;
1614 padding: 8px 16px;
1615 background: #fff;
1616 border: 1px solid #0073aa;
1617 border-radius: 4px;
1618 color: #0073aa;
1619 cursor: pointer;
1620 transition: all 0.2s ease;
1621 }
1622
1623 .mxchat-select-button:hover {
1624 background: #f0f7ff;
1625 }
1626
1627 .mxchat-select-button.selected {
1628 background: #0073aa;
1629 color: #fff;
1630 }
1631
1632 .mxchat-select-button .dashicons {
1633 font-size: 18px;
1634 width: 18px;
1635 height: 18px;
1636 transition: transform 0.2s ease;
1637 }
1638
1639 .mxchat-select-button.selected .dashicons {
1640 transform: scale(1.2);
1641 }
1642
1643 .delete-chats-button {
1644 display: flex !important;
1645 align-items: center;
1646 gap: 8px;
1647 background: #dc3232 !important;
1648 color: #fff !important;
1649 border: none !important;
1650 padding: 8px 16px !important;
1651 border-radius: 4px !important;
1652 cursor: pointer;
1653 transition: all 0.2s ease !important;
1654 }
1655
1656 .delete-chats-button:hover {
1657 background: #b32d2e !important;
1658 }
1659
1660 .delete-chats-button .dashicons {
1661 font-size: 18px;
1662 width: 18px;
1663 height: 18px;
1664 }
1665
1666 /* Transcript Grid */
1667 .mxchat-transcript {
1668 display: grid;
1669 grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
1670 gap: 20px;
1671 }
1672
1673 /* Session Cards */
1674 .mxchat-session {
1675 background: white;
1676 border-radius: 10px;
1677 box-shadow: 0 2px 4px rgba(0,0,0,0.1);
1678 overflow: hidden;
1679 border: 1px solid #dcdcde;
1680 display: flex;
1681 flex-direction: column;
1682 }
1683
1684 .mxchat-session-header {
1685 background: #f0f0f1;
1686 padding: 15px;
1687 border-bottom: 1px solid #dcdcde;
1688 }
1689
1690 .mxchat-messages {
1691 padding: 15px;
1692 max-height: 400px;
1693 overflow-y: auto;
1694 flex-grow: 1;
1695 overflow-x: hidden;
1696 }
1697
1698 /* Message Styling */
1699 .mxchat-message {
1700 margin-bottom: 15px;
1701 max-width: 85%;
1702 }
1703
1704 .mxchat-message.user-message {
1705 margin-left: auto;
1706 }
1707
1708 .mxchat-message-content {
1709 padding: 10px 15px;
1710 border-radius: 15px;
1711 margin: 5px 0;
1712 }
1713
1714 .user-message .mxchat-message-content {
1715 background: #0073aa;
1716 color: white;
1717 border-radius: 18px 0 18px 18px;
1718 }
1719
1720 .bot-message .mxchat-message-content {
1721 background: #f0f0f1;
1722 border-radius: 0 18px 18px;
1723 }
1724
1725 .mxchat-timestamp {
1726 font-size: 12px;
1727 color: #50575e;
1728 }
1729
1730 /* Responsive Design */
1731 @media (max-width: 782px) {
1732 .mxchat-controls-wrapper {
1733 flex-direction: column;
1734 align-items: stretch;
1735 }
1736
1737 .mxchat-controls {
1738 flex-direction: column;
1739 width: 100%;
1740 }
1741
1742 .mxchat-search-box input {
1743 width: 100%;
1744 }
1745
1746 .mxchat-transcript {
1747 grid-template-columns: 1fr;
1748 }
1749
1750 .mxchat-select-button,
1751 .delete-chats-button {
1752 width: 100%;
1753 justify-content: center;
1754 }
1755 }
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772 /* Form Table Layout */
1773 .form-table {
1774 border-collapse: separate;
1775 border-spacing: 0 20px;
1776 margin-top: -20px; /* Compensate for border-spacing */
1777 width: 100%;
1778 }
1779
1780 .form-table th {
1781 padding: 20px 10px 20px 0;
1782 width: 200px;
1783 vertical-align: top;
1784 font-weight: 600;
1785 color: #1d2327;
1786 }
1787
1788 .form-table td {
1789 padding: 15px 10px;
1790 vertical-align: top;
1791 }
1792
1793 /* Input Styling */
1794 .form-table input[type="text"],
1795 .form-table input[type="password"],
1796 .form-table textarea,
1797 .form-table select {
1798 width: 100%;
1799 max-width: 500px;
1800 padding: 8px 12px;
1801 border: 1px solid #dcdcde;
1802 border-radius: 4px;
1803 background-color: #fff;
1804 transition: all 0.2s ease;
1805 }
1806
1807 .form-table input[type="text"]:focus,
1808 .form-table input[type="password"]:focus,
1809 .form-table textarea:focus,
1810 .form-table select:focus {
1811 border-color: #2271b1;
1812 box-shadow: 0 0 0 1px #2271b1;
1813 outline: none;
1814 }
1815
1816 /* Range Input Styling */
1817 input[type="range"] {
1818 -webkit-appearance: none;
1819 width: 200px;
1820 height: 4px;
1821 background: #dcdcde;
1822 border-radius: 2px;
1823 vertical-align: middle;
1824 }
1825
1826 input[type="range"]::-webkit-slider-thumb {
1827 -webkit-appearance: none;
1828 height: 16px;
1829 width: 16px;
1830 border-radius: 50%;
1831 background: #2271b1;
1832 cursor: pointer;
1833 transition: all 0.2s ease;
1834 }
1835
1836 input[type="range"]::-webkit-slider-thumb:hover {
1837 transform: scale(1.1);
1838 }
1839
1840 #mxchat_threshold_value {
1841 display: inline-block;
1842 padding: 4px 8px;
1843 background: #2271b1;
1844 color: white;
1845 border-radius: 4px;
1846 margin-left: 10px;
1847 font-size: 12px;
1848 min-width: 30px;
1849 text-align: center;
1850 }
1851
1852 /* Toggle Switch */
1853 .toggle-switch {
1854 position: relative;
1855 display: inline-block;
1856 width: 50px;
1857 height: 24px;
1858 }
1859
1860 .toggle-switch input {
1861 opacity: 0;
1862 width: 0;
1863 height: 0;
1864 }
1865
1866 .slider {
1867 position: absolute;
1868 cursor: pointer;
1869 top: 0;
1870 left: 0;
1871 right: 0;
1872 bottom: 0;
1873 background-color: #ccc;
1874 transition: .4s;
1875 border-radius: 24px;
1876 }
1877
1878 .slider:before {
1879 position: absolute;
1880 content: "";
1881 height: 18px;
1882 width: 18px;
1883 left: 3px;
1884 bottom: 3px;
1885 background-color: white;
1886 transition: .4s;
1887 border-radius: 50%;
1888 }
1889
1890 input:checked + .slider {
1891 background-color: #2271b1;
1892 }
1893
1894 input:checked + .slider:before {
1895 transform: translateX(26px);
1896 }
1897
1898 /* Description Text */
1899 .description {
1900 margin-top: 8px;
1901 color: #646970;
1902 font-style: italic;
1903 font-size: 13px;
1904 }
1905
1906 /* Show/Hide Password Button */
1907 button[id^="toggleApiKey"],
1908 button[id^="toggleXaiKey"],
1909 button[id^="toggleClaudeKey"] {
1910 margin-left: 10px;
1911 padding: 4px 12px;
1912 background: #f0f0f1;
1913 border: 1px solid #c3c4c7;
1914 border-radius: 3px;
1915 cursor: pointer;
1916 transition: all 0.2s ease;
1917 }
1918
1919 button[id^="toggleApiKey"]:hover,
1920 button[id^="toggleXaiKey"]:hover,
1921 button[id^="toggleClaudeKey"]:hover {
1922 background: #e5e5e5;
1923 }
1924
1925 /* Additional Questions Section */
1926 .mxchat-question-row {
1927 display: flex;
1928 gap: 10px;
1929 margin-bottom: 10px;
1930 align-items: center;
1931 }
1932
1933 .mxchat-question-row input {
1934 flex: 1;
1935 }
1936
1937 .mxchat-remove-question,
1938 .mxchat-add-question {
1939 padding: 4px 12px !important;
1940 height: auto !important;
1941 }
1942
1943 .mxchat-remove-question {
1944 background: #dc3232 !important;
1945 color: white !important;
1946 border: none !important;
1947 }
1948
1949 .mxchat-add-question {
1950 background: #2271b1 !important;
1951 color: white !important;
1952 border: none !important;
1953 margin-top: 10px;
1954 }
1955
1956 /* Pro Feature Wrapper */
1957 .pro-feature-wrapper {
1958 position: relative;
1959 }
1960
1961 .pro-feature-wrapper.inactive {
1962 opacity: 0.7;
1963 }
1964
1965 /* Responsive Design */
1966 @media screen and (max-width: 782px) {
1967 .form-table td {
1968 padding-left: 0;
1969 }
1970
1971 .form-table input[type="text"],
1972 .form-table input[type="password"],
1973 .form-table textarea,
1974 .form-table select {
1975 max-width: 100%;
1976 }
1977
1978 .form-table th {
1979 padding-bottom: 5px;
1980 }
1981
1982 .mxchat-question-row {
1983 flex-direction: column;
1984 gap: 5px;
1985 }
1986
1987 input[type="range"] {
1988 width: 100%;
1989 max-width: 300px;
1990 }
1991 }
1992
1993 /* Section Headers */
1994 .mxchat-tab-content h2 {
1995 font-size: 1.5em;
1996 padding-bottom: 15px;
1997 margin-bottom: 25px;
1998 border-bottom: 2px solid #f0f0f1;
1999 color: #1d2327;
2000 }
2001
2002 /* Grouped Settings */
2003 .form-table tr:not(:last-child) {
2004 border-bottom: 1px solid #f0f0f1;
2005 }
2006
2007 /* Show/Hide Button - Universal Selector for all toggle buttons */
2008 button[id^="toggle"] {
2009 padding: 8px 16px;
2010 background: #f0f0f1;
2011 border: 1px solid #dcdcde;
2012 border-radius: 4px;
2013 cursor: pointer;
2014 color: #1d2327;
2015 font-size: 13px;
2016 font-weight: 500;
2017 transition: all 0.2s ease;
2018 white-space: nowrap;
2019 height: 36px;
2020 min-width: 80px;
2021 margin-left: 10px;
2022 }
2023
2024 /* Specific selectors for backward compatibility */
2025 button[id^="toggleApiKey"],
2026 button[id^="toggleXaiApiKey"],
2027 button[id^="toggleClaudeApiKey"],
2028 button[id^="toggleWooCommerceSecretVisibility"],
2029 button[id^="toggleBraveApiKeyVisibility"],
2030 button[id^="toggleLoopsApiKeyVisibility"],
2031 button[id^="toggleWebhookUrlVisibility"],
2032 button[id^="toggleSecretKeyVisibility"],
2033 button[id^="toggleBotTokenVisibility"] {
2034 padding: 8px 16px;
2035 background: #f0f0f1;
2036 border: 1px solid #dcdcde;
2037 border-radius: 4px;
2038 cursor: pointer;
2039 color: #1d2327;
2040 font-size: 13px;
2041 font-weight: 500;
2042 transition: all 0.2s ease;
2043 white-space: nowrap;
2044 height: 36px;
2045 min-width: 80px;
2046 margin-left: 10px;
2047 }
2048
2049 /* Hover state for all toggle buttons */
2050 button[id^="toggle"]:hover {
2051 background: #e5e5e5;
2052 border-color: #c3c4c7;
2053 }
2054
2055 /* Active state for all toggle buttons */
2056 button[id^="toggle"]:active {
2057 background: #dcdcde;
2058 border-color: #c3c4c7;
2059 transform: translateY(1px);
2060 }
2061
2062 /* Responsive Design */
2063 @media screen and (max-width: 782px) {
2064 .pro-feature-wrapper {
2065 flex-wrap: wrap;
2066 }
2067
2068 /* Make all toggle buttons full width on mobile */
2069 button[id^="toggle"] {
2070 width: 100%;
2071 margin-left: 0;
2072 margin-top: 10px;
2073 }
2074 .mxchat-remove-question {
2075 width: 100%;
2076 }
2077 }
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089 .mxchat-flex-section h2 {
2090 margin: 0 0 1rem;
2091 padding-bottom: 0.5rem;
2092 border-bottom: 1px solid #eee;
2093 }
2094
2095 .mxchat-sync-settings,
2096 .mxchat-import-section {
2097 flex: 1;
2098 }
2099
2100 .mxchat-toggle-group {
2101 display: flex;
2102 flex-direction: column;
2103 gap: 0.75rem;
2104 }
2105
2106 .mxchat-toggle-container {
2107 display: flex;
2108 align-items: center;
2109 gap: 0.75rem;
2110 }
2111
2112 .mxchat-toggle-switch {
2113 position: relative;
2114 display: inline-block;
2115 width: 44px;
2116 height: 22px;
2117 }
2118
2119 .mxchat-toggle-slider {
2120 position: absolute;
2121 cursor: pointer;
2122 top: 0;
2123 left: 0;
2124 right: 0;
2125 bottom: 0;
2126 background-color: #ccc;
2127 transition: .4s;
2128 border-radius: 22px;
2129 }
2130
2131 .mxchat-toggle-slider:before {
2132 position: absolute;
2133 content: "";
2134 height: 18px;
2135 width: 18px;
2136 left: 2px;
2137 bottom: 2px;
2138 background-color: white;
2139 transition: .4s;
2140 border-radius: 50%;
2141 }
2142
2143 input:checked + .mxchat-toggle-slider {
2144 background-color: #2196F3;
2145 }
2146
2147 input:checked + .mxchat-toggle-slider:before {
2148 transform: translateX(22px);
2149 }
2150
2151 .mxchat-url-input-group {
2152 display: flex;
2153 gap: 0.5rem;
2154 }
2155
2156 .mxchat-url-input-group input[type="url"] {
2157 flex: 1;
2158 }
2159
2160 .mxchat-status-section {
2161 margin-top: 1rem;
2162 padding-top: 1rem;
2163 border-top: 1px solid #eee;
2164 }
2165
2166 .mxchat-process-status {
2167 background: #f8f9fa;
2168 border-radius: 4px;
2169 padding: 1rem;
2170 margin-bottom: 1rem;
2171 }
2172
2173 .status-header {
2174 display: flex;
2175 justify-content: space-between;
2176 align-items: center;
2177 margin-bottom: 0.5rem;
2178 }
2179
2180 .status-header h4 {
2181 margin: 0;
2182 }
2183
2184 .progress-bar {
2185 background: #eee;
2186 border-radius: 4px;
2187 height: 8px;
2188 margin-bottom: 0.5rem;
2189 }
2190
2191 .progress {
2192 background: #2196F3;
2193 height: 100%;
2194 border-radius: 4px;
2195 transition: width 0.3s ease;
2196 }
2197
2198 .status-details {
2199 display: flex;
2200 justify-content: space-between;
2201 font-size: 0.9em;
2202 color: #666;
2203 }
2204
2205 .save-button-settings {
2206 background: #3498db !important;
2207 color: #fff !important;
2208 border-radius: 20px !important;
2209 padding: 0px 20px !important;
2210 font-size: 1rem !important;
2211 font-weight: 700 !important;
2212 text-decoration: none !important;
2213 transition: all .2s !important;
2214 box-shadow: 4px 4px #2980b9 !important;
2215 cursor: pointer !important;
2216 margin-top: 10px !important;
2217 border: none !important;
2218 margin-bottom: 10px !important;
2219 }
2220
2221 .mxchat-import-description {
2222 margin-bottom: 1rem;
2223 }
2224
2225 .description-text {
2226 margin: 0 0 0.5rem;
2227 color: #666;
2228 }
2229
2230 .import-options {
2231 margin: 0 0 1rem;
2232 padding-left: 1.5rem;
2233 }
2234
2235 .import-options li {
2236 margin-bottom: 0.25rem;
2237 color: #666;
2238 }
2239
2240 .import-options strong {
2241 color: #333;
2242 }
2243
2244 .import-section {
2245 margin-top: 50px;
2246 }
2247
2248
2249 /* Mobile Responsiveness */
2250 @media screen and (max-width: 782px) {
2251 .mxchat-settings-row {
2252 flex-direction: column;
2253 }
2254 .mxchat-url-input-group input[type="submit"] {
2255 width: 100%;
2256 }
2257 }
2258
2259
2260
2261
2262
2263 /* Feedback container for saving indicator */
2264 .feedback-container {
2265 display: inline-flex;
2266 align-items: right;
2267 margin-left: 10px;
2268 position: relative;
2269 z-index: 2;
2270 }
2271
2272 /* Spinner animation */
2273 .saving-spinner {
2274 width: 16px;
2275 height: 16px;
2276 border: 2px solid #ccc;
2277 border-top-color: #007cba; /* WordPress blue */
2278 border-radius: 50%;
2279 animation: spin 0.6s linear infinite;
2280 }
2281
2282 /* Checkmark icon */
2283 .success-icon {
2284 display: none;
2285 color: #28a745; /* Green for success */
2286 font-size: 16px;
2287 font-weight: bold;
2288 margin-left: 5px;
2289 animation: fadeInOut 1.5s ease-in-out forwards;
2290 }
2291
2292 /* Spinner animation keyframes */
2293 @keyframes spin {
2294 to {
2295 transform: rotate(360deg);
2296 }
2297 }
2298
2299 /* Success icon fade animation */
2300 @keyframes fadeInOut {
2301 0% {
2302 opacity: 0;
2303 }
2304 20% {
2305 opacity: 1;
2306 }
2307 80% {
2308 opacity: 1;
2309 }
2310 100% {
2311 opacity: 0;
2312 }
2313 }
2314
2315
2316 .slider-container {
2317 display: flex;
2318 align-items: center;
2319 gap: 10px;
2320 margin-bottom: 10px;
2321 }
2322
2323 .range-slider {
2324 flex-grow: 1;
2325 max-width: 300px;
2326 }
2327
2328 .range-value {
2329 min-width: 30px;
2330 text-align: center;
2331 }
2332
2333 /* Optional: Style the range input */
2334 input[type="range"] {
2335 -webkit-appearance: none;
2336 width: 100%;
2337 height: 8px;
2338 background: #ddd;
2339 border-radius: 4px;
2340 outline: none;
2341 }
2342
2343 input[type="range"]::-webkit-slider-thumb {
2344 -webkit-appearance: none;
2345 width: 16px;
2346 height: 16px;
2347 background: #2271b1;
2348 border-radius: 50%;
2349 cursor: pointer;
2350 }
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368 /* Container Styles */
2369 .mxchat-import-container {
2370 background: #fff;
2371 padding: 20px;
2372 border: 1px solid #e1e1e1;
2373 border-radius: 10px;
2374 box-shadow: 0 2px 4px rgba(0, 0, 0, .1);
2375 }
2376
2377
2378
2379 /* Tabs Navigation */
2380 .mxchat-tabs {
2381 display: flex;
2382 border-bottom: 2px solid #e1e1e1;
2383 margin-bottom: 20px;
2384 }
2385 .mxchat-tab-button {
2386 padding: 10px 20px;
2387 cursor: pointer;
2388 background: transparent;
2389 border: none;
2390 border-bottom: 2px solid transparent;
2391 transition: all 0.3s ease;
2392 font-size: 16px;
2393 color: #333;
2394 }
2395 .mxchat-tab-button:hover,
2396 .mxchat-tab-button:focus {
2397 background: #f9f9f9;
2398 }
2399 .mxchat-tab-button.active {
2400 border-bottom: 2px solid #0073aa;
2401 font-weight: bold;
2402 color: #0073aa;
2403 }
2404
2405
2406
2407 /* Flex Container for Default DB Tab */
2408 .mxchat-flex-container {
2409 display: flex;
2410 gap: 20px;
2411 flex-wrap: wrap;
2412 }
2413 .mxchat-sync-column,
2414 .mxchat-import-column {
2415 flex: 1;
2416 min-width: 300px;
2417 }
2418
2419 /* Section Headings and Descriptions */
2420 .mxchat-section h3 {
2421 font-size: 18px;
2422 margin-bottom: 10px;
2423 color: #0073aa;
2424 }
2425 .mxchat-description {
2426 font-size: 14px;
2427 margin-bottom: 15px;
2428 color: #555;
2429 }
2430
2431 /* Toggle Switches */
2432 .mxchat-toggle-container {
2433 display: flex;
2434 align-items: center;
2435 margin-bottom: 15px;
2436 }
2437 .mxchat-toggle-switch {
2438 position: relative;
2439 display: inline-block;
2440 width: 50px;
2441 height: 24px;
2442 margin-right: 10px;
2443 }
2444 .mxchat-toggle-switch input {
2445 opacity: 0;
2446 width: 0;
2447 height: 0;
2448 }
2449 .mxchat-toggle-slider {
2450 position: absolute;
2451 cursor: pointer;
2452 top: 0;
2453 left: 0;
2454 right: 0;
2455 bottom: 0;
2456 background-color: #ccc;
2457 transition: 0.4s;
2458 border-radius: 24px;
2459 }
2460 .mxchat-toggle-switch input:checked + .mxchat-toggle-slider {
2461 background-color: #212121;
2462 }
2463 .mxchat-toggle-slider:before {
2464 position: absolute;
2465 content: "";
2466 height: 18px;
2467 width: 18px;
2468 left: 3px;
2469 bottom: 3px;
2470 background-color: white;
2471 transition: 0.4s;
2472 border-radius: 50%;
2473 }
2474 .mxchat-toggle-switch input:checked + .mxchat-toggle-slider:before {
2475 transform: translateX(26px);
2476 }
2477 .mxchat-toggle-label {
2478 font-size: 14px;
2479 color: #333;
2480 }
2481
2482 /* Form Groups */
2483 .mxchat-form-group {
2484 margin-bottom: 15px;
2485 }
2486 .mxchat-form-group label {
2487 display: block;
2488 margin-bottom: 5px;
2489 font-weight: bold;
2490 color: #333;
2491 }
2492
2493 .mxchat-form-group .description {
2494 font-size: 12px;
2495 color: #777;
2496 }
2497
2498 /* URL and Pinecone Input Groups */
2499 .mxchat-url-input-group,
2500 .mxchat-pinecone-input-group {
2501 display: flex;
2502 gap: 0px;
2503 margin-bottom: 15px;
2504 }
2505 .mxchat-url-input-group input[type="url"],
2506 .mxchat-pinecone-input-group input[type="url"] {
2507 flex: 1;
2508 padding: 8px;
2509 border: 1px solid #ccc;
2510 border-radius: 4px 0px 0px 4px;
2511 }
2512 .mxchat-url-input-group input[type="submit"],
2513 .mxchat-pinecone-input-group input[type="submit"] {
2514 padding: 8px 16px;
2515 background-color: #0073aa;
2516 color: #fff;
2517 border: none;
2518 border-radius: 4px;
2519 cursor: pointer;
2520 transition: background-color 0.3s ease;
2521 }
2522 .mxchat-url-input-group input[type="submit"]:hover,
2523 .mxchat-pinecone-input-group input[type="submit"]:hover {
2524 background-color: #005177;
2525 }
2526
2527 /* Submit Wrapper */
2528 .mxchat-submit-wrapper {
2529 margin-top: 20px;
2530 }
2531
2532 /* Import & Pinecone Options List */
2533 .import-options,
2534 .pinecone-options {
2535 margin: 10px 0 15px 20px;
2536 color: #555;
2537 }
2538 .import-options li,
2539 .pinecone-options li {
2540 margin-bottom: 5px;
2541 }
2542
2543 /* Spinner Styles */
2544 .mxchat-spinner,
2545 .mxchat-pinecone-spinner {
2546 border: 4px solid #f3f3f3;
2547 border-top: 4px solid #0073aa;
2548 border-radius: 50%;
2549 width: 30px;
2550 height: 30px;
2551 animation: spin 1s linear infinite;
2552 margin: 10px auto;
2553 }
2554 @keyframes spin {
2555 0% { transform: rotate(0deg); }
2556 100% { transform: rotate(360deg); }
2557 }
2558
2559 /* Processing Status Messages */
2560 .mxchat-process-status,
2561 .mxchat-pinecone-status {
2562 border: 1px solid #0073aa;
2563 background-color: #f1f8ff;
2564 padding: 10px;
2565 border-radius: 4px;
2566 margin-top: 15px;
2567 }
2568 .mxchat-process-status h3,
2569 .mxchat-pinecone-status h3 {
2570 margin-top: 0;
2571 font-size: 16px;
2572 color: #0073aa;
2573 }
2574 .mxchat-process-status p,
2575 .mxchat-pinecone-status p {
2576 margin: 5px 0;
2577 font-size: 14px;
2578 color: #333;
2579 }
2580
2581 /* Responsive Adjustments */
2582 @media (max-width: 768px) {
2583 .mxchat-flex-container {
2584 flex-direction: column;
2585 }
2586 }
2587
2588
2589
2590 .button.button-primary.pinecone-submit {
2591 box-shadow: none;
2592 border-radius: 0px 4px 4px 0px;
2593 background: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1);
2594 margin-bottom: 0px;
2595 }
2596
2597 .button.button-primary.pinecone-submit:hover {
2598 opacity: .8;
2599 background: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1);
2600
2601 }
2602
2603 /* Pro Hero Section */
2604 body.wp-admin .mxchat-pro-hero {
2605 text-align: center;
2606 padding: 3.5rem 2rem;
2607 position: relative;
2608 background: #212121;
2609 border-bottom: 4px solid transparent;
2610 border-image: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1);
2611 border-image-slice: 1;
2612 }
2613
2614 body.wp-admin .mxchat-pro-hero::before {
2615 content: '';
2616 position: absolute;
2617 top: 0;
2618 left: 0;
2619 width: 100%;
2620 height: 100%;
2621 background: radial-gradient(
2622 circle at center,
2623 rgba(250, 115, 230, 0.08) 0%,
2624 rgba(120, 115, 245, 0.08) 50%,
2625 rgba(58, 201, 209, 0.08) 100%
2626 );
2627 z-index: 1;
2628 }
2629
2630 body.wp-admin .mxchat-pro-hero::after {
2631 content: '';
2632 position: absolute;
2633 bottom: -20px;
2634 left: 0;
2635 width: 100%;
2636 height: 20px;
2637 background: linear-gradient(180deg, rgba(33, 33, 33, 0.2) 0%, transparent 100%);
2638 z-index: 2;
2639 }
2640
2641 body.wp-admin .pro-title {
2642 font-size: 3.5rem;
2643 margin: 0 0 1.5rem;
2644 line-height: 1.2;
2645 color: white;
2646 position: relative;
2647 z-index: 2;
2648 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
2649 }
2650
2651 body.wp-admin .pro-gradient-text {
2652 font-weight: 700;
2653 background: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1);
2654 -webkit-background-clip: text;
2655 -webkit-text-fill-color: transparent;
2656 display: inline-block;
2657 }
2658
2659 body.wp-admin .pro-subtitle {
2660 font-size: 1.25rem;
2661 color: rgba(255, 255, 255, 0.9);
2662 max-width: 600px;
2663 margin: 0 auto;
2664 position: relative;
2665 z-index: 2;
2666 line-height: 1.6;
2667 }
2668
2669 /* Responsive Design */
2670 @media (max-width: 768px) {
2671 body.wp-admin .pro-title {
2672 font-size: 2.1rem;
2673 margin-bottom: 1rem;
2674 }
2675
2676 body.wp-admin .mxchat-pro-hero {
2677 padding: 2.5rem 1.5rem;
2678 }
2679
2680 body.wp-admin .pro-subtitle {
2681 font-size: 1.1rem;
2682 }
2683 }
2684
2685
2686 /* Form Container Styles */
2687 body.wp-admin .wrap.mxchat-admin-activation .mxchat-pro-form-container {
2688 max-width: 600px;
2689 margin: 2rem auto;
2690 background: white;
2691 padding: 2rem;
2692 border-radius: 12px;
2693 box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
2694 }
2695
2696 /* Form Table Styles */
2697 body.wp-admin .wrap.mxchat-admin-activation .mxchat-pro-form .form-table {
2698 margin: 0;
2699 border-collapse: separate;
2700 border-spacing: 0 1rem;
2701 }
2702
2703 body.wp-admin .wrap.mxchat-admin-activation .mxchat-pro-form .form-table th {
2704 padding: 0 1rem 0 0;
2705 width: 140px;
2706 font-weight: 600;
2707 color: #212121;
2708 font-size: 15px;
2709 vertical-align: middle;
2710 }
2711
2712 /* Input Field Styles */
2713 body.wp-admin .wrap.mxchat-admin-activation .mxchat-pro-input {
2714 width: 100%;
2715 padding: 10px 16px;
2716 border: 2px solid #e0e0e0;
2717 border-radius: 8px;
2718 font-size: 15px;
2719 transition: all 0.3s ease;
2720 box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02);
2721 }
2722
2723 body.wp-admin .wrap.mxchat-admin-activation .mxchat-pro-input:focus {
2724 border-color: #7873f5;
2725 box-shadow: 0 0 0 3px rgba(120, 115, 245, 0.1);
2726 outline: none;
2727 }
2728
2729 /* Button Container and Button Styles */
2730 body.wp-admin .wrap.mxchat-admin-activation .mxchat-pro-button-container {
2731 margin-top: 2rem;
2732 text-align: right;
2733 display: flex;
2734 align-items: center;
2735 justify-content: flex-end;
2736 gap: 1rem;
2737 }
2738
2739 body.wp-admin .wrap.mxchat-admin-activation .mxchat-pro-button {
2740 background: linear-gradient(135deg, #fa73e6, #7873f5);
2741 border: none;
2742 padding: 12px 24px;
2743 border-radius: 8px;
2744 color: white;
2745 font-weight: 600;
2746 font-size: 15px;
2747 cursor: pointer;
2748 transition: all 0.3s ease;
2749 text-shadow: none;
2750 box-shadow: 0 4px 12px rgba(120, 115, 245, 0.2);
2751 height: auto;
2752 line-height: 1.4;
2753 }
2754
2755 body.wp-admin .wrap.mxchat-admin-activation .mxchat-pro-button:hover {
2756 transform: translateY(-2px);
2757 box-shadow: 0 6px 16px rgba(120, 115, 245, 0.3);
2758 }
2759
2760 /* Error Notice Styles */
2761 body.wp-admin .wrap.mxchat-admin-activation .error.notice {
2762 margin: 2rem auto;
2763 max-width: 600px;
2764 border-left-color: #dc3232;
2765 background: #fff;
2766 border-radius: 4px;
2767 box-shadow: 0 2px 8px rgba(220, 50, 50, 0.1);
2768 }
2769
2770 /* License Status Styles */
2771 body.wp-admin .wrap.mxchat-admin-activation .mxchat-pro-status {
2772 max-width: 600px;
2773 margin: 2rem;
2774 padding: 1.5rem;
2775 background: white;
2776 border-radius: 12px;
2777 box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
2778 }
2779
2780 body.wp-admin .wrap.mxchat-admin-activation .mxchat-pro-status h3 {
2781 margin: 0;
2782 font-size: 15px;
2783 color: #212121;
2784 display: flex;
2785 align-items: center;
2786 gap: 0.5rem;
2787 }
2788
2789 body.wp-admin .wrap.mxchat-admin-activation .mxchat-status-badge {
2790 padding: 6px 12px;
2791 border-radius: 20px;
2792 font-size: 13px;
2793 font-weight: 600;
2794 }
2795
2796 body.wp-admin .wrap.mxchat-admin-activation .mxchat-status-badge.active {
2797 background: #e8f5e9;
2798 color: #2e7d32;
2799 }
2800
2801 body.wp-admin .wrap.mxchat-admin-activation .mxchat-status-badge.inactive {
2802 background: #fff3e0;
2803 color: #ef6c00;
2804 }
2805
2806 /* Spinner Styles */
2807 body.wp-admin .wrap.mxchat-admin-activation .mxchat-activation-spinner {
2808 width: 20px;
2809 height: 20px;
2810 border: 2px solid rgba(120, 115, 245, 0.3);
2811 border-radius: 50%;
2812 border-top-color: #7873f5;
2813 animation: spin 1s linear infinite;
2814 }
2815
2816 @keyframes spin {
2817 to {
2818 transform: rotate(360deg);
2819 }
2820 }
2821
2822 /* Responsive Adjustments */
2823 @media (max-width: 782px) {
2824 body.wp-admin .wrap.mxchat-admin-activation .mxchat-pro-form .form-table th {
2825 padding-bottom: 0.5rem;
2826 }
2827
2828 body.wp-admin .wrap.mxchat-admin-activation .form-table,
2829 body.wp-admin .wrap.mxchat-admin-activation .form-table tbody,
2830 body.wp-admin .wrap.mxchat-admin-activation .form-table tr,
2831 body.wp-admin .wrap.mxchat-admin-activation .form-table th,
2832 body.wp-admin .wrap.mxchat-admin-activation .form-table td {
2833 display: block;
2834 width: 100%;
2835 padding: 0;
2836 }
2837
2838 body.wp-admin .wrap.mxchat-admin-activation .form-table td {
2839 margin-bottom: 1.5rem;
2840 }
2841 }
2842
2843
2844 .video-tutorials-section {
2845 max-width: 1200px;
2846 margin: 0 auto;
2847 padding: 0;
2848 }
2849
2850 .section-intro {
2851 text-align: center;
2852 margin-bottom: 2rem;
2853 font-size: 1.1rem;
2854 }
2855
2856 .tutorial-grid {
2857 display: grid;
2858 grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
2859 gap: 2rem;
2860 margin-bottom: 3rem;
2861 }
2862
2863 .tutorial-item {
2864 border: 1px solid #e0e0e0;
2865 border-radius: 8px;
2866 padding: 1.5rem;
2867 box-shadow: 0 2px 5px rgba(0,0,0,0.05);
2868 transition: transform 0.3s ease, box-shadow 0.3s ease;
2869 background-color: #fff;
2870 }
2871
2872 .tutorial-item:hover {
2873 transform: translateY(-5px);
2874 box-shadow: 0 5px 15px rgba(0,0,0,0.1);
2875 }
2876
2877 .tutorial-item h3 {
2878 margin-top: 0;
2879 font-size: 1.2rem;
2880 color: #333;
2881 border-bottom: 2px solid #f0f0f0;
2882 padding-bottom: 0.75rem;
2883 margin-bottom: 1rem;
2884 }
2885
2886 .video-description p {
2887 margin-bottom: 1rem;
2888 color: #555;
2889 }
2890
2891 .video-description small {
2892 color: #888;
2893 font-style: italic;
2894 }
2895
2896 .video-link {
2897 display: inline-flex;
2898 align-items: center;
2899 text-decoration: none;
2900 color: #0073aa;
2901 font-weight: 500;
2902 margin-top: 0.5rem;
2903 padding: 0.5rem 1rem;
2904 border-radius: 4px;
2905 background-color: #f7f7f7;
2906 transition: background-color 0.2s ease;
2907 }
2908
2909 .video-link:hover {
2910 background-color: #e6f3fa;
2911 color: #004d74;
2912 }
2913
2914 .video-icon {
2915 margin-right: 0.5rem;
2916 display: inline-flex;
2917 color: #e62117;
2918 }
2919
2920 .support-section {
2921 margin-top: 3rem;
2922 padding-top: 2rem;
2923 border-top: 1px solid #e0e0e0;
2924 text-align: center;
2925 }
2926
2927 .support-content {
2928 max-width: 800px;
2929 margin: 0 auto;
2930 background-color: #f9f9f9;
2931 padding: 2rem;
2932 border-radius: 8px;
2933 }
2934
2935 .support-content p {
2936 margin-bottom: 1rem;
2937 font-size: 1.1rem;
2938 line-height: 1.6;
2939 }
2940
2941 .support-content a {
2942 color: #0073aa;
2943 font-weight: 500;
2944 text-decoration: none;
2945 padding: 0.2rem 0.4rem;
2946 border-radius: 3px;
2947 transition: background-color 0.2s;
2948 }
2949
2950 .support-content a:hover {
2951 background-color: #e6f3fa;
2952 text-decoration: underline;
2953 }
2954
2955 .api-info-item h4 {
2956 margin-top: 0;
2957 color: #333;
2958 margin-bottom: 1rem;
2959 }
2960
2961 @media (max-width: 768px) {
2962 .tutorial-grid {
2963 grid-template-columns: 1fr;
2964 }
2965
2966 .tutorial-item {
2967 padding: 1rem;
2968 }
2969
2970 .support-content {
2971 padding: 1.5rem;
2972 }
2973 }
2974
2975 /* Additional CSS for the main admin page */
2976
2977 /* Pro and Add-on notice messages */
2978 .mxchat-pro-notice,
2979 .mxchat-addon-notice {
2980 margin: 0;
2981 line-height: 1.6;
2982 color: #333;
2983 }
2984
2985 .mxchat-pro-notice a,
2986 .mxchat-addon-notice a {
2987 text-decoration: none;
2988 font-weight: 600;
2989 transition: color 0.2s ease;
2990 }
2991
2992 .mxchat-pro-notice a:hover,
2993 .mxchat-addon-notice a:hover {
2994 text-decoration: underline;
2995 color: #fff;
2996 }
2997
2998 /* Tutorial Grid & Items */
2999 .tutorial-grid {
3000 display: grid;
3001 grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
3002 gap: 24px;
3003 margin-top: 20px;
3004 }
3005
3006 .tutorial-item {
3007 background: #f8f9ff;
3008 border-radius: 12px;
3009 padding: 24px;
3010 transition: all 0.3s ease;
3011 border: 1px solid rgba(120, 115, 245, 0.1);
3012 }
3013
3014 .tutorial-item:hover {
3015 transform: translateY(-3px);
3016 box-shadow: 0 6px 20px rgba(120, 115, 245, 0.12);
3017 }
3018
3019 .tutorial-item h3 {
3020 margin-top: 0;
3021 margin-bottom: 16px;
3022 color: #333;
3023 font-size: 1.2rem;
3024 }
3025
3026 .video-description p {
3027 color: #666;
3028 font-size: 0.95rem;
3029 margin-bottom: 16px;
3030 }
3031
3032 .video-description small {
3033 color: #888;
3034 font-size: 0.85rem;
3035 font-style: italic;
3036 }
3037
3038 .video-link {
3039 display: inline-flex;
3040 align-items: center;
3041 gap: 8px;
3042 padding: 8px 16px;
3043 background: white;
3044 border-radius: 8px;
3045 text-decoration: none;
3046 color: #7873f5;
3047 font-weight: 600;
3048 font-size: 0.9rem;
3049 border: 1px solid rgba(120, 115, 245, 0.2);
3050 transition: all 0.2s ease;
3051 }
3052
3053 .video-link:hover {
3054 background: #eef0ff;
3055 color: #fa73e6;
3056 }
3057
3058 .video-icon {
3059 display: flex;
3060 align-items: center;
3061 justify-content: center;
3062 }
3063
3064 /* Support Section */
3065 .support-section {
3066 margin-top: 40px;
3067 padding: 24px;
3068 background: #f8f9ff;
3069 border-radius: 12px;
3070 border: 1px solid rgba(120, 115, 245, 0.1);
3071 }
3072
3073 .support-section h3 {
3074 margin-top: 0;
3075 color: #333;
3076 }
3077
3078 .support-content p {
3079 color: #666;
3080 margin-bottom: 12px;
3081 }
3082
3083 .support-content a {
3084 color: #7873f5;
3085 text-decoration: none;
3086 font-weight: 600;
3087 }
3088
3089 .support-content a:hover {
3090 color: #fa73e6;
3091 text-decoration: underline;
3092 }
3093
3094 /* Updated tab navigation */
3095 .mxchat-tabs {
3096 display: flex;
3097 gap: 2px;
3098 margin-bottom: 20px;
3099 border-bottom: 1px solid rgba(120, 115, 245, 0.1);
3100 }
3101
3102 .mxchat-tab-button {
3103 padding: 12px 24px;
3104 background: none;
3105 border: none;
3106 border-bottom: 2px solid transparent;
3107 color: #666;
3108 cursor: pointer;
3109 font-size: 14px;
3110 transition: all 0.2s ease;
3111 }
3112
3113 .mxchat-tab-button:hover {
3114 color: #7873f5;
3115 }
3116
3117 .mxchat-tab-button.active {
3118 color: #7873f5;
3119 border-bottom-color: #7873f5;
3120 }
3121
3122 /* Tab content */
3123 .mxchat-tab-content {
3124 display: none;
3125 }
3126
3127 .mxchat-tab-content.active {
3128 display: block;
3129 }
3130
3131
3132
3133
3134 /* Pro Notification Styling */
3135 .mxchat-pro-card {
3136 background: linear-gradient(90deg, #f8f9ff 0%, #f0f4ff 100%);
3137 border-left: 4px solid #6366f1;
3138 border-radius: 8px;
3139 box-shadow: 0 2px 10px rgba(99, 102, 241, 0.1);
3140 margin-bottom: 25px;
3141 overflow: hidden;
3142 }
3143
3144 .mxchat-pro-notification {
3145 display: flex;
3146 flex-direction: row;
3147 align-items: center;
3148 justify-content: space-between;
3149 padding: 20px 24px;
3150 }
3151
3152 @media (max-width: 768px) {
3153 .mxchat-pro-notification {
3154 flex-direction: column;
3155 text-align: center;
3156 gap: 15px;
3157 }
3158 }
3159
3160 .mxchat-pro-content {
3161 flex: 1;
3162 padding-right: 10px;
3163 }
3164
3165 .mxchat-pro-content h3 {
3166 margin-top: 0;
3167 margin-bottom: 8px;
3168 font-size: 18px;
3169 color: #4338ca;
3170 font-weight: 600;
3171 }
3172
3173 .mxchat-pro-content p {
3174 margin: 0;
3175 color: #4b5563;
3176 font-size: 14px;
3177 line-height: 1.5;
3178 }
3179
3180 .mxchat-pro-cta {
3181 display: flex;
3182 flex-direction: column;
3183 gap: 8px;
3184 min-width: 180px;
3185 }
3186
3187 .mxchat-button {
3188 display: inline-block;
3189 background: linear-gradient(90deg, #6366f1 0%, #8b5cf6 100%);
3190 color: white !important;
3191 font-weight: 600;
3192 padding: 10px 20px;
3193 border-radius: 6px;
3194 text-decoration: none !important;
3195 text-align: center;
3196 transition: all 0.2s ease;
3197 box-shadow: 0 2px 6px rgba(99, 102, 241, 0.3);
3198 }
3199
3200 .mxchat-button:hover {
3201 transform: translateY(-2px);
3202 box-shadow: 0 4px 12px rgba(99, 102, 241, 0.4);
3203 }
3204
3205 .mxchat-link {
3206 color: #6366f1 !important;
3207 text-decoration: none !important;
3208 text-align: center;
3209 font-size: 14px;
3210 padding: 4px;
3211 }
3212
3213 .mxchat-link:hover {
3214 text-decoration: underline !important;
3215 }
3216
3217
3218
3219
3220
3221
3222
3223 /* API Key field styles */
3224 .api-key-wrapper {
3225 margin-bottom: 15px;
3226 padding: 15px;
3227 border-radius: 5px;
3228 border-left: 4px solid #2271b1;
3229 background-color: #f0f6fc;
3230 transition: all 0.3s ease;
3231 position: relative;
3232 }
3233
3234 /* API Key save indicator positioning */
3235 .api-key-wrapper .feedback-container {
3236 position: relative;
3237 display: inline-flex;
3238 vertical-align: middle;
3239 margin-left: 10px;
3240 right: auto;
3241 top: auto;
3242 transform: none;
3243 }
3244
3245 /* Generic field wrapper for save indicator positioning */
3246 .mxchat-field-wrapper {
3247 position: relative;
3248 display: inline-block;
3249 }
3250
3251 .mxchat-field-wrapper .feedback-container {
3252 position: relative;
3253 display: inline-flex;
3254 vertical-align: middle;
3255 margin-left: 10px;
3256 right: auto;
3257 top: auto;
3258 transform: none;
3259 }
3260
3261 /* Row-level visibility handling */
3262 tr.mxchat-setting-row {
3263 display: table-row;
3264 transition: all 0.3s ease;
3265 }
3266
3267 tr.mxchat-setting-row.highlighted {
3268 animation: highlight-row 1.5s ease;
3269 }
3270
3271 .api-key-wrapper input[type="password"] {
3272 margin-right: 10px;
3273 }
3274
3275 .api-key-wrapper button {
3276 background: #f6f7f7;
3277 border: 1px solid #c3c4c7;
3278 color: #50575e;
3279 cursor: pointer;
3280 border-radius: 3px;
3281 padding: 0 10px;
3282 height: 30px;
3283 line-height: 28px;
3284 font-size: 13px;
3285 }
3286
3287 .api-key-wrapper button:hover {
3288 background: #f0f0f1;
3289 }
3290
3291 .api-key-notice {
3292 margin-top: 8px !important;
3293 color: #1e1e1e;
3294 font-style: italic;
3295 }
3296
3297 @keyframes highlight-field {
3298 0% {
3299 background-color: #e5f5fa;
3300 }
3301 50% {
3302 background-color: #c7e8f3;
3303 }
3304 100% {
3305 background-color: #f0f6fc;
3306 }
3307 }
3308
3309 @keyframes highlight-row {
3310 0% { background-color: transparent; }
3311 50% { background-color: #e5f5fa; }
3312 100% { background-color: transparent; }
3313 }
3314
3315 /* Customize the look based on provider */
3316 .api-key-wrapper[data-provider="openai"] {
3317 border-left-color: #10a37f;
3318 }
3319
3320 .api-key-wrapper[data-provider="xai"] {
3321 border-left-color: #0077e6;
3322 }
3323
3324 .api-key-wrapper[data-provider="claude"] {
3325 border-left-color: #a065d5;
3326 }
3327
3328 .api-key-wrapper[data-provider="deepseek"] {
3329 border-left-color: #3b7fc4;
3330 }
3331
3332 .api-key-wrapper[data-provider="voyage"] {
3333 border-left-color: #ff6b00;
3334 }
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351 /* Add-on styling */
3352 .mxchat-addon-badge {
3353 display: inline-block;
3354 background: linear-gradient(135deg, #FF8C00, #FFA500);
3355 color: white;
3356 font-size: 10px;
3357 padding: 2px 6px;
3358 border-radius: 10px;
3359 margin-top: 5px;
3360 font-weight: 600;
3361 margin-left: 6px;
3362 }
3363
3364 .mxchat-addon-info {
3365 font-size: 11px;
3366 color: #666;
3367 margin-top: 8px;
3368 background: rgba(255, 140, 0, 0.1);
3369 padding: 4px 8px;
3370 border-radius: 4px;
3371 display: inline-block;
3372 }
3373
3374 .mxchat-action-type-card.not-installed {
3375 opacity: 0.8;
3376 border-style: dashed;
3377 background: rgba(255, 255, 255, 0.8);
3378 }
3379
3380 .mxchat-action-type-card.not-installed:hover {
3381 opacity: 1;
3382 border-color: #FF8C00;
3383 box-shadow: 0 4px 12px rgba(255, 140, 0, 0.1);
3384 }
3385
3386 .mxchat-action-type-card.mxchat-promo-card {
3387 cursor: default;
3388 opacity: 0.7;
3389 border-style: dashed;
3390 background: rgba(255, 255, 255, 0.6);
3391 }
3392
3393 .mxchat-action-type-card.mxchat-promo-card:hover {
3394 cursor: pointer;
3395 opacity: 0.9;
3396 border-color: #FF8C00;
3397 }
3398
3399 .mxchat-addon-info a {
3400 color: #FF8C00;
3401 text-decoration: none;
3402 font-weight: 600;
3403 }
3404
3405 .mxchat-addon-info a:hover {
3406 text-decoration: underline;
3407 }
3408
3409 /* Add-on Notice */
3410 .mxchat-addon-notice {
3411 position: fixed;
3412 top: 0;
3413 left: 0;
3414 width: 100%;
3415 height: 100%;
3416 background: rgba(0, 0, 0, 0.5);
3417 z-index: 100003;
3418 display: flex;
3419 align-items: center;
3420 justify-content: center;
3421 opacity: 0;
3422 visibility: hidden;
3423 transition: opacity 0.3s ease, visibility 0.3s ease;
3424 }
3425
3426 .mxchat-addon-notice.active {
3427 opacity: 1;
3428 visibility: visible;
3429 }
3430
3431 .mxchat-addon-notice-content {
3432 background: white;
3433 padding: 30px;
3434 border-radius: 16px;
3435 max-width: 400px;
3436 text-align: center;
3437 box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2);
3438 transform: translateY(-20px);
3439 transition: transform 0.3s ease;
3440 }
3441
3442 .mxchat-addon-notice.active .mxchat-addon-notice-content {
3443 transform: translateY(0);
3444 }
3445
3446 .mxchat-addon-notice-icon {
3447 font-size: 36px;
3448 margin-bottom: 15px;
3449 display: block;
3450 }
3451
3452 .mxchat-addon-notice h3 {
3453 margin: 0 0 10px 0;
3454 font-size: 20px;
3455 background: linear-gradient(135deg, #FF8C00, #FFA500);
3456 -webkit-background-clip: text;
3457 background-clip: text;
3458 -webkit-text-fill-color: transparent;
3459 display: inline-block;
3460 }
3461
3462 .mxchat-addon-notice p {
3463 margin: 0 0 20px 0;
3464 color: #666;
3465 }
3466
3467 .mxchat-addon-notice-buttons {
3468 display: flex;
3469 gap: 10px;
3470 justify-content: center;
3471 }
3472
3473
3474
3475
3476
3477 /* CSS for the custom post types accordion */
3478 .mxchat-settings-accordion {
3479 margin: 15px 0;
3480 border-radius: 4px;
3481 overflow: hidden;
3482 border: 1px solid #e0e0e5;
3483 }
3484
3485 .mxchat-accordion-header {
3486 border-bottom: none;
3487 }
3488
3489 .mxchat-accordion-button {
3490 background-color: #f7f7f9;
3491 border: none;
3492 color: #444;
3493 cursor: pointer;
3494 font-size: 15px;
3495 font-weight: 500;
3496 padding: 14px 20px;
3497 text-align: left;
3498 transition: all 0.2s ease;
3499 width: 100%;
3500 display: flex;
3501 justify-content: space-between;
3502 align-items: center;
3503 outline: none;
3504 }
3505
3506 .mxchat-accordion-button:hover {
3507 background-color: #f0f0f5;
3508 }
3509
3510 .mxchat-accordion-icon {
3511 font-size: 12px;
3512 color: #666;
3513 transition: transform 0.3s ease;
3514 }
3515
3516 .mxchat-accordion-content {
3517 border-top: 1px solid #e0e0e5;
3518 transition: all 0.3s ease;
3519 }
3520
3521 .mxchat-accordion-inner {
3522 padding: 16px 20px;
3523 background-color: #fff;
3524 }
3525
3526 /* Make the custom post types look nicer */
3527 .mxchat-custom-post-types {
3528 display: grid;
3529 grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
3530 gap: 10px;
3531 margin-top: 10px;
3532 }
3533
3534 .mxchat-description {
3535 margin-bottom: 15px;
3536 color: #666;
3537 }
3538
3539 .mxchat-empty-notice {
3540 color: #888;
3541 font-style: italic;
3542 }
3543
3544
3545
3546 /* Model Selector Button Styles */
3547 .mxchat-model-selector-wrapper {
3548 width: 100%;
3549 position: relative;
3550 }
3551
3552 .mxchat-model-selector-display {
3553 display: flex;
3554 justify-content: space-between;
3555 align-items: center;
3556 padding: 8px 12px;
3557 background-color: #fff;
3558 border: 1px solid #8c8f94;
3559 border-radius: 4px;
3560 cursor: pointer;
3561 min-height: 30px;
3562 line-height: 1.4;
3563 box-sizing: border-box;
3564 transition: border-color 0.2s;
3565 }
3566
3567 .mxchat-model-selector-display:hover {
3568 border-color: #2271b1;
3569 }
3570
3571 .mxchat-model-selected-name {
3572 white-space: nowrap;
3573 overflow: hidden;
3574 text-overflow: ellipsis;
3575 flex: 1;
3576 }
3577
3578 .mxchat-model-selector-arrow {
3579 margin-left: 8px;
3580 font-size: 10px;
3581 color: #555;
3582 }
3583
3584 /* Provider-specific border colors */
3585 .mxchat-model-provider-gemini {
3586 border-left: 3px solid #4285F4;
3587 }
3588
3589 .mxchat-model-provider-openai {
3590 border-left: 3px solid #10A37F;
3591 }
3592
3593 .mxchat-model-provider-claude {
3594 border-left: 3px solid #965de9;
3595 }
3596
3597 .mxchat-model-provider-xai {
3598 border-left: 3px solid #000000;
3599 }
3600
3601 .mxchat-model-provider-deepseek {
3602 border-left: 3px solid #0066cc;
3603 }
3604
3605 /* Modal Styles */
3606 .mxchat-model-selector-modal {
3607 display: none;
3608 position: fixed;
3609 z-index: 9999;
3610 left: 0;
3611 top: 0;
3612 width: 100%;
3613 height: 100%;
3614 overflow: auto;
3615 background-color: rgba(0, 0, 0, 0.5);
3616 }
3617
3618 .mxchat-model-selector-modal .mxchat-model-selector-modal-content {
3619 background-color: #fff;
3620 margin: 5% auto;
3621 border-radius: 8px;
3622 box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
3623 width: 80%;
3624 max-width: 800px;
3625 animation: mxchatModalFade 0.3s;
3626 }
3627
3628 @keyframes mxchatModalFade {
3629 from {opacity: 0; transform: translateY(-20px);}
3630 to {opacity: 1; transform: translateY(0);}
3631 }
3632
3633 .mxchat-model-selector-modal .mxchat-model-selector-modal-header {
3634 display: flex;
3635 justify-content: space-between;
3636 align-items: center;
3637 padding: 16px 24px;
3638 border-bottom: 1px solid #eee;
3639 }
3640
3641 .mxchat-model-selector-modal .mxchat-model-selector-modal-header h3 {
3642 margin: 0;
3643 color: #6750A4;
3644 font-size: 20px;
3645 }
3646
3647 .mxchat-model-selector-modal .mxchat-model-selector-modal-close {
3648 font-size: 24px;
3649 cursor: pointer;
3650 color: #888;
3651 }
3652
3653 .mxchat-model-selector-modal .mxchat-model-selector-modal-close:hover {
3654 color: #333;
3655 }
3656
3657 .mxchat-model-selector-modal .mxchat-model-selector-modal-body {
3658 padding: 24px;
3659 max-height: 60vh;
3660 overflow-y: auto;
3661 }
3662
3663 .mxchat-model-selector-modal .mxchat-model-selector-modal-footer {
3664 padding: 16px 24px;
3665 border-top: 1px solid #eee;
3666 text-align: right;
3667 }
3668
3669 /* Search and Category Styles */
3670 .mxchat-model-selector-modal .mxchat-model-selector-search-container {
3671 margin-bottom: 20px;
3672 }
3673
3674 .mxchat-model-selector-modal .mxchat-model-search-input {
3675 width: 100%;
3676 padding: 10px 15px;
3677 border: 1px solid #ddd;
3678 border-radius: 4px;
3679 font-size: 16px;
3680 }
3681
3682 .mxchat-model-selector-modal .mxchat-model-selector-categories {
3683 display: flex;
3684 flex-wrap: wrap;
3685 gap: 8px;
3686 margin-bottom: 20px;
3687 }
3688
3689 .mxchat-model-selector-modal .mxchat-model-category-btn {
3690 background-color: #f5f5f5;
3691 border: 1px solid #ddd;
3692 padding: 8px 16px;
3693 border-radius: 20px;
3694 cursor: pointer;
3695 transition: all 0.2s;
3696 }
3697
3698 .mxchat-model-selector-modal .mxchat-model-category-btn.active {
3699 background-color: #6750A4;
3700 color: white;
3701 border-color: #6750A4;
3702 }
3703
3704 /* Model Grid Styles */
3705 .mxchat-model-selector-modal .mxchat-model-selector-grid {
3706 display: grid;
3707 grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
3708 gap: 16px;
3709 }
3710
3711 .mxchat-model-selector-modal .mxchat-model-selector-card,
3712 .mxchat-model-selector-modal .mxchat-openrouter-card {
3713 display: flex;
3714 border: 1px solid #ddd;
3715 border-radius: 8px;
3716 padding: 16px;
3717 cursor: pointer;
3718 transition: all 0.2s;
3719 position: relative;
3720 }
3721
3722 .mxchat-model-selector-modal .mxchat-model-selector-card:hover,
3723 .mxchat-model-selector-modal .mxchat-openrouter-card:hover {
3724 border-color: #6750A4;
3725 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
3726 }
3727
3728 .mxchat-model-selector-modal .mxchat-model-selector-card.mxchat-model-selected,
3729 .mxchat-model-selector-modal .mxchat-openrouter-card.mxchat-model-selected {
3730 border-color: #6750A4;
3731 background-color: rgba(103, 80, 164, 0.05);
3732 }
3733
3734 /* Provider-specific styles for cards */
3735 .mxchat-model-selector-modal .mxchat-model-selector-card.mxchat-model-provider-gemini {
3736 border-left: 4px solid #4285F4;
3737 }
3738
3739 .mxchat-model-selector-modal .mxchat-model-selector-card.mxchat-model-provider-openai {
3740 border-left: 4px solid #10A37F;
3741 }
3742
3743 .mxchat-model-selector-modal .mxchat-model-selector-card.mxchat-model-provider-claude {
3744 border-left: 4px solid #965de9;
3745 }
3746
3747 .mxchat-model-selector-modal .mxchat-model-selector-card.mxchat-model-provider-xai {
3748 border-left: 4px solid #000000;
3749 }
3750
3751 .mxchat-model-selector-modal .mxchat-model-selector-card.mxchat-model-provider-deepseek {
3752 border-left: 4px solid #0066cc;
3753 }
3754
3755 .mxchat-model-selector-modal .mxchat-model-selector-icon {
3756 margin-right: 12px;
3757 font-size: 24px;
3758 display: flex;
3759 align-items: center;
3760 width: 25px;
3761 height: 45px;
3762 }
3763
3764 .mxchat-model-selector-modal .mxchat-model-icon-gemini {
3765 color: #4285F4;
3766 }
3767
3768 .mxchat-model-selector-modal .mxchat-model-icon-openai {
3769 color: #10A37F;
3770 }
3771
3772 .mxchat-model-selector-modal .mxchat-model-icon-claude {
3773 color: #965de9;
3774 }
3775
3776 .mxchat-model-selector-modal .mxchat-model-icon-xai {
3777 color: #000000;
3778 }
3779
3780 .mxchat-model-selector-modal .mxchat-model-icon-deepseek {
3781 color: #0066cc;
3782 }
3783
3784 .mxchat-model-selector-modal .mxchat-model-selector-info {
3785 flex: 1;
3786 }
3787
3788 .mxchat-model-selector-modal .mxchat-model-selector-title {
3789 margin: 0 0 6px 0;
3790 font-size: 16px;
3791 }
3792
3793 .mxchat-model-selector-modal .mxchat-model-selector-description {
3794 margin: 0;
3795 font-size: 14px;
3796 color: #666;
3797 }
3798
3799 .mxchat-model-selector-modal .mxchat-model-selector-checkmark {
3800 position: absolute;
3801 top: 8px;
3802 right: 8px;
3803 width: 20px;
3804 height: 20px;
3805 background-color: #6750A4;
3806 color: white;
3807 border-radius: 50%;
3808 display: flex;
3809 align-items: center;
3810 justify-content: center;
3811 font-size: 12px;
3812 }
3813
3814 /* Media queries for responsive design */
3815 @media screen and (max-width: 782px) {
3816 .mxchat-model-selector-modal .mxchat-model-selector-modal-content {
3817 width: 95%;
3818 margin: 10% auto;
3819 }
3820
3821 .mxchat-model-selector-modal .mxchat-model-selector-grid {
3822 grid-template-columns: 1fr;
3823 }
3824
3825 .mxchat-model-selector-modal .mxchat-model-selector-categories {
3826 overflow-x: auto;
3827 padding-bottom: 10px;
3828 }
3829 }
3830
3831
3832 /* Improved styling for the model selector button */
3833 #mxchat_model_selector_btn.mxchat-model-selector-btn {
3834 width: 100%;
3835 max-width: 400px;
3836 text-align: left;
3837 padding: 8px 12px;
3838 height: auto;
3839 min-height: 36px;
3840 background-color: #fff;
3841 color: #2c3338;
3842 border: 1px solid #8c8f94;
3843 border-radius: 4px;
3844 box-shadow: 0 1px 2px rgba(0, 0, 0, 0.07);
3845 position: relative;
3846 font-weight: normal;
3847 transition: all 0.2s ease;
3848 display: flex;
3849 align-items: center;
3850 justify-content: space-between;
3851 }
3852
3853 #mxchat_model_selector_btn.mxchat-model-selector-btn:after {
3854 content: "\f140";
3855 font-family: dashicons;
3856 position: absolute;
3857 right: 10px;
3858 font-size: 20px;
3859 color: #666;
3860 }
3861
3862 #mxchat_model_selector_btn.mxchat-model-selector-btn:hover {
3863 border-color: #2271b1;
3864 color: #2271b1;
3865 }
3866
3867 #mxchat_model_selector_btn.mxchat-model-selector-btn:focus {
3868 box-shadow: 0 0 0 1px #2271b1;
3869 outline: none;
3870 }
3871
3872 /* Embedding Model Selector - completely separate styling to avoid conflicts */
3873 .mxchat-embedding-model-selector-btn {
3874 width: 100%;
3875 max-width: 400px;
3876 text-align: left;
3877 padding: 8px 12px;
3878 height: auto;
3879 min-height: 36px;
3880 background-color: #fff;
3881 color: #2c3338;
3882 border: 1px solid #8c8f94;
3883 border-radius: 4px;
3884 box-shadow: 0 1px 2px rgba(0, 0, 0, 0.07);
3885 position: relative;
3886 font-weight: normal;
3887 transition: all 0.2s ease;
3888 display: flex;
3889 align-items: center;
3890 justify-content: space-between;
3891 }
3892
3893 .mxchat-embedding-model-selector-btn:after {
3894 content: "\f140";
3895 font-family: dashicons;
3896 position: absolute;
3897 right: 10px;
3898 font-size: 20px;
3899 color: #666;
3900 }
3901
3902 .mxchat-embedding-model-selector-btn:hover {
3903 border-color: #2271b1;
3904 color: #2271b1;
3905 }
3906
3907 .mxchat-embedding-model-selector-btn:focus {
3908 box-shadow: 0 0 0 1px #2271b1;
3909 outline: none;
3910 }
3911
3912 /* Modal Styles */
3913 .mxchat-embedding-model-selector-modal {
3914 display: none;
3915 position: fixed;
3916 z-index: 9999;
3917 left: 0;
3918 top: 0;
3919 width: 100%;
3920 height: 100%;
3921 overflow: auto;
3922 background-color: rgba(0, 0, 0, 0.5);
3923 }
3924
3925 .mxchat-embedding-model-selector-modal-content {
3926 background-color: #fff;
3927 margin: 5% auto;
3928 border-radius: 8px;
3929 box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
3930 width: 80%;
3931 max-width: 800px;
3932 animation: mxchatEmbeddingModalFade 0.3s;
3933 }
3934
3935 @keyframes mxchatEmbeddingModalFade {
3936 from {opacity: 0; transform: translateY(-20px);}
3937 to {opacity: 1; transform: translateY(0);}
3938 }
3939
3940 .mxchat-embedding-model-selector-modal-header {
3941 display: flex;
3942 justify-content: space-between;
3943 align-items: center;
3944 padding: 16px 24px;
3945 border-bottom: 1px solid #eee;
3946 }
3947
3948 .mxchat-embedding-model-selector-modal-header h3 {
3949 margin: 0;
3950 color: #6750A4;
3951 font-size: 20px;
3952 }
3953
3954 .mxchat-embedding-model-selector-modal-close {
3955 font-size: 24px;
3956 cursor: pointer;
3957 color: #888;
3958 }
3959
3960 .mxchat-embedding-model-selector-modal-close:hover {
3961 color: #333;
3962 }
3963
3964 .mxchat-embedding-model-selector-modal-body {
3965 padding: 24px;
3966 max-height: 60vh;
3967 overflow-y: auto;
3968 }
3969
3970 .mxchat-embedding-model-selector-modal-footer {
3971 padding: 16px 24px;
3972 border-top: 1px solid #eee;
3973 text-align: right;
3974 }
3975
3976 /* Search and Category Styles */
3977 .mxchat-embedding-model-selector-search-container {
3978 margin-bottom: 20px;
3979 }
3980
3981 .mxchat-embedding-model-search-input {
3982 width: 100%;
3983 padding: 10px 15px;
3984 border: 1px solid #ddd;
3985 border-radius: 4px;
3986 font-size: 16px;
3987 }
3988
3989 .mxchat-embedding-model-selector-categories {
3990 display: flex;
3991 flex-wrap: wrap;
3992 gap: 8px;
3993 margin-bottom: 20px;
3994 }
3995
3996 .mxchat-embedding-model-category-btn {
3997 background-color: #f5f5f5;
3998 border: 1px solid #ddd;
3999 padding: 8px 16px;
4000 border-radius: 20px;
4001 cursor: pointer;
4002 transition: all 0.2s;
4003 }
4004
4005 .mxchat-embedding-model-category-btn.active {
4006 background-color: #6750A4;
4007 color: white;
4008 border-color: #6750A4;
4009 }
4010
4011 /* Model Grid Styles */
4012 .mxchat-embedding-model-selector-grid {
4013 display: grid;
4014 grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
4015 gap: 16px;
4016 }
4017
4018 .mxchat-embedding-model-selector-card {
4019 display: flex;
4020 border: 1px solid #ddd;
4021 border-radius: 8px;
4022 padding: 16px;
4023 cursor: pointer;
4024 transition: all 0.2s;
4025 position: relative;
4026 }
4027
4028 .mxchat-embedding-model-selector-card:hover {
4029 border-color: #6750A4;
4030 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
4031 }
4032
4033 .mxchat-embedding-model-selector-card.mxchat-embedding-model-selected {
4034 border-color: #6750A4;
4035 background-color: rgba(103, 80, 164, 0.05);
4036 }
4037
4038 /* Provider-specific styles */
4039 .mxchat-embedding-model-provider-openai {
4040 border-left: 4px solid #10A37F;
4041 }
4042
4043 .mxchat-embedding-model-provider-voyage {
4044 border-left: 4px solid #0055D4;
4045 }
4046
4047 /* Provider-specific border color for Gemini */
4048 .mxchat-embedding-model-provider-gemini {
4049 border-left: 4px solid #4285F4;
4050 }
4051
4052 /* Icon color for Gemini */
4053 .mxchat-embedding-model-icon-gemini {
4054 color: #4285F4;
4055 }
4056
4057 .mxchat-embedding-model-selector-icon {
4058 margin-right: 12px;
4059 font-size: 24px;
4060 display: flex;
4061 align-items: center;
4062 width: 25px;
4063 height: 45px;
4064 }
4065
4066 .mxchat-embedding-model-icon-openai {
4067 color: #10A37F;
4068 }
4069
4070 .mxchat-embedding-model-icon-voyage {
4071 color: #0055D4;
4072 }
4073
4074 .mxchat-embedding-model-selector-info {
4075 flex: 1;
4076 }
4077
4078 .mxchat-embedding-model-selector-title {
4079 margin: 0 0 6px 0;
4080 font-size: 16px;
4081 }
4082
4083 .mxchat-embedding-model-selector-description {
4084 margin: 0;
4085 font-size: 14px;
4086 color: #666;
4087 }
4088
4089 .mxchat-embedding-model-selector-checkmark {
4090 position: absolute;
4091 top: 8px;
4092 right: 8px;
4093 width: 20px;
4094 height: 20px;
4095 background-color: #6750A4;
4096 color: white;
4097 border-radius: 50%;
4098 display: flex;
4099 align-items: center;
4100 justify-content: center;
4101 font-size: 12px;
4102 }
4103
4104 /* Media queries for responsive design */
4105 @media screen and (max-width: 782px) {
4106 .mxchat-embedding-model-selector-modal-content {
4107 width: 95%;
4108 margin: 10% auto;
4109 }
4110
4111 .mxchat-embedding-model-selector-grid {
4112 grid-template-columns: 1fr;
4113 }
4114
4115 .mxchat-embedding-model-selector-categories {
4116 overflow-x: auto;
4117 padding-bottom: 10px;
4118 }
4119 }
4120
4121
4122 /* Embedding Model Selector Button Styles */
4123 #mxchat_embedding_model_selector_btn.mxchat-embedding-model-selector-btn {
4124 width: 100%;
4125 max-width: 400px;
4126 text-align: left;
4127 padding: 8px 12px;
4128 height: auto;
4129 min-height: 36px;
4130 background-color: #fff;
4131 color: #2c3338;
4132 border: 1px solid #8c8f94;
4133 border-radius: 4px;
4134 box-shadow: 0 1px 2px rgba(0, 0, 0, 0.07);
4135 position: relative;
4136 font-weight: normal;
4137 transition: all 0.2s ease;
4138 display: flex;
4139 align-items: center;
4140 justify-content: space-between;
4141 }
4142
4143 #mxchat_embedding_model_selector_btn.mxchat-embedding-model-selector-btn:after {
4144 content: "\f140";
4145 font-family: dashicons;
4146 position: absolute;
4147 right: 10px;
4148 font-size: 20px;
4149 color: #666;
4150 }
4151
4152 #mxchat_embedding_model_selector_btn.mxchat-embedding-model-selector-btn:hover {
4153 border-color: #2271b1;
4154 color: #2271b1;
4155 }
4156
4157 #mxchat_embedding_model_selector_btn.mxchat-embedding-model-selector-btn:focus {
4158 box-shadow: 0 0 0 1px #2271b1;
4159 outline: none;
4160 }
4161
4162 .mxchat-failed-urls-container {
4163 margin-top: 15px;
4164 border-top: 1px solid rgba(0, 0, 0, 0.1);
4165 padding-top: 10px;
4166 }
4167
4168 .mxchat-failed-urls-container h4 {
4169 margin: 0 0 8px 0;
4170 font-size: 14px;
4171 color: #d63638;
4172 }
4173
4174 .mxchat-failed-urls-container details {
4175 margin-bottom: 10px;
4176 }
4177
4178 .mxchat-failed-urls-container summary {
4179 cursor: pointer;
4180 font-weight: 500;
4181 padding: 5px 0;
4182 color: #3c434a;
4183 }
4184
4185 .mxchat-failed-urls-container summary:hover {
4186 color: #2271b1;
4187 }
4188
4189 .mxchat-failed-urls-list {
4190 margin-top: 10px;
4191 max-height: 300px;
4192 overflow-y: auto;
4193 border: 1px solid #dcdcde;
4194 border-radius: 4px;
4195 background: #f8f9fa;
4196 }
4197
4198 .mxchat-failed-url-item {
4199 padding: 8px 12px;
4200 border-bottom: 1px solid #dcdcde;
4201 display: grid;
4202 grid-template-columns: 1fr;
4203 grid-gap: 6px;
4204 font-size: 12px;
4205 }
4206
4207 .mxchat-failed-url-item:last-child {
4208 border-bottom: none;
4209 }
4210
4211 .mxchat-failed-url-address {
4212 font-weight: 500;
4213 word-break: break-all;
4214 }
4215
4216 .mxchat-failed-url-address a {
4217 color: #2271b1;
4218 text-decoration: none;
4219 }
4220
4221 .mxchat-failed-url-address a:hover {
4222 text-decoration: underline;
4223 }
4224
4225 .mxchat-failed-url-error {
4226 color: #d63638;
4227 }
4228
4229 .mxchat-failed-url-time {
4230 color: #50575e;
4231 font-style: italic;
4232 font-size: 11px;
4233 }
4234
4235 .mxchat-failed-urls-more {
4236 text-align: center;
4237 padding: 8px;
4238 background: #f0f0f1;
4239 border-top: 1px solid #dcdcde;
4240 color: #50575e;
4241 font-style: italic;
4242 font-size: 12px;
4243 }
4244
4245 /* Responsive design for larger screens */
4246 @media screen and (min-width: 783px) {
4247 .mxchat-failed-url-item {
4248 grid-template-columns: 2fr 3fr 1fr;
4249 align-items: center;
4250 }
4251 }
4252
4253
4254 /* Style for addon-managed option group */
4255 .addon-managed-optgroup {
4256 color: #888 !important;
4257 font-style: italic;
4258 background: #f5f5f5;
4259 }
4260
4261 /* Selected text style */
4262 select option:disabled {
4263 color: #888;
4264 font-style: italic;
4265 }
4266
4267 .mxchat-rate-limits-container {
4268 max-width: 900px;
4269 }
4270 .mxchat-rate-limit-row {
4271 display: flex;
4272 flex-wrap: wrap;
4273 align-items: flex-start;
4274 margin-bottom: 20px;
4275 padding: 20px;
4276 background: #fff;
4277 border-radius: 8px;
4278 border: 1px solid #e0e0e0;
4279 box-shadow: 0 2px 4px rgba(0,0,0,0.04);
4280 transition: all 0.2s ease;
4281 }
4282 .mxchat-rate-limit-row:hover {
4283 box-shadow: 0 4px 8px rgba(0,0,0,0.08);
4284 border-color: #c7c7c7;
4285 }
4286 .mxchat-rate-limit-role {
4287 width: 160px;
4288 font-weight: 600;
4289 font-size: 15px;
4290 margin-right: 20px;
4291 padding-top: 4px;
4292 color: #23282d;
4293 }
4294 .mxchat-rate-limit-controls-wrapper {
4295 flex: 1;
4296 }
4297 .mxchat-rate-limit-controls {
4298 display: flex;
4299 flex-wrap: wrap;
4300 gap: 15px;
4301 align-items: center;
4302 margin-bottom: 15px;
4303 }
4304 .mxchat-rate-limit-controls > div {
4305 margin-bottom: 5px;
4306 }
4307 .mxchat-rate-limit-controls label {
4308 display: block;
4309 margin-bottom: 5px;
4310 font-weight: 500;
4311 color: #50575e;
4312 }
4313 .mxchat-rate-limit-message {
4314 width: 100%;
4315 margin-top: 15px;
4316 }
4317 .mxchat-rate-limit-message label {
4318 display: block;
4319 margin-bottom: 5px;
4320 font-weight: 500;
4321 color: #50575e;
4322 }
4323 .mxchat-rate-limit-message textarea {
4324 width: 100%;
4325 min-height: 70px;
4326 padding: 8px 12px;
4327 border-radius: 4px;
4328 resize: vertical;
4329 font-size: 14px;
4330 }
4331 .mxchat-rate-limit-controls select {
4332 min-width: 120px;
4333 padding: 6px 24px 6px 10px;
4334 }
4335 @media (max-width: 782px) {
4336 .mxchat-rate-limit-row {
4337 flex-direction: column;
4338 }
4339 .mxchat-rate-limit-role {
4340 margin-bottom: 15px;
4341 width: 100%;
4342 font-size: 16px;
4343 }
4344 .mxchat-rate-limit-controls {
4345 flex-direction: column;
4346 align-items: flex-start;
4347 gap: 12px;
4348 }
4349 .mxchat-rate-limit-controls > div {
4350 width: 100%;
4351 }
4352 .mxchat-rate-limit-controls select {
4353 width: 100%;
4354 }
4355 }
4356
4357 /* Support notification styles */
4358 .support-notification {
4359 background: linear-gradient(135deg, #fff3cd 0%, #ffeaa7 100%);
4360 border: 2px solid #f39c12;
4361 border-radius: 12px;
4362 padding: 20px;
4363 margin-bottom: 25px;
4364 display: flex;
4365 align-items: flex-start;
4366 gap: 15px;
4367 box-shadow: 0 4px 12px rgba(243, 156, 18, 0.15);
4368 position: relative;
4369 overflow: hidden;
4370 }
4371
4372 .support-notification::before {
4373 content: '';
4374 position: absolute;
4375 top: 0;
4376 left: 0;
4377 right: 0;
4378 height: 4px;
4379 background: linear-gradient(90deg, #f39c12, #e67e22, #f39c12);
4380 background-size: 200% 100%;
4381 animation: shimmer 2s ease-in-out infinite;
4382 }
4383
4384 @keyframes shimmer {
4385 0% { background-position: -200% 0; }
4386 100% { background-position: 200% 0; }
4387 }
4388
4389 .support-notification-icon {
4390 flex-shrink: 0;
4391 width: 24px;
4392 height: 24px;
4393 color: #e67e22;
4394 margin-top: 2px;
4395 }
4396
4397 .support-notification-content {
4398 flex: 1;
4399 }
4400
4401 .support-notification-title {
4402 font-size: 18px;
4403 font-weight: 600;
4404 color: #8b4513;
4405 margin: 0 0 8px 0;
4406 display: flex;
4407 align-items: center;
4408 gap: 8px;
4409 }
4410
4411 .support-notification-message {
4412 font-size: 15px;
4413 color: #8b4513;
4414 margin: 0 0 15px 0;
4415 line-height: 1.5;
4416 }
4417
4418 .support-notification-button {
4419 display: inline-flex;
4420 align-items: center;
4421 gap: 8px;
4422 background: linear-gradient(135deg, #e67e22 0%, #d35400 100%);
4423 color: white;
4424 padding: 12px 20px;
4425 border-radius: 8px;
4426 text-decoration: none;
4427 font-weight: 600;
4428 font-size: 14px;
4429 transition: all 0.3s ease;
4430 border: none;
4431 cursor: pointer;
4432 box-shadow: 0 2px 8px rgba(230, 126, 34, 0.3);
4433 }
4434
4435 .support-notification-button:hover {
4436 background: linear-gradient(135deg, #d35400 0%, #c0392b 100%);
4437 transform: translateY(-2px);
4438 box-shadow: 0 4px 12px rgba(230, 126, 34, 0.4);
4439 color: white;
4440 text-decoration: none;
4441 }
4442
4443 .support-notification-button:active {
4444 transform: translateY(0);
4445 }
4446
4447 .support-notification-button svg {
4448 width: 16px;
4449 height: 16px;
4450 }
4451
4452 /* Responsive design */
4453 @media (max-width: 768px) {
4454 .support-notification {
4455 padding: 16px;
4456 gap: 12px;
4457 }
4458
4459 .support-notification-title {
4460 font-size: 16px;
4461 }
4462
4463 .support-notification-message {
4464 font-size: 14px;
4465 }
4466
4467 .support-notification-button {
4468 padding: 10px 16px;
4469 font-size: 13px;
4470 }
4471 }
4472 /* Sample instructions button styles */
4473 .mxchat-instructions-container {
4474 margin-top: 8px;
4475 }
4476
4477 .mxchat-instructions-btn {
4478 display: inline-flex;
4479 align-items: center;
4480 gap: 6px;
4481 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
4482 color: white;
4483 padding: 8px 14px;
4484 border: none;
4485 border-radius: 6px;
4486 font-size: 13px;
4487 font-weight: 500;
4488 cursor: pointer;
4489 transition: all 0.3s ease;
4490 text-decoration: none;
4491 box-shadow: 0 2px 4px rgba(102, 126, 234, 0.2);
4492 }
4493
4494 .mxchat-instructions-btn:hover {
4495 background: linear-gradient(135deg, #5a67d8 0%, #6b46c1 100%);
4496 transform: translateY(-1px);
4497 box-shadow: 0 4px 8px rgba(102, 126, 234, 0.3);
4498 }
4499
4500 .mxchat-instructions-btn:active {
4501 transform: translateY(0);
4502 }
4503
4504 .mxchat-instructions-btn svg {
4505 width: 14px;
4506 height: 14px;
4507 }
4508
4509 /* Modal styles - Positioned relative to viewport */
4510 .mxchat-instructions-modal-overlay {
4511 display: none;
4512 position: fixed;
4513 top: 0;
4514 left: 0;
4515 width: 100%;
4516 height: 100%;
4517 background: rgba(0, 0, 0, 0.6);
4518 z-index: 999999;
4519 }
4520
4521 .mxchat-instructions-modal-overlay.mxchat-instructions-show {
4522 display: flex;
4523 align-items: center;
4524 justify-content: center;
4525 padding: 20px;
4526 }
4527
4528 .mxchat-instructions-modal-content {
4529 background: white;
4530 border-radius: 12px;
4531 max-width: 700px;
4532 width: 100%;
4533 max-height: 90vh;
4534 overflow: hidden;
4535 box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
4536 }
4537
4538 .mxchat-instructions-modal-header {
4539 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
4540 color: white;
4541 padding: 20px 24px;
4542 display: flex;
4543 align-items: center;
4544 justify-content: space-between;
4545 }
4546
4547 .mxchat-instructions-modal-title {
4548 font-size: 18px;
4549 font-weight: 600;
4550 margin: 0;
4551 display: flex;
4552 align-items: center;
4553 gap: 10px;
4554 }
4555
4556 .mxchat-instructions-modal-close {
4557 background: rgba(255, 255, 255, 0.2);
4558 border: none;
4559 color: white;
4560 width: 32px;
4561 height: 32px;
4562 border-radius: 6px;
4563 cursor: pointer;
4564 display: flex;
4565 align-items: center;
4566 justify-content: center;
4567 transition: background 0.2s ease;
4568 }
4569
4570 .mxchat-instructions-modal-close:hover {
4571 background: rgba(255, 255, 255, 0.3);
4572 }
4573
4574 .mxchat-instructions-modal-body {
4575 padding: 24px;
4576 overflow-y: auto;
4577 max-height: calc(90vh - 140px);
4578 }
4579
4580 .mxchat-instructions-content {
4581 background: #f8fafc;
4582 border: 2px solid #e2e8f0;
4583 border-radius: 8px;
4584 padding: 20px;
4585 font-family: 'Courier New', Monaco, monospace;
4586 font-size: 13px;
4587 line-height: 1.6;
4588 color: #2d3748;
4589 white-space: pre-wrap;
4590 word-wrap: break-word;
4591 }
4592
4593 .mxchat-instructions-copy-btn {
4594 margin-top: 16px;
4595 background: #48bb78;
4596 color: white;
4597 border: none;
4598 padding: 10px 16px;
4599 border-radius: 6px;
4600 font-size: 14px;
4601 font-weight: 500;
4602 cursor: pointer;
4603 display: inline-flex;
4604 align-items: center;
4605 gap: 8px;
4606 transition: all 0.2s ease;
4607 }
4608
4609 .mxchat-instructions-copy-btn:hover {
4610 background: #38a169;
4611 transform: translateY(-1px);
4612 }
4613
4614 .mxchat-instructions-copy-btn svg {
4615 width: 16px;
4616 height: 16px;
4617 }
4618
4619 .mxchat-instructions-modal-footer {
4620 padding: 16px 24px;
4621 background: #f7fafc;
4622 border-top: 1px solid #e2e8f0;
4623 text-align: right;
4624 }
4625
4626 .mxchat-instructions-btn-secondary {
4627 background: #e2e8f0;
4628 color: #4a5568;
4629 border: none;
4630 padding: 8px 16px;
4631 border-radius: 6px;
4632 font-size: 14px;
4633 cursor: pointer;
4634 transition: background 0.2s ease;
4635 }
4636
4637 .mxchat-instructions-btn-secondary:hover {
4638 background: #cbd5e0;
4639 }
4640
4641 /* Responsive design */
4642 @media (max-width: 782px) {
4643 .mxchat-instructions-modal-overlay.mxchat-instructions-show {
4644 padding: 10px;
4645 }
4646
4647 .mxchat-instructions-modal-content {
4648 max-height: 95vh;
4649 }
4650
4651 .mxchat-instructions-modal-header {
4652 padding: 16px 20px;
4653 }
4654
4655 .mxchat-instructions-modal-body {
4656 padding: 20px;
4657 max-height: calc(95vh - 120px);
4658 }
4659
4660 .mxchat-instructions-content {
4661 font-size: 12px;
4662 padding: 16px;
4663 }
4664 }
4665
4666
4667
4668
4669
4670 /* Completion Card - Modern Theme */
4671 .mxchat-completion-card {
4672 margin: 20px 0;
4673 background: #ffffff;
4674 border-radius: 12px;
4675 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08), 0 4px 16px rgba(0, 0, 0, 0.06);
4676 overflow: hidden;
4677 transition: all 0.3s ease;
4678 border: 1px solid rgba(0, 0, 0, 0.06);
4679 }
4680
4681 .mxchat-completion-card:hover {
4682 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1), 0 6px 20px rgba(0, 0, 0, 0.08);
4683 }
4684
4685 /* Header Section */
4686 .mxchat-completion-header {
4687 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
4688 padding: 24px;
4689 display: flex;
4690 align-items: center;
4691 gap: 16px;
4692 }
4693
4694 .mxchat-completion-icon {
4695 width: 48px;
4696 height: 48px;
4697 background: rgba(255, 255, 255, 0.2);
4698 border-radius: 12px;
4699 display: flex;
4700 align-items: center;
4701 justify-content: center;
4702 flex-shrink: 0;
4703 }
4704
4705 .mxchat-completion-icon svg {
4706 color: #ffffff;
4707 width: 28px;
4708 height: 28px;
4709 }
4710
4711 .mxchat-completion-title h3 {
4712 margin: 0;
4713 color: #ffffff;
4714 font-size: 20px;
4715 font-weight: 600;
4716 letter-spacing: -0.02em;
4717 }
4718
4719 .mxchat-completion-time {
4720 margin: 4px 0 0 0;
4721 color: rgba(255, 255, 255, 0.8);
4722 font-size: 14px;
4723 }
4724
4725 /* Summary Section */
4726 .mxchat-completion-summary {
4727 padding: 24px;
4728 border-bottom: 1px solid #f0f0f1;
4729 }
4730
4731 .mxchat-completion-summary h4 {
4732 margin: 0 0 16px 0;
4733 color: #1d2327;
4734 font-size: 16px;
4735 font-weight: 600;
4736 }
4737
4738 .mxchat-summary-stats {
4739 display: grid;
4740 grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
4741 gap: 12px;
4742 }
4743
4744 .mxchat-stat-card {
4745 padding: 20px;
4746 border-radius: 12px;
4747 display: flex;
4748 align-items: center;
4749 gap: 16px;
4750 transition: all 0.2s ease;
4751 }
4752
4753 .mxchat-stat-card:hover {
4754 transform: translateY(-2px);
4755 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
4756 }
4757
4758 .mxchat-stat-card .stat-icon {
4759 font-size: 32px;
4760 line-height: 1;
4761 opacity: 0.9;
4762 }
4763
4764 .mxchat-stat-card .stat-content {
4765 flex: 1;
4766 text-align: left;
4767 }
4768
4769 .mxchat-stat-label {
4770 display: block;
4771 font-size: 12px;
4772 color: #646970;
4773 font-weight: 500;
4774 text-transform: uppercase;
4775 letter-spacing: 0.5px;
4776 margin-bottom: 4px;
4777 }
4778
4779 .mxchat-stat-value {
4780 display: block;
4781 font-size: 28px;
4782 font-weight: 700;
4783 color: #1d2327;
4784 line-height: 1.2;
4785 }
4786
4787 .mxchat-stat-sublabel {
4788 display: block;
4789 font-size: 11px;
4790 color: #8c8f94;
4791 margin-top: 4px;
4792 }
4793
4794 /* Stat Card Variants */
4795 .mxchat-stat-primary {
4796 background: linear-gradient(135deg, #f6f7f7 0%, #ffffff 100%);
4797 border: 1px solid #e5e7eb;
4798 }
4799
4800 .mxchat-stat-accent {
4801 border: 1px solid #e9d5ff;
4802 }
4803
4804 .mxchat-stat-accent .stat-value {
4805 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
4806 -webkit-background-clip: text;
4807 -webkit-text-fill-color: transparent;
4808 background-clip: text;
4809 }
4810
4811 .mxchat-stat-success {
4812 background: #e6f5e6;
4813 }
4814
4815 .mxchat-stat-success .mxchat-stat-value {
4816 color: #00a32a;
4817 }
4818
4819 .mxchat-stat-failed {
4820 background: #fef1f1;
4821 }
4822
4823 .mxchat-stat-failed .mxchat-stat-value {
4824 color: #d63638;
4825 }
4826
4827 /* Metrics Dashboard */
4828 .mxchat-metrics-dashboard {
4829 background: #ffffff;
4830 border-radius: 16px;
4831 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
4832 margin-bottom: 24px;
4833 overflow: hidden;
4834 }
4835
4836 .mxchat-metrics-tabs {
4837 display: flex;
4838 gap: 0;
4839 background: #f6f7f7;
4840 border-bottom: 1px solid #e5e7eb;
4841 padding: 0;
4842 }
4843
4844 .mxchat-metrics-tab {
4845 flex: 1;
4846 display: flex;
4847 align-items: center;
4848 justify-content: center;
4849 gap: 8px;
4850 padding: 16px 24px;
4851 background: transparent;
4852 border: none;
4853 border-bottom: 3px solid transparent;
4854 cursor: pointer;
4855 font-size: 14px;
4856 font-weight: 500;
4857 color: #646970;
4858 transition: all 0.2s ease;
4859 position: relative;
4860 }
4861
4862 .mxchat-metrics-tab:hover {
4863 background: rgba(255, 255, 255, 0.5);
4864 color: #1d2327;
4865 }
4866
4867 .mxchat-metrics-tab.active {
4868 background: #ffffff;
4869 color: #1d2327;
4870 border-bottom-color: #667eea;
4871 }
4872
4873 .mxchat-metrics-tab .tab-icon {
4874 font-size: 18px;
4875 line-height: 1;
4876 }
4877
4878 .mxchat-metrics-tab .tab-label {
4879 font-weight: 600;
4880 }
4881
4882 .mxchat-metrics-content {
4883 position: relative;
4884 }
4885
4886 .mxchat-metrics-panel {
4887 display: none;
4888 padding: 24px;
4889 animation: mxchat-fadeIn 0.3s ease;
4890 }
4891
4892 .mxchat-metrics-panel.active {
4893 display: block;
4894 }
4895
4896 @keyframes mxchat-fadeIn {
4897 from {
4898 opacity: 0;
4899 transform: translateY(10px);
4900 }
4901 to {
4902 opacity: 1;
4903 transform: translateY(0);
4904 }
4905 }
4906
4907 /* Activity Layout */
4908 .mxchat-activity-layout {
4909 display: grid;
4910 gap: 24px;
4911 }
4912
4913 .mxchat-activity-stats {
4914 display: grid;
4915 grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
4916 gap: 16px;
4917 }
4918
4919 /* Chart Container */
4920 .mxchat-chart-container {
4921 background: #f9fafb;
4922 border-radius: 12px;
4923 padding: 24px;
4924 border: 1px solid #e5e7eb;
4925 }
4926
4927 .mxchat-chart-title {
4928 margin: 0 0 20px 0;
4929 font-size: 16px;
4930 font-weight: 600;
4931 color: #1d2327;
4932 display: flex;
4933 align-items: center;
4934 gap: 8px;
4935 }
4936
4937 #mxchat-activity-chart {
4938 max-height: 300px;
4939 width: 100% !important;
4940 height: auto !important;
4941 }
4942
4943 /* Insights Grid */
4944 .mxchat-insights-grid {
4945 display: grid;
4946 grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
4947 gap: 20px;
4948 }
4949
4950 .mxchat-insight-card {
4951 background: linear-gradient(135deg, #ffffff 0%, #f9fafb 100%);
4952 border: 1px solid #e5e7eb;
4953 border-radius: 12px;
4954 padding: 20px;
4955 transition: all 0.2s ease;
4956 }
4957
4958 .mxchat-insight-card:hover {
4959 transform: translateY(-2px);
4960 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
4961 border-color: #d1d5db;
4962 }
4963
4964 .insight-header {
4965 display: flex;
4966 align-items: center;
4967 gap: 12px;
4968 margin-bottom: 16px;
4969 padding-bottom: 12px;
4970 border-bottom: 1px solid #e5e7eb;
4971 }
4972
4973 .insight-icon {
4974 font-size: 24px;
4975 line-height: 1;
4976 }
4977
4978 .insight-header h3 {
4979 margin: 0;
4980 font-size: 14px;
4981 font-weight: 600;
4982 color: #374151;
4983 text-transform: uppercase;
4984 letter-spacing: 0.5px;
4985 }
4986
4987 .insight-content {
4988 text-align: left;
4989 }
4990
4991 .insight-value {
4992 font-size: 32px;
4993 font-weight: 700;
4994 color: #1d2327;
4995 margin-bottom: 8px;
4996 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
4997 -webkit-background-clip: text;
4998 -webkit-text-fill-color: transparent;
4999 background-clip: text;
5000 padding-bottom: 4px; /* Prevent gradient text clipping */
5001 }
5002
5003 .insight-description {
5004 font-size: 12px;
5005 color: #374151;
5006 line-height: 1.5;
5007 }
5008
5009 .insight-breakdown {
5010 display: flex;
5011 flex-direction: column;
5012 gap: 12px;
5013 }
5014
5015 .breakdown-item {
5016 display: flex;
5017 justify-content: space-between;
5018 align-items: center;
5019 padding: 10px 12px;
5020 background: #f9fafb;
5021 border-radius: 6px;
5022 border: 1px solid #e5e7eb;
5023 }
5024
5025 .breakdown-label {
5026 font-size: 13px;
5027 color: #6b7280;
5028 font-weight: 500;
5029 }
5030
5031 .breakdown-value {
5032 font-size: 16px;
5033 font-weight: 700;
5034 color: #1d2327;
5035 }
5036
5037 /* Status Badges */
5038 .insight-status {
5039 display: flex;
5040 align-items: center;
5041 }
5042
5043 /* Reset gradient text styling for status badges */
5044 .insight-value.insight-status {
5045 background: none;
5046 -webkit-background-clip: unset;
5047 -webkit-text-fill-color: unset;
5048 background-clip: unset;
5049 }
5050
5051 .status-badge {
5052 display: inline-block;
5053 padding: 6px 12px;
5054 border-radius: 20px;
5055 font-size: 13px;
5056 font-weight: 600;
5057 text-transform: uppercase;
5058 letter-spacing: 0.5px;
5059 }
5060
5061 .status-active {
5062 background: linear-gradient(135deg, #10b981 0%, #059669 100%);
5063 color: #ffffff !important;
5064 -webkit-text-fill-color: #ffffff !important;
5065 }
5066
5067 .status-moderate {
5068 background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
5069 color: #ffffff !important;
5070 -webkit-text-fill-color: #ffffff !important;
5071 }
5072
5073 .status-quiet {
5074 background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);
5075 color: #ffffff !important;
5076 -webkit-text-fill-color: #ffffff !important;
5077 }
5078
5079 /* Responsive Design */
5080 @media (max-width: 768px) {
5081 .mxchat-metrics-tabs {
5082 flex-direction: column;
5083 }
5084
5085 .mxchat-metrics-tab {
5086 border-bottom: none;
5087 border-left: 3px solid transparent;
5088 }
5089
5090 .mxchat-metrics-tab.active {
5091 border-bottom: none;
5092 border-left-color: #667eea;
5093 }
5094
5095 .mxchat-activity-stats,
5096 .mxchat-insights-grid {
5097 grid-template-columns: 1fr;
5098 }
5099
5100 .mxchat-stats-grid {
5101 grid-template-columns: 1fr;
5102 }
5103 }
5104
5105 /* Failed URLs Section */
5106 .mxchat-failed-urls-section {
5107 padding: 24px;
5108 background: #fafafa;
5109 border-top: 1px solid #f0f0f1;
5110 }
5111
5112 .mxchat-failed-urls-section h4 {
5113 margin: 0 0 16px 0;
5114 color: #d63638;
5115 font-size: 16px;
5116 font-weight: 600;
5117 display: flex;
5118 align-items: center;
5119 gap: 8px;
5120 }
5121
5122 .mxchat-icon-warning {
5123 flex-shrink: 0;
5124 }
5125
5126 .mxchat-failed-urls-table-wrapper {
5127 max-height: 300px;
5128 overflow-y: auto;
5129 background: #ffffff;
5130 border-radius: 8px;
5131 border: 1px solid #e0e0e0;
5132 }
5133
5134 .mxchat-failed-urls-table {
5135 width: 100%;
5136 border-collapse: collapse;
5137 }
5138
5139 .mxchat-failed-urls-table thead {
5140 position: sticky;
5141 top: 0;
5142 background: #f6f7f7;
5143 z-index: 1;
5144 }
5145
5146 .mxchat-failed-urls-table th {
5147 text-align: left;
5148 padding: 12px 16px;
5149 font-weight: 600;
5150 font-size: 13px;
5151 color: #1d2327;
5152 text-transform: uppercase;
5153 letter-spacing: 0.5px;
5154 border-bottom: 2px solid #e0e0e0;
5155 }
5156
5157 .mxchat-failed-urls-table tbody tr {
5158 transition: background-color 0.2s ease;
5159 }
5160
5161 .mxchat-failed-urls-table tbody tr:hover {
5162 background-color: #f6f7f7;
5163 }
5164
5165 .mxchat-failed-urls-table td {
5166 padding: 12px 16px;
5167 border-bottom: 1px solid #f0f0f1;
5168 font-size: 14px;
5169 }
5170
5171 .mxchat-url-cell {
5172 word-break: break-all;
5173 }
5174
5175 .mxchat-url-cell a {
5176 color: #667eea;
5177 text-decoration: none;
5178 transition: color 0.2s ease;
5179 }
5180
5181 .mxchat-url-cell a:hover {
5182 color: #764ba2;
5183 text-decoration: underline;
5184 }
5185
5186 .mxchat-error-cell {
5187 color: #d63638;
5188 }
5189
5190 .mxchat-time-cell {
5191 color: #646970;
5192 white-space: nowrap;
5193 }
5194
5195 /* Action Buttons */
5196 .mxchat-completion-actions {
5197 padding: 24px;
5198 display: flex;
5199 gap: 12px;
5200 justify-content: flex-end;
5201 background: #fafafa;
5202 }
5203
5204 .mxchat-btn {
5205 display: inline-flex;
5206 align-items: center;
5207 gap: 8px;
5208 padding: 10px 20px;
5209 border: none;
5210 border-radius: 6px;
5211 font-size: 14px;
5212 font-weight: 500;
5213 cursor: pointer;
5214 transition: all 0.2s ease;
5215 text-decoration: none;
5216 }
5217
5218 .mxchat-btn svg {
5219 width: 16px;
5220 height: 16px;
5221 }
5222
5223 .mxchat-btn-primary {
5224 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
5225 color: #ffffff;
5226 }
5227
5228 .mxchat-btn-primary:hover {
5229 transform: translateY(-1px);
5230 box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
5231 }
5232
5233 .mxchat-btn-secondary {
5234 background: #ffffff;
5235 color: #667eea;
5236 border: 1px solid #667eea;
5237 }
5238
5239 .mxchat-btn-secondary:hover {
5240 background: #f6f7ff;
5241 transform: translateY(-1px);
5242 box-shadow: 0 4px 12px rgba(102, 126, 234, 0.2);
5243 }
5244
5245 .mxchat-btn:disabled {
5246 opacity: 0.5;
5247 cursor: not-allowed;
5248 }
5249
5250 .mxchat-btn:disabled:hover {
5251 transform: none;
5252 box-shadow: none;
5253 }
5254
5255 /* Responsive adjustments */
5256 @media (max-width: 768px) {
5257 .mxchat-summary-stats {
5258 grid-template-columns: 1fr;
5259 }
5260
5261 .mxchat-completion-actions {
5262 flex-direction: column;
5263 }
5264
5265 .mxchat-btn {
5266 width: 100%;
5267 justify-content: center;
5268 }
5269 }
5270
5271 /* Scrollbar styling for failed URLs table */
5272 .mxchat-failed-urls-table-wrapper::-webkit-scrollbar {
5273 width: 8px;
5274 }
5275
5276 .mxchat-failed-urls-table-wrapper::-webkit-scrollbar-track {
5277 background: #f0f0f1;
5278 border-radius: 4px;
5279 }
5280
5281 .mxchat-failed-urls-table-wrapper::-webkit-scrollbar-thumb {
5282 background: #c3c4c7;
5283 border-radius: 4px;
5284 }
5285
5286 .mxchat-failed-urls-table-wrapper::-webkit-scrollbar-thumb:hover {
5287 background: #a7aaad;
5288 }
5289
5290
5291 /* Live Agent Disabled Notice Styles - Enhanced design */
5292 .mxchat-live-agent-disabled-notice {
5293 margin-bottom: 20px;
5294 }
5295
5296 .mxchat-live-agent-disabled-notice .mxchat-pro-notification {
5297 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
5298 border-radius: 12px;
5299 padding: 24px 24px 24px 24px;
5300 color: white;
5301 position: relative;
5302 box-shadow: 0 8px 32px rgba(102, 126, 234, 0.3);
5303 border: 1px solid rgba(255, 255, 255, 0.1);
5304 }
5305
5306 .mxchat-dismiss-btn {
5307 position: absolute;
5308 top: 16px;
5309 right: 16px;
5310 background: rgba(255, 255, 255, 0.1);
5311 border: 1px solid rgba(255, 255, 255, 0.2);
5312 border-radius: 6px;
5313 color: rgba(255, 255, 255, 0.8);
5314 cursor: pointer;
5315 padding: 8px;
5316 display: flex;
5317 align-items: center;
5318 justify-content: center;
5319 transition: all 0.2s ease;
5320 backdrop-filter: blur(10px);
5321 }
5322
5323 .mxchat-dismiss-btn:hover {
5324 background: rgba(255, 255, 255, 0.2);
5325 color: white;
5326 transform: scale(1.05);
5327 }
5328
5329 .mxchat-dismiss-btn:active {
5330 transform: scale(0.95);
5331 }
5332
5333 .mxchat-live-agent-content {
5334 padding-right: 60px; /* Space for dismiss button */
5335 }
5336
5337 .mxchat-live-agent-content h3 {
5338 margin: 0 0 16px 0;
5339 font-size: 20px;
5340 font-weight: 600;
5341 color: white;
5342 display: flex;
5343 align-items: center;
5344 gap: 8px;
5345 }
5346
5347 .mxchat-live-agent-content p {
5348 margin: 0;
5349 font-size: 15px;
5350 line-height: 1.6;
5351 opacity: 0.95;
5352 color: rgba(255, 255, 255, 0.95);
5353 }
5354
5355 .mxchat-live-agent-content strong {
5356 color: #fff;
5357 font-weight: 600;
5358 background: rgba(255, 255, 255, 0.1);
5359 padding: 2px 6px;
5360 border-radius: 4px;
5361 font-size: 14px;
5362 }
5363
5364 /* Theme Migration Notice Styles */
5365 .mxchat-theme-migration-notice {
5366 margin-bottom: 20px;
5367 }
5368
5369 .mxchat-theme-migration-notice .mxchat-pro-notification {
5370 background: linear-gradient(135deg, #f472b6 0%, #a855f7 50%, #6366f1 100%);
5371 border-radius: 12px;
5372 padding: 24px 24px 24px 24px;
5373 color: white;
5374 position: relative;
5375 box-shadow: 0 8px 32px rgba(244, 114, 182, 0.3);
5376 border: 1px solid rgba(255, 255, 255, 0.1);
5377 }
5378
5379 .mxchat-theme-migration-content {
5380 padding-right: 60px; /* Space for dismiss button */
5381 }
5382
5383 .mxchat-theme-migration-content h3 {
5384 margin: 0 0 16px 0;
5385 font-size: 20px;
5386 font-weight: 600;
5387 color: white;
5388 display: flex;
5389 align-items: center;
5390 gap: 8px;
5391 }
5392
5393 .mxchat-theme-migration-content p {
5394 margin: 0;
5395 font-size: 15px;
5396 line-height: 1.6;
5397 opacity: 0.95;
5398 color: rgba(255, 255, 255, 0.95);
5399 }
5400
5401 .mxchat-theme-migration-content strong {
5402 color: #fff;
5403 font-weight: 600;
5404 background: rgba(255, 255, 255, 0.15);
5405 padding: 2px 8px;
5406 border-radius: 4px;
5407 font-size: 14px;
5408 }
5409
5410 .mxchat-processing-controls {
5411 display: flex;
5412 gap: 10px;
5413 align-items: center;
5414 }
5415
5416 /* Status Card Container */
5417 .mxchat-status-card {
5418 background: #fff;
5419 border: 1px solid #ddd;
5420 border-radius: 8px;
5421 padding: 20px;
5422 margin-bottom: 20px;
5423 box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
5424 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
5425 }
5426
5427 /* Status Header */
5428 .mxchat-status-header {
5429 display: flex;
5430 align-items: center;
5431 justify-content: space-between;
5432 margin-bottom: 15px;
5433 flex-wrap: wrap;
5434 gap: 10px;
5435 }
5436
5437 .mxchat-status-header h4 {
5438 margin: 0;
5439 font-size: 18px;
5440 font-weight: 600;
5441 color: #333;
5442 }
5443
5444 .mxchat-status-header h5 {
5445 margin: 0 0 10px 0;
5446 font-size: 16px;
5447 font-weight: 600;
5448 color: #333;
5449 }
5450
5451 /* Dismiss Button */
5452 .mxchat-dismiss-button {
5453 padding: 6px 12px;
5454 background: #dc3545;
5455 color: white;
5456 border: none;
5457 border-radius: 4px;
5458 cursor: pointer;
5459 font-size: 12px;
5460 font-weight: 500;
5461 transition: background-color 0.2s ease;
5462 }
5463
5464 .mxchat-dismiss-button:hover {
5465 background: #c82333;
5466 }
5467
5468 .mxchat-dismiss-button:active {
5469 transform: translateY(1px);
5470 }
5471
5472 /* Process Batch Button */
5473 .mxchat-manual-batch-btn {
5474 padding: 8px 16px;
5475 background: #007cba;
5476 color: white;
5477 border: none;
5478 border-radius: 4px;
5479 cursor: pointer;
5480 font-size: 13px;
5481 font-weight: 500;
5482 transition: all 0.2s ease;
5483 text-decoration: none;
5484 display: inline-block;
5485 }
5486
5487 .mxchat-manual-batch-btn:hover {
5488 background: #005a87;
5489 color: white;
5490 text-decoration: none;
5491 }
5492
5493 .mxchat-manual-batch-btn:active {
5494 transform: translateY(1px);
5495 }
5496
5497 .mxchat-manual-batch-btn:focus {
5498 outline: 2px solid #007cba;
5499 outline-offset: 2px;
5500 }
5501
5502
5503
5504
5505
5506 /* MxChat Plugin Activation Page Styles */
5507
5508 .mxchat-license-details {
5509 background: #f9f9f9;
5510 padding: 15px;
5511 border-radius: 5px;
5512 margin-top: 15px;
5513 border-left: 4px solid #2271b1;
5514 }
5515
5516 .mxchat-license-details p {
5517 margin: 8px 0;
5518 }
5519
5520 .mxchat-license-details small {
5521 color: #666;
5522 }
5523
5524 .mxchat-license-details a {
5525 color: #2271b1;
5526 text-decoration: none;
5527 }
5528
5529 .mxchat-license-details a:hover {
5530 text-decoration: underline;
5531 }
5532
5533 /* Domain linking styles */
5534 #link-domain-button {
5535 background: #2271b1;
5536 color: white;
5537 border: none;
5538 padding: 8px 16px;
5539 border-radius: 4px;
5540 cursor: pointer;
5541 font-size: 13px;
5542 }
5543
5544 #link-domain-button:hover {
5545 background: #1a5a8a;
5546 }
5547
5548 #link-domain-button:disabled {
5549 background: #ccc;
5550 cursor: not-allowed;
5551 }
5552
5553 #domain-link-status {
5554 font-size: 13px;
5555 font-weight: 500;
5556 }
5557
5558 /* Status badges */
5559 .mxchat-status-badge.active {
5560 color: #2d8f47;
5561 background: #d4edda;
5562 padding: 4px 8px;
5563 border-radius: 4px;
5564 font-size: 12px;
5565 font-weight: 600;
5566 }
5567
5568 .mxchat-status-badge.inactive {
5569 color: #842029;
5570 background: #f8d7da;
5571 padding: 4px 8px;
5572 border-radius: 4px;
5573 font-size: 12px;
5574 font-weight: 600;
5575 }
5576
5577 /* Notice styles for domain linking */
5578 .notice.notice-info {
5579 background: #e7f3ff;
5580 border-left-color: #2271b1;
5581 z-index: 100000000000000000;
5582 position: relative;
5583 }
5584
5585 .notice.notice-success {
5586 background: #d1eddb;
5587 border-left-color: #2d8f47;
5588 }
5589
5590 /* Animation for status changes */
5591 .license-status-updating {
5592 opacity: 0.6;
5593 transition: opacity 0.3s ease;
5594 }
5595
5596 /* Spinner for domain linking */
5597 .domain-link-spinner {
5598 display: inline-block;
5599 width: 16px;
5600 height: 16px;
5601 border: 2px solid #f3f3f3;
5602 border-top: 2px solid #2271b1;
5603 border-radius: 50%;
5604 animation: spin 1s linear infinite;
5605 margin-left: 8px;
5606 }
5607
5608 @keyframes spin {
5609 0% { transform: rotate(0deg); }
5610 100% { transform: rotate(360deg); }
5611 }
5612
5613
5614
5615 .mxchat-pro-notification .old-price {
5616 text-decoration: line-through;
5617 color: #888;
5618 }
5619 .mxchat-pro-notification .new-price {
5620 font-weight: bold;
5621 color: #d9534f; /* red for urgency */
5622 }
5623
5624
5625
5626 #mxchat-test-streaming-btn:disabled {
5627 opacity: 0.6;
5628 cursor: not-allowed;
5629 }
5630 #mxchat-test-streaming-result {
5631 padding: 8px 12px;
5632 border-radius: 4px;
5633 display: none;
5634 }
5635 #mxchat-test-streaming-result:not(:empty) {
5636 display: block;
5637 background: #f0f0f1;
5638 border-left: 4px solid #72aee6;
5639 }
5640
5641
5642 /* Hide email-dependent fields by default */
5643 tr:has(#email_blocker_header_content),
5644 tr:has(#email_blocker_button_text),
5645 tr:has(#enable_name_field),
5646 tr:has(#name_field_placeholder) {
5647 display: none;
5648 }
5649
5650 /* Show them when email block is enabled */
5651 body.email-block-enabled tr:has(#email_blocker_header_content),
5652 body.email-block-enabled tr:has(#email_blocker_button_text),
5653 body.email-block-enabled tr:has(#enable_name_field),
5654 body.email-block-enabled tr:has(#name_field_placeholder) {
5655 display: table-row;
5656 }
5657
5658 /* Style for email-dependent fields */
5659 .email-dependent-field {
5660 background-color: #f8f9fa;
5661 border-left: 4px solid #0073aa;
5662 padding-left: 15px;
5663 margin-left: 10px;
5664 }
5665
5666 .email-dependent-field td,
5667 .email-dependent-field th {
5668 background-color: #f8f9fa;
5669 }
5670
5671
5672 /* NEW: Role restriction styles */
5673 .mxchat-role-restriction-container {
5674 margin-bottom: 8px;
5675 }
5676
5677 .mxchat-role-select {
5678 width: 100%;
5679 max-width: 180px;
5680 padding: 4px 8px;
5681 border: 1px solid #ddd;
5682 border-radius: 4px;
5683 font-size: 12px;
5684 background: white;
5685 }
5686
5687 .mxchat-role-select.updating {
5688 opacity: 0.6;
5689 pointer-events: none;
5690 }
5691
5692 .mxchat-role-select.updated {
5693 border-color: #46b450;
5694 box-shadow: 0 0 0 1px #46b450;
5695 }
5696
5697 .mxchat-action-buttons {
5698 display: flex;
5699 gap: 4px;
5700 justify-content: center;
5701 }
5702
5703 .mxchat-actions-cell {
5704 min-width: 200px;
5705 text-align: center;
5706 }
5707
5708
5709
5710 .mxchat-bot-selector {
5711 display: flex;
5712 flex-direction: column;
5713 gap: 8px;
5714 max-height: 200px;
5715 overflow-y: auto;
5716 border: 1px solid #ddd;
5717 padding: 12px;
5718 border-radius: 4px;
5719 background: #f9f9f9;
5720 }
5721
5722 .mxchat-bot-option {
5723 display: flex;
5724 align-items: center;
5725 }
5726
5727 .mxchat-checkbox-label {
5728 display: flex;
5729 align-items: center;
5730 cursor: pointer;
5731 font-size: 14px;
5732 gap: 8px;
5733 }
5734
5735 .mxchat-checkbox-label input[type="checkbox"] {
5736 margin: 0;
5737 }
5738
5739 .mxchat-checkmark {
5740 display: inline-block;
5741 }
5742
5743
5744 .mxchat-card-bots {
5745 margin-top: 12px;
5746 padding-top: 12px;
5747 border-top: 1px solid #e5e7eb;
5748 }
5749
5750 .mxchat-card-bots strong {
5751 display: block;
5752 margin-bottom: 6px;
5753 color: #374151;
5754 font-size: 13px;
5755 font-weight: 600;
5756 }
5757
5758 .mxchat-bot-badges {
5759 display: flex;
5760 flex-wrap: wrap;
5761 gap: 6px;
5762 }
5763
5764 .mxchat-bot-badge {
5765 display: inline-flex;
5766 align-items: center;
5767 padding: 3px 8px;
5768 background-color: #f3f4f6;
5769 border: 1px solid #d1d5db;
5770 border-radius: 12px;
5771 font-size: 11px;
5772 font-weight: 500;
5773 color: #6b7280;
5774 line-height: 1.2;
5775 white-space: nowrap;
5776 }
5777
5778 .mxchat-bot-badge:first-child {
5779 background-color: #dbeafe;
5780 border-color: #93c5fd;
5781 color: #1e40af;
5782 }
5783
5784
5785 /* Always show OpenRouter API key field */
5786 tr.mxchat-setting-row[data-provider="openrouter"],
5787 .mxchat-openrouter-wrapper {
5788 display: table-row !important;
5789 }
5790
5791 /* ========== RAG Context Modal Styles ========== */
5792
5793 /* Message header with role and sources link */
5794 .mxchat-message .mxchat-message-header {
5795 display: flex;
5796 justify-content: space-between;
5797 align-items: center;
5798 margin-bottom: 6px;
5799 }
5800
5801 .mxchat-message .mxchat-role-label {
5802 font-weight: 600;
5803 font-size: 12px;
5804 text-transform: uppercase;
5805 letter-spacing: 0.02em;
5806 }
5807
5808 /* Sources link - clean, professional style */
5809 .mxchat-rag-link {
5810 font-size: 11px;
5811 color: #64748b;
5812 cursor: pointer;
5813 transition: color 0.15s ease;
5814 font-weight: 500;
5815 letter-spacing: 0.01em;
5816 }
5817
5818 .mxchat-rag-link:hover {
5819 color: #3b82f6;
5820 }
5821
5822 /* Transcript message content styling */
5823 .mxchat-message-content a {
5824 color: #3b82f6;
5825 text-decoration: none;
5826 }
5827
5828 .mxchat-message-content a:hover {
5829 text-decoration: underline;
5830 }
5831
5832 .mxchat-message-content code {
5833 background: rgba(0, 0, 0, 0.06);
5834 padding: 2px 5px;
5835 border-radius: 3px;
5836 font-family: ui-monospace, monospace;
5837 font-size: 0.9em;
5838 }
5839
5840 .mxchat-message-content pre {
5841 background: #1e293b;
5842 color: #e2e8f0;
5843 padding: 12px 16px;
5844 border-radius: 6px;
5845 overflow-x: auto;
5846 margin: 8px 0;
5847 }
5848
5849 .mxchat-message-content pre code {
5850 background: none;
5851 padding: 0;
5852 color: inherit;
5853 }
5854
5855 .mxchat-message-content strong {
5856 font-weight: 600;
5857 }
5858
5859 .mxchat-message-content h1,
5860 .mxchat-message-content h2,
5861 .mxchat-message-content h3,
5862 .mxchat-message-content h4,
5863 .mxchat-message-content h5,
5864 .mxchat-message-content h6 {
5865 margin: 12px 0 8px 0;
5866 font-weight: 600;
5867 line-height: 1.3;
5868 }
5869
5870 .mxchat-message-content h1 { font-size: 1.4em; }
5871 .mxchat-message-content h2 { font-size: 1.3em; }
5872 .mxchat-message-content h3 { font-size: 1.2em; }
5873 .mxchat-message-content h4 { font-size: 1.1em; }
5874 .mxchat-message-content h5 { font-size: 1em; }
5875 .mxchat-message-content h6 { font-size: 0.95em; }
5876
5877 /* RAG Modal Overlay */
5878 .mxchat-rag-modal-overlay {
5879 position: fixed;
5880 top: 0;
5881 left: 0;
5882 width: 100%;
5883 height: 100%;
5884 background-color: rgba(15, 23, 42, 0.4);
5885 backdrop-filter: blur(4px);
5886 -webkit-backdrop-filter: blur(4px);
5887 z-index: 100000;
5888 display: flex;
5889 align-items: center;
5890 justify-content: center;
5891 padding: 24px;
5892 }
5893
5894 /* RAG Modal Content */
5895 .mxchat-rag-modal-content {
5896 background: #fff;
5897 border-radius: 16px;
5898 width: 100%;
5899 max-width: 640px;
5900 max-height: calc(100vh - 48px);
5901 display: flex;
5902 flex-direction: column;
5903 box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
5904 animation: mxchat-modal-appear 0.2s ease-out;
5905 overflow: hidden;
5906 }
5907
5908 @keyframes mxchat-modal-appear {
5909 from {
5910 opacity: 0;
5911 transform: scale(0.96) translateY(8px);
5912 }
5913 to {
5914 opacity: 1;
5915 transform: scale(1) translateY(0);
5916 }
5917 }
5918
5919 /* RAG Modal Header */
5920 .mxchat-rag-modal-header {
5921 display: flex;
5922 justify-content: space-between;
5923 align-items: center;
5924 padding: 20px 24px;
5925 border-bottom: 1px solid #e2e8f0;
5926 background: #fff;
5927 flex-shrink: 0;
5928 }
5929
5930 .mxchat-rag-modal-header h2 {
5931 margin: 0;
5932 font-size: 1.125rem;
5933 font-weight: 600;
5934 color: #0f172a;
5935 letter-spacing: -0.01em;
5936 }
5937
5938 .mxchat-rag-modal-close {
5939 display: flex;
5940 align-items: center;
5941 justify-content: center;
5942 width: 32px;
5943 height: 32px;
5944 background: transparent;
5945 border: none;
5946 color: #64748b;
5947 font-size: 20px;
5948 cursor: pointer;
5949 border-radius: 8px;
5950 transition: all 0.15s ease;
5951 line-height: 1;
5952 }
5953
5954 .mxchat-rag-modal-close:hover {
5955 background: #f1f5f9;
5956 color: #0f172a;
5957 }
5958
5959 /* RAG Modal Body */
5960 .mxchat-rag-modal-body {
5961 padding: 24px;
5962 overflow-y: auto;
5963 flex: 1;
5964 }
5965
5966 /* Loading State */
5967 .mxchat-rag-loading {
5968 display: flex;
5969 align-items: center;
5970 justify-content: center;
5971 gap: 12px;
5972 padding: 48px 24px;
5973 color: #64748b;
5974 font-size: 0.875rem;
5975 }
5976
5977 .mxchat-rag-loading .spinner {
5978 float: none;
5979 margin: 0;
5980 }
5981
5982 /* Error State */
5983 .mxchat-rag-error {
5984 text-align: center;
5985 padding: 48px 24px;
5986 color: #dc2626;
5987 font-size: 0.875rem;
5988 }
5989
5990 /* Summary Section */
5991 .mxchat-rag-summary {
5992 display: flex;
5993 gap: 32px;
5994 padding: 0;
5995 margin-bottom: 28px;
5996 background: transparent;
5997 border: none;
5998 }
5999
6000 .mxchat-rag-summary-item {
6001 display: flex;
6002 flex-direction: column;
6003 gap: 4px;
6004 }
6005
6006 .mxchat-rag-label {
6007 color: #94a3b8;
6008 font-size: 0.6875rem;
6009 font-weight: 500;
6010 text-transform: uppercase;
6011 letter-spacing: 0.05em;
6012 }
6013
6014 .mxchat-rag-value {
6015 font-weight: 600;
6016 font-size: 0.9375rem;
6017 color: #0f172a;
6018 }
6019
6020 /* Matches Section */
6021 .mxchat-rag-matches h3 {
6022 margin: 0 0 12px 0;
6023 font-size: 0.6875rem;
6024 color: #94a3b8;
6025 font-weight: 600;
6026 text-transform: uppercase;
6027 letter-spacing: 0.05em;
6028 }
6029
6030 /* Match Card */
6031 .mxchat-rag-match-card {
6032 border: 1px solid #e2e8f0;
6033 border-radius: 12px;
6034 padding: 16px;
6035 margin-bottom: 8px;
6036 transition: border-color 0.15s ease, box-shadow 0.15s ease;
6037 background: #fff;
6038 }
6039
6040 .mxchat-rag-match-card:hover {
6041 border-color: #cbd5e1;
6042 box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
6043 }
6044
6045 .mxchat-rag-match-card:last-child {
6046 margin-bottom: 0;
6047 }
6048
6049 /* Match card variants */
6050 .mxchat-rag-match-used {
6051 border-color: #86efac;
6052 background: #fafff9;
6053 }
6054
6055 .mxchat-rag-match-used:hover {
6056 border-color: #4ade80;
6057 }
6058
6059 .mxchat-rag-match-above {
6060 border-color: #fde047;
6061 background: #fffef5;
6062 }
6063
6064 .mxchat-rag-match-above:hover {
6065 border-color: #facc15;
6066 }
6067
6068 .mxchat-rag-match-below {
6069 opacity: 0.5;
6070 }
6071
6072 /* Match Header */
6073 .mxchat-rag-match-header {
6074 display: flex;
6075 align-items: center;
6076 gap: 12px;
6077 margin-bottom: 10px;
6078 }
6079
6080 .mxchat-rag-match-rank {
6081 background: #0f172a;
6082 color: #fff;
6083 font-size: 0.625rem;
6084 font-weight: 600;
6085 padding: 3px 6px;
6086 border-radius: 4px;
6087 letter-spacing: 0.02em;
6088 }
6089
6090 .mxchat-rag-match-score {
6091 font-size: 1rem;
6092 font-weight: 700;
6093 color: #0f172a;
6094 font-variant-numeric: tabular-nums;
6095 }
6096
6097 .mxchat-rag-match-status {
6098 font-size: 0.625rem;
6099 padding: 4px 8px;
6100 border-radius: 6px;
6101 font-weight: 600;
6102 text-transform: uppercase;
6103 letter-spacing: 0.03em;
6104 margin-left: auto;
6105 }
6106
6107 .mxchat-rag-match-status.status-used {
6108 background: #dcfce7;
6109 color: #166534;
6110 }
6111
6112 .mxchat-rag-match-status.status-above {
6113 background: #fef9c3;
6114 color: #854d0e;
6115 }
6116
6117 .mxchat-rag-match-status.status-below {
6118 background: #f1f5f9;
6119 color: #64748b;
6120 }
6121
6122 /* Match Source */
6123 .mxchat-rag-match-source {
6124 margin-bottom: 8px;
6125 font-size: 0.8125rem;
6126 color: #475569;
6127 word-break: break-word;
6128 }
6129
6130 .mxchat-rag-match-source a {
6131 color: #2563eb;
6132 text-decoration: none;
6133 }
6134
6135 .mxchat-rag-match-source a:hover {
6136 text-decoration: underline;
6137 }
6138
6139 /* Match Preview */
6140 .mxchat-rag-match-preview {
6141 font-size: 0.8125rem;
6142 color: #64748b;
6143 background: #f8fafc;
6144 padding: 12px 14px;
6145 border-radius: 8px;
6146 line-height: 1.6;
6147 max-height: 72px;
6148 overflow: hidden;
6149 }
6150
6151 /* Match Meta */
6152 .mxchat-rag-match-meta {
6153 margin-top: 10px;
6154 }
6155
6156 .mxchat-rag-role-badge {
6157 display: inline-block;
6158 font-size: 0.625rem;
6159 padding: 3px 8px;
6160 background: #f1f5f9;
6161 color: #475569;
6162 border-radius: 4px;
6163 font-weight: 500;
6164 }
6165
6166 /* Matches Summary */
6167 .mxchat-rag-matches-summary {
6168 margin: 0 0 16px 0;
6169 font-size: 0.875rem;
6170 color: #334155;
6171 font-weight: 500;
6172 }
6173
6174 /* Chunk Badge */
6175 .mxchat-rag-chunk-badge {
6176 display: inline-block;
6177 padding: 3px 8px;
6178 font-size: 0.6875rem;
6179 font-weight: 600;
6180 background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);
6181 color: #fff;
6182 border-radius: 10px;
6183 text-transform: uppercase;
6184 letter-spacing: 0.02em;
6185 }
6186
6187 /* Chunk Toggle */
6188 .mxchat-rag-chunk-toggle {
6189 display: block;
6190 padding: 10px 0;
6191 font-size: 0.75rem;
6192 font-weight: 600;
6193 color: #6366f1;
6194 cursor: pointer;
6195 border-top: 1px solid #e2e8f0;
6196 margin-top: 12px;
6197 transition: color 0.15s ease;
6198 }
6199
6200 .mxchat-rag-chunk-toggle:hover {
6201 color: #4f46e5;
6202 }
6203
6204 /* Chunk Details */
6205 .mxchat-rag-chunk-details {
6206 display: none;
6207 padding: 8px 0 0 0;
6208 }
6209
6210 /* Chunk Row */
6211 .mxchat-rag-chunk-row {
6212 display: flex;
6213 align-items: center;
6214 padding: 8px 10px;
6215 margin: 4px 0;
6216 border-radius: 6px;
6217 font-size: 0.8125rem;
6218 gap: 10px;
6219 }
6220
6221 .mxchat-rag-chunk-row.chunk-used {
6222 background: rgba(16, 185, 129, 0.1);
6223 }
6224
6225 .mxchat-rag-chunk-row.chunk-not-used {
6226 background: rgba(100, 116, 139, 0.08);
6227 }
6228
6229 .mxchat-rag-chunk-icon {
6230 font-size: 0.875rem;
6231 width: 18px;
6232 text-align: center;
6233 }
6234
6235 .chunk-used .mxchat-rag-chunk-icon {
6236 color: #10b981;
6237 }
6238
6239 .chunk-not-used .mxchat-rag-chunk-icon {
6240 color: #94a3b8;
6241 }
6242
6243 .mxchat-rag-chunk-num {
6244 font-weight: 600;
6245 color: #334155;
6246 flex: 1;
6247 }
6248
6249 .mxchat-rag-chunk-score {
6250 font-weight: 600;
6251 color: #64748b;
6252 font-variant-numeric: tabular-nums;
6253 }
6254
6255 /* No Matches */
6256 .mxchat-rag-no-matches {
6257 text-align: center;
6258 padding: 48px 24px;
6259 color: #64748b;
6260 font-size: 0.875rem;
6261 }
6262
6263 /* Approved URLs Section */
6264 .mxchat-rag-urls {
6265 margin-top: 28px;
6266 padding-top: 20px;
6267 border-top: 1px solid #e2e8f0;
6268 }
6269
6270 .mxchat-rag-urls h3 {
6271 margin: 0 0 12px 0;
6272 font-size: 0.6875rem;
6273 color: #94a3b8;
6274 font-weight: 600;
6275 text-transform: uppercase;
6276 letter-spacing: 0.05em;
6277 }
6278
6279 .mxchat-rag-url-list {
6280 margin: 0;
6281 padding: 0;
6282 list-style: none;
6283 }
6284
6285 .mxchat-rag-url-list li {
6286 padding: 10px 14px;
6287 background: #f8fafc;
6288 border-radius: 8px;
6289 margin-bottom: 6px;
6290 font-size: 0.8125rem;
6291 word-break: break-all;
6292 }
6293
6294 .mxchat-rag-url-list li:last-child {
6295 margin-bottom: 0;
6296 }
6297
6298 .mxchat-rag-url-list a {
6299 color: #2563eb;
6300 text-decoration: none;
6301 }
6302
6303 .mxchat-rag-url-list a:hover {
6304 text-decoration: underline;
6305 }
6306
6307 /* Responsive adjustments */
6308 @media (max-width: 640px) {
6309 .mxchat-rag-modal-overlay {
6310 padding: 16px;
6311 }
6312
6313 .mxchat-rag-modal-content {
6314 max-height: calc(100vh - 32px);
6315 border-radius: 12px;
6316 }
6317
6318 .mxchat-rag-modal-header {
6319 padding: 16px 20px;
6320 }
6321
6322 .mxchat-rag-modal-body {
6323 padding: 20px;
6324 }
6325
6326 .mxchat-rag-summary {
6327 flex-wrap: wrap;
6328 gap: 16px;
6329 }
6330
6331 .mxchat-rag-match-header {
6332 flex-wrap: wrap;
6333 }
6334
6335 .mxchat-rag-match-status {
6336 margin-left: 0;
6337 margin-top: 8px;
6338 }
6339 }
6340
6341 /* ========================================
6342 POST TYPE VISIBILITY SETTINGS
6343 ======================================== */
6344 .mxchat-sub-options {
6345 margin-top: 20px;
6346 padding: 20px;
6347 background: #f8f9fa;
6348 border: 1px solid #e2e4e7;
6349 border-radius: 8px;
6350 transition: all 0.3s ease;
6351 }
6352
6353 .mxchat-post-type-visibility-header {
6354 margin-bottom: 16px;
6355 }
6356
6357 .mxchat-post-type-visibility-header h4 {
6358 margin: 0 0 6px 0;
6359 font-size: 14px;
6360 font-weight: 600;
6361 color: #1e1e1e;
6362 }
6363
6364 .mxchat-post-type-visibility-header .description {
6365 margin: 0;
6366 color: #757575;
6367 }
6368
6369 .mxchat-visibility-mode {
6370 display: flex;
6371 flex-direction: column;
6372 gap: 10px;
6373 margin-bottom: 16px;
6374 }
6375
6376 .mxchat-radio-label {
6377 display: flex;
6378 align-items: center;
6379 gap: 10px;
6380 cursor: pointer;
6381 padding: 10px 14px;
6382 background: #fff;
6383 border: 1px solid #dcdcde;
6384 border-radius: 6px;
6385 transition: all 0.2s ease;
6386 font-size: 14px;
6387 }
6388
6389 .mxchat-radio-label:hover {
6390 border-color: #2271b1;
6391 background: #f6f7f7;
6392 }
6393
6394 .mxchat-radio-label input[type="radio"] {
6395 margin: 0;
6396 width: 16px;
6397 height: 16px;
6398 accent-color: #2271b1;
6399 }
6400
6401 .mxchat-radio-label input[type="radio"]:checked + span {
6402 font-weight: 500;
6403 color: #1e1e1e;
6404 }
6405
6406 .mxchat-radio-label span {
6407 color: #50575e;
6408 }
6409
6410 .mxchat-post-type-list {
6411 display: grid;
6412 grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
6413 gap: 10px;
6414 padding: 16px;
6415 background: #fff;
6416 border: 1px solid #dcdcde;
6417 border-radius: 6px;
6418 max-height: 200px;
6419 overflow-y: auto;
6420 }
6421
6422 .mxchat-post-type-list .mxchat-checkbox-label {
6423 display: flex;
6424 align-items: center;
6425 gap: 10px;
6426 padding: 8px 12px;
6427 background: #f8f9fa;
6428 border: 1px solid #e2e4e7;
6429 border-radius: 4px;
6430 cursor: pointer;
6431 transition: all 0.2s ease;
6432 font-size: 13px;
6433 }
6434
6435 .mxchat-post-type-list .mxchat-checkbox-label:hover {
6436 border-color: #2271b1;
6437 background: #f0f6fc;
6438 }
6439
6440 .mxchat-post-type-list .mxchat-checkbox-label input[type="checkbox"] {
6441 margin: 0;
6442 width: 16px;
6443 height: 16px;
6444 accent-color: #2271b1;
6445 }
6446
6447 .mxchat-post-type-list .mxchat-checkbox-label input[type="checkbox"]:checked + span {
6448 font-weight: 500;
6449 color: #1e1e1e;
6450 }
6451
6452 .mxchat-post-type-list .mxchat-checkbox-label span {
6453 color: #50575e;
6454 }
6455
6456 /* Custom scrollbar for post type list */
6457 .mxchat-post-type-list::-webkit-scrollbar {
6458 width: 6px;
6459 }
6460
6461 .mxchat-post-type-list::-webkit-scrollbar-track {
6462 background: #f1f1f1;
6463 border-radius: 3px;
6464 }
6465
6466 .mxchat-post-type-list::-webkit-scrollbar-thumb {
6467 background: #c1c1c1;
6468 border-radius: 3px;
6469 }
6470
6471 .mxchat-post-type-list::-webkit-scrollbar-thumb:hover {
6472 background: #a1a1a1;
6473 }
6474
6475 /* Responsive adjustments */
6476 @media (max-width: 782px) {
6477 .mxchat-sub-options {
6478 padding: 16px;
6479 }
6480
6481 .mxchat-post-type-list {
6482 grid-template-columns: 1fr;
6483 }
6484 }
6485 /* 3.2.3: Embedding model switch warning dialog */
6486 .mxchat-embed-warn-overlay {
6487 position: fixed;
6488 inset: 0;
6489 background: rgba(20, 20, 20, 0.55);
6490 z-index: 200000;
6491 display: flex;
6492 align-items: center;
6493 justify-content: center;
6494 padding: 24px;
6495 }
6496 .mxchat-embed-warn-dialog {
6497 background: #fff;
6498 max-width: 640px;
6499 width: 100%;
6500 border-radius: 8px;
6501 box-shadow: 0 24px 60px rgba(0,0,0,0.35);
6502 overflow: hidden;
6503 font-size: 14px;
6504 line-height: 1.5;
6505 }
6506 .mxchat-embed-warn-header {
6507 display: flex;
6508 align-items: center;
6509 gap: 12px;
6510 padding: 18px 22px;
6511 background: #fef6f6;
6512 border-bottom: 1px solid #f1d4d4;
6513 }
6514 .mxchat-embed-warn-header h3 {
6515 margin: 0;
6516 font-size: 16px;
6517 color: #b32d2e;
6518 }
6519 .mxchat-embed-warn-icon {
6520 font-size: 22px;
6521 line-height: 1;
6522 }
6523 .mxchat-embed-warn-body {
6524 padding: 18px 22px;
6525 color: #2c3338;
6526 }
6527 .mxchat-embed-warn-body p {
6528 margin: 0 0 12px 0;
6529 }
6530 .mxchat-embed-warn-body code {
6531 background: #f0f0f1;
6532 padding: 1px 6px;
6533 border-radius: 3px;
6534 font-size: 13px;
6535 }
6536 .mxchat-embed-warn-body ol {
6537 margin: 8px 0 0 18px;
6538 padding: 0;
6539 }
6540 .mxchat-embed-warn-body ol li {
6541 margin: 4px 0;
6542 }
6543 .mxchat-embed-warn-dims {
6544 margin: 12px 0;
6545 padding: 12px;
6546 background: #fff8e5;
6547 border-left: 3px solid #dba617;
6548 font-size: 13px;
6549 }
6550 .mxchat-embed-warn-footer {
6551 display: flex;
6552 justify-content: flex-end;
6553 gap: 10px;
6554 padding: 14px 22px;
6555 background: #f6f7f7;
6556 border-top: 1px solid #dcdcde;
6557 }
6558 .mxchat-embed-warn-danger {
6559 background: #b32d2e !important;
6560 border-color: #b32d2e !important;
6561 color: #fff !important;
6562 }
6563 .mxchat-embed-warn-danger:hover,
6564 .mxchat-embed-warn-danger:focus {
6565 background: #8c2122 !important;
6566 border-color: #8c2122 !important;
6567 }
6568
6569 /* ------------------------------------------------------------------ *
6570 * Live agent availability schedule (plan 8ccaa2)
6571 * Design tokens come from admin-sidebar.css (:root), which is enqueued
6572 * alongside this file on every MxChat admin page.
6573 * ------------------------------------------------------------------ */
6574 .mxchat-la-days {
6575 margin-top: var(--mxch-spacing-md, 16px);
6576 border: 1px solid var(--mxch-card-border, #e2e8f0);
6577 border-radius: var(--mxch-radius-md, 8px);
6578 overflow: hidden;
6579 max-width: 420px;
6580 /* Inert until the master toggle is on — visibly secondary, not hidden, so
6581 the owner can see what they're about to switch on. */
6582 opacity: 0.45;
6583 pointer-events: none;
6584 transition: opacity 0.15s ease-in-out;
6585 }
6586
6587 .mxchat-la-schedule.is-active .mxchat-la-days {
6588 opacity: 1;
6589 pointer-events: auto;
6590 }
6591
6592 .mxchat-la-day {
6593 display: flex;
6594 align-items: center;
6595 justify-content: space-between;
6596 gap: var(--mxch-spacing-md, 16px);
6597 padding: 10px var(--mxch-spacing-md, 16px);
6598 border-bottom: 1px solid var(--mxch-card-border, #e2e8f0);
6599 }
6600
6601 .mxchat-la-day:last-child {
6602 border-bottom: none;
6603 }
6604
6605 .mxchat-la-day-label {
6606 display: flex;
6607 align-items: center;
6608 gap: 10px;
6609 cursor: pointer;
6610 min-width: 130px;
6611 }
6612
6613 .mxchat-la-day-name {
6614 font-weight: 500;
6615 color: var(--mxch-text-secondary, #64748b);
6616 }
6617
6618 .mxchat-la-day.is-on .mxchat-la-day-name {
6619 color: var(--mxch-text-primary, #1a1a2e);
6620 }
6621
6622 .mxchat-la-times {
6623 display: flex;
6624 align-items: center;
6625 gap: 8px;
6626 opacity: 0.5;
6627 transition: opacity 0.15s ease-in-out;
6628 }
6629
6630 .mxchat-la-day.is-on .mxchat-la-times {
6631 opacity: 1;
6632 }
6633
6634 .mxchat-la-times input[type="time"] {
6635 border: 1px solid var(--mxch-card-border, #e2e8f0);
6636 border-radius: var(--mxch-radius-sm, 4px);
6637 padding: 4px 6px;
6638 font-size: 13px;
6639 color: var(--mxch-text-primary, #1a1a2e);
6640 }
6641
6642 .mxchat-la-times input[type="time"]:focus {
6643 border-color: var(--mxch-primary, #7873f5);
6644 outline: none;
6645 box-shadow: 0 0 0 1px var(--mxch-primary, #7873f5);
6646 }
6647
6648 .mxchat-la-dash {
6649 color: var(--mxch-text-muted, #94a3b8);
6650 }
6651
6652 @media (max-width: 782px) {
6653 .mxchat-la-day {
6654 flex-direction: column;
6655 align-items: flex-start;
6656 gap: 8px;
6657 }
6658 }
6659