PluginProbe
MxChat – AI Chatbot & Content Generation for WordPress / 3.0.9
MxChat – AI Chatbot & Content Generation for WordPress v3.0.9
3.2.21 3.2.20 3.2.19 3.2.18 3.2.17 3.2.16 3.2.15 3.2.14 3.2.12 3.2.13 3.2.11 3.2.10 3.2.9 3.2.8 3.2.7 3.2.6 3.2.5 3.2.4 3.2.3 3.2.2 3.2.1 2.0.3 2.0.4 2.0.5 2.0.6 All 152 releases
mxchat-basic / css / admin-style.css

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

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