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

4,156 lines 83.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 .wp-core-ui .notice.is-dismissible {
2 z-index: 10000;
3 }
4
5 #system_prompt_instructions {
6 transition: height 0.3s ease;
7 }
8 .red-warning {
9 color: red;
10 }
11
12 .mxchat-form-intent {
13 background-color: rgba(240, 240, 245, 0.5);
14 }
15
16 .mxchat-badge {
17 display: inline-block;
18 padding: 2px 8px;
19 border-radius: 12px;
20 background: #7873f5;
21 color: white;
22 font-size: 12px;
23 margin-left: 8px;
24 }
25
26 .mxchat-threshold-readonly {
27 padding: 8px;
28 background: rgba(120, 115, 245, 0.1);
29 border-radius: 4px;
30 text-align: center;
31 }
32
33 .mxchat-form-intent .mxchat-button-secondary {
34 background: #7873f5;
35 color: white;
36 border: none;
37 padding: 6px 12px;
38 border-radius: 4px;
39 text-decoration: none;
40 display: inline-block;
41 }
42
43 .mxchat-form-intent .mxchat-button-secondary:hover {
44 background: #6863e5;
45 }
46
47 /* Tab Navigation */
48 .mxchat-tabs {
49 border-bottom: 1px solid #ccc;
50 margin-bottom: 20px;
51 padding-bottom: 0;
52 }
53
54 .mxchat-default-db-h2 {
55 text-align: center;
56 margin: 0px;
57 padding: 0px;
58 }
59
60 .mxchat-tab-button {
61 background: #f1f1f1;
62 border: 1px solid #ccc;
63 border-bottom: none;
64 color: #555;
65 cursor: pointer;
66 font-size: 14px;
67 margin: 0 5px -1px 0;
68 padding: 10px 15px;
69 transition: all 0.3s ease;
70 }
71
72 .mxchat-tab-button.active {
73 background: #fff;
74 border-bottom: 1px solid #fff;
75 color: #000;
76 }
77
78 #default-db.mxchat-tab-content, #pinecone-db.mxchat-tab-content {
79 border: none;
80 box-shadow: none;
81 padding: 0px;
82 }
83
84 .mxchat-tab-content.active {
85 display: block;
86 }
87
88 @keyframes fadeIn {
89 from { opacity: 0; }
90 to { opacity: 1; }
91 }
92
93 .mxchat-tab-content.active {
94 display: block;
95 }
96
97 /* Pinecone Settings Styling */
98 .mxchat-input-group {
99 margin-bottom: 20px;
100 }
101
102 .mxchat-input-group label {
103 display: block;
104 font-weight: 600;
105 margin-bottom: 5px;
106 }
107
108 .mxchat-input-group .description {
109 color: #666;
110 font-style: italic;
111 margin-top: 5px;
112 }
113
114
115 .mxchat-sync-settings {
116 background: #fff;
117 border-radius: 5px;
118 }
119
120 .mxchat-toggle-container {
121 margin-bottom: 15px;
122 }
123
124 .mxchat-toggle-switch {
125 position: relative;
126 display: inline-block;
127 width: 60px;
128 height: 34px;
129 }
130
131 .mxchat-toggle-switch input {
132 opacity: 0;
133 width: 0;
134 height: 0;
135 }
136
137 .mxchat-toggle-slider {
138 position: absolute;
139 cursor: pointer;
140 top: 0;
141 left: 0;
142 right: 0;
143 bottom: 0;
144 background-color: #ccc;
145 transition: .4s;
146 border-radius: 34px;
147 }
148
149 .mxchat-toggle-slider:before {
150 position: absolute;
151 content: "";
152 height: 26px;
153 width: 26px;
154 left: 4px;
155 bottom: 4px;
156 background-color: white;
157 transition: .4s;
158 border-radius: 50%;
159 }
160
161 input:checked + .mxchat-toggle-slider {
162 background-color: #2196F3;
163 }
164
165 input:checked + .mxchat-toggle-slider:before {
166 transform: translateX(26px);
167 }
168
169 .mxchat-toggle-label {
170 vertical-align: super;
171 font-weight: 500;
172 }
173 .mxchat-knowledge-container {
174 display: flex;
175 flex-direction: column;
176 gap: 1rem;
177 margin: 1.5rem 0;
178 padding: 1rem;
179 background: #fff;
180 border-radius: 10px;
181 border: 1px solid #ddd;
182 box-shadow: 0 2px 4px rgba(0, 0, 0, .1);
183 }
184
185 /* Left Column */
186 .mxchat-knowledge-controls {
187 flex: 1;
188 display: flex;
189 gap: 1rem;
190 justify-content: space-between;
191 align-items: center;
192 }
193
194 .mxchat-controls-header {
195 display: flex;
196 justify-content: space-between;
197 align-items: center;
198 }
199
200 .displaying-num {
201 color: #666;
202 font-size: 0.9rem;
203 }
204
205 .mxchat-delete-all {
206 color: #dc3545;
207 border-color: #dc3545;
208 }
209
210 .mxchat-delete-all:hover {
211 background: #dc3545;
212 color: #fff;
213 }
214
215 .mxchat-pagination .page-numbers {
216 padding: 0.25rem 0.5rem;
217 margin: 0 0.25rem;
218 border: 1px solid #ddd;
219 border-radius: 4px;
220 text-decoration: none;
221 }
222
223 .mxchat-pagination .current {
224 background: #2271b1;
225 color: #fff;
226 border-color: #2271b1;
227 }
228
229 /* Right Column */
230 .mxchat-knowledge-search {
231 flex: 1;
232 }
233 .search-input {
234 flex: 1;
235 padding: 0.5rem;
236 border: 1px solid #ddd;
237 border-radius: 4px;
238 }
239
240 .search-button {
241 display: flex;
242 align-items: center;
243 gap: 0.5rem;
244 padding: 0.5rem 1rem;
245 }
246
247 /* Mobile Responsiveness */
248 @media screen and (max-width: 782px) {
249 .mxchat-knowledge-controls {
250 flex-direction: column;
251 }
252
253 .mxchat-addon-notice-buttons {
254 flex-direction: column;
255 }
256
257 .mxchat-grid-container {
258 display: grid;
259 /* Add these properties */
260 max-width: 100%; /* Constrain to parent width */
261 width: 100%;
262 overflow-x: hidden; /* Prevent horizontal scrolling */
263 grid-template-columns: 1fr; /* Single column layout */
264 grid-gap: 20px;
265 }
266
267 .mxchat-controls-header {
268 flex-direction: column;
269 gap: 1rem;
270 align-items: flex-start;
271 }
272
273 .mxchat-search-group {
274 flex-direction: column;
275 }
276
277 }
278
279
280
281
282
283
284
285
286
287
288 .mxchat-modal {
289 display: none;
290 position: fixed;
291 z-index: 1000;
292 left: 0;
293 top: 0;
294 width: 100%;
295 height: 100%;
296 background-color: rgba(0,0,0,0.4);
297 }
298
299 .mxchat-modal-content {
300 background-color: #fefefe;
301 margin: 15% auto;
302 padding: 20px;
303 border: 1px solid #ddd;
304 width: 70%;
305 max-width: 600px;
306 border-radius: 4px;
307 }
308
309 .mxchat-modal-close {
310 color: #aaa;
311 float: right;
312 font-size: 28px;
313 font-weight: bold;
314 cursor: pointer;
315 }
316
317 .mxchat-modal-close:hover {
318 color: black;
319 }
320
321
322
323
324 .mxchat-admin .button.button-secondary.mxchat-edit-button {
325 background: #3498db;
326 color: #fff;
327 border-radius: 20px;
328 padding: 0px 20px !important;
329 font-size: 1rem;
330 font-weight: 700;
331 text-decoration: none;
332 transition: all .2s;
333 justify-content: center;
334 align-items: center;
335 box-shadow: 4px 4px #2980b9;
336 cursor: pointer;
337 margin-top: 10px;
338 border: none;
339 width: 100%;
340 }
341
342
343 .mxchat-admin .mxchat-intents-table .mxchat-delete-all {
344 width: 100%;
345 }
346
347 .mxchat-admin .mxchat-intents-table .mxchat-save-button {
348 max-width: 100% !important;
349 width: 100% !important;
350 }
351
352 .mxchat-agents-banner {
353 background-color: #fff;
354 margin-bottom: 20px;
355 border-radius: 4px;
356 box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
357 position: relative;
358 margin-left: auto;
359 margin-right: auto;
360 padding: 0px 15px;
361 }
362
363 .mxchat-agents-banner::before {
364 content: '';
365 position: absolute;
366 top: 0;
367 left: 0px;
368 width: 10px; /* Matches border-left width */
369 height: 100%;
370 background: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1); /* Gradient */
371 border-radius: 4px 0 0 4px; /* Match overall border radius */
372 }
373
374 .mxchat-agents-banner p {
375 font-size: 14px;
376 line-height: 1.6;
377 color: #444; /* Dark gray text */
378 margin: 0;
379 padding: 15px 10px;
380 }
381
382 .mxchat-agents-banner a {
383 background: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1); /* Gradient text */
384 -webkit-background-clip: text;
385 -webkit-text-fill-color: transparent; /* Makes gradient visible */
386 font-weight: bold;
387 text-decoration: none;
388 transition: opacity 0.2s ease;
389 }
390
391 .mxchat-agents-banner a:hover {
392 opacity: 0.8; /* Subtle fade on hover */
393 text-decoration: underline; /* Underline for accessibility */
394 }
395
396
397
398 .mxchat-timestamp {
399 font-size: 10px;
400 color: #8c8f94;
401 margin-top: 2px;
402 padding: 0 8px;
403 }
404
405 .mxchat-messages::-webkit-scrollbar {
406 width: 6px;
407 }
408
409 .mxchat-messages::-webkit-scrollbar-track {
410 background: #f1f1f1;
411 }
412
413 .mxchat-messages::-webkit-scrollbar-thumb {
414 background: #888;
415 border-radius: 3px;
416 }
417
418
419
420
421
422
423
424
425
426 .mxchat-process-status {
427 margin-top: 20px;
428 padding: 15px;
429 background: #fff;
430 border: 1px solid #ddd;
431 border-radius: 4px;
432 box-shadow: 0 1px 3px rgba(0,0,0,0.1);
433 }
434
435 .mxchat-process-status h3 {
436 margin: 0 0 15px 0;
437 color: #23282d;
438 font-size: 14px;
439 font-weight: 600;
440 }
441
442 .mxchat-process-status p {
443 margin: 8px 0;
444 color: #555;
445 font-size: 13px;
446 }
447
448 .mxchat-process-status .status-complete {
449 color: #46b450;
450 font-weight: 500;
451 }
452
453 .mxchat-process-status.complete {
454 border-color: #46b450;
455 }
456
457
458
459
460
461 /* Toggle Switch Styles */
462 .mxchat-switch {
463 position: relative;
464 display: inline-block;
465 width: 60px;
466 height: 34px;
467 margin-right: 10px;
468 }
469
470 .mxchat-switch input {
471 opacity: 0;
472 width: 0;
473 height: 0;
474 }
475
476 .mxchat-slider {
477 position: absolute;
478 cursor: pointer;
479 top: 0;
480 left: 0;
481 right: 0;
482 bottom: 0;
483 background-color: #ccc;
484 transition: .4s;
485 border-radius: 34px;
486 }
487
488 .mxchat-slider:before {
489 position: absolute;
490 content: "";
491 height: 26px;
492 width: 26px;
493 left: 4px;
494 bottom: 4px;
495 background-color: white;
496 transition: .4s;
497 border-radius: 50%;
498 }
499
500 input:checked + .mxchat-slider {
501 background-color: #2196F3;
502 }
503
504 input:disabled + .mxchat-slider {
505 opacity: 0.5;
506 cursor: not-allowed;
507 }
508
509 input:checked + .mxchat-slider:before {
510 transform: translateX(26px);
511 }
512
513 .mxchat-status-label {
514 display: inline-block;
515 vertical-align: middle;
516 margin-left: 10px;
517 }
518
519 .status-text {
520 font-weight: 500;
521 }
522
523
524
525
526 .mxchat-question-row {
527 margin-bottom: 10px;
528 }
529
530 .mxchat-similarity-threshold .mxchat-slider-container {
531 display: flex;
532 align-items: center;
533 gap: 15px;
534 margin-top: 10px;
535 }
536
537 .mxchat-similarity-threshold input[type="range"] {
538 flex: 1;
539 margin: 0;
540 }
541
542 .mxchat-similarity-threshold .button-primary {
543 white-space: nowrap;
544 }
545
546 .mxchat-similarity-threshold label {
547 font-weight: bold;
548 display: block;
549 margin-bottom: 5px;
550 }
551
552 .mxchat-similarity-threshold {
553 max-width: 600px;
554 }
555
556 #threshold_value_display {
557 font-weight: normal;
558 margin-left: 10px;
559 color: #0073aa;
560 }
561
562 .mxchat-form-group {
563 margin-bottom: 20px;
564 }
565
566 .mxchat-form-group input[type="range"] {
567 width: 100%;
568 margin-top: 10px;
569 }
570
571 .mxchat-form-group label {
572 font-weight: bold;
573 display: block;
574 margin-bottom: 5px;
575 }
576
577 .mxchat-form-group .description {
578 font-size: 0.9em;
579 color: #666;
580 }
581
582 #threshold_value_display {
583 font-weight: normal;
584 margin-left: 10px;
585 color: #0073aa;
586 }
587
588
589
590
591 .mxchat-product-image, .mxchat-generated-image, .mxchat-image-thumbnail {
592 max-width: 100%;
593 }
594 .description {
595 margin-top: -10px;
596 }
597
598 .tablenav .tablenav-pages {
599 display: flex;
600 align-items: center;
601 margin-left: 20px;
602 gap: 5px;
603 }
604
605 /* General Styles */
606 .mxchat-admin body, .mxchat-admin html {
607 font-family: Arial, sans-serif;
608 background-color: #fff;
609 color: #212121;
610 margin: 0;
611 padding: 0;
612 }
613
614 /* Main Wrapper */
615 .mxchat-admin .wrap {
616 max-width: 1200px;
617 margin: 0 auto;
618 padding: 20px;
619 background: #f9f9f9;
620 box-shadow: 0 2px 4px rgba(0, 0, 0, .1);
621 }
622 /* Header */
623 .mxchat-admin .wrap h2 {
624 border-bottom: 2px solid #ddd;
625 padding-bottom: 10px;
626 margin-bottom: 20px;
627 color: #212121;
628 }
629
630 .wrap.mxchat-admin .admin-title {
631 text-shadow: 0 2px 0 #c6c6c6;
632 font-weight: bold;
633 letter-spacing: 5px;
634 color: #212121;
635 font-size: 2.5rem;
636 }
637
638 .mxchat-admin .admin-emphasis {
639 color: white;
640 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;
641 font-weight: bold;
642 letter-spacing: 5px;
643 font-size: 2.5rem;
644 }
645 /* Grid Layout */
646 .mxchat-admin .mxchat-grid-container {
647 display: grid;
648 grid-template-columns: repeat(2, 1fr);
649 grid-gap: 20px;
650 }
651
652 .mxchat-admin .mxchat-grid-item {
653 background: #fff;
654 border: 1px solid #ddd;
655 box-shadow: 0 2px 4px rgba(0, 0, 0, .1);
656 padding: 20px;
657 border-radius: 10px;
658 }
659
660 /* Full Width for Submit Content */
661 .mxchat-admin .mxchat-grid-item.full-width {
662 grid-column: span 2;
663 }
664
665 /* Form Styles */
666 .mxchat-admin .mxchat-form-group {
667 display: flex;
668 flex-direction: column;
669 margin-bottom: 20px;
670 }
671
672 .mxchat-admin .mxchat-form-group label {
673 margin-bottom: 10px;
674 font-weight: bold;
675 color: #212121;
676 }
677
678 .mxchat-admin .mxchat-form-group input[type="url"],
679 .mxchat-admin .mxchat-form-group input[type="text"],
680 .mxchat-admin .mxchat-form-group input[type="password"],
681 .mxchat-admin .mxchat-form-group textarea {
682 padding: 10px;
683 border: 1px solid #ddd;
684 border-radius: 4px;
685 font-size: 1rem;
686 width: 100%;
687 box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
688 }
689
690 /* Larger Textarea for Content Submission */
691 .mxchat-admin .mxchat-form-group textarea {
692 min-height: 200px;
693 }
694
695 /* Button Styles */
696 .mxchat-admin .button.button-primary {
697 color: #fff;
698 background: #212121;
699 border-radius: 20px;
700 padding: 0px 30px;
701 font-size: 1rem;
702 font-weight: 700;
703 text-decoration: none;
704 transition: all .2s;
705 display: inline-flex;
706 justify-content: center;
707 align-items: center;
708 max-width: 200px;
709 width: auto;
710 box-shadow: 4px 4px #14141499;
711 border: none;
712 cursor: pointer;
713 }
714
715 .mxchat-search-group .button.button-primary.search-button {
716 box-shadow: none;
717 border-radius: 0px 20px 20px 0px;
718 margin-bottom: 0px;
719 padding: 0px 15px;
720 }
721
722 .mxchat-search-group .button.button-primary.search-button:hover {
723 opacity: .8px;
724 }
725
726 .mxchat-admin .button.button-primary:hover,
727 .mxchat-admin .button.button-primary:active {
728 background: #444;
729 }
730
731 .submit-content-button {
732 margin-top: 10px !important;
733 }
734
735 /* Search and Sitemap Group */
736 .mxchat-admin .mxchat-search-group {
737 display: flex;
738 gap: 0px;
739 max-width: 800px;
740 margin: auto;
741 margin-top: 20px;
742 align-items: stretch;
743 flex-direction: row;
744 }
745
746 .mxchat-admin .mxchat-search-group input[type="text"],
747 .mxchat-admin .mxchat-search-group input[type="url"] {
748 flex-grow: 1;
749 border-radius: 20px 0px 0px 20px;
750 padding: 8px;
751 }
752
753 .mxchat-search-group #mxchat-intent-search {
754 border-radius: 0px 0px 0px 0px;
755 }
756
757 .mxchat-admin .mxchat-search-group input[type="submit"] {
758 background: #212121;
759 color: #fff;
760 border-radius: 20px;
761 padding: 0px 30px;
762 font-size: 1rem;
763 font-weight: 700;
764 box-shadow: 4px 4px #14141499;
765 border: none;
766 transition: background-color .2s;
767 cursor: pointer;
768 }
769
770 .mxchat-admin .mxchat-search-group input[type="submit"]:hover {
771 background-color: #444;
772 }
773
774 .mxchat-admin .mxchat-delete-all, .button.button-link-delete.mxchat-delete-all {
775 background: #e74c3c;
776 color: #fff;
777 border-radius: 20px;
778 padding: 0px 15px !important;
779 font-size: 1rem;
780 font-weight: 700;
781 text-decoration: none;
782 transition: all .2s;
783 justify-content: center;
784 align-items: center;
785 box-shadow: 4px 4px #c0392b;
786 cursor: pointer;
787 margin-bottom: 10px;
788 border: none;
789 }
790
791 .mxchat-admin .mxchat-delete-all:hover {
792 color: #fff;
793 background-color: #c0392b;
794 box-shadow: 4px 4px #a93226
795 }
796
797 .mxchat-admin .mxchat-intents-table .mxchat-delete-all {
798 background: #e74c3c;
799 color: #fff;
800 border-radius: 20px;
801 padding: 0px 20px !important;
802 font-size: 1rem;
803 font-weight: 700;
804 text-decoration: none;
805 transition: all .2s;
806 justify-content: center;
807 align-items: center;
808 box-shadow: 4px 4px #c0392b;
809 cursor: pointer;
810 margin-top: 10px;
811 border: none;
812 }
813
814 .mxchat-admin .mxchat-intents-table .mxchat-delete-all:hover {
815 color: #fff;
816 background-color: #c0392b;
817 box-shadow: 4px 4px #a93226;
818 }
819
820
821
822 /* Table Styles */
823 .mxchat-admin .wp-list-table {
824 width: 100%;
825 margin-top: 20px;
826 border-collapse: collapse;
827 background: #fff;
828 box-shadow: 0 2px 4px rgba(0, 0, 0, .1);
829 }
830
831 .mxchat-admin .wp-list-table th,
832 .mxchat-admin .wp-list-table td {
833 padding: 15px;
834 border-bottom: 1px solid #ddd;
835 text-align: left;
836 }
837
838 .mxchat-admin .wp-list-table th {
839 background: #f0f2f5;
840 color: #212121;
841 }
842
843 .mxchat-admin .wp-list-table tr:nth-child(even) {
844 background: #f9f9f9;
845 }
846
847 .mxchat-admin .mxchat-pro-banner {
848 background-color: #fff;
849 padding: 0px 15px;
850 margin-bottom: 20px;
851 box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* Subtle shadow for depth */
852 position: relative; /* Required for the ::before pseudo-element */
853 }
854
855 .mxchat-admin .mxchat-pro-banner::before {
856 content: '';
857 position: absolute;
858 top: 0;
859 left: 0px;
860 width: 10px; /* Matches the border-left width in your original CSS */
861 height: 100%;
862 background-color: #212121; /* Dark bar color */
863 border-radius: 4px 0 0 4px; /* Rounded corners on the left */
864 }
865
866
867 .mxchat-admin .mxchat-pro-banner p {
868 margin: 0;
869 font-size: 16px;
870 color: #212121;
871 padding: 15px 10px;
872 }
873
874 .mxchat-admin .mxchat-pro-banner a {
875 color: #212121;
876 text-decoration: none;
877 font-weight: bold;
878 }
879
880 .mxchat-admin .mxchat-pro-banner a:hover {
881 text-decoration: underline;
882 }
883
884 /* Toggle Switch Styles */
885 .mxchat-admin .toggle-switch {
886 position: relative;
887 display: inline-block;
888 width: 60px;
889 height: 34px;
890 }
891
892 .mxchat-admin .toggle-switch input {
893 opacity: 0;
894 width: 0;
895 height: 0;
896 }
897
898 .mxchat-admin .slider {
899 position: absolute;
900 cursor: pointer;
901 top: 0;
902 left: 0;
903 right: 0;
904 bottom: 0;
905 background-color: #ccc;
906 transition: .4s;
907 border-radius: 34px;
908 }
909
910 .mxchat-admin .slider:before {
911 position: absolute;
912 content: "";
913 height: 26px;
914 width: 26px;
915 left: 4px;
916 bottom: 4px;
917 background-color: white;
918 transition: .4s;
919 border-radius: 50%;
920 }
921
922 .mxchat-admin input:checked + .slider {
923 background-color: #212121;
924 }
925
926 .mxchat-admin input:checked + .slider:before {
927 transform: translateX(26px);
928 }
929
930 /* Toggle Switch Label */
931 .mxchat-admin .toggle-switch-label {
932 display: flex;
933 align-items: center;
934 font-weight: 600;
935 color: #212121;
936 margin-bottom: 20px;
937 }
938
939 .mxchat-loading-text {
940 display: none;
941 margin-top: 10px;
942 color: #333;
943 }
944
945 .mxchat-spinner {
946 border: 8px solid #f3f3f3;
947 border-top: 8px solid #333;
948 border-radius: 50%;
949 width: 30px;
950 height: 30px;
951 animation: mxchat-spin 1s linear infinite;
952 display: flex;
953 justify-content: center;
954 align-items: center;
955 }
956
957 #mxchat-content-loading-text {
958 display: none;
959 margin-top: 10px;
960 color: #333;
961 }
962
963 .mxchat-content-spinner {
964 border: 8px solid #f3f3f3;
965 border-top: 8px solid #333;
966 border-radius: 50%;
967 width: 30px;
968 height: 30px;
969 animation: mxchat-spin 1s linear infinite;
970 display: flex;
971 justify-content: center;
972 align-items: center;
973 }
974
975
976 #mxchat-activation-spinner {
977 border: 4px solid #f3f3f3;
978 border-top: 4px solid #007cba; /* Match the WordPress primary button color */
979 border-radius: 50%;
980 width: 20px;
981 height: 20px;
982 animation: mxchat-spin 1s linear infinite;
983 display: inline-block;
984 vertical-align: middle;
985 margin-left: 10px;
986 }
987
988 @keyframes mxchat-spin {
989 0% { transform: rotate(0deg); }
990 100% { transform: rotate(360deg); }
991 }
992
993
994
995 .pro-feature-wrapper.active select,
996 .pro-feature-wrapper.active textarea {
997 opacity: 1; /* Fully opaque when active */
998 }
999
1000 .pro-feature-wrapper.inactive select,
1001 .pro-feature-wrapper.inactive textarea {
1002 opacity: 0.5; /* Grayed out when inactive */
1003 }
1004
1005 .pro-feature-overlay {
1006 position: absolute;
1007 top: 0;
1008 left: 0;
1009 width: 100%;
1010 height: 100%;
1011 display: flex;
1012 justify-content: center;
1013 align-items: center;
1014 pointer-events: none;
1015 }
1016
1017 .pro-feature-overlay img {
1018 max-width: 100px;
1019 pointer-events: auto; /* Allow clicking the image */
1020 }
1021
1022 .pro-feature-wrapper a {
1023 text-decoration: none;
1024 position: absolute;
1025 top: 0;
1026 left: 0;
1027 width: 100%;
1028 height: 100%;
1029 z-index: 10; /* Ensure the link is above everything else */
1030 }
1031
1032
1033 .mxchat-admin .chat-session {
1034 border: 1px solid #ddd;
1035 padding: 15px;
1036 width: calc(33.333% - 20px);
1037 box-sizing: border-box;
1038 background-color: #f9f9f9;
1039 display: flex;
1040 flex-direction: column;
1041 max-height: 500px;
1042 overflow: auto;
1043 }
1044
1045 .mxchat-admin .chat-message {
1046 border-bottom: 1px solid #eee;
1047 padding-bottom: 10px;
1048 margin-bottom: 10px;
1049 }
1050
1051 .mxchat-admin .chat-session h4 {
1052 margin-bottom: 15px;
1053 font-size: 1.1em;
1054 font-weight: 700;
1055 }
1056
1057 .mxchat-controls {
1058 display: flex;
1059 align-items: center;
1060 margin-bottom: 15px;
1061 }
1062
1063 .mxchat-select-all-label {
1064 margin-right: 15px;
1065 display: flex;
1066 align-items: center;
1067 }
1068
1069 .mxchat-select-all-label input[type="checkbox"] {
1070 margin-right: 5px;
1071 }
1072
1073 .mxchat-controls .delete-chats-button.button {
1074 padding: 6px 12px;
1075 font-size: 14px;
1076 background: #e74c3c;
1077 color: #fff;
1078 border-radius: 20px;
1079 font-weight: 700;
1080 text-decoration: none;
1081 transition: all .2s;
1082 justify-content: center;
1083 align-items: center;
1084 cursor: pointer;
1085 border: none;
1086 line-height: 1;
1087 }
1088
1089
1090 .mxchat-controls .delete-chats-button.button:hover {
1091 color: #fff;
1092 background-color: #c0392b;
1093 box-shadow: 4px 4px #a93226
1094 }
1095
1096
1097 .mxchat-license-status.active {
1098 color: green;
1099 font-weight: bold;
1100 }
1101
1102 .mxchat-license-status.inactive {
1103 color: red;
1104 font-weight: bold;
1105 }
1106 .mxchat-nav-tab-wrapper {
1107 margin: 0px 0px;
1108 padding: 0px 0px;
1109 display: flex;
1110 padding-left: 20px;
1111 }
1112
1113 .mxchat-nav-tab {
1114 font-size: 14px;
1115 padding: 10px 20px;
1116 margin-right: 10px;
1117 background: #f1f1f1;
1118 border: 1px solid #ddd;
1119 border-bottom: none;
1120 cursor: pointer;
1121 box-shadow: none;
1122 color: #333;
1123 text-decoration: none;
1124 }
1125
1126 .mxchat-nav-tab:hover, .mxchat-nav-tab:focus {
1127 background: #fff;
1128 color: #0073aa;
1129 box-shadow: none;
1130 }
1131
1132 .mxchat-nav-tab-active {
1133 background: #fff;
1134 border-bottom: 1px solid #fff;
1135 color: #0073aa;
1136 }
1137
1138
1139
1140 .mxchat-tab-content.active {
1141 display: block;
1142 }
1143
1144
1145 .mxchat-settings-section {
1146 padding: 20px 0;
1147 }
1148
1149 .mxchat-settings-section h2 {
1150 font-size: 1.2em;
1151 margin-bottom: 10px;
1152 color: #333;
1153 font-weight: bold;
1154 }
1155
1156 .section-divider {
1157 width: 95%;
1158 height: 2px;
1159 background-color: #e0e0e0;
1160 margin: 20px auto;
1161 border-radius: 1px;
1162 }
1163
1164 .form-table th {
1165 padding: 10px 0;
1166 vertical-align: top;
1167 width: 220px;
1168 }
1169
1170 .form-table td {
1171 padding: 10px 0;
1172 }
1173
1174
1175
1176
1177 .mxchat-table {
1178 width: 100%;
1179 table-layout: fixed;
1180 border-collapse: collapse;
1181 border: 1px solid #ccc; /* Adds a border around the table */
1182 }
1183
1184 /* Header styling to match theme */
1185 .mxchat-table th {
1186 background-color: #212121; /* Dark gray/black background */
1187 color: #fff; /* White text */
1188 font-weight: bold;
1189 padding: 10px;
1190 border-bottom: 3px solid #ccc; /* Thicker divider for the header */
1191 }
1192
1193 /* General cell styling */
1194 .mxchat-table th, .mxchat-table td {
1195 padding: 8px 10px;
1196 text-align: left;
1197 vertical-align: top; /* Aligns content to the top of the cell */
1198 border-bottom: 2px solid #ddd; /* Adds prominent dividers between rows */
1199 }
1200
1201 /* Alternate row background for better readability */
1202 .mxchat-table tbody tr:nth-child(odd) {
1203 background-color: #f9f9f9;
1204 }
1205
1206 .mxchat-table tbody tr:nth-child(even) {
1207 background-color: #fff;
1208 }
1209
1210 /* ID column should be small */
1211 .mxchat-table td:nth-child(1),
1212 .mxchat-table th:nth-child(1) {
1213 width: 15%; /* ID column */
1214 text-align: center;
1215 }
1216
1217 /* Content column should be wide */
1218 .mxchat-table td:nth-child(2),
1219 .mxchat-table th:nth-child(2) {
1220 width: 50%; /* Content column */
1221 }
1222
1223 /* URL column */
1224 .mxchat-table td:nth-child(3),
1225 .mxchat-table th:nth-child(3) {
1226 width: 20%; /* URL column */
1227 text-align: left;
1228 overflow-x: auto; /* Allow the URL to scroll horizontally if it's too long */
1229 white-space: nowrap;
1230 }
1231
1232 /* Actions column */
1233 .mxchat-table td:nth-child(4),
1234 .mxchat-table th:nth-child(4) {
1235 width: 15%; /* Edit/Delete column */
1236 text-align: center;
1237 }
1238
1239 .mxchat-intents-table {
1240 width: 100%;
1241 table-layout: fixed;
1242 border-collapse: collapse;
1243 border: 1px solid #ccc;
1244 }
1245
1246 .mxchat-intents-table th {
1247 background-color: #212121;
1248 color: #fff;
1249 font-weight: bold;
1250 padding: 10px;
1251 border-bottom: 3px solid #ccc;
1252 }
1253
1254 .mxchat-intents-table th,
1255 .mxchat-intents-table td {
1256 padding: 8px 10px;
1257 text-align: left;
1258 vertical-align: top;
1259 border-bottom: 2px solid #ddd;
1260 }
1261
1262 .mxchat-intents-table tbody tr:nth-child(odd) {
1263 background-color: #f9f9f9;
1264 }
1265
1266 .mxchat-intents-table tbody tr:nth-child(even) {
1267 background-color: #fff;
1268 }
1269
1270 /* Intent Label column */
1271 .mxchat-intents-table td:nth-child(1),
1272 .mxchat-intents-table th:nth-child(1) {
1273 width: 20%;
1274 }
1275
1276 /* Phrases column */
1277 .mxchat-intents-table td:nth-child(2),
1278 .mxchat-intents-table th:nth-child(2) {
1279 width: 30%;
1280 overflow-x: auto;
1281 }
1282
1283 /* Callback Function column */
1284 .mxchat-intents-table td:nth-child(3),
1285 .mxchat-intents-table th:nth-child(3) {
1286 width: 20%;
1287 }
1288
1289 /* Similarity Threshold column */
1290 .mxchat-intents-table td:nth-child(4),
1291 .mxchat-intents-table th:nth-child(4) {
1292 width: 15%;
1293 text-align: center;
1294 }
1295
1296 /* Actions column */
1297 .mxchat-intents-table td:nth-child(5),
1298 .mxchat-intents-table th:nth-child(5) {
1299 width: 15%;
1300 text-align: center;
1301 }
1302
1303 /* Style the threshold range slider */
1304 .mxchat-intents-threshold-form input[type="range"] {
1305 width: 100%;
1306 margin: 5px 0;
1307 }
1308
1309 .mxchat-intents-threshold-form button {
1310 margin-top: 5px;
1311 }
1312
1313
1314
1315 /* Edit content textarea styling */
1316 .content-edit {
1317 width: 100%; /* Make textarea fill the column */
1318 height: 100px; /* Adjust height as needed */
1319 box-sizing: border-box; /* Ensure padding and border are included in the width/height */
1320 }
1321
1322 /* Button styling to match theme */
1323 .mxchat-table td .button {
1324 display: inline-block;
1325 margin-right: 5px;
1326 background-color: #212121;
1327 color: #fff;
1328 border: none;
1329 padding: 5px 10px;
1330 text-decoration: none;
1331 border-radius: 3px;
1332 cursor: pointer;
1333 box-shadow: 4px 4px #14141499;
1334 }
1335
1336 /* Hover state */
1337 .mxchat-table td .button:hover {
1338 display: inline-block;
1339 margin-right: 5px;
1340 background-color: #444;
1341 color: #fff;
1342 border: none;
1343 padding: 5px 10px;
1344 text-decoration: none;
1345 border-radius: 3px;
1346 cursor: pointer;
1347 box-shadow: 4px 4px #14141499;
1348 }
1349
1350 /* Active state */
1351 .mxchat-table td .button:active {
1352 display: inline-block;
1353 margin-right: 5px;
1354 background-color: #444;
1355 color: #fff;
1356 border: none;
1357 padding: 5px 10px;
1358 text-decoration: none;
1359 border-radius: 3px;
1360 cursor: pointer;
1361 box-shadow: 4px 4px #14141499;
1362 }
1363
1364 /* Focus state */
1365 .mxchat-table td .button:focus {
1366 display: inline-block;
1367 margin-right: 5px;
1368 background-color: #444;
1369 color: #fff;
1370 border: none;
1371 padding: 5px 10px;
1372 text-decoration: none;
1373 border-radius: 3px;
1374 cursor: pointer;
1375 box-shadow: 4px 4px #14141499;
1376 outline: none; /* Removes default outline */
1377 }
1378
1379
1380
1381 /* Responsive Design */
1382 @media (max-width: 1024px) {
1383 .mxchat-admin .mxchat-grid-container {
1384 grid-template-columns: 1fr;
1385 }
1386
1387 .mxchat-admin .mxchat-grid-item.full-width {
1388 grid-column: span 1;
1389 }
1390
1391 .mxchat-admin .chat-session {
1392 width: calc(100% - 0px);
1393 }
1394
1395 .mxchat-nav-tab {
1396 padding: 10px 12px;
1397 }
1398
1399 .mxchat-admin .mxchat-nav-tab-wrapper,
1400 .mxchat-admin .wrap h2.mxchat-nav-tab-wrapper,
1401 .mxchat-admin h1.mxchat-nav-tab-wrapper {
1402 border-bottom: 0;
1403 justify-content: space-evenly;
1404 display: flex;
1405 }
1406
1407 .mxchat-admin .mxchat-nav-tab-wrapper .mxchat-nav-tab {
1408 margin: 0;
1409 }
1410 .mxchat-nav-tab-wrapper {
1411 padding-left: 0px;
1412 }
1413
1414 .mxchat-session {
1415 width: 100%;
1416 }
1417
1418
1419 }
1420
1421
1422 /* Basic responsive table styles */
1423 @media screen and (max-width: 782px) {
1424 .mxchat-intents-table {
1425 display: block;
1426 width: 100%;
1427 }
1428
1429 .mxchat-intents-table thead {
1430 display: none; /* Hide header on mobile */
1431 }
1432
1433 .mxchat-intents-table tbody,
1434 .mxchat-intents-table tr,
1435 .mxchat-intents-table td {
1436 display: block;
1437 width: 100%;
1438 }
1439
1440 .mxchat-intents-table tr {
1441 margin-bottom: 1.5rem;
1442 background: #fff;
1443 padding: 1rem;
1444 border-radius: 8px;
1445 box-shadow: 0 1px 3px rgba(0,0,0,0.1);
1446 max-width: 300px;
1447 }
1448
1449 /* Add labels before content */
1450 .mxchat-intents-table td:before {
1451 content: attr(data-label);
1452 font-weight: 600;
1453 display: block;
1454 margin-bottom: 0.5rem;
1455 color: #1d2327;
1456 }
1457
1458 /* Spacing between cells */
1459 .mxchat-intents-table td {
1460 padding: 0.5rem 0;
1461 border: none;
1462 }
1463
1464 /* Handle the slider container */
1465 .mxchat-intents-table td:nth-child(4) {
1466 margin: 1rem 0;
1467 }
1468
1469 /* Style the range input */
1470 .mxchat-intents-table input[type="range"] {
1471 width: 100%;
1472 margin: 0.5rem 0;
1473 }
1474
1475 /* Style the actions column */
1476 .mxchat-intents-table td:last-child {
1477 display: flex;
1478 flex-direction: column;
1479 gap: 0.5rem;
1480 margin-top: 1rem;
1481 }
1482
1483 /* Make buttons full width on mobile */
1484 .mxchat-intents-table .mxchat-save-button,
1485 .mxchat-intents-table .mxchat-edit-button,
1486 .mxchat-intents-table .mxchat-delete-all {
1487 width: 100%;
1488 margin: 0;
1489 }
1490
1491 /* Adjust output display */
1492 .mxchat-intents-table output {
1493 display: block;
1494 text-align: center;
1495 margin-top: 0.25rem;
1496 }
1497
1498 /* Additional spacing for forms */
1499 .mxchat-intents-table form {
1500 margin: 0;
1501 }
1502 }
1503
1504 /* Stats Grid */
1505 .mxchat-stats-grid {
1506 display: grid;
1507 grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
1508 gap: 20px;
1509 margin-bottom: 30px;
1510 margin-top: 20px;
1511 }
1512
1513 .mxchat-stat-card {
1514 background: white;
1515 padding: 20px;
1516 border-radius: 10px;
1517 box-shadow: 0 2px 4px rgba(0,0,0,0.1);
1518 display: flex;
1519 align-items: center;
1520 gap: 15px;
1521 }
1522
1523 .stat-icon {
1524 font-size: 24px;
1525 background: #f0f0f1;
1526 width: 50px;
1527 height: 50px;
1528 display: flex;
1529 align-items: center;
1530 justify-content: center;
1531 border-radius: 10px;
1532 }
1533
1534 .stat-content {
1535 display: flex;
1536 flex-direction: column;
1537 }
1538
1539 .stat-value {
1540 font-size: 24px;
1541 font-weight: bold;
1542 color: #1d2327;
1543 }
1544
1545 .stat-label {
1546 color: #50575e;
1547 font-size: 14px;
1548 }
1549
1550 /* Controls Section */
1551 .mxchat-controls-wrapper {
1552 background: white;
1553 padding: 20px;
1554 border-radius: 10px;
1555 box-shadow: 0 2px 4px rgba(0,0,0,0.1);
1556 margin-bottom: 20px;
1557 display: flex;
1558 justify-content: space-between;
1559 align-items: center;
1560 flex-wrap: wrap;
1561 gap: 15px;
1562 }
1563
1564 .mxchat-controls {
1565 display: flex;
1566 gap: 15px;
1567 align-items: center;
1568 }
1569
1570 .mxchat-search-box input {
1571 padding: 8px 12px;
1572 border-radius: 5px;
1573 border: 1px solid #dcdcde;
1574 width: 300px;
1575 }
1576
1577 /* Select/Delete Buttons */
1578 .mxchat-select-button {
1579 display: flex;
1580 align-items: center;
1581 gap: 8px;
1582 padding: 8px 16px;
1583 background: #fff;
1584 border: 1px solid #0073aa;
1585 border-radius: 4px;
1586 color: #0073aa;
1587 cursor: pointer;
1588 transition: all 0.2s ease;
1589 }
1590
1591 .mxchat-select-button:hover {
1592 background: #f0f7ff;
1593 }
1594
1595 .mxchat-select-button.selected {
1596 background: #0073aa;
1597 color: #fff;
1598 }
1599
1600 .mxchat-select-button .dashicons {
1601 font-size: 18px;
1602 width: 18px;
1603 height: 18px;
1604 transition: transform 0.2s ease;
1605 }
1606
1607 .mxchat-select-button.selected .dashicons {
1608 transform: scale(1.2);
1609 }
1610
1611 .delete-chats-button {
1612 display: flex !important;
1613 align-items: center;
1614 gap: 8px;
1615 background: #dc3232 !important;
1616 color: #fff !important;
1617 border: none !important;
1618 padding: 8px 16px !important;
1619 border-radius: 4px !important;
1620 cursor: pointer;
1621 transition: all 0.2s ease !important;
1622 }
1623
1624 .delete-chats-button:hover {
1625 background: #b32d2e !important;
1626 }
1627
1628 .delete-chats-button .dashicons {
1629 font-size: 18px;
1630 width: 18px;
1631 height: 18px;
1632 }
1633
1634 /* Transcript Grid */
1635 .mxchat-transcript {
1636 display: grid;
1637 grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
1638 gap: 20px;
1639 }
1640
1641 /* Session Cards */
1642 .mxchat-session {
1643 background: white;
1644 border-radius: 10px;
1645 box-shadow: 0 2px 4px rgba(0,0,0,0.1);
1646 overflow: hidden;
1647 border: 1px solid #dcdcde;
1648 display: flex;
1649 flex-direction: column;
1650 }
1651
1652 .mxchat-session-header {
1653 background: #f0f0f1;
1654 padding: 15px;
1655 border-bottom: 1px solid #dcdcde;
1656 }
1657
1658 .mxchat-messages {
1659 padding: 15px;
1660 max-height: 400px;
1661 overflow-y: auto;
1662 flex-grow: 1;
1663 overflow-x: hidden;
1664 }
1665
1666 /* Message Styling */
1667 .mxchat-message {
1668 margin-bottom: 15px;
1669 max-width: 85%;
1670 }
1671
1672 .mxchat-message.user-message {
1673 margin-left: auto;
1674 }
1675
1676 .mxchat-message-content {
1677 padding: 10px 15px;
1678 border-radius: 15px;
1679 margin: 5px 0;
1680 }
1681
1682 .user-message .mxchat-message-content {
1683 background: #0073aa;
1684 color: white;
1685 border-radius: 18px 0 18px 18px;
1686 }
1687
1688 .bot-message .mxchat-message-content {
1689 background: #f0f0f1;
1690 border-radius: 0 18px 18px;
1691 }
1692
1693 .mxchat-timestamp {
1694 font-size: 12px;
1695 color: #50575e;
1696 }
1697
1698 /* Responsive Design */
1699 @media (max-width: 782px) {
1700 .mxchat-controls-wrapper {
1701 flex-direction: column;
1702 align-items: stretch;
1703 }
1704
1705 .mxchat-controls {
1706 flex-direction: column;
1707 width: 100%;
1708 }
1709
1710 .mxchat-search-box input {
1711 width: 100%;
1712 }
1713
1714 .mxchat-transcript {
1715 grid-template-columns: 1fr;
1716 }
1717
1718 .mxchat-select-button,
1719 .delete-chats-button {
1720 width: 100%;
1721 justify-content: center;
1722 }
1723 }
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740 /* Form Table Layout */
1741 .form-table {
1742 border-collapse: separate;
1743 border-spacing: 0 20px;
1744 margin-top: -20px; /* Compensate for border-spacing */
1745 width: 100%;
1746 }
1747
1748 .form-table th {
1749 padding: 20px 10px 20px 0;
1750 width: 200px;
1751 vertical-align: top;
1752 font-weight: 600;
1753 color: #1d2327;
1754 }
1755
1756 .form-table td {
1757 padding: 15px 10px;
1758 vertical-align: top;
1759 }
1760
1761 /* Input Styling */
1762 .form-table input[type="text"],
1763 .form-table input[type="password"],
1764 .form-table textarea,
1765 .form-table select {
1766 width: 100%;
1767 max-width: 500px;
1768 padding: 8px 12px;
1769 border: 1px solid #dcdcde;
1770 border-radius: 4px;
1771 background-color: #fff;
1772 transition: all 0.2s ease;
1773 }
1774
1775 .form-table input[type="text"]:focus,
1776 .form-table input[type="password"]:focus,
1777 .form-table textarea:focus,
1778 .form-table select:focus {
1779 border-color: #2271b1;
1780 box-shadow: 0 0 0 1px #2271b1;
1781 outline: none;
1782 }
1783
1784 /* Range Input Styling */
1785 input[type="range"] {
1786 -webkit-appearance: none;
1787 width: 200px;
1788 height: 4px;
1789 background: #dcdcde;
1790 border-radius: 2px;
1791 vertical-align: middle;
1792 }
1793
1794 input[type="range"]::-webkit-slider-thumb {
1795 -webkit-appearance: none;
1796 height: 16px;
1797 width: 16px;
1798 border-radius: 50%;
1799 background: #2271b1;
1800 cursor: pointer;
1801 transition: all 0.2s ease;
1802 }
1803
1804 input[type="range"]::-webkit-slider-thumb:hover {
1805 transform: scale(1.1);
1806 }
1807
1808 #mxchat_threshold_value {
1809 display: inline-block;
1810 padding: 4px 8px;
1811 background: #2271b1;
1812 color: white;
1813 border-radius: 4px;
1814 margin-left: 10px;
1815 font-size: 12px;
1816 min-width: 30px;
1817 text-align: center;
1818 }
1819
1820 /* Toggle Switch */
1821 .toggle-switch {
1822 position: relative;
1823 display: inline-block;
1824 width: 50px;
1825 height: 24px;
1826 }
1827
1828 .toggle-switch input {
1829 opacity: 0;
1830 width: 0;
1831 height: 0;
1832 }
1833
1834 .slider {
1835 position: absolute;
1836 cursor: pointer;
1837 top: 0;
1838 left: 0;
1839 right: 0;
1840 bottom: 0;
1841 background-color: #ccc;
1842 transition: .4s;
1843 border-radius: 24px;
1844 }
1845
1846 .slider:before {
1847 position: absolute;
1848 content: "";
1849 height: 18px;
1850 width: 18px;
1851 left: 3px;
1852 bottom: 3px;
1853 background-color: white;
1854 transition: .4s;
1855 border-radius: 50%;
1856 }
1857
1858 input:checked + .slider {
1859 background-color: #2271b1;
1860 }
1861
1862 input:checked + .slider:before {
1863 transform: translateX(26px);
1864 }
1865
1866 /* Description Text */
1867 .description {
1868 margin-top: 8px;
1869 color: #646970;
1870 font-style: italic;
1871 font-size: 13px;
1872 }
1873
1874 /* Show/Hide Password Button */
1875 button[id^="toggleApiKey"],
1876 button[id^="toggleXaiKey"],
1877 button[id^="toggleClaudeKey"] {
1878 margin-left: 10px;
1879 padding: 4px 12px;
1880 background: #f0f0f1;
1881 border: 1px solid #c3c4c7;
1882 border-radius: 3px;
1883 cursor: pointer;
1884 transition: all 0.2s ease;
1885 }
1886
1887 button[id^="toggleApiKey"]:hover,
1888 button[id^="toggleXaiKey"]:hover,
1889 button[id^="toggleClaudeKey"]:hover {
1890 background: #e5e5e5;
1891 }
1892
1893 /* Additional Questions Section */
1894 .mxchat-question-row {
1895 display: flex;
1896 gap: 10px;
1897 margin-bottom: 10px;
1898 align-items: center;
1899 }
1900
1901 .mxchat-question-row input {
1902 flex: 1;
1903 }
1904
1905 .mxchat-remove-question,
1906 .mxchat-add-question {
1907 padding: 4px 12px !important;
1908 height: auto !important;
1909 }
1910
1911 .mxchat-remove-question {
1912 background: #dc3232 !important;
1913 color: white !important;
1914 border: none !important;
1915 }
1916
1917 .mxchat-add-question {
1918 background: #2271b1 !important;
1919 color: white !important;
1920 border: none !important;
1921 margin-top: 10px;
1922 }
1923
1924 /* Pro Feature Wrapper */
1925 .pro-feature-wrapper {
1926 position: relative;
1927 }
1928
1929 .pro-feature-wrapper.inactive {
1930 opacity: 0.7;
1931 }
1932
1933 /* Responsive Design */
1934 @media screen and (max-width: 782px) {
1935 .form-table td {
1936 padding-left: 0;
1937 }
1938
1939 .form-table input[type="text"],
1940 .form-table input[type="password"],
1941 .form-table textarea,
1942 .form-table select {
1943 max-width: 100%;
1944 }
1945
1946 .form-table th {
1947 padding-bottom: 5px;
1948 }
1949
1950 .mxchat-question-row {
1951 flex-direction: column;
1952 gap: 5px;
1953 }
1954
1955 input[type="range"] {
1956 width: 100%;
1957 max-width: 300px;
1958 }
1959 }
1960
1961 /* Section Headers */
1962 .mxchat-tab-content h2 {
1963 font-size: 1.5em;
1964 padding-bottom: 15px;
1965 margin-bottom: 25px;
1966 border-bottom: 2px solid #f0f0f1;
1967 color: #1d2327;
1968 }
1969
1970 /* Grouped Settings */
1971 .form-table tr:not(:last-child) {
1972 border-bottom: 1px solid #f0f0f1;
1973 }
1974
1975 /* Show/Hide Button - Universal Selector for all toggle buttons */
1976 button[id^="toggle"] {
1977 padding: 8px 16px;
1978 background: #f0f0f1;
1979 border: 1px solid #dcdcde;
1980 border-radius: 4px;
1981 cursor: pointer;
1982 color: #1d2327;
1983 font-size: 13px;
1984 font-weight: 500;
1985 transition: all 0.2s ease;
1986 white-space: nowrap;
1987 height: 36px;
1988 min-width: 80px;
1989 margin-left: 10px;
1990 }
1991
1992 /* Specific selectors for backward compatibility */
1993 button[id^="toggleApiKey"],
1994 button[id^="toggleXaiApiKey"],
1995 button[id^="toggleClaudeApiKey"],
1996 button[id^="toggleWooCommerceSecretVisibility"],
1997 button[id^="toggleBraveApiKeyVisibility"],
1998 button[id^="toggleLoopsApiKeyVisibility"],
1999 button[id^="toggleWebhookUrlVisibility"],
2000 button[id^="toggleSecretKeyVisibility"],
2001 button[id^="toggleBotTokenVisibility"] {
2002 padding: 8px 16px;
2003 background: #f0f0f1;
2004 border: 1px solid #dcdcde;
2005 border-radius: 4px;
2006 cursor: pointer;
2007 color: #1d2327;
2008 font-size: 13px;
2009 font-weight: 500;
2010 transition: all 0.2s ease;
2011 white-space: nowrap;
2012 height: 36px;
2013 min-width: 80px;
2014 margin-left: 10px;
2015 }
2016
2017 /* Hover state for all toggle buttons */
2018 button[id^="toggle"]:hover {
2019 background: #e5e5e5;
2020 border-color: #c3c4c7;
2021 }
2022
2023 /* Active state for all toggle buttons */
2024 button[id^="toggle"]:active {
2025 background: #dcdcde;
2026 border-color: #c3c4c7;
2027 transform: translateY(1px);
2028 }
2029
2030 /* Responsive Design */
2031 @media screen and (max-width: 782px) {
2032 .pro-feature-wrapper {
2033 flex-wrap: wrap;
2034 }
2035
2036 /* Make all toggle buttons full width on mobile */
2037 button[id^="toggle"] {
2038 width: 100%;
2039 margin-left: 0;
2040 margin-top: 10px;
2041 }
2042 .mxchat-remove-question {
2043 width: 100%;
2044 }
2045 }
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057 .mxchat-flex-section h2 {
2058 margin: 0 0 1rem;
2059 padding-bottom: 0.5rem;
2060 border-bottom: 1px solid #eee;
2061 }
2062
2063 .mxchat-sync-settings,
2064 .mxchat-import-section {
2065 flex: 1;
2066 }
2067
2068 .mxchat-toggle-group {
2069 display: flex;
2070 flex-direction: column;
2071 gap: 0.75rem;
2072 }
2073
2074 .mxchat-toggle-container {
2075 display: flex;
2076 align-items: center;
2077 gap: 0.75rem;
2078 }
2079
2080 .mxchat-toggle-switch {
2081 position: relative;
2082 display: inline-block;
2083 width: 44px;
2084 height: 22px;
2085 }
2086
2087 .mxchat-toggle-slider {
2088 position: absolute;
2089 cursor: pointer;
2090 top: 0;
2091 left: 0;
2092 right: 0;
2093 bottom: 0;
2094 background-color: #ccc;
2095 transition: .4s;
2096 border-radius: 22px;
2097 }
2098
2099 .mxchat-toggle-slider:before {
2100 position: absolute;
2101 content: "";
2102 height: 18px;
2103 width: 18px;
2104 left: 2px;
2105 bottom: 2px;
2106 background-color: white;
2107 transition: .4s;
2108 border-radius: 50%;
2109 }
2110
2111 input:checked + .mxchat-toggle-slider {
2112 background-color: #2196F3;
2113 }
2114
2115 input:checked + .mxchat-toggle-slider:before {
2116 transform: translateX(22px);
2117 }
2118
2119 .mxchat-url-input-group {
2120 display: flex;
2121 gap: 0.5rem;
2122 }
2123
2124 .mxchat-url-input-group input[type="url"] {
2125 flex: 1;
2126 }
2127
2128 .mxchat-status-section {
2129 margin-top: 1rem;
2130 padding-top: 1rem;
2131 border-top: 1px solid #eee;
2132 }
2133
2134 .mxchat-process-status {
2135 background: #f8f9fa;
2136 border-radius: 4px;
2137 padding: 1rem;
2138 margin-bottom: 1rem;
2139 }
2140
2141 .status-header {
2142 display: flex;
2143 justify-content: space-between;
2144 align-items: center;
2145 margin-bottom: 0.5rem;
2146 }
2147
2148 .status-header h4 {
2149 margin: 0;
2150 }
2151
2152 .progress-bar {
2153 background: #eee;
2154 border-radius: 4px;
2155 height: 8px;
2156 margin-bottom: 0.5rem;
2157 }
2158
2159 .progress {
2160 background: #2196F3;
2161 height: 100%;
2162 border-radius: 4px;
2163 transition: width 0.3s ease;
2164 }
2165
2166 .status-details {
2167 display: flex;
2168 justify-content: space-between;
2169 font-size: 0.9em;
2170 color: #666;
2171 }
2172
2173 .save-button-settings {
2174 background: #3498db !important;
2175 color: #fff !important;
2176 border-radius: 20px !important;
2177 padding: 0px 20px !important;
2178 font-size: 1rem !important;
2179 font-weight: 700 !important;
2180 text-decoration: none !important;
2181 transition: all .2s !important;
2182 box-shadow: 4px 4px #2980b9 !important;
2183 cursor: pointer !important;
2184 margin-top: 10px !important;
2185 border: none !important;
2186 margin-bottom: 10px !important;
2187 }
2188
2189 .mxchat-import-description {
2190 margin-bottom: 1rem;
2191 }
2192
2193 .description-text {
2194 margin: 0 0 0.5rem;
2195 color: #666;
2196 }
2197
2198 .import-options {
2199 margin: 0 0 1rem;
2200 padding-left: 1.5rem;
2201 }
2202
2203 .import-options li {
2204 margin-bottom: 0.25rem;
2205 color: #666;
2206 }
2207
2208 .import-options strong {
2209 color: #333;
2210 }
2211
2212 .import-section {
2213 margin-top: 50px;
2214 }
2215
2216
2217 /* Mobile Responsiveness */
2218 @media screen and (max-width: 782px) {
2219 .mxchat-settings-row {
2220 flex-direction: column;
2221 }
2222 .mxchat-url-input-group input[type="submit"] {
2223 width: 100%;
2224 }
2225 }
2226
2227
2228
2229
2230
2231 /* Feedback container for saving indicator */
2232 .feedback-container {
2233 display: inline-flex;
2234 align-items: right;
2235 margin-left: 10px;
2236 position: relative;
2237 z-index: 2;
2238 }
2239
2240 /* Spinner animation */
2241 .saving-spinner {
2242 width: 16px;
2243 height: 16px;
2244 border: 2px solid #ccc;
2245 border-top-color: #007cba; /* WordPress blue */
2246 border-radius: 50%;
2247 animation: spin 0.6s linear infinite;
2248 }
2249
2250 /* Checkmark icon */
2251 .success-icon {
2252 display: none;
2253 color: #28a745; /* Green for success */
2254 font-size: 16px;
2255 font-weight: bold;
2256 margin-left: 5px;
2257 animation: fadeInOut 1.5s ease-in-out forwards;
2258 }
2259
2260 /* Spinner animation keyframes */
2261 @keyframes spin {
2262 to {
2263 transform: rotate(360deg);
2264 }
2265 }
2266
2267 /* Success icon fade animation */
2268 @keyframes fadeInOut {
2269 0% {
2270 opacity: 0;
2271 }
2272 20% {
2273 opacity: 1;
2274 }
2275 80% {
2276 opacity: 1;
2277 }
2278 100% {
2279 opacity: 0;
2280 }
2281 }
2282
2283
2284 .slider-container {
2285 display: flex;
2286 align-items: center;
2287 gap: 10px;
2288 margin-bottom: 10px;
2289 }
2290
2291 .range-slider {
2292 flex-grow: 1;
2293 max-width: 300px;
2294 }
2295
2296 .range-value {
2297 min-width: 30px;
2298 text-align: center;
2299 }
2300
2301 /* Optional: Style the range input */
2302 input[type="range"] {
2303 -webkit-appearance: none;
2304 width: 100%;
2305 height: 8px;
2306 background: #ddd;
2307 border-radius: 4px;
2308 outline: none;
2309 }
2310
2311 input[type="range"]::-webkit-slider-thumb {
2312 -webkit-appearance: none;
2313 width: 16px;
2314 height: 16px;
2315 background: #2271b1;
2316 border-radius: 50%;
2317 cursor: pointer;
2318 }
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336 /* Container Styles */
2337 .mxchat-import-container {
2338 background: #fff;
2339 padding: 20px;
2340 border: 1px solid #e1e1e1;
2341 border-radius: 10px;
2342 box-shadow: 0 2px 4px rgba(0, 0, 0, .1);
2343 }
2344
2345
2346
2347 /* Tabs Navigation */
2348 .mxchat-tabs {
2349 display: flex;
2350 border-bottom: 2px solid #e1e1e1;
2351 margin-bottom: 20px;
2352 }
2353 .mxchat-tab-button {
2354 padding: 10px 20px;
2355 cursor: pointer;
2356 background: transparent;
2357 border: none;
2358 border-bottom: 2px solid transparent;
2359 transition: all 0.3s ease;
2360 font-size: 16px;
2361 color: #333;
2362 }
2363 .mxchat-tab-button:hover,
2364 .mxchat-tab-button:focus {
2365 background: #f9f9f9;
2366 }
2367 .mxchat-tab-button.active {
2368 border-bottom: 2px solid #0073aa;
2369 font-weight: bold;
2370 color: #0073aa;
2371 }
2372
2373
2374
2375 /* Flex Container for Default DB Tab */
2376 .mxchat-flex-container {
2377 display: flex;
2378 gap: 20px;
2379 flex-wrap: wrap;
2380 }
2381 .mxchat-sync-column,
2382 .mxchat-import-column {
2383 flex: 1;
2384 min-width: 300px;
2385 }
2386
2387 /* Section Headings and Descriptions */
2388 .mxchat-section h3 {
2389 font-size: 18px;
2390 margin-bottom: 10px;
2391 color: #0073aa;
2392 }
2393 .mxchat-description {
2394 font-size: 14px;
2395 margin-bottom: 15px;
2396 color: #555;
2397 }
2398
2399 /* Toggle Switches */
2400 .mxchat-toggle-container {
2401 display: flex;
2402 align-items: center;
2403 margin-bottom: 15px;
2404 }
2405 .mxchat-toggle-switch {
2406 position: relative;
2407 display: inline-block;
2408 width: 50px;
2409 height: 24px;
2410 margin-right: 10px;
2411 }
2412 .mxchat-toggle-switch input {
2413 opacity: 0;
2414 width: 0;
2415 height: 0;
2416 }
2417 .mxchat-toggle-slider {
2418 position: absolute;
2419 cursor: pointer;
2420 top: 0;
2421 left: 0;
2422 right: 0;
2423 bottom: 0;
2424 background-color: #ccc;
2425 transition: 0.4s;
2426 border-radius: 24px;
2427 }
2428 .mxchat-toggle-switch input:checked + .mxchat-toggle-slider {
2429 background-color: #212121;
2430 }
2431 .mxchat-toggle-slider:before {
2432 position: absolute;
2433 content: "";
2434 height: 18px;
2435 width: 18px;
2436 left: 3px;
2437 bottom: 3px;
2438 background-color: white;
2439 transition: 0.4s;
2440 border-radius: 50%;
2441 }
2442 .mxchat-toggle-switch input:checked + .mxchat-toggle-slider:before {
2443 transform: translateX(26px);
2444 }
2445 .mxchat-toggle-label {
2446 font-size: 14px;
2447 color: #333;
2448 }
2449
2450 /* Form Groups */
2451 .mxchat-form-group {
2452 margin-bottom: 15px;
2453 }
2454 .mxchat-form-group label {
2455 display: block;
2456 margin-bottom: 5px;
2457 font-weight: bold;
2458 color: #333;
2459 }
2460
2461 .mxchat-form-group .description {
2462 font-size: 12px;
2463 color: #777;
2464 }
2465
2466 /* URL and Pinecone Input Groups */
2467 .mxchat-url-input-group,
2468 .mxchat-pinecone-input-group {
2469 display: flex;
2470 gap: 0px;
2471 margin-bottom: 15px;
2472 }
2473 .mxchat-url-input-group input[type="url"],
2474 .mxchat-pinecone-input-group input[type="url"] {
2475 flex: 1;
2476 padding: 8px;
2477 border: 1px solid #ccc;
2478 border-radius: 4px 0px 0px 4px;
2479 }
2480 .mxchat-url-input-group input[type="submit"],
2481 .mxchat-pinecone-input-group input[type="submit"] {
2482 padding: 8px 16px;
2483 background-color: #0073aa;
2484 color: #fff;
2485 border: none;
2486 border-radius: 4px;
2487 cursor: pointer;
2488 transition: background-color 0.3s ease;
2489 }
2490 .mxchat-url-input-group input[type="submit"]:hover,
2491 .mxchat-pinecone-input-group input[type="submit"]:hover {
2492 background-color: #005177;
2493 }
2494
2495 /* Submit Wrapper */
2496 .mxchat-submit-wrapper {
2497 margin-top: 20px;
2498 }
2499
2500 /* Import & Pinecone Options List */
2501 .import-options,
2502 .pinecone-options {
2503 margin: 10px 0 15px 20px;
2504 color: #555;
2505 }
2506 .import-options li,
2507 .pinecone-options li {
2508 margin-bottom: 5px;
2509 }
2510
2511 /* Spinner Styles */
2512 .mxchat-spinner,
2513 .mxchat-pinecone-spinner {
2514 border: 4px solid #f3f3f3;
2515 border-top: 4px solid #0073aa;
2516 border-radius: 50%;
2517 width: 30px;
2518 height: 30px;
2519 animation: spin 1s linear infinite;
2520 margin: 10px auto;
2521 }
2522 @keyframes spin {
2523 0% { transform: rotate(0deg); }
2524 100% { transform: rotate(360deg); }
2525 }
2526
2527 /* Processing Status Messages */
2528 .mxchat-process-status,
2529 .mxchat-pinecone-status {
2530 border: 1px solid #0073aa;
2531 background-color: #f1f8ff;
2532 padding: 10px;
2533 border-radius: 4px;
2534 margin-top: 15px;
2535 }
2536 .mxchat-process-status h3,
2537 .mxchat-pinecone-status h3 {
2538 margin-top: 0;
2539 font-size: 16px;
2540 color: #0073aa;
2541 }
2542 .mxchat-process-status p,
2543 .mxchat-pinecone-status p {
2544 margin: 5px 0;
2545 font-size: 14px;
2546 color: #333;
2547 }
2548
2549 /* Responsive Adjustments */
2550 @media (max-width: 768px) {
2551 .mxchat-flex-container {
2552 flex-direction: column;
2553 }
2554 }
2555
2556
2557
2558 .button.button-primary.pinecone-submit {
2559 box-shadow: none;
2560 border-radius: 0px 4px 4px 0px;
2561 background: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1);
2562 margin-bottom: 0px;
2563 }
2564
2565 .button.button-primary.pinecone-submit:hover {
2566 opacity: .8;
2567 background: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1);
2568
2569 }
2570
2571 /* Pro Hero Section */
2572 body.wp-admin .mxchat-pro-hero {
2573 text-align: center;
2574 padding: 3.5rem 2rem;
2575 position: relative;
2576 background: #212121;
2577 border-bottom: 4px solid transparent;
2578 border-image: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1);
2579 border-image-slice: 1;
2580 }
2581
2582 body.wp-admin .mxchat-pro-hero::before {
2583 content: '';
2584 position: absolute;
2585 top: 0;
2586 left: 0;
2587 width: 100%;
2588 height: 100%;
2589 background: radial-gradient(
2590 circle at center,
2591 rgba(250, 115, 230, 0.08) 0%,
2592 rgba(120, 115, 245, 0.08) 50%,
2593 rgba(58, 201, 209, 0.08) 100%
2594 );
2595 z-index: 1;
2596 }
2597
2598 body.wp-admin .mxchat-pro-hero::after {
2599 content: '';
2600 position: absolute;
2601 bottom: -20px;
2602 left: 0;
2603 width: 100%;
2604 height: 20px;
2605 background: linear-gradient(180deg, rgba(33, 33, 33, 0.2) 0%, transparent 100%);
2606 z-index: 2;
2607 }
2608
2609 body.wp-admin .pro-title {
2610 font-size: 3.5rem;
2611 margin: 0 0 1.5rem;
2612 line-height: 1.2;
2613 color: white;
2614 position: relative;
2615 z-index: 2;
2616 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
2617 }
2618
2619 body.wp-admin .pro-gradient-text {
2620 font-weight: 700;
2621 background: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1);
2622 -webkit-background-clip: text;
2623 -webkit-text-fill-color: transparent;
2624 display: inline-block;
2625 }
2626
2627 body.wp-admin .pro-subtitle {
2628 font-size: 1.25rem;
2629 color: rgba(255, 255, 255, 0.9);
2630 max-width: 600px;
2631 margin: 0 auto;
2632 position: relative;
2633 z-index: 2;
2634 line-height: 1.6;
2635 }
2636
2637 /* Responsive Design */
2638 @media (max-width: 768px) {
2639 body.wp-admin .pro-title {
2640 font-size: 2.1rem;
2641 margin-bottom: 1rem;
2642 }
2643
2644 body.wp-admin .mxchat-pro-hero {
2645 padding: 2.5rem 1.5rem;
2646 }
2647
2648 body.wp-admin .pro-subtitle {
2649 font-size: 1.1rem;
2650 }
2651 }
2652
2653
2654 /* Form Container Styles */
2655 body.wp-admin .wrap.mxchat-admin-activation .mxchat-pro-form-container {
2656 max-width: 600px;
2657 margin: 2rem auto;
2658 background: white;
2659 padding: 2rem;
2660 border-radius: 12px;
2661 box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
2662 }
2663
2664 /* Form Table Styles */
2665 body.wp-admin .wrap.mxchat-admin-activation .mxchat-pro-form .form-table {
2666 margin: 0;
2667 border-collapse: separate;
2668 border-spacing: 0 1rem;
2669 }
2670
2671 body.wp-admin .wrap.mxchat-admin-activation .mxchat-pro-form .form-table th {
2672 padding: 0 1rem 0 0;
2673 width: 140px;
2674 font-weight: 600;
2675 color: #212121;
2676 font-size: 15px;
2677 vertical-align: middle;
2678 }
2679
2680 /* Input Field Styles */
2681 body.wp-admin .wrap.mxchat-admin-activation .mxchat-pro-input {
2682 width: 100%;
2683 padding: 10px 16px;
2684 border: 2px solid #e0e0e0;
2685 border-radius: 8px;
2686 font-size: 15px;
2687 transition: all 0.3s ease;
2688 box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02);
2689 }
2690
2691 body.wp-admin .wrap.mxchat-admin-activation .mxchat-pro-input:focus {
2692 border-color: #7873f5;
2693 box-shadow: 0 0 0 3px rgba(120, 115, 245, 0.1);
2694 outline: none;
2695 }
2696
2697 /* Button Container and Button Styles */
2698 body.wp-admin .wrap.mxchat-admin-activation .mxchat-pro-button-container {
2699 margin-top: 2rem;
2700 text-align: right;
2701 display: flex;
2702 align-items: center;
2703 justify-content: flex-end;
2704 gap: 1rem;
2705 }
2706
2707 body.wp-admin .wrap.mxchat-admin-activation .mxchat-pro-button {
2708 background: linear-gradient(135deg, #fa73e6, #7873f5);
2709 border: none;
2710 padding: 12px 24px;
2711 border-radius: 8px;
2712 color: white;
2713 font-weight: 600;
2714 font-size: 15px;
2715 cursor: pointer;
2716 transition: all 0.3s ease;
2717 text-shadow: none;
2718 box-shadow: 0 4px 12px rgba(120, 115, 245, 0.2);
2719 height: auto;
2720 line-height: 1.4;
2721 }
2722
2723 body.wp-admin .wrap.mxchat-admin-activation .mxchat-pro-button:hover {
2724 transform: translateY(-2px);
2725 box-shadow: 0 6px 16px rgba(120, 115, 245, 0.3);
2726 }
2727
2728 /* Error Notice Styles */
2729 body.wp-admin .wrap.mxchat-admin-activation .error.notice {
2730 margin: 2rem auto;
2731 max-width: 600px;
2732 border-left-color: #dc3232;
2733 background: #fff;
2734 border-radius: 4px;
2735 box-shadow: 0 2px 8px rgba(220, 50, 50, 0.1);
2736 }
2737
2738 /* License Status Styles */
2739 body.wp-admin .wrap.mxchat-admin-activation .mxchat-pro-status {
2740 max-width: 600px;
2741 margin: 2rem;
2742 padding: 1.5rem;
2743 background: white;
2744 border-radius: 12px;
2745 box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
2746 }
2747
2748 body.wp-admin .wrap.mxchat-admin-activation .mxchat-pro-status h3 {
2749 margin: 0;
2750 font-size: 15px;
2751 color: #212121;
2752 display: flex;
2753 align-items: center;
2754 gap: 0.5rem;
2755 }
2756
2757 body.wp-admin .wrap.mxchat-admin-activation .mxchat-status-badge {
2758 padding: 6px 12px;
2759 border-radius: 20px;
2760 font-size: 13px;
2761 font-weight: 600;
2762 }
2763
2764 body.wp-admin .wrap.mxchat-admin-activation .mxchat-status-badge.active {
2765 background: #e8f5e9;
2766 color: #2e7d32;
2767 }
2768
2769 body.wp-admin .wrap.mxchat-admin-activation .mxchat-status-badge.inactive {
2770 background: #fff3e0;
2771 color: #ef6c00;
2772 }
2773
2774 /* Spinner Styles */
2775 body.wp-admin .wrap.mxchat-admin-activation .mxchat-activation-spinner {
2776 width: 20px;
2777 height: 20px;
2778 border: 2px solid rgba(120, 115, 245, 0.3);
2779 border-radius: 50%;
2780 border-top-color: #7873f5;
2781 animation: spin 1s linear infinite;
2782 }
2783
2784 @keyframes spin {
2785 to {
2786 transform: rotate(360deg);
2787 }
2788 }
2789
2790 /* Responsive Adjustments */
2791 @media (max-width: 782px) {
2792 body.wp-admin .wrap.mxchat-admin-activation .mxchat-pro-form .form-table th {
2793 padding-bottom: 0.5rem;
2794 }
2795
2796 body.wp-admin .wrap.mxchat-admin-activation .form-table,
2797 body.wp-admin .wrap.mxchat-admin-activation .form-table tbody,
2798 body.wp-admin .wrap.mxchat-admin-activation .form-table tr,
2799 body.wp-admin .wrap.mxchat-admin-activation .form-table th,
2800 body.wp-admin .wrap.mxchat-admin-activation .form-table td {
2801 display: block;
2802 width: 100%;
2803 padding: 0;
2804 }
2805
2806 body.wp-admin .wrap.mxchat-admin-activation .form-table td {
2807 margin-bottom: 1.5rem;
2808 }
2809 }
2810
2811
2812 .video-tutorials-section {
2813 max-width: 1200px;
2814 margin: 0 auto;
2815 padding: 2rem 0;
2816 }
2817
2818 .section-intro {
2819 text-align: center;
2820 margin-bottom: 2rem;
2821 font-size: 1.1rem;
2822 }
2823
2824 .tutorial-grid {
2825 display: grid;
2826 grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
2827 gap: 2rem;
2828 margin-bottom: 3rem;
2829 }
2830
2831 .tutorial-item {
2832 border: 1px solid #e0e0e0;
2833 border-radius: 8px;
2834 padding: 1.5rem;
2835 box-shadow: 0 2px 5px rgba(0,0,0,0.05);
2836 transition: transform 0.3s ease, box-shadow 0.3s ease;
2837 background-color: #fff;
2838 }
2839
2840 .tutorial-item:hover {
2841 transform: translateY(-5px);
2842 box-shadow: 0 5px 15px rgba(0,0,0,0.1);
2843 }
2844
2845 .tutorial-item h3 {
2846 margin-top: 0;
2847 font-size: 1.2rem;
2848 color: #333;
2849 border-bottom: 2px solid #f0f0f0;
2850 padding-bottom: 0.75rem;
2851 margin-bottom: 1rem;
2852 }
2853
2854 .video-description p {
2855 margin-bottom: 1rem;
2856 color: #555;
2857 }
2858
2859 .video-description small {
2860 color: #888;
2861 font-style: italic;
2862 }
2863
2864 .video-link {
2865 display: inline-flex;
2866 align-items: center;
2867 text-decoration: none;
2868 color: #0073aa;
2869 font-weight: 500;
2870 margin-top: 0.5rem;
2871 padding: 0.5rem 1rem;
2872 border-radius: 4px;
2873 background-color: #f7f7f7;
2874 transition: background-color 0.2s ease;
2875 }
2876
2877 .video-link:hover {
2878 background-color: #e6f3fa;
2879 color: #004d74;
2880 }
2881
2882 .video-icon {
2883 margin-right: 0.5rem;
2884 display: inline-flex;
2885 color: #e62117;
2886 }
2887
2888 .support-section {
2889 margin-top: 3rem;
2890 padding-top: 2rem;
2891 border-top: 1px solid #e0e0e0;
2892 text-align: center;
2893 }
2894
2895 .support-content {
2896 max-width: 800px;
2897 margin: 0 auto;
2898 background-color: #f9f9f9;
2899 padding: 2rem;
2900 border-radius: 8px;
2901 }
2902
2903 .support-content p {
2904 margin-bottom: 1rem;
2905 font-size: 1.1rem;
2906 line-height: 1.6;
2907 }
2908
2909 .support-content a {
2910 color: #0073aa;
2911 font-weight: 500;
2912 text-decoration: none;
2913 padding: 0.2rem 0.4rem;
2914 border-radius: 3px;
2915 transition: background-color 0.2s;
2916 }
2917
2918 .support-content a:hover {
2919 background-color: #e6f3fa;
2920 text-decoration: underline;
2921 }
2922
2923 .api-info-item h4 {
2924 margin-top: 0;
2925 color: #333;
2926 margin-bottom: 1rem;
2927 }
2928
2929 @media (max-width: 768px) {
2930 .tutorial-grid {
2931 grid-template-columns: 1fr;
2932 }
2933
2934 .tutorial-item {
2935 padding: 1rem;
2936 }
2937
2938 .support-content {
2939 padding: 1.5rem;
2940 }
2941 }
2942
2943 /* Additional CSS for the main admin page */
2944
2945 /* Pro and Add-on notice messages */
2946 .mxchat-pro-notice,
2947 .mxchat-addon-notice {
2948 margin: 0;
2949 line-height: 1.6;
2950 color: #333;
2951 }
2952
2953 .mxchat-pro-notice a,
2954 .mxchat-addon-notice a {
2955 text-decoration: none;
2956 font-weight: 600;
2957 transition: color 0.2s ease;
2958 }
2959
2960 .mxchat-pro-notice a:hover,
2961 .mxchat-addon-notice a:hover {
2962 text-decoration: underline;
2963 color: #fff;
2964 }
2965
2966 /* Tutorial Grid & Items */
2967 .tutorial-grid {
2968 display: grid;
2969 grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
2970 gap: 24px;
2971 margin-top: 20px;
2972 }
2973
2974 .tutorial-item {
2975 background: #f8f9ff;
2976 border-radius: 12px;
2977 padding: 24px;
2978 transition: all 0.3s ease;
2979 border: 1px solid rgba(120, 115, 245, 0.1);
2980 }
2981
2982 .tutorial-item:hover {
2983 transform: translateY(-3px);
2984 box-shadow: 0 6px 20px rgba(120, 115, 245, 0.12);
2985 }
2986
2987 .tutorial-item h3 {
2988 margin-top: 0;
2989 margin-bottom: 16px;
2990 color: #333;
2991 font-size: 1.2rem;
2992 }
2993
2994 .video-description p {
2995 color: #666;
2996 font-size: 0.95rem;
2997 margin-bottom: 16px;
2998 }
2999
3000 .video-description small {
3001 color: #888;
3002 font-size: 0.85rem;
3003 font-style: italic;
3004 }
3005
3006 .video-link {
3007 display: inline-flex;
3008 align-items: center;
3009 gap: 8px;
3010 padding: 8px 16px;
3011 background: white;
3012 border-radius: 8px;
3013 text-decoration: none;
3014 color: #7873f5;
3015 font-weight: 600;
3016 font-size: 0.9rem;
3017 border: 1px solid rgba(120, 115, 245, 0.2);
3018 transition: all 0.2s ease;
3019 }
3020
3021 .video-link:hover {
3022 background: #eef0ff;
3023 color: #fa73e6;
3024 }
3025
3026 .video-icon {
3027 display: flex;
3028 align-items: center;
3029 justify-content: center;
3030 }
3031
3032 /* Support Section */
3033 .support-section {
3034 margin-top: 40px;
3035 padding: 24px;
3036 background: #f8f9ff;
3037 border-radius: 12px;
3038 border: 1px solid rgba(120, 115, 245, 0.1);
3039 }
3040
3041 .support-section h3 {
3042 margin-top: 0;
3043 color: #333;
3044 }
3045
3046 .support-content p {
3047 color: #666;
3048 margin-bottom: 12px;
3049 }
3050
3051 .support-content a {
3052 color: #7873f5;
3053 text-decoration: none;
3054 font-weight: 600;
3055 }
3056
3057 .support-content a:hover {
3058 color: #fa73e6;
3059 text-decoration: underline;
3060 }
3061
3062 /* Updated tab navigation */
3063 .mxchat-tabs {
3064 display: flex;
3065 gap: 2px;
3066 margin-bottom: 20px;
3067 border-bottom: 1px solid rgba(120, 115, 245, 0.1);
3068 }
3069
3070 .mxchat-tab-button {
3071 padding: 12px 24px;
3072 background: none;
3073 border: none;
3074 border-bottom: 2px solid transparent;
3075 color: #666;
3076 cursor: pointer;
3077 font-size: 14px;
3078 transition: all 0.2s ease;
3079 }
3080
3081 .mxchat-tab-button:hover {
3082 color: #7873f5;
3083 }
3084
3085 .mxchat-tab-button.active {
3086 color: #7873f5;
3087 border-bottom-color: #7873f5;
3088 }
3089
3090 /* Tab content */
3091 .mxchat-tab-content {
3092 display: none;
3093 }
3094
3095 .mxchat-tab-content.active {
3096 display: block;
3097 }
3098
3099
3100
3101
3102 /* Pro Notification Styling */
3103 .mxchat-pro-card {
3104 background: linear-gradient(90deg, #f8f9ff 0%, #f0f4ff 100%);
3105 border-left: 4px solid #6366f1;
3106 border-radius: 8px;
3107 box-shadow: 0 2px 10px rgba(99, 102, 241, 0.1);
3108 margin-bottom: 25px;
3109 overflow: hidden;
3110 }
3111
3112 .mxchat-pro-notification {
3113 display: flex;
3114 flex-direction: row;
3115 align-items: center;
3116 justify-content: space-between;
3117 padding: 20px 24px;
3118 }
3119
3120 @media (max-width: 768px) {
3121 .mxchat-pro-notification {
3122 flex-direction: column;
3123 text-align: center;
3124 gap: 15px;
3125 }
3126 }
3127
3128 .mxchat-pro-content {
3129 flex: 1;
3130 padding-right: 10px;
3131 }
3132
3133 .mxchat-pro-content h3 {
3134 margin-top: 0;
3135 margin-bottom: 8px;
3136 font-size: 18px;
3137 color: #4338ca;
3138 font-weight: 600;
3139 }
3140
3141 .mxchat-pro-content p {
3142 margin: 0;
3143 color: #4b5563;
3144 font-size: 14px;
3145 line-height: 1.5;
3146 }
3147
3148 .mxchat-pro-cta {
3149 display: flex;
3150 flex-direction: column;
3151 gap: 8px;
3152 min-width: 180px;
3153 }
3154
3155 .mxchat-button {
3156 display: inline-block;
3157 background: linear-gradient(90deg, #6366f1 0%, #8b5cf6 100%);
3158 color: white !important;
3159 font-weight: 600;
3160 padding: 10px 20px;
3161 border-radius: 6px;
3162 text-decoration: none !important;
3163 text-align: center;
3164 transition: all 0.2s ease;
3165 box-shadow: 0 2px 6px rgba(99, 102, 241, 0.3);
3166 }
3167
3168 .mxchat-button:hover {
3169 transform: translateY(-2px);
3170 box-shadow: 0 4px 12px rgba(99, 102, 241, 0.4);
3171 }
3172
3173 .mxchat-link {
3174 color: #6366f1 !important;
3175 text-decoration: none !important;
3176 text-align: center;
3177 font-size: 14px;
3178 padding: 4px;
3179 }
3180
3181 .mxchat-link:hover {
3182 text-decoration: underline !important;
3183 }
3184
3185
3186
3187
3188
3189
3190
3191 /* API Key field styles */
3192 .api-key-wrapper {
3193 margin-bottom: 15px;
3194 padding: 15px;
3195 border-radius: 5px;
3196 border-left: 4px solid #2271b1;
3197 background-color: #f0f6fc;
3198 transition: all 0.3s ease;
3199 }
3200
3201 /* Row-level visibility handling */
3202 tr.mxchat-setting-row {
3203 display: table-row;
3204 transition: all 0.3s ease;
3205 }
3206
3207 tr.mxchat-setting-row.highlighted {
3208 animation: highlight-row 1.5s ease;
3209 }
3210
3211 .api-key-wrapper input[type="password"] {
3212 margin-right: 10px;
3213 }
3214
3215 .api-key-wrapper button {
3216 background: #f6f7f7;
3217 border: 1px solid #c3c4c7;
3218 color: #50575e;
3219 cursor: pointer;
3220 border-radius: 3px;
3221 padding: 0 10px;
3222 height: 30px;
3223 line-height: 28px;
3224 font-size: 13px;
3225 }
3226
3227 .api-key-wrapper button:hover {
3228 background: #f0f0f1;
3229 }
3230
3231 .api-key-notice {
3232 margin-top: 8px !important;
3233 color: #1e1e1e;
3234 font-style: italic;
3235 }
3236
3237 @keyframes highlight-field {
3238 0% {
3239 background-color: #e5f5fa;
3240 }
3241 50% {
3242 background-color: #c7e8f3;
3243 }
3244 100% {
3245 background-color: #f0f6fc;
3246 }
3247 }
3248
3249 @keyframes highlight-row {
3250 0% { background-color: transparent; }
3251 50% { background-color: #e5f5fa; }
3252 100% { background-color: transparent; }
3253 }
3254
3255 /* Customize the look based on provider */
3256 .api-key-wrapper[data-provider="openai"] {
3257 border-left-color: #10a37f;
3258 }
3259
3260 .api-key-wrapper[data-provider="xai"] {
3261 border-left-color: #0077e6;
3262 }
3263
3264 .api-key-wrapper[data-provider="claude"] {
3265 border-left-color: #a065d5;
3266 }
3267
3268 .api-key-wrapper[data-provider="deepseek"] {
3269 border-left-color: #3b7fc4;
3270 }
3271
3272 .api-key-wrapper[data-provider="voyage"] {
3273 border-left-color: #ff6b00;
3274 }
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291 /* Add-on styling */
3292 .mxchat-addon-badge {
3293 display: inline-block;
3294 background: linear-gradient(135deg, #FF8C00, #FFA500);
3295 color: white;
3296 font-size: 10px;
3297 padding: 2px 6px;
3298 border-radius: 10px;
3299 margin-top: 5px;
3300 font-weight: 600;
3301 margin-left: 6px;
3302 }
3303
3304 .mxchat-addon-info {
3305 font-size: 11px;
3306 color: #666;
3307 margin-top: 8px;
3308 background: rgba(255, 140, 0, 0.1);
3309 padding: 4px 8px;
3310 border-radius: 4px;
3311 display: inline-block;
3312 }
3313
3314 .mxchat-action-type-card.not-installed {
3315 opacity: 0.8;
3316 border-style: dashed;
3317 background: rgba(255, 255, 255, 0.8);
3318 }
3319
3320 .mxchat-action-type-card.not-installed:hover {
3321 opacity: 1;
3322 border-color: #FF8C00;
3323 box-shadow: 0 4px 12px rgba(255, 140, 0, 0.1);
3324 }
3325
3326 /* Add-on Notice */
3327 .mxchat-addon-notice {
3328 position: fixed;
3329 top: 0;
3330 left: 0;
3331 width: 100%;
3332 height: 100%;
3333 background: rgba(0, 0, 0, 0.5);
3334 z-index: 100003;
3335 display: flex;
3336 align-items: center;
3337 justify-content: center;
3338 opacity: 0;
3339 visibility: hidden;
3340 transition: opacity 0.3s ease, visibility 0.3s ease;
3341 }
3342
3343 .mxchat-addon-notice.active {
3344 opacity: 1;
3345 visibility: visible;
3346 }
3347
3348 .mxchat-addon-notice-content {
3349 background: white;
3350 padding: 30px;
3351 border-radius: 16px;
3352 max-width: 400px;
3353 text-align: center;
3354 box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2);
3355 transform: translateY(-20px);
3356 transition: transform 0.3s ease;
3357 }
3358
3359 .mxchat-addon-notice.active .mxchat-addon-notice-content {
3360 transform: translateY(0);
3361 }
3362
3363 .mxchat-addon-notice-icon {
3364 font-size: 36px;
3365 margin-bottom: 15px;
3366 display: block;
3367 }
3368
3369 .mxchat-addon-notice h3 {
3370 margin: 0 0 10px 0;
3371 font-size: 20px;
3372 background: linear-gradient(135deg, #FF8C00, #FFA500);
3373 -webkit-background-clip: text;
3374 background-clip: text;
3375 -webkit-text-fill-color: transparent;
3376 display: inline-block;
3377 }
3378
3379 .mxchat-addon-notice p {
3380 margin: 0 0 20px 0;
3381 color: #666;
3382 }
3383
3384 .mxchat-addon-notice-buttons {
3385 display: flex;
3386 gap: 10px;
3387 justify-content: center;
3388 }
3389
3390
3391
3392
3393
3394 /* CSS for the custom post types accordion */
3395 .mxchat-settings-accordion {
3396 margin: 15px 0;
3397 border-radius: 4px;
3398 overflow: hidden;
3399 border: 1px solid #e0e0e5;
3400 }
3401
3402 .mxchat-accordion-header {
3403 border-bottom: none;
3404 }
3405
3406 .mxchat-accordion-button {
3407 background-color: #f7f7f9;
3408 border: none;
3409 color: #444;
3410 cursor: pointer;
3411 font-size: 15px;
3412 font-weight: 500;
3413 padding: 14px 20px;
3414 text-align: left;
3415 transition: all 0.2s ease;
3416 width: 100%;
3417 display: flex;
3418 justify-content: space-between;
3419 align-items: center;
3420 outline: none;
3421 }
3422
3423 .mxchat-accordion-button:hover {
3424 background-color: #f0f0f5;
3425 }
3426
3427 .mxchat-accordion-icon {
3428 font-size: 12px;
3429 color: #666;
3430 transition: transform 0.3s ease;
3431 }
3432
3433 .mxchat-accordion-content {
3434 border-top: 1px solid #e0e0e5;
3435 transition: all 0.3s ease;
3436 }
3437
3438 .mxchat-accordion-inner {
3439 padding: 16px 20px;
3440 background-color: #fff;
3441 }
3442
3443 /* Make the custom post types look nicer */
3444 .mxchat-custom-post-types {
3445 display: grid;
3446 grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
3447 gap: 10px;
3448 margin-top: 10px;
3449 }
3450
3451 .mxchat-description {
3452 margin-bottom: 15px;
3453 color: #666;
3454 }
3455
3456 .mxchat-empty-notice {
3457 color: #888;
3458 font-style: italic;
3459 }
3460
3461
3462
3463 /* Model Selector Button Styles */
3464 .mxchat-model-selector-wrapper {
3465 width: 100%;
3466 position: relative;
3467 }
3468
3469 .mxchat-model-selector-display {
3470 display: flex;
3471 justify-content: space-between;
3472 align-items: center;
3473 padding: 8px 12px;
3474 background-color: #fff;
3475 border: 1px solid #8c8f94;
3476 border-radius: 4px;
3477 cursor: pointer;
3478 min-height: 30px;
3479 line-height: 1.4;
3480 box-sizing: border-box;
3481 transition: border-color 0.2s;
3482 }
3483
3484 .mxchat-model-selector-display:hover {
3485 border-color: #2271b1;
3486 }
3487
3488 .mxchat-model-selected-name {
3489 white-space: nowrap;
3490 overflow: hidden;
3491 text-overflow: ellipsis;
3492 flex: 1;
3493 }
3494
3495 .mxchat-model-selector-arrow {
3496 margin-left: 8px;
3497 font-size: 10px;
3498 color: #555;
3499 }
3500
3501 /* Provider-specific border colors */
3502 .mxchat-model-provider-gemini {
3503 border-left: 3px solid #4285F4;
3504 }
3505
3506 .mxchat-model-provider-openai {
3507 border-left: 3px solid #10A37F;
3508 }
3509
3510 .mxchat-model-provider-claude {
3511 border-left: 3px solid #965de9;
3512 }
3513
3514 .mxchat-model-provider-xai {
3515 border-left: 3px solid #000000;
3516 }
3517
3518 .mxchat-model-provider-deepseek {
3519 border-left: 3px solid #0066cc;
3520 }
3521
3522 /* Modal Styles */
3523 .mxchat-model-selector-modal {
3524 display: none;
3525 position: fixed;
3526 z-index: 9999;
3527 left: 0;
3528 top: 0;
3529 width: 100%;
3530 height: 100%;
3531 overflow: auto;
3532 background-color: rgba(0, 0, 0, 0.5);
3533 }
3534
3535 .mxchat-model-selector-modal .mxchat-model-selector-modal-content {
3536 background-color: #fff;
3537 margin: 5% auto;
3538 border-radius: 8px;
3539 box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
3540 width: 80%;
3541 max-width: 800px;
3542 animation: mxchatModalFade 0.3s;
3543 }
3544
3545 @keyframes mxchatModalFade {
3546 from {opacity: 0; transform: translateY(-20px);}
3547 to {opacity: 1; transform: translateY(0);}
3548 }
3549
3550 .mxchat-model-selector-modal .mxchat-model-selector-modal-header {
3551 display: flex;
3552 justify-content: space-between;
3553 align-items: center;
3554 padding: 16px 24px;
3555 border-bottom: 1px solid #eee;
3556 }
3557
3558 .mxchat-model-selector-modal .mxchat-model-selector-modal-header h3 {
3559 margin: 0;
3560 color: #6750A4;
3561 font-size: 20px;
3562 }
3563
3564 .mxchat-model-selector-modal .mxchat-model-selector-modal-close {
3565 font-size: 24px;
3566 cursor: pointer;
3567 color: #888;
3568 }
3569
3570 .mxchat-model-selector-modal .mxchat-model-selector-modal-close:hover {
3571 color: #333;
3572 }
3573
3574 .mxchat-model-selector-modal .mxchat-model-selector-modal-body {
3575 padding: 24px;
3576 max-height: 60vh;
3577 overflow-y: auto;
3578 }
3579
3580 .mxchat-model-selector-modal .mxchat-model-selector-modal-footer {
3581 padding: 16px 24px;
3582 border-top: 1px solid #eee;
3583 text-align: right;
3584 }
3585
3586 /* Search and Category Styles */
3587 .mxchat-model-selector-modal .mxchat-model-selector-search-container {
3588 margin-bottom: 20px;
3589 }
3590
3591 .mxchat-model-selector-modal .mxchat-model-search-input {
3592 width: 100%;
3593 padding: 10px 15px;
3594 border: 1px solid #ddd;
3595 border-radius: 4px;
3596 font-size: 16px;
3597 }
3598
3599 .mxchat-model-selector-modal .mxchat-model-selector-categories {
3600 display: flex;
3601 flex-wrap: wrap;
3602 gap: 8px;
3603 margin-bottom: 20px;
3604 }
3605
3606 .mxchat-model-selector-modal .mxchat-model-category-btn {
3607 background-color: #f5f5f5;
3608 border: 1px solid #ddd;
3609 padding: 8px 16px;
3610 border-radius: 20px;
3611 cursor: pointer;
3612 transition: all 0.2s;
3613 }
3614
3615 .mxchat-model-selector-modal .mxchat-model-category-btn.active {
3616 background-color: #6750A4;
3617 color: white;
3618 border-color: #6750A4;
3619 }
3620
3621 /* Model Grid Styles */
3622 .mxchat-model-selector-modal .mxchat-model-selector-grid {
3623 display: grid;
3624 grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
3625 gap: 16px;
3626 }
3627
3628 .mxchat-model-selector-modal .mxchat-model-selector-card {
3629 display: flex;
3630 border: 1px solid #ddd;
3631 border-radius: 8px;
3632 padding: 16px;
3633 cursor: pointer;
3634 transition: all 0.2s;
3635 position: relative;
3636 }
3637
3638 .mxchat-model-selector-modal .mxchat-model-selector-card:hover {
3639 border-color: #6750A4;
3640 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
3641 }
3642
3643 .mxchat-model-selector-modal .mxchat-model-selector-card.mxchat-model-selected {
3644 border-color: #6750A4;
3645 background-color: rgba(103, 80, 164, 0.05);
3646 }
3647
3648 /* Provider-specific styles for cards */
3649 .mxchat-model-selector-modal .mxchat-model-selector-card.mxchat-model-provider-gemini {
3650 border-left: 4px solid #4285F4;
3651 }
3652
3653 .mxchat-model-selector-modal .mxchat-model-selector-card.mxchat-model-provider-openai {
3654 border-left: 4px solid #10A37F;
3655 }
3656
3657 .mxchat-model-selector-modal .mxchat-model-selector-card.mxchat-model-provider-claude {
3658 border-left: 4px solid #965de9;
3659 }
3660
3661 .mxchat-model-selector-modal .mxchat-model-selector-card.mxchat-model-provider-xai {
3662 border-left: 4px solid #000000;
3663 }
3664
3665 .mxchat-model-selector-modal .mxchat-model-selector-card.mxchat-model-provider-deepseek {
3666 border-left: 4px solid #0066cc;
3667 }
3668
3669 .mxchat-model-selector-modal .mxchat-model-selector-icon {
3670 margin-right: 12px;
3671 font-size: 24px;
3672 display: flex;
3673 align-items: center;
3674 width: 25px;
3675 height: 45px;
3676 }
3677
3678 .mxchat-model-selector-modal .mxchat-model-icon-gemini {
3679 color: #4285F4;
3680 }
3681
3682 .mxchat-model-selector-modal .mxchat-model-icon-openai {
3683 color: #10A37F;
3684 }
3685
3686 .mxchat-model-selector-modal .mxchat-model-icon-claude {
3687 color: #965de9;
3688 }
3689
3690 .mxchat-model-selector-modal .mxchat-model-icon-xai {
3691 color: #000000;
3692 }
3693
3694 .mxchat-model-selector-modal .mxchat-model-icon-deepseek {
3695 color: #0066cc;
3696 }
3697
3698 .mxchat-model-selector-modal .mxchat-model-selector-info {
3699 flex: 1;
3700 }
3701
3702 .mxchat-model-selector-modal .mxchat-model-selector-title {
3703 margin: 0 0 6px 0;
3704 font-size: 16px;
3705 }
3706
3707 .mxchat-model-selector-modal .mxchat-model-selector-description {
3708 margin: 0;
3709 font-size: 14px;
3710 color: #666;
3711 }
3712
3713 .mxchat-model-selector-modal .mxchat-model-selector-checkmark {
3714 position: absolute;
3715 top: 8px;
3716 right: 8px;
3717 width: 20px;
3718 height: 20px;
3719 background-color: #6750A4;
3720 color: white;
3721 border-radius: 50%;
3722 display: flex;
3723 align-items: center;
3724 justify-content: center;
3725 font-size: 12px;
3726 }
3727
3728 /* Media queries for responsive design */
3729 @media screen and (max-width: 782px) {
3730 .mxchat-model-selector-modal .mxchat-model-selector-modal-content {
3731 width: 95%;
3732 margin: 10% auto;
3733 }
3734
3735 .mxchat-model-selector-modal .mxchat-model-selector-grid {
3736 grid-template-columns: 1fr;
3737 }
3738
3739 .mxchat-model-selector-modal .mxchat-model-selector-categories {
3740 overflow-x: auto;
3741 padding-bottom: 10px;
3742 }
3743 }
3744
3745
3746 /* Improved styling for the model selector button */
3747 #mxchat_model_selector_btn.mxchat-model-selector-btn {
3748 width: 100%;
3749 max-width: 400px;
3750 text-align: left;
3751 padding: 8px 12px;
3752 height: auto;
3753 min-height: 36px;
3754 background-color: #fff;
3755 color: #2c3338;
3756 border: 1px solid #8c8f94;
3757 border-radius: 4px;
3758 box-shadow: 0 1px 2px rgba(0, 0, 0, 0.07);
3759 position: relative;
3760 font-weight: normal;
3761 transition: all 0.2s ease;
3762 display: flex;
3763 align-items: center;
3764 justify-content: space-between;
3765 }
3766
3767 #mxchat_model_selector_btn.mxchat-model-selector-btn:after {
3768 content: "\f140";
3769 font-family: dashicons;
3770 position: absolute;
3771 right: 10px;
3772 font-size: 20px;
3773 color: #666;
3774 }
3775
3776 #mxchat_model_selector_btn.mxchat-model-selector-btn:hover {
3777 border-color: #2271b1;
3778 color: #2271b1;
3779 }
3780
3781 #mxchat_model_selector_btn.mxchat-model-selector-btn:focus {
3782 box-shadow: 0 0 0 1px #2271b1;
3783 outline: none;
3784 }
3785
3786 /* Embedding Model Selector - completely separate styling to avoid conflicts */
3787 .mxchat-embedding-model-selector-btn {
3788 width: 100%;
3789 max-width: 400px;
3790 text-align: left;
3791 padding: 8px 12px;
3792 height: auto;
3793 min-height: 36px;
3794 background-color: #fff;
3795 color: #2c3338;
3796 border: 1px solid #8c8f94;
3797 border-radius: 4px;
3798 box-shadow: 0 1px 2px rgba(0, 0, 0, 0.07);
3799 position: relative;
3800 font-weight: normal;
3801 transition: all 0.2s ease;
3802 display: flex;
3803 align-items: center;
3804 justify-content: space-between;
3805 }
3806
3807 .mxchat-embedding-model-selector-btn:after {
3808 content: "\f140";
3809 font-family: dashicons;
3810 position: absolute;
3811 right: 10px;
3812 font-size: 20px;
3813 color: #666;
3814 }
3815
3816 .mxchat-embedding-model-selector-btn:hover {
3817 border-color: #2271b1;
3818 color: #2271b1;
3819 }
3820
3821 .mxchat-embedding-model-selector-btn:focus {
3822 box-shadow: 0 0 0 1px #2271b1;
3823 outline: none;
3824 }
3825
3826 /* Modal Styles */
3827 .mxchat-embedding-model-selector-modal {
3828 display: none;
3829 position: fixed;
3830 z-index: 9999;
3831 left: 0;
3832 top: 0;
3833 width: 100%;
3834 height: 100%;
3835 overflow: auto;
3836 background-color: rgba(0, 0, 0, 0.5);
3837 }
3838
3839 .mxchat-embedding-model-selector-modal-content {
3840 background-color: #fff;
3841 margin: 5% auto;
3842 border-radius: 8px;
3843 box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
3844 width: 80%;
3845 max-width: 800px;
3846 animation: mxchatEmbeddingModalFade 0.3s;
3847 }
3848
3849 @keyframes mxchatEmbeddingModalFade {
3850 from {opacity: 0; transform: translateY(-20px);}
3851 to {opacity: 1; transform: translateY(0);}
3852 }
3853
3854 .mxchat-embedding-model-selector-modal-header {
3855 display: flex;
3856 justify-content: space-between;
3857 align-items: center;
3858 padding: 16px 24px;
3859 border-bottom: 1px solid #eee;
3860 }
3861
3862 .mxchat-embedding-model-selector-modal-header h3 {
3863 margin: 0;
3864 color: #6750A4;
3865 font-size: 20px;
3866 }
3867
3868 .mxchat-embedding-model-selector-modal-close {
3869 font-size: 24px;
3870 cursor: pointer;
3871 color: #888;
3872 }
3873
3874 .mxchat-embedding-model-selector-modal-close:hover {
3875 color: #333;
3876 }
3877
3878 .mxchat-embedding-model-selector-modal-body {
3879 padding: 24px;
3880 max-height: 60vh;
3881 overflow-y: auto;
3882 }
3883
3884 .mxchat-embedding-model-selector-modal-footer {
3885 padding: 16px 24px;
3886 border-top: 1px solid #eee;
3887 text-align: right;
3888 }
3889
3890 /* Search and Category Styles */
3891 .mxchat-embedding-model-selector-search-container {
3892 margin-bottom: 20px;
3893 }
3894
3895 .mxchat-embedding-model-search-input {
3896 width: 100%;
3897 padding: 10px 15px;
3898 border: 1px solid #ddd;
3899 border-radius: 4px;
3900 font-size: 16px;
3901 }
3902
3903 .mxchat-embedding-model-selector-categories {
3904 display: flex;
3905 flex-wrap: wrap;
3906 gap: 8px;
3907 margin-bottom: 20px;
3908 }
3909
3910 .mxchat-embedding-model-category-btn {
3911 background-color: #f5f5f5;
3912 border: 1px solid #ddd;
3913 padding: 8px 16px;
3914 border-radius: 20px;
3915 cursor: pointer;
3916 transition: all 0.2s;
3917 }
3918
3919 .mxchat-embedding-model-category-btn.active {
3920 background-color: #6750A4;
3921 color: white;
3922 border-color: #6750A4;
3923 }
3924
3925 /* Model Grid Styles */
3926 .mxchat-embedding-model-selector-grid {
3927 display: grid;
3928 grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
3929 gap: 16px;
3930 }
3931
3932 .mxchat-embedding-model-selector-card {
3933 display: flex;
3934 border: 1px solid #ddd;
3935 border-radius: 8px;
3936 padding: 16px;
3937 cursor: pointer;
3938 transition: all 0.2s;
3939 position: relative;
3940 }
3941
3942 .mxchat-embedding-model-selector-card:hover {
3943 border-color: #6750A4;
3944 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
3945 }
3946
3947 .mxchat-embedding-model-selector-card.mxchat-embedding-model-selected {
3948 border-color: #6750A4;
3949 background-color: rgba(103, 80, 164, 0.05);
3950 }
3951
3952 /* Provider-specific styles */
3953 .mxchat-embedding-model-provider-openai {
3954 border-left: 4px solid #10A37F;
3955 }
3956
3957 .mxchat-embedding-model-provider-voyage {
3958 border-left: 4px solid #0055D4;
3959 }
3960
3961 .mxchat-embedding-model-selector-icon {
3962 margin-right: 12px;
3963 font-size: 24px;
3964 display: flex;
3965 align-items: center;
3966 width: 25px;
3967 height: 45px;
3968 }
3969
3970 .mxchat-embedding-model-icon-openai {
3971 color: #10A37F;
3972 }
3973
3974 .mxchat-embedding-model-icon-voyage {
3975 color: #0055D4;
3976 }
3977
3978 .mxchat-embedding-model-selector-info {
3979 flex: 1;
3980 }
3981
3982 .mxchat-embedding-model-selector-title {
3983 margin: 0 0 6px 0;
3984 font-size: 16px;
3985 }
3986
3987 .mxchat-embedding-model-selector-description {
3988 margin: 0;
3989 font-size: 14px;
3990 color: #666;
3991 }
3992
3993 .mxchat-embedding-model-selector-checkmark {
3994 position: absolute;
3995 top: 8px;
3996 right: 8px;
3997 width: 20px;
3998 height: 20px;
3999 background-color: #6750A4;
4000 color: white;
4001 border-radius: 50%;
4002 display: flex;
4003 align-items: center;
4004 justify-content: center;
4005 font-size: 12px;
4006 }
4007
4008 /* Media queries for responsive design */
4009 @media screen and (max-width: 782px) {
4010 .mxchat-embedding-model-selector-modal-content {
4011 width: 95%;
4012 margin: 10% auto;
4013 }
4014
4015 .mxchat-embedding-model-selector-grid {
4016 grid-template-columns: 1fr;
4017 }
4018
4019 .mxchat-embedding-model-selector-categories {
4020 overflow-x: auto;
4021 padding-bottom: 10px;
4022 }
4023 }
4024
4025
4026 /* Embedding Model Selector Button Styles */
4027 #mxchat_embedding_model_selector_btn.mxchat-embedding-model-selector-btn {
4028 width: 100%;
4029 max-width: 400px;
4030 text-align: left;
4031 padding: 8px 12px;
4032 height: auto;
4033 min-height: 36px;
4034 background-color: #fff;
4035 color: #2c3338;
4036 border: 1px solid #8c8f94;
4037 border-radius: 4px;
4038 box-shadow: 0 1px 2px rgba(0, 0, 0, 0.07);
4039 position: relative;
4040 font-weight: normal;
4041 transition: all 0.2s ease;
4042 display: flex;
4043 align-items: center;
4044 justify-content: space-between;
4045 }
4046
4047 #mxchat_embedding_model_selector_btn.mxchat-embedding-model-selector-btn:after {
4048 content: "\f140";
4049 font-family: dashicons;
4050 position: absolute;
4051 right: 10px;
4052 font-size: 20px;
4053 color: #666;
4054 }
4055
4056 #mxchat_embedding_model_selector_btn.mxchat-embedding-model-selector-btn:hover {
4057 border-color: #2271b1;
4058 color: #2271b1;
4059 }
4060
4061 #mxchat_embedding_model_selector_btn.mxchat-embedding-model-selector-btn:focus {
4062 box-shadow: 0 0 0 1px #2271b1;
4063 outline: none;
4064 }
4065
4066 .mxchat-failed-urls-container {
4067 margin-top: 15px;
4068 border-top: 1px solid rgba(0, 0, 0, 0.1);
4069 padding-top: 10px;
4070 }
4071
4072 .mxchat-failed-urls-container h4 {
4073 margin: 0 0 8px 0;
4074 font-size: 14px;
4075 color: #d63638;
4076 }
4077
4078 .mxchat-failed-urls-container details {
4079 margin-bottom: 10px;
4080 }
4081
4082 .mxchat-failed-urls-container summary {
4083 cursor: pointer;
4084 font-weight: 500;
4085 padding: 5px 0;
4086 color: #3c434a;
4087 }
4088
4089 .mxchat-failed-urls-container summary:hover {
4090 color: #2271b1;
4091 }
4092
4093 .mxchat-failed-urls-list {
4094 margin-top: 10px;
4095 max-height: 300px;
4096 overflow-y: auto;
4097 border: 1px solid #dcdcde;
4098 border-radius: 4px;
4099 background: #f8f9fa;
4100 }
4101
4102 .mxchat-failed-url-item {
4103 padding: 8px 12px;
4104 border-bottom: 1px solid #dcdcde;
4105 display: grid;
4106 grid-template-columns: 1fr;
4107 grid-gap: 6px;
4108 font-size: 12px;
4109 }
4110
4111 .mxchat-failed-url-item:last-child {
4112 border-bottom: none;
4113 }
4114
4115 .mxchat-failed-url-address {
4116 font-weight: 500;
4117 word-break: break-all;
4118 }
4119
4120 .mxchat-failed-url-address a {
4121 color: #2271b1;
4122 text-decoration: none;
4123 }
4124
4125 .mxchat-failed-url-address a:hover {
4126 text-decoration: underline;
4127 }
4128
4129 .mxchat-failed-url-error {
4130 color: #d63638;
4131 }
4132
4133 .mxchat-failed-url-time {
4134 color: #50575e;
4135 font-style: italic;
4136 font-size: 11px;
4137 }
4138
4139 .mxchat-failed-urls-more {
4140 text-align: center;
4141 padding: 8px;
4142 background: #f0f0f1;
4143 border-top: 1px solid #dcdcde;
4144 color: #50575e;
4145 font-style: italic;
4146 font-size: 12px;
4147 }
4148
4149 /* Responsive design for larger screens */
4150 @media screen and (min-width: 783px) {
4151 .mxchat-failed-url-item {
4152 grid-template-columns: 2fr 3fr 1fr;
4153 align-items: center;
4154 }
4155 }
4156