PluginProbe
MxChat – AI Chatbot & Content Generation for WordPress / 2.6.0
MxChat – AI Chatbot & Content Generation for WordPress v2.6.0
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 2.6.0, at css/admin-style.css

6,155 lines 119.6 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 }
3232
3233 /* Row-level visibility handling */
3234 tr.mxchat-setting-row {
3235 display: table-row;
3236 transition: all 0.3s ease;
3237 }
3238
3239 tr.mxchat-setting-row.highlighted {
3240 animation: highlight-row 1.5s ease;
3241 }
3242
3243 .api-key-wrapper input[type="password"] {
3244 margin-right: 10px;
3245 }
3246
3247 .api-key-wrapper button {
3248 background: #f6f7f7;
3249 border: 1px solid #c3c4c7;
3250 color: #50575e;
3251 cursor: pointer;
3252 border-radius: 3px;
3253 padding: 0 10px;
3254 height: 30px;
3255 line-height: 28px;
3256 font-size: 13px;
3257 }
3258
3259 .api-key-wrapper button:hover {
3260 background: #f0f0f1;
3261 }
3262
3263 .api-key-notice {
3264 margin-top: 8px !important;
3265 color: #1e1e1e;
3266 font-style: italic;
3267 }
3268
3269 @keyframes highlight-field {
3270 0% {
3271 background-color: #e5f5fa;
3272 }
3273 50% {
3274 background-color: #c7e8f3;
3275 }
3276 100% {
3277 background-color: #f0f6fc;
3278 }
3279 }
3280
3281 @keyframes highlight-row {
3282 0% { background-color: transparent; }
3283 50% { background-color: #e5f5fa; }
3284 100% { background-color: transparent; }
3285 }
3286
3287 /* Customize the look based on provider */
3288 .api-key-wrapper[data-provider="openai"] {
3289 border-left-color: #10a37f;
3290 }
3291
3292 .api-key-wrapper[data-provider="xai"] {
3293 border-left-color: #0077e6;
3294 }
3295
3296 .api-key-wrapper[data-provider="claude"] {
3297 border-left-color: #a065d5;
3298 }
3299
3300 .api-key-wrapper[data-provider="deepseek"] {
3301 border-left-color: #3b7fc4;
3302 }
3303
3304 .api-key-wrapper[data-provider="voyage"] {
3305 border-left-color: #ff6b00;
3306 }
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323 /* Add-on styling */
3324 .mxchat-addon-badge {
3325 display: inline-block;
3326 background: linear-gradient(135deg, #FF8C00, #FFA500);
3327 color: white;
3328 font-size: 10px;
3329 padding: 2px 6px;
3330 border-radius: 10px;
3331 margin-top: 5px;
3332 font-weight: 600;
3333 margin-left: 6px;
3334 }
3335
3336 .mxchat-addon-info {
3337 font-size: 11px;
3338 color: #666;
3339 margin-top: 8px;
3340 background: rgba(255, 140, 0, 0.1);
3341 padding: 4px 8px;
3342 border-radius: 4px;
3343 display: inline-block;
3344 }
3345
3346 .mxchat-action-type-card.not-installed {
3347 opacity: 0.8;
3348 border-style: dashed;
3349 background: rgba(255, 255, 255, 0.8);
3350 }
3351
3352 .mxchat-action-type-card.not-installed:hover {
3353 opacity: 1;
3354 border-color: #FF8C00;
3355 box-shadow: 0 4px 12px rgba(255, 140, 0, 0.1);
3356 }
3357
3358 /* Add-on Notice */
3359 .mxchat-addon-notice {
3360 position: fixed;
3361 top: 0;
3362 left: 0;
3363 width: 100%;
3364 height: 100%;
3365 background: rgba(0, 0, 0, 0.5);
3366 z-index: 100003;
3367 display: flex;
3368 align-items: center;
3369 justify-content: center;
3370 opacity: 0;
3371 visibility: hidden;
3372 transition: opacity 0.3s ease, visibility 0.3s ease;
3373 }
3374
3375 .mxchat-addon-notice.active {
3376 opacity: 1;
3377 visibility: visible;
3378 }
3379
3380 .mxchat-addon-notice-content {
3381 background: white;
3382 padding: 30px;
3383 border-radius: 16px;
3384 max-width: 400px;
3385 text-align: center;
3386 box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2);
3387 transform: translateY(-20px);
3388 transition: transform 0.3s ease;
3389 }
3390
3391 .mxchat-addon-notice.active .mxchat-addon-notice-content {
3392 transform: translateY(0);
3393 }
3394
3395 .mxchat-addon-notice-icon {
3396 font-size: 36px;
3397 margin-bottom: 15px;
3398 display: block;
3399 }
3400
3401 .mxchat-addon-notice h3 {
3402 margin: 0 0 10px 0;
3403 font-size: 20px;
3404 background: linear-gradient(135deg, #FF8C00, #FFA500);
3405 -webkit-background-clip: text;
3406 background-clip: text;
3407 -webkit-text-fill-color: transparent;
3408 display: inline-block;
3409 }
3410
3411 .mxchat-addon-notice p {
3412 margin: 0 0 20px 0;
3413 color: #666;
3414 }
3415
3416 .mxchat-addon-notice-buttons {
3417 display: flex;
3418 gap: 10px;
3419 justify-content: center;
3420 }
3421
3422
3423
3424
3425
3426 /* CSS for the custom post types accordion */
3427 .mxchat-settings-accordion {
3428 margin: 15px 0;
3429 border-radius: 4px;
3430 overflow: hidden;
3431 border: 1px solid #e0e0e5;
3432 }
3433
3434 .mxchat-accordion-header {
3435 border-bottom: none;
3436 }
3437
3438 .mxchat-accordion-button {
3439 background-color: #f7f7f9;
3440 border: none;
3441 color: #444;
3442 cursor: pointer;
3443 font-size: 15px;
3444 font-weight: 500;
3445 padding: 14px 20px;
3446 text-align: left;
3447 transition: all 0.2s ease;
3448 width: 100%;
3449 display: flex;
3450 justify-content: space-between;
3451 align-items: center;
3452 outline: none;
3453 }
3454
3455 .mxchat-accordion-button:hover {
3456 background-color: #f0f0f5;
3457 }
3458
3459 .mxchat-accordion-icon {
3460 font-size: 12px;
3461 color: #666;
3462 transition: transform 0.3s ease;
3463 }
3464
3465 .mxchat-accordion-content {
3466 border-top: 1px solid #e0e0e5;
3467 transition: all 0.3s ease;
3468 }
3469
3470 .mxchat-accordion-inner {
3471 padding: 16px 20px;
3472 background-color: #fff;
3473 }
3474
3475 /* Make the custom post types look nicer */
3476 .mxchat-custom-post-types {
3477 display: grid;
3478 grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
3479 gap: 10px;
3480 margin-top: 10px;
3481 }
3482
3483 .mxchat-description {
3484 margin-bottom: 15px;
3485 color: #666;
3486 }
3487
3488 .mxchat-empty-notice {
3489 color: #888;
3490 font-style: italic;
3491 }
3492
3493
3494
3495 /* Model Selector Button Styles */
3496 .mxchat-model-selector-wrapper {
3497 width: 100%;
3498 position: relative;
3499 }
3500
3501 .mxchat-model-selector-display {
3502 display: flex;
3503 justify-content: space-between;
3504 align-items: center;
3505 padding: 8px 12px;
3506 background-color: #fff;
3507 border: 1px solid #8c8f94;
3508 border-radius: 4px;
3509 cursor: pointer;
3510 min-height: 30px;
3511 line-height: 1.4;
3512 box-sizing: border-box;
3513 transition: border-color 0.2s;
3514 }
3515
3516 .mxchat-model-selector-display:hover {
3517 border-color: #2271b1;
3518 }
3519
3520 .mxchat-model-selected-name {
3521 white-space: nowrap;
3522 overflow: hidden;
3523 text-overflow: ellipsis;
3524 flex: 1;
3525 }
3526
3527 .mxchat-model-selector-arrow {
3528 margin-left: 8px;
3529 font-size: 10px;
3530 color: #555;
3531 }
3532
3533 /* Provider-specific border colors */
3534 .mxchat-model-provider-gemini {
3535 border-left: 3px solid #4285F4;
3536 }
3537
3538 .mxchat-model-provider-openai {
3539 border-left: 3px solid #10A37F;
3540 }
3541
3542 .mxchat-model-provider-claude {
3543 border-left: 3px solid #965de9;
3544 }
3545
3546 .mxchat-model-provider-xai {
3547 border-left: 3px solid #000000;
3548 }
3549
3550 .mxchat-model-provider-deepseek {
3551 border-left: 3px solid #0066cc;
3552 }
3553
3554 /* Modal Styles */
3555 .mxchat-model-selector-modal {
3556 display: none;
3557 position: fixed;
3558 z-index: 9999;
3559 left: 0;
3560 top: 0;
3561 width: 100%;
3562 height: 100%;
3563 overflow: auto;
3564 background-color: rgba(0, 0, 0, 0.5);
3565 }
3566
3567 .mxchat-model-selector-modal .mxchat-model-selector-modal-content {
3568 background-color: #fff;
3569 margin: 5% auto;
3570 border-radius: 8px;
3571 box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
3572 width: 80%;
3573 max-width: 800px;
3574 animation: mxchatModalFade 0.3s;
3575 }
3576
3577 @keyframes mxchatModalFade {
3578 from {opacity: 0; transform: translateY(-20px);}
3579 to {opacity: 1; transform: translateY(0);}
3580 }
3581
3582 .mxchat-model-selector-modal .mxchat-model-selector-modal-header {
3583 display: flex;
3584 justify-content: space-between;
3585 align-items: center;
3586 padding: 16px 24px;
3587 border-bottom: 1px solid #eee;
3588 }
3589
3590 .mxchat-model-selector-modal .mxchat-model-selector-modal-header h3 {
3591 margin: 0;
3592 color: #6750A4;
3593 font-size: 20px;
3594 }
3595
3596 .mxchat-model-selector-modal .mxchat-model-selector-modal-close {
3597 font-size: 24px;
3598 cursor: pointer;
3599 color: #888;
3600 }
3601
3602 .mxchat-model-selector-modal .mxchat-model-selector-modal-close:hover {
3603 color: #333;
3604 }
3605
3606 .mxchat-model-selector-modal .mxchat-model-selector-modal-body {
3607 padding: 24px;
3608 max-height: 60vh;
3609 overflow-y: auto;
3610 }
3611
3612 .mxchat-model-selector-modal .mxchat-model-selector-modal-footer {
3613 padding: 16px 24px;
3614 border-top: 1px solid #eee;
3615 text-align: right;
3616 }
3617
3618 /* Search and Category Styles */
3619 .mxchat-model-selector-modal .mxchat-model-selector-search-container {
3620 margin-bottom: 20px;
3621 }
3622
3623 .mxchat-model-selector-modal .mxchat-model-search-input {
3624 width: 100%;
3625 padding: 10px 15px;
3626 border: 1px solid #ddd;
3627 border-radius: 4px;
3628 font-size: 16px;
3629 }
3630
3631 .mxchat-model-selector-modal .mxchat-model-selector-categories {
3632 display: flex;
3633 flex-wrap: wrap;
3634 gap: 8px;
3635 margin-bottom: 20px;
3636 }
3637
3638 .mxchat-model-selector-modal .mxchat-model-category-btn {
3639 background-color: #f5f5f5;
3640 border: 1px solid #ddd;
3641 padding: 8px 16px;
3642 border-radius: 20px;
3643 cursor: pointer;
3644 transition: all 0.2s;
3645 }
3646
3647 .mxchat-model-selector-modal .mxchat-model-category-btn.active {
3648 background-color: #6750A4;
3649 color: white;
3650 border-color: #6750A4;
3651 }
3652
3653 /* Model Grid Styles */
3654 .mxchat-model-selector-modal .mxchat-model-selector-grid {
3655 display: grid;
3656 grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
3657 gap: 16px;
3658 }
3659
3660 .mxchat-model-selector-modal .mxchat-model-selector-card,
3661 .mxchat-model-selector-modal .mxchat-openrouter-card {
3662 display: flex;
3663 border: 1px solid #ddd;
3664 border-radius: 8px;
3665 padding: 16px;
3666 cursor: pointer;
3667 transition: all 0.2s;
3668 position: relative;
3669 }
3670
3671 .mxchat-model-selector-modal .mxchat-model-selector-card:hover,
3672 .mxchat-model-selector-modal .mxchat-openrouter-card:hover {
3673 border-color: #6750A4;
3674 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
3675 }
3676
3677 .mxchat-model-selector-modal .mxchat-model-selector-card.mxchat-model-selected,
3678 .mxchat-model-selector-modal .mxchat-openrouter-card.mxchat-model-selected {
3679 border-color: #6750A4;
3680 background-color: rgba(103, 80, 164, 0.05);
3681 }
3682
3683 /* Provider-specific styles for cards */
3684 .mxchat-model-selector-modal .mxchat-model-selector-card.mxchat-model-provider-gemini {
3685 border-left: 4px solid #4285F4;
3686 }
3687
3688 .mxchat-model-selector-modal .mxchat-model-selector-card.mxchat-model-provider-openai {
3689 border-left: 4px solid #10A37F;
3690 }
3691
3692 .mxchat-model-selector-modal .mxchat-model-selector-card.mxchat-model-provider-claude {
3693 border-left: 4px solid #965de9;
3694 }
3695
3696 .mxchat-model-selector-modal .mxchat-model-selector-card.mxchat-model-provider-xai {
3697 border-left: 4px solid #000000;
3698 }
3699
3700 .mxchat-model-selector-modal .mxchat-model-selector-card.mxchat-model-provider-deepseek {
3701 border-left: 4px solid #0066cc;
3702 }
3703
3704 .mxchat-model-selector-modal .mxchat-model-selector-icon {
3705 margin-right: 12px;
3706 font-size: 24px;
3707 display: flex;
3708 align-items: center;
3709 width: 25px;
3710 height: 45px;
3711 }
3712
3713 .mxchat-model-selector-modal .mxchat-model-icon-gemini {
3714 color: #4285F4;
3715 }
3716
3717 .mxchat-model-selector-modal .mxchat-model-icon-openai {
3718 color: #10A37F;
3719 }
3720
3721 .mxchat-model-selector-modal .mxchat-model-icon-claude {
3722 color: #965de9;
3723 }
3724
3725 .mxchat-model-selector-modal .mxchat-model-icon-xai {
3726 color: #000000;
3727 }
3728
3729 .mxchat-model-selector-modal .mxchat-model-icon-deepseek {
3730 color: #0066cc;
3731 }
3732
3733 .mxchat-model-selector-modal .mxchat-model-selector-info {
3734 flex: 1;
3735 }
3736
3737 .mxchat-model-selector-modal .mxchat-model-selector-title {
3738 margin: 0 0 6px 0;
3739 font-size: 16px;
3740 }
3741
3742 .mxchat-model-selector-modal .mxchat-model-selector-description {
3743 margin: 0;
3744 font-size: 14px;
3745 color: #666;
3746 }
3747
3748 .mxchat-model-selector-modal .mxchat-model-selector-checkmark {
3749 position: absolute;
3750 top: 8px;
3751 right: 8px;
3752 width: 20px;
3753 height: 20px;
3754 background-color: #6750A4;
3755 color: white;
3756 border-radius: 50%;
3757 display: flex;
3758 align-items: center;
3759 justify-content: center;
3760 font-size: 12px;
3761 }
3762
3763 /* Media queries for responsive design */
3764 @media screen and (max-width: 782px) {
3765 .mxchat-model-selector-modal .mxchat-model-selector-modal-content {
3766 width: 95%;
3767 margin: 10% auto;
3768 }
3769
3770 .mxchat-model-selector-modal .mxchat-model-selector-grid {
3771 grid-template-columns: 1fr;
3772 }
3773
3774 .mxchat-model-selector-modal .mxchat-model-selector-categories {
3775 overflow-x: auto;
3776 padding-bottom: 10px;
3777 }
3778 }
3779
3780
3781 /* Improved styling for the model selector button */
3782 #mxchat_model_selector_btn.mxchat-model-selector-btn {
3783 width: 100%;
3784 max-width: 400px;
3785 text-align: left;
3786 padding: 8px 12px;
3787 height: auto;
3788 min-height: 36px;
3789 background-color: #fff;
3790 color: #2c3338;
3791 border: 1px solid #8c8f94;
3792 border-radius: 4px;
3793 box-shadow: 0 1px 2px rgba(0, 0, 0, 0.07);
3794 position: relative;
3795 font-weight: normal;
3796 transition: all 0.2s ease;
3797 display: flex;
3798 align-items: center;
3799 justify-content: space-between;
3800 }
3801
3802 #mxchat_model_selector_btn.mxchat-model-selector-btn:after {
3803 content: "\f140";
3804 font-family: dashicons;
3805 position: absolute;
3806 right: 10px;
3807 font-size: 20px;
3808 color: #666;
3809 }
3810
3811 #mxchat_model_selector_btn.mxchat-model-selector-btn:hover {
3812 border-color: #2271b1;
3813 color: #2271b1;
3814 }
3815
3816 #mxchat_model_selector_btn.mxchat-model-selector-btn:focus {
3817 box-shadow: 0 0 0 1px #2271b1;
3818 outline: none;
3819 }
3820
3821 /* Embedding Model Selector - completely separate styling to avoid conflicts */
3822 .mxchat-embedding-model-selector-btn {
3823 width: 100%;
3824 max-width: 400px;
3825 text-align: left;
3826 padding: 8px 12px;
3827 height: auto;
3828 min-height: 36px;
3829 background-color: #fff;
3830 color: #2c3338;
3831 border: 1px solid #8c8f94;
3832 border-radius: 4px;
3833 box-shadow: 0 1px 2px rgba(0, 0, 0, 0.07);
3834 position: relative;
3835 font-weight: normal;
3836 transition: all 0.2s ease;
3837 display: flex;
3838 align-items: center;
3839 justify-content: space-between;
3840 }
3841
3842 .mxchat-embedding-model-selector-btn:after {
3843 content: "\f140";
3844 font-family: dashicons;
3845 position: absolute;
3846 right: 10px;
3847 font-size: 20px;
3848 color: #666;
3849 }
3850
3851 .mxchat-embedding-model-selector-btn:hover {
3852 border-color: #2271b1;
3853 color: #2271b1;
3854 }
3855
3856 .mxchat-embedding-model-selector-btn:focus {
3857 box-shadow: 0 0 0 1px #2271b1;
3858 outline: none;
3859 }
3860
3861 /* Modal Styles */
3862 .mxchat-embedding-model-selector-modal {
3863 display: none;
3864 position: fixed;
3865 z-index: 9999;
3866 left: 0;
3867 top: 0;
3868 width: 100%;
3869 height: 100%;
3870 overflow: auto;
3871 background-color: rgba(0, 0, 0, 0.5);
3872 }
3873
3874 .mxchat-embedding-model-selector-modal-content {
3875 background-color: #fff;
3876 margin: 5% auto;
3877 border-radius: 8px;
3878 box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
3879 width: 80%;
3880 max-width: 800px;
3881 animation: mxchatEmbeddingModalFade 0.3s;
3882 }
3883
3884 @keyframes mxchatEmbeddingModalFade {
3885 from {opacity: 0; transform: translateY(-20px);}
3886 to {opacity: 1; transform: translateY(0);}
3887 }
3888
3889 .mxchat-embedding-model-selector-modal-header {
3890 display: flex;
3891 justify-content: space-between;
3892 align-items: center;
3893 padding: 16px 24px;
3894 border-bottom: 1px solid #eee;
3895 }
3896
3897 .mxchat-embedding-model-selector-modal-header h3 {
3898 margin: 0;
3899 color: #6750A4;
3900 font-size: 20px;
3901 }
3902
3903 .mxchat-embedding-model-selector-modal-close {
3904 font-size: 24px;
3905 cursor: pointer;
3906 color: #888;
3907 }
3908
3909 .mxchat-embedding-model-selector-modal-close:hover {
3910 color: #333;
3911 }
3912
3913 .mxchat-embedding-model-selector-modal-body {
3914 padding: 24px;
3915 max-height: 60vh;
3916 overflow-y: auto;
3917 }
3918
3919 .mxchat-embedding-model-selector-modal-footer {
3920 padding: 16px 24px;
3921 border-top: 1px solid #eee;
3922 text-align: right;
3923 }
3924
3925 /* Search and Category Styles */
3926 .mxchat-embedding-model-selector-search-container {
3927 margin-bottom: 20px;
3928 }
3929
3930 .mxchat-embedding-model-search-input {
3931 width: 100%;
3932 padding: 10px 15px;
3933 border: 1px solid #ddd;
3934 border-radius: 4px;
3935 font-size: 16px;
3936 }
3937
3938 .mxchat-embedding-model-selector-categories {
3939 display: flex;
3940 flex-wrap: wrap;
3941 gap: 8px;
3942 margin-bottom: 20px;
3943 }
3944
3945 .mxchat-embedding-model-category-btn {
3946 background-color: #f5f5f5;
3947 border: 1px solid #ddd;
3948 padding: 8px 16px;
3949 border-radius: 20px;
3950 cursor: pointer;
3951 transition: all 0.2s;
3952 }
3953
3954 .mxchat-embedding-model-category-btn.active {
3955 background-color: #6750A4;
3956 color: white;
3957 border-color: #6750A4;
3958 }
3959
3960 /* Model Grid Styles */
3961 .mxchat-embedding-model-selector-grid {
3962 display: grid;
3963 grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
3964 gap: 16px;
3965 }
3966
3967 .mxchat-embedding-model-selector-card {
3968 display: flex;
3969 border: 1px solid #ddd;
3970 border-radius: 8px;
3971 padding: 16px;
3972 cursor: pointer;
3973 transition: all 0.2s;
3974 position: relative;
3975 }
3976
3977 .mxchat-embedding-model-selector-card:hover {
3978 border-color: #6750A4;
3979 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
3980 }
3981
3982 .mxchat-embedding-model-selector-card.mxchat-embedding-model-selected {
3983 border-color: #6750A4;
3984 background-color: rgba(103, 80, 164, 0.05);
3985 }
3986
3987 /* Provider-specific styles */
3988 .mxchat-embedding-model-provider-openai {
3989 border-left: 4px solid #10A37F;
3990 }
3991
3992 .mxchat-embedding-model-provider-voyage {
3993 border-left: 4px solid #0055D4;
3994 }
3995
3996 /* Provider-specific border color for Gemini */
3997 .mxchat-embedding-model-provider-gemini {
3998 border-left: 4px solid #4285F4;
3999 }
4000
4001 /* Icon color for Gemini */
4002 .mxchat-embedding-model-icon-gemini {
4003 color: #4285F4;
4004 }
4005
4006 .mxchat-embedding-model-selector-icon {
4007 margin-right: 12px;
4008 font-size: 24px;
4009 display: flex;
4010 align-items: center;
4011 width: 25px;
4012 height: 45px;
4013 }
4014
4015 .mxchat-embedding-model-icon-openai {
4016 color: #10A37F;
4017 }
4018
4019 .mxchat-embedding-model-icon-voyage {
4020 color: #0055D4;
4021 }
4022
4023 .mxchat-embedding-model-selector-info {
4024 flex: 1;
4025 }
4026
4027 .mxchat-embedding-model-selector-title {
4028 margin: 0 0 6px 0;
4029 font-size: 16px;
4030 }
4031
4032 .mxchat-embedding-model-selector-description {
4033 margin: 0;
4034 font-size: 14px;
4035 color: #666;
4036 }
4037
4038 .mxchat-embedding-model-selector-checkmark {
4039 position: absolute;
4040 top: 8px;
4041 right: 8px;
4042 width: 20px;
4043 height: 20px;
4044 background-color: #6750A4;
4045 color: white;
4046 border-radius: 50%;
4047 display: flex;
4048 align-items: center;
4049 justify-content: center;
4050 font-size: 12px;
4051 }
4052
4053 /* Media queries for responsive design */
4054 @media screen and (max-width: 782px) {
4055 .mxchat-embedding-model-selector-modal-content {
4056 width: 95%;
4057 margin: 10% auto;
4058 }
4059
4060 .mxchat-embedding-model-selector-grid {
4061 grid-template-columns: 1fr;
4062 }
4063
4064 .mxchat-embedding-model-selector-categories {
4065 overflow-x: auto;
4066 padding-bottom: 10px;
4067 }
4068 }
4069
4070
4071 /* Embedding Model Selector Button Styles */
4072 #mxchat_embedding_model_selector_btn.mxchat-embedding-model-selector-btn {
4073 width: 100%;
4074 max-width: 400px;
4075 text-align: left;
4076 padding: 8px 12px;
4077 height: auto;
4078 min-height: 36px;
4079 background-color: #fff;
4080 color: #2c3338;
4081 border: 1px solid #8c8f94;
4082 border-radius: 4px;
4083 box-shadow: 0 1px 2px rgba(0, 0, 0, 0.07);
4084 position: relative;
4085 font-weight: normal;
4086 transition: all 0.2s ease;
4087 display: flex;
4088 align-items: center;
4089 justify-content: space-between;
4090 }
4091
4092 #mxchat_embedding_model_selector_btn.mxchat-embedding-model-selector-btn:after {
4093 content: "\f140";
4094 font-family: dashicons;
4095 position: absolute;
4096 right: 10px;
4097 font-size: 20px;
4098 color: #666;
4099 }
4100
4101 #mxchat_embedding_model_selector_btn.mxchat-embedding-model-selector-btn:hover {
4102 border-color: #2271b1;
4103 color: #2271b1;
4104 }
4105
4106 #mxchat_embedding_model_selector_btn.mxchat-embedding-model-selector-btn:focus {
4107 box-shadow: 0 0 0 1px #2271b1;
4108 outline: none;
4109 }
4110
4111 .mxchat-failed-urls-container {
4112 margin-top: 15px;
4113 border-top: 1px solid rgba(0, 0, 0, 0.1);
4114 padding-top: 10px;
4115 }
4116
4117 .mxchat-failed-urls-container h4 {
4118 margin: 0 0 8px 0;
4119 font-size: 14px;
4120 color: #d63638;
4121 }
4122
4123 .mxchat-failed-urls-container details {
4124 margin-bottom: 10px;
4125 }
4126
4127 .mxchat-failed-urls-container summary {
4128 cursor: pointer;
4129 font-weight: 500;
4130 padding: 5px 0;
4131 color: #3c434a;
4132 }
4133
4134 .mxchat-failed-urls-container summary:hover {
4135 color: #2271b1;
4136 }
4137
4138 .mxchat-failed-urls-list {
4139 margin-top: 10px;
4140 max-height: 300px;
4141 overflow-y: auto;
4142 border: 1px solid #dcdcde;
4143 border-radius: 4px;
4144 background: #f8f9fa;
4145 }
4146
4147 .mxchat-failed-url-item {
4148 padding: 8px 12px;
4149 border-bottom: 1px solid #dcdcde;
4150 display: grid;
4151 grid-template-columns: 1fr;
4152 grid-gap: 6px;
4153 font-size: 12px;
4154 }
4155
4156 .mxchat-failed-url-item:last-child {
4157 border-bottom: none;
4158 }
4159
4160 .mxchat-failed-url-address {
4161 font-weight: 500;
4162 word-break: break-all;
4163 }
4164
4165 .mxchat-failed-url-address a {
4166 color: #2271b1;
4167 text-decoration: none;
4168 }
4169
4170 .mxchat-failed-url-address a:hover {
4171 text-decoration: underline;
4172 }
4173
4174 .mxchat-failed-url-error {
4175 color: #d63638;
4176 }
4177
4178 .mxchat-failed-url-time {
4179 color: #50575e;
4180 font-style: italic;
4181 font-size: 11px;
4182 }
4183
4184 .mxchat-failed-urls-more {
4185 text-align: center;
4186 padding: 8px;
4187 background: #f0f0f1;
4188 border-top: 1px solid #dcdcde;
4189 color: #50575e;
4190 font-style: italic;
4191 font-size: 12px;
4192 }
4193
4194 /* Responsive design for larger screens */
4195 @media screen and (min-width: 783px) {
4196 .mxchat-failed-url-item {
4197 grid-template-columns: 2fr 3fr 1fr;
4198 align-items: center;
4199 }
4200 }
4201
4202
4203 /* Style for addon-managed option group */
4204 .addon-managed-optgroup {
4205 color: #888 !important;
4206 font-style: italic;
4207 background: #f5f5f5;
4208 }
4209
4210 /* Selected text style */
4211 select option:disabled {
4212 color: #888;
4213 font-style: italic;
4214 }
4215
4216 .mxchat-rate-limits-container {
4217 max-width: 900px;
4218 }
4219 .mxchat-rate-limit-row {
4220 display: flex;
4221 flex-wrap: wrap;
4222 align-items: flex-start;
4223 margin-bottom: 20px;
4224 padding: 20px;
4225 background: #fff;
4226 border-radius: 8px;
4227 border: 1px solid #e0e0e0;
4228 box-shadow: 0 2px 4px rgba(0,0,0,0.04);
4229 transition: all 0.2s ease;
4230 }
4231 .mxchat-rate-limit-row:hover {
4232 box-shadow: 0 4px 8px rgba(0,0,0,0.08);
4233 border-color: #c7c7c7;
4234 }
4235 .mxchat-rate-limit-role {
4236 width: 160px;
4237 font-weight: 600;
4238 font-size: 15px;
4239 margin-right: 20px;
4240 padding-top: 4px;
4241 color: #23282d;
4242 }
4243 .mxchat-rate-limit-controls-wrapper {
4244 flex: 1;
4245 }
4246 .mxchat-rate-limit-controls {
4247 display: flex;
4248 flex-wrap: wrap;
4249 gap: 15px;
4250 align-items: center;
4251 margin-bottom: 15px;
4252 }
4253 .mxchat-rate-limit-controls > div {
4254 margin-bottom: 5px;
4255 }
4256 .mxchat-rate-limit-controls label {
4257 display: block;
4258 margin-bottom: 5px;
4259 font-weight: 500;
4260 color: #50575e;
4261 }
4262 .mxchat-rate-limit-message {
4263 width: 100%;
4264 margin-top: 15px;
4265 }
4266 .mxchat-rate-limit-message label {
4267 display: block;
4268 margin-bottom: 5px;
4269 font-weight: 500;
4270 color: #50575e;
4271 }
4272 .mxchat-rate-limit-message textarea {
4273 width: 100%;
4274 min-height: 70px;
4275 padding: 8px 12px;
4276 border-radius: 4px;
4277 resize: vertical;
4278 font-size: 14px;
4279 }
4280 .mxchat-rate-limit-controls select {
4281 min-width: 120px;
4282 padding: 6px 24px 6px 10px;
4283 }
4284 @media (max-width: 782px) {
4285 .mxchat-rate-limit-row {
4286 flex-direction: column;
4287 }
4288 .mxchat-rate-limit-role {
4289 margin-bottom: 15px;
4290 width: 100%;
4291 font-size: 16px;
4292 }
4293 .mxchat-rate-limit-controls {
4294 flex-direction: column;
4295 align-items: flex-start;
4296 gap: 12px;
4297 }
4298 .mxchat-rate-limit-controls > div {
4299 width: 100%;
4300 }
4301 .mxchat-rate-limit-controls select {
4302 width: 100%;
4303 }
4304 }
4305
4306 /* Support notification styles */
4307 .support-notification {
4308 background: linear-gradient(135deg, #fff3cd 0%, #ffeaa7 100%);
4309 border: 2px solid #f39c12;
4310 border-radius: 12px;
4311 padding: 20px;
4312 margin-bottom: 25px;
4313 display: flex;
4314 align-items: flex-start;
4315 gap: 15px;
4316 box-shadow: 0 4px 12px rgba(243, 156, 18, 0.15);
4317 position: relative;
4318 overflow: hidden;
4319 }
4320
4321 .support-notification::before {
4322 content: '';
4323 position: absolute;
4324 top: 0;
4325 left: 0;
4326 right: 0;
4327 height: 4px;
4328 background: linear-gradient(90deg, #f39c12, #e67e22, #f39c12);
4329 background-size: 200% 100%;
4330 animation: shimmer 2s ease-in-out infinite;
4331 }
4332
4333 @keyframes shimmer {
4334 0% { background-position: -200% 0; }
4335 100% { background-position: 200% 0; }
4336 }
4337
4338 .support-notification-icon {
4339 flex-shrink: 0;
4340 width: 24px;
4341 height: 24px;
4342 color: #e67e22;
4343 margin-top: 2px;
4344 }
4345
4346 .support-notification-content {
4347 flex: 1;
4348 }
4349
4350 .support-notification-title {
4351 font-size: 18px;
4352 font-weight: 600;
4353 color: #8b4513;
4354 margin: 0 0 8px 0;
4355 display: flex;
4356 align-items: center;
4357 gap: 8px;
4358 }
4359
4360 .support-notification-message {
4361 font-size: 15px;
4362 color: #8b4513;
4363 margin: 0 0 15px 0;
4364 line-height: 1.5;
4365 }
4366
4367 .support-notification-button {
4368 display: inline-flex;
4369 align-items: center;
4370 gap: 8px;
4371 background: linear-gradient(135deg, #e67e22 0%, #d35400 100%);
4372 color: white;
4373 padding: 12px 20px;
4374 border-radius: 8px;
4375 text-decoration: none;
4376 font-weight: 600;
4377 font-size: 14px;
4378 transition: all 0.3s ease;
4379 border: none;
4380 cursor: pointer;
4381 box-shadow: 0 2px 8px rgba(230, 126, 34, 0.3);
4382 }
4383
4384 .support-notification-button:hover {
4385 background: linear-gradient(135deg, #d35400 0%, #c0392b 100%);
4386 transform: translateY(-2px);
4387 box-shadow: 0 4px 12px rgba(230, 126, 34, 0.4);
4388 color: white;
4389 text-decoration: none;
4390 }
4391
4392 .support-notification-button:active {
4393 transform: translateY(0);
4394 }
4395
4396 .support-notification-button svg {
4397 width: 16px;
4398 height: 16px;
4399 }
4400
4401 /* Responsive design */
4402 @media (max-width: 768px) {
4403 .support-notification {
4404 padding: 16px;
4405 gap: 12px;
4406 }
4407
4408 .support-notification-title {
4409 font-size: 16px;
4410 }
4411
4412 .support-notification-message {
4413 font-size: 14px;
4414 }
4415
4416 .support-notification-button {
4417 padding: 10px 16px;
4418 font-size: 13px;
4419 }
4420 }
4421 /* Sample instructions button styles */
4422 .mxchat-instructions-container {
4423 margin-top: 8px;
4424 }
4425
4426 .mxchat-instructions-btn {
4427 display: inline-flex;
4428 align-items: center;
4429 gap: 6px;
4430 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
4431 color: white;
4432 padding: 8px 14px;
4433 border: none;
4434 border-radius: 6px;
4435 font-size: 13px;
4436 font-weight: 500;
4437 cursor: pointer;
4438 transition: all 0.3s ease;
4439 text-decoration: none;
4440 box-shadow: 0 2px 4px rgba(102, 126, 234, 0.2);
4441 }
4442
4443 .mxchat-instructions-btn:hover {
4444 background: linear-gradient(135deg, #5a67d8 0%, #6b46c1 100%);
4445 transform: translateY(-1px);
4446 box-shadow: 0 4px 8px rgba(102, 126, 234, 0.3);
4447 }
4448
4449 .mxchat-instructions-btn:active {
4450 transform: translateY(0);
4451 }
4452
4453 .mxchat-instructions-btn svg {
4454 width: 14px;
4455 height: 14px;
4456 }
4457
4458 /* Modal styles - Positioned relative to viewport */
4459 .mxchat-instructions-modal-overlay {
4460 display: none;
4461 position: fixed;
4462 top: 0;
4463 left: 0;
4464 width: 100%;
4465 height: 100%;
4466 background: rgba(0, 0, 0, 0.6);
4467 z-index: 999999;
4468 }
4469
4470 .mxchat-instructions-modal-overlay.mxchat-instructions-show {
4471 display: flex;
4472 align-items: center;
4473 justify-content: center;
4474 padding: 20px;
4475 }
4476
4477 .mxchat-instructions-modal-content {
4478 background: white;
4479 border-radius: 12px;
4480 max-width: 700px;
4481 width: 100%;
4482 max-height: 90vh;
4483 overflow: hidden;
4484 box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
4485 }
4486
4487 .mxchat-instructions-modal-header {
4488 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
4489 color: white;
4490 padding: 20px 24px;
4491 display: flex;
4492 align-items: center;
4493 justify-content: space-between;
4494 }
4495
4496 .mxchat-instructions-modal-title {
4497 font-size: 18px;
4498 font-weight: 600;
4499 margin: 0;
4500 display: flex;
4501 align-items: center;
4502 gap: 10px;
4503 }
4504
4505 .mxchat-instructions-modal-close {
4506 background: rgba(255, 255, 255, 0.2);
4507 border: none;
4508 color: white;
4509 width: 32px;
4510 height: 32px;
4511 border-radius: 6px;
4512 cursor: pointer;
4513 display: flex;
4514 align-items: center;
4515 justify-content: center;
4516 transition: background 0.2s ease;
4517 }
4518
4519 .mxchat-instructions-modal-close:hover {
4520 background: rgba(255, 255, 255, 0.3);
4521 }
4522
4523 .mxchat-instructions-modal-body {
4524 padding: 24px;
4525 overflow-y: auto;
4526 max-height: calc(90vh - 140px);
4527 }
4528
4529 .mxchat-instructions-content {
4530 background: #f8fafc;
4531 border: 2px solid #e2e8f0;
4532 border-radius: 8px;
4533 padding: 20px;
4534 font-family: 'Courier New', Monaco, monospace;
4535 font-size: 13px;
4536 line-height: 1.6;
4537 color: #2d3748;
4538 white-space: pre-wrap;
4539 word-wrap: break-word;
4540 }
4541
4542 .mxchat-instructions-copy-btn {
4543 margin-top: 16px;
4544 background: #48bb78;
4545 color: white;
4546 border: none;
4547 padding: 10px 16px;
4548 border-radius: 6px;
4549 font-size: 14px;
4550 font-weight: 500;
4551 cursor: pointer;
4552 display: inline-flex;
4553 align-items: center;
4554 gap: 8px;
4555 transition: all 0.2s ease;
4556 }
4557
4558 .mxchat-instructions-copy-btn:hover {
4559 background: #38a169;
4560 transform: translateY(-1px);
4561 }
4562
4563 .mxchat-instructions-copy-btn svg {
4564 width: 16px;
4565 height: 16px;
4566 }
4567
4568 .mxchat-instructions-modal-footer {
4569 padding: 16px 24px;
4570 background: #f7fafc;
4571 border-top: 1px solid #e2e8f0;
4572 text-align: right;
4573 }
4574
4575 .mxchat-instructions-btn-secondary {
4576 background: #e2e8f0;
4577 color: #4a5568;
4578 border: none;
4579 padding: 8px 16px;
4580 border-radius: 6px;
4581 font-size: 14px;
4582 cursor: pointer;
4583 transition: background 0.2s ease;
4584 }
4585
4586 .mxchat-instructions-btn-secondary:hover {
4587 background: #cbd5e0;
4588 }
4589
4590 /* Responsive design */
4591 @media (max-width: 782px) {
4592 .mxchat-instructions-modal-overlay.mxchat-instructions-show {
4593 padding: 10px;
4594 }
4595
4596 .mxchat-instructions-modal-content {
4597 max-height: 95vh;
4598 }
4599
4600 .mxchat-instructions-modal-header {
4601 padding: 16px 20px;
4602 }
4603
4604 .mxchat-instructions-modal-body {
4605 padding: 20px;
4606 max-height: calc(95vh - 120px);
4607 }
4608
4609 .mxchat-instructions-content {
4610 font-size: 12px;
4611 padding: 16px;
4612 }
4613 }
4614
4615
4616
4617
4618
4619 /* Completion Card - Modern Theme */
4620 .mxchat-completion-card {
4621 margin: 20px 0;
4622 background: #ffffff;
4623 border-radius: 12px;
4624 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08), 0 4px 16px rgba(0, 0, 0, 0.06);
4625 overflow: hidden;
4626 transition: all 0.3s ease;
4627 border: 1px solid rgba(0, 0, 0, 0.06);
4628 }
4629
4630 .mxchat-completion-card:hover {
4631 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1), 0 6px 20px rgba(0, 0, 0, 0.08);
4632 }
4633
4634 /* Header Section */
4635 .mxchat-completion-header {
4636 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
4637 padding: 24px;
4638 display: flex;
4639 align-items: center;
4640 gap: 16px;
4641 }
4642
4643 .mxchat-completion-icon {
4644 width: 48px;
4645 height: 48px;
4646 background: rgba(255, 255, 255, 0.2);
4647 border-radius: 12px;
4648 display: flex;
4649 align-items: center;
4650 justify-content: center;
4651 flex-shrink: 0;
4652 }
4653
4654 .mxchat-completion-icon svg {
4655 color: #ffffff;
4656 width: 28px;
4657 height: 28px;
4658 }
4659
4660 .mxchat-completion-title h3 {
4661 margin: 0;
4662 color: #ffffff;
4663 font-size: 20px;
4664 font-weight: 600;
4665 letter-spacing: -0.02em;
4666 }
4667
4668 .mxchat-completion-time {
4669 margin: 4px 0 0 0;
4670 color: rgba(255, 255, 255, 0.8);
4671 font-size: 14px;
4672 }
4673
4674 /* Summary Section */
4675 .mxchat-completion-summary {
4676 padding: 24px;
4677 border-bottom: 1px solid #f0f0f1;
4678 }
4679
4680 .mxchat-completion-summary h4 {
4681 margin: 0 0 16px 0;
4682 color: #1d2327;
4683 font-size: 16px;
4684 font-weight: 600;
4685 }
4686
4687 .mxchat-summary-stats {
4688 display: grid;
4689 grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
4690 gap: 12px;
4691 }
4692
4693 .mxchat-stat-card {
4694 background: #f6f7f7;
4695 padding: 20px;
4696 border-radius: 12px;
4697 display: flex;
4698 align-items: center;
4699 gap: 16px;
4700 transition: all 0.2s ease;
4701 }
4702
4703 .mxchat-stat-card:hover {
4704 transform: translateY(-2px);
4705 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
4706 }
4707
4708 .mxchat-stat-card .stat-icon {
4709 font-size: 32px;
4710 line-height: 1;
4711 opacity: 0.9;
4712 }
4713
4714 .mxchat-stat-card .stat-content {
4715 flex: 1;
4716 text-align: left;
4717 }
4718
4719 .mxchat-stat-label {
4720 display: block;
4721 font-size: 12px;
4722 color: #646970;
4723 font-weight: 500;
4724 text-transform: uppercase;
4725 letter-spacing: 0.5px;
4726 margin-bottom: 4px;
4727 }
4728
4729 .mxchat-stat-value {
4730 display: block;
4731 font-size: 28px;
4732 font-weight: 700;
4733 color: #1d2327;
4734 line-height: 1.2;
4735 }
4736
4737 .mxchat-stat-sublabel {
4738 display: block;
4739 font-size: 11px;
4740 color: #8c8f94;
4741 margin-top: 4px;
4742 }
4743
4744 /* Stat Card Variants */
4745 .mxchat-stat-primary {
4746 background: linear-gradient(135deg, #f6f7f7 0%, #ffffff 100%);
4747 border: 1px solid #e5e7eb;
4748 }
4749
4750 .mxchat-stat-accent {
4751 background: linear-gradient(135deg, #faf5ff 0%, #f3e8ff 100%);
4752 border: 1px solid #e9d5ff;
4753 }
4754
4755 .mxchat-stat-accent .stat-value {
4756 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
4757 -webkit-background-clip: text;
4758 -webkit-text-fill-color: transparent;
4759 background-clip: text;
4760 }
4761
4762 .mxchat-stat-success {
4763 background: #e6f5e6;
4764 }
4765
4766 .mxchat-stat-success .mxchat-stat-value {
4767 color: #00a32a;
4768 }
4769
4770 .mxchat-stat-failed {
4771 background: #fef1f1;
4772 }
4773
4774 .mxchat-stat-failed .mxchat-stat-value {
4775 color: #d63638;
4776 }
4777
4778 /* Metrics Dashboard */
4779 .mxchat-metrics-dashboard {
4780 background: #ffffff;
4781 border-radius: 16px;
4782 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
4783 margin-bottom: 24px;
4784 overflow: hidden;
4785 }
4786
4787 .mxchat-metrics-tabs {
4788 display: flex;
4789 gap: 0;
4790 background: #f6f7f7;
4791 border-bottom: 1px solid #e5e7eb;
4792 padding: 0;
4793 }
4794
4795 .mxchat-metrics-tab {
4796 flex: 1;
4797 display: flex;
4798 align-items: center;
4799 justify-content: center;
4800 gap: 8px;
4801 padding: 16px 24px;
4802 background: transparent;
4803 border: none;
4804 border-bottom: 3px solid transparent;
4805 cursor: pointer;
4806 font-size: 14px;
4807 font-weight: 500;
4808 color: #646970;
4809 transition: all 0.2s ease;
4810 position: relative;
4811 }
4812
4813 .mxchat-metrics-tab:hover {
4814 background: rgba(255, 255, 255, 0.5);
4815 color: #1d2327;
4816 }
4817
4818 .mxchat-metrics-tab.active {
4819 background: #ffffff;
4820 color: #1d2327;
4821 border-bottom-color: #667eea;
4822 }
4823
4824 .mxchat-metrics-tab .tab-icon {
4825 font-size: 18px;
4826 line-height: 1;
4827 }
4828
4829 .mxchat-metrics-tab .tab-label {
4830 font-weight: 600;
4831 }
4832
4833 .mxchat-metrics-content {
4834 position: relative;
4835 }
4836
4837 .mxchat-metrics-panel {
4838 display: none;
4839 padding: 24px;
4840 animation: mxchat-fadeIn 0.3s ease;
4841 }
4842
4843 .mxchat-metrics-panel.active {
4844 display: block;
4845 }
4846
4847 @keyframes mxchat-fadeIn {
4848 from {
4849 opacity: 0;
4850 transform: translateY(10px);
4851 }
4852 to {
4853 opacity: 1;
4854 transform: translateY(0);
4855 }
4856 }
4857
4858 /* Activity Layout */
4859 .mxchat-activity-layout {
4860 display: grid;
4861 gap: 24px;
4862 }
4863
4864 .mxchat-activity-stats {
4865 display: grid;
4866 grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
4867 gap: 16px;
4868 }
4869
4870 /* Chart Container */
4871 .mxchat-chart-container {
4872 background: #f9fafb;
4873 border-radius: 12px;
4874 padding: 24px;
4875 border: 1px solid #e5e7eb;
4876 }
4877
4878 .mxchat-chart-title {
4879 margin: 0 0 20px 0;
4880 font-size: 16px;
4881 font-weight: 600;
4882 color: #1d2327;
4883 display: flex;
4884 align-items: center;
4885 gap: 8px;
4886 }
4887
4888 #mxchat-activity-chart {
4889 max-height: 300px;
4890 width: 100% !important;
4891 height: auto !important;
4892 }
4893
4894 /* Insights Grid */
4895 .mxchat-insights-grid {
4896 display: grid;
4897 grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
4898 gap: 20px;
4899 }
4900
4901 .mxchat-insight-card {
4902 background: linear-gradient(135deg, #ffffff 0%, #f9fafb 100%);
4903 border: 1px solid #e5e7eb;
4904 border-radius: 12px;
4905 padding: 20px;
4906 transition: all 0.2s ease;
4907 }
4908
4909 .mxchat-insight-card:hover {
4910 transform: translateY(-2px);
4911 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
4912 border-color: #d1d5db;
4913 }
4914
4915 .insight-header {
4916 display: flex;
4917 align-items: center;
4918 gap: 12px;
4919 margin-bottom: 16px;
4920 padding-bottom: 12px;
4921 border-bottom: 1px solid #e5e7eb;
4922 }
4923
4924 .insight-icon {
4925 font-size: 24px;
4926 line-height: 1;
4927 }
4928
4929 .insight-header h3 {
4930 margin: 0;
4931 font-size: 14px;
4932 font-weight: 600;
4933 color: #374151;
4934 text-transform: uppercase;
4935 letter-spacing: 0.5px;
4936 }
4937
4938 .insight-content {
4939 text-align: left;
4940 }
4941
4942 .insight-value {
4943 font-size: 32px;
4944 font-weight: 700;
4945 color: #1d2327;
4946 margin-bottom: 8px;
4947 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
4948 -webkit-background-clip: text;
4949 -webkit-text-fill-color: transparent;
4950 background-clip: text;
4951 padding-bottom: 4px; /* Prevent gradient text clipping */
4952 }
4953
4954 .insight-description {
4955 font-size: 12px;
4956 color: #374151;
4957 line-height: 1.5;
4958 }
4959
4960 .insight-breakdown {
4961 display: flex;
4962 flex-direction: column;
4963 gap: 12px;
4964 }
4965
4966 .breakdown-item {
4967 display: flex;
4968 justify-content: space-between;
4969 align-items: center;
4970 padding: 10px 12px;
4971 background: #f9fafb;
4972 border-radius: 6px;
4973 border: 1px solid #e5e7eb;
4974 }
4975
4976 .breakdown-label {
4977 font-size: 13px;
4978 color: #6b7280;
4979 font-weight: 500;
4980 }
4981
4982 .breakdown-value {
4983 font-size: 16px;
4984 font-weight: 700;
4985 color: #1d2327;
4986 }
4987
4988 /* Status Badges */
4989 .insight-status {
4990 display: flex;
4991 align-items: center;
4992 }
4993
4994 /* Reset gradient text styling for status badges */
4995 .insight-value.insight-status {
4996 background: none;
4997 -webkit-background-clip: unset;
4998 -webkit-text-fill-color: unset;
4999 background-clip: unset;
5000 }
5001
5002 .status-badge {
5003 display: inline-block;
5004 padding: 6px 12px;
5005 border-radius: 20px;
5006 font-size: 13px;
5007 font-weight: 600;
5008 text-transform: uppercase;
5009 letter-spacing: 0.5px;
5010 }
5011
5012 .status-active {
5013 background: linear-gradient(135deg, #10b981 0%, #059669 100%);
5014 color: #ffffff !important;
5015 -webkit-text-fill-color: #ffffff !important;
5016 }
5017
5018 .status-moderate {
5019 background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
5020 color: #ffffff !important;
5021 -webkit-text-fill-color: #ffffff !important;
5022 }
5023
5024 .status-quiet {
5025 background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);
5026 color: #ffffff !important;
5027 -webkit-text-fill-color: #ffffff !important;
5028 }
5029
5030 /* Responsive Design */
5031 @media (max-width: 768px) {
5032 .mxchat-metrics-tabs {
5033 flex-direction: column;
5034 }
5035
5036 .mxchat-metrics-tab {
5037 border-bottom: none;
5038 border-left: 3px solid transparent;
5039 }
5040
5041 .mxchat-metrics-tab.active {
5042 border-bottom: none;
5043 border-left-color: #667eea;
5044 }
5045
5046 .mxchat-activity-stats,
5047 .mxchat-insights-grid {
5048 grid-template-columns: 1fr;
5049 }
5050
5051 .mxchat-stats-grid {
5052 grid-template-columns: 1fr;
5053 }
5054 }
5055
5056 /* Failed URLs Section */
5057 .mxchat-failed-urls-section {
5058 padding: 24px;
5059 background: #fafafa;
5060 border-top: 1px solid #f0f0f1;
5061 }
5062
5063 .mxchat-failed-urls-section h4 {
5064 margin: 0 0 16px 0;
5065 color: #d63638;
5066 font-size: 16px;
5067 font-weight: 600;
5068 display: flex;
5069 align-items: center;
5070 gap: 8px;
5071 }
5072
5073 .mxchat-icon-warning {
5074 flex-shrink: 0;
5075 }
5076
5077 .mxchat-failed-urls-table-wrapper {
5078 max-height: 300px;
5079 overflow-y: auto;
5080 background: #ffffff;
5081 border-radius: 8px;
5082 border: 1px solid #e0e0e0;
5083 }
5084
5085 .mxchat-failed-urls-table {
5086 width: 100%;
5087 border-collapse: collapse;
5088 }
5089
5090 .mxchat-failed-urls-table thead {
5091 position: sticky;
5092 top: 0;
5093 background: #f6f7f7;
5094 z-index: 1;
5095 }
5096
5097 .mxchat-failed-urls-table th {
5098 text-align: left;
5099 padding: 12px 16px;
5100 font-weight: 600;
5101 font-size: 13px;
5102 color: #1d2327;
5103 text-transform: uppercase;
5104 letter-spacing: 0.5px;
5105 border-bottom: 2px solid #e0e0e0;
5106 }
5107
5108 .mxchat-failed-urls-table tbody tr {
5109 transition: background-color 0.2s ease;
5110 }
5111
5112 .mxchat-failed-urls-table tbody tr:hover {
5113 background-color: #f6f7f7;
5114 }
5115
5116 .mxchat-failed-urls-table td {
5117 padding: 12px 16px;
5118 border-bottom: 1px solid #f0f0f1;
5119 font-size: 14px;
5120 }
5121
5122 .mxchat-url-cell {
5123 word-break: break-all;
5124 }
5125
5126 .mxchat-url-cell a {
5127 color: #667eea;
5128 text-decoration: none;
5129 transition: color 0.2s ease;
5130 }
5131
5132 .mxchat-url-cell a:hover {
5133 color: #764ba2;
5134 text-decoration: underline;
5135 }
5136
5137 .mxchat-error-cell {
5138 color: #d63638;
5139 }
5140
5141 .mxchat-time-cell {
5142 color: #646970;
5143 white-space: nowrap;
5144 }
5145
5146 /* Action Buttons */
5147 .mxchat-completion-actions {
5148 padding: 24px;
5149 display: flex;
5150 gap: 12px;
5151 justify-content: flex-end;
5152 background: #fafafa;
5153 }
5154
5155 .mxchat-btn {
5156 display: inline-flex;
5157 align-items: center;
5158 gap: 8px;
5159 padding: 10px 20px;
5160 border: none;
5161 border-radius: 6px;
5162 font-size: 14px;
5163 font-weight: 500;
5164 cursor: pointer;
5165 transition: all 0.2s ease;
5166 text-decoration: none;
5167 }
5168
5169 .mxchat-btn svg {
5170 width: 16px;
5171 height: 16px;
5172 }
5173
5174 .mxchat-btn-primary {
5175 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
5176 color: #ffffff;
5177 }
5178
5179 .mxchat-btn-primary:hover {
5180 transform: translateY(-1px);
5181 box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
5182 }
5183
5184 .mxchat-btn-secondary {
5185 background: #ffffff;
5186 color: #667eea;
5187 border: 1px solid #667eea;
5188 }
5189
5190 .mxchat-btn-secondary:hover {
5191 background: #f6f7ff;
5192 transform: translateY(-1px);
5193 box-shadow: 0 4px 12px rgba(102, 126, 234, 0.2);
5194 }
5195
5196 .mxchat-btn:disabled {
5197 opacity: 0.5;
5198 cursor: not-allowed;
5199 }
5200
5201 .mxchat-btn:disabled:hover {
5202 transform: none;
5203 box-shadow: none;
5204 }
5205
5206 /* Responsive adjustments */
5207 @media (max-width: 768px) {
5208 .mxchat-summary-stats {
5209 grid-template-columns: 1fr;
5210 }
5211
5212 .mxchat-completion-actions {
5213 flex-direction: column;
5214 }
5215
5216 .mxchat-btn {
5217 width: 100%;
5218 justify-content: center;
5219 }
5220 }
5221
5222 /* Scrollbar styling for failed URLs table */
5223 .mxchat-failed-urls-table-wrapper::-webkit-scrollbar {
5224 width: 8px;
5225 }
5226
5227 .mxchat-failed-urls-table-wrapper::-webkit-scrollbar-track {
5228 background: #f0f0f1;
5229 border-radius: 4px;
5230 }
5231
5232 .mxchat-failed-urls-table-wrapper::-webkit-scrollbar-thumb {
5233 background: #c3c4c7;
5234 border-radius: 4px;
5235 }
5236
5237 .mxchat-failed-urls-table-wrapper::-webkit-scrollbar-thumb:hover {
5238 background: #a7aaad;
5239 }
5240
5241
5242 /* Live Agent Disabled Notice Styles - Enhanced design */
5243 .mxchat-live-agent-disabled-notice {
5244 margin-bottom: 20px;
5245 }
5246
5247 .mxchat-live-agent-disabled-notice .mxchat-pro-notification {
5248 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
5249 border-radius: 12px;
5250 padding: 24px 24px 24px 24px;
5251 color: white;
5252 position: relative;
5253 box-shadow: 0 8px 32px rgba(102, 126, 234, 0.3);
5254 border: 1px solid rgba(255, 255, 255, 0.1);
5255 }
5256
5257 .mxchat-dismiss-btn {
5258 position: absolute;
5259 top: 16px;
5260 right: 16px;
5261 background: rgba(255, 255, 255, 0.1);
5262 border: 1px solid rgba(255, 255, 255, 0.2);
5263 border-radius: 6px;
5264 color: rgba(255, 255, 255, 0.8);
5265 cursor: pointer;
5266 padding: 8px;
5267 display: flex;
5268 align-items: center;
5269 justify-content: center;
5270 transition: all 0.2s ease;
5271 backdrop-filter: blur(10px);
5272 }
5273
5274 .mxchat-dismiss-btn:hover {
5275 background: rgba(255, 255, 255, 0.2);
5276 color: white;
5277 transform: scale(1.05);
5278 }
5279
5280 .mxchat-dismiss-btn:active {
5281 transform: scale(0.95);
5282 }
5283
5284 .mxchat-live-agent-content {
5285 padding-right: 60px; /* Space for dismiss button */
5286 }
5287
5288 .mxchat-live-agent-content h3 {
5289 margin: 0 0 16px 0;
5290 font-size: 20px;
5291 font-weight: 600;
5292 color: white;
5293 display: flex;
5294 align-items: center;
5295 gap: 8px;
5296 }
5297
5298 .mxchat-live-agent-content p {
5299 margin: 0;
5300 font-size: 15px;
5301 line-height: 1.6;
5302 opacity: 0.95;
5303 color: rgba(255, 255, 255, 0.95);
5304 }
5305
5306 .mxchat-live-agent-content strong {
5307 color: #fff;
5308 font-weight: 600;
5309 background: rgba(255, 255, 255, 0.1);
5310 padding: 2px 6px;
5311 border-radius: 4px;
5312 font-size: 14px;
5313 }
5314
5315 .mxchat-processing-controls {
5316 display: flex;
5317 gap: 10px;
5318 align-items: center;
5319 }
5320
5321 /* Status Card Container */
5322 .mxchat-status-card {
5323 background: #fff;
5324 border: 1px solid #ddd;
5325 border-radius: 8px;
5326 padding: 20px;
5327 margin-bottom: 20px;
5328 box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
5329 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
5330 }
5331
5332 /* Status Header */
5333 .mxchat-status-header {
5334 display: flex;
5335 align-items: center;
5336 justify-content: space-between;
5337 margin-bottom: 15px;
5338 flex-wrap: wrap;
5339 gap: 10px;
5340 }
5341
5342 .mxchat-status-header h4 {
5343 margin: 0;
5344 font-size: 18px;
5345 font-weight: 600;
5346 color: #333;
5347 }
5348
5349 .mxchat-status-header h5 {
5350 margin: 0 0 10px 0;
5351 font-size: 16px;
5352 font-weight: 600;
5353 color: #333;
5354 }
5355
5356 /* Dismiss Button */
5357 .mxchat-dismiss-button {
5358 padding: 6px 12px;
5359 background: #dc3545;
5360 color: white;
5361 border: none;
5362 border-radius: 4px;
5363 cursor: pointer;
5364 font-size: 12px;
5365 font-weight: 500;
5366 transition: background-color 0.2s ease;
5367 }
5368
5369 .mxchat-dismiss-button:hover {
5370 background: #c82333;
5371 }
5372
5373 .mxchat-dismiss-button:active {
5374 transform: translateY(1px);
5375 }
5376
5377 /* Process Batch Button */
5378 .mxchat-manual-batch-btn {
5379 padding: 8px 16px;
5380 background: #007cba;
5381 color: white;
5382 border: none;
5383 border-radius: 4px;
5384 cursor: pointer;
5385 font-size: 13px;
5386 font-weight: 500;
5387 transition: all 0.2s ease;
5388 text-decoration: none;
5389 display: inline-block;
5390 }
5391
5392 .mxchat-manual-batch-btn:hover {
5393 background: #005a87;
5394 color: white;
5395 text-decoration: none;
5396 }
5397
5398 .mxchat-manual-batch-btn:active {
5399 transform: translateY(1px);
5400 }
5401
5402 .mxchat-manual-batch-btn:focus {
5403 outline: 2px solid #007cba;
5404 outline-offset: 2px;
5405 }
5406
5407
5408
5409
5410
5411 /* MxChat Plugin Activation Page Styles */
5412
5413 .mxchat-license-details {
5414 background: #f9f9f9;
5415 padding: 15px;
5416 border-radius: 5px;
5417 margin-top: 15px;
5418 border-left: 4px solid #2271b1;
5419 }
5420
5421 .mxchat-license-details p {
5422 margin: 8px 0;
5423 }
5424
5425 .mxchat-license-details small {
5426 color: #666;
5427 }
5428
5429 .mxchat-license-details a {
5430 color: #2271b1;
5431 text-decoration: none;
5432 }
5433
5434 .mxchat-license-details a:hover {
5435 text-decoration: underline;
5436 }
5437
5438 /* Domain linking styles */
5439 #link-domain-button {
5440 background: #2271b1;
5441 color: white;
5442 border: none;
5443 padding: 8px 16px;
5444 border-radius: 4px;
5445 cursor: pointer;
5446 font-size: 13px;
5447 }
5448
5449 #link-domain-button:hover {
5450 background: #1a5a8a;
5451 }
5452
5453 #link-domain-button:disabled {
5454 background: #ccc;
5455 cursor: not-allowed;
5456 }
5457
5458 #domain-link-status {
5459 font-size: 13px;
5460 font-weight: 500;
5461 }
5462
5463 /* Status badges */
5464 .mxchat-status-badge.active {
5465 color: #2d8f47;
5466 background: #d4edda;
5467 padding: 4px 8px;
5468 border-radius: 4px;
5469 font-size: 12px;
5470 font-weight: 600;
5471 }
5472
5473 .mxchat-status-badge.inactive {
5474 color: #842029;
5475 background: #f8d7da;
5476 padding: 4px 8px;
5477 border-radius: 4px;
5478 font-size: 12px;
5479 font-weight: 600;
5480 }
5481
5482 /* Notice styles for domain linking */
5483 .notice.notice-info {
5484 background: #e7f3ff;
5485 border-left-color: #2271b1;
5486 z-index: 100000000000000000;
5487 position: relative;
5488 }
5489
5490 .notice.notice-success {
5491 background: #d1eddb;
5492 border-left-color: #2d8f47;
5493 }
5494
5495 /* Animation for status changes */
5496 .license-status-updating {
5497 opacity: 0.6;
5498 transition: opacity 0.3s ease;
5499 }
5500
5501 /* Spinner for domain linking */
5502 .domain-link-spinner {
5503 display: inline-block;
5504 width: 16px;
5505 height: 16px;
5506 border: 2px solid #f3f3f3;
5507 border-top: 2px solid #2271b1;
5508 border-radius: 50%;
5509 animation: spin 1s linear infinite;
5510 margin-left: 8px;
5511 }
5512
5513 @keyframes spin {
5514 0% { transform: rotate(0deg); }
5515 100% { transform: rotate(360deg); }
5516 }
5517
5518
5519
5520 .mxchat-pro-notification .old-price {
5521 text-decoration: line-through;
5522 color: #888;
5523 }
5524 .mxchat-pro-notification .new-price {
5525 font-weight: bold;
5526 color: #d9534f; /* red for urgency */
5527 }
5528
5529
5530
5531 #mxchat-test-streaming-btn:disabled {
5532 opacity: 0.6;
5533 cursor: not-allowed;
5534 }
5535 #mxchat-test-streaming-result {
5536 padding: 8px 12px;
5537 border-radius: 4px;
5538 display: none;
5539 }
5540 #mxchat-test-streaming-result:not(:empty) {
5541 display: block;
5542 background: #f0f0f1;
5543 border-left: 4px solid #72aee6;
5544 }
5545
5546
5547 /* Hide email-dependent fields by default */
5548 tr:has(#email_blocker_header_content),
5549 tr:has(#email_blocker_button_text),
5550 tr:has(#enable_name_field),
5551 tr:has(#name_field_placeholder) {
5552 display: none;
5553 }
5554
5555 /* Show them when email block is enabled */
5556 body.email-block-enabled tr:has(#email_blocker_header_content),
5557 body.email-block-enabled tr:has(#email_blocker_button_text),
5558 body.email-block-enabled tr:has(#enable_name_field),
5559 body.email-block-enabled tr:has(#name_field_placeholder) {
5560 display: table-row;
5561 }
5562
5563 /* Style for email-dependent fields */
5564 .email-dependent-field {
5565 background-color: #f8f9fa;
5566 border-left: 4px solid #0073aa;
5567 padding-left: 15px;
5568 margin-left: 10px;
5569 }
5570
5571 .email-dependent-field td,
5572 .email-dependent-field th {
5573 background-color: #f8f9fa;
5574 }
5575
5576
5577 /* NEW: Role restriction styles */
5578 .mxchat-role-restriction-container {
5579 margin-bottom: 8px;
5580 }
5581
5582 .mxchat-role-select {
5583 width: 100%;
5584 max-width: 180px;
5585 padding: 4px 8px;
5586 border: 1px solid #ddd;
5587 border-radius: 4px;
5588 font-size: 12px;
5589 background: white;
5590 }
5591
5592 .mxchat-role-select.updating {
5593 opacity: 0.6;
5594 pointer-events: none;
5595 }
5596
5597 .mxchat-role-select.updated {
5598 border-color: #46b450;
5599 box-shadow: 0 0 0 1px #46b450;
5600 }
5601
5602 .mxchat-action-buttons {
5603 display: flex;
5604 gap: 4px;
5605 justify-content: center;
5606 }
5607
5608 .mxchat-actions-cell {
5609 min-width: 200px;
5610 text-align: center;
5611 }
5612
5613
5614
5615 .mxchat-bot-selector {
5616 display: flex;
5617 flex-direction: column;
5618 gap: 8px;
5619 max-height: 200px;
5620 overflow-y: auto;
5621 border: 1px solid #ddd;
5622 padding: 12px;
5623 border-radius: 4px;
5624 background: #f9f9f9;
5625 }
5626
5627 .mxchat-bot-option {
5628 display: flex;
5629 align-items: center;
5630 }
5631
5632 .mxchat-checkbox-label {
5633 display: flex;
5634 align-items: center;
5635 cursor: pointer;
5636 font-size: 14px;
5637 gap: 8px;
5638 }
5639
5640 .mxchat-checkbox-label input[type="checkbox"] {
5641 margin: 0;
5642 }
5643
5644 .mxchat-checkmark {
5645 display: inline-block;
5646 }
5647
5648
5649 .mxchat-card-bots {
5650 margin-top: 12px;
5651 padding-top: 12px;
5652 border-top: 1px solid #e5e7eb;
5653 }
5654
5655 .mxchat-card-bots strong {
5656 display: block;
5657 margin-bottom: 6px;
5658 color: #374151;
5659 font-size: 13px;
5660 font-weight: 600;
5661 }
5662
5663 .mxchat-bot-badges {
5664 display: flex;
5665 flex-wrap: wrap;
5666 gap: 6px;
5667 }
5668
5669 .mxchat-bot-badge {
5670 display: inline-flex;
5671 align-items: center;
5672 padding: 3px 8px;
5673 background-color: #f3f4f6;
5674 border: 1px solid #d1d5db;
5675 border-radius: 12px;
5676 font-size: 11px;
5677 font-weight: 500;
5678 color: #6b7280;
5679 line-height: 1.2;
5680 white-space: nowrap;
5681 }
5682
5683 .mxchat-bot-badge:first-child {
5684 background-color: #dbeafe;
5685 border-color: #93c5fd;
5686 color: #1e40af;
5687 }
5688
5689
5690 /* Always show OpenRouter API key field */
5691 tr.mxchat-setting-row[data-provider="openrouter"],
5692 .mxchat-openrouter-wrapper {
5693 display: table-row !important;
5694 }
5695
5696 /* ========== RAG Context Modal Styles ========== */
5697
5698 /* Message header with role and sources link */
5699 .mxchat-message .mxchat-message-header {
5700 display: flex;
5701 justify-content: space-between;
5702 align-items: center;
5703 margin-bottom: 6px;
5704 }
5705
5706 .mxchat-message .mxchat-role-label {
5707 font-weight: 600;
5708 font-size: 12px;
5709 text-transform: uppercase;
5710 letter-spacing: 0.02em;
5711 }
5712
5713 /* Sources link - clean, professional style */
5714 .mxchat-rag-link {
5715 font-size: 11px;
5716 color: #64748b;
5717 cursor: pointer;
5718 transition: color 0.15s ease;
5719 font-weight: 500;
5720 letter-spacing: 0.01em;
5721 }
5722
5723 .mxchat-rag-link:hover {
5724 color: #3b82f6;
5725 }
5726
5727 /* Transcript message content styling */
5728 .mxchat-message-content a {
5729 color: #3b82f6;
5730 text-decoration: none;
5731 }
5732
5733 .mxchat-message-content a:hover {
5734 text-decoration: underline;
5735 }
5736
5737 .mxchat-message-content code {
5738 background: rgba(0, 0, 0, 0.06);
5739 padding: 2px 5px;
5740 border-radius: 3px;
5741 font-family: ui-monospace, monospace;
5742 font-size: 0.9em;
5743 }
5744
5745 .mxchat-message-content pre {
5746 background: #1e293b;
5747 color: #e2e8f0;
5748 padding: 12px 16px;
5749 border-radius: 6px;
5750 overflow-x: auto;
5751 margin: 8px 0;
5752 }
5753
5754 .mxchat-message-content pre code {
5755 background: none;
5756 padding: 0;
5757 color: inherit;
5758 }
5759
5760 .mxchat-message-content strong {
5761 font-weight: 600;
5762 }
5763
5764 .mxchat-message-content h1,
5765 .mxchat-message-content h2,
5766 .mxchat-message-content h3,
5767 .mxchat-message-content h4,
5768 .mxchat-message-content h5,
5769 .mxchat-message-content h6 {
5770 margin: 12px 0 8px 0;
5771 font-weight: 600;
5772 line-height: 1.3;
5773 }
5774
5775 .mxchat-message-content h1 { font-size: 1.4em; }
5776 .mxchat-message-content h2 { font-size: 1.3em; }
5777 .mxchat-message-content h3 { font-size: 1.2em; }
5778 .mxchat-message-content h4 { font-size: 1.1em; }
5779 .mxchat-message-content h5 { font-size: 1em; }
5780 .mxchat-message-content h6 { font-size: 0.95em; }
5781
5782 /* RAG Modal Overlay */
5783 .mxchat-rag-modal-overlay {
5784 position: fixed;
5785 top: 0;
5786 left: 0;
5787 width: 100%;
5788 height: 100%;
5789 background-color: rgba(15, 23, 42, 0.4);
5790 backdrop-filter: blur(4px);
5791 -webkit-backdrop-filter: blur(4px);
5792 z-index: 100000;
5793 display: flex;
5794 align-items: center;
5795 justify-content: center;
5796 padding: 24px;
5797 }
5798
5799 /* RAG Modal Content */
5800 .mxchat-rag-modal-content {
5801 background: #fff;
5802 border-radius: 16px;
5803 width: 100%;
5804 max-width: 640px;
5805 max-height: calc(100vh - 48px);
5806 display: flex;
5807 flex-direction: column;
5808 box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
5809 animation: mxchat-modal-appear 0.2s ease-out;
5810 overflow: hidden;
5811 }
5812
5813 @keyframes mxchat-modal-appear {
5814 from {
5815 opacity: 0;
5816 transform: scale(0.96) translateY(8px);
5817 }
5818 to {
5819 opacity: 1;
5820 transform: scale(1) translateY(0);
5821 }
5822 }
5823
5824 /* RAG Modal Header */
5825 .mxchat-rag-modal-header {
5826 display: flex;
5827 justify-content: space-between;
5828 align-items: center;
5829 padding: 20px 24px;
5830 border-bottom: 1px solid #e2e8f0;
5831 background: #fff;
5832 flex-shrink: 0;
5833 }
5834
5835 .mxchat-rag-modal-header h2 {
5836 margin: 0;
5837 font-size: 1.125rem;
5838 font-weight: 600;
5839 color: #0f172a;
5840 letter-spacing: -0.01em;
5841 }
5842
5843 .mxchat-rag-modal-close {
5844 display: flex;
5845 align-items: center;
5846 justify-content: center;
5847 width: 32px;
5848 height: 32px;
5849 background: transparent;
5850 border: none;
5851 color: #64748b;
5852 font-size: 20px;
5853 cursor: pointer;
5854 border-radius: 8px;
5855 transition: all 0.15s ease;
5856 line-height: 1;
5857 }
5858
5859 .mxchat-rag-modal-close:hover {
5860 background: #f1f5f9;
5861 color: #0f172a;
5862 }
5863
5864 /* RAG Modal Body */
5865 .mxchat-rag-modal-body {
5866 padding: 24px;
5867 overflow-y: auto;
5868 flex: 1;
5869 }
5870
5871 /* Loading State */
5872 .mxchat-rag-loading {
5873 display: flex;
5874 align-items: center;
5875 justify-content: center;
5876 gap: 12px;
5877 padding: 48px 24px;
5878 color: #64748b;
5879 font-size: 0.875rem;
5880 }
5881
5882 .mxchat-rag-loading .spinner {
5883 float: none;
5884 margin: 0;
5885 }
5886
5887 /* Error State */
5888 .mxchat-rag-error {
5889 text-align: center;
5890 padding: 48px 24px;
5891 color: #dc2626;
5892 font-size: 0.875rem;
5893 }
5894
5895 /* Summary Section */
5896 .mxchat-rag-summary {
5897 display: flex;
5898 gap: 32px;
5899 padding: 0;
5900 margin-bottom: 28px;
5901 background: transparent;
5902 border: none;
5903 }
5904
5905 .mxchat-rag-summary-item {
5906 display: flex;
5907 flex-direction: column;
5908 gap: 4px;
5909 }
5910
5911 .mxchat-rag-label {
5912 color: #94a3b8;
5913 font-size: 0.6875rem;
5914 font-weight: 500;
5915 text-transform: uppercase;
5916 letter-spacing: 0.05em;
5917 }
5918
5919 .mxchat-rag-value {
5920 font-weight: 600;
5921 font-size: 0.9375rem;
5922 color: #0f172a;
5923 }
5924
5925 /* Matches Section */
5926 .mxchat-rag-matches h3 {
5927 margin: 0 0 12px 0;
5928 font-size: 0.6875rem;
5929 color: #94a3b8;
5930 font-weight: 600;
5931 text-transform: uppercase;
5932 letter-spacing: 0.05em;
5933 }
5934
5935 /* Match Card */
5936 .mxchat-rag-match-card {
5937 border: 1px solid #e2e8f0;
5938 border-radius: 12px;
5939 padding: 16px;
5940 margin-bottom: 8px;
5941 transition: border-color 0.15s ease, box-shadow 0.15s ease;
5942 background: #fff;
5943 }
5944
5945 .mxchat-rag-match-card:hover {
5946 border-color: #cbd5e1;
5947 box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
5948 }
5949
5950 .mxchat-rag-match-card:last-child {
5951 margin-bottom: 0;
5952 }
5953
5954 /* Match card variants */
5955 .mxchat-rag-match-used {
5956 border-color: #86efac;
5957 background: #fafff9;
5958 }
5959
5960 .mxchat-rag-match-used:hover {
5961 border-color: #4ade80;
5962 }
5963
5964 .mxchat-rag-match-above {
5965 border-color: #fde047;
5966 background: #fffef5;
5967 }
5968
5969 .mxchat-rag-match-above:hover {
5970 border-color: #facc15;
5971 }
5972
5973 .mxchat-rag-match-below {
5974 opacity: 0.5;
5975 }
5976
5977 /* Match Header */
5978 .mxchat-rag-match-header {
5979 display: flex;
5980 align-items: center;
5981 gap: 12px;
5982 margin-bottom: 10px;
5983 }
5984
5985 .mxchat-rag-match-rank {
5986 background: #0f172a;
5987 color: #fff;
5988 font-size: 0.625rem;
5989 font-weight: 600;
5990 padding: 3px 6px;
5991 border-radius: 4px;
5992 letter-spacing: 0.02em;
5993 }
5994
5995 .mxchat-rag-match-score {
5996 font-size: 1rem;
5997 font-weight: 700;
5998 color: #0f172a;
5999 font-variant-numeric: tabular-nums;
6000 }
6001
6002 .mxchat-rag-match-status {
6003 font-size: 0.625rem;
6004 padding: 4px 8px;
6005 border-radius: 6px;
6006 font-weight: 600;
6007 text-transform: uppercase;
6008 letter-spacing: 0.03em;
6009 margin-left: auto;
6010 }
6011
6012 .mxchat-rag-match-status.status-used {
6013 background: #dcfce7;
6014 color: #166534;
6015 }
6016
6017 .mxchat-rag-match-status.status-above {
6018 background: #fef9c3;
6019 color: #854d0e;
6020 }
6021
6022 .mxchat-rag-match-status.status-below {
6023 background: #f1f5f9;
6024 color: #64748b;
6025 }
6026
6027 /* Match Source */
6028 .mxchat-rag-match-source {
6029 margin-bottom: 8px;
6030 font-size: 0.8125rem;
6031 color: #475569;
6032 word-break: break-word;
6033 }
6034
6035 .mxchat-rag-match-source a {
6036 color: #2563eb;
6037 text-decoration: none;
6038 }
6039
6040 .mxchat-rag-match-source a:hover {
6041 text-decoration: underline;
6042 }
6043
6044 /* Match Preview */
6045 .mxchat-rag-match-preview {
6046 font-size: 0.8125rem;
6047 color: #64748b;
6048 background: #f8fafc;
6049 padding: 12px 14px;
6050 border-radius: 8px;
6051 line-height: 1.6;
6052 max-height: 72px;
6053 overflow: hidden;
6054 }
6055
6056 /* Match Meta */
6057 .mxchat-rag-match-meta {
6058 margin-top: 10px;
6059 }
6060
6061 .mxchat-rag-role-badge {
6062 display: inline-block;
6063 font-size: 0.625rem;
6064 padding: 3px 8px;
6065 background: #f1f5f9;
6066 color: #475569;
6067 border-radius: 4px;
6068 font-weight: 500;
6069 }
6070
6071 /* No Matches */
6072 .mxchat-rag-no-matches {
6073 text-align: center;
6074 padding: 48px 24px;
6075 color: #64748b;
6076 font-size: 0.875rem;
6077 }
6078
6079 /* Approved URLs Section */
6080 .mxchat-rag-urls {
6081 margin-top: 28px;
6082 padding-top: 20px;
6083 border-top: 1px solid #e2e8f0;
6084 }
6085
6086 .mxchat-rag-urls h3 {
6087 margin: 0 0 12px 0;
6088 font-size: 0.6875rem;
6089 color: #94a3b8;
6090 font-weight: 600;
6091 text-transform: uppercase;
6092 letter-spacing: 0.05em;
6093 }
6094
6095 .mxchat-rag-url-list {
6096 margin: 0;
6097 padding: 0;
6098 list-style: none;
6099 }
6100
6101 .mxchat-rag-url-list li {
6102 padding: 10px 14px;
6103 background: #f8fafc;
6104 border-radius: 8px;
6105 margin-bottom: 6px;
6106 font-size: 0.8125rem;
6107 word-break: break-all;
6108 }
6109
6110 .mxchat-rag-url-list li:last-child {
6111 margin-bottom: 0;
6112 }
6113
6114 .mxchat-rag-url-list a {
6115 color: #2563eb;
6116 text-decoration: none;
6117 }
6118
6119 .mxchat-rag-url-list a:hover {
6120 text-decoration: underline;
6121 }
6122
6123 /* Responsive adjustments */
6124 @media (max-width: 640px) {
6125 .mxchat-rag-modal-overlay {
6126 padding: 16px;
6127 }
6128
6129 .mxchat-rag-modal-content {
6130 max-height: calc(100vh - 32px);
6131 border-radius: 12px;
6132 }
6133
6134 .mxchat-rag-modal-header {
6135 padding: 16px 20px;
6136 }
6137
6138 .mxchat-rag-modal-body {
6139 padding: 20px;
6140 }
6141
6142 .mxchat-rag-summary {
6143 flex-wrap: wrap;
6144 gap: 16px;
6145 }
6146
6147 .mxchat-rag-match-header {
6148 flex-wrap: wrap;
6149 }
6150
6151 .mxchat-rag-match-status {
6152 margin-left: 0;
6153 margin-top: 8px;
6154 }
6155 }