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

5,208 lines 106.8 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 display: flex;
3662 border: 1px solid #ddd;
3663 border-radius: 8px;
3664 padding: 16px;
3665 cursor: pointer;
3666 transition: all 0.2s;
3667 position: relative;
3668 }
3669
3670 .mxchat-model-selector-modal .mxchat-model-selector-card:hover {
3671 border-color: #6750A4;
3672 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
3673 }
3674
3675 .mxchat-model-selector-modal .mxchat-model-selector-card.mxchat-model-selected {
3676 border-color: #6750A4;
3677 background-color: rgba(103, 80, 164, 0.05);
3678 }
3679
3680 /* Provider-specific styles for cards */
3681 .mxchat-model-selector-modal .mxchat-model-selector-card.mxchat-model-provider-gemini {
3682 border-left: 4px solid #4285F4;
3683 }
3684
3685 .mxchat-model-selector-modal .mxchat-model-selector-card.mxchat-model-provider-openai {
3686 border-left: 4px solid #10A37F;
3687 }
3688
3689 .mxchat-model-selector-modal .mxchat-model-selector-card.mxchat-model-provider-claude {
3690 border-left: 4px solid #965de9;
3691 }
3692
3693 .mxchat-model-selector-modal .mxchat-model-selector-card.mxchat-model-provider-xai {
3694 border-left: 4px solid #000000;
3695 }
3696
3697 .mxchat-model-selector-modal .mxchat-model-selector-card.mxchat-model-provider-deepseek {
3698 border-left: 4px solid #0066cc;
3699 }
3700
3701 .mxchat-model-selector-modal .mxchat-model-selector-icon {
3702 margin-right: 12px;
3703 font-size: 24px;
3704 display: flex;
3705 align-items: center;
3706 width: 25px;
3707 height: 45px;
3708 }
3709
3710 .mxchat-model-selector-modal .mxchat-model-icon-gemini {
3711 color: #4285F4;
3712 }
3713
3714 .mxchat-model-selector-modal .mxchat-model-icon-openai {
3715 color: #10A37F;
3716 }
3717
3718 .mxchat-model-selector-modal .mxchat-model-icon-claude {
3719 color: #965de9;
3720 }
3721
3722 .mxchat-model-selector-modal .mxchat-model-icon-xai {
3723 color: #000000;
3724 }
3725
3726 .mxchat-model-selector-modal .mxchat-model-icon-deepseek {
3727 color: #0066cc;
3728 }
3729
3730 .mxchat-model-selector-modal .mxchat-model-selector-info {
3731 flex: 1;
3732 }
3733
3734 .mxchat-model-selector-modal .mxchat-model-selector-title {
3735 margin: 0 0 6px 0;
3736 font-size: 16px;
3737 }
3738
3739 .mxchat-model-selector-modal .mxchat-model-selector-description {
3740 margin: 0;
3741 font-size: 14px;
3742 color: #666;
3743 }
3744
3745 .mxchat-model-selector-modal .mxchat-model-selector-checkmark {
3746 position: absolute;
3747 top: 8px;
3748 right: 8px;
3749 width: 20px;
3750 height: 20px;
3751 background-color: #6750A4;
3752 color: white;
3753 border-radius: 50%;
3754 display: flex;
3755 align-items: center;
3756 justify-content: center;
3757 font-size: 12px;
3758 }
3759
3760 /* Media queries for responsive design */
3761 @media screen and (max-width: 782px) {
3762 .mxchat-model-selector-modal .mxchat-model-selector-modal-content {
3763 width: 95%;
3764 margin: 10% auto;
3765 }
3766
3767 .mxchat-model-selector-modal .mxchat-model-selector-grid {
3768 grid-template-columns: 1fr;
3769 }
3770
3771 .mxchat-model-selector-modal .mxchat-model-selector-categories {
3772 overflow-x: auto;
3773 padding-bottom: 10px;
3774 }
3775 }
3776
3777
3778 /* Improved styling for the model selector button */
3779 #mxchat_model_selector_btn.mxchat-model-selector-btn {
3780 width: 100%;
3781 max-width: 400px;
3782 text-align: left;
3783 padding: 8px 12px;
3784 height: auto;
3785 min-height: 36px;
3786 background-color: #fff;
3787 color: #2c3338;
3788 border: 1px solid #8c8f94;
3789 border-radius: 4px;
3790 box-shadow: 0 1px 2px rgba(0, 0, 0, 0.07);
3791 position: relative;
3792 font-weight: normal;
3793 transition: all 0.2s ease;
3794 display: flex;
3795 align-items: center;
3796 justify-content: space-between;
3797 }
3798
3799 #mxchat_model_selector_btn.mxchat-model-selector-btn:after {
3800 content: "\f140";
3801 font-family: dashicons;
3802 position: absolute;
3803 right: 10px;
3804 font-size: 20px;
3805 color: #666;
3806 }
3807
3808 #mxchat_model_selector_btn.mxchat-model-selector-btn:hover {
3809 border-color: #2271b1;
3810 color: #2271b1;
3811 }
3812
3813 #mxchat_model_selector_btn.mxchat-model-selector-btn:focus {
3814 box-shadow: 0 0 0 1px #2271b1;
3815 outline: none;
3816 }
3817
3818 /* Embedding Model Selector - completely separate styling to avoid conflicts */
3819 .mxchat-embedding-model-selector-btn {
3820 width: 100%;
3821 max-width: 400px;
3822 text-align: left;
3823 padding: 8px 12px;
3824 height: auto;
3825 min-height: 36px;
3826 background-color: #fff;
3827 color: #2c3338;
3828 border: 1px solid #8c8f94;
3829 border-radius: 4px;
3830 box-shadow: 0 1px 2px rgba(0, 0, 0, 0.07);
3831 position: relative;
3832 font-weight: normal;
3833 transition: all 0.2s ease;
3834 display: flex;
3835 align-items: center;
3836 justify-content: space-between;
3837 }
3838
3839 .mxchat-embedding-model-selector-btn:after {
3840 content: "\f140";
3841 font-family: dashicons;
3842 position: absolute;
3843 right: 10px;
3844 font-size: 20px;
3845 color: #666;
3846 }
3847
3848 .mxchat-embedding-model-selector-btn:hover {
3849 border-color: #2271b1;
3850 color: #2271b1;
3851 }
3852
3853 .mxchat-embedding-model-selector-btn:focus {
3854 box-shadow: 0 0 0 1px #2271b1;
3855 outline: none;
3856 }
3857
3858 /* Modal Styles */
3859 .mxchat-embedding-model-selector-modal {
3860 display: none;
3861 position: fixed;
3862 z-index: 9999;
3863 left: 0;
3864 top: 0;
3865 width: 100%;
3866 height: 100%;
3867 overflow: auto;
3868 background-color: rgba(0, 0, 0, 0.5);
3869 }
3870
3871 .mxchat-embedding-model-selector-modal-content {
3872 background-color: #fff;
3873 margin: 5% auto;
3874 border-radius: 8px;
3875 box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
3876 width: 80%;
3877 max-width: 800px;
3878 animation: mxchatEmbeddingModalFade 0.3s;
3879 }
3880
3881 @keyframes mxchatEmbeddingModalFade {
3882 from {opacity: 0; transform: translateY(-20px);}
3883 to {opacity: 1; transform: translateY(0);}
3884 }
3885
3886 .mxchat-embedding-model-selector-modal-header {
3887 display: flex;
3888 justify-content: space-between;
3889 align-items: center;
3890 padding: 16px 24px;
3891 border-bottom: 1px solid #eee;
3892 }
3893
3894 .mxchat-embedding-model-selector-modal-header h3 {
3895 margin: 0;
3896 color: #6750A4;
3897 font-size: 20px;
3898 }
3899
3900 .mxchat-embedding-model-selector-modal-close {
3901 font-size: 24px;
3902 cursor: pointer;
3903 color: #888;
3904 }
3905
3906 .mxchat-embedding-model-selector-modal-close:hover {
3907 color: #333;
3908 }
3909
3910 .mxchat-embedding-model-selector-modal-body {
3911 padding: 24px;
3912 max-height: 60vh;
3913 overflow-y: auto;
3914 }
3915
3916 .mxchat-embedding-model-selector-modal-footer {
3917 padding: 16px 24px;
3918 border-top: 1px solid #eee;
3919 text-align: right;
3920 }
3921
3922 /* Search and Category Styles */
3923 .mxchat-embedding-model-selector-search-container {
3924 margin-bottom: 20px;
3925 }
3926
3927 .mxchat-embedding-model-search-input {
3928 width: 100%;
3929 padding: 10px 15px;
3930 border: 1px solid #ddd;
3931 border-radius: 4px;
3932 font-size: 16px;
3933 }
3934
3935 .mxchat-embedding-model-selector-categories {
3936 display: flex;
3937 flex-wrap: wrap;
3938 gap: 8px;
3939 margin-bottom: 20px;
3940 }
3941
3942 .mxchat-embedding-model-category-btn {
3943 background-color: #f5f5f5;
3944 border: 1px solid #ddd;
3945 padding: 8px 16px;
3946 border-radius: 20px;
3947 cursor: pointer;
3948 transition: all 0.2s;
3949 }
3950
3951 .mxchat-embedding-model-category-btn.active {
3952 background-color: #6750A4;
3953 color: white;
3954 border-color: #6750A4;
3955 }
3956
3957 /* Model Grid Styles */
3958 .mxchat-embedding-model-selector-grid {
3959 display: grid;
3960 grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
3961 gap: 16px;
3962 }
3963
3964 .mxchat-embedding-model-selector-card {
3965 display: flex;
3966 border: 1px solid #ddd;
3967 border-radius: 8px;
3968 padding: 16px;
3969 cursor: pointer;
3970 transition: all 0.2s;
3971 position: relative;
3972 }
3973
3974 .mxchat-embedding-model-selector-card:hover {
3975 border-color: #6750A4;
3976 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
3977 }
3978
3979 .mxchat-embedding-model-selector-card.mxchat-embedding-model-selected {
3980 border-color: #6750A4;
3981 background-color: rgba(103, 80, 164, 0.05);
3982 }
3983
3984 /* Provider-specific styles */
3985 .mxchat-embedding-model-provider-openai {
3986 border-left: 4px solid #10A37F;
3987 }
3988
3989 .mxchat-embedding-model-provider-voyage {
3990 border-left: 4px solid #0055D4;
3991 }
3992
3993 /* Provider-specific border color for Gemini */
3994 .mxchat-embedding-model-provider-gemini {
3995 border-left: 4px solid #4285F4;
3996 }
3997
3998 /* Icon color for Gemini */
3999 .mxchat-embedding-model-icon-gemini {
4000 color: #4285F4;
4001 }
4002
4003 .mxchat-embedding-model-selector-icon {
4004 margin-right: 12px;
4005 font-size: 24px;
4006 display: flex;
4007 align-items: center;
4008 width: 25px;
4009 height: 45px;
4010 }
4011
4012 .mxchat-embedding-model-icon-openai {
4013 color: #10A37F;
4014 }
4015
4016 .mxchat-embedding-model-icon-voyage {
4017 color: #0055D4;
4018 }
4019
4020 .mxchat-embedding-model-selector-info {
4021 flex: 1;
4022 }
4023
4024 .mxchat-embedding-model-selector-title {
4025 margin: 0 0 6px 0;
4026 font-size: 16px;
4027 }
4028
4029 .mxchat-embedding-model-selector-description {
4030 margin: 0;
4031 font-size: 14px;
4032 color: #666;
4033 }
4034
4035 .mxchat-embedding-model-selector-checkmark {
4036 position: absolute;
4037 top: 8px;
4038 right: 8px;
4039 width: 20px;
4040 height: 20px;
4041 background-color: #6750A4;
4042 color: white;
4043 border-radius: 50%;
4044 display: flex;
4045 align-items: center;
4046 justify-content: center;
4047 font-size: 12px;
4048 }
4049
4050 /* Media queries for responsive design */
4051 @media screen and (max-width: 782px) {
4052 .mxchat-embedding-model-selector-modal-content {
4053 width: 95%;
4054 margin: 10% auto;
4055 }
4056
4057 .mxchat-embedding-model-selector-grid {
4058 grid-template-columns: 1fr;
4059 }
4060
4061 .mxchat-embedding-model-selector-categories {
4062 overflow-x: auto;
4063 padding-bottom: 10px;
4064 }
4065 }
4066
4067
4068 /* Embedding Model Selector Button Styles */
4069 #mxchat_embedding_model_selector_btn.mxchat-embedding-model-selector-btn {
4070 width: 100%;
4071 max-width: 400px;
4072 text-align: left;
4073 padding: 8px 12px;
4074 height: auto;
4075 min-height: 36px;
4076 background-color: #fff;
4077 color: #2c3338;
4078 border: 1px solid #8c8f94;
4079 border-radius: 4px;
4080 box-shadow: 0 1px 2px rgba(0, 0, 0, 0.07);
4081 position: relative;
4082 font-weight: normal;
4083 transition: all 0.2s ease;
4084 display: flex;
4085 align-items: center;
4086 justify-content: space-between;
4087 }
4088
4089 #mxchat_embedding_model_selector_btn.mxchat-embedding-model-selector-btn:after {
4090 content: "\f140";
4091 font-family: dashicons;
4092 position: absolute;
4093 right: 10px;
4094 font-size: 20px;
4095 color: #666;
4096 }
4097
4098 #mxchat_embedding_model_selector_btn.mxchat-embedding-model-selector-btn:hover {
4099 border-color: #2271b1;
4100 color: #2271b1;
4101 }
4102
4103 #mxchat_embedding_model_selector_btn.mxchat-embedding-model-selector-btn:focus {
4104 box-shadow: 0 0 0 1px #2271b1;
4105 outline: none;
4106 }
4107
4108 .mxchat-failed-urls-container {
4109 margin-top: 15px;
4110 border-top: 1px solid rgba(0, 0, 0, 0.1);
4111 padding-top: 10px;
4112 }
4113
4114 .mxchat-failed-urls-container h4 {
4115 margin: 0 0 8px 0;
4116 font-size: 14px;
4117 color: #d63638;
4118 }
4119
4120 .mxchat-failed-urls-container details {
4121 margin-bottom: 10px;
4122 }
4123
4124 .mxchat-failed-urls-container summary {
4125 cursor: pointer;
4126 font-weight: 500;
4127 padding: 5px 0;
4128 color: #3c434a;
4129 }
4130
4131 .mxchat-failed-urls-container summary:hover {
4132 color: #2271b1;
4133 }
4134
4135 .mxchat-failed-urls-list {
4136 margin-top: 10px;
4137 max-height: 300px;
4138 overflow-y: auto;
4139 border: 1px solid #dcdcde;
4140 border-radius: 4px;
4141 background: #f8f9fa;
4142 }
4143
4144 .mxchat-failed-url-item {
4145 padding: 8px 12px;
4146 border-bottom: 1px solid #dcdcde;
4147 display: grid;
4148 grid-template-columns: 1fr;
4149 grid-gap: 6px;
4150 font-size: 12px;
4151 }
4152
4153 .mxchat-failed-url-item:last-child {
4154 border-bottom: none;
4155 }
4156
4157 .mxchat-failed-url-address {
4158 font-weight: 500;
4159 word-break: break-all;
4160 }
4161
4162 .mxchat-failed-url-address a {
4163 color: #2271b1;
4164 text-decoration: none;
4165 }
4166
4167 .mxchat-failed-url-address a:hover {
4168 text-decoration: underline;
4169 }
4170
4171 .mxchat-failed-url-error {
4172 color: #d63638;
4173 }
4174
4175 .mxchat-failed-url-time {
4176 color: #50575e;
4177 font-style: italic;
4178 font-size: 11px;
4179 }
4180
4181 .mxchat-failed-urls-more {
4182 text-align: center;
4183 padding: 8px;
4184 background: #f0f0f1;
4185 border-top: 1px solid #dcdcde;
4186 color: #50575e;
4187 font-style: italic;
4188 font-size: 12px;
4189 }
4190
4191 /* Responsive design for larger screens */
4192 @media screen and (min-width: 783px) {
4193 .mxchat-failed-url-item {
4194 grid-template-columns: 2fr 3fr 1fr;
4195 align-items: center;
4196 }
4197 }
4198
4199
4200 /* Style for addon-managed option group */
4201 .addon-managed-optgroup {
4202 color: #888 !important;
4203 font-style: italic;
4204 background: #f5f5f5;
4205 }
4206
4207 /* Selected text style */
4208 select option:disabled {
4209 color: #888;
4210 font-style: italic;
4211 }
4212
4213 .mxchat-rate-limits-container {
4214 max-width: 900px;
4215 }
4216 .mxchat-rate-limit-row {
4217 display: flex;
4218 flex-wrap: wrap;
4219 align-items: flex-start;
4220 margin-bottom: 20px;
4221 padding: 20px;
4222 background: #fff;
4223 border-radius: 8px;
4224 border: 1px solid #e0e0e0;
4225 box-shadow: 0 2px 4px rgba(0,0,0,0.04);
4226 transition: all 0.2s ease;
4227 }
4228 .mxchat-rate-limit-row:hover {
4229 box-shadow: 0 4px 8px rgba(0,0,0,0.08);
4230 border-color: #c7c7c7;
4231 }
4232 .mxchat-rate-limit-role {
4233 width: 160px;
4234 font-weight: 600;
4235 font-size: 15px;
4236 margin-right: 20px;
4237 padding-top: 4px;
4238 color: #23282d;
4239 }
4240 .mxchat-rate-limit-controls-wrapper {
4241 flex: 1;
4242 }
4243 .mxchat-rate-limit-controls {
4244 display: flex;
4245 flex-wrap: wrap;
4246 gap: 15px;
4247 align-items: center;
4248 margin-bottom: 15px;
4249 }
4250 .mxchat-rate-limit-controls > div {
4251 margin-bottom: 5px;
4252 }
4253 .mxchat-rate-limit-controls label {
4254 display: block;
4255 margin-bottom: 5px;
4256 font-weight: 500;
4257 color: #50575e;
4258 }
4259 .mxchat-rate-limit-message {
4260 width: 100%;
4261 margin-top: 15px;
4262 }
4263 .mxchat-rate-limit-message label {
4264 display: block;
4265 margin-bottom: 5px;
4266 font-weight: 500;
4267 color: #50575e;
4268 }
4269 .mxchat-rate-limit-message textarea {
4270 width: 100%;
4271 min-height: 70px;
4272 padding: 8px 12px;
4273 border-radius: 4px;
4274 resize: vertical;
4275 font-size: 14px;
4276 }
4277 .mxchat-rate-limit-controls select {
4278 min-width: 120px;
4279 padding: 6px 24px 6px 10px;
4280 }
4281 @media (max-width: 782px) {
4282 .mxchat-rate-limit-row {
4283 flex-direction: column;
4284 }
4285 .mxchat-rate-limit-role {
4286 margin-bottom: 15px;
4287 width: 100%;
4288 font-size: 16px;
4289 }
4290 .mxchat-rate-limit-controls {
4291 flex-direction: column;
4292 align-items: flex-start;
4293 gap: 12px;
4294 }
4295 .mxchat-rate-limit-controls > div {
4296 width: 100%;
4297 }
4298 .mxchat-rate-limit-controls select {
4299 width: 100%;
4300 }
4301 }
4302
4303 /* Support notification styles */
4304 .support-notification {
4305 background: linear-gradient(135deg, #fff3cd 0%, #ffeaa7 100%);
4306 border: 2px solid #f39c12;
4307 border-radius: 12px;
4308 padding: 20px;
4309 margin-bottom: 25px;
4310 display: flex;
4311 align-items: flex-start;
4312 gap: 15px;
4313 box-shadow: 0 4px 12px rgba(243, 156, 18, 0.15);
4314 position: relative;
4315 overflow: hidden;
4316 }
4317
4318 .support-notification::before {
4319 content: '';
4320 position: absolute;
4321 top: 0;
4322 left: 0;
4323 right: 0;
4324 height: 4px;
4325 background: linear-gradient(90deg, #f39c12, #e67e22, #f39c12);
4326 background-size: 200% 100%;
4327 animation: shimmer 2s ease-in-out infinite;
4328 }
4329
4330 @keyframes shimmer {
4331 0% { background-position: -200% 0; }
4332 100% { background-position: 200% 0; }
4333 }
4334
4335 .support-notification-icon {
4336 flex-shrink: 0;
4337 width: 24px;
4338 height: 24px;
4339 color: #e67e22;
4340 margin-top: 2px;
4341 }
4342
4343 .support-notification-content {
4344 flex: 1;
4345 }
4346
4347 .support-notification-title {
4348 font-size: 18px;
4349 font-weight: 600;
4350 color: #8b4513;
4351 margin: 0 0 8px 0;
4352 display: flex;
4353 align-items: center;
4354 gap: 8px;
4355 }
4356
4357 .support-notification-message {
4358 font-size: 15px;
4359 color: #8b4513;
4360 margin: 0 0 15px 0;
4361 line-height: 1.5;
4362 }
4363
4364 .support-notification-button {
4365 display: inline-flex;
4366 align-items: center;
4367 gap: 8px;
4368 background: linear-gradient(135deg, #e67e22 0%, #d35400 100%);
4369 color: white;
4370 padding: 12px 20px;
4371 border-radius: 8px;
4372 text-decoration: none;
4373 font-weight: 600;
4374 font-size: 14px;
4375 transition: all 0.3s ease;
4376 border: none;
4377 cursor: pointer;
4378 box-shadow: 0 2px 8px rgba(230, 126, 34, 0.3);
4379 }
4380
4381 .support-notification-button:hover {
4382 background: linear-gradient(135deg, #d35400 0%, #c0392b 100%);
4383 transform: translateY(-2px);
4384 box-shadow: 0 4px 12px rgba(230, 126, 34, 0.4);
4385 color: white;
4386 text-decoration: none;
4387 }
4388
4389 .support-notification-button:active {
4390 transform: translateY(0);
4391 }
4392
4393 .support-notification-button svg {
4394 width: 16px;
4395 height: 16px;
4396 }
4397
4398 /* Responsive design */
4399 @media (max-width: 768px) {
4400 .support-notification {
4401 padding: 16px;
4402 gap: 12px;
4403 }
4404
4405 .support-notification-title {
4406 font-size: 16px;
4407 }
4408
4409 .support-notification-message {
4410 font-size: 14px;
4411 }
4412
4413 .support-notification-button {
4414 padding: 10px 16px;
4415 font-size: 13px;
4416 }
4417 }
4418 /* Sample instructions button styles */
4419 .mxchat-instructions-container {
4420 margin-top: 8px;
4421 }
4422
4423 .mxchat-instructions-btn {
4424 display: inline-flex;
4425 align-items: center;
4426 gap: 6px;
4427 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
4428 color: white;
4429 padding: 8px 14px;
4430 border: none;
4431 border-radius: 6px;
4432 font-size: 13px;
4433 font-weight: 500;
4434 cursor: pointer;
4435 transition: all 0.3s ease;
4436 text-decoration: none;
4437 box-shadow: 0 2px 4px rgba(102, 126, 234, 0.2);
4438 }
4439
4440 .mxchat-instructions-btn:hover {
4441 background: linear-gradient(135deg, #5a67d8 0%, #6b46c1 100%);
4442 transform: translateY(-1px);
4443 box-shadow: 0 4px 8px rgba(102, 126, 234, 0.3);
4444 }
4445
4446 .mxchat-instructions-btn:active {
4447 transform: translateY(0);
4448 }
4449
4450 .mxchat-instructions-btn svg {
4451 width: 14px;
4452 height: 14px;
4453 }
4454
4455 /* Modal styles - Positioned relative to viewport */
4456 .mxchat-instructions-modal-overlay {
4457 display: none;
4458 position: fixed;
4459 top: 0;
4460 left: 0;
4461 width: 100%;
4462 height: 100%;
4463 background: rgba(0, 0, 0, 0.6);
4464 z-index: 999999;
4465 }
4466
4467 .mxchat-instructions-modal-overlay.mxchat-instructions-show {
4468 display: flex;
4469 align-items: center;
4470 justify-content: center;
4471 padding: 20px;
4472 }
4473
4474 .mxchat-instructions-modal-content {
4475 background: white;
4476 border-radius: 12px;
4477 max-width: 700px;
4478 width: 100%;
4479 max-height: 90vh;
4480 overflow: hidden;
4481 box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
4482 }
4483
4484 .mxchat-instructions-modal-header {
4485 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
4486 color: white;
4487 padding: 20px 24px;
4488 display: flex;
4489 align-items: center;
4490 justify-content: space-between;
4491 }
4492
4493 .mxchat-instructions-modal-title {
4494 font-size: 18px;
4495 font-weight: 600;
4496 margin: 0;
4497 display: flex;
4498 align-items: center;
4499 gap: 10px;
4500 }
4501
4502 .mxchat-instructions-modal-close {
4503 background: rgba(255, 255, 255, 0.2);
4504 border: none;
4505 color: white;
4506 width: 32px;
4507 height: 32px;
4508 border-radius: 6px;
4509 cursor: pointer;
4510 display: flex;
4511 align-items: center;
4512 justify-content: center;
4513 transition: background 0.2s ease;
4514 }
4515
4516 .mxchat-instructions-modal-close:hover {
4517 background: rgba(255, 255, 255, 0.3);
4518 }
4519
4520 .mxchat-instructions-modal-body {
4521 padding: 24px;
4522 overflow-y: auto;
4523 max-height: calc(90vh - 140px);
4524 }
4525
4526 .mxchat-instructions-content {
4527 background: #f8fafc;
4528 border: 2px solid #e2e8f0;
4529 border-radius: 8px;
4530 padding: 20px;
4531 font-family: 'Courier New', Monaco, monospace;
4532 font-size: 13px;
4533 line-height: 1.6;
4534 color: #2d3748;
4535 white-space: pre-wrap;
4536 word-wrap: break-word;
4537 }
4538
4539 .mxchat-instructions-copy-btn {
4540 margin-top: 16px;
4541 background: #48bb78;
4542 color: white;
4543 border: none;
4544 padding: 10px 16px;
4545 border-radius: 6px;
4546 font-size: 14px;
4547 font-weight: 500;
4548 cursor: pointer;
4549 display: inline-flex;
4550 align-items: center;
4551 gap: 8px;
4552 transition: all 0.2s ease;
4553 }
4554
4555 .mxchat-instructions-copy-btn:hover {
4556 background: #38a169;
4557 transform: translateY(-1px);
4558 }
4559
4560 .mxchat-instructions-copy-btn svg {
4561 width: 16px;
4562 height: 16px;
4563 }
4564
4565 .mxchat-instructions-modal-footer {
4566 padding: 16px 24px;
4567 background: #f7fafc;
4568 border-top: 1px solid #e2e8f0;
4569 text-align: right;
4570 }
4571
4572 .mxchat-instructions-btn-secondary {
4573 background: #e2e8f0;
4574 color: #4a5568;
4575 border: none;
4576 padding: 8px 16px;
4577 border-radius: 6px;
4578 font-size: 14px;
4579 cursor: pointer;
4580 transition: background 0.2s ease;
4581 }
4582
4583 .mxchat-instructions-btn-secondary:hover {
4584 background: #cbd5e0;
4585 }
4586
4587 /* Responsive design */
4588 @media (max-width: 782px) {
4589 .mxchat-instructions-modal-overlay.mxchat-instructions-show {
4590 padding: 10px;
4591 }
4592
4593 .mxchat-instructions-modal-content {
4594 max-height: 95vh;
4595 }
4596
4597 .mxchat-instructions-modal-header {
4598 padding: 16px 20px;
4599 }
4600
4601 .mxchat-instructions-modal-body {
4602 padding: 20px;
4603 max-height: calc(95vh - 120px);
4604 }
4605
4606 .mxchat-instructions-content {
4607 font-size: 12px;
4608 padding: 16px;
4609 }
4610 }
4611
4612
4613
4614
4615
4616 /* Completion Card - Modern Theme */
4617 .mxchat-completion-card {
4618 margin: 20px 0;
4619 background: #ffffff;
4620 border-radius: 12px;
4621 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08), 0 4px 16px rgba(0, 0, 0, 0.06);
4622 overflow: hidden;
4623 transition: all 0.3s ease;
4624 border: 1px solid rgba(0, 0, 0, 0.06);
4625 }
4626
4627 .mxchat-completion-card:hover {
4628 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1), 0 6px 20px rgba(0, 0, 0, 0.08);
4629 }
4630
4631 /* Header Section */
4632 .mxchat-completion-header {
4633 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
4634 padding: 24px;
4635 display: flex;
4636 align-items: center;
4637 gap: 16px;
4638 }
4639
4640 .mxchat-completion-icon {
4641 width: 48px;
4642 height: 48px;
4643 background: rgba(255, 255, 255, 0.2);
4644 border-radius: 12px;
4645 display: flex;
4646 align-items: center;
4647 justify-content: center;
4648 flex-shrink: 0;
4649 }
4650
4651 .mxchat-completion-icon svg {
4652 color: #ffffff;
4653 width: 28px;
4654 height: 28px;
4655 }
4656
4657 .mxchat-completion-title h3 {
4658 margin: 0;
4659 color: #ffffff;
4660 font-size: 20px;
4661 font-weight: 600;
4662 letter-spacing: -0.02em;
4663 }
4664
4665 .mxchat-completion-time {
4666 margin: 4px 0 0 0;
4667 color: rgba(255, 255, 255, 0.8);
4668 font-size: 14px;
4669 }
4670
4671 /* Summary Section */
4672 .mxchat-completion-summary {
4673 padding: 24px;
4674 border-bottom: 1px solid #f0f0f1;
4675 }
4676
4677 .mxchat-completion-summary h4 {
4678 margin: 0 0 16px 0;
4679 color: #1d2327;
4680 font-size: 16px;
4681 font-weight: 600;
4682 }
4683
4684 .mxchat-summary-stats {
4685 display: grid;
4686 grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
4687 gap: 12px;
4688 }
4689
4690 .mxchat-stat-card {
4691 background: #f6f7f7;
4692 padding: 16px;
4693 border-radius: 8px;
4694 text-align: center;
4695 transition: all 0.2s ease;
4696 }
4697
4698 .mxchat-stat-card:hover {
4699 transform: translateY(-2px);
4700 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
4701 }
4702
4703 .mxchat-stat-label {
4704 display: block;
4705 font-size: 12px;
4706 color: #646970;
4707 font-weight: 500;
4708 text-transform: uppercase;
4709 letter-spacing: 0.5px;
4710 margin-bottom: 8px;
4711 }
4712
4713 .mxchat-stat-value {
4714 display: block;
4715 font-size: 24px;
4716 font-weight: 700;
4717 color: #1d2327;
4718 }
4719
4720 .mxchat-stat-success {
4721 background: #e6f5e6;
4722 }
4723
4724 .mxchat-stat-success .mxchat-stat-value {
4725 color: #00a32a;
4726 }
4727
4728 .mxchat-stat-failed {
4729 background: #fef1f1;
4730 }
4731
4732 .mxchat-stat-failed .mxchat-stat-value {
4733 color: #d63638;
4734 }
4735
4736 /* Failed URLs Section */
4737 .mxchat-failed-urls-section {
4738 padding: 24px;
4739 background: #fafafa;
4740 border-top: 1px solid #f0f0f1;
4741 }
4742
4743 .mxchat-failed-urls-section h4 {
4744 margin: 0 0 16px 0;
4745 color: #d63638;
4746 font-size: 16px;
4747 font-weight: 600;
4748 display: flex;
4749 align-items: center;
4750 gap: 8px;
4751 }
4752
4753 .mxchat-icon-warning {
4754 flex-shrink: 0;
4755 }
4756
4757 .mxchat-failed-urls-table-wrapper {
4758 max-height: 300px;
4759 overflow-y: auto;
4760 background: #ffffff;
4761 border-radius: 8px;
4762 border: 1px solid #e0e0e0;
4763 }
4764
4765 .mxchat-failed-urls-table {
4766 width: 100%;
4767 border-collapse: collapse;
4768 }
4769
4770 .mxchat-failed-urls-table thead {
4771 position: sticky;
4772 top: 0;
4773 background: #f6f7f7;
4774 z-index: 1;
4775 }
4776
4777 .mxchat-failed-urls-table th {
4778 text-align: left;
4779 padding: 12px 16px;
4780 font-weight: 600;
4781 font-size: 13px;
4782 color: #1d2327;
4783 text-transform: uppercase;
4784 letter-spacing: 0.5px;
4785 border-bottom: 2px solid #e0e0e0;
4786 }
4787
4788 .mxchat-failed-urls-table tbody tr {
4789 transition: background-color 0.2s ease;
4790 }
4791
4792 .mxchat-failed-urls-table tbody tr:hover {
4793 background-color: #f6f7f7;
4794 }
4795
4796 .mxchat-failed-urls-table td {
4797 padding: 12px 16px;
4798 border-bottom: 1px solid #f0f0f1;
4799 font-size: 14px;
4800 }
4801
4802 .mxchat-url-cell {
4803 word-break: break-all;
4804 }
4805
4806 .mxchat-url-cell a {
4807 color: #667eea;
4808 text-decoration: none;
4809 transition: color 0.2s ease;
4810 }
4811
4812 .mxchat-url-cell a:hover {
4813 color: #764ba2;
4814 text-decoration: underline;
4815 }
4816
4817 .mxchat-error-cell {
4818 color: #d63638;
4819 }
4820
4821 .mxchat-time-cell {
4822 color: #646970;
4823 white-space: nowrap;
4824 }
4825
4826 /* Action Buttons */
4827 .mxchat-completion-actions {
4828 padding: 24px;
4829 display: flex;
4830 gap: 12px;
4831 justify-content: flex-end;
4832 background: #fafafa;
4833 }
4834
4835 .mxchat-btn {
4836 display: inline-flex;
4837 align-items: center;
4838 gap: 8px;
4839 padding: 10px 20px;
4840 border: none;
4841 border-radius: 6px;
4842 font-size: 14px;
4843 font-weight: 500;
4844 cursor: pointer;
4845 transition: all 0.2s ease;
4846 text-decoration: none;
4847 }
4848
4849 .mxchat-btn svg {
4850 width: 16px;
4851 height: 16px;
4852 }
4853
4854 .mxchat-btn-primary {
4855 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
4856 color: #ffffff;
4857 }
4858
4859 .mxchat-btn-primary:hover {
4860 transform: translateY(-1px);
4861 box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
4862 }
4863
4864 .mxchat-btn-secondary {
4865 background: #ffffff;
4866 color: #667eea;
4867 border: 1px solid #667eea;
4868 }
4869
4870 .mxchat-btn-secondary:hover {
4871 background: #f6f7ff;
4872 transform: translateY(-1px);
4873 box-shadow: 0 4px 12px rgba(102, 126, 234, 0.2);
4874 }
4875
4876 .mxchat-btn:disabled {
4877 opacity: 0.5;
4878 cursor: not-allowed;
4879 }
4880
4881 .mxchat-btn:disabled:hover {
4882 transform: none;
4883 box-shadow: none;
4884 }
4885
4886 /* Responsive adjustments */
4887 @media (max-width: 768px) {
4888 .mxchat-summary-stats {
4889 grid-template-columns: 1fr;
4890 }
4891
4892 .mxchat-completion-actions {
4893 flex-direction: column;
4894 }
4895
4896 .mxchat-btn {
4897 width: 100%;
4898 justify-content: center;
4899 }
4900 }
4901
4902 /* Scrollbar styling for failed URLs table */
4903 .mxchat-failed-urls-table-wrapper::-webkit-scrollbar {
4904 width: 8px;
4905 }
4906
4907 .mxchat-failed-urls-table-wrapper::-webkit-scrollbar-track {
4908 background: #f0f0f1;
4909 border-radius: 4px;
4910 }
4911
4912 .mxchat-failed-urls-table-wrapper::-webkit-scrollbar-thumb {
4913 background: #c3c4c7;
4914 border-radius: 4px;
4915 }
4916
4917 .mxchat-failed-urls-table-wrapper::-webkit-scrollbar-thumb:hover {
4918 background: #a7aaad;
4919 }
4920
4921
4922 /* Live Agent Disabled Notice Styles - Enhanced design */
4923 .mxchat-live-agent-disabled-notice {
4924 margin-bottom: 20px;
4925 }
4926
4927 .mxchat-live-agent-disabled-notice .mxchat-pro-notification {
4928 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
4929 border-radius: 12px;
4930 padding: 24px 24px 24px 24px;
4931 color: white;
4932 position: relative;
4933 box-shadow: 0 8px 32px rgba(102, 126, 234, 0.3);
4934 border: 1px solid rgba(255, 255, 255, 0.1);
4935 }
4936
4937 .mxchat-dismiss-btn {
4938 position: absolute;
4939 top: 16px;
4940 right: 16px;
4941 background: rgba(255, 255, 255, 0.1);
4942 border: 1px solid rgba(255, 255, 255, 0.2);
4943 border-radius: 6px;
4944 color: rgba(255, 255, 255, 0.8);
4945 cursor: pointer;
4946 padding: 8px;
4947 display: flex;
4948 align-items: center;
4949 justify-content: center;
4950 transition: all 0.2s ease;
4951 backdrop-filter: blur(10px);
4952 }
4953
4954 .mxchat-dismiss-btn:hover {
4955 background: rgba(255, 255, 255, 0.2);
4956 color: white;
4957 transform: scale(1.05);
4958 }
4959
4960 .mxchat-dismiss-btn:active {
4961 transform: scale(0.95);
4962 }
4963
4964 .mxchat-live-agent-content {
4965 padding-right: 60px; /* Space for dismiss button */
4966 }
4967
4968 .mxchat-live-agent-content h3 {
4969 margin: 0 0 16px 0;
4970 font-size: 20px;
4971 font-weight: 600;
4972 color: white;
4973 display: flex;
4974 align-items: center;
4975 gap: 8px;
4976 }
4977
4978 .mxchat-live-agent-content p {
4979 margin: 0;
4980 font-size: 15px;
4981 line-height: 1.6;
4982 opacity: 0.95;
4983 color: rgba(255, 255, 255, 0.95);
4984 }
4985
4986 .mxchat-live-agent-content strong {
4987 color: #fff;
4988 font-weight: 600;
4989 background: rgba(255, 255, 255, 0.1);
4990 padding: 2px 6px;
4991 border-radius: 4px;
4992 font-size: 14px;
4993 }
4994
4995 .mxchat-processing-controls {
4996 display: flex;
4997 gap: 10px;
4998 align-items: center;
4999 }
5000
5001 /* Status Card Container */
5002 .mxchat-status-card {
5003 background: #fff;
5004 border: 1px solid #ddd;
5005 border-radius: 8px;
5006 padding: 20px;
5007 margin-bottom: 20px;
5008 box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
5009 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
5010 }
5011
5012 /* Status Header */
5013 .mxchat-status-header {
5014 display: flex;
5015 align-items: center;
5016 justify-content: space-between;
5017 margin-bottom: 15px;
5018 flex-wrap: wrap;
5019 gap: 10px;
5020 }
5021
5022 .mxchat-status-header h4 {
5023 margin: 0;
5024 font-size: 18px;
5025 font-weight: 600;
5026 color: #333;
5027 }
5028
5029 .mxchat-status-header h5 {
5030 margin: 0 0 10px 0;
5031 font-size: 16px;
5032 font-weight: 600;
5033 color: #333;
5034 }
5035
5036 /* Dismiss Button */
5037 .mxchat-dismiss-button {
5038 padding: 6px 12px;
5039 background: #dc3545;
5040 color: white;
5041 border: none;
5042 border-radius: 4px;
5043 cursor: pointer;
5044 font-size: 12px;
5045 font-weight: 500;
5046 transition: background-color 0.2s ease;
5047 }
5048
5049 .mxchat-dismiss-button:hover {
5050 background: #c82333;
5051 }
5052
5053 .mxchat-dismiss-button:active {
5054 transform: translateY(1px);
5055 }
5056
5057 /* Process Batch Button */
5058 .mxchat-manual-batch-btn {
5059 padding: 8px 16px;
5060 background: #007cba;
5061 color: white;
5062 border: none;
5063 border-radius: 4px;
5064 cursor: pointer;
5065 font-size: 13px;
5066 font-weight: 500;
5067 transition: all 0.2s ease;
5068 text-decoration: none;
5069 display: inline-block;
5070 }
5071
5072 .mxchat-manual-batch-btn:hover {
5073 background: #005a87;
5074 color: white;
5075 text-decoration: none;
5076 }
5077
5078 .mxchat-manual-batch-btn:active {
5079 transform: translateY(1px);
5080 }
5081
5082 .mxchat-manual-batch-btn:focus {
5083 outline: 2px solid #007cba;
5084 outline-offset: 2px;
5085 }
5086
5087
5088
5089
5090
5091 /* MxChat Plugin Activation Page Styles */
5092
5093 .mxchat-license-details {
5094 background: #f9f9f9;
5095 padding: 15px;
5096 border-radius: 5px;
5097 margin-top: 15px;
5098 border-left: 4px solid #2271b1;
5099 }
5100
5101 .mxchat-license-details p {
5102 margin: 8px 0;
5103 }
5104
5105 .mxchat-license-details small {
5106 color: #666;
5107 }
5108
5109 .mxchat-license-details a {
5110 color: #2271b1;
5111 text-decoration: none;
5112 }
5113
5114 .mxchat-license-details a:hover {
5115 text-decoration: underline;
5116 }
5117
5118 /* Domain linking styles */
5119 #link-domain-button {
5120 background: #2271b1;
5121 color: white;
5122 border: none;
5123 padding: 8px 16px;
5124 border-radius: 4px;
5125 cursor: pointer;
5126 font-size: 13px;
5127 }
5128
5129 #link-domain-button:hover {
5130 background: #1a5a8a;
5131 }
5132
5133 #link-domain-button:disabled {
5134 background: #ccc;
5135 cursor: not-allowed;
5136 }
5137
5138 #domain-link-status {
5139 font-size: 13px;
5140 font-weight: 500;
5141 }
5142
5143 /* Status badges */
5144 .mxchat-status-badge.active {
5145 color: #2d8f47;
5146 background: #d4edda;
5147 padding: 4px 8px;
5148 border-radius: 4px;
5149 font-size: 12px;
5150 font-weight: 600;
5151 }
5152
5153 .mxchat-status-badge.inactive {
5154 color: #842029;
5155 background: #f8d7da;
5156 padding: 4px 8px;
5157 border-radius: 4px;
5158 font-size: 12px;
5159 font-weight: 600;
5160 }
5161
5162 /* Notice styles for domain linking */
5163 .notice.notice-info {
5164 background: #e7f3ff;
5165 border-left-color: #2271b1;
5166 z-index: 100000000000000000;
5167 position: relative;
5168 }
5169
5170 .notice.notice-success {
5171 background: #d1eddb;
5172 border-left-color: #2d8f47;
5173 }
5174
5175 /* Animation for status changes */
5176 .license-status-updating {
5177 opacity: 0.6;
5178 transition: opacity 0.3s ease;
5179 }
5180
5181 /* Spinner for domain linking */
5182 .domain-link-spinner {
5183 display: inline-block;
5184 width: 16px;
5185 height: 16px;
5186 border: 2px solid #f3f3f3;
5187 border-top: 2px solid #2271b1;
5188 border-radius: 50%;
5189 animation: spin 1s linear infinite;
5190 margin-left: 8px;
5191 }
5192
5193 @keyframes spin {
5194 0% { transform: rotate(0deg); }
5195 100% { transform: rotate(360deg); }
5196 }
5197
5198
5199
5200 .mxchat-pro-notification .old-price {
5201 text-decoration: line-through;
5202 color: #888;
5203 }
5204 .mxchat-pro-notification .new-price {
5205 font-weight: bold;
5206 color: #d9534f; /* red for urgency */
5207 }
5208