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

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

3,038 lines 58.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /*
2 * MxChat Knowledge Base Styles
3 * Consolidated stylesheet for the Knowledge Base Manager
4 */
5
6 #wpcontent, .auto-fold #wpcontent {
7 padding: 0px;
8 }
9 .mxchat-kb-header-note {
10 font-size: 12px;
11 font-weight: normal;
12 color: #666;
13 font-style: italic;
14 }
15 /* ===== Core Layout ===== */
16 .mxchat-wrapper, .mxchat-admin-activation {
17 width: 100%;
18 margin: 0px;
19 padding: 0;
20 background-color: #f8f9ff;
21 min-height: 100vh;
22 }
23
24 /* ===== Hero Section ===== */
25 .mxchat-hero {
26 text-align: center;
27 padding: 3.5rem 2rem;
28 position: relative;
29 background: #212121;
30 border-bottom: 4px solid transparent;
31 border-image: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1);
32 border-image-slice: 1;
33 }
34
35 .mxchat-hero::before {
36 content: '';
37 position: absolute;
38 top: 0;
39 left: 0;
40 width: 100%;
41 height: 100%;
42 background: radial-gradient(
43 circle at center,
44 rgba(250, 115, 230, 0.08) 0%,
45 rgba(120, 115, 245, 0.08) 50%,
46 rgba(58, 201, 209, 0.08) 100%
47 );
48 z-index: 1;
49 }
50
51 div.mxchat-hero h1.mxchat-main-title {
52 font-size: 3.5rem;
53 margin: 0 0 1.5rem;
54 line-height: 1.2;
55 color: white;
56 position: relative;
57 z-index: 2;
58 }
59
60 .mxchat-gradient-text {
61 background: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1);
62 -webkit-background-clip: text;
63 -webkit-text-fill-color: transparent;
64 display: inline-block;
65 font-weight: 700;
66 }
67
68 .mxchat-hero-subtitle {
69 font-size: 1.25rem;
70 color: rgba(255, 255, 255, 0.9);
71 max-width: 800px;
72 margin: 0 auto;
73 position: relative;
74 z-index: 2;
75 line-height: 1.6;
76 }
77
78 /* ===== Content Area ===== */
79 .mxchat-content {
80 padding: 2rem;
81 max-width: 1400px;
82 margin: 0 auto;
83 width: 100%;
84 box-sizing: border-box;
85 }
86
87 /* ===== Card Styles ===== */
88 .mxchat-card {
89 background: #fff;
90 border-radius: 16px;
91 box-shadow: 0 4px 20px rgba(120, 115, 245, 0.08);
92 padding: 30px;
93 margin: 30px auto;
94 transition: all 0.3s ease;
95 }
96
97 .mxchat-card:hover {
98 transform: translateY(-2px);
99 box-shadow: 0 6px 25px rgba(120, 115, 245, 0.12);
100 }
101
102 .mxchat-card h2 {
103 margin: 0 0 1.5rem;
104 color: #333;
105 font-size: 1.5rem;
106 }
107
108 .mxchat-card-header {
109 display: flex;
110 justify-content: space-between;
111 align-items: center;
112 margin-bottom: 20px;
113 }
114
115 .mxchat-header-actions {
116 display: flex;
117 gap: 16px;
118 align-items: center;
119 }
120
121 /* ===== Knowledge Warning ===== */
122 .mxchat-knowledge-warning {
123 padding: 15px;
124 border-radius: 8px;
125 margin-bottom: 20px;
126 }
127
128 .mxchat-knowledge-warning.success {
129 background-color: #eefbe8;
130 border-left: 4px solid #4caf50;
131 }
132
133 .mxchat-knowledge-warning.warning {
134 background-color: #fff9e6;
135 border-left: 4px solid #ff9800;
136 }
137
138 .mxchat-knowledge-warning p {
139 align-items: center;
140 margin: 0;
141 color: #333;
142 }
143
144 .mxchat-knowledge-warning .dashicons {
145 margin-right: 10px;
146 font-size: 20px;
147 }
148
149 .mxchat-knowledge-warning .dashicons-yes-alt {
150 color: #4caf50;
151 }
152
153 .mxchat-knowledge-warning .dashicons-warning {
154 color: #ff9800;
155 }
156
157 /* ===== Import Section ===== */
158 .mxchat-import-section {
159 margin-top: 30px;
160 }
161
162 .mxchat-import-section h3 {
163 margin-top: 0;
164 margin-bottom: 20px;
165 font-size: 18px;
166 color: #333;
167 }
168
169 /* Import Options */
170 .mxchat-import-options {
171 display: grid;
172 grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
173 gap: 16px;
174 margin-bottom: 24px;
175 }
176
177 /* Import Box Styling */
178 .mxchat-import-box {
179 display: flex;
180 align-items: flex-start;
181 padding: 0;
182 background: #fff;
183 border: 1px solid #e5e5e5;
184 border-radius: 10px;
185 cursor: pointer;
186 transition: all 0.2s ease;
187 position: relative;
188 overflow: hidden;
189 text-align: left;
190 width: 100%;
191 }
192
193 .mxchat-import-box:hover {
194 border-color: #7873f5;
195 box-shadow: 0 4px 12px rgba(120, 115, 245, 0.1);
196 transform: translateY(-4px);
197 }
198
199 .mxchat-import-box.active {
200 border-color: #7873f5;
201 box-shadow: 0 4px 12px rgba(120, 115, 245, 0.1);
202 transform: translateY(-4px);
203 }
204
205 .mxchat-import-wordpress {
206 border: 2px solid #7873f5;
207 background-color: #f8f9ff;
208 }
209
210 .mxchat-import-icon {
211 width: 48px;
212 height: 48px;
213 display: flex;
214 align-items: center;
215 justify-content: center;
216 background-color: #f0f0f0;
217 border-radius: 8px;
218 margin: 16px;
219 flex-shrink: 0;
220 }
221
222 .mxchat-import-wordpress .mxchat-import-icon {
223 background-color: #f0e6ff;
224 }
225
226 .mxchat-import-icon .dashicons {
227 font-size: 24px;
228 color: #7873f5;
229 }
230
231 .mxchat-import-content {
232 flex: 1;
233 padding: 18px 18px 18px 0;
234 }
235
236 .mxchat-import-content h4 {
237 margin: 0 0 8px;
238 font-size: 16px;
239 color: #333;
240 }
241
242 .mxchat-import-content p {
243 margin: 0;
244 font-size: 14px;
245 color: #666;
246 line-height: 1.5;
247 }
248
249 .mxchat-recommended-tag {
250 position: absolute;
251 top: 0;
252 right: 0;
253 background-color: #7873f5;
254 color: white;
255 padding: 4px 10px;
256 font-size: 10px;
257 border-bottom-left-radius: 8px;
258 }
259
260 /* Import Input Areas */
261 .mxchat-import-input-area {
262 background-color: #f9f9fd;
263 border-radius: 10px;
264 padding: 24px;
265 margin-bottom: 24px;
266 border: 1px solid #e5e5e5;
267 text-align: center;
268 }
269
270 .mxchat-url-input-group {
271 display: flex;
272 gap: 12px;
273 max-width: 800px;
274 margin: 0 auto;
275 }
276
277 .mxchat-url-input-group input {
278 flex: 1;
279 padding: 12px 16px;
280 border: 1px solid #ddd;
281 border-radius: 8px;
282 font-size: 14px;
283 }
284
285 .mxchat-url-input-group input:focus {
286 border-color: #7873f5;
287 box-shadow: 0 0 0 2px rgba(120, 115, 245, 0.1);
288 outline: none;
289 }
290
291 .mxchat-url-description {
292 font-size: 14px;
293 color: #666;
294 margin-top: 16px;
295 font-style: italic;
296 }
297
298 .mxchat-content-input-group {
299 max-width: 800px;
300 margin: 0 auto;
301 }
302
303 .mxchat-content-input-group textarea {
304 width: 100%;
305 min-height: 150px;
306 padding: 12px 16px;
307 border: 1px solid #ddd;
308 border-radius: 8px;
309 margin-bottom: 16px;
310 font-size: 14px;
311 resize: vertical;
312 }
313
314 .mxchat-content-input-group textarea:focus {
315 border-color: #7873f5;
316 box-shadow: 0 0 0 2px rgba(120, 115, 245, 0.1);
317 outline: none;
318 }
319
320 /* Primary Import Card */
321 .mxchat-primary-import-card {
322 background-color: #fff;
323 border: 2px solid #7873f5;
324 border-radius: 8px;
325 box-shadow: 0 4px 12px rgba(120, 115, 245, 0.1);
326 margin-bottom: 30px;
327 overflow: hidden;
328 transition: all 0.3s ease;
329 }
330
331 .mxchat-primary-import-card:hover {
332 box-shadow: 0 6px 16px rgba(120, 115, 245, 0.2);
333 transform: translateY(-2px);
334 }
335
336 .mxchat-card-header {
337 padding: 15px 20px;
338 display: flex;
339 align-items: center;
340 justify-content: space-between;
341 border-bottom: 1px solid #e2d9ff;
342 }
343
344 .mxchat-card-header h3 {
345 margin: 0;
346 color: #7873f5;
347 font-size: 18px;
348 font-weight: 600;
349 }
350
351 .mxchat-recommended-badge {
352 background-color: #7873f5;
353 color: white;
354 font-size: 12px;
355 padding: 4px 10px;
356 border-radius: 12px;
357 font-weight: 500;
358 }
359
360 .mxchat-card-content {
361 padding: 20px;
362 }
363
364 .mxchat-method-description {
365 font-size: 15px;
366 line-height: 1.5;
367 color: #555;
368 margin-bottom: 20px;
369 }
370
371 .mxchat-card-actions {
372 text-align: center;
373 }
374
375 .mxchat-featured-button {
376 background: linear-gradient(135deg, #fa73e6, #7873f5) !important;
377 color: white !important;
378 font-size: 15px !important;
379 padding: 10px 20px !important;
380 border: none !important;
381 box-shadow: 0 4px 8px rgba(120, 115, 245, 0.2) !important;
382 transition: all 0.3s ease !important;
383 display: inline-flex !important;
384 align-items: center !important;
385 gap: 8px !important;
386 }
387
388 .mxchat-featured-button:hover {
389 background: linear-gradient(135deg, #e56dd6, #6b67db) !important;
390 box-shadow: 0 6px 12px rgba(120, 115, 245, 0.3) !important;
391 transform: translateY(-2px) !important;
392 }
393
394 /* Alternative Import Methods */
395 .mxchat-alternative-imports {
396 background-color: #fff;
397 border: 1px solid #e5e5e5;
398 border-radius: 8px;
399 padding: 20px;
400 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
401 }
402
403 .mxchat-alt-header {
404 font-size: 16px;
405 color: #666;
406 margin-top: 0;
407 margin-bottom: 15px;
408 padding-bottom: 10px;
409 border-bottom: 1px solid #eee;
410 }
411
412 .mxchat-import-methods-grid {
413 display: grid;
414 grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
415 gap: 20px;
416 margin-bottom: 25px;
417 }
418
419 /* ===== Import Methods ===== */
420 .mxchat-import-methods {
421 display: grid;
422 grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
423 gap: 20px;
424 margin: 30px 0;
425 }
426
427 .mxchat-method-card {
428 background-color: #f9f9f9;
429 border: 1px solid #eee;
430 border-radius: 8px;
431 padding: 15px;
432 transition: all 0.2s ease;
433 height: 100%;
434 }
435
436 .mxchat-method-card:hover {
437 background-color: #f5f5f5;
438 border-color: #ddd;
439 }
440
441 .mxchat-method-icon {
442 display: flex;
443 justify-content: center;
444 margin-bottom: 10px;
445 }
446
447 .mxchat-method-icon .dashicons {
448 font-size: 24px;
449 width: 24px;
450 height: 24px;
451 color: #666;
452 }
453
454 .mxchat-method-card h4,
455 .mxchat-method-card h5 {
456 margin: 0 0 10px 0;
457 font-size: 15px;
458 text-align: center;
459 color: #444;
460 }
461
462 .mxchat-method-card p {
463 margin: 0;
464 font-size: 13px;
465 color: #666;
466 text-align: center;
467 }
468
469 .mxchat-note,
470 .red-warning {
471 color: #ff5722;
472 font-weight: 500;
473 }
474
475 /* Legacy Import Form */
476 .mxchat-legacy-import-form {
477 margin-top: 20px;
478 padding-top: 20px;
479 border-top: 1px dashed #ddd;
480 }
481
482 /* ===== Settings Section ===== */
483 .mxchat-settings-section {
484 margin-bottom: 30px;
485 }
486
487 .mxchat-settings-section h3 {
488 margin-top: 0;
489 margin-bottom: 12px;
490 color: #333;
491 font-size: 1.3rem;
492 }
493
494 .mxchat-description {
495 color: #666;
496 font-size: 14px;
497 margin-bottom: 20px;
498 }
499
500 .mxchat-section-content {
501 margin-top: 15px;
502 }
503
504 /* ===== Tabs ===== */
505 .mxchat-tabs {
506 border-bottom: 1px solid rgba(120, 115, 245, 0.1);
507 margin-bottom: 20px;
508 display: flex;
509 gap: 2px;
510 }
511
512 .mxchat-tab-button {
513 padding: 12px 24px;
514 background: none;
515 border: none;
516 border-bottom: 2px solid transparent;
517 color: #666;
518 cursor: pointer;
519 font-size: 14px;
520 transition: all 0.2s ease;
521 }
522
523 .mxchat-tab-button:hover {
524 color: #7873f5;
525 }
526
527 .mxchat-tab-button.active {
528 color: #7873f5;
529 border-bottom-color: #7873f5;
530 }
531
532 .mxchat-tab-contents {
533 margin-top: 20px;
534 }
535
536 .mxchat-tab-content {
537 display: none;
538 }
539
540 .mxchat-tab-content.active {
541 display: block;
542 }
543
544 /* ===== Toggle Switches ===== */
545 .mxchat-toggle-group {
546 display: flex;
547 flex-direction: column;
548 gap: 15px;
549 margin: 20px 0;
550 }
551
552 .mxchat-toggle-container {
553 display: flex;
554 align-items: center;
555 gap: 12px;
556 }
557
558 .mxchat-toggle-switch {
559 position: relative;
560 display: inline-block;
561 width: 50px;
562 height: 24px;
563 }
564
565 .mxchat-toggle-switch input {
566 opacity: 0;
567 width: 0;
568 height: 0;
569 }
570
571 .mxchat-toggle-slider {
572 position: absolute;
573 cursor: pointer;
574 top: 0;
575 left: 0;
576 right: 0;
577 bottom: 0;
578 background-color: #ccc;
579 transition: .4s;
580 border-radius: 34px;
581 }
582
583 .mxchat-toggle-slider:before {
584 position: absolute;
585 content: "";
586 height: 20px;
587 width: 20px;
588 left: 2px;
589 bottom: 2px;
590 background-color: white;
591 transition: .4s;
592 border-radius: 50%;
593 }
594
595 input:checked + .mxchat-toggle-slider {
596 background: linear-gradient(135deg, #fa73e6, #7873f5);
597 }
598
599 input:checked + .mxchat-toggle-slider:before {
600 transform: translateX(26px);
601 }
602
603 .mxchat-toggle-label {
604 font-size: 14px;
605 color: #333;
606 }
607
608 /* ===== Custom Post Types ===== */
609 .mxchat-custom-post-types-header {
610 margin-top: 20px;
611 }
612
613 .mxchat-custom-post-types-container {
614 margin-top: 15px;
615 padding: 15px;
616 background-color: #f8f9ff;
617 border-radius: 8px;
618 border: 1px solid rgba(120, 115, 245, 0.1);
619 }
620
621 .mxchat-toggle-icon {
622 margin-left: 5px;
623 font-size: 12px;
624 }
625
626 /* ===== Form Elements ===== */
627 .mxchat-form-group {
628 margin-bottom: 20px;
629 }
630
631 .mxchat-form-group label {
632 display: block;
633 margin-bottom: 8px;
634 font-weight: 500;
635 color: #333;
636 }
637
638 .mxchat-form-group input[type="text"],
639 .mxchat-form-group input[type="url"],
640 .mxchat-form-group input[type="search"],
641 .mxchat-form-group textarea {
642 width: 100%;
643 padding: 12px 15px;
644 border: 2px solid rgba(120, 115, 245, 0.2);
645 border-radius: 8px;
646 font-size: 14px;
647 transition: all 0.3s ease;
648 }
649
650 .mxchat-form-group textarea {
651 min-height: 120px;
652 resize: vertical;
653 }
654
655 .mxchat-form-group input:focus,
656 .mxchat-form-group textarea:focus {
657 border-color: #7873f5;
658 box-shadow: 0 0 0 3px rgba(120, 115, 245, 0.1);
659 outline: none;
660 }
661
662 /* ===== Search ===== */
663 .mxchat-search-form {
664 display: flex;
665 }
666
667 .mxchat-search-group {
668 position: relative;
669 display: flex;
670 align-items: center;
671 }
672
673 .mxchat-search-group .dashicons {
674 position: absolute;
675 left: 12px;
676 color: #666;
677 }
678
679 .mxchat-search-group input {
680 padding-left: 40px;
681 width: 300px;
682 }
683
684 /* ADDED 2.5.6: Content Type Filter Styles */
685 .mxchat-filter-group {
686 position: relative;
687 display: flex;
688 align-items: center;
689 margin-left: 12px;
690 }
691
692 .mxchat-filter-group select {
693 padding: 8px 32px 8px 12px;
694 border: 1px solid #ddd;
695 border-radius: 8px;
696 background: white;
697 color: #333;
698 font-size: 14px;
699 cursor: pointer;
700 transition: all 0.2s ease;
701 appearance: none;
702 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
703 background-repeat: no-repeat;
704 background-position: right 12px center;
705 }
706
707 .mxchat-filter-group select:hover {
708 border-color: #7873f5;
709 box-shadow: 0 2px 8px rgba(120, 115, 245, 0.1);
710 }
711
712 .mxchat-filter-group select:focus {
713 outline: none;
714 border-color: #7873f5;
715 box-shadow: 0 0 0 3px rgba(120, 115, 245, 0.1);
716 }
717
718 /* ===== Buttons ===== */
719 .mxchat-button-primary {
720 background: linear-gradient(135deg, #fa73e6, #7873f5);
721 border: none;
722 color: white;
723 padding: 10px 20px;
724 border-radius: 8px;
725 font-weight: 600;
726 cursor: pointer;
727 transition: all 0.3s ease;
728 }
729
730 .mxchat-button-primary:hover {
731 transform: translateY(-1px);
732 box-shadow: 0 4px 12px rgba(120, 115, 245, 0.2);
733 }
734
735 .mxchat-button-primary:disabled {
736 background: #a7a7a7;
737 cursor: not-allowed;
738 transform: none;
739 box-shadow: none;
740 }
741
742 .mxchat-button-secondary {
743 background: #f8f9ff;
744 border: 1px solid rgba(120, 115, 245, 0.2);
745 color: #666;
746 padding: 10px 20px;
747 border-radius: 8px;
748 cursor: pointer;
749 transition: all 0.2s ease;
750 }
751
752 .mxchat-button-secondary:hover {
753 background: #eef0ff;
754 }
755
756 .mxchat-button-danger {
757 color: #ff4d4d;
758 background: transparent;
759 border: none;
760 padding: 10px 20px;
761 border-radius: 8px;
762 cursor: pointer;
763 transition: all 0.2s ease;
764 display: flex;
765 align-items: center;
766 gap: 8px;
767 }
768
769 .mxchat-button-danger:hover {
770 background: #fff5f5;
771 }
772
773 .mxchat-button-icon {
774 padding: 8px;
775 border: none;
776 background: transparent;
777 border-radius: 6px;
778 cursor: pointer;
779 transition: all 0.2s ease;
780 color: #666;
781 }
782
783 .mxchat-button-icon:hover {
784 background: #f8f9ff;
785 color: #7873f5;
786 }
787
788 /* ===== Status Cards ===== */
789 .mxchat-status-card {
790 background: #f8f9ff;
791 border-radius: 10px;
792 padding: 20px;
793 margin-top: 20px;
794 border: 1px solid rgba(120, 115, 245, 0.1);
795 }
796
797 .mxchat-status-header {
798 display: flex;
799 justify-content: space-between;
800 align-items: center;
801 margin-bottom: 15px;
802 }
803
804 .mxchat-status-details {
805 margin-top: 10px;
806 color: #666;
807 }
808
809 .mxchat-status-badge {
810 display: inline-block;
811 padding: 3px 8px;
812 border-radius: 3px;
813 font-size: 12px;
814 font-weight: 500;
815 text-transform: uppercase;
816 margin-left: 10px;
817 }
818
819 .mxchat-status-failed {
820 background-color: #f44336;
821 color: white;
822 }
823
824 .mxchat-status-success {
825 background-color: #4caf50;
826 color: white;
827 }
828
829 .mxchat-error-notice {
830 margin-top: 15px;
831 padding: 10px;
832 background-color: #fff5f5;
833 border-left: 3px solid #f44336;
834 color: #d32f2f;
835 border-radius: 4px;
836 }
837
838 .mxchat-failed-urls {
839 margin-top: 15px;
840 }
841
842 .mxchat-failed-urls h5 {
843 margin-top: 0;
844 margin-bottom: 10px;
845 color: #333;
846 }
847
848 .mxchat-failed-urls-list {
849 max-height: 200px;
850 overflow-y: auto;
851 }
852
853 /* ===== Progress Bar ===== */
854 .mxchat-progress-bar {
855 height: 8px;
856 background: rgba(120, 115, 245, 0.1);
857 border-radius: 4px;
858 overflow: hidden;
859 margin: 15px 0;
860 }
861
862 .mxchat-progress-fill {
863 height: 100%;
864 background: linear-gradient(135deg, #fa73e6, #7873f5);
865 transition: width 0.3s ease;
866 }
867
868 /* ===== Table Styles ===== */
869 .mxchat-table-wrapper {
870 overflow-x: auto;
871 margin: 20px 0;
872 }
873
874 .mxchat-records-table {
875 width: 100%;
876 border-collapse: separate;
877 border-spacing: 0;
878 }
879
880 .mxchat-records-table th {
881 background: #f8f9ff;
882 padding: 15px;
883 font-weight: 600;
884 color: #333;
885 text-align: left;
886 border-bottom: 2px solid rgba(120, 115, 245, 0.1);
887 }
888
889 /* Hide ID column */
890 .mxchat-records-table th:first-child,
891 .mxchat-records-table td:first-child {
892 display: none;
893 }
894
895 .mxchat-records-table td {
896 padding: 15px;
897 border-top: 1px solid rgba(120, 115, 245, 0.1);
898 vertical-align: top;
899 }
900
901 .mxchat-records-table tr:hover {
902 background: rgba(120, 115, 245, 0.03);
903 }
904
905 .mxchat-content-cell {
906 max-width: 600px;
907 }
908
909 /* ===== Accordion Styles ===== */
910 .mxchat-accordion-wrapper {
911 width: 100%;
912 }
913
914 .mxchat-content-preview {
915 display: flex;
916 align-items: center;
917 gap: 12px;
918 padding: 8px 12px;
919 border-radius: 6px;
920 transition: all 0.2s ease;
921 }
922
923 /* Only make it look clickable if there's an expand button */
924 .mxchat-content-preview:has(.mxchat-expand-toggle) {
925 cursor: pointer;
926 }
927
928 .mxchat-content-preview:has(.mxchat-expand-toggle):hover {
929 background: rgba(120, 115, 245, 0.04);
930 }
931
932 .mxchat-content-preview .preview-text {
933 flex: 1;
934 font-size: 14px;
935 line-height: 1.6;
936 color: #333;
937 overflow: hidden;
938 }
939
940 .mxchat-expand-toggle {
941 flex-shrink: 0;
942 width: 28px;
943 height: 28px;
944 border: none;
945 background: linear-gradient(135deg, rgba(250, 115, 230, 0.1), rgba(120, 115, 245, 0.1));
946 border-radius: 6px;
947 cursor: pointer;
948 display: inline-flex;
949 align-items: center;
950 justify-content: center;
951 transition: all 0.3s ease;
952 padding: 0;
953 }
954
955 .mxchat-expand-toggle:hover {
956 background: linear-gradient(135deg, rgba(250, 115, 230, 0.2), rgba(120, 115, 245, 0.2));
957 transform: scale(1.05);
958 }
959
960 .mxchat-expand-toggle .dashicons {
961 font-size: 18px;
962 width: 18px;
963 height: 18px;
964 color: #7873f5;
965 transition: transform 0.3s ease;
966 }
967
968 .mxchat-expand-toggle.expanded .dashicons {
969 transform: rotate(180deg);
970 }
971
972 .mxchat-content-full {
973 margin-top: 12px;
974 padding: 16px;
975 background: rgba(120, 115, 245, 0.03);
976 border-radius: 8px;
977 border-left: 3px solid #7873f5;
978 animation: slideDown 0.3s ease;
979 }
980
981 @keyframes slideDown {
982 from {
983 opacity: 0;
984 max-height: 0;
985 transform: translateY(-10px);
986 }
987 to {
988 opacity: 1;
989 max-height: 1000px;
990 transform: translateY(0);
991 }
992 }
993
994 .mxchat-content-full .content-view {
995 font-size: 14px;
996 line-height: 1.6;
997 color: #333;
998 }
999
1000 .mxchat-content-full .content-view p {
1001 margin: 0 0 12px 0;
1002 }
1003
1004 .mxchat-content-full .content-view p:last-child {
1005 margin-bottom: 0;
1006 }
1007
1008 .mxchat-url-cell a {
1009 color: #7873f5;
1010 text-decoration: none;
1011 display: flex;
1012 align-items: center;
1013 gap: 4px;
1014 }
1015
1016 .mxchat-url-cell a:hover {
1017 color: #fa73e6;
1018 }
1019
1020 .mxchat-actions-cell {
1021 white-space: nowrap;
1022 display: flex;
1023 gap: 8px;
1024 }
1025
1026 /* Legacy content-view styling (now within accordion) */
1027 .content-edit {
1028 width: 100%;
1029 min-height: 100px;
1030 border: 1px solid #ddd;
1031 border-radius: 4px;
1032 padding: 10px;
1033 }
1034
1035 .url-view a {
1036 color: #7873f5;
1037 text-decoration: none;
1038 }
1039
1040 .url-edit {
1041 width: 100%;
1042 }
1043
1044 /* ===== Pagination ===== */
1045 .mxchat-pagination {
1046 margin-top: 20px;
1047 padding-top: 20px;
1048 text-align: center;
1049 border-top: 1px solid rgba(120, 115, 245, 0.1);
1050 }
1051
1052 .mxchat-pagination .page-numbers {
1053 display: inline-flex;
1054 align-items: center;
1055 justify-content: center;
1056 min-width: 32px;
1057 height: 32px;
1058 padding: 0 8px;
1059 margin: 0 4px;
1060 border-radius: 6px;
1061 background: white;
1062 border: 1px solid rgba(120, 115, 245, 0.2);
1063 color: #333;
1064 text-decoration: none;
1065 transition: all 0.2s ease;
1066 }
1067
1068 .mxchat-pagination .page-numbers.current {
1069 background: linear-gradient(135deg, #fa73e6, #7873f5);
1070 color: white;
1071 border: none;
1072 }
1073
1074 /* ===== Notifications ===== */
1075 .mxchat-notification {
1076 margin: 15px 20px 0;
1077 padding: 10px 15px;
1078 border-radius: 4px;
1079 font-size: 14px;
1080 }
1081
1082 .mxchat-notification.success {
1083 background-color: #d4edda;
1084 color: #155724;
1085 border: 1px solid #c3e6cb;
1086 }
1087
1088 .mxchat-notification.error {
1089 background-color: #f8d7da;
1090 color: #721c24;
1091 border: 1px solid #f5c6cb;
1092 }
1093
1094 /* ===== Responsive Design ===== */
1095 @media (max-width: 768px) {
1096 .mxchat-hero h1.mxchat-main-title {
1097 font-size: 2.5rem;
1098 }
1099
1100 .mxchat-card {
1101 padding: 20px;
1102 }
1103
1104 .mxchat-import-options {
1105 grid-template-columns: 1fr;
1106 }
1107
1108 .mxchat-url-input-group {
1109 flex-direction: column;
1110 }
1111
1112 .mxchat-url-input-group input,
1113 .mxchat-url-input-group button {
1114 width: 100%;
1115 }
1116
1117 .mxchat-content-input-group textarea {
1118 min-height: 120px;
1119 }
1120
1121 .mxchat-status-header {
1122 flex-direction: column;
1123 align-items: flex-start;
1124 gap: 10px;
1125 }
1126
1127 .mxchat-records-table {
1128 display: block;
1129 overflow-x: auto;
1130 }
1131
1132 .mxchat-stop-form button {
1133 width: 100%;
1134 }
1135 }
1136
1137 @media (max-width: 480px) {
1138 .mxchat-card {
1139 padding: 15px;
1140 }
1141
1142 .mxchat-import-box {
1143 flex-direction: column;
1144 align-items: center;
1145 text-align: center;
1146 }
1147
1148 .mxchat-import-icon {
1149 margin: 16px 16px 0 16px;
1150 }
1151
1152 .mxchat-import-content {
1153 padding: 16px;
1154 }
1155
1156 .mxchat-recommended-tag {
1157 border-radius: 0 0 0 8px;
1158 }
1159 }
1160
1161 /* RTL Support */
1162 .rtl .mxchat-knowledge-warning {
1163 border-left: none;
1164 border-right: 4px solid;
1165 }
1166
1167 .rtl .mxchat-knowledge-warning .dashicons {
1168 margin-right: 0;
1169 margin-left: 10px;
1170 }
1171
1172 .rtl .mxchat-import-box {
1173 flex-direction: row-reverse;
1174 }
1175
1176 .rtl .mxchat-import-content {
1177 padding: 16px 0 16px 16px;
1178 }
1179
1180 .rtl .mxchat-import-icon {
1181 margin: 16px;
1182 }
1183
1184 .rtl .mxchat-recommended-tag {
1185 right: auto;
1186 left: 0;
1187 border-bottom-left-radius: 0;
1188 border-bottom-right-radius: 8px;
1189 }
1190
1191 .rtl .mxchat-toggle-container {
1192 flex-direction: row-reverse;
1193 }
1194
1195 .rtl .mxchat-toggle-slider:before {
1196 left: auto;
1197 right: 2px;
1198 }
1199
1200 .rtl input:checked + .mxchat-toggle-slider:before {
1201 transform: translateX(-26px);
1202 }
1203
1204 .rtl .mxchat-error-notice {
1205 border-left: none;
1206 border-right: 3px solid #f44336;
1207 }
1208
1209 .rtl .mxchat-records-table th,
1210 .rtl .mxchat-records-table td {
1211 text-align: right;
1212 }
1213
1214 .rtl .mxchat-search-group .dashicons {
1215 left: auto;
1216 right: 12px;
1217 }
1218
1219 .rtl .mxchat-search-group input {
1220 padding-left: 12px;
1221 padding-right: 40px;
1222 }
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251 /* ===== Modal Styles ===== */
1252 .mxchat-kb-modal {
1253 display: none;
1254 position: fixed;
1255 top: 0;
1256 left: 0;
1257 width: 100%;
1258 height: 100%;
1259 background-color: rgba(0, 0, 0, 0.7);
1260 z-index: 999999;
1261 overflow: auto;
1262 justify-content: center;
1263 align-items: center;
1264 }
1265
1266 .mxchat-kb-modal.active {
1267 display: flex;
1268 }
1269
1270 .mxchat-kb-modal-content {
1271 position: relative;
1272 background-color: #fff;
1273 margin: 50px auto;
1274 padding: 0;
1275 border-radius: 8px;
1276 box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
1277 width: 90%;
1278 max-width: 1000px;
1279 max-height: 85vh;
1280 display: flex;
1281 flex-direction: column;
1282 animation: mxchat-kb-modal-appear 0.3s ease-out;
1283 }
1284
1285 @keyframes mxchat-kb-modal-appear {
1286 from {
1287 opacity: 0;
1288 transform: translateY(-30px);
1289 }
1290 to {
1291 opacity: 1;
1292 transform: translateY(0);
1293 }
1294 }
1295
1296 .mxchat-kb-modal-header {
1297 display: flex;
1298 align-items: center;
1299 justify-content: space-between;
1300 padding: 20px;
1301 border-bottom: 1px solid #e5e5e5;
1302 background-color: #f8f9fa;
1303 border-radius: 8px 8px 0 0;
1304 }
1305
1306 .mxchat-kb-modal-header h3 {
1307 margin: 0;
1308 font-size: 20px;
1309 font-weight: 600;
1310 color: #23282d;
1311 }
1312
1313 .mxchat-kb-modal-close {
1314 font-size: 28px;
1315 font-weight: bold;
1316 cursor: pointer;
1317 color: #666;
1318 line-height: 1;
1319 transition: color 0.2s;
1320 }
1321
1322 .mxchat-kb-modal-close:hover {
1323 color: #d63638;
1324 }
1325
1326 .mxchat-kb-modal-filters {
1327 padding: 15px 20px;
1328 background-color: #f8f9fa;
1329 display: flex;
1330 align-items: center;
1331 justify-content: space-between;
1332 border-bottom: 1px solid #e5e5e5;
1333 flex-wrap: wrap;
1334 gap: 10px;
1335 }
1336
1337 .mxchat-kb-search-group {
1338 position: relative;
1339 flex: 1;
1340 min-width: 200px;
1341 max-width: 400px;
1342 }
1343
1344 .mxchat-kb-search-group input {
1345 width: 100%;
1346 padding: 8px 12px 8px 35px;
1347 border-radius: 4px;
1348 border: 1px solid #ddd;
1349 font-size: 14px;
1350 transition: border-color 0.2s;
1351 }
1352
1353 .mxchat-kb-search-group input:focus {
1354 border-color: #7873f5;
1355 outline: none;
1356 box-shadow: 0 0 0 1px #7873f5;
1357 }
1358
1359 .mxchat-kb-search-group::before {
1360 content: "\f179";
1361 font-family: dashicons;
1362 position: absolute;
1363 left: 10px;
1364 top: 50%;
1365 transform: translateY(-50%);
1366 color: #666;
1367 }
1368
1369 .mxchat-kb-filter-group {
1370 display: flex;
1371 gap: 10px;
1372 flex-wrap: wrap;
1373 }
1374
1375 .mxchat-kb-filter-group select {
1376 padding: 8px 12px;
1377 border-radius: 4px;
1378 border: 1px solid #ddd;
1379 font-size: 14px;
1380 background-color: white;
1381 min-width: 150px;
1382 appearance: none;
1383 background-repeat: no-repeat;
1384 background-position: right 10px center;
1385 padding-right: 30px;
1386 }
1387
1388 .mxchat-kb-filter-group select:focus {
1389 border-color: #7873f5;
1390 outline: none;
1391 box-shadow: 0 0 0 1px #7873f5;
1392 }
1393
1394 /* Special style for the "processed" filter */
1395 #mxchat-kb-processed-filter {
1396 border-left: 3px solid #1e88e5;
1397 }
1398
1399 .mxchat-kb-content-selection {
1400 overflow-y: auto;
1401 flex: 1;
1402 min-height: 300px;
1403 max-height: calc(85vh - 200px);
1404 }
1405
1406 .mxchat-kb-selection-header {
1407 display: flex;
1408 justify-content: space-between;
1409 align-items: center;
1410 padding: 15px 20px;
1411 background-color: #f8f9fa;
1412 border-bottom: 1px solid #eee;
1413 position: sticky;
1414 top: 0;
1415 z-index: 10;
1416 }
1417
1418 .mxchat-kb-selection-header label {
1419 display: flex;
1420 align-items: center;
1421 gap: 8px;
1422 font-weight: 500;
1423 }
1424
1425 .mxchat-kb-selection-count {
1426 font-size: 14px;
1427 color: #666;
1428 font-weight: 500;
1429 }
1430
1431 .mxchat-kb-content-list {
1432 padding: 0;
1433 }
1434
1435 .mxchat-kb-content-item {
1436 display: flex;
1437 padding: 15px 20px;
1438 border-bottom: 1px solid #eee;
1439 transition: background-color 0.2s;
1440 }
1441
1442 .mxchat-kb-content-item:hover {
1443 background-color: #f0f7ff;
1444 }
1445
1446 /* Improved visibility for processed items */
1447 .mxchat-kb-content-item.processed {
1448 background-color: #f0f8ff;
1449 border-left: 3px solid #1e88e5;
1450 }
1451
1452 .mxchat-kb-content-item.processed:hover {
1453 background-color: #e3f2fd;
1454 }
1455
1456 .mxchat-kb-content-checkbox {
1457 margin-right: 15px;
1458 display: flex;
1459 align-items: flex-start;
1460 padding-top: 3px;
1461 }
1462
1463 .mxchat-kb-content-checkbox input[type="checkbox"] {
1464 width: 18px;
1465 height: 18px;
1466 border: 1px solid #8c8f94;
1467 border-radius: 3px;
1468 background: #fff;
1469 margin: 0;
1470 }
1471
1472 .mxchat-kb-content-checkbox input[type="checkbox"]:checked {
1473 border-color: #7873f5;
1474 }
1475
1476 .mxchat-kb-content-details {
1477 flex: 1;
1478 }
1479
1480 .mxchat-kb-content-title {
1481 font-size: 16px;
1482 font-weight: 600;
1483 margin-bottom: 8px;
1484 display: flex;
1485 align-items: center;
1486 flex-wrap: wrap;
1487 gap: 8px;
1488 }
1489
1490 .mxchat-kb-content-title a {
1491 color: #7873f5;
1492 text-decoration: none;
1493 }
1494
1495 .mxchat-kb-content-title a:hover {
1496 color: #fa73e6;
1497 text-decoration: underline;
1498 }
1499
1500 /* Style for processed badge */
1501 .mxchat-kb-processed-badge {
1502 display: inline-block;
1503 background-color: #1e88e5;
1504 color: white;
1505 font-size: 11px;
1506 padding: 2px 8px;
1507 border-radius: 10px;
1508 font-weight: normal;
1509 }
1510
1511 /* Style for unprocessed badge */
1512 .mxchat-kb-unprocessed-badge {
1513 display: inline-block;
1514 background-color: #607d8b;
1515 color: white;
1516 font-size: 11px;
1517 padding: 2px 8px;
1518 border-radius: 10px;
1519 font-weight: normal;
1520 }
1521
1522 /* Last updated timestamp */
1523 .mxchat-kb-last-updated {
1524 font-size: 11px;
1525 color: #666;
1526 font-style: italic;
1527 margin-left: 8px;
1528 }
1529
1530 .mxchat-kb-content-meta {
1531 display: flex;
1532 flex-wrap: wrap;
1533 gap: 15px;
1534 color: #666;
1535 font-size: 13px;
1536 margin-bottom: 8px;
1537 }
1538
1539 .mxchat-kb-content-excerpt {
1540 color: #555;
1541 font-size: 14px;
1542 line-height: 1.5;
1543 }
1544
1545 .mxchat-kb-modal-footer {
1546 padding: 15px 20px;
1547 border-top: 1px solid #e5e5e5;
1548 display: flex;
1549 justify-content: flex-end;
1550 gap: 10px;
1551 background-color: #f8f9fa;
1552 border-radius: 0 0 8px 8px;
1553 }
1554
1555 .mxchat-kb-button-primary,
1556 .mxchat-kb-button-secondary {
1557 padding: 8px 15px;
1558 border-radius: 4px;
1559 font-size: 14px;
1560 cursor: pointer;
1561 font-weight: 500;
1562 text-align: center;
1563 transition: all 0.2s;
1564 }
1565
1566 .mxchat-kb-button-primary {
1567 background: linear-gradient(135deg, #fa73e6, #7873f5);
1568 color: white;
1569 border: none;
1570 }
1571
1572 .mxchat-kb-button-primary:hover {
1573 background: linear-gradient(135deg, #e56dd6, #6b67db);
1574 }
1575
1576 .mxchat-kb-button-primary:disabled {
1577 background-color: #a7a7a7;
1578 cursor: not-allowed;
1579 }
1580
1581 /* Update mode for the process button */
1582 #mxchat-kb-process-selected.update-mode {
1583 background-color: #ff9800;
1584 }
1585
1586 #mxchat-kb-process-selected.update-mode:hover {
1587 background-color: #f57c00;
1588 }
1589
1590 /* Mixed mode for the process button */
1591 #mxchat-kb-process-selected.mixed-mode {
1592 background-color: #9c27b0;
1593 }
1594
1595 #mxchat-kb-process-selected.mixed-mode:hover {
1596 background-color: #7b1fa2;
1597 }
1598
1599 .mxchat-kb-button-secondary {
1600 background-color: #f6f7f7;
1601 color: #2c3338;
1602 border: 1px solid #ddd;
1603 }
1604
1605 .mxchat-kb-button-secondary:hover {
1606 background-color: #f0f0f0;
1607 border-color: #c3c4c7;
1608 }
1609
1610 .mxchat-kb-pagination {
1611 padding: 15px 20px;
1612 border-top: 1px solid #eee;
1613 text-align: center;
1614 }
1615
1616 .mxchat-kb-pagination-links {
1617 display: flex;
1618 justify-content: center;
1619 align-items: center;
1620 gap: 5px;
1621 flex-wrap: wrap;
1622 }
1623
1624 .mxchat-kb-page-link {
1625 padding: 5px 10px;
1626 text-decoration: none;
1627 border: 1px solid #ddd;
1628 color: #7873f5;
1629 border-radius: 3px;
1630 transition: all 0.2s;
1631 }
1632
1633 .mxchat-kb-page-link:hover {
1634 background-color: #f0f0f0;
1635 color: #fa73e6;
1636 border-color: #c3c4c7;
1637 }
1638
1639 .mxchat-kb-page-current {
1640 padding: 5px 10px;
1641 background: linear-gradient(135deg, #fa73e6, #7873f5);
1642 color: white;
1643 border-radius: 3px;
1644 font-weight: 500;
1645 }
1646
1647 /* ===== Loading and Error States ===== */
1648 .mxchat-kb-no-results,
1649 .mxchat-kb-error {
1650 padding: 30px;
1651 text-align: center;
1652 color: #666;
1653 font-size: 14px;
1654 }
1655
1656 .mxchat-kb-error {
1657 color: #d63638;
1658 }
1659
1660 .mxchat-kb-loading {
1661 display: flex;
1662 flex-direction: column;
1663 align-items: center;
1664 justify-content: center;
1665 padding: 50px;
1666 color: #666;
1667 }
1668
1669 .mxchat-kb-spinner {
1670 display: inline-block;
1671 width: 50px;
1672 height: 50px;
1673 border: 5px solid #f3f3f3;
1674 border-top: 5px solid #7873f5;
1675 border-radius: 50%;
1676 animation: mxchat-kb-spin 1s linear infinite;
1677 margin: 0 0 10px 0;
1678 }
1679
1680 @keyframes mxchat-kb-spin {
1681 0% { transform: rotate(0deg); }
1682 100% { transform: rotate(360deg); }
1683 }
1684
1685 .mxchat-kb-progress-bar {
1686 height: 8px;
1687 background-color: #f0f0f0;
1688 border-radius: 4px;
1689 margin: 10px 0 15px;
1690 overflow: hidden;
1691 }
1692
1693 .mxchat-kb-progress-fill {
1694 height: 100%;
1695 background: linear-gradient(135deg, #fa73e6, #7873f5);
1696 transition: width 0.3s ease;
1697 }
1698
1699 .mxchat-kb-current-item {
1700 font-size: 14px;
1701 color: #555;
1702 margin: 10px 0 0;
1703 font-style: italic;
1704 }
1705
1706 .mxchat-kb-results-details {
1707 margin-top: 15px;
1708 text-align: left;
1709 max-height: 200px;
1710 overflow-y: auto;
1711 padding: 10px;
1712 border-radius: 4px;
1713 }
1714
1715 .mxchat-kb-results-details h5 {
1716 margin-top: 0;
1717 margin-bottom: 10px;
1718 color: #d63638;
1719 }
1720
1721 .mxchat-kb-results-details ul {
1722 margin: 0;
1723 padding-left: 20px;
1724 }
1725
1726 .mxchat-kb-results-details li {
1727 margin-bottom: 5px;
1728 }
1729
1730 /* ===== Processing Overlay ===== */
1731 .mxchat-kb-processing-overlay {
1732 position: fixed;
1733 top: 0;
1734 left: 0;
1735 width: 100%;
1736 height: 100%;
1737 background-color: rgba(0, 0, 0, 0.7);
1738 z-index: 9999999;
1739 display: flex;
1740 justify-content: center;
1741 align-items: center;
1742 }
1743
1744 .mxchat-kb-processing-content {
1745 background-color: white;
1746 padding: 30px;
1747 border-radius: 8px;
1748 box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
1749 text-align: center;
1750 max-width: 500px;
1751 width: 90%;
1752 }
1753
1754 .mxchat-kb-processing-content h3 {
1755 margin-top: 0;
1756 margin-bottom: 15px;
1757 font-size: 20px;
1758 color: #7873f5;
1759 }
1760
1761 .mxchat-kb-processing-status {
1762 color: #555;
1763 margin-bottom: 20px;
1764 }
1765
1766 /* ===== Utility Classes ===== */
1767 .mxchat-na {
1768 color: #999;
1769 font-style: italic;
1770 }
1771
1772 .mxchat-no-records {
1773 text-align: center;
1774 color: #666;
1775 padding: 40px !important;
1776 }
1777
1778 /* ===== Responsive Design ===== */
1779 @media screen and (max-width: 782px) {
1780 /* Hero section */
1781 div.mxchat-hero h1.mxchat-main-title {
1782 font-size: 2.5rem;
1783 }
1784
1785 .mxchat-content {
1786 padding: 1rem;
1787 }
1788
1789 .mxchat-card {
1790 padding: 20px;
1791 }
1792
1793 .mxchat-card-header {
1794 flex-direction: column;
1795 gap: 16px;
1796 }
1797
1798 .mxchat-header-actions {
1799 flex-direction: column;
1800 width: 100%;
1801 }
1802
1803 .mxchat-search-group input {
1804 width: 100%;
1805 }
1806
1807 /* ADDED 2.5.6: Responsive filter dropdown */
1808 .mxchat-filter-group {
1809 margin-left: 0;
1810 width: 100%;
1811 }
1812
1813 .mxchat-filter-group select {
1814 width: 100%;
1815 }
1816
1817 .mxchat-url-input-group {
1818 flex-direction: column;
1819 }
1820
1821 .mxchat-records-table {
1822 display: block;
1823 overflow-x: auto;
1824 }
1825
1826 .mxchat-content-cell {
1827 max-width: 200px;
1828 }
1829
1830 /* Modal responsive adjustments */
1831 .mxchat-kb-modal-content {
1832 width: 95%;
1833 max-height: 90vh;
1834 margin: 20px auto;
1835 }
1836
1837 .mxchat-kb-modal-filters {
1838 flex-direction: column;
1839 align-items: stretch;
1840 }
1841
1842 .mxchat-kb-search-group {
1843 max-width: none;
1844 }
1845
1846 .mxchat-kb-filter-group {
1847 flex-direction: column;
1848 }
1849
1850 .mxchat-kb-content-selection {
1851 max-height: calc(90vh - 250px);
1852 }
1853
1854 .mxchat-kb-selection-header {
1855 flex-direction: column;
1856 align-items: flex-start;
1857 gap: 10px;
1858 }
1859
1860 .mxchat-kb-modal-footer {
1861 flex-direction: column;
1862 }
1863
1864 .mxchat-kb-button-primary,
1865 .mxchat-kb-button-secondary {
1866 width: 100%;
1867 }
1868
1869 /* Import methods grid */
1870 .mxchat-import-methods-grid {
1871 grid-template-columns: 1fr;
1872 }
1873
1874 /* Primary import card */
1875 .mxchat-featured-button {
1876 width: 100%;
1877 }
1878 }
1879
1880 /* ===== Notification Styles ===== */
1881
1882 /* Base notification style */
1883 .mxchat-kb-notification {
1884 margin: 15px 20px 15px;
1885 padding: 15px;
1886 border-radius: 6px;
1887 border-left: 4px solid;
1888 position: relative;
1889 animation: mxchat-kb-notification-appear 0.3s ease-out;
1890 }
1891
1892 @keyframes mxchat-kb-notification-appear {
1893 from {
1894 opacity: 0;
1895 transform: translateY(-10px);
1896 }
1897 to {
1898 opacity: 1;
1899 transform: translateY(0);
1900 }
1901 }
1902
1903 /* Success notification */
1904 .mxchat-kb-notification.success {
1905 background-color: #f0f9eb;
1906 border-color: #67c23a;
1907 color: #3c763d;
1908 }
1909
1910 .mxchat-kb-notification.success h4 {
1911 color: #67c23a;
1912 margin: 0 0 5px;
1913 font-size: 16px;
1914 font-weight: 600;
1915 }
1916
1917 .mxchat-kb-notification.success::before {
1918 content: "\f147";
1919 font-family: dashicons;
1920 position: absolute;
1921 right: 15px;
1922 top: 15px;
1923 color: #67c23a;
1924 font-size: 20px;
1925 }
1926
1927 /* Error notification */
1928 .mxchat-kb-notification.error {
1929 background-color: #fef0f0;
1930 border-color: #d63638;
1931 color: #a94442;
1932 }
1933
1934 .mxchat-kb-notification.error h4 {
1935 color: #d63638;
1936 margin: 0 0 5px;
1937 font-size: 16px;
1938 font-weight: 600;
1939 }
1940
1941 .mxchat-kb-notification.error::before {
1942 content: "\f335";
1943 font-family: dashicons;
1944 position: absolute;
1945 right: 15px;
1946 top: 15px;
1947 color: #d63638;
1948 font-size: 20px;
1949 }
1950
1951 /* Warning notification */
1952 .mxchat-kb-notification.warning {
1953 background-color: #fdf6ec;
1954 border-color: #ff9800;
1955 color: #8a6d3b;
1956 }
1957
1958 .mxchat-kb-notification.warning h4 {
1959 color: #ff9800;
1960 margin: 0 0 5px;
1961 font-size: 16px;
1962 font-weight: 600;
1963 }
1964
1965 .mxchat-kb-notification.warning::before {
1966 content: "\f534";
1967 font-family: dashicons;
1968 position: absolute;
1969 right: 15px;
1970 top: 15px;
1971 color: #ff9800;
1972 font-size: 20px;
1973 }
1974
1975 /* Info notification */
1976 .mxchat-kb-notification.info {
1977 background-color: #f4f4fd;
1978 border-color: #7873f5;
1979 color: #31708f;
1980 }
1981
1982 .mxchat-kb-notification.info h4 {
1983 color: #7873f5;
1984 margin: 0 0 5px;
1985 font-size: 16px;
1986 font-weight: 600;
1987 }
1988
1989 .mxchat-kb-notification.info::before {
1990 content: "\f348";
1991 font-family: dashicons;
1992 position: absolute;
1993 right: 15px;
1994 top: 15px;
1995 color: #7873f5;
1996 font-size: 20px;
1997 }
1998
1999 /* Close button for notifications */
2000 .mxchat-kb-notification-close {
2001 position: absolute;
2002 top: 10px;
2003 right: 10px;
2004 cursor: pointer;
2005 color: inherit;
2006 opacity: 0.7;
2007 font-size: 16px;
2008 line-height: 1;
2009 transition: opacity 0.2s;
2010 }
2011
2012 .mxchat-kb-notification-close:hover {
2013 opacity: 1;
2014 }
2015
2016 /* Results details section */
2017 .mxchat-kb-results-details {
2018 margin-top: 12px;
2019 padding: 12px;
2020 border-radius: 4px;
2021 font-size: 13px;
2022 line-height: 1.5;
2023 }
2024
2025 .mxchat-kb-notification.success .mxchat-kb-results-details {
2026 background-color: rgba(103, 194, 58, 0.05);
2027 border: 1px solid rgba(103, 194, 58, 0.2);
2028 }
2029
2030 .mxchat-kb-notification.error .mxchat-kb-results-details {
2031
2032 }
2033
2034 .mxchat-kb-notification.warning .mxchat-kb-results-details {
2035 background-color: rgba(255, 152, 0, 0.05);
2036 border: 1px solid rgba(255, 152, 0, 0.2);
2037 }
2038
2039 .mxchat-kb-notification.info .mxchat-kb-results-details {
2040 background-color: rgba(120, 115, 245, 0.05);
2041 border: 1px solid rgba(120, 115, 245, 0.2);
2042 }
2043
2044 /* Results details title */
2045 .mxchat-kb-results-details h5 {
2046 margin: 0 0 10px;
2047 font-size: 14px;
2048 font-weight: 600;
2049 }
2050
2051 .mxchat-kb-notification.success .mxchat-kb-results-details h5 {
2052 color: #3c763d;
2053 }
2054
2055 .mxchat-kb-notification.error .mxchat-kb-results-details h5 {
2056 color: #a94442;
2057 }
2058
2059 .mxchat-kb-notification.warning .mxchat-kb-results-details h5 {
2060 color: #8a6d3b;
2061 }
2062
2063 .mxchat-kb-notification.info .mxchat-kb-results-details h5 {
2064 color: #31708f;
2065 }
2066
2067 /* List items in results details */
2068 .mxchat-kb-results-details ul {
2069 margin: 0;
2070 padding-left: 20px;
2071 list-style-type: disc;
2072 }
2073
2074 .mxchat-kb-results-details li {
2075 margin-bottom: 8px;
2076 padding-left: 3px;
2077 }
2078
2079 .mxchat-kb-results-details li:last-child {
2080 margin-bottom: 0;
2081 }
2082
2083 .mxchat-kb-results-details li strong {
2084 font-weight: 600;
2085 }
2086
2087 /* Failed items specific styling */
2088 .mxchat-kb-results-details li.failed-item {
2089 color: #d63638;
2090 }
2091
2092 /* Success items specific styling */
2093 .mxchat-kb-results-details li.success-item {
2094 color: #67c23a;
2095 }
2096
2097 /* Updated items specific styling */
2098 .mxchat-kb-results-details li.updated-item {
2099 color: #1e88e5;
2100 }
2101
2102 /* Processing summary information */
2103 .mxchat-kb-processing-summary {
2104 display: flex;
2105 flex-wrap: wrap;
2106 gap: 15px;
2107 margin-top: 10px;
2108 font-size: 14px;
2109 }
2110
2111 .mxchat-kb-summary-item {
2112 display: flex;
2113 align-items: center;
2114 gap: 5px;
2115 }
2116
2117 .mxchat-kb-summary-item .dashicons {
2118 font-size: 18px;
2119 }
2120
2121 .mxchat-kb-summary-item.processed .dashicons {
2122 color: #67c23a;
2123 }
2124
2125 .mxchat-kb-summary-item.updated .dashicons {
2126 color: #1e88e5;
2127 }
2128
2129 .mxchat-kb-summary-item.failed .dashicons {
2130 color: #d63638;
2131 }
2132
2133 /* Show more/less toggle for details */
2134 .mxchat-kb-show-details {
2135 display: inline-block;
2136 margin-top: 8px;
2137 color: #7873f5;
2138 cursor: pointer;
2139 font-size: 13px;
2140 font-weight: 500;
2141 }
2142
2143 .mxchat-kb-show-details:hover {
2144 text-decoration: underline;
2145 }
2146
2147 .mxchat-kb-show-details .dashicons {
2148 font-size: 16px;
2149 vertical-align: middle;
2150 margin-right: 2px;
2151 }
2152
2153 /* Collapsible details section */
2154 .mxchat-kb-results-details.collapsed {
2155 display: none;
2156 }
2157
2158 /* Responsive styles for notifications */
2159 @media screen and (max-width: 782px) {
2160 .mxchat-kb-notification {
2161 margin: 10px 15px 0;
2162 padding: 12px;
2163 }
2164
2165 .mxchat-kb-notification::before {
2166 display: none;
2167 }
2168
2169 .mxchat-kb-processing-summary {
2170 flex-direction: column;
2171 gap: 8px;
2172 }
2173 }
2174
2175
2176
2177
2178
2179 /* Tab Navigation */
2180 .mxchat-kb-tabs-nav {
2181 display: flex;
2182 margin-bottom: 20px;
2183 border-bottom: 1px solid #ccc;
2184 }
2185
2186 .mxchat-kb-tab-button {
2187 padding: 10px 15px;
2188 background: #f1f1f1;
2189 border: 1px solid #ccc;
2190 border-bottom: none;
2191 margin-right: 5px;
2192 cursor: pointer;
2193 font-weight: 500;
2194 border-radius: 5px 5px 0 0;
2195 }
2196
2197 .mxchat-kb-tab-button.active {
2198 background: #fff;
2199 border-bottom: 2px solid #fff;
2200 position: relative;
2201 bottom: -1px;
2202 color: #2271b1;
2203 }
2204
2205 /* Tab Content */
2206 .mxchat-kb-tab-content {
2207 display: none;
2208 }
2209
2210 .mxchat-kb-tab-content.active {
2211 display: block;
2212 }
2213
2214 /* Make the first card in tabs not have top margin */
2215 .mxchat-kb-tab-content .mxchat-card:first-child {
2216 margin-top: 0;
2217 }
2218
2219
2220
2221
2222
2223
2224 /* Pinecone Settings Tab Styles */
2225 .mxchat-pinecone-info-box {
2226 background: #f8f9ff;
2227 border: 1px solid rgba(120, 115, 245, 0.2);
2228 border-radius: 10px;
2229 padding: 20px;
2230 margin: 20px 0;
2231 display: flex;
2232 align-items: flex-start;
2233 gap: 15px;
2234 }
2235
2236 .mxchat-info-icon {
2237 flex-shrink: 0;
2238 }
2239
2240 .mxchat-info-icon .dashicons {
2241 color: #7873f5;
2242 font-size: 24px;
2243 width: 24px;
2244 height: 24px;
2245 }
2246
2247 .mxchat-info-content {
2248 flex: 1;
2249 }
2250
2251 .mxchat-info-content h4 {
2252 margin: 0 0 10px 0;
2253 color: #333;
2254 font-size: 16px;
2255 }
2256
2257 .mxchat-info-content p {
2258 margin: 0 0 8px 0;
2259 color: #666;
2260 font-size: 14px;
2261 line-height: 1.5;
2262 }
2263
2264 .mxchat-info-content p:last-child {
2265 margin-bottom: 0;
2266 }
2267
2268 .mxchat-info-content a {
2269 color: #7873f5;
2270 text-decoration: none;
2271 font-weight: 500;
2272 }
2273
2274 .mxchat-info-content a:hover {
2275 text-decoration: underline;
2276 }
2277
2278 /* Database Settings Form */
2279 .mxchat-database-settings-form {
2280 margin-top: 25px;
2281 }
2282
2283 /* Toggle Container */
2284 .mxchat-toggle-container {
2285 display: flex;
2286 align-items: center;
2287 gap: 12px;
2288 margin: 20px 0;
2289 padding: 15px 0;
2290 border-bottom: 1px solid rgba(120, 115, 245, 0.1);
2291 }
2292
2293 .mxchat-toggle-switch {
2294 position: relative;
2295 display: inline-block;
2296 width: 50px;
2297 height: 26px;
2298 }
2299
2300 .mxchat-toggle-switch input {
2301 opacity: 0;
2302 width: 0;
2303 height: 0;
2304 }
2305
2306 .mxchat-toggle-slider {
2307 position: absolute;
2308 cursor: pointer;
2309 top: 0;
2310 left: 0;
2311 right: 0;
2312 bottom: 0;
2313 background-color: #ddd;
2314 transition: 0.3s;
2315 border-radius: 26px;
2316 }
2317
2318 .mxchat-toggle-slider:before {
2319 position: absolute;
2320 content: "";
2321 height: 20px;
2322 width: 20px;
2323 left: 3px;
2324 bottom: 3px;
2325 background-color: white;
2326 transition: 0.3s;
2327 border-radius: 50%;
2328 box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
2329 }
2330
2331 input:checked + .mxchat-toggle-slider {
2332 background: linear-gradient(135deg, #fa73e6, #7873f5);
2333 }
2334
2335 input:checked + .mxchat-toggle-slider:before {
2336 transform: translateX(24px);
2337 }
2338
2339 .mxchat-toggle-label {
2340 font-weight: 500;
2341 color: #333;
2342 font-size: 15px;
2343 }
2344
2345 /* Pinecone Settings Section */
2346 .mxchat-pinecone-settings {
2347 background: #f8f9ff;
2348 border: 1px solid rgba(120, 115, 245, 0.2);
2349 border-radius: 10px;
2350 padding: 25px;
2351 margin: 20px 0;
2352 }
2353
2354 /* Knowledge Warning (Success State) */
2355 .mxchat-knowledge-warning.success {
2356 background: #edfaef;
2357 border-left: 4px solid #46b450;
2358 padding: 15px;
2359 margin: 0 0 20px 0;
2360 border-radius: 4px;
2361 }
2362
2363 .mxchat-knowledge-warning.success p {
2364 margin: 0;
2365 color: #2a4f30;
2366 align-items: center;
2367 gap: 8px;
2368 }
2369
2370 .mxchat-knowledge-warning.success .dashicons {
2371 color: #46b450;
2372 }
2373
2374 /* Form Groups */
2375 .mxchat-form-group {
2376 margin-bottom: 20px;
2377 }
2378
2379 .mxchat-form-group label {
2380 display: block;
2381 margin-bottom: 8px;
2382 color: #333;
2383 font-weight: 500;
2384 font-size: 14px;
2385 }
2386
2387 .mxchat-form-group label .required {
2388 color: #dc3232;
2389 margin-left: 4px;
2390 }
2391
2392 .mxchat-form-group input[type="text"],
2393 .mxchat-form-group input[type="password"] {
2394 width: 100%;
2395 max-width: 400px;
2396 padding: 10px 12px;
2397 border: 1px solid rgba(120, 115, 245, 0.2);
2398 border-radius: 6px;
2399 background: white;
2400 font-size: 14px;
2401 transition: border-color 0.2s ease, box-shadow 0.2s ease;
2402 }
2403
2404 .mxchat-form-group input[type="text"]:focus,
2405 .mxchat-form-group input[type="password"]:focus {
2406 border-color: #7873f5;
2407 outline: none;
2408 box-shadow: 0 0 0 2px rgba(120, 115, 245, 0.1);
2409 }
2410
2411 .mxchat-form-group .description {
2412 margin: 8px 0 0 0;
2413 color: #666;
2414 font-size: 13px;
2415 line-height: 1.4;
2416 }
2417
2418 .mxchat-form-group .description a {
2419 color: #7873f5;
2420 text-decoration: none;
2421 font-weight: 500;
2422 }
2423
2424 .mxchat-form-group .description a:hover {
2425 text-decoration: underline;
2426 }
2427
2428 /* Setup Help Section */
2429 .mxchat-pinecone-setup-help {
2430 background: white;
2431 border: 1px solid rgba(120, 115, 245, 0.1);
2432 border-radius: 8px;
2433 padding: 20px;
2434 margin-top: 25px;
2435 }
2436
2437 .mxchat-pinecone-setup-help h3 {
2438 margin: 0 0 15px 0;
2439 color: #333;
2440 font-size: 16px;
2441 }
2442
2443 .mxchat-pinecone-setup-help ol {
2444 margin: 0;
2445 padding-left: 20px;
2446 }
2447
2448 .mxchat-pinecone-setup-help li {
2449 margin-bottom: 12px;
2450 color: #666;
2451 line-height: 1.5;
2452 }
2453
2454 .mxchat-pinecone-setup-help li:last-child {
2455 margin-bottom: 0;
2456 }
2457
2458 .mxchat-pinecone-setup-help ul {
2459 margin: 8px 0;
2460 padding-left: 20px;
2461 }
2462
2463 .mxchat-pinecone-setup-help ul li {
2464 margin-bottom: 6px;
2465 font-size: 13px;
2466 }
2467
2468 .mxchat-pinecone-setup-help a {
2469 color: #7873f5;
2470 text-decoration: none;
2471 font-weight: 500;
2472 }
2473
2474 .mxchat-pinecone-setup-help a:hover {
2475 text-decoration: underline;
2476 }
2477
2478 /* Connection Status Section */
2479 .mxchat-pinecone-status-section {
2480 background: white;
2481 border: 1px solid rgba(120, 115, 245, 0.1);
2482 border-radius: 8px;
2483 padding: 20px;
2484 margin-top: 25px;
2485 }
2486
2487 .mxchat-pinecone-status-section h3 {
2488 margin: 0 0 15px 0;
2489 color: #333;
2490 font-size: 16px;
2491 }
2492
2493 #mxchat-pinecone-test-connection {
2494 margin-bottom: 15px;
2495 }
2496
2497 #test-pinecone-connection {
2498 background: linear-gradient(135deg, #fa73e6, #7873f5);
2499 color: white;
2500 border: none;
2501 padding: 10px 20px;
2502 border-radius: 6px;
2503 cursor: pointer;
2504 font-size: 14px;
2505 font-weight: 500;
2506 transition: all 0.2s ease;
2507 }
2508
2509 #test-pinecone-connection:hover:not(:disabled) {
2510 transform: translateY(-1px);
2511 box-shadow: 0 4px 12px rgba(120, 115, 245, 0.3);
2512 }
2513
2514 #test-pinecone-connection:disabled {
2515 opacity: 0.6;
2516 cursor: not-allowed;
2517 transform: none;
2518 }
2519
2520 /* Test Result Styles */
2521 .mxchat-test-result {
2522 margin-top: 15px;
2523 }
2524
2525 .mxchat-test-result .notice {
2526 margin: 0;
2527 padding: 12px 15px;
2528 border-radius: 6px;
2529 display: flex;
2530 align-items: center;
2531 gap: 8px;
2532 }
2533
2534 .mxchat-test-result .notice-success {
2535 background: #edfaef;
2536 border-left: 4px solid #46b450;
2537 color: #2a4f30;
2538 }
2539
2540 .mxchat-test-result .notice-error {
2541 background: #fbeaea;
2542 border-left: 4px solid #dc3232;
2543 color: #721c24;
2544 }
2545
2546 .mxchat-test-result .notice .dashicons {
2547 flex-shrink: 0;
2548 }
2549
2550 .mxchat-test-result .notice p {
2551 margin: 0;
2552 font-size: 14px;
2553 }
2554
2555 /* Compatibility Notice */
2556 .mxchat-pinecone-compatibility-notice {
2557 background: #e8f4ff;
2558 border-left: 4px solid #2196f3;
2559 padding: 15px;
2560 margin: 0 0 20px 0;
2561 border-radius: 4px;
2562 }
2563
2564 .mxchat-pinecone-compatibility-notice p {
2565 margin: 0;
2566 color: #1565c0;
2567 font-size: 14px;
2568 line-height: 1.5;
2569 }
2570
2571 /* Responsive Design */
2572 @media screen and (max-width: 782px) {
2573 .mxchat-pinecone-info-box {
2574 flex-direction: column;
2575 gap: 10px;
2576 }
2577
2578 .mxchat-toggle-container {
2579 flex-direction: column;
2580 align-items: flex-start;
2581 gap: 8px;
2582 }
2583
2584 .mxchat-form-group input[type="text"],
2585 .mxchat-form-group input[type="password"] {
2586 max-width: 100%;
2587 }
2588
2589 .mxchat-pinecone-settings {
2590 padding: 15px;
2591 }
2592
2593 .mxchat-pinecone-setup-help,
2594 .mxchat-pinecone-status-section {
2595 padding: 15px;
2596 }
2597 }
2598
2599
2600 /* Setup Steps */
2601 .mxchat-setup-steps {
2602 margin: 30px 0;
2603 padding: 20px;
2604 background: #fff;
2605 border-radius: 10px;
2606 }
2607
2608 .mxchat-setup-step {
2609 display: flex;
2610 align-items: flex-start;
2611 margin-bottom: 20px;
2612 }
2613
2614 .step-number {
2615 background: linear-gradient(135deg, #fa73e6, #7873f5);
2616 color: white;
2617 width: 28px;
2618 height: 28px;
2619 border-radius: 50%;
2620 display: flex;
2621 align-items: center;
2622 justify-content: center;
2623 font-weight: bold;
2624 margin-right: 15px;
2625 flex-shrink: 0;
2626 }
2627
2628 .step-content {
2629 flex: 1;
2630 }
2631
2632 .step-content h4 {
2633 margin: 0 0 5px 0;
2634 }
2635
2636 .step-content p {
2637 margin: 0;
2638 color: #666;
2639 }
2640
2641 .step-content ul {
2642 margin-top: 5px;
2643 margin-bottom: 0;
2644 color: #666;
2645 }
2646
2647
2648
2649 /* ===== Role-Based Content Restrictions Styles ===== */
2650
2651 /* Role mapping form */
2652 .mxchat-role-mapping-form {
2653 margin-top: 20px;
2654 padding: 20px;
2655 background-color: #f8f9ff;
2656 border-radius: 8px;
2657 border: 1px solid rgba(120, 115, 245, 0.1);
2658 }
2659
2660 .mxchat-role-mapping-form h4 {
2661 margin-top: 0;
2662 margin-bottom: 15px;
2663 font-size: 16px;
2664 color: #333;
2665 }
2666
2667 .mxchat-form-row {
2668 display: flex;
2669 gap: 15px;
2670 align-items: flex-end;
2671 margin-bottom: 20px;
2672 }
2673
2674 /* Role mappings table */
2675 .mxchat-mappings-table {
2676 width: 100%;
2677 border-collapse: collapse;
2678 margin-top: 15px;
2679 background: #fff;
2680 box-shadow: 0 1px 3px rgba(120, 115, 245, 0.08);
2681 border-radius: 8px;
2682 overflow: hidden;
2683 }
2684
2685 .mxchat-mappings-table th,
2686 .mxchat-mappings-table td {
2687 padding: 15px;
2688 text-align: left;
2689 border-bottom: 1px solid rgba(120, 115, 245, 0.1);
2690 }
2691
2692 .mxchat-mappings-table th {
2693 background: #f8f9ff;
2694 font-weight: 600;
2695 color: #333;
2696 font-size: 14px;
2697 }
2698
2699 .mxchat-mappings-table tbody tr {
2700 transition: background-color 0.2s ease;
2701 }
2702
2703 .mxchat-mappings-table tbody tr:hover {
2704 background: rgba(120, 115, 245, 0.03);
2705 }
2706
2707 .mxchat-mappings-table tbody tr:last-child td {
2708 border-bottom: none;
2709 }
2710
2711 /* Tag and role badges */
2712 .mxchat-tag-badge {
2713 display: inline-flex;
2714 align-items: center;
2715 gap: 5px;
2716 padding: 5px 12px;
2717 background: linear-gradient(135deg, #fa73e6, #7873f5);
2718 color: #fff;
2719 border-radius: 4px;
2720 font-size: 13px;
2721 font-weight: 500;
2722 }
2723
2724 .mxchat-tag-badge .dashicons {
2725 font-size: 16px;
2726 width: 16px;
2727 height: 16px;
2728 }
2729
2730 .mxchat-role-badge {
2731 display: inline-block;
2732 padding: 5px 12px;
2733 background: #f0f0f1;
2734 color: #2c3338;
2735 border-radius: 4px;
2736 font-size: 13px;
2737 font-weight: 500;
2738 }
2739
2740 /* Role-specific badge colors */
2741 .mxchat-role-badge.public {
2742 background: #e8f5e9;
2743 color: #2e7d32;
2744 }
2745
2746 .mxchat-role-badge.logged_in {
2747 background: #e3f2fd;
2748 color: #1565c0;
2749 }
2750
2751 .mxchat-role-badge.subscriber {
2752 background: #f3e5f5;
2753 color: #7b1fa2;
2754 }
2755
2756 .mxchat-role-badge.contributor {
2757 background: #fff3e0;
2758 color: #e65100;
2759 }
2760
2761 .mxchat-role-badge.author {
2762 background: #fff9c4;
2763 color: #f57f17;
2764 }
2765
2766 .mxchat-role-badge.editor {
2767 background: #fce4ec;
2768 color: #c2185b;
2769 }
2770
2771 .mxchat-role-badge.administrator {
2772 background: #ffebee;
2773 color: #c62828;
2774 }
2775
2776 /* Mapping actions */
2777 .mxchat-mapping-actions {
2778 display: flex;
2779 gap: 8px;
2780 align-items: center;
2781 }
2782
2783 .mxchat-delete-mapping {
2784 color: #d63638;
2785 cursor: pointer;
2786 padding: 6px 10px;
2787 border-radius: 4px;
2788 transition: all 0.2s ease;
2789 display: inline-flex;
2790 align-items: center;
2791 gap: 4px;
2792 background: transparent;
2793 border: none;
2794 font-size: 13px;
2795 }
2796
2797 .mxchat-delete-mapping:hover {
2798 background: #fef0f0;
2799 color: #b32d2e;
2800 }
2801
2802 .mxchat-delete-mapping .dashicons {
2803 font-size: 18px;
2804 width: 18px;
2805 height: 18px;
2806 }
2807
2808 /* Post count display */
2809 .mxchat-post-count {
2810 color: #666;
2811 font-size: 13px;
2812 display: flex;
2813 align-items: center;
2814 gap: 4px;
2815 }
2816
2817 .mxchat-post-count .dashicons {
2818 font-size: 16px;
2819 width: 16px;
2820 height: 16px;
2821 color: #7873f5;
2822 }
2823
2824 /* Loading state for mappings */
2825 .mxchat-loading-mappings {
2826 text-align: center;
2827 padding: 40px;
2828 color: #666;
2829 }
2830
2831 .mxchat-role-spinner {
2832 display: inline-block;
2833 width: 20px;
2834 height: 20px;
2835 border: 2px solid rgba(120, 115, 245, 0.2);
2836 border-top: 2px solid #7873f5;
2837 border-radius: 50%;
2838 animation: mxchat-role-spin 1s linear infinite;
2839 margin-right: 10px;
2840 }
2841
2842 .mxchat-role-spinner.is-active {
2843 display: inline-block;
2844 }
2845
2846 @keyframes mxchat-role-spin {
2847 0% { transform: rotate(0deg); }
2848 100% { transform: rotate(360deg); }
2849 }
2850
2851 /* Empty state */
2852 #mxchat-no-mappings {
2853 text-align: center;
2854 padding: 40px;
2855 color: #666;
2856 }
2857
2858 #mxchat-no-mappings .dashicons {
2859 font-size: 48px;
2860 opacity: 0.3;
2861 margin-bottom: 15px;
2862 display: block;
2863 }
2864
2865 #mxchat-no-mappings p {
2866 margin: 0;
2867 font-size: 14px;
2868 }
2869
2870 /* Bulk update section */
2871 .mxchat-bulk-update-section {
2872 margin-top: 30px;
2873 padding-top: 30px;
2874 border-top: 1px solid rgba(120, 115, 245, 0.1);
2875 }
2876
2877 .mxchat-bulk-update-section h4 {
2878 margin-top: 0;
2879 margin-bottom: 10px;
2880 font-size: 16px;
2881 color: #333;
2882 }
2883
2884 .mxchat-bulk-update-controls {
2885 margin-top: 15px;
2886 }
2887
2888 #mxchat-bulk-update-roles {
2889 display: inline-flex;
2890 align-items: center;
2891 gap: 8px;
2892 }
2893
2894 #mxchat-bulk-update-progress {
2895 max-width: 600px;
2896 }
2897
2898 #mxchat-bulk-update-progress .mxchat-progress-bar {
2899 height: 10px;
2900 background: rgba(120, 115, 245, 0.1);
2901 border-radius: 5px;
2902 overflow: hidden;
2903 }
2904
2905 #mxchat-bulk-update-progress .mxchat-progress-fill {
2906 height: 100%;
2907 background: linear-gradient(135deg, #fa73e6, #7873f5);
2908 transition: width 0.3s ease;
2909 }
2910
2911 .mxchat-progress-text {
2912 margin-top: 10px;
2913 color: #666;
2914 font-size: 14px;
2915 }
2916
2917 /* Bulk update results */
2918 #mxchat-bulk-update-result {
2919 margin-top: 15px;
2920 padding: 15px;
2921 border-radius: 8px;
2922 }
2923
2924 #mxchat-bulk-update-result.success {
2925 background-color: #f0f9eb;
2926 border-left: 4px solid #67c23a;
2927 color: #3c763d;
2928 }
2929
2930 #mxchat-bulk-update-result.error {
2931 background-color: #fef0f0;
2932 border-left: 4px solid #d63638;
2933 color: #a94442;
2934 }
2935
2936 #mxchat-bulk-update-result h5 {
2937 margin: 0 0 10px;
2938 font-size: 15px;
2939 font-weight: 600;
2940 }
2941
2942 #mxchat-bulk-update-result p {
2943 margin: 5px 0;
2944 font-size: 14px;
2945 }
2946
2947 /* Role mappings list container */
2948 .mxchat-role-mappings-list {
2949 margin-top: 25px;
2950 }
2951
2952 .mxchat-role-mappings-list h4 {
2953 margin-top: 0;
2954 margin-bottom: 15px;
2955 font-size: 16px;
2956 color: #333;
2957 }
2958
2959 /* Info banner styling (reuse existing pattern) */
2960 .mxchat-role-info-banner {
2961 display: flex;
2962 align-items: center;
2963 gap: 10px;
2964 padding: 12px 16px;
2965 margin-bottom: 20px;
2966 border-radius: 6px;
2967 font-size: 14px;
2968 background: #f8f9ff;
2969 border-left: 4px solid #7873f5;
2970 color: #333;
2971 }
2972
2973 .mxchat-role-info-banner .dashicons {
2974 color: #7873f5;
2975 font-size: 18px;
2976 }
2977
2978 /* Responsive adjustments */
2979 @media screen and (max-width: 782px) {
2980 .mxchat-form-row {
2981 flex-direction: column;
2982 align-items: stretch;
2983 }
2984
2985 .mxchat-form-row .mxchat-form-group {
2986 flex: 1;
2987 max-width: none;
2988 }
2989
2990 .mxchat-form-row > div {
2991 padding-bottom: 0;
2992 }
2993
2994 .mxchat-mappings-table {
2995 display: block;
2996 overflow-x: auto;
2997 }
2998
2999 .mxchat-mappings-table th,
3000 .mxchat-mappings-table td {
3001 padding: 10px;
3002 font-size: 13px;
3003 }
3004
3005 .mxchat-mapping-actions {
3006 flex-direction: column;
3007 align-items: flex-start;
3008 }
3009 }
3010
3011 /* RTL Support */
3012 .rtl .mxchat-mappings-table th,
3013 .rtl .mxchat-mappings-table td {
3014 text-align: right;
3015 }
3016
3017 .rtl .mxchat-tag-badge {
3018 flex-direction: row-reverse;
3019 }
3020
3021 .rtl .mxchat-role-info-banner {
3022 border-left: none;
3023 border-right: 4px solid #7873f5;
3024 }
3025
3026 .rtl .mxchat-bulk-update-section {
3027 border-right: none;
3028 }
3029
3030 .rtl #mxchat-bulk-update-result {
3031 border-left: none;
3032 border-right: 4px solid;
3033 }
3034
3035 .rtl .mxchat-role-spinner {
3036 margin-right: 0;
3037 margin-left: 10px;
3038 }