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

5,072 lines 104.1 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-knowledge-controls {
267 flex-direction: column;
268 }
269
270 .mxchat-addon-notice-buttons {
271 flex-direction: column;
272 }
273
274 .mxchat-grid-container {
275 display: grid;
276 /* Add these properties */
277 max-width: 100%; /* Constrain to parent width */
278 width: 100%;
279 overflow-x: hidden; /* Prevent horizontal scrolling */
280 grid-template-columns: 1fr; /* Single column layout */
281 grid-gap: 20px;
282 }
283
284 .mxchat-controls-header {
285 flex-direction: column;
286 gap: 1rem;
287 align-items: flex-start;
288 }
289
290 .mxchat-search-group {
291 flex-direction: column;
292 }
293
294 }
295
296
297
298
299
300
301
302
303
304
305 .mxchat-modal {
306 display: none;
307 position: fixed;
308 z-index: 1000;
309 left: 0;
310 top: 0;
311 width: 100%;
312 height: 100%;
313 background-color: rgba(0,0,0,0.4);
314 }
315
316 .mxchat-modal-content {
317 background-color: #fefefe;
318 margin: 15% auto;
319 padding: 20px;
320 border: 1px solid #ddd;
321 width: 70%;
322 max-width: 600px;
323 border-radius: 4px;
324 }
325
326 .mxchat-modal-close {
327 color: #aaa;
328 float: right;
329 font-size: 28px;
330 font-weight: bold;
331 cursor: pointer;
332 }
333
334 .mxchat-modal-close:hover {
335 color: black;
336 }
337
338
339
340
341 .mxchat-admin .button.button-secondary.mxchat-edit-button {
342 background: #3498db;
343 color: #fff;
344 border-radius: 20px;
345 padding: 0px 20px !important;
346 font-size: 1rem;
347 font-weight: 700;
348 text-decoration: none;
349 transition: all .2s;
350 justify-content: center;
351 align-items: center;
352 box-shadow: 4px 4px #2980b9;
353 cursor: pointer;
354 margin-top: 10px;
355 border: none;
356 width: 100%;
357 }
358
359
360 .mxchat-admin .mxchat-intents-table .mxchat-delete-all {
361 width: 100%;
362 }
363
364 .mxchat-admin .mxchat-intents-table .mxchat-save-button {
365 max-width: 100% !important;
366 width: 100% !important;
367 }
368
369 .mxchat-agents-banner {
370 background-color: #fff;
371 margin-bottom: 20px;
372 border-radius: 4px;
373 box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
374 position: relative;
375 margin-left: auto;
376 margin-right: auto;
377 padding: 0px 15px;
378 }
379
380 .mxchat-agents-banner::before {
381 content: '';
382 position: absolute;
383 top: 0;
384 left: 0px;
385 width: 10px; /* Matches border-left width */
386 height: 100%;
387 background: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1); /* Gradient */
388 border-radius: 4px 0 0 4px; /* Match overall border radius */
389 }
390
391 .mxchat-agents-banner p {
392 font-size: 14px;
393 line-height: 1.6;
394 color: #444; /* Dark gray text */
395 margin: 0;
396 padding: 15px 10px;
397 }
398
399 .mxchat-agents-banner a {
400 background: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1); /* Gradient text */
401 -webkit-background-clip: text;
402 -webkit-text-fill-color: transparent; /* Makes gradient visible */
403 font-weight: bold;
404 text-decoration: none;
405 transition: opacity 0.2s ease;
406 }
407
408 .mxchat-agents-banner a:hover {
409 opacity: 0.8; /* Subtle fade on hover */
410 text-decoration: underline; /* Underline for accessibility */
411 }
412
413
414
415 .mxchat-timestamp {
416 font-size: 10px;
417 color: #8c8f94;
418 margin-top: 2px;
419 padding: 0 8px;
420 }
421
422 .mxchat-messages::-webkit-scrollbar {
423 width: 6px;
424 }
425
426 .mxchat-messages::-webkit-scrollbar-track {
427 background: #f1f1f1;
428 }
429
430 .mxchat-messages::-webkit-scrollbar-thumb {
431 background: #888;
432 border-radius: 3px;
433 }
434
435
436
437
438
439
440
441
442
443 .mxchat-process-status {
444 margin-top: 20px;
445 padding: 15px;
446 background: #fff;
447 border: 1px solid #ddd;
448 border-radius: 4px;
449 box-shadow: 0 1px 3px rgba(0,0,0,0.1);
450 }
451
452 .mxchat-process-status h3 {
453 margin: 0 0 15px 0;
454 color: #23282d;
455 font-size: 14px;
456 font-weight: 600;
457 }
458
459 .mxchat-process-status p {
460 margin: 8px 0;
461 color: #555;
462 font-size: 13px;
463 }
464
465 .mxchat-process-status .status-complete {
466 color: #46b450;
467 font-weight: 500;
468 }
469
470 .mxchat-process-status.complete {
471 border-color: #46b450;
472 }
473
474
475
476
477
478 /* Toggle Switch Styles */
479 .mxchat-switch {
480 position: relative;
481 display: inline-block;
482 width: 60px;
483 height: 34px;
484 margin-right: 10px;
485 }
486
487 .mxchat-switch input {
488 opacity: 0;
489 width: 0;
490 height: 0;
491 }
492
493 .mxchat-slider {
494 position: absolute;
495 cursor: pointer;
496 top: 0;
497 left: 0;
498 right: 0;
499 bottom: 0;
500 background-color: #ccc;
501 transition: .4s;
502 border-radius: 34px;
503 }
504
505 .mxchat-slider:before {
506 position: absolute;
507 content: "";
508 height: 26px;
509 width: 26px;
510 left: 4px;
511 bottom: 4px;
512 background-color: white;
513 transition: .4s;
514 border-radius: 50%;
515 }
516
517 input:checked + .mxchat-slider {
518 background-color: #2196F3;
519 }
520
521 input:disabled + .mxchat-slider {
522 opacity: 0.5;
523 cursor: not-allowed;
524 }
525
526 input:checked + .mxchat-slider:before {
527 transform: translateX(26px);
528 }
529
530 .mxchat-status-label {
531 display: inline-block;
532 vertical-align: middle;
533 margin-left: 10px;
534 }
535
536 .status-text {
537 font-weight: 500;
538 }
539
540
541
542
543 .mxchat-question-row {
544 margin-bottom: 10px;
545 }
546
547 .mxchat-similarity-threshold .mxchat-slider-container {
548 display: flex;
549 align-items: center;
550 gap: 15px;
551 margin-top: 10px;
552 }
553
554 .mxchat-similarity-threshold input[type="range"] {
555 flex: 1;
556 margin: 0;
557 }
558
559 .mxchat-similarity-threshold .button-primary {
560 white-space: nowrap;
561 }
562
563 .mxchat-similarity-threshold label {
564 font-weight: bold;
565 display: block;
566 margin-bottom: 5px;
567 }
568
569 .mxchat-similarity-threshold {
570 max-width: 600px;
571 }
572
573 #threshold_value_display {
574 font-weight: normal;
575 margin-left: 10px;
576 color: #0073aa;
577 }
578
579 .mxchat-form-group {
580 margin-bottom: 20px;
581 }
582
583 .mxchat-form-group input[type="range"] {
584 width: 100%;
585 margin-top: 10px;
586 }
587
588 .mxchat-form-group label {
589 font-weight: bold;
590 display: block;
591 margin-bottom: 5px;
592 }
593
594 .mxchat-form-group .description {
595 font-size: 0.9em;
596 color: #666;
597 }
598
599 #threshold_value_display {
600 font-weight: normal;
601 margin-left: 10px;
602 color: #0073aa;
603 }
604
605
606
607
608 .mxchat-product-image, .mxchat-generated-image, .mxchat-image-thumbnail {
609 max-width: 100%;
610 }
611 .description {
612 margin-top: -10px;
613 }
614
615 .tablenav .tablenav-pages {
616 display: flex;
617 align-items: center;
618 margin-left: 20px;
619 gap: 5px;
620 }
621
622 /* General Styles */
623 .mxchat-admin body, .mxchat-admin html {
624 font-family: Arial, sans-serif;
625 background-color: #fff;
626 color: #212121;
627 margin: 0;
628 padding: 0;
629 }
630
631 /* Main Wrapper */
632 .mxchat-admin .wrap {
633 max-width: 1200px;
634 margin: 0 auto;
635 padding: 20px;
636 background: #f9f9f9;
637 box-shadow: 0 2px 4px rgba(0, 0, 0, .1);
638 }
639 /* Header */
640 .mxchat-admin .wrap h2 {
641 border-bottom: 2px solid #ddd;
642 padding-bottom: 10px;
643 margin-bottom: 20px;
644 color: #212121;
645 }
646
647 .wrap.mxchat-admin .admin-title {
648 text-shadow: 0 2px 0 #c6c6c6;
649 font-weight: bold;
650 letter-spacing: 5px;
651 color: #212121;
652 font-size: 2.5rem;
653 }
654
655 .mxchat-admin .admin-emphasis {
656 color: white;
657 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;
658 font-weight: bold;
659 letter-spacing: 5px;
660 font-size: 2.5rem;
661 }
662 /* Grid Layout */
663 .mxchat-admin .mxchat-grid-container {
664 display: grid;
665 grid-template-columns: repeat(2, 1fr);
666 grid-gap: 20px;
667 }
668
669 .mxchat-admin .mxchat-grid-item {
670 background: #fff;
671 border: 1px solid #ddd;
672 box-shadow: 0 2px 4px rgba(0, 0, 0, .1);
673 padding: 20px;
674 border-radius: 10px;
675 }
676
677 /* Full Width for Submit Content */
678 .mxchat-admin .mxchat-grid-item.full-width {
679 grid-column: span 2;
680 }
681
682 /* Form Styles */
683 .mxchat-admin .mxchat-form-group {
684 display: flex;
685 flex-direction: column;
686 margin-bottom: 20px;
687 }
688
689 .mxchat-admin .mxchat-form-group label {
690 margin-bottom: 10px;
691 font-weight: bold;
692 color: #212121;
693 }
694
695 .mxchat-admin .mxchat-form-group input[type="url"],
696 .mxchat-admin .mxchat-form-group input[type="text"],
697 .mxchat-admin .mxchat-form-group input[type="password"],
698 .mxchat-admin .mxchat-form-group textarea {
699 padding: 10px;
700 border: 1px solid #ddd;
701 border-radius: 4px;
702 font-size: 1rem;
703 width: 100%;
704 box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
705 }
706
707 /* Larger Textarea for Content Submission */
708 .mxchat-admin .mxchat-form-group textarea {
709 min-height: 200px;
710 }
711
712 /* Button Styles */
713 .mxchat-admin .button.button-primary {
714 color: #fff;
715 background: #212121;
716 border-radius: 20px;
717 padding: 0px 30px;
718 font-size: 1rem;
719 font-weight: 700;
720 text-decoration: none;
721 transition: all .2s;
722 display: inline-flex;
723 justify-content: center;
724 align-items: center;
725 max-width: 200px;
726 width: auto;
727 box-shadow: 4px 4px #14141499;
728 border: none;
729 cursor: pointer;
730 }
731
732 .mxchat-search-group .button.button-primary.search-button {
733 box-shadow: none;
734 border-radius: 0px 20px 20px 0px;
735 margin-bottom: 0px;
736 padding: 0px 15px;
737 }
738
739 .mxchat-search-group .button.button-primary.search-button:hover {
740 opacity: .8px;
741 }
742
743 .mxchat-admin .button.button-primary:hover,
744 .mxchat-admin .button.button-primary:active {
745 background: #444;
746 }
747
748 .submit-content-button {
749 margin-top: 10px !important;
750 }
751
752 /* Search and Sitemap Group */
753 .mxchat-admin .mxchat-search-group {
754 display: flex;
755 gap: 0px;
756 max-width: 800px;
757 margin: auto;
758 margin-top: 20px;
759 align-items: stretch;
760 flex-direction: row;
761 }
762
763 .mxchat-admin .mxchat-search-group input[type="text"],
764 .mxchat-admin .mxchat-search-group input[type="url"] {
765 flex-grow: 1;
766 border-radius: 20px 0px 0px 20px;
767 padding: 8px;
768 }
769
770 .mxchat-search-group #mxchat-intent-search {
771 border-radius: 0px 0px 0px 0px;
772 }
773
774 .mxchat-admin .mxchat-search-group input[type="submit"] {
775 background: #212121;
776 color: #fff;
777 border-radius: 20px;
778 padding: 0px 30px;
779 font-size: 1rem;
780 font-weight: 700;
781 box-shadow: 4px 4px #14141499;
782 border: none;
783 transition: background-color .2s;
784 cursor: pointer;
785 }
786
787 .mxchat-admin .mxchat-search-group input[type="submit"]:hover {
788 background-color: #444;
789 }
790
791 .mxchat-admin .mxchat-delete-all, .button.button-link-delete.mxchat-delete-all {
792 background: #e74c3c;
793 color: #fff;
794 border-radius: 20px;
795 padding: 0px 15px !important;
796 font-size: 1rem;
797 font-weight: 700;
798 text-decoration: none;
799 transition: all .2s;
800 justify-content: center;
801 align-items: center;
802 box-shadow: 4px 4px #c0392b;
803 cursor: pointer;
804 margin-bottom: 10px;
805 border: none;
806 }
807
808 .mxchat-admin .mxchat-delete-all:hover {
809 color: #fff;
810 background-color: #c0392b;
811 box-shadow: 4px 4px #a93226
812 }
813
814 .mxchat-admin .mxchat-intents-table .mxchat-delete-all {
815 background: #e74c3c;
816 color: #fff;
817 border-radius: 20px;
818 padding: 0px 20px !important;
819 font-size: 1rem;
820 font-weight: 700;
821 text-decoration: none;
822 transition: all .2s;
823 justify-content: center;
824 align-items: center;
825 box-shadow: 4px 4px #c0392b;
826 cursor: pointer;
827 margin-top: 10px;
828 border: none;
829 }
830
831 .mxchat-admin .mxchat-intents-table .mxchat-delete-all:hover {
832 color: #fff;
833 background-color: #c0392b;
834 box-shadow: 4px 4px #a93226;
835 }
836
837
838
839 /* Table Styles */
840 .mxchat-admin .wp-list-table {
841 width: 100%;
842 margin-top: 20px;
843 border-collapse: collapse;
844 background: #fff;
845 box-shadow: 0 2px 4px rgba(0, 0, 0, .1);
846 }
847
848 .mxchat-admin .wp-list-table th,
849 .mxchat-admin .wp-list-table td {
850 padding: 15px;
851 border-bottom: 1px solid #ddd;
852 text-align: left;
853 }
854
855 .mxchat-admin .wp-list-table th {
856 background: #f0f2f5;
857 color: #212121;
858 }
859
860 .mxchat-admin .wp-list-table tr:nth-child(even) {
861 background: #f9f9f9;
862 }
863
864 .mxchat-admin .mxchat-pro-banner {
865 background-color: #fff;
866 padding: 0px 15px;
867 margin-bottom: 20px;
868 box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* Subtle shadow for depth */
869 position: relative; /* Required for the ::before pseudo-element */
870 }
871
872 .mxchat-admin .mxchat-pro-banner::before {
873 content: '';
874 position: absolute;
875 top: 0;
876 left: 0px;
877 width: 10px; /* Matches the border-left width in your original CSS */
878 height: 100%;
879 background-color: #212121; /* Dark bar color */
880 border-radius: 4px 0 0 4px; /* Rounded corners on the left */
881 }
882
883
884 .mxchat-admin .mxchat-pro-banner p {
885 margin: 0;
886 font-size: 16px;
887 color: #212121;
888 padding: 15px 10px;
889 }
890
891 .mxchat-admin .mxchat-pro-banner a {
892 color: #212121;
893 text-decoration: none;
894 font-weight: bold;
895 }
896
897 .mxchat-admin .mxchat-pro-banner a:hover {
898 text-decoration: underline;
899 }
900
901 /* Toggle Switch Styles */
902 .mxchat-admin .toggle-switch {
903 position: relative;
904 display: inline-block;
905 width: 60px;
906 height: 34px;
907 }
908
909 .mxchat-admin .toggle-switch input {
910 opacity: 0;
911 width: 0;
912 height: 0;
913 }
914
915 .mxchat-admin .slider {
916 position: absolute;
917 cursor: pointer;
918 top: 0;
919 left: 0;
920 right: 0;
921 bottom: 0;
922 background-color: #ccc;
923 transition: .4s;
924 border-radius: 34px;
925 }
926
927 .mxchat-admin .slider:before {
928 position: absolute;
929 content: "";
930 height: 26px;
931 width: 26px;
932 left: 4px;
933 bottom: 4px;
934 background-color: white;
935 transition: .4s;
936 border-radius: 50%;
937 }
938
939 .mxchat-admin input:checked + .slider {
940 background-color: #212121;
941 }
942
943 .mxchat-admin input:checked + .slider:before {
944 transform: translateX(26px);
945 }
946
947 /* Toggle Switch Label */
948 .mxchat-admin .toggle-switch-label {
949 display: flex;
950 align-items: center;
951 font-weight: 600;
952 color: #212121;
953 margin-bottom: 20px;
954 }
955
956 .mxchat-loading-text {
957 display: none;
958 margin-top: 10px;
959 color: #333;
960 }
961
962 .mxchat-spinner {
963 border: 8px solid #f3f3f3;
964 border-top: 8px solid #333;
965 border-radius: 50%;
966 width: 30px;
967 height: 30px;
968 animation: mxchat-spin 1s linear infinite;
969 display: flex;
970 justify-content: center;
971 align-items: center;
972 }
973
974 #mxchat-content-loading-text {
975 display: none;
976 margin-top: 10px;
977 color: #333;
978 }
979
980 .mxchat-content-spinner {
981 border: 8px solid #f3f3f3;
982 border-top: 8px solid #333;
983 border-radius: 50%;
984 width: 30px;
985 height: 30px;
986 animation: mxchat-spin 1s linear infinite;
987 display: flex;
988 justify-content: center;
989 align-items: center;
990 }
991
992
993 #mxchat-activation-spinner {
994 border: 4px solid #f3f3f3;
995 border-top: 4px solid #007cba; /* Match the WordPress primary button color */
996 border-radius: 50%;
997 width: 20px;
998 height: 20px;
999 animation: mxchat-spin 1s linear infinite;
1000 display: inline-block;
1001 vertical-align: middle;
1002 margin-left: 10px;
1003 }
1004
1005 @keyframes mxchat-spin {
1006 0% { transform: rotate(0deg); }
1007 100% { transform: rotate(360deg); }
1008 }
1009
1010
1011
1012 .pro-feature-wrapper.active select,
1013 .pro-feature-wrapper.active textarea {
1014 opacity: 1; /* Fully opaque when active */
1015 }
1016
1017 .pro-feature-wrapper.inactive select,
1018 .pro-feature-wrapper.inactive textarea {
1019 opacity: 0.5; /* Grayed out when inactive */
1020 }
1021
1022 .pro-feature-overlay {
1023 position: absolute;
1024 top: 0;
1025 left: 0;
1026 width: 100%;
1027 height: 100%;
1028 display: flex;
1029 justify-content: center;
1030 align-items: center;
1031 pointer-events: none;
1032 }
1033
1034 .pro-feature-overlay img {
1035 max-width: 100px;
1036 pointer-events: auto; /* Allow clicking the image */
1037 }
1038
1039 .pro-feature-wrapper a {
1040 text-decoration: none;
1041 position: absolute;
1042 top: 0;
1043 left: 0;
1044 width: 100%;
1045 height: 100%;
1046 z-index: 10; /* Ensure the link is above everything else */
1047 }
1048
1049
1050 .mxchat-admin .chat-session {
1051 border: 1px solid #ddd;
1052 padding: 15px;
1053 width: calc(33.333% - 20px);
1054 box-sizing: border-box;
1055 background-color: #f9f9f9;
1056 display: flex;
1057 flex-direction: column;
1058 max-height: 500px;
1059 overflow: auto;
1060 }
1061
1062 .mxchat-admin .chat-message {
1063 border-bottom: 1px solid #eee;
1064 padding-bottom: 10px;
1065 margin-bottom: 10px;
1066 }
1067
1068 .mxchat-admin .chat-session h4 {
1069 margin-bottom: 15px;
1070 font-size: 1.1em;
1071 font-weight: 700;
1072 }
1073
1074 .mxchat-controls {
1075 display: flex;
1076 align-items: center;
1077 margin-bottom: 15px;
1078 }
1079
1080 .mxchat-select-all-label {
1081 margin-right: 15px;
1082 display: flex;
1083 align-items: center;
1084 }
1085
1086 .mxchat-select-all-label input[type="checkbox"] {
1087 margin-right: 5px;
1088 }
1089
1090 .mxchat-controls .delete-chats-button.button {
1091 padding: 6px 12px;
1092 font-size: 14px;
1093 background: #e74c3c;
1094 color: #fff;
1095 border-radius: 20px;
1096 font-weight: 700;
1097 text-decoration: none;
1098 transition: all .2s;
1099 justify-content: center;
1100 align-items: center;
1101 cursor: pointer;
1102 border: none;
1103 line-height: 1;
1104 }
1105
1106
1107 .mxchat-controls .delete-chats-button.button:hover {
1108 color: #fff;
1109 background-color: #c0392b;
1110 box-shadow: 4px 4px #a93226
1111 }
1112
1113
1114 .mxchat-license-status.active {
1115 color: green;
1116 font-weight: bold;
1117 }
1118
1119 .mxchat-license-status.inactive {
1120 color: red;
1121 font-weight: bold;
1122 }
1123 .mxchat-nav-tab-wrapper {
1124 margin: 0px 0px;
1125 padding: 0px 0px;
1126 display: flex;
1127 padding-left: 20px;
1128 }
1129
1130 .mxchat-nav-tab {
1131 font-size: 14px;
1132 padding: 10px 20px;
1133 margin-right: 10px;
1134 background: #f1f1f1;
1135 border: 1px solid #ddd;
1136 border-bottom: none;
1137 cursor: pointer;
1138 box-shadow: none;
1139 color: #333;
1140 text-decoration: none;
1141 }
1142
1143 .mxchat-nav-tab:hover, .mxchat-nav-tab:focus {
1144 background: #fff;
1145 color: #0073aa;
1146 box-shadow: none;
1147 }
1148
1149 .mxchat-nav-tab-active {
1150 background: #fff;
1151 border-bottom: 1px solid #fff;
1152 color: #0073aa;
1153 }
1154
1155
1156
1157 .mxchat-tab-content.active {
1158 display: block;
1159 }
1160
1161
1162 .mxchat-settings-section {
1163 padding: 20px 0;
1164 }
1165
1166 .mxchat-settings-section h2 {
1167 font-size: 1.2em;
1168 margin-bottom: 10px;
1169 color: #333;
1170 font-weight: bold;
1171 }
1172
1173 .section-divider {
1174 width: 95%;
1175 height: 2px;
1176 background-color: #e0e0e0;
1177 margin: 20px auto;
1178 border-radius: 1px;
1179 }
1180
1181 .form-table th {
1182 padding: 10px 0;
1183 vertical-align: top;
1184 width: 220px;
1185 }
1186
1187 .form-table td {
1188 padding: 10px 0;
1189 }
1190
1191
1192
1193
1194 .mxchat-table {
1195 width: 100%;
1196 table-layout: fixed;
1197 border-collapse: collapse;
1198 border: 1px solid #ccc; /* Adds a border around the table */
1199 }
1200
1201 /* Header styling to match theme */
1202 .mxchat-table th {
1203 background-color: #212121; /* Dark gray/black background */
1204 color: #fff; /* White text */
1205 font-weight: bold;
1206 padding: 10px;
1207 border-bottom: 3px solid #ccc; /* Thicker divider for the header */
1208 }
1209
1210 /* General cell styling */
1211 .mxchat-table th, .mxchat-table td {
1212 padding: 8px 10px;
1213 text-align: left;
1214 vertical-align: top; /* Aligns content to the top of the cell */
1215 border-bottom: 2px solid #ddd; /* Adds prominent dividers between rows */
1216 }
1217
1218 /* Alternate row background for better readability */
1219 .mxchat-table tbody tr:nth-child(odd) {
1220 background-color: #f9f9f9;
1221 }
1222
1223 .mxchat-table tbody tr:nth-child(even) {
1224 background-color: #fff;
1225 }
1226
1227 /* ID column should be small */
1228 .mxchat-table td:nth-child(1),
1229 .mxchat-table th:nth-child(1) {
1230 width: 15%; /* ID column */
1231 text-align: center;
1232 }
1233
1234 /* Content column should be wide */
1235 .mxchat-table td:nth-child(2),
1236 .mxchat-table th:nth-child(2) {
1237 width: 50%; /* Content column */
1238 }
1239
1240 /* URL column */
1241 .mxchat-table td:nth-child(3),
1242 .mxchat-table th:nth-child(3) {
1243 width: 20%; /* URL column */
1244 text-align: left;
1245 overflow-x: auto; /* Allow the URL to scroll horizontally if it's too long */
1246 white-space: nowrap;
1247 }
1248
1249 /* Actions column */
1250 .mxchat-table td:nth-child(4),
1251 .mxchat-table th:nth-child(4) {
1252 width: 15%; /* Edit/Delete column */
1253 text-align: center;
1254 }
1255
1256 .mxchat-intents-table {
1257 width: 100%;
1258 table-layout: fixed;
1259 border-collapse: collapse;
1260 border: 1px solid #ccc;
1261 }
1262
1263 .mxchat-intents-table th {
1264 background-color: #212121;
1265 color: #fff;
1266 font-weight: bold;
1267 padding: 10px;
1268 border-bottom: 3px solid #ccc;
1269 }
1270
1271 .mxchat-intents-table th,
1272 .mxchat-intents-table td {
1273 padding: 8px 10px;
1274 text-align: left;
1275 vertical-align: top;
1276 border-bottom: 2px solid #ddd;
1277 }
1278
1279 .mxchat-intents-table tbody tr:nth-child(odd) {
1280 background-color: #f9f9f9;
1281 }
1282
1283 .mxchat-intents-table tbody tr:nth-child(even) {
1284 background-color: #fff;
1285 }
1286
1287 /* Intent Label column */
1288 .mxchat-intents-table td:nth-child(1),
1289 .mxchat-intents-table th:nth-child(1) {
1290 width: 20%;
1291 }
1292
1293 /* Phrases column */
1294 .mxchat-intents-table td:nth-child(2),
1295 .mxchat-intents-table th:nth-child(2) {
1296 width: 30%;
1297 overflow-x: auto;
1298 }
1299
1300 /* Callback Function column */
1301 .mxchat-intents-table td:nth-child(3),
1302 .mxchat-intents-table th:nth-child(3) {
1303 width: 20%;
1304 }
1305
1306 /* Similarity Threshold column */
1307 .mxchat-intents-table td:nth-child(4),
1308 .mxchat-intents-table th:nth-child(4) {
1309 width: 15%;
1310 text-align: center;
1311 }
1312
1313 /* Actions column */
1314 .mxchat-intents-table td:nth-child(5),
1315 .mxchat-intents-table th:nth-child(5) {
1316 width: 15%;
1317 text-align: center;
1318 }
1319
1320 /* Style the threshold range slider */
1321 .mxchat-intents-threshold-form input[type="range"] {
1322 width: 100%;
1323 margin: 5px 0;
1324 }
1325
1326 .mxchat-intents-threshold-form button {
1327 margin-top: 5px;
1328 }
1329
1330
1331
1332 /* Edit content textarea styling */
1333 .content-edit {
1334 width: 100%; /* Make textarea fill the column */
1335 height: 100px; /* Adjust height as needed */
1336 box-sizing: border-box; /* Ensure padding and border are included in the width/height */
1337 }
1338
1339 /* Button styling to match theme */
1340 .mxchat-table td .button {
1341 display: inline-block;
1342 margin-right: 5px;
1343 background-color: #212121;
1344 color: #fff;
1345 border: none;
1346 padding: 5px 10px;
1347 text-decoration: none;
1348 border-radius: 3px;
1349 cursor: pointer;
1350 box-shadow: 4px 4px #14141499;
1351 }
1352
1353 /* Hover state */
1354 .mxchat-table td .button:hover {
1355 display: inline-block;
1356 margin-right: 5px;
1357 background-color: #444;
1358 color: #fff;
1359 border: none;
1360 padding: 5px 10px;
1361 text-decoration: none;
1362 border-radius: 3px;
1363 cursor: pointer;
1364 box-shadow: 4px 4px #14141499;
1365 }
1366
1367 /* Active state */
1368 .mxchat-table td .button:active {
1369 display: inline-block;
1370 margin-right: 5px;
1371 background-color: #444;
1372 color: #fff;
1373 border: none;
1374 padding: 5px 10px;
1375 text-decoration: none;
1376 border-radius: 3px;
1377 cursor: pointer;
1378 box-shadow: 4px 4px #14141499;
1379 }
1380
1381 /* Focus state */
1382 .mxchat-table td .button:focus {
1383 display: inline-block;
1384 margin-right: 5px;
1385 background-color: #444;
1386 color: #fff;
1387 border: none;
1388 padding: 5px 10px;
1389 text-decoration: none;
1390 border-radius: 3px;
1391 cursor: pointer;
1392 box-shadow: 4px 4px #14141499;
1393 outline: none; /* Removes default outline */
1394 }
1395
1396
1397
1398 /* Responsive Design */
1399 @media (max-width: 1024px) {
1400 .mxchat-admin .mxchat-grid-container {
1401 grid-template-columns: 1fr;
1402 }
1403
1404 .mxchat-admin .mxchat-grid-item.full-width {
1405 grid-column: span 1;
1406 }
1407
1408 .mxchat-admin .chat-session {
1409 width: calc(100% - 0px);
1410 }
1411
1412 .mxchat-nav-tab {
1413 padding: 10px 12px;
1414 }
1415
1416 .mxchat-admin .mxchat-nav-tab-wrapper,
1417 .mxchat-admin .wrap h2.mxchat-nav-tab-wrapper,
1418 .mxchat-admin h1.mxchat-nav-tab-wrapper {
1419 border-bottom: 0;
1420 justify-content: space-evenly;
1421 display: flex;
1422 }
1423
1424 .mxchat-admin .mxchat-nav-tab-wrapper .mxchat-nav-tab {
1425 margin: 0;
1426 }
1427 .mxchat-nav-tab-wrapper {
1428 padding-left: 0px;
1429 }
1430
1431 .mxchat-session {
1432 width: 100%;
1433 }
1434
1435
1436 }
1437
1438
1439 /* Basic responsive table styles */
1440 @media screen and (max-width: 782px) {
1441 .mxchat-intents-table {
1442 display: block;
1443 width: 100%;
1444 }
1445
1446 .mxchat-intents-table thead {
1447 display: none; /* Hide header on mobile */
1448 }
1449
1450 .mxchat-intents-table tbody,
1451 .mxchat-intents-table tr,
1452 .mxchat-intents-table td {
1453 display: block;
1454 width: 100%;
1455 }
1456
1457 .mxchat-intents-table tr {
1458 margin-bottom: 1.5rem;
1459 background: #fff;
1460 padding: 1rem;
1461 border-radius: 8px;
1462 box-shadow: 0 1px 3px rgba(0,0,0,0.1);
1463 max-width: 300px;
1464 }
1465
1466 /* Add labels before content */
1467 .mxchat-intents-table td:before {
1468 content: attr(data-label);
1469 font-weight: 600;
1470 display: block;
1471 margin-bottom: 0.5rem;
1472 color: #1d2327;
1473 }
1474
1475 /* Spacing between cells */
1476 .mxchat-intents-table td {
1477 padding: 0.5rem 0;
1478 border: none;
1479 }
1480
1481 /* Handle the slider container */
1482 .mxchat-intents-table td:nth-child(4) {
1483 margin: 1rem 0;
1484 }
1485
1486 /* Style the range input */
1487 .mxchat-intents-table input[type="range"] {
1488 width: 100%;
1489 margin: 0.5rem 0;
1490 }
1491
1492 /* Style the actions column */
1493 .mxchat-intents-table td:last-child {
1494 display: flex;
1495 flex-direction: column;
1496 gap: 0.5rem;
1497 margin-top: 1rem;
1498 }
1499
1500 /* Make buttons full width on mobile */
1501 .mxchat-intents-table .mxchat-save-button,
1502 .mxchat-intents-table .mxchat-edit-button,
1503 .mxchat-intents-table .mxchat-delete-all {
1504 width: 100%;
1505 margin: 0;
1506 }
1507
1508 /* Adjust output display */
1509 .mxchat-intents-table output {
1510 display: block;
1511 text-align: center;
1512 margin-top: 0.25rem;
1513 }
1514
1515 /* Additional spacing for forms */
1516 .mxchat-intents-table form {
1517 margin: 0;
1518 }
1519 }
1520
1521 /* Stats Grid */
1522 .mxchat-stats-grid {
1523 display: grid;
1524 grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
1525 gap: 20px;
1526 margin-bottom: 30px;
1527 margin-top: 20px;
1528 }
1529
1530 .mxchat-stat-card {
1531 background: white;
1532 padding: 20px;
1533 border-radius: 10px;
1534 box-shadow: 0 2px 4px rgba(0,0,0,0.1);
1535 display: flex;
1536 align-items: center;
1537 gap: 15px;
1538 }
1539
1540 .stat-icon {
1541 font-size: 24px;
1542 background: #f0f0f1;
1543 width: 50px;
1544 height: 50px;
1545 display: flex;
1546 align-items: center;
1547 justify-content: center;
1548 border-radius: 10px;
1549 }
1550
1551 .stat-content {
1552 display: flex;
1553 flex-direction: column;
1554 }
1555
1556 .stat-value {
1557 font-size: 24px;
1558 font-weight: bold;
1559 color: #1d2327;
1560 }
1561
1562 .stat-label {
1563 color: #50575e;
1564 font-size: 14px;
1565 }
1566
1567 /* Controls Section */
1568 .mxchat-controls-wrapper {
1569 background: white;
1570 padding: 20px;
1571 border-radius: 10px;
1572 box-shadow: 0 2px 4px rgba(0,0,0,0.1);
1573 margin-bottom: 20px;
1574 display: flex;
1575 justify-content: space-between;
1576 align-items: center;
1577 flex-wrap: wrap;
1578 gap: 15px;
1579 }
1580
1581 .mxchat-controls {
1582 display: flex;
1583 gap: 15px;
1584 align-items: center;
1585 }
1586
1587 .mxchat-search-box input {
1588 padding: 8px 12px;
1589 border-radius: 5px;
1590 border: 1px solid #dcdcde;
1591 width: 300px;
1592 }
1593
1594 /* Select/Delete Buttons */
1595 .mxchat-select-button {
1596 display: flex;
1597 align-items: center;
1598 gap: 8px;
1599 padding: 8px 16px;
1600 background: #fff;
1601 border: 1px solid #0073aa;
1602 border-radius: 4px;
1603 color: #0073aa;
1604 cursor: pointer;
1605 transition: all 0.2s ease;
1606 }
1607
1608 .mxchat-select-button:hover {
1609 background: #f0f7ff;
1610 }
1611
1612 .mxchat-select-button.selected {
1613 background: #0073aa;
1614 color: #fff;
1615 }
1616
1617 .mxchat-select-button .dashicons {
1618 font-size: 18px;
1619 width: 18px;
1620 height: 18px;
1621 transition: transform 0.2s ease;
1622 }
1623
1624 .mxchat-select-button.selected .dashicons {
1625 transform: scale(1.2);
1626 }
1627
1628 .delete-chats-button {
1629 display: flex !important;
1630 align-items: center;
1631 gap: 8px;
1632 background: #dc3232 !important;
1633 color: #fff !important;
1634 border: none !important;
1635 padding: 8px 16px !important;
1636 border-radius: 4px !important;
1637 cursor: pointer;
1638 transition: all 0.2s ease !important;
1639 }
1640
1641 .delete-chats-button:hover {
1642 background: #b32d2e !important;
1643 }
1644
1645 .delete-chats-button .dashicons {
1646 font-size: 18px;
1647 width: 18px;
1648 height: 18px;
1649 }
1650
1651 /* Transcript Grid */
1652 .mxchat-transcript {
1653 display: grid;
1654 grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
1655 gap: 20px;
1656 }
1657
1658 /* Session Cards */
1659 .mxchat-session {
1660 background: white;
1661 border-radius: 10px;
1662 box-shadow: 0 2px 4px rgba(0,0,0,0.1);
1663 overflow: hidden;
1664 border: 1px solid #dcdcde;
1665 display: flex;
1666 flex-direction: column;
1667 }
1668
1669 .mxchat-session-header {
1670 background: #f0f0f1;
1671 padding: 15px;
1672 border-bottom: 1px solid #dcdcde;
1673 }
1674
1675 .mxchat-messages {
1676 padding: 15px;
1677 max-height: 400px;
1678 overflow-y: auto;
1679 flex-grow: 1;
1680 overflow-x: hidden;
1681 }
1682
1683 /* Message Styling */
1684 .mxchat-message {
1685 margin-bottom: 15px;
1686 max-width: 85%;
1687 }
1688
1689 .mxchat-message.user-message {
1690 margin-left: auto;
1691 }
1692
1693 .mxchat-message-content {
1694 padding: 10px 15px;
1695 border-radius: 15px;
1696 margin: 5px 0;
1697 }
1698
1699 .user-message .mxchat-message-content {
1700 background: #0073aa;
1701 color: white;
1702 border-radius: 18px 0 18px 18px;
1703 }
1704
1705 .bot-message .mxchat-message-content {
1706 background: #f0f0f1;
1707 border-radius: 0 18px 18px;
1708 }
1709
1710 .mxchat-timestamp {
1711 font-size: 12px;
1712 color: #50575e;
1713 }
1714
1715 /* Responsive Design */
1716 @media (max-width: 782px) {
1717 .mxchat-controls-wrapper {
1718 flex-direction: column;
1719 align-items: stretch;
1720 }
1721
1722 .mxchat-controls {
1723 flex-direction: column;
1724 width: 100%;
1725 }
1726
1727 .mxchat-search-box input {
1728 width: 100%;
1729 }
1730
1731 .mxchat-transcript {
1732 grid-template-columns: 1fr;
1733 }
1734
1735 .mxchat-select-button,
1736 .delete-chats-button {
1737 width: 100%;
1738 justify-content: center;
1739 }
1740 }
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757 /* Form Table Layout */
1758 .form-table {
1759 border-collapse: separate;
1760 border-spacing: 0 20px;
1761 margin-top: -20px; /* Compensate for border-spacing */
1762 width: 100%;
1763 }
1764
1765 .form-table th {
1766 padding: 20px 10px 20px 0;
1767 width: 200px;
1768 vertical-align: top;
1769 font-weight: 600;
1770 color: #1d2327;
1771 }
1772
1773 .form-table td {
1774 padding: 15px 10px;
1775 vertical-align: top;
1776 }
1777
1778 /* Input Styling */
1779 .form-table input[type="text"],
1780 .form-table input[type="password"],
1781 .form-table textarea,
1782 .form-table select {
1783 width: 100%;
1784 max-width: 500px;
1785 padding: 8px 12px;
1786 border: 1px solid #dcdcde;
1787 border-radius: 4px;
1788 background-color: #fff;
1789 transition: all 0.2s ease;
1790 }
1791
1792 .form-table input[type="text"]:focus,
1793 .form-table input[type="password"]:focus,
1794 .form-table textarea:focus,
1795 .form-table select:focus {
1796 border-color: #2271b1;
1797 box-shadow: 0 0 0 1px #2271b1;
1798 outline: none;
1799 }
1800
1801 /* Range Input Styling */
1802 input[type="range"] {
1803 -webkit-appearance: none;
1804 width: 200px;
1805 height: 4px;
1806 background: #dcdcde;
1807 border-radius: 2px;
1808 vertical-align: middle;
1809 }
1810
1811 input[type="range"]::-webkit-slider-thumb {
1812 -webkit-appearance: none;
1813 height: 16px;
1814 width: 16px;
1815 border-radius: 50%;
1816 background: #2271b1;
1817 cursor: pointer;
1818 transition: all 0.2s ease;
1819 }
1820
1821 input[type="range"]::-webkit-slider-thumb:hover {
1822 transform: scale(1.1);
1823 }
1824
1825 #mxchat_threshold_value {
1826 display: inline-block;
1827 padding: 4px 8px;
1828 background: #2271b1;
1829 color: white;
1830 border-radius: 4px;
1831 margin-left: 10px;
1832 font-size: 12px;
1833 min-width: 30px;
1834 text-align: center;
1835 }
1836
1837 /* Toggle Switch */
1838 .toggle-switch {
1839 position: relative;
1840 display: inline-block;
1841 width: 50px;
1842 height: 24px;
1843 }
1844
1845 .toggle-switch input {
1846 opacity: 0;
1847 width: 0;
1848 height: 0;
1849 }
1850
1851 .slider {
1852 position: absolute;
1853 cursor: pointer;
1854 top: 0;
1855 left: 0;
1856 right: 0;
1857 bottom: 0;
1858 background-color: #ccc;
1859 transition: .4s;
1860 border-radius: 24px;
1861 }
1862
1863 .slider:before {
1864 position: absolute;
1865 content: "";
1866 height: 18px;
1867 width: 18px;
1868 left: 3px;
1869 bottom: 3px;
1870 background-color: white;
1871 transition: .4s;
1872 border-radius: 50%;
1873 }
1874
1875 input:checked + .slider {
1876 background-color: #2271b1;
1877 }
1878
1879 input:checked + .slider:before {
1880 transform: translateX(26px);
1881 }
1882
1883 /* Description Text */
1884 .description {
1885 margin-top: 8px;
1886 color: #646970;
1887 font-style: italic;
1888 font-size: 13px;
1889 }
1890
1891 /* Show/Hide Password Button */
1892 button[id^="toggleApiKey"],
1893 button[id^="toggleXaiKey"],
1894 button[id^="toggleClaudeKey"] {
1895 margin-left: 10px;
1896 padding: 4px 12px;
1897 background: #f0f0f1;
1898 border: 1px solid #c3c4c7;
1899 border-radius: 3px;
1900 cursor: pointer;
1901 transition: all 0.2s ease;
1902 }
1903
1904 button[id^="toggleApiKey"]:hover,
1905 button[id^="toggleXaiKey"]:hover,
1906 button[id^="toggleClaudeKey"]:hover {
1907 background: #e5e5e5;
1908 }
1909
1910 /* Additional Questions Section */
1911 .mxchat-question-row {
1912 display: flex;
1913 gap: 10px;
1914 margin-bottom: 10px;
1915 align-items: center;
1916 }
1917
1918 .mxchat-question-row input {
1919 flex: 1;
1920 }
1921
1922 .mxchat-remove-question,
1923 .mxchat-add-question {
1924 padding: 4px 12px !important;
1925 height: auto !important;
1926 }
1927
1928 .mxchat-remove-question {
1929 background: #dc3232 !important;
1930 color: white !important;
1931 border: none !important;
1932 }
1933
1934 .mxchat-add-question {
1935 background: #2271b1 !important;
1936 color: white !important;
1937 border: none !important;
1938 margin-top: 10px;
1939 }
1940
1941 /* Pro Feature Wrapper */
1942 .pro-feature-wrapper {
1943 position: relative;
1944 }
1945
1946 .pro-feature-wrapper.inactive {
1947 opacity: 0.7;
1948 }
1949
1950 /* Responsive Design */
1951 @media screen and (max-width: 782px) {
1952 .form-table td {
1953 padding-left: 0;
1954 }
1955
1956 .form-table input[type="text"],
1957 .form-table input[type="password"],
1958 .form-table textarea,
1959 .form-table select {
1960 max-width: 100%;
1961 }
1962
1963 .form-table th {
1964 padding-bottom: 5px;
1965 }
1966
1967 .mxchat-question-row {
1968 flex-direction: column;
1969 gap: 5px;
1970 }
1971
1972 input[type="range"] {
1973 width: 100%;
1974 max-width: 300px;
1975 }
1976 }
1977
1978 /* Section Headers */
1979 .mxchat-tab-content h2 {
1980 font-size: 1.5em;
1981 padding-bottom: 15px;
1982 margin-bottom: 25px;
1983 border-bottom: 2px solid #f0f0f1;
1984 color: #1d2327;
1985 }
1986
1987 /* Grouped Settings */
1988 .form-table tr:not(:last-child) {
1989 border-bottom: 1px solid #f0f0f1;
1990 }
1991
1992 /* Show/Hide Button - Universal Selector for all toggle buttons */
1993 button[id^="toggle"] {
1994 padding: 8px 16px;
1995 background: #f0f0f1;
1996 border: 1px solid #dcdcde;
1997 border-radius: 4px;
1998 cursor: pointer;
1999 color: #1d2327;
2000 font-size: 13px;
2001 font-weight: 500;
2002 transition: all 0.2s ease;
2003 white-space: nowrap;
2004 height: 36px;
2005 min-width: 80px;
2006 margin-left: 10px;
2007 }
2008
2009 /* Specific selectors for backward compatibility */
2010 button[id^="toggleApiKey"],
2011 button[id^="toggleXaiApiKey"],
2012 button[id^="toggleClaudeApiKey"],
2013 button[id^="toggleWooCommerceSecretVisibility"],
2014 button[id^="toggleBraveApiKeyVisibility"],
2015 button[id^="toggleLoopsApiKeyVisibility"],
2016 button[id^="toggleWebhookUrlVisibility"],
2017 button[id^="toggleSecretKeyVisibility"],
2018 button[id^="toggleBotTokenVisibility"] {
2019 padding: 8px 16px;
2020 background: #f0f0f1;
2021 border: 1px solid #dcdcde;
2022 border-radius: 4px;
2023 cursor: pointer;
2024 color: #1d2327;
2025 font-size: 13px;
2026 font-weight: 500;
2027 transition: all 0.2s ease;
2028 white-space: nowrap;
2029 height: 36px;
2030 min-width: 80px;
2031 margin-left: 10px;
2032 }
2033
2034 /* Hover state for all toggle buttons */
2035 button[id^="toggle"]:hover {
2036 background: #e5e5e5;
2037 border-color: #c3c4c7;
2038 }
2039
2040 /* Active state for all toggle buttons */
2041 button[id^="toggle"]:active {
2042 background: #dcdcde;
2043 border-color: #c3c4c7;
2044 transform: translateY(1px);
2045 }
2046
2047 /* Responsive Design */
2048 @media screen and (max-width: 782px) {
2049 .pro-feature-wrapper {
2050 flex-wrap: wrap;
2051 }
2052
2053 /* Make all toggle buttons full width on mobile */
2054 button[id^="toggle"] {
2055 width: 100%;
2056 margin-left: 0;
2057 margin-top: 10px;
2058 }
2059 .mxchat-remove-question {
2060 width: 100%;
2061 }
2062 }
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074 .mxchat-flex-section h2 {
2075 margin: 0 0 1rem;
2076 padding-bottom: 0.5rem;
2077 border-bottom: 1px solid #eee;
2078 }
2079
2080 .mxchat-sync-settings,
2081 .mxchat-import-section {
2082 flex: 1;
2083 }
2084
2085 .mxchat-toggle-group {
2086 display: flex;
2087 flex-direction: column;
2088 gap: 0.75rem;
2089 }
2090
2091 .mxchat-toggle-container {
2092 display: flex;
2093 align-items: center;
2094 gap: 0.75rem;
2095 }
2096
2097 .mxchat-toggle-switch {
2098 position: relative;
2099 display: inline-block;
2100 width: 44px;
2101 height: 22px;
2102 }
2103
2104 .mxchat-toggle-slider {
2105 position: absolute;
2106 cursor: pointer;
2107 top: 0;
2108 left: 0;
2109 right: 0;
2110 bottom: 0;
2111 background-color: #ccc;
2112 transition: .4s;
2113 border-radius: 22px;
2114 }
2115
2116 .mxchat-toggle-slider:before {
2117 position: absolute;
2118 content: "";
2119 height: 18px;
2120 width: 18px;
2121 left: 2px;
2122 bottom: 2px;
2123 background-color: white;
2124 transition: .4s;
2125 border-radius: 50%;
2126 }
2127
2128 input:checked + .mxchat-toggle-slider {
2129 background-color: #2196F3;
2130 }
2131
2132 input:checked + .mxchat-toggle-slider:before {
2133 transform: translateX(22px);
2134 }
2135
2136 .mxchat-url-input-group {
2137 display: flex;
2138 gap: 0.5rem;
2139 }
2140
2141 .mxchat-url-input-group input[type="url"] {
2142 flex: 1;
2143 }
2144
2145 .mxchat-status-section {
2146 margin-top: 1rem;
2147 padding-top: 1rem;
2148 border-top: 1px solid #eee;
2149 }
2150
2151 .mxchat-process-status {
2152 background: #f8f9fa;
2153 border-radius: 4px;
2154 padding: 1rem;
2155 margin-bottom: 1rem;
2156 }
2157
2158 .status-header {
2159 display: flex;
2160 justify-content: space-between;
2161 align-items: center;
2162 margin-bottom: 0.5rem;
2163 }
2164
2165 .status-header h4 {
2166 margin: 0;
2167 }
2168
2169 .progress-bar {
2170 background: #eee;
2171 border-radius: 4px;
2172 height: 8px;
2173 margin-bottom: 0.5rem;
2174 }
2175
2176 .progress {
2177 background: #2196F3;
2178 height: 100%;
2179 border-radius: 4px;
2180 transition: width 0.3s ease;
2181 }
2182
2183 .status-details {
2184 display: flex;
2185 justify-content: space-between;
2186 font-size: 0.9em;
2187 color: #666;
2188 }
2189
2190 .save-button-settings {
2191 background: #3498db !important;
2192 color: #fff !important;
2193 border-radius: 20px !important;
2194 padding: 0px 20px !important;
2195 font-size: 1rem !important;
2196 font-weight: 700 !important;
2197 text-decoration: none !important;
2198 transition: all .2s !important;
2199 box-shadow: 4px 4px #2980b9 !important;
2200 cursor: pointer !important;
2201 margin-top: 10px !important;
2202 border: none !important;
2203 margin-bottom: 10px !important;
2204 }
2205
2206 .mxchat-import-description {
2207 margin-bottom: 1rem;
2208 }
2209
2210 .description-text {
2211 margin: 0 0 0.5rem;
2212 color: #666;
2213 }
2214
2215 .import-options {
2216 margin: 0 0 1rem;
2217 padding-left: 1.5rem;
2218 }
2219
2220 .import-options li {
2221 margin-bottom: 0.25rem;
2222 color: #666;
2223 }
2224
2225 .import-options strong {
2226 color: #333;
2227 }
2228
2229 .import-section {
2230 margin-top: 50px;
2231 }
2232
2233
2234 /* Mobile Responsiveness */
2235 @media screen and (max-width: 782px) {
2236 .mxchat-settings-row {
2237 flex-direction: column;
2238 }
2239 .mxchat-url-input-group input[type="submit"] {
2240 width: 100%;
2241 }
2242 }
2243
2244
2245
2246
2247
2248 /* Feedback container for saving indicator */
2249 .feedback-container {
2250 display: inline-flex;
2251 align-items: right;
2252 margin-left: 10px;
2253 position: relative;
2254 z-index: 2;
2255 }
2256
2257 /* Spinner animation */
2258 .saving-spinner {
2259 width: 16px;
2260 height: 16px;
2261 border: 2px solid #ccc;
2262 border-top-color: #007cba; /* WordPress blue */
2263 border-radius: 50%;
2264 animation: spin 0.6s linear infinite;
2265 }
2266
2267 /* Checkmark icon */
2268 .success-icon {
2269 display: none;
2270 color: #28a745; /* Green for success */
2271 font-size: 16px;
2272 font-weight: bold;
2273 margin-left: 5px;
2274 animation: fadeInOut 1.5s ease-in-out forwards;
2275 }
2276
2277 /* Spinner animation keyframes */
2278 @keyframes spin {
2279 to {
2280 transform: rotate(360deg);
2281 }
2282 }
2283
2284 /* Success icon fade animation */
2285 @keyframes fadeInOut {
2286 0% {
2287 opacity: 0;
2288 }
2289 20% {
2290 opacity: 1;
2291 }
2292 80% {
2293 opacity: 1;
2294 }
2295 100% {
2296 opacity: 0;
2297 }
2298 }
2299
2300
2301 .slider-container {
2302 display: flex;
2303 align-items: center;
2304 gap: 10px;
2305 margin-bottom: 10px;
2306 }
2307
2308 .range-slider {
2309 flex-grow: 1;
2310 max-width: 300px;
2311 }
2312
2313 .range-value {
2314 min-width: 30px;
2315 text-align: center;
2316 }
2317
2318 /* Optional: Style the range input */
2319 input[type="range"] {
2320 -webkit-appearance: none;
2321 width: 100%;
2322 height: 8px;
2323 background: #ddd;
2324 border-radius: 4px;
2325 outline: none;
2326 }
2327
2328 input[type="range"]::-webkit-slider-thumb {
2329 -webkit-appearance: none;
2330 width: 16px;
2331 height: 16px;
2332 background: #2271b1;
2333 border-radius: 50%;
2334 cursor: pointer;
2335 }
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353 /* Container Styles */
2354 .mxchat-import-container {
2355 background: #fff;
2356 padding: 20px;
2357 border: 1px solid #e1e1e1;
2358 border-radius: 10px;
2359 box-shadow: 0 2px 4px rgba(0, 0, 0, .1);
2360 }
2361
2362
2363
2364 /* Tabs Navigation */
2365 .mxchat-tabs {
2366 display: flex;
2367 border-bottom: 2px solid #e1e1e1;
2368 margin-bottom: 20px;
2369 }
2370 .mxchat-tab-button {
2371 padding: 10px 20px;
2372 cursor: pointer;
2373 background: transparent;
2374 border: none;
2375 border-bottom: 2px solid transparent;
2376 transition: all 0.3s ease;
2377 font-size: 16px;
2378 color: #333;
2379 }
2380 .mxchat-tab-button:hover,
2381 .mxchat-tab-button:focus {
2382 background: #f9f9f9;
2383 }
2384 .mxchat-tab-button.active {
2385 border-bottom: 2px solid #0073aa;
2386 font-weight: bold;
2387 color: #0073aa;
2388 }
2389
2390
2391
2392 /* Flex Container for Default DB Tab */
2393 .mxchat-flex-container {
2394 display: flex;
2395 gap: 20px;
2396 flex-wrap: wrap;
2397 }
2398 .mxchat-sync-column,
2399 .mxchat-import-column {
2400 flex: 1;
2401 min-width: 300px;
2402 }
2403
2404 /* Section Headings and Descriptions */
2405 .mxchat-section h3 {
2406 font-size: 18px;
2407 margin-bottom: 10px;
2408 color: #0073aa;
2409 }
2410 .mxchat-description {
2411 font-size: 14px;
2412 margin-bottom: 15px;
2413 color: #555;
2414 }
2415
2416 /* Toggle Switches */
2417 .mxchat-toggle-container {
2418 display: flex;
2419 align-items: center;
2420 margin-bottom: 15px;
2421 }
2422 .mxchat-toggle-switch {
2423 position: relative;
2424 display: inline-block;
2425 width: 50px;
2426 height: 24px;
2427 margin-right: 10px;
2428 }
2429 .mxchat-toggle-switch input {
2430 opacity: 0;
2431 width: 0;
2432 height: 0;
2433 }
2434 .mxchat-toggle-slider {
2435 position: absolute;
2436 cursor: pointer;
2437 top: 0;
2438 left: 0;
2439 right: 0;
2440 bottom: 0;
2441 background-color: #ccc;
2442 transition: 0.4s;
2443 border-radius: 24px;
2444 }
2445 .mxchat-toggle-switch input:checked + .mxchat-toggle-slider {
2446 background-color: #212121;
2447 }
2448 .mxchat-toggle-slider:before {
2449 position: absolute;
2450 content: "";
2451 height: 18px;
2452 width: 18px;
2453 left: 3px;
2454 bottom: 3px;
2455 background-color: white;
2456 transition: 0.4s;
2457 border-radius: 50%;
2458 }
2459 .mxchat-toggle-switch input:checked + .mxchat-toggle-slider:before {
2460 transform: translateX(26px);
2461 }
2462 .mxchat-toggle-label {
2463 font-size: 14px;
2464 color: #333;
2465 }
2466
2467 /* Form Groups */
2468 .mxchat-form-group {
2469 margin-bottom: 15px;
2470 }
2471 .mxchat-form-group label {
2472 display: block;
2473 margin-bottom: 5px;
2474 font-weight: bold;
2475 color: #333;
2476 }
2477
2478 .mxchat-form-group .description {
2479 font-size: 12px;
2480 color: #777;
2481 }
2482
2483 /* URL and Pinecone Input Groups */
2484 .mxchat-url-input-group,
2485 .mxchat-pinecone-input-group {
2486 display: flex;
2487 gap: 0px;
2488 margin-bottom: 15px;
2489 }
2490 .mxchat-url-input-group input[type="url"],
2491 .mxchat-pinecone-input-group input[type="url"] {
2492 flex: 1;
2493 padding: 8px;
2494 border: 1px solid #ccc;
2495 border-radius: 4px 0px 0px 4px;
2496 }
2497 .mxchat-url-input-group input[type="submit"],
2498 .mxchat-pinecone-input-group input[type="submit"] {
2499 padding: 8px 16px;
2500 background-color: #0073aa;
2501 color: #fff;
2502 border: none;
2503 border-radius: 4px;
2504 cursor: pointer;
2505 transition: background-color 0.3s ease;
2506 }
2507 .mxchat-url-input-group input[type="submit"]:hover,
2508 .mxchat-pinecone-input-group input[type="submit"]:hover {
2509 background-color: #005177;
2510 }
2511
2512 /* Submit Wrapper */
2513 .mxchat-submit-wrapper {
2514 margin-top: 20px;
2515 }
2516
2517 /* Import & Pinecone Options List */
2518 .import-options,
2519 .pinecone-options {
2520 margin: 10px 0 15px 20px;
2521 color: #555;
2522 }
2523 .import-options li,
2524 .pinecone-options li {
2525 margin-bottom: 5px;
2526 }
2527
2528 /* Spinner Styles */
2529 .mxchat-spinner,
2530 .mxchat-pinecone-spinner {
2531 border: 4px solid #f3f3f3;
2532 border-top: 4px solid #0073aa;
2533 border-radius: 50%;
2534 width: 30px;
2535 height: 30px;
2536 animation: spin 1s linear infinite;
2537 margin: 10px auto;
2538 }
2539 @keyframes spin {
2540 0% { transform: rotate(0deg); }
2541 100% { transform: rotate(360deg); }
2542 }
2543
2544 /* Processing Status Messages */
2545 .mxchat-process-status,
2546 .mxchat-pinecone-status {
2547 border: 1px solid #0073aa;
2548 background-color: #f1f8ff;
2549 padding: 10px;
2550 border-radius: 4px;
2551 margin-top: 15px;
2552 }
2553 .mxchat-process-status h3,
2554 .mxchat-pinecone-status h3 {
2555 margin-top: 0;
2556 font-size: 16px;
2557 color: #0073aa;
2558 }
2559 .mxchat-process-status p,
2560 .mxchat-pinecone-status p {
2561 margin: 5px 0;
2562 font-size: 14px;
2563 color: #333;
2564 }
2565
2566 /* Responsive Adjustments */
2567 @media (max-width: 768px) {
2568 .mxchat-flex-container {
2569 flex-direction: column;
2570 }
2571 }
2572
2573
2574
2575 .button.button-primary.pinecone-submit {
2576 box-shadow: none;
2577 border-radius: 0px 4px 4px 0px;
2578 background: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1);
2579 margin-bottom: 0px;
2580 }
2581
2582 .button.button-primary.pinecone-submit:hover {
2583 opacity: .8;
2584 background: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1);
2585
2586 }
2587
2588 /* Pro Hero Section */
2589 body.wp-admin .mxchat-pro-hero {
2590 text-align: center;
2591 padding: 3.5rem 2rem;
2592 position: relative;
2593 background: #212121;
2594 border-bottom: 4px solid transparent;
2595 border-image: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1);
2596 border-image-slice: 1;
2597 }
2598
2599 body.wp-admin .mxchat-pro-hero::before {
2600 content: '';
2601 position: absolute;
2602 top: 0;
2603 left: 0;
2604 width: 100%;
2605 height: 100%;
2606 background: radial-gradient(
2607 circle at center,
2608 rgba(250, 115, 230, 0.08) 0%,
2609 rgba(120, 115, 245, 0.08) 50%,
2610 rgba(58, 201, 209, 0.08) 100%
2611 );
2612 z-index: 1;
2613 }
2614
2615 body.wp-admin .mxchat-pro-hero::after {
2616 content: '';
2617 position: absolute;
2618 bottom: -20px;
2619 left: 0;
2620 width: 100%;
2621 height: 20px;
2622 background: linear-gradient(180deg, rgba(33, 33, 33, 0.2) 0%, transparent 100%);
2623 z-index: 2;
2624 }
2625
2626 body.wp-admin .pro-title {
2627 font-size: 3.5rem;
2628 margin: 0 0 1.5rem;
2629 line-height: 1.2;
2630 color: white;
2631 position: relative;
2632 z-index: 2;
2633 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
2634 }
2635
2636 body.wp-admin .pro-gradient-text {
2637 font-weight: 700;
2638 background: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1);
2639 -webkit-background-clip: text;
2640 -webkit-text-fill-color: transparent;
2641 display: inline-block;
2642 }
2643
2644 body.wp-admin .pro-subtitle {
2645 font-size: 1.25rem;
2646 color: rgba(255, 255, 255, 0.9);
2647 max-width: 600px;
2648 margin: 0 auto;
2649 position: relative;
2650 z-index: 2;
2651 line-height: 1.6;
2652 }
2653
2654 /* Responsive Design */
2655 @media (max-width: 768px) {
2656 body.wp-admin .pro-title {
2657 font-size: 2.1rem;
2658 margin-bottom: 1rem;
2659 }
2660
2661 body.wp-admin .mxchat-pro-hero {
2662 padding: 2.5rem 1.5rem;
2663 }
2664
2665 body.wp-admin .pro-subtitle {
2666 font-size: 1.1rem;
2667 }
2668 }
2669
2670
2671 /* Form Container Styles */
2672 body.wp-admin .wrap.mxchat-admin-activation .mxchat-pro-form-container {
2673 max-width: 600px;
2674 margin: 2rem auto;
2675 background: white;
2676 padding: 2rem;
2677 border-radius: 12px;
2678 box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
2679 }
2680
2681 /* Form Table Styles */
2682 body.wp-admin .wrap.mxchat-admin-activation .mxchat-pro-form .form-table {
2683 margin: 0;
2684 border-collapse: separate;
2685 border-spacing: 0 1rem;
2686 }
2687
2688 body.wp-admin .wrap.mxchat-admin-activation .mxchat-pro-form .form-table th {
2689 padding: 0 1rem 0 0;
2690 width: 140px;
2691 font-weight: 600;
2692 color: #212121;
2693 font-size: 15px;
2694 vertical-align: middle;
2695 }
2696
2697 /* Input Field Styles */
2698 body.wp-admin .wrap.mxchat-admin-activation .mxchat-pro-input {
2699 width: 100%;
2700 padding: 10px 16px;
2701 border: 2px solid #e0e0e0;
2702 border-radius: 8px;
2703 font-size: 15px;
2704 transition: all 0.3s ease;
2705 box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02);
2706 }
2707
2708 body.wp-admin .wrap.mxchat-admin-activation .mxchat-pro-input:focus {
2709 border-color: #7873f5;
2710 box-shadow: 0 0 0 3px rgba(120, 115, 245, 0.1);
2711 outline: none;
2712 }
2713
2714 /* Button Container and Button Styles */
2715 body.wp-admin .wrap.mxchat-admin-activation .mxchat-pro-button-container {
2716 margin-top: 2rem;
2717 text-align: right;
2718 display: flex;
2719 align-items: center;
2720 justify-content: flex-end;
2721 gap: 1rem;
2722 }
2723
2724 body.wp-admin .wrap.mxchat-admin-activation .mxchat-pro-button {
2725 background: linear-gradient(135deg, #fa73e6, #7873f5);
2726 border: none;
2727 padding: 12px 24px;
2728 border-radius: 8px;
2729 color: white;
2730 font-weight: 600;
2731 font-size: 15px;
2732 cursor: pointer;
2733 transition: all 0.3s ease;
2734 text-shadow: none;
2735 box-shadow: 0 4px 12px rgba(120, 115, 245, 0.2);
2736 height: auto;
2737 line-height: 1.4;
2738 }
2739
2740 body.wp-admin .wrap.mxchat-admin-activation .mxchat-pro-button:hover {
2741 transform: translateY(-2px);
2742 box-shadow: 0 6px 16px rgba(120, 115, 245, 0.3);
2743 }
2744
2745 /* Error Notice Styles */
2746 body.wp-admin .wrap.mxchat-admin-activation .error.notice {
2747 margin: 2rem auto;
2748 max-width: 600px;
2749 border-left-color: #dc3232;
2750 background: #fff;
2751 border-radius: 4px;
2752 box-shadow: 0 2px 8px rgba(220, 50, 50, 0.1);
2753 }
2754
2755 /* License Status Styles */
2756 body.wp-admin .wrap.mxchat-admin-activation .mxchat-pro-status {
2757 max-width: 600px;
2758 margin: 2rem;
2759 padding: 1.5rem;
2760 background: white;
2761 border-radius: 12px;
2762 box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
2763 }
2764
2765 body.wp-admin .wrap.mxchat-admin-activation .mxchat-pro-status h3 {
2766 margin: 0;
2767 font-size: 15px;
2768 color: #212121;
2769 display: flex;
2770 align-items: center;
2771 gap: 0.5rem;
2772 }
2773
2774 body.wp-admin .wrap.mxchat-admin-activation .mxchat-status-badge {
2775 padding: 6px 12px;
2776 border-radius: 20px;
2777 font-size: 13px;
2778 font-weight: 600;
2779 }
2780
2781 body.wp-admin .wrap.mxchat-admin-activation .mxchat-status-badge.active {
2782 background: #e8f5e9;
2783 color: #2e7d32;
2784 }
2785
2786 body.wp-admin .wrap.mxchat-admin-activation .mxchat-status-badge.inactive {
2787 background: #fff3e0;
2788 color: #ef6c00;
2789 }
2790
2791 /* Spinner Styles */
2792 body.wp-admin .wrap.mxchat-admin-activation .mxchat-activation-spinner {
2793 width: 20px;
2794 height: 20px;
2795 border: 2px solid rgba(120, 115, 245, 0.3);
2796 border-radius: 50%;
2797 border-top-color: #7873f5;
2798 animation: spin 1s linear infinite;
2799 }
2800
2801 @keyframes spin {
2802 to {
2803 transform: rotate(360deg);
2804 }
2805 }
2806
2807 /* Responsive Adjustments */
2808 @media (max-width: 782px) {
2809 body.wp-admin .wrap.mxchat-admin-activation .mxchat-pro-form .form-table th {
2810 padding-bottom: 0.5rem;
2811 }
2812
2813 body.wp-admin .wrap.mxchat-admin-activation .form-table,
2814 body.wp-admin .wrap.mxchat-admin-activation .form-table tbody,
2815 body.wp-admin .wrap.mxchat-admin-activation .form-table tr,
2816 body.wp-admin .wrap.mxchat-admin-activation .form-table th,
2817 body.wp-admin .wrap.mxchat-admin-activation .form-table td {
2818 display: block;
2819 width: 100%;
2820 padding: 0;
2821 }
2822
2823 body.wp-admin .wrap.mxchat-admin-activation .form-table td {
2824 margin-bottom: 1.5rem;
2825 }
2826 }
2827
2828
2829 .video-tutorials-section {
2830 max-width: 1200px;
2831 margin: 0 auto;
2832 padding: 0;
2833 }
2834
2835 .section-intro {
2836 text-align: center;
2837 margin-bottom: 2rem;
2838 font-size: 1.1rem;
2839 }
2840
2841 .tutorial-grid {
2842 display: grid;
2843 grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
2844 gap: 2rem;
2845 margin-bottom: 3rem;
2846 }
2847
2848 .tutorial-item {
2849 border: 1px solid #e0e0e0;
2850 border-radius: 8px;
2851 padding: 1.5rem;
2852 box-shadow: 0 2px 5px rgba(0,0,0,0.05);
2853 transition: transform 0.3s ease, box-shadow 0.3s ease;
2854 background-color: #fff;
2855 }
2856
2857 .tutorial-item:hover {
2858 transform: translateY(-5px);
2859 box-shadow: 0 5px 15px rgba(0,0,0,0.1);
2860 }
2861
2862 .tutorial-item h3 {
2863 margin-top: 0;
2864 font-size: 1.2rem;
2865 color: #333;
2866 border-bottom: 2px solid #f0f0f0;
2867 padding-bottom: 0.75rem;
2868 margin-bottom: 1rem;
2869 }
2870
2871 .video-description p {
2872 margin-bottom: 1rem;
2873 color: #555;
2874 }
2875
2876 .video-description small {
2877 color: #888;
2878 font-style: italic;
2879 }
2880
2881 .video-link {
2882 display: inline-flex;
2883 align-items: center;
2884 text-decoration: none;
2885 color: #0073aa;
2886 font-weight: 500;
2887 margin-top: 0.5rem;
2888 padding: 0.5rem 1rem;
2889 border-radius: 4px;
2890 background-color: #f7f7f7;
2891 transition: background-color 0.2s ease;
2892 }
2893
2894 .video-link:hover {
2895 background-color: #e6f3fa;
2896 color: #004d74;
2897 }
2898
2899 .video-icon {
2900 margin-right: 0.5rem;
2901 display: inline-flex;
2902 color: #e62117;
2903 }
2904
2905 .support-section {
2906 margin-top: 3rem;
2907 padding-top: 2rem;
2908 border-top: 1px solid #e0e0e0;
2909 text-align: center;
2910 }
2911
2912 .support-content {
2913 max-width: 800px;
2914 margin: 0 auto;
2915 background-color: #f9f9f9;
2916 padding: 2rem;
2917 border-radius: 8px;
2918 }
2919
2920 .support-content p {
2921 margin-bottom: 1rem;
2922 font-size: 1.1rem;
2923 line-height: 1.6;
2924 }
2925
2926 .support-content a {
2927 color: #0073aa;
2928 font-weight: 500;
2929 text-decoration: none;
2930 padding: 0.2rem 0.4rem;
2931 border-radius: 3px;
2932 transition: background-color 0.2s;
2933 }
2934
2935 .support-content a:hover {
2936 background-color: #e6f3fa;
2937 text-decoration: underline;
2938 }
2939
2940 .api-info-item h4 {
2941 margin-top: 0;
2942 color: #333;
2943 margin-bottom: 1rem;
2944 }
2945
2946 @media (max-width: 768px) {
2947 .tutorial-grid {
2948 grid-template-columns: 1fr;
2949 }
2950
2951 .tutorial-item {
2952 padding: 1rem;
2953 }
2954
2955 .support-content {
2956 padding: 1.5rem;
2957 }
2958 }
2959
2960 /* Additional CSS for the main admin page */
2961
2962 /* Pro and Add-on notice messages */
2963 .mxchat-pro-notice,
2964 .mxchat-addon-notice {
2965 margin: 0;
2966 line-height: 1.6;
2967 color: #333;
2968 }
2969
2970 .mxchat-pro-notice a,
2971 .mxchat-addon-notice a {
2972 text-decoration: none;
2973 font-weight: 600;
2974 transition: color 0.2s ease;
2975 }
2976
2977 .mxchat-pro-notice a:hover,
2978 .mxchat-addon-notice a:hover {
2979 text-decoration: underline;
2980 color: #fff;
2981 }
2982
2983 /* Tutorial Grid & Items */
2984 .tutorial-grid {
2985 display: grid;
2986 grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
2987 gap: 24px;
2988 margin-top: 20px;
2989 }
2990
2991 .tutorial-item {
2992 background: #f8f9ff;
2993 border-radius: 12px;
2994 padding: 24px;
2995 transition: all 0.3s ease;
2996 border: 1px solid rgba(120, 115, 245, 0.1);
2997 }
2998
2999 .tutorial-item:hover {
3000 transform: translateY(-3px);
3001 box-shadow: 0 6px 20px rgba(120, 115, 245, 0.12);
3002 }
3003
3004 .tutorial-item h3 {
3005 margin-top: 0;
3006 margin-bottom: 16px;
3007 color: #333;
3008 font-size: 1.2rem;
3009 }
3010
3011 .video-description p {
3012 color: #666;
3013 font-size: 0.95rem;
3014 margin-bottom: 16px;
3015 }
3016
3017 .video-description small {
3018 color: #888;
3019 font-size: 0.85rem;
3020 font-style: italic;
3021 }
3022
3023 .video-link {
3024 display: inline-flex;
3025 align-items: center;
3026 gap: 8px;
3027 padding: 8px 16px;
3028 background: white;
3029 border-radius: 8px;
3030 text-decoration: none;
3031 color: #7873f5;
3032 font-weight: 600;
3033 font-size: 0.9rem;
3034 border: 1px solid rgba(120, 115, 245, 0.2);
3035 transition: all 0.2s ease;
3036 }
3037
3038 .video-link:hover {
3039 background: #eef0ff;
3040 color: #fa73e6;
3041 }
3042
3043 .video-icon {
3044 display: flex;
3045 align-items: center;
3046 justify-content: center;
3047 }
3048
3049 /* Support Section */
3050 .support-section {
3051 margin-top: 40px;
3052 padding: 24px;
3053 background: #f8f9ff;
3054 border-radius: 12px;
3055 border: 1px solid rgba(120, 115, 245, 0.1);
3056 }
3057
3058 .support-section h3 {
3059 margin-top: 0;
3060 color: #333;
3061 }
3062
3063 .support-content p {
3064 color: #666;
3065 margin-bottom: 12px;
3066 }
3067
3068 .support-content a {
3069 color: #7873f5;
3070 text-decoration: none;
3071 font-weight: 600;
3072 }
3073
3074 .support-content a:hover {
3075 color: #fa73e6;
3076 text-decoration: underline;
3077 }
3078
3079 /* Updated tab navigation */
3080 .mxchat-tabs {
3081 display: flex;
3082 gap: 2px;
3083 margin-bottom: 20px;
3084 border-bottom: 1px solid rgba(120, 115, 245, 0.1);
3085 }
3086
3087 .mxchat-tab-button {
3088 padding: 12px 24px;
3089 background: none;
3090 border: none;
3091 border-bottom: 2px solid transparent;
3092 color: #666;
3093 cursor: pointer;
3094 font-size: 14px;
3095 transition: all 0.2s ease;
3096 }
3097
3098 .mxchat-tab-button:hover {
3099 color: #7873f5;
3100 }
3101
3102 .mxchat-tab-button.active {
3103 color: #7873f5;
3104 border-bottom-color: #7873f5;
3105 }
3106
3107 /* Tab content */
3108 .mxchat-tab-content {
3109 display: none;
3110 }
3111
3112 .mxchat-tab-content.active {
3113 display: block;
3114 }
3115
3116
3117
3118
3119 /* Pro Notification Styling */
3120 .mxchat-pro-card {
3121 background: linear-gradient(90deg, #f8f9ff 0%, #f0f4ff 100%);
3122 border-left: 4px solid #6366f1;
3123 border-radius: 8px;
3124 box-shadow: 0 2px 10px rgba(99, 102, 241, 0.1);
3125 margin-bottom: 25px;
3126 overflow: hidden;
3127 }
3128
3129 .mxchat-pro-notification {
3130 display: flex;
3131 flex-direction: row;
3132 align-items: center;
3133 justify-content: space-between;
3134 padding: 20px 24px;
3135 }
3136
3137 @media (max-width: 768px) {
3138 .mxchat-pro-notification {
3139 flex-direction: column;
3140 text-align: center;
3141 gap: 15px;
3142 }
3143 }
3144
3145 .mxchat-pro-content {
3146 flex: 1;
3147 padding-right: 10px;
3148 }
3149
3150 .mxchat-pro-content h3 {
3151 margin-top: 0;
3152 margin-bottom: 8px;
3153 font-size: 18px;
3154 color: #4338ca;
3155 font-weight: 600;
3156 }
3157
3158 .mxchat-pro-content p {
3159 margin: 0;
3160 color: #4b5563;
3161 font-size: 14px;
3162 line-height: 1.5;
3163 }
3164
3165 .mxchat-pro-cta {
3166 display: flex;
3167 flex-direction: column;
3168 gap: 8px;
3169 min-width: 180px;
3170 }
3171
3172 .mxchat-button {
3173 display: inline-block;
3174 background: linear-gradient(90deg, #6366f1 0%, #8b5cf6 100%);
3175 color: white !important;
3176 font-weight: 600;
3177 padding: 10px 20px;
3178 border-radius: 6px;
3179 text-decoration: none !important;
3180 text-align: center;
3181 transition: all 0.2s ease;
3182 box-shadow: 0 2px 6px rgba(99, 102, 241, 0.3);
3183 }
3184
3185 .mxchat-button:hover {
3186 transform: translateY(-2px);
3187 box-shadow: 0 4px 12px rgba(99, 102, 241, 0.4);
3188 }
3189
3190 .mxchat-link {
3191 color: #6366f1 !important;
3192 text-decoration: none !important;
3193 text-align: center;
3194 font-size: 14px;
3195 padding: 4px;
3196 }
3197
3198 .mxchat-link:hover {
3199 text-decoration: underline !important;
3200 }
3201
3202
3203
3204
3205
3206
3207
3208 /* API Key field styles */
3209 .api-key-wrapper {
3210 margin-bottom: 15px;
3211 padding: 15px;
3212 border-radius: 5px;
3213 border-left: 4px solid #2271b1;
3214 background-color: #f0f6fc;
3215 transition: all 0.3s ease;
3216 }
3217
3218 /* Row-level visibility handling */
3219 tr.mxchat-setting-row {
3220 display: table-row;
3221 transition: all 0.3s ease;
3222 }
3223
3224 tr.mxchat-setting-row.highlighted {
3225 animation: highlight-row 1.5s ease;
3226 }
3227
3228 .api-key-wrapper input[type="password"] {
3229 margin-right: 10px;
3230 }
3231
3232 .api-key-wrapper button {
3233 background: #f6f7f7;
3234 border: 1px solid #c3c4c7;
3235 color: #50575e;
3236 cursor: pointer;
3237 border-radius: 3px;
3238 padding: 0 10px;
3239 height: 30px;
3240 line-height: 28px;
3241 font-size: 13px;
3242 }
3243
3244 .api-key-wrapper button:hover {
3245 background: #f0f0f1;
3246 }
3247
3248 .api-key-notice {
3249 margin-top: 8px !important;
3250 color: #1e1e1e;
3251 font-style: italic;
3252 }
3253
3254 @keyframes highlight-field {
3255 0% {
3256 background-color: #e5f5fa;
3257 }
3258 50% {
3259 background-color: #c7e8f3;
3260 }
3261 100% {
3262 background-color: #f0f6fc;
3263 }
3264 }
3265
3266 @keyframes highlight-row {
3267 0% { background-color: transparent; }
3268 50% { background-color: #e5f5fa; }
3269 100% { background-color: transparent; }
3270 }
3271
3272 /* Customize the look based on provider */
3273 .api-key-wrapper[data-provider="openai"] {
3274 border-left-color: #10a37f;
3275 }
3276
3277 .api-key-wrapper[data-provider="xai"] {
3278 border-left-color: #0077e6;
3279 }
3280
3281 .api-key-wrapper[data-provider="claude"] {
3282 border-left-color: #a065d5;
3283 }
3284
3285 .api-key-wrapper[data-provider="deepseek"] {
3286 border-left-color: #3b7fc4;
3287 }
3288
3289 .api-key-wrapper[data-provider="voyage"] {
3290 border-left-color: #ff6b00;
3291 }
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308 /* Add-on styling */
3309 .mxchat-addon-badge {
3310 display: inline-block;
3311 background: linear-gradient(135deg, #FF8C00, #FFA500);
3312 color: white;
3313 font-size: 10px;
3314 padding: 2px 6px;
3315 border-radius: 10px;
3316 margin-top: 5px;
3317 font-weight: 600;
3318 margin-left: 6px;
3319 }
3320
3321 .mxchat-addon-info {
3322 font-size: 11px;
3323 color: #666;
3324 margin-top: 8px;
3325 background: rgba(255, 140, 0, 0.1);
3326 padding: 4px 8px;
3327 border-radius: 4px;
3328 display: inline-block;
3329 }
3330
3331 .mxchat-action-type-card.not-installed {
3332 opacity: 0.8;
3333 border-style: dashed;
3334 background: rgba(255, 255, 255, 0.8);
3335 }
3336
3337 .mxchat-action-type-card.not-installed:hover {
3338 opacity: 1;
3339 border-color: #FF8C00;
3340 box-shadow: 0 4px 12px rgba(255, 140, 0, 0.1);
3341 }
3342
3343 /* Add-on Notice */
3344 .mxchat-addon-notice {
3345 position: fixed;
3346 top: 0;
3347 left: 0;
3348 width: 100%;
3349 height: 100%;
3350 background: rgba(0, 0, 0, 0.5);
3351 z-index: 100003;
3352 display: flex;
3353 align-items: center;
3354 justify-content: center;
3355 opacity: 0;
3356 visibility: hidden;
3357 transition: opacity 0.3s ease, visibility 0.3s ease;
3358 }
3359
3360 .mxchat-addon-notice.active {
3361 opacity: 1;
3362 visibility: visible;
3363 }
3364
3365 .mxchat-addon-notice-content {
3366 background: white;
3367 padding: 30px;
3368 border-radius: 16px;
3369 max-width: 400px;
3370 text-align: center;
3371 box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2);
3372 transform: translateY(-20px);
3373 transition: transform 0.3s ease;
3374 }
3375
3376 .mxchat-addon-notice.active .mxchat-addon-notice-content {
3377 transform: translateY(0);
3378 }
3379
3380 .mxchat-addon-notice-icon {
3381 font-size: 36px;
3382 margin-bottom: 15px;
3383 display: block;
3384 }
3385
3386 .mxchat-addon-notice h3 {
3387 margin: 0 0 10px 0;
3388 font-size: 20px;
3389 background: linear-gradient(135deg, #FF8C00, #FFA500);
3390 -webkit-background-clip: text;
3391 background-clip: text;
3392 -webkit-text-fill-color: transparent;
3393 display: inline-block;
3394 }
3395
3396 .mxchat-addon-notice p {
3397 margin: 0 0 20px 0;
3398 color: #666;
3399 }
3400
3401 .mxchat-addon-notice-buttons {
3402 display: flex;
3403 gap: 10px;
3404 justify-content: center;
3405 }
3406
3407
3408
3409
3410
3411 /* CSS for the custom post types accordion */
3412 .mxchat-settings-accordion {
3413 margin: 15px 0;
3414 border-radius: 4px;
3415 overflow: hidden;
3416 border: 1px solid #e0e0e5;
3417 }
3418
3419 .mxchat-accordion-header {
3420 border-bottom: none;
3421 }
3422
3423 .mxchat-accordion-button {
3424 background-color: #f7f7f9;
3425 border: none;
3426 color: #444;
3427 cursor: pointer;
3428 font-size: 15px;
3429 font-weight: 500;
3430 padding: 14px 20px;
3431 text-align: left;
3432 transition: all 0.2s ease;
3433 width: 100%;
3434 display: flex;
3435 justify-content: space-between;
3436 align-items: center;
3437 outline: none;
3438 }
3439
3440 .mxchat-accordion-button:hover {
3441 background-color: #f0f0f5;
3442 }
3443
3444 .mxchat-accordion-icon {
3445 font-size: 12px;
3446 color: #666;
3447 transition: transform 0.3s ease;
3448 }
3449
3450 .mxchat-accordion-content {
3451 border-top: 1px solid #e0e0e5;
3452 transition: all 0.3s ease;
3453 }
3454
3455 .mxchat-accordion-inner {
3456 padding: 16px 20px;
3457 background-color: #fff;
3458 }
3459
3460 /* Make the custom post types look nicer */
3461 .mxchat-custom-post-types {
3462 display: grid;
3463 grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
3464 gap: 10px;
3465 margin-top: 10px;
3466 }
3467
3468 .mxchat-description {
3469 margin-bottom: 15px;
3470 color: #666;
3471 }
3472
3473 .mxchat-empty-notice {
3474 color: #888;
3475 font-style: italic;
3476 }
3477
3478
3479
3480 /* Model Selector Button Styles */
3481 .mxchat-model-selector-wrapper {
3482 width: 100%;
3483 position: relative;
3484 }
3485
3486 .mxchat-model-selector-display {
3487 display: flex;
3488 justify-content: space-between;
3489 align-items: center;
3490 padding: 8px 12px;
3491 background-color: #fff;
3492 border: 1px solid #8c8f94;
3493 border-radius: 4px;
3494 cursor: pointer;
3495 min-height: 30px;
3496 line-height: 1.4;
3497 box-sizing: border-box;
3498 transition: border-color 0.2s;
3499 }
3500
3501 .mxchat-model-selector-display:hover {
3502 border-color: #2271b1;
3503 }
3504
3505 .mxchat-model-selected-name {
3506 white-space: nowrap;
3507 overflow: hidden;
3508 text-overflow: ellipsis;
3509 flex: 1;
3510 }
3511
3512 .mxchat-model-selector-arrow {
3513 margin-left: 8px;
3514 font-size: 10px;
3515 color: #555;
3516 }
3517
3518 /* Provider-specific border colors */
3519 .mxchat-model-provider-gemini {
3520 border-left: 3px solid #4285F4;
3521 }
3522
3523 .mxchat-model-provider-openai {
3524 border-left: 3px solid #10A37F;
3525 }
3526
3527 .mxchat-model-provider-claude {
3528 border-left: 3px solid #965de9;
3529 }
3530
3531 .mxchat-model-provider-xai {
3532 border-left: 3px solid #000000;
3533 }
3534
3535 .mxchat-model-provider-deepseek {
3536 border-left: 3px solid #0066cc;
3537 }
3538
3539 /* Modal Styles */
3540 .mxchat-model-selector-modal {
3541 display: none;
3542 position: fixed;
3543 z-index: 9999;
3544 left: 0;
3545 top: 0;
3546 width: 100%;
3547 height: 100%;
3548 overflow: auto;
3549 background-color: rgba(0, 0, 0, 0.5);
3550 }
3551
3552 .mxchat-model-selector-modal .mxchat-model-selector-modal-content {
3553 background-color: #fff;
3554 margin: 5% auto;
3555 border-radius: 8px;
3556 box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
3557 width: 80%;
3558 max-width: 800px;
3559 animation: mxchatModalFade 0.3s;
3560 }
3561
3562 @keyframes mxchatModalFade {
3563 from {opacity: 0; transform: translateY(-20px);}
3564 to {opacity: 1; transform: translateY(0);}
3565 }
3566
3567 .mxchat-model-selector-modal .mxchat-model-selector-modal-header {
3568 display: flex;
3569 justify-content: space-between;
3570 align-items: center;
3571 padding: 16px 24px;
3572 border-bottom: 1px solid #eee;
3573 }
3574
3575 .mxchat-model-selector-modal .mxchat-model-selector-modal-header h3 {
3576 margin: 0;
3577 color: #6750A4;
3578 font-size: 20px;
3579 }
3580
3581 .mxchat-model-selector-modal .mxchat-model-selector-modal-close {
3582 font-size: 24px;
3583 cursor: pointer;
3584 color: #888;
3585 }
3586
3587 .mxchat-model-selector-modal .mxchat-model-selector-modal-close:hover {
3588 color: #333;
3589 }
3590
3591 .mxchat-model-selector-modal .mxchat-model-selector-modal-body {
3592 padding: 24px;
3593 max-height: 60vh;
3594 overflow-y: auto;
3595 }
3596
3597 .mxchat-model-selector-modal .mxchat-model-selector-modal-footer {
3598 padding: 16px 24px;
3599 border-top: 1px solid #eee;
3600 text-align: right;
3601 }
3602
3603 /* Search and Category Styles */
3604 .mxchat-model-selector-modal .mxchat-model-selector-search-container {
3605 margin-bottom: 20px;
3606 }
3607
3608 .mxchat-model-selector-modal .mxchat-model-search-input {
3609 width: 100%;
3610 padding: 10px 15px;
3611 border: 1px solid #ddd;
3612 border-radius: 4px;
3613 font-size: 16px;
3614 }
3615
3616 .mxchat-model-selector-modal .mxchat-model-selector-categories {
3617 display: flex;
3618 flex-wrap: wrap;
3619 gap: 8px;
3620 margin-bottom: 20px;
3621 }
3622
3623 .mxchat-model-selector-modal .mxchat-model-category-btn {
3624 background-color: #f5f5f5;
3625 border: 1px solid #ddd;
3626 padding: 8px 16px;
3627 border-radius: 20px;
3628 cursor: pointer;
3629 transition: all 0.2s;
3630 }
3631
3632 .mxchat-model-selector-modal .mxchat-model-category-btn.active {
3633 background-color: #6750A4;
3634 color: white;
3635 border-color: #6750A4;
3636 }
3637
3638 /* Model Grid Styles */
3639 .mxchat-model-selector-modal .mxchat-model-selector-grid {
3640 display: grid;
3641 grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
3642 gap: 16px;
3643 }
3644
3645 .mxchat-model-selector-modal .mxchat-model-selector-card {
3646 display: flex;
3647 border: 1px solid #ddd;
3648 border-radius: 8px;
3649 padding: 16px;
3650 cursor: pointer;
3651 transition: all 0.2s;
3652 position: relative;
3653 }
3654
3655 .mxchat-model-selector-modal .mxchat-model-selector-card:hover {
3656 border-color: #6750A4;
3657 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
3658 }
3659
3660 .mxchat-model-selector-modal .mxchat-model-selector-card.mxchat-model-selected {
3661 border-color: #6750A4;
3662 background-color: rgba(103, 80, 164, 0.05);
3663 }
3664
3665 /* Provider-specific styles for cards */
3666 .mxchat-model-selector-modal .mxchat-model-selector-card.mxchat-model-provider-gemini {
3667 border-left: 4px solid #4285F4;
3668 }
3669
3670 .mxchat-model-selector-modal .mxchat-model-selector-card.mxchat-model-provider-openai {
3671 border-left: 4px solid #10A37F;
3672 }
3673
3674 .mxchat-model-selector-modal .mxchat-model-selector-card.mxchat-model-provider-claude {
3675 border-left: 4px solid #965de9;
3676 }
3677
3678 .mxchat-model-selector-modal .mxchat-model-selector-card.mxchat-model-provider-xai {
3679 border-left: 4px solid #000000;
3680 }
3681
3682 .mxchat-model-selector-modal .mxchat-model-selector-card.mxchat-model-provider-deepseek {
3683 border-left: 4px solid #0066cc;
3684 }
3685
3686 .mxchat-model-selector-modal .mxchat-model-selector-icon {
3687 margin-right: 12px;
3688 font-size: 24px;
3689 display: flex;
3690 align-items: center;
3691 width: 25px;
3692 height: 45px;
3693 }
3694
3695 .mxchat-model-selector-modal .mxchat-model-icon-gemini {
3696 color: #4285F4;
3697 }
3698
3699 .mxchat-model-selector-modal .mxchat-model-icon-openai {
3700 color: #10A37F;
3701 }
3702
3703 .mxchat-model-selector-modal .mxchat-model-icon-claude {
3704 color: #965de9;
3705 }
3706
3707 .mxchat-model-selector-modal .mxchat-model-icon-xai {
3708 color: #000000;
3709 }
3710
3711 .mxchat-model-selector-modal .mxchat-model-icon-deepseek {
3712 color: #0066cc;
3713 }
3714
3715 .mxchat-model-selector-modal .mxchat-model-selector-info {
3716 flex: 1;
3717 }
3718
3719 .mxchat-model-selector-modal .mxchat-model-selector-title {
3720 margin: 0 0 6px 0;
3721 font-size: 16px;
3722 }
3723
3724 .mxchat-model-selector-modal .mxchat-model-selector-description {
3725 margin: 0;
3726 font-size: 14px;
3727 color: #666;
3728 }
3729
3730 .mxchat-model-selector-modal .mxchat-model-selector-checkmark {
3731 position: absolute;
3732 top: 8px;
3733 right: 8px;
3734 width: 20px;
3735 height: 20px;
3736 background-color: #6750A4;
3737 color: white;
3738 border-radius: 50%;
3739 display: flex;
3740 align-items: center;
3741 justify-content: center;
3742 font-size: 12px;
3743 }
3744
3745 /* Media queries for responsive design */
3746 @media screen and (max-width: 782px) {
3747 .mxchat-model-selector-modal .mxchat-model-selector-modal-content {
3748 width: 95%;
3749 margin: 10% auto;
3750 }
3751
3752 .mxchat-model-selector-modal .mxchat-model-selector-grid {
3753 grid-template-columns: 1fr;
3754 }
3755
3756 .mxchat-model-selector-modal .mxchat-model-selector-categories {
3757 overflow-x: auto;
3758 padding-bottom: 10px;
3759 }
3760 }
3761
3762
3763 /* Improved styling for the model selector button */
3764 #mxchat_model_selector_btn.mxchat-model-selector-btn {
3765 width: 100%;
3766 max-width: 400px;
3767 text-align: left;
3768 padding: 8px 12px;
3769 height: auto;
3770 min-height: 36px;
3771 background-color: #fff;
3772 color: #2c3338;
3773 border: 1px solid #8c8f94;
3774 border-radius: 4px;
3775 box-shadow: 0 1px 2px rgba(0, 0, 0, 0.07);
3776 position: relative;
3777 font-weight: normal;
3778 transition: all 0.2s ease;
3779 display: flex;
3780 align-items: center;
3781 justify-content: space-between;
3782 }
3783
3784 #mxchat_model_selector_btn.mxchat-model-selector-btn:after {
3785 content: "\f140";
3786 font-family: dashicons;
3787 position: absolute;
3788 right: 10px;
3789 font-size: 20px;
3790 color: #666;
3791 }
3792
3793 #mxchat_model_selector_btn.mxchat-model-selector-btn:hover {
3794 border-color: #2271b1;
3795 color: #2271b1;
3796 }
3797
3798 #mxchat_model_selector_btn.mxchat-model-selector-btn:focus {
3799 box-shadow: 0 0 0 1px #2271b1;
3800 outline: none;
3801 }
3802
3803 /* Embedding Model Selector - completely separate styling to avoid conflicts */
3804 .mxchat-embedding-model-selector-btn {
3805 width: 100%;
3806 max-width: 400px;
3807 text-align: left;
3808 padding: 8px 12px;
3809 height: auto;
3810 min-height: 36px;
3811 background-color: #fff;
3812 color: #2c3338;
3813 border: 1px solid #8c8f94;
3814 border-radius: 4px;
3815 box-shadow: 0 1px 2px rgba(0, 0, 0, 0.07);
3816 position: relative;
3817 font-weight: normal;
3818 transition: all 0.2s ease;
3819 display: flex;
3820 align-items: center;
3821 justify-content: space-between;
3822 }
3823
3824 .mxchat-embedding-model-selector-btn:after {
3825 content: "\f140";
3826 font-family: dashicons;
3827 position: absolute;
3828 right: 10px;
3829 font-size: 20px;
3830 color: #666;
3831 }
3832
3833 .mxchat-embedding-model-selector-btn:hover {
3834 border-color: #2271b1;
3835 color: #2271b1;
3836 }
3837
3838 .mxchat-embedding-model-selector-btn:focus {
3839 box-shadow: 0 0 0 1px #2271b1;
3840 outline: none;
3841 }
3842
3843 /* Modal Styles */
3844 .mxchat-embedding-model-selector-modal {
3845 display: none;
3846 position: fixed;
3847 z-index: 9999;
3848 left: 0;
3849 top: 0;
3850 width: 100%;
3851 height: 100%;
3852 overflow: auto;
3853 background-color: rgba(0, 0, 0, 0.5);
3854 }
3855
3856 .mxchat-embedding-model-selector-modal-content {
3857 background-color: #fff;
3858 margin: 5% auto;
3859 border-radius: 8px;
3860 box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
3861 width: 80%;
3862 max-width: 800px;
3863 animation: mxchatEmbeddingModalFade 0.3s;
3864 }
3865
3866 @keyframes mxchatEmbeddingModalFade {
3867 from {opacity: 0; transform: translateY(-20px);}
3868 to {opacity: 1; transform: translateY(0);}
3869 }
3870
3871 .mxchat-embedding-model-selector-modal-header {
3872 display: flex;
3873 justify-content: space-between;
3874 align-items: center;
3875 padding: 16px 24px;
3876 border-bottom: 1px solid #eee;
3877 }
3878
3879 .mxchat-embedding-model-selector-modal-header h3 {
3880 margin: 0;
3881 color: #6750A4;
3882 font-size: 20px;
3883 }
3884
3885 .mxchat-embedding-model-selector-modal-close {
3886 font-size: 24px;
3887 cursor: pointer;
3888 color: #888;
3889 }
3890
3891 .mxchat-embedding-model-selector-modal-close:hover {
3892 color: #333;
3893 }
3894
3895 .mxchat-embedding-model-selector-modal-body {
3896 padding: 24px;
3897 max-height: 60vh;
3898 overflow-y: auto;
3899 }
3900
3901 .mxchat-embedding-model-selector-modal-footer {
3902 padding: 16px 24px;
3903 border-top: 1px solid #eee;
3904 text-align: right;
3905 }
3906
3907 /* Search and Category Styles */
3908 .mxchat-embedding-model-selector-search-container {
3909 margin-bottom: 20px;
3910 }
3911
3912 .mxchat-embedding-model-search-input {
3913 width: 100%;
3914 padding: 10px 15px;
3915 border: 1px solid #ddd;
3916 border-radius: 4px;
3917 font-size: 16px;
3918 }
3919
3920 .mxchat-embedding-model-selector-categories {
3921 display: flex;
3922 flex-wrap: wrap;
3923 gap: 8px;
3924 margin-bottom: 20px;
3925 }
3926
3927 .mxchat-embedding-model-category-btn {
3928 background-color: #f5f5f5;
3929 border: 1px solid #ddd;
3930 padding: 8px 16px;
3931 border-radius: 20px;
3932 cursor: pointer;
3933 transition: all 0.2s;
3934 }
3935
3936 .mxchat-embedding-model-category-btn.active {
3937 background-color: #6750A4;
3938 color: white;
3939 border-color: #6750A4;
3940 }
3941
3942 /* Model Grid Styles */
3943 .mxchat-embedding-model-selector-grid {
3944 display: grid;
3945 grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
3946 gap: 16px;
3947 }
3948
3949 .mxchat-embedding-model-selector-card {
3950 display: flex;
3951 border: 1px solid #ddd;
3952 border-radius: 8px;
3953 padding: 16px;
3954 cursor: pointer;
3955 transition: all 0.2s;
3956 position: relative;
3957 }
3958
3959 .mxchat-embedding-model-selector-card:hover {
3960 border-color: #6750A4;
3961 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
3962 }
3963
3964 .mxchat-embedding-model-selector-card.mxchat-embedding-model-selected {
3965 border-color: #6750A4;
3966 background-color: rgba(103, 80, 164, 0.05);
3967 }
3968
3969 /* Provider-specific styles */
3970 .mxchat-embedding-model-provider-openai {
3971 border-left: 4px solid #10A37F;
3972 }
3973
3974 .mxchat-embedding-model-provider-voyage {
3975 border-left: 4px solid #0055D4;
3976 }
3977
3978 /* Provider-specific border color for Gemini */
3979 .mxchat-embedding-model-provider-gemini {
3980 border-left: 4px solid #4285F4;
3981 }
3982
3983 /* Icon color for Gemini */
3984 .mxchat-embedding-model-icon-gemini {
3985 color: #4285F4;
3986 }
3987
3988 .mxchat-embedding-model-selector-icon {
3989 margin-right: 12px;
3990 font-size: 24px;
3991 display: flex;
3992 align-items: center;
3993 width: 25px;
3994 height: 45px;
3995 }
3996
3997 .mxchat-embedding-model-icon-openai {
3998 color: #10A37F;
3999 }
4000
4001 .mxchat-embedding-model-icon-voyage {
4002 color: #0055D4;
4003 }
4004
4005 .mxchat-embedding-model-selector-info {
4006 flex: 1;
4007 }
4008
4009 .mxchat-embedding-model-selector-title {
4010 margin: 0 0 6px 0;
4011 font-size: 16px;
4012 }
4013
4014 .mxchat-embedding-model-selector-description {
4015 margin: 0;
4016 font-size: 14px;
4017 color: #666;
4018 }
4019
4020 .mxchat-embedding-model-selector-checkmark {
4021 position: absolute;
4022 top: 8px;
4023 right: 8px;
4024 width: 20px;
4025 height: 20px;
4026 background-color: #6750A4;
4027 color: white;
4028 border-radius: 50%;
4029 display: flex;
4030 align-items: center;
4031 justify-content: center;
4032 font-size: 12px;
4033 }
4034
4035 /* Media queries for responsive design */
4036 @media screen and (max-width: 782px) {
4037 .mxchat-embedding-model-selector-modal-content {
4038 width: 95%;
4039 margin: 10% auto;
4040 }
4041
4042 .mxchat-embedding-model-selector-grid {
4043 grid-template-columns: 1fr;
4044 }
4045
4046 .mxchat-embedding-model-selector-categories {
4047 overflow-x: auto;
4048 padding-bottom: 10px;
4049 }
4050 }
4051
4052
4053 /* Embedding Model Selector Button Styles */
4054 #mxchat_embedding_model_selector_btn.mxchat-embedding-model-selector-btn {
4055 width: 100%;
4056 max-width: 400px;
4057 text-align: left;
4058 padding: 8px 12px;
4059 height: auto;
4060 min-height: 36px;
4061 background-color: #fff;
4062 color: #2c3338;
4063 border: 1px solid #8c8f94;
4064 border-radius: 4px;
4065 box-shadow: 0 1px 2px rgba(0, 0, 0, 0.07);
4066 position: relative;
4067 font-weight: normal;
4068 transition: all 0.2s ease;
4069 display: flex;
4070 align-items: center;
4071 justify-content: space-between;
4072 }
4073
4074 #mxchat_embedding_model_selector_btn.mxchat-embedding-model-selector-btn:after {
4075 content: "\f140";
4076 font-family: dashicons;
4077 position: absolute;
4078 right: 10px;
4079 font-size: 20px;
4080 color: #666;
4081 }
4082
4083 #mxchat_embedding_model_selector_btn.mxchat-embedding-model-selector-btn:hover {
4084 border-color: #2271b1;
4085 color: #2271b1;
4086 }
4087
4088 #mxchat_embedding_model_selector_btn.mxchat-embedding-model-selector-btn:focus {
4089 box-shadow: 0 0 0 1px #2271b1;
4090 outline: none;
4091 }
4092
4093 .mxchat-failed-urls-container {
4094 margin-top: 15px;
4095 border-top: 1px solid rgba(0, 0, 0, 0.1);
4096 padding-top: 10px;
4097 }
4098
4099 .mxchat-failed-urls-container h4 {
4100 margin: 0 0 8px 0;
4101 font-size: 14px;
4102 color: #d63638;
4103 }
4104
4105 .mxchat-failed-urls-container details {
4106 margin-bottom: 10px;
4107 }
4108
4109 .mxchat-failed-urls-container summary {
4110 cursor: pointer;
4111 font-weight: 500;
4112 padding: 5px 0;
4113 color: #3c434a;
4114 }
4115
4116 .mxchat-failed-urls-container summary:hover {
4117 color: #2271b1;
4118 }
4119
4120 .mxchat-failed-urls-list {
4121 margin-top: 10px;
4122 max-height: 300px;
4123 overflow-y: auto;
4124 border: 1px solid #dcdcde;
4125 border-radius: 4px;
4126 background: #f8f9fa;
4127 }
4128
4129 .mxchat-failed-url-item {
4130 padding: 8px 12px;
4131 border-bottom: 1px solid #dcdcde;
4132 display: grid;
4133 grid-template-columns: 1fr;
4134 grid-gap: 6px;
4135 font-size: 12px;
4136 }
4137
4138 .mxchat-failed-url-item:last-child {
4139 border-bottom: none;
4140 }
4141
4142 .mxchat-failed-url-address {
4143 font-weight: 500;
4144 word-break: break-all;
4145 }
4146
4147 .mxchat-failed-url-address a {
4148 color: #2271b1;
4149 text-decoration: none;
4150 }
4151
4152 .mxchat-failed-url-address a:hover {
4153 text-decoration: underline;
4154 }
4155
4156 .mxchat-failed-url-error {
4157 color: #d63638;
4158 }
4159
4160 .mxchat-failed-url-time {
4161 color: #50575e;
4162 font-style: italic;
4163 font-size: 11px;
4164 }
4165
4166 .mxchat-failed-urls-more {
4167 text-align: center;
4168 padding: 8px;
4169 background: #f0f0f1;
4170 border-top: 1px solid #dcdcde;
4171 color: #50575e;
4172 font-style: italic;
4173 font-size: 12px;
4174 }
4175
4176 /* Responsive design for larger screens */
4177 @media screen and (min-width: 783px) {
4178 .mxchat-failed-url-item {
4179 grid-template-columns: 2fr 3fr 1fr;
4180 align-items: center;
4181 }
4182 }
4183
4184
4185 /* Style for addon-managed option group */
4186 .addon-managed-optgroup {
4187 color: #888 !important;
4188 font-style: italic;
4189 background: #f5f5f5;
4190 }
4191
4192 /* Selected text style */
4193 select option:disabled {
4194 color: #888;
4195 font-style: italic;
4196 }
4197
4198 .mxchat-rate-limits-container {
4199 max-width: 900px;
4200 }
4201 .mxchat-rate-limit-row {
4202 display: flex;
4203 flex-wrap: wrap;
4204 align-items: flex-start;
4205 margin-bottom: 20px;
4206 padding: 20px;
4207 background: #fff;
4208 border-radius: 8px;
4209 border: 1px solid #e0e0e0;
4210 box-shadow: 0 2px 4px rgba(0,0,0,0.04);
4211 transition: all 0.2s ease;
4212 }
4213 .mxchat-rate-limit-row:hover {
4214 box-shadow: 0 4px 8px rgba(0,0,0,0.08);
4215 border-color: #c7c7c7;
4216 }
4217 .mxchat-rate-limit-role {
4218 width: 160px;
4219 font-weight: 600;
4220 font-size: 15px;
4221 margin-right: 20px;
4222 padding-top: 4px;
4223 color: #23282d;
4224 }
4225 .mxchat-rate-limit-controls-wrapper {
4226 flex: 1;
4227 }
4228 .mxchat-rate-limit-controls {
4229 display: flex;
4230 flex-wrap: wrap;
4231 gap: 15px;
4232 align-items: center;
4233 margin-bottom: 15px;
4234 }
4235 .mxchat-rate-limit-controls > div {
4236 margin-bottom: 5px;
4237 }
4238 .mxchat-rate-limit-controls label {
4239 display: block;
4240 margin-bottom: 5px;
4241 font-weight: 500;
4242 color: #50575e;
4243 }
4244 .mxchat-rate-limit-message {
4245 width: 100%;
4246 margin-top: 15px;
4247 }
4248 .mxchat-rate-limit-message label {
4249 display: block;
4250 margin-bottom: 5px;
4251 font-weight: 500;
4252 color: #50575e;
4253 }
4254 .mxchat-rate-limit-message textarea {
4255 width: 100%;
4256 min-height: 70px;
4257 padding: 8px 12px;
4258 border-radius: 4px;
4259 resize: vertical;
4260 font-size: 14px;
4261 }
4262 .mxchat-rate-limit-controls select {
4263 min-width: 120px;
4264 padding: 6px 24px 6px 10px;
4265 }
4266 @media (max-width: 782px) {
4267 .mxchat-rate-limit-row {
4268 flex-direction: column;
4269 }
4270 .mxchat-rate-limit-role {
4271 margin-bottom: 15px;
4272 width: 100%;
4273 font-size: 16px;
4274 }
4275 .mxchat-rate-limit-controls {
4276 flex-direction: column;
4277 align-items: flex-start;
4278 gap: 12px;
4279 }
4280 .mxchat-rate-limit-controls > div {
4281 width: 100%;
4282 }
4283 .mxchat-rate-limit-controls select {
4284 width: 100%;
4285 }
4286 }
4287
4288 /* Support notification styles */
4289 .support-notification {
4290 background: linear-gradient(135deg, #fff3cd 0%, #ffeaa7 100%);
4291 border: 2px solid #f39c12;
4292 border-radius: 12px;
4293 padding: 20px;
4294 margin-bottom: 25px;
4295 display: flex;
4296 align-items: flex-start;
4297 gap: 15px;
4298 box-shadow: 0 4px 12px rgba(243, 156, 18, 0.15);
4299 position: relative;
4300 overflow: hidden;
4301 }
4302
4303 .support-notification::before {
4304 content: '';
4305 position: absolute;
4306 top: 0;
4307 left: 0;
4308 right: 0;
4309 height: 4px;
4310 background: linear-gradient(90deg, #f39c12, #e67e22, #f39c12);
4311 background-size: 200% 100%;
4312 animation: shimmer 2s ease-in-out infinite;
4313 }
4314
4315 @keyframes shimmer {
4316 0% { background-position: -200% 0; }
4317 100% { background-position: 200% 0; }
4318 }
4319
4320 .support-notification-icon {
4321 flex-shrink: 0;
4322 width: 24px;
4323 height: 24px;
4324 color: #e67e22;
4325 margin-top: 2px;
4326 }
4327
4328 .support-notification-content {
4329 flex: 1;
4330 }
4331
4332 .support-notification-title {
4333 font-size: 18px;
4334 font-weight: 600;
4335 color: #8b4513;
4336 margin: 0 0 8px 0;
4337 display: flex;
4338 align-items: center;
4339 gap: 8px;
4340 }
4341
4342 .support-notification-message {
4343 font-size: 15px;
4344 color: #8b4513;
4345 margin: 0 0 15px 0;
4346 line-height: 1.5;
4347 }
4348
4349 .support-notification-button {
4350 display: inline-flex;
4351 align-items: center;
4352 gap: 8px;
4353 background: linear-gradient(135deg, #e67e22 0%, #d35400 100%);
4354 color: white;
4355 padding: 12px 20px;
4356 border-radius: 8px;
4357 text-decoration: none;
4358 font-weight: 600;
4359 font-size: 14px;
4360 transition: all 0.3s ease;
4361 border: none;
4362 cursor: pointer;
4363 box-shadow: 0 2px 8px rgba(230, 126, 34, 0.3);
4364 }
4365
4366 .support-notification-button:hover {
4367 background: linear-gradient(135deg, #d35400 0%, #c0392b 100%);
4368 transform: translateY(-2px);
4369 box-shadow: 0 4px 12px rgba(230, 126, 34, 0.4);
4370 color: white;
4371 text-decoration: none;
4372 }
4373
4374 .support-notification-button:active {
4375 transform: translateY(0);
4376 }
4377
4378 .support-notification-button svg {
4379 width: 16px;
4380 height: 16px;
4381 }
4382
4383 /* Responsive design */
4384 @media (max-width: 768px) {
4385 .support-notification {
4386 padding: 16px;
4387 gap: 12px;
4388 }
4389
4390 .support-notification-title {
4391 font-size: 16px;
4392 }
4393
4394 .support-notification-message {
4395 font-size: 14px;
4396 }
4397
4398 .support-notification-button {
4399 padding: 10px 16px;
4400 font-size: 13px;
4401 }
4402 }
4403 /* Sample instructions button styles */
4404 .mxchat-instructions-container {
4405 margin-top: 8px;
4406 }
4407
4408 .mxchat-instructions-btn {
4409 display: inline-flex;
4410 align-items: center;
4411 gap: 6px;
4412 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
4413 color: white;
4414 padding: 8px 14px;
4415 border: none;
4416 border-radius: 6px;
4417 font-size: 13px;
4418 font-weight: 500;
4419 cursor: pointer;
4420 transition: all 0.3s ease;
4421 text-decoration: none;
4422 box-shadow: 0 2px 4px rgba(102, 126, 234, 0.2);
4423 }
4424
4425 .mxchat-instructions-btn:hover {
4426 background: linear-gradient(135deg, #5a67d8 0%, #6b46c1 100%);
4427 transform: translateY(-1px);
4428 box-shadow: 0 4px 8px rgba(102, 126, 234, 0.3);
4429 }
4430
4431 .mxchat-instructions-btn:active {
4432 transform: translateY(0);
4433 }
4434
4435 .mxchat-instructions-btn svg {
4436 width: 14px;
4437 height: 14px;
4438 }
4439
4440 /* Modal styles - Positioned relative to viewport */
4441 .mxchat-instructions-modal-overlay {
4442 display: none;
4443 position: fixed;
4444 top: 0;
4445 left: 0;
4446 width: 100%;
4447 height: 100%;
4448 background: rgba(0, 0, 0, 0.6);
4449 z-index: 999999;
4450 }
4451
4452 .mxchat-instructions-modal-overlay.mxchat-instructions-show {
4453 display: flex;
4454 align-items: center;
4455 justify-content: center;
4456 padding: 20px;
4457 }
4458
4459 .mxchat-instructions-modal-content {
4460 background: white;
4461 border-radius: 12px;
4462 max-width: 700px;
4463 width: 100%;
4464 max-height: 90vh;
4465 overflow: hidden;
4466 box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
4467 }
4468
4469 .mxchat-instructions-modal-header {
4470 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
4471 color: white;
4472 padding: 20px 24px;
4473 display: flex;
4474 align-items: center;
4475 justify-content: space-between;
4476 }
4477
4478 .mxchat-instructions-modal-title {
4479 font-size: 18px;
4480 font-weight: 600;
4481 margin: 0;
4482 display: flex;
4483 align-items: center;
4484 gap: 10px;
4485 }
4486
4487 .mxchat-instructions-modal-close {
4488 background: rgba(255, 255, 255, 0.2);
4489 border: none;
4490 color: white;
4491 width: 32px;
4492 height: 32px;
4493 border-radius: 6px;
4494 cursor: pointer;
4495 display: flex;
4496 align-items: center;
4497 justify-content: center;
4498 transition: background 0.2s ease;
4499 }
4500
4501 .mxchat-instructions-modal-close:hover {
4502 background: rgba(255, 255, 255, 0.3);
4503 }
4504
4505 .mxchat-instructions-modal-body {
4506 padding: 24px;
4507 overflow-y: auto;
4508 max-height: calc(90vh - 140px);
4509 }
4510
4511 .mxchat-instructions-content {
4512 background: #f8fafc;
4513 border: 2px solid #e2e8f0;
4514 border-radius: 8px;
4515 padding: 20px;
4516 font-family: 'Courier New', Monaco, monospace;
4517 font-size: 13px;
4518 line-height: 1.6;
4519 color: #2d3748;
4520 white-space: pre-wrap;
4521 word-wrap: break-word;
4522 }
4523
4524 .mxchat-instructions-copy-btn {
4525 margin-top: 16px;
4526 background: #48bb78;
4527 color: white;
4528 border: none;
4529 padding: 10px 16px;
4530 border-radius: 6px;
4531 font-size: 14px;
4532 font-weight: 500;
4533 cursor: pointer;
4534 display: inline-flex;
4535 align-items: center;
4536 gap: 8px;
4537 transition: all 0.2s ease;
4538 }
4539
4540 .mxchat-instructions-copy-btn:hover {
4541 background: #38a169;
4542 transform: translateY(-1px);
4543 }
4544
4545 .mxchat-instructions-copy-btn svg {
4546 width: 16px;
4547 height: 16px;
4548 }
4549
4550 .mxchat-instructions-modal-footer {
4551 padding: 16px 24px;
4552 background: #f7fafc;
4553 border-top: 1px solid #e2e8f0;
4554 text-align: right;
4555 }
4556
4557 .mxchat-instructions-btn-secondary {
4558 background: #e2e8f0;
4559 color: #4a5568;
4560 border: none;
4561 padding: 8px 16px;
4562 border-radius: 6px;
4563 font-size: 14px;
4564 cursor: pointer;
4565 transition: background 0.2s ease;
4566 }
4567
4568 .mxchat-instructions-btn-secondary:hover {
4569 background: #cbd5e0;
4570 }
4571
4572 /* Responsive design */
4573 @media (max-width: 782px) {
4574 .mxchat-instructions-modal-overlay.mxchat-instructions-show {
4575 padding: 10px;
4576 }
4577
4578 .mxchat-instructions-modal-content {
4579 max-height: 95vh;
4580 }
4581
4582 .mxchat-instructions-modal-header {
4583 padding: 16px 20px;
4584 }
4585
4586 .mxchat-instructions-modal-body {
4587 padding: 20px;
4588 max-height: calc(95vh - 120px);
4589 }
4590
4591 .mxchat-instructions-content {
4592 font-size: 12px;
4593 padding: 16px;
4594 }
4595 }
4596
4597
4598
4599
4600
4601 /* Completion Card - Modern Theme */
4602 .mxchat-completion-card {
4603 margin: 20px 0;
4604 background: #ffffff;
4605 border-radius: 12px;
4606 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08), 0 4px 16px rgba(0, 0, 0, 0.06);
4607 overflow: hidden;
4608 transition: all 0.3s ease;
4609 border: 1px solid rgba(0, 0, 0, 0.06);
4610 }
4611
4612 .mxchat-completion-card:hover {
4613 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1), 0 6px 20px rgba(0, 0, 0, 0.08);
4614 }
4615
4616 /* Header Section */
4617 .mxchat-completion-header {
4618 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
4619 padding: 24px;
4620 display: flex;
4621 align-items: center;
4622 gap: 16px;
4623 }
4624
4625 .mxchat-completion-icon {
4626 width: 48px;
4627 height: 48px;
4628 background: rgba(255, 255, 255, 0.2);
4629 border-radius: 12px;
4630 display: flex;
4631 align-items: center;
4632 justify-content: center;
4633 flex-shrink: 0;
4634 }
4635
4636 .mxchat-completion-icon svg {
4637 color: #ffffff;
4638 width: 28px;
4639 height: 28px;
4640 }
4641
4642 .mxchat-completion-title h3 {
4643 margin: 0;
4644 color: #ffffff;
4645 font-size: 20px;
4646 font-weight: 600;
4647 letter-spacing: -0.02em;
4648 }
4649
4650 .mxchat-completion-time {
4651 margin: 4px 0 0 0;
4652 color: rgba(255, 255, 255, 0.8);
4653 font-size: 14px;
4654 }
4655
4656 /* Summary Section */
4657 .mxchat-completion-summary {
4658 padding: 24px;
4659 border-bottom: 1px solid #f0f0f1;
4660 }
4661
4662 .mxchat-completion-summary h4 {
4663 margin: 0 0 16px 0;
4664 color: #1d2327;
4665 font-size: 16px;
4666 font-weight: 600;
4667 }
4668
4669 .mxchat-summary-stats {
4670 display: grid;
4671 grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
4672 gap: 12px;
4673 }
4674
4675 .mxchat-stat-card {
4676 background: #f6f7f7;
4677 padding: 16px;
4678 border-radius: 8px;
4679 text-align: center;
4680 transition: all 0.2s ease;
4681 }
4682
4683 .mxchat-stat-card:hover {
4684 transform: translateY(-2px);
4685 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
4686 }
4687
4688 .mxchat-stat-label {
4689 display: block;
4690 font-size: 12px;
4691 color: #646970;
4692 font-weight: 500;
4693 text-transform: uppercase;
4694 letter-spacing: 0.5px;
4695 margin-bottom: 8px;
4696 }
4697
4698 .mxchat-stat-value {
4699 display: block;
4700 font-size: 24px;
4701 font-weight: 700;
4702 color: #1d2327;
4703 }
4704
4705 .mxchat-stat-success {
4706 background: #e6f5e6;
4707 }
4708
4709 .mxchat-stat-success .mxchat-stat-value {
4710 color: #00a32a;
4711 }
4712
4713 .mxchat-stat-failed {
4714 background: #fef1f1;
4715 }
4716
4717 .mxchat-stat-failed .mxchat-stat-value {
4718 color: #d63638;
4719 }
4720
4721 /* Failed URLs Section */
4722 .mxchat-failed-urls-section {
4723 padding: 24px;
4724 background: #fafafa;
4725 border-top: 1px solid #f0f0f1;
4726 }
4727
4728 .mxchat-failed-urls-section h4 {
4729 margin: 0 0 16px 0;
4730 color: #d63638;
4731 font-size: 16px;
4732 font-weight: 600;
4733 display: flex;
4734 align-items: center;
4735 gap: 8px;
4736 }
4737
4738 .mxchat-icon-warning {
4739 flex-shrink: 0;
4740 }
4741
4742 .mxchat-failed-urls-table-wrapper {
4743 max-height: 300px;
4744 overflow-y: auto;
4745 background: #ffffff;
4746 border-radius: 8px;
4747 border: 1px solid #e0e0e0;
4748 }
4749
4750 .mxchat-failed-urls-table {
4751 width: 100%;
4752 border-collapse: collapse;
4753 }
4754
4755 .mxchat-failed-urls-table thead {
4756 position: sticky;
4757 top: 0;
4758 background: #f6f7f7;
4759 z-index: 1;
4760 }
4761
4762 .mxchat-failed-urls-table th {
4763 text-align: left;
4764 padding: 12px 16px;
4765 font-weight: 600;
4766 font-size: 13px;
4767 color: #1d2327;
4768 text-transform: uppercase;
4769 letter-spacing: 0.5px;
4770 border-bottom: 2px solid #e0e0e0;
4771 }
4772
4773 .mxchat-failed-urls-table tbody tr {
4774 transition: background-color 0.2s ease;
4775 }
4776
4777 .mxchat-failed-urls-table tbody tr:hover {
4778 background-color: #f6f7f7;
4779 }
4780
4781 .mxchat-failed-urls-table td {
4782 padding: 12px 16px;
4783 border-bottom: 1px solid #f0f0f1;
4784 font-size: 14px;
4785 }
4786
4787 .mxchat-url-cell {
4788 word-break: break-all;
4789 }
4790
4791 .mxchat-url-cell a {
4792 color: #667eea;
4793 text-decoration: none;
4794 transition: color 0.2s ease;
4795 }
4796
4797 .mxchat-url-cell a:hover {
4798 color: #764ba2;
4799 text-decoration: underline;
4800 }
4801
4802 .mxchat-error-cell {
4803 color: #d63638;
4804 }
4805
4806 .mxchat-time-cell {
4807 color: #646970;
4808 white-space: nowrap;
4809 }
4810
4811 /* Action Buttons */
4812 .mxchat-completion-actions {
4813 padding: 24px;
4814 display: flex;
4815 gap: 12px;
4816 justify-content: flex-end;
4817 background: #fafafa;
4818 }
4819
4820 .mxchat-btn {
4821 display: inline-flex;
4822 align-items: center;
4823 gap: 8px;
4824 padding: 10px 20px;
4825 border: none;
4826 border-radius: 6px;
4827 font-size: 14px;
4828 font-weight: 500;
4829 cursor: pointer;
4830 transition: all 0.2s ease;
4831 text-decoration: none;
4832 }
4833
4834 .mxchat-btn svg {
4835 width: 16px;
4836 height: 16px;
4837 }
4838
4839 .mxchat-btn-primary {
4840 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
4841 color: #ffffff;
4842 }
4843
4844 .mxchat-btn-primary:hover {
4845 transform: translateY(-1px);
4846 box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
4847 }
4848
4849 .mxchat-btn-secondary {
4850 background: #ffffff;
4851 color: #667eea;
4852 border: 1px solid #667eea;
4853 }
4854
4855 .mxchat-btn-secondary:hover {
4856 background: #f6f7ff;
4857 transform: translateY(-1px);
4858 box-shadow: 0 4px 12px rgba(102, 126, 234, 0.2);
4859 }
4860
4861 .mxchat-btn:disabled {
4862 opacity: 0.5;
4863 cursor: not-allowed;
4864 }
4865
4866 .mxchat-btn:disabled:hover {
4867 transform: none;
4868 box-shadow: none;
4869 }
4870
4871 /* Responsive adjustments */
4872 @media (max-width: 768px) {
4873 .mxchat-summary-stats {
4874 grid-template-columns: 1fr;
4875 }
4876
4877 .mxchat-completion-actions {
4878 flex-direction: column;
4879 }
4880
4881 .mxchat-btn {
4882 width: 100%;
4883 justify-content: center;
4884 }
4885 }
4886
4887 /* Scrollbar styling for failed URLs table */
4888 .mxchat-failed-urls-table-wrapper::-webkit-scrollbar {
4889 width: 8px;
4890 }
4891
4892 .mxchat-failed-urls-table-wrapper::-webkit-scrollbar-track {
4893 background: #f0f0f1;
4894 border-radius: 4px;
4895 }
4896
4897 .mxchat-failed-urls-table-wrapper::-webkit-scrollbar-thumb {
4898 background: #c3c4c7;
4899 border-radius: 4px;
4900 }
4901
4902 .mxchat-failed-urls-table-wrapper::-webkit-scrollbar-thumb:hover {
4903 background: #a7aaad;
4904 }
4905
4906
4907 /* Live Agent Disabled Notice Styles - Enhanced design */
4908 .mxchat-live-agent-disabled-notice {
4909 margin-bottom: 20px;
4910 }
4911
4912 .mxchat-live-agent-disabled-notice .mxchat-pro-notification {
4913 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
4914 border-radius: 12px;
4915 padding: 24px 24px 24px 24px;
4916 color: white;
4917 position: relative;
4918 box-shadow: 0 8px 32px rgba(102, 126, 234, 0.3);
4919 border: 1px solid rgba(255, 255, 255, 0.1);
4920 }
4921
4922 .mxchat-dismiss-btn {
4923 position: absolute;
4924 top: 16px;
4925 right: 16px;
4926 background: rgba(255, 255, 255, 0.1);
4927 border: 1px solid rgba(255, 255, 255, 0.2);
4928 border-radius: 6px;
4929 color: rgba(255, 255, 255, 0.8);
4930 cursor: pointer;
4931 padding: 8px;
4932 display: flex;
4933 align-items: center;
4934 justify-content: center;
4935 transition: all 0.2s ease;
4936 backdrop-filter: blur(10px);
4937 }
4938
4939 .mxchat-dismiss-btn:hover {
4940 background: rgba(255, 255, 255, 0.2);
4941 color: white;
4942 transform: scale(1.05);
4943 }
4944
4945 .mxchat-dismiss-btn:active {
4946 transform: scale(0.95);
4947 }
4948
4949 .mxchat-live-agent-content {
4950 padding-right: 60px; /* Space for dismiss button */
4951 }
4952
4953 .mxchat-live-agent-content h3 {
4954 margin: 0 0 16px 0;
4955 font-size: 20px;
4956 font-weight: 600;
4957 color: white;
4958 display: flex;
4959 align-items: center;
4960 gap: 8px;
4961 }
4962
4963 .mxchat-live-agent-content p {
4964 margin: 0;
4965 font-size: 15px;
4966 line-height: 1.6;
4967 opacity: 0.95;
4968 color: rgba(255, 255, 255, 0.95);
4969 }
4970
4971 .mxchat-live-agent-content strong {
4972 color: #fff;
4973 font-weight: 600;
4974 background: rgba(255, 255, 255, 0.1);
4975 padding: 2px 6px;
4976 border-radius: 4px;
4977 font-size: 14px;
4978 }
4979
4980 .mxchat-processing-controls {
4981 display: flex;
4982 gap: 10px;
4983 align-items: center;
4984 }
4985
4986 /* Status Card Container */
4987 .mxchat-status-card {
4988 background: #fff;
4989 border: 1px solid #ddd;
4990 border-radius: 8px;
4991 padding: 20px;
4992 margin-bottom: 20px;
4993 box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
4994 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
4995 }
4996
4997 /* Status Header */
4998 .mxchat-status-header {
4999 display: flex;
5000 align-items: center;
5001 justify-content: space-between;
5002 margin-bottom: 15px;
5003 flex-wrap: wrap;
5004 gap: 10px;
5005 }
5006
5007 .mxchat-status-header h4 {
5008 margin: 0;
5009 font-size: 18px;
5010 font-weight: 600;
5011 color: #333;
5012 }
5013
5014 .mxchat-status-header h5 {
5015 margin: 0 0 10px 0;
5016 font-size: 16px;
5017 font-weight: 600;
5018 color: #333;
5019 }
5020
5021 /* Dismiss Button */
5022 .mxchat-dismiss-button {
5023 padding: 6px 12px;
5024 background: #dc3545;
5025 color: white;
5026 border: none;
5027 border-radius: 4px;
5028 cursor: pointer;
5029 font-size: 12px;
5030 font-weight: 500;
5031 transition: background-color 0.2s ease;
5032 }
5033
5034 .mxchat-dismiss-button:hover {
5035 background: #c82333;
5036 }
5037
5038 .mxchat-dismiss-button:active {
5039 transform: translateY(1px);
5040 }
5041
5042 /* Process Batch Button */
5043 .mxchat-manual-batch-btn {
5044 padding: 8px 16px;
5045 background: #007cba;
5046 color: white;
5047 border: none;
5048 border-radius: 4px;
5049 cursor: pointer;
5050 font-size: 13px;
5051 font-weight: 500;
5052 transition: all 0.2s ease;
5053 text-decoration: none;
5054 display: inline-block;
5055 }
5056
5057 .mxchat-manual-batch-btn:hover {
5058 background: #005a87;
5059 color: white;
5060 text-decoration: none;
5061 }
5062
5063 .mxchat-manual-batch-btn:active {
5064 transform: translateY(1px);
5065 }
5066
5067 .mxchat-manual-batch-btn:focus {
5068 outline: 2px solid #007cba;
5069 outline-offset: 2px;
5070 }
5071
5072